[
  {
    "path": ".editorconfig",
    "content": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# editorconfig.org\n\nroot = true\n\n[*]\n\n# Change these settings to your own preference\nindent_style = space\nindent_size = 2\n\n# We recommend you to keep these unchanged\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_final_newline = false\n\n[*.md]\ntrim_trailing_whitespace = true\n"
  },
  {
    "path": ".eslintignore",
    "content": "node_modules/*\nhighcharts/*\n\n# TODO: Update widgets to pass ESLint check\nsrc/pe-big-link-to/widget/pe-big-link-to.u-client-script.js\nsrc/pe-collapsible-form/widget/pe-collapsible-form.u-client-script.js\nsrc/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-client-script.js\nsrc/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-client-script.js\nsrc/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-link-script.js\nsrc/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-client-script.js\nsrc/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-client-script.js\nsrc/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-link-script.js\nsrc/pe-order-overview/widget/pe-order-overview.u-client-script.js\nsrc/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-client-script.js\nsrc/pe-search-as-direct-reports/widget/pe-search-as-direct-reports.u-client-script.js\nsrc/pe-small-link-to/widget/pe-small-link-to.u-client-script.js\nsrc/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-link-script.js\nsrc/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-link-script.js\nsrc/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-client-script.js\nsrc/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-client-script.js\nsrc/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-client-script.js\nsrc/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-link-script.js"
  },
  {
    "path": ".eslintrc.yml",
    "content": "rules:\r\n  comma-dangle: error\r\n  comma-spacing: warn\r\n  curly: warn\r\n  default-case: warn\r\n  eqeqeq: warn\r\n  indent: [warn, 2]\r\n  no-alert: warn\r\n  no-console: warn\r\n  no-debugger: warn\r\n  no-duplicate-case: error\r\n  no-eval: error\r\n  no-lone-blocks: error\r\n  no-loop-func: error\r\n  no-multi-spaces: warn\r\n  no-new-func: error\r\n  no-octal: error\r\n  no-proto: error\r\n  no-redeclare: warn\r\n  no-shadow-restricted-names: error\r\n  no-sparse-arrays: error\r\n  no-trailing-spaces: warn\r\n  no-with: error\r\n  quotes: [warn, single]\r\n  semi: [warn, always]\r\n  yoda: warn"
  },
  {
    "path": ".github/stale.yml",
    "content": "daysUntilStale: 60\ndaysUntilClose: 7\nexemptLabels:\n  - pinned\n  - review\n  - security\nstaleLabel: wontfix\nmarkComment: >\n  This issue has been automatically marked as stale because it has not had\n  recent activity. It will be closed if no further activity occurs. Thank you\n  for your contributions.\ncloseComment: false\n"
  },
  {
    "path": ".gitignore",
    "content": ".sn-config.json\n.sn-sync_data.json\nnode_modules/\n.yo-rc.json\n/config.codekit\n/config.rb\n/dist/stylesheets/*\n/dist/bower_components\n/.nvmrc\n/.sass-cache/\n**.DS_Store\n.idea/\n**/*.sketch\n.vscode/\ntypings/\ntypings.json"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\ncache: yarn\nnode_js:\n  - '8'\ndist: xenial\nservices:\n  - xvfb\ninstall:\n  - yarn\nscript:\n  - yarn lint\n  - yarn test"
  },
  {
    "path": "README.md",
    "content": "# Service Portal: Widget Library\n\nA collection of [Service Portal](https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/build/service-portal/concept/c_ServicePortal.html) custom widgets and a component of the [Innovation Library](https://sc.service-now.com/snds).\n\n![Widget Library](images/il-hero.jpg)\n\n## Contribution\n\nWant to contribute to the widget library? Please read up on our guidelines for [contributing](https://github.com/platform-experience/serviceportal-widget-library/blob/master/docs/CONTRIBUTING.md).\n\n## Issues\n\nFind a bug in a widget? Please create an [issue](https://github.com/platform-experience/serviceportal-widget-library/issues) and we'll resolve it."
  },
  {
    "path": "approve-card/pe-approval-card/Readme.md",
    "content": "# Approval Card\n\n## Description\n\nDisplays a simple approval card with three buttons: **Accept**, **Decline** and **View**. Also displayed: user avatar, name, title and data relevant to the scenario where used.\n\n## Screenshot\n\n![Approval Card](../../images/approval.png \"Approval Card Widget\")\n\n## Additional Information/Notes\n\nThis widget makes use of [pe-people-info](https://github.com/platform-experience/serviceportal-widget-library/tree/master/people-card/pe-people-info) widget to display user's avatar, name and title.\n> Widget is included with the update set.\n\nWidget is injected dynamically in client script controller.\n\n## Installation\n\nDownload and install update set **[pe-approval-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/approve-card/pe-approval-card/pe-approval-card.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Sets the title. | Destination Services |\n| `Purpose` | Sets the purpose. | Relocation Package |\n| `Icon` | Sets the Font Awesome icon. | fa fa-bell fa-2x |\n\n## Platform Dependencies\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-brand-success: #5cb85c !default;\n$pe-brand-warning: #f0ad4e !default;\n$pe-brand-danger: #d9534f !default;\n$pe-brand-info: #5bc0de !default;\n```"
  },
  {
    "path": "approve-card/pe-approval-card/pe-approval-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-08-09 22:00:33\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Approval Card</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>e1bdddc2db73db008798ffa31d961983</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>ff35b9cedb73db008798ffa31d9619a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-people-info-launch-connect\">c3f9578813dd7a007e94fc5ed144b0c7</sp_dependency><sp_widget display_value=\"PE People Info\">11f38daa134db600d15e3d7ed144b0fa</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 00:43:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3372305013523e00de8cb5b12244b044</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-people-info-launch-connect.PE People Info</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 00:43:05</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>3735b9cedb73db008798ffa31d9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567de80000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect.PE People Info</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history>d84b5982f873db002ded0a55aeda25ba:-958916594,-729565217:-729565217,163073311:163073311,-729565217:-729565217,163073311:163073311,-729565217:-729565217,163073311:163073311,-729565217:-729565217</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-people-info-launch-connect-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function openChat(elem) {\n\n\n    console.log('***** Opening Chat w/ ' + elem.id);\n    var requestBody = '';\n    var client = new XMLHttpRequest();\n\n\n    var url = \"/api/snc/pe_people_info_launch_connect/launch?user_id=\" + elem.id;\n    client.open(\"get\", url, false);\n    client.setRequestHeader('Accept', 'application/json');\n    client.setRequestHeader('Content-Type', 'application/json');\n    client.setRequestHeader('X-UserToken', window.g_ck);\n    client.send(requestBody);\n    if (client.status === 200) {\n        var liveProfileID = JSON.parse(client.response).result;\n        console.log('**** Channel ID received ' + liveProfileID.profile_id);\n        url = '/$c.do#?user=' + liveProfileID.profile_id;\n        window.open(url, \"_blank\");\n    } else {\n        console.log('**** No Channel ID received.');\n        url = '/$c.do';\n        window.open(url, \"_blank\");\n    }\n}\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:55:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch-connect-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:10:59&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>3b35b9cedb73db008798ffa31d9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567dbf0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-people-info-launch-connect</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:13:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3f9578813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:41</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>3f35b9cedb73db008798ffa31d9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567ddb0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;pe-people-info-launch&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\ttry{\n\t\tvar userID='';\n\t\tvar liveprofile = {};\n\t\tif(request.queryParams.user_id) {\n\t\t\tuserID = request.queryParams.user_id;\n\t\t\t//gs.info(\"user id \"+userID);\n\t\t\tvar gr = new GlideRecord('live_profile');\n\t\t\tgr.addQuery('table','sys_user');\n\t\t\tgr.addQuery('document',userID);\n\t\t\tgr.query();\n\t\t\tif(gr.next()){\n\t\t\t\t//gs.info(\"user id found \"+userID);\n\t\t\t\tliveprofile.profile_id = gr.sys_id.toString();\n\t\t\t} else {\n\t\t\t\t//gs.info(\"user id not found \"+userID);\n\t\t\t\tvar grTwo = new GlideRecord('live_profile');\n\t\t\t\tgrTwo.initialize(); \n\t\t\t\tgrTwo.table = 'sys_user'; \n\t\t\t\tgrTwo.document = userID; \n\t\t\t\tgrTwo.type = 'User';\n\t\t\t\t\n\t\t\t\tvar gruser = new GlideRecord('sys_user');\n                    gruser.addQuery('sys_id',userID);\n\t\t\t        gruser.query();\n\t\t\t       if(gruser.next()){\n\t\t\t\t\t\tgrTwo.name =gruser.name.toString() ;\n                        liveprofile.profile_id = grTwo.insert();\n                   }\n\t\t\t\t \n\t\t\t}\n\t\t\n\t\t}\n\t\tif(liveprofile)\n\t\t\tresponse.setBody(liveprofile);\n\t\telse\n\t\t\tresponse.setBody('Error');\n\t\t\n\t}catch(e){\n\t\tresponse.setBody('Error : '+ e.message);\n\t}\n    // implement resource here\n\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_people_info_launch_connect/launch&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/launch&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:57:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2326170813dd7a007e94fc5ed144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 23:32:45&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"Launch connect chat\"&gt;52f5930813dd7a007e94fc5ed144b0f9&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>7335b9cedb73db008798ffa31d9619a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567df00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_de98a0ae130db600d15e3d7ed144b08f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category/&gt;&lt;client_script&gt;&lt;![CDATA[function ApprovalCardController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getPeopleInfo();\n  };\n\n  function getPeopleInfo() {\n    spUtil.get('pe-people-info').then(function(result) {\n      c.peopleInfo = result.data ? result : null;\n      setWidgetOptions();\n    });\n  }\n\n  function setWidgetOptions() {\n    c.widget = {\n      title: c.options.title,\n      purpose: c.options.purpose,\n      icon: c.options.icon\n    };\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-success: #5cb85c !default;\n$pe-brand-warning: #f0ad4e !default;\n$pe-brand-danger: #d9534f !default;\n$pe-brand-info: #5bc0de !default;\n\n.encloser {\n  .approval-card {\n    clear: both;\n    background: #fff;\n    margin-bottom: 10px;\n    border: 1px solid #e6e8ea;\n    .sub-wrapper {\n      .heading {\n        font-size: 18px;\n        font-weight: bold;\n        color: #81878e;\n        padding: 10px 15px;\n        padding-bottom: 0px;\n      }\n      .details {\n        padding: 10px 15px;\n        padding-top: 0px;\n        border-bottom: 1px solid #e6e8ea;\n        overflow: hidden;\n        .each-div {\n          width: 50%;\n          overflow: hidden;\n          float: left;\n        }\n        .purpose {\n          padding: 10px;\n          display: flex;\n          align-items: center;\n          justify-content: flex-end;\n          p {\n            font-size: 15px;\n            color: #81878e;\n            margin-bottom: 0px;\n            line-height: 1;\n            margin-left: 10px;\n            width: 75px;\n          }\n          .purpose-icon {\n            color: $pe-brand-info;\n          }\n        }\n      }\n    }\n    .buttons {\n      overflow: hidden;\n      clear: both;\n      .approve-button {\n        color: $pe-brand-success;\n        border-bottom: 3px solid $pe-brand-success;\n      }\n      .reject-button {\n        color: $pe-brand-danger;\n        border-bottom: 3px solid $pe-brand-danger;\n      }\n      .view-button {\n        color: $pe-brand-warning;\n        border-bottom: 3px solid $pe-brand-warning;\n      }\n      .each-button {\n        width: 33.3%;\n        float: left;\n        padding: 15px 20px;\n        text-align: center;\n        border-right: solid 1px #e6e8ea;\n        p {\n          margin-bottom: 0px;\n          font-size: 15px;\n        }\n      }\n      .last-button {\n        border-right: 0px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;Approval card widget, another widget called \"pe-people-info\" is embedded inside this widget&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-approval-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approval Card&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"name\": \"title\",&amp;#13;\n    \"default_value\": \"Destination Services\",&amp;#13;\n    \"label\": \"Title\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"purpose\",&amp;#13;\n    \"default_value\": \"Relocation Package\",&amp;#13;\n    \"label\": \"Purpose\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"icon\",&amp;#13;\n    \"default_value\": \"fa fa-bell fa-2x\",&amp;#13;\n    \"label\": \"Icon\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 20:34:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;de98a0ae130db600d15e3d7ed144b08f&lt;/sys_id&gt;&lt;sys_mod_count&gt;192&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approval Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_de98a0ae130db600d15e3d7ed144b08f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-09 21:57:03&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"encloser\"&gt;\n  &lt;div class=\"approval-card\"&gt;\n    &lt;div class=\"sub-wrapper\"&gt;\n      &lt;div class=\"heading\"&gt;\n        &lt;p&gt;{{::c.widget.title}}&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"details\"&gt;\n        &lt;div class=\"each-div\"&gt;\n          &lt;sp-widget widget=\"c.peopleInfo\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n        &lt;div class=\"purpose each-div\"&gt;\n          &lt;i class=\"{{::c.widget.icon}} purpose-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n          &lt;p&gt;{{::c.widget.purpose}}&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"buttons\"&gt;\n      &lt;div class=\"each-button approve-button\" ng-click=\"\"&gt;\n        &lt;p&gt;Accept&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"each-button reject-button\" ng-click=\"\"&gt;\n        &lt;p&gt;Decline&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"each-button view-button last-button\" ng-click=\"\"&gt;\n        &lt;p&gt;View&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>177987837</payload_hash>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>7735b9cedb73db008798ffa31d9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520b16f8c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>PE Approval Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a074b1cea373db00f496ec8c3b9bb7d5</update_guid>\n<update_guid_history>a074b1cea373db00f496ec8c3b9bb7d5:177987837,f9d2fd4e3573db00e175d512ab8e0517:1490295583,d1b2bd4e3f73db001d926700c16c8b4b:546211383,b0d17d4ef973db008c8677fb41582fcd:-896257804,e3b17d4e0073db007e3c7a7bf4915b36:-1202337970,fba1714e0773db00a23b2616065d5bf6:2137841216,dfe0b54efb73db001c66e3a35521c1b4:866988162,c6d0314ead73db003cd07174d9fec60f:2128500404,0950714e8873db00f5bc3f98bb8c21ee:-811938276,fd40714ed673db00156f558d3101924f:-1361771134,f030314e8d73db0017657f7e16672e01:-1935875660,ef10b90eb273db00b299826f3e59e777:-1751090979,b46f290ec173db00f2686bb75ba86927:-1888873347,bd4fa50e4e73db00567eae15ee9759e2:-1358750726,512f290e1f73db0037d63fdc24b1e01e:307202266,67fea50e7773db0086421840ee05a97c:-798919334,21fe250e7073db001ba9c0d92749a846:-1273680645,15ce250e3073db0008775c5db35c1a4f:-1412589615,75be610eba73db0009a192693598e2d8:1669850448,316e610e4173db000f9a6702616803d1:-943289039,cb0eadcaf873db0071a9ed51a66e02b1:2126794251,73cd2dca2f73db0029e8cc1d1de38faa:-1515386871,6f5c21cafc73db00efaaffed2be371e7:-370880183,9a1ce58a6a73db002aaa883a2e35a0a6:2000739401,b78b298a1c73db003669699aecde6e90:-2086801973,6f2be18ac573db00d34c1c7866eb0cac:1255165003,bf0be58ad973db00ee6e83a50bc90192:152739853,0d9ae18a0773db008ea32eabcdf8dc97:1888884825,758aa18aba73db0063659824012634ae:894892881,3f7a618a1473db009e6b31762fbf9c70:-588512183,f36a618aa473db00d0b018d64d76219c:894892881,725a618a7e73db00f950a83272787d66:1689022597,6a3a218ade73db00680306c42fa34e31:-1576806673,183aed4ae373db002481f482bfc46be3:818143254,352aad4a1473db00d6a6d53e897782cb:-942870305,e91a6d4ab873db001746b9e8909bc7df:-1576806673,b80a6d4a7e73db00d07d251788d127c1:-1838294529,4ef96d4a5773db00ff55b074b2502638:-120038698,c7e92d4ada73db00a3ba2cd96181e0c9:235704918,c9e9e94a2373db004a89138468a04eec:438032616,a2d9a54aec73db00df830e88d3a824cc:235704918,25c9e94a6073db004a99bc50e990e031:-54479123,1449a54a5973db002180145d169713a5:-785276954,ce29a54ae573db007fc6b3804270569b:156528333,3619254a5773db000809a12b7bf59465:976966964,4519254ab473db00cb7ace55492f1927:-421037515,00d82d0a5073db002a39deb497de1bb1:-785276954,87b82d0a5273db0030af8a89dacc8faa:215804103,c77161860f73db00daf27907270eb551:-1487556949,ca51ed46a673db009b5e47d4749f8de9:363232186,0321ad469173db00a54e0aaa17a8cd68:-2145370938,2e116d468f73db00bfb2c52a2791c94f:-48157142,90012d461e73db008b2280d84715d1ff:-2075680707,ccb06946db73db0060f5f56719772ac1:-750559556,e45b99823273db00fbc886b418634591:-2022945743,e45b99823273db00fbc886b418634591:-2022945743,3a3cbbcca530d30017fb1607c67a1643:512655549,966855913:966855913,335124573:335124573,1038822552:1038822552,485337621:485337621,-552691595:-552691595,485337621:485337621,520921292:520921292,-805390846:-805390846,185135692:185135692,1987564490:1987564490,-1155042690:-1155042690,883063540:883063540,585466984:585466984,883063540:883063540,1100945372:1100945372</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_11f38daa134db600d15e3d7ed144b0fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n  padding: 10px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  width: 100%;\n  float: left;\n  margin: 0px;\n  .media-body {\n    width: 100%;\n    .people_name_title {\n      .title {\n        font-size: 15px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #81878e;\n      }\n      .subtitle {\n        font-size: 13px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #a8abaf;\n      }\n    }\n  }\n  .media-left {\n    .list__photo {\n      width: 35px;\n      height: 35px;\n    }\n    .initials-badge {\n      min-width: 36px;\n      float: left;\n      margin-top: 0px;\n      border-radius: 50%;\n      line-height: 1;\n      font-size: 14px;\n      margin-left: 0px;\n      padding: 10px 10px;\n      font-weight: 300;\n      background: #AEB2B3;\n    }\n  }\n  .media-right {\n    width: 40%;\n    .fa-color {\n      color: $pe-brand-primary;\n      margin-right: 10px;\n    }\n  }\n}\n\n.show-text-bottom {\n  margin: 0px;\n  top: 50px;\n  .people_name_title {\n    .title {\n      margin-top: 0px;\n      font-size: 15px;\n      font-weight: normal;\n      margin-bottom: 0px;\n      color: #81878e;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;People Info widget for displaying user avatar, name, titile with call/chat functionality.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-people-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Info&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"name\":\"show_text_below_picture\",\"default_value\":\"false\",\"label\":\"Show Text Below Picture\",\"type\":\"boolean\"},{\"name\":\"add_border_color_around_avatar\",\"default_value\":\"\",\"label\":\"Add border color around avatar\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.user_sys_id = input.user_sys_id || options.user_sys_id; \n\n  var getBoolValue = function (inputVal, optionVal) {\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      if (typeof optionVal === 'string') {\n        return (optionVal === 'true');\n      } else {\n        return (optionVal === true);\n      }\n    } else {\n      if (typeof inputVal === 'string') {\n        return (inputVal === 'true');\n      } else {\n        return (inputVal === true);\n      }\n    }\n  };\n\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\t\n\tdata.avatar_border = input.add_border_color_around_avatar || options.add_border_color_around_avatar;\n  data.show_only_picture = getBoolValue(input.show_only_picture, options.show_only_picture);\n  data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n  data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n  data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 22:35:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;11f38daa134db600d15e3d7ed144b0fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;226&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_11f38daa134db600d15e3d7ed144b0fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 20:19:47&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"media people-card-media\" ng-style=\"data.show_text_below_picture == true ? { 'padding-bottom':'2px' } : { 'padding-bottom':'10px' }\"&gt;\n  &lt;div class=\"media-left\"&gt;\n    &lt;div class=\"person-photo\"&gt;\n       &lt;img ng-if=\"data.user_photo &amp;&amp; c.data.avatar_border\" ng-style=\"{'border':'3px solid '+c.data.avatar_border}\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;img ng-if=\"data.user_photo &amp;&amp; !c.data.avatar_border\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n        &lt;span class=\"\"&gt;{{::data.user_initials}}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"!data.show_only_picture &amp;&amp; !data.show_text_below_picture\" class=\"media-body\"&gt;\n    &lt;div class=\"people_name_title\"&gt;\n      &lt;h4 class=\"media-heading title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n      &lt;h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\"&gt;{{::data.user_job_title}}&lt;/h4&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media-right\" ng-if=\"data.show_call_and_chat\"&gt;\n    &lt;i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.show_text_below_picture &amp;&amp; !data.show_text_below_picture\" class=\"show-text-bottom\"&gt;\n  &lt;div class=\"people_name_title\"&gt;\n    &lt;h4 class=\"title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>b335b9cedb73db008798ffa31d9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567e0e0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>PE People Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history>284b9982c673db0026cdfce35c6de609:-916212066,524652155:524652155,877754492:877754492,27438064:27438064,1207162081:1207162081,1885990895:1885990895,1207162081:1207162081,-2028222733:-2028222733,-1189573633:-1189573633,524652155:524652155,1885990895:1885990895,524652155:524652155,-450629590:-450629590</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_people_info_launch_connect</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>Launch connect chat</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_people_info_launch_connect</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 00:56:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>52f5930813dd7a007e94fc5ed144b0f9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Launch connect chat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:09:03</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>bf35b9cedb73db008798ffa31d9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567e040000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>Launch connect chat</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_9ec35b8713453a007e94fc5ed144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><average_daily_fte/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department/><edu_status>faculty</edu_status><email>suzy@example.com</email><employee_number/><failed_attempts/><first_name>Suzy</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Ham</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Suzy Ham</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone>(858) 876-6870</phone><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:13:01</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9ec35b8713453a007e94fc5ed144b09a</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:14:04</sys_updated_on><time_format/><time_zone/><title>Developer</title><u_demo_persona>false</u_demo_persona><user_name>suzy.ham</user_name><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#843d29</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height>128</image_height><image_width>128</image_width><size_bytes>4896</size_bytes><size_compressed>4603</size_compressed><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>eb16d7c713453a007e94fc5ed144b055</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:22:45</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>9ec35b8713453a007e94fc5ed144b09a</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2f16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>af16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>8xWkrWmU9Gzht3lX7qh64Yq3ZXvj56Y6FfGN+7Va3iSAqfjsmviqxL4HDM4eJfclh290XZg46MXT+vbJxtRBXgood5dPavjJu7q3DOX7KQZ+3ybLtHAHyVL6F6vSw7+BlvMa3ZbYrF8Wap2oNWztLTT5HFlc/Q2IFLVKFnMf3yIB60J59yUaZyaxtfDDd+yozOhyhhEU3B+zUfy7JMDnoeIyAvcJzlTLnconXiUOeD1luPFl4Blvy5YawvHhYf3HtEozU7WljkjdjLLvt1KuLv917rrYCQrfUNjTL7zDZSf7A4l95btGyxz2nnXFmAS4NS9/7dAtZ9GPhz+hryvMEfd700a44aOdY7qYnLPnEhzD2V+Me1WmNxFWxZIlw/GhOcnYCfSGEzpCsOh9KuCSMcqlkfA47eB9aGapUuVKlNsma4kgzy6Re/hxuUZCZXtwrGvfjWwV+BKnw7d87YW2rk4vNQWT+/Qtbkgr9qiLOiPtycc24XfFO6z0NdimlQoS9mMSExiswz67eEZ7ljOKXKPlmGd/SH9WTzoC//QSoYQ6tSWyvUKdVZ4z9MlzvL2ET+pKLVUdXZ5YjbvPTEg2H1eNRKTJDP5x0uqVmJNBadrw9k/FuqPB6Yw4XmO/7pDAA4uhLE5POa9H75Dy1+LmJqy0YBmNnZQnXnvjrQGz0+zDxJm7bH7j9fQyhe07jD14rcMUVRlnpT7ViVa35dixjjQu5rtg7+IrgF146zd0jWGk6IFEcblcpbFgydhHvMjKhi+tVF8HqAFMQNYufsq8HpCiNUn+dupVL7mqQqLC4gLmbMTeVZ8fTivoEm5IbBaTuAD2IhZAxsHd2xRustLKILFnNb58RP6BYeWNm7gQvJKX0TBv3Dp66Qc0m9U+7YeNM0c0H7PSlEZIIbYz2QXuqFohhnJZDsFrMSMxqztXPPI/MujD3xyYIyrI97KOWYu3V7alryPKa57EOwfn42fMctQ0hjw5o5vqP2fIMegjprhWFljR6b7JEwnoDVfhje9qC4nd0xUqzoEJU1sD54hPdM4bER25q5m5kmJtFqKXItiGYk3rvxwy3s7pOUdZiHp0TnUVJ5X8WYbRRvcTMzOYxnwEyoVauc3ZbB0XMZ1GnNBMb0InhNNwhq2ErjnsptxTvyoCKc3QWGsW4m8evINUu1wv3M3RUcrPgX2ZTkDmfjdQIiIcnSjHne9cBIW2JTZ0/lRaqYqpbEYUCMvwx0V1EAs+v/xhhux9wGfao8r3nCE6xWK0pm7AKfPF29fr3dfax1LTeJ4hkDYEixILs7CwX69svlYGMUW+ilX9Js2eXHq30yHKQq3bsyKYruAa8DmgL/DVcJZtR2AzS4n1VkFUaInqLX/w5sxzWBTPbTnJKE+5Qc3a4aDfX74TtQWVaTv1vfhDYX357GiFELiUBqPkWyo2gnfxjrCjJglwnBQv8daMCy7Wq3hddM2ZgV3zEb8ulUxX19WZNwRDsVLFhXmnttfnV1+VAaom2K1SatzZViVhC+P33erWC8kKXZjzLwqQdzEkIPAMU7yiH7dkLXzQtjcUc/lb9/lU50UHLf1f+/CRWkS7V+6Yq2vWpIrC03knErAbX2jxa+tBhGCxFbdp5Q7zEcP09cIByoyy0Jxxo7rGJPytTCEuISrxL4HFfReHPxe7b3dFNjwObT+IzrbI1eEYO2ppNNtgzM4bIfQ4YgVMog3zP6wYl5rz7M32jfixDORcsu10cOaoh3EfEw1sZZUIn2dPtlsXK8dEr8rT+l4D+jq+aVyKkFQ21GPKxGzTKDARsS52nr7KX0Ntg83lbwozhIT94sXMe8d9THEKx3XSCsI3qqz0RljO5Cjnh0yMntSHFx2qGQjLW07YIHT4VC0y9J9YnF321ibm+RUzb8jvdASaFN0dywpaREqMG6anyuu/4PbHCb3K7O76vu/++hEBnz08p9DkMVDux/NL6sbqFD+VPMzRVuBiudNdhZE5J7W4z4M/GWubap4g0HQ0nw8Kg3ZTH/7UTqE5My1Mv8DdIzzTMlBZGNOs+ClxsKSQoBW9wVHO+v5Ljn++wkBaSOge57zM+MPZp21Wfi6pP0zMhH5am8iln6MYzV4LqH0pKnJrrfWE4H5JgfzP0s7yVajm6cU4Y1nJAoTXeH00f+QyDW7NCmzXJOKp2Dj8a8zC2Gxjai08Fc0UY3No9Y3p5ApMkh4RZA4QlbcPn5wt1r7MmzMlkB+qU59sOl+fchnumf48ceoNwC16r7w2y5n/aKxteQiy1DXW0q1RUzaRF28a9pQZzam4nPP2qBt3wzRl8XhbcJZCBY/tlQTPXOTjrCsiAQ7DBoEdSauXJVkKDKJw263tu70edpFrPFwdsfc/ZjdVE1VIY/8CocFFfiATAAA=</data><length>2392</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2316d7c713453a007e94fc5ed144b056</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>fb35b9cedb73db008798ffa31d9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567d9c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>Suzy Ham</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-people-info-launch-connect</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7a1a978813dd7a007e94fc5ed144b0fd</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-people-info-launch-connect-ui-script\">9ff4d7c413dd7a007e94fc5ed144b0e7</sys_ui_script><sys_update_name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:57</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Approval Card\">ff35b9cedb73db008798ffa31d9619a0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 22:00:33</sys_created_on>\n<sys_id>ff35b9cedb73db008798ffa31d9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16520567db40000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 22:00:33</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "approve-card/pe-approval-card/widget/pe-approval-card.u-body-html-template.html",
    "content": "<div class=\"encloser\">\n  <div class=\"approval-card\">\n    <div class=\"sub-wrapper\">\n      <div class=\"heading\">\n        <p>{{::c.widget.title}}</p>\n      </div>\n      <div class=\"details\">\n        <div class=\"each-div\">\n          <sp-widget widget=\"c.peopleInfo\"></sp-widget>\n        </div>\n        <div class=\"purpose each-div\">\n          <i class=\"{{::c.widget.icon}} purpose-icon\" aria-hidden=\"true\"></i>\n          <p>{{::c.widget.purpose}}</p>\n        </div>\n      </div>\n    </div>\n    <div class=\"buttons\">\n      <div class=\"each-button approve-button\" ng-click=\"\">\n        <p>Accept</p>\n      </div>\n      <div class=\"each-button reject-button\" ng-click=\"\">\n        <p>Decline</p>\n      </div>\n      <div class=\"each-button view-button last-button\" ng-click=\"\">\n        <p>View</p>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "approve-card/pe-approval-card/widget/pe-approval-card.u-client-script.js",
    "content": "function ApprovalCardController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getPeopleInfo();\n  };\n\n  function getPeopleInfo() {\n    spUtil.get('pe-people-info').then(function(result) {\n      c.peopleInfo = result.data ? result : null;\n      setWidgetOptions();\n    });\n  }\n\n  function setWidgetOptions() {\n    c.widget = {\n      title: c.options.title,\n      purpose: c.options.purpose,\n      icon: c.options.icon\n    };\n  }\n}"
  },
  {
    "path": "approve-card/pe-approval-card/widget/pe-approval-card.u-css.scss",
    "content": "$pe-brand-success: #5cb85c !default;\n$pe-brand-warning: #f0ad4e !default;\n$pe-brand-danger: #d9534f !default;\n$pe-brand-info: #5bc0de !default;\n\n.encloser {\n  .approval-card {\n    clear: both;\n    background: #fff;\n    margin-bottom: 10px;\n    border: 1px solid #e6e8ea;\n    .sub-wrapper {\n      .heading {\n        font-size: 18px;\n        font-weight: bold;\n        color: #81878e;\n        padding: 10px 15px;\n        padding-bottom: 0px;\n      }\n      .details {\n        padding: 10px 15px;\n        padding-top: 0px;\n        border-bottom: 1px solid #e6e8ea;\n        overflow: hidden;\n        .each-div {\n          width: 50%;\n          overflow: hidden;\n          float: left;\n        }\n        .purpose {\n          padding: 10px;\n          display: flex;\n          align-items: center;\n          justify-content: flex-end;\n          p {\n            font-size: 15px;\n            color: #81878e;\n            margin-bottom: 0px;\n            line-height: 1;\n            margin-left: 10px;\n            width: 75px;\n          }\n          .purpose-icon {\n            color: $pe-brand-info;\n          }\n        }\n      }\n    }\n    .buttons {\n      overflow: hidden;\n      clear: both;\n      .approve-button {\n        color: $pe-brand-success;\n        border-bottom: 3px solid $pe-brand-success;\n      }\n      .reject-button {\n        color: $pe-brand-danger;\n        border-bottom: 3px solid $pe-brand-danger;\n      }\n      .view-button {\n        color: $pe-brand-warning;\n        border-bottom: 3px solid $pe-brand-warning;\n      }\n      .each-button {\n        width: 33.3%;\n        float: left;\n        padding: 15px 20px;\n        text-align: center;\n        border-right: solid 1px #e6e8ea;\n        p {\n          margin-bottom: 0px;\n          font-size: 15px;\n        }\n      }\n      .last-button {\n        border-right: 0px;\n      }\n    }\n  }\n}"
  },
  {
    "path": "approve-card/pe-approval-card/widget/pe-approval-card.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"title\",\n    \"default_value\": \"Destination Services\",\n    \"label\": \"Title\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"purpose\",\n    \"default_value\": \"Relocation Package\",\n    \"label\": \"Purpose\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"icon\",\n    \"default_value\": \"fa fa-bell fa-2x\",\n    \"label\": \"Icon\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "approve-card/pe-approval-card/widget/pe-approval-card.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n})();"
  },
  {
    "path": "approve-card/pe-approval-card-cloud-sprawl/Readme.md",
    "content": "# Approval / Reject Card\n\n## Description\n\nDisplays a simple approval card with three buttons: **Accept**, **Reject**, **View**.\n\n## Screenshot\n\n![Approve Reject Card](../../images/pe-approve-reject-card.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-approval-cloud-sprawl.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/approve-card/pe-approval-card-cloud-sprawl/pe-approval-card-cloud-sprawl.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nWidget Option Schema parameters:\n\n**Card Data** to fill the card with sample data using a JSON object.\n\n```javascript\n  {\n    \"title\": \"BudgetRequest\",\n    \"sub_title\": \"Engineering\",\n    \"attention_text\": \"Tier1\",\n    \"attention_icon\": \"fa-exclamation-circle\",\n    \"big_text\": \"$25k\",\n    \"state\": \"pending\",\n    \"big_text_icon\": \"coins.png\"\n  }\n```\n\n## Platform Dependencies\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "approve-card/pe-approval-card-cloud-sprawl/pe-approval-card-cloud-sprawl.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-14 01:39:53\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Approve Reject Card</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>31d56fe013613600d15e3d7ed144b0cf</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>c146a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_cb8b6a6013edf200d15e3d7ed144b0c0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ApproveRejectInbox(spUtil) {\n  /* widget controller */\n  var c = this;\n  c.graphdata = {};\n  c.graphdata = {\n    widget_heading: 'cloud budget',\n    left_info: {\n      icon: 'dollar-bag.png',\n      number: '$230K',\n      number_text: 'Spent'\n\n    },\n    right_info: {\n      type: 'bar',\n      bar_title: '5 days to $0',\n      remaining: 46,\n      total: 276\n    },\n    card_header: 'budget requests',\n    approvals: [{\n        title: 'Budget Request',\n        sub_title: 'Engineering',\n        attention_text: 'Tier 1',\n        attention_icon: 'fa-exclamation-circle',\n        big_text: '$25k',\n        state: 'pending',\n        //big_text_icon: 'fa-money'\n        big_text_icon: 'coins.png'\n      }\n\n    ],\n\n    graph_numbers: [{\n      color: '#132347',\n      width: '60%',\n      info_text: 'AWS'\n      //info_number: '14'\n    }, {\n      color: '#1c5b7d',\n      width: '20%',\n      info_text: 'AZURE'\n      //info_number: '12'\n    }, {\n      color: '#96c6c8',\n      width: '20%',\n      info_text: 'VMW'\n      //info_number: '14'\n    }]\n  };\n\n  spUtil.get('pe-approve-reject-card', {\n    card_data: c.card_data\n  }).then(function (response) {\n    c.data.embedded_widget = response;\n  });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;body {\n  background: #D7D7D7;\n}\n\nbody.fixed-header section.page,\nbody.fixed-footer section.page {\n  background: #d7d7d7;\n  height: 100%;\n}\n\n\n/** approve rejct ***/\n\n.row:before,\n.row:after {\n  display: block;\n}\n\n.whole-div {\n  margin-bottom: 10px;\n}\n\n.approve-reject {\n  //margin-right: 10px;\n  //margin-left: 10px;\n  background: #f9f9f9;\n  clear: both;\n  .bg-light {\n    background: #f9f9f9;\n  }\n  .bg-white {\n    background: #fff;\n  }\n  .header {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 13px;\n    background: #fff;\n    border-top: 1px solid #e9e9e9;\n    color: #485562;\n    // margin-left: -10px;\n    // margin-right: -10px;\n    .expand-icon {\n      .fa {\n        transition: transform .5s;\n        color: #199cdb;\n        margin-left: 10px;\n        font-size: 20px;\n      }\n      .fa-plus-rotate {\n        transform: rotate(135deg);\n      }\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .title {\n      display: flex;\n      .text {\n        padding-top: 2px;\n      }\n      .card-header {\n        text-transform: uppercase;\n      }\n      .badge {\n        margin-left: 5px;\n        color: #fff;\n        background: #ee525e;\n      }\n    }\n  }\n  .panel-default {\n    border: 0px;\n    .panel-heading {\n      padding: 0px;\n      // color: #000;\n      background: #fff;\n      border: 0px;\n    }\n  }\n  .panel {\n    border-radius: 0px !important;\n    margin-bottom: 0px;\n    background: #fff;\n    border: 0px;\n    border-radius: 0px;\n    box-shadow: none;\n  }\n  .panel-body {\n    padding: 0px;\n    border: 0px;\n    border-top: 0px !important;\n  }\n  .panel-group {\n    margin-bottom: 10px;\n  }\n  .body-wrapper {\n    margin: 10px;\n    margin-bottom: 0px;\n    background: #fff;\n  }\n  .body {\n    background: #D7D7D7;\n    // margin-bottom: 10px;\n    border: 1px solid #e6e6e6;\n    p {\n      margin-bottom: 0px;\n    }\n    .card {\n      padding: 10px;\n      .first-line {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        .title {\n          font-size: 24px;\n          font-weight: 500;\n          color: #000;\n        }\n        .attn-text {\n          font-size: 16px;\n          display: flex;\n          align-items: center;\n          p {\n            padding-right: 5px;\n            color: #ed5460;\n          }\n          .attn-icon {\n            color: #ed5460;\n          }\n        }\n      }\n      .second-line {\n        display: flex;\n        align-items: flex-start;\n        justify-content: space-between;\n        .sub-title {\n          p {\n            color: #e6e6e6;\n          }\n        }\n        .right-side {\n          display: flex;\n          align-items: center;\n          p {\n            font-size: 36px;\n            padding-left: 5px;\n            color: #000;\n          }\n          .icon {\n            color: #000;\n            img {\n              height: 35px;\n            }\n            .fa {\n              font-size: 24px;\n            }\n          }\n        }\n      }\n    }\n    .buttons {\n      border-top: 1px solid #ddd;\n      button {\n        width: 32%;\n        text-align: center;\n        text-transform: uppercase;\n        background: inherit;\n        border-radius: 0px;\n        .fa {\n          margin-right: 2px;\n        }\n      }\n      .approve-btn {\n        &amp;amp;:active {\n          color: #2abd68;\n        }\n      }\n      .view-btn {\n        color: #199cdb;\n        &amp;amp;:active {\n          color: #199cdb;\n        }\n      }\n      .middle-btn {\n        &amp;amp;:active {\n          color: #ed5460;\n        }\n        border-left: 1px solid #ddd;\n        border-right: 1px solid #ddd;\n      }\n    }\n    .automatic-approval {\n      display: flex;\n      .criteria-met {\n        color: #2abd68;\n        font-size: 12px;\n        .fa {\n          margin-left: 5px;\n        }\n      }\n      button {\n        text-align: center;\n        text-transform: uppercase;\n        background: inherit;\n        border-radius: 0px;\n        .fa {\n          margin-right: 2px;\n        }\n      }\n      .approve-btn {\n        width: 60%;\n        border-top: 1px solid #ddd;\n        border-right: 1px solid #ddd;\n        &amp;amp;:active {\n          color: #2abd68;\n        }\n      }\n      .view-btn {\n        width: 40%;\n        color: #199cdb;\n        border-top: 1px solid #ddd;\n        &amp;amp;:active {\n          color: #199cdb;\n        }\n      }\n    }\n    .criteria-details {\n      padding: 10px;\n      p {\n        margin-bottom: 0px;\n      }\n      .header {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        color: #9f9f9f;\n        padding: 0px;\n        border-top: 0px;\n        .heading {\n          font-size: 20px;\n        }\n      }\n      .sub_title {\n        font-size: 14px;\n        color: #9f9f9f;\n      }\n      .all-criterias {\n        padding-top: 10px;\n        .title {\n          text-transform: uppercase;\n          font-size: 14px;\n          color: #000;\n        }\n        .each-criteria {\n          font-size: 18px;\n          color: #000;\n          .fa {\n            font-size: 20px;\n            margin-right: 10px;\n            color: #2abd68;\n          }\n        }\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-approve-reject-inbox&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approve Reject Inbox&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"card_data\",\"default_value\":\"{     \\\"title\\\": \\\"BudgetRequest\\\",     \\\"sub_title\\\": \\\"Engineering\\\",     \\\"attention_text\\\": \\\"Tier1\\\",     \\\"attention_icon\\\": \\\"fa-exclamation-circle\\\",     \\\"big_text\\\": \\\"$25k\\\",     \\\"state\\\": \\\"pending\\\",     \\\"big_text_icon\\\": \\\"coins.png\\\"   }\",\"label\":\"Card Data\",\"type\":\"json\",\"mandatory\":true}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.card_data = input.card_data || options.card_data;\n  data.card_data = JSON.parse(data.card_data);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 21:53:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cb8b6a6013edf200d15e3d7ed144b0c0&lt;/sys_id&gt;&lt;sys_mod_count&gt;42&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approve Reject Inbox&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_cb8b6a6013edf200d15e3d7ed144b0c0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 01:39:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"approve-reject\"&gt;\n  &lt;div uib-accordion=\"\"&gt;\n    &lt;div uib-accordion-group=\"\" class=\"panel-default\" is-open=\"c.graphdata.status\"&gt;\n      &lt;div uib-accordion-heading=\"\"&gt;\n        &lt;div class=\"header\" ng-class=\"{'bg-white': c.graphdata.status, 'bg-light': !c.graphdata.status}\"&gt;\n          &lt;div class=\"title\"&gt;\n            &lt;p class=\"text-fourteen card-header\"&gt;{{::c.graphdata.card_header}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"expand-icon\"&gt;\n            &lt;i class=\"fa fa-plus-circle\" ng-class=\"{'fa-plus-rotate': c.graphdata.status}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"body\"&gt;\n&lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Approve Reject Card\">c146a32413613600d15e3d7ed144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>0d46a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<table/>\n<target_name>PE Approve Reject Inbox</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0f7b432013213600d15e3d7ed144b0ca</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ApproveRejectCard() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;&amp;#13;\n/** approve rejct ***/&amp;#13;\n&amp;#13;\n.row:before,&amp;#13;\n.row:after {&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.whole-div {&amp;#13;\n  margin-bottom: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.green-text {&amp;#13;\n    color: #2abd68 !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.red-text {&amp;#13;\n    color: #ff3d00 !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.approve-reject {&amp;#13;\n  background: #f9f9f9;&amp;#13;\n  clear: both;&amp;#13;\n  .bg-light {&amp;#13;\n    background: #f9f9f9;&amp;#13;\n  }&amp;#13;\n  .bg-white {&amp;#13;\n    background: #fff;&amp;#13;\n  }&amp;#13;\n  .header {&amp;#13;\n    display: flex;&amp;#13;\n    align-items: center;&amp;#13;\n    justify-content: center;&amp;#13;\n    padding: 13px;&amp;#13;\n    background: #fff;&amp;#13;\n    border-top: 1px solid #e9e9e9;&amp;#13;\n    color: #485562;&amp;#13;\n    .expand-icon {&amp;#13;\n      .fa {&amp;#13;\n        transition: transform .5s;&amp;#13;\n        color: #199cdb;&amp;#13;\n        margin-left: 10px;&amp;#13;\n        font-size: 20px;&amp;#13;\n      }&amp;#13;\n      .fa-plus-rotate {&amp;#13;\n        transform: rotate(135deg);&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    p {&amp;#13;\n      margin-bottom: 0px;&amp;#13;\n    }&amp;#13;\n    .title {&amp;#13;\n      display: flex;&amp;#13;\n      .text {&amp;#13;\n        padding-top: 2px;&amp;#13;\n      }&amp;#13;\n      .card-header {&amp;#13;\n        text-transform: uppercase;&amp;#13;\n      }&amp;#13;\n      .badge {&amp;#13;\n        margin-left: 5px;&amp;#13;\n        color: #fff;&amp;#13;\n        background: #ee525e;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel-default {&amp;#13;\n    border: 0px;&amp;#13;\n    .panel-heading {&amp;#13;\n      padding: 0px;&amp;#13;\n      // color: #000;&amp;#13;\n      background: #fff;&amp;#13;\n      border: 0px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel {&amp;#13;\n    border-radius: 0px !important;&amp;#13;\n    margin-bottom: 0px;&amp;#13;\n    background: #fff;&amp;#13;\n    border: 0px;&amp;#13;\n    border-radius: 0px;&amp;#13;\n    box-shadow: none;&amp;#13;\n  }&amp;#13;\n  .panel-body {&amp;#13;\n    padding: 0px;&amp;#13;\n    border: 0px;&amp;#13;\n    border-top: 0px !important;&amp;#13;\n  }&amp;#13;\n  .panel-group {&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n  }&amp;#13;\n  .body-wrapper {&amp;#13;\n    background: #fff;&amp;#13;\n  }&amp;#13;\n  .body {&amp;#13;\n    background: #D7D7D7;&amp;#13;\n    // margin-bottom: 10px;&amp;#13;\n    border: 1px solid #e6e6e6;&amp;#13;\n    p {&amp;#13;\n      margin-bottom: 0px;&amp;#13;\n    }&amp;#13;\n    .card {&amp;#13;\n      padding: 10px;&amp;#13;\n      .first-line {&amp;#13;\n        display: flex;&amp;#13;\n        align-items: center;&amp;#13;\n        justify-content: space-between;&amp;#13;\n        .title {&amp;#13;\n          font-size: 24px;&amp;#13;\n          font-weight: 500;&amp;#13;\n          color: #000;&amp;#13;\n        }&amp;#13;\n        .attn-text {&amp;#13;\n          font-size: 16px;&amp;#13;\n          display: flex;&amp;#13;\n          align-items: center;&amp;#13;\n          p {&amp;#13;\n            padding-right: 5px;&amp;#13;\n            color: #ed5460;&amp;#13;\n          }&amp;#13;\n          .attn-icon {&amp;#13;\n            color: #ed5460;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .second-line {&amp;#13;\n        display: flex;&amp;#13;\n        align-items: flex-start;&amp;#13;\n        justify-content: space-between;&amp;#13;\n        .sub-title {&amp;#13;\n          p {&amp;#13;\n            color: #e6e6e6;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n        .right-side {&amp;#13;\n          display: flex;&amp;#13;\n          align-items: center;&amp;#13;\n          p {&amp;#13;\n            font-size: 36px;&amp;#13;\n            padding-left: 5px;&amp;#13;\n            color: #000;&amp;#13;\n          }&amp;#13;\n          .icon {&amp;#13;\n            color: #000;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .buttons {&amp;#13;\n      border-top: 1px solid #ddd;&amp;#13;\n      button {&amp;#13;\n        width: 32%;&amp;#13;\n        text-align: center;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n        background: inherit;&amp;#13;\n        border-radius: 0px;&amp;#13;\n        .fa {&amp;#13;\n          margin-right: 2px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .approve-btn {&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #2abd68;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .view-btn {&amp;#13;\n        color: #199cdb;&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #199cdb;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .middle-btn {&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #ed5460;&amp;#13;\n        }&amp;#13;\n        border-left: 1px solid #ddd;&amp;#13;\n        border-right: 1px solid #ddd;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .automatic-approval {&amp;#13;\n      display: flex;&amp;#13;\n      .criteria-met {&amp;#13;\n        color: #2abd68;&amp;#13;\n        font-size: 12px;&amp;#13;\n        .fa {&amp;#13;\n          margin-left: 5px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      button {&amp;#13;\n        text-align: center;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n        background: inherit;&amp;#13;\n        border-radius: 0px;&amp;#13;\n        .fa {&amp;#13;\n          margin-right: 2px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .approve-btn {&amp;#13;\n        width: 60%;&amp;#13;\n        border-top: 1px solid #ddd;&amp;#13;\n        border-right: 1px solid #ddd;&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #2abd68;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .view-btn {&amp;#13;\n        width: 40%;&amp;#13;\n        color: #199cdb;&amp;#13;\n        border-top: 1px solid #ddd;&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #199cdb;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .criteria-details {&amp;#13;\n      padding: 10px;&amp;#13;\n      p {&amp;#13;\n        margin-bottom: 0px;&amp;#13;\n      }&amp;#13;\n      .header {&amp;#13;\n        display: flex;&amp;#13;\n        align-items: center;&amp;#13;\n        justify-content: space-between;&amp;#13;\n        color: #9f9f9f;&amp;#13;\n        padding: 0px;&amp;#13;\n        border-top: 0px;&amp;#13;\n        .heading {&amp;#13;\n          font-size: 20px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .sub_title {&amp;#13;\n        font-size: 14px;&amp;#13;\n        color: #9f9f9f;&amp;#13;\n      }&amp;#13;\n      .all-criterias {&amp;#13;\n        padding-top: 10px;&amp;#13;\n        .title {&amp;#13;\n          text-transform: uppercase;&amp;#13;\n          font-size: 14px;&amp;#13;\n          color: #000;&amp;#13;\n        }&amp;#13;\n        .each-criteria {&amp;#13;\n          font-size: 18px;&amp;#13;\n          color: #000;&amp;#13;\n          .fa {&amp;#13;\n            font-size: 20px;&amp;#13;\n            margin-right: 10px;&amp;#13;\n            color: #2abd68;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-approve-reject-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approve Reject Card&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"card_data\",\"default_value\":\"{     \\\"title\\\": \\\"BudgetRequest\\\",     \\\"sub_title\\\": \\\"Engineering\\\",     \\\"attention_text\\\": \\\"Tier1\\\",     \\\"attention_icon\\\": \\\"fa-exclamation-circle\\\",     \\\"big_text\\\": \\\"$25k\\\",     \\\"state\\\": \\\"pending\\\",     \\\"big_text_icon\\\": \\\"coins.png\\\"   }\",\"label\":\"Card Data\",\"type\":\"json\",\"mandatory\":true}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.cardData = input.card_data || options.card_data;\n  data.cardData = JSON.parse(data.cardData);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 23:44:22&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0f7b432013213600d15e3d7ed144b0ca&lt;/sys_id&gt;&lt;sys_mod_count&gt;59&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approve Reject Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0f7b432013213600d15e3d7ed144b0ca&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 01:39:00&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"approve-reject\"&gt;\n  &lt;div class=\"body\"&gt;\n    &lt;div class=\"body-wrapper\"&gt;\n      &lt;div class=\"card\"&gt;\n        &lt;div class=\"first-line\"&gt;\n\n          &lt;p class=\"title\"&gt;{{::data.cardData.title}}&lt;/p&gt;\n          &lt;div class=\"attn-text\" ng-show=\"data.cardData.type != 'automatic'\"&gt;\n            &lt;p class=\"text-twelve text-upper\"&gt;{{::data.cardData.attention_text}}&lt;/p&gt;\n            &lt;span class=\"attn-icon\"&gt;&lt;i class=\"fa fa-2x\" ng-class=\"data.cardData.attention_icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/span&gt;\n          &lt;/div&gt;\n          &lt;div ng-show=\"data.cardData.type == 'automatic'\"&gt;\n\n            &lt;p class=\"text-thirtysix\"&gt;{{::data.cardData.big_text}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"second-line\"&gt;\n          &lt;p class=\"sub-title text-sixteen text-upper\"&gt;{{::data.cardData.sub_title}}&lt;/p&gt;\n          &lt;div class=\"right-side\" ng-show=\"data.cardData.type != 'automatic'\"&gt;\n            &lt;span class=\"icon\"&gt;\n  &lt;i class=\"fa fa-money fa-2x\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/span&gt;\n\n            &lt;p class=\"text-thirtysix\"&gt;{{::data.cardData.big_text}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;div&gt;\n        &lt;div ng-show=\"data.cardData.type != 'automatic'\" class=\"buttons\"&gt;\n          &lt;button class=\"approve-btn btn green-text\" ng-click=\"approve(data.cardData)\"&gt;&lt;i class=\"fa fa-check\" aria-hidden=\"true\"&gt;&lt;/i&gt;approve&lt;/button&gt;\n          &lt;button class=\"btn middle-btn red-text\" ng-click=\"reject(data.cardData)\"&gt;&lt;i class=\"fa fa-times\" aria-hidden=\"true\"&gt;&lt;/i&gt;reject&lt;/button&gt;\n          &lt;button class=\"view-btn btn\"&gt;&lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;view&lt;/button&gt;\n        &lt;/div&gt;\n        &lt;div ng-show=\"data.cardData.type == 'automatic'\" class=\"automatic-approval\"&gt;\n          &lt;button class=\"approve-btn btn green-text\"&gt;&lt;i class=\"fa fa-check\" aria-hidden=\"true\"&gt;&lt;/i&gt;approved by stystem&lt;/button&gt;\n          &lt;button class=\"view-btn btn\" ng-click=\"data.cardData.showCriteria = true\"&gt;\n  &lt;div class=\"criteria-met\"&gt;\n  &lt;p&gt;criteria met &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div&gt;\n  &lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;span&gt;view&lt;/span&gt;\n  &lt;/div&gt;\n\n  &lt;/button&gt;\n        &lt;/div&gt;\n\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Approve Reject Card\">c146a32413613600d15e3d7ed144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>4946a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<table/>\n<target_name>PE Approve Reject Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3d4af22813edf200d15e3d7ed144b0d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"DELETE\"><sp_dependency display_value=\"donutDirective\">b44ab62813edf200d15e3d7ed144b0d4</sp_dependency><sp_widget display_value=\"PE Approve Reject Inbox\">cb8b6a6013edf200d15e3d7ed144b0c0</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-13 22:27:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3d4af22813edf200d15e3d7ed144b0d3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.PE Approve Reject Inbox</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3d4af22813edf200d15e3d7ed144b0d3</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-13 22:27:41</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Approve Reject Card\">c146a32413613600d15e3d7ed144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>8546a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<table/>\n<target_name>donutDirective.PE Approve Reject Inbox</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "approve-card/pe-approval-card-cloud-sprawl/widget/pe-approval-cloud-sprawl.u-body-html-template.html",
    "content": "<div class=\"approve-reject\">\r\n  <div class=\"body\">\r\n    <div class=\"body-wrapper\">\r\n      <div class=\"card\">\r\n        <div class=\"first-line\">\r\n\r\n          <p class=\"title\">{{::data.cardData.title}}</p>\r\n          <div class=\"attn-text\" ng-show=\"data.cardData.type != 'automatic'\">\r\n            <p class=\"text-twelve text-upper\">{{::data.cardData.attention_text}}</p>\r\n            <span class=\"attn-icon\"><i class=\"fa fa-2x\" ng-class=\"data.cardData.attention_icon\" aria-hidden=\"true\"></i></span>\r\n          </div>\r\n          <div ng-show=\"data.cardData.type == 'automatic'\">\r\n\r\n            <p class=\"text-thirtysix\">{{::data.cardData.big_text}}</p>\r\n          </div>\r\n        </div>\r\n        <div class=\"second-line\">\r\n          <p class=\"sub-title text-sixteen text-upper\">{{::data.cardData.sub_title}}</p>\r\n          <div class=\"right-side\" ng-show=\"data.cardData.type != 'automatic'\">\r\n            <span class=\"icon\">\r\n  <i class=\"fa fa-money fa-2x\" aria-hidden=\"true\"></i>\r\n  </span>\r\n\r\n            <p class=\"text-thirtysix\">{{::data.cardData.big_text}}</p>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div>\r\n        <div ng-show=\"data.cardData.type != 'automatic'\" class=\"buttons\">\r\n          <button class=\"approve-btn btn green-text\" ng-click=\"approve(data.cardData)\"><i class=\"fa fa-check\" aria-hidden=\"true\"></i>approve</button>\r\n          <button class=\"btn middle-btn red-text\" ng-click=\"reject(data.cardData)\"><i class=\"fa fa-times\" aria-hidden=\"true\"></i>reject</button>\r\n          <button class=\"view-btn btn\"><i class=\"fa fa-plus\" aria-hidden=\"true\"></i>view</button>\r\n        </div>\r\n        <div ng-show=\"data.cardData.type == 'automatic'\" class=\"automatic-approval\">\r\n          <button class=\"approve-btn btn green-text\"><i class=\"fa fa-check\" aria-hidden=\"true\"></i>approved by stystem</button>\r\n          <button class=\"view-btn btn\" ng-click=\"data.cardData.showCriteria = true\">\r\n  <div class=\"criteria-met\">\r\n  <p>criteria met <i class=\"fa fa-check-circle\" aria-hidden=\"true\"></i></p>\r\n  </div>\r\n  <div>\r\n  <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\r\n  <span>view</span>\r\n  </div>\r\n\r\n  </button>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>"
  },
  {
    "path": "approve-card/pe-approval-card-cloud-sprawl/widget/pe-approval-cloud-sprawl.u-client-script.js",
    "content": "function ApproveRejectCard() {\r\n  /* widget controller */\r\n  var c = this;\r\n}"
  },
  {
    "path": "approve-card/pe-approval-card-cloud-sprawl/widget/pe-approval-cloud-sprawl.u-css.scss",
    "content": "\r\n/** approve rejct ***/\r\n\r\n.row:before,\r\n.row:after {\r\n  display: block;\r\n}\r\n\r\n.whole-div {\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.green-text {\r\n    color: #2abd68 !important;\r\n}\r\n\r\n.red-text {\r\n    color: #ff3d00 !important;\r\n}\r\n\r\n.approve-reject {\r\n  background: #f9f9f9;\r\n  clear: both;\r\n  .bg-light {\r\n    background: #f9f9f9;\r\n  }\r\n  .bg-white {\r\n    background: #fff;\r\n  }\r\n  .header {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 13px;\r\n    background: #fff;\r\n    border-top: 1px solid #e9e9e9;\r\n    color: #485562;\r\n    .expand-icon {\r\n      .fa {\r\n        transition: transform .5s;\r\n        color: #199cdb;\r\n        margin-left: 10px;\r\n        font-size: 20px;\r\n      }\r\n      .fa-plus-rotate {\r\n        transform: rotate(135deg);\r\n      }\r\n    }\r\n    p {\r\n      margin-bottom: 0px;\r\n    }\r\n    .title {\r\n      display: flex;\r\n      .text {\r\n        padding-top: 2px;\r\n      }\r\n      .card-header {\r\n        text-transform: uppercase;\r\n      }\r\n      .badge {\r\n        margin-left: 5px;\r\n        color: #fff;\r\n        background: #ee525e;\r\n      }\r\n    }\r\n  }\r\n  .panel-default {\r\n    border: 0px;\r\n    .panel-heading {\r\n      padding: 0px;\r\n      // color: #000;\r\n      background: #fff;\r\n      border: 0px;\r\n    }\r\n  }\r\n  .panel {\r\n    border-radius: 0px !important;\r\n    margin-bottom: 0px;\r\n    background: #fff;\r\n    border: 0px;\r\n    border-radius: 0px;\r\n    box-shadow: none;\r\n  }\r\n  .panel-body {\r\n    padding: 0px;\r\n    border: 0px;\r\n    border-top: 0px !important;\r\n  }\r\n  .panel-group {\r\n    margin-bottom: 10px;\r\n  }\r\n  .body-wrapper {\r\n    background: #fff;\r\n  }\r\n  .body {\r\n    background: #D7D7D7;\r\n    // margin-bottom: 10px;\r\n    border: 1px solid #e6e6e6;\r\n    p {\r\n      margin-bottom: 0px;\r\n    }\r\n    .card {\r\n      padding: 10px;\r\n      .first-line {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        .title {\r\n          font-size: 24px;\r\n          font-weight: 500;\r\n          color: #000;\r\n        }\r\n        .attn-text {\r\n          font-size: 16px;\r\n          display: flex;\r\n          align-items: center;\r\n          p {\r\n            padding-right: 5px;\r\n            color: #ed5460;\r\n          }\r\n          .attn-icon {\r\n            color: #ed5460;\r\n          }\r\n        }\r\n      }\r\n      .second-line {\r\n        display: flex;\r\n        align-items: flex-start;\r\n        justify-content: space-between;\r\n        .sub-title {\r\n          p {\r\n            color: #e6e6e6;\r\n          }\r\n        }\r\n        .right-side {\r\n          display: flex;\r\n          align-items: center;\r\n          p {\r\n            font-size: 36px;\r\n            padding-left: 5px;\r\n            color: #000;\r\n          }\r\n          .icon {\r\n            color: #000;\r\n          }\r\n        }\r\n      }\r\n    }\r\n    .buttons {\r\n      border-top: 1px solid #ddd;\r\n      button {\r\n        width: 32%;\r\n        text-align: center;\r\n        text-transform: uppercase;\r\n        background: inherit;\r\n        border-radius: 0px;\r\n        .fa {\r\n          margin-right: 2px;\r\n        }\r\n      }\r\n      .approve-btn {\r\n        &:active {\r\n          color: #2abd68;\r\n        }\r\n      }\r\n      .view-btn {\r\n        color: #199cdb;\r\n        &:active {\r\n          color: #199cdb;\r\n        }\r\n      }\r\n      .middle-btn {\r\n        &:active {\r\n          color: #ed5460;\r\n        }\r\n        border-left: 1px solid #ddd;\r\n        border-right: 1px solid #ddd;\r\n      }\r\n    }\r\n    .automatic-approval {\r\n      display: flex;\r\n      .criteria-met {\r\n        color: #2abd68;\r\n        font-size: 12px;\r\n        .fa {\r\n          margin-left: 5px;\r\n        }\r\n      }\r\n      button {\r\n        text-align: center;\r\n        text-transform: uppercase;\r\n        background: inherit;\r\n        border-radius: 0px;\r\n        .fa {\r\n          margin-right: 2px;\r\n        }\r\n      }\r\n      .approve-btn {\r\n        width: 60%;\r\n        border-top: 1px solid #ddd;\r\n        border-right: 1px solid #ddd;\r\n        &:active {\r\n          color: #2abd68;\r\n        }\r\n      }\r\n      .view-btn {\r\n        width: 40%;\r\n        color: #199cdb;\r\n        border-top: 1px solid #ddd;\r\n        &:active {\r\n          color: #199cdb;\r\n        }\r\n      }\r\n    }\r\n    .criteria-details {\r\n      padding: 10px;\r\n      p {\r\n        margin-bottom: 0px;\r\n      }\r\n      .header {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: space-between;\r\n        color: #9f9f9f;\r\n        padding: 0px;\r\n        border-top: 0px;\r\n        .heading {\r\n          font-size: 20px;\r\n        }\r\n      }\r\n      .sub_title {\r\n        font-size: 14px;\r\n        color: #9f9f9f;\r\n      }\r\n      .all-criterias {\r\n        padding-top: 10px;\r\n        .title {\r\n          text-transform: uppercase;\r\n          font-size: 14px;\r\n          color: #000;\r\n        }\r\n        .each-criteria {\r\n          font-size: 18px;\r\n          color: #000;\r\n          .fa {\r\n            font-size: 20px;\r\n            margin-right: 10px;\r\n            color: #2abd68;\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "approve-card/pe-approval-card-cloud-sprawl/widget/pe-approval-cloud-sprawl.u-server-script.js",
    "content": "(function () {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  data.cardData = input.card_data || options.card_data;\r\n  data.cardData = JSON.parse(data.cardData);\r\n})();"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/.gitignore",
    "content": ".src/"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/Readme.md",
    "content": "# Approval Card\n\n## Description\n\nThis widget can be used to create a simple approval card with three button **Accept**, **Reject**, **View**. This widget also displays user avatar, name and title etc.\n\n## Screenshots\n![alt text](../../images/approval.png \"Approval Card Widget\")\n\n## Additional Information/Notes\n\nThis widget makes use of [pe-people-info widget](https://github.com/platform-experience/serviceportal-widget-library/tree/master/people-card/pe-people-info) to display user avatar, name and title.\n\n> Widget is included with the update set.\n\nPeople Info widget is injected dynamically in client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-approval-card-with-approval-table.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/approve-card/pe-approval-card-with-approval-table/pe-approval-card-with-approval-table.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"title\"**  `Default: Destination Services`<br/>\n**\"purpose\"**   `Default: Relocation Package`<br/>\n**\"icon\"** Use of font-awesome icons for this option  `Default: fa fa-bell fa-2x`, which is a bell icon. Can be replaced with any supported glyph/icon using the [fontawesome.io](http://fontawesome.io/cheatsheet/) classes.\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-brand-success: #5cb85c !default;`<br/>\n`$pe-brand-warning: #f0ad4e !default;`<br/>\n`$pe-brand-danger: #d9534f !default;`<br/>\n`$pe-brand-info: #5bc0de !default;`<br/>"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/pe-approval-card-with-approval-table.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-24 00:18:35\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>approval cards updated</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>bb7072f3db65f600ad01f9361d96197e</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>6b83b637db65f600ad01f9361d9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_de98a0ae130db600d15e3d7ed144b08f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ApprovalCardController(spUtil, $scope) {\n  var c = this;\n\n  c.approve = approve;\n  c.reject = reject;\n  c.view = view;\n\n  c.$onInit = function () {\n    c.data.widget = {\n      title: c.options.title,\n      purpose: c.options.purpose,\n      icon: c.options.icon\n    };\n\n    c.data.user_info = {\n      user_sys_id: c.options.user || '9ec35b8713453a007e94fc5ed144b09a',\n      show_only_picture: false,\n      show_job_title: true,\n      show_call_and_chat: false\n    };\n    /*Inject People info widget here*/\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.user_info.user_sys_id,\n      show_job_title: c.data.user_info.show_job_title,\n      show_call_and_chat: c.data.user_info.show_call_and_chat,\n      show_only_picture: c.data.user_info.show_only_picture\n    }).then(function (response) {\n      c.data.embedded_widget = response;\n    });\n\n\n    $scope.$on('card-update', function (event, param) {\n      c.hideActions = true;\n    })\n\n  };\n\n  function approve() {\n    $scope.$emit('cart-solved', {card: c, status: 'approve'});\n  }\n\n  function reject() {\n    $scope.$emit('cart-solved', {card: c, status: 'reject'});\n  }\n\n  function view() {\n    $scope.$emit('cart-view', {card: c});\n  }\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-success : #5cb85c !default;&amp;#13;\n$pe-brand-warning : #f0ad4e !default;&amp;#13;\n$pe-brand-danger : #d9534f !default;&amp;#13;\n$pe-brand-info : #5bc0de !default;&amp;#13;\n&amp;#13;\n.encloser {&amp;#13;\n  .actual-card {&amp;#13;\n    clear: both;&amp;#13;\n    background: #fff;&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n    border: 1px solid #e6e8ea;&amp;#13;\n    .padd-it {&amp;#13;\n      .heading {&amp;#13;\n        font-size: 18px;&amp;#13;\n        font-weight: bold;&amp;#13;\n        color: #81878e;&amp;#13;\n        padding: 10px 15px;&amp;#13;\n        padding-bottom: 0px;&amp;#13;\n      }&amp;#13;\n      .details {&amp;#13;\n        padding: 10px 15px;&amp;#13;\n        padding-top: 0px;&amp;#13;\n        border-bottom: 1px solid #e6e8ea;&amp;#13;\n        overflow: hidden;&amp;#13;\n        .each-div {&amp;#13;\n          width: 50%;&amp;#13;\n          overflow: hidden;&amp;#13;\n          float: left;&amp;#13;\n        }&amp;#13;\n        .purpose {&amp;#13;\n          padding: 10px;&amp;#13;\n          display: flex;&amp;#13;\n          align-items: center;&amp;#13;\n          justify-content: flex-end;&amp;#13;\n          p {&amp;#13;\n            font-size: 15px;&amp;#13;\n            color: #81878e;&amp;#13;\n            margin-bottom: 0px;&amp;#13;\n            line-height: 1;&amp;#13;\n            margin-left: 10px;&amp;#13;\n            width: 75px;&amp;#13;\n          }&amp;#13;\n          .purpose-icon {&amp;#13;\n            color: $pe-brand-info;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .buttons {&amp;#13;\n      overflow: hidden;&amp;#13;\n      clear: both;&amp;#13;\n      .approve-button {&amp;#13;\n        color: $pe-brand-success;&amp;#13;\n        border-bottom: 3px solid $pe-brand-success;&amp;#13;\n      }&amp;#13;\n      .reject-button {&amp;#13;\n        color: $pe-brand-danger;&amp;#13;\n        border-bottom: 3px solid $pe-brand-danger;&amp;#13;\n      }&amp;#13;\n      .view-button {&amp;#13;\n        color: $pe-brand-warning;&amp;#13;\n        border-bottom: 3px solid $pe-brand-warning;&amp;#13;\n      }&amp;#13;\n      .each-button {&amp;#13;\n        width: 33.3%;&amp;#13;\n        float: left;&amp;#13;\n        padding: 15px 20px;&amp;#13;\n        text-align: center;&amp;#13;\n        border-right: solid 1px #e6e8ea;&amp;#13;\n        p {&amp;#13;\n          margin-bottom: 0px;&amp;#13;\n          font-size: 15px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .last-button {&amp;#13;\n        border-right: 0px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;Approval card widget, another widget called \"pe-people-info\" is embedded inside this widget&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-approval-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approval Card&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"Destination Services\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"purpose\",\"default_value\":\"Relocation Package\",\"label\":\"Purpose\",\"type\":\"string\"},{\"name\":\"icon\",\"default_value\":\"fa fa-bell fa-2x\",\"label\":\"Icon\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  options.title = input.title || options.title;\n  options.purpose =  input.purpose || options.purpose;\n  options.icon = input.icon || options.icon;\n  options.user = input.user;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 20:34:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;de98a0ae130db600d15e3d7ed144b08f&lt;/sys_id&gt;&lt;sys_mod_count&gt;146&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approval Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_de98a0ae130db600d15e3d7ed144b08f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-24 00:02:42&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"encloser\"&gt;\n  &lt;div class=\"actual-card\"&gt;\n    &lt;div class=\"padd-it\"&gt;\n      &lt;div class=\"heading\"&gt;\n        &lt;p&gt;{{::c.data.widget.title}}&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"details\"&gt;\n        &lt;div class=\"each-div\"&gt;\n          &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n        &lt;div class=\"purpose each-div\"&gt;\n          &lt;i class=\"{{c.data.widget.icon}} purpose-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n          &lt;p&gt;{{::c.data.widget.purpose}}&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"buttons\" ng-hide=\"c.hideActions\"&gt;\n\n      &lt;div class=\"each-button approve-button\" ng-click=\"c.approve();\"&gt;\n        &lt;p&gt;Accept&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"each-button reject-button\" ng-click=\"c.reject();\"&gt;\n        &lt;p&gt;Decline&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"each-button view-button last-button\" ng-click=\"c.view();\"&gt;\n        &lt;p&gt;View&lt;/p&gt;\n      &lt;/div&gt;\n\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"approval cards updated\">6b83b637db65f600ad01f9361d9619a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>2b83b637db65f600ad01f9361d9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<table/>\n<target_name>PE Approval Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-people-info-launch-connect</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:13:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3f9578813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:41</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"approval cards updated\">6b83b637db65f600ad01f9361d9619a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>2f83b637db65f600ad01f9361d9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4dc0d01fdbe1b600ad01f9361d961923</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ApprovalCardController(spUtil, $scope) {\n  var c = this;\n\n  var widget_param = {\n    title: c.data.task.short_description.display_value || c.options.title,\n    purpose: c.data.task.request_item.display_value || c.options.purpose,\n    icon: c.options.icon,\n    user: c.data.task.assigned_to.value\n  };\n\n  spUtil.get('pe-approval-card', widget_param).then(function (response) {\n    c.data.embedded_widget = response;\n  });\n\n  $scope.$on('cart-solved', function (event, param) {\n    c.server.get({action: param.status}).then(function () {\n      $scope.$broadcast('card-update', param);\n    })\n  });\n\n  $scope.$on('cart-view', function (event, param) {\n    // {table: \"x\", record: 'y'}\n  });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-success : #5cb85c !default;&amp;#13;\n$pe-brand-warning : #f0ad4e !default;&amp;#13;\n$pe-brand-danger : #d9534f !default;&amp;#13;\n$pe-brand-info : #5bc0de !default;&amp;#13;\n&amp;#13;\n.encloser {&amp;#13;\n  .actual-card {&amp;#13;\n    clear: both;&amp;#13;\n    background: #fff;&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n    border: 1px solid #e6e8ea;&amp;#13;\n    .padd-it {&amp;#13;\n      .heading {&amp;#13;\n        font-size: 18px;&amp;#13;\n        font-weight: bold;&amp;#13;\n        color: #81878e;&amp;#13;\n        padding: 10px 15px;&amp;#13;\n        padding-bottom: 0px;&amp;#13;\n      }&amp;#13;\n      .details {&amp;#13;\n        padding: 10px 15px;&amp;#13;\n        padding-top: 0px;&amp;#13;\n        border-bottom: 1px solid #e6e8ea;&amp;#13;\n        overflow: hidden;&amp;#13;\n        .each-div {&amp;#13;\n          width: 50%;&amp;#13;\n          overflow: hidden;&amp;#13;\n          float: left;&amp;#13;\n        }&amp;#13;\n        .purpose {&amp;#13;\n          padding: 10px;&amp;#13;\n          display: flex;&amp;#13;\n          align-items: center;&amp;#13;\n          justify-content: flex-end;&amp;#13;\n          p {&amp;#13;\n            font-size: 15px;&amp;#13;\n            color: #81878e;&amp;#13;\n            margin-bottom: 0px;&amp;#13;\n            line-height: 1;&amp;#13;\n            margin-left: 10px;&amp;#13;\n            width: 75px;&amp;#13;\n          }&amp;#13;\n          .purpose-icon {&amp;#13;\n            color: $pe-brand-info;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .buttons {&amp;#13;\n      overflow: hidden;&amp;#13;\n      clear: both;&amp;#13;\n      .approve-button {&amp;#13;\n        color: $pe-brand-success;&amp;#13;\n        border-bottom: 3px solid $pe-brand-success;&amp;#13;\n      }&amp;#13;\n      .reject-button {&amp;#13;\n        color: $pe-brand-danger;&amp;#13;\n        border-bottom: 3px solid $pe-brand-danger;&amp;#13;\n      }&amp;#13;\n      .view-button {&amp;#13;\n        color: $pe-brand-warning;&amp;#13;\n        border-bottom: 3px solid $pe-brand-warning;&amp;#13;\n      }&amp;#13;\n      .each-button {&amp;#13;\n        width: 33.3%;&amp;#13;\n        float: left;&amp;#13;\n        padding: 15px 20px;&amp;#13;\n        text-align: center;&amp;#13;\n        border-right: solid 1px #e6e8ea;&amp;#13;\n        p {&amp;#13;\n          margin-bottom: 0px;&amp;#13;\n          font-size: 15px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .last-button {&amp;#13;\n        border-right: 0px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-approval-card-with-approval-table&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approval Card With Approval Table&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"purpose\",\"default_value\":\"\",\"label\":\"Purpose\",\"type\":\"string\"},{\"name\":\"icon\",\"default_value\":\"fa fa-bell fa-2x\",\"label\":\"Icon\",\"type\":\"string\"},{\"displayValue\":\"Catalog Task\",\"name\":\"task_record\",\"label\":\"Task Record\",\"type\":\"reference\",\"value\":\"sc_task\",\"ed\":{\"reference\":\"sc_task\"}}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var task_sysid = options.task_record || input.task_record;\n  var taskGr = new GlideRecord('sc_task');\n  if (!taskGr.get(task_sysid)) {\n    return\n  }\n\n\n  if (input.action == 'approve') {\n    taskGr.approval = 'approved';\n    taskGr.update();\n    return;\n  }\n\n  if (input.action == 'reject') {\n    taskGr.approval = 'rejected';\n    taskGr.update();\n    return;\n  }\n\n  var obj = {};\n  $sp.getRecordElements(obj, taskGr, 'short_description,description,request_item,assigned_to');\n  data.task = obj;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-21 23:10:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4dc0d01fdbe1b600ad01f9361d961923&lt;/sys_id&gt;&lt;sys_mod_count&gt;90&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approval Card With Approval Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4dc0d01fdbe1b600ad01f9361d961923&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-24 00:18:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"approval cards updated\">6b83b637db65f600ad01f9361d9619a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>6783b637db65f600ad01f9361d9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<table/>\n<target_name>PE Approval Card With Approval Table</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_11f38daa134db600d15e3d7ed144b0fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n  padding: 10px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  width: 100%;\n  float: left;\n  margin: 0px;\n  .media-body {\n    width: 100%;\n    .people_name_title {\n      .title {\n        font-size: 15px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #81878e;\n      }\n      .subtitle {\n        font-size: 13px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #a8abaf;\n      }\n    }\n  }\n  .media-left {\n    .list__photo {\n      width: 35px;\n      height: 35px;\n    }\n    .initials-badge {\n      min-width: 36px;\n      float: left;\n      margin-top: 0px;\n      border-radius: 50%;\n      line-height: 1;\n      font-size: 14px;\n      margin-left: 0px;\n      padding: 10px 10px;\n      font-weight: 300;\n      background: #AEB2B3;\n    }\n  }\n  .media-right {\n    width: 40%;\n    .fa-color {\n      color: $pe-brand-primary;\n      margin-right: 10px;\n    }\n  }\n}\n\n.show-text-bottom {\n  margin: 0px;\n  top: 50px;\n  .people_name_title {\n    .title {\n      margin-top: 0px;\n      font-size: 15px;\n      font-weight: normal;\n      margin-bottom: 0px;\n      color: #81878e;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;People Info widget for displaying user avatar, name, titile with call/chat functionality.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-people-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Info&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"name\":\"show_text_below_picture\",\"default_value\":\"false\",\"label\":\"Show Text Below Picture\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.user_sys_id = input.user_sys_id || options.user_sys_id;\n\n  var getBoolValue = function (inputVal, optionVal) {\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      if (typeof optionVal === 'string') {\n        return (optionVal === 'true');\n      } else {\n        return (optionVal === true);\n      }\n    } else {\n      if (typeof inputVal === 'string') {\n        return (inputVal === 'true');\n      } else {\n        return (inputVal === true);\n      }\n    }\n  };\n\n\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\n  data.show_only_picture = getBoolValue(input.show_only_picture, options.show_only_picture);\n  data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n  data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n  data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 22:35:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;11f38daa134db600d15e3d7ed144b0fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;224&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_11f38daa134db600d15e3d7ed144b0fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-24 00:09:09&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"media people-card-media\" ng-style=\"data.show_text_below_picture == true ? { 'padding-bottom':'2px' } : { 'padding-bottom':'10px' }\"&gt;\n  &lt;div class=\"media-left\"&gt;\n    &lt;div class=\"person-photo\"&gt;\n      &lt;img ng-if=\"data.user_photo\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n        &lt;span class=\"\"&gt;{{::data.user_initials}}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"!data.show_only_picture &amp;&amp; !data.show_text_below_picture\" class=\"media-body\"&gt;\n    &lt;div class=\"people_name_title\"&gt;\n      &lt;h4 class=\"media-heading title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n      &lt;h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\"&gt;{{::data.user_job_title}}&lt;/h4&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media-right\" ng-if=\"data.show_call_and_chat\"&gt;\n    &lt;i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.show_text_below_picture &amp;&amp; !data.show_text_below_picture\" class=\"show-text-bottom\"&gt;\n  &lt;div class=\"people_name_title\"&gt;\n    &lt;h4 class=\"title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"approval cards updated\">6b83b637db65f600ad01f9361d9619a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>a383b637db65f600ad01f9361d9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<table/>\n<target_name>PE People Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-people-info-launch-connect-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function openChat(elem) {\n\n\n    console.log('***** Opening Chat w/ ' + elem.id);\n    var requestBody = '';\n    var client = new XMLHttpRequest();\n\n\n    var url = \"/api/snc/pe_people_info_launch_connect/launch?user_id=\" + elem.id;\n    client.open(\"get\", url, false);\n    client.setRequestHeader('Accept', 'application/json');\n    client.setRequestHeader('Content-Type', 'application/json');\n    client.setRequestHeader('X-UserToken', window.g_ck);\n    client.send(requestBody);\n    if (client.status === 200) {\n        var liveProfileID = JSON.parse(client.response).result;\n        console.log('**** Channel ID received ' + liveProfileID.profile_id);\n        url = '/$c.do#?user=' + liveProfileID.profile_id;\n        window.open(url, \"_blank\");\n    } else {\n        console.log('**** No Channel ID received.');\n        url = '/$c.do';\n        window.open(url, \"_blank\");\n    }\n}\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:55:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch-connect-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:10:59&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"approval cards updated\">6b83b637db65f600ad01f9361d9619a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>eb83b637db65f600ad01f9361d9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-people-info-launch-connect</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7a1a978813dd7a007e94fc5ed144b0fd</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-people-info-launch-connect-ui-script\">9ff4d7c413dd7a007e94fc5ed144b0e7</sys_ui_script><sys_update_name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:57</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"approval cards updated\">6b83b637db65f600ad01f9361d9619a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-24 00:18:35</sys_created_on>\n<sys_id>ef83b637db65f600ad01f9361d9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-24 00:18:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/widget/pe-approval-card-with-approval-table.u-body-html-template.html",
    "content": "<sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\n"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/widget/pe-approval-card-with-approval-table.u-client-script.js",
    "content": "function ApprovalCardController(spUtil, $scope) {\n  var c = this;\n\n  var widget_param = {\n    title: c.data.task.short_description.display_value || c.options.title,\n    purpose: c.data.task.request_item.display_value || c.options.purpose,\n    icon: c.options.icon,\n    user: c.data.task.assigned_to.value\n  };\n\n\n  spUtil.get('pe-approval-card', widget_param).then(function (response) {\n    c.data.embedded_widget = response;\n  });\n\n  $scope.$on('cart-solved', function (event, param) {\n    c.server.get({action: param.status}).then(function () {\n      $scope.$broadcast('card-update', param);\n    })\n  });\n\n\n  $scope.$on('cart-view', function (event, param) {\n    // {table: \"x\", record: 'y'}\n  });\n}"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/widget/pe-approval-card-with-approval-table.u-css.css",
    "content": ""
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/widget/pe-approval-card-with-approval-table.u-option-schema.json",
    "content": "[{\"name\":\"title\",\"default_value\":\"\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"purpose\",\"default_value\":\"\",\"label\":\"Purpose\",\"type\":\"string\"},{\"name\":\"icon\",\"default_value\":\"fa fa-bell fa-2x\",\"label\":\"Icon\",\"type\":\"string\"},{\"displayValue\":\"Catalog Task\",\"name\":\"task_record\",\"label\":\"Task Record\",\"type\":\"reference\",\"value\":\"sc_task\",\"ed\":{\"reference\":\"sc_task\"}}]"
  },
  {
    "path": "approve-card/pe-approval-card-with-approval-table/widget/pe-approval-card-with-approval-table.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var task_sysid = options.task_record || input.task_record;\n  var taskGr = new GlideRecord('sc_task');\n  if (!taskGr.get(task_sysid)) {\n    return\n  }\n\n\n  if (input.action == 'approve') {\n    taskGr.approval = 'approved';\n    taskGr.update();\n    return;\n  }\n\n  if (input.action == 'reject') {\n    taskGr.approval = 'rejected';\n    taskGr.update();\n    return;\n  }\n\n  var obj = {};\n  $sp.getRecordElements(obj, taskGr, 'short_description,description,request_item,assigned_to');\n  data.task = obj;\n})();"
  },
  {
    "path": "approve-card/pe-approve-reject-card-with-collapse/Readme.md",
    "content": "# Approve Reject Inbox\n\n## Description\n\nThis widget can be used to create a simple expandable inbox containing cards.\n\n## Screenshots\n![alt text](../../images/pe-approve-reject-inbox.png \"Approve Reject Inbox\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-approve-reject-card-with-collapse.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/approve-card/pe-approve-reject-card-with-collapse/pe-approve-reject-card-with-collapse.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Card Data\"** the default message for this is a sample JSON object.\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "approve-card/pe-approve-reject-card-with-collapse/pe-approve-reject-card-with-collapse.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-14 01:39:53\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Approve Reject Card</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>31d56fe013613600d15e3d7ed144b0cf</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>c146a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_cb8b6a6013edf200d15e3d7ed144b0c0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ApproveRejectInbox(spUtil) {\n  /* widget controller */\n  var c = this;\n  c.graphdata = {};\n  c.graphdata = {\n    widget_heading: 'cloud budget',\n    left_info: {\n      icon: 'dollar-bag.png',\n      number: '$230K',\n      number_text: 'Spent'\n\n    },\n    right_info: {\n      type: 'bar',\n      bar_title: '5 days to $0',\n      remaining: 46,\n      total: 276\n    },\n    card_header: 'budget requests',\n    approvals: [{\n        title: 'Budget Request',\n        sub_title: 'Engineering',\n        attention_text: 'Tier 1',\n        attention_icon: 'fa-exclamation-circle',\n        big_text: '$25k',\n        state: 'pending',\n        //big_text_icon: 'fa-money'\n        big_text_icon: 'coins.png'\n      }\n\n    ],\n\n    graph_numbers: [{\n      color: '#132347',\n      width: '60%',\n      info_text: 'AWS'\n      //info_number: '14'\n    }, {\n      color: '#1c5b7d',\n      width: '20%',\n      info_text: 'AZURE'\n      //info_number: '12'\n    }, {\n      color: '#96c6c8',\n      width: '20%',\n      info_text: 'VMW'\n      //info_number: '14'\n    }]\n  };\n\n  spUtil.get('pe-approve-reject-card', {\n    card_data: c.card_data\n  }).then(function (response) {\n    c.data.embedded_widget = response;\n  });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;body {\n  background: #D7D7D7;\n}\n\nbody.fixed-header section.page,\nbody.fixed-footer section.page {\n  background: #d7d7d7;\n  height: 100%;\n}\n\n\n/** approve rejct ***/\n\n.row:before,\n.row:after {\n  display: block;\n}\n\n.whole-div {\n  margin-bottom: 10px;\n}\n\n.approve-reject {\n  //margin-right: 10px;\n  //margin-left: 10px;\n  background: #f9f9f9;\n  clear: both;\n  .bg-light {\n    background: #f9f9f9;\n  }\n  .bg-white {\n    background: #fff;\n  }\n  .header {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 13px;\n    background: #fff;\n    border-top: 1px solid #e9e9e9;\n    color: #485562;\n    // margin-left: -10px;\n    // margin-right: -10px;\n    .expand-icon {\n      .fa {\n        transition: transform .5s;\n        color: #199cdb;\n        margin-left: 10px;\n        font-size: 20px;\n      }\n      .fa-plus-rotate {\n        transform: rotate(135deg);\n      }\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .title {\n      display: flex;\n      .text {\n        padding-top: 2px;\n      }\n      .card-header {\n        text-transform: uppercase;\n      }\n      .badge {\n        margin-left: 5px;\n        color: #fff;\n        background: #ee525e;\n      }\n    }\n  }\n  .panel-default {\n    border: 0px;\n    .panel-heading {\n      padding: 0px;\n      // color: #000;\n      background: #fff;\n      border: 0px;\n    }\n  }\n  .panel {\n    border-radius: 0px !important;\n    margin-bottom: 0px;\n    background: #fff;\n    border: 0px;\n    border-radius: 0px;\n    box-shadow: none;\n  }\n  .panel-body {\n    padding: 0px;\n    border: 0px;\n    border-top: 0px !important;\n  }\n  .panel-group {\n    margin-bottom: 10px;\n  }\n  .body-wrapper {\n    margin: 10px;\n    margin-bottom: 0px;\n    background: #fff;\n  }\n  .body {\n    background: #D7D7D7;\n    // margin-bottom: 10px;\n    border: 1px solid #e6e6e6;\n    p {\n      margin-bottom: 0px;\n    }\n    .card {\n      padding: 10px;\n      .first-line {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        .title {\n          font-size: 24px;\n          font-weight: 500;\n          color: #000;\n        }\n        .attn-text {\n          font-size: 16px;\n          display: flex;\n          align-items: center;\n          p {\n            padding-right: 5px;\n            color: #ed5460;\n          }\n          .attn-icon {\n            color: #ed5460;\n          }\n        }\n      }\n      .second-line {\n        display: flex;\n        align-items: flex-start;\n        justify-content: space-between;\n        .sub-title {\n          p {\n            color: #e6e6e6;\n          }\n        }\n        .right-side {\n          display: flex;\n          align-items: center;\n          p {\n            font-size: 36px;\n            padding-left: 5px;\n            color: #000;\n          }\n          .icon {\n            color: #000;\n            img {\n              height: 35px;\n            }\n            .fa {\n              font-size: 24px;\n            }\n          }\n        }\n      }\n    }\n    .buttons {\n      border-top: 1px solid #ddd;\n      button {\n        width: 32%;\n        text-align: center;\n        text-transform: uppercase;\n        background: inherit;\n        border-radius: 0px;\n        .fa {\n          margin-right: 2px;\n        }\n      }\n      .approve-btn {\n        &amp;amp;:active {\n          color: #2abd68;\n        }\n      }\n      .view-btn {\n        color: #199cdb;\n        &amp;amp;:active {\n          color: #199cdb;\n        }\n      }\n      .middle-btn {\n        &amp;amp;:active {\n          color: #ed5460;\n        }\n        border-left: 1px solid #ddd;\n        border-right: 1px solid #ddd;\n      }\n    }\n    .automatic-approval {\n      display: flex;\n      .criteria-met {\n        color: #2abd68;\n        font-size: 12px;\n        .fa {\n          margin-left: 5px;\n        }\n      }\n      button {\n        text-align: center;\n        text-transform: uppercase;\n        background: inherit;\n        border-radius: 0px;\n        .fa {\n          margin-right: 2px;\n        }\n      }\n      .approve-btn {\n        width: 60%;\n        border-top: 1px solid #ddd;\n        border-right: 1px solid #ddd;\n        &amp;amp;:active {\n          color: #2abd68;\n        }\n      }\n      .view-btn {\n        width: 40%;\n        color: #199cdb;\n        border-top: 1px solid #ddd;\n        &amp;amp;:active {\n          color: #199cdb;\n        }\n      }\n    }\n    .criteria-details {\n      padding: 10px;\n      p {\n        margin-bottom: 0px;\n      }\n      .header {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        color: #9f9f9f;\n        padding: 0px;\n        border-top: 0px;\n        .heading {\n          font-size: 20px;\n        }\n      }\n      .sub_title {\n        font-size: 14px;\n        color: #9f9f9f;\n      }\n      .all-criterias {\n        padding-top: 10px;\n        .title {\n          text-transform: uppercase;\n          font-size: 14px;\n          color: #000;\n        }\n        .each-criteria {\n          font-size: 18px;\n          color: #000;\n          .fa {\n            font-size: 20px;\n            margin-right: 10px;\n            color: #2abd68;\n          }\n        }\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-approve-reject-inbox&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approve Reject Inbox&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"card_data\",\"default_value\":\"{     \\\"title\\\": \\\"BudgetRequest\\\",     \\\"sub_title\\\": \\\"Engineering\\\",     \\\"attention_text\\\": \\\"Tier1\\\",     \\\"attention_icon\\\": \\\"fa-exclamation-circle\\\",     \\\"big_text\\\": \\\"$25k\\\",     \\\"state\\\": \\\"pending\\\",     \\\"big_text_icon\\\": \\\"coins.png\\\"   }\",\"label\":\"Card Data\",\"type\":\"json\",\"mandatory\":true}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.card_data = input.card_data || options.card_data;\n  data.card_data = JSON.parse(data.card_data);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 21:53:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cb8b6a6013edf200d15e3d7ed144b0c0&lt;/sys_id&gt;&lt;sys_mod_count&gt;42&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approve Reject Inbox&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_cb8b6a6013edf200d15e3d7ed144b0c0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 01:39:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"approve-reject\"&gt;\n  &lt;div uib-accordion=\"\"&gt;\n    &lt;div uib-accordion-group=\"\" class=\"panel-default\" is-open=\"c.graphdata.status\"&gt;\n      &lt;div uib-accordion-heading=\"\"&gt;\n        &lt;div class=\"header\" ng-class=\"{'bg-white': c.graphdata.status, 'bg-light': !c.graphdata.status}\"&gt;\n          &lt;div class=\"title\"&gt;\n            &lt;p class=\"text-fourteen card-header\"&gt;{{::c.graphdata.card_header}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"expand-icon\"&gt;\n            &lt;i class=\"fa fa-plus-circle\" ng-class=\"{'fa-plus-rotate': c.graphdata.status}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"body\"&gt;\n&lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Approve Reject Card\">c146a32413613600d15e3d7ed144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>0d46a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<table/>\n<target_name>PE Approve Reject Inbox</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0f7b432013213600d15e3d7ed144b0ca</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ApproveRejectCard() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;&amp;#13;\n/** approve rejct ***/&amp;#13;\n&amp;#13;\n.row:before,&amp;#13;\n.row:after {&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.whole-div {&amp;#13;\n  margin-bottom: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.green-text {&amp;#13;\n    color: #2abd68 !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.red-text {&amp;#13;\n    color: #ff3d00 !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.approve-reject {&amp;#13;\n  background: #f9f9f9;&amp;#13;\n  clear: both;&amp;#13;\n  .bg-light {&amp;#13;\n    background: #f9f9f9;&amp;#13;\n  }&amp;#13;\n  .bg-white {&amp;#13;\n    background: #fff;&amp;#13;\n  }&amp;#13;\n  .header {&amp;#13;\n    display: flex;&amp;#13;\n    align-items: center;&amp;#13;\n    justify-content: center;&amp;#13;\n    padding: 13px;&amp;#13;\n    background: #fff;&amp;#13;\n    border-top: 1px solid #e9e9e9;&amp;#13;\n    color: #485562;&amp;#13;\n    .expand-icon {&amp;#13;\n      .fa {&amp;#13;\n        transition: transform .5s;&amp;#13;\n        color: #199cdb;&amp;#13;\n        margin-left: 10px;&amp;#13;\n        font-size: 20px;&amp;#13;\n      }&amp;#13;\n      .fa-plus-rotate {&amp;#13;\n        transform: rotate(135deg);&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    p {&amp;#13;\n      margin-bottom: 0px;&amp;#13;\n    }&amp;#13;\n    .title {&amp;#13;\n      display: flex;&amp;#13;\n      .text {&amp;#13;\n        padding-top: 2px;&amp;#13;\n      }&amp;#13;\n      .card-header {&amp;#13;\n        text-transform: uppercase;&amp;#13;\n      }&amp;#13;\n      .badge {&amp;#13;\n        margin-left: 5px;&amp;#13;\n        color: #fff;&amp;#13;\n        background: #ee525e;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel-default {&amp;#13;\n    border: 0px;&amp;#13;\n    .panel-heading {&amp;#13;\n      padding: 0px;&amp;#13;\n      // color: #000;&amp;#13;\n      background: #fff;&amp;#13;\n      border: 0px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel {&amp;#13;\n    border-radius: 0px !important;&amp;#13;\n    margin-bottom: 0px;&amp;#13;\n    background: #fff;&amp;#13;\n    border: 0px;&amp;#13;\n    border-radius: 0px;&amp;#13;\n    box-shadow: none;&amp;#13;\n  }&amp;#13;\n  .panel-body {&amp;#13;\n    padding: 0px;&amp;#13;\n    border: 0px;&amp;#13;\n    border-top: 0px !important;&amp;#13;\n  }&amp;#13;\n  .panel-group {&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n  }&amp;#13;\n  .body-wrapper {&amp;#13;\n    background: #fff;&amp;#13;\n  }&amp;#13;\n  .body {&amp;#13;\n    background: #D7D7D7;&amp;#13;\n    // margin-bottom: 10px;&amp;#13;\n    border: 1px solid #e6e6e6;&amp;#13;\n    p {&amp;#13;\n      margin-bottom: 0px;&amp;#13;\n    }&amp;#13;\n    .card {&amp;#13;\n      padding: 10px;&amp;#13;\n      .first-line {&amp;#13;\n        display: flex;&amp;#13;\n        align-items: center;&amp;#13;\n        justify-content: space-between;&amp;#13;\n        .title {&amp;#13;\n          font-size: 24px;&amp;#13;\n          font-weight: 500;&amp;#13;\n          color: #000;&amp;#13;\n        }&amp;#13;\n        .attn-text {&amp;#13;\n          font-size: 16px;&amp;#13;\n          display: flex;&amp;#13;\n          align-items: center;&amp;#13;\n          p {&amp;#13;\n            padding-right: 5px;&amp;#13;\n            color: #ed5460;&amp;#13;\n          }&amp;#13;\n          .attn-icon {&amp;#13;\n            color: #ed5460;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .second-line {&amp;#13;\n        display: flex;&amp;#13;\n        align-items: flex-start;&amp;#13;\n        justify-content: space-between;&amp;#13;\n        .sub-title {&amp;#13;\n          p {&amp;#13;\n            color: #e6e6e6;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n        .right-side {&amp;#13;\n          display: flex;&amp;#13;\n          align-items: center;&amp;#13;\n          p {&amp;#13;\n            font-size: 36px;&amp;#13;\n            padding-left: 5px;&amp;#13;\n            color: #000;&amp;#13;\n          }&amp;#13;\n          .icon {&amp;#13;\n            color: #000;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .buttons {&amp;#13;\n      border-top: 1px solid #ddd;&amp;#13;\n      button {&amp;#13;\n        width: 32%;&amp;#13;\n        text-align: center;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n        background: inherit;&amp;#13;\n        border-radius: 0px;&amp;#13;\n        .fa {&amp;#13;\n          margin-right: 2px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .approve-btn {&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #2abd68;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .view-btn {&amp;#13;\n        color: #199cdb;&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #199cdb;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .middle-btn {&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #ed5460;&amp;#13;\n        }&amp;#13;\n        border-left: 1px solid #ddd;&amp;#13;\n        border-right: 1px solid #ddd;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .automatic-approval {&amp;#13;\n      display: flex;&amp;#13;\n      .criteria-met {&amp;#13;\n        color: #2abd68;&amp;#13;\n        font-size: 12px;&amp;#13;\n        .fa {&amp;#13;\n          margin-left: 5px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      button {&amp;#13;\n        text-align: center;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n        background: inherit;&amp;#13;\n        border-radius: 0px;&amp;#13;\n        .fa {&amp;#13;\n          margin-right: 2px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .approve-btn {&amp;#13;\n        width: 60%;&amp;#13;\n        border-top: 1px solid #ddd;&amp;#13;\n        border-right: 1px solid #ddd;&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #2abd68;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .view-btn {&amp;#13;\n        width: 40%;&amp;#13;\n        color: #199cdb;&amp;#13;\n        border-top: 1px solid #ddd;&amp;#13;\n        &amp;amp;:active {&amp;#13;\n          color: #199cdb;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .criteria-details {&amp;#13;\n      padding: 10px;&amp;#13;\n      p {&amp;#13;\n        margin-bottom: 0px;&amp;#13;\n      }&amp;#13;\n      .header {&amp;#13;\n        display: flex;&amp;#13;\n        align-items: center;&amp;#13;\n        justify-content: space-between;&amp;#13;\n        color: #9f9f9f;&amp;#13;\n        padding: 0px;&amp;#13;\n        border-top: 0px;&amp;#13;\n        .heading {&amp;#13;\n          font-size: 20px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .sub_title {&amp;#13;\n        font-size: 14px;&amp;#13;\n        color: #9f9f9f;&amp;#13;\n      }&amp;#13;\n      .all-criterias {&amp;#13;\n        padding-top: 10px;&amp;#13;\n        .title {&amp;#13;\n          text-transform: uppercase;&amp;#13;\n          font-size: 14px;&amp;#13;\n          color: #000;&amp;#13;\n        }&amp;#13;\n        .each-criteria {&amp;#13;\n          font-size: 18px;&amp;#13;\n          color: #000;&amp;#13;\n          .fa {&amp;#13;\n            font-size: 20px;&amp;#13;\n            margin-right: 10px;&amp;#13;\n            color: #2abd68;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-approve-reject-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Approve Reject Card&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"card_data\",\"default_value\":\"{     \\\"title\\\": \\\"BudgetRequest\\\",     \\\"sub_title\\\": \\\"Engineering\\\",     \\\"attention_text\\\": \\\"Tier1\\\",     \\\"attention_icon\\\": \\\"fa-exclamation-circle\\\",     \\\"big_text\\\": \\\"$25k\\\",     \\\"state\\\": \\\"pending\\\",     \\\"big_text_icon\\\": \\\"coins.png\\\"   }\",\"label\":\"Card Data\",\"type\":\"json\",\"mandatory\":true}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.cardData = input.card_data || options.card_data;\n  data.cardData = JSON.parse(data.cardData);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 23:44:22&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0f7b432013213600d15e3d7ed144b0ca&lt;/sys_id&gt;&lt;sys_mod_count&gt;59&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Approve Reject Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0f7b432013213600d15e3d7ed144b0ca&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 01:39:00&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"approve-reject\"&gt;\n  &lt;div class=\"body\"&gt;\n    &lt;div class=\"body-wrapper\"&gt;\n      &lt;div class=\"card\"&gt;\n        &lt;div class=\"first-line\"&gt;\n\n          &lt;p class=\"title\"&gt;{{::data.cardData.title}}&lt;/p&gt;\n          &lt;div class=\"attn-text\" ng-show=\"data.cardData.type != 'automatic'\"&gt;\n            &lt;p class=\"text-twelve text-upper\"&gt;{{::data.cardData.attention_text}}&lt;/p&gt;\n            &lt;span class=\"attn-icon\"&gt;&lt;i class=\"fa fa-2x\" ng-class=\"data.cardData.attention_icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/span&gt;\n          &lt;/div&gt;\n          &lt;div ng-show=\"data.cardData.type == 'automatic'\"&gt;\n\n            &lt;p class=\"text-thirtysix\"&gt;{{::data.cardData.big_text}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"second-line\"&gt;\n          &lt;p class=\"sub-title text-sixteen text-upper\"&gt;{{::data.cardData.sub_title}}&lt;/p&gt;\n          &lt;div class=\"right-side\" ng-show=\"data.cardData.type != 'automatic'\"&gt;\n            &lt;span class=\"icon\"&gt;\n  &lt;i class=\"fa fa-money fa-2x\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/span&gt;\n\n            &lt;p class=\"text-thirtysix\"&gt;{{::data.cardData.big_text}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;div&gt;\n        &lt;div ng-show=\"data.cardData.type != 'automatic'\" class=\"buttons\"&gt;\n          &lt;button class=\"approve-btn btn green-text\" ng-click=\"approve(data.cardData)\"&gt;&lt;i class=\"fa fa-check\" aria-hidden=\"true\"&gt;&lt;/i&gt;approve&lt;/button&gt;\n          &lt;button class=\"btn middle-btn red-text\" ng-click=\"reject(data.cardData)\"&gt;&lt;i class=\"fa fa-times\" aria-hidden=\"true\"&gt;&lt;/i&gt;reject&lt;/button&gt;\n          &lt;button class=\"view-btn btn\"&gt;&lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;view&lt;/button&gt;\n        &lt;/div&gt;\n        &lt;div ng-show=\"data.cardData.type == 'automatic'\" class=\"automatic-approval\"&gt;\n          &lt;button class=\"approve-btn btn green-text\"&gt;&lt;i class=\"fa fa-check\" aria-hidden=\"true\"&gt;&lt;/i&gt;approved by stystem&lt;/button&gt;\n          &lt;button class=\"view-btn btn\" ng-click=\"data.cardData.showCriteria = true\"&gt;\n  &lt;div class=\"criteria-met\"&gt;\n  &lt;p&gt;criteria met &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div&gt;\n  &lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;span&gt;view&lt;/span&gt;\n  &lt;/div&gt;\n\n  &lt;/button&gt;\n        &lt;/div&gt;\n\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Approve Reject Card\">c146a32413613600d15e3d7ed144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>4946a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<table/>\n<target_name>PE Approve Reject Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3d4af22813edf200d15e3d7ed144b0d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"DELETE\"><sp_dependency display_value=\"donutDirective\">b44ab62813edf200d15e3d7ed144b0d4</sp_dependency><sp_widget display_value=\"PE Approve Reject Inbox\">cb8b6a6013edf200d15e3d7ed144b0c0</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-13 22:27:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3d4af22813edf200d15e3d7ed144b0d3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.PE Approve Reject Inbox</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3d4af22813edf200d15e3d7ed144b0d3</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-13 22:27:41</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Approve Reject Card\">c146a32413613600d15e3d7ed144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-14 01:39:53</sys_created_on>\n<sys_id>8546a32413613600d15e3d7ed144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-14 01:39:53</sys_updated_on>\n<table/>\n<target_name>donutDirective.PE Approve Reject Inbox</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "approve-card/pe-approve-reject-card-with-collapse/widget/pe-approve-reject-card-with-collapse.u-body-html-template.html",
    "content": "<div class=\"approve-reject\">\r\n  <div uib-accordion=\"\">\r\n    <div uib-accordion-group=\"\" class=\"panel-default\" is-open=\"c.graphdata.status\">\r\n      <div uib-accordion-heading=\"\">\r\n        <div class=\"header\" ng-class=\"{'bg-white': c.graphdata.status, 'bg-light': !c.graphdata.status}\">\r\n          <div class=\"title\">\r\n            <p class=\"text-fourteen card-header\">{{::c.graphdata.card_header}}</p>\r\n          </div>\r\n          <div class=\"expand-icon\">\r\n            <i class=\"fa fa-plus-circle\" ng-class=\"{'fa-plus-rotate': c.graphdata.status}\" aria-hidden=\"true\"></i>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"body\">\r\n<sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>"
  },
  {
    "path": "approve-card/pe-approve-reject-card-with-collapse/widget/pe-approve-reject-card-with-collapse.u-client-script.js",
    "content": "function ApproveRejectInbox(spUtil) {\r\n  /* widget controller */\r\n  var c = this;\r\n  c.graphdata = {};\r\n  c.graphdata = {\r\n    widget_heading: 'cloud budget',\r\n    left_info: {\r\n      icon: 'dollar-bag.png',\r\n      number: '$230K',\r\n      number_text: 'Spent'\r\n\r\n    },\r\n    right_info: {\r\n      type: 'bar',\r\n      bar_title: '5 days to $0',\r\n      remaining: 46,\r\n      total: 276\r\n    },\r\n    card_header: 'budget requests',\r\n    approvals: [{\r\n        title: 'Budget Request',\r\n        sub_title: 'Engineering',\r\n        attention_text: 'Tier 1',\r\n        attention_icon: 'fa-exclamation-circle',\r\n        big_text: '$25k',\r\n        state: 'pending',\r\n        //big_text_icon: 'fa-money'\r\n        big_text_icon: 'coins.png'\r\n      }\r\n\r\n    ],\r\n\r\n    graph_numbers: [{\r\n      color: '#132347',\r\n      width: '60%',\r\n      info_text: 'AWS'\r\n      //info_number: '14'\r\n    }, {\r\n      color: '#1c5b7d',\r\n      width: '20%',\r\n      info_text: 'AZURE'\r\n      //info_number: '12'\r\n    }, {\r\n      color: '#96c6c8',\r\n      width: '20%',\r\n      info_text: 'VMW'\r\n      //info_number: '14'\r\n    }]\r\n  };\r\n\r\n  spUtil.get('pe-approve-reject-card', {\r\n    card_data: c.card_data\r\n  }).then(function (response) {\r\n    c.data.embedded_widget = response;\r\n  });\r\n}"
  },
  {
    "path": "approve-card/pe-approve-reject-card-with-collapse/widget/pe-approve-reject-card-with-collapse.u-css.scss",
    "content": "body {\n  background: #D7D7D7;\n}\n\nbody.fixed-header section.page,\nbody.fixed-footer section.page {\n  background: #d7d7d7;\n  height: 100%;\n}\n\n\n/** approve rejct ***/\n\n.row:before,\n.row:after {\n  display: block;\n}\n\n.whole-div {\n  margin-bottom: 10px;\n}\n\n.approve-reject {\n  //margin-right: 10px;\n  //margin-left: 10px;\n  background: #f9f9f9;\n  clear: both;\n  .bg-light {\n    background: #f9f9f9;\n  }\n  .bg-white {\n    background: #fff;\n  }\n  .header {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 13px;\n    background: #fff;\n    border-top: 1px solid #e9e9e9;\n    color: #485562;\n    // margin-left: -10px;\n    // margin-right: -10px;\n    .expand-icon {\n      .fa {\n        transition: transform .5s;\n        color: #199cdb;\n        margin-left: 10px;\n        font-size: 20px;\n      }\n      .fa-plus-rotate {\n        transform: rotate(135deg);\n      }\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .title {\n      display: flex;\n      .text {\n        padding-top: 2px;\n      }\n      .card-header {\n        text-transform: uppercase;\n      }\n      .badge {\n        margin-left: 5px;\n        color: #fff;\n        background: #ee525e;\n      }\n    }\n  }\n  .panel-default {\n    border: 0px;\n    .panel-heading {\n      padding: 0px;\n      // color: #000;\n      background: #fff;\n      border: 0px;\n    }\n  }\n  .panel {\n    border-radius: 0px !important;\n    margin-bottom: 0px;\n    background: #fff;\n    border: 0px;\n    border-radius: 0px;\n    box-shadow: none;\n  }\n  .panel-body {\n    padding: 0px;\n    border: 0px;\n    border-top: 0px !important;\n  }\n  .panel-group {\n    margin-bottom: 10px;\n  }\n  .body-wrapper {\n    margin: 10px;\n    margin-bottom: 0px;\n    background: #fff;\n  }\n  .body {\n    background: #D7D7D7;\n    // margin-bottom: 10px;\n    border: 1px solid #e6e6e6;\n    p {\n      margin-bottom: 0px;\n    }\n    .card {\n      padding: 10px;\n      .first-line {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        .title {\n          font-size: 24px;\n          font-weight: 500;\n          color: #000;\n        }\n        .attn-text {\n          font-size: 16px;\n          display: flex;\n          align-items: center;\n          p {\n            padding-right: 5px;\n            color: #ed5460;\n          }\n          .attn-icon {\n            color: #ed5460;\n          }\n        }\n      }\n      .second-line {\n        display: flex;\n        align-items: flex-start;\n        justify-content: space-between;\n        .sub-title {\n          p {\n            color: #e6e6e6;\n          }\n        }\n        .right-side {\n          display: flex;\n          align-items: center;\n          p {\n            font-size: 36px;\n            padding-left: 5px;\n            color: #000;\n          }\n          .icon {\n            color: #000;\n            img {\n              height: 35px;\n            }\n            .fa {\n              font-size: 24px;\n            }\n          }\n        }\n      }\n    }\n    .buttons {\n      border-top: 1px solid #ddd;\n      button {\n        width: 32%;\n        text-align: center;\n        text-transform: uppercase;\n        background: inherit;\n        border-radius: 0px;\n        .fa {\n          margin-right: 2px;\n        }\n      }\n      .approve-btn {\n        &:active {\n          color: #2abd68;\n        }\n      }\n      .view-btn {\n        color: #199cdb;\n        &:active {\n          color: #199cdb;\n        }\n      }\n      .middle-btn {\n        &:active {\n          color: #ed5460;\n        }\n        border-left: 1px solid #ddd;\n        border-right: 1px solid #ddd;\n      }\n    }\n    .automatic-approval {\n      display: flex;\n      .criteria-met {\n        color: #2abd68;\n        font-size: 12px;\n        .fa {\n          margin-left: 5px;\n        }\n      }\n      button {\n        text-align: center;\n        text-transform: uppercase;\n        background: inherit;\n        border-radius: 0px;\n        .fa {\n          margin-right: 2px;\n        }\n      }\n      .approve-btn {\n        width: 60%;\n        border-top: 1px solid #ddd;\n        border-right: 1px solid #ddd;\n        &:active {\n          color: #2abd68;\n        }\n      }\n      .view-btn {\n        width: 40%;\n        color: #199cdb;\n        border-top: 1px solid #ddd;\n        &:active {\n          color: #199cdb;\n        }\n      }\n    }\n    .criteria-details {\n      padding: 10px;\n      p {\n        margin-bottom: 0px;\n      }\n      .header {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        color: #9f9f9f;\n        padding: 0px;\n        border-top: 0px;\n        .heading {\n          font-size: 20px;\n        }\n      }\n      .sub_title {\n        font-size: 14px;\n        color: #9f9f9f;\n      }\n      .all-criterias {\n        padding-top: 10px;\n        .title {\n          text-transform: uppercase;\n          font-size: 14px;\n          color: #000;\n        }\n        .each-criteria {\n          font-size: 18px;\n          color: #000;\n          .fa {\n            font-size: 20px;\n            margin-right: 10px;\n            color: #2abd68;\n          }\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "approve-card/pe-approve-reject-card-with-collapse/widget/pe-approve-reject-card-with-collapse.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  data.card_data = input.card_data || options.card_data;\r\n  data.card_data = JSON.parse(data.card_data);\r\n})();"
  },
  {
    "path": "docs/CONTRIBUTING.md",
    "content": "# Widget Contribution\n\nThis a guide to be followed for *widgetizing*. Each section below is something we need to consider while crafting widgets.\n\n## Table of Contents\n\n  1. [Widget Name](#widget-name)\n  1. [Widget Id](#widget-id)\n  1. [Update Set](#update-set)\n  1. [Sass Variables](#sass-variables)\n  1. [Includes](#includes)\n  1. [Folder and File Naming Conventions](#folder-and-file-naming-conventions)\n  1. [Folder Structure](#folder-structure)\n  1. [Style Guide](#style-guide)\n  1. [Internationalization](#internationalization)\n\n## Widget Name\n\nAll widget names should start with the prefix **PE**. This will make searching for widgets easy and provide a unique namespace for our custom widgets.\n\n**[Back to top](#table-of-contents)**\n\n## Widget Id\n\nWidget and page ids need to be unique in an instance. We need to be careful when naming the id to avoid collisions when: widget or page is being loaded into an instance, while committing an update set or when an upgrade or plugin is applied.\n\nThus we need to keep these points in mind.\n\n1. Every widget must have an id\n1. Ids should be hyphenated alphanumeric strings (i.e. no spaces, no special characters)\n1. Widget ids should start with the prefix **pe-**\n\nExample: pe-approval-card\n\n**[Back to top](#table-of-contents)**\n\n## Update Set\n\nPlease make sure you capture widget related updates correctly. Update sets should start with prefix **pe-** and end with **update-set**. For example, **pe-approval-card-update-set.u-update-set.xml**. Make sure you don't capture widget instance related records or grid related records like: row, column etc. Keep the update set clean and capture only widget related items.\n\n**[Back to top](#table-of-contents)**\n\n## Sass Variables\n\nAll Sass variables created for this project will start with the prefix **$pe-**. You can add variables at the theme level and the widget level. While adding variables at the widget level, make sure to use the **!default** keyword. This will let us override variables at the theme level and make the widget self-contained.\n\nFor example, at theme level:\n\n```scss\n$pe-brand-success: #5cb85c;\n```\n\nAnd at the widget level:\n\n```scss\n$pe-brand-success: #5cb85c !default;\n```\n\n**[Back to top](#table-of-contents)**\n\n## Includes\n\nEven the includes with standard FWs should be renamed with the prefix **pe-**. This will help to avoid duplication errors during the update set import on existing instances.\n\nFor instance, `highcharts-ng` should be renamed to `pe-highcharts-ng`.\n\n**[Back to top](#table-of-contents)**\n\n## Folder and File Naming Conventions\n\n### Widgets\n\nWidget record fields should go inside the **widget** folder. Fields must be named as follows.\n\n```\n* HTML               =>  <widget-name>.u-body-html-template.html\n* Client Controller  =>  <widget-name>.u-client-script.js\n* Server Script      =>  <widget-name>.u-server-script.js\n* CSS                =>  <widget-name>.u-css.scss\n* Option Schema      =>  <widget-name>.u-option-schema.json\n```\n\n### UI Scripts\n\nUI scripts should go inside a folder called **ui-script**, all UI scripts should be named as follows.\n\n```\n<widget-name>-<purpose>.u-client-script.js\n```\n\nSome examples of purpose would be: service, factory, module.\n\n>If it's a JS library file, which users don't need to edit for example: \"highcart-ng\", emit this **u-client-script** part in the name. This will make sure we don't pull huge library files from ServiceNow.\n\n### Style Sheets\n\nStyle sheets should go inside a folder called **style-sheet**, all style sheets should be named as follows.\n\n```\n<widget-name>-<purpose>.u-css.scss\n```\n\n>If it's a CSS library file, which users don't need to edit for example: animate.css, emit this **u-css** part in the name. This will make sure we don't pull huge library files from ServiceNow.\n\n### AngularJS Providers\n\nAngularJS providers should go inside a folder called **angular-provider**, all providers should be named as follows.\n\n```\n<widget-name>-<purpose>.u-client-script.js\n```\n\n### AngularJS Templates\n\nAngularJS templates should go inside a folder called **angular-template**, all templates should be named as follows.\n\n```\n<widget-name>-<template-id>.u-body-html-template.html\n```\n\n### Config JSON\n\nThe solution config file must be named as follows.\n\n```\nconfig.json\n```\n\n### Script Includes\n\nScript includes should go inside a folder called **script-include**, all these scripts should be named as follows.\n\n```\n<widget-name>-<purpose>.u-client-script.js\n```\n\n### Update Sets\n\nUpdate sets must be named as follows.\n\n```\n<widget_name>.u-update-set.xml\n```\n\n### Unit Tests\n\nUnit tests should go inside a test folder and be named as follows.\n\n```\n<widget-name>.<type>.spec.js\n```\n\n**[Back to top](#table-of-contents)**\n\n## Folder Structure\n\n```\npe-timeline\n│\n├──angular-provider\n│  └──pe-timeline.provider.u-client-script.js\n│\n├──angular-template\n│  └──pe-timeline.svg.u-body-html-template.html\n│\n├──images\n│  └──pe-timeline.png\n│\n├──script-include\n│  └──pe-timeline.helper.u-server-script.js\n│\n├──style-sheet\n│  └──pe-timeline.animate.css\n│\n├──test\n│  └──pe-timeline.client.spec.js\n│  └──pe-timeline.service.spec.js\n│\n├──ui-script\n│  └──pe-events.service.u-client-script.js\n│  └──pe-events.module.u-client-script.js\n│\n├──widget\n│  └──pe-timeline.u-body-html-template.html\n│  └──pe-timeline.u-client-script.js\n│  └──pe-timeline.u-css.scss\n│  └──pe-timeline.u-option-schema.json\n│  └──pe-timeline.u-server-script.js\n│\n├──config.json\n├──pe-timeline.u-update-set.xml\n└──README.md\n```\n\n**[Back to top](#table-of-contents)**\n\n## Style Guide\n\nAll contributors to the widget library should strive to follow the [Service Portal: AngularJS Style Guide](https://github.com/platform-experience/serviceportal-best-practice) and adhere to the [EditorConfig](../.editorconfig) and [ESLint](../.eslintrc.yml) rules.\n\n**[Back to top](#table-of-contents)**\n\n## Internationalization\n\nAll widgets should support [Internationalization](https://docs.servicenow.com/bundle/istanbul-servicenow-platform/page/build/service-portal/concept/c_WidgetLocalization.html), so that they can be translated into other languages for non-English speaking markets.\n\n**[Back to top](#table-of-contents)**"
  },
  {
    "path": "docs/help.md",
    "content": "Widget Scaffold Help\n=============================================\n\n## SYNOPSIS\n\n    yarn build [widget name || widget-name] [options]\n\n## DESCRIPTION\n\nCreate a widget scaffold for the Innovation Library.\n\nThe following options are available:\n\n    -a      Build `angular-template` directory.\n    -s      Build `script-include` directory.\n    -u      Build `ui-script` directory.\n\nYou may use these commands in conjunction with each other."
  },
  {
    "path": "donut-widgets/pe-donut-chart/Readme.md",
    "content": "# Donut Chart\n\n## Description\n\nThis widget can be used to represent data in a simple Donut Chart.\n\n## Screenshot\n\n![alt text](../../images/pe-donut-chart-01.png \"Donut Chart\")\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-donut-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/donut-widgets/pe-donut-chart/pe-donut-chart.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nWidget Option Schema parameters:\n\n**\"Title\"** the default message for this is **Donut Chart**<br/>\n**\"Active Color\"** this is the color of the part representing the information we want to display<br/>\n**\"Background Color\"**<br/>\n**\"Font Awesome Icon\"** this is the style for the icon available from http://fontawesome.io/icons/<br/>\n\n> To modify the percentage value, it is required to modify the CSS elements in *@keyframes donut-chart-1 {* **stroke-dashoffset** from 0 (100%) to the value of the circumference.\n\n## Platform Dependencies\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart/pe-donut-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-17 03:52:37\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Donut Chart</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>50e857e51329b60083a7bd522244b029</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>2261afed1329b60083a7bd522244b08c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>donutDirective</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:57:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cc585c0113693600d15e3d7ed144b07d</sys_id><sys_mod_count>3</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"donutDirective\">25689c0113693600d15e3d7ed144b0d6</sys_ui_script><sys_update_name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:40:30</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:37</sys_created_on>\n<sys_id>2261afed1329b60083a7bd522244b08e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:37</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_362c548113693600d15e3d7ed144b0c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/* Donut CSS */&#13;\n&#13;\n.progress-pie-chart {&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    border-radius: 50%;&#13;\n    background-color: #E5E5E5;&#13;\n    position: relative;&#13;\n    display: inline-block;&#13;\n    cursor: pointer;&#13;\n}&#13;\n&#13;\n.progress-pie-chart.gt-50 {&#13;\n    background-color: #81CE97;&#13;\n}&#13;\n&#13;\n.ppc-progress {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n}&#13;\n&#13;\n.ppc-progress .ppc-progress-fill {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n    background: #81CE97;&#13;\n    transform: rotate(60deg);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress {&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress .ppc-progress-fill {&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n    background: #E5E5E5;&#13;\n}&#13;\n&#13;\n.ppc-percents {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 80px/2);&#13;\n    top: calc(50% - 80px/2);&#13;\n    width: 80px;&#13;\n    height: 80px;&#13;\n    background: #fff;&#13;\n    text-align: center;&#13;\n    display: table;&#13;\n}&#13;\n&#13;\n.ppc-percents span {&#13;\n    display: block;&#13;\n    font-size: inherit;&#13;\n    color: #81CE97;&#13;\n}&#13;\n&#13;\n.pcc-percents-wrapper {&#13;\n    display: table-cell;&#13;\n    vertical-align: middle;&#13;\n}</css><name>donutDirective</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>362c548113693600d15e3d7ed144b0c1</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_362c548113693600d15e3d7ed144b0c1</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>2661afed1329b60083a7bd522244b08d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_25689c0113693600d15e3d7ed144b0d6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;donutDirective&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n    var donutTemplate = '&lt;div class=\"progress-pie-chart ppc-{{randomID}}\"&gt;' +\n        '&lt;div class=\"ppc-progress\"&gt;' +\n        '&lt;div class=\"ppc-progress-fill\"&gt;&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;div class=\"ppc-percents\"&gt;' +\n        '&lt;div class=\"pcc-percents-wrapper\"&gt;' +\n        '&lt;span ng-style=\"{\\'font-size\\':fontSize , \\'font-weight\\':fontWeight}\"&gt;{{displayvalue}}&lt;/span&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;';\n\n    angular.module('donutDirective', []).directive('donutDirective', function($timeout) {\n        return {\n            restrict: 'AE',\n            // templateUrl: function (element, attrs) {\n            //     return attrs.href;\n            // },\n            template: donutTemplate,\n            scope: {\n                count: '=',\n                total: '=',\n                displayvalue: '@',\n                showValue: '=',\n                showValueAsCount: '=',\n                width: '=',\n                colorFill: '@',\n                colorBg: '@',\n                inverted: '=',\n                fontSize: '@',\n                fontWeight: '='\n            },\n            link: function(scope, element, attrs) {\n                //console.log(\"displayvalue \" + scope.displayvalue);\n                var randomId = Math.round((Math.random() * 100000000)),\n                    percent = (scope.count / scope.total) * 100,\n                    colors = undefined;\n\n                if (scope.colorFill || scope.colorBg) {\n                    colors = {\n                        fill: scope.colorFill,\n                        bg: scope.colorBg\n                    };\n                }\n                scope.randomID = randomId;\n                /*  $timeout(function(){\n                 calculateDonut(scope.width, percent, scope.showValue,\n                 scope.showValueAsCount, scope.count, colors, scope.inverted, randomId);\n                 }, 1);*/\n\n\n                scope.$watch(function(scope) {\n                        return scope.count\n                    },\n                    function() {\n                        percent = (scope.count / scope.total) * 100;\n                        calculateDonut(scope.width, percent, scope.showValue,\n                            scope.showValueAsCount, scope.count, colors, scope.inverted, randomId, scope.displayvalue);\n                    }\n                );\n            }\n\n        };\n\n        function calculateDonut(width, percent, showValue, showValueAsCount, count, colors, inverted, id, displayvalue) {\n            var $ = jQuery,\n                ppc = $('.progress-pie-chart.ppc-' + id),\n                ppcProgress = $('.ppc-' + id + ' .ppc-progress'),\n                ppcProgressFill = $('.ppc-' + id + ' .ppc-progress-fill'),\n                ppcPercents = $('.ppc-' + id + ' .ppc-percents'),\n                deg = 360 * percent / 100,\n                fontSize = width * 20 / 55;\n\n            percent = parseInt(percent);\n            width = parseInt(width);\n\n            //Value display control - start\n            if (showValue) {\n                if (showValueAsCount)\n                    ppcPercents.find('span').html(displayvalue);\n                else\n                    ppcPercents.find('span').html(percent + '%');\n            }\n            //Value display control - end\n\n            //Invert the colors if needed\n            if (inverted) {\n                percent = 100 - percent;\n                deg = 360 * percent / 100;\n                colors = {\n                    fill: colors.bg,\n                    bg: colors.fill\n                };\n            }\n\n            if (percent &gt; 50) {\n                ppc.addClass('gt-50');\n            }\n            ppcProgressFill.css('transform', 'rotate(' + deg + 'deg)');\n\n            //Donut re-Size - start : change as per width specified\n            ppc.add(ppcProgress).add(ppcProgressFill)\n                .css({\n                    \"width\": width + 'px',\n                    \"height\": width + 'px'\n                });\n            ppcProgress.add(ppcProgressFill)\n                .css({\n                    \"left\": 'calc(50% - ' + width / 2 + 'px)',\n                    \"top\": 'calc(50% - ' + width / 2 + 'px)'\n                });\n\n            if (percent &gt; 50) {\n                $('.gt-50.ppc-' + id + ' .ppc-progress').css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n                $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n            } else {\n                ppcProgress.css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n                ppcProgressFill.css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n            }\n\n            ppcPercents.css({\n                \"left\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"top\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"font-size\": fontSize + 'px',\n                \"width\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                },\n                \"height\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                }\n            });\n            //Donut re-Sizing - end\n\n            //change colors accordingly\n            if (colors) {\n                if (percent &gt; 50) {\n                    if (colors.fill) {\n                        $('.progress-pie-chart.gt-50.ppc-' + id).css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css('background-color', colors.bg);\n                    }\n                } else {\n                    if (colors.fill) {\n                        ppcProgressFill.css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        ppc.css('background-color', colors.bg);\n                    }\n                }\n                if (inverted) {\n                    ppcPercents.find('span').css('color', colors.bg);\n                }\n            }\n            //color change - end\n        }\n    });\n})();\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 23:57:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;25689c0113693600d15e3d7ed144b0d6&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;donutDirective&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_25689c0113693600d15e3d7ed144b0d6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-15 00:38:49&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:37</sys_created_on>\n<sys_id>6261a3211369b60083a7bd522244b04c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:37</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_e7de9f2d1329b60083a7bd522244b064</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_widget display_value=\"PE Donut Chart Wizard\">0bc1804513293600d15e3d7ed144b0f2</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:41:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e7de9f2d1329b60083a7bd522244b064</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.PE Donut Chart Wizard</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_e7de9f2d1329b60083a7bd522244b064</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:41:50</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>6261afed1329b60083a7bd522244b08d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective.PE Donut Chart Wizard</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>donutDirective</module><name>donutDirective</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:56:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4438d80113693600d15e3d7ed144b0c6</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:20</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>6e61afed1329b60083a7bd522244b08d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bf3c14c113693600d15e3d7ed144b09b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>aa61afed1329b60083a7bd522244b08d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0bc1804513293600d15e3d7ed144b0f2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartWizard() {\n  /* widget controller */\n  var c = this;\n/*  c.data.donutData = {\n    'label': '1/5',\n    'current': 1,\n    'total': 5\n  };*/\n\n/*  c.change = function(current, total){\n    c.data.donutData.current = current;\n    c.data.donutData.total = total;\n    c.data.donutData.label = current + '/' + total;\n  };*/\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.div-center {\n    text-align: center;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"chart_data\",\"default_value\":\"{    \\\"label\\\":\\\"1/5\\\",    \\\"current\\\":1,    \\\"total\\\":5 }\",\"label\":\"Chart Data\",\"type\":\"json\",\"mandatory\":true},{\"name\":\"primary_color\",\"default_value\":\"#4286f4\",\"label\":\"Color\",\"type\":\"string\"},{\"name\":\"background_color\",\"default_value\":\"#c2d1e8\",\"label\":\"Background Color\",\"type\":\"string\"},{\"name\":\"chart_width\",\"default_value\":\"80\",\"label\":\"Width\",\"type\":\"string\"},{\"name\":\"font_size\",\"default_value\":\"24px\",\"label\":\"Font Size\",\"type\":\"string\"},{\"name\":\"font_weight\",\"default_value\":\"800\",\"label\":\"Font Weight\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.primary_color = input.primary_color || options.primary_color;\n  data.background_color = input.background_color || options.background_color;\n  data.chart_width = input.chart_width || options.chart_width;\n  data.font_size = input.font_size || options.font_size;\n  data.font_weight = input.font_weight || options.font_weight;\n  data.chart_data = input.chart_data || options.chart_data;\n  data.chart_data = JSON.parse(data.chart_data);\n\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 22:19:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0bc1804513293600d15e3d7ed144b0f2&lt;/sys_id&gt;&lt;sys_mod_count&gt;85&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0bc1804513293600d15e3d7ed144b0f2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-17 03:49:27&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"container-fluid\"&gt;\n  &lt;div class=\"row div-center\"&gt;\n  &lt;donut-directive data-count=\"data.chart_data.current\"\n  data-displayvalue=\"{{data.chart_data.label}}\"\n  data-total=\"data.chart_data.total\"\n    data-show-value=\"true\"\n    data-show-value-as-count=\"true\"\n    data-width=\"data.chart_width\"\n    data-font-size=\"{{data.font_size}}\"\n    data-font-weight=\"data.font_weight\"\n    data-color-fill=\"{{data.primary_color}}\"\n    data-color-bg=\"{{data.background_color}}\"\n    href=\"donutTemplate\"&gt;\n  &lt;/donut-directive&gt;\n  &lt;/div&gt;\n  &lt;!--&lt;div class=\"row div-center\"&gt;&lt;button class=\"btn btn-primary\" ng-click=\"c.change(3,5)\"&gt;Change Value&lt;/button&gt;&lt;/div&gt;--&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:37</sys_created_on>\n<sys_id>ae61a3211369b60083a7bd522244b04b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:37</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_0f4f5b6d1329b60083a7bd522244b027</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_js_include display_value=\"donutDirective\">cc585c0113693600d15e3d7ed144b07d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:43:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0f4f5b6d1329b60083a7bd522244b027</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_0f4f5b6d1329b60083a7bd522244b027</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:43:33</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>ae61afed1329b60083a7bd522244b08c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_774c54c113693600d15e3d7ed144b0da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>774c54c113693600d15e3d7ed144b0da</sys_id><sys_mod_count>4</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_774c54c113693600d15e3d7ed144b0da</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:52</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>e661afed1329b60083a7bd522244b08d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_0f8fdb6d1329b60083a7bd522244b021</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"donutDirective\">774c54c113693600d15e3d7ed144b0da</sp_css_include><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:44:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0f8fdb6d1329b60083a7bd522244b021</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_0f8fdb6d1329b60083a7bd522244b021</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:44:46</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Donut Chart\">2261afed1329b60083a7bd522244b08c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-03-17 03:52:36</sys_created_on>\n<sys_id>ea61afed1329b60083a7bd522244b08c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-03-17 03:52:36</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart/widget/pe-donut-chart.u-body-html-template.html",
    "content": "<div>\r\n  <div ng-show=\"c.data.data.show_title\">\r\n    <h3>{{c.data.title}}</h3>\r\n  </div>\r\n  <div class=\"donut-chart-container\">\r\n    <div class=\"donut-chart-common donut-chart-bg\">\r\n      <svg ng-style=\"\r\n    {'height':c.data.height, 'width': c.data.width}\">\r\n        <g>\r\n          <circle id=\"circle-base\" class=\"circle_animation\" ng-attr-r='{{c.data.r}}' ng-attr-cy='{{c.data.cy}}' ng-attr-cx='{{c.data.cx}}' stroke-width=\"{{c.data.border_width}}\"\r\n            stroke=\"{{c.data.background_color}}\" fill=\"none\" />\r\n        </g>\r\n      </svg>\r\n    </div>\r\n    <div id=\"chart-1\" class=\"donut-chart-common donut-chart-1\">\r\n      <!--ng-class='{\"stroke-dashoffset\": 25}'-->\r\n      <svg ng-style=\"\r\n    {'height':c.data.height, 'width': c.data.width}\">\r\n        <g>\r\n          <circle id=\"circle\" class=\"circle_animation\" ng-attr-r=\"{{c.data.r}}\" ng-attr-cy=\"{{c.data.cy}}\" ng-attr-cx=\"{{c.data.cx}}\" stroke-width=\"{{c.data.border_width}}\"\r\n            stroke=\"{{c.data.active_color}}\" fill=\"none\" ng-style=\"{'stroke-dasharray': {{c.data.strokeDashArray}}, 'stroke-dashoffset': {{c.data.strokeDashOffset}}}\"/>\r\n        </g>\r\n      </svg>\r\n    </div>\r\n  </div>\r\n  <div class=\"icon-container\" ng-show=\"c.data.show_icon\">\r\n    <i class=\"{{c.data.fa_icon}}\" aria-hidden=\"true\"></i>\r\n  </div>\r\n</div>"
  },
  {
    "path": "donut-widgets/pe-donut-chart/widget/pe-donut-chart.u-client-script.js",
    "content": "function DonutChartController() {\r\n  /* widget controller */\r\n  var c = this;\r\n  console.log(c);\r\n}"
  },
  {
    "path": "donut-widgets/pe-donut-chart/widget/pe-donut-chart.u-css.scss",
    "content": ".donut-chart-container {\n  position: relative;\n  align-content: center;\n  text-align: center;\n  vertical-align: middle;\n}\n\nsvg {\n  transform: rotate(-90deg);\n}\n\n.icon-container {\n  position: absolute;\n  left: 67px;\n  top: 63px;\n}\n\n.circle_animation {\n /*stroke-dasharray: 68.36;\n  stroke-dashoffset: 68.36;*/\n}\n\n\n.donut-chart-common {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n\n.donut-chart-bg .circle_animation {\n  -webkit-animation: donut-chart-bg 1s ease-out forwards;\n  animation: donut-chart-bg 1s ease-out forwards;\n}\n\n.donut-chart-1 .circle_animation {\n  -webkit-animation: donut-chart-1 1s ease-out forwards;\n  animation: donut-chart-1 1s ease-out forwards;\n}\n\n@keyframes donut-chart-bg {\n  to {\n    stroke-dashoffset: 0;\n  }\n}\n\n@keyframes donut-chart-1 {\n  to {\n    stroke-dashoffset: 34;\n  }\n}"
  },
  {
    "path": "donut-widgets/pe-donut-chart/widget/pe-donut-chart.u-server-script.js",
    "content": "(function () {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  var getBoolValue = function (inputVal, optionVal) {\r\n\r\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\r\n      return (optionVal === 'true');\r\n    } else {\r\n      return (inputVal === 'true');\r\n    }\r\n  };\r\n\r\n\r\n  data.title = input.title || options.title;\r\n  /*  data.percentage = input.percentage || options.percentage;\r\n    data.percentage = parseInt(data.percentage);\r\n    data.percentage = (data.percentage*200)/100;*/\r\n\r\n  data.active_color = input.active_color || options.active_color;\r\n  data.background_color = input.background_color || options.background_color;\r\n  data.fa_icon = input.fa_icon || options.fa_icon;\r\n\r\n  data.show_title = getBoolValue(input.show_title, options.show_title);\r\n  data.show_icon = getBoolValue(input.show_icon, options.show_icon);\r\n  //data.border_width = input.border_width || options.border_width;\r\n  data.border_width = 12;\r\n  data.height = 34;\r\n  data.width = 34;\r\n\r\n  data.r = 0;\r\n  data.cx = 0;\r\n  data.cy = 0;\r\n\r\n  data.r = (data.width * 32) / 100;\r\n  data.cx = data.width / 2;\r\n  data.cy = data.height / 2;\r\n\r\n  data.strokeDashArray = 68.36;\r\n  data.strokeDashOffset = 68.36;\r\n\r\n  data.circumference = (data.r * 2 * Math.PI);\r\n  data.strokeDashArray = data.circumference;\r\n  data.strokeDashOffset = data.circumference;\r\n\r\n\r\n})();"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/Readme.md",
    "content": "# Donut Chart Wizard\n\n## Description\n\nThis widget can be used to represent data in a simple donut chart.\n\n## Screenshot\n\n![Donut Chart Wizard](../../images/pe-donut-chart-wizard-01.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-donut-chart-two.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/donut-widgets/pe-donut-chart-two/pe-donut-chart-two.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nWidget Option Schema parameters:\n\n**\"Primary Color\"** <br/>\n**\"Background Color\"** <br/>\n**\"Chart Width\"** <br/>\n**\"Font Size\"** <br/>\n**\"Font Width\"** <br/>\n**\"Chart Data\"** the value is a sample JSON object that you can copy from here:\n\n```javascript\n{\n  \"label\": \"1/5\",\n  \"current\": 1,\n  \"total\": 5\n}\n```\n\n## Platform Dependencies\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/pe-donut-chart-two.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-10-18 18:42:17\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Donut Chart Wizard</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>5e0e7ce8dbd9634057a7f03d0f961979</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>792765e0db5d634057a7f03d0f961924</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>donutDirective</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:57:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cc585c0113693600d15e3d7ed144b07d</sys_id><sys_mod_count>3</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"donutDirective\">25689c0113693600d15e3d7ed144b0d6</sys_ui_script><sys_update_name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:40:30</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>392765e0db5d634057a7f03d0f961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687d7cc660000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_362c548113693600d15e3d7ed144b0c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/* Donut CSS */&#13;\n&#13;\n.progress-pie-chart {&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    border-radius: 50%;&#13;\n    background-color: #E5E5E5;&#13;\n    position: relative;&#13;\n    display: inline-block;&#13;\n    cursor: pointer;&#13;\n}&#13;\n&#13;\n.progress-pie-chart.gt-50 {&#13;\n    background-color: #81CE97;&#13;\n}&#13;\n&#13;\n.ppc-progress {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n}&#13;\n&#13;\n.ppc-progress .ppc-progress-fill {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n    background: #81CE97;&#13;\n    transform: rotate(60deg);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress {&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress .ppc-progress-fill {&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n    background: #E5E5E5;&#13;\n}&#13;\n&#13;\n.ppc-percents {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 80px/2);&#13;\n    top: calc(50% - 80px/2);&#13;\n    width: 80px;&#13;\n    height: 80px;&#13;\n    background: #fff;&#13;\n    text-align: center;&#13;\n    display: table;&#13;\n}&#13;\n&#13;\n.ppc-percents span {&#13;\n    display: block;&#13;\n    font-size: inherit;&#13;\n    color: #81CE97;&#13;\n}&#13;\n&#13;\n.pcc-percents-wrapper {&#13;\n    display: table-cell;&#13;\n    vertical-align: middle;&#13;\n}</css><name>donutDirective</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>362c548113693600d15e3d7ed144b0c1</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_362c548113693600d15e3d7ed144b0c1</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>3d2765e0db5d634057a7f03d0f961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687d7cc890000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>donutDirective</module><name>donutDirective</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:56:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4438d80113693600d15e3d7ed144b0c6</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:20</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>752765e0db5d634057a7f03d0f961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687d7cc900000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_647041ecdbd9634057a7f03d0f9619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_widget display_value=\"PE Donut Chart Wizard\">0bc1804513293600d15e3d7ed144b0f2</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-18 15:53:10</sys_created_on><sys_id>647041ecdbd9634057a7f03d0f9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.PE Donut Chart Wizard</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_647041ecdbd9634057a7f03d0f9619d5</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-18 15:53:10</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>1134371333</payload_hash>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>792765e0db5d634057a7f03d0f961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687e172010000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective.PE Donut Chart Wizard</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>247041ec77d963406113873c6467d3d7</update_guid>\n<update_guid_history>247041ec77d963406113873c6467d3d7:1134371333</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bf3c14c113693600d15e3d7ed144b09b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>b12765e0db5d634057a7f03d0f961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687d7cca00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_4da0c1ecdbd9634057a7f03d0f9619af</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_js_include display_value=\"donutDirective\">cc585c0113693600d15e3d7ed144b07d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-18 15:54:01</sys_created_on><sys_id>4da0c1ecdbd9634057a7f03d0f9619af</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_4da0c1ecdbd9634057a7f03d0f9619af</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-18 15:54:01</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>615500467</payload_hash>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>b52765e0db5d634057a7f03d0f961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687e238940000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c5a0c1ec3ad96340ae67d0f557ab0eb1</update_guid>\n<update_guid_history>c5a0c1ec3ad96340ae67d0f557ab0eb1:615500467</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_e5038920db1d634057a7f03d0f961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"donutDirective\">774c54c113693600d15e3d7ed144b0da</sp_css_include><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-18 16:04:26</sys_created_on><sys_id>e5038920db1d634057a7f03d0f961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_e5038920db1d634057a7f03d0f961995</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-18 16:04:26</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>-1572421745</payload_hash>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>bd2765e0db5d634057a7f03d0f961924</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687ebbffa0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>610389208c1d634086f9569150ab8c97</update_guid>\n<update_guid_history>610389208c1d634086f9569150ab8c97:-1572421745</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_25689c0113693600d15e3d7ed144b0d6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;donutDirective&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n    var donutTemplate = '&lt;div class=\"progress-pie-chart ppc-{{randomID}}\"&gt;' +\n        '&lt;div class=\"ppc-progress\"&gt;' +\n        '&lt;div class=\"ppc-progress-fill\"&gt;&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;div class=\"ppc-percents\"&gt;' +\n        '&lt;div class=\"pcc-percents-wrapper\"&gt;' +\n        '&lt;span ng-style=\"{\\'font-size\\':fontSize , \\'font-weight\\':fontWeight}\"&gt;{{displayvalue}}&lt;/span&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;';\n\n    angular.module('donutDirective', []).directive('donutDirective', function($timeout) {\n        return {\n            restrict: 'AE',\n            // templateUrl: function (element, attrs) {\n            //     return attrs.href;\n            // },\n            template: donutTemplate,\n            scope: {\n                count: '=',\n                total: '=',\n                displayvalue: '@',\n                showValue: '=',\n                showValueAsCount: '=',\n                width: '=',\n                colorFill: '@',\n                colorBg: '@',\n                inverted: '=',\n                fontSize: '@',\n                fontWeight: '='\n            },\n            link: function(scope, element, attrs) {\n                //console.log(\"displayvalue \" + scope.displayvalue);\n                var randomId = Math.round((Math.random() * 100000000)),\n                    percent = (scope.count / scope.total) * 100,\n                    colors = undefined;\n\n                if (scope.colorFill || scope.colorBg) {\n                    colors = {\n                        fill: scope.colorFill,\n                        bg: scope.colorBg\n                    };\n                }\n                scope.randomID = randomId;\n                /*  $timeout(function(){\n                 calculateDonut(scope.width, percent, scope.showValue,\n                 scope.showValueAsCount, scope.count, colors, scope.inverted, randomId);\n                 }, 1);*/\n\n\n                scope.$watch(function(scope) {\n                        return scope.count\n                    },\n                    function() {\n                        percent = (scope.count / scope.total) * 100;\n                        calculateDonut(scope.width, percent, scope.showValue,\n                            scope.showValueAsCount, scope.count, colors, scope.inverted, randomId, scope.displayvalue);\n                    }\n                );\n            }\n\n        };\n\n        function calculateDonut(width, percent, showValue, showValueAsCount, count, colors, inverted, id, displayvalue) {\n            var $ = jQuery,\n                ppc = $('.progress-pie-chart.ppc-' + id),\n                ppcProgress = $('.ppc-' + id + ' .ppc-progress'),\n                ppcProgressFill = $('.ppc-' + id + ' .ppc-progress-fill'),\n                ppcPercents = $('.ppc-' + id + ' .ppc-percents'),\n                deg = 360 * percent / 100,\n                fontSize = width * 20 / 55;\n\n            percent = parseInt(percent);\n            width = parseInt(width);\n\n            //Value display control - start\n            if (showValue) {\n                if (showValueAsCount)\n                    ppcPercents.find('span').html(displayvalue);\n                else\n                    ppcPercents.find('span').html(percent + '%');\n            }\n            //Value display control - end\n\n            //Invert the colors if needed\n            if (inverted) {\n                percent = 100 - percent;\n                deg = 360 * percent / 100;\n                colors = {\n                    fill: colors.bg,\n                    bg: colors.fill\n                };\n            }\n\n            if (percent &gt; 50) {\n                ppc.addClass('gt-50');\n            }\n            ppcProgressFill.css('transform', 'rotate(' + deg + 'deg)');\n\n            //Donut re-Size - start : change as per width specified\n            ppc.add(ppcProgress).add(ppcProgressFill)\n                .css({\n                    \"width\": width + 'px',\n                    \"height\": width + 'px'\n                });\n            ppcProgress.add(ppcProgressFill)\n                .css({\n                    \"left\": 'calc(50% - ' + width / 2 + 'px)',\n                    \"top\": 'calc(50% - ' + width / 2 + 'px)'\n                });\n\n            if (percent &gt; 50) {\n                $('.gt-50.ppc-' + id + ' .ppc-progress').css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n                $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n            } else {\n                ppcProgress.css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n                ppcProgressFill.css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n            }\n\n            ppcPercents.css({\n                \"left\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"top\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"font-size\": fontSize + 'px',\n                \"width\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                },\n                \"height\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                }\n            });\n            //Donut re-Sizing - end\n\n            //change colors accordingly\n            if (colors) {\n                if (percent &gt; 50) {\n                    if (colors.fill) {\n                        $('.progress-pie-chart.gt-50.ppc-' + id).css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css('background-color', colors.bg);\n                    }\n                } else {\n                    if (colors.fill) {\n                        ppcProgressFill.css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        ppc.css('background-color', colors.bg);\n                    }\n                }\n                if (inverted) {\n                    ppcPercents.find('span').css('color', colors.bg);\n                }\n            }\n            //color change - end\n        }\n    });\n})();\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 23:57:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;25689c0113693600d15e3d7ed144b0d6&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;donutDirective&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_25689c0113693600d15e3d7ed144b0d6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-15 00:38:49&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>bd2765e0db5d634057a7f03d0f961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687d7cc970000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0bc1804513293600d15e3d7ed144b0f2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category/&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartController() {\n  var c = this;\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.div-center {\n  text-align: center;\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart-wizard&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart Wizard&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"name\": \"chart_data\",&amp;#13;\n    \"default_value\": \"{\\\"label\\\":\\\"1/5\\\", \\\"current\\\":1, \\\"total\\\":5}\",&amp;#13;\n    \"label\": \"Chart Data\",&amp;#13;\n    \"type\": \"json\",&amp;#13;\n    \"mandatory\": true&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"primary_color\",&amp;#13;\n    \"default_value\": \"#4286f4\",&amp;#13;\n    \"label\": \"Color\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"background_color\",&amp;#13;\n    \"default_value\": \"#c2d1e8\",&amp;#13;\n    \"label\": \"Background Color\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"chart_width\",&amp;#13;\n    \"default_value\": \"80\",&amp;#13;\n    \"label\": \"Width\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"font_size\",&amp;#13;\n    \"default_value\": \"24px\",&amp;#13;\n    \"label\": \"Font Size\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"font_weight\",&amp;#13;\n    \"default_value\": \"800\",&amp;#13;\n    \"label\": \"Font Weight\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.primary_color = input.primary_color || options.primary_color;\n  data.background_color = input.background_color || options.background_color;\n  data.chart_width = input.chart_width || options.chart_width;\n  data.font_size = input.font_size || options.font_size;\n  data.font_weight = input.font_weight || options.font_weight;\n  data.chart_data = input.chart_data || options.chart_data;\n  data.chart_data = JSON.parse(data.chart_data);\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 22:19:08&lt;/sys_created_on&gt;&lt;sys_id&gt;0bc1804513293600d15e3d7ed144b0f2&lt;/sys_id&gt;&lt;sys_mod_count&gt;88&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart Wizard&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0bc1804513293600d15e3d7ed144b0f2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-18 18:32:22&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"container-fluid\"&gt;\n  &lt;div class=\"row div-center\"&gt;\n    &lt;donut-directive data-count=\"data.chart_data.current\" data-displayvalue=\"{{data.chart_data.label}}\" data-total=\"data.chart_data.total\"\n      data-show-value=\"true\" data-show-value-as-count=\"true\" data-width=\"data.chart_width\" data-font-size=\"{{data.font_size}}\"\n      data-font-weight=\"data.font_weight\" data-color-fill=\"{{data.primary_color}}\" data-color-bg=\"{{data.background_color}}\"\n      href=\"donutTemplate\"&gt;\n    &lt;/donut-directive&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-245158491</payload_hash>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>f92765e0db5d634057a7f03d0f961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166887330030000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart Wizard</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a4e461a0155d6340f51d70f5162fabe4</update_guid>\n<update_guid_history>a4e461a0155d6340f51d70f5162fabe4:-245158491,c9632160775d6340caf124bb4c918fba:-935319097,e2336d202f5d6340f38d9470ef820183:395738932,cce2e920de5d634058858877b949e0d0:734859588,160efce8edd96340c11469bde3faa47d:-1798790657</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_774c54c113693600d15e3d7ed144b0da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>774c54c113693600d15e3d7ed144b0da</sys_id><sys_mod_count>4</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_774c54c113693600d15e3d7ed144b0da</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:52</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Donut Chart Wizard\">792765e0db5d634057a7f03d0f961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-18 18:42:17</sys_created_on>\n<sys_id>fd2765e0db5d634057a7f03d0f961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16687d7ccae0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-18 18:42:17</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/widget/pe-donut-chart-two.u-body-html-template.html",
    "content": "<div class=\"container-fluid\">\n  <div class=\"row div-center\">\n    <donut-directive data-count=\"data.chart_data.current\" data-displayvalue=\"{{data.chart_data.label}}\" data-total=\"data.chart_data.total\"\n      data-show-value=\"true\" data-show-value-as-count=\"true\" data-width=\"data.chart_width\" data-font-size=\"{{data.font_size}}\"\n      data-font-weight=\"data.font_weight\" data-color-fill=\"{{data.primary_color}}\" data-color-bg=\"{{data.background_color}}\"\n      href=\"donutTemplate\">\n    </donut-directive>\n  </div>\n</div>"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/widget/pe-donut-chart-two.u-client-script.js",
    "content": "function DonutChartController() {\n  var c = this;\n}\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/widget/pe-donut-chart-two.u-css.scss",
    "content": ".div-center {\n  text-align: center;\n}\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/widget/pe-donut-chart-two.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"chart_data\",\n    \"default_value\": \"{\\\"label\\\":\\\"1/5\\\", \\\"current\\\":1, \\\"total\\\":5}\",\n    \"label\": \"Chart Data\",\n    \"type\": \"json\",\n    \"mandatory\": true\n  },\n  {\n    \"name\": \"primary_color\",\n    \"default_value\": \"#4286f4\",\n    \"label\": \"Color\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"background_color\",\n    \"default_value\": \"#c2d1e8\",\n    \"label\": \"Background Color\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"chart_width\",\n    \"default_value\": \"80\",\n    \"label\": \"Width\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"font_size\",\n    \"default_value\": \"24px\",\n    \"label\": \"Font Size\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"font_weight\",\n    \"default_value\": \"800\",\n    \"label\": \"Font Weight\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "donut-widgets/pe-donut-chart-two/widget/pe-donut-chart-two.u-server-script.js",
    "content": "(function() {\n  data.primary_color = input.primary_color || options.primary_color;\n  data.background_color = input.background_color || options.background_color;\n  data.chart_width = input.chart_width || options.chart_width;\n  data.font_size = input.font_size || options.font_size;\n  data.font_weight = input.font_weight || options.font_weight;\n  data.chart_data = input.chart_data || options.chart_data;\n  data.chart_data = JSON.parse(data.chart_data);\n})();\n"
  },
  {
    "path": "highcharts/pe-area-chart/README.md",
    "content": "# Area Chart\n\n## Description\n\nThis is used to create a simple Area Chart, Or a Area Spline Chart.\n\n## Screenshots\n![alt text](../../images/pe-area-chart.png \"Basic Setup\")\n![alt text](../../images/pe-area-spline-chart.png \"Basic Setup\")\n![alt text](../../images/pe-area-chart-modified.png \"Modified Version Using Advanced\")\n![alt text](../../images/pe-area-spline-chart-modified.png \"Modified Version Using Advanced\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-area-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-area-chart/pe-area-chart.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Type\"** Toggle chart between Area chart and Area Spline chart. `Default: Area chart`<br/>\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n    \"title\":{\n        \"text\":\"Area Chart\",\n        \"style\":{\n            \"color\":\"white\"\n        }\n    },\n    \"options\":{\n        \"colors\": [\"rgba(255, 0, 0,1)\", \"rgba(0, 255, 0,1)\", \"rgba(0, 0, 255,1)\"],\n        \"exporting\":{\n            \"enabled\":false\n        },\n        \"chart\":{\n            \"backgroundColor\":null,\n            \"margin\": [2, 0, 2, 0],\n            \"borderWidth\":0,\n            \"height\":310\n        },\n\t\t\"legend\":{\n\t\t\t\"enabled\":false\n\t\t},\n        \"plotOptions\":{\n            \"series\":{\n                \"stacking\":\"normal\"\n            }\n        }\n    }\n}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-area-chart/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-area-chart/pe-area-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:42:32\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Area Chart</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>b2c636c3db1d32002e5df2b6ae9619a1</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>a2dbb59fdbd532002e5df2b6ae96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c2252817db113200f687dfea5e96198c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcs = new HighchartsConfigService(c.options, c.options.type, c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"data\": [\n\t\t[\"Jan\", 31],\n\t\t[\"Feb\", 28],\n\t\t[\"Mar\", 31],\n\t\t[\"Apr\", 30],\n\t\t[\"May\", 31],\n\t\t[\"Jun\", 30],\n\t\t[\"Jul\", 31],\n\t\t[\"Aug\", 31],\n\t\t[\"Sep\", 30],\n\t\t[\"Oct\", 31],\n\t\t[\"Nov\", 30],\n\t\t[\"Dec\", 31]\n\t]\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-area-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Area Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"type\",\"label\":\"Type\",\"type\":\"choice\",\"choices\":[{\"label\":\"Area\",\"value\":\"area\"},{\"label\":\"Area Spline\",\"value\":\"areaspline\"}]},{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Fields\",\"type\":\"field_list\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.type = options.type || serverOptions.type || \"area\";\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Area Chart\"\n\t\t},\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"series\": {\n\t\t\t\t\t\"fillOpacity\": 0.5\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 14:23:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c2252817db113200f687dfea5e96198c&lt;/sys_id&gt;&lt;sys_mod_count&gt;19&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Area Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c2252817db113200f687dfea5e96198c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 17:11:05&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-area-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>22dbb59fdbd532002e5df2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Area Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>26dbb59fdbd532002e5df2b6ae96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>26dbb59fdbd532002e5df2b6ae961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_473760d3db1532002e5df2b6ae9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Area Chart\">c2252817db113200f687dfea5e96198c</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 14:32:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>473760d3db1532002e5df2b6ae9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Area Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_473760d3db1532002e5df2b6ae9619a8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 14:32:50</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>2adbb59fdbd532002e5df2b6ae96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Area Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>2adbb59fdbd532002e5df2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba94cd07db5932002e5df2b6ae9619f5</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>2edbb59fdbd532002e5df2b6ae96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>2edbb59fdbd532002e5df2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>62dbb59fdbd532002e5df2b6ae96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>62dbb59fdbd532002e5df2b6ae961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3237ac93db1532002e5df2b6ae9619bb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_widget display_value=\"PE Area Chart\">c2252817db113200f687dfea5e96198c</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 14:32:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3237ac93db1532002e5df2b6ae9619bb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Area Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3237ac93db1532002e5df2b6ae9619bb</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 14:32:50</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>66dbb59fdbd532002e5df2b6ae96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Area Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>66dbb59fdbd532002e5df2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba84cd07db5932002e5df2b6ae961987</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>6adbb59fdbd532002e5df2b6ae96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>6adbb59fdbd532002e5df2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>6edbb59fdbd532002e5df2b6ae96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c874cd07db5932002e5df2b6ae961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:57</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>a2dbb59fdbd532002e5df2b6ae96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>a2dbb59fdbd532002e5df2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>150</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5674cd07db5932002e5df2b6ae96193f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:13</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>a6dbb59fdbd532002e5df2b6ae96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>a6dbb59fdbd532002e5df2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>aadbb59fdbd532002e5df2b6ae96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>aedbb59fdbd532002e5df2b6ae96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>aedbb59fdbd532002e5df2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>e2dbb59fdbd532002e5df2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>e6dbb59fdbd532002e5df2b6ae96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5a548d07db5932002e5df2b6ae9619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:46</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>eadbb59fdbd532002e5df2b6ae96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>eadbb59fdbd532002e5df2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_js_include display_value=\"PE highcharts-ng\">b3244d07db5932002e5df2b6ae96197e</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bd340d07db5932002e5df2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:59</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>eedbb59fdbd532002e5df2b6ae96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE highcharts-ng</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Area Chart\">a2dbb59fdbd532002e5df2b6ae96198d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:32</sys_created_on>\n<sys_id>eedbb59fdbd532002e5df2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:32</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-area-chart/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-area-chart/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-area-chart/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-area-chart/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-area-chart/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-area-chart/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-area-chart/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-area-chart/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-area-chart/widget/pe-area-chart.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-area-chart\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-area-chart/widget/pe-area-chart.u-client-script.js",
    "content": "function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcs = new HighchartsConfigService(c.options, c.options.type, c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}"
  },
  {
    "path": "highcharts/pe-area-chart/widget/pe-area-chart.u-option-schema.json",
    "content": "[{\n\t\"name\": \"type\",\n\t\"label\": \"Type\",\n\t\"type\": \"choice\",\n\t\"choices\": [{\n\t\t\"label\": \"Area\",\n\t\t\"value\": \"area\"\n\t}, {\n\t\t\"label\": \"Area Spline\",\n\t\t\"value\": \"areaspline\"\n\t}]\n}, {\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Fields\",\n\t\"type\": \"field_list\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&nbspworld\\\"\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-area-chart/widget/pe-area-chart.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.type = options.type || serverOptions.type || \"area\";\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Area Chart\"\n\t\t},\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"series\": {\n\t\t\t\t\t\"fillOpacity\": 0.5\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n})();"
  },
  {
    "path": "highcharts/pe-bar-chart/README.md",
    "content": "# Bar/Column Chart\n\n## Description\n\nThis is used to create a simple Bar Chart, Or a Column Chart\n\n## Screenshots\n![](../../images/pe-bar-chart.png)\n![](../../images/pe-column-chart.png)\n![alt text](../../images/pe-bar-chart-modified.png \"Modified Version Using Advanced\")\n![alt text](../../images/pe-column-chart-modified.png \"Modified Version Using Advanced\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-bar-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-bar-chart/pe-bar-chart.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Type\"** Toggle chart between Bar chart and Column chart. `Default: Bar chart`<br/>\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n    \"title\":{\n        \"text\":\"Bar Chart\",\n        \"style\":{\n            \"color\":\"white\"\n        }\n    },\n    \"options\":{\n        \"colors\": [\"rgba(255, 0, 0,1)\", \"rgba(0, 255, 0,1)\", \"rgba(0, 0, 255,1)\"],\n        \"exporting\":{\n            \"enabled\":false\n        },\n        \"chart\":{\n            \"backgroundColor\":null,\n            \"margin\": [2, 0, 2, 0],\n            \"borderWidth\":0,\n            \"height\":310\n        },\n\t\t\"legend\":{\n\t\t\t\"enabled\":false\n\t\t},\n        \"plotOptions\":{\n            \"series\":{\n                \"stacking\":\"normal\"\n            }\n        }\n    }\n}\n```\n\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-bar-chart/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-bar-chart/demo-data/xml-payloads/PE Bar Chart XML Payload.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:18:46\">\n<highcharts_data_generator action=\"INSERT_OR_UPDATE\">\n<advanced>true</advanced>\n<data_points>15</data_points>\n<max>10000</max>\n<min>10</min>\n<name>Bar Chart Custom Demo Data</name>\n<number>HDG0001011</number>\n<round_to>1</round_to>\n<script><![CDATA[//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"\nanswer = \"very high,high,medium,low,very low\".split(',')]]></script>\n<series>1</series>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:16:21</sys_created_on>\n<sys_id>d7d76a4fdbd932002e5df2b6ae96197f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:16:21</sys_updated_on>\n</highcharts_data_generator>\n<highcharts_data_generator action=\"INSERT_OR_UPDATE\">\n<advanced>false</advanced>\n<data_points>15</data_points>\n<max>10000</max>\n<min>10</min>\n<name>Bar Chart Demo Data</name>\n<number>HDG0001009</number>\n<round_to>1</round_to>\n<script><![CDATA[//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"\n//answer = \"very high,high,medium,low,very low\".split(',')]]></script>\n<series>1</series>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2016-12-07 18:30:12</sys_created_on>\n<sys_id>aa3befed13e32200085f70a76144b0d7</sys_id>\n<sys_mod_count>2</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:14:22</sys_updated_on>\n</highcharts_data_generator>\n<highcharts_data_generator action=\"INSERT_OR_UPDATE\">\n<advanced>true</advanced>\n<data_points>12</data_points>\n<max>100</max>\n<min>1</min>\n<name>Bar Chart Specific Demo Data</name>\n<number>HDG0001010</number>\n<round_to>1</round_to>\n<script><![CDATA[//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"\nanswer = [12,24,48,12,24,48,96]]]></script>\n<series>1</series>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:15:05</sys_created_on>\n<sys_id>2277e64fdbd932002e5df2b6ae961995</sys_id>\n<sys_mod_count>1</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:16:01</sys_updated_on>\n</highcharts_data_generator>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-bar-chart/pe-bar-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:42:37\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Bar Chart</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>11f4e0cbdb1932002e5df2b6ae96199a</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>a3dbb59fdbd532002e5df2b6ae9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_14c5b087dbd53200f687dfea5e9619b8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar chartType = c.options.bar_type;\n\tvar hcs = new HighchartsConfigService(c.options, chartType, c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{&amp;#13;\n\t\"data\": [&amp;#13;\n\t\t[\"Jan\", 31],&amp;#13;\n\t\t[\"Feb\", 28],&amp;#13;\n\t\t[\"Mar\", 31],&amp;#13;\n\t\t[\"Apr\", 30],&amp;#13;\n\t\t[\"May\", 31],&amp;#13;\n\t\t[\"Jun\", 30],&amp;#13;\n\t\t[\"Jul\", 31],&amp;#13;\n\t\t[\"Aug\", 31],&amp;#13;\n\t\t[\"Sep\", 30],&amp;#13;\n\t\t[\"Oct\", 31],&amp;#13;\n\t\t[\"Nov\", 30],&amp;#13;\n\t\t[\"Dec\", 31]&amp;#13;\n\t]&amp;#13;\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-bar-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Bar Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"bar_type\",\"label\":\"Type\",\"type\":\"choice\",\"choices\":[{\"label\":\"Bar\",\"value\":\"bar\"},{\"label\":\"Column\",\"value\":\"column\"}]},{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Fields\",\"type\":\"field_list\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;All items in THIS JSON object will override any above selected options. &amp;lt;br/&amp;gt; Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.bar_type = options.bar_type || serverOptions.bar_type || \"bar\";\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Bar Chart\"\n\t\t}\n\t})\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 20:57:49&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;14c5b087dbd53200f687dfea5e9619b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;49&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Bar Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_14c5b087dbd53200f687dfea5e9619b8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 17:10:16&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-bar-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>23dbb59fdbd532002e5df2b6ae9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Bar Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>27dbb59fdbd532002e5df2b6ae9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_99b40147db5932002e5df2b6ae961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Bar Chart\">14c5b087dbd53200f687dfea5e9619b8</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:03:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>99b40147db5932002e5df2b6ae961987</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Bar Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_99b40147db5932002e5df2b6ae961987</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:03:08</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>2bdbb59fdbd532002e5df2b6ae9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Bar Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba94cd07db5932002e5df2b6ae9619f5</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>2fdbb59fdbd532002e5df2b6ae9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>2fdbb59fdbd532002e5df2b6ae9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>37dbb59fdbd532002e5df2b6ae9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>3bdbb59fdbd532002e5df2b6ae9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>63dbb59fdbd532002e5df2b6ae9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_91b40147db5932002e5df2b6ae961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_widget display_value=\"PE Bar Chart\">14c5b087dbd53200f687dfea5e9619b8</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:03:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>91b40147db5932002e5df2b6ae961987</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Bar Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_91b40147db5932002e5df2b6ae961987</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:03:08</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>67dbb59fdbd532002e5df2b6ae9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Bar Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba84cd07db5932002e5df2b6ae961987</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>6bdbb59fdbd532002e5df2b6ae9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>6bdbb59fdbd532002e5df2b6ae9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>6fdbb59fdbd532002e5df2b6ae9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>73dbb59fdbd532002e5df2b6ae9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>77dbb59fdbd532002e5df2b6ae9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c874cd07db5932002e5df2b6ae961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:57</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>a3dbb59fdbd532002e5df2b6ae9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>150</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5674cd07db5932002e5df2b6ae96193f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:13</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>a7dbb59fdbd532002e5df2b6ae9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>a7dbb59fdbd532002e5df2b6ae9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>abdbb59fdbd532002e5df2b6ae9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>afdbb59fdbd532002e5df2b6ae9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>b3dbb59fdbd532002e5df2b6ae9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>bfdbb59fdbd532002e5df2b6ae9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-08 23:46:01&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>e3dbb59fdbd532002e5df2b6ae9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>e7dbb59fdbd532002e5df2b6ae9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5a548d07db5932002e5df2b6ae9619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:46</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>ebdbb59fdbd532002e5df2b6ae9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_js_include display_value=\"PE highcharts-ng\">b3244d07db5932002e5df2b6ae96197e</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bd340d07db5932002e5df2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:59</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>efdbb59fdbd532002e5df2b6ae9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE highcharts-ng</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>efdbb59fdbd532002e5df2b6ae9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Bar Chart\">a3dbb59fdbd532002e5df2b6ae9619c3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:37</sys_created_on>\n<sys_id>fbdbb59fdbd532002e5df2b6ae9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:37</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-bar-chart/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-bar-chart/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-bar-chart/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-bar-chart/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-bar-chart/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-bar-chart/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-bar-chart/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-bar-chart/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-bar-chart/widget/pe-bar-chart.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-bar-chart\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-bar-chart/widget/pe-bar-chart.u-client-script.js",
    "content": "function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar chartType = c.options.bar_type;\n\tvar hcs = new HighchartsConfigService(c.options, chartType, c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}"
  },
  {
    "path": "highcharts/pe-bar-chart/widget/pe-bar-chart.u-css.css",
    "content": ""
  },
  {
    "path": "highcharts/pe-bar-chart/widget/pe-bar-chart.u-option-schema.json",
    "content": "[{\n\t\"name\": \"bar_type\",\n\t\"label\": \"Type\",\n\t\"type\": \"choice\",\n\t\"choices\": [{\n\t\t\"label\": \"Bar\",\n\t\t\"value\": \"bar\"\n\t}, {\n\t\t\"label\": \"Column\",\n\t\t\"value\": \"column\"\n\t}]\n}, {\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Fields\",\n\t\"type\": \"field_list\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>All items in THIS JSON object will override any above selected options. <br/> Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&nbspworld\\\"\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-bar-chart/widget/pe-bar-chart.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.bar_type = options.bar_type || serverOptions.bar_type || \"bar\";\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Bar Chart\"\n\t\t}\n\t})\n})();"
  },
  {
    "path": "highcharts/pe-heatmap/README.md",
    "content": "# Heatmap Chart\n\n## Description\n\nThis is used to create a simple Heatmap\n\n## Screenshots\n![](../../images/pe-heatmap-chart.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-heatmap.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-heatmap/demo-data/update-set/pe-highchart-widget%20data-generator-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n\t\"title\": {\n\t\t\"text\": \"Heatmap\"\n\t},\n\t\"options\": {\n\t\t\"plotOptions\": {\n\t\t\t\"series\": {\n\t\t\t\t\"dataLabels\": {\n\t\t\t\t\t\"enabled\": true\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"colorAxis\": {\n\t\t\t\"min\": 1,\n\t\t\t\"max\": 100,\n\t\t\t\"minColor\": \"rgba(255, 0, 80, 0.2)\",\n\t\t\t\"maxColor\": \"rgba(255, 207, 96, 0.8)\",\n\t\t\t\"type\": \"linear\"\n\t\t},\n\t\t\"chart\": {\n\t\t\t\"plotBackgroundColor\": {\n\t\t\t\t\"linearGradient\": {\n\t\t\t\t\t\"x1\": 1,\n\t\t\t\t\t\"y1\": 0,\n\t\t\t\t\t\"x2\": 0,\n\t\t\t\t\t\"y2\": 1\n\t\t\t\t},\n\t\t\t\t\"stops\": [\n\t\t\t\t\t[0, \"rgba(255, 0, 80, 1)\"],\n\t\t\t\t\t[1, \"rgba(255, 207, 96, 1)\"]\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t}\n}\n```\n\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-heatmap/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-heatmap/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-heatmap/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-heatmap/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-heatmap/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-heatmap/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-heatmap/ui-script/pe-highcharts-heatmap.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.7 (2017-01-17)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(n) {\n\t\"object\" === typeof module && module.exports ? module.exports = n : n(Highcharts)\n})(function(n) {\n\t(function(c) {\n\t\tvar k = c.Axis,\n\t\t\tr = c.Chart,\n\t\t\tm = c.color,\n\t\t\tl, e = c.each,\n\t\t\tv = c.extend,\n\t\t\tw = c.isNumber,\n\t\t\tp = c.Legend,\n\t\t\tf = c.LegendSymbolMixin,\n\t\t\tx = c.noop,\n\t\t\tq = c.merge,\n\t\t\tu = c.pick,\n\t\t\tt = c.wrap;\n\t\tl = c.ColorAxis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tv(l.prototype, k.prototype);\n\t\tv(l.prototype, {\n\t\t\tdefaultColorAxisOptions: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\tendOnTick: !0,\n\t\t\t\toffset: 0,\n\t\t\t\tmarker: {\n\t\t\t\t\tanimation: {\n\t\t\t\t\t\tduration: 50\n\t\t\t\t\t},\n\t\t\t\t\twidth: .01,\n\t\t\t\t\tcolor: \"#999999\"\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\toverflow: \"justify\",\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tminColor: \"#e6ebf5\",\n\t\t\t\tmaxColor: \"#003399\",\n\t\t\t\ttickLength: 5,\n\t\t\t\tshowInLegend: !0\n\t\t\t},\n\t\t\tkeepProps: [\"legendGroup\", \"legendItem\", \"legendSymbol\"].concat(k.prototype.keepProps),\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar d = \"vertical\" !== a.options.legend.layout,\n\t\t\t\t\tg;\n\t\t\t\tthis.coll = \"colorAxis\";\n\t\t\t\tg = q(this.defaultColorAxisOptions, {\n\t\t\t\t\tside: d ? 2 : 1,\n\t\t\t\t\treversed: !d\n\t\t\t\t}, b, {\n\t\t\t\t\topposite: !d,\n\t\t\t\t\tshowEmpty: !1,\n\t\t\t\t\ttitle: null\n\t\t\t\t});\n\t\t\t\tk.prototype.init.call(this, a, g);\n\t\t\t\tb.dataClasses && this.initDataClasses(b);\n\t\t\t\tthis.initStops(b);\n\t\t\t\tthis.horiz =\n\t\t\t\t\td;\n\t\t\t\tthis.zoomEnabled = !1;\n\t\t\t\tthis.defaultLegendLength = 200\n\t\t\t},\n\t\t\ttweenColors: function(a, b, d) {\n\t\t\t\tvar g;\n\t\t\t\tb.rgba.length && a.rgba.length ? (a = a.rgba, b = b.rgba, g = 1 !== b[3] || 1 !== a[3], a = (g ? \"rgba(\" : \"rgb(\") + Math.round(b[0] + (a[0] - b[0]) * (1 - d)) + \",\" + Math.round(b[1] + (a[1] - b[1]) * (1 - d)) + \",\" + Math.round(b[2] + (a[2] - b[2]) * (1 - d)) + (g ? \",\" + (b[3] + (a[3] - b[3]) * (1 - d)) : \"\") + \")\") : a = b.input || \"none\";\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tinitDataClasses: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.chart,\n\t\t\t\t\tg, h = 0,\n\t\t\t\t\tc = d.options.chart.colorCount,\n\t\t\t\t\ty = this.options,\n\t\t\t\t\tf = a.dataClasses.length;\n\t\t\t\tthis.dataClasses = g = [];\n\t\t\t\tthis.legendItems = [];\n\t\t\t\te(a.dataClasses, function(a, e) {\n\t\t\t\t\ta = q(a);\n\t\t\t\t\tg.push(a);\n\t\t\t\t\ta.color || (\"category\" === y.dataClassColor ? (e = d.options.colors, c = e.length, a.color = e[h], a.colorIndex = h, h++, h === c && (h = 0)) : a.color = b.tweenColors(m(y.minColor), m(y.maxColor), 2 > f ? .5 : e / (f - 1)))\n\t\t\t\t})\n\t\t\t},\n\t\t\tinitStops: function(a) {\n\t\t\t\tthis.stops = a.stops || [\n\t\t\t\t\t[0, this.options.minColor],\n\t\t\t\t\t[1, this.options.maxColor]\n\t\t\t\t];\n\t\t\t\te(this.stops, function(a) {\n\t\t\t\t\ta.color = m(a[1])\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tk.prototype.setOptions.call(this, a);\n\t\t\t\tthis.options.crosshair = this.options.marker\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.legendSymbol,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.options.legend || {},\n\t\t\t\t\tg, h;\n\t\t\t\ta ? (this.left = d = a.attr(\"x\"), this.top = g = a.attr(\"y\"), this.width = h = a.attr(\"width\"), this.height = a = a.attr(\"height\"), this.right = b.chartWidth - d - h, this.bottom = b.chartHeight - g - a, this.len = this.horiz ? h : a, this.pos = this.horiz ? d : g) : this.len = (this.horiz ? d.symbolWidth : d.symbolHeight) || this.defaultLegendLength\n\t\t\t},\n\t\t\ttoColor: function(a, b) {\n\t\t\t\tvar d = this.stops,\n\t\t\t\t\tg, h, c = this.dataClasses,\n\t\t\t\t\te, f;\n\t\t\t\tif (c)\n\t\t\t\t\tfor (f = c.length; f--;) {\n\t\t\t\t\t\tif (e = c[f], g = e.from, d = e.to, (void 0 === g || a >= g) && (void 0 ===\n\t\t\t\t\t\t\t\td || a <= d)) {\n\t\t\t\t\t\t\th = e.color;\n\t\t\t\t\t\t\tb && (b.dataClass = f, b.colorIndex = e.colorIndex);\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.isLog && (a = this.val2lin(a));\n\t\t\t\t\t\ta = 1 - (this.max - a) / (this.max - this.min || 1);\n\t\t\t\t\t\tfor (f = d.length; f-- && !(a > d[f][0]););\n\t\t\t\t\t\tg = d[f] || d[f + 1];\n\t\t\t\t\t\td = d[f + 1] || g;\n\t\t\t\t\t\ta = 1 - (d[0] - a) / (d[0] - g[0] || 1);\n\t\t\t\t\t\th = this.tweenColors(g.color, d.color, a)\n\t\t\t\t\t}\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this.legendGroup,\n\t\t\t\t\tb = this.chart.axisOffset[this.side];\n\t\t\t\ta && (this.axisParent = a, k.prototype.getOffset.call(this), this.added || (this.added = !0, this.labelLeft = 0, this.labelRight = this.width), this.chart.axisOffset[this.side] =\n\t\t\t\t\tb)\n\t\t\t},\n\t\t\tsetLegendColor: function() {\n\t\t\t\tvar a, b = this.options,\n\t\t\t\t\td = this.reversed;\n\t\t\t\ta = d ? 1 : 0;\n\t\t\t\td = d ? 0 : 1;\n\t\t\t\ta = this.horiz ? [a, 0, d, 0] : [0, d, 0, a];\n\t\t\t\tthis.legendColor = {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: a[0],\n\t\t\t\t\t\ty1: a[1],\n\t\t\t\t\t\tx2: a[2],\n\t\t\t\t\t\ty2: a[3]\n\t\t\t\t\t},\n\t\t\t\t\tstops: b.stops || [\n\t\t\t\t\t\t[0, b.minColor],\n\t\t\t\t\t\t[1, b.maxColor]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(a, b) {\n\t\t\t\tvar d = a.padding,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\th = this.horiz,\n\t\t\t\t\tc = u(g.symbolWidth, h ? this.defaultLegendLength : 12),\n\t\t\t\t\tf = u(g.symbolHeight, h ? 12 : this.defaultLegendLength),\n\t\t\t\t\te = u(g.labelPadding, h ? 16 : 30),\n\t\t\t\t\tg = u(g.itemDistance, 10);\n\t\t\t\tthis.setLegendColor();\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(0,\n\t\t\t\t\ta.baseline - 11, c, f).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(b.legendGroup);\n\t\t\t\tthis.legendItemWidth = c + d + (h ? g : e);\n\t\t\t\tthis.legendItemHeight = f + d + (h ? e : 0)\n\t\t\t},\n\t\t\tsetState: x,\n\t\t\tvisible: !0,\n\t\t\tsetVisible: x,\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.length;\n\t\t\t\tthis.dataMin = Infinity;\n\t\t\t\tfor (this.dataMax = -Infinity; b--;) void 0 !== a[b].valueMin && (this.dataMin = Math.min(this.dataMin, a[b].valueMin), this.dataMax = Math.max(this.dataMax, a[b].valueMax))\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar d = b && b.plotX,\n\t\t\t\t\tc = b && b.plotY,\n\t\t\t\t\th, f = this.pos,\n\t\t\t\t\te = this.len;\n\t\t\t\tb && (h = this.toPixels(b[b.series.colorKey]),\n\t\t\t\t\th < f ? h = f - 2 : h > f + e && (h = f + e + 2), b.plotX = h, b.plotY = this.len - h, k.prototype.drawCrosshair.call(this, a, b), b.plotX = d, b.plotY = c, this.cross && (this.cross.addClass(\"highcharts-coloraxis-marker\").add(this.legendGroup), this.cross.attr({\n\t\t\t\t\t\tfill: this.crosshair.color\n\t\t\t\t\t})))\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, d, c, h) {\n\t\t\t\treturn w(h) ? this.horiz ? [\"M\", h - 4, this.top - 6, \"L\", h + 4, this.top - 6, h, this.top, \"Z\"] : [\"M\", this.left, h, \"L\", this.left - 6, h + 6, this.left - 6, h - 6, \"Z\"] : k.prototype.getPlotLinePath.call(this, a, b, d, c)\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar d = this.chart,\n\t\t\t\t\tc = d.legend;\n\t\t\t\te(this.series, function(a) {\n\t\t\t\t\ta.isDirtyData = !0\n\t\t\t\t});\n\t\t\t\ta.dataClasses && c.allItems && (e(c.allItems, function(a) {\n\t\t\t\t\ta.isDataClass && a.legendGroup.destroy()\n\t\t\t\t}), d.isDirtyLegend = !0);\n\t\t\t\td.options[this.coll] = q(this.userOptions, a);\n\t\t\t\tk.prototype.update.call(this, a, b);\n\t\t\t\tthis.legendItem && (this.setLegendColor(), c.colorizeItem(this, !0))\n\t\t\t},\n\t\t\tgetDataClassLegendSymbols: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = this.legendItems,\n\t\t\t\t\tg = b.options.legend,\n\t\t\t\t\th = g.valueDecimals,\n\t\t\t\t\tt = g.valueSuffix || \"\",\n\t\t\t\t\tk;\n\t\t\t\td.length || e(this.dataClasses, function(g, p) {\n\t\t\t\t\tvar l = !0,\n\t\t\t\t\t\tq = g.from,\n\t\t\t\t\t\tm = g.to;\n\t\t\t\t\tk = \"\";\n\t\t\t\t\tvoid 0 === q ? k = \"\\x3c \" : void 0 === m && (k = \"\\x3e \");\n\t\t\t\t\tvoid 0 !== q && (k += c.numberFormat(q, h) + t);\n\t\t\t\t\tvoid 0 !== q && void 0 !== m && (k += \" - \");\n\t\t\t\t\tvoid 0 !== m && (k += c.numberFormat(m, h) + t);\n\t\t\t\t\td.push(v({\n\t\t\t\t\t\tchart: b,\n\t\t\t\t\t\tname: k,\n\t\t\t\t\t\toptions: {},\n\t\t\t\t\t\tdrawLegendSymbol: f.drawRectangle,\n\t\t\t\t\t\tvisible: !0,\n\t\t\t\t\t\tsetState: x,\n\t\t\t\t\t\tisDataClass: !0,\n\t\t\t\t\t\tsetVisible: function() {\n\t\t\t\t\t\t\tl = this.visible = !l;\n\t\t\t\t\t\t\te(a.series, function(a) {\n\t\t\t\t\t\t\t\te(a.points, function(a) {\n\t\t\t\t\t\t\t\t\ta.dataClass === p && a.setVisible(l)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tb.legend.colorizeItem(this, l)\n\t\t\t\t\t\t}\n\t\t\t\t\t}, g))\n\t\t\t\t});\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tname: \"\"\n\t\t});\n\t\te([\"fill\", \"stroke\"], function(a) {\n\t\t\tc.Fx.prototype[a +\n\t\t\t\t\"Setter\"] = function() {\n\t\t\t\tthis.elem.attr(a, l.prototype.tweenColors(m(this.start), m(this.end), this.pos), null, !0)\n\t\t\t}\n\t\t});\n\t\tt(r.prototype, \"getAxes\", function(a) {\n\t\t\tvar b = this.options.colorAxis;\n\t\t\ta.call(this);\n\t\t\tthis.colorAxis = [];\n\t\t\tb && new l(this, b)\n\t\t});\n\t\tt(p.prototype, \"getAllItems\", function(a) {\n\t\t\tvar b = [],\n\t\t\t\td = this.chart.colorAxis[0];\n\t\t\td && d.options && (d.options.showInLegend && (d.options.dataClasses ? b = b.concat(d.getDataClassLegendSymbols()) : b.push(d)), e(d.series, function(a) {\n\t\t\t\ta.options.showInLegend = !1\n\t\t\t}));\n\t\t\treturn b.concat(a.call(this))\n\t\t});\n\t\tt(p.prototype,\n\t\t\t\"colorizeItem\",\n\t\t\tfunction(a, b, d) {\n\t\t\t\ta.call(this, b, d);\n\t\t\t\td && b.legendColor && b.legendSymbol.attr({\n\t\t\t\t\tfill: b.legendColor\n\t\t\t\t})\n\t\t\t})\n\t})(n);\n\t(function(c) {\n\t\tvar k = c.defined,\n\t\t\tr = c.each,\n\t\t\tm = c.noop,\n\t\t\tl = c.seriesTypes;\n\t\tc.colorPointMixin = {\n\t\t\tisValid: function() {\n\t\t\t\treturn null !== this.value\n\t\t\t},\n\t\t\tsetVisible: function(c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tk = c ? \"show\" : \"hide\";\n\t\t\t\tr([\"graphic\", \"dataLabel\"], function(c) {\n\t\t\t\t\tif (e[c]) e[c][k]()\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetState: function(e) {\n\t\t\t\tc.Point.prototype.setState.call(this, e);\n\t\t\t\tthis.graphic && this.graphic.attr({\n\t\t\t\t\tzIndex: \"hover\" === e ? 1 : 0\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\tc.colorSeriesMixin = {\n\t\t\tpointArrayMap: [\"value\"],\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\", \"colorAxis\"],\n\t\t\toptionalAxis: \"colorAxis\",\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\tgetSymbol: m,\n\t\t\tparallelArrays: [\"x\", \"y\", \"value\"],\n\t\t\tcolorKey: \"value\",\n\t\t\tpointAttribs: l.column.prototype.pointAttribs,\n\t\t\ttranslateColors: function() {\n\t\t\t\tvar c = this,\n\t\t\t\t\tk = this.options.nullColor,\n\t\t\t\t\tl = this.colorAxis,\n\t\t\t\t\tm = this.colorKey;\n\t\t\t\tr(this.data, function(f) {\n\t\t\t\t\tvar e = f[m];\n\t\t\t\t\tif (e = f.options.color || (f.isNull ? k : l && void 0 !== e ? l.toColor(e, f) : f.color || c.color)) f.color = e\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolorAttribs: function(c) {\n\t\t\t\tvar e = {};\n\t\t\t\tk(c.color) && (e[this.colorProp ||\n\t\t\t\t\t\"fill\"] = c.color);\n\t\t\t\treturn e\n\t\t\t}\n\t\t}\n\t})(n);\n\t(function(c) {\n\t\tvar k = c.colorPointMixin,\n\t\t\tr = c.each,\n\t\t\tm = c.merge,\n\t\t\tl = c.noop,\n\t\t\te = c.pick,\n\t\t\tn = c.Series,\n\t\t\tw = c.seriesType,\n\t\t\tp = c.seriesTypes;\n\t\tw(\"heatmap\", \"scatter\", {\n\t\t\t\tanimation: !1,\n\t\t\t\tborderWidth: 0,\n\t\t\t\tnullColor: \"#f7f7f7\",\n\t\t\t\tdataLabels: {\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn this.point.value\n\t\t\t\t\t},\n\t\t\t\t\tinside: !0,\n\t\t\t\t\tverticalAlign: \"middle\",\n\t\t\t\t\tcrop: !1,\n\t\t\t\t\toverflow: !1,\n\t\t\t\t\tpadding: 0\n\t\t\t\t},\n\t\t\t\tmarker: null,\n\t\t\t\tpointRange: null,\n\t\t\t\ttooltip: {\n\t\t\t\t\tpointFormat: \"{point.x}, {point.y}: {point.value}\\x3cbr/\\x3e\"\n\t\t\t\t},\n\t\t\t\tstates: {\n\t\t\t\t\tnormal: {\n\t\t\t\t\t\tanimation: !0\n\t\t\t\t\t},\n\t\t\t\t\thover: {\n\t\t\t\t\t\thalo: !1,\n\t\t\t\t\t\tbrightness: .2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tm(c.colorSeriesMixin, {\n\t\t\t\tpointArrayMap: [\"y\", \"value\"],\n\t\t\t\thasPointSpecificOptions: !0,\n\t\t\t\tsupportsDrilldown: !0,\n\t\t\t\tgetExtremesFromAll: !0,\n\t\t\t\tdirectTouch: !0,\n\t\t\t\tinit: function() {\n\t\t\t\t\tvar c;\n\t\t\t\t\tp.scatter.prototype.init.apply(this, arguments);\n\t\t\t\t\tc = this.options;\n\t\t\t\t\tc.pointRange = e(c.pointRange, c.colsize || 1);\n\t\t\t\t\tthis.yAxis.axisPointRange = c.rowsize || 1\n\t\t\t\t},\n\t\t\t\ttranslate: function() {\n\t\t\t\t\tvar c = this.options,\n\t\t\t\t\t\te = this.xAxis,\n\t\t\t\t\t\tk = this.yAxis,\n\t\t\t\t\t\tl = function(c, a, b) {\n\t\t\t\t\t\t\treturn Math.min(Math.max(a, c), b)\n\t\t\t\t\t\t};\n\t\t\t\t\tthis.generatePoints();\n\t\t\t\t\tr(this.points, function(f) {\n\t\t\t\t\t\tvar a = (c.colsize || 1) / 2,\n\t\t\t\t\t\t\tb = (c.rowsize ||\n\t\t\t\t\t\t\t\t1) / 2,\n\t\t\t\t\t\t\td = l(Math.round(e.len - e.translate(f.x - a, 0, 1, 0, 1)), -e.len, 2 * e.len),\n\t\t\t\t\t\t\ta = l(Math.round(e.len - e.translate(f.x + a, 0, 1, 0, 1)), -e.len, 2 * e.len),\n\t\t\t\t\t\t\tg = l(Math.round(k.translate(f.y - b, 0, 1, 0, 1)), -k.len, 2 * k.len),\n\t\t\t\t\t\t\tb = l(Math.round(k.translate(f.y + b, 0, 1, 0, 1)), -k.len, 2 * k.len);\n\t\t\t\t\t\tf.plotX = f.clientX = (d + a) / 2;\n\t\t\t\t\t\tf.plotY = (g + b) / 2;\n\t\t\t\t\t\tf.shapeType = \"rect\";\n\t\t\t\t\t\tf.shapeArgs = {\n\t\t\t\t\t\t\tx: Math.min(d, a),\n\t\t\t\t\t\t\ty: Math.min(g, b),\n\t\t\t\t\t\t\twidth: Math.abs(a - d),\n\t\t\t\t\t\t\theight: Math.abs(b - g)\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.translateColors()\n\t\t\t\t},\n\t\t\t\tdrawPoints: function() {\n\t\t\t\t\tp.column.prototype.drawPoints.call(this);\n\t\t\t\t\tr(this.points,\n\t\t\t\t\t\tfunction(c) {\n\t\t\t\t\t\t\tc.graphic.attr(this.colorAttribs(c))\n\t\t\t\t\t\t}, this)\n\t\t\t\t},\n\t\t\t\tanimate: l,\n\t\t\t\tgetBox: l,\n\t\t\t\tdrawLegendSymbol: c.LegendSymbolMixin.drawRectangle,\n\t\t\t\talignDataLabel: p.column.prototype.alignDataLabel,\n\t\t\t\tgetExtremes: function() {\n\t\t\t\t\tn.prototype.getExtremes.call(this, this.valueData);\n\t\t\t\t\tthis.valueMin = this.dataMin;\n\t\t\t\t\tthis.valueMax = this.dataMax;\n\t\t\t\t\tn.prototype.getExtremes.call(this)\n\t\t\t\t}\n\t\t\t}), k)\n\t})(n)\n});"
  },
  {
    "path": "highcharts/pe-heatmap/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-heatmap/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-heatmap/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-heatmap/widget/pe-heatmap.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-heatmap\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-heatmap/widget/pe-heatmap.u-client-script.js",
    "content": "function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcsHeatMap = new HighchartsConfigService(c.options, \"heatmap\", c.data);\n\tc.chartConfig = hcsHeatMap.getChartConfig();\n\thcsHeatMap.get();\n}"
  },
  {
    "path": "highcharts/pe-heatmap/widget/pe-heatmap.u-css.css",
    "content": ""
  },
  {
    "path": "highcharts/pe-heatmap/widget/pe-heatmap.u-option-schema.json",
    "content": "[{\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Fields\",\n\t\"type\": \"field_list\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&nbspworld\\\"\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-heatmap/widget/pe-heatmap.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getHeatmapDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Heatmap\"\n\t\t},\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"series\": {\n\t\t\t\t\t\"dataLabels\": {\n\t\t\t\t\t\t\"enabled\": true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"colorAxis\": {\n\t\t\t\t\"min\": 1,\n\t\t\t\t\"max\": 100,\n\t\t\t\t\"minColor\": \"rgba(255, 0, 80, 0.2)\",\n\t\t\t\t\"maxColor\": \"rgba(255, 207, 96, 0.8)\",\n\t\t\t\t\"type\": \"linear\"\n\t\t\t},\n\t\t\t\"chart\": {\n\t\t\t\t\"plotBackgroundColor\": {\n\t\t\t\t\t\"linearGradient\": {\n\t\t\t\t\t\t\"x1\": 1,\n\t\t\t\t\t\t\"y1\": 0,\n\t\t\t\t\t\t\"x2\": 0,\n\t\t\t\t\t\t\"y2\": 1\n\t\t\t\t\t},\n\t\t\t\t\t\"stops\": [\n\t\t\t\t\t\t[0, \"rgba(255, 0, 80, 1)\"],\n\t\t\t\t\t\t[1, \"rgba(255, 207, 96, 1)\"]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n})();"
  },
  {
    "path": "highcharts/pe-heatmap/widget/pe-heatmap.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:42:42\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Heatmap</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>0e6876c3db1d32002e5df2b6ae9619b8</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>28ebb59fdbd532002e5df2b6ae9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_e88ea81fdb1532002e5df2b6ae961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Heatmap\">121ea41fdb1532002e5df2b6ae96199a</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:04:38</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e88ea81fdb1532002e5df2b6ae961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_e88ea81fdb1532002e5df2b6ae961942</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:04:38</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>20ebf59fdbd532002e5df2b6ae96196d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>28ebf59fdbd532002e5df2b6ae96196e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_226ee41fdb1532002e5df2b6ae961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>500</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Heatmap\">121ea41fdb1532002e5df2b6ae96199a</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:04:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226ee41fdb1532002e5df2b6ae961939</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_226ee41fdb1532002e5df2b6ae961939</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:05:23</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>2cebb59fdbd532002e5df2b6ae9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_121ea41fdb1532002e5df2b6ae96199a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5 Heatmap</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:03:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>121ea41fdb1532002e5df2b6ae96199a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_121ea41fdb1532002e5df2b6ae96199a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:03:09</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>2cebf59fdbd532002e5df2b6ae96196d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>30ebf59fdbd532002e5df2b6ae961970</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_8d0fac1fdb1532002e5df2b6ae9619bd</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcsHeatMap = new HighchartsConfigService(c.options, \"heatmap\", c.data);\n\tc.chartConfig = hcsHeatMap.getChartConfig();\n\thcsHeatMap.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-heatmap&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Heatmap&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Fields\",\"type\":\"field_list\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getHeatmapDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Heatmap\"\n\t\t},\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"series\": {\n\t\t\t\t\t\"dataLabels\": {\n\t\t\t\t\t\t\"enabled\": true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"colorAxis\": {\n\t\t\t\t\"min\": 1,\n\t\t\t\t\"max\": 100,\n\t\t\t\t\"minColor\": \"rgba(255, 0, 80, 0.2)\",\n\t\t\t\t\"maxColor\": \"rgba(255, 207, 96, 0.8)\",\n\t\t\t\t\"type\": \"linear\"\n\t\t\t},\n\t\t\t\"chart\": {\n\t\t\t\t\"plotBackgroundColor\": {\n\t\t\t\t\t\"linearGradient\": {\n\t\t\t\t\t\t\"x1\": 1,\n\t\t\t\t\t\t\"y1\": 0,\n\t\t\t\t\t\t\"x2\": 0,\n\t\t\t\t\t\t\"y2\": 1\n\t\t\t\t\t},\n\t\t\t\t\t\"stops\": [\n\t\t\t\t\t\t[0, \"rgba(255, 0, 80, 1)\"],\n\t\t\t\t\t\t[1, \"rgba(255, 207, 96, 1)\"]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 15:07:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;8d0fac1fdb1532002e5df2b6ae9619bd&lt;/sys_id&gt;&lt;sys_mod_count&gt;29&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Heatmap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_8d0fac1fdb1532002e5df2b6ae9619bd&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 17:19:06&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-heatmap\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>34ebf59fdbd532002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Heatmap</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>38ebf59fdbd532002e5df2b6ae961971</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval) {\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, (options.interval * 1000));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;23&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:44&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>3cebf59fdbd532002e5df2b6ae961970</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>64ebf59fdbd532002e5df2b6ae96196e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_331f6c1fdb1532002e5df2b6ae96195d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5 Heatmap\">121ea41fdb1532002e5df2b6ae96199a</sp_dependency><sp_widget display_value=\"PE Heatmap\">8d0fac1fdb1532002e5df2b6ae9619bd</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:07:18</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>331f6c1fdb1532002e5df2b6ae96195d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap.PE Heatmap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_331f6c1fdb1532002e5df2b6ae96195d</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:07:18</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>68ebf59fdbd532002e5df2b6ae96196d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap.PE Heatmap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c8ad601fdb1532002e5df2b6ae9619bb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Heatmap</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:01:11</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c8ad601fdb1532002e5df2b6ae9619bb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Heatmap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts-heatmap\">3c3d2cdbdb1532002e5df2b6ae96197f</sys_ui_script><sys_update_name>sp_js_include_c8ad601fdb1532002e5df2b6ae9619bb</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:01:11</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>70ebf59fdbd532002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Heatmap</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>74ebf59fdbd532002e5df2b6ae961971</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>78ebf59fdbd532002e5df2b6ae961970</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>7cebf59fdbd532002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_666ee41fdb1532002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Heatmap\">121ea41fdb1532002e5df2b6ae96199a</sp_dependency><sp_js_include display_value=\"PE Highcharts Heatmap\">c8ad601fdb1532002e5df2b6ae9619bb</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:04:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>666ee41fdb1532002e5df2b6ae96193b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts Heatmap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_666ee41fdb1532002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:05:17</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>a0ebb59fdbd532002e5df2b6ae9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts Heatmap</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>a0ebf59fdbd532002e5df2b6ae96196e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_331f205fdb1532002e5df2b6ae96196f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Heatmap\">8d0fac1fdb1532002e5df2b6ae9619bd</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:07:18</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>331f205fdb1532002e5df2b6ae96196f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Heatmap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_331f205fdb1532002e5df2b6ae96196f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:07:18</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>a4ebf59fdbd532002e5df2b6ae96196d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Heatmap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>b0ebf59fdbd532002e5df2b6ae961971</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>b4ebf59fdbd532002e5df2b6ae961970</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>b8ebf59fdbd532002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>bcebf59fdbd532002e5df2b6ae96196e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ea6ee41fdb1532002e5df2b6ae96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>400</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Heatmap\">121ea41fdb1532002e5df2b6ae96199a</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:04:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ea6ee41fdb1532002e5df2b6ae96193e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ea6ee41fdb1532002e5df2b6ae96193e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:05:21</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>e0ebf59fdbd532002e5df2b6ae96196d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>e8ebf59fdbd532002e5df2b6ae96196e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_226ee41fdb1532002e5df2b6ae96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Heatmap\">121ea41fdb1532002e5df2b6ae96199a</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 15:04:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226ee41fdb1532002e5df2b6ae96193d</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_226ee41fdb1532002e5df2b6ae96193d</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 15:05:15</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>ecebb59fdbd532002e5df2b6ae9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Heatmap.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>ecebf59fdbd532002e5df2b6ae96196d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3c3d2cdbdb1532002e5df2b6ae96197f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts-heatmap&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.7 (2017-01-17)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(n){\"object\"===typeof module&amp;&amp;module.exports?module.exports=n:n(Highcharts)})(function(n){(function(c){var k=c.Axis,r=c.Chart,m=c.color,l,e=c.each,v=c.extend,w=c.isNumber,p=c.Legend,f=c.LegendSymbolMixin,x=c.noop,q=c.merge,u=c.pick,t=c.wrap;l=c.ColorAxis=function(){this.init.apply(this,arguments)};v(l.prototype,k.prototype);v(l.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},\nwidth:.01,color:\"#999999\"},labels:{overflow:\"justify\",rotation:0},minColor:\"#e6ebf5\",maxColor:\"#003399\",tickLength:5,showInLegend:!0},keepProps:[\"legendGroup\",\"legendItem\",\"legendSymbol\"].concat(k.prototype.keepProps),init:function(a,b){var d=\"vertical\"!==a.options.legend.layout,g;this.coll=\"colorAxis\";g=q(this.defaultColorAxisOptions,{side:d?2:1,reversed:!d},b,{opposite:!d,showEmpty:!1,title:null});k.prototype.init.call(this,a,g);b.dataClasses&amp;&amp;this.initDataClasses(b);this.initStops(b);this.horiz=\nd;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,b,d){var g;b.rgba.length&amp;&amp;a.rgba.length?(a=a.rgba,b=b.rgba,g=1!==b[3]||1!==a[3],a=(g?\"rgba(\":\"rgb(\")+Math.round(b[0]+(a[0]-b[0])*(1-d))+\",\"+Math.round(b[1]+(a[1]-b[1])*(1-d))+\",\"+Math.round(b[2]+(a[2]-b[2])*(1-d))+(g?\",\"+(b[3]+(a[3]-b[3])*(1-d)):\"\")+\")\"):a=b.input||\"none\";return a},initDataClasses:function(a){var b=this,d=this.chart,g,h=0,c=d.options.chart.colorCount,y=this.options,f=a.dataClasses.length;this.dataClasses=g=\n[];this.legendItems=[];e(a.dataClasses,function(a,e){a=q(a);g.push(a);a.color||(\"category\"===y.dataClassColor?(e=d.options.colors,c=e.length,a.color=e[h],a.colorIndex=h,h++,h===c&amp;&amp;(h=0)):a.color=b.tweenColors(m(y.minColor),m(y.maxColor),2&gt;f?.5:e/(f-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];e(this.stops,function(a){a.color=m(a[1])})},setOptions:function(a){k.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=\nthis.legendSymbol,b=this.chart,d=b.options.legend||{},g,h;a?(this.left=d=a.attr(\"x\"),this.top=g=a.attr(\"y\"),this.width=h=a.attr(\"width\"),this.height=a=a.attr(\"height\"),this.right=b.chartWidth-d-h,this.bottom=b.chartHeight-g-a,this.len=this.horiz?h:a,this.pos=this.horiz?d:g):this.len=(this.horiz?d.symbolWidth:d.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var d=this.stops,g,h,c=this.dataClasses,e,f;if(c)for(f=c.length;f--;){if(e=c[f],g=e.from,d=e.to,(void 0===g||a&gt;=g)&amp;&amp;(void 0===\nd||a&lt;=d)){h=e.color;b&amp;&amp;(b.dataClass=f,b.colorIndex=e.colorIndex);break}}else{this.isLog&amp;&amp;(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(f=d.length;f--&amp;&amp;!(a&gt;d[f][0]););g=d[f]||d[f+1];d=d[f+1]||g;a=1-(d[0]-a)/(d[0]-g[0]||1);h=this.tweenColors(g.color,d.color,a)}return h},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&amp;&amp;(this.axisParent=a,k.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=\nb)},setLegendColor:function(){var a,b=this.options,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var d=a.padding,g=a.options,h=this.horiz,c=u(g.symbolWidth,h?this.defaultLegendLength:12),f=u(g.symbolHeight,h?12:this.defaultLegendLength),e=u(g.labelPadding,h?16:30),g=u(g.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,\na.baseline-11,c,f).attr({zIndex:1}).add(b.legendGroup);this.legendItemWidth=c+d+(h?g:e);this.legendItemHeight=f+d+(h?e:0)},setState:x,visible:!0,setVisible:x,getSeriesExtremes:function(){var a=this.series,b=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;b--;)void 0!==a[b].valueMin&amp;&amp;(this.dataMin=Math.min(this.dataMin,a[b].valueMin),this.dataMax=Math.max(this.dataMax,a[b].valueMax))},drawCrosshair:function(a,b){var d=b&amp;&amp;b.plotX,c=b&amp;&amp;b.plotY,h,f=this.pos,e=this.len;b&amp;&amp;(h=this.toPixels(b[b.series.colorKey]),\nh&lt;f?h=f-2:h&gt;f+e&amp;&amp;(h=f+e+2),b.plotX=h,b.plotY=this.len-h,k.prototype.drawCrosshair.call(this,a,b),b.plotX=d,b.plotY=c,this.cross&amp;&amp;(this.cross.addClass(\"highcharts-coloraxis-marker\").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,b,d,c,h){return w(h)?this.horiz?[\"M\",h-4,this.top-6,\"L\",h+4,this.top-6,h,this.top,\"Z\"]:[\"M\",this.left,h,\"L\",this.left-6,h+6,this.left-6,h-6,\"Z\"]:k.prototype.getPlotLinePath.call(this,a,b,d,c)},update:function(a,b){var d=this.chart,\nc=d.legend;e(this.series,function(a){a.isDirtyData=!0});a.dataClasses&amp;&amp;c.allItems&amp;&amp;(e(c.allItems,function(a){a.isDataClass&amp;&amp;a.legendGroup.destroy()}),d.isDirtyLegend=!0);d.options[this.coll]=q(this.userOptions,a);k.prototype.update.call(this,a,b);this.legendItem&amp;&amp;(this.setLegendColor(),c.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var a=this,b=this.chart,d=this.legendItems,g=b.options.legend,h=g.valueDecimals,t=g.valueSuffix||\"\",k;d.length||e(this.dataClasses,function(g,p){var l=\n!0,q=g.from,m=g.to;k=\"\";void 0===q?k=\"\\x3c \":void 0===m&amp;&amp;(k=\"\\x3e \");void 0!==q&amp;&amp;(k+=c.numberFormat(q,h)+t);void 0!==q&amp;&amp;void 0!==m&amp;&amp;(k+=\" - \");void 0!==m&amp;&amp;(k+=c.numberFormat(m,h)+t);d.push(v({chart:b,name:k,options:{},drawLegendSymbol:f.drawRectangle,visible:!0,setState:x,isDataClass:!0,setVisible:function(){l=this.visible=!l;e(a.series,function(a){e(a.points,function(a){a.dataClass===p&amp;&amp;a.setVisible(l)})});b.legend.colorizeItem(this,l)}},g))});return d},name:\"\"});e([\"fill\",\"stroke\"],function(a){c.Fx.prototype[a+\n\"Setter\"]=function(){this.elem.attr(a,l.prototype.tweenColors(m(this.start),m(this.end),this.pos),null,!0)}});t(r.prototype,\"getAxes\",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&amp;&amp;new l(this,b)});t(p.prototype,\"getAllItems\",function(a){var b=[],d=this.chart.colorAxis[0];d&amp;&amp;d.options&amp;&amp;(d.options.showInLegend&amp;&amp;(d.options.dataClasses?b=b.concat(d.getDataClassLegendSymbols()):b.push(d)),e(d.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});t(p.prototype,\n\"colorizeItem\",function(a,b,d){a.call(this,b,d);d&amp;&amp;b.legendColor&amp;&amp;b.legendSymbol.attr({fill:b.legendColor})})})(n);(function(c){var k=c.defined,r=c.each,m=c.noop,l=c.seriesTypes;c.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(c){var e=this,k=c?\"show\":\"hide\";r([\"graphic\",\"dataLabel\"],function(c){if(e[c])e[c][k]()})},setState:function(e){c.Point.prototype.setState.call(this,e);this.graphic&amp;&amp;this.graphic.attr({zIndex:\"hover\"===e?1:0})}};c.colorSeriesMixin={pointArrayMap:[\"value\"],\naxisTypes:[\"xAxis\",\"yAxis\",\"colorAxis\"],optionalAxis:\"colorAxis\",trackerGroups:[\"group\",\"markerGroup\",\"dataLabelsGroup\"],getSymbol:m,parallelArrays:[\"x\",\"y\",\"value\"],colorKey:\"value\",pointAttribs:l.column.prototype.pointAttribs,translateColors:function(){var c=this,k=this.options.nullColor,l=this.colorAxis,m=this.colorKey;r(this.data,function(f){var e=f[m];if(e=f.options.color||(f.isNull?k:l&amp;&amp;void 0!==e?l.toColor(e,f):f.color||c.color))f.color=e})},colorAttribs:function(c){var e={};k(c.color)&amp;&amp;(e[this.colorProp||\n\"fill\"]=c.color);return e}}})(n);(function(c){var k=c.colorPointMixin,r=c.each,m=c.merge,l=c.noop,e=c.pick,n=c.Series,w=c.seriesType,p=c.seriesTypes;w(\"heatmap\",\"scatter\",{animation:!1,borderWidth:0,nullColor:\"#f7f7f7\",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:\"middle\",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:\"{point.x}, {point.y}: {point.value}\\x3cbr/\\x3e\"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},\nm(c.colorSeriesMixin,{pointArrayMap:[\"y\",\"value\"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var c;p.scatter.prototype.init.apply(this,arguments);c=this.options;c.pointRange=e(c.pointRange,c.colsize||1);this.yAxis.axisPointRange=c.rowsize||1},translate:function(){var c=this.options,e=this.xAxis,k=this.yAxis,l=function(c,a,b){return Math.min(Math.max(a,c),b)};this.generatePoints();r(this.points,function(f){var a=(c.colsize||1)/2,b=(c.rowsize||\n1)/2,d=l(Math.round(e.len-e.translate(f.x-a,0,1,0,1)),-e.len,2*e.len),a=l(Math.round(e.len-e.translate(f.x+a,0,1,0,1)),-e.len,2*e.len),g=l(Math.round(k.translate(f.y-b,0,1,0,1)),-k.len,2*k.len),b=l(Math.round(k.translate(f.y+b,0,1,0,1)),-k.len,2*k.len);f.plotX=f.clientX=(d+a)/2;f.plotY=(g+b)/2;f.shapeType=\"rect\";f.shapeArgs={x:Math.min(d,a),y:Math.min(g,b),width:Math.abs(a-d),height:Math.abs(b-g)}});this.translateColors()},drawPoints:function(){p.column.prototype.drawPoints.call(this);r(this.points,\nfunction(c){c.graphic.attr(this.colorAttribs(c))},this)},animate:l,getBox:l,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,alignDataLabel:p.column.prototype.alignDataLabel,getExtremes:function(){n.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;n.prototype.getExtremes.call(this)}}),k)})(n)});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 14:59:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3c3d2cdbdb1532002e5df2b6ae96197f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts-heatmap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3c3d2cdbdb1532002e5df2b6ae96197f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 14:59:25&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>f0ebf59fdbd532002e5df2b6ae961970</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-heatmap</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>f4ebf59fdbd532002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>f8ebf59fdbd532002e5df2b6ae961971</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Heatmap\">28ebb59fdbd532002e5df2b6ae9619ca</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:41</sys_created_on>\n<sys_id>fcebf59fdbd532002e5df2b6ae961970</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-line-chart/README.md",
    "content": "# Line, Spline or Web Chart\n\n## Description\n\nThis is used to create a simple Line, Spline or Web (Polar) Chart\n\n## Screenshots\n![](../../images/pe-line-chart.png)\n![](../../images/pe-spline-chart.png)\n![](../../images/pe-polar-chart.png)\n![alt text](../../images/pe-line-chart-modified.png \"Modified Version Using Advanced\")\n![alt text](../../images/pe-spline-chart-modified.png \"Modified Version Using Advanced\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-line-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-line-chart/pe-line-chart.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Type\"** Toggle chart between Line or Spline chart. `Default: Line chart`<br/>\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n    \"title\":{\n        \"text\":\"Line Chart\",\n        \"style\":{\n            \"color\":\"white\"\n        }\n    },\n    \"options\":{\n        \"colors\": [\"rgba(255, 0, 0,1)\", \"rgba(0, 255, 0,1)\", \"rgba(0, 0, 255,1)\"],\n        \"exporting\":{\n            \"enabled\":false\n        },\n        \"chart\":{\n            \"backgroundColor\":null,\n            \"margin\": [2, 0, 2, 0],\n            \"borderWidth\":0,\n            \"height\":310\n        },\n\t\t\"legend\":{\n\t\t\t\"enabled\":false\n\t\t},\n        \"plotOptions\":{\n            \"series\":{\n                \"stacking\":\"normal\"\n            }\n        }\n    }\n}\n```\n\nIn order to produce a Web (Polar) chart, change the \"Advance\" option to include the following:\n\n```json\n{\n    \"options\":{\n        \"chart\":{\n            \"polar\":true\n        }\n    }\n}\n```\n![alt text](../../images/pe-polar-chart-modified.png \"Modified Version Using Advanced\")\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-line-chart/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-line-chart/pe-line-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:42:45\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Line Chart</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>617baa8fdbd932002e5df2b6ae9619d2</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>e1ebf59fdbd532002e5df2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_js_include display_value=\"PE highcharts-ng\">b3244d07db5932002e5df2b6ae96197e</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bd340d07db5932002e5df2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:59</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>21ebf59fdbd532002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE highcharts-ng</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>21ebf59fdbd532002e5df2b6ae961977</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>25ebf59fdbd532002e5df2b6ae961976</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>29ebf59fdbd532002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5a548d07db5932002e5df2b6ae9619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:46</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>2debf59fdbd532002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>2debf59fdbd532002e5df2b6ae961977</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_191ca687db593200f687dfea5e9619d0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcsLineChart = new HighchartsConfigService(c.options, c.options.type, c.data);\n\tc.chartConfig = hcsLineChart.getChartConfig();\n\thcsLineChart.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-line-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Line Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"type\",\"label\":\"Type\",\"type\":\"choice\",\"choices\":[{\"label\":\"Line\",\"value\":\"line\"},{\"label\":\"Spline\",\"value\":\"spline\"}]},{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Fields\",\"type\":\"field_list\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.type = options.type || serverOptions.type || \"line\";\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Line Chart\"\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 05:34:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;191ca687db593200f687dfea5e9619d0&lt;/sys_id&gt;&lt;sys_mod_count&gt;13&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Line Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_191ca687db593200f687dfea5e9619d0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 17:23:55&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-line-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>61ebf59fdbd532002e5df2b6ae961976</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Line Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>65ebf59fdbd532002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>65ebf59fdbd532002e5df2b6ae961978</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_cf4eeacfdbd932002e5df2b6ae961991</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Line Chart\">191ca687db593200f687dfea5e9619d0</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 05:44:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cf4eeacfdbd932002e5df2b6ae961991</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Line Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_cf4eeacfdbd932002e5df2b6ae961991</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 05:44:28</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>69ebf59fdbd532002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Line Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>69ebf59fdbd532002e5df2b6ae961977</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba94cd07db5932002e5df2b6ae9619f5</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>6debf59fdbd532002e5df2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>6debf59fdbd532002e5df2b6ae961976</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>a1ebf59fdbd532002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>a1ebf59fdbd532002e5df2b6ae961978</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_c74eeacfdbd932002e5df2b6ae961991</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_widget display_value=\"PE Line Chart\">191ca687db593200f687dfea5e9619d0</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 05:44:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c74eeacfdbd932002e5df2b6ae961991</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Line Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_c74eeacfdbd932002e5df2b6ae961991</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 05:44:27</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>a5ebf59fdbd532002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Line Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>a5ebf59fdbd532002e5df2b6ae961977</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba84cd07db5932002e5df2b6ae961987</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>a9ebf59fdbd532002e5df2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>a9ebf59fdbd532002e5df2b6ae961976</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>adebf59fdbd532002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c874cd07db5932002e5df2b6ae961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:57</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>e1ebf59fdbd532002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>e1ebf59fdbd532002e5df2b6ae961977</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>150</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5674cd07db5932002e5df2b6ae96193f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:13</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>e5ebf59fdbd532002e5df2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>e5ebf59fdbd532002e5df2b6ae961976</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>e9ebf59fdbd532002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>edebf59fdbd532002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Line Chart\">e1ebf59fdbd532002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:45</sys_created_on>\n<sys_id>edebf59fdbd532002e5df2b6ae961977</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:45</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-line-chart/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-line-chart/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-line-chart/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-line-chart/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-line-chart/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-line-chart/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-line-chart/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-line-chart/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-line-chart/widget/pe-line-chart.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-line-chart\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-line-chart/widget/pe-line-chart.u-client-script.js",
    "content": "function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcsLineChart = new HighchartsConfigService(c.options, c.options.type, c.data);\n\tc.chartConfig = hcsLineChart.getChartConfig();\n\thcsLineChart.get();\n}"
  },
  {
    "path": "highcharts/pe-line-chart/widget/pe-line-chart.u-css.css",
    "content": ""
  },
  {
    "path": "highcharts/pe-line-chart/widget/pe-line-chart.u-option-schema.json",
    "content": "[{\n\t\"name\": \"type\",\n\t\"label\": \"Type\",\n\t\"type\": \"choice\",\n\t\"choices\": [{\n\t\t\"label\": \"Line\",\n\t\t\"value\": \"line\"\n\t}, {\n\t\t\"label\": \"Spline\",\n\t\t\"value\": \"spline\"\n\t}]\n}, {\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Fields\",\n\t\"type\": \"field_list\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&nbspworld\\\"\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-line-chart/widget/pe-line-chart.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.type = options.type || serverOptions.type || \"line\";\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Line Chart\"\n\t\t}\n\t});\n})();"
  },
  {
    "path": "highcharts/pe-pie-chart/README.md",
    "content": "# Pie/Donut Chart\n\n## Description\n\nThis is used to create a simple Pie or Donut Chart\n\n## Screenshots\n![](../../images/pe-pie-chart.png)\n![](../../images/pe-highchart-donut.png)\n![alt text](../../images/pe-pie-chart-modified.png \"Modified Version Using Advanced\")\n![alt text](../../images/pe-donut-chart-modified.png \"Modified Version Using Advanced\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-pie-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-pie-chart/pe-pie-chart.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n    \"title\":{\n        \"text\":\"Pie Chart\",\n        \"style\":{\n            \"color\":\"white\"\n        }\n    },\n    \"options\":{\n        \"colors\": [\"rgba(255, 0, 0,1)\", \"rgba(0, 255, 0,1)\", \"rgba(0, 0, 255,1)\"],\n        \"exporting\":{\n            \"enabled\":false\n        },\n        \"chart\":{\n            \"backgroundColor\":null,\n            \"margin\": [2, 0, 2, 0],\n            \"borderWidth\":0,\n            \"height\":310\n        }\n\t\t},\n\t\t\"legend\":{\n\t\t\t\"enabled\":false\n\t\t}\n}\n```\n\nIn order to convert a Pie Chart into a Donut Chart add the following to the \"Advance\" option.\n\nThe innerSize property percentage controls the size of the hole.\n\n```json\n{\n    \"options\":{\n\t\t\"plotOptions\":{\n\t\t\t\"pie\":{\n\t\t\t\t    \"innerSize\":\"40%\"\n\t\t\t    }\n\t\t    }\n\t    }\n    }\n}\n```\n\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-pie-chart/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-pie-chart/pe-pie-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:42:50\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Pie Chart</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>99c6f2c3db1d32002e5df2b6ae9619e3</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>7aeb399fdbd532002e5df2b6ae961924</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba84cd07db5932002e5df2b6ae961987</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba84cd07db5932002e5df2b6ae961987</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>32eb399fdbd532002e5df2b6ae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>32eb399fdbd532002e5df2b6ae961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>36eb399fdbd532002e5df2b6ae961927</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>36eb399fdbd532002e5df2b6ae961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>3aeb399fdbd532002e5df2b6ae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>3aeb399fdbd532002e5df2b6ae961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_06f359d3db9532002e5df2b6ae961929</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_widget display_value=\"PE Pie Chart\">343199d7db513200f687dfea5e961957</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 17:48:17</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>06f359d3db9532002e5df2b6ae961929</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Pie Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_06f359d3db9532002e5df2b6ae961929</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 17:48:17</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>3eeb399fdbd532002e5df2b6ae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Pie Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>72eb399fdbd532002e5df2b6ae961927</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>72eb399fdbd532002e5df2b6ae961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>76eb399fdbd532002e5df2b6ae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c874cd07db5932002e5df2b6ae961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c874cd07db5932002e5df2b6ae961919</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:57</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>7aeb399fdbd532002e5df2b6ae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>7aeb399fdbd532002e5df2b6ae961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>150</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5674cd07db5932002e5df2b6ae96193f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5674cd07db5932002e5df2b6ae96193f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:13</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>7eeb399fdbd532002e5df2b6ae961924</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>7eeb399fdbd532002e5df2b6ae961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:01:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5a548d07db5932002e5df2b6ae9619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_5a548d07db5932002e5df2b6ae9619bf</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:01:46</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>b2eb399fdbd532002e5df2b6ae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_js_include display_value=\"PE highcharts-ng\">b3244d07db5932002e5df2b6ae96197e</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bd340d07db5932002e5df2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:59</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>b6eb399fdbd532002e5df2b6ae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE highcharts-ng</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>b6eb399fdbd532002e5df2b6ae961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>baeb399fdbd532002e5df2b6ae961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>beeb399fdbd532002e5df2b6ae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>beeb399fdbd532002e5df2b6ae961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba94cd07db5932002e5df2b6ae9619f5</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ba94cd07db5932002e5df2b6ae9619f5</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>f2eb399fdbd532002e5df2b6ae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>f2eb399fdbd532002e5df2b6ae961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_343199d7db513200f687dfea5e961957</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcs = new HighchartsConfigService(c.options, \"pie\", c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"data\": [\n\t\t[\"Jan\", 31],\n\t\t[\"Feb\", 28],\n\t\t[\"Mar\", 31],\n\t\t[\"Apr\", 30],\n\t\t[\"May\", 31],\n\t\t[\"Jun\", 30],\n\t\t[\"Jul\", 31],\n\t\t[\"Aug\", 31],\n\t\t[\"Sep\", 30],\n\t\t[\"Oct\", 31],\n\t\t[\"Nov\", 30],\n\t\t[\"Dec\", 31]\n\t]\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Pie Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Field\",\"type\":\"field_name\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"exporting\",\"label\":\"Enable Export\",\"type\":\"choice\",\"choices\":[{\"label\":\"Enable\",\"value\":\"true\"},{\"label\":\"Disable\",\"value\":\"false\"}]},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\toptions:{\\n\\t\\tplotOptions:{\\n\\t\\t\\tpie:{\\n\\t\\t\\t\\tinnerSize:\\\"40%\\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getPieDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"options\":{\n\t\t\t\"plotOptions\":{\n\t\t\t\t\"pie\":{\n\t\t\t\t\t\"innerSize\":\"80%\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"exporting\":{\n\t\t\t\t\"enabled\":false\n\t\t\t}\n\t\t},\n\t\t\"title\":{\n\t\t\t\"text\":\"Pie Chart/Donut Chart\"\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 17:36:11&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;343199d7db513200f687dfea5e961957&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Pie Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_343199d7db513200f687dfea5e961957&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 17:53:05&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-pie-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>f6eb399fdbd532002e5df2b6ae961927</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Pie Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>f6eb399fdbd532002e5df2b6ae961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>faeb399fdbd532002e5df2b6ae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>faeb399fdbd532002e5df2b6ae961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_c6f359d3db9532002e5df2b6ae9619cd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Pie Chart\">343199d7db513200f687dfea5e961957</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 17:48:17</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c6f359d3db9532002e5df2b6ae9619cd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Pie Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_c6f359d3db9532002e5df2b6ae9619cd</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 17:48:17</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Pie Chart\">7aeb399fdbd532002e5df2b6ae961924</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:50</sys_created_on>\n<sys_id>feeb399fdbd532002e5df2b6ae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:50</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Pie Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-pie-chart/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-pie-chart/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-pie-chart/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-pie-chart/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-pie-chart/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-pie-chart/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-pie-chart/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-pie-chart/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-pie-chart/widget/pe-pie-chart.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-pie-chart\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-pie-chart/widget/pe-pie-chart.u-client-script.js",
    "content": "function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcs = new HighchartsConfigService(c.options, \"pie\", c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}"
  },
  {
    "path": "highcharts/pe-pie-chart/widget/pe-pie-chart.u-css.css",
    "content": ""
  },
  {
    "path": "highcharts/pe-pie-chart/widget/pe-pie-chart.u-option-schema.json",
    "content": "[{\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Field\",\n\t\"type\": \"field_name\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"exporting\",\n\t\"label\": \"Enable Export\",\n\t\"type\": \"choice\",\n\t\"choices\": [{\n\t\t\"label\": \"Enable\",\n\t\t\"value\": \"true\"\n\t}, {\n\t\t\"label\": \"Disable\",\n\t\t\"value\": \"false\"\n\t}]\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\toptions:{\\n\\t\\tplotOptions:{\\n\\t\\t\\tpie:{\\n\\t\\t\\t\\tinnerSize:\\\"40%\\\"\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-pie-chart/widget/pe-pie-chart.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getPieDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"pie\": {\n\t\t\t\t\t\"innerSize\": \"80%\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"exporting\": {\n\t\t\t\t\"enabled\": false\n\t\t\t}\n\t\t},\n\t\t\"title\": {\n\t\t\t\"text\": \"Pie Chart/Donut Chart\"\n\t\t}\n\t});\n})();"
  },
  {
    "path": "highcharts/pe-solid-gauge/README.md",
    "content": "# Solid Gauge Chart\n\n## Description\n\nThis is used to create a simple Solid Gauge, or Solid Gauge Arc\n\n## Screenshots\n![](../../images/pe-solid-gauge-chart.png)\n![](../../images/pe-solid-gauge-arc-chart.png)\n![alt text](../../images/pe-solid-gauge-modified-chart.png \"Modified Version Using Advanced\")\n![alt text](../../images/pe-solid-gauge-arc-modified-chart.png \"Modified Version Using Advanced\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-solid-gauge.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-solid-gauge/pe-solid-gauge.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n\t\"options\":{\n\t\t\"pane\":{\n\t\t\t\"background\":{\n\t\t\t\t\"shape\":\"solid\",\n\t\t\t\t\"innerRadius\": \"60%\",\n\t\t\t\t\"outerRadius\": \"100%\"\n\t\t\t}\n\t\t},\n\t\t\"chart\":{\n\t\t\t\"backgroundColor\":null,\n       \"margin\": [2, 0, 2, 0],\n       \"borderWidth\":0,\n       \"height\":310,\n\t\t\t\"width\":310\n\t\t},\n\t\t\"exporting\":{\n\t\t\t\"enabled\":false\n\t\t}\n\t},\n\t\"yAxis\":{\n\t\t\"min\":0,\n\t\t\"max\":100,\n\t\t\"minColor\":\"rgba(128,0,128,.1)\",\n\t\t\"maxColor\":\"rgba(128,0,128,1)\",\n\t\t\"tickAmount\":0,\n\t\t\"tickWidth\":0,\n\t\t\"tickPositions\":[]\n\t},\n\t\"title\":{\n\t\t\"text\":\"Solid Gauge\",\n\t\t\"y\":120,\n\t\t\"style\":{\n\t\t\t\"color\":\"white\"\n\t\t}\n\t}\n}\n```\n\nTo make a Solid Guage Arc chart the \"Advance\" option will need to be set like the following.\n\nThe startAngle and endAngle can be changed to make many variations of this arc and do not have to be equal either.\n\n```json\n{\n\t\"options\":{\n\t\t\"pane\":{\n\t\t\"startAngle\": -90,\n\t\t\"endAngle\": 90,\n\t\t\"background\":{\n\t\t\t\"shape\":\"arc\",\n\t\t}\n\t}\n}\n```\n\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-solid-gauge/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-solid-gauge/pe-solid-gauge.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:42:54\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Solid Gauge</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>2e5876c3db1d32002e5df2b6ae961945</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>f3eb399fdbd532002e5df2b6ae96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c132e59bdb9532002e5df2b6ae9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>400</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c132e59bdb9532002e5df2b6ae9619a3</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c132e59bdb9532002e5df2b6ae9619a3</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:57:03</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>33eb399fdbd532002e5df2b6ae96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3c3d2cdbdb1532002e5df2b6ae96197f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts-heatmap&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.7 (2017-01-17)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(n){\"object\"===typeof module&amp;&amp;module.exports?module.exports=n:n(Highcharts)})(function(n){(function(c){var k=c.Axis,r=c.Chart,m=c.color,l,e=c.each,v=c.extend,w=c.isNumber,p=c.Legend,f=c.LegendSymbolMixin,x=c.noop,q=c.merge,u=c.pick,t=c.wrap;l=c.ColorAxis=function(){this.init.apply(this,arguments)};v(l.prototype,k.prototype);v(l.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},\nwidth:.01,color:\"#999999\"},labels:{overflow:\"justify\",rotation:0},minColor:\"#e6ebf5\",maxColor:\"#003399\",tickLength:5,showInLegend:!0},keepProps:[\"legendGroup\",\"legendItem\",\"legendSymbol\"].concat(k.prototype.keepProps),init:function(a,b){var d=\"vertical\"!==a.options.legend.layout,g;this.coll=\"colorAxis\";g=q(this.defaultColorAxisOptions,{side:d?2:1,reversed:!d},b,{opposite:!d,showEmpty:!1,title:null});k.prototype.init.call(this,a,g);b.dataClasses&amp;&amp;this.initDataClasses(b);this.initStops(b);this.horiz=\nd;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,b,d){var g;b.rgba.length&amp;&amp;a.rgba.length?(a=a.rgba,b=b.rgba,g=1!==b[3]||1!==a[3],a=(g?\"rgba(\":\"rgb(\")+Math.round(b[0]+(a[0]-b[0])*(1-d))+\",\"+Math.round(b[1]+(a[1]-b[1])*(1-d))+\",\"+Math.round(b[2]+(a[2]-b[2])*(1-d))+(g?\",\"+(b[3]+(a[3]-b[3])*(1-d)):\"\")+\")\"):a=b.input||\"none\";return a},initDataClasses:function(a){var b=this,d=this.chart,g,h=0,c=d.options.chart.colorCount,y=this.options,f=a.dataClasses.length;this.dataClasses=g=\n[];this.legendItems=[];e(a.dataClasses,function(a,e){a=q(a);g.push(a);a.color||(\"category\"===y.dataClassColor?(e=d.options.colors,c=e.length,a.color=e[h],a.colorIndex=h,h++,h===c&amp;&amp;(h=0)):a.color=b.tweenColors(m(y.minColor),m(y.maxColor),2&gt;f?.5:e/(f-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];e(this.stops,function(a){a.color=m(a[1])})},setOptions:function(a){k.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=\nthis.legendSymbol,b=this.chart,d=b.options.legend||{},g,h;a?(this.left=d=a.attr(\"x\"),this.top=g=a.attr(\"y\"),this.width=h=a.attr(\"width\"),this.height=a=a.attr(\"height\"),this.right=b.chartWidth-d-h,this.bottom=b.chartHeight-g-a,this.len=this.horiz?h:a,this.pos=this.horiz?d:g):this.len=(this.horiz?d.symbolWidth:d.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var d=this.stops,g,h,c=this.dataClasses,e,f;if(c)for(f=c.length;f--;){if(e=c[f],g=e.from,d=e.to,(void 0===g||a&gt;=g)&amp;&amp;(void 0===\nd||a&lt;=d)){h=e.color;b&amp;&amp;(b.dataClass=f,b.colorIndex=e.colorIndex);break}}else{this.isLog&amp;&amp;(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(f=d.length;f--&amp;&amp;!(a&gt;d[f][0]););g=d[f]||d[f+1];d=d[f+1]||g;a=1-(d[0]-a)/(d[0]-g[0]||1);h=this.tweenColors(g.color,d.color,a)}return h},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&amp;&amp;(this.axisParent=a,k.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=\nb)},setLegendColor:function(){var a,b=this.options,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var d=a.padding,g=a.options,h=this.horiz,c=u(g.symbolWidth,h?this.defaultLegendLength:12),f=u(g.symbolHeight,h?12:this.defaultLegendLength),e=u(g.labelPadding,h?16:30),g=u(g.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,\na.baseline-11,c,f).attr({zIndex:1}).add(b.legendGroup);this.legendItemWidth=c+d+(h?g:e);this.legendItemHeight=f+d+(h?e:0)},setState:x,visible:!0,setVisible:x,getSeriesExtremes:function(){var a=this.series,b=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;b--;)void 0!==a[b].valueMin&amp;&amp;(this.dataMin=Math.min(this.dataMin,a[b].valueMin),this.dataMax=Math.max(this.dataMax,a[b].valueMax))},drawCrosshair:function(a,b){var d=b&amp;&amp;b.plotX,c=b&amp;&amp;b.plotY,h,f=this.pos,e=this.len;b&amp;&amp;(h=this.toPixels(b[b.series.colorKey]),\nh&lt;f?h=f-2:h&gt;f+e&amp;&amp;(h=f+e+2),b.plotX=h,b.plotY=this.len-h,k.prototype.drawCrosshair.call(this,a,b),b.plotX=d,b.plotY=c,this.cross&amp;&amp;(this.cross.addClass(\"highcharts-coloraxis-marker\").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,b,d,c,h){return w(h)?this.horiz?[\"M\",h-4,this.top-6,\"L\",h+4,this.top-6,h,this.top,\"Z\"]:[\"M\",this.left,h,\"L\",this.left-6,h+6,this.left-6,h-6,\"Z\"]:k.prototype.getPlotLinePath.call(this,a,b,d,c)},update:function(a,b){var d=this.chart,\nc=d.legend;e(this.series,function(a){a.isDirtyData=!0});a.dataClasses&amp;&amp;c.allItems&amp;&amp;(e(c.allItems,function(a){a.isDataClass&amp;&amp;a.legendGroup.destroy()}),d.isDirtyLegend=!0);d.options[this.coll]=q(this.userOptions,a);k.prototype.update.call(this,a,b);this.legendItem&amp;&amp;(this.setLegendColor(),c.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var a=this,b=this.chart,d=this.legendItems,g=b.options.legend,h=g.valueDecimals,t=g.valueSuffix||\"\",k;d.length||e(this.dataClasses,function(g,p){var l=\n!0,q=g.from,m=g.to;k=\"\";void 0===q?k=\"\\x3c \":void 0===m&amp;&amp;(k=\"\\x3e \");void 0!==q&amp;&amp;(k+=c.numberFormat(q,h)+t);void 0!==q&amp;&amp;void 0!==m&amp;&amp;(k+=\" - \");void 0!==m&amp;&amp;(k+=c.numberFormat(m,h)+t);d.push(v({chart:b,name:k,options:{},drawLegendSymbol:f.drawRectangle,visible:!0,setState:x,isDataClass:!0,setVisible:function(){l=this.visible=!l;e(a.series,function(a){e(a.points,function(a){a.dataClass===p&amp;&amp;a.setVisible(l)})});b.legend.colorizeItem(this,l)}},g))});return d},name:\"\"});e([\"fill\",\"stroke\"],function(a){c.Fx.prototype[a+\n\"Setter\"]=function(){this.elem.attr(a,l.prototype.tweenColors(m(this.start),m(this.end),this.pos),null,!0)}});t(r.prototype,\"getAxes\",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&amp;&amp;new l(this,b)});t(p.prototype,\"getAllItems\",function(a){var b=[],d=this.chart.colorAxis[0];d&amp;&amp;d.options&amp;&amp;(d.options.showInLegend&amp;&amp;(d.options.dataClasses?b=b.concat(d.getDataClassLegendSymbols()):b.push(d)),e(d.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});t(p.prototype,\n\"colorizeItem\",function(a,b,d){a.call(this,b,d);d&amp;&amp;b.legendColor&amp;&amp;b.legendSymbol.attr({fill:b.legendColor})})})(n);(function(c){var k=c.defined,r=c.each,m=c.noop,l=c.seriesTypes;c.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(c){var e=this,k=c?\"show\":\"hide\";r([\"graphic\",\"dataLabel\"],function(c){if(e[c])e[c][k]()})},setState:function(e){c.Point.prototype.setState.call(this,e);this.graphic&amp;&amp;this.graphic.attr({zIndex:\"hover\"===e?1:0})}};c.colorSeriesMixin={pointArrayMap:[\"value\"],\naxisTypes:[\"xAxis\",\"yAxis\",\"colorAxis\"],optionalAxis:\"colorAxis\",trackerGroups:[\"group\",\"markerGroup\",\"dataLabelsGroup\"],getSymbol:m,parallelArrays:[\"x\",\"y\",\"value\"],colorKey:\"value\",pointAttribs:l.column.prototype.pointAttribs,translateColors:function(){var c=this,k=this.options.nullColor,l=this.colorAxis,m=this.colorKey;r(this.data,function(f){var e=f[m];if(e=f.options.color||(f.isNull?k:l&amp;&amp;void 0!==e?l.toColor(e,f):f.color||c.color))f.color=e})},colorAttribs:function(c){var e={};k(c.color)&amp;&amp;(e[this.colorProp||\n\"fill\"]=c.color);return e}}})(n);(function(c){var k=c.colorPointMixin,r=c.each,m=c.merge,l=c.noop,e=c.pick,n=c.Series,w=c.seriesType,p=c.seriesTypes;w(\"heatmap\",\"scatter\",{animation:!1,borderWidth:0,nullColor:\"#f7f7f7\",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:\"middle\",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:\"{point.x}, {point.y}: {point.value}\\x3cbr/\\x3e\"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},\nm(c.colorSeriesMixin,{pointArrayMap:[\"y\",\"value\"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var c;p.scatter.prototype.init.apply(this,arguments);c=this.options;c.pointRange=e(c.pointRange,c.colsize||1);this.yAxis.axisPointRange=c.rowsize||1},translate:function(){var c=this.options,e=this.xAxis,k=this.yAxis,l=function(c,a,b){return Math.min(Math.max(a,c),b)};this.generatePoints();r(this.points,function(f){var a=(c.colsize||1)/2,b=(c.rowsize||\n1)/2,d=l(Math.round(e.len-e.translate(f.x-a,0,1,0,1)),-e.len,2*e.len),a=l(Math.round(e.len-e.translate(f.x+a,0,1,0,1)),-e.len,2*e.len),g=l(Math.round(k.translate(f.y-b,0,1,0,1)),-k.len,2*k.len),b=l(Math.round(k.translate(f.y+b,0,1,0,1)),-k.len,2*k.len);f.plotX=f.clientX=(d+a)/2;f.plotY=(g+b)/2;f.shapeType=\"rect\";f.shapeArgs={x:Math.min(d,a),y:Math.min(g,b),width:Math.abs(a-d),height:Math.abs(b-g)}});this.translateColors()},drawPoints:function(){p.column.prototype.drawPoints.call(this);r(this.points,\nfunction(c){c.graphic.attr(this.colorAttribs(c))},this)},animate:l,getBox:l,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,alignDataLabel:p.column.prototype.alignDataLabel,getExtremes:function(){n.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;n.prototype.getExtremes.call(this)}}),k)})(n)});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 14:59:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3c3d2cdbdb1532002e5df2b6ae96197f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts-heatmap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3c3d2cdbdb1532002e5df2b6ae96197f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 14:59:25&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>33eb399fdbd532002e5df2b6ae96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-heatmap</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>37eb399fdbd532002e5df2b6ae961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>3beb399fdbd532002e5df2b6ae961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>3beb399fdbd532002e5df2b6ae96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4512e95bdb9532002e5df2b6ae96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5 Solid Gauge</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:49:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4512e95bdb9532002e5df2b6ae96194f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4512e95bdb9532002e5df2b6ae96194f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:49:56</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>3feb399fdbd532002e5df2b6ae96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>3feb399fdbd532002e5df2b6ae961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>3feb399fdbd532002e5df2b6ae96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>73eb399fdbd532002e5df2b6ae961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7532299bdb9532002e5df2b6ae96197a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts-Solid-Gauge</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7532299bdb9532002e5df2b6ae96197a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts-Solid-Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts-Solid-Gauge\">0a70295bdb9532002e5df2b6ae96192a</sys_ui_script><sys_update_name>sp_js_include_7532299bdb9532002e5df2b6ae96197a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:50:46</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>77eb399fdbd532002e5df2b6ae961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-Solid-Gauge</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>77eb399fdbd532002e5df2b6ae96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_c3b825dfdb9532002e5df2b6ae9619ba</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_widget display_value=\"PE Solid Gauge\">4657a11fdb9532002e5df2b6ae961996</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 19:19:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3b825dfdb9532002e5df2b6ae9619ba</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Solid Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_c3b825dfdb9532002e5df2b6ae9619ba</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 19:19:01</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>7beb399fdbd532002e5df2b6ae96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Solid Gauge</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>7beb399fdbd532002e5df2b6ae961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>7beb399fdbd532002e5df2b6ae96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_8d32e59bdb9532002e5df2b6ae9619a4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8d32e59bdb9532002e5df2b6ae9619a4</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_8d32e59bdb9532002e5df2b6ae9619a4</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:57:00</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>7feb399fdbd532002e5df2b6ae96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>7feb399fdbd532002e5df2b6ae961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>b3eb399fdbd532002e5df2b6ae961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>b3eb399fdbd532002e5df2b6ae96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_24492d13dbd532002e5df2b6ae9619b1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Solid Gauge\">4657a11fdb9532002e5df2b6ae961996</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 19:21:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>24492d13dbd532002e5df2b6ae9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Solid Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_24492d13dbd532002e5df2b6ae9619b1</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 19:21:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>b7eb399fdbd532002e5df2b6ae96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Solid Gauge</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>b7eb399fdbd532002e5df2b6ae96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_4532e59bdb9532002e5df2b6ae96199f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4532e59bdb9532002e5df2b6ae96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_4532e59bdb9532002e5df2b6ae96199f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:50:29</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>bbeb399fdbd532002e5df2b6ae96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>bbeb399fdbd532002e5df2b6ae961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4657a11fdb9532002e5df2b6ae961996</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, $timeout, HighchartsConfigService) {\n\tvar c = this;\n\n\tvar hcs = new HighchartsConfigService(c.options, \"solidgauge\", c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"data\": [{\n\t\t\"name\": \"Jan\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Feb\",\n\t\t\"y\": 28\n\t}, {\n\t\t\"name\": \"Mar\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Apr\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"May\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Jun\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Jul\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Aug\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Sep\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Oct\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Nov\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Dec\",\n\t\t\"y\": 31\n\t}]\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Solid Gauge&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Field\",\"type\":\"field_name\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getGaugeDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"options\":{\n\t\t\t\"pane\":{\n\t\t\t\t\"startAngle\":-90,\n\t\t\t\t\"endAngle\":90,\n\t\t\t\t\"background\":{\n\t\t\t\t\t\"shape\":\"arc\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"yAxis\":{\n\t\t\t\t\"softMin\":0,\n\t\t\t\t\"softMax\":100\n\t\t\t}\n\t\t},\n\t\t\"title\":{\n\t\t\t\"text\":\"Solid Arc Gauge\"\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 19:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4657a11fdb9532002e5df2b6ae961996&lt;/sys_id&gt;&lt;sys_mod_count&gt;9&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Solid Gauge&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4657a11fdb9532002e5df2b6ae961996&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 19:32:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-solid-gauge-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>bfeb399fdbd532002e5df2b6ae961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Solid Gauge</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d542299bdb9532002e5df2b6ae96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts-Solid-Gauge\">7532299bdb9532002e5df2b6ae96197a</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d542299bdb9532002e5df2b6ae96192d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts-Solid-Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d542299bdb9532002e5df2b6ae96192d</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:50:54</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>f3eb399fdbd532002e5df2b6ae96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts-Solid-Gauge</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>f3eb399fdbd532002e5df2b6ae96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_0932e59bdb9532002e5df2b6ae9619a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>500</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0932e59bdb9532002e5df2b6ae9619a1</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_0932e59bdb9532002e5df2b6ae9619a1</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:51:05</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>f7eb399fdbd532002e5df2b6ae96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_0a70295bdb9532002e5df2b6ae96192a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts-Solid-Gauge&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n  Highcharts JS v5.0.5 (2016-11-29)\n Solid angular gauge module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(l) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = l : l(Highcharts)\n})(function(l) {\n\t(function(f) {\n\t\tvar l = f.pInt,\n\t\t\tt = f.pick,\n\t\t\tm = f.each,\n\t\t\tv = f.isNumber,\n\t\t\tn;\n\t\tn = {\n\t\t\tinitDataClasses: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = this.chart,\n\t\t\t\t\te, u = 0,\n\t\t\t\t\th = this.options;\n\t\t\t\tthis.dataClasses = e = [];\n\t\t\t\tm(a.dataClasses, function(g, b) {\n\t\t\t\t\tg = f.merge(g);\n\t\t\t\t\te.push(g);\n\t\t\t\t\tg.color || (\"category\" === h.dataClassColor ? (b = d.options.colors, g.color = b[u++], u === b.length &amp;&amp; (u = 0)) : g.color = c.tweenColors(f.color(h.minColor), f.color(h.maxColor), b / (a.dataClasses.length - 1)))\n\t\t\t\t})\n\t\t\t},\n\t\t\tinitStops: function(a) {\n\t\t\t\tthis.stops =\n\t\t\t\t\ta.stops || [\n\t\t\t\t\t\t[0, this.options.minColor],\n\t\t\t\t\t\t[1, this.options.maxColor]\n\t\t\t\t\t];\n\t\t\t\tm(this.stops, function(a) {\n\t\t\t\t\ta.color = f.color(a[1])\n\t\t\t\t})\n\t\t\t},\n\t\t\ttoColor: function(a, c) {\n\t\t\t\tvar d = this.stops,\n\t\t\t\t\te, f, h = this.dataClasses,\n\t\t\t\t\tg, b;\n\t\t\t\tif (h)\n\t\t\t\t\tfor (b = h.length; b--;) {\n\t\t\t\t\t\tif (g = h[b], e = g.from, d = g.to, (void 0 === e || a &gt;= e) &amp;&amp; (void 0 === d || a &lt;= d)) {\n\t\t\t\t\t\t\tf = g.color;\n\t\t\t\t\t\t\tc &amp;&amp; (c.dataClass = b);\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.isLog &amp;&amp; (a = this.val2lin(a));\n\t\t\t\t\t\ta = 1 - (this.max - a) / (this.max - this.min);\n\t\t\t\t\t\tfor (b = d.length; b-- &amp;&amp; !(a &gt; d[b][0]););\n\t\t\t\t\t\te = d[b] || d[b + 1];\n\t\t\t\t\t\td = d[b + 1] || e;\n\t\t\t\t\t\ta = 1 - (d[0] - a) / (d[0] - e[0] || 1);\n\t\t\t\t\t\tf = this.tweenColors(e.color, d.color,\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}\n\t\t\t\treturn f\n\t\t\t},\n\t\t\ttweenColors: function(a, c, d) {\n\t\t\t\tvar e;\n\t\t\t\tc.rgba.length &amp;&amp; a.rgba.length ? (a = a.rgba, c = c.rgba, e = 1 !== c[3] || 1 !== a[3], a = (e ? \"rgba(\" : \"rgb(\") + Math.round(c[0] + (a[0] - c[0]) * (1 - d)) + \",\" + Math.round(c[1] + (a[1] - c[1]) * (1 - d)) + \",\" + Math.round(c[2] + (a[2] - c[2]) * (1 - d)) + (e ? \",\" + (c[3] + (a[3] - c[3]) * (1 - d)) : \"\") + \")\") : a = c.input || \"none\";\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\tm([\"fill\", \"stroke\"], function(a) {\n\t\t\tf.Fx.prototype[a + \"Setter\"] = function() {\n\t\t\t\tthis.elem.attr(a, n.tweenColors(f.color(this.start), f.color(this.end), this.pos), null, !0)\n\t\t\t}\n\t\t});\n\t\tf.seriesType(\"solidgauge\",\n\t\t\t\"gauge\", {\n\t\t\t\tcolorByPoint: !0\n\t\t\t}, {\n\t\t\t\ttranslate: function() {\n\t\t\t\t\tvar a = this.yAxis;\n\t\t\t\t\tf.extend(a, n);\n\t\t\t\t\t!a.dataClasses &amp;&amp; a.options.dataClasses &amp;&amp; a.initDataClasses(a.options);\n\t\t\t\t\ta.initStops(a.options);\n\t\t\t\t\tf.seriesTypes.gauge.prototype.translate.call(this)\n\t\t\t\t},\n\t\t\t\tdrawPoints: function() {\n\t\t\t\t\tvar a = this,\n\t\t\t\t\t\tc = a.yAxis,\n\t\t\t\t\t\td = c.center,\n\t\t\t\t\t\te = a.options,\n\t\t\t\t\t\tf = a.chart.renderer,\n\t\t\t\t\t\th = e.overshoot,\n\t\t\t\t\t\tg = v(h) ? h / 180 * Math.PI : 0,\n\t\t\t\t\t\tb;\n\t\t\t\t\tv(e.threshold) &amp;&amp; (b = c.startAngleRad + c.translate(e.threshold, null, null, null, !0));\n\t\t\t\t\tthis.thresholdAngleRad = t(b, c.startAngleRad);\n\t\t\t\t\tm(a.points, function(b) {\n\t\t\t\t\t\tvar h = b.graphic,\n\t\t\t\t\t\t\tk = c.startAngleRad + c.translate(b.y, null, null, null, !0),\n\t\t\t\t\t\t\tm = l(t(b.options.radius, e.radius, 100)) * d[2] / 200,\n\t\t\t\t\t\t\tp = l(t(b.options.innerRadius, e.innerRadius, 60)) * d[2] / 200,\n\t\t\t\t\t\t\tq = c.toColor(b.y, b),\n\t\t\t\t\t\t\tr = Math.min(c.startAngleRad, c.endAngleRad),\n\t\t\t\t\t\t\tn = Math.max(c.startAngleRad, c.endAngleRad);\n\t\t\t\t\t\t\"none\" === q &amp;&amp; (q = b.color || a.color || \"none\");\n\t\t\t\t\t\t\"none\" !== q &amp;&amp; (b.color = q);\n\t\t\t\t\t\tk = Math.max(r - g, Math.min(n + g, k));\n\t\t\t\t\t\t!1 === e.wrap &amp;&amp; (k = Math.max(r, Math.min(n, k)));\n\t\t\t\t\t\tr = Math.min(k, a.thresholdAngleRad);\n\t\t\t\t\t\tk = Math.max(k, a.thresholdAngleRad);\n\t\t\t\t\t\tk - r &gt; 2 * Math.PI &amp;&amp; (k = r + 2 * Math.PI);\n\t\t\t\t\t\tb.shapeArgs =\n\t\t\t\t\t\t\tp = {\n\t\t\t\t\t\t\t\tx: d[0],\n\t\t\t\t\t\t\t\ty: d[1],\n\t\t\t\t\t\t\t\tr: m,\n\t\t\t\t\t\t\t\tinnerR: p,\n\t\t\t\t\t\t\t\tstart: r,\n\t\t\t\t\t\t\t\tend: k,\n\t\t\t\t\t\t\t\tfill: q\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tb.startR = m;\n\t\t\t\t\t\th ? (b = p.d, h.animate(p), b &amp;&amp; (p.d = b)) : (b.graphic = f.arc(p).addClass(\"highcharts-point\").attr({\n\t\t\t\t\t\t\tfill: q,\n\t\t\t\t\t\t\t\"sweep-flag\": 0\n\t\t\t\t\t\t}).add(a.group), \"square\" !== e.linecap &amp;&amp; b.graphic.attr({\n\t\t\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t}), b.graphic.attr({\n\t\t\t\t\t\t\tstroke: e.borderColor || \"none\",\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth || 0\n\t\t\t\t\t\t}))\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tanimate: function(a) {\n\t\t\t\t\ta || (this.startAngleRad = this.thresholdAngleRad, f.seriesTypes.pie.prototype.animate.call(this, a))\n\t\t\t\t}\n\t\t\t})\n\t})(l)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 18:42:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0a70295bdb9532002e5df2b6ae96192a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts-Solid-Gauge&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_0a70295bdb9532002e5df2b6ae96192a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 18:42:54&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>f7eb399fdbd532002e5df2b6ae961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-Solid-Gauge</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>fbeb399fdbd532002e5df2b6ae961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>ffeb399fdbd532002e5df2b6ae961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Solid Gauge\">f3eb399fdbd532002e5df2b6ae96194b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:42:54</sys_created_on>\n<sys_id>ffeb399fdbd532002e5df2b6ae96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:42:54</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-solid-gauge/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-solid-gauge/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-solid-gauge/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-solid-gauge/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-solid-gauge/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-solid-gauge/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-solid-gauge/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-solid-gauge/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-solid-gauge/widget/pe-solid-gauge.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-solid-gauge-chart\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-solid-gauge/widget/pe-solid-gauge.u-client-script.js",
    "content": "function($scope, $timeout, HighchartsConfigService) {\n\tvar c = this;\n\n\tvar hcs = new HighchartsConfigService(c.options, \"solidgauge\", c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}"
  },
  {
    "path": "highcharts/pe-solid-gauge/widget/pe-solid-gauge.u-css.css",
    "content": ""
  },
  {
    "path": "highcharts/pe-solid-gauge/widget/pe-solid-gauge.u-option-schema.json",
    "content": "[{\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Field\",\n\t\"type\": \"field_name\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&nbspworld\\\"\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-solid-gauge/widget/pe-solid-gauge.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getGaugeDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"options\": {\n\t\t\t\"pane\": {\n\t\t\t\t\"startAngle\": -90,\n\t\t\t\t\"endAngle\": 90,\n\t\t\t\t\"background\": {\n\t\t\t\t\t\"shape\": \"arc\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"yAxis\": {\n\t\t\t\t\"softMin\": 0,\n\t\t\t\t\"softMax\": 100\n\t\t\t}\n\t\t},\n\t\t\"title\": {\n\t\t\t\"text\": \"Solid Arc Gauge\"\n\t\t}\n\t});\n})();"
  },
  {
    "path": "highcharts/pe-treemap/README.md",
    "content": "# Treemap Chart\n\n## Description\n\nThis is used to create a simple Treemap\n\n## Screenshots\n![](../../images/pe-treemap-chart.png)\n![alt text](../../images/pe-treemap-chart-modified.png \"Modified Version Using Advanced\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-treemap.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/highcharts/pe-treemap/pe-treemap.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Update Interval\"** Chart refresh interval.<br/>\n**\"Table\"** Table from which to aggregate the data. `Overrides the Script Include parameter`<br/>\n**\"Fields\"** Table fields used for the aggregation of data.<br/>\n**\"Encoded Query\"** The encoded query limit the data returned.  `All data returned if empty.`<br/>\n**\"Script Include\"** Used to get specific calculated data or more advanced data sets. By default this value is `\"PEHighchartsExample\"` for demo purposes. `Overridden if the 'Table' parameter is used.`<br/>\n**\"Function\"** Function defined in the Script Include. `Default: \"getDemoData\"` for demo purposes<br/>\n**\"Parameter1\"** A parameter passed/sent to the Script Include and Function combination.<br/>\n**\"Advance\"** A JSON block; used to set specific attributes of the chart. All attributes that are editable can be found here [Highcharts Documentation](http://api.highcharts.com/highcharts). <br/>\n\nExample:\n```json\n{\n    \"title\":{\n        \"text\":\"Treemap\",\n        \"style\":{\n            \"color\":\"white\"\n        }\n    },\n    \"options\":{\n        \"exporting\":{\n            \"enabled\":false\n        },\n        \"chart\":{\n\t\t\t\"backgroundColor\":null\n        },\n\t\t\"plotOptions\":{\n\t\t\t\"series\":{\n\t\t\t\t\"animation\":false,\n\t\t\t\t\t\"dataLabels\":{\n\t\t       \t\t\t\"enabled\":false\n\t\t\t\t}\n\t\t\t}\n\t\t}\n    }\n}\n```\n\nIn order to change the colors of the sections, you need to add a color attribute to the data returned.<br/>\nA alternative way of doing this is using colorAxis documentation on this can be found here [Treemap Information](http://www.highcharts.com/docs/chart-and-series-types/treemap)\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "highcharts/pe-treemap/demo-data/update-set/pe-highchart-widget data-generator-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 05:11:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highchart Widgets Data Generator</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7f112fd5132fa200ca927b1a6144b0fb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1852e719132fa200ca927b1a6144b013</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Highcharts Data Generator</label><live_feed_enabled>false</live_feed_enabled><name>highcharts_data_generator</name><number_ref display_value=\"HDG\">2262e719132fa200ca927b1a6144b0a6</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1852e719132fa200ca927b1a6144b013</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1852e719132fa200ca927b1a6144b013</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"number\" label=\"Number\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>number</element><help/><hint/><label>Number</label><language>en</language><name>highcharts_data_generator</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3e62e719132fa200ca927b1a6144b0b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_number_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>12a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_min</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32f26b19132fa200ca927b1a6144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_min&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_2262e719132fa200ca927b1a6144b0a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"highcharts_data_generator\">highcharts_data_generator</category><maximum_digits>7</maximum_digits><number>1000</number><prefix>HDG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2262e719132fa200ca927b1a6144b0a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HDG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_2262e719132fa200ca927b1a6144b0a6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>16a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>HDG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_round_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"round_to\" table=\"highcharts_data_generator\"><active>true</active><array>false</array><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Round to Nearest</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>round_to</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>true</mandatory><max_length>40</max_length><name>highcharts_data_generator</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-07 17:26:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fccd7e913e32200085f70a76144b085</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Round to Nearest</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_highcharts_data_generator_round_to</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-07 17:28:06</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Round to Nearest</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_19d36759132fa200ca927b1a6144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"highcharts_data_generator\"&gt;advanced=true^EQ&lt;item endquery=\"false\" field=\"advanced\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;false&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show script when advanced = true&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:19:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path/&gt;&lt;sys_id&gt;19d36759132fa200ca927b1a6144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show script when advanced = true&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_19d36759132fa200ca927b1a6144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:19:23&lt;/sys_updated_on&gt;&lt;table&gt;highcharts_data_generator&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Show script when advanced = true</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_data_points_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"data_points\" label=\"Data Points\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>data_points</element><help/><hint/><label>Data Points</label><language>en</language><name>highcharts_data_generator</name><plural>Data Points</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>64132f19132fa200ca927b1a6144b074</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data Points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_data_points_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><name>highcharts_data_generator</name><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2662e719132fa200ca927b1a6144b0a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_2662e719132fa200ca927b1a6144b0a5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>1ea66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>highcharts_data_generator</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_advanced</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"advanced\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Advanced&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;advanced&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5536359132fa200ca927b1a6144b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Advanced&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_advanced&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:17:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"script\" label=\"Script\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>script</element><help/><hint/><label>Script</label><language>en</language><name>highcharts_data_generator</name><plural>Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88936359132fa200ca927b1a6144b057</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_script_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>52a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"name\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cce22f19132fa200ca927b1a6144b06a&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f4495d07db9932002e5df2b6ae961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsDataGenerator&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsDataGenerator&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif(typeof currentData == \"string\" || !currentData){\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:32:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4495d07db9932002e5df2b6ae961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsDataGenerator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f4495d07db9932002e5df2b6ae961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 05:07:44&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>56a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>PEHighchartsDataGenerator</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"script\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;//Set answer to an array containing \"very high\", \"high\", \"medium\", \"low\", or \"very low\"&amp;#13;\n//answer = \"very high,high,medium,low,very low\".split(',')&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:17:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9f532359132fa200ca927b1a6144b017&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:22:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>data_points</field><mandatory>false</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46f3a759132fa200ca927b1a6144b02c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>data_points</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_46f3a759132fa200ca927b1a6144b02c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:55</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>false</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>data_points</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9be621bb139b2200ca927b1a6144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;63d6a97b139b2200ca927b1a6144b007&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sparkline\"&gt;b1f8853e131f6a00ca927b1a6144b06b&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-01 22:22:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9be621bb139b2200ca927b1a6144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Incidents Opened per Day&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_9be621bb139b2200ca927b1a6144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 14:14:21&lt;/sys_updated_on&gt;&lt;title&gt;Incidents Opened per Day&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"Incidents Opened per Day\",\n\t\t\"displayValue\": \"Incidents Opened per Day\"\n\t},\n\t\"title_align\": {\n\t\t\"value\": \"title-align-left\",\n\t\t\"displayValue\": \"title-align-left\"\n\t},\n\t\"height\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"text_color\": {\n\t\t\"value\": \"#000000\",\n\t\t\"displayValue\": \"#000000\"\n\t},\n\t\"background\": {\n\t\t\"value\": \"whitesmoke\",\n\t\t\"displayValue\": \"whitesmoke\"\n\t},\n\t\"chart_type\": {\n\t\t\"value\": \"spline\",\n\t\t\"displayValue\": \"spline\"\n\t},\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"fields\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"trend_by\": {\n\t\t\"value\": \"day\",\n\t\t\"displayValue\": \"day\"\n\t},\n\t\"format\": {\n\t\t\"value\": \"MMM D YYYY\",\n\t\t\"displayValue\": \"MMM D YYYY\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"plot_line_value\": {\n\t\t\"value\": 50,\n\t\t\"displayValue\": \"50\"\n\t},\n\t\"plot_line_dash_style\": {\n\t\t\"value\": \"Dot\",\n\t\t\"displayValue\": \"Dot\"\n\t},\n\t\"plot_line_width\": {\n\t\t\"value\": 1,\n\t\t\"displayValue\": \"1\"\n\t},\n\t\"plot_line_color\": {\n\t\t\"value\": \"silver\",\n\t\t\"displayValue\": \"silver\"\n\t},\n\t\"encoded_query\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"script_include\": {\n\t\t\"value\": \"HighchartsDataGenerator\",\n\t\t\"displayValue\": \"HighchartsDataGenerator\"\n\t},\n\t\"function_name\": {\n\t\t\"value\": \"process\",\n\t\t\"displayValue\": \"process\"\n\t},\n\t\"param1\": {\n\t\t\"value\": \"TEST\",\n\t\t\"displayValue\": \"TEST\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Incidents Opened per Day</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_max_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max\" label=\"Max\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max</element><help/><hint/><label>Max</label><language>en</language><name>highcharts_data_generator</name><plural>Maxes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e4132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_max_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>5ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_data_points</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"data_points\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Data Points&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;12&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;data_points&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2ad2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Points&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_data_points&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:15:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Data Points</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_series_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"series\" label=\"Series\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>series</element><help/><hint/><label>Series</label><language>en</language><name>highcharts_data_generator</name><plural>Series</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:14:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>add2e719132fa200ca927b1a6144b03e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Series</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_series_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:14:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>92a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5662e719132fa200ca927b1a6144b09c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts_data_generator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:12:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Highcharts Data Generator</name><order/><roles/><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d662e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d662e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>96a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_series</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"series\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Series&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;series&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:14:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9c2eb19132fa200ca927b1a6144b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Series&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_series&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Series</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>script</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:19:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9ee36759132fa200ca927b1a6144b09d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_policy_action_9ee36759132fa200ca927b1a6144b09d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:19:39</sys_updated_on><table>highcharts_data_generator</table><ui_policy display_value=\"Show script when advanced = true\">19d36759132fa200ca927b1a6144b011</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9aa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>script</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_5662e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Highcharts Data Generator</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5662e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_5662e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><title>Highcharts Data Generator</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table/>\n<target_name>Highcharts Data Generator</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_min_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min\" label=\"Min\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min</element><help>Results may vary if set to 0.</help><hint/><label>Min</label><language>en</language><name>highcharts_data_generator</name><plural>Mins</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac132f19132fa200ca927b1a6144b073</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Min</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_min_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2016-12-07 16:48:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>9ea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Min</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_max</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:15:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cfe2e719132fa200ca927b1a6144b040&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_max&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-07 17:28:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Max</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Highcharts Data Generator\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Highcharts Data Generator</label><language>en</language><name>highcharts_data_generator</name><plural>Highcharts Data Generators</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a662e719132fa200ca927b1a6144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator__en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d2a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_highcharts_data_generator_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"number\" table=\"highcharts_data_generator\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;highcharts_data_generator&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-12-06 23:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2a62e719132fa200ca927b1a6144b0b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_highcharts_data_generator_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2016-12-06 23:16:39&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">d662e719132fa200ca927b1a6144b09b</application><filter/><name>Highcharts Data Generators</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles/><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_5e62e719132fa200ca927b1a6144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:55</sys_updated_on><table>highcharts_data_generator</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>d6a66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_advanced_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"advanced\" label=\"Advanced\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>advanced</element><help/><hint/><label>Advanced</label><language>en</language><name>highcharts_data_generator</name><plural>Advanced</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:17:56</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>80936359132fa200ca927b1a6144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Advanced</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_advanced_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:17:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Advanced</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8723af19132fa200ca927b1a6144b052</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"8723af19132fa200ca927b1a6144b052\" sys_domain=\"global\" table=\"highcharts_data_generator\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>1</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max</element><position>2</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min</element><position>3</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5bc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>advanced</element><position>4</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dbc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>5</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>5fc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>number</element><position>6</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>dfc32759132fa200ca927b1a6144b00d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>series</element><position>7</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>53c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>data_points</element><position>8</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d3c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>57c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>script</element><position>10</position><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:18:59</sys_created_on><sys_id>d7c32759132fa200ca927b1a6144b00e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"highcharts_data_generator\" sys_domain=\"global\" view=\"Default view\">8723af19132fa200ca927b1a6144b052</sys_ui_section><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:18:59</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>highcharts_data_generator</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:16:15</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8723af19132fa200ca927b1a6144b052</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts_data_generator</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_8723af19132fa200ca927b1a6144b052</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:16:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>daa66e0fdbd932002e5df2b6ae96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Highcharts Data Generator\">5662e719132fa200ca927b1a6144b09a</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Highcharts Data Generators</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>highcharts_data_generator</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:12:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>5e62e719132fa200ca927b1a6144b09a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Highcharts Data Generators</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_5e62e719132fa200ca927b1a6144b09a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:12:54</sys_updated_on><timeline_page/><title>Highcharts Data Generators</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:05</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:05</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generators</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_highcharts_data_generator_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"name\" label=\"Name\" language=\"en\" table=\"highcharts_data_generator\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>name</element><help/><hint/><label>Name</label><language>en</language><name>highcharts_data_generator</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2016-12-06 23:15:47</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec132f19132fa200ca927b1a6144b072</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_highcharts_data_generator_name_en</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2016-12-06 23:15:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Highchart Widgets Data Generator\">daa66e0fdbd932002e5df2b6ae96199d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 05:11:06</sys_created_on>\n<sys_id>dea66e0fdbd932002e5df2b6ae96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 05:11:06</sys_updated_on>\n<table>highcharts_data_generator</table>\n<target_name>Highcharts Data Generator.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-treemap/pe-treemap.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-09 20:36:41\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Highcharts - Treemap</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>5cf4b11bdbd532002e5df2b6ae961918</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>2c8ab95fdbd532002e5df2b6ae96190b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_2c96fd9bdbd532002e5df2b6ae96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>400</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Treemap\">fc86bd9bdbd532002e5df2b6ae961959</sp_dependency><sp_js_include display_value=\"PE Highcharts-Treemap\">7d86bd9bdbd532002e5df2b6ae9619c6</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2c96fd9bdbd532002e5df2b6ae96194f</sys_id><sys_mod_count>3</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap.PE Highcharts-Treemap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_2c96fd9bdbd532002e5df2b6ae96194f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:20:16</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>208ab95fdbd532002e5df2b6ae96190c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap.PE Highcharts-Treemap</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c305719bdbd532002e5df2b6ae9619f4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcsTreemap = new HighchartsConfigService(c.options, \"treemap\", c.data);\n\tc.chartConfig = hcsTreemap.getChartConfig();\n\thcsTreemap.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-treemap&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Treemap&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Fields\",\"type\":\"field_list\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getTreemapDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Treemap\"\n\t\t},\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"series\": {\n\t\t\t\t\t\"dataLabels\": {\n\t\t\t\t\t\t\"enabled\": true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 20:12:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c305719bdbd532002e5df2b6ae9619f4&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Treemap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c305719bdbd532002e5df2b6ae9619f4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:22:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-treemap\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>208ab95fdbd532002e5df2b6ae96190f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Treemap</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>248ab95fdbd532002e5df2b6ae96190e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>288ab95fdbd532002e5df2b6ae96190d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d836f99bdbd532002e5df2b6ae961920</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts-Treemap&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.9 (2017-03-08)\n\n (c) 2014 Highsoft AS\n Authors: Jon Arild Nygard / Oystein Moseng\n\n License: www.highcharts.com/license\n*/\n(function(q){\"object\"===typeof module&amp;&amp;module.exports?module.exports=q:q(Highcharts)})(function(q){(function(g){var q=g.seriesType,l=g.seriesTypes,E=g.map,v=g.merge,y=g.extend,z=g.noop,p=g.each,x=g.grep,F=g.isNumber,A=g.isString,k=g.pick,u=g.Series,G=g.stableSort,B=g.Color,H=function(a,b,c){var d;c=c||this;for(d in a)a.hasOwnProperty(d)&amp;&amp;b.call(c,a[d],d,a)},C=function(a,b,c,d){d=d||this;a=a||[];p(a,function(e,f){c=b.call(d,c,e,f,a)});return c},w=function(a,b,c){c=c||this;a=b.call(c,a);!1!==a&amp;&amp;w(a,\nb,c)};q(\"treemap\",\"scatter\",{showInLegend:!1,marker:!1,dataLabels:{enabled:!0,defer:!1,verticalAlign:\"middle\",formatter:function(){return this.point.name||this.point.id},inside:!0},tooltip:{headerFormat:\"\",pointFormat:\"\\x3cb\\x3e{point.name}\\x3c/b\\x3e: {point.value}\\x3c/b\\x3e\\x3cbr/\\x3e\"},ignoreHiddenPoint:!0,layoutAlgorithm:\"sliceAndDice\",layoutStartingDirection:\"vertical\",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:\"right\",x:-10,y:10}},borderColor:\"#e6e6e6\",borderWidth:1,\nopacity:.15,states:{hover:{borderColor:\"#999999\",brightness:l.heatmap?0:.1,opacity:.75,shadow:!1}}},{pointArrayMap:[\"value\"],axisTypes:l.heatmap?[\"xAxis\",\"yAxis\",\"colorAxis\"]:[\"xAxis\",\"yAxis\"],optionalAxis:\"colorAxis\",getSymbol:z,parallelArrays:[\"x\",\"y\",\"value\",\"colorValue\"],colorKey:\"colorValue\",translateColors:l.heatmap&amp;&amp;l.heatmap.prototype.translateColors,trackerGroups:[\"group\",\"dataLabelsGroup\"],getListOfParents:function(a,b){a=C(a,function(a,b,e){b=k(b.parent,\"\");void 0===a[b]&amp;&amp;(a[b]=[]);a[b].push(e);\nreturn a},{});H(a,function(a,d,e){\"\"!==d&amp;&amp;-1===g.inArray(d,b)&amp;&amp;(p(a,function(a){e[\"\"].push(a)}),delete e[d])});return a},getTree:function(){var a=E(this.data,function(a){return a.id}),a=this.getListOfParents(this.data,a);this.nodeMap=[];return this.buildNode(\"\",-1,0,a,null)},init:function(a,b){u.prototype.init.call(this,a,b);this.options.allowDrillToNode&amp;&amp;g.addEvent(this,\"click\",this.onClickDrillToNode)},buildNode:function(a,b,c,d,e){var f=this,h=[],D=f.points[b],m;p(d[a]||[],function(b){m=f.buildNode(f.points[b].id,\nb,c+1,d,a);h.push(m)});b={id:a,i:b,children:h,level:c,parent:e,visible:!1};f.nodeMap[b.id]=b;D&amp;&amp;(D.node=b);return b},setTreeValues:function(a){var b=this,c=b.options,d=0,e=[],f,h=b.points[a.i];w(b.nodeMap[b.rootNode],function(a){var c=!1,e=a.parent;a.visible=!0;if(e||\"\"===e)c=b.nodeMap[e];return c});w(b.nodeMap[b.rootNode].children,function(a){var b=!1;p(a,function(a){a.visible=!0;a.children.length&amp;&amp;(b=(b||[]).concat(a.children))});return b});p(a.children,function(a){a=b.setTreeValues(a);e.push(a);\na.ignore?w(a.children,function(a){var b=!1;p(a,function(a){y(a,{ignore:!0,isLeaf:!1,visible:!1});a.children.length&amp;&amp;(b=(b||[]).concat(a.children))});return b}):d+=a.val});G(e,function(a,b){return a.sortIndex-b.sortIndex});f=k(h&amp;&amp;h.options.value,d);h&amp;&amp;(h.value=f);y(a,{children:e,childrenTotal:d,ignore:!(k(h&amp;&amp;h.visible,!0)&amp;&amp;0&lt;f),isLeaf:a.visible&amp;&amp;!d,levelDynamic:c.levelIsConstant?a.level:a.level-b.nodeMap[b.rootNode].level,name:k(h&amp;&amp;h.name,\"\"),sortIndex:k(h&amp;&amp;h.sortIndex,-f),val:f});return a},calculateChildrenAreas:function(a,\nb){var c=this,d=c.options,e=this.levelMap[a.levelDynamic+1],f=k(c[e&amp;&amp;e.layoutAlgorithm]&amp;&amp;e.layoutAlgorithm,d.layoutAlgorithm),h=d.alternateStartingDirection,g=[];a=x(a.children,function(a){return!a.ignore});e&amp;&amp;e.layoutStartingDirection&amp;&amp;(b.direction=\"vertical\"===e.layoutStartingDirection?0:1);g=c[f](b,a);p(a,function(a,e){e=g[e];a.values=v(e,{val:a.childrenTotal,direction:h?1-b.direction:b.direction});a.pointValues=v(e,{x:e.x/c.axisRatio,width:e.width/c.axisRatio});a.children.length&amp;&amp;c.calculateChildrenAreas(a,\na.values)})},setPointValues:function(){var a=this,b=a.xAxis,c=a.yAxis;p(a.points,function(d){var e=d.node,f=e.pointValues,h,g,m;m=(a.pointAttribs(d)[\"stroke-width\"]||0)%2/2;f&amp;&amp;e.visible?(e=Math.round(b.translate(f.x,0,0,0,1))-m,h=Math.round(b.translate(f.x+f.width,0,0,0,1))-m,g=Math.round(c.translate(f.y,0,0,0,1))-m,f=Math.round(c.translate(f.y+f.height,0,0,0,1))-m,d.shapeType=\"rect\",d.shapeArgs={x:Math.min(e,h),y:Math.min(g,f),width:Math.abs(h-e),height:Math.abs(f-g)},d.plotX=d.shapeArgs.x+d.shapeArgs.width/\n2,d.plotY=d.shapeArgs.y+d.shapeArgs.height/2):(delete d.plotX,delete d.plotY)})},setColorRecursive:function(a,b,c){var d=this,e,f;a&amp;&amp;(e=d.points[a.i],f=d.levelMap[a.levelDynamic],b=k(e&amp;&amp;e.options.color,f&amp;&amp;f.color,b,d.color),c=k(e&amp;&amp;e.options.colorIndex,f&amp;&amp;f.colorIndex,c,d.colorIndex),e&amp;&amp;(e.color=b,e.colorIndex=c),a.children.length&amp;&amp;p(a.children,function(a){d.setColorRecursive(a,b,c)}))},algorithmGroup:function(a,b,c,d){this.height=a;this.width=b;this.plot=d;this.startDirection=this.direction=c;this.lH=\nthis.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,b){return Math.max(a/b,b/a)}};this.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=\nthis.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,b,c,d){var e,f,h,g,m=c.lW,k=c.lH,n=c.plot,l,r=0,t=c.elArr.length-1;b?(m=c.nW,k=c.nH):l=c.elArr[c.elArr.length-1];p(c.elArr,function(a){if(b||r&lt;t)0===c.direction?(e=n.x,f=n.y,h=m,g=a/h):(e=n.x,f=\nn.y,g=k,h=a/g),d.push({x:e,y:f,width:h,height:g}),0===c.direction?n.y+=g:n.x+=h;r+=1});c.reset();0===c.direction?c.width-=m:c.height-=k;n.y=n.parent.y+(n.parent.height-c.height);n.x=n.parent.x+(n.parent.width-c.width);a&amp;&amp;(c.direction=1-c.direction);b||c.addElement(l)},algorithmLowAspectRatio:function(a,b,c){var d=[],e=this,f,g={x:b.x,y:b.y,parent:b},k=0,m=c.length-1,l=new this.algorithmGroup(b.height,b.width,b.direction,g);p(c,function(c){f=c.val/b.val*b.height*b.width;l.addElement(f);l.lP.nR&gt;l.lP.lR&amp;&amp;\ne.algorithmCalcPoints(a,!1,l,d,g);k===m&amp;&amp;e.algorithmCalcPoints(a,!0,l,d,g);k+=1});return d},algorithmFill:function(a,b,c){var d=[],e,f=b.direction,g=b.x,k=b.y,m=b.width,l=b.height,n,q,r,t;p(c,function(c){e=c.val/b.val*b.height*b.width;n=g;q=k;0===f?(t=l,r=e/t,m-=r,g+=r):(r=m,t=e/r,l-=t,k+=t);d.push({x:n,y:q,width:r,height:t});a&amp;&amp;(f=1-f)});return d},strip:function(a,b){return this.algorithmLowAspectRatio(!1,a,b)},squarified:function(a,b){return this.algorithmLowAspectRatio(!0,a,b)},sliceAndDice:function(a,\nb){return this.algorithmFill(!0,a,b)},stripes:function(a,b){return this.algorithmFill(!1,a,b)},translate:function(){var a=this.rootNode=k(this.rootNode,this.options.rootId,\"\"),b,c;u.prototype.translate.call(this);this.levelMap=C(this.options.levels,function(a,b){a[b.level]=b;return a},{});c=this.tree=this.getTree();b=this.nodeMap[a];\"\"===a||b&amp;&amp;b.children.length||(this.drillToNode(\"\",!1),a=this.rootNode,b=this.nodeMap[a]);this.setTreeValues(c);this.axisRatio=this.xAxis.len/this.yAxis.len;this.nodeMap[\"\"].pointValues=\na={x:0,y:0,width:100,height:100};this.nodeMap[\"\"].values=a=v(a,{width:a.width*this.axisRatio,direction:\"vertical\"===this.options.layoutStartingDirection?0:1,val:c.val});this.calculateChildrenAreas(c,a);this.colorAxis?this.translateColors():this.options.colorByPoint||this.setColorRecursive(this.tree);this.options.allowDrillToNode&amp;&amp;(b=b.pointValues,this.xAxis.setExtremes(b.x,b.x+b.width,!1),this.yAxis.setExtremes(b.y,b.y+b.height,!1),this.xAxis.setScale(),this.yAxis.setScale());this.setPointValues()},\ndrawDataLabels:function(){var a=this,b=x(a.points,function(a){return a.node.visible}),c,d;p(b,function(b){d=a.levelMap[b.node.levelDynamic];c={style:{}};b.node.isLeaf||(c.enabled=!1);d&amp;&amp;d.dataLabels&amp;&amp;(c=v(c,d.dataLabels),a._hasPointLabels=!0);b.shapeArgs&amp;&amp;(c.style.width=b.shapeArgs.width,b.dataLabel&amp;&amp;b.dataLabel.css({width:b.shapeArgs.width+\"px\"}));b.dlOptions=v(c,b.options.dataLabels)});u.prototype.drawDataLabels.call(this)},alignDataLabel:function(a){l.column.prototype.alignDataLabel.apply(this,\narguments);a.dataLabel&amp;&amp;a.dataLabel.attr({zIndex:a.node.zIndex+1})},pointAttribs:function(a,b){var c=this.levelMap[a.node.levelDynamic]||{},d=this.options,e=b&amp;&amp;d.states[b]||{},f=a.getClassName();a={stroke:a.borderColor||c.borderColor||e.borderColor||d.borderColor,\"stroke-width\":k(a.borderWidth,c.borderWidth,e.borderWidth,d.borderWidth),dashstyle:a.borderDashStyle||c.borderDashStyle||e.borderDashStyle||d.borderDashStyle,fill:a.color||this.color};-1!==f.indexOf(\"highcharts-above-level\")?(a.fill=\"none\",\na[\"stroke-width\"]=0):-1!==f.indexOf(\"highcharts-internal-node-interactive\")?(b=k(e.opacity,d.opacity),a.fill=B(a.fill).setOpacity(b).get(),a.cursor=\"pointer\"):-1!==f.indexOf(\"highcharts-internal-node\")?a.fill=\"none\":b&amp;&amp;(a.fill=B(a.fill).brighten(e.brightness).get());return a},drawPoints:function(){var a=this,b=x(a.points,function(a){return a.node.visible});p(b,function(b){var c=\"levelGroup-\"+b.node.levelDynamic;a[c]||(a[c]=a.chart.renderer.g(c).attr({zIndex:1E3-b.node.levelDynamic}).add(a.group));\nb.group=a[c]});l.column.prototype.drawPoints.call(this);a.options.allowDrillToNode&amp;&amp;p(b,function(b){b.graphic&amp;&amp;(b.drillId=a.options.interactByLeaf?a.drillToByLeaf(b):a.drillToByGroup(b))})},onClickDrillToNode:function(a){var b=(a=a.point)&amp;&amp;a.drillId;A(b)&amp;&amp;(a.setState(\"\"),this.drillToNode(b))},drillToByGroup:function(a){var b=!1;1!==a.node.level-this.nodeMap[this.rootNode].level||a.node.isLeaf||(b=a.id);return b},drillToByLeaf:function(a){var b=!1;if(a.node.parent!==this.rootNode&amp;&amp;a.node.isLeaf)for(a=\na.node;!b;)a=this.nodeMap[a.parent],a.parent===this.rootNode&amp;&amp;(b=a.id);return b},drillUp:function(){var a=this.nodeMap[this.rootNode];a&amp;&amp;A(a.parent)&amp;&amp;this.drillToNode(a.parent)},drillToNode:function(a,b){var c=this.nodeMap[a];this.rootNode=a;\"\"===a?this.drillUpButton=this.drillUpButton.destroy():this.showDrillUpButton(c&amp;&amp;c.name||a);this.isDirty=!0;k(b,!0)&amp;&amp;this.chart.redraw()},showDrillUpButton:function(a){var b=this;a=a||\"\\x3c Back\";var c=b.options.drillUpButton,d,e;c.text&amp;&amp;(a=c.text);this.drillUpButton?\nthis.drillUpButton.attr({text:a}).align():(e=(d=c.theme)&amp;&amp;d.states,this.drillUpButton=this.chart.renderer.button(a,null,null,function(){b.drillUp()},d,e&amp;&amp;e.hover,e&amp;&amp;e.select).attr({align:c.position.align,zIndex:7}).add().align(c.position,!1,c.relativeTo||\"plotBox\"))},buildKDTree:z,drawLegendSymbol:g.LegendSymbolMixin.drawRectangle,getExtremes:function(){u.prototype.getExtremes.call(this,this.colorValueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;u.prototype.getExtremes.call(this)},\ngetExtremesFromAll:!0,bindAxes:function(){var a={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};u.prototype.bindAxes.call(this);g.extend(this.yAxis.options,a);g.extend(this.xAxis.options,a)}},{getClassName:function(){var a=g.Point.prototype.getClassName.call(this),b=this.series,c=b.options;this.node.level&lt;=b.nodeMap[b.rootNode].level?a+=\" highcharts-above-level\":this.node.isLeaf||k(c.interactByLeaf,\n!c.allowDrillToNode)?this.node.isLeaf||(a+=\" highcharts-internal-node\"):a+=\" highcharts-internal-node-interactive\";return a},isValid:function(){return F(this.value)},setState:function(a){g.Point.prototype.setState.call(this,a);this.graphic&amp;&amp;this.graphic.attr({zIndex:\"hover\"===a?1:0})},setVisible:l.pie.prototype.pointClass.prototype.setVisible})})(q)});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 20:18:35&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d836f99bdbd532002e5df2b6ae961920&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts-Treemap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d836f99bdbd532002e5df2b6ae961920&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:18:35&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>288ab95fdbd532002e5df2b6ae961910</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-Treemap</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>288ab95fdbd532002e5df2b6ae9619e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_js_include display_value=\"PE highcharts-ng\">b3244d07db5932002e5df2b6ae96197e</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bd340d07db5932002e5df2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_bd340d07db5932002e5df2b6ae9619ec</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:59</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>2c8ab95fdbd532002e5df2b6ae96190c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE highcharts-ng</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>2c8ab95fdbd532002e5df2b6ae96190f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>608ab95fdbd532002e5df2b6ae96190e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_e9d671dbdbd532002e5df2b6ae96191a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5 Treemap\">fc86bd9bdbd532002e5df2b6ae961959</sp_dependency><sp_widget display_value=\"PE Treemap\">c305719bdbd532002e5df2b6ae9619f4</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:20:37</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e9d671dbdbd532002e5df2b6ae96191a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap.PE Treemap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_e9d671dbdbd532002e5df2b6ae96191a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:20:37</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>648ab95fdbd532002e5df2b6ae96190d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap.PE Treemap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>648ab95fdbd532002e5df2b6ae961910</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>648ab95fdbd532002e5df2b6ae9619e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_b8a6fd9bdbd532002e5df2b6ae961961</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Treemap\">fc86bd9bdbd532002e5df2b6ae961959</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b8a6fd9bdbd532002e5df2b6ae961961</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_b8a6fd9bdbd532002e5df2b6ae961961</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:19:45</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>688ab95fdbd532002e5df2b6ae96190c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>688ab95fdbd532002e5df2b6ae96190f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>6c8ab95fdbd532002e5df2b6ae96190e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_0705719bdbd532002e5df2b6ae9619f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Treemap\">c305719bdbd532002e5df2b6ae9619f4</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:12:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0705719bdbd532002e5df2b6ae9619f6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.Copy of PE Heatmap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_0705719bdbd532002e5df2b6ae9619f6</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:12:48</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>a08ab95fdbd532002e5df2b6ae96190d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.Copy of PE Heatmap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>a08ab95fdbd532002e5df2b6ae961910</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>a08ab95fdbd532002e5df2b6ae9619e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_78a6fd9bdbd532002e5df2b6ae961963</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>500</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Treemap\">fc86bd9bdbd532002e5df2b6ae961959</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>78a6fd9bdbd532002e5df2b6ae961963</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_78a6fd9bdbd532002e5df2b6ae961963</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:20:06</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>a48ab95fdbd532002e5df2b6ae96190c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>a48ab95fdbd532002e5df2b6ae96190f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>a88ab95fdbd532002e5df2b6ae96190e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>ac8ab95fdbd532002e5df2b6ae96190d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>ac8ab95fdbd532002e5df2b6ae9619e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_34a6fd9bdbd532002e5df2b6ae961965</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Treemap\">fc86bd9bdbd532002e5df2b6ae961959</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>34a6fd9bdbd532002e5df2b6ae961965</sys_id><sys_mod_count>3</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_34a6fd9bdbd532002e5df2b6ae961965</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:20:14</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>e08ab95fdbd532002e5df2b6ae96190c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>e08ab95fdbd532002e5df2b6ae96190f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7d86bd9bdbd532002e5df2b6ae9619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts-Treemap</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7d86bd9bdbd532002e5df2b6ae9619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts-Treemap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts-Treemap\">d836f99bdbd532002e5df2b6ae961920</sys_ui_script><sys_update_name>sp_js_include_7d86bd9bdbd532002e5df2b6ae9619c6</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:19:29</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>e48ab95fdbd532002e5df2b6ae96190e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-Treemap</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_fc86bd9bdbd532002e5df2b6ae961959</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5 Treemap</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>fc86bd9bdbd532002e5df2b6ae961959</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_fc86bd9bdbd532002e5df2b6ae961959</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:19:13</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>e88ab95fdbd532002e5df2b6ae96190d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>e88ab95fdbd532002e5df2b6ae9619e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_fca6fd9bdbd532002e5df2b6ae961966</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Treemap\">fc86bd9bdbd532002e5df2b6ae961959</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 20:19:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>fca6fd9bdbd532002e5df2b6ae961966</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5 Treemap.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_fca6fd9bdbd532002e5df2b6ae961966</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 20:20:13</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>ec8ab95fdbd532002e5df2b6ae96190c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Treemap.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Highcharts - Treemap\">2c8ab95fdbd532002e5df2b6ae96190b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-03-09 20:36:41</sys_created_on>\n<sys_id>ec8ab95fdbd532002e5df2b6ae96190f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-03-09 20:36:41</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "highcharts/pe-treemap/script-include/pe-highcharts-data-generator.u-server-script.js",
    "content": "var PEHighchartsDataGenerator = Class.create();\nPEHighchartsDataGenerator.prototype = {\n\tinitialize: function() {\n\t\tthis.json = new JSON();\n\t},\n\tprocess: function(recordName, options) {\n\t\tvar scope = this;\n\t\tvar dataGeneratorGR = scope.getDataGenerator(recordName);\n\t\tvar seriesArray = [];\n\t\tif (dataGeneratorGR) {\n\t\t\tfor (var x = 0; x != dataGeneratorGR.series; x++) {\n\t\t\t\tvar dataArray = [];\n\t\t\t\tvar dataLength = dataGeneratorGR.data_points;\n\t\t\t\tif (dataGeneratorGR.advanced) {\n\t\t\t\t\tdataArray = eval(dataGeneratorGR.script);\n\t\t\t\t\tdataLength = dataArray.length;\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i != dataLength; i++) {\n\t\t\t\t\tvar currentData = dataArray[i];\n\t\t\t\t\tvar y = 0;\n\t\t\t\t\tif (typeof currentData == \"string\" || !currentData) {\n\t\t\t\t\t\tswitch (currentData) {\n\t\t\t\t\t\t\tcase \"very high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.80), dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"high\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.60), (dataGeneratorGR.max * 0.79), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"medium\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.40), (dataGeneratorGR.max * 0.59), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber((dataGeneratorGR.max * 0.20), (dataGeneratorGR.max * 0.39), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase \"very low\":\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, (dataGeneratorGR.max * 0.19), dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\ty = scope.randNumber(dataGeneratorGR.min, dataGeneratorGR.max, dataGeneratorGR.round_to);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty = currentData;\n\t\t\t\t\t}\n\t\t\t\t\tdataArray[i] = {\n\t\t\t\t\t\tname: dataGeneratorGR.name.toString() + \" \" + (i + 1),\n\t\t\t\t\t\ty: y\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tseriesArray.push({\n\t\t\t\t\tdata: dataArray\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn seriesArray;\n\t},\n\tgetDataGenerator: function(recordName) {\n\t\tvar dataGeneratorGR = new GlideRecord(\"highcharts_data_generator\");\n\t\tdataGeneratorGR.addQuery(\"name\", recordName);\n\t\tdataGeneratorGR.query();\n\t\tif (dataGeneratorGR.next()) {\n\t\t\treturn dataGeneratorGR;\n\t\t}\n\t\treturn false;\n\t},\n\trandNumber: function(min, max, round) {\n\t\treturn Math.round((Math.random() * (max - min + 1) + min) / round) * round;\n\t},\n\ttype: 'PEHighchartsDataGenerator'\n};"
  },
  {
    "path": "highcharts/pe-treemap/script-include/pe-highcharts-example.u-server-script.js",
    "content": "var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};"
  },
  {
    "path": "highcharts/pe-treemap/script-include/pe-highcharts-helper.u-server-script.js",
    "content": "var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include && scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};"
  },
  {
    "path": "highcharts/pe-treemap/ui-script/pe-highcharts-5-0-5.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module && module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator && a.navigator.userAgent || \"\",\n\t\t\tF = E && E.createElementNS && !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) && !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d && 4 > parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E && void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console && console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length && 1 > v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element && a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv && v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() && 1 === E.push(l) && (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r < E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr && !g.element) g = !1;\n\t\t\t\telse if (a || d >= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] && (a = !1);\n\t\t\t\t\ta && l && l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c && e && a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length < k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC && (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 < b && b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w && (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C && b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 < d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw && (p(d), p(g));\n\t\t\t\tif (b && n) {\n\t\t\t\t\tfor (h = 0; h < b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f && (d = [])\n\t\t\t\t}\n\t\t\t\td.length && (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d && (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) && (b = f[n], a.isObject(b, !0) && \"renderTo\" !== n && \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] && (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p < g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p && \"object\" === typeof p && (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a && !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a && null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p && p.getAttribute && (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) && a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d < v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g && null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS && !a.svg && d && void 0 !== d.opacity && (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td && a.extend(p, d);\n\t\t\tl && r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg && r(p, g);\n\t\t\tv && v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset && d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 > f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 > f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d && (d = a.numberFormat(d, g, v.decimalPoint, -1 < p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f < b; f++) w = w[r[f]];\n\t\t\t\t\tl.length && (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v && (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 >= g && (d = [1 / g])));\n\t\t\tfor (v = 0; v < d.length && !(f = d[v], l && f * g >= p || !l && r <= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l < g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l < g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] < g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] > g && (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] && a[g] !== d && a[g].destroy &&\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp && d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 < f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 > p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td && (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) && a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d && d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent && (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent && (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf && (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 < b && (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent && (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d < r; d++)(f = l[d]) &&\n\t\t\t\t\t!1 === f.call(p, g) && g.preventDefault();\n\t\t\tv && !g.defaultPrevented && v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &&\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match && r.match(\"px\") && (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl && (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery && (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF && !F.defaultView && (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d && (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d && (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v < l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v < g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v < l; v++) d(a[v], v) && g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) && d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- && !v;) r = this.parsers[l], (g = r.regex.exec(d)) && (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d && A(d[0]) ? \"rgb\" === a || !a && 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) && 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 > d; d++) v[d] += p(255 * a), 0 > v[d] && (v[d] = 0), 255 < v[d] && (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c && (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient && (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) && (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e && n && !r(z.gradientUnits) && (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t && u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") && (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) && \"none\" !== b && (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") && k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B && (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B && y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a && void 0 !== B && (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName && /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &&\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y && \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows && /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) && this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform && (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc && c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) && (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) && (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] && (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta && a.color && (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] && (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a && a.width && \"text\" === e.nodeName.toLowerCase() && G(a.width) || this.textWidth;\n\t\t\t\t\ty && (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz && !m && this.renderer.forExport && delete a.width;\n\t\t\t\t\tif (c && !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added && (z && this.renderer.buildText(this), a && a.textOutline && this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th && \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 < Date.now() - (y.touchEventFired || 0)) && B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty && y.radAttr && y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb && (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e && a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) && a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length && z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y && (q = 2);\n\t\t\t\tq && (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m && (h = 2);\n\t\t\t\th && (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z && z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk && (u = k.toString(), -1 === u.indexOf(\"\\x3c\") && (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu && !a && (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS && function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) && h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h && h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 > y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG && (a = y.width,\n\t\t\t\t\t\tm = y.height, c && z && \"11px\" === z.fontSize && \"16.9\" === m.toPrecision(3) && (y.height = m = 14), B && (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u && 0 < y.height) {\n\t\t\t\t\t\tfor (; 250 < n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a && a.inverted;\n\t\t\t\tvoid 0 !== this.textStr && y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty && y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG && \"SPAN\" === a.nodeName && this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath && (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b < this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c && c.div && 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo && k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B <= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m && (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName && (\"x\" === a ? a = \"cx\" : \"y\" === a && (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) && (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta && a.join && (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) && (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y && (y = 1);\n\t\t\t\tif (a = a && a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild && c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/<[^>]*>/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr && (delete this.bBox, this.textStr = a, this.added && this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a && this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) && (e.zIndex = a, a = +a, this[c] === a && (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) && y && (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q < c.length && !z; q++) y = c[q], B = y.zIndex, y !== e && (G(B) > a || !r(a) && r(B) || 0 > a && !r(B) && b !== m.box) && (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke && this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c && 0 === a && this.hasStroke && (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") && p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) && n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu && a.getBoundingClientRect && (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta && (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix && this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d && d.lineHeight, r = d && d.textOutline, K = d &&\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C && !a.added && this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a && a.style.fontSize) ? a.style.fontSize : d && d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /<.*class=\"([^\"]+)\".*>/, f = /<.*style=\"([^\"]+)\".*>/, t = /<.*href=\"(http[^\"]+)\".*>/, L && L.appendChild(c), q = k ? q.replace(/<(b|strong)>/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g, \"\\x3c/span\\x3e\").split(/<br.*?>/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/<span/g, \"|||\\x3cspan\").replace(/<\\/span>/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) && (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) && (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) && !y && (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/<(.|\\n)*?>/g, \"\") || \" \").replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B && null !== l && (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k && B && (!m && y && v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 < q.length || B || 1 < h.length && !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) && (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m && b.forExport && (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I > C, void 0 === u && (u = r), K && u ? (R /= 2, \"\" === O || !r && .5 > R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 < C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r && 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length && !G && (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g && p(D, \"style\", g), c.appendChild(D)), I > C && (C = I)), h.length && D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u && a.attr(\"title\", a.textStr), L && L.removeChild(c), r && a.applyTextOutline && a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&lt;/g, \"\\x3c\").replace(/&gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 < a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y && B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y && B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a && (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y && e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] && (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] && (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) && t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) && (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z && (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te && (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 < arguments.length && t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) && y && y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z && t(B, z)) : k.test(a) && (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] && O[x].width, z && z.width), B.imgheight = D(O[x] && O[x].height, z && z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) && (this.element && this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) && B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) && r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width && (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element && f();\n\t\t\t\t\t\t\tthis.parentNode && this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount && a && a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z < Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e && e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e && e.anchorX;\n\t\t\t\t\te = e && e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB && B > m ? e > c + q && e < c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B && 0 > B ? e > c + q && e < c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e && e > b && B > a + q && B < a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e && 0 > e && B > a + q && B < a + m - q && h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m && this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e && (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb && (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz && a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q < b.length; q++) e = b[q], e.getAttribute(c) === z && e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c && c.style && c.style.fontSize || this.style && this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 > a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc && m && (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k && \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk && x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) && r(f.textStr) && f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a && a.fontSize, f).b;\n\t\t\t\t\tQ && (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) && u && (\"center\" === K || \"right\" === K) && (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c && f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn && r(e) && x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) && a !== y && (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) && a !== l && (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D && (D = a, u && x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a && f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta && (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c && a && (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD && (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] && (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta && (p(), n && n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf && (f = f.destroy());\n\t\t\t\t\t\tn && (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a && \"SPAN\" === b.tagName && a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta && \"ellipsis\" === a.textOverflow && (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName && (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows && p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted && p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q && q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT && (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) && this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth > d && /[ \\-]/.test(b.textContent || b.innerText) && F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl && (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML && delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu && c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c && (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu && (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx && (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles && a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &&\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v && 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) && e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb && (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a && a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta && (this.parentGroup = a);\n\t\t\t\th && c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd && !this.deferUpdateTransform && this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className && this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 > c && -a;\n\t\t\t\tthis.yCorr = 0 > q && -x;\n\t\t\t\tn = 0 > c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf && \"left\" !== f && (this.xCorr -= a * e * (0 > c ? -1 : 1), h && (this.yCorr -= x * e * (0 > q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] && \"at\" !== a[c] || (b[c + 5] === b[c + 7] && (b[c + 7] += a[c + 7] > a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] && (b[c + 8] += a[c + 8] > a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip && c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode && g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip && this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm && \"string\" !== typeof m.value && (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 >= q; q++) z = 2 * t + 1 - 2 * q, h && (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h && (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join && a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c && (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) && (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a && (a = \"visible\");\n\t\t\t\tthis.shadows && l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName && (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b && (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 < u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e && a.docMode8 && \"DIV\" === b && f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element && a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc && c.linearGradient ? u = \"gradient\" : c && c.radialGradient && (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 < t[0] && c.unshift([0, t[1]]);\n\t\t\t\t\t1 > w[0] && c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU && (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) && \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length && (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) && f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) && (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta && (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 < arguments.length && c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName && a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open && !e && c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk && p(k.r) && (e = h = 2 * k.r);\n\t\t\t\t\tk && k.isCircle && (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) && k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r && v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r && v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td && (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) && F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog && (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle && (q.dashstyle = b.dashStyle)) : h && (K && (q.fill = K), b.borderWidth && (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc && (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c && q && q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &&\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w && (a.label = w = w.destroy())));\n\t\t\t\tn && F(n.text) && q && q.length && 0 < d.width && 0 < d.height && !q.flat ? (n = g({\n\t\t\t\t\talign: f && h && \"center\",\n\t\t\t\t\tx: f ? !h && 4 : 10,\n\t\t\t\t\tverticalAlign: !f && h && \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f && !h && 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w && w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) && d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf && (g && (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a && g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a && d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis && t && (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f && f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) && w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) && f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 > t && r - k * e < n ? c = Math.round(r / Math.cos(t * g) - n) : 0 < t && r + k * e > b && (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e < n ? C = a.x + C * (1 - k) - n : f > b && (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C < h && \"center\" === l.labelAlign && (a.x += u * (h - C - k * (h - Math.min(e, C)))), e > C || l.autoRotation && (w.styles || {}).width) c = C;\n\t\t\t\tc && (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f && n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f && n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n && f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n && !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC && (r = w / (t || 1) % C, k.opposite && (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l && L === f.pos + f.len || !l && G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t && f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P && (I.dashstyle = P), t || (I.zIndex = 1), g && (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g && C && (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc && (f.opposite && (c[0] = -c[0]), x && (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk && H(L) && (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst && !this.isLast && !d(b.showFirstLabel, 1) || this.isLast && !this.isFirst && !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K && a % K && (p = !1), p && H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) && (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted && c && void 0 === this.reversed && (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog && (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll && this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B && B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q && 1E3 <= b)\n\t\t\t\t\tfor (; q-- && void 0 === d;) e = Math.pow(f, q + 1), b >= e && 0 === 10 * c % e && null !== B[q] && 0 !== c && (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d && (d = 1E4 <= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks && a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog && 0 >= z && (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length && (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) && l(k) && (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) && (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog && k) && m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te && (z *= -1, f = m.len);\n\t\t\t\tm.reversed && (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k && (a = m.lin2val(a))) : (k && (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e && m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e && m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a < b || a > c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g && !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e && c(b)) return [b];\n\t\t\t\tfor (b = z; b <= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f && f / c < this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h < k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &&\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b <= k && b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length && this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin >= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis && void 0 === this.minRange && !this.isLog && (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 < q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d < f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c < this.minRange && (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k && (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k && (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c < g && (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip && l(c) && e && (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 < this.names.length && (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options && void 0 === b.options.x && (m = a.nameToX(b), m !== b.x && (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope && h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g && (c.closestPointRange = h);\n\t\t\t\ta && (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type && n(11, 1)) : (!p && l(w) && (m.dataMin >= w ? (v = w, C = 0) : m.dataMax <= w && (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf && (!a && 0 >= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) && n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range && l(m.max) && (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding && m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) && l(m.min) && l(m.max) && (q = m.max - m.min) && (!l(J) && C && (m.min -= q * C), !l(A) && x && (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) && (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) && (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp && l(m.dataMin) && (w = w || 0, !l(J) && m.min < w && m.dataMin >= w ? m.min = w : !l(A) && m.max > w && m.dataMax <= w && (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D && !G && r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu && !a && b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions && m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval && (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange && !G && (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis && m.closestPointRange);\n\t\t\t\t!G && m.tickInterval < a && (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 < m.tickInterval && 5 > m.tickInterval && 1E3 < m.max && 9999 > m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories && \"between\" === a.tickmarkPlacement && 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval && this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c && c.slice();\n\t\t\t\t!b && (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length > this.len && (b = [b[0], b.pop()]), this.tickPositions = b, e && (e = e.apply(this, [this.min, this.max]))) && (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max && l(this.min) && !this.tickAmount && (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h > a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h < a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length && l(e) && a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks && !1 !== e.alignTicks && b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length && (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) && this.len < c && !this.isRadial && !this.isLog && a.startOnTick && a.endOnTick && (b = 2);\n\t\t\t\t!b && this.alignToOthers() && (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 > b && (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b && b.length;\n\t\t\t\tif (h < c) {\n\t\t\t\t\tfor (; b.length < c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h > c && (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e && 1 === a % 2 || 2 >= e && 0 < a && a < c - 1) && b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &&\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks && this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te && f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) && (a < h && (a = h), a > m && (a = m)), l(e) && (b < h && (b = h), b > m && (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) && (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) && (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e > a ? a = e : b < a && (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 < a && 165 > a ? \"right\" : 195 < a && 345 > a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a && this.isXAxis ? 1 : 0);\n\t\t\t\tif (e && c) return \"inside\" === b[a + \"Position\"] && (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &&\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] && this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 < a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines && !a.step && (l(q) ? [q] : k < I(a.autoRotationLimit, 80) && a.autoRotation)) && b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a && -90 <= a && 90 >= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b < u && (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b && 2 > (c.step || 0) && !c.rotation && (this.staggerLines || 1) * a.plotWidth / e || !b && (h && h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style && k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) && a.labelLength > C && (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C > n && C > g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d && (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f && G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles && \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength > d && n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height > this.len / e.length - (g.h - g.f) && (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation && (D = {\n\t\t\t\t\twidth: (C > .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) && a.label;\n\t\t\t\t\tb && (b.attr(u), D && b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) && l(this.max) && !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz && G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d && 2 !== d && {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign && \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines && (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC && C.text && !1 !== C.enabled && (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g && (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr && (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u && k.length && A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc && (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style && h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered && c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval && !a.categories && b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr && t[b].isNew && t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length && (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b >= a.min && b <= a.max) g[b] || (g[b] = new N(a, b)), r && g[b].isNew && g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G && (0 === a.min || a.single) && (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x && b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 && b < a.max && K <= a.max + (e.polar ? -G : G) && (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] && !a[h[c]].isActive && (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D && e.hasRendered && k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl && (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu && w && (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC && C.enabled && a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible && (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] && (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) && -1 === C(m, c.keepProps) && delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross && this.cross.e);\n\t\t\t\tthis.crosshair && !1 !== (l(b) || !h) ? (h ? l(b) && (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a && (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) && (c = this.getPlotLinePath(b && (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories && !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle && m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b && !e.width && m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross && this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x >= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x >= b.second) c[A.hcSetSeconds](x >= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x >= b.minute) c[A.hcSetMinutes](x >= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x >= b.hour) c[A.hcSetHours](x >= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x >= b.day) c[A.hcSetDate](x >= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx >= b.month && (c[A.hcSetMonth](x >= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x >= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) && (t - r > 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n < t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day && x !== b.week ? I && x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx <= b.hour && d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) && (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h < d.length && !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] && a <= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year && a < 5 * k && (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 <= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 <= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 < a ? [1, 2, 4] : .15 < a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f < v + 1 && !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t < k && !C; t++) e = n(b(f) * d[t]), e > g && (!l || h <= v) && void 0 !== h && w.push(h), h > v && (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split && !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b && b.tt;\n\t\t\t\t\tf && (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label && (this.label = this.label.destroy());\n\t\t\t\tthis.split && this.tt && (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation && !b.isHidden && (1 < Math.abs(a - e.x) || 1 < Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 < b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th && (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb && b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer && f && (void 0 === f.chartX && (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k && q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k && c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared && !k && 1 < a.length && f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer && v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c < f - k,\n\t\t\t\t\t\t\tu = f + k + c < b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q && u) e[a] = f;\n\t\t\t\t\t\telse if (!q && n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 > g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c > b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th < k || h > b - k ? m = !1 : e[a] = h < c / 2 ? 1 : h > b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 < this.len) && r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series && a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n && A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden && d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n && n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 > x && (h = !1);\n\t\t\t\t\ta = (b.series && b.series.yAxis && b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g && g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week && +E(\"%w\", a.x) === g.options.startOfWeek && \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] > k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] && n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e && (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te && (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e && \"datetime\" === e.options.type && p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th && !k && (k = this.getXDateFormat(a, d, e));\n\t\t\t\th && k && (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events && !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt && h.tooltip.enabled && (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) && (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a && !e || k && e;\n\t\t\t\tthis.zoomVert = k && !e || a && e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c && !t)\n\t\t\t\t\tfor (l = 0; l < f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt && (c ? t.noSharedTooltip : t.directTouch) && n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip && c;\n\t\t\t\t\t\tD = !c && a.directTouch;\n\t\t\t\t\t\ta.visible && !r && !D && b(a.options.enableMouseTracking, !0) && (L = a.searchPoint(e, !r && 1 === a.kdDimensions)) && L.series && G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e && c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index > b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) && G.splice(l, 1);\n\t\t\t\tif (G[0] && (G[0] !== this.prevKDPoint || k && k.isHidden)) {\n\t\t\t\t\tif (c &&\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l < G.length; l++) G[l].onMouseOver(e, G[l] !== (t && t.directTouch && n || G[0]));\n\t\t\t\t\t\tG.length && k && k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k && k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td && (f = t && t.tooltipOptions.followPointer, k && f && !k.isHidden && (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series && a.series[b.coll] === b) && b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f && f.shared ? k : c;\n\t\t\t\ta && d && v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian && void 0 === b.plotX && (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f && d && (f.refresh(d), c && (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair && a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk && v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf && f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove && (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis && c.xAxis.zoomEnabled && c.group && (c.group.attr(h), c.markerGroup && (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup && c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey && a[e.panKey + \"Key\"];\n\t\t\t\tr && r.touch || (k < g ? k = g : k > g + t && (k = g + t), c < n ? c = n : c > n + D && (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 < this.hasDragged &&\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries && (this.zoomX || this.zoomY) && l && !z && !r && (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r && f && (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 < k ? 0 : k) + p\n\t\t\t\t\t})), r && d && (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 < k ? 0 : k) + m\n\t\t\t\t\t})), l && !r && e.panning && b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled && d(e.min) && (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D && r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk && this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te && (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 < this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault && a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] && F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te && (b.relatedTarget || b.toElement) && (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) && F[a.hoverChartIndex] && F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown && this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") && !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) && this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e && this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint && e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) && r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount && E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch && (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount && E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor && this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert && this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J && d[1][h],\n\t\t\t\t\tN = !J && l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J && 20 < Math.abs(D - L) && (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td < I.min ? (d = I.min, m = !0) : d + c > I.max && (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b && (g.inClass(a.target, \"highcharts-tracker\") && l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 < b && (g.initiated = !0);\n\t\t\t\tw && g.initiated && !e && a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] && r[1].chartX], n.y = [r[0].chartY, r[1] && r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove && 1 === b ? this.runPointActions(g.normalize(a)) : r.length && (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res && (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) && !l.openMenu ? (p && this.runPointActions(g), \"touchmove\" === g.type && (p = this.pinchDown, r = p[0] ? 4 <= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) && this.pinch(g)) : p && this.reset()) : 2 === g.touches.length && this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] && E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) && b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType && b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &&\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) && this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled && (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) && e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options && a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf && f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk && k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n && c.isMarker && (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) && a.element && a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc && (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb && H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb && (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] && (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta && (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group && this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb && (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te && (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h > f - 6 && h < f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &&\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v && a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem && y && y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents && this.setItemEvents(a, z, B), y && this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td && this.itemX - m + c > (G || b.chartWidth - 2 * t - m - k.x) && (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b && b.options;\n\t\t\t\t\tb && f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) && (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) && !p(a[d]) && (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options && a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options && b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed && u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 < q && 0 < t && (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc && l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l && (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div && (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc && (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta > h && !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] > n && (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 && c + a - G[e - 1] > n && G.push(c);\n\t\t\t\t\t\tc !== w && (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D && (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta > d && (a = d);\n\t\t\t\t0 < a && (void 0 !== e && b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle && (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf && !1 !== f.enabled && (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) && t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos && a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 <= e && e <= this.plotWidth && 0 <= a && a <= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr && this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking && (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking && (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty && \"point\" === a.options.legendType && (a.updateTotals && a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData && k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm && d.options.enabled && (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th && this.getStacks();\n\t\t\t\tq && n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq && (n(c, function(a) {\n\t\t\t\t\ta.isDirty && (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b && (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) && a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl && this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) && a.visible && a.redraw()\n\t\t\t\t});\n\t\t\t\tf && f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr && this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e < b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e < c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b < f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf && d && (e[c] = f = f.destroy());\n\t\t\t\t\ta && a.text && !f && (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b && a, b &&\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc && (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox && c && (this.isDirtyBox = c, this.hasRendered &&\n\t\t\t\t\tJ(a, !0) && this.isDirtyBox && this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 < this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c && c.parentNode === this.renderTo && this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty && b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c && b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) && (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) && r[d] && r[d].hasRendered && r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting && e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf && !b(e[0]) && (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display && this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &&\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin && (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries && n(a.axes, function(a) {\n\t\t\t\t\ta.visible && a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m && !c.isPrinting && h && f && (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container && c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b && (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c && (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive && d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td && k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq && (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c && c.prototype[m];\n\t\t\t\t\tfor (f = e && e.length; !d && f--;)(c = L[e[f].type]) && c.prototype[m] && (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) && (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) && e.linkedParent !== b && (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items && n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks && this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 < c / this.plotWidth;\n\t\t\t\td = 1.05 < e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz && f || !a.horiz && d) && a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries && n(a, function(a) {\n\t\t\t\t\ta.visible && a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive && this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled && !this.credits && (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href && (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f && f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller && this.scroller.destroy && this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc && c.destroy && (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf && (f.innerHTML = \"\", G(f), m && l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState && a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI && (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount && a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta && void 0 !== this.index && a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow && this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b && (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group && delete this.group;\n\t\t\t\td && (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid && !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected && (this.state = \"select\");\n\t\t\t\t\"name\" in this && void 0 === b && f.xAxis && f.xAxis.hasNames && (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x && f && (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d && a.length > k && (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f && (b.x = a[0]), e++); h < k;) d && void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a && (b = a, a.dataLabels && (f._hasPointLabels = !0), a.marker && (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] >= g.value;) g = b[++d];\n\t\t\t\tg && g.color && !this.options.color && (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb && (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem && a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] && (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options && f.options.events && f.options.events[a]) && this.importEvents();\n\t\t\t\t\"click\" === a && g.allowPointSelect && (d = function(a) {\n\t\t\t\t\tf.select && f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f && f.click || b.point && b.point.events && b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian && (a.hasCartesianSeries = !0);\n\t\t\t\td.length && (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h && h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis && x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] && c[d] === f.id || void 0 === c[d] && 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e && c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te && (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e && (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series && e.series.tooltip, e[this.type] && e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker && delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &&\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length && l(a[a.length - 1].value) && a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &&\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e && (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g && g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) && q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d && q && n === q && !m.cropped && !m.hasGroupedData && m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update && a !== l.data[b] && g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x && q > x) {\n\t\t\t\t\t\tfor (f = 0; null === D && f < q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f < q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f < q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f < q; f++) void 0 !== a[f] && (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) && b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] && g[f].destroy && g[f].destroy();\n\t\t\t\t\tp && (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType && (this.processData(), this.generatePoints());\n\t\t\t\tc && t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g && g.val2lin,\n\t\t\t\t\tt = g && g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u && !this.isDirty && !g.isDirty && !this.yAxis.isDirty && !a) return !1;\n\t\t\t\tg && (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u && this.sorted && !l && (!q || f > q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] < r || c[0] > D) c = [], e = [];\n\t\t\t\t\telse if (c[0] < r || c[f - 1] > D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 < f && (void 0 === k || f < k) ? k = f : 0 > f && this.requireSorting && b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g < f; g++)\n\t\t\t\t\tif (a[g] >= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c < f; c++)\n\t\t\t\t\tif (a[c] > e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t < h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b && (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t < c; t++) t !== g || n || (t += h), b[t] && (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u < f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) && (!b.isLog || t.length || 0 < t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) >= g && (c[u - 1] || l) <= q, n && l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] && (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n && (n = .5);\n\t\t\t\te(n) && (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a < g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b && d.stacks[(this.negStacks && A < (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog && null !== A && 0 >= A && (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb && this.visible && !C.isNull && E && E[J] && (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r && I.key === E[J].base && (w = u(t, d.min)), d.isLog && 0 >= w && (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total && C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk && (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A && Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w && 0 <= w && w <= d.len && 0 <= x && x <= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y < (t || 0);\n\t\t\t\t\tC.category = f && void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v && (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b && !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a && a.duration, a && a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a && (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta && !k.count[this.index] && (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip && (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] && (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length && g && b[g] && (d || (b[g] = b[g].destroy()), b[g + \"m\"] && (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) && a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] && b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx > 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r && void 0 === k.enabled || k.enabled, l = d.isInside, q && e(c) && null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected && \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l && (0 < q.width || d.hasImage) && (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h && h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected && \"select\")), h && h.addClass(d.getClassName(), !0)) : h && (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b], e = u(b && b.radius, c && c.radius, e + (c && c.radiusPlus || 0)));\n\t\t\t\ta.hasImage && (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te && (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a && a.options,\n\t\t\t\t\tf = e && e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e && e.color,\n\t\t\t\t\tg = a &&\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta && this.zones.length && (a = a.getZone()) && a.color && (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb && (c = c.states[b], b = f.states && f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) && n.series && (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem && a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) && k.destroy && k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K && !a[g].survive && (d = e && \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a && (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) && a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d && 3) && h && (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u && u.rightCliff) && !c && (n = !0);\n\t\t\t\t\th.isNull && !l(b) && 0 < m ? n = !f.connectNulls : h.isNull && !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d && g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length && (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph && a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap && (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 > f && b.shadow));\n\t\t\t\t\th && (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length && (g || n) && l && void 0 !==\n\t\t\t\t\tl.min && (p = l.reversed, w = l.horiz, g && g.hide(), n && n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC && (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w && (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx && c.isVML && (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g && a[\"zone-graph-\" + m].clip(h[m]), n && a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value > t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] && c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis && (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th && (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted && (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate && b.renderer.isSVG && A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf && a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph && (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels && a.drawDataLabels();\n\t\t\t\ta.visible && a.drawPoints();\n\t\t\t\ta.drawTracker && !1 !== a.options.enableMouseTracking && a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf && a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc && (a.inverted && c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e && e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f && f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb && delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c && c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) && l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) && l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 > n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 > n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] && (q = c(a, b[q], k + 1, g), u = q[h] < u[h] ? q : m);\n\t\t\t\t\tb[t] && Math.sqrt(n * n) < u[h] && (a = c(a, b[t], k + 1, g), u = a[h] < u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative && !l || !this.isNegative && l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks && a.hasVisibleSeries && (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible && !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &&\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g < d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched < this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks && (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking && (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G < d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u && F < (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] && x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F && (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 < K.index && !1 === this.singleStacks && (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u && q[I] && q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F && (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g && (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] && b[f][e]) && h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d && a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta && (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb && f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) && this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te && p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb && (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k && this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) && (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) && (q = !0), -1 !== f(c, this.propsRequireDirtyBox) && (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k && this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] && \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c && -1 !== f(c, this.propsRequireUpdateSeries) && (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors && (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions && w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] && g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) && this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc && c.coll === b && c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn && g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq && g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading && w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k && k.width;\n\t\t\t\tk = k && k.height;\n\t\t\t\tb(c) && c !== this.chartWidth || b(k) && k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) && this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y && g && (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) && (g && g.element && a && a.marker && a.marker.symbol && (d.graphic = g.destroy()),\n\t\t\t\t\t\ta && a.dataLabels && d.dataLabel && (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox && h.hasCartesianSeries && (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType && (q.isDirtyLegend = !0);\n\t\t\t\t\tb && q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis && this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting && u < q[l - 1])\n\t\t\t\t\tfor (m = !0; l && q[l - 1] > u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg && n.name && (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm && (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType && this.generatePoints();\n\t\t\t\te && (d[0] && d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb && h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th && h.length === f.length && h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td && d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb && g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) && d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k && k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) && e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) && c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] && e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) && b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C < n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total && d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] && !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] && (u = f[c].points[C]) && (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 <= C && C < k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r && h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &&\n\t\t\t\t\t\t\ta[c] && a[c].isNull && (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q && (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr && (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b < a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n && !r && g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length && (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g && !g.isNull && !1 !== g.doCurve && H && !H.isNull && !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v && (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl > a && l > d ? (l = Math.max(a, d), f = 2 * d - l) : l < a && l < d && (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf > H && f > d ? (f = Math.max(H, d), l = 2 * d - f) : f < H && f < d && (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type && b.visible && l.len === d.len && l.pos === d.pos && (c.stacking ? (k = b.stackKey, void 0 === e[k] && (e[k] = h++), f = e[k]) : !1 !== c.grouping && (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted && f.renderer.isVML && (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 >= Math.abs(b) && .5 < g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te && g && (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 > a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted && (k -= .5);\n\t\t\t\td.pointPadding && (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) < e && e && (v = e, r = !t.reversed && !d.negative || t.reversed && d.negative, q = Math.abs(q - k) > e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a && a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta && this.zones.length && (e = (e = a.getZone()) && e.color || a.options.color || this.color);\n\t\t\t\tb && (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l && A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius && (a.r = d.borderRadius);\n\t\t\t\tf && (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) && null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount < t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected && \"select\")).shadow(g.shadow, null, g.stacking && !g.borderRadius)\n\t\t\t\t\t} else f && (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr && (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered && F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type && (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth && E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 > l; ++l) r = g[l], a = 2 > l || 2 === l && /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] > g[2] && (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te && (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], 0 > k.y && (k.y = null), d += e && !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a < g; a++) k = f[a], k.percentage = 0 < d && (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r < v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl > 1.5 * Math.PI ? l -= 2 * Math.PI : l < -Math.PI / 2 && (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l < -Math.PI / 2 || l > Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 > p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th && !a.shadowGroup && (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th && !l && (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl && l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected && \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle && (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible && (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem && k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e && (f.isDirty = !0), d && k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup && this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l > b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l <= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 < d && a[d - 1].pos + a[d - 1].size > a[d].pos && (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size > b && (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions && a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w && !c ? \"hidden\" : \"visible\", e.zIndex || 6), w && (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible && n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options && c.options.dataLabels;\n\t\t\t\tf = r(g && g.enabled, l.enabled) && null !== c.y;\n\t\t\t\tif (h && !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m && (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color && (w.color = e.inside ||\n\t\t\t\t\t\t\t0 > e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor && (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] && delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th && a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible && (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d && g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw && (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 < h && 360 > h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v && (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) && (w = g.isInsidePlot(c.x, c.y) && g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape && !t && b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 > l && (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl > c.plotWidth && (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 > l && (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl > c.plotHeight && (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn && (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie && (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 < w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible && (l.enabled || d._hasPointLabels) && (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel && a.visible && (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 < w && (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R < u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B < f + 2 || B > k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size && (m = N.width, y - m < n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m > q - n &&\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 > B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 > p && (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) && (this.placeDataLabels(), F && c && H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) && N._pos && a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v && (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb && a.visible && ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b && b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn < b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels && this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column && (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY > r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk && (f = v(k), 0 > f.y && (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 < k && (f.height -= k), h && (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) && !g.allowOverlap && a.visible && A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] && (a[f].labelrank = F(a.labelrank, a.shapeArgs && a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c > a + d || c + k < a || g > b + f || g + l < b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p < d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g < d; ++g)\n\t\t\t\t\tif (r = a[g], l && r && l.placed && r.placed && 0 !==\n\t\t\t\t\t\tl.newOpacity && 0 !== r.newOpacity && (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank < r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta && (d = a.newOpacity, a.oldOpacity !== d && a.placed && (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c && !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d && d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic && (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel && (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor && a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f && !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] && e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t && \"M\" === e[t] || t === f) && e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph && (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor && a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column && (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie && (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter && (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible && a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f && f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] && (c = b.zoom(a.min, a.max), b.displayBtn && (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te && !f ? this.showResetZoom() : !e && b(f) && (this.resetZoomButton = f.destroy());\n\t\t\t\tc && this.redraw(t(this.options.chart.animation, a && a.animation, 100 > this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td && g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h > g;\n\t\t\t\t\tf && (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length && (h || n > Math.min(l.dataMin, l.min)) && (!h || k < Math.max(l.dataMax, l.max)) && (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te && c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a && \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected && a !== c && (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f && f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared && !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb && -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker && f.options.marker,\n\t\t\t\t\tk = h && !1 === h.enabled,\n\t\t\t\t\tl = h && h.states && h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h && f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state && !b || this.selected && \"select\" !== a || !1 === g.enabled || a && (n || k && !1 === l.enabled) || a && m.states &&\n\t\t\t\t\t\tm.states[a] && !1 === m.states[a].enabled)) {\n\t\t\t\t\ty && (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state && this.graphic.removeClass(\"highcharts-point-\" + this.state), a && this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w && this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p && p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a && l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp && p.currentSymbol !== h && (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h && (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp && p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp && (p[a && r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) && c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u && u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b && b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver && l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis && a.events.mouseOut && l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared && !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a && (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc && (b.state && c.removeClass(\"highcharts-series-\" + b.state), a && c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) && (a && (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e && !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint && d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te && d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking && g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking && a.visible && (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th && (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b && d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox && (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td && d.rules && A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth <= p(r.maxWidth, Number.MAX_VALUE) && this.chartHeight <= p(r.maxHeight, Number.MAX_VALUE) && this.chartWidth >= p(r.minWidth, 0) && this.chartHeight >= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id && (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] && f ? d.chartOptions && (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] && !f && (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 < F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p < a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});"
  },
  {
    "path": "highcharts/pe-treemap/ui-script/pe-highcharts-export.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" && module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/<svg /,\n\t\t\t\t'<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/<\\/svg>.*?$/, \"</svg>\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&nbsp;/g, \"\\u00a0\").replace(/&shy;/g, \"\\u00ad\").replace(/<IMG /g, \"<image \").replace(/<(\\/?)TITLE>/g, \"<$1title>\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\">/g, 'xlink:href=\"$1\"/>').replace(/ id=([^\" >]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" >]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) && parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) && parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta && m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td && (g !== void 0 || f !== void 0) && d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n && (c = g.match(/<\\/svg>(.*?$)/))) c = '<foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"><body xmlns=\"http://www.w3.org/1999/xhtml\">' + c[1] + \"</body></foreignObject>\", g = g.replace(\"</svg>\", c + \"</svg>\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&quot;/g, \"$1\").replace(/&quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a && a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a && a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h && a.chartWidth > h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn && a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th && h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb && b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick && a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth > o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight > p && h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p && p.hover,\n\t\t\t\t\tp = p && p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k && (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text && c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol && (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b < a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b < a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});"
  },
  {
    "path": "highcharts/pe-treemap/ui-script/pe-highcharts-heatmap.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.7 (2017-01-17)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(n) {\n\t\"object\" === typeof module && module.exports ? module.exports = n : n(Highcharts)\n})(function(n) {\n\t(function(c) {\n\t\tvar k = c.Axis,\n\t\t\tr = c.Chart,\n\t\t\tm = c.color,\n\t\t\tl, e = c.each,\n\t\t\tv = c.extend,\n\t\t\tw = c.isNumber,\n\t\t\tp = c.Legend,\n\t\t\tf = c.LegendSymbolMixin,\n\t\t\tx = c.noop,\n\t\t\tq = c.merge,\n\t\t\tu = c.pick,\n\t\t\tt = c.wrap;\n\t\tl = c.ColorAxis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tv(l.prototype, k.prototype);\n\t\tv(l.prototype, {\n\t\t\tdefaultColorAxisOptions: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\tendOnTick: !0,\n\t\t\t\toffset: 0,\n\t\t\t\tmarker: {\n\t\t\t\t\tanimation: {\n\t\t\t\t\t\tduration: 50\n\t\t\t\t\t},\n\t\t\t\t\twidth: .01,\n\t\t\t\t\tcolor: \"#999999\"\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\toverflow: \"justify\",\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tminColor: \"#e6ebf5\",\n\t\t\t\tmaxColor: \"#003399\",\n\t\t\t\ttickLength: 5,\n\t\t\t\tshowInLegend: !0\n\t\t\t},\n\t\t\tkeepProps: [\"legendGroup\", \"legendItem\", \"legendSymbol\"].concat(k.prototype.keepProps),\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar d = \"vertical\" !== a.options.legend.layout,\n\t\t\t\t\tg;\n\t\t\t\tthis.coll = \"colorAxis\";\n\t\t\t\tg = q(this.defaultColorAxisOptions, {\n\t\t\t\t\tside: d ? 2 : 1,\n\t\t\t\t\treversed: !d\n\t\t\t\t}, b, {\n\t\t\t\t\topposite: !d,\n\t\t\t\t\tshowEmpty: !1,\n\t\t\t\t\ttitle: null\n\t\t\t\t});\n\t\t\t\tk.prototype.init.call(this, a, g);\n\t\t\t\tb.dataClasses && this.initDataClasses(b);\n\t\t\t\tthis.initStops(b);\n\t\t\t\tthis.horiz =\n\t\t\t\t\td;\n\t\t\t\tthis.zoomEnabled = !1;\n\t\t\t\tthis.defaultLegendLength = 200\n\t\t\t},\n\t\t\ttweenColors: function(a, b, d) {\n\t\t\t\tvar g;\n\t\t\t\tb.rgba.length && a.rgba.length ? (a = a.rgba, b = b.rgba, g = 1 !== b[3] || 1 !== a[3], a = (g ? \"rgba(\" : \"rgb(\") + Math.round(b[0] + (a[0] - b[0]) * (1 - d)) + \",\" + Math.round(b[1] + (a[1] - b[1]) * (1 - d)) + \",\" + Math.round(b[2] + (a[2] - b[2]) * (1 - d)) + (g ? \",\" + (b[3] + (a[3] - b[3]) * (1 - d)) : \"\") + \")\") : a = b.input || \"none\";\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tinitDataClasses: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.chart,\n\t\t\t\t\tg, h = 0,\n\t\t\t\t\tc = d.options.chart.colorCount,\n\t\t\t\t\ty = this.options,\n\t\t\t\t\tf = a.dataClasses.length;\n\t\t\t\tthis.dataClasses = g = [];\n\t\t\t\tthis.legendItems = [];\n\t\t\t\te(a.dataClasses, function(a, e) {\n\t\t\t\t\ta = q(a);\n\t\t\t\t\tg.push(a);\n\t\t\t\t\ta.color || (\"category\" === y.dataClassColor ? (e = d.options.colors, c = e.length, a.color = e[h], a.colorIndex = h, h++, h === c && (h = 0)) : a.color = b.tweenColors(m(y.minColor), m(y.maxColor), 2 > f ? .5 : e / (f - 1)))\n\t\t\t\t})\n\t\t\t},\n\t\t\tinitStops: function(a) {\n\t\t\t\tthis.stops = a.stops || [\n\t\t\t\t\t[0, this.options.minColor],\n\t\t\t\t\t[1, this.options.maxColor]\n\t\t\t\t];\n\t\t\t\te(this.stops, function(a) {\n\t\t\t\t\ta.color = m(a[1])\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tk.prototype.setOptions.call(this, a);\n\t\t\t\tthis.options.crosshair = this.options.marker\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.legendSymbol,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.options.legend || {},\n\t\t\t\t\tg, h;\n\t\t\t\ta ? (this.left = d = a.attr(\"x\"), this.top = g = a.attr(\"y\"), this.width = h = a.attr(\"width\"), this.height = a = a.attr(\"height\"), this.right = b.chartWidth - d - h, this.bottom = b.chartHeight - g - a, this.len = this.horiz ? h : a, this.pos = this.horiz ? d : g) : this.len = (this.horiz ? d.symbolWidth : d.symbolHeight) || this.defaultLegendLength\n\t\t\t},\n\t\t\ttoColor: function(a, b) {\n\t\t\t\tvar d = this.stops,\n\t\t\t\t\tg, h, c = this.dataClasses,\n\t\t\t\t\te, f;\n\t\t\t\tif (c)\n\t\t\t\t\tfor (f = c.length; f--;) {\n\t\t\t\t\t\tif (e = c[f], g = e.from, d = e.to, (void 0 === g || a >= g) && (void 0 ===\n\t\t\t\t\t\t\t\td || a <= d)) {\n\t\t\t\t\t\t\th = e.color;\n\t\t\t\t\t\t\tb && (b.dataClass = f, b.colorIndex = e.colorIndex);\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.isLog && (a = this.val2lin(a));\n\t\t\t\t\t\ta = 1 - (this.max - a) / (this.max - this.min || 1);\n\t\t\t\t\t\tfor (f = d.length; f-- && !(a > d[f][0]););\n\t\t\t\t\t\tg = d[f] || d[f + 1];\n\t\t\t\t\t\td = d[f + 1] || g;\n\t\t\t\t\t\ta = 1 - (d[0] - a) / (d[0] - g[0] || 1);\n\t\t\t\t\t\th = this.tweenColors(g.color, d.color, a)\n\t\t\t\t\t}\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this.legendGroup,\n\t\t\t\t\tb = this.chart.axisOffset[this.side];\n\t\t\t\ta && (this.axisParent = a, k.prototype.getOffset.call(this), this.added || (this.added = !0, this.labelLeft = 0, this.labelRight = this.width), this.chart.axisOffset[this.side] =\n\t\t\t\t\tb)\n\t\t\t},\n\t\t\tsetLegendColor: function() {\n\t\t\t\tvar a, b = this.options,\n\t\t\t\t\td = this.reversed;\n\t\t\t\ta = d ? 1 : 0;\n\t\t\t\td = d ? 0 : 1;\n\t\t\t\ta = this.horiz ? [a, 0, d, 0] : [0, d, 0, a];\n\t\t\t\tthis.legendColor = {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: a[0],\n\t\t\t\t\t\ty1: a[1],\n\t\t\t\t\t\tx2: a[2],\n\t\t\t\t\t\ty2: a[3]\n\t\t\t\t\t},\n\t\t\t\t\tstops: b.stops || [\n\t\t\t\t\t\t[0, b.minColor],\n\t\t\t\t\t\t[1, b.maxColor]\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(a, b) {\n\t\t\t\tvar d = a.padding,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\th = this.horiz,\n\t\t\t\t\tc = u(g.symbolWidth, h ? this.defaultLegendLength : 12),\n\t\t\t\t\tf = u(g.symbolHeight, h ? 12 : this.defaultLegendLength),\n\t\t\t\t\te = u(g.labelPadding, h ? 16 : 30),\n\t\t\t\t\tg = u(g.itemDistance, 10);\n\t\t\t\tthis.setLegendColor();\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(0,\n\t\t\t\t\ta.baseline - 11, c, f).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(b.legendGroup);\n\t\t\t\tthis.legendItemWidth = c + d + (h ? g : e);\n\t\t\t\tthis.legendItemHeight = f + d + (h ? e : 0)\n\t\t\t},\n\t\t\tsetState: x,\n\t\t\tvisible: !0,\n\t\t\tsetVisible: x,\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.length;\n\t\t\t\tthis.dataMin = Infinity;\n\t\t\t\tfor (this.dataMax = -Infinity; b--;) void 0 !== a[b].valueMin && (this.dataMin = Math.min(this.dataMin, a[b].valueMin), this.dataMax = Math.max(this.dataMax, a[b].valueMax))\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar d = b && b.plotX,\n\t\t\t\t\tc = b && b.plotY,\n\t\t\t\t\th, f = this.pos,\n\t\t\t\t\te = this.len;\n\t\t\t\tb && (h = this.toPixels(b[b.series.colorKey]),\n\t\t\t\t\th < f ? h = f - 2 : h > f + e && (h = f + e + 2), b.plotX = h, b.plotY = this.len - h, k.prototype.drawCrosshair.call(this, a, b), b.plotX = d, b.plotY = c, this.cross && (this.cross.addClass(\"highcharts-coloraxis-marker\").add(this.legendGroup), this.cross.attr({\n\t\t\t\t\t\tfill: this.crosshair.color\n\t\t\t\t\t})))\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, d, c, h) {\n\t\t\t\treturn w(h) ? this.horiz ? [\"M\", h - 4, this.top - 6, \"L\", h + 4, this.top - 6, h, this.top, \"Z\"] : [\"M\", this.left, h, \"L\", this.left - 6, h + 6, this.left - 6, h - 6, \"Z\"] : k.prototype.getPlotLinePath.call(this, a, b, d, c)\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar d = this.chart,\n\t\t\t\t\tc = d.legend;\n\t\t\t\te(this.series, function(a) {\n\t\t\t\t\ta.isDirtyData = !0\n\t\t\t\t});\n\t\t\t\ta.dataClasses && c.allItems && (e(c.allItems, function(a) {\n\t\t\t\t\ta.isDataClass && a.legendGroup.destroy()\n\t\t\t\t}), d.isDirtyLegend = !0);\n\t\t\t\td.options[this.coll] = q(this.userOptions, a);\n\t\t\t\tk.prototype.update.call(this, a, b);\n\t\t\t\tthis.legendItem && (this.setLegendColor(), c.colorizeItem(this, !0))\n\t\t\t},\n\t\t\tgetDataClassLegendSymbols: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = this.legendItems,\n\t\t\t\t\tg = b.options.legend,\n\t\t\t\t\th = g.valueDecimals,\n\t\t\t\t\tt = g.valueSuffix || \"\",\n\t\t\t\t\tk;\n\t\t\t\td.length || e(this.dataClasses, function(g, p) {\n\t\t\t\t\tvar l = !0,\n\t\t\t\t\t\tq = g.from,\n\t\t\t\t\t\tm = g.to;\n\t\t\t\t\tk = \"\";\n\t\t\t\t\tvoid 0 === q ? k = \"\\x3c \" : void 0 === m && (k = \"\\x3e \");\n\t\t\t\t\tvoid 0 !== q && (k += c.numberFormat(q, h) + t);\n\t\t\t\t\tvoid 0 !== q && void 0 !== m && (k += \" - \");\n\t\t\t\t\tvoid 0 !== m && (k += c.numberFormat(m, h) + t);\n\t\t\t\t\td.push(v({\n\t\t\t\t\t\tchart: b,\n\t\t\t\t\t\tname: k,\n\t\t\t\t\t\toptions: {},\n\t\t\t\t\t\tdrawLegendSymbol: f.drawRectangle,\n\t\t\t\t\t\tvisible: !0,\n\t\t\t\t\t\tsetState: x,\n\t\t\t\t\t\tisDataClass: !0,\n\t\t\t\t\t\tsetVisible: function() {\n\t\t\t\t\t\t\tl = this.visible = !l;\n\t\t\t\t\t\t\te(a.series, function(a) {\n\t\t\t\t\t\t\t\te(a.points, function(a) {\n\t\t\t\t\t\t\t\t\ta.dataClass === p && a.setVisible(l)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tb.legend.colorizeItem(this, l)\n\t\t\t\t\t\t}\n\t\t\t\t\t}, g))\n\t\t\t\t});\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tname: \"\"\n\t\t});\n\t\te([\"fill\", \"stroke\"], function(a) {\n\t\t\tc.Fx.prototype[a +\n\t\t\t\t\"Setter\"] = function() {\n\t\t\t\tthis.elem.attr(a, l.prototype.tweenColors(m(this.start), m(this.end), this.pos), null, !0)\n\t\t\t}\n\t\t});\n\t\tt(r.prototype, \"getAxes\", function(a) {\n\t\t\tvar b = this.options.colorAxis;\n\t\t\ta.call(this);\n\t\t\tthis.colorAxis = [];\n\t\t\tb && new l(this, b)\n\t\t});\n\t\tt(p.prototype, \"getAllItems\", function(a) {\n\t\t\tvar b = [],\n\t\t\t\td = this.chart.colorAxis[0];\n\t\t\td && d.options && (d.options.showInLegend && (d.options.dataClasses ? b = b.concat(d.getDataClassLegendSymbols()) : b.push(d)), e(d.series, function(a) {\n\t\t\t\ta.options.showInLegend = !1\n\t\t\t}));\n\t\t\treturn b.concat(a.call(this))\n\t\t});\n\t\tt(p.prototype,\n\t\t\t\"colorizeItem\",\n\t\t\tfunction(a, b, d) {\n\t\t\t\ta.call(this, b, d);\n\t\t\t\td && b.legendColor && b.legendSymbol.attr({\n\t\t\t\t\tfill: b.legendColor\n\t\t\t\t})\n\t\t\t})\n\t})(n);\n\t(function(c) {\n\t\tvar k = c.defined,\n\t\t\tr = c.each,\n\t\t\tm = c.noop,\n\t\t\tl = c.seriesTypes;\n\t\tc.colorPointMixin = {\n\t\t\tisValid: function() {\n\t\t\t\treturn null !== this.value\n\t\t\t},\n\t\t\tsetVisible: function(c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tk = c ? \"show\" : \"hide\";\n\t\t\t\tr([\"graphic\", \"dataLabel\"], function(c) {\n\t\t\t\t\tif (e[c]) e[c][k]()\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetState: function(e) {\n\t\t\t\tc.Point.prototype.setState.call(this, e);\n\t\t\t\tthis.graphic && this.graphic.attr({\n\t\t\t\t\tzIndex: \"hover\" === e ? 1 : 0\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\tc.colorSeriesMixin = {\n\t\t\tpointArrayMap: [\"value\"],\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\", \"colorAxis\"],\n\t\t\toptionalAxis: \"colorAxis\",\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\tgetSymbol: m,\n\t\t\tparallelArrays: [\"x\", \"y\", \"value\"],\n\t\t\tcolorKey: \"value\",\n\t\t\tpointAttribs: l.column.prototype.pointAttribs,\n\t\t\ttranslateColors: function() {\n\t\t\t\tvar c = this,\n\t\t\t\t\tk = this.options.nullColor,\n\t\t\t\t\tl = this.colorAxis,\n\t\t\t\t\tm = this.colorKey;\n\t\t\t\tr(this.data, function(f) {\n\t\t\t\t\tvar e = f[m];\n\t\t\t\t\tif (e = f.options.color || (f.isNull ? k : l && void 0 !== e ? l.toColor(e, f) : f.color || c.color)) f.color = e\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolorAttribs: function(c) {\n\t\t\t\tvar e = {};\n\t\t\t\tk(c.color) && (e[this.colorProp ||\n\t\t\t\t\t\"fill\"] = c.color);\n\t\t\t\treturn e\n\t\t\t}\n\t\t}\n\t})(n);\n\t(function(c) {\n\t\tvar k = c.colorPointMixin,\n\t\t\tr = c.each,\n\t\t\tm = c.merge,\n\t\t\tl = c.noop,\n\t\t\te = c.pick,\n\t\t\tn = c.Series,\n\t\t\tw = c.seriesType,\n\t\t\tp = c.seriesTypes;\n\t\tw(\"heatmap\", \"scatter\", {\n\t\t\t\tanimation: !1,\n\t\t\t\tborderWidth: 0,\n\t\t\t\tnullColor: \"#f7f7f7\",\n\t\t\t\tdataLabels: {\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn this.point.value\n\t\t\t\t\t},\n\t\t\t\t\tinside: !0,\n\t\t\t\t\tverticalAlign: \"middle\",\n\t\t\t\t\tcrop: !1,\n\t\t\t\t\toverflow: !1,\n\t\t\t\t\tpadding: 0\n\t\t\t\t},\n\t\t\t\tmarker: null,\n\t\t\t\tpointRange: null,\n\t\t\t\ttooltip: {\n\t\t\t\t\tpointFormat: \"{point.x}, {point.y}: {point.value}\\x3cbr/\\x3e\"\n\t\t\t\t},\n\t\t\t\tstates: {\n\t\t\t\t\tnormal: {\n\t\t\t\t\t\tanimation: !0\n\t\t\t\t\t},\n\t\t\t\t\thover: {\n\t\t\t\t\t\thalo: !1,\n\t\t\t\t\t\tbrightness: .2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tm(c.colorSeriesMixin, {\n\t\t\t\tpointArrayMap: [\"y\", \"value\"],\n\t\t\t\thasPointSpecificOptions: !0,\n\t\t\t\tsupportsDrilldown: !0,\n\t\t\t\tgetExtremesFromAll: !0,\n\t\t\t\tdirectTouch: !0,\n\t\t\t\tinit: function() {\n\t\t\t\t\tvar c;\n\t\t\t\t\tp.scatter.prototype.init.apply(this, arguments);\n\t\t\t\t\tc = this.options;\n\t\t\t\t\tc.pointRange = e(c.pointRange, c.colsize || 1);\n\t\t\t\t\tthis.yAxis.axisPointRange = c.rowsize || 1\n\t\t\t\t},\n\t\t\t\ttranslate: function() {\n\t\t\t\t\tvar c = this.options,\n\t\t\t\t\t\te = this.xAxis,\n\t\t\t\t\t\tk = this.yAxis,\n\t\t\t\t\t\tl = function(c, a, b) {\n\t\t\t\t\t\t\treturn Math.min(Math.max(a, c), b)\n\t\t\t\t\t\t};\n\t\t\t\t\tthis.generatePoints();\n\t\t\t\t\tr(this.points, function(f) {\n\t\t\t\t\t\tvar a = (c.colsize || 1) / 2,\n\t\t\t\t\t\t\tb = (c.rowsize ||\n\t\t\t\t\t\t\t\t1) / 2,\n\t\t\t\t\t\t\td = l(Math.round(e.len - e.translate(f.x - a, 0, 1, 0, 1)), -e.len, 2 * e.len),\n\t\t\t\t\t\t\ta = l(Math.round(e.len - e.translate(f.x + a, 0, 1, 0, 1)), -e.len, 2 * e.len),\n\t\t\t\t\t\t\tg = l(Math.round(k.translate(f.y - b, 0, 1, 0, 1)), -k.len, 2 * k.len),\n\t\t\t\t\t\t\tb = l(Math.round(k.translate(f.y + b, 0, 1, 0, 1)), -k.len, 2 * k.len);\n\t\t\t\t\t\tf.plotX = f.clientX = (d + a) / 2;\n\t\t\t\t\t\tf.plotY = (g + b) / 2;\n\t\t\t\t\t\tf.shapeType = \"rect\";\n\t\t\t\t\t\tf.shapeArgs = {\n\t\t\t\t\t\t\tx: Math.min(d, a),\n\t\t\t\t\t\t\ty: Math.min(g, b),\n\t\t\t\t\t\t\twidth: Math.abs(a - d),\n\t\t\t\t\t\t\theight: Math.abs(b - g)\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tthis.translateColors()\n\t\t\t\t},\n\t\t\t\tdrawPoints: function() {\n\t\t\t\t\tp.column.prototype.drawPoints.call(this);\n\t\t\t\t\tr(this.points,\n\t\t\t\t\t\tfunction(c) {\n\t\t\t\t\t\t\tc.graphic.attr(this.colorAttribs(c))\n\t\t\t\t\t\t}, this)\n\t\t\t\t},\n\t\t\t\tanimate: l,\n\t\t\t\tgetBox: l,\n\t\t\t\tdrawLegendSymbol: c.LegendSymbolMixin.drawRectangle,\n\t\t\t\talignDataLabel: p.column.prototype.alignDataLabel,\n\t\t\t\tgetExtremes: function() {\n\t\t\t\t\tn.prototype.getExtremes.call(this, this.valueData);\n\t\t\t\t\tthis.valueMin = this.dataMin;\n\t\t\t\t\tthis.valueMax = this.dataMax;\n\t\t\t\t\tn.prototype.getExtremes.call(this)\n\t\t\t\t}\n\t\t\t}), k)\n\t})(n)\n});"
  },
  {
    "path": "highcharts/pe-treemap/ui-script/pe-highcharts-more.u-client-script.js",
    "content": "/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module && module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) && u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor && (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands && p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center && (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular && void 0 === e(this.userMax, this.options.max) && this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories && 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial && (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &&\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) && (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape && d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) && (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane && (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect && (c =\n\t\t\t\t\tc.concat([c[0]])), g && (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a && r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m && (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a && !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r && (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x && (m.isCircular ? (this.label.getBBox().width > m.len * m.tickInterval / (m.max - m.min) && (d = 0), x = z > d && z < 180 - d ? \"left\" : z > 180 + d && z < 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f && (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar && q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] && !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] && !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm && (!0 === m && (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh < g.plotLow : g.plotHigh > g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels && n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) <\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 > d && (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap && (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta && (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) && this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e && e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a && a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] && (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY && (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty && (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A && (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y && (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A && (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A && (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y && (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent && this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d < a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w && f.stacks[(this.negStacks && m < u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum && (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 < m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 > k.height && (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height <= t && (k.height = t, 0 > c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative && 0 <= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h < c; h++) r = a[h], d = e && e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te && !a.options.color && (a.color = 0 < a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l < a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 > b[l - 1].y && (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum && (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) && 0 < t && a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c && (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f < g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue && null !== d && (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d < b ? d = e / 2 - 1 : (d = 0 < p ? (d - b) / p : .5, n && 0 <= d && (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te && b && (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) && c >= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle && b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible && c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p && (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length && (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp && a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 < F)\n\t\t\t\t\tfor (; c--;) d(e[c]) && b.dataMin <= e[c] && e[c] <= b.dataMax && (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length && 0 < F && !this.isLog && (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) && (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG && (!0 === d && (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c && c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c && c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar && (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 > d && (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline && t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds && (b || (b = a[a.length - 2]), f || (f = a[1])), b && f &&\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) > Math.PI / 2 && (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar && (this.kdByAngle = a.tooltip && a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d < a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds && void 0 !== h && (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &&\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column && (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY > b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align && (h.align = 20 < a && 160 > a ? \"left\" : 200 < a && 340 > a ? \"right\" : \"center\"), null === h.verticalAlign && (h.verticalAlign = 45 > a || 315 < a ? \"bottom\" : 135 < a && 225 > a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});"
  },
  {
    "path": "highcharts/pe-treemap/ui-script/pe-highcharts-ng.u-client-script.js",
    "content": "if (typeof module !== 'undefined' && typeof exports !== 'undefined' && module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i < 0) i += arr.length;\n\t\t\t\tif (i < 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i < n; i++)\n\t\t\t\t\tif (i in arr && arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i < source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger && e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '<div></div>',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds && !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined && chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i < series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data && series[i].data.length > 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' && highchartsNGUtils.indexOf(ids, s.options.id) < 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i < axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config && scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex < newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex < chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length > results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length > results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length < results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display<br/>\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval && options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&sysparm_count=true&sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());"
  },
  {
    "path": "highcharts/pe-treemap/ui-script/pe-highcharts-no-data.u-client-script.js",
    "content": "/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" && module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible && this.dataMax !== void 0 && this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() && !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});"
  },
  {
    "path": "highcharts/pe-treemap/widget/pe-treemap.u-body-html-template.html",
    "content": "<highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-treemap\"></highchart>\n<!---->"
  },
  {
    "path": "highcharts/pe-treemap/widget/pe-treemap.u-client-script.js",
    "content": "function($scope, HighchartsConfigService) {\n\tvar c = this;\n\tvar hcsTreemap = new HighchartsConfigService(c.options, \"treemap\", c.data);\n\tc.chartConfig = hcsTreemap.getChartConfig();\n\thcsTreemap.get();\n}"
  },
  {
    "path": "highcharts/pe-treemap/widget/pe-treemap.u-css.css",
    "content": ""
  },
  {
    "path": "highcharts/pe-treemap/widget/pe-treemap.u-option-schema.json",
    "content": "[{\n\t\"name\": \"interval\",\n\t\"label\": \"Update Interval\",\n\t\"type\": \"glide_duration\"\n}, {\n\t\"name\": \"table\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"fields\",\n\t\"label\": \"Fields\",\n\t\"type\": \"field_list\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"script_include\",\n\t\"label\": \"Script Include\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"function_name\",\n\t\"label\": \"Process Function Name\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"param1\",\n\t\"label\": \"Parameter 1\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"advance\",\n\t\"label\": \"Set your own Chart object\",\n\t\"instructions\": \"<p>Options available can be seen here <a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\">Highcharts Doc</a>.<br/>A example of the output is as follows</p><pre><code>{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&nbspworld\\\"\\n\\t}\\n}</code></pre>\",\n\t\"type\": \"script\"\n}]"
  },
  {
    "path": "highcharts/pe-treemap/widget/pe-treemap.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getTreemapDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"title\": {\n\t\t\t\"text\": \"Treemap\"\n\t\t},\n\t\t\"options\": {\n\t\t\t\"plotOptions\": {\n\t\t\t\t\"series\": {\n\t\t\t\t\t\"dataLabels\": {\n\t\t\t\t\t\t\"enabled\": true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n})();"
  },
  {
    "path": "hr/pe-case-detail/README.md",
    "content": "# HR Case Detail\n\n## Description\n\nAt the genesis of the onboarding process, an employee is presented a list of to-dos with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Case Detail](../../images/hr-case-detail.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-case-detail/widget/pe-case-detail.u-body-html-template.html",
    "content": "<div>\n  <div class=\"case-header\">\n    <h1>{{c.data.title}}</h1>\n    <p>{{c.data.message}}</p>\n  </div>\n  <div class=\"case-states-filter\">\n    <div class=\"state state-count-overdue state-active\">\n      <div>\n        <span class=\"state-label\">Overdue</span>\n        <span class=\"state-count \">({{c.overdue.length}})</span>\n      </div>\n    </div>\n    <div class=\"state state-count-soon\">\n      <div>\n        <span class=\"state-label\">Due Soon</span>\n        <span class=\"state-count\">({{c.due_soon.length}})</span>\n      </div>\n    </div>\n    <div class=\"state state-count-all\">\n      <div>\n        <span class=\"state-label\">All</span>\n        <span class=\"state-count\">({{c.data.tasks.length}})</span>\n      </div>\n    </div>\n  </div>\n  <div class=\"case-list\">\n    <div class=\"case-item\" ng-repeat=\"task in c.data.tasks\" ng-class=\"{'case-overdue': task.overdue, 'case-due-soon' : task.due_soon, 'done': task.state == '3'}\"\n      ng-click=\"c.openTask(task)\">\n      <div class=\"case-label\">{{task.short_description}}</div>\n      <div class=\"case-due\" ng-show=\"task.due_date\">\n        <div class=\"due-label\">${DUE IN}</div>\n        <div class=\"due-value\" ng-show=\"task.due_in >= 0\">{{task.due_in_dv}}</div>\n        <div class=\"due-value\" ng-show=\"task.due_in < 0\">${Past Due}</div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-case-detail/widget/pe-case-detail.u-client-script.js",
    "content": "function CaseDetailController($location) {\n  var c = this;\n  c.openTask = openTask;\n\n  c.$onInit = function() {\n    populateDueSoonAndOverdue();\n  };\n\n  function populateDueSoonAndOverdue() {\n    var now = moment();\n    c.due_soon = [];\n    c.overdue = [];\n    c.data.tasks.forEach(function(task, index) {\n      var taskMoment = moment(task.due_date, 'YYYY-MM-DD hh:mm:ss');\n      task.due_in = taskMoment.diff(now, 'days');\n      task.due_in_dv = taskMoment.fromNow(true);\n      if (task.due_in < 0 && task.state != '3') {\n        task.overdue = true;\n        c.overdue.push(task);\n      } else if (task.due_in <= 5 && task.state != '3') {\n        task.due_soon = true;\n        c.due_soon.push(task);\n      }\n    });\n  }\n\n  function openTask(task) {\n    $location.url('?id=' + c.options.link + '&sys_id=' + task.sys_id);\n  }\n}\n"
  },
  {
    "path": "hr/pe-case-detail/widget/pe-case-detail.u-css.scss",
    "content": ".case-header {\n  font-size: 16px;\n  h1 {\n    font-size: 24px;\n  }\n}\n\n.case-states-filter {\n  display: flex;\n  font-size: 16px;\n  text-transform: uppercase;\n  margin-top: 25px;\n  .state {\n    flex-grow: 1;\n\n    &.state-active {\n      > div {\n        border-bottom: 2px solid black;\n        float: left;\n        padding-bottom: 5px;\n      }\n    }\n\n    &.state-count-overdue {\n      .state-count {\n        color: #952e32;\n      }\n      > div {\n        border-color: #952e32;\n      }\n    }\n    &.state-count-soon {\n      .state-count {\n        color: #f56313;\n      }\n      > div {\n        border-color: #f56313;\n      }\n    }\n    &.state-count-all {\n      .state-count {\n        color: #228845;\n      }\n      > div {\n        border-color: #228845;\n      }\n    }\n  }\n}\n\n.case-list {\n  margin-top: 25px;\n}\n"
  },
  {
    "path": "hr/pe-case-detail/widget/pe-case-detail.u-server-script.js",
    "content": "(function() {\n  var sys_id = $sp.getParameter('sys_id');\n  data.userSysID = gs.getUserID();\n\n  data.tasks = [];\n  var obj;\n\n  if (!sys_id) {return;}\n\n  var hrGlideRecord = new GlideRecord('sn_hr_le_case');\n  if (hrGlideRecord.get(sys_id)) {\n    data.tasks = [];\n    data.message = gs.getMessage(\n      'Please make sure to complete these tasks in a timely manner so you can start your new job smoothly.'\n    );\n    data.title = hrGlideRecord.short_description.toString();\n    data.description = hrGlideRecord.description.toString();\n\n    var grCase = new GlideRecord('sn_hr_core_case');\n\n    if (grCase.get(sys_id)) {\n      var util = new hr_PortalUtil(grCase);\n      data.panels = util.getFilterPanels(data.onTicketPage);\n\n      var onboardingGr = new GlideRecord('sn_hr_core_task');\n      var parentQuery = onboardingGr.addQuery('parent', sys_id); // TODO Make this dynamic\n      parentQuery.addOrCondition('parent.parent', sys_id);\n      parentQuery.addOrCondition('parent.parent.parent', sys_id);\n      onboardingGr.addQuery('assigned_to', data.userSysID);\n\n      onboardingGr.orderBy('due_date');\n      onboardingGr.query();\n      while (onboardingGr.next()) {\n        obj = {\n          short_description: onboardingGr.short_description.toString(),\n          due_date: onboardingGr.getDisplayValue('due_date'),\n          state: onboardingGr.state.toString(),\n          sys_id: onboardingGr.sys_id.toString()\n        };\n        data.tasks.push(obj);\n      }\n    }\n  }\n})();\n"
  },
  {
    "path": "hr/pe-catalog-list/README.md",
    "content": "# HR Catalog List\n\n## Description\n\nDisplay a list of common requests with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Catalog List](../../images/hr-catalog-list.png)\n\n## Additional Information/Notes\n\n* Out-of-box (OOB) HR Widget\n* Uses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Catalog` | Sets the widget catalog. |  |\n| `Limit to` | Max number of items to display. |  |\n| `Title` | Sets the widget title. |  |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-direct-deposit/README.md",
    "content": "# HR Direct Deposit\n\n## Description\n\nAs a task in the onboarding process, an employee sets up their direct deposit with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Direct Deposit](../../images/hr-direct-deposit.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-direct-deposit/widget/pe-direct-deposit.u-body-html-template.html",
    "content": "<div class=\"task-content\">\n  <h4>${Set up or modify your direct deposit information.}</h4>\n  <div class=\"related-articles\">\n    <h5>${Related Articles}</h5>\n    <ul>\n      <li>\n        <span>Payroll Policy</span>\n      </li>\n      <li>\n        <span>Direct Deposit Instructions</span>\n      </li>\n    </ul>\n  </div>\n  <div class=\"deposit-info\">\n    <div class=\"form-group\">\n      <label for=\"routingNumber\">Routing Number</label>\n      <input class=\"form-control\" id=\"routingNumber\" ng-model=\"c.routingNumber\" ng-change=\"c.changedBankingInfo()\" type=\"tel\" />\n    </div>\n    <div class=\"form-group\">\n      <label for=\"accountNumber\">Account Number</label>\n      <input class=\"form-control\" id=\"accountNumber\" ng-model=\"c.accountNumber\" ng-change=\"c.changedBankingInfo()\" type=\"tel\" />\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-direct-deposit/widget/pe-direct-deposit.u-client-script.js",
    "content": "function HRServiceController($rootScope, $scope) {\n  var c = this;\n  c.changedBankingInfo = changedBankingInfo;\n\n  c.$onInit = function() {\n    $rootScope.wrapper.actionLabel = 'Submit';\n    $rootScope.wrapper.action = onSubmit;\n  };\n\n  function changedBankingInfo() {\n    $rootScope.wrapper.actionEnabled = c.routingNumber && c.accountNumber;\n  }\n\n  function onSubmit() {\n    $scope.$emit('next-task', { changeState: true });\n  }\n}\n"
  },
  {
    "path": "hr/pe-direct-deposit/widget/pe-direct-deposit.u-css.scss",
    "content": "h4 {\n  font-size: 24px;\n}\n\nh5 {\n  font-size: 16px;\n}\n\n.related-articles {\n  ul {\n    li {\n      span {\n        color: #578fae;\n      }\n    }\n  }\n}\n\n.deposit-info {\n  margin-top: 15px;\n  border-top: 1px solid #dbdad7;\n  padding-top: 15px;\n}\n"
  },
  {
    "path": "hr/pe-direct-deposit/widget/pe-direct-deposit.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();\n"
  },
  {
    "path": "hr/pe-info/README.md",
    "content": "# HR Info\n\n## Description\n\nQuickly share company information and messages with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Info](../../images/hr-info.png)\n\n## Additional Information/Notes\n\n* Out-of-box (OOB) HR Widget\n* Uses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-next-task/README.md",
    "content": "# HR Employee Next Task\n\n## Description\n\nDisplay a message and start the onboarding process with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Employee Next Task](../../images/hr-employee-next-task.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `First Day Guide link` | Sets the button URL. |  |\n| `Maternity Guide link` | Sets the button URL. |  |\n| `Need Extension Link` | Sets the button URL. |  |\n| `Last Day Guide Link` | Sets the button URL. |  |\n\n## Platform Dependencies\n\n### SN System Tables\n\n* sn_hr_core_profile\n* sn_hr_core_case\n* sn_hr_core_task\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-next-task/widget/pe-next-task.u-body-html-template.html",
    "content": "<div class=\"add-padding\" ng-show=\"c.showOnboarding\">\n  <div class=\"esc-first-day\" ng-if=\"c.data.showWidget\">\n    <div class=\"date\">\n      <p class=\"start-msg\">{{c.data.dateMsg}}</p>\n      <p class=\"start-date\">{{c.data.startMonth}} {{c.data.startDay}}</p>\n    </div>\n    <div class=\"msg\">\n      {{data.message}}\n      <span ng-if=\"c.data.profileDetails.type == 'newHire' || c.data.profileDetails.onLeave.goingOnLeaveSoon && c.data.profileDetails.onLeave.reason == 'Maternity Leave' || c.data.profileDetails.onLeave.reason == 'Paternity Leave'\"></span>\n      <span ng-if=\"c.data.profileDetails.type == 'termination' && !c.data.profileDetails.termination.terminated\">&#128532;</span>\n    </div>\n    <div class=\"button\">\n      <a class=\"btn btn-primary guide-btn\" ng-href=\"{{c.data.btnLink}}\">{{c.data.buttonText}}</a>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-next-task/widget/pe-next-task.u-client-script.js",
    "content": "function NextTaskController($scope, $location) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.data.startMonth = moment(c.data.data).format('MMM');\n    c.data.startDay = moment(c.data.date).date();\n    if (c.data.async) {\n      $scope.data.action = 'loadData';\n      $scope.server.update();\n    }\n\n    if (c.data.taskCount <= 0) {\n      $location.search('id', 'skohr_summary');\n    } else {\n      c.showOnboarding = true;\n    }\n  };\n}\n"
  },
  {
    "path": "hr/pe-next-task/widget/pe-next-task.u-css.scss",
    "content": "#start-date {\n  h2 {\n    color: $color-darkest;\n    margin-top: 0px;\n  }\n  p {\n    color: $color-darker;\n  }\n}\n\n.add-padding {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n\n.esc-first-day {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  width: 90%;\n  margin-left: auto;\n  margin-right: auto;\n  padding: 20px;\n  @media screen and (max-width: 414px) {\n    display: block;\n    width: 95%;\n    padding: 0px;\n    text-align: center;\n  }\n  .date {\n    min-width: 150px;\n    .start-msg {\n      font-size: 16px;\n      font-weight: 600;\n      color: $greyish-brown;\n      margin-bottom: 0px;\n      text-transform: uppercase;\n    }\n    .start-date {\n      font-size: 32px;\n      font-weight: bold;\n      color: $greyish-brown;\n      margin: 0px;\n      line-height: 1.5;\n      text-transform: uppercase;\n    }\n  }\n  .msg {\n    font-size: 20px;\n    font-weight: 300;\n    color: $greyish-brown;\n    padding: 10px;\n    @media screen and (max-width: 414px) {\n      padding-left: 0px;\n    }\n  }\n  .button {\n    .guide-btn {\n      font-size: 20x;\n      font-weight: 600;\n      padding: 10px 32px;\n    }\n  }\n}\n"
  },
  {
    "path": "hr/pe-next-task/widget/pe-next-task.u-server-script.js",
    "content": "(function() {\n  data.table = 'sn_hr_core_profile';\n  data.userSysID = gs.getUserID();\n  data.showWidget = false;\n  data.duration = '';\n  data.employmentStartDate = '';\n  data.taskCount = 0;\n\n  data.async = false; // synchronous by default\n  if (data.async && (!input || input.action != 'loadData')) {\n    return;\n  }\n\n  var util = new sn_hr_sp.esc_ProfileChecker();\n  data.profileDetails = util.getProfileDetails();\n\n  var isLifecycleActive = GlidePluginManager().isActive('com.sn_hr_lifecycle_events');\n  if (isLifecycleActive) {\n    if (data.profileDetails && data.profileDetails.type) {\n      if (data.profileDetails.type == 'newHire') {\n        var start_date = data.profileDetails.newHire.startDate;\n        var todayObject = new GlideDateTime();\n        var givenDate = new GlideDateTime();\n        givenDate.setDisplayValue(start_date);\n        var today = todayObject.getLocalDate();\n        var duration = new GlideDuration();\n        duration = GlideDateTime.subtract(today, givenDate.getLocalDate());\n        data.showWidget = true;\n        data.duration = duration.getDayPart();\n        data.duration = data.duration.toFixed(0);\n        data.date = start_date;\n        data.startDateMessage = gs.getMessage('Your start date is {0}', start_date);\n        data.buttonText = 'Begin Onboarding';\n        data.btnLink = options.first_day_guide_link;\n        data.dateMsg = 'You start on';\n\n        data.emojicode = '&#127881;';\n        data.message = gs.getMessage(\n          'Please make sure to complete these tasks in a timely manner so you can start your new job smoothly.'\n        );\n\n        // get id for onBoarding Case\n        var onboardingGr = new GlideRecord('sn_hr_core_case');\n        onboardingGr.addQuery('assignment_group', '29eb223b57410300eb7cde2edf94f93e'); // TODO: Make this dynamic\n        onboardingGr.addQuery('hr_service', '64fa4c53534222003066a5f4a11c0875'); // TODO: Make this dynamic\n\n        onboardingGr.addQuery('subject_person', data.userSysID);\n        onboardingGr.query();\n        if (onboardingGr.next()) {\n          data.btnLink = data.btnLink + '&sys_id=' + onboardingGr.sys_id.toString();\n\n          // check if all subtasks are complete\n          // if they are, redirect\n          var sys_id = onboardingGr.sys_id.toString();\n\n          var onboardingGr = new GlideRecord('sn_hr_core_task');\n          var parentQuery = onboardingGr.addQuery('parent', sys_id); // TODO: Make this dynamic\n          parentQuery.addOrCondition('parent.parent', sys_id);\n          parentQuery.addOrCondition('parent.parent.parent', sys_id);\n          onboardingGr.addQuery('assigned_to', data.userSysID);\n          onboardingGr.addQuery('state', '10');\n          onboardingGr.orderBy('due_date');\n          onboardingGr.query();\n          data.taskCount = onboardingGr.getRowCount();\n        }\n      } else if (data.profileDetails.type == 'termination') {\n        if (data.profileDetails.termination.terminated) {\n          data.showWidget = false;\n        } else {\n          data.emojicode = '&#128532;';\n          data.dateMsg = 'Last day is';\n          data.showWidget = true;\n          data.date = data.profileDetails.termination.endDate;\n          data.message = gs.getMessage('Your last day here with this company approaching soon :(');\n          data.buttonText = 'Last Day Guide';\n          data.btnLink = options.last_day_guide_link;\n        }\n      } else if (data.profileDetails.type == 'onLeave') {\n        if (data.profileDetails.onLeave.goingOnLeaveSoon) {\n          data.showWidget = true;\n          data.dateMsg = 'leave starts';\n          data.date = data.profileDetails.onLeave.date;\n          if (\n            data.profileDetails.onLeave.reason == 'Maternity Leave' ||\n            data.profileDetails.onLeave.reason == 'Paternity Leave'\n          ) {\n            data.message = gs.getMessage(\n              'Congratulations! You will be going on ' +\n                data.profileDetails.onLeave.reason +\n                ' leave in ' +\n                data.profileDetails.onLeave.daysTo +\n                ' days'\n            );\n            data.buttonText = data.profileDetails.onLeave.reason + ' Guide';\n            data.btnLink = options.maternity_guide_link;\n          } else {\n            data.message = gs.getMessage(\n              'You will be going on ' +\n                data.profileDetails.onLeave.reason +\n                ' in ' +\n                data.profileDetails.onLeave.daysTo +\n                ' days'\n            );\n            data.buttonText = data.profileDetails.onLeave.reason + ' Guide';\n            data.btnLink = options.maternity_guide_link;\n          }\n        } else if (!data.profileDetails.onLeave.goingOnLeaveSoon) {\n          data.showWidget = true;\n          data.dateMsg = 'You start on';\n          data.date = data.profileDetails.onLeave.date;\n          data.message = gs.getMessage(\n            'You are scheduled to come back in ' + data.profileDetails.onLeave.daysTo + ' days'\n          );\n          data.buttonText = 'Need Extension';\n          data.btnLink = options.need_extension_link;\n        }\n      }\n    }\n  } else {\n    data.showWidget = false;\n  }\n})();\n"
  },
  {
    "path": "hr/pe-office-space/README.md",
    "content": "# HR Office Space\n\n## Description\n\nAs a task in the onboarding process, an employee selects their office space with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Office Space](../../images/hr-office-space.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-office-space/widget/pe-office-space.u-body-html-template.html",
    "content": "<div>\n  <h1>\n    Select your new desk from available cube locations.\n  </h1>\n  <div class=\"links-title\">Related Articles</div>\n  <ul class=\"related-links\">\n    <li>\n      <a href=\"$\">Office Use Policy</a>\n    </li>\n    <li>\n      <a href=\"$\">Office Sizes by Role</a>\n    </li>\n  </ul>\n  <div>\n    <p class=\"description\">Use the map to choose an open cubicle. We are showing available locations near your team.\n    </p>\n    <div class=\"map\">\n      <img src=\"/office-available.jpg\" alt=\"\" ng-show=\"!c.locationSelected\" ng-click=\"c.selectLocation()\">\n\n      <img src=\"/office-selected.jpg\" alt=\"\" ng-show=\"c.locationSelected\">\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-office-space/widget/pe-office-space.u-client-script.js",
    "content": "function LocationController($rootScope, $scope) {\n  var c = this;\n  c.selectLocation = selectLocation;\n\n  c.$onInit = function() {\n    $rootScope.wrapper.actionLabel = 'Submit';\n  };\n\n  function selectLocation() {\n    c.locationSelected = true;\n    $rootScope.wrapper.actionEnabled = true;\n    $rootScope.wrapper.action = nextTask; //this comes from Link function\n  }\n\n  function nextTask() {\n    $scope.$emit('next-task', { changeState: true });\n  }\n}\n"
  },
  {
    "path": "hr/pe-office-space/widget/pe-office-space.u-css.scss",
    "content": "h1 {\n  font-size: 24px;\n}\n\n.links-title {\n  margin-top: 15px;\n  font-size: 16px;\n  font-weight: bold;\n}\n\n.related-links {\n  margin-top: 15px;\n  margin-top: 15px;\n}\n\n.map {\n  img {\n    width: 100%;\n  }\n}\n"
  },
  {
    "path": "hr/pe-office-space/widget/pe-office-space.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "hr/pe-orientation/README.md",
    "content": "# HR New Hire Orientation\n\n## Description\n\nThis HR Service Portal widget displays new hire orientation information as part of the onboarding process.\n\n## Screenshot\n\n![HR New Hire Orientation](../../images/hr-new-hire-orientation.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-orientation/widget/pe-orientation.u-body-html-template.html",
    "content": "<div class=\"panel panel-default b\">\n  <div class=\"panel-heading\">\n    <h4 class=\"panel-title\">New Hire Orientation</h4>\n  </div>\n  <div class=\"panel-body\">\n    <h4>Please join us on</h4>\n    <div class=\"orientation-date-time\">\n      <span class=\"orientation-date\">{{c.orientation}}</span>\n      <span class=\"orientation-time\">10am - 4pm</span>\n    </div>\n    <div class=\"orientation-address\">\n      <div>2225 Lawson Lane</div>\n      <div>Santa Clara, CA 99054</div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-orientation/widget/pe-orientation.u-client-script.js",
    "content": "function NewHireOrientationController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.data.startMonth = moment(c.data.data).format('MMM');\n    c.data.startDay = moment(c.data.date);\n    c.orientation = c.data.startDay.format('MMM DD, YYYY');\n  };\n}\n"
  },
  {
    "path": "hr/pe-orientation/widget/pe-orientation.u-css.scss",
    "content": ".announcement-item {\n  padding: 5px 15px 5px 15px;\n}\n\ndiv > div.announcement-item:not(:last-child) {\n  border-bottom: 1px solid $color-lighter;\n}\n\na.a-list i {\n  margin-right: 0.2em;\n  margin-bottom: 1em;\n}\n\n.image-size img {\n  max-width: 100%;\n  height: auto;\n}\n\nh4 {\n  font-weight: bold;\n}\n\n.orientation-date-time {\n  .orientation-time {\n    margin-left: 10px;\n  }\n}\n\n.orientation-address {\n  margin-top: 10px;\n}\n"
  },
  {
    "path": "hr/pe-orientation/widget/pe-orientation.u-server-script.js",
    "content": "(function() {\n  var userID = gs.getUserID();\n\n  var grUser = new GlideRecord('sys_user');\n  if (grUser.get(userID)) {\n    data.created_on = grUser.getDisplayValue('sys_created_on');\n  }\n\n  data.table = 'sn_hr_core_profile';\n  data.userSysID = gs.getUserID();\n  data.showWidget = false;\n  data.duration = '';\n  data.employmentStartDate = '';\n\n  data.async = false; // synchronous by default\n  if (data.async && (!input || input.action != 'loadData')) {return;}\n\n  var util = new sn_hr_sp.esc_ProfileChecker();\n  data.profileDetails = util.getProfileDetails();\n\n  var isLifecycleActive = GlidePluginManager().isActive('com.sn_hr_lifecycle_events');\n  if (isLifecycleActive) {\n    if (data.profileDetails && data.profileDetails.type) {\n      if (data.profileDetails.type == 'newHire') {\n        var start_date = data.profileDetails.newHire.startDate;\n        var todayObject = new GlideDateTime();\n        var givenDate = new GlideDateTime();\n        givenDate.setDisplayValue(start_date);\n        var today = todayObject.getLocalDate();\n        var duration = new GlideDuration();\n        duration = GlideDateTime.subtract(today, givenDate.getLocalDate());\n        data.showWidget = true;\n        data.duration = duration.getDayPart();\n        data.duration = data.duration.toFixed(0);\n        data.date = start_date;\n        data.startDateMessage = gs.getMessage('Your start date is {0}', start_date);\n        data.buttonText = 'Begin Onboarding';\n        data.btnLink = options.first_day_guide_link;\n        data.dateMsg = 'You start on';\n\n        data.emojicode = '&#127881;';\n        data.message = gs.getMessage(\n          'Please make sure to complete these tasks in a timely manner so you can start your new job smoothly.'\n        );\n\n        // Get id for onBoarding Case\n        var onboardingGr = new GlideRecord('sn_hr_core_case');\n        onboardingGr.addQuery('assignment_group', '29eb223b57410300eb7cde2edf94f93e'); // TODO Make this dynamic\n        onboardingGr.addQuery('hr_service', '64fa4c53534222003066a5f4a11c0875'); // TODO Make this dynamic\n\n        onboardingGr.addQuery('subject_person', data.userSysID);\n        onboardingGr.query();\n        if (onboardingGr.next()) {\n          data.btnLink = data.btnLink + '&sys_id=' + onboardingGr.sys_id.toString();\n        }\n      } else if (data.profileDetails.type == 'termination') {\n        if (data.profileDetails.termination.terminated) {\n          data.showWidget = false;\n        } else {\n          data.emojicode = '&#128532;';\n          data.dateMsg = 'Last day is';\n          data.showWidget = true;\n          data.date = data.profileDetails.termination.endDate;\n          data.message = gs.getMessage('Your last day here with this company approaching soon :(');\n          data.buttonText = 'Last Day Guide';\n          data.btnLink = options.last_day_guide_link;\n        }\n      } else if (data.profileDetails.type == 'onLeave') {\n        if (data.profileDetails.onLeave.goingOnLeaveSoon) {\n          data.showWidget = true;\n          data.dateMsg = 'leave starts';\n          data.date = data.profileDetails.onLeave.date;\n          if (\n            data.profileDetails.onLeave.reason == 'Maternity Leave' ||\n            data.profileDetails.onLeave.reason == 'Paternity Leave'\n          ) {\n            data.message = gs.getMessage(\n              'Congratulations! You will be going on ' +\n                data.profileDetails.onLeave.reason +\n                ' leave in ' +\n                data.profileDetails.onLeave.daysTo +\n                ' days'\n            );\n            data.buttonText = data.profileDetails.onLeave.reason + ' Guide';\n            data.btnLink = options.maternity_guide_link;\n          } else {\n            data.message = gs.getMessage(\n              'You will be going on ' +\n                data.profileDetails.onLeave.reason +\n                ' in ' +\n                data.profileDetails.onLeave.daysTo +\n                ' days'\n            );\n            data.buttonText = data.profileDetails.onLeave.reason + ' Guide';\n            data.btnLink = options.maternity_guide_link;\n          }\n        } else if (!data.profileDetails.onLeave.goingOnLeaveSoon) {\n          data.showWidget = true;\n          data.dateMsg = 'You start on';\n          data.date = data.profileDetails.onLeave.date;\n          data.message = gs.getMessage(\n            'You are scheduled to come back in ' + data.profileDetails.onLeave.daysTo + ' days'\n          );\n          data.buttonText = 'Need Extension';\n          data.btnLink = options.need_extension_link;\n        }\n      }\n    }\n  } else {data.showWidget = false;}\n})();\n"
  },
  {
    "path": "hr/pe-picture-box/README.md",
    "content": "# HR Picture Box\n\n## Description\n\nEasily share an image with your company with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Picture Box](../../images/hr-picture-box.png)\n\n## Additional Information/Notes\n\n* Out-of-box (OOB) HR Widget\n* Uses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `bg image` | Sets background image. | search-bg.png |\n| `Align image` | Used for image alignment. |  |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-select-device/README.md",
    "content": "# HR Select Device\n\n## Description\n\nAs a task in the onboarding process, an employee selects their order for equipment with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Select Device](../../images/hr-select-device.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n* sc_category\n* sc_cat_item\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-select-device/widget/pe-select-device.u-body-html-template.html",
    "content": "<div class=\"sc-categories\">\n  <div class=\"sc-category\" ng-repeat=\"cat in c.data.categories\">\n    <h4> Select a {{cat.title}}</h4>\n    <div class=\"sc-catalog-items\">\n      <div class=\"sc-catalog-item\" ng-repeat=\"item in c.data.categoryObj[cat.sys_id]\" ng-click=\"c.selectItem(cat, item)\" ng-class=\"{'selected' : cat.selectedItem == item.sys_id}\">\n        <div class=\"sc-catalog-item-photo\">\n          <img ng-src=\"{{item.picture}}\" alt=\"\">\n        </div>\n        <div class=\"sc-catalog-item-name\">{{item.name}}</div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-select-device/widget/pe-select-device.u-client-script.js",
    "content": "function TaskSubmitOrderGuideController($http, $q, $rootScope, $scope) {\n  var c = this;\n  c.titleClicked = titleClicked;\n  c.selectItem = selectItem;\n\n  c.$onInit = function() {\n    if (c.data.taskState != '3') {\n      $rootScope.wrapper.actionLabel = 'Submit';\n      $rootScope.wrapper.action = onSubmit;\n    }\n  };\n\n  function titleClicked() {\n    $rootScope.wrapper.actionEnabled = true;\n  }\n\n  function selectItem(category, item) {\n    if (category.selectedItem == item.sys_id) {\n      category.selectedItem = null;\n    } else {\n      category.selectedItem = item.sys_id;\n    }\n\n    function selectedValueIsNull(value) {\n      return value.selectedItem == null || value.selectedItem === undefined;\n    }\n\n    $rootScope.wrapper.actionEnabled = c.data.categories.filter(selectedValueIsNull).length === 0;\n  }\n\n  function onSubmit() {\n    console.log('Placing order..');\n    $scope.$emit('next-task', { changeState: true });\n    return;\n    var listOfSelectedItems = c.data.categories.filter(function(value) {\n      return value.selectedItem;\n    });\n    var listOfPromises = [];\n    listOfSelectedItems.forEach(function(cat) {\n      listOfPromises.push(\n        $http\n          .post('/api/sn_sc/v1/servicecatalog/items/' + cat.selectedItem + '/add_to_cart', {\n            sysparm_quantity: 1\n          })\n          .then(\n            function(value) {\n              console.log('success', value);\n            },\n            function(reason) {\n              alert(reason.data.error.message);\n            }\n          )\n      );\n    });\n\n    $q.all(listOfPromises).then(function(value) {\n      console.log('all Items added to cart! Place the other', value);\n      $http.post('/api/sn_sc/servicecatalog/cart/submit_order').then(function() {\n        $scope.$emit('next-task', { changeState: true });\n      });\n    });\n  }\n}\n"
  },
  {
    "path": "hr/pe-select-device/widget/pe-select-device.u-css.scss",
    "content": ".sc-category {\n  margin-top: 30px;\n}\n\n.sc-catalog-items {\n  display: flex;\n  flex-wrap: nowrap;\n  overflow-x: auto;\n\n  .sc-catalog-item {\n    flex: 0 0 auto;\n\n    margin-right: 20px;\n    img {\n      opacity: 0.5;\n    }\n\n    &.selected {\n      img {\n        opacity: 1;\n      }\n    }\n    &:last-of-type {\n      margin-right: 0;\n    }\n  }\n\n  .sc-catalog-item-photo {\n    text-align: center;\n    img {\n      height: 100px;\n      background-color: white;\n      padding: 2px;\n      border-radius: 8px;\n    }\n  }\n  .sc-catalog-item-name {\n    text-align: center;\n  }\n}\n"
  },
  {
    "path": "hr/pe-select-device/widget/pe-select-device.u-server-script.js",
    "content": "(function() {\n  data.categories = [];\n  var listOfCategoriesID = [];\n  var categoryObj = {};\n\n  var sys_id;\n\n  data.taskState = options.state;\n\n  var grScCategory = new GlideRecord('sc_category');\n  grScCategory.addQuery('sc_catalog', 'd89971a0db841b0008f0ff041d9619c2'); // TODO get the catalog from SP record ?\n  grScCategory.addQuery('active', true);\n  grScCategory.query();\n\n  while (grScCategory.next()) {\n    sys_id = grScCategory.sys_id.toString();\n    data.categories.push({\n      sys_id: sys_id,\n      title: grScCategory.title.toString()\n    });\n    listOfCategoriesID.push(sys_id);\n    categoryObj[sys_id] = [];\n  }\n\n  var grCatalogItem = new GlideRecord('sc_cat_item');\n  grCatalogItem.addQuery('category', 'IN', listOfCategoriesID);\n  grCatalogItem.addQuery('active', true);\n  grCatalogItem.query();\n\n  while (grCatalogItem.next()) {\n    sys_id = grCatalogItem.category.toString();\n    if (Object.keys(categoryObj).indexOf(sys_id) !== -1) {\n      categoryObj[sys_id].push({\n        name: grCatalogItem.name.toString(),\n        sys_id: grCatalogItem.sys_id.toString(),\n        picture: grCatalogItem.getDisplayValue('picture'),\n        short_description: grCatalogItem.getDisplayValue('short_description'),\n        description: grCatalogItem.getDisplayValue('description'),\n        price: grCatalogItem.getDisplayValue('price')\n      });\n    }\n  }\n\n  data.categoryObj = categoryObj;\n})();\n"
  },
  {
    "path": "hr/pe-sign-document/README.md",
    "content": "# HR Sign Document\n\n## Description\n\nAs a task in the onboarding process, an employee reads a non-disclosure agreement and signs a document with this HR Service Portal widget.\n\n## Screenshots\n\n### Read Non-Disclosure\n\n![HR Sign Document](../../images/hr-read-non-disclosure.png)\n\n### Sign Document\n\n![HR Sign Document](../../images/hr-sign-document.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-sign-document/widget/pe-sign-document.u-body-html-template.html",
    "content": "<div class=\"document-acknowledge-task\" ng-class=\"::{'hidden-xs' : options.hide_xs}\" ng-if=\"!data.task.finished && data.task.canSign && data.task.hr_task_type == 'sign_document'\"\n  ng-init=\"init(user.sys_id)\">\n  <div id=\"documentFrame\" class=\"panel panel-{{::options.color}} b\">\n    <div ng-show=\"data.isPdfTemplate == true\">\n      <div class=\"header\">\n        <!-- IE fixes - Hiding pop over window button -->\n        <i alt=\"${Show document in popup}\" ng-show=\"!isIE()\" class=\"ie-popover fa fa-expand hidden-xs\" ng-click=\"c.showPop()\">\n          <!-- IE fixes ends -->\n        </i>\n      </div>\n      <!-- Using IFrame because of IE issues -->\n      <div class=\"iframe-container\">\n        <div id=\"sign-doc\">\n          <h1>NON-DISCLOSURE AGREEMENT</h1>\n          <p>This Mutual Non-Disclosure Agreement is a sample provided for your information only and may not be relied upon\n            as legal advice. This agreement might not be appropriate for your requirements. The Company makes no warranty\n            about the suitability of this sample agreement and accepts no liability arising out of the use of this agreement.Please\n            consult your legal or business advisor for further information or advice.</p>\n          <p>MUTUAL NON-DISCLOSURE AGREEMENT RECITALS</p>\n          <p></p>\n          <p>Each undersigned party (the \"Receiving Party\") understands and acknowledges that the other party (the \"Disclosing\n            Party\") has disclosed or may disclose information relating to which to the extent previously, presently, or subsequently\n            disclosed to the Receiving Party is hereinafter referred to as \"Proprietary Information\" of the Disclosing Party.</p>\n          <p></p>\n          <p>OPERATIVE PROVISIONS</p>\n          <p></p>\n          <p>In consideration of the disclosure of Proprietary Information by the Disclosing Party, the Receiving Party hereby\n            agrees: (i) to hold the Proprietary Information in strict confidence and to take all reasonable precautions to\n            protect such Proprietary Information (including, without limitation, all precautions the Receiving Party employs\n            with respect to its own confidential materials), (ii) not to disclose any such Proprietary Information or any\n            information derived therefrom to any third person, (iii) not to make any use whatsoever at any time of such Proprietary\n            Information except to evaluate internally its relationship with the Disclosing Party, and (iv) not to copy or\n            reverse engineer any such Proprietary Information. The Receiving Party shall procure that its employees, agents\n            and sub- contractors to whom Proprietary Information is disclosed or who have access to Proprietary Information\n            sign a nondisclosure or similar agreement in content substantially similar to this Agreement.</p>\n          <p></p>\n          <p>This Agreement shall be governed by the laws of the jurisdiction in which the Disclosing Party is located (or if\n            the Disclosing Party is based in more than one country, the country in which its headquarters are located) (the\n            \"Territory\") and the parties agree to submit disputes arising out of or in connection with this Agreement to\n            the non- exclusive of the courts in the Territory.</p>\n        </div>\n      </div>\n    </div>\n    <div id='content_id' ng-bind-html=\"documentBody\" ng-show=\"data.isPdfTemplate == false\">\n    </div>\n    <div class=\"pop-footer\" ng-show=\"c.signing\">\n      <span ng-if=\"!c.isPopoverOpen\">\n        <div class=\"typeItDesc\">\n          <label aria-label=\"${Type your name here to acknowledge the document}\" class=\"label block\" for=\"name\">${Type your name here}</label>\n          <input type=\"text\" name=\"signed_name\" id=\"signed_name\" class=\"signed_name\" maxlength=\"25\" size=\"25\" ng-model=\"c.signed_name\"\n            ng-change=\"c.clearCanvas()\" />\n          <canvas class=\"typedCanvas\"></canvas>\n        </div>\n        <div class=\"sigPad\">\n          <span class=\"animated\">\n            <label aria-label=\"${Sign below}\" class=\"label block\" for=\"name\">${or sign below}</label>\n            <div class=\"sig sigWrapper\">\n              <canvas class=\"pad\"></canvas>\n              <input type=\"hidden\" name=\"output\" class=\"output\" />\n            </div>\n            <div class=\"disclaimer\">\n              ${Drawing in the above box will constitute your eSignature and will have the same legal impact as signing a printed version\n              of this document}.\n            </div>\n            <button class=\"clearButton btn btn-default\" href=\"#clear\" ng-click=\"c.clearInput();\">${Clear}</button>\n            <button class=\"clearButton btn btn-default\" href=\"#clear\" ng-click=\"c.cancel();\">${Cancel}</button>\n          </span>\n        </div>\n      </span>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-sign-document/widget/pe-sign-document.u-client-script.js",
    "content": "function TaskSignDocController($http, $rootScope, $sce, $scope, $timeout, $window, nowServer) {\n  var c = this;\n\n  c.$onInit = function() {\n    $rootScope.wrapper.actionLabel = 'SIGN DOCUMENT';\n    $rootScope.wrapper.actionEnabled = true;\n    $rootScope.wrapper.action = displaySigningPad;\n\n    if (c.data.task.state == '3') {\n      $rootScope.wrapper.markAsComplete();\n      $rootScope.wrapper.action = signatureCompleted;\n    }\n  };\n\n  function signatureCompleted() {\n    $scope.$emit('next-task', {});\n  }\n\n  function displaySigningPad() {\n    c.signing = true;\n    $rootScope.wrapper.actionLabel = 'SUBMIT';\n    $rootScope.wrapper.action = submitSignature;\n  }\n\n  function submitSignature() {\n    c.saveSignature(c.data.task.sys_id, c.data.user_id).then(function(value) {\n      $scope.$emit('next-task', { changeState: true });\n    });\n  }\n\n  var firstLoad = true;\n\n  function injectCSS() {\n    if (firstLoad) {\n      $('iframe#sign-doc').load(function() {\n        $('iframe#sign-doc')\n          .contents()\n          .find('head')\n          .append($('<style type=\\'text/css\\'>  body>img {width:100%}  </style>'));\n        firstLoad = false;\n      });\n    }\n  }\n\n  if (firstLoad) {\n    $window.setInterval(injectCSS, 0);\n  }\n\n  c.showDoc = false;\n  c.signed_name = '';\n  $scope.showUpdating = false;\n  $scope.currentTask = {};\n  c.showSigPad = false;\n  $scope.disableFinishButton = true;\n  $scope.acknowledgeType = '';\n  $scope.document_revision = '';\n  $scope.documentBody = $sce.trustAsHtml($scope.data.documentBody);\n\n  c.clearInput = function() {\n    c.clearCanvas();\n    c.signed_name = '';\n  };\n\n  c.clearCanvas = function() {\n    c.sigPad.clearCanvas();\n  };\n\n  c.sigPad = null;\n  c.isPopoverOpen = false;\n  c.showPop = function() {\n    c.clearInput();\n    c.isPopoverOpen = true;\n    $timeout(function() {\n      c.onResize();\n      c.initSignaturePad();\n    });\n  };\n\n  c.hidePop = function() {\n    c.clearInput();\n    c.isPopoverOpen = false;\n    c.showSigPad = false;\n    $timeout(function() {\n      c.initSignaturePad();\n    }, 1000);\n  };\n\n  c.toggleSigPad = function() {\n    c.showSigPad = !c.showSigPad;\n    c.onResize();\n    if (!c.showSigPad) {\n      c.clearInput();\n    }\n  };\n\n  $scope.getTasks = function(sys_id) {\n    $scope.data.action = 'getTasks';\n    $scope.data.sys_id = sys_id;\n    $scope.server.update();\n  };\n\n  c.cancel = function() {\n    c.signing = false;\n    $rootScope.wrapper.actionLabel = 'SIGN DOCUMENT';\n    $rootScope.wrapper.action = displaySigningPad;\n  };\n\n  /*    ------ IE Fixes -----\n  * Returns true if end user's browser is IE 10,11or Edge\n  * May need to update this check\n  * as per updates in browsers user-agent\n  */\n  $scope.isIE = function() {\n    return (\n      /MSIE 10/i.test(navigator.userAgent) ||\n      /rv:11.0/i.test(navigator.userAgent) ||\n      /Edge\\/\\d./i.test(navigator.userAgent)\n    );\n  };\n\n  c.doSaveSignature = function(actionName, table, document, image, data) {\n    var n = {\n      action: actionName,\n      table: table,\n      document: document,\n      sp: true,\n      time: new Date().getTime()\n    };\n\n    var da = {\n      image: image,\n      data: data\n    };\n\n    var dataURL = '';\n    Object.keys(n).forEach(function(t) {\n      dataURL += '&' + t + '=' + n[t];\n    });\n\n    return $http.post(nowServer.getURL('SignatureANGProcessor', dataURL), da);\n  };\n}\n"
  },
  {
    "path": "hr/pe-sign-document/widget/pe-sign-document.u-css.scss",
    "content": ".document-acknowledge-task {\n  padding-bottom: 75px;\n}\n\n.header {\n  display: none;\n}\n\n#documentFrame {\n  margin: 0 -15px;\n  padding: 15px;\n}\n\n.pop-footer {\n  position: fixed;\n  bottom: 75px;\n  left: 0;\n  width: 100%;\n}\n"
  },
  {
    "path": "hr/pe-sign-document/widget/pe-sign-document.u-server-script.js",
    "content": "(function() {\n  data.task = {};\n  data.user_id = gs.getUserID();\n  data.user_name = gs.getUserName();\n  data.title = $sp.getValue('title');\n  data.short_description = $sp.getValue('short_description');\n\n  if (input) {data.sys_id = input.sys_id;}\n  else if (options) {data.sys_id = options.sys_id;}\n  else {data.sys_id = $sp.getValue('sys_id');}\n\n  var hrtt = new hr_TaskTicket();\n  if (input && input.action === 'setTaskSkipped') {hrtt.setTaskSkipped(input.request);}\n  data.task = hrtt.getTasks(data.sys_id);\n\n  if (data.task.hasDraftDoc && data.task.assigned_to_me) {\n    data.attachmentInfo = hrtt.getTaskAttachment(data.sys_id);\n\n    // get the case from the task, retrieve from case whether pdf_template has a valid document revision\n    data.isPdfTemplate = false;\n    data.pdfTemplateSysId = '';\n    isPdfTemplate(data.sys_id);\n\n    data.documentBody = '';\n    if (data.isPdfTemplate) {\n      var previewPdfSysId = new sn_hr_core.hr_PdfUtils().prefillPdf(\n        data.pdfTemplateSysId,\n        false,\n        data.sys_id,\n        'sn_hr_core_task',\n        data.sys_id\n      );\n      var attachment = new GlideRecord('sys_attachment');\n      attachment.get(previewPdfSysId);\n      data.attachmentUrl = '/sys_attachment.do?view=true&sys_id=' + attachment.getUniqueValue();\n    } else {data.documentBody = hrtt.getDocumentBody(data.sys_id);}\n\n    if (input && input.action === 'setDocumentBody')\n    {hrtt.setDocumentBody(data.task.sys_id, data.documentBody);}\n  } else if (!data.task.assigned_to_me) {\n    if (data.task.finished) {data.completed_by = data.task.assigned_to.name;}\n    else {\n      if (gs.nil(data.task.assigned_to.userId)) {data.caption = gs.getMessage('Task is unassigned');}\n      else {data.caption = gs.getMessage('Task assigned to ' + data.task.assigned_to.name);}\n    }\n  }\n\n  function isPdfTemplate(sys_id) {\n    var task = new GlideRecord('sn_hr_core_task');\n    task.get(sys_id);\n    if (task.parent.pdf_template) {\n      var pdfTemplate = new GlideRecord('sn_hr_core_pdf_template');\n      pdfTemplate.get(task.parent.pdf_template);\n      if (pdfTemplate.document_revision) {\n        data.isPdfTemplate = true;\n        data.pdfTemplateSysId = task.parent.pdf_template.sys_id;\n      }\n    }\n  }\n})();\n"
  },
  {
    "path": "hr/pe-simple-list/README.md",
    "content": "# HR Simple List\n\n## Description\n\nDisplay a list of articles with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Simple List](../../images/hr-simple-list.png)\n\n## Additional Information/Notes\n\n* Out-of-box (OOB) HR Widget\n* Uses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Table` | Sets the widget table. |  |\n| `Filter` | Set the table filter. |  |\n| `Display field` | Sets the display field. |  |\n| `Secondary fields` | Sets the secondary display field. |  |\n| `List page` | Used to set the page. |  |\n| `Link to this page` | Used to set the page link. |  |\n| `Show even when empty` | Option to show on empty. |  |\n| `View` | Sets the article view. |  |\n| `Glyph` | Option to set glyph icon. |  |\n| `Bootstrap color` | Sets the Bootstrap color. |  |\n| `Bootstrap size` | Sets the Bootstrap size. |  |\n| `Maximum entries` | Max number of article entries. |  |\n| `List body height` | Sets the body height. |  |\n| `Image field` | Sets the image field. |  |\n| `Rounded images` | Option to display rounded images. |  |\n| `Hide Footer` | Option to hide footer. |  |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-take-photo/README.md",
    "content": "# HR Photo Credential\n\n## Description\n\nAs a task in the onboarding process, an employee snaps a selfie for their corporate photo with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Photo Credential](../../images/hr-photo-credential.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-take-photo/widget/pe-take-photo.u-body-html-template.html",
    "content": "<div>\n  <h1>\n    Use your phone's camera to grab a selfie for your corporate photo.\n  </h1>\n  <div class=\"links-title\">Related Articles</div>\n  <ul class=\"related-links\">\n    <li>\n      <a href=\"#\">Photo Use Policy</a>\n    </li>\n  </ul>\n  <div class=\"take-pic\" ngf-select=\"c.takeSelfie($file)\">\n    <div class=\"pic-icon\" ng-if=\"!c.pic\">\n      <svg width=\"119px\" height=\"80px\" viewBox=\"0 0 119 80\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n        <desc>Created with Sketch.</desc>\n        <defs></defs>\n        <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <g id=\"Group\" transform=\"translate(1.000000, 1.333333)\">\n            <circle id=\"Oval\" stroke=\"#000000\" stroke-linejoin=\"round\" cx=\"58.5\" cy=\"42.9\" r=\"19.5\"></circle>\n            <path d=\"M105.3,15.6 L85.8,15.6 L70.2,0 L46.8,0 L31.2,15.6 L11.7,15.6 C5.265,15.6 0,20.865 0,27.3 L0,66.3 C0,72.735 5.265,78 11.7,78 L105.3,78 C111.735,78 117,72.735 117,66.3 L117,27.3 C117,20.865 111.735,15.6 105.3,15.6 Z\"\n              id=\"Shape\" stroke=\"#000000\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n            <path d=\"M101.4,27.3 C99.2472,27.3 97.5,29.0472 97.5,31.2 C97.5,33.3528 99.2472,35.1 101.4,35.1 C103.5528,35.1 105.3,33.3528 105.3,31.2 C105.3,29.0472 103.5528,27.3 101.4,27.3 Z\"\n              id=\"Shape\" fill=\"#000000\" fill-rule=\"nonzero\"></path>\n          </g>\n        </g>\n      </svg>\n    </div>\n    <div ng-if=\"c.pic\">\n      <img ngf-src=\"c.pic\" ngf-resize=\"{height: 230}\" />\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "hr/pe-take-photo/widget/pe-take-photo.u-client-script.js",
    "content": "function TaskCredentialController($http, $rootScope, $scope) {\n  var c = this;\n  c.takeSelfie = takeSelfie;\n  c.triggerSelfieButton = triggerSelfieButton;\n\n  c.$onInit = function() {\n    $rootScope.wrapper.actionEnabled = true;\n    $rootScope.wrapper.actionLabel = 'Take Photo';\n    $rootScope.wrapper.action = c.triggerSelfieButton; // this comes from Link function\n\n    if (c.data.task.state == '3') {\n      $rootScope.wrapper.actionLabel = 'Next';\n      $rootScope.wrapper.action = function() {\n        $scope.$emit('next-task');\n      };\n    }\n  };\n\n  function onSubmit() {\n    replaceImage(c.pic, 'sys_user', $scope.user.sys_id, 'photo', function() {\n      $scope.$emit('next-task', { changeState: true });\n    });\n  }\n\n  function triggerSelfieButton() {\n    c.triggerSelfieButtonLinkFn();\n  }\n\n  function takeSelfie(file) {\n    c.pic = file;\n    $rootScope.wrapper.actionLabel = 'Submit';\n    $rootScope.wrapper.action = onSubmit;\n  }\n\n  function uploadImage(file, table_name, table_sys_id, field_name) {\n    var urlUpload =\n      '/api/now/v1/attachment/file?table_name=' +\n      table_name +\n      '&table_sys_id=' +\n      table_sys_id +\n      '&file_name=' +\n      field_name;\n\n    return $http.post(urlUpload, file, {\n      transformRequest: angular.identity,\n      headers: {\n        'Content-Type': file.type,\n        Accept: 'application/json, text/plain, */*'\n      }\n    });\n  }\n\n  function getImageSysId(table_name, table_sys_id, field_name, return_val) {\n    var urlGet =\n      '/api/now/v1/attachment' +\n      '?sysparm_query=table_name%3D' +\n      table_name +\n      '%5Etable_sys_id%3D' +\n      table_sys_id +\n      '%5Efile_name%3D' +\n      field_name;\n    var parent = this;\n    $http\n      .get(urlGet, {\n        headers: {\n          'Content-Type': 'application/json',\n          Accept: 'application/json'\n        }\n      })\n      .then(\n        function successCallback(response) {\n          // this callback will be called asynchronously\n          // when the response is available\n          if (\n            response &&\n            response.data &&\n            response.data.result &&\n            response.data.result.length &&\n            response.data.result.length > 0\n          ) {\n            return_val(response.data.result[0].sys_id);\n          } else {\n            return_val(null);\n          }\n        },\n        function errorCallback(response) {\n          // called asynchronously if an error occurs\n          // or server returns response with an error status.\n        }\n      );\n  }\n\n  function deleteImage(sys_id) {\n    var urlDelete = '/api/now/v1/attachment/' + sys_id;\n    return $http\n      .delete(urlDelete, {\n        headers: {\n          'Content-Type': 'application/json',\n          Accept: 'application/json'\n        }\n      })\n      .then(\n        function successCallback(response) {\n          // this callback will be called asynchronously\n          // when the response is available\n        },\n        function errorCallback(response) {\n          // called asynchronously if an error occurs\n          // or server returns response with an error status.\n        }\n      );\n  }\n\n  function replaceImage(file, table_name, table_sys_id, field_name, callback) {\n    getImageSysId(table_name, table_sys_id, field_name, function(sys_id) {\n      if (sys_id) {\n        deleteImage(sys_id);\n      }\n      uploadImage(file, table_name, table_sys_id, field_name).then(callback);\n    });\n  }\n}\n"
  },
  {
    "path": "hr/pe-take-photo/widget/pe-take-photo.u-css.scss",
    "content": "h1 {\n  font-size: 24px;\n}\n\n.links-title {\n  margin-top: 15px;\n  font-size: 16px;\n  font-weight: bold;\n}\n\n.related-links {\n  margin-top: 15px;\n  margin-top: 15px;\n}\n\n.take-pic {\n  overflow: hidden;\n  margin-top: 10px;\n  border-radius: 50%;\n  border: 1px solid black;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  width: 230px;\n  height: 230px;\n  margin: 0 auto;\n}\n"
  },
  {
    "path": "hr/pe-take-photo/widget/pe-take-photo.u-server-script.js",
    "content": "(function() {\n  if (input) {data.sys_id = input.sys_id;}\n  else if (options) {data.sys_id = options.sys_id;}\n  else {data.sys_id = $sp.getValue('sys_id');}\n\n  var hrtt = new hr_TaskTicket();\n\n  data.task = hrtt.getTasks(data.sys_id);\n})();\n"
  },
  {
    "path": "hr/pe-upcoming-events/README.md",
    "content": "# HR Upcoming Events\n\n## Description\n\nView upcoming events from company management with this HR Service Portal widget.\n\n## Screenshots\n\n### Collapsed\n\n![HR Upcoming Events](../../images/hr-upcoming-events-collapsed.png)\n\n### Expanded\n\n![HR Upcoming Events](../../images/hr-upcoming-events-expanded.png)\n\n## Additional Information/Notes\n\n* Out-of-box (OOB) HR Widget\n* Uses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `HR widget instance name` | Sets the widget instance. |  |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-video/README.md",
    "content": "# HR Video Carousel\n\n## Description\n\nView and share company videos with this HR Service Portal widget.\n\n## Screenshot\n\n![HR Video Carousel](../../images/hr-video-carousel.png)\n\n## Additional Information/Notes\n\n* Out-of-box (OOB) HR Widget\n* Uses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `HR widget instance name` | Sets widget instance. |  |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-welcome-msg/README.md",
    "content": "# HR Welcome Message\n\n## Description\n\n\n\n## Screenshot\n\n![HR Welcome Message](../../images/hr-welcome-message.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Employee Service Center](https://docs.servicenow.com/bundle/kingston-hr-service-delivery/page/product/human-resources/concept/c_UseTheHRSMPortal.html) (HR Service Portal)\n\n## Configuration\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "hr/pe-welcome-msg/widget/pe-welcome-msg.u-body-html-template.html",
    "content": "<div class=\"message-wrapper\">\n  <h3>{{user.first_name}}, congratulations on joining the company!</h3>\n</div>"
  },
  {
    "path": "hr/pe-welcome-msg/widget/pe-welcome-msg.u-client-script.js",
    "content": "function WelcomeMsgController() {\n  var c = this;\n}\n"
  },
  {
    "path": "hr/pe-welcome-msg/widget/pe-welcome-msg.u-css.scss",
    "content": ".message-wrapper {\n  margin: 0 -15px;\n  background-color: white;\n  padding: 10px 20px;\n  text-align: center;\n}\n\nh3 {\n  color: #578fae;\n  font-size: 22px;\n  font-weight: 600;\n}\n"
  },
  {
    "path": "hr/pe-welcome-msg/widget/pe-welcome-msg.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();\n"
  },
  {
    "path": "karma.conf.js",
    "content": "// Karma configuration\n// Generated on Thu Sep 14 2017 13:23:45 GMT-0500 (CDT)\n\nmodule.exports = function(config) {\n  config.set({\n\n    // base path that will be used to resolve all patterns (eg. files, exclude)\n    basePath: '',\n\n\n    // frameworks to use\n    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter\n    frameworks: ['jasmine'],\n\n\n    // list of files / patterns to load in the browser\n    files: [\n      'node_modules/angular/angular.min.js',\n      'node_modules/angular-mocks/angular-mocks.js',\n      'src/pe-problem-message/ui-script/pe-problem.module.u-client-script.js',\n      'src/pe-problem-message/ui-script/pe-problem.service.u-client-script.js',\n      'src/pe-problem-message/widget/pe-problem-message.u-client-script.js',\n      'timeline/pe-timeline/ui-script/pe-timeline-module.u-client-script.js',\n      'timeline/pe-timeline/ui-script/pe-events-service.u-client-script.js',\n      'timeline/pe-timeline/widget/pe-timeline.u-client-script.js',\n      '**/*.spec.js'\n    ],\n\n\n    // list of files to exclude\n    exclude: [\n      'node_modules/**/*.spec.js'\n    ],\n\n\n    // preprocess matching files before serving them to the browser\n    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor\n    preprocessors: {\n    },\n\n\n    // test results reporter to use\n    // possible values: 'dots', 'progress'\n    // available reporters: https://npmjs.org/browse/keyword/karma-reporter\n    reporters: ['progress'],\n\n\n    // web server port\n    port: 9876,\n\n\n    // enable / disable colors in the output (reporters and logs)\n    colors: true,\n\n\n    // level of logging\n    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG\n    logLevel: config.LOG_INFO,\n\n\n    // enable / disable watching file and executing tests whenever any file changes\n    autoWatch: false,\n\n\n    // start these browsers\n    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher\n    browsers: ['Firefox'],\n\n\n    // Continuous Integration mode\n    // if true, Karma captures browsers, runs the tests and exits\n    singleRun: true,\n\n    // Concurrency level\n    // how many browser should be started simultaneous\n    concurrency: Infinity\n  });\n};\n"
  },
  {
    "path": "notifications/pe-bootstrap-notify/README.md",
    "content": "# Bootstrap Notify\n\n## Description\n\nThis is a directive useful for being quickly able to use Bootstrap Notify from any widget (most of the times is placed in the header widget).\n\n## Screenshots\n![alt text](../../images/pe-bootstrap-notify-01.png \"Notifications indicator count\") <br/><br/>\n![alt text](../../images/pe-bootstrap-notify-02.png \"Notification with animation\") <br/><br/>\n\n## Additional Information/Notes\nThe update set installs a sample widget which shows how to use the directive and how to broadcast the notifications.<br/><br/>\n\nThe directive considers the following input parameters:\n\n-) options, a json object (documented here: http://bootstrap-notify.remabledesigns.com/#documentation-options )\n\n-) settings, a json object (documented here: http://bootstrap-notify.remabledesigns.com/#documentation-settings )\n\n-) [optional] demo, if true then you will see a sample notification triggered automatically after a certain time\n\n-) [optional] custom broadcast event name for triggering the notification, default name is: bn-notify-show. In a input object you can specify options and settings.\n\n-) [optional] custom broadcast event name for showing the notification count value on UI, default name is: bn-notify-count\n<br/><br/>\nHow to use it?\n\n1) import the update-set\n\n2) add bn.core as Dependency to your widget\n\n3) add the directive to your widget in the HTML section:\n\n<bn-notify demo=true></bn-notify>\n<br/><br/>\n\nSample with input parameters:\n\n<bn-notify options={...} settings={...}></bn-notify>\n\nthe purpose of the parameter demo, set to true, is to quicky test your options and settings.\n\nPlease have a look at the demo implementation on page and widget called Bootstrap Notify Demo:\n\n/sp?id=boostrap_notify_demo\n\n---\n## Installation\n---\nDownload and install update set **[pe-bootstrap-notify.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/notifications/pe-bootstrap-notify/pe-bootstrap-notify.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/jakarta-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n"
  },
  {
    "path": "notifications/pe-bootstrap-notify/pe-bootstrap-notify.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-09-07 13:55:30\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Bootstrap Notify</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>5b56d15bdb50e300abd4f9361d9619c1</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>5d5c119fdb50e300abd4f9361d9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d257777fdb9dd300aa80d49fdf961999</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"bn.core\">21f6737fdb9dd300aa80d49fdf9619ab</sp_dependency><sp_js_include display_value=\"bnNotify\">8057377fdb9dd300aa80d49fdf961932</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:21:23</sys_created_on><sys_id>d257777fdb9dd300aa80d49fdf961999</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bn.core.bnNotify</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d257777fdb9dd300aa80d49fdf961999</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:21:23</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1793676778</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>115c959fdb50e300abd4f9361d9619de</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391ba10000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core.bnNotify</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>9257777f849dd300ff9f5ce5970bbe9a</update_guid>\n<update_guid_history>9257777f849dd300ff9f5ce5970bbe9a:-1793676778</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5515333fdb9dd300aa80d49fdf961953</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;bn.core&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function(angular) {\n\tangular.module('bn.core', []);\n})(angular);]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-13 11:13:02&lt;/sys_created_on&gt;&lt;sys_id&gt;5515333fdb9dd300aa80d49fdf961953&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;bn.core&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5515333fdb9dd300aa80d49fdf961953&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-04-13 11:13:02&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1519043951</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>115c959fdb50e300abd4f9361d9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b560000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>0875733f839dd3008329296869038cb8</update_guid>\n<update_guid_history>0875733f839dd3008329296869038cb8:-1519043951</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_5447777fdb9dd300aa80d49fdf96191d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>bn.core</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:21:08</sys_created_on><sys_id>5447777fdb9dd300aa80d49fdf96191d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bn.core</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"bn.core\">5515333fdb9dd300aa80d49fdf961953</sys_ui_script><sys_update_name>sp_js_include_5447777fdb9dd300aa80d49fdf96191d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:21:08</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1902234598</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>155c959fdb50e300abd4f9361d9619e0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b890000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>7e47777fd39dd30054a49d3a01fe4d20</update_guid>\n<update_guid_history>7e47777fd39dd30054a49d3a01fe4d20:-1902234598</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_a7873b7fdb9dd300aa80d49fdf961937</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>bnNotify</name><source>local</source><sp_css display_value=\"bnNotify\">dd973b7fdb9dd300aa80d49fdf961971</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:22:42</sys_created_on><sys_id>a7873b7fdb9dd300aa80d49fdf961937</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bnNotify</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_a7873b7fdb9dd300aa80d49fdf961937</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:22:42</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1598076989</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>195c959fdb50e300abd4f9361d9619df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bde0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bnNotify</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>7da73b7f9a9dd300998e3f56c12d4046</update_guid>\n<update_guid_history>7da73b7f9a9dd300998e3f56c12d4046:1598076989</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_39a73b7fdb9dd300aa80d49fdf961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"bnNotify\">a7873b7fdb9dd300aa80d49fdf961937</sp_css_include><sp_dependency display_value=\"bn.core\">21f6737fdb9dd300aa80d49fdf9619ab</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:22:42</sys_created_on><sys_id>39a73b7fdb9dd300aa80d49fdf961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bnNotify.bn.core</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_39a73b7fdb9dd300aa80d49fdf961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:22:42</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>215075099</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>1d5c119fdb50e300abd4f9361d9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391be40000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bnNotify.bn.core</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>f5a73b7fac9dd300b6cac3ac72e40648</update_guid>\n<update_guid_history>f5a73b7fac9dd300b6cac3ac72e40648:215075099</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_5577f77fdb9dd300aa80d49fdf96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>@charset \"UTF-8\";&#13;\n&#13;\n/*!&#13;\n * animate.css -http://daneden.me/animate&#13;\n * Version - 3.6.0&#13;\n * Licensed under the MIT license - http://opensource.org/licenses/MIT&#13;\n *&#13;\n * Copyright (c) 2018 Daniel Eden&#13;\n */&#13;\n&#13;\n.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}</css><name>animate.min.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:21:59</sys_created_on><sys_id>5577f77fdb9dd300aa80d49fdf96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_5577f77fdb9dd300aa80d49fdf96195f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:21:59</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>2111059290</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>1d5c959fdb50e300abd4f9361d9619de</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bb20000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>animate.min.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>1777b77fb89dd300f018733846377453</update_guid>\n<update_guid_history>1777b77fb89dd300f018733846377453:2111059290</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_0a07b37fdb9dd300aa80d49fdf9619b3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>bootstrap-notify.min.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:20:40</sys_created_on><sys_id>0a07b37fdb9dd300aa80d49fdf9619b3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootstrap-notify.min.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"bootstrap-notify.min.js\">3a17f37fdb9dd300aa80d49fdf96192f</sys_ui_script><sys_update_name>sp_js_include_0a07b37fdb9dd300aa80d49fdf9619b3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:20:40</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-936362625</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>515c959fdb50e300abd4f9361d9619e0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b7c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bootstrap-notify.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>3727f37ff59dd30028e71fbf58b7cf34</update_guid>\n<update_guid_history>3727f37ff59dd30028e71fbf58b7cf34:-936362625</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_8377b77fdb9dd300aa80d49fdf961951</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>animate.min.css</name><source>local</source><sp_css display_value=\"animate.min.css\">5577f77fdb9dd300aa80d49fdf96195f</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:21:59</sys_created_on><sys_id>8377b77fdb9dd300aa80d49fdf961951</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_8377b77fdb9dd300aa80d49fdf961951</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:21:59</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1450193345</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>555c959fdb50e300abd4f9361d9619df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391ba70000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>animate.min.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>0777b77f679dd300c0e51b8ad5a33c52</update_guid>\n<update_guid_history>0777b77f679dd300c0e51b8ad5a33c52:1450193345</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_39873b7fdb9dd300aa80d49fdf961933</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>10</order><sp_css_include display_value=\"animate.min.css\">f767f77fdb9dd300aa80d49fdf961900</sp_css_include><sp_dependency display_value=\"bn.core\">21f6737fdb9dd300aa80d49fdf9619ab</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:22:10</sys_created_on><sys_id>39873b7fdb9dd300aa80d49fdf961933</sys_id><sys_mod_count>1</sys_mod_count><sys_name>animate.min.css.bn.core</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_39873b7fdb9dd300aa80d49fdf961933</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:22:15</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>425523252</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>595c119fdb50e300abd4f9361d9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bc90000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>animate.min.css.bn.core</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c787f77f699dd30040bbc82ae8230767</update_guid>\n<update_guid_history>c787f77f699dd30040bbc82ae8230767:425523252,7d873b7f629dd300e3edd63f01a45d34:489267280</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_c218bf7fdb9dd300aa80d49fdf961954</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Bootstrap Notify - Container 1</name><order>1</order><sp_page display_value=\"bootstrap_notify_demo\">cdc7fb7fdb9dd300aa80d49fdf96194f</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:24:38</sys_created_on><sys_id>c218bf7fdb9dd300aa80d49fdf961954</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Bootstrap Notify - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_c218bf7fdb9dd300aa80d49fdf961954</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:45:22</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>948405871</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>595c959fdb50e300abd4f9361d9619de</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bfe0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>Bootstrap Notify - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>addc7f3301ddd30058a8f7f3d92e66a0</update_guid>\n<update_guid_history>addc7f3301ddd30058a8f7f3d92e66a0:948405871,c618bf7f8d9dd300b8def6b901213055:-1550985661</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3a17f37fdb9dd300aa80d49fdf96192f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;bootstrap-notify.min.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(t){\"function\"==typeof define&amp;&amp;define.amd?define([\"jquery\"],t):t(\"object\"==typeof exports?require(\"jquery\"):jQuery)}(function(t){function s(s){var e=!1;return t('[data-notify=\"container\"]').each(function(i,n){var a=t(n),o=a.find('[data-notify=\"title\"]').text().trim(),r=a.find('[data-notify=\"message\"]').html().trim(),l=o===t(\"&lt;div&gt;\"+s.settings.content.title+\"&lt;/div&gt;\").html().trim(),d=r===t(\"&lt;div&gt;\"+s.settings.content.message+\"&lt;/div&gt;\").html().trim(),g=a.hasClass(\"alert-\"+s.settings.type);return l&amp;&amp;d&amp;&amp;g&amp;&amp;(e=!0),!e}),e}function e(e,n,a){var o={content:{message:\"object\"==typeof n?n.message:n,title:n.title?n.title:\"\",icon:n.icon?n.icon:\"\",url:n.url?n.url:\"#\",target:n.target?n.target:\"-\"}};a=t.extend(!0,{},o,a),this.settings=t.extend(!0,{},i,a),this._defaults=i,\"-\"===this.settings.content.target&amp;&amp;(this.settings.content.target=this.settings.url_target),this.animations={start:\"webkitAnimationStart oanimationstart MSAnimationStart animationstart\",end:\"webkitAnimationEnd oanimationend MSAnimationEnd animationend\"},\"number\"==typeof this.settings.offset&amp;&amp;(this.settings.offset={x:this.settings.offset,y:this.settings.offset}),(this.settings.allow_duplicates||!this.settings.allow_duplicates&amp;&amp;!s(this))&amp;&amp;this.init()}var i={element:\"body\",position:null,type:\"info\",allow_dismiss:!0,allow_duplicates:!0,newest_on_top:!1,showProgressbar:!1,placement:{from:\"top\",align:\"right\"},offset:20,spacing:10,z_index:1031,delay:5e3,timer:1e3,url_target:\"_blank\",mouse_over:null,animate:{enter:\"animated fadeInDown\",exit:\"animated fadeOutUp\"},onShow:null,onShown:null,onClose:null,onClosed:null,icon_type:\"class\",template:'&lt;div data-notify=\"container\" class=\"col-xs-11 col-sm-4 alert alert-{0}\" role=\"alert\"&gt;&lt;button type=\"button\" aria-hidden=\"true\" class=\"close\" data-notify=\"dismiss\"&gt;&amp;times;&lt;/button&gt;&lt;span data-notify=\"icon\"&gt;&lt;/span&gt; &lt;span data-notify=\"title\"&gt;{1}&lt;/span&gt; &lt;span data-notify=\"message\"&gt;{2}&lt;/span&gt;&lt;div class=\"progress\" data-notify=\"progressbar\"&gt;&lt;div class=\"progress-bar progress-bar-{0}\" role=\"progressbar\" aria-valuenow=\"0\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: 0%;\"&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href=\"{3}\" target=\"{4}\" data-notify=\"url\"&gt;&lt;/a&gt;&lt;/div&gt;'};String.format=function(){for(var t=arguments[0],s=1;s&lt;arguments.length;s++)t=t.replace(RegExp(\"\\\\{\"+(s-1)+\"\\\\}\",\"gm\"),arguments[s]);return t},t.extend(e.prototype,{init:function(){var t=this;this.buildNotify(),this.settings.content.icon&amp;&amp;this.setIcon(),\"#\"!=this.settings.content.url&amp;&amp;this.styleURL(),this.styleDismiss(),this.placement(),this.bind(),this.notify={$ele:this.$ele,update:function(s,e){var i={};\"string\"==typeof s?i[s]=e:i=s;for(var n in i)switch(n){case\"type\":this.$ele.removeClass(\"alert-\"+t.settings.type),this.$ele.find('[data-notify=\"progressbar\"] &gt; .progress-bar').removeClass(\"progress-bar-\"+t.settings.type),t.settings.type=i[n],this.$ele.addClass(\"alert-\"+i[n]).find('[data-notify=\"progressbar\"] &gt; .progress-bar').addClass(\"progress-bar-\"+i[n]);break;case\"icon\":var a=this.$ele.find('[data-notify=\"icon\"]');\"class\"===t.settings.icon_type.toLowerCase()?a.removeClass(t.settings.content.icon).addClass(i[n]):(a.is(\"img\")||a.find(\"img\"),a.attr(\"src\",i[n]));break;case\"progress\":var o=t.settings.delay-t.settings.delay*(i[n]/100);this.$ele.data(\"notify-delay\",o),this.$ele.find('[data-notify=\"progressbar\"] &gt; div').attr(\"aria-valuenow\",i[n]).css(\"width\",i[n]+\"%\");break;case\"url\":this.$ele.find('[data-notify=\"url\"]').attr(\"href\",i[n]);break;case\"target\":this.$ele.find('[data-notify=\"url\"]').attr(\"target\",i[n]);break;default:this.$ele.find('[data-notify=\"'+n+'\"]').html(i[n])}var r=this.$ele.outerHeight()+parseInt(t.settings.spacing)+parseInt(t.settings.offset.y);t.reposition(r)},close:function(){t.close()}}},buildNotify:function(){var s=this.settings.content;this.$ele=t(String.format(this.settings.template,this.settings.type,s.title,s.message,s.url,s.target)),this.$ele.attr(\"data-notify-position\",this.settings.placement.from+\"-\"+this.settings.placement.align),this.settings.allow_dismiss||this.$ele.find('[data-notify=\"dismiss\"]').css(\"display\",\"none\"),(this.settings.delay&lt;=0&amp;&amp;!this.settings.showProgressbar||!this.settings.showProgressbar)&amp;&amp;this.$ele.find('[data-notify=\"progressbar\"]').remove()},setIcon:function(){\"class\"===this.settings.icon_type.toLowerCase()?this.$ele.find('[data-notify=\"icon\"]').addClass(this.settings.content.icon):this.$ele.find('[data-notify=\"icon\"]').is(\"img\")?this.$ele.find('[data-notify=\"icon\"]').attr(\"src\",this.settings.content.icon):this.$ele.find('[data-notify=\"icon\"]').append('&lt;img src=\"'+this.settings.content.icon+'\" alt=\"Notify Icon\" /&gt;')},styleDismiss:function(){this.$ele.find('[data-notify=\"dismiss\"]').css({position:\"absolute\",right:\"10px\",top:\"5px\",zIndex:this.settings.z_index+2})},styleURL:function(){this.$ele.find('[data-notify=\"url\"]').css({backgroundImage:\"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)\",height:\"100%\",left:0,position:\"absolute\",top:0,width:\"100%\",zIndex:this.settings.z_index+1})},placement:function(){var s=this,e=this.settings.offset.y,i={display:\"inline-block\",margin:\"0px auto\",position:this.settings.position?this.settings.position:\"body\"===this.settings.element?\"fixed\":\"absolute\",transition:\"all .5s ease-in-out\",zIndex:this.settings.z_index},n=!1,a=this.settings;switch(t('[data-notify-position=\"'+this.settings.placement.from+\"-\"+this.settings.placement.align+'\"]:not([data-closing=\"true\"])').each(function(){e=Math.max(e,parseInt(t(this).css(a.placement.from))+parseInt(t(this).outerHeight())+parseInt(a.spacing))}),this.settings.newest_on_top===!0&amp;&amp;(e=this.settings.offset.y),i[this.settings.placement.from]=e+\"px\",this.settings.placement.align){case\"left\":case\"right\":i[this.settings.placement.align]=this.settings.offset.x+\"px\";break;case\"center\":i.left=0,i.right=0}this.$ele.css(i).addClass(this.settings.animate.enter),t.each(Array(\"webkit-\",\"moz-\",\"o-\",\"ms-\",\"\"),function(t,e){s.$ele[0].style[e+\"AnimationIterationCount\"]=1}),t(this.settings.element).append(this.$ele),this.settings.newest_on_top===!0&amp;&amp;(e=parseInt(e)+parseInt(this.settings.spacing)+this.$ele.outerHeight(),this.reposition(e)),t.isFunction(s.settings.onShow)&amp;&amp;s.settings.onShow.call(this.$ele),this.$ele.one(this.animations.start,function(){n=!0}).one(this.animations.end,function(){s.$ele.removeClass(s.settings.animate.enter),t.isFunction(s.settings.onShown)&amp;&amp;s.settings.onShown.call(this)}),setTimeout(function(){n||t.isFunction(s.settings.onShown)&amp;&amp;s.settings.onShown.call(this)},600)},bind:function(){var s=this;if(this.$ele.find('[data-notify=\"dismiss\"]').on(\"click\",function(){s.close()}),this.$ele.mouseover(function(){t(this).data(\"data-hover\",\"true\")}).mouseout(function(){t(this).data(\"data-hover\",\"false\")}),this.$ele.data(\"data-hover\",\"false\"),this.settings.delay&gt;0){s.$ele.data(\"notify-delay\",s.settings.delay);var e=setInterval(function(){var t=parseInt(s.$ele.data(\"notify-delay\"))-s.settings.timer;if(\"false\"===s.$ele.data(\"data-hover\")&amp;&amp;\"pause\"===s.settings.mouse_over||\"pause\"!=s.settings.mouse_over){var i=(s.settings.delay-t)/s.settings.delay*100;s.$ele.data(\"notify-delay\",t),s.$ele.find('[data-notify=\"progressbar\"] &gt; div').attr(\"aria-valuenow\",i).css(\"width\",i+\"%\")}t&lt;=-s.settings.timer&amp;&amp;(clearInterval(e),s.close())},s.settings.timer)}},close:function(){var s=this,e=parseInt(this.$ele.css(this.settings.placement.from)),i=!1;this.$ele.attr(\"data-closing\",\"true\").addClass(this.settings.animate.exit),s.reposition(e),t.isFunction(s.settings.onClose)&amp;&amp;s.settings.onClose.call(this.$ele),this.$ele.one(this.animations.start,function(){i=!0}).one(this.animations.end,function(){t(this).remove(),t.isFunction(s.settings.onClosed)&amp;&amp;s.settings.onClosed.call(this)}),setTimeout(function(){i||(s.$ele.remove(),s.settings.onClosed&amp;&amp;s.settings.onClosed(s.$ele))},600)},reposition:function(s){var e=this,i='[data-notify-position=\"'+this.settings.placement.from+\"-\"+this.settings.placement.align+'\"]:not([data-closing=\"true\"])',n=this.$ele.nextAll(i);this.settings.newest_on_top===!0&amp;&amp;(n=this.$ele.prevAll(i)),n.each(function(){t(this).css(e.settings.placement.from,s),s=parseInt(s)+parseInt(e.settings.spacing)+t(this).outerHeight()})}}),t.notify=function(t,s){var i=new e(this,t,s);return i.notify},t.notifyDefaults=function(s){return i=t.extend(!0,{},i,s)},t.notifyClose=function(s){\"warning\"===s&amp;&amp;(s=\"danger\"),\"undefined\"==typeof s||\"all\"===s?t(\"[data-notify]\").find('[data-notify=\"dismiss\"]').trigger(\"click\"):\"success\"===s||\"info\"===s||\"warning\"===s||\"danger\"===s?t(\".alert-\"+s+\"[data-notify]\").find('[data-notify=\"dismiss\"]').trigger(\"click\"):s?t(s+\"[data-notify]\").find('[data-notify=\"dismiss\"]').trigger(\"click\"):t('[data-notify-position=\"'+s+'\"]').find('[data-notify=\"dismiss\"]').trigger(\"click\")},t.notifyCloseExcept=function(s){\"warning\"===s&amp;&amp;(s=\"danger\"),\"success\"===s||\"info\"===s||\"warning\"===s||\"danger\"===s?t(\"[data-notify]\").not(\".alert-\"+s).find('[data-notify=\"dismiss\"]').trigger(\"click\"):t(\"[data-notify]\").not(s).find('[data-notify=\"dismiss\"]').trigger(\"click\")}});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-13 11:20:37&lt;/sys_created_on&gt;&lt;sys_id&gt;3a17f37fdb9dd300aa80d49fdf96192f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;bootstrap-notify.min.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3a17f37fdb9dd300aa80d49fdf96192f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-04-13 11:20:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-370893884</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>5d5c959fdb50e300abd4f9361d9619e0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b740000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bootstrap-notify.min.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>0b27b37f7b9dd300808a16d6fddb1441</update_guid>\n<update_guid_history>0b27b37f7b9dd300808a16d6fddb1441:-370893884</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_0962bfbbdb9dd300aa80d49fdf96192c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format/><height/><image/><name>notifications.svg</name><size_bytes>2592</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:00:34</sys_created_on><sys_id>0962bfbbdb9dd300aa80d49fdf96192c</sys_id><sys_mod_count>1</sys_mod_count><sys_name>notifications.svg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_0962bfbbdb9dd300aa80d49fdf96192c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:00:40</sys_updated_on><thumbnail/><width/></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/svg+xml</content_type><file_name>image</file_name><image_height/><image_width/><size_bytes>2592</size_bytes><size_compressed>1071</size_compressed><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:00:40</sys_created_on><sys_id>7e927fbbdb9dd300aa80d49fdf96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:00:40</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>0962bfbbdb9dd300aa80d49fdf96192c</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"7e927fbbdb9dd300aa80d49fdf96193d\">7e927fbbdb9dd300aa80d49fdf96193d</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:00:40</sys_created_on><sys_id>76927fbbdb9dd300aa80d49fdf96193e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>dZbLctpIFIb3fooezSapgqb7nL66jKtmWGQWZJVddsTIQBkQJYjxzNPP3+J2lCLqKlv61DrX/yA9PO3fF+q4mh+W44rc7qNSy3q1WB5wFcrV+6o+/t18jCujjCKnKIDV7X7VbMeV1bZSH5v1dj+ulofD7nE0Oh6P+si6aRcjMsaMYP685fFjvdq+3dtoc86j7m71/KBwPP0xHKov9bZuZ4emfVTf3urDy1K5rD55awx9VkMlzPxolvVmNdu+NPPVdqFfms1of3piODwbnNf7l+dJW88O9RzpHpZnm/pp1N267HrdPxeCfyeyUKv5uPr27+ZHs95Xan9om7d6XG2bbX25Gp6rh1K8rtbry81yPmx/rrG7fq+3zXx+Tk7Y/aeezet2SJU6tLPt/rVpN+OqO10j0E9DSk6b7hiooTXn888XR3/+5bC45wvO/6vbRvgS/r60zc/db5xJX8JV346syXK2q+/c7rbsZqgwNn21XgfvORANyOqUbI4xqgmwY8PZD4h1DDETZWVxmhOxcQPymthSUBYP2W7d2CTrxMkyU7zBpMn4HFJI0mTUOUEw1lnpfmo1BxezC64XldGRffAxmyy50UTxtArmxDH63Md4NIQUg1dTyW3Wjjwe4GJd8KRNxDJRwaDDc0Q8sEHngBUV6UiJyDIJOCGdPIaKkKPcmr3rVoHIP2XLv9DofGBWU0lLIpHIhWL3iqP2IXqUNCi0KIacSpWdJufIWGSdtcmnNWCcZso+WjUVmDSKn0p6pVNXbNEg4xK6VOTFlr1zeWBkhw2EwZoJxXBcbjl9DVejFzmySZIKV1OBu8DY4w8MJo2wKSV3ysIZpKTQr9D5pC7jxOxsklSUZyrxtZaTPk0RekydiQjZJOtki4zOBqjX4gmRpgS1xd5W1u5SsE4jjAgkvAlqKrDQ30TikoXJ5Wcb2skp2MxS2SWEaH3I/em4O7Pf1VeUmCCJ0NudNfvsDJfBE7OUtY8M074bcYOeerKl82hGyD4UCqV6F3szfoVFCcZxCBIiABOYTLQ9o3fCQrRIzlzUI8ZQ4gTHJjnIB496diZQKpQNMoJ6ZONutLTeUDalxzcKH3zOwkYdrIV+fI/e5lBSMYcCo/fGO4sEVRFHhJ4xh14jmuRDKQXrkJFQykXX3lqPA5ZZ27MqnbZko8uhj+V4Cmx1hlRSSqQsoXeEMQRkztFSJtkkQSfAJgSXbH+z0acSF4ry+IAiSdob3Bs+hczQXtFVdhSMhcNTggQlq0mANgPajZC7aqACKSt3KRx1lXPBYpekcp4lvs2zpOifwbAo1Nh4xnvF91QhfpylKjTeNOkirKssIPjbQENunoosBBUTLTA05h0RSotBv0n2N1gY+V7hC6a8f++8uUeLXz4LJLhedCdP5cvt+eF/WnLRfSAKAAA=</data><length>1416</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"7e927fbbdb9dd300aa80d49fdf96193d\">7e927fbbdb9dd300aa80d49fdf96193d</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:00:40</sys_created_on><sys_id>f6927fbbdb9dd300aa80d49fdf96193e</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>2064917090</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>915c119fdb50e300abd4f9361d9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b2d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>notifications.svg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>cb92ffbb019dd30015bcc3107b069f7f</update_guid>\n<update_guid_history>cb92ffbb019dd30015bcc3107b069f7f:2064917090,cb92ffbb329dd300fd4a82b254bc297d:2064917090,1192bfbbfd9dd300246de19e27d52232:1331807600</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_3a47777fdb9dd300aa80d49fdf961921</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>50</order><sp_dependency display_value=\"bn.core\">21f6737fdb9dd300aa80d49fdf9619ab</sp_dependency><sp_js_include display_value=\"bn.core\">5447777fdb9dd300aa80d49fdf96191d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:21:08</sys_created_on><sys_id>3a47777fdb9dd300aa80d49fdf961921</sys_id><sys_mod_count>1</sys_mod_count><sys_name>bn.core.bn.core</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3a47777fdb9dd300aa80d49fdf961921</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:21:12</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1380995870</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>915c119fdb50e300abd4f9361d9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b920000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core.bn.core</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>f747777f1d9dd30086fd070feb100095</update_guid>\n<update_guid_history>f747777f1d9dd30086fd070feb100095:1380995870,f647777f409dd300198e9f06399b2f22:1387288490</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_59a73b7fdb9dd300aa80d49fdf961974</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>bnNotify</name><source>local</source><sp_css display_value=\"bnNotify\">dd973b7fdb9dd300aa80d49fdf961971</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:22:40</sys_created_on><sys_id>59a73b7fdb9dd300aa80d49fdf961974</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bnNotify</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_59a73b7fdb9dd300aa80d49fdf961974</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:22:40</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1598076989</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>915c959fdb50e300abd4f9361d9619df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bd20000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bnNotify</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>95a73b7f009dd300b5b8575e285fb575</update_guid>\n<update_guid_history>95a73b7f009dd300b5b8575e285fb575:1598076989</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_9b28bf7fdb9dd300aa80d49fdf961967</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">9b28bf7fdb9dd300aa80d49fdf961965</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:25:00</sys_created_on><sys_id>9b28bf7fdb9dd300aa80d49fdf961967</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_9b28bf7fdb9dd300aa80d49fdf961967</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:25:00</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>495971590</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>955c959fdb50e300abd4f9361d9619de</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bf00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>2f28bf7f849dd3004dc3edc8a7869d68</update_guid>\n<update_guid_history>2f28bf7f849dd3004dc3edc8a7869d68:495971590</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_85b6bf3fdb9dd300aa80d49fdf96195b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function BootstrapNotifyController($rootScope) {\n  var c = this;\n\n  c.start = function() {\n    $rootScope.$broadcast('bn-notify-show');\n    $rootScope.$broadcast('bn-notify-count', 5);\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-bootstrap-notify&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Bootstrap Notify&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-13 11:19:32&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b6bf3fdb9dd300aa80d49fdf96195b&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Bootstrap Notify&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_85b6bf3fdb9dd300aa80d49fdf96195b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-07 13:48:44&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div class=\"pull-right\"&gt;\n    &lt;bn-notify demo=true&gt;&lt;/bn-notify&gt;\n  &lt;/div&gt;\n  &lt;a class=\"btn btn-default\" ng-href=\"javascript:void(0)\" ng-click=\"c.start()\" role=\"button\"&gt;Notify through broadcasting&lt;/a&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>781338595</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>995c959fdb50e300abd4f9361d9619e0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b44ac9880000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>PE Bootstrap Notify</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>9acad95fc950e300203ad92c34dc9b42</update_guid>\n<update_guid_history>9acad95fc950e300203ad92c34dc9b42:781338595,696799db6850e300f4e53a88725bfecb:-1526148675,76e659db6f50e30021bf61cd527e9fbf:963671216,7d3dff3326ddd300454a586bd20db39e:-878225532,35ac33334bddd3000d073974055be05f:1844901234,9be6f73f9b9dd300b72f089eabda8924:-602059370</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_21f6737fdb9dd300aa80d49fdf9619ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>bn.core</module><name>bn.core</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:19:49</sys_created_on><sys_id>21f6737fdb9dd300aa80d49fdf9619ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bn.core</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_21f6737fdb9dd300aa80d49fdf9619ab</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:19:49</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-577846856</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>9d5c959fdb50e300abd4f9361d9619df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b650000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>d7f6737f349dd3006c18cee3a5a2d1fb</update_guid>\n<update_guid_history>d7f6737f349dd3006c18cee3a5a2d1fb:-577846856</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_d3f6737fdb9dd300aa80d49fdf9619fc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"bn.core\">21f6737fdb9dd300aa80d49fdf9619ab</sp_dependency><sp_widget display_value=\"Bootstrap Notify Demo\">85b6bf3fdb9dd300aa80d49fdf96195b</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:19:49</sys_created_on><sys_id>d3f6737fdb9dd300aa80d49fdf9619fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bn.core.Bootstrap Notify Demo</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_d3f6737fdb9dd300aa80d49fdf9619fc</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:19:49</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-643631753</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>d15c959fdb50e300abd4f9361d9619de</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b6d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core.Bootstrap Notify Demo</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>5bf6737fb59dd300dff15ab4f8f9f3fd</update_guid>\n<update_guid_history>5bf6737fb59dd300dff15ab4f8f9f3fd:-643631753</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5dd5f73fdb9dd300aa80d49fdf961917</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;bnNotify&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function(angular) {\n  var app = angular.module('bn.core');\n  app.directive('bnNotify', function() {\n    return {\n      restrict: 'E',\n      replace: true,\n      transclude: true,\n      scope: {\n        classes: '@',\n        demo: '@',\n        options: '@',\n        settings: '@',\n        broadcast: '@',\n        broadcastCount: '@',\n        count: '@'\n      },\n      controllerAs: 'bnNotifyCtrl',\n      controller: function($scope, $rootScope, $transclude) {\n        if (!$scope.broadcast) $scope.broadcast = 'bn-notify-show';\n        if (!$scope.broadcastCount) $scope.broadcastCount = 'bn-notify-count';\n\t\tif (!$scope.count) $scope.count = 0;\n        else $scope.count = parseInt($scope.count);\n\n\t\tif ($scope.demo) $scope.demo = ($scope.demo == 'true' || $scope.demo == true);\n\n        if (!$scope.options)\n          $scope.options = {\n            title: '&lt;strong&gt;DEMO&lt;/strong&gt;',\n            message:\n              'A notification pops communicating the last thing happened in the app.'\n          };\n        else $scope.options = JSON.parse(scope.options);\n\n        if (!$scope.settings)\n          $scope.settings = {\n            type: 'info',\n            delay: 1000,\n\t\t\tz_index: 9999,\n\t\t\tanimate: {\n\t\t\t\tenter: 'animated fadeInDown'\n\t\t\t\t}\n          };\n        else $scope.settings = JSON.parse(scope.settings);\n\n        $rootScope.$on($scope.broadcastCount, function(event, value) {\n          if (value) $scope.count = value;\n        });\n        $rootScope.$on($scope.broadcast, function(event, obj) {\n          if (obj &amp;&amp; obj.options) $scope.options = obj.options;\n          if (obj &amp;&amp; obj.settings) $scope.settings = obj.settings;\n          $scope.showNotification();\n        });\n\n        if ($scope.demo &amp;&amp; $scope.demo==true){\n\n          setTimeout(function() {\n\t\t\t  $scope.count = 1;\n            $scope.showNotification();\n          }, 1000);\n\t\t}\n      },\n      link: function(scope) {\n        $(document).ready(function() {\n          scope.$watch(scope, function(newValues, oldValues, scope) {\n            scope.showNotification = function() {\n\t\t\t\t$.notify(scope.options, scope.settings);\n            };\n          });\n        });\n      },\n      template:\n        '&lt;div class=\"bn-notify {{classes}}\"&gt;&lt;img src=\"notifications.svg\" /&gt;&lt;span class=\"badge bn-notify-badge-circle\" ng-show=\"count&gt;0\"&gt;{{count}}&lt;/span&gt;&lt;/div&gt;'\n    };\n  });\n})(angular);]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-13 11:14:54&lt;/sys_created_on&gt;&lt;sys_id&gt;5dd5f73fdb9dd300aa80d49fdf961917&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;bnNotify&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5dd5f73fdb9dd300aa80d49fdf961917&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-04-13 11:14:54&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1603927414</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>d15c959fdb50e300abd4f9361d9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b5d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bnNotify</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>abd5f73fa79dd300cdd08c4dc4dd8989</update_guid>\n<update_guid_history>abd5f73fa79dd300cdd08c4dc4dd8989:-1603927414</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_8057377fdb9dd300aa80d49fdf961932</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>bnNotify</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:21:23</sys_created_on><sys_id>8057377fdb9dd300aa80d49fdf961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bnNotify</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"bnNotify\">5dd5f73fdb9dd300aa80d49fdf961917</sys_ui_script><sys_update_name>sp_js_include_8057377fdb9dd300aa80d49fdf961932</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:21:23</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>942090831</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>d55c959fdb50e300abd4f9361d9619e0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b9b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bnNotify</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>1a57777f769dd300f70efa1d5ab67798</update_guid>\n<update_guid_history>1a57777f769dd300f70efa1d5ab67798:942090831</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_f767f77fdb9dd300aa80d49fdf961900</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>animate.min.css</name><source>local</source><sp_css display_value=\"animate.min.css\">5577f77fdb9dd300aa80d49fdf96195f</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:22:10</sys_created_on><sys_id>f767f77fdb9dd300aa80d49fdf961900</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_f767f77fdb9dd300aa80d49fdf961900</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:22:10</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1450193345</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>d95c959fdb50e300abd4f9361d9619df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bbf0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>animate.min.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>7d873b7f1d9dd30011ca1658ba9fe032</update_guid>\n<update_guid_history>7d873b7f1d9dd30011ca1658ba9fe032:1450193345</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_3327f37fdb9dd300aa80d49fdf961935</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>10</order><sp_dependency display_value=\"bn.core\">21f6737fdb9dd300aa80d49fdf9619ab</sp_dependency><sp_js_include display_value=\"bootstrap-notify.min.js\">0a07b37fdb9dd300aa80d49fdf9619b3</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:20:40</sys_created_on><sys_id>3327f37fdb9dd300aa80d49fdf961935</sys_id><sys_mod_count>1</sys_mod_count><sys_name>bn.core.bootstrap-notify.min.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3327f37fdb9dd300aa80d49fdf961935</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:20:55</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>759539425</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>dd5c119fdb50e300abd4f9361d9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391b820000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bn.core.bootstrap-notify.min.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>ab37377fcf9dd300ef13e072ef3be9f2</update_guid>\n<update_guid_history>ab37377fcf9dd300ef13e072ef3be9f2:759539425,7727f37f799dd300489d3ff9dab44336:633628529</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_dd973b7fdb9dd300aa80d49fdf961971</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>.bn-notify {&#13;\nposition: relative;&#13;\n}&#13;\n&#13;\n.bn-notify img {&#13;\n  height: auto;&#13;\n  width: 26px;&#13;\n}&#13;\n&#13;\n.bn-notify-badge-circle {&#13;\n  min-width: 18px;&#13;\n  min-height: 18px;&#13;\n  padding: 4px 0px;&#13;\n  font-size: 10px;&#13;\n  vertical-align: middle;&#13;\n  white-space: nowrap;&#13;\n  text-align: center;&#13;\n  border-radius: 9px;&#13;\n  background-color: #e80000;&#13;\n  &#13;\n  position: absolute;&#13;\n  top: 0px;&#13;\n  left: 15px;&#13;\n}</css><name>bnNotify</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-04-13 11:22:40</sys_created_on><sys_id>dd973b7fdb9dd300aa80d49fdf961971</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bnNotify</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_dd973b7fdb9dd300aa80d49fdf961971</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-04-13 11:22:40</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>1460890557</payload_hash>\n<remote_update_set display_value=\"Bootstrap Notify\">5d5c119fdb50e300abd4f9361d9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-09-07 13:55:30</sys_created_on>\n<sys_id>dd5c959fdb50e300abd4f9361d9619de</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b4391bd90000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-09-07 13:55:30</sys_updated_on>\n<table/>\n<target_name>bnNotify</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>55a73b7ffe9dd300a6ec566552d7a676</update_guid>\n<update_guid_history>55a73b7ffe9dd300a6ec566552d7a676:1460890557</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "notifications/pe-bootstrap-notify/ui-script/pe-bootstrap-notify.directive.u-client-script.js",
    "content": "(function(angular) {\n  var app = angular.module('bn.core');\n  app.directive('bnNotify', function() {\n    return {\n      restrict: 'E',\n      replace: true,\n      transclude: true,\n      scope: {\n        classes: '@',\n        demo: '@',\n        options: '@',\n        settings: '@',\n        broadcast: '@',\n        broadcastCount: '@',\n        count: '@'\n      },\n      controllerAs: 'bnNotifyCtrl',\n      controller: function($scope, $rootScope, $transclude) {\n        if (!$scope.broadcast) {$scope.broadcast = 'bn-notify-show';}\n        if (!$scope.broadcastCount) {$scope.broadcastCount = 'bn-notify-count';}\n        if (!$scope.count) {$scope.count = 0;}\n        else {$scope.count = parseInt($scope.count);}\n\n        if ($scope.demo)\n        {$scope.demo = $scope.demo == 'true' || $scope.demo == true;}\n\n        if (!$scope.options)\n        {$scope.options = {\n          title: '<strong>DEMO</strong>',\n          message:\n              'A notification pops communicating the last thing happened in the app.'\n        };}\n        else {$scope.options = JSON.parse(scope.options);}\n\n        if (!$scope.settings)\n        {$scope.settings = {\n          type: 'info',\n          delay: 1000,\n          z_index: 9999,\n          animate: {\n            enter: 'animated fadeInDown'\n          }\n        };}\n        else {$scope.settings = JSON.parse(scope.settings);}\n\n        $rootScope.$on($scope.broadcastCount, function(event, value) {\n          if (value) {$scope.count = value;}\n        });\n        $rootScope.$on($scope.broadcast, function(event, obj) {\n          if (obj && obj.options) {$scope.options = obj.options;}\n          if (obj && obj.settings) {$scope.settings = obj.settings;}\n          $scope.showNotification();\n        });\n\n        if ($scope.demo && $scope.demo == true) {\n          setTimeout(function() {\n            $scope.count = 1;\n            $scope.showNotification();\n          }, 1000);\n        }\n      },\n      link: function(scope) {\n        $(document).ready(function() {\n          scope.$watch(scope, function(newValues, oldValues, scope) {\n            scope.showNotification = function() {\n              $.notify(scope.options, scope.settings);\n            };\n          });\n        });\n      },\n      template:\n        '<div class=\"bn-notify {{classes}}\"><img src=\"notifications.svg\" /><span class=\"badge bn-notify-badge-circle\" ng-show=\"count>0\">{{count}}</span></div>'\n    };\n  });\n})(angular);\n"
  },
  {
    "path": "notifications/pe-bootstrap-notify/ui-script/pe-bootstrap-notify.module.u-client-script.js",
    "content": "(function(angular) {\n  angular.module('bn.core', []);\n})(angular);\n"
  },
  {
    "path": "notifications/pe-bootstrap-notify/widget/pe-bootstrap-notify.u-body-html-template.html",
    "content": "<div>\n  <div class=\"pull-right\">\n    <bn-notify demo=true></bn-notify>\n  </div>\n  <a class=\"btn btn-default\" ng-href=\"javascript:void(0)\" ng-click=\"c.start()\" role=\"button\">Notify through broadcasting</a>\n</div>\n"
  },
  {
    "path": "notifications/pe-bootstrap-notify/widget/pe-bootstrap-notify.u-client-script.js",
    "content": "function BootstrapNotifyController($rootScope) {\n  var c = this;\n\n  c.start = function() {\n    $rootScope.$broadcast('bn-notify-show');\n    $rootScope.$broadcast('bn-notify-count', 5);\n  };\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"service-portal-widget-library\",\n  \"version\": \"1.0.0\",\n  \"description\": \"A collection of Service Portal custom widgets\",\n  \"scripts\": {\n    \"build\": \"./scripts/build.sh\",\n    \"lint\": \"eslint .\",\n    \"test\": \"karma start karma.conf.js\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/platform-experience/serviceportal-widget-library.git\"\n  },\n  \"license\": \"ISC\",\n  \"homepage\": \"https://github.com/platform-experience/serviceportal-widget-library#readme\",\n  \"devDependencies\": {\n    \"angular\": \"^1.7.8\",\n    \"angular-mocks\": \"^1.7.8\",\n    \"editorconfig\": \"^0.15.3\",\n    \"eslint\": \"^6.5.1\",\n    \"jasmine-core\": \"^3.5.0\",\n    \"karma\": \"^4.3.0\",\n    \"karma-firefox-launcher\": \"^1.2.0\",\n    \"karma-jasmine\": \"^2.0.1\",\n    \"yarn\": \"^1.19.0\"\n  },\n  \"dependencies\": {\n    \"node\": \"^12.11.0\"\n  }\n}\n"
  },
  {
    "path": "pe-app-analytics/README.md",
    "content": "# App Analytics\n\n## Description\n\nThis widget is a single page app alternative to the out of the box Site Analytics\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-app-analytics.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-app-analytics/pe-appointment-scheduler.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"tracking_id\"** Google analytics tracking id. `Default: f6d234ecdb9e32002e5df2b6ae9619b8`\n\n**\"cookie_domain\"** Used to initialized GA. `Default: The result of the following JavaScript expression:\ndocument.location.hostname`\n\n**\"debug\"** if True, data won't be sent to google and it will be displayed on console. `Default: False`\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n> None\n\n"
  },
  {
    "path": "pe-app-analytics/pe-app-analytics.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-08-31 01:49:03\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>App Analytics</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>848efad373300300a5a580844ff6a777</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-08-31 01:49:03</sys_created_on>\n<sys_id>a8a683d773300300a5a580844ff6a7b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-08-31 01:49:03</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4a9e3ed373300300a5a580844ff6a733</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function AppAnalyticsController($scope) {\n\t/* widget controller */\n\tvar c = this;\n\tvar url = \"https://www.google-analytics.com/analytics.js\";\n\tvar gaObj = {\n\t\ttrackingId: c.options.gacode,\n\t\tcookieDomain: 'auto'\n\t};\n\n\tif (c.options.debug) {\n\t\turl = \"https://www.google-analytics.com/analytics_debug.js\";\n\t}\n\t\n\t\n\t(function (i, s, o, g, r, a, m) {\n\t\ti['GoogleAnalyticsObject'] = r;\n\t\ti[r] = i[r] || function () {\n\t\t\t(i[r].q = i[r].q || []).push(arguments)\n\t\t}, i[r].l = 1 * new Date();\n\t\ta = s.createElement(o),\n\t\t\tm = s.getElementsByTagName(o)[0];\n\t\ta.async = 1;\n\t\ta.src = g;\n\t\tm.parentNode.insertBefore(a, m)\n\t})(window, document, 'script', url, 'ga');\n\n\t\n\t\n\tif (c.options.debug) {\n\t\tga('set', 'sendHitTask', null);\n\t\twindow.ga_debug = {trace: true};\n\t}\n\n\tif ($scope.user) {\n\t\tgaObj.userId= $scope.user.user_name;\n\t}\n\tga('create', gaObj);\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-app-analytics&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;App Analytics&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"trackingid\",\"label\":\"Tracking ID\",\"type\":\"string\"},{\"name\":\"cookiedomain\",\"label\":\"Cookie Domain\",\"type\":\"string\"},{\"name\":\"debug\",\"default_value\":\"false\",\"label\":\"Debug\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-08-31 01:14:15&lt;/sys_created_on&gt;&lt;sys_id&gt;4a9e3ed373300300a5a580844ff6a733&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name&gt;App Analytics&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4a9e3ed373300300a5a580844ff6a733&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-31 01:47:59&lt;/sys_updated_on&gt;&lt;template/&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>340093534</payload_hash>\n<remote_update_set display_value=\"App Analytics\">a8a683d773300300a5a580844ff6a7b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-08-31 01:49:03</sys_created_on>\n<sys_id>eca683d773300300a5a580844ff6a7b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e35f938d20000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-08-31 01:49:03</sys_updated_on>\n<table/>\n<target_name>App Analytics</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>09664797753003009dfe3b7950a69fe6</update_guid>\n<update_guid_history>09664797753003009dfe3b7950a69fe6:340093534,88248b97d3300300137adb8b3ef7f8b9:1008705249,5ff38b97bf300300625fadb56f2410b3:-1417092072,0db38797d4300300dcf8ef1c40ccd257:-1629940219,8e4207976a30030034caf9ddfbd92b6b:845879894,d4328397573003007feaf009596fb7f4:-1716997503,4e22479770300300b8e364990a1ac300:-2118115830,b431c317ac300300aafe7e4c5fd194c5:-258697391,a0ee7ed3cd3003003fe3fbddaecd3a4c:-1376808242,a9ce7ed39c3003004e31ebd18454861f:-1744498357,c7ae3ad3373003002aeadd043ae64698:-913615663</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-app-analytics/widget/pe-app-analytics.u-client-script.js",
    "content": "function AppAnalyticsController($scope) {\n  /* widget controller */\n  var c = this;\n  var url = \"https://www.google-analytics.com/analytics.js\";\n  var gaObj = {\n    trackingId: c.options.gacode,\n    cookieDomain: 'auto'\n  };\n\n  if (c.options.debug) {\n    url = \"https://www.google-analytics.com/analytics_debug.js\";\n  }\n\n\n  (function (i, s, o, g, r, a, m) {\n    i['GoogleAnalyticsObject'] = r;\n    i[r] = i[r] || function () {\n      (i[r].q = i[r].q || []).push(arguments)\n    }, i[r].l = 1 * new Date();\n    a = s.createElement(o),\n      m = s.getElementsByTagName(o)[0];\n    a.async = 1;\n    a.src = g;\n    m.parentNode.insertBefore(a, m)\n  })(window, document, 'script', url, 'ga');\n\n\n  if (c.options.debug) {\n    ga('set', 'sendHitTask', null);\n    window.ga_debug = {trace: true};\n  }\n\n  if ($scope.user) {\n    gaObj.userId = $scope.user.user_name;\n  }\n  ga('create', gaObj);\n}"
  },
  {
    "path": "pe-appointment-list/README.md",
    "content": "# PE Appointment List\n\n## Description\n\nThis widget is used to display the appointments scheduled through widget **[PE Appointment Scheduling](https://github.com/platform-experience/serviceportal-widget-library/pe-appointment-scheduling)**.\n\n## Screenshot\n\n![PE appointment list](../images/pe-appointment-list.png)\n\n## Additional Information/Notes\n\n\n## Installation\n\nDownload and install update set in **[PE Appointment Scheduling](https://sc.service-now.com/snds?state=widget-detail&sys_id=612ff60adbbc6f403eb8f4bbaf96190a)**\n\nAfter installation, **Appointment List** can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description |\n| :--- | :--- |\n| `Title` | Give the widget a Title that will appear above the widget. |\n| `Task Appointment Definition` | Set the Task Appointment record to use from step 1. |\n| `Show short description` | If you would like to collect Short Description when creating appointments, check the applicable box(s). |\n| `Show location` | If you would like to collect Location info when creating appointments, check the applicable box(s). |\n\n\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies\n\n* [PE Appointment Scheduling](https://sc.service-now.com/snds?state=widget-detail&sys_id=612ff60adbbc6f403eb8f4bbaf96190a)\n\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n**`$icon-color`**\n\n"
  },
  {
    "path": "pe-appointment-list/widget/pe-appointment-list.u-body-html-template.html",
    "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none;\">\n  <symbol id='icon-trash' width=\"20\" height=\"22\" viewBox=\"0 0 20 22\">\n    <g fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n      <path d=\"M3.083 3.917h13.333v16.667H3.083zM6.417 1.417h6.667v2.5H6.417zM1 3.917h18.333M6.417 6.833v10M9.75 6.833v10M13.083 6.833v10\"/>\n    </g>\n  </symbol>\n</svg>\n\t<div class=\"upcoming-appointments\">\n            <div class='col-xs-12'>\n                <div class='ghost-container'>\n                    <div class='appt-title'>{{c.options.title}}</div>\n                </div>\n                <div class='ghost-container' ng-show=\"c.noAppointments\">\n                    <div class='appt-subtitle'>You have no scheduled appointments.</div>\n                </div>\n                <div class='ghost-container'>\n                    <div class='appt-container' ng-repeat='item in c.currentUserAppointments track by $index'>\n                        <div class='appt-box' ng-show='c.toggleDelete[item.sys_id].show'>\n                            <div class='appt-when'>\n                                <div class='appt-weekday'>{{item.weekday}}</div>\n                                <div class='appt-datetime'>{{item.day}}</div>\n                            </div>\n                            <div class='appt-where-location' ng-if=\"c.options.show_location == 'true'\">\n                                <div class='appt-site'>{{item.location_name}}</div>\n                                <div class='appt-datetime'>{{item.time}}</div>\n                            </div>\n                            <div class='appt-where-time' ng-if=\"c.options.show_location != 'true'\">\n                                <div class='appt-datetime'>{{item.time}}</div>\n                            </div>\n                             <div class='appt-short-description' ng-if=\"c.options.show_short_description == 'true'\">\n                                <div class='appt-short-description-font'>{{item.short_description}}</div>\n                            </div>\n                            <div class='appt-tools'>\n\n                                    <svg class=\"appt-icon\" ng-click='c.removeAppt(item.sys_id)'>\n                                    <use xlink:href='#icon-trash'></use>\n                                    </svg>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class='row appt-box appt-delete' ng-show='c.toggleDelete[item.sys_id].confirm'>\n   \t\t\t\t\t\t<div class='col-xs-12 text-center'>\n                <input type='button' class='btn btn-cancel' value='CANCEL' ng-click='c.cancelAppt(item.sys_id)' />\n                <input type='button' class='btn btn-delete' value='YES, DELETE!' ng-click='c.deleteAppt(item.sys_id)' />\n   \t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t</div>\n\t</div>\n</div>\n\n\n</div>"
  },
  {
    "path": "pe-appointment-list/widget/pe-appointment-list.u-client-script.js",
    "content": "function appointmentList($rootScope, $timeout, $scope, $window, spUtil) {\n    var c = this;\n\n    c.$onInit = function () {\n        $scope.userID = $scope.user.sys_id;\n        c.toggleDelete = {};\n        c.noAppointments = false;\n        c.removeAppt = removeAppt;\n        c.cancelAppt = cancelAppt;\n        c.deleteAppt = deleteAppt;\n        c.parseDateTime = parseDateTime;\n        getCurrentAppointments();\n    };\n\n    function removeAppt(sys_id) {\n        c.toggleDelete[sys_id].confirm = true;\n        c.toggleDelete[sys_id].show = false;\n    }\n\n    function cancelAppt(sys_id) {\n        c.toggleDelete[sys_id].confirm = false;\n        c.toggleDelete[sys_id].show = true;\n    }\n\n    function deleteAppt(sys_id) {\n\n        c.server.get({\n            action: 'deleteTimeSlot',\n            taskSysid: sys_id\n        }).then(function (response) {\n            c.toggleDelete[sys_id].confirm = false;\n            c.toggleDelete[sys_id].show = false;\n            getCurrentAppointments();\n        });\n\n    }\n\n    function parseDateTime(slotTime, type) {\n        var dt = slotTime.split(\" \")[0];\n        var time = slotTime.split(\" \")[1].split(\":\");\n        var parsed = [4];\n\n        //Date\n        parsed[0] = moment(dt).format(\"dddd, MMMM D YYYY\");\n\n        //Time\n        if (time[0] > 12) {\n            parsed[1] = (time[0] - 12) + \":\" + time[1] + \"PM\";\n        } else {\n            parsed[1] = time[0] + \":\" + time[1] + \"AM\";\n        }\n        if (parsed[1].split(\"\")[0] === \"0\") {\n            parsed[1] = parsed[1].substring(1, parsed[1].length);\n        }\n\n        //Day of Week\n        parsed[2] = moment(dt).format(\"ddd\");\n\n        //Short Date (no year)\n        parsed[3] = moment(dt).format(\"MMM D\");\n\n        return parsed[type];\n    }\n\n\n    $rootScope.$on('appointmentCreated', function (event, data) {\n        getCurrentAppointments();\n    });\n\n    function getCurrentAppointments() {\n        c.server.get({\n            action: 'getCurrentAppointments'\n        }).then(function (response) {\n            if (JSON.parse(response.data.currentAppointments).length > 0) {\n                c.currentUserAppointments = processTheTimes(JSON.parse(response.data.currentAppointments));\n                c.noAppointments = false;\n            } else {\n                c.noAppointments = true;\n            }\n        });\n    }\n\n    function processTheTimes(appointments) {\n        for (var i = 0; i < appointments.length; i++) {\n            appointments[i].work_in = moment(appointments[i].work_start).fromNow();\n            appointments[i].today = (moment().diff(appointments[i].work_start, 'days') === 0);\n            if (appointments[i].duration > 0) {\n                appointments[i].duration = Math.floor(appointments[i].duration / 60);\n            }\n\n            appointments[i].time = c.parseDateTime(appointments[i].work_start, 1)\n            appointments[i].weekday = c.parseDateTime(appointments[i].work_start, 2)\n            appointments[i].day = c.parseDateTime(appointments[i].work_start, 3)\n            c.toggleDelete[appointments[i].sys_id] = {\n                confirm: false,\n                show: true\n            };\n        }\n        return appointments;\n    }\n}"
  },
  {
    "path": "pe-appointment-list/widget/pe-appointment-list.u-css.scss",
    "content": "$brand-primary:#4b8cfb !default;\n$icon-color:red;\n.bg-darkblue {\n    margin-bottom: 10px;\n}\n\n.upcoming-appointments {\n    background: #fff;\n    width: 100%;\n    overflow: hidden;\n    margin-top: 15px;\n    margin-bottom: 15px;\n}\n\n.ghost-container {\n    margin: 0 auto;\n    background-color: transparent;\n    position: relative;\n}\n\n.no-slots {\n    margin: 0 auto;\n    margin-top: 10px;\n    color: #FB4B4B;\n    text-align: center;\n}\n\n.appt-title {\n    font-weight: 300;\n    margin-top: 15px;\n    margin-left: 5px;\n    margin-bottom: 10px;\n    font-size: 24px;\n    line-height: 1;\n    color: $bam-darkblue;\n    @media (max-width: 375px) {}\n    @media (max-width: 320px) {\n        width: 285px;\n    }\n}\n\n.appt-subtitle {\n    font-size: 16px;\n    font-weight: 400;\n    line-height: 1.25;\n    color: $bam-dark-gray;\n    margin-left: 5px;\n    margin-bottom: 40px;\n    @media (max-width: 320px) {\n        width: 285px;\n    }\n}\n\n.btn.btn-primary {\n    margin: 0 auto !important;\n    @include border-radius(6px);\n    background-color: $bam-blue;\n    color: $bam-white;\n    border-color: transparent;\n    width: 325px;\n    height: 50px;\n    display: block;\n    font-size: 16px;\n    font-weight: 400;\n    @media (max-width: 375px) {\n        margin-left: 0px;\n    }\n    @media (max-width: 320px) {\n        width: 285px;\n    }\n}\n\n.container-appts {\n    margin: 0;\n    background-color: transparent;\n    width: 100%;\n    margin-top: 20px;\n}\n\n.appts {\n    font-size: 14px;\n    color: $bam-blue;\n}\n\n.appt-container {\n    color: #676767;\n    background-color: transparent;\n    margin: 0 auto;\n    margin-top: 20px;\n    margin-bottom: 20px;\n    padding: 0px;\n}\n\n.appt-box {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    border-radius: 4px;\n    min-height: 79px;\n    background-color: #fff;\n    padding: 0px;\n    border: solid 1px #dfdfdf;\n    margin-left: 0px;\n    font-size: 16px;\n}\n\n.appt-delete {\n    line-height: 72px;\n}\n\n.appt-site {\n    display: block;\n    font-weight: 500;\n}\n\n.padding-override {\n    padding: 0px;\n}\n\n.appt-when {\n    display: inline-block;\n    padding: 0 20px;\n    width: 15%;\n}\n\n.appt-where-location {\n    width: 35%;\n    text-align: left;\n    display: inline-block;\n}\n\n.appt-where-time {\n    width: 15%;\n    text-align: left;\n    display: inline-block;\n}\n\n.appt-short-description {\n    width: 35%;\n    text-align: left;\n    display: inline-block;\n    @media (max-width: 414px) {\n        display: none;\n    }\n}\n\n.appt-tools {\n    display: inline-block;\n}\n\n.appt-datetime {\n    display: block;\n    font-weight: 300;\n    text-transform: uppercase;\n    font-size: 14px;\n    width: 45px;\n}\n\n.appt-short-description-font {\n    display: block;\n    font-weight: 300;\n    font-size: 14px;\n}\n\n.appt-weekday {\n    display: block;\n    text-transform: uppercase;\n    font-weight: 500;\n    width: 40px;\n}\n\n.appt-icon {\n    margin: 0 auto;\n    margin-top: 5px;\n    margin-right: 15px;\n    object-fit: contain;\n    height: 22px;\n    width: 22px;\n    stroke: $icon-color;\n}\n\n.btn-cancel {\n    background-color: transparent;\n    width: 87px;\n    height: 30px;\n    font-size: 12px;\n    font-weight: 500;\n    text-align: center;\n    color: #676767;\n    border-radius: 4px;\n    border: solid 2px #dfdfdf;\n    margin-left: 20px;\n    margin-right: 20px;\n}\n\n.btn-delete {\n    background-color: transparent;\n    width: 114px;\n    height: 30px;\n    font-size: 12px;\n    font-weight: 500;\n    text-align: center;\n    color: $brand-primary;\n    border-radius: 4px;\n    border: solid 2px $brand-primary;\n}"
  },
  {
    "path": "pe-appointment-list/widget/pe-appointment-list.u-server-script.js",
    "content": "// populate the 'data' variable with catalog item, variables, and variable view\n(function() {\n    if (input) {\n        if (input.action == 'getCurrentAppointments') {\n            data.currentAppointments = new global.TaskAppointmentUtils().getUserAppointments(options.task_appointment);\n        }\n        if (input.action == 'deleteTimeSlot') {\n            data.deleted = new global.TaskAppointmentUtils().removeAppointment(options.task_appointment, input.taskSysid);\n        }\n    }\n})();"
  },
  {
    "path": "pe-appointment-scheduler/README.md",
    "content": "# Appointment Scheduler\n\n## Description\n\nThis widget can be used to provide to the user a stylish way to arrange an appointment.\n\n## Screenshots\n![alt text](../images/pe-appointment-scheduler-01.png \"Appointment Scheduler - Day selection\")\n![alt text](../images/pe-appointment-scheduler-02.png \"Appointment Scheduler - Time selection\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-appointment-scheduler.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-appointment-scheduler/pe-appointment-scheduler.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal styles configuration to make it easy to customize and extend.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-appointment-scheduler/pe-appointment-scheduler.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-03 12:45:31\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-appointment-scheduler.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>8bc4a56cdbf7b2004e5cfa131f9619b0</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>3117a160db3bb2004e5cfa131f96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_3ddfcd6cdbb7b2004e5cfa131f9619f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Appointment Scheduler Title</application><key>NDL Appointment Scheduler Afternoon</key><language>en</language><message>Adternoon</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:04:09</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3ddfcd6cdbb7b2004e5cfa131f9619f6</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Appointment Scheduler Afternoon</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_3ddfcd6cdbb7b2004e5cfa131f9619f6</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 12:43:06</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-2122758758</payload_hash>\n<remote_update_set display_value=\"pe-appointment-scheduler.u-update-set.xml\">3117a160db3bb2004e5cfa131f96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>3117a160db3bb2004e5cfa131f961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0879cc310000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<table/>\n<target_name>NDL Appointment Scheduler Afternoon</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>12862d20ce3bb20016d6ce09f6795f90</update_guid>\n<update_guid_history>12862d20ce3bb20016d6ce09f6795f90:-2122758758,d5862d20663bb2008c0c0f0f0745ed8c:-1282973016,45ef01ac58b7b200e4bd3789cb63457b:-2122758758</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_30ea0168dbb7b2004e5cfa131f96195b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function AppointmentScheduler() {\n\n  var c = this;\n\n  c.morningTimes = [\"9:00 AM - 12:00 PM\"];\n  c.afternoonTimes = [\"1:00 PM - 4:00 PM\", \"2:00 PM - 5:00 PM\", \"3:00 PM - 6:00 PM\"];\n  c.eveningTimes = [\"4:00 PM - 7:00 PM\", \"5:00 PM - 8:00 PM\"];\n  c.lateTimes = [\"6:00 PM - 9:00 PM\"];\n\n  c.daysArray = [];\n  var dayWord = '';\n  var dayNumber = '';\n  var monthWord = '';\n\n  for (var i = 0; i &lt; 180; i++) {\n    dayWord = moment().add(i, \"days\").format(\"ddd\");\n    dayNumber = moment().add(i, \"days\").format(\"D\");\n    monthWord = moment().add(i, \"days\").format(\"MMM\");\n    c.daysArray.push({\n      \"dayWord\": dayWord,\n      \"dayNumber\": dayNumber,\n      \"monthWord\": monthWord\n    });\n  }\n\n  c.select = function (index, number, word) {\n    c.selected = index;\n    c.selectedNumber = number;\n    c.selectedWord = word;\n    $('#timeSplash').addClass('hidden');\n    $('#timeSection').removeClass('hidden');\n  };\n\n  c.confirmMorning = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'mo' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n  c.confirmAfternoon = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'af' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n  c.confirmEvening = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'ev' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n  c.confirmLate = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'la' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;h4 {\n  margin-top: 0;\n}\n\n.invisible {\n  display: none;\n}\n\na.icon-prev {\n  top: 118px;\n}\n\na.icon-next {\n  top: -60px\n}\n\ndiv.day-selector {\n  color: #fff;\n  text-transform: uppercase;\n  overflow: auto;\n  text-align: center;\n  white-space: nowrap;\n  margin-top: -1px;\n}\n\ndiv.day-selector a {\n  display: inline-block;\n  color: #fff;\n  text-align: center;\n  padding: 15px;\n  text-decoration: none;\n}\n\ndiv.day-selector-background {\n  margin: 0 -15px;\n  background-color: $brand-primary;\n  border: none;\n  -webkit-overflow-scrolling: touch;\n}\n\n.sel {\n  background-color: $gray-lighter;\n  color: $brand-primary !important;\n}\n\n.glyphicon.glyphicon-calendar {\n  font-size: 150px;\n}\n\na.list-group-item {\n  border: none;\n}\n\na.list-center-text {\n  text-align: center;\n}\n\ndiv.list-header-text {\n  text-transform: uppercase;\n  font-weight: 600;\n  text-align: center;\n  border: none;\n}\n\ndiv.confirm-btn {\n  padding-bottom: 20px;\n}\n\na.active {\n  background-color: $brand-primary !important;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;appointment-scheduler&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Appointment Scheduler&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-03 10:45:34&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;30ea0168dbb7b2004e5cfa131f96195b&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;Appointment Scheduler&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_30ea0168dbb7b2004e5cfa131f96195b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 12:44:32&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"inner-page\"&gt;\n\n  &lt;div class=\"navbar navbar-default day-selector-background\"&gt;\n    &lt;div class=\"day-selector\"&gt;\n      &lt;a href=\"javascript:void(0)\" ng-repeat=\"i in c.daysArray\" ng-click=\"c.select($index,i.dayNumber,i.dayWord)\" ng-class=\"{'sel': $index == c.selected}\"&gt;\n        &lt;h4&gt;{{i.dayWord}}&lt;br&gt;&lt;/h4&gt;\n        {{i.dayNumber}}\n      &lt;/a&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div id=\"timeSplash\" class=\"time-section time-splash-screen\"&gt;\n    &lt;h3 class=\"text-center\"&gt;${NDL Appointment Scheduler Title}&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;span class=\"glyphicon glyphicon-calendar\"&gt;&lt;/span&gt;&lt;/h3&gt;\n  &lt;/div&gt;\n\n  &lt;div id=\"timeSection\" class=\"time-section hidden\"&gt;\n\n    &lt;div class=\"list-group\"&gt;\n      &lt;div class=\"list-group-item list-center-text list-header-text\"&gt;\n        ${NDL Appointment Scheduler Morning}\n      &lt;/div&gt;\n      &lt;a href=\"javascript:void(0)\" ng-repeat=\"i in c.morningTimes\" ng-click=\"c.confirmMorning($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'mo' + $index == c.timeSelected}\"&gt;\n                {{i}}\n            &lt;/a&gt;\n    &lt;/div&gt;\n\n    &lt;hr&gt;\n\n    &lt;div class=\"list-group\"&gt;\n      &lt;div class=\"list-group-item list-center-text list-header-text\"&gt;\n        ${NDL Appointment Scheduler Afternoon}\n      &lt;/div&gt;\n      &lt;a href=\"javascript:void(0)\" ng-repeat=\"i in c.afternoonTimes\" ng-click=\"c.confirmAfternoon($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'af' + $index == c.timeSelected}\"&gt;\n                {{i}}\n            &lt;/a&gt;\n    &lt;/div&gt;\n\n    &lt;hr&gt;\n\n    &lt;div class=\"list-group\"&gt;\n      &lt;div class=\"list-group-item list-center-text list-header-text\"&gt;\n        ${NDL Appointment Scheduler Evening}\n      &lt;/div&gt;\n      &lt;a href=\"javascript:void(0)\" ng-repeat=\"i in c.eveningTimes\" ng-click=\"c.confirmEvening($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'ev' + $index == c.timeSelected}\"&gt;\n                {{i}}\n            &lt;/a&gt;\n    &lt;/div&gt;\n\n    &lt;hr&gt;\n\n    &lt;div class=\"list-group\"&gt;\n      &lt;div class=\"list-group-item list-center-text list-header-text\"&gt;\n        ${NDL Appointment Scheduler Late Evening}\n      &lt;/div&gt;\n      &lt;a href=\"javascript:void(0)\" ng-repeat=\"i in c.lateTimes\" ng-click=\"c.confirmLate($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'la' + $index == c.timeSelected}\"&gt;\n                {{i}}\n            &lt;/a&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>166864057</payload_hash>\n<remote_update_set display_value=\"pe-appointment-scheduler.u-update-set.xml\">3117a160db3bb2004e5cfa131f96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>7517a160db3bb2004e5cfa131f96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d087b1c090000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<table/>\n<target_name>Appointment Scheduler</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>97d62160d23bb2004203746ea75da199</update_guid>\n<update_guid_history>97d62160d23bb2004203746ea75da199:166864057,82d62160003bb200f1f71444f8027f94:11617313,82b219204df7b200dcbff19e328a499d:166864057,c4b291a0177fb200f4be211eb2a1ea13:-211680371,b4a291ec89b7b200adf34a58305d6e8b:-1517993715,1ff11960807fb20079830e3e0c680760:-374014067,c8c19dac39b7b2002cb2ef7872beb635:-1674241070,82a091ec9ab7b200a5eae2f490129282:-912060347,27801d2cf8b7b2006e1314da11968442:1401017825,58609d60357fb200138e87181665abb4:1924414562,b140d120457fb20004f4bcaddf824463:269868894,06bf8d6cc7b7b200bab67a65ec12290d:1310694414,1eee0d2cb2b7b2002426997eee8d0b3a:431356208,d4ee0560567fb20031dabcd51254de27:769943249,4cde8de8d0b7b200bf6a8170471acd26:-322186464,1c4e49a84ab7b200adbcad003fdfc6c2:-820151694,5e2c85a869b7b200b0376d7f6fa91a0a:-464933211,670c0d6817b7b2007891349f3c2fd8bd:-555911921,810c0decd83fb2008a2af00a067292f1:-244359795,25fb4928cab7b200234c6996ba94be81:-1618623547,9beb492835b7b2008ea4fe889e54187d:-1627347475,a7db8dec983fb200dddfb9c68b22154c:-236828785,f0ab0d2811b7b20036e791e50ba791db:-950229347</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_790091acdbb7b2004e5cfa131f961977</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Appointment Scheduler</application><key>NDL Appointment Scheduler Late Evening</key><language>en</language><message>Late Evening</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:05:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>790091acdbb7b2004e5cfa131f961977</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Appointment Scheduler Late Evening</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_790091acdbb7b2004e5cfa131f961977</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 12:42:48</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1304825804</payload_hash>\n<remote_update_set display_value=\"pe-appointment-scheduler.u-update-set.xml\">3117a160db3bb2004e5cfa131f96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>7917a160db3bb2004e5cfa131f961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d087987170000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<table/>\n<target_name>NDL Appointment Scheduler Late Evening</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>06762d20483bb200e0d92edf00f15f58</update_guid>\n<update_guid_history>06762d20483bb200e0d92edf00f15f58:-1304825804,b476e520303bb200e83a90576e4f41c2:969241639,1a1091ac1eb7b200f7d2a47677545d7b:-1304825804</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_11cf8d6cdbb7b2004e5cfa131f9619e3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Appointment Scheduler</application><key>NDL Appointment Scheduler Morning</key><language>en</language><message>Morning</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:03:53</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>11cf8d6cdbb7b2004e5cfa131f9619e3</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Appointment Scheduler Morning</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_11cf8d6cdbb7b2004e5cfa131f9619e3</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 12:43:15</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1865097220</payload_hash>\n<remote_update_set display_value=\"pe-appointment-scheduler.u-update-set.xml\">3117a160db3bb2004e5cfa131f96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>7d17a160db3bb2004e5cfa131f96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0879eef00000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<table/>\n<target_name>NDL Appointment Scheduler Morning</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>e896e920863bb200271cb1f08cf39ae1</update_guid>\n<update_guid_history>e896e920863bb200271cb1f08cf39ae1:-1865097220,5b862d20cf3bb2009398057c60666d93:2072379357,cddf8d6c21b7b2008ebc5ae396c047e6:-1865097220</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_4aef01acdbb7b2004e5cfa131f9619dc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Appointment Scheduler</application><key>NDL Appointment Scheduler Evening</key><language>en</language><message>Evening</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:04:42</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>4aef01acdbb7b2004e5cfa131f9619dc</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Appointment Scheduler Evening</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_4aef01acdbb7b2004e5cfa131f9619dc</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 12:42:57</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>150579768</payload_hash>\n<remote_update_set display_value=\"pe-appointment-scheduler.u-update-set.xml\">3117a160db3bb2004e5cfa131f96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>b517a160db3bb2004e5cfa131f961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0879a9fc0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<table/>\n<target_name>NDL Appointment Scheduler Evening</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>d0862d20fb3bb200f6598ae3e003085d</update_guid>\n<update_guid_history>d0862d20fb3bb200f6598ae3e003085d:150579768,83762d20983bb2006ebbf8df602e437f:-2088863975,34005d6cccb7b2009f2f50bbf586978d:150579768</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_478fc92cdbb7b2004e5cfa131f961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Appointment Scheduler</application><key>NDL Appointment Scheduler Title</key><language>en</language><message>Choose a date above to see available times</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:03:08</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>478fc92cdbb7b2004e5cfa131f961981</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Appointment Scheduler Title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_478fc92cdbb7b2004e5cfa131f961981</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 12:43:28</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>232022382</payload_hash>\n<remote_update_set display_value=\"pe-appointment-scheduler.u-update-set.xml\">3117a160db3bb2004e5cfa131f96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 12:45:31</sys_created_on>\n<sys_id>f117a160db3bb2004e5cfa131f961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d087a22120000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 12:45:31</sys_updated_on>\n<table/>\n<target_name>NDL Appointment Scheduler Title</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>bf962d20993bb200d1b19a0f72e4e187</update_guid>\n<update_guid_history>bf962d20993bb200d1b19a0f72e4e187:232022382,a296e920f53bb200a483d682a95a5be6:-1411035721,4aafcde8f2b7b20062712db8ad767a53:232022382</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-appointment-scheduler/widget/pe-appointment-scheduler.u-body-html-template.html",
    "content": "<div class=\"inner-page\">\n\n  <div class=\"navbar navbar-default day-selector-background\">\n    <div class=\"day-selector\">\n      <a href=\"javascript:void(0)\" ng-repeat=\"i in c.daysArray\" ng-click=\"c.select($index,i.dayNumber,i.dayWord)\" ng-class=\"{'sel': $index == c.selected}\">\n        <h4>{{i.dayWord}}<br></h4>\n        {{i.dayNumber}}\n      </a>\n    </div>\n  </div>\n\n  <div id=\"timeSplash\" class=\"time-section time-splash-screen\">\n    <h3 class=\"text-center\">${NDL Appointment Scheduler Title}<br><br><br><span class=\"glyphicon glyphicon-calendar\"></span></h3>\n  </div>\n\n  <div id=\"timeSection\" class=\"time-section hidden\">\n\n    <div class=\"list-group\">\n      <div class=\"list-group-item list-center-text list-header-text\">\n        ${NDL Appointment Scheduler Morning}\n      </div>\n      <a href=\"javascript:void(0)\" ng-repeat=\"i in c.morningTimes\" ng-click=\"c.confirmMorning($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'mo' + $index == c.timeSelected}\">\n                {{i}}\n            </a>\n    </div>\n\n    <hr>\n\n    <div class=\"list-group\">\n      <div class=\"list-group-item list-center-text list-header-text\">\n        ${NDL Appointment Scheduler Afternoon}\n      </div>\n      <a href=\"javascript:void(0)\" ng-repeat=\"i in c.afternoonTimes\" ng-click=\"c.confirmAfternoon($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'af' + $index == c.timeSelected}\">\n                {{i}}\n            </a>\n    </div>\n\n    <hr>\n\n    <div class=\"list-group\">\n      <div class=\"list-group-item list-center-text list-header-text\">\n        ${NDL Appointment Scheduler Evening}\n      </div>\n      <a href=\"javascript:void(0)\" ng-repeat=\"i in c.eveningTimes\" ng-click=\"c.confirmEvening($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'ev' + $index == c.timeSelected}\">\n                {{i}}\n            </a>\n    </div>\n\n    <hr>\n\n    <div class=\"list-group\">\n      <div class=\"list-group-item list-center-text list-header-text\">\n        ${NDL Appointment Scheduler Late Evening}\n      </div>\n      <a href=\"javascript:void(0)\" ng-repeat=\"i in c.lateTimes\" ng-click=\"c.confirmLate($index,i)\" class=\"list-group-item list-center-text inactive\"\n        ng-class=\"{'active': 'la' + $index == c.timeSelected}\">\n                {{i}}\n            </a>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-appointment-scheduler/widget/pe-appointment-scheduler.u-client-script.js",
    "content": "function AppointmentScheduler() {\n\n  var c = this;\n\n  c.morningTimes = [\"9:00 AM - 12:00 PM\"];\n  c.afternoonTimes = [\"1:00 PM - 4:00 PM\", \"2:00 PM - 5:00 PM\", \"3:00 PM - 6:00 PM\"];\n  c.eveningTimes = [\"4:00 PM - 7:00 PM\", \"5:00 PM - 8:00 PM\"];\n  c.lateTimes = [\"6:00 PM - 9:00 PM\"];\n\n  c.daysArray = [];\n  var dayWord = '';\n  var dayNumber = '';\n  var monthWord = '';\n\n  for (var i = 0; i < 180; i++) {\n    dayWord = moment().add(i, \"days\").format(\"ddd\");\n    dayNumber = moment().add(i, \"days\").format(\"D\");\n    monthWord = moment().add(i, \"days\").format(\"MMM\");\n    c.daysArray.push({\n      \"dayWord\": dayWord,\n      \"dayNumber\": dayNumber,\n      \"monthWord\": monthWord\n    });\n  }\n\n  c.select = function (index, number, word) {\n    c.selected = index;\n    c.selectedNumber = number;\n    c.selectedWord = word;\n    $('#timeSplash').addClass('hidden');\n    $('#timeSection').removeClass('hidden');\n  };\n\n  c.confirmMorning = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'mo' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n  c.confirmAfternoon = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'af' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n  c.confirmEvening = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'ev' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n  c.confirmLate = function (index, time) {\n    c.selectedTime = time;\n    c.timeSelected = 'la' + index;\n    $('div.confirm-btn').removeClass('invisible');\n  };\n\n}"
  },
  {
    "path": "pe-appointment-scheduler/widget/pe-appointment-scheduler.u-css.scss",
    "content": "h4 {\n  margin-top: 0;\n}\n\n.invisible {\n  display: none;\n}\n\na.icon-prev {\n  top: 118px;\n}\n\na.icon-next {\n  top: -60px\n}\n\ndiv.day-selector {\n  color: #fff;\n  text-transform: uppercase;\n  overflow: auto;\n  text-align: center;\n  white-space: nowrap;\n  margin-top: -1px;\n}\n\ndiv.day-selector a {\n  display: inline-block;\n  color: #fff;\n  text-align: center;\n  padding: 15px;\n  text-decoration: none;\n}\n\ndiv.day-selector-background {\n  margin: 0 -15px;\n  background-color: $brand-primary;\n  border: none;\n  -webkit-overflow-scrolling: touch;\n}\n\n.sel {\n  background-color: $gray-lighter;\n  color: $brand-primary !important;\n}\n\n.glyphicon.glyphicon-calendar {\n  font-size: 150px;\n}\n\na.list-group-item {\n  border: none;\n}\n\na.list-center-text {\n  text-align: center;\n}\n\ndiv.list-header-text {\n  text-transform: uppercase;\n  font-weight: 600;\n  text-align: center;\n  border: none;\n}\n\ndiv.confirm-btn {\n  padding-bottom: 20px;\n}\n\na.active {\n  background-color: $brand-primary !important;\n}"
  },
  {
    "path": "pe-appointment-scheduling/README.md",
    "content": "# PE Appointment Scheduling\n\n## Description\n\nThis provides a \"no-code\" solution of defining how appointments should be scheduled and Service Portal widgets to allow users to schedule new appointments and view their existing appointments.\n\n## Screenshot\n\n![PE appointment](../images/pe-appointment-1.png)\n\n## Additional Information/Notes\n\nThe ServiceNow platform offers several features that make this solution possible:\n\n* **Feature Rich Task Table:**\nThe task table is the base table for most applications within ServiceNow.   Incident, Problem, Change, Case, etc all extend Task.This table includes common attributes for any type of task/case and extending it speeds up development time and it brings many features along with it such as SLAs, On-Call Scheduling, etc.\nThe task table includes Start and End attributes that various applications leverage for the scheduling of work.   Because of this, this Task Appointment Scheduling solution can be applied to any application within your instance that extends the task table.\n\n* **Service Portal:**\nThe Service Portal, introduced in the Helsinki release, has brought a whole new dynamic of creating responsive and feature rich UI's that improves the usability of ServiceNow.\nUsing AnjularJS and Bootstrap, reusable widgets can be created that can be easily leveraged on any page within your Service Portals.\nThe Service Portal widget is reusable in that each instance of the widget is tied to Task Appointment Definition record.   So you could have two widgets on a page where one creates an Incident appointment while another one creates a Change appointment.\n\nThis Task based solution that allows you to:\n\n* Define a schedule for accepting appointments and a duration of time for each appointment\n* Set which Task table to use to store the appointments.   This can be any table that extends task, including out of the box tables like Incident, Problem, Change, Case, etc, or any custom table.\n* Set how many concurrent appointments that can be scheduled before marking an appointment time unavailable.   Default is 1.\n* Set template values that will be applied when the appointment record is created.\n* Set the style of how you want the available appointments to be presented within the Service Portal:\n\n**Timecard View**\n\n![PE appointment](../images/pe-appointment-dropdown.png)\n\n**Chicklet View**\n\n![PE appointment](../images/pe-appointment-chiclet.png)\n\n**Dropdown view**\n\n![PE appointment](../images/pe-appointment-dropdown.png)\n\n## Installation\n\nDownload and install update set **[pe-appointment.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-appointment-scheduling/pe-appointment.u-update-set.xml)**\n\n\n\nAfter installation, 2 new widgets **Appointment Scheduling** and **[Appointment List](https://sc.service-now.com/snds?state=widget-detail&sys_id=012fb60adbbc6f403eb8f4bbaf9619f1)** can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n\nAfter committing the update set, Navigate to Task Appointments\\Task Appointments and click New.\n\n![PE appointment](../images/pe-appointment-scheduling-setup1.png)\n\n* Give it a name\n* Set the schedule for the time frame that you wish to accept appointments and the duration of the appointments.   You may need to create a new schedule if you don't already have one defined that matches the appointment schedule.\n* Optionally set the New Appointment Lead Time if you prefer to set a buffer on when the next available appointment can be scheduled.  For example if you set this value to 1 hour, the next available slot will be one hour from the current time assuming it is available.\n* Optionally set a group you wish to route the appointments to and set the number of concurrent appointments this group can accept.   You can also set the group in the Task Values instead.   The task values will override the value set in the Group field.\n* Set the Task table used to store the appointment records\n* Use the Task Values template field to set any other fields in the task record such as short description, assignment group, category, etc which is applied as an appointment is created.\n* Click Submit.\n\n### Widget Option Schema\n\n| Option | Description |\n| :--- | :--- |\n| `Title` | Give the widget a Title that will appear above the widget. |\n| `Task Appointment Definition` | Set the Task Appointment record to use from step 1. |\n| `Layout Options` | Choose the layout of how you want to display the available appointments.   See a screenshot of the options above. |\n| `Allow Reminders` | Set whether you wish to allow reminders to be sent prior to an appointment |\n| `Maximum avialable dates` | Set the maximum number of days out that you wish to allow appointments.   Default is 30 days |\n| `Show description` |If you would like to collect Description when creating appointments, check the applicable box(s). |\n| `Show short description` | If you would like to collect Short Description when creating appointments, check the applicable box(s). |\n| `Show location` | If you would like to collect Location info when creating appointments, check the applicable box(s). |\n\n\n**As mentioned earlier, [Appointment List](https://sc.service-now.com/snds?state=widget-detail&sys_id=012fb60adbbc6f403eb8f4bbaf9619f1) is part of the update set already. This shows the list of appointments, if you have any**\n\n## Platform Dependencies\n\n### SN System Tables\n\n> Task\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies\n\n* [PE Appointment List](https://sc.service-now.com/snds?state=widget-detail&sys_id=012fb60adbbc6f403eb8f4bbaf9619f1)\n\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n**`$time-slot-text`**\n\n**`$time-slot-bg`**\n"
  },
  {
    "path": "pe-appointment-scheduling/pe-appointment.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-08-22 19:30:16\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Task Appointments is a front end to presenting time slots for task records.  A definition record defines the group and template used to create an appointment for a particular group based a schedule.</description>\n<inserted/>\n<name>Task Appointments v1.8</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date>2017-08-09 12:00:00</release_date>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>f2fce8334fd91f00d1676bd18110c70d</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>858f88964f442300d1676bd18110c799</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_u_task_appointment_u_appointment_duration</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"u_appointment_duration\" table=\"u_task_appointment\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_appointment_duration</element><hint/><inactive>false</inactive><label>15 Minutes</label><language>en</language><name>u_task_appointment</name><sequence>0</sequence><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:10:43</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c809f2ccdb637600c3beffa31d9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:10:43</sys_updated_on><value>15</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_appointment_duration</element><hint/><inactive>false</inactive><label>30 Minutes</label><language>en</language><name>u_task_appointment</name><sequence>1</sequence><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:10:43</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8409f2ccdb637600c3beffa31d9619c1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:10:43</sys_updated_on><value>30</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_appointment_duration</element><hint/><inactive>false</inactive><label>60 Minutes</label><language>en</language><name>u_task_appointment</name><sequence>2</sequence><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:10:43</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>4009f2ccdb637600c3beffa31d9619c2</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 19:09:47</sys_updated_on><value>60</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_appointment_duration</element><hint/><inactive>false</inactive><label>90 Minutes</label><language>en</language><name>u_task_appointment</name><sequence>3</sequence><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:10:43</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0c09f2ccdb637600c3beffa31d9619c2</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:11:26</sys_updated_on><value>90</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>u_appointment_duration</element><name>u_task_appointment</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:09:42</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>cdf282984f98cb00d1676bd18110c718</sys_id><sys_mod_count>4</sys_mod_count><sys_name>u_appointment_duration</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_choice_u_task_appointment_u_appointment_duration</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:11:14</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>018f88964f442300d1676bd18110c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Appointment Duration</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_description_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_description\" label=\"Description\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_description</element><help/><hint/><label>Description</label><language>en</language><name>u_task_appointment</name><plural>Descriptions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>97cb26c0dbe3760087c1fd441d961955</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Description</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_description_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>018f88964f442300d1676bd18110c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Description</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_4bcb26c0dbe3760087c1fd441d961934</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Task Appointment\">0bcb26c0dbe3760087c1fd441d961932</application><filter/><name>Task Appointments</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles>u_task_appointment_user</roles><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>4bcb26c0dbe3760087c1fd441d961934</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Appointments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_4bcb26c0dbe3760087c1fd441d961934</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:02</sys_updated_on><table>u_task_appointment</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>018f88964f442300d1676bd18110c7a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointments</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_0fcb26c0dbe3760087c1fd441d96192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Task Appointment\">43cb26c0dbe3760087c1fd441d96192d</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Task Appointments</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_task_appointment</name><order>10</order><override_menu_roles>false</override_menu_roles><query/><report/><roles>admin</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0fcb26c0dbe3760087c1fd441d96192f</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Task Appointments</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_0fcb26c0dbe3760087c1fd441d96192f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 20:54:47</sys_updated_on><timeline_page/><title>Task Appointments</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>058f88964f442300d1676bd18110c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointments</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_task_values</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_task_values\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;show_ops=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Task Values&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent&gt;u_task_type&lt;/dependent&gt;&lt;dependent_on_field&gt;u_task_type&lt;/dependent_on_field&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_task_values&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;template_value&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;65000&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:01&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;665bae80dbe3760087c1fd441d96198a&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Task Values&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_task_values&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 18:20:15&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;true&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>058f88964f442300d1676bd18110c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Task Values</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_0bcb26c0dbe3760087c1fd441d961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_task_appointment</description><name>u_task_appointment</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0bcb26c0dbe3760087c1fd441d961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_task_appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_0bcb26c0dbe3760087c1fd441d961942</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:02</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>058f88964f442300d1676bd18110c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>u_task_appointment</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_lead_time</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_lead_time\" table=\"u_task_appointment\"><active>true</active><array>false</array><array_denormalized>false</array_denormalized><attributes/><audit>false</audit><calculation/><choice>0</choice><choice_field/><choice_table/><column_label>New Appointment Lead Time</column_label><comments/><create_roles/><default_value/><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>u_lead_time</element><element_reference>false</element_reference><foreign_database/><function_definition/><function_field>false</function_field><internal_type display_value=\"\">glide_duration</internal_type><mandatory>false</mandatory><max_length>40</max_length><name>u_task_appointment</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 18:13:40</sys_created_on><sys_id>0bfdfb0e4f042300d1676bd18110c7b8</sys_id><sys_mod_count>1</sys_mod_count><sys_name>New Appointment Lead Time</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_u_task_appointment_u_lead_time</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 18:14:05</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<payload_hash>-1967607848</payload_hash>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>098f88964f442300d1676bd18110c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16562d7f6d30000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.New Appointment Lead Time</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>4d1e3f0e770423007ca2b0889455fff5</update_guid>\n<update_guid_history>4d1e3f0e770423007ca2b0889455fff5:-1967607848,1bfdfb0efd042300c6a29a00653bb2c0:-1941704584</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_22d711e9dbfbb600c3beffa31d961909</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_script\"&gt;&lt;sys_script action=\"INSERT_OR_UPDATE\"&gt;&lt;abort_action&gt;false&lt;/abort_action&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;action_delete&gt;false&lt;/action_delete&gt;&lt;action_insert&gt;true&lt;/action_insert&gt;&lt;action_query&gt;false&lt;/action_query&gt;&lt;action_update&gt;true&lt;/action_update&gt;&lt;active&gt;true&lt;/active&gt;&lt;add_message&gt;false&lt;/add_message&gt;&lt;advanced&gt;true&lt;/advanced&gt;&lt;change_fields&gt;false&lt;/change_fields&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;collection&gt;task&lt;/collection&gt;&lt;condition/&gt;&lt;description/&gt;&lt;execute_function&gt;false&lt;/execute_function&gt;&lt;filter_condition table=\"task\"&gt;u_task_appointmentISNOTEMPTY^work_startVALCHANGES^ORwork_endVALCHANGES^EQ&lt;item endquery=\"false\" field=\"u_task_appointment\" goto=\"false\" newquery=\"false\" operator=\"ISNOTEMPTY\" or=\"false\" value=\"\"/&gt;&lt;item endquery=\"false\" field=\"work_start\" goto=\"false\" newquery=\"false\" operator=\"VALCHANGES\" or=\"false\" value=\"\"/&gt;&lt;item endquery=\"false\" field=\"work_end\" goto=\"false\" newquery=\"false\" operator=\"VALCHANGES\" or=\"true\" value=\"\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/filter_condition&gt;&lt;is_rest&gt;false&lt;/is_rest&gt;&lt;message/&gt;&lt;name&gt;Enforce Task Appointment Schedule&lt;/name&gt;&lt;order&gt;100&lt;/order&gt;&lt;priority&gt;100&lt;/priority&gt;&lt;rest_method/&gt;&lt;rest_method_text/&gt;&lt;rest_service/&gt;&lt;rest_service_text/&gt;&lt;rest_variables/&gt;&lt;role_conditions/&gt;&lt;script&gt;&lt;![CDATA[(function executeRule(current, previous /*null when async*/) {\n\t//Make sure the seconds are 00\n\tcurrent.work_start = new global.TaskAppointmentUtils().setZeroSeconds(current.work_start);\n\tcurrent.work_end = new global.TaskAppointmentUtils().setZeroSeconds(current.work_end);\n\t\n\t/*\n\t* Validate Dates:\n\t* Make sure start date is within the scheduled defined in the Task Appointment record.\n\t* Make sure the end date is an interval of the appointment duration defined in the Task Appointment record.\n\t*/\n\t\n\tvar datesValid = new global.TaskAppointmentUtils().checkTaskDates(current);\n\tif (datesValid != \"allClear\") {\n\t\tcurrent.setAbortAction(true);\n\t\tgs.addErrorMessage(datesValid);\n\t}\n\t\n})(current, previous);]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-06 14:27:10&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;22d711e9dbfbb600c3beffa31d961909&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;Enforce Task Appointment Schedule&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_22d711e9dbfbb600c3beffa31d961909&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-07 12:34:29&lt;/sys_updated_on&gt;&lt;template/&gt;&lt;when&gt;before&lt;/when&gt;&lt;/sys_script&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=22d711e9dbfbb600c3beffa31d961909\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>098f88964f442300d1676bd18110c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>task</table>\n<target_name>Enforce Task Appointment Schedule</target_name>\n<type>Business Rule</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_appointment_duration</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_appointment_duration\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;1&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Appointment Duration&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_appointment_duration&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 19:07:53&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1e48b28cdb637600c3beffa31d9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Appointment Duration&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_appointment_duration&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 19:12:14&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>0d8f88964f442300d1676bd18110c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Appointment Duration</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_schedule_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_schedule\" label=\"Schedule\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_schedule</element><help/><hint/><label>Schedule</label><language>en</language><name>u_task_appointment</name><plural>Schedules</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d7cb26c0dbe3760087c1fd441d96195a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Schedule</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_schedule_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>0d8f88964f442300d1676bd18110c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Schedule</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_43cb26c0dbe3760087c1fd441d96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Task Appointment</name><order>100</order><roles>admin</roles><sys_class_name>sys_app_application</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>43cb26c0dbe3760087c1fd441d96192d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Task Appointment</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_43cb26c0dbe3760087c1fd441d96192d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 20:54:33</sys_updated_on><title>Task Appointment</title><view_name/></sys_app_application></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>418f88964f442300d1676bd18110c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Task Appointment</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_task_type</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_task_type\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;base_table=task,base_start=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Task Type&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_task_type&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;table_name&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;80&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:01&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;dd8ba2c0dbe3760087c1fd441d96191d&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Task Type&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_task_type&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 18:14:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>418f88964f442300d1676bd18110c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Task Type</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_03cb26c0dbe3760087c1fd441d961948</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_task_appointment</description><name>u_task_appointment</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>03cb26c0dbe3760087c1fd441d961948</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_task_appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_03cb26c0dbe3760087c1fd441d961948</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:02</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>418f88964f442300d1676bd18110c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>u_task_appointment</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_group</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_group\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Group&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_group&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_user_group\"&gt;sys_user_group&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual&gt;active=true^EQ&lt;/reference_qual&gt;&lt;reference_qual_condition table=\"sys_user_group\"&gt;active=true^EQ&lt;item endquery=\"false\" field=\"active\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/reference_qual_condition&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:01&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c13bae80dbe3760087c1fd441d961989&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Group&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_group&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 18:14:25&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>458f88964f442300d1676bd18110c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Group</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Task Appointment\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Task Appointment</label><language>en</language><name>u_task_appointment</name><plural>Task Appointments</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9bcb26c0dbe3760087c1fd441d961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment__en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>458f88964f442300d1676bd18110c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7cb26c0dbe3760087c1fd441d96194d&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_task_appointment&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 18:13:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>498f88964f442300d1676bd18110c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_task_appointment</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1fcb26c0dbe3760087c1fd441d961958</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_name_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>498f88964f442300d1676bd18110c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_d7cb26c0dbe3760087c1fd441d96197c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_task_appointment</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:04</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d7cb26c0dbe3760087c1fd441d96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_task_appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_d7cb26c0dbe3760087c1fd441d96197c</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:04</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>498f88964f442300d1676bd18110c7a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>u_task_appointment</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_a1d648744f940f00d1676bd18110c78e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Task Appointment\">43cb26c0dbe3760087c1fd441d96192d</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>DIRECT</link_type><map_page/><mobile_title>Business Rule</mobile_title><mobile_view_name>Mobile</mobile_view_name><name/><order>1010</order><override_menu_roles>false</override_menu_roles><query>sys_script.do?sys_id=22d711e9dbfbb600c3beffa31d961909</query><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-28 20:56:04</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a1d648744f940f00d1676bd18110c78e</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Business Rule</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_a1d648744f940f00d1676bd18110c78e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 20:56:10</sys_updated_on><timeline_page/><title>Business Rule</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>4d8f88964f442300d1676bd18110c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Business Rule</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_concurrent_appointments_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_concurrent_appointments\" label=\"Concurrent Appointments\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_concurrent_appointments</element><help/><hint>Default is 1.  Set the number of concurrent appointments before marking an appointment time as unavilable.</hint><label>Concurrent Appointments</label><language>en</language><name>u_task_appointment</name><plural>Concurrent Appointments</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-07-07 16:40:40</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9434f3ddbb7f60087c1fd441d961982</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Concurrent Appointments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_concurrent_appointments_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 19:28:31</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>4d8f88964f442300d1676bd18110c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Concurrent Appointments</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_task_u_task_appointment_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"u_task_appointment\" relationship=\"\" sys_domain=\"global\" table=\"task\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>number</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>63638cd0db277600c3beffa31d961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>state</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>e7638cd0db277600c3beffa31d961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>short_description</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>6b638cd0db277600c3beffa31d961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sys_class_name</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>eb638cd0db277600c3beffa31d961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>work_start</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>6f638cd0db277600c3beffa31d961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>work_end</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>ef638cd0db277600c3beffa31d961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>assignment_group</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>63638cd0db277600c3beffa31d961991</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>assigned_to</element><list_id display_value=\"task\" element=\"NULL\" name=\"task\" parent=\"u_task_appointment\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">e7638cd0db277600c3beffa31d96198f</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_id>e3638cd0db277600c3beffa31d961991</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>task</name><parent>u_task_appointment</parent><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-20 00:35:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>e7638cd0db277600c3beffa31d96198f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>task</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_list_task_u_task_appointment_null</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-20 00:35:54</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>4d8f88964f442300d1676bd18110c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>task</table>\n<target_name>Task Appointment.Task</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_description</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_description\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Description&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_description&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;1000&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3b2bee80dbe3760087c1fd441d961970&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Description&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_description&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 18:21:37&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>818f88964f442300d1676bd18110c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Description</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_task_values_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_task_values\" label=\"Task Values\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_task_values</element><help/><hint/><label>Task Values</label><language>en</language><name>u_task_appointment</name><plural>Task Values</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fcb26c0dbe3760087c1fd441d96195d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Values</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_task_values_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>818f88964f442300d1676bd18110c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Task Values</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_task_u_task_appointment</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_task_appointment\" table=\"task\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Task Appointment&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_task_appointment&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;task&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_task_appointment\"&gt;u_task_appointment&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:50:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;dd247e08dbe3760087c1fd441d96197d&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Task Appointment&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_task_u_task_appointment&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 18:50:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>858f88964f442300d1676bd18110c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>task</table>\n<target_name>Task.Task Appointment</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_lead_time_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_lead_time\" label=\"New Appointment Lead Time\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_lead_time</element><help/><hint/><label>New Appointment Lead Time</label><language>en</language><name>u_task_appointment</name><plural>New Appointment Lead Times</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 18:13:40</sys_created_on><sys_id>4bfdfb0e4f042300d1676bd18110c7b9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>New Appointment Lead Time</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_lead_time_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 18:14:05</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>154557881</payload_hash>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>858f88964f442300d1676bd18110c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16562d7f6f00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.New Appointment Lead Time</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>c11e3f0e5c0423006987eb4fad8538f7</update_guid>\n<update_guid_history>c11e3f0e5c0423006987eb4fad8538f7:154557881,9ffdfb0e3d04230031aec1d13dbaccc1:1388592535</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_515da604dbe3760087c1fd441d961988</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"515da604dbe3760087c1fd441d961988\" sys_domain=\"global\" table=\"u_task_appointment\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>2bad40d24f442300d1676bd18110c7f8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><text>&lt;p&gt;This record is used along with the &lt;a title=\"Appointment Scheduling\" href=\"sp_config?id=widget_editor&amp;sys_id=25490ef0dba7b600c3beffa31d961986&amp;spa=1\" target=\"_blank\"&gt;Appointment Scheduling&lt;/a&gt; and &lt;a title=\"Appointment List\" href=\"sp_config?id=widget_editor&amp;sys_id=ca217829db544700d6afffb41d961931&amp;spa=1\" target=\"_blank\"&gt;Appointment List&lt;/a&gt; Service Portal widgets.  At a minimum you must enter the name, the schedule to leverage that defines the availability, appointment duration, and the task table to use when creating an appointment. The Task Values is a template field that can be used to set field values in the appointment record created by the Service Portal widgets. Note: The group field can be leveraged to automatically assign the task appointments to a specific group. If the Assignment Group is specified in the Task Values template field, that value will take priority.&lt;/p&gt;&#13;\n&lt;p&gt;&lt;br /&gt;The following fields on the Task table (including any table that extends task) are leveraged with this solution:&lt;/p&gt;&#13;\n&lt;ul&gt;&#13;\n&lt;li&gt;work_start - this is set with the time from the widget&lt;/li&gt;&#13;\n&lt;li&gt;work_end - this is set with the time chosen from the widget plus the appointment duration specified in this record.&lt;/li&gt;&#13;\n&lt;li&gt;u_task_appointment - this is set with the sys_id of this record&lt;/li&gt;&#13;\n&lt;/ul&gt;&#13;\n&lt;p&gt;For more details on this feature, please see the &lt;a title=\"Task Appointment Scheduling\" href=\"https://community.servicenow.com/community?id=community_blog&amp;sys_id=e46e6eaddbd0dbc01dcaf3231f9619ba\" target=\"_blank\"&gt;Task Appointment Scheduling&lt;/a&gt; post on the ServiceNow Community.&lt;/p&gt;</text><type display_value=\"Info Box Blue\">753f88a80f930000b12e6903cfe01206</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>2bad40d24f442300d1676bd18110c7f8</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>ebad40d24f442300d1676bd18110c7f8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>6fad40d24f442300d1676bd18110c7f8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>efad40d24f442300d1676bd18110c7f8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_schedule</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>63ad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_appointment_duration</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>e3ad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_lead_time</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>67ad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>e7ad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_group</element><position>7</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>6bad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_concurrent_appointments</element><position>8</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>ebad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>6fad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_description</element><position>10</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>efad40d24f442300d1676bd18110c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_task_type</element><position>11</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>63ad40d24f442300d1676bd18110c7fa</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_task_values</element><position>12</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-08-22 19:22:14</sys_created_on><sys_id>e3ad40d24f442300d1676bd18110c7fa</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_task_appointment\" sys_domain=\"global\" view=\"Default view\">515da604dbe3760087c1fd441d961988</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-08-22 19:22:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_task_appointment</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:19:44</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>515da604dbe3760087c1fd441d961988</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_task_appointment</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_515da604dbe3760087c1fd441d961988</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:19:44</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-818158163</payload_hash>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>858f88964f442300d1676bd18110c7a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16563165d5d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>e3adc856f744230077e3f1ffad6ea293</update_guid>\n<update_guid_history>e3adc856f744230077e3f1ffad6ea293:-818158163,13fdfb0e45042300d8e19b66a5d045c7:-1316933887,220d28734cd91f0072dfd10af7620d86:1735118169</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_98a6c4744f940f00d1676bd18110c7d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Task Appointment\">43cb26c0dbe3760087c1fd441d96192d</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>SEPARATOR</link_type><map_page/><mobile_title>Administration</mobile_title><mobile_view_name>Mobile</mobile_view_name><name/><order>1000</order><override_menu_roles>false</override_menu_roles><query/><report/><roles>admin</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-28 20:54:14</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>98a6c4744f940f00d1676bd18110c7d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Administration</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_98a6c4744f940f00d1676bd18110c7d5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 20:54:14</sys_updated_on><timeline_page/><title>Administration</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>898f88964f442300d1676bd18110c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Administration</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_appointment_duration_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_appointment_duration\" label=\"Appointment Duration\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_appointment_duration</element><help/><hint/><label>Appointment Duration</label><language>en</language><name>u_task_appointment</name><plural>Appointment Durations</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:07:53</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a2587e8cdb637600c3beffa31d961971</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Appointment Duration</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_appointment_duration_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:07:53</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>898f88964f442300d1676bd18110c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Appointment Duration</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_0bcb26c0dbe3760087c1fd441d961932</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Task Appointment</name><order/><roles>u_task_appointment_user</roles><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>0bcb26c0dbe3760087c1fd441d961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Appointment</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_0bcb26c0dbe3760087c1fd441d961932</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:02</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>898f88964f442300d1676bd18110c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Task Appointment</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_ca217829db544700d6afffb41d961931</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function scheduleAppointment($rootScope, $timeout, $scope, $window, spUtil) {\n    var c = this;\n    $rootScope.$broadcast('refreshFooterUrl');\n    $scope.userID = $scope.user.sys_id;\n    c.toggleDelete = {};\n    c.noAppointments = false;\n    c.$onInit = function() {\n        getCurrentAppointments();\n    };\n\n    c.removeAppt = function(sys_id) {\n        c.toggleDelete[sys_id].confirm = true;\n        c.toggleDelete[sys_id].show = false;\n    }\n\n    c.cancelAppt = function(sys_id) {\n        c.toggleDelete[sys_id].confirm = false;\n        c.toggleDelete[sys_id].show = true;\n    }\n\n    c.deleteAppt = function(sys_id) {\n\n        c.server.get({ action: 'deleteTimeSlot', taskSysid: sys_id }).then(function(response) {\n            c.toggleDelete[sys_id].confirm = false;\n            c.toggleDelete[sys_id].show = false;\n            getCurrentAppointments();\n        });\n\n    }\n\n    c.parseDateTime = function(slotTime, type) {\n        var dt = slotTime.split(\" \")[0];\n        var time = slotTime.split(\" \")[1].split(\":\");\n        var parsed = [4];\n\n        //Date\n        parsed[0] = moment(dt).format(\"dddd, MMMM D YYYY\");\n\n        //Time\n        if (time[0] &gt; 12) {\n            parsed[1] = (time[0] - 12) + \":\" + time[1] + \"PM\";\n        } else {\n            parsed[1] = time[0] + \":\" + time[1] + \"AM\";\n        }\n        if (parsed[1].split(\"\")[0] === \"0\") {\n            parsed[1] = parsed[1].substring(1, parsed[1].length);\n        }\n\n        //Day of Week\n        parsed[2] = moment(dt).format(\"ddd\");\n\n        //Short Date (no year)\n        parsed[3] = moment(dt).format(\"MMM D\");\n\n        return parsed[type];\n    }\n\n\n    $rootScope.$on('appointmentCreated', function(event, data) {\n        getCurrentAppointments();\n    });\n\n    function getCurrentAppointments() {\n        c.server.get({ action: 'getCurrentAppointments' }).then(function(response) {\n            if (JSON.parse(response.data.currentAppointments).length &gt; 0) {\n                c.currentUserAppointments = processTheTimes(JSON.parse(response.data.currentAppointments));\n                c.noAppointments = false;\n            } else {\n                c.noAppointments = true;\n            }\n        });\n    }\n\n    function processTheTimes(appointments) {\n        for (var i = 0; i &lt; appointments.length; i++) {\n            appointments[i].work_in = moment(appointments[i].work_start).fromNow();\n            appointments[i].today = (moment().diff(appointments[i].work_start, 'days') === 0);\n            if (appointments[i].duration &gt; 0) {\n                appointments[i].duration = Math.floor(appointments[i].duration / 60);\n            }\n\n            appointments[i].time = c.parseDateTime(appointments[i].work_start, 1)\n            appointments[i].weekday = c.parseDateTime(appointments[i].work_start, 2)\n            appointments[i].day = c.parseDateTime(appointments[i].work_start, 3)\n            c.toggleDelete[appointments[i].sys_id] = { confirm: false, show: true };\n        }\n        return appointments;\n    }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$brand-primary:#4b8cfb !default;\n$icon-color:red;\n.bg-darkblue {\n    margin-bottom: 10px;\n}\n\n.upcoming-appointments {\n    background: #fff;\n    width: 100%;\n    overflow: hidden;\n    margin-top: 15px;\n    margin-bottom: 15px;\n}\n\n.ghost-container {\n    margin: 0 auto;\n    background-color: transparent;\n    position: relative;\n}\n\n.no-slots {\n    margin: 0 auto;\n    margin-top: 10px;\n    color: #FB4B4B;\n    text-align: center;\n}\n\n.appt-title {\n    font-weight: 300;\n    margin-top: 15px;\n    margin-left: 5px;\n    margin-bottom: 10px;\n    font-size: 24px;\n    line-height: 1;\n    color: $bam-darkblue;\n    @media (max-width: 375px) {}\n    @media (max-width: 320px) {\n        width: 285px;\n    }\n}\n\n.appt-subtitle {\n    font-size: 16px;\n    font-weight: 400;\n    line-height: 1.25;\n    color: $bam-dark-gray;\n    margin-left: 5px;\n    margin-bottom: 40px;\n    @media (max-width: 320px) {\n        width: 285px;\n    }\n}\n\n.btn.btn-primary {\n    margin: 0 auto !important;\n    @include border-radius(6px);\n    background-color: $bam-blue;\n    color: $bam-white;\n    border-color: transparent;\n    width: 325px;\n    height: 50px;\n    display: block;\n    font-size: 16px;\n    font-weight: 400;\n    @media (max-width: 375px) {\n        margin-left: 0px;\n    }\n    @media (max-width: 320px) {\n        width: 285px;\n    }\n}\n\n.container-appts {\n    margin: 0;\n    background-color: transparent;\n    width: 100%;\n    margin-top: 20px;\n}\n\n.appts {\n    font-size: 14px;\n    color: $bam-blue;\n}\n\n.appt-container {\n    color: #676767;\n    background-color: transparent;\n    margin: 0 auto;\n    margin-top: 20px;\n    margin-bottom: 20px;\n    padding: 0px;\n}\n\n.appt-box {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    border-radius: 4px;\n    min-height: 79px;\n    background-color: #fff;\n    padding: 0px;\n    border: solid 1px #dfdfdf;\n    margin-left: 0px;\n    font-size: 16px;\n}\n\n.appt-delete {\n    line-height: 72px;\n}\n\n.appt-site {\n    display: block;\n    font-weight: 500;\n}\n\n.padding-override {\n    padding: 0px;\n}\n\n.appt-when {\n    display: inline-block;\n    padding: 0 20px;\n    width: 15%;\n}\n\n.appt-where-location {\n    width: 35%;\n    text-align: left;\n    display: inline-block;\n}\n\n.appt-where-time {\n    width: 15%;\n    text-align: left;\n    display: inline-block;\n}\n\n.appt-short-description {\n    width: 35%;\n    text-align: left;\n    display: inline-block;\n    @media (max-width: 414px) {\n        display: none;\n    }\n}\n\n.appt-tools {\n    display: inline-block;\n}\n\n.appt-datetime {\n    display: block;\n    font-weight: 300;\n    text-transform: uppercase;\n    font-size: 14px;\n    width: 45px;\n}\n\n.appt-short-description-font {\n    display: block;\n    font-weight: 300;\n    font-size: 14px;\n}\n\n.appt-weekday {\n    display: block;\n    text-transform: uppercase;\n    font-weight: 500;\n    width: 40px;\n}\n\n.appt-icon {\n    margin: 0 auto;\n    margin-top: 5px;\n    margin-right: 15px;\n    object-fit: contain;\n    height: 22px;\n    width: 22px;\n    stroke: $icon-color;\n}\n\n.btn-cancel {\n    background-color: transparent;\n    width: 87px;\n    height: 30px;\n    font-size: 12px;\n    font-weight: 500;\n    text-align: center;\n    color: #676767;\n    border-radius: 4px;\n    border: solid 2px #dfdfdf;\n    margin-left: 20px;\n    margin-right: 20px;\n}\n\n.btn-delete {\n    background-color: transparent;\n    width: 114px;\n    height: 30px;\n    font-size: 12px;\n    font-weight: 500;\n    text-align: center;\n    color: $brand-primary;\n    border-radius: 4px;\n    border: solid 2px $brand-primary;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;appointments-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Appointments List&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"label\":\"Title\",\"type\":\"string\"},{\"displayValue\":\"Task Appointment\",\"name\":\"task_appointment\",\"label\":\"Task Appointment Definition\",\"type\":\"reference\",\"value\":\"u_task_appointment\",\"ed\":{\"reference\":\"u_task_appointment\"}},{\"name\":\"show_short_description\",\"label\":\"Show Short Description\",\"type\":\"boolean\"},{\"name\":\"show_location\",\"label\":\"Show Location\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// populate the 'data' variable with catalog item, variables, and variable view\n(function() {\n    if (input) {\n        if (input.action == 'getCurrentAppointments') {\n            data.currentAppointments = new global.TaskAppointmentUtils().getUserAppointments(options.task_appointment);\n        }\n        if (input.action == 'deleteTimeSlot') {\n            data.deleted = new global.TaskAppointmentUtils().removeAppointment(options.task_appointment, input.taskSysid);\n        }\n    }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chandrashekar&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-31 07:55:49&lt;/sys_created_on&gt;&lt;sys_id&gt;ca217829db544700d6afffb41d961931&lt;/sys_id&gt;&lt;sys_mod_count&gt;124&lt;/sys_mod_count&gt;&lt;sys_name&gt;Appointments List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_ca217829db544700d6afffb41d961931&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-19 19:59:55&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none;\"&gt;\n  &lt;symbol id='icon-trash' width=\"20\" height=\"22\" viewBox=\"0 0 20 22\"&gt;\n    &lt;g fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\" stroke-linejoin=\"round\"&gt;\n      &lt;path d=\"M3.083 3.917h13.333v16.667H3.083zM6.417 1.417h6.667v2.5H6.417zM1 3.917h18.333M6.417 6.833v10M9.75 6.833v10M13.083 6.833v10\"/&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n\t&lt;div class=\"upcoming-appointments\"&gt;\n            &lt;div class='col-xs-12'&gt;\n                &lt;div class='ghost-container'&gt;\n                    &lt;div class='appt-title'&gt;{{c.options.title}}&lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class='ghost-container' ng-show=\"c.noAppointments\"&gt;\n                    &lt;div class='appt-subtitle'&gt;You have no scheduled appointments.&lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class='ghost-container'&gt;\n                    &lt;div class='appt-container' ng-repeat='item in c.currentUserAppointments track by $index'&gt;\n                        &lt;div class='appt-box' ng-show='c.toggleDelete[item.sys_id].show'&gt;\n                            &lt;div class='appt-when'&gt;\n                                &lt;div class='appt-weekday'&gt;{{item.weekday}}&lt;/div&gt;\n                                &lt;div class='appt-datetime'&gt;{{item.day}}&lt;/div&gt;\n                            &lt;/div&gt;\n                            &lt;div class='appt-where-location' ng-if=\"c.options.show_location == 'true'\"&gt;\n                                &lt;div class='appt-site'&gt;{{item.location_name}}&lt;/div&gt;\n                                &lt;div class='appt-datetime'&gt;{{item.time}}&lt;/div&gt;\n                            &lt;/div&gt;\n                            &lt;div class='appt-where-time' ng-if=\"c.options.show_location != 'true'\"&gt;\n                                &lt;div class='appt-datetime'&gt;{{item.time}}&lt;/div&gt;\n                            &lt;/div&gt;\n                             &lt;div class='appt-short-description' ng-if=\"c.options.show_short_description == 'true'\"&gt;\n                                &lt;div class='appt-short-description-font'&gt;{{item.short_description}}&lt;/div&gt;\n                            &lt;/div&gt;\n                            &lt;div class='appt-tools'&gt;\n\n                                    &lt;svg class=\"appt-icon\" ng-click='c.removeAppt(item.sys_id)'&gt;\n                                    &lt;use xlink:href='#icon-trash'&gt;&lt;/use&gt;\n                                    &lt;/svg&gt;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t\t\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t\t\t&lt;div class='row appt-box appt-delete' ng-show='c.toggleDelete[item.sys_id].confirm'&gt;\n   \t\t\t\t\t\t&lt;div class='col-xs-12 text-center'&gt;\n                &lt;input type='button' class='btn btn-cancel' value='CANCEL' ng-click='c.cancelAppt(item.sys_id)' /&gt;\n                &lt;input type='button' class='btn btn-delete' value='YES, DELETE!' ng-click='c.deleteAppt(item.sys_id)' /&gt;\n   \t\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2071092348</payload_hash>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>8d8f88964f442300d1676bd18110c799</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Appointments List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>e18638b95259430026279e0387e73904</update_guid>\n<update_guid_history>e18638b95259430026279e0387e73904:-2071092348,391de4b1cd5943009a00a7a02cbb2e09:699893217</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_schedule</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_schedule\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;ref_contributions=schedule_show&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Schedule&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_schedule&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"cmn_schedule\"&gt;cmn_schedule&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual&gt;typeISEMPTY^EQ&lt;/reference_qual&gt;&lt;reference_qual_condition table=\"cmn_schedule\"&gt;typeISEMPTY^EQ&lt;item endquery=\"false\" field=\"type\" goto=\"false\" newquery=\"false\" operator=\"ISEMPTY\" or=\"false\" value=\"\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/reference_qual_condition&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:01&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0f4bae80dbe3760087c1fd441d961989&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;Schedule&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_schedule&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;michael.ritchie&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 19:12:28&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>8d8f88964f442300d1676bd18110c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Schedule</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_03cb26c0dbe3760087c1fd441d96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_task_appointment</description><name>u_task_appointment</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>03cb26c0dbe3760087c1fd441d96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_task_appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_03cb26c0dbe3760087c1fd441d96193d</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:02</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>8d8f88964f442300d1676bd18110c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>u_task_appointment</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_d21bae80dbe3760087c1fd441d961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>true</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Task Appointment</label><live_feed_enabled>false</live_feed_enabled><name>u_task_appointment</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d21bae80dbe3760087c1fd441d961981</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Task Appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_d21bae80dbe3760087c1fd441d961981</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-07-07 12:32:47</sys_updated_on><update_access>true</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c18f88964f442300d1676bd18110c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_group_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_group\" label=\"Group\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_group</element><help/><hint>Group is optional and a value set via Task Values template field will overridge the value set in this field.</hint><label>Group</label><language>en</language><name>u_task_appointment</name><plural>Groups</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>53cb26c0dbe3760087c1fd441d961957</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Group</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_group_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 19:27:37</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c18f88964f442300d1676bd18110c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Group</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_related_u_task_appointment_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_related sys_domain=\"global\" table=\"u_task_appointment\" version=\"2\" view=\"\"><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"Task Appointment - Default view\" name=\"u_task_appointment\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">48cb7240dba37600c3beffa31d961965</list_id><order_by/><position>0</position><related_list>task.u_task_appointment</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:22:44</sys_created_on><sys_id>c4cb7240dba37600c3beffa31d961966</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:22:44</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list action=\"INSERT_OR_UPDATE\"><calculated_name>Task Appointment - Default view</calculated_name><filter/><name>u_task_appointment</name><order_by/><position/><related_list/><sys_class_name>sys_ui_related_list</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 19:22:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>48cb7240dba37600c3beffa31d961965</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Appointment - Default view</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_related_u_task_appointment_null</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 19:22:44</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_related_list></sys_ui_related></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c18f88964f442300d1676bd18110c7a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment</target_name>\n<type>Related Lists</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_17374c744f940f00d1676bd18110c7f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Task Appointment\">43cb26c0dbe3760087c1fd441d96192d</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>DIRECT</link_type><map_page/><mobile_title>Business Rule</mobile_title><mobile_view_name>Mobile</mobile_view_name><name/><order>1020</order><override_menu_roles>false</override_menu_roles><query>sys_script_include.do?sys_id=c4d5f288dbe3760087c1fd441d9619d7</query><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-28 20:56:37</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>17374c744f940f00d1676bd18110c7f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Script Include</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_17374c744f940f00d1676bd18110c7f0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-28 20:56:37</sys_updated_on><timeline_page/><title>Script Include</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c58f88964f442300d1676bd18110c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Script Include</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_task_u_task_appointment_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_task_appointment\" label=\"Task Appointment\" language=\"en\" table=\"task\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_task_appointment</element><help/><hint/><label>Task Appointment</label><language>en</language><name>task</name><plural>Task Appointments</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:50:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>9d44be08dbe3760087c1fd441d9619b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_task_u_task_appointment_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:50:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c58f88964f442300d1676bd18110c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>task</table>\n<target_name>Task.Task Appointment</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_4fcb26c0dbe3760087c1fd441d961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_task_appointment</description><name>u_task_appointment</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4fcb26c0dbe3760087c1fd441d961936</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_task_appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_4fcb26c0dbe3760087c1fd441d961936</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:02</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c58f88964f442300d1676bd18110c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>u_task_appointment</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_25490ef0dba7b600c3beffa31d961986</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function scheduleAppointment($rootScope, $timeout, $http, $scope) {\n    var c = this;\n    c.$onInit = function() {\n        c.selectedSlot = \"\";\n        c.timeSlotReturn = \"\";\n        c.alertSuccess = false;\n        c.setReminder = false;\n        c.appntShortDescription = \"\";\n        c.appntDescription = \"\";\n        c.appntLocationSysid = \"\";\n        c.selectedReminderTime = c.data.reminderTimes[0];\n    }\n\n    c.getTimeSlots = function(date) {\n        c.dateFormatted = moment(date).format(\"dddd, MMMM D YYYY\");\n        c.server.get({ action: 'getTimeSlots', selectedDate: moment(date).format(\"YYYY-MM-DD\") }).then(function(response) {\n            if (response.data.timeSlots &amp;&amp; response.data.timeSlots.length &gt; 0) {\n                c.timeSLots = JSON.parse(response.data.timeSlots);\n                if (c.options.layout == 'Dropdown') { c.selectedSlot = c.timeSLots[0]; }\n            }\n\n        });\n    };\n\n    c.locationChosen = function(location) {\n        c.appntLocation = location;\n        c.appntLocationSysid = location.sys_id;\n    }\n\n    c.getLocations = function(val) {\n        return $http.get('/api/now/table/cmn_location?sysparm_query=nameLIKE' + val + '^ORstreetLIKE' + val + '^ORcityLIKE' + val + '^ORstateLIKE' + val + '&amp;sysparm_limit=5', {\n            headers: {\n                'Accept': 'application/json',\n                'Content-Type': 'application/json',\n                'X-UserToken': window.g_ck\n            }\n        }).then(function(response) {\n\n            return response.data.result;\n        });\n    };\n\n    c.setupReminder = function(reminderTime) {\n        c.server.get({ action: 'setupReminder', selectedTime: reminderTime, taskSysid: c.timeSlotReturn.sys_id }).then(function(response) {\n            c.reminderSetup = response.data.reminderReturn;\n            $timeout(function() {\n                c.alertSuccess = false;\n                c.setReminder = false;\n            }, 5000);\n        });\n    }\n\n\n\n    function processTheTimes(appointments) {\n        for (var i = 0; i &lt; appointments.length; i++) {\n            appointments[i].work_start = moment(appointments[i].work_start).fromNow();\n            if (appointments[i].duration &gt; 0) {\n                appointments[i].duration = Math.floor(appointments[i].duration / 60);\n            }\n        }\n        return appointments;\n    }\n    c.datePickerPopup = {\n        opened: false\n    };\n    var today = new Date();\n\n    if (!c.options.max_date) {\n        c.options.max_date = 30;\n    }\n    c.dateOptions = {\n        showWeeks: false,\n        formatYear: 'yyyy',\n        maxDate: today.setDate(today.getDate() + parseInt(c.options.max_date)),\n        minDate: populateDate(),\n        startingDay: 1\n    };\n\n\n    // Disable weekend selection\n    c.disabled = function(date, mode) {\n        return (mode === 'day' &amp;&amp; (date.getDay() === 0 || date.getDay() === 6));\n    }\n\n    c.openDatePickerPopup = function() {\n        c.datePickerPopup.opened = true;\n    };\n\n    c.submitTimeSlot = function(selectedDate, selectedSlot) {\n        var obj = {\n            'action': 'setTimeSlots',\n            'meetingDate': selectedDate,\n            'meetingTime': selectedSlot\n        }\n        if (c.appntLocation || c.appntDescription || c.appntShortDescription) {\n            obj.additionalFields = {\n                'short_description': c.appntShortDescription,\n                'description': c.appntDescription,\n                'location': c.appntLocationSysid\n            }\n        }\n\n        c.server.get(obj).then(function(response) {\n            if (response.data.timeSlotReturn) {\n                c.timeSlotReturn = JSON.parse(response.data.timeSlotReturn);\n                if (c.timeSlotReturn.sys_id) {\n                    c.alertSuccess = true;\n                    if (c.setReminder) {\n                        c.setupReminder(c.selectedReminderTime.value.display_value);\n                    }\n                    c.getTimeSlots(selectedDate);\n                    c.appntShortDescription = \"\";\n                    c.appntDescription = \"\";\n                    c.appntLocationSysid = \"\";\n                    c.appntLocation = \"\";\n                    $rootScope.$broadcast('appointmentCreated', '');\n                }\n            }\n        });\n    };\n\n\n    function populateDate() {\n        c.minDate = new Date();\n        c.getTimeSlots(c.minDate);\n        c.selectedDate = c.minDate;\n        c.dateFormatted = moment(c.selectedDate).format(\"dddd, MMMM D YYYY\");\n        return c.minDate;\n    }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$time-slot-bg:#e4edf9;\n$time-slot-text:#607795;\n$brand-primary:#4b8cfb !default;\n.btn-submit {\n    width: 10%;\n    min-width: 80px;\n    @media screen and (max-width: 769px) {\n        width: 100%;\n    }\n}\n\n.switch-part {\n    width: 25%;\n    float: left;\n    min-width: 160px;\n    @media screen and (max-width: 769px) {\n        width: 50%;\n    }\n}\n\n.time-selector {\n    width: 30%;\n    min-width: 150px;\n    float: left;\n    @media screen and (max-width: 769px) {\n        width: 50%;\n    }\n}\n\n.time-card-container {\n    clear: both;\n    overflow: hidden;\n}\n\n.time-cards {\n    width: 47%;\n    height: 60px;\n    float: left;\n    padding: 10px;\n    color: $time-slot-text;\n    margin: 5px;\n    font-size: 18px;\n    background: $time-slot-bg;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    @media screen and (max-width: 414px) {\n        width: 100%;\n    }\n    &amp;amp;.btn-selected {\n        background: $brand-primary;\n        color: #fff;\n        .fa {\n            color: #fff;\n        }\n    }\n    p {\n        margin: 0px;\n    }\n}\n\n.appointment-scheduler {\n    min-width: 320px;\n    background: #fff;\n    margin: 5px;\n    padding: 15px;\n    border-radius: 6px;\n    margin-top: 15px;\n    margin-bottom: 15px;\n    .btn.disabled {\n        opacity: .35;\n    }\n    .reminder-setup {\n        padding: 10px;\n        span {\n            font-size: 16px;\n        }\n        .reminder-select {\n            display: inline-block;\n            width: 100px;\n            margin-left: 5px;\n            margin-right: 5px;\n            height: 30px;\n        }\n    }\n    h3 {\n        margin-top: 10px;\n        font-weight: 300;\n    }\n    .uib-datepicker .btn-default {\n        border: 1px solid #fff;\n    }\n    table.uib-daypicker thead tr:nth-child(2) {\n        background-color: aliceblue;\n    }\n    .btn-info.active {\n        border-radius: 50%;\n        color: #fff;\n        .text-info {\n            color: #fff;\n        }\n    }\n    .btn[disabled] {\n        opacity: 0.35;\n    }\n    .uib-button-bar {\n        .uib-datepicker-current {\n            background: inherit;\n            color: $brand-info;\n            border: 0px;\n        }\n        .uib-clear {\n            background: inherit;\n            color: $brand-danger;\n            border: 0px;\n        }\n        .uib-close {\n            background: inherit;\n            color: $brand-success;\n            border: 0px;\n        }\n    }\n    .remove-padding-left {\n        padding-left: 0px;\n    }\n    .flex-it {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n    .button-div {\n        display: inline-block;\n    }\n    .alert-div {\n        margin-top: 30px;\n        position: relative;\n        clear: both;\n        .close {\n            position: absolute;\n            right: 6px;\n            top: 3px;\n        }\n    }\n    .slot-selector {\n        margin-top: 20px;\n        .appt-dateformatted {\n            float: left;\n            margin: 0;\n            margin-left: 57px;\n            margin-top: -38px;\n            margin-right: 15px;\n            height: 18px;\n            font-size: 17px;\n            font-weight: 400;\n            line-height: 1;\n            z-index: 400;\n            color: #aaaaaa;\n            background-color: #ffffff;\n            position: relative;\n        }\n        .appt-change {\n            float: right;\n            margin-top: -38px;\n            margin-right: 15px;\n            letter-spacing: 1.1px;\n            font-size: 12px;\n            font-weight: 600;\n            line-height: 1.5;\n            color: $brand-primary;\n            z-index: 400;\n            position: relative;\n            @media screen and (max-width: 300px) {\n                display: none;\n            }\n        }\n        .appt-datepicker {\n            margin: 0 auto;\n            margin-bottom: 30px;\n        }\n        .input-group,\n        .form-group {\n            margin: 0 auto;\n            width: 100%;\n        }\n        .uidatepicker {\n            border-radius: 0px;\n            height: 60px;\n            background: no-repeat scroll 20px 15px;\n            background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMyIgaGVpZ2h0PSIyNiIgdmlld0JveD0iMCAwIDIzIDI2Ij4gICAgPGcgZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgIDxwYXRoIGQ9Ik0yMC45MjcgMjZIMS45MDJBMS44NjggMS44NjggMCAwIDEgMCAyNC4wOThWNS4wNzNjMC0xLjA3OC44MjQtMS45MDIgMS45MDItMS45MDJoMTkuMDI1YzEuMDc4IDAgMS45MDIuODI0IDEuOTAyIDEuOTAydjE5LjAyNUExLjg2OCAxLjg2OCAwIDAgMSAyMC45MjcgMjZ6TTEuOTAyIDQuNDM5Yy0uMzggMC0uNjM0LjI1NC0uNjM0LjYzNHYxOS4wMjVjMCAuMzguMjU0LjYzNC42MzQuNjM0aDE5LjAyNWMuMzggMCAuNjM0LS4yNTQuNjM0LS42MzRWNS4wNzNjMC0uMzgtLjI1NC0uNjM0LS42MzQtLjYzNEgxLjkwMnpNNS4wNzMgMGgxLjI2OHYzLjE3MUg1LjA3M3pNMTYuNDg4IDBoMS4yNjh2My4xNzFoLTEuMjY4eiIvPiAgICAgICAgPHBhdGggZD0iTTExLjQxNSAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgOC44NzggNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzN0EyLjU0NCAyLjU0NCAwIDAgMSAxMy45NSA3LjYxYTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2IDIuNTM2em0wLTMuODA1Yy0uNjk4IDAtMS4yNjkuNTcxLTEuMjY5IDEuMjY5IDAgLjY5Ny41NzEgMS4yNjggMS4yNjkgMS4yNjguNjk3IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTE3Ljc1NiAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgMTUuMjIgNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNyAyLjUzNyAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNyAyLjUzNnptMC0zLjgwNWMtLjY5NyAwLTEuMjY4LjU3MS0xLjI2OCAxLjI2OSAwIC42OTcuNTcgMS4yNjggMS4yNjggMS4yNjguNjk4IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTUuMDczIDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNkEyLjU0NCAyLjU0NCAwIDAgMSA3LjYxIDEzLjk1YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNMTEuNDE1IDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNy0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzNiAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNiAyLjUzNiAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNiAyLjUzN3ptMC0zLjgwNWMtLjY5OCAwLTEuMjY5LjU3LTEuMjY5IDEuMjY4IDAgLjY5OC41NzEgMS4yNjkgMS4yNjkgMS4yNjkuNjk3IDAgMS4yNjgtLjU3MSAxLjI2OC0xLjI2OSAwLS42OTctLjU3LTEuMjY4LTEuMjY4LTEuMjY4ek0xNy43NTYgMTYuNDg4YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2LTIuNTM3IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM2LTIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM3IDIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNNS4wNzMgMjIuODNhMi41NDQgMi41NDQgMCAwIDEtMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzcgMi41MzcgMi41NDQgMi41NDQgMCAwIDEtMi41MzcgMi41MzZ6bTAtMy44MDZjLS42OTcgMC0xLjI2OC41NzEtMS4yNjggMS4yNjkgMCAuNjk3LjU3IDEuMjY4IDEuMjY4IDEuMjY4LjY5OCAwIDEuMjY4LS41NyAxLjI2OC0xLjI2OCAwLS42OTgtLjU3LTEuMjY5LTEuMjY4LTEuMjY5eiIvPiAgICA8L2c+PC9zdmc+);\n            background-color: #fff;\n            padding-left: 60px;\n            @media (max-width: 320px) {\n                max-width: 290px;\n                background: no-repeat scroll 10px 15px;\n                background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMyIgaGVpZ2h0PSIyNiIgdmlld0JveD0iMCAwIDIzIDI2Ij4gICAgPGcgZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgIDxwYXRoIGQ9Ik0yMC45MjcgMjZIMS45MDJBMS44NjggMS44NjggMCAwIDEgMCAyNC4wOThWNS4wNzNjMC0xLjA3OC44MjQtMS45MDIgMS45MDItMS45MDJoMTkuMDI1YzEuMDc4IDAgMS45MDIuODI0IDEuOTAyIDEuOTAydjE5LjAyNUExLjg2OCAxLjg2OCAwIDAgMSAyMC45MjcgMjZ6TTEuOTAyIDQuNDM5Yy0uMzggMC0uNjM0LjI1NC0uNjM0LjYzNHYxOS4wMjVjMCAuMzguMjU0LjYzNC42MzQuNjM0aDE5LjAyNWMuMzggMCAuNjM0LS4yNTQuNjM0LS42MzRWNS4wNzNjMC0uMzgtLjI1NC0uNjM0LS42MzQtLjYzNEgxLjkwMnpNNS4wNzMgMGgxLjI2OHYzLjE3MUg1LjA3M3pNMTYuNDg4IDBoMS4yNjh2My4xNzFoLTEuMjY4eiIvPiAgICAgICAgPHBhdGggZD0iTTExLjQxNSAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgOC44NzggNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzN0EyLjU0NCAyLjU0NCAwIDAgMSAxMy45NSA3LjYxYTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2IDIuNTM2em0wLTMuODA1Yy0uNjk4IDAtMS4yNjkuNTcxLTEuMjY5IDEuMjY5IDAgLjY5Ny41NzEgMS4yNjggMS4yNjkgMS4yNjguNjk3IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTE3Ljc1NiAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgMTUuMjIgNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNyAyLjUzNyAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNyAyLjUzNnptMC0zLjgwNWMtLjY5NyAwLTEuMjY4LjU3MS0xLjI2OCAxLjI2OSAwIC42OTcuNTcgMS4yNjggMS4yNjggMS4yNjguNjk4IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTUuMDczIDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNkEyLjU0NCAyLjU0NCAwIDAgMSA3LjYxIDEzLjk1YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNMTEuNDE1IDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNy0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzNiAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNiAyLjUzNiAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNiAyLjUzN3ptMC0zLjgwNWMtLjY5OCAwLTEuMjY5LjU3LTEuMjY5IDEuMjY4IDAgLjY5OC41NzEgMS4yNjkgMS4yNjkgMS4yNjkuNjk3IDAgMS4yNjgtLjU3MSAxLjI2OC0xLjI2OSAwLS42OTctLjU3LTEuMjY4LTEuMjY4LTEuMjY4ek0xNy43NTYgMTYuNDg4YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2LTIuNTM3IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM2LTIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM3IDIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNNS4wNzMgMjIuODNhMi41NDQgMi41NDQgMCAwIDEtMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzcgMi41MzcgMi41NDQgMi41NDQgMCAwIDEtMi41MzcgMi41MzZ6bTAtMy44MDZjLS42OTcgMC0xLjI2OC41NzEtMS4yNjggMS4yNjkgMCAuNjk3LjU3IDEuMjY4IDEuMjY4IDEuMjY4LjY5OCAwIDEuMjY4LS41NyAxLjI2OC0xLjI2OCAwLS42OTgtLjU3LTEuMjY5LTEuMjY4LTEuMjY5eiIvPiAgICA8L2c+PC9zdmc+);\n                padding-left: 40px;\n            }\n        }\n    }\n    .reminder-select {\n        width: 100px;\n        height: 28px;\n        margin-top: 10px;\n        padding: 0px;\n        padding-left: 3px;\n        display: inline-flex;\n        @media (max-width: 320px) {\n            margin-left: -25px;\n        }\n    }\n    .reminder-select-label {\n        position: absolute;\n        margin-left: 8px;\n        margin-top: 14px;\n        font-size: 16px;\n        color: $brand-primary;\n    }\n    /* line 1, sass/custom/_switches.scss */\n    input[type=checkbox] {\n        visibility: hidden;\n    }\n    .switch-label {\n        position: absolute;\n        margin-left: 8px;\n        margin-top: 4px;\n        font-size: 16px;\n        color: $brand-primary;\n    }\n    .input-switch {\n        height: 28px;\n        margin-top: 10px;\n        margin-bottom: 20px;\n        margin-left: -10px;\n        @media (max-width: 320px) {\n            margin-left: -15px;\n        }\n    }\n    /* line 21, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]~.switch {\n        background-color: #aaaaaa;\n        width: 50px;\n        height: 27px;\n        border-radius: 12.5px;\n        position: relative;\n        display: inline-block;\n        transition: all 0.4s;\n        /*box-shadow: inset 0px 0px 3px 0px #777;*/\n    }\n    /* line 31, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]~.switch:before {\n        content: '';\n        color: transparent;\n        background-color: #fff;\n        border-radius: 50%;\n        width: 45%;\n        position: absolute;\n        left: 0;\n        top: 0;\n        bottom: 0;\n        margin: 2px;\n        transition: all 0.4s;\n        /*box-shadow: 0 6px 18px -9px #000000;*/\n    }\n    /* line 51, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:checked~.switch {\n        background-color: $brand-primary;\n    }\n    /* line 54, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:checked~.switch:before {\n        left: 23.5px;\n    }\n    /* line 61, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:disabled~.switch {\n        opacity: 0.5;\n    }\n    /* line 69, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:hover~.switch:before {\n        box-shadow: 0px;\n        /*box-shadow: 0 6px 18px -5px #000000;*/\n    }\n    /* line 76, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:focus~.switch {\n        border: 0px;\n        box-shadow: 0px;\n        /*border: 1px solid #278efc;*/\n        /*box-shadow: 0px 0px 6px 1px #278efc, inset 0px 0px 3px 0px #777;*/\n    }\n    /* line 87, sass/custom/_switches.scss */\n    .input-switch.input-switch-accessibility input[type=checkbox]~.switch:after {\n        content: '0';\n        color: #485563;\n        width: 45%;\n        position: absolute;\n        left: 23.5px;\n        top: 0;\n        bottom: 0;\n        margin: 2px;\n        line-height: 23px;\n        text-align: center;\n        font-weight: bold;\n    }\n    /* line 104, sass/custom/_switches.scss */\n    .input-switch.input-switch-accessibility input[type=checkbox]:checked~.switch:after {\n        content: '1';\n        color: #fff;\n        left: 0;\n    }\n    button {\n        margin-right: 5px;\n        margin-bottom: 5px;\n        &amp;amp;.btn-slots {\n            border-color: transparent;\n            background: $time-slot-bg;\n            color: $time-slot-text;\n            width: 70px;\n            height: 34px;\n            @media (max-width: 414px) {\n                width: 75px;\n            }\n        }\n        &amp;amp;.btn-selected {\n            background: $brand-primary;\n            color: #fff;\n        }\n    }\n    .no-slots {\n        color: $brand-danger;\n    }\n    .chiclets {\n        clear: both;\n    }\n    .appt-field textarea {\n        border-radius: 0px;\n        -webkit-appearance: none;\n        -webkit-border-radius: 0px;\n        width: 100%;\n        resize: none;\n        font-size: 18px;\n        color: $bam-dark-gray;\n        margin-top: 4px;\n        padding-bottom: 0px;\n        background-color: transparent;\n        border: 0px solid transparent;\n        border-bottom: 1px solid #aaa;\n    }\n    .appt-field-placeholder {\n        opacity: 0.6;\n        position: relative;\n    }\n    .appt-field {\n        border-bottom: 0px solid transparent;\n        margin-top: 20px;\n        margin-bottom: 20px;\n        clear: both;\n         :focus {\n            border-bottom: 1px solid $brand-primary;\n            color: $brand-primary;\n        }\n    }\n    .appt-field :focus {\n        border-bottom: 1px solid $brand-primary;\n        color: $brand-primary;\n    }\n    .appt-field input {\n        padding-left: 0px;\n        height: 53px;\n        -webkit-border-radius: 0px;\n        -moz-border-radius: 0px;\n        -ms-border-radius: 0px;\n        border-radius: 0px;\n        -webkit-appearance: none;\n        -webkit-border-radius: 0px;\n        width: 100%;\n        max-width: 100%;\n        font-size: 18px;\n        color: #7f7f7f;\n        padding-bottom: 0px;\n        background-color: transparent;\n        border: 0px solid transparent;\n        border-bottom: 1px solid #aaa;\n    }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;appointment-scheduling&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Appointment Scheduling&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"label\":\"Title\",\"type\":\"string\"},{\"displayValue\":\"Task Appointment\",\"name\":\"task_appointment_record\",\"label\":\"Task Appointment Definition\",\"type\":\"reference\",\"value\":\"u_task_appointment\",\"ed\":{\"reference\":\"u_task_appointment\"}},{\"hint\":\"Appointment button layout choices\",\"name\":\"layout\",\"default_value\":\"Chiclets\",\"label\":\"Layout Options\",\"type\":\"choice\",\"choices\":[{\"label\":\"Dropdown\",\"value\":\"Dropdown\"},{\"label\":\"Chiclets\",\"value\":\"Chiclets\"},{\"label\":\"Timecards\",\"value\":\"Timecards\"}]},{\"hint\":\"This leverages an out of the box feature that will send an email prior to a date/time value in a task.\",\"name\":\"allow_reminders\",\"default_value\":\"\",\"label\":\"Allow reminders\",\"type\":\"boolean\"},{\"name\":\"max_date\",\"default_value\":\"30\",\"label\":\"Maximum available date (in days)\",\"type\":\"integer\"},{\"name\":\"show_short_description\",\"label\":\"Show Short Description\",\"type\":\"boolean\"},{\"name\":\"show_description\",\"label\":\"Show Description\",\"type\":\"boolean\"},{\"name\":\"show_location\",\"label\":\"Show Location\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// populate the 'data' variable with catalog item, variables, and variable view\n(function() {\n\n    data.reminderTimes = getReminderChoices();\n\n    function getReminderChoices() {\n        var tempArray = [];\n        var reminderGR = new GlideRecord('sys_choice');\n        reminderGR.addQuery('element', 'remind_me');\n        reminderGR.addQuery('inactive', false);\n        reminderGR.orderBy('sequence');\n        reminderGR.query();\n        while (reminderGR.next()) {\n            var obj = {};\n            $sp.getRecordElements(obj, reminderGR, 'label,sys_id,value');\n            tempArray.push(obj);\n        }\n        return tempArray;\n    }\n\n    if (input) {\n        if (input.action == 'getTimeSlots') {\n            data.timeSlots = new global.TaskAppointmentUtils().getTimeSlots(options.task_appointment_record, input.selectedDate);\n        }\n        if (input.action == 'setTimeSlots') {\n            data.timeSlotReturn = new global.TaskAppointmentUtils().createAppointment(options.task_appointment_record, input.meetingTime, input.additionalFields);\n        }\n        if (input.action == 'setupReminder') {\n            data.reminderReturn = new global.TaskAppointmentUtils().createReminder(input.taskSysid, input.selectedTime)\n        }\n    }\n})()]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chandrashekar&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-21 23:38:10&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;25490ef0dba7b600c3beffa31d961986&lt;/sys_id&gt;&lt;sys_mod_count&gt;943&lt;/sys_mod_count&gt;&lt;sys_name&gt;Appointment Scheduling&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_25490ef0dba7b600c3beffa31d961986&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-04 20:43:55&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none;\"&gt;\n  &lt;symbol id=\"icon-location\" width=\"20\" height=\"26\" viewBox=\"0 0 20 26\"&gt;\n    &lt;path d=\"M9.68 26C8.133 26 0 14.826 0 9.68 0 4.37 4.37 0 9.68 0c5.311 0 9.682 4.37 9.682 9.68C19.362 14.827 11.23 26 9.68 26zm0-24.894c-4.701 0-8.574 3.873-8.574 8.575 0 4.702 7.192 14.162 8.575 15.157 1.383-.995 8.574-10.51 8.574-15.157 0-4.702-3.872-8.575-8.574-8.575z\"/&gt;\n    &lt;path d=\"M9.68 13.83c-2.267 0-4.148-1.881-4.148-4.15 0-2.267 1.88-4.148 4.149-4.148 2.268 0 4.149 1.88 4.149 4.149 0 2.268-1.881 4.149-4.15 4.149zm0-7.192c-1.659 0-3.042 1.383-3.042 3.043 0 1.66 1.383 3.042 3.043 3.042 1.66 0 3.042-1.383 3.042-3.042 0-1.66-1.383-3.043-3.042-3.043z\"/&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id='icon-arrow' width=\"23\" height=\"12\" viewBox=\"0 0 23 12\"&gt;\n    &lt;path fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M1.438.429L11.501 11.57 21.563.43\"/&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"appointment-scheduler row\"&gt;\n    &lt;h3&gt;{{c.options.title}}&lt;/h3&gt;\n    &lt;div class=\"col-xs-12 remove-padding-left slot-selector\"&gt;\n        &lt;div class='appt-datepicker'&gt;\n            &lt;p class=\"input-group\"&gt;\n                &lt;input type=\"text\" class=\"form-control uidatepicker\" uib-datepicker-popup ng-model=\"c.selectedDate\" is-open=\"c.datePickerPopup.opened\" datepicker-options=\"c.dateOptions\" ng-required=\"true\" close-text=\"Close\" ng-change=\"c.getTimeSlots(c.selectedDate)\"\n                    ng-click=\"c.openDatePickerPopup()\" /&gt;\n                &lt;span class='appt-dateformatted' ng-click=\"c.openDatePickerPopup()\"&gt;{{c.dateFormatted}}&lt;/span&gt;\n                &lt;span class='appt-change' ng-click=\"c.openDatePickerPopup()\"&gt;CHANGE&lt;/span&gt;\n            &lt;/p&gt;\n        &lt;/div&gt;\n        &lt;!--#####################Chiclet#################################################--&gt;\n        &lt;div class=\"chiclets\" ng-if=\"c.options.layout == 'Chiclets'\"&gt;\n            &lt;p class=\"no-slots\" ng-show=\"c.timeSLots.length == 0\"&gt;\n                -- No appointments available for selected date --\n            &lt;/p&gt;\n            &lt;button class=\"btn btn-slots\" ng-class=\"{'disabled':slot.taken == 'yes','btn-selected':c.selectedSlot.date_time == slot.date_time }\" ng-click=\"c.selectedSlot = slot\" ng-repeat=\"slot in c.timeSLots\"&gt;{{slot.time_slot}}&lt;/button&gt;\n        &lt;/div&gt;\n        &lt;!--##########################Dropdown #########################################--&gt;\n        &lt;div class=\"form-group col-md-12 remove-padding-left\" ng-if=\"c.options.layout == 'Dropdown'\"&gt;\n            &lt;p class=\"no-slots\" ng-show=\"c.timeSLots.length == 0\"&gt;\n                -- No appointments available for selected date --\n            &lt;/p&gt;\n            &lt;select ng-show=\"c.timeSLots.length != 0\" class=\"form-control\" ng-options=\"slot as slot.time_slot for slot in c.timeSLots\" ng-model=\"c.selectedSlot\"&gt;&lt;/select&gt;\n\n        &lt;/div&gt;\n\n        &lt;!--##################### Timecards #################################################--&gt;\n        &lt;div class=\"chiclets\" ng-if=\"c.options.layout == 'Timecards'\"&gt;\n            &lt;p class=\"no-slots\" ng-show=\"c.timeSLots.length == 0\"&gt;\n                -- No appointments available for selected date --\n            &lt;/p&gt;\n            &lt;div class=\"time-card-container\"&gt;\n                &lt;div class=\"time-cards\" ng-class=\"{'btn-selected':c.selectedSlot.date_time == slot.date_time }\" ng-click=\"c.selectedSlot = slot\" ng-repeat=\"slot in c.timeSLots\"&gt;\n                    &lt;p&gt;{{slot.time_slot}}&lt;/p&gt;\n                    &lt;i ng-if=\"c.selectedSlot.date_time == slot.date_time\" class=\"fa fa-2x fa-clock-o\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;!--################## SHORT  DESCRIPTION ############################--&gt;\n        &lt;div ng-if=\"c.options.show_short_description === 'true'\" class='appt-field' ng-class=\"{'appt-field-placeholder' : c.appntShortDescription.length === 0}\"&gt;\n            &lt;textarea ng-model='c.appntShortDescription' placeholder='Short description'&gt;&lt;/textarea&gt;\n        &lt;/div&gt;\n        &lt;!--################## DESCRIPTION ############################--&gt;\n        &lt;div ng-if=\"c.options.show_description === 'true'\" class='appt-field' ng-class=\"{'appt-field-placeholder' : c.appntDescription.length === 0}\"&gt;\n            &lt;textarea ng-model='c.appntDescription' placeholder='Description'&gt;&lt;/textarea&gt;\n        &lt;/div&gt;\n        &lt;!--################## LOCATION ############################--&gt;\n        &lt;div class=\"appt-field\" ng-if=\"c.options.show_location === 'true'\"&gt;\n            &lt;input id=\"autocomplete-input\" ng-class=\"{'appt-field-placeholder' : !c.appntLocation}\" typeahead-on-select=\"c.locationChosen($item)\" type=\"text\" ng-model=\"c.appntLocation\" uib-typeahead=\"location as location.name for location in c.getLocations($viewValue)\"\n                typeahead-no-results=\"noResults\" class=\"autocomplete\" placeholder=\"Location\"&gt;\n        &lt;/div&gt;\n        &lt;!--################## REMINDER ############################--&gt;\n        &lt;div class='remind-container' ng-if=\"c.options.allow_reminders === 'true'\"&gt;\n            &lt;div class='row'&gt;\n                &lt;div class='switch-part'&gt;\n                    &lt;div class=\"form-group\" ng-show=\"c.timeSLots.length &gt; 0\"&gt;\n                        &lt;div class=\"input-switch\"&gt;\n                            &lt;input ng-model=\"c.setReminder\" type=\"checkbox\"&gt;\n                            &lt;label aria-hidden=\"true\" class=\"switch\" ng-click='c.setReminder = !c.setReminder' for=\"setReminder\"&gt;&lt;/label&gt;\n                            &lt;label aria-hidden=\"true\" class=\"switch-label\" ng-click='c.setReminder = !c.setReminder'&gt;Set Reminder&lt;/label&gt;\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class='time-selector'&gt;\n                    &lt;div class='fade' ng-class=\"{'in':c.setReminder===true}\"&gt;\n                        &lt;select class=\"form-control reminder-select\" ng-options=\"time as time.label.display_value for time in c.data.reminderTimes\" ng-model=\"c.selectedReminderTime\"&gt;&lt;/select&gt;\n                        &lt;label aria-hidden=\"true\" class=\"reminder-select-label\"&gt; prior.&lt;/label&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;button id='btnContinue' class=\"btn btn-primary btn-submit\" ng-class=\"{'disabled':!c.selectedSlot}\" ng-click=\"c.submitTimeSlot(c.selectedDate,c.selectedSlot.date_time)\"&gt;Submit&lt;/button&gt;\n\n        &lt;div class=\"alert alert-div alert-success\" ng-show=\"c.alertSuccess\"&gt;\n            &lt;span class=\"close\" ng-click=\"c.alertSuccess = false\"&gt;x&lt;/span&gt;\n            &lt;p&gt;You are all set. See you on {{c.dateFormatted}}.&lt;/p&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c98f88964f442300d1676bd18110c799</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9394900000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>Appointment Scheduling</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_task_appointment\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_task_appointment&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 18:13:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;761bae80dbe3760087c1fd441d961987&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_task_appointment_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-28 19:28:53&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c98f88964f442300d1676bd18110c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c4d5f288dbe3760087c1fd441d9619d7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.TaskAppointmentUtils&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;TaskAppointmentUtils&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var TaskAppointmentUtils = Class.create();\nTaskAppointmentUtils.prototype = {\n\t\n\t/*\n\tDesign Notes:\n\t\n\tA u_task_appointment record defines the time slots available for\n\tappointments to be made with an individual or group, and tracks all of\n\tthe scheduled appointments as task records that reference the\n\tu_task_appointment. The duration of a time slot is configurable, but\n\tconsistent for all time slots. Time slots will only be available during\n\ta schedule, which is configurable.\n\t\n \t*/\n\t\n\tinitialize: function() {\n\t},\n\t\n\t/*\n\t * This is the function utilized by the Appointment Scheduling Widget\n\t * This function utilizes the u_task_appointment record for the large majority of the setup.  An encoded query can be passed\n\t * to further filter the available timeslots.  Example would be get time slots based on a location, floor, etc.\n\t *\n\t * By default the reserved slots are not passed to the widget, but the value for showReserved could be passed as false and the\n\t * reserved timeslots will be passed.  If the widget layout is Chiclets, reserved slots will show but be grayed out.\n\t*/\n\tgetTimeSlots: function(taskApptID, selectedDate, encodedQuery, showReserved) {\n\t\t/*\n \t\t* Example output:\n \t\t* [{\"date_time\":\"2017-06-19 08:00:00\",\"sys_id\":\"\",\"taken\":\"no\",\"time_slot\":\"8:00AM\"},\n\t\t* {\"date_time\":\"2017-06-19 08:30:00\",\"sys_id\":\"b400760ddb23f60087c1fd441d96193c\",\"taken\":\"yes\",\"time_slot\":\"8:30AM\"},…]\n\t\t*/\n\t\t\n\t\tif (gs.nil(showReserved)) {\n\t\t\tshowReserved = false;\n\t\t}\n\n\t\tvar answerList = [];\n\n\t\tvar taskApptRec = new GlideRecord(\"u_task_appointment\");\n\t\ttaskApptRec.get(taskApptID);\n\t\tvar apptDuration = parseInt(taskApptRec.u_appointment_duration, 10) * 60;\n\t\tvar concurrentAppts = parseInt(taskApptRec.u_concurrent_appointments, 10);\n\t\tvar leadTime = parseInt(taskApptRec.u_lead_time.dateNumericValue(), 10) / 1000; // In seconds\n\t\tif (gs.nil(concurrentAppts)) {\n\t\t\tconcurrentAppts = 1;\n\t\t}\n\t\t\n\t\tvar scheduleSlots = this._getScheduleSlots(taskApptRec.u_schedule, apptDuration, selectedDate, true, leadTime);\n\t\tvar reservedList = this._getReservedSlots(taskApptRec, selectedDate.toString().split(\" \")[0], scheduleSlots, encodedQuery);\n\n\t\tfor (var i = 0; i &lt; scheduleSlots.length; i++) {\n\t\t\tvar slotDetails = {};\n\t\t\tvar keyString = scheduleSlots[i].toString() + \"\";\n\t\t\tvar slotKey = \"t\" + keyString.replace(/[-: ]/g, \"\");\n\t\t\t\n\t\t\tslotDetails.date_time = scheduleSlots[i].toString();\n\t\t\tslotDetails.time_slot = this._getTimeSlot(scheduleSlots[i].toString());\n\t\t\t\n\t\t\tvar slotsOccupiedCount = parseInt(reservedList[slotKey].task_count, 10);\n\t\t\tif (slotsOccupiedCount) {\n\t\t\t\tif (slotsOccupiedCount &gt;= concurrentAppts &amp;&amp; showReserved) {\n\t\t\t\t\tslotDetails.taken = \"yes\";\n\t\t\t\t\tslotDetails.sys_id = reservedList[slotKey].sys_id;\n\t\t\t\t} else if (slotsOccupiedCount &lt; concurrentAppts) {\n\t\t\t\t\tslotDetails.taken = \"no\";\n\t\t\t\t\tslotDetails.sys_id = reservedList[slotKey].sys_id;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tslotDetails.taken = \"no\";\n\t\t\t\tslotDetails.sys_id = \"\";\n\t\t\t}\n\t\t\tanswerList.push(slotDetails);\n\t\t}\n\n\t\tvar answer = new JSON().encode(answerList);\n\t\treturn answer.toString();\n\t},\n\n\t_getTimeSlot: function(dateTime) {\n\t\tvar timePortion = dateTime.toString().split(\" \")[1];\n\t\tvar timeArray = timePortion.toString().split(\":\");\n\t\tvar hour = parseInt(timeArray[0].toString(), 10);\n\t\tvar amPM = \"\";\n\t\tif (hour &lt; 12) {\n\t\t\tamPM = \"AM\";\n\t\t} else if (hour == 12) {\n\t\t\tamPM = \"PM\";\n\t\t} else {\n\t\t\thour = hour - 12;\n\t\t\tamPM = \"PM\";\n\t\t}\n\t\tvar minutes = timeArray[1];\n\t\t\n\t\treturn hour + \":\" + minutes + amPM;\n\t},\n\t\n\t_getReservedSlots: function(taskApptRec, startDate, scheduleSlots, encodedQuery) {\n\t\tvar apptDuration = parseInt(taskApptRec.u_appointment_duration, 10) * 60;\n\t\tvar taskList = {}; // Key is slot date/time\n\t\t\n\t\tvar taskRec = new GlideRecord(taskApptRec.u_task_type);\n\t\ttaskRec.addQuery(\"u_task_appointment\", taskApptRec.sys_id);\n\t\ttaskRec.addQuery(\"work_start\", \"&gt;=\", gs.dateGenerate(startDate, \"start\"));\n\t\ttaskRec.addQuery(\"work_end\", \"&lt;=\", gs.dateGenerate(startDate, \"end\"));\n\t\tif (!gs.nil(encodedQuery)) {\n\t\t\ttaskRec.addEncodedQuery(encodedQuery);\n\t\t}\n\t\ttaskRec.orderBy(\"work_start\");\n\t\ttaskRec.query();\n\t\twhile (taskRec.next()) {\n\t\t\tvar workStart = new GlideDateTime(taskRec.work_start).getDisplayValueInternal() + \"\";\n\t\t\tvar workEnd = new GlideDateTime(taskRec.work_end).getDisplayValueInternal() + \"\";\n\t\t\tvar taskID = taskRec.sys_id.toString();\n\t\t\t\n\t\t\ttaskList = this._setTaskDetails(workStart, taskID, taskList);\n\t\t\t\n\t\t\t// Check to see if task takes up multiple slots\n\t\t\tvar workDuration = gs.dateDiff(workStart, workEnd, true);\n\t\t\tif (workDuration &gt; apptDuration) {\n\t\t\t\tvar slotIndex = scheduleSlots.indexOf(workStart) + 1;\n\t\t\t\tvar slotValue = scheduleSlots[slotIndex];\n\t\t\t\tvar tempDate = new GlideDateTime(slotValue);\n\t\t\t\t\n\t\t\t\twhile (tempDate &lt; workEnd) {\n\t\t\t\t\ttaskList = this._setTaskDetails(slotValue, taskID, taskList);\n\t\t\t\t\tslotIndex += 1;\n\t\t\t\t\tslotValue = scheduleSlots[slotIndex];\n\t\t\t\t\ttempDate.setValue(slotValue);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//gs.log(\"taskList: \" + new JSON().encode(taskList));\n\t\treturn taskList;\n\t},\n\n\t_setTaskDetails: function(taskStart, taskID, taskList) {\n\t\tvar slotKey = \"t\" +\ttaskStart.replace(/[-: ]/g, \"\");\n\t\tif (taskList[slotKey]) {\n\t\t\tvar sysIDList = taskList[slotKey].sys_id.toString().split(\",\");\n\t\t\tif (sysIDList.indexOf(taskID) == -1) {\n\t\t\t\tsysIDList.push(taskID);\n\t\t\t\ttaskList[slotKey].task_count = sysIDList.length;\n\t\t\t\tsysIDList = sysIDList.join(\",\").toString();\n\t\t\t\ttaskList[slotKey].sys_id = sysIDList;\n\t\t\t}\n\t\t} else {\n\t\t\tvar taskDetails = {};\n\t\t\ttaskDetails.sys_id = taskID;\n\t\t\ttaskDetails.task_count = 1;\n\t\t\ttaskList[slotKey] = taskDetails;\n\t\t}\n\t\t\t\n\t\treturn taskList;\n\t},\n\t\n\t_getScheduleSlots: function(scheduleID, apptDuration, startDate, startFromNow, leadTime) {\n\t\tvar answerList = [];\n\t\t\n\t\tif (gs.nil(startFromNow)) {\n\t\t\tstartFromNow = true;\n\t\t}\n\t\t\n\t\tvar nowDateTime = new GlideDateTime().getDisplayValueInternal();\n\t\tnowDateTime = new GlideDateTime(nowDateTime);\n\t\t\n\t\tif (!gs.nil(leadTime) &amp;&amp; leadTime &gt; 0) {\n\t\t\tnowDateTime.addSeconds(leadTime);\n\t\t}\n\t\t\t\t\n\t\tvar userTZ = gs.getUser().getTZ();\n\t\tvar schedule = new GlideSchedule(scheduleID);\n\t\tschedule.setTimeZone(userTZ);\n\t\t\n\t\tif (gs.nil(startDate)) {\n\t\t\tstartDate = new GlideDateTime().getDisplayValueInternal();\n\t\t\tstartDate = new GlideDateTime(startDate.toString().split(\" \")[0]);\n\t\t} else {\n\t\t\tstartDate = new GlideDateTime(startDate);\n\t\t}\n\t\t\n\t\tvar endDate = new GlideDateTime(startDate);\n\t\tendDate.addDays(1);\n\t\t\n\t\tvar spans = schedule.getSpans(startDate, endDate);\n\t\t\n\t\tif (gs.nil(spans)) {\n\t\t\t// Do nothing since no group isn't available and pass empty answerList\n\t\t} else {\n\t\t\tvar schStart;\n\t\t\tvar schEnd;\n\t\t\tfor (var i = 0; i &lt; spans.size(); i++) {\n\t\t\t\tvar span = spans.get(i);\n\t\t\t\tvar spanStart = new GlideDateTime(span.getStart().toString());\n\t\t\t\tvar spanEnd = new GlideDateTime(span.getEnd().toString());\n\t\t\t\tif (spanStart &lt; startDate &amp;&amp; spanEnd &gt; startDate) {\n\t\t\t\t\tschStart = startDate;\n\t\t\t\t} else {\n\t\t\t\t\tschStart = spanStart;\n\t\t\t\t}\n\t\t\t\tif (spanStart &lt; endDate &amp;&amp; spanEnd &gt; endDate) {\n\t\t\t\t\tschEnd = endDate;\n\t\t\t\t} else {\n\t\t\t\t\tschEnd = spanEnd;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tvar tempStart = new GlideDateTime(schStart);\n\t\t\t\twhile (tempStart &lt; schEnd) {\n\t\t\t\t\tif (startFromNow) {\n\t\t\t\t\t\tif (nowDateTime &lt; tempStart) {\n\t\t\t\t\t\t\tanswerList.push(tempStart + \"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tanswerList.push(tempStart + \"\");\n\t\t\t\t\t}\n\t\t\t\t\ttempStart.addSeconds(apptDuration);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//gs.log(\"_getScheduleSlots: \" + new JSON().encode(answerList));\n\t\treturn answerList;\n\t},\n\n\t/*\n\t * This is the function utilized by the Appointment Scheduling Widget\n\t * This function is called when the user clicks the submit button and it will create a record in the task table defined in the\n\t * u_task_appointment record. \n\t *\n\t * The timeSlot must be passed in as YYYY-DD-MM hh:mm:ss format.  The widget is designed to do that. \n\t *\n\t * Additional fields can be passed as a key:value pair.  The key must be a valid field in the task table defined in the \n\t * u_task_appointment record.\n\t*/\n\t\n\tcreateAppointment: function(taskApptID, timeSlot, additionalFields) {\n\t\tvar taskApptRec = new GlideRecord(\"u_task_appointment\");\n\t\ttaskApptRec.get(taskApptID);\n\t\t\n\t\tif (!gs.nil(additionalFields)) {\n\t\t\tif (additionalFields.work_start) {\n\t\t\t\ttimeSlot = additionalFields.work_start;\n\t\t\t}\t\n\t\t}\n\n\t\tvar taskRec = new GlideRecord(taskApptRec.u_task_type);\n\t\ttaskRec.newRecord();\n\t\ttaskRec.applyEncodedQuery(taskApptRec.u_task_values);\n\t\ttaskRec.u_task_appointment = taskApptRec.sys_id;\n\n\t\t// Check if assignment group was filled in via template values and if not default it to the task appointment group.\n\t\tif (gs.nil(taskRec.assignment_group)) {\n\t\t\ttaskRec.assignment_group = taskApptRec.u_group;\n\t\t}\n\t\t\n\t\tvar workStart = new GlideDateTime();\n\t\tworkStart.setDisplayValueInternal(timeSlot);\n\t\ttaskRec.work_start = workStart;\n\t\tvar endTemp = new GlideDateTime(taskRec.work_start);\n\t\tvar apptDuration = parseInt(taskApptRec.u_appointment_duration, 10) * 60;\n\t\tendTemp.addSeconds(apptDuration);\n\t\ttaskRec.work_end = endTemp;\n\t\t\n\t\t// Set any additional values passed in via additionalFields\n\t\tif (!gs.nil(additionalFields)) {\n\t\t\tvar keys = Object.keys(additionalFields).toString();\n\t\t\tvar keysList = keys.split(\",\");\n\t\t\t\n\t\t\tfor (var i = 0; i &lt; keysList.length; i++) {\n\t\t\t\tvar fieldName = keysList[i].trim();\n\t\t\t\tvar fieldValue = additionalFields[fieldName].trim();\n\t\t\t\tif (!gs.nil(fieldValue) &amp;&amp; taskRec.isValidField(fieldName)) {\n\t\t\t\t\ttaskRec[fieldName] = fieldValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Capture return details for the Service Portal Widget\n\t\tvar answer = {};\n\t\tvar taskID = taskRec.insert();\n\t\tanswer.number = taskRec.number.toString();\n\t\tanswer.sys_id = taskID;\n\t\t\n\t\tanswer = new JSON().encode(answer);\n\t\treturn answer.toString();\n\t},\n\t\n\t/*\n\t * This is the function is currently NOT utilized but here in case it is needed.\n\t*/\n\t\n\tupdateAppointment: function(taskApptID, taskID, timeSlot, additionalFields) {\n\t\tvar taskApptRec = new GlideRecord(\"u_task_appointment\");\n\t\ttaskApptRec.get(taskApptID);\n\t\t\n\t\tif (!gs.nil(additionalFields)) {\n\t\t\tif (additionalFields.work_start) {\n\t\t\t\ttimeSlot = additionalFields.work_start;\n\t\t\t}\t\n\t\t}\n\n\t\tvar taskRec = new GlideRecord(taskApptRec.u_task_type);\n\t\ttaskRec.get(taskID);\n\n\t\ttaskRec.u_task_appointment = taskApptRec.sys_id;\n\t\tvar workStart = new GlideDateTime();\n\t\tworkStart.setDisplayValueInternal(timeSlot);\n\t\ttaskRec.work_start = workStart;\n\t\t\n\t\tvar endTemp = new GlideDateTime(taskRec.work_start);\n\t\tvar apptDuration = parseInt(taskApptRec.u_appointment_duration, 10) * 60;\n\t\tendTemp.addSeconds(apptDuration);\n\t\ttaskRec.work_end = endTemp;\n\t\t\n\t\t// Set any additional values passed in via additionalFields\n\t\tif (!gs.nil(additionalFields)) {\n\t\t\tvar keys = Object.keys(additionalFields).toString();\n\t\t\tvar keysList = keys.split(\",\");\n\t\t\t\n\t\t\tfor (var i = 0; i &lt; keysList.length; i++) {\n\t\t\t\tvar fieldName = keysList[i].trim();\n\t\t\t\tvar fieldValue = additionalFields[fieldName].trim();\n\t\t\t\tif (!gs.nil(fieldValue) &amp;&amp; taskRec.isValidField(fieldName)) {\n\t\t\t\t\ttaskRec[fieldName] = fieldValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ttaskRec.update();\n\t\t\n\t\t// Capture return details for the Service Portal Widget\n\t\tvar answer = {};\n\t\tanswer.number = taskRec.number.toString();\n\t\tanswer.sys_id = taskID;\n\t\t\n\t\tanswer = new JSON().encode(answer);\n\t\treturn answer.toString();\n\t},\n\n\t/*\n\t * This is the function utilized by the Appointment Scheduling Widget\n\t * This function is called if widget preferences allow remiders and if the user chooses to have a reminder set. \n\t *\n\t * This leveraged an undocumented Reminder feature that has been in the platform since the beginning.  Details on this feature can be found\n\t * in TechNow Episode 39: https://community.servicenow.com/message/1182600\n\t*/\n\t\n\tcreateReminder: function(taskID, timeBefore) {\n\t\tvar reminderRec = new GlideRecord(\"reminder\");\n\t\treminderRec.newRecord();\n\t\treminderRec.task = taskID;\n\t\treminderRec.remind_me = timeBefore;\n\t\treminderRec.user = gs.getUserID();\n\t\treminderRec.field = \"work_start\";\n\t\treminderRec.subject = \"You have an appointment at \" + reminderRec.task.work_start.getDisplayValue();\n\t\tvar reminderRecID = reminderRec.insert();\n\n\t\treturn reminderRecID;\n\t},\n\t\n\t/*\n\t * This is the function utilized by the Appointment List Widget\n\t * This function is called if a user clicks the trash can to delete the appointment. \n\t *\n\t * This function will delete the incident from the database.  This could be tweaked to mark the task as cancelled if preferred.\n\t*/\n\t\n\tremoveAppointment: function(taskApptID, taskID) {\n\t\tvar taskApptRec = new GlideRecord(\"u_task_appointment\");\n\t\ttaskApptRec.get(taskApptID);\n\n\t\tvar taskRec = new GlideRecord(taskApptRec.u_task_type);\n\t\ttaskRec.get(taskID);\n\t\ttaskRec.deleteRecord();\n\t\t\n\t\tvar reminderRec = new GlideRecord(\"reminder\");\n\t\treminderRec.addQuery(\"task\", taskID);\n\t\treminderRec.query();\n\t\treminderRec.deleteMultiple();\n\t},\n\n\t/*\n\t * This is the function utilized by the Appointment List Widget\n\t * This function provides a list of appointments for the logged in user that will be displayed in the widget. \n\t *\n\t * This function can accept a comma separated list of field names for the table task table defined in the\n\t * u_task_appointment record. \n\t*/\n\t\n\tgetUserAppointments: function(taskApptID, additionalFields, userID) {\n\t\tvar taskTable = \"task\";\n\t\tif (taskApptID) {\n\t\t\tvar taskApptRec = new GlideRecord(\"u_task_appointment\");\n\t\t\ttaskApptRec.get(taskApptID);\n\t\t\ttaskTable = !gs.nil(taskApptRec.u_task_type) ? taskApptRec.u_task_type: taskTable;\n\t\t}\n\t\t\n\t\tvar taskList = [];\n\t\tvar taskRec = new GlideRecord(taskTable);\n\t\ttaskRec.addNotNullQuery(\"u_task_appointment\");\n\t\tif (gs.nil(userID)) {\n\t\t\ttaskRec.addQuery(\"opened_by\", gs.getUserID());\n\t\t} else {\n\t\t\ttaskRec.addQuery(\"opened_by\", userID);\n\t\t}\n\t\ttaskRec.addQuery(\"work_start\", \"&gt;=\", gs.minutesAgoStart(0));\n\t\ttaskRec.orderBy(\"work_start\");\n\t\ttaskRec.query();\n\t\twhile (taskRec.next()) {\n\t\t\tvar taskDetails = {};\n\t\t\ttaskDetails.sys_id = taskRec.sys_id.toString();\n\t\t\ttaskDetails.number = taskRec.number.toString();\n\t\t\ttaskDetails.work_start = taskRec.work_start.getDisplayValue().toString();\n\t\t\ttaskDetails.work_end = taskRec.work_end.getDisplayValue().toString();\n\t\t\ttaskDetails.duration = gs.dateDiff(taskRec.work_start.getDisplayValue(), taskRec.work_end.getDisplayValue(), true);\n\t\t\ttaskDetails.short_description = taskRec.short_description.toString();\n\t\t\ttaskDetails.assignee_name = taskRec.assigned_to.getDisplayValue().toString();\n\t\t\ttaskDetails.assignee_sys_id = taskRec.assigned_to.toString();\n\t\t\ttaskDetails.location_name = taskRec.location.getDisplayValue().toString();\n\t\t\ttaskDetails.location_sys_id = taskRec.location.toString();\n\t\t\tif (taskDetails.assignee_sys_id) {\n\t\t\t\ttaskDetails.assignee_info = this._getUserDetails(taskDetails.assignee_sys_id);\n\t\t\t}\n\t\t\t\n\t\t\t// Set any additional values needed via additionalFields\n\t\t\tif (!gs.nil(additionalFields)) {\n\t\t\t\tvar additionalFieldsList = additionalFields.split(\",\");\n\n\t\t\t\tfor (var i = 0; i &lt; additionalFieldsList.length; i++) {\n\t\t\t\t\tvar fieldName = additionalFieldsList[i].trim();\n\t\t\t\t\tvar fieldValue = \"\";\n\t\t\t\t\tif (taskRec.isValidField(fieldName)) {\n\t\t\t\t\t\tfieldValue = taskRec[fieldName].toString();\n\t\t\t\t\t} else if (taskRec.getTableName() == \"task\" &amp;&amp; taskRec.sys_class_name != \"task\") {\n\t\t\t\t\t\tvar tempName = \"ref_\" + taskRec.sys_class_name + \".\" + fieldName;\n\t\t\t\t\t\tvar tempValue = taskRec.getElement(tempName);\n\t\t\t\t\t\tif (!gs.nil(tempValue)) {\n\t\t\t\t\t\t\tfieldValue = tempValue.toString();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ttaskDetails[fieldName] = fieldValue;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttaskList.push(taskDetails);\n\t\t}\n\n\t\tvar answer = new JSON().encode(taskList);\n\t\treturn answer.toString();\n\t},\n\t\n\t_getUserDetails: function(userID) {\n\t\tvar answer = {};\n\t\tvar userRec = new GlideRecord(\"sys_user\");\n\t\tuserRec.addQuery(\"sys_id\", userID);\n\t\tuserRec.query();\n\t\tif (userRec.next()) {\n\t\t\tanswer.email = userRec.email.toString();\n\t\t\tanswer.phone = userRec.phone.toString();\n\t\t\tanswer.photo = userRec.photo.getDisplayValue();\n\t\t\tanswer.initials = userRec.first_name.charAt(0) + userRec.last_name.charAt(0);\n\t\t}\n\t\t\n\t\treturn answer;\n\t},\n\t\n\t/*\n\t * This is the function utilized by the Enforce Task Appointment Schedule Business Rule\n\t * This function zeros out the seconds on the date provided.  This is important to determine scheduled timeslots.\n\t */\n\t\n\tsetZeroSeconds: function(dateTime) {\n\t\tvar timeString = dateTime.toString();\n\t\tseconds = parseInt(timeString.slice(-2), 10);\n\t\tif (seconds &gt; 0) {\n\t\t\ttimeString = timeString.substr(0, timeString.length - 2) + \"00\";\n\t\t}\n\t\t\n\t\treturn new GlideDateTime(timeString);\n\t},\n\t\n\t/*\n\t * This is the function utilized by the Enforce Task Appointment Schedule Business Rule\n\t * This function checks the dates associated to an appointment record to ensure it is within the schedule defined in the\n\t * u_task_appointment record.\n\t *\n\t * The work_start value must be within the schedule.\n\t * The work_end must conform to the duration timeframe selected.  In other words, if the Task Appointment Duration is set\n\t * to 30 minutes, a task can have a duration of 1 hour, 1.5 hours, 2 hours, etc in 30 minute increments.\n\t */\n\t\n\tcheckTaskDates: function(taskRec) {\n\t\tvar answer = [];\n\t\t\n\t\tvar nowDateTime = new GlideDateTime().getDisplayValueInternal();\n\t\tnowDateTime = new GlideDateTime(nowDateTime);\n\t\t\n\t\tvar scheduleID = taskRec.u_task_appointment.u_schedule;\n\t\tvar apptDuration = parseInt(taskRec.u_task_appointment.u_appointment_duration, 10) * 60;\n\t\tvar selectedDate = taskRec.work_start.toString().split(\" \")[0];\n\t\tvar startDate = new GlideDateTime(taskRec.work_start).getDisplayValueInternal();\n\t\tvar endDate = new GlideDateTime(taskRec.work_end).getDisplayValueInternal();\n\t\tvar scheduleSlots = this._getScheduleSlots(scheduleID, apptDuration, selectedDate, false);\n\t\tif (scheduleSlots.indexOf(startDate + \"\") == -1) {\n\t\t\tanswer.push(\"Start time is outside the schedule.\");\n\t\t}\n\t\t\n\t\tvar taskDuration = parseInt(gs.dateDiff(startDate, endDate, true), 10);\n\t\tif (taskDuration%apptDuration) {\n\t\t\tanswer.push(\"End time must be in \" + taskRec.u_task_appointment.u_appointment_duration + \" minute intervals.\");\n\t\t}\n\t\t\n\t\treturn answer == \"\" ? \"allClear\" : answer.join(\" \");\n\t},\n\t\n\ttype: 'TaskAppointmentUtils'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;michael.ritchie&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-19 19:17:54&lt;/sys_created_on&gt;&lt;sys_id&gt;c4d5f288dbe3760087c1fd441d9619d7&lt;/sys_id&gt;&lt;sys_mod_count&gt;281&lt;/sys_mod_count&gt;&lt;sys_name&gt;TaskAppointmentUtils&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c4d5f288dbe3760087c1fd441d9619d7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-22 19:27:55&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1486817754</payload_hash>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>c98f88964f442300d1676bd18110c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165631b8ee80000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table/>\n<target_name>TaskAppointmentUtils</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>26fe0452f5442300adc2db35ca3e388b</update_guid>\n<update_guid_history>26fe0452f5442300adc2db35ca3e388b:1486817754,85fe8c5628442300f91f857eb3ce9fbf:-781488827,38f5c0523644230056e8b75aa5149c11:1486817754,6f75c052e34423009dbadaecca68d20a:868776472,ac930c5e2c042300d505883e82834aab:405855905,33f1c89e530423003532e7d9cffbb0ea:-1035078586,8f918c9e8804230087048bbe395a6d13:-1527554330,6461481edc0423005cca40f926062115:-1307525598,1001cc5eb304230016b61eed8b575ed8:1252160184,beffff4e560423000722c44aff2d8271:1336837398,a3aff34e600423005ef07456cb18edb4:1713653953,6bfe330ef2042300fc66b62e2bf9d848:-323547497,e3aebb0e4a0423005b08225312c9f122:-968032983,df29d8c4cccc2340738e4530b6439887:-781488827,f1295c84fdcc23404af6f55bfb765c3b:1551664310,bbe75008fdcc2340018b11240d99946a:-781488827,00be088004cc234077fdb1012391a9a8:873988669,a08c4440e8cc23409ae36a8a5e3f063b:-1224136123,a4bac44ca38c2340438182b3fc3ed8bb:1886140645,3a7acccc018c2340f60db56df1e517fd:-760939066,950c632bd177134054c587568371a9c6:-366480411,1dfb6be7077713403d444d3b9b77a4dc:1886140645,ffda2fa7f8771340ca9d16f148d40486:-366480411,747927676e771340d95769fbf2fb8049:-507352604,0ed8a367c877134098851ae0cbe71093:1949652312,875863e3cc771340bf0c7f5e2771ab98:-1695908192,56f7eb6778771340884830ae09648cba:501815992,f277ef2727771340fa6c34dfdb69a22b:-881852488,1007ebe3a877134022c91f0a9eb17126:914094412,7454afa3f0771340953236b4ed7aa5bb:1451779108,b8f3a7e3387713402ca7984bdce587a8:846683490,f2b3a7a32d771340489bab74458d9537:-948033256,b3c2a7a37677134075112a329283b968:1267133039,dda2a763e47713401b04e870b193ceac:-116535441,0442a7a3ca7713402fba9ef32d219c19:1298144953,f1e16b63027713407f2aead296c1f9bd:-1825744398,09ff53236b7713405e148d03c6144cad:367412979,65ce532358771340d7bed11d72c9fd9c:1334992264,073d572f643713408bbaf07025a9f9f5:384577041,737a36aba4f313408298cf373badb115:1739896035,120a3a6b58f313400fb2c9d5bc2be21b:1959067841,8548b26b16f31340adf5d4ed1290fb12:-1576323874,e237b62b82f313404027c5b961fa38c5:322513925,f79792676cb31340f1b561d160358e1c:1296104316,9d87d2a7d6b3134060582c2e108d9895:1886140645,5ef61667d6b3134044387a561baca894:1296104316,1ea65e2799b31340f6f06713f3e0b82e:-184400907,5b561267f2b31340653091abb1a8be6f:1886140645,82b51267f0b313408ca7970ce771cbc5:-184400907,97155ea3fbb31340fe8942f74afd6a29:1748190293,85c492275fb31340b19151d42a0dd719:-637085049,32241e639cb3134070620baf6caba0b2:1159558894,55e3922711b31340a713bad5e6c96305:-114302778,f8939ae3aab31340aba491ed357fe3cb:367083969,dd131aa365b31340ed8a142b3746958c:-350631564,d79212e34db3134051923618d70520ba:-2049736293,3ec1d6635eb31340ecd4e91d772a7d09:1424928366,79111e630ab313403efbef6440cf64f6:-1157010444,44e09e6329b31340a36dcc6c3e618eb5:-1520125494,da005e23a7b313409d249d20a901de15:1711371270,c4df0e634fb31340c45ff2314ce1c7a6:-968019646,826f4a2325b313401f30fe1d4e953534:-1187223660,013f8663eeb31340304efe778cdd14ad:-1861491396,86fe4e234cb31340b1976be65252f345:-660489200,32be42639db31340aac06a448f0109eb:561816107,da2e0a23fbb31340aa6b17fe076b9053:-1689516980,26bd0a23e0b313400a5ce8fb18ca4d27:-1529755552,915d0623fdb313405fb11649ba27185b:1206361652,142cc6af99731340f0f05174940c1db6:1389092340,662a8e2f7d73134034baaa57674bf0e6:-1733593549,f21a462f567313402cbed7f0c7ea95c7:-1637471405,6cb88a6f67731340a5a51db1fa2e5c88:1701244269,c0678e2f25731340f813fed5ba20fdba:-331530504,1522dab79af113405a212dc50a7009a1:1886140645,d590927794f1134091cad92245011fa9:-521692058,66401e7742f113407acc7178a53f893e:152791400,133f0237b6f11340a63216ae735fb360:1452291048,dbbe0ef327f11340c4da3eba2880a3fd:-1377860299,6f4e86b32af11340fa7c9631d95103ec:505750773,bd2dcaf30cf11340d1a7c0415eeed614:1763686895,dd7c8ab354f11340108a4a66a56cfc84:-689777329,ad7b8ab33af113402e511466bdd5c07f:-1302079005,cdfa4ab3d5f11340792a1d48f3961876:1828183893,b07a0e73eaf113407ebe26038b908c13:305529173,ab0a8a3341f113409cb6743d5aa556d9:1832659364,057906735af11340f460af5a77df255a:-1968419678,8398caff7ab11340f3e38dd9ecebbeb9:-1481249312,74978a33fcf11340cd42bb17fa677a53:-2103122432,1e0d2873d1d91f00a174cffa98c8026b:-1751466657</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_task_appointment_u_concurrent_appointments</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_concurrent_appointments\" table=\"u_task_appointment\"><active>true</active><array>false</array><array_denormalized>false</array_denormalized><attributes/><audit>false</audit><calculation/><choice/><choice_field/><choice_table/><column_label>Concurrent Appointments</column_label><comments/><create_roles/><default_value>1</default_value><defaultsort/><delete_roles/><dependent/><dependent_on_field/><display>false</display><dynamic_creation>false</dynamic_creation><dynamic_creation_script/><dynamic_default_value/><dynamic_ref_qual/><element>u_concurrent_appointments</element><element_reference>false</element_reference><foreign_database/><internal_type display_value=\"Integer\">integer</internal_type><mandatory>false</mandatory><max_length>40</max_length><name>u_task_appointment</name><next_element/><primary>false</primary><read_only>false</read_only><read_roles/><reference/><reference_cascade_rule/><reference_floats>false</reference_floats><reference_key/><reference_qual/><reference_qual_condition/><reference_type/><sizeclass/><spell_check>false</spell_check><staged>false</staged><sys_class_name>sys_dictionary</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-07-07 16:40:40</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1d434f3ddbb7f60087c1fd441d961981</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Concurrent Appointments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_u_task_appointment_u_concurrent_appointments</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-07-07 16:40:58</sys_updated_on><table_reference>false</table_reference><text_index>false</text_index><unique>false</unique><use_dependent_field>false</use_dependent_field><use_dynamic_default>false</use_dynamic_default><use_reference_qualifier>simple</use_reference_qualifier><virtual>false</virtual><widget/><write_roles/><xml_view>false</xml_view></sys_dictionary></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>cd8f88964f442300d1676bd18110c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Concurrent Appointments</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_task_appointment_u_task_type_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_task_type\" label=\"Task Type\" language=\"en\" table=\"u_task_appointment\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_task_type</element><help/><hint/><label>Task Type</label><language>en</language><name>u_task_appointment</name><plural>Task Types</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>michael.ritchie</sys_created_by><sys_created_on>2017-06-19 18:13:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>93cb26c0dbe3760087c1fd441d96195c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Task Type</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_task_appointment_u_task_type_en</sys_update_name><sys_updated_by>michael.ritchie</sys_updated_by><sys_updated_on>2017-06-19 18:13:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"Task Appointments v1.8\">858f88964f442300d1676bd18110c799</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-08-22 19:30:16</sys_created_on>\n<sys_id>cd8f88964f442300d1676bd18110c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>162bb9390a80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-08-22 19:30:16</sys_updated_on>\n<table>u_task_appointment</table>\n<target_name>Task Appointment.Task Type</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-appointment-scheduling/widget/pe-appointment-scheduling.u-body-html-template.html",
    "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none;\">\n  <symbol id=\"icon-location\" width=\"20\" height=\"26\" viewBox=\"0 0 20 26\">\n    <path d=\"M9.68 26C8.133 26 0 14.826 0 9.68 0 4.37 4.37 0 9.68 0c5.311 0 9.682 4.37 9.682 9.68C19.362 14.827 11.23 26 9.68 26zm0-24.894c-4.701 0-8.574 3.873-8.574 8.575 0 4.702 7.192 14.162 8.575 15.157 1.383-.995 8.574-10.51 8.574-15.157 0-4.702-3.872-8.575-8.574-8.575z\"/>\n    <path d=\"M9.68 13.83c-2.267 0-4.148-1.881-4.148-4.15 0-2.267 1.88-4.148 4.149-4.148 2.268 0 4.149 1.88 4.149 4.149 0 2.268-1.881 4.149-4.15 4.149zm0-7.192c-1.659 0-3.042 1.383-3.042 3.043 0 1.66 1.383 3.042 3.043 3.042 1.66 0 3.042-1.383 3.042-3.042 0-1.66-1.383-3.043-3.042-3.043z\"/>\n  </symbol>\n  <symbol id='icon-arrow' width=\"23\" height=\"12\" viewBox=\"0 0 23 12\">\n    <path fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M1.438.429L11.501 11.57 21.563.43\"/>\n  </symbol>\n</svg>\n<div class=\"appointment-scheduler row\">\n    <h3>{{c.options.title}}</h3>\n    <div class=\"col-xs-12 remove-padding-left slot-selector\">\n        <div class='appt-datepicker'>\n            <p class=\"input-group\">\n                <input type=\"text\" class=\"form-control uidatepicker\" uib-datepicker-popup ng-model=\"c.selectedDate\" is-open=\"c.datePickerPopup.opened\" datepicker-options=\"c.dateOptions\" ng-required=\"true\" close-text=\"Close\" ng-change=\"c.getTimeSlots(c.selectedDate)\"\n                    ng-click=\"c.openDatePickerPopup()\" />\n                <span class='appt-dateformatted' ng-click=\"c.openDatePickerPopup()\">{{c.dateFormatted}}</span>\n                <span class='appt-change' ng-click=\"c.openDatePickerPopup()\">CHANGE</span>\n            </p>\n        </div>\n        <!--#####################Chiclet#################################################-->\n        <div class=\"chiclets\" ng-if=\"c.options.layout == 'Chiclets'\">\n            <p class=\"no-slots\" ng-show=\"c.timeSLots.length == 0\">\n                -- No appointments available for selected date --\n            </p>\n            <button class=\"btn btn-slots\" ng-class=\"{'disabled':slot.taken == 'yes','btn-selected':c.selectedSlot.date_time == slot.date_time }\" ng-click=\"c.selectedSlot = slot\" ng-repeat=\"slot in c.timeSLots\">{{slot.time_slot}}</button>\n        </div>\n        <!--##########################Dropdown #########################################-->\n        <div class=\"form-group col-md-12 remove-padding-left\" ng-if=\"c.options.layout == 'Dropdown'\">\n            <p class=\"no-slots\" ng-show=\"c.timeSLots.length == 0\">\n                -- No appointments available for selected date --\n            </p>\n            <select ng-show=\"c.timeSLots.length != 0\" class=\"form-control\" ng-options=\"slot as slot.time_slot for slot in c.timeSLots\" ng-model=\"c.selectedSlot\"></select>\n\n        </div>\n\n        <!--##################### Timecards #################################################-->\n        <div class=\"chiclets\" ng-if=\"c.options.layout == 'Timecards'\">\n            <p class=\"no-slots\" ng-show=\"c.timeSLots.length == 0\">\n                -- No appointments available for selected date --\n            </p>\n            <div class=\"time-card-container\">\n                <div class=\"time-cards\" ng-class=\"{'btn-selected':c.selectedSlot.date_time == slot.date_time }\" ng-click=\"c.selectedSlot = slot\" ng-repeat=\"slot in c.timeSLots\">\n                    <p>{{slot.time_slot}}</p>\n                    <i ng-if=\"c.selectedSlot.date_time == slot.date_time\" class=\"fa fa-2x fa-clock-o\" aria-hidden=\"true\"></i>\n                </div>\n            </div>\n        </div>\n        <!--################## SHORT  DESCRIPTION ############################-->\n        <div ng-if=\"c.options.show_short_description === 'true'\" class='appt-field' ng-class=\"{'appt-field-placeholder' : c.appntShortDescription.length === 0}\">\n            <textarea ng-model='c.appntShortDescription' placeholder='Short description'></textarea>\n        </div>\n        <!--################## DESCRIPTION ############################-->\n        <div ng-if=\"c.options.show_description === 'true'\" class='appt-field' ng-class=\"{'appt-field-placeholder' : c.appntDescription.length === 0}\">\n            <textarea ng-model='c.appntDescription' placeholder='Description'></textarea>\n        </div>\n        <!--################## LOCATION ############################-->\n        <div class=\"appt-field\" ng-if=\"c.options.show_location === 'true'\">\n            <input id=\"autocomplete-input\" ng-class=\"{'appt-field-placeholder' : !c.appntLocation}\" typeahead-on-select=\"c.locationChosen($item)\" type=\"text\" ng-model=\"c.appntLocation\" uib-typeahead=\"location as location.name for location in c.getLocations($viewValue)\"\n                typeahead-no-results=\"noResults\" class=\"autocomplete\" placeholder=\"Location\">\n        </div>\n        <!--################## REMINDER ############################-->\n        <div class='remind-container' ng-if=\"c.options.allow_reminders === 'true'\">\n            <div class='row'>\n                <div class='switch-part'>\n                    <div class=\"form-group\" ng-show=\"c.timeSLots.length > 0\">\n                        <div class=\"input-switch\">\n                            <input ng-model=\"c.setReminder\" type=\"checkbox\">\n                            <label aria-hidden=\"true\" class=\"switch\" ng-click='c.setReminder = !c.setReminder' for=\"setReminder\"></label>\n                            <label aria-hidden=\"true\" class=\"switch-label\" ng-click='c.setReminder = !c.setReminder'>Set Reminder</label>\n                        </div>\n                    </div>\n                </div>\n                <div class='time-selector'>\n                    <div class='fade' ng-class=\"{'in':c.setReminder===true}\">\n                        <select class=\"form-control reminder-select\" ng-options=\"time as time.label.display_value for time in c.data.reminderTimes\" ng-model=\"c.selectedReminderTime\"></select>\n                        <label aria-hidden=\"true\" class=\"reminder-select-label\"> prior.</label>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <button id='btnContinue' class=\"btn btn-primary btn-submit\" ng-class=\"{'disabled':!c.selectedSlot}\" ng-click=\"c.submitTimeSlot(c.selectedDate,c.selectedSlot.date_time)\">Submit</button>\n\n        <div class=\"alert alert-div alert-success\" ng-show=\"c.alertSuccess\">\n            <span class=\"close\" ng-click=\"c.alertSuccess = false\">x</span>\n            <p>You are all set. See you on {{c.dateFormatted}}.</p>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "pe-appointment-scheduling/widget/pe-appointment-scheduling.u-client-script.js",
    "content": "function scheduleAppointment($rootScope, $timeout, $http, $scope) {\n    var c = this;\n\n    c.$onInit = function () {\n        c.selectedSlot = \"\";\n        c.timeSlotReturn = \"\";\n        c.alertSuccess = false;\n        c.setReminder = false;\n        c.appntShortDescription = \"\";\n        c.appntDescription = \"\";\n        c.appntLocationSysid = \"\";\n        c.selectedReminderTime = c.data.reminderTimes[0];\n\n        c.getTimeSlots = getTimeSlots;\n        c.locationChosen = locationChosen;\n        c.getLocations = getLocations;\n        c.setupReminder = setupReminder;\n        c.disabled = disabled;\n        c.openDatePickerPopup = openDatePickerPopup;\n        c.submitTimeSlot = submitTimeSlot;\n        c.datePickerPopup = {\n            opened: false\n        };\n        var today = new Date();\n        if (!c.options.max_date) {\n            c.options.max_date = 30;\n        }\n        c.dateOptions = {\n            showWeeks: false,\n            formatYear: 'yyyy',\n            maxDate: today.setDate(today.getDate() + parseInt(c.options.max_date)),\n            minDate: populateDate(),\n            startingDay: 1\n        };\n\n\n    }\n\n    function getTimeSlots(date) {\n        c.dateFormatted = moment(date).format(\"dddd, MMMM D YYYY\");\n        c.server\n            .get({\n                action: 'getTimeSlots',\n                selectedDate: moment(date).format(\"YYYY-MM-DD\")\n            })\n            .then(function (response) {\n                if (response.data.timeSlots && response.data.timeSlots.length > 0) {\n                    c.timeSLots = JSON.parse(response.data.timeSlots);\n                    if (c.options.layout == 'Dropdown') {\n                        c.selectedSlot = c.timeSLots[0];\n                    }\n                }\n\n            });\n    };\n\n    function locationChosen(location) {\n        c.appntLocation = location;\n        c.appntLocationSysid = location.sys_id;\n    }\n\n    function getLocations(val) {\n        return $http\n            .get('/api/now/table/cmn_location?sysparm_query=nameLIKE' + val + '^ORstreetLIKE' + val + '^ORcityLIKE' + val + '^ORstateLIKE' + val + '&sysparm_limit=5', {\n                headers: {\n                    'Accept': 'application/json',\n                    'Content-Type': 'application/json',\n                    'X-UserToken': window.g_ck\n                }\n            })\n            .then(function (response) {\n\n                return response.data.result;\n            });\n    };\n\n    function setupReminder(reminderTime) {\n        c.server\n            .get({action: 'setupReminder', selectedTime: reminderTime, taskSysid: c.timeSlotReturn.sys_id})\n            .then(function (response) {\n                c.reminderSetup = response.data.reminderReturn;\n                $timeout(function () {\n                    c.alertSuccess = false;\n                    c.setReminder = false;\n                }, 5000);\n            });\n    }\n\n    function processTheTimes(appointments) {\n        for (var i = 0; i < appointments.length; i++) {\n            appointments[i].work_start = moment(appointments[i].work_start).fromNow();\n            if (appointments[i].duration > 0) {\n                appointments[i].duration = Math.floor(appointments[i].duration / 60);\n            }\n        }\n        return appointments;\n    }\n\n    // Disable weekend selection\n    function disabled(date, mode) {\n        return (mode === 'day' && (date.getDay() === 0 || date.getDay() === 6));\n    }\n\n    function openDatePickerPopup() {\n        c.datePickerPopup.opened = true;\n    };\n\n    function submitTimeSlot(selectedDate, selectedSlot) {\n        var obj = {\n            'action': 'setTimeSlots',\n            'meetingDate': selectedDate,\n            'meetingTime': selectedSlot\n        }\n        if (c.appntLocation || c.appntDescription || c.appntShortDescription) {\n            obj.additionalFields = {\n                'short_description': c.appntShortDescription,\n                'description': c.appntDescription,\n                'location': c.appntLocationSysid\n            }\n        }\n\n        c.server\n            .get(obj)\n            .then(function (response) {\n                if (response.data.timeSlotReturn) {\n                    c.timeSlotReturn = JSON.parse(response.data.timeSlotReturn);\n                    if (c.timeSlotReturn.sys_id) {\n                        c.alertSuccess = true;\n                        if (c.setReminder) {\n                            c.setupReminder(c.selectedReminderTime.value.display_value);\n                        }\n                        c.getTimeSlots(selectedDate);\n                        c.appntShortDescription = \"\";\n                        c.appntDescription = \"\";\n                        c.appntLocationSysid = \"\";\n                        c.appntLocation = \"\";\n                        $rootScope.$broadcast('appointmentCreated', '');\n                    }\n                }\n            });\n    };\n\n    function populateDate() {\n        c.minDate = new Date();\n        c.getTimeSlots(c.minDate);\n        c.selectedDate = c.minDate;\n        c.dateFormatted = moment(c.selectedDate).format(\"dddd, MMMM D YYYY\");\n        return c.minDate;\n    }\n}"
  },
  {
    "path": "pe-appointment-scheduling/widget/pe-appointment-scheduling.u-css.scss",
    "content": "$time-slot-bg:#e4edf9;\n$time-slot-text:#607795;\n$brand-primary:#4b8cfb !default;\n.btn-submit {\n    width: 10%;\n    min-width: 80px;\n    @media screen and (max-width: 769px) {\n        width: 100%;\n    }\n}\n\n.switch-part {\n    width: 25%;\n    float: left;\n    min-width: 160px;\n    @media screen and (max-width: 769px) {\n        width: 50%;\n    }\n}\n\n.time-selector {\n    width: 30%;\n    min-width: 150px;\n    float: left;\n    @media screen and (max-width: 769px) {\n        width: 50%;\n    }\n}\n\n.time-card-container {\n    clear: both;\n    overflow: hidden;\n}\n\n.time-cards {\n    width: 47%;\n    height: 60px;\n    float: left;\n    padding: 10px;\n    color: $time-slot-text;\n    margin: 5px;\n    font-size: 18px;\n    background: $time-slot-bg;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    @media screen and (max-width: 414px) {\n        width: 100%;\n    }\n    &.btn-selected {\n        background: $brand-primary;\n        color: #fff;\n        .fa {\n            color: #fff;\n        }\n    }\n    p {\n        margin: 0px;\n    }\n}\n\n.appointment-scheduler {\n    min-width: 320px;\n    background: #fff;\n    margin: 5px;\n    padding: 15px;\n    border-radius: 6px;\n    margin-top: 15px;\n    margin-bottom: 15px;\n    .btn.disabled {\n        opacity: .35;\n    }\n    .reminder-setup {\n        padding: 10px;\n        span {\n            font-size: 16px;\n        }\n        .reminder-select {\n            display: inline-block;\n            width: 100px;\n            margin-left: 5px;\n            margin-right: 5px;\n            height: 30px;\n        }\n    }\n    h3 {\n        margin-top: 10px;\n        font-weight: 300;\n    }\n    .uib-datepicker .btn-default {\n        border: 1px solid #fff;\n    }\n    table.uib-daypicker thead tr:nth-child(2) {\n        background-color: aliceblue;\n    }\n    .btn-info.active {\n        border-radius: 50%;\n        color: #fff;\n        .text-info {\n            color: #fff;\n        }\n    }\n    .btn[disabled] {\n        opacity: 0.35;\n    }\n    .uib-button-bar {\n        .uib-datepicker-current {\n            background: inherit;\n            color: $brand-info;\n            border: 0px;\n        }\n        .uib-clear {\n            background: inherit;\n            color: $brand-danger;\n            border: 0px;\n        }\n        .uib-close {\n            background: inherit;\n            color: $brand-success;\n            border: 0px;\n        }\n    }\n    .remove-padding-left {\n        padding-left: 0px;\n    }\n    .flex-it {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n    }\n    .button-div {\n        display: inline-block;\n    }\n    .alert-div {\n        margin-top: 30px;\n        position: relative;\n        clear: both;\n        .close {\n            position: absolute;\n            right: 6px;\n            top: 3px;\n        }\n    }\n    .slot-selector {\n        margin-top: 20px;\n        .appt-dateformatted {\n            float: left;\n            margin: 0;\n            margin-left: 57px;\n            margin-top: -38px;\n            margin-right: 15px;\n            height: 18px;\n            font-size: 17px;\n            font-weight: 400;\n            line-height: 1;\n            z-index: 400;\n            color: #aaaaaa;\n            background-color: #ffffff;\n            position: relative;\n        }\n        .appt-change {\n            float: right;\n            margin-top: -38px;\n            margin-right: 15px;\n            letter-spacing: 1.1px;\n            font-size: 12px;\n            font-weight: 600;\n            line-height: 1.5;\n            color: $brand-primary;\n            z-index: 400;\n            position: relative;\n            @media screen and (max-width: 300px) {\n                display: none;\n            }\n        }\n        .appt-datepicker {\n            margin: 0 auto;\n            margin-bottom: 30px;\n        }\n        .input-group,\n        .form-group {\n            margin: 0 auto;\n            width: 100%;\n        }\n        .uidatepicker {\n            border-radius: 0px;\n            height: 60px;\n            background: no-repeat scroll 20px 15px;\n            background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMyIgaGVpZ2h0PSIyNiIgdmlld0JveD0iMCAwIDIzIDI2Ij4gICAgPGcgZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgIDxwYXRoIGQ9Ik0yMC45MjcgMjZIMS45MDJBMS44NjggMS44NjggMCAwIDEgMCAyNC4wOThWNS4wNzNjMC0xLjA3OC44MjQtMS45MDIgMS45MDItMS45MDJoMTkuMDI1YzEuMDc4IDAgMS45MDIuODI0IDEuOTAyIDEuOTAydjE5LjAyNUExLjg2OCAxLjg2OCAwIDAgMSAyMC45MjcgMjZ6TTEuOTAyIDQuNDM5Yy0uMzggMC0uNjM0LjI1NC0uNjM0LjYzNHYxOS4wMjVjMCAuMzguMjU0LjYzNC42MzQuNjM0aDE5LjAyNWMuMzggMCAuNjM0LS4yNTQuNjM0LS42MzRWNS4wNzNjMC0uMzgtLjI1NC0uNjM0LS42MzQtLjYzNEgxLjkwMnpNNS4wNzMgMGgxLjI2OHYzLjE3MUg1LjA3M3pNMTYuNDg4IDBoMS4yNjh2My4xNzFoLTEuMjY4eiIvPiAgICAgICAgPHBhdGggZD0iTTExLjQxNSAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgOC44NzggNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzN0EyLjU0NCAyLjU0NCAwIDAgMSAxMy45NSA3LjYxYTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2IDIuNTM2em0wLTMuODA1Yy0uNjk4IDAtMS4yNjkuNTcxLTEuMjY5IDEuMjY5IDAgLjY5Ny41NzEgMS4yNjggMS4yNjkgMS4yNjguNjk3IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTE3Ljc1NiAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgMTUuMjIgNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNyAyLjUzNyAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNyAyLjUzNnptMC0zLjgwNWMtLjY5NyAwLTEuMjY4LjU3MS0xLjI2OCAxLjI2OSAwIC42OTcuNTcgMS4yNjggMS4yNjggMS4yNjguNjk4IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTUuMDczIDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNkEyLjU0NCAyLjU0NCAwIDAgMSA3LjYxIDEzLjk1YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNMTEuNDE1IDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNy0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzNiAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNiAyLjUzNiAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNiAyLjUzN3ptMC0zLjgwNWMtLjY5OCAwLTEuMjY5LjU3LTEuMjY5IDEuMjY4IDAgLjY5OC41NzEgMS4yNjkgMS4yNjkgMS4yNjkuNjk3IDAgMS4yNjgtLjU3MSAxLjI2OC0xLjI2OSAwLS42OTctLjU3LTEuMjY4LTEuMjY4LTEuMjY4ek0xNy43NTYgMTYuNDg4YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2LTIuNTM3IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM2LTIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM3IDIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNNS4wNzMgMjIuODNhMi41NDQgMi41NDQgMCAwIDEtMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzcgMi41MzcgMi41NDQgMi41NDQgMCAwIDEtMi41MzcgMi41MzZ6bTAtMy44MDZjLS42OTcgMC0xLjI2OC41NzEtMS4yNjggMS4yNjkgMCAuNjk3LjU3IDEuMjY4IDEuMjY4IDEuMjY4LjY5OCAwIDEuMjY4LS41NyAxLjI2OC0xLjI2OCAwLS42OTgtLjU3LTEuMjY5LTEuMjY4LTEuMjY5eiIvPiAgICA8L2c+PC9zdmc+);\n            background-color: #fff;\n            padding-left: 60px;\n            @media (max-width: 320px) {\n                max-width: 290px;\n                background: no-repeat scroll 10px 15px;\n                background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMyIgaGVpZ2h0PSIyNiIgdmlld0JveD0iMCAwIDIzIDI2Ij4gICAgPGcgZmlsbD0iI0RERCIgZmlsbC1ydWxlPSJub256ZXJvIj4gICAgICAgIDxwYXRoIGQ9Ik0yMC45MjcgMjZIMS45MDJBMS44NjggMS44NjggMCAwIDEgMCAyNC4wOThWNS4wNzNjMC0xLjA3OC44MjQtMS45MDIgMS45MDItMS45MDJoMTkuMDI1YzEuMDc4IDAgMS45MDIuODI0IDEuOTAyIDEuOTAydjE5LjAyNUExLjg2OCAxLjg2OCAwIDAgMSAyMC45MjcgMjZ6TTEuOTAyIDQuNDM5Yy0uMzggMC0uNjM0LjI1NC0uNjM0LjYzNHYxOS4wMjVjMCAuMzguMjU0LjYzNC42MzQuNjM0aDE5LjAyNWMuMzggMCAuNjM0LS4yNTQuNjM0LS42MzRWNS4wNzNjMC0uMzgtLjI1NC0uNjM0LS42MzQtLjYzNEgxLjkwMnpNNS4wNzMgMGgxLjI2OHYzLjE3MUg1LjA3M3pNMTYuNDg4IDBoMS4yNjh2My4xNzFoLTEuMjY4eiIvPiAgICAgICAgPHBhdGggZD0iTTExLjQxNSAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgOC44NzggNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzN0EyLjU0NCAyLjU0NCAwIDAgMSAxMy45NSA3LjYxYTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2IDIuNTM2em0wLTMuODA1Yy0uNjk4IDAtMS4yNjkuNTcxLTEuMjY5IDEuMjY5IDAgLjY5Ny41NzEgMS4yNjggMS4yNjkgMS4yNjguNjk3IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTE3Ljc1NiAxMC4xNDZBMi41NDQgMi41NDQgMCAwIDEgMTUuMjIgNy42MWEyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNyAyLjUzNyAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNyAyLjUzNnptMC0zLjgwNWMtLjY5NyAwLTEuMjY4LjU3MS0xLjI2OCAxLjI2OSAwIC42OTcuNTcgMS4yNjggMS4yNjggMS4yNjguNjk4IDAgMS4yNjgtLjU3IDEuMjY4LTEuMjY4IDAtLjY5OC0uNTctMS4yNjktMS4yNjgtMS4yNjl6TTUuMDczIDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNi0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNi0yLjUzNkEyLjU0NCAyLjU0NCAwIDAgMSA3LjYxIDEzLjk1YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNMTEuNDE1IDE2LjQ4OGEyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNy0yLjUzNyAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNy0yLjUzNiAyLjU0NCAyLjU0NCAwIDAgMSAyLjUzNiAyLjUzNiAyLjU0NCAyLjU0NCAwIDAgMS0yLjUzNiAyLjUzN3ptMC0zLjgwNWMtLjY5OCAwLTEuMjY5LjU3LTEuMjY5IDEuMjY4IDAgLjY5OC41NzEgMS4yNjkgMS4yNjkgMS4yNjkuNjk3IDAgMS4yNjgtLjU3MSAxLjI2OC0xLjI2OSAwLS42OTctLjU3LTEuMjY4LTEuMjY4LTEuMjY4ek0xNy43NTYgMTYuNDg4YTIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM2LTIuNTM3IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM2LTIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxIDIuNTM3IDIuNTM2IDIuNTQ0IDIuNTQ0IDAgMCAxLTIuNTM3IDIuNTM3em0wLTMuODA1Yy0uNjk3IDAtMS4yNjguNTctMS4yNjggMS4yNjggMCAuNjk4LjU3IDEuMjY5IDEuMjY4IDEuMjY5LjY5OCAwIDEuMjY4LS41NzEgMS4yNjgtMS4yNjkgMC0uNjk3LS41Ny0xLjI2OC0xLjI2OC0xLjI2OHpNNS4wNzMgMjIuODNhMi41NDQgMi41NDQgMCAwIDEtMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzYtMi41MzcgMi41NDQgMi41NDQgMCAwIDEgMi41MzcgMi41MzcgMi41NDQgMi41NDQgMCAwIDEtMi41MzcgMi41MzZ6bTAtMy44MDZjLS42OTcgMC0xLjI2OC41NzEtMS4yNjggMS4yNjkgMCAuNjk3LjU3IDEuMjY4IDEuMjY4IDEuMjY4LjY5OCAwIDEuMjY4LS41NyAxLjI2OC0xLjI2OCAwLS42OTgtLjU3LTEuMjY5LTEuMjY4LTEuMjY5eiIvPiAgICA8L2c+PC9zdmc+);\n                padding-left: 40px;\n            }\n        }\n    }\n    .reminder-select {\n        width: 100px;\n        height: 28px;\n        margin-top: 10px;\n        padding: 0px;\n        padding-left: 3px;\n        display: inline-flex;\n        @media (max-width: 320px) {\n            margin-left: -25px;\n        }\n    }\n    .reminder-select-label {\n        position: absolute;\n        margin-left: 8px;\n        margin-top: 14px;\n        font-size: 16px;\n        color: $brand-primary;\n    }\n    /* line 1, sass/custom/_switches.scss */\n    input[type=checkbox] {\n        visibility: hidden;\n    }\n    .switch-label {\n        position: absolute;\n        margin-left: 8px;\n        margin-top: 4px;\n        font-size: 16px;\n        color: $brand-primary;\n    }\n    .input-switch {\n        height: 28px;\n        margin-top: 10px;\n        margin-bottom: 20px;\n        margin-left: -10px;\n        @media (max-width: 320px) {\n            margin-left: -15px;\n        }\n    }\n    /* line 21, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]~.switch {\n        background-color: #aaaaaa;\n        width: 50px;\n        height: 27px;\n        border-radius: 12.5px;\n        position: relative;\n        display: inline-block;\n        transition: all 0.4s;\n        /*box-shadow: inset 0px 0px 3px 0px #777;*/\n    }\n    /* line 31, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]~.switch:before {\n        content: '';\n        color: transparent;\n        background-color: #fff;\n        border-radius: 50%;\n        width: 45%;\n        position: absolute;\n        left: 0;\n        top: 0;\n        bottom: 0;\n        margin: 2px;\n        transition: all 0.4s;\n        /*box-shadow: 0 6px 18px -9px #000000;*/\n    }\n    /* line 51, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:checked~.switch {\n        background-color: $brand-primary;\n    }\n    /* line 54, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:checked~.switch:before {\n        left: 23.5px;\n    }\n    /* line 61, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:disabled~.switch {\n        opacity: 0.5;\n    }\n    /* line 69, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:hover~.switch:before {\n        box-shadow: 0px;\n        /*box-shadow: 0 6px 18px -5px #000000;*/\n    }\n    /* line 76, sass/custom/_switches.scss */\n    .input-switch input[type=checkbox]:focus~.switch {\n        border: 0px;\n        box-shadow: 0px;\n        /*border: 1px solid #278efc;*/\n        /*box-shadow: 0px 0px 6px 1px #278efc, inset 0px 0px 3px 0px #777;*/\n    }\n    /* line 87, sass/custom/_switches.scss */\n    .input-switch.input-switch-accessibility input[type=checkbox]~.switch:after {\n        content: '0';\n        color: #485563;\n        width: 45%;\n        position: absolute;\n        left: 23.5px;\n        top: 0;\n        bottom: 0;\n        margin: 2px;\n        line-height: 23px;\n        text-align: center;\n        font-weight: bold;\n    }\n    /* line 104, sass/custom/_switches.scss */\n    .input-switch.input-switch-accessibility input[type=checkbox]:checked~.switch:after {\n        content: '1';\n        color: #fff;\n        left: 0;\n    }\n    button {\n        margin-right: 5px;\n        margin-bottom: 5px;\n        &.btn-slots {\n            border-color: transparent;\n            background: $time-slot-bg;\n            color: $time-slot-text;\n            width: 70px;\n            height: 34px;\n            @media (max-width: 414px) {\n                width: 75px;\n            }\n        }\n        &.btn-selected {\n            background: $brand-primary;\n            color: #fff;\n        }\n    }\n    .no-slots {\n        color: $brand-danger;\n    }\n    .chiclets {\n        clear: both;\n    }\n    .appt-field textarea {\n        border-radius: 0px;\n        -webkit-appearance: none;\n        -webkit-border-radius: 0px;\n        width: 100%;\n        resize: none;\n        font-size: 18px;\n        color: $bam-dark-gray;\n        margin-top: 4px;\n        padding-bottom: 0px;\n        background-color: transparent;\n        border: 0px solid transparent;\n        border-bottom: 1px solid #aaa;\n    }\n    .appt-field-placeholder {\n        opacity: 0.6;\n        position: relative;\n    }\n    .appt-field {\n        border-bottom: 0px solid transparent;\n        margin-top: 20px;\n        margin-bottom: 20px;\n        clear: both;\n         :focus {\n            border-bottom: 1px solid $brand-primary;\n            color: $brand-primary;\n        }\n    }\n    .appt-field :focus {\n        border-bottom: 1px solid $brand-primary;\n        color: $brand-primary;\n    }\n    .appt-field input {\n        padding-left: 0px;\n        height: 53px;\n        -webkit-border-radius: 0px;\n        -moz-border-radius: 0px;\n        -ms-border-radius: 0px;\n        border-radius: 0px;\n        -webkit-appearance: none;\n        -webkit-border-radius: 0px;\n        width: 100%;\n        max-width: 100%;\n        font-size: 18px;\n        color: #7f7f7f;\n        padding-bottom: 0px;\n        background-color: transparent;\n        border: 0px solid transparent;\n        border-bottom: 1px solid #aaa;\n    }\n}"
  },
  {
    "path": "pe-appointment-scheduling/widget/pe-appointment-scheduling.u-server-script.js",
    "content": "// populate the 'data' variable with catalog item, variables, and variable view\n(function() {\n\n    data.reminderTimes = getReminderChoices();\n\n    function getReminderChoices() {\n        var tempArray = [];\n        var reminderGR = new GlideRecord('sys_choice');\n        reminderGR.addQuery('element', 'remind_me');\n        reminderGR.addQuery('inactive', false);\n        reminderGR.orderBy('sequence');\n        reminderGR.query();\n        while (reminderGR.next()) {\n            var obj = {};\n            $sp.getRecordElements(obj, reminderGR, 'label,sys_id,value');\n            tempArray.push(obj);\n        }\n        return tempArray;\n    }\n\n    if (input) {\n        if (input.action == 'getTimeSlots') {\n            data.timeSlots = new global.TaskAppointmentUtils().getTimeSlots(options.task_appointment_record, input.selectedDate);\n        }\n        if (input.action == 'setTimeSlots') {\n            data.timeSlotReturn = new global.TaskAppointmentUtils().createAppointment(options.task_appointment_record, input.meetingTime, input.additionalFields);\n        }\n        if (input.action == 'setupReminder') {\n            data.reminderReturn = new global.TaskAppointmentUtils().createReminder(input.taskSysid, input.selectedTime)\n        }\n    }\n})()"
  },
  {
    "path": "pe-background-slideshow/README.md",
    "content": "# Approval Card\n\n## Description\n\nDisplay a slideshow on the background of a container. You are able to embed a **widget** , **template**  or **ui page** inside.\n\n## Screenshot\n![alt text](../../images/pe-background-slideshow.gif \"Background Slideshow\")\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\n---\nDownload and install update set **[pe-background-slideshow.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-background-slideshow/pe-background-slideshow.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Interval` | Sets interval of slideshow. | 5 |\n| `Embed Widget` | Sets widget id to be embeded inside container | null |\n| `Embed Template` | Sets templage or ui page to be embeded inside container | null |\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "pe-background-slideshow/pe-background-slideshow.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-01-12 06:24:16\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-background-slideshow</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>f847712673230300025780844ff6a7c2</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>a6aac66a73230300025780844ff6a731</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_image_image</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"image\" table=\"m2m_widget_image\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Image&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;image&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;m2m_widget_image&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:12:10&lt;/sys_created_on&gt;&lt;sys_id&gt;bbf9716673230300025780844ff6a72e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Image&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_image_image&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:12:10&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1451837189</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>22aa0a6a73230300025780844ff6a72c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c852de0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image.Image</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>2e2ab1666d230300fe427dea870cff7c</update_guid>\n<update_guid_history>2e2ab1666d230300fe427dea870cff7c:-1451837189,aa2a71667e230300f896ef035b3ec9bf:-1451837189</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_6068752673230300025780844ff6a795</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on slideshow_sp_instance</description><name>slideshow_sp_instance</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>6068752673230300025780844ff6a795</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_6068752673230300025780844ff6a795</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1208715782</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>22aa0a6a73230300025780844ff6a72f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c132470000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>a068752607230300a4b3e6c619613897</update_guid>\n<update_guid_history>a068752607230300a4b3e6c619613897:1208715782</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_e468352673230300025780844ff6a77b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><grantable>true</grantable><includes_roles/><name>slideshow_sp_instance_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>e468352673230300025780844ff6a77b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_e468352673230300025780844ff6a77b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on></sys_user_role></record_update>]]></payload>\n<payload_hash>315051001</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>22aa0a6a73230300025780844ff6a732</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c131600000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table/>\n<target_name>slideshow_sp_instance_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_guid>a0683526fd230300903dd96d8cddef7e</update_guid>\n<update_guid_history>a0683526fd230300903dd96d8cddef7e:315051001</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_c6f4022a73230300025780844ff6a7bd</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;ngBgSlideshow-template&lt;/id&gt;&lt;sp_widget display_value=\"pe background slideshow\"&gt;d9fab56673230300025780844ff6a7b0&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:59:29&lt;/sys_created_on&gt;&lt;sys_id&gt;c6f4022a73230300025780844ff6a7bd&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;ngBgSlideshow-template&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_c6f4022a73230300025780844ff6a7bd&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:59:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-repeat=\"img in images\"\n     class=\"slideshow\" ng-class=\"{ visible: active_image == $index }\"\n     ng-style=\"{ 'background-image': 'url(' + img + ')' }\"&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1066006083</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>26aa0a6a73230300025780844ff6a72b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8f3a4c90000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table/>\n<target_name>ngBgSlideshow-template</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>bbf4422a7a230300b50304b513205287</update_guid>\n<update_guid_history>bbf4422a7a230300b50304b513205287:-1066006083</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_2468752673230300025780844ff6a7a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on slideshow_sp_instance</description><name>slideshow_sp_instance</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>2468752673230300025780844ff6a7a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_2468752673230300025780844ff6a7a0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-526426890</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>26aa0a6a73230300025780844ff6a72e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c133080000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>ec687526ef230300a627802ee7a0d7a1</update_guid>\n<update_guid_history>ec687526ef230300a627802ee7a0d7a1:-526426890</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_d06bf56673230300025780844ff6a755</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"d06bf56673230300025780844ff6a755\" sys_domain=\"global\" table=\"slideshow_sp_instance\" version=\"3\"><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>slideshow_sp_instance</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:17:28</sys_created_on><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d06bf56673230300025780844ff6a755</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_form_sections_d06bf56673230300025780844ff6a755</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:17:28</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>903581488</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>26aa0a6a73230300025780844ff6a731</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8cd2c290000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid>186bf5662123030059405e0b8458bc56</update_guid>\n<update_guid_history>186bf5662123030059405e0b8458bc56:903581488</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_image_widget_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"widget\" label=\"Widget\" language=\"en\" table=\"m2m_widget_image\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>widget</element><help/><hint/><label>Widget</label><language>en</language><name>m2m_widget_image</name><plural>Widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:12:58</sys_created_on><sys_id>9a5a356673230300025780844ff6a74d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_image_widget_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:12:58</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1534934219</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>2aaa0a6a73230300025780844ff6a72d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c90f8e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image.Widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>e65a356688230300c02b7c055c9ad956</update_guid>\n<update_guid_history>e65a356688230300c02b7c055c9ad956:-1534934219</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_8bf9316673230300025780844ff6a772</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>8bf9316673230300025780844ff6a772</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image.m2m_widget_image_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"m2m_widget_image\">43f9316673230300025780844ff6a770</sys_security_acl><sys_update_name>sys_security_acl_role_8bf9316673230300025780844ff6a772</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><sys_user_role display_value=\"m2m_widget_image_user\" name=\"m2m_widget_image_user\">8bf9316673230300025780844ff6a76a</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1536722846</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>2aaa0a6a73230300025780844ff6a730</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79b4f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image.m2m_widget_image_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>0ff971666123030083b8f8993585bb09</update_guid>\n<update_guid_history>0ff971666123030083b8f8993585bb09:1536722846</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_slideshow_sp_instance_interval</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"interval\" table=\"slideshow_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Interval&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;5&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;interval&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;slideshow_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:09:54&lt;/sys_created_on&gt;&lt;sys_id&gt;6b89f92673230300025780844ff6a740&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Interval&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_slideshow_sp_instance_interval&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:10:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>319585636</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>2eaa0a6a73230300025780844ff6a72c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c6d5f70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance.Interval</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>f2c9bd26e9230300556e951aab300d04</update_guid>\n<update_guid_history>f2c9bd26e9230300556e951aab300d04:319585636,29a9f926552303009923dc2d89fc84ab:-1403738946</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_2068752673230300025780844ff6a798</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>2068752673230300025780844ff6a798</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance.slideshow_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"slideshow_sp_instance\">6068752673230300025780844ff6a795</sys_security_acl><sys_update_name>sys_security_acl_role_2068752673230300025780844ff6a798</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><sys_user_role display_value=\"slideshow_sp_instance_user\" name=\"slideshow_sp_instance_user\">e468352673230300025780844ff6a77b</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>820775742</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>2eaa0a6a73230300025780844ff6a72f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c132780000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance.slideshow_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>24687526b123030050b00015ec7db39a</update_guid>\n<update_guid_history>24687526b123030050b00015ec7db39a:820775742</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_39b48ee673230300025780844ff6a7fe</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;ngBgSlideshow&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function NgBgSlideshowDirective($interval) {\n    return {\n        restrict: 'A',\n        scope: {\n            ngBgSlideshow: '&amp;',\n            interval: '='\n        },\n        templateUrl: 'ngBgSlideshow-template',\n        link: function (scope, elem, attrs) {\n            scope.$watch('ngBgSlideshow', function (val) {\n                scope.images = val();\n                scope.active_image = 0;\n            });\n\n            var change = $interval(function () {\n                scope.active_image++;\n                if (scope.active_image &gt;= scope.images.length)\n                    scope.active_image = 0;\n            }, scope.interval || 1000);\n\n            scope.$on('$destroy', function () {\n                $interval.cancel(change);\n            });\n        }\n    };\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:58:34&lt;/sys_created_on&gt;&lt;sys_id&gt;39b48ee673230300025780844ff6a7fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;ngBgSlideshow&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_39b48ee673230300025780844ff6a7fe&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:58:34&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-98793728</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>62aa0a6a73230300025780844ff6a72b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8f2cb6e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table/>\n<target_name>ngBgSlideshow</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>9ec4022adb230300c9a3fa6de4826b38</update_guid>\n<update_guid_history>9ec4022adb230300c9a3fa6de4826b38:-98793728</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_slideshow_sp_instance__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Slideshow SP Instance\" language=\"en\" table=\"slideshow_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Slideshow SP Instance</label><language>en</language><name>slideshow_sp_instance</name><plural>Slideshow SP Instances</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:24</sys_created_on><sys_id>f068752673230300025780844ff6a7b2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Slideshow SP Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_slideshow_sp_instance__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:24</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-3067645</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>62aa0a6a73230300025780844ff6a72e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c135e00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>3c68752699230300f17ed85b3f9aaaba</update_guid>\n<update_guid_history>3c68752699230300f17ed85b3f9aaaba:-3067645</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d3f9716673230300025780844ff6a712</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>d3f9716673230300025780844ff6a712</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image.m2m_widget_image_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"m2m_widget_image\">dbf9716673230300025780844ff6a70f</sys_security_acl><sys_update_name>sys_security_acl_role_d3f9716673230300025780844ff6a712</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><sys_user_role display_value=\"m2m_widget_image_user\" name=\"m2m_widget_image_user\">8bf9316673230300025780844ff6a76a</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1728792522</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>62aa0a6a73230300025780844ff6a731</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79c280000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image.m2m_widget_image_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>13f97166ed230300210a5234ef251a14</update_guid>\n<update_guid_history>13f97166ed230300210a5234ef251a14:-1728792522</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_image_order_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"order\" label=\"Order\" language=\"en\" table=\"m2m_widget_image\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>order</element><help/><hint/><label>Order</label><language>en</language><name>m2m_widget_image</name><plural>Orders</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:12:10</sys_created_on><sys_id>a22ab16673230300025780844ff6a774</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Order</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_image_order_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:12:10</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-942342723</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>66aa0a6a73230300025780844ff6a72d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c8533a0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image.Order</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>622ab166b1230300b441230c5ede0780</update_guid>\n<update_guid_history>622ab166b1230300b441230c5ede0780:-942342723</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_57f9716673230300025780844ff6a717</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:24</sys_created_on><sys_id>57f9716673230300025780844ff6a717</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image.m2m_widget_image_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"m2m_widget_image\">5ff9716673230300025780844ff6a714</sys_security_acl><sys_update_name>sys_security_acl_role_57f9716673230300025780844ff6a717</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:24</sys_updated_on><sys_user_role display_value=\"m2m_widget_image_user\" name=\"m2m_widget_image_user\">8bf9316673230300025780844ff6a76a</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-451682506</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>66aa0a6a73230300025780844ff6a730</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79c840000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image.m2m_widget_image_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>93f9716685230300c35ae2dc986eff19</update_guid>\n<update_guid_history>93f9716685230300c35ae2dc986eff19:-451682506</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_image_widget</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"widget\" table=\"m2m_widget_image\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;widget&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;m2m_widget_image&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sp_instance\"&gt;sp_instance&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:12:58&lt;/sys_created_on&gt;&lt;sys_id&gt;224af16673230300025780844ff6a718&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_image_widget&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:20:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>972177215</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>6aaa0a6a73230300025780844ff6a72c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8cffd630000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image.Widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>dd1c7d6640230300d266bf0147ead9c8</update_guid>\n<update_guid_history>dd1c7d6640230300d266bf0147ead9c8:972177215,de5a35661f230300ecfdb7fbb7e2d14b:-1480279265</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_dbf9716673230300025780844ff6a70f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_image</description><name>m2m_widget_image</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>dbf9716673230300025780844ff6a70f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_dbf9716673230300025780844ff6a70f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1612369785</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>6aaa0a6a73230300025780844ff6a72f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79bf70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>97f97166ec230300930056a427fd2511</update_guid>\n<update_guid_history>97f97166ec230300930056a427fd2511:1612369785</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_3528352673230300025780844ff6a7bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Slideshow SP Instance</label><live_feed_enabled>false</live_feed_enabled><name>slideshow_sp_instance</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">c2e4e3115482030033996784fa7551de</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>3528352673230300025780844ff6a7bf</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Slideshow SP Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_3528352673230300025780844ff6a7bf</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:09:55</sys_updated_on><update_access>false</update_access><user_role display_value=\"slideshow_sp_instance_user\" name=\"slideshow_sp_instance_user\">e468352673230300025780844ff6a77b</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>1231834816</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>6eaa0a6a73230300025780844ff6a72b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c641f20000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>a9a9f92675230300a74a77f7557ef4fb</update_guid>\n<update_guid_history>a9a9f92675230300a74a77f7557ef4fb:1231834816,fc687526932303007279a7e3f094c9bb:1231834816</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5ff9716673230300025780844ff6a714</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_image</description><name>m2m_widget_image</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>5ff9716673230300025780844ff6a714</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_5ff9716673230300025780844ff6a714</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1608266315</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>6eaa0a6a73230300025780844ff6a72e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79c560000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>1bf9716621230300a6fbcd5ba7d0bb16</update_guid>\n<update_guid_history>1bf9716621230300a6fbcd5ba7d0bb16:1608266315</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_8bf9316673230300025780844ff6a76a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><grantable>true</grantable><includes_roles/><name>m2m_widget_image_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>8bf9316673230300025780844ff6a76a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_8bf9316673230300025780844ff6a76a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on></sys_user_role></record_update>]]></payload>\n<payload_hash>407176245</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>6eaa0a6a73230300025780844ff6a731</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79acc0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table/>\n<target_name>m2m_widget_image_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_guid>8ff931669523030079bf9d23437af56c</update_guid>\n<update_guid_history>8ff931669523030079bf9d23437af56c:407176245</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_image_image_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"image\" label=\"Image\" language=\"en\" table=\"m2m_widget_image\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>image</element><help/><hint/><label>Image</label><language>en</language><name>m2m_widget_image</name><plural>Images</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:12:10</sys_created_on><sys_id>a62ab16673230300025780844ff6a775</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_image_image_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:12:10</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1035619735</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>a2aa0a6a73230300025780844ff6a72d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c8531a0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image.Image</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>ae2ab1660d23030055f38e3afeb1137e</update_guid>\n<update_guid_history>ae2ab1660d23030055f38e3afeb1137e:-1035619735</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_53f9716673230300025780844ff6a70d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>53f9716673230300025780844ff6a70d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image.m2m_widget_image_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"m2m_widget_image\">4bf9716673230300025780844ff6a70a</sys_security_acl><sys_update_name>sys_security_acl_role_53f9716673230300025780844ff6a70d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><sys_user_role display_value=\"m2m_widget_image_user\" name=\"m2m_widget_image_user\">8bf9316673230300025780844ff6a76a</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1878691617</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>a2aa0a6a73230300025780844ff6a730</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79bc10000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image.m2m_widget_image_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>9ff971662223030024fad990f235100e</update_guid>\n<update_guid_history>9ff971662223030024fad990f235100e:1878691617</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_image_order</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"order\" table=\"m2m_widget_image\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Order&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;order&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;m2m_widget_image&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:12:10&lt;/sys_created_on&gt;&lt;sys_id&gt;d80a716673230300025780844ff6a7a2&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_image_order&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:12:10&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1381931878</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>a6aa0a6a73230300025780844ff6a72c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c853070000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image.Order</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>ee2ab166a0230300a9b28d483e15fb7d</update_guid>\n<update_guid_history>ee2ab166a0230300a9b28d483e15fb7d:-1381931878,222a71668c2303007428e7761d76a4c4:-1381931878</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_a468752673230300025780844ff6a7a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on slideshow_sp_instance</description><name>slideshow_sp_instance</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>a468752673230300025780844ff6a7a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_a468752673230300025780844ff6a7a5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1966896100</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>a6aa0a6a73230300025780844ff6a72f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c1336c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>6068752638230300a5bbf527533644a7</update_guid>\n<update_guid_history>6068752638230300a5bbf527533644a7:1966896100</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_7068752673230300025780844ff6a7b7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>slideshow_sp_instance</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:24</sys_created_on><sys_id>7068752673230300025780844ff6a7b7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_7068752673230300025780844ff6a7b7</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:24</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-161422374</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>a6aa0a6a73230300025780844ff6a732</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c135660000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table/>\n<target_name>slideshow_sp_instance</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>b06875261823030065eb31e394cd9fb8</update_guid>\n<update_guid_history>b06875261823030065eb31e394cd9fb8:-161422374</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_20e9316673230300025780844ff6a7a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>M2M Widget Image</label><live_feed_enabled>false</live_feed_enabled><name>m2m_widget_image</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>20e9316673230300025780844ff6a7a1</sys_id><sys_mod_count>1</sys_mod_count><sys_name>M2M Widget Image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_20e9316673230300025780844ff6a7a1</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:12:10</sys_updated_on><update_access>false</update_access><user_role display_value=\"m2m_widget_image_user\" name=\"m2m_widget_image_user\">8bf9316673230300025780844ff6a76a</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-1868303621</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>aaaa0a6a73230300025780844ff6a72b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c853930000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>f22ab166c423030095d18fc674b05185</update_guid>\n<update_guid_history>f22ab166c423030095d18fc674b05185:-1868303621,d7f97166ac230300a61d201b9fb50f2d:-1868303621</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_4bf9716673230300025780844ff6a70a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_image</description><name>m2m_widget_image</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>4bf9716673230300025780844ff6a70a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_4bf9716673230300025780844ff6a70a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1457882955</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>aaaa0a6a73230300025780844ff6a72e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79b840000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>17f9716652230300de07320441694b0c</update_guid>\n<update_guid_history>17f9716652230300de07320441694b0c:-1457882955</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_9c6bf56673230300025780844ff6a759</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"9c6bf56673230300025780844ff6a759\" sys_domain=\"global\" table=\"slideshow_sp_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>633cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>interval</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>e33cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>roles</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>673cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>e73cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>6b3cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>eb3cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:21:15</sys_created_on><sys_id>6f3cbd6673230300025780844ff6a7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"slideshow_sp_instance\" sys_domain=\"global\" view=\"Default view\">9c6bf56673230300025780844ff6a759</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:21:15</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>slideshow_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:17:28</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9c6bf56673230300025780844ff6a759</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_9c6bf56673230300025780844ff6a759</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:17:28</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>1868603138</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>aaaa0a6a73230300025780844ff6a731</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8d0a29d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>ab3cbd665a230300b402c3e55f2423bb</update_guid>\n<update_guid_history>ab3cbd665a230300b402c3e55f2423bb:1868603138,eb3cbd66c9230300373b49c6752035b6:-271616320</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>slideshow_sp_instance_586b396673230300025780844ff6a74d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"slideshow_sp_instance\"><slideshow_sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><interval>5</interval><order>1</order><roles/><short_description/><size>md</size><sp_column/><sp_widget/><sys_class_name>slideshow_sp_instance</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:17:36</sys_created_on><sys_id>586b396673230300025780844ff6a74d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>test</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>slideshow_sp_instance_586b396673230300025780844ff6a74d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:17:36</sys_updated_on><title>test</title><url/><widget_parameters/></slideshow_sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=586b396673230300025780844ff6a74d\"/></record_update>]]></payload>\n<payload_hash>1811799545</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>aeaa0a6a73230300025780844ff6a72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8cd4b850000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table/>\n<target_name>test</target_name>\n<type>Slideshow SP Instance</type>\n<update_domain>global</update_domain>\n<update_guid>566bf566a5230300101f4b9895dfde0c</update_guid>\n<update_guid_history>566bf566a5230300101f4b9895dfde0c:1811799545</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_slideshow_sp_instance_interval_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"interval\" label=\"Interval\" language=\"en\" table=\"slideshow_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>interval</element><help/><hint/><label>Interval</label><language>en</language><name>slideshow_sp_instance</name><plural>Intervals</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:09:54</sys_created_on><sys_id>6da9f92673230300025780844ff6a7ad</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Interval</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_slideshow_sp_instance_interval_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:09:54</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-725138777</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>aeaa0a6a73230300025780844ff6a72d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c6417d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance.Interval</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>ada9f92679230300e69795cfba08c2f5</update_guid>\n<update_guid_history>ada9f92679230300e69795cfba08c2f5:-725138777</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_bc68752673230300025780844ff6a7a7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>bc68752673230300025780844ff6a7a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance.slideshow_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"slideshow_sp_instance\">a468752673230300025780844ff6a7a5</sys_security_acl><sys_update_name>sys_security_acl_role_bc68752673230300025780844ff6a7a7</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><sys_user_role display_value=\"slideshow_sp_instance_user\" name=\"slideshow_sp_instance_user\">e468352673230300025780844ff6a77b</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-996593521</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>aeaa0a6a73230300025780844ff6a730</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c1339b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance.slideshow_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>f8687526a92303005913605ae456b1a9</update_guid>\n<update_guid_history>f8687526a92303005913605ae456b1a9:-996593521</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_image_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"m2m_widget_image\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;m2m_widget_image&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:11:24&lt;/sys_created_on&gt;&lt;sys_id&gt;5ff9716673230300025780844ff6a719&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;m2m_widget_image&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_image_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:11:24&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-503050708</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>e2aa0a6a73230300025780844ff6a72c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79dc30000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>17f97166dd230300bb458da85fc76e2b</update_guid>\n<update_guid_history>17f97166dd230300bb458da85fc76e2b:-503050708</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_a068752673230300025780844ff6a79b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on slideshow_sp_instance</description><name>slideshow_sp_instance</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>a068752673230300025780844ff6a79b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_a068752673230300025780844ff6a79b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1732447558</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>e2aa0a6a73230300025780844ff6a72f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c132a90000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>6c6875261e2303002126a7379d30029c</update_guid>\n<update_guid_history>6c6875261e2303002126a7379d30029c:-1732447558</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_17f9716673230300025780844ff6a729</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>m2m_widget_image</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:24</sys_created_on><sys_id>17f9716673230300025780844ff6a729</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_17f9716673230300025780844ff6a729</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:24</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-1459042976</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>e2aa0a6a73230300025780844ff6a732</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79d950000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table/>\n<target_name>m2m_widget_image</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>13f97166e6230300b2833cf2868f982a</update_guid>\n<update_guid_history>13f97166e6230300b2833cf2868f982a:-1459042976</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_9ac4022a73230300025780844ff6a739</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"ngBgSlideshow\">39b48ee673230300025780844ff6a7fe</sp_angular_provider><sp_widget display_value=\"pe background slideshow\">d9fab56673230300025780844ff6a7b0</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:58:34</sys_created_on><sys_id>9ac4022a73230300025780844ff6a739</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ngBgSlideshow.pe background slideshow</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_9ac4022a73230300025780844ff6a739</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:58:34</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1008172123</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>e6aa0a6a73230300025780844ff6a72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8f2cbbb0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table/>\n<target_name>ngBgSlideshow.pe background slideshow</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>dec4022a902303007bcf150273f3bd3a</update_guid>\n<update_guid_history>dec4022a902303007bcf150273f3bd3a:1008172123</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_d9fab56673230300025780844ff6a7b0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function SearchCTACtrl($scope, spUtil) {\n\t/* widget controller */\n\tvar c = this;\n\tc.$onInit = function () {\n\t\tc.interval = c.options.interval * 1000;\n\t\tc.slides = c.data.slides.map(function (item) {\n\t\t\treturn item.image;\n\t\t});\n\n\t\tif (c.options.embed_widget) {\n\t\t\tspUtil.get(c.options.embed_widget,{}).then(function(response){\n\t\t\t\tc.widgetToInclude = response;\n\t\t\t});\n\t\t}\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.slideshow-wrapper {\n  padding: 80px 0;\n  position: relative;\n  background-color: transparent; // replace the standard bootstrap background color\n  min-height: 100px;\n\n  .slideshow {\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: 50% 50%;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n\n    /* Layer the images so that the visible one is below all the others,\n     * but the previously active one fades out to reveal the visible one\n     * below */\n    transition: opacity 1s;\n    opacity: 0;\n\n    &amp;amp;.visible {\n      transition: none;\n      opacity: 1;\n      z-index: -1;\n    }\n  }\n  .inner-content {\n    position: relative;\n  }\n}&lt;/css&gt;&lt;data_table&gt;slideshow_sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;interval&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-background-slideshow&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;pe background slideshow&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"embed_widget\",\"label\":\"Embed Widget\",\"type\":\"string\"},{\"hint\":\"ng-template or ui pages\",\"name\":\"embed_template\",\"label\":\"Embed Template\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n    /* populate the 'data' object */\n    /* e.g., data.table = $sp.getValue('table'); */\n\n    data.slides = $sp.getRelatedList('m2m_widget_image', 'widget');\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:16:00&lt;/sys_created_on&gt;&lt;sys_id&gt;d9fab56673230300025780844ff6a7b0&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe background slideshow&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_d9fab56673230300025780844ff6a7b0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 06:14:37&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"slideshow-wrapper\"&gt;\n  &lt;div ng-bg-slideshow=\"c.slides\" interval=\"c.interval\"&gt;&lt;/div&gt;\n\n  &lt;div class=\"inner-content\"&gt;\n    &lt;div ng-if=\"c.widgetToInclude\"&gt;\n      &lt;sp-widget widget=\"c.widgetToInclude\"&gt;&lt;/sp-widget&gt;\n    &lt;/div&gt;\n\n    &lt;div ng-if=\"c.options.embed_template\"&gt;\n      &lt;ng-include src=\"c.options.embed_template\"&gt;&lt;/ng-include&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\t\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1320959105</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>e6aa0a6a73230300025780844ff6a72b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e9017d010000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table/>\n<target_name>pe background slideshow</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>99788e2ae42303003f198a9b089d4cce</update_guid>\n<update_guid_history>99788e2ae42303003f198a9b089d4cce:-1320959105,fe588e2aac2303001fc707b9c580ed31:-1364818389,e2488e2a6b230300af00ba8ead6a092b:-1989388011,4c180e2a6f2303008808d951a991abe9:-1062580010,23080e2aec230300e3463cef52dcd7d5:-1086265918,b4f70e2a622303007eff895433438946:-985488719,84470a2afb2303006e78cc2d78a87159:-868037958,cc170a2abc230300c55349ba3243df81:990372558,4d96c62a55230300415ce22310d1aea9:264629905,c186c62a46230300b70e78e8e0577a0e:-674032638,e866862a2823030041aa74a8e7b11d99:949648145,d456462a5c2303004985f6546ce38f17:1803066221,c5440ee6ec230300d5e4c3429467cc2a:-1995303821,a0444ee65f230300e45045dedb6f624e:-880878621,dd340ee65a230300a4a5b0cb1d6343f5:58074829,670386e60d230300c5377f3fc14f070b:-858343283,5db206e6ce230300005dabd2ca447abe:-1243592248,165bf56656230300888a8d6d4f339751:1451120462,ea0bf5661f230300bdcb0ec6c75eb403:-869397786</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_43f9316673230300025780844ff6a770</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_image</description><name>m2m_widget_image</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:23</sys_created_on><sys_id>43f9316673230300025780844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_43f9316673230300025780844ff6a770</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:23</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-228831511</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>e6aa0a6a73230300025780844ff6a72e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79b240000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>m2m_widget_image</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>4ff931661c230300f251e0a042756571</update_guid>\n<update_guid_history>4ff931661c230300f251e0a042756571:-228831511</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_related_slideshow_sp_instance_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_related sys_domain=\"global\" table=\"slideshow_sp_instance\" version=\"2\" view=\"\"><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"Slideshow SP Instance - Default view\" name=\"slideshow_sp_instance\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">f42c7d6673230300025780844ff6a7ce</list_id><order_by/><position>0</position><related_list>m2m_widget_image.widget</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:20:47</sys_created_on><sys_id>742c7d6673230300025780844ff6a7cf</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:20:47</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list action=\"INSERT_OR_UPDATE\"><calculated_name>Slideshow SP Instance - Default view</calculated_name><filter/><name>slideshow_sp_instance</name><order_by/><position/><related_list/><sys_class_name>sys_ui_related_list</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:20:47</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>f42c7d6673230300025780844ff6a7ce</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Slideshow SP Instance - Default view</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_related_slideshow_sp_instance_null</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:20:47</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_related_list></sys_ui_related></record_update>]]></payload>\n<payload_hash>2070693702</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>e6aa0a6a73230300025780844ff6a731</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8d037ac0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance</target_name>\n<type>Related Lists</type>\n<update_domain>global</update_domain>\n<update_guid>812cbd66d523030076de55cbbb3f98bd</update_guid>\n<update_guid_history>812cbd66d523030076de55cbbb3f98bd:2070693702</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_image__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"M2M Widget Image\" language=\"en\" table=\"m2m_widget_image\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>M2M Widget Image</label><language>en</language><name>m2m_widget_image</name><plural>M2M Widget Images</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:11:24</sys_created_on><sys_id>17f9716673230300025780844ff6a720</sys_id><sys_mod_count>0</sys_mod_count><sys_name>M2M Widget Image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_image__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:11:24</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1624020133</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>eaaa0a6a73230300025780844ff6a72d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c79de30000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>m2m_widget_image</table>\n<target_name>M2M Widget Image</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>97f97166f7230300209100732a089d2c</update_guid>\n<update_guid_history>97f97166f7230300209100732a089d2c:-1624020133</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_a868752673230300025780844ff6a79d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>a868752673230300025780844ff6a79d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance.slideshow_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"slideshow_sp_instance\">a068752673230300025780844ff6a79b</sys_security_acl><sys_update_name>sys_security_acl_role_a868752673230300025780844ff6a79d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><sys_user_role display_value=\"slideshow_sp_instance_user\" name=\"slideshow_sp_instance_user\">e468352673230300025780844ff6a77b</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1940344800</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>eaaa0a6a73230300025780844ff6a730</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c132d40000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance.slideshow_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>e46875260a2303004fa04cce1c87469f</update_guid>\n<update_guid_history>e46875260a2303004fa04cce1c87469f:1940344800</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_slideshow_sp_instance_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"slideshow_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;slideshow_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 05:04:23&lt;/sys_created_on&gt;&lt;sys_id&gt;f468752673230300025780844ff6a7aa&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;slideshow_sp_instance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_slideshow_sp_instance_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 05:04:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1790181334</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:15</sys_created_on>\n<sys_id>eeaa0a6a73230300025780844ff6a72c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c135bd0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:15</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>Slideshow SP Instance</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>786875268423030054645329458afdb9</update_guid>\n<update_guid_history>786875268423030054645329458afdb9:1790181334</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_2c68752673230300025780844ff6a7a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-12 05:04:23</sys_created_on><sys_id>2c68752673230300025780844ff6a7a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>slideshow_sp_instance.slideshow_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"slideshow_sp_instance\">2468752673230300025780844ff6a7a0</sys_security_acl><sys_update_name>sys_security_acl_role_2c68752673230300025780844ff6a7a2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-12 05:04:23</sys_updated_on><sys_user_role display_value=\"slideshow_sp_instance_user\" name=\"slideshow_sp_instance_user\">e468352673230300025780844ff6a77b</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1612805991</payload_hash>\n<remote_update_set display_value=\"pe-background-slideshow\">a6aac66a73230300025780844ff6a731</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 06:24:16</sys_created_on>\n<sys_id>eeaa0a6a73230300025780844ff6a72f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e8c1333c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 06:24:16</sys_updated_on>\n<table>slideshow_sp_instance</table>\n<target_name>slideshow_sp_instance.slideshow_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>68687526d9230300677bea415e9a02a4</update_guid>\n<update_guid_history>68687526d9230300677bea415e9a02a4:-1612805991</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-background-slideshow/widget/pe-background-slideshow.u-body-html-template.html",
    "content": "<div class=\"slideshow-wrapper\">\n  <div ng-bg-slideshow=\"c.slides\" interval=\"c.interval\"></div>\n\n  <div class=\"inner-content\">\n    <div ng-if=\"c.widgetToInclude\">\n      <sp-widget widget=\"c.widgetToInclude\"></sp-widget>\n    </div>\n\n    <div ng-if=\"c.options.embed_template\">\n      <ng-include src=\"c.options.embed_template\"></ng-include>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-background-slideshow/widget/pe-background-slideshow.u-client-script.js",
    "content": "function SearchCTACtrl($scope, spUtil) {\n  /* widget controller */\n  var c = this;\n  c.$onInit = function () {\n    c.interval = c.options.interval * 1000;\n    c.slides = c.data.slides.map(function (item) {\n      return item.image;\n    });\n\n    if (c.options.embed_widget) {\n      spUtil.get(c.options.embed_widget, {}).then(function (response) {\n        c.widgetToInclude = response;\n      });\n    }\n  }\n}"
  },
  {
    "path": "pe-background-slideshow/widget/pe-background-slideshow.u-css.scss",
    "content": ".slideshow-wrapper {\n  padding: 80px 0;\n  position: relative;\n  background-color: transparent; // replace the standard bootstrap background color\n  min-height: 100px;\n  .slideshow {\n    background-size: cover;\n    background-repeat: no-repeat;\n    background-position: 50% 50%;\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    /* Layer the images so that the visible one is below all the others,\n       * but the previously active one fades out to reveal the visible one\n       * below */\n    transition: opacity 1s;\n    opacity: 0;\n    &.visible {\n      transition: none;\n      opacity: 1;\n      z-index: -1;\n    }\n  }\n  .inner-content {\n    position: relative;\n  }\n}"
  },
  {
    "path": "pe-background-slideshow/widget/pe-background-slideshow.u-option-schema.json",
    "content": "[{\n  \"name\": \"embed_widget\",\n  \"label\": \"Embed Widget\",\n  \"type\": \"string\"\n}, {\n  \"hint\": \"ng-template or ui pages\",\n  \"name\": \"embed_template\",\n  \"label\": \"Embed Template\",\n  \"type\": \"string\"\n}]"
  },
  {
    "path": "pe-background-slideshow/widget/pe-background-slideshow.u-server-script.js",
    "content": "(function () {\n    /* populate the 'data' object */\n    /* e.g., data.table = $sp.getValue('table'); */\n\n    data.slides = $sp.getRelatedList('m2m_widget_image', 'widget');\n\n})();"
  },
  {
    "path": "pe-barcode-reader-fi/README.md",
    "content": "# Barcode Reader FI\n\n## Description\nThis widget can be used to read a bar code in different formats or to manually enter it, providing a backend lookup just specifying table name and lookup column in the options.\nThe image can be provided straight from camera or camera roll/file system (mobile and desktop).\n\n## Screenshots\n![alt text](../images/pe-barcode-reader-fi-01.png \"Barcode Reader - Options\") <br/><br/>\n![alt text](../images/pe-barcode-reader-fi-02.png \"Barcode Reader - Initial UI\") <br/><br/>\n![alt text](../images/pe-barcode-reader-fi-03.png \"Barcode Reader - After code extraction from image\") <br/><br/>\n<br/>\n<br/>\n<i>With manual lookup:</i><br/><br/>\n![alt text](../images/pe-barcode-reader-fi-04.png \"Barcode Reader - Manual lookup\") <br/>\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-barcode-reader-fi.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-barcode-reader-fi/pe-barcode-reader-fi.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n\n### Widget Option Schema\n\n**\"Table\"**  the table containing the products/items to search for<br/>\n**\"Display field\"**  the column name with the value to display on UI<br/>\n**\"Lookup field\"**  the column name containing the barcode<br/>\n**\"Additional fields\"**  additional columns to display on UI<br/>\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n* QuaggaJS <br/>\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal style configuration to make it easy to customize.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-barcode-reader-fi/pe-barcode-reader-fi.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-09-21 19:10:12\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-barcode-reader-fi.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>823e8e96dbd18300aa80d49fdf961916</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>fc5efe5adb158300aa80d49fdf9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_8f2941efdb6f320086da7d5e0f9619ef</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function BarcodeReaderFiController($scope, $window) {\n  /* widget controller */\n  var c = this;\n  c.title = 'Barcode reader';\n\n  c.data.products = [];\n  c.callbackBarcode = {};\n  c.callbackBarcode.warningText = '';\n\n  c.getBarcode = function (input) {\n    if (input) {\n      if (input.codeResult) {\n\n        c.callbackBarcode = {};\n        c.callbackBarcode.warningText = '';\n        c.callbackBarcode = input;\n        //lockup\n        c.getProductModel(input.codeResult.code, true);\n\n      } else {\n        c.callbackBarcode = {};\n        c.callbackBarcode.warningText = 'The barcode was not aquired, please enter it manually';\n      }\n    }\n  };\n  c.searchUpdate = function (input) {\n    c.callbackBarcode.warningText = '';\n    if (input.length &gt;= 3) {\n\n      c.getProductModel(input, false);\n      c.data.resultProducts = c.data.products;\n    } else\n      c.data.resultProducts = [];\n  };\n\n  c.getProductModel = function (code, auto) {\n    c.server.get({\n      barcode: code\n    }).then(function (response) {\n\n      if (response.data.products.length &gt; 0) {\n        c.data.products = response.data.products;\n        if (auto == false)\n          c.data.resultProducts = c.data.products;\n\n        console.log(c.data.products);\n        return c.data.products;\n      } else {\n        c.data.resultProducts = [];\n      }\n    });\n  }\n\n  c.selectBarcode = function (code) {\n    if (code) {\n      console.log('barcode selected', code);\n    }\n  };\n\n  c.hideResult = function (item) {\n    if (item) {\n      document.getElementById('results').style.display = 'none';\n      document.getElementById('results').style.borderWidth = '0px';\n    }\n  };\n\n  if (!$scope.readers) {\n    $scope.readers = [{\n      format: 'code_128_reader',\n      config: {}\n    }];\n  }\n  if (!$scope.patchSize)\n    $scope.patchSize = 'large';\n  if (!$scope.size)\n    $scope.size = '800';\n  var multiple = false;\n  if ($scope.readers.length &gt; 1)\n    multiple = true;\n  c.input_properties = {\n    'inputStream': {\n      'size': $scope.size,\n      'singleChannel': false\n    },\n    'locator': {\n      'patchSize': $scope.patchSize,\n      'halfSample': true\n    },\n    'decoder': {\n      readers: $scope.readers,\n      multiple: false\n    },\n    'locate': true,\n    'src': null\n  };\n\n  console.log('QuaggaJS config used: ', c.input_properties);\n\n  var App = {\n    init: function () {\n      App.attachListeners();\n    },\n    attachListeners: function () {\n      var self = this;\n      $('.form-group input[type=file]').on('change', function (e) {\n        if (e.target.files &amp;&amp; e.target.files.length) {\n          App.decode(URL.createObjectURL(e.target.files[0]));\n        }\n      });\n    },\n    _accessByPath: function (obj, path, val) {\n      var parts = path.split('.'),\n        depth = parts.length,\n        setter = (typeof val !== 'undefined') ? true : false;\n      return parts.reduce(function (o, key, i) {\n        if (setter &amp;&amp; (i + 1) === depth) {\n          o[key] = val;\n        }\n        return key in o ? o[key] : {};\n      }, obj);\n    },\n    _convertNameToState: function (name) {\n      return name.replace('_', '.').split('-').reduce(function (result, value) {\n        return result + value.charAt(0).toUpperCase() + value.substring(1);\n      });\n    },\n    detachListeners: function () {\n      $('.form-group input[type=file]').off('change');\n    },\n    decode: function (src) {\n      var self = this,\n        config = $.extend({}, self.state, {\n          src: src\n        });\n      Quagga.decodeSingle(config, function (result) {\n        if (!result.codeResult) {\n          console.log('QuaggaJS barcode not aquired ', result);\n          c.getBarcode(result);\n\n\n        }\n      });\n    },\n    inputMapper: {\n      inputStream: {\n        size: function (value) {\n          return parseInt(value);\n        }\n      },\n      numOfWorkers: function (value) {\n        return parseInt(value);\n      },\n      decoder: {\n        readers: function (value) {\n          if (value === 'ean_extended') {\n            return [{\n              format: 'ean_reader',\n              config: {\n                supplements: [\n                  'ean_5_reader', 'ean_2_reader'\n                ]\n              }\n            }];\n          }\n          return [{\n            format: value + '_reader',\n            config: {}\n          }];\n        }\n      }\n    },\n    state: c.input_properties\n  };\n\n  App.init();\n\n  function calculateRectFromArea(canvas, area) {\n    var canvasWidth = canvas.width,\n      canvasHeight = canvas.height,\n      top = parseInt(area.top) / 100,\n      right = parseInt(area.right) / 100,\n      bottom = parseInt(area.bottom) / 100,\n      left = parseInt(area.left) / 100;\n    top *= canvasHeight;\n    right = canvasWidth - canvasWidth * right;\n    bottom = canvasHeight - canvasHeight * bottom;\n    left *= canvasWidth;\n    return {\n      x: left,\n      y: top,\n      width: right - left,\n      height: bottom - top\n    };\n  }\n  Quagga.onProcessed(function (result) {\n    var drawingCtx = Quagga.canvas.ctx.overlay,\n      drawingCanvas = Quagga.canvas.dom.overlay,\n      area;\n    if (result) {\n      if (result.boxes) {\n        drawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute('width')), parseInt(drawingCanvas.getAttribute('height')));\n        result.boxes.filter(function (box) {\n          return box !== result.box;\n        }).forEach(function (box) {\n          Quagga.ImageDebug.drawPath(box, {\n            x: 0,\n            y: 1\n          }, drawingCtx, {\n              color: 'green',\n              lineWidth: 2\n            });\n        });\n      }\n      if (result.box) {\n        Quagga.ImageDebug.drawPath(result.box, {\n          x: 0,\n          y: 1\n        }, drawingCtx, {\n            color: '#00F',\n            lineWidth: 2\n          });\n      }\n      if (result.codeResult &amp;&amp; result.codeResult.code) {\n        Quagga.ImageDebug.drawPath(result.line, {\n          x: 'x',\n          y: 'y'\n        }, drawingCtx, {\n            color: 'red',\n            lineWidth: 3\n          });\n      }\n      if (App.state.inputStream.area) {\n        area = calculateRectFromArea(drawingCanvas, App.state.inputStream.area);\n        drawingCtx.strokeStyle = '#0F0';\n        drawingCtx.strokeRect(area.x, area.y, area.width, area.height);\n      }\n    }\n  });\n  Quagga.onDetected(function (result) {\n    var $node, code = result.codeResult.code,\n      canvas = Quagga.canvas.dom.image;\n    code = code.trim();\n    console.log('QuaggaJS detected code: ', code);\n    var array = [];\n    array.push(result);\n    result = {};\n    result = array[0];\n    result.canvas = canvas;\n    result.mainCanvas = Quagga.canvas;\n    result.canvasURL = canvas.toDataURL();\n    $scope.result = result;\n\n    $node = $('&lt;li&gt;&lt;div class=\"thumbnail\"&gt;&lt;div class=\"imgWrapper\"&gt;&lt;img /&gt;&lt;/div&gt;&lt;div class=\"caption\"&gt;&lt;h4 class=\"code\"&gt;&lt;/h4&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;');\n    $node.find(\"img\").attr(\"src\", canvas.toDataURL());\n    $node.find(\"h4.code\").html(code);\n    $(\"#result_strip ul.thumbnails\").prepend($node);\n\n    c.getBarcode(result);\n  });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;input[type=\"file\"] {\n  display: none;\n}\n\n.custom-file-upload {\n  display: inline-block;\n  cursor: pointer;\n  background-color: $gray-lighter;\n  border-radius: 4px;\n  height: 42px;\n  border: 0px;\n  width: 200px;\n  padding-top: 10px;\n  text-align: center;\n}\n\n.element-container input:focus+.results {\n  display: block\n}\n\n.element-container .results {\n  position: absolute;\n  top: 38px;\n  left: 0;\n  right: 0;\n  z-index: 10;\n  padding: 0;\n  margin: 0;\n  border-width: 0px;\n  border-style: solid;\n  border-color: #cbcfe2 #c8cee7 #c4c7d7;\n  border-radius: 4px;\n  background-color: $gray-lighter;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -ms-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.results-hide {\n  display: none;\n}\n\n.element-container .results li {\n  display: block\n}\n\n.element-container .results li:first-child {\n  margin-top: -1px\n}\n\n.element-container .results li:first-child:before,\n.element-container .results li:first-child:after {\n  display: block;\n  content: '';\n  width: 0;\n  height: 0;\n  position: absolute;\n  left: 50%;\n  margin-left: -5px;\n  border: 5px outset transparent;\n}\n\n.element-container .results li:first-child:before {\n  border-bottom: 5px solid #c4c7d7;\n  top: -11px;\n}\n\n.element-container .results li:first-child:after {\n  border-bottom: 5px solid #fdfdfd;\n  top: -10px;\n}\n\n.element-container .results li:first-child:hover:before,\n.element-container .results li:first-child:hover:after {\n  display: none\n}\n\n.element-container .results li:last-child {\n  margin-bottom: -1px\n}\n\n.element-container .results a {\n  display: block;\n  position: relative;\n  margin: 0 -1px;\n  padding: 6px 40px 6px 10px;\n  font-weight: 500;\n  text-shadow: 0 1px #fff;\n  border: 1px solid transparent;\n  border-radius: 3px;\n}\n\n.element-container .results a:before {\n  content: '';\n  width: 18px;\n  height: 18px;\n  position: absolute;\n  top: 50%;\n  right: 10px;\n  margin-top: -9px;\n}\n\n.element-container .results a:hover {\n  text-decoration: none;\n  color: #fff;\n  text-shadow: 0 -1px rgba(0, 0, 0, 0.3);\n  border-color: $brand-primary;\n  background-color: $brand-primary;\n}\n\n.ndl-alert {\n  color: $brand-warning;\n}\n\n#interactive.viewport {\n  width: 640px;\n  height: auto;\n}\n\n#interactive.viewport canvas,\nvideo {\n  float: left;\n  width: 640px;\n  height: auto;\n}\n\n#interactive.viewport canvas.drawingBuffer,\nvideo.drawingBuffer {\n  margin-left: -640px;\n}\n\n#result_strip {\n  margin: 10px 0;\n  border-top: 1px solid #EEE;\n  border-bottom: 1px solid #EEE;\n  padding: 10px 0;\n}\n\n#result_strip&amp;gt;ul {\n  padding: 0;\n  margin: 5px;\n  list-style-type: none;\n  width: auto;\n  overflow-x: auto;\n  overflow-y: hidden;\n  white-space: nowrap;\n}\n\n#result_strip&amp;gt;ul&amp;gt;li {\n  display: inline-block;\n  vertical-align: middle;\n  width: 160px;\n}\n\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail {\n  padding: 5px;\n  margin: 4px;\n  border: 1px dashed #CCC;\n}\n\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail img {\n  max-width: 140px;\n}\n\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail .caption {\n  white-space: normal;\n}\n\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail .caption h4 {\n  text-align: center;\n  word-wrap: break-word;\n  height: 40px;\n  margin: 0px;\n}\n\n#result_strip&amp;gt;ul:after {\n  content: \"\";\n  display: table;\n  clear: both;\n}\n\n@media (max-width: 603px) {\n  #interactive.viewport {\n    width: 300px;\n    height: 300px;\n    overflow: hidden;\n    margin: auto;\n  }\n  #interactive.viewport canvas,\n  video {\n    margin-top: -50px;\n    width: 300px;\n    height: 400px;\n  }\n  #interactive.viewport canvas.drawingBuffer,\n  video.drawingBuffer {\n    margin-left: -300px;\n  }\n  #result_strip {\n    margin-top: 5px;\n    padding-top: 5px;\n  }\n  #result_strip ul.thumbnails&amp;gt;li {\n    width: 150px;\n  }\n  #result_strip ul.thumbnails&amp;gt;li .thumbnail .imgWrapper {\n    width: 130px;\n    height: 130px;\n    overflow: hidden;\n  }\n  #result_strip ul.thumbnails&amp;gt;li .thumbnail .imgWrapper img {\n    margin-top: -25px;\n    width: 130px;\n    height: 180px;\n  }\n}\n\n.ndl-center {\n  margin: auto;\n  text-align: center;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_vlist&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;File Input, there will be a new variant soon called MO (media object). The latest will be available when the new Safari version will be released and will allow live stream capabilities from iOs.&lt;/description&gt;&lt;docs/&gt;&lt;field_list&gt;table,display_field,field_list,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;barcode-reader-fi&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Barcode Reader FI&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"lookup_field\",\"label\":\"Lookup Field\",\"type\":\"field_name\"},{\"name\":\"secondary_fields\",\"label\":\"Secondary fields\",\"type\":\"field_list\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.flagthumbnails = true;\n  data.flagpreview = true;\n\n  if (input) {\n    data.table = input.table || options.table;\n    data.display_field = input.display_field || options.display_field;\n    data.lookup_field = input.lookup_field || options.lookup_field;\n    options.secondary_fields = options.secondary_fields || \"\";\n\n    data.barcode = input.barcode;\n    if (data.barcode)\n      data.barcode = data.barcode.trim();\n\n    data.products = [];\n\n    if (data.table &amp;&amp; data.display_field &amp;&amp; data.lookup_field) {\n      var ret = new GlideRecord(data.table);\n      ret.addQuery(data.lookup_field, 'CONTAINS', data.barcode);\n      ret.query();\n      var temp = {};\n      while (ret.next()) {\n        temp = {};\n        temp.sys_id = ret.getUniqueValue();\n        temp.label = ret.getDisplayValue(data.display_field);\n        temp.lookup_value = ret.getDisplayValue(data.lookup_field);\n        temp.secondary_fields = $sp.getFields(ret, options.secondary_fields);\n\n        data.products.push(temp);\n      }\n    }\n  }\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-30 08:02:40&lt;/sys_created_on&gt;&lt;sys_id&gt;8f2941efdb6f320086da7d5e0f9619ef&lt;/sys_id&gt;&lt;sys_mod_count&gt;180&lt;/sys_mod_count&gt;&lt;sys_name&gt;Barcode Reader FI&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_8f2941efdb6f320086da7d5e0f9619ef&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-21 16:02:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"barcode\"&gt;\n    &lt;svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 1000 1000\"\n      enable-background=\"new 0 0 1000 1000\" xml:space=\"preserve\"&gt;\n      &lt;g&gt;\n        &lt;path d=\"M206,206h-65.3v588H206h65.3V206H206z M794,206h-65.3v588H794h65.3V206H794z M990,794V206h-65.3v588H990z M598,794V206h-65.3v588H598z M402,206h-65.3v588H402h65.3V206H402z M75.3,794V206H10v588H75.3z\"\n        /&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div class=\"container-fluid\"&gt;\n  &lt;div class=\"row\"&gt;\n    &lt;div class=\"col-md-12\"&gt;\n      &lt;h5&gt;{{c.title}}&lt;/h5&gt;\n    &lt;/div&gt;\n    &lt;div class=\"col-md-12\"&gt;\n      &lt;div class=\"input-group\"&gt;\n        &lt;span class=\"input-group-addon\" id=\"search-input\"&gt;&lt;i class=\"glyphicon glyphicon-search\"&gt;&lt;/i&gt;&lt;/span&gt;\n        &lt;input type=\"text\" aria-describedby=\"search-input\" class=\"form-control\" placeholder=\"Type or Number Of The Machine\" ng-model=\"c.barcode\"\n          ng-change=\"c.searchUpdate(c.barcode)\"&gt;\n      &lt;/div&gt;\n      &lt;div class=\"element-container\"&gt;\n      &lt;ul id=\"results\" class=\"results\"&gt;\n        &lt;li ng-repeat=\"item in c.data.resultProducts\"&gt;\n          &lt;a href=\"javascript:void(0)\" ng-click=\"c.hideResult(item)\"&gt;\n            {{item.label}}&lt;br/&gt;\n            &lt;span&gt;{{item.lookup_value}}&lt;/span&gt;&lt;br/&gt;\n            &lt;small ng-repeat=\"f in item.secondary_fields\"&gt;\n            &lt;span ng-if=\"!$first\"&gt; • &lt;/span&gt;\n            &lt;span ng-switch=\"f.type\" title=\"{{::f.label}}\"&gt;\n              &lt;span ng-switch-when=\"glide_date\"&gt;&lt;sn-time-ago timestamp=\"::f.value\" /&gt;&lt;/span&gt;\n              &lt;span ng-switch-when=\"glide_date_time\"&gt;&lt;sn-time-ago timestamp=\"::f.value\" /&gt;&lt;/span&gt;\n              &lt;span ng-switch-default=\"\"&gt;{{f.display_value}}&lt;/span&gt;\n            &lt;/span&gt;\n          &lt;/small&gt;\n\n          &lt;/a&gt;\n\n        &lt;/li&gt;\n      &lt;/ul&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"col-md-12 ndl-alert\" ng-show=\"c.callbackBarcode.warningText.length&gt;0\"&gt;\n      {{c.callbackBarcode.warningText}}\n    &lt;/div&gt;\n    &lt;div class=\"col-md-12 ndl-main-section ndl-center\"&gt;\n      &lt;svg viewBox=\"0 0 33 33\" width=\"200px\" height=\"150px\"&gt;\n        &lt;use xlink:href=\"#barcode\"&gt;&lt;/use&gt;\n      &lt;/svg&gt;\n      &lt;div&gt;\n        &lt;div class=\"form-group\"&gt;\n          &lt;label for=\"file-upload\" class=\"custom-file-upload\"&gt;Scan Barcode&lt;/label&gt;\n          &lt;input class=\"btn btn-default ndl-center\" id=\"file-upload\" type=\"file\" accept=\"image/*;capture=camera\" /&gt;\n        &lt;/div&gt;\n        &lt;div ng-show=\"result\"&gt;\n          &lt;div id=\"result_strip\"&gt;\n            &lt;ul class=\"thumbnails\"&gt;&lt;/ul&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div id=\"interactive\" class=\"viewport\" ng-show=\"result\" ng-click=\"c.selectBarcode(result.codeResult.code)\"&gt;&lt;/div&gt;\n        &lt;div id=\"debug\" class=\"detection\" ng-show=\"result\"&gt;&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-538584506</payload_hash>\n<remote_update_set display_value=\"pe-barcode-reader-fi.u-update-set.xml\">fc5efe5adb158300aa80d49fdf9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>345efe5adb158300aa80d49fdf9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ea52d82270000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<table/>\n<target_name>Barcode Reader FI</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>b573da1aeed183006c9d6b06b0cae1f6</update_guid>\n<update_guid_history>b573da1aeed183006c9d6b06b0cae1f6:-538584506,c35e42d6b3d183004e9028f3a2d9b8a2:-121232396,17144ae4897bb200d5f00fa55996911b:-919902530,97d04ae4cebfb200d9166bf3b72c379a:1863859626,363ffd60e07bb2000edc15537931cabf:1198055016,eb5aada0d53bb2001ac7f016dfa079c5:1397309440,ca5aada0293bb200af04bae499bc274b:115289934,2ee9296c507fb200b385dd6fd57fc54a:1397309440,18f849ac5b3fb200fd0ad8eedad9b8d0:1714403518,20d845e402b7b2000520adaef6d8a546:583215338,77880d6445b7b2003db7c68be0ab51c0:-544802646,63647464f33fb200c80e4c16fff3a207:426634680,e264b024703fb200d23462d624fc4373:1488436550,c24430ec3537b2005a435566a7aaffd6:-465669152,4914fce0f93fb2008fbf406e8649417d:1244048182,d6e3f4ac3f37b20095b5364a6f97a26c:-525802755,7f53f4ac7d37b200cfc27a83006ff667:1531867466,43f2f0ac9737b2003a18e15b9f687107:688022725,42d2b424f03fb2001cafe90fd89379d0:144661356,b672b4244f3fb2009cf684e9d2b806cc:285966562,28f138a8bd37b200018da6e001a59fe4:-368637100,cde1b024c53fb200394f50340072396a:1141461784,d2417060a73fb2005aa0b44581bbc57d:818139764,557038648d37b20020d24cf318f53d03:381589880,be4034a02a3fb2003db2f80042644e07:-743430644,fd30b8a0403fb2002227fb6a6f735b7b:-104170602,c58e6c64ec37b2004015cec2ae1b9b47:-1014508536,617e6064c737b20086da709b8cef3569:-705220920,2e3ee020563fb200f7bbac467c1bcd58:1536048012,bc216b773deb72008b2d1e15abfde9c5:1824663848,2f11aff323e37200d5d5ba1b7a93794f:20554422,a611ef37f6eb72007ab22a6fb6e83982:1712018944,8399b66f02ab320038a7311b020d7565:-2128196093,5349b26f6fab320032cb68e105d213db:-318621603,740936ef35a37200eca48f77e19e927c:207781951,00983eebdfab32004b01455f337cb0c5:-524810407,13d7fe2f06a372001103b264b3e71053:-626025903,f0733a2f6fa37200bd82e9b400cf5206:638574271,9cc27e6baeab3200829636611705a945:-1107152858,d0b2366b5ba37200e2e60d515c4ac8be:494157126,0b81fa2b85ab3200511c753b44174382:-2046101858,5670366bfaa372006f796bc358ed7cc5:-799469555,6c40ba2b3cab32005fbe85c84b73c3eb:289599338,c57f66e72fab32007a9992df012634f2:424587195,216faa2b64ab320030ab990e2a47aee5:-1928529351,adee22e71aab32005f6971fe986389a6:290891974,327ee6673da372007ed3f3c76702cbcf:-1189526094,f64eaa6311a37200edb71e06084eda35:75989153,757d6627e9a37200f705eb71e0d7ce29:-917198668,0dec2ea370a37200f5fd6f48b30f525b:-116634660,b0cb62a7edab3200a6fcf44b8849d889:-1927206785,f67b62a715ab32007fc08ff771d90d84:-436816724,687b62ef286372005226a23053627fbe:1883727510,1f0aaaaf04637200122fc575a65ae020:565016517,7447ae2ff6637200f58700589f411cc7:1158905727,0b92ea2bd0637200200dc320cff63f7e:211091946,9692eaa340ab3200b1a4bfdbe6fbd061:2047904670,89e0e2e7046372006554e79d8dd3753a:-2123668548,2650e2630aab3200f7c49e4b898a161e:-540556949,ba40e2637cab3200332196b73d0c2d1a:1220750845,3c10a663f5ab32009815df1005367e12:1672167401,3700e2e7566372005ce8d035ae062135:573693412,ddcf96634aab3200fa89dc8894fe250c:2049934416,f7af9ea791637200eb79d6f8bff19e01:398741555,e19fd26345ab3200cfbb084d266a7b31:800823767,549f1ea73763720010e4c1dec088f6fc:926638884,244f92634eab320040831fb1801ab1ca:-654866247,e9bd9227ac6372007fad0fa0e25b4b7d:-1308200289,e70d1aef506b3200297ea738a4a6f3d3:732784124,d50d9aef8f6b3200f9257ac3f99c9848:1413302354,ef5cde27cf6372004ede040feefc681e:-157569530,455cde274e637200a3cc87fb40dc231b:-315522362,ca2c56272f63720047eed6243eefe9ef:-2119938908,6ceb9aefbe6b32008e2a9121d23bb642:-1893161476,555bd22703637200a962641e6ec07a59:-1862365710,1bea52efaf6b3200b959a3866958deb7:1083919081,5baa56a350637200922a231298498174:1737429398,7c9ad2a33f637200f6e50e694e0aff8b:63134236,e15ad6a3686372004b6efb3b2a7b635a:-1102771200,3a2ad6a3e06372006d1ffb2fc99c5656:-455064833,d3d7de23a26372006b8c8db56da7f773:-1798727816,d1871663a1637200e60ca026bd167617:-272014489,dca396af51237200c05b99ed596b00d1:1383350019,4e6356eb886b3200ed05fa131a8c5ec7:344727678,44439aebd36b3200fb87bea1aca950f4:1678712610,b13356ebe76b3200b9f6b0924633ccc4:1280658305,ba2312efdd237200a15a9f0aa9fb523b:-89861215,ef0312efb6237200fb40b057a5302279:-893864475,16c212ef17237200aeaa5e6af994f076:1347013588,ed925e6ff923720050b8b598b1151a55:-616825788,d652da2fb223720044d5d72031937649:487936824,c9c1966ff9237200c9e8dda9cf8b8a70:1471296962,31e056abb46b3200fcf6922eb001534d:515597858,17d05eabd2237200afbfe0cc99ebf5e4:1178490155,e1d0966f6023720010d4a73b0e61786c:107393846,0cc835a30a2372009dac7e63711900d8:1920229997,12a835ef6f2b320067a15a3ec43e66c0:-329137227,3f987123c6237200683028a5fade7475:418706269,ef78fd6fcf2b320089b7ce93a647ac31:1081523453,067835ef012b320023438d3cccf793bb:-1287546115,a558f1ef2a2b32009f076cb6b0531b9e:-553273311,020671afca2b3200a0ad6a3592cd32e2:-1875808837,6d94b123a6237200642b7d9885415204:336210571,b04475af97ef32005d8b93a506f51918:1359053597,e70475af1eef3200717e436e3b081014:-1530040151,6ec3b5af38ef3200b11464aa3ca3be2a:1890811603,fe52312f842b32009de49cc8aa2ba6e7:1036433836,1452b5afd3ef3200ac5dfaa23d9e4e24:1755626997,6022f12f262b32008b5894959d9c82c1:171285691,99a1316f3eef3200865894438d46b95a:965753190,2b513d2f36ef32006789562b753531b1:-2033613070,1380792fb4ef32008048bfa958e2cb4b:-1711576776,8150316f6cef3200f0904316e89ca354:325417214,2210f16f05ef3200e80b0f9512856746:-962866787,c010f1ebac2b320029775e09bdaf12c7:-1471673813,bc00f9abc02b3200cea35bdf0ed4bab9:-944366698,9b4b29abc3ef3200478e86d2b94919af:-847824228,b1da6d2b682b3200a60a5bbc58ab3635:-794909227,d2ca6de7982b32009c4decb0cfcdf8d7:-492063727,ef6a216bbcef3200c21b3011af70401d:-419543490,dfd9a52b022b32004ee917f199763ef9:403109359,76d9216b02ef320080b1c231aa05a81a:1193946632,c899ad2bb8ef3200d6321d7b8f340033:-50039686,9ca86de7002b3200ddc50eb99d2160cc:-857890540,fb48eda75bef32005b37f7528c0ea1d0:-2059695740,00072967012b3200464b1574a63135ac:345862306,4e35a1e76def320070bf1483a42e93f3:-990604568,47f4e1e7ffef3200078165d45243eadb:746431696,90e4a1e723ef3200bfd952b49d4f7cf0:145233163,92c4e527a9ef32002069ee67caa3853f:1141693274,6e74ed678c2b32006822f946d5fba6f6:-1641254690,47832967292b3200839615eac29c92a1:75381416,1673ad27e62b3200775fafe005808106:-1870927496,a392296793ef3200bd10c4375167ad49:-1953589518,d49229674fef320092b2dd132225d645:1315081704,f7722167b62b3200bbf57e02f6e399db:-151232344,766225678eef32001a81ad29fdbdd5a1:1347371779,ba42ade36e2b3200d38df03b9a275c77:1046624917,2f126d27282b3200dd63b05baca18cfd:-658563482,2bf06d2738ef32004f3451578add0347:-909401443,15802527ebef3200bbfb2942f50ae814:301049359,a20065e323ef320010ad60c4d3547e8f:-1913759943,69ff1da3c62b32001a54eb272bc82a43:-1037308282,b9cf152737ef320065be96e00ec15a0e:1200631092,1dbf99e3742b32004c34a2e71fc17bd9:-2020274283,205e55a3f62b32005ade4aab6d75a15d:1576648468,832e5dafd2af32002a370cd52ec6ac35:-1020955152,75ed55a3762b32005a59c8d0cd792b58:472912534,0bcd1da3512b320000f1b49f5ef79139:-305866555,0aad55e33eef320037e1b3e8b35d5787:390648256,b90c9963e72b32005375c6c193f73ed1:-1206972330,22ab9963c52b32005d65a67a72dddecd:808009920,799bd1afd6af32006b3f9a21a6a69869:-110736859,118ad1af8daf3200da9b2e270f514763:-166502714,e60ad1afa9af320020dae7a92b252c5f:-1361316667,5bc995239c2b3200afe1a6953193bff1:-2044560381,2e895d2f98af32004fa10630c60051de:-993135137,0b69992f2faf32006854879910f3f7c6:-961370364,de69992f2caf3200ea5c7fbaf1847dc2:1979768900,65495523d92b3200f5eb17748e94bb3b:2031399808,04f89523f82b320057358b930fd104ea:1850310626,0fb85523912b32007f440adfb3c01237:549831995,9ee791a714af320092288ae8ff28218e:2080874283,68e7d167fbaf32006c0a12aa9b328cbb:-35175512,7ba795afc3e7320064d596d564620f28:-904005641,58175da77faf320043dfc03201a18b0b:1954366028,86c659af16e73200be942cabc0f62773:2063068830,20b65da79eaf32003ed74f80a536d107:1592243542,9f5559afd0e7320016017e559262a66d:-1310728219,a53559677aaf3200320ca07e2cd38c50:140067301,51a45d6717af32002f45edbe48c68cec:-295271076,8294d96f9ae732000afd2332e425b6e8:1909051676,1b845d67f7af32001c011844e70005e8:-1999088550,7073d96f4ae732006371d8f2ac5b93e0:-495141580,5243196fade73200d2c98ddf13996a56:-776942329,25435de378af3200bb1fbb6c4fdef128:1743889844,faf25de383af32000f56d2dfa2ccfa24:-179387524,3be2196fe6e7320074bbbf1b3ea97351:-1379340888,263ac5ef7d6f32009fac917dd2414a49:1088946845,959905efce6f32004cea273ee710b028:-288355065</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_e4ae4d63dbaf320086da7d5e0f961902</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>QuaggaJS</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-30 08:24:59</sys_created_on><sys_id>e4ae4d63dbaf320086da7d5e0f961902</sys_id><sys_mod_count>5</sys_mod_count><sys_name>QuaggaJS</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"QuaggaJS\">e15d7a0fdb1bb60086da7d5e0f9619c8</sys_ui_script><sys_update_name>sp_js_include_e4ae4d63dbaf320086da7d5e0f961902</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-21 15:53:50</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-711498865</payload_hash>\n<remote_update_set display_value=\"pe-barcode-reader-fi.u-update-set.xml\">fc5efe5adb158300aa80d49fdf9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>705efe5adb158300aa80d49fdf9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ea5252c010000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<table/>\n<target_name>QuaggaJS</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>d061961a15d18300f3b0b28a5a905678</update_guid>\n<update_guid_history>d061961a15d18300f3b0b28a5a905678:-711498865,a351961ae5d18300a2348cfda0f72fed:-836248817,8ecef9bc8f77f200db04ee776aad051e:204649415,c9ce79bcbb77f2001751d166ef2df4f5:142395849,0ade8d63a5af320066a52fa57dc17bc2:-1681908994,84be4d631eaf320087fddb1a2d037f07:82310913</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_8c4a0defdb6f320086da7d5e0f961998</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>QuaggaJS</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-30 08:06:13</sys_created_on><sys_id>8c4a0defdb6f320086da7d5e0f961998</sys_id><sys_mod_count>4</sys_mod_count><sys_name>QuaggaJS</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_8c4a0defdb6f320086da7d5e0f961998</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-21 15:53:01</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-835272359</payload_hash>\n<remote_update_set display_value=\"pe-barcode-reader-fi.u-update-set.xml\">fc5efe5adb158300aa80d49fdf9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>bc5efe5adb158300aa80d49fdf9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ea5246cf50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<table/>\n<target_name>QuaggaJS</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>e431521a99d18300214ea4079374bd47</update_guid>\n<update_guid_history>e431521a99d18300214ea4079374bd47:-835272359,2f21521a89d18300e3ce39ec70764e44:1808721817,b7beb9bc4677f200ac4de1f29953628c:1901325841,b6beb9bca277f20025525beb1bad7217:1806116593,9d6a0def4f6f32001bbcc3b5b13de09d:1901325841</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5b31561adbd18300aa80d49fdf961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"QuaggaJS\">8c4a0defdb6f320086da7d5e0f961998</sp_dependency><sp_js_include display_value=\"QuaggaJS\">e4ae4d63dbaf320086da7d5e0f961902</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-21 15:53:13</sys_created_on><sys_id>5b31561adbd18300aa80d49fdf961919</sys_id><sys_mod_count>2</sys_mod_count><sys_name>QuaggaJS.QuaggaJS</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5b31561adbd18300aa80d49fdf961919</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-21 15:53:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>33524122</payload_hash>\n<remote_update_set display_value=\"pe-barcode-reader-fi.u-update-set.xml\">fc5efe5adb158300aa80d49fdf9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>f05efe5adb158300aa80d49fdf9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ea524df040000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<table/>\n<target_name>QuaggaJS.QuaggaJS</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>ab41561aa0d183006acc72a7530ab3c7</update_guid>\n<update_guid_history>ab41561aa0d183006acc72a7530ab3c7:33524122,2941561ab2d18300e163837a462680b0:183665465,5f31561a9ed18300222096a41d25861a:33524122</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_e15d7a0fdb1bb60086da7d5e0f9619c8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description&gt;min&lt;/description&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;QuaggaJS&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(t,e){\"object\"==typeof exports&amp;&amp;\"object\"==typeof module?module.exports=e(e.toString()).default:\"object\"==typeof exports?exports.Quagga=e(e.toString()).default:t.Quagga=e(e.toString()).default}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&amp;&amp;t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=166)}([function(t,e){function n(t){var e=typeof t;return null!=t&amp;&amp;(\"object\"==e||\"function\"==e)}t.exports=n},function(t,e,n){\"use strict\";function r(t,e){return this._row=[],this.config=t||{},this.supplements=e,this}var o=n(3);r.prototype._nextUnset=function(t,e){var n;for(void 0===e&amp;&amp;(e=0),n=e;n&lt;t.length;n++)if(!t[n])return n;return t.length},r.prototype._matchPattern=function(t,e,n){var r,o,i,a,u=0,c=0,s=0,f=0;for(n=n||this.SINGLE_CODE_ERROR||1,r=0;r&lt;t.length;r++)s+=t[r],f+=e[r];if(s&lt;f)return Number.MAX_VALUE;for(o=s/f,n*=o,r=0;r&lt;t.length;r++){if(i=t[r],a=e[r]*o,(c=Math.abs(i-a)/a)&gt;n)return Number.MAX_VALUE;u+=c}return u/f},r.prototype._nextSet=function(t,e){var n;for(e=e||0,n=e;n&lt;t.length;n++)if(t[n])return n;return t.length},r.prototype._correctBars=function(t,e,n){for(var r=n.length,o=0;r--;)(o=t[n[r]]*(1-(1-e)/2))&gt;1&amp;&amp;(t[n[r]]=o)},r.prototype._matchTrace=function(t,e){var n,r,o=[],i=this,a=i._nextSet(i._row),u=!i._row[a],c=0,s={error:Number.MAX_VALUE,code:-1,start:0};if(t){for(n=0;n&lt;t.length;n++)o.push(0);for(n=a;n&lt;i._row.length;n++)if(i._row[n]^u)o[c]++;else{if(c===o.length-1)return r=i._matchPattern(o,t),r&lt;e?(s.start=n-a,s.end=n,s.counter=o,s):null;c++,o[c]=1,u=!u}}else for(o.push(0),n=a;n&lt;i._row.length;n++)i._row[n]^u?o[c]++:(c++,o.push(0),o[c]=1,u=!u);return s.start=a,s.end=i._row.length-1,s.counter=o,s},r.prototype.decodePattern=function(t){var e,n=this;return n._row=t,e=n._decode(),null===e?(n._row.reverse(),(e=n._decode())&amp;&amp;(e.direction=r.DIRECTION.REVERSE,e.start=n._row.length-e.start,e.end=n._row.length-e.end)):e.direction=r.DIRECTION.FORWARD,e&amp;&amp;(e.format=n.FORMAT),e},r.prototype._matchRange=function(t,e,n){var r;for(t=t&lt;0?0:t,r=t;r&lt;e;r++)if(this._row[r]!==n)return!1;return!0},r.prototype._fillCounters=function(t,e,n){var r,o=this,i=0,a=[];for(n=void 0===n||n,t=void 0!==t?t:o._nextUnset(o._row),e=e||o._row.length,a[i]=0,r=t;r&lt;e;r++)o._row[r]^n?a[i]++:(i++,a[i]=1,n=!n);return a},r.prototype._toCounters=function(t,e){var n,r=this,i=e.length,a=r._row.length,u=!r._row[t],c=0;for(o.a.init(e,0),n=t;n&lt;a;n++)if(r._row[n]^u)e[c]++;else{if(++c===i)break;e[c]=1,u=!u}return e},Object.defineProperty(r.prototype,\"FORMAT\",{value:\"unknown\",writeable:!1}),r.DIRECTION={FORWARD:1,REVERSE:-1},r.Exception={StartNotFoundException:\"Start-Info was not found!\",CodeNotFoundException:\"Code could not be found!\",PatternNotFoundException:\"Pattern could not be found!\"},r.CONFIG_KEYS={},e.a=r},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){\"use strict\";e.a={init:function(t,e){for(var n=t.length;n--;)t[n]=e},shuffle:function(t){var e,n,r=t.length-1;for(r;r&gt;=0;r--)e=Math.floor(Math.random()*r),n=t[r],t[r]=t[e],t[e]=n;return t},toPointList:function(t){var e,n,r=[],o=[];for(e=0;e&lt;t.length;e++){for(r=[],n=0;n&lt;t[e].length;n++)r[n]=t[e][n];o[e]=\"[\"+r.join(\",\")+\"]\"}return\"[\"+o.join(\",\\r\\n\")+\"]\"},threshold:function(t,e,n){var r,o=[];for(r=0;r&lt;t.length;r++)n.apply(t,[t[r]])&gt;=e&amp;&amp;o.push(t[r]);return o},maxIndex:function(t){var e,n=0;for(e=0;e&lt;t.length;e++)t[e]&gt;t[n]&amp;&amp;(n=e);return n},max:function t(e){var n,t=0;for(n=0;n&lt;e.length;n++)e[n]&gt;t&amp;&amp;(t=e[n]);return t},sum:function t(e){for(var n=e.length,t=0;n--;)t+=e[n];return t}}},function(t,e,n){\"use strict\";function r(t,e){t=a()(o(),t),u.a.call(this,t,e)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=Object.assign||function(t){for(var e=1;e&lt;arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&amp;&amp;(t[r]=n[r])}return t},s={CODE_L_START:{value:0},CODE_G_START:{value:10},START_PATTERN:{value:[1,1,1]},STOP_PATTERN:{value:[1,1,1]},MIDDLE_PATTERN:{value:[1,1,1,1,1]},EXTENSION_START_PATTERN:{value:[1,1,2]},CODE_PATTERN:{value:[[3,2,1,1],[2,2,2,1],[2,1,2,2],[1,4,1,1],[1,1,3,2],[1,2,3,1],[1,1,1,4],[1,3,1,2],[1,2,1,3],[3,1,1,2],[1,1,2,3],[1,2,2,2],[2,2,1,2],[1,1,4,1],[2,3,1,1],[1,3,2,1],[4,1,1,1],[2,1,3,1],[3,1,2,1],[2,1,1,3]]},CODE_FREQUENCY:{value:[0,11,13,14,19,25,28,21,22,26]},SINGLE_CODE_ERROR:{value:.7},AVG_CODE_ERROR:{value:.48},FORMAT:{value:\"ean_13\",writeable:!1}};r.prototype=Object.create(u.a.prototype,s),r.prototype.constructor=r,r.prototype._decodeCode=function(t,e){var n,r,o,i=[0,0,0,0],a=this,u=t,c=!a._row[u],s=0,f={error:Number.MAX_VALUE,code:-1,start:t,end:t};for(e||(e=a.CODE_PATTERN.length),n=u;n&lt;a._row.length;n++)if(a._row[n]^c)i[s]++;else{if(s===i.length-1){for(r=0;r&lt;e;r++)(o=a._matchPattern(i,a.CODE_PATTERN[r]))&lt;f.error&amp;&amp;(f.code=r,f.error=o);return f.end=n,f.error&gt;a.AVG_CODE_ERROR?null:f}s++,i[s]=1,c=!c}return null},r.prototype._findPattern=function(t,e,n,r,o){var i,a,u,c,s=[],f=this,l=0,d={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e||(e=f._nextSet(f._row)),void 0===n&amp;&amp;(n=!1),void 0===r&amp;&amp;(r=!0),void 0===o&amp;&amp;(o=f.AVG_CODE_ERROR),i=0;i&lt;t.length;i++)s[i]=0;for(i=e;i&lt;f._row.length;i++)if(f._row[i]^n)s[l]++;else{if(l===s.length-1){for(c=0,u=0;u&lt;s.length;u++)c+=s[u];if((a=f._matchPattern(s,t))&lt;o)return d.error=a,d.start=i-c,d.end=i,d;if(!r)return null;for(u=0;u&lt;s.length-2;u++)s[u]=s[u+2];s[s.length-2]=0,s[s.length-1]=0,l--}else l++;s[l]=1,n=!n}return null},r.prototype._findStart=function(){for(var t,e,n=this,r=n._nextSet(n._row);!e;){if(!(e=n._findPattern(n.START_PATTERN,r)))return null;if((t=e.start-(e.end-e.start))&gt;=0&amp;&amp;n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start),e&lt;n._row.length&amp;&amp;n._matchRange(t.end,e,0)?t:null},r.prototype._findEnd=function(t,e){var n=this,r=n._findPattern(n.STOP_PATTERN,t,e,!1);return null!==r?n._verifyTrailingWhitespace(r):null},r.prototype._calculateFirstDigit=function(t){var e,n=this;for(e=0;e&lt;n.CODE_FREQUENCY.length;e++)if(t===n.CODE_FREQUENCY[e])return e;return null},r.prototype._decodePayload=function(t,e,n){var r,o,i=this,a=0;for(r=0;r&lt;6;r++){if(!(t=i._decodeCode(t.end)))return null;t.code&gt;=i.CODE_G_START?(t.code=t.code-i.CODE_G_START,a|=1&lt;&lt;5-r):a|=0&lt;&lt;5-r,e.push(t.code),n.push(t)}if(null===(o=i._calculateFirstDigit(a)))return null;if(e.unshift(o),null===(t=i._findPattern(i.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r&lt;6;r++){if(!(t=i._decodeCode(t.end,i.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},r.prototype._decode=function(){var t,e,n=this,r=[],o=[],i={};if(!(t=n._findStart()))return null;if(e={code:t.code,start:t.start,end:t.end},o.push(e),!(e=n._decodePayload(e,r,o)))return null;if(!(e=n._findEnd(e.end,!1)))return null;if(o.push(e),!n._checksum(r))return null;if(this.supplements.length&gt;0){var a=this._decodeExtensions(e.end);if(!a)return null;var u=a.decodedCodes[a.decodedCodes.length-1],s={start:u.start+((u.end-u.start)/2|0),end:u.end};if(!n._verifyTrailingWhitespace(s))return null;i={supplement:a,code:r.join(\"\")+a.code}}return c({code:r.join(\"\"),start:t.start,end:e.end,codeset:\"\",startInfo:t,decodedCodes:o},i)},r.prototype._decodeExtensions=function(t){var e,n,r=this._nextSet(this._row,t),o=this._findPattern(this.EXTENSION_START_PATTERN,r,!1,!1);if(null===o)return null;for(e=0;e&lt;this.supplements.length;e++)if(null!==(n=this.supplements[e].decode(this._row,o.end)))return{code:n.code,start:r,startInfo:o,end:n.end,codeset:\"\",decodedCodes:n.decodedCodes};return null},r.prototype._checksum=function(t){var e,n=0;for(e=t.length-2;e&gt;=0;e-=2)n+=t[e];for(n*=3,e=t.length-1;e&gt;=0;e-=2)n+=t[e];return n%10==0},r.CONFIG_KEYS={supplements:{type:\"arrayOf(string)\",default:[],description:\"Allowed extensions to be decoded (2 and/or 5)\"}},e.a=r},function(t,e,n){var r=n(38),o=\"object\"==typeof self&amp;&amp;self&amp;&amp;self.Object===Object&amp;&amp;self,i=r||o||Function(\"return this\")();t.exports=i},function(t,e){function n(t){return null!=t&amp;&amp;\"object\"==typeof t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(2);return e[0]=t[0],e[1]=t[1],e}t.exports=n},function(t,e,n){function r(t){return null==t?void 0===t?c:u:s&amp;&amp;s in Object(t)?i(t):a(t)}var o=n(11),i=n(119),a=n(146),u=\"[object Null]\",c=\"[object Undefined]\",s=o?o.toStringTag:void 0;t.exports=r},function(t,e,n){\"use strict\";e.a={drawRect:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=1,n.beginPath(),n.strokeRect(t.x,t.y,e.x,e.y)},drawPath:function(t,e,n,r){n.strokeStyle=r.color,n.fillStyle=r.color,n.lineWidth=r.lineWidth,n.beginPath(),n.moveTo(t[0][e.x],t[0][e.y]);for(var o=1;o&lt;t.length;o++)n.lineTo(t[o][e.x],t[o][e.y]);n.closePath(),n.stroke()},drawImage:function(t,e,n){var r,o=n.getImageData(0,0,e.x,e.y),i=o.data,a=t.length,u=i.length;if(u/a!=4)return!1;for(;a--;)r=t[a],i[--u]=255,i[--u]=r,i[--u]=r,i[--u]=r;return n.putImageData(o,0,0),!0}}},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e&lt;n;){var r=t[e];this.set(r[0],r[1])}}var o=n(133),i=n(134),a=n(135),u=n(136),c=n(137);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=u,r.prototype.set=c,t.exports=r},function(t,e,n){var r=n(5),o=r.Symbol;t.exports=o},function(t,e,n){function r(t,e){for(var n=t.length;n--;)if(o(t[n][0],e))return n;return-1}var o=n(17);t.exports=r},function(t,e,n){function r(t,e){return o(t)?t:i(t,e)?[t]:a(u(t))}var o=n(2),i=n(130),a=n(154),u=n(165);t.exports=r},function(t,e,n){function r(t,e){var n=t.__data__;return o(e)?n[\"string\"==typeof e?\"string\":\"hash\"]:n.map}var o=n(131);t.exports=r},function(t,e){function n(t,e){return!!(e=null==e?r:e)&amp;&amp;(\"number\"==typeof t||o.test(t))&amp;&amp;t&gt;-1&amp;&amp;t%1==0&amp;&amp;t&lt;e}var r=9007199254740991,o=/^(?:0|[1-9]\\d*)$/;t.exports=n},function(t,e,n){var r=n(22),o=r(Object,\"create\");t.exports=o},function(t,e){function n(t,e){return t===e||t!==t&amp;&amp;e!==e}t.exports=n},function(t,e,n){var r=n(96),o=n(6),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&amp;&amp;a.call(t,\"callee\")&amp;&amp;!u.call(t,\"callee\")};t.exports=c},function(t,e,n){\"use strict\";function r(t,e){return{x:t,y:e,toVec2:function(){return b.clone([this.x,this.y])},toVec3:function(){return E.clone([this.x,this.y,1])},round:function(){return this.x=this.x&gt;0?Math.floor(this.x+.5):Math.floor(this.x-.5),this.y=this.y&gt;0?Math.floor(this.y+.5):Math.floor(this.y-.5),this}}}function o(t,e,n){n||(n=t);for(var r=t.data,o=r.length,i=n.data;o--;)i[o]=r[o]&lt;e?1:0}function i(t,e){e||(e=8);for(var n=t.data,r=n.length,o=8-e,i=1&lt;&lt;e,a=new Int32Array(i);r--;)a[n[r]&gt;&gt;o]++;return a}function a(t,e){function n(t,e){var n,r=0;for(n=t;n&lt;=e;n++)r+=a[n];return r}function r(t,e){var n,r=0;for(n=t;n&lt;=e;n++)r+=n*a[n];return r}function o(){var o,u,c,s,f,l,d,h=[0],p=(1&lt;&lt;e)-1;for(a=i(t,e),s=1;s&lt;p;s++)o=n(0,s),u=n(s+1,p),c=o*u,0===c&amp;&amp;(c=1),f=r(0,s)*u,l=r(s+1,p)*o,d=f-l,h[s]=d*d/c;return x.a.maxIndex(h)}e||(e=8);var a,u=8-e;return o()&lt;&lt;u}function u(t,e){var n=a(t);return o(t,n,e),n}function c(t,e,n){function r(t){var e=!1;for(i=0;i&lt;c.length;i++)a=c[i],a.fits(t)&amp;&amp;(a.add(t),e=!0);return e}var o,i,a,u,c=[];for(n||(n=\"rad\"),o=0;o&lt;t.length;o++)u=m.a.createPoint(t[o],o,n),r(u)||c.push(m.a.create(u,e));return c}function s(t,e,n){var r,o,i,a,u=0,c=0,s=[];for(r=0;r&lt;e;r++)s[r]={score:0,item:null};for(r=0;r&lt;t.length;r++)if((o=n.apply(this,[t[r]]))&gt;c)for(i=s[u],i.score=o,i.item=t[r],c=Number.MAX_VALUE,a=0;a&lt;e;a++)s[a].score&lt;c&amp;&amp;(c=s[a].score,u=a);return s}function f(t,e,n){for(var r,o=0,i=e.x,a=Math.floor(t.length/4),u=e.x/2,c=0,s=e.x;i&lt;a;){for(r=0;r&lt;u;r++)n[c]=(.299*t[4*o+0]+.587*t[4*o+1]+.114*t[4*o+2]+(.299*t[4*(o+1)+0]+.587*t[4*(o+1)+1]+.114*t[4*(o+1)+2])+(.299*t[4*i+0]+.587*t[4*i+1]+.114*t[4*i+2])+(.299*t[4*(i+1)+0]+.587*t[4*(i+1)+1]+.114*t[4*(i+1)+2]))/4,c++,o+=2,i+=2;o+=s,i+=s}}function l(t,e,n){var r,o=t.length/4|0;if(n&amp;&amp;n.singleChannel===!0)for(r=0;r&lt;o;r++)e[r]=t[4*r+0];else for(r=0;r&lt;o;r++)e[r]=.299*t[4*r+0]+.587*t[4*r+1]+.114*t[4*r+2]}function d(t,e){for(var n=t.data,r=t.size.x,o=e.data,i=0,a=r,u=n.length,c=r/2,s=0;a&lt;u;){for(var f=0;f&lt;c;f++)o[s]=Math.floor((n[i]+n[i+1]+n[a]+n[a+1])/4),s++,i+=2,a+=2;i+=r,a+=r}}function h(t,e){var n=t[0],r=t[1],o=t[2],i=o*r,a=i*(1-Math.abs(n/60%2-1)),u=o-i,c=0,s=0,f=0;return e=e||[0,0,0],n&lt;60?(c=i,s=a):n&lt;120?(c=a,s=i):n&lt;180?(s=i,f=a):n&lt;240?(s=a,f=i):n&lt;300?(c=a,f=i):n&lt;360&amp;&amp;(c=i,f=a),e[0]=255*(c+u)|0,e[1]=255*(s+u)|0,e[2]=255*(f+u)|0,e}function p(t){var e,n=[],r=[];for(e=1;e&lt;Math.sqrt(t)+1;e++)t%e==0&amp;&amp;(r.push(e),e!==t/e&amp;&amp;n.unshift(Math.floor(t/e)));return r.concat(n)}function v(t,e){for(var n=0,r=0,o=[];n&lt;t.length&amp;&amp;r&lt;e.length;)t[n]===e[r]?(o.push(t[n]),n++,r++):t[n]&gt;e[r]?r++:n++;return o}function _(t,e){function n(t){for(var e=0,n=t[Math.floor(t.length/2)];e&lt;t.length-1&amp;&amp;t[e]&lt;d;)e++;return e&gt;0&amp;&amp;(n=Math.abs(t[e]-d)&gt;Math.abs(t[e-1]-d)?t[e-1]:t[e]),d/n&lt;c[f+1]/c[f]&amp;&amp;d/n&gt;c[f-1]/c[f]?{x:n,y:n}:null}var r,o=p(e.x),i=p(e.y),a=Math.max(e.x,e.y),u=v(o,i),c=[8,10,15,20,32,60,80],s={\"x-small\":5,small:4,medium:3,large:2,\"x-large\":1},f=s[t]||s.medium,l=c[f],d=Math.floor(a/l);return r=n(u),r||(r=n(p(a)))||(r=n(p(d*l))),r}function g(t){return{value:parseFloat(t),unit:(t.indexOf(\"%\"),t.length,\"%\")}}function y(t,e,n){var r={width:t,height:e},o=Object.keys(n).reduce(function(t,e){var o=n[e],i=g(o),a=C[e](i,r);return t[e]=a,t},{});return{sx:o.left,sy:o.top,sw:o.right-o.left,sh:o.bottom-o.top}}var m=n(50),x=n(3);e.b=r,e.f=u,e.g=c,e.h=s,e.c=f,e.d=l,e.i=d,e.a=h,e.e=_,e.j=y;var b={clone:n(7)},E={clone:n(83)},C={top:function(t,e){if(\"%\"===t.unit)return Math.floor(e.height*(t.value/100))},right:function(t,e){if(\"%\"===t.unit)return Math.floor(e.width-e.width*(t.value/100))},bottom:function(t,e){if(\"%\"===t.unit)return Math.floor(e.height-e.height*(t.value/100))},left:function(t,e){if(\"%\"===t.unit)return Math.floor(e.width*(t.value/100))}}},function(t,e,n){\"use strict\";function r(t,e,n,r){e?this.data=e:n?(this.data=new n(t.x*t.y),n===Array&amp;&amp;r&amp;&amp;a.a.init(this.data,0)):(this.data=new Uint8Array(t.x*t.y),Uint8Array===Array&amp;&amp;r&amp;&amp;a.a.init(this.data,0)),this.size=t}var o=n(53),i=n(19),a=n(3),u={clone:n(7)};r.prototype.inImageWithBorder=function(t,e){return t.x&gt;=e&amp;&amp;t.y&gt;=e&amp;&amp;t.x&lt;this.size.x-e&amp;&amp;t.y&lt;this.size.y-e},r.sample=function(t,e,n){var r=Math.floor(e),o=Math.floor(n),i=t.size.x,a=o*t.size.x+r,u=t.data[a+0],c=t.data[a+1],s=t.data[a+i],f=t.data[a+i+1],l=u-c;return e-=r,n-=o,Math.floor(e*(n*(l-s+f)-l)+n*(s-u)+u)},r.clearArray=function(t){for(var e=t.length;e--;)t[e]=0},r.prototype.subImage=function(t,e){return new o.a(t,e,this)},r.prototype.subImageAsCopy=function(t,e){var n,r,o=t.size.y,i=t.size.x;for(n=0;n&lt;i;n++)for(r=0;r&lt;o;r++)t.data[r*i+n]=this.data[(e.y+r)*this.size.x+e.x+n]},r.prototype.copyTo=function(t){for(var e=this.data.length,n=this.data,r=t.data;e--;)r[e]=n[e]},r.prototype.get=function(t,e){return this.data[e*this.size.x+t]},r.prototype.getSafe=function(t,e){var n;if(!this.indexMapping){for(this.indexMapping={x:[],y:[]},n=0;n&lt;this.size.x;n++)this.indexMapping.x[n]=n,this.indexMapping.x[n+this.size.x]=n;for(n=0;n&lt;this.size.y;n++)this.indexMapping.y[n]=n,this.indexMapping.y[n+this.size.y]=n}return this.data[this.indexMapping.y[e+this.size.y]*this.size.x+this.indexMapping.x[t+this.size.x]]},r.prototype.set=function(t,e,n){return this.data[e*this.size.x+t]=n,this},r.prototype.zeroBorder=function(){var t,e=this.size.x,n=this.size.y,r=this.data;for(t=0;t&lt;e;t++)r[t]=r[(n-1)*e+t]=0;for(t=1;t&lt;n-1;t++)r[t*e]=r[t*e+(e-1)]=0},r.prototype.invert=function(){for(var t=this.data,e=t.length;e--;)t[e]=t[e]?0:1},r.prototype.convolve=function(t){var e,n,r,o,i=t.length/2|0,a=0;for(n=0;n&lt;this.size.y;n++)for(e=0;e&lt;this.size.x;e++){for(a=0,o=-i;o&lt;=i;o++)for(r=-i;r&lt;=i;r++)a+=t[o+i][r+i]*this.getSafe(e+r,n+o);this.data[n*this.size.x+e]=a}},r.prototype.moments=function(t){var e,n,r,o,i,a,c,s,f,l,d,h,p=this.data,v=this.size.y,_=this.size.x,g=[],y=[],m=Math.PI,x=m/4;if(t&lt;=0)return y;for(i=0;i&lt;t;i++)g[i]={m00:0,m01:0,m10:0,m11:0,m02:0,m20:0,theta:0,rad:0};for(n=0;n&lt;v;n++)for(o=n*n,e=0;e&lt;_;e++)(r=p[n*_+e])&gt;0&amp;&amp;(a=g[r-1],a.m00+=1,a.m01+=n,a.m10+=e,a.m11+=e*n,a.m02+=o,a.m20+=e*e);for(i=0;i&lt;t;i++)a=g[i],isNaN(a.m00)||0===a.m00||(l=a.m10/a.m00,d=a.m01/a.m00,c=a.m11/a.m00-l*d,s=a.m02/a.m00-d*d,f=a.m20/a.m00-l*l,h=(s-f)/(2*c),h=.5*Math.atan(h)+(c&gt;=0?x:-x)+m,a.theta=(180*h/m+90)%180-90,a.theta&lt;0&amp;&amp;(a.theta+=180),a.rad=h&gt;m?h-m:h,a.vec=u.clone([Math.cos(h),Math.sin(h)]),y.push(a));return y},r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext(\"2d\"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,c=0;c&lt;this.size.y;c++)for(u=0;u&lt;this.size.x;u++)a=c*this.size.x+u,i=this.get(u,c)*e,o[4*a+0]=i,o[4*a+1]=i,o[4*a+2]=i,o[4*a+3]=255;n.putImageData(r,0,0)},r.prototype.overlay=function(t,e,r){(!e||e&lt;0||e&gt;360)&amp;&amp;(e=360);for(var o=[0,1,1],a=[0,0,0],u=[255,255,255],c=[0,0,0],s=[],f=t.getContext(\"2d\"),l=f.getImageData(r.x,r.y,this.size.x,this.size.y),d=l.data,h=this.data.length;h--;)o[0]=this.data[h]*e,s=o[0]&lt;=0?u:o[0]&gt;=360?c:n.i(i.a)(o,a),d[4*h+0]=s[0],d[4*h+1]=s[1],d[4*h+2]=s[2],d[4*h+3]=255;f.putImageData(l,r.x,r.y)},e.a=r},function(t,e,n){function r(t,e,n){\"__proto__\"==e&amp;&amp;o?o(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var o=n(37);t.exports=r},function(t,e,n){function r(t,e){var n=i(t,e);return o(n)?n:void 0}var o=n(97),i=n(120);t.exports=r},function(t,e,n){function r(t){if(\"string\"==typeof t||o(t))return t;var e=t+\"\";return\"0\"==e&amp;&amp;1/t==-i?\"-0\":e}var o=n(27),i=1/0;t.exports=r},function(t,e,n){function r(t){return null!=t&amp;&amp;i(t.length)&amp;&amp;!o(t)}var o=n(25),i=n(26);t.exports=r},function(t,e,n){function r(t){if(!i(t))return!1;var e=o(t);return e==u||e==c||e==a||e==s}var o=n(8),i=n(0),a=\"[object AsyncFunction]\",u=\"[object Function]\",c=\"[object GeneratorFunction]\",s=\"[object Proxy]\";t.exports=r},function(t,e){function n(t){return\"number\"==typeof t&amp;&amp;t&gt;-1&amp;&amp;t%1==0&amp;&amp;t&lt;=r}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){return\"symbol\"==typeof t||i(t)&amp;&amp;o(t)==a}var o=n(8),i=n(6),a=\"[object Symbol]\";t.exports=r},function(t,e,n){var r=n(100),o=n(116),i=o(function(t,e,n){r(t,e,n)});t.exports=i},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){\"use strict\";var r={searchDirections:[[0,1],[1,1],[1,0],[1,-1],[0,-1],[-1,-1],[-1,0],[-1,1]],create:function(t,e){function n(t,e,n,r){var o,f,l;for(o=0;o&lt;7;o++){if(f=t.cy+c[t.dir][0],l=t.cx+c[t.dir][1],i=f*s+l,a[i]===e&amp;&amp;(0===u[i]||u[i]===n))return u[i]=n,t.cy=f,t.cx=l,!0;0===u[i]&amp;&amp;(u[i]=r),t.dir=(t.dir+1)%8}return!1}function r(t,e,n){return{dir:n,x:t,y:e,next:null,prev:null}}function o(t,e,o,i,a){var u,c,s,f=null,l={cx:e,cy:t,dir:0};if(n(l,i,o,a)){f=r(e,t,l.dir),u=f,s=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c;do l.dir=(l.dir+6)%8,n(l,i,o,a),s!==l.dir?(u.dir=l.dir,c=r(l.cx,l.cy,0),c.prev=u,u.next=c,c.next=null,u=c):(u.dir=s,u.x=l.cx,u.y=l.cy),s=l.dir;while(l.cx!==e||l.cy!==t);f.prev=u.prev,u.prev.next=f}return f}var i,a=t.data,u=e.data,c=this.searchDirections,s=t.size.x;return{trace:function(t,e,r,o){return n(t,e,r,o)},contourTracing:function(t,e,n,r,i){return o(t,e,n,r,i)}}}};e.a=r},function(t,e,n){\"use strict\";function r(){o.a.call(this)}var o=n(1),i=n(3),a={ALPHABETH_STRING:{value:\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%\"},ALPHABET:{value:[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,45,46,32,42,36,47,43,37]},CHARACTER_ENCODINGS:{value:[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,148,168,162,138,42]},ASTERISK:{value:148},FORMAT:{value:\"code_39\",writeable:!1}};r.prototype=Object.create(o.a.prototype,a),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o=this,a=[0,0,0,0,0,0,0,0,0],u=[],c=o._findStart();if(!c)return null;r=o._nextSet(o._row,c.end);do{if(a=o._toCounters(r,a),(n=o._toPattern(a))&lt;0)return null;if((t=o._patternToChar(n))&lt;0)return null;u.push(t),e=r,r+=i.a.sum(a),r=o._nextSet(o._row,r)}while(\"*\"!==t);return u.pop(),u.length&amp;&amp;o._verifyTrailingWhitespace(e,r,a)?{code:u.join(\"\"),start:c.start,end:r,startInfo:c,decodedCodes:u}:null},r.prototype._verifyTrailingWhitespace=function(t,e,n){var r=i.a.sum(n);return 3*(e-t-r)&gt;=r},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;e&lt;n.CHARACTER_ENCODINGS.length;e++)if(n.CHARACTER_ENCODINGS[e]===t)return String.fromCharCode(n.ALPHABET[e]);return-1},r.prototype._findNextWidth=function(t,e){var n,r=Number.MAX_VALUE;for(n=0;n&lt;t.length;n++)t[n]&lt;r&amp;&amp;t[n]&gt;e&amp;&amp;(r=t[n]);return r},r.prototype._toPattern=function(t){for(var e,n,r=t.length,o=0,i=r,a=0,u=this;i&gt;3;){for(o=u._findNextWidth(t,o),i=0,e=0,n=0;n&lt;r;n++)t[n]&gt;o&amp;&amp;(e|=1&lt;&lt;r-1-n,i++,a+=t[n]);if(3===i){for(n=0;n&lt;r&amp;&amp;i&gt;0;n++)if(t[n]&gt;o&amp;&amp;(i--,2*t[n]&gt;=a))return-1;return e}}return-1},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextSet(r._row),i=o,a=[0,0,0,0,0,0,0,0,0],u=0,c=!1;for(t=o;t&lt;r._row.length;t++)if(r._row[t]^c)a[u]++;else{if(u===a.length-1){if(r._toPattern(a)===r.ASTERISK&amp;&amp;(n=Math.floor(Math.max(0,i-(t-i)/4)),r._matchRange(n,i,0)))return{start:i,end:t};for(i+=a[0]+a[1],e=0;e&lt;7;e++)a[e]=a[e+2];a[7]=0,a[8]=0,u--}else u++;a[u]=1,c=!c}return null},e.a=r},function(t,e){function n(t,e){return t[0]*e[0]+t[1]*e[1]}t.exports=n},function(t,e,n){var r=n(22),o=n(5),i=r(o,\"Map\");t.exports=i},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e&lt;n;){var r=t[e];this.set(r[0],r[1])}}var o=n(138),i=n(139),a=n(140),u=n(141),c=n(142);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=u,r.prototype.set=c,t.exports=r},function(t,e,n){function r(t,e,n){(void 0===n||i(t[e],n))&amp;&amp;(void 0!==n||e in t)||o(t,e,n)}var o=n(21),i=n(17);t.exports=r},function(t,e,n){function r(t,e,n){var r=t[e];u.call(t,e)&amp;&amp;i(r,n)&amp;&amp;(void 0!==n||e in t)||o(t,e,n)}var o=n(21),i=n(17),a=Object.prototype,u=a.hasOwnProperty;t.exports=r},function(t,e,n){var r=n(22),o=function(){try{var t=r(Object,\"defineProperty\");return t({},\"\",{}),t}catch(t){}}();t.exports=o},function(t,e,n){(function(e){var n=\"object\"==typeof e&amp;&amp;e&amp;&amp;e.Object===Object&amp;&amp;e;t.exports=n}).call(e,n(47))},function(t,e,n){var r=n(147),o=r(Object.getPrototypeOf,Object);t.exports=o},function(t,e){function n(t){var e=t&amp;&amp;t.constructor;return t===(\"function\"==typeof e&amp;&amp;e.prototype||r)}var r=Object.prototype;t.exports=n},function(t,e,n){function r(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var r=arguments,a=-1,u=i(r.length-e,0),c=Array(u);++a&lt;u;)c[a]=r[e+a];a=-1;for(var s=Array(e+1);++a&lt;e;)s[a]=r[a];return s[e]=n(c),o(t,this,s)}}var o=n(87),i=Math.max;t.exports=r},function(t,e,n){var r=n(106),o=n(148),i=o(r);t.exports=i},function(t,e){function n(t){return t}t.exports=n},function(t,e,n){(function(t){var r=n(5),o=n(163),i=\"object\"==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,a=i&amp;&amp;\"object\"==typeof t&amp;&amp;t&amp;&amp;!t.nodeType&amp;&amp;t,u=a&amp;&amp;a.exports===i,c=u?r.Buffer:void 0,s=c?c.isBuffer:void 0,f=s||o;t.exports=f}).call(e,n(29)(t))},function(t,e,n){var r=n(98),o=n(109),i=n(145),a=i&amp;&amp;i.isTypedArray,u=a?o(a):r;t.exports=u},function(t,e,n){function r(t){return a(t)?o(t,!0):i(t)}var o=n(88),i=n(99),a=n(24);t.exports=r},function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&amp;&amp;(n=window)}t.exports=n},function(e,n,r){\"use strict\";function o(t){f(t),P=k.a.create($.decoder,S)}function i(t){var e;if(\"VideoStream\"===$.inputStream.type)e=document.createElement(\"video\"),R=H.a.createVideoStream(e);else if(\"ImageStream\"===$.inputStream.type)R=H.a.createImageStream();else if(\"LiveStream\"===$.inputStream.type){var n=a();n&amp;&amp;((e=n.querySelector(\"video\"))||(e=document.createElement(\"video\"),n.appendChild(e))),R=H.a.createLiveStream(e),F.a.request(e,$.inputStream.constraints).then(function(){R.trigger(\"canrecord\")}).catch(function(e){return t(e)})}R.setAttribute(\"preload\",\"auto\"),R.setInputStream($.inputStream),R.addEventListener(\"canrecord\",u.bind(void 0,t))}function a(){var t=$.inputStream.target;if(t&amp;&amp;t.nodeName&amp;&amp;1===t.nodeType)return t;var e=\"string\"==typeof t?t:\"#interactive.viewport\";return document.querySelector(e)}function u(t){U.a.checkImageConstraints(R,$.locator),s($),w=V.a.create(R,K.dom.image),A($.numOfWorkers,function(){0===$.numOfWorkers&amp;&amp;o(),c(t)})}function c(t){R.play(),t()}function s(){if(\"undefined\"!=typeof document){var t=a();if(K.dom.image=document.querySelector(\"canvas.imgBuffer\"),K.dom.image||(K.dom.image=document.createElement(\"canvas\"),K.dom.image.className=\"imgBuffer\",t&amp;&amp;\"ImageStream\"===$.inputStream.type&amp;&amp;t.appendChild(K.dom.image)),K.ctx.image=K.dom.image.getContext(\"2d\"),K.dom.image.width=R.getCanvasSize().x,K.dom.image.height=R.getCanvasSize().y,K.dom.overlay=document.querySelector(\"canvas.drawingBuffer\"),!K.dom.overlay){K.dom.overlay=document.createElement(\"canvas\"),K.dom.overlay.className=\"drawingBuffer\",t&amp;&amp;t.appendChild(K.dom.overlay);var e=document.createElement(\"br\");e.setAttribute(\"clear\",\"all\"),t&amp;&amp;t.appendChild(e)}K.ctx.overlay=K.dom.overlay.getContext(\"2d\"),K.dom.overlay.width=R.getCanvasSize().x,K.dom.overlay.height=R.getCanvasSize().y}}function f(t){S=t?t:new j.a({x:R.getWidth(),y:R.getHeight()}),D=[q.clone([0,0]),q.clone([0,S.size.y]),q.clone([S.size.x,S.size.y]),q.clone([S.size.x,0])],U.a.init(S,$.locator)}function l(){return $.locate?U.a.locate():[[q.clone(D[0]),q.clone(D[1]),q.clone(D[2]),q.clone(D[3])]]}function d(t){function e(t){for(var e=t.length;e--;)t[e][0]+=i,t[e][1]+=a}function n(t){t[0].x+=i,t[0].y+=a,t[1].x+=i,t[1].y+=a}var r,o=R.getTopRight(),i=o.x,a=o.y;if(0!==i||0!==a){if(t.barcodes)for(r=0;r&lt;t.barcodes.length;r++)d(t.barcodes[r]);if(t.line&amp;&amp;2===t.line.length&amp;&amp;n(t.line),t.box&amp;&amp;e(t.box),t.boxes&amp;&amp;t.boxes.length&gt;0)for(r=0;r&lt;t.boxes.length;r++)e(t.boxes[r])}}function h(t,e){e&amp;&amp;I&amp;&amp;(t.barcodes?t.barcodes.filter(function(t){return t.codeResult}).forEach(function(t){return h(t,e)}):t.codeResult&amp;&amp;I.addResult(e,R.getCanvasSize(),t.codeResult))}function p(t){return t&amp;&amp;(t.barcodes?t.barcodes.some(function(t){return t.codeResult}):t.codeResult)}function v(t,e){var n=t;t&amp;&amp;Q&amp;&amp;(d(t),h(t,e),n=t.barcodes||t),L.a.publish(\"processed\",n),p(t)&amp;&amp;L.a.publish(\"detected\",n)}function _(){var t,e;e=l(),e?(t=P.decodeFromBoundingBoxes(e),t=t||{},t.boxes=e,v(t,S.data)):v()}function g(){var t;if(Q){if(Y.length&gt;0){if(!(t=Y.filter(function(t){return!t.busy})[0]))return;w.attachData(t.imageData)}else w.attachData(S.data);w.grab()&amp;&amp;(t?(t.busy=!0,t.worker.postMessage({cmd:\"process\",imageData:t.imageData},[t.imageData.buffer])):_())}else _()}function y(){var t=null,e=1e3/($.frequency||60);T=!1,function n(r){t=t||r,T||(r&gt;=t&amp;&amp;(t+=e,g()),window.requestAnimFrame(n))}(performance.now())}function m(){Q&amp;&amp;\"LiveStream\"===$.inputStream.type?y():g()}function x(t){var e,n={worker:void 0,imageData:new Uint8Array(R.getWidth()*R.getHeight()),busy:!0};e=C(),n.worker=new Worker(e),n.worker.onmessage=function(r){if(\"initialized\"===r.data.event)return URL.revokeObjectURL(e),n.busy=!1,n.imageData=new Uint8Array(r.data.imageData),t(n);\"processed\"===r.data.event?(n.imageData=new Uint8Array(r.data.imageData),n.busy=!1,v(r.data.result,n.imageData)):r.data.event},n.worker.postMessage({cmd:\"init\",size:{x:R.getWidth(),y:R.getHeight()},imageData:n.imageData,config:b($)},[n.imageData.buffer])}function b(t){return X({},t,{inputStream:X({},t.inputStream,{target:null})})}function E(t){function e(t){self.postMessage({event:\"processed\",imageData:o.data,result:t},[o.data.buffer])}function n(){self.postMessage({event:\"initialized\",imageData:o.data},[o.data.buffer])}if(t){var r=t().default;if(!r)return void self.postMessage({event:\"error\",message:\"Quagga could not be created\"})}var o;self.onmessage=function(t){if(\"init\"===t.data.cmd){var i=t.data.config;i.numOfWorkers=0,o=new r.ImageWrapper({x:t.data.size.x,y:t.data.size.y},new Uint8Array(t.data.imageData)),r.init(i,n,o),r.onProcessed(e)}else\"process\"===t.data.cmd?(o.data=new Uint8Array(t.data.imageData),r.start()):\"setReaders\"===t.data.cmd&amp;&amp;r.setReaders(t.data.readers)}}function C(){var e,n;return void 0!==t&amp;&amp;(n=t),e=new Blob([\"(\"+E.toString()+\")(\"+n+\");\"],{type:\"text/javascript\"}),window.URL.createObjectURL(e)}function O(t){P?P.setReaders(t):Q&amp;&amp;Y.length&gt;0&amp;&amp;Y.forEach(function(e){e.worker.postMessage({cmd:\"setReaders\",readers:t})})}function A(t,e){var n=t-Y.length;if(0===n)return e&amp;&amp;e();if(n&lt;0){return Y.slice(n).forEach(function(t){t.worker.terminate()}),Y=Y.slice(0,n),e&amp;&amp;e()}for(var r=function(n){Y.push(n),Y.length&gt;=t&amp;&amp;e&amp;&amp;e()},o=0;o&lt;n;o++)x(r)}Object.defineProperty(n,\"__esModule\",{value:!0});var R,w,T,S,D,P,I,M=r(28),N=r.n(M),z=r(54),j=(r.n(z),r(20)),U=r(64),k=r(57),L=r(51),F=r(59),W=r(9),B=r(49),G=r(55),H=r(63),V=r(61),X=Object.assign||function(t){for(var e=1;e&lt;arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&amp;&amp;(t[r]=n[r])}return t},q={clone:r(7)},K={ctx:{image:null,overlay:null},dom:{image:null,overlay:null}},Y=[],Q=!0,$={};n.default={init:function(t,e,n){if($=N()({},G.a,t),n)return Q=!1,o(n),e();i(e)},start:function(){m()},stop:function(){T=!0,A(0),\"LiveStream\"===$.inputStream.type&amp;&amp;(F.a.release(),R.clearEventHandlers())},pause:function(){T=!0},onDetected:function(t){L.a.subscribe(\"detected\",t)},offDetected:function(t){L.a.unsubscribe(\"detected\",t)},onProcessed:function(t){L.a.subscribe(\"processed\",t)},offProcessed:function(t){L.a.unsubscribe(\"processed\",t)},setReaders:function(t){O(t)},registerResultCollector:function(t){t&amp;&amp;\"function\"==typeof t.addResult&amp;&amp;(I=t)},canvas:K,decodeSingle:function(t,e){var n=this;t=N()({inputStream:{type:\"ImageStream\",sequence:!1,size:800,src:t.src},numOfWorkers:1,locator:{halfSample:!1}},t),this.init(t,function(){L.a.once(\"processed\",function(t){n.stop(),e.call(null,t)},!0),m()})},ImageWrapper:j.a,ImageDebug:W.a,ResultCollector:B.a,CameraAccess:F.a}},function(t,e,n){\"use strict\";function r(t,e){return!!e&amp;&amp;e.some(function(e){return Object.keys(e).every(function(n){return e[n]===t[n]})})}function o(t,e){return\"function\"!=typeof e||e(t)}var i=n(9);e.a={create:function(t){function e(e){return c&amp;&amp;e&amp;&amp;!r(e,t.blacklist)&amp;&amp;o(e,t.filter)}var n=document.createElement(\"canvas\"),a=n.getContext(\"2d\"),u=[],c=t.capacity||20,s=t.capture===!0;return{addResult:function(t,r,o){var f={};e(o)&amp;&amp;(c--,f.codeResult=o,s&amp;&amp;(n.width=r.x,n.height=r.y,i.a.drawImage(t,r,a),f.frame=n.toDataURL()),u.push(f))},getResults:function(){return u}}}}},function(t,e,n){\"use strict\";var r={clone:n(7),dot:n(32)};e.a={create:function(t,e){function n(){o(t),i()}function o(t){c[t.id]=t,a.push(t)}function i(){var t,e=0;for(t=0;t&lt;a.length;t++)e+=a[t].rad;u.rad=e/a.length,u.vec=r.clone([Math.cos(u.rad),Math.sin(u.rad)])}var a=[],u={rad:0,vec:r.clone([0,0])},c={};return n(),{add:function(t){c[t.id]||(o(t),i())},fits:function(t){return Math.abs(r.dot(t.point.vec,u.vec))&gt;e},getPoints:function(){return a},getCenter:function(){return u}}},createPoint:function(t,e,n){return{rad:t[n],point:t,id:e}}}},function(t,e,n){\"use strict\";e.a=function(){function t(t){return o[t]||(o[t]={subscribers:[]}),o[t]}function e(){o={}}function n(t,e){t.async?setTimeout(function(){t.callback(e)},4):t.callback(e)}function r(e,n,r){var o;if(\"function\"==typeof n)o={callback:n,async:r};else if(o=n,!o.callback)throw\"Callback was not specified on options\";t(e).subscribers.push(o)}var o={};return{subscribe:function(t,e,n){return r(t,e,n)},publish:function(e,r){var o=t(e),i=o.subscribers;i.filter(function(t){return!!t.once}).forEach(function(t){n(t,r)}),o.subscribers=i.filter(function(t){return!t.once}),o.subscribers.forEach(function(t){n(t,r)})},once:function(t,e,n){r(t,{callback:e,async:n,once:!0})},unsubscribe:function(n,r){var o;n?(o=t(n),o.subscribers=o&amp;&amp;r?o.subscribers.filter(function(t){return t.callback!==r}):[]):e()}}}()},function(t,e,n){\"use strict\";function r(){return navigator.mediaDevices&amp;&amp;\"function\"==typeof navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.enumerateDevices():Promise.reject(new Error(\"enumerateDevices is not defined\"))}function o(t){return navigator.mediaDevices&amp;&amp;\"function\"==typeof navigator.mediaDevices.getUserMedia?navigator.mediaDevices.getUserMedia(t):Promise.reject(new Error(\"getUserMedia is not defined\"))}e.b=r,e.a=o},function(t,e,n){\"use strict\";function r(t,e,n){n||(n={data:null,size:e}),this.data=n.data,this.originalSize=n.size,this.I=n,this.from=t,this.size=e}r.prototype.show=function(t,e){var n,r,o,i,a,u,c;for(e||(e=1),n=t.getContext(\"2d\"),t.width=this.size.x,t.height=this.size.y,r=n.getImageData(0,0,t.width,t.height),o=r.data,i=0,a=0;a&lt;this.size.y;a++)for(u=0;u&lt;this.size.x;u++)c=a*this.size.x+u,i=this.get(u,a)*e,o[4*c+0]=i,o[4*c+1]=i,o[4*c+2]=i,o[4*c+3]=255;r.data=o,n.putImageData(r,0,0)},r.prototype.get=function(t,e){return this.data[(this.from.y+e)*this.originalSize.x+this.from.x+t]},r.prototype.updateData=function(t){this.originalSize=t.size,this.data=t.data},r.prototype.updateFrom=function(t){return this.from=t,this},e.a=r},function(t,e){\"undefined\"!=typeof window&amp;&amp;(window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)}}()),Math.imul=Math.imul||function(t,e){var n=t&gt;&gt;&gt;16&amp;65535,r=65535&amp;t,o=e&gt;&gt;&gt;16&amp;65535,i=65535&amp;e;return r*i+(n*i+r*o&lt;&lt;16&gt;&gt;&gt;0)|0},\"function\"!=typeof Object.assign&amp;&amp;(Object.assign=function(t){\"use strict\";if(null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),n=1;n&lt;arguments.length;n++){var r=arguments[n];if(null!==r)for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&amp;&amp;(e[o]=r[o])}return e})},function(t,e,n){\"use strict\";var r=void 0;r=n(56),e.a=r},function(t,e){t.exports={inputStream:{name:\"Live\",type:\"LiveStream\",constraints:{width:640,height:480,facingMode:\"environment\"},area:{top:\"0%\",right:\"0%\",left:\"0%\",bottom:\"0%\"},singleChannel:!1},locate:!0,numOfWorkers:4,decoder:{readers:[\"code_128_reader\"]},locator:{halfSample:!0,patchSize:\"medium\"}}},function(t,e,n){\"use strict\";var r=n(58),o=(n(9),n(69)),i=n(4),a=n(31),u=n(70),c=n(68),s=n(77),f=n(74),l=n(72),d=n(73),h=n(76),p=n(75),v=n(67),_=n(71),g=\"function\"==typeof Symbol&amp;&amp;\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&amp;&amp;\"function\"==typeof Symbol&amp;&amp;t.constructor===Symbol&amp;&amp;t!==Symbol.prototype?\"symbol\":typeof t},y={code_128_reader:o.a,ean_reader:i.a,ean_5_reader:d.a,ean_2_reader:l.a,ean_8_reader:f.a,code_39_reader:a.a,code_39_vin_reader:u.a,codabar_reader:c.a,upc_reader:s.a,upc_e_reader:h.a,i2of5_reader:p.a,\"2of5_reader\":v.a,code_93_reader:_.a};e.a={create:function(t,e){function n(){}function o(){t.readers.forEach(function(t){var e,n={},r=[];\"object\"===(void 0===t?\"undefined\":g(t))?(e=t.format,n=t.config):\"string\"==typeof t&amp;&amp;(e=t),n.supplements&amp;&amp;(r=n.supplements.map(function(t){return new y[t]})),h.push(new y[e](n,r))})}function i(){}function a(t,n,r){function o(e){var r={y:e*Math.sin(n),x:e*Math.cos(n)};t[0].y-=r.y,t[0].x-=r.x,t[1].y+=r.y,t[1].x+=r.x}for(o(r);r&gt;1&amp;&amp;(!e.inImageWithBorder(t[0],0)||!e.inImageWithBorder(t[1],0));)r-=Math.ceil(r/2),o(-r);return t}function u(t){return[{x:(t[1][0]-t[0][0])/2+t[0][0],y:(t[1][1]-t[0][1])/2+t[0][1]},{x:(t[3][0]-t[2][0])/2+t[2][0],y:(t[3][1]-t[2][1])/2+t[2][1]}]}function c(t){var n,o=null,i=r.a.getBarcodeLine(e,t[0],t[1]);for(r.a.toBinaryLine(i),n=0;n&lt;h.length&amp;&amp;null===o;n++)o=h[n].decodePattern(i.line);return null===o?null:{codeResult:o,barcodeLine:i}}function s(t,e,n){var r,o,i,a=Math.sqrt(Math.pow(t[1][0]-t[0][0],2)+Math.pow(t[1][1]-t[0][1],2)),u=16,s=null,f=Math.sin(n),l=Math.cos(n);for(r=1;r&lt;u&amp;&amp;null===s;r++)o=a/u*r*(r%2==0?-1:1),i={y:o*f,x:o*l},e[0].y+=i.x,e[0].x-=i.y,e[1].y+=i.x,e[1].x-=i.y,s=c(e);return s}function f(t){return Math.sqrt(Math.pow(Math.abs(t[1].y-t[0].y),2)+Math.pow(Math.abs(t[1].x-t[0].x),2))}function l(t){var e,n,r,o;d.ctx.overlay;return e=u(t),o=f(e),n=Math.atan2(e[1].y-e[0].y,e[1].x-e[0].x),null===(e=a(e,n,Math.floor(.1*o)))?null:(r=c(e),null===r&amp;&amp;(r=s(t,e,n)),null===r?null:{codeResult:r.codeResult,line:e,angle:n,pattern:r.barcodeLine.line,threshold:r.barcodeLine.threshold})}var d={ctx:{frequency:null,pattern:null,overlay:null},dom:{frequency:null,pattern:null,overlay:null}},h=[];return n(),o(),i(),{decodeFromBoundingBox:function(t){return l(t)},decodeFromBoundingBoxes:function(e){var n,r,o=[],i=t.multiple;for(n=0;n&lt;e.length;n++){var a=e[n];if(r=l(a)||{},r.box=a,i)o.push(r);else if(r.codeResult)return r}if(i)return{barcodes:o}},setReaders:function(e){t.readers=e,h.length=0,o()}}}}},function(t,e,n){\"use strict\";var r=(n(20),{}),o={DIR:{UP:1,DOWN:-1}};r.getBarcodeLine=function(t,e,n){function r(t,e){l=y[e*m+t],x+=l,b=l&lt;b?l:b,E=l&gt;E?l:E,g.push(l)}var o,i,a,u,c,s,f,l,d=0|e.x,h=0|e.y,p=0|n.x,v=0|n.y,_=Math.abs(v-h)&gt;Math.abs(p-d),g=[],y=t.data,m=t.size.x,x=0,b=255,E=0;for(_&amp;&amp;(s=d,d=h,h=s,s=p,p=v,v=s),d&gt;p&amp;&amp;(s=d,d=p,p=s,s=h,h=v,v=s),o=p-d,i=Math.abs(v-h),a=o/2|0,c=h,u=h&lt;v?1:-1,f=d;f&lt;p;f++)_?r(c,f):r(f,c),(a-=i)&lt;0&amp;&amp;(c+=u,a+=o);return{line:g,min:b,max:E}},r.toBinaryLine=function(t){var e,n,r,i,a,u,c=t.min,s=t.max,f=t.line,l=c+(s-c)/2,d=[],h=(s-c)/12,p=-h;for(r=f[0]&gt;l?o.DIR.UP:o.DIR.DOWN,d.push({pos:0,val:f[0]}),a=0;a&lt;f.length-2;a++)e=f[a+1]-f[a],n=f[a+2]-f[a+1],i=e+n&lt;p&amp;&amp;f[a+1]&lt;1.5*l?o.DIR.DOWN:e+n&gt;h&amp;&amp;f[a+1]&gt;.5*l?o.DIR.UP:r,r!==i&amp;&amp;(d.push({pos:a,val:f[a]}),r=i);for(d.push({pos:f.length,val:f[f.length-1]}),u=d[0].pos;u&lt;d[1].pos;u++)f[u]=f[u]&gt;l?0:1;for(a=1;a&lt;d.length-1;a++)for(h=d[a+1].val&gt;d[a].val?d[a].val+(d[a+1].val-d[a].val)/3*2|0:d[a+1].val+(d[a].val-d[a+1].val)/3|0,u=d[a].pos;u&lt;d[a+1].pos;u++)f[u]=f[u]&gt;h?0:1;return{line:f,threshold:h}},r.debug={printFrequency:function(t,e){var n,r=e.getContext(\"2d\");for(e.width=t.length,e.height=256,r.beginPath(),r.strokeStyle=\"blue\",n=0;n&lt;t.length;n++)r.moveTo(n,255),r.lineTo(n,255-t[n]);r.stroke(),r.closePath()},printPattern:function(t,e){var n,r=e.getContext(\"2d\");for(e.width=t.length,r.fillColor=\"black\",n=0;n&lt;t.length;n++)1===t[n]&amp;&amp;r.fillRect(n,0,1,100)}},e.a=r},function(t,e,n){\"use strict\";function r(t){return new Promise(function(e,n){function r(){o&gt;0?t.videoWidth&gt;10&amp;&amp;t.videoHeight&gt;10?e():window.setTimeout(r,500):n(\"Unable to play video stream. Is webcam working?\"),o--}var o=10;r()})}function o(t,e){return n.i(d.a)(e).then(function(e){return new Promise(function(n){s=e,t.setAttribute(\"autoplay\",!0),t.setAttribute(\"muted\",!0),t.setAttribute(\"playsinline\",!0),t.srcObject=e,t.addEventListener(\"loadedmetadata\",function(){t.play(),n()})})}).then(r.bind(null,t))}function i(t){var e=l()(t,[\"width\",\"height\",\"facingMode\",\"aspectRatio\",\"deviceId\"]);return void 0!==t.minAspectRatio&amp;&amp;t.minAspectRatio&gt;0&amp;&amp;(e.aspectRatio=t.minAspectRatio,console.log(\"WARNING: Constraint 'minAspectRatio' is deprecated; Use 'aspectRatio' instead\")),void 0!==t.facing&amp;&amp;(e.facingMode=t.facing,console.log(\"WARNING: Constraint 'facing' is deprecated. Use 'facingMode' instead'\")),e}function a(t){var e={audio:!1,video:i(t)};return e.video.deviceId&amp;&amp;e.video.facingMode&amp;&amp;delete e.video.facingMode,Promise.resolve(e)}function u(){return n.i(d.b)().then(function(t){return t.filter(function(t){return\"videoinput\"===t.kind})})}function c(){if(s){var t=s.getVideoTracks();if(t&amp;&amp;t.length)return t[0]}}var s,f=n(162),l=n.n(f),d=n(52);e.a={request:function(t,e){return a(e).then(o.bind(null,t))},release:function(){var t=s&amp;&amp;s.getVideoTracks();t&amp;&amp;t.length&amp;&amp;t[0].stop(),s=null},enumerateVideoDevices:u,getActiveStreamLabel:function(){var t=c();return t?t.label:\"\"},getActiveTrack:c}},function(t,e,n){\"use strict\";function r(t){var e=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:d;return/^blob\\:/i.test(t)?i(t).then(o).then(function(t){return a(t,e)}):Promise.resolve(null)}function o(t){return new Promise(function(e){var n=new FileReader;n.onload=function(t){return e(t.target.result)},n.readAsArrayBuffer(t)})}function i(t){return new Promise(function(e,n){var r=new XMLHttpRequest;r.open(\"GET\",t,!0),r.responseType=\"blob\",r.onreadystatechange=function(){r.readyState!==XMLHttpRequest.DONE||200!==r.status&amp;&amp;0!==r.status||e(this.response)},r.onerror=n,r.send()})}function a(t){var e=arguments.length&gt;1&amp;&amp;void 0!==arguments[1]?arguments[1]:d,n=new DataView(t),r=t.byteLength,o=e.reduce(function(t,e){var n=Object.keys(l).filter(function(t){return l[t]===e})[0];return n&amp;&amp;(t[n]=e),t},{}),i=2;if(255!==n.getUint8(0)||216!==n.getUint8(1))return!1;for(;i&lt;r;){if(255!==n.getUint8(i))return!1;if(225===n.getUint8(i+1))return u(n,i+4,o);i+=2+n.getUint16(i+2)}}function u(t,e,n){if(\"Exif\"!==f(t,e,4))return!1;var r=e+6,o=void 0;if(18761===t.getUint16(r))o=!1;else{if(19789!==t.getUint16(r))return!1;o=!0}if(42!==t.getUint16(r+2,!o))return!1;var i=t.getUint32(r+4,!o);return!(i&lt;8)&amp;&amp;c(t,r,r+i,n,o)}function c(t,e,n,r,o){for(var i=t.getUint16(n,!o),a={},u=0;u&lt;i;u++){var c=n+12*u+2,f=r[t.getUint16(c,!o)];f&amp;&amp;(a[f]=s(t,c,e,n,o))}return a}function s(t,e,n,r,o){var i=t.getUint16(e+2,!o),a=t.getUint32(e+4,!o);switch(i){case 3:if(1===a)return t.getUint16(e+8,!o)}}function f(t,e,n){for(var r=\"\",o=e;o&lt;e+n;o++)r+=String.fromCharCode(t.getUint8(o));return r}e.a=r;var l={274:\"orientation\"},d=Object.keys(l).map(function(t){return l[t]})},function(t,e,n){\"use strict\";function r(t,e){t.width!==e.x&amp;&amp;(t.width=e.x),t.height!==e.y&amp;&amp;(t.height=e.y)}var o=n(19),i=Math.PI/180,a={};a.create=function(t,e){var a,u={},c=t.getConfig(),s=(n.i(o.b)(t.getRealWidth(),t.getRealHeight()),t.getCanvasSize()),f=n.i(o.b)(t.getWidth(),t.getHeight()),l=t.getTopRight(),d=l.x,h=l.y,p=null,v=null;return a=e?e:document.createElement(\"canvas\"),a.width=s.x,a.height=s.y,p=a.getContext(\"2d\"),v=new Uint8Array(f.x*f.y),u.attachData=function(t){v=t},u.getData=function(){return v},u.grab=function(){var e,u=c.halfSample,l=t.getFrame(),_=l,g=0;if(_){if(r(a,s),\"ImageStream\"===c.type&amp;&amp;(_=l.img,l.tags&amp;&amp;l.tags.orientation))switch(l.tags.orientation){case 6:g=90*i;break;case 8:g=-90*i}return 0!==g?(p.translate(s.x/2,s.y/2),p.rotate(g),p.drawImage(_,-s.y/2,-s.x/2,s.y,s.x),p.rotate(-g),p.translate(-s.x/2,-s.y/2)):p.drawImage(_,0,0,s.x,s.y),e=p.getImageData(d,h,f.x,f.y).data,u?n.i(o.c)(e,f,v):n.i(o.d)(e,v,c),!0}return!1},u.getSize=function(){return f},u},e.a=a},function(t,e,n){\"use strict\";function r(t,e){t.onload=function(){e.loaded(this)}}var o=n(60),i={};i.load=function(t,e,i,a,u){var c,s,f,l=new Array(a),d=new Array(l.length);if(u===!1)l[0]=t;else for(c=0;c&lt;l.length;c++)f=i+c,l[c]=t+\"image-\"+(\"00\"+f).slice(-3)+\".jpg\";for(d.notLoaded=[],d.addImage=function(t){d.notLoaded.push(t)},d.loaded=function(r){for(var i=d.notLoaded,a=0;a&lt;i.length;a++)if(i[a]===r){i.splice(a,1);for(var c=0;c&lt;l.length;c++){var s=l[c].substr(l[c].lastIndexOf(\"/\"));if(r.src.lastIndexOf(s)!==-1){d[c]={img:r};break}}break}0===i.length&amp;&amp;(u===!1?n.i(o.a)(t,[\"orientation\"]).then(function(t){d[0].tags=t,e(d)}).catch(function(t){console.log(t),e(d)}):e(d))},c=0;c&lt;l.length;c++)s=new Image,d.addImage(s),r(s,d),s.src=l[c]},e.a=i},function(t,e,n){\"use strict\";var r=n(62),o={};o.createVideoStream=function(t){function e(){var e=t.videoWidth,o=t.videoHeight;n=i.size?e/o&gt;1?i.size:Math.floor(e/o*i.size):e,r=i.size?e/o&gt;1?Math.floor(o/e*i.size):i.size:o,s.x=n,s.y=r}var n,r,o={},i=null,a=[\"canrecord\",\"ended\"],u={},c={x:0,y:0},s={x:0,y:0};return o.getRealWidth=function(){return t.videoWidth},o.getRealHeight=function(){return t.videoHeight},o.getWidth=function(){return n},o.getHeight=function(){return r},o.setWidth=function(t){n=t},o.setHeight=function(t){r=t},o.setInputStream=function(e){i=e,t.src=void 0!==e.src?e.src:\"\"},o.ended=function(){return t.ended},o.getConfig=function(){return i},o.setAttribute=function(e,n){t.setAttribute(e,n)},o.pause=function(){t.pause()},o.play=function(){t.play()},o.setCurrentTime=function(e){\"LiveStream\"!==i.type&amp;&amp;(t.currentTime=e)},o.addEventListener=function(e,n,r){a.indexOf(e)!==-1?(u[e]||(u[e]=[]),u[e].push(n)):t.addEventListener(e,n,r)},o.clearEventHandlers=function(){a.forEach(function(e){var n=u[e];n&amp;&amp;n.length&gt;0&amp;&amp;n.forEach(function(n){t.removeEventListener(e,n)})})},o.trigger=function(t,n){var r,i=u[t];if(\"canrecord\"===t&amp;&amp;e(),i&amp;&amp;i.length&gt;0)for(r=0;r&lt;i.length;r++)i[r].apply(o,n)},o.setTopRight=function(t){c.x=t.x,c.y=t.y},o.getTopRight=function(){return c},o.setCanvasSize=function(t){s.x=t.x,s.y=t.y},o.getCanvasSize=function(){return s},o.getFrame=function(){return t},o},o.createLiveStream=function(t){t.setAttribute(\"autoplay\",!0);var e=o.createVideoStream(t);return e.ended=function(){return!1},e},o.createImageStream=function(){function t(){l=!1,r.a.load(v,function(t){if(d=t,t[0].tags&amp;&amp;t[0].tags.orientation)switch(t[0].tags.orientation){case 6:case 8:u=t[0].img.height,c=t[0].img.width;break;default:u=t[0].img.width,c=t[0].img.height}else u=t[0].img.width,c=t[0].img.height;n=a.size?u/c&gt;1?a.size:Math.floor(u/c*a.size):u,o=a.size?u/c&gt;1?Math.floor(c/u*a.size):a.size:c,x.x=n,x.y=o,l=!0,s=0,setTimeout(function(){e(\"canrecord\",[])},0)},p,h,a.sequence)}function e(t,e){var n,r=y[t];if(r&amp;&amp;r.length&gt;0)for(n=0;n&lt;r.length;n++)r[n].apply(i,e)}var n,o,i={},a=null,u=0,c=0,s=0,f=!0,l=!1,d=null,h=0,p=1,v=null,_=!1,g=[\"canrecord\",\"ended\"],y={},m={x:0,y:0},x={x:0,y:0};return i.trigger=e,i.getWidth=function(){return n},i.getHeight=function(){return o},i.setWidth=function(t){n=t},i.setHeight=function(t){o=t},i.getRealWidth=function(){return u},i.getRealHeight=function(){return c},i.setInputStream=function(e){a=e,e.sequence===!1?(v=e.src,h=1):(v=e.src,h=e.length),t()},i.ended=function(){return _},i.setAttribute=function(){},i.getConfig=function(){return a},i.pause=function(){f=!0},i.play=function(){f=!1},i.setCurrentTime=function(t){s=t},i.addEventListener=function(t,e){g.indexOf(t)!==-1&amp;&amp;(y[t]||(y[t]=[]),y[t].push(e))},i.setTopRight=function(t){m.x=t.x,m.y=t.y},i.getTopRight=function(){return m},i.setCanvasSize=function(t){x.x=t.x,x.y=t.y},i.getCanvasSize=function(){return x},i.getFrame=function(){var t;return l?(f||(t=d[s],s&lt;h-1?s++:setTimeout(function(){_=!0,e(\"ended\",[])},0)),t):null},i},e.a=o},function(t,e,n){\"use strict\";(function(t){function r(){var e;v=p.halfSample?new R.a({x:O.size.x/2|0,y:O.size.y/2|0}):O,C=n.i(w.e)(p.patchSize,v.size),z.x=v.size.x/C.x|0,z.y=v.size.y/C.y|0,E=new R.a(v.size,void 0,Uint8Array,!1),y=new R.a(C,void 0,Array,!0),e=new ArrayBuffer(65536),g=new R.a(C,new Uint8Array(e,0,C.x*C.y)),_=new R.a(C,new Uint8Array(e,C.x*C.y*3,C.x*C.y),void 0,!0),A=n.i(P.a)(\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:t,{size:C.x},e),b=new R.a({x:v.size.x/g.size.x|0,y:v.size.y/g.size.y|0},void 0,Array,!0),m=new R.a(b.size,void 0,void 0,!0),x=new R.a(b.size,void 0,Int32Array,!0)}function o(){p.useWorker||\"undefined\"==typeof document||(N.dom.binary=document.createElement(\"canvas\"),N.dom.binary.className=\"binaryBuffer\",N.ctx.binary=N.dom.binary.getContext(\"2d\"),N.dom.binary.width=E.size.x,N.dom.binary.height=E.size.y)}function i(t){var e,n,r,o,i,a,u,c=E.size.x,s=E.size.y,f=-E.size.x,l=-E.size.y;for(e=0,n=0;n&lt;t.length;n++)o=t[n],e+=o.rad;for(e/=t.length,e=(180*e/Math.PI+90)%180-90,e&lt;0&amp;&amp;(e+=180),e=(180-e)*Math.PI/180,i=M.copy(M.create(),[Math.cos(e),Math.sin(e),-Math.sin(e),Math.cos(e)]),n=0;n&lt;t.length;n++)for(o=t[n],r=0;r&lt;4;r++)I.transformMat2(o.box[r],o.box[r],i);for(n=0;n&lt;t.length;n++)for(o=t[n],r=0;r&lt;4;r++)o.box[r][0]&lt;c&amp;&amp;(c=o.box[r][0]),o.box[r][0]&gt;f&amp;&amp;(f=o.box[r][0]),o.box[r][1]&lt;s&amp;&amp;(s=o.box[r][1]),o.box[r][1]&gt;l&amp;&amp;(l=o.box[r][1]);for(a=[[c,s],[f,s],[f,l],[c,l]],u=p.halfSample?2:1,i=M.invert(i,i),r=0;r&lt;4;r++)I.transformMat2(a[r],a[r],i);for(r=0;r&lt;4;r++)I.scale(a[r],a[r],u);return a}function a(){n.i(w.f)(v,E),E.zeroBorder()}function u(){var t,e,n,r,o,i,a,u=[];for(t=0;t&lt;z.x;t++)for(e=0;e&lt;z.y;e++)n=g.size.x*t,r=g.size.y*e,l(n,r),_.zeroBorder(),T.a.init(y.data,0),i=S.a.create(_,y),a=i.rasterize(0),o=y.moments(a.count),u=u.concat(d(o,[t,e],n,r));return u}function c(t){var e,n,r=[];for(e=0;e&lt;t;e++)r.push(0);for(n=x.data.length;n--;)x.data[n]&gt;0&amp;&amp;r[x.data[n]-1]++;return r=r.map(function(t,e){return{val:t,label:e+1}}),r.sort(function(t,e){return e.val-t.val}),r.filter(function(t){return t.val&gt;=5})}function s(t,e){var n,r,o,a,u=[],c=[];for(n=0;n&lt;t.length;n++){for(r=x.data.length,u.length=0;r--;)x.data[r]===t[n].label&amp;&amp;(o=b.data[r],u.push(o));a=i(u),a&amp;&amp;c.push(a)}return c}function f(t){var e=n.i(w.g)(t,.9),r=n.i(w.h)(e,1,function(t){return t.getPoints().length}),o=[],i=[];if(1===r.length){o=r[0].item.getPoints();for(var a=0;a&lt;o.length;a++)i.push(o[a].point)}return i}function l(t,e){E.subImageAsCopy(g,n.i(w.b)(t,e)),A.skeletonize()}function d(t,e,n,r){var o,i,a,u,c=[],s=[],l=Math.ceil(C.x/3);if(t.length&gt;=2){for(o=0;o&lt;t.length;o++)t[o].m00&gt;l&amp;&amp;c.push(t[o]);if(c.length&gt;=2){for(a=f(c),i=0,o=0;o&lt;a.length;o++)i+=a[o].rad;a.length&gt;1&amp;&amp;a.length&gt;=c.length/4*3&amp;&amp;a.length&gt;t.length/4&amp;&amp;(i/=a.length,u={index:e[1]*z.x+e[0],pos:{x:n,y:r},box:[I.clone([n,r]),I.clone([n+g.size.x,r]),I.clone([n+g.size.x,r+g.size.y]),I.clone([n,r+g.size.y])],moments:a,rad:i,vec:I.clone([Math.cos(i),Math.sin(i)])},s.push(u))}}return s}function h(t){function e(){var t;for(t=0;t&lt;x.data.length;t++)if(0===x.data[t]&amp;&amp;1===m.data[t])return t;return x.length}function n(t){var e,r,o,u,c,s={x:t%x.size.x,y:t/x.size.x|0};if(t&lt;x.data.length)for(o=b.data[t],x.data[t]=i,c=0;c&lt;D.a.searchDirections.length;c++)r=s.y+D.a.searchDirections[c][0],e=s.x+D.a.searchDirections[c][1],u=r*x.size.x+e,0!==m.data[u]?0===x.data[u]&amp;&amp;Math.abs(I.dot(b.data[u].vec,o.vec))&gt;a&amp;&amp;n(u):x.data[u]=Number.MAX_VALUE}var r,o,i=0,a=.95,u=0;for(T.a.init(m.data,0),T.a.init(x.data,0),T.a.init(b.data,null),r=0;r&lt;t.length;r++)o=t[r],b.data[o.index]=o,m.data[o.index]=1;for(m.zeroBorder();(u=e())&lt;x.data.length;)i++,n(u);return i}var p,v,_,g,y,m,x,b,E,C,O,A,R=n(20),w=n(19),T=n(3),S=(n(9),n(65)),D=n(30),P=n(66),I={clone:n(7),dot:n(32),scale:n(81),transformMat2:n(82)},M={copy:n(78),create:n(79),invert:n(80)},N={ctx:{binary:null},dom:{binary:null}},z={x:0,y:0};e.a={init:function(t,e){p=e,O=t,r(),o()},locate:function(){var t,e;if(p.halfSample&amp;&amp;n.i(w.i)(O,v),a(),t=u(),t.length&lt;z.x*z.y*.05)return null;var r=h(t);return r&lt;1?null:(e=c(r),0===e.length?null:s(e,r))},checkImageConstraints:function(t,e){var r,o,i,a=t.getWidth(),u=t.getHeight(),c=e.halfSample?.5:1;if(t.getConfig().area&amp;&amp;(i=n.i(w.j)(a,u,t.getConfig().area),t.setTopRight({x:i.sx,y:i.sy}),t.setCanvasSize({x:a,y:u}),a=i.sw,u=i.sh),o={x:Math.floor(a*c),y:Math.floor(u*c)},r=n.i(w.e)(e.patchSize,o),t.setWidth(Math.floor(Math.floor(o.x/r.x)*(1/c)*r.x)),t.setHeight(Math.floor(Math.floor(o.y/r.y)*(1/c)*r.y)),t.getWidth()%r.x==0&amp;&amp;t.getHeight()%r.y==0)return!0;throw new Error(\"Image dimensions do not comply with the current settings: Width (\"+a+\" )and height (\"+u+\") must a multiple of \"+r.x)}}}).call(e,n(47))},function(t,e,n){\"use strict\";var r=n(30),o={createContour2D:function(){return{dir:null,index:null,firstVertex:null,insideContours:null,nextpeer:null,prevpeer:null}},CONTOUR_DIR:{CW_DIR:0,CCW_DIR:1,UNKNOWN_DIR:2},DIR:{OUTSIDE_EDGE:-32767,INSIDE_EDGE:-32766},create:function(t,e){var n=t.data,i=e.data,a=t.size.x,u=t.size.y,c=r.a.create(t,e);return{rasterize:function(t){var e,r,s,f,l,d,h,p,v,_,g,y,m=[],x=0;for(y=0;y&lt;400;y++)m[y]=0;for(m[0]=n[0],v=null,d=1;d&lt;u-1;d++)for(f=0,r=m[0],l=1;l&lt;a-1;l++)if(g=d*a+l,0===i[g])if((e=n[g])!==r){if(0===f)s=x+1,m[s]=e,r=e,null!==(h=c.contourTracing(d,l,s,e,o.DIR.OUTSIDE_EDGE))&amp;&amp;(x++,f=s,p=o.createContour2D(),p.dir=o.CONTOUR_DIR.CW_DIR,p.index=f,p.firstVertex=h,p.nextpeer=v,p.insideContours=null,null!==v&amp;&amp;(v.prevpeer=p),v=p);else if(null!==(h=c.contourTracing(d,l,o.DIR.INSIDE_EDGE,e,f))){for(p=o.createContour2D(),p.firstVertex=h,p.insideContours=null,p.dir=0===t?o.CONTOUR_DIR.CCW_DIR:o.CONTOUR_DIR.CW_DIR,p.index=t,_=v;null!==_&amp;&amp;_.index!==f;)_=_.nextpeer;null!==_&amp;&amp;(p.nextpeer=_.insideContours,null!==_.insideContours&amp;&amp;(_.insideContours.prevpeer=p),_.insideContours=p)}}else i[g]=f;else i[g]===o.DIR.OUTSIDE_EDGE||i[g]===o.DIR.INSIDE_EDGE?(f=0,r=i[g]===o.DIR.INSIDE_EDGE?n[g]:m[0]):(f=i[g],r=m[f]);for(_=v;null!==_;)_.index=t,_=_.nextpeer;return{cc:v,count:x}},debug:{drawContour:function(t,e){var n,r,i,a=t.getContext(\"2d\"),u=e;for(a.strokeStyle=\"red\",a.fillStyle=\"red\",a.lineWidth=1,n=null!==u?u.insideContours:null;null!==u;){switch(null!==n?(r=n,n=n.nextpeer):(r=u,u=u.nextpeer,n=null!==u?u.insideContours:null),r.dir){case o.CONTOUR_DIR.CW_DIR:a.strokeStyle=\"red\";break;case o.CONTOUR_DIR.CCW_DIR:a.strokeStyle=\"blue\";break;case o.CONTOUR_DIR.UNKNOWN_DIR:a.strokeStyle=\"green\"}i=r.firstVertex,a.beginPath(),a.moveTo(i.x,i.y);do i=i.next,a.lineTo(i.x,i.y);while(i!==r.firstVertex);a.stroke()}}}}}};e.a=o},function(module, __webpack_exports__, __webpack_require__) {\"use strict\";function Skeletonizer(stdlib, foreign, buffer) {\"use asm\";var images=new stdlib.Uint8Array(buffer),size=foreign.size|0,imul=stdlib.Math.imul;function erode(inImagePtr, outImagePtr) {inImagePtr=inImagePtr|0;outImagePtr=outImagePtr|0;var v=0,u=0,sum=0,yStart1=0,yStart2=0,xStart1=0,xStart2=0,offset=0;for (v=1; (v|0)&lt;(size - 1|0); v=v+1|0) {offset=offset+size|0;for (u=1; (u|0)&lt;(size - 1|0); u=u+1|0) {yStart1=offset - size|0;yStart2=offset+size|0;xStart1=u - 1|0;xStart2=u+1|0;sum=(images[inImagePtr+yStart1+xStart1|0]|0)+(images[inImagePtr+yStart1+xStart2|0]|0)+(images[inImagePtr+offset+u|0]|0)+(images[inImagePtr+yStart2+xStart1|0]|0)+(images[inImagePtr+yStart2+xStart2|0]|0)|0;if ((sum|0) == (5|0)) {images[outImagePtr+offset+u|0]=1;} else {images[outImagePtr+offset+u|0]=0;}}}return;}function subtract(aImagePtr, bImagePtr, outImagePtr) {aImagePtr=aImagePtr|0;bImagePtr=bImagePtr|0;outImagePtr=outImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)&gt;0) {length=length - 1|0;images[outImagePtr+length|0]=(images[aImagePtr+length|0]|0) - (images[bImagePtr+length|0]|0)|0;}}function bitwiseOr(aImagePtr, bImagePtr, outImagePtr) {aImagePtr=aImagePtr|0;bImagePtr=bImagePtr|0;outImagePtr=outImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)&gt;0) {length=length - 1|0;images[outImagePtr+length|0]=images[aImagePtr+length|0]|0|(images[bImagePtr+length|0]|0)|0;}}function countNonZero(imagePtr) {imagePtr=imagePtr|0;var sum=0,length=0;length=imul(size, size)|0;while ((length|0)&gt;0) {length=length - 1|0;sum=(sum|0)+(images[imagePtr+length|0]|0)|0;}return sum|0;}function init(imagePtr, value) {imagePtr=imagePtr|0;value=value|0;var length=0;length=imul(size, size)|0;while ((length|0)&gt;0) {length=length - 1|0;images[imagePtr+length|0]=value;}}function dilate(inImagePtr, outImagePtr) {inImagePtr=inImagePtr|0;outImagePtr=outImagePtr|0;var v=0,u=0,sum=0,yStart1=0,yStart2=0,xStart1=0,xStart2=0,offset=0;for (v=1; (v|0)&lt;(size - 1|0); v=v+1|0) {offset=offset+size|0;for (u=1; (u|0)&lt;(size - 1|0); u=u+1|0) {yStart1=offset - size|0;yStart2=offset+size|0;xStart1=u - 1|0;xStart2=u+1|0;sum=(images[inImagePtr+yStart1+xStart1|0]|0)+(images[inImagePtr+yStart1+xStart2|0]|0)+(images[inImagePtr+offset+u|0]|0)+(images[inImagePtr+yStart2+xStart1|0]|0)+(images[inImagePtr+yStart2+xStart2|0]|0)|0;if ((sum|0)&gt;(0|0)) {images[outImagePtr+offset+u|0]=1;} else {images[outImagePtr+offset+u|0]=0;}}}return;}function memcpy(srcImagePtr, dstImagePtr) {srcImagePtr=srcImagePtr|0;dstImagePtr=dstImagePtr|0;var length=0;length=imul(size, size)|0;while ((length|0)&gt;0) {length=length - 1|0;images[dstImagePtr+length|0]=images[srcImagePtr+length|0]|0;}}function zeroBorder(imagePtr) {imagePtr=imagePtr|0;var x=0,y=0;for (x=0; (x|0)&lt;(size - 1|0); x=x+1|0) {images[imagePtr+x|0]=0;images[imagePtr+y|0]=0;y=y+size - 1|0;images[imagePtr+y|0]=0;y=y+1|0;}for (x=0; (x|0)&lt;(size|0); x=x+1|0) {images[imagePtr+y|0]=0;y=y+1|0;}}function skeletonize() {var subImagePtr=0,erodedImagePtr=0,tempImagePtr=0,skelImagePtr=0,sum=0,done=0;erodedImagePtr=imul(size, size)|0;tempImagePtr=erodedImagePtr+erodedImagePtr|0;skelImagePtr=tempImagePtr+erodedImagePtr|0;init(skelImagePtr, 0);zeroBorder(subImagePtr);do {erode(subImagePtr, erodedImagePtr);dilate(erodedImagePtr, tempImagePtr);subtract(subImagePtr, tempImagePtr, tempImagePtr);bitwiseOr(skelImagePtr, tempImagePtr, skelImagePtr);memcpy(erodedImagePtr, subImagePtr);sum=countNonZero(subImagePtr)|0;done=(sum|0) == 0|0;} while (!done);}return {skeletonize: skeletonize};} __webpack_exports__[\"a\"]=Skeletonizer; },function(t,e,n){\"use strict\";function r(t){o.a.call(this,t),this.barSpaceRatio=[1,1]}var o=n(1),i=1,a=3,u={START_PATTERN:{value:[a,i,a,i,i,i]},STOP_PATTERN:{value:[a,i,i,i,a]},CODE_PATTERN:{value:[[i,i,a,a,i],[a,i,i,i,a],[i,a,i,i,a],[a,a,i,i,i],[i,i,a,i,a],[a,i,a,i,i],[i,a,a,i,i],[i,i,i,a,a],[a,i,i,a,i],[i,a,i,a,i]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.3,writable:!0},FORMAT:{value:\"2of5\"}},c=u.START_PATTERN.value.reduce(function(t,e){return t+e},0);r.prototype=Object.create(o.a.prototype,u),r.prototype.constructor=r,r.prototype._findPattern=function(t,e,n,r){var o,i,a,u,c=[],s=this,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0},d=s.AVG_CODE_ERROR;for(n=n||!1,r=r||!1,e||(e=s._nextSet(s._row)),o=0;o&lt;t.length;o++)c[o]=0;for(o=e;o&lt;s._row.length;o++)if(s._row[o]^n)c[f]++;else{if(f===c.length-1){for(u=0,a=0;a&lt;c.length;a++)u+=c[a];if((i=s._matchPattern(c,t))&lt;d)return l.error=i,l.start=o-u,l.end=o,l;if(!r)return null;for(a=0;a&lt;c.length-2;a++)c[a]=c[a+2];c[c.length-2]=0,c[c.length-1]=0,f--}else f++;c[f]=1,n=!n}return null},r.prototype._findStart=function(){for(var t,e,n=this,r=n._nextSet(n._row),o=1;!e;){if(!(e=n._findPattern(n.START_PATTERN,r,!1,!0)))return null;if(o=Math.floor((e.end-e.start)/c),(t=e.start-5*o)&gt;=0&amp;&amp;n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e&lt;n._row.length&amp;&amp;n._matchRange(t.end,e,0)?t:null},r.prototype._findEnd=function(){var t,e,n,r=this;return r._row.reverse(),n=r._nextSet(r._row),t=r._findPattern(r.STOP_PATTERN,n,!1,!0),r._row.reverse(),null===t?null:(e=t.start,t.start=r._row.length-t.end,t.end=r._row.length-e,null!==t?r._verifyTrailingWhitespace(t):null)},r.prototype._decodeCode=function(t){var e,n,r,o=this,i=0,a=o.AVG_CODE_ERROR,u={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e=0;e&lt;t.length;e++)i+=t[e];for(r=0;r&lt;o.CODE_PATTERN.length;r++)(n=o._matchPattern(t,o.CODE_PATTERN[r]))&lt;u.error&amp;&amp;(u.code=r,u.error=n);if(u.error&lt;a)return u},r.prototype._decodePayload=function(t,e,n){for(var r,o,i=this,a=0,u=t.length,c=[0,0,0,0,0];a&lt;u;){for(r=0;r&lt;5;r++)c[r]=t[a]*this.barSpaceRatio[0],a+=2;if(!(o=i._decodeCode(c)))return null;e.push(o.code+\"\"),n.push(o)}return o},r.prototype._verifyCounterLength=function(t){return t.length%10==0},r.prototype._decode=function(){var t,e,n,r=this,o=[],i=[];return(t=r._findStart())?(i.push(t),(e=r._findEnd())?(n=r._fillCounters(t.end,e.start,!1),r._verifyCounterLength(n)&amp;&amp;r._decodePayload(n,o,i)?o.length&lt;5?null:(i.push(e),{code:o.join(\"\"),start:t.start,end:e.end,startInfo:t,decodedCodes:i}):null):null):null},e.a=r},function(t,e,n){\"use strict\";function r(){o.a.call(this),this._counters=[]}var o=n(1),i={ALPHABETH_STRING:{value:\"0123456789-$:/.+ABCD\"},ALPHABET:{value:[48,49,50,51,52,53,54,55,56,57,45,36,58,47,46,43,65,66,67,68]},CHARACTER_ENCODINGS:{value:[3,6,9,96,18,66,33,36,48,72,12,24,69,81,84,21,26,41,11,14]},START_END:{value:[26,41,11,14]},MIN_ENCODED_CHARS:{value:4},MAX_ACCEPTABLE:{value:2},PADDING:{value:1.5},FORMAT:{value:\"codabar\",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o,i=this,a=[];if(this._counters=i._fillCounters(),!(t=i._findStart()))return null;r=t.startCounter;do{if((n=i._toPattern(r))&lt;0)return null;if((e=i._patternToChar(n))&lt;0)return null;if(a.push(e),r+=8,a.length&gt;1&amp;&amp;i._isStartEnd(n))break}while(r&lt;i._counters.length);return a.length-2&lt;i.MIN_ENCODED_CHARS||!i._isStartEnd(n)?null:i._verifyWhitespace(t.startCounter,r-8)&amp;&amp;i._validateResult(a,t.startCounter)?(r=r&gt;i._counters.length?i._counters.length:r,o=t.start+i._sumCounters(t.startCounter,r-8),{code:a.join(\"\"),start:t.start,end:o,startInfo:t,decodedCodes:a}):null},r.prototype._verifyWhitespace=function(t,e){return(t-1&lt;=0||this._counters[t-1]&gt;=this._calculatePatternLength(t)/2)&amp;&amp;(e+8&gt;=this._counters.length||this._counters[e+7]&gt;=this._calculatePatternLength(e)/2)},r.prototype._calculatePatternLength=function(t){var e,n=0;for(e=t;e&lt;t+7;e++)n+=this._counters[e];return n},r.prototype._thresholdResultPattern=function(t,e){var n,r,o,i,a,u=this,c={space:{narrow:{size:0,counts:0,min:0,max:Number.MAX_VALUE},wide:{size:0,counts:0,min:0,max:Number.MAX_VALUE}},bar:{narrow:{size:0,counts:0,min:0,max:Number.MAX_VALUE},wide:{size:0,counts:0,min:0,max:Number.MAX_VALUE}}},s=e;for(o=0;o&lt;t.length;o++){for(a=u._charToPattern(t[o]),i=6;i&gt;=0;i--)n=2==(1&amp;i)?c.bar:c.space,r=1==(1&amp;a)?n.wide:n.narrow,r.size+=u._counters[s+i],r.counts++,a&gt;&gt;=1;s+=8}return[\"space\",\"bar\"].forEach(function(t){var e=c[t];e.wide.min=Math.floor((e.narrow.size/e.narrow.counts+e.wide.size/e.wide.counts)/2),e.narrow.max=Math.ceil(e.wide.min),e.wide.max=Math.ceil((e.wide.size*u.MAX_ACCEPTABLE+u.PADDING)/e.wide.counts)}),c},r.prototype._charToPattern=function(t){var e,n=this,r=t.charCodeAt(0);for(e=0;e&lt;n.ALPHABET.length;e++)if(n.ALPHABET[e]===r)return n.CHARACTER_ENCODINGS[e];return 0},r.prototype._validateResult=function(t,e){var n,r,o,i,a,u,c=this,s=c._thresholdResultPattern(t,e),f=e;for(n=0;n&lt;t.length;n++){for(u=c._charToPattern(t[n]),r=6;r&gt;=0;r--){if(o=0==(1&amp;r)?s.bar:s.space,i=1==(1&amp;u)?o.wide:o.narrow,(a=c._counters[f+r])&lt;i.min||a&gt;i.max)return!1;u&gt;&gt;=1}f+=8}return!0},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;e&lt;n.CHARACTER_ENCODINGS.length;e++)if(n.CHARACTER_ENCODINGS[e]===t)return String.fromCharCode(n.ALPHABET[e]);return-1},r.prototype._computeAlternatingThreshold=function(t,e){var n,r,o=Number.MAX_VALUE,i=0;for(n=t;n&lt;e;n+=2)r=this._counters[n],r&gt;i&amp;&amp;(i=r),r&lt;o&amp;&amp;(o=r);return(o+i)/2|0},r.prototype._toPattern=function(t){var e,n,r,o,i=7,a=t+i,u=1&lt;&lt;i-1,c=0;if(a&gt;this._counters.length)return-1;for(e=this._computeAlternatingThreshold(t,a),n=this._computeAlternatingThreshold(t+1,a),r=0;r&lt;i;r++)o=0==(1&amp;r)?e:n,this._counters[t+r]&gt;o&amp;&amp;(c|=u),u&gt;&gt;=1;return c},r.prototype._isStartEnd=function(t){var e;for(e=0;e&lt;this.START_END.length;e++)if(this.START_END[e]===t)return!0;return!1},r.prototype._sumCounters=function(t,e){var n,r=0;for(n=t;n&lt;e;n++)r+=this._counters[n];return r},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextUnset(r._row);for(t=1;t&lt;this._counters.length;t++)if((e=r._toPattern(t))!==-1&amp;&amp;r._isStartEnd(e))return o+=r._sumCounters(0,t),n=o+r._sumCounters(t,t+8),{start:o,end:n,startCounter:t,endCounter:t+8}},e.a=r},function(t,e,n){\"use strict\";function r(){i.a.call(this)}function o(t,e,n){for(var r=n.length,o=0,i=0;r--;)i+=t[n[r]],o+=e[n[r]];return i/o}var i=n(1),a={CODE_SHIFT:{value:98},CODE_C:{value:99},CODE_B:{value:100},CODE_A:{value:101},START_CODE_A:{value:103},START_CODE_B:{value:104},START_CODE_C:{value:105},STOP_CODE:{value:106},CODE_PATTERN:{value:[[2,1,2,2,2,2],[2,2,2,1,2,2],[2,2,2,2,2,1],[1,2,1,2,2,3],[1,2,1,3,2,2],[1,3,1,2,2,2],[1,2,2,2,1,3],[1,2,2,3,1,2],[1,3,2,2,1,2],[2,2,1,2,1,3],[2,2,1,3,1,2],[2,3,1,2,1,2],[1,1,2,2,3,2],[1,2,2,1,3,2],[1,2,2,2,3,1],[1,1,3,2,2,2],[1,2,3,1,2,2],[1,2,3,2,2,1],[2,2,3,2,1,1],[2,2,1,1,3,2],[2,2,1,2,3,1],[2,1,3,2,1,2],[2,2,3,1,1,2],[3,1,2,1,3,1],[3,1,1,2,2,2],[3,2,1,1,2,2],[3,2,1,2,2,1],[3,1,2,2,1,2],[3,2,2,1,1,2],[3,2,2,2,1,1],[2,1,2,1,2,3],[2,1,2,3,2,1],[2,3,2,1,2,1],[1,1,1,3,2,3],[1,3,1,1,2,3],[1,3,1,3,2,1],[1,1,2,3,1,3],[1,3,2,1,1,3],[1,3,2,3,1,1],[2,1,1,3,1,3],[2,3,1,1,1,3],[2,3,1,3,1,1],[1,1,2,1,3,3],[1,1,2,3,3,1],[1,3,2,1,3,1],[1,1,3,1,2,3],[1,1,3,3,2,1],[1,3,3,1,2,1],[3,1,3,1,2,1],[2,1,1,3,3,1],[2,3,1,1,3,1],[2,1,3,1,1,3],[2,1,3,3,1,1],[2,1,3,1,3,1],[3,1,1,1,2,3],[3,1,1,3,2,1],[3,3,1,1,2,1],[3,1,2,1,1,3],[3,1,2,3,1,1],[3,3,2,1,1,1],[3,1,4,1,1,1],[2,2,1,4,1,1],[4,3,1,1,1,1],[1,1,1,2,2,4],[1,1,1,4,2,2],[1,2,1,1,2,4],[1,2,1,4,2,1],[1,4,1,1,2,2],[1,4,1,2,2,1],[1,1,2,2,1,4],[1,1,2,4,1,2],[1,2,2,1,1,4],[1,2,2,4,1,1],[1,4,2,1,1,2],[1,4,2,2,1,1],[2,4,1,2,1,1],[2,2,1,1,1,4],[4,1,3,1,1,1],[2,4,1,1,1,2],[1,3,4,1,1,1],[1,1,1,2,4,2],[1,2,1,1,4,2],[1,2,1,2,4,1],[1,1,4,2,1,2],[1,2,4,1,1,2],[1,2,4,2,1,1],[4,1,1,2,1,2],[4,2,1,1,1,2],[4,2,1,2,1,1],[2,1,2,1,4,1],[2,1,4,1,2,1],[4,1,2,1,2,1],[1,1,1,1,4,3],[1,1,1,3,4,1],[1,3,1,1,4,1],[1,1,4,1,1,3],[1,1,4,3,1,1],[4,1,1,1,1,3],[4,1,1,3,1,1],[1,1,3,1,4,1],[1,1,4,1,3,1],[3,1,1,1,4,1],[4,1,1,1,3,1],[2,1,1,4,1,2],[2,1,1,2,1,4],[2,1,1,2,3,2],[2,3,3,1,1,1,2]]},SINGLE_CODE_ERROR:{value:.64},AVG_CODE_ERROR:{value:.3},FORMAT:{value:\"code_128\",writeable:!1},MODULE_INDICES:{value:{bar:[0,2,4],space:[1,3,5]}}};r.prototype=Object.create(i.a.prototype,a),r.prototype.constructor=r,r.prototype._decodeCode=function(t,e){var n,r,i,a=[0,0,0,0,0,0],u=this,c=t,s=!u._row[c],f=0,l={error:Number.MAX_VALUE,code:-1,start:t,end:t,correction:{bar:1,space:1}};for(n=c;n&lt;u._row.length;n++)if(u._row[n]^s)a[f]++;else{if(f===a.length-1){for(e&amp;&amp;u._correct(a,e),r=0;r&lt;u.CODE_PATTERN.length;r++)(i=u._matchPattern(a,u.CODE_PATTERN[r]))&lt;l.error&amp;&amp;(l.code=r,l.error=i);return l.end=n,l.code===-1||l.error&gt;u.AVG_CODE_ERROR?null:(u.CODE_PATTERN[l.code]&amp;&amp;(l.correction.bar=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.bar),l.correction.space=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.space)),l)}f++,a[f]=1,s=!s}return null},r.prototype._correct=function(t,e){this._correctBars(t,e.bar,this.MODULE_INDICES.bar),this._correctBars(t,e.space,this.MODULE_INDICES.space)},r.prototype._findStart=function(){var t,e,n,r,i,a=[0,0,0,0,0,0],u=this,c=u._nextSet(u._row),s=!1,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0,correction:{bar:1,space:1}};for(t=c;t&lt;u._row.length;t++)if(u._row[t]^s)a[f]++;else{if(f===a.length-1){for(i=0,r=0;r&lt;a.length;r++)i+=a[r];for(e=u.START_CODE_A;e&lt;=u.START_CODE_C;e++)(n=u._matchPattern(a,u.CODE_PATTERN[e]))&lt;l.error&amp;&amp;(l.code=e,l.error=n);if(l.error&lt;u.AVG_CODE_ERROR)return l.start=t-i,l.end=t,l.correction.bar=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.bar),l.correction.space=o(u.CODE_PATTERN[l.code],a,this.MODULE_INDICES.space),l;for(r=0;r&lt;4;r++)a[r]=a[r+2];a[4]=0,a[5]=0,f--}else f++;a[f]=1,s=!s}return null},r.prototype._decode=function(){var t,e,n=this,r=n._findStart(),o=null,i=!1,a=[],u=0,c=0,s=[],f=[],l=!1,d=!0;if(null===r)return null;switch(o={code:r.code,start:r.start,end:r.end,correction:{bar:r.correction.bar,space:r.correction.space}},f.push(o),c=o.code,o.code){case n.START_CODE_A:t=n.CODE_A;break;case n.START_CODE_B:t=n.CODE_B;break;case n.START_CODE_C:t=n.CODE_C;break;default:return null}for(;!i;){if(e=l,l=!1,null!==(o=n._decodeCode(o.end,o.correction)))switch(o.code!==n.STOP_CODE&amp;&amp;(d=!0),o.code!==n.STOP_CODE&amp;&amp;(s.push(o.code),u++,c+=u*o.code),f.push(o),t){case n.CODE_A:if(o.code&lt;64)a.push(String.fromCharCode(32+o.code));else if(o.code&lt;96)a.push(String.fromCharCode(o.code-64));else switch(o.code!==n.STOP_CODE&amp;&amp;(d=!1),o.code){case n.CODE_SHIFT:l=!0,t=n.CODE_B;break;case n.CODE_B:t=n.CODE_B;break;case n.CODE_C:t=n.CODE_C;break;case n.STOP_CODE:i=!0}break;case n.CODE_B:if(o.code&lt;96)a.push(String.fromCharCode(32+o.code));else switch(o.code!==n.STOP_CODE&amp;&amp;(d=!1),o.code){case n.CODE_SHIFT:l=!0,t=n.CODE_A;break;case n.CODE_A:t=n.CODE_A;break;case n.CODE_C:t=n.CODE_C;break;case n.STOP_CODE:i=!0}break;case n.CODE_C:if(o.code&lt;100)a.push(o.code&lt;10?\"0\"+o.code:o.code);else switch(o.code!==n.STOP_CODE&amp;&amp;(d=!1),o.code){case n.CODE_A:t=n.CODE_A;break;case n.CODE_B:t=n.CODE_B;break;case n.STOP_CODE:i=!0}}else i=!0;e&amp;&amp;(t=t===n.CODE_A?n.CODE_B:n.CODE_A)}return null===o?null:(o.end=n._nextUnset(n._row,o.end),n._verifyTrailingWhitespace(o)?(c-=u*s[s.length-1])%103!==s[s.length-1]?null:a.length?(d&amp;&amp;a.splice(a.length-1,1),{code:a.join(\"\"),start:r.start,end:o.end,codeset:t,startInfo:r,decodedCodes:f,endInfo:o}):null:null)},i.a.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e&lt;n._row.length&amp;&amp;n._matchRange(t.end,e,0)?t:null},e.a=r},function(t,e,n){\"use strict\";function r(){o.a.call(this)}var o=n(31),i={IOQ:/[IOQ]/g,AZ09:/[A-Z0-9]{17}/};r.prototype=Object.create(o.a.prototype),r.prototype.constructor=r,r.prototype._decode=function(){var t=o.a.prototype._decode.apply(this);if(!t)return null;var e=t.code;return e?(e=e.replace(i.IOQ,\"\"),e.match(i.AZ09)&amp;&amp;this._checkChecksum(e)?(t.code=e,t):null):null},r.prototype._checkChecksum=function(t){return!!t},e.a=r},function(t,e,n){\"use strict\";function r(){o.a.call(this)}var o=n(1),i=n(3),a=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*\",u={ALPHABETH_STRING:{value:a},ALPHABET:{value:a.split(\"\").map(function(t){return t.charCodeAt(0)})},CHARACTER_ENCODINGS:{value:[276,328,324,322,296,292,290,336,274,266,424,420,418,404,402,394,360,356,354,308,282,344,332,326,300,278,436,434,428,422,406,410,364,358,310,314,302,468,466,458,366,374,430,294,474,470,306,350]},ASTERISK:{value:350},FORMAT:{value:\"code_93\",writeable:!1}};r.prototype=Object.create(o.a.prototype,u),r.prototype.constructor=r,r.prototype._decode=function(){var t,e,n,r,o=this,a=[0,0,0,0,0,0],u=[],c=o._findStart();if(!c)return null;r=o._nextSet(o._row,c.end);do{if(a=o._toCounters(r,a),(n=o._toPattern(a))&lt;0)return null;if((t=o._patternToChar(n))&lt;0)return null;u.push(t),e=r,r+=i.a.sum(a),r=o._nextSet(o._row,r)}while(\"*\"!==t);return u.pop(),u.length&amp;&amp;o._verifyEnd(e,r,a)&amp;&amp;o._verifyChecksums(u)?(u=u.slice(0,u.length-2),null===(u=o._decodeExtended(u))?null:{code:u.join(\"\"),start:c.start,end:r,startInfo:c,decodedCodes:u}):null},r.prototype._verifyEnd=function(t,e){return!(t===e||!this._row[e])},r.prototype._patternToChar=function(t){var e,n=this;for(e=0;e&lt;n.CHARACTER_ENCODINGS.length;e++)if(n.CHARACTER_ENCODINGS[e]===t)return String.fromCharCode(n.ALPHABET[e]);return-1},r.prototype._toPattern=function(t){for(var e=t.length,n=0,r=0,o=0;o&lt;e;o++)r+=t[o];for(var i=0;i&lt;e;i++){var a=Math.round(9*t[i]/r);if(a&lt;1||a&gt;4)return-1;if(0==(1&amp;i))for(var u=0;u&lt;a;u++)n=n&lt;&lt;1|1;else n&lt;&lt;=a}return n},r.prototype._findStart=function(){var t,e,n,r=this,o=r._nextSet(r._row),i=o,a=[0,0,0,0,0,0],u=0,c=!1;for(t=o;t&lt;r._row.length;t++)if(r._row[t]^c)a[u]++;else{if(u===a.length-1){if(r._toPattern(a)===r.ASTERISK&amp;&amp;(n=Math.floor(Math.max(0,i-(t-i)/4)),r._matchRange(n,i,0)))return{start:i,end:t};for(i+=a[0]+a[1],e=0;e&lt;4;e++)a[e]=a[e+2];a[4]=0,a[5]=0,u--}else u++;a[u]=1,c=!c}return null},r.prototype._decodeExtended=function(t){for(var e=t.length,n=[],r=0;r&lt;e;r++){var o=t[r];if(o&gt;=\"a\"&amp;&amp;o&lt;=\"d\"){if(r&gt;e-2)return null;var i=t[++r],a=i.charCodeAt(0),u=void 0;switch(o){case\"a\":if(!(i&gt;=\"A\"&amp;&amp;i&lt;=\"Z\"))return null;u=String.fromCharCode(a-64);break;case\"b\":if(i&gt;=\"A\"&amp;&amp;i&lt;=\"E\")u=String.fromCharCode(a-38);else if(i&gt;=\"F\"&amp;&amp;i&lt;=\"J\")u=String.fromCharCode(a-11);else if(i&gt;=\"K\"&amp;&amp;i&lt;=\"O\")u=String.fromCharCode(a+16);else if(i&gt;=\"P\"&amp;&amp;i&lt;=\"S\")u=String.fromCharCode(a+43);else{if(!(i&gt;=\"T\"&amp;&amp;i&lt;=\"Z\"))return null;u=String.fromCharCode(127)}break;case\"c\":if(i&gt;=\"A\"&amp;&amp;i&lt;=\"O\")u=String.fromCharCode(a-32);else{if(\"Z\"!==i)return null;u=\":\"}break;case\"d\":if(!(i&gt;=\"A\"&amp;&amp;i&lt;=\"Z\"))return null;u=String.fromCharCode(a+32)}n.push(u)}else n.push(o)}return n},r.prototype._verifyChecksums=function(t){return this._matchCheckChar(t,t.length-2,20)&amp;&amp;this._matchCheckChar(t,t.length-1,15)},r.prototype._matchCheckChar=function(t,e,n){var r=this,o=t.slice(0,e),i=o.length,a=o.reduce(function(t,e,o){return t+((o*-1+(i-1))%n+1)*r.ALPHABET.indexOf(e.charCodeAt(0))},0);return this.ALPHABET[a%47]===t[e].charCodeAt(0)},e.a=r},function(t,e,n){\"use strict\";function r(){o.a.call(this)}var o=n(4),i={FORMAT:{value:\"ean_2\",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,o=0,i=e,a=this._row.length,u=[],c=[];for(o=0;o&lt;2&amp;&amp;i&lt;a;o++){if(!(n=this._decodeCode(i)))return null;c.push(n),u.push(n.code%10),n.code&gt;=this.CODE_G_START&amp;&amp;(r|=1&lt;&lt;1-o),1!=o&amp;&amp;(i=this._nextSet(this._row,n.end),i=this._nextUnset(this._row,i))}return 2!=u.length||parseInt(u.join(\"\"))%4!==r?null:{code:u.join(\"\"),decodedCodes:c,end:n.end}},e.a=r},function(t,e,n){\"use strict\";function r(){a.a.call(this)}function o(t){var e;for(e=0;e&lt;10;e++)if(t===c[e])return e;return null}function i(t){var e,n=t.length,r=0;for(e=n-2;e&gt;=0;e-=2)r+=t[e];for(r*=3,e=n-1;e&gt;=0;e-=2)r+=t[e];return(r*=3)%10}var a=n(4),u={FORMAT:{value:\"ean_5\",writeable:!1}},c=[24,20,18,17,12,6,3,10,9,5];r.prototype=Object.create(a.a.prototype,u),r.prototype.constructor=r,r.prototype.decode=function(t,e){this._row=t;var n,r=0,a=0,u=e,c=this._row.length,s=[],f=[];for(a=0;a&lt;5&amp;&amp;u&lt;c;a++){if(!(n=this._decodeCode(u)))return null;f.push(n),s.push(n.code%10),n.code&gt;=this.CODE_G_START&amp;&amp;(r|=1&lt;&lt;4-a),4!=a&amp;&amp;(u=this._nextSet(this._row,n.end),u=this._nextUnset(this._row,u))}return 5!=s.length?null:i(s)!==o(r)?null:{code:s.join(\"\"),decodedCodes:f,end:n.end}},e.a=r},function(t,e,n){\"use strict\";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={FORMAT:{value:\"ean_8\",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decodePayload=function(t,e,n){var r,o=this;for(r=0;r&lt;4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;e.push(t.code),n.push(t)}if(null===(t=o._findPattern(o.MIDDLE_PATTERN,t.end,!0,!1)))return null;for(n.push(t),r=0;r&lt;4;r++){if(!(t=o._decodeCode(t.end,o.CODE_G_START)))return null;n.push(t),e.push(t.code)}return t},e.a=r},function(t,e,n){\"use strict\";function r(t){t=a()(o(),t),u.a.call(this,t),this.barSpaceRatio=[1,1],t.normalizeBarSpaceWidth&amp;&amp;(this.SINGLE_CODE_ERROR=.38,this.AVG_CODE_ERROR=.09)}function o(){var t={};return Object.keys(r.CONFIG_KEYS).forEach(function(e){t[e]=r.CONFIG_KEYS[e].default}),t}var i=n(28),a=n.n(i),u=n(1),c=1,s=3,f={START_PATTERN:{value:[c,c,c,c]},STOP_PATTERN:{value:[c,c,s]},CODE_PATTERN:{value:[[c,c,s,s,c],[s,c,c,c,s],[c,s,c,c,s],[s,s,c,c,c],[c,c,s,c,s],[s,c,s,c,c],[c,s,s,c,c],[c,c,c,s,s],[s,c,c,s,c],[c,s,c,s,c]]},SINGLE_CODE_ERROR:{value:.78,writable:!0},AVG_CODE_ERROR:{value:.38,writable:!0},MAX_CORRECTION_FACTOR:{value:5},FORMAT:{value:\"i2of5\"}};r.prototype=Object.create(u.a.prototype,f),r.prototype.constructor=r,r.prototype._matchPattern=function(t,e){if(this.config.normalizeBarSpaceWidth){var n,r=[0,0],o=[0,0],i=[0,0],a=this.MAX_CORRECTION_FACTOR,c=1/a;for(n=0;n&lt;t.length;n++)r[n%2]+=t[n],o[n%2]+=e[n];for(i[0]=o[0]/r[0],i[1]=o[1]/r[1],i[0]=Math.max(Math.min(i[0],a),c),i[1]=Math.max(Math.min(i[1],a),c),this.barSpaceRatio=i,n=0;n&lt;t.length;n++)t[n]*=this.barSpaceRatio[n%2]}return u.a.prototype._matchPattern.call(this,t,e)},r.prototype._findPattern=function(t,e,n,r){var o,i,a,u,c=[],s=this,f=0,l={error:Number.MAX_VALUE,code:-1,start:0,end:0},d=s.AVG_CODE_ERROR;for(n=n||!1,r=r||!1,e||(e=s._nextSet(s._row)),o=0;o&lt;t.length;o++)c[o]=0;for(o=e;o&lt;s._row.length;o++)if(s._row[o]^n)c[f]++;else{if(f===c.length-1){for(u=0,a=0;a&lt;c.length;a++)u+=c[a];if((i=s._matchPattern(c,t))&lt;d)return l.error=i,l.start=o-u,l.end=o,l;if(!r)return null;for(a=0;a&lt;c.length-2;a++)c[a]=c[a+2];c[c.length-2]=0,c[c.length-1]=0,f--}else f++;c[f]=1,n=!n}return null},r.prototype._findStart=function(){for(var t,e,n=this,r=n._nextSet(n._row),o=1;!e;){if(!(e=n._findPattern(n.START_PATTERN,r,!1,!0)))return null;if(o=Math.floor((e.end-e.start)/4),(t=e.start-10*o)&gt;=0&amp;&amp;n._matchRange(t,e.start,0))return e;r=e.end,e=null}},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;return e=t.end+(t.end-t.start)/2,e&lt;n._row.length&amp;&amp;n._matchRange(t.end,e,0)?t:null},r.prototype._findEnd=function(){var t,e,n=this;return n._row.reverse(),t=n._findPattern(n.STOP_PATTERN),n._row.reverse(),null===t?null:(e=t.start,t.start=n._row.length-t.end,t.end=n._row.length-e,null!==t?n._verifyTrailingWhitespace(t):null)},r.prototype._decodePair=function(t){var e,n,r=[],o=this;for(e=0;e&lt;t.length;e++){if(!(n=o._decodeCode(t[e])))return null;r.push(n)}return r},r.prototype._decodeCode=function(t){var e,n,r,o=this,i=0,a=o.AVG_CODE_ERROR,u={error:Number.MAX_VALUE,code:-1,start:0,end:0};for(e=0;e&lt;t.length;e++)i+=t[e];for(r=0;r&lt;o.CODE_PATTERN.length;r++)(n=o._matchPattern(t,o.CODE_PATTERN[r]))&lt;u.error&amp;&amp;(u.code=r,u.error=n);if(u.error&lt;a)return u},r.prototype._decodePayload=function(t,e,n){for(var r,o,i=this,a=0,u=t.length,c=[[0,0,0,0,0],[0,0,0,0,0]];a&lt;u;){for(r=0;r&lt;5;r++)c[0][r]=t[a]*this.barSpaceRatio[0],c[1][r]=t[a+1]*this.barSpaceRatio[1],a+=2;if(!(o=i._decodePair(c)))return null;for(r=0;r&lt;o.length;r++)e.push(o[r].code+\"\"),n.push(o[r])}return o},r.prototype._verifyCounterLength=function(t){return t.length%10==0},r.prototype._decode=function(){var t,e,n,r=this,o=[],i=[];return(t=r._findStart())?(i.push(t),(e=r._findEnd())?(n=r._fillCounters(t.end,e.start,!1),r._verifyCounterLength(n)&amp;&amp;r._decodePayload(n,o,i)?o.length%2!=0||o.length&lt;6?null:(i.push(e),{code:o.join(\"\"),start:t.start,end:e.end,startInfo:t,decodedCodes:i}):null):null):null},r.CONFIG_KEYS={normalizeBarSpaceWidth:{type:\"boolean\",default:!1,description:\"If true, the reader tries to normalize thewidth-difference between bars and spaces\"}},e.a=r},function(t,e,n){\"use strict\";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={CODE_FREQUENCY:{value:[[56,52,50,49,44,38,35,42,41,37],[7,11,13,14,19,25,28,21,22,26]]},STOP_PATTERN:{value:[1/6*7,1/6*7,1/6*7,1/6*7,1/6*7,1/6*7]},FORMAT:{value:\"upc_e\",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decodePayload=function(t,e,n){var r,o=this,i=0;for(r=0;r&lt;6;r++){if(!(t=o._decodeCode(t.end)))return null;t.code&gt;=o.CODE_G_START&amp;&amp;(t.code=t.code-o.CODE_G_START,i|=1&lt;&lt;5-r),e.push(t.code),n.push(t)}return o._determineParity(i,e)?t:null},r.prototype._determineParity=function(t,e){var n,r;for(r=0;r&lt;this.CODE_FREQUENCY.length;r++)for(n=0;n&lt;this.CODE_FREQUENCY[r].length;n++)if(t===this.CODE_FREQUENCY[r][n])return e.unshift(r),e.push(n),!0;return!1},r.prototype._convertToUPCA=function(t){var e=[t[0]],n=t[t.length-2];return e=n&lt;=2?e.concat(t.slice(1,3)).concat([n,0,0,0,0]).concat(t.slice(3,6)):3===n?e.concat(t.slice(1,4)).concat([0,0,0,0,0]).concat(t.slice(4,6)):4===n?e.concat(t.slice(1,5)).concat([0,0,0,0,0,t[5]]):e.concat(t.slice(1,6)).concat([0,0,0,0,n]),e.push(t[t.length-1]),e},r.prototype._checksum=function(t){return o.a.prototype._checksum.call(this,this._convertToUPCA(t))},r.prototype._findEnd=function(t,e){return e=!0,o.a.prototype._findEnd.call(this,t,e)},r.prototype._verifyTrailingWhitespace=function(t){var e,n=this;if((e=t.end+(t.end-t.start)/2)&lt;n._row.length&amp;&amp;n._matchRange(t.end,e,0))return t},e.a=r},function(t,e,n){\"use strict\";function r(t,e){o.a.call(this,t,e)}var o=n(4),i={FORMAT:{value:\"upc_a\",writeable:!1}};r.prototype=Object.create(o.a.prototype,i),r.prototype.constructor=r,r.prototype._decode=function(){var t=o.a.prototype._decode.call(this);return t&amp;&amp;t.code&amp;&amp;13===t.code.length&amp;&amp;\"0\"===t.code.charAt(0)?(t.code=t.code.substring(1),t):null},e.a=r},function(t,e){function n(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}t.exports=n},function(t,e){function n(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t}t.exports=n},function(t,e){function n(t,e){var n=e[0],r=e[1],o=e[2],i=e[3],a=n*i-o*r;return a?(a=1/a,t[0]=i*a,t[1]=-r*a,t[2]=-o*a,t[3]=n*a,t):null}t.exports=n},function(t,e){function n(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t}t.exports=n},function(t,e){function n(t,e,n){var r=e[0],o=e[1];return t[0]=n[0]*r+n[2]*o,t[1]=n[1]*r+n[3]*o,t}t.exports=n},function(t,e){function n(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}t.exports=n},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e&lt;n;){var r=t[e];this.set(r[0],r[1])}}var o=n(122),i=n(123),a=n(124),u=n(125),c=n(126);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=u,r.prototype.set=c,t.exports=r},function(t,e,n){function r(t){var e=this.__data__=new o(t);this.size=e.size}var o=n(10),i=n(149),a=n(150),u=n(151),c=n(152),s=n(153);r.prototype.clear=i,r.prototype.delete=a,r.prototype.get=u,r.prototype.has=c,r.prototype.set=s,t.exports=r},function(t,e,n){var r=n(5),o=r.Uint8Array;t.exports=o},function(t,e){function n(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}t.exports=n},function(t,e,n){function r(t,e){var n=a(t),r=!n&amp;&amp;i(t),f=!n&amp;&amp;!r&amp;&amp;u(t),d=!n&amp;&amp;!r&amp;&amp;!f&amp;&amp;s(t),h=n||r||f||d,p=h?o(t.length,String):[],v=p.length;for(var _ in t)!e&amp;&amp;!l.call(t,_)||h&amp;&amp;(\"length\"==_||f&amp;&amp;(\"offset\"==_||\"parent\"==_)||d&amp;&amp;(\"buffer\"==_||\"byteLength\"==_||\"byteOffset\"==_)||c(_,v))||p.push(_);return p}var o=n(107),i=n(18),a=n(2),u=n(44),c=n(15),s=n(45),f=Object.prototype,l=f.hasOwnProperty;t.exports=r},function(t,e){function n(t,e){for(var n=-1,r=null==t?0:t.length,o=Array(r);++n&lt;r;)o[n]=e(t[n],n,t);return o}t.exports=n},function(t,e){function n(t,e){for(var n=-1,r=e.length,o=t.length;++n&lt;r;)t[o+n]=e[n];return t}t.exports=n},function(t,e,n){var r=n(0),o=Object.create,i=function(){function t(){}return function(e){if(!r(e))return{};if(o)return o(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=i},function(t,e,n){function r(t,e,n,a,u){var c=-1,s=t.length;for(n||(n=i),u||(u=[]);++c&lt;s;){var f=t[c];e&gt;0&amp;&amp;n(f)?e&gt;1?r(f,e-1,n,a,u):o(u,f):a||(u[u.length]=f)}return u}var o=n(90),i=n(128);t.exports=r},function(t,e,n){var r=n(117),o=r();t.exports=o},function(t,e,n){function r(t,e){e=o(e,t);for(var n=0,r=e.length;null!=t&amp;&amp;n&lt;r;)t=t[i(e[n++])];return n&amp;&amp;n==r?t:void 0}var o=n(13),i=n(23);t.exports=r},function(t,e){function n(t,e){return null!=t&amp;&amp;e in Object(t)}t.exports=n},function(t,e,n){function r(t){return i(t)&amp;&amp;o(t)==a}var o=n(8),i=n(6),a=\"[object Arguments]\";t.exports=r},function(t,e,n){function r(t){return!(!a(t)||i(t))&amp;&amp;(o(t)?p:s).test(u(t))}var o=n(25),i=n(132),a=n(0),u=n(155),c=/[\\\\^$.*+?()[\\]{}|]/g,s=/^\\[object .+?Constructor\\]$/,f=Function.prototype,l=Object.prototype,d=f.toString,h=l.hasOwnProperty,p=RegExp(\"^\"+d.call(h).replace(c,\"\\\\$&amp;\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");t.exports=r},function(t,e,n){function r(t){return a(t)&amp;&amp;i(t.length)&amp;&amp;!!u[o(t)]}var o=n(8),i=n(26),a=n(6),u={};u[\"[object Float32Array]\"]=u[\"[object Float64Array]\"]=u[\"[object Int8Array]\"]=u[\"[object Int16Array]\"]=u[\"[object Int32Array]\"]=u[\"[object Uint8Array]\"]=u[\"[object Uint8ClampedArray]\"]=u[\"[object Uint16Array]\"]=u[\"[object Uint32Array]\"]=!0,u[\"[object Arguments]\"]=u[\"[object Array]\"]=u[\"[object ArrayBuffer]\"]=u[\"[object Boolean]\"]=u[\"[object DataView]\"]=u[\"[object Date]\"]=u[\"[object Error]\"]=u[\"[object Function]\"]=u[\"[object Map]\"]=u[\"[object Number]\"]=u[\"[object Object]\"]=u[\"[object RegExp]\"]=u[\"[object Set]\"]=u[\"[object String]\"]=u[\"[object WeakMap]\"]=!1,t.exports=r},function(t,e,n){function r(t){if(!o(t))return a(t);var e=i(t),n=[];for(var r in t)(\"constructor\"!=r||!e&amp;&amp;c.call(t,r))&amp;&amp;n.push(r);return n}var o=n(0),i=n(40),a=n(144),u=Object.prototype,c=u.hasOwnProperty;t.exports=r},function(t,e,n){function r(t,e,n,f,l){t!==e&amp;&amp;a(e,function(a,s){if(c(a))l||(l=new o),u(t,e,s,n,r,f,l);else{var d=f?f(t[s],a,s+\"\",t,e,l):void 0;void 0===d&amp;&amp;(d=a),i(t,s,d)}},s)}var o=n(85),i=n(35),a=n(93),u=n(101),c=n(0),s=n(46);t.exports=r},function(t,e,n){function r(t,e,n,r,y,m,x){var b=t[n],E=e[n],C=x.get(E);if(C)return void o(t,n,C);var O=m?m(b,E,n+\"\",t,e,x):void 0,A=void 0===O;if(A){var R=f(E),w=!R&amp;&amp;d(E),T=!R&amp;&amp;!w&amp;&amp;_(E);O=E,R||w||T?f(b)?O=b:l(b)?O=u(b):w?(A=!1,O=i(E,!0)):T?(A=!1,O=a(E,!0)):O=[]:v(E)||s(E)?(O=b,s(b)?O=g(b):(!p(b)||r&amp;&amp;h(b))&amp;&amp;(O=c(E))):A=!1}A&amp;&amp;(x.set(E,O),y(O,E,r,m,x),x.delete(E)),o(t,n,O)}var o=n(35),i=n(111),a=n(112),u=n(113),c=n(127),s=n(18),f=n(2),l=n(159),d=n(44),h=n(25),p=n(0),v=n(160),_=n(45),g=n(164);t.exports=r},function(t,e,n){function r(t,e){return o(t,e,function(e,n){return i(t,n)})}var o=n(103),i=n(158);t.exports=r},function(t,e,n){function r(t,e,n){for(var r=-1,u=e.length,c={};++r&lt;u;){var s=e[r],f=o(t,s);n(f,s)&amp;&amp;i(c,a(s,t),f)}return c}var o=n(94),i=n(105),a=n(13);t.exports=r},function(t,e,n){function r(t,e){return a(i(t,e,o),t+\"\")}var o=n(43),i=n(41),a=n(42);t.exports=r},function(t,e,n){function r(t,e,n,r){if(!u(t))return t;e=i(e,t);for(var s=-1,f=e.length,l=f-1,d=t;null!=d&amp;&amp;++s&lt;f;){var h=c(e[s]),p=n;if(s!=l){var v=d[h];p=r?r(v,h,d):void 0,void 0===p&amp;&amp;(p=u(v)?v:a(e[s+1])?[]:{})}o(d,h,p),d=d[h]}return t}var o=n(36),i=n(13),a=n(15),u=n(0),c=n(23);t.exports=r},function(t,e,n){var r=n(156),o=n(37),i=n(43),a=o?function(t,e){return o(t,\"toString\",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:i;t.exports=a},function(t,e){function n(t,e){for(var n=-1,r=Array(t);++n&lt;t;)r[n]=e(n);return r}t.exports=n},function(t,e,n){function r(t){if(\"string\"==typeof t)return t;if(a(t))return i(t,r)+\"\";if(u(t))return f?f.call(t):\"\";var e=t+\"\";return\"0\"==e&amp;&amp;1/t==-c?\"-0\":e}var o=n(11),i=n(89),a=n(2),u=n(27),c=1/0,s=o?o.prototype:void 0,f=s?s.toString:void 0;t.exports=r},function(t,e){function n(t){return function(e){return t(e)}}t.exports=n},function(t,e,n){function r(t){var e=new t.constructor(t.byteLength);return new o(e).set(new o(t)),e}var o=n(86);t.exports=r},function(t,e,n){(function(t){function r(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}var o=n(5),i=\"object\"==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,a=i&amp;&amp;\"object\"==typeof t&amp;&amp;t&amp;&amp;!t.nodeType&amp;&amp;t,u=a&amp;&amp;a.exports===i,c=u?o.Buffer:void 0,s=c?c.allocUnsafe:void 0;t.exports=r}).call(e,n(29)(t))},function(t,e,n){function r(t,e){var n=e?o(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var o=n(110);t.exports=r},function(t,e){function n(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n&lt;r;)e[n]=t[n];return e}t.exports=n},function(t,e,n){function r(t,e,n,r){var a=!n;n||(n={});for(var u=-1,c=e.length;++u&lt;c;){var s=e[u],f=r?r(n[s],t[s],s,n,t):void 0;void 0===f&amp;&amp;(f=t[s]),a?i(n,s,f):o(n,s,f)}return n}var o=n(36),i=n(21);t.exports=r},function(t,e,n){var r=n(5),o=r[\"__core-js_shared__\"];t.exports=o},function(t,e,n){function r(t){return o(function(e,n){var r=-1,o=n.length,a=o&gt;1?n[o-1]:void 0,u=o&gt;2?n[2]:void 0;for(a=t.length&gt;3&amp;&amp;\"function\"==typeof a?(o--,a):void 0,u&amp;&amp;i(n[0],n[1],u)&amp;&amp;(a=o&lt;3?void 0:a,o=1),e=Object(e);++r&lt;o;){var c=n[r];c&amp;&amp;t(e,c,r,a)}return e})}var o=n(104),i=n(129);t.exports=r},function(t,e){function n(t){return function(e,n,r){for(var o=-1,i=Object(e),a=r(e),u=a.length;u--;){var c=a[t?u:++o];if(n(i[c],c,i)===!1)break}return e}}t.exports=n},function(t,e,n){function r(t){return a(i(t,void 0,o),t+\"\")}var o=n(157),i=n(41),a=n(42);t.exports=r},function(t,e,n){function r(t){var e=a.call(t,c),n=t[c];try{t[c]=void 0;var r=!0}catch(t){}var o=u.call(t);return r&amp;&amp;(e?t[c]=n:delete t[c]),o}var o=n(11),i=Object.prototype,a=i.hasOwnProperty,u=i.toString,c=o?o.toStringTag:void 0;t.exports=r},function(t,e){function n(t,e){return null==t?void 0:t[e]}t.exports=n},function(t,e,n){function r(t,e,n){e=o(e,t);for(var r=-1,f=e.length,l=!1;++r&lt;f;){var d=s(e[r]);if(!(l=null!=t&amp;&amp;n(t,d)))break;t=t[d]}return l||++r!=f?l:!!(f=null==t?0:t.length)&amp;&amp;c(f)&amp;&amp;u(d,f)&amp;&amp;(a(t)||i(t))}var o=n(13),i=n(18),a=n(2),u=n(15),c=n(26),s=n(23);t.exports=r},function(t,e,n){function r(){this.__data__=o?o(null):{},this.size=0}var o=n(16);t.exports=r},function(t,e){function n(t){var e=this.has(t)&amp;&amp;delete this.__data__[t];return this.size-=e?1:0,e}t.exports=n},function(t,e,n){function r(t){var e=this.__data__;if(o){var n=e[t];return n===i?void 0:n}return u.call(e,t)?e[t]:void 0}var o=n(16),i=\"__lodash_hash_undefined__\",a=Object.prototype,u=a.hasOwnProperty;t.exports=r},function(t,e,n){function r(t){var e=this.__data__;return o?void 0!==e[t]:a.call(e,t)}var o=n(16),i=Object.prototype,a=i.hasOwnProperty;t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=o&amp;&amp;void 0===e?i:e,this}var o=n(16),i=\"__lodash_hash_undefined__\";t.exports=r},function(t,e,n){function r(t){return\"function\"!=typeof t.constructor||a(t)?{}:o(i(t))}var o=n(91),i=n(39),a=n(40);t.exports=r},function(t,e,n){function r(t){return a(t)||i(t)||!!(u&amp;&amp;t&amp;&amp;t[u])}var o=n(11),i=n(18),a=n(2),u=o?o.isConcatSpreadable:void 0;t.exports=r},function(t,e,n){function r(t,e,n){if(!u(n))return!1;var r=typeof e;return!!(\"number\"==r?i(n)&amp;&amp;a(e,n.length):\"string\"==r&amp;&amp;e in n)&amp;&amp;o(n[e],t)}var o=n(17),i=n(24),a=n(15),u=n(0);t.exports=r},function(t,e,n){function r(t,e){if(o(t))return!1;var n=typeof t;return!(\"number\"!=n&amp;&amp;\"symbol\"!=n&amp;&amp;\"boolean\"!=n&amp;&amp;null!=t&amp;&amp;!i(t))||(u.test(t)||!a.test(t)||null!=e&amp;&amp;t in Object(e))}var o=n(2),i=n(27),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,u=/^\\w*$/;t.exports=r},function(t,e){function n(t){var e=typeof t;return\"string\"==e||\"number\"==e||\"symbol\"==e||\"boolean\"==e?\"__proto__\"!==t:null===t}t.exports=n},function(t,e,n){function r(t){return!!i&amp;&amp;i in t}var o=n(115),i=function(){var t=/[^.]+$/.exec(o&amp;&amp;o.keys&amp;&amp;o.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}();t.exports=r},function(t,e){function n(){this.__data__=[],this.size=0}t.exports=n},function(t,e,n){function r(t){var e=this.__data__,n=o(e,t);return!(n&lt;0)&amp;&amp;(n==e.length-1?e.pop():a.call(e,n,1),--this.size,!0)}var o=n(12),i=Array.prototype,a=i.splice;t.exports=r},function(t,e,n){function r(t){var e=this.__data__,n=o(e,t);return n&lt;0?void 0:e[n][1]}var o=n(12);t.exports=r},function(t,e,n){function r(t){return o(this.__data__,t)&gt;-1}var o=n(12);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r&lt;0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(12);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(84),i=n(10),a=n(33);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(14);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(14);t.exports=r},function(t,e,n){function r(t){var e=o(t,function(t){return n.size===i&amp;&amp;n.clear(),t}),n=e.cache;return e}var o=n(161),i=500;t.exports=r},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(38),o=\"object\"==typeof e&amp;&amp;e&amp;&amp;!e.nodeType&amp;&amp;e,i=o&amp;&amp;\"object\"==typeof t&amp;&amp;t&amp;&amp;!t.nodeType&amp;&amp;t,a=i&amp;&amp;i.exports===o,u=a&amp;&amp;r.process,c=function(){try{return u&amp;&amp;u.binding&amp;&amp;u.binding(\"util\")}catch(t){}}();t.exports=c}).call(e,n(29)(t))},function(t,e){function n(t){return o.call(t)}var r=Object.prototype,o=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t){var e=0,n=0;return function(){var a=i(),u=o-(a-n);if(n=a,u&gt;0){if(++e&gt;=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(){this.__data__=new o,this.size=0}var o=n(10);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length&lt;u-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new a(r)}return n.set(t,e),this.size=n.size,this}var o=n(10),i=n(33),a=n(34),u=200;t.exports=r},function(t,e,n){var r=n(143),o=/^\\./,i=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,u=r(function(t){var e=[];return o.test(t)&amp;&amp;e.push(\"\"),t.replace(i,function(t,n,r,o){e.push(r?o.replace(a,\"$1\"):n||t)}),e});t.exports=u},function(t,e){function n(t){if(null!=t){try{return o.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}var r=Function.prototype,o=r.toString;t.exports=n},function(t,e){function n(t){return function(){return t}}t.exports=n},function(t,e,n){function r(t){return(null==t?0:t.length)?o(t,1):[]}var o=n(92);t.exports=r},function(t,e,n){function r(t,e){return null!=t&amp;&amp;i(t,e,o)}var o=n(95),i=n(121);t.exports=r},function(t,e,n){function r(t){return i(t)&amp;&amp;o(t)}var o=n(24),i=n(6);t.exports=r},function(t,e,n){function r(t){if(!a(t)||o(t)!=u)return!1;var e=i(t);if(null===e)return!0;var n=l.call(e,\"constructor\")&amp;&amp;e.constructor;return\"function\"==typeof n&amp;&amp;n instanceof n&amp;&amp;f.call(n)==d}var o=n(8),i=n(39),a=n(6),u=\"[object Object]\",c=Function.prototype,s=Object.prototype,f=c.toString,l=s.hasOwnProperty,d=f.call(Object);t.exports=r},function(t,e,n){function r(t,e){if(\"function\"!=typeof t||null!=e&amp;&amp;\"function\"!=typeof e)throw new TypeError(i);var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(r.Cache||o),n}var o=n(34),i=\"Expected a function\";r.Cache=o,t.exports=r},function(t,e,n){var r=n(102),o=n(118),i=o(function(t,e){return null==t?{}:r(t,e)});t.exports=i},function(t,e){function n(){return!1}t.exports=n},function(t,e,n){function r(t){return o(t,i(t))}var o=n(114),i=n(46);t.exports=r},function(t,e,n){function r(t){return null==t?\"\":o(t)}var o=n(108);t.exports=r},function(t,e,n){t.exports=n(48)}])});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-16 16:56:05&lt;/sys_created_on&gt;&lt;sys_id&gt;e15d7a0fdb1bb60086da7d5e0f9619c8&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;QuaggaJS&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_e15d7a0fdb1bb60086da7d5e0f9619c8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-21 15:54:02&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-340765917</payload_hash>\n<remote_update_set display_value=\"pe-barcode-reader-fi.u-update-set.xml\">fc5efe5adb158300aa80d49fdf9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>f45efe5adb158300aa80d49fdf9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ea5255d7c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<table/>\n<target_name>QuaggaJS</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>6b61961a4bd1830016885b8065a87156</update_guid>\n<update_guid_history>6b61961a4bd1830016885b8065a87156:-340765917,a9de3dbc7c77f200511b5684871dd405:-2142191487,98def9bca277f2009c94e2f8d8ed4f23:-95082479,c11f41a347af32006c062e9cc9e0aa35:-2142191487,-861903234:-861903234</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_60acc175db554300aa80d49fdf9619c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"QuaggaJS\">8c4a0defdb6f320086da7d5e0f961998</sp_dependency><sp_widget display_value=\"Barcode Reader\">8f2941efdb6f320086da7d5e0f9619ef</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-19 21:36:30</sys_created_on><sys_id>60acc175db554300aa80d49fdf9619c1</sys_id><sys_mod_count>2</sys_mod_count><sys_name>QuaggaJS.Barcode Reader</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_60acc175db554300aa80d49fdf9619c1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-21 15:42:08</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1614327879</payload_hash>\n<remote_update_set display_value=\"pe-barcode-reader-fi.u-update-set.xml\">fc5efe5adb158300aa80d49fdf9619c9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-21 19:10:11</sys_created_on>\n<sys_id>f85efe5adb158300aa80d49fdf9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ea51a75200000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-21 19:10:11</sys_updated_on>\n<table/>\n<target_name>QuaggaJS.Barcode Reader</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>05be06d6cfd18300dea4c2c0f440a5cf</update_guid>\n<update_guid_history>05be06d6cfd18300dea4c2c0f440a5cf:-1614327879,ffae06d611d18300470a419b1052d481:509792687,a8acc175b4554300131fe4f41fd190c2:-102149017</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-barcode-reader-fi/widget/pe-barcode-reader-fi.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"barcode\">\n    <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 1000 1000\"\n      enable-background=\"new 0 0 1000 1000\" xml:space=\"preserve\">\n      <g>\n        <path d=\"M206,206h-65.3v588H206h65.3V206H206z M794,206h-65.3v588H794h65.3V206H794z M990,794V206h-65.3v588H990z M598,794V206h-65.3v588H598z M402,206h-65.3v588H402h65.3V206H402z M75.3,794V206H10v588H75.3z\"\n        />\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<div class=\"container-fluid\">\n  <div class=\"row\">\n    <div class=\"col-md-12\">\n      <h5>{{c.title}}</h5>\n    </div>\n    <div class=\"col-md-12\">\n      <div class=\"input-group\">\n        <span class=\"input-group-addon\" id=\"search-input\"><i class=\"glyphicon glyphicon-search\"></i></span>\n        <input type=\"text\" aria-describedby=\"search-input\" class=\"form-control\" placeholder=\"Type or Number Of The Machine\" ng-model=\"c.barcode\"\n          ng-change=\"c.searchUpdate(c.barcode)\">\n      </div>\n      <div class=\"element-container\">\n      <ul id=\"results\" class=\"results\">\n        <li ng-repeat=\"item in c.data.resultProducts\">\n          <a href=\"javascript:void(0)\" ng-click=\"c.hideResult(item)\">\n            {{item.label}}<br/>\n            <span>{{item.lookup_value}}</span><br/>\n            <small ng-repeat=\"f in item.secondary_fields\">\n            <span ng-if=\"!$first\"> • </span>\n            <span ng-switch=\"f.type\" title=\"{{::f.label}}\">\n              <span ng-switch-when=\"glide_date\"><sn-time-ago timestamp=\"::f.value\" /></span>\n              <span ng-switch-when=\"glide_date_time\"><sn-time-ago timestamp=\"::f.value\" /></span>\n              <span ng-switch-default=\"\">{{f.display_value}}</span>\n            </span>\n          </small>\n\n          </a>\n\n        </li>\n      </ul>\n      </div>\n    </div>\n    <div class=\"col-md-12 ndl-alert\" ng-show=\"c.callbackBarcode.warningText.length>0\">\n      {{c.callbackBarcode.warningText}}\n    </div>\n    <div class=\"col-md-12 ndl-main-section ndl-center\">\n      <svg viewBox=\"0 0 33 33\" width=\"200px\" height=\"150px\">\n        <use xlink:href=\"#barcode\"></use>\n      </svg>\n      <div>\n        <div class=\"form-group\">\n          <label for=\"file-upload\" class=\"custom-file-upload\">Scan Barcode</label>\n          <input class=\"btn btn-default ndl-center\" id=\"file-upload\" type=\"file\" accept=\"image/*;capture=camera\" />\n        </div>\n        <div ng-show=\"result\">\n          <div id=\"result_strip\">\n            <ul class=\"thumbnails\"></ul>\n          </div>\n        </div>\n        <div id=\"interactive\" class=\"viewport\" ng-show=\"result\" ng-click=\"c.selectBarcode(result.codeResult.code)\"></div>\n        <div id=\"debug\" class=\"detection\" ng-show=\"result\"></div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-barcode-reader-fi/widget/pe-barcode-reader-fi.u-client-script.js",
    "content": "function BarcodeReaderFiController($scope, $window) {\n  /* widget controller */\n  var c = this;\n  c.title = 'Barcode reader Title';\n\n  c.data.products = [];\n  c.callbackBarcode = {};\n  c.callbackBarcode.warningText = '';\n\n  c.getBarcode = function (input) {\n    if (input) {\n      if (input.codeResult) {\n\n        c.callbackBarcode = {};\n        c.callbackBarcode.warningText = '';\n        c.callbackBarcode = input;\n        //lockup\n        c.getProductModel(input.codeResult.code, true);\n\n      } else {\n        c.callbackBarcode = {};\n        c.callbackBarcode.warningText = 'The barcode was not aquired, please enter it manually';\n      }\n    }\n  };\n  c.searchUpdate = function (input) {\n    c.callbackBarcode.warningText = '';\n    if (input.length >= 3) {\n\n      c.getProductModel(input, false);\n      c.data.resultProducts = c.data.products;\n    } else\n      c.data.resultProducts = [];\n  };\n\n  c.getProductModel = function (code, auto) {\n    c.server.get({\n      barcode: code\n    }).then(function (response) {\n\n      if (response.data.products.length > 0) {\n        c.data.products = response.data.products;\n        if (auto == false)\n          c.data.resultProducts = c.data.products;\n\n        console.log(c.data.products);\n        return c.data.products;\n      } else {\n        c.data.resultProducts = [];\n      }\n    });\n  }\n\n  c.selectBarcode = function (code) {\n    if (code) {\n      console.log('barcode selected', code);\n    }\n  };\n\n  c.hideResult = function (item) {\n    if (item) {\n      document.getElementById('results').style.display = 'none';\n      document.getElementById('results').style.borderWidth = '0px';\n    }\n  };\n\n  if (!$scope.readers) {\n    $scope.readers = [{\n      format: 'code_128_reader',\n      config: {}\n    }];\n  }\n  if (!$scope.patchSize)\n    $scope.patchSize = 'large';\n  if (!$scope.size)\n    $scope.size = '800';\n  var multiple = false;\n  if ($scope.readers.length > 1)\n    multiple = true;\n  c.input_properties = {\n    'inputStream': {\n      'size': $scope.size,\n      'singleChannel': false\n    },\n    'locator': {\n      'patchSize': $scope.patchSize,\n      'halfSample': true\n    },\n    'decoder': {\n      readers: $scope.readers,\n      multiple: false\n    },\n    'locate': true,\n    'src': null\n  };\n\n  console.log('QuaggaJS config used: ', c.input_properties);\n\n  var App = {\n    init: function () {\n      App.attachListeners();\n    },\n    attachListeners: function () {\n      var self = this;\n      $('.form-group input[type=file]').on('change', function (e) {\n        if (e.target.files && e.target.files.length) {\n          App.decode(URL.createObjectURL(e.target.files[0]));\n        }\n      });\n    },\n    _accessByPath: function (obj, path, val) {\n      var parts = path.split('.'),\n        depth = parts.length,\n        setter = (typeof val !== 'undefined') ? true : false;\n      return parts.reduce(function (o, key, i) {\n        if (setter && (i + 1) === depth) {\n          o[key] = val;\n        }\n        return key in o ? o[key] : {};\n      }, obj);\n    },\n    _convertNameToState: function (name) {\n      return name.replace('_', '.').split('-').reduce(function (result, value) {\n        return result + value.charAt(0).toUpperCase() + value.substring(1);\n      });\n    },\n    detachListeners: function () {\n      $('.form-group input[type=file]').off('change');\n    },\n    decode: function (src) {\n      var self = this,\n        config = $.extend({}, self.state, {\n          src: src\n        });\n      Quagga.decodeSingle(config, function (result) {\n        if (!result.codeResult) {\n          console.log('QuaggaJS barcode not aquired ', result);\n          c.getBarcode(result);\n\n\n        }\n      });\n    },\n    inputMapper: {\n      inputStream: {\n        size: function (value) {\n          return parseInt(value);\n        }\n      },\n      numOfWorkers: function (value) {\n        return parseInt(value);\n      },\n      decoder: {\n        readers: function (value) {\n          if (value === 'ean_extended') {\n            return [{\n              format: 'ean_reader',\n              config: {\n                supplements: [\n                  'ean_5_reader', 'ean_2_reader'\n                ]\n              }\n            }];\n          }\n          return [{\n            format: value + '_reader',\n            config: {}\n          }];\n        }\n      }\n    },\n    state: c.input_properties\n  };\n\n  App.init();\n\n  function calculateRectFromArea(canvas, area) {\n    var canvasWidth = canvas.width,\n      canvasHeight = canvas.height,\n      top = parseInt(area.top) / 100,\n      right = parseInt(area.right) / 100,\n      bottom = parseInt(area.bottom) / 100,\n      left = parseInt(area.left) / 100;\n    top *= canvasHeight;\n    right = canvasWidth - canvasWidth * right;\n    bottom = canvasHeight - canvasHeight * bottom;\n    left *= canvasWidth;\n    return {\n      x: left,\n      y: top,\n      width: right - left,\n      height: bottom - top\n    };\n  }\n  Quagga.onProcessed(function (result) {\n    var drawingCtx = Quagga.canvas.ctx.overlay,\n      drawingCanvas = Quagga.canvas.dom.overlay,\n      area;\n    if (result) {\n      if (result.boxes) {\n        drawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute('width')), parseInt(drawingCanvas.getAttribute('height')));\n        result.boxes.filter(function (box) {\n          return box !== result.box;\n        }).forEach(function (box) {\n          Quagga.ImageDebug.drawPath(box, {\n            x: 0,\n            y: 1\n          }, drawingCtx, {\n              color: 'green',\n              lineWidth: 2\n            });\n        });\n      }\n      if (result.box) {\n        Quagga.ImageDebug.drawPath(result.box, {\n          x: 0,\n          y: 1\n        }, drawingCtx, {\n            color: '#00F',\n            lineWidth: 2\n          });\n      }\n      if (result.codeResult && result.codeResult.code) {\n        Quagga.ImageDebug.drawPath(result.line, {\n          x: 'x',\n          y: 'y'\n        }, drawingCtx, {\n            color: 'red',\n            lineWidth: 3\n          });\n      }\n      if (App.state.inputStream.area) {\n        area = calculateRectFromArea(drawingCanvas, App.state.inputStream.area);\n        drawingCtx.strokeStyle = '#0F0';\n        drawingCtx.strokeRect(area.x, area.y, area.width, area.height);\n      }\n    }\n  });\n  Quagga.onDetected(function (result) {\n    var $node, code = result.codeResult.code,\n      canvas = Quagga.canvas.dom.image;\n    code = code.trim();\n    console.log('QuaggaJS detected code: ', code);\n    var array = [];\n    array.push(result);\n    result = {};\n    result = array[0];\n    result.canvas = canvas;\n    result.mainCanvas = Quagga.canvas;\n    result.canvasURL = canvas.toDataURL();\n    $scope.result = result;\n\n    $node = $('<li><div class=\"thumbnail\"><div class=\"imgWrapper\"><img /></div><div class=\"caption\"><h4 class=\"code\"></h4></div></div></li>');\n    $node.find(\"img\").attr(\"src\", canvas.toDataURL());\n    $node.find(\"h4.code\").html(code);\n    $(\"#result_strip ul.thumbnails\").prepend($node);\n\n    c.getBarcode(result);\n  });\n}"
  },
  {
    "path": "pe-barcode-reader-fi/widget/pe-barcode-reader-fi.u-css.scss",
    "content": "input[type=\"file\"] {\n  display: none;\n}\n\n.custom-file-upload {\n  display: inline-block;\n  cursor: pointer;\n  background-color: $gray-lighter;\n  border-radius: 4px;\n  height: 42px;\n  border: 0px;\n  width: 200px;\n  padding-top: 10px;\n  text-align: center;\n}\n\n.element-container input:focus+.results {\n  display: block\n}\n\n.element-container .results {\n  position: absolute;\n  top: 38px;\n  left: 0;\n  right: 0;\n  z-index: 10;\n  padding: 0;\n  margin: 0;\n  border-width: 0px;\n  border-style: solid;\n  border-color: #cbcfe2 #c8cee7 #c4c7d7;\n  border-radius: 4px;\n  background-color: $gray-lighter;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -ms-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.results-hide {\n  display: none;\n}\n\n.element-container .results li {\n  display: block\n}\n\n.element-container .results li:first-child {\n  margin-top: -1px\n}\n\n.element-container .results li:first-child:before,\n.element-container .results li:first-child:after {\n  display: block;\n  content: '';\n  width: 0;\n  height: 0;\n  position: absolute;\n  left: 50%;\n  margin-left: -5px;\n  border: 5px outset transparent;\n}\n\n.element-container .results li:first-child:before {\n  border-bottom: 5px solid #c4c7d7;\n  top: -11px;\n}\n\n.element-container .results li:first-child:after {\n  border-bottom: 5px solid #fdfdfd;\n  top: -10px;\n}\n\n.element-container .results li:first-child:hover:before,\n.element-container .results li:first-child:hover:after {\n  display: none\n}\n\n.element-container .results li:last-child {\n  margin-bottom: -1px\n}\n\n.element-container .results a {\n  display: block;\n  position: relative;\n  margin: 0 -1px;\n  padding: 6px 40px 6px 10px;\n  font-weight: 500;\n  text-shadow: 0 1px #fff;\n  border: 1px solid transparent;\n  border-radius: 3px;\n}\n\n.element-container .results a:before {\n  content: '';\n  width: 18px;\n  height: 18px;\n  position: absolute;\n  top: 50%;\n  right: 10px;\n  margin-top: -9px;\n}\n\n.element-container .results a:hover {\n  text-decoration: none;\n  color: #fff;\n  text-shadow: 0 -1px rgba(0, 0, 0, 0.3);\n  border-color: $brand-primary;\n  background-color: $brand-primary;\n}\n\n.ndl-alert {\n  color: $brand-warning;\n}\n\n#interactive.viewport {\n  width: 640px;\n  height: auto;\n}\n\n#interactive.viewport canvas,\nvideo {\n  float: left;\n  width: 640px;\n  height: auto;\n}\n\n#interactive.viewport canvas.drawingBuffer,\nvideo.drawingBuffer {\n  margin-left: -640px;\n}\n\n#result_strip {\n  margin: 10px 0;\n  border-top: 1px solid #EEE;\n  border-bottom: 1px solid #EEE;\n  padding: 10px 0;\n}\n\n#result_strip>ul {\n  padding: 0;\n  margin: 5px;\n  list-style-type: none;\n  width: auto;\n  overflow-x: auto;\n  overflow-y: hidden;\n  white-space: nowrap;\n}\n\n#result_strip>ul>li {\n  display: inline-block;\n  vertical-align: middle;\n  width: 160px;\n}\n\n#result_strip>ul>li .thumbnail {\n  padding: 5px;\n  margin: 4px;\n  border: 1px dashed #CCC;\n}\n\n#result_strip>ul>li .thumbnail img {\n  max-width: 140px;\n}\n\n#result_strip>ul>li .thumbnail .caption {\n  white-space: normal;\n}\n\n#result_strip>ul>li .thumbnail .caption h4 {\n  text-align: center;\n  word-wrap: break-word;\n  height: 40px;\n  margin: 0px;\n}\n\n#result_strip>ul:after {\n  content: \"\";\n  display: table;\n  clear: both;\n}\n\n@media (max-width: 603px) {\n  #interactive.viewport {\n    width: 300px;\n    height: 300px;\n    overflow: hidden;\n    margin: auto;\n  }\n  #interactive.viewport canvas,\n  video {\n    margin-top: -50px;\n    width: 300px;\n    height: 400px;\n  }\n  #interactive.viewport canvas.drawingBuffer,\n  video.drawingBuffer {\n    margin-left: -300px;\n  }\n  #result_strip {\n    margin-top: 5px;\n    padding-top: 5px;\n  }\n  #result_strip ul.thumbnails>li {\n    width: 150px;\n  }\n  #result_strip ul.thumbnails>li .thumbnail .imgWrapper {\n    width: 130px;\n    height: 130px;\n    overflow: hidden;\n  }\n  #result_strip ul.thumbnails>li .thumbnail .imgWrapper img {\n    margin-top: -25px;\n    width: 130px;\n    height: 180px;\n  }\n}\n\n.ndl-center {\n  margin: auto;\n  text-align: center;\n}"
  },
  {
    "path": "pe-barcode-reader-fi/widget/pe-barcode-reader-fi.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.flagthumbnails = true;\n  data.flagpreview = true;\n\n  if (input) {\n    data.table = input.table || options.table;\n    data.display_field = input.display_field || options.display_field;\n    data.lookup_field = input.lookup_field || options.lookup_field;\n    options.secondary_fields = options.secondary_fields || \"\";\n\n    data.barcode = input.barcode;\n    if (data.barcode)\n      data.barcode = data.barcode.trim();\n\n    data.products = [];\n\n    var ret = new GlideRecord(data.table);\n    ret.addQuery(data.lookup_field, 'CONTAINS', data.barcode);\n    ret.query();\n    var temp = {};\n    while (ret.next()) {\n      temp = {};\n      temp.sys_id = ret.getUniqueValue();\n      temp.label = ret.getDisplayValue(data.display_field);\n      temp.lookup_value = ret.getDisplayValue(data.lookup_field);\n      temp.secondary_fields = $sp.getFields(ret, options.secondary_fields);\n\n      data.products.push(temp);\n    }\n\n  }\n\n})();"
  },
  {
    "path": "pe-barcode-reader-live/README.md",
    "content": "# Barcode Reader Live (livestream)\n\n## Description\n\nThis widget can be used to read a bar code in different formats or to manually enter it, providing a backend lookup just specifying table name and lookup column in the options.\nThere is no need to locally save any pictures, because the reading is managed through live streaming (on mobile and desktop).\n\n## Screenshots\n![alt text](../images/pe-barcode-reader-live-01.png \"Barcode Reader - After scanning code\") <br/><br/>\n![alt text](../images/pe-barcode-reader-live-02.png \"Barcode Reader - After scanning code\") <br/><br/>\n![alt text](../images/pe-barcode-reader-live-03.gif \"Barcode Reader - Demo video\") <br/><br/>\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-barcode-reader-live.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-barcode-reader-live/pe-barcode-reader-live.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n\nWidget Option Schema parameters:\n\n**\"Table\"**  the table containing the products/items to search for<br/>\n**\"Display field\"**  the column name with the value to display on UI<br/>\n**\"Lookup field\"**  the column name containing the barcode<br/>\n**\"Additional fields\"**  additional columns to display on UI<br/>\n**\"Barcode standard\"**  additional columns to display on UI<br/>\n**\"Title\"**  title at the top<br/>\n**\"Placeholder\"**  text showed in the manual lookup field<br/>\n**\"Action label\"**  button to start scanning the code<br/>\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n* QuaggaJS <br/>\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal style configuration to make it easy to customize.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-barcode-reader-live/pe-barcode-reader-live.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-10-16 12:02:46\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>barcode-reader-live</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>37428adadbf1c3004e5cfa131f9619bb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>0b3c8ededbf1c3004e5cfa131f96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_a64bc4b0dbb9030086da7d5e0f961913</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>QuaggaJS</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-10-11 10:49:29</sys_created_on><sys_id>a64bc4b0dbb9030086da7d5e0f961913</sys_id><sys_mod_count>2</sys_mod_count><sys_name>QuaggaJS</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"QuaggaJS\">f74bc4b0dbb9030086da7d5e0f961954</sys_ui_script><sys_update_name>sp_js_include_a64bc4b0dbb9030086da7d5e0f961913</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-10-16 11:22:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1059238001</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>033c8ededbf1c3004e5cfa131f96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24ec2c1a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>QuaggaJS</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>1823821e11f1c3003d452d3e5a92e190</update_guid>\n<update_guid_history>1823821e11f1c3003d452d3e5a92e190:1059238001,1313821e08f1c300c7b29e758faa738e:-1851972685,898b08b096b903009348d94ec290c7b4:1059238001</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a135d3d1dbf943004e5cfa131f9619fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>1</order><sp_dependency display_value=\"QuaggaJS\">0e2b84b0dbb9030086da7d5e0f961912</sp_dependency><sp_js_include display_value=\"webrtc\">a025d3d1dbf943004e5cfa131f96191a</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-10-13 14:47:40</sys_created_on><sys_id>a135d3d1dbf943004e5cfa131f9619fd</sys_id><sys_mod_count>4</sys_mod_count><sys_name>QuaggaJS.webrtc</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a135d3d1dbf943004e5cfa131f9619fd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-10-16 11:22:27</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1330061634</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>073c8ededbf1c3004e5cfa131f96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24ebb1ec0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>QuaggaJS.webrtc</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>2403021e75f1c30015d4b16b7c75c8fd</update_guid>\n<update_guid_history>2403021e75f1c30015d4b16b7c75c8fd:-1330061634,e7e2ceda1ef1c3005e9897ce4ea9c5a2:195660846,41d6d71519f94300ba28309b7bc44d22:242124850,973517d11af94300cf4783275918cb02:-465228323,e535d3d1eaf9430027047b1bbc4031fe:248417470</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_858b08b0dbb9030086da7d5e0f9619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"QuaggaJS\">0e2b84b0dbb9030086da7d5e0f961912</sp_dependency><sp_js_include display_value=\"QuaggaJS\">a64bc4b0dbb9030086da7d5e0f961913</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-10-11 10:49:29</sys_created_on><sys_id>858b08b0dbb9030086da7d5e0f9619b5</sys_id><sys_mod_count>2</sys_mod_count><sys_name>QuaggaJS.QuaggaJS</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_858b08b0dbb9030086da7d5e0f9619b5</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-10-16 11:22:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1571433709</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>0f3c8ededbf1c3004e5cfa131f96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24ebfda30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>QuaggaJS.QuaggaJS</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>1113821e76f1c300f49ec538034f1d14</update_guid>\n<update_guid_history>1113821e76f1c300f49ec538034f1d14:-1571433709,68f2021e0cf1c3005a62a4587428a10b:-1847397241,898b08b0c5b903002a6c944b674a4eb6:-1571433709</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_a025d3d1dbf943004e5cfa131f96191a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>webrtc</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-10-13 14:47:40</sys_created_on><sys_id>a025d3d1dbf943004e5cfa131f96191a</sys_id><sys_mod_count>2</sys_mod_count><sys_name>webrtc</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"webrtc\">3925d3d1dbf943004e5cfa131f961976</sys_ui_script><sys_update_name>sp_js_include_a025d3d1dbf943004e5cfa131f96191a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-10-16 11:24:38</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1025764269</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>4f3c8ededbf1c3004e5cfa131f96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24edb43d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>webrtc</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>3483061e62f1c300f68a691a0f68e5de</update_guid>\n<update_guid_history>3483061e62f1c300f68a691a0f68e5de:-1025764269,b773461e4df1c300188a315ad2002b87:-1326669451,a535d3d1fbf94300b573c2c05de6b0fc:-1025764269</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3925d3d1dbf943004e5cfa131f961976</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;webrtc&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function(f){if(typeof exports===\"object\"&amp;&amp;typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&amp;&amp;define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.adapter = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&amp;&amp;require;if(!u&amp;&amp;a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&amp;&amp;require;for(var o=0;o&lt;r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n/*\n *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar SDPUtils = require('sdp');\n\nfunction writeMediaSection(transceiver, caps, type, stream, dtlsRole) {\n  var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n  // Map ICE parameters (ufrag, pwd) to SDP.\n  sdp += SDPUtils.writeIceParameters(\n      transceiver.iceGatherer.getLocalParameters());\n\n  // Map DTLS parameters to SDP.\n  sdp += SDPUtils.writeDtlsParameters(\n      transceiver.dtlsTransport.getLocalParameters(),\n      type === 'offer' ? 'actpass' : dtlsRole || 'active');\n\n  sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n  if (transceiver.direction) {\n    sdp += 'a=' + transceiver.direction + '\\r\\n';\n  } else if (transceiver.rtpSender &amp;&amp; transceiver.rtpReceiver) {\n    sdp += 'a=sendrecv\\r\\n';\n  } else if (transceiver.rtpSender) {\n    sdp += 'a=sendonly\\r\\n';\n  } else if (transceiver.rtpReceiver) {\n    sdp += 'a=recvonly\\r\\n';\n  } else {\n    sdp += 'a=inactive\\r\\n';\n  }\n\n  if (transceiver.rtpSender) {\n    // spec.\n    var msid = 'msid:' + stream.id + ' ' +\n        transceiver.rtpSender.track.id + '\\r\\n';\n    sdp += 'a=' + msid;\n\n    // for Chrome.\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n        ' ' + msid;\n    if (transceiver.sendEncodingParameters[0].rtx) {\n      sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n          ' ' + msid;\n      sdp += 'a=ssrc-group:FID ' +\n          transceiver.sendEncodingParameters[0].ssrc + ' ' +\n          transceiver.sendEncodingParameters[0].rtx.ssrc +\n          '\\r\\n';\n    }\n  }\n  // FIXME: this should be written by writeRtpDescription.\n  sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n      ' cname:' + SDPUtils.localCName + '\\r\\n';\n  if (transceiver.rtpSender &amp;&amp; transceiver.sendEncodingParameters[0].rtx) {\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n        ' cname:' + SDPUtils.localCName + '\\r\\n';\n  }\n  return sdp;\n}\n\n// Edge does not like\n// 1) stun: filtered after 14393 unless ?transport=udp is present\n// 2) turn: that does not have all of turn:host:port?transport=udp\n// 3) turn: with ipv6 addresses\n// 4) turn: occurring muliple times\nfunction filterIceServers(iceServers, edgeVersion) {\n  var hasTurn = false;\n  iceServers = JSON.parse(JSON.stringify(iceServers));\n  return iceServers.filter(function(server) {\n    if (server &amp;&amp; (server.urls || server.url)) {\n      var urls = server.urls || server.url;\n      if (server.url &amp;&amp; !server.urls) {\n        console.warn('RTCIceServer.url is deprecated! Use urls instead.');\n      }\n      var isString = typeof urls === 'string';\n      if (isString) {\n        urls = [urls];\n      }\n      urls = urls.filter(function(url) {\n        var validTurn = url.indexOf('turn:') === 0 &amp;&amp;\n            url.indexOf('transport=udp') !== -1 &amp;&amp;\n            url.indexOf('turn:[') === -1 &amp;&amp;\n            !hasTurn;\n\n        if (validTurn) {\n          hasTurn = true;\n          return true;\n        }\n        return url.indexOf('stun:') === 0 &amp;&amp; edgeVersion &gt;= 14393 &amp;&amp;\n            url.indexOf('?transport=udp') === -1;\n      });\n\n      delete server.url;\n      server.urls = isString ? urls[0] : urls;\n      return !!urls.length;\n    }\n    return false;\n  });\n}\n\n// Determines the intersection of local and remote capabilities.\nfunction getCommonCapabilities(localCapabilities, remoteCapabilities) {\n  var commonCapabilities = {\n    codecs: [],\n    headerExtensions: [],\n    fecMechanisms: []\n  };\n\n  var findCodecByPayloadType = function(pt, codecs) {\n    pt = parseInt(pt, 10);\n    for (var i = 0; i &lt; codecs.length; i++) {\n      if (codecs[i].payloadType === pt ||\n          codecs[i].preferredPayloadType === pt) {\n        return codecs[i];\n      }\n    }\n  };\n\n  var rtxCapabilityMatches = function(lRtx, rRtx, lCodecs, rCodecs) {\n    var lCodec = findCodecByPayloadType(lRtx.parameters.apt, lCodecs);\n    var rCodec = findCodecByPayloadType(rRtx.parameters.apt, rCodecs);\n    return lCodec &amp;&amp; rCodec &amp;&amp;\n        lCodec.name.toLowerCase() === rCodec.name.toLowerCase();\n  };\n\n  localCapabilities.codecs.forEach(function(lCodec) {\n    for (var i = 0; i &lt; remoteCapabilities.codecs.length; i++) {\n      var rCodec = remoteCapabilities.codecs[i];\n      if (lCodec.name.toLowerCase() === rCodec.name.toLowerCase() &amp;&amp;\n          lCodec.clockRate === rCodec.clockRate) {\n        if (lCodec.name.toLowerCase() === 'rtx' &amp;&amp;\n            lCodec.parameters &amp;&amp; rCodec.parameters.apt) {\n          // for RTX we need to find the local rtx that has a apt\n          // which points to the same local codec as the remote one.\n          if (!rtxCapabilityMatches(lCodec, rCodec,\n              localCapabilities.codecs, remoteCapabilities.codecs)) {\n            continue;\n          }\n        }\n        rCodec = JSON.parse(JSON.stringify(rCodec)); // deepcopy\n        // number of channels is the highest common number of channels\n        rCodec.numChannels = Math.min(lCodec.numChannels,\n            rCodec.numChannels);\n        // push rCodec so we reply with offerer payload type\n        commonCapabilities.codecs.push(rCodec);\n\n        // determine common feedback mechanisms\n        rCodec.rtcpFeedback = rCodec.rtcpFeedback.filter(function(fb) {\n          for (var j = 0; j &lt; lCodec.rtcpFeedback.length; j++) {\n            if (lCodec.rtcpFeedback[j].type === fb.type &amp;&amp;\n                lCodec.rtcpFeedback[j].parameter === fb.parameter) {\n              return true;\n            }\n          }\n          return false;\n        });\n        // FIXME: also need to determine .parameters\n        //  see https://github.com/openpeer/ortc/issues/569\n        break;\n      }\n    }\n  });\n\n  localCapabilities.headerExtensions.forEach(function(lHeaderExtension) {\n    for (var i = 0; i &lt; remoteCapabilities.headerExtensions.length;\n         i++) {\n      var rHeaderExtension = remoteCapabilities.headerExtensions[i];\n      if (lHeaderExtension.uri === rHeaderExtension.uri) {\n        commonCapabilities.headerExtensions.push(rHeaderExtension);\n        break;\n      }\n    }\n  });\n\n  // FIXME: fecMechanisms\n  return commonCapabilities;\n}\n\n// is action=setLocalDescription with type allowed in signalingState\nfunction isActionAllowedInSignalingState(action, type, signalingState) {\n  return {\n    offer: {\n      setLocalDescription: ['stable', 'have-local-offer'],\n      setRemoteDescription: ['stable', 'have-remote-offer']\n    },\n    answer: {\n      setLocalDescription: ['have-remote-offer', 'have-local-pranswer'],\n      setRemoteDescription: ['have-local-offer', 'have-remote-pranswer']\n    }\n  }[type][action].indexOf(signalingState) !== -1;\n}\n\nfunction maybeAddCandidate(iceTransport, candidate) {\n  // Edge's internal representation adds some fields therefore\n  // not all fieldѕ are taken into account.\n  var alreadyAdded = iceTransport.getRemoteCandidates()\n      .find(function(remoteCandidate) {\n        return candidate.foundation === remoteCandidate.foundation &amp;&amp;\n            candidate.ip === remoteCandidate.ip &amp;&amp;\n            candidate.port === remoteCandidate.port &amp;&amp;\n            candidate.priority === remoteCandidate.priority &amp;&amp;\n            candidate.protocol === remoteCandidate.protocol &amp;&amp;\n            candidate.type === remoteCandidate.type;\n      });\n  if (!alreadyAdded) {\n    iceTransport.addRemoteCandidate(candidate);\n  }\n  return !alreadyAdded;\n}\n\nmodule.exports = function(window, edgeVersion) {\n  var RTCPeerConnection = function(config) {\n    var self = this;\n\n    var _eventTarget = document.createDocumentFragment();\n    ['addEventListener', 'removeEventListener', 'dispatchEvent']\n        .forEach(function(method) {\n          self[method] = _eventTarget[method].bind(_eventTarget);\n        });\n\n    this.onicecandidate = null;\n    this.onaddstream = null;\n    this.ontrack = null;\n    this.onremovestream = null;\n    this.onsignalingstatechange = null;\n    this.oniceconnectionstatechange = null;\n    this.onicegatheringstatechange = null;\n    this.onnegotiationneeded = null;\n    this.ondatachannel = null;\n    this.canTrickleIceCandidates = null;\n\n    this.needNegotiation = false;\n\n    this.localStreams = [];\n    this.remoteStreams = [];\n\n    this.localDescription = null;\n    this.remoteDescription = null;\n\n    this.signalingState = 'stable';\n    this.iceConnectionState = 'new';\n    this.iceGatheringState = 'new';\n\n    config = JSON.parse(JSON.stringify(config || {}));\n\n    this.usingBundle = config.bundlePolicy === 'max-bundle';\n    if (config.rtcpMuxPolicy === 'negotiate') {\n      var e = new Error('rtcpMuxPolicy \\'negotiate\\' is not supported');\n      e.name = 'NotSupportedError';\n      throw(e);\n    } else if (!config.rtcpMuxPolicy) {\n      config.rtcpMuxPolicy = 'require';\n    }\n\n    switch (config.iceTransportPolicy) {\n      case 'all':\n      case 'relay':\n        break;\n      default:\n        config.iceTransportPolicy = 'all';\n        break;\n    }\n\n    switch (config.bundlePolicy) {\n      case 'balanced':\n      case 'max-compat':\n      case 'max-bundle':\n        break;\n      default:\n        config.bundlePolicy = 'balanced';\n        break;\n    }\n\n    config.iceServers = filterIceServers(config.iceServers || [], edgeVersion);\n\n    this._iceGatherers = [];\n    if (config.iceCandidatePoolSize) {\n      for (var i = config.iceCandidatePoolSize; i &gt; 0; i--) {\n        this._iceGatherers = new window.RTCIceGatherer({\n          iceServers: config.iceServers,\n          gatherPolicy: config.iceTransportPolicy\n        });\n      }\n    } else {\n      config.iceCandidatePoolSize = 0;\n    }\n\n    this._config = config;\n\n    // per-track iceGathers, iceTransports, dtlsTransports, rtpSenders, ...\n    // everything that is needed to describe a SDP m-line.\n    this.transceivers = [];\n\n    this._sdpSessionId = SDPUtils.generateSessionId();\n    this._sdpSessionVersion = 0;\n\n    this._dtlsRole = undefined; // role for a=setup to use in answers.\n  };\n\n  RTCPeerConnection.prototype._emitGatheringStateChange = function() {\n    var event = new Event('icegatheringstatechange');\n    this.dispatchEvent(event);\n    if (typeof this.onicegatheringstatechange === 'function') {\n      this.onicegatheringstatechange(event);\n    }\n  };\n\n  RTCPeerConnection.prototype.getConfiguration = function() {\n    return this._config;\n  };\n\n  RTCPeerConnection.prototype.getLocalStreams = function() {\n    return this.localStreams;\n  };\n\n  RTCPeerConnection.prototype.getRemoteStreams = function() {\n    return this.remoteStreams;\n  };\n\n  // internal helper to create a transceiver object.\n  // (whih is not yet the same as the WebRTC 1.0 transceiver)\n  RTCPeerConnection.prototype._createTransceiver = function(kind) {\n    var hasBundleTransport = this.transceivers.length &gt; 0;\n    var transceiver = {\n      track: null,\n      iceGatherer: null,\n      iceTransport: null,\n      dtlsTransport: null,\n      localCapabilities: null,\n      remoteCapabilities: null,\n      rtpSender: null,\n      rtpReceiver: null,\n      kind: kind,\n      mid: null,\n      sendEncodingParameters: null,\n      recvEncodingParameters: null,\n      stream: null,\n      wantReceive: true\n    };\n    if (this.usingBundle &amp;&amp; hasBundleTransport) {\n      transceiver.iceTransport = this.transceivers[0].iceTransport;\n      transceiver.dtlsTransport = this.transceivers[0].dtlsTransport;\n    } else {\n      var transports = this._createIceAndDtlsTransports();\n      transceiver.iceTransport = transports.iceTransport;\n      transceiver.dtlsTransport = transports.dtlsTransport;\n    }\n    this.transceivers.push(transceiver);\n    return transceiver;\n  };\n\n  RTCPeerConnection.prototype.addTrack = function(track, stream) {\n    var transceiver;\n    for (var i = 0; i &lt; this.transceivers.length; i++) {\n      if (!this.transceivers[i].track &amp;&amp;\n          this.transceivers[i].kind === track.kind) {\n        transceiver = this.transceivers[i];\n      }\n    }\n    if (!transceiver) {\n      transceiver = this._createTransceiver(track.kind);\n    }\n\n    this._maybeFireNegotiationNeeded();\n\n    if (this.localStreams.indexOf(stream) === -1) {\n      this.localStreams.push(stream);\n    }\n\n    transceiver.track = track;\n    transceiver.stream = stream;\n    transceiver.rtpSender = new window.RTCRtpSender(track,\n        transceiver.dtlsTransport);\n    return transceiver.rtpSender;\n  };\n\n  RTCPeerConnection.prototype.addStream = function(stream) {\n    var self = this;\n    if (edgeVersion &gt;= 15025) {\n      stream.getTracks().forEach(function(track) {\n        self.addTrack(track, stream);\n      });\n    } else {\n      // Clone is necessary for local demos mostly, attaching directly\n      // to two different senders does not work (build 10547).\n      // Fixed in 15025 (or earlier)\n      var clonedStream = stream.clone();\n      stream.getTracks().forEach(function(track, idx) {\n        var clonedTrack = clonedStream.getTracks()[idx];\n        track.addEventListener('enabled', function(event) {\n          clonedTrack.enabled = event.enabled;\n        });\n      });\n      clonedStream.getTracks().forEach(function(track) {\n        self.addTrack(track, clonedStream);\n      });\n    }\n  };\n\n  RTCPeerConnection.prototype.removeStream = function(stream) {\n    var idx = this.localStreams.indexOf(stream);\n    if (idx &gt; -1) {\n      this.localStreams.splice(idx, 1);\n      this._maybeFireNegotiationNeeded();\n    }\n  };\n\n  RTCPeerConnection.prototype.getSenders = function() {\n    return this.transceivers.filter(function(transceiver) {\n      return !!transceiver.rtpSender;\n    })\n    .map(function(transceiver) {\n      return transceiver.rtpSender;\n    });\n  };\n\n  RTCPeerConnection.prototype.getReceivers = function() {\n    return this.transceivers.filter(function(transceiver) {\n      return !!transceiver.rtpReceiver;\n    })\n    .map(function(transceiver) {\n      return transceiver.rtpReceiver;\n    });\n  };\n\n\n  RTCPeerConnection.prototype._createIceGatherer = function(sdpMLineIndex,\n      usingBundle) {\n    var self = this;\n    if (usingBundle &amp;&amp; sdpMLineIndex &gt; 0) {\n      return this.transceivers[0].iceGatherer;\n    } else if (this._iceGatherers.length) {\n      return this._iceGatherers.shift();\n    }\n    var iceGatherer = new window.RTCIceGatherer({\n      iceServers: this._config.iceServers,\n      gatherPolicy: this._config.iceTransportPolicy\n    });\n    Object.defineProperty(iceGatherer, 'state',\n        {value: 'new', writable: true}\n    );\n\n    this.transceivers[sdpMLineIndex].candidates = [];\n    this.transceivers[sdpMLineIndex].bufferCandidates = function(event) {\n      var end = !event.candidate || Object.keys(event.candidate).length === 0;\n      // polyfill since RTCIceGatherer.state is not implemented in\n      // Edge 10547 yet.\n      iceGatherer.state = end ? 'completed' : 'gathering';\n      if (self.transceivers[sdpMLineIndex].candidates !== null) {\n        self.transceivers[sdpMLineIndex].candidates.push(event.candidate);\n      }\n    };\n    iceGatherer.addEventListener('localcandidate',\n      this.transceivers[sdpMLineIndex].bufferCandidates);\n    return iceGatherer;\n  };\n\n  // start gathering from an RTCIceGatherer.\n  RTCPeerConnection.prototype._gather = function(mid, sdpMLineIndex) {\n    var self = this;\n    var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n    if (iceGatherer.onlocalcandidate) {\n      return;\n    }\n    var candidates = this.transceivers[sdpMLineIndex].candidates;\n    this.transceivers[sdpMLineIndex].candidates = null;\n    iceGatherer.removeEventListener('localcandidate',\n      this.transceivers[sdpMLineIndex].bufferCandidates);\n    iceGatherer.onlocalcandidate = function(evt) {\n      if (self.usingBundle &amp;&amp; sdpMLineIndex &gt; 0) {\n        // if we know that we use bundle we can drop candidates with\n        // ѕdpMLineIndex &gt; 0. If we don't do this then our state gets\n        // confused since we dispose the extra ice gatherer.\n        return;\n      }\n      var event = new Event('icecandidate');\n      event.candidate = {sdpMid: mid, sdpMLineIndex: sdpMLineIndex};\n\n      var cand = evt.candidate;\n      // Edge emits an empty object for RTCIceCandidateComplete‥\n      var end = !cand || Object.keys(cand).length === 0;\n      if (end) {\n        // polyfill since RTCIceGatherer.state is not implemented in\n        // Edge 10547 yet.\n        if (iceGatherer.state === 'new' || iceGatherer.state === 'gathering') {\n          iceGatherer.state = 'completed';\n        }\n      } else {\n        if (iceGatherer.state === 'new') {\n          iceGatherer.state = 'gathering';\n        }\n        // RTCIceCandidate doesn't have a component, needs to be added\n        cand.component = 1;\n        event.candidate.candidate = SDPUtils.writeCandidate(cand);\n      }\n\n      // update local description.\n      var sections = SDPUtils.splitSections(self.localDescription.sdp);\n      if (!end) {\n        sections[event.candidate.sdpMLineIndex + 1] +=\n            'a=' + event.candidate.candidate + '\\r\\n';\n      } else {\n        sections[event.candidate.sdpMLineIndex + 1] +=\n            'a=end-of-candidates\\r\\n';\n      }\n      self.localDescription.sdp = sections.join('');\n      var complete = self.transceivers.every(function(transceiver) {\n        return transceiver.iceGatherer &amp;&amp;\n            transceiver.iceGatherer.state === 'completed';\n      });\n\n      if (self.iceGatheringState !== 'gathering') {\n        self.iceGatheringState = 'gathering';\n        self._emitGatheringStateChange();\n      }\n\n      // Emit candidate. Also emit null candidate when all gatherers are\n      // complete.\n      if (!end) {\n        self.dispatchEvent(event);\n        if (typeof self.onicecandidate === 'function') {\n          self.onicecandidate(event);\n        }\n      }\n      if (complete) {\n        self.dispatchEvent(new Event('icecandidate'));\n        if (typeof self.onicecandidate === 'function') {\n          self.onicecandidate(new Event('icecandidate'));\n        }\n        self.iceGatheringState = 'complete';\n        self._emitGatheringStateChange();\n      }\n    };\n\n    // emit already gathered candidates.\n    window.setTimeout(function() {\n      candidates.forEach(function(candidate) {\n        var e = new Event('RTCIceGatherEvent');\n        e.candidate = candidate;\n        iceGatherer.onlocalcandidate(e);\n      });\n    }, 0);\n  };\n\n  // Create ICE transport and DTLS transport.\n  RTCPeerConnection.prototype._createIceAndDtlsTransports = function() {\n    var self = this;\n    var iceTransport = new window.RTCIceTransport(null);\n    iceTransport.onicestatechange = function() {\n      self._updateConnectionState();\n    };\n\n    var dtlsTransport = new window.RTCDtlsTransport(iceTransport);\n    dtlsTransport.ondtlsstatechange = function() {\n      self._updateConnectionState();\n    };\n    dtlsTransport.onerror = function() {\n      // onerror does not set state to failed by itself.\n      Object.defineProperty(dtlsTransport, 'state',\n          {value: 'failed', writable: true});\n      self._updateConnectionState();\n    };\n\n    return {\n      iceTransport: iceTransport,\n      dtlsTransport: dtlsTransport\n    };\n  };\n\n  // Destroy ICE gatherer, ICE transport and DTLS transport.\n  // Without triggering the callbacks.\n  RTCPeerConnection.prototype._disposeIceAndDtlsTransports = function(\n      sdpMLineIndex) {\n    var iceGatherer = this.transceivers[sdpMLineIndex].iceGatherer;\n    if (iceGatherer) {\n      delete iceGatherer.onlocalcandidate;\n      delete this.transceivers[sdpMLineIndex].iceGatherer;\n    }\n    var iceTransport = this.transceivers[sdpMLineIndex].iceTransport;\n    if (iceTransport) {\n      delete iceTransport.onicestatechange;\n      delete this.transceivers[sdpMLineIndex].iceTransport;\n    }\n    var dtlsTransport = this.transceivers[sdpMLineIndex].dtlsTransport;\n    if (dtlsTransport) {\n      delete dtlsTransport.ondtlsstatechange;\n      delete dtlsTransport.onerror;\n      delete this.transceivers[sdpMLineIndex].dtlsTransport;\n    }\n  };\n\n  // Start the RTP Sender and Receiver for a transceiver.\n  RTCPeerConnection.prototype._transceive = function(transceiver,\n      send, recv) {\n    var params = getCommonCapabilities(transceiver.localCapabilities,\n        transceiver.remoteCapabilities);\n    if (send &amp;&amp; transceiver.rtpSender) {\n      params.encodings = transceiver.sendEncodingParameters;\n      params.rtcp = {\n        cname: SDPUtils.localCName,\n        compound: transceiver.rtcpParameters.compound\n      };\n      if (transceiver.recvEncodingParameters.length) {\n        params.rtcp.ssrc = transceiver.recvEncodingParameters[0].ssrc;\n      }\n      transceiver.rtpSender.send(params);\n    }\n    if (recv &amp;&amp; transceiver.rtpReceiver &amp;&amp; params.codecs.length &gt; 0) {\n      // remove RTX field in Edge 14942\n      if (transceiver.kind === 'video'\n          &amp;&amp; transceiver.recvEncodingParameters\n          &amp;&amp; edgeVersion &lt; 15019) {\n        transceiver.recvEncodingParameters.forEach(function(p) {\n          delete p.rtx;\n        });\n      }\n      params.encodings = transceiver.recvEncodingParameters;\n      params.rtcp = {\n        cname: transceiver.rtcpParameters.cname,\n        compound: transceiver.rtcpParameters.compound\n      };\n      if (transceiver.sendEncodingParameters.length) {\n        params.rtcp.ssrc = transceiver.sendEncodingParameters[0].ssrc;\n      }\n      transceiver.rtpReceiver.receive(params);\n    }\n  };\n\n  RTCPeerConnection.prototype.setLocalDescription = function(description) {\n    var self = this;\n    var args = arguments;\n\n    if (!isActionAllowedInSignalingState('setLocalDescription',\n        description.type, this.signalingState)) {\n      return new Promise(function(resolve, reject) {\n        var e = new Error('Can not set local ' + description.type +\n            ' in state ' + self.signalingState);\n        e.name = 'InvalidStateError';\n        if (args.length &gt; 2 &amp;&amp; typeof args[2] === 'function') {\n          args[2].apply(null, [e]);\n        }\n        reject(e);\n      });\n    }\n\n    var sections;\n    var sessionpart;\n    if (description.type === 'offer') {\n      // VERY limited support for SDP munging. Limited to:\n      // * changing the order of codecs\n      sections = SDPUtils.splitSections(description.sdp);\n      sessionpart = sections.shift();\n      sections.forEach(function(mediaSection, sdpMLineIndex) {\n        var caps = SDPUtils.parseRtpParameters(mediaSection);\n        self.transceivers[sdpMLineIndex].localCapabilities = caps;\n      });\n\n      this.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n        self._gather(transceiver.mid, sdpMLineIndex);\n      });\n    } else if (description.type === 'answer') {\n      sections = SDPUtils.splitSections(self.remoteDescription.sdp);\n      sessionpart = sections.shift();\n      var isIceLite = SDPUtils.matchPrefix(sessionpart,\n          'a=ice-lite').length &gt; 0;\n      sections.forEach(function(mediaSection, sdpMLineIndex) {\n        var transceiver = self.transceivers[sdpMLineIndex];\n        var iceGatherer = transceiver.iceGatherer;\n        var iceTransport = transceiver.iceTransport;\n        var dtlsTransport = transceiver.dtlsTransport;\n        var localCapabilities = transceiver.localCapabilities;\n        var remoteCapabilities = transceiver.remoteCapabilities;\n\n        // treat bundle-only as not-rejected.\n        var rejected = SDPUtils.isRejected(mediaSection) &amp;&amp;\n            !SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 1;\n\n        if (!rejected &amp;&amp; !transceiver.isDatachannel) {\n          var remoteIceParameters = SDPUtils.getIceParameters(\n              mediaSection, sessionpart);\n          var remoteDtlsParameters = SDPUtils.getDtlsParameters(\n              mediaSection, sessionpart);\n          if (isIceLite) {\n            remoteDtlsParameters.role = 'server';\n          }\n\n          if (!self.usingBundle || sdpMLineIndex === 0) {\n            self._gather(transceiver.mid, sdpMLineIndex);\n            if (iceTransport.state === 'new') {\n              iceTransport.start(iceGatherer, remoteIceParameters,\n                  isIceLite ? 'controlling' : 'controlled');\n            }\n            if (dtlsTransport.state === 'new') {\n              dtlsTransport.start(remoteDtlsParameters);\n            }\n          }\n\n          // Calculate intersection of capabilities.\n          var params = getCommonCapabilities(localCapabilities,\n              remoteCapabilities);\n\n          // Start the RTCRtpSender. The RTCRtpReceiver for this\n          // transceiver has already been started in setRemoteDescription.\n          self._transceive(transceiver,\n              params.codecs.length &gt; 0,\n              false);\n        }\n      });\n    }\n\n    this.localDescription = {\n      type: description.type,\n      sdp: description.sdp\n    };\n    switch (description.type) {\n      case 'offer':\n        this._updateSignalingState('have-local-offer');\n        break;\n      case 'answer':\n        this._updateSignalingState('stable');\n        break;\n      default:\n        throw new TypeError('unsupported type \"' + description.type +\n            '\"');\n    }\n\n    // If a success callback was provided, emit ICE candidates after it\n    // has been executed. Otherwise, emit callback after the Promise is\n    // resolved.\n    var cb = arguments.length &gt; 1 &amp;&amp; typeof arguments[1] === 'function' &amp;&amp;\n        arguments[1];\n    return new Promise(function(resolve) {\n      if (cb) {\n        cb.apply(null);\n      }\n      resolve();\n    });\n  };\n\n  RTCPeerConnection.prototype.setRemoteDescription = function(description) {\n    var self = this;\n    var args = arguments;\n\n    if (!isActionAllowedInSignalingState('setRemoteDescription',\n        description.type, this.signalingState)) {\n      return new Promise(function(resolve, reject) {\n        var e = new Error('Can not set remote ' + description.type +\n            ' in state ' + self.signalingState);\n        e.name = 'InvalidStateError';\n        if (args.length &gt; 2 &amp;&amp; typeof args[2] === 'function') {\n          args[2].apply(null, [e]);\n        }\n        reject(e);\n      });\n    }\n\n    var streams = {};\n    this.remoteStreams.forEach(function(stream) {\n      streams[stream.id] = stream;\n    });\n    var receiverList = [];\n    var sections = SDPUtils.splitSections(description.sdp);\n    var sessionpart = sections.shift();\n    var isIceLite = SDPUtils.matchPrefix(sessionpart,\n        'a=ice-lite').length &gt; 0;\n    var usingBundle = SDPUtils.matchPrefix(sessionpart,\n        'a=group:BUNDLE ').length &gt; 0;\n    this.usingBundle = usingBundle;\n    var iceOptions = SDPUtils.matchPrefix(sessionpart,\n        'a=ice-options:')[0];\n    if (iceOptions) {\n      this.canTrickleIceCandidates = iceOptions.substr(14).split(' ')\n          .indexOf('trickle') &gt;= 0;\n    } else {\n      this.canTrickleIceCandidates = false;\n    }\n\n    sections.forEach(function(mediaSection, sdpMLineIndex) {\n      var lines = SDPUtils.splitLines(mediaSection);\n      var kind = SDPUtils.getKind(mediaSection);\n      // treat bundle-only as not-rejected.\n      var rejected = SDPUtils.isRejected(mediaSection) &amp;&amp;\n          !SDPUtils.matchPrefix(mediaSection, 'a=bundle-only').length === 1;\n      var protocol = lines[0].substr(2).split(' ')[2];\n\n      var direction = SDPUtils.getDirection(mediaSection, sessionpart);\n      var remoteMsid = SDPUtils.parseMsid(mediaSection);\n\n      var mid = SDPUtils.getMid(mediaSection) || SDPUtils.generateIdentifier();\n\n      // Reject datachannels which are not implemented yet.\n      if (kind === 'application' &amp;&amp; protocol === 'DTLS/SCTP') {\n        self.transceivers[sdpMLineIndex] = {\n          mid: mid,\n          isDatachannel: true\n        };\n        return;\n      }\n\n      var transceiver;\n      var iceGatherer;\n      var iceTransport;\n      var dtlsTransport;\n      var rtpReceiver;\n      var sendEncodingParameters;\n      var recvEncodingParameters;\n      var localCapabilities;\n\n      var track;\n      // FIXME: ensure the mediaSection has rtcp-mux set.\n      var remoteCapabilities = SDPUtils.parseRtpParameters(mediaSection);\n      var remoteIceParameters;\n      var remoteDtlsParameters;\n      if (!rejected) {\n        remoteIceParameters = SDPUtils.getIceParameters(mediaSection,\n            sessionpart);\n        remoteDtlsParameters = SDPUtils.getDtlsParameters(mediaSection,\n            sessionpart);\n        remoteDtlsParameters.role = 'client';\n      }\n      recvEncodingParameters =\n          SDPUtils.parseRtpEncodingParameters(mediaSection);\n\n      var rtcpParameters = SDPUtils.parseRtcpParameters(mediaSection);\n\n      var isComplete = SDPUtils.matchPrefix(mediaSection,\n          'a=end-of-candidates', sessionpart).length &gt; 0;\n      var cands = SDPUtils.matchPrefix(mediaSection, 'a=candidate:')\n          .map(function(cand) {\n            return SDPUtils.parseCandidate(cand);\n          })\n          .filter(function(cand) {\n            return cand.component === 1;\n          });\n\n      // Check if we can use BUNDLE and dispose transports.\n      if ((description.type === 'offer' || description.type === 'answer') &amp;&amp;\n          !rejected &amp;&amp; usingBundle &amp;&amp; sdpMLineIndex &gt; 0 &amp;&amp;\n          self.transceivers[sdpMLineIndex]) {\n        self._disposeIceAndDtlsTransports(sdpMLineIndex);\n        self.transceivers[sdpMLineIndex].iceGatherer =\n            self.transceivers[0].iceGatherer;\n        self.transceivers[sdpMLineIndex].iceTransport =\n            self.transceivers[0].iceTransport;\n        self.transceivers[sdpMLineIndex].dtlsTransport =\n            self.transceivers[0].dtlsTransport;\n        if (self.transceivers[sdpMLineIndex].rtpSender) {\n          self.transceivers[sdpMLineIndex].rtpSender.setTransport(\n              self.transceivers[0].dtlsTransport);\n        }\n        if (self.transceivers[sdpMLineIndex].rtpReceiver) {\n          self.transceivers[sdpMLineIndex].rtpReceiver.setTransport(\n              self.transceivers[0].dtlsTransport);\n        }\n      }\n      if (description.type === 'offer' &amp;&amp; !rejected) {\n        transceiver = self.transceivers[sdpMLineIndex] ||\n            self._createTransceiver(kind);\n        transceiver.mid = mid;\n\n        if (!transceiver.iceGatherer) {\n          transceiver.iceGatherer = self._createIceGatherer(sdpMLineIndex,\n              usingBundle);\n        }\n\n        if (cands.length &amp;&amp; transceiver.iceTransport.state === 'new') {\n          if (isComplete &amp;&amp; (!usingBundle || sdpMLineIndex === 0)) {\n            transceiver.iceTransport.setRemoteCandidates(cands);\n          } else {\n            cands.forEach(function(candidate) {\n              maybeAddCandidate(transceiver.iceTransport, candidate);\n            });\n          }\n        }\n\n        localCapabilities = window.RTCRtpReceiver.getCapabilities(kind);\n\n        // filter RTX until additional stuff needed for RTX is implemented\n        // in adapter.js\n        if (edgeVersion &lt; 15019) {\n          localCapabilities.codecs = localCapabilities.codecs.filter(\n              function(codec) {\n                return codec.name !== 'rtx';\n              });\n        }\n\n        sendEncodingParameters = transceiver.sendEncodingParameters || [{\n          ssrc: (2 * sdpMLineIndex + 2) * 1001\n        }];\n\n        var isNewTrack = false;\n        if (direction === 'sendrecv' || direction === 'sendonly') {\n          isNewTrack = !transceiver.rtpReceiver;\n          rtpReceiver = transceiver.rtpReceiver ||\n              new window.RTCRtpReceiver(transceiver.dtlsTransport, kind);\n\n          if (isNewTrack) {\n            var stream;\n            track = rtpReceiver.track;\n            // FIXME: does not work with Plan B.\n            if (remoteMsid) {\n              if (!streams[remoteMsid.stream]) {\n                streams[remoteMsid.stream] = new window.MediaStream();\n                Object.defineProperty(streams[remoteMsid.stream], 'id', {\n                  get: function() {\n                    return remoteMsid.stream;\n                  }\n                });\n              }\n              Object.defineProperty(track, 'id', {\n                get: function() {\n                  return remoteMsid.track;\n                }\n              });\n              stream = streams[remoteMsid.stream];\n            } else {\n              if (!streams.default) {\n                streams.default = new window.MediaStream();\n              }\n              stream = streams.default;\n            }\n            stream.addTrack(track);\n            receiverList.push([track, rtpReceiver, stream]);\n          }\n        }\n\n        transceiver.localCapabilities = localCapabilities;\n        transceiver.remoteCapabilities = remoteCapabilities;\n        transceiver.rtpReceiver = rtpReceiver;\n        transceiver.rtcpParameters = rtcpParameters;\n        transceiver.sendEncodingParameters = sendEncodingParameters;\n        transceiver.recvEncodingParameters = recvEncodingParameters;\n\n        // Start the RTCRtpReceiver now. The RTPSender is started in\n        // setLocalDescription.\n        self._transceive(self.transceivers[sdpMLineIndex],\n            false,\n            isNewTrack);\n      } else if (description.type === 'answer' &amp;&amp; !rejected) {\n        transceiver = self.transceivers[sdpMLineIndex];\n        iceGatherer = transceiver.iceGatherer;\n        iceTransport = transceiver.iceTransport;\n        dtlsTransport = transceiver.dtlsTransport;\n        rtpReceiver = transceiver.rtpReceiver;\n        sendEncodingParameters = transceiver.sendEncodingParameters;\n        localCapabilities = transceiver.localCapabilities;\n\n        self.transceivers[sdpMLineIndex].recvEncodingParameters =\n            recvEncodingParameters;\n        self.transceivers[sdpMLineIndex].remoteCapabilities =\n            remoteCapabilities;\n        self.transceivers[sdpMLineIndex].rtcpParameters = rtcpParameters;\n\n        if (cands.length &amp;&amp; iceTransport.state === 'new') {\n          if ((isIceLite || isComplete) &amp;&amp;\n              (!usingBundle || sdpMLineIndex === 0)) {\n            iceTransport.setRemoteCandidates(cands);\n          } else {\n            cands.forEach(function(candidate) {\n              maybeAddCandidate(transceiver.iceTransport, candidate);\n            });\n          }\n        }\n\n        if (!usingBundle || sdpMLineIndex === 0) {\n          if (iceTransport.state === 'new') {\n            iceTransport.start(iceGatherer, remoteIceParameters,\n                'controlling');\n          }\n          if (dtlsTransport.state === 'new') {\n            dtlsTransport.start(remoteDtlsParameters);\n          }\n        }\n\n        self._transceive(transceiver,\n            direction === 'sendrecv' || direction === 'recvonly',\n            direction === 'sendrecv' || direction === 'sendonly');\n\n        if (rtpReceiver &amp;&amp;\n            (direction === 'sendrecv' || direction === 'sendonly')) {\n          track = rtpReceiver.track;\n          if (remoteMsid) {\n            if (!streams[remoteMsid.stream]) {\n              streams[remoteMsid.stream] = new window.MediaStream();\n            }\n            streams[remoteMsid.stream].addTrack(track);\n            receiverList.push([track, rtpReceiver, streams[remoteMsid.stream]]);\n          } else {\n            if (!streams.default) {\n              streams.default = new window.MediaStream();\n            }\n            streams.default.addTrack(track);\n            receiverList.push([track, rtpReceiver, streams.default]);\n          }\n        } else {\n          // FIXME: actually the receiver should be created later.\n          delete transceiver.rtpReceiver;\n        }\n      }\n    });\n\n    if (this._dtlsRole === undefined) {\n      this._dtlsRole = description.type === 'offer' ? 'active' : 'passive';\n    }\n\n    this.remoteDescription = {\n      type: description.type,\n      sdp: description.sdp\n    };\n    switch (description.type) {\n      case 'offer':\n        this._updateSignalingState('have-remote-offer');\n        break;\n      case 'answer':\n        this._updateSignalingState('stable');\n        break;\n      default:\n        throw new TypeError('unsupported type \"' + description.type +\n            '\"');\n    }\n    Object.keys(streams).forEach(function(sid) {\n      var stream = streams[sid];\n      if (stream.getTracks().length) {\n        if (self.remoteStreams.indexOf(stream) === -1) {\n          self.remoteStreams.push(stream);\n          var event = new Event('addstream');\n          event.stream = stream;\n          window.setTimeout(function() {\n            self.dispatchEvent(event);\n            if (typeof self.onaddstream === 'function') {\n              self.onaddstream(event);\n            }\n          });\n        }\n\n        receiverList.forEach(function(item) {\n          var track = item[0];\n          var receiver = item[1];\n          if (stream.id !== item[2].id) {\n            return;\n          }\n          var trackEvent = new Event('track');\n          trackEvent.track = track;\n          trackEvent.receiver = receiver;\n          trackEvent.transceiver = {receiver: receiver};\n          trackEvent.streams = [stream];\n          window.setTimeout(function() {\n            self.dispatchEvent(trackEvent);\n            if (typeof self.ontrack === 'function') {\n              self.ontrack(trackEvent);\n            }\n          });\n        });\n      }\n    });\n\n    // check whether addIceCandidate({}) was called within four seconds after\n    // setRemoteDescription.\n    window.setTimeout(function() {\n      if (!(self &amp;&amp; self.transceivers)) {\n        return;\n      }\n      self.transceivers.forEach(function(transceiver) {\n        if (transceiver.iceTransport &amp;&amp;\n            transceiver.iceTransport.state === 'new' &amp;&amp;\n            transceiver.iceTransport.getRemoteCandidates().length &gt; 0) {\n          console.warn('Timeout for addRemoteCandidate. Consider sending ' +\n              'an end-of-candidates notification');\n          transceiver.iceTransport.addRemoteCandidate({});\n        }\n      });\n    }, 4000);\n\n    return new Promise(function(resolve) {\n      if (args.length &gt; 1 &amp;&amp; typeof args[1] === 'function') {\n        args[1].apply(null);\n      }\n      resolve();\n    });\n  };\n\n  RTCPeerConnection.prototype.close = function() {\n    this.transceivers.forEach(function(transceiver) {\n      /* not yet\n      if (transceiver.iceGatherer) {\n        transceiver.iceGatherer.close();\n      }\n      */\n      if (transceiver.iceTransport) {\n        transceiver.iceTransport.stop();\n      }\n      if (transceiver.dtlsTransport) {\n        transceiver.dtlsTransport.stop();\n      }\n      if (transceiver.rtpSender) {\n        transceiver.rtpSender.stop();\n      }\n      if (transceiver.rtpReceiver) {\n        transceiver.rtpReceiver.stop();\n      }\n    });\n    // FIXME: clean up tracks, local streams, remote streams, etc\n    this._updateSignalingState('closed');\n  };\n\n  // Update the signaling state.\n  RTCPeerConnection.prototype._updateSignalingState = function(newState) {\n    this.signalingState = newState;\n    var event = new Event('signalingstatechange');\n    this.dispatchEvent(event);\n    if (typeof this.onsignalingstatechange === 'function') {\n      this.onsignalingstatechange(event);\n    }\n  };\n\n  // Determine whether to fire the negotiationneeded event.\n  RTCPeerConnection.prototype._maybeFireNegotiationNeeded = function() {\n    var self = this;\n    if (this.signalingState !== 'stable' || this.needNegotiation === true) {\n      return;\n    }\n    this.needNegotiation = true;\n    window.setTimeout(function() {\n      if (self.needNegotiation === false) {\n        return;\n      }\n      self.needNegotiation = false;\n      var event = new Event('negotiationneeded');\n      self.dispatchEvent(event);\n      if (typeof self.onnegotiationneeded === 'function') {\n        self.onnegotiationneeded(event);\n      }\n    }, 0);\n  };\n\n  // Update the connection state.\n  RTCPeerConnection.prototype._updateConnectionState = function() {\n    var newState;\n    var states = {\n      'new': 0,\n      closed: 0,\n      connecting: 0,\n      checking: 0,\n      connected: 0,\n      completed: 0,\n      disconnected: 0,\n      failed: 0\n    };\n    this.transceivers.forEach(function(transceiver) {\n      states[transceiver.iceTransport.state]++;\n      states[transceiver.dtlsTransport.state]++;\n    });\n    // ICETransport.completed and connected are the same for this purpose.\n    states.connected += states.completed;\n\n    newState = 'new';\n    if (states.failed &gt; 0) {\n      newState = 'failed';\n    } else if (states.connecting &gt; 0 || states.checking &gt; 0) {\n      newState = 'connecting';\n    } else if (states.disconnected &gt; 0) {\n      newState = 'disconnected';\n    } else if (states.new &gt; 0) {\n      newState = 'new';\n    } else if (states.connected &gt; 0 || states.completed &gt; 0) {\n      newState = 'connected';\n    }\n\n    if (newState !== this.iceConnectionState) {\n      this.iceConnectionState = newState;\n      var event = new Event('iceconnectionstatechange');\n      this.dispatchEvent(event);\n      if (typeof this.oniceconnectionstatechange === 'function') {\n        this.oniceconnectionstatechange(event);\n      }\n    }\n  };\n\n  RTCPeerConnection.prototype.createOffer = function() {\n    var self = this;\n    var args = arguments;\n\n    var offerOptions;\n    if (arguments.length === 1 &amp;&amp; typeof arguments[0] !== 'function') {\n      offerOptions = arguments[0];\n    } else if (arguments.length === 3) {\n      offerOptions = arguments[2];\n    }\n\n    var numAudioTracks = this.transceivers.filter(function(t) {\n      return t.kind === 'audio';\n    }).length;\n    var numVideoTracks = this.transceivers.filter(function(t) {\n      return t.kind === 'video';\n    }).length;\n\n    // Determine number of audio and video tracks we need to send/recv.\n    if (offerOptions) {\n      // Reject Chrome legacy constraints.\n      if (offerOptions.mandatory || offerOptions.optional) {\n        throw new TypeError(\n            'Legacy mandatory/optional constraints not supported.');\n      }\n      if (offerOptions.offerToReceiveAudio !== undefined) {\n        if (offerOptions.offerToReceiveAudio === true) {\n          numAudioTracks = 1;\n        } else if (offerOptions.offerToReceiveAudio === false) {\n          numAudioTracks = 0;\n        } else {\n          numAudioTracks = offerOptions.offerToReceiveAudio;\n        }\n      }\n      if (offerOptions.offerToReceiveVideo !== undefined) {\n        if (offerOptions.offerToReceiveVideo === true) {\n          numVideoTracks = 1;\n        } else if (offerOptions.offerToReceiveVideo === false) {\n          numVideoTracks = 0;\n        } else {\n          numVideoTracks = offerOptions.offerToReceiveVideo;\n        }\n      }\n    }\n\n    this.transceivers.forEach(function(transceiver) {\n      if (transceiver.kind === 'audio') {\n        numAudioTracks--;\n        if (numAudioTracks &lt; 0) {\n          transceiver.wantReceive = false;\n        }\n      } else if (transceiver.kind === 'video') {\n        numVideoTracks--;\n        if (numVideoTracks &lt; 0) {\n          transceiver.wantReceive = false;\n        }\n      }\n    });\n\n    // Create M-lines for recvonly streams.\n    while (numAudioTracks &gt; 0 || numVideoTracks &gt; 0) {\n      if (numAudioTracks &gt; 0) {\n        this._createTransceiver('audio');\n        numAudioTracks--;\n      }\n      if (numVideoTracks &gt; 0) {\n        this._createTransceiver('video');\n        numVideoTracks--;\n      }\n    }\n\n    var sdp = SDPUtils.writeSessionBoilerplate(this._sdpSessionId,\n        this._sdpSessionVersion++);\n    this.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      // For each track, create an ice gatherer, ice transport,\n      // dtls transport, potentially rtpsender and rtpreceiver.\n      var track = transceiver.track;\n      var kind = transceiver.kind;\n      var mid = SDPUtils.generateIdentifier();\n      transceiver.mid = mid;\n\n      if (!transceiver.iceGatherer) {\n        transceiver.iceGatherer = self._createIceGatherer(sdpMLineIndex,\n            self.usingBundle);\n      }\n\n      var localCapabilities = window.RTCRtpSender.getCapabilities(kind);\n      // filter RTX until additional stuff needed for RTX is implemented\n      // in adapter.js\n      if (edgeVersion &lt; 15019) {\n        localCapabilities.codecs = localCapabilities.codecs.filter(\n            function(codec) {\n              return codec.name !== 'rtx';\n            });\n      }\n      localCapabilities.codecs.forEach(function(codec) {\n        // work around https://bugs.chromium.org/p/webrtc/issues/detail?id=6552\n        // by adding level-asymmetry-allowed=1\n        if (codec.name === 'H264' &amp;&amp;\n            codec.parameters['level-asymmetry-allowed'] === undefined) {\n          codec.parameters['level-asymmetry-allowed'] = '1';\n        }\n      });\n\n      // generate an ssrc now, to be used later in rtpSender.send\n      var sendEncodingParameters = transceiver.sendEncodingParameters || [{\n        ssrc: (2 * sdpMLineIndex + 1) * 1001\n      }];\n      if (track) {\n        // add RTX\n        if (edgeVersion &gt;= 15019 &amp;&amp; kind === 'video' &amp;&amp;\n            !sendEncodingParameters[0].rtx) {\n          sendEncodingParameters[0].rtx = {\n            ssrc: sendEncodingParameters[0].ssrc + 1\n          };\n        }\n      }\n\n      if (transceiver.wantReceive) {\n        transceiver.rtpReceiver = new window.RTCRtpReceiver(\n            transceiver.dtlsTransport, kind);\n      }\n\n      transceiver.localCapabilities = localCapabilities;\n      transceiver.sendEncodingParameters = sendEncodingParameters;\n    });\n\n    // always offer BUNDLE and dispose on return if not supported.\n    if (this._config.bundlePolicy !== 'max-compat') {\n      sdp += 'a=group:BUNDLE ' + this.transceivers.map(function(t) {\n        return t.mid;\n      }).join(' ') + '\\r\\n';\n    }\n    sdp += 'a=ice-options:trickle\\r\\n';\n\n    this.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      sdp += writeMediaSection(transceiver, transceiver.localCapabilities,\n          'offer', transceiver.stream, self._dtlsRole);\n      sdp += 'a=rtcp-rsize\\r\\n';\n\n      if (transceiver.iceGatherer &amp;&amp; self.iceGatheringState !== 'new' &amp;&amp;\n          (sdpMLineIndex === 0 || !self.usingBundle)) {\n        transceiver.iceGatherer.getLocalCandidates().forEach(function(cand) {\n          cand.component = 1;\n          sdp += 'a=' + SDPUtils.writeCandidate(cand) + '\\r\\n';\n        });\n\n        if (transceiver.iceGatherer.state === 'completed') {\n          sdp += 'a=end-of-candidates\\r\\n';\n        }\n      }\n    });\n\n    var desc = new window.RTCSessionDescription({\n      type: 'offer',\n      sdp: sdp\n    });\n    return new Promise(function(resolve) {\n      if (args.length &gt; 0 &amp;&amp; typeof args[0] === 'function') {\n        args[0].apply(null, [desc]);\n        resolve();\n        return;\n      }\n      resolve(desc);\n    });\n  };\n\n  RTCPeerConnection.prototype.createAnswer = function() {\n    var self = this;\n    var args = arguments;\n\n    var sdp = SDPUtils.writeSessionBoilerplate(this._sdpSessionId,\n        this._sdpSessionVersion++);\n    if (this.usingBundle) {\n      sdp += 'a=group:BUNDLE ' + this.transceivers.map(function(t) {\n        return t.mid;\n      }).join(' ') + '\\r\\n';\n    }\n    var mediaSectionsInOffer = SDPUtils.splitSections(\n        this.remoteDescription.sdp).length - 1;\n    this.transceivers.forEach(function(transceiver, sdpMLineIndex) {\n      if (sdpMLineIndex + 1 &gt; mediaSectionsInOffer) {\n        return;\n      }\n      if (transceiver.isDatachannel) {\n        sdp += 'm=application 0 DTLS/SCTP 5000\\r\\n' +\n            'c=IN IP4 0.0.0.0\\r\\n' +\n            'a=mid:' + transceiver.mid + '\\r\\n';\n        return;\n      }\n\n      // FIXME: look at direction.\n      if (transceiver.stream) {\n        var localTrack;\n        if (transceiver.kind === 'audio') {\n          localTrack = transceiver.stream.getAudioTracks()[0];\n        } else if (transceiver.kind === 'video') {\n          localTrack = transceiver.stream.getVideoTracks()[0];\n        }\n        if (localTrack) {\n          // add RTX\n          if (edgeVersion &gt;= 15019 &amp;&amp; transceiver.kind === 'video' &amp;&amp;\n              !transceiver.sendEncodingParameters[0].rtx) {\n            transceiver.sendEncodingParameters[0].rtx = {\n              ssrc: transceiver.sendEncodingParameters[0].ssrc + 1\n            };\n          }\n        }\n      }\n\n      // Calculate intersection of capabilities.\n      var commonCapabilities = getCommonCapabilities(\n          transceiver.localCapabilities,\n          transceiver.remoteCapabilities);\n\n      var hasRtx = commonCapabilities.codecs.filter(function(c) {\n        return c.name.toLowerCase() === 'rtx';\n      }).length;\n      if (!hasRtx &amp;&amp; transceiver.sendEncodingParameters[0].rtx) {\n        delete transceiver.sendEncodingParameters[0].rtx;\n      }\n\n      sdp += writeMediaSection(transceiver, commonCapabilities,\n          'answer', transceiver.stream, self._dtlsRole);\n      if (transceiver.rtcpParameters &amp;&amp;\n          transceiver.rtcpParameters.reducedSize) {\n        sdp += 'a=rtcp-rsize\\r\\n';\n      }\n    });\n\n    var desc = new window.RTCSessionDescription({\n      type: 'answer',\n      sdp: sdp\n    });\n    return new Promise(function(resolve) {\n      if (args.length &gt; 0 &amp;&amp; typeof args[0] === 'function') {\n        args[0].apply(null, [desc]);\n        resolve();\n        return;\n      }\n      resolve(desc);\n    });\n  };\n\n  RTCPeerConnection.prototype.addIceCandidate = function(candidate) {\n    var err;\n    var sections;\n    if (!candidate || candidate.candidate === '') {\n      for (var j = 0; j &lt; this.transceivers.length; j++) {\n        if (this.transceivers[j].isDatachannel) {\n          continue;\n        }\n        this.transceivers[j].iceTransport.addRemoteCandidate({});\n        sections = SDPUtils.splitSections(this.remoteDescription.sdp);\n        sections[j + 1] += 'a=end-of-candidates\\r\\n';\n        this.remoteDescription.sdp = sections.join('');\n        if (this.usingBundle) {\n          break;\n        }\n      }\n    } else if (!(candidate.sdpMLineIndex !== undefined || candidate.sdpMid)) {\n      throw new TypeError('sdpMLineIndex or sdpMid required');\n    } else if (!this.remoteDescription) {\n      err = new Error('Can not add ICE candidate without ' +\n          'a remote description');\n      err.name = 'InvalidStateError';\n    } else {\n      var sdpMLineIndex = candidate.sdpMLineIndex;\n      if (candidate.sdpMid) {\n        for (var i = 0; i &lt; this.transceivers.length; i++) {\n          if (this.transceivers[i].mid === candidate.sdpMid) {\n            sdpMLineIndex = i;\n            break;\n          }\n        }\n      }\n      var transceiver = this.transceivers[sdpMLineIndex];\n      if (transceiver) {\n        if (transceiver.isDatachannel) {\n          return Promise.resolve();\n        }\n        var cand = Object.keys(candidate.candidate).length &gt; 0 ?\n            SDPUtils.parseCandidate(candidate.candidate) : {};\n        // Ignore Chrome's invalid candidates since Edge does not like them.\n        if (cand.protocol === 'tcp' &amp;&amp; (cand.port === 0 || cand.port === 9)) {\n          return Promise.resolve();\n        }\n        // Ignore RTCP candidates, we assume RTCP-MUX.\n        if (cand.component &amp;&amp; cand.component !== 1) {\n          return Promise.resolve();\n        }\n        // when using bundle, avoid adding candidates to the wrong\n        // ice transport. And avoid adding candidates added in the SDP.\n        if (sdpMLineIndex === 0 || (sdpMLineIndex &gt; 0 &amp;&amp;\n            transceiver.iceTransport !== this.transceivers[0].iceTransport)) {\n          if (!maybeAddCandidate(transceiver.iceTransport, cand)) {\n            err = new Error('Can not add ICE candidate');\n            err.name = 'OperationError';\n          }\n        }\n\n        if (!err) {\n          // update the remoteDescription.\n          var candidateString = candidate.candidate.trim();\n          if (candidateString.indexOf('a=') === 0) {\n            candidateString = candidateString.substr(2);\n          }\n          sections = SDPUtils.splitSections(this.remoteDescription.sdp);\n          sections[sdpMLineIndex + 1] += 'a=' +\n              (cand.type ? candidateString : 'end-of-candidates')\n              + '\\r\\n';\n          this.remoteDescription.sdp = sections.join('');\n        }\n      } else {\n        err = new Error('Can not add ICE candidate');\n        err.name = 'OperationError';\n      }\n    }\n    var args = arguments;\n    return new Promise(function(resolve, reject) {\n      if (err) {\n        if (args.length &gt; 2 &amp;&amp; typeof args[2] === 'function') {\n          args[2].apply(null, [err]);\n        }\n        reject(err);\n      } else {\n        if (args.length &gt; 1 &amp;&amp; typeof args[1] === 'function') {\n          args[1].apply(null);\n        }\n        resolve();\n      }\n    });\n  };\n\n  RTCPeerConnection.prototype.getStats = function() {\n    var promises = [];\n    this.transceivers.forEach(function(transceiver) {\n      ['rtpSender', 'rtpReceiver', 'iceGatherer', 'iceTransport',\n          'dtlsTransport'].forEach(function(method) {\n            if (transceiver[method]) {\n              promises.push(transceiver[method].getStats());\n            }\n          });\n    });\n    var cb = arguments.length &gt; 1 &amp;&amp; typeof arguments[1] === 'function' &amp;&amp;\n        arguments[1];\n    var fixStatsType = function(stat) {\n      return {\n        inboundrtp: 'inbound-rtp',\n        outboundrtp: 'outbound-rtp',\n        candidatepair: 'candidate-pair',\n        localcandidate: 'local-candidate',\n        remotecandidate: 'remote-candidate'\n      }[stat.type] || stat.type;\n    };\n    return new Promise(function(resolve) {\n      // shim getStats with maplike support\n      var results = new Map();\n      Promise.all(promises).then(function(res) {\n        res.forEach(function(result) {\n          Object.keys(result).forEach(function(id) {\n            result[id].type = fixStatsType(result[id]);\n            results.set(id, result[id]);\n          });\n        });\n        if (cb) {\n          cb.apply(null, results);\n        }\n        resolve(results);\n      });\n    });\n  };\n  return RTCPeerConnection;\n};\n\n},{\"sdp\":2}],2:[function(require,module,exports){\n /* eslint-env node */\n'use strict';\n\n// SDP helpers.\nvar SDPUtils = {};\n\n// Generate an alphanumeric identifier for cname or mids.\n// TODO: use UUIDs instead? https://gist.github.com/jed/982883\nSDPUtils.generateIdentifier = function() {\n  return Math.random().toString(36).substr(2, 10);\n};\n\n// The RTCP CNAME used by all peerconnections from the same JS.\nSDPUtils.localCName = SDPUtils.generateIdentifier();\n\n// Splits SDP into lines, dealing with both CRLF and LF.\nSDPUtils.splitLines = function(blob) {\n  return blob.trim().split('\\n').map(function(line) {\n    return line.trim();\n  });\n};\n// Splits SDP into sessionpart and mediasections. Ensures CRLF.\nSDPUtils.splitSections = function(blob) {\n  var parts = blob.split('\\nm=');\n  return parts.map(function(part, index) {\n    return (index &gt; 0 ? 'm=' + part : part).trim() + '\\r\\n';\n  });\n};\n\n// Returns lines that start with a certain prefix.\nSDPUtils.matchPrefix = function(blob, prefix) {\n  return SDPUtils.splitLines(blob).filter(function(line) {\n    return line.indexOf(prefix) === 0;\n  });\n};\n\n// Parses an ICE candidate line. Sample input:\n// candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8\n// rport 55996\"\nSDPUtils.parseCandidate = function(line) {\n  var parts;\n  // Parse both variants.\n  if (line.indexOf('a=candidate:') === 0) {\n    parts = line.substring(12).split(' ');\n  } else {\n    parts = line.substring(10).split(' ');\n  }\n\n  var candidate = {\n    foundation: parts[0],\n    component: parseInt(parts[1], 10),\n    protocol: parts[2].toLowerCase(),\n    priority: parseInt(parts[3], 10),\n    ip: parts[4],\n    port: parseInt(parts[5], 10),\n    // skip parts[6] == 'typ'\n    type: parts[7]\n  };\n\n  for (var i = 8; i &lt; parts.length; i += 2) {\n    switch (parts[i]) {\n      case 'raddr':\n        candidate.relatedAddress = parts[i + 1];\n        break;\n      case 'rport':\n        candidate.relatedPort = parseInt(parts[i + 1], 10);\n        break;\n      case 'tcptype':\n        candidate.tcpType = parts[i + 1];\n        break;\n      case 'ufrag':\n        candidate.ufrag = parts[i + 1]; // for backward compability.\n        candidate.usernameFragment = parts[i + 1];\n        break;\n      default: // extension handling, in particular ufrag\n        candidate[parts[i]] = parts[i + 1];\n        break;\n    }\n  }\n  return candidate;\n};\n\n// Translates a candidate object into SDP candidate attribute.\nSDPUtils.writeCandidate = function(candidate) {\n  var sdp = [];\n  sdp.push(candidate.foundation);\n  sdp.push(candidate.component);\n  sdp.push(candidate.protocol.toUpperCase());\n  sdp.push(candidate.priority);\n  sdp.push(candidate.ip);\n  sdp.push(candidate.port);\n\n  var type = candidate.type;\n  sdp.push('typ');\n  sdp.push(type);\n  if (type !== 'host' &amp;&amp; candidate.relatedAddress &amp;&amp;\n      candidate.relatedPort) {\n    sdp.push('raddr');\n    sdp.push(candidate.relatedAddress); // was: relAddr\n    sdp.push('rport');\n    sdp.push(candidate.relatedPort); // was: relPort\n  }\n  if (candidate.tcpType &amp;&amp; candidate.protocol.toLowerCase() === 'tcp') {\n    sdp.push('tcptype');\n    sdp.push(candidate.tcpType);\n  }\n  if (candidate.ufrag) {\n    sdp.push('ufrag');\n    sdp.push(candidate.ufrag);\n  }\n  return 'candidate:' + sdp.join(' ');\n};\n\n// Parses an ice-options line, returns an array of option tags.\n// a=ice-options:foo bar\nSDPUtils.parseIceOptions = function(line) {\n  return line.substr(14).split(' ');\n}\n\n// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input:\n// a=rtpmap:111 opus/48000/2\nSDPUtils.parseRtpMap = function(line) {\n  var parts = line.substr(9).split(' ');\n  var parsed = {\n    payloadType: parseInt(parts.shift(), 10) // was: id\n  };\n\n  parts = parts[0].split('/');\n\n  parsed.name = parts[0];\n  parsed.clockRate = parseInt(parts[1], 10); // was: clockrate\n  // was: channels\n  parsed.numChannels = parts.length === 3 ? parseInt(parts[2], 10) : 1;\n  return parsed;\n};\n\n// Generate an a=rtpmap line from RTCRtpCodecCapability or\n// RTCRtpCodecParameters.\nSDPUtils.writeRtpMap = function(codec) {\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate +\n      (codec.numChannels !== 1 ? '/' + codec.numChannels : '') + '\\r\\n';\n};\n\n// Parses an a=extmap line (headerextension from RFC 5285). Sample input:\n// a=extmap:2 urn:ietf:params:rtp-hdrext:toffset\n// a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset\nSDPUtils.parseExtmap = function(line) {\n  var parts = line.substr(9).split(' ');\n  return {\n    id: parseInt(parts[0], 10),\n    direction: parts[0].indexOf('/') &gt; 0 ? parts[0].split('/')[1] : 'sendrecv',\n    uri: parts[1]\n  };\n};\n\n// Generates a=extmap line from RTCRtpHeaderExtensionParameters or\n// RTCRtpHeaderExtension.\nSDPUtils.writeExtmap = function(headerExtension) {\n  return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) +\n      (headerExtension.direction &amp;&amp; headerExtension.direction !== 'sendrecv'\n          ? '/' + headerExtension.direction\n          : '') +\n      ' ' + headerExtension.uri + '\\r\\n';\n};\n\n// Parses an ftmp line, returns dictionary. Sample input:\n// a=fmtp:96 vbr=on;cng=on\n// Also deals with vbr=on; cng=on\nSDPUtils.parseFmtp = function(line) {\n  var parsed = {};\n  var kv;\n  var parts = line.substr(line.indexOf(' ') + 1).split(';');\n  for (var j = 0; j &lt; parts.length; j++) {\n    kv = parts[j].trim().split('=');\n    parsed[kv[0].trim()] = kv[1];\n  }\n  return parsed;\n};\n\n// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeFmtp = function(codec) {\n  var line = '';\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  if (codec.parameters &amp;&amp; Object.keys(codec.parameters).length) {\n    var params = [];\n    Object.keys(codec.parameters).forEach(function(param) {\n      params.push(param + '=' + codec.parameters[param]);\n    });\n    line += 'a=fmtp:' + pt + ' ' + params.join(';') + '\\r\\n';\n  }\n  return line;\n};\n\n// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input:\n// a=rtcp-fb:98 nack rpsi\nSDPUtils.parseRtcpFb = function(line) {\n  var parts = line.substr(line.indexOf(' ') + 1).split(' ');\n  return {\n    type: parts.shift(),\n    parameter: parts.join(' ')\n  };\n};\n// Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters.\nSDPUtils.writeRtcpFb = function(codec) {\n  var lines = '';\n  var pt = codec.payloadType;\n  if (codec.preferredPayloadType !== undefined) {\n    pt = codec.preferredPayloadType;\n  }\n  if (codec.rtcpFeedback &amp;&amp; codec.rtcpFeedback.length) {\n    // FIXME: special handling for trr-int?\n    codec.rtcpFeedback.forEach(function(fb) {\n      lines += 'a=rtcp-fb:' + pt + ' ' + fb.type +\n      (fb.parameter &amp;&amp; fb.parameter.length ? ' ' + fb.parameter : '') +\n          '\\r\\n';\n    });\n  }\n  return lines;\n};\n\n// Parses an RFC 5576 ssrc media attribute. Sample input:\n// a=ssrc:3735928559 cname:something\nSDPUtils.parseSsrcMedia = function(line) {\n  var sp = line.indexOf(' ');\n  var parts = {\n    ssrc: parseInt(line.substr(7, sp - 7), 10)\n  };\n  var colon = line.indexOf(':', sp);\n  if (colon &gt; -1) {\n    parts.attribute = line.substr(sp + 1, colon - sp - 1);\n    parts.value = line.substr(colon + 1);\n  } else {\n    parts.attribute = line.substr(sp + 1);\n  }\n  return parts;\n};\n\n// Extracts the MID (RFC 5888) from a media section.\n// returns the MID or undefined if no mid line was found.\nSDPUtils.getMid = function(mediaSection) {\n  var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0];\n  if (mid) {\n    return mid.substr(6);\n  }\n}\n\nSDPUtils.parseFingerprint = function(line) {\n  var parts = line.substr(14).split(' ');\n  return {\n    algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge.\n    value: parts[1]\n  };\n};\n\n// Extracts DTLS parameters from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n//   get the fingerprint line as input. See also getIceParameters.\nSDPUtils.getDtlsParameters = function(mediaSection, sessionpart) {\n  var lines = SDPUtils.matchPrefix(mediaSection + sessionpart,\n      'a=fingerprint:');\n  // Note: a=setup line is ignored since we use the 'auto' role.\n  // Note2: 'algorithm' is not case sensitive except in Edge.\n  return {\n    role: 'auto',\n    fingerprints: lines.map(SDPUtils.parseFingerprint)\n  };\n};\n\n// Serializes DTLS parameters to SDP.\nSDPUtils.writeDtlsParameters = function(params, setupType) {\n  var sdp = 'a=setup:' + setupType + '\\r\\n';\n  params.fingerprints.forEach(function(fp) {\n    sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\\r\\n';\n  });\n  return sdp;\n};\n// Parses ICE information from SDP media section or sessionpart.\n// FIXME: for consistency with other functions this should only\n//   get the ice-ufrag and ice-pwd lines as input.\nSDPUtils.getIceParameters = function(mediaSection, sessionpart) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  // Search in session part, too.\n  lines = lines.concat(SDPUtils.splitLines(sessionpart));\n  var iceParameters = {\n    usernameFragment: lines.filter(function(line) {\n      return line.indexOf('a=ice-ufrag:') === 0;\n    })[0].substr(12),\n    password: lines.filter(function(line) {\n      return line.indexOf('a=ice-pwd:') === 0;\n    })[0].substr(10)\n  };\n  return iceParameters;\n};\n\n// Serializes ICE parameters to SDP.\nSDPUtils.writeIceParameters = function(params) {\n  return 'a=ice-ufrag:' + params.usernameFragment + '\\r\\n' +\n      'a=ice-pwd:' + params.password + '\\r\\n';\n};\n\n// Parses the SDP media section and returns RTCRtpParameters.\nSDPUtils.parseRtpParameters = function(mediaSection) {\n  var description = {\n    codecs: [],\n    headerExtensions: [],\n    fecMechanisms: [],\n    rtcp: []\n  };\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  for (var i = 3; i &lt; mline.length; i++) { // find all codecs from mline[3..]\n    var pt = mline[i];\n    var rtpmapline = SDPUtils.matchPrefix(\n        mediaSection, 'a=rtpmap:' + pt + ' ')[0];\n    if (rtpmapline) {\n      var codec = SDPUtils.parseRtpMap(rtpmapline);\n      var fmtps = SDPUtils.matchPrefix(\n          mediaSection, 'a=fmtp:' + pt + ' ');\n      // Only the first a=fmtp:&lt;pt&gt; is considered.\n      codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {};\n      codec.rtcpFeedback = SDPUtils.matchPrefix(\n          mediaSection, 'a=rtcp-fb:' + pt + ' ')\n        .map(SDPUtils.parseRtcpFb);\n      description.codecs.push(codec);\n      // parse FEC mechanisms from rtpmap lines.\n      switch (codec.name.toUpperCase()) {\n        case 'RED':\n        case 'ULPFEC':\n          description.fecMechanisms.push(codec.name.toUpperCase());\n          break;\n        default: // only RED and ULPFEC are recognized as FEC mechanisms.\n          break;\n      }\n    }\n  }\n  SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function(line) {\n    description.headerExtensions.push(SDPUtils.parseExtmap(line));\n  });\n  // FIXME: parse rtcp.\n  return description;\n};\n\n// Generates parts of the SDP media section describing the capabilities /\n// parameters.\nSDPUtils.writeRtpDescription = function(kind, caps) {\n  var sdp = '';\n\n  // Build the mline.\n  sdp += 'm=' + kind + ' ';\n  sdp += caps.codecs.length &gt; 0 ? '9' : '0'; // reject if no codecs.\n  sdp += ' UDP/TLS/RTP/SAVPF ';\n  sdp += caps.codecs.map(function(codec) {\n    if (codec.preferredPayloadType !== undefined) {\n      return codec.preferredPayloadType;\n    }\n    return codec.payloadType;\n  }).join(' ') + '\\r\\n';\n\n  sdp += 'c=IN IP4 0.0.0.0\\r\\n';\n  sdp += 'a=rtcp:9 IN IP4 0.0.0.0\\r\\n';\n\n  // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb.\n  caps.codecs.forEach(function(codec) {\n    sdp += SDPUtils.writeRtpMap(codec);\n    sdp += SDPUtils.writeFmtp(codec);\n    sdp += SDPUtils.writeRtcpFb(codec);\n  });\n  var maxptime = 0;\n  caps.codecs.forEach(function(codec) {\n    if (codec.maxptime &gt; maxptime) {\n      maxptime = codec.maxptime;\n    }\n  });\n  if (maxptime &gt; 0) {\n    sdp += 'a=maxptime:' + maxptime + '\\r\\n';\n  }\n  sdp += 'a=rtcp-mux\\r\\n';\n\n  caps.headerExtensions.forEach(function(extension) {\n    sdp += SDPUtils.writeExtmap(extension);\n  });\n  // FIXME: write fecMechanisms.\n  return sdp;\n};\n\n// Parses the SDP media section and returns an array of\n// RTCRtpEncodingParameters.\nSDPUtils.parseRtpEncodingParameters = function(mediaSection) {\n  var encodingParameters = [];\n  var description = SDPUtils.parseRtpParameters(mediaSection);\n  var hasRed = description.fecMechanisms.indexOf('RED') !== -1;\n  var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1;\n\n  // filter a=ssrc:... cname:, ignore PlanB-msid\n  var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n  .map(function(line) {\n    return SDPUtils.parseSsrcMedia(line);\n  })\n  .filter(function(parts) {\n    return parts.attribute === 'cname';\n  });\n  var primarySsrc = ssrcs.length &gt; 0 &amp;&amp; ssrcs[0].ssrc;\n  var secondarySsrc;\n\n  var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID')\n  .map(function(line) {\n    var parts = line.split(' ');\n    parts.shift();\n    return parts.map(function(part) {\n      return parseInt(part, 10);\n    });\n  });\n  if (flows.length &gt; 0 &amp;&amp; flows[0].length &gt; 1 &amp;&amp; flows[0][0] === primarySsrc) {\n    secondarySsrc = flows[0][1];\n  }\n\n  description.codecs.forEach(function(codec) {\n    if (codec.name.toUpperCase() === 'RTX' &amp;&amp; codec.parameters.apt) {\n      var encParam = {\n        ssrc: primarySsrc,\n        codecPayloadType: parseInt(codec.parameters.apt, 10),\n        rtx: {\n          ssrc: secondarySsrc\n        }\n      };\n      encodingParameters.push(encParam);\n      if (hasRed) {\n        encParam = JSON.parse(JSON.stringify(encParam));\n        encParam.fec = {\n          ssrc: secondarySsrc,\n          mechanism: hasUlpfec ? 'red+ulpfec' : 'red'\n        };\n        encodingParameters.push(encParam);\n      }\n    }\n  });\n  if (encodingParameters.length === 0 &amp;&amp; primarySsrc) {\n    encodingParameters.push({\n      ssrc: primarySsrc\n    });\n  }\n\n  // we support both b=AS and b=TIAS but interpret AS as TIAS.\n  var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b=');\n  if (bandwidth.length) {\n    if (bandwidth[0].indexOf('b=TIAS:') === 0) {\n      bandwidth = parseInt(bandwidth[0].substr(7), 10);\n    } else if (bandwidth[0].indexOf('b=AS:') === 0) {\n      // use formula from JSEP to convert b=AS to TIAS value.\n      bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95\n          - (50 * 40 * 8);\n    } else {\n      bandwidth = undefined;\n    }\n    encodingParameters.forEach(function(params) {\n      params.maxBitrate = bandwidth;\n    });\n  }\n  return encodingParameters;\n};\n\n// parses http://draft.ortc.org/#rtcrtcpparameters*\nSDPUtils.parseRtcpParameters = function(mediaSection) {\n  var rtcpParameters = {};\n\n  var cname;\n  // Gets the first SSRC. Note that with RTX there might be multiple\n  // SSRCs.\n  var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n      .map(function(line) {\n        return SDPUtils.parseSsrcMedia(line);\n      })\n      .filter(function(obj) {\n        return obj.attribute === 'cname';\n      })[0];\n  if (remoteSsrc) {\n    rtcpParameters.cname = remoteSsrc.value;\n    rtcpParameters.ssrc = remoteSsrc.ssrc;\n  }\n\n  // Edge uses the compound attribute instead of reducedSize\n  // compound is !reducedSize\n  var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize');\n  rtcpParameters.reducedSize = rsize.length &gt; 0;\n  rtcpParameters.compound = rsize.length === 0;\n\n  // parses the rtcp-mux attrіbute.\n  // Note that Edge does not support unmuxed RTCP.\n  var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux');\n  rtcpParameters.mux = mux.length &gt; 0;\n\n  return rtcpParameters;\n};\n\n// parses either a=msid: or a=ssrc:... msid lines and returns\n// the id of the MediaStream and MediaStreamTrack.\nSDPUtils.parseMsid = function(mediaSection) {\n  var parts;\n  var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:');\n  if (spec.length === 1) {\n    parts = spec[0].substr(7).split(' ');\n    return {stream: parts[0], track: parts[1]};\n  }\n  var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:')\n  .map(function(line) {\n    return SDPUtils.parseSsrcMedia(line);\n  })\n  .filter(function(parts) {\n    return parts.attribute === 'msid';\n  });\n  if (planB.length &gt; 0) {\n    parts = planB[0].value.split(' ');\n    return {stream: parts[0], track: parts[1]};\n  }\n};\n\n// Generate a session ID for SDP.\n// https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-20#section-5.2.1\n// recommends using a cryptographically random +ve 64-bit value\n// but right now this should be acceptable and within the right range\nSDPUtils.generateSessionId = function() {\n  return Math.random().toString().substr(2, 21);\n};\n\n// Write boilder plate for start of SDP\n// sessId argument is optional - if not supplied it will\n// be generated randomly\n// sessVersion is optional and defaults to 2\nSDPUtils.writeSessionBoilerplate = function(sessId, sessVer) {\n  var sessionId;\n  var version = sessVer !== undefined ? sessVer : 2;\n  if (sessId) {\n    sessionId = sessId;\n  } else {\n    sessionId = SDPUtils.generateSessionId();\n  }\n  // FIXME: sess-id should be an NTP timestamp.\n  return 'v=0\\r\\n' +\n      'o=thisisadapterortc ' + sessionId + ' ' + version + ' IN IP4 127.0.0.1\\r\\n' +\n      's=-\\r\\n' +\n      't=0 0\\r\\n';\n};\n\nSDPUtils.writeMediaSection = function(transceiver, caps, type, stream) {\n  var sdp = SDPUtils.writeRtpDescription(transceiver.kind, caps);\n\n  // Map ICE parameters (ufrag, pwd) to SDP.\n  sdp += SDPUtils.writeIceParameters(\n      transceiver.iceGatherer.getLocalParameters());\n\n  // Map DTLS parameters to SDP.\n  sdp += SDPUtils.writeDtlsParameters(\n      transceiver.dtlsTransport.getLocalParameters(),\n      type === 'offer' ? 'actpass' : 'active');\n\n  sdp += 'a=mid:' + transceiver.mid + '\\r\\n';\n\n  if (transceiver.direction) {\n    sdp += 'a=' + transceiver.direction + '\\r\\n';\n  } else if (transceiver.rtpSender &amp;&amp; transceiver.rtpReceiver) {\n    sdp += 'a=sendrecv\\r\\n';\n  } else if (transceiver.rtpSender) {\n    sdp += 'a=sendonly\\r\\n';\n  } else if (transceiver.rtpReceiver) {\n    sdp += 'a=recvonly\\r\\n';\n  } else {\n    sdp += 'a=inactive\\r\\n';\n  }\n\n  if (transceiver.rtpSender) {\n    // spec.\n    var msid = 'msid:' + stream.id + ' ' +\n        transceiver.rtpSender.track.id + '\\r\\n';\n    sdp += 'a=' + msid;\n\n    // for Chrome.\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n        ' ' + msid;\n    if (transceiver.sendEncodingParameters[0].rtx) {\n      sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n          ' ' + msid;\n      sdp += 'a=ssrc-group:FID ' +\n          transceiver.sendEncodingParameters[0].ssrc + ' ' +\n          transceiver.sendEncodingParameters[0].rtx.ssrc +\n          '\\r\\n';\n    }\n  }\n  // FIXME: this should be written by writeRtpDescription.\n  sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].ssrc +\n      ' cname:' + SDPUtils.localCName + '\\r\\n';\n  if (transceiver.rtpSender &amp;&amp; transceiver.sendEncodingParameters[0].rtx) {\n    sdp += 'a=ssrc:' + transceiver.sendEncodingParameters[0].rtx.ssrc +\n        ' cname:' + SDPUtils.localCName + '\\r\\n';\n  }\n  return sdp;\n};\n\n// Gets the direction from the mediaSection or the sessionpart.\nSDPUtils.getDirection = function(mediaSection, sessionpart) {\n  // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv.\n  var lines = SDPUtils.splitLines(mediaSection);\n  for (var i = 0; i &lt; lines.length; i++) {\n    switch (lines[i]) {\n      case 'a=sendrecv':\n      case 'a=sendonly':\n      case 'a=recvonly':\n      case 'a=inactive':\n        return lines[i].substr(2);\n      default:\n        // FIXME: What should happen here?\n    }\n  }\n  if (sessionpart) {\n    return SDPUtils.getDirection(sessionpart);\n  }\n  return 'sendrecv';\n};\n\nSDPUtils.getKind = function(mediaSection) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  return mline[0].substr(2);\n};\n\nSDPUtils.isRejected = function(mediaSection) {\n  return mediaSection.split(' ', 2)[1] === '0';\n};\n\nSDPUtils.parseMLine = function(mediaSection) {\n  var lines = SDPUtils.splitLines(mediaSection);\n  var mline = lines[0].split(' ');\n  return {\n    kind: mline[0].substr(2),\n    port: parseInt(mline[1], 10),\n    protocol: mline[2],\n    fmt: mline.slice(3).join(' ')\n  };\n};\n\n// Expose public methods.\nif (typeof module === 'object') {\n  module.exports = SDPUtils;\n}\n\n},{}],3:[function(require,module,exports){\n(function (global){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n\n'use strict';\n\nvar adapterFactory = require('./adapter_factory.js');\nmodule.exports = adapterFactory({window: global.window});\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./adapter_factory.js\":4}],4:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n\n'use strict';\n\nvar utils = require('./utils');\n// Shimming starts here.\nmodule.exports = function(dependencies, opts) {\n  var window = dependencies &amp;&amp; dependencies.window;\n\n  var options = {\n    shimChrome: true,\n    shimFirefox: true,\n    shimEdge: true,\n    shimSafari: true,\n  };\n\n  for (var key in opts) {\n    if (hasOwnProperty.call(opts, key)) {\n      options[key] = opts[key];\n    }\n  }\n\n  // Utils.\n  var logging = utils.log;\n  var browserDetails = utils.detectBrowser(window);\n\n  // Export to the adapter global object visible in the browser.\n  var adapter = {\n    browserDetails: browserDetails,\n    extractVersion: utils.extractVersion,\n    disableLog: utils.disableLog,\n    disableWarnings: utils.disableWarnings\n  };\n\n  // Uncomment the line below if you want logging to occur, including logging\n  // for the switch statement below. Can also be turned on in the browser via\n  // adapter.disableLog(false), but then logging from the switch statement below\n  // will not appear.\n  // require('./utils').disableLog(false);\n\n  // Browser shims.\n  var chromeShim = require('./chrome/chrome_shim') || null;\n  var edgeShim = require('./edge/edge_shim') || null;\n  var firefoxShim = require('./firefox/firefox_shim') || null;\n  var safariShim = require('./safari/safari_shim') || null;\n  var commonShim = require('./common_shim') || null;\n\n  // Shim browser if found.\n  switch (browserDetails.browser) {\n    case 'chrome':\n      if (!chromeShim || !chromeShim.shimPeerConnection ||\n          !options.shimChrome) {\n        logging('Chrome shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming chrome.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = chromeShim;\n      commonShim.shimCreateObjectURL(window);\n\n      chromeShim.shimGetUserMedia(window);\n      chromeShim.shimMediaStream(window);\n      chromeShim.shimSourceObject(window);\n      chromeShim.shimPeerConnection(window);\n      chromeShim.shimOnTrack(window);\n      chromeShim.shimAddTrackRemoveTrack(window);\n      chromeShim.shimGetSendersWithDtmf(window);\n\n      commonShim.shimRTCIceCandidate(window);\n      break;\n    case 'firefox':\n      if (!firefoxShim || !firefoxShim.shimPeerConnection ||\n          !options.shimFirefox) {\n        logging('Firefox shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming firefox.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = firefoxShim;\n      commonShim.shimCreateObjectURL(window);\n\n      firefoxShim.shimGetUserMedia(window);\n      firefoxShim.shimSourceObject(window);\n      firefoxShim.shimPeerConnection(window);\n      firefoxShim.shimOnTrack(window);\n\n      commonShim.shimRTCIceCandidate(window);\n      break;\n    case 'edge':\n      if (!edgeShim || !edgeShim.shimPeerConnection || !options.shimEdge) {\n        logging('MS edge shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming edge.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = edgeShim;\n      commonShim.shimCreateObjectURL(window);\n\n      edgeShim.shimGetUserMedia(window);\n      edgeShim.shimPeerConnection(window);\n      edgeShim.shimReplaceTrack(window);\n\n      // the edge shim implements the full RTCIceCandidate object.\n      break;\n    case 'safari':\n      if (!safariShim || !options.shimSafari) {\n        logging('Safari shim is not included in this adapter release.');\n        return adapter;\n      }\n      logging('adapter.js shimming safari.');\n      // Export to the adapter global object visible in the browser.\n      adapter.browserShim = safariShim;\n      commonShim.shimCreateObjectURL(window);\n\n      safariShim.shimRTCIceServerUrls(window);\n      safariShim.shimCallbacksAPI(window);\n      safariShim.shimLocalStreamsAPI(window);\n      safariShim.shimRemoteStreamsAPI(window);\n      safariShim.shimTrackEventTransceiver(window);\n      safariShim.shimGetUserMedia(window);\n      safariShim.shimCreateOfferLegacy(window);\n\n      commonShim.shimRTCIceCandidate(window);\n      break;\n    default:\n      logging('Unsupported browser!');\n      break;\n  }\n\n  return adapter;\n};\n\n},{\"./chrome/chrome_shim\":5,\"./common_shim\":7,\"./edge/edge_shim\":8,\"./firefox/firefox_shim\":10,\"./safari/safari_shim\":12,\"./utils\":13}],5:[function(require,module,exports){\n\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\nvar utils = require('../utils.js');\nvar logging = utils.log;\n\nvar chromeShim = {\n  shimMediaStream: function(window) {\n    window.MediaStream = window.MediaStream || window.webkitMediaStream;\n  },\n\n  shimOnTrack: function(window) {\n    if (typeof window === 'object' &amp;&amp; window.RTCPeerConnection &amp;&amp; !('ontrack' in\n        window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {\n        get: function() {\n          return this._ontrack;\n        },\n        set: function(f) {\n          if (this._ontrack) {\n            this.removeEventListener('track', this._ontrack);\n          }\n          this.addEventListener('track', this._ontrack = f);\n        }\n      });\n      var origSetRemoteDescription =\n          window.RTCPeerConnection.prototype.setRemoteDescription;\n      window.RTCPeerConnection.prototype.setRemoteDescription = function() {\n        var pc = this;\n        if (!pc._ontrackpoly) {\n          pc._ontrackpoly = function(e) {\n            // onaddstream does not fire when a track is added to an existing\n            // stream. But stream.onaddtrack is implemented so we use that.\n            e.stream.addEventListener('addtrack', function(te) {\n              var receiver;\n              if (window.RTCPeerConnection.prototype.getReceivers) {\n                receiver = pc.getReceivers().find(function(r) {\n                  return r.track &amp;&amp; r.track.id === te.track.id;\n                });\n              } else {\n                receiver = {track: te.track};\n              }\n\n              var event = new Event('track');\n              event.track = te.track;\n              event.receiver = receiver;\n              event.transceiver = {receiver: receiver};\n              event.streams = [e.stream];\n              pc.dispatchEvent(event);\n            });\n            e.stream.getTracks().forEach(function(track) {\n              var receiver;\n              if (window.RTCPeerConnection.prototype.getReceivers) {\n                receiver = pc.getReceivers().find(function(r) {\n                  return r.track &amp;&amp; r.track.id === track.id;\n                });\n              } else {\n                receiver = {track: track};\n              }\n              var event = new Event('track');\n              event.track = track;\n              event.receiver = receiver;\n              event.transceiver = {receiver: receiver};\n              event.streams = [e.stream];\n              pc.dispatchEvent(event);\n            });\n          };\n          pc.addEventListener('addstream', pc._ontrackpoly);\n        }\n        return origSetRemoteDescription.apply(pc, arguments);\n      };\n    }\n  },\n\n  shimGetSendersWithDtmf: function(window) {\n    // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack.\n    if (typeof window === 'object' &amp;&amp; window.RTCPeerConnection &amp;&amp;\n        !('getSenders' in window.RTCPeerConnection.prototype) &amp;&amp;\n        'createDTMFSender' in window.RTCPeerConnection.prototype) {\n      var shimSenderWithDtmf = function(pc, track) {\n        return {\n          track: track,\n          get dtmf() {\n            if (this._dtmf === undefined) {\n              if (track.kind === 'audio') {\n                this._dtmf = pc.createDTMFSender(track);\n              } else {\n                this._dtmf = null;\n              }\n            }\n            return this._dtmf;\n          },\n          _pc: pc\n        };\n      };\n\n      // augment addTrack when getSenders is not available.\n      if (!window.RTCPeerConnection.prototype.getSenders) {\n        window.RTCPeerConnection.prototype.getSenders = function() {\n          this._senders = this._senders || [];\n          return this._senders.slice(); // return a copy of the internal state.\n        };\n        var origAddTrack = window.RTCPeerConnection.prototype.addTrack;\n        window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n          var pc = this;\n          var sender = origAddTrack.apply(pc, arguments);\n          if (!sender) {\n            sender = shimSenderWithDtmf(pc, track);\n            pc._senders.push(sender);\n          }\n          return sender;\n        };\n\n        var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack;\n        window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n          var pc = this;\n          origRemoveTrack.apply(pc, arguments);\n          var idx = pc._senders.indexOf(sender);\n          if (idx !== -1) {\n            pc._senders.splice(idx, 1);\n          }\n        };\n      }\n      var origAddStream = window.RTCPeerConnection.prototype.addStream;\n      window.RTCPeerConnection.prototype.addStream = function(stream) {\n        var pc = this;\n        pc._senders = pc._senders || [];\n        origAddStream.apply(pc, [stream]);\n        stream.getTracks().forEach(function(track) {\n          pc._senders.push(shimSenderWithDtmf(pc, track));\n        });\n      };\n\n      var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n      window.RTCPeerConnection.prototype.removeStream = function(stream) {\n        var pc = this;\n        pc._senders = pc._senders || [];\n        origRemoveStream.apply(pc, [stream]);\n\n        stream.getTracks().forEach(function(track) {\n          var sender = pc._senders.find(function(s) {\n            return s.track === track;\n          });\n          if (sender) {\n            pc._senders.splice(pc._senders.indexOf(sender), 1); // remove sender\n          }\n        });\n      };\n    } else if (typeof window === 'object' &amp;&amp; window.RTCPeerConnection &amp;&amp;\n               'getSenders' in window.RTCPeerConnection.prototype &amp;&amp;\n               'createDTMFSender' in window.RTCPeerConnection.prototype &amp;&amp;\n               window.RTCRtpSender &amp;&amp;\n               !('dtmf' in window.RTCRtpSender.prototype)) {\n      var origGetSenders = window.RTCPeerConnection.prototype.getSenders;\n      window.RTCPeerConnection.prototype.getSenders = function() {\n        var pc = this;\n        var senders = origGetSenders.apply(pc, []);\n        senders.forEach(function(sender) {\n          sender._pc = pc;\n        });\n        return senders;\n      };\n\n      Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', {\n        get: function() {\n          if (this._dtmf === undefined) {\n            if (this.track.kind === 'audio') {\n              this._dtmf = this._pc.createDTMFSender(this.track);\n            } else {\n              this._dtmf = null;\n            }\n          }\n          return this._dtmf;\n        }\n      });\n    }\n  },\n\n  shimSourceObject: function(window) {\n    var URL = window &amp;&amp; window.URL;\n\n    if (typeof window === 'object') {\n      if (window.HTMLMediaElement &amp;&amp;\n        !('srcObject' in window.HTMLMediaElement.prototype)) {\n        // Shim the srcObject property, once, when HTMLMediaElement is found.\n        Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {\n          get: function() {\n            return this._srcObject;\n          },\n          set: function(stream) {\n            var self = this;\n            // Use _srcObject as a private property for this shim\n            this._srcObject = stream;\n            if (this.src) {\n              URL.revokeObjectURL(this.src);\n            }\n\n            if (!stream) {\n              this.src = '';\n              return undefined;\n            }\n            this.src = URL.createObjectURL(stream);\n            // We need to recreate the blob url when a track is added or\n            // removed. Doing it manually since we want to avoid a recursion.\n            stream.addEventListener('addtrack', function() {\n              if (self.src) {\n                URL.revokeObjectURL(self.src);\n              }\n              self.src = URL.createObjectURL(stream);\n            });\n            stream.addEventListener('removetrack', function() {\n              if (self.src) {\n                URL.revokeObjectURL(self.src);\n              }\n              self.src = URL.createObjectURL(stream);\n            });\n          }\n        });\n      }\n    }\n  },\n\n  shimAddTrackRemoveTrack: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n    // shim addTrack and removeTrack.\n    if (window.RTCPeerConnection.prototype.addTrack &amp;&amp;\n        browserDetails.version &gt;= 63) {\n      return;\n    }\n\n    // also shim pc.getLocalStreams when addTrack is shimmed\n    // to return the original streams.\n    var origGetLocalStreams = window.RTCPeerConnection.prototype\n        .getLocalStreams;\n    window.RTCPeerConnection.prototype.getLocalStreams = function() {\n      var self = this;\n      var nativeStreams = origGetLocalStreams.apply(this);\n      self._reverseStreams = self._reverseStreams || {};\n      return nativeStreams.map(function(stream) {\n        return self._reverseStreams[stream.id];\n      });\n    };\n\n    var origAddStream = window.RTCPeerConnection.prototype.addStream;\n    window.RTCPeerConnection.prototype.addStream = function(stream) {\n      var pc = this;\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n\n      stream.getTracks().forEach(function(track) {\n        var alreadyExists = pc.getSenders().find(function(s) {\n          return s.track === track;\n        });\n        if (alreadyExists) {\n          throw new DOMException('Track already exists.',\n              'InvalidAccessError');\n        }\n      });\n      // Add identity mapping for consistency with addTrack.\n      // Unless this is being used with a stream from addTrack.\n      if (!pc._reverseStreams[stream.id]) {\n        var newStream = new window.MediaStream(stream.getTracks());\n        pc._streams[stream.id] = newStream;\n        pc._reverseStreams[newStream.id] = stream;\n        stream = newStream;\n      }\n      origAddStream.apply(pc, [stream]);\n    };\n\n    var origRemoveStream = window.RTCPeerConnection.prototype.removeStream;\n    window.RTCPeerConnection.prototype.removeStream = function(stream) {\n      var pc = this;\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n\n      origRemoveStream.apply(pc, [(pc._streams[stream.id] || stream)]);\n      delete pc._reverseStreams[(pc._streams[stream.id] ?\n          pc._streams[stream.id].id : stream.id)];\n      delete pc._streams[stream.id];\n    };\n\n    window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n      var pc = this;\n      if (pc.signalingState === 'closed') {\n        throw new DOMException(\n          'The RTCPeerConnection\\'s signalingState is \\'closed\\'.',\n          'InvalidStateError');\n      }\n      var streams = [].slice.call(arguments, 1);\n      if (streams.length !== 1 ||\n          !streams[0].getTracks().find(function(t) {\n            return t === track;\n          })) {\n        // this is not fully correct but all we can manage without\n        // [[associated MediaStreams]] internal slot.\n        throw new DOMException(\n          'The adapter.js addTrack polyfill only supports a single ' +\n          ' stream which is associated with the specified track.',\n          'NotSupportedError');\n      }\n\n      var alreadyExists = pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n      if (alreadyExists) {\n        throw new DOMException('Track already exists.',\n            'InvalidAccessError');\n      }\n\n      pc._streams = pc._streams || {};\n      pc._reverseStreams = pc._reverseStreams || {};\n      var oldStream = pc._streams[stream.id];\n      if (oldStream) {\n        // this is using odd Chrome behaviour, use with caution:\n        // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815\n        // Note: we rely on the high-level addTrack/dtmf shim to\n        // create the sender with a dtmf sender.\n        oldStream.addTrack(track);\n\n        // Trigger ONN async.\n        Promise.resolve().then(function() {\n          pc.dispatchEvent(new Event('negotiationneeded'));\n        });\n      } else {\n        var newStream = new window.MediaStream([track]);\n        pc._streams[stream.id] = newStream;\n        pc._reverseStreams[newStream.id] = stream;\n        pc.addStream(newStream);\n      }\n      return pc.getSenders().find(function(s) {\n        return s.track === track;\n      });\n    };\n\n    // replace the internal stream id with the external one and\n    // vice versa.\n    function replaceInternalStreamId(pc, description) {\n      var sdp = description.sdp;\n      Object.keys(pc._reverseStreams || []).forEach(function(internalId) {\n        var externalStream = pc._reverseStreams[internalId];\n        var internalStream = pc._streams[externalStream.id];\n        sdp = sdp.replace(new RegExp(internalStream.id, 'g'),\n            externalStream.id);\n      });\n      return new RTCSessionDescription({\n        type: description.type,\n        sdp: sdp\n      });\n    }\n    function replaceExternalStreamId(pc, description) {\n      var sdp = description.sdp;\n      Object.keys(pc._reverseStreams || []).forEach(function(internalId) {\n        var externalStream = pc._reverseStreams[internalId];\n        var internalStream = pc._streams[externalStream.id];\n        sdp = sdp.replace(new RegExp(externalStream.id, 'g'),\n            internalStream.id);\n      });\n      return new RTCSessionDescription({\n        type: description.type,\n        sdp: sdp\n      });\n    }\n    ['createOffer', 'createAnswer'].forEach(function(method) {\n      var nativeMethod = window.RTCPeerConnection.prototype[method];\n      window.RTCPeerConnection.prototype[method] = function() {\n        var pc = this;\n        var args = arguments;\n        var isLegacyCall = arguments.length &amp;&amp;\n            typeof arguments[0] === 'function';\n        if (isLegacyCall) {\n          return nativeMethod.apply(pc, [\n            function(description) {\n              var desc = replaceInternalStreamId(pc, description);\n              args[0].apply(null, [desc]);\n            },\n            function(err) {\n              if (args[1]) {\n                args[1].apply(null, err);\n              }\n            }, arguments[2]\n          ]);\n        }\n        return nativeMethod.apply(pc, arguments)\n        .then(function(description) {\n          return replaceInternalStreamId(pc, description);\n        });\n      };\n    });\n\n    var origSetLocalDescription =\n        window.RTCPeerConnection.prototype.setLocalDescription;\n    window.RTCPeerConnection.prototype.setLocalDescription = function() {\n      var pc = this;\n      if (!arguments.length || !arguments[0].type) {\n        return origSetLocalDescription.apply(pc, arguments);\n      }\n      arguments[0] = replaceExternalStreamId(pc, arguments[0]);\n      return origSetLocalDescription.apply(pc, arguments);\n    };\n\n    // TODO: mangle getStats: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamstats-streamidentifier\n\n    var origLocalDescription = Object.getOwnPropertyDescriptor(\n        window.RTCPeerConnection.prototype, 'localDescription');\n    Object.defineProperty(window.RTCPeerConnection.prototype,\n        'localDescription', {\n          get: function() {\n            var pc = this;\n            var description = origLocalDescription.get.apply(this);\n            if (description.type === '') {\n              return description;\n            }\n            return replaceInternalStreamId(pc, description);\n          }\n        });\n\n    window.RTCPeerConnection.prototype.removeTrack = function(sender) {\n      var pc = this;\n      if (pc.signalingState === 'closed') {\n        throw new DOMException(\n          'The RTCPeerConnection\\'s signalingState is \\'closed\\'.',\n          'InvalidStateError');\n      }\n      // We can not yet check for sender instanceof RTCRtpSender\n      // since we shim RTPSender. So we check if sender._pc is set.\n      if (!sender._pc) {\n        throw new DOMException('Argument 1 of RTCPeerConnection.removeTrack ' +\n            'does not implement interface RTCRtpSender.', 'TypeError');\n      }\n      var isLocal = sender._pc === pc;\n      if (!isLocal) {\n        throw new DOMException('Sender was not created by this connection.',\n            'InvalidAccessError');\n      }\n\n      // Search for the native stream the senders track belongs to.\n      pc._streams = pc._streams || {};\n      var stream;\n      Object.keys(pc._streams).forEach(function(streamid) {\n        var hasTrack = pc._streams[streamid].getTracks().find(function(track) {\n          return sender.track === track;\n        });\n        if (hasTrack) {\n          stream = pc._streams[streamid];\n        }\n      });\n\n      if (stream) {\n        if (stream.getTracks().length === 1) {\n          // if this is the last track of the stream, remove the stream. This\n          // takes care of any shimmed _senders.\n          pc.removeStream(pc._reverseStreams[stream.id]);\n        } else {\n          // relying on the same odd chrome behaviour as above.\n          stream.removeTrack(sender.track);\n        }\n        pc.dispatchEvent(new Event('negotiationneeded'));\n      }\n    };\n  },\n\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    // The RTCPeerConnection object.\n    if (!window.RTCPeerConnection) {\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        // Translate iceTransportPolicy to iceTransports,\n        // see https://code.google.com/p/webrtc/issues/detail?id=4869\n        // this was fixed in M56 along with unprefixing RTCPeerConnection.\n        logging('PeerConnection');\n        if (pcConfig &amp;&amp; pcConfig.iceTransportPolicy) {\n          pcConfig.iceTransports = pcConfig.iceTransportPolicy;\n        }\n\n        return new window.webkitRTCPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype =\n          window.webkitRTCPeerConnection.prototype;\n      // wrap static methods. Currently just generateCertificate.\n      if (window.webkitRTCPeerConnection.generateCertificate) {\n        Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n          get: function() {\n            return window.webkitRTCPeerConnection.generateCertificate;\n          }\n        });\n      }\n    } else {\n      // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n      var OrigPeerConnection = window.RTCPeerConnection;\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        if (pcConfig &amp;&amp; pcConfig.iceServers) {\n          var newIceServers = [];\n          for (var i = 0; i &lt; pcConfig.iceServers.length; i++) {\n            var server = pcConfig.iceServers[i];\n            if (!server.hasOwnProperty('urls') &amp;&amp;\n                server.hasOwnProperty('url')) {\n              utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n              server = JSON.parse(JSON.stringify(server));\n              server.urls = server.url;\n              newIceServers.push(server);\n            } else {\n              newIceServers.push(pcConfig.iceServers[i]);\n            }\n          }\n          pcConfig.iceServers = newIceServers;\n        }\n        return new OrigPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n      // wrap static methods. Currently just generateCertificate.\n      Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n        get: function() {\n          return OrigPeerConnection.generateCertificate;\n        }\n      });\n    }\n\n    var origGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function(selector,\n        successCallback, errorCallback) {\n      var self = this;\n      var args = arguments;\n\n      // If selector is a function then we are in the old style stats so just\n      // pass back the original getStats format to avoid breaking old users.\n      if (arguments.length &gt; 0 &amp;&amp; typeof selector === 'function') {\n        return origGetStats.apply(this, arguments);\n      }\n\n      // When spec-style getStats is supported, return those when called with\n      // either no arguments or the selector argument is null.\n      if (origGetStats.length === 0 &amp;&amp; (arguments.length === 0 ||\n          typeof arguments[0] !== 'function')) {\n        return origGetStats.apply(this, []);\n      }\n\n      var fixChromeStats_ = function(response) {\n        var standardReport = {};\n        var reports = response.result();\n        reports.forEach(function(report) {\n          var standardStats = {\n            id: report.id,\n            timestamp: report.timestamp,\n            type: {\n              localcandidate: 'local-candidate',\n              remotecandidate: 'remote-candidate'\n            }[report.type] || report.type\n          };\n          report.names().forEach(function(name) {\n            standardStats[name] = report.stat(name);\n          });\n          standardReport[standardStats.id] = standardStats;\n        });\n\n        return standardReport;\n      };\n\n      // shim getStats with maplike support\n      var makeMapStats = function(stats) {\n        return new Map(Object.keys(stats).map(function(key) {\n          return [key, stats[key]];\n        }));\n      };\n\n      if (arguments.length &gt;= 2) {\n        var successCallbackWrapper_ = function(response) {\n          args[1](makeMapStats(fixChromeStats_(response)));\n        };\n\n        return origGetStats.apply(this, [successCallbackWrapper_,\n          arguments[0]]);\n      }\n\n      // promise-support\n      return new Promise(function(resolve, reject) {\n        origGetStats.apply(self, [\n          function(response) {\n            resolve(makeMapStats(fixChromeStats_(response)));\n          }, reject]);\n      }).then(successCallback, errorCallback);\n    };\n\n    // add promise support -- natively available in Chrome 51\n    if (browserDetails.version &lt; 51) {\n      ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n          .forEach(function(method) {\n            var nativeMethod = window.RTCPeerConnection.prototype[method];\n            window.RTCPeerConnection.prototype[method] = function() {\n              var args = arguments;\n              var self = this;\n              var promise = new Promise(function(resolve, reject) {\n                nativeMethod.apply(self, [args[0], resolve, reject]);\n              });\n              if (args.length &lt; 2) {\n                return promise;\n              }\n              return promise.then(function() {\n                args[1].apply(null, []);\n              },\n              function(err) {\n                if (args.length &gt;= 3) {\n                  args[2].apply(null, [err]);\n                }\n              });\n            };\n          });\n    }\n\n    // promise support for createOffer and createAnswer. Available (without\n    // bugs) since M52: crbug/619289\n    if (browserDetails.version &lt; 52) {\n      ['createOffer', 'createAnswer'].forEach(function(method) {\n        var nativeMethod = window.RTCPeerConnection.prototype[method];\n        window.RTCPeerConnection.prototype[method] = function() {\n          var self = this;\n          if (arguments.length &lt; 1 || (arguments.length === 1 &amp;&amp;\n              typeof arguments[0] === 'object')) {\n            var opts = arguments.length === 1 ? arguments[0] : undefined;\n            return new Promise(function(resolve, reject) {\n              nativeMethod.apply(self, [resolve, reject, opts]);\n            });\n          }\n          return nativeMethod.apply(this, arguments);\n        };\n      });\n    }\n\n    // shim implicit creation of RTCSessionDescription/RTCIceCandidate\n    ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n        .forEach(function(method) {\n          var nativeMethod = window.RTCPeerConnection.prototype[method];\n          window.RTCPeerConnection.prototype[method] = function() {\n            arguments[0] = new ((method === 'addIceCandidate') ?\n                window.RTCIceCandidate :\n                window.RTCSessionDescription)(arguments[0]);\n            return nativeMethod.apply(this, arguments);\n          };\n        });\n\n    // support for addIceCandidate(null or undefined)\n    var nativeAddIceCandidate =\n        window.RTCPeerConnection.prototype.addIceCandidate;\n    window.RTCPeerConnection.prototype.addIceCandidate = function() {\n      if (!arguments[0]) {\n        if (arguments[1]) {\n          arguments[1].apply(null);\n        }\n        return Promise.resolve();\n      }\n      return nativeAddIceCandidate.apply(this, arguments);\n    };\n  }\n};\n\n\n// Expose public methods.\nmodule.exports = {\n  shimMediaStream: chromeShim.shimMediaStream,\n  shimOnTrack: chromeShim.shimOnTrack,\n  shimAddTrackRemoveTrack: chromeShim.shimAddTrackRemoveTrack,\n  shimGetSendersWithDtmf: chromeShim.shimGetSendersWithDtmf,\n  shimSourceObject: chromeShim.shimSourceObject,\n  shimPeerConnection: chromeShim.shimPeerConnection,\n  shimGetUserMedia: require('./getusermedia')\n};\n\n},{\"../utils.js\":13,\"./getusermedia\":6}],6:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\nvar utils = require('../utils.js');\nvar logging = utils.log;\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var browserDetails = utils.detectBrowser(window);\n  var navigator = window &amp;&amp; window.navigator;\n\n  var constraintsToChrome_ = function(c) {\n    if (typeof c !== 'object' || c.mandatory || c.optional) {\n      return c;\n    }\n    var cc = {};\n    Object.keys(c).forEach(function(key) {\n      if (key === 'require' || key === 'advanced' || key === 'mediaSource') {\n        return;\n      }\n      var r = (typeof c[key] === 'object') ? c[key] : {ideal: c[key]};\n      if (r.exact !== undefined &amp;&amp; typeof r.exact === 'number') {\n        r.min = r.max = r.exact;\n      }\n      var oldname_ = function(prefix, name) {\n        if (prefix) {\n          return prefix + name.charAt(0).toUpperCase() + name.slice(1);\n        }\n        return (name === 'deviceId') ? 'sourceId' : name;\n      };\n      if (r.ideal !== undefined) {\n        cc.optional = cc.optional || [];\n        var oc = {};\n        if (typeof r.ideal === 'number') {\n          oc[oldname_('min', key)] = r.ideal;\n          cc.optional.push(oc);\n          oc = {};\n          oc[oldname_('max', key)] = r.ideal;\n          cc.optional.push(oc);\n        } else {\n          oc[oldname_('', key)] = r.ideal;\n          cc.optional.push(oc);\n        }\n      }\n      if (r.exact !== undefined &amp;&amp; typeof r.exact !== 'number') {\n        cc.mandatory = cc.mandatory || {};\n        cc.mandatory[oldname_('', key)] = r.exact;\n      } else {\n        ['min', 'max'].forEach(function(mix) {\n          if (r[mix] !== undefined) {\n            cc.mandatory = cc.mandatory || {};\n            cc.mandatory[oldname_(mix, key)] = r[mix];\n          }\n        });\n      }\n    });\n    if (c.advanced) {\n      cc.optional = (cc.optional || []).concat(c.advanced);\n    }\n    return cc;\n  };\n\n  var shimConstraints_ = function(constraints, func) {\n    constraints = JSON.parse(JSON.stringify(constraints));\n    if (constraints &amp;&amp; typeof constraints.audio === 'object') {\n      var remap = function(obj, a, b) {\n        if (a in obj &amp;&amp; !(b in obj)) {\n          obj[b] = obj[a];\n          delete obj[a];\n        }\n      };\n      constraints = JSON.parse(JSON.stringify(constraints));\n      remap(constraints.audio, 'autoGainControl', 'googAutoGainControl');\n      remap(constraints.audio, 'noiseSuppression', 'googNoiseSuppression');\n      constraints.audio = constraintsToChrome_(constraints.audio);\n    }\n    if (constraints &amp;&amp; typeof constraints.video === 'object') {\n      // Shim facingMode for mobile &amp; surface pro.\n      var face = constraints.video.facingMode;\n      face = face &amp;&amp; ((typeof face === 'object') ? face : {ideal: face});\n      var getSupportedFacingModeLies = browserDetails.version &lt; 66;\n\n      if ((face &amp;&amp; (face.exact === 'user' || face.exact === 'environment' ||\n                    face.ideal === 'user' || face.ideal === 'environment')) &amp;&amp;\n          !(navigator.mediaDevices.getSupportedConstraints &amp;&amp;\n            navigator.mediaDevices.getSupportedConstraints().facingMode &amp;&amp;\n            !getSupportedFacingModeLies)) {\n        delete constraints.video.facingMode;\n        var matches;\n        if (face.exact === 'environment' || face.ideal === 'environment') {\n          matches = ['back', 'rear'];\n        } else if (face.exact === 'user' || face.ideal === 'user') {\n          matches = ['front'];\n        }\n        if (matches) {\n          // Look for matches in label, or use last cam for back (typical).\n          return navigator.mediaDevices.enumerateDevices()\n          .then(function(devices) {\n            devices = devices.filter(function(d) {\n              return d.kind === 'videoinput';\n            });\n            var dev = devices.find(function(d) {\n              return matches.some(function(match) {\n                return d.label.toLowerCase().indexOf(match) !== -1;\n              });\n            });\n            if (!dev &amp;&amp; devices.length &amp;&amp; matches.indexOf('back') !== -1) {\n              dev = devices[devices.length - 1]; // more likely the back cam\n            }\n            if (dev) {\n              constraints.video.deviceId = face.exact ? {exact: dev.deviceId} :\n                                                        {ideal: dev.deviceId};\n            }\n            constraints.video = constraintsToChrome_(constraints.video);\n            logging('chrome: ' + JSON.stringify(constraints));\n            return func(constraints);\n          });\n        }\n      }\n      constraints.video = constraintsToChrome_(constraints.video);\n    }\n    logging('chrome: ' + JSON.stringify(constraints));\n    return func(constraints);\n  };\n\n  var shimError_ = function(e) {\n    return {\n      name: {\n        PermissionDeniedError: 'NotAllowedError',\n        InvalidStateError: 'NotReadableError',\n        DevicesNotFoundError: 'NotFoundError',\n        ConstraintNotSatisfiedError: 'OverconstrainedError',\n        TrackStartError: 'NotReadableError',\n        MediaDeviceFailedDueToShutdown: 'NotReadableError',\n        MediaDeviceKillSwitchOn: 'NotReadableError'\n      }[e.name] || e.name,\n      message: e.message,\n      constraint: e.constraintName,\n      toString: function() {\n        return this.name + (this.message &amp;&amp; ': ') + this.message;\n      }\n    };\n  };\n\n  var getUserMedia_ = function(constraints, onSuccess, onError) {\n    shimConstraints_(constraints, function(c) {\n      navigator.webkitGetUserMedia(c, onSuccess, function(e) {\n        if (onError) {\n          onError(shimError_(e));\n        }\n      });\n    });\n  };\n\n  navigator.getUserMedia = getUserMedia_;\n\n  // Returns the result of getUserMedia as a Promise.\n  var getUserMediaPromise_ = function(constraints) {\n    return new Promise(function(resolve, reject) {\n      navigator.getUserMedia(constraints, resolve, reject);\n    });\n  };\n\n  if (!navigator.mediaDevices) {\n    navigator.mediaDevices = {\n      getUserMedia: getUserMediaPromise_,\n      enumerateDevices: function() {\n        return new Promise(function(resolve) {\n          var kinds = {audio: 'audioinput', video: 'videoinput'};\n          return window.MediaStreamTrack.getSources(function(devices) {\n            resolve(devices.map(function(device) {\n              return {label: device.label,\n                kind: kinds[device.kind],\n                deviceId: device.id,\n                groupId: ''};\n            }));\n          });\n        });\n      },\n      getSupportedConstraints: function() {\n        return {\n          deviceId: true, echoCancellation: true, facingMode: true,\n          frameRate: true, height: true, width: true\n        };\n      }\n    };\n  }\n\n  // A shim for getUserMedia method on the mediaDevices object.\n  // TODO(KaptenJansson) remove once implemented in Chrome stable.\n  if (!navigator.mediaDevices.getUserMedia) {\n    navigator.mediaDevices.getUserMedia = function(constraints) {\n      return getUserMediaPromise_(constraints);\n    };\n  } else {\n    // Even though Chrome 45 has navigator.mediaDevices and a getUserMedia\n    // function which returns a Promise, it does not accept spec-style\n    // constraints.\n    var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(cs) {\n      return shimConstraints_(cs, function(c) {\n        return origGetUserMedia(c).then(function(stream) {\n          if (c.audio &amp;&amp; !stream.getAudioTracks().length ||\n              c.video &amp;&amp; !stream.getVideoTracks().length) {\n            stream.getTracks().forEach(function(track) {\n              track.stop();\n            });\n            throw new DOMException('', 'NotFoundError');\n          }\n          return stream;\n        }, function(e) {\n          return Promise.reject(shimError_(e));\n        });\n      });\n    };\n  }\n\n  // Dummy devicechange event methods.\n  // TODO(KaptenJansson) remove once implemented in Chrome stable.\n  if (typeof navigator.mediaDevices.addEventListener === 'undefined') {\n    navigator.mediaDevices.addEventListener = function() {\n      logging('Dummy mediaDevices.addEventListener called.');\n    };\n  }\n  if (typeof navigator.mediaDevices.removeEventListener === 'undefined') {\n    navigator.mediaDevices.removeEventListener = function() {\n      logging('Dummy mediaDevices.removeEventListener called.');\n    };\n  }\n};\n\n},{\"../utils.js\":13}],7:[function(require,module,exports){\n/*\n *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar SDPUtils = require('sdp');\nvar utils = require('./utils');\n\n// Wraps the peerconnection event eventNameToWrap in a function\n// which returns the modified event object.\nfunction wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) {\n  if (!window.RTCPeerConnection) {\n    return;\n  }\n  var proto = window.RTCPeerConnection.prototype;\n  var nativeAddEventListener = proto.addEventListener;\n  proto.addEventListener = function(nativeEventName, cb) {\n    if (nativeEventName !== eventNameToWrap) {\n      return nativeAddEventListener.apply(this, arguments);\n    }\n    var wrappedCallback = function(e) {\n      cb(wrapper(e));\n    };\n    this._eventMap = this._eventMap || {};\n    this._eventMap[cb] = wrappedCallback;\n    return nativeAddEventListener.apply(this, [nativeEventName,\n      wrappedCallback]);\n  };\n\n  var nativeRemoveEventListener = proto.removeEventListener;\n  proto.removeEventListener = function(nativeEventName, cb) {\n    if (nativeEventName !== eventNameToWrap || !this._eventMap\n        || !this._eventMap[cb]) {\n      return nativeRemoveEventListener.apply(this, arguments);\n    }\n    var unwrappedCb = this._eventMap[cb];\n    delete this._eventMap[cb];\n    return nativeRemoveEventListener.apply(this, [nativeEventName,\n      unwrappedCb]);\n  };\n\n  Object.defineProperty(proto, 'on' + eventNameToWrap, {\n    get: function() {\n      return this['_on' + eventNameToWrap];\n    },\n    set: function(cb) {\n      if (this['_on' + eventNameToWrap]) {\n        this.removeEventListener(eventNameToWrap,\n            this['_on' + eventNameToWrap]);\n        delete this['_on' + eventNameToWrap];\n      }\n      if (cb) {\n        this.addEventListener(eventNameToWrap,\n            this['_on' + eventNameToWrap] = cb);\n      }\n    }\n  });\n}\n\nmodule.exports = {\n  shimRTCIceCandidate: function(window) {\n    // foundation is arbitrarily chosen as an indicator for full support for\n    // https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface\n    if (window.RTCIceCandidate &amp;&amp; 'foundation' in\n        window.RTCIceCandidate.prototype) {\n      return;\n    }\n\n    var NativeRTCIceCandidate = window.RTCIceCandidate;\n    window.RTCIceCandidate = function(args) {\n      // Remove the a= which shouldn't be part of the candidate string.\n      if (typeof args === 'object' &amp;&amp; args.candidate &amp;&amp;\n          args.candidate.indexOf('a=') === 0) {\n        args = JSON.parse(JSON.stringify(args));\n        args.candidate = args.candidate.substr(2);\n      }\n\n      // Augment the native candidate with the parsed fields.\n      var nativeCandidate = new NativeRTCIceCandidate(args);\n      var parsedCandidate = SDPUtils.parseCandidate(args.candidate);\n      var augmentedCandidate = Object.assign(nativeCandidate,\n          parsedCandidate);\n\n      // Add a serializer that does not serialize the extra attributes.\n      augmentedCandidate.toJSON = function() {\n        return {\n          candidate: augmentedCandidate.candidate,\n          sdpMid: augmentedCandidate.sdpMid,\n          sdpMLineIndex: augmentedCandidate.sdpMLineIndex,\n          usernameFragment: augmentedCandidate.usernameFragment,\n        };\n      };\n      return augmentedCandidate;\n    };\n\n    // Hook up the augmented candidate in onicecandidate and\n    // addEventListener('icecandidate', ...)\n    wrapPeerConnectionEvent(window, 'icecandidate', function(e) {\n      if (e.candidate) {\n        Object.defineProperty(e, 'candidate', {\n          value: new window.RTCIceCandidate(e.candidate),\n          writable: 'false'\n        });\n      }\n      return e;\n    });\n  },\n\n  // shimCreateObjectURL must be called before shimSourceObject to avoid loop.\n\n  shimCreateObjectURL: function(window) {\n    var URL = window &amp;&amp; window.URL;\n\n    if (!(typeof window === 'object' &amp;&amp; window.HTMLMediaElement &amp;&amp;\n          'srcObject' in window.HTMLMediaElement.prototype &amp;&amp;\n        URL.createObjectURL &amp;&amp; URL.revokeObjectURL)) {\n      // Only shim CreateObjectURL using srcObject if srcObject exists.\n      return undefined;\n    }\n\n    var nativeCreateObjectURL = URL.createObjectURL.bind(URL);\n    var nativeRevokeObjectURL = URL.revokeObjectURL.bind(URL);\n    var streams = new Map(), newId = 0;\n\n    URL.createObjectURL = function(stream) {\n      if ('getTracks' in stream) {\n        var url = 'polyblob:' + (++newId);\n        streams.set(url, stream);\n        utils.deprecated('URL.createObjectURL(stream)',\n            'elem.srcObject = stream');\n        return url;\n      }\n      return nativeCreateObjectURL(stream);\n    };\n    URL.revokeObjectURL = function(url) {\n      nativeRevokeObjectURL(url);\n      streams.delete(url);\n    };\n\n    var dsc = Object.getOwnPropertyDescriptor(window.HTMLMediaElement.prototype,\n                                              'src');\n    Object.defineProperty(window.HTMLMediaElement.prototype, 'src', {\n      get: function() {\n        return dsc.get.apply(this);\n      },\n      set: function(url) {\n        this.srcObject = streams.get(url) || null;\n        return dsc.set.apply(this, [url]);\n      }\n    });\n\n    var nativeSetAttribute = window.HTMLMediaElement.prototype.setAttribute;\n    window.HTMLMediaElement.prototype.setAttribute = function() {\n      if (arguments.length === 2 &amp;&amp;\n          ('' + arguments[0]).toLowerCase() === 'src') {\n        this.srcObject = streams.get(arguments[1]) || null;\n      }\n      return nativeSetAttribute.apply(this, arguments);\n    };\n  }\n};\n\n},{\"./utils\":13,\"sdp\":2}],8:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\nvar shimRTCPeerConnection = require('rtcpeerconnection-shim');\n\nmodule.exports = {\n  shimGetUserMedia: require('./getusermedia'),\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    if (window.RTCIceGatherer) {\n      // ORTC defines an RTCIceCandidate object but no constructor.\n      // Not implemented in Edge.\n      if (!window.RTCIceCandidate) {\n        window.RTCIceCandidate = function(args) {\n          return args;\n        };\n      }\n      // ORTC does not have a session description object but\n      // other browsers (i.e. Chrome) that will support both PC and ORTC\n      // in the future might have this defined already.\n      if (!window.RTCSessionDescription) {\n        window.RTCSessionDescription = function(args) {\n          return args;\n        };\n      }\n      // this adds an additional event listener to MediaStrackTrack that signals\n      // when a tracks enabled property was changed. Workaround for a bug in\n      // addStream, see below. No longer required in 15025+\n      if (browserDetails.version &lt; 15025) {\n        var origMSTEnabled = Object.getOwnPropertyDescriptor(\n            window.MediaStreamTrack.prototype, 'enabled');\n        Object.defineProperty(window.MediaStreamTrack.prototype, 'enabled', {\n          set: function(value) {\n            origMSTEnabled.set.call(this, value);\n            var ev = new Event('enabled');\n            ev.enabled = value;\n            this.dispatchEvent(ev);\n          }\n        });\n      }\n    }\n\n    // ORTC defines the DTMF sender a bit different.\n    // https://github.com/w3c/ortc/issues/714\n    if (window.RTCRtpSender &amp;&amp; !('dtmf' in window.RTCRtpSender.prototype)) {\n      Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', {\n        get: function() {\n          if (this._dtmf === undefined) {\n            if (this.track.kind === 'audio') {\n              this._dtmf = new window.RTCDtmfSender(this);\n            } else if (this.track.kind === 'video') {\n              this._dtmf = null;\n            }\n          }\n          return this._dtmf;\n        }\n      });\n    }\n\n    window.RTCPeerConnection =\n        shimRTCPeerConnection(window, browserDetails.version);\n  },\n  shimReplaceTrack: function(window) {\n    // ORTC has replaceTrack -- https://github.com/w3c/ortc/issues/614\n    if (window.RTCRtpSender &amp;&amp;\n        !('replaceTrack' in window.RTCRtpSender.prototype)) {\n      window.RTCRtpSender.prototype.replaceTrack =\n          window.RTCRtpSender.prototype.setTrack;\n    }\n  }\n};\n\n},{\"../utils\":13,\"./getusermedia\":9,\"rtcpeerconnection-shim\":1}],9:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var navigator = window &amp;&amp; window.navigator;\n\n  var shimError_ = function(e) {\n    return {\n      name: {PermissionDeniedError: 'NotAllowedError'}[e.name] || e.name,\n      message: e.message,\n      constraint: e.constraint,\n      toString: function() {\n        return this.name;\n      }\n    };\n  };\n\n  // getUserMedia error shim.\n  var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n      bind(navigator.mediaDevices);\n  navigator.mediaDevices.getUserMedia = function(c) {\n    return origGetUserMedia(c).catch(function(e) {\n      return Promise.reject(shimError_(e));\n    });\n  };\n};\n\n},{}],10:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\n\nvar firefoxShim = {\n  shimOnTrack: function(window) {\n    if (typeof window === 'object' &amp;&amp; window.RTCPeerConnection &amp;&amp; !('ontrack' in\n        window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', {\n        get: function() {\n          return this._ontrack;\n        },\n        set: function(f) {\n          if (this._ontrack) {\n            this.removeEventListener('track', this._ontrack);\n            this.removeEventListener('addstream', this._ontrackpoly);\n          }\n          this.addEventListener('track', this._ontrack = f);\n          this.addEventListener('addstream', this._ontrackpoly = function(e) {\n            e.stream.getTracks().forEach(function(track) {\n              var event = new Event('track');\n              event.track = track;\n              event.receiver = {track: track};\n              event.transceiver = {receiver: event.receiver};\n              event.streams = [e.stream];\n              this.dispatchEvent(event);\n            }.bind(this));\n          }.bind(this));\n        }\n      });\n    }\n    if (typeof window === 'object' &amp;&amp; window.RTCTrackEvent &amp;&amp;\n        ('receiver' in window.RTCTrackEvent.prototype) &amp;&amp;\n        !('transceiver' in window.RTCTrackEvent.prototype)) {\n      Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', {\n        get: function() {\n          return {receiver: this.receiver};\n        }\n      });\n    }\n  },\n\n  shimSourceObject: function(window) {\n    // Firefox has supported mozSrcObject since FF22, unprefixed in 42.\n    if (typeof window === 'object') {\n      if (window.HTMLMediaElement &amp;&amp;\n        !('srcObject' in window.HTMLMediaElement.prototype)) {\n        // Shim the srcObject property, once, when HTMLMediaElement is found.\n        Object.defineProperty(window.HTMLMediaElement.prototype, 'srcObject', {\n          get: function() {\n            return this.mozSrcObject;\n          },\n          set: function(stream) {\n            this.mozSrcObject = stream;\n          }\n        });\n      }\n    }\n  },\n\n  shimPeerConnection: function(window) {\n    var browserDetails = utils.detectBrowser(window);\n\n    if (typeof window !== 'object' || !(window.RTCPeerConnection ||\n        window.mozRTCPeerConnection)) {\n      return; // probably media.peerconnection.enabled=false in about:config\n    }\n    // The RTCPeerConnection object.\n    if (!window.RTCPeerConnection) {\n      window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n        if (browserDetails.version &lt; 38) {\n          // .urls is not supported in FF &lt; 38.\n          // create RTCIceServers with a single url.\n          if (pcConfig &amp;&amp; pcConfig.iceServers) {\n            var newIceServers = [];\n            for (var i = 0; i &lt; pcConfig.iceServers.length; i++) {\n              var server = pcConfig.iceServers[i];\n              if (server.hasOwnProperty('urls')) {\n                for (var j = 0; j &lt; server.urls.length; j++) {\n                  var newServer = {\n                    url: server.urls[j]\n                  };\n                  if (server.urls[j].indexOf('turn') === 0) {\n                    newServer.username = server.username;\n                    newServer.credential = server.credential;\n                  }\n                  newIceServers.push(newServer);\n                }\n              } else {\n                newIceServers.push(pcConfig.iceServers[i]);\n              }\n            }\n            pcConfig.iceServers = newIceServers;\n          }\n        }\n        return new window.mozRTCPeerConnection(pcConfig, pcConstraints);\n      };\n      window.RTCPeerConnection.prototype =\n          window.mozRTCPeerConnection.prototype;\n\n      // wrap static methods. Currently just generateCertificate.\n      if (window.mozRTCPeerConnection.generateCertificate) {\n        Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n          get: function() {\n            return window.mozRTCPeerConnection.generateCertificate;\n          }\n        });\n      }\n\n      window.RTCSessionDescription = window.mozRTCSessionDescription;\n      window.RTCIceCandidate = window.mozRTCIceCandidate;\n    }\n\n    // shim away need for obsolete RTCIceCandidate/RTCSessionDescription.\n    ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate']\n        .forEach(function(method) {\n          var nativeMethod = window.RTCPeerConnection.prototype[method];\n          window.RTCPeerConnection.prototype[method] = function() {\n            arguments[0] = new ((method === 'addIceCandidate') ?\n                window.RTCIceCandidate :\n                window.RTCSessionDescription)(arguments[0]);\n            return nativeMethod.apply(this, arguments);\n          };\n        });\n\n    // support for addIceCandidate(null or undefined)\n    var nativeAddIceCandidate =\n        window.RTCPeerConnection.prototype.addIceCandidate;\n    window.RTCPeerConnection.prototype.addIceCandidate = function() {\n      if (!arguments[0]) {\n        if (arguments[1]) {\n          arguments[1].apply(null);\n        }\n        return Promise.resolve();\n      }\n      return nativeAddIceCandidate.apply(this, arguments);\n    };\n\n    // shim getStats with maplike support\n    var makeMapStats = function(stats) {\n      var map = new Map();\n      Object.keys(stats).forEach(function(key) {\n        map.set(key, stats[key]);\n        map[key] = stats[key];\n      });\n      return map;\n    };\n\n    var modernStatsTypes = {\n      inboundrtp: 'inbound-rtp',\n      outboundrtp: 'outbound-rtp',\n      candidatepair: 'candidate-pair',\n      localcandidate: 'local-candidate',\n      remotecandidate: 'remote-candidate'\n    };\n\n    var nativeGetStats = window.RTCPeerConnection.prototype.getStats;\n    window.RTCPeerConnection.prototype.getStats = function(\n      selector,\n      onSucc,\n      onErr\n    ) {\n      return nativeGetStats.apply(this, [selector || null])\n        .then(function(stats) {\n          if (browserDetails.version &lt; 48) {\n            stats = makeMapStats(stats);\n          }\n          if (browserDetails.version &lt; 53 &amp;&amp; !onSucc) {\n            // Shim only promise getStats with spec-hyphens in type names\n            // Leave callback version alone; misc old uses of forEach before Map\n            try {\n              stats.forEach(function(stat) {\n                stat.type = modernStatsTypes[stat.type] || stat.type;\n              });\n            } catch (e) {\n              if (e.name !== 'TypeError') {\n                throw e;\n              }\n              // Avoid TypeError: \"type\" is read-only, in old versions. 34-43ish\n              stats.forEach(function(stat, i) {\n                stats.set(i, Object.assign({}, stat, {\n                  type: modernStatsTypes[stat.type] || stat.type\n                }));\n              });\n            }\n          }\n          return stats;\n        })\n        .then(onSucc, onErr);\n    };\n  }\n};\n\n// Expose public methods.\nmodule.exports = {\n  shimOnTrack: firefoxShim.shimOnTrack,\n  shimSourceObject: firefoxShim.shimSourceObject,\n  shimPeerConnection: firefoxShim.shimPeerConnection,\n  shimGetUserMedia: require('./getusermedia')\n};\n\n},{\"../utils\":13,\"./getusermedia\":11}],11:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar utils = require('../utils');\nvar logging = utils.log;\n\n// Expose public methods.\nmodule.exports = function(window) {\n  var browserDetails = utils.detectBrowser(window);\n  var navigator = window &amp;&amp; window.navigator;\n  var MediaStreamTrack = window &amp;&amp; window.MediaStreamTrack;\n\n  var shimError_ = function(e) {\n    return {\n      name: {\n        InternalError: 'NotReadableError',\n        NotSupportedError: 'TypeError',\n        PermissionDeniedError: 'NotAllowedError',\n        SecurityError: 'NotAllowedError'\n      }[e.name] || e.name,\n      message: {\n        'The operation is insecure.': 'The request is not allowed by the ' +\n        'user agent or the platform in the current context.'\n      }[e.message] || e.message,\n      constraint: e.constraint,\n      toString: function() {\n        return this.name + (this.message &amp;&amp; ': ') + this.message;\n      }\n    };\n  };\n\n  // getUserMedia constraints shim.\n  var getUserMedia_ = function(constraints, onSuccess, onError) {\n    var constraintsToFF37_ = function(c) {\n      if (typeof c !== 'object' || c.require) {\n        return c;\n      }\n      var require = [];\n      Object.keys(c).forEach(function(key) {\n        if (key === 'require' || key === 'advanced' || key === 'mediaSource') {\n          return;\n        }\n        var r = c[key] = (typeof c[key] === 'object') ?\n            c[key] : {ideal: c[key]};\n        if (r.min !== undefined ||\n            r.max !== undefined || r.exact !== undefined) {\n          require.push(key);\n        }\n        if (r.exact !== undefined) {\n          if (typeof r.exact === 'number') {\n            r. min = r.max = r.exact;\n          } else {\n            c[key] = r.exact;\n          }\n          delete r.exact;\n        }\n        if (r.ideal !== undefined) {\n          c.advanced = c.advanced || [];\n          var oc = {};\n          if (typeof r.ideal === 'number') {\n            oc[key] = {min: r.ideal, max: r.ideal};\n          } else {\n            oc[key] = r.ideal;\n          }\n          c.advanced.push(oc);\n          delete r.ideal;\n          if (!Object.keys(r).length) {\n            delete c[key];\n          }\n        }\n      });\n      if (require.length) {\n        c.require = require;\n      }\n      return c;\n    };\n    constraints = JSON.parse(JSON.stringify(constraints));\n    if (browserDetails.version &lt; 38) {\n      logging('spec: ' + JSON.stringify(constraints));\n      if (constraints.audio) {\n        constraints.audio = constraintsToFF37_(constraints.audio);\n      }\n      if (constraints.video) {\n        constraints.video = constraintsToFF37_(constraints.video);\n      }\n      logging('ff37: ' + JSON.stringify(constraints));\n    }\n    return navigator.mozGetUserMedia(constraints, onSuccess, function(e) {\n      onError(shimError_(e));\n    });\n  };\n\n  // Returns the result of getUserMedia as a Promise.\n  var getUserMediaPromise_ = function(constraints) {\n    return new Promise(function(resolve, reject) {\n      getUserMedia_(constraints, resolve, reject);\n    });\n  };\n\n  // Shim for mediaDevices on older versions.\n  if (!navigator.mediaDevices) {\n    navigator.mediaDevices = {getUserMedia: getUserMediaPromise_,\n      addEventListener: function() { },\n      removeEventListener: function() { }\n    };\n  }\n  navigator.mediaDevices.enumerateDevices =\n      navigator.mediaDevices.enumerateDevices || function() {\n        return new Promise(function(resolve) {\n          var infos = [\n            {kind: 'audioinput', deviceId: 'default', label: '', groupId: ''},\n            {kind: 'videoinput', deviceId: 'default', label: '', groupId: ''}\n          ];\n          resolve(infos);\n        });\n      };\n\n  if (browserDetails.version &lt; 41) {\n    // Work around http://bugzil.la/1169665\n    var orgEnumerateDevices =\n        navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices);\n    navigator.mediaDevices.enumerateDevices = function() {\n      return orgEnumerateDevices().then(undefined, function(e) {\n        if (e.name === 'NotFoundError') {\n          return [];\n        }\n        throw e;\n      });\n    };\n  }\n  if (browserDetails.version &lt; 49) {\n    var origGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(c) {\n      return origGetUserMedia(c).then(function(stream) {\n        // Work around https://bugzil.la/802326\n        if (c.audio &amp;&amp; !stream.getAudioTracks().length ||\n            c.video &amp;&amp; !stream.getVideoTracks().length) {\n          stream.getTracks().forEach(function(track) {\n            track.stop();\n          });\n          throw new DOMException('The object can not be found here.',\n                                 'NotFoundError');\n        }\n        return stream;\n      }, function(e) {\n        return Promise.reject(shimError_(e));\n      });\n    };\n  }\n  if (!(browserDetails.version &gt; 55 &amp;&amp;\n      'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) {\n    var remap = function(obj, a, b) {\n      if (a in obj &amp;&amp; !(b in obj)) {\n        obj[b] = obj[a];\n        delete obj[a];\n      }\n    };\n\n    var nativeGetUserMedia = navigator.mediaDevices.getUserMedia.\n        bind(navigator.mediaDevices);\n    navigator.mediaDevices.getUserMedia = function(c) {\n      if (typeof c === 'object' &amp;&amp; typeof c.audio === 'object') {\n        c = JSON.parse(JSON.stringify(c));\n        remap(c.audio, 'autoGainControl', 'mozAutoGainControl');\n        remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression');\n      }\n      return nativeGetUserMedia(c);\n    };\n\n    if (MediaStreamTrack &amp;&amp; MediaStreamTrack.prototype.getSettings) {\n      var nativeGetSettings = MediaStreamTrack.prototype.getSettings;\n      MediaStreamTrack.prototype.getSettings = function() {\n        var obj = nativeGetSettings.apply(this, arguments);\n        remap(obj, 'mozAutoGainControl', 'autoGainControl');\n        remap(obj, 'mozNoiseSuppression', 'noiseSuppression');\n        return obj;\n      };\n    }\n\n    if (MediaStreamTrack &amp;&amp; MediaStreamTrack.prototype.applyConstraints) {\n      var nativeApplyConstraints = MediaStreamTrack.prototype.applyConstraints;\n      MediaStreamTrack.prototype.applyConstraints = function(c) {\n        if (this.kind === 'audio' &amp;&amp; typeof c === 'object') {\n          c = JSON.parse(JSON.stringify(c));\n          remap(c, 'autoGainControl', 'mozAutoGainControl');\n          remap(c, 'noiseSuppression', 'mozNoiseSuppression');\n        }\n        return nativeApplyConstraints.apply(this, [c]);\n      };\n    }\n  }\n  navigator.getUserMedia = function(constraints, onSuccess, onError) {\n    if (browserDetails.version &lt; 44) {\n      return getUserMedia_(constraints, onSuccess, onError);\n    }\n    // Replace Firefox 44+'s deprecation warning with unprefixed version.\n    utils.deprecated('navigator.getUserMedia',\n        'navigator.mediaDevices.getUserMedia');\n    navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError);\n  };\n};\n\n},{\"../utils\":13}],12:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n'use strict';\nvar utils = require('../utils');\n\nvar safariShim = {\n  // TODO: DrAlex, should be here, double check against LayoutTests\n\n  // TODO: once the back-end for the mac port is done, add.\n  // TODO: check for webkitGTK+\n  // shimPeerConnection: function() { },\n\n  shimLocalStreamsAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getLocalStreams = function() {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        return this._localStreams;\n      };\n    }\n    if (!('getStreamById' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getStreamById = function(id) {\n        var result = null;\n        if (this._localStreams) {\n          this._localStreams.forEach(function(stream) {\n            if (stream.id === id) {\n              result = stream;\n            }\n          });\n        }\n        if (this._remoteStreams) {\n          this._remoteStreams.forEach(function(stream) {\n            if (stream.id === id) {\n              result = stream;\n            }\n          });\n        }\n        return result;\n      };\n    }\n    if (!('addStream' in window.RTCPeerConnection.prototype)) {\n      var _addTrack = window.RTCPeerConnection.prototype.addTrack;\n      window.RTCPeerConnection.prototype.addStream = function(stream) {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        if (this._localStreams.indexOf(stream) === -1) {\n          this._localStreams.push(stream);\n        }\n        var self = this;\n        stream.getTracks().forEach(function(track) {\n          _addTrack.call(self, track, stream);\n        });\n      };\n\n      window.RTCPeerConnection.prototype.addTrack = function(track, stream) {\n        if (stream) {\n          if (!this._localStreams) {\n            this._localStreams = [stream];\n          } else if (this._localStreams.indexOf(stream) === -1) {\n            this._localStreams.push(stream);\n          }\n        }\n        _addTrack.call(this, track, stream);\n      };\n    }\n    if (!('removeStream' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.removeStream = function(stream) {\n        if (!this._localStreams) {\n          this._localStreams = [];\n        }\n        var index = this._localStreams.indexOf(stream);\n        if (index === -1) {\n          return;\n        }\n        this._localStreams.splice(index, 1);\n        var self = this;\n        var tracks = stream.getTracks();\n        this.getSenders().forEach(function(sender) {\n          if (tracks.indexOf(sender.track) !== -1) {\n            self.removeTrack(sender);\n          }\n        });\n      };\n    }\n  },\n  shimRemoteStreamsAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) {\n      window.RTCPeerConnection.prototype.getRemoteStreams = function() {\n        return this._remoteStreams ? this._remoteStreams : [];\n      };\n    }\n    if (!('onaddstream' in window.RTCPeerConnection.prototype)) {\n      Object.defineProperty(window.RTCPeerConnection.prototype, 'onaddstream', {\n        get: function() {\n          return this._onaddstream;\n        },\n        set: function(f) {\n          if (this._onaddstream) {\n            this.removeEventListener('addstream', this._onaddstream);\n            this.removeEventListener('track', this._onaddstreampoly);\n          }\n          this.addEventListener('addstream', this._onaddstream = f);\n          this.addEventListener('track', this._onaddstreampoly = function(e) {\n            var stream = e.streams[0];\n            if (!this._remoteStreams) {\n              this._remoteStreams = [];\n            }\n            if (this._remoteStreams.indexOf(stream) &gt;= 0) {\n              return;\n            }\n            this._remoteStreams.push(stream);\n            var event = new Event('addstream');\n            event.stream = e.streams[0];\n            this.dispatchEvent(event);\n          }.bind(this));\n        }\n      });\n    }\n  },\n  shimCallbacksAPI: function(window) {\n    if (typeof window !== 'object' || !window.RTCPeerConnection) {\n      return;\n    }\n    var prototype = window.RTCPeerConnection.prototype;\n    var createOffer = prototype.createOffer;\n    var createAnswer = prototype.createAnswer;\n    var setLocalDescription = prototype.setLocalDescription;\n    var setRemoteDescription = prototype.setRemoteDescription;\n    var addIceCandidate = prototype.addIceCandidate;\n\n    prototype.createOffer = function(successCallback, failureCallback) {\n      var options = (arguments.length &gt;= 2) ? arguments[2] : arguments[0];\n      var promise = createOffer.apply(this, [options]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n\n    prototype.createAnswer = function(successCallback, failureCallback) {\n      var options = (arguments.length &gt;= 2) ? arguments[2] : arguments[0];\n      var promise = createAnswer.apply(this, [options]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n\n    var withCallback = function(description, successCallback, failureCallback) {\n      var promise = setLocalDescription.apply(this, [description]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.setLocalDescription = withCallback;\n\n    withCallback = function(description, successCallback, failureCallback) {\n      var promise = setRemoteDescription.apply(this, [description]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.setRemoteDescription = withCallback;\n\n    withCallback = function(candidate, successCallback, failureCallback) {\n      var promise = addIceCandidate.apply(this, [candidate]);\n      if (!failureCallback) {\n        return promise;\n      }\n      promise.then(successCallback, failureCallback);\n      return Promise.resolve();\n    };\n    prototype.addIceCandidate = withCallback;\n  },\n  shimGetUserMedia: function(window) {\n    var navigator = window &amp;&amp; window.navigator;\n\n    if (!navigator.getUserMedia) {\n      if (navigator.webkitGetUserMedia) {\n        navigator.getUserMedia = navigator.webkitGetUserMedia.bind(navigator);\n      } else if (navigator.mediaDevices &amp;&amp;\n          navigator.mediaDevices.getUserMedia) {\n        navigator.getUserMedia = function(constraints, cb, errcb) {\n          navigator.mediaDevices.getUserMedia(constraints)\n          .then(cb, errcb);\n        }.bind(navigator);\n      }\n    }\n  },\n  shimRTCIceServerUrls: function(window) {\n    // migrate from non-spec RTCIceServer.url to RTCIceServer.urls\n    var OrigPeerConnection = window.RTCPeerConnection;\n    window.RTCPeerConnection = function(pcConfig, pcConstraints) {\n      if (pcConfig &amp;&amp; pcConfig.iceServers) {\n        var newIceServers = [];\n        for (var i = 0; i &lt; pcConfig.iceServers.length; i++) {\n          var server = pcConfig.iceServers[i];\n          if (!server.hasOwnProperty('urls') &amp;&amp;\n              server.hasOwnProperty('url')) {\n            utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls');\n            server = JSON.parse(JSON.stringify(server));\n            server.urls = server.url;\n            delete server.url;\n            newIceServers.push(server);\n          } else {\n            newIceServers.push(pcConfig.iceServers[i]);\n          }\n        }\n        pcConfig.iceServers = newIceServers;\n      }\n      return new OrigPeerConnection(pcConfig, pcConstraints);\n    };\n    window.RTCPeerConnection.prototype = OrigPeerConnection.prototype;\n    // wrap static methods. Currently just generateCertificate.\n    if ('generateCertificate' in window.RTCPeerConnection) {\n      Object.defineProperty(window.RTCPeerConnection, 'generateCertificate', {\n        get: function() {\n          return OrigPeerConnection.generateCertificate;\n        }\n      });\n    }\n  },\n  shimTrackEventTransceiver: function(window) {\n    // Add event.transceiver member over deprecated event.receiver\n    if (typeof window === 'object' &amp;&amp; window.RTCPeerConnection &amp;&amp;\n        ('receiver' in window.RTCTrackEvent.prototype) &amp;&amp;\n        // can't check 'transceiver' in window.RTCTrackEvent.prototype, as it is\n        // defined for some reason even when window.RTCTransceiver is not.\n        !window.RTCTransceiver) {\n      Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', {\n        get: function() {\n          return {receiver: this.receiver};\n        }\n      });\n    }\n  },\n\n  shimCreateOfferLegacy: function(window) {\n    var origCreateOffer = window.RTCPeerConnection.prototype.createOffer;\n    window.RTCPeerConnection.prototype.createOffer = function(offerOptions) {\n      var pc = this;\n      if (offerOptions) {\n        var audioTransceiver = pc.getTransceivers().find(function(transceiver) {\n          return transceiver.sender.track &amp;&amp;\n              transceiver.sender.track.kind === 'audio';\n        });\n        if (offerOptions.offerToReceiveAudio === false &amp;&amp; audioTransceiver) {\n          if (audioTransceiver.direction === 'sendrecv') {\n            audioTransceiver.setDirection('sendonly');\n          } else if (audioTransceiver.direction === 'recvonly') {\n            audioTransceiver.setDirection('inactive');\n          }\n        } else if (offerOptions.offerToReceiveAudio === true &amp;&amp;\n            !audioTransceiver) {\n          pc.addTransceiver('audio');\n        }\n\n        var videoTransceiver = pc.getTransceivers().find(function(transceiver) {\n          return transceiver.sender.track &amp;&amp;\n              transceiver.sender.track.kind === 'video';\n        });\n        if (offerOptions.offerToReceiveVideo === false &amp;&amp; videoTransceiver) {\n          if (videoTransceiver.direction === 'sendrecv') {\n            videoTransceiver.setDirection('sendonly');\n          } else if (videoTransceiver.direction === 'recvonly') {\n            videoTransceiver.setDirection('inactive');\n          }\n        } else if (offerOptions.offerToReceiveVideo === true &amp;&amp;\n            !videoTransceiver) {\n          pc.addTransceiver('video');\n        }\n      }\n      return origCreateOffer.apply(pc, arguments);\n    };\n  }\n};\n\n// Expose public methods.\nmodule.exports = {\n  shimCallbacksAPI: safariShim.shimCallbacksAPI,\n  shimLocalStreamsAPI: safariShim.shimLocalStreamsAPI,\n  shimRemoteStreamsAPI: safariShim.shimRemoteStreamsAPI,\n  shimGetUserMedia: safariShim.shimGetUserMedia,\n  shimRTCIceServerUrls: safariShim.shimRTCIceServerUrls,\n  shimTrackEventTransceiver: safariShim.shimTrackEventTransceiver,\n  shimCreateOfferLegacy: safariShim.shimCreateOfferLegacy\n  // TODO\n  // shimPeerConnection: safariShim.shimPeerConnection\n};\n\n},{\"../utils\":13}],13:[function(require,module,exports){\n/*\n *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.\n *\n *  Use of this source code is governed by a BSD-style license\n *  that can be found in the LICENSE file in the root of the source\n *  tree.\n */\n /* eslint-env node */\n'use strict';\n\nvar logDisabled_ = true;\nvar deprecationWarnings_ = true;\n\n// Utility methods.\nvar utils = {\n  disableLog: function(bool) {\n    if (typeof bool !== 'boolean') {\n      return new Error('Argument type: ' + typeof bool +\n          '. Please use a boolean.');\n    }\n    logDisabled_ = bool;\n    return (bool) ? 'adapter.js logging disabled' :\n        'adapter.js logging enabled';\n  },\n\n  /**\n   * Disable or enable deprecation warnings\n   * @param {!boolean} bool set to true to disable warnings.\n   */\n  disableWarnings: function(bool) {\n    if (typeof bool !== 'boolean') {\n      return new Error('Argument type: ' + typeof bool +\n          '. Please use a boolean.');\n    }\n    deprecationWarnings_ = !bool;\n    return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled');\n  },\n\n  log: function() {\n    if (typeof window === 'object') {\n      if (logDisabled_) {\n        return;\n      }\n      if (typeof console !== 'undefined' &amp;&amp; typeof console.log === 'function') {\n        console.log.apply(console, arguments);\n      }\n    }\n  },\n\n  /**\n   * Shows a deprecation warning suggesting the modern and spec-compatible API.\n   */\n  deprecated: function(oldMethod, newMethod) {\n    if (!deprecationWarnings_) {\n      return;\n    }\n    console.warn(oldMethod + ' is deprecated, please use ' + newMethod +\n        ' instead.');\n  },\n\n  /**\n   * Extract browser version out of the provided user agent string.\n   *\n   * @param {!string} uastring userAgent string.\n   * @param {!string} expr Regular expression used as match criteria.\n   * @param {!number} pos position in the version string to be returned.\n   * @return {!number} browser version.\n   */\n  extractVersion: function(uastring, expr, pos) {\n    var match = uastring.match(expr);\n    return match &amp;&amp; match.length &gt;= pos &amp;&amp; parseInt(match[pos], 10);\n  },\n\n  /**\n   * Browser detector.\n   *\n   * @return {object} result containing browser and version\n   *     properties.\n   */\n  detectBrowser: function(window) {\n    var navigator = window &amp;&amp; window.navigator;\n\n    // Returned result object.\n    var result = {};\n    result.browser = null;\n    result.version = null;\n\n    // Fail early if it's not a browser\n    if (typeof window === 'undefined' || !window.navigator) {\n      result.browser = 'Not a browser.';\n      return result;\n    }\n\n    // Firefox.\n    if (navigator.mozGetUserMedia) {\n      result.browser = 'firefox';\n      result.version = this.extractVersion(navigator.userAgent,\n          /Firefox\\/(\\d+)\\./, 1);\n    } else if (navigator.webkitGetUserMedia) {\n      // Chrome, Chromium, Webview, Opera, all use the chrome shim for now\n      if (window.webkitRTCPeerConnection) {\n        result.browser = 'chrome';\n        result.version = this.extractVersion(navigator.userAgent,\n          /Chrom(e|ium)\\/(\\d+)\\./, 2);\n      } else { // Safari (in an unpublished version) or unknown webkit-based.\n        if (navigator.userAgent.match(/Version\\/(\\d+).(\\d+)/)) {\n          result.browser = 'safari';\n          result.version = this.extractVersion(navigator.userAgent,\n            /AppleWebKit\\/(\\d+)\\./, 1);\n        } else { // unknown webkit-based browser.\n          result.browser = 'Unsupported webkit-based browser ' +\n              'with GUM support but no WebRTC support.';\n          return result;\n        }\n      }\n    } else if (navigator.mediaDevices &amp;&amp;\n        navigator.userAgent.match(/Edge\\/(\\d+).(\\d+)$/)) { // Edge.\n      result.browser = 'edge';\n      result.version = this.extractVersion(navigator.userAgent,\n          /Edge\\/(\\d+).(\\d+)$/, 2);\n    } else if (navigator.mediaDevices &amp;&amp;\n        navigator.userAgent.match(/AppleWebKit\\/(\\d+)\\./)) {\n        // Safari, with webkitGetUserMedia removed.\n      result.browser = 'safari';\n      result.version = this.extractVersion(navigator.userAgent,\n          /AppleWebKit\\/(\\d+)\\./, 1);\n    } else { // Default fallthrough: not supported.\n      result.browser = 'Not a supported browser.';\n      return result;\n    }\n\n    return result;\n  },\n\n};\n\n// Export.\nmodule.exports = {\n  log: utils.log,\n  deprecated: utils.deprecated,\n  disableLog: utils.disableLog,\n  disableWarnings: utils.disableWarnings,\n  extractVersion: utils.extractVersion,\n  shimCreateObjectURL: utils.shimCreateObjectURL,\n  detectBrowser: utils.detectBrowser.bind(utils)\n};\n\n},{}]},{},[3])(3)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-10-13 14:47:36&lt;/sys_created_on&gt;&lt;sys_id&gt;3925d3d1dbf943004e5cfa131f961976&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;webrtc&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3925d3d1dbf943004e5cfa131f961976&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-10-16 11:24:53&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1511184273</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>873c8ededbf1c3004e5cfa131f96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24edef780000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>webrtc</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>1c93461e60f1c3001634e6d50adb4c8e</update_guid>\n<update_guid_history>1c93461e60f1c3001634e6d50adb4c8e:1511184273,0783861e63f1c300b01590e9cd5e353f:1585497041,20355f91c9f94300b3410bd0ce3aba83:1511184273</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_0e2b84b0dbb9030086da7d5e0f961912</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>QuaggaJS</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-10-11 10:48:20</sys_created_on><sys_id>0e2b84b0dbb9030086da7d5e0f961912</sys_id><sys_mod_count>4</sys_mod_count><sys_name>QuaggaJS</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_0e2b84b0dbb9030086da7d5e0f961912</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-10-16 11:22:38</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-835272359</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>8b3c8ededbf1c3004e5cfa131f96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24ebde4f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>QuaggaJS</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>9703421e05f1c3009b5da964d340788c</update_guid>\n<update_guid_history>9703421e05f1c3009b5da964d340788c:-835272359,1e03421e6bf1c300a3cc18137558f589:319266361,e1e2cedabcf1c30021d9785462656d96:-835272359,38e2ceda49f1c30013e54a73c5874193:319266361,544b44b065b90300ab8fa46690c97c5e:-835272359</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_32f94c70dbb9030086da7d5e0f9619c2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function BarcodeReaderLiveController($scope, $window) {\n\t/* widget controller */\n\tvar c = this;\n\n\tc.result = '';\n\n\tc.data.showProducts = [];\n\tc.data.scanProducts = [];\n\tc.visible = false;\n\n\n\tc.searchUpdate = function (input) {\n\t\tif (input.length &gt;= 3) {\n\t\t\tc.getProductModel(input, true);\n\t\t} else\n\t\t\tc.data.showProducts = [];\n\t};\n\n\tc.getProductModel = function (code, manual, image) {\n\t\tc.server.get({\n\t\t\tbarcode: code\n\t\t}).then(function (response) {\n\t\t\tif (response.data.products.length &gt; 0) {\n\t\t\t\tif (manual)\n\t\t\t\t\tc.data.showProducts = response.data.products;\n\t\t\t\telse {\n\t\t\t\t\tc.data.showProducts = [];\n\t\t\t\t\tfor (var i = 0; i &lt; response.data.products.length; i++) {\n\t\t\t\t\t\t//$node.find(\"img\").attr(\"src\", canvas.toDataURL());\n\t\t\t\t\t\tresponse.data.products[i].image = image;\n\t\t\t\t\t\tc.data.scanProducts.push(response.data.products[i]);\n\t\t\t\t\t\tc.data.showProducts.push(response.data.products[i]);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (manual)\n\t\t\t\t\tc.data.showProducts = [];\n\t\t\t}\n\n\t\t});\n\n\n\t};\n\n\tc.selectBarcode = function (code) {\n\t\tif (code) {\n\t\t\tconsole.log('barcode selected', code);\n\t\t}\n\t};\n\n\tc.hideResult = function (item) {\n\t\tif (item) {\n\t\t\tdocument.getElementById('results').style.display = 'none';\n\t\t}\n\t};\n\n\tc.showResult = function () {\n\t\tdocument.getElementById('results').style.display = 'block';\n\t};\n\n\tvar App = {\n\t\tinit: function () {\n\t\t\tvar self = this;\n\n\t\t\tQuagga.init(this.state, function (err) {\n\t\t\t\tif (err) {\n\t\t\t\t\treturn self.handleError(err);\n\t\t\t\t}\n\t\t\t\tApp.checkCapabilities();\n\t\t\t\tQuagga.start();\n\t\t\t});\n\t\t},\n\t\thandleError: function (err) {\n\t\t\tconsole.log(err);\n\t\t},\n\t\tcheckCapabilities: function () {\n\t\t\tvar track = Quagga.CameraAccess.getActiveTrack();\n\t\t\tvar capabilities = {};\n\t\t\tif (typeof track.getCapabilities === 'function') {\n\t\t\t\tcapabilities = track.getCapabilities();\n\t\t\t}\n\n\t\t\tthis.applySettingsVisibility('zoom', capabilities.zoom);\n\t\t\tthis.applySettingsVisibility('torch', capabilities.torch);\n\t\t},\n\t\tupdateOptionsForMediaRange: function (node, range) {\n\t\t\tvar NUM_STEPS = 6;\n\t\t\tvar stepSize = (range.max - range.min) / NUM_STEPS;\n\t\t\tvar option;\n\t\t\tvar value;\n\t\t\twhile (node.firstChild) {\n\t\t\t\tnode.removeChild(node.firstChild);\n\t\t\t}\n\t\t\tfor (var i = 0; i &lt;= NUM_STEPS; i++) {\n\t\t\t\tvalue = range.min + (stepSize * i);\n\t\t\t\toption = document.createElement('option');\n\t\t\t\toption.value = value;\n\t\t\t\toption.innerHTML = value;\n\t\t\t\tnode.appendChild(option);\n\t\t\t}\n\t\t},\n\t\tapplySettingsVisibility: function (setting, capability) {\n\t\t\t// depending on type of capability\n\t\t\tif (typeof capability === 'boolean') {\n\t\t\t\tvar node = document.querySelector('input[name=\"settings_' + setting + '\"]');\n\t\t\t\tif (node) {\n\t\t\t\t\tnode.parentNode.style.display = capability ? 'block' : 'none';\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (window.MediaSettingsRange &amp;&amp; capability instanceof window.MediaSettingsRange) {\n\t\t\t\tvar node = document.querySelector('select[name=\"settings_' + setting + '\"]');\n\t\t\t\tif (node) {\n\t\t\t\t\tthis.updateOptionsForMediaRange(node, capability);\n\t\t\t\t\tnode.parentNode.style.display = 'block';\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\tinitCameraSelection: function () {\n\t\t\tvar streamLabel = Quagga.CameraAccess.getActiveStreamLabel();\n\n\t\t\treturn Quagga.CameraAccess.enumerateVideoDevices()\n\t\t\t\t.then(function (devices) {\n\t\t\t\t\tfunction pruneText(text) {\n\t\t\t\t\t\treturn text.length &gt; 30 ? text.substr(0, 30) : text;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\tstate: {\n\t\t\tinputStream: {\n\t\t\t\ttype: \"LiveStream\",\n\t\t\t\tconstraints: {\n\t\t\t\t\twidth: {\n\t\t\t\t\t\tmin: 640\n\t\t\t\t\t},\n\t\t\t\t\theight: {\n\t\t\t\t\t\tmin: 480\n\t\t\t\t\t},\n\t\t\t\t\tfacingMode: \"environment\",\n\t\t\t\t\taspectRatio: {\n\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\tmax: 100\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tlocator: {\n\t\t\t\tpatchSize: \"medium\",\n\t\t\t\thalfSample: true\n\t\t\t},\n\t\t\tnumOfWorkers: 1,\n\t\t\tfrequency: 20,\n\t\t\tdecoder: {\n\t\t\t\treaders: [{\n\t\t\t\t\tformat: c.data.barcode_standard,\n\t\t\t\t\tconfig: {}\n\t\t\t\t}]\n\t\t\t},\n\t\t\tlocate: true\n\t\t},\n\t\tlastResult: null\n\t};\n\n\tQuagga.onProcessed(function (result) {\n\t\tvar drawingCtx = Quagga.canvas.ctx.overlay,\n\t\t\tdrawingCanvas = Quagga.canvas.dom.overlay;\n\n\t\tif (result) {\n\t\t\tif (result.boxes) {\n\t\t\t\tdrawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute(\"width\")), parseInt(drawingCanvas.getAttribute(\"height\")));\n\t\t\t\tresult.boxes.filter(function (box) {\n\t\t\t\t\treturn box !== result.box;\n\t\t\t\t}).forEach(function (box) {\n\t\t\t\t\tQuagga.ImageDebug.drawPath(box, {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 1\n\t\t\t\t\t}, drawingCtx, {\n\t\t\t\t\t\tcolor: \"green\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (result.box) {\n\t\t\t\tQuagga.ImageDebug.drawPath(result.box, {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 1\n\t\t\t\t}, drawingCtx, {\n\t\t\t\t\tcolor: \"#00F\",\n\t\t\t\t\tlineWidth: 2\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (result.codeResult &amp;&amp; result.codeResult.code) {\n\t\t\t\tQuagga.ImageDebug.drawPath(result.line, {\n\t\t\t\t\tx: 'x',\n\t\t\t\t\ty: 'y'\n\t\t\t\t}, drawingCtx, {\n\t\t\t\t\tcolor: 'red',\n\t\t\t\t\tlineWidth: 3\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\tQuagga.onDetected(function (result) {\n\t\tvar code = result.codeResult.code;\n\t\tc.result = code;\n\n\t\tif (App.lastResult !== code) {\n\t\t\tApp.lastResult = code;\n\t\t\tvar $node = null,\n\t\t\t\tcanvas = Quagga.canvas.dom.image;\n\n\t\t\tc.getProductModel(code, false, canvas.toDataURL());\n\n\t\t}\n\n\t\tc.hideStream();\n\t});\n\n\tc.showStream = function () {\n\t\tc.visible = true;\n\t\tApp.init();\n\n\t}\n\n\tc.hideStream = function () {\n\t\tQuagga.stop();\n\t\tc.visible = false;\n\t}\n\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;input[type=\"file\"] {&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.custom-file-upload {&amp;#13;\n  display: inline-block;&amp;#13;\n  cursor: pointer;&amp;#13;\n  background-color: $gray-lighter;&amp;#13;\n  border-radius: 4px;&amp;#13;\n  height: 42px;&amp;#13;\n  border: 0px;&amp;#13;\n  width: 200px;&amp;#13;\n  padding-top: 10px;&amp;#13;\n  text-align: center;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container input:focus+.results {&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results {&amp;#13;\n  position: absolute;&amp;#13;\n  top: 38px;&amp;#13;\n  left: 0;&amp;#13;\n  right: 0;&amp;#13;\n  z-index: 10;&amp;#13;\n  padding: 0;&amp;#13;\n  margin: 0;&amp;#13;\n  border-width: 0px;&amp;#13;\n  border-style: solid;&amp;#13;\n  border-color: #cbcfe2 #c8cee7 #c4c7d7;&amp;#13;\n  border-radius: 4px;&amp;#13;\n  background-color: $gray-lighter;&amp;#13;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);&amp;#13;\n  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);&amp;#13;\n  -ms-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);&amp;#13;\n  -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);&amp;#13;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);&amp;#13;\n}&amp;#13;\n&amp;#13;\n.results-hide {&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li {&amp;#13;\n  display: block&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li:first-child {&amp;#13;\n  margin-top: -1px&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li:first-child:before,&amp;#13;\n.element-container .results li:first-child:after {&amp;#13;\n  display: block;&amp;#13;\n  content: '';&amp;#13;\n  width: 0;&amp;#13;\n  height: 0;&amp;#13;\n  position: absolute;&amp;#13;\n  left: 50%;&amp;#13;\n  margin-left: -5px;&amp;#13;\n  border: 5px outset transparent;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li:first-child:before {&amp;#13;\n  border-bottom: 5px solid #c4c7d7;&amp;#13;\n  top: -11px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li:first-child:after {&amp;#13;\n  border-bottom: 5px solid #fdfdfd;&amp;#13;\n  top: -10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li:first-child:hover:before,&amp;#13;\n.element-container .results li:first-child:hover:after {&amp;#13;\n  display: none&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results li:last-child {&amp;#13;\n  margin-bottom: -1px&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results a {&amp;#13;\n  display: block;&amp;#13;\n  position: relative;&amp;#13;\n  margin: 0 -1px;&amp;#13;\n  padding: 6px 40px 6px 10px;&amp;#13;\n  font-weight: 500;&amp;#13;\n  text-shadow: 0 1px #fff;&amp;#13;\n  border: 1px solid transparent;&amp;#13;\n  border-radius: 3px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results a:before {&amp;#13;\n  content: '';&amp;#13;\n  width: 18px;&amp;#13;\n  height: 18px;&amp;#13;\n  position: absolute;&amp;#13;\n  top: 50%;&amp;#13;\n  right: 10px;&amp;#13;\n  margin-top: -9px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.element-container .results a:hover {&amp;#13;\n  text-decoration: none;&amp;#13;\n  color: #fff;&amp;#13;\n  text-shadow: 0 -1px rgba(0, 0, 0, 0.3);&amp;#13;\n  border-color: $brand-primary;&amp;#13;\n  background-color: $brand-primary;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.ndl-alert {&amp;#13;\n  color: $brand-warning;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#interactive.viewport {&amp;#13;\n  width: 100%;&amp;#13;\n  height: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#interactive.viewport canvas,&amp;#13;\nvideo {&amp;#13;\n  float: left;&amp;#13;\n  width: 100%;&amp;#13;\n  height: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#interactive.viewport canvas.drawingBuffer,&amp;#13;\nvideo.drawingBuffer {&amp;#13;\n  margin-left: - 100%;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#interactive.viewport canvas.drawingBuffer {&amp;#13;\n  width: 100%;&amp;#13;\nheight: 100%;&amp;#13;\nposition: absolute;&amp;#13;\ntop: 0px;&amp;#13;\nleft: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip {&amp;#13;\n  margin: 10px 0;&amp;#13;\n  border-top: 1px solid #EEE;&amp;#13;\n  border-bottom: 1px solid #EEE;&amp;#13;\n  padding: 10px 0;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul {&amp;#13;\n  padding: 0;&amp;#13;\n  margin: 5px;&amp;#13;\n  list-style-type: none;&amp;#13;\n  width: auto;&amp;#13;\n  overflow-x: auto;&amp;#13;\n  overflow-y: hidden;&amp;#13;\n  white-space: nowrap;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul&amp;gt;li {&amp;#13;\n  display: inline-block;&amp;#13;\n  vertical-align: middle;&amp;#13;\n  width: 160px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail {&amp;#13;\n  padding: 5px;&amp;#13;\n  margin: 4px;&amp;#13;\n  border: 1px dashed #CCC;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail img {&amp;#13;\n  max-width: 140px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail .caption {&amp;#13;\n  white-space: normal;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul&amp;gt;li .thumbnail .caption h4 {&amp;#13;\n  text-align: center;&amp;#13;\n  word-wrap: break-word;&amp;#13;\n  margin: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#result_strip&amp;gt;ul:after {&amp;#13;\n  content: \"\";&amp;#13;\n  display: table;&amp;#13;\n  clear: both;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.ndl-center {&amp;#13;\n  margin: auto;&amp;#13;\n  text-align: center;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_vlist&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,display_field,field_list,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;barcode-reader-live&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Barcode Reader Live&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"code_128_reader (default), ean_reader, ean_8_reader, code_39_reader, code_39_vin_reader, codabar_reader, upc_reader, upc_e_reader, i2of5_reader, 2of5_reader, code_93_reader\",\"name\":\"barcode_standard\",\"default_value\":\"code_128_reader\",\"label\":\"Barcode standard\",\"type\":\"string\"},{\"name\":\"lookup_field\",\"label\":\"Lookup Field\",\"type\":\"field_name\"},{\"name\":\"secondary_fields\",\"label\":\"Secondary fields\",\"type\":\"field_list\"},{\"name\":\"title\",\"default_value\":\"Barcode Reader\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"placeholder\",\"default_value\":\"Manually enter the code\",\"label\":\"Placeholder\",\"type\":\"string\"},{\"name\":\"action_label\",\"default_value\":\"Scan Barcode\",\"label\":\"Action Label\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  \n  if (input) {\n    data.table = input.table || options.table;\n    data.display_field = input.display_field || options.display_field;\n    data.lookup_field = input.lookup_field || options.lookup_field;\n    options.secondary_fields = options.secondary_fields || \"\";\n    data.title = input.title || options.title;\n    data.placeholder = input.placeholder || options.placeholder;\n    data.action_label = input.action_label || options.action_label;\n\tdata.barcode_standard = input.barcode_standard || options.barcode_standard;\n\n    data.barcode = input.barcode;\n    if (data.barcode)\n      data.barcode = data.barcode.trim();\n\n    data.products = [];\n\n    if (data.table &amp;&amp; data.display_field &amp;&amp; data.lookup_field) {\n      var ret = new GlideRecord(data.table);\n      ret.addQuery(data.lookup_field, 'CONTAINS', data.barcode);\n      ret.query();\n      var temp = {};\n      while (ret.next()) {\n        temp = {};\n        temp.sys_id = ret.getUniqueValue();\n        temp.label = ret.getDisplayValue(data.display_field);\n        temp.lookup_value = ret.getDisplayValue(data.lookup_field);\n        temp.secondary_fields = $sp.getFields(ret, options.secondary_fields);\n\n        data.products.push(temp);\n      }\n    }\n  }\n  else\n  {\n    data.title = gs.getMessage(options.title);\n    data.placeholder = gs.getMessage(options.placeholder);\n    data.action_label = gs.getMessage(options.action_label);\n\tdata.barcode_standard = options.barcode_standard;\n  }\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-10-11 10:47:39&lt;/sys_created_on&gt;&lt;sys_id&gt;32f94c70dbb9030086da7d5e0f9619c2&lt;/sys_id&gt;&lt;sys_mod_count&gt;376&lt;/sys_mod_count&gt;&lt;sys_name&gt;Barcode Reader Live&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_32f94c70dbb9030086da7d5e0f9619c2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-10-16 11:32:59&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"barcode\"&gt;\n    &lt;svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 1000 1000\"\n      enable-background=\"new 0 0 1000 1000\" xml:space=\"preserve\"&gt;\n      &lt;g&gt;\n        &lt;path d=\"M206,206h-65.3v588H206h65.3V206H206z M794,206h-65.3v588H794h65.3V206H794z M990,794V206h-65.3v588H990z M598,794V206h-65.3v588H598z M402,206h-65.3v588H402h65.3V206H402z M75.3,794V206H10v588H75.3z\"\n        /&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div class=\"row\" ng-show=\"!c.visible\"&gt;\n  &lt;div class=\"col-md-12\"&gt;\n    &lt;h5&gt;{{data.title}}&lt;/h5&gt;\n  &lt;/div&gt;\n  &lt;div class=\"col-md-12\"&gt;\n    &lt;div class=\"input-group\"&gt;\n      &lt;span class=\"input-group-addon\" id=\"search-input\"&gt;\n        &lt;i class=\"glyphicon glyphicon-search\"&gt;&lt;/i&gt;\n      &lt;/span&gt;\n      &lt;input type=\"text\" aria-describedby=\"search-input\" class=\"form-control\" placeholder=\"{{data.placeholder}}\" ng-model=\"c.barcode\"\n        ng-change=\"c.searchUpdate(c.barcode);c.showResult()\"&gt;\n    &lt;/div&gt;\n    &lt;div class=\"element-container\"&gt;\n      &lt;ul id=\"results\" class=\"results\"&gt;\n        &lt;li ng-repeat=\"item in c.data.showProducts\"&gt;\n          &lt;a href=\"javascript:void(0)\" ng-click=\"c.hideResult(item)\"&gt;\n            {{item.label}}\n            &lt;br/&gt;\n            &lt;span&gt;{{item.lookup_value}}&lt;/span&gt;\n            &lt;br/&gt;\n            &lt;small ng-repeat=\"f in item.secondary_fields\"&gt;\n              &lt;span ng-if=\"!$first\"&gt; • &lt;/span&gt;\n              &lt;span ng-switch=\"f.type\" title=\"{{::f.label}}\"&gt;\n                &lt;span ng-switch-when=\"glide_date\"&gt;\n                  &lt;sn-time-ago timestamp=\"::f.value\" /&gt;\n                &lt;/span&gt;\n                &lt;span ng-switch-when=\"glide_date_time\"&gt;\n                  &lt;sn-time-ago timestamp=\"::f.value\" /&gt;\n                &lt;/span&gt;\n                &lt;span ng-switch-default=\"\"&gt;{{f.display_value}}&lt;/span&gt;\n              &lt;/span&gt;\n            &lt;/small&gt;\n          &lt;/a&gt;\n        &lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"col-md-12 ndl-main-section ndl-center\"&gt;\n    &lt;svg viewBox=\"0 0 33 33\" width=\"200px\" height=\"150px\"&gt;\n      &lt;use xlink:href=\"#barcode\"&gt;&lt;/use&gt;\n    &lt;/svg&gt;\n    &lt;div&gt;\n\n      &lt;div class=\"form-group\"&gt;\n        &lt;button type=\"button\" class=\"btn btn-default custom-file-upload\" ng-click=\"c.showStream()\"&gt;{{data.action_label}}&lt;/button&gt;\n      &lt;/div&gt;\n\n      &lt;div ng-show=\"c.data.scanProducts.length &gt; 0\"&gt;\n        &lt;div id=\"result_strip\"&gt;\n          &lt;ul class=\"thumbnails\"&gt;\n\n            &lt;li ng-repeat=\"item in c.data.scanProducts\" id=\"{{$index}}-{{item.lookup_value}}\" ng-click=\"c.selectBarcode(item.lookup_value)\"&gt;\n              &lt;div class=\"thumbnail\"&gt;\n                &lt;div class=\"imgWrapper\"&gt;\n                  &lt;img id=\"img-{{item.lookup_value}}\" src=\"{{item.image}}\" /&gt;\n                &lt;/div&gt;\n                &lt;div class=\"caption\"&gt;\n                  &lt;h4 class=\"code\"&gt;{{item.lookup_value}}&lt;/h4&gt;\n                  &lt;a href=\"javascript:void(0)\"&gt;{{item.label}}&lt;/a&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/li&gt;\n\n          &lt;/ul&gt;\n\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"row\" ng-show=\"c.visible\"&gt;\n  &lt;div class=\"col-md-12 ndl-main-section ndl-center\"&gt;\n    &lt;div class=\"form-group\"&gt;\n      &lt;button type=\"button\" class=\"btn btn-default custom-file-upload\" ng-click=\"c.hideStream()\"&gt;\n        &lt;span class=\"glyphicon glyphicon-menu-left pull-left\"&gt;&lt;/span&gt;${Back}&lt;/button&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"col-md-12 ndl-main-section ndl-center\"&gt;\n    &lt;div id=\"interactive\" class=\"viewport\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1719720679</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>c33c8ededbf1c3004e5cfa131f96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24f558ea0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>Barcode Reader Live</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>8b650e1ee5f1c3007f60776b6fcea942</update_guid>\n<update_guid_history>8b650e1ee5f1c3007f60776b6fcea942:-1719720679,1e144a1efff1c300f3a46dc790036c28:-1140173698,0c044a1e3df1c3007062b69531fee824:-714491508,4ac24eda99f1c30088fe0e46a644dc30:-1166146192,eda24eda85f1c300852536fcd2236017:1959949888,de920eda79f1c300b721251b36a12e47:232149912,3892cada46f1c300bd3080c98a0e997e:681396290,2d42469a37f1c3007874041f708be046:232149912,c920829a8df1c3000203d6a104502fa6:2076225262,ec20869238f1c300f50d5b69f3b1d139:-1599352259,7cafb5922cf1c3000cc1f3bbca423435:673384853,f97ff15a27f1c30044aa44a7e7ec1cae:-1375859435,0d7f7152fbf1c3004de0cb0e4391ee8b:656401479,2aaef15af4f1c30001a37c87d60c3412:-84010262,f4ae751a4df1c30070611c940622db76:236257223,484ef15a89f1c3006e13da5bb8484b0d:-831020220,063e795274f1c300ffe018d5cda99580:830374949,d02e39d67ff1c3004245bc28a1a3eec0:1898671907,9eed39d61df1c30044f92e29202cb4bc:-1791628065,159d7d1aeff1c300bed49d6ae4166b42:-1660077374,ef5c3dd6c7f1c30084bee4ed458e5939:-57597286,964c71528ff1c3008d0d99849d6def83:-1036810659,e9aa39d6a3f1c300d8e8b2136d04b1b5:765350,49a8bd5618f1c3008f2ae61f37991b18:1742892364,bc9839deabb1c300c7c556eaa89a1fee:660539278,3e5875de78b1c30076a47178c4a8608a:-1453693019,0a283556eff1c3008e4070afcea6c90b:-1944964929,68187d5eacb1c30055935af9f542fc6d:-1176775589,6dd63d1628f1c300d481ccb1faa4a375:83392579,3996795e7ab1c300aa43e213b71e24eb:102358275,7986f55ed7b1c300750e797e33265ba1:-416730709,6436f95ee9b1c30080dad3275e40cfdb:944301020,6fe57d5ec2b1c300ddbe59cf7e618867:-891606809,d6e5b5d2d6f1c300ae23bc3f57384ef4:2087196195,e1547d1e32b1c30054b4a95ab6f78fb0:814987153,b924795efcb1c3003f684350e6411ce5:-1125707798,8cd335925ef1c3006ddc2291dc0dc15c:-630476211,d0237192d5f1c300a70ed0dd2e0c4389:-826229994,8cb2719288f1c300a065c1bd0d30b285:1033331926,7782fd9243f1c300668547ea843141a7:-653060994,aa727d1e91b1c300cc82a8b4be8010a9:2006782590,a172fd925af1c3007a19c4a40fd38aa3:-1609809222,4472751e1cb1c3004f971fb3e26174f4:-572590186,0be17d1e2eb1c300145c3122a61eeea5:1509027558,dbc17592b3f1c3004173677ca051cd1d:178142252,6681759280f1c3001807eb824025901a:-1981905024,6881f51e62b1c300b23c778dd46129cb:1432992358,8641f51e42b1c300434370f1e2169cc7:-741065890,13f0f51e78b1c300f91d901758783ec4:-402210248,7fe0f1522cf1c300909b07fbbda86f41:498844865,b2e0751e62b1c300c1ab9ec33290bcf0:1904057903,2fb0751e53b1c300aa4b95122c10baec:-1820354273,47903952a0f1c300759bec247f1fe87e:-1972280881,cc8039524df1c3004b15561071b5797a:-758599683,3d40395222f1c3008f4a0db573dc2d76:1370052623,9620f15294f1c300372c2b5b622ee53b:-444956082,9f10fd1208f1c300e93a107fd9f9844f:-158150197,a2003912faf1c300b791bdffcf900178:-1048357650,3cff29124ef1c300bc94a2831bb40374:-1649761799,d2df211efdb1c300af000ddc0068eda1:-867972420,4cdfadda8eb1c3006cb26d8910c1c7b4:-700687052,d59fadda37b1c3002d4f36902338f5b1:-290983145,138fe1124bf1c300d7330efc9a4e4282:1408632067,915fed12a4f1c3001eb8308c0d38dc4a:1517760489,093f21da04b1c30044de398e050d8356:1958422230,542f2dda2bb1c3008cd24283630c5459:-1387952946,381fa59e0fb1c300e638093810b27780:-580335984,dcfe291218f1c300522be21e736a416e:-839900510,779ee1121af1c300df7614d236e2aa7d:-2001350304,c09ee11283f1c300e5caae9f29cbde79:-825238578,da7e29da43b1c30044f84dbd70ef4850:977462551,696d6d9e33b1c3000612e65bde7acefa:412743564,e32d21da5bb1c3009465a1057ed7d94e:1118169774,8d1de5de3db1c3005022b915dff01061:1106414116,5cdce55e08b1c300e648e434caedfca4:-1164449420,099ce59e8bb1c3008f89c1cb1e2821b5:-1526335118,b08ce59ec1b1c300acebf3c51c73f8b2:487639872,cc3ce55e29b1c30023752188debfe79f:921614917,0f0ce59e61b1c300e158e860411841ae:1969215616,409b6d1e8ab1c30069d74186ea5ead2f:-1603872863,ce6ba19a19b1c300c539c0fd9b095953:176393878,b93b619ad2b1c3007721e76a9b48a1e4:369588429,322b291e8db1c30061fab3d2e5bd52ad:1112600567,4a2ba19ae6b1c3003e18dd4a8c1ae750:19669325,8aea291e33b1c300f667cafcd5c5f3a9:501632050,f4ea619a4eb1c300200110e496191ae0:2146998677,ca1aa91adeb1c30050ecf98ae4be93c7:-999464881,cae92ddae0b1c3008f4f667ebe361ad1:-1608284062,e7096ddae1b1c300481a9a4a0727a8cc:-1941029882,61e82dda57b1c3005a0e137d8b5e95cc:-990697744,cec8e51a75b1c300ae19eff7ec2f86b8:1358348347,cde76ddac5b1c300099ce1c3c36080c3:2009924635,74b76d9a41b1c30056da3e9edea9d4f6:1985795443,f7572d9a63b1c300ee3a7d051d42e34a:-1527144078,f057e51a39b1c300ecea5bdf8e4637b3:1386796703,eb17e1dab2b1c300ae283fd983049cd1:177232751,5f07a5d6cdb1c30007020079a1c1c96c:861869859,5236e5d637b1c300a905283b4e93dae3:-860456271,0816add636b1c30036193b4e4d86a2ff:338288831,1c456d9ae7b1c30026bb87446576c8ec:1641936429,0374a15a21b1c300e85e25ce2374558e:-705638722,5d74e15a94b1c300fea0c30a4d8339d0:-1785051236,0764a5d6a9b1c300d50f31dbef467566:-2029633788,b564e5d69db1c300298d7d155ed2c0d9:1298496479,4354e5d6f1b1c3006069a359189a5177:-1227681509,c654e196aab1c300ce33a0556fa93e3c:348314519,5c54619ae8b1c3007db1f4d38540d380:-698576570,1624e59672b1c3003a5877517dd3a039:1982836126,9914619ae9b1c3001843cff3139cac7c:1348183056,e2e3a15a4ab1c300062312058996ca88:-347669709,a1836d96a2b1c3000ed4c8e690bddf09:-2105157253,0e536d9619b1c300348e251323ce0105:973156269,61f26d5692b1c300d6f9a3915008e98c:32895030,c0b2a196ecb1c300a2a19f8d07a08f83:267595925,2bb1e59615b1c30010268991b933992f:1046136977,8b91e51a7db1c30076cd7aef3ac06138:90210893,d781e51a7db1c3004269e603b10c8834:-1894827233,1b316d161cb1c3007884bbad92dac92c:-551206740,1531e19614b1c300aba96af1d1dff733:931651679,28116d16f9b1c300ace3be093d87611e:-1274945023,a5e06d56c7b1c3003ca0c7f926fab386:1629233326,95b0e5d6f0b1c3008229bbb24ed730aa:-2071336940,6e9029d612b1c300622253a10c50aad3:-563171162,1650e5d6bdb1c300f78469dd02b20fa6:-1209009491,2050e91680b1c3009658618b6d48d856:428030287,7140e19608b1c30059c15d26aee2abb2:-1417415786,8840e916acb1c300b1b6e716b64b7652:897057635,939f5996d2b1c3009d0530e4b96195f6:723504328,773f599622b1c3005eae605da77b4e8b:-295008416,85de1d16aeb1c300a1570d96c2c1ea55:672600756,61cd5d16e6b1c3005ea5ee65eb16da24:178757016,e9ad1d169cb1c300f7991511a744674f:1826122470,9a7dd916ccb1c30083ebabf665dbbe4a:-863978394,4e5d15927bb1c300bceb26b6bf640912:50181630,a73d19d2d7b1c300db9ab753bb122a24:1411403508,5bfc9516c5b1c300e82aad792eafdf59:273719349,f74c19d2f5b1c300299715ddc78e861f:1411403508,11eb59d242b1c300a588b256efbf803e:-640415030,c697dca1a57d4300d00a4f9a483f62d0:-1135910747,9c6718edee7d4300dba6128e91dcd63f:1192428844,673654ed047d430020001bebc810033c:-1359738963,8185d825fb7d430087645c0e3dba0a22:-1844699057,455510adad7d4300e0eac6e826932b90:124630164,48c45425dc7d43002a574a30ccde3cf0:1020216350,8eb394e1067d430073b3f63d10ab6aee:1915694118,14b314a1437d4300f8546434480d7619:1226138793,7de15c21ff7d430083ed67333d25db3a:-2108318711,50f0106d697d4300fb236bf5784fbbf3:645912052,5ec05c21f27d4300703801dae1d36d51:689353626,d8940ce9823d4300edda7256877864bc:645912052,f1c3c4e9213d43002ab11b5697fa3632:-1942755398,5aa24c69273d43003a197727668d2820:-454841937,ae12c069853d430061e6cf7aa57a68c4:-310084358,ac81c4697a3d4300f2e7fba38a29f449:-769952518,fb6104e5c37d430066ea4cee46a0edec:-559320913,fbf0c069223d4300e276a5447d08b7be:-73884171,147ffbd5963d43007a2609e102ac1dfd:1397466014,cc1ebb15257d4300fe6eb8128ac570f6:49608768,20fd3795403d43005d35545252de1726:-724459218,c2edbb158f7d4300420a0e0b8c7edfca:935048038,40fc3395ab3d4300bcac7b9fb9339627:1339556190,94ec77152f7d43004a7f221a1c981e30:1029588894,ebccf395003d430013809f572873eb24:-1935052867,36bcf395e53d43000eb952f84fffb421:-2063086291,322cf3959a3d430061668b63d5676b1d:-1935052867,0ffb3795223d4300d33e198aaa1e561d:2129355651,0cebf395123d4300ab94490a37d78f18:188843885,929bbb15cd7d430008a94cc1203e51c0:935248448,cbeafb55163d4300242eb960f4ff8632:-68198929,25cafb55703d430010d8e9a08d8b6f2f:1789377778,778a33558e3d43007b4fb63c8002136e:782207777,3b2abb15633d43006708db808b2bcd03:-1986427935,452a33550d3d430029db528434b22268:-683483922,4bf973d1807d4300e498d14cf0828bd7:-1865896640,bbc93fd1027d430098cf7833b3802289:14567179,b6993fd10d7d4300b8f43e22ad04c385:1113098489,2798ffd1a23d4300b971857e1a54be48:-1672659516,6088ffd1aa3d43001fc2b894526bfd44:1764827349,cbd637d1d43d4300706e99f47fd7ca8b:2135312034,35b637d1cc3d4300c4eb03521ab23088:-556833609,4d8637d1983d4300be854596e9c3f384:2135312034,a42637d1aa3d430012d0a94b418ad381:1345283431,6816bf51e27d4300dd677184ace0cc90:-1151018942,ddb5f3916f7d4300e9308c569ecd862a:-1970560233,8155bb91f73d43003c55b66cbfb2f5fd:-1739120633,1a357b51933d4300cd882b6345337ca1:2070413110,6425bf512d7d4300754ddcc8cc57868c:-780551489,2f34b351d57d4300bac7a20ca6f14604:875769981,da34f311e27d4300ea75a43c500e8146:626347215,3504f311877d43001dd1cb786e3b9343:-2006093743,31233bdd98f943005b48e64697ecad10:268675105,f1a2b711d73d4300ca9e5d74fe71d348:-1199575071,5d3273515e7d43005d2cb6597b364dff:440434177,17a13bdd6ef94300e71ccdef0294ac0a:1853173473,9491b711cc3d4300b7366a672fd30642:-1351328777,af317fdd403d4300de5b2d84c43b60c3:-1059392905,f5507f5d32f9430026ee7386a2344961:-549766297,7c76a7d91bf94300d7a4923b551deab9:-982771863,6456235947f9430092ed3a1adc433761:1576074257,57c5a7d97e3d4300a5c80004ae7517ed:-2136483701,dc95eb99953d43009fc3455d74763a20:-53180079,bae3ef198ff9430051460ea39f2e041e:1127634430,26c36f95f33d4300147644fcebf5b3e0:-1394405570,aea32f99b03d43002f49c0f8272eb29f:-579873368,7b32af1904f9430064b5173b3bd983e5:-1847566616,4bb1ebd5cdf943003291834ab0b7df71:904771612,f2916799613d43007f3cb6401134b254:-1433605995,97bf87d1943d4300fa2679e1359e0bd8:-1767266020,b23f0fdd52b9430045d72fd16bd5d513:1374553245,212f8b9d87b943002fe42b61ec6164d9:1177337946,39230b9d2cf94300902976fad13ccb61:1936942020,e5120f5982b94300a10c1b60e976a52d:-605653482,8d91cf5983b94300f5134747849edcdc:-772404399,438143994eb94300043a3bf545a127b3:961091994,4f414359ccb94300c40306085004b76a:-361338461,f6010f591ab94300c9881f1c4de4d629:-1353874647,3df0875995b943001edb71ff1036aa1b:-443105941,05e08b5d5ef94300448e9b4a61340c7f:-741234891,8ce08b5db2f943009c7d65e1173f747b:-1034990220,bed04359f1b94300c5dc41c4951c6a65:-2076030305,e9c08fd51db943004599b689e7ac53e6:-1534084273,c8a0875d06f943009092e9840fa74c94:184775027,cb40875d80f943007924eee3eba3038f:-2134379763,d140875da4f94300349a476c19d3cbc9:-1265997766,4440875d7ef9430054114b9157b4568c:-1536544700,c7308b1d29f9430003f33021b592a5ea:-648103942,0530871d70f94300d20da92fc7ae8497:-525590004,00308759a0b94300f35a4178566d1e16:171166410,baef725db0f94300d7176fce39177bb9:533611594,36df725d32f943009a10d98c85bce7b6:193830404,9cdf7259d5b94300187acdd84c5b0560:-407315392,90af725d9cf94300d3c11b45d191d3b2:-562456887,918f3e99b4f9430091b2f311cc7ae314:299208586,d05f3e1d2ef94300c531b6012e03ad67:-2058993165,a11eb61d3ef9430049dc3e56a0191393:7355710,1aedbed5f8b94300b5d5e39548feb0dc:1573894110,48dd7e9510b943008e6c1c4f4a554cb0:-370818751,7d8d3a1973f943006ff3b45e4d0c081e:-135208823,a72d3e99d2f9430080e3fa284664fe0e:-1545630280,7fe42e5d72794300fd50057f007788a3:1271222423,c962a25133f94300bfa032ce964ee50b:1392028355,8390aed9e779430061e867aeffe0260a:1341763636,e2ce5611bdf94300a0c085b71d9407ee:1192289838,21ce5a59187943006b2fda7b1ac18a55:-1094371948,5c3e1add0fb94300909646c41dae3bad:166397178,a2ed5299e2794300eb8599eee4afc6c4:1525625526,0ecd96ddbbb94300d28ccce60e846166:387212365,8bbc1ad5ef7943007cec562310c4a8e4:-1509989287,559c1ad5ae7943005f1a413c37b9b9e1:1908009536,144c1ed57979430069f137b83af0f17b:-922829412,65bbd29ddeb9430059a6c12cc06b716b:-1810790503,ddea1ed51d794300b3fc8815dc057f77:282404297,48dad29d10b94300702553ea4e9fa066:1408244536,90ca1ad511794300e36416b733d7e1dc:344985593,f0aa12950b794300735571c29d766f11:-1998590046,8c8a1ed5917943002106843ea447c873:841574349,273ad655fe79430038b3c46f9021e952:-1109515390,da551a15317943007d58e6ede6dddd00:-302473540,1f35d65581794300bf4d4e0477ca3646:160857192,6a25d2d1e57943003166cf8060a01d4f:1656191909,391592555e79430017728bf679c80955:-648747275,07e4d615f779430026cad175eba9f7fd:817301653,02139a5102794300632493d1244e99af:1357980691,f8e296d176794300b2df7c36a27b6de4:-2044531661,e1b29a51a4794300d12015c777a0a7a9:-1293460637,75825ad90bb9430057a2599877f52a38:-1855023624,b88296d1317943006dba37ba040f39df:-1190590779,5d725e59feb943008877e506ec56d85d:-1128833261,a0f761b0bcf90300a15bba0269ccdcf0:-1058344655,eea7e134e17d0300bbf28f8e44f425f9:-319793453,db57a97063f90300f12c6a772256d76d:-2022127993,6517ed70667d0300a430c5bad236074a:756985757,afe6e5f0d47d0300062dd8e231a2597c:1140903045,09d6a97033f90300968a5fee0dbfe569:756985757,f786ed701e7d03001a9f50b23e34c844:1753104955,4c46a57071f90300321ad49b425a1887:208718970,79e5213076f90300e68456f70d59a0f0:1844482748,76d5257013f90300d90cb2c7a63a3056:688842236,ff456dfcf5b9030010cbe08a8a5e9318:-1666840118,e9136530837d0300b0da17b5194580e9:539165143,14d26530f57d0300dc7a12f0c8d06ae6:-1129773818,aac2e9fc9db90300fb7108b6b161cd5b:1345749181,bcc221fc44b903007e7d086b00330ac2:464437781,9672e9fc69b903006eb717800b174f57:-1741615207,ed2265307e7d03008300f2004285dbe1:-2091601856,57f1e9fc43b90300511667d06a4ba052:-855483446,39f121bc933d0300e4c82f29dfc7bc8e:-1029447376,79d12dbca4b90300f18d10d305285364:-1713805402,bc51a9fc993d0300e83e2945d0566a3a:-1927776388,fb31edbc583d03007b208d5ccf2c9c16:-764948818,0531edbccd3d0300af4ae4e782273f13:-1059325690,d911ad7c7a3d0300c90012a8c73b1c52:47534430,c901a1bc7eb903007639f8536eb5bdf6:-1977018169,5ea0edbc8a3d0300525e83481eddcd0f:-922488663,f0bf1d7cc2b9030039f06e2a885223ba:168887625,92cd11bc133d0300b06b5955b1625687:-333140853,2a3dd53ceab90300243a85847446be36:1176795130,af1d993c57b90300fd4445427e19f021:-807840998,5c0d993c063d0300ac41711a619c851c:1105606761,c38c9d3cf13d0300f3ff7076a4c09c7a:-766522029,e03c113c193d03000e12608c14f0da00:1055380105,47fb193c653d0300cb2a581292357b81:-2117051703,f77bddf80db9030017aacb6c7afb5c6d:-787234351,7eca91f8233d0300a5a72258b1f3b1c8:-1417787807,8e3a59f8ecb903002ee184289ae882c4:-1490590927,d9891d38983d03007458fa2eb9e606e5:-1090419556,3e6959f885b903007cdbdaa6c259f3c0:923960984,e41991f881b90300068729ddfdffa947:1870695588,aad81978813d030052a273ca842b9597:1497266315,737891f86db903001f79dc018a0d5844:-1246734670,297811788e3d03006eb6ca31d08b834c:430216841,832815b8cdb9030075405e57f0e62765:368729415,38281178be3d0300bf7f8c9f4f4ce447:1776753287,dfb65538f63d03007b2f2c5b7071d358:-792570866,83161d38c13d03007e224a24fb83c7dd:-1435917731,fb955538fa3d030002d5eadeb00a4454:-757194616,146599f06f3d0300b9b69ffa2511da28:-1580843179,8bc4ddb4883d030035d778ca91a0824c:704620284,62b1d974f33d0300891f1c4e3bb2cea8:-726015731,3971d974a93d03004e11654a79500311:456224900,61219df0ef3d03004a9722261114c8a5:-726015731,ec21d138c7b9030075c940b43486a692:733850783,ccdf01b07c3d0300a69b9c5215d1f4d7:1705306322,cb5f8df475b90300616157cd776b1e44:-2014523232,321f0570043d0300dc6a5b4e66ff24e2:568877761,941e01b0b83d0300bc9d9f36b33256d2:-1304506106,30fd01b0fb3d030014c822e4c89ad3cf:1498913929,e23d4930823d0300f05b00f811dde7f5:1206931906,af9c4dfc48f903004fc43e3eef8e1a18:-1773870215,169c41fca7f90300fafa37cba7d6f2f5:-1697121096,f90c4dfcbbf9030047393bd32c6afb14:-867337319,609b49309a3d0300d06742920314b7ee:1094746556,d65b85b41bb90300060236e0f3992dcc:-1613409473,fe4b01740db903002c240b35f530ed94:-1888036057,0ffa01b4bfb90300312245c6ec0d65d5:-29273279,23f9cdf055b903002e88fc6fcdf1cf3c:-274452337,5cf50534a7b90300d19d84ccf3dbf50e:1582763261,a2e50db8f2f9030036acd37c2d9795d2:-1092994425,8beeb8306eb90300334f378a06debc07:-1703247201,1aeeb83887f9030043b4fa8f4a042cb5:44465900,12bd7c38c7f90300f41c2900f676c0f3:-181405396,aa4db830d2b903007c5352a680ca59d5:1307703276,942d387439f90300f79ccd543c1ec77e:1093206882,91fc3c30feb90300650b20a9422d2e4a:48850916,adac30f499f9030056d022608c60feec:-1692734080,359cb830d3b9030058c7957bf11ff600:-1199814956,72fa30f458f90300a897cba92301b2e7:-81723154,f1ca78fcf7790300822b8ad5b99bd71e:-1188632688,beaa78fc117903008895cea28862c61a:360524775,119afcbc42790300a86d36c3c3bbc970:-1315554024,fd2a3874bef90300c0648e0b66e03376:535269504,2e0a78fc59790300cf846cbb3dfd6416:1672765969,38f938fc8a790300198b93da33bca45e:1844942266,a148b8744af9030002454d10146805af:1472523665,ad2878bc40790300c011a80ae1405c50:-249338015,02777c3440f90300de3fcb368bc42de3:-1821174052,3e07f4b0d5f90300f6ffe6beff47b2b5:732398932,48a6fc7c1f790300f0d03d501f69cd14:-935675308,31967c3434f9030006b7048f852765de:1696631331,65667c3c987903004c62f11b18aefc23:272876374,3c46f8f073f90300bed005c3998b6e07:1344600609,1b16fc7cbc79030045ca3539fdbefc0e:-1676756711,94b12834137903001284c7ee9af0acc1:1344600609,47a1643412790300d7137aea547f19ef:1660416528,d961a874747903005defc05270895b76:83283216,5851e4b8b2b903000fdba54552b63102:1998374062,524ed47822b90300a3987b331d7734c2:1540147030,ad2e5cf032790300480dc9731c792966:1936765764,b4ed10b0b27903002a8516ed9bd85fc8:1658726456,82add4788ab90300bd9112744f3523bd:582675071,da8d90b8feb903008f8aa84f13739a20:1341474199,b74d903881b903000e201bb58aa113c5:269098607,040d5cf0b3790300c431dae19575e35f:2130836249,446b9438d1b90300def6b4063243d0a3:-200432455,1bf81030327903003afdfbf1eafcc049:-759159233,66a618f46bb90300b60b264413ea150d:-1661970614,ca1b087039b90300db19e868ef4f42fd:424544694</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_504b44b0dbb9030086da7d5e0f96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"QuaggaJS\">0e2b84b0dbb9030086da7d5e0f961912</sp_dependency><sp_widget display_value=\"Barcode Reader Live\">32f94c70dbb9030086da7d5e0f9619c2</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-10-11 10:48:20</sys_created_on><sys_id>504b44b0dbb9030086da7d5e0f96195f</sys_id><sys_mod_count>2</sys_mod_count><sys_name>QuaggaJS.Barcode Reader Live</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_504b44b0dbb9030086da7d5e0f96195f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-10-16 11:21:48</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-594935966</payload_hash>\n<remote_update_set display_value=\"barcode-reader-live\">0b3c8ededbf1c3004e5cfa131f96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-10-16 12:02:45</sys_created_on>\n<sys_id>c73c8ededbf1c3004e5cfa131f96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f24eb1b8d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-10-16 12:02:45</sys_updated_on>\n<table/>\n<target_name>QuaggaJS.Barcode Reader Live</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>1fd2ceda77f1c3009c75d217d162e52d</update_guid>\n<update_guid_history>1fd2ceda77f1c3009c75d217d162e52d:-594935966,52d24eda51f1c300bfa6e930c06c4b28:-989579391,984b44b086b903001f29164b0e34cf60:-594935966</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-barcode-reader-live/widget/pe-barcode-reader-fi.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"barcode\">\n    <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 1000 1000\"\n      enable-background=\"new 0 0 1000 1000\" xml:space=\"preserve\">\n      <g>\n        <path d=\"M206,206h-65.3v588H206h65.3V206H206z M794,206h-65.3v588H794h65.3V206H794z M990,794V206h-65.3v588H990z M598,794V206h-65.3v588H598z M402,206h-65.3v588H402h65.3V206H402z M75.3,794V206H10v588H75.3z\"\n        />\n      </g>\n    </svg>\n  </symbol>\n</svg>\n\n<div class=\"row\" ng-show=\"!c.visible\">\n  <div class=\"col-md-12\">\n    <h5>{{data.title}}</h5>\n  </div>\n  <div class=\"col-md-12\">\n    <div class=\"input-group\">\n      <span class=\"input-group-addon\" id=\"search-input\">\n        <i class=\"glyphicon glyphicon-search\"></i>\n      </span>\n      <input type=\"text\" aria-describedby=\"search-input\" class=\"form-control\" placeholder=\"{{data.placeholder}}\" ng-model=\"c.barcode\"\n        ng-change=\"c.searchUpdate(c.barcode);c.showResult()\">\n    </div>\n    <div class=\"element-container\">\n      <ul id=\"results\" class=\"results\">\n        <li ng-repeat=\"item in c.data.showProducts\">\n          <a href=\"javascript:void(0)\" ng-click=\"c.hideResult(item)\">\n            {{item.label}}\n            <br/>\n            <span>{{item.lookup_value}}</span>\n            <br/>\n            <small ng-repeat=\"f in item.secondary_fields\">\n              <span ng-if=\"!$first\"> • </span>\n              <span ng-switch=\"f.type\" title=\"{{::f.label}}\">\n                <span ng-switch-when=\"glide_date\">\n                  <sn-time-ago timestamp=\"::f.value\" />\n                </span>\n                <span ng-switch-when=\"glide_date_time\">\n                  <sn-time-ago timestamp=\"::f.value\" />\n                </span>\n                <span ng-switch-default=\"\">{{f.display_value}}</span>\n              </span>\n            </small>\n          </a>\n        </li>\n      </ul>\n    </div>\n  </div>\n  <div class=\"col-md-12 ndl-main-section ndl-center\">\n    <svg viewBox=\"0 0 33 33\" width=\"200px\" height=\"150px\">\n      <use xlink:href=\"#barcode\"></use>\n    </svg>\n    <div>\n\n      <div class=\"form-group\">\n        <button type=\"button\" class=\"btn btn-default custom-file-upload\" ng-click=\"c.showStream()\">{{data.action_label}}</button>\n      </div>\n\n      <div ng-show=\"c.data.scanProducts.length > 0\">\n        <div id=\"result_strip\">\n          <ul class=\"thumbnails\">\n\n            <li ng-repeat=\"item in c.data.scanProducts\" id=\"{{$index}}-{{item.lookup_value}}\" ng-click=\"c.selectBarcode(item.lookup_value)\">\n              <div class=\"thumbnail\">\n                <div class=\"imgWrapper\">\n                  <img id=\"img-{{item.lookup_value}}\" src=\"{{item.image}}\" />\n                </div>\n                <div class=\"caption\">\n                  <h4 class=\"code\">{{item.lookup_value}}</h4>\n                  <a href=\"javascript:void(0)\">{{item.label}}</a>\n                </div>\n              </div>\n            </li>\n\n          </ul>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=\"row\" ng-show=\"c.visible\">\n  <div class=\"col-md-12 ndl-main-section ndl-center\">\n    <div class=\"form-group\">\n      <button type=\"button\" class=\"btn btn-default custom-file-upload\" ng-click=\"c.hideStream()\">\n        <span class=\"glyphicon glyphicon-menu-left pull-left\"></span>${Back}</button>\n    </div>\n  </div>\n  <div class=\"col-md-12 ndl-main-section ndl-center\">\n    <div id=\"interactive\" class=\"viewport\"></div>\n  </div>\n</div>"
  },
  {
    "path": "pe-barcode-reader-live/widget/pe-barcode-reader-fi.u-client-script.js",
    "content": "function BarcodeReaderLiveController($scope, $window) {\n\t/* widget controller */\n\tvar c = this;\n\n\tc.result = '';\n\n\tc.data.showProducts = [];\n\tc.data.scanProducts = [];\n\tc.visible = false;\n\n\n\tc.searchUpdate = function (input) {\n\t\tif (input.length >= 3) {\n\t\t\tc.getProductModel(input, true);\n\t\t} else\n\t\t\tc.data.showProducts = [];\n\t};\n\n\tc.getProductModel = function (code, manual, image) {\n\t\tc.server.get({\n\t\t\tbarcode: code\n\t\t}).then(function (response) {\n\t\t\tif (response.data.products.length > 0) {\n\t\t\t\tif (manual)\n\t\t\t\t\tc.data.showProducts = response.data.products;\n\t\t\t\telse {\n\t\t\t\t\tc.data.showProducts = [];\n\t\t\t\t\tfor (var i = 0; i < response.data.products.length; i++) {\n\t\t\t\t\t\t//$node.find(\"img\").attr(\"src\", canvas.toDataURL());\n\t\t\t\t\t\tresponse.data.products[i].image = image;\n\t\t\t\t\t\tc.data.scanProducts.push(response.data.products[i]);\n\t\t\t\t\t\tc.data.showProducts.push(response.data.products[i]);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (manual)\n\t\t\t\t\tc.data.showProducts = [];\n\t\t\t}\n\n\t\t});\n\n\n\t};\n\n\tc.selectBarcode = function (code) {\n\t\tif (code) {\n\t\t\tconsole.log('barcode selected', code);\n\t\t}\n\t};\n\n\tc.hideResult = function (item) {\n\t\tif (item) {\n\t\t\tdocument.getElementById('results').style.display = 'none';\n\t\t}\n\t};\n\n\tc.showResult = function () {\n\t\tdocument.getElementById('results').style.display = 'block';\n\t};\n\n\tvar App = {\n\t\tinit: function () {\n\t\t\tvar self = this;\n\n\t\t\tQuagga.init(this.state, function (err) {\n\t\t\t\tif (err) {\n\t\t\t\t\treturn self.handleError(err);\n\t\t\t\t}\n\t\t\t\tApp.checkCapabilities();\n\t\t\t\tQuagga.start();\n\t\t\t});\n\t\t},\n\t\thandleError: function (err) {\n\t\t\tconsole.log(err);\n\t\t},\n\t\tcheckCapabilities: function () {\n\t\t\tvar track = Quagga.CameraAccess.getActiveTrack();\n\t\t\tvar capabilities = {};\n\t\t\tif (typeof track.getCapabilities === 'function') {\n\t\t\t\tcapabilities = track.getCapabilities();\n\t\t\t}\n\n\t\t\tthis.applySettingsVisibility('zoom', capabilities.zoom);\n\t\t\tthis.applySettingsVisibility('torch', capabilities.torch);\n\t\t},\n\t\tupdateOptionsForMediaRange: function (node, range) {\n\t\t\tvar NUM_STEPS = 6;\n\t\t\tvar stepSize = (range.max - range.min) / NUM_STEPS;\n\t\t\tvar option;\n\t\t\tvar value;\n\t\t\twhile (node.firstChild) {\n\t\t\t\tnode.removeChild(node.firstChild);\n\t\t\t}\n\t\t\tfor (var i = 0; i <= NUM_STEPS; i++) {\n\t\t\t\tvalue = range.min + (stepSize * i);\n\t\t\t\toption = document.createElement('option');\n\t\t\t\toption.value = value;\n\t\t\t\toption.innerHTML = value;\n\t\t\t\tnode.appendChild(option);\n\t\t\t}\n\t\t},\n\t\tapplySettingsVisibility: function (setting, capability) {\n\t\t\t// depending on type of capability\n\t\t\tif (typeof capability === 'boolean') {\n\t\t\t\tvar node = document.querySelector('input[name=\"settings_' + setting + '\"]');\n\t\t\t\tif (node) {\n\t\t\t\t\tnode.parentNode.style.display = capability ? 'block' : 'none';\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (window.MediaSettingsRange && capability instanceof window.MediaSettingsRange) {\n\t\t\t\tvar node = document.querySelector('select[name=\"settings_' + setting + '\"]');\n\t\t\t\tif (node) {\n\t\t\t\t\tthis.updateOptionsForMediaRange(node, capability);\n\t\t\t\t\tnode.parentNode.style.display = 'block';\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t},\n\t\tinitCameraSelection: function () {\n\t\t\tvar streamLabel = Quagga.CameraAccess.getActiveStreamLabel();\n\n\t\t\treturn Quagga.CameraAccess.enumerateVideoDevices()\n\t\t\t\t.then(function (devices) {\n\t\t\t\t\tfunction pruneText(text) {\n\t\t\t\t\t\treturn text.length > 30 ? text.substr(0, 30) : text;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t},\n\t\tstate: {\n\t\t\tinputStream: {\n\t\t\t\ttype: \"LiveStream\",\n\t\t\t\tconstraints: {\n\t\t\t\t\twidth: {\n\t\t\t\t\t\tmin: 640\n\t\t\t\t\t},\n\t\t\t\t\theight: {\n\t\t\t\t\t\tmin: 480\n\t\t\t\t\t},\n\t\t\t\t\tfacingMode: \"environment\",\n\t\t\t\t\taspectRatio: {\n\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\tmax: 100\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tlocator: {\n\t\t\t\tpatchSize: \"medium\",\n\t\t\t\thalfSample: true\n\t\t\t},\n\t\t\tnumOfWorkers: 1,\n\t\t\tfrequency: 20,\n\t\t\tdecoder: {\n\t\t\t\treaders: [{\n\t\t\t\t\tformat: c.data.barcode_standard,\n\t\t\t\t\tconfig: {}\n\t\t\t\t}]\n\t\t\t},\n\t\t\tlocate: true\n\t\t},\n\t\tlastResult: null\n\t};\n\n\tQuagga.onProcessed(function (result) {\n\t\tvar drawingCtx = Quagga.canvas.ctx.overlay,\n\t\t\tdrawingCanvas = Quagga.canvas.dom.overlay;\n\n\t\tif (result) {\n\t\t\tif (result.boxes) {\n\t\t\t\tdrawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute(\"width\")), parseInt(drawingCanvas.getAttribute(\"height\")));\n\t\t\t\tresult.boxes.filter(function (box) {\n\t\t\t\t\treturn box !== result.box;\n\t\t\t\t}).forEach(function (box) {\n\t\t\t\t\tQuagga.ImageDebug.drawPath(box, {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 1\n\t\t\t\t\t}, drawingCtx, {\n\t\t\t\t\t\tcolor: \"green\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (result.box) {\n\t\t\t\tQuagga.ImageDebug.drawPath(result.box, {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 1\n\t\t\t\t}, drawingCtx, {\n\t\t\t\t\tcolor: \"#00F\",\n\t\t\t\t\tlineWidth: 2\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (result.codeResult && result.codeResult.code) {\n\t\t\t\tQuagga.ImageDebug.drawPath(result.line, {\n\t\t\t\t\tx: 'x',\n\t\t\t\t\ty: 'y'\n\t\t\t\t}, drawingCtx, {\n\t\t\t\t\tcolor: 'red',\n\t\t\t\t\tlineWidth: 3\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\tQuagga.onDetected(function (result) {\n\t\tvar code = result.codeResult.code;\n\t\tc.result = code;\n\n\t\tif (App.lastResult !== code) {\n\t\t\tApp.lastResult = code;\n\t\t\tvar $node = null,\n\t\t\t\tcanvas = Quagga.canvas.dom.image;\n\n\t\t\tc.getProductModel(code, false, canvas.toDataURL());\n\n\t\t}\n\n\t\tc.hideStream();\n\t});\n\n\tc.showStream = function () {\n\t\tc.visible = true;\n\t\tApp.init();\n\n\t}\n\n\tc.hideStream = function () {\n\t\tQuagga.stop();\n\t\tc.visible = false;\n\t}\n\n\n}"
  },
  {
    "path": "pe-barcode-reader-live/widget/pe-barcode-reader-fi.u-css.scss",
    "content": "input[type=\"file\"] {\n  display: none;\n}\n\n.custom-file-upload {\n  display: inline-block;\n  cursor: pointer;\n  background-color: $gray-lighter;\n  border-radius: 4px;\n  height: 42px;\n  border: 0px;\n  width: 200px;\n  padding-top: 10px;\n  text-align: center;\n}\n\n.element-container input:focus+.results {\n  display: block;\n}\n\n.element-container .results {\n  position: absolute;\n  top: 38px;\n  left: 0;\n  right: 0;\n  z-index: 10;\n  padding: 0;\n  margin: 0;\n  border-width: 0px;\n  border-style: solid;\n  border-color: #cbcfe2 #c8cee7 #c4c7d7;\n  border-radius: 4px;\n  background-color: $gray-lighter;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -ms-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n.results-hide {\n  display: none;\n}\n\n.element-container .results li {\n  display: block\n}\n\n.element-container .results li:first-child {\n  margin-top: -1px\n}\n\n.element-container .results li:first-child:before,\n.element-container .results li:first-child:after {\n  display: block;\n  content: '';\n  width: 0;\n  height: 0;\n  position: absolute;\n  left: 50%;\n  margin-left: -5px;\n  border: 5px outset transparent;\n}\n\n.element-container .results li:first-child:before {\n  border-bottom: 5px solid #c4c7d7;\n  top: -11px;\n}\n\n.element-container .results li:first-child:after {\n  border-bottom: 5px solid #fdfdfd;\n  top: -10px;\n}\n\n.element-container .results li:first-child:hover:before,\n.element-container .results li:first-child:hover:after {\n  display: none\n}\n\n.element-container .results li:last-child {\n  margin-bottom: -1px\n}\n\n.element-container .results a {\n  display: block;\n  position: relative;\n  margin: 0 -1px;\n  padding: 6px 40px 6px 10px;\n  font-weight: 500;\n  text-shadow: 0 1px #fff;\n  border: 1px solid transparent;\n  border-radius: 3px;\n}\n\n.element-container .results a:before {\n  content: '';\n  width: 18px;\n  height: 18px;\n  position: absolute;\n  top: 50%;\n  right: 10px;\n  margin-top: -9px;\n}\n\n.element-container .results a:hover {\n  text-decoration: none;\n  color: #fff;\n  text-shadow: 0 -1px rgba(0, 0, 0, 0.3);\n  border-color: $brand-primary;\n  background-color: $brand-primary;\n}\n\n.ndl-alert {\n  color: $brand-warning;\n}\n\n#interactive.viewport {\n  width: 100%;\n  height: auto;\n}\n\n#interactive.viewport canvas,\nvideo {\n  float: left;\n  width: 100%;\n  height: auto;\n}\n\n#interactive.viewport canvas.drawingBuffer,\nvideo.drawingBuffer {\n  margin-left: - 100%;\n}\n\n#interactive.viewport canvas.drawingBuffer {\n  width: 100%;\nheight: 100%;\nposition: absolute;\ntop: 0px;\nleft: 0px;\n}\n\n#result_strip {\n  margin: 10px 0;\n  border-top: 1px solid #EEE;\n  border-bottom: 1px solid #EEE;\n  padding: 10px 0;\n}\n\n#result_strip>ul {\n  padding: 0;\n  margin: 5px;\n  list-style-type: none;\n  width: auto;\n  overflow-x: auto;\n  overflow-y: hidden;\n  white-space: nowrap;\n}\n\n#result_strip>ul>li {\n  display: inline-block;\n  vertical-align: middle;\n  width: 160px;\n}\n\n#result_strip>ul>li .thumbnail {\n  padding: 5px;\n  margin: 4px;\n  border: 1px dashed #CCC;\n}\n\n#result_strip>ul>li .thumbnail img {\n  max-width: 140px;\n}\n\n#result_strip>ul>li .thumbnail .caption {\n  white-space: normal;\n}\n\n#result_strip>ul>li .thumbnail .caption h4 {\n  text-align: center;\n  word-wrap: break-word;\n  margin: 0px;\n}\n\n#result_strip>ul:after {\n  content: \"\";\n  display: table;\n  clear: both;\n}\n\n.ndl-center {\n  margin: auto;\n  text-align: center;\n}"
  },
  {
    "path": "pe-barcode-reader-live/widget/pe-barcode-reader-fi.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  if (input) {\n    data.table = input.table || options.table;\n    data.display_field = input.display_field || options.display_field;\n    data.lookup_field = input.lookup_field || options.lookup_field;\n    options.secondary_fields = options.secondary_fields || \"\";\n    data.title = input.title || options.title;\n    data.placeholder = input.placeholder || options.placeholder;\n    data.action_label = input.action_label || options.action_label;\n    data.barcode_standard = input.barcode_standard || options.barcode_standard;\n\n    data.barcode = input.barcode;\n    if (data.barcode)\n      data.barcode = data.barcode.trim();\n\n    data.products = [];\n\n    if (data.table && data.display_field && data.lookup_field) {\n      var ret = new GlideRecord(data.table);\n      ret.addQuery(data.lookup_field, 'CONTAINS', data.barcode);\n      ret.query();\n      var temp = {};\n      while (ret.next()) {\n        temp = {};\n        temp.sys_id = ret.getUniqueValue();\n        temp.label = ret.getDisplayValue(data.display_field);\n        temp.lookup_value = ret.getDisplayValue(data.lookup_field);\n        temp.secondary_fields = $sp.getFields(ret, options.secondary_fields);\n\n        data.products.push(temp);\n      }\n    }\n  } else {\n    data.title = gs.getMessage(options.title);\n    data.placeholder = gs.getMessage(options.placeholder);\n    data.action_label = gs.getMessage(options.action_label);\n    data.barcode_standard = options.barcode_standard;\n  }\n\n})();"
  },
  {
    "path": "pe-blog/README.md",
    "content": "# Blog\n\n## Description\n\nA simple blog widget crafted from Knowledge Base articles with configurable options.\n\n## Screenshots\n\n### Dark Theme\n\n![Blog Dark Theme](../images/pe-blog-dark-theme.png)\n\n### Light Theme\n\n![Blog Light Theme](../images/pe-blog-light-theme.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-blog.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-blog/pe-blog.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `KB category` | Sets the blog category. | Email |\n| `Max entries` | Sets the maximum number of blog entries. | 5 |\n| `Excerpt character limit` | Defines the blog excerpt character limit. | 300 |\n| `Theme` | Sets the blog theme. Three options: Dark, Dracula and Light. | Light |\n| `Edit role` | Selects the role that will be able to view the edit button. | admin |\n| `Display excerpt` | Used to show or hide the excerpt. | Checked |\n| `Display ratings` | Used to show or hide the ratings. | Checked |\n\n## Platform Dependencies\n\n### Tables\n\n* kb_knowledge\n* u_sp_blog_instance\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-light-theme-header: #222 !default;\n$pe-dark-theme-header: #fff !default;\n$pe-dracula-theme-header: #bd93f9 !default;\n$pe-sub-header-color: #777 !default;\n$pe-anchor-color: #03a9f4 !default;\n$pe-font-size: 1.5rem !default;\n```"
  },
  {
    "path": "pe-blog/pe-blog.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-11-17 01:07:36\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Blog</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>309bdfd0db2a8300db45bff0ef96196f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>4229e0e4dbaa8300db45bff0ef961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0fcb9b14db2a8300db45bff0ef9619cf</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function BlogController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.dateFormat = 'MMMM d, y';\n    c.defaultAuthor = 'Unknown';\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-light-theme-header: #222 !default;&amp;#13;\n$pe-dark-theme-header: #fff !default;&amp;#13;\n$pe-dracula-theme-header: #bd93f9 !default;&amp;#13;\n$pe-sub-header-color: #777 !default;&amp;#13;\n$pe-anchor-color: #03a9f4 !default;&amp;#13;\n$pe-font-size: 1.5rem !default;&amp;#13;\n&amp;#13;\n.blog-container {&amp;#13;\n  font-family: 'Whitney SSm A', 'Whitney SSm B', 'Lato', 'Lucida Grande',&amp;#13;\n    'Lucida Sans Unicode', Tahoma, Sans-Serif;&amp;#13;\n  margin: 0 auto;&amp;#13;\n  max-width: 700px;&amp;#13;\n  .blog-post {&amp;#13;\n    display: block;&amp;#13;\n    margin-bottom: 4rem;&amp;#13;\n    padding: 0;&amp;#13;\n    &amp;amp;:last-child {&amp;#13;\n      border-bottom: none;&amp;#13;\n    }&amp;#13;\n    article {&amp;#13;\n      margin-bottom: 20px;&amp;#13;\n      padding: 0 20px;&amp;#13;\n      h1 {&amp;#13;\n        font-size: 3.5rem;&amp;#13;\n        font-weight: 700;&amp;#13;\n        text-transform: capitalize;&amp;#13;\n      }&amp;#13;\n      h2 {&amp;#13;\n        color: $pe-sub-header-color;&amp;#13;\n        font-size: $pe-font-size;&amp;#13;\n        font-weight: bold;&amp;#13;\n      }&amp;#13;\n      a {&amp;#13;\n        cursor: pointer;&amp;#13;\n      }&amp;#13;\n      .blog-info {&amp;#13;\n        margin: 20px 0;&amp;#13;\n      }&amp;#13;\n      .s1 {&amp;#13;\n        font-size: $pe-font-size;&amp;#13;\n      }&amp;#13;\n      .rating {&amp;#13;\n        float: right;&amp;#13;\n        margin-left: 5px;&amp;#13;\n      }&amp;#13;\n      .author {&amp;#13;\n        font-weight: bold;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .tags {&amp;#13;\n      margin-bottom: 0;&amp;#13;\n      padding: 0.4rem 2rem 0.5rem;&amp;#13;\n      i {&amp;#13;\n        margin-right: 0.1rem;&amp;#13;\n      }&amp;#13;\n      .edit-entry {&amp;#13;\n        float: right;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .dark-theme {&amp;#13;\n    a {&amp;#13;\n      color: $pe-anchor-color;&amp;#13;\n      &amp;amp;:hover {&amp;#13;\n        color: lighten($pe-anchor-color, 30%);&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    color: #e5e5e5;&amp;#13;\n    background-color: #3a3939;&amp;#13;\n    h1 {&amp;#13;\n      color: $pe-dark-theme-header;&amp;#13;\n      &amp;amp;:hover {&amp;#13;\n        color: $pe-anchor-color;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .blog-info {&amp;#13;\n      color: #888;&amp;#13;\n    }&amp;#13;\n    .rating {&amp;#13;\n      color: #888;&amp;#13;\n    }&amp;#13;\n    .tags {&amp;#13;\n      background-color: #302f2f;&amp;#13;\n      color: #888;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .dracula-theme {&amp;#13;\n    a {&amp;#13;\n      color: #8be9fd;&amp;#13;\n      &amp;amp;:hover {&amp;#13;\n        color: #fff;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    color: #f8f8f2;&amp;#13;\n    background-color: #282a36;&amp;#13;\n    h1 {&amp;#13;\n      color: $pe-dracula-theme-header;&amp;#13;\n      &amp;amp;:hover {&amp;#13;\n        color: #6272a4;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .blog-info {&amp;#13;\n      color: #6272a4;&amp;#13;\n    }&amp;#13;\n    .rating {&amp;#13;\n      color: #6272a4;&amp;#13;\n    }&amp;#13;\n    .tags {&amp;#13;\n      background-color: #44475a;&amp;#13;\n      color: #bd93f9;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .light-theme {&amp;#13;\n    a {&amp;#13;\n      color: $pe-anchor-color;&amp;#13;\n      &amp;amp;:hover {&amp;#13;\n        color: #222;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    color: #222;&amp;#13;\n    background-color: #f9f9f9;&amp;#13;\n    h1 {&amp;#13;\n      color: $pe-light-theme-header;&amp;#13;\n      &amp;amp;:hover {&amp;#13;\n        color: $pe-anchor-color;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .blog-info {&amp;#13;\n      color: #888;&amp;#13;\n    }&amp;#13;\n    .rating {&amp;#13;\n      color: #888;&amp;#13;\n    }&amp;#13;\n    .tags {&amp;#13;\n      background-color: #e9e9e9;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;u_sp_blog_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;u_category,u_max_entries,u_excerpt_character_limit,u_theme,u_edit_role,u_excerpt,u_ratings&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-blog&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Blog&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  activate();\n\n  function activate() {\n    getOptions();\n    getKnowledgeItems();\n    hasAdminRole();\n  }\n\n  function hasAdminRole() {\n    var userRoles = gs.getUser().getUserRoles().toString();\n    var userArray = userRoles.split(',');\n    var hasRole = [];\n    userArray.forEach(function(value, key) {\n      var canEdit = options.roles.includes(value) === true ? true : false;\n      hasRole.push(canEdit);\n    });\n    data.isAdmin = hasRole.join().includes(true) ? true : false;\n    return data.isAdmin;\n  }\n\n  function getOptions() {\n    var serverOptions = input.options ? input.options : input.parameters ? input.parameters : {};\n    options.category = options.u_category_dv || serverOptions.u_category_dv;\n    options.count = options.u_max_entries || serverOptions.u_max_entries;\n    options.limit = options.u_excerpt_character_limit || serverOptions.u_excerpt_character_limit;\n    options.excerpt = options.u_excerpt || serverOptions.u_excerpt;\n    options.rating = options.u_ratings || serverOptions.u_ratings;\n    options.theme = options.u_theme || serverOptions.u_theme;\n    options.roles = options.u_edit_role_dv || serverOptions.u_edit_role_dv;\n  }\n\n  function getKnowledgeItems() {\n    var grKnowledge = new GlideRecord('kb_knowledge');\n    var encodedQuery = 'kb_category.label=' + options.category;\n    var fields = 'author, kb_category, number, published, rating, short_description, sys_id, text';\n    grKnowledge.addEncodedQuery(encodedQuery);\n    grKnowledge.orderBy('published');\n    grKnowledge.setLimit(options.count);\n    grKnowledge.query();\n    var items = [];\n    var obj;\n    while (grKnowledge.next()) {\n      obj = {};\n      $sp.getRecordElements(obj, grKnowledge, fields);\n      items.push(obj);\n    }\n    data.items = items;\n    return data.items;\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:34:03&lt;/sys_created_on&gt;&lt;sys_id&gt;0fcb9b14db2a8300db45bff0ef9619cf&lt;/sys_id&gt;&lt;sys_mod_count&gt;28&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Blog&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0fcb9b14db2a8300db45bff0ef9619cf&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 23:49:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"blog-container row\"&gt;\n  &lt;div class=\"blog-post col-xs-12 {{options.theme | lowercase}}-theme\" ng-repeat=\"item in ::c.data.items track by $index\"&gt;\n    &lt;article&gt;\n      &lt;div class=\"rating\" ng-if=\"options.rating === true\"&gt;\n        &lt;uib-rating ng-model=\"::item.rating.display_value\" max=\"5\" readonly=\"true\"&gt;&lt;/uib-rating&gt;\n      &lt;/div&gt;\n      &lt;a href=\"?id=kb_article&amp;sys_id={{::item.sys_id.value}}\"&gt;\n        &lt;h1 class=\"short-description\"&gt;{{::item.short_description.display_value}}&lt;/h1&gt;\n      &lt;/a&gt;\n      &lt;div class=\"blog-info\"&gt;\n        &lt;i class=\"fa fa-clock-o\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;date class=\"date\"&gt;{{::item.published.value | date: c.dateFormat}}&lt;/date&gt;\n        by\n        &lt;a ng-if=\"item.author\" class=\"author\" ng-href=\"?id=user_profile&amp;sys_id={{::item.author.value}}\"&gt;{{::item.author.display_value}}&lt;/a&gt;\n        &lt;span ng-if=\"!item.author.display_value\"&gt;{{::c.defaultAuthor}}&lt;/span&gt;\n      &lt;/div&gt;\n      &lt;div class=\"excerpt\" ng-if=\"options.excerpt === true\"&gt;\n        &lt;div ng-show=\"togglePost\" ng-bind-html=\"::item.text.value\"&gt;&lt;/div&gt;\n        &lt;div ng-show=\"!togglePost\" ng-bind-html=\"(item.text.value | limitTo: options.limit) + '...'\"&gt;&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/article&gt;\n    &lt;div class=\"tags\"&gt;\n      &lt;span&gt;\n        &lt;a href=\"?id=kb_category&amp;kb_category={{::item.kb_category.value}}\"&gt;\n          &lt;i class=\"fa fa-tag\" aria-hidden=\"true\"&gt;&lt;/i&gt; {{::item.kb_category.display_value}}\n        &lt;/a&gt;\n      &lt;/span&gt;\n      &lt;span ng-if=\"data.isAdmin\" class=\"edit-entry\"&gt;\n        &lt;a href=\"nav_to.do?uri=kb_knowledge.do?sys_id={{::item.sys_id.value}}\"&gt;\n          &lt;i class=\"fa fa-pencil-square-o\" aria-hidden=\"true\"&gt;&lt;/i&gt; Edit\n        &lt;/a&gt;\n      &lt;/span&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2027862149</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>0629e0e4dbaa8300db45bff0ef961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc73d2e400000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table/>\n<target_name>PE Blog</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>20675464b7aa8300ac3d4fc048cb1d0e</update_guid>\n<update_guid_history>20675464b7aa8300ac3d4fc048cb1d0e:2027862149,a7e9c4ec526a83006ee3407a66600186:-960177376,e4878c6c206a83001794638124cebc01:-794414126,a656c46c206a8300a18a80ff90b1068d:1583316906,54e4482c106a8300daed38f2d62664a7:-714321255,578e7758606a830040850a3dae57b56c:-583050906,8ffc3f187c6a83009d6a0a0388983668:551528531,4bdcbb18a66a8300eaf8512374065ed2:678364987,e9acbb186f6a830022b4b471630ab743:-1979329960,837cf718326a83004c059d693565ccdf:-809825163,1a5cf718d56a8300fd589147e9a32565:1089599967,ffc0b3d0696a8300e55d8943b5ff5716:-795552450,aa907f904f6a830019050df868335499:2063255152,ea207f90f06a8300ea7646179c57aa95:437560929,c9103f90886a8300d553ad0bfcc134d5:930238315,64ffab90626a83000c70a3230c63307d:1269000791,51efeb904d6a8300d2f524adab7da347:-1056444827,64df6b90376a8300be08020d6373e3a6:-1462211369,5bbf2b90d06a830086d0a96745271a4e:398943957,b69fe7903e6a8300ecf9486411b6e17f:136824533,0e6fa790f56a8300447a2c0ac5828208:-400140630,460de7dc122a83001e49711aab89da4d:1167373991,de7ca79c782a83008855852fe329779a:439199607,cf07671c3f2a8300d05a24014b8ea6ad:1167373991,ac86abd8ba2a8300993d6c00b1462282:935937689,a1d5abd8d02a8300253a1970c05e6379:1985832616,b2d36b982d2a8300d123f47edaf2177c:-1808364027,0b23e7585a2a830094673a84b928f6e8:-1384283784,58dc9f14ed2a8300a86a82ffe2ef236c:826012</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_category</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_category\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;KB category&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;Email&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_category&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"kb_category\"&gt;kb_category&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:48:15&lt;/sys_created_on&gt;&lt;sys_id&gt;0b4fd3d4db2a8300db45bff0ef9619c2&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;KB category&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_category&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:48:38&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1108534750</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1229e0e4dbaa8300db45bff0ef961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66043120000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.KB category</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>fd206bd4812a830092120d2934adb8c8</update_guid>\n<update_guid_history>fd206bd4812a830092120d2934adb8c8:1108534750,54106bd48b2a83003ac2d3c669db8c42:175560177</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_17dd5394db2a8300db45bff0ef9619c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_sp_blog_instance</description><name>u_sp_blog_instance</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>17dd5394db2a8300db45bff0ef9619c1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_17dd5394db2a8300db45bff0ef9619c1</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>739052088</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1229e0e4dbaa8300db45bff0ef961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571c360000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>dfdd53946e2a8300c985cc4d8416e3c2</update_guid>\n<update_guid_history>dfdd53946e2a8300c985cc4d8416e3c2:739052088</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_ratings_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_ratings\" label=\"Display ratings\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_ratings</element><help/><hint/><label>Display ratings</label><language>en</language><name>u_sp_blog_instance</name><plural>Display ratings</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:43:50</sys_created_on><sys_id>630fdb94db2a8300db45bff0ef9619e6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Display ratings</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_ratings_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:43:50</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1051460582</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1629e0e4dbaa8300db45bff0ef961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc65bdf3d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Display ratings</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>eb0f13d4252a8300f9d47db36f873e10</update_guid>\n<update_guid_history>eb0f13d4252a8300f9d47db36f873e10:1051460582</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_edit_role_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_edit_role\" label=\"Edit role\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_edit_role</element><help/><hint/><label>Edit role</label><language>en</language><name>u_sp_blog_instance</name><plural>Edit roles</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:49:41</sys_created_on><sys_id>99606fd4db2a8300db45bff0ef961906</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Edit role</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_edit_role_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:49:41</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1505776159</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1a29e0e4dbaa8300db45bff0ef961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6613c060000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Edit role</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>99606fd4e52a83001bd598f0285df85a</update_guid>\n<update_guid_history>99606fd4e52a83001bd598f0285df85a:-1505776159</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_e3dd5394db2a8300db45bff0ef9619dd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_sp_blog_instance</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:39</sys_created_on><sys_id>e3dd5394db2a8300db45bff0ef9619dd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_e3dd5394db2a8300db45bff0ef9619dd</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:39</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-418432538</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1a29e0e4dbaa8300db45bff0ef961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571e570000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table/>\n<target_name>u_sp_blog_instance</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>efdd5394dd2a83008c078119bd001ddd</update_guid>\n<update_guid_history>efdd5394dd2a83008c078119bd001ddd:-418432538</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_max_entries</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_max_entries\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max entries&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;5&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_max_entries&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:50:58&lt;/sys_created_on&gt;&lt;sys_id&gt;fe80efd4db2a8300db45bff0ef9619b4&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max entries&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_max_entries&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:50:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1823439590</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1e29e0e4dbaa8300db45bff0ef961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66268a50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Max entries</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>90b02318a42a830013e3fba0c1578dd9</update_guid>\n<update_guid_history>90b02318a42a830013e3fba0c1578dd9:-1823439590</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_23dd5394db2a8300db45bff0ef9619ce</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>23dd5394db2a8300db45bff0ef9619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance.u_sp_blog_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_sp_blog_instance\">2bdd5394db2a8300db45bff0ef9619cb</sys_security_acl><sys_update_name>sys_security_acl_role_23dd5394db2a8300db45bff0ef9619ce</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><sys_user_role display_value=\"u_sp_blog_instance_user\" name=\"u_sp_blog_instance_user\">0f3d1b54db2a8300db45bff0ef96197c</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>966721731</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>1e29e0e4dbaa8300db45bff0ef961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571cfd0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance.u_sp_blog_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>6fdd53947e2a83003a5ecf1577d462cf</update_guid>\n<update_guid_history>6fdd53947e2a83003a5ecf1577d462cf:966721731</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:38:38&lt;/sys_created_on&gt;&lt;sys_id&gt;2bdd5394db2a8300db45bff0ef9619d0&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_sp_blog_instance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:38:38&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>468689028</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>4e29e0e4dbaa8300db45bff0ef961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571e7b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>e3dd5394562a83003e8352fab1e2ffdf</update_guid>\n<update_guid_history>e3dd5394562a83003e8352fab1e2ffdf:468689028,ae8d5f545d2a8300a3ca240eaf22ce60:-2142270408,273d5b54782a83004395b232822be6dd:468689028</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_max_entries_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_max_entries\" label=\"Max entries\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_max_entries</element><help/><hint/><label>Max entries</label><language>en</language><name>u_sp_blog_instance</name><plural>Max entries</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:50:58</sys_created_on><sys_id>c8b0efd4db2a8300db45bff0ef9619f1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max entries</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_max_entries_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:50:58</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1804859996</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>5229e0e4dbaa8300db45bff0ef961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66268c40000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Max entries</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>54b023183d2a8300c58f762c00fd47da</update_guid>\n<update_guid_history>54b023183d2a8300c58f762c00fd47da:-1804859996</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_category_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_category\" label=\"KB category\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_category</element><help/><hint/><label>KB category</label><language>en</language><name>u_sp_blog_instance</name><plural>KB categories</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:48:15</sys_created_on><sys_id>d0106bd4db2a8300db45bff0ef96193a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>KB category</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_category_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:48:15</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-702410258</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>5629e0e4dbaa8300db45bff0ef961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc65feb290000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.KB category</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>18106bd48c2a8300adf117eda1a5b143</update_guid>\n<update_guid_history>18106bd48c2a8300adf117eda1a5b143:-702410258</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_a6046f98db2a8300db45bff0ef96196a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"a6046f98db2a8300db45bff0ef96196a\" sys_domain=\"global\" table=\"u_sp_blog_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_category</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>0a99c0ecdb6a8300db45bff0ef96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_max_entries</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>8a99c0ecdb6a8300db45bff0ef96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_excerpt_character_limit</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>0e99c0ecdb6a8300db45bff0ef96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_edit_role</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>8e99c0ecdb6a8300db45bff0ef96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_theme</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>0299c0ecdb6a8300db45bff0ef961960</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_excerpt</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>8299c0ecdb6a8300db45bff0ef961960</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_ratings</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 22:49:42</sys_created_on><sys_id>0699c0ecdb6a8300db45bff0ef961960</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_blog_instance\" sys_domain=\"global\" view=\"Default view\">a6046f98db2a8300db45bff0ef96196a</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 22:49:42</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_sp_blog_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 20:05:37</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a6046f98db2a8300db45bff0ef96196a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_a6046f98db2a8300db45bff0ef96196a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 20:05:37</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>1307532773</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>5629e0e4dbaa8300db45bff0ef961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc70607ad0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>ce99c0ecaa6a8300b493b2e77711d161</update_guid>\n<update_guid_history>ce99c0ecaa6a8300b493b2e77711d161:1307532773,6b654c2cbd6a8300e1d162a603ee9bc8:-365782836,c693002c346a83009a80cf25b35ecba7:322612955,23130ce86f6a83003f98f7bb53f4944e:547903995,eb1384e8296a8300345f2cb2762642ef:2029234865</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_excerpt_character_limit</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_excerpt_character_limit\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Excerpt character limit&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;300&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_excerpt_character_limit&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:52:07&lt;/sys_created_on&gt;&lt;sys_id&gt;44c0a318db2a8300db45bff0ef961948&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Excerpt character limit&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_excerpt_character_limit&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:52:07&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-850796996</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>5a29e0e4dbaa8300db45bff0ef961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66373d40000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Excerpt character limit</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>b0f0e318cf2a8300d11e5d268fc279e6</update_guid>\n<update_guid_history>b0f0e318cf2a8300d11e5d268fc279e6:-850796996</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_1fdd5394db2a8300db45bff0ef9619c3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>1fdd5394db2a8300db45bff0ef9619c3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance.u_sp_blog_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_sp_blog_instance\">17dd5394db2a8300db45bff0ef9619c1</sys_security_acl><sys_update_name>sys_security_acl_role_1fdd5394db2a8300db45bff0ef9619c3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><sys_user_role display_value=\"u_sp_blog_instance_user\" name=\"u_sp_blog_instance_user\">0f3d1b54db2a8300db45bff0ef96197c</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1829359240</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>5a29e0e4dbaa8300db45bff0ef961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571c590000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance.u_sp_blog_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>5bdd5394242a83003e7871e3ad4c60c5</update_guid>\n<update_guid_history>5bdd5394242a83003e7871e3ad4c60c5:1829359240</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_17dd1394db2a8300db45bff0ef961953</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_sp_blog_instance</description><name>u_sp_blog_instance</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>17dd1394db2a8300db45bff0ef961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_17dd1394db2a8300db45bff0ef961953</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-942632852</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>5e29e0e4dbaa8300db45bff0ef961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571bea0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>53dd1394012a830010511ac64adb4d55</update_guid>\n<update_guid_history>53dd1394012a830010511ac64adb4d55:-942632852</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_6f8d9f54db2a8300db45bff0ef961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>SP Blog Instance</label><live_feed_enabled>false</live_feed_enabled><name>u_sp_blog_instance</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">ab38d131db900300db45bff0ef9619bc</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>6f8d9f54db2a8300db45bff0ef961936</sys_id><sys_mod_count>1</sys_mod_count><sys_name>SP Blog Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_6f8d9f54db2a8300db45bff0ef961936</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:41:58</sys_updated_on><update_access>false</update_access><user_role display_value=\"u_sp_blog_instance_user\" name=\"u_sp_blog_instance_user\">0f3d1b54db2a8300db45bff0ef96197c</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>1514236540</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>8a29e0e4dbaa8300db45bff0ef961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc65a2b5c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>10ae9b94b62a8300da30e3dba30889b3</update_guid>\n<update_guid_history>10ae9b94b62a8300da30e3dba30889b3:1514236540,abdd5394a52a830090ba9ca88dbfcae1:1514236540</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_theme</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_theme\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;1&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Theme&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;Light&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_theme&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:53:38&lt;/sys_created_on&gt;&lt;sys_id&gt;7bf06718db2a8300db45bff0ef961939&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Theme&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_theme&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:53:38&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1817388459</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>9229e0e4dbaa8300db45bff0ef961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc664d79c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Theme</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>cb41e718e92a8300fbbf97a418c7e118</update_guid>\n<update_guid_history>cb41e718e92a8300fbbf97a418c7e118:-1817388459</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_afdd5394db2a8300db45bff0ef9619c8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>afdd5394db2a8300db45bff0ef9619c8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance.u_sp_blog_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_sp_blog_instance\">a7dd5394db2a8300db45bff0ef9619c6</sys_security_acl><sys_update_name>sys_security_acl_role_afdd5394db2a8300db45bff0ef9619c8</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><sys_user_role display_value=\"u_sp_blog_instance_user\" name=\"u_sp_blog_instance_user\">0f3d1b54db2a8300db45bff0ef96197c</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-873503459</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>9229e0e4dbaa8300db45bff0ef961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571ca70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance.u_sp_blog_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>ebdd5394362a83003d47ca9dd6a639ca</update_guid>\n<update_guid_history>ebdd5394362a83003d47ca9dd6a639ca:-873503459</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_excerpt</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_excerpt\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Display excerpt&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;true&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_excerpt&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:43:06&lt;/sys_created_on&gt;&lt;sys_id&gt;25be1f94db2a8300db45bff0ef961983&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Display excerpt&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_excerpt&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:43:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>10225695</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>9629e0e4dbaa8300db45bff0ef961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc65b33be0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Display excerpt</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>f8ee5f942c2a8300f115b721ab5e01f0</update_guid>\n<update_guid_history>f8ee5f942c2a8300f115b721ab5e01f0:10225695</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_a7dd5394db2a8300db45bff0ef9619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_sp_blog_instance</description><name>u_sp_blog_instance</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>a7dd5394db2a8300db45bff0ef9619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_a7dd5394db2a8300db45bff0ef9619c6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1334458756</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>9629e0e4dbaa8300db45bff0ef961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571c7e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>63dd5394d12a8300facffc8e7b9c63c8</update_guid>\n<update_guid_history>63dd5394d12a8300facffc8e7b9c63c8:-1334458756</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"SP Blog Instance\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>SP Blog Instance</label><language>en</language><name>u_sp_blog_instance</name><plural>SP Blog Instances</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>ebdd5394db2a8300db45bff0ef9619d8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>SP Blog Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1357217385</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>9a29e0e4dbaa8300db45bff0ef961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571e970000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>a7dd5394c02a83003b88001a39c7b6e0</update_guid>\n<update_guid_history>a7dd5394c02a83003b88001a39c7b6e0:1357217385,428d5f54112a8300acb511dd4663f61a:1036276057,e73d5b54092a8300f813517a2ca73cde:1357217385</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_excerpt_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_excerpt\" label=\"Display excerpt\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_excerpt</element><help/><hint/><label>Display excerpt</label><language>en</language><name>u_sp_blog_instance</name><plural>Display excerpts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:43:06</sys_created_on><sys_id>f4ee5f94db2a8300db45bff0ef9619e8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Display excerpt</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_excerpt_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:43:06</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1864631207</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>9e29e0e4dbaa8300db45bff0ef961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc65b33da0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Display excerpt</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>74ee5f94d82a8300aa7a6c3772d13efe</update_guid>\n<update_guid_history>74ee5f94d82a8300aa7a6c3772d13efe:1864631207</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_u_sp_blog_instance_u_theme</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"u_theme\" table=\"u_sp_blog_instance\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_theme</element><hint/><inactive>false</inactive><label>Dark</label><language>en</language><name>u_sp_blog_instance</name><sequence/><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:53:53</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>fb41e718db2a8300db45bff0ef96191b</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:53:56</sys_updated_on><value>Dark</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_theme</element><hint/><inactive>false</inactive><label>Dracula</label><language>en</language><name>u_sp_blog_instance</name><sequence/><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:54:04</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>32512b18db2a8300db45bff0ef961915</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:54:16</sys_updated_on><value>Dracula</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_theme</element><hint/><inactive>false</inactive><label>Light</label><language>en</language><name>u_sp_blog_instance</name><sequence/><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:54:21</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>2d61e718db2a8300db45bff0ef9619b3</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:54:27</sys_updated_on><value>Light</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>u_theme</element><name>u_sp_blog_instance</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:53:53</sys_created_on><sys_id>32512718db2a8300db45bff0ef961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_theme</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_choice_u_sp_blog_instance_u_theme</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:53:53</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>229735144</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>c629e0e4dbaa8300db45bff0ef961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66595a90000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Theme</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid>cf712b18a02a8300ede9bb1e93c036fb</update_guid>\n<update_guid_history>cf712b18a02a8300ede9bb1e93c036fb:229735144,65712b18882a8300825d73dd6ded4336:-1543146177,6871e7185e2a8300d0c8ba44df5417bc:-714340622,ab612b18d62a8300e2e69bb3222a49f5:1352893732,6a61e7184b2a8300884f01ea60b999b7:935579992,59612b184d2a830061c7cba2a6e48e0c:-1312772231,a3512b18cb2a83002ba763314fb6b130:-1815985420,72512718752a83009ebf0a3252a4d482:2070606547</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_edit_role</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_edit_role\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Edit role&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;admin&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_edit_role&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_user_role\"&gt;sys_user_role&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:49:41&lt;/sys_created_on&gt;&lt;sys_id&gt;39402fd4db2a8300db45bff0ef96197e&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Edit role&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_edit_role&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:49:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>951300219</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>d229e0e4dbaa8300db45bff0ef961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66180e60000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Edit role</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>b170afd4412a8300f49697037c390f3e</update_guid>\n<update_guid_history>b170afd4412a8300f49697037c390f3e:951300219,d5606fd4412a83002997447f4abf5959:141326139</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_2bdd5394db2a8300db45bff0ef9619cb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_sp_blog_instance</description><name>u_sp_blog_instance</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>2bdd5394db2a8300db45bff0ef9619cb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_2bdd5394db2a8300db45bff0ef9619cb</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-723180722</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>d229e0e4dbaa8300db45bff0ef961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571cd30000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>e3dd5394fc2a8300e54c8a5bc19b02cd</update_guid>\n<update_guid_history>e3dd5394fc2a8300e54c8a5bc19b02cd:-723180722</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_theme_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_theme\" label=\"Theme\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_theme</element><help/><hint/><label>Theme</label><language>en</language><name>u_sp_blog_instance</name><plural>Themes</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:53:38</sys_created_on><sys_id>8341e718db2a8300db45bff0ef961911</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Theme</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_theme_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:53:38</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>989387083</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>d629e0e4dbaa8300db45bff0ef961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc664d7b50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Theme</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>8f41e718fe2a8300b68726954ea9dc19</update_guid>\n<update_guid_history>8f41e718fe2a8300b68726954ea9dc19:989387083</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_blog_instance_u_excerpt_character_limit_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_excerpt_character_limit\" label=\"Excerpt character limit\" language=\"en\" table=\"u_sp_blog_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_excerpt_character_limit</element><help/><hint/><label>Excerpt character limit</label><language>en</language><name>u_sp_blog_instance</name><plural>Excerpt character limits</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:52:07</sys_created_on><sys_id>78f0e318db2a8300db45bff0ef9619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Excerpt character limit</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_blog_instance_u_excerpt_character_limit_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:52:07</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>2009200535</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>da29e0e4dbaa8300db45bff0ef961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc66373f70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Excerpt character limit</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>74f0e318622a8300510e013f380ac8e7</update_guid>\n<update_guid_history>74f0e318622a8300510e013f380ac8e7:2009200535</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_blog_instance_u_ratings</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_ratings\" table=\"u_sp_blog_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Display ratings&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;true&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_ratings&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_blog_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-11-16 19:43:50&lt;/sys_created_on&gt;&lt;sys_id&gt;c1fedf94db2a8300db45bff0ef96191d&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Display ratings&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_blog_instance_u_ratings&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-16 19:44:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-385625515</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>de29e0e4dbaa8300db45bff0ef961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc65c16530000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>SP Blog Instance.Display ratings</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>431f53d42e2a8300a37b4dd26acdfa52</update_guid>\n<update_guid_history>431f53d42e2a8300a37b4dd26acdfa52:-385625515,2b0f13d4272a83003d457fa095140d0f:508867792</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9fdd1394db2a8300db45bff0ef961955</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-11-16 19:38:38</sys_created_on><sys_id>9fdd1394db2a8300db45bff0ef961955</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_blog_instance.u_sp_blog_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_sp_blog_instance\">17dd1394db2a8300db45bff0ef961953</sys_security_acl><sys_update_name>sys_security_acl_role_9fdd1394db2a8300db45bff0ef961955</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-11-16 19:38:38</sys_updated_on><sys_user_role display_value=\"u_sp_blog_instance_user\" name=\"u_sp_blog_instance_user\">0f3d1b54db2a8300db45bff0ef96197c</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>784266876</payload_hash>\n<remote_update_set display_value=\"PE Blog\">4229e0e4dbaa8300db45bff0ef961994</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-11-17 01:07:36</sys_created_on>\n<sys_id>de29e0e4dbaa8300db45bff0ef961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15fc6571c150000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-11-17 01:07:36</sys_updated_on>\n<table>u_sp_blog_instance</table>\n<target_name>u_sp_blog_instance.u_sp_blog_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>d7dd5394eb2a830064381c2e073348c0</update_guid>\n<update_guid_history>d7dd5394eb2a830064381c2e073348c0:784266876</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-blog/widget/pe-blog.u-body-html-template.html",
    "content": "<div class=\"blog-container row\">\n  <div class=\"blog-post col-xs-12 {{options.theme | lowercase}}-theme\" ng-repeat=\"item in ::c.data.items track by $index\">\n    <article>\n      <div class=\"rating\" ng-if=\"options.rating === true\">\n        <uib-rating ng-model=\"::item.rating.display_value\" max=\"5\" readonly=\"true\"></uib-rating>\n      </div>\n      <a href=\"?id=kb_article&sys_id={{::item.sys_id.value}}\">\n        <h1 class=\"short-description\">{{::item.short_description.display_value}}</h1>\n      </a>\n      <div class=\"blog-info\">\n        <i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i>\n        <date class=\"date\">{{::item.published.value | date: c.dateFormat}}</date>\n        by\n        <a ng-if=\"item.author\" class=\"author\" ng-href=\"?id=user_profile&sys_id={{::item.author.value}}\">{{::item.author.display_value}}</a>\n        <span ng-if=\"!item.author.display_value\">{{::c.defaultAuthor}}</span>\n      </div>\n      <div class=\"excerpt\" ng-if=\"options.excerpt === true\">\n        <div ng-show=\"togglePost\" ng-bind-html=\"::item.text.value\"></div>\n        <div ng-show=\"!togglePost\" ng-bind-html=\"(item.text.value | limitTo: options.limit) + '...'\"></div>\n      </div>\n    </article>\n    <div class=\"tags\">\n      <span>\n        <a href=\"?id=kb_category&kb_category={{::item.kb_category.value}}\">\n          <i class=\"fa fa-tag\" aria-hidden=\"true\"></i> {{::item.kb_category.display_value}}\n        </a>\n      </span>\n      <span ng-if=\"data.isAdmin\" class=\"edit-entry\">\n        <a href=\"nav_to.do?uri=kb_knowledge.do?sys_id={{::item.sys_id.value}}\">\n          <i class=\"fa fa-pencil-square-o\" aria-hidden=\"true\"></i> Edit\n        </a>\n      </span>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-blog/widget/pe-blog.u-client-script.js",
    "content": "function BlogController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.dateFormat = 'MMMM d, y';\n    c.defaultAuthor = 'Unknown';\n  };\n}\n"
  },
  {
    "path": "pe-blog/widget/pe-blog.u-css.scss",
    "content": "$pe-light-theme-header: #222 !default;\n$pe-dark-theme-header: #fff !default;\n$pe-dracula-theme-header: #bd93f9 !default;\n$pe-sub-header-color: #777 !default;\n$pe-anchor-color: #03a9f4 !default;\n$pe-font-size: 1.5rem !default;\n\n.blog-container {\n  font-family: 'Whitney SSm A', 'Whitney SSm B', 'Lato', 'Lucida Grande',\n    'Lucida Sans Unicode', Tahoma, Sans-Serif;\n  margin: 0 auto;\n  max-width: 700px;\n  .blog-post {\n    display: block;\n    margin-bottom: 4rem;\n    padding: 0;\n    &:last-child {\n      border-bottom: none;\n    }\n    article {\n      margin-bottom: 20px;\n      padding: 0 20px;\n      h1 {\n        font-size: 3.5rem;\n        font-weight: 700;\n        text-transform: capitalize;\n      }\n      h2 {\n        color: $pe-sub-header-color;\n        font-size: $pe-font-size;\n        font-weight: bold;\n      }\n      a {\n        cursor: pointer;\n      }\n      .blog-info {\n        margin: 20px 0;\n      }\n      .s1 {\n        font-size: $pe-font-size;\n      }\n      .rating {\n        float: right;\n        margin-left: 5px;\n      }\n      .author {\n        font-weight: bold;\n      }\n    }\n    .tags {\n      margin-bottom: 0;\n      padding: 0.4rem 2rem 0.5rem;\n      i {\n        margin-right: 0.1rem;\n      }\n      .edit-entry {\n        float: right;\n      }\n    }\n  }\n  .dark-theme {\n    a {\n      color: $pe-anchor-color;\n      &:hover {\n        color: lighten($pe-anchor-color, 30%);\n      }\n    }\n    color: #e5e5e5;\n    background-color: #3a3939;\n    h1 {\n      color: $pe-dark-theme-header;\n      &:hover {\n        color: $pe-anchor-color;\n      }\n    }\n    .blog-info {\n      color: #888;\n    }\n    .rating {\n      color: #888;\n    }\n    .tags {\n      background-color: #302f2f;\n      color: #888;\n    }\n  }\n  .dracula-theme {\n    a {\n      color: #8be9fd;\n      &:hover {\n        color: #fff;\n      }\n    }\n    color: #f8f8f2;\n    background-color: #282a36;\n    h1 {\n      color: $pe-dracula-theme-header;\n      &:hover {\n        color: #6272a4;\n      }\n    }\n    .blog-info {\n      color: #6272a4;\n    }\n    .rating {\n      color: #6272a4;\n    }\n    .tags {\n      background-color: #44475a;\n      color: #bd93f9;\n    }\n  }\n  .light-theme {\n    a {\n      color: $pe-anchor-color;\n      &:hover {\n        color: #222;\n      }\n    }\n    color: #717171;\n    background-color: #f9f9f9;\n    h1 {\n      color: $pe-light-theme-header;\n      &:hover {\n        color: $pe-anchor-color;\n      }\n    }\n    .blog-info {\n      color: #888;\n    }\n    .tags {\n      background-color: #e9e9e9;\n    }\n  }\n}\n"
  },
  {
    "path": "pe-blog/widget/pe-blog.u-server-script.js",
    "content": "(function() {\n  activate();\n\n  function activate() {\n    getOptions();\n    getKnowledgeItems();\n    hasAdminRole();\n  }\n\n  function hasAdminRole() {\n    var userRoles = gs.getUser().getUserRoles().toString();\n    var userArray = userRoles.split(',');\n    var hasRole = [];\n    userArray.forEach(function(value, key) {\n      var canEdit = options.roles.includes(value) === true ? true : false;\n      hasRole.push(canEdit);\n    });\n    data.isAdmin = hasRole.join().includes(true) ? true : false;\n    return data.isAdmin;\n  }\n\n  function getOptions() {\n    var serverOptions = input.options ? input.options : input.parameters ? input.parameters : {};\n    options.category = options.u_category_dv || serverOptions.u_category_dv;\n    options.count = options.u_max_entries || serverOptions.u_max_entries;\n    options.limit = options.u_excerpt_character_limit || serverOptions.u_excerpt_character_limit;\n    options.excerpt = options.u_excerpt || serverOptions.u_excerpt;\n    options.rating = options.u_ratings || serverOptions.u_ratings;\n    options.theme = options.u_theme || serverOptions.u_theme;\n    options.roles = options.u_edit_role_dv || serverOptions.u_edit_role_dv;\n  }\n\n  function getKnowledgeItems() {\n    var grKnowledge = new GlideRecord('kb_knowledge');\n    var encodedQuery = 'kb_category.label=' + options.category;\n    var fields = 'author, kb_category, number, published, rating, short_description, sys_id, text';\n    grKnowledge.addEncodedQuery(encodedQuery);\n    grKnowledge.orderBy('published');\n    grKnowledge.setLimit(options.count);\n    grKnowledge.query();\n    var items = [];\n    var obj;\n    while (grKnowledge.next()) {\n      obj = {};\n      $sp.getRecordElements(obj, grKnowledge, fields);\n      items.push(obj);\n    }\n    data.items = items;\n    return data.items;\n  }\n})();\n"
  },
  {
    "path": "pe-business-impact/README.md",
    "content": "# Business Impact\n\n## Description\n\nQuery the most recent anomaly alert from the *em_alert_anomaly* table to provide Business Services impact information and associated Business Services details.\nWhen the plus (+) graphic in the top right is selected/clicked, details about the Business Impact is displayed through use of the `pe-business-impact-details` widget (_included_).\n\n## Screenshots\n### Collapsed View\n![alt text](../images/pe-business-impact-1a.png \"collapsed\")\n### Expanded View\n![alt text](../images/pe-business-impact-1b.png \"expanded\")\n### Resolved View\n![alt text](../images/pe-business-impact-2a.png \"resolved\")\n\n## Additional Information/Notes\nThe update set installs two (2) widgets - PE Business Impact and PE Business Impact Details.\nThough the PE Business Impact widget uses the PE Business Impact Details widget to display additional information about the alert anomaly, the details widget does not rely on the first widget in order to function, however; the data collected is passed to the details widget.  The PE Business Impact Details can be used separately when configured with an anomaly alert record's sys_id.\n\n---\n## Installation\n---\nEnsure the that the **Performance Analytics - Content Pack - Event Management** plugin is Activated per the SN Plugin support section below.<br/><br/>\nDownload and install update set **[pe-business-impact.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-business-impact/pe-business-impact.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**alert_sysid**: Provide an anomaly alert's sys_id and data in the widget will display based on related records.\n**titleIconClasses**: Provide a set of Font Awesome css classes for an icon to display next to the title. Defaults to `'fa fa-bolt'`.\n\n---\n## Platform Dependencies\n---\n### SN Plugin Support\n\nWidget support is provided by the ServiceNow® [Performance Analytics - Content Pack - Event Management](https://docs.servicenow.com/bundle/istanbul-performance-analytics-and-reporting/page/use/performance-analytics/reference/r_PALandingPage.html)<br/>\nPerformance Analytics content pack for Event Management core out-of-the-box KPIs. <br/>\n**For Customers:** _Activation of this plugin on production instances may require a separate Performance Analytics license. Contact ServiceNow for details._\n\n### SN System Tables\n* cmdb_rel_type\n* cmdb_ci\n* cmdb_ci_service\n* em_alert_anomaly\n\n---\n## Sample Data and Data Structures\n---\nWith the Performance Analytics - Content Pack - Event Management installed. The System table *em_alert_anomoly* is created.\n\n> This update set will install a sample record into the table.`\n\n> **Note** :\nThere are two (2) records provided as an insert or updates as part of the Update Set installation.\nThe record for the *em_alert_anomaly* is updated to create the necessary links/connections with the required CMDB tables.\nAdditionally, there is a single record created for the Event Type and added to the *em_event_type* table.\n\nRevenue and User impact information is provided as 'demo only' data, and would need to be coordinated with an appropriate record attribute to be accurate.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n>None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n$icon-circle-color: #7e848b !default;\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n```"
  },
  {
    "path": "pe-business-impact/pe-business-impact.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-09 14:44:20\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Business Impact</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>1db5145c131f36006749bccf3244b00b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-09 14:44:20</sys_created_on>\n<sys_id>502c92b813d3b6006749bccf3244b0e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-09 14:44:20</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>em_alert_anomaly_6726b3c813db36006749bccf3244b025</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"em_alert_anomaly\"><em_alert_anomaly action=\"INSERT_OR_UPDATE\"><acknowledged>false</acknowledged><additional_info/><category>Default</category><classification>0</classification><cmdb_ci display_value=\"ny8500-nbxs08\">55b35562c0a8010e01cff22378e0aea9</cmdb_ci><correlation_group>0</correlation_group><correlation_rule_group>0</correlation_rule_group><description>Abnormally High Response Times</description><event_class/><flap_count/><flap_last_state/><flap_last_update_time/><flap_start_window/><group/><group_source>6</group_source><impact_services/><incident display_value=\"INC0000046\">a9e30c7dc61122760116894de7bcc7bd</incident><initial_event_time/><initial_remote_time/><is_group_alert>false</is_group_alert><kb/><kb_url>/kb_view.do?sysparm_article=</kb_url><last_event_time/><last_remote_time/><last_update_time_by_event/><maintenance>false</maintenance><message_key/><metric_name/><node/><number>Alert Anomaly10000</number><parent/><remote_task_id/><resource/><severity>1</severity><short_description/><source/><state>Open</state><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-07 13:26:35</sys_created_on><sys_domain>global</sys_domain><sys_id>6726b3c813db36006749bccf3244b025</sys_id><sys_mod_count>7</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-08 12:41:20</sys_updated_on><type display_value=\"Slow Network Performance\">8f36f42013d776006749bccf3244b045</type><work_notes/></em_alert_anomaly></record_update>]]></payload>\n<remote_update_set display_value=\"PE Business Impact\">502c92b813d3b6006749bccf3244b0e8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-09 14:44:20</sys_created_on>\n<sys_id>182c92b813d3b6006749bccf3244b0e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-09 14:44:20</sys_updated_on>\n<table/>\n<target_name>Alert Anomaly10000</target_name>\n<type>Alert Anomaly</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_fa62d4c5139e3200ba3a7b1a6144b0d0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  /* widget controller */\n  var c = this;\n\n  c.alert = c.data.alert;\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n\n$icon-circle-color: #7e848b !default;\n\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n\n.row {\n\tmargin: 0 -7px;\n\tpadding: 12px;\n\tborder-top: solid 0.5px rgba(52, 61, 71, 0.15);\n  background-color: #ffffff;\n}\n\n.drawer-list-header {\n\tbackground-color: #e8e8e8;\n\tfont-size: 15px;\n\tfont-weight: 600;\n\tpadding: 8px 12px;\n\t&amp;amp;:first-child {\n\t\tpadding-top: 13px;\n\t}\n}\n.drawer-list-item {\n\tmargin-bottom: 10px;\n\t&amp;amp;:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.left-padded {\n\ttext-align: left;\n\tpadding-top: 15px;\n}\n\n.col-xs-4 {\n\tpadding: 0 7.5px;\n}\n\n.dollar-icon {\n\tfill: $slate;\n\theight: 0.8em;\n\twidth: 0.5em;\n}\n.user-icon {\n\tfill: $slate;\n\theight: 0.8em;\n\twidth: 0.8em;\n}\n.key-value {\n\tcolor: $status-alert-color;\n\tfill: $status-alert-color;\n\tfont-size: 36px;\n\tfont-weight: 200;\n\theight: 40px;\n\twhite-space: nowrap;\n\tline-height: 1;\n}\n\n.key-value-label {\n\tfont-size: 14px;\n\tcolor: $status-alert-color;\n\tmargin-top: -10px;\n}\n.key-value-grouped-label {\n\ttext-align: left;\n\tmargin-top: 0;\n}\n\n.key-group {\n\tdisplay: inline-block;\n}\n\n.key-float-group &amp;gt; * {\n\theight: 55px;\n\tfloat: left;\n\tmargin-right: 5px;\n\t&amp;amp;:last-child {\n\t\tmargin-right: none;\n\t}\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-business-impact-details&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Business Impact Details&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"alert_sysid\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\n\n\tvar fakeRevenue = [1.2, 0.9, 0.3, 0.89, 0.78];\n  var totalFakeRevenue = 0.0;\n  var summaryStats = {\n    users: 0.0,\n    revenue: 0.0\n  };\n\n  var REL_ID = (function(){\n    var rel = new GlideRecord('cmdb_rel_type');\n    rel.addQuery('name', 'Depends on::Used by');\n    rel.query();\n    rel.next();\n    return rel.sys_id.toString();\n  })();\n\n  var getDependentCIs = function(rec, arr){\n\n\t\t//Fake Users and Revenue\n\t\tvar fakeUsers = (Math.floor(Math.random()*40)+1);\n\t\tvar fakeRev = fakeRevenue[Math.floor(Math.random()*5)];\n\t\tsummaryStats.revenue += fakeRev;\n\t\tsummaryStats.users += fakeUsers;\n\n\n\t\tarr.push({\n      sys_id: rec.sys_id.toString(),\n      name: rec.name.toString(),\n      location: rec.location.toString(),\n      classification: rec.service_classification.toString(),\n      users: fakeUsers.toString() + 'K',\n      revenue: fakeRev.toString() +'M'\n    });\n\n    var ciGR = new GlideRecord('cmdb_rel_ci');\n    ciGR.addQuery('type.sys_id', REL_ID );\n    ciGR.addQuery('child.sys_id', rec.sys_id.toString() );\n    ciGR.query();\n\n    while ( ciGR.next() ) {\n      var parentGR = new GlideRecord('cmdb_ci_service');\n\t\t\tdata.userGroups.push(ciGR.parent.toDisplayValue());\n      parentGR.get( ciGR.parent.toString() );\n      var dependentsArray = getDependentCIs(parentGR, []);\n      dependentsArray.forEach(function(ci){\n        arr.push(ci);\n\t\t\t});\n    }\n    return arr;\n  };\n\n  var getAlert = function(rec){\n    var CIs = [];\n    var ciGR = new GlideRecord('cmdb_ci');\n\t\tdata.ciGRGet = rec.cmdb_ci.toString();\n    if ( ciGR.get( rec.cmdb_ci.toString() ) ) {\n      CIs = getDependentCIs(ciGR, CIs);\n    }\n    return {\n      sys_id: rec.sys_id.toString(),\n      type: rec.type.getDisplayValue(),\n      description: rec.description.toString(),\n      incident: rec.incident.sys_id.toString(),\n      state: rec.state.toString(),\n      cis: CIs\n    };\n  };\n\n  var alertGR, alert;\n\t//Passed in from the Business Impact widget\n\tif(options.alert){\n\t\tdata.alert = options.alert;\n\t}else{\n\t\tif (options.alert_sysid) {\n\t\t\talertGR = new GlideRecord('em_alert_anomaly');\n\t\t\talertGR.get(options.alert_sysid);\n\t\t\talert = getAlert( alertGR );\n\t\t} else {\n\t\t\talertGR = new GlideRecord('em_alert_anomaly');\n\t\t\t// alertGR.addEncodedQuery('state!=Closed');\n\t\t\talertGR.orderByDesc('sys_created_on');\n\t\t\talertGR.query();\n\t\t\talertGR.next();\n\t\t\talert = getAlert( alertGR );\n\t\t}\n\t\talert.summaryStats = summaryStats;\n\t\talert.summaryStats.users = alert.summaryStats.users.toFixed(0);\n\t\talert.summaryStats.revenue = alert.summaryStats.revenue.toFixed(1);\n\t\tdata.alert = alert;\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 06:18:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;fa62d4c5139e3200ba3a7b1a6144b0d0&lt;/sys_id&gt;&lt;sys_mod_count&gt;83&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Business Impact Details&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_fa62d4c5139e3200ba3a7b1a6144b0d0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-09 14:28:47&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row text-center drawer-list-header\"&gt;\n\t&lt;div class=\"col-xs-4 text-left\"&gt;\n\t\tLines of Business\n\t&lt;/div&gt;\n\t&lt;div class=\"col-xs-4\"&gt;\n\t\tRevenue at Risk\n\t&lt;/div&gt;\n\t&lt;div class=\"col-xs-4\"&gt;\n\t\tUsers Impacted\n\t&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"row text-center\" ng-repeat=\"item in c.alert.cis\"&gt;\n&lt;!-- | filter:{classification: 'Business Service'} --&gt;\n\t&lt;div class=\"col-xs-4 left-padded\"&gt;\n\t\t{{item.name}}\n\t&lt;/div&gt;\n\t&lt;div class=\"col-xs-4\"&gt;\n\t\t&lt;div class=\"key-value key-float-group\"&gt;\n\t\t\t&lt;span&gt;\n\t\t\t\t&lt;svg class=\"dollar-icon\"&gt;\n\t\t\t\t\t&lt;use xlink:href=\"#dollar\"&gt;&lt;/use&gt;\n\t\t\t\t&lt;/svg&gt;\n\t\t\t&lt;/span&gt;\n\t\t\t&lt;div class=\"key-group\"&gt;\n\t\t\t\t{{item.revenue}}\n\t\t\t\t&lt;div class=\"key-value-label key-value-grouped-label\"&gt;\n\t\t\t\t\tper hour\n\t\t\t\t&lt;/div&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n\t&lt;div class=\"col-xs-4\"&gt;\n\t\t&lt;div class=\"key-value\"&gt;\n\t\t\t&lt;span&gt;\n\t\t\t\t&lt;svg class=\"user-icon\"&gt;\n\t\t\t\t\t&lt;use xlink:href=\"#people\"&gt;&lt;/use&gt;\n\t\t\t\t&lt;/svg&gt;\n\t\t\t&lt;/span&gt;\n\t\t\t{{item.users}}\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"hidden\"&gt;\n\n\t&lt;svg version=\"1.1\" id=\"dollar\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t viewBox=\"0 0 101.4 216.4\" style=\"enable-background:new 0 0 101.4 216.4;\" xml:space=\"preserve\"&gt;\n\t\t&lt;g&gt;\n\t\t\t&lt;path d=\"M0,139c11.8-0.7,23.1-1.3,34.4-2c1.3,4.9,2.1,9.5,3.7,13.8c2.9,7.5,8.5,10.7,15.5,9.6c8.1-1.2,13.3-8.5,10.3-16\n\t\t\t\tc-2-5-5.8-9.7-9.9-13.3c-8.8-7.7-18.4-14.3-27.4-21.7c-10.1-8.3-19.2-17.5-22.3-31C-0.6,57.2,9,38,29,30c3-1.2,3.9-2.7,3.8-5.8\n\t\t\t\tc-0.2-8-0.1-15.9-0.1-24.2c10.4,0,20.3,0,30.6,0c0,9,0,17.8,0,26.9c12.3,2.7,22.9,7.7,29.9,18.4c4.6,7,6.7,14.7,7.1,23.5\n\t\t\t\tc-11.5,1.7-23,3.4-34.7,5.2c-0.7-3.2-1.1-6.1-2-9c-2.4-8-8.3-11.6-15.5-9.6c-5.9,1.6-9.7,9.1-6.8,16c2.5,5.8,6.4,11.3,10.9,15.7\n\t\t\t\tc5,5,11.4,8.6,17.2,12.8c9.4,6.8,17.9,14.4,24.2,24.2c16.9,26.5,4.8,56.7-25.7,64.3c-1.3,0.3-2.6,0.6-4.3,1c0,8.7,0,17.5,0,26.7\n\t\t\t\tc-10.5,0-20.5,0-30.8,0c0-9.5,0-18.8,0-28.5C10.6,179.6,1.1,162.6,0,139z M72.7,64.4c6.1-0.9,12-1.8,18.1-2.8\n\t\t\t\tc-0.2-1.3-0.3-2.1-0.6-2.9c-4.7-14.6-15.6-21.5-30.1-23.3c-4.7-0.6-5.6-2.4-5.5-6.5c0.3-6.8,0.1-13.5,0.1-20.4c-4.7,0-8.8,0-13.4,0\n\t\t\t\tc0,7.4-0.2,14.5,0.1,21.6c0.2,3.8-1,5.3-4.9,6.3c-16.7,4.1-26,17.2-24.9,34.3c0.6,9.6,4.7,17.8,11.9,24\n\t\t\t\tc11.6,10,23.9,19.2,35.4,29.3c4.7,4.1,9.1,9,11.8,14.5c3.9,7.7,3.4,15.9-2.6,22.9C58,173.4,40,171.6,32,157.7\n\t\t\t\tc-2-3.5-3.3-7.5-5-11.7c-5.7,0.4-11.4,0.7-17.1,1.1c0.3,14.6,11.3,28.3,26.5,32.5c4.4,1.2,5.3,3.2,5.2,7.2\n\t\t\t\tc-0.3,7.1-0.1,14.2-0.1,21.1c4.9,0,9,0,13.4,0c0-7,0.3-13.6-0.1-20.3c-0.3-4.7,1.1-6.2,5.9-6.5c16.6-1.1,28.8-11.7,31.7-27\n\t\t\t\tc2.3-11.9-2-22-9.8-30.2c-7.6-8-16.7-14.6-25.2-21.8c-5.9-5.1-12.1-9.9-17.6-15.4c-4.6-4.7-7.1-10.8-7.6-17.5\n\t\t\t\tc-0.8-10.3,5-19.6,13.8-21.8c10.8-2.7,20.2,1.8,24.7,11.8C71.3,60.6,71.9,62.2,72.7,64.4z\"/&gt;\n\t\t&lt;/g&gt;\n\t&lt;/svg&gt;\n\n\t&lt;svg version=\"1.1\" id=\"people\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t viewBox=\"0 0 479.5 362\" style=\"enable-background:new 0 0 479.5 362;\" xml:space=\"preserve\"&gt;\n\t\t&lt;g&gt;\n\t\t\t&lt;path d=\"M198.2,170c-1-0.4-2.1-0.9-3.1-1.3c-17.4-7.3-28.1-20.5-29-39.1c-1.1-21.2-1.3-42.8,0.8-63.9c3.9-38.7,41.6-68.6,80.1-65.5\n\t\t\t\tc32.3,2.7,63.3,31.2,67.4,63.6c1.8,14.5,1,29.3,1.2,43.9c0.1,8,0.7,16.1-0.5,24c-2.8,17.9-13.5,29.9-30,37.1\n\t\t\t\tc-1.4,0.6-2.8,1.1-5.3,2c3.5,2.3,6.2,4.7,9.4,6.1c10.3,4.6,20.8,9,31.2,13.2c15,6.1,29.7,12.8,42.6,22.7\n\t\t\t\tc22.6,17.2,33.9,40.5,36.2,68.5c0.9,11-6.2,21.2-17.6,25.9c-30,12.4-60,24.6-90,36.9c-11.7,4.8-23.4,9.5-35.1,14.4\n\t\t\t\tc-11.7,4.8-23.3,4.8-35,0c-41.7-17.1-83.5-34.1-125.2-51.2c-13.3-5.5-19.1-16.4-17.2-30.8c4.3-33.3,21.5-57.7,50.8-73.3\n\t\t\t\tc14.5-7.7,30.1-13.3,45.1-20.1c8-3.6,15.8-7.5,23.7-11.2C198.5,171.2,198.4,170.6,198.2,170z M297.2,100c0-8,0.2-16,0-24\n\t\t\t\tc-0.7-31-27.5-57.8-57.6-57.7c-30.6,0.2-56.9,27.1-57,58.6c-0.1,14.5,0,29,0,43.5c0,17.6,6,26.1,22.7,32\n\t\t\t\tc12.7,4.5,16.7,19.3,7.5,29.1c-3.6,3.8-8,7.2-12.6,9.7c-7.6,4.1-15.7,7.2-23.5,10.8c-15.2,7.1-31,13.2-45.3,21.8\n\t\t\t\tc-20.7,12.4-31.2,32.1-33.9,56.1c-0.6,5.3,1.5,8.5,6.4,10.4c41.7,17,83.4,34.1,125.1,51.2c6.6,2.7,13.4,3,20,0.3\n\t\t\t\tc42.2-17.2,84.3-34.5,126.5-51.8c3.9-1.6,5.7-4.2,5.2-8.5c-1.8-17.8-8-33.6-20.6-46.5c-10.7-10.9-23.8-18.1-37.7-23.9\n\t\t\t\tc-12.1-5.1-24.5-9.5-36.4-15.2c-7.4-3.6-14.4-8.3-20.6-13.7c-6.8-5.9-6.8-16.3-0.6-22.9c2.6-2.8,6.3-5,9.9-6.3\n\t\t\t\tc15.1-5.4,22.5-15.4,22.5-31.5C297.2,114.3,297.2,107.2,297.2,100z\"/&gt;\n\t\t\t&lt;path d=\"M379.7,158.5c7.1,3.3,12.9,6.1,18.8,8.7c12.1,5.4,24.7,10,36.4,16.2c25.4,13.4,40.4,34.4,44.2,63.2\n\t\t\t\tc1.7,13-3.2,22.5-15.2,27.7c-12.5,5.4-25,10.8-37.6,16.1c-6.7,2.8-12.1,1.2-14.4-4.1c-2.3-5.5,0.2-10.2,7.1-13.2\n\t\t\t\tc11.8-5.1,23.5-10.1,35.3-15.2c6.4-2.8,7-3.9,5.9-10.6c-3.1-19.6-13-35-30.2-44.8c-11.1-6.3-23.2-10.8-34.7-16.3\n\t\t\t\tc-8.7-4.1-17.5-8.1-25.8-12.9c-5.2-3-9.4-7.5-10.1-14.1c-0.9-8.4,3.3-15,11.3-17.9c12.8-4.6,17.8-11.4,17.6-25.1\n\t\t\t\tc-0.1-15,0.8-30.1-1-44.9c-3.4-27.6-34.6-48.7-61.5-36.3c-5.8,2.7-11.1,0.5-13.3-4.7c-2.2-5.2,0.2-10,6.3-12.7\n\t\t\t\tc32.9-14.5,72.8,4.3,84.6,40.3c2.4,7.3,3.2,15.3,3.6,23c0.6,11.3-0.1,22.7,0.2,34C407.7,134.8,399.4,149.1,379.7,158.5z\"/&gt;\n\t\t\t&lt;path d=\"M100.3,158.4c-14.9-7-23-17.6-25.3-32.3c-0.8-4.9-0.6-10-0.5-15c0.2-14.6-0.6-29.4,1.2-43.9c3.8-29.5,29-52.3,58.5-54.6\n\t\t\t\tc9.5-0.7,18.6,1.3,27.1,5.5c4.9,2.4,6.8,7.5,4.9,12.2c-1.9,4.6-7.1,6.7-12.1,5C123.2,24.8,94,44.7,92.8,77.5\n\t\t\t\tc-0.5,14.3-0.3,28.7-0.1,43c0.2,10.5,5.5,17.3,15.6,20.8c11.3,3.9,15.6,17.4,7.4,26.2c-4.7,5.1-10.9,9.3-17.2,12.4\n\t\t\t\tc-10.3,5.1-21.4,8.4-31.7,13.4c-9.2,4.5-18.4,9.4-26.6,15.5c-13,9.7-19.3,23.8-21.7,39.7c-0.8,5,1,7.7,5.6,9.5\n\t\t\t\tc12.2,4.9,24.2,10.2,36.3,15.4c6.4,2.8,8.9,7.7,6.7,13c-2.2,5.1-7.7,6.7-14,4c-12.7-5.4-25.4-10.8-38.1-16.3\n\t\t\t\tc-11.1-4.9-16.1-14.4-14.8-26.6c3.1-28.3,17.3-49.4,42-62.9c12.5-6.8,26.1-11.7,39.1-17.5C87.3,164.4,93.3,161.6,100.3,158.4z\"/&gt;\n\t\t&lt;/g&gt;\n\t&lt;/svg&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Business Impact\">502c92b813d3b6006749bccf3244b0e8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-09 14:44:20</sys_created_on>\n<sys_id>502c92b813d3b6006749bccf3244b0e9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-09 14:44:20</sys_updated_on>\n<table/>\n<target_name>PE Business Impact Details</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_93c9cca813963200ba3a7b1a6144b0bd</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function BusinessImpactController() {\n  var c = this;\n  c.alert = c.data.alert;\n\n  c.stats = [{\n    name: 'Services',\n    value: c.alert.cis.length\n  },\n  {\n    name: '$ Per Hour',\n    value: c.alert.summaryStats.revenue + 'M'\n  },\n  {\n    name: 'Users',\n    value: c.alert.summaryStats.users + 'K'\n  }];\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n\n$icon-circle-color: #7e848b !default;\n\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n\n.panel-wrapper {\n\tmargin-bottom: 10px;\n}\n.panel-proper {\n\tbackground-color: #fff;\n\tborder-radius: 5px;\n\ttransition: box-shadow 0.5s;\n\tposition: relative;\n}\n.panel-header {\n\tposition: relative;\n\tpadding: 7px 12px;\n\tfont-size: 16px;\n\tfont-weight: 600;\n\tborder-bottom: 0.5px solid #7E848B;\n}\n.title-icon {\n\tdisplay: inline-block;\n\tbackground-color: $icon-circle-color;\n\twidth: 22px;\n\theight: 22px;\n\tfill: #fff;\n\tcolor: #fff;\n\ttext-align: center;\n\tborder-radius: 11px;\n\tmargin: 0 2px;\n\tfont-weight: 400;\n\t&amp;amp;:first-child {\n\t\tmargin-left: -5px;\n\t}\n}\n.panel-expander-wrapper {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 7px;\n\tright: 7px;\n\twidth: 20px;\n\theight: 20px;\n\ttransition: transform 0.5s;\n\tfill: $slate;\n}\n\n.panel-expander {\n\theight: 20px;\n\twidth: 20px;\n}\n\n.panel-content {\n\tpadding: 12px;\n}\n.panel-drawer.collapsing {\n\tposition: inherit;\n\tz-index: -1;\n}\n.panel-drawer {\n\tbackground-color: rgba(255,255,255,1);\n\tborder-radius: 0 0 5px 5px;\n\tmargin-top: -5px;\n\toverflow: hidden;\n}\n\n.triptych {\n\ttext-align: center;\n\t.col-xs-4 {\n\t\tborder-right: 1px solid $divider-color;\n\t}\n\t.col-xs-4:last-child {\n\t\tborder-right: none;\n\t}\n}\n\n.key-value {\n\tcolor: $status-alert-color;\n\tfill: $status-alert-color;\n\tfont-size: 36px;\n\tfont-weight: 200;\n\theight: 40px;\n\twhite-space: nowrap;\n\tline-height: 1;\n}\n\n.key-value-label {\n\tfont-size: 14px;\n\tcolor: $status-alert-color;\n\tmargin-top: -10px;\n}\n\n.drawer-list-header {\n\tbackground-color: #e8e8e8;\n\tfont-size: 15px;\n\tfont-weight: 600;\n\tpadding: 8px 12px;\n\t&amp;amp;:first-child {\n\t\tpadding-top: 13px;\n\t}\n}\n.drawer-list-item {\n\tmargin-bottom: 10px;\n\t&amp;amp;:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.expanded {\n\t.panel-expander-wrapper {\n\t\ttransform: rotate(135deg);\n\t}\n\t.panel-proper {\n\t\tbox-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);\n\t}\n}\n.recovered {\n\t.key-value {\n\t\tcolor: $status-recovered-color;\n\t\tfill: $status-recovered-color;\n\t}\n\t.key-value-label {\n\t\tcolor: $status-recovered-color;\n\t}\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-business-impact&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Business Impact&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"alert_sysid\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"},{\"name\":\"titleIconClasses\",\"label\":\"FontAwesome classes for icon to display next to title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\n  options.titleIconClasses = options.titleIconClasses || serverOptions.titleIconClasses || 'fa fa-bolt';\n\n  var fakeRevenue = [1.2, 0.9, 0.3, 0.89, 0.78];\n  var totalFakeRevenue = 0.0;\n  var summaryStats = {\n    users: 0.0,\n    revenue: 0.0\n  };\n\n  var REL_ID = (function(){\n    var rel = new GlideRecord('cmdb_rel_type');\n    rel.addQuery('name', 'Depends on::Used by');\n    rel.query();\n    rel.next();\n    return rel.sys_id.toString();\n  })();\n\n  var getDependentCIs = function(rec, arr){\n\n\t\t//Fake Users and Revenue\n\t\tvar fakeUsers = (Math.floor(Math.random()*40)+1);\n\t\tvar fakeRev = fakeRevenue[Math.floor(Math.random()*5)];\n\t\tsummaryStats.revenue += fakeRev;\n\t\tsummaryStats.users += fakeUsers;\n\n\n\t\tarr.push({\n      sys_id: rec.sys_id.toString(),\n      name: rec.name.toString(),\n      location: rec.location.toString(),\n      classification: rec.service_classification.toString(),\n      users: fakeUsers.toString() + 'K',\n      revenue: fakeRev.toString() +'M'\n    });\n\n    var ciGR = new GlideRecord('cmdb_rel_ci');\n    ciGR.addQuery('type.sys_id', REL_ID );\n    ciGR.addQuery('child.sys_id', rec.sys_id.toString() );\n    ciGR.query();\n\n    while ( ciGR.next() ) {\n      var parentGR = new GlideRecord('cmdb_ci_service');\n\t\t\tdata.userGroups.push(ciGR.parent.toDisplayValue());\n      parentGR.get( ciGR.parent.toString() );\n      var dependentsArray = getDependentCIs(parentGR, []);\n      dependentsArray.forEach(function(ci){\n        arr.push(ci);\n\t\t\t});\n    }\n    return arr;\n  };\n\n  var getAlert = function(rec){\n    var CIs = [];\n    var ciGR = new GlideRecord('cmdb_ci');\n\t\tdata.ciGRGet = rec.cmdb_ci.toString();\n    if ( ciGR.get( rec.cmdb_ci.toString() ) ) {\n      CIs = getDependentCIs(ciGR, CIs);\n    }\n    return {\n      sys_id: rec.sys_id.toString(),\n      type: rec.type.getDisplayValue(),\n      description: rec.description.toString(),\n      incident: rec.incident.sys_id.toString(),\n      state: rec.state.toString(),\n      cis: CIs\n    };\n  };\n\n  var alertGR, alert;\n  if (options.alert_sysid) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.get(options.alert_sysid);\n    alert = getAlert( alertGR );\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    // alertGR.addEncodedQuery('state!=Closed');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    alertGR.next();\n    alert = getAlert( alertGR );\n  }\n  alert.summaryStats = summaryStats;\n\talert.summaryStats.users = alert.summaryStats.users.toFixed(0);\n\talert.summaryStats.revenue = alert.summaryStats.revenue.toFixed(1);\n  data.alert = alert;\n  data.drawerWidget = $sp.getWidget('pe-business-impact-details', {\n    alert : alert\n  });\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 16:24:14&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;93c9cca813963200ba3a7b1a6144b0bd&lt;/sys_id&gt;&lt;sys_mod_count&gt;184&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Business Impact&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_93c9cca813963200ba3a7b1a6144b0bd&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-09 14:28:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'recovered': (c.alert.state === 'Closed') }\"&gt;\n\t&lt;div class=\"panel-proper\"&gt;\n\t\t&lt;div class=\"panel-header\"&gt;\n\t\t\t&lt;span ng-if=\"options.titleIconClasses\" class=\"title-icon\"&gt;\n\t\t\t\t&lt;i class=\"{{options.titleIconClasses}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n\t\t\t&lt;/span&gt;\n\t\t\t&lt;span&gt;Business Impact&lt;/span&gt;\n\t\t\t&lt;div class=\"panel-expander-wrapper\" ng-click=\"c.expanded = !c.expanded\" data-toggle=\"collapse\" data-target=\"#panel-drawer\" aria-expanded=\"false\" aria-controls=\"panel-drawer\"&gt;\n\t\t\t\t&lt;svg class=\"panel-expander\"&gt;\n\t\t\t\t\t&lt;use xlink:href=\"#plus\"&gt;&lt;/use&gt;\n\t\t\t\t&lt;/svg&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"panel-content\" id=\"panel-content\"&gt;\n\n\t\t\t&lt;div class=\"row triptych\"&gt;\n\t\t\t\t&lt;div class=\"col-xs-4\" ng-repeat=\"item in c.stats\"&gt;\n\t\t\t\t\t&lt;div class=\"key-value\"&gt;\n\t\t\t\t\t\t&lt;span ng-if=\"item.value\"&gt;{{item.value}}&lt;/span&gt;\n\t\t\t\t\t\t&lt;span ng-if=\"item.icon\" class=\"icon-inline\"&gt;\n\t\t\t\t\t\t\t&lt;svg class=\"svg-wrapper half-width\"&gt;\n\t\t\t\t\t\t\t\t&lt;use xlink:href={{item.icon}}&gt;&lt;/use&gt;\n\t\t\t\t\t\t\t&lt;/svg&gt;\n\t\t\t\t\t\t&lt;/span&gt;\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t&lt;div class=\"subtitle\"&gt;\n\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t&lt;/div&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n  &lt;div class=\"panel-drawer collapse\" id=\"panel-drawer\"&gt;\n    &lt;sp-widget widget=\"c.data.drawerWidget\"&gt;&lt;/sp-widget&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"hidden\"&gt;\n\n\t&lt;svg version=\"1.1\" id=\"plus\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t viewBox=\"0 0 23 23\" style=\"enable-background:new 0 0 23 23;\" xml:space=\"preserve\"&gt;\n\t\t&lt;path d=\"M11.5,0C5.2,0,0,5.2,0,11.5S5.2,23,11.5,23S23,17.8,23,11.5S17.8,0,11.5,0z M11.5,22C5.7,22,1,17.3,1,11.5S5.7,1,11.5,1\n\t\t\tS22,5.7,22,11.5S17.3,22,11.5,22z\"/&gt;\n\t\t&lt;path d=\"M11.5,18c-0.3,0-0.5-0.2-0.5-0.5v-12C11,5.2,11.2,5,11.5,5S12,5.2,12,5.5v12C12,17.8,11.8,18,11.5,18z\"/&gt;\n\t\t&lt;path d=\"M17.5,12h-12C5.2,12,5,11.8,5,11.5S5.2,11,5.5,11h12c0.3,0,0.5,0.2,0.5,0.5S17.8,12,17.5,12z\"/&gt;\n\t&lt;/svg&gt;\n\n\t&lt;svg version=\"1.1\" id=\"flash\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t viewBox=\"0 0 9 11\" style=\"enable-background:new 0 0 9 11;\" xml:space=\"preserve\"&gt;\n\t\t&lt;g id=\"Symbols\"&gt;\n\t\t\t&lt;g id=\"Root-Cause_x2F_Default\" transform=\"translate(-20.000000, -12.000000)\"&gt;\n\t\t\t\t&lt;g id=\"Group-2\" transform=\"translate(14.000000, 7.000000)\"&gt;\n\t\t\t\t\t&lt;g id=\"Group-2-Copy-2\"&gt;\n\t\t\t\t\t\t&lt;g transform=\"translate(6.666667, 4.761905)\"&gt;\n\t\t\t\t\t\t\t&lt;path d=\"M3.3,11.5l-0.9-0.4l0.8-3.7H-1l5.3-7.5l0.9,0.4L4.4,4h4.2L3.3,11.5z M1,6.4h3.5L3.9,8.9L6.6,5H3.2l0.6-2.5\n\t\t\t\t\t\t\t\tL1,6.4z\"/&gt;\n\t\t\t\t\t\t&lt;/g&gt;\n\t\t\t\t\t&lt;/g&gt;\n\t\t\t\t&lt;/g&gt;\n\t\t\t&lt;/g&gt;\n\t\t&lt;/g&gt;\n\t&lt;/svg&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Business Impact\">502c92b813d3b6006749bccf3244b0e8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-09 14:44:20</sys_created_on>\n<sys_id>9c2c92b813d3b6006749bccf3244b0e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-09 14:44:20</sys_updated_on>\n<table/>\n<target_name>PE Business Impact</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>em_event_type_8f36f42013d776006749bccf3244b045</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"em_event_type\"><em_event_type action=\"INSERT_OR_UPDATE\"><name>Slow Network Performance</name><pattern>Slow Network Performance</pattern><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-08 12:41:10</sys_created_on><sys_id>8f36f42013d776006749bccf3244b045</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-08 12:41:10</sys_updated_on></em_event_type></record_update>]]></payload>\n<remote_update_set display_value=\"PE Business Impact\">502c92b813d3b6006749bccf3244b0e8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-09 14:44:20</sys_created_on>\n<sys_id>d82c92b813d3b6006749bccf3244b0e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-09 14:44:20</sys_updated_on>\n<table/>\n<target_name>Slow Network Performance</target_name>\n<type>Event Type</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-business-impact/widget/pe-business-impact.u-body-html-template.html",
    "content": "<div class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'recovered': (c.alert.state === 'Closed') }\">\r\n\t<div class=\"panel-proper\">\r\n\t\t<div class=\"panel-header\">\r\n\t\t\t<span ng-if=\"options.titleIconClasses\" class=\"title-icon\">\r\n\t\t\t\t<i class=\"{{options.titleIconClasses}}\" aria-hidden=\"true\"></i>\r\n\t\t\t</span>\r\n\t\t\t<span>Business Impact</span>\r\n\t\t\t<div class=\"panel-expander-wrapper\" ng-click=\"c.expanded = !c.expanded\" data-toggle=\"collapse\" data-target=\"#panel-drawer\" aria-expanded=\"false\" aria-controls=\"panel-drawer\">\r\n\t\t\t\t<svg class=\"panel-expander\">\r\n\t\t\t\t\t<use xlink:href=\"#plus\"></use>\r\n\t\t\t\t</svg>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"panel-content\" id=\"panel-content\">\r\n\r\n\t\t\t<div class=\"row triptych\">\r\n\t\t\t\t<div class=\"col-xs-4\" ng-repeat=\"item in c.stats\">\r\n\t\t\t\t\t<div class=\"key-value\">\r\n\t\t\t\t\t\t<span ng-if=\"item.value\">{{item.value}}</span>\r\n\t\t\t\t\t\t<span ng-if=\"item.icon\" class=\"icon-inline\">\r\n\t\t\t\t\t\t\t<svg class=\"svg-wrapper half-width\">\r\n\t\t\t\t\t\t\t\t<use xlink:href={{item.icon}}></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"subtitle\">\r\n\t\t\t\t\t\t{{item.name}}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n  <div class=\"panel-drawer collapse\" id=\"panel-drawer\">\r\n    <sp-widget widget=\"c.data.drawerWidget\"></sp-widget>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"hidden\">\r\n\r\n\t<svg version=\"1.1\" id=\"plus\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t viewBox=\"0 0 23 23\" style=\"enable-background:new 0 0 23 23;\" xml:space=\"preserve\">\r\n\t\t<path d=\"M11.5,0C5.2,0,0,5.2,0,11.5S5.2,23,11.5,23S23,17.8,23,11.5S17.8,0,11.5,0z M11.5,22C5.7,22,1,17.3,1,11.5S5.7,1,11.5,1\r\n\t\t\tS22,5.7,22,11.5S17.3,22,11.5,22z\"/>\r\n\t\t<path d=\"M11.5,18c-0.3,0-0.5-0.2-0.5-0.5v-12C11,5.2,11.2,5,11.5,5S12,5.2,12,5.5v12C12,17.8,11.8,18,11.5,18z\"/>\r\n\t\t<path d=\"M17.5,12h-12C5.2,12,5,11.8,5,11.5S5.2,11,5.5,11h12c0.3,0,0.5,0.2,0.5,0.5S17.8,12,17.5,12z\"/>\r\n\t</svg>\r\n\r\n\t<svg version=\"1.1\" id=\"flash\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t viewBox=\"0 0 9 11\" style=\"enable-background:new 0 0 9 11;\" xml:space=\"preserve\">\r\n\t\t<g id=\"Symbols\">\r\n\t\t\t<g id=\"Root-Cause_x2F_Default\" transform=\"translate(-20.000000, -12.000000)\">\r\n\t\t\t\t<g id=\"Group-2\" transform=\"translate(14.000000, 7.000000)\">\r\n\t\t\t\t\t<g id=\"Group-2-Copy-2\">\r\n\t\t\t\t\t\t<g transform=\"translate(6.666667, 4.761905)\">\r\n\t\t\t\t\t\t\t<path d=\"M3.3,11.5l-0.9-0.4l0.8-3.7H-1l5.3-7.5l0.9,0.4L4.4,4h4.2L3.3,11.5z M1,6.4h3.5L3.9,8.9L6.6,5H3.2l0.6-2.5\r\n\t\t\t\t\t\t\t\tL1,6.4z\"/>\r\n\t\t\t\t\t\t</g>\r\n\t\t\t\t\t</g>\r\n\t\t\t\t</g>\r\n\t\t\t</g>\r\n\t\t</g>\r\n\t</svg>\r\n\r\n</div>"
  },
  {
    "path": "pe-business-impact/widget/pe-business-impact.u-client-script.js",
    "content": "function BusinessImpactController() {\n  var c = this;\n  c.alert = c.data.alert;\n\n  c.stats = [{\n    name: 'Services',\n    value: c.alert.cis.length\n  },\n  {\n    name: '$ Per Hour',\n    value: c.alert.summaryStats.revenue + 'M'\n  },\n  {\n    name: 'Users',\n    value: c.alert.summaryStats.users + 'K'\n  }];\n}"
  },
  {
    "path": "pe-business-impact/widget/pe-business-impact.u-css.css",
    "content": "$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n\n$icon-circle-color: #7e848b !default;\n\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n\n.panel-wrapper {\n\tmargin-bottom: 10px;\n}\n.panel-proper {\n\tbackground-color: #fff;\n\tborder-radius: 5px;\n\ttransition: box-shadow 0.5s;\n\tposition: relative;\n}\n.panel-header {\n\tposition: relative;\n\tpadding: 7px 12px;\n\tfont-size: 16px;\n\tfont-weight: 600;\n\tborder-bottom: 0.5px solid #7E848B;\n}\n.title-icon {\n\tdisplay: inline-block;\n\tbackground-color: $icon-circle-color;\n\twidth: 22px;\n\theight: 22px;\n\tfill: #fff;\n\tcolor: #fff;\n\ttext-align: center;\n\tborder-radius: 11px;\n\tmargin: 0 2px;\n\tfont-weight: 400;\n\t&:first-child {\n\t\tmargin-left: -5px;\n\t}\n}\n.panel-expander-wrapper {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 7px;\n\tright: 7px;\n\twidth: 20px;\n\theight: 20px;\n\ttransition: transform 0.5s;\n\tfill: $slate;\n}\n\n.panel-expander {\n\theight: 20px;\n\twidth: 20px;\n}\n\n.panel-content {\n\tpadding: 12px;\n}\n.panel-drawer.collapsing {\n\tposition: inherit;\n\tz-index: -1;\n}\n.panel-drawer {\n\tbackground-color: rgba(255,255,255,1);\n\tborder-radius: 0 0 5px 5px;\n\tmargin-top: -5px;\n\toverflow: hidden;\n}\n\n.triptych {\n\ttext-align: center;\n\t.col-xs-4 {\n\t\tborder-right: 1px solid $divider-color;\n\t}\n\t.col-xs-4:last-child {\n\t\tborder-right: none;\n\t}\n}\n\n.key-value {\n\tcolor: $status-alert-color;\n\tfill: $status-alert-color;\n\tfont-size: 36px;\n\tfont-weight: 200;\n\theight: 40px;\n\twhite-space: nowrap;\n\tline-height: 1;\n}\n\n.key-value-label {\n\tfont-size: 14px;\n\tcolor: $status-alert-color;\n\tmargin-top: -10px;\n}\n\n.drawer-list-header {\n\tbackground-color: #e8e8e8;\n\tfont-size: 15px;\n\tfont-weight: 600;\n\tpadding: 8px 12px;\n\t&:first-child {\n\t\tpadding-top: 13px;\n\t} \n}\n.drawer-list-item {\n\tmargin-bottom: 10px;\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.expanded {\n\t.panel-expander-wrapper {\n\t\ttransform: rotate(135deg);\n\t}\n\t.panel-proper {\n\t\tbox-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);\n\t}\n}\n.recovered {\n\t.key-value {\n\t\tcolor: $status-recovered-color;\n\t\tfill: $status-recovered-color;\n\t}\n\t.key-value-label {\n\t\tcolor: $status-recovered-color;\n\t}\n}"
  },
  {
    "path": "pe-business-impact/widget/pe-business-impact.u-option-schema.json",
    "content": "[{\"name\":\"alert_sysid\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"},{\"name\":\"titleIconClasses\",\"label\":\"FontAwesome classes for icon to display next to title\",\"type\":\"string\"}]"
  },
  {
    "path": "pe-business-impact/widget/pe-business-impact.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\r\n  options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\r\n  options.titleIconClasses = options.titleIconClasses || serverOptions.titleIconClasses || 'fa fa-bolt';\r\n\r\n  var fakeRevenue = [1.2, 0.9, 0.3, 0.89, 0.78];\r\n  var totalFakeRevenue = 0.0;\r\n  var summaryStats = {\r\n    users: 0.0,\r\n    revenue: 0.0\r\n  };\r\n\r\n  var REL_ID = (function(){\r\n    var rel = new GlideRecord('cmdb_rel_type');\r\n    rel.addQuery('name', 'Depends on::Used by');\r\n    rel.query();\r\n    rel.next();\r\n    return rel.sys_id.toString();\r\n  })();\r\n\r\n  var getDependentCIs = function(rec, arr){\r\n\r\n\t\t//Fake Users and Revenue\r\n\t\tvar fakeUsers = (Math.floor(Math.random()*40)+1);\r\n\t\tvar fakeRev = fakeRevenue[Math.floor(Math.random()*5)];\r\n\t\tsummaryStats.revenue += fakeRev;\r\n\t\tsummaryStats.users += fakeUsers;\r\n\r\n\t\t\r\n\t\tarr.push({\r\n      sys_id: rec.sys_id.toString(),\r\n      name: rec.name.toString(),\r\n      location: rec.location.toString(),\r\n      classification: rec.service_classification.toString(),\r\n      users: fakeUsers.toString() + 'K',\r\n      revenue: fakeRev.toString() +'M'\r\n    });\r\n\t\t\r\n    var ciGR = new GlideRecord('cmdb_rel_ci');\r\n    ciGR.addQuery('type.sys_id', REL_ID );\r\n    ciGR.addQuery('child.sys_id', rec.sys_id.toString() );\r\n    ciGR.query();\r\n\t\t\r\n    while ( ciGR.next() ) {\r\n      var parentGR = new GlideRecord('cmdb_ci_service');\r\n\t\t\tdata.userGroups.push(ciGR.parent.toDisplayValue());\r\n      parentGR.get( ciGR.parent.toString() );\r\n      var dependentsArray = getDependentCIs(parentGR, []);\r\n      dependentsArray.forEach(function(ci){\r\n        arr.push(ci); \r\n\t\t\t});\r\n    }\r\n    return arr;\r\n  };\r\n\r\n  var getAlert = function(rec){\r\n    var CIs = [];\r\n    var ciGR = new GlideRecord('cmdb_ci');\r\n\t\tdata.ciGRGet = rec.cmdb_ci.toString();\r\n    if ( ciGR.get( rec.cmdb_ci.toString() ) ) {\r\n      CIs = getDependentCIs(ciGR, CIs);\r\n    }\r\n    return {\r\n      sys_id: rec.sys_id.toString(),\r\n      type: rec.type.getDisplayValue(),\r\n      description: rec.description.toString(),\r\n      incident: rec.incident.sys_id.toString(),\r\n      state: rec.state.toString(),\r\n      cis: CIs\r\n    };\r\n  };\r\n\r\n  var alertGR, alert;\r\n  if (options.alert_sysid) {\r\n    alertGR = new GlideRecord('em_alert_anomaly');\r\n    alertGR.get(options.alert_sysid);\r\n    alert = getAlert( alertGR );\r\n  } else {\r\n    alertGR = new GlideRecord('em_alert_anomaly');\r\n    // alertGR.addEncodedQuery('state!=Closed');\r\n    alertGR.orderByDesc('sys_created_on');\r\n    alertGR.query();\r\n    alertGR.next();\r\n    alert = getAlert( alertGR );\r\n  }\r\n  alert.summaryStats = summaryStats;\r\n\talert.summaryStats.users = alert.summaryStats.users.toFixed(0);\r\n\talert.summaryStats.revenue = alert.summaryStats.revenue.toFixed(1);\r\n  data.alert = alert;\r\n  data.drawerWidget = $sp.getWidget('pe-business-impact-details', {\r\n    alert : alert\r\n  });\r\n\r\n})();"
  },
  {
    "path": "pe-business-impact-details/README.md",
    "content": "# Business Impact Details\n\n## Description\n\nQuery the most recent anomaly alert from the *em_alert_anomaly* table to provide Business Services Impact Details.\n\n## Screenshots\n![alt text](../images/pe-business-impact-1b.png \"expanded\")\n\n## Additional Information/Notes\nThis widget is included as part of the update set **[pe-business-impact.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-business-impact/pe-business-impact.u-update-set.xml)** <br/><br/>\n\n---\n## Installation\n---\n> See README for **[pe-business-impact](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-business-impact/README.md)**\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**alert_sysid**: Provide an anomaly alert's sys_id and data in the widget will display based on related records.\n**titleIconClasses**: Provide a set of Font Awesome css classes for an icon to display next to the title. Defaults to `'fa fa-bolt'`.\n\n---\n## Platform Dependencies\n---\n### SN Plugin Support\n> See README for **[pe-business-impact](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-business-impact/README.md)**\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n$icon-circle-color: #7e848b !default;\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n```"
  },
  {
    "path": "pe-business-impact-details/widget/pe-business-impact-details.u-body-html-template.html",
    "content": "<div class=\"row text-center drawer-list-header\">\r\n\t<div class=\"col-xs-4 text-left\">\r\n\t\tLines of Business\r\n\t</div>\r\n\t<div class=\"col-xs-4\">\r\n\t\tRevenue at Risk\r\n\t</div>\r\n\t<div class=\"col-xs-4\">\r\n\t\tUsers Impacted\r\n\t</div>\r\n</div>\r\n\r\n<div class=\"row text-center\" ng-repeat=\"item in c.alert.cis\">\r\n<!-- | filter:{classification: 'Business Service'} -->\r\n\t<div class=\"col-xs-4 left-padded\">\r\n\t\t{{item.name}}\r\n\t</div>\r\n\t<div class=\"col-xs-4\">\r\n\t\t<div class=\"key-value key-float-group\">\r\n\t\t\t<span>\r\n\t\t\t\t<svg class=\"dollar-icon\">\r\n\t\t\t\t\t<use xlink:href=\"#dollar\"></use>\r\n\t\t\t\t</svg>\r\n\t\t\t</span>\r\n\t\t\t<div class=\"key-group\">\r\n\t\t\t\t{{item.revenue}}\r\n\t\t\t\t<div class=\"key-value-label key-value-grouped-label\">\r\n\t\t\t\t\tper hour\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-xs-4\">\r\n\t\t<div class=\"key-value\">\r\n\t\t\t<span>\r\n\t\t\t\t<svg class=\"user-icon\">\r\n\t\t\t\t\t<use xlink:href=\"#people\"></use>\r\n\t\t\t\t</svg>\r\n\t\t\t</span>\r\n\t\t\t{{item.users}}\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n<div class=\"hidden\">\r\n\r\n\t<svg version=\"1.1\" id=\"dollar\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t viewBox=\"0 0 101.4 216.4\" style=\"enable-background:new 0 0 101.4 216.4;\" xml:space=\"preserve\">\r\n\t\t<g>\r\n\t\t\t<path d=\"M0,139c11.8-0.7,23.1-1.3,34.4-2c1.3,4.9,2.1,9.5,3.7,13.8c2.9,7.5,8.5,10.7,15.5,9.6c8.1-1.2,13.3-8.5,10.3-16\r\n\t\t\t\tc-2-5-5.8-9.7-9.9-13.3c-8.8-7.7-18.4-14.3-27.4-21.7c-10.1-8.3-19.2-17.5-22.3-31C-0.6,57.2,9,38,29,30c3-1.2,3.9-2.7,3.8-5.8\r\n\t\t\t\tc-0.2-8-0.1-15.9-0.1-24.2c10.4,0,20.3,0,30.6,0c0,9,0,17.8,0,26.9c12.3,2.7,22.9,7.7,29.9,18.4c4.6,7,6.7,14.7,7.1,23.5\r\n\t\t\t\tc-11.5,1.7-23,3.4-34.7,5.2c-0.7-3.2-1.1-6.1-2-9c-2.4-8-8.3-11.6-15.5-9.6c-5.9,1.6-9.7,9.1-6.8,16c2.5,5.8,6.4,11.3,10.9,15.7\r\n\t\t\t\tc5,5,11.4,8.6,17.2,12.8c9.4,6.8,17.9,14.4,24.2,24.2c16.9,26.5,4.8,56.7-25.7,64.3c-1.3,0.3-2.6,0.6-4.3,1c0,8.7,0,17.5,0,26.7\r\n\t\t\t\tc-10.5,0-20.5,0-30.8,0c0-9.5,0-18.8,0-28.5C10.6,179.6,1.1,162.6,0,139z M72.7,64.4c6.1-0.9,12-1.8,18.1-2.8\r\n\t\t\t\tc-0.2-1.3-0.3-2.1-0.6-2.9c-4.7-14.6-15.6-21.5-30.1-23.3c-4.7-0.6-5.6-2.4-5.5-6.5c0.3-6.8,0.1-13.5,0.1-20.4c-4.7,0-8.8,0-13.4,0\r\n\t\t\t\tc0,7.4-0.2,14.5,0.1,21.6c0.2,3.8-1,5.3-4.9,6.3c-16.7,4.1-26,17.2-24.9,34.3c0.6,9.6,4.7,17.8,11.9,24\r\n\t\t\t\tc11.6,10,23.9,19.2,35.4,29.3c4.7,4.1,9.1,9,11.8,14.5c3.9,7.7,3.4,15.9-2.6,22.9C58,173.4,40,171.6,32,157.7\r\n\t\t\t\tc-2-3.5-3.3-7.5-5-11.7c-5.7,0.4-11.4,0.7-17.1,1.1c0.3,14.6,11.3,28.3,26.5,32.5c4.4,1.2,5.3,3.2,5.2,7.2\r\n\t\t\t\tc-0.3,7.1-0.1,14.2-0.1,21.1c4.9,0,9,0,13.4,0c0-7,0.3-13.6-0.1-20.3c-0.3-4.7,1.1-6.2,5.9-6.5c16.6-1.1,28.8-11.7,31.7-27\r\n\t\t\t\tc2.3-11.9-2-22-9.8-30.2c-7.6-8-16.7-14.6-25.2-21.8c-5.9-5.1-12.1-9.9-17.6-15.4c-4.6-4.7-7.1-10.8-7.6-17.5\r\n\t\t\t\tc-0.8-10.3,5-19.6,13.8-21.8c10.8-2.7,20.2,1.8,24.7,11.8C71.3,60.6,71.9,62.2,72.7,64.4z\"/>\r\n\t\t</g>\r\n\t</svg>\r\n\r\n\t<svg version=\"1.1\" id=\"people\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n\t\t viewBox=\"0 0 479.5 362\" style=\"enable-background:new 0 0 479.5 362;\" xml:space=\"preserve\">\r\n\t\t<g>\r\n\t\t\t<path d=\"M198.2,170c-1-0.4-2.1-0.9-3.1-1.3c-17.4-7.3-28.1-20.5-29-39.1c-1.1-21.2-1.3-42.8,0.8-63.9c3.9-38.7,41.6-68.6,80.1-65.5\r\n\t\t\t\tc32.3,2.7,63.3,31.2,67.4,63.6c1.8,14.5,1,29.3,1.2,43.9c0.1,8,0.7,16.1-0.5,24c-2.8,17.9-13.5,29.9-30,37.1\r\n\t\t\t\tc-1.4,0.6-2.8,1.1-5.3,2c3.5,2.3,6.2,4.7,9.4,6.1c10.3,4.6,20.8,9,31.2,13.2c15,6.1,29.7,12.8,42.6,22.7\r\n\t\t\t\tc22.6,17.2,33.9,40.5,36.2,68.5c0.9,11-6.2,21.2-17.6,25.9c-30,12.4-60,24.6-90,36.9c-11.7,4.8-23.4,9.5-35.1,14.4\r\n\t\t\t\tc-11.7,4.8-23.3,4.8-35,0c-41.7-17.1-83.5-34.1-125.2-51.2c-13.3-5.5-19.1-16.4-17.2-30.8c4.3-33.3,21.5-57.7,50.8-73.3\r\n\t\t\t\tc14.5-7.7,30.1-13.3,45.1-20.1c8-3.6,15.8-7.5,23.7-11.2C198.5,171.2,198.4,170.6,198.2,170z M297.2,100c0-8,0.2-16,0-24\r\n\t\t\t\tc-0.7-31-27.5-57.8-57.6-57.7c-30.6,0.2-56.9,27.1-57,58.6c-0.1,14.5,0,29,0,43.5c0,17.6,6,26.1,22.7,32\r\n\t\t\t\tc12.7,4.5,16.7,19.3,7.5,29.1c-3.6,3.8-8,7.2-12.6,9.7c-7.6,4.1-15.7,7.2-23.5,10.8c-15.2,7.1-31,13.2-45.3,21.8\r\n\t\t\t\tc-20.7,12.4-31.2,32.1-33.9,56.1c-0.6,5.3,1.5,8.5,6.4,10.4c41.7,17,83.4,34.1,125.1,51.2c6.6,2.7,13.4,3,20,0.3\r\n\t\t\t\tc42.2-17.2,84.3-34.5,126.5-51.8c3.9-1.6,5.7-4.2,5.2-8.5c-1.8-17.8-8-33.6-20.6-46.5c-10.7-10.9-23.8-18.1-37.7-23.9\r\n\t\t\t\tc-12.1-5.1-24.5-9.5-36.4-15.2c-7.4-3.6-14.4-8.3-20.6-13.7c-6.8-5.9-6.8-16.3-0.6-22.9c2.6-2.8,6.3-5,9.9-6.3\r\n\t\t\t\tc15.1-5.4,22.5-15.4,22.5-31.5C297.2,114.3,297.2,107.2,297.2,100z\"/>\r\n\t\t\t<path d=\"M379.7,158.5c7.1,3.3,12.9,6.1,18.8,8.7c12.1,5.4,24.7,10,36.4,16.2c25.4,13.4,40.4,34.4,44.2,63.2\r\n\t\t\t\tc1.7,13-3.2,22.5-15.2,27.7c-12.5,5.4-25,10.8-37.6,16.1c-6.7,2.8-12.1,1.2-14.4-4.1c-2.3-5.5,0.2-10.2,7.1-13.2\r\n\t\t\t\tc11.8-5.1,23.5-10.1,35.3-15.2c6.4-2.8,7-3.9,5.9-10.6c-3.1-19.6-13-35-30.2-44.8c-11.1-6.3-23.2-10.8-34.7-16.3\r\n\t\t\t\tc-8.7-4.1-17.5-8.1-25.8-12.9c-5.2-3-9.4-7.5-10.1-14.1c-0.9-8.4,3.3-15,11.3-17.9c12.8-4.6,17.8-11.4,17.6-25.1\r\n\t\t\t\tc-0.1-15,0.8-30.1-1-44.9c-3.4-27.6-34.6-48.7-61.5-36.3c-5.8,2.7-11.1,0.5-13.3-4.7c-2.2-5.2,0.2-10,6.3-12.7\r\n\t\t\t\tc32.9-14.5,72.8,4.3,84.6,40.3c2.4,7.3,3.2,15.3,3.6,23c0.6,11.3-0.1,22.7,0.2,34C407.7,134.8,399.4,149.1,379.7,158.5z\"/>\r\n\t\t\t<path d=\"M100.3,158.4c-14.9-7-23-17.6-25.3-32.3c-0.8-4.9-0.6-10-0.5-15c0.2-14.6-0.6-29.4,1.2-43.9c3.8-29.5,29-52.3,58.5-54.6\r\n\t\t\t\tc9.5-0.7,18.6,1.3,27.1,5.5c4.9,2.4,6.8,7.5,4.9,12.2c-1.9,4.6-7.1,6.7-12.1,5C123.2,24.8,94,44.7,92.8,77.5\r\n\t\t\t\tc-0.5,14.3-0.3,28.7-0.1,43c0.2,10.5,5.5,17.3,15.6,20.8c11.3,3.9,15.6,17.4,7.4,26.2c-4.7,5.1-10.9,9.3-17.2,12.4\r\n\t\t\t\tc-10.3,5.1-21.4,8.4-31.7,13.4c-9.2,4.5-18.4,9.4-26.6,15.5c-13,9.7-19.3,23.8-21.7,39.7c-0.8,5,1,7.7,5.6,9.5\r\n\t\t\t\tc12.2,4.9,24.2,10.2,36.3,15.4c6.4,2.8,8.9,7.7,6.7,13c-2.2,5.1-7.7,6.7-14,4c-12.7-5.4-25.4-10.8-38.1-16.3\r\n\t\t\t\tc-11.1-4.9-16.1-14.4-14.8-26.6c3.1-28.3,17.3-49.4,42-62.9c12.5-6.8,26.1-11.7,39.1-17.5C87.3,164.4,93.3,161.6,100.3,158.4z\"/>\r\n\t\t</g>\r\n\t</svg>\r\n</div>"
  },
  {
    "path": "pe-business-impact-details/widget/pe-business-impact-details.u-client-script.js",
    "content": "function BusinessImpactDetailsController() {\n  var c = this;\n  c.alert = c.data.alert;\n}"
  },
  {
    "path": "pe-business-impact-details/widget/pe-business-impact-details.u-css.css",
    "content": "$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n\n$icon-circle-color: #7e848b !default;\n\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n\n.row {\n\tmargin: 0 -7px;\n\tpadding: 12px;\n\tborder-top: solid 0.5px rgba(52, 61, 71, 0.15);\n  background-color: #ffffff;\n}\n\n.drawer-list-header {\n\tbackground-color: #e8e8e8;\n\tfont-size: 15px;\n\tfont-weight: 600;\n\tpadding: 8px 12px;\n\t&:first-child {\n\t\tpadding-top: 13px;\n\t} \n}\n.drawer-list-item {\n\tmargin-bottom: 10px;\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.left-padded {\n\ttext-align: left;\n\tpadding-top: 15px;\n}\n\n.col-xs-4 {\n\tpadding: 0 7.5px;\n}\n\n.dollar-icon {\n\tfill: $slate;\n\theight: 0.8em;\n\twidth: 0.5em;\n}\n.user-icon {\n\tfill: $slate;\n\theight: 0.8em;\n\twidth: 0.8em;\n}\n.key-value {\n\tcolor: $status-alert-color;\n\tfill: $status-alert-color;\n\tfont-size: 36px;\n\tfont-weight: 200;\n\theight: 40px;\n\twhite-space: nowrap;\n\tline-height: 1;\n}\n\n.key-value-label {\n\tfont-size: 14px;\n\tcolor: $status-alert-color;\n\tmargin-top: -10px;\n}\n.key-value-grouped-label {\n\ttext-align: left;\n\tmargin-top: 0;\n}\n\n.key-group {\n\tdisplay: inline-block;\n}\n\n.key-float-group > * {\n\theight: 55px;\n\tfloat: left;\n\tmargin-right: 5px;\n\t&:last-child {\n\t\tmargin-right: none;\n\t}\n}"
  },
  {
    "path": "pe-business-impact-details/widget/pe-business-impact-details.u-option-schema.json",
    "content": "<div class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'recovered': (c.alert.state === 'Closed') }\">\n    <div class=\"panel-proper\">\n        <div class=\"panel-header\">\n            <span ng-if=\"options.titleIconClasses\" class=\"title-icon\">\n\t\t\t\t<i class=\"{{options.titleIconClasses}}\" aria-hidden=\"true\"></i>\n\t\t\t</span>\n            <span>Business Impact</span>\n            <div class=\"panel-expander-wrapper\" ng-click=\"c.expanded = !c.expanded\" data-toggle=\"collapse\" data-target=\"#panel-drawer\" aria-expanded=\"false\" aria-controls=\"panel-drawer\">\n                <svg class=\"panel-expander\">\n\t\t\t\t\t<use xlink:href=\"#plus\"></use>\n\t\t\t\t</svg>\n            </div>\n        </div>\n        <div class=\"panel-content\" id=\"panel-content\">\n\n            <div class=\"row triptych\">\n                <div class=\"col-xs-4\" ng-repeat=\"item in c.stats\">\n                    <div class=\"key-value\">\n                        <span ng-if=\"item.value\">{{item.value}}</span>\n                        <span ng-if=\"item.icon\" class=\"icon-inline\">\n\t\t\t\t\t\t\t<svg class=\"svg-wrapper half-width\">\n\t\t\t\t\t\t\t\t<use xlink:href={{item.icon}}></use>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</span>\n                    </div>\n                    <div class=\"subtitle\">\n                        {{item.name}}\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"panel-drawer collapse\" id=\"panel-drawer\">\n        <sp-widget widget=\"c.data.drawerWidget\"></sp-widget>\n    </div>\n</div>\n\n<div class=\"hidden\">\n\n    <svg version=\"1.1\" id=\"plus\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 23 23\" style=\"enable-background:new 0 0 23 23;\" xml:space=\"preserve\">\n\t\t<path d=\"M11.5,0C5.2,0,0,5.2,0,11.5S5.2,23,11.5,23S23,17.8,23,11.5S17.8,0,11.5,0z M11.5,22C5.7,22,1,17.3,1,11.5S5.7,1,11.5,1\n\t\t\tS22,5.7,22,11.5S17.3,22,11.5,22z\"/>\n\t\t<path d=\"M11.5,18c-0.3,0-0.5-0.2-0.5-0.5v-12C11,5.2,11.2,5,11.5,5S12,5.2,12,5.5v12C12,17.8,11.8,18,11.5,18z\"/>\n\t\t<path d=\"M17.5,12h-12C5.2,12,5,11.8,5,11.5S5.2,11,5.5,11h12c0.3,0,0.5,0.2,0.5,0.5S17.8,12,17.5,12z\"/>\n\t</svg>\n\n    <svg version=\"1.1\" id=\"flash\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 9 11\" style=\"enable-background:new 0 0 9 11;\" xml:space=\"preserve\">\n\t\t<g id=\"Symbols\">\n\t\t\t<g id=\"Root-Cause_x2F_Default\" transform=\"translate(-20.000000, -12.000000)\">\n\t\t\t\t<g id=\"Group-2\" transform=\"translate(14.000000, 7.000000)\">\n\t\t\t\t\t<g id=\"Group-2-Copy-2\">\n\t\t\t\t\t\t<g transform=\"translate(6.666667, 4.761905)\">\n\t\t\t\t\t\t\t<path d=\"M3.3,11.5l-0.9-0.4l0.8-3.7H-1l5.3-7.5l0.9,0.4L4.4,4h4.2L3.3,11.5z M1,6.4h3.5L3.9,8.9L6.6,5H3.2l0.6-2.5\n\t\t\t\t\t\t\t\tL1,6.4z\"/>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</g>\n\t</svg>\n\n</div>"
  },
  {
    "path": "pe-business-impact-details/widget/pe-business-impact-details.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\r\n  options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\r\n\r\n\tvar fakeRevenue = [1.2, 0.9, 0.3, 0.89, 0.78];\r\n  var totalFakeRevenue = 0.0;\r\n  var summaryStats = {\r\n    users: 0.0,\r\n    revenue: 0.0\r\n  };\r\n\r\n  var REL_ID = (function(){\r\n    var rel = new GlideRecord('cmdb_rel_type');\r\n    rel.addQuery('name', 'Depends on::Used by');\r\n    rel.query();\r\n    rel.next();\r\n    return rel.sys_id.toString();\r\n  })();\r\n\r\n  var getDependentCIs = function(rec, arr){\r\n\r\n\t\t//Fake Users and Revenue\r\n\t\tvar fakeUsers = (Math.floor(Math.random()*40)+1);\r\n\t\tvar fakeRev = fakeRevenue[Math.floor(Math.random()*5)];\r\n\t\tsummaryStats.revenue += fakeRev;\r\n\t\tsummaryStats.users += fakeUsers;\r\n\r\n\t\t\r\n\t\tarr.push({\r\n      sys_id: rec.sys_id.toString(),\r\n      name: rec.name.toString(),\r\n      location: rec.location.toString(),\r\n      classification: rec.service_classification.toString(),\r\n      users: fakeUsers.toString() + 'K',\r\n      revenue: fakeRev.toString() +'M'\r\n    });\r\n\t\t\r\n    var ciGR = new GlideRecord('cmdb_rel_ci');\r\n    ciGR.addQuery('type.sys_id', REL_ID );\r\n    ciGR.addQuery('child.sys_id', rec.sys_id.toString() );\r\n    ciGR.query();\r\n\t\t\r\n    while ( ciGR.next() ) {\r\n      var parentGR = new GlideRecord('cmdb_ci_service');\r\n\t\t\tdata.userGroups.push(ciGR.parent.toDisplayValue());\r\n      parentGR.get( ciGR.parent.toString() );\r\n      var dependentsArray = getDependentCIs(parentGR, []);\r\n      dependentsArray.forEach(function(ci){\r\n        arr.push(ci); \r\n\t\t\t});\r\n    }\r\n    return arr;\r\n  };\r\n\r\n  var getAlert = function(rec){\r\n    var CIs = [];\r\n    var ciGR = new GlideRecord('cmdb_ci');\r\n\t\tdata.ciGRGet = rec.cmdb_ci.toString();\r\n    if ( ciGR.get( rec.cmdb_ci.toString() ) ) {\r\n      CIs = getDependentCIs(ciGR, CIs);\r\n    }\r\n    return {\r\n      sys_id: rec.sys_id.toString(),\r\n      type: rec.type.getDisplayValue(),\r\n      description: rec.description.toString(),\r\n      incident: rec.incident.sys_id.toString(),\r\n      state: rec.state.toString(),\r\n      cis: CIs\r\n    };\r\n  };\r\n\t\r\n  var alertGR, alert;\r\n\t//Passed in from the Business Impact widget\r\n\tif(options.alert){\r\n\t\tdata.alert = options.alert;\t\t\r\n\t}else{\r\n\t\tif (options.alert_sysid) {\r\n\t\t\talertGR = new GlideRecord('em_alert_anomaly');\r\n\t\t\talertGR.get(options.alert_sysid);\r\n\t\t\talert = getAlert( alertGR );\r\n\t\t} else {\r\n\t\t\talertGR = new GlideRecord('em_alert_anomaly');\r\n\t\t\t// alertGR.addEncodedQuery('state!=Closed');\r\n\t\t\talertGR.orderByDesc('sys_created_on');\r\n\t\t\talertGR.query();\r\n\t\t\talertGR.next();\r\n\t\t\talert = getAlert( alertGR );\r\n\t\t}\r\n\t\talert.summaryStats = summaryStats;\r\n\t\talert.summaryStats.users = alert.summaryStats.users.toFixed(0);\r\n\t\talert.summaryStats.revenue = alert.summaryStats.revenue.toFixed(1);\r\n\t\tdata.alert = alert;\r\n\t}\r\n  \r\n})();"
  },
  {
    "path": "pe-carousel-plus/README.md",
    "content": "# Carousel Plus\n\n## Description\n\nA simple & flexible multipurpose carousel widget that supports: images, captions and YouTube videos. An alternative to the OOB carousel widget and a boilerplate for custom carousel widgets.\n\n## Screenshot\n\n![Carousel Plus](../images/pe-carousel-plus.png)\n\n## Additional Information/Notes\n\nCreate slides on the table u_carousel_plus and set some basic configuration to get started. To form a collection of slides, simply set the group field for each slide and the group option for the carousel. To create a video slide, add the YouTube video id to the slide and optionally adjust the video height field.\n\n## Installation\n\nDownload and install update set **[pe-carousel-plus.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-carousel-plus/pe-carousel-plus.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Group` | Sets a group of slides for the carousel. | |\n\n## Platform Dependencies\n\n### SN System Tables\n\n* u_carousel_plus\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-carousel-plus/pe-carousel-plus.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-07-03 22:56:58\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Carousel Plus</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>1f88daf5db62df00abd4f9361d9619b6</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>415f53c6db0b5f00abd4f9361d9619b4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_order</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_order\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Order&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;100&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_order&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;a8df4f4edbc75f00abd4f9361d96198e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_order&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:54:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-322751479</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>015f53c6db0b5f00abd4f9361d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16462238f7f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Order</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>e6f01b8e4dc75f001d3e8ecc5d31f8e1</update_guid>\n<update_guid_history>e6f01b8e4dc75f001d3e8ecc5d31f8e1:-322751479,0ef01b8e4fc75f004973879bce1e16b5:-322751479,601e8bca29c75f00a42be3882e465394:2040845245,ae8ea6e3a6be1b0019b1c2a9f2a3c6d4:-322751479</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_7b2fc74edbc75f00abd4f9361d9619f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>7b2fc74edbc75f00abd4f9361d9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus.u_carousel_plus_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_carousel_plus\">632fc74edbc75f00abd4f9361d9619f0</sys_security_acl><sys_update_name>sys_security_acl_role_7b2fc74edbc75f00abd4f9361d9619f2</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:24</sys_updated_on><sys_user_role display_value=\"u_carousel_plus_user\" name=\"u_carousel_plus_user\">366d2a63dbbe1b00abd4f9361d96194f</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1356285737</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>015f53c6db0b5f00abd4f9361d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63520000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus.u_carousel_plus_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>b72fc74e39c75f00f9fbdf6bd43b40f4</update_guid>\n<update_guid_history>b72fc74e39c75f00f9fbdf6bd43b40f4:1356285737</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_background</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_background\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Background&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_background&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;2e5f4b4edbc75f00abd4f9361d9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Background&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_background&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:54:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1559938922</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>055f53c6db0b5f00abd4f9361d9619b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16462238f5f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Background</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>a2f01b8eb1c75f0052961bfb0c91c1e0</update_guid>\n<update_guid_history>a2f01b8eb1c75f0052961bfb0c91c1e0:1559938922,42f01b8eecc75f00db48f47df15f4cb1:1559938922,001e8bca04c75f009047e2797f260458:1298711582,5a8ea2e312be1b006a39d72e601a13c3:1559938922</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_2b2f474edbc75f00abd4f9361d9619c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_carousel_plus</description><name>u_carousel_plus</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>2b2f474edbc75f00abd4f9361d9619c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_2b2f474edbc75f00abd4f9361d9619c7</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:24</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>65947941</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>055f53c6db0b5f00abd4f9361d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c62e60000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>672f474e94c75f008cbad0a3e3f43fc9</update_guid>\n<update_guid_history>672f474e94c75f008cbad0a3e3f43fc9:65947941</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_url_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_url\" label=\"URL\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_url</element><help/><hint/><label>URL</label><language>en</language><name>u_carousel_plus</name><plural>URLs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>56f01b8edbc75f00abd4f9361d9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>URL</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_url_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:54:14</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>707118789</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>095f53c6db0b5f00abd4f9361d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164622390790000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.URL</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>aef01b8ea3c75f00f592379de41e5beb</update_guid>\n<update_guid_history>aef01b8ea3c75f00f592379de41e5beb:707118789,a20e4bca9dc75f00c50d886b039dcd84:1325831469,e17563f0e7c3db002ee4589d67f2209a:707118789</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_caption_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_caption\" label=\"Caption\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_caption</element><help/><hint/><label>Caption</label><language>en</language><name>u_carousel_plus</name><plural>Captions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>56f01b8edbc75f00abd4f9361d9619d4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Caption</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_caption_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:54:14</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1998479003</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>0d5f53c6db0b5f00abd4f9361d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164622390ad0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Caption</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>e6f01b8e7ec75f00f9a7d51944c774ee</update_guid>\n<update_guid_history>e6f01b8e7ec75f00f9a7d51944c774ee:-1998479003,260e4bca5fc75f002d15234ae2b72299:965313101,7787722b54be1b006f8aeade1c235b0a:-1998479003</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_fff25fcedbc75f00abd4f9361d96196e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"fff25fcedbc75f00abd4f9361d96196e\" sys_domain=\"global\" table=\"u_carousel_plus\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_group</element><position>0</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:31</sys_created_on><sys_id>78289f82db0b5f00abd4f9361d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:31</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_order</element><position>1</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:31</sys_created_on><sys_id>f8289f82db0b5f00abd4f9361d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:31</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_url</element><position>2</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:31</sys_created_on><sys_id>7c289f82db0b5f00abd4f9361d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:31</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_caption</element><position>3</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>fc289f82db0b5f00abd4f9361d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>4</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>70289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_youtube_id</element><position>5</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>f0289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_height</element><position>6</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>74289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>7</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>f4289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>8</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>78289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_background</element><position>9</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>f8289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>10</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:25:32</sys_created_on><sys_id>7c289f82db0b5f00abd4f9361d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_carousel_plus\" sys_domain=\"global\" view=\"Default view\">fff25fcedbc75f00abd4f9361d96196e</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:25:32</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_carousel_plus</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 22:03:05</sys_created_on><sys_customer_update>false</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>fff25fcedbc75f00abd4f9361d96196e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_fff25fcedbc75f00abd4f9361d96196e</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:03:05</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1730311173</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>0d5f53c6db0b5f00abd4f9361d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164624033af0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>f0289f821f0b5f00e1581fffe5a94fab</update_guid>\n<update_guid_history>f0289f821f0b5f00e1581fffe5a94fab:-1730311173,33f25fce86c75f00317a5e529ced9579:-1032745780,73f25fce68c75f0069334420a15ee371:-1860410650</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:46:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;772fc74edbc75f00abd4f9361d9619ff&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_carousel_plus&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:46:25&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2078118011</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>415f53c6db0b5f00abd4f9361d9619b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c656f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>332f0b4ed3c75f00e6130bddf54bc51d</update_guid>\n<update_guid_history>332f0b4ed3c75f00e6130bddf54bc51d:-2078118011,dbee074e7fc75f00e2a047bb8545fc02:-112014023,74de434eb2c75f00ce62d55c233db1c5:-2078118011,d70e4bcaddc75f002fed628ea5d225ea:-112014023,536d2ea30ebe1b00d7954bea94415fa7:-2078118011</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_12015b8edbc75f00abd4f9361d9619d2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.CarouselPlus&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;CarouselPlus&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var CarouselPlus = Class.create();\nCarouselPlus.prototype = {\n  initialize: function() {},\n\n  getSlides: function(group) {\n    var grSlide = new GlideRecordSecure('u_carousel_plus');\n    grSlide.addActiveQuery();\n    grSlide.addQuery('u_group', group);\n    grSlide.query();\n    var slides = [];\n    while (grSlide.next()) {\n      slides.push({\n        background: grSlide.u_background.getDisplayValue(),\n        caption: grSlide.u_caption.toString(),\n        height: grSlide.u_height.toString(),\n        order: grSlide.u_order.toString(),\n        url: grSlide.u_url.toString(),\n        youTubeId: grSlide.u_youtube_id.toString()\n      });\n    }\n    return slides;\n  },\n\n  type: 'CarouselPlus'\n};\n]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:58:27&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;12015b8edbc75f00abd4f9361d9619d2&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;CarouselPlus&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_12015b8edbc75f00abd4f9361d9619d2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 22:21:55&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1696225162</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>415f53c6db0b5f00abd4f9361d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164623ce6940000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table/>\n<target_name>CarouselPlus</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>ff47d382120b5f0000922d328f28a81b</update_guid>\n<update_guid_history>ff47d382120b5f0000922d328f28a81b:-1696225162,bb379382a60b5f008d9dd83253dce6fe:743896360,82c6db421c0b5f009d0c9ae5777519d6:-1696225162,74b65f42d20b5f00e0cf5b884ea0c4d0:1346622946,88f19f8ed1c75f00f09c206b6690fb36:-1696225162</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_order_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_order\" label=\"Order\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_order</element><help/><hint/><label>Order</label><language>en</language><name>u_carousel_plus</name><plural>Orders</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>52f01b8edbc75f00abd4f9361d9619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Order</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_order_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:54:14</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>2132031717</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>455f53c6db0b5f00abd4f9361d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1646223905f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Order</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>2af01b8e1dc75f0058d2d60ae83753ea</update_guid>\n<update_guid_history>2af01b8e1dc75f0058d2d60ae83753ea:2132031717,6e0e4bcacfc75f00d61e11bf7a42578e:-576316467,b68ea6e33cbe1b00ef96cca7ee92f9e6:2132031717</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_background_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_background\" label=\"Background\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_background</element><help/><hint/><label>Background</label><language>en</language><name>u_carousel_plus</name><plural>Backgrounds</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>5af01b8edbc75f00abd4f9361d9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Background</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_background_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:54:14</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>564743421</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>495f53c6db0b5f00abd4f9361d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1646223903e0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Background</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>a2f01b8eb5c75f0041484e9b9ea1bde9</update_guid>\n<update_guid_history>a2f01b8eb5c75f0041484e9b9ea1bde9:564743421,ea0e4bca20c75f0066f29c24d2d01587:-630925211,228ea6e35bbe1b0014d638bcb9d159e4:564743421</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_fb2fc74edbc75f00abd4f9361d9619f7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:25</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>fb2fc74edbc75f00abd4f9361d9619f7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus.u_carousel_plus_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_carousel_plus\">f32fc74edbc75f00abd4f9361d9619f5</sys_security_acl><sys_update_name>sys_security_acl_role_fb2fc74edbc75f00abd4f9361d9619f7</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:25</sys_updated_on><sys_user_role display_value=\"u_carousel_plus_user\" name=\"u_carousel_plus_user\">366d2a63dbbe1b00abd4f9361d96194f</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1459794302</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>495f53c6db0b5f00abd4f9361d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63950000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus.u_carousel_plus_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>3b2fc74e61c75f00f345b52bd84392f9</update_guid>\n<update_guid_history>3b2fc74e61c75f00f345b52bd84392f9:1459794302</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_height</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_height\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Video Height&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_height&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:14&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;5b705f4edbc75f00abd4f9361d961975&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Video Height&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_height&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 22:28:37&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>519247397</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>4d5f53c6db0b5f00abd4f9361d9619b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164624308ff0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Video Height</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>c6d857c20c0b5f00c4a05793d423c992</update_guid>\n<update_guid_history>c6d857c20c0b5f00c4a05793d423c992:519247397,52f01b8e9bc75f00e022fb6e284186c8:2005384175</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_f32fc74edbc75f00abd4f9361d9619f5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_carousel_plus</description><name>u_carousel_plus</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>f32fc74edbc75f00abd4f9361d9619f5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_f32fc74edbc75f00abd4f9361d9619f5</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:24</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1290175509</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>4d5f53c6db0b5f00abd4f9361d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63740000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>bf2fc74e66c75f00ef1abc6ee28374f6</update_guid>\n<update_guid_history>bf2fc74e66c75f00ef1abc6ee28374f6:1290175509</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_height_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_height\" label=\"Video Height\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_height</element><help/><hint/><label>Video Height</label><language>en</language><name>u_carousel_plus</name><plural>Video Heights</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>52f01b8edbc75f00abd4f9361d9619d3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Video Height</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_height_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 22:28:37</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1645956255</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>815f53c6db0b5f00abd4f9361d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1646243091b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Video Height</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>0ed857c2ad0b5f00e4bb20624b7fda93</update_guid>\n<update_guid_history>0ed857c2ad0b5f00e4bb20624b7fda93:-1645956255,2ef01b8ea9c75f005899958be00340ef:2057989003</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_youtube_id</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_youtube_id\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;YouTube Id&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_youtube_id&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;2830938edbc75f00abd4f9361d961946&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;YouTube Id&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_youtube_id&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:54:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>257762477</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>855f53c6db0b5f00abd4f9361d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16462238fc10000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.YouTube Id</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>62f01b8e85c75f00f4d9dd0f8b836de4</update_guid>\n<update_guid_history>62f01b8e85c75f00f4d9dd0f8b836de4:257762477,12f01b8efac75f007c261253e4a457bf:257762477</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_a72fc74edbc75f00abd4f9361d9619ed</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a72fc74edbc75f00abd4f9361d9619ed</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus.u_carousel_plus_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_carousel_plus\">2b2f474edbc75f00abd4f9361d9619c7</sys_security_acl><sys_update_name>sys_security_acl_role_a72fc74edbc75f00abd4f9361d9619ed</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:24</sys_updated_on><sys_user_role display_value=\"u_carousel_plus_user\" name=\"u_carousel_plus_user\">366d2a63dbbe1b00abd4f9361d96194f</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-747933995</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>855f53c6db0b5f00abd4f9361d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63090000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus.u_carousel_plus_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>272fc74eb7c75f0064857c408578f4ef</update_guid>\n<update_guid_history>272fc74eb7c75f0064857c408578f4ef:-747933995</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_group</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_group\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Group&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_group&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:14&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;58b0938edbc75f00abd4f9361d96194a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Group&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_group&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:54:14&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>93756477</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>895f53c6db0b5f00abd4f9361d9619b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1646223902c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Group</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>22f01b8e92c75f008ef46f3f7a0343e8</update_guid>\n<update_guid_history>22f01b8e92c75f008ef46f3f7a0343e8:93756477,5af01b8e10c75f00c9d7c852565a60cc:93756477,5c1e8bca3fc75f004b2407836557e96f:1756765681,73092284390f5b000414475a57dcb6e7:93756477,8ff82e44ad0f5b00ed890c65b38d330c:1351031025,d3c6aa04d10f5b001ee40eeaf7467363:93756477</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_772fc74edbc75f00abd4f9361d9619fa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_carousel_plus</description><name>u_carousel_plus</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:25</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>772fc74edbc75f00abd4f9361d9619fa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_772fc74edbc75f00abd4f9361d9619fa</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:25</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-409157885</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>895f53c6db0b5f00abd4f9361d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63b70000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>332fc74ecac75f003c3e87066cb014fc</update_guid>\n<update_guid_history>332fc74ecac75f003c3e87066cb014fc:-409157885</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_680f874edbc75f00abd4f9361d96199b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Carousel Plus</label><live_feed_enabled>false</live_feed_enabled><name>u_carousel_plus</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>680f874edbc75f00abd4f9361d96199b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Carousel Plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_680f874edbc75f00abd4f9361d96199b</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:24</sys_updated_on><update_access>false</update_access><user_role display_value=\"u_carousel_plus_user\" name=\"u_carousel_plus_user\">366d2a63dbbe1b00abd4f9361d96194f</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-821408927</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>8d5f53c6db0b5f00abd4f9361d9619b4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c65aa0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>3b2f0b4e3fc75f00ac8b7de9ab9dd11f</update_guid>\n<update_guid_history>3b2f0b4e3fc75f00ac8b7de9ab9dd11f:-821408927</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Carousel Plus\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Carousel Plus</label><language>en</language><name>u_carousel_plus</name><plural>Carousel Plus</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:25</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3f2f0b4edbc75f00abd4f9361d961905</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Carousel Plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus__en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:25</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-914104454</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>8d5f53c6db0b5f00abd4f9361d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c658c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>772f0b4e3cc75f00735e64216dc5a21e</update_guid>\n<update_guid_history>772f0b4e3cc75f00735e64216dc5a21e:-914104454,83eec34e4cc75f00798a0b240af1ecaf:-1806719030,f8de434ec0c75f0017be28f4272294c6:-914104454,b10e4bca61c75f00f0920a8bc0b4c941:-1806719030,176d2ea392be1b0038253ba0eedac5a8:-914104454</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_url</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_url\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;URL&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_url&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;255&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3dff8b4edbc75f00abd4f9361d961972&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;URL&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_url&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:54:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-691444335</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>c15f53c6db0b5f00abd4f9361d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16462238fa00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.URL</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>2ef01b8e70c75f007a784f6b040843e2</update_guid>\n<update_guid_history>2ef01b8e70c75f007a784f6b040843e2:-691444335,c6f01b8e65c75f00c887b35b1847b2ba:-691444335,ec1e8bcaa8c75f007733e0e2b479db9f:-1655593379,3c95a3f0fec3db00babcfa2fd67099cf:-691444335,ad7563f0adc3db00f86e4ba6a5e8c098:651326988</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_7f2fc74edbc75f00abd4f9361d9619fc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:25</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>7f2fc74edbc75f00abd4f9361d9619fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus.u_carousel_plus_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_carousel_plus\">772fc74edbc75f00abd4f9361d9619fa</sys_security_acl><sys_update_name>sys_security_acl_role_7f2fc74edbc75f00abd4f9361d9619fc</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:25</sys_updated_on><sys_user_role display_value=\"u_carousel_plus_user\" name=\"u_carousel_plus_user\">366d2a63dbbe1b00abd4f9361d96194f</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1240844861</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>c15f53c6db0b5f00abd4f9361d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63d90000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus.u_carousel_plus_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>bb2fc74e96c75f00c287a2c776da36fe</update_guid>\n<update_guid_history>bb2fc74e96c75f00c287a2c776da36fe:1240844861</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c7f193cedbc75f00abd4f9361d961953</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function CarouselPlusController($sce) {\n  var c = this;\n  c.secureUrl = secureUrl;\n  c.stopVideo = stopVideo;\n\n  function secureUrl(id) {\n    var videoUrl = $sce.trustAsResourceUrl('https://www.youtube.com/embed/' + id);\n    return videoUrl;\n  }\n\n  function stopVideo() {\n    var el = angular.element('.youtube');\n    c.data.slides.map(function(slide, index) {\n      if (el[index]) {\n        el[index].src = el[index].src;\n      }\n    });\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.carousel-plus {\n  .fa-stack-2x {\n    font-size: 3.5rem;\n  }\n\n  .carousel-control {\n    align-items: center;\n    display: flex;\n    justify-content: center;\n  }\n\n  .img-slide {\n    margin: auto;\n    width: 100%;\n  }\n\n  .carousel-indicators {\n    height: 25px;\n    bottom: -0.5rem;\n    z-index: 0;\n    li {\n      height: 12px;\n      margin-left: 10px;\n      width: 12px;\n    }\n    .active {\n      margin: 1px 1px 1px 10px;\n    }\n  }\n\n  .container {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-carousel-plus&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Carousel Plus&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"group\",\"section\":\"other\",\"label\":\"Group\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var slides = new CarouselPlus();\n  data.slides = slides.getSlides(options.group);\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 22:00:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7f193cedbc75f00abd4f9361d961953&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Carousel Plus&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c7f193cedbc75f00abd4f9361d961953&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 22:55:16&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"carousel-plus\"&gt;\n  &lt;div id=\"cp\" class=\"carousel slide\" data-ride=\"carousel\" data-interval=\"false\"&gt;\n    &lt;div class=\"carousel-inner\" role=\"listbox\"&gt;\n      &lt;div class=\"item\" ng-repeat=\"slide in data.slides | orderBy: 'order' track by $index\" ng-class=\"{'active': $index === 0}\"&gt;\n        &lt;div ng-if=\"!slide.youTubeId\" class=\"container\"&gt;\n          &lt;a ng-href=\"{{slide.url.length &gt; 0 ? slide.url : ''}}\" target=\"_blank\"&gt;\n            &lt;img ng-src=\"{{::slide.background}}\" class=\"img-slide\" role=\"presentation\"&gt;\n            &lt;div ng-if=\"::slide.caption\" class=\"carousel-caption\"&gt;\n              &lt;p&gt;{{::slide.caption}}&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/a&gt;\n        &lt;/div&gt;\n        &lt;div ng-if=\"::slide.youTubeId\" class=\"container\" style=\"height: {{::slide.height}}\"&gt;\n          &lt;iframe class=\"youtube\" width=\"100%\" height=\"{{::slide.height}}\" ng-src=\"{{c.secureUrl(slide.youTubeId)}}\" frameborder=\"0\"\n            allowfullscreen&gt;&lt;/iframe&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;a ng-if=\"data.slides.length &gt; 1\" class=\"left carousel-control\" data-target=\"#cp\" role=\"button\" data-slide=\"prev\" ng-click=\"c.stopVideo()\"&gt;\n        &lt;span class=\"glyphicon glyphicon-chevron-left\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n        &lt;span class=\"sr-only\"&gt;Previous&lt;/span&gt;\n      &lt;/a&gt;\n      &lt;a ng-if=\"data.slides.length &gt; 1\" class=\"right carousel-control\" data-target=\"#cp\" role=\"button\" data-slide=\"next\" ng-click=\"c.stopVideo()\"&gt;\n        &lt;span class=\"glyphicon glyphicon-chevron-right\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n        &lt;span class=\"sr-only\"&gt;Next&lt;/span&gt;\n      &lt;/a&gt;\n      &lt;ol ng-if=\"data.slides.length &gt; 1\" class=\"carousel-indicators\"&gt;\n        &lt;li data-target=\"#cp\" data-slide-to=\"{{$index}}\" ng-repeat=\"item in data.slides track by $index\" ng-class=\"{'active': $index === 0}\"\n          ng-click=\"c.stopVideo()\"&gt;&lt;/li&gt;\n      &lt;/ol&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>131550396</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>c55f53c6db0b5f00abd4f9361d9619b4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164625b6d9e0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table/>\n<target_name>PE Carousel Plus</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>18fe1f86d40b5f0048e7178b97a9d33e</update_guid>\n<update_guid_history>18fe1f86d40b5f0048e7178b97a9d33e:131550396,7ace9f86810b5f00fa62b53886af4da3:2009296382,159ed786910b5f00b54d324f7e72133e:131550396,61add386a90b5f008181c4dbacd454c8:-456920023,121d5f46c30b5f00bc84eae564c0b3e3:295491177,e0ab5346c00b5f0005d3cf23bb8715e0:-143582911,ed4b9706c70b5f0082494babc04e48f4:2031260581,1bfa9b06060b5f00a66375a37968148d:44886370,fbca1b067c0b5f00a40e0224e9ceb6d9:-736285260,63bad706120b5f003b8233ec9a49b2f3:-162503628,ecbad7064b0b5f00ef496f533e72b5ea:-1341268812,bc0a5fc2690b5f002ae661a51f458727:-736285260,83791fc2110b5f00a3e756bd511e38c0:-340215613,11699bc2320b5f006d996568512c88a1:1909055235,eb175382040b5f00d3ec4a45eb2d6d8d:-340215613,ef071382860b5f009c86022aae159abf:1137374567,67469742c60b5f00fc4365304c366c19:-340215613,faf557421e0b5f009ed74dda0f4283ea:642508998,13151342550b5f0059c033c657f85e33:-1627934257,1c845b02b80b5f00aaa487e91054d0b3:-1071172817,2b541b02690b5f00f17c862aceb84a02:-109395028,9182d7ce8cc75f00f2b04593074eda8e:114586274,0c5217ce71c75f000f7b6437462df675:-773972210</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_carousel_plus_u_caption</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_caption\" table=\"u_carousel_plus\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Caption&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_caption&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;255&lt;/max_length&gt;&lt;name&gt;u_carousel_plus&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 21:54:14&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;a8509f4edbc75f00abd4f9361d961908&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Caption&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_carousel_plus_u_caption&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-07-03 21:54:14&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-410936481</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>c55f53c6db0b5f00abd4f9361d9619b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16462238fe80000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Caption</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>a6f01b8e95c75f0099ccd6b59c7feae5</update_guid>\n<update_guid_history>a6f01b8e95c75f0099ccd6b59c7feae5:-410936481,1af01b8e64c75f004ab13f7521324dc3:-410936481,cc1e8bca78c75f0054d7c291ea439c63:1558627371,a70922846a0f5b000819cc224a8d5ee0:-410936481,f787722b3dbe1b004c3b7758794fbe02:900130593</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_632fc74edbc75f00abd4f9361d9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_carousel_plus</description><name>u_carousel_plus</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>632fc74edbc75f00abd4f9361d9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_632fc74edbc75f00abd4f9361d9619f0</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:24</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1737356839</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>c55f53c6db0b5f00abd4f9361d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c63300000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>u_carousel_plus</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>2f2fc74ec8c75f0020aaa609588601f1</update_guid>\n<update_guid_history>2f2fc74ec8c75f0020aaa609588601f1:-1737356839</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_youtube_id_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_youtube_id\" label=\"YouTube Id\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_youtube_id</element><help/><hint/><label>YouTube Id</label><language>en</language><name>u_carousel_plus</name><plural>YouTube Ids</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>5af01b8edbc75f00abd4f9361d9619d0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>YouTube Id</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_youtube_id_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:54:14</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-103410551</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>c95f53c6db0b5f00abd4f9361d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1646223908d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.YouTube Id</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>e2f01b8eafc75f00e6740248721a7ced</update_guid>\n<update_guid_history>e2f01b8eafc75f00e6740248721a7ced:-103410551</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_carousel_plus_u_group_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_group\" label=\"Group\" language=\"en\" table=\"u_carousel_plus\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_group</element><help/><hint/><label>Group</label><language>en</language><name>u_carousel_plus</name><plural>Groups</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:54:14</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>5ef01b8edbc75f00abd4f9361d9619d1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Group</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_carousel_plus_u_group_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:54:14</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1245315333</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>cd5f53c6db0b5f00abd4f9361d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164622390d60000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table>u_carousel_plus</table>\n<target_name>Carousel Plus.Group</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>22f01b8e0ac75f005dea80b7eb9434f1</update_guid>\n<update_guid_history>22f01b8e0ac75f005dea80b7eb9434f1:1245315333,ea0e4bca7ec75f003c7654bdcfa5de9e:345223533,93c6aa042f0f5b00810e6598d42f606b:1245315333</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_ff2f0b4edbc75f00abd4f9361d96191a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_carousel_plus</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-07-03 21:46:25</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ff2f0b4edbc75f00abd4f9361d96191a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_carousel_plus</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_ff2f0b4edbc75f00abd4f9361d96191a</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-07-03 21:46:25</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>706422514</payload_hash>\n<remote_update_set display_value=\"PE Carousel Plus\">415f53c6db0b5f00abd4f9361d9619b4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-07-03 22:56:57</sys_created_on>\n<sys_id>cd5f53c6db0b5f00abd4f9361d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>164621c654f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-07-03 22:56:57</sys_updated_on>\n<table/>\n<target_name>u_carousel_plus</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>fb2f0b4e2dc75f00f84c5173c1ec451b</update_guid>\n<update_guid_history>fb2f0b4e2dc75f00f84c5173c1ec451b:706422514</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-carousel-plus/script-include/pe-carousel-plus.u-server-script.js",
    "content": "var CarouselPlus = Class.create();\nCarouselPlus.prototype = {\n  initialize: function() {},\n\n  getSlides: function(group) {\n    var grSlide = new GlideRecordSecure('u_carousel_plus');\n    grSlide.addActiveQuery();\n    grSlide.addQuery('u_group', group);\n    grSlide.query();\n    var slides = [];\n    while (grSlide.next()) {\n      slides.push({\n        background: grSlide.u_background.getDisplayValue(),\n        caption: grSlide.u_caption.toString(),\n        height: grSlide.u_height.toString(),\n        order: grSlide.u_order.toString(),\n        url: grSlide.u_url.toString(),\n        youTubeId: grSlide.u_youtube_id.toString()\n      });\n    }\n    return slides;\n  },\n\n  type: 'CarouselPlus'\n};\n"
  },
  {
    "path": "pe-carousel-plus/widget/pe-carousel-plus.u-body-html-template.html",
    "content": "<div class=\"carousel-plus\">\n  <div id=\"cp\" class=\"carousel slide\" data-ride=\"carousel\" data-interval=\"false\">\n    <div class=\"carousel-inner\" role=\"listbox\">\n      <div class=\"item\" ng-repeat=\"slide in data.slides | orderBy: 'order' track by $index\" ng-class=\"{'active': $index === 0}\">\n        <div ng-if=\"!slide.youTubeId\" class=\"container\">\n          <a ng-href=\"{{slide.url.length > 0 ? slide.url : ''}}\" target=\"_blank\">\n            <img ng-src=\"{{::slide.background}}\" class=\"img-slide\" role=\"presentation\">\n            <div ng-if=\"::slide.caption\" class=\"carousel-caption\">\n              <p>{{::slide.caption}}</p>\n            </div>\n          </a>\n        </div>\n        <div ng-if=\"::slide.youTubeId\" class=\"container\" style=\"height: {{::slide.height}}\">\n          <iframe class=\"youtube\" width=\"100%\" height=\"{{::slide.height}}\" ng-src=\"{{c.secureUrl(slide.youTubeId)}}\" frameborder=\"0\"\n            allowfullscreen></iframe>\n        </div>\n      </div>\n      <a ng-if=\"data.slides.length > 1\" class=\"left carousel-control\" data-target=\"#cp\" role=\"button\" data-slide=\"prev\" ng-click=\"c.stopVideo()\">\n        <span class=\"glyphicon glyphicon-chevron-left\" aria-hidden=\"true\"></span>\n        <span class=\"sr-only\">Previous</span>\n      </a>\n      <a ng-if=\"data.slides.length > 1\" class=\"right carousel-control\" data-target=\"#cp\" role=\"button\" data-slide=\"next\" ng-click=\"c.stopVideo()\">\n        <span class=\"glyphicon glyphicon-chevron-right\" aria-hidden=\"true\"></span>\n        <span class=\"sr-only\">Next</span>\n      </a>\n      <ol ng-if=\"data.slides.length > 1\" class=\"carousel-indicators\">\n        <li data-target=\"#cp\" data-slide-to=\"{{$index}}\" ng-repeat=\"item in data.slides track by $index\" ng-class=\"{'active': $index === 0}\"\n          ng-click=\"c.stopVideo()\"></li>\n      </ol>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-carousel-plus/widget/pe-carousel-plus.u-client-script.js",
    "content": "function CarouselPlusController($sce) {\n  var c = this;\n  c.secureUrl = secureUrl;\n  c.stopVideo = stopVideo;\n\n  function secureUrl(id) {\n    var videoUrl = $sce.trustAsResourceUrl('https://www.youtube.com/embed/' + id);\n    return videoUrl;\n  }\n\n  function stopVideo() {\n    var el = angular.element('.youtube');\n    c.data.slides.map(function(slide, index) {\n      if (el[index]) {\n        el[index].src = el[index].src;\n      }\n    });\n  }\n}\n"
  },
  {
    "path": "pe-carousel-plus/widget/pe-carousel-plus.u-css.scss",
    "content": ".carousel-plus {\n  .fa-stack-2x {\n    font-size: 3.5rem;\n  }\n\n  .carousel-control {\n    align-items: center;\n    display: flex;\n    justify-content: center;\n  }\n\n  .img-slide {\n    margin: auto;\n    width: 100%;\n  }\n\n  .carousel-indicators {\n    height: 25px;\n    bottom: -0.5rem;\n    z-index: 0;\n    li {\n      height: 12px;\n      margin-left: 10px;\n      width: 12px;\n    }\n    .active {\n      margin: 1px 1px 1px 10px;\n    }\n  }\n\n  .container {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n"
  },
  {
    "path": "pe-carousel-plus/widget/pe-carousel-plus.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"group\",\n    \"section\": \"other\",\n    \"label\": \"Group\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "pe-carousel-plus/widget/pe-carousel-plus.u-server-script.js",
    "content": "(function() {\n  var slides = new CarouselPlus();\n  data.slides = slides.getSlides(options.group);\n})();\n"
  },
  {
    "path": "pe-circle-of-destiny/Readme.md",
    "content": "# Circle of Destiny\n\n## Description\n\nThe Circle of Destiny widget allows you to create an element on your page which consists of a large central circle, surrounded by smaller circles.\n\nAll circles can have the following traits:\n\n- Icon OR Image\n- Label\n- Hyperlink\n\nThe outer circles can have the following decorations added to them:\n\n- Completion status (checkbox)\n- Count\n\n\n## Screenshots\n![Circle of Destiny Widget](../images/pe-circle-of-destiny.png \"Circle of Destiny Widget\")\n\n## Additional Information/Notes\n\nIf embedding the widget programatically, input needs to be supplied in a JSON format.<br/>\n\nExample:\n```\n{\n\tlabel: 'test',\n\ticon: 'fa fa-users',\n\turl: 'https://www.gmail.com',\n\tcolor: 'pink',\n\tcount: 30,\n\titems: [{\n\t\tlabel: 'Phones',\n\t\turl: 'https://www.google.com',\n\t\ticon: 'fa fa-users',\n\t\tcompleted: true\n\t},{\n\t\tlabel: 'Laptops',\n\t\turl: 'https://www.apple.com',\n\t\ticon: 'fa fa-book',\n\t\tcompleted: false,\n\t\tcolor: 'blue',\n\t\tcount: 12\n\t},{\n\t\tlabel: 'Tablets',\n\t\turl: 'https://www.servicenow.com',\n\t\ticon: 'fa fa-calendar',\n\t\tcompleted: true\n\t}]\n}\n```\nUsing the above JSON would result in the below circle of destiny:\n\n![Circle of Destiny Widget](../images/pe-circle-of-destiny-3.png \"Circle of Destiny Widget\")\n\n---\n## Installation\n---\n\nDownload and install update set **[pe-circle-of-destiny-update-set.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-circle-of-destiny/pe-circle-of-destiny-update-set.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nThere are a number of configuration options available.\n\n- Radius: the radius of the circle on which the outer elements are placed.\n- Start: the degree from the bottom middle at which the first element is placed.\n- End: the degree from the bottom middle at which the last element is placed.\n- Full: whether the circle is a complete circle. If it's a complete circle, we don't want to place an element on the last spot (as this would overlap the first).\n\nTo configure the elements in the circle of destiny (i.e. the surrounding circles) you need to click the hamburger menu in the options dialog and choose \"Open in Platform\".\n\n![Circle of Destiny Widget](../images/pe-circle-of-destiny-2.png \"Circle of Destiny Widget\")\n\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n### SN Plugin Support\n> None\n### SN System Tables\n* u_pe_cod_elements\n\n---\n## Sample Data and Data Structures\n---\n> ???\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-cod-border-color: grey !default;`<br/>\n`$pe-cod-inner-bg: #3a3f51 !default;`<br/>\n`$pe-cod-inner-color: white !default;`<br/>\n`$pe-cod-inner-label: black !default;`<br/>\n`$pe-cod-inner-font-size: 70px !default;`<br/>\n`$pe-cod-inner-icon-size: 150px !default;`<br/>\n`$pe-cod-outer-bg: #3a3f51 !default;`<br/>\n`$pe-cod-outer-color: white !default;`<br/>\n`$pe-cod-outer-label: black !default;`<br/>\n`$pe-cod-outer-font-size: 30px !default;`<br/>\n`$pe-cod-outer-icon-size: 80px !default;`<br/>\n`$pe-cod-count-color: white !default;`<br/>\n`$pe-cod-count-bg: red !default;`<br/>\n`$pe-cod-count-border: white !default;`<br/>\n`$pe-cod-success-color: green !default;`<br/>\n`$pe-cod-success-bg: white !default;`<br/>"
  },
  {
    "path": "pe-circle-of-destiny/pe-circle-of-destiny-update-set.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-05-05 07:37:17\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Circle of Destiny (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-05-05 07:00:00</release_date>\n<remote_sys_id>eb5217da4f9a7200ab4450af0310c766</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>23ba6ca94feef20022f40ccf0310c751</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1ef69b5e4f9a7200ab4450af0310c755</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function(spUtil) {\n\tvar c = this;\n\tspUtil.get(\"pe-circle-of-destiny\", c.data.config).then(function(response) {\n\t\t\tc.cod = response;\n\t});\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Circle of Destiny test widget&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tdata.config = {\n\t\tlabel: 'test',\n\t\ticon: 'fa fa-users',\n\t\turl: 'https://www.gmail.com',\n\t\tcolor: 'pink',\n\t\tcount: 30,\n\t\tradius: 400,\n\t\tstart: 90,\n\t\tend: 270,\n\t\tfull: false,\n\t\titems: [{\n      label: 'Phones',\n      url: 'https://www.google.com',\n      icon: 'fa fa-users',\n      completed: true\n    },\n    {\n      label: 'Laptops',\n      url: 'https://www.apple.com',\n      icon: 'fa fa-book',\n      completed: false,\n\t\t\tcolor: 'blue',\n\t\t\tcount: 12\n    },\n    {\n      label: 'Tablets',\n      url: 'https://www.servicenow.com',\n      icon: 'fa fa-calendar',\n      completed: true\n    }]\n\t};\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-25 17:50:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1ef69b5e4f9a7200ab4450af0310c755&lt;/sys_id&gt;&lt;sys_mod_count&gt;41&lt;/sys_mod_count&gt;&lt;sys_name&gt;Circle of Destiny test widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1ef69b5e4f9a7200ab4450af0310c755&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 07:23:15&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;sp-widget widget=\"c.cod\"&gt;&lt;/sp-widget&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>23ba6ca94feef20022f40ccf0310c754</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>Circle of Destiny test widget</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_color</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_color\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Color&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_color&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;64&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:42:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2b98f07c4fa6b20022f40ccf0310c7c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Color&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_color&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 00:42:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>23baaca94feef20022f40ccf0310c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Color</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_url_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_url\" label=\"HREF / URL\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_url</element><help/><hint/><label>HREF / URL</label><language>en</language><name>u_pe_cod_elements</name><plural>HREF / URLs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:31:17</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3c5868304fa6b20022f40ccf0310c70c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HREF / URL</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_url_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:31:17</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>23baaca94feef20022f40ccf0310c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.HREF / URL</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d0c270784fa6b20022f40ccf0310c72a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-on-repeat-complete.module.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[angular.module('PeOnRepeatComplete', [])\n    .directive('peOnRepeatComplete', function ($timeout) {\n\n        /**\n         * @param attr.peOnRepeatComplete\n         */\n        function link (scope, elem, attr) {\n            // inspiration: http://bit.ly/2piMWrN\n            if (scope.$last === true) {\n                $timeout(function () {\n                 scope.$eval(attr.peOnRepeatComplete);\n                });\n            }\n        }\n\n        return {\n            link: link\n        };\n    });]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:17:32&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d0c270784fa6b20022f40ccf0310c72a&lt;/sys_id&gt;&lt;sys_mod_count&gt;8&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-on-repeat-complete.module.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d0c270784fa6b20022f40ccf0310c72a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-04 23:40:17&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>23baaca94feef20022f40ccf0310c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>pe-on-repeat-complete.module.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9d4374784fa6b20022f40ccf0310c7c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PeScale</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:19:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9d4374784fa6b20022f40ccf0310c7c1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeScale</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-scale.module.js\">cff270784fa6b20022f40ccf0310c72d</sys_ui_script><sys_update_name>sp_js_include_9d4374784fa6b20022f40ccf0310c7c1</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:19:23</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>27ba6ca94feef20022f40ccf0310c753</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeScale</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_count_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_count_script\" label=\"Count Script\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_count_script</element><help/><hint/><label>Count Script</label><language>en</language><name>u_pe_cod_elements</name><plural>Count Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 01:35:30</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>20c441344fe6b20022f40ccf0310c7ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Count Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_count_script_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 01:35:30</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>27baaca94feef20022f40ccf0310c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Count Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_4105ec7c4f66b20022f40ccf0310c793</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"4105ec7c4f66b20022f40ccf0310c793\" sys_domain=\"global\" table=\"u_pe_sp_instance_cod\" version=\"3\"><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>u_pe_sp_instance_cod</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:16:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>4105ec7c4f66b20022f40ccf0310c793</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_sp_instance_cod</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_form_sections_4105ec7c4f66b20022f40ccf0310c793</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:16:50</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>27baaca94feef20022f40ccf0310c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_af0d2cb04fa6b20022f40ccf0310c702</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;peCodCircle&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function peCodCircle() {\n\t\n\tvar template = '&lt;pe-conditional-link pecl-href=\"{{item.url}}\"&gt;&lt;div class=\"pe-cod-circle\" ng-style=\"::dynStyle\"&gt;' +\n        '&lt;div class=\"pe-cod-icon\"&gt;&lt;i class=\"{{::item.icon}}\" aria-hidden=\"true\" ng-if=\"!item.image\"&gt;&lt;/i&gt;&lt;/div&gt;' +\n        '&lt;div class=\"pe-cod-status\" ng-if=\"::item.completed == 1\" ng-class=\"{success: item.completed == 1}\"&gt;' +\n        '&lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/div&gt;' +\n        '&lt;div class=\"pe-cod-count\" ng-if=\"::item.count\"&gt;{{::item.count}}&lt;/div&gt;' +\n        '&lt;div class=\"pe-cod-label\"&gt;{{::item.label}}&lt;/div&gt;&lt;/div&gt;&lt;/pe-conditional-link&gt;';\n\t\n\tfunction link (scope, elem, attr) {\n\n\t\tif (scope.item === undefined) {\n\t\t\tscope.item = scope.main;\n\t\t}\n\n\t\tscope.dynStyle = {};\n\n\t\tif (scope.item.image != undefined) {\n\t\t\tscope.dynStyle['background-image'] = 'url(' + scope.item.image + ')';\n\t\t}\n\n\t\tif (scope.item.color != undefined) {\n\t\t\tscope.dynStyle['background-color'] = scope.item.color;\n\t\t} else if (scope.main.color != undefined) {\n\t\t\tscope.dynStyle['background-color'] = scope.main.color;\n\t\t}\t \n\t}\n\t\n\treturn {\n\t\trestrict: 'E',\n        scope: {\n\t\t\t\t\t\tmain: '=peccMain',\n            item: '=?peccItem'\n        },\n\t\ttemplate: template,\n        link: link\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:52:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;af0d2cb04fa6b20022f40ccf0310c702&lt;/sys_id&gt;&lt;sys_mod_count&gt;65&lt;/sys_mod_count&gt;&lt;sys_name&gt;peCodCircle&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_af0d2cb04fa6b20022f40ccf0310c702&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 06:50:24&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2bba6ca94feef20022f40ccf0310c752</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>peCodCircle</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_count_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_count_script\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Count Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_count_script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 01:35:30&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;79b441344fe6b20022f40ccf0310c74a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Count Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_count_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 01:35:30&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2bba6ca94feef20022f40ccf0310c755</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Count Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_color_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_color\" label=\"Color\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_color</element><help/><hint/><label>Color</label><language>en</language><name>u_pe_cod_elements</name><plural>Colors</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:44:09</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>5809f87c4fa6b20022f40ccf0310c716</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Color</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_color_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:44:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2bbaaca94feef20022f40ccf0310c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Color</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_radius_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_radius\" label=\"Radius (Degrees)\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_radius</element><help/><hint/><label>Radius (Degrees)</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Radius (Degrees)</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:23:18</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b634f0b84fa6b20022f40ccf0310c7b2</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Radius (Degrees)</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_radius_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:51:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2bbaaca94feef20022f40ccf0310c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Radius (Degrees)</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_0bcde0344fa6b20022f40ccf0310c762</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"peCodCircle\">af0d2cb04fa6b20022f40ccf0310c702</sp_angular_provider><sp_widget display_value=\"Circle of Destiny\">1732e8f84f66b20022f40ccf0310c773</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:55:11</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0bcde0344fa6b20022f40ccf0310c762</sys_id><sys_mod_count>0</sys_mod_count><sys_name>peCodCircle.Circle of Destiny</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_0bcde0344fa6b20022f40ccf0310c762</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:55:11</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2fba6ca94feef20022f40ccf0310c751</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>peCodCircle.Circle of Destiny</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_color</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_color\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Color&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_color&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;64&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:44:09&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e9f8b87c4fa6b20022f40ccf0310c7e6&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Color&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_color&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 00:44:09&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2fba6ca94feef20022f40ccf0310c754</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Color</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_image</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_image\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Image (URL)&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_image&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;256&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:03:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0c9f60b44fa6b20022f40ccf0310c7d5&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Image (URL)&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_image&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 06:51:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2fbaaca94feef20022f40ccf0310c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Image (URL)</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_full_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_full\" label=\"Full\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_full</element><help/><hint/><label>Full</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Fulls</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:24:27</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>6f74b8b84fa6b20022f40ccf0310c79b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Full</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_full_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:24:27</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2fbaaca94feef20022f40ccf0310c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Full</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_72c3a07c4f66b20022f40ccf0310c794</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_cod_elements</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:11:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>72c3a07c4f66b20022f40ccf0310c794</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_cod_elements</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_72c3a07c4f66b20022f40ccf0310c794</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:11:29</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>2fbaaca94feef20022f40ccf0310c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>u_pe_cod_elements</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_edd626bc4fa6b200ab4450af0310c74d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>PeConditionalLink</module><name>PeConditionalLink</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 08:44:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>edd626bc4fa6b200ab4450af0310c74d</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PeConditionalLink</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_edd626bc4fa6b200ab4450af0310c74d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-04 23:41:30</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>63ba6ca94feef20022f40ccf0310c753</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeConditionalLink</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_count_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_count\" label=\"Count\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_count</element><help/><hint/><label>Count</label><language>en</language><name>u_pe_cod_elements</name><plural>Counts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:43:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c8b018a54faef20022f40ccf0310c757</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Count</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_count_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:43:27</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>63baaca94feef20022f40ccf0310c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Count</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_client_6b51c1b04fe6b20022f40ccf0310c791</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_script_client\"&gt;&lt;sys_script_client action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;applies_extended&gt;false&lt;/applies_extended&gt;&lt;condition/&gt;&lt;description/&gt;&lt;field&gt;active&lt;/field&gt;&lt;global&gt;true&lt;/global&gt;&lt;messages/&gt;&lt;name&gt;Show \"Open in platform\" direction&lt;/name&gt;&lt;order/&gt;&lt;script&gt;&lt;![CDATA[function onLoad() {\n   alert('To configure the elements in this Circle of Destiny, please use the \"Open in platform\" link from the hamburger menu on this form.');\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_client&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 01:20:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;6b51c1b04fe6b20022f40ccf0310c791&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show \"Open in platform\" direction&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_client_6b51c1b04fe6b20022f40ccf0310c791&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 01:24:53&lt;/sys_updated_on&gt;&lt;table&gt;u_pe_sp_instance_cod&lt;/table&gt;&lt;type&gt;onLoad&lt;/type&gt;&lt;ui_type&gt;1&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_script_client&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>63baaca94feef20022f40ccf0310c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Show \"Open in platform\" direction</target_name>\n<type>Client Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_f24aa8a94feef20022f40ccf0310c733</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PeOnRepeatComplete\">84b230784fa6b20022f40ccf0310c72c</sp_dependency><sp_widget display_value=\"Circle of Destiny\">1732e8f84f66b20022f40ccf0310c773</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 07:35:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>f24aa8a94feef20022f40ccf0310c733</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeOnRepeatComplete.Circle of Destiny</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_f24aa8a94feef20022f40ccf0310c733</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 07:35:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>67ba6ca94feef20022f40ccf0310c752</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeOnRepeatComplete.Circle of Destiny</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_count</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_count\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Count&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_count&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-05 05:43:27&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;df9094a54faef20022f40ccf0310c71b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Count&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_count&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 05:43:27&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>67ba6ca94feef20022f40ccf0310c755</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Count</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_start</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_start\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Start (Degrees)&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;130&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_start&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:23:46&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0c44f4b84fa6b20022f40ccf0310c718&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Start (Degrees)&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_start&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 06:51:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>67baaca94feef20022f40ccf0310c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Start (Degrees)</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_label_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_label\" label=\"Label\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_label</element><help/><hint/><label>Label</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Labels</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:27:59</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ec97a0304fa6b20022f40ccf0310c764</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_label_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:27:59</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>67baaca94feef20022f40ccf0310c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Label</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_e36ae8a94feef20022f40ccf0310c7bc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PeScale\">5192fc384fa6b20022f40ccf0310c784</sp_dependency><sp_js_include display_value=\"PeScale\">9d4374784fa6b20022f40ccf0310c7c1</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 07:35:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e36ae8a94feef20022f40ccf0310c7bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeScale.PeScale</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_e36ae8a94feef20022f40ccf0310c7bc</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 07:35:55</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6bba6ca94feef20022f40ccf0310c751</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeScale.PeScale</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:11:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;eec3207c4f66b20022f40ccf0310c726&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_cod_elements&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:11:28&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6bba6ca94feef20022f40ccf0310c754</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_icon</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_icon\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Icon&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_icon&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;128&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:02:51&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2e7f24b44fa6b20022f40ccf0310c7e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Icon&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_icon&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 00:02:51&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6bbaaca94feef20022f40ccf0310c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Icon</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_end_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_end\" label=\"End (Degrees)\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_end</element><help/><hint/><label>End (Degrees)</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>End (Degrees)</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:24:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a66478b84fa6b20022f40ccf0310c728</sys_id><sys_mod_count>1</sys_mod_count><sys_name>End (Degrees)</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_end_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:51:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6bbaaca94feef20022f40ccf0310c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.End (Degrees)</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_c505ec7c4f66b20022f40ccf0310c795</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"c505ec7c4f66b20022f40ccf0310c795\" sys_domain=\"global\" table=\"u_pe_sp_instance_cod\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_label</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>610312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>e10312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_icon</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>650312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>url</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>e50312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_image</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>690312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_color</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>e90312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>6d0312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_radius</element><position>7</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>ed0312b04faab20022f40ccf0310c7ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_start</element><position>8</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>610352b04faab20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_end</element><position>9</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>e10352b04faab20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_full</element><position>10</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>650352b04faab20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>11</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>e50352b04faab20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>12M.u_pe_sp_instance_cod.u_pe_cod_elements.u_instance</element><position>12</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 07:17:27</sys_created_on><sys_id>690352b04faab20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_sp_instance_cod\" sys_domain=\"global\" view=\"Default view\">c505ec7c4f66b20022f40ccf0310c795</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 07:17:27</sys_updated_on><sys_user/><type>list</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_pe_sp_instance_cod</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:16:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c505ec7c4f66b20022f40ccf0310c795</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_sp_instance_cod</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_c505ec7c4f66b20022f40ccf0310c795</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:16:50</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6bbaaca94feef20022f40ccf0310c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1732e8f84f66b20022f40ccf0310c773</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CoDCtrl ($scope, $timeout, $element) {\n\tvar c = this;\n\t\n\tif (c.data.embedOpt != undefined) {\n\t\t// This is an embedded widget\n\t\tc.items = c.data.embedOpt.items;\n\t\t\n\t\tc.main = {\n\t\t\tlabel: c.data.embedOpt.label,\n\t\t\ticon: c.data.embedOpt.icon,\n\t\t\turl: c.data.embedOpt.url,\n\t\t\tcolor: c.data.embedOpt.color,\n\t\t\timage: c.data.embedOpt.image\n\t\t};\n\t\t\n\t\tc.options.u_radius = c.data.embedOpt.radius;\n\t\tc.options.u_start = c.data.embedOpt.start;\n\t\tc.options.u_end = c.data.embedOpt.end;\n\t\tc.options.u_full = c.data.embedOpt.full;\n\t\t\n\t} else {\n\t\t// This is a widget instance\n\t\tc.items = c.data.items;\n\t\t\n\t\tc.main = {\n\t\t\tlabel: c.options.u_label,\n\t\t\ticon: c.options.u_icon,\n\t\t\turl: c.options.url,\n\t\t\tcolor: c.options.u_color,\n\t\t\timage: c.options.u_image\n\t\t};\n\t\t\n\t}\n\t\n\t// The message that will be broadcast once the circles have been positioned.\n\tc.broadcast = 'peCoDComplete';\n\t\n\t// Set defaults\n\tvar radius = c.options.u_radius != undefined ? parseInt(c.options.u_radius) : 320,\n\t\t\tstart = c.options.u_start != undefined ? parseInt(c.options.u_start) : 0,\n\t\t\tend = c.options.u_end != undefined ? parseInt(c.options.u_end) : 360,\n\t\t\tfull = c.options.u_full != undefined ? (c.options.u_full) : true;\n\n\t\n\t// resize the element based on radius (so that all the objects fit inside)\n  $element.find('.pe-cod').width((radius * 2 + 180) + 'px');\n  $element.find('.pe-cod').height((radius * 2 + 250) +  'px');\n\t\n\tc.onRepeatComplete = function() {\n\t\t\n\t\t// Get elements &amp; details\n\t\tvar target = $element.find('.pe-cod-surrounded'),\n\t\t\t\telements = $element.find('.pe-cod-surrounding'),\n\t\t\t\tcount = elements.length,\n\t\t\t\tincrement = 360;\n\n\t\t// Calculate degrees between each element\n\t\tif (count &gt; 1) {\n\t\t\tincrement = full ? ((end - start) / count) : ((end - start) / (count - 1));\n\t\t}\n\n\t\t// Where is the middle of the target element\n\t\tvar middle = {\n\t\t\tleft: target.position().left + (target.width() / 2) + parseInt(target.css('margin-left')),\n\t\t\ttop: target.position().top + (target.height() / 2) + parseInt(target.css('margin-top'))\n\t\t};\n\n\t\t// Loop through each element\n\t\telements.each(function (index) {\n\n\t\t\t// Determine the positioning of the element\n\t\t\tvar angleDeg = (start + (index * increment)),\n\t\t\t\t\tangleRad = angleDeg * Math.PI / 180,\n\t\t\t\t\ttop = Math.cos(angleRad) * radius + middle.top,\n\t\t\t\t\tleft = Math.sin(angleRad) * radius + middle.left;\n\n\t\t\t// Apply the positioning to the element\n\t\t\t$(this).css({\n\t\t\t\tleft: left + 'px',\n\t\t\t\ttop: top + 'px'\n\t\t\t});\n\n\t\t});\n\t\t\n\t\t// Broadcast the message so that the element can be scaled down to fit.\n\t\t$timeout(function () {\n\t\t\tscope.$broadcast(c.broadcast);\n\t\t});\n\t\t\n\t};\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-cod-border-color: grey !default;\n\n$pe-cod-inner-bg: #3a3f51 !default;\n$pe-cod-inner-color: white !default;\n$pe-cod-inner-label: black !default;\n$pe-cod-inner-font-size: 70px !default;\n$pe-cod-inner-icon-size: 150px !default;\n\n$pe-cod-outer-bg: #3a3f51 !default;\n$pe-cod-outer-color: white !default;\n$pe-cod-outer-label: black !default;\n$pe-cod-outer-font-size: 30px !default;\n$pe-cod-outer-icon-size: 80px !default;\n\n$pe-cod-count-color: white !default;\n$pe-cod-count-bg: red !default;\n$pe-cod-count-border: white !default;\n\n$pe-cod-success-color: green !default;\n$pe-cod-success-bg: white !default;\n\n.pe-cod-container {\n  position: relative;\n  display: block;\n  margin: 0 auto;\n  overflow: hidden;\n\n  a:hover {\n\ttext-decoration: none;\n\tcursor: pointer;\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n\n  li {\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n}\n\n.pe-cod {\n  width: 100%;\n  height: 100%;\n  position: relative;\n  margin: 0 auto;\n\n  a {\n    text-decoration: none;\n  }\n}\n\n.pe-cod-surrounded, .pe-cod-surrounding {\n  display: inline-block;\n  position: absolute;\n}\n\n.pe-cod-surrounded {\n  top: 50%;\n  left: 50%;\n  margin-top: -165px;\n  margin-left: -165px;\n\n  .pe-cod-circle {\n    height: 330px;\n    width: 330px;\n    line-height: 330px;\n    font-size: $pe-cod-inner-icon-size;\n    background-color: $pe-cod-inner-bg;\n    color: $pe-cod-inner-color;\n  }\n\n  .pe-cod-icon {\n    height: 330px;\n  }\n\n  .pe-cod-label {\n    font-size: $pe-cod-inner-font-size;\n    line-height: 75px;\n    margin-top: 20px;\n  }\n}\n\n.pe-cod-surrounding {\n  top: 0;\n  left: 0;\n  margin-top: -90px;\n  margin-left: -90px;\n\n  .pe-cod-circle {\n    height: 180px;\n    width: 180px;\n    line-height: 180px;\n    margin-bottom: 40px;\n    font-size: $pe-cod-outer-icon-size;\n    background-color: $pe-cod-outer-bg;\n    color: $pe-cod-outer-color;\n  }\n\n  .pe-cod-icon {\n    height: 180px;\n  }\n\n  .pe-cod-label {\n    font-size: $pe-cod-outer-font-size;\n    line-height: 23px;\n    margin-top: 10px;\n  }\n}\n\n.pe-cod-circle {\n  border-radius: 50%;\n  text-align: center;\n  background-size: cover;\n  border: 1px solid $pe-cod-border-color;\n}\n\n.pe-cod-status, .pe-cod-count {\n  position: absolute;\n  top: 0;\n  right: 0;\n  line-height: 45px;\n  font-size: 20px;\n  height: 50px;\n  width: 50px;\n  border-radius: 50%;\n  text-align: center;\n  vertical-align: middle;\n}\n\n.pe-cod-status {\n  font-size: 50px;\n  line-height: 40px;\n  border: 0;\n\n  &amp;amp;.success {\n    background-color: $pe-cod-success-bg;\n    color: $pe-cod-success-color;\n  }\n}\n\n.pe-cod-count {\n  box-sizing: border-box;\n  border: 3px solid $pe-cod-count-border;\n  background-color: $pe-cod-count-bg;\n  color: $pe-cod-count-color;\n}\n\n.pe-cod-label {\n  font-weight: bold;\n  z-index: 100;\n  position: relative;\n  margin-left: -100%;\n  margin-right: -100%;\n  text-align: center;\n  color: black;\n}&lt;/css&gt;&lt;data_table&gt;u_pe_sp_instance_cod&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;u_label,u_icon,url,u_image,u_color,u_radius,u_start,u_end,u_full&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-circle-of-destiny&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Circle of Destiny&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar instanceGr = $sp.getInstanceRecord();\n\t\n\t// Check if this is an embedded widget\n\tif (instanceGr.getValue('sys_id') == null) {\n\t\tdata.embedOpt = input;\n\t\treturn;\n\t}\n\t\n\t// Get all the elements\n\tvar gr = new GlideRecord('u_pe_cod_elements');\n\tgr.addQuery('u_instance', instanceGr.getValue('sys_id'));\n\tgr.query();\n\t\n\tdata.items = [];\n\t\n\t// Loop through the element records and build the items\n\twhile(gr.next()) {\n\n\t\tvar item = {\n\t\t\tlabel: gr.getValue('u_label'),\n\t\t\ticon: gr.getValue('u_icon'),\n\t\t\turl: gr.getValue('u_url'),\n\t\t\tcompleted: gr.getValue('u_completed'),\n\t\t\tcolor: gr.getValue('u_color'),\n\t\t\tcount: gr.getValue('u_count')\n\t\t};\n\t\t\n\t\t// Evaluate the scripts for each element if necessary.\n\t\tif (gr.getValue('u_count_script') != null || gr.getValue('u_completed_script') != null) {\n\t\t\tvar evaluator = new GlideScopedEvaluator();\n\t\t\t\n\t\t\tif (gr.getValue('u_count_script') != null) {\n\t\t\t\titem.count = evaluator.evaluateScript(gr, 'u_count_script');\n\t\t\t} else {\n\t\t\t\titem.completed = evaluator.evaluateScript(gr, 'u_completed_script');\n\t\t\t}\n\t\t}\n\t\n\t\tdata.items.push(item);\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:04:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1732e8f84f66b20022f40ccf0310c773&lt;/sys_id&gt;&lt;sys_mod_count&gt;254&lt;/sys_mod_count&gt;&lt;sys_name&gt;Circle of Destiny&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1732e8f84f66b20022f40ccf0310c773&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 07:22:14&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-cod-container\"&gt;\n  &lt;div class=\"pe-cod\"\n       pe-scale-to-parent=\"peCoDComplete\"&gt;\n    &lt;div class=\"pe-cod-inner\"&gt;\n      &lt;pe-cod-circle pecc-main=\"c.main\"\n                     class=\"pe-cod-surrounded\"&gt;&lt;/pe-cod-circle&gt;\n      &lt;ul&gt;\n        &lt;li ng-repeat=\"item in c.items track by $index\"\n            pe-on-repeat-complete=\"c.onRepeatComplete()\"&gt;\n          &lt;pe-cod-circle pecc-item=\"item\"\n                         pecc-main=\"c.main\"\n                         class=\"pe-cod-surrounding\"&gt;&lt;/pe-cod-circle&gt;\n        &lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6fba6ca94feef20022f40ccf0310c753</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>Circle of Destiny</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:12:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;8204e07c4f66b20022f40ccf0310c7ec&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_sp_instance_cod&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:12:31&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6fbaaca94feef20022f40ccf0310c799</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_label_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_label\" label=\"Label\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_label</element><help/><hint/><label>Label</label><language>en</language><name>u_pe_cod_elements</name><plural>Labels</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:16:19</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>f9e4ac7c4f66b20022f40ccf0310c70b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_label_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:16:19</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6fbaaca94feef20022f40ccf0310c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Label</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_cff270784fa6b20022f40ccf0310c72d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-scale.module.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PeScale = angular.module('PeScale', []);\n\nPeScale.directive('peScaleToParent', function(PeScaleService) {\n\n    /**\n     *\n     * @param attr.peScaleToParent\n     */\n    function link (scope, elem, attr) {\n        PeScaleService.addElement(elem);\n\n        if (attr.peScaleToParent != undefined) {\n            scope.$on(attr.peScaleToParent, function () {\n                PeScaleService.scaleElementsToFit();\n            });\n        }\n    }\n\n\treturn {\n\t\trestrict: 'A',\n\t\tlink: link\n\t};\n});\n\nPeScale.service('PeScaleService', function($window) {\n\tvar listening = false;\n\tvar elements = [];\n\n    /**\n     * Adds input to the array of elements to be scaled when the window is resized.\n     * @param toAdd the jQuery object which should be added\n     */\n\tfunction addElement (toAdd) {\n        toAdd.css({ 'transform-origin': 'top left' });\n\n\t\telements.push({\n            elem: toAdd,\n            original: { height: null, width: null }\n        });\n\n        listen();\n\t}\n\n    /**\n     * Binds the handler to the window resize event, one time only.\n     */\n    function listen() {\n\t    // Ensure the handler is only bound to the event once.\n        if (listening === false) {\n            angular.element($window).resize(scaleElementsToFit);\n            listening = true;\n        }\n    }\n\n    /**\n     * Scales the input element to fit within it's parent.\n     * @param toScale a jQuery element to be scaled down to fit within it's parent.\n     */\n    function scaleThis(toScale) {\n\n\t    // Reset back to full scale\n        toScale.elem.css({ transform: \"scale(1)\" });\n\n        // Ensure we've captured the original height &amp; width\n        if (!toScale.original.height &amp;&amp; !toScale.original.width) {\n            toScale.original.height = toScale.elem.height();\n            toScale.original.width = toScale.elem.width();\n        }\n\n        // Find out the scale of the element compared to it's parent\n        var scale = toScale.elem.parent().width() / toScale.elem.outerWidth();\n\n        if (scale &gt; 1) {\n            scale = 1;\n        }\n\n        toScale.elem.css({\n            transform: \"scale(\" + scale + \")\"\n        });\n\n        /* And reduce the height of the parent by the same amount as a css scaled element still takes up the same\n         amount of space as it's original size. */\n        var newHeight = toScale.original.height * scale;\n        toScale.elem.parent().height(newHeight);\n    }\n\n    /**\n     * Handler that will be called when the window is resized\n     */\n    function scaleElementsToFit() {\n        for (var i = 0; i &lt; elements.length; i++) {\n            scaleThis(elements[i]);\n        }\n    }\n\n    return {\n        scaleElementsToFit: scaleElementsToFit,\n        addElement: addElement\n    };\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:18:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cff270784fa6b20022f40ccf0310c72d&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-scale.module.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_cff270784fa6b20022f40ccf0310c72d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 02:50:55&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>6fbaaca94feef20022f40ccf0310c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>pe-scale.module.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_ba4aa8a94feef20022f40ccf0310c730</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PeConditionalLink\">edd626bc4fa6b200ab4450af0310c74d</sp_dependency><sp_widget display_value=\"Circle of Destiny\">1732e8f84f66b20022f40ccf0310c773</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 07:35:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba4aa8a94feef20022f40ccf0310c730</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeConditionalLink.Circle of Destiny</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_ba4aa8a94feef20022f40ccf0310c730</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 07:35:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a3ba6ca94feef20022f40ccf0310c752</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeConditionalLink.Circle of Destiny</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_completed_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_completed_script\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Completed Script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_completed_script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:48:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ffc978bc4fa6b20022f40ccf0310c7be&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Completed Script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_completed_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 00:48:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a3ba6ca94feef20022f40ccf0310c755</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Completed Script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_radius</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_radius\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Radius (Degrees)&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;320&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_radius&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:23:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e91434b84fa6b20022f40ccf0310c7ed&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Radius (Degrees)&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_radius&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 06:51:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a3baaca94feef20022f40ccf0310c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Radius (Degrees)</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_image_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_image\" label=\"Image (URL)\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_image</element><help/><hint/><label>Image (URL)</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Image (URL)</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:03:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>86afe4b44fa6b20022f40ccf0310c711</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Image (URL)</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_image_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:51:00</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a3baaca94feef20022f40ccf0310c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Image (URL)</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_9d7ae8a94feef20022f40ccf0310c7e8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PeConditionalLink\">edd626bc4fa6b200ab4450af0310c74d</sp_dependency><sp_js_include display_value=\"PeConditionalLink\">c0e666bc4fa6b200ab4450af0310c72f</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 07:36:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9d7ae8a94feef20022f40ccf0310c7e8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeConditionalLink.PeConditionalLink</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_9d7ae8a94feef20022f40ccf0310c7e8</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 07:36:02</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a7ba6ca94feef20022f40ccf0310c751</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeConditionalLink.PeConditionalLink</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_fd93ec3c4f66b20022f40ccf0310c730</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Circle of Destiny Elements</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_cod_elements</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:11:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>fd93ec3c4f66b20022f40ccf0310c730</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Circle of Destiny Elements</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_fd93ec3c4f66b20022f40ccf0310c730</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:11:28</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a7ba6ca94feef20022f40ccf0310c754</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_full</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_full\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Full&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;false&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_full&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:24:27&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4c74b8b84fa6b20022f40ccf0310c72c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Full&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_full&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-03 00:24:27&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a7baaca94feef20022f40ccf0310c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Full</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_color_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_color\" label=\"Color\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_color</element><help/><hint/><label>Color</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Colors</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:42:43</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>9ba8347c4fa6b20022f40ccf0310c782</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Color</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_color_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:42:43</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a7baaca94feef20022f40ccf0310c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Color</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_06e8787c4fa6b20022f40ccf0310c70e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"06e8787c4fa6b20022f40ccf0310c70e\" sys_domain=\"global\" table=\"u_pe_cod_elements\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>90d6d4a94faef20022f40ccf0310c741</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><text>Decorations</text><type display_value=\"Section Separator\">443e806c0fd30000b12e6903cfe01281</type></sys_ui_annotation><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>94d6d4a94faef20022f40ccf0310c741</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><text>• The \"completed\" checkbox takes priority over the value calculated by the \"completed script\".&lt;br /&gt;&#13;\n• The \"count\" field takes priority over the value calculated by the \"count script\".&lt;br /&gt;&#13;\n• If both \"completed\" and \"count\" values can be determined, then the count will be shown.</text><type display_value=\"Info Box Blue\">753f88a80f930000b12e6903cfe01206</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>58d6d4a94faef20022f40ccf0310c741</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_label</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>d8d6d4a94faef20022f40ccf0310c741</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_icon</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>5cd6d4a94faef20022f40ccf0310c741</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_color</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>dcd6d4a94faef20022f40ccf0310c741</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>50d6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_instance</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>d0d6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_url</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>54d6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>7</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>d4d6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>90d6d4a94faef20022f40ccf0310c741</element><position>8</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>58d6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>94d6d4a94faef20022f40ccf0310c741</element><position>9</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>d8d6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_completed</element><position>10</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>5cd6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_completed_script</element><position>11</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>dcd6d4a94faef20022f40ccf0310c742</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_count</element><position>12</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>50d6d4a94faef20022f40ccf0310c743</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_count_script</element><position>13</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 06:10:14</sys_created_on><sys_id>d0d6d4a94faef20022f40ccf0310c743</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_cod_elements\" sys_domain=\"global\" view=\"Default view\">06e8787c4fa6b20022f40ccf0310c70e</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:10:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_pe_cod_elements</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:43:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>06e8787c4fa6b20022f40ccf0310c70e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_cod_elements</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_06e8787c4fa6b20022f40ccf0310c70e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:43:43</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>a7baaca94feef20022f40ccf0310c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c0e666bc4fa6b200ab4450af0310c72f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PeConditionalLink</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 08:44:40</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c0e666bc4fa6b200ab4450af0310c72f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeConditionalLink</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-conditional-link.module.js\">ecf666bc4fa6b200ab4450af0310c7fb</sys_ui_script><sys_update_name>sp_js_include_c0e666bc4fa6b200ab4450af0310c72f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 08:44:40</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>abba6ca94feef20022f40ccf0310c753</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeConditionalLink</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_url</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_url\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;HREF / URL&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_url&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;255&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:31:16&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d21868304fa6b20022f40ccf0310c783&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;HREF / URL&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_url&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:31:16&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>abbaaca94feef20022f40ccf0310c799</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.HREF / URL</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_instance_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_instance\" label=\"Instance\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_instance</element><help/><hint/><label>Instance</label><language>en</language><name>u_pe_cod_elements</name><plural>Instances</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:16:19</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>a5e4e87c4f66b20022f40ccf0310c72e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_instance_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:16:19</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>abbaaca94feef20022f40ccf0310c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Instance</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_u_pe_cod_elements_u_pe_sp_instance_cod_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"u_pe_sp_instance_cod\" relationship=\"\" sys_domain=\"global\" table=\"u_pe_cod_elements\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_label</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>e8d098a54faef20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_icon</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>60d098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_color</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>e0d098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_url</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>64d098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_completed</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>e4d098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_completed_script</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>68d098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_count</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>e8d098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_count_script</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"u_pe_sp_instance_cod\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">60d098a54faef20022f40ccf0310c700</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_id>6cd098a54faef20022f40ccf0310c701</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>u_pe_cod_elements</name><parent>u_pe_sp_instance_cod</parent><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 05:44:02</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>60d098a54faef20022f40ccf0310c700</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_cod_elements</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_list_u_pe_cod_elements_u_pe_sp_instance_cod_null</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 05:44:02</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>abbaaca94feef20022f40ccf0310c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Instance of Circle of Destiny.Circle of Destiny Elements</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_84b230784fa6b20022f40ccf0310c72c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>PeOnRepeatComplete</module><name>PeOnRepeatComplete</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:16:37</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>84b230784fa6b20022f40ccf0310c72c</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PeOnRepeatComplete</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_84b230784fa6b20022f40ccf0310c72c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-04 23:39:33</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>afba6ca94feef20022f40ccf0310c752</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeOnRepeatComplete</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_instance</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_instance\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Instance&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_instance&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_pe_sp_instance_cod\"&gt;u_pe_sp_instance_cod&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:16:19&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4fa42c7c4f66b20022f40ccf0310c768&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Instance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_instance&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:16:19&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>afba6ca94feef20022f40ccf0310c755</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Instance</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_completed_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_completed_script\" label=\"Completed Script\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_completed_script</element><help/><hint/><label>Completed Script</label><language>en</language><name>u_pe_cod_elements</name><plural>Completed Scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:48:05</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3de9b8bc4fa6b20022f40ccf0310c777</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Completed Script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_completed_script_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:48:05</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>afbaaca94feef20022f40ccf0310c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Completed Script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Instance of Circle of Destiny\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Instance of Circle of Destiny</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Instances of Circle of Destiny</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:12:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8604e07c4f66b20022f40ccf0310c7f3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Instance of Circle of Destiny</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:12:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>afbaaca94feef20022f40ccf0310c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_327a2ca94feef20022f40ccf0310c747</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PeOnRepeatComplete\">84b230784fa6b20022f40ccf0310c72c</sp_dependency><sp_js_include display_value=\"PeOnRepeatComplete\">a96334784fa6b20022f40ccf0310c77d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 07:36:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>327a2ca94feef20022f40ccf0310c747</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeOnRepeatComplete.PeOnRepeatComplete</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_327a2ca94feef20022f40ccf0310c747</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 07:36:09</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e3ba6ca94feef20022f40ccf0310c751</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeOnRepeatComplete.PeOnRepeatComplete</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_6ed3247c4f66b20022f40ccf0310c751</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Instance of Circle of Destiny</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_sp_instance_cod</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">52d90bef8561320092c05cf45eb450a4</super_class><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:12:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6ed3247c4f66b20022f40ccf0310c751</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Circle of Destiny</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_6ed3247c4f66b20022f40ccf0310c751</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:12:31</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e3ba6ca94feef20022f40ccf0310c754</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_end</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_end\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;End (Degrees)&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;230&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_end&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 00:24:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b25438b84fa6b20022f40ccf0310c7e6&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;End (Degrees)&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_end&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 06:51:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e3baaca94feef20022f40ccf0310c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.End (Degrees)</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Circle of Destiny Elements\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Circle of Destiny Elements</label><language>en</language><name>u_pe_cod_elements</name><plural>Circle of Destiny Elements</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:11:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3ec3a07c4f66b20022f40ccf0310c781</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Circle of Destiny Elements</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:11:28</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e3baaca94feef20022f40ccf0310c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_ecf666bc4fa6b200ab4450af0310c7fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-conditional-link.module.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[angular.module('PeConditionalLink', [])\n    .directive('peConditionalLink', function () {\n\n        var template = '&lt;a href=\"{{href}}\" ng-if=\"href\" ng-transclude&gt;&lt;/a&gt;&lt;div ng-if=\"!href\" ng-transclude&gt;&lt;/div&gt;';\n\n        /**\n         * @param attr.peclHref\n         */\n        function link (scope, elem, attr) {\n            scope.href =  attr.peclHref;\n        }\n\n        return {\n            restrict: 'E',\n            template: template,\n            transclude: true,\n            link: link\n        };\n    });]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-03 08:44:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ecf666bc4fa6b200ab4450af0310c7fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-conditional-link.module.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_ecf666bc4fa6b200ab4450af0310c7fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 06:47:35&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e3baaca94feef20022f40ccf0310c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>pe-conditional-link.module.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_a96334784fa6b20022f40ccf0310c77d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PeOnRepeatComplete</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:19:49</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a96334784fa6b20022f40ccf0310c77d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PeOnRepeatComplete</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-on-repeat-finish.module.js\">d0c270784fa6b20022f40ccf0310c72a</sys_ui_script><sys_update_name>sp_js_include_a96334784fa6b20022f40ccf0310c77d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-04 23:39:51</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e7ba6ca94feef20022f40ccf0310c753</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeOnRepeatComplete</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_label</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_label\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Label&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_label&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:16:19&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1db4e87c4f66b20022f40ccf0310c728&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Label&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_label&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:16:19&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e7baaca94feef20022f40ccf0310c799</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Label</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_icon_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_icon\" label=\"Icon\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_icon</element><help/><hint/><label>Icon</label><language>en</language><name>u_pe_cod_elements</name><plural>Icons</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:32:04</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>18886c304fa6b20022f40ccf0310c71e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Icon</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_icon_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:32:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e7baaca94feef20022f40ccf0310c79c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Icon</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_u_pe_cod_elements_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"u_pe_cod_elements\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_instance</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>cc517bd14f6ef20022f40ccf0310c766</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_label</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>40517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_icon</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>c0517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_color</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>44517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_url</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>c4517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_completed</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>48517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_completed_script</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>c8517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_count_script</element><list_id display_value=\"u_pe_cod_elements\" element=\"NULL\" name=\"u_pe_cod_elements\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">88517bd14f6ef20022f40ccf0310c766</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_id>4c517bd14f6ef20022f40ccf0310c767</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>u_pe_cod_elements</name><parent/><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 03:26:22</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>88517bd14f6ef20022f40ccf0310c766</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_cod_elements</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_list_u_pe_cod_elements_null</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 03:26:22</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>e7baaca94feef20022f40ccf0310c79f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_5192fc384fa6b20022f40ccf0310c784</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>PeScale</module><name>PeScale</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:16:24</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5192fc384fa6b20022f40ccf0310c784</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeScale</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_5192fc384fa6b20022f40ccf0310c784</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:16:24</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>ebba6ca94feef20022f40ccf0310c752</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeScale</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_icon</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_icon\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Icon&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_icon&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;128&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:32:04&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f2582c304fa6b20022f40ccf0310c75a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Icon&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_icon&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:32:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>ebba6ca94feef20022f40ccf0310c755</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Icon</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_cod_elements_u_completed_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_completed\" label=\"Completed\" language=\"en\" table=\"u_pe_cod_elements\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_completed</element><help/><hint/><label>Completed</label><language>en</language><name>u_pe_cod_elements</name><plural>Completed</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:32:33</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>27982c304fa6b20022f40ccf0310c77e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Completed</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_cod_elements_u_completed_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:32:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>ebbaaca94feef20022f40ccf0310c79b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Completed</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_start_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_start\" label=\"Start (Degrees)\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_start</element><help/><hint/><label>Start (Degrees)</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Start (Degrees)</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:23:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7154f4b84fa6b20022f40ccf0310c7aa</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Start (Degrees)</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_start_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 06:51:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>ebbaaca94feef20022f40ccf0310c79e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Start (Degrees)</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_b24aa8a94feef20022f40ccf0310c735</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PeScale\">5192fc384fa6b20022f40ccf0310c784</sp_dependency><sp_widget display_value=\"Circle of Destiny\">1732e8f84f66b20022f40ccf0310c773</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-05 07:35:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b24aa8a94feef20022f40ccf0310c735</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PeScale.Circle of Destiny</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_b24aa8a94feef20022f40ccf0310c735</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-05 07:35:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>efba6ca94feef20022f40ccf0310c751</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>PeScale.Circle of Destiny</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_cod_elements_u_completed</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_completed\" table=\"u_pe_cod_elements\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Completed&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_completed&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_cod_elements&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:32:33&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a988ec304fa6b20022f40ccf0310c728&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Completed&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_cod_elements_u_completed&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-02 23:32:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>efba6ca94feef20022f40ccf0310c754</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_cod_elements</table>\n<target_name>Circle of Destiny Elements.Completed</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_sp_instance_cod_u_label</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_label\" table=\"u_pe_sp_instance_cod\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Label&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_label&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;512&lt;/max_length&gt;&lt;name&gt;u_pe_sp_instance_cod&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-05-02 23:27:58&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e067a0304fa6b20022f40ccf0310c73b&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Label&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_sp_instance_cod_u_label&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-05-05 03:26:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>efbaaca94feef20022f40ccf0310c79a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Label</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_sp_instance_cod_u_icon_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_icon\" label=\"Icon\" language=\"en\" table=\"u_pe_sp_instance_cod\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_icon</element><help/><hint/><label>Icon</label><language>en</language><name>u_pe_sp_instance_cod</name><plural>Icons</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-03 00:02:51</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>d38f24b44fa6b20022f40ccf0310c73e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Icon</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_sp_instance_cod_u_icon_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-03 00:02:51</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>efbaaca94feef20022f40ccf0310c79d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table>u_pe_sp_instance_cod</table>\n<target_name>Instance of Circle of Destiny.Icon</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_8e04647c4f66b20022f40ccf0310c76e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_sp_instance_cod</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-05-02 23:12:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8e04647c4f66b20022f40ccf0310c76e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_sp_instance_cod</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_8e04647c4f66b20022f40ccf0310c76e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-05-02 23:12:32</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Circle of Destiny (Platform Experience)\">23ba6ca94feef20022f40ccf0310c751</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-05-05 07:37:17</sys_created_on>\n<sys_id>efbaaca94feef20022f40ccf0310c7a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-05-05 07:37:17</sys_updated_on>\n<table/>\n<target_name>u_pe_sp_instance_cod</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-circle-of-destiny/src/cod.html",
    "content": "<!doctype html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"utf-8\">\n    <link rel=\"stylesheet\" href=\"style.css?v=1.0\">\n    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css\">\n    <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto\">\n    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\"\n          integrity=\"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u\" crossorigin=\"anonymous\">\n</head>\n<body ng-app=\"CoDTest\">\n<div ng-controller=\"CoDTestCtrl\" class=\"container-fluid\">\n    <div class=\"row\">\n        <pe-circle-of-destiny id=\"CoD1\"\n                              pe-cod-items=\"items\"\n                              pe-cod-main=\"main\"\n                              class=\"col-sm-12 col-lg-6\">\n                              <!--pe-cod-radius=\"320\"-->\n                              <!--pe-cod-start=\"130\"-->\n                              <!--pe-cod-end=\"230\"-->\n                              <!--pe-cod-full=\"false\"-->\n        </pe-circle-of-destiny>\n        <pe-circle-of-destiny id=\"CoD2\"\n                              pe-cod-items=\"items\"\n                              pe-cod-main=\"main2\"\n                              pe-cod-radius=\"300\"\n                              pe-cod-start=\"110\"\n                              pe-cod-end=\"250\"\n                              pe-cod-full=\"true\"\n                              class=\"col-xs-12 col-sm-6\">\n        </pe-circle-of-destiny>\n        <pe-circle-of-destiny id=\"CoD3\"\n                              pe-cod-items=\"items\"\n                              pe-cod-main=\"main\"\n                              pe-cod-radius=\"400\"\n                              pe-cod-start=\"110\"\n                              pe-cod-end=\"250\"\n                              pe-cod-full=\"false\"\n                              class=\"col-xs-12 col-sm-6 col-lg-6\">\n        </pe-circle-of-destiny>\n        <pe-circle-of-destiny id=\"CoD4\"\n                              pe-cod-items=\"items2\"\n                              pe-cod-main=\"main2\"\n                              pe-cod-radius=\"500\"\n                              class=\"col-xs-12 col-sm-6 col-lg-6\">\n        </pe-circle-of-destiny>\n    </div>\n</div>\n\n<script\n  src=\"https://code.jquery.com/jquery-3.2.1.js\"\n  integrity=\"sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=\"\n  crossorigin=\"anonymous\"></script>\n<script\n  src=\"https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js\"\n  crossorigin=\"anonymous\"></script>\n<!--[if lt IE 9]>\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js\"></script>\n<![endif]-->\n<script src=\"script.js\"></script>\n\n<script>\nvar CoD = angular.module('CoDTest', ['PeCircleOfDestiny']);\n\nCoD.controller('CoDTestCtrl', function CoDCtrl($scope) {\n\n  $scope.main = {\n      label: 'Technology Devices',\n    icon: 'fa fa-users',\n    url: 'https://www.dylanlindgren.com'\n  };\n  $scope.items = [\n    {\n        label: 'Phones',\n      url: 'https://www.google.com',\n      icon: 'fa fa-users',\n      completed: true\n    },\n    {\n        label: 'Laptops',\n      url: 'https://www.apple.com',\n      icon: 'fa fa-book',\n      completed: false,\n        color: 'blue',\n        count: 12\n    },\n    {\n        label: 'Tablets',\n      url: 'https://www.servicenow.com',\n      icon: 'fa fa-calendar',\n      completed: true\n    },\n      {\n          label: 'Phones',\n          url: 'https://www.google.com',\n          icon: 'fa fa-users',\n          completed: true\n      },\n      {\n          label: 'Laptops',\n          url: 'https://www.apple.com',\n          icon: 'fa fa-book',\n          completed: false,\n          color: 'blue',\n          count: 12\n      },\n      {\n          label: 'Tablets',\n          url: 'https://www.servicenow.com',\n          icon: 'fa fa-calendar',\n          completed: true\n      },\n      {\n          label: 'Phones',\n          url: 'https://www.google.com',\n          icon: 'fa fa-users',\n          completed: true\n      },\n      {\n          label: 'Laptops',\n          url: 'https://www.apple.com',\n          icon: 'fa fa-book',\n          completed: false,\n          color: 'blue',\n          count: 12\n      },\n      {\n          label: 'Tablets',\n          url: 'https://www.servicenow.com',\n          icon: 'fa fa-calendar',\n          completed: true\n      },\n      {\n          label: 'Phones',\n          url: 'https://www.google.com',\n          icon: 'fa fa-users',\n          completed: true\n      },\n      {\n          label: 'Laptops',\n          url: 'https://www.apple.com',\n          icon: 'fa fa-book',\n          completed: false,\n          color: 'blue',\n          count: 12\n      },\n      {\n          label: 'Tablets',\n          url: 'https://www.servicenow.com',\n          icon: 'fa fa-calendar',\n          completed: true\n      }\n  ];\n\n    $scope.main2 = {\n        label: 'Hello, Dylan!',\n        icon: 'fa fa-user-o',\n        image: 'https://image.freepik.com/free-vector/white-modern-car-graphic_1053-315.jpg'\n    };\n    $scope.items2 = [\n        {\n            label: 'Phones',\n            url: 'https://www.google.com',\n            icon: 'fa fa-users',\n            image: 'https://image.freepik.com/free-vector/white-modern-car-graphic_1053-315.jpg',\n            completed: true,\n            color: 'red'\n        },\n        {\n            label: 'Laptops',\n            url: 'https://www.apple.com',\n            icon: 'fa fa-book',\n            completed: false\n        },\n        {\n            label: 'Tablets',\n            url: 'https://www.servicenow.com',\n            icon: 'fa fa-calendar',\n            completed: true\n        },\n        {\n            label: 'Phones',\n            url: 'https://www.google.com',\n            icon: 'fa fa-users',\n            image: 'https://image.freepik.com/free-vector/white-modern-car-graphic_1053-315.jpg',\n            completed: true\n        },\n        {\n            label: 'Laptops',\n            url: 'https://www.apple.com',\n            icon: 'fa fa-book',\n            completed: false\n        },\n        {\n            label: 'Tablets',\n            url: 'https://www.servicenow.com',\n            icon: 'fa fa-calendar',\n            completed: true\n        }\n    ];\n});\n</script>\n</body>\n</html>\n"
  },
  {
    "path": "pe-circle-of-destiny/src/script.js",
    "content": "var PeCoD = angular.module('PeCircleOfDestiny', ['PeScale', 'PeOnRepeatComplete', 'PeConditionalLink']);\n\nPeCoD.config(['$sceProvider',function($sceProvider){\n    $sceProvider.enabled(false);\n}]);\n\n\n\n/**\n * @desc a highly-configurable \"Circle of Destiny\" directive\n * @example <pe-circle-of-destiny pe-cod-items=\"items\" pe-cod-main=\"main\"></pe-circle-of-destiny>\n */\nPeCoD.directive('peCircleOfDestiny', function ($timeout) {\n\n    var template = '<div class=\"pe-cod-container\"><div class=\"pe-cod\" pe-scale-to-parent=\"peCoDComplete\">' +\n        '<div class=\"pe-cod-inner\">' +\n        '<pe-cod-circle pecc-item=\"main\" class=\"pe-cod-surrounded\"></pe-cod-circle>' +\n        '<ul><li ng-repeat=\"item in items track by $index\" pe-on-repeat-complete=\"onRepeatComplete()\">' +\n        '<pe-cod-circle pecc-item=\"item\" pecc-main=\"main\" class=\"pe-cod-surrounding\"></pe-cod-circle>' +\n        '</li></ul></div></div></div>';\n\n\t/**\n\t * @param scope\n\t * @param elem\n\t * @param attr\n\t * @param attr.peCodRadius\n\t * @param attr.peCodStart\n\t * @param attr.peCodEnd\n\t * @param attr.peCodFull\n     * @param attr.peScaleToParent\n\t */\n\tfunction link (scope, elem, attr) {\n\t\t// Set defaults\n\t\tvar radius = attr.peCodRadius != undefined ? parseInt(attr.peCodRadius) : 320,\n\t\t\tstart = attr.peCodStart != undefined ? parseInt(attr.peCodStart) : 0,\n\t\t\tend = attr.peCodEnd != undefined ? parseInt(attr.peCodEnd) : 360,\n\t\t\tfull = attr.peCodFull != undefined ? (attr.peCodFull == 'true') : true;\n\n        // resize the element based on radius (so that all the objects fit inside)\n        elem.find('.pe-cod').width((radius * 2 + 180) + 'px');\n        elem.find('.pe-cod').height((radius * 2 + 250) +  'px');\n\n        scope.onRepeatComplete = function() {\n\n            // Get elements & details\n            var target = elem.find('.pe-cod-surrounded'),\n                elements = elem.find('.pe-cod-surrounding'),\n                count = elements.length,\n                increment = 360,\n                middle = {\n                    left: null,\n                    right: null\n                };\n\n            // Calculate degrees between each element\n            if (count > 1) {\n                increment = full ? ((end - start) / count) : ((end - start) / (count - 1));\n            }\n\n            // Where is the middle of the target element\n            middle = {\n                left: target.position().left + (target.width() / 2) + parseInt(target.css('margin-left')),\n                top: target.position().top + (target.height() / 2) + parseInt(target.css('margin-top'))\n            };\n\n            // Loop through each element\n            elements.each(function (index) {\n\n                // Determine the positioning of the element\n                var angleDeg = (start + (index * increment)),\n                    angleRad = angleDeg * Math.PI / 180,\n                    top = Math.cos(angleRad) * radius + middle.top,\n                    left = Math.sin(angleRad) * radius + middle.left;\n\n                // Apply the positioning to the element\n                $(this).css({\n                    left: left + 'px',\n                    top: top + 'px'\n                });\n            });\n\n            $timeout(function () {\n                scope.$broadcast('peCoDComplete');\n            });\n\n        };\n\t}\n\n\n\treturn {\n\t\trestrict: 'E',\n\t\tscope: {\n\t\t\titems: '=peCodItems',\n\t\t\tmain: '=peCodMain'\n\t\t},\n\t\ttemplate: template,\n\t\tlink: link\n\t}\n});\n\n/**\n * @desc a highly-configurable \"Circle of Destiny\" directive\n * @example <pe-circle-of-destiny pe-cod-items=\"items\" pe-cod-main=\"main\"></pe-circle-of-destiny>\n */\nPeCoD.directive('peCodCircle', function () {\n\n    var template = '<pe-conditional-link pecl-href=\"{{::item.url}}\"><div class=\"pe-cod-circle\" ng-style=\"::dynStyle\">' +\n        '<div class=\"pe-cod-icon\"><i class=\"{{::item.icon}}\" aria-hidden=\"true\" ng-if=\"::!item.image\"></i></div>' +\n        '<div class=\"pe-cod-status\" ng-if=\"::item.completed\" ng-class=\"{success: item.completed}\">' +\n        '<i class=\"fa fa-check-circle\" aria-hidden=\"true\"></i></div>' +\n        '<div class=\"pe-cod-count\" ng-if=\"::item.count\">{{::item.count}}</div>' +\n        '<div class=\"pe-cod-label\">{{::item.label}}</div></div></pe-conditional-link>';\n\n    /**\n     *\n     * @param scope.peccItem\n     * @param scope.peccMain\n     */\n    function link (scope) {\n\n        if (scope.peccItem === undefined) {\n            scope.item = scope.peccMain;\n        } else {\n            scope.item = scope.peccItem;\n        }\n\n        scope.dynStyle = {};\n\n        if (scope.item.image != undefined) {\n            scope.dynStyle['background-image'] = 'url(' + scope.item.image + ')';\n        }\n\n        if (scope.item.color != undefined) {\n            scope.dynStyle['background-color'] = scope.item.color;\n        }\n    }\n\n\treturn {\n\t\trestrict: 'E',\n        scope: {\n            peccMain: '=',\n            peccItem: '='\n        },\n\t\ttemplate: template,\n        link: link\n\t}\n});\n\n\n\n\n\n\n\nvar PeScale = angular.module('PeScale', []);\n\nPeScale.directive('peScaleToParent', function(PeScaleService) {\n\n    /**\n     *\n     * @param attr.peScaleToParent\n     */\n    function link (scope, elem, attr) {\n        PeScaleService.addElement(elem);\n\n        if (attr.peScaleToParent != undefined) {\n            scope.$on(attr.peScaleToParent, function () {\n                PeScaleService.scaleElementsToFit();\n            });\n        }\n    }\n\n\treturn {\n\t\trestrict: 'A',\n\t\tlink: link\n\t};\n});\n\nPeScale.service('PeScaleService', function($window) {\n\tvar listening = false;\n\tvar elements = [];\n\n    /**\n     * Adds input to the array of elements to be scaled when the window is resized.\n     * @param toAdd the jQuery object which should be added\n     */\n\tfunction addElement (toAdd) {\n        toAdd.css({ 'transform-origin': 'top left' });\n\n\t\telements.push({\n            elem: toAdd,\n            original: { height: null, width: null }\n        });\n\n        listen();\n\t}\n\n    /**\n     * Binds the handler to the window resize event, one time only.\n     */\n    function listen() {\n\t    // Ensure the handler is only bound to the event once.\n        if (listening === false) {\n            angular.element($window).resize(scaleElementsToFit);\n            listening = true;\n        }\n    }\n\n    /**\n     * Scales the input element to fit within it's parent.\n     * @param toScale a jQuery element to be scaled down to fit within it's parent.\n     */\n    function scaleThis(toScale) {\n\n\t    // Reset back to full scale\n        toScale.elem.css({ transform: \"scale(1)\" });\n\n        // Ensure we've captured the original height & width\n        if (!toScale.original.height && !toScale.original.width) {\n            toScale.original.height = toScale.elem.height();\n            toScale.original.width = toScale.elem.width();\n        }\n\n        // Find out the scale of the element compared to it's parent\n        var scale = toScale.elem.parent().width() / toScale.elem.width();\n\n        if (scale > 1) {\n            scale = 1;\n        }\n\n        toScale.elem.css({\n            transform: \"scale(\" + scale + \")\"\n        });\n\n        /* And reduce the height of the parent by the same amount as a css scaled element still takes up the same\n         amount of space as it's original size. */\n        var newHeight = toScale.original.height * scale;\n        toScale.elem.parent().height(newHeight);\n    }\n\n    /**\n     * Handler that will be called when the window is resized\n     */\n    function scaleElementsToFit() {\n        for (var i = 0; i < elements.length; i++) {\n            scaleThis(elements[i]);\n        }\n    }\n\n    return {\n        scaleElementsToFit: scaleElementsToFit,\n        addElement: addElement\n    };\n});\n\n\nangular.module('PeOnRepeatComplete', [])\n    .directive('peOnRepeatComplete', function ($timeout) {\n\n        /**\n         * @param attr.peOnRepeatComplete\n         */\n        function link (scope, elem, attr) {\n            // inspiration: http://bit.ly/2piMWrN\n            if (scope.$last === true) {\n                $timeout(function () {\n                 scope.$eval(attr.peOnRepeatComplete);\n                });\n            }\n        }\n\n        return {\n            link: link\n        };\n    });\n\nangular.module('PeConditionalLink', [])\n    .directive('peConditionalLink', function () {\n\n        var template = '<a href=\"{{href}}\" ng-if=\"href\" ng-transclude></a><div ng-if=\"!href\" ng-transclude></div>';\n\n        /**\n         * @param attr.peclHref\n         */\n        function link (scope, elem, attr) {\n            scope.href = attr.peclHref;\n        }\n\n        return {\n            restrict: 'E',\n            template: template,\n            transclude: true,\n            link: link\n        };\n    });"
  },
  {
    "path": "pe-circle-of-destiny/src/style.css",
    "content": "* {\n  font-family: 'Roboto', sans-serif; }\n\nhtml {\n  height: 100%; }\n\nbody {\n  min-height: 100%; }\n\n.pe-cod-container {\n  background-color: rgba(255, 0, 0, 0.1); }\n\n.pe-cod-container {\n  position: relative;\n  display: block;\n  margin: 0 auto;\n  overflow: hidden; }\n  .pe-cod-container a:hover {\n    text-decoration: none;\n    cursor: pointer; }\n  .pe-cod-container ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    border: 0; }\n  .pe-cod-container li {\n    padding: 0;\n    margin: 0;\n    border: 0; }\n\n.pe-cod {\n  width: 100%;\n  height: 100%;\n  position: relative;\n  margin: 0 auto; }\n  .pe-cod a {\n    text-decoration: none; }\n\n.pe-cod-surrounded, .pe-cod-surrounding {\n  display: inline-block;\n  position: absolute; }\n\n.pe-cod-surrounded {\n  top: 50%;\n  left: 50%;\n  margin-top: -165px;\n  margin-left: -165px; }\n  .pe-cod-surrounded .pe-cod-circle {\n    height: 330px;\n    width: 330px;\n    line-height: 330px;\n    font-size: 150px;\n    background-color: #3a3f51;\n    color: white; }\n  .pe-cod-surrounded .pe-cod-icon {\n    height: 330px; }\n  .pe-cod-surrounded .pe-cod-label {\n    font-size: 70px;\n    line-height: 75px;\n    margin-top: 20px; }\n\n.pe-cod-surrounding {\n  top: 0;\n  left: 0;\n  margin-top: -90px;\n  margin-left: -90px; }\n  .pe-cod-surrounding .pe-cod-circle {\n    height: 180px;\n    width: 180px;\n    line-height: 180px;\n    margin-bottom: 40px;\n    font-size: 80px;\n    background-color: #3a3f51;\n    color: white; }\n  .pe-cod-surrounding .pe-cod-icon {\n    height: 180px; }\n  .pe-cod-surrounding .pe-cod-label {\n    font-size: 30px;\n    line-height: 23px;\n    margin-top: 10px; }\n\n.pe-cod-circle {\n  border-radius: 50%;\n  text-align: center;\n  background-size: cover;\n  border: 1px solid grey; }\n\n.pe-cod-status, .pe-cod-count {\n  position: absolute;\n  top: 0;\n  right: 0;\n  line-height: 45px;\n  font-size: 20px;\n  height: 50px;\n  width: 50px;\n  border-radius: 50%;\n  text-align: center;\n  vertical-align: middle; }\n\n.pe-cod-status {\n  font-size: 50px;\n  line-height: 40px;\n  border: 0; }\n  .pe-cod-status.success {\n    background-color: white;\n    color: green; }\n\n.pe-cod-count {\n  box-sizing: border-box;\n  border: 3px solid white;\n  background-color: red;\n  color: white; }\n\n.pe-cod-label {\n  font-weight: bold;\n  z-index: 100;\n  position: relative;\n  margin-left: -100%;\n  margin-right: -100%;\n  text-align: center;\n  color: black; }\n\n/*# sourceMappingURL=style.css.map */\n"
  },
  {
    "path": "pe-circle-of-destiny/src/style.css.old",
    "content": "* {\n\tfont-family: 'Roboto', sans-serif;\n}\n\nhtml {\n    height: 100%;\n}\nbody {\n  min-height: 100%;\n  background-color: green;\n}\n\npe-circle-of-destiny {\n\tposition: relative;\n\tdisplay: block;\n\tmargin: 0 auto;\n    overflow: hidden;\n}\n\npe-circle-of-destiny a:hover {\n\ttext-decoration: none;\n\tcursor: pointer;\n}\n\n.pe-cod {\n\twidth: 100%;\n\theight: 100%;\n\tposition: relative;\n}\n\n.pe-cod a {\n\ttext-decoration: none;\n}\n\n.pe-cod-surrounded, .pe-cod-surrounding {\n\tdisplay: inline-block;\n\tposition: absolute;\n}\n\n.pe-cod-surrounded {\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-top: -165px;\n\tmargin-left: -165px;\n}\n\n.pe-cod-surrounding {\n\ttop: 0px;\n\tleft: 0px;\n\tmargin-top: -90px;\n\tmargin-left: -90px;\n}\n\n.pe-cod-circle {\n\tborder-radius: 50%;\n\ttext-align: center;\n\tbackground-size: cover;\n\tborder: 1px solid #ccc;\n}\n\n.pe-cod-surrounding .pe-cod-circle {\n\theight: 180px;\n\twidth: 180px;\n\tbackground-color: red;\n\tline-height: 180px;\n\tfont-size: 100px;\n\tcolor: white;\n}\n\n.pe-cod-surrounding .pe-cod-icon {\n\theight: 180px;\n}\n\n.pe-cod-surrounded .pe-cod-circle {\n\theight: 330px;\n\twidth: 330px;\n\tbackground-color: green;\n\tfont-size: 230px;\n\tline-height: 360px;\n\tcolor: white;\n}\n\n.pe-cod-surrounded .pe-cod-icon {\n\theight: 330px;\n}\n\n.pe-cod-status {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tline-height: 50px;\n\tfont-size: 50px;\n\theight: 50px;\n\twidth: 50px;\n\tbackground-color: white;\n\tborder-radius: 50%;\n\tcolor: green;\n    text-align: center;\n}\n\n.pe-cod-count {\n    position: absolute;\n    top: 0;\n    right: 0;\n    line-height: 46px;\n    font-size: 20px;\n    height: 50px;\n    width: 50px;\n    background-color: green;\n    border-radius: 50%;\n    color: green;\n    text-align: center;\n    border: 3px solid white;\n    box-sizing: border-box;\n    color: white;\n}\n\n.pe-cod-label {\n\tcolor: black;\n\tfont-weight: bold;\n\tz-index: 100;\n\tposition: relative;\n\tmargin-left: -100%;\n\tmargin-right: -100%;\n\ttext-align: center;\n}\n\n.pe-cod-surrounded .pe-cod-label {\n\tfont-size: 70px;\n\tline-height: 75px;\n\tmargin-top: 20px;\n}\n\n.pe-cod-surrounding .pe-cod-label {\n\tfont-size: 20px;\n\tline-height: 23px;\n\tmargin-top: 10px;\n}"
  },
  {
    "path": "pe-circle-of-destiny/src/style.scss",
    "content": "* {\n  font-family: 'Roboto', sans-serif;\n}\n\nhtml {\n  height: 100%;\n}\nbody {\n  min-height: 100%;\n}\n\n.pe-cod-container {\n  background-color: rgba(255,0,0,0.1);\n}\n\n$pe-cod-border-color: grey !default;\n\n$pe-cod-inner-bg: #3a3f51 !default;\n$pe-cod-inner-color: white !default;\n$pe-cod-inner-label: black !default;\n$pe-cod-inner-font-size: 70px !default;\n$pe-cod-inner-icon-size: 150px !default;\n\n$pe-cod-outer-bg: #3a3f51 !default;\n$pe-cod-outer-color: white !default;\n$pe-cod-outer-label: black !default;\n$pe-cod-outer-font-size: 30px !default;\n$pe-cod-outer-icon-size: 80px !default;\n\n$pe-cod-count-color: white !default;\n$pe-cod-count-bg: red !default;\n$pe-cod-count-border: white !default;\n\n$pe-cod-success-color: green !default;\n$pe-cod-success-bg: white !default;\n\n.pe-cod-container {\n  position: relative;\n  display: block;\n  margin: 0 auto;\n  overflow: hidden;\n\n  a:hover {\n\ttext-decoration: none;\n\tcursor: pointer;\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n\n  li {\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n}\n\n.pe-cod {\n  width: 100%;\n  height: 100%;\n  position: relative;\n  margin: 0 auto;\n\n  a {\n    text-decoration: none;\n  }\n}\n\n.pe-cod-surrounded, .pe-cod-surrounding {\n  display: inline-block;\n  position: absolute;\n}\n\n.pe-cod-surrounded {\n  top: 50%;\n  left: 50%;\n  margin-top: -165px;\n  margin-left: -165px;\n\n  .pe-cod-circle {\n\theight: 330px;\n\twidth: 330px;\n    line-height: 330px;\n\tfont-size: $pe-cod-inner-icon-size;\n    background-color: $pe-cod-inner-bg;\n\tcolor: $pe-cod-inner-color;\n  }\n\n  .pe-cod-icon {\n\theight: 330px;\n  }\n\n  .pe-cod-label {\n\tfont-size: $pe-cod-inner-font-size;\n\tline-height: 75px;\n\tmargin-top: 20px;\n  }\n}\n\n.pe-cod-surrounding {\n  top: 0;\n  left: 0;\n  margin-top: -90px;\n  margin-left: -90px;\n\n  .pe-cod-circle {\n\theight: 180px;\n\twidth: 180px;\n\tline-height: 180px;\n    margin-bottom: 40px;\n\tfont-size: $pe-cod-outer-icon-size;\n    background-color: $pe-cod-outer-bg;\n\tcolor: $pe-cod-outer-color;\n  }\n\n  .pe-cod-icon {\n\theight: 180px;\n  }\n\n  .pe-cod-label {\n\tfont-size: $pe-cod-outer-font-size;\n\tline-height: 23px;\n\tmargin-top: 10px;\n  }\n}\n\n.pe-cod-circle {\n  border-radius: 50%;\n  text-align: center;\n  background-size: cover;\n  border: 1px solid $pe-cod-border-color;\n}\n\n.pe-cod-status, .pe-cod-count {\n  position: absolute;\n  top: 0;\n  right: 0;\n  line-height: 45px;\n  font-size: 20px;\n  height: 50px;\n  width: 50px;\n  border-radius: 50%;\n  text-align: center;\n  vertical-align: middle;\n}\n\n.pe-cod-status {\n  font-size: 50px;\n  line-height: 40px;\n  border: 0;\n\n  &.success {\n    background-color: $pe-cod-success-bg;\n    color: $pe-cod-success-color;\n  }\n}\n\n.pe-cod-count {\n  box-sizing: border-box;\n  border: 3px solid $pe-cod-count-border;\n  background-color: $pe-cod-count-bg;\n  color: $pe-cod-count-color;\n}\n\n.pe-cod-label {\n  font-weight: bold;\n  z-index: 100;\n  position: relative;\n  margin-left: -100%;\n  margin-right: -100%;\n  text-align: center;\n  color: black;\n}"
  },
  {
    "path": "pe-circle-of-destiny/widget/pe-circle-of-destiny.u-body-html-template.html",
    "content": "<div class=\"pe-cod-container\">\n  <div class=\"pe-cod\"\n       pe-scale-to-parent=\"peCoDComplete\">\n    <div class=\"pe-cod-inner\">\n      <pe-cod-circle pecc-main=\"c.main\"\n                     class=\"pe-cod-surrounded\"></pe-cod-circle>\n      <ul>\n        <li ng-repeat=\"item in c.items track by $index\"\n            pe-on-repeat-complete=\"c.onRepeatComplete()\">\n          <pe-cod-circle pecc-item=\"item\"\n                         pecc-main=\"c.main\"\n                         class=\"pe-cod-surrounding\"></pe-cod-circle>\n        </li>\n      </ul>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-circle-of-destiny/widget/pe-circle-of-destiny.u-client-script.js",
    "content": "function CoDCtrl ($scope, $timeout, $element) {\n\tvar c = this;\n\t\n\tif (c.data.embedOpt != undefined) {\n\t\t// This is an embedded widget\n\t\tc.items = c.data.embedOpt.items;\n\t\t\n\t\tc.main = {\n\t\t\tlabel: c.data.embedOpt.label,\n\t\t\ticon: c.data.embedOpt.icon,\n\t\t\turl: c.data.embedOpt.url,\n\t\t\tcolor: c.data.embedOpt.color,\n\t\t\timage: c.data.embedOpt.image\n\t\t};\n\t\t\n\t\tc.options.u_radius = c.data.embedOpt.radius;\n\t\tc.options.u_start = c.data.embedOpt.start;\n\t\tc.options.u_end = c.data.embedOpt.end;\n\t\tc.options.u_full = c.data.embedOpt.full;\n\t\t\n\t} else {\n\t\t// This is a widget instance\n\t\tc.items = c.data.items;\n\t\t\n\t\tc.main = {\n\t\t\tlabel: c.options.u_label,\n\t\t\ticon: c.options.u_icon,\n\t\t\turl: c.options.url,\n\t\t\tcolor: c.options.u_color,\n\t\t\timage: c.options.u_image\n\t\t};\n\t\t\n\t}\n\t\n\t// The message that will be broadcast once the circles have been positioned.\n\tc.broadcast = 'peCoDComplete';\n\t\n\t// Set defaults\n\tvar radius = c.options.u_radius != undefined ? parseInt(c.options.u_radius) : 320,\n\t\t\tstart = c.options.u_start != undefined ? parseInt(c.options.u_start) : 0,\n\t\t\tend = c.options.u_end != undefined ? parseInt(c.options.u_end) : 360,\n\t\t\tfull = c.options.u_full != undefined ? (c.options.u_full) : true;\n\n\t\n\t// resize the element based on radius (so that all the objects fit inside)\n  $element.find('.pe-cod').width((radius * 2 + 180) + 'px');\n  $element.find('.pe-cod').height((radius * 2 + 250) +  'px');\n\t\n\tc.onRepeatComplete = function() {\n\t\t\n\t\t// Get elements & details\n\t\tvar target = $element.find('.pe-cod-surrounded'),\n\t\t\t\telements = $element.find('.pe-cod-surrounding'),\n\t\t\t\tcount = elements.length,\n\t\t\t\tincrement = 360;\n\n\t\t// Calculate degrees between each element\n\t\tif (count > 1) {\n\t\t\tincrement = full ? ((end - start) / count) : ((end - start) / (count - 1));\n\t\t}\n\n\t\t// Where is the middle of the target element\n\t\tvar middle = {\n\t\t\tleft: target.position().left + (target.width() / 2) + parseInt(target.css('margin-left')),\n\t\t\ttop: target.position().top + (target.height() / 2) + parseInt(target.css('margin-top'))\n\t\t};\n\n\t\t// Loop through each element\n\t\telements.each(function (index) {\n\n\t\t\t// Determine the positioning of the element\n\t\t\tvar angleDeg = (start + (index * increment)),\n\t\t\t\t\tangleRad = angleDeg * Math.PI / 180,\n\t\t\t\t\ttop = Math.cos(angleRad) * radius + middle.top,\n\t\t\t\t\tleft = Math.sin(angleRad) * radius + middle.left;\n\n\t\t\t// Apply the positioning to the element\n\t\t\t$(this).css({\n\t\t\t\tleft: left + 'px',\n\t\t\t\ttop: top + 'px'\n\t\t\t});\n\n\t\t});\n\t\t\n\t\t// Broadcast the message so that the element can be scaled down to fit.\n\t\t$timeout(function () {\n\t\t\tscope.$broadcast(c.broadcast);\n\t\t});\n\t\t\n\t};\n}"
  },
  {
    "path": "pe-circle-of-destiny/widget/pe-circle-of-destiny.u-css.scss",
    "content": "$pe-cod-border-color: grey !default;\n\n$pe-cod-inner-bg: #3a3f51 !default;\n$pe-cod-inner-color: white !default;\n$pe-cod-inner-label: black !default;\n$pe-cod-inner-font-size: 70px !default;\n$pe-cod-inner-icon-size: 150px !default;\n\n$pe-cod-outer-bg: #3a3f51 !default;\n$pe-cod-outer-color: white !default;\n$pe-cod-outer-label: black !default;\n$pe-cod-outer-font-size: 30px !default;\n$pe-cod-outer-icon-size: 80px !default;\n\n$pe-cod-count-color: white !default;\n$pe-cod-count-bg: red !default;\n$pe-cod-count-border: white !default;\n\n$pe-cod-success-color: green !default;\n$pe-cod-success-bg: white !default;\n\n.pe-cod-container {\n  position: relative;\n  display: block;\n  margin: 0 auto;\n  overflow: hidden;\n\n  a:hover {\n\ttext-decoration: none;\n\tcursor: pointer;\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n\n  li {\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n}\n\n.pe-cod {\n  width: 100%;\n  height: 100%;\n  position: relative;\n  margin: 0 auto;\n\n  a {\n    text-decoration: none;\n  }\n}\n\n.pe-cod-surrounded, .pe-cod-surrounding {\n  display: inline-block;\n  position: absolute;\n}\n\n.pe-cod-surrounded {\n  top: 50%;\n  left: 50%;\n  margin-top: -165px;\n  margin-left: -165px;\n\n  .pe-cod-circle {\n    height: 330px;\n    width: 330px;\n    line-height: 330px;\n    font-size: $pe-cod-inner-icon-size;\n    background-color: $pe-cod-inner-bg;\n    color: $pe-cod-inner-color;\n  }\n\n  .pe-cod-icon {\n    height: 330px;\n  }\n\n  .pe-cod-label {\n    font-size: $pe-cod-inner-font-size;\n    line-height: 75px;\n    margin-top: 20px;\n  }\n}\n\n.pe-cod-surrounding {\n  top: 0;\n  left: 0;\n  margin-top: -90px;\n  margin-left: -90px;\n\n  .pe-cod-circle {\n    height: 180px;\n    width: 180px;\n    line-height: 180px;\n    margin-bottom: 40px;\n    font-size: $pe-cod-outer-icon-size;\n    background-color: $pe-cod-outer-bg;\n    color: $pe-cod-outer-color;\n  }\n\n  .pe-cod-icon {\n    height: 180px;\n  }\n\n  .pe-cod-label {\n    font-size: $pe-cod-outer-font-size;\n    line-height: 23px;\n    margin-top: 10px;\n  }\n}\n\n.pe-cod-circle {\n  border-radius: 50%;\n  text-align: center;\n  background-size: cover;\n  border: 1px solid $pe-cod-border-color;\n}\n\n.pe-cod-status, .pe-cod-count {\n  position: absolute;\n  top: 0;\n  right: 0;\n  line-height: 45px;\n  font-size: 20px;\n  height: 50px;\n  width: 50px;\n  border-radius: 50%;\n  text-align: center;\n  vertical-align: middle;\n}\n\n.pe-cod-status {\n  font-size: 50px;\n  line-height: 40px;\n  border: 0;\n\n  &.success {\n    background-color: $pe-cod-success-bg;\n    color: $pe-cod-success-color;\n  }\n}\n\n.pe-cod-count {\n  box-sizing: border-box;\n  border: 3px solid $pe-cod-count-border;\n  background-color: $pe-cod-count-bg;\n  color: $pe-cod-count-color;\n}\n\n.pe-cod-label {\n  font-weight: bold;\n  z-index: 100;\n  position: relative;\n  margin-left: -100%;\n  margin-right: -100%;\n  text-align: center;\n  color: black;\n}"
  },
  {
    "path": "pe-circle-of-destiny/widget/pe-circle-of-destiny.u-server-script.js",
    "content": "(function() {\n\tvar instanceGr = $sp.getInstanceRecord();\n\t\n\t// Check if this is an embedded widget\n\tif (instanceGr.getValue('sys_id') == null) {\n\t\tdata.embedOpt = input;\n\t\treturn;\n\t}\n\t\n\t// Get all the elements\n\tvar gr = new GlideRecord('u_pe_cod_elements');\n\tgr.addQuery('u_instance', instanceGr.getValue('sys_id'));\n\tgr.query();\n\t\n\tdata.items = [];\n\t\n\t// Loop through the element records and build the items\n\twhile(gr.next()) {\n\n\t\tvar item = {\n\t\t\tlabel: gr.getValue('u_label'),\n\t\t\ticon: gr.getValue('u_icon'),\n\t\t\turl: gr.getValue('u_url'),\n\t\t\tcompleted: gr.getValue('u_completed'),\n\t\t\tcolor: gr.getValue('u_color'),\n\t\t\tcount: gr.getValue('u_count')\n\t\t};\n\t\t\n\t\t// Evaluate the scripts for each element if necessary.\n\t\tif (gr.getValue('u_count_script') != null || gr.getValue('u_completed_script') != null) {\n\t\t\tvar evaluator = new GlideScopedEvaluator();\n\t\t\t\n\t\t\tif (gr.getValue('u_count_script') != null) {\n\t\t\t\titem.count = evaluator.evaluateScript(gr, 'u_count_script');\n\t\t\t} else {\n\t\t\t\titem.completed = evaluator.evaluateScript(gr, 'u_completed_script');\n\t\t\t}\n\t\t}\n\t\n\t\tdata.items.push(item);\n\t}\n})();"
  },
  {
    "path": "pe-cloud-performance/README.md",
    "content": "# Cloud Performance\n\n## Description\n\nA simple card used for displaying performance details and status.\n\n## Screenshot\n\n![](../images/pe-cloud-performance-01.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-cloud-performance.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-performance/pe-cloud-performance.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Sets the header title. | Cloud Performance |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-cloud-performance/pe-cloud-performance.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-05-25 00:02:00\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Cloud Performance</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>caecbf05db9697008798ffa31d961957</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:01:59</sys_created_on>\n<sys_id>40aee551db1e97008798ffa31d9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:01:59</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_f36f3385db9697008798ffa31d961958</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.CloudPerformance&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;CloudPerformance&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var CloudPerformance = Class.create();\nCloudPerformance.prototype = {\n  initialize: function() {},\n\n  getData: function() {\n    var data = {\n      widgetHeading: 'cloud performance',\n      filter: 'all',\n      firstBox: {\n        number: '88%',\n        bottomText: 'avg uptime'\n      },\n      secondBox: {\n        number: '$1.2m',\n        bottomText: 'revenue at risk'\n      },\n      thirdBox: {\n        number: '17',\n        bottomText: 'critical incident'\n      }\n    };\n    return data;\n  },\n\n  type: 'CloudPerformance'\n};\n]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-24 16:06:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;f36f3385db9697008798ffa31d961958&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;CloudPerformance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_f36f3385db9697008798ffa31d961958&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 16:10:10&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-200518912</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>00aee551db1e97008798ffa31d9619f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16392ea2d140000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>CloudPerformance</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>2ca2c4d570969700fbc0f6496c368652</update_guid>\n<update_guid_history>2ca2c4d570969700fbc0f6496c368652:-200518912,dfd1cc5554969700db58298c576dd0bf:1345164063</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_d4ad2151db1e97008798ffa31d96192e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>cloudPerformance</module><name>Cloud Performance</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-05-24 23:57:53</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>d4ad2151db1e97008798ffa31d96192e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Cloud Performance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_d4ad2151db1e97008798ffa31d96192e</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-05-24 23:57:53</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-4395576</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>04aee551db1e97008798ffa31d9619f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163949660f50000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>Cloud Performance</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>f3ad2151c21e97005c687bb5396dfde9</update_guid>\n<update_guid_history>f3ad2151c21e97005c687bb5396dfde9:-4395576</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_e10e2551db1e97008798ffa31d961937</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Cloud Performance\">d4ad2151db1e97008798ffa31d96192e</sp_dependency><sp_widget display_value=\"PE Cloud Performance\">9de33f01db9697008798ffa31d961903</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-05-24 23:59:22</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e10e2551db1e97008798ffa31d961937</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Cloud Performance.PE Cloud Performance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_e10e2551db1e97008798ffa31d961937</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-05-24 23:59:22</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-474647415</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:01:59</sys_created_on>\n<sys_id>40aee551db1e97008798ffa31d9619f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1639497bf2d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:01:59</sys_updated_on>\n<table/>\n<target_name>Cloud Performance.PE Cloud Performance</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>6d0e2551211e9700987d54b11bd95038</update_guid>\n<update_guid_history>6d0e2551211e9700987d54b11bd95038:-474647415</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_9de33f01db9697008798ffa31d961903</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function CloudPerformanceController() {\n  var c = this;\n\n  c.$onInit = function() {\n    setOptions();\n  };\n\n  function setOptions() {\n    c.title = c.options.title &amp;&amp; c.options.title.length &gt; 0 ? c.options.title : c.data.cloudData.widgetHeading;\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.cloud-performance-wrapper {\n  .heading {\n    background: #fff;\n    p {\n      margin-bottom: 0px;\n      font-size: 14px;\n      color: #2e2e2e;\n      margin-left: 10px;\n      margin-right: 10px;\n      padding: 10px 0px 5px;\n      border-bottom: 1px solid #e4e5e6;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n  }\n\n  .vms {\n    overflow: hidden;\n    margin-bottom: 10px;\n    background: #fff;\n    display: flex;\n    &amp;amp;:after {\n      content: '';\n      display: table;\n    }\n    .color-red {\n      color: #ff402c !important;\n    }\n    .arrow-up {\n      margin-right: 3px;\n      width: 0;\n      height: 0;\n      border-left: 7px solid transparent;\n      border-right: 7px solid transparent;\n      border-bottom: 7px solid #70be5a;\n    }\n    .flex-it {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #70be5a;\n      p {\n        font-size: 12px;\n        font-weight: 600;\n      }\n    }\n    .each-box {\n      width: 33.3%;\n      padding: 10px 10px 20px;\n      float: left;\n      text-align: center;\n      .bottom-part {\n        margin-left: -7px;\n        margin-right: -7px;\n      }\n      .top-text {\n        height: 34px;\n        display: flex;\n        align-items: flex-end;\n        justify-content: center;\n        margin-bottom: 8px;\n      }\n      .top-box {\n        height: 65px;\n        display: flex;\n        align-items: flex-start;\n        justify-content: center;\n      }\n      p {\n        margin-bottom: 0px;\n      }\n      .sub-title {\n        font-size: 12px;\n        color: #9f9f9f;\n        text-transform: uppercase;\n        font-weight: bold;\n      }\n      .top-title {\n        font-size: 12px;\n        color: #65666a;\n        text-transform: uppercase;\n        font-weight: bold;\n      }\n      .middle-big-text {\n        font-size: 38px;\n        color: #65666a;\n      }\n    }\n  }\n\n  .cloud-performance {\n    .each-box {\n      .top-box {\n        display: flex;\n        align-items: center;\n        .arrow-up-green {\n          width: 0;\n          height: 0;\n          border-left: 10px solid transparent;\n          border-right: 10px solid transparent;\n          border-bottom: 10px solid #4fca86;\n        }\n\n        .arrow-up-red {\n          width: 0;\n          height: 0;\n          border-left: 10px solid transparent;\n          border-right: 10px solid transparent;\n          border-bottom: 10px solid #ee525e;\n        }\n        .arrow-down-red {\n          width: 0;\n          height: 0;\n          border-left: 10px solid transparent;\n          border-right: 10px solid transparent;\n          border-top: 10px solid #ee525e;\n        }\n        .middle-big-text {\n          font-weight: 400;\n          font-size: 32px;\n        }\n      }\n      .top-title {\n        font-size: 14px;\n      }\n    }\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title&lt;/field_list&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-cloud-performance&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Performance&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var cloudData = new CloudPerformance();\n  data.cloudData = cloudData.getData();\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-24 15:08:52&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;9de33f01db9697008798ffa31d961903&lt;/sys_id&gt;&lt;sys_mod_count&gt;54&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Performance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_9de33f01db9697008798ffa31d961903&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 23:04:07&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;cloud-performance data=\"{{::c.data.cloudData}}\" options=\"{{::c.title}}\"&gt;&lt;/cloud-performance&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1953409242</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>4caee551db1e97008798ffa31d9619f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1639465285b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>PE Cloud Performance</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>d0612915f6da97004ba5fcf7c553b53d</update_guid>\n<update_guid_history>d0612915f6da97004ba5fcf7c553b53d:-1953409242,0fae15dd9a9a97002dfc250aa98b51c6:-767412062,6d8ed19d9b9a97001d39c477be5ca228:1332282071,cd4cdd59209a9700f62d40083d047582:-1320077862,70741999dd5a9700dd2ad2323107a3e6:397327855,55545d59e75a97004718293defa5ec2d:-1449067782,97449199915a9700ecdc2f3848a0bedf:-39544774,f5e35d19ff5a970006d9dff22946d06a:-1202862881,d4d31919aa5a9700a64942856e8714f4:-428286902,7b63d5d5d35a97005e0678871661c8ee:-593271855,6382d955f85a97002bef926cd31f901f:292887965,eb811591225a9700e995fbfa3ceed5ac:-344773521,cf315951e65a9700cc8d1ad44a6a6461:-256193766,26001ddd5e1a970007126cdb4f517927:1417204200,fcbec19db31a9700f34ec55175de1524:1176245939,894ecd1d631a9700eb89aa18be6b2ad5:-737062280,380dcd99b31a970086cc49b8e56ff47e:1008685607,534c0999bd1a97003481ba1ed8ee3280:302081856,23b5c955871a970048236ec93c8d1b13:922053353,ad57f0dd88d6970046f13c3eb7300ef0:-1033719898,2c0770dd4dd697007b5ea6cc90cf391d:2043647739,63d2dc9dc8969700d4484a3a40f13ec4:-543945905,5ab25c9d76969700633dc22e3e915be2:-1616407972,57a25c9d4296970036c6a9453e436fd5:611457992,e1a21c9dbc9697002cf8311788277686:-651059415,8d82d89d8796970047e150b6e5453422:674091319,7e72d89d6c9697008503ebaaeef587fc:-1962017887,4d62d89dda9697004de9c3ae2e349b1b:872997608,aa52589d839697000c46821cc02cb3ff:356683356,5c81109d34969700f042fc2116b963ef:-2015502901,4461dc5dac9697003de790ad1836739d:1078762663,fa51109d51969700184fea93da0054d3:-156482052,cd511c5d4696970068964b868d63668d:1078762663,37211c5d6b96970062aff70c353d5481:-858972512,dd011c5df4969700055cf5de00c4ee1d:1208739904,ee90985d629697008edfaaaac27d814c:775999005,527280d5299697000885853421f5fb65:-1975737548,c932c0d5479697007d8a27bbdffde47b:949149672,4af140d5cf9697007ccd9763c2eccce2:1010886979,79cd3745e19697002b271f1a6ca5d7d8:-748461766,03bd37451996970065adf82f8de4bf77:-1024890413,48bd3745e1969700766ccd51263c355b:-752719636,7d6db3453896970038bdc33f20a66069:-1652654934,9589b7c18896970098287fbba5583c54:1275987071,b07977c1a8969700770b656a4647348e:-2002939746,9869ff81439697006482d837fb78c365:1275987071,a659ff81219697000991eb3b2e92525b:-2002939746,aac5bb41fc969700563ebe80b648f64d:1275987071,81a5f741069697009304b948aca0bacd:2103034773,7075f741de969700b064775a4ded5798:-715718144,c255f741d79697007ad13ee11e019091:279896044,5e45f34114969700e1d7aa8acfb53936:1924664389,13e4f34182969700cda9568b8e40b614:47745463,bec4f341d8969700d5fd966c2b9fe80c:-1532071769,aa943f01bf969700691b99af9af16339:-1923535042</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_ecd48155db1a97008798ffa31d9619f2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;cloud.module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('cloudPerformance', []);\n})();\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-24 20:59:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;ecd48155db1a97008798ffa31d9619f2&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;cloud.module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_ecd48155db1a97008798ffa31d9619f2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 20:59:43&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-217210131</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>84aee551db1e97008798ffa31d9619f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16393f3460a0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>cloud.module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>4ae481551d1a9700d4a55df7d55ca8f7</update_guid>\n<update_guid_history>4ae481551d1a9700d4a55df7d55ca8f7:-217210131</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c92bc119db1a97008798ffa31d961951</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Cloud Performance Component</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-05-24 21:27:12</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>c92bc119db1a97008798ffa31d961951</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Cloud Performance Component</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"cloud.component\">caa44155db1a97008798ffa31d961970</sys_ui_script><sys_update_name>sp_js_include_c92bc119db1a97008798ffa31d961951</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-05-24 21:27:12</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>2079792981</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>88aee551db1e97008798ffa31d9619f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163940c6c840000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>Cloud Performance Component</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>e43b8119631a9700e8c0703fc6e685c8</update_guid>\n<update_guid_history>e43b8119631a9700e8c0703fc6e685c8:2079792981</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_8b3e6551db1e97008798ffa31d9619f7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"Cloud Performance\">d4ad2151db1e97008798ffa31d96192e</sp_dependency><sp_js_include display_value=\"Cloud Performance Component\">c92bc119db1a97008798ffa31d961951</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-05-25 00:00:17</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>8b3e6551db1e97008798ffa31d9619f7</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Cloud Performance.Cloud Performance Component</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_8b3e6551db1e97008798ffa31d9619f7</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-05-25 00:00:26</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1673683707</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:01:59</sys_created_on>\n<sys_id>8caee551db1e97008798ffa31d9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1639498b68b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:01:59</sys_updated_on>\n<table/>\n<target_name>Cloud Performance.Cloud Performance Component</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>814e6551981e9700619ffcd5e9bac7ea</update_guid>\n<update_guid_history>814e6551981e9700619ffcd5e9bac7ea:-1673683707,4f3e65517e1e970016e6d3c62aeea5f8:805509542</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_caa44155db1a97008798ffa31d961970</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;cloud.component&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  var cloudPerformance = {\n    bindings: {\n      data: '@',\n      options: '@'\n    },\n    controller: function() {\n      this.$onInit = function() {\n        this.getData();\n      };\n\n      this.getData = function() {\n        this.cloudData = JSON.parse(this.data);\n      };\n    },\n    template: [\n      '&lt;div class=\"cloud-performance-wrapper\"&gt;',\n      '&lt;div class=\"heading\"&gt;',\n      '&lt;p&gt;{{::$ctrl.options}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;div class=\"vms cloud-performance\"&gt;',\n      '&lt;div class=\"each-box unaccounted-box\"&gt;',\n      '&lt;div class=\"top-box\"&gt;',\n      '&lt;div class=\"arrow-up-green\"&gt;&lt;/div&gt;',\n      '&lt;p class=\"middle-big-text\"&gt;{{::$ctrl.cloudData.firstBox.number}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;p class=\"top-title bottom-part\"&gt;{{::$ctrl.cloudData.firstBox.bottomText}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;div class=\"each-box middle-box\"&gt;',\n      '&lt;div class=\"top-box\"&gt;',\n      '&lt;div class=\"arrow-up-red\"&gt;&lt;/div&gt;',\n      '&lt;p class=\"middle-big-text\"&gt;{{::$ctrl.cloudData.secondBox.number}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;p class=\"top-title\"&gt;{{::$ctrl.cloudData.secondBox.bottomText}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;div class=\"each-box\"&gt;',\n      '&lt;div class=\"top-box\"&gt;',\n      '&lt;div class=\"arrow-down-red\"&gt;&lt;/div&gt;',\n      '&lt;p class=\"middle-big-text\"&gt;{{::$ctrl.cloudData.thirdBox.number}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;p class=\"top-title\"&gt;{{::$ctrl.cloudData.thirdBox.bottomText}}&lt;/p&gt;',\n      '&lt;/div&gt;',\n      '&lt;/div&gt;',\n      '&lt;/div&gt;'\n    ].join('')\n  };\n\n  angular\n    .module('cloudPerformance')\n    .component('cloudPerformance', cloudPerformance);\n})();\n\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-24 20:59:12&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;caa44155db1a97008798ffa31d961970&lt;/sys_id&gt;&lt;sys_mod_count&gt;89&lt;/sys_mod_count&gt;&lt;sys_name&gt;cloud.component&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_caa44155db1a97008798ffa31d961970&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 23:24:55&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1702890887</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>c0aee551db1e97008798ffa31d9619f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1639478332a0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>cloud.component</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>3826ed1946da9700c1af826899bbe9fb</update_guid>\n<update_guid_history>3826ed1946da9700c1af826899bbe9fb:1702890887,21e5691956da970016514c4549998dd5:1721947173,6665259516da97002bb1fe782123e440:1591139885,6cd1e555b1da97001700b4b40a60461e:-68069288,9b9121552fda97005538c436b11e0d30:-504381872,ae31211589da9700b6711462c742b809:-68069288,13b0e5d1e6da97008f36d4f2d7cd2c1d:-96962397,5390a5d11bda9700bc924a32c2aae1ff:1972766107,e370e99179da9700e2e250782beaf51b:-1221675065,b420a591b0da9700a77195dd36af92ec:-1060420769,4a002191f0da9700f910209715fd9015:-777946090,21ef15516fda970034ed732e88fb7d15:-1653645480,b2afdd11d4da9700feba13306ce73395:29974639,528fd911b6da9700cdfaa2f369d7186f:-619749849,f46fd1116eda9700631f3a3d4085a03b:-1625280593,e65fd11183da9700bb7cfa8e9423e737:50675477,d41f55dd419a9700b2f08ddd88cad0b6:-647032107,995ed19dcb9a970006db8d707e9e0372:-1056472021,430e995db49a9700b103aeb98db045f0:-883019998,5cad591d0f9a9700f03525fb1a9d82bc:1150484009,a84d9dd9d89a9700adac7ab4688e1b48:1073745946,9cdcd5d9479a97003b72633aeb3eca0b:622745507,8d9c1999f49a9700911ec102d7cac185:260861498,f35c9199cd9a9700d5a639adf4bb7f23:-921934926,2ddb1559119a970051000be58bda183e:907986746,4abb1159099a97004dd49f6577a551b1:-1206749278,507b19193c9a9700caf9c4c822717c65:213879135,186b9119789a9700429a776a89839281:1023540317,b02b55d5689a9700afcee6d9ad67e92e:-1124031409,101b15d5409a97005c63ba83b778ced3:1479942177,580b1995a89a97006986be30dc7bba10:144364849,d3ea1995929a970060570d03e5829903:-532381541,c1da1955da9a9700dc5845cea97cbde5:262417713,a4cad9552e9a9700698f30afddbdb6e1:1194468171,99aa9155489a970071faa4067c0f3ba9:-493565239,509a9d15bc9a97006d379671483ef5b3:-1400251622,808a19150f9a970092f2a824514954e1:1034682606,fc7add518d9a9700082a4f87d9665453:-596680829,8f5a51d1179a97007390468920875c54:-1567017394,15e91151499a970002492a9f9a72ede8:-165342909,aeb99d11c59a97000aa2a6f2aa41c397:-493565239,3c991911c29a9700b40cb9bb147907a6:228659445,8559dddd465a97001713daea841650e9:647302899,d12955dd9f5a970006b8b5844448cceb:845174211,e1e855dd0b5a9700d7fe72b0314dd0e7:-1655939384,9bc851dd155a9700c6d7a55fc406ecc5:1740263212,ff881d9d8a5a970054fa475a420605f6:1924320547,8858959d195a97009bea63bb579f6c6d:-1745737408,9418d19dc55a97004458234a3fdb8763:1870088625,adf7519d9c5a970042a0c4ffcec11c34:1626007909,fcd7595d5f5a9700227ef93ab2dd6876:349399220,d397d55d185a9700963dccb7cbcaa053:1493300563,2447d15dc55a97008b9e4fbec2251ffe:1373702999,0c37515dd45a970097c406de64a2d0e7:-1460343056,79079d1de35a97001068c57ac0b34e6c:631456266,46961d1d9d5a9700f0b3ada3d46e927d:350502311,ed76991dbd5a97001cc3282ab9396fa7:429783511,ed36591dc25a9700790bd851ad065497:1735919683,3d26191db55a97006becefe76970489f:-1080947309,4416951de45a970039e98f2ba6ec2ccd:592647970,d2e5951dce5a9700e2240a0f35f58b14:-2108913246,c2d5151d385a9700d665236012a8c696:1319778690,dab5d5d9b25a9700d0d535a89e376276:-285978387,6ab49d99595a97009f5ee54b6cbce127:838873676,f89419999b5a97005f5abb2a4f497fed:-1073015600,5614d959ed5a97007676d3ff6e9f6459:838873676,fff355598f5a9700c1eff989aa376c10:-1702820630,9343dd95655a970088681e6e5110a80d:1041284575,a5039d95565a9700de67f27a4d0f97f0:-819345650,d0e21195845a970013532d7d1a2b143c:1367074427,15c211959e5a9700eb7ea9b01be0c74d:-1509148041,92329155715a97008bc27d29ead300e7:-742000397,18221d15cb5a9700a4a30d9f36fdb910:1241120008,a2021dd1355a97005d5203df8a0b7f49:125898304,75f11dd1535a9700e68b2b5c94a18851:-1422148213,b4d119d1915a97007a11e57fd2c87b14:-742000397,2eb151d1125a970003e35447853098a0:238344678,c6a1d9511f5a97009d0b38da94e4a2f1:683622474,2151d9517d5a970097e90ff0cf88aceb:-914407560,a6e0d911cb5a9700fb7adb425fb9288a:930250319,ad805511965a9700e8fe935e42037a3c:-343392384,1e6f85ddf01a9700748734804766b56b:708190460,934f4d9dbe1a9700eb14e09aadf0c929:-1965084610,400fc19d961a970094df29ca3adaa218:934400211,3b8e8d5db41a97007912b6d770fb3770:192038110,866e815d371a97008bf944c23ff74e8d:-1282969250,ee3d01d9931a9700c9758cc13052b13f:1535453771,c0ec4d99531a9700f9b059f5ed9f32ad:-1297361563,6dbb4199e61a9700b8bced367e6a5601:878465088,5ac44155e41a970002e0857d86d64283:1033915776</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_0b3e6551db1e97008798ffa31d9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Cloud Performance\">d4ad2151db1e97008798ffa31d96192e</sp_dependency><sp_js_include display_value=\"Cloud Performance Module\">c50b8119db1a97008798ffa31d9619c0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-05-25 00:00:17</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>0b3e6551db1e97008798ffa31d9619f9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Cloud Performance.Cloud Performance Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_0b3e6551db1e97008798ffa31d9619f9</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-05-25 00:00:17</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-424188074</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:01:59</sys_created_on>\n<sys_id>c4aee551db1e97008798ffa31d9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163949895ac0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:01:59</sys_updated_on>\n<table/>\n<target_name>Cloud Performance.Cloud Performance Module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>873e65515b1e97003c3be571014d8ffa</update_guid>\n<update_guid_history>873e65515b1e97003c3be571014d8ffa:-424188074</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c50b8119db1a97008798ffa31d9619c0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Cloud Performance Module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-05-24 21:26:55</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>c50b8119db1a97008798ffa31d9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Cloud Performance Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"cloud.module\">ecd48155db1a97008798ffa31d9619f2</sys_ui_script><sys_update_name>sp_js_include_c50b8119db1a97008798ffa31d9619c0</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-05-24 21:26:55</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>503010688</payload_hash>\n<remote_update_set display_value=\"PE Cloud Performance\">40aee551db1e97008798ffa31d9619f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-05-25 00:02:00</sys_created_on>\n<sys_id>c4aee551db1e97008798ffa31d9619f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163940c2ae40000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-05-25 00:02:00</sys_updated_on>\n<table/>\n<target_name>Cloud Performance Module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>142b01d5e41a970025037e51b44d84fa</update_guid>\n<update_guid_history>142b01d5e41a970025037e51b44d84fa:503010688</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-performance/script-include/pe-cloud-performance.u-server-script.js",
    "content": "var CloudPerformance = Class.create();\nCloudPerformance.prototype = {\n  initialize: function() {},\n\n  getData: function() {\n    var data = {\n      widgetHeading: 'cloud performance',\n      filter: 'all',\n      firstBox: {\n        number: '88%',\n        bottomText: 'avg uptime'\n      },\n      secondBox: {\n        number: '$1.2m',\n        bottomText: 'revenue at risk'\n      },\n      thirdBox: {\n        number: '17',\n        bottomText: 'critical incident'\n      }\n    };\n    return data;\n  },\n\n  type: 'CloudPerformance'\n};\n"
  },
  {
    "path": "pe-cloud-performance/ui-script/pe-cloud-performance.component.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  var cloudPerformance = {\n    bindings: {\n      data: '@',\n      options: '@'\n    },\n    controller: function() {\n      this.$onInit = function() {\n        this.getData();\n      };\n\n      this.getData = function() {\n        this.cloudData = JSON.parse(this.data);\n      };\n    },\n    template: [\n      '<div class=\"cloud-performance-wrapper\">',\n      '<div class=\"heading\">',\n      '<p>{{::$ctrl.options}}</p>',\n      '</div>',\n      '<div class=\"vms cloud-performance\">',\n      '<div class=\"each-box unaccounted-box\">',\n      '<div class=\"top-box\">',\n      '<div class=\"arrow-up-green\"></div>',\n      '<p class=\"middle-big-text\">{{::$ctrl.cloudData.firstBox.number}}</p>',\n      '</div>',\n      '<p class=\"top-title bottom-part\">{{::$ctrl.cloudData.firstBox.bottomText}}</p>',\n      '</div>',\n      '<div class=\"each-box middle-box\">',\n      '<div class=\"top-box\">',\n      '<div class=\"arrow-up-red\"></div>',\n      '<p class=\"middle-big-text\">{{::$ctrl.cloudData.secondBox.number}}</p>',\n      '</div>',\n      '<p class=\"top-title\">{{::$ctrl.cloudData.secondBox.bottomText}}</p>',\n      '</div>',\n      '<div class=\"each-box\">',\n      '<div class=\"top-box\">',\n      '<div class=\"arrow-down-red\"></div>',\n      '<p class=\"middle-big-text\">{{::$ctrl.cloudData.thirdBox.number}}</p>',\n      '</div>',\n      '<p class=\"top-title\">{{::$ctrl.cloudData.thirdBox.bottomText}}</p>',\n      '</div>',\n      '</div>',\n      '</div>'\n    ].join('')\n  };\n\n  angular\n    .module('cloudPerformance')\n    .component('cloudPerformance', cloudPerformance);\n})();\n\n"
  },
  {
    "path": "pe-cloud-performance/ui-script/pe-cloud-performance.module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('cloudPerformance', []);\n})();\n"
  },
  {
    "path": "pe-cloud-performance/widget/pe-cloud-performance.u-body-html-template.html",
    "content": "<cloud-performance data=\"{{::c.data.cloudData}}\" options=\"{{::c.title}}\"></cloud-performance>"
  },
  {
    "path": "pe-cloud-performance/widget/pe-cloud-performance.u-client-script.js",
    "content": "function CloudPerformanceController() {\n  var c = this;\n\n  c.$onInit = function() {\n    setOptions();\n  };\n\n  function setOptions() {\n    c.title = c.options.title && c.options.title.length > 0 ? c.options.title : c.data.cloudData.widgetHeading;\n  }\n}\n"
  },
  {
    "path": "pe-cloud-performance/widget/pe-cloud-performance.u-css.scss",
    "content": ".cloud-performance-wrapper {\n  .heading {\n    background: #fff;\n    p {\n      margin-bottom: 0px;\n      font-size: 14px;\n      color: #2e2e2e;\n      margin-left: 10px;\n      margin-right: 10px;\n      padding: 10px 0px 5px;\n      border-bottom: 1px solid #e4e5e6;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n  }\n\n  .vms {\n    overflow: hidden;\n    margin-bottom: 10px;\n    background: #fff;\n    display: flex;\n    &:after {\n      content: '';\n      display: table;\n    }\n    .color-red {\n      color: #ff402c !important;\n    }\n    .arrow-up {\n      margin-right: 3px;\n      width: 0;\n      height: 0;\n      border-left: 7px solid transparent;\n      border-right: 7px solid transparent;\n      border-bottom: 7px solid #70be5a;\n    }\n    .flex-it {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: #70be5a;\n      p {\n        font-size: 12px;\n        font-weight: 600;\n      }\n    }\n    .each-box {\n      width: 33.3%;\n      padding: 10px 10px 20px;\n      float: left;\n      text-align: center;\n      .bottom-part {\n        margin-left: -7px;\n        margin-right: -7px;\n      }\n      .top-text {\n        height: 34px;\n        display: flex;\n        align-items: flex-end;\n        justify-content: center;\n        margin-bottom: 8px;\n      }\n      .top-box {\n        height: 65px;\n        display: flex;\n        align-items: flex-start;\n        justify-content: center;\n      }\n      p {\n        margin-bottom: 0px;\n      }\n      .sub-title {\n        font-size: 12px;\n        color: #9f9f9f;\n        text-transform: uppercase;\n        font-weight: bold;\n      }\n      .top-title {\n        font-size: 12px;\n        color: #65666a;\n        text-transform: uppercase;\n        font-weight: bold;\n      }\n      .middle-big-text {\n        font-size: 38px;\n        color: #65666a;\n      }\n    }\n  }\n\n  .cloud-performance {\n    .each-box {\n      .top-box {\n        display: flex;\n        align-items: center;\n        .arrow-up-green {\n          width: 0;\n          height: 0;\n          border-left: 10px solid transparent;\n          border-right: 10px solid transparent;\n          border-bottom: 10px solid #4fca86;\n        }\n\n        .arrow-up-red {\n          width: 0;\n          height: 0;\n          border-left: 10px solid transparent;\n          border-right: 10px solid transparent;\n          border-bottom: 10px solid #ee525e;\n        }\n        .arrow-down-red {\n          width: 0;\n          height: 0;\n          border-left: 10px solid transparent;\n          border-right: 10px solid transparent;\n          border-top: 10px solid #ee525e;\n        }\n        .middle-big-text {\n          font-weight: 400;\n          font-size: 32px;\n        }\n      }\n      .top-title {\n        font-size: 14px;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "pe-cloud-performance/widget/pe-cloud-performance.u-server-script.js",
    "content": "(function() {\n  var cloudData = new CloudPerformance();\n  data.cloudData = cloudData.getData();\n})();\n"
  },
  {
    "path": "pe-cloud-sprawl-card-utilization-snippet/Readme.md",
    "content": "# Card Utilization Snippet\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing sub sections with data and a sample charts.\n\n## Screenshots\n![](../images/pe-cloud-sprawl-card-utilization-snippet.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-card-utilization-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-card-utilization-snippet/pe-cloud-sprawl-card-utilization-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as a JSON object in the Client Script controller.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-card-utilization-snippet/pe-cloud-sprawl-card-utilization-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-08-11 19:43:21\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Cloud Sprawl Card Utilization Snippet</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>5d1fe6a4db9bf200f0e8de01ce961984</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-08-11 19:43:20</sys_created_on>\n<sys_id>aebcbb09dbecc700a0785404ce9619f7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-08-11 19:43:20</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_5302771d13f13200d15e3d7ed144b065</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CardUtilizationController() {\n  var c = this;\n  c.getInitials = getInitials;\n\n  function getInitials(user) {\n    var initials = '';\n    if (user &amp;&amp; !user.photo) {\n      if (!user.first_name || !user.last_name) {\n        initials = angular.uppercase(user.name.charAt(0));\n      } else {\n        initials = angular.uppercase(user.first_name.charAt(0));\n        initials = initials + angular.uppercase(user.last_name.charAt(0));\n      }\n    }\n    return initials;\n  }\n\n  c.company = {\n    name: \"AWS\",\n    icon: \"#icon-aws\",\n    util_percent: \"82%\",\n    underutil_percent: \"10%\",\n    vm_list: [{\n      vmnumber: \"VM1\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"32%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM2\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"28%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM3\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"18%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }]\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.each-row {\n  display: flex;\n  padding: 10px 10px;\n  justify-content: space-between;\n  align-items: center;\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      //  width: 60px;\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n  .first-box {\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 11px;\n      color: #909090;\n    }\n  }\n  .second-box {\n    width: 50%;\n    p {\n      margin-left: 0px;\n    }\n    .progress-text {\n      color: #3693e1;\n    }\n    .percent-complete {\n      color: #909090;\n    }\n    .progress {\n      margin-bottom: 0px;\n      height: 14px;\n      .progress-bar {\n        background: #3693e1;\n      }\n    }\n  }\n}\n\n.underutil {\n  padding: 10px 0px;\n  .heading {\n    font-size: 18px;\n    color: #626262;\n    font-weight: 600;\n    padding: 0px 10px;\n  }\n  .util {\n    width: 30%;\n    .percent-number {\n      font-size: 18px;\n      text-align: center;\n      color: #2abd68;\n    }\n    .progress-bar {\n      background: #2abd68;\n    }\n    .bottom-title {\n      font-size: 10px;\n      font-weight: 600;\n      text-align: center;\n      color: #9f9f9f;\n    }\n  }\n  .light-grey-bg {\n    background: #f9f9f9 !important;\n  }\n  .underutil-prog {\n    width: 30%;\n    .percent-number {\n      font-size: 18px;\n      text-align: center;\n      color: #e51b24;\n    }\n    .progress-bar {\n      background: #e51b24;\n    }\n    .bottom-title {\n      font-size: 10px;\n      font-weight: 600;\n      text-align: center;\n      color: #9f9f9f;\n    }\n  }\n  .panel-default {\n    border: 0px;\n    .panel-heading {\n      padding: 20px 10px; // color: #000;\n      background: inherit;\n      border: 0px;\n    }\n  }\n  .panel {\n    border-radius: 0px !important;\n    margin-bottom: 0px;\n    background: #fff;\n    border: 0px;\n    border-radius: 0px;\n    box-shadow: none;\n  }\n  .panel-body {\n    padding: 0px;\n    border: 0px;\n    border-top: 0px !important;\n  }\n  .panel-collapse {\n    padding: 10px 10px;\n  }\n  .each-company {\n    // padding: 20px 10px;\n    border-bottom: 1px solid #dcdcdc;\n    .heading-little {\n      font-size: 12px;\n      text-align: center;\n      font-weight: bold;\n      color: #595959;\n      text-transform: uppercase;\n    }\n    .flex-them {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      .progress {\n        //width: 25%;\n        margin-bottom: 0px;\n        height: 5px;\n        .progress-bar {\n          height: 5px;\n        }\n      }\n    }\n    .svg-icon {\n      height: 23px;\n      width: 27px;\n      fill: #9C9C9C;\n    }\n    p {\n      margin-left: 5px;\n      margin-bottom: 0px;\n    }\n    .flex-it {\n      display: flex;\n      justify-content: flex-start;\n      align-items: center;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-cloud-sprawl-card-utilization-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Sprawl Card Utilization Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.user_sys_id = gs.getUserID();\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[\\- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-28 20:49:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5302771d13f13200d15e3d7ed144b065&lt;/sys_id&gt;&lt;sys_mod_count&gt;15&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Sprawl Card Utilization Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_5302771d13f13200d15e3d7ed144b065&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-11 19:42:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g id=\"Page-1\"&gt;\n      &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\"&gt;\n        &lt;g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\"&gt;\n          &lt;polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"&gt;&lt;/polygon&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g id=\"Page-1\"&gt;\n      &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\"&gt;\n        &lt;g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\"&gt;\n          &lt;polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"&gt;&lt;/polygon&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\"&gt;\n        &lt;g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\"&gt;\n          &lt;path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n            id=\"Fill-1\"&gt;&lt;/path&gt;\n          &lt;path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n            id=\"Fill-3\"&gt;&lt;/path&gt;\n          &lt;path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n            id=\"Fill-5\"&gt;&lt;/path&gt;\n          &lt;path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n            id=\"Fill-7\"&gt;&lt;/path&gt;\n          &lt;path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n            id=\"Fill-9\"&gt;&lt;/path&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"each-row\" ng-repeat=\"each in c.company.vm_list\"&gt;\n  &lt;div class=\"first-box\"&gt;\n    &lt;p class=\"big-text\"&gt;{{each.vmnumber}}&lt;/p&gt;\n    &lt;p class=\"small-text\"&gt;{{each.vm_number}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"second-box\"&gt;\n    &lt;p class=\"progress-text\"&gt;{{each.progress_text}}&lt;/p&gt;\n    &lt;div class=\"progress\"&gt;\n      &lt;div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width': each.progress}\"&gt;\n        &lt;span class=\"sr-only\"&gt;60% Complete&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;p class=\"percent-complete\"&gt;{{each.progress}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"third-box\"&gt;\n    &lt;div class=\"media  people-card-media\"&gt;\n      &lt;div class=\"media-left \"&gt;\n        &lt;div class=\"person-photo \"&gt;\n          &lt;img ng-if=\"each.user.photo\" class=\"media-object list__photo img-circle ng-scope\" ng-src=\"{{data.user_photo}}\"&gt;\n          &lt;div ng-if=\"!each.user.photo \" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n            &lt;span class=\"\" ng-bind=\"c.getInitials(each.user)\"&gt;&lt;/span&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1309911101</payload_hash>\n<remote_update_set display_value=\"PE Cloud Sprawl Card Utilization Snippet\">aebcbb09dbecc700a0785404ce9619f7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-08-11 19:43:20</sys_created_on>\n<sys_id>a2bcbb09dbecc700a0785404ce9619f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15dd2d19d400000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-08-11 19:43:20</sys_updated_on>\n<table/>\n<target_name>PE Cloud Sprawl Card Utilization Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>6b7c3bc548ecc7003775ded4b1a18c0d</update_guid>\n<update_guid_history>6b7c3bc548ecc7003775ded4b1a18c0d:-1309911101,40eb7fc54decc700bf1802bb8e449fa8:1409125290,9b4bf7c5e0ecc700ae0c552cf514c3ed:732180715,-124847525:-124847525</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-card-utilization-snippet/widget/pe-cloud-sprawl-card-utilization-snippet.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g id=\"Page-1\">\n      <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\">\n        <g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\">\n          <polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"></polygon>\n          <polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"></polygon>\n          <polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"></polygon>\n          <polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"></polygon>\n        </g>\n      </g>\n    </g>\n  </symbol>\n  <symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g id=\"Page-1\">\n      <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\">\n        <g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\">\n          <polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"></polygon>\n          <polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"></polygon>\n          <polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"></polygon>\n          <polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"></polygon>\n          <polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"></polygon>\n          <polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"></polygon>\n          <polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"></polygon>\n          <polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"></polygon>\n          <polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"></polygon>\n        </g>\n      </g>\n    </g>\n  </symbol>\n  <symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\">\n        <g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\">\n          <path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n            id=\"Fill-1\"></path>\n          <path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n            id=\"Fill-3\"></path>\n          <path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n            id=\"Fill-5\"></path>\n          <path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n            id=\"Fill-7\"></path>\n          <path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n            id=\"Fill-9\"></path>\n        </g>\n      </g>\n    </g>\n  </symbol>\n</svg>\n<div class=\"each-row\" ng-repeat=\"each in c.company.vm_list\">\n  <div class=\"first-box\">\n    <p class=\"big-text\">{{each.vmnumber}}</p>\n    <p class=\"small-text\">{{each.vm_number}}</p>\n  </div>\n  <div class=\"second-box\">\n    <p class=\"progress-text\">{{each.progress_text}}</p>\n    <div class=\"progress\">\n      <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width': each.progress}\">\n        <span class=\"sr-only\">60% Complete</span>\n      </div>\n    </div>\n    <p class=\"percent-complete\">{{each.progress}}</p>\n  </div>\n  <div class=\"third-box\">\n    <div class=\"media  people-card-media\">\n      <div class=\"media-left \">\n        <div class=\"person-photo \">\n          <img ng-if=\"each.user.photo\" class=\"media-object list__photo img-circle ng-scope\" ng-src=\"{{data.user_photo}}\">\n          <div ng-if=\"!each.user.photo \" class=\"badge initials-badge\" data-original-title=\"\" title=\"\">\n            <span class=\"\" ng-bind=\"c.getInitials(each.user)\"></span>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-card-utilization-snippet/widget/pe-cloud-sprawl-card-utilization-snippet.u-client-script.js",
    "content": "function CardUtilizationController() {\n  var c = this;\n  c.getInitials = getInitials;\n\n  function getInitials(user) {\n    var initials = '';\n    if (user && !user.photo) {\n      if (!user.first_name || !user.last_name) {\n        initials = angular.uppercase(user.name.charAt(0));\n      } else {\n        initials = angular.uppercase(user.first_name.charAt(0));\n        initials = initials + angular.uppercase(user.last_name.charAt(0));\n      }\n    }\n    return initials;\n  }\n\n  c.company = {\n    name: \"AWS\",\n    icon: \"#icon-aws\",\n    util_percent: \"82%\",\n    underutil_percent: \"10%\",\n    vm_list: [{\n      vmnumber: \"VM1\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"32%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM2\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"28%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM3\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"18%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }]\n  };\n}"
  },
  {
    "path": "pe-cloud-sprawl-card-utilization-snippet/widget/pe-cloud-sprawl-card-utilization-snippet.u-css.scss",
    "content": ".each-row {\n  display: flex;\n  padding: 10px 10px;\n  justify-content: space-between;\n  align-items: center;\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      //  width: 60px;\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n  .first-box {\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 11px;\n      color: #909090;\n    }\n  }\n  .second-box {\n    width: 50%;\n    p {\n      margin-left: 0px;\n    }\n    .progress-text {\n      color: #3693e1;\n    }\n    .percent-complete {\n      color: #909090;\n    }\n    .progress {\n      margin-bottom: 0px;\n      height: 14px;\n      .progress-bar {\n        background: #3693e1;\n      }\n    }\n  }\n}\n\n.underutil {\n  padding: 10px 0px;\n  .heading {\n    font-size: 18px;\n    color: #626262;\n    font-weight: 600;\n    padding: 0px 10px;\n  }\n  .util {\n    width: 30%;\n    .percent-number {\n      font-size: 18px;\n      text-align: center;\n      color: #2abd68;\n    }\n    .progress-bar {\n      background: #2abd68;\n    }\n    .bottom-title {\n      font-size: 10px;\n      font-weight: 600;\n      text-align: center;\n      color: #9f9f9f;\n    }\n  }\n  .light-grey-bg {\n    background: #f9f9f9 !important;\n  }\n  .underutil-prog {\n    width: 30%;\n    .percent-number {\n      font-size: 18px;\n      text-align: center;\n      color: #e51b24;\n    }\n    .progress-bar {\n      background: #e51b24;\n    }\n    .bottom-title {\n      font-size: 10px;\n      font-weight: 600;\n      text-align: center;\n      color: #9f9f9f;\n    }\n  }\n  .panel-default {\n    border: 0px;\n    .panel-heading {\n      padding: 20px 10px; // color: #000;\n      background: inherit;\n      border: 0px;\n    }\n  }\n  .panel {\n    border-radius: 0px !important;\n    margin-bottom: 0px;\n    background: #fff;\n    border: 0px;\n    border-radius: 0px;\n    box-shadow: none;\n  }\n  .panel-body {\n    padding: 0px;\n    border: 0px;\n    border-top: 0px !important;\n  }\n  .panel-collapse {\n    padding: 10px 10px;\n  }\n  .each-company {\n    // padding: 20px 10px;\n    border-bottom: 1px solid #dcdcdc;\n    .heading-little {\n      font-size: 12px;\n      text-align: center;\n      font-weight: bold;\n      color: #595959;\n      text-transform: uppercase;\n    }\n    .flex-them {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      .progress {\n        //width: 25%;\n        margin-bottom: 0px;\n        height: 5px;\n        .progress-bar {\n          height: 5px;\n        }\n      }\n    }\n    .svg-icon {\n      height: 23px;\n      width: 27px;\n      fill: #9C9C9C;\n    }\n    p {\n      margin-left: 5px;\n      margin-bottom: 0px;\n    }\n    .flex-it {\n      display: flex;\n      justify-content: flex-start;\n      align-items: center;\n    }\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-card-utilization-snippet/widget/pe-cloud-sprawl-card-utilization-snippet.u-server-script.js",
    "content": "(function() {\n  data.user_sys_id = gs.getUserID();\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[\\- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n})();"
  },
  {
    "path": "pe-cloud-sprawl-info-cost-snippet/Readme.md",
    "content": "# Info Cost\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing sub sections with quick reference data.\n\n## Screenshots\n![](../images/pe-cloud-sprawl-info-cost-snippet.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-info-cost-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-info-cost-snippet/pe-cloud-sprawl-info-cost-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as a JSON object in the Client Script controller.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-info-cost-snippet/pe-cloud-sprawl-info-cost-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-28 22:53:28\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-cloud-sprawl-info-cost-snippet</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>ec9f80a913353200d15e3d7ed144b090</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-28 22:53:28</sys_created_on>\n<sys_id>a10018a913353200d15e3d7ed144b02e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-28 22:53:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3234df9913f532007e94fc5ed144b078</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function InfoCostSnippet() {\n  /* widget controller */\n  var c = this;\n  c.threetabs = {\n    first_tab: {\n      name: \"Reclaimed VMs\",\n      badge_number: 13,\n      badge_color: \"bg-red\",\n\n      list: [{\n        icon: \"#icon-aws\",\n        company: \"AWS\",\n        cost: \"$43k\",\n        virtual_m: \"28\"\n      }, {\n        icon: \"#icon-azure\",\n        company: \"azure\",\n        cost: \"$14k\",\n        virtual_m: \"9\"\n      }, {\n        icon: \"#icon-vmware\",\n        company: \"VMW\",\n        cost: \"$12k\",\n        virtual_m: \"9\"\n      }]\n\n\n    },\n    second_tab: {\n      name: \"expiring soon\",\n      badge_number: 5,\n      badge_color: \"bg-orange\",\n      list: [{\n        icon: \"#icon-aws\",\n        company: \"AWS\",\n        lease: \"Expires in 3 days\",\n        vimnumber: \"VM10\",\n        vim_number: \"REQ05001\",\n        user: {\n          fname: \"David\",\n          lname: \"Hoffman\",\n          name: \"David Hoffman\",\n          photo: \"22d959621398fe00f7f5bcc32244b0d2.iix\",\n          title: \"Application Manager\",\n          phone: \"8581234567\"\n\n        }\n      }, {\n\n        icon: \"#icon-aws\",\n        company: \"AWS\",\n        lease: \"Expires in 5 days\",\n        vimnumber: \"VM20\",\n        vim_number: \"REQ05001\",\n        user: {\n          fname: \"jose\",\n          lname: \"riley\",\n          name: \"Jose Riley\",\n          photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n          title: \"Application Manager\",\n          phone: \"8581234567\"\n\n        }\n      }, {\n        icon: \"#icon-aws\",\n        company: \"AWS\",\n        lease: \"Expires in 10 days\",\n        vimnumber: \"VM30\",\n        vim_number: \"REQ05001\",\n        user: {\n          fname: \"greg\",\n          lname: \"hill\",\n          name: \"Greg Hill\",\n          photo: \"743a51a21398fe00f7f5bcc32244b067.iix\",\n          title: \"Application Manager\",\n          phone: \"8581234567\"\n\n        }\n      }, {\n        icon: \"#icon-azure\",\n        company: \"Azure\",\n        lease: \"Expires in 5 days\",\n        vimnumber: \"VM40\",\n        vim_number: \"REQ05001\",\n        user: {\n          fname: \"Andrew\",\n          lname: \"Garner\",\n          name: \"Jose Riley\",\n          photo: \"90f8d5621398fe00f7f5bcc32244b00b.iix\",\n          title: \"Application Manager\",\n          phone: \"8581234567\"\n\n        }\n      }, {\n        icon: \"#icon-vmware\",\n        company: \"VMW\",\n        lease: \"Expires in 10 days\",\n        vimnumber: \"VM50\",\n        vim_number: \"REQ05001\",\n        user: {\n          fname: \"edward\",\n          lname: \"scott\",\n          name: \"Edward Scott\",\n          photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\n          title: \"IT Manager\",\n          phone: \"8581234567\"\n\n        }\n      }]\n    },\n\n\n    third_tab: {\n      name: \"new vms\",\n      badge_number: 10,\n      badge_color: \"bg-green\",\n      list: [{\n        icon: \"#icon-aws\",\n        company: \"AWS\",\n        cost: \"$27.6k/month\",\n        virtual_m: \"5\"\n      }, {\n        icon: \"#icon-azure\",\n        company: \"Azure\",\n        cost: \"$13.8k/month\",\n        virtual_m: \"3\"\n      }, {\n        icon: \"#icon-vmware\",\n        company: \"VMW\",\n        cost: \"$9.2k/month\",\n        virtual_m: \"2\"\n      }]\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.first-tab-details {\n  padding: 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: space-around;\n    p {\n      color: #9C9C9C;\n    }\n  }\n  .svg-icon {\n    height: 23px;\n    width: 27px;\n    fill: #9C9C9C;\n  }\n  p {\n    margin-left: 5px;\n    margin-bottom: 0px;\n  }\n  .detail-numbers {\n    font-size: 18px;\n    color: #595959;\n  }\n}\n\n.vmwwidth {\n  width: 80px !important;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-cloud-sprawl-info-cost-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Sprawl Info Cost Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-28 18:32:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3234df9913f532007e94fc5ed144b078&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Sprawl Info Cost Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3234df9913f532007e94fc5ed144b078&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-28 18:42:45&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"first-tab-details\" ng-repeat=\"each in c.threetabs.first_tab.list | filter:filter\" ng-class-even=\"'light-grey-bg'\"&gt;\n  &lt;div class=\"flex-it\"&gt;\n    &lt;svg ng-class=\"{'vmwwidth': each.company == 'VMW'}\" class=\"svg-icon\"&gt;\n      &lt;use xlink:href='{{each.icon}}'&gt;&lt;/use&gt;\n    &lt;/svg&gt;\n    &lt;p ng-if=\"each.company != 'VMW'\"&gt;{{each.company}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div&gt;\n    &lt;p class=\"small-text\"&gt;cost&lt;/p&gt;\n    &lt;p class=\"detail-numbers\"&gt;{{each.cost}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div&gt;\n    &lt;p class=\"small-text\"&gt;virtual machines&lt;/p&gt;\n    &lt;p class=\"detail-numbers\"&gt;{{each.virtual_m}}&lt;/p&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"pe-cloud-sprawl-info-cost-snippet\">a10018a913353200d15e3d7ed144b02e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-28 22:53:28</sys_created_on>\n<sys_id>650018a913353200d15e3d7ed144b02e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-28 22:53:28</sys_updated_on>\n<table/>\n<target_name>PE Cloud Sprawl Info Cost Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-info-cost-snippet/widget/pe-cloud-sprawl-info-cost-snippet.u-body-html-template.html",
    "content": "<div class=\"first-tab-details\" ng-repeat=\"each in c.threetabs.first_tab.list | filter:filter\" ng-class-even=\"'light-grey-bg'\">\r\n  <div class=\"flex-it\">\r\n    <svg ng-class=\"{'vmwwidth': each.company == 'VMW'}\" class=\"svg-icon\">\r\n      <use xlink:href='{{each.icon}}'></use>\r\n    </svg>\r\n    <p ng-if=\"each.company != 'VMW'\">{{each.company}}</p>\r\n  </div>\r\n  <div>\r\n    <p class=\"small-text\">cost</p>\r\n    <p class=\"detail-numbers\">{{each.cost}}</p>\r\n  </div>\r\n  <div>\r\n    <p class=\"small-text\">virtual machines</p>\r\n    <p class=\"detail-numbers\">{{each.virtual_m}}</p>\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-info-cost-snippet/widget/pe-cloud-sprawl-info-cost-snippet.u-client-script.js",
    "content": "function InfoCostSnippet() {\r\n  /* widget controller */\r\n  var c = this;\r\n  c.threetabs = {\r\n    first_tab: {\r\n      name: \"Reclaimed VMs\",\r\n      badge_number: 13,\r\n      badge_color: \"bg-red\",\r\n\r\n      list: [{\r\n        icon: \"#icon-aws\",\r\n        company: \"AWS\",\r\n        cost: \"$43k\",\r\n        virtual_m: \"28\"\r\n      }, {\r\n        icon: \"#icon-azure\",\r\n        company: \"azure\",\r\n        cost: \"$14k\",\r\n        virtual_m: \"9\"\r\n      }, {\r\n        icon: \"#icon-vmware\",\r\n        company: \"VMW\",\r\n        cost: \"$12k\",\r\n        virtual_m: \"9\"\r\n      }]\r\n\r\n\r\n    },\r\n    second_tab: {\r\n      name: \"expiring soon\",\r\n      badge_number: 5,\r\n      badge_color: \"bg-orange\",\r\n      list: [{\r\n        icon: \"#icon-aws\",\r\n        company: \"AWS\",\r\n        lease: \"Expires in 3 days\",\r\n        vimnumber: \"VM10\",\r\n        vim_number: \"REQ05001\",\r\n        user: {\r\n          fname: \"David\",\r\n          lname: \"Hoffman\",\r\n          name: \"David Hoffman\",\r\n          photo: \"22d959621398fe00f7f5bcc32244b0d2.iix\",\r\n          title: \"Application Manager\",\r\n          phone: \"8581234567\"\r\n\r\n        }\r\n      }, {\r\n\r\n        icon: \"#icon-aws\",\r\n        company: \"AWS\",\r\n        lease: \"Expires in 5 days\",\r\n        vimnumber: \"VM20\",\r\n        vim_number: \"REQ05001\",\r\n        user: {\r\n          fname: \"jose\",\r\n          lname: \"riley\",\r\n          name: \"Jose Riley\",\r\n          photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\r\n          title: \"Application Manager\",\r\n          phone: \"8581234567\"\r\n\r\n        }\r\n      }, {\r\n        icon: \"#icon-aws\",\r\n        company: \"AWS\",\r\n        lease: \"Expires in 10 days\",\r\n        vimnumber: \"VM30\",\r\n        vim_number: \"REQ05001\",\r\n        user: {\r\n          fname: \"greg\",\r\n          lname: \"hill\",\r\n          name: \"Greg Hill\",\r\n          photo: \"743a51a21398fe00f7f5bcc32244b067.iix\",\r\n          title: \"Application Manager\",\r\n          phone: \"8581234567\"\r\n\r\n        }\r\n      }, {\r\n        icon: \"#icon-azure\",\r\n        company: \"Azure\",\r\n        lease: \"Expires in 5 days\",\r\n        vimnumber: \"VM40\",\r\n        vim_number: \"REQ05001\",\r\n        user: {\r\n          fname: \"Andrew\",\r\n          lname: \"Garner\",\r\n          name: \"Jose Riley\",\r\n          photo: \"90f8d5621398fe00f7f5bcc32244b00b.iix\",\r\n          title: \"Application Manager\",\r\n          phone: \"8581234567\"\r\n\r\n        }\r\n      }, {\r\n        icon: \"#icon-vmware\",\r\n        company: \"VMW\",\r\n        lease: \"Expires in 10 days\",\r\n        vimnumber: \"VM50\",\r\n        vim_number: \"REQ05001\",\r\n        user: {\r\n          fname: \"edward\",\r\n          lname: \"scott\",\r\n          name: \"Edward Scott\",\r\n          photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\r\n          title: \"IT Manager\",\r\n          phone: \"8581234567\"\r\n\r\n        }\r\n      }]\r\n    },\r\n\r\n\r\n    third_tab: {\r\n      name: \"new vms\",\r\n      badge_number: 10,\r\n      badge_color: \"bg-green\",\r\n      list: [{\r\n        icon: \"#icon-aws\",\r\n        company: \"AWS\",\r\n        cost: \"$27.6k/month\",\r\n        virtual_m: \"5\"\r\n      }, {\r\n        icon: \"#icon-azure\",\r\n        company: \"Azure\",\r\n        cost: \"$13.8k/month\",\r\n        virtual_m: \"3\"\r\n      }, {\r\n        icon: \"#icon-vmware\",\r\n        company: \"VMW\",\r\n        cost: \"$9.2k/month\",\r\n        virtual_m: \"2\"\r\n      }]\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-cost-snippet/widget/pe-cloud-sprawl-info-cost-snippet.u-css.scss",
    "content": ".first-tab-details {\n  padding: 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: space-around;\n    p {\n      color: #9C9C9C;\n    }\n  }\n  .svg-icon {\n    height: 23px;\n    width: 27px;\n    fill: #9C9C9C;\n  }\n  p {\n    margin-left: 5px;\n    margin-bottom: 0px;\n  }\n  .detail-numbers {\n    font-size: 18px;\n    color: #595959;\n  }\n}\n\n.vmwwidth {\n  width: 80px !important;\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-cost-snippet/widget/pe-cloud-sprawl-info-cost-snippet.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-cloud-sprawl-info-snippet/Readme.md",
    "content": "# Info Snippet\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing quick reference data.\n\n## Screenshots\n![](../images/pe-cloud-sprawl-info-snippet.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-info-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-info-snippet/pe-cloud-sprawl-info-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as a JSON object in the Client Script controller.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-info-snippet/pe-cloud-sprawl-info-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-28 22:56:18\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-cloud-sprawl-info-snippet</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>253098a913353200d15e3d7ed144b011</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-28 22:56:18</sys_created_on>\n<sys_id>3ea05ca913353200d15e3d7ed144b0df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-28 22:56:18</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1e650f5113f532007e94fc5ed144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function InfoSnippet() {\n  /* widget controller */\n  var c = this;\n\n\n  c.userOne = {\n    fname: \"jose\",\n    lname: \"riley\",\n    name: \"Jose Riley\",\n    photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n    title: \"Application Manager\",\n    phone: \"8581234567\",\n\n    spending: [\n\n      {\n        text: \"$8K this month\",\n        icon: \"#icon-aws\",\n        company: \"AWS\"\n      }, {\n        text: \"$22K this month\",\n        icon: \"#icon-azure\",\n        company: \"Azure\"\n      }\n    ]\n  };\n\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.spending-foruser {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 10px;\n  border-bottom: 1px solid #f3f3f3;\n  .left-text {\n    font-size: 20px;\n    color: #595959;\n    p {\n      margin-bottom: 0px;\n    }\n  }\n  .right-text {\n    display: flex;\n    align-items: center;\n    font-size: 16px;\n    color: #9c9c9c;\n    .svg-icon {\n      height: 23px;\n      width: 27px;\n      fill: #9C9C9C;\n    }\n    p {\n      margin-left: 5px;\n      margin-bottom: 0px;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-cloud-sprawl-info-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Sprawl Info Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-28 17:28:21&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1e650f5113f532007e94fc5ed144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Sprawl Info Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1e650f5113f532007e94fc5ed144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-28 17:40:45&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n\n        &lt;symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n            &lt;g id=\"Page-1\"&gt;\n                &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\"&gt;\n                    &lt;g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\"&gt;\n                        &lt;polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"&gt;&lt;/polygon&gt;\n                    &lt;/g&gt;\n                &lt;/g&gt;\n            &lt;/g&gt;\n        &lt;/symbol&gt;\n        &lt;symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n            &lt;g id=\"Page-1\"&gt;\n                &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\"&gt;\n                    &lt;g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\"&gt;\n                        &lt;polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"&gt;&lt;/polygon&gt;\n                        &lt;polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"&gt;&lt;/polygon&gt;\n                    &lt;/g&gt;\n                &lt;/g&gt;\n            &lt;/g&gt;\n        &lt;/symbol&gt;\n        &lt;symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n            &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n                &lt;g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\"&gt;\n                    &lt;g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\"&gt;\n                        &lt;path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n                        id=\"Fill-1\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n                        id=\"Fill-3\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n                        id=\"Fill-5\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n                        id=\"Fill-7\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n                        id=\"Fill-9\"&gt;&lt;/path&gt;\n                    &lt;/g&gt;\n                &lt;/g&gt;\n            &lt;/g&gt;\n        &lt;/symbol&gt;\n    &lt;/svg&gt;\n\n&lt;div ng-repeat=\"spend in c.userOne.spending\" class=\"spending-foruser\"&gt;\n  &lt;p class=\"left-text\"&gt;{{spend.text}}&lt;/p&gt;\n  &lt;div class=\"right-text\"&gt;\n    &lt;svg class=\"svg-icon\"&gt;\n      &lt;use xlink:href='{{spend.icon}}'&gt;&lt;/use&gt;\n    &lt;/svg&gt;\n    &lt;p&gt;{{spend.company}}&lt;/p&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"pe-cloud-sprawl-info-snippet\">3ea05ca913353200d15e3d7ed144b0df</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-28 22:56:18</sys_created_on>\n<sys_id>fea05ca913353200d15e3d7ed144b0df</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-28 22:56:18</sys_updated_on>\n<table/>\n<target_name>PE Cloud Sprawl Info Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-info-snippet/widget/pe-cloud-sprawl-info-snippet.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\r\n\r\n        <symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n            <g id=\"Page-1\">\r\n                <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\">\r\n                    <g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\">\r\n                        <polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"></polygon>\r\n                        <polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"></polygon>\r\n                        <polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"></polygon>\r\n                        <polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"></polygon>\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </symbol>\r\n        <symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n            <g id=\"Page-1\">\r\n                <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\">\r\n                    <g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\">\r\n                        <polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"></polygon>\r\n                        <polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"></polygon>\r\n                        <polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"></polygon>\r\n                        <polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"></polygon>\r\n                        <polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"></polygon>\r\n                        <polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"></polygon>\r\n                        <polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"></polygon>\r\n                        <polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"></polygon>\r\n                        <polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"></polygon>\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </symbol>\r\n        <symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n            <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n                <g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\">\r\n                    <g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\">\r\n                        <path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\r\n                        id=\"Fill-1\"></path>\r\n                        <path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\r\n                        id=\"Fill-3\"></path>\r\n                        <path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\r\n                        id=\"Fill-5\"></path>\r\n                        <path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\r\n                        id=\"Fill-7\"></path>\r\n                        <path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\r\n                        id=\"Fill-9\"></path>\r\n                    </g>\r\n                </g>\r\n            </g>\r\n        </symbol>\r\n    </svg>\r\n\r\n<div ng-repeat=\"spend in c.userOne.spending\" class=\"spending-foruser\">\r\n  <p class=\"left-text\">{{spend.text}}</p>\r\n  <div class=\"right-text\">\r\n    <svg class=\"svg-icon\">\r\n      <use xlink:href='{{spend.icon}}'></use>\r\n    </svg>\r\n    <p>{{spend.company}}</p>\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-info-snippet/widget/pe-cloud-sprawl-info-snippet.u-client-script.js",
    "content": "function InfoSnippet() {\r\n  /* widget controller */\r\n  var c = this;\r\n\r\n\r\n  c.userOne = {\r\n    fname: \"jose\",\r\n    lname: \"riley\",\r\n    name: \"Jose Riley\",\r\n    photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\r\n    title: \"Application Manager\",\r\n    phone: \"8581234567\",\r\n\r\n    spending: [\r\n\r\n      {\r\n        text: \"$8K this month\",\r\n        icon: \"#icon-aws\",\r\n        company: \"AWS\"\r\n      }, {\r\n        text: \"$22K this month\",\r\n        icon: \"#icon-azure\",\r\n        company: \"Azure\"\r\n      }\r\n    ]\r\n  };\r\n\r\n\r\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-snippet/widget/pe-cloud-sprawl-info-snippet.u-css.scss",
    "content": ".spending-foruser {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 10px;\n  border-bottom: 1px solid #f3f3f3;\n  .left-text {\n    font-size: 20px;\n    color: #595959;\n    p {\n      margin-bottom: 0px;\n    }\n  }\n  .right-text {\n    display: flex;\n    align-items: center;\n    font-size: 16px;\n    color: #9c9c9c;\n    .svg-icon {\n      height: 23px;\n      width: 27px;\n      fill: #9C9C9C;\n    }\n    p {\n      margin-left: 5px;\n      margin-bottom: 0px;\n    }\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-snippet/widget/pe-cloud-sprawl-info-snippet.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-cloud-sprawl-info-utilization-snippet/Readme.md",
    "content": "# Info Utilization Snippet\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing quick reference data and charts.\n\n## Screenshots\n![](../images/pe-cloud-sprawl-info-utilization-snippet.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-info-utilization-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-info-utilization-snippet/pe-cloud-sprawl-info-utilization-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as a JSON object in the Client Script controller.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-info-utilization-snippet/pe-cloud-sprawl-info-utilization-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-08-12 03:37:31\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Cloud Sprawl Info Utilization Snippet</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>360821d5dba44700db45bff0ef9619e7</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-08-12 03:37:31</sys_created_on>\n<sys_id>e0496159dba44700db45bff0ef961958</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-08-12 03:37:31</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_2ab9571d13f532007e94fc5ed144b08a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function InfoUtilizationController() {\n  var c = this;\n\n  c.company = {\n    name: \"AWS\",\n    icon: \"#icon-aws\",\n    util_percent: \"82%\",\n    underutil_percent: \"10%\",\n    vm_list: [{\n      vmnumber: \"VM1\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"32%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM2\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"28%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM3\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"18%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }]\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.heading {\n  font-size: 18px;\n  color: #626262;\n  font-weight: 600;\n  padding: 0px 10px;\n}\n\n.util {\n  width: 30%;\n  .percent-number {\n    font-size: 18px;\n    text-align: center;\n    color: #2abd68;\n  }\n  .progress-bar {\n    background: #2abd68;\n  }\n  .bottom-title {\n    font-size: 10px;\n    font-weight: 600;\n    text-align: center;\n    color: #9f9f9f;\n  }\n}\n\n.light-grey-bg {\n  background: #f9f9f9 !important;\n}\n\n.underutil-prog {\n  width: 30%;\n  .percent-number {\n    font-size: 18px;\n    text-align: center;\n    color: #e51b24;\n  }\n  .progress-bar {\n    background: #e51b24;\n  }\n  .bottom-title {\n    font-size: 10px;\n    font-weight: 600;\n    text-align: center;\n    color: #9f9f9f;\n  }\n}\n\n.panel-default {\n  border: 0px;\n  .panel-heading {\n    padding: 20px 10px; // color: #000;\n    background: inherit;\n    border: 0px;\n  }\n}\n\n.panel {\n  border-radius: 0px !important;\n  margin-bottom: 0px;\n  background: #fff;\n  border: 0px;\n  border-radius: 0px;\n  box-shadow: none;\n}\n\n.panel-body {\n  padding: 0px;\n  border: 0px;\n  border-top: 0px !important;\n}\n\n.panel-collapse {\n  padding: 10px 10px;\n}\n\n.heading-little {\n  font-size: 12px;\n  text-align: center;\n  font-weight: bold;\n  color: #595959;\n  text-transform: uppercase;\n}\n\n.flex-them {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  .progress {\n    //width: 25%;\n    margin-bottom: 0px;\n    height: 5px;\n    .progress-bar {\n      height: 5px;\n    }\n  }\n}\n\n.svg-icon {\n  height: 23px;\n  width: 27px;\n  fill: #9C9C9C;\n}\n\np {\n  margin-left: 5px;\n  margin-bottom: 0px;\n}\n\n.flex-it {\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n.each-row {\n  display: flex;\n  padding: 10px 10px;\n  justify-content: space-between;\n  align-items: center;\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      //  width: 60px;\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n  .first-box {\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 11px;\n      color: #909090;\n    }\n  }\n  .second-box {\n    width: 50%;\n    p {\n      margin-left: 0px;\n    }\n    .progress-text {\n      color: #3693e1;\n    }\n    .percent-complete {\n      color: #909090;\n    }\n    .progress {\n      margin-bottom: 0px;\n      height: 14px;\n      .progress-bar {\n        background: #3693e1;\n      }\n    }\n  }\n}\n\n.vmwwidth {\n  width: 80px !important;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-cloud-sprawl-info-utilization-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Sprawl Info Utilization Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-28 18:57:49&lt;/sys_created_on&gt;&lt;sys_id&gt;2ab9571d13f532007e94fc5ed144b08a&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Sprawl Info Utilization Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_2ab9571d13f532007e94fc5ed144b08a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-12 03:35:48&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n\n  &lt;symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g id=\"Page-1\"&gt;\n      &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\"&gt;\n        &lt;g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\"&gt;\n          &lt;polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"&gt;&lt;/polygon&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g id=\"Page-1\"&gt;\n      &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\"&gt;\n        &lt;g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\"&gt;\n          &lt;polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"&gt;&lt;/polygon&gt;\n          &lt;polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"&gt;&lt;/polygon&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\"&gt;\n        &lt;g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\"&gt;\n          &lt;path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n            id=\"Fill-1\"&gt;&lt;/path&gt;\n          &lt;path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n            id=\"Fill-3\"&gt;&lt;/path&gt;\n          &lt;path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n            id=\"Fill-5\"&gt;&lt;/path&gt;\n          &lt;path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n            id=\"Fill-7\"&gt;&lt;/path&gt;\n          &lt;path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n            id=\"Fill-9\"&gt;&lt;/path&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div class=\"flex-them\"&gt;\n  &lt;div class=\"flex-it\"&gt;\n    &lt;svg ng-class=\"{'vmwwidth': company.name == 'VMW'}\" class=\"svg-icon\"&gt;\n      &lt;use xlink:href='{{c.company.icon}}'&gt;&lt;/use&gt;\n    &lt;/svg&gt;\n    &lt;p ng-if=\"company.name != 'VMW'\"&gt;{{c.company.name}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"util\"&gt;\n    &lt;p class=\"percent-number\"&gt;\n      {{c.company.util_percent}}\n    &lt;/p&gt;\n    &lt;div class=\"progress \"&gt;\n      &lt;div class=\"progress-bar\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width':c.company.util_percent}\"&gt;\n\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;p class=\"bottom-title\"&gt;\n      AVG UTILIZATION\n    &lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"underutil-prog\"&gt;\n    &lt;p class=\"percent-number\"&gt;\n      {{c.company.underutil_percent}}\n    &lt;/p&gt;\n    &lt;div class=\"progress \"&gt;\n      &lt;div class=\"progress-bar\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width':c.company.underutil_percent}\"&gt;\n\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;p class=\"bottom-title\"&gt;\n      UNDERUTILIZED VMs\n    &lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"expand-icon\"&gt;\n    &lt;i class=\"pull-right glyphicon\" ng-class=\"{'glyphicon-chevron-down': company.open, 'glyphicon-chevron-up': !company.open}\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1433933295</payload_hash>\n<remote_update_set display_value=\"PE Cloud Sprawl Info Utilization Snippet\">e0496159dba44700db45bff0ef961958</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-08-12 03:37:31</sys_created_on>\n<sys_id>e4496159dba44700db45bff0ef961958</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15dd4831da00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-08-12 03:37:31</sys_updated_on>\n<table/>\n<target_name>PE Cloud Sprawl Info Utilization Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>57d86d19c4a447008f092398b43d0767</update_guid>\n<update_guid_history>57d86d19c4a447008f092398b43d0767:1433933295,070821d5c7a44700881298ce7eee64ed:1839603919</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-info-utilization-snippet/widget/pe-cloud-sprawl-info-utilization-snippet.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\r\n\r\n  <symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n    <g id=\"Page-1\">\r\n      <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\">\r\n        <g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\">\r\n          <polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"></polygon>\r\n          <polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"></polygon>\r\n          <polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"></polygon>\r\n          <polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"></polygon>\r\n        </g>\r\n      </g>\r\n    </g>\r\n  </symbol>\r\n  <symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n    <g id=\"Page-1\">\r\n      <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\">\r\n        <g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\">\r\n          <polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"></polygon>\r\n          <polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"></polygon>\r\n          <polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"></polygon>\r\n          <polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"></polygon>\r\n          <polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"></polygon>\r\n          <polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"></polygon>\r\n          <polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"></polygon>\r\n          <polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"></polygon>\r\n          <polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"></polygon>\r\n        </g>\r\n      </g>\r\n    </g>\r\n  </symbol>\r\n  <symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n      <g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\">\r\n        <g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\">\r\n          <path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\r\n            id=\"Fill-1\"></path>\r\n          <path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\r\n            id=\"Fill-3\"></path>\r\n          <path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\r\n            id=\"Fill-5\"></path>\r\n          <path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\r\n            id=\"Fill-7\"></path>\r\n          <path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\r\n            id=\"Fill-9\"></path>\r\n        </g>\r\n      </g>\r\n    </g>\r\n  </symbol>\r\n</svg>\r\n\r\n<div class=\"flex-them\">\r\n  <div class=\"flex-it\">\r\n    <svg ng-class=\"{'vmwwidth': company.name == 'VMW'}\" class=\"svg-icon\">\r\n      <use xlink:href='{{c.company.icon}}'></use>\r\n    </svg>\r\n    <p ng-if=\"company.name != 'VMW'\">{{c.company.name}}</p>\r\n  </div>\r\n  <div class=\"util\">\r\n    <p class=\"percent-number\">\r\n      {{c.company.util_percent}}\r\n    </p>\r\n    <div class=\"progress \">\r\n      <div class=\"progress-bar\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width':c.company.util_percent}\">\r\n\r\n      </div>\r\n    </div>\r\n    <p class=\"bottom-title\">\r\n      AVG UTILIZATION\r\n    </p>\r\n  </div>\r\n  <div class=\"underutil-prog\">\r\n    <p class=\"percent-number\">\r\n      {{c.company.underutil_percent}}\r\n    </p>\r\n    <div class=\"progress \">\r\n      <div class=\"progress-bar\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width':c.company.underutil_percent}\">\r\n\r\n      </div>\r\n    </div>\r\n    <p class=\"bottom-title\">\r\n      UNDERUTILIZED VMs\r\n    </p>\r\n  </div>\r\n  <div class=\"expand-icon\">\r\n    <i class=\"pull-right glyphicon\" ng-class=\"{'glyphicon-chevron-down': company.open, 'glyphicon-chevron-up': !company.open}\"></i>\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-info-utilization-snippet/widget/pe-cloud-sprawl-info-utilization-snippet.u-client-script.js",
    "content": "function InfoUtilizationController() {\n  var c = this;\n\n  c.company = {\n    name: \"AWS\",\n    icon: \"#icon-aws\",\n    util_percent: \"82%\",\n    underutil_percent: \"10%\",\n    vm_list: [{\n      vmnumber: \"VM1\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"32%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM2\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"28%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n      vmnumber: \"VM3\",\n      vm_number: \"MARKETING\",\n      progress_text: \"m1.large\",\n      progress: \"18%\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }]\n  };\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-utilization-snippet/widget/pe-cloud-sprawl-info-utilization-snippet.u-css.scss",
    "content": ".heading {\n  font-size: 18px;\n  color: #626262;\n  font-weight: 600;\n  padding: 0px 10px;\n}\n\n.util {\n  width: 30%;\n  .percent-number {\n    font-size: 18px;\n    text-align: center;\n    color: #2abd68;\n  }\n  .progress-bar {\n    background: #2abd68;\n  }\n  .bottom-title {\n    font-size: 10px;\n    font-weight: 600;\n    text-align: center;\n    color: #9f9f9f;\n  }\n}\n\n.light-grey-bg {\n  background: #f9f9f9 !important;\n}\n\n.underutil-prog {\n  width: 30%;\n  .percent-number {\n    font-size: 18px;\n    text-align: center;\n    color: #e51b24;\n  }\n  .progress-bar {\n    background: #e51b24;\n  }\n  .bottom-title {\n    font-size: 10px;\n    font-weight: 600;\n    text-align: center;\n    color: #9f9f9f;\n  }\n}\n\n.panel-default {\n  border: 0px;\n  .panel-heading {\n    padding: 20px 10px; // color: #000;\n    background: inherit;\n    border: 0px;\n  }\n}\n\n.panel {\n  border-radius: 0px !important;\n  margin-bottom: 0px;\n  background: #fff;\n  border: 0px;\n  border-radius: 0px;\n  box-shadow: none;\n}\n\n.panel-body {\n  padding: 0px;\n  border: 0px;\n  border-top: 0px !important;\n}\n\n.panel-collapse {\n  padding: 10px 10px;\n}\n\n.heading-little {\n  font-size: 12px;\n  text-align: center;\n  font-weight: bold;\n  color: #595959;\n  text-transform: uppercase;\n}\n\n.flex-them {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  .progress {\n    //width: 25%;\n    margin-bottom: 0px;\n    height: 5px;\n    .progress-bar {\n      height: 5px;\n    }\n  }\n}\n\n.svg-icon {\n  height: 23px;\n  width: 27px;\n  fill: #9C9C9C;\n}\n\np {\n  margin-left: 5px;\n  margin-bottom: 0px;\n}\n\n.flex-it {\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n.each-row {\n  display: flex;\n  padding: 10px 10px;\n  justify-content: space-between;\n  align-items: center;\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      //  width: 60px;\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n  .first-box {\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 11px;\n      color: #909090;\n    }\n  }\n  .second-box {\n    width: 50%;\n    p {\n      margin-left: 0px;\n    }\n    .progress-text {\n      color: #3693e1;\n    }\n    .percent-complete {\n      color: #909090;\n    }\n    .progress {\n      margin-bottom: 0px;\n      height: 14px;\n      .progress-bar {\n        background: #3693e1;\n      }\n    }\n  }\n}\n\n.vmwwidth {\n  width: 80px !important;\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-utilization-snippet/widget/pe-cloud-sprawl-info-utilization-snippet.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-cloud-sprawl-info-with-user-snippet/Readme.md",
    "content": "# Info With User Snippet\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing quick reference data.\n\n## Screenshots\n![](../images/pe-cloud-sprawl-info-with-user-snippet.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-info-with-user-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-info-with-user-snippet/pe-cloud-sprawl-info-with-user-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as a JSON object in the Client Script controller.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-info-with-user-snippet/pe-cloud-sprawl-info-with-user-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-28 23:16:50\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-cloud-sprawl-info-with-user-snippet</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>3234542d13353200d15e3d7ed144b050</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-28 23:16:50</sys_created_on>\n<sys_id>f355dc2d13353200d15e3d7ed144b049</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-28 23:16:50</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_b349c71513f532007e94fc5ed144b08f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function InfoUserSnippet($scope) {\n  /* widget controller */\n  var c = this;\n\n  $scope.getinitials = function (user) {\n\n    var initials = \"\";\n    if (user &amp;&amp; !user.photo) {\n      if (!user.first_name || !user.last_name) {\n        initials = angular.uppercase(user.name.charAt(0));\n      } else {\n        initials = angular.uppercase(user.first_name.charAt(0));\n        initials = initials + angular.uppercase(user.last_name.charAt(0));\n      }\n\n    }\n    return initials;\n  };\n\n\n  c.second_tab = {\n    name: \"expiring lease\",\n    badge_number: 5,\n    badge_color: \"bg-orange\",\n    list: [{\n      icon: \"#icon-azure\",\n      company: \"Azure\",\n      lease: \"Jan 5 2017\",\n      vimnumber: \"VM1\",\n      vim_number: \"\",\n      user: {\n        fname: \"edward\",\n        lname: \"scott\",\n        name: \"Edward Scott\",\n        photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\n        title: \"IT Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-aws\",\n      company: \"AWS\",\n      lease: \"Feb 5 2017\",\n      vimnumber: \"VM23\",\n      vim_number: \"\",\n      user: {\n        fname: \"Andrew\",\n        lname: \"Garner\",\n        name: \"Jose Riley\",\n        photo: \"90f8d5621398fe00f7f5bcc32244b00b.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-aws\",\n      company: \"AWS\",\n      lease: \"Feb 5 2017\",\n      vimnumber: \"VM13\",\n      vim_number: \"\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-aws\",\n      company: \"AWS\",\n      lease: \"Feb 25 2017\",\n      vimnumber: \"VM4\",\n      vim_number: \"\",\n      user: {\n        fname: \"greg\",\n        lname: \"hill\",\n        name: \"Greg Hill\",\n        photo: \"743a51a21398fe00f7f5bcc32244b067.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-aws\",\n      company: \"AWS\",\n      lease: \"Feb 35 2017\",\n      vimnumber: \"VM5\",\n      vim_number: \"\",\n      user: {\n        fname: \"David\",\n        lname: \"Hoffman\",\n        name: \"David Hoffman\",\n        photo: \"22d959621398fe00f7f5bcc32244b0d2.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-aws\",\n      company: \"AWS\",\n      lease: \"Feb 45 2017\",\n      vimnumber: \"VM6\",\n      vim_number: \"\",\n      user: {\n        fname: \"Gary\",\n        lname: \"Kim\",\n        name: \"Gary Kim\",\n        photo: \"61ba9d621398fe00f7f5bcc32244b023.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n      }\n    }, {\n\n      icon: \"#icon-azure\",\n      company: \"Azure\",\n      lease: \"Feb 5 2017\",\n      vimnumber: \"VM17\",\n      vim_number: \"\",\n      user: {\n        fname: \"edward\",\n        lname: \"scott\",\n        name: \"Edward Scott\",\n        photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\n        title: \"IT Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-azure\",\n      company: \"Azure\",\n      lease: \"Feb 5 2017\",\n      vimnumber: \"VM18\",\n      vim_number: \"\",\n      user: {\n        fname: \"edward\",\n        lname: \"scott\",\n        name: \"Edward Scott\",\n        photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\n        title: \"IT Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-vmware\",\n      company: \"VMW\",\n      lease: \"Feb 5 2017\",\n      vimnumber: \"VM39\",\n      vim_number: \"\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n\n      }\n    }, {\n\n      icon: \"#icon-vmware\",\n      company: \"VMW\",\n      lease: \"Feb 5 2017\",\n      vimnumber: \"VM10\",\n      vim_number: \"\",\n      user: {\n        fname: \"jose\",\n        lname: \"riley\",\n        name: \"Jose Riley\",\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\n        title: \"Application Manager\",\n        phone: \"8581234567\"\n\n      }\n    }]\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.second-tab-details {\n  padding: 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: space-around;\n    .svg-icon {\n      height: 23px;\n      width: 27px;\n      fill: #9C9C9C;\n    }\n    p {\n      margin-left: 5px;\n      margin-bottom: 0px;\n    }\n  }\n  p {\n    margin-bottom: 0px;\n  }\n  .vm-num {\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 13px;\n      color: #909090;\n    }\n  }\n  .lease {\n    .lease-head {\n      text-transform: uppercase;\n    }\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 13px;\n      color: #909090;\n    }\n  }\n\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    width: initial;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      //  width: 60px;\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-cloud-sprawl-info-with-user-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Sprawl Info With User Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  /* e.g., how to extract current logged user info sample */\n  data.user_sys_id = gs.getUserID();\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-28 17:45:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b349c71513f532007e94fc5ed144b08f&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Sprawl Info With User Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b349c71513f532007e94fc5ed144b08f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-28 18:17:04&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"second-tab-details\" ng-repeat=\"each in c.second_tab.list\" ng-class-even=\"'light-grey-bg'\"&gt;\n  &lt;div class=\"vm-num\"&gt;\n    &lt;p class=\"big-text\"&gt;{{each.vimnumber}}&lt;/p&gt;\n    &lt;p class=\"small-text\"&gt;{{each.vim_number}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"lease\"&gt;\n    &lt;p class=\"lease-head\"&gt;created on&lt;/p&gt;\n    &lt;p class=\"small-text\"&gt;{{each.lease}}&lt;/p&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media people-card-media\"&gt;\n    &lt;div class=\"media-left \"&gt;\n      &lt;div class=\"person-photo \"&gt;\n        &lt;img ng-if=\"each.user.photo\" class=\"media-object list__photo img-circle ng-scope\" ng-src=\"{{data.user_photo}}\"&gt;\n        &lt;div ng-if=\"!each.user.photo \" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n          &lt;span class=\"\" ng-bind=\"getinitials(each.user)\"&gt;&lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n  &lt;/div&gt;\n  &lt;div class=\"flex-it\"&gt;\n    &lt;svg ng-class=\"{'vmwwidth': each.company == 'VMW'}\" class=\"svg-icon\"&gt;\n      &lt;use xlink:href='{{each.icon}}'&gt;&lt;/use&gt;\n    &lt;/svg&gt;\n    &lt;p ng-if=\"each.company != 'VMW'\"&gt;{{each.company}}&lt;/p&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"pe-cloud-sprawl-info-with-user-snippet\">f355dc2d13353200d15e3d7ed144b049</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-28 23:16:50</sys_created_on>\n<sys_id>b755dc2d13353200d15e3d7ed144b049</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-28 23:16:50</sys_updated_on>\n<table/>\n<target_name>PE Cloud Sprawl Info With User Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-info-with-user-snippet/widget/pe-cloud-sprawl-info-with-user-snippet.u-body-html-template.html",
    "content": "<div class=\"second-tab-details\" ng-repeat=\"each in c.second_tab.list\" ng-class-even=\"'light-grey-bg'\">\r\n  <div class=\"vm-num\">\r\n    <p class=\"big-text\">{{each.vimnumber}}</p>\r\n    <p class=\"small-text\">{{each.vim_number}}</p>\r\n  </div>\r\n  <div class=\"lease\">\r\n    <p class=\"lease-head\">created on</p>\r\n    <p class=\"small-text\">{{each.lease}}</p>\r\n  </div>\r\n\r\n  <div class=\"media people-card-media\">\r\n    <div class=\"media-left \">\r\n      <div class=\"person-photo \">\r\n        <img ng-if=\"each.user.photo\" class=\"media-object list__photo img-circle ng-scope\" ng-src=\"{{data.user_photo}}\">\r\n        <div ng-if=\"!each.user.photo \" class=\"badge initials-badge\" data-original-title=\"\" title=\"\">\r\n          <span class=\"\" ng-bind=\"getinitials(each.user)\"></span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n  <div class=\"flex-it\">\r\n    <svg ng-class=\"{'vmwwidth': each.company == 'VMW'}\" class=\"svg-icon\">\r\n      <use xlink:href='{{each.icon}}'></use>\r\n    </svg>\r\n    <p ng-if=\"each.company != 'VMW'\">{{each.company}}</p>\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-info-with-user-snippet/widget/pe-cloud-sprawl-info-with-user-snippet.u-client-script.js",
    "content": "function InfoUserSnippet($scope) {\r\n  /* widget controller */\r\n  var c = this;\r\n\r\n  $scope.getinitials = function (user) {\r\n\r\n    var initials = \"\";\r\n    if (user && !user.photo) {\r\n      if (!user.first_name || !user.last_name) {\r\n        initials = angular.uppercase(user.name.charAt(0));\r\n      } else {\r\n        initials = angular.uppercase(user.first_name.charAt(0));\r\n        initials = initials + angular.uppercase(user.last_name.charAt(0));\r\n      }\r\n\r\n    }\r\n    return initials;\r\n  };\r\n\r\n\r\n  c.second_tab = {\r\n    name: \"expiring lease\",\r\n    badge_number: 5,\r\n    badge_color: \"bg-orange\",\r\n    list: [{\r\n      icon: \"#icon-azure\",\r\n      company: \"Azure\",\r\n      lease: \"Jan 5 2017\",\r\n      vimnumber: \"VM1\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"edward\",\r\n        lname: \"scott\",\r\n        name: \"Edward Scott\",\r\n        photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\r\n        title: \"IT Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-aws\",\r\n      company: \"AWS\",\r\n      lease: \"Feb 5 2017\",\r\n      vimnumber: \"VM23\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"Andrew\",\r\n        lname: \"Garner\",\r\n        name: \"Jose Riley\",\r\n        photo: \"90f8d5621398fe00f7f5bcc32244b00b.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-aws\",\r\n      company: \"AWS\",\r\n      lease: \"Feb 5 2017\",\r\n      vimnumber: \"VM13\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"jose\",\r\n        lname: \"riley\",\r\n        name: \"Jose Riley\",\r\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-aws\",\r\n      company: \"AWS\",\r\n      lease: \"Feb 25 2017\",\r\n      vimnumber: \"VM4\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"greg\",\r\n        lname: \"hill\",\r\n        name: \"Greg Hill\",\r\n        photo: \"743a51a21398fe00f7f5bcc32244b067.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-aws\",\r\n      company: \"AWS\",\r\n      lease: \"Feb 35 2017\",\r\n      vimnumber: \"VM5\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"David\",\r\n        lname: \"Hoffman\",\r\n        name: \"David Hoffman\",\r\n        photo: \"22d959621398fe00f7f5bcc32244b0d2.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-aws\",\r\n      company: \"AWS\",\r\n      lease: \"Feb 45 2017\",\r\n      vimnumber: \"VM6\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"Gary\",\r\n        lname: \"Kim\",\r\n        name: \"Gary Kim\",\r\n        photo: \"61ba9d621398fe00f7f5bcc32244b023.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-azure\",\r\n      company: \"Azure\",\r\n      lease: \"Feb 5 2017\",\r\n      vimnumber: \"VM17\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"edward\",\r\n        lname: \"scott\",\r\n        name: \"Edward Scott\",\r\n        photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\r\n        title: \"IT Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-azure\",\r\n      company: \"Azure\",\r\n      lease: \"Feb 5 2017\",\r\n      vimnumber: \"VM18\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"edward\",\r\n        lname: \"scott\",\r\n        name: \"Edward Scott\",\r\n        photo: \"47161dae1358fe00f7f5bcc32244b03c.iix\",\r\n        title: \"IT Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-vmware\",\r\n      company: \"VMW\",\r\n      lease: \"Feb 5 2017\",\r\n      vimnumber: \"VM39\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"jose\",\r\n        lname: \"riley\",\r\n        name: \"Jose Riley\",\r\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }, {\r\n\r\n      icon: \"#icon-vmware\",\r\n      company: \"VMW\",\r\n      lease: \"Feb 5 2017\",\r\n      vimnumber: \"VM10\",\r\n      vim_number: \"\",\r\n      user: {\r\n        fname: \"jose\",\r\n        lname: \"riley\",\r\n        name: \"Jose Riley\",\r\n        photo: \"fae1fa1013d07e00f7f5bcc32244b091.iix\",\r\n        title: \"Application Manager\",\r\n        phone: \"8581234567\"\r\n\r\n      }\r\n    }]\r\n  };\r\n\r\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-with-user-snippet/widget/pe-cloud-sprawl-info-with-user-snippet.u-css.scss",
    "content": ".second-tab-details {\n  padding: 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: space-around;\n    .svg-icon {\n      height: 23px;\n      width: 27px;\n      fill: #9C9C9C;\n    }\n    p {\n      margin-left: 5px;\n      margin-bottom: 0px;\n    }\n  }\n  p {\n    margin-bottom: 0px;\n  }\n  .vm-num {\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 13px;\n      color: #909090;\n    }\n  }\n  .lease {\n    .lease-head {\n      text-transform: uppercase;\n    }\n    .big-text {\n      font-size: 20px;\n      color: #595959;\n    }\n    .small-text {\n      font-size: 13px;\n      color: #909090;\n    }\n  }\n\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    width: initial;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      //  width: 60px;\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-info-with-user-snippet/widget/pe-cloud-sprawl-info-with-user-snippet.u-server-script.js",
    "content": "(function () {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n  /* e.g., how to extract current logged user info sample */\r\n  data.user_sys_id = gs.getUserID();\r\n  var userGR = new GlideRecord('sys_user');\r\n  if (userGR.get(data.user_sys_id)) {\r\n    data.user_first_name = userGR.getDisplayValue('first_name');\r\n    data.user_last_name = userGR.getDisplayValue('last_name');\r\n    data.user_full_name = userGR.getDisplayValue('name');\r\n    data.user_job_title = userGR.getDisplayValue('title');\r\n    data.user_photo = userGR.getDisplayValue('photo');\r\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\r\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\r\n  }\r\n\r\n})();"
  },
  {
    "path": "pe-cloud-sprawl-overview-snippet/Readme.md",
    "content": "# Cloud Sprawl Overview Snippet\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing quick reference data and chart(s).\n\n## Screenshots\n![alt text](../images/pe-cloud-sprawl-overview-snippet.png \"Tabs Selector - No tab selection\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-overview-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-overview-snippet/pe-cloud-sprawl-overview-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Card Data\"** JSON Data object\n\nExample:\n\n```javascript\n    {\n      \"title\": \"Retail POS\",\n      \"sluged\": \"retail_pos\",\n      \"sub_title\": \"Marketing\",\n      \"right_percent\": \"98%\",\n      \"type\": \"aws\",\n      \"thumbs\": \"up\",\n      \"progress\": \"60%\",\n      \"bottom_dollor\": \"$12,100\",\n      \"right_attn_count\": \"3\",\n      \"right_attn_color\": \"red\"\n    }\n```\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-overview-snippet/pe-cloud-sprawl-overview-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-15 21:35:00\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Cloud Sprawl Overview</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>e2f0cddd13217600d15e3d7ed144b01a</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-15 21:35:00</sys_created_on>\n<sys_id>2161091113617600d15e3d7ed144b091</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-15 21:35:00</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_78c2645113217600d15e3d7ed144b0b9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CloudSprawlOverview() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.search {\n    position: relative;\n    .search-bar {\n        input {\n            height: 62px;\n            border: 0px;\n            padding: 20px;\n            font-size: 24px;\n            box-shadow: none;\n            border-bottom: 1px solid #ddd;\n            border-radius: 0px;\n        }\n    }\n    .fa-search {\n        position: absolute;\n        top: 18px;\n        right: 15px;\n    }\n}\n\n.diff-services {\n    background: #f1f1f1;\n}\n\n.each-service {\n    background: #fff;\n    margin-top: 10px;\n    padding: 20px;\n    font-weight: normal;\n    &amp;amp;.ng-enter {\n        -webkit-transition: 0.5s;\n        transition: 0.5s;\n        margin-left: 100%;\n        width: 100%;\n    }\n    &amp;amp;.ng-enter-active {\n        margin-left: 0;\n    }\n    &amp;amp;.ng-leave {\n        -webkit-transition: 0.5s;\n        transition: 0.5s;\n        margin-left: 0;\n        width: 100%;\n    }\n    &amp;amp;.ng-leave-active {\n        margin-left: 100%;\n    }\n    .green-color {\n        color: #2abd68 !important;\n    }\n    .red-color {\n        color: #ff4000 !important;\n    }\n    p {\n        margin-bottom: 0px;\n    }\n    .title-stuff {\n        display: flex;\n        justify-content: space-between;\n        margin-bottom: 10px;\n        .service-title {\n            .title {\n                font-size: 20px;\n                font-weight: normal;\n            }\n            .sub-title {\n                font-size: 14px;\n                font-weight: normal;\n                color: #909090;\n                text-transform: uppercase;\n            }\n        }\n        .percent-like {\n            //display: flex;\n            //justify-content: space-between;\n            //align-items: baseline;\n            text-align: center;\n            font-size: 20px;\n            font-weight: normal;\n            .uptime {\n                color: #909090;\n                font-size: 14px;\n            }\n            .fa {\n                font-size: 1em;\n                margin-right: 10px;\n            }\n        }\n    }\n    .progress {\n        height: 36px;\n        position: relative;\n        .progress-bar {\n            background-color: #2abd68;\n        }\n        span {\n            position: absolute;\n            left: 5px;\n            top: 9px;\n            color: #fff;\n            font-size: 14px;\n        }\n        p {\n            position: absolute;\n            right: 6px;\n            top: 8px;\n            font-size: 14px;\n        }\n    }\n    .last-row {\n        display: flex;\n        justify-content: space-between;\n        p.left-most,\n        p.center {\n            font-size: 20px;\n            color: #0099ff;\n        }\n        .left-most {\n            color: #23bd61 !important;\n        }\n        .right-most {\n            display: flex;\n            align-items: center;\n            p {\n                font-size: 20px;\n            }\n            i {\n                font-size: 20px;\n                margin-right: 5px;\n            }\n        }\n    }\n}\n\n.provider-switcher {\n    //padding: 10px;\n    background: $theme-swicther-bg;\n    color: $theme-switcher-textcolor;\n    &amp;amp;:after {\n        content: \" \";\n        display: block;\n        clear: both;\n    }\n    .scroll-wrapper {\n        width: 100%;\n        white-space: nowrap;\n        overflow-y: hidden;\n        overflow-x: scroll;\n        -webkit-overflow-scrolling: touch;\n        // Toggle this depending upon whether you want to see the scrollbar\n        &amp;amp;::-webkit-scrollbar {\n            display: none;\n        }\n        .inner-wrapper {\n            min-width: 500px;\n            &amp;amp;:after {\n                content: \" \";\n                display: block;\n                clear: both;\n            }\n        }\n    }\n    .heading {\n        margin: 0;\n        text-align: center;\n        padding: 10px;\n    }\n    .border-none {\n        border: 0px !important;\n    }\n    .provider-filters {\n        .all-filter {\n            width: 120px;\n            float: left;\n            font-size: 18px;\n            padding: 14px;\n            background: #373737;\n            color: #9c9c9c;\n            //border-right: 1px solid #fff;\n        }\n        .each-filter {\n            padding: 10px;\n            width: 120px;\n            height: 53px;\n            font-size: 18px;\n            float: left;\n            display: flex;\n            color: #9c9c9c;\n            align-items: center;\n            justify-content: space-around;\n            background: #373737;\n            //border-right: 1px solid #fff;\n            .provider-logos {\n                height: 27px;\n            }\n        }\n    }\n}\n\n.svg-icon {\n    height: 23px;\n    width: 27px;\n    fill: #9C9C9C;\n}\n\n.active {\n    background: #4d4d4d !important;\n    color: #fff !important;\n}\n\n.aws-color {\n    .svg-icon {\n        fill: orange;\n    }\n}\n\n.azure-color {\n    .svg-icon {\n        fill: #32A6DC;\n    }\n}\n\n.vm-svg-icon {\n    height: 14px;\n    width: 80px;\n    fill: #9C9C9C;\n}\n\n.vm-color {\n    .vm-svg-icon {\n        fill: #fff;\n    }\n}\n\n.providers-div {\n    background: #d7d7d7;\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-cloud-sprawl-overview-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Cloud Sprawl Overview Snippet&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"card_data\",\"default_value\":\"{ \\\"title\\\": \\\"RetailPOS\\\", \\\"sluged\\\": \\\"retail_pos\\\", \\\"sub_title\\\": \\\"Marketing\\\", \\\"right_percent\\\": \\\"98%\\\", \\\"type\\\": \\\"aws\\\", \\\"thumbs\\\": \\\"up\\\", \\\"progress\\\": \\\"60%\\\", \\\"bottom_dollor\\\": \\\"$12,100\\\", \\\"right_attn_count\\\": \\\"3\\\", \\\"right_attn_color\\\": \\\"red\\\" }\",\"label\":\"Card Data\",\"type\":\"json\",\"mandatory\":true}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.card_data = input.card_data || options.card_data;\n  data.card_data = JSON.parse(data.card_data);\n\n  if (data.isJson(data.card_data) === false) {\n    data.card_data = JSON.parse(data.card_data);\n  };\n\n  data.isJson = function (str) {\n    try {\n      JSON.parse(str);\n    } catch (e) {\n      return false;\n    }\n    return true;\n  };\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-15 19:21:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;78c2645113217600d15e3d7ed144b0b9&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Cloud Sprawl Overview Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_78c2645113217600d15e3d7ed144b0b9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-15 21:34:13&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"diff-services \"&gt;\n  &lt;div class=\"each-service\"&gt;\n    &lt;div class=\"title-stuff\"&gt;\n      &lt;div class=\"service-title\"&gt;\n        &lt;p class=\"title \"&gt;\n          {{::data.card_data.title}}\n        &lt;/p&gt;\n        &lt;p class=\"sub-title\"&gt;\n          {{::data.card_data.sub_title}}\n        &lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"percent-like\" ng-class=\"{'green-color': data.card_data.thumbs == 'up', 'red-color': data.card_data.thumbs == 'down'}\"&gt;\n        &lt;p class=\"uptime\"&gt;UPTIME&lt;/p&gt;\n        &lt;p&gt;99%&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"progress\"&gt;\n      &lt;div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width': data.card_data.progress}\"&gt;\n\n      &lt;/div&gt;\n      &lt;span&gt;UTILIZATION RATE&lt;/span&gt;\n      &lt;p&gt;{{::data.card_data.progress}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"last-row\"&gt;\n      &lt;p class=\"left-most\"&gt;{{::data.card_data.bottom_dollor}}&lt;/p&gt;\n      &lt;p class=\"center\"&gt;4&lt;/p&gt;\n      &lt;div class=\"right-most\" ng-class=\"{'red-color':data.card_data.right_attn_color == 'red', 'green-color':data.card_data.right_attn_color == 'green'}\"&gt;\n        &lt;p&gt;{{::data.card_data.right_attn_count}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Cloud Sprawl Overview\">2161091113617600d15e3d7ed144b091</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-15 21:35:00</sys_created_on>\n<sys_id>e561091113617600d15e3d7ed144b091</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-15 21:35:00</sys_updated_on>\n<table/>\n<target_name>PE Cloud Sprawl Overview Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-overview-snippet/widget/pe-cloud-sprawl-overview-snippet.u-body-html-template.html",
    "content": "<div class=\"diff-services \">\r\n  <div class=\"each-service\">\r\n    <div class=\"title-stuff\">\r\n      <div class=\"service-title\">\r\n        <p class=\"title \">\r\n          {{::data.card_data.title}}\r\n        </p>\r\n        <p class=\"sub-title\">\r\n          {{::data.card_data.sub_title}}\r\n        </p>\r\n      </div>\r\n      <div class=\"percent-like\" ng-class=\"{'green-color': data.card_data.thumbs == 'up', 'red-color': data.card_data.thumbs == 'down'}\">\r\n        <p class=\"uptime\">UPTIME</p>\r\n        <p>99%</p>\r\n      </div>\r\n    </div>\r\n    <div class=\"progress\">\r\n      <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"60\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"{'width': data.card_data.progress}\">\r\n\r\n      </div>\r\n      <span>UTILIZATION RATE</span>\r\n      <p>{{::data.card_data.progress}}</p>\r\n    </div>\r\n    <div class=\"last-row\">\r\n      <p class=\"left-most\">{{::data.card_data.bottom_dollor}}</p>\r\n      <p class=\"center\">4</p>\r\n      <div class=\"right-most\" ng-class=\"{'red-color':data.card_data.right_attn_color == 'red', 'green-color':data.card_data.right_attn_color == 'green'}\">\r\n        <p>{{::data.card_data.right_attn_count}}</p>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-overview-snippet/widget/pe-cloud-sprawl-overview-snippet.u-client-script.js",
    "content": "function CloudSprawlOverview() {\r\n  /* widget controller */\r\n  var c = this;\r\n}"
  },
  {
    "path": "pe-cloud-sprawl-overview-snippet/widget/pe-cloud-sprawl-overview-snippet.u-css.scss",
    "content": ".search {\n    position: relative;\n    .search-bar {\n        input {\n            height: 62px;\n            border: 0px;\n            padding: 20px;\n            font-size: 24px;\n            box-shadow: none;\n            border-bottom: 1px solid #ddd;\n            border-radius: 0px;\n        }\n    }\n    .fa-search {\n        position: absolute;\n        top: 18px;\n        right: 15px;\n    }\n}\n\n.diff-services {\n    background: #f1f1f1;\n}\n\n.each-service {\n    background: #fff;\n    margin-top: 10px;\n    padding: 20px;\n    font-weight: normal;\n    &.ng-enter {\n        -webkit-transition: 0.5s;\n        transition: 0.5s;\n        margin-left: 100%;\n        width: 100%;\n    }\n    &.ng-enter-active {\n        margin-left: 0;\n    }\n    &.ng-leave {\n        -webkit-transition: 0.5s;\n        transition: 0.5s;\n        margin-left: 0;\n        width: 100%;\n    }\n    &.ng-leave-active {\n        margin-left: 100%;\n    }\n    .green-color {\n        color: #2abd68 !important;\n    }\n    .red-color {\n        color: #ff4000 !important;\n    }\n    p {\n        margin-bottom: 0px;\n    }\n    .title-stuff {\n        display: flex;\n        justify-content: space-between;\n        margin-bottom: 10px;\n        .service-title {\n            .title {\n                font-size: 20px;\n                font-weight: normal;\n            }\n            .sub-title {\n                font-size: 14px;\n                font-weight: normal;\n                color: #909090;\n                text-transform: uppercase;\n            }\n        }\n        .percent-like {\n            //display: flex;\n            //justify-content: space-between;\n            //align-items: baseline;\n            text-align: center;\n            font-size: 20px;\n            font-weight: normal;\n            .uptime {\n                color: #909090;\n                font-size: 14px;\n            }\n            .fa {\n                font-size: 1em;\n                margin-right: 10px;\n            }\n        }\n    }\n    .progress {\n        height: 36px;\n        position: relative;\n        .progress-bar {\n            background-color: #2abd68;\n        }\n        span {\n            position: absolute;\n            left: 5px;\n            top: 9px;\n            color: #fff;\n            font-size: 14px;\n        }\n        p {\n            position: absolute;\n            right: 6px;\n            top: 8px;\n            font-size: 14px;\n        }\n    }\n    .last-row {\n        display: flex;\n        justify-content: space-between;\n        p.left-most,\n        p.center {\n            font-size: 20px;\n            color: #0099ff;\n        }\n        .left-most {\n            color: #23bd61 !important;\n        }\n        .right-most {\n            display: flex;\n            align-items: center;\n            p {\n                font-size: 20px;\n            }\n            i {\n                font-size: 20px;\n                margin-right: 5px;\n            }\n        }\n    }\n}\n\n.provider-switcher {\n    //padding: 10px;\n    background: $theme-swicther-bg;\n    color: $theme-switcher-textcolor;\n    &:after {\n        content: \" \";\n        display: block;\n        clear: both;\n    }\n    .scroll-wrapper {\n        width: 100%;\n        white-space: nowrap;\n        overflow-y: hidden;\n        overflow-x: scroll;\n        -webkit-overflow-scrolling: touch;\n        // Toggle this depending upon whether you want to see the scrollbar\n        &::-webkit-scrollbar {\n            display: none;\n        }\n        .inner-wrapper {\n            min-width: 500px;\n            &:after {\n                content: \" \";\n                display: block;\n                clear: both;\n            }\n        }\n    }\n    .heading {\n        margin: 0;\n        text-align: center;\n        padding: 10px;\n    }\n    .border-none {\n        border: 0px !important;\n    }\n    .provider-filters {\n        .all-filter {\n            width: 120px;\n            float: left;\n            font-size: 18px;\n            padding: 14px;\n            background: #373737;\n            color: #9c9c9c;\n            //border-right: 1px solid #fff;\n        }\n        .each-filter {\n            padding: 10px;\n            width: 120px;\n            height: 53px;\n            font-size: 18px;\n            float: left;\n            display: flex;\n            color: #9c9c9c;\n            align-items: center;\n            justify-content: space-around;\n            background: #373737;\n            //border-right: 1px solid #fff;\n            .provider-logos {\n                height: 27px;\n            }\n        }\n    }\n}\n\n.svg-icon {\n    height: 23px;\n    width: 27px;\n    fill: #9C9C9C;\n}\n\n.active {\n    background: #4d4d4d !important;\n    color: #fff !important;\n}\n\n.aws-color {\n    .svg-icon {\n        fill: orange;\n    }\n}\n\n.azure-color {\n    .svg-icon {\n        fill: #32A6DC;\n    }\n}\n\n.vm-svg-icon {\n    height: 14px;\n    width: 80px;\n    fill: #9C9C9C;\n}\n\n.vm-color {\n    .vm-svg-icon {\n        fill: #fff;\n    }\n}\n\n.providers-div {\n    background: #d7d7d7;\n}\n"
  },
  {
    "path": "pe-cloud-sprawl-overview-snippet/widget/pe-cloud-sprawl-overview-snippet.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  data.card_data = input.card_data || options.card_data;\r\n  if (data.isJson(data.card_data) === false) {\r\n    data.card_data = JSON.parse(data.card_data);\r\n  };\r\n\r\n  data.isJson = function (str) {\r\n    try {\r\n      JSON.parse(str);\r\n    } catch (e) {\r\n      return false;\r\n    }\r\n    return true;\r\n  };\r\n\r\n})();"
  },
  {
    "path": "pe-cloud-sprawl-tab-with-donut-chart-snippet/Readme.md",
    "content": "# Tab Chart Selector Snippet\n\n## Description\n\nThis widget can be used to create a simple layout based on tabs.\n\n## Screenshots\n![alt text](../images/pe-tab-chart-selector.png \"Tab Chart Selector\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-tab-with-donut-chart-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-tab-with-donut-chart-snippet/pe-cloud-sprawl-tab-with-donut-chart-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON objects in the Server Script.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-tab-with-donut-chart-snippet/pe-cloud-sprawl-tab-with-donut-chart-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-06 17:28:27\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Tab Chart Selector</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>b1626ff3138bf600d0cf3192e144b001</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>bae46f37138bf600d0cf3192e144b0cf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>donutDirective</module><name>donutDirective</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:56:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4438d80113693600d15e3d7ed144b0c6</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:20</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>32e46f37138bf600d0cf3192e144b0d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_e7de9f2d1329b60083a7bd522244b064</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_widget display_value=\"PE Donut Chart Wizard\">0bc1804513293600d15e3d7ed144b0f2</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:41:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e7de9f2d1329b60083a7bd522244b064</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.PE Donut Chart Wizard</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_e7de9f2d1329b60083a7bd522244b064</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:41:50</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>36e46f37138bf600d0cf3192e144b0d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective.PE Donut Chart Wizard</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_ef16387e131d3200d15e3d7ed144b045</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartController() {\n  /* widget controller */\n  var c = this;\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.donut-chart-container {\n  position: relative;\n  align-content: center;\n  text-align: center;\n  vertical-align: middle;\n}\n\nsvg {\n  transform: rotate(-90deg);\n}\n\n.icon-container {\n  position: absolute;\n  left: 67px;\n  top: 63px;\n}\n\n.circle_animation {\n  stroke-dasharray: 68.36;\n  stroke-dashoffset: 68.36;\n}\n\n\n.donut-chart-common {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n\n.donut-chart-bg .circle_animation {\n  -webkit-animation: donut-chart-bg 1s ease-out forwards;\n  animation: donut-chart-bg 1s ease-out forwards;\n}\n\n.donut-chart-1 .circle_animation {\n  -webkit-animation: donut-chart-1 1s ease-out forwards;\n  animation: donut-chart-1 1s ease-out forwards;\n}\n\n@keyframes donut-chart-bg {\n  to {\n    stroke-dashoffset: 0;\n  }\n}\n\n@keyframes donut-chart-1 {\n  to {\n    stroke-dashoffset: 50;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"Donut chart\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"show_title\",\"default_value\":\"false\",\"label\":\"Show Title\",\"type\":\"boolean\"},{\"name\":\"show_icon\",\"default_value\":\"false\",\"label\":\"Show Icon\",\"type\":\"string\"},{\"name\":\"active_color\",\"default_value\":\"#7eacf7\",\"label\":\"Active Color\",\"type\":\"string\"},{\"name\":\"background_color\",\"default_value\":\"#e6e8ed\",\"label\":\"Background Color\",\"type\":\"string\"},{\"name\":\"fa_icon\",\"default_value\":\"fa fa-tachometer fa-2x\",\"label\":\"Font Awesome Icon\",\"type\":\"string\"},{\"name\":\"border_width\",\"default_value\":\"16\",\"label\":\"Border Width\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n    var getBoolValue = function(inputVal, optionVal) {\n\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n\n  data.title = input.title || options.title;\n/*  data.percentage = input.percentage || options.percentage;\n  data.percentage = parseInt(data.percentage);\n  data.percentage = (data.percentage*200)/100;*/\n\n  data.active_color = input.active_color || options.active_color;\n  data.background_color = input.background_color || options.background_color;\n  data.fa_icon = input.fa_icon || options.fa_icon;\n\n  data.show_title = getBoolValue(input.show_title, options.show_title);\n  data.show_icon = getBoolValue(input.show_icon, options.show_icon);\n  //data.border_width = input.border_width || options.border_width;\n  data.border_width = 12;\n  data.height = 34;\n  data.width = 34;\n\n  data.r = 0;\n  data.cx = 0;\n  data.cy = 0;\n\n  data.r = (data.width*32)/100;\n  data.cx = data.width/2;\n  data.cy = data.height/2;\n\n\n\n\n\n\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 02:21:20&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ef16387e131d3200d15e3d7ed144b045&lt;/sys_id&gt;&lt;sys_mod_count&gt;258&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_ef16387e131d3200d15e3d7ed144b045&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 18:52:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div ng-show=\"c.data.data.show_title\"&gt;\n    &lt;h3&gt;{{c.data.title}}&lt;/h3&gt;\n  &lt;/div&gt;\n  &lt;div class=\"donut-chart-container\"&gt;\n    &lt;div class=\"donut-chart-common donut-chart-bg\"&gt;\n      &lt;svg ng-style=\"\n    {'height':c.data.height, 'width': c.data.width}\"&gt;\n        &lt;g&gt;\n          &lt;circle id=\"circle-base\" class=\"circle_animation\" ng-attr-r='{{c.data.r}}' ng-attr-cy='{{c.data.cy}}' ng-attr-cx='{{c.data.cx}}' stroke-width=\"{{c.data.border_width}}\"\n            stroke=\"{{c.data.background_color}}\" fill=\"none\" /&gt;\n        &lt;/g&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n    &lt;div id=\"chart-1\" class=\"donut-chart-common donut-chart-1\"&gt;\n      &lt;!--ng-class='{\"stroke-dashoffset\": 25}'--&gt;\n      &lt;svg ng-style=\"\n    {'height':c.data.height, 'width': c.data.width}\"&gt;\n        &lt;g&gt;\n          &lt;circle id=\"circle\" class=\"circle_animation\" ng-attr-r=\"{{c.data.r}}\" ng-attr-cy=\"{{c.data.cy}}\" ng-attr-cx=\"{{c.data.cx}}\" stroke-width=\"{{c.data.border_width}}\"\n            stroke=\"{{c.data.active_color}}\" fill=\"none\" /&gt;\n        &lt;/g&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"icon-container\" ng-show=\"c.data.show_icon\"&gt;\n    &lt;i class=\"{{c.data.fa_icon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>3ee46f37138bf600d0cf3192e144b0d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_0f4f5b6d1329b60083a7bd522244b027</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_js_include display_value=\"donutDirective\">cc585c0113693600d15e3d7ed144b07d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:43:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0f4f5b6d1329b60083a7bd522244b027</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_0f4f5b6d1329b60083a7bd522244b027</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:43:33</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>72e46f37138bf600d0cf3192e144b0d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_96f7616d136176007e94fc5ed144b087</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TabChartController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getDonutChart1();\n    getDonutChart2();\n    c.secondTab = c.data.secondTab;\n    c.userOne = c.data.userOne;\n    c.userTwo = c.data.userTwo;\n    c.selectedTab = 'unaccounted';\n  };\n\n  function getDonutChart1() {\n    spUtil.get('pe-donut-chart-wizard', c.data.chart1).then(function(response) {\n      c.data.donutChartWidget1 = response;\n    });\n  }\n\n  function getDonutChart2() {\n    spUtil.get('pe-donut-chart-wizard', c.data.chart2).then(function(response) {\n      c.data.donutChartWidget2 = response;\n    });\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.unaccounted-vms {\n  background: #F7F7F7;\n  padding: 20px;\n  .green-bg {\n    background: #70be5a;\n  }\n  .second-tab-details {\n    padding: 20px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    .flex-it {\n      display: flex;\n      align-items: center;\n      justify-content: space-around;\n      .svg-icon {\n        height: 23px;\n        width: 27px;\n        fill: #9C9C9C;\n      }\n      p {\n        margin-left: 5px;\n        margin-bottom: 0px;\n      }\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .vm-num {\n      .big-text {\n        font-size: 20px;\n        color: #595959;\n      }\n      .small-text {\n        font-size: 13px;\n        color: #909090;\n      }\n    }\n    .lease {\n      .lease-head {\n        text-transform: uppercase;\n      }\n      .big-text {\n        font-size: 20px;\n        color: #595959;\n      }\n      .small-text {\n        font-size: 13px;\n        color: #909090;\n      }\n    }\n    .people-card-media {\n      padding-right: 10px;\n      padding-left: 10px;\n      display: flex;\n      justify-content: flex-start;\n      align-items: center;\n      float: left;\n      margin: 0px;\n      width: initial;\n      .flex-it-align-top {\n        display: flex;\n        justify-content: space-between;\n      }\n      .media-left {\n        .list__photo {\n          width: 35px;\n          height: 35px;\n        }\n        .initials-badge {\n          min-width: 36px;\n          float: left;\n          margin-top: 0px;\n          border-radius: 50%;\n          line-height: 1;\n          font-size: 14px;\n          margin-left: 0px;\n          padding: 10px 10px;\n          font-weight: 300;\n          background: #AEB2B3;\n        }\n      }\n    }\n  }\n  .people-card-media {\n    padding-top: 15px;\n    padding-bottom: 15px;\n    padding-right: 10px;\n    padding-left: 10px;\n    background: #fff;\n    border-bottom: 1px solid #f3f3f3;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    width: 100%;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .webicon-down {\n      fill: transparent;\n      stroke: $brand-primary;\n      width: 22px;\n      height: 22px;\n      vertical-align: bottom;\n    }\n    .media-body {\n      width: 60%;\n    }\n    .media-left {\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n      .not-available.presence:after {\n        background-color: #FA5B5A;\n      }\n      .available.presence:after {\n        background-color: #7CE684;\n      }\n      .presence {\n        position: relative;\n      }\n      .presence:after {\n        width: 10px;\n        height: 10px;\n        top: 26px;\n        left: 25px;\n        position: absolute;\n        content: \"\";\n        border-radius: 50%;\n      }\n    }\n    .media-right {\n      text-align: center;\n      width: 40%;\n      .fa-color {\n        color: #3d5483;\n        margin-right: 10px;\n      }\n      .add-unnssigned {\n        font-size: 30px;\n        color: $brand-primary;\n      }\n    }\n    .people_name_title {\n      .title {\n        font-size: 16px;\n        font-weight: 600;\n        margin-bottom: 0px;\n        color: #666;\n      }\n      .list__subtitle {\n        font-size: 14px;\n        font-family: 'Lato', sans-serif;\n        font-weight: 300;\n        margin-bottom: 0px;\n        color: #565656;\n      }\n      .list__sub_subtitle {\n        font-size: 12px;\n        font-weight: 300;\n        margin-bottom: 0px;\n        color: #9f9f9f;\n      }\n    }\n    .contact-div {\n      clear: both;\n    }\n  }\n  .red-bg {\n    background: #ee525e;\n  }\n  .body-div {\n    background: #fff;\n    .heading {\n      font-weight: 600;\n      font-size: 24px;\n      color: #333;\n      padding: 10px;\n    }\n    .spending-month {\n      display: flex;\n      .first-div {\n        width: 50%;\n        padding: 20px;\n        border-right: 1px solid #f3f3f3;\n        border-bottom: 1px solid #f3f3f3;\n        &amp;amp;.active {\n          background: #f2f2f2;\n          border-bottom: 2px solid #d1232b;\n        }\n        .top-box {\n          height: 70px;\n          text-align: center;\n          .big-text {\n            font-size: 46px;\n            font-weight: 300;\n            text-align: center;\n          }\n        }\n        .sub-title {\n          font-size: 12px;\n          font-weight: 600;\n          text-transform: uppercase;\n          color: #9f9f9f;\n          margin-bottom: 0px;\n          margin-top: 10px;\n          text-align: center;\n        }\n      }\n      .second-div {\n        border-right: 1px solid #f3f3f3;\n        border-bottom: 1px solid #f3f3f3;\n        width: 50%;\n        padding: 20px;\n        &amp;amp;.active {\n          background: #f2f2f2;\n          border-bottom: 2px solid #d1232b;\n        }\n        .top-box {\n          height: 70px;\n          text-align: center;\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          margin-top: 3px;\n          .arrow-down {\n            width: 0;\n            height: 0;\n            border-left: 10px solid transparent;\n            border-right: 10px solid transparent;\n            border-top: 10px solid #70be5a;\n          }\n          .arrow-up {\n            width: 0;\n            height: 0;\n            border-left: 10px solid transparent;\n            border-right: 10px solid transparent;\n            border-bottom: 10px solid #ee525e;\n          }\n          .badge-custom {\n            padding: 16px 6px;\n            font-size: 24px;\n            border-radius: 50%;\n            font-weight: 300;\n            margin-left: 10px;\n          }\n          .big-text {\n            font-size: 46px;\n            font-weight: 300;\n            text-align: center;\n          }\n        }\n        .sub-title {\n          font-size: 12px;\n          font-weight: 600;\n          text-transform: uppercase;\n          color: #9f9f9f;\n          margin-bottom: 0px;\n          margin-top: 7px;\n          text-align: center;\n        }\n      }\n    }\n  }\n  .spending-foruser {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 10px;\n    border-bottom: 1px solid #f3f3f3;\n    .left-text {\n      font-size: 20px;\n      color: #595959;\n      p {\n        margin-bottom: 0px;\n      }\n    }\n    .right-text {\n      display: flex;\n      align-items: center;\n      font-size: 16px;\n      color: #9c9c9c;\n      .svg-icon {\n        height: 23px;\n        width: 27px;\n        fill: #9C9C9C;\n      }\n      p {\n        margin-left: 5px;\n        margin-bottom: 0px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-tab-chart-selector-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Tab Chart Selector Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.chart1 = {\n    primary_color: '#29bd00',\n    background_color: '#b4b2b3',\n    chart_width: '70',\n    font_size: '18px',\n    font_weight: '600',\n    chart_data: {\n      label: '$50k',\n      current: 50,\n      total: 200\n    }\n  };\n\n  data.chart2 = {\n    primary_color: '#f5a623',\n    background_color: '#b4b2b3',\n    chart_width: '70',\n    font_size: '18px',\n    font_weight: '600',\n    chart_data: {\n      label: '10',\n      current: 10,\n      total: 20\n    }\n  };\n\n  data.secondTab = {\n    name: 'expiring lease',\n    badge_number: 5,\n    badge_color: 'bg-orange',\n    list: [{\n      icon: '#icon-azure',\n      company: 'Azure',\n      lease: 'Jan 5 2017',\n      vimnumber: 'VM1',\n      vim_number: '',\n      user: {\n        fname: 'edward',\n        lname: 'scott',\n        name: 'Edward Scott',\n        photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n        title: 'IT Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM23',\n      vim_number: '',\n      user: {\n        fname: 'Andrew',\n        lname: 'Garner',\n        name: 'Jose Riley',\n        photo: '90f8d5621398fe00f7f5bcc32244b00b.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM13',\n      vim_number: '',\n      user: {\n        fname: 'jose',\n        lname: 'riley',\n        name: 'Jose Riley',\n        photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 25 2017',\n      vimnumber: 'VM4',\n      vim_number: '',\n      user: {\n        fname: 'greg',\n        lname: 'hill',\n        name: 'Greg Hill',\n        photo: '743a51a21398fe00f7f5bcc32244b067.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 35 2017',\n      vimnumber: 'VM5',\n      vim_number: '',\n      user: {\n        fname: 'David',\n        lname: 'Hoffman',\n        name: 'David Hoffman',\n        photo: '22d959621398fe00f7f5bcc32244b0d2.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 45 2017',\n      vimnumber: 'VM6',\n      vim_number: '',\n      user: {\n        fname: 'Gary',\n        lname: 'Kim',\n        name: 'Gary Kim',\n        photo: '61ba9d621398fe00f7f5bcc32244b023.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-azure',\n      company: 'Azure',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM17',\n      vim_number: '',\n      user: {\n        fname: 'edward',\n        lname: 'scott',\n        name: 'Edward Scott',\n        photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n        title: 'IT Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-azure',\n      company: 'Azure',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM18',\n      vim_number: '',\n      user: {\n        fname: 'edward',\n        lname: 'scott',\n        name: 'Edward Scott',\n        photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n        title: 'IT Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-vmware',\n      company: 'VMW',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM39',\n      vim_number: '',\n      user: {\n        fname: 'jose',\n        lname: 'riley',\n        name: 'Jose Riley',\n        photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-vmware',\n      company: 'VMW',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM10',\n      vim_number: '',\n      user: {\n        fname: 'jose',\n        lname: 'riley',\n        name: 'Jose Riley',\n        photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }]\n  };\n\n  data.userOne = {\n    fname: 'jose',\n    lname: 'riley',\n    name: 'Jose Riley',\n    photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n    title: 'Application Manager',\n    phone: '8581234567',\n    spending: [{\n      text: '$8K this month',\n      icon: '#icon-aws',\n      company: 'AWS'\n    }, {\n      text: '$22K this month',\n      icon: '#icon-azure',\n      company: 'Azure'\n    }]\n  };\n\n  data.userTwo = {\n    fname: 'edward',\n    lname: 'scott',\n    name: 'Edward Scott',\n    photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n    title: 'IT Manager',\n    phone: '8581234567',\n    spending: [{\n      text: '$7K this month',\n      icon: '#icon-aws',\n      company: 'AWS'\n    }, {\n      text: '$13K this month',\n      icon: '#icon-azure',\n      company: 'Azure'\n    }]\n  };\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-16 19:02:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;96f7616d136176007e94fc5ed144b087&lt;/sys_id&gt;&lt;sys_mod_count&gt;52&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Tab Chart Selector Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_96f7616d136176007e94fc5ed144b087&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 17:24:00&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n    &lt;symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Page-1\"&gt;\n        &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\"&gt;\n          &lt;g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\"&gt;\n            &lt;polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"&gt;&lt;/polygon&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Page-1\"&gt;\n        &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\"&gt;\n          &lt;g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\"&gt;\n            &lt;polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"&gt;&lt;/polygon&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\"&gt;\n          &lt;g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\"&gt;\n            &lt;path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n              id=\"Fill-1\"&gt;&lt;/path&gt;\n            &lt;path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n              id=\"Fill-3\"&gt;&lt;/path&gt;\n            &lt;path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n              id=\"Fill-5\"&gt;&lt;/path&gt;\n            &lt;path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n              id=\"Fill-7\"&gt;&lt;/path&gt;\n            &lt;path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n              id=\"Fill-9\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/symbol&gt;\n  &lt;/svg&gt;\n  &lt;div class=\"unaccounted-vms row\"&gt;\n    &lt;div class=\"body-div\"&gt;\n      &lt;div class=\"spending-month\"&gt;\n        &lt;div class=\"first-div\" ng-class=\"{'active': c.selectedTab =='unaccounted' }\" ng-click=\"c.selectedTab = 'unaccounted'\"&gt;\n          &lt;div class=\"top-box\"&gt;\n            &lt;sp-widget widget=\"c.data.donutChartWidget1\"&gt;&lt;/sp-widget&gt;\n          &lt;/div&gt;\n          &lt;p class=\"sub-title\"&gt;\n            {{c.unaccountedData.first_box.sub_title}}\n          &lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div class=\"second-div\" ng-class=\"{'active': c.selectedTab == 'noncomplaint' }\" ng-click=\"c.selectedTab = 'noncomplaint'\"&gt;\n          &lt;div class=\"top-box\"&gt;\n            &lt;sp-widget widget=\"c.data.donutChartWidget2\"&gt;&lt;/sp-widget&gt;\n          &lt;/div&gt;\n          &lt;p class=\"sub-title\"&gt;\n            {{c.unaccountedData.second_box.sub_title}}\n          &lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-show=\"c.selectedTab == 'unaccounted'\"&gt;\n        &lt;people-card type=\"mem\" user=\"c.userOne\"&gt;&lt;/people-card&gt;\n        &lt;div ng-repeat=\"spend in c.userOne.spending\" class=\"spending-foruser\"&gt;\n          &lt;p class=\"left-text\"&gt;{{spend.text}}&lt;/p&gt;\n          &lt;div class=\"right-text\"&gt;\n            &lt;svg class=\"svg-icon\"&gt;\n              &lt;use xlink:href='{{spend.icon}}'&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n            &lt;p&gt;{{spend.company}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;people-card type=\"mem\" user=\"c.userTwo\"&gt;&lt;/people-card&gt;\n        &lt;div ng-repeat=\"spend in c.userTwo.spending\" class=\"spending-foruser\"&gt;\n          &lt;p class=\"left-text\"&gt;{{spend.text}}&lt;/p&gt;\n          &lt;div class=\"right-text\"&gt;\n            &lt;svg class=\"svg-icon\"&gt;\n              &lt;use xlink:href='{{spend.icon}}'&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n            &lt;p&gt;{{spend.company}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-show=\"c.selectedTab == 'noncomplaint'\"&gt;\n        &lt;div class=\"second-tab-details\" ng-repeat=\"item in c.secondTab.list\" ng-class-even=\"'light-grey-bg'\"&gt;\n          &lt;div class=\"vm-num\"&gt;\n            &lt;p class=\"big-text\"&gt;{{item.vimnumber}}&lt;/p&gt;\n            &lt;p class=\"small-text\"&gt;{{item.vim_number}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"lease\"&gt;\n            &lt;p class=\"lease-head\"&gt;created on&lt;/p&gt;\n            &lt;p class=\"small-text\"&gt;{{item.lease}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"flex-it\"&gt;\n            &lt;svg ng-class=\"{'vmwwidth': item.company == 'VMW'}\" class=\"svg-icon\"&gt;\n              &lt;use xlink:href='{{item.icon}}'&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n            &lt;p ng-if=\"each.company != 'VMW'\"&gt;{{item.company}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>7ae46f37138bf600d0cf3192e144b0d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>PE Tab Chart Selector Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bf3c14c113693600d15e3d7ed144b09b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>7ee46f37138bf600d0cf3192e144b0d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0bc1804513293600d15e3d7ed144b0f2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartWizard() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.div-center {\n    text-align: center;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart-wizard&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart Wizard&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"chart_data\",\"default_value\":\"{\\\"label\\\":\\\"1/5\\\",\\\"current\\\":1,\\\"total\\\":5}\",\"label\":\"Chart Data\",\"type\":\"json\",\"mandatory\":true},{\"name\":\"primary_color\",\"default_value\":\"#4286f4\",\"label\":\"Color\",\"type\":\"string\"},{\"name\":\"background_color\",\"default_value\":\"#c2d1e8\",\"label\":\"Background Color\",\"type\":\"string\"},{\"name\":\"chart_width\",\"default_value\":\"80\",\"label\":\"Width\",\"type\":\"string\"},{\"name\":\"font_size\",\"default_value\":\"24px\",\"label\":\"Font Size\",\"type\":\"string\"},{\"name\":\"font_weight\",\"default_value\":\"800\",\"label\":\"Font Weight\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.toJson = function (str) {\n    if (typeof str == 'string') {\n      str = JSON.parse(str);\n    }\n    if (typeof str == 'object') {\n      ret = true;\n      try {\n        JSON.parse(str);\n      } catch (e) {\n        ret = false;\n      }\n      if (ret === true) {\n        str = JSON.parse(str);\n      }\n    } else if (str != undefined &amp;&amp; str !== null) {\n      str = JSON.parse(str);\n    } else {\n      str = JSON.parse('');\n    }\n    return str;\n  };\n\n  data.primary_color = input.primary_color || options.primary_color;\n  data.background_color = input.background_color || options.background_color;\n  data.chart_width = input.chart_width || options.chart_width;\n  data.font_size = input.font_size || options.font_size;\n  data.font_weight = input.font_weight || options.font_weight;\n  data.chart_data = input.chart_data || options.chart_data;\n  data.chart_data = data.toJson(data.chart_data);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 22:19:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0bc1804513293600d15e3d7ed144b0f2&lt;/sys_id&gt;&lt;sys_mod_count&gt;148&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart Wizard&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0bc1804513293600d15e3d7ed144b0f2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-16 18:59:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"container-fluid\"&gt;\n  &lt;div class=\"row div-center\"&gt;\n  &lt;donut-directive data-count=\"data.chart_data.current\"\n  data-displayvalue=\"{{data.chart_data.label}}\"\n  data-total=\"data.chart_data.total\"\n    data-show-value=\"true\"\n    data-show-value-as-count=\"true\"\n    data-width=\"data.chart_width\"\n    data-font-size=\"{{data.font_size}}\"\n    data-font-weight=\"data.font_weight\"\n    data-color-fill=\"{{data.primary_color}}\"\n    data-color-bg=\"{{data.background_color}}\"\n    href=\"donutTemplate\"&gt;\n  &lt;/donut-directive&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>b6e46f37138bf600d0cf3192e144b0d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart Wizard</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_774c54c113693600d15e3d7ed144b0da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>774c54c113693600d15e3d7ed144b0da</sys_id><sys_mod_count>4</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_774c54c113693600d15e3d7ed144b0da</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:52</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>bae46f37138bf600d0cf3192e144b0d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_0f8fdb6d1329b60083a7bd522244b021</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"donutDirective\">774c54c113693600d15e3d7ed144b0da</sp_css_include><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:44:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0f8fdb6d1329b60083a7bd522244b021</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_0f8fdb6d1329b60083a7bd522244b021</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:44:46</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>bee46f37138bf600d0cf3192e144b0cf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>donutDirective</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:57:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cc585c0113693600d15e3d7ed144b07d</sys_id><sys_mod_count>3</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"donutDirective\">25689c0113693600d15e3d7ed144b0d6</sys_ui_script><sys_update_name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:40:30</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>f2e46f37138bf600d0cf3192e144b0d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_362c548113693600d15e3d7ed144b0c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/* Donut CSS */&#13;\n&#13;\n.progress-pie-chart {&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    border-radius: 50%;&#13;\n    background-color: #E5E5E5;&#13;\n    position: relative;&#13;\n    display: inline-block;&#13;\n    cursor: pointer;&#13;\n}&#13;\n&#13;\n.progress-pie-chart.gt-50 {&#13;\n    background-color: #81CE97;&#13;\n}&#13;\n&#13;\n.ppc-progress {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n}&#13;\n&#13;\n.ppc-progress .ppc-progress-fill {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n    background: #81CE97;&#13;\n    transform: rotate(60deg);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress {&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress .ppc-progress-fill {&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n    background: #E5E5E5;&#13;\n}&#13;\n&#13;\n.ppc-percents {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 80px/2);&#13;\n    top: calc(50% - 80px/2);&#13;\n    width: 80px;&#13;\n    height: 80px;&#13;\n    background: #fff;&#13;\n    text-align: center;&#13;\n    display: table;&#13;\n}&#13;\n&#13;\n.ppc-percents span {&#13;\n    display: block;&#13;\n    font-size: inherit;&#13;\n    color: #81CE97;&#13;\n}&#13;\n&#13;\n.pcc-percents-wrapper {&#13;\n    display: table-cell;&#13;\n    vertical-align: middle;&#13;\n}</css><name>donutDirective</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>362c548113693600d15e3d7ed144b0c1</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_362c548113693600d15e3d7ed144b0c1</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>f6e46f37138bf600d0cf3192e144b0d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_25689c0113693600d15e3d7ed144b0d6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;donutDirective&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n    var donutTemplate = '&lt;div class=\"progress-pie-chart ppc-{{randomID}}\"&gt;' +\n        '&lt;div class=\"ppc-progress\"&gt;' +\n        '&lt;div class=\"ppc-progress-fill\"&gt;&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;div class=\"ppc-percents\"&gt;' +\n        '&lt;div class=\"pcc-percents-wrapper\"&gt;' +\n        '&lt;span ng-style=\"{\\'font-size\\':fontSize , \\'font-weight\\':fontWeight}\"&gt;{{displayvalue}}&lt;/span&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;';\n\n    angular.module('donutDirective', []).directive('donutDirective', function($timeout) {\n        return {\n            restrict: 'AE',\n            // templateUrl: function (element, attrs) {\n            //     return attrs.href;\n            // },\n            template: donutTemplate,\n            scope: {\n                count: '=',\n                total: '=',\n                displayvalue: '@',\n                showValue: '=',\n                showValueAsCount: '=',\n                width: '=',\n                colorFill: '@',\n                colorBg: '@',\n                inverted: '=',\n                fontSize: '@',\n                fontWeight: '='\n            },\n            link: function(scope, element, attrs) {\n                //console.log(\"displayvalue \" + scope.displayvalue);\n                var randomId = Math.round((Math.random() * 100000000)),\n                    percent = (scope.count / scope.total) * 100,\n                    colors = undefined;\n\n                if (scope.colorFill || scope.colorBg) {\n                    colors = {\n                        fill: scope.colorFill,\n                        bg: scope.colorBg\n                    };\n                }\n                scope.randomID = randomId;\n                /*  $timeout(function(){\n                 calculateDonut(scope.width, percent, scope.showValue,\n                 scope.showValueAsCount, scope.count, colors, scope.inverted, randomId);\n                 }, 1);*/\n\n\n                scope.$watch(function(scope) {\n                        return scope.count\n                    },\n                    function() {\n                        percent = (scope.count / scope.total) * 100;\n                        calculateDonut(scope.width, percent, scope.showValue,\n                            scope.showValueAsCount, scope.count, colors, scope.inverted, randomId, scope.displayvalue);\n                    }\n                );\n            }\n\n        };\n\n        function calculateDonut(width, percent, showValue, showValueAsCount, count, colors, inverted, id, displayvalue) {\n            var $ = jQuery,\n                ppc = $('.progress-pie-chart.ppc-' + id),\n                ppcProgress = $('.ppc-' + id + ' .ppc-progress'),\n                ppcProgressFill = $('.ppc-' + id + ' .ppc-progress-fill'),\n                ppcPercents = $('.ppc-' + id + ' .ppc-percents'),\n                deg = 360 * percent / 100,\n                fontSize = width * 20 / 55;\n\n            percent = parseInt(percent);\n            width = parseInt(width);\n\n            //Value display control - start\n            if (showValue) {\n                if (showValueAsCount)\n                    ppcPercents.find('span').html(displayvalue);\n                else\n                    ppcPercents.find('span').html(percent + '%');\n            }\n            //Value display control - end\n\n            //Invert the colors if needed\n            if (inverted) {\n                percent = 100 - percent;\n                deg = 360 * percent / 100;\n                colors = {\n                    fill: colors.bg,\n                    bg: colors.fill\n                };\n            }\n\n            if (percent &gt; 50) {\n                ppc.addClass('gt-50');\n            }\n            ppcProgressFill.css('transform', 'rotate(' + deg + 'deg)');\n\n            //Donut re-Size - start : change as per width specified\n            ppc.add(ppcProgress).add(ppcProgressFill)\n                .css({\n                    \"width\": width + 'px',\n                    \"height\": width + 'px'\n                });\n            ppcProgress.add(ppcProgressFill)\n                .css({\n                    \"left\": 'calc(50% - ' + width / 2 + 'px)',\n                    \"top\": 'calc(50% - ' + width / 2 + 'px)'\n                });\n\n            if (percent &gt; 50) {\n                $('.gt-50.ppc-' + id + ' .ppc-progress').css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n                $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n            } else {\n                ppcProgress.css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n                ppcProgressFill.css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n            }\n\n            ppcPercents.css({\n                \"left\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"top\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"font-size\": fontSize + 'px',\n                \"width\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                },\n                \"height\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                }\n            });\n            //Donut re-Sizing - end\n\n            //change colors accordingly\n            if (colors) {\n                if (percent &gt; 50) {\n                    if (colors.fill) {\n                        $('.progress-pie-chart.gt-50.ppc-' + id).css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css('background-color', colors.bg);\n                    }\n                } else {\n                    if (colors.fill) {\n                        ppcProgressFill.css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        ppc.css('background-color', colors.bg);\n                    }\n                }\n                if (inverted) {\n                    ppcPercents.find('span').css('color', colors.bg);\n                }\n            }\n            //color change - end\n        }\n    });\n})();\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 23:57:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;25689c0113693600d15e3d7ed144b0d6&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;donutDirective&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_25689c0113693600d15e3d7ed144b0d6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-15 00:38:49&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tab Chart Selector\">bae46f37138bf600d0cf3192e144b0cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 17:28:27</sys_created_on>\n<sys_id>fee46f37138bf600d0cf3192e144b0d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 17:28:27</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-tab-with-donut-chart-snippet/widget/pe-cloud-sprawl-tab-with-donut-chart-snippet.u-body-html-template.html",
    "content": "<div>\n  <svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n    <symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <g id=\"Page-1\">\n        <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\">\n          <g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\">\n            <polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"></polygon>\n            <polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"></polygon>\n            <polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"></polygon>\n            <polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"></polygon>\n          </g>\n        </g>\n      </g>\n    </symbol>\n    <symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <g id=\"Page-1\">\n        <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\">\n          <g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\">\n            <polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"></polygon>\n            <polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"></polygon>\n            <polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"></polygon>\n            <polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"></polygon>\n            <polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"></polygon>\n            <polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"></polygon>\n            <polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"></polygon>\n            <polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"></polygon>\n            <polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"></polygon>\n          </g>\n        </g>\n      </g>\n    </symbol>\n    <symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n        <g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\">\n          <g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\">\n            <path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n              id=\"Fill-1\"></path>\n            <path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n              id=\"Fill-3\"></path>\n            <path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n              id=\"Fill-5\"></path>\n            <path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n              id=\"Fill-7\"></path>\n            <path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n              id=\"Fill-9\"></path>\n          </g>\n        </g>\n      </g>\n    </symbol>\n  </svg>\n  <div class=\"unaccounted-vms row\">\n    <div class=\"body-div\">\n      <div class=\"spending-month\">\n        <div class=\"first-div\" ng-class=\"{'active': c.selectedTab =='unaccounted' }\" ng-click=\"c.selectedTab = 'unaccounted'\">\n          <div class=\"top-box\">\n            <sp-widget widget=\"c.data.donutChartWidget1\"></sp-widget>\n          </div>\n          <p class=\"sub-title\">\n            {{c.unaccountedData.first_box.sub_title}}\n          </p>\n        </div>\n        <div class=\"second-div\" ng-class=\"{'active': c.selectedTab == 'noncomplaint' }\" ng-click=\"c.selectedTab = 'noncomplaint'\">\n          <div class=\"top-box\">\n            <sp-widget widget=\"c.data.donutChartWidget2\"></sp-widget>\n          </div>\n          <p class=\"sub-title\">\n            {{c.unaccountedData.second_box.sub_title}}\n          </p>\n        </div>\n      </div>\n      <div ng-show=\"c.selectedTab == 'unaccounted'\">\n        <people-card type=\"mem\" user=\"c.userOne\"></people-card>\n        <div ng-repeat=\"spend in c.userOne.spending\" class=\"spending-foruser\">\n          <p class=\"left-text\">{{spend.text}}</p>\n          <div class=\"right-text\">\n            <svg class=\"svg-icon\">\n              <use xlink:href='{{spend.icon}}'></use>\n            </svg>\n            <p>{{spend.company}}</p>\n          </div>\n        </div>\n        <people-card type=\"mem\" user=\"c.userTwo\"></people-card>\n        <div ng-repeat=\"spend in c.userTwo.spending\" class=\"spending-foruser\">\n          <p class=\"left-text\">{{spend.text}}</p>\n          <div class=\"right-text\">\n            <svg class=\"svg-icon\">\n              <use xlink:href='{{spend.icon}}'></use>\n            </svg>\n            <p>{{spend.company}}</p>\n          </div>\n        </div>\n      </div>\n      <div ng-show=\"c.selectedTab == 'noncomplaint'\">\n        <div class=\"second-tab-details\" ng-repeat=\"item in c.secondTab.list\" ng-class-even=\"'light-grey-bg'\">\n          <div class=\"vm-num\">\n            <p class=\"big-text\">{{item.vimnumber}}</p>\n            <p class=\"small-text\">{{item.vim_number}}</p>\n          </div>\n          <div class=\"lease\">\n            <p class=\"lease-head\">created on</p>\n            <p class=\"small-text\">{{item.lease}}</p>\n          </div>\n          <div class=\"flex-it\">\n            <svg ng-class=\"{'vmwwidth': item.company == 'VMW'}\" class=\"svg-icon\">\n              <use xlink:href='{{item.icon}}'></use>\n            </svg>\n            <p ng-if=\"each.company != 'VMW'\">{{item.company}}</p>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>"
  },
  {
    "path": "pe-cloud-sprawl-tab-with-donut-chart-snippet/widget/pe-cloud-sprawl-tab-with-donut-chart-snippet.u-client-script.js",
    "content": "function TabChartController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getDonutChart1();\n    getDonutChart2();\n    c.secondTab = c.data.secondTab;\n    c.userOne = c.data.userOne;\n    c.userTwo = c.data.userTwo;\n    c.selectedTab = 'unaccounted';\n  };\n\n  function getDonutChart1() {\n    spUtil.get('pe-donut-chart-wizard', c.data.chart1).then(function(response) {\n      c.data.donutChartWidget1 = response;\n    });\n  }\n\n  function getDonutChart2() {\n    spUtil.get('pe-donut-chart-wizard', c.data.chart2).then(function(response) {\n      c.data.donutChartWidget2 = response;\n    });\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-tab-with-donut-chart-snippet/widget/pe-cloud-sprawl-tab-with-donut-chart-snippet.u-css.scss",
    "content": ".unaccounted-vms {\n  background: #F7F7F7;\n  padding: 20px;\n  .green-bg {\n    background: #70be5a;\n  }\n  .second-tab-details {\n    padding: 20px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    .flex-it {\n      display: flex;\n      align-items: center;\n      justify-content: space-around;\n      .svg-icon {\n        height: 23px;\n        width: 27px;\n        fill: #9C9C9C;\n      }\n      p {\n        margin-left: 5px;\n        margin-bottom: 0px;\n      }\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .vm-num {\n      .big-text {\n        font-size: 20px;\n        color: #595959;\n      }\n      .small-text {\n        font-size: 13px;\n        color: #909090;\n      }\n    }\n    .lease {\n      .lease-head {\n        text-transform: uppercase;\n      }\n      .big-text {\n        font-size: 20px;\n        color: #595959;\n      }\n      .small-text {\n        font-size: 13px;\n        color: #909090;\n      }\n    }\n    .people-card-media {\n      padding-right: 10px;\n      padding-left: 10px;\n      display: flex;\n      justify-content: flex-start;\n      align-items: center;\n      float: left;\n      margin: 0px;\n      width: initial;\n      .flex-it-align-top {\n        display: flex;\n        justify-content: space-between;\n      }\n      .media-left {\n        .list__photo {\n          width: 35px;\n          height: 35px;\n        }\n        .initials-badge {\n          min-width: 36px;\n          float: left;\n          margin-top: 0px;\n          border-radius: 50%;\n          line-height: 1;\n          font-size: 14px;\n          margin-left: 0px;\n          padding: 10px 10px;\n          font-weight: 300;\n          background: #AEB2B3;\n        }\n      }\n    }\n  }\n  .people-card-media {\n    padding-top: 15px;\n    padding-bottom: 15px;\n    padding-right: 10px;\n    padding-left: 10px;\n    background: #fff;\n    border-bottom: 1px solid #f3f3f3;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    width: 100%;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .webicon-down {\n      fill: transparent;\n      stroke: $brand-primary;\n      width: 22px;\n      height: 22px;\n      vertical-align: bottom;\n    }\n    .media-body {\n      width: 60%;\n    }\n    .media-left {\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n      .not-available.presence:after {\n        background-color: #FA5B5A;\n      }\n      .available.presence:after {\n        background-color: #7CE684;\n      }\n      .presence {\n        position: relative;\n      }\n      .presence:after {\n        width: 10px;\n        height: 10px;\n        top: 26px;\n        left: 25px;\n        position: absolute;\n        content: \"\";\n        border-radius: 50%;\n      }\n    }\n    .media-right {\n      text-align: center;\n      width: 40%;\n      .fa-color {\n        color: #3d5483;\n        margin-right: 10px;\n      }\n      .add-unnssigned {\n        font-size: 30px;\n        color: $brand-primary;\n      }\n    }\n    .people_name_title {\n      .title {\n        font-size: 16px;\n        font-weight: 600;\n        margin-bottom: 0px;\n        color: #666;\n      }\n      .list__subtitle {\n        font-size: 14px;\n        font-family: 'Lato', sans-serif;\n        font-weight: 300;\n        margin-bottom: 0px;\n        color: #565656;\n      }\n      .list__sub_subtitle {\n        font-size: 12px;\n        font-weight: 300;\n        margin-bottom: 0px;\n        color: #9f9f9f;\n      }\n    }\n    .contact-div {\n      clear: both;\n    }\n  }\n  .red-bg {\n    background: #ee525e;\n  }\n  .body-div {\n    background: #fff;\n    .heading {\n      font-weight: 600;\n      font-size: 24px;\n      color: #333;\n      padding: 10px;\n    }\n    .spending-month {\n      display: flex;\n      .first-div {\n        width: 50%;\n        padding: 20px;\n        border-right: 1px solid #f3f3f3;\n        border-bottom: 1px solid #f3f3f3;\n        &.active {\n          background: #f2f2f2;\n          border-bottom: 2px solid #d1232b;\n        }\n        .top-box {\n          height: 70px;\n          text-align: center;\n          .big-text {\n            font-size: 46px;\n            font-weight: 300;\n            text-align: center;\n          }\n        }\n        .sub-title {\n          font-size: 12px;\n          font-weight: 600;\n          text-transform: uppercase;\n          color: #9f9f9f;\n          margin-bottom: 0px;\n          margin-top: 10px;\n          text-align: center;\n        }\n      }\n      .second-div {\n        border-right: 1px solid #f3f3f3;\n        border-bottom: 1px solid #f3f3f3;\n        width: 50%;\n        padding: 20px;\n        &.active {\n          background: #f2f2f2;\n          border-bottom: 2px solid #d1232b;\n        }\n        .top-box {\n          height: 70px;\n          text-align: center;\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          margin-top: 3px;\n          .arrow-down {\n            width: 0;\n            height: 0;\n            border-left: 10px solid transparent;\n            border-right: 10px solid transparent;\n            border-top: 10px solid #70be5a;\n          }\n          .arrow-up {\n            width: 0;\n            height: 0;\n            border-left: 10px solid transparent;\n            border-right: 10px solid transparent;\n            border-bottom: 10px solid #ee525e;\n          }\n          .badge-custom {\n            padding: 16px 6px;\n            font-size: 24px;\n            border-radius: 50%;\n            font-weight: 300;\n            margin-left: 10px;\n          }\n          .big-text {\n            font-size: 46px;\n            font-weight: 300;\n            text-align: center;\n          }\n        }\n        .sub-title {\n          font-size: 12px;\n          font-weight: 600;\n          text-transform: uppercase;\n          color: #9f9f9f;\n          margin-bottom: 0px;\n          margin-top: 7px;\n          text-align: center;\n        }\n      }\n    }\n  }\n  .spending-foruser {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: 10px;\n    border-bottom: 1px solid #f3f3f3;\n    .left-text {\n      font-size: 20px;\n      color: #595959;\n      p {\n        margin-bottom: 0px;\n      }\n    }\n    .right-text {\n      display: flex;\n      align-items: center;\n      font-size: 16px;\n      color: #9c9c9c;\n      .svg-icon {\n        height: 23px;\n        width: 27px;\n        fill: #9C9C9C;\n      }\n      p {\n        margin-left: 5px;\n        margin-bottom: 0px;\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-tab-with-donut-chart-snippet/widget/pe-cloud-sprawl-tab-with-donut-chart-snippet.u-server-script.js",
    "content": "(function() {\n  data.chart1 = {\n    primary_color: '#29bd00',\n    background_color: '#b4b2b3',\n    chart_width: '70',\n    font_size: '18px',\n    font_weight: '600',\n    chart_data: {\n      label: '$50k',\n      current: 50,\n      total: 200\n    }\n  };\n\n  data.chart2 = {\n    primary_color: '#f5a623',\n    background_color: '#b4b2b3',\n    chart_width: '70',\n    font_size: '18px',\n    font_weight: '600',\n    chart_data: {\n      label: '10',\n      current: 10,\n      total: 20\n    }\n  };\n\n  data.secondTab = {\n    name: 'expiring lease',\n    badge_number: 5,\n    badge_color: 'bg-orange',\n    list: [{\n      icon: '#icon-azure',\n      company: 'Azure',\n      lease: 'Jan 5 2017',\n      vimnumber: 'VM1',\n      vim_number: '',\n      user: {\n        fname: 'edward',\n        lname: 'scott',\n        name: 'Edward Scott',\n        photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n        title: 'IT Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM23',\n      vim_number: '',\n      user: {\n        fname: 'Andrew',\n        lname: 'Garner',\n        name: 'Jose Riley',\n        photo: '90f8d5621398fe00f7f5bcc32244b00b.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM13',\n      vim_number: '',\n      user: {\n        fname: 'jose',\n        lname: 'riley',\n        name: 'Jose Riley',\n        photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 25 2017',\n      vimnumber: 'VM4',\n      vim_number: '',\n      user: {\n        fname: 'greg',\n        lname: 'hill',\n        name: 'Greg Hill',\n        photo: '743a51a21398fe00f7f5bcc32244b067.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 35 2017',\n      vimnumber: 'VM5',\n      vim_number: '',\n      user: {\n        fname: 'David',\n        lname: 'Hoffman',\n        name: 'David Hoffman',\n        photo: '22d959621398fe00f7f5bcc32244b0d2.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-aws',\n      company: 'AWS',\n      lease: 'Feb 45 2017',\n      vimnumber: 'VM6',\n      vim_number: '',\n      user: {\n        fname: 'Gary',\n        lname: 'Kim',\n        name: 'Gary Kim',\n        photo: '61ba9d621398fe00f7f5bcc32244b023.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-azure',\n      company: 'Azure',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM17',\n      vim_number: '',\n      user: {\n        fname: 'edward',\n        lname: 'scott',\n        name: 'Edward Scott',\n        photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n        title: 'IT Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-azure',\n      company: 'Azure',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM18',\n      vim_number: '',\n      user: {\n        fname: 'edward',\n        lname: 'scott',\n        name: 'Edward Scott',\n        photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n        title: 'IT Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-vmware',\n      company: 'VMW',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM39',\n      vim_number: '',\n      user: {\n        fname: 'jose',\n        lname: 'riley',\n        name: 'Jose Riley',\n        photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }, {\n      icon: '#icon-vmware',\n      company: 'VMW',\n      lease: 'Feb 5 2017',\n      vimnumber: 'VM10',\n      vim_number: '',\n      user: {\n        fname: 'jose',\n        lname: 'riley',\n        name: 'Jose Riley',\n        photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n        title: 'Application Manager',\n        phone: '8581234567'\n      }\n    }]\n  };\n\n  data.userOne = {\n    fname: 'jose',\n    lname: 'riley',\n    name: 'Jose Riley',\n    photo: 'fae1fa1013d07e00f7f5bcc32244b091.iix',\n    title: 'Application Manager',\n    phone: '8581234567',\n    spending: [{\n      text: '$8K this month',\n      icon: '#icon-aws',\n      company: 'AWS'\n    }, {\n      text: '$22K this month',\n      icon: '#icon-azure',\n      company: 'Azure'\n    }]\n  };\n\n  data.userTwo = {\n    fname: 'edward',\n    lname: 'scott',\n    name: 'Edward Scott',\n    photo: '47161dae1358fe00f7f5bcc32244b03c.iix',\n    title: 'IT Manager',\n    phone: '8581234567',\n    spending: [{\n      text: '$7K this month',\n      icon: '#icon-aws',\n      company: 'AWS'\n    }, {\n      text: '$13K this month',\n      icon: '#icon-azure',\n      company: 'Azure'\n    }]\n  };\n})();"
  },
  {
    "path": "pe-cloud-sprawl-tier-overview-snippet/Readme.md",
    "content": "# Tier Overview\n\n## Description\n\nThis widget can be used to create a four column layout.\n\n## Screenshots\n![alt text](../images/pe-tier-overview-snippet.png \"Tier Overview\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-tier-overview-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-tier-overview-snippet/pe-cloud-sprawl-tier-overview-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON objects in the Server Script.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-tier-overview-snippet/pe-cloud-sprawl-tier-overview-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-15 23:06:18\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Tier Overview</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>bd1691d913617600d15e3d7ed144b0f9</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-15 23:06:18</sys_created_on>\n<sys_id>b646151d13617600d15e3d7ed144b0f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-15 23:06:18</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_d923455113617600d15e3d7ed144b0f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TierOverviewController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.tier-widget {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 20px 10px;\n    border-bottom: 1px solid #ddd;\n    .box {\n        width: 20%;\n        text-align: center;\n        .top-box{\n            height: 35px;\n        }\n        p {\n            margin-bottom: 0px;\n        }\n        .sub-text {\n            font-size: 12px;\n            color: #b4b2b3;\n            text-transform: uppercase;\n            font-weight: bold;\n        }\n        .badge {\n            padding: 5px 10px;\n            border-radius: 5px;\n            text-transform: uppercase;\n        }\n        .fa{\n            color: #65666a;\n        }\n    }\n    .percent-box {\n        .percentage {\n            font-size: 24px;\n            color: #65666a;\n            font-weight: bold;\n        }\n    }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-tier-overview&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Tier Overview&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.card_data = {\n    \"tier_icon\": \"fa-shield\",\n    \"tier_text\": \"Gold\",\n    \"percent_change\": \"40%\",\n    \"percernt_text\": \"changes automated\",\n    \"first_label\": \"defined\",\n    \"first_label_color\": \"#70be5a\",\n    \"first_label_subtext\": \"SLA\",\n    \"second_label\": \"tested\",\n    \"second_label_color\": \"#70be5a\",\n    \"second_label_subtext\": \"Enterprise services\"\n  };\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-15 21:48:09&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d923455113617600d15e3d7ed144b0f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;39&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Tier Overview&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_d923455113617600d15e3d7ed144b0f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-15 22:40:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"tier-widget\"&gt;\n    &lt;!-- your widget template --&gt;\n    &lt;div class=\"tier-box box\"&gt;\n        &lt;div class=\"top-box\"&gt;\n            &lt;i class=\"fa fa-2x\" ng-class=\"c.data.card_data.tier_icon\"&gt;&lt;/i&gt;\n        &lt;/div&gt;\n        &lt;p class=\"sub-text\"&gt;{{::c.data.card_data.tier_text}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"percent-box box\"&gt;\n        &lt;div class=\"top-box\"&gt;\n            &lt;p class=\"percentage\"&gt;{{::c.data.card_data.percent_change}}&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;p class=\"sub-text\"&gt;{{::c.data.card_data.percernt_text}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"defined-box box\"&gt;\n        &lt;div class=\"top-box\"&gt;\n            &lt;div class=\"badge\" ng-style=\"{'background':c.data.card_data.first_label_color}\"&gt;\n                {{::c.data.card_data.first_label}}\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;p class=\"sub-text\"&gt;{{::c.data.card_data.first_label_subtext}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"tested-box box\"&gt;\n        &lt;div class=\"top-box\"&gt;\n            &lt;i class=\"fa fa-2x fa-shopping-cart\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/div&gt;\n        &lt;p class=\"sub-text\"&gt;{{::c.data.card_data.second_label_subtext}}&lt;/p&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Tier Overview\">b646151d13617600d15e3d7ed144b0f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-15 23:06:18</sys_created_on>\n<sys_id>7a46151d13617600d15e3d7ed144b0f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-15 23:06:18</sys_updated_on>\n<table/>\n<target_name>PE Tier Overview</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-tier-overview-snippet/widget/pe-cloud-sprawl-tier-overview-snippet.u-body-html-template.html",
    "content": "<div class=\"tier-widget\">\r\n    <!-- your widget template -->\r\n    <div class=\"tier-box box\">\r\n        <div class=\"top-box\">\r\n            <i class=\"fa fa-2x\" ng-class=\"c.data.card_data.tier_icon\"></i>\r\n        </div>\r\n        <p class=\"sub-text\">{{::c.data.card_data.tier_text}}</p>\r\n    </div>\r\n    <div class=\"percent-box box\">\r\n        <div class=\"top-box\">\r\n            <p class=\"percentage\">{{::c.data.card_data.percent_change}}</p>\r\n        </div>\r\n        <p class=\"sub-text\">{{::c.data.card_data.percernt_text}}</p>\r\n    </div>\r\n    <div class=\"defined-box box\">\r\n        <div class=\"top-box\">\r\n            <div class=\"badge\" ng-style=\"{'background':c.data.card_data.first_label_color}\">\r\n                {{::c.data.card_data.first_label}}\r\n            </div>\r\n        </div>\r\n        <p class=\"sub-text\">{{::c.data.card_data.first_label_subtext}}</p>\r\n    </div>\r\n    <div class=\"tested-box box\">\r\n        <div class=\"top-box\">\r\n            <i class=\"fa fa-2x fa-shopping-cart\" aria-hidden=\"true\"></i>\r\n        </div>\r\n        <p class=\"sub-text\">{{::c.data.card_data.second_label_subtext}}</p>\r\n    </div>\r\n</div>\r\n"
  },
  {
    "path": "pe-cloud-sprawl-tier-overview-snippet/widget/pe-cloud-sprawl-tier-overview-snippet.u-client-script.js",
    "content": "function TierOverviewController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-cloud-sprawl-tier-overview-snippet/widget/pe-cloud-sprawl-tier-overview-snippet.u-css.scss",
    "content": ".tier-widget {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 20px 10px;\n    border-bottom: 1px solid #ddd;\n    .box {\n        width: 20%;\n        text-align: center;\n        .top-box{\n            height: 35px;\n        }\n        p {\n            margin-bottom: 0px;\n        }\n        .sub-text {\n            font-size: 12px;\n            color: #b4b2b3;\n            text-transform: uppercase;\n            font-weight: bold;\n        }\n        .badge {\n            padding: 5px 10px;\n            border-radius: 5px;\n            text-transform: uppercase;\n        }\n        .fa{\n            color: #65666a;\n        }\n    }\n    .percent-box {\n        .percentage {\n            font-size: 24px;\n            color: #65666a;\n            font-weight: bold;\n        }\n    }\n}\n"
  },
  {
    "path": "pe-cloud-sprawl-tier-overview-snippet/widget/pe-cloud-sprawl-tier-overview-snippet.u-server-script.js",
    "content": "(function () {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  data.card_data = {\r\n    \"tier_icon\": \"fa-shield\",\r\n    \"tier_text\": \"Gold\",\r\n    \"percent_change\": \"40%\",\r\n    \"percernt_text\": \"changes automated\",\r\n    \"first_label\": \"defined\",\r\n    \"first_label_color\": \"#70be5a\",\r\n    \"first_label_subtext\": \"SLA\",\r\n    \"second_label\": \"tested\",\r\n    \"second_label_color\": \"#70be5a\",\r\n    \"second_label_subtext\": \"Enterprise services\"\r\n  };\r\n\r\n})();"
  },
  {
    "path": "pe-cloud-sprawl-vm-summary-snippet/Readme.md",
    "content": "# Summary Data Snippet\n\n## Description\n\nThis snippet can be used to quickly obtain a card containing sub sections with data and a sample charts.\n\n## Screenshots\n![](../images/pe-summary-data-snippet.png)\n\n## Additional Information/Notes\nThis widget makes use of [pe-donut-chart-wizard](https://github.com/platform-experience/serviceportal-widget-library/tree/master/Charts/pe-donut-chart-wizard) and is included in the update set.\n\nDonut Chart Wizards widget is injected dynamically in client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-cloud-sprawl-vm-summary-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cloud-sprawl-vm-summary-snippet/pe-cloud-sprawl-vm-summary-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON objects in the Server Script.\n``` javascript\n  data.card = {\n    filter: 'all',\n    donut_data: {\n      total: 100,\n      completed: 85,\n      display_value: '21%',\n      sub_title: 'NONCOMPLIANT spend',\n      bottom_text: '$50k UNACCOUNTED'\n    },\n    second_box: {\n      top_text: 'savings',\n      middle_text: '$69k',\n      sub_title: '47 RECLAIMED VMs'\n    },\n    third_box: {\n      big_text: '78%',\n      sub_title: 'UTILIZATION RATE',\n      sub_sub_title: '3% M/M'\n    }\n  };\n\n  data.chart = {\n    primary_color: '#e74c3c',\n    background_color: '#9b9b9b',\n    chart_width: '60',\n    font_size: '18px',\n    font_weight: '600'\n  };\n\n  data.chart_data = {\n    label: '21%',\n    current: 1,\n    total: 5\n  };\n\n```\n\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-cloud-sprawl-vm-summary-snippet/pe-cloud-sprawl-vm-summary-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-05 22:40:26\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Summary Data</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>f9bddfab13c3f600d0cf3192e144b072</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>d3b2276f13c3f600d0cf3192e144b019</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_ef16387e131d3200d15e3d7ed144b045</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartController() {\n  /* widget controller */\n  var c = this;\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.donut-chart-container {\n  position: relative;\n  align-content: center;\n  text-align: center;\n  vertical-align: middle;\n}\n\nsvg {\n  transform: rotate(-90deg);\n}\n\n.icon-container {\n  position: absolute;\n  left: 67px;\n  top: 63px;\n}\n\n.circle_animation {\n  stroke-dasharray: 68.36;\n  stroke-dashoffset: 68.36;\n}\n\n\n.donut-chart-common {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n\n.donut-chart-bg .circle_animation {\n  -webkit-animation: donut-chart-bg 1s ease-out forwards;\n  animation: donut-chart-bg 1s ease-out forwards;\n}\n\n.donut-chart-1 .circle_animation {\n  -webkit-animation: donut-chart-1 1s ease-out forwards;\n  animation: donut-chart-1 1s ease-out forwards;\n}\n\n@keyframes donut-chart-bg {\n  to {\n    stroke-dashoffset: 0;\n  }\n}\n\n@keyframes donut-chart-1 {\n  to {\n    stroke-dashoffset: 50;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"Donut chart\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"show_title\",\"default_value\":\"false\",\"label\":\"Show Title\",\"type\":\"boolean\"},{\"name\":\"show_icon\",\"default_value\":\"false\",\"label\":\"Show Icon\",\"type\":\"string\"},{\"name\":\"active_color\",\"default_value\":\"#7eacf7\",\"label\":\"Active Color\",\"type\":\"string\"},{\"name\":\"background_color\",\"default_value\":\"#e6e8ed\",\"label\":\"Background Color\",\"type\":\"string\"},{\"name\":\"fa_icon\",\"default_value\":\"fa fa-tachometer fa-2x\",\"label\":\"Font Awesome Icon\",\"type\":\"string\"},{\"name\":\"border_width\",\"default_value\":\"16\",\"label\":\"Border Width\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n    var getBoolValue = function(inputVal, optionVal) {\n\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n\n  data.title = input.title || options.title;\n/*  data.percentage = input.percentage || options.percentage;\n  data.percentage = parseInt(data.percentage);\n  data.percentage = (data.percentage*200)/100;*/\n\n  data.active_color = input.active_color || options.active_color;\n  data.background_color = input.background_color || options.background_color;\n  data.fa_icon = input.fa_icon || options.fa_icon;\n\n  data.show_title = getBoolValue(input.show_title, options.show_title);\n  data.show_icon = getBoolValue(input.show_icon, options.show_icon);\n  //data.border_width = input.border_width || options.border_width;\n  data.border_width = 12;\n  data.height = 34;\n  data.width = 34;\n\n  data.r = 0;\n  data.cx = 0;\n  data.cy = 0;\n\n  data.r = (data.width*32)/100;\n  data.cx = data.width/2;\n  data.cy = data.height/2;\n\n\n\n\n\n\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 02:21:20&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ef16387e131d3200d15e3d7ed144b045&lt;/sys_id&gt;&lt;sys_mod_count&gt;258&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_ef16387e131d3200d15e3d7ed144b045&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 18:52:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div ng-show=\"c.data.data.show_title\"&gt;\n    &lt;h3&gt;{{c.data.title}}&lt;/h3&gt;\n  &lt;/div&gt;\n  &lt;div class=\"donut-chart-container\"&gt;\n    &lt;div class=\"donut-chart-common donut-chart-bg\"&gt;\n      &lt;svg ng-style=\"\n    {'height':c.data.height, 'width': c.data.width}\"&gt;\n        &lt;g&gt;\n          &lt;circle id=\"circle-base\" class=\"circle_animation\" ng-attr-r='{{c.data.r}}' ng-attr-cy='{{c.data.cy}}' ng-attr-cx='{{c.data.cx}}' stroke-width=\"{{c.data.border_width}}\"\n            stroke=\"{{c.data.background_color}}\" fill=\"none\" /&gt;\n        &lt;/g&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n    &lt;div id=\"chart-1\" class=\"donut-chart-common donut-chart-1\"&gt;\n      &lt;!--ng-class='{\"stroke-dashoffset\": 25}'--&gt;\n      &lt;svg ng-style=\"\n    {'height':c.data.height, 'width': c.data.width}\"&gt;\n        &lt;g&gt;\n          &lt;circle id=\"circle\" class=\"circle_animation\" ng-attr-r=\"{{c.data.r}}\" ng-attr-cy=\"{{c.data.cy}}\" ng-attr-cx=\"{{c.data.cx}}\" stroke-width=\"{{c.data.border_width}}\"\n            stroke=\"{{c.data.active_color}}\" fill=\"none\" /&gt;\n        &lt;/g&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"icon-container\" ng-show=\"c.data.show_icon\"&gt;\n    &lt;i class=\"{{c.data.fa_icon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>17b2276f13c3f600d0cf3192e144b01b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>donutDirective</module><name>donutDirective</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:56:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4438d80113693600d15e3d7ed144b0c6</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4438d80113693600d15e3d7ed144b0c6</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:20</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>1bb2276f13c3f600d0cf3192e144b01a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_e7de9f2d1329b60083a7bd522244b064</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_widget display_value=\"PE Donut Chart Wizard\">0bc1804513293600d15e3d7ed144b0f2</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:41:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e7de9f2d1329b60083a7bd522244b064</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.PE Donut Chart Wizard</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_e7de9f2d1329b60083a7bd522244b064</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:41:50</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>1fb2276f13c3f600d0cf3192e144b019</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective.PE Donut Chart Wizard</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c0e4ccd113ed3600d15e3d7ed144b094</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function SummaryDataController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getDonutChart();\n  };\n\n  function getDonutChart() {\n    spUtil.get('pe-donut-chart-wizard', {\n      primary_color: c.data.chart.primary_color,\n      background_color: c.data.chart.background_color,\n      chart_width: c.data.chart.chart_width,\n      font_size: c.data.chart.font_size,\n      font_weight: c.data.chart.font_weight,\n      chart_data: c.data.chart_data\n    }).then(function(response) {\n      c.data.donutChartWizardWidget = response;\n    });\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.vms {\n  overflow: hidden;\n  margin-bottom: 10px;\n  background: #f9f9f9;\n  display: flex;\n  &amp;amp;:after {\n    content: \"\";\n    display: table;\n  }\n  .color-red {\n    color: #ff402c !important;\n  }\n  .arrow-up {\n    margin-right: 3px;\n    width: 0;\n    height: 0;\n    border-left: 7px solid transparent;\n    border-right: 7px solid transparent;\n    border-bottom: 7px solid #70be5a;\n  }\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: #70be5a;\n    p {\n      font-size: 12px;\n      font-weight: 600;\n    }\n  }\n  .each-box {\n    width: 33.3%;\n    padding: 10px 10px 20px;\n    float: left;\n    text-align: center;\n    .bottom-part {\n      margin-left: -7px;\n      margin-right: -7px;\n    }\n    .top-text {\n      height: 34px;\n      display: flex;\n      align-items: flex-end;\n      justify-content: center;\n      margin-bottom: 8px;\n    }\n    .top-box {\n      height: 65px;\n      display: flex;\n      align-items: flex-start;\n      justify-content: center;\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .sub-title {\n      font-size: 12px;\n      color: #9f9f9f;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n    .top-title {\n      font-size: 12px;\n      color: #65666a;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n    .middle-big-text {\n      font-size: 38px;\n      color: #65666a; //font-weight: bold;\n    }\n  }\n  .middle-box {\n    border-right: 1px solid #ddd;\n    border-left: 1px solid #ddd;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-summary-data-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Summary Data Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.card = {\n    filter: 'all',\n    donut_data: {\n      total: 100,\n      completed: 85,\n      display_value: '21%',\n      sub_title: 'NONCOMPLIANT spend',\n      bottom_text: '$50k UNACCOUNTED'\n    },\n    second_box: {\n      top_text: 'savings',\n      middle_text: '$69k',\n      sub_title: '47 RECLAIMED VMs'\n    },\n    third_box: {\n      big_text: '78%',\n      sub_title: 'UTILIZATION RATE',\n      sub_sub_title: '3% M/M'\n    }\n  };\n\n  data.chart = {\n    primary_color: '#e74c3c',\n    background_color: '#9b9b9b',\n    chart_width: '60',\n    font_size: '18px',\n    font_weight: '600'\n  };\n\n  data.chart_data = {\n    label: '21%',\n    current: 1,\n    total: 5\n  };\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-15 17:13:30&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c0e4ccd113ed3600d15e3d7ed144b094&lt;/sys_id&gt;&lt;sys_mod_count&gt;36&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Summary Data Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c0e4ccd113ed3600d15e3d7ed144b094&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-05 22:23:12&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"vms\"&gt;\n  &lt;div class=\"each-box unaccounted-box\" ui-sref=\"unaccountedvm\"&gt;\n    &lt;div class=\"top-text\"&gt;\n      &lt;p class=\"sub-title\"&gt;{{::data.card.donut_data.sub_title}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"top-box\"&gt;\n      &lt;sp-widget widget=\"c.data.donutChartWizardWidget\"&gt;&lt;/sp-widget&gt;\n    &lt;/div&gt;\n    &lt;p class=\"top-title bottom-part\"&gt;{{::data.card.donut_data.bottom_text}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"each-box middle-box\" ui-sref=\"vmsreclaimed({filter:data.filter})\"&gt;\n    &lt;div class=\"top-text\"&gt;\n      &lt;p class=\"sub-title\"&gt;{{::data.card.second_box.top_text}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"top-box\"&gt;\n      &lt;p class=\"middle-big-text\"&gt;{{::data.card.second_box.middle_text}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;p class=\"top-title\"&gt;{{::data.card.second_box.sub_title}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"each-box\" ui-sref=\"utilization\"&gt;\n    &lt;div class=\"top-text\"&gt;\n      &lt;p class=\"sub-title\"&gt;{{::data.card.third_box.sub_title}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"top-box\"&gt;\n      &lt;p class=\"middle-big-text color-red\"&gt;{{::data.card.third_box.big_text}}&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"flex-it\"&gt;\n      &lt;div class=\"arrow-up\"&gt;&lt;/div&gt;\n      &lt;p&gt;{{::data.card.third_box.sub_sub_title}}&lt;/p&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>53b2276f13c3f600d0cf3192e144b01b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>PE Summary Data Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bf3c14c113693600d15e3d7ed144b09b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_bf3c14c113693600d15e3d7ed144b09b</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>57b2276f13c3f600d0cf3192e144b01a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_0f4f5b6d1329b60083a7bd522244b027</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sp_js_include display_value=\"donutDirective\">cc585c0113693600d15e3d7ed144b07d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:43:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0f4f5b6d1329b60083a7bd522244b027</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_0f4f5b6d1329b60083a7bd522244b027</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:43:33</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>5bb2276f13c3f600d0cf3192e144b019</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_774c54c113693600d15e3d7ed144b0da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>donutDirective</name><source>local</source><sp_css display_value=\"donutDirective\">362c548113693600d15e3d7ed144b0c1</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>774c54c113693600d15e3d7ed144b0da</sys_id><sys_mod_count>4</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_774c54c113693600d15e3d7ed144b0da</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:52</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>93b2276f13c3f600d0cf3192e144b01a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_0f8fdb6d1329b60083a7bd522244b021</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"donutDirective\">774c54c113693600d15e3d7ed144b0da</sp_css_include><sp_dependency display_value=\"donutDirective\">4438d80113693600d15e3d7ed144b0c6</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-03-17 03:44:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0f8fdb6d1329b60083a7bd522244b021</sys_id><sys_mod_count>0</sys_mod_count><sys_name>donutDirective.donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_0f8fdb6d1329b60083a7bd522244b021</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-03-17 03:44:46</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>97b2276f13c3f600d0cf3192e144b019</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective.donutDirective</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0bc1804513293600d15e3d7ed144b0f2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartWizard() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.div-center {\n    text-align: center;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart-wizard&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart Wizard&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"chart_data\",\"default_value\":\"{\\\"label\\\":\\\"1/5\\\",\\\"current\\\":1,\\\"total\\\":5}\",\"label\":\"Chart Data\",\"type\":\"json\",\"mandatory\":true},{\"name\":\"primary_color\",\"default_value\":\"#4286f4\",\"label\":\"Color\",\"type\":\"string\"},{\"name\":\"background_color\",\"default_value\":\"#c2d1e8\",\"label\":\"Background Color\",\"type\":\"string\"},{\"name\":\"chart_width\",\"default_value\":\"80\",\"label\":\"Width\",\"type\":\"string\"},{\"name\":\"font_size\",\"default_value\":\"24px\",\"label\":\"Font Size\",\"type\":\"string\"},{\"name\":\"font_weight\",\"default_value\":\"800\",\"label\":\"Font Weight\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.toJson = function (str) {\n    if (typeof str == 'string') {\n      str = JSON.parse(str);\n    }\n    if (typeof str == 'object') {\n      ret = true;\n      try {\n        JSON.parse(str);\n      } catch (e) {\n        ret = false;\n      }\n      if (ret === true) {\n        str = JSON.parse(str);\n      }\n    } else if (str != undefined &amp;&amp; str !== null) {\n      str = JSON.parse(str);\n    } else {\n      str = JSON.parse('');\n    }\n    return str;\n  };\n\n  data.primary_color = input.primary_color || options.primary_color;\n  data.background_color = input.background_color || options.background_color;\n  data.chart_width = input.chart_width || options.chart_width;\n  data.font_size = input.font_size || options.font_size;\n  data.font_weight = input.font_weight || options.font_weight;\n  data.chart_data = input.chart_data || options.chart_data;\n  data.chart_data = data.toJson(data.chart_data);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 22:19:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0bc1804513293600d15e3d7ed144b0f2&lt;/sys_id&gt;&lt;sys_mod_count&gt;148&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart Wizard&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0bc1804513293600d15e3d7ed144b0f2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-16 18:59:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"container-fluid\"&gt;\n  &lt;div class=\"row div-center\"&gt;\n  &lt;donut-directive data-count=\"data.chart_data.current\"\n  data-displayvalue=\"{{data.chart_data.label}}\"\n  data-total=\"data.chart_data.total\"\n    data-show-value=\"true\"\n    data-show-value-as-count=\"true\"\n    data-width=\"data.chart_width\"\n    data-font-size=\"{{data.font_size}}\"\n    data-font-weight=\"data.font_weight\"\n    data-color-fill=\"{{data.primary_color}}\"\n    data-color-bg=\"{{data.background_color}}\"\n    href=\"donutTemplate\"&gt;\n  &lt;/donut-directive&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>9fb2276f13c3f600d0cf3192e144b01a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart Wizard</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_25689c0113693600d15e3d7ed144b0d6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;donutDirective&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n    var donutTemplate = '&lt;div class=\"progress-pie-chart ppc-{{randomID}}\"&gt;' +\n        '&lt;div class=\"ppc-progress\"&gt;' +\n        '&lt;div class=\"ppc-progress-fill\"&gt;&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;div class=\"ppc-percents\"&gt;' +\n        '&lt;div class=\"pcc-percents-wrapper\"&gt;' +\n        '&lt;span ng-style=\"{\\'font-size\\':fontSize , \\'font-weight\\':fontWeight}\"&gt;{{displayvalue}}&lt;/span&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;/div&gt;';\n\n    angular.module('donutDirective', []).directive('donutDirective', function($timeout) {\n        return {\n            restrict: 'AE',\n            // templateUrl: function (element, attrs) {\n            //     return attrs.href;\n            // },\n            template: donutTemplate,\n            scope: {\n                count: '=',\n                total: '=',\n                displayvalue: '@',\n                showValue: '=',\n                showValueAsCount: '=',\n                width: '=',\n                colorFill: '@',\n                colorBg: '@',\n                inverted: '=',\n                fontSize: '@',\n                fontWeight: '='\n            },\n            link: function(scope, element, attrs) {\n                //console.log(\"displayvalue \" + scope.displayvalue);\n                var randomId = Math.round((Math.random() * 100000000)),\n                    percent = (scope.count / scope.total) * 100,\n                    colors = undefined;\n\n                if (scope.colorFill || scope.colorBg) {\n                    colors = {\n                        fill: scope.colorFill,\n                        bg: scope.colorBg\n                    };\n                }\n                scope.randomID = randomId;\n                /*  $timeout(function(){\n                 calculateDonut(scope.width, percent, scope.showValue,\n                 scope.showValueAsCount, scope.count, colors, scope.inverted, randomId);\n                 }, 1);*/\n\n\n                scope.$watch(function(scope) {\n                        return scope.count\n                    },\n                    function() {\n                        percent = (scope.count / scope.total) * 100;\n                        calculateDonut(scope.width, percent, scope.showValue,\n                            scope.showValueAsCount, scope.count, colors, scope.inverted, randomId, scope.displayvalue);\n                    }\n                );\n            }\n\n        };\n\n        function calculateDonut(width, percent, showValue, showValueAsCount, count, colors, inverted, id, displayvalue) {\n            var $ = jQuery,\n                ppc = $('.progress-pie-chart.ppc-' + id),\n                ppcProgress = $('.ppc-' + id + ' .ppc-progress'),\n                ppcProgressFill = $('.ppc-' + id + ' .ppc-progress-fill'),\n                ppcPercents = $('.ppc-' + id + ' .ppc-percents'),\n                deg = 360 * percent / 100,\n                fontSize = width * 20 / 55;\n\n            percent = parseInt(percent);\n            width = parseInt(width);\n\n            //Value display control - start\n            if (showValue) {\n                if (showValueAsCount)\n                    ppcPercents.find('span').html(displayvalue);\n                else\n                    ppcPercents.find('span').html(percent + '%');\n            }\n            //Value display control - end\n\n            //Invert the colors if needed\n            if (inverted) {\n                percent = 100 - percent;\n                deg = 360 * percent / 100;\n                colors = {\n                    fill: colors.bg,\n                    bg: colors.fill\n                };\n            }\n\n            if (percent &gt; 50) {\n                ppc.addClass('gt-50');\n            }\n            ppcProgressFill.css('transform', 'rotate(' + deg + 'deg)');\n\n            //Donut re-Size - start : change as per width specified\n            ppc.add(ppcProgress).add(ppcProgressFill)\n                .css({\n                    \"width\": width + 'px',\n                    \"height\": width + 'px'\n                });\n            ppcProgress.add(ppcProgressFill)\n                .css({\n                    \"left\": 'calc(50% - ' + width / 2 + 'px)',\n                    \"top\": 'calc(50% - ' + width / 2 + 'px)'\n                });\n\n            if (percent &gt; 50) {\n                $('.gt-50.ppc-' + id + ' .ppc-progress').css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n                $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n            } else {\n                ppcProgress.css(\"clip\", 'rect(0,' + width + 'px,' + width + 'px,' + width / 2 + 'px)');\n                ppcProgressFill.css(\"clip\", 'rect(0,' + width / 2 + 'px,' + width + 'px,0)');\n            }\n\n            ppcPercents.css({\n                \"left\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"top\": 'calc(50% - ' + (width - width / 5) / 2 + 'px)',\n                \"font-size\": fontSize + 'px',\n                \"width\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                },\n                \"height\": function() {\n                    if (width % 10 &gt; 0)\n                        return width - width / 5 - 1;\n                    else return width - width / 5;\n                }\n            });\n            //Donut re-Sizing - end\n\n            //change colors accordingly\n            if (colors) {\n                if (percent &gt; 50) {\n                    if (colors.fill) {\n                        $('.progress-pie-chart.gt-50.ppc-' + id).css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        $('.gt-50.ppc-' + id + ' .ppc-progress .ppc-progress-fill').css('background-color', colors.bg);\n                    }\n                } else {\n                    if (colors.fill) {\n                        ppcProgressFill.css('background-color', colors.fill);\n                        ppcPercents.find('span').css('color', colors.fill);\n                    }\n                    if (colors.bg) {\n                        ppc.css('background-color', colors.bg);\n                    }\n                }\n                if (inverted) {\n                    ppcPercents.find('span').css('color', colors.bg);\n                }\n            }\n            //color change - end\n        }\n    });\n})();\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 23:57:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;25689c0113693600d15e3d7ed144b0d6&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;donutDirective&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_25689c0113693600d15e3d7ed144b0d6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-15 00:38:49&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>d7b2276f13c3f600d0cf3192e144b01b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>donutDirective</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-14 23:57:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cc585c0113693600d15e3d7ed144b07d</sys_id><sys_mod_count>3</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"donutDirective\">25689c0113693600d15e3d7ed144b0d6</sys_ui_script><sys_update_name>sp_js_include_cc585c0113693600d15e3d7ed144b07d</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:40:30</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>dbb2276f13c3f600d0cf3192e144b01a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_362c548113693600d15e3d7ed144b0c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/* Donut CSS */&#13;\n&#13;\n.progress-pie-chart {&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    border-radius: 50%;&#13;\n    background-color: #E5E5E5;&#13;\n    position: relative;&#13;\n    display: inline-block;&#13;\n    cursor: pointer;&#13;\n}&#13;\n&#13;\n.progress-pie-chart.gt-50 {&#13;\n    background-color: #81CE97;&#13;\n}&#13;\n&#13;\n.ppc-progress {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n}&#13;\n&#13;\n.ppc-progress .ppc-progress-fill {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 50px);&#13;\n    top: calc(50% - 50px);&#13;\n    width: 100px;&#13;\n    height: 100px;&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n    background: #81CE97;&#13;\n    transform: rotate(60deg);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress {&#13;\n    clip: rect(0, 50px, 100px, 0);&#13;\n}&#13;\n&#13;\n.gt-50 .ppc-progress .ppc-progress-fill {&#13;\n    clip: rect(0, 100px, 100px, 50px);&#13;\n    background: #E5E5E5;&#13;\n}&#13;\n&#13;\n.ppc-percents {&#13;\n    content: \"\";&#13;\n    position: absolute;&#13;\n    border-radius: 50%;&#13;\n    left: calc(50% - 80px/2);&#13;\n    top: calc(50% - 80px/2);&#13;\n    width: 80px;&#13;\n    height: 80px;&#13;\n    background: #fff;&#13;\n    text-align: center;&#13;\n    display: table;&#13;\n}&#13;\n&#13;\n.ppc-percents span {&#13;\n    display: block;&#13;\n    font-size: inherit;&#13;\n    color: #81CE97;&#13;\n}&#13;\n&#13;\n.pcc-percents-wrapper {&#13;\n    display: table-cell;&#13;\n    vertical-align: middle;&#13;\n}</css><name>donutDirective</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-03-15 00:14:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>362c548113693600d15e3d7ed144b0c1</sys_id><sys_mod_count>2</sys_mod_count><sys_name>donutDirective</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_362c548113693600d15e3d7ed144b0c1</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-03-15 00:39:00</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE Summary Data\">d3b2276f13c3f600d0cf3192e144b019</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 22:40:26</sys_created_on>\n<sys_id>dfb2276f13c3f600d0cf3192e144b019</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 22:40:26</sys_updated_on>\n<table/>\n<target_name>donutDirective</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cloud-sprawl-vm-summary-snippet/widget/pe-cloud-sprawl-vm-summary-snippet.u-body-html-template.html",
    "content": "<div class=\"vms\">\n  <div class=\"each-box unaccounted-box\" ui-sref=\"unaccountedvm\">\n    <div class=\"top-text\">\n      <p class=\"sub-title\">{{::data.card.donut_data.sub_title}}</p>\n    </div>\n    <div class=\"top-box\">\n      <sp-widget widget=\"c.data.donutChartWizardWidget\"></sp-widget>\n    </div>\n    <p class=\"top-title bottom-part\">{{::data.card.donut_data.bottom_text}}</p>\n  </div>\n  <div class=\"each-box middle-box\" ui-sref=\"vmsreclaimed({filter:data.filter})\">\n    <div class=\"top-text\">\n      <p class=\"sub-title\">{{::data.card.second_box.top_text}}</p>\n    </div>\n    <div class=\"top-box\">\n      <p class=\"middle-big-text\">{{::data.card.second_box.middle_text}}</p>\n    </div>\n    <p class=\"top-title\">{{::data.card.second_box.sub_title}}</p>\n  </div>\n  <div class=\"each-box\" ui-sref=\"utilization\">\n    <div class=\"top-text\">\n      <p class=\"sub-title\">{{::data.card.third_box.sub_title}}</p>\n    </div>\n    <div class=\"top-box\">\n      <p class=\"middle-big-text color-red\">{{::data.card.third_box.big_text}}</p>\n    </div>\n    <div class=\"flex-it\">\n      <div class=\"arrow-up\"></div>\n      <p>{{::data.card.third_box.sub_sub_title}}</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-cloud-sprawl-vm-summary-snippet/widget/pe-cloud-sprawl-vm-summary-snippet.u-client-script.js",
    "content": "function SummaryDataController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getDonutChart();\n  };\n\n  function getDonutChart() {\n    spUtil.get('pe-donut-chart-wizard', {\n      primary_color: c.data.chart.primary_color,\n      background_color: c.data.chart.background_color,\n      chart_width: c.data.chart.chart_width,\n      font_size: c.data.chart.font_size,\n      font_weight: c.data.chart.font_weight,\n      chart_data: c.data.chart_data\n    }).then(function(response) {\n      c.data.donutChartWizardWidget = response;\n    });\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-vm-summary-snippet/widget/pe-cloud-sprawl-vm-summary-snippet.u-css.scss",
    "content": ".vms {\n  overflow: hidden;\n  margin-bottom: 10px;\n  background: #f9f9f9;\n  display: flex;\n  &:after {\n    content: \"\";\n    display: table;\n  }\n  .color-red {\n    color: #ff402c !important;\n  }\n  .arrow-up {\n    margin-right: 3px;\n    width: 0;\n    height: 0;\n    border-left: 7px solid transparent;\n    border-right: 7px solid transparent;\n    border-bottom: 7px solid #70be5a;\n  }\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: #70be5a;\n    p {\n      font-size: 12px;\n      font-weight: 600;\n    }\n  }\n  .each-box {\n    width: 33.3%;\n    padding: 10px 10px 20px;\n    float: left;\n    text-align: center;\n    .bottom-part {\n      margin-left: -7px;\n      margin-right: -7px;\n    }\n    .top-text {\n      height: 34px;\n      display: flex;\n      align-items: flex-end;\n      justify-content: center;\n      margin-bottom: 8px;\n    }\n    .top-box {\n      height: 65px;\n      display: flex;\n      align-items: flex-start;\n      justify-content: center;\n    }\n    p {\n      margin-bottom: 0px;\n    }\n    .sub-title {\n      font-size: 12px;\n      color: #9f9f9f;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n    .top-title {\n      font-size: 12px;\n      color: #65666a;\n      text-transform: uppercase;\n      font-weight: bold;\n    }\n    .middle-big-text {\n      font-size: 38px;\n      color: #65666a; //font-weight: bold;\n    }\n  }\n  .middle-box {\n    border-right: 1px solid #ddd;\n    border-left: 1px solid #ddd;\n  }\n}"
  },
  {
    "path": "pe-cloud-sprawl-vm-summary-snippet/widget/pe-cloud-sprawl-vm-summary-snippet.u-server-script.js",
    "content": "(function() {\n  data.card = {\n    filter: 'all',\n    donut_data: {\n      total: 100,\n      completed: 85,\n      display_value: '21%',\n      sub_title: 'NONCOMPLIANT spend',\n      bottom_text: '$50k UNACCOUNTED'\n    },\n    second_box: {\n      top_text: 'savings',\n      middle_text: '$69k',\n      sub_title: '47 RECLAIMED VMs'\n    },\n    third_box: {\n      big_text: '78%',\n      sub_title: 'UTILIZATION RATE',\n      sub_sub_title: '3% M/M'\n    }\n  };\n\n  data.chart = {\n    primary_color: '#e74c3c',\n    background_color: '#9b9b9b',\n    chart_width: '60',\n    font_size: '18px',\n    font_weight: '600'\n  };\n\n  data.chart_data = {\n    label: '21%',\n    current: 1,\n    total: 5\n  };\n})();"
  },
  {
    "path": "pe-cod-static/Readme.md",
    "content": "# Circle of Destiny (Static)\n\n## Description\n\nThis is a widget that shows a \"Circle of Destiny\". It is static, and is limited to 3 items, and is also limited in it's size.\n\n## Screenshots\n![](../images/pe-cod-static.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-cod-static.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cod-static/pe-cod-static.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**mainTitle** - `??`\n\n**mainIcon** - `??`\n\n**mainImage** - `??`\n\n**items** - `??`\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$primary-color: red !default;`<br/>\n`$icon-color: white !default;`<br/>"
  },
  {
    "path": "pe-cod-static/pe-cod-static.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-27 22:59:09\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Circle of Destiny - Static (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-27 23:00:00</release_date>\n<remote_sys_id>059aea874f5eb200ab4450af0310c7e2</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:59:08</sys_created_on>\n<sys_id>0101b60f4f5eb200ab4450af0310c7ce</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:59:08</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4dcaae0b4f5eb200ab4450af0310c7c4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CircleOfDestinyController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$primary-color: red !default;\n$icon-color: white !default;\n\n.circle-container {\n  position: relative;\n  width: 24em;\n  height: 24em;\n  padding: 2.8em; /*= 2em * 1.4 (2em = half the width of an img, 1.4 = sqrt(2))*/\n  border-radius: 50%;\n  margin: 0 auto;\n  .circle {\n    position: relative;\n    background-color: $primary-color;\n    border-radius: 50%;\n    width: 100%;\n    height: 100%;\n    background-size: cover;\n\n    display: flex;\n    justify-content: center;\n\n    .fa-check-circle {\n      display: none;\n      position: absolute;\n      font-size: 25px;\n      right: -5px;\n      top: -9px;\n      color: #2ecc71;\n    }\n\n  }\n  .circle-label {\n    text-align: center;\n    color: #404040;\n    margin: 0 -30px;\n  }\n}\n\n.activity {\n  display: block;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 60px;\n  height: 60px;\n}\n\n.items {\n  position: absolute;\n  left: 50%;\n  margin-top: 150px;\n\n  .item {\n    display: block;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 60px;\n    height: 60px;\n    margin: -2em;\n  }\n\n  .item:nth-child(1) {\n    -webkit-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -moz-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -ms-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -o-transform: rotate(210deg) translate(10em) rotate(-210210);\n    transform: rotate(210deg) translate(10em) rotate(-210deg);\n  }\n\n  .item:nth-child(2) {\n    -webkit-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -moz-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -ms-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -o-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    transform: rotate(270deg) translate(10em) rotate(-270deg);\n  }\n\n  .item:nth-child(3) {\n    -webkit-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -moz-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -ms-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -o-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    transform: rotate(330deg) translate(10em) rotate(-330deg);\n  }\n\n}\n\n.user-container {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-top: -200px;\n\n  div.user-pic {\n    width: 120px;\n    height: 120px;\n    border-radius: 50%;\n    background-color: $primary-color;\n    overflow: hidden;\n    font-size: 80px;\n    color: $icon-color;\n    background-size: cover;\n\n    display: flex;\n    justify-content: center;\n\n    i {\n      line-height: 120px;\n    }\n  }\n\n  .user-info {\n    h2 {\n      font-size: 30px;\n      margin: 0;\n      margin-top: 10px;\n    }\n    .subtitle {\n      font-size: 16px;\n    }\n  }\n\n  .profile-pic {\n    width:120px;\n  }\n}\n\n.success {\n  .fa-check-circle {\n    display: block !important;\n  }\n}\n\n.circle-icon {\n  font-size: 40px;\n  line-height: 60px;\n  color: $icon-color;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-cod-static&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Circle of Destiny (static)&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n\tif (options.items) {\n\n\t\tdata.items = options.items;\n\n\t} else {\n\n\t\tdata.items = [\n\t\t\t{\n\t\t\t\tlink: 'https://www.servicenow.com',\n\t\t\t\ttitle: 'My Friends',\n\t\t\t\ticon: 'fa fa-users',\n\t\t\t\timage: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlink: 'https://www.apple.com',\n\t\t\t\ttitle: 'My Events',\n\t\t\t\ticon: 'fa fa-calendar',\n\t\t\t\timage: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlink: 'https://www.google.com',\n\t\t\t\ttitle: 'My Books',\n\t\t\t\ticon: 'fa fa-book',\n\t\t\t\timage: ''\n\t\t\t}\n\t\t];\n\t}\n\n\tdata.mainTitle = options.mainTitle ? options.mainTitle : 'Welcome, Fred!';\n\tdata.mainIcon = options.mainIcon ? options.mainIcon : 'fa fa-bullseye';\n\tdata.mainImage = options.mainImage ? options.mainImage : '';\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-27 22:32:29&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4dcaae0b4f5eb200ab4450af0310c7c4&lt;/sys_id&gt;&lt;sys_mod_count&gt;27&lt;/sys_mod_count&gt;&lt;sys_name&gt;Circle of Destiny (static)&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4dcaae0b4f5eb200ab4450af0310c7c4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-27 22:57:54&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n\t&lt;!--[if lt IE 9]&gt;\n\t&lt;div class='circle-container lt-ie9'&gt;&lt;![endif]--&gt;\n  &lt;!--[if gte IE 9]&gt;&lt;!--&gt;\n  &lt;div class='circle-container'&gt;&lt;!--&lt;![endif]--&gt;\n    &lt;div class=\"items\"&gt;\n      &lt;div ng-repeat=\"item in c.data.items\" class='item'&gt;\n        &lt;a ng-href=\"{{item.link}}\"&gt;\n          &lt;div class=\"circle\" ng-style=\"{'background-image': 'url(' + item.image + ')'}\"&gt;\n            &lt;i ng-if=\"!item.image\" class=\"{{item.icon}} circle-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n          &lt;/div&gt;\n          &lt;div class=\"circle-label\"&gt;{{item.title}}&lt;/div&gt;\n        &lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class='user-container'&gt;\n    &lt;div class=\"user-pic\" ng-style=\"{'background-image': 'url(' + c.data.mainImage + ')'}\"&gt;\n      &lt;i ng-if=\"!c.data.mainImage\" class=\"{{c.data.mainIcon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;/div&gt;\n    &lt;div class=\"user-info text-center\"&gt;\n      &lt;h2 class=\"title\"&gt;{{c.data.mainTitle}}&lt;/h2&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Circle of Destiny - Static (Platform Experience)\">0101b60f4f5eb200ab4450af0310c7ce</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:59:08</sys_created_on>\n<sys_id>c101b60f4f5eb200ab4450af0310c7ce</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:59:08</sys_updated_on>\n<table/>\n<target_name>Circle of Destiny (static)</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cod-static/widget/pe-cod-static.u-body-html-template.html",
    "content": "<div>\n\t<!--[if lt IE 9]>\n\t<div class='circle-container lt-ie9'><![endif]-->\n  <!--[if gte IE 9]><!-->\n  <div class='circle-container'><!--<![endif]-->\n    <div class=\"items\">\n      <div ng-repeat=\"item in c.data.items\" class='item'>\n        <a ng-href=\"{{item.link}}\">\n          <div class=\"circle\" ng-style=\"{'background-image': 'url(' + item.image + ')'}\">\n            <i ng-if=\"!item.image\" class=\"{{item.icon}} circle-icon\" aria-hidden=\"true\"></i>\n          </div>\n          <div class=\"circle-label\">{{item.title}}</div>\n        </a>\n      </div>\n    </div>\n  </div>\n  <div class='user-container'>\n    <div class=\"user-pic\" ng-style=\"{'background-image': 'url(' + c.data.mainImage + ')'}\">\n      <i ng-if=\"!c.data.mainImage\" class=\"{{c.data.mainIcon}}\" aria-hidden=\"true\"></i>\n    </div>\n    <div class=\"user-info text-center\">\n      <h2 class=\"title\">{{c.data.mainTitle}}</h2>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-cod-static/widget/pe-cod-static.u-client-script.js",
    "content": "function CircleOfDestinyController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-cod-static/widget/pe-cod-static.u-css.scss",
    "content": "$primary-color: red !default;\n$icon-color: white !default;\n\n.circle-container {\n  position: relative;\n  width: 24em;\n  height: 24em;\n  padding: 2.8em; /*= 2em * 1.4 (2em = half the width of an img, 1.4 = sqrt(2))*/\n  border-radius: 50%;\n  margin: 0 auto;\n  .circle {\n    position: relative;\n    background-color: $primary-color;\n    border-radius: 50%;\n    width: 100%;\n    height: 100%;\n    background-size: cover;\n\n    display: flex;\n    justify-content: center;\n\n    .fa-check-circle {\n      display: none;\n      position: absolute;\n      font-size: 25px;\n      right: -5px;\n      top: -9px;\n      color: #2ecc71;\n    }\n\n  }\n  .circle-label {\n    text-align: center;\n    color: #404040;\n    margin: 0 -30px;\n  }\n}\n\n.activity {\n  display: block;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 60px;\n  height: 60px;\n}\n\n.items {\n  position: absolute;\n  left: 50%;\n  margin-top: 150px;\n\n  .item {\n    display: block;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 60px;\n    height: 60px;\n    margin: -2em;\n  }\n\n  .item:nth-child(1) {\n    -webkit-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -moz-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -ms-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -o-transform: rotate(210deg) translate(10em) rotate(-210210);\n    transform: rotate(210deg) translate(10em) rotate(-210deg);\n  }\n\n  .item:nth-child(2) {\n    -webkit-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -moz-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -ms-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -o-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    transform: rotate(270deg) translate(10em) rotate(-270deg);\n  }\n\n  .item:nth-child(3) {\n    -webkit-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -moz-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -ms-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -o-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    transform: rotate(330deg) translate(10em) rotate(-330deg);\n  }\n\n}\n\n.user-container {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-top: -200px;\n\n  div.user-pic {\n    width: 120px;\n    height: 120px;\n    border-radius: 50%;\n    background-color: $primary-color;\n    overflow: hidden;\n    font-size: 80px;\n    color: $icon-color;\n    background-size: cover;\n\n    display: flex;\n    justify-content: center;\n    \n    i {\n      line-height: 120px;\n    }\n  }\n\n  .user-info {\n    h2 {\n      font-size: 30px;\n      margin: 0;\n      margin-top: 10px;\n    }\n    .subtitle {\n      font-size: 16px;\n    }\n  }\n\n  .profile-pic {\n    width:120px;\n  }\n}\n\n.success {\n  .fa-check-circle {\n    display: block !important;\n  }\n}\n\n.circle-icon {\n  font-size: 40px;\n  line-height: 60px;\n  color: $icon-color;\n}"
  },
  {
    "path": "pe-cod-static/widget/pe-cod-static.u-server-script.js",
    "content": "(function() {\n\t\n\tif (options.items) {\n\t\t\n\t\tdata.items = options.items;\n\t\t\n\t} else {\n\t\t\n\t\tdata.items = [\n\t\t\t{\n\t\t\t\tlink: 'https://www.servicenow.com',\n\t\t\t\ttitle: 'My Friends',\n\t\t\t\ticon: 'fa fa-users',\n\t\t\t\timage: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlink: 'https://www.apple.com',\n\t\t\t\ttitle: 'My Events',\n\t\t\t\ticon: 'fa fa-calendar',\n\t\t\t\timage: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tlink: 'https://www.google.com',\n\t\t\t\ttitle: 'My Books',\n\t\t\t\ticon: 'fa fa-book',\n\t\t\t\timage: ''\n\t\t\t}\n\t\t];\n\t}\n\t\n\tdata.mainTitle = options.mainTitle ? options.mainTitle : 'Welcome, Fred!';\n\tdata.mainIcon = options.mainIcon ? options.mainIcon : 'fa fa-bullseye';\n\tdata.mainImage = options.mainImage ? options.mainImage : '';\n\n})();"
  },
  {
    "path": "pe-completion-task/Readme.md",
    "content": "# Completion Task\n\n## Description\n\nThis widget shows an individual task, the status of the task, and an optional message related to the task. When used multiple times on a page, it becomes a list of tasks, each of which can be given its own hyperlink to take you to another page.\n\n## Screenshots\n\n![Completion Task Widget](../images/pe-completion-task-1.png \"Completion Task widget\")\n\n## Additional Information/Notes\nThe widget uses it's own custom widget instance table, `u_sp_instance_completion_task`.\n\n<br/>Whether a task is completed is controlled by the evaluation of the \"Validation script\" (true/false). The message shown is also controlled by the return value of a script, in this case the \"Warning message script\". All widget options are configurable via the regular instance options editor. See screen recording below:\n\n![Completion Task Widget](../images/pe-completion-task-2.gif \"Completion Task widget\")\n---\n## Installation\n\nDownload and install update set **[pe-completion-task.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-completion-task/pe-completion-task.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Validation script` | Sets validation script | script |\n| `Warning message script` | Sets warning script | script |\n\n---\n## Platform Dependencies\n\n### System Table\n\n* u_sp_instance_completion_task\n---\n## Sample Data and Data Structures\n\n> See 'Additional Information/Notes' above\n\n---\n## API Dependencies\n\n\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-ct-heading: #117fc1 !default;\n$pe-ct-warning: #d35400 !default;\n$pe-ct-arrow: #117fc1 !default;\n$pe-ct-completed: green !default;\n```"
  },
  {
    "path": "pe-completion-task/pe-completion-task.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-21 23:32:46\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Update set containing the \"Completion Task\" widget, developed by the Platform Experience team at ServiceNow.</description>\n<inserted/>\n<name>Completion Task widget (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-22 00:00:00</release_date>\n<remote_sys_id>6fd407454f1a3a0022f40ccf0310c757</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>0b2f3fc14f9a3a0022f40ccf0310c7bc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_instance_completion_task_u_validation_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_validation_script\" label=\"Validation script\" language=\"en\" table=\"u_sp_instance_completion_task\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_validation_script</element><help/><hint/><label>Validation script</label><language>en</language><name>u_sp_instance_completion_task</name><plural>Validation scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 20:53:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>eb9a9b8d4f1a3a0022f40ccf0310c7ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Validation script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_instance_completion_task_u_validation_script_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 20:53:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:46</sys_created_on>\n<sys_id>032f3fc14f9a3a0022f40ccf0310c7be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task.Validation script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_override_b45eb7c14f9a3a0022f40ccf0310c729</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_dictionary_override\"><sys_dictionary_override action=\"INSERT_OR_UPDATE\"><attributes/><attributes_override>false</attributes_override><base_table>sp_instance</base_table><calculation/><calculation_override>false</calculation_override><default_value>Task title</default_value><default_value_override>true</default_value_override><dependent/><dependent_override>false</dependent_override><display_override>false</display_override><element>title</element><mandatory>false</mandatory><mandatory_override>false</mandatory_override><name>u_sp_instance_completion_task</name><read_only>false</read_only><read_only_override>false</read_only_override><reference_qual/><reference_qual_override>false</reference_qual_override><sys_class_name>sys_dictionary_override</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 23:29:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b45eb7c14f9a3a0022f40ccf0310c729</sys_id><sys_mod_count>0</sys_mod_count><sys_name>title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_override_b45eb7c14f9a3a0022f40ccf0310c729</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 23:29:23</sys_updated_on></sys_dictionary_override></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>072f3fc14f9a3a0022f40ccf0310c7bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>title</target_name>\n<type>Dictionary Entry Override</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_5ad8978d4f1a3a0022f40ccf0310c7a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_sp_instance_completion_task</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 20:45:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5ad8978d4f1a3a0022f40ccf0310c7a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_instance_completion_task</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_5ad8978d4f1a3a0022f40ccf0310c7a0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 20:45:19</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:46</sys_created_on>\n<sys_id>0f2f3fc14f9a3a0022f40ccf0310c7be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:46</sys_updated_on>\n<table/>\n<target_name>u_sp_instance_completion_task</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_override_9e8e3bc14f9a3a0022f40ccf0310c75f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_dictionary_override\"><sys_dictionary_override action=\"INSERT_OR_UPDATE\"><attributes/><attributes_override>false</attributes_override><base_table>sp_instance</base_table><calculation/><calculation_override>false</calculation_override><default_value>?id=index</default_value><default_value_override>true</default_value_override><dependent/><dependent_override>false</dependent_override><display_override>false</display_override><element>url</element><mandatory>false</mandatory><mandatory_override>false</mandatory_override><name>u_sp_instance_completion_task</name><read_only>false</read_only><read_only_override>false</read_only_override><reference_qual/><reference_qual_override>false</reference_qual_override><sys_class_name>sys_dictionary_override</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 23:30:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9e8e3bc14f9a3a0022f40ccf0310c75f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>url</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_dictionary_override_9e8e3bc14f9a3a0022f40ccf0310c75f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 23:30:09</sys_updated_on></sys_dictionary_override></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>432f3fc14f9a3a0022f40ccf0310c7bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>url</target_name>\n<type>Dictionary Entry Override</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_e61b1bcd4f1a3a0022f40ccf0310c711</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"e61b1bcd4f1a3a0022f40ccf0310c711\" sys_domain=\"global\" table=\"u_sp_instance_completion_task\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>7a4e9b414f5a3a0022f40ccf0310c77e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>fa4e9b414f5a3a0022f40ccf0310c77e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>url</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>7e4e9b414f5a3a0022f40ccf0310c77e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>fe4e9b414f5a3a0022f40ccf0310c77e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>724e9b414f5a3a0022f40ccf0310c77f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_validation_script</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>f24e9b414f5a3a0022f40ccf0310c77f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_warning_message_script</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 21:09:06</sys_created_on><sys_id>764e9b414f5a3a0022f40ccf0310c77f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_sp_instance_completion_task\" sys_domain=\"global\" view=\"Default view\">e61b1bcd4f1a3a0022f40ccf0310c711</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 21:09:06</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_sp_instance_completion_task</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 20:55:10</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>e61b1bcd4f1a3a0022f40ccf0310c711</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_sp_instance_completion_task</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_e61b1bcd4f1a3a0022f40ccf0310c711</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 20:55:10</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:46</sys_created_on>\n<sys_id>4b2f3fc14f9a3a0022f40ccf0310c7be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:46</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_instance_completion_task_u_warning_message_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_warning_message_script\" table=\"u_sp_instance_completion_task\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Warning message script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;(function warnMessage(){&amp;#13;\n&amp;#13;\n    /* The return value of this function will determine what the warning&amp;#13;\n     * message will be. Simply return a string from this function and it will&amp;#13;\n      be shown below the title of the completion task. */&amp;#13;\n&amp;#13;\n    var message = 'Warning message';&amp;#13;\n&amp;#13;\n    return message;&amp;#13;\n&amp;#13;\n}());&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_warning_message_script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;u_sp_instance_completion_task&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 20:53:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c52a9b8d4f1a3a0022f40ccf0310c783&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;Warning message script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_instance_completion_task_u_warning_message_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-21 23:31:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>4f2f3fc14f9a3a0022f40ccf0310c7bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task.Warning message script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_instance_completion_task__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Instance of Completion Task\" language=\"en\" table=\"u_sp_instance_completion_task\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Instance of Completion Task</label><language>en</language><name>u_sp_instance_completion_task</name><plural>Instance of Completion Tasks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 20:45:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>12d8978d4f1a3a0022f40ccf0310c79a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Completion Task</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_instance_completion_task__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 20:45:19</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:46</sys_created_on>\n<sys_id>872f3fc14f9a3a0022f40ccf0310c7be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:46</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_instance_completion_task_u_validation_script</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_validation_script\" table=\"u_sp_instance_completion_task\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Validation script&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;(function isCompleted(){&amp;#13;\n&amp;#13;\n    /* The return value of this function will determine whether to show the&amp;#13;\n     * \"completed\" tick next to the completion task. */&amp;#13;\n&amp;#13;\n    var completion = true;&amp;#13;\n&amp;#13;\n    return completion;&amp;#13;\n}());&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_validation_script&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Script\"&gt;script&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;u_sp_instance_completion_task&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 20:53:02&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b7d8178d4f1a3a0022f40ccf0310c79e&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;Validation script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_instance_completion_task_u_validation_script&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-21 23:30:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>8b2f3fc14f9a3a0022f40ccf0310c7bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task.Validation script</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_7468d38d4f1a3a0022f40ccf0310c739</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Instance of Completion Task</label><live_feed_enabled>false</live_feed_enabled><name>u_sp_instance_completion_task</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">52d90bef8561320092c05cf45eb450a4</super_class><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 20:45:18</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7468d38d4f1a3a0022f40ccf0310c739</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Completion Task</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_7468d38d4f1a3a0022f40ccf0310c739</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 20:45:18</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>8f2f3fc14f9a3a0022f40ccf0310c7bc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_sp_instance_completion_task_u_warning_message_script_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_warning_message_script\" label=\"Warning message script\" language=\"en\" table=\"u_sp_instance_completion_task\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_warning_message_script</element><help/><hint/><label>Warning message script</label><language>en</language><name>u_sp_instance_completion_task</name><plural>Warning message scripts</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-21 20:53:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>339ad3cd4f1a3a0022f40ccf0310c739</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Warning message script</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_sp_instance_completion_task_u_warning_message_script_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-21 20:53:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:46</sys_created_on>\n<sys_id>c32f3fc14f9a3a0022f40ccf0310c7be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:46</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task.Warning message script</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_sp_instance_completion_task_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_sp_instance_completion_task\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_sp_instance_completion_task&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 20:45:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;42d8d38d4f1a3a0022f40ccf0310c776&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_sp_instance_completion_task&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_sp_instance_completion_task_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-21 20:45:18&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>c72f3fc14f9a3a0022f40ccf0310c7bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table>u_sp_instance_completion_task</table>\n<target_name>Instance of Completion Task</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_52ddcf094f1a3a0022f40ccf0310c798</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-ct-heading: #117fc1 !default;\n$pe-ct-warning: #d35400 !default;\n$pe-ct-arrow: #117fc1 !default;\n$pe-ct-completed: green !default;\n\n.pe-ct-item {\n  padding: 20px 0;\n  margin: 5px;\n  padding-left: 25px;\n  position: relative;\n  font-size: 25px;\n  cursor: pointer;\n}\n\n.pe-ct-status, .pe-ct-arrow {\n  position: absolute;\n  top: 50%;\n}\n\n.pe-ct-status {\n  left: 0;\n  font-size: 20px;\n  color: $pe-ct-completed;\n  margin-top: -14px;\n}\n\n.pe-ct-title {\n  color: $pe-ct-heading;\n}\n\n.pe-ct-warning {\n  text-transform: uppercase;\n  color: $pe-ct-warning;\n  font-size: 13px;\n  position: absolute;\n  bottom: 0;\n}\n\n.pe-ct-arrow {\n  right: 0;\n  color: $pe-ct-arrow;\n  top: 50%;\n  margin-top: -16px;\n}&lt;/css&gt;&lt;data_table&gt;u_sp_instance_completion_task&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"title\": \"Task title\",\n\t\t\"url\": \"?id=index\"\n\t},\n\t\"data\": {\n\t\t\"completed\": true,\n\t\t\"warning_message\": \"Warning text\"\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;u_validation_script,u_warning_message_script&lt;/field_list&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-completion-task&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Completion Task&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function($sp) {\n\t\n\t// get the GlideRecord for the SP Instance.\n\tvar gr = $sp.getInstanceRecord();\n\t\n\t// If a validation script is set, execute it.\n\tif (options.u_validation_script != '') {\n\t\tdata.completed = executeScript(gr, 'u_validation_script');\n\t}\n\t\n\t// If a warning message script is set, execute it.\n\tif (options.u_warning_message_script != '') {\n\t\tdata.warning_message = executeScript(gr, 'u_warning_message_script');\n\t}\n  \n\tfunction executeScript (gr, field) {\n\t\tvar evaluator = new GlideScopedEvaluator();\n\t\tevaluator.putVariable('current', gr);\n\t\tvar exec = evaluator.evaluateScript(gr, field, null);\n\t\treturn exec;\n\t}\n})($sp);]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 20:00:16&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;52ddcf094f1a3a0022f40ccf0310c798&lt;/sys_id&gt;&lt;sys_mod_count&gt;135&lt;/sys_mod_count&gt;&lt;sys_name&gt;Completion Task&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_52ddcf094f1a3a0022f40ccf0310c798&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-21 22:54:57&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a href=\"{{::options.url}}\"&gt;\n  &lt;div class=\"pe-ct-item\"&gt;\n    &lt;div class=\"pe-ct-status\" ng-if=\"c.data.completed\"&gt;\n      &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\" title=\"Completed\"&gt;&lt;/i&gt;\n      &lt;span class=\"sr-only\"&gt;Completed&lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div class=\"pe-ct-title\"&gt;{{::options.title}}&lt;/div&gt;\n    &lt;div class=\"pe-ct-warning\"&gt;{{::c.data.warning_message}}&lt;/div&gt;\n    &lt;div class=\"pe-ct-arrow\"&gt;&lt;i class=\"fa fa-angle-right\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/div&gt;\n  &lt;/div&gt;\n&lt;/a&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Completion Task widget (Platform Experience)\">0b2f3fc14f9a3a0022f40ccf0310c7bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-21 23:32:45</sys_created_on>\n<sys_id>cb2f3fc14f9a3a0022f40ccf0310c7bc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-21 23:32:45</sys_updated_on>\n<table/>\n<target_name>Completion Task</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-completion-task/widget/pe-completion-task.u-body-html-template.html",
    "content": "<a href=\"{{::options.url}}\">\n  <div class=\"pe-ct-item\">\n    <div class=\"pe-ct-status\" ng-if=\"c.data.completed\">\n      <i class=\"fa fa-check-circle\" aria-hidden=\"true\" title=\"Completed\"></i>\n      <span class=\"sr-only\">Completed</span>\n    </div>\n    <div class=\"pe-ct-title\">{{::options.title}}</div>\n    <div class=\"pe-ct-warning\">{{::c.data.warning_message}}</div>\n    <div class=\"pe-ct-arrow\"><i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i></div>\n  </div>\n</a>"
  },
  {
    "path": "pe-completion-task/widget/pe-completion-task.u-client-script.js",
    "content": ""
  },
  {
    "path": "pe-completion-task/widget/pe-completion-task.u-css.scss",
    "content": "$pe-ct-heading: #117fc1 !default;\n$pe-ct-warning: #d35400 !default;\n$pe-ct-arrow: #117fc1 !default;\n$pe-ct-completed: green !default;\n\n.pe-ct-item {\n  padding: 20px 0;\n  margin: 5px;\n  padding-left: 25px;\n  position: relative;\n  font-size: 25px;\n  cursor: pointer;\n}\n\n.pe-ct-status, .pe-ct-arrow {\n  position: absolute;\n  top: 50%;\n}\n\n.pe-ct-status {\n  left: 0;\n  font-size: 20px;\n  color: $pe-ct-completed;\n  margin-top: -14px;\n}\n\n.pe-ct-title {\n  color: $pe-ct-heading;\n}\n\n.pe-ct-warning {\n  text-transform: uppercase;\n  color: $pe-ct-warning;\n  font-size: 13px;\n  position: absolute;\n  bottom: 0;\n}\n\n.pe-ct-arrow {\n  right: 0;\n  color: $pe-ct-arrow;\n  top: 50%;\n  margin-top: -16px;\n}"
  },
  {
    "path": "pe-completion-task/widget/pe-completion-task.u-server-script.js",
    "content": "(function($sp) {\n\t\n\t// get the GlideRecord for the SP Instance.\n\tvar gr = $sp.getInstanceRecord();\n\t\n\t// If a validation script is set, execute it.\n\tif (options.u_validation_script != '') {\n\t\tdata.completed = executeScript(gr, 'u_validation_script');\n\t}\n\t\n\t// If a warning message script is set, execute it.\n\tif (options.u_warning_message_script != '') {\n\t\tdata.warning_message = executeScript(gr, 'u_warning_message_script');\n\t}\n  \n\tfunction executeScript (gr, field) {\n\t\tvar evaluator = new GlideScopedEvaluator();\n\t\tevaluator.putVariable('current', gr);\n\t\tvar exec = evaluator.evaluateScript(gr, field, null);\n\t\treturn exec;\n\t}\n})($sp);"
  },
  {
    "path": "pe-contact-slider/Readme.md",
    "content": "# Contact Slider\n\n## Description\n\nThis widget can be used to quickly generate a contact slider.\n\n## Screenshot\n![](../images/pe-contact-slider.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-contact-slider.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-contact-slider/pe-contact-slider.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-contact-slider/angular-template/pe-contact-slider-svg.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"phone\">\n    <svg width=\"18px\" height=\"18px\" viewBox=\"0 0 18 18\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>DBDBBB7C-DFE4-45BF-A6EC-E159EFAD1D19</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Person-Card\" transform=\"translate(-188.000000, -11.000000)\" fill=\"#67ACDB\">\n          <g id=\"ic_local_phone_black_24px\" transform=\"translate(188.000000, 11.000000)\">\n            <path d=\"M3.62,7.79 C5.06,10.62 7.38,12.93 10.21,14.38 L12.41,12.18 C12.68,11.91 13.08,11.82 13.43,11.94 C14.55,12.31 15.76,12.51 17,12.51 C17.55,12.51 18,12.96 18,13.51 L18,17 C18,17.55 17.55,18 17,18 C7.61,18 0,10.39 0,1 C0,0.45 0.45,0 1,0 L4.5,0 C5.05,0 5.5,0.45 5.5,1 C5.5,2.25 5.7,3.45 6.07,4.57 C6.18,4.92 6.1,5.31 5.82,5.59 L3.62,7.79 L3.62,7.79 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n  <symbol id=\"message\">\n    <svg width=\"20px\" height=\"20px\" viewBox=\"0 0 20 20\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>9A1AA15F-1B4D-4C58-BA71-C8BE56353CE4</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Person-Card\" transform=\"translate(-221.000000, -10.000000)\" fill=\"#67ACDB\">\n          <g id=\"ic_forum_black_24px\" transform=\"translate(221.000000, 10.000000)\">\n            <path d=\"M19,4 L17,4 L17,13 L4,13 L4,15 C4,15.55 4.45,16 5,16 L16,16 L20,20 L20,5 C20,4.45 19.55,4 19,4 L19,4 Z M15,10 L15,1 C15,0.45 14.55,0 14,0 L1,0 C0.45,0 0,0.45 0,1 L0,15 L4,11 L14,11 C14.55,11 15,10.55 15,10 L15,10 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "pe-contact-slider/pe-contact-slider.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-05-26 23:17:21\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Contact Slider</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>c69661e8db21b200b793f2b6ae96195a</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>ea4b0cecdb03fe0062e479daae9619ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_b49354cddb90b200b793f2b6ae961997</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>animate.css</name><source>local</source><sp_css display_value=\"animate.css\">878354cddb90b200b793f2b6ae961995</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b49354cddb90b200b793f2b6ae961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_b49354cddb90b200b793f2b6ae961997</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:17:50</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>224b0cecdb03fe0062e479daae9619f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>animate.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_11e25ee8db61b200b793f2b6ae961973</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"angular-touch\">2b621ee8db61b200b793f2b6ae96190b</sp_dependency><sp_js_include display_value=\"angular-touch\">cfd29ee8db61b200b793f2b6ae961979</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:35:38</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>11e25ee8db61b200b793f2b6ae961973</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-touch.angular-touch</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_11e25ee8db61b200b793f2b6ae961973</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:35:38</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>264b0cecdb03fe0062e479daae9619f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>angular-touch.angular-touch</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_0be68aa4db61b200b793f2b6ae961941</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"Informed Parties\">ab960aa4db61b200b793f2b6ae9619aa</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Anderson</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Silva</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Anderson Silva</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:43:48</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0be68aa4db61b200b793f2b6ae961941</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:43:48</sys_updated_on><time_format/><time_zone/><title>Admin</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4736</size_bytes><size_compressed>4441</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>ddbb0228db61b200b793f2b6ae9619cc</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:04:14</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>0be68aa4db61b200b793f2b6ae961941</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"ddbb0228db61b200b793f2b6ae9619cc\">ddbb0228db61b200b793f2b6ae9619cc</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>11bb0228db61b200b793f2b6ae9619cd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"ddbb0228db61b200b793f2b6ae9619cc\">ddbb0228db61b200b793f2b6ae9619cc</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>91bb0228db61b200b793f2b6ae9619cd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2176</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"ddbb0228db61b200b793f2b6ae9619cc\">ddbb0228db61b200b793f2b6ae9619cc</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>15bb0228db61b200b793f2b6ae9619cd</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>2a4b0cecdb03fe0062e479daae9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>Anderson Silva</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_e29c5260dba1b200b793f2b6ae961985</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-contact-slider-svg&lt;/id&gt;&lt;sp_widget display_value=\"PE Contact Slider\"&gt;bb79ad6cdb21b200b793f2b6ae9619d3&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 20:18:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e29c5260dba1b200b793f2b6ae961985&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-contact-slider-svg&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_e29c5260dba1b200b793f2b6ae961985&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-22 03:45:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"phone\"&gt;\n    &lt;svg width=\"18px\" height=\"18px\" viewBox=\"0 0 18 18\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;DBDBBB7C-DFE4-45BF-A6EC-E159EFAD1D19&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"Person-Card\" transform=\"translate(-188.000000, -11.000000)\" fill=\"#67ACDB\"&gt;\n          &lt;g id=\"ic_local_phone_black_24px\" transform=\"translate(188.000000, 11.000000)\"&gt;\n            &lt;path d=\"M3.62,7.79 C5.06,10.62 7.38,12.93 10.21,14.38 L12.41,12.18 C12.68,11.91 13.08,11.82 13.43,11.94 C14.55,12.31 15.76,12.51 17,12.51 C17.55,12.51 18,12.96 18,13.51 L18,17 C18,17.55 17.55,18 17,18 C7.61,18 0,10.39 0,1 C0,0.45 0.45,0 1,0 L4.5,0 C5.05,0 5.5,0.45 5.5,1 C5.5,2.25 5.7,3.45 6.07,4.57 C6.18,4.92 6.1,5.31 5.82,5.59 L3.62,7.79 L3.62,7.79 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"message\"&gt;\n    &lt;svg width=\"20px\" height=\"20px\" viewBox=\"0 0 20 20\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;9A1AA15F-1B4D-4C58-BA71-C8BE56353CE4&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"Person-Card\" transform=\"translate(-221.000000, -10.000000)\" fill=\"#67ACDB\"&gt;\n          &lt;g id=\"ic_forum_black_24px\" transform=\"translate(221.000000, 10.000000)\"&gt;\n            &lt;path d=\"M19,4 L17,4 L17,13 L4,13 L4,15 C4,15.55 4.45,16 5,16 L16,16 L20,20 L20,5 C20,4.45 19.55,4 19,4 L19,4 Z M15,10 L15,1 C15,0.45 14.55,0 14,0 L1,0 C0.45,0 0,0.45 0,1 L0,15 L4,11 L14,11 C14.55,11 15,10.55 15,10 L15,10 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>2e4b0cecdb03fe0062e479daae9619f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>pe-contact-slider-svg</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_80db1841dbd0b200b793f2b6ae961976</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"animate.css\">b49354cddb90b200b793f2b6ae961997</sp_css_include><sp_dependency display_value=\"animate.css\">ba0350cddb90b200b793f2b6ae9619d4</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:53:49</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>80db1841dbd0b200b793f2b6ae961976</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.css.animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_80db1841dbd0b200b793f2b6ae961976</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:53:49</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>624b0cecdb03fe0062e479daae9619f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>animate.css.animate.css</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d7b11ae8db61b200b793f2b6ae96194f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;angular-touch&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n AngularJS v1.6.2\n (c) 2010-2017 Google, Inc. http://angularjs.org\n License: MIT\n*/\n(function(x,n){'use strict';function s(f,k){var e=!1,a=!1;this.ngClickOverrideEnabled=function(b){return n.isDefined(b)?(b&amp;&amp;!a&amp;&amp;(a=!0,t.$$moduleName=\"ngTouch\",k.directive(\"ngClick\",t),f.decorator(\"ngClickDirective\",[\"$delegate\",function(a){if(e)a.shift();else for(var b=a.length-1;0&lt;=b;){if(\"ngTouch\"===a[b].$$moduleName){a.splice(b,1);break}b--}return a}])),e=b,this):e};this.$get=function(){return{ngClickOverrideEnabled:function(){return e}}}}function v(f,k,e){p.directive(f,[\"$parse\",\"$swipe\",function(a,\nb){return function(l,u,g){function h(c){if(!d)return!1;var a=Math.abs(c.y-d.y);c=(c.x-d.x)*k;return r&amp;&amp;75&gt;a&amp;&amp;0&lt;c&amp;&amp;30&lt;c&amp;&amp;.3&gt;a/c}var m=a(g[f]),d,r,c=[\"touch\"];n.isDefined(g.ngSwipeDisableMouse)||c.push(\"mouse\");b.bind(u,{start:function(c,a){d=c;r=!0},cancel:function(c){r=!1},end:function(c,d){h(c)&amp;&amp;l.$apply(function(){u.triggerHandler(e);m(l,{$event:d})})}},c)}}])}var p=n.module(\"ngTouch\",[]);p.provider(\"$touch\",s);s.$inject=[\"$provide\",\"$compileProvider\"];p.factory(\"$swipe\",[function(){function f(a){a=\na.originalEvent||a;var b=a.touches&amp;&amp;a.touches.length?a.touches:[a];a=a.changedTouches&amp;&amp;a.changedTouches[0]||b[0];return{x:a.clientX,y:a.clientY}}function k(a,b){var l=[];n.forEach(a,function(a){(a=e[a][b])&amp;&amp;l.push(a)});return l.join(\" \")}var e={mouse:{start:\"mousedown\",move:\"mousemove\",end:\"mouseup\"},touch:{start:\"touchstart\",move:\"touchmove\",end:\"touchend\",cancel:\"touchcancel\"},pointer:{start:\"pointerdown\",move:\"pointermove\",end:\"pointerup\",cancel:\"pointercancel\"}};return{bind:function(a,b,l){var e,\ng,h,m,d=!1;l=l||[\"mouse\",\"touch\",\"pointer\"];a.on(k(l,\"start\"),function(c){h=f(c);d=!0;g=e=0;m=h;b.start&amp;&amp;b.start(h,c)});var r=k(l,\"cancel\");if(r)a.on(r,function(c){d=!1;b.cancel&amp;&amp;b.cancel(c)});a.on(k(l,\"move\"),function(c){if(d&amp;&amp;h){var a=f(c);e+=Math.abs(a.x-m.x);g+=Math.abs(a.y-m.y);m=a;10&gt;e&amp;&amp;10&gt;g||(g&gt;e?(d=!1,b.cancel&amp;&amp;b.cancel(c)):(c.preventDefault(),b.move&amp;&amp;b.move(a,c)))}});a.on(k(l,\"end\"),function(c){d&amp;&amp;(d=!1,b.end&amp;&amp;b.end(f(c),c))})}}}]);var t=[\"$parse\",\"$timeout\",\"$rootElement\",function(f,k,e){function a(a,\nd,b){for(var c=0;c&lt;a.length;c+=2){var g=a[c+1],e=b;if(25&gt;Math.abs(a[c]-d)&amp;&amp;25&gt;Math.abs(g-e))return a.splice(c,c+2),!0}return!1}function b(b){if(!(2500&lt;Date.now()-u)){var d=b.touches&amp;&amp;b.touches.length?b.touches:[b],e=d[0].clientX,d=d[0].clientY;if(!(1&gt;e&amp;&amp;1&gt;d||h&amp;&amp;h[0]===e&amp;&amp;h[1]===d)){h&amp;&amp;(h=null);var c=b.target;\"label\"===n.lowercase(c.nodeName||c[0]&amp;&amp;c[0].nodeName)&amp;&amp;(h=[e,d]);a(g,e,d)||(b.stopPropagation(),b.preventDefault(),b.target&amp;&amp;b.target.blur&amp;&amp;b.target.blur())}}}function l(a){a=a.touches&amp;&amp;a.touches.length?\na.touches:[a];var b=a[0].clientX,e=a[0].clientY;g.push(b,e);k(function(){for(var a=0;a&lt;g.length;a+=2)if(g[a]===b&amp;&amp;g[a+1]===e){g.splice(a,a+2);break}},2500,!1)}var u,g,h;return function(h,d,k){var c=f(k.ngClick),w=!1,q,p,s,t;d.on(\"touchstart\",function(a){w=!0;q=a.target?a.target:a.srcElement;3===q.nodeType&amp;&amp;(q=q.parentNode);d.addClass(\"ng-click-active\");p=Date.now();a=a.originalEvent||a;a=(a.touches&amp;&amp;a.touches.length?a.touches:[a])[0];s=a.clientX;t=a.clientY});d.on(\"touchcancel\",function(a){w=!1;d.removeClass(\"ng-click-active\")});\nd.on(\"touchend\",function(c){var h=Date.now()-p,f=c.originalEvent||c,m=(f.changedTouches&amp;&amp;f.changedTouches.length?f.changedTouches:f.touches&amp;&amp;f.touches.length?f.touches:[f])[0],f=m.clientX,m=m.clientY,v=Math.sqrt(Math.pow(f-s,2)+Math.pow(m-t,2));w&amp;&amp;750&gt;h&amp;&amp;12&gt;v&amp;&amp;(g||(e[0].addEventListener(\"click\",b,!0),e[0].addEventListener(\"touchstart\",l,!0),g=[]),u=Date.now(),a(g,f,m),q&amp;&amp;q.blur(),n.isDefined(k.disabled)&amp;&amp;!1!==k.disabled||d.triggerHandler(\"click\",[c]));w=!1;d.removeClass(\"ng-click-active\")});d.onclick=\nfunction(a){};d.on(\"click\",function(a,b){h.$apply(function(){c(h,{$event:b||a})})});d.on(\"mousedown\",function(a){d.addClass(\"ng-click-active\")});d.on(\"mousemove mouseup\",function(a){d.removeClass(\"ng-click-active\")})}}];v(\"ngSwipeLeft\",-1,\"swipeleft\");v(\"ngSwipeRight\",1,\"swiperight\")})(window,window.angular);\n//# sourceMappingURL=angular-touch.min.js.map\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 19:30:49&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d7b11ae8db61b200b793f2b6ae96194f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;angular-touch&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d7b11ae8db61b200b793f2b6ae96194f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-13 19:30:49&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>664b0cecdb03fe0062e479daae9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>angular-touch</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_cfd29ee8db61b200b793f2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular-touch</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:35:38</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cfd29ee8db61b200b793f2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-touch</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"angular-touch\">d7b11ae8db61b200b793f2b6ae96194f</sys_ui_script><sys_update_name>sp_js_include_cfd29ee8db61b200b793f2b6ae961979</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:35:38</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>6a4b0cecdb03fe0062e479daae9619f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>angular-touch</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_878354cddb90b200b793f2b6ae961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>@charset \"UTF-8\";&#13;\n&#13;\n/*!&#13;\n * animate.css -http://daneden.me/animate&#13;\n * Version - 3.5.1&#13;\n * Licensed under the MIT license - http://opensource.org/licenses/MIT&#13;\n *&#13;\n * Copyright (c) 2016 Daniel Eden&#13;\n */&#13;\n&#13;\n.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}</css><name>animate.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>878354cddb90b200b793f2b6ae961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_878354cddb90b200b793f2b6ae961995</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:17:50</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>6e4b0cecdb03fe0062e479daae9619f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>animate.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_bb79ad6cdb21b200b793f2b6ae9619d3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ContactSliderController() {\n  var c = this;\n  c.nextPhase = nextPhase;\n\n  function nextPhase() {\n    angular.element('.contact-carousel').carousel('next');\n    angular.element('.contact-carousel .hidden-photo').hide('animated fadeOut');\n    angular.element('.contact-carousel .hidden-photo').show('animated fadeIn');\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.pe-contact-slider {&amp;#13;\n  .panel {&amp;#13;\n    border: 0;&amp;#13;\n    color: #fff;&amp;#13;\n    background-color: #1c2432;&amp;#13;\n    .panel-heading {&amp;#13;\n      border-bottom: 0;&amp;#13;\n      background-color: #283347;&amp;#13;\n      color: #fff;&amp;#13;\n      font-size: 12px;&amp;#13;\n      padding: 14px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n    .panel-body {&amp;#13;\n      background-color: #1c2432;&amp;#13;\n      color: #fff;&amp;#13;\n      overflow: hidden !important;&amp;#13;\n      h5 {&amp;#13;\n        font-size: 16px;&amp;#13;\n        font-weight: 400;&amp;#13;\n        margin-top: -2px;&amp;#13;\n      }&amp;#13;\n      .user-sub-text {&amp;#13;\n        color: #68acd8;&amp;#13;\n        font-size: 12px;&amp;#13;\n        margin-bottom: -5px;&amp;#13;\n        margin-top: -5px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .minimal-width {&amp;#13;\n      margin-left: -15px !important;&amp;#13;\n    }&amp;#13;\n    .photo {&amp;#13;\n      img {&amp;#13;\n        height: 40px;&amp;#13;\n        width: 40px;&amp;#13;\n      }&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        background-color: #29bd00;&amp;#13;\n        border-radius: 50%;&amp;#13;\n        content: '';&amp;#13;\n        height: 10px;&amp;#13;\n        left: 80%;&amp;#13;\n        position: absolute;&amp;#13;\n        top: 78%;&amp;#13;\n        width: 10px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .hidden-photo {&amp;#13;\n      position: absolute;&amp;#13;\n      right: -33px;&amp;#13;\n      img {&amp;#13;\n        height: 40px;&amp;#13;\n        width: 40px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .phone {&amp;#13;\n    height: 18px;&amp;#13;\n    margin-right: 12px;&amp;#13;\n    margin-top: 10px;&amp;#13;\n    width: 18px;&amp;#13;\n  }&amp;#13;\n  .message {&amp;#13;\n    height: 20px;&amp;#13;\n    margin-top: 10px;&amp;#13;\n    width: 20px;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-contact-slider&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Contact Slider&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var userGr = GlideRecord('sys_user');\n  userGr.addQuery('department', 'ab960aa4db61b200b793f2b6ae9619aa');\n  userGr.orderBy('sys_created_on');\n  userGr.query();\n  data.users = [];\n  while (userGr.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, userGr, 'sys_id, first_name, last_name, title, photo');\n    data.users.push(obj);\n  }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 16:35:02&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;bb79ad6cdb21b200b793f2b6ae9619d3&lt;/sys_id&gt;&lt;sys_mod_count&gt;39&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Contact Slider&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_bb79ad6cdb21b200b793f2b6ae9619d3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-22 03:40:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-contact-slider-svg'\"&gt;&lt;/div&gt;\n&lt;div class=\"row pe-contact-slider\"&gt;\n  &lt;div class=\"col-xs-12\" ng-swipe-left=\"c.nextPhase()\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;informed parties&lt;/div&gt;\n      &lt;div id=\"contactSliderCarousel\" class=\"contact-carousel slide\" data-ride=\"contact-carousel\"&gt;\n        &lt;div class=\"carousel-inner\" role=\"listbox\"&gt;\n          &lt;div class=\"item\" ng-repeat=\"user in ::c.data.users track by $index\" ng-class=\"{'active' : $index == 0}\"&gt;\n            &lt;div class=\"panel-body\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-1 minimal-width\"&gt;&lt;/div&gt;\n                &lt;div class=\"col-xs-2\"&gt;\n                  &lt;div class=\"photo\"&gt;\n                    &lt;img class=\"img-circle\" ng-src=\"{{::user.photo.display_value}}\"&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class=\"col-xs-5\"&gt;\n                  &lt;h5&gt;{{::user.first_name.display_value}} {{::user.last_name.display_value}}&lt;/h5&gt;\n                  &lt;p class=\"user-sub-text\"&gt;{{::user.title.display_value}}&lt;/p&gt;\n                &lt;/div&gt;\n                &lt;div class=\"col-xs-3\"&gt;\n                  &lt;svg class=\"phone\"&gt;\n                    &lt;use xlink:href=\"#phone\"&gt;&lt;/use&gt;\n                  &lt;/svg&gt;\n                  &lt;svg class=\"message\"&gt;\n                    &lt;use xlink:href=\"#message\"&gt;&lt;/use&gt;\n                  &lt;/svg&gt;\n                &lt;/div&gt;\n                &lt;div class=\"col-xs-1\"&gt;\n                  &lt;div class=\"hidden-photo\"&gt;\n                    &lt;img class=\"img-circle\" ng-src=\"{{c.data.users[$index !== 2 ? $index + 1 : 0].photo.display_value}}\"&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>a24b0cecdb03fe0062e479daae9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>PE Contact Slider</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_ba0350cddb90b200b793f2b6ae9619d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>animate</module><name>animate.css</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:15:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba0350cddb90b200b793f2b6ae9619d4</sys_id><sys_mod_count>2</sys_mod_count><sys_name>animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_ba0350cddb90b200b793f2b6ae9619d4</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:52:49</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>a64b0cecdb03fe0062e479daae9619f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>animate.css</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_94b2dae8db61b200b793f2b6ae96192b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"angular-touch\">2b621ee8db61b200b793f2b6ae96190b</sp_dependency><sp_widget display_value=\"PE Contact Slider\">bb79ad6cdb21b200b793f2b6ae9619d3</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:34:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>94b2dae8db61b200b793f2b6ae96192b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-touch.PE Contact Slider</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_94b2dae8db61b200b793f2b6ae96192b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:34:44</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>aa4b0cecdb03fe0062e479daae9619f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>angular-touch.PE Contact Slider</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>cmn_department_ab960aa4db61b200b793f2b6ae9619aa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"cmn_department\"><cmn_department action=\"INSERT_OR_UPDATE\"><code/><company/><cost_center/><dept_head/><description/><head_count/><id/><name>Informed Parties</name><parent/><primary_contact/><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:42:09</sys_created_on><sys_id>ab960aa4db61b200b793f2b6ae9619aa</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:42:09</sys_updated_on></cmn_department></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>ae4b0cecdb03fe0062e479daae9619ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>Informed Parties</target_name>\n<type>Department</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_8f174aa4db61b200b793f2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"Informed Parties\">ab960aa4db61b200b793f2b6ae9619aa</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Joe</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Black</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Joe Black</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:44:36</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8f174aa4db61b200b793f2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:44:36</sys_updated_on><time_format/><time_zone/><title>Field Agent</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4522</size_bytes><size_compressed>4224</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:54:03</sys_created_on><sys_id>4c6906e4db61b200b793f2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:54:03</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>8f174aa4db61b200b793f2b6ae961978</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"4c6906e4db61b200b793f2b6ae961981\">4c6906e4db61b200b793f2b6ae961981</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:54:03</sys_created_on><sys_id>9c6906e4db61b200b793f2b6ae961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"4c6906e4db61b200b793f2b6ae961981\">4c6906e4db61b200b793f2b6ae961981</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:54:03</sys_created_on><sys_id>106906e4db61b200b793f2b6ae961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>q+SWhzoDq1D4NY5kstIRmMxdkopLe+TgdsENH4ph533IluHOxTY02suBau4K3uzBHgjbt8SYPx+ZLGxp8XvUuMQXIkv7AMqq6PDA1pzh1iaGM0Jz5Kv894Hn7gSz8pVL17IxmxebSP2nK7EM4Cf2wGhTMtdTJPKz/r05zpqfW4hVwfuSwl/rP0wRXmTOx793GC1QCi0zgYZ91ybUNVduJ5QFv9o6j6RVPEPQH5SyCZzcT8BsHNand3caPPc2i0lqvBN5S6S20KF6etaNv16N1IguXLAooVrZfHqY1CFtXalyGCIcN1qUm5fWEvvMU7P0iY05BGcgpiLW2ppWn/sGOVbyw8d+PpERu28UUOn6O4Jto76fCJ01I+kJib3t+jkQGOQcXTZZGi+aek0q+Jx7kLNtE2FvLr5H2gzTHZCuilJrQ9OmrE2Fz8YwTryzbWho9ruZwfgA3+PdVdRnN13m2xh6CYeG1S5Aodl0HZcaSkXmx5KnxF5OyTwruISSuduZ5pxcKn9Px+zedZMDu4AmTEBMnIm2q8dX6wHN/JPqfeYrZHBy50RWhbdOuoP8fdvFHdZ8Qpj00zs5tbFB4gZXHidYdNTlel6X+Xm4WGuY8FpQsOulhQJvXUSTZaYDYVToyZOI9ibVgTRP043XfdnI6o2q7AdYntInDVOTfSoicfla6VDu+BEfFts+fLMbqcxxd/eSkPGeWZK2P+dPkt89/9BAiNqyhYpP7Hhpj76N1PZi6yivQ0xqJPEB7U25ti2VUi1lRf6NXtpzzwSGcgqwnb5VxVcmuK1kDuuG3vmfIcVspDmuK8b+HB/q3aHrixW5XUKA9OMFN4oz9vfHn7Mr347yeGb/bjD+gKn7QN1jPJ1n/Tg0wek7kdHdhwxYZC7Wmo115NrBWJqR6gxloijddL32re4n4tU2oX6I2EMr2PBORMAHo0mOuZGfH3lIqbBmEj48M7A1cgNjKcmXzLFyCrs3dnmtyEcus2IpQEnvBtpIETGPb0R2eoTsGOieCBWTKdvYD2Iyi+J7ZmJG/wBN8vI69ni7Y3HyPa/DCtJOMIqVoGvr8Vjz+P4CGRSWCXc/FcrTd803X0okeCi0nhOVTZB36k+ueltrcPo3Klf6ze9xHo9zxOK3I/YWqfAQzcVqaJuz4GhFwTvJmZ1b36m3prY5leNZA+iGdtjSpifLdk6nHBcJnbcw3k0m5S2SpiHVs5tNbpc4S3+YBEo7dGrpQ/fVDrIy5hYL6kRcylENqxZEyHNd9o3Sj3q2VtMJy5aPrkRl5OgAtr3bzXcCwy1xPdWRmamfO5jGl/gjQjSU8Oj+XCOUii52LkBfshfOiIAExvmsLys2qK1HdhsmysQxfSjZfsPuKVDm3b4fzbEQGk0TOFBP/fjsl/NJw5VqWk4eC3vaJyTi+9+o4vft6+mK5xvTc9Kw/pntJrYg9seBsd3K8UGavCHaOHqAWIg+i4Xf7AhyoG+CJXeIZ3NgNfJkbm4Xxn+394msjDBpuaLGbMPynX86OLIHFpc0VVaxmq++mi+rkrnx2HfFMIo36QF7NVFlM/84T0UczZuSt7bByKyg3oYd0Qbl9S79lIloF+Jr7YNd7BrRB4fnSi3jlLy1hWY/yFKMemF8Bmv0BlE0JXinLbRXvRuddT2WxCOWnT+MHt2i79MxbmxqzHLM/jw7Uasn+hiBkUkmvQHcKFM2KutXMKvqK+h65SHeyU8ZSUn+ar1k8M64r595E/sCzSakkJd62gKO3SlZlSqoF0vqcolWqzuZMej1V3FjKUrfGj/EKPCXKb1Z2N03QdqCgWIXZ4bVcm9M7ngOr6N5vbdyP95E+0UNJFa5U/6uGMISRqMj4WPoQ3g3a0ElF3nyvwDehoR8qhEAAA==</data><length>1888</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"4c6906e4db61b200b793f2b6ae961981\">4c6906e4db61b200b793f2b6ae961981</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:54:03</sys_created_on><sys_id>906906e4db61b200b793f2b6ae961982</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>ae4b0cecdb03fe0062e479daae9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>Joe Black</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_2b621ee8db61b200b793f2b6ae96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>ngTouch</module><name>angular-touch</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:34:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2b621ee8db61b200b793f2b6ae96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-touch</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_2b621ee8db61b200b793f2b6ae96190b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:34:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>e24b0cecdb03fe0062e479daae9619f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>angular-touch</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_182cc228db61b200b793f2b6ae961937</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"animate.css\">ba0350cddb90b200b793f2b6ae9619d4</sp_dependency><sp_widget display_value=\"PE Contact Slider\">bb79ad6cdb21b200b793f2b6ae9619d3</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:06:04</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>182cc228db61b200b793f2b6ae961937</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.css.PE Contact Slider</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_182cc228db61b200b793f2b6ae961937</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:06:04</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>e64b0cecdb03fe0062e479daae9619f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>animate.css.PE Contact Slider</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_1077caa4db61b200b793f2b6ae961923</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"Informed Parties\">ab960aa4db61b200b793f2b6ae9619aa</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Lisa</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Perry</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Lisa Perry</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:46:49</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>1077caa4db61b200b793f2b6ae961923</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:46:49</sys_updated_on><time_format/><time_zone/><title>Manager</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>65867</size_bytes><size_compressed>65652</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>718b0228db61b200b793f2b6ae9619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:03:27</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>1077caa4db61b200b793f2b6ae961923</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b18b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>358b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b58b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>3</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>398b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>4</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b98b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>5</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>3d8b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>6</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>bd8b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>7</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>318b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>8</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b18b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>9</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>358b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>10</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b58b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>11</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>398b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>12</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b98b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>13</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>3d8b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>14</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>bd8b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>15</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>318b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>16</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b18b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2320</length><position>17</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>068b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>18</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>868b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>19</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>0a8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>20</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>8a8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>21</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>0e8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>22</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>8e8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3084</length><position>23</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>028b0228db61b200b793f2b6ae9619a4</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>ea4b0cecdb03fe0062e479daae9619f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>Lisa Perry</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_606a5620dba1b200b793f2b6ae96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><css/><id>pe_svgs</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 20:09:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>606a5620dba1b200b793f2b6ae96193e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe_svgs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_page_606a5620dba1b200b793f2b6ae96193e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 20:09:03</sys_updated_on><title>PE SVGs</title></sp_page></record_update>]]></payload>\n<remote_update_set display_value=\"PE Contact Slider\">ea4b0cecdb03fe0062e479daae9619ef</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-26 23:17:21</sys_created_on>\n<sys_id>ee4b0cecdb03fe0062e479daae9619f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-26 23:17:21</sys_updated_on>\n<table/>\n<target_name>pe_svgs</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-contact-slider/widget/pe-contact-slider.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-contact-slider-svg'\"></div>\n<div class=\"row pe-contact-slider\">\n  <div class=\"col-xs-12\" ng-swipe-left=\"c.nextPhase()\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading\">informed parties</div>\n      <div id=\"contactSliderCarousel\" class=\"contact-carousel slide\" data-ride=\"contact-carousel\">\n        <div class=\"carousel-inner\" role=\"listbox\">\n          <div class=\"item\" ng-repeat=\"user in ::c.data.users track by $index\" ng-class=\"{'active' : $index == 0}\">\n            <div class=\"panel-body\">\n              <div class=\"row\">\n                <div class=\"col-xs-1 minimal-width\"></div>\n                <div class=\"col-xs-2\">\n                  <div class=\"photo\">\n                    <img class=\"img-circle\" ng-src=\"{{::user.photo.display_value}}\">\n                  </div>\n                </div>\n                <div class=\"col-xs-5\">\n                  <h5>{{::user.first_name.display_value}} {{::user.last_name.display_value}}</h5>\n                  <p class=\"user-sub-text\">{{::user.title.display_value}}</p>\n                </div>\n                <div class=\"col-xs-3\">\n                  <svg class=\"phone\">\n                    <use xlink:href=\"#phone\"></use>\n                  </svg>\n                  <svg class=\"message\">\n                    <use xlink:href=\"#message\"></use>\n                  </svg>\n                </div>\n                <div class=\"col-xs-1\">\n                  <div class=\"hidden-photo\">\n                    <img class=\"img-circle\" ng-src=\"{{c.data.users[$index !== 2 ? $index + 1 : 0].photo.display_value}}\">\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-contact-slider/widget/pe-contact-slider.u-client-script.js",
    "content": "function ContactSliderController() {\n  var c = this;\n  c.nextPhase = nextPhase;\n\n  function nextPhase() {\n    angular.element('.contact-carousel').carousel('next');\n    angular.element('.contact-carousel .hidden-photo').hide('animated fadeOut');\n    angular.element('.contact-carousel .hidden-photo').show('animated fadeIn');\n  }\n}"
  },
  {
    "path": "pe-contact-slider/widget/pe-contact-slider.u-css.scss",
    "content": ".pe-contact-slider {\r\n  .panel {\r\n    border: 0;\r\n    color: #fff;\r\n    background-color: #1c2432;\r\n    .panel-heading {\r\n      border-bottom: 0;\r\n      background-color: #283347;\r\n      color: #fff;\r\n      font-size: 12px;\r\n      padding: 14px;\r\n      text-transform: uppercase;\r\n    }\r\n    .panel-body {\r\n      background-color: #1c2432;\r\n      color: #fff;\r\n      overflow: hidden !important;\r\n      h5 {\r\n        font-size: 16px;\r\n        font-weight: 400;\r\n        margin-top: -2px;\r\n      }\r\n      .user-sub-text {\r\n        color: #68acd8;\r\n        font-size: 12px;\r\n        margin-bottom: -5px;\r\n        margin-top: -5px;\r\n      }\r\n    }\r\n    .minimal-width {\r\n      margin-left: -15px !important;\r\n    }\r\n    .photo {\r\n      img {\r\n        height: 40px;\r\n        width: 40px;\r\n      }\r\n      &:after {\r\n        background-color: #29bd00;\r\n        border-radius: 50%;\r\n        content: '';\r\n        height: 10px;\r\n        left: 80%;\r\n        position: absolute;\r\n        top: 78%;\r\n        width: 10px;\r\n      }\r\n    }\r\n    .hidden-photo {\r\n      position: absolute;\r\n      right: -33px;\r\n      img {\r\n        height: 40px;\r\n        width: 40px;\r\n      }\r\n    }\r\n  }\r\n  .phone {\r\n    height: 18px;\r\n    margin-right: 12px;\r\n    margin-top: 10px;\r\n    width: 18px;\r\n  }\r\n  .message {\r\n    height: 20px;\r\n    margin-top: 10px;\r\n    width: 20px;\r\n  }\r\n}"
  },
  {
    "path": "pe-contact-slider/widget/pe-contact-slider.u-server-script.js",
    "content": "(function() {\n  var userGr = GlideRecord('sys_user');\n  userGr.addQuery('department', 'ab960aa4db61b200b793f2b6ae9619aa');\n  userGr.orderBy('sys_created_on');\n  userGr.query();\n  data.users = [];\n  while (userGr.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, userGr, 'sys_id, first_name, last_name, title, photo');\n    data.users.push(obj);\n  }\n})();"
  },
  {
    "path": "pe-countdown/README.md",
    "content": "# Countdown\n\n## Description\n\nThis widget provides a minimal countdown implementation, easy and quick to extend.\n\n## Screenshots\n![alt text](../images/pe-countdown.png \"Countdown\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-countdown.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-countdown/pe-countdown.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal styles configuration to make it easy to customize and extend.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-countdown/pe-countdown.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-03 13:11:07\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-countdown.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>918ca5e0db3bb2004e5cfa131f9619b3</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:11:07</sys_created_on>\n<sys_id>34fce524db3bb2004e5cfa131f9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:11:07</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_68e991e4dbf7b2004e5cfa131f961970</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Countdown</application><key>NDL Countdown Seconds</key><language>en</language><message>Seconds</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:48:00</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>68e991e4dbf7b2004e5cfa131f961970</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Countdown Seconds</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_68e991e4dbf7b2004e5cfa131f961970</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:10:35</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>948798456</payload_hash>\n<remote_update_set display_value=\"pe-countdown.u-update-set.xml\">34fce524db3bb2004e5cfa131f9619e7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:11:07</sys_created_on>\n<sys_id>30fce524db3bb2004e5cfa131f9619e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0892f8290000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:11:07</sys_updated_on>\n<table/>\n<target_name>NDL Countdown Seconds</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>85dc6524163bb2009a0cfd2f5b9149ec</update_guid>\n<update_guid_history>85dc6524163bb2009a0cfd2f5b9149ec:948798456,32bc6524ee3bb200f26a0853d48ad70d:-655413674,dfe991e4dbf7b2008fed4c2f4523ba02:948798456</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_28c919a4dbf7b2004e5cfa131f9619da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Countdown</application><key>NDL Countdown Title</key><language>en</language><message>Your computer is connected to network.</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:47:45</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>28c919a4dbf7b2004e5cfa131f9619da</sys_id><sys_mod_count>4</sys_mod_count><sys_name>NDL Countdown Title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_28c919a4dbf7b2004e5cfa131f9619da</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:10:30</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1974488029</payload_hash>\n<remote_update_set display_value=\"pe-countdown.u-update-set.xml\">34fce524db3bb2004e5cfa131f9619e7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:11:07</sys_created_on>\n<sys_id>7cfce524db3bb2004e5cfa131f9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0892e3060000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:11:07</sys_updated_on>\n<table/>\n<target_name>NDL Countdown Title</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>f7cc6524423bb200e633465587313515</update_guid>\n<update_guid_history>f7cc6524423bb200e633465587313515:-1974488029,77ac25248d3bb2003047ad92fee880aa:-252412155,855ad5e4e6f7b2007dd94ba977a69d19:-1974488029,6d4ad1e428f7b200411fe426cb5cf663:-1947533959,63d951e451f7b200ea4e3571c6a0f9fe:-921648044</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_060a15e4dbf7b2004e5cfa131f961970</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Countdown</application><key>NDL Countdown Subtitle</key><language>en</language><message>We'll begin in:</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:48:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>060a15e4dbf7b2004e5cfa131f961970</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Countdown Subtitle</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_060a15e4dbf7b2004e5cfa131f961970</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:10:24</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>1276458326</payload_hash>\n<remote_update_set display_value=\"pe-countdown.u-update-set.xml\">34fce524db3bb2004e5cfa131f9619e7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:11:07</sys_created_on>\n<sys_id>b8fce524db3bb2004e5cfa131f9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0892ccc40000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:11:07</sys_updated_on>\n<table/>\n<target_name>NDL Countdown Subtitle</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>92cc2524d63bb200613ad7ffaa4a9e6f</update_guid>\n<update_guid_history>92cc2524d63bb200613ad7ffaa4a9e6f:1276458326,2cbc2524373bb2002f3b3a0d76925119:837026356,a61a55e42df7b200bf4a35b7f656a126:1276458326</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_ecf9d1e4dbf7b2004e5cfa131f961959</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Countdown</application><key>NDL Countdown Now</key><language>en</language><message>Now</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 11:48:18</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ecf9d1e4dbf7b2004e5cfa131f961959</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Countdown Now</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_ecf9d1e4dbf7b2004e5cfa131f961959</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:10:19</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-151206431</payload_hash>\n<remote_update_set display_value=\"pe-countdown.u-update-set.xml\">34fce524db3bb2004e5cfa131f9619e7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:11:07</sys_created_on>\n<sys_id>f0fce524db3bb2004e5cfa131f9619e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0892b86e0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:11:07</sys_updated_on>\n<table/>\n<target_name>NDL Countdown Now</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>09cc6524063bb200d90cd5199c9cb410</update_guid>\n<update_guid_history>09cc6524063bb200d90cd5199c9cb410:-151206431,86bc65242a3bb200d1dbe97665378d61:-2085319361,73f991e4b0f7b200f342e2836597a9e4:-151206431</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_70239d20dbf7b2004e5cfa131f9619dc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CountdownController($interval) {\n  /* widget controller */\n  var c = this;\n  c.state = '';\n\n  c.upgrade = function () {\n    c.state = 'upgradeCountdown';\n    c.countDown = 10;\n\n    var timer = $interval(function (count) {\n      c.countDown--;\n      if (c.countDown == 0) {\n        $interval.cancel(timer);\n        c.state = '';\n      }\n    }, 1000);\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.upgrade-countdown {\n  margin-top: 25px;\n  p {\n    margin-bottom: 0;\n  }\n}\n\n.count-down {\n  color: $brand-danger;\n  .number {\n    line-height: 130px;\n    font-size: 150px;\n    font-weight: 200;\n  }\n  .seconds {\n    font-size: 18px;\n    margin-top: 20px;\n  }\n}\n\n.container-btn {\n  text-align: center;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;countdown&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Countdown&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-03 11:19:57&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;70239d20dbf7b2004e5cfa131f9619dc&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;Countdown&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_70239d20dbf7b2004e5cfa131f9619dc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 13:09:44&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n  &lt;div class=\"col-xs-12 container-btn\"&gt;\n    &lt;button class=\"btn btn-primary\" ng-click=\"c.upgrade()\"&gt;${NDL Countdown Now}&lt;/button&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"row\" ng-show=\"c.state == 'upgradeCountdown'\"&gt;\n  &lt;div class=\"col-xs-12 text-center upgrade-countdown \"&gt;\n    &lt;p&gt;${NDL Countdown Title}&lt;/p&gt;\n    &lt;p class=\"begin-in margin-top\"&gt;${NDL Countdown Subtitle}&lt;/p&gt;\n    &lt;div class=\"count-down\"&gt;\n      &lt;div class=\"number\"&gt;{{c.countDown}}&lt;/div&gt;\n      &lt;div class=\"seconds\"&gt;${NDL Countdown Seconds}&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1598198545</payload_hash>\n<remote_update_set display_value=\"pe-countdown.u-update-set.xml\">34fce524db3bb2004e5cfa131f9619e7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:11:07</sys_created_on>\n<sys_id>f4fce524db3bb2004e5cfa131f9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08922e110000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:11:07</sys_updated_on>\n<table/>\n<target_name>Countdown</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>e4ac2524073bb2001df47ae70a54cc13</update_guid>\n<update_guid_history>e4ac2524073bb2001df47ae70a54cc13:1598198545,539ca1244b3bb200b81c162853ef01e0:993492715,0fba5d648a7fb20069ea08afd3b54d02:1598198545,1faa99a4357fb2005c9709751703481a:426848262,3caa51a4fb7fb200a061a6f447f2b5b6:-336242311,1989d164cff7b2002e8f5fc62dc31dee:2919506,0e495d645c7fb200533d46190d2b040f:1149386787,784911646bf7b2005ceecc45792bfc04:-696368721,93395d64407fb200e970ec3b2ef6530c:-1345618667,a229d164ce7fb200a9f0e8ee38fe50e8:-703386874,b1f811641ff7b20072086ad5ed3a0118:602490547,3ae85d649c7fb200ec9e31c516762408:730346418,1f98d564317fb200fbe517a3a0d89454:-812192664,e9985524e0f7b2009bbe8b56c0b75cc1:1995156124,6988dd24d9f7b20062df7afe51c311fd:76246772,bc68d564737fb20036d26cd654ebbb4e:1782729960,c46899e02ef7b20081d899dd06504640:233252114,33181164947fb200a21c10171a1b5f7d:2058240767,685799e002f7b2006421a0463c2a4839:-1302407079,714711646e7fb2005b8c6ac7768ac774:821016905,34471164337fb2007d812f148e62964e:1931903343,248359609af7b200e5ccb4c2ea78ba55:-1754026400</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-countdown/widget/pe-countdown.u-body-html-template.html",
    "content": "<div class=\"row\">\n  <div class=\"col-xs-12 container-btn\">\n    <button class=\"btn btn-primary\" ng-click=\"c.upgrade()\">${NDL Countdown Now}</button>\n  </div>\n</div>\n\n<div class=\"row\" ng-show=\"c.state == 'upgradeCountdown'\">\n  <div class=\"col-xs-12 text-center upgrade-countdown \">\n    <p>${NDL Countdown Title}</p>\n    <p class=\"begin-in margin-top\">${NDL Countdown Subtitle}</p>\n    <div class=\"count-down\">\n      <div class=\"number\">{{c.countDown}}</div>\n      <div class=\"seconds\">${NDL Countdown Seconds}</div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-countdown/widget/pe-countdown.u-client-script.js",
    "content": "function CountdownController($interval) {\n  /* widget controller */\n  var c = this;\n  c.state = '';\n\n  c.upgrade = function () {\n    c.state = 'upgradeCountdown';\n    c.countDown = 10;\n\n    var timer = $interval(function (count) {\n      c.countDown--;\n      if (c.countDown == 0) {\n        $interval.cancel(timer);\n        c.state = '';\n      }\n    }, 1000);\n  };\n\n}"
  },
  {
    "path": "pe-countdown/widget/pe-countdown.u-css.scss",
    "content": ".upgrade-countdown {\n  margin-top: 25px;\n  p {\n    margin-bottom: 0;\n  }\n}\n\n.count-down {\n  color: $brand-danger;\n  .number {\n    line-height: 130px;\n    font-size: 150px;\n    font-weight: 200;\n  }\n  .seconds {\n    font-size: 18px;\n    margin-top: 20px;\n  }\n}\n\n.container-btn {\n  text-align: center;\n}"
  },
  {
    "path": "pe-csm-case-details/Readme.md",
    "content": "# PE CSM Case Details\n\n## Description\n\nThis widget can be used to create `??`.\n\n## Screenshots\n![alt text](../images/pe-csm-case-details.png \"PE CSM Case Details\")\n\n## Additional Information/Notes\nWhen a case sysid is provided in the Widget Schema options, the widget will fetch details from the record and the associated SLA for display.\n\n---\n## Installation\n---\nEnsure the that the Customer Service Management (and Demo Data, if necessary) application is Activated as referenced by the Platform Dependencies.<br/>\n\nDownload and installation of update set **[pe-csm-case-details.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-case-details/pe-csm-case-details.u-update-set.xml)** includes this widget.<br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**Case Table** - Default: `sn_customerservice_case`<br/>\n**SLA Table** - Default: `task_sla`<br/>\n**Case Sys ID** -  This is a case record sysid. Demo value: `cf866683c3033100b12d9f2974d3ae1f`<br/>\n**Cost Field** - Demo value: `$56.4k`<br/>\n\n---\n## Platform Dependencies\n---\n### SN Plugin Support\nWidget support is provided by the ServiceNow® [Customer Service Management](https://docs.servicenow.com/bundle/istanbul-service-management-for-the-enterprise/page/product/customer-service-management/concept/c_CustomerServiceManagement.html ) application.  Additionally, if not loading customer specific demo data; the [Customer Service Management Demo Data](https://docs.servicenow.com/bundle/istanbul-service-management-for-the-enterprise/page/product/customer-service-management/reference/r_CustServMgmtAddtlPluginsTable.html#r_additionaltableplugins) plugin should be Activated.\n\n### System Tables\n\n**sn_customerservice_case**\n\n**task_sla**\n\n---\n## Sample Data and Data Structures\n---\nSee Additional Information/Notes.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-case-details/pe-csm-case-details.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-05 17:58:52\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Case Details</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>c6ceb262134f72006749bccf3244b06f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-05 17:58:52</sys_created_on>\n<sys_id>ba42e66f4f87f20005be4d6e0210c777</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-05 17:58:52</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_603e5e6e134a3a00de8cb5b12244b013</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function caseDetailsCtrl() {\n\t/* widget controller */\n\tvar c = this;\n\n\t/*\n\tconsole.log(\"----- From CSM Case Details -----\");\n\tconsole.log(c);\n\t*/\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.critical-border {\n    border-left: solid 4px #e73c3c !important;\n}\n\n.completed-border {\n    border-left: solid 4px #5cb85c !important;\n}\n\n.summary-wrapper {\n    border: solid 1px #e4e5e6;\n    border-left: solid 4px #f0ad4e;\n    .tabs-wrapper {\n        display: flex;\n        .tab {\n            text-transform: uppercase;\n            text-align: center;\n            border: 1px solid #e4e5e6;\n            border-left: none;\n            flex-grow: 1;\n            flex-basis: 0;\n            font-size: 12px;\n            font-weight: 500;\n            color: #b4b2b3;\n            .big-number {\n                font-size: 34px;\n                font-weight: 300;\n                color: #2e2e2e;\n                height: 38px;\n                &amp;amp;.smaller {\n                    font-size: 24px;\n                    white-space: nowrap;\n                }\n                .locations {\n                    font-size: 10px;\n                    font-weight: 500;\n                }\n            }\n        }\n        .tab:last-of-type {\n            border-right: none;\n        }\n    }\n    .row1,\n    .tab {\n        padding: 15px;\n    }\n    .row1 {\n        position: relative;\n        .title {\n            font-size: 16px;\n            font-weight: 500;\n            color: #65666a;\n        }\n        .description {\n            font-size: 12px;\n            color: #63585e;\n        }\n    }\n    .row3 {\n        font-size: 10px;\n        font-weight: 500;\n        color: #b4b2b3;\n        .right-column {\n            padding-right: 50px;\n        }\n    }\n    .tab {\n        padding-right: 3px;\n        padding-left: 3px;\n    }\n    //.row2 {\n    //  padding-right: 5px;\n    //  padding-left: 5px;\n    //}\n    .customers {\n        .big-number {\n            line-height: 34px;\n        }\n    }\n    .red {\n        font-size: 12px;\n        color: #e51b24;\n        margin-top: 4px;\n    }\n    .icon {\n        position: absolute;\n        right: 23px;\n        top: 50%;\n        margin-top: -7px;\n        svg {\n            height: 15px;\n            width: 10px;\n            fill: #e51b24;\n        }\n    }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-case-details&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Case Details&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Sysid of the Case record\",\"name\":\"case_sys_id\",\"default_value\":\"cf866683c3033100b12d9f2974d3ae1f\",\"label\":\"Case Sys ID\",\"type\":\"string\"},{\"hint\":\"Table name used for tracking CSM Customer Service Cases\",\"name\":\"case_table\",\"default_value\":\"sn_customerservice_case\",\"label\":\"Case Table\",\"type\":\"string\"},{\"hint\":\"Field used to show the case's cost value\",\"name\":\"cost_value\",\"default_value\":\"$56.4k\",\"label\":\"Cost Value\",\"type\":\"string\"},{\"hint\":\"Table name associated with the Customer Service Case Table for tracking the Service Level Agreements (SLA)\",\"name\":\"sla_table\",\"default_value\":\"task_sla\",\"label\":\"SLA Table\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\t\n\tdata.schema = {\n\t\tcase_table : options.case_table,\n\t\tsla_table : options.sla_table,\n\t\tcase_id : options.case_sys_id,\n\t\tcase_cost: options.cost_value,\n\t\tcaseGr : new GlideRecord(options.case_table),\n\t\tslaGr: new GlideRecord(options.sla_table),\n\t\tshowMsg : true,\n\t\tgrMsg : \"Case Table reference not provided or invalid.\"\n\t};\n\n\t//Check to see if the user provided a valid table? \n\tif(data.schema.case_table &amp;&amp; data.schema.caseGr.isValid()){\n\t\t//Check to see if the user provided a Case ID\n\tif (data.schema.case_id) {\n\t\tdata.schema.caseGr.addQuery('sys_id', data.schema.case_id);\n\t\tdata.schema.caseGr.query();\n\t\t\n\t\t//Did the Case ID produce results?\n\t\tif (data.schema.caseGr.next()) {\n\t\t\tdata.schema.showMsg = false;\n\t\t\tvar caseObj = {};\n\t\t\t\n\t\t\t$sp.getRecordElements(caseObj, data.schema.caseGr, 'priority,short_description,account');\n\n\t\t\tif (caseObj.account.value) {\n\t\t\t\tvar relatedGr = new GlideRecord(data.schema.case_table);\n\t\t\t\trelatedGr.addQuery('account', caseObj.account.value);\n\t\t\t\trelatedGr.query();\n\t\t\t\tcaseObj.relatedCasesCount = relatedGr.getRowCount();\n\t\t\t}\n\t\t\t\n\t\t\tcaseObj.caseCost = data.schema.case_cost;\t\n\t\t\t\n\t\t\tif(data.schema.sla_table &amp;&amp; data.schema.slaGr.isValid()){\n\t\t\t\tdata.schema.slaGr.addQuery('task', data.schema.case_id);\n\t\t\t\tdata.schema.slaGr.query();\n\t\t\t\tif (data.schema.slaGr.next()) {\n\t\t\t\t\tvar obj = {};\n\t\t\t\t\t$sp.getRecordElements(obj, data.schema.slaGr, 'sla,stage,schedule');\n\t\t\t\t\tcaseObj.sla = obj;\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tcaseObj.sla = {\n\t\t\t\t\tsla : '',\n\t\t\t\t\tstage : '',\n\t\t\t\t\tschedule : ''\n\t\t\t\t};\n\t\t\t}\n\t\t\t\n\t\t\tdata.caseObj = caseObj;\n\t\t\t\n\t\t}else{\n\t\t\tdata.schema.grMsg = \"Data query for Case ID: '\" + data.schema.case_id + \"' produced zero (0) results.\"\n\t\t}\n\t}else{\n\t\tdata.schema.grMsg = \"Case ID reference not provided.\"\t\n\t}}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-13 22:06:09&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;603e5e6e134a3a00de8cb5b12244b013&lt;/sys_id&gt;&lt;sys_mod_count&gt;71&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Case Details&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_603e5e6e134a3a00de8cb5b12244b013&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-05 17:57:07&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n        &lt;div class=\"text-center\" ng-if=\"c.data.schema.showMsg\"&gt;\n            &lt;p&gt;{{c.data.schema.grMsg}}&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div ng-if=\"c.data.caseObj\" class=\"summary-wrapper\" ng-class=\"{ 'critical-border':c.data.caseObj.priority.value==1}\"&gt;\n            &lt;div class=\"row1\" ng-click=\"\"&gt;\n                &lt;div class=\"title\"&gt;{{c.data.caseObj.priority.display_value}}&lt;/div&gt;\n                &lt;div class=\"description\"&gt;\n                    {{c.data.caseObj.short_description.display_value}}\n                &lt;/div&gt;\n                &lt;div class=\"icon\"&gt;\n                    &lt;svg&gt;\n                        &lt;use xlink:href='#list-arrow'&gt;&lt;/use&gt;\n                    &lt;/svg&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"row2\" ng-click=\"\"&gt;\n                &lt;div class=\"tabs-wrapper\"&gt;\n                    &lt;div class=\"tab customers\"&gt;\n                        &lt;div class=\"big-number\"&gt;\n                            {{c.data.caseObj.account.display_value}}\n                        &lt;/div&gt;\n                        &lt;div&gt;\n                            Customer Name\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"tab\"&gt;\n                        &lt;div class=\"big-number smaller\"&gt;\n                            {{c.data.caseObj.relatedCasesCount}}\n                        &lt;/div&gt;\n                        &lt;div&gt;\n                            RELATED CASES\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n\n                    &lt;div class=\"tab\"&gt;\n                        &lt;div class=\"big-number smaller\"&gt;\n                            {{c.data.caseObj.caseCost}}\n                        &lt;/div&gt;\n                        &lt;div&gt;\n                            COST OF ACTIVE CASES\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"row1 row3\" ng-click=\"\"&gt;\n                &lt;div class=\"row\"&gt;\n                    &lt;div class=\"col-xs-6\"&gt;\n                        FIX STATUS\n                        &lt;div class=\"red\"&gt;{{c.data.caseObj.sla.stage.display_value}}&lt;/div&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"col-xs-6 text-right right-column\"&gt;\n                        FIX SCHEDULE\n                        &lt;div class=\"red\"&gt;{{c.data.caseObj.sla.schedule.display_value}}&lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class=\"icon\"&gt;\n                    &lt;svg&gt;\n                        &lt;use xlink:href='#list-arrow'&gt;&lt;/use&gt;\n                    &lt;/svg&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Case Details\">ba42e66f4f87f20005be4d6e0210c777</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-05 17:58:52</sys_created_on>\n<sys_id>7e42e66f4f87f20005be4d6e0210c777</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-05 17:58:52</sys_updated_on>\n<table/>\n<target_name>PE CSM Case Details</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>"
  },
  {
    "path": "pe-csm-case-details/widget/pe-csm-case-details.u-body-html-template.html",
    "content": "<div class=\"row\">\r\n    <div class=\"col-xs-12\">\r\n        <div class=\"text-center\" ng-if=\"c.data.schema.showMsg\">\r\n            <p>{{c.data.schema.grMsg}}</p>\r\n        </div>\r\n        <div ng-if=\"c.data.caseObj\" class=\"summary-wrapper\" ng-class=\"{ 'critical-border':c.data.caseObj.priority.value==1}\">\r\n            <div class=\"row1\" ng-click=\"\">\r\n                <div class=\"title\">{{c.data.caseObj.priority.display_value}}</div>\r\n                <div class=\"description\">\r\n                    {{c.data.caseObj.short_description.display_value}}\r\n                </div>\r\n                <div class=\"icon\">\r\n                    <svg>\r\n                        <use xlink:href='#list-arrow'></use>\r\n                    </svg>\r\n                </div>\r\n            </div>\r\n            <div class=\"row2\" ng-click=\"\">\r\n                <div class=\"tabs-wrapper\">\r\n                    <div class=\"tab customers\">\r\n                        <div class=\"big-number\">\r\n                            {{c.data.caseObj.account.display_value}}\r\n                        </div>\r\n                        <div>\r\n                            Customer Name\r\n                        </div>\r\n                    </div>\r\n                    <div class=\"tab\">\r\n                        <div class=\"big-number smaller\">\r\n                            {{c.data.caseObj.relatedCasesCount}}\r\n                        </div>\r\n                        <div>\r\n                            RELATED CASES\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"tab\">\r\n                        <div class=\"big-number smaller\">\r\n                            {{c.data.caseObj.caseCost}}\r\n                        </div>\r\n                        <div>\r\n                            COST OF ACTIVE CASES\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div class=\"row1 row3\" ng-click=\"\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-xs-6\">\r\n                        FIX STATUS\r\n                        <div class=\"red\">{{c.data.caseObj.sla.stage.display_value}}</div>\r\n                    </div>\r\n                    <div class=\"col-xs-6 text-right right-column\">\r\n                        FIX SCHEDULE\r\n                        <div class=\"red\">{{c.data.caseObj.sla.schedule.display_value}}</div>\r\n                    </div>\r\n                </div>\r\n                <div class=\"icon\">\r\n                    <svg>\r\n                        <use xlink:href='#list-arrow'></use>\r\n                    </svg>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-csm-case-details/widget/pe-csm-case-details.u-client-script.js",
    "content": "function caseDetailsCtrl() {\r\n    /* widget controller */\r\n    var c = this;\r\n\r\n    /*\r\n    console.log(\"----- From CSM Case Details -----\");\r\n    console.log(c);\r\n    */\r\n}"
  },
  {
    "path": "pe-csm-case-details/widget/pe-csm-case-details.u-css.scss",
    "content": ".critical-border {\n    border-left: solid 4px #e73c3c !important;\n}\n\n.completed-border {\n    border-left: solid 4px #5cb85c !important;\n}\n\n.summary-wrapper {\n    border: solid 1px #e4e5e6;\n    border-left: solid 4px #f0ad4e;\n    .tabs-wrapper {\n        display: flex;\n        .tab {\n            text-transform: uppercase;\n            text-align: center;\n            border: 1px solid #e4e5e6;\n            border-left: none;\n            flex-grow: 1;\n            flex-basis: 0;\n            font-size: 12px;\n            font-weight: 500;\n            color: #b4b2b3;\n            .big-number {\n                font-size: 34px;\n                font-weight: 300;\n                color: #2e2e2e;\n                height: 38px;\n                &.smaller {\n                    font-size: 24px;\n                    white-space: nowrap;\n                }\n                .locations {\n                    font-size: 10px;\n                    font-weight: 500;\n                }\n            }\n        }\n        .tab:last-of-type {\n            border-right: none;\n        }\n    }\n    .row1,\n    .tab {\n        padding: 15px;\n    }\n    .row1 {\n        position: relative;\n        .title {\n            font-size: 16px;\n            font-weight: 500;\n            color: #65666a;\n        }\n        .description {\n            font-size: 12px;\n            color: #63585e;\n        }\n    }\n    .row3 {\n        font-size: 10px;\n        font-weight: 500;\n        color: #b4b2b3;\n        .right-column {\n            padding-right: 50px;\n        }\n    }\n    .tab {\n        padding-right: 3px;\n        padding-left: 3px;\n    }\n    //.row2 {\n    //  padding-right: 5px;\n    //  padding-left: 5px;\n    //}\n    .customers {\n        .big-number {\n            line-height: 34px;\n        }\n    }\n    .red {\n        font-size: 12px;\n        color: #e51b24;\n        margin-top: 4px;\n    }\n    .icon {\n        position: absolute;\n        right: 23px;\n        top: 50%;\n        margin-top: -7px;\n        svg {\n            height: 15px;\n            width: 10px;\n            fill: #e51b24;\n        }\n    }\n}"
  },
  {
    "path": "pe-csm-case-details/widget/pe-csm-case-details.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    data.schema = {\r\n        case_table: options.case_table,\r\n        sla_table: options.sla_table,\r\n        case_id: options.case_sys_id,\r\n        case_cost: options.cost_value,\r\n        caseGr: new GlideRecord(options.case_table),\r\n        slaGr: new GlideRecord(options.sla_table),\r\n        showMsg: true,\r\n        grMsg: \"Case Table reference not provided or invalid.\"\r\n    };\r\n\r\n    //Check to see if the user provided a valid table? \r\n    if (data.schema.case_table && data.schema.caseGr.isValid()) {\r\n        //Check to see if the user provided a Case ID\r\n        if (data.schema.case_id) {\r\n            data.schema.caseGr.addQuery('sys_id', data.schema.case_id);\r\n            data.schema.caseGr.query();\r\n\r\n            //Did the Case ID produce results?\r\n            if (data.schema.caseGr.next()) {\r\n                data.schema.showMsg = false;\r\n                var caseObj = {};\r\n\r\n                $sp.getRecordElements(caseObj, data.schema.caseGr, 'priority,short_description,account');\r\n\r\n                if (caseObj.account.value) {\r\n                    var relatedGr = new GlideRecord(data.schema.case_table);\r\n                    relatedGr.addQuery('account', caseObj.account.value);\r\n                    relatedGr.query();\r\n                    caseObj.relatedCasesCount = relatedGr.getRowCount();\r\n                }\r\n\r\n                caseObj.caseCost = data.schema.case_cost;\r\n\r\n                if (data.schema.sla_table && data.schema.slaGr.isValid()) {\r\n                    data.schema.slaGr.addQuery('task', data.schema.case_id);\r\n                    data.schema.slaGr.query();\r\n                    if (data.schema.slaGr.next()) {\r\n                        var obj = {};\r\n                        $sp.getRecordElements(obj, data.schema.slaGr, 'sla,stage,schedule');\r\n                        caseObj.sla = obj;\r\n                    }\r\n                } else {\r\n                    caseObj.sla = {\r\n                        sla: '',\r\n                        stage: '',\r\n                        schedule: ''\r\n                    };\r\n                }\r\n\r\n                data.caseObj = caseObj;\r\n\r\n            } else {\r\n                data.schema.grMsg = \"Data query for Case ID: '\" + data.schema.case_id + \"' produced zero (0) results.\"\r\n            }\r\n        } else {\r\n            data.schema.grMsg = \"Case ID reference not provided.\"\r\n        }\r\n    }\r\n})();"
  },
  {
    "path": "pe-csm-case-row/Readme.md",
    "content": "# PE CSM Case Row\n\n## Description\n\nThis widget can be used to create a simple case card, with details like case number,person assigned, priority and short description.\n\n## Screenshots\n![alt text](../images/pe-csm-case-row.png \"PE CSM case row\")\n\n## Additional Information/Notes\nThis widget makes use of [pe-people-info](https://github.com/platform-experience/serviceportal-widget-library/tree/master/People%20Card/pe-people-info) widget to display user avatar, name and title, this widget is already part of the update set.\n\nPeople Info widget is injected dynamically in client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-csm-case-row.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-case-row/pe-csm-case-row.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**User SysID** - Default: `9ec35b8713453a007e94fc5ed144b09a`<br/>\n**Show Only Picture** - Default: `false`<br/>\n**Show Job Title** -  Default: `true`<br/>\n**Show Call and Chat** -  Default: `false`<br/>\n**Header Title** - Demo value: `Case 101`<br/>\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-case-row/pe-csm-case-row.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-06 20:10:35\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Case Row</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>bde40488139336006749bccf3244b0aa</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>c60a404c139336006749bccf3244b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a22a978813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"pe-people-info-launch-connect\">c3f9578813dd7a007e94fc5ed144b0c7</sp_dependency><sp_js_include display_value=\"pe-people-info-launch-connect\">7a1a978813dd7a007e94fc5ed144b0fd</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:22</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a22a978813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>launch-connect.launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a22a978813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-28 01:14:22</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>020a404c139336006749bccf3244b09d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>launch-connect.launch-connect</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_11f38daa134db600d15e3d7ed144b0fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n  padding: 10px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  width: 100%;\n  float: left;\n  margin: 0px;\n  .media-body {\n    width: 100%;\n    .people_name_title {\n      .title {\n        font-size: 15px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #81878e;\n      }\n      .subtitle {\n        font-size: 13px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #a8abaf;\n      }\n    }\n  }\n  .media-left {\n    .list__photo {\n      width: 35px;\n      height: 35px;\n    }\n    .initials-badge {\n      min-width: 36px;\n      float: left;\n      margin-top: 0px;\n      border-radius: 50%;\n      line-height: 1;\n      font-size: 14px;\n      margin-left: 0px;\n      padding: 10px 10px;\n      font-weight: 300;\n      background: #AEB2B3;\n    }\n  }\n  .media-right {\n    width: 40%;\n    .fa-color {\n      color: $pe-brand-primary;\n      margin-right: 10px;\n    }\n  }\n}\n\n.show-text-bottom {\n  margin: 0px;\n  top: 50px;\n  .people_name_title {\n    .title {\n      margin-top: 0px;\n      font-size: 15px;\n      font-weight: normal;\n      margin-bottom: 0px;\n      color: #81878e;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;People Info widget for displaying user avatar, name, titile with call/chat functionality.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-people-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Info&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"name\":\"show_text_below_picture\",\"default_value\":\"false\",\"label\":\"Show Text Below Picture\",\"type\":\"boolean\"},{\"name\":\"add_border_color_around_avatar\",\"default_value\":\"fff\",\"label\":\"Add border color around avatar\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.user_sys_id = options.user_sys_id || input.user_sys_id;\n\n  var getBoolValue = function (inputVal, optionVal) {\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      if (typeof optionVal === 'string') {\n        return (optionVal === 'true');\n      } else {\n        return (optionVal === true);\n      }\n    } else {\n      if (typeof inputVal === 'string') {\n        return (inputVal === 'true');\n      } else {\n        return (inputVal === true);\n      }\n    }\n  };\n\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\tdata.avatar_border = input.add_border_around_avatar || options.add_border_around_avatar;\n  data.show_only_picture = getBoolValue(input.show_only_picture, options.show_only_picture);\n  data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n  data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n  data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 22:35:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;11f38daa134db600d15e3d7ed144b0fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;219&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_11f38daa134db600d15e3d7ed144b0fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 01:13:37&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"media people-card-media\" ng-style=\"data.show_text_below_picture == true ? { 'padding-bottom':'2px' } : { 'padding-bottom':'10px' }\"&gt;\n  &lt;div class=\"media-left\"&gt;\n    &lt;div class=\"person-photo\"&gt;\n      &lt;img ng-if=\"data.user_photo\" ng-style=\"{'border':'3px solid '+c.data.avatar_border}\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n        &lt;span class=\"\"&gt;{{::data.user_initials}}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"!data.show_only_picture &amp;&amp; !data.show_text_below_picture\" class=\"media-body\"&gt;\n    &lt;div class=\"people_name_title\"&gt;\n      &lt;h4 class=\"media-heading title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n      &lt;h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\"&gt;{{::data.user_job_title}}&lt;/h4&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media-right\" ng-if=\"data.show_call_and_chat\"&gt;\n    &lt;i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.show_text_below_picture &amp;&amp; !data.show_text_below_picture\" class=\"show-text-bottom\"&gt;\n  &lt;div class=\"people_name_title\"&gt;\n    &lt;h4 class=\"title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>020a404c139336006749bccf3244b09e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>PE People Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_people_info_launch_connect</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>Launch connect chat</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_people_info_launch_connect</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 00:56:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>52f5930813dd7a007e94fc5ed144b0f9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Launch connect chat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:09:03</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>0e0a404c139336006749bccf3244b09e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>Launch connect chat</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_9ec35b8713453a007e94fc5ed144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><average_daily_fte/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department/><edu_status>faculty</edu_status><email>suzy@example.com</email><employee_number/><failed_attempts/><first_name>Suzy</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Ham</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Suzy Ham</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone>(858) 876-6870</phone><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:13:01</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9ec35b8713453a007e94fc5ed144b09a</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:14:04</sys_updated_on><time_format/><time_zone/><title>Developer</title><u_demo_persona>false</u_demo_persona><user_name>suzy.ham</user_name><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#843d29</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height>128</image_height><image_width>128</image_width><size_bytes>4896</size_bytes><size_compressed>4603</size_compressed><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>eb16d7c713453a007e94fc5ed144b055</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:22:45</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>9ec35b8713453a007e94fc5ed144b09a</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2f16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>af16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2392</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2316d7c713453a007e94fc5ed144b056</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>4a0a404c139336006749bccf3244b09e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>Suzy Ham</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-people-info-launch-connect</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7a1a978813dd7a007e94fc5ed144b0fd</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-people-info-launch-connect-ui-script\">9ff4d7c413dd7a007e94fc5ed144b0e7</sys_ui_script><sys_update_name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:57</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>4e0a404c139336006749bccf3244b09d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-people-info-launch-connect-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function openChat(elem) {\n\n\n    console.log('***** Opening Chat w/ ' + elem.id);\n    var requestBody = '';\n    var client = new XMLHttpRequest();\n\n\n    var url = \"/api/snc/pe_people_info_launch_connect/launch?user_id=\" + elem.id;\n    client.open(\"get\", url, false);\n    client.setRequestHeader('Accept', 'application/json');\n    client.setRequestHeader('Content-Type', 'application/json');\n    client.setRequestHeader('X-UserToken', window.g_ck);\n    client.send(requestBody);\n    if (client.status === 200) {\n        var liveProfileID = JSON.parse(client.response).result;\n        console.log('**** Channel ID received ' + liveProfileID.profile_id);\n        url = '/$c.do#?user=' + liveProfileID.profile_id;\n        window.open(url, \"_blank\");\n    } else {\n        console.log('**** No Channel ID received.');\n        url = '/$c.do';\n        window.open(url, \"_blank\");\n    }\n}\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:55:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch-connect-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:10:59&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>860a404c139336006749bccf3244b09e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-people-info-launch-connect</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:13:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3f9578813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:41</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>8a0a404c139336006749bccf3244b09d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_5f06fcd013523e00de8cb5b12244b015</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function peCSMCaseRowCtrl(spUtil) {\n  \n    var c = this;\n\n    spUtil.get('pe-people-info', {\n        user_sys_id: c.data.user_info.user_sys_id,\n        show_job_title: c.data.user_info.show_job_title,\n        show_call_and_chat: c.data.user_info.show_call_and_chat,\n        show_only_picture: c.data.user_info.show_only_picture,\n        add_border_color_around_avatar: c.data.user_info.avatar_border\n    }).then(function(response) {\n        c.data.embedded_widget = response;\n    });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.case {\n  padding-top: 15px;\n  padding-bottom: 15px;\n  border-bottom: solid 1px #e4e5e6;\n  .person-photo {\n    width: 35px;\n    height: 35px;\n  }\n  .fa {\n    color: #e51b24;\n  }\n  &amp;amp;.resolved {\n    .case-info {\n      .status {\n        color: #70BE5A;\n      }\n      .fa {\n        color: #70BE5A;\n      }\n    }\n    .user img {\n      border-color: #57B957;\n    }\n  }\n  .title {\n    font-size: 18px;\n    font-weight: 500;\n    color: #2e2e2e;\n  }\n  .user {\n    margin-top: 10px;\n    margin-bottom: 0;\n  }\n  .case-info {\n    margin: 0 -15px;\n    position: relative;\n    font-size: 10px;\n    font-weight: 600;\n    text-align: center;\n    padding-top: 15px;\n    padding-right: 30px;\n    color: #65666a;\n    .status {\n      color: #e51b24;\n      text-transform: uppercase;\n    }\n  }\n  .arrow {\n    position: absolute;\n    top: 50%;\n    right: 20px;\n    margin-top: -8px;\n    &amp;amp;.rotate {\n      right: 24px;\n    }\n    .fa {\n      color: #DBDAD6;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-case-row&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Case Row&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"hint\":\"\",\"name\":\"header_title\",\"default_value\":\"Case 101\",\"label\":\"Header Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\tdata.user_info = {\n\t\tuser_sys_id: options.user_sys_id,\n\t\tshow_only_picture: options.show_only_picture,\n\t\tshow_job_title: options.show_job_title,\n\t\tshow_call_and_chat: options.show_call_and_chat,\n\t\tavatar_border: '#e51b24'\n\t}\n\tdata.header_title = options.header_title;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 00:58:53&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5f06fcd013523e00de8cb5b12244b015&lt;/sys_id&gt;&lt;sys_mod_count&gt;35&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Case Row&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_5f06fcd013523e00de8cb5b12244b015&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 20:01:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row case\"&gt;\n    &lt;div class=\"col-xs-7\"&gt;\n        &lt;div class=\"title\"&gt;{{::c.data.header_title}}&lt;/div&gt;\n        &lt;div class=\"user\"&gt;\n            &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"col-xs-5\"&gt;\n        &lt;div class=\"case-info\"&gt;\n            &lt;i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n            &lt;div class=\"status\"&gt;Critical&lt;/div&gt;\n            &lt;div class=\"place\"&gt;Facility 1&lt;/div&gt;\n            &lt;div class=\"reason\"&gt;Too much snow&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"arrow\" ng-class=\"{'rotate' : c.caseExtended == 1}\"&gt;\n            &lt;i class=\"fa fa-chevron-right\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>c20a404c139336006749bccf3244b09e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>PE CSM Case Row</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-people-info-launch-connect\">c3f9578813dd7a007e94fc5ed144b0c7</sp_dependency><sp_widget display_value=\"PE People Info\">11f38daa134db600d15e3d7ed144b0fa</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 00:43:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3372305013523e00de8cb5b12244b044</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-people-info-launch-connect.PE People Info</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 00:43:05</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>c60a404c139336006749bccf3244b09d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect.PE People Info</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;pe-people-info-launch&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\ttry{\n\t\tvar userID='';\n\t\tvar liveprofile = {};\n\t\tif(request.queryParams.user_id) {\n\t\t\tuserID = request.queryParams.user_id;\n\t\t\t//gs.info(\"user id \"+userID);\n\t\t\tvar gr = new GlideRecord('live_profile');\n\t\t\tgr.addQuery('table','sys_user');\n\t\t\tgr.addQuery('document',userID);\n\t\t\tgr.query();\n\t\t\tif(gr.next()){\n\t\t\t\t//gs.info(\"user id found \"+userID);\n\t\t\t\tliveprofile.profile_id = gr.sys_id.toString();\n\t\t\t} else {\n\t\t\t\t//gs.info(\"user id not found \"+userID);\n\t\t\t\tvar grTwo = new GlideRecord('live_profile');\n\t\t\t\tgrTwo.initialize(); \n\t\t\t\tgrTwo.table = 'sys_user'; \n\t\t\t\tgrTwo.document = userID; \n\t\t\t\tgrTwo.type = 'User';\n\t\t\t\t\n\t\t\t\tvar gruser = new GlideRecord('sys_user');\n                    gruser.addQuery('sys_id',userID);\n\t\t\t        gruser.query();\n\t\t\t       if(gruser.next()){\n\t\t\t\t\t\tgrTwo.name =gruser.name.toString() ;\n                        liveprofile.profile_id = grTwo.insert();\n                   }\n\t\t\t\t \n\t\t\t}\n\t\t\n\t\t}\n\t\tif(liveprofile)\n\t\t\tresponse.setBody(liveprofile);\n\t\telse\n\t\t\tresponse.setBody('Error');\n\t\t\n\t}catch(e){\n\t\tresponse.setBody('Error : '+ e.message);\n\t}\n    // implement resource here\n\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_people_info_launch_connect/launch&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/launch&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:57:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2326170813dd7a007e94fc5ed144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 23:32:45&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"Launch connect chat\"&gt;52f5930813dd7a007e94fc5ed144b0f9&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Case Row\">c60a404c139336006749bccf3244b09c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:10:35</sys_created_on>\n<sys_id>ce0a404c139336006749bccf3244b09e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:10:35</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-case-row/widget/pe-csm-case-row.u-body-html-template.html",
    "content": "<div class=\"row case\">\r\n    <div class=\"col-xs-7\">\r\n        <div class=\"title\">{{::c.data.header_title}}</div>\r\n        <div class=\"user\">\r\n            <sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\r\n        </div>\r\n    </div>\r\n    <div class=\"col-xs-5\">\r\n        <div class=\"case-info\">\r\n            <i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"></i>\r\n            <div class=\"status\">Critical</div>\r\n            <div class=\"place\">Facility 1</div>\r\n            <div class=\"reason\">Too much snow</div>\r\n        </div>\r\n        <div class=\"arrow\" ng-class=\"{'rotate' : c.caseExtended == 1}\">\r\n            <i class=\"fa fa-chevron-right\" aria-hidden=\"true\"></i>\r\n        </div>\r\n\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-csm-case-row/widget/pe-csm-case-row.u-client-script.js",
    "content": "function peCSMCaseRowCtrl(spUtil) {\r\n\r\n    var c = this;\r\n\r\n    spUtil.get('pe-people-info', {\r\n        user_sys_id: c.data.user_info.user_sys_id,\r\n        show_job_title: c.data.user_info.show_job_title,\r\n        show_call_and_chat: c.data.user_info.show_call_and_chat,\r\n        show_only_picture: c.data.user_info.show_only_picture,\r\n        add_border_color_around_avatar: c.data.user_info.avatar_border\r\n    }).then(function(response) {\r\n        c.data.embedded_widget = response;\r\n    });\r\n}"
  },
  {
    "path": "pe-csm-case-row/widget/pe-csm-case-row.u-css.scss",
    "content": ".case {\n  padding-top: 15px;\n  padding-bottom: 15px;\n  border-bottom: solid 1px #e4e5e6;\n  .person-photo {\n    width: 35px;\n    height: 35px;\n  }\n  .fa {\n    color: #e51b24;\n  }\n  &.resolved {\n    .case-info {\n      .status {\n        color: #70BE5A;\n      }\n      .fa {\n        color: #70BE5A;\n      }\n    }\n    .user img {\n      border-color: #57B957;\n    }\n  }\n  .title {\n    font-size: 18px;\n    font-weight: 500;\n    color: #2e2e2e;\n  }\n  .user {\n    margin-top: 10px;\n    margin-bottom: 0;\n  }\n  .case-info {\n    margin: 0 -15px;\n    position: relative;\n    font-size: 10px;\n    font-weight: 600;\n    text-align: center;\n    padding-top: 15px;\n    padding-right: 30px;\n    color: #65666a;\n    .status {\n      color: #e51b24;\n      text-transform: uppercase;\n    }\n  }\n  .arrow {\n    position: absolute;\n    top: 50%;\n    right: 20px;\n    margin-top: -8px;\n    &.rotate {\n      right: 24px;\n    }\n    .fa {\n      color: #DBDAD6;\n    }\n  }\n}"
  },
  {
    "path": "pe-csm-case-row/widget/pe-csm-case-row.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n    data.user_info = {\r\n        user_sys_id: options.user_sys_id,\r\n        show_only_picture: options.show_only_picture,\r\n        show_job_title: options.show_job_title,\r\n        show_call_and_chat: options.show_call_and_chat,\r\n        avatar_border: '#e51b24'\r\n    }\r\n    data.header_title = options.header_title;\r\n})();"
  },
  {
    "path": "pe-csm-case-status/Readme.md",
    "content": "# PE CSM Case Status\n\n## Description\n\nThis widget can be used to create a simple card to show the status of a incident/case.\n\nDriven by **sn_customerservice_case** and **task_sla** tables, when a case sysid is provided in the Widget Schema options, the widget will fetch details from the record and the associated SLA for display.\n\n## Screenshots\n![alt text](../images/pe-csm-case-status.png \"PE CSM Case status\")\n\n## Additional Information/Notes\nSee Platform Dependencies\n\n---\n## Installation\n---\nEnsure the that the Customer Service Management (and Demo Data, if necessary) application is Activated as referenced above.\nDownload and installation of update set **[pe-csm-case-row.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-case-status/pe-csm-case-status.u-update-set.xml)** includes this widget.\n<br/>After installation, the widget can be accessed via the Service Portal > Widgets section for use and customization.\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**Case Table** - Default: `sn_customerservice_case`<br/>\n**SLA Table** - Default: `task_sla`<br/>\n**Case Sys ID** -  This is a case record sysid. Demo value: `cf866683c3033100b12d9f2974d3ae1f`<br/>\n\n---\n## Platform Dependencies\n---\n### SN Plugin Support\nWidget support is provided by the ServiceNow® [Customer Service Management](https://docs.servicenow.com/bundle/istanbul-service-management-for-the-enterprise/page/product/customer-service-management/concept/c_CustomerServiceManagement.html ) application.  Additionally, if not loading customer specific demo data; the [Customer Service Management Demo Data](https://docs.servicenow.com/bundle/istanbul-service-management-for-the-enterprise/page/product/customer-service-management/reference/r_CustServMgmtAddtlPluginsTable.html#r_additionaltableplugins) plugin should be Activated.\n\n### SN System Tables\n\n* sn_customerservice_case\n* task_sla\n\n---\n## Sample Data and Data Structures\n---\nWhen a case sysid is provided in the Widget Schema options, the widget will fetch details from the record and the associated SLA for display.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-case-status/pe-csm-case-status.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-05 18:55:33\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Case Status</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>e167e2af4f87f20005be4d6e0210c7b1</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-05 18:55:33</sys_created_on>\n<sys_id>c54f62274fc7f20005be4d6e0210c719</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-05 18:55:33</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_7c264b331306fa00de8cb5b12244b0f5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function csmCaseStatus() {\n\t/* widget controller */\n\tvar c = this;\n\t/*\n  console.log(\"----- From CSM Case Status -----\");\n  console.log(c);\n  */\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.critical-border {\n    border-left: solid 4px #e73c3c !important;\n}\n\n.summary-wrapper {\n    border: solid 1px #e4e5e6;\n    border-left: solid 4px #f0ad4e;\n    .row1 {\n        padding: 15px;\n    }\n    .title {\n        font-size: 16px;\n        font-weight: 500;\n        color: #65666a;\n    }\n    .description {\n        font-size: 12px;\n        color: #63585e;\n    }\n    .status1 {\n        font-size: 12px;\n        color: #2e2e2e;\n    }\n    .status2 {\n        font-size: 10px;\n        font-weight: 500;\n        color: #b4b2b3;\n    }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-case-status&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Case Status&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"case_sys_id\",\"default_value\":\"cf866683c3033100b12d9f2974d3ae1f\",\"label\":\"Case Sysid\",\"type\":\"string\"},{\"name\":\"case_table\",\"default_value\":\"sn_customerservice_case\",\"label\":\"Case Table\",\"type\":\"string\"},{\"name\":\"sla_table\",\"default_value\":\"task_sla\",\"label\":\"SLA Table\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n    /* populate the 'data' object */\n    /* e.g., data.table = $sp.getValue('table'); */\n\t\n\tdata.schema = {\n\t\tcase_table: options.case_table,\n\t\tsla_table: options.sla_table,\n\t\tcase_id: options.case_sys_id,\n\t\tcaseGr: new GlideRecord(options.case_table),\n\t\tslaGr: new GlideRecord(options.sla_table),\n\t\tshowMsg: true,\n\t\tgrMsg: \"Case Table reference not provided or invalid.\"\n\t};\n\n\t//Check to see if the user provided a valid table? \n\tif (data.schema.case_table &amp;&amp; data.schema.caseGr.isValid()) {\n\t\t//Check to see if the user provided a Case ID\n\t\tif (data.schema.case_id) {\n\t\t\tdata.schema.caseGr.addQuery('sys_id', data.schema.case_id);\n\t\t\tdata.schema.caseGr.query();\n\n\t\t\t//Did the Case ID produce results?\n\t\t\tif (data.schema.caseGr.next()) {\n\t\t\t\tdata.schema.showMsg = false;\n\t\t\t\tvar caseObj = {};\n\n\t\t\t\t$sp.getRecordElements(caseObj, data.schema.caseGr, 'priority,short_description');\n\n\t\t\t\tif (data.schema.sla_table &amp;&amp; data.schema.slaGr.isValid()) {\n\t\t\t\t\tdata.schema.slaGr.addQuery('task', data.schema.case_id);\n\t\t\t\t\tdata.schema.slaGr.query();\n\t\t\t\t\tif (data.schema.slaGr.next()) {\n\t\t\t\t\t\tvar obj = {};\n\t\t\t\t\t\t$sp.getRecordElements(obj, data.schema.slaGr, 'sla,stage,schedule');\n\t\t\t\t\t\tcaseObj.sla = obj;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcaseObj.sla = {\n\t\t\t\t\t\tsla: '',\n\t\t\t\t\t\tstage: '',\n\t\t\t\t\t\tschedule: ''\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tdata.caseObj = caseObj;\n\n\t\t\t} else {\n\t\t\t\tdata.schema.grMsg = \"Data query for Case ID: '\" + data.schema.case_id + \"' produced zero (0) results.\"\n\t\t\t}\n\t\t} else {\n\t\t\tdata.schema.grMsg = \"Case ID reference not provided.\"\n\t\t}\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-17 22:11:27&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;7c264b331306fa00de8cb5b12244b0f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Case Status&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_7c264b331306fa00de8cb5b12244b0f5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-05 18:46:32&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n  &lt;div class=\"text-center\" ng-if=\"c.data.schema.showMsg\"&gt;\n    &lt;p&gt;{{c.data.schema.grMsg}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"c.data.caseObj\" class=\"col-xs-12\"&gt;\n    &lt;div class=\"summary-wrapper\" ng-class=\"{ 'critical-border':c.data.caseObj.priority.value==1}\"&gt;\n      &lt;div class=\"row row1\"&gt;\n        &lt;div class=\"col-xs-7\"&gt;\n          &lt;div class=\"title\"&gt;{{c.data.caseObj.priority.display_value}}&lt;/div&gt;\n          &lt;div class=\"description\"&gt;\n            {{c.data.caseObj.short_description.display_value}}\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"col-xs-5 text-center\"&gt;\n          &lt;div class=\"status1\"&gt;{{c.data.caseObj.sla.stage.display_value}}&lt;/div&gt;\n          &lt;div class=\"status2\"&gt;Fix Status&lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Case Status\">c54f62274fc7f20005be4d6e0210c719</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-05 18:55:33</sys_created_on>\n<sys_id>014f62274fc7f20005be4d6e0210c71a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-05 18:55:33</sys_updated_on>\n<table/>\n<target_name>PE CSM Case Status</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-case-status/widget/pe-csm-case-status.u-body-html-template.html",
    "content": "<div class=\"row\">\r\n    <div class=\"text-center\" ng-if=\"c.data.schema.showMsg\">\r\n        <p>{{c.data.schema.grMsg}}</p>\r\n    </div>\r\n    <div ng-if=\"c.data.caseObj\" class=\"col-xs-12\">\r\n        <div class=\"summary-wrapper\" ng-class=\"{ 'critical-border':c.data.caseObj.priority.value==1}\">\r\n            <div class=\"row row1\">\r\n                <div class=\"col-xs-7\">\r\n                    <div class=\"title\">{{c.data.caseObj.priority.display_value}}</div>\r\n                    <div class=\"description\">\r\n                        {{c.data.caseObj.short_description.display_value}}\r\n                    </div>\r\n                </div>\r\n                <div class=\"col-xs-5 text-center\">\r\n                    <div class=\"status1\">{{c.data.caseObj.sla.stage.display_value}}</div>\r\n                    <div class=\"status2\">Fix Status</div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-csm-case-status/widget/pe-csm-case-status.u-client-script.js",
    "content": "function csmCaseStatus() {\r\n    /* widget controller */\r\n    var c = this;\r\n    /*\r\n  console.log(\"----- From CSM Case Status -----\");\r\n  console.log(c);\r\n  */\r\n}"
  },
  {
    "path": "pe-csm-case-status/widget/pe-csm-case-status.u-css.scss",
    "content": ".critical-border {\n    border-left: solid 4px #e73c3c !important;\n}\n\n.summary-wrapper {\n    border: solid 1px #e4e5e6;\n    border-left: solid 4px #f0ad4e;\n    .row1 {\n        padding: 15px;\n    }\n    .title {\n        font-size: 16px;\n        font-weight: 500;\n        color: #65666a;\n    }\n    .description {\n        font-size: 12px;\n        color: #63585e;\n    }\n    .status1 {\n        font-size: 12px;\n        color: #2e2e2e;\n    }\n    .status2 {\n        font-size: 10px;\n        font-weight: 500;\n        color: #b4b2b3;\n    }\n}"
  },
  {
    "path": "pe-csm-case-status/widget/pe-csm-case-status.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    data.schema = {\r\n        case_table: options.case_table,\r\n        sla_table: options.sla_table,\r\n        case_id: options.case_sys_id,\r\n        caseGr: new GlideRecord(options.case_table),\r\n        slaGr: new GlideRecord(options.sla_table),\r\n        showMsg: true,\r\n        grMsg: \"Case Table reference not provided or invalid.\"\r\n    };\r\n\r\n    //Check to see if the user provided a valid table? \r\n    if (data.schema.case_table && data.schema.caseGr.isValid()) {\r\n        //Check to see if the user provided a Case ID\r\n        if (data.schema.case_id) {\r\n            data.schema.caseGr.addQuery('sys_id', data.schema.case_id);\r\n            data.schema.caseGr.query();\r\n\r\n            //Did the Case ID produce results?\r\n            if (data.schema.caseGr.next()) {\r\n                data.schema.showMsg = false;\r\n                var caseObj = {};\r\n\r\n                $sp.getRecordElements(caseObj, data.schema.caseGr, 'priority,short_description');\r\n\r\n                if (data.schema.sla_table && data.schema.slaGr.isValid()) {\r\n                    data.schema.slaGr.addQuery('task', data.schema.case_id);\r\n                    data.schema.slaGr.query();\r\n                    if (data.schema.slaGr.next()) {\r\n                        var obj = {};\r\n                        $sp.getRecordElements(obj, data.schema.slaGr, 'sla,stage,schedule');\r\n                        caseObj.sla = obj;\r\n                    }\r\n                } else {\r\n                    caseObj.sla = {\r\n                        sla: '',\r\n                        stage: '',\r\n                        schedule: ''\r\n                    };\r\n                }\r\n\r\n                data.caseObj = caseObj;\r\n\r\n            } else {\r\n                data.schema.grMsg = \"Data query for Case ID: '\" + data.schema.case_id + \"' produced zero (0) results.\"\r\n            }\r\n        } else {\r\n            data.schema.grMsg = \"Case ID reference not provided.\"\r\n        }\r\n    }\r\n})();"
  },
  {
    "path": "pe-csm-cost-breakdown/Readme.md",
    "content": "# PE CSM Cost Breakdown\n\n## Description\n\nThis widget can be used to create a simple card with heading and two rows of data.\n\n## Screenshots\n![alt text](../images/pe-csm-cost-breakdown.png \"Pe csm Cost breakdown\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-csm-cost-breakdown.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-cost-breakdown/pe-csm-cost-breakdown.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Heading\"** Heading of widget<br/>\n**\"Left Top Text\"** Text that goes to left top<br/>\n**\"Left Bottom Text\"** Text that goes to bottom left<br/>\n**\"Right Top Text\"** Text that goes to right top.<br/>\n**\"Right Bottom Text\"** Text that goes to right bottom.<br/>\n**\"Right Bottom HREF\"** Link URL for the right bottom text.<br/>\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-cost-breakdown/pe-csm-cost-breakdown.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-06 18:13:10\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Cost Breakdown Widget</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>6228362b4fc7f20005be4d6e0210c715</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 18:13:10</sys_created_on>\n<sys_id>792fa3ff134336006749bccf3244b0b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 18:13:10</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_b5a2f744139efa00de8cb5b12244b058</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CostBreakdownController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.description {\n  font-size: 12px;\n  font-weight: 200;\n}\n\n.breakdown {\n  .month,\n  .description {\n    clear: both;\n  }\n  .href{\n    color: #ff0000;\n  }\n  .header{\n    border: 0px transparent none;\n    border-bottom: 1px lightgray solid;\n    color: #000000;\n    font-size: 14px;\n    font-weight: 600;\n    text-transform: uppercase;\n    padding-bottom: 7px;\n    margin-bottom: 7px;\n  }\n  margin-bottom: 15px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-cost-breakdown&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Cost Breakdown &lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"heading\",\"default_value\":\"Case Cost Breakdown\",\"label\":\"Heading\",\"type\":\"string\"},{\"name\":\"left_top_text\",\"default_value\":\"January\",\"label\":\"Left Top Text\",\"type\":\"string\"},{\"name\":\"left_bottom_text\",\"default_value\":\"47 Cases\",\"label\":\"Left Bottom Text\",\"type\":\"string\"},{\"name\":\"right_top_text\",\"default_value\":\"$56.4k\",\"label\":\"Right Top Text\",\"type\":\"string\"},{\"name\":\"right_bottom_text\",\"default_value\":\"Details\",\"label\":\"Right Bottom Text\",\"type\":\"string\"},{\"hint\":\"\",\"name\":\"right_bottom_href\",\"default_value\":\"http://www.servicenow.com\",\"label\":\"Right Bottom HREF\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-18 20:04:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b5a2f744139efa00de8cb5b12244b058&lt;/sys_id&gt;&lt;sys_mod_count&gt;35&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Cost Breakdown &lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b5a2f744139efa00de8cb5b12244b058&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 18:10:41&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;section class=\"breakdown clearfix\"&gt;\n        &lt;div class='header'&gt;{{::c.options.heading}}&lt;/div&gt;\n        &lt;div class=\"month\"&gt;\n            &lt;span class=\"pull-left\"&gt;{{::c.options.left_top_text}}&lt;/span&gt;\n            &lt;span class=\"pull-right\"&gt;{{::c.options.right_top_text}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div class=\"description\"&gt;\n            &lt;div class=\"pull-left\"&gt;{{::c.options.left_bottom_text}}&lt;/div&gt;\n            &lt;div class=\"pull-right\"&gt;&lt;a href=\"{{::c.options.right_bottom_href}}\" class='href'&gt;{{::c.options.right_bottom_text}}&lt;/a&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div&gt;&lt;/div&gt;\n    &lt;/section&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Cost Breakdown Widget\">792fa3ff134336006749bccf3244b0b5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 18:13:10</sys_created_on>\n<sys_id>822fa3ff134336006749bccf3244b0b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 18:13:10</sys_updated_on>\n<table/>\n<target_name>PE CSM Cost Breakdown </target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-cost-breakdown/widget/pe-csm-cost-breakdown.u-body-html-template.html",
    "content": "<div>\r\n    <section class=\"breakdown clearfix\">\r\n        <div class='header'>{{::c.options.heading}}</div>\r\n        <div class=\"month\">\r\n            <span class=\"pull-left\">{{::c.options.left_top_text}}</span>\r\n            <span class=\"pull-right\">{{::c.options.right_top_text}}</span>\r\n        </div>\r\n        <div class=\"description\">\r\n            <div class=\"pull-left\">{{::c.options.left_bottom_text}}</div>\r\n            <div class=\"pull-right\"><a href=\"{{::c.options.right_bottom_href}}\" class='href'>{{::c.options.right_bottom_text}}</a></div>\r\n        </div>\r\n        <div></div>\r\n    </section>\r\n</div>"
  },
  {
    "path": "pe-csm-cost-breakdown/widget/pe-csm-cost-breakdown.u-client-script.js",
    "content": "function CostBreakdownController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-csm-cost-breakdown/widget/pe-csm-cost-breakdown.u-css.scss",
    "content": ".description {\n  font-size: 12px;\n  font-weight: 200;\n}\n\n.breakdown {\n  .month,\n  .description {\n    clear: both;\n  }\n  .href{\n    color: #ff0000;\n  }\n  .header{\n    border: 0px transparent none;\n    border-bottom: 1px lightgray solid;\n    color: #000000;\n    font-size: 14px;\n    font-weight: 600;\n    text-transform: uppercase;\n    padding-bottom: 7px;\n    margin-bottom: 7px;\n  }\n  margin-bottom: 15px;\n}"
  },
  {
    "path": "pe-csm-cost-breakdown/widget/pe-csm-cost-breakdown.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-csm-dashboard-expandable/Readme.md",
    "content": "# PE CSM Dashboard Expandable\n\n## Description\n\nThis widget can be used to display customer status. Clicking anywhere on the widget will show the extended view container, where you can include additional data or inject another widget (_not configured_).\n\n## Screenshots\n![alt text](../images/pe-csm-dashboard-expandable-card.png \"PE CSM Dashboard Expandable\")\n\n## Additional Information/Notes\nThis widget makes use of [pe-solid-gauge](https://github.com/platform-experience/serviceportal-widget-library/tree/master/highcharts/pe-solid-gauge), this widget is already part of the update set.\n\nSolid Gauge is injected dynamically in client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-csm-dashboard-expandable.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-dashboard-expandable/pe-csm-dashboard-expandable.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-dashboard-expandable/pe-csm-dashboard-expandable.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-19 21:30:09\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Dashboard Expandable</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>a0b5456c139a3e00de8cb5b12244b075</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>93efc5a013da3e00de8cb5b12244b0fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d542299bdb9532002e5df2b6ae96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts-Solid-Gauge\">7532299bdb9532002e5df2b6ae96197a</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d542299bdb9532002e5df2b6ae96192d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts-Solid-Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d542299bdb9532002e5df2b6ae96192d</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:50:54</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>13efc9a013da3e00de8cb5b12244b0a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts-Solid-Gauge</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_0932e59bdb9532002e5df2b6ae9619a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>500</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts Export\">9084cd07db5932002e5df2b6ae9619f0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0932e59bdb9532002e5df2b6ae9619a1</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_0932e59bdb9532002e5df2b6ae9619a1</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:51:05</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>17efc9a013da3e00de8cb5b12244b0a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts Export</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_0a70295bdb9532002e5df2b6ae96192a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts-Solid-Gauge&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n  Highcharts JS v5.0.5 (2016-11-29)\n Solid angular gauge module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(l) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = l : l(Highcharts)\n})(function(l) {\n\t(function(f) {\n\t\tvar l = f.pInt,\n\t\t\tt = f.pick,\n\t\t\tm = f.each,\n\t\t\tv = f.isNumber,\n\t\t\tn;\n\t\tn = {\n\t\t\tinitDataClasses: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = this.chart,\n\t\t\t\t\te, u = 0,\n\t\t\t\t\th = this.options;\n\t\t\t\tthis.dataClasses = e = [];\n\t\t\t\tm(a.dataClasses, function(g, b) {\n\t\t\t\t\tg = f.merge(g);\n\t\t\t\t\te.push(g);\n\t\t\t\t\tg.color || (\"category\" === h.dataClassColor ? (b = d.options.colors, g.color = b[u++], u === b.length &amp;&amp; (u = 0)) : g.color = c.tweenColors(f.color(h.minColor), f.color(h.maxColor), b / (a.dataClasses.length - 1)))\n\t\t\t\t})\n\t\t\t},\n\t\t\tinitStops: function(a) {\n\t\t\t\tthis.stops =\n\t\t\t\t\ta.stops || [\n\t\t\t\t\t\t[0, this.options.minColor],\n\t\t\t\t\t\t[1, this.options.maxColor]\n\t\t\t\t\t];\n\t\t\t\tm(this.stops, function(a) {\n\t\t\t\t\ta.color = f.color(a[1])\n\t\t\t\t})\n\t\t\t},\n\t\t\ttoColor: function(a, c) {\n\t\t\t\tvar d = this.stops,\n\t\t\t\t\te, f, h = this.dataClasses,\n\t\t\t\t\tg, b;\n\t\t\t\tif (h)\n\t\t\t\t\tfor (b = h.length; b--;) {\n\t\t\t\t\t\tif (g = h[b], e = g.from, d = g.to, (void 0 === e || a &gt;= e) &amp;&amp; (void 0 === d || a &lt;= d)) {\n\t\t\t\t\t\t\tf = g.color;\n\t\t\t\t\t\t\tc &amp;&amp; (c.dataClass = b);\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.isLog &amp;&amp; (a = this.val2lin(a));\n\t\t\t\t\t\ta = 1 - (this.max - a) / (this.max - this.min);\n\t\t\t\t\t\tfor (b = d.length; b-- &amp;&amp; !(a &gt; d[b][0]););\n\t\t\t\t\t\te = d[b] || d[b + 1];\n\t\t\t\t\t\td = d[b + 1] || e;\n\t\t\t\t\t\ta = 1 - (d[0] - a) / (d[0] - e[0] || 1);\n\t\t\t\t\t\tf = this.tweenColors(e.color, d.color,\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}\n\t\t\t\treturn f\n\t\t\t},\n\t\t\ttweenColors: function(a, c, d) {\n\t\t\t\tvar e;\n\t\t\t\tc.rgba.length &amp;&amp; a.rgba.length ? (a = a.rgba, c = c.rgba, e = 1 !== c[3] || 1 !== a[3], a = (e ? \"rgba(\" : \"rgb(\") + Math.round(c[0] + (a[0] - c[0]) * (1 - d)) + \",\" + Math.round(c[1] + (a[1] - c[1]) * (1 - d)) + \",\" + Math.round(c[2] + (a[2] - c[2]) * (1 - d)) + (e ? \",\" + (c[3] + (a[3] - c[3]) * (1 - d)) : \"\") + \")\") : a = c.input || \"none\";\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\tm([\"fill\", \"stroke\"], function(a) {\n\t\t\tf.Fx.prototype[a + \"Setter\"] = function() {\n\t\t\t\tthis.elem.attr(a, n.tweenColors(f.color(this.start), f.color(this.end), this.pos), null, !0)\n\t\t\t}\n\t\t});\n\t\tf.seriesType(\"solidgauge\",\n\t\t\t\"gauge\", {\n\t\t\t\tcolorByPoint: !0\n\t\t\t}, {\n\t\t\t\ttranslate: function() {\n\t\t\t\t\tvar a = this.yAxis;\n\t\t\t\t\tf.extend(a, n);\n\t\t\t\t\t!a.dataClasses &amp;&amp; a.options.dataClasses &amp;&amp; a.initDataClasses(a.options);\n\t\t\t\t\ta.initStops(a.options);\n\t\t\t\t\tf.seriesTypes.gauge.prototype.translate.call(this)\n\t\t\t\t},\n\t\t\t\tdrawPoints: function() {\n\t\t\t\t\tvar a = this,\n\t\t\t\t\t\tc = a.yAxis,\n\t\t\t\t\t\td = c.center,\n\t\t\t\t\t\te = a.options,\n\t\t\t\t\t\tf = a.chart.renderer,\n\t\t\t\t\t\th = e.overshoot,\n\t\t\t\t\t\tg = v(h) ? h / 180 * Math.PI : 0,\n\t\t\t\t\t\tb;\n\t\t\t\t\tv(e.threshold) &amp;&amp; (b = c.startAngleRad + c.translate(e.threshold, null, null, null, !0));\n\t\t\t\t\tthis.thresholdAngleRad = t(b, c.startAngleRad);\n\t\t\t\t\tm(a.points, function(b) {\n\t\t\t\t\t\tvar h = b.graphic,\n\t\t\t\t\t\t\tk = c.startAngleRad + c.translate(b.y, null, null, null, !0),\n\t\t\t\t\t\t\tm = l(t(b.options.radius, e.radius, 100)) * d[2] / 200,\n\t\t\t\t\t\t\tp = l(t(b.options.innerRadius, e.innerRadius, 60)) * d[2] / 200,\n\t\t\t\t\t\t\tq = c.toColor(b.y, b),\n\t\t\t\t\t\t\tr = Math.min(c.startAngleRad, c.endAngleRad),\n\t\t\t\t\t\t\tn = Math.max(c.startAngleRad, c.endAngleRad);\n\t\t\t\t\t\t\"none\" === q &amp;&amp; (q = b.color || a.color || \"none\");\n\t\t\t\t\t\t\"none\" !== q &amp;&amp; (b.color = q);\n\t\t\t\t\t\tk = Math.max(r - g, Math.min(n + g, k));\n\t\t\t\t\t\t!1 === e.wrap &amp;&amp; (k = Math.max(r, Math.min(n, k)));\n\t\t\t\t\t\tr = Math.min(k, a.thresholdAngleRad);\n\t\t\t\t\t\tk = Math.max(k, a.thresholdAngleRad);\n\t\t\t\t\t\tk - r &gt; 2 * Math.PI &amp;&amp; (k = r + 2 * Math.PI);\n\t\t\t\t\t\tb.shapeArgs =\n\t\t\t\t\t\t\tp = {\n\t\t\t\t\t\t\t\tx: d[0],\n\t\t\t\t\t\t\t\ty: d[1],\n\t\t\t\t\t\t\t\tr: m,\n\t\t\t\t\t\t\t\tinnerR: p,\n\t\t\t\t\t\t\t\tstart: r,\n\t\t\t\t\t\t\t\tend: k,\n\t\t\t\t\t\t\t\tfill: q\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tb.startR = m;\n\t\t\t\t\t\th ? (b = p.d, h.animate(p), b &amp;&amp; (p.d = b)) : (b.graphic = f.arc(p).addClass(\"highcharts-point\").attr({\n\t\t\t\t\t\t\tfill: q,\n\t\t\t\t\t\t\t\"sweep-flag\": 0\n\t\t\t\t\t\t}).add(a.group), \"square\" !== e.linecap &amp;&amp; b.graphic.attr({\n\t\t\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t}), b.graphic.attr({\n\t\t\t\t\t\t\tstroke: e.borderColor || \"none\",\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth || 0\n\t\t\t\t\t\t}))\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tanimate: function(a) {\n\t\t\t\t\ta || (this.startAngleRad = this.thresholdAngleRad, f.seriesTypes.pie.prototype.animate.call(this, a))\n\t\t\t\t}\n\t\t\t})\n\t})(l)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 18:42:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0a70295bdb9532002e5df2b6ae96192a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts-Solid-Gauge&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_0a70295bdb9532002e5df2b6ae96192a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 18:42:54&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>23efc9a013da3e00de8cb5b12244b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-Solid-Gauge</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4657a11fdb9532002e5df2b6ae961996</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, $timeout, HighchartsConfigService) {\n\tvar c = this;\n\n\tvar hcs = new HighchartsConfigService(c.options, \"solidgauge\", c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"data\": [{\n\t\t\"name\": \"Jan\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Feb\",\n\t\t\"y\": 28\n\t}, {\n\t\t\"name\": \"Mar\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Apr\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"May\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Jun\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Jul\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Aug\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Sep\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Oct\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Nov\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Dec\",\n\t\t\"y\": 31\n\t}]\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;solid-gauge-arc&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Solid Gauge&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Field\",\"type\":\"field_name\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getGaugeDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"options\":{\n\t\t\t\"chart\":{\n\t\t\t\t\"width\":\"200\",\n\t\t\t\t\"height\":\"200\"\n\t\t\t},\n\t\t\t\"exporting\":{\n\t\t\t\t\"enabled\":false\n\t\t\t},\n\t\t\t\"pane\":{\n\t\t\t\t\"startAngle\":-90,\n\t\t\t\t\"endAngle\":90,\n\t\t\t\t\"background\":{\n\t\t\t\t\t\"shape\":\"arc\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"yAxis\":{\n\t\t\t\t\"softMin\":0,\n\t\t\t\t\"softMax\":100,\n\t\t\t\t\"title\":{\n\t\t\t\t\t\"enabled\":false\n\t\t\t\t}\n\t\t\t},\n\t\t\t\t\t\"plotOptions\":{\n\t\t\t\"solidgauge\":{\n\t\t\t\t\"dataLabels\":{\n\t\t\t\t\"enabled\":false\n\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t},\n\t\t\"title\":{\n\t\t\t\"text\":null\n\t\t}\n\n\t\t\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 19:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4657a11fdb9532002e5df2b6ae961996&lt;/sys_id&gt;&lt;sys_mod_count&gt;23&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Solid Gauge&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4657a11fdb9532002e5df2b6ae961996&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 20:00:48&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-solid-gauge-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>27efc9a013da3e00de8cb5b12244b0a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Solid Gauge</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-more</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6c74cd07db5932002e5df2b6ae961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-more\">3793058bdbd53200f687dfea5e9619fb</sys_ui_script><sys_update_name>sp_js_include_6c74cd07db5932002e5df2b6ae961982</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>2befc9a013da3e00de8cb5b12244b0a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;PE Get Data&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\tvar highchartsHelper = new PEHighchartsHelper(request,response);\n\treturn highchartsHelper.process();\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_highcharts_helper/get_data&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/get_data&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 04:30:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a9fc960bdbd932002e5df2b6ae961971&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Get Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_a9fc960bdbd932002e5df2b6ae961971&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 04:31:07&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"PE Highcharts Helper\"&gt;226c520bdbd932002e5df2b6ae961978&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>2befc9a013da3e00de8cb5b12244b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Get Data</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4512e95bdb9532002e5df2b6ae96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Highcharts 5.0.5 Solid Gauge</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:49:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4512e95bdb9532002e5df2b6ae96194f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4512e95bdb9532002e5df2b6ae96194f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:49:56</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>2fefc9a013da3e00de8cb5b12244b0a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>2fefc9a013da3e00de8cb5b12244b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c132e59bdb9532002e5df2b6ae9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>400</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts No Data\">64940147db5932002e5df2b6ae961981</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c132e59bdb9532002e5df2b6ae9619a3</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c132e59bdb9532002e5df2b6ae9619a3</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:57:03</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>5fefc9a013da3e00de8cb5b12244b0a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts No Data</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE highcharts-ng</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b3244d07db5932002e5df2b6ae96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE highcharts-ng\">b9d1058bdbd53200f687dfea5e9619f6</sys_ui_script><sys_update_name>sp_js_include_b3244d07db5932002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:00:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>63efc9a013da3e00de8cb5b12244b0a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value/><name>param1</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dfdc560bdbd932002e5df2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>param1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_dfdc560bdbd932002e5df2b6ae961979</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:23</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>63efc9a013da3e00de8cb5b12244b0a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>param1</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_64940147db5932002e5df2b6ae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts No Data</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64940147db5932002e5df2b6ae961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts No Data</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts No Data\">26c3854bdbd53200f687dfea5e9619ac</sys_ui_script><sys_update_name>sp_js_include_64940147db5932002e5df2b6ae961981</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>67efc9a013da3e00de8cb5b12244b0a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_highcharts_helper</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>PE Highcharts Helper</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_highcharts_helper</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:26:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>226c520bdbd932002e5df2b6ae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Helper</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_226c520bdbd932002e5df2b6ae961978</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:26:20</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>67efc9a013da3e00de8cb5b12244b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Helper</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_c3b825dfdb9532002e5df2b6ae9619ba</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_widget display_value=\"PE Solid Gauge\">4657a11fdb9532002e5df2b6ae961996</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 19:19:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3b825dfdb9532002e5df2b6ae9619ba</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Solid Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_c3b825dfdb9532002e5df2b6ae9619ba</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 19:19:01</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>6befc9a013da3e00de8cb5b12244b0a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Solid Gauge</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3c3d2cdbdb1532002e5df2b6ae96197f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts-heatmap&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.7 (2017-01-17)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(n){\"object\"===typeof module&amp;&amp;module.exports?module.exports=n:n(Highcharts)})(function(n){(function(c){var k=c.Axis,r=c.Chart,m=c.color,l,e=c.each,v=c.extend,w=c.isNumber,p=c.Legend,f=c.LegendSymbolMixin,x=c.noop,q=c.merge,u=c.pick,t=c.wrap;l=c.ColorAxis=function(){this.init.apply(this,arguments)};v(l.prototype,k.prototype);v(l.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},\nwidth:.01,color:\"#999999\"},labels:{overflow:\"justify\",rotation:0},minColor:\"#e6ebf5\",maxColor:\"#003399\",tickLength:5,showInLegend:!0},keepProps:[\"legendGroup\",\"legendItem\",\"legendSymbol\"].concat(k.prototype.keepProps),init:function(a,b){var d=\"vertical\"!==a.options.legend.layout,g;this.coll=\"colorAxis\";g=q(this.defaultColorAxisOptions,{side:d?2:1,reversed:!d},b,{opposite:!d,showEmpty:!1,title:null});k.prototype.init.call(this,a,g);b.dataClasses&amp;&amp;this.initDataClasses(b);this.initStops(b);this.horiz=\nd;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,b,d){var g;b.rgba.length&amp;&amp;a.rgba.length?(a=a.rgba,b=b.rgba,g=1!==b[3]||1!==a[3],a=(g?\"rgba(\":\"rgb(\")+Math.round(b[0]+(a[0]-b[0])*(1-d))+\",\"+Math.round(b[1]+(a[1]-b[1])*(1-d))+\",\"+Math.round(b[2]+(a[2]-b[2])*(1-d))+(g?\",\"+(b[3]+(a[3]-b[3])*(1-d)):\"\")+\")\"):a=b.input||\"none\";return a},initDataClasses:function(a){var b=this,d=this.chart,g,h=0,c=d.options.chart.colorCount,y=this.options,f=a.dataClasses.length;this.dataClasses=g=\n[];this.legendItems=[];e(a.dataClasses,function(a,e){a=q(a);g.push(a);a.color||(\"category\"===y.dataClassColor?(e=d.options.colors,c=e.length,a.color=e[h],a.colorIndex=h,h++,h===c&amp;&amp;(h=0)):a.color=b.tweenColors(m(y.minColor),m(y.maxColor),2&gt;f?.5:e/(f-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];e(this.stops,function(a){a.color=m(a[1])})},setOptions:function(a){k.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=\nthis.legendSymbol,b=this.chart,d=b.options.legend||{},g,h;a?(this.left=d=a.attr(\"x\"),this.top=g=a.attr(\"y\"),this.width=h=a.attr(\"width\"),this.height=a=a.attr(\"height\"),this.right=b.chartWidth-d-h,this.bottom=b.chartHeight-g-a,this.len=this.horiz?h:a,this.pos=this.horiz?d:g):this.len=(this.horiz?d.symbolWidth:d.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var d=this.stops,g,h,c=this.dataClasses,e,f;if(c)for(f=c.length;f--;){if(e=c[f],g=e.from,d=e.to,(void 0===g||a&gt;=g)&amp;&amp;(void 0===\nd||a&lt;=d)){h=e.color;b&amp;&amp;(b.dataClass=f,b.colorIndex=e.colorIndex);break}}else{this.isLog&amp;&amp;(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(f=d.length;f--&amp;&amp;!(a&gt;d[f][0]););g=d[f]||d[f+1];d=d[f+1]||g;a=1-(d[0]-a)/(d[0]-g[0]||1);h=this.tweenColors(g.color,d.color,a)}return h},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&amp;&amp;(this.axisParent=a,k.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=\nb)},setLegendColor:function(){var a,b=this.options,d=this.reversed;a=d?1:0;d=d?0:1;a=this.horiz?[a,0,d,0]:[0,d,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var d=a.padding,g=a.options,h=this.horiz,c=u(g.symbolWidth,h?this.defaultLegendLength:12),f=u(g.symbolHeight,h?12:this.defaultLegendLength),e=u(g.labelPadding,h?16:30),g=u(g.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,\na.baseline-11,c,f).attr({zIndex:1}).add(b.legendGroup);this.legendItemWidth=c+d+(h?g:e);this.legendItemHeight=f+d+(h?e:0)},setState:x,visible:!0,setVisible:x,getSeriesExtremes:function(){var a=this.series,b=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;b--;)void 0!==a[b].valueMin&amp;&amp;(this.dataMin=Math.min(this.dataMin,a[b].valueMin),this.dataMax=Math.max(this.dataMax,a[b].valueMax))},drawCrosshair:function(a,b){var d=b&amp;&amp;b.plotX,c=b&amp;&amp;b.plotY,h,f=this.pos,e=this.len;b&amp;&amp;(h=this.toPixels(b[b.series.colorKey]),\nh&lt;f?h=f-2:h&gt;f+e&amp;&amp;(h=f+e+2),b.plotX=h,b.plotY=this.len-h,k.prototype.drawCrosshair.call(this,a,b),b.plotX=d,b.plotY=c,this.cross&amp;&amp;(this.cross.addClass(\"highcharts-coloraxis-marker\").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,b,d,c,h){return w(h)?this.horiz?[\"M\",h-4,this.top-6,\"L\",h+4,this.top-6,h,this.top,\"Z\"]:[\"M\",this.left,h,\"L\",this.left-6,h+6,this.left-6,h-6,\"Z\"]:k.prototype.getPlotLinePath.call(this,a,b,d,c)},update:function(a,b){var d=this.chart,\nc=d.legend;e(this.series,function(a){a.isDirtyData=!0});a.dataClasses&amp;&amp;c.allItems&amp;&amp;(e(c.allItems,function(a){a.isDataClass&amp;&amp;a.legendGroup.destroy()}),d.isDirtyLegend=!0);d.options[this.coll]=q(this.userOptions,a);k.prototype.update.call(this,a,b);this.legendItem&amp;&amp;(this.setLegendColor(),c.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var a=this,b=this.chart,d=this.legendItems,g=b.options.legend,h=g.valueDecimals,t=g.valueSuffix||\"\",k;d.length||e(this.dataClasses,function(g,p){var l=\n!0,q=g.from,m=g.to;k=\"\";void 0===q?k=\"\\x3c \":void 0===m&amp;&amp;(k=\"\\x3e \");void 0!==q&amp;&amp;(k+=c.numberFormat(q,h)+t);void 0!==q&amp;&amp;void 0!==m&amp;&amp;(k+=\" - \");void 0!==m&amp;&amp;(k+=c.numberFormat(m,h)+t);d.push(v({chart:b,name:k,options:{},drawLegendSymbol:f.drawRectangle,visible:!0,setState:x,isDataClass:!0,setVisible:function(){l=this.visible=!l;e(a.series,function(a){e(a.points,function(a){a.dataClass===p&amp;&amp;a.setVisible(l)})});b.legend.colorizeItem(this,l)}},g))});return d},name:\"\"});e([\"fill\",\"stroke\"],function(a){c.Fx.prototype[a+\n\"Setter\"]=function(){this.elem.attr(a,l.prototype.tweenColors(m(this.start),m(this.end),this.pos),null,!0)}});t(r.prototype,\"getAxes\",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&amp;&amp;new l(this,b)});t(p.prototype,\"getAllItems\",function(a){var b=[],d=this.chart.colorAxis[0];d&amp;&amp;d.options&amp;&amp;(d.options.showInLegend&amp;&amp;(d.options.dataClasses?b=b.concat(d.getDataClassLegendSymbols()):b.push(d)),e(d.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});t(p.prototype,\n\"colorizeItem\",function(a,b,d){a.call(this,b,d);d&amp;&amp;b.legendColor&amp;&amp;b.legendSymbol.attr({fill:b.legendColor})})})(n);(function(c){var k=c.defined,r=c.each,m=c.noop,l=c.seriesTypes;c.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(c){var e=this,k=c?\"show\":\"hide\";r([\"graphic\",\"dataLabel\"],function(c){if(e[c])e[c][k]()})},setState:function(e){c.Point.prototype.setState.call(this,e);this.graphic&amp;&amp;this.graphic.attr({zIndex:\"hover\"===e?1:0})}};c.colorSeriesMixin={pointArrayMap:[\"value\"],\naxisTypes:[\"xAxis\",\"yAxis\",\"colorAxis\"],optionalAxis:\"colorAxis\",trackerGroups:[\"group\",\"markerGroup\",\"dataLabelsGroup\"],getSymbol:m,parallelArrays:[\"x\",\"y\",\"value\"],colorKey:\"value\",pointAttribs:l.column.prototype.pointAttribs,translateColors:function(){var c=this,k=this.options.nullColor,l=this.colorAxis,m=this.colorKey;r(this.data,function(f){var e=f[m];if(e=f.options.color||(f.isNull?k:l&amp;&amp;void 0!==e?l.toColor(e,f):f.color||c.color))f.color=e})},colorAttribs:function(c){var e={};k(c.color)&amp;&amp;(e[this.colorProp||\n\"fill\"]=c.color);return e}}})(n);(function(c){var k=c.colorPointMixin,r=c.each,m=c.merge,l=c.noop,e=c.pick,n=c.Series,w=c.seriesType,p=c.seriesTypes;w(\"heatmap\",\"scatter\",{animation:!1,borderWidth:0,nullColor:\"#f7f7f7\",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:\"middle\",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:\"{point.x}, {point.y}: {point.value}\\x3cbr/\\x3e\"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},\nm(c.colorSeriesMixin,{pointArrayMap:[\"y\",\"value\"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var c;p.scatter.prototype.init.apply(this,arguments);c=this.options;c.pointRange=e(c.pointRange,c.colsize||1);this.yAxis.axisPointRange=c.rowsize||1},translate:function(){var c=this.options,e=this.xAxis,k=this.yAxis,l=function(c,a,b){return Math.min(Math.max(a,c),b)};this.generatePoints();r(this.points,function(f){var a=(c.colsize||1)/2,b=(c.rowsize||\n1)/2,d=l(Math.round(e.len-e.translate(f.x-a,0,1,0,1)),-e.len,2*e.len),a=l(Math.round(e.len-e.translate(f.x+a,0,1,0,1)),-e.len,2*e.len),g=l(Math.round(k.translate(f.y-b,0,1,0,1)),-k.len,2*k.len),b=l(Math.round(k.translate(f.y+b,0,1,0,1)),-k.len,2*k.len);f.plotX=f.clientX=(d+a)/2;f.plotY=(g+b)/2;f.shapeType=\"rect\";f.shapeArgs={x:Math.min(d,a),y:Math.min(g,b),width:Math.abs(a-d),height:Math.abs(b-g)}});this.translateColors()},drawPoints:function(){p.column.prototype.drawPoints.call(this);r(this.points,\nfunction(c){c.graphic.attr(this.colorAttribs(c))},this)},animate:l,getBox:l,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,alignDataLabel:p.column.prototype.alignDataLabel,getExtremes:function(){n.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;n.prototype.getExtremes.call(this)}}),k)})(n)});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 14:59:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3c3d2cdbdb1532002e5df2b6ae96197f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts-heatmap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3c3d2cdbdb1532002e5df2b6ae96197f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 14:59:25&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>6befc9a013da3e00de8cb5b12244b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-heatmap</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c7ab5d83db9932002e5df2b6ae961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsExample&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsExample&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsExample = Class.create();\nPEHighchartsExample.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.json = new JSON();\n\t},\n\tgetDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\treturn dataSeries;\n\t},\n\tgetHeatmapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t[0, 0, scope.randNumber(1, 100)],\n\t\t\t\t[0, 1, scope.randNumber(1, 100)],\n\t\t\t\t[0, 2, scope.randNumber(1, 100)],\n\t\t\t\t[1, 0, scope.randNumber(1, 100)],\n\t\t\t\t[1, 1, scope.randNumber(1, 100)],\n\t\t\t\t[1, 2, scope.randNumber(1, 100)],\n\t\t\t\t[2, 0, scope.randNumber(1, 100)],\n\t\t\t\t[2, 1, scope.randNumber(1, 100)],\n\t\t\t\t[2, 2, scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\tgetTreemapDemoData: function(param1) {\n\t\tvar scope = this;\n\t\tvar series = [{\n\t\t\tdata: [\n\t\t\t\t{\n\t\t\t\t\tname:\"A\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"B\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"C\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"D\",\n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"E\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"F\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"G\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"H\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname:\"I\", \n\t\t\t\t\tvalue:scope.randNumber(1, 100)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t\treturn series;\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsExample'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c7ab5d83db9932002e5df2b6ae961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsExample&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c7ab5d83db9932002e5df2b6ae961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 20:25:42&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>6fefc9a013da3e00de8cb5b12244b0a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PEHighchartsExample</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_24492d13dbd532002e5df2b6ae9619b1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_widget display_value=\"PE Solid Gauge\">4657a11fdb9532002e5df2b6ae961996</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 19:21:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>24492d13dbd532002e5df2b6ae9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE Solid Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_24492d13dbd532002e5df2b6ae9619b1</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 19:21:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>97efc9a013da3e00de8cb5b12244b0a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE Solid Gauge</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_8d32e59bdb9532002e5df2b6ae9619a4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE highcharts-more\">6c74cd07db5932002e5df2b6ae961982</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8d32e59bdb9532002e5df2b6ae9619a4</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE highcharts-more</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_8d32e59bdb9532002e5df2b6ae9619a4</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:57:00</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>9befc9a013da3e00de8cb5b12244b0a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE highcharts-more</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6043c507db5932002e5df2b6ae96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts 5_0_5</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:56:59</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6043c507db5932002e5df2b6ae96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts 5_0_5\">5752058bdbd53200f687dfea5e9619f8</sys_ui_script><sys_update_name>sp_js_include_6043c507db5932002e5df2b6ae96196c</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:56:59</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>a3efc9a013da3e00de8cb5b12244b0a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-ng&lt;/name&gt;&lt;script&gt;&lt;![CDATA[if (typeof module !== 'undefined' &amp;&amp; typeof exports !== 'undefined' &amp;&amp; module.exports === exports) {\n\tmodule.exports = 'highcharts-ng';\n}\n\n(function() {\n\n\t'use strict';\n\t/*global angular: false, Highcharts: false */\n\n\tangular.module('highcharts-ng', [])\n\t\t.provider('highchartsNG', highchartsNGProvider)\n\t\t.directive('highchart', ['highchartsNG', '$timeout', highchart])\n\t\t.factory('HighchartsConfigService', ['$interval', '$http', '$q', HighchartsConfigService]);\n\n\tfunction highchartsNGProvider() {\n\t\tvar modules = [];\n\t\tvar basePath = false;\n\t\tvar lazyLoad = false;\n\t\treturn {\n\t\t\tHIGHCHART: 'highcharts.js',\n\t\t\tHIGHSTOCK: 'stock/highstock.js',\n\t\t\tbasePath: function(p) {\n\t\t\t\tbasePath = p;\n\t\t\t},\n\t\t\tlazyLoad: function(list) {\n\t\t\t\tif (list === undefined) {\n\t\t\t\t\tmodules = [this.HIGHCHART];\n\t\t\t\t} else {\n\t\t\t\t\tmodules = list;\n\t\t\t\t}\n\t\t\t\tlazyLoad = true;\n\t\t\t},\n\t\t\t$get: ['$window', '$rootScope', function($window, $rootScope) {\n\t\t\t\tif (!basePath) {\n\t\t\t\t\tbasePath = (window.location.protocol === 'https:' ? 'https' : 'http') + '://code.highcharts.com/';\n\t\t\t\t}\n\t\t\t\treturn highchartsNG($window, $rootScope, lazyLoad, basePath, modules);\n\t\t\t}]\n\t\t};\n\t}\n\n\tfunction highchartsNG($window, $rootScope, lazyload, basePath, modules) {\n\t\tvar readyQueue = [];\n\t\tvar loading = false;\n\t\treturn {\n\t\t\tlazyLoad: lazyload,\n\t\t\tready: function(callback, thisArg) {\n\t\t\t\tif (typeof $window.Highcharts !== 'undefined' || !lazyload) {\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\treadyQueue.push([callback, thisArg]);\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tloading = true;\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t\t\tmodules.unshift('adapters/standalone-framework.js');\n\t\t\t\t\t}\n\t\t\t\t\tvar doWork = function() {\n\t\t\t\t\t\tif (modules.length === 0) {\n\t\t\t\t\t\t\tloading = false;\n\t\t\t\t\t\t\t$rootScope.$apply(function() {\n\t\t\t\t\t\t\t\tangular.forEach(readyQueue, function(e) {\n\t\t\t\t\t\t\t\t\t// invoke callback passing 'thisArg'\n\t\t\t\t\t\t\t\t\te[0].apply(e[1], []);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar s = modules.shift();\n\t\t\t\t\t\t\tself.loadScript(s, doWork);\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tdoWork();\n\t\t\t\t}\n\t\t\t},\n\t\t\tloadScript: function(path, callback) {\n\t\t\t\tvar s = document.createElement('script');\n\t\t\t\ts.type = 'text/javascript';\n\t\t\t\ts.src = basePath + path;\n\t\t\t\ts.onload = callback;\n\t\t\t\tdocument.getElementsByTagName('body')[0].appendChild(s);\n\t\t\t},\n\t\t\t//IE8 support\n\t\t\tindexOf: function(arr, find, i /*opt*/ ) {\n\t\t\t\tif (i === undefined) i = 0;\n\t\t\t\tif (i &lt; 0) i += arr.length;\n\t\t\t\tif (i &lt; 0) i = 0;\n\t\t\t\tfor (var n = arr.length; i &lt; n; i++)\n\t\t\t\t\tif (i in arr &amp;&amp; arr[i] === find)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\n\t\t\tprependMethod: function(obj, method, func) {\n\t\t\t\tvar original = obj[method];\n\t\t\t\tobj[method] = function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tfunc.apply(this, args);\n\t\t\t\t\tif (original) {\n\t\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tdeepExtend: function deepExtend(destination, source) {\n\t\t\t\t//Slightly strange behaviour in edge cases (e.g. passing in non objects)\n\t\t\t\t//But does the job for current use cases.\n\t\t\t\tif (angular.isArray(source)) {\n\t\t\t\t\tdestination = angular.isArray(destination) ? destination : [];\n\t\t\t\t\tfor (var i = 0; i &lt; source.length; i++) {\n\t\t\t\t\t\tdestination[i] = deepExtend(destination[i] || {}, source[i]);\n\t\t\t\t\t}\n\t\t\t\t} else if (angular.isObject(source)) {\n\t\t\t\t\tdestination = angular.isObject(destination) ? destination : {};\n\t\t\t\t\tfor (var property in source) {\n\t\t\t\t\t\tdestination[property] = deepExtend(destination[property] || {}, source[property]);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdestination = source;\n\t\t\t\t}\n\t\t\t\treturn destination;\n\t\t\t}\n\t\t};\n\t}\n\n\tfunction highchart(highchartsNGUtils, $timeout) {\n\n\t\t// acceptable shared state\n\t\tvar seriesId = 0;\n\t\tvar ensureIds = function(series) {\n\t\t\tvar changed = false;\n\t\t\tangular.forEach(series, function(s) {\n\t\t\t\tif (!angular.isDefined(s.id)) {\n\t\t\t\t\ts.id = 'series-' + seriesId++;\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn changed;\n\t\t};\n\n\t\t// immutable\n\t\tvar axisNames = ['xAxis', 'yAxis'];\n\t\tvar chartTypeMap = {\n\t\t\t'stock': 'StockChart',\n\t\t\t'map': 'Map',\n\t\t\t'chart': 'Chart'\n\t\t};\n\n\t\tvar getMergedOptions = function(scope, element, config) {\n\t\t\tvar mergedOptions = {};\n\n\t\t\tvar defaultOptions = {\n\t\t\t\tchart: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\ttitle: {},\n\t\t\t\tsubtitle: {},\n\t\t\t\tseries: [],\n\t\t\t\tcredits: {},\n\t\t\t\tplotOptions: {},\n\t\t\t\tnavigator: {\n\t\t\t\t\tenabled: false\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t},\n\t\t\t\tyAxis: {\n\t\t\t\t\tevents: {}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (config.options) {\n\t\t\t\tmergedOptions = highchartsNGUtils.deepExtend(defaultOptions, config.options);\n\t\t\t} else {\n\t\t\t\tmergedOptions = defaultOptions;\n\t\t\t}\n\t\t\tmergedOptions.chart.renderTo = element[0];\n\n\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\tif (angular.isDefined(config[axisName])) {\n\t\t\t\t\tmergedOptions[axisName] = highchartsNGUtils.deepExtend(mergedOptions[axisName] || {}, config[axisName]);\n\n\t\t\t\t\tif (angular.isDefined(config[axisName].currentMin) ||\n\t\t\t\t\t\tangular.isDefined(config[axisName].currentMax)) {\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'selection', function(e) {\n\t\t\t\t\t\t\tvar thisChart = this;\n\t\t\t\t\t\t\tif (e[axisName]) {\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e[axisName][0].min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e[axisName][0].max;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//handle reset button - zoom out to all\n\t\t\t\t\t\t\t\tscope.$apply(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = thisChart[axisName][0].dataMin;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = thisChart[axisName][0].dataMax;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions.chart.events, 'addSeries', function(e) {\n\t\t\t\t\t\t\tscope.config[axisName].currentMin = this[axisName][0].min || scope.config[axisName].currentMin;\n\t\t\t\t\t\t\tscope.config[axisName].currentMax = this[axisName][0].max || scope.config[axisName].currentMax;\n\t\t\t\t\t\t});\n\t\t\t\t\t\thighchartsNGUtils.prependMethod(mergedOptions[axisName].events, 'setExtremes', function(e) {\n\t\t\t\t\t\t\tif (e.trigger &amp;&amp; e.trigger !== 'zoom') { // zoom trigger is handled by selection event\n\t\t\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMin = e.min;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].currentMax = e.max;\n\t\t\t\t\t\t\t\t\tscope.config[axisName].min = e.min; // set min and max to adjust scrollbar/navigator\n\t\t\t\t\t\t\t\t\tscope.config[axisName].max = e.max;\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (config.title) {\n\t\t\t\tmergedOptions.title = config.title;\n\t\t\t}\n\t\t\tif (config.subtitle) {\n\t\t\t\tmergedOptions.subtitle = config.subtitle;\n\t\t\t}\n\t\t\tif (config.credits) {\n\t\t\t\tmergedOptions.credits = config.credits;\n\t\t\t}\n\t\t\tif (config.size) {\n\t\t\t\tif (config.size.width) {\n\t\t\t\t\tmergedOptions.chart.width = config.size.width;\n\t\t\t\t}\n\t\t\t\tif (config.size.height) {\n\t\t\t\t\tmergedOptions.chart.height = config.size.height;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn mergedOptions;\n\t\t};\n\n\t\tvar updateZoom = function(axis, modelAxis) {\n\t\t\tvar extremes = axis.getExtremes();\n\t\t\tif (modelAxis.currentMin !== extremes.dataMin || modelAxis.currentMax !== extremes.dataMax) {\n\t\t\t\tif (axis.setExtremes) {\n\t\t\t\t\taxis.setExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t} else {\n\t\t\t\t\taxis.detachedsetExtremes(modelAxis.currentMin, modelAxis.currentMax, false);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar processExtremes = function(chart, axis, axisName) {\n\t\t\tif (axis.currentMin || axis.currentMax) {\n\t\t\t\tchart[axisName][0].setExtremes(axis.currentMin, axis.currentMax, true);\n\t\t\t}\n\t\t};\n\n\t\tvar chartOptionsWithoutEasyOptions = function(options) {\n\t\t\treturn angular.extend(\n\t\t\t\thighchartsNGUtils.deepExtend({}, options), {\n\t\t\t\t\tdata: null,\n\t\t\t\t\tvisible: null\n\t\t\t\t}\n\t\t\t);\n\t\t};\n\n\t\tvar getChartType = function(scope) {\n\t\t\tif (scope.config === undefined) return 'Chart';\n\t\t\treturn chartTypeMap[('' + scope.config.chartType).toLowerCase()] ||\n\t\t\t\t(scope.config.useHighStocks ? 'StockChart' : 'Chart');\n\t\t};\n\n\t\tvar res = {\n\t\t\trestrict: 'EAC',\n\t\t\treplace: true,\n\t\t\ttemplate: '&lt;div&gt;&lt;/div&gt;',\n\t\t\tscope: {\n\t\t\t\tconfig: '=',\n\t\t\t\tdisableDataWatch: '='\n\t\t\t},\n\t\t\tlink: function(scope, element, attrs) {\n\t\t\t\t// We keep some chart-specific variables here as a closure\n\t\t\t\t// instead of storing them on 'scope'.\n\n\t\t\t\t// prevSeriesOptions is maintained by processSeries\n\t\t\t\tvar prevSeriesOptions = {};\n\n\t\t\t\tvar processSeries = function(series) {\n\t\t\t\t\tvar i;\n\t\t\t\t\tvar ids = [];\n\n\t\t\t\t\tif (series) {\n\t\t\t\t\t\tvar setIds = ensureIds(series);\n\t\t\t\t\t\tif (setIds &amp;&amp; !scope.disableDataWatch) {\n\t\t\t\t\t\t\t//If we have set some ids this will trigger another digest cycle.\n\t\t\t\t\t\t\t//In this scenario just return early and let the next cycle take care of changes\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//Find series to add or update\n\t\t\t\t\t\tangular.forEach(series, function(s) {\n\t\t\t\t\t\t\tids.push(s.id);\n\t\t\t\t\t\t\tvar chartSeries = chart.get(s.id);\n\t\t\t\t\t\t\tif (chartSeries) {\n\t\t\t\t\t\t\t\tif (!angular.equals(prevSeriesOptions[s.id], chartOptionsWithoutEasyOptions(s))) {\n\t\t\t\t\t\t\t\t\tchartSeries.update(angular.copy(s), false);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (s.visible !== undefined &amp;&amp; chartSeries.visible !== s.visible) {\n\t\t\t\t\t\t\t\t\t\tchartSeries.setVisible(s.visible, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchartSeries.setData(angular.copy(s.data), false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.addSeries(angular.copy(s), false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprevSeriesOptions[s.id] = chartOptionsWithoutEasyOptions(s);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\t//  Shows no data text if all series are empty\n\t\t\t\t\t\tif (scope.config.noData) {\n\t\t\t\t\t\t\tvar chartContainsData = false;\n\n\t\t\t\t\t\t\tfor (i = 0; i &lt; series.length; i++) {\n\t\t\t\t\t\t\t\tif (series[i].data &amp;&amp; series[i].data.length &gt; 0) {\n\t\t\t\t\t\t\t\t\tchartContainsData = true;\n\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!chartContainsData) {\n\t\t\t\t\t\t\t\tchart.showLoading(scope.config.noData);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t//Now remove any missing series\n\t\t\t\t\tfor (i = chart.series.length - 1; i &gt;= 0; i--) {\n\t\t\t\t\t\tvar s = chart.series[i];\n\t\t\t\t\t\tif (s.options.id !== 'highcharts-navigator-series' &amp;&amp; highchartsNGUtils.indexOf(ids, s.options.id) &lt; 0) {\n\t\t\t\t\t\t\ts.remove(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// chart is maintained by initChart\n\t\t\t\tvar chart = false;\n\t\t\t\tvar initChart = function() {\n\t\t\t\t\tif (chart) chart.destroy();\n\t\t\t\t\tprevSeriesOptions = {};\n\t\t\t\t\tvar config = scope.config || {};\n\t\t\t\t\tvar mergedOptions = getMergedOptions(scope, element, config);\n\t\t\t\t\tvar func = config.func || undefined;\n\t\t\t\t\tvar chartType = getChartType(scope);\n\n\t\t\t\t\tchart = new Highcharts[chartType](mergedOptions, func);\n\n\t\t\t\t\tfor (var i = 0; i &lt; axisNames.length; i++) {\n\t\t\t\t\t\tif (config[axisNames[i]]) {\n\t\t\t\t\t\t\tprocessExtremes(chart, config[axisNames[i]], axisNames[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (config.loading) {\n\t\t\t\t\t\tchart.showLoading();\n\t\t\t\t\t}\n\t\t\t\t\tconfig.getHighcharts = function() {\n\t\t\t\t\t\treturn chart;\n\t\t\t\t\t};\n\n\t\t\t\t};\n\t\t\t\tinitChart();\n\n\n\t\t\t\tif (scope.disableDataWatch) {\n\t\t\t\t\tscope.$watchCollection('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tprocessSeries(newSeries);\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tscope.$watch('config.series', function(newSeries, oldSeries) {\n\t\t\t\t\t\tvar needsRedraw = processSeries(newSeries);\n\t\t\t\t\t\tif (needsRedraw) {\n\t\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, true);\n\t\t\t\t}\n\n\t\t\t\tscope.$watch('config.title', function(newTitle) {\n\t\t\t\t\tchart.setTitle(newTitle, true);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.subtitle', function(newSubtitle) {\n\t\t\t\t\tchart.setTitle(true, newSubtitle);\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.loading', function(loading) {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\tchart.showLoading(loading === true ? null : loading);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchart.hideLoading();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.noData', function(noData) {\n\t\t\t\t\tif (scope.config &amp;&amp; scope.config.loading) {\n\t\t\t\t\t\tchart.showLoading(noData);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.credits.enabled', function(enabled) {\n\t\t\t\t\tif (enabled) {\n\t\t\t\t\t\tchart.credits.show();\n\t\t\t\t\t} else if (chart.credits) {\n\t\t\t\t\t\tchart.credits.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tscope.$watch(getChartType, function(chartType, oldChartType) {\n\t\t\t\t\tif (chartType === oldChartType) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(axisNames, function(axisName) {\n\t\t\t\t\tscope.$watch('config.' + axisName, function(newAxes, oldAxes) {\n\t\t\t\t\t\tif (newAxes === oldAxes || !newAxes) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (angular.isArray(newAxes)) {\n\n\t\t\t\t\t\t\tfor (var axisIndex = 0; axisIndex &lt; newAxes.length; axisIndex++) {\n\t\t\t\t\t\t\t\tvar axis = newAxes[axisIndex];\n\n\t\t\t\t\t\t\t\tif (axisIndex &lt; chart[axisName].length) {\n\t\t\t\t\t\t\t\t\tchart[axisName][axisIndex].update(axis, false);\n\t\t\t\t\t\t\t\t\tupdateZoom(chart[axisName][axisIndex], angular.copy(axis));\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// update single axis\n\t\t\t\t\t\t\tchart[axisName][0].update(newAxes, false);\n\t\t\t\t\t\t\tupdateZoom(chart[axisName][0], angular.copy(newAxes));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tchart.redraw();\n\t\t\t\t\t}, true);\n\t\t\t\t});\n\t\t\t\tscope.$watch('config.options', function(newOptions, oldOptions, scope) {\n\t\t\t\t\t//do nothing when called on registration\n\t\t\t\t\tif (newOptions === oldOptions) return;\n\t\t\t\t\tinitChart();\n\t\t\t\t\tprocessSeries(scope.config.series);\n\t\t\t\t\tchart.redraw();\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$watch('config.size', function(newSize, oldSize) {\n\t\t\t\t\tif (newSize === oldSize) return;\n\t\t\t\t\tif (newSize) {\n\t\t\t\t\t\tchart.setSize(newSize.width || chart.chartWidth, newSize.height || chart.chartHeight);\n\t\t\t\t\t}\n\t\t\t\t}, true);\n\n\t\t\t\tscope.$on('highchartsng.reflow', function() {\n\t\t\t\t\tchart.reflow();\n\t\t\t\t});\n\n\t\t\t\tscope.$on('$destroy', function() {\n\t\t\t\t\tif (chart) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tchart.destroy();\n\t\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\t\t// fail silently as highcharts will throw exception if element doesn't exist\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$timeout(function() {\n\t\t\t\t\t\t\telement.remove();\n\t\t\t\t\t\t}, 0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t}\n\t\t};\n\n\t\t// override link fn if lazy loading is enabled\n\t\tif (highchartsNGUtils.lazyLoad) {\n\t\t\tvar oldLink = res.link;\n\t\t\tres.link = function() {\n\t\t\t\tvar args = arguments;\n\t\t\t\thighchartsNGUtils.ready(function() {\n\t\t\t\t\toldLink.apply(this, args);\n\t\t\t\t}, this);\n\t\t\t};\n\t\t}\n\t\treturn res;\n\t}\n\n\tfunction HighchartsConfigService($interval, $http, $q) {\n\t\tfunction setDataPoint(dataPoint, newValue) {\n\t\t\tif (typeof dataPoint == \"number\") {\n\t\t\t\treturn newValue;\n\t\t\t}\n\t\t\tif (Array.isArray(dataPoint)) {\n\t\t\t\tdataPoint[1] = newValue[1];\n\t\t\t\treturn dataPoint;\n\t\t\t}\n\t\t\tdataPoint.y = newValue.y;\n\t\t\treturn dataPoint;\n\t\t}\n\n\t\tfunction getData(url) {\n\t\t\tvar scope = this;\n\t\t\tvar deferred = $q.defer();\n\t\t\tif (!scope.chartConfig.series) {\n\t\t\t\tscope.chartConfig.series = [];\n\t\t\t}\n\t\t\t$http({\n\t\t\t\t\t\"method\": \"GET\",\n\t\t\t\t\t\"headers\": {\n\t\t\t\t\t\t\"X-UserToken\": window.g_ck\n\t\t\t\t\t},\n\t\t\t\t\t\"url\": url\n\t\t\t\t})\n\t\t\t\t.success(function(data) {\n\t\t\t\t\tdeferred.resolve(set.call(scope, data));\n\t\t\t\t})\n\t\t\t\t.error(function(data) {\n\t\t\t\t\tdeferred.reject(setError.call(scope, data));\n\t\t\t\t});\n\t\t\treturn deferred.promise;\n\t\t}\n\n\t\tfunction set(data) {\n\t\t\tif (this.options.table) {\n\t\t\t\treturn setData.call(this, data);\n\t\t\t} else if (this.options.script_include) {\n\t\t\t\treturn setScriptedData.call(this, data);\n\t\t\t}\n\t\t}\n\n\t\tfunction setScriptedData(data) {\n\t\t\t//Look for new columns\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setError(data);\n\t\t\t}\n\t\t\tif (this.chartConfig.series.length == 0) {\n\t\t\t\tthis.chartConfig.series = results;\n\t\t\t} else {\n\t\t\t\tif (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\twhile (this.chartConfig.series.length &gt; results.length) {\n\t\t\t\t\t\tthis.chartConfig.series.pop();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.chartConfig.series.forEach(function(currentSeries, seriesIndex) {\n\t\t\t\t\tvar resultSeries = results[seriesIndex];\n\t\t\t\t\tcurrentSeries.data = resultSeries.data;\n\t\t\t\t});\n\t\t\t\tif (this.chartConfig.series.length &lt; results.length) {\n\t\t\t\t\tvar startIndex = this.chartConfig.series.length;\n\t\t\t\t\tfor (var x = startIndex; x != results.length; x++) {\n\t\t\t\t\t\tthis.chartConfig.series.push(results[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this.chartConfig;\n\t\t}\n\n\t\tfunction setData(data) {\n\t\t\tvar scope = this;\n\t\t\tvar results = data.result;\n\t\t\tif (results.length == 0) {\n\t\t\t\treturn setOnError(data);\n\t\t\t}\n\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\tcurrentSeries.data.forEach(function(currentData, index) {\n\t\t\t\t\tvar resultData = results[index];\n\t\t\t\t\tcurrentData = setDataPoint(currentData, resultData);\n\t\t\t\t});\n\t\t\t});\n\t\t\tresults.forEach(function(result) {\n\t\t\t\tvar count = parseInt(result.stats.count);\n\t\t\t\tvar fields = result.groupby_fields;\n\t\t\t\tfields.forEach(function(field) {\n\t\t\t\t\tvar re = /(\\b[a-z](?!\\s))/g;\n\t\t\t\t\tvar fieldName = field.field.replace(/_/g, \" \").replace(re, function(x) {\n\t\t\t\t\t\treturn x.toUpperCase();\n\t\t\t\t\t});\n\t\t\t\t\tvar fieldValue = field.field;\n\t\t\t\t\tvar fieldDisplay = field.display_value || \"None\";\n\t\t\t\t\tvar currentSeriesIndex = scope.chartConfig.series.findIndex(function(seriesObject) {\n\t\t\t\t\t\treturn seriesObject.name == fieldName;\n\t\t\t\t\t});\n\t\t\t\t\tif (currentSeriesIndex != -1) {\n\t\t\t\t\t\tvar currentDataIndex = scope.chartConfig.series[currentSeriesIndex].data.findIndex(function(currentData) {\n\t\t\t\t\t\t\treturn currentData.name == fieldDisplay;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (currentDataIndex != -1) {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data[currentDataIndex].y = count;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tscope.chartConfig.series[currentSeriesIndex].data.push({\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tempObject = {\n\t\t\t\t\t\t\t\"name\": fieldName,\n\t\t\t\t\t\t\t\"data\": [{\n\t\t\t\t\t\t\t\t\"name\": fieldDisplay,\n\t\t\t\t\t\t\t\t\"y\": count,\n\t\t\t\t\t\t\t\t\"id\": fieldValue\n\t\t\t\t\t\t\t}],\n\t\t\t\t\t\t\t\"stack\": scope.stackObject ? scope.stackObject[fieldValue] : fieldValue\n\t\t\t\t\t\t};\n\t\t\t\t\t\tscope.chartConfig.series.push(tempObject);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (scope.chartConfig.options.chart.type == \"solidgauge\") {\n\t\t\t\tscope.chartConfig.series.forEach(function(currentSeries) {\n\t\t\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\t\t\tvar width = (scope.options.outer_radius - scope.options.inner_radius) / dataArray.length;\n\t\t\t\t\t\tdata.innerRadius = index * width + scope.options.inner_radius;\n\t\t\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? scope.options.outer_radius : ((index + 1) * width + scope.options.inner_radius) - 1;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\tscope.chartConfig.loading = false;\n\t\t\treturn scope.chartConfig;\n\t\t}\n\n\t\tfunction setError(data) {\n\t\t\tthis.chartConfig.options.lang.noData = \"No data to display&lt;br/&gt;\" + (data.error ? (data.error.detail ? data.error.detail.toString() : data.error.message.toString()) : \"\");\n\t\t\tdelete this.chartConfig.series;\n\t\t\treturn this.chartConfig;\n\t\t}\n\t\tvar hcs = function(options, type, data, stackObject) {\n\t\t\tvar scope = this;\n\t\t\tscope.options = options;\n\t\t\tscope.data = data;\n\t\t\tscope.chartConfig = {\n\t\t\t\t\"options\": {\n\t\t\t\t\t\"chart\": {\n\t\t\t\t\t\t\"borderWidth\": 0,\n\t\t\t\t\t\t\"type\": type || \"line\",\n\t\t\t\t\t\t\"zoomType\": \"xy\",\n\t\t\t\t\t\t\"events\": {\n\t\t\t\t\t\t\tload: function() {\n\t\t\t\t\t\t\t\tif (options.interval &amp;&amp; options.interval != \"1970-01-01 00:00:00\") {\n\t\t\t\t\t\t\t\t\tvar dateTime = moment(options.interval);\n\t\t\t\t\t\t\t\t\tvar time = (dateTime.seconds() + ((dateTime.minutes() + (dateTime.hours() * 60)) * 60)) * 1000;\n\t\t\t\t\t\t\t\t\t$interval(function() {\n\t\t\t\t\t\t\t\t\t\tscope.get();\n\t\t\t\t\t\t\t\t\t}, time);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t\"lang\": {\n\t\t\t\t\t\t\"noData\": \"No data to display\"\n\t\t\t\t\t},\n\t\t\t\t\t\"plotOptions\": {\n\t\t\t\t\t\t\"series\": {\n\t\t\t\t\t\t\t\"allowPointSelect\": true,\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\"loading\": data ? false : true,\n\t\t\t\t\"credits\": {\n\t\t\t\t\t\"enabled\": false\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\thcs.prototype.getChartConfig = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.advance) {\n\t\t\t\tscope.chartConfig = Highcharts.merge(scope.chartConfig, JSON.parse(scope.options.advance));\n\t\t\t}\n\t\t\treturn scope.chartConfig;\n\t\t};\n\t\thcs.prototype.setError = function(data) {\n\t\t\treturn setError.call(this, data);\n\t\t};\n\t\thcs.prototype.getData = function() {\n\t\t\tvar url = \"/api/now/stats/\" + this.options.table.toLowerCase() + \"?sysparm_display_value=all&amp;sysparm_count=true&amp;sysparm_group_by=\" + this.options.fields;\n\t\t\turl += this.options.encoded_query ? \"&amp;sysparm_query=\" + this.options.encoded_query : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.getScriptedData = function() {\n\t\t\tvar url = \"/api/snc/pe_highcharts_helper/get_data?script_include=\" + this.options.script_include;\n\t\t\turl += \"&amp;options=\" + JSON.stringify(this.options);\n\t\t\turl += this.options.function_name ? \"&amp;function_name=\" + this.options.function_name : \"\";\n\t\t\turl += this.options.param1 ? \"&amp;param1=\" + this.options.param1 : \"\";\n\t\t\treturn getData.call(this, url);\n\t\t};\n\t\thcs.prototype.setScriptedData = function(data) {\n\t\t\treturn setScriptedData.call(this, data);\n\t\t};\n\t\thcs.prototype.setData = function(data) {\n\t\t\treturn setData.call(this, data);\n\t\t};\n\t\thcs.prototype.get = function() {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.getData();\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.getScriptedData();\n\t\t\t}\n\t\t\tthis.chartConfig.series = [{\n\t\t\t\t\"data\": scope.data\n\t\t\t}];\n\t\t\treturn scope.getChartConfig();\n\t\t};\n\t\thcs.prototype.set = function(data) {\n\t\t\tvar scope = this;\n\t\t\tif (scope.options.table) {\n\t\t\t\treturn scope.setData(data);\n\t\t\t} else if (scope.options.script_include) {\n\t\t\t\treturn scope.setScriptedData(data);\n\t\t\t}\n\t\t};\n\t\treturn hcs;\n\t}\n}());]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:50:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-ng&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9d1058bdbd53200f687dfea5e9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 16:53:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>a3efc9a013da3e00de8cb5b12244b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE highcharts-ng</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_3793058bdbd53200f687dfea5e9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE highcharts-more&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(w) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = w : w(Highcharts)\n})(function(w) {\n\t(function(a) {\n\t\tfunction q(a, b, e) {\n\t\t\tthis.init(a, b, e)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.merge,\n\t\t\tt = a.splat;\n\t\tv(q.prototype, {\n\t\t\tinit: function(a, b, e) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tp = f.defaultOptions;\n\t\t\t\tf.chart = b;\n\t\t\t\tf.options = a = h(p, b.angular ? {\n\t\t\t\t\tbackground: {}\n\t\t\t\t} : void 0, a);\n\t\t\t\t(a = a.background) &amp;&amp; u([].concat(t(a)).reverse(), function(b) {\n\t\t\t\t\tvar c, p = e.userOptions;\n\t\t\t\t\tc = h(f.defaultBackgroundOptions, b);\n\t\t\t\t\tb.backgroundColor &amp;&amp; (c.backgroundColor = b.backgroundColor);\n\t\t\t\t\tc.color = c.backgroundColor;\n\t\t\t\t\te.options.plotBands.unshift(c);\n\t\t\t\t\tp.plotBands = p.plotBands || [];\n\t\t\t\t\tp.plotBands !== e.options.plotBands &amp;&amp; p.plotBands.unshift(c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdefaultOptions: {\n\t\t\t\tcenter: [\"50%\", \"50%\"],\n\t\t\t\tsize: \"85%\",\n\t\t\t\tstartAngle: 0\n\t\t\t},\n\t\t\tdefaultBackgroundOptions: {\n\t\t\t\tclassName: \"highcharts-pane\",\n\t\t\t\tshape: \"circle\",\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\",\n\t\t\t\tbackgroundColor: {\n\t\t\t\t\tlinearGradient: {\n\t\t\t\t\t\tx1: 0,\n\t\t\t\t\t\ty1: 0,\n\t\t\t\t\t\tx2: 0,\n\t\t\t\t\t\ty2: 1\n\t\t\t\t\t},\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, \"#ffffff\"],\n\t\t\t\t\t\t[1, \"#e6e6e6\"]\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tfrom: -Number.MAX_VALUE,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\tto: Number.MAX_VALUE,\n\t\t\t\touterRadius: \"105%\"\n\t\t\t}\n\t\t});\n\t\ta.Pane = q\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.CenteredSeriesMixin,\n\t\t\tu = a.each,\n\t\t\tv = a.extend,\n\t\t\th = a.map,\n\t\t\tt = a.merge,\n\t\t\td = a.noop,\n\t\t\tb = a.Pane,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.splat,\n\t\t\tn = a.wrap,\n\t\t\tc, k, l = a.Axis.prototype;\n\t\ta = a.Tick.prototype;\n\t\tc = {\n\t\t\tgetOffset: d,\n\t\t\tredraw: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.isDirty = !1\n\t\t\t},\n\t\t\tsetScale: d,\n\t\t\tsetCategories: d,\n\t\t\tsetTitle: d\n\t\t};\n\t\tk = {\n\t\t\tdefaultRadialGaugeOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"center\",\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tminorGridLineWidth: 0,\n\t\t\t\tminorTickInterval: \"auto\",\n\t\t\t\tminorTickLength: 10,\n\t\t\t\tminorTickPosition: \"inside\",\n\t\t\t\tminorTickWidth: 1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickPosition: \"inside\",\n\t\t\t\ttickWidth: 2,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t},\n\t\t\t\tzIndex: 2\n\t\t\t},\n\t\t\tdefaultRadialXOptions: {\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlabels: {\n\t\t\t\t\talign: null,\n\t\t\t\t\tdistance: 15,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: null\n\t\t\t\t},\n\t\t\t\tmaxPadding: 0,\n\t\t\t\tminPadding: 0,\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttickLength: 0\n\t\t\t},\n\t\t\tdefaultRadialYOptions: {\n\t\t\t\tgridLineInterpolation: \"circle\",\n\t\t\t\tlabels: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -3,\n\t\t\t\t\ty: -2\n\t\t\t\t},\n\t\t\t\tshowLastLabel: !1,\n\t\t\t\ttitle: {\n\t\t\t\t\tx: 4,\n\t\t\t\t\ttext: null,\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetOptions: function(b) {\n\t\t\t\tb = this.options = t(this.defaultOptions, this.defaultRadialOptions, b);\n\t\t\t\tb.plotBands || (b.plotBands = [])\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tl.getOffset.call(this);\n\t\t\t\tthis.chart.axisOffset[this.side] = 0;\n\t\t\t\tthis.center = this.pane.center =\n\t\t\t\t\tq.getCenter.call(this.pane)\n\t\t\t},\n\t\t\tgetLinePath: function(b, g) {\n\t\t\t\tb = this.center;\n\t\t\t\tvar c = this.chart,\n\t\t\t\t\tm = e(g, b[2] / 2 - this.offset);\n\t\t\t\tthis.isCircular || void 0 !== g ? g = this.chart.renderer.symbols.arc(this.left + b[0], this.top + b[1], m, m, {\n\t\t\t\t\tstart: this.startAngleRad,\n\t\t\t\t\tend: this.endAngleRad,\n\t\t\t\t\topen: !0,\n\t\t\t\t\tinnerR: 0\n\t\t\t\t}) : (g = this.postTranslate(this.angleRad, m), g = [\"M\", b[0] + c.plotLeft, b[1] + c.plotTop, \"L\", g.x, g.y]);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tsetAxisTranslation: function() {\n\t\t\t\tl.setAxisTranslation.call(this);\n\t\t\t\tthis.center &amp;&amp; (this.transA = this.isCircular ? (this.endAngleRad - this.startAngleRad) /\n\t\t\t\t\t(this.max - this.min || 1) : this.center[2] / 2 / (this.max - this.min || 1), this.minPixelPadding = this.isXAxis ? this.transA * this.minPointOffset : 0)\n\t\t\t},\n\t\t\tbeforeSetTickPositions: function() {\n\t\t\t\tif (this.autoConnect = this.isCircular &amp;&amp; void 0 === e(this.userMax, this.options.max) &amp;&amp; this.endAngleRad - this.startAngleRad === 2 * Math.PI) this.max += this.categories &amp;&amp; 1 || this.pointRange || this.closestPointRange || 0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tl.setAxisSize.call(this);\n\t\t\t\tthis.isRadial &amp;&amp; (this.center = this.pane.center = q.getCenter.call(this.pane), this.isCircular &amp;&amp;\n\t\t\t\t\t(this.sector = this.endAngleRad - this.startAngleRad), this.len = this.width = this.height = this.center[2] * e(this.sector, 1) / 2)\n\t\t\t},\n\t\t\tgetPosition: function(b, g) {\n\t\t\t\treturn this.postTranslate(this.isCircular ? this.translate(b) : this.angleRad, e(this.isCircular ? g : this.translate(b), this.center[2] / 2) - this.offset)\n\t\t\t},\n\t\t\tpostTranslate: function(b, g) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tc = this.center;\n\t\t\t\tb = this.startAngleRad + b;\n\t\t\t\treturn {\n\t\t\t\t\tx: e.plotLeft + c[0] + Math.cos(b) * g,\n\t\t\t\t\ty: e.plotTop + c[1] + Math.sin(b) * g\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetPlotBandPath: function(b, g, c) {\n\t\t\t\tvar m = this.center,\n\t\t\t\t\tp = this.startAngleRad,\n\t\t\t\t\tl = m[2] / 2,\n\t\t\t\t\tr = [e(c.outerRadius, \"100%\"), c.innerRadius, e(c.thickness, 10)],\n\t\t\t\t\ta = Math.min(this.offset, 0),\n\t\t\t\t\tk = /%$/,\n\t\t\t\t\tn, d = this.isCircular;\n\t\t\t\t\"polygon\" === this.options.gridLineInterpolation ? m = this.getPlotLinePath(b).concat(this.getPlotLinePath(g, !0)) : (b = Math.max(b, this.min), g = Math.min(g, this.max), d || (r[0] = this.translate(b), r[1] = this.translate(g)), r = h(r, function(b) {\n\t\t\t\t\t\tk.test(b) &amp;&amp; (b = f(b, 10) * l / 100);\n\t\t\t\t\t\treturn b\n\t\t\t\t\t}), \"circle\" !== c.shape &amp;&amp; d ? (b = p + this.translate(b), g = p + this.translate(g)) : (b = -Math.PI / 2, g = 1.5 * Math.PI, n = !0), r[0] -= a, r[2] -=\n\t\t\t\t\ta, m = this.chart.renderer.symbols.arc(this.left + m[0], this.top + m[1], r[0], r[0], {\n\t\t\t\t\t\tstart: Math.min(b, g),\n\t\t\t\t\t\tend: Math.max(b, g),\n\t\t\t\t\t\tinnerR: e(r[1], r[0] - r[2]),\n\t\t\t\t\t\topen: n\n\t\t\t\t\t}));\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tgetPlotLinePath: function(b, g) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tc = e.center,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\tp = e.getPosition(b),\n\t\t\t\t\tm, l, a;\n\t\t\t\te.isCircular ? a = [\"M\", c[0] + f.plotLeft, c[1] + f.plotTop, \"L\", p.x, p.y] : \"circle\" === e.options.gridLineInterpolation ? (b = e.translate(b)) &amp;&amp; (a = e.getLinePath(0, b)) : (u(f.xAxis, function(b) {\n\t\t\t\t\tb.pane === e.pane &amp;&amp; (m = b)\n\t\t\t\t}), a = [], b = e.translate(b), c = m.tickPositions, m.autoConnect &amp;&amp; (c =\n\t\t\t\t\tc.concat([c[0]])), g &amp;&amp; (c = [].concat(c).reverse()), u(c, function(g, e) {\n\t\t\t\t\tl = m.getPosition(g, b);\n\t\t\t\t\ta.push(e ? \"L\" : \"M\", l.x, l.y)\n\t\t\t\t}));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar b = this.center,\n\t\t\t\t\tg = this.chart,\n\t\t\t\t\te = this.options.title;\n\t\t\t\treturn {\n\t\t\t\t\tx: g.plotLeft + b[0] + (e.x || 0),\n\t\t\t\t\ty: g.plotTop + b[1] - {\n\t\t\t\t\t\thigh: .5,\n\t\t\t\t\t\tmiddle: .25,\n\t\t\t\t\t\tlow: 0\n\t\t\t\t\t}[e.align] * b[2] + (e.y || 0)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tn(l, \"init\", function(f, g, l) {\n\t\t\tvar a = g.angular,\n\t\t\t\tm = g.polar,\n\t\t\t\tr = l.isX,\n\t\t\t\tn = a &amp;&amp; r,\n\t\t\t\td, x = g.options,\n\t\t\t\th = l.pane || 0;\n\t\t\tif (a) {\n\t\t\t\tif (v(this, n ? c : k), d = !r) this.defaultRadialOptions = this.defaultRadialGaugeOptions\n\t\t\t} else m &amp;&amp; (v(this,\n\t\t\t\tk), this.defaultRadialOptions = (d = r) ? this.defaultRadialXOptions : t(this.defaultYAxisOptions, this.defaultRadialYOptions));\n\t\t\ta || m ? (this.isRadial = !0, g.inverted = !1, x.chart.zoomType = null) : this.isRadial = !1;\n\t\t\tf.call(this, g, l);\n\t\t\tn || !a &amp;&amp; !m || (f = this.options, g.panes || (g.panes = []), this.pane = g = g.panes[h] = g.panes[h] || new b(p(x.pane)[h], g, this), g = g.options, this.angleRad = (f.angle || 0) * Math.PI / 180, this.startAngleRad = (g.startAngle - 90) * Math.PI / 180, this.endAngleRad = (e(g.endAngle, g.startAngle + 360) - 90) * Math.PI / 180, this.offset = f.offset ||\n\t\t\t\t0, this.isCircular = d)\n\t\t});\n\t\tn(l, \"autoLabelAlign\", function(b) {\n\t\t\tif (!this.isRadial) return b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tn(a, \"getPosition\", function(b, e, c, f, p) {\n\t\t\tvar g = this.axis;\n\t\t\treturn g.getPosition ? g.getPosition(c) : b.call(this, e, c, f, p)\n\t\t});\n\t\tn(a, \"getLabelPosition\", function(b, g, c, f, p, a, l, k, n) {\n\t\t\tvar m = this.axis,\n\t\t\t\tr = a.y,\n\t\t\t\td = 20,\n\t\t\t\tx = a.align,\n\t\t\t\tz = (m.translate(this.pos) + m.startAngleRad + Math.PI / 2) / Math.PI * 180 % 360;\n\t\t\tm.isRadial ? (b = m.getPosition(this.pos, m.center[2] / 2 + e(a.distance, -25)), \"auto\" === a.rotation ? f.attr({\n\t\t\t\t\trotation: z\n\t\t\t\t}) :\n\t\t\t\tnull === r &amp;&amp; (r = m.chart.renderer.fontMetrics(f.styles.fontSize).b - f.getBBox().height / 2), null === x &amp;&amp; (m.isCircular ? (this.label.getBBox().width &gt; m.len * m.tickInterval / (m.max - m.min) &amp;&amp; (d = 0), x = z &gt; d &amp;&amp; z &lt; 180 - d ? \"left\" : z &gt; 180 + d &amp;&amp; z &lt; 360 - d ? \"right\" : \"center\") : x = \"center\", f.attr({\n\t\t\t\t\talign: x\n\t\t\t\t})), b.x += a.x, b.y += r) : b = b.call(this, g, c, f, p, a, l, k, n);\n\t\t\treturn b\n\t\t});\n\t\tn(a, \"getMarkPath\", function(b, e, c, f, a, p, l) {\n\t\t\tvar g = this.axis;\n\t\t\tg.isRadial ? (b = g.getPosition(this.pos, g.center[2] / 2 + f), e = [\"M\", e, c, \"L\", b.x, b.y]) : e = b.call(this, e, c, f, a, p, l);\n\t\t\treturn e\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.Series,\n\t\t\tt = a.seriesType,\n\t\t\td = a.seriesTypes;\n\t\tt(\"arearange\", \"area\", {\n\t\t\tlineWidth: 1,\n\t\t\tmarker: null,\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{series.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\ttrackByArea: !0,\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\txLow: 0,\n\t\t\t\txHigh: 0,\n\t\t\t\tyLow: 0,\n\t\t\t\tyHigh: 0\n\t\t\t},\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\tdataLabelCollections: [\"dataLabel\",\n\t\t\t\t\"dataLabelUpper\"\n\t\t\t],\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn [b.low, b.high]\n\t\t\t},\n\t\t\tpointValKey: \"low\",\n\t\t\tdeferTranslatePolar: !0,\n\t\t\thighToXY: function(b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = this.xAxis.postTranslate(b.rectPlotX, this.yAxis.len - b.plotHigh);\n\t\t\t\tb.plotHighX = f.x - e.plotLeft;\n\t\t\t\tb.plotHigh = f.y - e.plotTop\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis,\n\t\t\t\t\tf = !!b.modifyValue;\n\t\t\t\td.area.prototype.translate.apply(b);\n\t\t\t\tq(b.points, function(a) {\n\t\t\t\t\tvar p = a.low,\n\t\t\t\t\t\tc = a.high,\n\t\t\t\t\t\tk = a.plotY;\n\t\t\t\t\tnull === c || null === p ? a.isNull = !0 : (a.plotLow = k, a.plotHigh = e.translate(f ? b.modifyValue(c, a) : c, 0, 1,\n\t\t\t\t\t\t0, 1), f &amp;&amp; (a.yBottom = a.plotHigh))\n\t\t\t\t});\n\t\t\t\tthis.chart.polar &amp;&amp; q(this.points, function(e) {\n\t\t\t\t\tb.highToXY(e)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetGraphPath: function(b) {\n\t\t\t\tvar e = [],\n\t\t\t\t\tf = [],\n\t\t\t\t\ta, n = d.area.prototype.getGraphPath,\n\t\t\t\t\tc, k, l;\n\t\t\t\tl = this.options;\n\t\t\t\tvar m = l.step;\n\t\t\t\tb = b || this.points;\n\t\t\t\tfor (a = b.length; a--;) c = b[a], c.isNull || l.connectEnds || b[a + 1] &amp;&amp; !b[a + 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t}), k = {\n\t\t\t\t\t\tpolarPlotY: c.polarPlotY,\n\t\t\t\t\t\trectPlotX: c.rectPlotX,\n\t\t\t\t\t\tyBottom: c.yBottom,\n\t\t\t\t\t\tplotX: v(c.plotHighX, c.plotX),\n\t\t\t\t\t\tplotY: c.plotHigh,\n\t\t\t\t\t\tisNull: c.isNull\n\t\t\t\t\t}, f.push(k), e.push(k), c.isNull ||\n\t\t\t\t\tl.connectEnds || b[a - 1] &amp;&amp; !b[a - 1].isNull || f.push({\n\t\t\t\t\t\tplotX: c.plotX,\n\t\t\t\t\t\tplotY: c.plotY,\n\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t});\n\t\t\t\tb = n.call(this, b);\n\t\t\t\tm &amp;&amp; (!0 === m &amp;&amp; (m = \"left\"), l.step = {\n\t\t\t\t\tleft: \"right\",\n\t\t\t\t\tcenter: \"center\",\n\t\t\t\t\tright: \"left\"\n\t\t\t\t}[m]);\n\t\t\t\te = n.call(this, e);\n\t\t\t\tf = n.call(this, f);\n\t\t\t\tl.step = m;\n\t\t\t\tl = [].concat(b, e);\n\t\t\t\tthis.chart.polar || \"M\" !== f[0] || (f[0] = \"L\");\n\t\t\t\tthis.graphPath = l;\n\t\t\t\tthis.areaPath = this.areaPath.concat(b, f);\n\t\t\t\tl.isArea = !0;\n\t\t\t\tl.xMap = b.xMap;\n\t\t\t\tthis.areaPath.xMap = b.xMap;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tdrawDataLabels: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\te = b.length,\n\t\t\t\t\tf, a = [],\n\t\t\t\t\tn = h.prototype,\n\t\t\t\t\tc = this.options.dataLabels,\n\t\t\t\t\tk = c.align,\n\t\t\t\t\tl = c.verticalAlign,\n\t\t\t\t\tm = c.inside,\n\t\t\t\t\tg, r, d = this.chart.inverted;\n\t\t\t\tif (c.enabled || this._hasPointLabels) {\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.y = g.high, g._plotY = g.plotY, g.plotY = g.plotHigh, a[f] = g.dataLabel, g.dataLabel = g.dataLabelUpper, g.below = r, d ? k || (c.align = r ? \"right\" : \"left\") : l || (c.verticalAlign = r ? \"top\" : \"bottom\"), c.x = c.xHigh, c.y = c.yHigh;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments);\n\t\t\t\t\tfor (f = e; f--;)\n\t\t\t\t\t\tif (g = b[f]) r = m ? g.plotHigh &lt; g.plotLow : g.plotHigh &gt; g.plotLow, g.dataLabelUpper =\n\t\t\t\t\t\t\tg.dataLabel, g.dataLabel = a[f], g.y = g.low, g.plotY = g._plotY, g.below = !r, d ? k || (c.align = r ? \"left\" : \"right\") : l || (c.verticalAlign = r ? \"bottom\" : \"top\"), c.x = c.xLow, c.y = c.yLow;\n\t\t\t\t\tn.drawDataLabels &amp;&amp; n.drawDataLabels.apply(this, arguments)\n\t\t\t\t}\n\t\t\t\tc.align = k;\n\t\t\t\tc.verticalAlign = l\n\t\t\t},\n\t\t\talignDataLabel: function() {\n\t\t\t\td.column.prototype.alignDataLabel.apply(this, arguments)\n\t\t\t},\n\t\t\tsetStackedPoints: u,\n\t\t\tgetSymbol: u,\n\t\t\tdrawPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.seriesType;\n\t\tq(\"areasplinerange\", \"arearange\", null, {\n\t\t\tgetPointSpline: a.seriesTypes.spline.prototype.getPointSpline\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.defaultPlotOptions,\n\t\t\tu = a.each,\n\t\t\tv = a.merge,\n\t\t\th = a.noop,\n\t\t\tt = a.pick,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes.column.prototype;\n\t\td(\"columnrange\", \"arearange\", v(q.column, q.arearange, {\n\t\t\tlineWidth: 1,\n\t\t\tpointRange: null\n\t\t}), {\n\t\t\ttranslate: function() {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.yAxis,\n\t\t\t\t\ta = e.xAxis,\n\t\t\t\t\tn = a.startAngleRad,\n\t\t\t\t\tc, k = e.chart,\n\t\t\t\t\tl = e.xAxis.isRadial,\n\t\t\t\t\tm;\n\t\t\t\tb.translate.apply(e);\n\t\t\t\tu(e.points, function(b) {\n\t\t\t\t\tvar g = b.shapeArgs,\n\t\t\t\t\t\tp = e.options.minPointLength,\n\t\t\t\t\t\td, h;\n\t\t\t\t\tb.plotHigh = m = f.translate(b.high, 0, 1, 0, 1);\n\t\t\t\t\tb.plotLow = b.plotY;\n\t\t\t\t\th = m;\n\t\t\t\t\td = t(b.rectPlotY, b.plotY) - m;\n\t\t\t\t\tMath.abs(d) &lt;\n\t\t\t\t\t\tp ? (p -= d, d += p, h -= p / 2) : 0 &gt; d &amp;&amp; (d *= -1, h -= d);\n\t\t\t\t\tl ? (c = b.barX + n, b.shapeType = \"path\", b.shapeArgs = {\n\t\t\t\t\t\td: e.polarArc(h + d, h, c, c + b.pointWidth)\n\t\t\t\t\t}) : (g.height = d, g.y = h, b.tooltipPos = k.inverted ? [f.len + f.pos - k.plotLeft - h - d / 2, a.len + a.pos - k.plotTop - g.x - g.width / 2, d] : [a.left - k.plotLeft + g.x + g.width / 2, f.pos - k.plotTop + h + d / 2, d])\n\t\t\t\t})\n\t\t\t},\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tdrawGraph: h,\n\t\t\tcrispCol: b.crispCol,\n\t\t\tdrawPoints: b.drawPoints,\n\t\t\tdrawTracker: b.drawTracker,\n\t\t\tgetColumnMetrics: b.getColumnMetrics,\n\t\t\tanimate: function() {\n\t\t\t\treturn b.animate.apply(this,\n\t\t\t\t\targuments)\n\t\t\t},\n\t\t\tpolarArc: function() {\n\t\t\t\treturn b.polarArc.apply(this, arguments)\n\t\t\t},\n\t\t\tpointAttribs: b.pointAttribs\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.merge,\n\t\t\th = a.pick,\n\t\t\tt = a.pInt,\n\t\t\td = a.Series,\n\t\t\tb = a.seriesType,\n\t\t\te = a.TrackerMixin;\n\t\tb(\"gauge\", \"line\", {\n\t\t\tdataLabels: {\n\t\t\t\tenabled: !0,\n\t\t\t\tdefer: !1,\n\t\t\t\ty: 15,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tcrop: !1,\n\t\t\t\tverticalAlign: \"top\",\n\t\t\t\tzIndex: 2,\n\t\t\t\tborderWidth: 1,\n\t\t\t\tborderColor: \"#cccccc\"\n\t\t\t},\n\t\t\tdial: {},\n\t\t\tpivot: {},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: \"\"\n\t\t\t},\n\t\t\tshowInLegend: !1\n\t\t}, {\n\t\t\tangular: !0,\n\t\t\tdirectTouch: !0,\n\t\t\tdrawGraph: a.noop,\n\t\t\tfixedBox: !0,\n\t\t\tforceDL: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\ttranslate: function() {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\te = this.options,\n\t\t\t\t\ta = b.center;\n\t\t\t\tthis.generatePoints();\n\t\t\t\tq(this.points, function(c) {\n\t\t\t\t\tvar f = v(e.dial, c.dial),\n\t\t\t\t\t\tl = t(h(f.radius, 80)) * a[2] / 200,\n\t\t\t\t\t\tm = t(h(f.baseLength, 70)) * l / 100,\n\t\t\t\t\t\tg = t(h(f.rearLength, 10)) * l / 100,\n\t\t\t\t\t\tp = f.baseWidth || 3,\n\t\t\t\t\t\tn = f.topWidth || 1,\n\t\t\t\t\t\td = e.overshoot,\n\t\t\t\t\t\tq = b.startAngleRad + b.translate(c.y, null, null, null, !0);\n\t\t\t\t\tu(d) ? (d = d / 180 * Math.PI, q = Math.max(b.startAngleRad - d, Math.min(b.endAngleRad + d, q))) : !1 === e.wrap &amp;&amp; (q = Math.max(b.startAngleRad, Math.min(b.endAngleRad,\n\t\t\t\t\t\tq)));\n\t\t\t\t\tq = 180 * q / Math.PI;\n\t\t\t\t\tc.shapeType = \"path\";\n\t\t\t\t\tc.shapeArgs = {\n\t\t\t\t\t\td: f.path || [\"M\", -g, -p / 2, \"L\", m, -p / 2, l, -n / 2, l, n / 2, m, p / 2, -g, p / 2, \"z\"],\n\t\t\t\t\t\ttranslateX: a[0],\n\t\t\t\t\t\ttranslateY: a[1],\n\t\t\t\t\t\trotation: q\n\t\t\t\t\t};\n\t\t\t\t\tc.plotX = a[0];\n\t\t\t\t\tc.plotY = a[1]\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.yAxis.center,\n\t\t\t\t\ta = b.pivot,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\tk = c.pivot,\n\t\t\t\t\tl = b.chart.renderer;\n\t\t\t\tq(b.points, function(e) {\n\t\t\t\t\tvar a = e.graphic,\n\t\t\t\t\t\tf = e.shapeArgs,\n\t\t\t\t\t\tm = f.d,\n\t\t\t\t\t\tp = v(c.dial, e.dial);\n\t\t\t\t\ta ? (a.animate(f), f.d = m) : (e.graphic = l[e.shapeType](f).attr({\n\t\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).addClass(\"highcharts-dial\").add(b.group), e.graphic.attr({\n\t\t\t\t\t\tstroke: p.borderColor ||\n\t\t\t\t\t\t\t\"none\",\n\t\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\t\tfill: p.backgroundColor || \"#000000\"\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\ta ? a.animate({\n\t\t\t\t\ttranslateX: e[0],\n\t\t\t\t\ttranslateY: e[1]\n\t\t\t\t}) : (b.pivot = l.circle(0, 0, h(k.radius, 5)).attr({\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).addClass(\"highcharts-pivot\").translate(e[0], e[1]).add(b.group), b.pivot.attr({\n\t\t\t\t\t\"stroke-width\": k.borderWidth || 0,\n\t\t\t\t\tstroke: k.borderColor || \"#cccccc\",\n\t\t\t\t\tfill: k.backgroundColor || \"#000000\"\n\t\t\t\t}))\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar e = this;\n\t\t\t\tb || (q(e.points, function(b) {\n\t\t\t\t\tvar a = b.graphic;\n\t\t\t\t\ta &amp;&amp; (a.attr({\n\t\t\t\t\t\trotation: 180 * e.yAxis.startAngleRad / Math.PI\n\t\t\t\t\t}), a.animate({\n\t\t\t\t\t\t\trotation: b.shapeArgs.rotation\n\t\t\t\t\t\t},\n\t\t\t\t\t\te.options.animation))\n\t\t\t\t}), e.animate = null)\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tthis.group = this.plotGroup(\"group\", \"series\", this.visible ? \"visible\" : \"hidden\", this.options.zIndex, this.chart.seriesGroup);\n\t\t\t\td.prototype.render.call(this);\n\t\t\t\tthis.group.clip(this.chart.clipRect)\n\t\t\t},\n\t\t\tsetData: function(b, e) {\n\t\t\t\td.prototype.setData.call(this, b, !1);\n\t\t\t\tthis.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\th(e, !0) &amp;&amp; this.chart.redraw()\n\t\t\t},\n\t\t\tdrawTracker: e &amp;&amp; e.drawTrackerPoint\n\t\t}, {\n\t\t\tsetState: function(b) {\n\t\t\t\tthis.state = b\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesType,\n\t\t\tt = a.seriesTypes;\n\t\th(\"boxplot\", \"column\", {\n\t\t\tthreshold: null,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cb\\x3e {series.name}\\x3c/b\\x3e\\x3cbr/\\x3eMaximum: {point.high}\\x3cbr/\\x3eUpper quartile: {point.q3}\\x3cbr/\\x3eMedian: {point.median}\\x3cbr/\\x3eLower quartile: {point.q1}\\x3cbr/\\x3eMinimum: {point.low}\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerLength: \"50%\",\n\t\t\tfillColor: \"#ffffff\",\n\t\t\tlineWidth: 1,\n\t\t\tmedianWidth: 2,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: -.3\n\t\t\t\t}\n\t\t\t},\n\t\t\twhiskerWidth: 2\n\t\t}, {\n\t\t\tpointArrayMap: [\"low\", \"q1\", \"median\",\n\t\t\t\t\"q3\", \"high\"\n\t\t\t],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.q1, a.median, a.q3, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tpointAttribs: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\te = a &amp;&amp; a.color || this.color;\n\t\t\t\treturn {\n\t\t\t\t\tfill: a.fillColor || b.fillColor || e,\n\t\t\t\t\tstroke: b.lineColor || e,\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawDataLabels: u,\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.yAxis,\n\t\t\t\t\tb = this.pointArrayMap;\n\t\t\t\tt.column.prototype.translate.apply(this);\n\t\t\t\tq(this.points, function(e) {\n\t\t\t\t\tq(b, function(b) {\n\t\t\t\t\t\tnull !== e[b] &amp;&amp; (e[b + \"Plot\"] = a.translate(e[b], 0, 1, 0, 1))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\te = a.chart.renderer,\n\t\t\t\t\tf, p, n, c, k, l, m = 0,\n\t\t\t\t\tg, r, h, t, A = !1 !== a.doQuartiles,\n\t\t\t\t\tu, y = a.options.whiskerLength;\n\t\t\t\tq(a.points, function(d) {\n\t\t\t\t\tvar q = d.graphic,\n\t\t\t\t\t\tz = q ? \"animate\" : \"attr\",\n\t\t\t\t\t\tx = d.shapeArgs,\n\t\t\t\t\t\tw = {},\n\t\t\t\t\t\tC = {},\n\t\t\t\t\t\tH = {},\n\t\t\t\t\t\tI = d.color || a.color;\n\t\t\t\t\tvoid 0 !== d.plotY &amp;&amp; (g = x.width, r = Math.floor(x.x), h = r + g, t = Math.round(g / 2), f = Math.floor(A ? d.q1Plot : d.lowPlot), p = Math.floor(A ? d.q3Plot : d.lowPlot), n = Math.floor(d.highPlot), c = Math.floor(d.lowPlot), q || (d.graphic = q = e.g(\"point\").add(a.group), d.stem = e.path().addClass(\"highcharts-boxplot-stem\").add(q),\n\t\t\t\t\t\ty &amp;&amp; (d.whiskers = e.path().addClass(\"highcharts-boxplot-whisker\").add(q)), A &amp;&amp; (d.box = e.path(void 0).addClass(\"highcharts-boxplot-box\").add(q)), d.medianShape = e.path(void 0).addClass(\"highcharts-boxplot-median\").add(q), w.stroke = d.stemColor || b.stemColor || I, w[\"stroke-width\"] = v(d.stemWidth, b.stemWidth, b.lineWidth), w.dashstyle = d.stemDashStyle || b.stemDashStyle, d.stem.attr(w), y &amp;&amp; (C.stroke = d.whiskerColor || b.whiskerColor || I, C[\"stroke-width\"] = v(d.whiskerWidth, b.whiskerWidth, b.lineWidth), d.whiskers.attr(C)), A &amp;&amp; (q =\n\t\t\t\t\t\t\ta.pointAttribs(d), d.box.attr(q)), H.stroke = d.medianColor || b.medianColor || I, H[\"stroke-width\"] = v(d.medianWidth, b.medianWidth, b.lineWidth), d.medianShape.attr(H)), l = d.stem.strokeWidth() % 2 / 2, m = r + t + l, d.stem[z]({\n\t\t\t\t\t\td: [\"M\", m, p, \"L\", m, n, \"M\", m, f, \"L\", m, c]\n\t\t\t\t\t}), A &amp;&amp; (l = d.box.strokeWidth() % 2 / 2, f = Math.floor(f) + l, p = Math.floor(p) + l, r += l, h += l, d.box[z]({\n\t\t\t\t\t\td: [\"M\", r, p, \"L\", r, f, \"L\", h, f, \"L\", h, p, \"L\", r, p, \"z\"]\n\t\t\t\t\t})), y &amp;&amp; (l = d.whiskers.strokeWidth() % 2 / 2, n += l, c += l, u = /%$/.test(y) ? t * parseFloat(y) / 100 : y / 2, d.whiskers[z]({\n\t\t\t\t\t\td: [\"M\", m - u, n, \"L\", m + u, n,\n\t\t\t\t\t\t\t\"M\", m - u, c, \"L\", m + u, c\n\t\t\t\t\t\t]\n\t\t\t\t\t})), k = Math.round(d.medianPlot), l = d.medianShape.strokeWidth() % 2 / 2, k += l, d.medianShape[z]({\n\t\t\t\t\t\td: [\"M\", r, k, \"L\", h, k]\n\t\t\t\t\t}))\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetStackedPoints: u\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.each,\n\t\t\tu = a.noop,\n\t\t\tv = a.seriesType,\n\t\t\th = a.seriesTypes;\n\t\tv(\"errorbar\", \"boxplot\", {\n\t\t\tcolor: \"#000000\",\n\t\t\tgrouping: !1,\n\t\t\tlinkedTo: \":previous\",\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.low}\\x3c/b\\x3e - \\x3cb\\x3e{point.high}\\x3c/b\\x3e\\x3cbr/\\x3e'\n\t\t\t},\n\t\t\twhiskerWidth: null\n\t\t}, {\n\t\t\ttype: \"errorbar\",\n\t\t\tpointArrayMap: [\"low\", \"high\"],\n\t\t\ttoYData: function(a) {\n\t\t\t\treturn [a.low, a.high]\n\t\t\t},\n\t\t\tpointValKey: \"high\",\n\t\t\tdoQuartiles: !1,\n\t\t\tdrawDataLabels: h.arearange ? function() {\n\t\t\t\tvar a = this.pointValKey;\n\t\t\t\th.arearange.prototype.drawDataLabels.call(this);\n\t\t\t\tq(this.data, function(d) {\n\t\t\t\t\td.y = d[a]\n\t\t\t\t})\n\t\t\t} : u,\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\treturn this.linkedParent &amp;&amp; this.linkedParent.columnMetrics || h.column.prototype.getColumnMetrics.call(this)\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.correctFloat,\n\t\t\tu = a.isNumber,\n\t\t\tv = a.pick,\n\t\t\th = a.Point,\n\t\t\tt = a.Series,\n\t\t\td = a.seriesType,\n\t\t\tb = a.seriesTypes;\n\t\td(\"waterfall\", \"column\", {\n\t\t\tdataLabels: {\n\t\t\t\tinside: !0\n\t\t\t},\n\t\t\tlineWidth: 1,\n\t\t\tlineColor: \"#333333\",\n\t\t\tdashStyle: \"dot\",\n\t\t\tborderColor: \"#333333\",\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tpointValKey: \"y\",\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\td, n, c, k, l, m, g, r, h, t = v(a.minPointLength, 5),\n\t\t\t\t\tu = a.threshold,\n\t\t\t\t\tw = a.stacking,\n\t\t\t\t\ty = 0,\n\t\t\t\t\tx = 0;\n\t\t\t\tb.column.prototype.translate.apply(this);\n\t\t\t\tg = r = u;\n\t\t\t\tn = this.points;\n\t\t\t\td = 0;\n\t\t\t\tfor (a = n.length; d &lt; a; d++) c = n[d], m = this.processedYData[d], k = c.shapeArgs, h = (l = w &amp;&amp; f.stacks[(this.negStacks &amp;&amp; m &lt; u ? \"-\" : \"\") + this.stackKey]) ? l[c.x].points[this.index +\n\t\t\t\t\t\",\" + d] : [0, m], c.isSum ? c.y = q(m) : c.isIntermediateSum &amp;&amp; (c.y = q(m - r)), l = Math.max(g, g + c.y) + h[0], k.y = f.toPixels(l, !0), c.isSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(h[0], !0), f.len) - k.y + y + x) : c.isIntermediateSum ? (k.y = f.toPixels(h[1], !0), k.height = Math.min(f.toPixels(r, !0), f.len) - k.y + y + x, r = h[1]) : (k.height = 0 &lt; m ? f.toPixels(g, !0) - k.y : f.toPixels(g, !0) - f.toPixels(g - m, !0), g += m), 0 &gt; k.height &amp;&amp; (k.y += k.height, k.height *= -1), c.plotY = k.y = Math.round(k.y) - this.borderWidth % 2 / 2, k.height = Math.max(Math.round(k.height),\n\t\t\t\t\t.001), c.yBottom = k.y + k.height, k.y -= x, k.height &lt;= t &amp;&amp; (k.height = t, 0 &gt; c.y ? x -= t : y += t), k.y -= y, k = c.plotY - x - y + (c.negative &amp;&amp; 0 &lt;= x ? k.height : 0), this.chart.inverted ? c.tooltipPos[0] = f.len - k : c.tooltipPos[1] = k\n\t\t\t},\n\t\t\tprocessData: function(b) {\n\t\t\t\tvar a = this.yData,\n\t\t\t\t\te = this.options.data,\n\t\t\t\t\td, c = a.length,\n\t\t\t\t\tk, l, m, g, r, h;\n\t\t\t\tl = k = m = g = this.options.threshold || 0;\n\t\t\t\tfor (h = 0; h &lt; c; h++) r = a[h], d = e &amp;&amp; e[h] ? e[h] : {}, \"sum\" === r || d.isSum ? a[h] = q(l) : \"intermediateSum\" === r || d.isIntermediateSum ? a[h] = q(k) : (l += r, k += r), m = Math.min(l, m), g = Math.max(l, g);\n\t\t\t\tt.prototype.processData.call(this,\n\t\t\t\t\tb);\n\t\t\t\tthis.dataMin = m;\n\t\t\t\tthis.dataMax = g\n\t\t\t},\n\t\t\ttoYData: function(b) {\n\t\t\t\treturn b.isSum ? 0 === b.x ? null : \"sum\" : b.isIntermediateSum ? 0 === b.x ? null : \"intermediateSum\" : b.y\n\t\t\t},\n\t\t\tpointAttribs: function(a, f) {\n\t\t\t\tvar e = this.options.upColor;\n\t\t\t\te &amp;&amp; !a.options.color &amp;&amp; (a.color = 0 &lt; a.y ? e : null);\n\t\t\t\ta = b.column.prototype.pointAttribs.call(this, a, f);\n\t\t\t\tdelete a.dashstyle;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function() {\n\t\t\t\treturn [\"M\", 0, 0]\n\t\t\t},\n\t\t\tgetCrispPath: function() {\n\t\t\t\tvar b = this.data,\n\t\t\t\t\ta = b.length,\n\t\t\t\t\td = this.graph.strokeWidth() + this.borderWidth,\n\t\t\t\t\td = Math.round(d) % 2 / 2,\n\t\t\t\t\tn = [],\n\t\t\t\t\tc, k, l;\n\t\t\t\tfor (l = 1; l &lt; a; l++) k =\n\t\t\t\t\tb[l].shapeArgs, c = b[l - 1].shapeArgs, k = [\"M\", c.x + c.width, c.y + d, \"L\", k.x, c.y + d], 0 &gt; b[l - 1].y &amp;&amp; (k[2] += c.height, k[5] += c.height), n = n.concat(k);\n\t\t\t\treturn n\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tt.prototype.drawGraph.call(this);\n\t\t\t\tthis.graph.attr({\n\t\t\t\t\td: this.getCrispPath()\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetExtremes: a.noop\n\t\t}, {\n\t\t\tgetClassName: function() {\n\t\t\t\tvar b = h.prototype.getClassName.call(this);\n\t\t\t\tthis.isSum ? b += \" highcharts-sum\" : this.isIntermediateSum &amp;&amp; (b += \" highcharts-intermediate-sum\");\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisValid: function() {\n\t\t\t\treturn u(this.y, !0) || this.isSum || this.isIntermediateSum\n\t\t\t}\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.Series,\n\t\t\tu = a.seriesType,\n\t\t\tv = a.seriesTypes;\n\t\tu(\"polygon\", \"scatter\", {\n\t\t\tmarker: {\n\t\t\t\tenabled: !1,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tenabled: !1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0,\n\t\t\t\tpointFormat: \"\"\n\t\t\t},\n\t\t\ttrackByArea: !0\n\t\t}, {\n\t\t\ttype: \"polygon\",\n\t\t\tgetGraphPath: function() {\n\t\t\t\tfor (var a = q.prototype.getGraphPath.call(this), t = a.length + 1; t--;)(t === a.length || \"M\" === a[t]) &amp;&amp; 0 &lt; t &amp;&amp; a.splice(t, 0, \"z\");\n\t\t\t\treturn this.areaPath = a\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.fillColor = this.color;\n\t\t\t\tv.area.prototype.drawGraph.call(this)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawTracker: q.prototype.drawTracker,\n\t\t\tsetStackedPoints: a.noop\n\t\t})\n\t})(w);\n\t(function(a) {\n\t\tvar q = a.arrayMax,\n\t\t\tu = a.arrayMin,\n\t\t\tv = a.Axis,\n\t\t\th = a.color,\n\t\t\tt = a.each,\n\t\t\td = a.isNumber,\n\t\t\tb = a.noop,\n\t\t\te = a.pick,\n\t\t\tf = a.pInt,\n\t\t\tp = a.Point,\n\t\t\tn = a.Series,\n\t\t\tc = a.seriesType,\n\t\t\tk = a.seriesTypes;\n\t\tc(\"bubble\", \"scatter\", {\n\t\t\tdataLabels: {\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn this.point.z\n\t\t\t\t},\n\t\t\t\tinside: !0,\n\t\t\t\tverticalAlign: \"middle\"\n\t\t\t},\n\t\t\tmarker: {\n\t\t\t\tlineColor: null,\n\t\t\t\tlineWidth: 1,\n\t\t\t\tradius: null,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tradiusPlus: 0\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tminSize: 8,\n\t\t\tmaxSize: \"20%\",\n\t\t\tsoftThreshold: !1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 5\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: \"({point.x}, {point.y}), Size: {point.z}\"\n\t\t\t},\n\t\t\tturboThreshold: 0,\n\t\t\tzThreshold: 0,\n\t\t\tzoneAxis: \"z\"\n\t\t}, {\n\t\t\tpointArrayMap: [\"y\", \"z\"],\n\t\t\tparallelArrays: [\"x\", \"y\", \"z\"],\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tbubblePadding: !0,\n\t\t\tzoneAxis: \"z\",\n\t\t\tmarkerAttribs: b,\n\t\t\tpointAttribs: function(b, a) {\n\t\t\t\tvar c = e(this.options.marker.fillOpacity, .5);\n\t\t\t\tb = n.prototype.pointAttribs.call(this, b, a);\n\t\t\t\t1 !== c &amp;&amp; (b.fill = h(b.fill).setOpacity(c).get(\"rgba\"));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetRadii: function(b, a, e, c) {\n\t\t\t\tvar g, f, d, l = this.zData,\n\t\t\t\t\tk = [],\n\t\t\t\t\tm = this.options,\n\t\t\t\t\tn = \"width\" !== m.sizeBy,\n\t\t\t\t\tr = m.zThreshold,\n\t\t\t\t\tp = a - b;\n\t\t\t\tf = 0;\n\t\t\t\tfor (g = l.length; f &lt; g; f++) d =\n\t\t\t\t\tl[f], m.sizeByAbsoluteValue &amp;&amp; null !== d &amp;&amp; (d = Math.abs(d - r), a = Math.max(a - r, Math.abs(b - r)), b = 0), null === d ? d = null : d &lt; b ? d = e / 2 - 1 : (d = 0 &lt; p ? (d - b) / p : .5, n &amp;&amp; 0 &lt;= d &amp;&amp; (d = Math.sqrt(d)), d = Math.ceil(e + d * (c - e)) / 2), k.push(d);\n\t\t\t\tthis.radii = k\n\t\t\t},\n\t\t\tanimate: function(b) {\n\t\t\t\tvar a = this.options.animation;\n\t\t\t\tb || (t(this.points, function(b) {\n\t\t\t\t\tvar e = b.graphic;\n\t\t\t\t\tb = b.shapeArgs;\n\t\t\t\t\te &amp;&amp; b &amp;&amp; (e.attr(\"r\", 1), e.animate({\n\t\t\t\t\t\tr: b.r\n\t\t\t\t\t}, a))\n\t\t\t\t}), this.animate = null)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar b, a = this.data,\n\t\t\t\t\te, c, f = this.radii;\n\t\t\t\tk.scatter.prototype.translate.call(this);\n\t\t\t\tfor (b = a.length; b--;) e =\n\t\t\t\t\ta[b], c = f ? f[b] : 0, d(c) &amp;&amp; c &gt;= this.minPxSize / 2 ? (e.shapeType = \"circle\", e.shapeArgs = {\n\t\t\t\t\t\tx: e.plotX,\n\t\t\t\t\t\ty: e.plotY,\n\t\t\t\t\t\tr: c\n\t\t\t\t\t}, e.dlBox = {\n\t\t\t\t\t\tx: e.plotX - c,\n\t\t\t\t\t\ty: e.plotY - c,\n\t\t\t\t\t\twidth: 2 * c,\n\t\t\t\t\t\theight: 2 * c\n\t\t\t\t\t}) : e.shapeArgs = e.plotY = e.dlBox = void 0\n\t\t\t},\n\t\t\tdrawLegendSymbol: function(b, a) {\n\t\t\t\tvar e = this.chart.renderer,\n\t\t\t\t\tc = e.fontMetrics(b.itemStyle &amp;&amp; b.itemStyle.fontSize, a.legendItem).f / 2;\n\t\t\t\ta.legendSymbol = e.circle(c, b.baseline - c, c).attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(a.legendGroup);\n\t\t\t\ta.legendSymbol.isMarker = !0\n\t\t\t},\n\t\t\tdrawPoints: k.column.prototype.drawPoints,\n\t\t\talignDataLabel: k.column.prototype.alignDataLabel,\n\t\t\tbuildKDTree: b,\n\t\t\tapplyZones: b\n\t\t}, {\n\t\t\thaloPath: function(b) {\n\t\t\t\treturn p.prototype.haloPath.call(this, this.shapeArgs.r + b)\n\t\t\t},\n\t\t\tttBelow: !1\n\t\t});\n\t\tv.prototype.beforePadding = function() {\n\t\t\tvar b = this,\n\t\t\t\ta = this.len,\n\t\t\t\tc = this.chart,\n\t\t\t\tk = 0,\n\t\t\t\tn = a,\n\t\t\t\tp = this.isXAxis,\n\t\t\t\th = p ? \"xData\" : \"yData\",\n\t\t\t\tv = this.min,\n\t\t\t\tw = {},\n\t\t\t\tx = Math.min(c.plotWidth, c.plotHeight),\n\t\t\t\tD = Number.MAX_VALUE,\n\t\t\t\tE = -Number.MAX_VALUE,\n\t\t\t\tF = this.max - v,\n\t\t\t\tB = a / F,\n\t\t\t\tG = [];\n\t\t\tt(this.series, function(a) {\n\t\t\t\tvar d = a.options;\n\t\t\t\t!a.bubblePadding || !a.visible &amp;&amp; c.options.chart.ignoreHiddenSeries || (b.allowZoomOutside = !0, G.push(a), p &amp;&amp; (t([\"minSize\",\n\t\t\t\t\t\"maxSize\"\n\t\t\t\t], function(b) {\n\t\t\t\t\tvar a = d[b],\n\t\t\t\t\t\te = /%$/.test(a),\n\t\t\t\t\t\ta = f(a);\n\t\t\t\t\tw[b] = e ? x * a / 100 : a\n\t\t\t\t}), a.minPxSize = w.minSize, a.maxPxSize = Math.max(w.maxSize, w.minSize), a = a.zData, a.length &amp;&amp; (D = e(d.zMin, Math.min(D, Math.max(u(a), !1 === d.displayNegative ? d.zThreshold : -Number.MAX_VALUE))), E = e(d.zMax, Math.max(E, q(a))))))\n\t\t\t});\n\t\t\tt(G, function(a) {\n\t\t\t\tvar e = a[h],\n\t\t\t\t\tc = e.length,\n\t\t\t\t\tf;\n\t\t\t\tp &amp;&amp; a.getRadii(D, E, a.minPxSize, a.maxPxSize);\n\t\t\t\tif (0 &lt; F)\n\t\t\t\t\tfor (; c--;) d(e[c]) &amp;&amp; b.dataMin &lt;= e[c] &amp;&amp; e[c] &lt;= b.dataMax &amp;&amp; (f = a.radii[c], k = Math.min((e[c] - v) * B - f, k), n = Math.max((e[c] - v) * B + f, n))\n\t\t\t});\n\t\t\tG.length &amp;&amp; 0 &lt; F &amp;&amp; !this.isLog &amp;&amp; (n -= a, B *= (a + k - n) / a, t([\n\t\t\t\t[\"min\", \"userMin\", k],\n\t\t\t\t[\"max\", \"userMax\", n]\n\t\t\t], function(a) {\n\t\t\t\tvoid 0 === e(b.options[a[0]], b[a[1]]) &amp;&amp; (b[a[0]] += a[2] / B)\n\t\t\t}))\n\t\t}\n\t})(w);\n\t(function(a) {\n\t\tfunction q(b, a) {\n\t\t\tvar e = this.chart,\n\t\t\t\td = this.options.animation,\n\t\t\t\tn = this.group,\n\t\t\t\tc = this.markerGroup,\n\t\t\t\tk = this.xAxis.center,\n\t\t\t\tl = e.plotLeft,\n\t\t\t\tm = e.plotTop;\n\t\t\te.polar ? e.renderer.isSVG &amp;&amp; (!0 === d &amp;&amp; (d = {}), a ? (b = {\n\t\t\t\ttranslateX: k[0] + l,\n\t\t\t\ttranslateY: k[1] + m,\n\t\t\t\tscaleX: .001,\n\t\t\t\tscaleY: .001\n\t\t\t}, n.attr(b), c &amp;&amp; c.attr(b)) : (b = {\n\t\t\t\ttranslateX: l,\n\t\t\t\ttranslateY: m,\n\t\t\t\tscaleX: 1,\n\t\t\t\tscaleY: 1\n\t\t\t}, n.animate(b,\n\t\t\t\td), c &amp;&amp; c.animate(b, d), this.animate = null)) : b.call(this, a)\n\t\t}\n\t\tvar u = a.each,\n\t\t\tv = a.pick,\n\t\t\th = a.seriesTypes,\n\t\t\tt = a.wrap,\n\t\t\td = a.Series.prototype;\n\t\ta = a.Pointer.prototype;\n\t\td.searchPointByAngle = function(b) {\n\t\t\tvar a = this.chart,\n\t\t\t\td = this.xAxis.pane.center;\n\t\t\treturn this.searchKDTree({\n\t\t\t\tclientX: 180 + -180 / Math.PI * Math.atan2(b.chartX - d[0] - a.plotLeft, b.chartY - d[1] - a.plotTop)\n\t\t\t})\n\t\t};\n\t\tt(d, \"buildKDTree\", function(b) {\n\t\t\tthis.chart.polar &amp;&amp; (this.kdByAngle ? this.searchPoint = this.searchPointByAngle : this.kdDimensions = 2);\n\t\t\tb.apply(this)\n\t\t});\n\t\td.toXY = function(b) {\n\t\t\tvar a,\n\t\t\t\td = this.chart,\n\t\t\t\tp = b.plotX;\n\t\t\ta = b.plotY;\n\t\t\tb.rectPlotX = p;\n\t\t\tb.rectPlotY = a;\n\t\t\ta = this.xAxis.postTranslate(b.plotX, this.yAxis.len - a);\n\t\t\tb.plotX = b.polarPlotX = a.x - d.plotLeft;\n\t\t\tb.plotY = b.polarPlotY = a.y - d.plotTop;\n\t\t\tthis.kdByAngle ? (d = (p / Math.PI * 180 + this.xAxis.pane.options.startAngle) % 360, 0 &gt; d &amp;&amp; (d += 360), b.clientX = d) : b.clientX = b.plotX\n\t\t};\n\t\th.spline &amp;&amp; t(h.spline.prototype, \"getPointSpline\", function(b, a, d, p) {\n\t\t\tvar e, c, f, l, m, g, h;\n\t\t\tthis.chart.polar ? (e = d.plotX, c = d.plotY, b = a[p - 1], f = a[p + 1], this.connectEnds &amp;&amp; (b || (b = a[a.length - 2]), f || (f = a[1])), b &amp;&amp; f &amp;&amp;\n\t\t\t\t(l = b.plotX, m = b.plotY, a = f.plotX, g = f.plotY, l = (1.5 * e + l) / 2.5, m = (1.5 * c + m) / 2.5, f = (1.5 * e + a) / 2.5, h = (1.5 * c + g) / 2.5, a = Math.sqrt(Math.pow(l - e, 2) + Math.pow(m - c, 2)), g = Math.sqrt(Math.pow(f - e, 2) + Math.pow(h - c, 2)), l = Math.atan2(m - c, l - e), m = Math.atan2(h - c, f - e), h = Math.PI / 2 + (l + m) / 2, Math.abs(l - h) &gt; Math.PI / 2 &amp;&amp; (h -= Math.PI), l = e + Math.cos(h) * a, m = c + Math.sin(h) * a, f = e + Math.cos(Math.PI + h) * g, h = c + Math.sin(Math.PI + h) * g, d.rightContX = f, d.rightContY = h), p ? (d = [\"C\", b.rightContX || b.plotX, b.rightContY || b.plotY, l || e, m || c, e, c], b.rightContX = b.rightContY =\n\t\t\t\t\tnull) : d = [\"M\", e, c]) : d = b.call(this, a, d, p);\n\t\t\treturn d\n\t\t});\n\t\tt(d, \"translate\", function(b) {\n\t\t\tvar a = this.chart;\n\t\t\tb.call(this);\n\t\t\tif (a.polar &amp;&amp; (this.kdByAngle = a.tooltip &amp;&amp; a.tooltip.shared, !this.preventPostTranslate))\n\t\t\t\tfor (b = this.points, a = b.length; a--;) this.toXY(b[a])\n\t\t});\n\t\tt(d, \"getGraphPath\", function(b, a) {\n\t\t\tvar e = this,\n\t\t\t\td, h;\n\t\t\tif (this.chart.polar) {\n\t\t\t\ta = a || this.points;\n\t\t\t\tfor (d = 0; d &lt; a.length; d++)\n\t\t\t\t\tif (!a[d].isNull) {\n\t\t\t\t\t\th = d;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}!1 !== this.options.connectEnds &amp;&amp; void 0 !== h &amp;&amp; (this.connectEnds = !0, a.splice(a.length, 0, a[h]));\n\t\t\t\tu(a, function(a) {\n\t\t\t\t\tvoid 0 === a.polarPlotY &amp;&amp;\n\t\t\t\t\t\te.toXY(a)\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn b.apply(this, [].slice.call(arguments, 1))\n\t\t});\n\t\tt(d, \"animate\", q);\n\t\th.column &amp;&amp; (h = h.column.prototype, h.polarArc = function(a, e, d, h) {\n\t\t\tvar b = this.xAxis.center,\n\t\t\t\tc = this.yAxis.len;\n\t\t\treturn this.chart.renderer.symbols.arc(b[0], b[1], c - e, null, {\n\t\t\t\tstart: d,\n\t\t\t\tend: h,\n\t\t\t\tinnerR: c - v(a, c)\n\t\t\t})\n\t\t}, t(h, \"animate\", q), t(h, \"translate\", function(a) {\n\t\t\tvar b = this.xAxis,\n\t\t\t\td = b.startAngleRad,\n\t\t\t\th, n, c;\n\t\t\tthis.preventPostTranslate = !0;\n\t\t\ta.call(this);\n\t\t\tif (b.isRadial)\n\t\t\t\tfor (h = this.points, c = h.length; c--;) n = h[c], a = n.barX + d, n.shapeType = \"path\", n.shapeArgs = {\n\t\t\t\t\td: this.polarArc(n.yBottom,\n\t\t\t\t\t\tn.plotY, a, a + n.pointWidth)\n\t\t\t\t}, this.toXY(n), n.tooltipPos = [n.plotX, n.plotY], n.ttBelow = n.plotY &gt; b.center[1]\n\t\t}), t(h, \"alignDataLabel\", function(a, e, f, h, n, c) {\n\t\t\tthis.chart.polar ? (a = e.rectPlotX / Math.PI * 180, null === h.align &amp;&amp; (h.align = 20 &lt; a &amp;&amp; 160 &gt; a ? \"left\" : 200 &lt; a &amp;&amp; 340 &gt; a ? \"right\" : \"center\"), null === h.verticalAlign &amp;&amp; (h.verticalAlign = 45 &gt; a || 315 &lt; a ? \"bottom\" : 135 &lt; a &amp;&amp; 225 &gt; a ? \"top\" : \"middle\"), d.alignDataLabel.call(this, e, f, h, n, c)) : a.call(this, e, f, h, n, c)\n\t\t}));\n\t\tt(a, \"getCoordinates\", function(a, e) {\n\t\t\tvar b = this.chart,\n\t\t\t\td = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\tb.polar ?\n\t\t\t\tu(b.axes, function(a) {\n\t\t\t\t\tvar c = a.isXAxis,\n\t\t\t\t\t\tf = a.center,\n\t\t\t\t\t\th = e.chartX - f[0] - b.plotLeft,\n\t\t\t\t\t\tf = e.chartY - f[1] - b.plotTop;\n\t\t\t\t\td[c ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: a,\n\t\t\t\t\t\tvalue: a.translate(c ? Math.PI - Math.atan2(h, f) : Math.sqrt(Math.pow(h, 2) + Math.pow(f, 2)), !0)\n\t\t\t\t\t})\n\t\t\t\t}) : d = a.call(this, e);\n\t\t\treturn d\n\t\t})\n\t})(w)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3793058bdbd53200f687dfea5e9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE highcharts-more&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_3793058bdbd53200f687dfea5e9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:26&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>a7efc9a013da3e00de8cb5b12244b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE highcharts-more</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEHighchartsHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEHighchartsHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEHighchartsHelper = Class.create();\nPEHighchartsHelper.prototype = {\n\tinitialize: function(request, response) {\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.json = new JSON();\n\t\tthis.error = new sn_ws_err.ServiceError();\n\t\tthis.script_include = this.getParamAsString(\"script_include\");\n\t\tthis.function_name = this.getParamAsString(\"function_name\") || \"process\";\n\t\tthis.param1 = this.getParamAsString(\"param1\");\n\t\tthis.options = this.decode(this.getParamAsString(\"options\"));\n\t},\n\tprocess: function() {\n\t\tvar scope = this;\n\t\tif (scope.script_include &amp;&amp; scope.function_name) {\n\t\t\tvar scriptInc = new global[scope.script_include]();\n\t\t\tif (scriptInc) {\n\t\t\t\tif (scriptInc[scope.function_name]) {\n\t\t\t\t\treturn scriptInc[scope.function_name](scope.param1, scope.options);\n\t\t\t\t}\n\t\t\t\treturn scope.getError(400, \"Invalid function_name has been sent\", scope.function_name + \" is not valid, verify that this function exist\");\n\t\t\t}\n\t\t}\n\t\treturn scope.getError(400, \"Invalid Script Include has been sent\", scope.script_include + \" is not valid, verify that this Script Include exist\");\n\t},\n\tgetError: function(status, message, details) {\n\t\tvar scope = this;\n\t\tscope.error.setStatus(status);\n\t\tscope.error.setMessage(message);\n\t\tscope.error.setDetail(details);\n\t\treturn scope.error;\n\t},\n\tgetDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 2\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 3\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}, {\n\t\t\t\"name\": \"Random Data 4\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetPieDemoData: function() {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 8\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 9\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 10\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 11\", scope.randNumber(1, 100)],\n\t\t\t\t[\"Data Point 12\", scope.randNumber(1, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\tgetGaugeDemoData: function(radius) {\n\t\tradius = this.decode(radius);\n\t\tvar scope = this;\n\t\tvar dataSeries = [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [{\n\t\t\t\tname: \"Data Point 1\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 2\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 3\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 4\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 5\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 6\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 7\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 8\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 9\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 10\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 11\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}, {\n\t\t\t\tname: \"Data Point 12\",\n\t\t\t\ty: scope.randNumber(1, 100)\n\t\t\t}]\n\t\t}];\n\t\tdataSeries.forEach(function(currentSeries) {\n\t\t\tcurrentSeries.data.map(function(data, index, dataArray) {\n\t\t\t\tvar width = (radius.outer - radius.inner) / dataArray.length;\n\t\t\t\tdata.innerRadius = index * width + radius.inner;\n\t\t\t\tdata.radius = ((index + 1) == dataArray.length) ? radius.outer : ((index + 1) * width + radius.inner) - 1;\n\t\t\t});\n\t\t});\n\t\treturn dataSeries;\n\t},\n\tencode: function(jsonObject) {\n\t\treturn this.json.encode(jsonObject);\n\t},\n\tdecode: function(jsonString) {\n\t\treturn this.json.decode(jsonString);\n\t},\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tlog: function(message) {\n\t\tgs.log(message, \"PEHighchartsHelper\");\n\t},\n\tlogObject: function(objectMessage) {\n\t\tthis.log(\"\\n\" + this.objectToString(objectMessage));\n\t},\n\tobjectToString: function(objectMessage, tabs) {\n\t\ttabs = tabs || \"\";\n\t\tvar scope = this;\n\t\tvar message = \"{\\n\";\n\t\tvar keyArray = Object.keys(objectMessage);\n\t\tfor (var i = 0; i != keyArray.length; i++) {\n\t\t\tvar key = keyArray[i];\n\t\t\tvar value = objectMessage[key];\n\t\t\tvar valueType = typeof value;\n\t\t\tmessage += tabs + \"\\t\\\"\" + key + \"\\\":\";\n\t\t\tif (valueType == \"object\") {\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tmessage += scope.objectToString(value, (tabs + \"\\t\"));\n\t\t\t\t} else {\n\t\t\t\t\tmessage += \"[\";\n\t\t\t\t\tfor (var x = 0; x != value.length; x++) {\n\t\t\t\t\t\tif (typeof value[x] != \"object\") {\n\t\t\t\t\t\t\tmessage += value[x];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmessage += \"\\n\\t\\t\" + tabs + scope.objectToString(value[x], (tabs + \"\\t\\t\"));\n\t\t\t\t\t\t\tif (x == (value.length - 1)) {\n\t\t\t\t\t\t\t\tmessage += \"\\n\\t\" + tabs;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (x != (value.length - 1)) {\n\t\t\t\t\t\t\tmessage += \",\\n\" + (tabs + \"\\t\\t\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tmessage += \"]\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmessage += \"\\\"\" + value.toString() + \"\\\"\";\n\t\t\t}\n\t\t\tif (i != (keyArray.length - 1)) {\n\t\t\t\tmessage += \",\\n\";\n\t\t\t}\n\t\t}\n\t\treturn message + \"\\n\" + tabs + \"}\";\n\t},\n\tgetParamAsString: function(paramName) {\n\t\tif (this.request.queryParams.hasOwnProperty(paramName)) {\n\t\t\treturn this.request.queryParams[paramName] + '';\n\t\t}\n\t\treturn false;\n\t},\n\ttype: 'PEHighchartsHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 23:43:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEHighchartsHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_a1bb59c3db9932002e5df2b6ae9619e4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:10:05&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>abefc9a013da3e00de8cb5b12244b0a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PEHighchartsHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts Export</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 22:02:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9084cd07db5932002e5df2b6ae9619f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts Export</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts Export\">85b3854bdbd53200f687dfea5e9619ab</sys_ui_script><sys_update_name>sp_js_include_9084cd07db5932002e5df2b6ae9619f0</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 22:02:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>afefc9a013da3e00de8cb5b12244b0a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>process</example_value><name>function</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:27:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bdbc160bdbd932002e5df2b6ae961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>function</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_bdbc160bdbd932002e5df2b6ae961962</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:27:50</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>afefc9a013da3e00de8cb5b12244b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>function</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_de27bc60139a3e00de8cb5b12244b0a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE HighchartsNG\">c722c9c3db5932002e5df2b6ae96193b</sp_dependency><sp_js_include display_value=\"PE highcharts-ng\">b3244d07db5932002e5df2b6ae96197e</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 19:41:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>de27bc60139a3e00de8cb5b12244b0a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG.PE highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_de27bc60139a3e00de8cb5b12244b0a3</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 19:41:56</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>d3efc9a013da3e00de8cb5b12244b0a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG.PE highcharts-ng</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_4532e59bdb9532002e5df2b6ae96199f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Highcharts 5.0.5 Solid Gauge\">4512e95bdb9532002e5df2b6ae96194f</sp_dependency><sp_js_include display_value=\"PE Highcharts 5_0_5\">6043c507db5932002e5df2b6ae96196c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:29</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4532e59bdb9532002e5df2b6ae96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts 5_0_5</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_4532e59bdb9532002e5df2b6ae96199f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:50:29</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>d7efc9a013da3e00de8cb5b12244b0a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5 Solid Gauge.PE Highcharts 5_0_5</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>e3efc9a013da3e00de8cb5b12244b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_58cfc05413defa00de8cb5b12244b0fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function peCSMDashboard(spUtil) {\n    /* widget controller */\n    var c = this;\n\n\n    spUtil.get('solid-gauge-arc', {\n        options: {\n            advance: JSON.stringify({\n\n                \"options\": {\n                    \"chart\": {\n                        \"width\": \"200\",\n                        \"height\": \"200\"\n                    },\n                    \"exporting\": {\n                        \"enabled\": false\n                    },\n                    \"pane\": {\n                        \"startAngle\": -90,\n                        \"endAngle\": 90,\n                        \"background\": {\n                            \"shape\": \"arc\"\n                        }\n                    },\n                    \"yAxis\": {\n                        \"softMin\": 0,\n                        \"softMax\": 100,\n                        \"title\": {\n                            \"enabled\": false\n                        }\n                    },\n                    \"plotOptions\": {\n                        \"solidgauge\": {\n                            \"dataLabels\": {\n                                \"enabled\": false\n                            }\n                        }\n\n                    }\n                },\n                \"title\": {\n                    \"text\": null\n                }\n\n\n            })\n\n\n        }\n    }).then(function(response) {\n        c.data.embedded_widget = response;\n    });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;  .dashboard-item {\n      position: relative;\n      background-color: #ffffff;\n      border: solid 1px #e4e5e6;\n      padding: 15px 10px;\n      margin-top: 17px;\n      overflow: hidden;\n      .gauge-wrapper {\n          position: absolute;\n          margin-top: -5px;\n      }\n      .revenue {\n          position: absolute;\n          top: 15px;\n          right: 10px;\n          font-size: 10px;\n          font-weight: 600;\n          color: #2e2e2e;\n      }\n      .title {\n          font-size: 18px;\n          font-weight: 500;\n          color: #2e2e2e\n      }\n      .stats {\n          padding-left: 130px;\n      }\n      .status {\n          text-transform: uppercase;\n      }\n      .stats-wrapper {\n          display: flex;\n          .stats {\n              flex-grow: 1;\n              display: flex;\n              .col {\n                  flex-grow: 1;\n                  flex-basis: 0;\n                  text-align: center;\n                  justify-content: flex-end;\n                  display: flex;\n                  flex-direction: column;\n              }\n              .big-number {\n                  font-size: 34px;\n              }\n              .status {\n                  font-size: 12px;\n                  font-weight: 500;\n                  color: #b4b2b3;\n              }\n              .critical {\n                  color: #e51b24;\n              }\n              .closed {\n                  color: #2e2e2e;\n              }\n              .open {\n                  color: #70be5a;\n              }\n          }\n      }\n  }\n  \n  .dashboard-item-extend {\n      background-color: #ffffff;\n      border: solid 1px #e4e5e6;\n      border-top: none;\n      padding-top: 15px;\n  }&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-csm-dashboard-expandable&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Dashboard Expandable&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-18 22:11:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;58cfc05413defa00de8cb5b12244b0fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;23&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Dashboard Expandable&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_58cfc05413defa00de8cb5b12244b0fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 20:06:08&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"dashboard-item\" ng-click=\"c.client['1'] = !c.client['1'];\"&gt;\n    &lt;div class=\"title\"&gt;Austin Edison&lt;/div&gt;\n    &lt;div class=\"stats-wrapper\"&gt;\n        &lt;div class=\"gauge-wrapper\"&gt;\n            &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n        &lt;div class=\"stats critical\"&gt;\n            &lt;div class=\"col\"&gt;\n                &lt;div class=\"big-number critical\"&gt;1&lt;/div&gt;\n                &lt;div class=\"status\"&gt;Critical&lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col open\"&gt;\n                &lt;div class=\"big-number\"&gt;1&lt;/div&gt;\n                &lt;div class=\"status\"&gt;Open&lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col closed\"&gt;\n                &lt;div class=\"big-number\"&gt;2&lt;/div&gt;\n                &lt;div class=\"status\"&gt;Closed&lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"revenue\"&gt;\n        $2M Revenue\n    &lt;/div&gt;\n&lt;/div&gt;\n&lt;div class=\"dashboard-item-extend text-center\" ng-show=\"c.client['1']\"&gt;\n    &lt;p&gt;Include Widget Here&lt;/p&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>e7efc9a013da3e00de8cb5b12244b0a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE CSM Dashboard Expandable</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7532299bdb9532002e5df2b6ae96197a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Highcharts-Solid-Gauge</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 18:50:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7532299bdb9532002e5df2b6ae96197a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts-Solid-Gauge</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Highcharts-Solid-Gauge\">0a70295bdb9532002e5df2b6ae96192a</sys_ui_script><sys_update_name>sp_js_include_7532299bdb9532002e5df2b6ae96197a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 18:50:46</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>ebefc9a013da3e00de8cb5b12244b0a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts-Solid-Gauge</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_query_parameter\"><sys_ws_query_parameter action=\"INSERT_OR_UPDATE\"><example_value>HighchartsHelper</example_value><name>script_include</name><required>false</required><short_description/><sys_class_name>sys_ws_query_parameter</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-09 04:28:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9acc160bdbd932002e5df2b6ae9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>script_include</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_query_parameter_9acc160bdbd932002e5df2b6ae9619f8</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-09 04:28:12</sys_updated_on><web_service_definition display_value=\"PE Highcharts Helper\">226c520bdbd932002e5df2b6ae961978</web_service_definition></sys_ws_query_parameter></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>ebefc9a013da3e00de8cb5b12244b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>script_include</target_name>\n<type>Scripted REST Query Parameter</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-highcharts-ng</module><name>PE HighchartsNG</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-03-08 21:52:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c722c9c3db5932002e5df2b6ae96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE HighchartsNG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c722c9c3db5932002e5df2b6ae96193b</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-03-08 21:52:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>efefc9a013da3e00de8cb5b12244b0a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE HighchartsNG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Expandable\">93efc5a013da3e00de8cb5b12244b0fd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 21:30:09</sys_created_on>\n<sys_id>efefc9a013da3e00de8cb5b12244b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 21:30:09</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-dashboard-expandable/widget/pe-csm-dashboard-expandable.u-body-html-template.html",
    "content": "<div class=\"dashboard-item\" ng-click=\"c.client['1'] = !c.client['1'];\">\r\n    <div class=\"title\">Austin Edison</div>\r\n    <div class=\"stats-wrapper\">\r\n        <div class=\"gauge-wrapper\">\r\n            <sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\r\n        </div>\r\n        <div class=\"stats critical\">\r\n            <div class=\"col\">\r\n                <div class=\"big-number critical\">1</div>\r\n                <div class=\"status\">Critical</div>\r\n            </div>\r\n            <div class=\"col open\">\r\n                <div class=\"big-number\">1</div>\r\n                <div class=\"status\">Open</div>\r\n            </div>\r\n            <div class=\"col closed\">\r\n                <div class=\"big-number\">2</div>\r\n                <div class=\"status\">Closed</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"revenue\">\r\n        $2M Revenue\r\n    </div>\r\n</div>\r\n<div class=\"dashboard-item-extend text-center\" ng-show=\"c.client['1']\">\r\n    <p>Include Widget Here</p>\r\n</div>"
  },
  {
    "path": "pe-csm-dashboard-expandable/widget/pe-csm-dashboard-expandable.u-client-script.js",
    "content": "function peCSMDashboard(spUtil) {\r\n    var c = this;\r\n\r\n    spUtil.get('solid-gauge-arc', {\r\n        options: {\r\n            advance: JSON.stringify({\r\n\r\n                \"options\": {\r\n                    \"chart\": {\r\n                        \"width\": \"200\",\r\n                        \"height\": \"150\"\r\n                    },\r\n                    \"exporting\": {\r\n                        \"enabled\": false\r\n                    },\r\n                    \"pane\": {\r\n                        \"startAngle\": -90,\r\n                        \"endAngle\": 90,\r\n                        \"background\": {\r\n                            \"shape\": \"arc\"\r\n                        }\r\n                    },\r\n                    \"yAxis\": {\r\n                        \"softMin\": 0,\r\n                        \"softMax\": 100,\r\n                        \"title\": {\r\n                            \"enabled\": false\r\n                        }\r\n                    },\r\n                    \"plotOptions\": {\r\n                        \"solidgauge\": {\r\n                            \"dataLabels\": {\r\n                                \"enabled\": false\r\n                            }\r\n                        }\r\n\r\n                    }\r\n                },\r\n                \"title\": {\r\n                    \"text\": null\r\n                }\r\n\r\n\r\n            })\r\n\r\n\r\n        }\r\n    }).then(function(response) {\r\n        c.data.embedded_widget = response;\r\n    });\r\n}"
  },
  {
    "path": "pe-csm-dashboard-expandable/widget/pe-csm-dashboard-expandable.u-css.scss",
    "content": "  .dashboard-item {\n      position: relative;\n      background-color: #ffffff;\n      border: solid 1px #e4e5e6;\n      padding: 15px 10px;\n      margin-top: 17px;\n      overflow: hidden;\n      .gauge-wrapper {\n          position: absolute;\n          margin-top: -5px;\n      }\n      .revenue {\n          position: absolute;\n          top: 15px;\n          right: 10px;\n          font-size: 10px;\n          font-weight: 600;\n          color: #2e2e2e;\n      }\n      .title {\n          font-size: 18px;\n          font-weight: 500;\n          color: #2e2e2e\n      }\n      .stats {\n          padding-left: 130px;\n      }\n      .status {\n          text-transform: uppercase;\n      }\n      .stats-wrapper {\n          display: flex;\n          .stats {\n              flex-grow: 1;\n              display: flex;\n              .col {\n                  flex-grow: 1;\n                  flex-basis: 0;\n                  text-align: center;\n                  justify-content: flex-end;\n                  display: flex;\n                  flex-direction: column;\n              }\n              .big-number {\n                  font-size: 34px;\n              }\n              .status {\n                  font-size: 12px;\n                  font-weight: 500;\n                  color: #b4b2b3;\n              }\n              .critical {\n                  color: #e51b24;\n              }\n              .closed {\n                  color: #2e2e2e;\n              }\n              .open {\n                  color: #70be5a;\n              }\n          }\n      }\n  }\n  \n  .dashboard-item-extend {\n      background-color: #ffffff;\n      border: solid 1px #e4e5e6;\n      border-top: none;\n      padding-top: 15px;\n  }"
  },
  {
    "path": "pe-csm-dashboard-expandable/widget/pe-csm-dashboard-expandable.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-csm-dashboard-tabs/Readme.md",
    "content": "# PE CSM Dashboard Tabs\n\n## Description\n\nThis widget can be used to create a simple tabbed menu.\n\n## Screenshots\n![alt text](../images/pe-csm-dashboard-tabs.png \"PE CSM Dashboard\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-csm-dashboard-tabs.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-dashboard-tabs/pe-csm-dashboard-tabs.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"First Tab Title\"** Title for first tab.<br/>\n**\"First Tab Icon\"** Icon for first tab.<br/>\n**\"Second Tab Title\"** Title for second tab.<br/>\n**\"Second Tab Icon\"** Icon for second tab.<br/>\n**\"Third Tab Title\"** Title for third tab.<br/>\n**\"Third Tab Icon\"** Icon for third tab.<br/>\n\n> For each **ICON** parameter, use the [fontawesome.io](http://fontawesome.io/cheatsheet/) classes.\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-dashboard-tabs/pe-csm-dashboard-tabs.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-06 18:41:12\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Dashboard Tabs</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>fb007bff134336006749bccf3244b0bb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 18:41:12</sys_created_on>\n<sys_id>b4957fb3138336006749bccf3244b033</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 18:41:12</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_9615a89413123e00de8cb5b12244b01e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DashboardTabsController() {\n  var c = this;\n  c.state = 1;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.sla {\n    position: relative;\n    padding: 0 15px;\n    .chart-wrapper {\n        padding-right: 80px;\n        .title {\n            margin-top: 15px;\n            margin-bottom: 15px;\n            font-size: 14px;\n            font-weight: 500;\n        }\n        .chart {\n            margin-top: 10px;\n            overflow: hidden;\n        }\n    }\n    .hours {\n        position: absolute;\n        right: 0;\n        top: -18px;\n        width: 80px;\n        text-align: center;\n        font-size: 12px;\n        color: #b4b2b3;\n        .big-number {\n            font-size: 34px;\n            color: #2e2e2e;\n        }\n        .small {\n            font-size: 10px;\n        }\n    }\n}\n\n.tabs-wrapper {\n    margin: 0 -1px;\n}\n\n.tabs {\n    margin-top: 20px;\n    display: flex;\n    border: solid 1px #e4e5e6;\n    border-bottom: none;\n    font-size: 12px;\n    font-weight: 500;\n    color: #b4b2b3;\n    .tab {\n        text-transform: uppercase;\n        display: flex;\n        flex-grow: 1;\n        flex-basis: 0;\n        align-items: center;\n        justify-content: flex-start;\n        padding: 15px;\n        text-align: center;\n        border-right: 1px solid #e4e5e6;\n        border-bottom: 1px solid #e4e5e6;\n        background-color: #fbfbfb;\n        flex-direction: column;\n        svg {\n            width: 24px;\n            height: 24px;\n            fill: #65666a;\n        }\n        &amp;amp;.active {\n            background-color: white;\n            border-bottom: none;\n            padding-bottom: 16px;\n            color: #717171;\n            svg {\n                fill: #B4B2B3;\n            }\n        }\n    }\n    .tab:last-of-type {\n        border-right: none;\n    }\n}\n\n.tabs-content {\n    border: solid 1px #e4e5e6;\n    border-top: none;\n    border-bottom: solid 1px #e4e5e6;\n    .tab-content {\n        padding: 0 15px;\n    }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-dashboard-tab&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Dashboard Tabs&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"first_tab_title\",\"default_value\":\"First Tab Text\",\"label\":\"First Tab Title\",\"type\":\"string\"},{\"name\":\"first_tab_icon\",\"default_value\":\"fa-desktop\",\"label\":\"First Tab Icon\",\"type\":\"string\"},{\"name\":\"second_tab_title\",\"default_value\":\"Second Tab Text\",\"label\":\"Second Tab Title\",\"type\":\"string\"},{\"name\":\"second_tab_icon\",\"default_value\":\"fa-bank\",\"label\":\"Second Tab Icon\",\"type\":\"string\"},{\"name\":\"third_tab_title\",\"default_value\":\"Third Tab Text\",\"label\":\"Third Tab Title\",\"type\":\"string\"},{\"name\":\"third_tab_icon\",\"default_value\":\"fa-file\",\"label\":\"Third Tab Icon\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-18 23:45:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9615a89413123e00de8cb5b12244b01e&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Dashboard Tabs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_9615a89413123e00de8cb5b12244b01e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 18:34:23&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"extended-wrapper\"&gt;\n    &lt;div class=\"tabs-wrapper\"&gt;\n        &lt;div class=\"tabs\"&gt;\n            &lt;div class=\"tab\" ng-class=\"{'active':c.state == 1}\" ng-click=\"c.state=1;\"&gt;\n                &lt;div&gt;\n                    &lt;i class=\"fa fa-2x\" ng-class=\"c.options.first_tab_icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                &lt;/div&gt;\n                {{::c.options.first_tab_title}}\n            &lt;/div&gt;\n            &lt;div class=\"tab\" ng-class=\"{'active':c.state == 2}\" ng-click=\"c.state=2;\"&gt;\n                &lt;div&gt;\n                    &lt;i class=\"fa fa-2x\" ng-class=\"c.options.second_tab_icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                &lt;/div&gt;\n                {{::c.options.second_tab_title}}\n            &lt;/div&gt;\n            &lt;div class=\"tab\" ng-class=\"{'active':c.state == 3}\" ng-click=\"c.state=3;\"&gt;\n                &lt;div&gt;\n                    &lt;i class=\"fa fa-2x\" ng-class=\"c.options.third_tab_icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                &lt;/div&gt;\n                {{::c.options.third_tab_title}}\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"tabs-content\"&gt;\n            &lt;div class=\"tab-content text-center\" ng-show=\"c.state == 1;\"&gt;\n                &lt;p&gt;Include Tab Content Here&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"tab-content text-center\" ng-show=\"c.state == 2;\"&gt;\n                &lt;p&gt;Include Tab Content Here&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"tab-content text-center\" ng-show=\"c.state == 3;\"&gt;\n                &lt;p&gt;Include Tab Content Here&lt;/p&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Dashboard Tabs\">b4957fb3138336006749bccf3244b033</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 18:41:12</sys_created_on>\n<sys_id>78957fb3138336006749bccf3244b033</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 18:41:12</sys_updated_on>\n<table/>\n<target_name>PE CSM Dashboard Tabs</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-dashboard-tabs/widget/pe-csm-dashboard-tabs.u-body-html-template.html",
    "content": "<div class=\"extended-wrapper\">\r\n    <div class=\"tabs-wrapper\">\r\n        <div class=\"tabs\">\r\n            <div class=\"tab\" ng-class=\"{'active':c.state == 1}\" ng-click=\"c.state=1;\">\r\n                <div>\r\n                    <i class=\"fa fa-2x\" ng-class=\"c.options.first_tab_icon\" aria-hidden=\"true\"></i>\r\n                </div>\r\n                {{::c.options.first_tab_title}}\r\n            </div>\r\n            <div class=\"tab\" ng-class=\"{'active':c.state == 2}\" ng-click=\"c.state=2;\">\r\n                <div>\r\n                    <i class=\"fa fa-2x\" ng-class=\"c.options.second_tab_icon\" aria-hidden=\"true\"></i>\r\n                </div>\r\n                {{::c.options.second_tab_title}}\r\n            </div>\r\n            <div class=\"tab\" ng-class=\"{'active':c.state == 3}\" ng-click=\"c.state=3;\">\r\n                <div>\r\n                    <i class=\"fa fa-2x\" ng-class=\"c.options.third_tab_icon\" aria-hidden=\"true\"></i>\r\n                </div>\r\n                {{::c.options.third_tab_title}}\r\n            </div>\r\n        </div>\r\n        <div class=\"tabs-content\">\r\n            <div class=\"tab-content text-center\" ng-show=\"c.state == 1;\">\r\n                <p>Include Tab Content Here</p>\r\n            </div>\r\n            <div class=\"tab-content text-center\" ng-show=\"c.state == 2;\">\r\n                <p>Include Tab Content Here</p>\r\n            </div>\r\n            <div class=\"tab-content text-center\" ng-show=\"c.state == 3;\">\r\n                <p>Include Tab Content Here</p>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n</div>"
  },
  {
    "path": "pe-csm-dashboard-tabs/widget/pe-csm-dashboard-tabs.u-client-script.js",
    "content": "function DashboardTabsController() {\n  var c = this;\n  c.state = 1;\n}"
  },
  {
    "path": "pe-csm-dashboard-tabs/widget/pe-csm-dashboard-tabs.u-css.scss",
    "content": ".sla {\n    position: relative;\n    padding: 0 15px;\n    .chart-wrapper {\n        padding-right: 80px;\n        .title {\n            margin-top: 15px;\n            margin-bottom: 15px;\n            font-size: 14px;\n            font-weight: 500;\n        }\n        .chart {\n            margin-top: 10px;\n            overflow: hidden;\n        }\n    }\n    .hours {\n        position: absolute;\n        right: 0;\n        top: -18px;\n        width: 80px;\n        text-align: center;\n        font-size: 12px;\n        color: #b4b2b3;\n        .big-number {\n            font-size: 34px;\n            color: #2e2e2e;\n        }\n        .small {\n            font-size: 10px;\n        }\n    }\n}\n\n.tabs-wrapper {\n    margin: 0 -1px;\n}\n\n.tabs {\n    margin-top: 20px;\n    display: flex;\n    border: solid 1px #e4e5e6;\n    border-bottom: none;\n    font-size: 12px;\n    font-weight: 500;\n    color: #b4b2b3;\n    .tab {\n        text-transform: uppercase;\n        display: flex;\n        flex-grow: 1;\n        flex-basis: 0;\n        align-items: center;\n        justify-content: flex-start;\n        padding: 15px;\n        text-align: center;\n        border-right: 1px solid #e4e5e6;\n        border-bottom: 1px solid #e4e5e6;\n        background-color: #fbfbfb;\n        flex-direction: column;\n        svg {\n            width: 24px;\n            height: 24px;\n            fill: #65666a;\n        }\n        &.active {\n            background-color: white;\n            border-bottom: none;\n            padding-bottom: 16px;\n            color: #717171;\n            svg {\n                fill: #B4B2B3;\n            }\n        }\n    }\n    .tab:last-of-type {\n        border-right: none;\n    }\n}\n\n.tabs-content {\n    border: solid 1px #e4e5e6;\n    border-top: none;\n    border-bottom: solid 1px #e4e5e6;\n    .tab-content {\n        padding: 0 15px;\n    }\n}"
  },
  {
    "path": "pe-csm-dashboard-tabs/widget/pe-csm-dashboard-tabs.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-csm-hotfix-date/Readme.md",
    "content": "# PE CSM Hot Fix Dates\n\n## Description\n\nThis widget can be used to display important dates.\n\n## Screenshots\n![alt text](../images/pe-csm-hotfix-dates.png \"PE CSM hot fix dates\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-csm-hotfix-dates.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-hotfix-date/pe-csm-hotfix-dates.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-hotfix-date/pe-csm-hotfix-dates.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-19 22:27:04\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Hotfix Dates</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>8165391c13d23e00de8cb5b12244b06c</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 22:27:04</sys_created_on>\n<sys_id>15fcd5e413da3e00de8cb5b12244b0f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 22:27:04</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_8bf6755c13d23e00de8cb5b12244b071</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function HotfixDatesController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.large-text {\n    font-size: 18px;\n    font-weight: 300;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-csm-hotfix-dates&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Hotfix Dates&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 05:42:40&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;8bf6755c13d23e00de8cb5b12244b071&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Hotfix Dates&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_8bf6755c13d23e00de8cb5b12244b071&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 05:44:15&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;section&gt;\n        &lt;h3&gt;Important Dates&lt;/h3&gt;\n        &lt;div class=\"large-text\"&gt;\n            &lt;div class=\"clearfix\"&gt;\n                &lt;div class=\"pull-left\"&gt;Start Date&lt;/div&gt;\n                &lt;div class=\"pull-right\"&gt;01-16-2016&lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"clearfix\"&gt;\n                &lt;div class=\"pull-left\"&gt;Release Date&lt;/div&gt;\n                &lt;div class=\"pull-right\"&gt;02-16-2016&lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/section&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Hotfix Dates\">15fcd5e413da3e00de8cb5b12244b0f5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 22:27:04</sys_created_on>\n<sys_id>d9fcd56813da3e00de8cb5b12244b0bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 22:27:04</sys_updated_on>\n<table/>\n<target_name>PE CSM Hotfix Dates</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-hotfix-date/widget/pe-csm-hotfix-dates.u-body-html-template.html",
    "content": "<div>\r\n    <section>\r\n        <h3>Important Dates</h3>\r\n        <div class=\"large-text\">\r\n            <div class=\"clearfix\">\r\n                <div class=\"pull-left\">Start Date</div>\r\n                <div class=\"pull-right\">01-16-2016</div>\r\n            </div>\r\n            <div class=\"clearfix\">\r\n                <div class=\"pull-left\">Release Date</div>\r\n                <div class=\"pull-right\">02-16-2016</div>\r\n            </div>\r\n        </div>\r\n    </section>\r\n</div>"
  },
  {
    "path": "pe-csm-hotfix-date/widget/pe-csm-hotfix-dates.u-client-script.js",
    "content": "function HotfixDatesController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-csm-hotfix-date/widget/pe-csm-hotfix-dates.u-css.scss",
    "content": ".large-text {\n    font-size: 18px;\n    font-weight: 300;\n}"
  },
  {
    "path": "pe-csm-hotfix-date/widget/pe-csm-hotfix-dates.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-csm-location/Readme.md",
    "content": "# PE CSM Location\n\n## Description\n\nThis widget displays static map image.\n\n## Screenshots\n![alt text](../images/pe-csm-location.png \"PE CSM Location\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-csm-location.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-location/pe-csm-location.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-location/pe-csm-location.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-06 18:26:38\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Location</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>250725f313727200890b3092e144b034</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 18:26:38</sys_created_on>\n<sys_id>833277bb138bf600d0cf3192e144b0b3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 18:26:38</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_fb690aff1342fa00de8cb5b12244b020</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CsmLocationController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.location-wrapper {\n  display: flex;\n  color: #2e2e2e;\n  &amp;gt;div {\n    flex-grow: 1;\n    flex-basis: 0;\n  }\n  .map {\n    display: flex;\n    .img-responsive {\n      margin: 0 auto;\n    }\n  }\n  .status-wrapper {\n    display: flex;\n    flex-direction: column;\n    .status {\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      flex-grow: 1;\n      .value {\n        font-size: 42px;\n        font-weight: 300;\n        .big-number {\n          float: left;\n        }\n        .side-note {\n          margin-top: 15px;\n          margin-left: 5px;\n          float: left;\n          font-size: 10px;\n          color: #b4b2b3;\n        }\n        &amp;amp;.positive svg {\n          fill: #70be5a;\n        }\n        &amp;amp;.negative svg {\n          fill: #e51b24;\n        }\n      }\n      .description {\n        font-size: 12px;\n        font-weight: 500;\n        color: #b4b2b3;\n      }\n    }\n    svg {\n      width: 20px;\n      height: 13px;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-location&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Location&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-17 17:48:44&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;fb690aff1342fa00de8cb5b12244b020&lt;/sys_id&gt;&lt;sys_mod_count&gt;19&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Location&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_fb690aff1342fa00de8cb5b12244b020&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 18:26:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"arrow-up\"&gt;\n    &lt;polygon id=\"Triangle\" points=\"10 1.38555833e-14 20 13 0 13\"&gt;&lt;/polygon&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"arrow-down\"&gt;\n    &lt;polygon id=\"Triangle\" transform=\"translate(10.000000, 6.500000) rotate(180.000000) translate(-10.000000, -6.500000) \" points=\"10 1.38555833e-14 20 13 0 13\"&gt;&lt;/polygon&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"location-wrapper widget-wrapper\"&gt;\n  &lt;div class=\"status-wrapper\"&gt;\n    &lt;div class=\"status\"&gt;\n      &lt;div class=\"value\"&gt;\n        &lt;div class=\"big-number\"&gt;\n          1.2k\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"description\"&gt;AVERAGE COST PER CASE&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"status\"&gt;\n      &lt;div class=\"value negative\"&gt;\n        &lt;div class=\"big-number\"&gt;\n          4.5\n        &lt;/div&gt;\n        &lt;div class=\"side-note\"&gt;\n          HOURS\n          &lt;svg&gt;\n            &lt;use xlink:href='#arrow-down'&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"description\"&gt;AVG CASE RESOLUTION TIME\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"status\"&gt;\n      &lt;div class=\"value positive\"&gt;\n        &lt;div class=\"big-number\"&gt;\n          9.1\n        &lt;/div&gt;\n        &lt;div class=\"side-note\"&gt;\n          &lt;svg&gt;\n            &lt;use xlink:href='#arrow-up'&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"description\"&gt;CSAT&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"map\"&gt;&lt;img src=\"map.svg\" class=\"img-responsive\" /&gt;&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Location\">833277bb138bf600d0cf3192e144b0b3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 18:26:38</sys_created_on>\n<sys_id>4b3277bb138bf600d0cf3192e144b0b3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 18:26:38</sys_updated_on>\n<table/>\n<target_name>PE CSM Location</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_c4f056371382fa00de8cb5b12244b0a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category>general</category><format/><height/><image/><name>map.svg</name><size_bytes>2573</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-17 18:19:00</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c4f056371382fa00de8cb5b12244b0a3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>map.svg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_c4f056371382fa00de8cb5b12244b0a3</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-17 18:19:08</sys_updated_on><thumbnail/><width/></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>2573</size_bytes><size_compressed>1074</size_compressed><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-17 18:19:08</sys_created_on><sys_id>f90196371382fa00de8cb5b12244b0d6</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-17 18:19:08</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>c4f056371382fa00de8cb5b12244b0a3</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"f90196371382fa00de8cb5b12244b0d6\">f90196371382fa00de8cb5b12244b0d6</sys_attachment><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-17 18:19:08</sys_created_on><sys_id>f10196371382fa00de8cb5b12244b0d7</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>tVZNb+M2EL3vr1DVyy4g0fwYzpCB7QWym/aSRQu0vezNayu2EMcyZG2c/Ps+SXZiBbGBHqqDTT6OH9+8GVIef356WCePRb0rq80kNUqnSbGZV4tys5yk//z9Wx7Sz9MP493jMtmXi2aFmEDbpzRZFeVy1WAq3fSxLPbX1dMk1YlOEJIAT0+JTZpgq81ukq6aZns1Gu33e7V3qqqXI6u1HmGLQ8jV07rc3L8XaGKMo241nX5I8Ix/yfPk92JT1LOmqq+Sv+6LZr5KyCibfHTeRfmU5MkJ0Y9qVTyUs0OKal49jHb9b/L8QNmUzbqYPsy241E/7OFFsZtPv9TFrCkW8KJZHTZT41G3dIy6201bBF89skzKxST9c7Yscniwa+rqvpikm2pTHGf50dk0uSvX6+NiO87rn2tEF4/FplosDkmf0KJg+dfZbvWjmtWLNGnq2WZ3V9UPk7QbriH2Y244KN09WZI74sPk0wndCeWyrn5uc23PsNlXLmf9GaoTOvh4hsmQfqGy5gJTx7adwXHwffOkXHBOKGR5R2DYMlK0Nrk9WUPONkYxPia3XZglF623jgZLNqoYdfCGshhU9KIRMoCNgTYy0RrwOyVaRJuYGUvKR+cjJbcsykhk0HfRxhrWgAVqHAVnZQDHqKDQi8kMOcUC9W6AslaOLDFijbUKaGDA4qApBieAXVQUmPw51LW5WGaAAQE4Ca1kzSqKDjoOYIkK2bHuKMQrETjlMiQlLNGH2MMOJ5oyEsU2UjQttfeKwCeZYywHluB7yczese9h7UlaZm3AzGRNZkUFCMYuA/hSNd+ufU++IcXW0c50JOZsX4sTOHrFZGz0sNfAXhs0M2XCimzst2ervPHaxjMoyJzu84qoFTGc8WdQ51BBTc53JqBpAjvPGZEishY90zqGGHwE6uEgmttoeG2jdZm3irCsSXpQoEFLJlqRR96hr0TQRBKyAOdiAJkbwEbbdui74jujoIc1YEdK0BxGhjDjhxxibKPR0pGEUfwBrEV5VNHYrK04C6MThjBOckQmGkdEApo+oGVjpwSnSBgC2algTIjBDGAk7Cgezhkc8bbrzvdr+/14P/56Qzf+hlNctO21cObGmJf1fF10l9Afj7N1biT/Um2f8f3K4821xXuq2s7mZfOMt5fi/h5q0TleZwYND9FOB8wRwITmhncG6zWWLc5O25XSiul3PCOnWK/L7e49PfpFj43XX7Ue6JHYPd72elDndnN0U68naBTbCZoAelq9rA5nBPPnwRwCDxr+s0K65JjvFfLRMbQ+9AU+KDRO1P+v0Fzy8I3CgPunrSiZQ0216vano8LXovYKB0W+rPBs0/HFpusFhnC0ELesJ6v5YCEO5tFSNF13/UC9sZeabjxavnm/nwIvk24wbv99Tf8FRIvn3g0KAAA=</data><length>1420</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"f90196371382fa00de8cb5b12244b0d6\">f90196371382fa00de8cb5b12244b0d6</sys_attachment><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-17 18:19:08</sys_created_on><sys_id>750196371382fa00de8cb5b12244b0d7</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Location\">833277bb138bf600d0cf3192e144b0b3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-06 18:26:38</sys_created_on>\n<sys_id>873277bb138bf600d0cf3192e144b0b3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-06 18:26:38</sys_updated_on>\n<table/>\n<target_name>map.svg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-location/widget/pe-csm-location.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"arrow-up\">\n    <polygon id=\"Triangle\" points=\"10 1.38555833e-14 20 13 0 13\"></polygon>\n  </symbol>\n  <symbol id=\"arrow-down\">\n    <polygon id=\"Triangle\" transform=\"translate(10.000000, 6.500000) rotate(180.000000) translate(-10.000000, -6.500000)\" points=\"10 1.38555833e-14 20 13 0 13\"></polygon>\n  </symbol>\n</svg>\n<div class=\"location-wrapper widget-wrapper\">\n  <div class=\"status-wrapper\">\n    <div class=\"status\">\n      <div class=\"value\">\n        <div class=\"big-number\">\n          1.2k\n        </div>\n      </div>\n      <div class=\"description\">AVERAGE COST PER CASE</div>\n    </div>\n    <div class=\"status\">\n      <div class=\"value negative\">\n        <div class=\"big-number\">\n          4.5\n        </div>\n        <div class=\"side-note\">\n          HOURS\n          <svg>\n            <use xlink:href='#arrow-down'></use>\n          </svg>\n        </div>\n      </div>\n      <div class=\"description\">AVG CASE RESOLUTION TIME\n      </div>\n    </div>\n    <div class=\"status\">\n      <div class=\"value positive\">\n        <div class=\"big-number\">\n          9.1\n        </div>\n        <div class=\"side-note\">\n          <svg>\n            <use xlink:href='#arrow-up'></use>\n          </svg>\n        </div>\n      </div>\n      <div class=\"description\">CSAT</div>\n    </div>\n  </div>\n  <div class=\"map\"><img src=\"map.svg\" class=\"img-responsive\" /></div>\n</div>"
  },
  {
    "path": "pe-csm-location/widget/pe-csm-location.u-client-script.js",
    "content": "function CsmLocationController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-csm-location/widget/pe-csm-location.u-css.scss",
    "content": ".location-wrapper {\n  display: flex;\n  color: #2e2e2e;\n  >div {\n    flex-grow: 1;\n    flex-basis: 0;\n  }\n  .map {\n    display: flex;\n    .img-responsive {\n      margin: 0 auto;\n    }\n  }\n  .status-wrapper {\n    display: flex;\n    flex-direction: column;\n    .status {\n      display: flex;\n      flex-direction: column;\n      justify-content: center;\n      flex-grow: 1;\n      .value {\n        font-size: 42px;\n        font-weight: 300;\n        .big-number {\n          float: left;\n        }\n        .side-note {\n          margin-top: 15px;\n          margin-left: 5px;\n          float: left;\n          font-size: 10px;\n          color: #b4b2b3;\n        }\n        &.positive svg {\n          fill: #70be5a;\n        }\n        &.negative svg {\n          fill: #e51b24;\n        }\n      }\n      .description {\n        font-size: 12px;\n        font-weight: 500;\n        color: #b4b2b3;\n      }\n    }\n    svg {\n      width: 20px;\n      height: 13px;\n    }\n  }\n}"
  },
  {
    "path": "pe-csm-location/widget/pe-csm-location.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "pe-csm-progressbar/Readme.md",
    "content": "# PE CSM Progress Bar\n\n## Description\n\nThis widget can be used to create a simple progress bar.\n\n## Screenshots\n![alt text](../images/pe-csm-progressbar.png \"PE CSM Progress Bar\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-csm-progress-bar.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-progressbar/pe-csm-progress-bar.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Widget Header\"** This is for the header.<br/>\n**\"Progress Bar Left Text\"** Left text on top of progress bar.<br/>\n**\"Progress Bar Right Text\"** Right text on top of progress bar.<br/>\n**\"Progress Total\"** Total value for which the progress is calculated.<br/>\n**\"Progress value\"** Actual progress out of total.<br/>\n **\"Progress Bar Text\"** Text that goes on the progress bar.<br/>\n **\"Progress Bar Color\"** Color of the bar the progress bar.<br/>\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-progressbar/pe-csm-progress-bar.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-09 22:18:54\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Progress Bar</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>e4a3a594dbdff2008798ffa31d961961</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-09 22:18:54</sys_created_on>\n<sys_id>322448cddbd7b200abd4f9361d9619ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-09 22:18:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_444ec3f71306fa00de8cb5b12244b0ec</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ProgressBarController() {\n  var c = this;\n  c.getStyle = getStyle;\n\n  function getStyle(total, actual, bgcolor) {\n    return {\n      'width': (actual / total * 100) + '%',\n      'background-color': bgcolor\n    };\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;section {\n  margin-top: 20px;\n}\n\nh3 {\n  font-size: 13px;\n  font-weight: bold;\n}\n\nh3,\n.month {\n  position: relative;\n  .cost {\n    position: absolute;\n    right: 0;\n    top: 0;\n    font-size: 20px;\n  }\n  .cost2 {\n    font-size: 12px;\n    font-weight: normal;\n  }\n}\n\n.month {\n  font-size: 12px;\n  font-weight: 300;\n}\n\n.bar {\n  margin-top: 10px;\n  border-radius: 28px;\n  background-color: #ffffff;\n  border: solid 3px #E7363D;\n  overflow: hidden;\n  color: white;\n  font-size: 12px;\n  .bar-complete {\n    background-color: #EC5F65;\n    width: 75%;\n    padding: 5px 0 5px 12px;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-csm-progressbar&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Progress Bar&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"widget_header\",\"label\":\"Widget Header\",\"type\":\"string\",\"default_value\":\"This Month\"},{\"name\":\"progress_bar_left_text\",\"label\":\"Progress Bar Left Text\",\"type\":\"string\",\"default_value\":\"January\"},{\"name\":\"progress_bar_right_text\",\"label\":\"Progress Bar Right Text\",\"type\":\"string\",\"default_value\":\"$56.4k\"},{\"name\":\"progress_total\",\"label\":\"Progress Total\",\"type\":\"string\",\"default_value\":\"100\"},{\"name\":\"progress_value\",\"label\":\"Progress Value\",\"type\":\"string\",\"default_value\":\"50\"},{\"name\":\"progress_bar_text\",\"label\":\"Progress Bar Text\",\"type\":\"string\",\"default_value\":\"Cases\"},{\"name\":\"progress_bar_color\",\"label\":\"Progress Bar Color\",\"type\":\"string\",\"default_value\":\"#ff0000\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-17 22:47:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;444ec3f71306fa00de8cb5b12244b0ec&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Progress Bar&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_444ec3f71306fa00de8cb5b12244b0ec&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-09 22:14:36&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;section&gt;\n    &lt;h3&gt;{{::c.options.widget_header}}&lt;/h3&gt;\n    &lt;div class=\"month\"&gt;{{::c.options.progress_bar_left_text}}\n      &lt;div class=\"cost\"&gt;{{::c.options.progress_bar_right_text}}&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"bar\" ng-style=\"{'border': 'solid 3px ' + c.options.progress_bar_color}\"&gt;\n      &lt;div class=\"bar-complete\" ng-style=\"c.getStyle(c.options.progress_total, c.options.progress_value,c.options.progress_bar_color)\"&gt;{{::c.options.progress_bar_text}}&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/section&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Progress Bar\">322448cddbd7b200abd4f9361d9619ab</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-09 22:18:54</sys_created_on>\n<sys_id>4b2448cddbd7b200abd4f9361d9619ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-09 22:18:54</sys_updated_on>\n<table/>\n<target_name>PE CSM Progress Bar</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-progressbar/widget/pe-csm-progress-bar.u-body-html-template.html",
    "content": "<div>\n  <section>\n    <h3>{{::c.options.widget_header}}</h3>\n    <div class=\"month\">{{::c.options.progress_bar_left_text}}\n      <div class=\"cost\">{{::c.options.progress_bar_right_text}}</div>\n    </div>\n    <div class=\"bar\" ng-style=\"{'border': 'solid 3px ' + c.options.progress_bar_color}\">\n      <div class=\"bar-complete\" ng-style=\"c.getStyle(c.options.progress_total, c.options.progress_value,c.options.progress_bar_color)\">{{::c.options.progress_bar_text}}</div>\n    </div>\n  </section>\n</div>"
  },
  {
    "path": "pe-csm-progressbar/widget/pe-csm-progress-bar.u-client-script.js",
    "content": "function ProgressBarController() {\n  var c = this;\n  c.getStyle = getStyle;\n\n  function getStyle(total, actual, bgcolor) {\n    return {\n      'width': (actual / total * 100) + '%',\n      'background-color': bgcolor\n    };\n  }\n}"
  },
  {
    "path": "pe-csm-progressbar/widget/pe-csm-progress-bar.u-css.scss",
    "content": "section {\n  margin-top: 20px;\n}\n\nh3 {\n  font-size: 13px;\n  font-weight: bold;\n}\n\nh3,\n.month {\n  position: relative;\n  .cost {\n    position: absolute;\n    right: 0;\n    top: 0;\n    font-size: 20px;\n  }\n  .cost2 {\n    font-size: 12px;\n    font-weight: normal;\n  }\n}\n\n.month {\n  font-size: 12px;\n  font-weight: 300;\n}\n\n.bar {\n  margin-top: 10px;\n  border-radius: 28px;\n  background-color: #ffffff;\n  border: solid 3px #E7363D;\n  overflow: hidden;\n  color: white;\n  font-size: 12px;\n  .bar-complete {\n    background-color: #EC5F65;\n    width: 75%;\n    padding: 5px 0 5px 12px;\n  }\n}"
  },
  {
    "path": "pe-csm-progressbar/widget/pe-csm-progress-bar.u-option-schema.json",
    "content": "[{\n  \"name\": \"widget_header\",\n  \"label\": \"Widget Header\",\n  \"type\": \"string\",\n  \"default_value\": \"This Month\"\n}, {\n  \"name\": \"progress_bar_left_text\",\n  \"label\": \"Progress Bar Left Text\",\n  \"type\": \"string\",\n  \"default_value\": \"January\"\n}, {\n  \"name\": \"progress_bar_right_text\",\n  \"label\": \"Progress Bar Right Text\",\n  \"type\": \"string\",\n  \"default_value\": \"$56.4k\"\n}, {\n  \"name\": \"progress_total\",\n  \"label\": \"Progress Total\",\n  \"type\": \"string\",\n  \"default_value\": \"100\"\n}, {\n  \"name\": \"progress_value\",\n  \"label\": \"Progress Value\",\n  \"type\": \"string\",\n  \"default_value\": \"50%\"\n}, {\n  \"name\": \"progress_bar_text\",\n  \"label\": \"Progress Bar Text\",\n  \"type\": \"string\",\n  \"default_value\": \"Cases\"\n}, {\n  \"name\": \"progress_bar_color\",\n  \"label\": \"Progress Bar Color\",\n  \"type\": \"string\",\n  \"default_value\": \"#ff0000\"\n}]"
  },
  {
    "path": "pe-csm-progressbar/widget/pe-csm-progress-bar.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-csm-summary/Readme.md",
    "content": "# PE CSM Summary\n\n## Description\n\nThis widget can be used to dispplay a quick summary of the customer.\n\n## Screenshots\n![alt text](../images/pe-csm-summary.png \"PE CSM Summary\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-csm-summary.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-csm-summary/pe-csm-summary.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-csm-summary/pe-csm-summary.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-19 22:29:50\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Summary</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>aa43fd9813d23e00de8cb5b12244b0f8</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 22:29:50</sys_created_on>\n<sys_id>b99dd96813da3e00de8cb5b12244b032</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 22:29:50</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_6233bd9813d23e00de8cb5b12244b0ec</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function SummaryController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.header {\n    margin-top: 15px;\n    margin-bottom: 15px;\n    text-align: center;\n    .title {\n        font-size: 34px;\n        font-weight: 500;\n        color: #2e2e2e;\n    }\n    .description {\n        font-size: 12px;\n        font-weight: bold;\n        color: #b4b2b3;\n        svg {\n            width: 10px;\n            height: 10px;\n        }\n    }\n}\n\nul {\n    padding: 0;\n    margin: 0;\n    li {\n        min-height: 61px;\n        display: flex;\n        padding-top: 10px;\n        padding-bottom: 10px;\n        border-top: 1px solid #e4e5e6;\n        div {\n            flex-basis: 0;\n            align-self: center;\n        }\n        .list-label {\n            font-size: 14px;\n            color: #65666a;\n            flex-grow: 1.3;\n            white-space: nowrap;\n        }\n        .value {\n            flex-grow: 1;\n            font-size: 14px;\n            font-weight: 300;\n            text-align: right;\n            color: #2e2e2e;\n            &amp;amp;.green {\n                color: #70be5a;\n            }\n            &amp;amp;.yellow {\n                color: #e89033;\n            }\n        }\n    }\n}\n\n.row1,\n.row2 {\n    display: none;\n}\n\n.row3 {\n    display: block;\n}\n\n.summary-header {\n    margin: -1px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-csm-summary&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Summary&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 05:26:41&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;6233bd9813d23e00de8cb5b12244b0ec&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Summary&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_6233bd9813d23e00de8cb5b12244b0ec&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 05:30:44&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n\n    &lt;symbol id=\"question\"&gt;\n        &lt;svg width=\"10px\" height=\"10px\" viewBox=\"0 0 10 10\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n             xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n            &lt;path d=\"M5,0.833333333 C2.7,0.833333333 0.833333333,2.7 0.833333333,5 C0.833333333,7.3 2.7,9.16666667 5,9.16666667 C7.3,9.16666667 9.16666667,7.3 9.16666667,5 C9.16666667,2.7 7.3,0.833333333 5,0.833333333 L5,0.833333333 Z M5.41666667,7.91666667 L4.58333333,7.91666667 L4.58333333,7.08333333 L5.41666667,7.08333333 L5.41666667,7.91666667 L5.41666667,7.91666667 Z M6.27916667,4.6875 L5.90416667,5.07083333 C5.60416667,5.375 5.41666667,5.625 5.41666667,6.25 L4.58333333,6.25 L4.58333333,6.04166667 C4.58333333,5.58333333 4.77083333,5.16666667 5.07083333,4.8625 L5.5875,4.3375 C5.74166667,4.1875 5.83333333,3.97916667 5.83333333,3.75 C5.83333333,3.29166667 5.45833333,2.91666667 5,2.91666667 C4.54166667,2.91666667 4.16666667,3.29166667 4.16666667,3.75 L3.33333333,3.75 C3.33333333,2.82916667 4.07916667,2.08333333 5,2.08333333 C5.92083333,2.08333333 6.66666667,2.82916667 6.66666667,3.75 C6.66666667,4.11666667 6.51666667,4.45 6.27916667,4.6875 L6.27916667,4.6875 Z\"\n                  id=\"Shape\" stroke=\"none\" fill=\"#E51B24\" fill-rule=\"evenodd\"&gt;&lt;/path&gt;\n        &lt;/svg&gt;\n&lt;/symbol&gt;\n\n&lt;/svg&gt;\n&lt;div&gt;\n    &lt;div class=\"header\"&gt;\n        &lt;div class=\"title\"&gt;\n            $2,000,000\n        &lt;/div&gt;\n        &lt;div class=\"description\"&gt;\n            Potential Impact\n            &lt;svg&gt;\n                &lt;use xlink:href='#question'&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;ul&gt;\n        &lt;li&gt;\n            &lt;div class=\"list-label\"&gt;Latest Summary&lt;/div&gt;\n            &lt;div class=\"value\"&gt;Nov 12, 2016 &lt;br/&gt;10:00 AM&lt;/div&gt;\n        &lt;/li&gt;\n        &lt;li&gt;\n            &lt;div class=\"list-label\"&gt;How did we do?&lt;/div&gt;\n            &lt;div class=\"value green\"&gt;Avg NPS 9.5&lt;/div&gt;\n        &lt;/li&gt;\n        &lt;li&gt;\n            &lt;div class=\"list-label\"&gt;What did we do?&lt;/div&gt;\n            &lt;div class=\"value green\"&gt;Complated 3 cases for 3 locations&lt;/div&gt;\n        &lt;/li&gt;\n        &lt;li&gt;\n            &lt;div class=\"list-label\"&gt;How many missed SLAs?&lt;/div&gt;\n            &lt;div class=\"value green\"&gt;0 missed SLAs&lt;/div&gt;\n        &lt;/li&gt;\n        &lt;li&gt;\n            &lt;div class=\"list-label\"&gt;How many almost missed?&lt;/div&gt;\n            &lt;div class=\"value yellow\"&gt;1 almost missed&lt;/div&gt;\n        &lt;/li&gt;\n        &lt;li&gt;\n            &lt;div class=\"list-label\"&gt;How many met?&lt;/div&gt;\n            &lt;div class=\"value green\"&gt;3 met&lt;/div&gt;\n        &lt;/li&gt;\n    &lt;/ul&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Summary\">b99dd96813da3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 22:29:50</sys_created_on>\n<sys_id>fd9dd96813da3e00de8cb5b12244b032</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 22:29:50</sys_updated_on>\n<table/>\n<target_name>PE CSM Summary</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-csm-summary/widget/pe-csm-summary.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\r\n\r\n    <symbol id=\"question\">\r\n        <svg width=\"10px\" height=\"10px\" viewBox=\"0 0 10 10\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n             xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n            <path d=\"M5,0.833333333 C2.7,0.833333333 0.833333333,2.7 0.833333333,5 C0.833333333,7.3 2.7,9.16666667 5,9.16666667 C7.3,9.16666667 9.16666667,7.3 9.16666667,5 C9.16666667,2.7 7.3,0.833333333 5,0.833333333 L5,0.833333333 Z M5.41666667,7.91666667 L4.58333333,7.91666667 L4.58333333,7.08333333 L5.41666667,7.08333333 L5.41666667,7.91666667 L5.41666667,7.91666667 Z M6.27916667,4.6875 L5.90416667,5.07083333 C5.60416667,5.375 5.41666667,5.625 5.41666667,6.25 L4.58333333,6.25 L4.58333333,6.04166667 C4.58333333,5.58333333 4.77083333,5.16666667 5.07083333,4.8625 L5.5875,4.3375 C5.74166667,4.1875 5.83333333,3.97916667 5.83333333,3.75 C5.83333333,3.29166667 5.45833333,2.91666667 5,2.91666667 C4.54166667,2.91666667 4.16666667,3.29166667 4.16666667,3.75 L3.33333333,3.75 C3.33333333,2.82916667 4.07916667,2.08333333 5,2.08333333 C5.92083333,2.08333333 6.66666667,2.82916667 6.66666667,3.75 C6.66666667,4.11666667 6.51666667,4.45 6.27916667,4.6875 L6.27916667,4.6875 Z\"\r\n                  id=\"Shape\" stroke=\"none\" fill=\"#E51B24\" fill-rule=\"evenodd\"></path>\r\n        </svg>\r\n</symbol>\r\n\r\n</svg>\r\n<div>\r\n    <div class=\"header\">\r\n        <div class=\"title\">\r\n            $2,000,000\r\n        </div>\r\n        <div class=\"description\">\r\n            Potential Impact\r\n            <svg>\r\n                <use xlink:href='#question'></use>\r\n            </svg>\r\n        </div>\r\n    </div>\r\n    <ul>\r\n        <li>\r\n            <div class=\"list-label\">Latest Summary</div>\r\n            <div class=\"value\">Nov 12, 2016 <br/>10:00 AM</div>\r\n        </li>\r\n        <li>\r\n            <div class=\"list-label\">How did we do?</div>\r\n            <div class=\"value green\">Avg NPS 9.5</div>\r\n        </li>\r\n        <li>\r\n            <div class=\"list-label\">What did we do?</div>\r\n            <div class=\"value green\">Complated 3 cases for 3 locations</div>\r\n        </li>\r\n        <li>\r\n            <div class=\"list-label\">How many missed SLAs?</div>\r\n            <div class=\"value green\">0 missed SLAs</div>\r\n        </li>\r\n        <li>\r\n            <div class=\"list-label\">How many almost missed?</div>\r\n            <div class=\"value yellow\">1 almost missed</div>\r\n        </li>\r\n        <li>\r\n            <div class=\"list-label\">How many met?</div>\r\n            <div class=\"value green\">3 met</div>\r\n        </li>\r\n    </ul>\r\n\r\n</div>"
  },
  {
    "path": "pe-csm-summary/widget/pe-csm-summary.u-client-script.js",
    "content": "function SummaryController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-csm-summary/widget/pe-csm-summary.u-css.scss",
    "content": ".header {\n    margin-top: 15px;\n    margin-bottom: 15px;\n    text-align: center;\n    .title {\n        font-size: 34px;\n        font-weight: 500;\n        color: #2e2e2e;\n    }\n    .description {\n        font-size: 12px;\n        font-weight: bold;\n        color: #b4b2b3;\n        svg {\n            width: 10px;\n            height: 10px;\n        }\n    }\n}\n\nul {\n    padding: 0;\n    margin: 0;\n    li {\n        min-height: 61px;\n        display: flex;\n        padding-top: 10px;\n        padding-bottom: 10px;\n        border-top: 1px solid #e4e5e6;\n        div {\n            flex-basis: 0;\n            align-self: center;\n        }\n        .list-label {\n            font-size: 14px;\n            color: #65666a;\n            flex-grow: 1.3;\n            white-space: nowrap;\n        }\n        .value {\n            flex-grow: 1;\n            font-size: 14px;\n            font-weight: 300;\n            text-align: right;\n            color: #2e2e2e;\n            &.green {\n                color: #70be5a;\n            }\n            &.yellow {\n                color: #e89033;\n            }\n        }\n    }\n}\n\n.row1,\n.row2 {\n    display: none;\n}\n\n.row3 {\n    display: block;\n}\n\n.summary-header {\n    margin: -1px;\n}"
  },
  {
    "path": "pe-csm-summary/widget/pe-csm-summary.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-cta-count/README.md",
    "content": "# Approval Card\n\n## Description\n\nDisplay a call to action with a background image, description and a count number based on a custom query.\n\n## Screenshot\n![alt text](../../images/pe-cta-count.png \"Background Slideshow\")\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\n---\nDownload and install update set **[pe-cta-count.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-cta-count/pe-cta-count.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Sets title to be displayed. |  |\n| `Background Image` | Upload background image. |  |\n| `Icon` | Upload icon to be displayed next to the title | null |\n| `Table Name` | Table name you want to run the custom query against | null |\n| `Conditions` | Conditions to run the custom query against (Open in platform for better experience) | null |\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n"
  },
  {
    "path": "pe-cta-count/pe-cta-count.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-01-13 04:31:46\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-cta-count</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>58f29af273230300e9d580844ff6a7ec</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>248afef673230300e9d580844ff6a7b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_condition_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"DELETE\" element=\"\" table=\"m2m_widget_condition\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;m2m_widget_condition&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:10:20&lt;/sys_created_on&gt;&lt;sys_id&gt;7c2a167273230300e9d580844ff6a7fd&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;m2m_widget_condition&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_condition_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:10:20&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>927842433</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>208a323a73230300e9d580844ff6a7e5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a98690000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>0bb6263606230300370396c2af74badb</update_guid>\n<update_guid_history>0bb6263606230300370396c2af74badb:927842433,f42a5672e0230300296af049bae8290b:1273523149</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_widget_with_image_sp_instance__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Widget with image sp instance\" language=\"en\" table=\"widget_with_image_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Widget with image sp instance</label><language>en</language><name>widget_with_image_sp_instance</name><plural>Widget with image sp instances</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>f049127273230300e9d580844ff6a7ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget with image sp instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_widget_with_image_sp_instance__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-429804829</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>208a323a73230300e9d580844ff6a7e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b3d10000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>b0491272a3230300397e145d2e1c76f3</update_guid>\n<update_guid_history>b0491272a3230300397e145d2e1c76f3:-429804829</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_f42a167273230300e9d580844ff6a7df</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"DELETE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>f42a167273230300e9d580844ff6a7df</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition.m2m_widget_condition_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"\">bc2a167273230300e9d580844ff6a7dc</sys_security_acl><sys_update_name>sys_security_acl_role_f42a167273230300e9d580844ff6a7df</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><sys_user_role display_value=\"m2m_widget_condition_user\" name=\"m2m_widget_condition_user\">3c2a9e3273230300e9d580844ff6a7e9</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>859907241</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>208a323a73230300e9d580844ff6a7eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a943f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>bc2a167273230300e9d580844ff6a7dc</table>\n<target_name>m2m_widget_condition.m2m_widget_condition_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>7ab62636f8230300d8907eaab4a4c989</update_guid>\n<update_guid_history>7ab62636f8230300d8907eaab4a4c989:859907241,742a1672bd23030040f1e4871b466ee1:1887159756</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_widget_with_image_sp_instance_conditions_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"conditions\" label=\"Conditions\" language=\"en\" table=\"widget_with_image_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>conditions</element><help/><hint/><label>Conditions</label><language>en</language><name>widget_with_image_sp_instance</name><plural>Conditions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:04:13</sys_created_on><sys_id>d676623673230300e9d580844ff6a7ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Conditions</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_widget_with_image_sp_instance_conditions_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:04:13</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1597494810</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>248a323a73230300e9d580844ff6a7e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed798b550000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Conditions</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>92766236882303000d1793c88b578ef7</update_guid>\n<update_guid_history>92766236882303000d1793c88b578ef7:1597494810</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_742a167273230300e9d580844ff6a7fb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"DELETE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>742a167273230300e9d580844ff6a7fb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition.m2m_widget_condition_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"\">7c2a167273230300e9d580844ff6a7f8</sys_security_acl><sys_update_name>sys_security_acl_role_742a167273230300e9d580844ff6a7fb</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><sys_user_role display_value=\"m2m_widget_condition_user\" name=\"m2m_widget_condition_user\">3c2a9e3273230300e9d580844ff6a7e9</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1662611399</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>248a323a73230300e9d580844ff6a7ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a94a70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>7c2a167273230300e9d580844ff6a7f8</table>\n<target_name>m2m_widget_condition.m2m_widget_condition_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>7eb62636e4230300d52ea87c4c2aaf90</update_guid>\n<update_guid_history>7eb62636e4230300d52ea87c4c2aaf90:1662611399,b02a167242230300c9bda34e2f78c4fd:-1605103382</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_condition_conditions_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation action=\"DELETE\" element=\"conditions\" label=\"Conditions\" language=\"en\" table=\"m2m_widget_condition\"><sys_documentation action=\"DELETE\"><element>conditions</element><help/><hint/><label>Conditions</label><language>en</language><name>m2m_widget_condition</name><plural>Conditions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:11:04</sys_created_on><sys_id>7b4a967273230300e9d580844ff6a730</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Conditions</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_condition_conditions_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:11:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-101269794</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>288a323a73230300e9d580844ff6a7e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a96e80000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition.conditions</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>cfb62636b4230300c1321122b7679ab9</update_guid>\n<update_guid_history>cfb62636b4230300c1321122b7679ab9:-101269794,374a9672a02303000c1d7a9b21200443:1299162926</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_f82a167273230300e9d580844ff6a7f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"DELETE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_condition</description><name>m2m_widget_condition</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>f82a167273230300e9d580844ff6a7f3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_f82a167273230300e9d580844ff6a7f3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-730148435</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>288a323a73230300e9d580844ff6a7e9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a958f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>feb62636cb23030000fdf99f65e95fad</update_guid>\n<update_guid_history>feb62636cb23030000fdf99f65e95fad:-730148435,b42a167239230300b1be523e9ced00f5:-1688351431</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_f449127273230300e9d580844ff6a7ef</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>widget_with_image_sp_instance</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>f449127273230300e9d580844ff6a7ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_f449127273230300e9d580844ff6a7ef</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-282938246</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>288a323a73230300e9d580844ff6a7ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b3890000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name>widget_with_image_sp_instance</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>384912729e2303008386ef84bdd3b3f0</update_guid>\n<update_guid_history>384912729e2303008386ef84bdd3b3f0:-282938246</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_7223daf273230300e9d580844ff6a7c7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CTACountCtrl() {\n  /* widget controller */\n  var c = this;\n  c.$onInit = function () {\n      c.customStyle = {\n          \"background-image\": 'url(' + c.options.image + ')'\n      }\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.personal-items-wrapper {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: baseline;\n  height: 180px;\n  padding: 0 40px;\n  background-size: cover;\n}\n&lt;/css&gt;&lt;data_table&gt;widget_with_image_sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title,image,icon,table,conditions&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-cta-count&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;pe cta count&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"link\",\"label\":\"Link\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\t\n\tdata.count = 0;\n\n\tif (options.table &amp;&amp; options.conditions) {\n\t\tvar gr = new GlideRecordSecure(options.table);\n\t\tgr.addEncodedQuery(options.conditions);\n\t\tgr.query();\n\t\tdata.count = gr.getRowCount();\n\t}\n\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 01:39:53&lt;/sys_created_on&gt;&lt;sys_id&gt;7223daf273230300e9d580844ff6a7c7&lt;/sys_id&gt;&lt;sys_mod_count&gt;19&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe cta count&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_7223daf273230300e9d580844ff6a7c7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 04:27:36&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a ng-href=\"{{ c.options.link }}\"&gt;\n  &lt;div ng-style=\"c.customStyle\" class=\"personal-items-wrapper\"&gt;\n      &lt;img ng-src=\"{{c.options.icon}}\" alt=\"\"&gt;\n      &lt;h3&gt;{{::c.options.title}} ({{c.data.count}})&lt;/h3&gt;\n  &lt;/div&gt;\n&lt;/a&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2009026905</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>288afef673230300e9d580844ff6a7b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160edc5e03f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name>pe cta count</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>ef893ef6052303008e7eca8c11eb7e96</update_guid>\n<update_guid_history>ef893ef6052303008e7eca8c11eb7e96:2009026905,c5893ef622230300997f67746608cddd:-1715836881,1379baf638230300b170f0c6ab3dc4c2:-676508829,08e8baf6352303008aacd003240cc030:-566635017,f1c87af601230300c61949bb52d73257:1229078206,52e72e36782303004ac395d9a228f82e:1487319111,dd97e63608230300bdbc75f0b748dd9a:641781761,36576a3608230300d247e0605e7bd009:-903438295,b5572a36eb230300111704a0b22277ef:114882217,8a17e636962303008065a2a0fabdf6b2:315982438,b9f5eef23d230300a13897ddad05bf83:-534604335,9de5aef2e02303000de5d0f6bfda0dd0:-307060071,38b52ef24d2303006f38e0a7e98a66f4:-34077276,8d852ef256230300bd13ad683bc61582:-221645039,d655eaf20f230300162ed5d374a26406:-1079632673,6745a6f240230300ae5b708c00927ae6:686553019,970bda72302303004772cf5373974c45:-396589362,8d63daf20223030064db50462163d7cc:664980045,b3535ef2042303003c58cacf05121512:-500973083,3623daf22f230300b290636c098da3c8:2014916302</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_widget_with_image_sp_instance_icon</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"icon\" table=\"widget_with_image_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Icon&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;icon&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;widget_with_image_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:09:40&lt;/sys_created_on&gt;&lt;sys_id&gt;31c9527273230300e9d580844ff6a7a7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Icon&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_widget_with_image_sp_instance_icon&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:09:40&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>791912127</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>2c8a323a73230300e9d580844ff6a7e5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed479c590000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Icon</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>93f9d272712303007a639679eb9cdee1</update_guid>\n<update_guid_history>93f9d272712303007a639679eb9cdee1:791912127,5bf9d2723b230300e3abc273bca9a1d2:791912127</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_a049127273230300e9d580844ff6a7d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on widget_with_image_sp_instance</description><name>widget_with_image_sp_instance</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>a049127273230300e9d580844ff6a7d3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_a049127273230300e9d580844ff6a7d3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>363376619</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>2c8a323a73230300e9d580844ff6a7e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b0e70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>6c4912722423030021789f600e93c1d4</update_guid>\n<update_guid_history>6c4912722423030021789f600e93c1d4:363376619</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_165ad67273230300e9d580844ff6a727</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"165ad67273230300e9d580844ff6a727\" sys_domain=\"global\" table=\"widget_with_image_sp_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>fbd6a63673230300e9d580844ff6a76f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>7fd6a63673230300e9d580844ff6a76f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>image</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>ffd6a63673230300e9d580844ff6a76f</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>icon</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>73d6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>f3d6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>77d6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>roles</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>f7d6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>7</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>7bd6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>table</element><position>8</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>fbd6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>conditions</element><position>9</position><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:05:58</sys_created_on><sys_id>7fd6a63673230300e9d580844ff6a770</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"widget_with_image_sp_instance\" sys_domain=\"global\" view=\"Default view\">165ad67273230300e9d580844ff6a727</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:05:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>widget_with_image_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:11:15</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>165ad67273230300e9d580844ff6a727</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_165ad67273230300e9d580844ff6a727</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:11:15</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1512847832</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>2c8a323a73230300e9d580844ff6a7eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7b259c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>3fd6a6367b2303008d93adf01a44348b</update_guid>\n<update_guid_history>3fd6a6367b2303008d93adf01a44348b:-1512847832,ca766236ed230300d69dadb9050618e5:914495272,06762236232303002aa5c067067547b3:-1166573694,8eaa1a72f42303005252519c43e2bad1:-2089194961,429a1a72ae230300c9529bc297cbc80c:-1994391893,8a7ad672b1230300a7de7abd617333dd:-1486571346,027ad6729f230300802a396cc36fcc36:107334900</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_condition__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation action=\"DELETE\" element=\"\" label=\"M2M Widget Condition\" language=\"en\" table=\"m2m_widget_condition\"><sys_documentation action=\"DELETE\"><element/><help/><hint/><label>M2M Widget Condition</label><language>en</language><name>m2m_widget_condition</name><plural>M2M Widget Conditions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>702a567273230300e9d580844ff6a705</sys_id><sys_mod_count>0</sys_mod_count><sys_name>M2M Widget Condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_condition__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-653535157</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>608a323a73230300e9d580844ff6a7e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a93e00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>7eb626369c2303000e38f6a5e80a4883</update_guid>\n<update_guid_history>7eb626369c2303000e38f6a5e80a4883:-653535157,782a5672c823030000c846aee3c9c00c:1370298331</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_702a167273230300e9d580844ff6a7f1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"DELETE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>702a167273230300e9d580844ff6a7f1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition.m2m_widget_condition_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"\">b02a167273230300e9d580844ff6a7e2</sys_security_acl><sys_update_name>sys_security_acl_role_702a167273230300e9d580844ff6a7f1</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><sys_user_role display_value=\"m2m_widget_condition_user\" name=\"m2m_widget_condition_user\">3c2a9e3273230300e9d580844ff6a7e9</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>390658404</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>608a323a73230300e9d580844ff6a7ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a95090000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>b02a167273230300e9d580844ff6a7e2</table>\n<target_name>m2m_widget_condition.m2m_widget_condition_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>beb62636cb23030017b64c4f2a6b5097</update_guid>\n<update_guid_history>beb62636cb23030017b64c4f2a6b5097:390658404,bc2a167293230300330045abaa10b2f2:1417910919</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>widget_with_image_sp_instance_71e6e63673230300e9d580844ff6a716</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"widget_with_image_sp_instance\"><widget_with_image_sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><conditions/><css/><glyph/><icon/><id/><image/><order>1</order><roles/><short_description/><size>md</size><sp_column/><sp_widget/><sys_class_name>widget_with_image_sp_instance</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:06:08</sys_created_on><sys_id>71e6e63673230300e9d580844ff6a716</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>widget_with_image_sp_instance_71e6e63673230300e9d580844ff6a716</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:06:08</sys_updated_on><table/><title/><url/><widget_parameters/></widget_with_image_sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=71e6e63673230300e9d580844ff6a716\"/></record_update>]]></payload>\n<payload_hash>-1471975608</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>608a323a73230300e9d580844ff6a7ed</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7b4ca10000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name/>\n<type>Widget with image sp instance</type>\n<update_domain>global</update_domain>\n<update_guid>5ae6a636ae2303007346c7ec23d2c990</update_guid>\n<update_guid_history>5ae6a636ae2303007346c7ec23d2c990:-1471975608</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_widget_with_image_sp_instance_table</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"table\" table=\"widget_with_image_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Table&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;table&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;table_name&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;80&lt;/max_length&gt;&lt;name&gt;widget_with_image_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 03:04:13&lt;/sys_created_on&gt;&lt;sys_id&gt;ae56223673230300e9d580844ff6a7ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_widget_with_image_sp_instance_table&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 03:04:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>937193130</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>648a323a73230300e9d580844ff6a7e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed798afe0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Table</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>1e766236172303008cdfbe0b9e2ce5f3</update_guid>\n<update_guid_history>1e766236172303008cdfbe0b9e2ce5f3:937193130,86762236a5230300b29cac9d658370b4:937193130</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_bc2a167273230300e9d580844ff6a7dc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"DELETE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_condition</description><name>m2m_widget_condition</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:19</sys_created_on><sys_id>bc2a167273230300e9d580844ff6a7dc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_bc2a167273230300e9d580844ff6a7dc</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:19</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1337674781</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>648a323a73230300e9d580844ff6a7e9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a946c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>36b626369423030058e9272d3554508c</update_guid>\n<update_guid_history>36b626369423030058e9272d3554508c:1337674781,b82a167294230300a936b622fda699de:-372403031</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_f42a567273230300e9d580844ff6a709</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"DELETE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>m2m_widget_condition</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>f42a567273230300e9d580844ff6a709</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_f42a567273230300e9d580844ff6a709</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>1573209940</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>648a323a73230300e9d580844ff6a7ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a97d90000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name>m2m_widget_condition</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>8bb62636a3230300d8185425b1f5fac6</update_guid>\n<update_guid_history>8bb62636a3230300d8185425b1f5fac6:1573209940,f02a5672e5230300d0a6e0dfa882490a:-332663200</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_widget_with_image_sp_instance_conditions</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"conditions\" table=\"widget_with_image_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Conditions&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;conditions&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Conditions\"&gt;conditions&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;4000&lt;/max_length&gt;&lt;name&gt;widget_with_image_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 03:04:13&lt;/sys_created_on&gt;&lt;sys_id&gt;6866623673230300e9d580844ff6a7a3&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Conditions&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_widget_with_image_sp_instance_conditions&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 03:04:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-247240522</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>688a323a73230300e9d580844ff6a7e5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed798b220000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Conditions</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>de76623616230300eec79554e765daf4</update_guid>\n<update_guid_history>de76623616230300eec79554e765daf4:-247240522,8e766236cd2303002cdb3c6646511ee6:-247240522</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_7c2a167273230300e9d580844ff6a7f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"DELETE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_condition</description><name>m2m_widget_condition</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>7c2a167273230300e9d580844ff6a7f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_7c2a167273230300e9d580844ff6a7f8</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1777774207</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>688a323a73230300e9d580844ff6a7e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a94d00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>b6b626362223030045dde29e3497c193</update_guid>\n<update_guid_history>b6b626362223030045dde29e3497c193:1777774207,382a167291230300e1b6f709b8bec6fa:67696395</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_related_widget_with_image_sp_instance_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_related sys_domain=\"global\" table=\"widget_with_image_sp_instance\" version=\"2\" view=\"\"><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"Widget with image sp instance - Default view\" name=\"widget_with_image_sp_instance\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">b9e6a63673230300e9d580844ff6a77e</list_id><order_by/><position>0</position><related_list/><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:06:06</sys_created_on><sys_id>31e6a63673230300e9d580844ff6a7ef</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:06:06</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list action=\"INSERT_OR_UPDATE\"><calculated_name>Widget with image sp instance - Default view</calculated_name><filter/><name>widget_with_image_sp_instance</name><order_by/><position/><related_list/><sys_class_name>sys_ui_related_list</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:06:06</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>b9e6a63673230300e9d580844ff6a77e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget with image sp instance - Default view</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_related_widget_with_image_sp_instance_null</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:06:06</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_related_list></sys_ui_related></record_update>]]></payload>\n<payload_hash>456576984</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>688a323a73230300e9d580844ff6a7eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7b44d20000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance</target_name>\n<type>Related Lists</type>\n<update_domain>global</update_domain>\n<update_guid>b1e6a63658230300b685107a3853d5f0</update_guid>\n<update_guid_history>b1e6a63658230300b685107a3853d5f0:456576984,342b5e729a2303001e71106fab266f9f:1194131903</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_condition_conditions</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"DELETE\" element=\"conditions\" table=\"m2m_widget_condition\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Conditions&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;conditions&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Conditions\"&gt;conditions&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;4000&lt;/max_length&gt;&lt;name&gt;m2m_widget_condition&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:11:04&lt;/sys_created_on&gt;&lt;sys_id&gt;672a567273230300e9d580844ff6a79d&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Conditions&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_condition_conditions&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:11:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1356857686</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>6c8a323a73230300e9d580844ff6a7e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a98dd0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition.conditions</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>cbb6263657230300f8160d17f9f4a6e2</update_guid>\n<update_guid_history>cbb6263657230300f8160d17f9f4a6e2:1356857686,6b4a96725e230300762edc6cb9e1d129:1530041506</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_widget_with_image_sp_instance_table_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"table\" label=\"Table\" language=\"en\" table=\"widget_with_image_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>table</element><help/><hint/><label>Table</label><language>en</language><name>widget_with_image_sp_instance</name><plural>Tables</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:04:13</sys_created_on><sys_id>d276623673230300e9d580844ff6a7e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Table</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_widget_with_image_sp_instance_table_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:04:13</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1354121379</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>6c8a323a73230300e9d580844ff6a7e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed798b3a0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Table</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>de766236fc230300ac3cd7e33dfabff5</update_guid>\n<update_guid_history>de766236fc230300ac3cd7e33dfabff5:-1354121379</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_f02a167273230300e9d580844ff6a7f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"DELETE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>f02a167273230300e9d580844ff6a7f6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition.m2m_widget_condition_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"\">f82a167273230300e9d580844ff6a7f3</sys_security_acl><sys_update_name>sys_security_acl_role_f02a167273230300e9d580844ff6a7f6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><sys_user_role display_value=\"m2m_widget_condition_user\" name=\"m2m_widget_condition_user\">3c2a9e3273230300e9d580844ff6a7e9</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1365919752</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>6c8a323a73230300e9d580844ff6a7ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a95670000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>f82a167273230300e9d580844ff6a7f3</table>\n<target_name>m2m_widget_condition.m2m_widget_condition_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>b6b62636ae2303006bf5c9727375a2ab</update_guid>\n<update_guid_history>b6b62636ae2303006bf5c9727375a2ab:1365919752,302a1672b12303003e5b5ba2772c49f8:-1901795029</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_widget_with_image_sp_instance_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"widget_with_image_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;widget_with_image_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:06:30&lt;/sys_created_on&gt;&lt;sys_id&gt;f449127273230300e9d580844ff6a7e2&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;widget_with_image_sp_instance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_widget_with_image_sp_instance_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:06:30&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>601118215</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a08a323a73230300e9d580844ff6a7e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b3b50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>fc491272012303004d9d7bc2d0b4fdf1</update_guid>\n<update_guid_history>fc491272012303004d9d7bc2d0b4fdf1:601118215</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_b02a167273230300e9d580844ff6a7e2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"DELETE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on m2m_widget_condition</description><name>m2m_widget_condition</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:20</sys_created_on><sys_id>b02a167273230300e9d580844ff6a7e2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_b02a167273230300e9d580844ff6a7e2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:20</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>363760105</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a08a323a73230300e9d580844ff6a7e9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a95300000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>beb62636e0230300db3fae9cafd658a6</update_guid>\n<update_guid_history>beb62636e0230300db3fae9cafd658a6:363760105,7c2a167233230300cd0aa01f7fc6ece3:1542649973</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_e049127273230300e9d580844ff6a793</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><grantable>true</grantable><includes_roles/><name>widget_with_image_sp_instance_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:29</sys_created_on><sys_id>e049127273230300e9d580844ff6a793</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_e049127273230300e9d580844ff6a793</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:29</sys_updated_on></sys_user_role></record_update>]]></payload>\n<payload_hash>-2099879717</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a08a323a73230300e9d580844ff6a7ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44af8d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name>widget_with_image_sp_instance_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_guid>ec491272d5230300b75df65a9fc17595</update_guid>\n<update_guid_history>ec491272d5230300b75df65a9fc17595:-2099879717</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_e50a167273230300e9d580844ff6a786</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"DELETE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>M2M Widget Condition</label><live_feed_enabled>false</live_feed_enabled><name>m2m_widget_condition</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Application File\" name=\"sys_metadata\">d6b12012dd110300440b2294e69e975f</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:19</sys_created_on><sys_id>e50a167273230300e9d580844ff6a786</sys_id><sys_mod_count>1</sys_mod_count><sys_name>M2M Widget Condition</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_e50a167273230300e9d580844ff6a786</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:11:05</sys_updated_on><update_access>false</update_access><user_role display_value=\"m2m_widget_condition_user\" name=\"m2m_widget_condition_user\">3c2a9e3273230300e9d580844ff6a7e9</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-385186092</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a08afef673230300e9d580844ff6a7ba</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a9a760000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>M2M Widget Condition</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>5fb62636072303004f109364985d4ff8</update_guid>\n<update_guid_history>5fb62636072303004f109364985d4ff8:-385186092,3c2a567207230300649dbc1ba385740d:1341294536</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_condition_widget</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"DELETE\" element=\"widget\" table=\"m2m_widget_condition\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;widget&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;m2m_widget_condition&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sp_instance\"&gt;sp_instance&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:11:04&lt;/sys_created_on&gt;&lt;sys_id&gt;593a567273230300e9d580844ff6a79f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_condition_widget&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:11:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>950311155</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a48a323a73230300e9d580844ff6a7e5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a9a300000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition.widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>9bb62636f92303003306f40df0392ff6</update_guid>\n<update_guid_history>9bb62636f92303003306f40df0392ff6:950311155,7b4a96725623030035850722fc7f192e:800740159</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_6449127273230300e9d580844ff6a79b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on widget_with_image_sp_instance</description><name>widget_with_image_sp_instance</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:29</sys_created_on><sys_id>6449127273230300e9d580844ff6a79b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_6449127273230300e9d580844ff6a79b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:29</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1032246473</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a48a323a73230300e9d580844ff6a7e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b06b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>a449127265230300ccb272cbc378209d</update_guid>\n<update_guid_history>a449127265230300ccb272cbc378209d:-1032246473</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_m2m_widget_condition_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"m2m_widget_condition\" version=\"2\" view=\"\"><sys_ui_list action=\"DELETE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>m2m_widget_condition</name><parent/><position/><relationship/><sum>false</sum><sys_class_name/><sys_created_by/><sys_created_on/><sys_domain>global</sys_domain><sys_domain_path/><sys_id>b82b9e7273230300e9d580844ff6a7ae</sys_id><sys_mod_count/><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name/><sys_updated_by/><sys_updated_on>2018-01-13 03:05:22</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>1704300950</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a48a323a73230300e9d580844ff6a7eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a978a0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid>8bb62636aa230300072c8f7182e3c2c2</update_guid>\n<update_guid_history>8bb62636aa230300072c8f7182e3c2c2:1704300950,3c2b9e7230230300ba5785ce65e86db1:-162575364</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_widget_with_image_sp_instance_image_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"image\" label=\"Image\" language=\"en\" table=\"widget_with_image_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>image</element><help/><hint/><label>Image</label><language>en</language><name>widget_with_image_sp_instance</name><plural>Images</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:09:41</sys_created_on><sys_id>9ff9d27273230300e9d580844ff6a7d4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_widget_with_image_sp_instance_image_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:09:41</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>567818749</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a88a323a73230300e9d580844ff6a7e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed479c6c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Image</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>53f9d272cf230300619a60f0ce2c47e2</update_guid>\n<update_guid_history>53f9d272cf230300619a60f0ce2c47e2:567818749</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_ac49127273230300e9d580844ff6a7df</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>ac49127273230300e9d580844ff6a7df</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"widget_with_image_sp_instance\">a449127273230300e9d580844ff6a7dd</sys_security_acl><sys_update_name>sys_security_acl_role_ac49127273230300e9d580844ff6a7df</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><sys_user_role display_value=\"widget_with_image_sp_instance_user\" name=\"widget_with_image_sp_instance_user\">e049127273230300e9d580844ff6a793</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>321581955</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>a88a323a73230300e9d580844ff6a7ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b1d50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>e8491272d4230300cd9be5328e27bce1</update_guid>\n<update_guid_history>e8491272d4230300cd9be5328e27bce1:321581955</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_condition_widget_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation action=\"DELETE\" element=\"widget\" label=\"Widget\" language=\"en\" table=\"m2m_widget_condition\"><sys_documentation action=\"DELETE\"><element>widget</element><help/><hint/><label>Widget</label><language>en</language><name>m2m_widget_condition</name><plural>Widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:11:04</sys_created_on><sys_id>7f4a967273230300e9d580844ff6a731</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_condition_widget_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:11:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>693960453</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ac8a323a73230300e9d580844ff6a7e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a971e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition.widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>07b626368f23030061ffdbc12bdca6bd</update_guid>\n<update_guid_history>07b626368f23030061ffdbc12bdca6bd:693960453,f74a96722e23030041e50342b8396544:-700816203</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_2c49127273230300e9d580844ff6a7da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>2c49127273230300e9d580844ff6a7da</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"widget_with_image_sp_instance\">2449127273230300e9d580844ff6a7d8</sys_security_acl><sys_update_name>sys_security_acl_role_2c49127273230300e9d580844ff6a7da</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><sys_user_role display_value=\"widget_with_image_sp_instance_user\" name=\"widget_with_image_sp_instance_user\">e049127273230300e9d580844ff6a793</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-973958554</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ac8a323a73230300e9d580844ff6a7e9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b17d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>684912726523030017b890ddf5871bdc</update_guid>\n<update_guid_history>684912726523030017b890ddf5871bdc:-973958554</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>widget_with_image_sp_instance_5aa7aa3673230300e9d580844ff6a713</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"widget_with_image_sp_instance\"&gt;&lt;widget_with_image_sp_instance action=\"DELETE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;conditions table=\"sc_cat_item\"&gt;active=true^EQ&lt;item endquery=\"false\" field=\"active\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;icon/&gt;&lt;id/&gt;&lt;image&gt;4d686e3673230300e9d580844ff6a7a2.iix?t=m&lt;/image&gt;&lt;order&gt;0&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;79b39ef273230300e9d580844ff6a736&lt;/sp_column&gt;&lt;sp_widget display_value=\"pe cta count\"&gt;7223daf273230300e9d580844ff6a7c7&lt;/sp_widget&gt;&lt;sys_class_name&gt;widget_with_image_sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 03:09:24&lt;/sys_created_on&gt;&lt;sys_id&gt;5aa7aa3673230300e9d580844ff6a713&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;Service Catalog&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;widget_with_image_sp_instance_5aa7aa3673230300e9d580844ff6a713&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 04:24:54&lt;/sys_updated_on&gt;&lt;table&gt;sc_cat_item&lt;/table&gt;&lt;title&gt;Service Catalog&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"link\": {\n\t\t\"value\": \"/test\",\n\t\t\"displayValue\": \"/test\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/widget_with_image_sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=5aa7aa3673230300e9d580844ff6a713\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1490235380</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ac8a323a73230300e9d580844ff6a7ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160edc975400000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>sc_cat_item</table>\n<target_name>Service Catalog</target_name>\n<type>Widget with image sp instance</type>\n<update_domain>global</update_domain>\n<update_guid>fc7a323a97230300492350f7340c28a9</update_guid>\n<update_guid_history>fc7a323a97230300492350f7340c28a9:-1490235380,40f8baf6a1230300adc990d7764f1448:193416832,e23672f6d3230300bcd7a48d63955551:-1151824127,9091be360223030013a9c8b9813a7535:820498221,42686e365023030079993c1c0a5e8ea9:1074438604,d6a76a36aa23030045ea5beb03d299fa:712185113,daa7aa3622230300d4491beb95eb9c14:270702234</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_m2m_widget_condition_table</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"DELETE\" element=\"table\" table=\"m2m_widget_condition\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Table&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;table&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;table_name&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;80&lt;/max_length&gt;&lt;name&gt;m2m_widget_condition&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:11:04&lt;/sys_created_on&gt;&lt;sys_id&gt;dd2a567273230300e9d580844ff6a70e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_m2m_widget_condition_table&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:11:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1378886430</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e08a323a73230300e9d580844ff6a7e5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a99ab0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition.table</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>47b62636d523030073c4d7f4a82f9cef</update_guid>\n<update_guid_history>47b62636d523030073c4d7f4a82f9cef:1378886430,2b4a16725b2303001e0c77680931f6c8:1950541418</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_2449127273230300e9d580844ff6a7d8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on widget_with_image_sp_instance</description><name>widget_with_image_sp_instance</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>2449127273230300e9d580844ff6a7d8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_2449127273230300e9d580844ff6a7d8</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-908716505</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e08a323a73230300e9d580844ff6a7e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b1500000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>ec4912726a23030037ba4dcc4b1ffdd9</update_guid>\n<update_guid_history>ec4912726a23030037ba4dcc4b1ffdd9:-908716505</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_1a5ad67273230300e9d580844ff6a722</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"1a5ad67273230300e9d580844ff6a722\" sys_domain=\"global\" table=\"widget_with_image_sp_instance\" version=\"3\"><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>widget_with_image_sp_instance</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:11:15</sys_created_on><sys_domain>global</sys_domain><sys_domain_path/><sys_id>1a5ad67273230300e9d580844ff6a722</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_form_sections_1a5ad67273230300e9d580844ff6a722</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:11:15</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>-1972888514</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e08a323a73230300e9d580844ff6a7eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed490ba50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid>5e5ad672cb230300190ef12e0990c823</update_guid>\n<update_guid_history>5e5ad672cb230300190ef12e0990c823:-1972888514</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_widget_with_image_sp_instance_icon_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"icon\" label=\"Icon\" language=\"en\" table=\"widget_with_image_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>icon</element><help/><hint/><label>Icon</label><language>en</language><name>widget_with_image_sp_instance</name><plural>Icons</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:09:41</sys_created_on><sys_id>93f9d27273230300e9d580844ff6a7d6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Icon</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_widget_with_image_sp_instance_icon_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:09:41</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1288654433</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e48a323a73230300e9d580844ff6a7e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed479c890000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Icon</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>17f9d272482303005158299de85b7ae3</update_guid>\n<update_guid_history>17f9d272482303005158299de85b7ae3:-1288654433</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_a849127273230300e9d580844ff6a7d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>a849127273230300e9d580844ff6a7d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"widget_with_image_sp_instance\">a049127273230300e9d580844ff6a7d3</sys_security_acl><sys_update_name>sys_security_acl_role_a849127273230300e9d580844ff6a7d5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><sys_user_role display_value=\"widget_with_image_sp_instance_user\" name=\"widget_with_image_sp_instance_user\">e049127273230300e9d580844ff6a793</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>652763982</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e48a323a73230300e9d580844ff6a7ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b11b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>e4491272e4230300e6d2737244da4cd7</update_guid>\n<update_guid_history>e4491272e4230300e6d2737244da4cd7:652763982</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_m2m_widget_condition_table_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation action=\"DELETE\" element=\"table\" label=\"Table\" language=\"en\" table=\"m2m_widget_condition\"><sys_documentation action=\"DELETE\"><element>table</element><help/><hint/><label>Table</label><language>en</language><name>m2m_widget_condition</name><plural>Tables</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:11:04</sys_created_on><sys_id>734a967273230300e9d580844ff6a733</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Table</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_m2m_widget_condition_table_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:11:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>338714637</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e88a323a73230300e9d580844ff6a7e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed7a96b30000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>m2m_widget_condition</table>\n<target_name>m2m_widget_condition.table</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>8bb6263629230300148e73ed404c69b6</update_guid>\n<update_guid_history>8bb6263629230300148e73ed404c69b6:338714637,734a9672d32303005ed4f99e23ed0942:-441256387</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_2049127273230300e9d580844ff6a7d0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>2049127273230300e9d580844ff6a7d0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"widget_with_image_sp_instance\">6449127273230300e9d580844ff6a79b</sys_security_acl><sys_update_name>sys_security_acl_role_2049127273230300e9d580844ff6a7d0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><sys_user_role display_value=\"widget_with_image_sp_instance_user\" name=\"widget_with_image_sp_instance_user\">e049127273230300e9d580844ff6a793</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1506250793</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e88a323a73230300e9d580844ff6a7e9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b0b10000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance.widget_with_image_sp_instance_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>2449127235230300c445127b2741fdd2</update_guid>\n<update_guid_history>2449127235230300c445127b2741fdd2:-1506250793</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>widget_with_image_sp_instance_41d5aef273230300e9d580844ff6a77b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"widget_with_image_sp_instance\"><widget_with_image_sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><icon/><id/><image>bf26eef273230300e9d580844ff6a7c3.iix?t=m</image><order>0</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">79b39ef273230300e9d580844ff6a736</sp_column><sp_widget display_value=\"pe cta count\">7223daf273230300e9d580844ff6a7c7</sp_widget><sys_class_name>widget_with_image_sp_instance</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 03:01:25</sys_created_on><sys_id>41d5aef273230300e9d580844ff6a77b</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Service Catalogs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>widget_with_image_sp_instance_41d5aef273230300e9d580844ff6a77b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 03:03:18</sys_updated_on><title>Service Catalogs</title><url/><widget_parameters/></widget_with_image_sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=41d5aef273230300e9d580844ff6a77b\"/></record_update>]]></payload>\n<payload_hash>1095039733</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>e88a323a73230300e9d580844ff6a7ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed78b3380000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name>Service Catalogs</target_name>\n<type>Widget with image sp instance</type>\n<update_domain>global</update_domain>\n<update_guid>f8462236c023030053dce5c39a9fe995</update_guid>\n<update_guid_history>f8462236c023030053dce5c39a9fe995:1095039733,dc36eef2d323030085c81149e52e3ef5:747087890,ddd56ef213230300c7eb4005b8cfe4b2:-1507845557,09d5aef22a230300c0c713f1b08e197c:-2096780084</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_widget_with_image_sp_instance_image</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"image\" table=\"widget_with_image_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Image&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;image&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;widget_with_image_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-13 02:09:40&lt;/sys_created_on&gt;&lt;sys_id&gt;d549527273230300e9d580844ff6a704&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Image&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_widget_with_image_sp_instance_image&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-13 02:09:40&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>929511301</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ec8a323a73230300e9d580844ff6a7e5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed479c360000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance.Image</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>9ff9d272812303000a62602f79d933df</update_guid>\n<update_guid_history>9ff9d272812303000a62602f79d933df:929511301,5ff9527259230300b483364a64d4bab6:929511301</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_a449127273230300e9d580844ff6a7dd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on widget_with_image_sp_instance</description><name>widget_with_image_sp_instance</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:30</sys_created_on><sys_id>a449127273230300e9d580844ff6a7dd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>widget_with_image_sp_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_a449127273230300e9d580844ff6a7dd</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:06:30</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1677109483</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ec8a323a73230300e9d580844ff6a7e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed44b1ac0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>widget_with_image_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>60491272062303009fd8f4df27efdbdf</update_guid>\n<update_guid_history>60491272062303009fd8f4df27efdbdf:-1677109483</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_3c2a9e3273230300e9d580844ff6a7e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><grantable>true</grantable><includes_roles/><name>m2m_widget_condition_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:10:19</sys_created_on><sys_id>3c2a9e3273230300e9d580844ff6a7e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_widget_condition_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_3c2a9e3273230300e9d580844ff6a7e9</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:10:19</sys_updated_on></sys_user_role></record_update>]]></payload>\n<payload_hash>374969781</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ec8a323a73230300e9d580844ff6a7eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed4832940000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table/>\n<target_name>m2m_widget_condition_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_guid>b42a1672ab230300510eb5c6dc4954d9</update_guid>\n<update_guid_history>b42a1672ab230300510eb5c6dc4954d9:374969781</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_c039de3273230300e9d580844ff6a79d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Widget with image sp instance</label><live_feed_enabled>false</live_feed_enabled><name>widget_with_image_sp_instance</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">af452412dd910300440b2294e69e9730</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>admin</sys_created_by><sys_created_on>2018-01-13 02:06:29</sys_created_on><sys_id>c039de3273230300e9d580844ff6a79d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Widget with image sp instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_c039de3273230300e9d580844ff6a79d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-01-13 02:09:41</sys_updated_on><update_access>false</update_access><user_role display_value=\"widget_with_image_sp_instance_user\" name=\"widget_with_image_sp_instance_user\">e049127273230300e9d580844ff6a793</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>2117508568</payload_hash>\n<remote_update_set display_value=\"pe-cta-count\">248afef673230300e9d580844ff6a7b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-13 04:31:46</sys_created_on>\n<sys_id>ec8afef673230300e9d580844ff6a7b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160ed479ce70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-13 04:31:46</sys_updated_on>\n<table>widget_with_image_sp_instance</table>\n<target_name>Widget with image sp instance</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>13f9d2720623030056a53af6f31820e9</update_guid>\n<update_guid_history>13f9d2720623030056a53af6f31820e9:2117508568,74491272da2303000c9051392ea292f4:2117508568</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-cta-count/widget/pe-cta-count.u-body-html-template.html",
    "content": "<a ng-href=\"{{c.options.url}}\">\n  <div ng-style=\"c.customStyle\" class=\"personal-items-wrapper\">\n      <img ng-src=\"{{c.options.icon}}\" alt=\"\">\n      <h3>{{::c.options.title}} ({{c.data.count}})</h3>\n  </div>\n</a>\n"
  },
  {
    "path": "pe-cta-count/widget/pe-cta-count.u-client-script.js",
    "content": "function CTACountCtrl() {\n  /* widget controller */\n  var c = this;\n  c.$onInit = function () {\n      c.customStyle = {\n          \"background-image\": 'url(' + c.options.image + ')'\n      }\n  };\n}\n"
  },
  {
    "path": "pe-cta-count/widget/pe-cta-count.u-css.scss",
    "content": ".personal-items-wrapper {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: baseline;\n  height: 180px;\n  padding: 0 40px;\n  background-size: cover;\n}\n\na {\n  color: #fff;\n}"
  },
  {
    "path": "pe-cta-count/widget/pe-cta-count.u-option-schema.json",
    "content": "[{\"name\":\"link\",\"label\":\"Link\",\"type\":\"string\"}]"
  },
  {
    "path": "pe-cta-count/widget/pe-cta-count.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  data.count = 0;\n\n\n  var conditions = $sp.getRelatedList('x_snc_custom_sp_in_m2m_condition_sp_instance', 'widget_instance');\n\n\n  var gr;\n  data.count = 0;\n  conditions.forEach(function (item) {\n      gr = new GlideRecordSecure(item.table);\n      gr.addEncodedQuery(item.conditions);\n      gr.query();\n      var count = gr.getRowCount();\n      data.count = data.count + count;\n  });\n\n\n})();"
  },
  {
    "path": "pe-custom-header/README.md",
    "content": "# Custom Header\n\n## Description\n\nCustom header with hamburger menu.\n\n## Screenshots\n![alt text](../images/pe-custom-header.png \"Custom Header\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-custom-header.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-custom-header/pe-custom-header.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal styles configuration to make it easy to customize and extend.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-custom-header/pe-custom-header.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-03 13:25:05\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-custom-header.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>5f7fa964db3bb2004e5cfa131f96195b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:25:05</sys_created_on>\n<sys_id>d520b1a4db3bb2004e5cfa131f9619ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:25:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_header_footer_69f26c1bdb63f20086da7d5e0f96198e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_header_footer\"&gt;&lt;sp_header_footer action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ($rootScope, $scope, snRecordWatcher, spUtil, $location, $uibModal, cabrillo, $timeout) {\n  var c = this;\n\n  $scope.userID = $scope.user.sys_id;\n  if (cabrillo.isNative())\n    $scope.isViewNative = true;\n\n  $scope.openPopUp = function () {\n    var url = \"$chat_support.do?queueID=\" + $scope.data.connect_support_queue_id;\n    var popup = window.open(url, \"popup\", \"width=900, height=600\");\n  };\n\n  $scope.openLogin = function () {\n    $scope.modalInstance = $uibModal.open({\n      templateUrl: 'modalLogin',\n      scope: $scope\n    });\n  };\n\n  $rootScope.$on('sp.avatar_changed', function () {\n    $scope.userID = \"\";\n    $timeout(function () {\n      $scope.userID = $scope.user.sys_id;\n    });\n  });\n\n  $scope.isHomepage = function () {\n    if (!$scope.page.id)\n      return true;\n\n    if ($scope.page.id == $scope.portal.homepage_dv)\n      return true;\n\n    return false;\n  };\n\n  c.reset = function () {\n    c.server.get({\n      action: 'reset'\n    }).then(function (response) {\n      window.location.reload();\n    });\n  }\n\n\n  c.goBack = function () {\n    window.history.back();\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;#sp-nav-bar {\n  clear: both;\n  color: white;\n  position: absolute;\n  top: 15px;\n  z-index: 15;\n  background-color: white;\n  width: 100%;\n  padding: 0 15px;\n  left: 0;\n}\n\n.back-btn {\n  position: absolute;\n  top: 50%;\n  margin-top: -3px;\n  background-color: transparent;\n  border: none;\n}\n\n.page-title {\n  padding-bottom: 10px;\n  h3 {\n    margin: 19px 0 0 0;\n    text-align: center;\n    font-size: 18px;\n    font-weight: 600;\n  }\n}\n\n.user-header {\n  padding-top: 20px;\n  .user-avatar-pic {\n    width: 50px;\n    height: 50px;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);\n    margin-right: 12px;\n    position: absolute;\n    right: 0;\n  }\n  .logo {\n    float: left;\n    svg {\n      width: 35px;\n      height: 40px;\n    }\n  }\n  .title {\n    font-size: 18px;\n    float: left;\n    margin-left: 15px;\n    line-height: 40px;\n    color: white;\n  }\n  .user-greeting {\n    margin-top: 3px;\n    font-size: 14px;\n    float: none;\n    padding-left: 40px;\n  }\n}\n\n.navbar {\n  margin-bottom: 0;\n  height: 80px;\n}\n\n.navbar-toggle {\n  position: absolute;\n  top: 8px;\n  right: 0;\n  display: block;\n  .icon-bar {\n    background-color: white;\n  }\n}\n\n.page-title {\n  padding-top: 10px;\n}\n\n.extended {\n  height: 213px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;custom-header&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element) {\t\n\t$(element).on('click.nav','.navbar-collapse.in',function(e) {\t\n\t\tvar target = $(e.target);\n\t\tif (target.is('a')) {\n\t\t\t// collapse mobile nav if clicked an anchor\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t// if neither target nor parent is an anchor, do nothing\n\t\tif (!target.parent().is('a'))\n\t\t\treturn;\n\t\t\n\t\t// collapse mobile nav if target is part of a submenu\n\t\tif (target.parents(\"ul.dropdown-menu\").length &gt; 0)\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t});\n}]]&gt;&lt;/link&gt;&lt;name&gt;Custom Header&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  // Defines the support queue ID that will be linked to by the Live Chat link in header\n  if (input) {\n    if (input.action == 'reset') {\n      gr = GlideRecord('sc_cat_item');\n      gr.get('149849dd13dcb20063815c122244b0c0');\n      gr.active = false;\n      gr.update();\n      return;\n\n    }\n  }\n\n  data.connect_support_queue_id = $sp.getValue('sp_chat_queue');\n  data.login_page = $sp.getValue('login_page');\n  var menu = $sp.getValue(\"sp_rectangle_menu\");\n  data.menu = $sp.getWidgetFromInstance(menu);\n  if (data.menu &amp;&amp; data.menu.data) {\n    data.menu.data.replace = true;\n    // Hide login if menu already has link to login\n    data.hasLogin = false;\n    if (data.menu.data.menu.items) {\n      for (var i in data.menu.data.menu.items) {\n        var item = data.menu.data.menu.items[i];\n        if (item.type == 'page' &amp;&amp; item.sp_page == data.login_page)\n          data.hasLogin = true;\n      }\n    }\n  }\n\n  data.loginWidget = $sp.getWidgetFromInstance('login-modal');\n  data.typeahead = $sp.getWidgetFromInstance('typeahead-search');\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_header_footer&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-29 10:38:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;69f26c1bdb63f20086da7d5e0f96198e&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;Custom Header&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_header_footer_69f26c1bdb63f20086da7d5e0f96198e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 13:23:43&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n    &lt;symbol id=\"small-logo\"&gt;\n        &lt;svg width=\"35px\" height=\"40px\" viewBox=\"0 0 35 40\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n            &lt;defs&gt;\n                &lt;path d=\"M27.68282,14.2970696 C28.4197386,15.2537724 29.5382756,15.8649992 30.8410423,15.8649992 C33.051798,15.8649992 34.8677758,14.0711814 34.8677758,11.7990123 C34.8677758,9.52684312 33.0912757,7.73302537 30.8410423,7.73302537 C28.6302867,7.73302537 26.8143089,9.52684312 26.8143089,11.7990123 C26.8143089,12.3172263 26.9064237,12.8885905 27.1169719,13.3270793 L20.6294568,17.167178 C20.3267939,16.7286892 19.9320161,16.4230758 19.5109198,16.157325 C19.5109198,16.157325 19.471442,16.157325 19.471442,16.1174624 L19.4319642,16.1174624 C19.3398494,16.0775998 19.2608938,16.0244497 19.2214161,15.984587 C19.1293012,15.9447244 19.0503457,15.8915743 18.9582309,15.8915743 C18.9187531,15.8915743 18.9187531,15.8517117 18.8661161,15.8517117 C18.6029309,15.7586989 18.3002679,15.6789736 18.050242,15.639111 L18.050242,8.09178892 C18.5239753,7.99877615 19.0503457,7.82603814 19.524079,7.5735749 C21.4321717,6.44413409 22.1164532,3.99922693 20.9979161,2.03267117 C19.879379,0.105978026 17.4580753,-0.584973998 15.5105048,0.544466811 C13.5629344,1.67390762 12.9049714,4.13210232 14.0235085,6.08537054 C14.6683122,7.21481135 15.7473715,7.91905091 16.9185456,8.0519263 L16.9185456,15.6523986 C16.9185456,15.6523986 16.9185456,15.6523986 16.8790678,15.6523986 C15.8394863,15.785274 14.8920196,16.303488 14.2472159,17.1804655 L7.72022313,13.420092 C8.1544787,12.3305138 8.11500092,11.0150475 7.50967498,9.88560667 C6.37797865,7.97220107 3.95667488,7.26796151 2.00910445,8.39740231 C0.153648839,9.54013066 -0.504314144,11.9850378 0.587904407,13.9515936 C1.70644148,15.8782867 4.12774525,16.5692388 6.07531568,15.4397979 C6.54904903,15.1740472 6.94382682,14.8285712 7.24648979,14.429945 L13.7340048,18.1903185 C13.339227,19.2001715 13.339227,20.2897497 13.7340048,21.2464525 L7.20701201,25.006826 C6.90434904,24.6081998 6.50957125,24.2627238 6.0358379,23.996973 C4.12774525,22.8542447 1.6669637,23.5451967 0.535267368,25.4718898 C-0.596428961,27.398583 0.140489579,29.79034 2.04858223,30.9330683 C3.95667488,32.0625091 6.41745643,31.3715571 7.5359935,29.444864 C8.18079722,28.3154232 8.23343426,26.9999568 7.74654165,25.9103786 L14.2735344,22.1500051 C14.5367196,22.4954811 14.8788604,22.8010945 15.2210011,23.0269827 L15.2210011,23.0269827 C15.313116,23.0668453 15.4315493,23.1598581 15.5236641,23.1997207 C15.5631419,23.1997207 15.5631419,23.2395833 15.6157789,23.2395833 C15.7078937,23.2794459 15.7868493,23.3325961 15.8789641,23.3724587 C15.9184419,23.3724587 15.9710789,23.4123213 15.9710789,23.4123213 C16.0631937,23.4521839 16.1421493,23.5053341 16.2342641,23.5053341 C16.2737419,23.5053341 16.3263789,23.5053341 16.3263789,23.5451967 C16.4184938,23.5850593 16.5369271,23.5850593 16.6290419,23.6382095 L16.6685197,23.6382095 C16.7606345,23.6382095 16.8395901,23.6780721 16.8790678,23.6780721 L16.8790678,31.2785443 C15.7078937,31.4512823 14.5893567,32.1555219 13.9840307,33.2451001 C12.8654937,35.1717932 13.5497752,37.656563 15.4578678,38.7860038 C17.3659605,39.9154446 19.826742,39.2244926 20.9452791,37.2977995 C22.0638161,35.3711063 21.3795346,32.8863366 19.471442,31.7568957 C18.9977087,31.491145 18.4713383,31.318407 17.9976049,31.2386817 L17.9581271,23.6913596 C18.4713383,23.5983468 18.9582309,23.4256088 19.3793272,23.2130082 L19.418805,23.2130082 L19.4582827,23.2130082 C19.5503976,23.1731456 19.6293531,23.1199954 19.7214679,23.0402702 C19.7609457,23.0004076 19.8135827,22.9472574 19.8530605,22.9472574 C19.8925383,22.9073948 19.9451753,22.8542447 20.0241309,22.814382 C20.1162457,22.7213693 20.1952013,22.6815067 20.2873161,22.6017814 L20.3267939,22.5619188 C20.4189087,22.468906 20.537342,22.3493182 20.6294568,22.2563054 L27.1169719,26.0565415 C26.9459015,26.5348929 26.8143089,27.0663945 26.8143089,27.5846085 C26.8143089,29.8169151 28.5908089,31.6505954 30.8410423,31.6505954 C33.051798,31.6505954 34.8677758,29.8567777 34.8677758,27.5846085 C34.8677758,25.3124394 33.0912757,23.5186216 30.8410423,23.5186216 C29.5382756,23.5186216 28.4197386,24.1298484 27.68282,25.0865512 L21.195305,21.2863151 C21.3268976,20.9807017 21.3663754,20.7149509 21.4584902,20.4093375 L21.4584902,20.4093375 C21.4584902,20.2764621 21.497968,20.1435867 21.497968,20.0638615 C21.497968,20.0638615 21.497968,20.0638615 21.497968,20.0239989 L21.497968,19.6785229 L21.497968,19.6785229 C21.497968,19.2001715 21.3663754,18.7218201 21.195305,18.2434687 L27.68282,14.2970696 Z M30.8410423,8.88904126 C32.4859498,8.88904126 33.7755572,10.2045076 33.7755572,11.8521624 C33.7755572,13.4998173 32.4727905,14.8152836 30.8410423,14.8152836 C29.1961349,14.8152836 27.9065274,13.4998173 27.9065274,11.8521624 C27.9065274,10.2045076 29.1961349,8.88904126 30.8410423,8.88904126 Z M5.54894529,14.4698076 C4.12774525,15.293635 2.3512452,14.8152836 1.52221184,13.3802294 C0.693178484,11.9451752 1.19323035,10.1513575 2.61443039,9.3142425 C4.03563043,8.49041509 5.81213049,8.96876649 6.64116384,10.4038207 C7.4701972,11.8388749 6.98330459,13.6459802 5.54894529,14.4698076 Z M6.58852681,28.9133624 C5.77265271,30.3484166 3.99615266,30.8400556 2.56179335,30.0029406 C1.14059331,29.1791132 0.653700705,27.3852954 1.48273406,25.9369537 C2.31176742,24.488612 4.07510821,24.0102606 5.50946751,24.8473755 C6.94382682,25.6844905 7.41756016,27.4783082 6.58852681,28.9133624 Z M30.8410423,24.515187 C32.4859498,24.515187 33.7755572,25.8306534 33.7755572,27.4783082 C33.7755572,29.1392506 32.4727905,30.4414294 30.8410423,30.4414294 C29.1961349,30.4414294 27.9065274,29.125963 27.9065274,27.4783082 C27.9065274,25.8572285 29.1961349,24.515187 30.8410423,24.515187 Z M14.9841345,5.56715652 C14.1682604,4.13210232 14.6419937,2.33828457 16.0631937,1.50116961 C17.444916,0.6773422 19.2214161,1.1556936 20.0372902,2.59074781 C20.8531643,4.02580201 20.3794309,5.81961976 18.9582309,6.65673472 C17.5765086,7.44069951 15.7605308,6.96234811 14.9841345,5.56715652 Z M18.9582309,32.6737359 C20.3794309,33.4975633 20.8663235,35.2913811 20.0372902,36.7397228 C19.2214161,38.174777 17.444916,38.666416 16.0105567,37.829301 C14.5893567,37.0054736 14.1024641,35.2116559 14.9314974,33.7633141 C15.7605308,32.3282599 17.5238716,31.8499085 18.9582309,32.6737359 Z\"\n                    id=\"sm-logo-path-1\"&gt;&lt;/path&gt;\n                &lt;mask id=\"mask-2\" maskContentUnits=\"userSpaceOnUse\" maskUnits=\"objectBoundingBox\" x=\"0\" y=\"0\" width=\"34.8677758\" height=\"39.3304706\"\n                    fill=\"white\"&gt;\n                    &lt;use xlink:href=\"#sm-logo-path-1\"&gt;&lt;/use&gt;\n                &lt;/mask&gt;\n            &lt;/defs&gt;\n            &lt;g id=\"Group\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n                &lt;use id=\"Shape\" stroke=\"#364250\" mask=\"url(#mask-2)\" stroke-width=\"0.6\" fill=\"#FFFFFF\" xlink:href=\"#sm-logo-path-1\"&gt;&lt;/use&gt;\n                &lt;ellipse id=\"sm-logo-Oval\" fill=\"#242A38\" cx=\"17.5\" cy=\"19.5695047\" rx=\"8.90350877\" ry=\"8.99030208\"&gt;&lt;/ellipse&gt;\n                &lt;polygon id=\"sm-logo-Shape\" fill=\"#FFFFFF\" points=\"19.1066482 12.4461207 12.8947368 21.5277943 17.0041551 21.5277943 15.421976 27.50004 21.6338873 18.4183665 17.5244691 18.4183665\"&gt;&lt;/polygon&gt;\n            &lt;/g&gt;\n        &lt;/svg&gt;\n    &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"header\" ng-hide=\"$root.hideHeader\" ng-class=\"{'extended': $root.extendedHeader}\"&gt;\n    &lt;nav class=\"navbar navbar-inverse container\" ng-show=\"::!isViewNative\"&gt;\n        &lt;div class=\"row\"&gt;\n            &lt;div class=\"col-xs-12\"&gt;\n                &lt;div class=\"user-header\" ng-hide=\"$root.title\"&gt;\n                    &lt;div class=\"logo\"&gt;\n                        &lt;svg&gt;\n                            &lt;use xlink:href=\"#small-logo\"&gt;&lt;/use&gt;\n                        &lt;/svg&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"title\"&gt;\n                        Lightspeed Cable\n                    &lt;/div&gt;\n                    &lt;button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#sp-nav-bar\"&gt;\n&lt;span class=\"sr-only\"&gt;${Toggle navigation}&lt;/span&gt;\n&lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n&lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n&lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n&lt;/button&gt;\n                &lt;/div&gt;\n                &lt;div class=\"user-header page-title\" ng-show=\"$root.title\"&gt;\n                    &lt;button class=\"back-btn\" ng-click=\"c.goBack()\"&gt;\n&lt;svg viewBox=\"0 0 12 22\" width=\"12px\" height=\"22px\"&gt;\n&lt;use xlink:href=\"#back-arrow\"&gt;&lt;/use&gt;\n&lt;/svg&gt;\n&lt;/button&gt;\n                    &lt;h3&gt;{{$root.title}}&lt;/h3&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-12\"&gt;\n                &lt;div class=\"collapse\" id=\"sp-nav-bar\"&gt;\n                    &lt;ul ng-if=\"::(!user.logged_in &amp;&amp; page.id != portal.login_page_dv &amp;&amp; !data.hasLogin)\" class=\"nav navbar-nav\"&gt;\n                        &lt;li&gt;&lt;a href ng-click=\"openLogin()\"&gt;${Login}&lt;/a&gt;&lt;/li&gt;\n                    &lt;/ul&gt;\n                    &lt;ul ng-if=\"::user.logged_in\" class=\"nav navbar-nav\"&gt;\n                        &lt;li class=\"\"&gt;&lt;a href=\"http://www.snexperiences.com\"&gt;SNExperiences&lt;/a&gt;&lt;/li&gt;\n                        &lt;li class=\"\"&gt;&lt;a href=\"{{::portal.logoutUrl}}\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n                    &lt;/ul&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/nav&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_header_footer&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-688150188</payload_hash>\n<remote_update_set display_value=\"pe-custom-header.u-update-set.xml\">d520b1a4db3bb2004e5cfa131f9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:25:05</sys_created_on>\n<sys_id>9920b1a4db3bb2004e5cfa131f9619ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d089efd300000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:25:05</sys_updated_on>\n<table/>\n<target_name>Custom Header</target_name>\n<type>Header | Footer</type>\n<update_domain>global</update_domain>\n<update_guid>99dfed64543bb200193c146b05859524</update_guid>\n<update_guid_history>99dfed64543bb200193c146b05859524:-688150188,48dfad64623bb200f4695777c0bb70fa:-1014429972,aee849ac573fb200cf4e2b1ca4a945cc:-688150188,00c809acc93fb200b0ae1aa16744abba:-1707795564,0a8845e485b7b2008465085eeb74803c:372276582,-207493077:-207493077,26145022:26145022,1381430299:1381430299,-1916335460:-1916335460,1211267835:1211267835,1947865993:1947865993,467705929:467705929,-1920397587:-1920397587,1728400685:1728400685,-1920397587:-1920397587,332038812:332038812,-418928415:-418928415,447336409:447336409,549259201:549259201</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-custom-header/widget/pe-custom-header.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"small-logo\">\n    <svg width=\"35px\" height=\"40px\" viewBox=\"0 0 35 40\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <defs>\n        <path d=\"M27.68282,14.2970696 C28.4197386,15.2537724 29.5382756,15.8649992 30.8410423,15.8649992 C33.051798,15.8649992 34.8677758,14.0711814 34.8677758,11.7990123 C34.8677758,9.52684312 33.0912757,7.73302537 30.8410423,7.73302537 C28.6302867,7.73302537 26.8143089,9.52684312 26.8143089,11.7990123 C26.8143089,12.3172263 26.9064237,12.8885905 27.1169719,13.3270793 L20.6294568,17.167178 C20.3267939,16.7286892 19.9320161,16.4230758 19.5109198,16.157325 C19.5109198,16.157325 19.471442,16.157325 19.471442,16.1174624 L19.4319642,16.1174624 C19.3398494,16.0775998 19.2608938,16.0244497 19.2214161,15.984587 C19.1293012,15.9447244 19.0503457,15.8915743 18.9582309,15.8915743 C18.9187531,15.8915743 18.9187531,15.8517117 18.8661161,15.8517117 C18.6029309,15.7586989 18.3002679,15.6789736 18.050242,15.639111 L18.050242,8.09178892 C18.5239753,7.99877615 19.0503457,7.82603814 19.524079,7.5735749 C21.4321717,6.44413409 22.1164532,3.99922693 20.9979161,2.03267117 C19.879379,0.105978026 17.4580753,-0.584973998 15.5105048,0.544466811 C13.5629344,1.67390762 12.9049714,4.13210232 14.0235085,6.08537054 C14.6683122,7.21481135 15.7473715,7.91905091 16.9185456,8.0519263 L16.9185456,15.6523986 C16.9185456,15.6523986 16.9185456,15.6523986 16.8790678,15.6523986 C15.8394863,15.785274 14.8920196,16.303488 14.2472159,17.1804655 L7.72022313,13.420092 C8.1544787,12.3305138 8.11500092,11.0150475 7.50967498,9.88560667 C6.37797865,7.97220107 3.95667488,7.26796151 2.00910445,8.39740231 C0.153648839,9.54013066 -0.504314144,11.9850378 0.587904407,13.9515936 C1.70644148,15.8782867 4.12774525,16.5692388 6.07531568,15.4397979 C6.54904903,15.1740472 6.94382682,14.8285712 7.24648979,14.429945 L13.7340048,18.1903185 C13.339227,19.2001715 13.339227,20.2897497 13.7340048,21.2464525 L7.20701201,25.006826 C6.90434904,24.6081998 6.50957125,24.2627238 6.0358379,23.996973 C4.12774525,22.8542447 1.6669637,23.5451967 0.535267368,25.4718898 C-0.596428961,27.398583 0.140489579,29.79034 2.04858223,30.9330683 C3.95667488,32.0625091 6.41745643,31.3715571 7.5359935,29.444864 C8.18079722,28.3154232 8.23343426,26.9999568 7.74654165,25.9103786 L14.2735344,22.1500051 C14.5367196,22.4954811 14.8788604,22.8010945 15.2210011,23.0269827 L15.2210011,23.0269827 C15.313116,23.0668453 15.4315493,23.1598581 15.5236641,23.1997207 C15.5631419,23.1997207 15.5631419,23.2395833 15.6157789,23.2395833 C15.7078937,23.2794459 15.7868493,23.3325961 15.8789641,23.3724587 C15.9184419,23.3724587 15.9710789,23.4123213 15.9710789,23.4123213 C16.0631937,23.4521839 16.1421493,23.5053341 16.2342641,23.5053341 C16.2737419,23.5053341 16.3263789,23.5053341 16.3263789,23.5451967 C16.4184938,23.5850593 16.5369271,23.5850593 16.6290419,23.6382095 L16.6685197,23.6382095 C16.7606345,23.6382095 16.8395901,23.6780721 16.8790678,23.6780721 L16.8790678,31.2785443 C15.7078937,31.4512823 14.5893567,32.1555219 13.9840307,33.2451001 C12.8654937,35.1717932 13.5497752,37.656563 15.4578678,38.7860038 C17.3659605,39.9154446 19.826742,39.2244926 20.9452791,37.2977995 C22.0638161,35.3711063 21.3795346,32.8863366 19.471442,31.7568957 C18.9977087,31.491145 18.4713383,31.318407 17.9976049,31.2386817 L17.9581271,23.6913596 C18.4713383,23.5983468 18.9582309,23.4256088 19.3793272,23.2130082 L19.418805,23.2130082 L19.4582827,23.2130082 C19.5503976,23.1731456 19.6293531,23.1199954 19.7214679,23.0402702 C19.7609457,23.0004076 19.8135827,22.9472574 19.8530605,22.9472574 C19.8925383,22.9073948 19.9451753,22.8542447 20.0241309,22.814382 C20.1162457,22.7213693 20.1952013,22.6815067 20.2873161,22.6017814 L20.3267939,22.5619188 C20.4189087,22.468906 20.537342,22.3493182 20.6294568,22.2563054 L27.1169719,26.0565415 C26.9459015,26.5348929 26.8143089,27.0663945 26.8143089,27.5846085 C26.8143089,29.8169151 28.5908089,31.6505954 30.8410423,31.6505954 C33.051798,31.6505954 34.8677758,29.8567777 34.8677758,27.5846085 C34.8677758,25.3124394 33.0912757,23.5186216 30.8410423,23.5186216 C29.5382756,23.5186216 28.4197386,24.1298484 27.68282,25.0865512 L21.195305,21.2863151 C21.3268976,20.9807017 21.3663754,20.7149509 21.4584902,20.4093375 L21.4584902,20.4093375 C21.4584902,20.2764621 21.497968,20.1435867 21.497968,20.0638615 C21.497968,20.0638615 21.497968,20.0638615 21.497968,20.0239989 L21.497968,19.6785229 L21.497968,19.6785229 C21.497968,19.2001715 21.3663754,18.7218201 21.195305,18.2434687 L27.68282,14.2970696 Z M30.8410423,8.88904126 C32.4859498,8.88904126 33.7755572,10.2045076 33.7755572,11.8521624 C33.7755572,13.4998173 32.4727905,14.8152836 30.8410423,14.8152836 C29.1961349,14.8152836 27.9065274,13.4998173 27.9065274,11.8521624 C27.9065274,10.2045076 29.1961349,8.88904126 30.8410423,8.88904126 Z M5.54894529,14.4698076 C4.12774525,15.293635 2.3512452,14.8152836 1.52221184,13.3802294 C0.693178484,11.9451752 1.19323035,10.1513575 2.61443039,9.3142425 C4.03563043,8.49041509 5.81213049,8.96876649 6.64116384,10.4038207 C7.4701972,11.8388749 6.98330459,13.6459802 5.54894529,14.4698076 Z M6.58852681,28.9133624 C5.77265271,30.3484166 3.99615266,30.8400556 2.56179335,30.0029406 C1.14059331,29.1791132 0.653700705,27.3852954 1.48273406,25.9369537 C2.31176742,24.488612 4.07510821,24.0102606 5.50946751,24.8473755 C6.94382682,25.6844905 7.41756016,27.4783082 6.58852681,28.9133624 Z M30.8410423,24.515187 C32.4859498,24.515187 33.7755572,25.8306534 33.7755572,27.4783082 C33.7755572,29.1392506 32.4727905,30.4414294 30.8410423,30.4414294 C29.1961349,30.4414294 27.9065274,29.125963 27.9065274,27.4783082 C27.9065274,25.8572285 29.1961349,24.515187 30.8410423,24.515187 Z M14.9841345,5.56715652 C14.1682604,4.13210232 14.6419937,2.33828457 16.0631937,1.50116961 C17.444916,0.6773422 19.2214161,1.1556936 20.0372902,2.59074781 C20.8531643,4.02580201 20.3794309,5.81961976 18.9582309,6.65673472 C17.5765086,7.44069951 15.7605308,6.96234811 14.9841345,5.56715652 Z M18.9582309,32.6737359 C20.3794309,33.4975633 20.8663235,35.2913811 20.0372902,36.7397228 C19.2214161,38.174777 17.444916,38.666416 16.0105567,37.829301 C14.5893567,37.0054736 14.1024641,35.2116559 14.9314974,33.7633141 C15.7605308,32.3282599 17.5238716,31.8499085 18.9582309,32.6737359 Z\"\n          id=\"sm-logo-path-1\"></path>\n        <mask id=\"mask-2\" maskContentUnits=\"userSpaceOnUse\" maskUnits=\"objectBoundingBox\" x=\"0\" y=\"0\" width=\"34.8677758\" height=\"39.3304706\"\n          fill=\"white\">\n          <use xlink:href=\"#sm-logo-path-1\"></use>\n        </mask>\n      </defs>\n      <g id=\"Group\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <use id=\"Shape\" stroke=\"#364250\" mask=\"url(#mask-2)\" stroke-width=\"0.6\" fill=\"#FFFFFF\" xlink:href=\"#sm-logo-path-1\"></use>\n        <ellipse id=\"sm-logo-Oval\" fill=\"#242A38\" cx=\"17.5\" cy=\"19.5695047\" rx=\"8.90350877\" ry=\"8.99030208\"></ellipse>\n        <polygon id=\"sm-logo-Shape\" fill=\"#FFFFFF\" points=\"19.1066482 12.4461207 12.8947368 21.5277943 17.0041551 21.5277943 15.421976 27.50004 21.6338873 18.4183665 17.5244691 18.4183665\"></polygon>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<div class=\"header\" ng-hide=\"$root.hideHeader\" ng-class=\"{'extended': $root.extendedHeader}\">\n  <nav class=\"navbar navbar-inverse container\" ng-show=\"::!isViewNative\">\n    <div class=\"row\">\n      <div class=\"col-xs-12\">\n        <div class=\"user-header\" ng-hide=\"$root.title\">\n          <div class=\"logo\">\n            <svg>\n              <use xlink:href=\"#small-logo\"></use>\n            </svg>\n          </div>\n          <div class=\"title\">\n            Lightspeed Cable\n          </div>\n          <button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#sp-nav-bar\">\n<span class=\"sr-only\">${Toggle navigation}</span>\n<span class=\"icon-bar\"></span>\n<span class=\"icon-bar\"></span>\n<span class=\"icon-bar\"></span>\n</button>\n        </div>\n        <div class=\"user-header page-title\" ng-show=\"$root.title\">\n          <button class=\"back-btn\" ng-click=\"c.goBack()\">\n<svg viewBox=\"0 0 12 22\" width=\"12px\" height=\"22px\">\n<use xlink:href=\"#back-arrow\"></use>\n</svg>\n</button>\n          <h3>{{$root.title}}</h3>\n        </div>\n      </div>\n      <div class=\"col-xs-12\">\n        <div class=\"collapse\" id=\"sp-nav-bar\">\n          <ul ng-if=\"::(!user.logged_in && page.id != portal.login_page_dv && !data.hasLogin)\" class=\"nav navbar-nav\">\n            <li><a href ng-click=\"openLogin()\">${Login}</a></li>\n          </ul>\n          <ul ng-if=\"::user.logged_in\" class=\"nav navbar-nav\">\n            <li class=\"\"><a href=\"http://www.snexperiences.com\">SNExperiences</a></li>\n            <li class=\"\"><a href=\"{{::portal.logoutUrl}}\">${Logout}</a></li>\n          </ul>\n        </div>\n      </div>\n    </div>\n  </nav>\n</div>"
  },
  {
    "path": "pe-custom-header/widget/pe-custom-header.u-client-script.js",
    "content": "function CustomHeaderController($rootScope, $scope, snRecordWatcher, spUtil, $location, $uibModal, cabrillo, $timeout) {\n  var c = this;\n\n  $scope.userID = $scope.user.sys_id;\n  if (cabrillo.isNative())\n    $scope.isViewNative = true;\n\n  $scope.openPopUp = function () {\n    var url = \"$chat_support.do?queueID=\" + $scope.data.connect_support_queue_id;\n    var popup = window.open(url, \"popup\", \"width=900, height=600\");\n  };\n\n  $scope.openLogin = function () {\n    $scope.modalInstance = $uibModal.open({\n      templateUrl: 'modalLogin',\n      scope: $scope\n    });\n  };\n\n  $rootScope.$on('sp.avatar_changed', function () {\n    $scope.userID = \"\";\n    $timeout(function () {\n      $scope.userID = $scope.user.sys_id;\n    });\n  });\n\n  $scope.isHomepage = function () {\n    if (!$scope.page.id)\n      return true;\n\n    if ($scope.page.id == $scope.portal.homepage_dv)\n      return true;\n\n    return false;\n  };\n\n  c.reset = function () {\n    c.server.get({\n      action: 'reset'\n    }).then(function (response) {\n      window.location.reload();\n    });\n  }\n\n\n  c.goBack = function () {\n    window.history.back();\n  };\n}"
  },
  {
    "path": "pe-custom-header/widget/pe-custom-header.u-css.scss",
    "content": "#sp-nav-bar {\n  clear: both;\n  color: white;\n  position: absolute;\n  top: 15px;\n  z-index: 15;\n  background-color: white;\n  width: 100%;\n  padding: 0 15px;\n  left: 0;\n}\n\n.back-btn {\n  position: absolute;\n  top: 50%;\n  margin-top: -3px;\n  background-color: transparent;\n  border: none;\n}\n\n.page-title {\n  padding-bottom: 10px;\n  h3 {\n    margin: 19px 0 0 0;\n    text-align: center;\n    font-size: 18px;\n    font-weight: 600;\n  }\n}\n\n.user-header {\n  padding-top: 20px;\n  .user-avatar-pic {\n    width: 50px;\n    height: 50px;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);\n    margin-right: 12px;\n    position: absolute;\n    right: 0;\n  }\n  .logo {\n    float: left;\n    svg {\n      width: 35px;\n      height: 40px;\n    }\n  }\n  .title {\n    font-size: 18px;\n    float: left;\n    margin-left: 15px;\n    line-height: 40px;\n    color: white;\n  }\n  .user-greeting {\n    margin-top: 3px;\n    font-size: 14px;\n    float: none;\n    padding-left: 40px;\n  }\n}\n\n.navbar {\n  margin-bottom: 0;\n  height: 80px;\n}\n\n.navbar-toggle {\n  position: absolute;\n  top: 8px;\n  right: 0;\n  display: block;\n  .icon-bar {\n    background-color: white;\n  }\n}\n\n.page-title {\n  padding-top: 10px;\n}\n\n.extended {\n  height: 213px;\n}"
  },
  {
    "path": "pe-custom-header/widget/pe-custom-header.u-server-script.js",
    "content": "(function () {\n  // Defines the support queue ID that will be linked to by the Live Chat link in header\n  if (input) {\n    if (input.action == 'reset') {\n      gr = GlideRecord('sc_cat_item');\n      gr.get('149849dd13dcb20063815c122244b0c0');\n      gr.active = false;\n      gr.update();\n      return;\n\n    }\n  }\n\n  data.connect_support_queue_id = $sp.getValue('sp_chat_queue');\n  data.login_page = $sp.getValue('login_page');\n  var menu = $sp.getValue(\"sp_rectangle_menu\");\n  data.menu = $sp.getWidgetFromInstance(menu);\n  if (data.menu && data.menu.data) {\n    data.menu.data.replace = true;\n    // Hide login if menu already has link to login\n    data.hasLogin = false;\n    if (data.menu.data.menu.items) {\n      for (var i in data.menu.data.menu.items) {\n        var item = data.menu.data.menu.items[i];\n        if (item.type == 'page' && item.sp_page == data.login_page)\n          data.hasLogin = true;\n      }\n    }\n  }\n\n  data.loginWidget = $sp.getWidgetFromInstance('login-modal');\n  data.typeahead = $sp.getWidgetFromInstance('typeahead-search');\n})();"
  },
  {
    "path": "pe-custom-overlay/README.md",
    "content": "# Custom Overlay\n\n## Description\n\nThis widget provides the ability to display a minimal modal dialog above all page content, including the header.\n\n## Screenshots\n![alt text](../images/pe-custom-overlay.png \"Custom Overlay\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-custom-overlay.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-custom-overlay/pe-custom-overlay.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section `System UI -> UI Messages` and displayed by adding a statement to the HTML body using syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal styles configuration to make it easy to customize and extend.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-custom-overlay/pe-custom-overlay.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-24 23:35:43\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Custom Overlay</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>2babbf1bdb440700a0785404ce9619c7</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-07-24 23:35:43</sys_created_on>\n<sys_id>7a4504efdb440700a0785404ce9619d2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-07-24 23:35:43</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1a7be09fdb63f20086da7d5e0f9619b1</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ConfigurableOverlayController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.overlay = true;\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.close {\n  opacity: 1;\n  margin-top: 7px;\n  svg {\n    fill: grey;\n  }\n  button {\n    background-color: transparent;\n    border: none;\n  }\n}\n\n.overlay-wrap {\n  position: fixed;\n  z-index: 5;\n  left: 0;\n  top: 0;\n  width: 100%;\n  padding: 10px;\n  .overlay-content {\n    box-shadow: 0 8px 14px 0 rgba(0, 0, 0, 0.15);\n    background-color: white;\n    padding: 60px 10px 30px 10px;\n    .widget-container {\n      margin: 0 auto;\n    }\n  }\n}\n\n.overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  background-color: #E9EAEB;\n  opacity: .9;\n  border: solid 10px #E9EAEB;\n}\n\n.item-status {\n  span {\n    position: relative;\n    padding-left: 25px;\n  }\n  svg {\n    position: absolute;\n    margin-top: -3px;\n  }\n}\n\nh2 {\n  margin-bottom: 0;\n}\n\n.picture {\n  img {\n    width: 80%;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;custom-overlay&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Custom Overlay&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.sampleSet = {};\n\n  var ret = new GlideRecord('sc_cat_item');\n  ret.addQuery('sys_id', '060f3afa3731300054b6a3549dbe5d3e');\n  ret.query();\n\n  while (ret.next()) {\n    data.sampleSet.name = ret.getDisplayValue('name');\n    data.sampleSet.picture = ret.getDisplayValue('picture');\n    data.sampleSet.state = 'Transfer Service';\n  }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-29 12:25:28&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1a7be09fdb63f20086da7d5e0f9619b1&lt;/sys_id&gt;&lt;sys_mod_count&gt;32&lt;/sys_mod_count&gt;&lt;sys_name&gt;Custom Overlay&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1a7be09fdb63f20086da7d5e0f9619b1&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-24 23:33:21&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"close\"&gt;\n    &lt;svg width=\"33px\" height=\"33px\" viewBox=\"324 9 33 33\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"close\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" transform=\"translate(324.000000, 9.000000)\"&gt;\n        &lt;path d=\"M17.424,0 C17.9685,0.0715 18.513,0.121 19.052,0.209 C22.7205,0.814 25.8335,2.4805 28.3965,5.159 C30.9045,7.7825 32.45,10.901 32.857,14.5145 C33.473,19.976 31.7185,24.629 27.786,28.435 C25.1955,30.943 22.066,32.461 18.48,32.8625 C13.0185,33.4785 8.3655,31.724 4.5595,27.7915 C2.046,25.201 0.5335,22.0715 0.132,18.4855 C-0.495,13.0185 1.265,8.3545 5.2085,4.5485 C7.788,2.0515 10.9065,0.605 14.465,0.1265 C14.828,0.077 15.191,0.044 15.554,0 L17.424,0 Z M1.4245,16.4835 C1.4135,24.893 8.063,31.5535 16.478,31.559 C24.871,31.5645 31.5315,24.926 31.548,16.5275 C31.5645,8.118 24.9205,1.452 16.511,1.4355 C8.096,1.4245 1.4355,8.074 1.4245,16.4835 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n        &lt;path d=\"M16.313,15.389 C16.412,15.246 16.456,15.147 16.5275,15.0755 C18.0235,13.574 19.5195,12.078 21.021,10.5875 C21.164,10.4445 21.384,10.329 21.582,10.2905 C21.879,10.2355 22.1155,10.395 22.253,10.6645 C22.3905,10.934 22.363,11.198 22.1815,11.44 C22.121,11.5225 22.044,11.5885 21.9725,11.66 C20.504,13.134 19.03,14.6025 17.556,16.071 C17.4845,16.1425 17.402,16.1975 17.2975,16.2855 C17.402,16.3955 17.4735,16.4725 17.545,16.5495 C19.0575,18.062 20.5645,19.569 22.077,21.0815 C22.3135,21.318 22.4015,21.593 22.2805,21.9065 C22.1705,22.187 21.945,22.3795 21.648,22.3465 C21.4335,22.3245 21.1805,22.2145 21.0265,22.0605 C19.5195,20.5755 18.0235,19.074 16.5275,17.5725 C16.456,17.501 16.412,17.4075 16.3405,17.3085 C16.214,17.424 16.1425,17.49 16.071,17.5615 C14.5805,19.052 13.09,20.5425 11.594,22.033 C11.4785,22.1485 11.3465,22.2585 11.198,22.319 C10.901,22.44 10.5545,22.3135 10.373,22.0495 C10.197,21.7965 10.2025,21.4555 10.4005,21.2025 C10.461,21.1255 10.538,21.054 10.6095,20.9825 C12.089,19.503 13.563,18.0235 15.0425,16.5495 C15.114,16.478 15.2075,16.4285 15.2955,16.3625 C15.18,16.2415 15.114,16.17 15.0425,16.0985 C13.5465,14.6025 12.045,13.1065 10.5545,11.605 C10.4225,11.473 10.3125,11.297 10.263,11.1265 C10.1805,10.846 10.3345,10.549 10.582,10.395 C10.8405,10.2355 11.165,10.2465 11.407,10.439 C11.484,10.4995 11.5555,10.5765 11.627,10.648 C13.1065,12.1275 14.586,13.6015 16.06,15.081 C16.148,15.147 16.203,15.235 16.313,15.389 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div ng-show=\"c.overlay\"&gt;\n  &lt;div class=\"overlay\" ng-click=\"c.overlay=false;\"&gt;&lt;/div&gt;\n  &lt;div class=\"overlay-container\"&gt;\n    &lt;div class=\"overlay-wrap\"&gt;\n      &lt;div class=\"close\" ng-click=\"c.overlay=false;\"&gt;\n        &lt;button&gt;\n          &lt;svg viewBox=\"0 0 33 33\" width=\"34px\" height=\"33px\"&gt;\n            &lt;use xlink:href=\"#close\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n        &lt;/button&gt;\n      &lt;/div&gt;\n      &lt;div class=\"overlay-content text-center\"&gt;\n        &lt;div ng-if=\"data.sampleSet\"&gt;\n          &lt;div class=\"picture \"&gt;\n            &lt;img ng-src=\"{{data.sampleSet.picture}}\" alt=\"\"&gt;\n          &lt;/div&gt;\n          &lt;div class=\"content\"&gt;\n            &lt;h2&gt;{{data.sampleSet.state}}&lt;/h2&gt;\n            &lt;div class=\"item-status\" ng-show=\"c.item['sc_cat_item.state'].display_value\"&gt;\n              &lt;svg-icon icon=\"#{{c.item['sc_cat_item.state'].value}}\"&gt;&lt;/svg-icon&gt;\n              &lt;span&gt;{{c.item['sc_cat_item.state'].display_value}}&lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-280325161</payload_hash>\n<remote_update_set display_value=\"PE Custom Overlay\">7a4504efdb440700a0785404ce9619d2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-07-24 23:35:43</sys_created_on>\n<sys_id>3e4504efdb440700a0785404ce9619d2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d76f2ad960000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-07-24 23:35:43</sys_updated_on>\n<table/>\n<target_name>Custom Overlay</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>18c4486fee4407001b72f4879a0468c3</update_guid>\n<update_guid_history>18c4486fee4407001b72f4879a0468c3:-280325161,fd4e7f5bf1440700200df3c90c48fb79:-1494002598,2e1f2964e43bb2004f087a995fdd6a65:-655246478,5d1f29645f3bb200de3721de38bfe619:672420008,afe80de41bb7b20031caa0f13252ae09:-655246478,b0c80de419b7b2003850c5c4a5d93e04:925234320,c38885acb33fb2003dc8b46ef6451ecd:-488767862,4469999bf42332000d9da5c9ab68b57a:254108634,ab49d19faaa73200b4b22a49b1c7dd2a:181813752,c818999727a732001d9f05205f597ed7:-852691404,60f7999722a73200c2f34325dbf6a2d3:244493654,127759dfe1673200d252ffd22d8e258e:-1810062601,2a571193bda73200336c663c26e4fbbe:899410353,bc57d11b132332005cf5eb5d29558d5d:603543728,cbf65d1bfa233200067926d3d3f29933:-1319178373,9596591b7d23320067c87d99d2f24695:1784663210,cc851517b5273200df73ee2708961fe4:-940551045,0c55d9d7ab233200ce28b17bc45092e1:-609942564,b9251dd7a3233200aa1f458d45a96e56:2105309703,7515591784673200a056f2abde8164cb:-502395562,c58311972923320024bd4c2b3e40d6cd:-649645140,df63155bf8e332008d8f352d436e9015:-310293567,0802d15750233200320ef30b5c087d6e:-2015670323,52e1d1d7a3e33200af83d7c55bc92f7c:-1010684667,57a1119782e33200c7edd1b878407fb9:-1937140761,29a111976de332006ab115a751065cb4:1798485121,-1729403639:-1729403639,418234170:418234170,-1997955716:-1997955716,-1174429991:-1174429991,1226364121:1226364121,-1017776498:-1017776498,-1118007039:-1118007039</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-custom-overlay/widget/pe-custom-overlay.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"close\">\n    <svg width=\"33px\" height=\"33px\" viewBox=\"324 9 33 33\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <defs></defs>\n      <g id=\"close\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" transform=\"translate(324.000000, 9.000000)\">\n        <path d=\"M17.424,0 C17.9685,0.0715 18.513,0.121 19.052,0.209 C22.7205,0.814 25.8335,2.4805 28.3965,5.159 C30.9045,7.7825 32.45,10.901 32.857,14.5145 C33.473,19.976 31.7185,24.629 27.786,28.435 C25.1955,30.943 22.066,32.461 18.48,32.8625 C13.0185,33.4785 8.3655,31.724 4.5595,27.7915 C2.046,25.201 0.5335,22.0715 0.132,18.4855 C-0.495,13.0185 1.265,8.3545 5.2085,4.5485 C7.788,2.0515 10.9065,0.605 14.465,0.1265 C14.828,0.077 15.191,0.044 15.554,0 L17.424,0 Z M1.4245,16.4835 C1.4135,24.893 8.063,31.5535 16.478,31.559 C24.871,31.5645 31.5315,24.926 31.548,16.5275 C31.5645,8.118 24.9205,1.452 16.511,1.4355 C8.096,1.4245 1.4355,8.074 1.4245,16.4835 Z\" id=\"Shape\"></path>\n        <path d=\"M16.313,15.389 C16.412,15.246 16.456,15.147 16.5275,15.0755 C18.0235,13.574 19.5195,12.078 21.021,10.5875 C21.164,10.4445 21.384,10.329 21.582,10.2905 C21.879,10.2355 22.1155,10.395 22.253,10.6645 C22.3905,10.934 22.363,11.198 22.1815,11.44 C22.121,11.5225 22.044,11.5885 21.9725,11.66 C20.504,13.134 19.03,14.6025 17.556,16.071 C17.4845,16.1425 17.402,16.1975 17.2975,16.2855 C17.402,16.3955 17.4735,16.4725 17.545,16.5495 C19.0575,18.062 20.5645,19.569 22.077,21.0815 C22.3135,21.318 22.4015,21.593 22.2805,21.9065 C22.1705,22.187 21.945,22.3795 21.648,22.3465 C21.4335,22.3245 21.1805,22.2145 21.0265,22.0605 C19.5195,20.5755 18.0235,19.074 16.5275,17.5725 C16.456,17.501 16.412,17.4075 16.3405,17.3085 C16.214,17.424 16.1425,17.49 16.071,17.5615 C14.5805,19.052 13.09,20.5425 11.594,22.033 C11.4785,22.1485 11.3465,22.2585 11.198,22.319 C10.901,22.44 10.5545,22.3135 10.373,22.0495 C10.197,21.7965 10.2025,21.4555 10.4005,21.2025 C10.461,21.1255 10.538,21.054 10.6095,20.9825 C12.089,19.503 13.563,18.0235 15.0425,16.5495 C15.114,16.478 15.2075,16.4285 15.2955,16.3625 C15.18,16.2415 15.114,16.17 15.0425,16.0985 C13.5465,14.6025 12.045,13.1065 10.5545,11.605 C10.4225,11.473 10.3125,11.297 10.263,11.1265 C10.1805,10.846 10.3345,10.549 10.582,10.395 C10.8405,10.2355 11.165,10.2465 11.407,10.439 C11.484,10.4995 11.5555,10.5765 11.627,10.648 C13.1065,12.1275 14.586,13.6015 16.06,15.081 C16.148,15.147 16.203,15.235 16.313,15.389 Z\" id=\"Shape\"></path>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<div ng-show=\"c.overlay\">\n  <div class=\"overlay\" ng-click=\"c.overlay=false;\"></div>\n  <div class=\"overlay-container\">\n    <div class=\"overlay-wrap\">\n      <div class=\"close\" ng-click=\"c.overlay=false;\">\n        <button>\n          <svg viewBox=\"0 0 33 33\" width=\"34px\" height=\"33px\">\n            <use xlink:href=\"#close\"></use>\n          </svg>\n        </button>\n      </div>\n      <div class=\"overlay-content text-center\">\n        <div ng-if=\"data.sampleSet\">\n          <div class=\"picture \">\n            <img ng-src=\"{{data.sampleSet.picture}}\" alt=\"\">\n          </div>\n          <div class=\"content\">\n            <h2>{{data.sampleSet.state}}</h2>\n            <div class=\"item-status\" ng-show=\"c.item['sc_cat_item.state'].display_value\">\n              <svg-icon icon=\"#{{ c.item['sc_cat_item.state'].value }}\"></svg-icon>\n              <span>{{ c.item['sc_cat_item.state'].display_value }}</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-custom-overlay/widget/pe-custom-overlay.u-client-script.js",
    "content": "function ConfigurableOverlayController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.overlay = true;\n  };\n}"
  },
  {
    "path": "pe-custom-overlay/widget/pe-custom-overlay.u-css.scss",
    "content": ".close {\n  opacity: 1;\n  margin-top: 7px;\n  svg {\n    fill: grey;\n  }\n  button {\n    background-color: transparent;\n    border: none;\n  }\n}\n\n.overlay-wrap {\n  position: fixed;\n  z-index: 5;\n  left: 0;\n  top: 0;\n  width: 100%;\n  padding: 10px;\n  .overlay-content {\n    box-shadow: 0 8px 14px 0 rgba(0, 0, 0, 0.15);\n    background-color: white;\n    padding: 60px 10px 30px 10px;\n    .widget-container {\n      margin: 0 auto;\n    }\n  }\n}\n\n.overlay {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  background-color: #E9EAEB;\n  opacity: .9;\n  border: solid 10px #E9EAEB;\n}\n\n.item-status {\n  span {\n    position: relative;\n    padding-left: 25px;\n  }\n  svg {\n    position: absolute;\n    margin-top: -3px;\n  }\n}\n\nh2 {\n  margin-bottom: 0;\n}\n\n.picture {\n  img {\n    width: 80%;\n  }\n}"
  },
  {
    "path": "pe-custom-overlay/widget/pe-custom-overlay.u-server-script.js",
    "content": "(function() {\n  data.sampleSet = {};\n\n  var ret = new GlideRecord('sc_cat_item');\n  ret.addQuery('sys_id', '060f3afa3731300054b6a3549dbe5d3e');\n  ret.query();\n\n  while (ret.next()) {\n    data.sampleSet.name = ret.getDisplayValue('name');\n    data.sampleSet.picture = ret.getDisplayValue('picture');\n    data.sampleSet.state = 'Transfer Service';\n  }\n})();"
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/Readme.md",
    "content": "# NEEDS TO BE REVIEWED FURTHER"
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/pe-eliminate-outage-title-card-snippet.data.json",
    "content": ""
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/pe-eliminate-outage-title-card-snippet.u-client-controller.js",
    "content": "function TitleCardController($scope, $window) {\n  var c = this;\n\n  c.status = {\n    name: \"Abnormally High Response Times\",\n    number: \"ALT3690\",\n    probability: 78,\n    createdAgo: \"2m\",\n    bu: \"Retail POS\"\n  };\n\n  $rootScope.$on('recovered', function (event, data) {\n    c.recovered = true;\n    $window.scrollTo(0, 0);\n  });\n}"
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/pe-eliminate-outage-title-card-snippet.u-css.css",
    "content": ".status-wrapper {\n    margin-top: -10px;\n}\n\n.status-box {\n    background: $status-gradient;\n    color: #fff;\n    fill: #fff;\n    margin: 0 -8px 10px -8px;\n    padding: 15px 23px;\n    .pill {\n        background-color: #fff;\n        color: $status-color;\n    }\n}\n\n.flexbox {\n    display: flex;\n}\n\n.subtitle-inline {\n    flex: 1;\n}\n\n.status-row {\n    height: 125px;\n}\n\n.status-key {\n    float: left;\n    width: 140px;\n}\n\n.status-detail {\n    padding-top: 20px;\n    .status-time {\n        display: inline;\n        font-size: 24px;\n    }\n}\n\n.alert-summary {\n    margin: 10px 5px;\n}\n\n.recovered {\n    .status-box {\n        background: $status-recovered-gradient;\n        .pill {\n            color: $status-recovered-color;\n        }\n    }\n}\n\n.svg-wrapper.svg-larger {\n    width: 1.1em;\n    height: 1.1em;\n}\n\n.big-icon {\n    margin: 15px auto;\n    height: 100px;\n    width: 100px;\n    text-align: center;\n    border-radius: 50px;\n    border: 10px solid #fff;\n    fill: #fff;\n    .svg-wrapper {\n        position: relative;\n        vertical-align: top;\n        top: 15px;\n        width: 50px;\n        height: 50px;\n    }\n}\n\n// HIGHCHART\n.highcharts-background {\n    fill: none;\n}\n\n.highcharts-plot-bands-0 {\n    opacity: 0.5;\n}\n\n.highchart-data-label {\n    font-family: \"SourceSansPro\", Helvetica, Arial, sans-serif;\n    font-size: 24px;\n    color: #FFF;\n    font-weight: 400;\n    margin-top: -27px;\n    >* {\n        display: inline;\n    }\n    &::after {\n        content: \"%\";\n        // font-size: 15px;\n        font-weight: 400;\n    }\n}\n\n.highcharts-axis,\n.highcharts-axis-labels {\n    visibility: hidden;\n}\n\n// SPINNER\n.spinny {\n    display: inline-block;\n    margin-right: 5px;\n}\n\n.spinny>div {\n    width: 9px;\n    height: 9px;\n    background-color: #fff;\n    border-radius: 100%;\n    display: inline-block;\n    -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n    animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n    vertical-align: 10%;\n}\n\n@-webkit-keyframes sk-bouncedelay {\n    0%,\n    80%,\n    100% {\n        -webkit-transform: scale(0)\n    }\n    40% {\n        -webkit-transform: scale(1.0)\n    }\n}\n\n@keyframes sk-bouncedelay {\n    0%,\n    80%,\n    100% {\n        -webkit-transform: scale(0);\n        transform: scale(0);\n    }\n    40% {\n        -webkit-transform: scale(1.0);\n        transform: scale(1.0);\n    }\n}"
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/pe-eliminate-outage-title-card-snippet.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/pe-eliminate-outage-title-card-snippet.u-template.html",
    "content": "<div ng-class=\"{ 'recovered': c.recovered }\" class=\"status-wrapper\">\r\n    <div class=\"status-box\">\r\n        <div class=\"title\">{{c.status.name}}</div>\r\n        <div class=\"flexbox\">\r\n            <div class=\"subtitle-inline subtitle-larger\">\r\n                <span class=\"icon-inline\">\r\n\t\t\t\t\t<svg class=\"svg-wrapper svg-larger\">\r\n\t\t\t\t\t\t<use xlink:href=\"#scart\"></use>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t</span> {{c.status.bu}}\r\n            </div>\r\n            <div class=\"pill\">\r\n                {{c.status.number}} | {{c.recovered ? 'Closed' : 'Created'}} {{c.status.createdAgo}} ago\r\n            </div>\r\n        </div>\r\n        <div ng-if=\"!c.recovered\" class=\"status-row\">\r\n            <div class=\"status-key\">\r\n                <!--<sp-widget widget=\"c.data.probabilityGauge\"></sp-widget>-->\r\n            </div>\r\n            <div class=\"status-detail\">\r\n                <div>Probability that an outage will occur in</div>\r\n                <div class=\"spinny\">\r\n                    <div class=\"bouncy1\" style=\"animation-delay: -0.32s;\"></div>\r\n                    <div class=\"bouncy2\" style=\"animation-delay: -0.16s;\"></div>\r\n                    <div class=\"bouncy3\"></div>\r\n                </div>\r\n                <div class=\"status-time\">30 minutes</div>\r\n            </div>\r\n        </div>\r\n        <div ng-if=\"c.recovered\" class=\"status-row\">\r\n            <div class=\"status-key\">\r\n                <div class=\"big-icon\">\r\n                    <svg class=\"svg-wrapper\">\r\n\t\t\t\t\t\t<use xlink:href=\"#check-mark\"></use>\r\n\t\t\t\t\t</svg>\r\n                </div>\r\n            </div>\r\n            <div class=\"status-detail\">\r\n                <div class=\"title\"><strong>Outage Prevented</strong></div>\r\n                <div>There was a {{c.status.probability}}% chance this incident would cause an outage</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n\r\n<div class=\"svgs-to-inline\">\r\n\r\n    <svg version=\"1.1\" id=\"check-mark\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 574.6 468\" style=\"enable-background:new 0 0 574.6 468;\" xml:space=\"preserve\">\r\n<g>\r\n\t<path d=\"M0,292.6c-0.1-6.5,2.2-12.1,6.8-16.7c14.9-15,29.8-30,44.9-44.9c10-9.8,24.1-9.4,34.4,0.8c23.4,23.3,46.7,46.6,70,70\r\n\t\tc12.6,12.6,25.7,12.5,38.3-0.1C291.9,204.2,389.5,106.6,487,9c7.3-7.3,15.6-11.1,25.6-7.8c4.1,1.4,8.1,4.1,11.2,7.1\r\n\t\tc14.2,13.8,28.1,27.9,42.2,42c11.4,11.4,11.5,25.1,0.1,36.5C502.9,150,439.7,213.2,376.6,276.3C315.9,337,255.2,397.7,194.5,458.4\r\n\t\tc-12.8,12.8-25.9,12.9-38.6,0.1c-49.1-49.1-98.3-98.3-147.5-147.4C3.3,305.9-0.2,300.1,0,292.6z\"/>\r\n</g>\r\n</svg>\r\n\r\n    <svg version=\"1.1\" id=\"scart\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 462.5 368.8\" style=\"enable-background:new 0 0 462.5 368.8;\" xml:space=\"preserve\">\r\n<g>\r\n\t<path d=\"M90.9,0c3.4,16.6,6.8,33.2,10.2,49.8c1.9,9.3,4,18.6,5.7,27.9c0.5,2.9,1.8,4,4.6,3.8c1.5-0.1,3,0,4.5,0c113,0,226,0,339,0\r\n\t\tc2.3,0,4.6,0,7.8,0c-0.8,2.5-1.3,4.3-1.9,6.1c-20.1,55.7-40.3,111.4-60.2,167.1c-1.3,3.6-2.9,4.8-6.7,4.8\r\n\t\tc-88.2-0.1-176.3-0.1-264.5,0c-4.2,0-5.6-1.3-6.4-5.3C107.3,177.3,91.6,100.6,76,23.8c-0.3-1.5-0.8-2.9-1.3-4.8\r\n\t\tC49.9,19,25.1,19,0,19C0,12.4,0,6.3,0,0C30.3,0,60.4,0,90.9,0z M435.1,101c-108,0-215.4,0-323.6,0c9.5,46.4,18.9,92.5,28.3,138.6\r\n\t\tc1.7,0.1,3.1,0.2,4.4,0.2c78.8,0,157.7,0,236.5,0.1c3.5,0,4.8-1.2,5.9-4.3c11.8-33.1,23.8-66.1,35.7-99.1\r\n\t\tC426.5,124.8,430.7,113.1,435.1,101z\"/>\r\n\t<path d=\"M360.5,368.8c-25.9-0.1-47-21.2-47.1-47.1c-0.1-26,21.3-47.5,47.4-47.5c26.1,0,47.3,21.3,47.3,47.5\r\n\t\tC408,347.8,386.8,368.8,360.5,368.8z M360.7,293.7c-15.4,0-27.8,12.5-27.8,28c0,15.2,12.3,27.6,27.6,27.8\r\n\t\tc15.3,0.2,28-12.4,28.1-27.8C388.7,306.2,376.2,293.7,360.7,293.7z\"/>\r\n\t<path d=\"M179.3,368.8c-26.2,0-47.3-21.1-47.2-47.4c0-26.1,21.5-47.4,47.5-47.2c26,0.2,47,21.3,47.1,47.2\r\n\t\tC226.8,347.4,205.4,368.8,179.3,368.8z M207.1,321.6c0-15.4-12.4-27.9-27.9-27.9c-15.4,0-28,12.7-27.8,28\r\n\t\tc0.1,15.2,12.5,27.6,27.7,27.7C194.4,349.6,207.1,337,207.1,321.6z\"/>\r\n</g>\r\n</svg>\r\n\r\n</div>"
  },
  {
    "path": "pe-eliminate-outage-title-card-snippet/pe-eliminate-outage-title-card-snippet.u_option_schema.json",
    "content": ""
  },
  {
    "path": "pe-emp-exp-inbox-snippet/Readme.md",
    "content": "# NEEDS TO BE REVIEWED FURTHER\n\n## Inbox\n\n## Description\n\nThis widget can be used to quicly show a list of tabs, managin selection and with horizontal scrolling.\n\n## Screenshots\n![alt text](../images/pe-inbox-01.png \"Inbox\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\n\n`Missing Update Set`\n\nDownload and install update set **[.u-update-set.xml](.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)   (<i>Select appropriate instance version</i>)\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Title\"** title text - `Default: My Inbox`\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-brand-widget-bg-color: #2f65bc !default;`<br/>\n`$pe-brand-widget-text-color: #e5efff !default;`<br/>"
  },
  {
    "path": "pe-emp-exp-inbox-snippet/widget/pe-emp-exp-inbox-snippet.u-body-html-template.html",
    "content": "<div class=\"encloser\">\r\n  <div class=\"approval-head\">\r\n    <p class=\"head pull-left\">{{c.data.title}}</p>\r\n    <p class=\"pull-right remaining\"><span class=\"badge badge-color\">1</span> Remaining</p>\r\n  </div>\r\n  <div class=\"actual-card\">\r\n    <div class=\"padd-it\">\r\n      <div class=\"heading \">\r\n        <p>\r\n          <!--{{carddata.heading}}-->\r\n        </p>\r\n      </div>\r\n      <div class=\"details \">\r\n        <div class=\"each-div\">\r\n        </div>\r\n        <div class=\"purpose each-div\">\r\n          <p>\r\n            <!--{{carddata.purpose}}-->\r\n          </p>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-emp-exp-inbox-snippet/widget/pe-emp-exp-inbox-snippet.u-client-script.js",
    "content": "function InboxController($rootScope, $scope, $timeout) {\n  var c = this;\n  $rootScope.$broadcast('changeBackState', '');\n  $rootScope.title = 'MY TEAM';\n\n  c.getStyleOne = function (type) {\n    if (type == 'complete') {\n      return {\n        'background': '#fff',\n        'clip': 'rect(0 40px 22px 0)',\n        'transform': 'rotate(90deg)',\n        'border-radius': '50%'\n      };\n    }\n  };\n\n  c.getStyleTwo = function (deg) {\n    return {\n      'background': '#fff',\n      'clip': 'rect(0 20px 40px 0)',\n      'transform': 'rotate(' + deg + 'deg)',\n      'border-radius': '50%'\n    };\n  };\n}"
  },
  {
    "path": "pe-emp-exp-inbox-snippet/widget/pe-emp-exp-inbox-snippet.u-css.scss",
    "content": "$pe-brand-widget-bg-color: #2f65bc !default;\n$pe-brand-widget-text-color: #e5efff !default;\n.encloser {\n  background: $pe-brand-widget-bg-color;\n  padding: 10px;\n  margin-bottom: 10px;\n  .approval-head {\n    overflow: hidden;\n    padding: 10px;\n    p {\n      margin-bottom: 0px;\n    }\n    .head {\n      font-size: 22px;\n      color: $pe-brand-widget-text-color;\n      font-weight: bold;\n    }\n    .badge-color {\n      background: #f95050;\n      margin-right: 5px;\n    }\n    .remaining {\n      font-size: 15px;\n      font-weight: normal;\n      color: $pe-brand-widget-text-color;\n      margin-top: 5px;\n    }\n  }\n  .actual-card {\n    clear: both;\n    background: #fff;\n    margin-bottom: 10px;\n    .padd-it {\n      .heading {\n        font-size: 18px;\n        font-weight: bold;\n        color: #81878e;\n        padding: 10px 15px;\n        padding-bottom: 0px;\n      }\n      .details {\n        padding: 10px 15px;\n        padding-top: 0px;\n        border-bottom: 1px solid #e6e8ea;\n        overflow: hidden;\n        .each-div {\n          width: 50%;\n          overflow: hidden;\n          float: left;\n        }\n        .purpose {\n          padding: 10px;\n          display: flex;\n          align-items: center;\n          justify-content: flex-end;\n          p {\n            font-size: 15px;\n            color: #81878e;\n            margin-bottom: 0px;\n            line-height: 1;\n            margin-left: 10px;\n            width: 75px;\n          }\n        }\n        .svg-icon {\n          width: 38px;\n          height: 38px;\n          stroke: #268cf8;\n          fill: #268cf8;\n        }\n      }\n    }\n    .buttons {\n      overflow: hidden;\n      clear: both;\n      .blue-border {\n        color: #278efc;\n        border-bottom: 3px solid #278efc;\n      }\n      .red-border {\n        color: #f95050;\n        border-bottom: 3px solid #f95050;\n      }\n      .orange-border {\n        color: #fc8a3d;\n        border-bottom: 3px solid #fc8a3d;\n      }\n      .each-button {\n        width: 33.3%;\n        float: left;\n        padding: 15px 20px;\n        text-align: center;\n        border-right: solid 1px #e6e8ea;\n        p {\n          margin-bottom: 0px;\n          font-size: 15px;\n        }\n        .last-button {\n          border: 0px;\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "pe-emp-exp-inbox-snippet/widget/pe-emp-exp-inbox-snippet.u-server-script.js",
    "content": "(function () {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  data.title = input.title || options.title;\r\n})();"
  },
  {
    "path": "pe-emp-exp-overview-card-snippet/Readme.md",
    "content": "# Overview Card Snippet\n\n## Description\n\nThis snippet can be used to have a valid starting point for displaying a status card.\n\n## Screenshots\n![alt text](../images/pe-overview-card-snippet.png \"Status Card Snippet\")\n\n## Additional Information/Notes\n\nThis widget makes use of [pe-people-info widget](https://github.com/platform-experience/serviceportal-widget-library/tree/master/People%20Card/pe-people-info) to display user avatar, name and title.\n> Widget is included with the update set.\n\nPeople Info widget is injected dynamically in client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-emp-exp-overview-card-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-emp-exp-overview-card-snippet/pe-emp-exp-overview-card-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided in the Server Script file.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-emp-exp-overview-card-snippet/pe-emp-exp-overview-card-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-01 23:29:32\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Overview Card</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>cd1daf4f13323200890b3092e144b01b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-01 23:29:32</sys_created_on>\n<sys_id>27978fda13c37600890b3092e144b056</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-01 23:29:32</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_f8d00f1a13c37600890b3092e144b039</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"b8d00f1a13c37600890b3092e144b039\">b8d00f1a13c37600890b3092e144b039</sys_attachment><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:51</sys_created_on><sys_id>f8d00f1a13c37600890b3092e144b039</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Overview Card\">27978fda13c37600890b3092e144b056</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-01 23:29:32</sys_created_on>\n<sys_id>27978fda13c37600890b3092e144b057</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-01 23:29:32</sys_updated_on>\n<table/>\n<target_name>f8d00f1a13c37600890b3092e144b039</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_51c0cb1a13c37600890b3092e144b0ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>26</height><image/><name>dots.png</name><size_bytes>1691</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>51c0cb1a13c37600890b3092e144b0ab</sys_id><sys_mod_count>2</sys_mod_count><sys_name>dots.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>true</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_51c0cb1a13c37600890b3092e144b0ab</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-01 23:01:38</sys_updated_on><thumbnail/><width>144</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#bdc0c4</average_image_color><compressed>true</compressed><content_type>image/png</content_type><file_name>image</file_name><image_height>26</image_height><image_width>144</image_width><size_bytes>1691</size_bytes><size_compressed>1714</size_compressed><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:51</sys_created_on><sys_id>b8d00f1a13c37600890b3092e144b039</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-01 22:59:51</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>51c0cb1a13c37600890b3092e144b0ab</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"b8d00f1a13c37600890b3092e144b039\">b8d00f1a13c37600890b3092e144b039</sys_attachment><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:51</sys_created_on><sys_id>f8d00f1a13c37600890b3092e144b039</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2272</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"b8d00f1a13c37600890b3092e144b039\">b8d00f1a13c37600890b3092e144b039</sys_attachment><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:51</sys_created_on><sys_id>7cd00f1a13c37600890b3092e144b039</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Overview Card\">27978fda13c37600890b3092e144b056</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-01 23:29:32</sys_created_on>\n<sys_id>2b978fda13c37600890b3092e144b056</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-01 23:29:32</sys_updated_on>\n<table/>\n<target_name>dots.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_7cd00f1a13c37600890b3092e144b039</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2272</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"b8d00f1a13c37600890b3092e144b039\">b8d00f1a13c37600890b3092e144b039</sys_attachment><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:51</sys_created_on><sys_id>7cd00f1a13c37600890b3092e144b039</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Overview Card\">27978fda13c37600890b3092e144b056</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-01 23:29:32</sys_created_on>\n<sys_id>63978fda13c37600890b3092e144b057</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-01 23:29:32</sys_updated_on>\n<table/>\n<target_name>7cd00f1a13c37600890b3092e144b039</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_b8d00f1a13c37600890b3092e144b039</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#bdc0c4</average_image_color><compressed>true</compressed><content_type>image/png</content_type><file_name>image</file_name><image_height>26</image_height><image_width>144</image_width><size_bytes>1691</size_bytes><size_compressed>1714</size_compressed><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-01 22:59:51</sys_created_on><sys_id>b8d00f1a13c37600890b3092e144b039</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-01 22:59:51</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>51c0cb1a13c37600890b3092e144b0ab</table_sys_id></sys_attachment></record_update>]]></payload>\n<remote_update_set display_value=\"PE Overview Card\">27978fda13c37600890b3092e144b056</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-01 23:29:32</sys_created_on>\n<sys_id>af978fda13c37600890b3092e144b056</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-01 23:29:32</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0976bee71315b200d15e3d7ed144b05b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function OverviewCardController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    activateWidget();\n  };\n\n  function activateWidget() {\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.user_sys_id,\n      show_job_title: false,\n      show_call_and_chat: false,\n      show_only_picture: false,\n      show_text_below_picture: true\n    }).then(function(response) {\n      c.data.peopleInfoWidget = response;\n    });\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.top-section {\n  padding: 30px 40px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  background: #f5f5f5;\n  position: relative;\n  .dots-img {\n    position: absolute;\n    width: 30%;\n    left: 28%;\n    top: 32%;\n  }\n  .avatar-div {\n    width: 50%;\n  }\n  .icon-div {\n    width: 50%;\n    justify-content: center;\n    text-align: center;\n    p {\n      color: #81878e;\n      font-size: 15px;\n      font-weight: 600;\n    }\n    .selected-number {\n      font-size: 15px;\n      color: #2e90f8;\n      font-weight: 600;\n      margin-left: 5px;\n    }\n  }\n  .svg-icon {\n    width: 50px;\n    height: 50px;\n    stroke: #268cf8;\n    fill: #268cf8;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-overview-card-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Overview Card Snippet&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.text = 'Starts in ';\n  data.days = '2 days';\n  data.user_sys_id = gs.getUserID();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-10 19:41:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0976bee71315b200d15e3d7ed144b05b&lt;/sys_id&gt;&lt;sys_mod_count&gt;44&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Overview Card Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0976bee71315b200d15e3d7ed144b05b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-01 23:28:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol viewBox=\"0 0 576.3 576.2\" style=\"enable-background:new 0 0 576.3 576.2;\" xml:space=\"preserve\" id=\"icon-timer\" stroke=\"none\"\n    stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;path d=\"M282.3,41.3c-60.5,0.8-118.2,24-166.3,70.5c-5.7,5.5-11.9,9.2-20,7.8c-7.9-1.4-13.4-5.8-15.8-13.5\n        c-2.5-8-0.9-15.2,5.1-21.2c17.2-17.4,36.2-32.5,57.3-44.9C197.3,7.6,256.6-5.1,319.9,1.9c125,13.8,227.2,108,251.1,230.9\n        c30.3,155.8-71.1,306.6-227.2,337.9C208.3,597.9,69.8,522.1,20.3,393C-10.3,313.2-6,234.6,31.2,157.8c5.6-11.6,17.7-16,28.3-10.7\n        c10.3,5.1,14.1,17.4,8.5,28.8c-13,26.2-21.7,53.6-25,82.7c-7.2,63.9,7.7,122.2,45.6,174c38.6,52.8,90.1,86.3,154.8,98\n        c136.6,24.6,256.9-64.7,284.8-185.7C553,236.8,505.6,127,411.4,73.4C373.4,51.7,332.3,41.6,282.3,41.3z\" /&gt;\n      &lt;path d=\"M310.3,211c0,25,0.1,50-0.1,75c0,3.2,1,5.1,3.5,7.1c30.2,23.8,60.4,47.7,90.5,71.6c11.3,9,12.4,23.1,2.5,32.4\n        c-7.1,6.7-18.3,7.4-25.6,1.6c-34-27.1-67.9-54.2-102-81.2c-6.6-5.2-9.5-11.6-9.5-19.8c0.1-53.3,0-106.6,0.1-159.9\n        c0-15.8,11.9-25.7,26-21.8c9,2.4,14.7,10.1,14.7,20.1C310.4,161.1,310.3,186.1,310.3,211z\" /&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"top-section\"&gt;\n  &lt;div class=\"avatar-div\"&gt;\n    &lt;sp-widget widget=\"c.data.peopleInfoWidget\"&gt;&lt;/sp-widget&gt;\n  &lt;/div&gt;\n  &lt;div class=\"icon-div\"&gt;\n    &lt;svg class=\"svg-icon\" width=\"50\" height=\"50\"&gt;\n      &lt;use xlink:href='#icon-timer'&gt;&lt;/use&gt;\n    &lt;/svg&gt;\n    &lt;p&gt;{{::c.data.text}}&lt;span class=\"selected-number\"&gt;{{::c.data.days}}&lt;/span&gt;&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;img class=\"dots-img\" src=\"dots.png\" /&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Overview Card\">27978fda13c37600890b3092e144b056</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-01 23:29:32</sys_created_on>\n<sys_id>eb978fda13c37600890b3092e144b056</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-01 23:29:32</sys_updated_on>\n<table/>\n<target_name>PE Overview Card Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-emp-exp-overview-card-snippet/widget/pe-emp-exp-overview-card-snippet.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol viewBox=\"0 0 576.3 576.2\" style=\"enable-background:new 0 0 576.3 576.2;\" xml:space=\"preserve\" id=\"icon-timer\" stroke=\"none\"\n    stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <path d=\"M282.3,41.3c-60.5,0.8-118.2,24-166.3,70.5c-5.7,5.5-11.9,9.2-20,7.8c-7.9-1.4-13.4-5.8-15.8-13.5\n        c-2.5-8-0.9-15.2,5.1-21.2c17.2-17.4,36.2-32.5,57.3-44.9C197.3,7.6,256.6-5.1,319.9,1.9c125,13.8,227.2,108,251.1,230.9\n        c30.3,155.8-71.1,306.6-227.2,337.9C208.3,597.9,69.8,522.1,20.3,393C-10.3,313.2-6,234.6,31.2,157.8c5.6-11.6,17.7-16,28.3-10.7\n        c10.3,5.1,14.1,17.4,8.5,28.8c-13,26.2-21.7,53.6-25,82.7c-7.2,63.9,7.7,122.2,45.6,174c38.6,52.8,90.1,86.3,154.8,98\n        c136.6,24.6,256.9-64.7,284.8-185.7C553,236.8,505.6,127,411.4,73.4C373.4,51.7,332.3,41.6,282.3,41.3z\" />\n      <path d=\"M310.3,211c0,25,0.1,50-0.1,75c0,3.2,1,5.1,3.5,7.1c30.2,23.8,60.4,47.7,90.5,71.6c11.3,9,12.4,23.1,2.5,32.4\n        c-7.1,6.7-18.3,7.4-25.6,1.6c-34-27.1-67.9-54.2-102-81.2c-6.6-5.2-9.5-11.6-9.5-19.8c0.1-53.3,0-106.6,0.1-159.9\n        c0-15.8,11.9-25.7,26-21.8c9,2.4,14.7,10.1,14.7,20.1C310.4,161.1,310.3,186.1,310.3,211z\" />\n    </g>\n  </symbol>\n</svg>\n<div class=\"top-section\">\n  <div class=\"avatar-div\">\n    <sp-widget widget=\"c.data.peopleInfoWidget\"></sp-widget>\n  </div>\n  <div class=\"icon-div\">\n    <svg class=\"svg-icon\" width=\"50\" height=\"50\">\n      <use xlink:href='#icon-timer'></use>\n    </svg>\n    <p>{{::c.data.text}}<span class=\"selected-number\">{{::c.data.days}}</span></p>\n  </div>\n  <img class=\"dots-img\" src=\"dots.png\" />\n</div>"
  },
  {
    "path": "pe-emp-exp-overview-card-snippet/widget/pe-emp-exp-overview-card-snippet.u-client-script.js",
    "content": "function OverviewCardController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    activateWidget();\n  };\n\n  function activateWidget() {\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.user_sys_id,\n      show_job_title: false,\n      show_call_and_chat: false,\n      show_only_picture: false,\n      show_text_below_picture: true\n    }).then(function(response) {\n      c.data.peopleInfoWidget = response;\n    });\n  }\n}"
  },
  {
    "path": "pe-emp-exp-overview-card-snippet/widget/pe-emp-exp-overview-card-snippet.u-css.scss",
    "content": ".top-section {\n  padding: 30px 40px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  background: #f5f5f5;\n  position: relative;\n  .dots-img {\n    position: absolute;\n    width: 30%;\n    left: 28%;\n    top: 32%;\n  }\n  .avatar-div {\n    width: 50%;\n  }\n  .icon-div {\n    width: 50%;\n    justify-content: center;\n    text-align: center;\n    p {\n      color: #81878e;\n      font-size: 15px;\n      font-weight: 600;\n    }\n    .selected-number {\n      font-size: 15px;\n      color: #2e90f8;\n      font-weight: 600;\n      margin-left: 5px;\n    }\n  }\n  .svg-icon {\n    width: 50px;\n    height: 50px;\n    stroke: #268cf8;\n    fill: #268cf8;\n  }\n}"
  },
  {
    "path": "pe-emp-exp-overview-card-snippet/widget/pe-emp-exp-overview-card-snippet.u-server-script.js",
    "content": "(function() {\n  data.text = 'Starts in ';\n  data.days = '2 days';\n  data.user_sys_id = gs.getUserID();\n})();"
  },
  {
    "path": "pe-emp-exp-services-list-snippet/Readme.md",
    "content": "# Employee Experience Modal Snippet\n\n## Description\n\nThis is the snippet to display list for services in employee experience.\n\n## Screenshots\n![alt text](../images/pe-emp-exp-services-list.png \"Services List\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-emp-exp-services-list-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-emp-exp-services-list-snippet/pe-emp-exp-services-list-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as a JSON object in the Client Script file.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-blue-color: #268cf8 !default;`"
  },
  {
    "path": "pe-emp-exp-services-list-snippet/pe-emp-exp-services-list-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-14 00:10:58\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Emp Exp Services List</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>098b872013213600d15e3d7ed144b0c7</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush</sys_created_by>\n<sys_created_on>2017-03-14 00:10:57</sys_created_on>\n<sys_id>e2e1d32813213600d15e3d7ed144b016</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush</sys_updated_by>\n<sys_updated_on>2017-03-14 00:10:57</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_d28d8f6013213600d15e3d7ed144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ServicesListController() {\n    /* widget controller */\n    var c = this;\n    c.servicesList = [{\n            name: \"Household Goods Shipment\",\n            selected: true,\n            icon: \"#icon-shipment\"\n        }, {\n            name: \"Temporary Housing\",\n            selected: true,\n            icon: \"#icon-house\"\n        }, {\n            name: \"Rental Furniture\",\n            selected: false,\n            icon: \"#icon-furniture\"\n        }, {\n            name: \"Activate Utilities\",\n            selected: true,\n            icon: \"#icon-util\"\n        }, {\n            name: \"Temporary Cars\",\n            selected: false,\n            icon: \"#icon-car\"\n        }, {\n            name: \"Pet Services\",\n            selected: false,\n            icon: \"#icon-pet\"\n        }\n\n    ]\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-blue-color: #268cf8 !default;\n.services {\n    p {\n        margin-bottom: 0px;\n    }\n    .accept-btn {\n        padding: 20px;\n        border-bottom: 3px solid $pe-blue-color;\n        text-align: center;\n        p {\n            font-size: 18px;\n            color: $pe-blue-color;\n        }\n    }\n    .services-list {\n        background: #f5f5f5;\n        box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n        .each-service {\n            padding: 10px 20px;\n            display: flex;\n            border-bottom: solid 1px #e6e8ea;\n            align-items: center;\n            &amp;amp;.selected {\n                background: $pe-blue-color;\n                .svg-icon {\n                    width: 35px;\n                    height: 35px;\n                    fill: #fff;\n                    stroke: #fff;\n                    margin-right: 20px;\n                }\n                p {\n                    font-size: 18px;\n                    color: #fff;\n                }\n            }\n            .svg-icon {\n                width: 35px;\n                height: 35px;\n                fill: #696d71;\n                stroke: #696d71;\n                margin-right: 20px;\n            }\n            p {\n                font-size: 18px;\n                color: #696d71;\n            }\n        }\n    }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-emp-exp-services-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Emp Exp Services List&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 23:52:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d28d8f6013213600d15e3d7ed144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Emp Exp Services List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_d28d8f6013213600d15e3d7ed144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 00:10:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include src=\"'services-svgs'\"&gt;&lt;/div&gt;\n&lt;div class=\"services row\"&gt;\n    &lt;!-- your widget template --&gt;\n    &lt;div class=\"services-list\"&gt;\n        &lt;div class=\"each-service\" ng-repeat=\"service in c.servicesList\" ng-class=\"{'selected':service.selected}\" ng-click=\"service.selected = !service.selected\"&gt;\n            &lt;svg class=\"svg-icon\"&gt;\n                &lt;use xlink:href='{{service.icon}}'&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n            &lt;p&gt; {{service.name}}&lt;/p&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"accept-btn\" ng-click=\"\"&gt;\n        &lt;p&gt; Accept&lt;/p&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Emp Exp Services List\">e2e1d32813213600d15e3d7ed144b016</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush</sys_created_by>\n<sys_created_on>2017-03-14 00:10:57</sys_created_on>\n<sys_id>6ee1d32813213600d15e3d7ed144b016</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush</sys_updated_by>\n<sys_updated_on>2017-03-14 00:10:57</sys_updated_on>\n<table/>\n<target_name>PE Emp Exp Services List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_d7ee8be013213600d15e3d7ed144b0f0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;services-svgs&lt;/id&gt;&lt;sp_widget display_value=\"PE Emp Exp Services List\"&gt;d28d8f6013213600d15e3d7ed144b0c9&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 23:58:22&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d7ee8be013213600d15e3d7ed144b0f0&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;services-svgs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_d7ee8be013213600d15e3d7ed144b0f0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-13 23:58:22&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n    \n    &lt;symbol viewBox=\"0 0 536.4 355.4\" id=\"icon-shipment\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g&gt;\n            &lt;path d=\"M478.1,296.1c-2,19.9-10.6,36.3-27.3,48c-11.6,8.1-24.5,11.8-38.6,11.2c-29.3-1.3-57-23.3-60.5-59.5c-50.3,0-100.7,0-151,0\n        c-4.6,40.6-36.1,59.8-63.8,59.6c-29.8-0.3-59.1-21.8-62.9-60c-1.7,0-3.5,0-5.3,0c-14.3,0-28.7,0.1-43,0C9.6,295.4,0,285.7,0,269.5\n        c0-81,0-162,0-242.9C0,9.4,9.4,0,26.6,0C119.4,0,212.2,0,305,0c16.9,0,26.4,9.4,26.4,26.2c0,2.8,0,5.6,0,9c2.6,0,4.5,0,6.5,0\n        c30.7,0,61.3,0.1,92,0c15,0,27,5.8,36.3,17.5c19,23.8,38.2,47.5,57.4,71.2c8.4,10.3,12.7,22.1,12.7,35.4c0,36.7,0,73.3,0,110\n        c0,16.8-9.5,26.2-26.4,26.2c-10.2,0-20.3,0.1-30.5,0.1C479.1,295.6,478.8,295.8,478.1,296.1z M198.9,276.5c1.5,0,3.2,0,4.8,0\n        c33.3,0,66.6,0,100,0c8.1,0,8.9-0.7,8.9-8.8c0-80,0-159.9,0-239.9c0-8.1-0.7-8.8-8.9-8.8c-92,0-183.9,0-275.9,0\n        c-8.1,0-8.8,0.7-8.8,8.8c0,80,0,159.9,0,239.9c0,1,0,2,0,3c-0.1,3.7,1.8,5.7,5.4,5.8c17.1,0.1,34.3,0,51.3,0\n        c15.5-33.4,34.1-48.2,61.9-47.4C168.8,230,188.6,247.1,198.9,276.5z M331.6,54.1c0,74.5,0,148.2,0,222.4c6.1,0,12.1-0.1,18.1,0.1\n        c3,0.1,4.3-0.9,5.3-3.8c9.3-26.8,32.7-43.9,59.9-43.9c27.2,0,50.8,17.2,60,43.8c1,2.9,2.3,3.9,5.2,3.8c9.8-0.2,19.7,0,29.5-0.1\n        c6.7,0,7.8-1.1,7.8-7.9c0-29.7,0-59.3,0-89c0-1.5-0.1-2.9-0.2-4.9c-2,0-3.8,0-5.6,0c-36,0-72,0-108,0c-16.1,0-25.7-9.6-25.8-25.8\n        c-0.1-16.3,0-32.7,0-49c0-16.5,9.6-26,26.2-26c16.3,0,32.7,0,49,0c1.7,0,3.4,0,6,0c-2.7-3.4-4.7-5.6-6.4-8.1\n        c-6-8.7-14.3-12-24.9-11.9c-29.8,0.3-59.6,0.1-89.5,0.1C336.3,54.1,334.3,54.1,331.6,54.1z M517.4,155.8\n        c-1.1-7.2-3.1-13.4-7.4-18.7c-11-13.6-21.8-27.3-33-40.7c-1.5-1.8-4.6-3.3-7-3.3c-21.8-0.3-43.6-0.2-65.4-0.1\n        c-6.7,0-7.9,1.2-7.9,7.8c0,15.8,0,31.6,0,47.4c0,6.7,1.1,7.6,8,7.7c35.8,0,71.6,0,107.4,0C513.6,155.8,515.3,155.8,517.4,155.8z\n         M181.4,292.2c0-24.4-19.7-44.2-44-44.3c-24.3-0.1-44.2,19.8-44.3,44.1c-0.1,24.6,19.9,44.7,44.3,44.6\n        C161.7,336.4,181.4,316.6,181.4,292.2z M370.7,292.3c0.1,24.4,19.9,44.2,44.2,44.2c24.4,0,44.4-20.2,44.3-44.7\n        c-0.1-24.2-20.3-44.1-44.5-44C390.4,248,370.6,268,370.7,292.3z\" /&gt;\n        &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol viewBox=\"0 0 323.7 261.7\" id=\"icon-pet\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g&gt;\n            &lt;path d=\"M162.4,88.4c47.9,0,86.7,38.7,86.8,86.7c0,48-38.6,86.6-86.6,86.7c-48.7,0.1-87.5-38.5-87.5-86.9\n        C75,126.6,113.6,88.4,162.4,88.4z M162,99.4c-41.5,0-75.5,33.6-75.5,74.6c-0.1,41.6,33.8,75.7,75.1,75.7\n        c41.6,0,75.6-33.8,75.5-75.2C236.9,133,203.3,99.4,162,99.4z\" /&gt;\n            &lt;path d=\"M285.4,149.6c-22.1,0-40.3-17.4-40.1-38.7c0.1-21.9,18-39.2,40.3-39.2c20.4,0,38.4,18.5,38.2,39.1\n        C323.5,132.2,306.3,149.6,285.4,149.6z M311.4,110.6c0.2-14.5-11.8-26.7-26.4-27c-15.2-0.3-27.2,11.5-27.5,26.9\n        c-0.2,14.5,12.1,26.9,27,27.1C299,137.8,311.2,125.6,311.4,110.6z\" /&gt;\n            &lt;path d=\"M150.9,38.6c0,21.2-18.1,39.7-38.9,39.7c-22.4,0-39-16.7-39-39.3c0.1-21.3,17.7-39,38.7-39C133.1,0,150.9,17.6,150.9,38.6z\n         M84.8,39.8c0.1,14.4,12.5,26.6,27.1,26.6c14.3,0,26.7-12.7,26.8-27.5c0.1-15-12.2-26.7-27.9-26.5C96.6,12.4,84.7,25,84.8,39.8z\" /&gt;\n            &lt;path d=\"M253.6,41.7c0.1,20.9-18.2,39.6-39,39.6c-22,0-38.8-16.8-39.1-39C175.3,21.3,193,3.3,214,3\n        C235.3,2.7,253.5,20.5,253.6,41.7z M214.5,15.3c-15-0.2-26.9,11.7-27.1,27.3c-0.2,14.1,12.2,26.5,26.8,26.8\n        c14.4,0.3,27-12.2,27.1-27C241.5,27.6,229.5,15.5,214.5,15.3z\" /&gt;\n            &lt;path d=\"M38.9,142.9C16.6,142.7-0.2,126,0,104.1c0.2-21.4,17.6-38.7,38.9-38.6c21.3,0.1,39,17.9,38.8,38.8\n        C77.4,126,60.1,143.1,38.9,142.9z M65.4,104.3c0.3-15.1-11.5-27-27-27.3C23.8,76.7,12,88.4,11.5,103.6c-0.5,14.4,11.7,27,26.6,27.3\n        C52.8,131.2,65,119.3,65.4,104.3z\" /&gt;\n        &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol viewBox=\"0 0 385.7 237.5\" id=\"icon-car\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g&gt;\n            &lt;path d=\"M295.1,203.2c-1.8,0-3.5,0-5.1,0c-58.3,0-116.7,0-175-0.1c-4,0-5.9,0.9-7.5,5c-8.3,21.7-31.6,33.5-54,27.8\n        c-21.7-5.5-36.9-26.9-34.7-48.7c2.4-23.3,21.4-41.5,44-42.1c23.8-0.6,43.8,15.6,47.6,38.5c0.4,2.3,0.5,4.6,0.7,7.2\n        c60.8,0,121.4,0,182.3,0c0.2-1.9,0.4-3.8,0.6-6.1c-1.3-0.2-2.4-0.5-3.5-0.6c-30.1-2.4-60.2-4-90.1-7.2c-33.3-3.6-63.3-15.8-87-40.4\n        c-18.9-19.7-29.1-43.3-27.8-70.9C86.3,48.1,94,33,104.3,19.1c0.7-0.9,1.4-1.9,2-2.8c0.1-0.1,0-0.3,0-0.5c-9.3-1.9-14,0-19,7.4\n        c-9,13.2-18.5,26.1-27.1,39.6c-6,9.4-14.3,13.7-24.8,14.4c-4.1,0.3-5.6,2.1-5.8,5.7c-0.6,10.1-1.7,20.3-1.6,30.4\n        c0.3,17.3-2.6,33.7-9.9,49.5c-4.2,9.1-7,18.7-6,29c0.3,3.6-1.5,6.2-5.3,6.6c-4,0.3-6.1-1.9-6.6-5.9c-1.2-11.3,1.2-22,5.9-32\n        c7.7-16.2,10.5-33.2,9.8-51c-0.2-5.6,0.1-11.3,0.5-17c1.6-19.9,6.5-39,14.4-57.4c1.5-3.6,3.9-5.9,8.2-4.5c3.7,1.2,4.6,4.6,2.9,9.2\n        c-3,8.2-5.9,16.4-9.2,25.5c7-0.9,12.3-1.8,16.1-7.4C57,45.5,65.7,33.5,74.1,21.3c0.5-0.8,1-1.7,2-3.4c-8.4,0.9-15.9,1.7-23.5,2.7\n        c-5.9,0.7-11.9,1.7-17.8,2.4c-4.6,0.6-8-1.4-8.2-5.2c-0.2-4.3,2.3-6.2,6.4-6.7C82.1,4.6,131.2-1.1,180.9,0.2\n        c16.4,0.4,32,3.6,46.7,11c47.1,23.9,91.3,52.2,132.5,85.3c16.3,13.1,23.8,29.4,24.5,49.6c0.6,15.3,1.2,30.6,1.2,45.9\n        c0,22.5-16.1,40.7-38.8,44.8c-20.6,3.7-42.2-8.6-50.1-28.8C296.2,206.5,295.7,204.9,295.1,203.2z M97.4,75\n        c1.8,17.5,7.7,32.4,18,45.6c18.9,24.1,44.6,37.1,74.1,42.6c34.6,6.4,69.8,7.7,104.9,9.1c1.7,0.1,4.1-1.8,5-3.5\n        c14.8-25.5,47.4-31.4,70.2-12.7c1.1,0.9,2.2,1.7,4.2,3.2c-1.1-9.6-2-17.9-3-26.2c-13.5-0.2-24.7-4.5-34.1-12.4\n        c-9.3-7.8-17.7-16.6-26.7-24.8c-1.6-1.4-3.8-2.7-5.9-2.9c-22.6-2.1-45.1-3.9-67.7-5.8c-32.4-2.8-64.7-5.7-97.1-8.5\n        C125.7,77.5,111.9,76.3,97.4,75z M320.3,82.4c-1-1.3-1.2-1.7-1.6-2c-31.7-21.9-63.8-43-98.8-59.2c-8.2-3.8-17.3-7.2-26.1-7.6\n        C172,12.5,150,13.2,128,13.3c-1.6,0-3.5,1.1-4.6,2.3c-9.9,9.9-17.7,21.2-22.4,34.5c-1.4,4-2.2,8.2-3.4,12.9\n        C172.1,69.5,245.7,75.9,320.3,82.4z M64.6,157.2c-18.7,0.1-34,15.4-34,34.1c0,18.9,15.5,34.2,34.5,34c18.8-0.1,33.7-15.4,33.6-34.3\n        C98.7,172.2,83.5,157.1,64.6,157.2z M373.8,191.3c0.1-18.9-15-34.1-33.8-34.2c-18.8-0.1-34.2,15-34.4,33.7\n        c-0.2,18.9,15.2,34.4,34.2,34.4C358.7,225.3,373.8,210.2,373.8,191.3z M325.8,95c11.9,11.8,22.9,23.4,40.5,24.9\n        c-6.3-6.8-13.5-12.6-20-19.2C340.7,95,334,94.6,325.8,95z\" /&gt;\n        &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol viewBox=\"0 0 263.1 387.5\" id=\"icon-furniture\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g&gt;\n            &lt;path d=\"M65.7,259.5c0,4.2,0,7.3,0,10.4c0,21.3,0,42.7,0,64c0,1.8,0,3.7-0.3,5.5c-0.9,4.5-4,6.9-8.5,7c-4.5,0.1-7.7-2.2-8.7-6.7\n        c-0.5-1.9-0.4-4-0.4-6c0-23.8,0-47.7,0-71.5c0-2.7,0.4-5.7-4.5-4.8c-2.3,10.9-4.6,21.9-6.9,32.9c-6.1,29.3-12.1,58.7-18.3,88\n        c-1.6,7.5-7,10.9-12.9,8.4c-4.4-1.9-6-6-4.7-12.3c3.8-18.2,7.6-36.5,11.4-54.7c4.5-21.5,8.9-43,13.4-64.7c-1.2-0.5-2.2-0.9-3.3-1.2\n        c-10.2-3.8-16.9-11-18.2-21.8c-0.9-7.5-0.9-15.4,0-22.9c1.5-12.1,10.2-20.3,22.2-22.5c1.5-0.3,2.9-0.4,4.8-0.7c-1-13-2-25.9-3-38.8\n        c-2.5-31.7-5.2-63.4-7.6-95.1c-0.5-6.6-1.1-13.4-0.1-19.9c3-18.4,18.9-31.7,37.6-31.8c49.3-0.2,98.6-0.2,148,0\n        c22,0.1,39.4,17.9,38.5,40c-0.8,19.8-2.9,39.5-4.5,59.3c-2.2,27.4-4.4,54.8-6.5,82.2c-0.1,1.3,0,2.6,0,4.2c1.6,0.2,3,0.4,4.5,0.7\n        c12.3,2.2,20.9,10.7,22.2,23.1c0.8,7.2,0.8,14.7-0.1,21.9c-1.5,12.3-9.3,19.8-21.5,23.3c2.5,12,4.9,23.8,7.3,35.7\n        c5.8,27.9,11.8,55.7,17.3,83.6c0.7,3.3-0.2,7.8-2.1,10.5c-1.3,1.9-5.6,2.6-8.4,2.4c-4.1-0.3-5.9-3.8-6.7-7.7\n        c-2.8-13.5-5.6-27-8.4-40.6c-5.4-26.1-10.8-52.1-16.2-78.2c-0.2-1-0.5-1.9-0.9-3c-4.4-1.2-4.5,1.6-4.5,4.6c0,22.7,0,45.3,0,68\n        c0,1.5,0,3,0,4.5c-0.1,7.7-3.2,11.9-9,11.9c-5.8,0-9-4.2-9-11.9c0-22.8,0-45.7,0-68.5c0-1.9,0-3.9,0-6.5\n        C153.5,263.5,110,263.6,65.7,259.5z M214,187.7c0.2-1.4,0.4-2.5,0.5-3.6c2.6-31.4,5.2-62.7,7.8-94.1c1.4-16.6,3-33.2,3.9-49.8\n        c0.7-12.7-8.5-22.2-21.1-22.2c-48.8-0.1-97.6-0.1-146.5,0c-10.1,0-18.8,6.6-20.9,16c-0.8,3.8-0.6,8-0.3,11.9\n        c3.3,41.2,6.7,82.3,10,123.5c0.5,6.1,1.1,12.1,1.7,18.3C104.5,193.2,159.2,193.2,214,187.7z M132,244.3c34,0.1,67.9-2.3,101.6-7.3\n        c6.1-0.9,8.7-3.9,8.8-10.1c0.1-4.3,0.1-8.7,0-13c-0.1-6.9-4-10.5-10.8-9.9c-11.8,1-23.5,2.3-35.3,3.2c-37.9,3-75.9,3.5-113.8,1\n        c-16.4-1.1-32.8-2.8-49.3-4.3c-7.7-0.7-11.6,2.9-11.7,10.5c0,3.8,0,7.7,0,11.5c0.1,7,2.6,9.9,9.5,11\n        C64.4,242.1,98.1,244.4,132,244.3z\" /&gt;\n            &lt;path d=\"M122.9,100.7c0-14.8-0.1-29.6,0.1-44.5c0.1-5.7,3.9-9.3,9-9.2c4.9,0.1,8.4,3.6,8.8,9c0.1,1.5,0.1,3,0.1,4.5c0,18,0,36,0,54\n        c0,9.8,0.1,19.7,0,29.5c-0.1,5.9-2.9,9.4-7.6,10.1c-6,0.8-10.2-3.1-10.3-9.9C122.8,129.7,122.8,115.2,122.9,100.7\n        C122.9,100.7,122.9,100.7,122.9,100.7z\" /&gt;\n            &lt;path d=\"M94.2,152c0.3,7.7-1.7,11.4-6.2,12.8c-5.7,1.7-11.1-2.4-11.6-9c-1.4-16.9-2.7-33.8-4-50.8c-0.6-7.6-1.2-15.3-1.8-22.9\n        c-0.5-6.3,2.5-10.8,7.8-11.3c5.7-0.6,9.5,3,10.1,9.7C90.4,104.7,92.4,128.9,94.2,152z\" /&gt;\n            &lt;path d=\"M169.1,153.3c2-25,3.9-48.9,5.9-72.8c0.6-6.9,4.3-10.3,10-9.8c5.5,0.5,8.4,5,7.8,11.7c-1.9,23.7-3.7,47.5-5.6,71.2\n        c-0.1,1.8-0.3,3.7-0.9,5.4c-1.4,4.2-5.5,6.7-9.8,5.9c-4.4-0.9-7-3.6-7.4-8.2C169,155.2,169.1,153.7,169.1,153.3z\" /&gt;\n        &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol viewBox=\"0 0 436.7 439.7\" id=\"icon-house\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g&gt;\n            &lt;path d=\"M284.6,103.8c0-5.7-0.1-10.4,0-15c0.1-7.4,3.4-10.7,10.8-10.7c13.7-0.1,27.3,0,41,0c1.8,0,3.6,0,5.6,0\n        c1-5.7-1.5-9.6-5.2-12.5c-4.6-3.6-9.6-6.5-14.6-9.4c-3.6-2.1-7.5-3.7-11-5.8c-9.7-5.9-15.8-14.3-13.7-26.1\n        c2.2-12.1,10.1-19.6,21.6-23.2c2.3-0.7,4.9-1,7.4-0.9c5.5,0.2,9.1,4.1,8.9,9.3c-0.2,5-3.7,8.3-9.1,8.6c-7.1,0.3-9.7,2.1-10.9,7.2\n        c-0.9,4,0,7.3,3.8,9.3c3.4,1.8,7,3.2,10.2,5.3c7,4.5,14.1,8.8,20.4,14.1c6.4,5.4,10.1,12.7,10.6,21.4c0.1,1.3,1.2,3,2.4,3.7\n        c3.9,2.3,5.3,5.8,5.3,10.1c0,28.7,0.3,57.3-0.4,86c-0.2,9.3,2.6,15.7,9.3,22c18.8,18,36.9,36.6,55.3,55c1.7,1.7,3.4,3.8,4,6.1\n        c1.8,5.9-2.5,10.9-9.3,11c-11.7,0.1-23.3,0-35,0c-1.8,0-3.6,0-5.9,0c0,2.5,0,4.5,0,6.4c0,50.5,0,101,0,151.5\n        c0,9.7-2.9,12.6-12.5,12.6c-37.8,0-75.7,0-113.5,0c-9.7,0-12.5-2.8-12.5-12.5c0-23.2,0-46.3,0-69.5c0-2,0-4,0-6.4\n        c-20.5,0-40.7,0-61.5,0c0,1.7,0,3.5,0,5.3c0,23.8,0,47.7,0,71.5c0,8.6-3.1,11.7-11.8,11.7c-36.8,0-73.7,0-110.5,0\n        c-8.6,0-11.6-3.2-11.6-11.9c0-50.7,0-101.3,0-152c0-2,0-4,0-6.6c-6.7,0-12.9,0-19.2,0c-7.5,0-15-0.1-22.5,0c-4.4,0-8-1.2-9.7-5.5\n        c-1.7-4.2-0.3-7.7,2.8-10.8c69.2-69.2,138.4-138.3,207.6-207.5c5.1-5.1,10.1-4.6,15.5,0.9c18.4,18.6,36.9,37.1,55.4,55.6\n        C282.5,102.3,283.1,102.6,284.6,103.8z M168.1,421.5c0-2.2,0-4,0-5.8c0-24.2,0-48.3,0-72.5c0-6.9,3.3-10.3,10-10.3\n        c25.8-0.1,51.6-0.1,77.5,0c6.6,0,10.4,4.2,10.4,10.8c-0.1,24.5-0.2,49-0.3,73.4c0,1.4,0.3,2.8,0.4,4.2c34.2,0,67.9,0,101.6,0\n        c0-50.8,0-101.2,0-151.6c-99.3,0-198.3,0-297.1,0c0,50.9,0,101.3,0,151.8C103.1,421.5,135.2,421.5,168.1,421.5z M404.5,251\n        C342.2,188.6,280.1,126.6,219,65.5C157.4,127.2,95.3,189.3,33.6,251C156.5,251,280.4,251,404.5,251z M302.6,96.1\n        c0,7.6-0.3,14.6,0.2,21.5c0.2,2.8,1.5,6.2,3.5,8.2c13.1,13.5,26.5,26.7,39.8,40c1,1,2.1,1.8,3.9,3.4c0-24.1,0-47.1-0.1-70.2\n        c0-1-1.9-2.7-2.9-2.7C332.4,96,317.9,96.1,302.6,96.1z\" /&gt;\n            &lt;path d=\"M90.6,237.9c-3-2.2-6.4-3.6-7.5-6c-1.2-2.6-0.4-6.3,0.2-9.3c0.3-1.4,2.1-2.5,3.2-3.7c41.4-41.4,82.7-82.7,124.1-124.1\n        c0.9-0.9,1.8-1.9,2.9-2.8c3.8-2.9,8.5-2.7,11.8,0.5c3.3,3.2,3.7,8,0.9,11.8c-0.9,1.2-2,2.2-3.1,3.3c-41.4,41.4-82.7,82.7-124.1,124\n        C96.8,233.9,93.9,235.5,90.6,237.9z\" /&gt;\n            &lt;path d=\"M136.7,236.6c-8.5-0.3-12.7-7.7-9.3-13.5c0.8-1.4,2.1-2.6,3.2-3.8c27.2-27.2,54.3-54.4,81.5-81.6c1.1-1.1,2.1-2.2,3.3-3\n        c3.8-2.4,7.6-2.1,11,0.9c3.2,2.8,3.8,7.7,1.4,11.4c-0.8,1.2-1.9,2.3-3,3.4c-27.2,27.2-54.3,54.4-81.6,81.5\n        C141.1,234.2,138.1,235.6,136.7,236.6z\" /&gt;\n        &lt;/g&gt;\n    &lt;/symbol&gt;\n\n    &lt;symbol viewBox=\"0 0 583.8 568.2\" id=\"icon-util\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g&gt;\n            &lt;path d=\"M460.9,93.2c10.7,0,21.3,0,32,0c7.4,0,11-3.7,11.1-11.1c0.1-20.3,0.1-40.7,0-61c-0.1-8.4,3.1-15,10.7-18.8\n        c7.8-4,15.1-2.2,21.9,3C601.8,56,599.1,156,531,203.2c-8,5.6-11.7,12.1-11.6,22c0.2,102.2,0.1,204.3,0.2,306.5\n        c0,7.6-1,14.9-5.4,21.4c-6.4,9.5-15.5,14.6-26.9,14.8c-17.7,0.3-35.3,0.3-53,0c-18.6-0.3-32.3-14.7-32.3-33.6\n        c0-103.2-0.1-206.3,0.1-309.5c0-9.8-3.6-16.4-11.4-21.8c-26.4-18.4-43.9-43.4-50.1-74.9c-9.7-49.7,5.5-91,44.6-123.2\n        c6.5-5.4,13.8-6.5,21.5-2.7c7.5,3.7,10.7,10.1,10.7,18.3c0,20,0,40,0,60c0,9.5,3.1,12.7,12.5,12.7\n        C440.2,93.3,450.5,93.2,460.9,93.2z M523.4,18.1c-0.5,0.2-1,0.5-1.5,0.7c0,1.8,0,3.5,0,5.3c0,19.2,0,38.3,0,57.5\n        c0,18.2-11.5,29.7-29.6,29.7c-20.8,0-41.7,0-62.5,0c-19,0-30.2-11.1-30.2-30c0-19,0-38,0-57c0-1.9-0.3-3.8-0.5-6.8\n        c-2.5,1.9-4.3,3-5.9,4.4c-32.6,29.3-44.2,65.3-33.6,107.8c6.3,25.2,21.2,44.9,42.7,59.6c11.8,8.1,17.8,18.9,17.8,33.6\n        c-0.2,79.5-0.1,159-0.1,238.5c0,24.2,0,48.3,0,72.5c0,9.7,5.7,15.6,15.5,15.6c17,0.1,34,0.1,51,0c9.2-0.1,14.9-5.8,15.3-15\n        c0.1-1.3,0-2.7,0-4c0-103.3,0.1-206.6-0.1-309.9c0-10.8,4.2-19.3,11.7-26.6c2.3-2.2,4.9-3.9,7.5-5.8\n        c56.9-39.8,60.3-122.8,6.9-166.9C526.3,20.2,524.9,19.2,523.4,18.1z\" /&gt;\n            &lt;path d=\"M385,416.4c0,38.8,0,77.7,0,116.5c0,21.6-13.6,35.2-35.3,35.2c-15.8,0-31.7,0-47.5,0c-20.8-0.1-34.6-13.7-34.6-34.4\n        c-0.1-78.2-0.1-156.3,0-234.5c0-20.5,13.8-34,34.3-34.1c16.5,0,33,0,49.5,0c19.7,0.1,33.6,13.9,33.6,33.7\n        C385,338,385,377.2,385,416.4z M367,416.6c0-39.2,0-78.3,0-117.5c0-10.3-5.8-16-16.1-16c-16.3,0-32.7,0-49,0\n        c-10.7,0-16.3,5.6-16.3,16.4c0,78,0,155.9,0,233.9c0,11,5.7,16.6,16.6,16.6c15.8,0,31.7,0,47.5,0c11.9,0,17.3-5.5,17.3-17.5\n        C367,493.9,367,455.3,367,416.6z\" /&gt;\n            &lt;path d=\"M251.3,462.9c0,23.3,0,46.7,0,70c0,21.7-13.6,35.1-35.4,35.1c-15.8,0-31.7,0-47.5,0c-20.7-0.1-34.5-13.8-34.5-34.5\n        c0-47.3,0-94.7,0-142c0-20.4,13.8-34.2,34.1-34.3c16.3,0,32.7,0,49,0c20.4,0,34.1,13.7,34.2,34.2\n        C251.3,415.3,251.3,439.1,251.3,462.9z M233.2,462.6c0-23.5,0-47,0-70.5c0-11.4-5.5-16.9-16.8-16.9c-15.8,0-31.7,0-47.5,0\n        c-11.6,0-17.1,5.5-17.1,17.1c0,46.8,0,93.6,0,140.4c0,11.6,5.5,17.2,17,17.2c15.7,0,31.3,0,47,0c11.9,0,17.3-5.4,17.3-17.4\n        C233.3,509.3,233.2,486,233.2,462.6z\" /&gt;\n            &lt;path d=\"M118,494c0,13.5,0,27,0,40.5c-0.1,19.3-14.1,33.5-33.4,33.6c-17,0.1-34,0.1-51,0c-19.3-0.1-33.5-14.2-33.5-33.5\n        c-0.1-27.1-0.1-54.3,0-81.4C0.1,434,13.8,419.9,33,419.6c17.3-0.3,34.6-0.3,52,0c19.4,0.3,33,14.4,33,33.9\n        C118,467,118,480.5,118,494z M100,493.7c0-13.3,0-26.7,0-40c0-10.1-5.7-16-15.7-16.1c-16.8-0.1-33.7-0.1-50.5,0\n        c-10,0.1-15.7,6.1-15.7,16.1c0,26.7,0,53.3,0,80c0,10.5,5.9,16.4,16.5,16.4c16.3,0.1,32.7,0.1,49,0c10.6,0,16.4-5.9,16.4-16.4\n        C100,520.3,100,507,100,493.7z\" /&gt;\n        &lt;/g&gt;\n    &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Emp Exp Services List\">e2e1d32813213600d15e3d7ed144b016</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush</sys_created_by>\n<sys_created_on>2017-03-14 00:10:57</sys_created_on>\n<sys_id>aae1d32813213600d15e3d7ed144b016</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush</sys_updated_by>\n<sys_updated_on>2017-03-14 00:10:57</sys_updated_on>\n<table/>\n<target_name>services-svgs</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-emp-exp-services-list-snippet/widget/pe-emp-exp-services-list-snippet.u-body-html-template.html",
    "content": "<div ng-include src=\"'services-svgs'\"></div>\r\n<div class=\"services row\">\r\n    <!-- your widget template -->\r\n    <div class=\"services-list\">\r\n        <div class=\"each-service\" ng-repeat=\"service in c.servicesList\" ng-class=\"{'selected':service.selected}\" ng-click=\"service.selected = !service.selected\">\r\n            <svg class=\"svg-icon\">\r\n                <use xlink:href='{{service.icon}}'></use>\r\n            </svg>\r\n            <p> {{service.name}}</p>\r\n        </div>\r\n    </div>\r\n    <div class=\"accept-btn\" ng-click=\"\">\r\n        <p> Accept</p>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-emp-exp-services-list-snippet/widget/pe-emp-exp-services-list-snippet.u-client-script.js",
    "content": "function ServicesListController() {\r\n    /* widget controller */\r\n    var c = this;\r\n    c.servicesList = [{\r\n            name: \"Household Goods Shipment\",\r\n            selected: true,\r\n            icon: \"#icon-shipment\"\r\n        }, {\r\n            name: \"Temporary Housing\",\r\n            selected: true,\r\n            icon: \"#icon-house\"\r\n        }, {\r\n            name: \"Rental Furniture\",\r\n            selected: false,\r\n            icon: \"#icon-furniture\"\r\n        }, {\r\n            name: \"Activate Utilities\",\r\n            selected: true,\r\n            icon: \"#icon-util\"\r\n        }, {\r\n            name: \"Temporary Cars\",\r\n            selected: false,\r\n            icon: \"#icon-car\"\r\n        }, {\r\n            name: \"Pet Services\",\r\n            selected: false,\r\n            icon: \"#icon-pet\"\r\n        }\r\n\r\n    ]\r\n}"
  },
  {
    "path": "pe-emp-exp-services-list-snippet/widget/pe-emp-exp-services-list-snippet.u-css.scss",
    "content": "$pe-blue-color: #268cf8 !default;\n.services {\n    p {\n        margin-bottom: 0px;\n    }\n    .accept-btn {\n        padding: 20px;\n        border-bottom: 3px solid $pe-blue-color;\n        text-align: center;\n        p {\n            font-size: 18px;\n            color: $pe-blue-color;\n        }\n    }\n    .services-list {\n        background: #f5f5f5;\n        box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n        .each-service {\n            padding: 10px 20px;\n            display: flex;\n            border-bottom: solid 1px #e6e8ea;\n            align-items: center;\n            &.selected {\n                background: $pe-blue-color;\n                .svg-icon {\n                    width: 35px;\n                    height: 35px;\n                    fill: #fff;\n                    stroke: #fff;\n                    margin-right: 20px;\n                }\n                p {\n                    font-size: 18px;\n                    color: #fff;\n                }\n            }\n            .svg-icon {\n                width: 35px;\n                height: 35px;\n                fill: #696d71;\n                stroke: #696d71;\n                margin-right: 20px;\n            }\n            p {\n                font-size: 18px;\n                color: #696d71;\n            }\n        }\n    }\n}"
  },
  {
    "path": "pe-emp-exp-services-list-snippet/widget/pe-emp-exp-services-list-snippet.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-emp-exp-signature-modal-snippet/Readme.md",
    "content": "# Employee Experience Modal Snippet\n\n## Description\n\nThis is the snippet for signature modal in employee experience.\n\n## Screenshots\n![alt text](../images/pe-emp-exp-modal-header-snippet.png \"Modal Snippet\")\n\n## Additional Information/Notes\nThis snippet uses **pe-scratch-pad** widget for signature pad.\n> Widget is included with the update set.\n\n---\n## Installation\n---\nDownload and install update set **[pe-emp-exp-modal-header-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-emp-exp-signature-modal-snippet/pe-emp-exp-signature-modal-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided within the Client Script file.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-emp-exp-signature-modal-snippet/pe-emp-exp-signature-modal-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-02 23:20:28\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Emp Exp Signature Modal Header </name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>f5ae33e613cb7600890b3092e144b035</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>282f8cbe13cb7600890b3092e144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a34b3d28136df200d15e3d7ed144b0e6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function SignatureModalHeaderController(spUtil) {\n  var c = this;\n  c.getCompleteStyleOne = getCompleteStyleOne;\n  c.getCompleteStyleTwo = getCompleteStyleTwo;\n\n  c.$onInit = function() {\n    getScratchPad();\n    c.yesterday = moment(new Date()).subtract(1, 'days').date();\n    c.month = moment(new Date()).subtract(1, 'days').format('MMM');\n    c.documentUser = 'Suzy Ham';\n    c.title = 'TAX DOCUMENT';\n    c.subTitle = 'RELOCATION';\n  };\n\n  function getScratchPad() {\n    spUtil.get('pe-scratch-pad', {}).then(function(response) {\n      c.data.scratchPadWidget = response;\n    });\n  }\n\n  function getCompleteStyleOne(type) {\n    if (type === 'complete') {\n      return {\n        'background': '#fff',\n        'clip': 'rect(0 40px 22px 0)',\n        'transform': 'rotate(90deg)',\n        'border-radius': '50%'\n      };\n    }\n  }\n\n  function getCompleteStyleTwo(deg) {\n    return {\n      'background': '#fff',\n      'clip': 'rect(0 20px 40px 0)',\n      'transform': 'rotate(' + deg + 'deg)',\n      'border-radius': '50%'\n    };\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-blue-color: #268cf8 !default;\n\n.signature-div {\n  max-height: 97%;\n  height: 100%;\n  bottom: 0%;\n  overflow: auto;\n  margin: 10px;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  background: #fff;\n  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n  &amp;amp;:after {\n    content: '';\n    display: block;\n    clear: both;\n  }\n  .encloser {\n    position: relative;\n    color: #81878e;\n    text-align: center;\n    .title {\n      text-transform: uppercase;\n      font-size: 18px;\n      padding-bottom: 10px;\n    }\n    .user {\n      font-size: 12px;\n      text-transform: uppercase;\n      padding-bottom: 20px;\n    }\n    .svg-icon-close {\n      width: 30px;\n      height: 30px;\n      stroke: #81878e;\n      fill: #81878e;\n      position: absolute;\n      top: 0px;\n      right: 10px;\n    }\n    .svg-icon-sign {\n      width: 55px;\n      height: 55px;\n      stroke: $pe-blue-color;\n      fill: $pe-blue-color;\n      margin-bottom: 20px;\n    }\n    .date-sign {\n      background: $pe-blue-color;\n      border-radius: 6px;\n      max-height: 160px;\n      position: relative;\n      padding: 30px 20px;\n      margin: 10px;\n      transition: all 1s;\n      &amp;amp;.sign-done {\n        max-height: 120px;\n        padding: 20px;\n        overflow: auto;\n        margin: 10px;\n      }\n      .msg {\n        font-size: 24px;\n        color: #fff;\n        font-weight: 300;\n        padding: 15px;\n      }\n      .flex-it {\n        display: flex;\n        align-items: center;\n      }\n      .triangle-down {\n        width: 0;\n        position: absolute;\n        height: 0;\n        bottom: -10px;\n        left: 49%;\n        border-left: 6px solid transparent;\n        border-right: 5px solid transparent;\n        border-top: 10px solid $pe-blue-color;\n      }\n      .date {\n        width: 50%;\n        font-size: 24px;\n        color: #fff;\n        font-weight: 300;\n        padding: 15px;\n        padding-left: 0px;\n      }\n    }\n    .sign-donut {\n      border-left: 0.5px solid #fff;\n      width: 50%;\n    }\n    .sign-section {\n      background: #268cf8;\n      display: flex;\n      align-items: center;\n      justify-content: space-around;\n      padding: 15px;\n      padding-right: 0px;\n      .percent {\n        font-size: 18px;\n        font-weight: 600;\n        color: #fff;\n      }\n    }\n    .card {\n      background: #fff;\n      padding: 0px;\n      .donut-chart {\n        position: relative;\n        border-radius: 50%;\n        overflow: hidden;\n        .slice {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n        }\n        .chart-center {\n          position: absolute;\n          border-radius: 50%;\n        }\n        .chart-center span.in-progress {\n          display: block;\n          text-align: center;\n        }\n        .chart-center span.complete {\n          display: block;\n          text-align: center;\n          color: $pe-blue-color;\n          font-family: arial;\n          -ms-transform: scaleX(-1) rotate(-35deg);\n          /* IE 9 */\n          -webkit-transform: scaleX(-1) rotate(-35deg);\n          /* Chrome, Safari, Opera */\n          transform: scaleX(-1) rotate(-35deg);\n          &amp;amp;:after {\n            content: 'L';\n          }\n        }\n      }\n      .chart {\n        width: 40px;\n        height: 40px;\n        background: #C8E2FC;\n        .chart-center-inprogress {\n          top: 13px;\n          left: 13px;\n          width: 14px;\n          height: 14px;\n          background: #fff;\n        }\n        .chart-center-complete {\n          top: 10px;\n          left: 10px;\n          width: 20px;\n          height: 20px;\n          background: #fff;\n        }\n      }\n    }\n    .card {\n      background: $pe-blue-color;\n      padding: 0px;\n      .donut-chart {\n        .chart-center span.complete {\n          display: block;\n          text-align: center;\n          color: #fff;\n          font-family: arial;\n          -ms-transform: scaleX(-1) rotate(-35deg);\n          /* IE 9 */\n          -webkit-transform: scaleX(-1) rotate(-35deg);\n          /* Chrome, Safari, Opera */\n          transform: scaleX(-1) rotate(-35deg);\n          &amp;amp;:after {\n            content: 'L';\n          }\n        }\n      }\n      .chart {\n        .chart-center-complete {\n          top: 10px;\n          left: 10px;\n          width: 20px;\n          height: 20px;\n          background: $pe-blue-color;\n        }\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-emp-exp-modal-header-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Emp Exp Signature Modal Header &lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 17:53:57&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a34b3d28136df200d15e3d7ed144b0e6&lt;/sys_id&gt;&lt;sys_mod_count&gt;33&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Emp Exp Signature Modal Header &lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a34b3d28136df200d15e3d7ed144b0e6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-02 23:18:58&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-signature\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;path d=\"M14.4,85.5h16.4v5.8h15.3l5.8-5.8h27c1.1,0,2-0.9,2-2v-27l6.6-6.6L81,43.3V10.6c0-1.1-0.9-2-2-2H14.4c-1.1,0-2,0.9-2,2   v72.9C12.4,84.6,13.3,85.5,14.4,85.5z M76.9,81.5H56l20.9-20.9V81.5z M81.8,49.9L44.4,87.3h-9.5v-9.5l37.4-37.4L81.8,49.9z    M16.5,12.7h60.5v26.5l-4.6-4.6L61.9,45H26.1v4.1h31.7L45.2,61.7H26.1v4.1h15.1L30.8,76.1v5.4H16.5V12.7z\"&gt;&lt;/path&gt;\n      &lt;rect x=\"26.1\" y=\"28.4\" width=\"41.3\" height=\"4.1\"&gt;&lt;/rect&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n  &lt;symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-close\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;polygon points=\"83.2,12.5 49.7,46.1 16.1,12.5 11.9,16.8 45.4,50.3 11.9,83.9 16.1,88.1 49.7,54.6 83.2,88.1 87.5,83.9 53.9,50.3 87.5,16.8\"&gt;&lt;/polygon&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div&gt;\n  &lt;div class=\"signature-div\"&gt;\n    &lt;div class=\"encloser\"&gt;\n      &lt;p class=\"title\"&gt;{{::c.title}}&lt;/p&gt;\n      &lt;p class=\"user\"&gt;{{::c.documentUser}} | {{::c.subTitle}}&lt;/p&gt;\n      &lt;svg class=\"svg-icon-close\" ng-click=\"c.closeSignature()\"&gt;\n        &lt;use xlink:href='#icon-close'&gt;&lt;/use&gt;\n      &lt;/svg&gt;\n      &lt;svg class=\"svg-icon-sign\"&gt;\n        &lt;use xlink:href='#icon-signature'&gt;&lt;/use&gt;\n      &lt;/svg&gt;\n      &lt;div class=\"date-sign\"&gt;\n        &lt;div class=\"flex-it\"&gt;\n          &lt;p class=\"date\"&gt;\n            {{c.month}} {{c.yesterday}}\n          &lt;/p&gt;\n          &lt;div class=\"sign-donut\"&gt;\n            &lt;div class=\"sign-section\"&gt;\n              &lt;div class=\"card\"&gt;\n                &lt;div class=\"donut-chart chart\"&gt;\n                  &lt;div class=\"slice\" ng-style=\"c.getCompleteStyleOne('complete')\"&gt;&lt;/div&gt;\n                  &lt;div class=\"slice\" ng-style=\"c.getCompleteStyleTwo(360)\"&gt;&lt;/div&gt;\n                  &lt;div class=\"chart-center chart-center-complete\"&gt;\n                    &lt;span class=\"complete\"&gt;&lt;/span&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;p class=\"percent\"&gt;Signature Complete&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"triangle-down\"&gt;&lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div&gt;\n        &lt;sp-widget widget=\"c.data.scratchPadWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>202f8cbe13cb7600890b3092e144b00d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>PE Emp Exp Signature Modal Header </target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_860823081311ba007e94fc5ed144b0cc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;scratchPad&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function($interval, $timeout, $window, $rootScope) {\n  var signaturePad, element, EMPTY_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjgAAADcCAQAAADXNhPAAAACIklEQVR42u3UIQEAAAzDsM+/6UsYG0okFDQHMBIJAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEwHMBwAMMBMBzAcAAMBzAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcCQADAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMBzAcAMMBDAfAcADDAQwHwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDkQAwHMBwAAwHMBwAwwEMBzAcAMMBDAfAcADDAQwHwHAAwwEwHMBwAMMBMBzAcAAMBzAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMBzAcAMMBDAegeayZAN3dLgwnAAAAAElFTkSuQmCC';\n  return {\n    restrict: 'EA',\n    replace: true,\n    template: '&lt;div class=\"signature\" style=\"width: 100%; max-width:{{width}}px; height: 100%; max-height:{{height}}px;\"&gt;&lt;canvas style=\"display: block; margin: 0 auto;\" ng-mouseup=\"onMouseup()\" ng-mousedown=\"notifyDrawing({ drawing: true })\"&gt;&lt;/canvas&gt;&lt;/div&gt;',\n    scope: {\n      accept: '=?',\n      clear: '=?',\n      dataurl: '=?',\n      height: '@',\n      width: '@',\n      notifyDrawing: '&amp;onDrawing',\n    },\n    controller: [\n      '$scope',\n      function($scope) {\n        $scope.accept = function() {\n\n          return {\n            isEmpty: $scope.dataurl === EMPTY_IMAGE,\n            dataUrl: $scope.dataurl\n          };\n        };\n\n        $scope.onMouseup = function() {\n          $scope.updateModel();\n          $scope.notifyDrawing({\n            drawing: false\n          });\n        };\n\n        $scope.updateModel = function() {\n          /*\n           defer handling mouseup event until $scope.signaturePad handles\n           first the same event\n           */\n          $timeout().then(function() {\n            $scope.dataurl = $scope.signaturePad.isEmpty() ? EMPTY_IMAGE : $scope.signaturePad.toDataURL();\n          });\n        };\n\n        $scope.clear = function() {\n          $scope.signaturePad.clear();\n          $scope.dataurl = EMPTY_IMAGE;\n        };\n\n        $scope.$watch(\"dataurl\", function(dataUrl) {\n          if (!dataUrl || $scope.signaturePad.toDataURL() === dataUrl) {\n            return;\n          }\n\n          $scope.setDataUrl(dataUrl);\n        });\n      }\n    ],\n    link: function(scope, element, attrs, rootScope) {\n      var canvas = element.find('canvas')[0];\n      var parent = canvas.parentElement;\n      var scale = 0;\n      var ctx = canvas.getContext('2d');\n\n      var width = parseInt(scope.width, 10);\n      var height = parseInt(scope.height, 10);\n\n      canvas.width = width;\n      canvas.height = height;\n\n      scope.signaturePad = new SignaturePad(canvas);\n\n      scope.setDataUrl = function(dataUrl) {\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.scale(1, 1);\n\n        scope.signaturePad.clear();\n        scope.signaturePad.fromDataURL(dataUrl);\n\n        $timeout().then(function() {\n          ctx.setTransform(1, 0, 0, 1, 0, 0);\n          ctx.scale(1 / scale, 1 / scale);\n        });\n      };\n\n      var calculateScale = function() {\n        var scaleWidth = Math.min(parent.clientWidth / width, 1);\n        var scaleHeight = Math.min(parent.clientHeight / height, 1);\n\n        var newScale = Math.min(scaleWidth, scaleHeight);\n\n        if (newScale === scale) {\n          return;\n        }\n\n        var newWidth = width * newScale;\n        var newHeight = height * newScale;\n        canvas.style.height = Math.round(newHeight) + \"px\";\n        canvas.style.width = Math.round(newWidth) + \"px\";\n\n        scale = newScale;\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.scale(1 / scale, 1 / scale);\n      };\n\n      var resizeIH = $interval(calculateScale, 200);\n      scope.$on('$destroy', function() {\n        $interval.cancel(resizeIH);\n        resizeIH = null;\n      });\n\n      angular.element($window).bind('resize', calculateScale);\n      scope.$on('$destroy', function() {\n        angular.element($window).unbind('resize', calculateScale);\n      });\n\n      calculateScale();\n\n      element.on('touchstart', onTouchstart);\n      element.on('touchend', onTouchend);\n\n      function onTouchstart() {\n        scope.$apply(function() {\n          // notify that drawing has started\n          scope.notifyDrawing({\n            drawing: true\n          });\n        });\n      }\n\n      function onTouchend() {\n        scope.$apply(function() {\n          // updateModel\n          scope.updateModel();\n\n          // notify that drawing has ended\n          $rootScope.$broadcast('signDone', 'done');\n          scope.notifyDrawing({\n            drawing: false\n          });\n        });\n      }\n    }\n  };\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 02:15:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;860823081311ba007e94fc5ed144b0cc&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;scratchPad&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_860823081311ba007e94fc5ed144b0cc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-02 22:54:49&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>242f8cbe13cb7600890b3092e144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>scratchPad</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_87b8e7081311ba007e94fc5ed144b0ef</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-scratch-pad\">85b8e7081311ba007e94fc5ed144b0b0</sp_dependency><sp_widget display_value=\"PE Scratch Pad\">271623c41311ba007e94fc5ed144b0b8</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 02:18:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>87b8e7081311ba007e94fc5ed144b0ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>scratch-pad.Scratch Pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_87b8e7081311ba007e94fc5ed144b0ef</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-28 02:18:01</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>602f8cbe13cb7600890b3092e144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>scratch-pad.Scratch Pad</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_271623c41311ba007e94fc5ed144b0b8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ScratchPadController() {\n  var c = this;\n  c.done = done;\n\n  function done() {\n    var signature = c.accept();\n    if (signature.isEmpty) {\n      console.log('scratch pad empty');\n    } else {\n      console.log(signature.dataUrl);\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.signature-main-div {&amp;#13;\n  margin: 10px;&amp;#13;\n  margin-top: 40px;&amp;#13;\n  border-radius: 6px;&amp;#13;\n  .signature {&amp;#13;\n    margin-left: auto;&amp;#13;\n    margin-right: auto;&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n  }&amp;#13;\n  .signature canvas {&amp;#13;\n    border: 1px solid #ddd;&amp;#13;\n    border-radius: 6px;&amp;#13;\n    margin: 0 auto;&amp;#13;\n    cursor: pointer;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;scratch pad widget&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-scratch-pad&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Scratch Pad&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 02:06:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;271623c41311ba007e94fc5ed144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;29&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Scratch Pad&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_271623c41311ba007e94fc5ed144b0b8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sgregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-04 00:54:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"signature-main-div\"&gt;\n  &lt;scratch-pad accept=\"c.accept\" clear=\"clear\" height=\"150\" width=\"350\"&gt;&lt;/scratch-pad&gt;\n  &lt;button class=\"btn btn-danger\" ng-click=\"clear()\"&gt;Clear signature&lt;/button&gt;\n  &lt;button class=\"btn btn-primary\" ng-click=\"c.done()\"&gt;Accept signature&lt;/button&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>6c2f8cbe13cb7600890b3092e144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>PE Scratch Pad</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_5d6744fa13cb7600890b3092e144b056</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-scratch-pad</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-02 22:46:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5d6744fa13cb7600890b3092e144b056</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-scratch-pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-scratch-pad-ui-script\">526827081311ba007e94fc5ed144b00b</sys_ui_script><sys_update_name>sp_js_include_5d6744fa13cb7600890b3092e144b056</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-02 22:46:46</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>a82f8cbe13cb7600890b3092e144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_7018afc41311ba007e94fc5ed144b0a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"scratchPad\">860823081311ba007e94fc5ed144b0cc</sp_angular_provider><sp_widget display_value=\"PE Scratch Pad\">271623c41311ba007e94fc5ed144b0b8</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 02:15:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7018afc41311ba007e94fc5ed144b0a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>scratch-pad.Scratch Pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_7018afc41311ba007e94fc5ed144b0a3</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-28 02:15:08</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>ac2f8cbe13cb7600890b3092e144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>scratch-pad.Scratch Pad</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_526827081311ba007e94fc5ed144b00b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-scratch-pad-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(a,b){\"function\"==typeof define&amp;&amp;define.amd?define([],function(){return a.SignaturePad=b()}):\"object\"==typeof exports?module.exports=b():a.SignaturePad=b()}(this,function(){/*!\n * Signature Pad v1.5.2 | https://github.com/szimek/signature_pad\n * (c) 2015 Szymon Nowak | Released under the MIT license\n */\nvar a=function(a){\"use strict\";var b=function(a,b){var c=this,d=b||{};this.velocityFilterWeight=d.velocityFilterWeight||.7,this.minWidth=d.minWidth||.5,this.maxWidth=d.maxWidth||2.5,this.dotSize=d.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=d.penColor||\"black\",this.backgroundColor=d.backgroundColor||\"rgba(0,0,0,0)\",this.onEnd=d.onEnd,this.onBegin=d.onBegin,this._canvas=a,this._ctx=a.getContext(\"2d\"),this.clear(),this._handleMouseDown=function(a){1===a.which&amp;&amp;(c._mouseButtonDown=!0,c._strokeBegin(a))},this._handleMouseMove=function(a){c._mouseButtonDown&amp;&amp;c._strokeUpdate(a)},this._handleMouseUp=function(a){1===a.which&amp;&amp;c._mouseButtonDown&amp;&amp;(c._mouseButtonDown=!1,c._strokeEnd(a))},this._handleTouchStart=function(a){if(1==a.targetTouches.length){var b=a.changedTouches[0];c._strokeBegin(b)}},this._handleTouchMove=function(a){a.preventDefault();var b=a.targetTouches[0];c._strokeUpdate(b)},this._handleTouchEnd=function(a){var b=a.target===c._canvas;b&amp;&amp;(a.preventDefault(),c._strokeEnd(a))},this._handleMouseEvents(),this._handleTouchEvents()};b.prototype.clear=function(){var a=this._ctx,b=this._canvas;a.fillStyle=this.backgroundColor,a.clearRect(0,0,b.width,b.height),a.fillRect(0,0,b.width,b.height),this._reset()},b.prototype.toDataURL=function(){var a=this._canvas;return a.toDataURL.apply(a,arguments)},b.prototype.fromDataURL=function(a){var b=this,c=new Image,d=window.devicePixelRatio||1,e=this._canvas.width/d,f=this._canvas.height/d;this._reset(),c.src=a,c.onload=function(){b._ctx.drawImage(c,0,0,e,f)},this._isEmpty=!1},b.prototype._strokeUpdate=function(a){var b=this._createPoint(a);this._addPoint(b)},b.prototype._strokeBegin=function(a){this._reset(),this._strokeUpdate(a),\"function\"==typeof this.onBegin&amp;&amp;this.onBegin(a)},b.prototype._strokeDraw=function(a){var b=this._ctx,c=\"function\"==typeof this.dotSize?this.dotSize():this.dotSize;b.beginPath(),this._drawPoint(a.x,a.y,c),b.closePath(),b.fill()},b.prototype._strokeEnd=function(a){var b=this.points.length&gt;2,c=this.points[0];!b&amp;&amp;c&amp;&amp;this._strokeDraw(c),\"function\"==typeof this.onEnd&amp;&amp;this.onEnd(a)},b.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener(\"mousedown\",this._handleMouseDown),this._canvas.addEventListener(\"mousemove\",this._handleMouseMove),a.addEventListener(\"mouseup\",this._handleMouseUp)},b.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction=\"none\",this._canvas.addEventListener(\"touchstart\",this._handleTouchStart),this._canvas.addEventListener(\"touchmove\",this._handleTouchMove),a.addEventListener(\"touchend\",this._handleTouchEnd)},b.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},b.prototype.off=function(){this._canvas.removeEventListener(\"mousedown\",this._handleMouseDown),this._canvas.removeEventListener(\"mousemove\",this._handleMouseMove),a.removeEventListener(\"mouseup\",this._handleMouseUp),this._canvas.removeEventListener(\"touchstart\",this._handleTouchStart),this._canvas.removeEventListener(\"touchmove\",this._handleTouchMove),a.removeEventListener(\"touchend\",this._handleTouchEnd)},b.prototype.isEmpty=function(){return this._isEmpty},b.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._isEmpty=!0,this._ctx.fillStyle=this.penColor},b.prototype._createPoint=function(a){var b=this._canvas.getBoundingClientRect();return new c(a.clientX-b.left,a.clientY-b.top)},b.prototype._addPoint=function(a){var b,c,e,f,g=this.points;g.push(a),g.length&gt;2&amp;&amp;(3===g.length&amp;&amp;g.unshift(g[0]),f=this._calculateCurveControlPoints(g[0],g[1],g[2]),b=f.c2,f=this._calculateCurveControlPoints(g[1],g[2],g[3]),c=f.c1,e=new d(g[1],b,c,g[2]),this._addCurve(e),g.shift())},b.prototype._calculateCurveControlPoints=function(a,b,d){var e=a.x-b.x,f=a.y-b.y,g=b.x-d.x,h=b.y-d.y,i={x:(a.x+b.x)/2,y:(a.y+b.y)/2},j={x:(b.x+d.x)/2,y:(b.y+d.y)/2},k=Math.sqrt(e*e+f*f),l=Math.sqrt(g*g+h*h),m=i.x-j.x,n=i.y-j.y,o=l/(k+l),p={x:j.x+m*o,y:j.y+n*o},q=b.x-p.x,r=b.y-p.y;return{c1:new c(i.x+q,i.y+r),c2:new c(j.x+q,j.y+r)}},b.prototype._addCurve=function(a){var b,c,d=a.startPoint,e=a.endPoint;b=e.velocityFrom(d),b=this.velocityFilterWeight*b+(1-this.velocityFilterWeight)*this._lastVelocity,c=this._strokeWidth(b),this._drawCurve(a,this._lastWidth,c),this._lastVelocity=b,this._lastWidth=c},b.prototype._drawPoint=function(a,b,c){var d=this._ctx;d.moveTo(a,b),d.arc(a,b,c,0,2*Math.PI,!1),this._isEmpty=!1},b.prototype._drawCurve=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o=this._ctx,p=c-b;for(d=Math.floor(a.length()),o.beginPath(),f=0;d&gt;f;f++)g=f/d,h=g*g,i=h*g,j=1-g,k=j*j,l=k*j,m=l*a.startPoint.x,m+=3*k*g*a.control1.x,m+=3*j*h*a.control2.x,m+=i*a.endPoint.x,n=l*a.startPoint.y,n+=3*k*g*a.control1.y,n+=3*j*h*a.control2.y,n+=i*a.endPoint.y,e=b+i*p,this._drawPoint(m,n,e);o.closePath(),o.fill()},b.prototype._strokeWidth=function(a){return Math.max(this.maxWidth/(a+1),this.minWidth)};var c=function(a,b,c){this.x=a,this.y=b,this.time=c||(new Date).getTime()};c.prototype.velocityFrom=function(a){return this.time!==a.time?this.distanceTo(a)/(this.time-a.time):1},c.prototype.distanceTo=function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))};var d=function(a,b,c,d){this.startPoint=a,this.control1=b,this.control2=c,this.endPoint=d};return d.prototype.length=function(){var a,b,c,d,e,f,g,h,i=10,j=0;for(a=0;i&gt;=a;a++)b=a/i,c=this._point(b,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),d=this._point(b,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y),a&gt;0&amp;&amp;(g=c-e,h=d-f,j+=Math.sqrt(g*g+h*h)),e=c,f=d;return j},d.prototype._point=function(a,b,c,d,e){return b*(1-a)*(1-a)*(1-a)+3*c*(1-a)*(1-a)*a+3*d*(1-a)*a*a+e*a*a*a},b}(document);return a});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 02:16:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;526827081311ba007e94fc5ed144b00b&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-scratch-pad-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_526827081311ba007e94fc5ed144b00b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:20:13&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>e02f8cbe13cb7600890b3092e144b00d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_85b8e7081311ba007e94fc5ed144b0b0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-scratch-pad</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 02:18:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>85b8e7081311ba007e94fc5ed144b0b0</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-scratch-pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_85b8e7081311ba007e94fc5ed144b0b0</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-28 19:19:36</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>e42f8cbe13cb7600890b3092e144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_cb6744fa13cb7600890b3092e144b0b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"pe-scratch-pad\">85b8e7081311ba007e94fc5ed144b0b0</sp_dependency><sp_js_include display_value=\"pe-scratch-pad\">5d6744fa13cb7600890b3092e144b056</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-02 22:46:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cb6744fa13cb7600890b3092e144b0b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-scratch-pad.pe-scratch-pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_cb6744fa13cb7600890b3092e144b0b9</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-02 22:46:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Emp Exp Signature Modal Header \">282f8cbe13cb7600890b3092e144b00b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 23:20:28</sys_created_on>\n<sys_id>e82f8cbe13cb7600890b3092e144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 23:20:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad.pe-scratch-pad</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-emp-exp-signature-modal-snippet/widget/pe-emp-exp-signature-modal-snippet.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-signature\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <path d=\"M14.4,85.5h16.4v5.8h15.3l5.8-5.8h27c1.1,0,2-0.9,2-2v-27l6.6-6.6L81,43.3V10.6c0-1.1-0.9-2-2-2H14.4c-1.1,0-2,0.9-2,2   v72.9C12.4,84.6,13.3,85.5,14.4,85.5z M76.9,81.5H56l20.9-20.9V81.5z M81.8,49.9L44.4,87.3h-9.5v-9.5l37.4-37.4L81.8,49.9z    M16.5,12.7h60.5v26.5l-4.6-4.6L61.9,45H26.1v4.1h31.7L45.2,61.7H26.1v4.1h15.1L30.8,76.1v5.4H16.5V12.7z\"></path>\n      <rect x=\"26.1\" y=\"28.4\" width=\"41.3\" height=\"4.1\"></rect>\n    </g>\n  </symbol>\n  <symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-close\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <polygon points=\"83.2,12.5 49.7,46.1 16.1,12.5 11.9,16.8 45.4,50.3 11.9,83.9 16.1,88.1 49.7,54.6 83.2,88.1 87.5,83.9 53.9,50.3 87.5,16.8\"></polygon>\n    </g>\n  </symbol>\n</svg>\n<div>\n  <div class=\"signature-div\">\n    <div class=\"encloser\">\n      <p class=\"title\">{{::c.title}}</p>\n      <p class=\"user\">{{::c.documentUser}} | {{::c.subTitle}}</p>\n      <svg class=\"svg-icon-close\" ng-click=\"c.closeSignature()\">\n        <use xlink:href='#icon-close'></use>\n      </svg>\n      <svg class=\"svg-icon-sign\">\n        <use xlink:href='#icon-signature'></use>\n      </svg>\n      <div class=\"date-sign\">\n        <div class=\"flex-it\">\n          <p class=\"date\">\n            {{c.month}} {{c.yesterday}}\n          </p>\n          <div class=\"sign-donut\">\n            <div class=\"sign-section\">\n              <div class=\"card\">\n                <div class=\"donut-chart chart\">\n                  <div class=\"slice\" ng-style=\"c.getCompleteStyleOne('complete')\"></div>\n                  <div class=\"slice\" ng-style=\"c.getCompleteStyleTwo(360)\"></div>\n                  <div class=\"chart-center chart-center-complete\">\n                    <span class=\"complete\"></span>\n                  </div>\n                </div>\n              </div>\n              <p class=\"percent\">Signature Complete</p>\n            </div>\n          </div>\n        </div>\n        <div class=\"triangle-down\"></div>\n      </div>\n      <div>\n        <sp-widget widget=\"c.data.scratchPadWidget\"></sp-widget>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-emp-exp-signature-modal-snippet/widget/pe-emp-exp-signature-modal-snippet.u-client-script.js",
    "content": "function SignatureModalHeaderController(spUtil) {\n  var c = this;\n  c.getCompleteStyleOne = getCompleteStyleOne;\n  c.getCompleteStyleTwo = getCompleteStyleTwo;\n\n  c.$onInit = function() {\n    getScratchPad();\n    c.yesterday = moment(new Date()).subtract(1, 'days').date();\n    c.month = moment(new Date()).subtract(1, 'days').format('MMM');\n    c.documentUser = 'Suzy Ham';\n    c.title = 'TAX DOCUMENT';\n    c.subTitle = 'RELOCATION';\n  };\n\n  function getScratchPad() {\n    spUtil.get('pe-scratch-pad', {}).then(function(response) {\n      c.data.scratchPadWidget = response;\n    });\n  }\n\n  function getCompleteStyleOne(type) {\n    if (type === 'complete') {\n      return {\n        'background': '#fff',\n        'clip': 'rect(0 40px 22px 0)',\n        'transform': 'rotate(90deg)',\n        'border-radius': '50%'\n      };\n    }\n  }\n\n  function getCompleteStyleTwo(deg) {\n    return {\n      'background': '#fff',\n      'clip': 'rect(0 20px 40px 0)',\n      'transform': 'rotate(' + deg + 'deg)',\n      'border-radius': '50%'\n    };\n  }\n}"
  },
  {
    "path": "pe-emp-exp-signature-modal-snippet/widget/pe-emp-exp-signature-modal-snippet.u-css.scss",
    "content": "$pe-blue-color: #268cf8 !default;\n\n.signature-div {\n  max-height: 97%;\n  height: 100%;\n  bottom: 0%;\n  overflow: auto;\n  margin: 10px;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  background: #fff;\n  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n  &:after {\n    content: '';\n    display: block;\n    clear: both;\n  }\n  .encloser {\n    position: relative;\n    color: #81878e;\n    text-align: center;\n    .title {\n      text-transform: uppercase;\n      font-size: 18px;\n      padding-bottom: 10px;\n    }\n    .user {\n      font-size: 12px;\n      text-transform: uppercase;\n      padding-bottom: 20px;\n    }\n    .svg-icon-close {\n      width: 30px;\n      height: 30px;\n      stroke: #81878e;\n      fill: #81878e;\n      position: absolute;\n      top: 0px;\n      right: 10px;\n    }\n    .svg-icon-sign {\n      width: 55px;\n      height: 55px;\n      stroke: $pe-blue-color;\n      fill: $pe-blue-color;\n      margin-bottom: 20px;\n    }\n    .date-sign {\n      background: $pe-blue-color;\n      border-radius: 6px;\n      max-height: 160px;\n      position: relative;\n      padding: 30px 20px;\n      margin: 10px;\n      transition: all 1s;\n      &.sign-done {\n        max-height: 120px;\n        padding: 20px;\n        overflow: auto;\n        margin: 10px;\n      }\n      .msg {\n        font-size: 24px;\n        color: #fff;\n        font-weight: 300;\n        padding: 15px;\n      }\n      .flex-it {\n        display: flex;\n        align-items: center;\n      }\n      .triangle-down {\n        width: 0;\n        position: absolute;\n        height: 0;\n        bottom: -10px;\n        left: 49%;\n        border-left: 6px solid transparent;\n        border-right: 5px solid transparent;\n        border-top: 10px solid $pe-blue-color;\n      }\n      .date {\n        width: 50%;\n        font-size: 24px;\n        color: #fff;\n        font-weight: 300;\n        padding: 15px;\n        padding-left: 0px;\n      }\n    }\n    .sign-donut {\n      border-left: 0.5px solid #fff;\n      width: 50%;\n    }\n    .sign-section {\n      background: #268cf8;\n      display: flex;\n      align-items: center;\n      justify-content: space-around;\n      padding: 15px;\n      padding-right: 0px;\n      .percent {\n        font-size: 18px;\n        font-weight: 600;\n        color: #fff;\n      }\n    }\n    .card {\n      background: #fff;\n      padding: 0px;\n      .donut-chart {\n        position: relative;\n        border-radius: 50%;\n        overflow: hidden;\n        .slice {\n          position: absolute;\n          top: 0;\n          left: 0;\n          width: 100%;\n          height: 100%;\n        }\n        .chart-center {\n          position: absolute;\n          border-radius: 50%;\n        }\n        .chart-center span.in-progress {\n          display: block;\n          text-align: center;\n        }\n        .chart-center span.complete {\n          display: block;\n          text-align: center;\n          color: $pe-blue-color;\n          font-family: arial;\n          -ms-transform: scaleX(-1) rotate(-35deg);\n          /* IE 9 */\n          -webkit-transform: scaleX(-1) rotate(-35deg);\n          /* Chrome, Safari, Opera */\n          transform: scaleX(-1) rotate(-35deg);\n          &:after {\n            content: 'L';\n          }\n        }\n      }\n      .chart {\n        width: 40px;\n        height: 40px;\n        background: #C8E2FC;\n        .chart-center-inprogress {\n          top: 13px;\n          left: 13px;\n          width: 14px;\n          height: 14px;\n          background: #fff;\n        }\n        .chart-center-complete {\n          top: 10px;\n          left: 10px;\n          width: 20px;\n          height: 20px;\n          background: #fff;\n        }\n      }\n    }\n    .card {\n      background: $pe-blue-color;\n      padding: 0px;\n      .donut-chart {\n        .chart-center span.complete {\n          display: block;\n          text-align: center;\n          color: #fff;\n          font-family: arial;\n          -ms-transform: scaleX(-1) rotate(-35deg);\n          /* IE 9 */\n          -webkit-transform: scaleX(-1) rotate(-35deg);\n          /* Chrome, Safari, Opera */\n          transform: scaleX(-1) rotate(-35deg);\n          &:after {\n            content: 'L';\n          }\n        }\n      }\n      .chart {\n        .chart-center-complete {\n          top: 10px;\n          left: 10px;\n          width: 20px;\n          height: 20px;\n          background: $pe-blue-color;\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-emp-exp-signature-modal-snippet/widget/pe-emp-exp-signature-modal-snippet.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n})();"
  },
  {
    "path": "pe-enduser-catalog/README.md",
    "content": "# End User Catalog\n\n## Description\n\nDisplays a list of catalog items that are grouped by categories.\n\n## Screenshots\n![](../images/pe-enduser-catalog.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n\nDownload and install update set **[pe-enduser-catalog.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-enduser-catalog/pe-enduser-catalog.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Encoded Query` | Sets the catalog. | PE Enduser Catalog |\n| `Additional Query for Categories` | Sets the categories. | active=true^ORDERBYorder |\n| `Additional Query for Items` | Sets the items. | sc_cat_item.active=true^ORDERBY sc_cat_item.order |\n\n---\n## Platform Dependencies\n\n### SN System Tables\n* sc_catalog\n* sc_cat_item_category\n\n---\n## Sample Data and Data Structures\n\nAny existing data in the instance where the Catalog Categories are Active (TRUE) and Catalog Items for each Category is Active (TRUE) [See Widget Options schema above]\n\n---\n## API Dependencies\n\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-description-color: #9fa4ad !default;\n$pe-box-color: #fdfdfd !default;\n$pe-green-item-color: #77b176 !default;\n$pe-red-item-color: #dc7f63 !default;\n$pe-yellow-item-color: #d7ba4b !default;\n$pe-blue-item-color: #6d9dcd !default;\n$pe-background-color: transparent !default;\n```"
  },
  {
    "path": "pe-enduser-catalog/pe-enduser-catalog.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-02 15:40:22\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Enduser Catalog</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>ae65ae26130f72006749bccf3244b0f1</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>38d5ee26130f72006749bccf3244b0ed</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_b9902d22db467a002e5df2b6ae96190e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>false</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Cable Box</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>100</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=b9902d22db467a002e5df2b6ae96190e&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>Bedroom</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b9902d22db467a002e5df2b6ae96190e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Cable Box</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_b9902d22db467a002e5df2b6ae96190e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:46:32</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=b9902d22db467a002e5df2b6ae96190e\"/><fx_price action=\"delete_multiple\" query=\"id=b9902d22db467a002e5df2b6ae96190e\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>b9902d22db467a002e5df2b6ae96190e</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:19</sys_created_on><sys_id>1da0a922db467a002e5df2b6ae9619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:19</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>b9902d22db467a002e5df2b6ae96190e</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:19</sys_created_on><sys_id>55a0a922db467a002e5df2b6ae9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:19</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#171818</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>icon</file_name><image_height>61</image_height><image_width>61</image_width><size_bytes>3828</size_bytes><size_compressed>3851</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:37:48</sys_created_on><sys_id>3931a162db467a002e5df2b6ae961915</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:37:49</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>b9902d22db467a002e5df2b6ae96190e</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"3931a162db467a002e5df2b6ae961915\">3931a162db467a002e5df2b6ae961915</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:37:48</sys_created_on><sys_id>7931a162db467a002e5df2b6ae961915</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"3931a162db467a002e5df2b6ae961915\">3931a162db467a002e5df2b6ae961915</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:37:48</sys_created_on><sys_id>f931a162db467a002e5df2b6ae961915</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>e3uPHHdkvqEqDQaQeTbUT7ILu6rmREGXftLMzt27nNZfEnRPT49pSKa+Zs0aa5fWNFkyeZ/3QMReeb++4/WJod2ll16aT9Ttli53xStbli1tNM8dr0zkJUwhP+L2dO52XByeVNNyWgVuQo6xFNQ3Hrzwmgi1ea0JkKLft+N9Tie/evXq5Ja1S5reFGeyeMmSFsQqYrZqGyMEFwPD7Lmy72g516A200crx8wDD40CnewS11o8n6Q7xXKRLTBaumGfTWkeL3cxw/qoxQJ75rTGpqaduntO625Z+3Asqk7lOtL6dL2ry9S5upS88HG643nusKnXhbweI+VNk5r2405EynuunWxh0eFLOIXXa3MDg97jB75saQvXRW/74phpYnOqSSdrznNy054p0/XrsCbxOFfecccd8tzxsF4FW2CcgG7BG77jW/v7+7PLli7V04ndjspEjZA07qk9aN/m+4+igSCjNZBYz55+gtIcp788R9ro7M2E38rlYKuNx9rJsC10cxSs+Lhq1ap/0yj5v5FR8nssSoVPOAXYDtLYeon4sip8WLt27XLq4nfHvumcTyW35I8LKnxEnbYC0Mqw3p4liV6HzJw5c8add975kdq+aUFyS/6Y3HpfLXwWqpYjZrCG2gfCNp1fc2zuvRwOYq92fOu5mQLuIE9ns3g3Hb2tYS2vYS0/6CX23tvKnH6e4DBwL7ZvL/HU8Zln/rz/scf+oLN51QR5BudYWnn00d/vR+5ISZh0PxPxZFzOUUBY8A8B+rk40SuvvLpxx44dN8brzsX8FVdcsfHee39aJSegf8ne/Je4vKNAy8OxhY36EuG1117rOHr06Mp453Mpzxpuv/3220/pS4RRoAWk1jcnTMZQa2vrPu6ckse6rx07y7LzlltuuRitntk3Jx5Bra+LANz94Ycf9p1LwAX46quvnkGqryh8OP2vi3xP1rc+jXzFl8N06LPPPtvO8+3XburckrRfcsklVyJXpGHJiMbP7DuyEKAu6Wp+MchZuo3LulVMSs0l4vtPRAqoCtdJbdyFjRqf7ensvhiUwIAa89tQzHwzlwJf+behM2bM2I85X5ucUAEel29DPePQ1Gt+BcwjYwcXe1ehgehw7/uNV8rkZ7lL28aj78R/BRwXWs6Np7Exv/dG8x8xAeP+vTdAO9DscmSJHy1NNCZ64r739uC/dV/2e+CYmg4wOqN/O/6HwwNXqm+zMOlHyN5HjA74apugoKfAFzH1J77y/9ZJAhJ4nsS+Hf+XlQQvsw8/z7qbtpsp6+nsjIIcFB3P3f/AGwsV25w+7bieqHQxcRFR25puKPU2cZiod2m6wNOblt1E3cNP6P9a/h//AbEg+8HyjQAAAABJRU5ErkJgghit0Tz0DgAA</data><length>1388</length><position>2</position><sys_attachment display_value=\"icon\" sys_id=\"3931a162db467a002e5df2b6ae961915\">3931a162db467a002e5df2b6ae961915</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:37:48</sys_created_on><sys_id>7d31a162db467a002e5df2b6ae961915</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>30d5ee26130f72006749bccf3244b0f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Cable Box</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_a4302922db467a002e5df2b6ae9619ad</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Transfer Service\">da202922db467a002e5df2b6ae96196f</sc_cat_item><sc_category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a4302922db467a002e5df2b6ae9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_name>How can we help?.Transfer Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_a4302922db467a002e5df2b6ae9619ad</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:21</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>30d5ee26130f72006749bccf3244b0f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>How can we help?.Transfer Service</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_6ea06d22db467a002e5df2b6ae96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>false</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Voice</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>300</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=6ea06d22db467a002e5df2b6ae96197e&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6ea06d22db467a002e5df2b6ae96197e</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Voice</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_6ea06d22db467a002e5df2b6ae96197e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:45:45</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6ea06d22db467a002e5df2b6ae96197e\"/><fx_price action=\"delete_multiple\" query=\"id=6ea06d22db467a002e5df2b6ae96197e\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>6ea06d22db467a002e5df2b6ae96197e</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:28</sys_created_on><sys_id>63a06d22db467a002e5df2b6ae961985</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:28</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>6ea06d22db467a002e5df2b6ae96197e</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:28</sys_created_on><sys_id>a3a06d22db467a002e5df2b6ae9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:28</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#cb9d85</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>icon</file_name><image_height>61</image_height><image_width>61</image_width><size_bytes>6060</size_bytes><size_compressed>6083</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:42</sys_created_on><sys_id>7e612562db467a002e5df2b6ae961944</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:38:42</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>6ea06d22db467a002e5df2b6ae96197e</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"7e612562db467a002e5df2b6ae961944\">7e612562db467a002e5df2b6ae961944</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:42</sys_created_on><sys_id>be612562db467a002e5df2b6ae961944</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"7e612562db467a002e5df2b6ae961944\">7e612562db467a002e5df2b6ae961944</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:42</sys_created_on><sys_id>32612562db467a002e5df2b6ae961945</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"icon\" sys_id=\"7e612562db467a002e5df2b6ae961944\">7e612562db467a002e5df2b6ae961944</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:42</sys_created_on><sys_id>b2612562db467a002e5df2b6ae961945</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>Z8fggLbRYNAt4FtqdGqiC4YXBe33lsrIODB4/d1bdah78uMf/tDwff/2neq+q/YdxhHL6xagLr5y08f19W1yl1xyMcA6AeGNJjBIxbW16eZR3Nbq5k09Ztxk6GJcmdTuW4IxV/Vuz996/bsPf+9791Q/85m/HOZ9oG5YNZroEV0vptLezN7vi6p3sLGMg64eomLrbva3tbR0/e3XvjqMC7g4MjLKjftkZ0d7++VDu3dDZ9g9//xv3P88ctT8cBsTBqg8AsBdF13kfm942E1OjbtDh/5dy6DU1ds98uEP3br4kdtu3cO6Hw7S4acB/Prf7PcnQ1Iv6W842KOXT5w4MToyMpJ57LHHEw899NPecqnaiQfWmmpJpa54yxU5GJm57LJLF/e+de8cbufqwsJs63XXXTeEpW7+3ORPL+n+//4NR31mErW7Z58neRuxQe2C7V7DtGzKt/WO0Oxavpw5zuucvJxBBJ6t6tNowK3ELS+n70tpi2R/e/4uq5lgqX3tetYHqLuevLmxze1eSl4Gina/vX+Bdz4QutRC3TuIeu4m7iJqP9J61dfEHFHf0nSAd5p4kvgM8XX9W8v/Ay7gPYXt0lWLAAAAAElFTkSuQmCCmYMi/KwXAAA=</data><length>632</length><position>3</position><sys_attachment display_value=\"icon\" sys_id=\"7e612562db467a002e5df2b6ae961944\">7e612562db467a002e5df2b6ae961944</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:42</sys_created_on><sys_id>36612562db467a002e5df2b6ae961945</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>34d5ee26130f72006749bccf3244b0ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Voice</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_23306922db467a002e5df2b6ae961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Upgrade Service\">71302922db467a002e5df2b6ae961966</sc_cat_item><sc_category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>23306922db467a002e5df2b6ae961939</sys_id><sys_mod_count>0</sys_mod_count><sys_name>How can we help?.Upgrade Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_23306922db467a002e5df2b6ae961939</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:34</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>34d5ee26130f72006749bccf3244b0f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>How can we help?.Upgrade Service</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_category_68ce0196db4e3a002e5df2b6ae9619ff</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_category\"><sc_category action=\"INSERT_OR_UPDATE\"><active>true</active><u_demo_category>false</u_demo_category><description/><entitlement_script/><header_icon/><homepage_image/><homepage_renderer display_value=\"\">Default</homepage_renderer><icon/><image/><location/><mobile_hide_description>false</mobile_hide_description><mobile_picture/><mobile_subcategory_render_type>list</mobile_subcategory_render_type><module/><order>200</order><parent/><roles/><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><show_in_cms>false</show_in_cms><sys_class_name>sc_category</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:38:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>68ce0196db4e3a002e5df2b6ae9619ff</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Your Services</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_category_68ce0196db4e3a002e5df2b6ae9619ff</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 18:51:11</sys_updated_on><title>Your Services</title><u_svg_icon/></sc_category><sys_translated_text action=\"delete_multiple\" query=\"documentkey=68ce0196db4e3a002e5df2b6ae9619ff\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>38d5ee26130f72006749bccf3244b0ee</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Your Services</target_name>\n<type>Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_e8302922db467a002e5df2b6ae961976</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Transfer Service\">da202922db467a002e5df2b6ae96196f</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e8302922db467a002e5df2b6ae961976</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Transfer Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_e8302922db467a002e5df2b6ae961976</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:21</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>38d5ee26130f72006749bccf3244b0f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Transfer Service</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_63306922db467a002e5df2b6ae961934</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Upgrade Service\">71302922db467a002e5df2b6ae961966</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>63306922db467a002e5df2b6ae961934</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Upgrade Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_63306922db467a002e5df2b6ae961934</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:34</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>3cd5ee26130f72006749bccf3244b0f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Upgrade Service</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_sc_category_u_demo_category_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_demo_category\" label=\"Demo Category\" language=\"en\" table=\"sc_category\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_demo_category</element><help/><hint/><label>Demo Category</label><language>en</language><name>sc_category</name><plural>Demo Categories</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-02 15:28:12</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>9203eea2130f72006749bccf3244b08b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Demo Category</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_sc_category_u_demo_category_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-02 15:28:12</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>3cd5ee26130f72006749bccf3244b0f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table>sc_category</table>\n<target_name>Category.Demo Category</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_catalog_7c1ec956db4e3a002e5df2b6ae96194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_catalog\"><sc_catalog action=\"INSERT_OR_UPDATE\"><active>true</active><background_color>black</background_color><description/><desktop_continue_shopping/><desktop_home_page/><desktop_image/><editors/><enable_wish_list>false</enable_wish_list><manager/><sys_class_name>sc_catalog</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:36:11</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7c1ec956db4e3a002e5df2b6ae96194e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_catalog_7c1ec956db4e3a002e5df2b6ae96194e</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:36:11</sys_updated_on><title>PE Enduser Catalog</title></sc_catalog><sys_translated_text action=\"delete_multiple\" query=\"documentkey=7c1ec956db4e3a002e5df2b6ae96194e\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>70d5ee26130f72006749bccf3244b0ee</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog</target_name>\n<type>Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_4710e522db467a002e5df2b6ae96194a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>true</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Get Support</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>400</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=4710e522db467a002e5df2b6ae96194a&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4710e522db467a002e5df2b6ae96194a</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Get Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_4710e522db467a002e5df2b6ae96194a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 18:01:33</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4710e522db467a002e5df2b6ae96194a\"/><fx_price action=\"delete_multiple\" query=\"id=4710e522db467a002e5df2b6ae96194a\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>4710e522db467a002e5df2b6ae96194a</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:08</sys_created_on><sys_id>1920e522db467a002e5df2b6ae961940</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:08</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>4710e522db467a002e5df2b6ae96194a</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:08</sys_created_on><sys_id>95202922db467a002e5df2b6ae96192d</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:08</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1784</size_bytes><size_compressed>777</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:07</sys_created_on><sys_id>f044eda2db467a002e5df2b6ae96195d</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:51:07</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>4710e522db467a002e5df2b6ae96194a</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"f044eda2db467a002e5df2b6ae96195d\">f044eda2db467a002e5df2b6ae96195d</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:07</sys_created_on><sys_id>3444eda2db467a002e5df2b6ae96195d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>lVVNb9s4EL33V7DcSwuYFL8/AtvFroC2h+yp20tvss1YQmTRkJQ4/fcdSoqttE7RpQ8iHx/nDd8M4eWHp0ONHkPbVbFZYU4ZRqHZxl3V7Ff4638ficMf1m+W3eMenapdX66w8McnjMpQ7cseVi6tHqtw+ic+rTBDDAmPhMPzoBwjkGm6FS77/niTZafTiZ4kje0+E4yxDMJPlJunumrurxG59z4bdvH6DYKxfEsI+hSa0BZ9bG/Ql/vQb0ukBHonjXX8PSJoFmYTy3CoiulydBsPWTeeIGQK2Fd9HdbbsujRLj5s6oA2D5v0UVTCjy+zkTGyd6HbrvM2FH3YgTl9OWVAl9mw9cy669YJgc+I7FG1W+Ev3w+bWHcYdX0b78MKN7EJzysyeQ3G3VV1/byZ5qR9qIEdHkMTd7vJilncz/FEtkVDToGUoT5i1LdF093F9rDCw7SGfN8Rzi1lw1ggYsU0f39J56+Pw/glI6pnmjPdPB4OsSF/b3soeveKLD9rcnWWfBluCnn1ODsfV/qS8eDmMRT3JBWBdA/HY2z7K2F/F5ozdQ7OfpPaT7dOvULGXiFjr5CpV15zQP6ZBS+0jgU0F6j966h0QjHGF1xTbYRRxqPcUie5Moz5BCvnhAPYUuGcYsbqhErLOZcaGWrNIOoSKniaCnQLb1SYNAC2VBkJQ6NbuIkb2GoBiWsxsnNODbNWA2XBBeWMa2Ec2KaHc1ItPIXHyo2xfo5CnlwqmEmUz2BJlXcyicA7c5orYaxYMMQZ5Sopcljk6WbCaQuasOWp5SldPz89Qy9SU3+UxTFgeIfJyj91GxKwbHBibko+g4WgwivlmETcUClHcaGp54lgkOAUSjCikprBeoluL4xElvoZVlSICebU2xHOgWKcVD7BjDrGh7ILQ5WFyHYB9xZG2p/AWcYzVFLPvEvlgty90iZFvdwIcUe1H8o8R3PoVQFmstQfM/LMoEvg67Z9+1+FWGb7V97vtY1fwBfAeTFMlunPZv0De5mz1PgGAAA=</data><length>1024</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"f044eda2db467a002e5df2b6ae96195d\">f044eda2db467a002e5df2b6ae96195d</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:07</sys_created_on><sys_id>b444eda2db467a002e5df2b6ae96195d</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>70d5ee26130f72006749bccf3244b0ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Get Support</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_1d202922db467a002e5df2b6ae961933</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Get Support\">4710e522db467a002e5df2b6ae96194a</sc_cat_item><sc_category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1d202922db467a002e5df2b6ae961933</sys_id><sys_mod_count>0</sys_mod_count><sys_name>How can we help?.Get Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_1d202922db467a002e5df2b6ae961933</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:08</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>70d5ee26130f72006749bccf3244b0f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>How can we help?.Get Support</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_view_ff2ec156db4e3a002e5df2b6ae9619b6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_view\"><sys_ui_view action=\"INSERT_OR_UPDATE\"><group/><hidden>false</hidden><name>catalog_pe_enduser_catalog</name><roles/><sys_class_name>sys_ui_view</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:36:11</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ff2ec156db4e3a002e5df2b6ae9619b6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog View</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_view_ff2ec156db4e3a002e5df2b6ae9619b6</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:36:11</sys_updated_on><title>PE Enduser Catalog View</title><user/></sys_ui_view></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>74d5a266130f72006749bccf3244b049</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog View</target_name>\n<type>UI View</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_d060a922db467a002e5df2b6ae9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Cable Box\">7e50a922db467a002e5df2b6ae961934</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:34:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d060a922db467a002e5df2b6ae9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Cable Box</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_d060a922db467a002e5df2b6ae9619e9</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:34:09</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>74d5ee26130f72006749bccf3244b0f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Cable Box</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_5d202922db467a002e5df2b6ae96192e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Get Support\">4710e522db467a002e5df2b6ae96194a</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5d202922db467a002e5df2b6ae96192e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Get Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_5d202922db467a002e5df2b6ae96192e</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:08</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>78d5ee26130f72006749bccf3244b0f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Get Support</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_sc_category_u_demo_category</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_demo_category\" table=\"sc_category\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Demo Category&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_demo_category&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;sc_category&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-02 15:28:11&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5af2aea2130f72006749bccf3244b0e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Demo Category&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_sc_category_u_demo_category&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-02 15:28:11&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>78d5ee26130f72006749bccf3244b0f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table>sc_category</table>\n<target_name>Category.Demo Category</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_af2ed1eedb067a002e5df2b6ae9619c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>true</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Register Device</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>100</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=af2ed1eedb067a002e5df2b6ae9619c7&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:24:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>af2ed1eedb067a002e5df2b6ae9619c7</sys_id><sys_mod_count>4</sys_mod_count><sys_name>Register Device</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_af2ed1eedb067a002e5df2b6ae9619c7</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 18:01:33</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=af2ed1eedb067a002e5df2b6ae9619c7\"/><fx_price action=\"delete_multiple\" query=\"id=af2ed1eedb067a002e5df2b6ae9619c7\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>af2ed1eedb067a002e5df2b6ae9619c7</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:24:41</sys_created_on><sys_id>613e15eedb067a002e5df2b6ae961908</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:24:41</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>af2ed1eedb067a002e5df2b6ae9619c7</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:24:41</sys_created_on><sys_id>253e15eedb067a002e5df2b6ae961909</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:24:41</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>2324</size_bytes><size_compressed>787</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:48:25</sys_created_on><sys_id>1da3a9a2db467a002e5df2b6ae96196f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:48:25</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>af2ed1eedb067a002e5df2b6ae9619c7</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"1da3a9a2db467a002e5df2b6ae96196f\">1da3a9a2db467a002e5df2b6ae96196f</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:48:25</sys_created_on><sys_id>5da3a9a2db467a002e5df2b6ae96196f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>rVZLc5swEL7nV6jqJZmxhF6AlDHOpJ5JenCnh7SX3ggohgkGDxA//n2FwLaS2Jl60vXB2oe+b3e1kj2+2SwKsNJ1k1dlBCkmEOgyqdK8nEfw9687JOHN5GLcrOZgnadtFkHBlhsIMp3PszaCXHTaKtfrb9UmggQQIBjgArqgFAJDUzYRzNp2ee156/Uarzmu6rnHCCGegR9CrjdFXj4fC6RKKc964eQCGBl/QQjc61LXcVvV1+DhWbdJ1tFf8iCU9Aog4MA8Vple5PFQHE6qhdf0OxAaANu8LfTkvq5eloCPvV7tXaluksm01nGrU9OJNhvo8Nizrl3UUzPpLOart8xBnkbwYbt4rIoGgqatq2cdwbIq9U5DQ2NNl57yotg5uzWqXwoTrVe6rNJ0qNvB/V6tURKXaK1RposlBG0dl81TVS8iaJeFyfcSMYaJlRFAgT+sr97xY/+Q4Nc7Kw6lQzutFouqRLdJaw64OcFK95xU7Clfww2QR7eT/XbhZNyx36YpSvUqT/QRuB7yuN2pwJ4x4idSd/oVfpD6EdwkRcsi3uoac/OhJ/APtTHyj/iWYxmbuTMsP7jCfsh9JsMRxz43whQFU8dMccCEMmYBuMTErJXiI8MWdMKJHwIeYMqZCX9jn3EsBKVhIOhrx9RMiJA+U1y+dhCXjrgpzcgowMqKbxIkI4kVkVwpEQIHjRIsLBwFDrljnTnJOuapU5uLceiDw+dYnZxmx3v5p5+1hyxemjEbe13rzzkhhgMREl9K1iWmLKwEM9ds1n2+n6TiPu7yV33H9lSu+ZNUuijyZaPt3p+ruIAgMW89p1hyIiWVRt+aHwbM+6YGENSb7j0JmS3VqFurcisd8YB4VpmHweBDOYEZVmYeF8PBhXTMZ5c59j54M2xAf79j8/YkeZ0UGtEPrzjl+zt+1hXvwd90OuwbbL7qCAY4MC32GQ270vr4c/rYjTkXoWQBUWAWdjNj0bj65BwegEb2EdmRjP7zcZx0HnW8M74y7BW7GHd/RCZ/Af5egywUCQAA</data><length>1036</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"1da3a9a2db467a002e5df2b6ae96196f\">1da3a9a2db467a002e5df2b6ae96196f</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:48:25</sys_created_on><sys_id>dda3a9a2db467a002e5df2b6ae96196f</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>7cd5ee26130f72006749bccf3244b0ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Register Device</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_9060a922db467a002e5df2b6ae9619ee</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Cable Box\">7e50a922db467a002e5df2b6ae961934</sc_cat_item><sc_category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:34:10</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>9060a922db467a002e5df2b6ae9619ee</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Your Services.Cable Box</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_9060a922db467a002e5df2b6ae9619ee</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:34:10</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>7cd5ee26130f72006749bccf3244b0f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Your Services.Cable Box</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_d14484c3c0a801650092992c05326616</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"d14484c3c0a801650092992c05326616\" sys_domain=\"global\" table=\"sc_category\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>20a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>1</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>60a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sc_catalog</element><position>2</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>a0a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>location</element><position>3</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>e0a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>4</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>24a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>5</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>64a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>active</element><position>6</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>a4a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>parent</element><position>7</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>e4a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>roles</element><position>8</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>28a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>9</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>68a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>description</element><position>10</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>a8a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>11</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>e8a3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>icon</element><position>12</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>2ca3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>homepage_image</element><position>13</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>6ca3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>14</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>aca3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>header_icon</element><position>15</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>eca3db71d7612100a77f6d708e6103e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>mobile_picture</element><position>16</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>20a3db71d7612100a77f6d708e6103e3</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>17</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>60a3db71d7612100a77f6d708e6103e3</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>mobile_subcategory_render_type</element><position>18</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>a0a3db71d7612100a77f6d708e6103e3</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>mobile_hide_description</element><position>19</position><sys_created_by>michael.hoefer</sys_created_by><sys_created_on>2014-06-27 16:35:07</sys_created_on><sys_id>e0a3db71d7612100a77f6d708e6103e3</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>michael.hoefer</sys_updated_by><sys_updated_on>2014-06-27 16:35:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_demo_category</element><position>20</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-02 15:28:11</sys_created_on><sys_id>5a03eea2130f72006749bccf3244b084</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"sc_category\" sys_domain=\"global\" view=\"Default view\">d14484c3c0a801650092992c05326616</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-02 15:28:11</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>sc_category</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>glide.maint</sys_created_by><sys_created_on>2005-05-12 14:17:38</sys_created_on><sys_customer_update>false</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d14484c3c0a801650092992c05326616</sys_id><sys_mod_count>4</sys_mod_count><sys_name>sc_category</sys_name><sys_overrides/><sys_package display_value=\"Service Catalog Platform\" source=\"com.glideapp.servicecatalog.platform\">c4e4d107136032006749bccf3244b090</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_d14484c3c0a801650092992c05326616</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-02 15:28:11</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>b0d5a266130f72006749bccf3244b049</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table>sc_category</table>\n<target_name>Category</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_839f5122db467a002e5df2b6ae96199f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Repair Service\">af2ed1eedb067a002e5df2b6ae9619c7</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:30:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>839f5122db467a002e5df2b6ae96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Repair Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_839f5122db467a002e5df2b6ae96199f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:30:48</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>b0d5ee26130f72006749bccf3244b0f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Repair Service</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_55b0ad22db467a002e5df2b6ae961975</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Internet\">1cb0ad22db467a002e5df2b6ae961923</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:35</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>55b0ad22db467a002e5df2b6ae961975</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Internet</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_55b0ad22db467a002e5df2b6ae961975</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:35</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>b4d5ee26130f72006749bccf3244b0f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Internet</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c5dc8d16db4e3a002e5df2b6ae961984</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function EndUserCatalogController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-description-color: #9fa4ad !default;\n$pe-box-color: #fdfdfd !default;\n$pe-green-item-color: #77b176 !default;\n$pe-red-item-color: #dc7f63 !default;\n$pe-yellow-item-color: #d7ba4b !default;\n$pe-blue-item-color: #6d9dcd !default;\n$pe-background-color: transparent !default;\n.because-you{\n  background:$pe-background-color;\n}\n.cards{\n  padding:0 10px;\n  margin-top:15px;\n  h3{\n    margin-top:0;\n  }\n}\n.widget-wrapper{\n  background-color:$pe-box-color;\n  border-radius:3px;\n  h3{\n    padding:13px;\n    padding-bottom:0;\n  }\n}\n.scroll-wrapper{\n  padding-bottom:15px;\n  display:flex;\n  width:100%;\n  overflow-x:auto;\n  white-space:nowrap;\n}\n.item:first-child{\n  margin-left:13px;\n}\n.item{\n  position: relative;\n  width: 55px;\n  flex-shrink: 0;\n  vertical-align: top;\n  margin-left: 38px;\n  text-align: center;\n  padding: 15px 0px 5px 0;\n  white-space: normal;\n  .icon{\n    height: 53px;\n    width: 53px;\n    border-radius: 50%;\n    overflow: hidden;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n  }\n  .content{\n    margin-top:10px;\n    letter-spacing:-.4px;\n  }\n}\n.description{\n  font-size:11px;\n  text-align:center;\n  color:$pe-description-color;\n}\n.green .icon{\n  background-color:$pe-green-item-color;\n}\n.yellow .icon{\n  background-color:$pe-yellow-item-color;\n}\n.blue .icon{\n  background-color:$pe-blue-item-color;\n}\n.red .icon{\n  background-color:$pe-red-item-color;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-enduser-catalog&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Enduser Catalog&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"encoded_query\",\"default_value\":\"title=PE Enduser Catalog\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"additional_query_for_categories\",\"default_value\":\"active=true^ORDERBYorder\",\"label\":\"Additional Query for Categories\",\"type\":\"string\"},{\"name\":\"additional_query_for_items\",\"default_value\":\"sc_cat_item.active=true^ORDERBY sc_cat_item.order\",\"label\":\"Additional Query for Items\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tdata.categories = [];\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\tvar encodedQuery = serverOptions.encoded_query || options.encoded_query;\n\tvar queryForCategories = serverOptions.additional_query_for_categories || options.additional_query_for_categories;\n\tvar queryForItems = serverOptions.additional_query_for_items || options.additional_query_for_items;\n\tvar colorClasses = [\"blue\",\"green\",\"yellow\",\"red\"];\n\tvar col = 0;\n\tvar catalogGR = new GlideRecord(\"sc_catalog\");\n\tcatalogGR.addEncodedQuery(encodedQuery);\n\tcatalogGR.query();\n\tif(catalogGR.next()){\n\t\tvar sysID = catalogGR.sys_id.toString();\n\t\tvar categoriesGR = new GlideRecord(\"sc_category\");\n\t\tcategoriesGR.addQuery(\"sc_catalog\",sysID);\n\t\tcategoriesGR.addEncodedQuery(queryForCategories)\n\t\tcategoriesGR.query();\n\t\twhile(categoriesGR.next()){\n\t\t\tvar categoryID = categoriesGR.sys_id.toString();\n\t\t\tvar category = {\n\t\t\t\tsys_id:categoryID,\n\t\t\t\ttitle:categoriesGR.title.toString(),\n\t\t\t\titems:[]\n\t\t\t}\n\t\t\tvar itemGR = new GlideRecord(\"sc_cat_item_category\");\n\t\t\titemGR.addQuery(\"sc_category\", categoryID);\n\t\t\titemGR.addEncodedQuery(queryForItems);\n\t\t\titemGR.query();\n\t\t\twhile(itemGR.next()){\n\t\t\t\tcategory.items.push({\n\t\t\t\t\ttitle:itemGR.sc_cat_item.name.toString(),\n\t\t\t\t\tshort_desc:itemGR.sc_cat_item.short_description.nil() ? \"\" : itemGR.sc_cat_item.short_description.toString(),\n\t\t\t\t\timage:itemGR.sc_cat_item.icon.getDisplayValue(),\n\t\t\t\t\tsys_id:itemGR.sc_cat_item.sys_id.toString(),\n\t\t\t\t\tcolor_class:colorClasses[col],\n\t\t\t\t\tdemo_item:itemGR.sc_cat_item.demo_item.toString() == \"true\"\n\t\t\t\t});\n\t\t\t\tcol++;\n\t\t\t\tif(col == 4){\n\t\t\t\t\tcol = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.categories.push(category);\n\t\t}\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-12 21:32:21&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c5dc8d16db4e3a002e5df2b6ae961984&lt;/sys_id&gt;&lt;sys_mod_count&gt;133&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Enduser Catalog&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c5dc8d16db4e3a002e5df2b6ae961984&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-13 19:16:25&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row because-you\"&gt;\n\t&lt;div class=\"col-xs-12 cards\" ng-repeat=\"category in c.data.categories\"&gt;\n\t\t&lt;div class=\"widget-wrapper\"&gt;\n\t\t\t&lt;h3&gt;{{category.title}}&lt;/h3&gt;\n\t\t\t&lt;div class=\"category-items content-wrapper\" ng-show=\"category.items.length &gt; 0\"&gt;\n\t\t\t\t&lt;div class=\"scroll-wrapper\"&gt;\n\t\t\t\t\t&lt;div ng-repeat=\"item in category.items\" class=\"item\" ng-class=\"item.demo_item ? item.color_class : ''\"&gt;\n\t\t\t\t\t\t&lt;div class=\"icon\"&gt;\n\t\t\t\t\t\t\t&lt;img src=\"{{item.image}}\" /&gt;\n\t\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t\t&lt;div class=\"content\"&gt;\n\t\t\t\t\t\t\t&lt;div class=\"name\"&gt;{{item.title}}&lt;/div&gt;\n\t\t\t\t\t\t\t&lt;div class=\"description\"&gt;{{item.short_desc}}&lt;/div&gt;\n\t\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t&lt;/div&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>b4d5ee26130f72006749bccf3244b0f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_7e50a922db467a002e5df2b6ae961934</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>false</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Cable Box</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>200</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=7e50a922db467a002e5df2b6ae961934&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>Living room</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:34:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7e50a922db467a002e5df2b6ae961934</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Cable Box</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_7e50a922db467a002e5df2b6ae961934</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:46:40</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=7e50a922db467a002e5df2b6ae961934\"/><fx_price action=\"delete_multiple\" query=\"id=7e50a922db467a002e5df2b6ae961934\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>7e50a922db467a002e5df2b6ae961934</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:34:09</sys_created_on><sys_id>d060a922db467a002e5df2b6ae9619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:34:09</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>7e50a922db467a002e5df2b6ae961934</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:34:09</sys_created_on><sys_id>1c60a922db467a002e5df2b6ae9619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:34:09</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#171818</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>icon</file_name><image_height>61</image_height><image_width>61</image_width><size_bytes>3828</size_bytes><size_compressed>3851</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:07</sys_created_on><sys_id>d641e162db467a002e5df2b6ae961932</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:38:07</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>7e50a922db467a002e5df2b6ae961934</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"d641e162db467a002e5df2b6ae961932\">d641e162db467a002e5df2b6ae961932</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:07</sys_created_on><sys_id>1a41e162db467a002e5df2b6ae961932</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"d641e162db467a002e5df2b6ae961932\">d641e162db467a002e5df2b6ae961932</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:07</sys_created_on><sys_id>9a41e162db467a002e5df2b6ae961932</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>e3uPHHdkvqEqDQaQeTbUT7ILu6rmREGXftLMzt27nNZfEnRPT49pSKa+Zs0aa5fWNFkyeZ/3QMReeb++4/WJod2ll16aT9Ttli53xStbli1tNM8dr0zkJUwhP+L2dO52XByeVNNyWgVuQo6xFNQ3Hrzwmgi1ea0JkKLft+N9Tie/evXq5Ja1S5reFGeyeMmSFsQqYrZqGyMEFwPD7Lmy72g516A200crx8wDD40CnewS11o8n6Q7xXKRLTBaumGfTWkeL3cxw/qoxQJ75rTGpqaduntO625Z+3Asqk7lOtL6dL2ry9S5upS88HG643nusKnXhbweI+VNk5r2405EynuunWxh0eFLOIXXa3MDg97jB75saQvXRW/74phpYnOqSSdrznNy054p0/XrsCbxOFfecccd8tzxsF4FW2CcgG7BG77jW/v7+7PLli7V04ndjspEjZA07qk9aN/m+4+igSCjNZBYz55+gtIcp788R9ro7M2E38rlYKuNx9rJsC10cxSs+Lhq1ap/0yj5v5FR8nssSoVPOAXYDtLYeon4sip8WLt27XLq4nfHvumcTyW35I8LKnxEnbYC0Mqw3p4liV6HzJw5c8add975kdq+aUFyS/6Y3HpfLXwWqpYjZrCG2gfCNp1fc2zuvRwOYq92fOu5mQLuIE9ns3g3Hb2tYS2vYS0/6CX23tvKnH6e4DBwL7ZvL/HU8Zln/rz/scf+oLN51QR5BudYWnn00d/vR+5ISZh0PxPxZFzOUUBY8A8B+rk40SuvvLpxx44dN8brzsX8FVdcsfHee39aJSegf8ne/Je4vKNAy8OxhY36EuG1117rOHr06Mp453Mpzxpuv/3220/pS4RRoAWk1jcnTMZQa2vrPu6ckse6rx07y7LzlltuuRitntk3Jx5Bra+LANz94Ycf9p1LwAX46quvnkGqryh8OP2vi3xP1rc+jXzFl8N06LPPPtvO8+3XburckrRfcsklVyJXpGHJiMbP7DuyEKAu6Wp+MchZuo3LulVMSs0l4vtPRAqoCtdJbdyFjRqf7ensvhiUwIAa89tQzHwzlwJf+behM2bM2I85X5ucUAEel29DPePQ1Gt+BcwjYwcXe1ehgehw7/uNV8rkZ7lL28aj78R/BRwXWs6Np7Exv/dG8x8xAeP+vTdAO9DscmSJHy1NNCZ64r739uC/dV/2e+CYmg4wOqN/O/6HwwNXqm+zMOlHyN5HjA74apugoKfAFzH1J77y/9ZJAhJ4nsS+Hf+XlQQvsw8/z7qbtpsp6+nsjIIcFB3P3f/AGwsV25w+7bieqHQxcRFR25puKPU2cZiod2m6wNOblt1E3cNP6P9a/h//AbEg+8HyjQAAAABJRU5ErkJgghit0Tz0DgAA</data><length>1388</length><position>2</position><sys_attachment display_value=\"icon\" sys_id=\"d641e162db467a002e5df2b6ae961932\">d641e162db467a002e5df2b6ae961932</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:07</sys_created_on><sys_id>1e41e162db467a002e5df2b6ae961932</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>b8d5ee26130f72006749bccf3244b0ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Cable Box</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_51a06d22db467a002e5df2b6ae96197a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Cable Box\">b9902d22db467a002e5df2b6ae96190e</sc_cat_item><sc_category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>51a06d22db467a002e5df2b6ae96197a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Your Services.Cable Box</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_51a06d22db467a002e5df2b6ae96197a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:19</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>b8d5ee26130f72006749bccf3244b0f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Your Services.Cable Box</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_1cb0ad22db467a002e5df2b6ae961923</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>false</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Internet</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>400</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=1cb0ad22db467a002e5df2b6ae961923&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:35</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1cb0ad22db467a002e5df2b6ae961923</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Internet</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_1cb0ad22db467a002e5df2b6ae961923</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:45:46</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1cb0ad22db467a002e5df2b6ae961923\"/><fx_price action=\"delete_multiple\" query=\"id=1cb0ad22db467a002e5df2b6ae961923\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>1cb0ad22db467a002e5df2b6ae961923</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:35</sys_created_on><sys_id>55b0ad22db467a002e5df2b6ae961973</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:35</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>1cb0ad22db467a002e5df2b6ae961923</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:35</sys_created_on><sys_id>9db0ad22db467a002e5df2b6ae961973</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:35</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#a6b0ba</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>icon</file_name><image_height>61</image_height><image_width>61</image_width><size_bytes>4204</size_bytes><size_compressed>4227</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:23</sys_created_on><sys_id>c6512562db467a002e5df2b6ae961986</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:38:23</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>1cb0ad22db467a002e5df2b6ae961923</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"c6512562db467a002e5df2b6ae961986\">c6512562db467a002e5df2b6ae961986</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:23</sys_created_on><sys_id>0a512562db467a002e5df2b6ae961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"c6512562db467a002e5df2b6ae961986\">c6512562db467a002e5df2b6ae961986</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:23</sys_created_on><sys_id>8a512562db467a002e5df2b6ae961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>FrefAiHusf+OWinwY7NvhfE3TzN+1PnyhZeijmTK3j3bW29ZJ0rpKetVqU/p4tTU2T5s7bRjHgEwhdG70FEqSCT9mHJdmyIkk2nIWTGLHo8KIg9i6DNWk/EqsrSjZnXIwdIneiopNLb9R4dCXD3G4teCJE2vya/yzk0v/ou9CDZ9wLoBPk5H/nh5HE8fkEJjML2mnlo00iqp18FEI6OEaGZzZExS0TnGt54hcWqR9KQxFWE+tp+z5Gf3Gg+9uq2aWJySGDOl411dHQdcG4AnOAPfo/BW+gv501bjhzCavcS10S5pCDdBM9lIXvfeRk9ek4zCNIZq3D7GTY7LNw76XH0DtMJbSWPk4zSsavCWQndXZ+vK/aykza0Y8ks1PHErOACtODuWoZ4VO0U9CcQ24aaQy/rb1SWiNYJ326GH1V/go/kyPAJ3udjWeK26YzsNT9FwgNuCI/USr5hl8dL3lEoDzds9fad1VgQl6gPljvJwVOAzEPtaf8UTU1xkWvvztng7u7rC/EI1vPzPV8Nr/34DB3SzIMoMyftMRqmG7lyL6nEst289H0tnRwn768XDFDxnhVPSPtNrEJ8UwRPXwkFoxdmxFLfLzq+ywJ8RJeNJYcwb0fCr3/zaNhJnxk6Hp//wdFu9Ltc6putqLXM+xpnp6uw4mPPQ/yTZFgMDrU5C4fsUeUgPcnx6zJW5ArWV8jLn8bqXzqu27vtnuL3s3LEz7N37/vChD98T5hYXwyJZ/TE1IqZBS10UrjcvG72xxq5Sdg9mdIW68FnykawxNjb2Iyr6PiylUpUF7QKLw5bflLQzUEq0sHifyjU2O88//9fQU9nGRoLNQ6UrfPDAwcCOUdz6IcmsJtOMGn+0msdNTWPRanQzxjgL2M3oKt7WMPM/4pXt552rSXO7t5Zs/o8yRtNbSxfeqBS4hkEawsFoEdPrmsBT0Hm2i13spgZsj1xMtCltBR2v9car59g2vzRUy7l4uP4CJ6r3um3Q1r21bAItRm7Z695PEwGHZ2bnDqnfzMlAacx4Z6RH/3W/9PuqkKR65OOX/waQ61vHvdpkSV67O6MnbeKHAg0PSY0GJ1EtdJpz1TQapyHb+g/fduvuQ2p6gmfz99NixOC2XyI888wzw3zNc78Zh8GNFM2RAfoXW/o18xoOgGKrdCQ30eWkCJrOiNz6pVOQDLjpi6EtP0bHmrvsEbK/v3LkkUceubIvEQSm3TcnXBeLfDN2mu7iiUy875I0wrdlt3PPv7JvThxEu6+LAD7Jd58z8LwLgKeQCfURHoMHAaz36542/booj1MXsJIb+VHC64mcKMUMcDu0Izn9nanrEqofkT0tgLkcSk/I/o3scndt1B82+mKQWX+OcH+Qa2tLHRsqv8IOQNUJ5+cAu2587Lq6LwZlE6A2/DaUwe3bUMot7+NXiG+dGPbYt6GUxW3JmQSYGb76b0NdIbeytl8B06/rZ5hrXZ9qFHtdl7tWJSD17fdLnIPdh85i45H0X9uvgHOjtbgRUm2/98aoGc7OjgG+3afJuZrLquPIKmCHOcfWs0C+tTQ90K7f995u6VZf9mtGCLPjnEgO4IQr/rIfkP/iQFJ/5qDH3LYRBP36f9nvwAH2tv6GA6MuYvQIx8gLOKKHr/63UwpAhbKPPh3EL1DOcso6TbnMx3vqu4sxiiMeH9dL9P5//4bDB1apvXr6MO1xmq3XWc56rep6CvwZzvtW/gXg5Sq/Jrcbgdd3WszOY+ShyzViK35m9t3zd1mtxirs0+dZ+lrpIdrFYWMr71ZtgE7A8+79C7yNAHCb20+fvmlRuY+8l6xrWtdrH1nXtN6l6QBvlKwXDyfI1/VvLf8H1tVXC3yYsVEAAAAASUVORK5CYILdglJubBAAAA==</data><length>1892</length><position>2</position><sys_attachment display_value=\"icon\" sys_id=\"c6512562db467a002e5df2b6ae961986\">c6512562db467a002e5df2b6ae961986</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:38:23</sys_created_on><sys_id>0e512562db467a002e5df2b6ae961986</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>bcd5ee26130f72006749bccf3244b0ee</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Internet</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_15b0ad22db467a002e5df2b6ae96197a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Internet\">1cb0ad22db467a002e5df2b6ae961923</sc_cat_item><sc_category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>15b0ad22db467a002e5df2b6ae96197a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Your Services.Internet</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_15b0ad22db467a002e5df2b6ae96197a</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:36</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>bcd5ee26130f72006749bccf3244b0f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Your Services.Internet</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_1da0a922db467a002e5df2b6ae9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Cable Box\">b9902d22db467a002e5df2b6ae96190e</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:19</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1da0a922db467a002e5df2b6ae9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Cable Box</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_1da0a922db467a002e5df2b6ae9619a3</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:19</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>f0d5ee26130f72006749bccf3244b0f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Cable Box</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_da202922db467a002e5df2b6ae96196f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>true</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Transfer Service</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>300</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=da202922db467a002e5df2b6ae96196f&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>da202922db467a002e5df2b6ae96196f</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Transfer Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_da202922db467a002e5df2b6ae96196f</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 18:01:33</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=da202922db467a002e5df2b6ae96196f\"/><fx_price action=\"delete_multiple\" query=\"id=da202922db467a002e5df2b6ae96196f\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>da202922db467a002e5df2b6ae96196f</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:21</sys_created_on><sys_id>e8302922db467a002e5df2b6ae961974</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:21</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>da202922db467a002e5df2b6ae96196f</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:21</sys_created_on><sys_id>24302922db467a002e5df2b6ae961975</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:21</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>2309</size_bytes><size_compressed>727</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:28</sys_created_on><sys_id>3954eda2db467a002e5df2b6ae9619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:51:28</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>da202922db467a002e5df2b6ae96196f</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"3954eda2db467a002e5df2b6ae9619ce\">3954eda2db467a002e5df2b6ae9619ce</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:28</sys_created_on><sys_id>7954eda2db467a002e5df2b6ae9619ce</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>tVZtb9owEP7eX3HzvrQSduw4rxWhWiu1+8C0Sd1+QBpcEjXEKEkJ/PtdXiBhBdpO7YGEfb48z3Pny4nx1XqRwkrlRaKzgAjGCags0rMkmwfkz+9b6pGrydm4WM2hSmZlHBDJl2sCsUrmcbndrRJVXet1QDhwkPWXDEEFAaTJioDEZbm8NIyqqlglmc7nhsk5NxC+C7lcp0n2dChQ+L5vNKdkcgZo4y+Uwp3KVB6WOr+E+ydVRjFYJpxLx/XEBVAYwDzoWC2SsEuORXphFO0TlHaAZVKmavKYpAqisIjBZBI/Ymy0B23QTBXR5CZXYalmWJMy7ojZ2GiOtlGPxaT24E/rmUMyC8j9ZvGg04JAUeb6SQUk05na7mhXYqwXiki3h/Wa5s8pRquVyvRs1lVggPtdVzQKM1opGqt0SaDMw6x41PkiIM0yRb3n1OQO442NgLqiW1/0cr7eNjYgGJDc6MVCZ/RbVOLFFkc4xI5AWDv8fbgO8uDjfPe4ZffyavZf4YZeYykOgJ0CFG6fMj8h6J9c6y6gdRfQrguOpCt7wUK+Ab6hiJI8wiareX6uwvTF/TObQISvk8mZJRw0ifvN/j4PiMP8xjyPYK+1oK8wL0NsWKT9gXfjSTTTGbnMlp7lCNuCqc9kY8IduNv638fh8mWrolTkrmH/g1lw5jq+KbkHU6xem5s1cH8eM+YqRLcXuP08JpdhJnU+dXX9NkV/4P4YZp1ucDaq01iw1ElW4hwWJjOtpnXAtFutpo+vh92olqY85h6u+xvbd/sdtgtOF2DbQ29f9ya5TvkHJ3hEW+8+rK33vkNbOzHucv28pOaxsdhPod3ytTmx31Mua9OQciRxic8LT8KUs0Ywmjva6+I3Nc7R2m4LKdkWHXAgcNEIgF4L1FqsNmAQW6vy3lFCY35iIh87PHjwwrnn2G2axbj+5zH5C9hcnRAFCQAA</data><length>956</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"3954eda2db467a002e5df2b6ae9619ce\">3954eda2db467a002e5df2b6ae9619ce</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:28</sys_created_on><sys_id>f954eda2db467a002e5df2b6ae9619ce</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>f0d5ee26130f72006749bccf3244b0f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Transfer Service</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_71302922db467a002e5df2b6ae961966</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</category><cost>0</cost><custom_cart/><delivery_plan/><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><demo_item>true</demo_item><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Upgrade Service</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>200</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=71302922db467a002e5df2b6ae961966&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>7c1ec956db4e3a002e5df2b6ae96194e</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>71302922db467a002e5df2b6ae961966</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Upgrade Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_71302922db467a002e5df2b6ae961966</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 18:01:33</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=71302922db467a002e5df2b6ae961966\"/><fx_price action=\"delete_multiple\" query=\"id=71302922db467a002e5df2b6ae961966\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>71302922db467a002e5df2b6ae961966</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:34</sys_created_on><sys_id>63302922db467a002e5df2b6ae96196b</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:34</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>71302922db467a002e5df2b6ae961966</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:33:34</sys_created_on><sys_id>ab306922db467a002e5df2b6ae961932</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:33:34</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>2038</size_bytes><size_compressed>777</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:39</sys_created_on><sys_id>e86461e2db467a002e5df2b6ae961915</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:51:39</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>71302922db467a002e5df2b6ae961966</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"e86461e2db467a002e5df2b6ae961915\">e86461e2db467a002e5df2b6ae961915</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:39</sys_created_on><sys_id>2c6461e2db467a002e5df2b6ae961915</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>pVXLjts2FN3nK1h2kwAmxZcocmA5aA2kWTjIYppNd4rEsYSRRUFS/Pj7XMmaMd14gmlDL8x7eHnOfZDU8v1xV6O96/rKNynmlGHkmtwXVbNN8Ze/PxCD36/eLPv9Fh2qYihTrER7xKh01bYcUiz5aO0rd/jTH1PMEENKIMlxSAoWyDR9isthaO+i6HA40IOkvttGgjEWAf3scnesq+bxliO31kbTKl69QTCWvxGC/nKN67LBd3fo/tENeTnKv5U6MfwdIiig+epLt6uyOTma+13Un3cQMhMO1VC7VV6gts5OrqMSfnwZneGzS+H6fLXuXDa4AioylLMsXUbT0pPXQ78aEfg7I1tUFSm+P+2++rrHqB86/+hS3PjGPVlkLjBU66Gq66fFcU66bzV4u71rfFHM+Qe8H/2B5FlDDo6Urm4xGrqs6R98t0vxNK0h3rdEWEbZNBaI6GSev7uE8/uHafwQEY0DzUB37Xc735A/8gE63b8gy581uXqWvKabKW9uv4Ss4kvEo/qXdttlhSP3rttXubvB+TNeYcQzM/tJXP9KOS9IeDpeyNlccn4N98TfZnCaQOGTtFTHiRRSLASjgiktjULrAOaGSpkwMV41Q7lkWku+4JoaLphmEklNhVaJiq/QDdRfxiKWJkTXgnJtpYzNFcyoVkIncaJVqBfCQXSbK1zS2CaCa4j6Co+p0spAuCjQFJpaYxOrFLrEF4CbIJkAXgeZB3BYvItciF6C29yu9D/n43VfZi0cqmU0NubVvVuIhHIF7NYC/0IYamRipf0VzviaNP4VVlfXVdu7ad/nfVZjlMO7LeEuCMWE0GCfUizg0sYiMQIUuuP4AmirhbFMgH26skF25nxtPkGXGdoIRaVliRhb8D+K5OsTfBNcsBG1vmoG+NhAp20CvYZOSyqgdjA4gkZbk1hjBCKCCmi60ix2hGvETeA4BTCzvzYzKJtQJpE8XnAOMtxIDRnyxX/LbBltX3jLbi38AF4Bz8Y0WY6f2tV3c5wM3/YHAAA=</data><length>1024</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"e86461e2db467a002e5df2b6ae961915\">e86461e2db467a002e5df2b6ae961915</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:51:39</sys_created_on><sys_id>ac6461e2db467a002e5df2b6ae961915</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>f4d5ee26130f72006749bccf3244b0ef</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Upgrade Service</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_2ba06d22db467a002e5df2b6ae9619ef</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Voice\">6ea06d22db467a002e5df2b6ae96197e</sc_cat_item><sc_category display_value=\"Your Services\">68ce0196db4e3a002e5df2b6ae9619ff</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2ba06d22db467a002e5df2b6ae9619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Your Services.Voice</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_2ba06d22db467a002e5df2b6ae9619ef</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:28</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>f4d5ee26130f72006749bccf3244b0f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>Your Services.Voice</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_category_e37e8d56db4e3a002e5df2b6ae9619d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_category\"><sc_category action=\"INSERT_OR_UPDATE\"><active>true</active><u_demo_category>false</u_demo_category><description/><entitlement_script/><header_icon/><homepage_image/><homepage_renderer display_value=\"\">Default</homepage_renderer><icon/><image/><location/><mobile_hide_description>false</mobile_hide_description><mobile_picture/><mobile_subcategory_render_type>list</mobile_subcategory_render_type><module/><order>100</order><parent/><roles/><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><show_in_cms>false</show_in_cms><sys_class_name>sc_category</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:38:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e37e8d56db4e3a002e5df2b6ae9619d3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>How can we help?</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_category_e37e8d56db4e3a002e5df2b6ae9619d3</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 18:51:13</sys_updated_on><title>How can we help?</title><u_svg_icon/></sc_category><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e37e8d56db4e3a002e5df2b6ae9619d3\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>f8d5ee26130f72006749bccf3244b0ee</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>How can we help?</target_name>\n<type>Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_0b9f5122db467a002e5df2b6ae9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Repair Service\">af2ed1eedb067a002e5df2b6ae9619c7</sc_cat_item><sc_category display_value=\"How can we help?\">e37e8d56db4e3a002e5df2b6ae9619d3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:30:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0b9f5122db467a002e5df2b6ae9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>How can we help?.Repair Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_0b9f5122db467a002e5df2b6ae9619a2</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:30:48</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>f8d5ee26130f72006749bccf3244b0f1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>How can we help?.Repair Service</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_6ba06d22db467a002e5df2b6ae9619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Voice\">6ea06d22db467a002e5df2b6ae96197e</sc_cat_item><sc_catalog display_value=\"PE Enduser Catalog\">7c1ec956db4e3a002e5df2b6ae96194e</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-13 17:35:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6ba06d22db467a002e5df2b6ae9619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Enduser Catalog.Voice</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_6ba06d22db467a002e5df2b6ae9619ea</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-13 17:35:28</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>fcd5ee26130f72006749bccf3244b0f0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Catalog.Voice</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_sc_category_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"sc_category\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>title</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>6b10d996db4e3a002e5df2b6ae9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>description</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>eb10d996db4e3a002e5df2b6ae9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sc_catalog</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>6f10d996db4e3a002e5df2b6ae9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>u_demo_category</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>ef10d996db4e3a002e5df2b6ae9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>active</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>6310d996db4e3a002e5df2b6ae9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>roles</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>e310d996db4e3a002e5df2b6ae9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>location</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>6710d996db4e3a002e5df2b6ae9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>parent</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>e710d996db4e3a002e5df2b6ae9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sys_updated_on</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>8</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>6b10d996db4e3a002e5df2b6ae9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>order</element><list_id display_value=\"sc_category\" element=\"NULL\" name=\"sc_category\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">935145a5d7330100f2d224837e61036a</list_id><max_value>false</max_value><min_value>false</min_value><position>9</position><sum>false</sum><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_id>eb10d996db4e3a002e5df2b6ae9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>sc_category</name><parent/><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-12 21:44:38</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>935145a5d7330100f2d224837e61036a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sc_category</sys_name><sys_package display_value=\"Service Catalog Platform\" source=\"com.glideapp.servicecatalog.platform\">c4e4d107136032006749bccf3244b090</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_list_sc_category_null</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-12 21:44:38</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Catalog\">38d5ee26130f72006749bccf3244b0ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-02 15:40:22</sys_created_on>\n<sys_id>fcd5ee26130f72006749bccf3244b0f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-02 15:40:22</sys_updated_on>\n<table>sc_category</table>\n<target_name>Category</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-enduser-catalog/widget/pe-enduser-catalog.u-body-html-template.html",
    "content": "<div class=\"row because-you\">\n\t<div class=\"col-xs-12 cards\" ng-repeat=\"category in c.data.categories\">\n\t\t<div class=\"widget-wrapper\">\n\t\t\t<h3>{{category.title}}</h3>\n\t\t\t<div class=\"category-items content-wrapper\" ng-show=\"category.items.length > 0\">\n\t\t\t\t<div class=\"scroll-wrapper\">\n\t\t\t\t\t<div ng-repeat=\"item in category.items\" class=\"item\" ng-class=\"item.demo_item ? item.color_class : ''\">\n\t\t\t\t\t\t<div class=\"icon\">\n\t\t\t\t\t\t\t<img src=\"{{item.image}}\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<div class=\"name\">{{item.title}}</div>\n\t\t\t\t\t\t\t<div class=\"description\">{{item.short_desc}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>"
  },
  {
    "path": "pe-enduser-catalog/widget/pe-enduser-catalog.u-client-script.js",
    "content": "function EndUserCatalogController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-enduser-catalog/widget/pe-enduser-catalog.u-css.css",
    "content": "$pe-description-color: #9fa4ad !default;\n$pe-box-color: #fdfdfd !default;\n$pe-green-item-color: #77b176 !default;\n$pe-red-item-color: #dc7f63 !default;\n$pe-yellow-item-color: #d7ba4b !default;\n$pe-blue-item-color: #6d9dcd !default;\n$pe-background-color: transparent !default;\n.because-you {\n\tbackground: $pe-background-color;\n}\n\n.cards {\n\tpadding: 0 10px;\n\tmargin-top: 15px;\n\th3 {\n\t\tmargin-top: 0;\n\t}\n}\n\n.widget-wrapper {\n\tbackground-color: $pe-box-color;\n\tborder-radius: 3px;\n\th3 {\n\t\tpadding: 13px;\n\t\tpadding-bottom: 0;\n\t}\n}\n\n.scroll-wrapper {\n\tpadding-bottom: 15px;\n\tdisplay: flex;\n\twidth: 100%;\n\toverflow-x: auto;\n\twhite-space: nowrap;\n}\n\n.item:first-child {\n\tmargin-left: 13px;\n}\n\n.item {\n\tposition: relative;\n\twidth: 55px;\n\tflex-shrink: 0;\n\tvertical-align: top;\n\tmargin-left: 38px;\n\ttext-align: center;\n\tpadding: 15px 0px 5px 0;\n\twhite-space: normal;\n\t.icon {\n\t\theight: 53px;\n\t\twidth: 53px;\n\t\tborder-radius: 50%;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\t.content {\n\t\tmargin-top: 10px;\n\t\tletter-spacing: -.4px;\n\t}\n}\n\n.description {\n\tfont-size: 11px;\n\ttext-align: center;\n\tcolor: $pe-description-color;\n}\n\n.green .icon {\n\tbackground-color: $pe-green-item-color;\n}\n\n.yellow .icon {\n\tbackground-color: $pe-yellow-item-color;\n}\n\n.blue .icon {\n\tbackground-color: $pe-blue-item-color;\n}\n\n.red .icon {\n\tbackground-color: $pe-red-item-color;\n}"
  },
  {
    "path": "pe-enduser-catalog/widget/pe-enduser-catalog.u-option-schema.json",
    "content": "[{\n\t\"name\": \"encoded_query\",\n\t\"default_value\": \"title=PE Enduser Catalog\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"additional_query_for_categories\",\n\t\"default_value\": \"active=true^ORDERBYorder\",\n\t\"label\": \"Additional Query for Categories\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"additional_query_for_items\",\n\t\"default_value\": \"sc_cat_item.active=true^ORDERBY sc_cat_item.order\",\n\t\"label\": \"Additional Query for Categories\",\n\t\"type\": \"string\"\n}]"
  },
  {
    "path": "pe-enduser-catalog/widget/pe-enduser-catalog.u-server-script.js",
    "content": "(function() {\n\tdata.categories = [];\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\tvar encodedQuery = serverOptions.encoded_query || options.encoded_query;\n\tvar queryForCategories = serverOptions.additional_query_for_categories || options.additional_query_for_categories;\n\tvar queryForItems = serverOptions.additional_query_for_items || options.additional_query_for_items;\n\tvar colorClasses = [\"blue\", \"green\", \"yellow\", \"red\"];\n\tvar col = 0;\n\tvar catalogGR = new GlideRecord(\"sc_catalog\");\n\tcatalogGR.addEncodedQuery(encodedQuery);\n\tcatalogGR.query();\n\tif (catalogGR.next()) {\n\t\tvar sysID = catalogGR.sys_id.toString();\n\t\tvar categoriesGR = new GlideRecord(\"sc_category\");\n\t\tcategoriesGR.addQuery(\"sc_catalog\", sysID);\n\t\tcategoriesGR.addEncodedQuery(queryForCategories)\n\t\tcategoriesGR.query();\n\t\twhile (categoriesGR.next()) {\n\t\t\tvar categoryID = categoriesGR.sys_id.toString();\n\t\t\tvar category = {\n\t\t\t\tsys_id: categoryID,\n\t\t\t\ttitle: categoriesGR.title.toString(),\n\t\t\t\titems: []\n\t\t\t}\n\t\t\tvar itemGR = new GlideRecord(\"sc_cat_item_category\");\n\t\t\titemGR.addQuery(\"sc_category\", categoryID);\n\t\t\titemGR.addEncodedQuery(queryForItems);\n\t\t\titemGR.query();\n\t\t\twhile (itemGR.next()) {\n\t\t\t\tcategory.items.push({\n\t\t\t\t\ttitle: itemGR.sc_cat_item.name.toString(),\n\t\t\t\t\tshort_desc: itemGR.sc_cat_item.short_description.nil() ? \"\" : itemGR.sc_cat_item.short_description.toString(),\n\t\t\t\t\timage: itemGR.sc_cat_item.icon.getDisplayValue(),\n\t\t\t\t\tsys_id: itemGR.sc_cat_item.sys_id.toString(),\n\t\t\t\t\tcolor_class: colorClasses[col],\n\t\t\t\t\tdemo_item: itemGR.sc_cat_item.demo_item.toString() == \"true\"\n\t\t\t\t});\n\t\t\t\tcol++;\n\t\t\t\tif (col == 4) {\n\t\t\t\t\tcol = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.categories.push(category);\n\t\t}\n\t}\n})();"
  },
  {
    "path": "pe-enduser-login-header/README.md",
    "content": "# End User Login Header Widget\n\n## Description\n\nThis can be used to quickly craft a login header widget.\n\n## Screenshot\n![](../images/pe-end-user-login-header-1.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-enduser-login-header.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-enduser-login-header/pe-enduser-login-header.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n**\"Title\"** Defines the title.  `Default: LightSpeed Portal`<br/>\n**\"Subtitle_Line_1\"** Defines the subtitle.  `Default: Log in now to`<br/>\n**\"Subtitle_line_2\"** Defines the second subtitle.  `Default: Get Support and Manage Your Services`<br/>\n**\"Logo\"** Defines the glyph/icon using the [fontawesome.io](http://fontawesome.io/cheatsheet/) classes to display the logo.  `Default:  rocket`<br/>"
  },
  {
    "path": "pe-enduser-login-header/pe-enduser-login-header.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-13 19:30:58\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Enduser Login Header</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>def7f74edb8a3a002e5df2b6ae961981</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-04-13 19:30:57</sys_created_on>\n<sys_id>d71b7daedb467a002e5df2b6ae961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-04-13 19:30:57</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_23df009adbca3a002e5df2b6ae9619b9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;h1 {&amp;#13;\n  font-size: 36px;&amp;#13;\n  font-weight: 300;&amp;#13;\n  text-align: center;&amp;#13;\n  margin-top: 0;&amp;#13;\n  margin-bottom: 0;&amp;#13;\n}&amp;#13;\n&amp;#13;\nh4 {&amp;#13;\n  font-size: 16px;&amp;#13;\n  text-align: center;&amp;#13;\n  font-weight: normal;&amp;#13;\n  margin-top: 10px;&amp;#13;\n  line-height: 24px;&amp;#13;\n}&amp;#13;\n.dark-header {&amp;#13;\n  background-image: url(\"/pe-enduser-background.jpg\");&amp;#13;\n  margin: 0 -15px;&amp;#13;\n  h1, h2, h3, h4, p {&amp;#13;\n    color: white;&amp;#13;\n  }&amp;#13;\n  .logo {&amp;#13;\n    margin-top: 18px;&amp;#13;\n  }&amp;#13;\n  height: 208px;&amp;#13;\n  height: 208px;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-enduser-login-header&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Enduser Login Header&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"LightSpeed Portal\",\"label\":\"title\",\"type\":\"string\"},{\"name\":\"subtitle_line_1\",\"default_value\":\"Log in now to\",\"label\":\"Subtitle Line 1\",\"type\":\"string\"},{\"name\":\"subtitle_line_2\",\"default_value\":\"Get Support and Manage Your Services\",\"label\":\"subtitle_line_2\",\"type\":\"string\"},{\"name\":\"logo\",\"default_value\":\"rocket\",\"label\":\"Logo\",\"type\":\"glyphicon\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.title = serverOptions.title || options.title;\n\toptions.subtitle_line_1 = serverOptions.subtitle_line_1 || options.subtitle_line_1;\n\toptions.subtitle_line_2 = serverOptions.subtitle_line_2 || options.subtitle_line_2;\n\toptions.logo = \"fa-\" + (serverOptions.logo || options.logo);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-12 17:05:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;23df009adbca3a002e5df2b6ae9619b9&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Enduser Login Header&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_23df009adbca3a002e5df2b6ae9619b9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-12 17:08:17&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n\t&lt;div class=\"dark-header text-center\"&gt;\n      &lt;h2&gt;\n        &lt;span class=\"logo fa {{c.options.logo}}\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n      &lt;/h2&gt;\n      &lt;h1&gt;{{c.options.title}}&lt;/h1&gt;\n      &lt;h4&gt;{{c.options.subtitle_line_1}}&lt;br/&gt;{{c.options.subtitle_line_2}}&lt;/h4&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Enduser Login Header\">d71b7daedb467a002e5df2b6ae961993</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-04-13 19:30:58</sys_created_on>\n<sys_id>9f1b7daedb467a002e5df2b6ae961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-04-13 19:30:58</sys_updated_on>\n<table/>\n<target_name>PE Enduser Login Header</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_6cabc8d6dbca3a002e5df2b6ae9619f7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category>Service Portal</category><format>JPEG</format><height>208</height><image/><name>pe-enduser-background.jpg</name><size_bytes>6612</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-12 16:45:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6cabc8d6dbca3a002e5df2b6ae9619f7</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-enduser-background.jpg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_6cabc8d6dbca3a002e5df2b6ae9619f7</sys_update_name><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-12 16:45:51</sys_updated_on><thumbnail/><width>375</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>6612</size_bytes><size_compressed>6379</size_compressed><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-12 16:45:51</sys_created_on><sys_id>72bbc8d6dbca3a002e5df2b6ae9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dachtman</sys_updated_by><sys_updated_on>2017-04-12 16:45:51</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>6cabc8d6dbca3a002e5df2b6ae9619f7</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"72bbc8d6dbca3a002e5df2b6ae9619ff\">72bbc8d6dbca3a002e5df2b6ae9619ff</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-12 16:45:51</sys_created_on><sys_id>4bbbc8d6dbca3a002e5df2b6ae9619ff</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"72bbc8d6dbca3a002e5df2b6ae9619ff\">72bbc8d6dbca3a002e5df2b6ae9619ff</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-12 16:45:51</sys_created_on><sys_id>cbbbc8d6dbca3a002e5df2b6ae9619ff</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"image\" sys_id=\"72bbc8d6dbca3a002e5df2b6ae9619ff\">72bbc8d6dbca3a002e5df2b6ae9619ff</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-12 16:45:51</sys_created_on><sys_id>4fbbc8d6dbca3a002e5df2b6ae9619ff</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>jhbtahf7p2Q3VmfQTtW37rP90awW++/pN8rT88Jl3fM/rhXomHvsr1ATVlGioi/ZR9PsRvtpZu2QRO1uptA/dfUK+jjHaPBQ8+o9eKFxzoY8HaNOlmUhX2B2l3xPSZ7ZOFeyPEY9xpFFTLQ6Nn3CcTlBoTrvexwk09HYEIblCe76ZDoPYBshjn8sqVJMLD1z7rUIKvkYSKsqNralMlsTfb/qNwd9L7X7FHH0W+MRZkfjvhYyXmmYGSWqZvD5xYBwKSYglvFXxPeEPVEzhNrDgL2zPKDa1R+iWmBAAl9YKlRTStXichJSAqy/E5XesmSnohEgLfos83yr+JeSt/k7z74v8gBhUit3sEFYoIJvi5gWdEftH9t7MjZqS8Fyr1LOyF6tfMnNtGf90ewmU3CJVTCgWLfYOp7TH4NMBk66hVbs9ff+24J2xKjncAYC449osTWgUwRTOeE5xTA7tEFDtQHDUbhGc7lGKoY0GL1TsWmJm9ItvhEOj0Rs+0hK414lQbiMznittFp4JWXKYFecB/zKHHc6ePEbY0aAaui+ds31sJ76gP2WCyxyWZyjqDM3lbP66E4sIW/3WeuQfOFGcjl4xWZKsjHLPtJ89yXevbaTXPmxTHmKm+QmO/T9XjS1zsqDB0BQIpNOzRnHkNz88f3u6WfcTakQQn0CNAoB0l82/dZj+/dI2vtvTKGk2RbtoJuKG1OtfdAmNkxaEW1h0AOtcy4tMC9/rPOe7xB8lJ5hn631w5Q+aX/aVKgUfSHnVwsWVJfo6vAMVVcMF1GahdRYvqxh2toqbuxulRv3mmibw0G/mSXYb92t4YrBNksDZu7Yphzc6zjIpaaZIlpdg96Ezdl2hf4zjhsoEa5JGwgfz+cyQoZTsljmITzAdaMo4ZdX54UPwK/g+6ibe8ueZplKnxOpx4YumLdWSYjAQtAvF2w0T1N7WxxORjivul2yGLJMPQKZYMFbTw2+9MaDtjfYH76uYAYKH1ytBC0burAUdEgqtbz3/wUTQoQo1BkAAA==</data><length>1028</length><position>3</position><sys_attachment display_value=\"image\" sys_id=\"72bbc8d6dbca3a002e5df2b6ae9619ff\">72bbc8d6dbca3a002e5df2b6ae9619ff</sys_attachment><sys_created_by>dachtman</sys_created_by><sys_created_on>2017-04-12 16:45:51</sys_created_on><sys_id>cfbbc8d6dbca3a002e5df2b6ae9619ff</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Enduser Login Header\">d71b7daedb467a002e5df2b6ae961993</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-04-13 19:30:58</sys_created_on>\n<sys_id>db1b7daedb467a002e5df2b6ae961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-04-13 19:30:58</sys_updated_on>\n<table/>\n<target_name>pe-enduser-background.jpg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-enduser-login-header/widget/pe-enduser-login-header.u-body-html-template.html",
    "content": "<div>\n  <div class=\"dark-header text-center\">\n    <h2><span class=\"logo fa {{::c.options.logo}}\" aria-hidden=\"true\"></span></h2>\n    <h1>{{::c.options.title}}</h1>\n    <h4>{{::c.options.subtitle_line_1}}<br>{{::c.options.subtitle_line_2}}</h4>\n  </div>\n</div>"
  },
  {
    "path": "pe-enduser-login-header/widget/pe-enduser-login-header.u-client-script.js",
    "content": "function EndUserLoginHeaderController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-enduser-login-header/widget/pe-enduser-login-header.u-css.scss",
    "content": "h1 {\n  font-size: 36px;\n  font-weight: 300;\n  text-align: center;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n\nh4 {\n  font-size: 16px;\n  text-align: center;\n  font-weight: normal;\n  margin-top: 10px;\n  line-height: 24px;\n}\n\n.dark-header {\n  background-image: url('/pe-enduser-background.jpg');\n  margin: 0 -15px;\n  h1,\n  h2,\n  h3,\n  h4,\n  p {\n    color: white;\n  }\n  .logo {\n    margin-top: 18px;\n  }\n  height: 208px;\n  height: 208px;\n}"
  },
  {
    "path": "pe-enduser-login-header/widget/pe-enduser-login-header.u-option-schema.json",
    "content": "[{\n  \"name\": \"title\",\n  \"default_value\": \"LightSpeed Portal\",\n  \"label\": \"title\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"subtitle_line_1\",\n  \"default_value\": \"Log in now to\",\n  \"label\": \"Subtitle Line 1\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"subtitle_line_2\",\n  \"default_value\": \"Get Support and Manage Your Services\",\n  \"label\": \"subtitle_line_2\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"logo\",\n  \"default_value\": \"rocket\",\n  \"label\": \"Logo\",\n  \"type\": \"glyphicon\"\n}]"
  },
  {
    "path": "pe-enduser-login-header/widget/pe-enduser-login-header.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = serverOptions.title || options.title;\n  options.subtitle_line_1 = serverOptions.subtitle_line_1 || options.subtitle_line_1;\n  options.subtitle_line_2 = serverOptions.subtitle_line_2 || options.subtitle_line_2;\n  options.logo = 'fa-' + (serverOptions.logo || options.logo);\n})();"
  },
  {
    "path": "pe-enduser-survey/README.md",
    "content": "# End User Survey\n\n## Description\n\nThis can be used to display a list of a survey question's choices.\n\n## Screenshot\n![](../images/pe-enduser-survey.png)\n\n## Additional Information/Notes\n\nUses the ServiceNow® [Assessments](https://docs.servicenow.com/bundle/istanbul-servicenow-platform/page/administer/assessments/reference/r_Assessments.html?cshalt=yes ) application for data.\n\n---\n## Installation\n\nDownload and install update set **[pe-enduser-survey.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-enduser-survey/pe-enduser-survey.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Question ID` | Sets the question sys_id. | f6d234ecdb9e32002e5df2b6ae9619b8 |\n\n---\n## Platform Dependencies\n\n### SN Plugin Support\nWidget support is provided by the ServiceNow® [Assessments](https://docs.servicenow.com/bundle/istanbul-servicenow-platform/page/administer/assessments/reference/r_Assessments.html?cshalt=yes ) application.\nThe Assessments plugin is enabled by default.\n\n### SN System Tables\n* asmt_metric\n* asmt_metric_definition\n\n---\n## Sample Data and Data Structures\n\nSee Platform Dependencies\n\n---\n## API Dependencies\n\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-enduser-survey/pe-enduser-survey.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-24 16:51:22\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE-Enduser-Survey</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>ecc6ec28db9e32002e5df2b6ae9619c7</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>ac100e06dbdaf2002e5df2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_f6d234ecdb9e32002e5df2b6ae9619b8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"asmt_metric\"&gt;&lt;asmt_metric action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;allow_not_applicable&gt;false&lt;/allow_not_applicable&gt;&lt;auto_gen&gt;false&lt;/auto_gen&gt;&lt;category display_value=\"Report an Issue\"&gt;7ed234ecdb9e32002e5df2b6ae9619b5&lt;/category&gt;&lt;cond_question/&gt;&lt;correct_answer/&gt;&lt;correct_answer_checkbox&gt;1&lt;/correct_answer_checkbox&gt;&lt;correct_answer_choice/&gt;&lt;correct_answer_template/&gt;&lt;correct_answer_yesno&gt;1&lt;/correct_answer_yesno&gt;&lt;datatype&gt;multiplecheckbox&lt;/datatype&gt;&lt;default_value_field&gt;active&lt;/default_value_field&gt;&lt;depends_on/&gt;&lt;description/&gt;&lt;details/&gt;&lt;displayed_when/&gt;&lt;displayed_when_checkbox&gt;1&lt;/displayed_when_checkbox&gt;&lt;displayed_when_template/&gt;&lt;displayed_when_yesno/&gt;&lt;duration/&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max&gt;5&lt;/max&gt;&lt;max_weight/&gt;&lt;method&gt;assessment&lt;/method&gt;&lt;metric_type display_value=\"Report an Issue\"&gt;7ad23cacdb9e32002e5df2b6ae96196a&lt;/metric_type&gt;&lt;min&gt;1&lt;/min&gt;&lt;name&gt;What seems to be the problem?&lt;/name&gt;&lt;order&gt;100&lt;/order&gt;&lt;plugin/&gt;&lt;question&gt;What seems to be the problem?&lt;/question&gt;&lt;randomize_answers&gt;false&lt;/randomize_answers&gt;&lt;reference_table/&gt;&lt;scale&gt;low&lt;/scale&gt;&lt;scored&gt;false&lt;/scored&gt;&lt;script&gt;&lt;![CDATA[// The following variables are available:  // - primary: contains the sys_id of the assessable object to be evaluated  // - string_result: the script sets the display string value for this metric to this variable  // - actual_result: the script sets the actual value for this metric to this variable  // - scaled_result: the script sets the scaled value (used in calculations) for this metric to this variable  //  // For example: // var gr = new GlideRecord('cmdb_ci'); // gr.addQuery('manufacturer', primary); // gr.query(); // actual_result = gr.getRowCount(); // string_result = actual_result + ''; // if (actual_result &amp;gt; 100) scaled_result = 5; // else scaled_result = 1;]]&gt;&lt;/script&gt;&lt;string_option&gt;wide&lt;/string_option&gt;&lt;sys_class_name&gt;asmt_metric&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 19:23:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;f6d234ecdb9e32002e5df2b6ae9619b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;What seems to be the problem?&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;asmt_metric_f6d234ecdb9e32002e5df2b6ae9619b8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 19:29:28&lt;/sys_updated_on&gt;&lt;template/&gt;&lt;weight&gt;10&lt;/weight&gt;&lt;/asmt_metric&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=f6d234ecdb9e32002e5df2b6ae9619b8\"/&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>34100e06dbdaf2002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>What seems to be the problem?</target_name>\n<type>Assessment Metric</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_definition_4fd234ecdb9e32002e5df2b6ae9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_definition\"><asmt_metric_definition action=\"INSERT_OR_UPDATE\"><display>I don't see all of my channels</display><metric display_value=\"What seems to be the problem?\">f6d234ecdb9e32002e5df2b6ae9619b8</metric><order>1</order><selected_image/><sys_class_name>asmt_metric_definition</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>4fd234ecdb9e32002e5df2b6ae9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>I don't see all of my channels</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_definition_4fd234ecdb9e32002e5df2b6ae9619cf</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:08</sys_updated_on><unselected_image/><value>2</value></asmt_metric_definition><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4fd234ecdb9e32002e5df2b6ae9619cf\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>38100e06dbdaf2002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>I don't see all of my channels</target_name>\n<type>Assessment Metric Definition</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_definition_c7d234ecdb9e32002e5df2b6ae9619be</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_definition\"><asmt_metric_definition action=\"INSERT_OR_UPDATE\"><display>My recorded shows are all frozen</display><metric display_value=\"What seems to be the problem?\">f6d234ecdb9e32002e5df2b6ae9619b8</metric><order>0</order><selected_image/><sys_class_name>asmt_metric_definition</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c7d234ecdb9e32002e5df2b6ae9619be</sys_id><sys_mod_count>0</sys_mod_count><sys_name>My recorded shows are all frozen</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_definition_c7d234ecdb9e32002e5df2b6ae9619be</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:08</sys_updated_on><unselected_image/><value>1</value></asmt_metric_definition><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c7d234ecdb9e32002e5df2b6ae9619be\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>70100e06dbdaf2002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>My recorded shows are all frozen</target_name>\n<type>Assessment Metric Definition</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_definition_47d234ecdb9e32002e5df2b6ae9619d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_definition\"><asmt_metric_definition action=\"INSERT_OR_UPDATE\"><display>My device is on, but the screen is blank</display><metric display_value=\"What seems to be the problem?\">f6d234ecdb9e32002e5df2b6ae9619b8</metric><order>2</order><selected_image/><sys_class_name>asmt_metric_definition</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>47d234ecdb9e32002e5df2b6ae9619d4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>My device is on, but the screen is blank</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_definition_47d234ecdb9e32002e5df2b6ae9619d4</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:09</sys_updated_on><unselected_image/><value>3</value></asmt_metric_definition><sys_translated_text action=\"delete_multiple\" query=\"documentkey=47d234ecdb9e32002e5df2b6ae9619d4\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>74100e06dbdaf2002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>My device is on, but the screen is blank</target_name>\n<type>Assessment Metric Definition</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_category_7ed234ecdb9e32002e5df2b6ae9619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_category\"><asmt_metric_category action=\"INSERT_OR_UPDATE\"><create_stakeholders>false</create_stakeholders><description/><details/><filter table=\"asmt_metric_type\">sys_id=7ad23cacdb9e32002e5df2b6ae96196a^EQ<item endquery=\"false\" field=\"sys_id\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"7ad23cacdb9e32002e5df2b6ae96196a\"/><item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/></filter><metric_type display_value=\"Report an Issue\">7ad23cacdb9e32002e5df2b6ae96196a</metric_type><name>Report an Issue</name><order>100</order><scoring_type>percent</scoring_type><sys_class_name>asmt_metric_category</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>7ed234ecdb9e32002e5df2b6ae9619b5</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Report an Issue</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_category_7ed234ecdb9e32002e5df2b6ae9619b5</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:08</sys_updated_on><table>asmt_metric_type</table><total_metrics>1</total_metrics><weight>10</weight></asmt_metric_category><sys_translated_text action=\"delete_multiple\" query=\"documentkey=7ed234ecdb9e32002e5df2b6ae9619b5\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>a0100e06dbdaf2002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table>asmt_metric_type</table>\n<target_name>Report an Issue</target_name>\n<type>Metric Category</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_dc73d1acdbde32002e5df2b6ae96199e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function EndUserSurveyController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.report-issue {\n  h1 {\n    font-size: 18px;\n    font-weight: 600;\n    color: #3f4c5c;\n\n  }\n  .choices {\n    ul {\n      padding: 0;\n      clear: both;\n      li {\n        position: relative;\n        padding-left: 40px;\n        min-height: 50px;\n        line-height: 50px;\n        border-bottom: solid 0.5px #cccccc;\n      }\n      li:first-child {\n        border-top: solid 0.5px #cccccc;\n      }\n\n      li:hover, li:active {\n        //font-weight: bold;\n        color: #ffffff;\n        background-color: #2a3342;\n        svg {\n          fill: #fff;\n        }\n      }\n    }\n\n    .arrow {\n      position: absolute;\n      right: 30px;\n      top: 5px;\n      svg {\n        width: 9px;\n        height: 18px;\n        fill: #3F4C5C;\n      }\n    }\n\n  }\n\n  .options {\n    h2 {\n      font-size: 18px;\n      font-weight: 600;\n      padding-left: 15px;\n    }\n    h3 {\n      font-size: 16px;\n      font-weight: normal;\n      margin-top: 20px;\n      margin-bottom: 30px;\n    }\n    .choices {\n      //padding-left: 30px;\n\n      ul {\n        padding: 0;\n      }\n    }\n  }\n}\n\n.light {\n  font-weight: normal;\n}\n\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-enduser-survey&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Enduser Survey&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"question_id\",\"default_value\":\"f6d234ecdb9e32002e5df2b6ae9619b8\",\"label\":\"Question ID\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.question_id = options.question_id || serverOptions.question_id;\n\tdata.title = \"No Question Specified\";\n\tdata.issues = [];\n\n\tvar asmtGR = new GlideRecord(\"asmt_metric\");\n\tif(asmtGR.get(options.question_id)){\n\t\tdata.title = asmtGR.name.toString();\n\t\tvar metricDefGR = new GlideRecord(\"asmt_metric_definition\");\n\t\tmetricDefGR.addQuery(\"metric\",asmtGR.sys_id.toString());\n\t\tmetricDefGR.query();\n\t\twhile(metricDefGR.next()){\n\t\t\tdata.issues.push({\n\t\t\t\tsys_id:metricDefGR.sys_id.toString(),\n\t\t\t\ttext:metricDefGR.display.toString(),\n\t\t\t\tvalue:metricDefGR.value.toString()\n\t\t\t})\n\t\t}\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 21:45:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;dc73d1acdbde32002e5df2b6ae96199e&lt;/sys_id&gt;&lt;sys_mod_count&gt;12&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Enduser Survey&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_dc73d1acdbde32002e5df2b6ae96199e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 16:37:24&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"inner-page\"&gt;\n    &lt;div class=\"report-issue\"&gt;\n        &lt;div class=\"choices row\"&gt;\n            &lt;div class=\"col-xs-12\"&gt;\n                &lt;h1&gt;{{c.data.title}}&lt;/h1&gt;\n            &lt;/div&gt;\n            &lt;ul&gt;\n                &lt;li ng-repeat=\"issue in c.data.issues track by issue.sys_id\"&gt;\n\t                  {{issue.text}}\n                    &lt;div class=\"arrow\"&gt;\n                      &lt;span class=\"glyphicon glyphicon-menu-right\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n                    &lt;/div&gt;\n                &lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>b8100e06dbdaf2002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>PE Enduser Survey</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_definition_5fd234ecdb9e32002e5df2b6ae9619d8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_definition\"><asmt_metric_definition action=\"INSERT_OR_UPDATE\"><display>I can't access On Demand content</display><metric display_value=\"What seems to be the problem?\">f6d234ecdb9e32002e5df2b6ae9619b8</metric><order>3</order><selected_image/><sys_class_name>asmt_metric_definition</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>5fd234ecdb9e32002e5df2b6ae9619d8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>I can't access On Demand content</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_definition_5fd234ecdb9e32002e5df2b6ae9619d8</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:09</sys_updated_on><unselected_image/><value>4</value></asmt_metric_definition><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5fd234ecdb9e32002e5df2b6ae9619d8\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>bc100e06dbdaf2002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>I can't access On Demand content</target_name>\n<type>Assessment Metric Definition</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_type_7ad23cacdb9e32002e5df2b6ae96196a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_type\"><asmt_metric_type action=\"INSERT_OR_UPDATE\"><active>true</active><allow_public>false</allow_public><allow_retake>false</allow_retake><anonymize>false</anonymize><business_rule/><condition table=\"asmt_metric_type\">sys_id=7ad23cacdb9e32002e5df2b6ae96196a^EQ<item endquery=\"false\" field=\"sys_id\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"7ad23cacdb9e32002e5df2b6ae96196a\"/><item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/></condition><default_filter/><delete_business_rule/><description/><disable_ui_action/><display_all_filters>false</display_all_filters><display_field>name</display_field><duration>1970-01-15 00:00:00</duration><enable_ui_action/><end_note/><enforce_condition>false</enforce_condition><evaluation_method>survey</evaluation_method><filter_condition/><filter_table/><introduction/><job/><live_feed>false</live_feed><name>Report an Issue</name><notify_if_overdue>false</notify_if_overdue><notify_user>true</notify_user><overdue_notify_user/><portal_pagination>category</portal_pagination><publish_state>draft</publish_state><roles>survey_admin,survey_reader</roles><scale_factor>10</scale_factor><schedule_period>0</schedule_period><schedule_type>on_demand</schedule_type><scoring_type>percent</scoring_type><signature/><sys_class_name>asmt_metric_type</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>7ad23cacdb9e32002e5df2b6ae96196a</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Report an Issue</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_type_7ad23cacdb9e32002e5df2b6ae96196a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:07</sys_updated_on><table>asmt_metric_type</table><url/></asmt_metric_type><sys_translated_text action=\"delete_multiple\" query=\"documentkey=7ad23cacdb9e32002e5df2b6ae96196a\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>f4100e06dbdaf2002e5df2b6ae961975</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table>asmt_metric_type</table>\n<target_name>Report an Issue</target_name>\n<type>Assessment Metric Type</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>asmt_metric_definition_57d234ecdb9e32002e5df2b6ae9619dd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"asmt_metric_definition\"><asmt_metric_definition action=\"INSERT_OR_UPDATE\"><display>Other / Not listed here</display><metric display_value=\"What seems to be the problem?\">f6d234ecdb9e32002e5df2b6ae9619b8</metric><order>4</order><selected_image/><sys_class_name>asmt_metric_definition</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2017-04-19 19:23:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>57d234ecdb9e32002e5df2b6ae9619dd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Other / Not listed here</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>asmt_metric_definition_57d234ecdb9e32002e5df2b6ae9619dd</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2017-04-19 19:23:09</sys_updated_on><unselected_image/><value>5</value></asmt_metric_definition><sys_translated_text action=\"delete_multiple\" query=\"documentkey=57d234ecdb9e32002e5df2b6ae9619dd\"/></record_update>]]></payload>\n<remote_update_set display_value=\"PE-Enduser-Survey\">ac100e06dbdaf2002e5df2b6ae961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2017-04-24 16:51:22</sys_created_on>\n<sys_id>f8100e06dbdaf2002e5df2b6ae961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2017-04-24 16:51:22</sys_updated_on>\n<table/>\n<target_name>Other / Not listed here</target_name>\n<type>Assessment Metric Definition</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-enduser-survey/widget/pe-enduser-survey.u-body-html-template.html",
    "content": "<div class=\"inner-page\">\n\t<div class=\"report-issue\">\n\t\t<div class=\"choices row\">\n\t\t\t<div class=\"col-xs-12\">\n\t\t\t\t<h1>{{c.data.title}}</h1>\n\t\t\t</div>\n\t\t\t<ul>\n\t\t\t\t<li ng-repeat=\"issue in c.data.issues track by issue.sys_id\">\n\t\t\t\t\t{{issue.text}}\n\t\t\t\t\t<div class=\"arrow\">\n\t\t\t\t\t\t<span class=\"glyphicon glyphicon-menu-right\" aria-hidden=\"true\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>"
  },
  {
    "path": "pe-enduser-survey/widget/pe-enduser-survey.u-client-controller.js",
    "content": "function EndUserSurveyController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-enduser-survey/widget/pe-enduser-survey.u-css.css",
    "content": ".report-issue {\n\th1 {\n\t\tfont-size: 18px;\n\t\tfont-weight: 600;\n\t\tcolor: #3f4c5c;\n\t}\n\t.choices {\n\t\tul {\n\t\t\tpadding: 0;\n\t\t\tclear: both;\n\t\t\tli {\n\t\t\t\tposition: relative;\n\t\t\t\tpadding-left: 40px;\n\t\t\t\tmin-height: 50px;\n\t\t\t\tline-height: 50px;\n\t\t\t\tborder-bottom: solid 0.5px #cccccc;\n\t\t\t}\n\t\t\tli:first-child {\n\t\t\t\tborder-top: solid 0.5px #cccccc;\n\t\t\t}\n\t\t\tli:hover,\n\t\t\tli:active {\n\t\t\t\t//font-weight: bold;\n\t\t\t\tcolor: #ffffff;\n\t\t\t\tbackground-color: #2a3342;\n\t\t\t\tsvg {\n\t\t\t\t\tfill: #fff;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.arrow {\n\t\t\tposition: absolute;\n\t\t\tright: 30px;\n\t\t\ttop: 5px;\n\t\t\tsvg {\n\t\t\t\twidth: 9px;\n\t\t\t\theight: 18px;\n\t\t\t\tfill: #3F4C5C;\n\t\t\t}\n\t\t}\n\t}\n\t.options {\n\t\th2 {\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: 600;\n\t\t\tpadding-left: 15px;\n\t\t}\n\t\th3 {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin-top: 20px;\n\t\t\tmargin-bottom: 30px;\n\t\t}\n\t\t.choices {\n\t\t\t//padding-left: 30px;\n\t\t\tul {\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.light {\n\tfont-weight: normal;\n}"
  },
  {
    "path": "pe-enduser-survey/widget/pe-enduser-survey.u-option-schema.json",
    "content": "[{\n\t\"name\": \"question_id\",\n\t\"default_value\": \"f6d234ecdb9e32002e5df2b6ae9619b8\",\n\t\"label\": \"Question ID\",\n\t\"type\": \"string\"\n}]"
  },
  {
    "path": "pe-enduser-survey/widget/pe-enduser-survey.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.question_id = options.question_id || serverOptions.question_id;\n\tdata.title = \"No Question Specified\";\n\tdata.issues = [];\n\n\tvar asmtGR = new GlideRecord(\"asmt_metric\");\n\tif (asmtGR.get(options.question_id)) {\n\t\tdata.title = asmtGR.name.toString();\n\t\tvar metricDefGR = new GlideRecord(\"asmt_metric_definition\");\n\t\tmetricDefGR.addQuery(\"metric\", asmtGR.sys_id.toString());\n\t\tmetricDefGR.query();\n\t\twhile (metricDefGR.next()) {\n\t\t\tdata.issues.push({\n\t\t\t\tsys_id: metricDefGR.sys_id.toString(),\n\t\t\t\ttext: metricDefGR.display.toString(),\n\t\t\t\tvalue: metricDefGR.value.toString()\n\t\t\t})\n\t\t}\n\t}\n})();"
  },
  {
    "path": "pe-feedback-card/Readme.md",
    "content": "# Feedback Card\n\n## Description\n\nThis widget can be used to create a simple emoji rating/feedback card.\n\n## Screenshots\n\n### Step 1\n![alt text](../images/pe-feedback-card-screenshot-01.png \"Timeline Widget - Step 1\")\n### Step 2\n![alt text](../images/pe-feedback-card-screenshot-02.png \"Timeline Widget- Step 2\")\n### Step 3\n![alt text](../images/pe-feedback-card-screenshot-03.png \"Timeline Widget- Step 3\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-feedback-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-feedback-card/pe-feedback-card.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Step 1 message` | Message for step 1 | We would like you to take a survey to see how we are doing. |\n| `Step 2 message` | Message for step 2 | How would you rate your overall experience using this? |\n| `Step 3 message` | Message for step 3 | People like you rate this service at: |\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-brand-primary: #337ab7 !default;\n$pe-brand-text-color: #fff !default;\n$pe-brand-text-size-normal: 15px !default;\n```"
  },
  {
    "path": "pe-feedback-card/pe-feedback-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-14 20:43:41\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Feedback Card</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>44e8e3b0dbe5b20062e479daae96193c</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 20:43:41</sys_created_on>\n<sys_id>3f0c63f0dbe5b20062e479daae9619eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 20:43:41</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_ba0350cddb90b200b793f2b6ae9619d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>animate</module><name>animate.css</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:15:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ba0350cddb90b200b793f2b6ae9619d4</sys_id><sys_mod_count>2</sys_mod_count><sys_name>animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_ba0350cddb90b200b793f2b6ae9619d4</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:52:49</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Feedback Card\">3f0c63f0dbe5b20062e479daae9619eb</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 20:43:41</sys_created_on>\n<sys_id>330c63f0dbe5b20062e479daae9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 20:43:41</sys_updated_on>\n<table/>\n<target_name>animate.css</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_cafd4608135d7a007e94fc5ed144b0fd</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function FeedbackCardController($timeout) {\n  var c = this;\n  c.chosenFeedback = chosenFeedback;\n  c.closeSurvey = closeSurvey;\n  c.setRating = setRating;\n\n  c.$onInit = function() {\n    c.badRandom = Math.floor(Math.random() * 6) + 1;\n    c.goodRandom = Math.floor(Math.random() * 21) + 80;\n    c.showSurvey = true;\n    c.stepId = 'one';\n  };\n\n  function chosenFeedback(feedback, icon) {\n    c.stepId = 'three';\n    c.selectedIcon = icon;\n  }\n\n  function closeSurvey() {\n    c.showSurvey = false;\n  }\n\n  function setRating(event) {\n    angular.element(event.target).addClass('selected animated rubberBand');\n    $timeout(function() {\n      angular.element('.emoji-rating').addClass('animated fadeOut');\n    }, 1000);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary: #337ab7 !default;&amp;#13;\n$pe-brand-text-color: #fff !default;&amp;#13;\n$pe-brand-text-size-normal: 15px !default;&amp;#13;\n&amp;#13;\n.emoji-rating {&amp;#13;\n  width: 100%;&amp;#13;\n  height: 10%;&amp;#13;\n  padding: 20px;&amp;#13;\n  padding-top: 10px;&amp;#13;\n  margin-bottom: 10px;&amp;#13;\n  overflow: auto;&amp;#13;\n  border-radius: 5px;&amp;#13;\n  background-color: $pe-brand-primary;&amp;#13;\n  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);&amp;#13;\n  position: relative;&amp;#13;\n  p {&amp;#13;\n    margin-bottom: 0px;&amp;#13;\n  }&amp;#13;\n  .flex-it {&amp;#13;\n    display: flex;&amp;#13;\n    align-items: center;&amp;#13;\n    justify-content: center;&amp;#13;\n    .rand {&amp;#13;\n      font-size: 36px;&amp;#13;\n      font-weight: 600;&amp;#13;\n      color: $pe-brand-text-color;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .svg-icon {&amp;#13;\n    width: 20px;&amp;#13;\n    height: 20px;&amp;#13;\n    stroke: $pe-brand-text-color;&amp;#13;\n    fill: $pe-brand-text-color;&amp;#13;\n    position: absolute;&amp;#13;\n    top: 5px;&amp;#13;\n    right: 5px;&amp;#13;\n  }&amp;#13;\n  .step-one {&amp;#13;\n    text-align: center;&amp;#13;\n  }&amp;#13;\n  .step-two {&amp;#13;\n    text-align: center;&amp;#13;\n  }&amp;#13;\n  .step-three {&amp;#13;\n    text-align: center;&amp;#13;\n    .fa {&amp;#13;\n      margin: 0px !important;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .fa {&amp;#13;\n    cursor: pointer;&amp;#13;\n    font-size: 50px;&amp;#13;\n    color: $pe-brand-text-color;&amp;#13;\n    padding: 10px;&amp;#13;\n  }&amp;#13;\n  .fa-smile-o {&amp;#13;\n    color: $pe-brand-text-color;&amp;#13;\n  }&amp;#13;\n  .fa-meh-o {&amp;#13;\n    color: $pe-brand-text-color;&amp;#13;\n    margin: 0 35px;&amp;#13;\n  }&amp;#13;\n  .fa-frown-o {&amp;#13;\n    color: $pe-brand-text-color;&amp;#13;\n  }&amp;#13;\n  .selected {&amp;#13;\n    font-weight: bold;&amp;#13;\n  }&amp;#13;\n  .message {&amp;#13;\n    font-size: $pe-brand-text-size-normal;&amp;#13;\n    font-weight: normal;&amp;#13;\n    font-style: normal;&amp;#13;\n    font-stretch: normal;&amp;#13;\n    line-height: 1.13;&amp;#13;\n    padding-top: 6px;&amp;#13;\n    padding-bottom: 10px;&amp;#13;\n    padding-right: 10px;&amp;#13;\n    padding-left: 10px;&amp;#13;\n    text-align: center;&amp;#13;\n    color: $pe-brand-text-color;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;Feedback Card widget&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-feedback-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Feedback Card&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"step_1_message\",\"default_value\":\"We would like you to take a survey to see how we are doing.\",\"label\":\"Step 1 message\",\"type\":\"string\"},{\"name\":\"step_2_message\",\"default_value\":\"How would you rate your overall experience using this?\",\"label\":\"Step 2 message\",\"type\":\"string\"},{\"name\":\"step_3_message\",\"default_value\":\"People like you rate this service at:\",\"label\":\"Step 3 message\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.stepone_text = input.step_1_message || options.step_1_message;\n  data.steptwo_text = input.step_2_message || options.step_2_message;\n  data.stepthree_text = input.step_3_message || options.step_3_message;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-27 19:41:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cafd4608135d7a007e94fc5ed144b0fd&lt;/sys_id&gt;&lt;sys_mod_count&gt;56&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Feedback Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_cafd4608135d7a007e94fc5ed144b0fd&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-06 16:30:42&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-close\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;polygon points=\"83.2,12.5 49.7,46.1 16.1,12.5 11.9,16.8 45.4,50.3 11.9,83.9 16.1,88.1 49.7,54.6 83.2,88.1 87.5,83.9 53.9,50.3 87.5,16.8\"&gt;&lt;/polygon&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div class=\"emoji-rating\" ng-show=\"c.showSurvey\"&gt;\n  &lt;svg class=\"svg-icon\" ng-click=\"c.closeSurvey()\"&gt;\n    &lt;use xlink:href='#icon-close'&gt;&lt;/use&gt;\n  &lt;/svg&gt;\n  &lt;div class=\"step-one\" ng-click=\"c.stepId = 'two'\" ng-show=\"c.stepId == 'one'\"&gt;\n    &lt;p class=\"message\"&gt;{{::data.stepone_text}}&lt;/p&gt;\n    &lt;i class=\"fa fa-bell-o\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n  &lt;div class=\"step-two\" ng-show=\"c.stepId == 'two'\"&gt;\n    &lt;p class=\"message\"&gt;{{::data.steptwo_text}}&lt;/p&gt;\n    &lt;i ng-click=\"c.chosenFeedback('good', 'fa-smile-o')\" class=\"fa fa-smile-o\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.chosenFeedback('ok', 'fa-meh-o')\" class=\"fa fa-meh-o\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.chosenFeedback('bad', 'fa-frown-o')\" class=\"fa fa-frown-o\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n  &lt;div class=\"step-three\" ng-show=\"c.stepId == 'three'\"&gt;\n    &lt;p class=\"message\"&gt;{{::data.stepthree_text}}&lt;/p&gt;\n    &lt;div class=\"flex-it\"&gt;\n      &lt;i class=\"fa animated rubberBand\" ng-class=\"c.selectedIcon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;p ng-show=\"c.selectedIcon == 'fa-smile-o'\" class=\"rand\"&gt;{{c.goodRandom}}%&lt;/p&gt;\n      &lt;p ng-show=\"c.selectedIcon == 'fa-meh-o'\" class=\"rand\"&gt;{{c.badRandom}}%&lt;/p&gt;\n      &lt;p ng-show=\"c.selectedIcon == 'fa-frown-o'\" class=\"rand\"&gt;{{c.badRandom}}%&lt;/p&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Feedback Card\">3f0c63f0dbe5b20062e479daae9619eb</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 20:43:41</sys_created_on>\n<sys_id>730c63f0dbe5b20062e479daae9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 20:43:41</sys_updated_on>\n<table/>\n<target_name>PE Feedback Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_878354cddb90b200b793f2b6ae961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>@charset \"UTF-8\";&#13;\n&#13;\n/*!&#13;\n * animate.css -http://daneden.me/animate&#13;\n * Version - 3.5.1&#13;\n * Licensed under the MIT license - http://opensource.org/licenses/MIT&#13;\n *&#13;\n * Copyright (c) 2016 Daniel Eden&#13;\n */&#13;\n&#13;\n.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}</css><name>animate.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>878354cddb90b200b793f2b6ae961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_878354cddb90b200b793f2b6ae961995</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:17:50</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE Feedback Card\">3f0c63f0dbe5b20062e479daae9619eb</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 20:43:41</sys_created_on>\n<sys_id>bf0c63f0dbe5b20062e479daae9619eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 20:43:41</sys_updated_on>\n<table/>\n<target_name>animate.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_b49354cddb90b200b793f2b6ae961997</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>animate.css</name><source>local</source><sp_css display_value=\"animate.css\">878354cddb90b200b793f2b6ae961995</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-11 20:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b49354cddb90b200b793f2b6ae961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>animate.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_b49354cddb90b200b793f2b6ae961997</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-11 20:17:50</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Feedback Card\">3f0c63f0dbe5b20062e479daae9619eb</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 20:43:41</sys_created_on>\n<sys_id>ff0c63f0dbe5b20062e479daae9619eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 20:43:41</sys_updated_on>\n<table/>\n<target_name>animate.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-feedback-card/style-sheet/pe-feedback-card-animate.css",
    "content": "@charset \"UTF-8\";\r\n\r\n/*!\r\n * animate.css -http://daneden.me/animate\r\n * Version - 3.5.1\r\n * Licensed under the MIT license - http://opensource.org/licenses/MIT\r\n *\r\n * Copyright (c) 2016 Daniel Eden\r\n */\r\n\r\n.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}40%,43%,70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn)}0%,40%{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg)}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg)}50%,80%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95)}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}0%,40%{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg)}60%,80%{opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center;opacity:1}0%,to{-webkit-transform-origin:center}to{transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;opacity:1}0%,to{-webkit-transform-origin:left bottom}to{transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;opacity:1}0%,to{-webkit-transform-origin:right bottom}to{transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{transform-origin:top left}0%,20%,60%{-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%,to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}"
  },
  {
    "path": "pe-feedback-card/widget/pe-feedback-card.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-close\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <polygon points=\"83.2,12.5 49.7,46.1 16.1,12.5 11.9,16.8 45.4,50.3 11.9,83.9 16.1,88.1 49.7,54.6 83.2,88.1 87.5,83.9 53.9,50.3 87.5,16.8\"></polygon>\n    </g>\n  </symbol>\n</svg>\n\n<div class=\"emoji-rating\" ng-show=\"c.showSurvey\">\n  <svg class=\"svg-icon\" ng-click=\"c.closeSurvey()\">\n    <use xlink:href='#icon-close'></use>\n  </svg>\n  <div class=\"step-one\" ng-click=\"c.stepId = 'two'\" ng-show=\"c.stepId == 'one'\">\n    <p class=\"message\">{{::data.stepone_text}}</p>\n    <i class=\"fa fa-bell-o\" aria-hidden=\"true\"></i>\n  </div>\n  <div class=\"step-two\" ng-show=\"c.stepId == 'two'\">\n    <p class=\"message\">{{::data.steptwo_text}}</p>\n    <i ng-click=\"c.chosenFeedback('good', 'fa-smile-o')\" class=\"fa fa-smile-o\" aria-hidden=\"true\"></i>\n    <i ng-click=\"c.chosenFeedback('ok', 'fa-meh-o')\" class=\"fa fa-meh-o\" aria-hidden=\"true\"></i>\n    <i ng-click=\"c.chosenFeedback('bad', 'fa-frown-o')\" class=\"fa fa-frown-o\" aria-hidden=\"true\"></i>\n  </div>\n  <div class=\"step-three\" ng-show=\"c.stepId == 'three'\">\n    <p class=\"message\">{{::data.stepthree_text}}</p>\n    <div class=\"flex-it\">\n      <i class=\"fa animated rubberBand\" ng-class=\"c.selectedIcon\" aria-hidden=\"true\"></i>\n      <p ng-show=\"c.selectedIcon == 'fa-smile-o'\" class=\"rand\">{{c.goodRandom}}%</p>\n      <p ng-show=\"c.selectedIcon == 'fa-meh-o'\" class=\"rand\">{{c.badRandom}}%</p>\n      <p ng-show=\"c.selectedIcon == 'fa-frown-o'\" class=\"rand\">{{c.badRandom}}%</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-feedback-card/widget/pe-feedback-card.u-client-script.js",
    "content": "function FeedbackCardController($timeout) {\n  var c = this;\n  c.chosenFeedback = chosenFeedback;\n  c.closeSurvey = closeSurvey;\n  c.setRating = setRating;\n\n  c.$onInit = function() {\n    c.badRandom = Math.floor(Math.random() * 6) + 1;\n    c.goodRandom = Math.floor(Math.random() * 21) + 80;\n    c.showSurvey = true;\n    c.stepId = 'one';\n  };\n\n  function chosenFeedback(feedback, icon) {\n    c.stepId = 'three';\n    c.selectedIcon = icon;\n  }\n\n  function closeSurvey() {\n    c.showSurvey = false;\n  }\n\n  function setRating(event) {\n    angular.element(event.target).addClass('selected animated rubberBand');\n    $timeout(function() {\n      angular.element('.emoji-rating').addClass('animated fadeOut');\n    }, 1000);\n  }\n}"
  },
  {
    "path": "pe-feedback-card/widget/pe-feedback-card.u-css.scss",
    "content": "$pe-brand-primary: #337ab7 !default;\n$pe-brand-text-color: #fff !default;\n$pe-brand-text-size-normal: 15px !default;\n\n.emoji-rating {\n  width: 100%;\n  height: 10%;\n  padding: 20px;\n  padding-top: 10px;\n  margin-bottom: 10px;\n  overflow: auto;\n  border-radius: 5px;\n  background-color: $pe-brand-primary;\n  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n  position: relative;\n  p {\n    margin-bottom: 0px;\n  }\n  .flex-it {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    .rand {\n      font-size: 36px;\n      font-weight: 600;\n      color: $pe-brand-text-color;\n    }\n  }\n  .svg-icon {\n    width: 20px;\n    height: 20px;\n    stroke: $pe-brand-text-color;\n    fill: $pe-brand-text-color;\n    position: absolute;\n    top: 5px;\n    right: 5px;\n  }\n  .step-one {\n    text-align: center;\n  }\n  .step-two {\n    text-align: center;\n  }\n  .step-three {\n    text-align: center;\n    .fa {\n      margin: 0px !important;\n    }\n  }\n  .fa {\n    cursor: pointer;\n    font-size: 50px;\n    color: $pe-brand-text-color;\n    padding: 10px;\n  }\n  .fa-smile-o {\n    color: $pe-brand-text-color;\n  }\n  .fa-meh-o {\n    color: $pe-brand-text-color;\n    margin: 0 35px;\n  }\n  .fa-frown-o {\n    color: $pe-brand-text-color;\n  }\n  .selected {\n    font-weight: bold;\n  }\n  .message {\n    font-size: $pe-brand-text-size-normal;\n    font-weight: normal;\n    font-style: normal;\n    font-stretch: normal;\n    line-height: 1.13;\n    padding-top: 6px;\n    padding-bottom: 10px;\n    padding-right: 10px;\n    padding-left: 10px;\n    text-align: center;\n    color: $pe-brand-text-color;\n  }\n}"
  },
  {
    "path": "pe-feedback-card/widget/pe-feedback-card.u-server-script.js",
    "content": "(function() {\r\n  data.stepone_text = input.step_1_message || options.step_1_message;\r\n  data.steptwo_text = input.step_2_message || options.step_2_message;\r\n  data.stepthree_text = input.step_3_message || options.step_3_message;\r\n})();"
  },
  {
    "path": "pe-foexp-401k/Readme.md",
    "content": "# FOEXP 401k Enrollment\n\n## Description\n\nThis widget allows users to register their 401k contribution level. Simply clicking the buttons will register their contribution level.\n\n## Screenshots\n![FOEXP 401k Enrollment](../images/pe-foexp-401k.png \"FOEXP 401k Enrollment\")\n\n## Additional Information/Notes\n\nUpdate set installs the table '401k Enrollments' (u_401k_enrollments) with sample data.\n\n---\n## Installation\n---\nDownload and install update set **[pe-foexp-401k-update-set.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-foexp-401k/pe-foexp-401k-update-set.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided by the update set installed table '401k Enrollments' (u_401k_enrollments)\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$button-bg: #ffffff !default;\n$button: #1aa5be !default;\n```"
  },
  {
    "path": "pe-foexp-401k/pe-foexp-401k-update-set.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-28 16:42:10\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>FOEXP 401k (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-28 16:30:00</release_date>\n<remote_sys_id>16e883874f9eb200ab4450af0310c7c4</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>b454aadf4fd2f200ab4450af0310c7ae</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_401k_enrollments__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"401k Enrollments\" language=\"en\" table=\"u_401k_enrollments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>401k Enrollments</label><language>en</language><name>u_401k_enrollments</name><plural>401k Enrollments</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>059d470b4f9eb200ab4450af0310c757</sys_id><sys_mod_count>0</sys_mod_count><sys_name>401k Enrollments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_401k_enrollments__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 01:03:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>3454aadf4fd2f200ab4450af0310c7b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>401k Enrollments</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_401k_enrollments_u_contribution</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_contribution\" table=\"u_401k_enrollments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Contribution&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;0&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_contribution&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;3&lt;/max_length&gt;&lt;name&gt;u_401k_enrollments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 01:03:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4d3d07c74f9eb200ab4450af0310c7ef&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Contribution&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_401k_enrollments_u_contribution&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 01:03:54&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>3854aadf4fd2f200ab4450af0310c7af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>u_401k_enrollments.u_contribution</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_f89d470b4f9eb200ab4450af0310c727</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>401k Enrollments</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>f89d470b4f9eb200ab4450af0310c727</sys_id><sys_mod_count>1</sys_mod_count><sys_name>401k</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_f89d470b4f9eb200ab4450af0310c727</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 16:25:04</sys_updated_on><title>401k</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>3c54aadf4fd2f200ab4450af0310c7ae</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table/>\n<target_name>401k</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_401k_enrollments_u_user_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_user\" label=\"User\" language=\"en\" table=\"u_401k_enrollments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_user</element><help/><hint/><label>User</label><language>en</language><name>u_401k_enrollments</name><plural>Users</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c99d470b4f9eb200ab4450af0310c75a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_401k_enrollments_u_user_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 01:03:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>7054aadf4fd2f200ab4450af0310c7b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>401k Enrollments.User</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_401k_enrollments_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_401k_enrollments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_401k_enrollments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 01:03:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c59d470b4f9eb200ab4450af0310c750&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_401k_enrollments&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_401k_enrollments_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 01:03:55&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>7454aadf4fd2f200ab4450af0310c7af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>401k Enrollments</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1b2947874f9eb200ab4450af0310c7f5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function EnrollmentCtrl($scope, $http) {\n\tvar c = this;\n\t\n\tc.percentage = c.data.u_contribution;\n\t\n\tc.enroll = function(percentage) {\n\t\tc.percentage = percentage;\n\t\tc.server.get({\n\t\t\taction: 'enroll',\n\t\t\tpercentage: c.percentage\n\t\t}).then(function(response) {\n\n\t\t});\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$button-bg: #ffffff !default;\n$button: #1aa5be !default;\n\n&amp;gt; div {\n  overflow-x: hidden;\n}\n\n.percentage {\n  text-align: center;\n  font-size: 75px;\n}\n\n.subtitle {\n  text-align: center;\n  font-size: 18px;\n  font-weight: 600;\n}\n\n.choices {\n  display: flex;\n  margin-top: 20px;\n  button {\n    flex-grow: 1;\n    flex-basis: 0;\n    margin-left: 15px;\n    &amp;amp;:first-child {\n      margin-left: 0;\n    }\n  }\n}\n\n.signature {\n  margin-top: 20px;\n\n  .signature-main-div {\n    margin: 0 !important;\n  }\n}\n\n.choices button {\n    border-radius: 3px;\n    background-color: $button-bg;\n    border: solid 2px $button;\n    color: $button;\n    padding: 10px 0;\n    font-size: 22px;\n    font-weight: 600;\n  \n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-foexp-401k&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;FOEXP 401k&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n    var user_id = gs.getUserID();\n    var gr;\n\n    if (input.action == 'enroll') {\n        gr = new GlideRecord('u_401k_enrollments');\n        gr.addQuery('u_user', user_id);\n        gr.setLimit(1);\n        gr.query();\n        if (gr.getRowCount() == 0) {\n            gr = new GlideRecord('u_401k_enrollments');\n            gr.u_contribution = input.percentage;\n            gr.u_user = user_id;\n            data.sys_id = gr.insert();\n        } else {\n            gr.next();\n            gr.u_contribution = input.percentage;\n            gr.update();\n            data.sys_id = gr.sys_id.toString();\n        }\n        return;\n    }\n\t\n    gr = new GlideRecord('u_401k_enrollments');\n    gr.addQuery('u_user', user_id);\n    gr.setLimit(1);\n    gr.query();\n\t\n\t if (gr.getRowCount() &gt; 0) {\n\t\t gr.next();\n\t\t data.u_contribution = gr.u_contribution.toString();\n\t }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 00:44:59&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1b2947874f9eb200ab4450af0310c7f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;FOEXP 401k&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1b2947874f9eb200ab4450af0310c7f5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 16:41:57&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n        &lt;div class=\"card\"&gt;\n            &lt;h3 class=\"text-center\"&gt;401 Enrollment&lt;/h3&gt;\n            &lt;div class=\"percentage\"&gt; {{c.percentage || \"0\"}}%&lt;/div&gt;\n            &lt;div class=\"description text-center\"&gt;Pre-Tax&lt;/div&gt;\n            &lt;div class=\"subtitle\"&gt;Pre Tax Contributions&lt;/div&gt;\n            &lt;div class=\"choices\"&gt;\n              &lt;button ng-class=\"{ 'active': c.percentage == 0 }\" ng-click=\"c.enroll(0)\"&gt;0%&lt;/button&gt;\n                &lt;button ng-class=\"{ 'active': c.percentage == 5 }\" ng-click=\"c.enroll(5)\"&gt;5%&lt;/button&gt;\n                &lt;button ng-class=\"{ 'active': c.percentage == 10 }\" ng-click=\"c.enroll(10)\"&gt;10%&lt;/button&gt;\n                &lt;button ng-class=\"{ 'active': c.percentage == 15 }\" ng-click=\"c.enroll(15)\"&gt;15%&lt;/button&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>7854aadf4fd2f200ab4450af0310c7ae</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table/>\n<target_name>FOEXP 401k</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_dc3d830b4f9eb200ab4450af0310c71a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>401k Enrollments</label><live_feed_enabled>false</live_feed_enabled><name>u_401k_enrollments</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>dc3d830b4f9eb200ab4450af0310c71a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>401k Enrollments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_dc3d830b4f9eb200ab4450af0310c71a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 01:03:55</sys_updated_on><update_access>false</update_access><user_role display_value=\"u_401k_enrollments_user\" name=\"u_401k_enrollments_user\">609d430b4f9eb200ab4450af0310c75a</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>b054aadf4fd2f200ab4450af0310c7af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>401k Enrollments</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_401k_enrollments_u_contribution_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_contribution\" label=\"Contribution\" language=\"en\" table=\"u_401k_enrollments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_contribution</element><help/><hint/><label>Contribution</label><language>en</language><name>u_401k_enrollments</name><plural>Contributions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>019d470b4f9eb200ab4450af0310c759</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Contribution</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_401k_enrollments_u_contribution_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 01:03:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>bc54aadf4fd2f200ab4450af0310c7af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>401k Enrollments.Contribution</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_8d9d470b4f9eb200ab4450af0310c76c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_401k_enrollments</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:56</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8d9d470b4f9eb200ab4450af0310c76c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_401k_enrollments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_8d9d470b4f9eb200ab4450af0310c76c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 01:03:56</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>f454aadf4fd2f200ab4450af0310c7b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table/>\n<target_name>u_401k_enrollments</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_401k_enrollments_u_user</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_user\" table=\"u_401k_enrollments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;User&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_user&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_401k_enrollments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_user\"&gt;sys_user&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 01:03:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d25d8fc74f9eb200ab4450af0310c720&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;User&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_401k_enrollments_u_user&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 01:03:54&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>f854aadf4fd2f200ab4450af0310c7af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>u_401k_enrollments.u_user</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_749d470b4f9eb200ab4450af0310c72a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"401k\">f89d470b4f9eb200ab4450af0310c727</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>401k Enrollments</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_401k_enrollments</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 01:03:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>749d470b4f9eb200ab4450af0310c72a</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Enrollments</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_749d470b4f9eb200ab4450af0310c72a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 16:25:16</sys_updated_on><timeline_page/><title>Enrollments</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP 401k (Platform Experience)\">b454aadf4fd2f200ab4450af0310c7ae</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 16:42:10</sys_created_on>\n<sys_id>fc54aadf4fd2f200ab4450af0310c7ae</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 16:42:10</sys_updated_on>\n<table>u_401k_enrollments</table>\n<target_name>Enrollments</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-foexp-401k/widget/pe-foexp-401k.u-body-html-template.html",
    "content": "<div class=\"row\">\n    <div class=\"col-xs-12\">\n        <div class=\"card\">\n            <h3 class=\"text-center\">401 Enrollment</h3>\n            <div class=\"percentage\"> {{c.percentage || \"0\"}}%</div>\n            <div class=\"description text-center\">Pre-Tax</div>\n            <div class=\"subtitle\">Pre Tax Contributions</div>\n            <div class=\"choices\">\n              <button ng-class=\"{ 'active': c.percentage == 0 }\" ng-click=\"c.enroll(0)\">0%</button>\n                <button ng-class=\"{ 'active': c.percentage == 5 }\" ng-click=\"c.enroll(5)\">5%</button>\n                <button ng-class=\"{ 'active': c.percentage == 10 }\" ng-click=\"c.enroll(10)\">10%</button>\n                <button ng-class=\"{ 'active': c.percentage == 15 }\" ng-click=\"c.enroll(15)\">15%</button>\n            </div>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "pe-foexp-401k/widget/pe-foexp-401k.u-client-script.js",
    "content": "function EnrollmentCtrl($scope, $http) {\n\tvar c = this;\n\t\n\tc.percentage = c.data.u_contribution;\n\t\n\tc.enroll = function(percentage) {\n\t\tc.percentage = percentage;\n\t\tc.server.get({\n\t\t\taction: 'enroll',\n\t\t\tpercentage: c.percentage\n\t\t}).then(function(response) {\n\n\t\t});\n\t}\n}"
  },
  {
    "path": "pe-foexp-401k/widget/pe-foexp-401k.u-css.scss",
    "content": "$button-bg: #ffffff;\n\n$button: #1aa5be;\n\n> div {\n  overflow-x: hidden;\n}\n\n.percentage {\n  text-align: center;\n  font-size: 75px;\n}\n\n.subtitle {\n  text-align: center;\n  font-size: 18px;\n  font-weight: 600;\n}\n\n.choices {\n  display: flex;\n  margin-top: 20px;\n  button {\n    flex-grow: 1;\n    flex-basis: 0;\n    margin-left: 15px;\n    &:first-child {\n      margin-left: 0;\n    }\n  }\n}\n\n.signature {\n  margin-top: 20px;\n\n  .signature-main-div {\n    margin: 0 !important;\n  }\n}\n\n.choices button {\n    border-radius: 3px;\n    background-color: $button-bg;\n    border: solid 2px $button;\n    color: $button;\n    padding: 10px 0;\n    font-size: 22px;\n    font-weight: 600;\n  \n}"
  },
  {
    "path": "pe-foexp-401k/widget/pe-foexp-401k.u-server-script.js",
    "content": "(function() {\n    var user_id = gs.getUserID();\n    var gr;\n\n    if (input.action == 'enroll') {\n        gr = new GlideRecord('u_401k_enrollments');\n        gr.addQuery('u_user', user_id);\n        gr.setLimit(1);\n        gr.query();\n        if (gr.getRowCount() == 0) {\n            gr = new GlideRecord('u_401k_enrollments');\n            gr.u_contribution = input.percentage;\n            gr.u_user = user_id;\n            data.sys_id = gr.insert();\n        } else {\n            gr.next();\n            gr.u_contribution = input.percentage;\n            gr.update();\n            data.sys_id = gr.sys_id.toString();\n        }\n        return;\n    }\n\t\n    gr = new GlideRecord('u_401k_enrollments');\n    gr.addQuery('u_user', user_id);\n    gr.setLimit(1);\n    gr.query();\n\t\n\t if (gr.getRowCount() > 0) {\n\t\t gr.next();\n\t\t data.u_contribution = gr.u_contribution.toString();\n\t }\n})();"
  },
  {
    "path": "pe-foexp-debit-details/Readme.md",
    "content": "# FOEXP Debit Details\n\n## Description\n\nThis widget allows a user to submit and modify their debit details.\n\n## Screenshots\n![FOEXP Debit Details](../images/pe-foexp-debit-details.gif \"FOEXP Debit Details\")\n\n## Additional Information/Notes\n\nUpdate set installs the table 'User Debit Details' (u_user_debit_details) with sample data.\n\n---\n## Installation\n---\nDownload and install update set **[pe-foexp-debit-details.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-foexp-debit-details/pe-foexp-debit-details-update-set.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided by the update set installed table 'User Debit Details' (u_user_debit_details)\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-foexp-debit-details/pe-foexp-debit-details-update-set.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-28 19:57:39\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>FOEXP Debit Details (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-28 20:00:00</release_date>\n<remote_sys_id>c80983874f9eb200ab4450af0310c7c6</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>2c11171b4f16320022f40ccf0310c712</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_debit_details_u_user</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_user\" table=\"u_user_debit_details\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;User&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_user&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_user_debit_details&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_user\"&gt;sys_user&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:29:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;576cf25f4fd2320022f40ccf0310c7c1&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;User&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_debit_details_u_user&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 18:29:26&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>2011171b4f16320022f40ccf0310c715</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>u_user_debit_details.u_user</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_debit_details_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_user_debit_details\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_user_debit_details&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:29:27&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e4ecb29f4fd2320022f40ccf0310c71a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_user_debit_details&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_debit_details_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 18:29:27&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>2411171b4f16320022f40ccf0310c714</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_345947874f9eb200ab4450af0310c7e5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DebitDetailsCtrl(spUtil, $window, $timeout) {\n\tvar c = this;\n\t\n\tc.routing = c.data.routing ? c.data.routing : '';\n\tc.account = c.data.account ? c.data.account : '';\n\tc.bank = c.data.bank ? c.data.bank : '';\n\t\n\ttoMain();\n\n\tc.toConfirm = toConfirm;\n\tc.toMain = toMain;\n\tc.submit = submit;\n\n\tfunction submit() {\n\t\tc.server.get({\n\t\t\taction: 'submit',\n\t\t\tbank: c.bank,\n\t\t\trouting: c.routing,\n\t\t\taccount: c.account\n\t\t}).then(function (response) {\n\t\t\tspUtil.addInfoMessage('Details submitted!');\n\t\t\t\n\t\t\t$timeout(function() {\n\t\t\t\t$window.location.reload();\n\t\t\t}, 2000);\n\t\t})\n\t}\n\t\n\tfunction toMain() {\n\t\tc.view = 'pe-foexp-debit-details-main.html';\n\t\tc.showBack = false;\n\t}\n\t\n\tfunction toConfirm() {\n\t\tif (!c.bank || !c.routing || !c.account) {\n\t\t\tspUtil.addErrorMessage(\"You haven't completed the form correctly. Please ensure all fields are completed.\")\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tc.view = 'pe-foexp-debit-details-confirm.html';\n\t\tc.showBack = true;\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$button-bg: #1aa5be !default;\n$label: #2980b9 !default;\n\n\n.check {\n  img {\n    margin: 0 auto;\n  }\n}\n\n.deposit-form {\n  label {\n    font-size: 14px;\n    font-weight: 600;\n    color: $label;\n  }\n\n  .account {\n    margin-top: 20px;\n  }\n\n  input {\n    border: none;\n    border-radius: 0;\n    border-bottom: solid 1px #cecece;\n    background-color: transparent;\n    padding-left: 0;\n    outline: none;\n    outline-color: transparent;\n    box-shadow: inset 0px 0px 0px 0px red;\n  }\n  \n  input:focus {\n    outline:none;\n}\n}\n\n.action {\n  margin: 0 -15px;\n  margin-top: 100px;\n\n  button {\n    border-radius: 0;\n    font-size: 28px;\n    font-weight: 600;\n    padding: 20px 0;\n  }\n}\n\n.bank-label {\n  margin-top: 30px;\n  font-size: 14px;\n  color: #bdc3c7;\n}\n\n.bank-value {\n  font-family: SourceSansPro;\n  font-size: 30px;\n  color: #34495e;\n}\n\n.action {\n  margin-top: 100px;\n}\n\n.action button {\n\tborder: none;\n\twidth: 100%;\n\theight: 80px;\n\tbackground-color: $button-bg;\n\tcolor: white;\n\tfont-size: 28px;\n\tfont-weight: 600;\n\ttext-transform: uppercase;\n\tpadding: 20px 0;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-foexp-debit-details&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;FOEXP Debit Details&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n\tvar gr = new GlideRecord('u_user_debit_details');\n\tvar user_id = gs.getUserID();\n\tgr.addQuery('u_user', user_id);\n\tgr.setLimit(1);\n\tgr.query();\n\t\n\tif (input.action == 'submit') {\n\t\tif (gr.getRowCount() &gt; 0) {\n\t\t\tgr.next();\n\t\t\tgr.u_bank = input.bank;\n\t\t\tgr.u_routing = input.routing;\n\t\t\tgr.u_account = input.account;\n\t\t\tgr.update();\n\t\t\tdata.bank = gr.u_bank.toString();\n\t\t\tdata.routing = gr.u_routing.toString();\n\t\t\tdata.account = gr.u_account.toString();\n\t\t} else {\n\t\t\tgr = new GlideRecord('u_user_debit_details');\n\t\t\tgr.u_user = user_id;\n\t\t\tgr.u_bank = input.bank;\n\t\t\tgr.u_routing = input.routing;\n\t\t\tgr.u_account = input.account;\n\t\t\tgr.insert();\n\t\t\tdata.bank = gr.u_bank.toString();\n\t\t\tdata.routing = gr.u_routing.toString();\n\t\t\tdata.account = gr.u_account.toString();\n\t\t}\n\t} else {\n\t\tif (gr.getRowCount() &gt; 0) {\n\t\t\tgr.next();\n\t\t\tdata.bank = gr.u_bank.toString();\n\t\t\tdata.routing = gr.u_routing.toString();\n\t\t\tdata.account = gr.u_account.toString();\n\t\t}\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 00:45:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;345947874f9eb200ab4450af0310c7e5&lt;/sys_id&gt;&lt;sys_mod_count&gt;46&lt;/sys_mod_count&gt;&lt;sys_name&gt;FOEXP Debit Details&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_345947874f9eb200ab4450af0310c7e5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 19:57:26&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-foexp-details-back\" ng-click=\"c.toMain()\" ng-if=\"c.showBack\"&gt;&lt;i class=\"fa fa-angle-left\" aria-hidden=\"true\"&gt;&lt;/i&gt;&amp;nbsp;Back&lt;/div&gt;\n&lt;div ng-include=\"c.view\"&gt;&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>2811171b4f16320022f40ccf0310c713</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table/>\n<target_name>FOEXP Debit Details</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_debit_details_u_user_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_user\" label=\"User\" language=\"en\" table=\"u_user_debit_details\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_user</element><help/><hint/><label>User</label><language>en</language><name>u_user_debit_details</name><plural>Users</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64ecb29f4fd2320022f40ccf0310c725</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_debit_details_u_user_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:28</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>2c11171b4f16320022f40ccf0310c715</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details.User</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_526cbe5f4fd2320022f40ccf0310c79e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>User Debit Details</label><live_feed_enabled>false</live_feed_enabled><name>u_user_debit_details</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>526cbe5f4fd2320022f40ccf0310c79e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User Debit Details</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_526cbe5f4fd2320022f40ccf0310c79e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:27</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>6011171b4f16320022f40ccf0310c714</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_e297fadb4fd2320022f40ccf0310c73e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-foexp-debit-details-confirm.html&lt;/id&gt;&lt;sp_widget display_value=\"FOEXP Debit Details\"&gt;345947874f9eb200ab4450af0310c7e5&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:06:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e297fadb4fd2320022f40ccf0310c73e&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-foexp-debit-details-confirm.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_e297fadb4fd2320022f40ccf0310c73e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 19:01:57&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;div class=\"bank-label\"&gt;Bank&lt;/div&gt;\n    &lt;div class=\"bank-value\"&gt;{{c.bank}}&lt;/div&gt;\n    &lt;div class=\"bank-label\"&gt;Routing Number&lt;/div&gt;\n    &lt;div class=\"bank-value\"&gt;{{c.routing}}&lt;/div&gt;\n    &lt;div class=\"bank-label\"&gt;Account Number&lt;/div&gt;\n    &lt;div class=\"bank-value\"&gt;{{c.account}}&lt;/div&gt;\n\n    &lt;div class=\"action\"&gt;\n\t\t&lt;button ng-click=\"c.submit()\"&gt;Confirm&lt;/button&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>6411171b4f16320022f40ccf0310c713</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table/>\n<target_name>pe-foexp-debit-details-confirm.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_debit_details_u_routing_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_routing\" label=\"Routing Number\" language=\"en\" table=\"u_user_debit_details\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_routing</element><help/><hint/><label>Routing Number</label><language>en</language><name>u_user_debit_details</name><plural>Routing Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a8ecb29f4fd2320022f40ccf0310c723</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Routing Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_debit_details_u_routing_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:27</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>6811171b4f16320022f40ccf0310c715</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details.Routing Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_debit_details_u_routing</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_routing\" table=\"u_user_debit_details\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Routing Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_routing&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_user_debit_details&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:29:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;278c361f4fd2320022f40ccf0310c77b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Routing Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_debit_details_u_routing&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 18:29:26&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>6c11171b4f16320022f40ccf0310c714</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>u_user_debit_details.u_routing</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_30b7fadb4fd2320022f40ccf0310c742</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-foexp-debit-details-main.html&lt;/id&gt;&lt;sp_widget display_value=\"FOEXP Debit Details\"&gt;345947874f9eb200ab4450af0310c7e5&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:06:49&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;30b7fadb4fd2320022f40ccf0310c742&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-foexp-debit-details-main.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_30b7fadb4fd2320022f40ccf0310c742&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 19:36:21&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;div class=\"row\"&gt;\n        &lt;div class=\"col-xs-12\"&gt;\n\n            &lt;div class=\"check\"&gt;\n                &lt;img class=\"img-responsive\" src=\"pe-foexp-debit-details-image.png\"/&gt;\n            &lt;/div&gt;\n\n            &lt;div class=\"deposit-form\"&gt;\n              &lt;div class=\"account\"&gt;\n                    &lt;label for=\"routing\"&gt;BANK #&lt;/label&gt;\n                    &lt;input type=\"text\" class=\"form-control\" id=\"bank\" placeholder=\"\" ng-model=\"c.bank\"/&gt;\n                &lt;/div&gt;\n                &lt;div class=\"routing\"&gt;\n                    &lt;label for=\"routing\"&gt;ROUTING #&lt;/label&gt;\n                    &lt;input type=\"text\" class=\"form-control\" id=\"routing\" placeholder=\"\" ng-model=\"c.routing\"/&gt;\n                &lt;/div&gt;\n                &lt;div class=\"account\"&gt;\n                    &lt;label for=\"routing\"&gt;ACCOUNT #&lt;/label&gt;\n                    &lt;input type=\"text\" class=\"form-control\" id=\"account\" placeholder=\"\" ng-model=\"c.account\"/&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n\n        &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"action\"&gt;\n        &lt;button class=\"btn btn-block btn-primary\" ng-click=\"c.toConfirm()\"&gt;\n            SUBMIT\n        &lt;/button&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>a011171b4f16320022f40ccf0310c713</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table/>\n<target_name>pe-foexp-debit-details-main.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_38ecb29f4fd2320022f40ccf0310c737</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_user_debit_details</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>38ecb29f4fd2320022f40ccf0310c737</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_debit_details</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_38ecb29f4fd2320022f40ccf0310c737</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:28</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>a011171b4f16320022f40ccf0310c716</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table/>\n<target_name>u_user_debit_details</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_debit_details_u_bank_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_bank\" label=\"Bank\" language=\"en\" table=\"u_user_debit_details\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_bank</element><help/><hint/><label>Bank</label><language>en</language><name>u_user_debit_details</name><plural>Banks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:39:30</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>fb2f72df4fd2320022f40ccf0310c7f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Bank</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_debit_details_u_bank_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:39:30</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>a411171b4f16320022f40ccf0310c715</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details.Bank</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_debit_details_u_bank</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_bank\" table=\"u_user_debit_details\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Bank&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_bank&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_user_debit_details&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:39:30&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ac2ffe9f4fd2320022f40ccf0310c77b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Bank&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_debit_details_u_bank&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 18:39:30&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>a811171b4f16320022f40ccf0310c714</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details.Bank</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_e0ecb29f4fd2320022f40ccf0310c718</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Direct Debit\">6cecb29f4fd2320022f40ccf0310c715</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>User Debit Details</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_user_debit_details</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>e0ecb29f4fd2320022f40ccf0310c718</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User Debit Details</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_e0ecb29f4fd2320022f40ccf0310c718</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:27</sys_updated_on><timeline_page/><title>User Debit Details</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>ac11171b4f16320022f40ccf0310c713</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_debit_details_u_account_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_account\" label=\"Account Number\" language=\"en\" table=\"u_user_debit_details\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_account</element><help/><hint/><label>Account Number</label><language>en</language><name>u_user_debit_details</name><plural>Account Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ececb29f4fd2320022f40ccf0310c721</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Account Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_debit_details_u_account_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:27</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>e011171b4f16320022f40ccf0310c715</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details.Account Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_debit_details_u_account</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_account\" table=\"u_user_debit_details\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Account Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_account&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_user_debit_details&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 18:29:27&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;baacf25f4fd2320022f40ccf0310c7c2&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Account Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_debit_details_u_account&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 18:29:27&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>e411171b4f16320022f40ccf0310c714</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>u_user_debit_details.u_account</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_6cecb29f4fd2320022f40ccf0310c715</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>Direct Debit</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>6cecb29f4fd2320022f40ccf0310c715</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Direct Debit</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_6cecb29f4fd2320022f40ccf0310c715</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:27</sys_updated_on><title>Direct Debit</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>e811171b4f16320022f40ccf0310c713</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table/>\n<target_name>Direct Debit</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_b428fedb4fd2320022f40ccf0310c78a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category>Service Portal</category><format>png</format><height>314</height><image/><name>pe-foexp-debit-details-image.png</name><size_bytes>23321</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b428fedb4fd2320022f40ccf0310c78a</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-foexp-debit-details-image.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_b428fedb4fd2320022f40ccf0310c78a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:09:12</sys_updated_on><thumbnail/><width>600</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><file_name>image</file_name><image_height/><image_width/><size_bytes>23321</size_bytes><size_compressed>20558</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>33383edb4fd2320022f40ccf0310c7b2</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:09:12</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>b428fedb4fd2320022f40ccf0310c78a</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>08483edb4fd2320022f40ccf0310c7b2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>88483edb4fd2320022f40ccf0310c7b2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>0c483edb4fd2320022f40ccf0310c7b2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>3</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>8c483edb4fd2320022f40ccf0310c7b2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>4</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>00483edb4fd2320022f40ccf0310c7b3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>5</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>80483edb4fd2320022f40ccf0310c7b3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>1w77fQPPDVSBfT34AF31t3wNbGE7Ly9v+rZPu1KwWD/sj1CqXQ3ckXVFf90+gWzjHKmbVJLLQKIZONxi1zO6Gjy6nDF0WnjaZYd/ZL2ZFyOsLjiVNNTVPeZRyOxs6ki+at+fWbdqzH6Kp3MjP9Mo1PMJ/cptLWP5QLoWYHKxkm1jXHnAGVHwHIJnY4JTpTCh2kIsi5zApu/rDRadFxC4NOUm759KKzOEW1SCfx4+Hv7MRFdcziUPMNLR2R6ernl1vuA4/KI5KY+x39kEk6JyTZEe+iqBEH4+3xp8k1im/MPQhOn9rzNc1GaJJR9O8IiOliiRkOHkVUtgaIbeu3eOo79kYkXtOc+rU0WvSeePFSRFJ4xylPxO54MBThZgSFYa38hKQqYRizYJu+czj/8=</data><length>404</length><position>6</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>04483edb4fd2320022f40ccf0310c7b3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>7</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>84483edb4fd2320022f40ccf0310c7b3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>vhE3K2Pi7D1Y13Ku5osYbpmzObnyZfXMJvhwEkPvVZeOumR+pYX/NSfvyS6rK7sxnr6eruMSVoSiRnqrqqfjlpgQnc15u3rU8PBg/Ut47MOdmcxbZdASmIKzC+NvZjSO8D2M3R3RdatW0ejQT9wbnGvah7S3RSMJv4NhYbqXc4dbfdF48yNfQJ8cTR0PyLa9x1b5fPLenaQ5+x/9v1PHMWnDvW0ROcOUtxxeh5AgZJczYTdE8AqWLSkr3NrHzYxNDMXM2MTfK8ZmN+BQFiIgAj2AQMmargMP9/+wTRIe8OVB3m6SsG/5bHtUUs/Mg9J+cTVhwoRWD20MhAcwAKbwEB3LA3ZX0o9gclmKG551scmoo7amz2T9gjxuZAVgFLpfIp9h1Okd3Df59v5wZyYY9GyVIFylQPfZXGUSdx352sqZHaxvNemSh63AhQeO2bZ6N1setPf3cDGDsj/5NGRLw6RqhulJ/PrtClZO7AyPTUKDyX8+Zb4J+9q6urpcRmm7LJlkA/iGfUU+L7gE5PUy4VDOjwemOXkPd+3v9rlx9yHGgI2VrJfFMS4Oo+0bWwL0FrVNCOtHeXv5lz/++GNbKTSDxcafjdEP4VaHUZxzcrd3YDG29nryySd3p5/2Q2dDbqvfHHQf2W233abbFwlk7S4zYhCezSsK/sTnqIp+sC2+tdCdj2vjahJjP/yC0k45LeDM1Ft492V7cA9c+zuTX8S1vxVo8mfRfwW33UXd7qOt71kE/jfaJUBg2/iwG0e67dPxGeMnS/pzKHNQJ9K1U2Ulrp7t1LA/qcvTLgFtsR/NhPJ+/fpl5C5ergiIgAjki8D/A0qKLNHuy+fjAAAAAElFTkSuQmCCzP1ksRlbAAA=</data><length>876</length><position>8</position><sys_attachment display_value=\"image\" sys_id=\"33383edb4fd2320022f40ccf0310c7b2\">33383edb4fd2320022f40ccf0310c7b2</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:09:12</sys_created_on><sys_id>08483edb4fd2320022f40ccf0310c7b3</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>ec11171b4f16320022f40ccf0310c712</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table/>\n<target_name>pe-foexp-debit-details-image.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_debit_details__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"User Debit Details\" language=\"en\" table=\"u_user_debit_details\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>User Debit Details</label><language>en</language><name>u_user_debit_details</name><plural>User Debit Details</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 18:29:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e0ecb29f4fd2320022f40ccf0310c720</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User Debit Details</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_debit_details__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 18:29:27</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Debit Details (Platform Experience)\">2c11171b4f16320022f40ccf0310c712</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 19:57:39</sys_created_on>\n<sys_id>ec11171b4f16320022f40ccf0310c715</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 19:57:39</sys_updated_on>\n<table>u_user_debit_details</table>\n<target_name>User Debit Details</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-foexp-debit-details/widget/pe-foexp-devices.u-body-html-template.html",
    "content": "<div class=\"pe-foexp-details-back\" ng-click=\"c.toMain()\" ng-if=\"c.showBack\"><i class=\"fa fa-angle-left\" aria-hidden=\"true\"></i>&nbsp;Back</div>\n<div ng-include=\"c.view\"></div>"
  },
  {
    "path": "pe-foexp-debit-details/widget/pe-foexp-devices.u-client-script.js",
    "content": "function DebitDetailsCtrl(spUtil, $window, $timeout) {\n\tvar c = this;\n\t\n\tc.routing = c.data.routing ? c.data.routing : '';\n\tc.account = c.data.account ? c.data.account : '';\n\tc.bank = c.data.bank ? c.data.bank : '';\n\t\n\ttoMain();\n\n\tc.toConfirm = toConfirm;\n\tc.toMain = toMain;\n\tc.submit = submit;\n\n\tfunction submit() {\n\t\tc.server.get({\n\t\t\taction: 'submit',\n\t\t\tbank: c.bank,\n\t\t\trouting: c.routing,\n\t\t\taccount: c.account\n\t\t}).then(function (response) {\n\t\t\tspUtil.addInfoMessage('Details submitted!');\n\t\t\t\n\t\t\t$timeout(function() {\n\t\t\t\t$window.location.reload();\n\t\t\t}, 2000);\n\t\t})\n\t}\n\t\n\tfunction toMain() {\n\t\tc.view = 'pe-foexp-debit-details-main.html';\n\t\tc.showBack = false;\n\t}\n\t\n\tfunction toConfirm() {\n\t\tif (!c.bank || !c.routing || !c.account) {\n\t\t\tspUtil.addErrorMessage(\"You haven't completed the form correctly. Please ensure all fields are completed.\")\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tc.view = 'pe-foexp-debit-details-confirm.html';\n\t\tc.showBack = true;\n\t}\n}"
  },
  {
    "path": "pe-foexp-debit-details/widget/pe-foexp-devices.u-css.scss",
    "content": ".check {\n  img {\n    margin: 0 auto;\n  }\n}\n\n.deposit-form {\n  label {\n    font-size: 14px;\n    font-weight: 600;\n    color: #2980b9;\n  }\n\n  .account {\n    margin-top: 20px;\n  }\n\n  input {\n    border: none;\n    border-radius: 0;\n    border-bottom: solid 1px #cecece;\n    background-color: transparent;\n    padding-left: 0;\n    outline: none;\n    outline-color: transparent;\n    box-shadow: inset 0px 0px 0px 0px red;\n  }\n  \n  input:focus {\n    outline:none;\n}\n}\n\n.action {\n  margin: 0 -15px;\n  margin-top: 100px;\n\n  button {\n    border-radius: 0;\n    font-size: 28px;\n    font-weight: 600;\n    padding: 20px 0;\n  }\n}\n\n.bank-label {\n  margin-top: 30px;\n  font-size: 14px;\n  color: #bdc3c7;\n}\n\n.bank-value {\n  font-family: SourceSansPro;\n  font-size: 30px;\n  color: #34495e;\n}\n\n.action {\n  margin-top: 100px;\n}\n\n.action button {\n  border: none;\n  width: 100%;\n  height: 80px;\n  background-color: #1aa5be;\n  color: white;\n  font-size: 28px;\n  font-weight: 600;\n  text-transform: uppercase;\n  padding: 20px 0;\n}"
  },
  {
    "path": "pe-foexp-debit-details/widget/pe-foexp-devices.u-server-script.js",
    "content": "(function () {\n\tvar gr = new GlideRecord('u_user_debit_details');\n\tvar user_id = gs.getUserID();\n\tgr.addQuery('u_user', user_id);\n\tgr.setLimit(1);\n\tgr.query();\n\t\n\tif (input.action == 'submit') {\n\t\tif (gr.getRowCount() > 0) {\n\t\t\tgr.next();\n\t\t\tgr.u_bank = input.bank;\n\t\t\tgr.u_routing = input.routing;\n\t\t\tgr.u_account = input.account;\n\t\t\tgr.update();\n\t\t\tdata.bank = gr.u_bank.toString();\n\t\t\tdata.routing = gr.u_routing.toString();\n\t\t\tdata.account = gr.u_account.toString();\n\t\t} else {\n\t\t\tgr = new GlideRecord('u_user_debit_details');\n\t\t\tgr.u_user = user_id;\n\t\t\tgr.u_bank = input.bank;\n\t\t\tgr.u_routing = input.routing;\n\t\t\tgr.u_account = input.account;\n\t\t\tgr.insert();\n\t\t\tdata.bank = gr.u_bank.toString();\n\t\t\tdata.routing = gr.u_routing.toString();\n\t\t\tdata.account = gr.u_account.toString();\n\t\t}\n\t} else {\n\t\tif (gr.getRowCount() > 0) {\n\t\t\tgr.next();\n\t\t\tdata.bank = gr.u_bank.toString();\n\t\t\tdata.routing = gr.u_routing.toString();\n\t\t\tdata.account = gr.u_account.toString();\n\t\t}\n\t}\n})();"
  },
  {
    "path": "pe-foexp-devices/Readme.md",
    "content": "# FOEXP Devices\n\n## Description\n\nThis widget shows a **Circle of Destiny** containing three types of technology devices that must be ordered. You can click through the device to bring up a list of devices in that category, and to order one. Upon successfully ordering a device, a status tick appears on the relevant circle.\n***\n\n## Screenshot\n![Completion Task Widget](../images/pe-foexp-devices.gif \"FOEXP Devices widget\")\n\n## Additional Information/Notes\n\nUses ServiceNow® [Service Catalog](https://docs.servicenow.com/bundle/istanbul-it-service-management/page/product/service-catalog-management/concept/c_ServiceCatalogManagement.html)\n\n---\n## Installation\n---\nDownload and install update set **[pe-foexp-devices.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-foexp-devices/pe-foexp-devices-update-set.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n### SN System Tables\n* sc_cat_item\n* sc_req_item\n---\n## Sample Data and Data Structures\n---\nSample data is provided as variables in the Server Script.\nConfigure the category sys_ids for the links on the home page using the three (3) variables at the top of the Server Script.\n```javascript\nvar laptopsSysId = 'd258b953c611227a0146101fb1be7c31';\nvar phonesSysId = 'd68eb4d637b1300054b6a3549dbe5db2';\nvar tabletsSysId = 'b06546f23731300054b6a3549dbe5dd8';\n```\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$primary-color: #117fc1 !default;\n$icon-color: white !default;\n```"
  },
  {
    "path": "pe-foexp-devices/pe-foexp-devices-update-set.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-27 22:16:29\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>FOEXP Devices (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-27 22:15:00</release_date>\n<remote_sys_id>58ee11f64fd2b20022f40ccf0310c737</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:16:29</sys_created_on>\n<sys_id>50472a874f5eb200ab4450af0310c727</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:16:29</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_ba3069f64fd2b20022f40ccf0310c706</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-foexp-devices-select.html&lt;/id&gt;&lt;sp_widget display_value=\"FOEXP Devices\"&gt;566f11f64fd2b20022f40ccf0310c775&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-26 22:27:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ba3069f64fd2b20022f40ccf0310c706&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-foexp-devices-select.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_ba3069f64fd2b20022f40ccf0310c706&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-27 17:39:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-foexp-devices-select\"&gt;\n  &lt;div class=\"foexp-dev-head\"&gt;Please make one selection from the list below.&lt;/div&gt;\n  &lt;ul&gt;\n    &lt;li ng-repeat=\"item in c.data.items\" ng-click=\"c.setItem(item)\" class=\"row\"&gt;\n      &lt;div class=\"foexp-text col-xs-10\"&gt;\n        &lt;div class=\"foexp-dev-title\"&gt;{{item.title}}&lt;/div&gt;\n      \t&lt;div class=\"foexp-dev-desc\" ng-bind-html=\"item.description\"&gt;&lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"foexp-dev-img col-xs-2\" ng-style=\"{'background-image': 'url(\\'/' + item.picture + '\\')'}\"&gt;\n        &lt;img ng-src=\"/{{item.picture}}\" /&gt;\n      &lt;/div&gt;\n    &lt;/li&gt;\n  &lt;/ul&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Devices (Platform Experience)\">50472a874f5eb200ab4450af0310c727</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:16:29</sys_created_on>\n<sys_id>1047e6c74f5eb200ab4450af0310c7cd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:16:29</sys_updated_on>\n<table/>\n<target_name>pe-foexp-devices-select.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_3020a9f64fd2b20022f40ccf0310c797</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-foexp-devices-main.html&lt;/id&gt;&lt;sp_widget display_value=\"FOEXP Devices\"&gt;566f11f64fd2b20022f40ccf0310c775&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-26 22:27:29&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3020a9f64fd2b20022f40ccf0310c797&lt;/sys_id&gt;&lt;sys_mod_count&gt;14&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-foexp-devices-main.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_3020a9f64fd2b20022f40ccf0310c797&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-27 22:02:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;!--[if lt IE 9]&gt;\n    &lt;div class='circle-container lt-ie9'&gt;&lt;![endif]--&gt;\n    &lt;!--[if gte IE 9]&gt;&lt;!--&gt;\n    &lt;div class='circle-container'&gt;&lt;!--&lt;![endif]--&gt;\n        &lt;div class=\"items\"&gt;\n            &lt;div class='item' ng-class=\"{'success': c.data.complete.laptops}\" ng-click=\"c.setType('laptops')\"&gt;\n                    &lt;div class=\"circle\"&gt;\n                        &lt;i class=\"fa fa-laptop circle-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                        &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"circle-label\"&gt;Laptops&lt;/div&gt;\n            &lt;/div&gt;\n          &lt;div class='item' ng-class=\"{'success': c.data.complete.phones}\" ng-click=\"c.setType('phones')\"&gt;\n                    &lt;div class=\"circle\"&gt;\n                        &lt;i class=\"fa fa-mobile circle-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                        &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"circle-label\"&gt;Phones&lt;/div&gt;\n            &lt;/div&gt;\n          &lt;div class='item' ng-class=\"{'success': c.data.complete.tablets}\" ng-click=\"c.setType('tablets')\"&gt;\n                    &lt;div class=\"circle\"&gt;\n                        &lt;i class=\"fa fa-tablet circle-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                        &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"circle-label\"&gt;Tablets&lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n\n    &lt;/div&gt;\n\n    &lt;div ng-if=\"c.data.type != 'home'\"&gt;\n        &lt;div class='user-container'&gt;\n            &lt;div class=\"user-pic\"&gt;\n                &lt;i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n            &lt;/div&gt;\n            &lt;div class=\"user-info text-center\"&gt;\n                &lt;h2 class=\"title\"&gt;Technology Devices&lt;/h2&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div ng-if=\"c.data.type == 'home'\"&gt;\n        &lt;div class='user-container'&gt;\n            &lt;div class=\"user-pic\"&gt;\n                &lt;img  class=\"profile-pic\" src=\"{{user.photo}}\" alt=\"\"&gt;\n            &lt;/div&gt;\n            &lt;div class=\"user-info text-center\"&gt;\n                &lt;h2 class=\"title\"&gt;{{user.name}}&lt;/h2&gt;\n                &lt;div class=\"subtitle\"&gt;{{user.title}}&lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Devices (Platform Experience)\">50472a874f5eb200ab4450af0310c727</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:16:29</sys_created_on>\n<sys_id>18472a874f5eb200ab4450af0310c727</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:16:29</sys_updated_on>\n<table/>\n<target_name>pe-foexp-devices-main.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_a450e9f64fd2b20022f40ccf0310c76a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-foexp-devices-checkout.html&lt;/id&gt;&lt;sp_widget display_value=\"FOEXP Devices\"&gt;566f11f64fd2b20022f40ccf0310c775&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-26 22:28:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a450e9f64fd2b20022f40ccf0310c76a&lt;/sys_id&gt;&lt;sys_mod_count&gt;17&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-foexp-devices-checkout.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_a450e9f64fd2b20022f40ccf0310c76a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-27 17:58:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;sp-widget widget=\"c.itemWidget\"&gt;&lt;/sp-widget&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Devices (Platform Experience)\">50472a874f5eb200ab4450af0310c727</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:16:29</sys_created_on>\n<sys_id>5c47e6c74f5eb200ab4450af0310c7cc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:16:29</sys_updated_on>\n<table/>\n<target_name>pe-foexp-devices-checkout.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_566f11f64fd2b20022f40ccf0310c775</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DevicesController(spUtil, $scope, $window, $sce) {\n  var c = this;\n  c.type = '';\n  c.item = '';\n  c.itemWidget = '';\n  c.view = 'pe-foexp-devices-main.html';\n\n  c.setView = function (view) {\n    switch (view) {\n    case 'main':\n      c.view = 'pe-foexp-devices-main.html';\n      break;\n    case 'select':\n      c.view = 'pe-foexp-devices-select.html';\n      break;\n    case 'checkout':\n      c.view = 'pe-foexp-devices-checkout.html';\n      break;\n    default:\n      c.view = 'pe-foexp-devices-main.html';\n    }\n  };\n\n  c.setType = function (type) {\n    c.type = type;\n    c.setView('select');\n    c.server.get({\n      action: 'getItems',\n      type: type\n    }).then(function (response) {\n      c.data.items = response.data.items;\n    });\n  };\n\n  c.goBack = function () {\n    if (c.view == 'pe-foexp-devices-checkout.html') {\n      c.setType(c.type);\n    } else {\n      c.setView();\n    }\n  };\n\n  c.setItem = function (item) {\n    c.item = item;\n\n    spUtil.get('widget-sc-cat-item', {\n      sys_id: item.sys_id\n    })\n      .then(function (response) {\n        c.itemWidget = response;\n        c.setView('checkout');\n      });\n  };\n\n  $scope.$on('$sp.sc_cat_item.submitted', function () {\n    $window.location.reload();\n  });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$primary-color: #117fc1 !default;\n$icon-color: white !default;\n\n.pe-foexp-devices-back {\n  margin: 10px 0;\n  font-size: 15px;\n}\n\n.pe-foexp-devices-select {\n  &amp;gt; ul {\n    padding: 0;\n    margin-top: 0;\n    margin-bottom: 10px;\n    list-style: none;\n\n    &amp;gt; li {\n      position: relative;\n      padding: 20px 25px;\n  \t}\n  }\n\n  .foexp-dev-head {\n    color: #34495e;\n    font-size: 18px;\n    margin: 20px 20px 0 20px;\n  }\n\n  .foexp-dev-title {\n    color: #34495e;\n    font-size: 25px;\n  }\n\n  .foexp-dev-img {\n    background-size:contain;\n\t\tbackground-repeat: no-repeat;\n\n    img {\n      visibility: hidden;\n      max-width: 50px;\n      max-height: 50px;\n    }\n  }\n\n  .foexp-dev-desc {\n    text-overflow: ellipsis;\n    overflow: hidden;\n    white-space: nowrap;\n    text-transform: uppercase;\n    color: #95a5a6 !important;\n    font-size: 13px !important;\n    line-height: 13px !important;\n    height: 13px !important;\n    width: 75%;\n  }\n}\n\n\n\n&amp;gt; div {\n  clear: both;\n}\n\n.circle-container {\n  position: relative;\n  width: 24em;\n  height: 24em;\n  padding: 2.8em; /*= 2em * 1.4 (2em = half the width of an img, 1.4 = sqrt(2))*/\n  border-radius: 50%;\n  margin: 0 auto;\n  .circle {\n    position: relative;\n    background-color: $primary-color;\n    border-radius: 50%;\n    width: 100%;\n    height: 100%;\n\n    display: flex;\n    justify-content: center;\n\n    .fa-check-circle {\n      display: none;\n      position: absolute;\n      font-size: 25px;\n      right: -5px;\n      top: -9px;\n      color: #2ecc71;\n    }\n\n  }\n  .circle-label {\n    text-align: center;\n    color: #404040;\n    margin: 0 -30px;\n  }\n}\n\n.activity {\n  display: block;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 60px;\n  height: 60px;\n}\n\n.items {\n  position: absolute;\n  left: 50%;\n  margin-top: 150px;\n\n  .item {\n    display: block;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 60px;\n    height: 60px;\n    margin: -2em;\n  }\n\n  .item:nth-child(1) {\n    -webkit-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -moz-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -ms-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -o-transform: rotate(210deg) translate(10em) rotate(-210210);\n    transform: rotate(210deg) translate(10em) rotate(-210deg);\n  }\n\n  .item:nth-child(2) {\n    -webkit-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -moz-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -ms-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -o-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    transform: rotate(270deg) translate(10em) rotate(-270deg);\n  }\n\n  .item:nth-child(3) {\n    -webkit-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -moz-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -ms-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -o-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    transform: rotate(330deg) translate(10em) rotate(-330deg);\n  }\n\n}\n\n.user-container {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-top: -200px;\n\n  div.user-pic {\n    width: 120px;\n    height: 120px;\n    border-radius: 50%;\n    background-color: $primary-color;\n    overflow: hidden;\n    font-size: 80px;\n    color: $icon-color;\n\n    display: flex;\n    justify-content: center;\n\n    i {\n      line-height: 120px;\n    }\n  }\n\n  .user-info {\n    h2 {\n      font-size: 30px;\n      margin: 0;\n      margin-top: 10px;\n    }\n    .subtitle {\n      font-size: 16px;\n    }\n  }\n\n  .profile-pic {\n    width:120px;\n  }\n}\n\n.success {\n  .fa-check-circle {\n    display: block !important;\n  }\n}\n\n.circle-icon {\n  font-size: 40px;\n  line-height: 60px;\n  color: $icon-color;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-foexp-devices&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;FOEXP Devices&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar laptopsSysId = 'd258b953c611227a0146101fb1be7c31';\n\tvar phonesSysId = 'd68eb4d637b1300054b6a3549dbe5db2';\n\tvar tabletsSysId = 'b06546f23731300054b6a3549dbe5dd8';\n\n\tvar obj = {};\n\tvar regex = /(&lt;([^&gt;]+)&gt;)/ig\n\n\n\n\tif (input.action == 'getItems') {\n\n\t\tvar gr = new GlideRecord('sc_cat_item');\n\n\t\tif (input.type == 'laptops') {\n\t\t\tgr.addQuery('category', laptopsSysId);\n\t\t} else if (input.type == 'phones') {\n\t\t\tgr.addQuery('category', phonesSysId);\n\t\t} else if (input.type == 'tablets') {\n\t\t\tgr.addQuery('category', tabletsSysId);\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\tgr.query();\n\n\t\tvar items = [];\n\t\twhile (gr.next()) {\n\t\t\tobj = {};\n\t\t\tobj.sys_id = gr.sys_id.toString();\n\t\t\tobj.title = gr.getDisplayValue();\n\t\t\tobj.description = gr.description.toString().replace(regex,'');\n\n\t\t\tobj.picture = gr.picture.getDisplayValue();\n\t\t\titems.push(obj)\n\t\t}\n\n\t\tdata.items = items;\n\n\t\treturn;\n\t}\n\n\tvar laptops, phones, tablets = 0;\n\n\tvar count = new GlideAggregate('sc_req_item');\n\tcount.addQuery('cat_item.category', laptopsSysId);\n\tcount.addQuery('requested_for', gs.getUserID());\n\tcount.addAggregate('COUNT');\n\tcount.query();\n\n\tif (count.next())\n\t\tlaptops = count.getAggregate('COUNT');\n\n\tcount = new GlideAggregate('sc_req_item');\n\tcount.addQuery('cat_item.category', phonesSysId);\n\tcount.addQuery('requested_for', gs.getUserID());\n\tcount.addAggregate('COUNT');\n\tcount.query();\n\n\tif (count.next())\n\t\tphones = count.getAggregate('COUNT');\n\n\tcount = new GlideAggregate('sc_req_item');\n\tcount.addQuery('cat_item.category', tabletsSysId);\n\tcount.addQuery('requested_for', gs.getUserID());\n\tcount.addAggregate('COUNT');\n\tcount.query();\n\n\tif (count.next())\n\t\ttablets = count.getAggregate('COUNT');\n\n\tdata.complete = {};\n\tdata.complete.laptops = laptops &gt; 0 ? true : false;\n\tdata.complete.phones = phones &gt; 0 ? true : false;\n\tdata.complete.tablets = tablets &gt; 0 ? true : false;\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-26 22:24:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;566f11f64fd2b20022f40ccf0310c775&lt;/sys_id&gt;&lt;sys_mod_count&gt;175&lt;/sys_mod_count&gt;&lt;sys_name&gt;FOEXP Devices&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_566f11f64fd2b20022f40ccf0310c775&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-27 22:07:15&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-foexp-devices-back\" ng-click=\"c.goBack()\" ng-if=\"c.view != 'pe-foexp-devices-main.html'\"&gt;&lt;i class=\"fa fa-angle-left\" aria-hidden=\"true\"&gt;&lt;/i&gt;&amp;nbsp;Back&lt;/div&gt;\n&lt;div ng-include=\"c.view\"&gt;&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Devices (Platform Experience)\">50472a874f5eb200ab4450af0310c727</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-27 22:16:29</sys_created_on>\n<sys_id>d047e6c74f5eb200ab4450af0310c7cd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-27 22:16:29</sys_updated_on>\n<table/>\n<target_name>FOEXP Devices</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-foexp-devices/widget/pe-foexp-devices.u-body-html-template.html",
    "content": "<div class=\"pe-foexp-devices-back\" ng-click=\"c.goBack()\" ng-if=\"c.view != 'pe-foexp-devices-main.html'\"><i class=\"fa fa-angle-left\" aria-hidden=\"true\"></i>&nbsp;Back</div>\n<div ng-include=\"c.view\"></div>"
  },
  {
    "path": "pe-foexp-devices/widget/pe-foexp-devices.u-client-script.js",
    "content": "function DevicesController(spUtil, $scope, $window, $sce) {\n  var c = this;\n  c.type = '';\n  c.item = '';\n  c.itemWidget = '';\n  c.view = 'pe-foexp-devices-main.html';\n\n  c.setView = function (view) {\n    switch (view) {\n    case 'main':\n      c.view = 'pe-foexp-devices-main.html';\n      break;\n    case 'select':\n      c.view = 'pe-foexp-devices-select.html';\n      break;\n    case 'checkout':\n      c.view = 'pe-foexp-devices-checkout.html';\n      break;\n    default:\n      c.view = 'pe-foexp-devices-main.html';\n    }\n  };\n\n  c.setType = function (type) {\n    c.type = type;\n    c.setView('select');\n    c.server.get({\n      action: 'getItems',\n      type: type\n    }).then(function (response) {\n      c.data.items = response.data.items;\n    });\n  };\n\n  c.goBack = function () {\n    if (c.view == 'pe-foexp-devices-checkout.html') {\n      c.setType(c.type);\n    } else {\n      c.setView();\n    }\n  };\n\n  c.setItem = function (item) {\n    c.item = item;\n\n    spUtil.get('widget-sc-cat-item', {\n      sys_id: item.sys_id\n    })\n      .then(function (response) {\n        c.itemWidget = response;\n        c.setView('checkout');\n      });\n  };\n\n  $scope.$on('$sp.sc_cat_item.submitted', function () {\n    $window.location.reload();\n  });\n}"
  },
  {
    "path": "pe-foexp-devices/widget/pe-foexp-devices.u-css.scss",
    "content": "$primary-color: #117fc1 !default;\n$icon-color: white !default;\n\n.pe-foexp-devices-back {\n  margin: 10px 0;\n  font-size: 15px;\n}\n\n.pe-foexp-devices-select {\n  > ul {\n    padding: 0;\n    margin-top: 0;\n    margin-bottom: 10px;\n    list-style: none;\n    \n    > li {\n      position: relative;\n      padding: 20px 25px;\n  \t}\n  }\n  \n  .foexp-dev-head {\n    color: #34495e;\n    font-size: 18px;\n    margin: 20px 20px 0 20px;\n  }\n  \n  .foexp-dev-title {\n    color: #34495e;\n    font-size: 25px;\n  }\n  \n  .foexp-dev-img {\n    background-size:contain;\n\t\tbackground-repeat: no-repeat;\n    \n    img {\n      visibility: hidden;\n      max-width: 50px;\n      max-height: 50px;\n    }\n  }\n  \n  .foexp-dev-desc {\n    text-overflow: ellipsis;\n    overflow: hidden;\n    white-space: nowrap;\n    text-transform: uppercase;\n    color: #95a5a6 !important;\n    font-size: 13px !important;\n    line-height: 13px !important;\n    height: 13px !important;\n    width: 75%;\n  }\n}\n\n\n\n> div {\n  clear: both;\n}\n\n.circle-container {\n  position: relative;\n  width: 24em;\n  height: 24em;\n  padding: 2.8em; /*= 2em * 1.4 (2em = half the width of an img, 1.4 = sqrt(2))*/\n  border-radius: 50%;\n  margin: 0 auto;\n  .circle {\n    position: relative;\n    background-color: $primary-color;\n    border-radius: 50%;\n    width: 100%;\n    height: 100%;\n\n    display: flex;\n    justify-content: center;\n\n    .fa-check-circle {\n      display: none;\n      position: absolute;\n      font-size: 25px;\n      right: -5px;\n      top: -9px;\n      color: #2ecc71;\n    }\n\n  }\n  .circle-label {\n    text-align: center;\n    color: #404040;\n    margin: 0 -30px;\n  }\n}\n\n.activity {\n  display: block;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 60px;\n  height: 60px;\n}\n\n.items {\n  position: absolute;\n  left: 50%;\n  margin-top: 150px;\n\n  .item {\n    display: block;\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 60px;\n    height: 60px;\n    margin: -2em;\n  }\n\n  .item:nth-child(1) {\n    -webkit-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -moz-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -ms-transform: rotate(210deg) translate(10em) rotate(-210deg);\n    -o-transform: rotate(210deg) translate(10em) rotate(-210210);\n    transform: rotate(210deg) translate(10em) rotate(-210deg);\n  }\n\n  .item:nth-child(2) {\n    -webkit-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -moz-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -ms-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    -o-transform: rotate(270deg) translate(10em) rotate(-270deg);\n    transform: rotate(270deg) translate(10em) rotate(-270deg);\n  }\n\n  .item:nth-child(3) {\n    -webkit-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -moz-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -ms-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    -o-transform: rotate(330deg) translate(10em) rotate(-330deg);\n    transform: rotate(330deg) translate(10em) rotate(-330deg);\n  }\n\n}\n\n.user-container {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-top: -200px;\n\n  div.user-pic {\n    width: 120px;\n    height: 120px;\n    border-radius: 50%;\n    background-color: $primary-color;\n    overflow: hidden;\n    font-size: 80px;\n    color: $icon-color;\n\n    display: flex;\n    justify-content: center;\n    \n    i {\n      line-height: 120px;\n    }\n  }\n\n  .user-info {\n    h2 {\n      font-size: 30px;\n      margin: 0;\n      margin-top: 10px;\n    }\n    .subtitle {\n      font-size: 16px;\n    }\n  }\n\n  .profile-pic {\n    width:120px;\n  }\n}\n\n.success {\n  .fa-check-circle {\n    display: block !important;\n  }\n}\n\n.circle-icon {\n  font-size: 40px;\n  line-height: 60px;\n  color: $icon-color;\n}"
  },
  {
    "path": "pe-foexp-devices/widget/pe-foexp-devices.u-server-script.js",
    "content": "(function() {\n\tvar laptopsSysId = 'd258b953c611227a0146101fb1be7c31';\n\tvar phonesSysId = 'd68eb4d637b1300054b6a3549dbe5db2';\n\tvar tabletsSysId = 'b06546f23731300054b6a3549dbe5dd8';\n\t\n\tvar obj = {};\n\tvar regex = /(<([^>]+)>)/ig\n\t\n\t\n\t\n\tif (input.action == 'getItems') {\n\t\t\n\t\tvar gr = new GlideRecord('sc_cat_item');\n\t\t\n\t\tif (input.type == 'laptops') {\n\t\t\tgr.addQuery('category', laptopsSysId);\n\t\t} else if (input.type == 'phones') {\n\t\t\tgr.addQuery('category', phonesSysId);\n\t\t} else if (input.type == 'tablets') {\n\t\t\tgr.addQuery('category', tabletsSysId);\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tgr.query();\n\t\t\n\t\tvar items = [];\n\t\twhile (gr.next()) {\n\t\t\tobj = {};\n\t\t\tobj.sys_id = gr.sys_id.toString();\n\t\t\tobj.title = gr.getDisplayValue();\n\t\t\tobj.description = gr.description.toString().replace(regex,'');\n\t\t\t\n\t\t\tobj.picture = gr.picture.getDisplayValue();\n\t\t\titems.push(obj)\n\t\t}\n\n\t\tdata.items = items;\n\t\t\n\t\treturn;\n\t}\n\t\n\tvar laptops, phones, tablets = 0;\n\t\n\tvar count = new GlideAggregate('sc_req_item');\n\tcount.addQuery('cat_item.category', laptopsSysId);\n\tcount.addQuery('requested_for', gs.getUserID());\n\tcount.addAggregate('COUNT');\n\tcount.query();\n\t\n\tif (count.next())\n\t\tlaptops = count.getAggregate('COUNT');\n\t\n\tcount = new GlideAggregate('sc_req_item');\n\tcount.addQuery('cat_item.category', phonesSysId);\n\tcount.addQuery('requested_for', gs.getUserID());\n\tcount.addAggregate('COUNT');\n\tcount.query();\n\t\n\tif (count.next())\n\t\tphones = count.getAggregate('COUNT');\n\t\n\tcount = new GlideAggregate('sc_req_item');\n\tcount.addQuery('cat_item.category', tabletsSysId);\n\tcount.addQuery('requested_for', gs.getUserID());\n\tcount.addAggregate('COUNT');\n\tcount.query();\n\t\n\tif (count.next())\n\t\ttablets = count.getAggregate('COUNT');\n\t\n\tdata.complete = {};\n\tdata.complete.laptops = laptops > 0 ? true : false;\n\tdata.complete.phones = phones > 0 ? true : false;\n\tdata.complete.tablets = tablets > 0 ? true : false;\n\n})();"
  },
  {
    "path": "pe-foexp-photoupload/Readme.md",
    "content": "# FOEXP Photo Upload\n\n## Description\n\nThis widget allows a user to upload a new photo.\n\n## Screenshot\n![FOEXP Photo Upload](../images/pe-foexp-photoupload.gif \"FOEXP Photo Upload\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-foexp-photoupload-update-set.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-foexp-photoupload/pe-foexp-photoupload-update-set.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-foexp-photoupload/pe-foexp-photoupload-update-set.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-28 17:14:04\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>FOEXP Photo Upload (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-28 17:30:00</release_date>\n<remote_sys_id>29c803874f9eb200ab4450af0310c706</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>bb9b6e174f16f200ab4450af0310c704</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_72886a534f16f200ab4450af0310c79b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-ng-file-upload</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 17:00:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>72886a534f16f200ab4450af0310c79b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-ng-file-upload</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_72886a534f16f200ab4450af0310c79b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 17:00:58</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Photo Upload (Platform Experience)\">bb9b6e174f16f200ab4450af0310c704</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>3f9b6e174f16f200ab4450af0310c707</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<table/>\n<target_name>pe-ng-file-upload</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_3eb8aa534f16f200ab4450af0310c7ac</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"pe-ng-file-upload\">72886a534f16f200ab4450af0310c79b</sp_dependency><sp_js_include display_value=\"pe-ng-file-upload\">eda8aa534f16f200ab4450af0310c7c2</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 17:01:26</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3eb8aa534f16f200ab4450af0310c7ac</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-ng-file-upload.pe-ng-file-upload</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3eb8aa534f16f200ab4450af0310c7ac</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 17:01:26</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Photo Upload (Platform Experience)\">bb9b6e174f16f200ab4450af0310c704</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>739b6e174f16f200ab4450af0310c707</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<table/>\n<target_name>pe-ng-file-upload.pe-ng-file-upload</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_6ba8ea534f16f200ab4450af0310c700</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-ng-file-upload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*! 12.2.13 */\n!function(){function a(a,b){window.XMLHttpRequest.prototype[a]=b(window.XMLHttpRequest.prototype[a])}function b(a,b,c){try{Object.defineProperty(a,b,{get:c})}catch(d){}}if(window.FileAPI||(window.FileAPI={}),!window.XMLHttpRequest)throw\"AJAX is not supported. XMLHttpRequest is not defined.\";if(FileAPI.shouldLoad=!window.FormData||FileAPI.forceLoad,FileAPI.shouldLoad){var c=function(a){if(!a.__listeners){a.upload||(a.upload={}),a.__listeners=[];var b=a.upload.addEventListener;a.upload.addEventListener=function(c,d){a.__listeners[c]=d,b&amp;&amp;b.apply(this,arguments)}}};a(\"open\",function(a){return function(b,d,e){c(this),this.__url=d;try{a.apply(this,[b,d,e])}catch(f){f.message.indexOf(\"Access is denied\")&gt;-1&amp;&amp;(this.__origError=f,a.apply(this,[b,\"_fix_for_ie_crossdomain__\",e]))}}}),a(\"getResponseHeader\",function(a){return function(b){return this.__fileApiXHR&amp;&amp;this.__fileApiXHR.getResponseHeader?this.__fileApiXHR.getResponseHeader(b):null==a?null:a.apply(this,[b])}}),a(\"getAllResponseHeaders\",function(a){return function(){return this.__fileApiXHR&amp;&amp;this.__fileApiXHR.getAllResponseHeaders?this.__fileApiXHR.getAllResponseHeaders():null==a?null:a.apply(this)}}),a(\"abort\",function(a){return function(){return this.__fileApiXHR&amp;&amp;this.__fileApiXHR.abort?this.__fileApiXHR.abort():null==a?null:a.apply(this)}}),a(\"setRequestHeader\",function(a){return function(b,d){if(\"__setXHR_\"===b){c(this);var e=d(this);e instanceof Function&amp;&amp;e(this)}else this.__requestHeaders=this.__requestHeaders||{},this.__requestHeaders[b]=d,a.apply(this,arguments)}}),a(\"send\",function(a){return function(){var c=this;if(arguments[0]&amp;&amp;arguments[0].__isFileAPIShim){var d=arguments[0],e={url:c.__url,jsonp:!1,cache:!0,complete:function(a,d){a&amp;&amp;angular.isString(a)&amp;&amp;-1!==a.indexOf(\"#2174\")&amp;&amp;(a=null),c.__completed=!0,!a&amp;&amp;c.__listeners.load&amp;&amp;c.__listeners.load({type:\"load\",loaded:c.__loaded,total:c.__total,target:c,lengthComputable:!0}),!a&amp;&amp;c.__listeners.loadend&amp;&amp;c.__listeners.loadend({type:\"loadend\",loaded:c.__loaded,total:c.__total,target:c,lengthComputable:!0}),\"abort\"===a&amp;&amp;c.__listeners.abort&amp;&amp;c.__listeners.abort({type:\"abort\",loaded:c.__loaded,total:c.__total,target:c,lengthComputable:!0}),void 0!==d.status&amp;&amp;b(c,\"status\",function(){return 0===d.status&amp;&amp;a&amp;&amp;\"abort\"!==a?500:d.status}),void 0!==d.statusText&amp;&amp;b(c,\"statusText\",function(){return d.statusText}),b(c,\"readyState\",function(){return 4}),void 0!==d.response&amp;&amp;b(c,\"response\",function(){return d.response});var e=d.responseText||(a&amp;&amp;0===d.status&amp;&amp;\"abort\"!==a?a:void 0);b(c,\"responseText\",function(){return e}),b(c,\"response\",function(){return e}),a&amp;&amp;b(c,\"err\",function(){return a}),c.__fileApiXHR=d,c.onreadystatechange&amp;&amp;c.onreadystatechange(),c.onload&amp;&amp;c.onload()},progress:function(a){if(a.target=c,c.__listeners.progress&amp;&amp;c.__listeners.progress(a),c.__total=a.total,c.__loaded=a.loaded,a.total===a.loaded){var b=this;setTimeout(function(){c.__completed||(c.getAllResponseHeaders=function(){},b.complete(null,{status:204,statusText:\"No Content\"}))},FileAPI.noContentTimeout||1e4)}},headers:c.__requestHeaders};e.data={},e.files={};for(var f=0;f&lt;d.data.length;f++){var g=d.data[f];null!=g.val&amp;&amp;null!=g.val.name&amp;&amp;null!=g.val.size&amp;&amp;null!=g.val.type?e.files[g.key]=g.val:e.data[g.key]=g.val}setTimeout(function(){if(!FileAPI.hasFlash)throw'Adode Flash Player need to be installed. To check ahead use \"FileAPI.hasFlash\"';c.__fileApiXHR=FileAPI.upload(e)},1)}else{if(this.__origError)throw this.__origError;a.apply(c,arguments)}}}),window.XMLHttpRequest.__isFileAPIShim=!0,window.FormData=FormData=function(){return{append:function(a,b,c){b.__isFileAPIBlobShim&amp;&amp;(b=b.data[0]),this.data.push({key:a,val:b,name:c})},data:[],__isFileAPIShim:!0}},window.Blob=Blob=function(a){return{data:a,__isFileAPIBlobShim:!0}}}}(),function(){function a(a){return\"input\"===a[0].tagName.toLowerCase()&amp;&amp;a.attr(\"type\")&amp;&amp;\"file\"===a.attr(\"type\").toLowerCase()}function b(){try{var a=new ActiveXObject(\"ShockwaveFlash.ShockwaveFlash\");if(a)return!0}catch(b){if(void 0!==navigator.mimeTypes[\"application/x-shockwave-flash\"])return!0}return!1}function c(a){var b=0,c=0;if(window.jQuery)return jQuery(a).offset();if(a.offsetParent)do b+=a.offsetLeft-a.scrollLeft,c+=a.offsetTop-a.scrollTop,a=a.offsetParent;while(a);return{left:b,top:c}}if(FileAPI.shouldLoad){if(FileAPI.hasFlash=b(),FileAPI.forceLoad&amp;&amp;(FileAPI.html5=!1),!FileAPI.upload){var d,e,f,g,h,i=document.createElement(\"script\"),j=document.getElementsByTagName(\"script\");if(window.FileAPI.jsUrl)d=window.FileAPI.jsUrl;else if(window.FileAPI.jsPath)e=window.FileAPI.jsPath;else for(f=0;f&lt;j.length;f++)if(h=j[f].src,g=h.search(/\\/ng\\-file\\-upload[\\-a-zA-z0-9\\.]*\\.js/),g&gt;-1){e=h.substring(0,g+1);break}null==FileAPI.staticPath&amp;&amp;(FileAPI.staticPath=e),i.setAttribute(\"src\",d||e+\"FileAPI.min.js\"),document.getElementsByTagName(\"head\")[0].appendChild(i)}FileAPI.ngfFixIE=function(d,e,f){if(!b())throw'Adode Flash Player need to be installed. To check ahead use \"FileAPI.hasFlash\"';var g=function(){var b=e.parent();d.attr(\"disabled\")?b&amp;&amp;b.removeClass(\"js-fileapi-wrapper\"):(e.attr(\"__ngf_flash_\")||(e.unbind(\"change\"),e.unbind(\"click\"),e.bind(\"change\",function(a){h.apply(this,[a]),f.apply(this,[a])}),e.attr(\"__ngf_flash_\",\"true\")),b.addClass(\"js-fileapi-wrapper\"),a(d)||(b.css(\"position\",\"absolute\").css(\"top\",c(d[0]).top+\"px\").css(\"left\",c(d[0]).left+\"px\").css(\"width\",d[0].offsetWidth+\"px\").css(\"height\",d[0].offsetHeight+\"px\").css(\"filter\",\"alpha(opacity=0)\").css(\"display\",d.css(\"display\")).css(\"overflow\",\"hidden\").css(\"z-index\",\"900000\").css(\"visibility\",\"visible\"),e.css(\"width\",d[0].offsetWidth+\"px\").css(\"height\",d[0].offsetHeight+\"px\").css(\"position\",\"absolute\").css(\"top\",\"0px\").css(\"left\",\"0px\")))};d.bind(\"mouseenter\",g);var h=function(a){for(var b=FileAPI.getFiles(a),c=0;c&lt;b.length;c++)void 0===b[c].size&amp;&amp;(b[c].size=0),void 0===b[c].name&amp;&amp;(b[c].name=\"file\"),void 0===b[c].type&amp;&amp;(b[c].type=\"undefined\");a.target||(a.target={}),a.target.files=b,a.target.files!==b&amp;&amp;(a.__files_=b),(a.__files_||a.target.files).item=function(b){return(a.__files_||a.target.files)[b]||null}}},FileAPI.disableFileInput=function(a,b){b?a.removeClass(\"js-fileapi-wrapper\"):a.addClass(\"js-fileapi-wrapper\")}}}(),window.FileReader||(window.FileReader=function(){var a=this,b=!1;this.listeners={},this.addEventListener=function(b,c){a.listeners[b]=a.listeners[b]||[],a.listeners[b].push(c)},this.removeEventListener=function(b,c){a.listeners[b]&amp;&amp;a.listeners[b].splice(a.listeners[b].indexOf(c),1)},this.dispatchEvent=function(b){var c=a.listeners[b.type];if(c)for(var d=0;d&lt;c.length;d++)c[d].call(a,b)},this.onabort=this.onerror=this.onload=this.onloadstart=this.onloadend=this.onprogress=null;var c=function(b,c){var d={type:b,target:a,loaded:c.loaded,total:c.total,error:c.error};return null!=c.result&amp;&amp;(d.target.result=c.result),d},d=function(d){b||(b=!0,a.onloadstart&amp;&amp;a.onloadstart(c(\"loadstart\",d)));var e;\"load\"===d.type?(a.onloadend&amp;&amp;a.onloadend(c(\"loadend\",d)),e=c(\"load\",d),a.onload&amp;&amp;a.onload(e),a.dispatchEvent(e)):\"progress\"===d.type?(e=c(\"progress\",d),a.onprogress&amp;&amp;a.onprogress(e),a.dispatchEvent(e)):(e=c(\"error\",d),a.onerror&amp;&amp;a.onerror(e),a.dispatchEvent(e))};this.readAsDataURL=function(a){FileAPI.readAsDataURL(a,d)},this.readAsText=function(a){FileAPI.readAsText(a,d)}}),!window.XMLHttpRequest||window.FileAPI&amp;&amp;FileAPI.shouldLoad||(window.XMLHttpRequest.prototype.setRequestHeader=function(a){return function(b,c){if(\"__setXHR_\"===b){var d=c(this);d instanceof Function&amp;&amp;d(this)}else a.apply(this,arguments)}}(window.XMLHttpRequest.prototype.setRequestHeader));var ngFileUpload=angular.module(\"ngFileUpload\",[]);ngFileUpload.version=\"12.2.13\",ngFileUpload.service(\"UploadBase\",[\"$http\",\"$q\",\"$timeout\",function(a,b,c){function d(d){function e(a){j.notify&amp;&amp;j.notify(a),k.progressFunc&amp;&amp;c(function(){k.progressFunc(a)})}function h(a){return null!=d._start&amp;&amp;g?{loaded:a.loaded+d._start,total:d._file&amp;&amp;d._file.size||a.total,type:a.type,config:d,lengthComputable:!0,target:a.target}:a}function i(){a(d).then(function(a){if(g&amp;&amp;d._chunkSize&amp;&amp;!d._finished&amp;&amp;d._file){var b=d._file&amp;&amp;d._file.size||0;e({loaded:Math.min(d._end,b),total:b,config:d,type:\"progress\"}),f.upload(d,!0)}else d._finished&amp;&amp;delete d._finished,j.resolve(a)},function(a){j.reject(a)},function(a){j.notify(a)})}d.method=d.method||\"POST\",d.headers=d.headers||{};var j=d._deferred=d._deferred||b.defer(),k=j.promise;return d.disableProgress||(d.headers.__setXHR_=function(){return function(a){a&amp;&amp;a.upload&amp;&amp;a.upload.addEventListener&amp;&amp;(d.__XHR=a,d.xhrFn&amp;&amp;d.xhrFn(a),a.upload.addEventListener(\"progress\",function(a){a.config=d,e(h(a))},!1),a.upload.addEventListener(\"load\",function(a){a.lengthComputable&amp;&amp;(a.config=d,e(h(a)))},!1))}}),g?d._chunkSize&amp;&amp;d._end&amp;&amp;!d._finished?(d._start=d._end,d._end+=d._chunkSize,i()):d.resumeSizeUrl?a.get(d.resumeSizeUrl).then(function(a){d._start=d.resumeSizeResponseReader?d.resumeSizeResponseReader(a.data):parseInt((null==a.data.size?a.data:a.data.size).toString()),d._chunkSize&amp;&amp;(d._end=d._start+d._chunkSize),i()},function(a){throw a}):d.resumeSize?d.resumeSize().then(function(a){d._start=a,d._chunkSize&amp;&amp;(d._end=d._start+d._chunkSize),i()},function(a){throw a}):(d._chunkSize&amp;&amp;(d._start=0,d._end=d._start+d._chunkSize),i()):i(),k.success=function(a){return k.then(function(b){a(b.data,b.status,b.headers,d)}),k},k.error=function(a){return k.then(null,function(b){a(b.data,b.status,b.headers,d)}),k},k.progress=function(a){return k.progressFunc=a,k.then(null,null,function(b){a(b)}),k},k.abort=k.pause=function(){return d.__XHR&amp;&amp;c(function(){d.__XHR.abort()}),k},k.xhr=function(a){return d.xhrFn=function(b){return function(){b&amp;&amp;b.apply(k,arguments),a.apply(k,arguments)}}(d.xhrFn),k},f.promisesCount++,k[\"finally\"]&amp;&amp;k[\"finally\"]instanceof Function&amp;&amp;k[\"finally\"](function(){f.promisesCount--}),k}function e(a){var b={};for(var c in a)a.hasOwnProperty(c)&amp;&amp;(b[c]=a[c]);return b}var f=this;f.promisesCount=0,this.isResumeSupported=function(){return window.Blob&amp;&amp;window.Blob.prototype.slice};var g=this.isResumeSupported();this.isUploadInProgress=function(){return f.promisesCount&gt;0},this.rename=function(a,b){return a.ngfName=b,a},this.jsonBlob=function(a){null==a||angular.isString(a)||(a=JSON.stringify(a));var b=new window.Blob([a],{type:\"application/json\"});return b._ngfBlob=!0,b},this.json=function(a){return angular.toJson(a)},this.isFile=function(a){return null!=a&amp;&amp;(a instanceof window.Blob||a.flashId&amp;&amp;a.name&amp;&amp;a.size)},this.upload=function(a,b){function c(b,c){if(b._ngfBlob)return b;if(a._file=a._file||b,null!=a._start&amp;&amp;g){a._end&amp;&amp;a._end&gt;=b.size&amp;&amp;(a._finished=!0,a._end=b.size);var d=b.slice(a._start,a._end||b.size);return d.name=b.name,d.ngfName=b.ngfName,a._chunkSize&amp;&amp;(c.append(\"_chunkSize\",a._chunkSize),c.append(\"_currentChunkSize\",a._end-a._start),c.append(\"_chunkNumber\",Math.floor(a._start/a._chunkSize)),c.append(\"_totalSize\",a._file.size)),d}return b}function h(b,d,e){if(void 0!==d)if(angular.isDate(d)&amp;&amp;(d=d.toISOString()),angular.isString(d))b.append(e,d);else if(f.isFile(d)){var g=c(d,b),i=e.split(\",\");i[1]&amp;&amp;(g.ngfName=i[1].replace(/^\\s+|\\s+$/g,\"\"),e=i[0]),a._fileKey=a._fileKey||e,b.append(e,g,g.ngfName||g.name)}else if(angular.isObject(d)){if(d.$$ngfCircularDetection)throw\"ngFileUpload: Circular reference in config.data. Make sure specified data for Upload.upload() has no circular reference: \"+e;d.$$ngfCircularDetection=!0;try{for(var j in d)if(d.hasOwnProperty(j)&amp;&amp;\"$$ngfCircularDetection\"!==j){var k=null==a.objectKey?\"[i]\":a.objectKey;d.length&amp;&amp;parseInt(j)&gt;-1&amp;&amp;(k=null==a.arrayKey?k:a.arrayKey),h(b,d[j],e+k.replace(/[ik]/g,j))}}finally{delete d.$$ngfCircularDetection}}else b.append(e,d)}function i(){a._chunkSize=f.translateScalars(a.resumeChunkSize),a._chunkSize=a._chunkSize?parseInt(a._chunkSize.toString()):null,a.headers=a.headers||{},a.headers[\"Content-Type\"]=void 0,a.transformRequest=a.transformRequest?angular.isArray(a.transformRequest)?a.transformRequest:[a.transformRequest]:[],a.transformRequest.push(function(b){var c,d=new window.FormData;b=b||a.fields||{},a.file&amp;&amp;(b.file=a.file);for(c in b)if(b.hasOwnProperty(c)){var e=b[c];a.formDataAppender?a.formDataAppender(d,c,e):h(d,e,c)}return d})}return b||(a=e(a)),a._isDigested||(a._isDigested=!0,i()),d(a)},this.http=function(b){return b=e(b),b.transformRequest=b.transformRequest||function(b){return window.ArrayBuffer&amp;&amp;b instanceof window.ArrayBuffer||b instanceof window.Blob?b:a.defaults.transformRequest[0].apply(this,arguments)},b._chunkSize=f.translateScalars(b.resumeChunkSize),b._chunkSize=b._chunkSize?parseInt(b._chunkSize.toString()):null,d(b)},this.translateScalars=function(a){if(angular.isString(a)){if(a.search(/kb/i)===a.length-2)return parseFloat(1024*a.substring(0,a.length-2));if(a.search(/mb/i)===a.length-2)return parseFloat(1048576*a.substring(0,a.length-2));if(a.search(/gb/i)===a.length-2)return parseFloat(1073741824*a.substring(0,a.length-2));if(a.search(/b/i)===a.length-1)return parseFloat(a.substring(0,a.length-1));if(a.search(/s/i)===a.length-1)return parseFloat(a.substring(0,a.length-1));if(a.search(/m/i)===a.length-1)return parseFloat(60*a.substring(0,a.length-1));if(a.search(/h/i)===a.length-1)return parseFloat(3600*a.substring(0,a.length-1))}return a},this.urlToBlob=function(c){var d=b.defer();return a({url:c,method:\"get\",responseType:\"arraybuffer\"}).then(function(a){var b=new Uint8Array(a.data),e=a.headers(\"content-type\")||\"image/WebP\",f=new window.Blob([b],{type:e}),g=c.match(/.*\\/(.+?)(\\?.*)?$/);g.length&gt;1&amp;&amp;(f.name=g[1]),d.resolve(f)},function(a){d.reject(a)}),d.promise},this.setDefaults=function(a){this.defaults=a||{}},this.defaults={},this.version=ngFileUpload.version}]),ngFileUpload.service(\"Upload\",[\"$parse\",\"$timeout\",\"$compile\",\"$q\",\"UploadExif\",function(a,b,c,d,e){function f(a,b,c){var e=[i.emptyPromise()];return angular.forEach(a,function(d,f){0===d.type.indexOf(\"image/jpeg\")&amp;&amp;i.attrGetter(\"ngfFixOrientation\",b,c,{$file:d})&amp;&amp;e.push(i.happyPromise(i.applyExifRotation(d),d).then(function(b){a.splice(f,1,b)}))}),d.all(e)}function g(a,b,c,e){var f=i.attrGetter(\"ngfResize\",b,c);if(!f||!i.isResizeSupported()||!a.length)return i.emptyPromise();if(f instanceof Function){var g=d.defer();return f(a).then(function(d){h(d,a,b,c,e).then(function(a){g.resolve(a)},function(a){g.reject(a)})},function(a){g.reject(a)})}return h(f,a,b,c,e)}function h(a,b,c,e,f){function g(d,g){if(0===d.type.indexOf(\"image\")){if(a.pattern&amp;&amp;!i.validatePattern(d,a.pattern))return;a.resizeIf=function(a,b){return i.attrGetter(\"ngfResizeIf\",c,e,{$width:a,$height:b,$file:d})};var j=i.resize(d,a);h.push(j),j.then(function(a){b.splice(g,1,a)},function(a){d.$error=\"resize\",(d.$errorMessages=d.$errorMessages||{}).resize=!0,d.$errorParam=(a?(a.message?a.message:a)+\": \":\"\")+(d&amp;&amp;d.name),f.$ngfValidations.push({name:\"resize\",valid:!1}),i.applyModelValidation(f,b)})}}for(var h=[i.emptyPromise()],j=0;j&lt;b.length;j++)g(b[j],j);return d.all(h)}var i=e;return i.getAttrWithDefaults=function(a,b){if(null!=a[b])return a[b];var c=i.defaults[b];return null==c?c:angular.isString(c)?c:JSON.stringify(c)},i.attrGetter=function(b,c,d,e){var f=this.getAttrWithDefaults(c,b);if(!d)return f;try{return e?a(f)(d,e):a(f)(d)}catch(g){if(b.search(/min|max|pattern/i))return f;throw g}},i.shouldUpdateOn=function(a,b,c){var d=i.attrGetter(\"ngfModelOptions\",b,c);return d&amp;&amp;d.updateOn?d.updateOn.split(\" \").indexOf(a)&gt;-1:!0},i.emptyPromise=function(){var a=d.defer(),c=arguments;return b(function(){a.resolve.apply(a,c)}),a.promise},i.rejectPromise=function(){var a=d.defer(),c=arguments;return b(function(){a.reject.apply(a,c)}),a.promise},i.happyPromise=function(a,c){var e=d.defer();return a.then(function(a){e.resolve(a)},function(a){b(function(){throw a}),e.resolve(c)}),e.promise},i.updateModel=function(c,d,e,h,j,k,l){function m(f,g,j,l,m){d.$$ngfPrevValidFiles=f,d.$$ngfPrevInvalidFiles=g;var n=f&amp;&amp;f.length?f[0]:null,o=g&amp;&amp;g.length?g[0]:null;c&amp;&amp;(i.applyModelValidation(c,f),c.$setViewValue(m?n:f)),h&amp;&amp;a(h)(e,{$files:f,$file:n,$newFiles:j,$duplicateFiles:l,$invalidFiles:g,$invalidFile:o,$event:k});var p=i.attrGetter(\"ngfModelInvalid\",d);p&amp;&amp;b(function(){a(p).assign(e,m?o:g)}),b(function(){})}function n(){function a(a,b){return a.name===b.name&amp;&amp;(a.$ngfOrigSize||a.size)===(b.$ngfOrigSize||b.size)&amp;&amp;a.type===b.type}function b(b){var c;for(c=0;c&lt;r.length;c++)if(a(b,r[c]))return!0;for(c=0;c&lt;s.length;c++)if(a(b,s[c]))return!0;return!1}if(j){q=[],t=[];for(var c=0;c&lt;j.length;c++)b(j[c])?t.push(j[c]):q.push(j[c])}}function o(a){return angular.isArray(a)?a:[a]}function p(){function a(){b(function(){m(w?r.concat(v):v,w?s.concat(u):u,j,t,x)},z&amp;&amp;z.debounce?z.debounce.change||z.debounce:0)}var f=y?q:v;g(f,d,e,c).then(function(){y?i.validate(q,w?r.length:0,c,d,e).then(function(b){v=b.validsFiles,u=b.invalidsFiles,a()}):a()},function(){for(var b=0;b&lt;f.length;b++){var c=f[b];if(\"resize\"===c.$error){var d=v.indexOf(c);d&gt;-1&amp;&amp;(v.splice(d,1),u.push(c)),a()}}})}var q,r,s,t=[],u=[],v=[];r=d.$$ngfPrevValidFiles||[],s=d.$$ngfPrevInvalidFiles||[],c&amp;&amp;c.$modelValue&amp;&amp;(r=o(c.$modelValue));var w=i.attrGetter(\"ngfKeep\",d,e);q=(j||[]).slice(0),(\"distinct\"===w||i.attrGetter(\"ngfKeepDistinct\",d,e)===!0)&amp;&amp;n(d,e);var x=!w&amp;&amp;!i.attrGetter(\"ngfMultiple\",d,e)&amp;&amp;!i.attrGetter(\"multiple\",d);if(!w||q.length){i.attrGetter(\"ngfBeforeModelChange\",d,e,{$files:j,$file:j&amp;&amp;j.length?j[0]:null,$newFiles:q,$duplicateFiles:t,$event:k});var y=i.attrGetter(\"ngfValidateAfterResize\",d,e),z=i.attrGetter(\"ngfModelOptions\",d,e);i.validate(q,w?r.length:0,c,d,e).then(function(a){l?m(q,[],j,t,x):(z&amp;&amp;z.allowInvalid||y?v=q:(v=a.validFiles,u=a.invalidFiles),i.attrGetter(\"ngfFixOrientation\",d,e)&amp;&amp;i.isExifSupported()?f(v,d,e).then(function(){p()}):p())})}},i}]),ngFileUpload.directive(\"ngfSelect\",[\"$parse\",\"$timeout\",\"$compile\",\"Upload\",function(a,b,c,d){function e(a){var b=a.match(/Android[^\\d]*(\\d+)\\.(\\d+)/);if(b&amp;&amp;b.length&gt;2){var c=d.defaults.androidFixMinorVersion||4;return parseInt(b[1])&lt;4||parseInt(b[1])===c&amp;&amp;parseInt(b[2])&lt;c}return-1===a.indexOf(\"Chrome\")&amp;&amp;/.*Windows.*Safari.*/.test(a)}function f(a,b,c,d,f,h,i,j){function k(){return\"input\"===b[0].tagName.toLowerCase()&amp;&amp;c.type&amp;&amp;\"file\"===c.type.toLowerCase()}function l(){return t(\"ngfChange\")||t(\"ngfSelect\")}function m(b){if(j.shouldUpdateOn(\"change\",c,a)){var e=b.__files_||b.target&amp;&amp;b.target.files,f=[];if(!e)return;for(var g=0;g&lt;e.length;g++)f.push(e[g]);j.updateModel(d,c,a,l(),f.length?f:null,b)}}function n(a,d){function e(b){a.attr(\"id\",\"ngf-\"+b),d.attr(\"id\",\"ngf-label-\"+b)}for(var f=0;f&lt;b[0].attributes.length;f++){var g=b[0].attributes[f];\"type\"!==g.name&amp;&amp;\"class\"!==g.name&amp;&amp;\"style\"!==g.name&amp;&amp;(\"id\"===g.name?(e(g.value),u.push(c.$observe(\"id\",e))):a.attr(g.name,g.value||\"required\"!==g.name&amp;&amp;\"multiple\"!==g.name?g.value:g.name))}}function o(){if(k())return b;var a=angular.element('&lt;input type=\"file\"&gt;'),c=angular.element(\"&lt;label&gt;upload&lt;/label&gt;\");return c.css(\"visibility\",\"hidden\").css(\"position\",\"absolute\").css(\"overflow\",\"hidden\").css(\"width\",\"0px\").css(\"height\",\"0px\").css(\"border\",\"none\").css(\"margin\",\"0px\").css(\"padding\",\"0px\").attr(\"tabindex\",\"-1\"),n(a,c),g.push({el:b,ref:c}),document.body.appendChild(c.append(a)[0]),a}function p(c){if(b.attr(\"disabled\"))return!1;if(!t(\"ngfSelectDisabled\",a)){var d=q(c);if(null!=d)return d;r(c);try{k()||document.body.contains(x[0])||(g.push({el:b,ref:x.parent()}),document.body.appendChild(x.parent()[0]),x.bind(\"change\",m))}catch(f){}return e(navigator.userAgent)?setTimeout(function(){x[0].click()},0):x[0].click(),!1}}function q(a){var b=a.changedTouches||a.originalEvent&amp;&amp;a.originalEvent.changedTouches;if(b){if(\"touchstart\"===a.type)return w=b[0].clientX,v=b[0].clientY,!0;if(\"touchend\"===a.type){var c=b[0].clientX,d=b[0].clientY;if(Math.abs(c-w)&gt;20||Math.abs(d-v)&gt;20)return a.stopPropagation(),a.preventDefault(),!1}return!0}}function r(b){j.shouldUpdateOn(\"click\",c,a)&amp;&amp;x.val()&amp;&amp;(x.val(null),j.updateModel(d,c,a,l(),null,b,!0))}function s(a){if(x&amp;&amp;!x.attr(\"__ngf_ie10_Fix_\")){if(!x[0].parentNode)return void(x=null);a.preventDefault(),a.stopPropagation(),x.unbind(\"click\");var b=x.clone();return x.replaceWith(b),x=b,x.attr(\"__ngf_ie10_Fix_\",\"true\"),x.bind(\"change\",m),x.bind(\"click\",s),x[0].click(),!1}x.removeAttr(\"__ngf_ie10_Fix_\")}var t=function(a,b){return j.attrGetter(a,c,b)};j.registerModelChangeValidator(d,c,a);var u=[];t(\"ngfMultiple\")&amp;&amp;u.push(a.$watch(t(\"ngfMultiple\"),function(){x.attr(\"multiple\",t(\"ngfMultiple\",a))})),t(\"ngfCapture\")&amp;&amp;u.push(a.$watch(t(\"ngfCapture\"),function(){x.attr(\"capture\",t(\"ngfCapture\",a))})),t(\"ngfAccept\")&amp;&amp;u.push(a.$watch(t(\"ngfAccept\"),function(){x.attr(\"accept\",t(\"ngfAccept\",a))})),u.push(c.$observe(\"accept\",function(){x.attr(\"accept\",t(\"accept\"))}));var v=0,w=0,x=b;k()||(x=o()),x.bind(\"change\",m),k()?b.bind(\"click\",r):b.bind(\"click touchstart touchend\",p),-1!==navigator.appVersion.indexOf(\"MSIE 10\")&amp;&amp;x.bind(\"click\",s),d&amp;&amp;d.$formatters.push(function(a){return(null==a||0===a.length)&amp;&amp;x.val()&amp;&amp;x.val(null),a}),a.$on(\"$destroy\",function(){k()||x.parent().remove(),angular.forEach(u,function(a){a()})}),h(function(){for(var a=0;a&lt;g.length;a++){var b=g[a];document.body.contains(b.el[0])||(g.splice(a,1),b.ref.remove())}}),window.FileAPI&amp;&amp;window.FileAPI.ngfFixIE&amp;&amp;window.FileAPI.ngfFixIE(b,x,m)}var g=[];return{restrict:\"AEC\",require:\"?ngModel\",link:function(e,g,h,i){f(e,g,h,i,a,b,c,d)}}}]),function(){function a(a){return\"img\"===a.tagName.toLowerCase()?\"image\":\"audio\"===a.tagName.toLowerCase()?\"audio\":\"video\"===a.tagName.toLowerCase()?\"video\":/./}function b(b,c,d,e,f,g,h,i){function j(a){var g=b.attrGetter(\"ngfNoObjectUrl\",f,d);b.dataUrl(a,g)[\"finally\"](function(){c(function(){var b=(g?a.$ngfDataUrl:a.$ngfBlobUrl)||a.$ngfDataUrl;i?e.css(\"background-image\",\"url('\"+(b||\"\")+\"')\"):e.attr(\"src\",b),b?e.removeClass(\"ng-hide\"):e.addClass(\"ng-hide\")})})}c(function(){var c=d.$watch(f[g],function(c){var k=h;if(\"ngfThumbnail\"===g&amp;&amp;(k||(k={width:e[0].naturalWidth||e[0].clientWidth,height:e[0].naturalHeight||e[0].clientHeight}),0===k.width&amp;&amp;window.getComputedStyle)){var l=getComputedStyle(e[0]);l.width&amp;&amp;l.width.indexOf(\"px\")&gt;-1&amp;&amp;l.height&amp;&amp;l.height.indexOf(\"px\")&gt;-1&amp;&amp;(k={width:parseInt(l.width.slice(0,-2)),height:parseInt(l.height.slice(0,-2))})}return angular.isString(c)?(e.removeClass(\"ng-hide\"),i?e.css(\"background-image\",\"url('\"+c+\"')\"):e.attr(\"src\",c)):void(!c||!c.type||0!==c.type.search(a(e[0]))||i&amp;&amp;0!==c.type.indexOf(\"image\")?e.addClass(\"ng-hide\"):k&amp;&amp;b.isResizeSupported()?(k.resizeIf=function(a,e){return b.attrGetter(\"ngfResizeIf\",f,d,{$width:a,$height:e,$file:c})},b.resize(c,k).then(function(a){j(a)},function(a){throw a})):j(c))});d.$on(\"$destroy\",function(){c()})})}ngFileUpload.service(\"UploadDataUrl\",[\"UploadBase\",\"$timeout\",\"$q\",function(a,b,c){var d=a;return d.base64DataUrl=function(a){if(angular.isArray(a)){var b=c.defer(),e=0;return angular.forEach(a,function(c){d.dataUrl(c,!0)[\"finally\"](function(){if(e++,e===a.length){var c=[];angular.forEach(a,function(a){c.push(a.$ngfDataUrl)}),b.resolve(c,a)}})}),b.promise}return d.dataUrl(a,!0)},d.dataUrl=function(a,e){if(!a)return d.emptyPromise(a,a);if(e&amp;&amp;null!=a.$ngfDataUrl||!e&amp;&amp;null!=a.$ngfBlobUrl)return d.emptyPromise(e?a.$ngfDataUrl:a.$ngfBlobUrl,a);var f=e?a.$$ngfDataUrlPromise:a.$$ngfBlobUrlPromise;if(f)return f;var g=c.defer();return b(function(){if(window.FileReader&amp;&amp;a&amp;&amp;(!window.FileAPI||-1===navigator.userAgent.indexOf(\"MSIE 8\")||a.size&lt;2e4)&amp;&amp;(!window.FileAPI||-1===navigator.userAgent.indexOf(\"MSIE 9\")||a.size&lt;4e6)){var c=window.URL||window.webkitURL;if(c&amp;&amp;c.createObjectURL&amp;&amp;!e){var f;try{f=c.createObjectURL(a)}catch(h){return void b(function(){a.$ngfBlobUrl=\"\",g.reject()})}b(function(){if(a.$ngfBlobUrl=f,f){g.resolve(f,a),d.blobUrls=d.blobUrls||[],d.blobUrlsTotalSize=d.blobUrlsTotalSize||0,d.blobUrls.push({url:f,size:a.size}),d.blobUrlsTotalSize+=a.size||0;for(var b=d.defaults.blobUrlsMaxMemory||268435456,e=d.defaults.blobUrlsMaxQueueSize||200;(d.blobUrlsTotalSize&gt;b||d.blobUrls.length&gt;e)&amp;&amp;d.blobUrls.length&gt;1;){var h=d.blobUrls.splice(0,1)[0];c.revokeObjectURL(h.url),d.blobUrlsTotalSize-=h.size}}})}else{var i=new FileReader;i.onload=function(c){b(function(){a.$ngfDataUrl=c.target.result,g.resolve(c.target.result,a),b(function(){delete a.$ngfDataUrl},1e3)})},i.onerror=function(){b(function(){a.$ngfDataUrl=\"\",g.reject()})},i.readAsDataURL(a)}}else b(function(){a[e?\"$ngfDataUrl\":\"$ngfBlobUrl\"]=\"\",g.reject()})}),f=e?a.$$ngfDataUrlPromise=g.promise:a.$$ngfBlobUrlPromise=g.promise,f[\"finally\"](function(){delete a[e?\"$$ngfDataUrlPromise\":\"$$ngfBlobUrlPromise\"]}),f},d}]),ngFileUpload.directive(\"ngfSrc\",[\"Upload\",\"$timeout\",function(a,c){return{restrict:\"AE\",link:function(d,e,f){b(a,c,d,e,f,\"ngfSrc\",a.attrGetter(\"ngfResize\",f,d),!1)}}}]),ngFileUpload.directive(\"ngfBackground\",[\"Upload\",\"$timeout\",function(a,c){return{restrict:\"AE\",link:function(d,e,f){b(a,c,d,e,f,\"ngfBackground\",a.attrGetter(\"ngfResize\",f,d),!0)}}}]),ngFileUpload.directive(\"ngfThumbnail\",[\"Upload\",\"$timeout\",function(a,c){return{restrict:\"AE\",link:function(d,e,f){var g=a.attrGetter(\"ngfSize\",f,d);b(a,c,d,e,f,\"ngfThumbnail\",g,a.attrGetter(\"ngfAsBackground\",f,d))}}}]),ngFileUpload.config([\"$compileProvider\",function(a){a.imgSrcSanitizationWhitelist&amp;&amp;a.imgSrcSanitizationWhitelist(/^\\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/),a.aHrefSanitizationWhitelist&amp;&amp;a.aHrefSanitizationWhitelist(/^\\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/)}]),ngFileUpload.filter(\"ngfDataUrl\",[\"UploadDataUrl\",\"$sce\",function(a,b){return function(c,d,e){if(angular.isString(c))return b.trustAsResourceUrl(c);var f=c&amp;&amp;((d?c.$ngfDataUrl:c.$ngfBlobUrl)||c.$ngfDataUrl);return c&amp;&amp;!f?(!c.$ngfDataUrlFilterInProgress&amp;&amp;angular.isObject(c)&amp;&amp;(c.$ngfDataUrlFilterInProgress=!0,a.dataUrl(c,d)),\"\"):(c&amp;&amp;delete c.$ngfDataUrlFilterInProgress,(c&amp;&amp;f?e?b.trustAsResourceUrl(f):f:c)||\"\")}}])}(),ngFileUpload.service(\"UploadValidate\",[\"UploadDataUrl\",\"$q\",\"$timeout\",function(a,b,c){function d(a){var b=\"\",c=[];if(a.length&gt;2&amp;&amp;\"/\"===a[0]&amp;&amp;\"/\"===a[a.length-1])b=a.substring(1,a.length-1);else{var e=a.split(\",\");if(e.length&gt;1)for(var f=0;f&lt;e.length;f++){var g=d(e[f]);g.regexp?(b+=\"(\"+g.regexp+\")\",f&lt;e.length-1&amp;&amp;(b+=\"|\")):c=c.concat(g.excludes)}else 0===a.indexOf(\"!\")?c.push(\"^((?!\"+d(a.substring(1)).regexp+\").)*$\"):(0===a.indexOf(\".\")&amp;&amp;(a=\"*\"+a),b=\"^\"+a.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!&lt;&gt;|:\\\\-]\",\"g\"),\"\\\\$&amp;\")+\"$\",b=b.replace(/\\\\\\*/g,\".*\").replace(/\\\\\\?/g,\".\"))}return{regexp:b,excludes:c}}function e(a,b){null==b||a.$dirty||(a.$setDirty?a.$setDirty():a.$dirty=!0)}var f=a;return f.validatePattern=function(a,b){if(!b)return!0;var c=d(b),e=!0;if(c.regexp&amp;&amp;c.regexp.length){var f=new RegExp(c.regexp,\"i\");e=null!=a.type&amp;&amp;f.test(a.type)||null!=a.name&amp;&amp;f.test(a.name)}for(var g=c.excludes.length;g--;){var h=new RegExp(c.excludes[g],\"i\");e=e&amp;&amp;(null==a.type||h.test(a.type))&amp;&amp;(null==a.name||h.test(a.name))}return e},f.ratioToFloat=function(a){var b=a.toString(),c=b.search(/[x:]/i);return b=c&gt;-1?parseFloat(b.substring(0,c))/parseFloat(b.substring(c+1)):parseFloat(b)},f.registerModelChangeValidator=function(a,b,c){a&amp;&amp;a.$formatters.push(function(d){if(a.$dirty){var e=d;d&amp;&amp;!angular.isArray(d)&amp;&amp;(e=[d]),f.validate(e,0,a,b,c).then(function(){f.applyModelValidation(a,e)})}return d})},f.applyModelValidation=function(a,b){e(a,b),angular.forEach(a.$ngfValidations,function(b){a.$setValidity(b.name,b.valid)})},f.getValidationAttr=function(a,b,c,d,e){var g=\"ngf\"+c[0].toUpperCase()+c.substr(1),h=f.attrGetter(g,a,b,{$file:e});if(null==h&amp;&amp;(h=f.attrGetter(\"ngfValidate\",a,b,{$file:e}))){var i=(d||c).split(\".\");h=h[i[0]],i.length&gt;1&amp;&amp;(h=h&amp;&amp;h[i[1]])}return h},f.validate=function(a,c,d,e,g){function h(b,c,h){if(a){for(var i=a.length,j=null;i--;){var n=a[i];if(n){var o=f.getValidationAttr(e,g,b,c,n);null!=o&amp;&amp;(h(n,o,i)||(-1===k.indexOf(b)?(n.$error=b,(n.$errorMessages=n.$errorMessages||{})[b]=!0,n.$errorParam=o,-1===m.indexOf(n)&amp;&amp;m.push(n),l||a.splice(i,1),j=!1):a.splice(i,1)))}}null!==j&amp;&amp;d.$ngfValidations.push({name:b,valid:j})}}function i(c,h,i,n,o){function p(b,d,e){function f(f){if(f())if(-1===k.indexOf(c)){if(d.$error=c,(d.$errorMessages=d.$errorMessages||{})[c]=!0,d.$errorParam=e,-1===m.indexOf(d)&amp;&amp;m.push(d),!l){var g=a.indexOf(d);g&gt;-1&amp;&amp;a.splice(g,1)}b.resolve(!1)}else{var h=a.indexOf(d);h&gt;-1&amp;&amp;a.splice(h,1),b.resolve(!0)}else b.resolve(!0)}null!=e?n(d,e).then(function(a){f(function(){return!o(a,e)})},function(){f(function(){return j(\"ngfValidateForce\",{$file:d})})}):b.resolve(!0)}var q=[f.emptyPromise(!0)];a&amp;&amp;(a=void 0===a.length?[a]:a,angular.forEach(a,function(a){var d=b.defer();return q.push(d.promise),!i||null!=a.type&amp;&amp;0===a.type.search(i)?void(\"dimensions\"===c&amp;&amp;null!=f.attrGetter(\"ngfDimensions\",e)?f.imageDimensions(a).then(function(b){p(d,a,j(\"ngfDimensions\",{$file:a,$width:b.width,$height:b.height}))},function(){d.resolve(!1)}):\"duration\"===c&amp;&amp;null!=f.attrGetter(\"ngfDuration\",e)?f.mediaDuration(a).then(function(b){p(d,a,j(\"ngfDuration\",{$file:a,$duration:b}))},function(){d.resolve(!1)}):p(d,a,f.getValidationAttr(e,g,c,h,a))):void d.resolve(!0)}));var r=b.defer();return b.all(q).then(function(a){for(var b=!0,e=0;e&lt;a.length;e++)if(!a[e]){b=!1;break}d.$ngfValidations.push({name:c,valid:b}),r.resolve(b)}),r.promise}d=d||{},d.$ngfValidations=d.$ngfValidations||[],angular.forEach(d.$ngfValidations,function(a){a.valid=!0});var j=function(a,b){return f.attrGetter(a,e,g,b)},k=(f.attrGetter(\"ngfIgnoreInvalid\",e,g)||\"\").split(\" \"),l=f.attrGetter(\"ngfRunAllValidations\",e,g);if(null==a||0===a.length)return f.emptyPromise({validFiles:a,invalidFiles:[]});a=void 0===a.length?[a]:a.slice(0);var m=[];h(\"pattern\",null,f.validatePattern),h(\"minSize\",\"size.min\",function(a,b){return a.size+.1&gt;=f.translateScalars(b)}),h(\"maxSize\",\"size.max\",function(a,b){return a.size-.1&lt;=f.translateScalars(b)});var n=0;if(h(\"maxTotalSize\",null,function(b,c){return n+=b.size,n&gt;f.translateScalars(c)?(a.splice(0,a.length),!1):!0}),h(\"validateFn\",null,function(a,b){return b===!0||null===b||\"\"===b}),!a.length)return f.emptyPromise({validFiles:[],invalidFiles:m});var o=b.defer(),p=[];return p.push(i(\"maxHeight\",\"height.max\",/image/,this.imageDimensions,function(a,b){return a.height&lt;=b})),p.push(i(\"minHeight\",\"height.min\",/image/,this.imageDimensions,function(a,b){return a.height&gt;=b})),p.push(i(\"maxWidth\",\"width.max\",/image/,this.imageDimensions,function(a,b){return a.width&lt;=b})),p.push(i(\"minWidth\",\"width.min\",/image/,this.imageDimensions,function(a,b){return a.width&gt;=b})),p.push(i(\"dimensions\",null,/image/,function(a,b){return f.emptyPromise(b)},function(a){return a})),p.push(i(\"ratio\",null,/image/,this.imageDimensions,function(a,b){for(var c=b.toString().split(\",\"),d=!1,e=0;e&lt;c.length;e++)Math.abs(a.width/a.height-f.ratioToFloat(c[e]))&lt;.01&amp;&amp;(d=!0);return d})),p.push(i(\"maxRatio\",\"ratio.max\",/image/,this.imageDimensions,function(a,b){return a.width/a.height-f.ratioToFloat(b)&lt;1e-4})),p.push(i(\"minRatio\",\"ratio.min\",/image/,this.imageDimensions,function(a,b){return a.width/a.height-f.ratioToFloat(b)&gt;-1e-4})),p.push(i(\"maxDuration\",\"duration.max\",/audio|video/,this.mediaDuration,function(a,b){return a&lt;=f.translateScalars(b)})),p.push(i(\"minDuration\",\"duration.min\",/audio|video/,this.mediaDuration,function(a,b){return a&gt;=f.translateScalars(b)})),p.push(i(\"duration\",null,/audio|video/,function(a,b){return f.emptyPromise(b)},function(a){return a})),p.push(i(\"validateAsyncFn\",null,null,function(a,b){return b},function(a){return a===!0||null===a||\"\"===a})),b.all(p).then(function(){if(l)for(var b=0;b&lt;a.length;b++){var d=a[b];d.$error&amp;&amp;a.splice(b--,1)}l=!1,h(\"maxFiles\",null,function(a,b,d){return b&gt;c+d}),o.resolve({validFiles:a,invalidFiles:m})}),o.promise},f.imageDimensions=function(a){if(a.$ngfWidth&amp;&amp;a.$ngfHeight){var d=b.defer();return c(function(){d.resolve({width:a.$ngfWidth,height:a.$ngfHeight})}),d.promise}if(a.$ngfDimensionPromise)return a.$ngfDimensionPromise;var e=b.defer();return c(function(){return 0!==a.type.indexOf(\"image\")?void e.reject(\"not image\"):void f.dataUrl(a).then(function(b){function d(){var b=h[0].naturalWidth||h[0].clientWidth,c=h[0].naturalHeight||h[0].clientHeight;h.remove(),a.$ngfWidth=b,a.$ngfHeight=c,e.resolve({width:b,height:c})}function f(){\nh.remove(),e.reject(\"load error\")}function g(){c(function(){h[0].parentNode&amp;&amp;(h[0].clientWidth?d():i++&gt;10?f():g())},1e3)}var h=angular.element(\"&lt;img&gt;\").attr(\"src\",b).css(\"visibility\",\"hidden\").css(\"position\",\"fixed\").css(\"max-width\",\"none !important\").css(\"max-height\",\"none !important\");h.on(\"load\",d),h.on(\"error\",f);var i=0;g(),angular.element(document.getElementsByTagName(\"body\")[0]).append(h)},function(){e.reject(\"load error\")})}),a.$ngfDimensionPromise=e.promise,a.$ngfDimensionPromise[\"finally\"](function(){delete a.$ngfDimensionPromise}),a.$ngfDimensionPromise},f.mediaDuration=function(a){if(a.$ngfDuration){var d=b.defer();return c(function(){d.resolve(a.$ngfDuration)}),d.promise}if(a.$ngfDurationPromise)return a.$ngfDurationPromise;var e=b.defer();return c(function(){return 0!==a.type.indexOf(\"audio\")&amp;&amp;0!==a.type.indexOf(\"video\")?void e.reject(\"not media\"):void f.dataUrl(a).then(function(b){function d(){var b=h[0].duration;a.$ngfDuration=b,h.remove(),e.resolve(b)}function f(){h.remove(),e.reject(\"load error\")}function g(){c(function(){h[0].parentNode&amp;&amp;(h[0].duration?d():i&gt;10?f():g())},1e3)}var h=angular.element(0===a.type.indexOf(\"audio\")?\"&lt;audio&gt;\":\"&lt;video&gt;\").attr(\"src\",b).css(\"visibility\",\"none\").css(\"position\",\"fixed\");h.on(\"loadedmetadata\",d),h.on(\"error\",f);var i=0;g(),angular.element(document.body).append(h)},function(){e.reject(\"load error\")})}),a.$ngfDurationPromise=e.promise,a.$ngfDurationPromise[\"finally\"](function(){delete a.$ngfDurationPromise}),a.$ngfDurationPromise},f}]),ngFileUpload.service(\"UploadResize\",[\"UploadValidate\",\"$q\",function(a,b){var c=a,d=function(a,b,c,d,e){var f=e?Math.max(c/a,d/b):Math.min(c/a,d/b);return{width:a*f,height:b*f,marginX:a*f-c,marginY:b*f-d}},e=function(a,e,f,g,h,i,j,k){var l=b.defer(),m=document.createElement(\"canvas\"),n=document.createElement(\"img\");return n.setAttribute(\"style\",\"visibility:hidden;position:fixed;z-index:-100000\"),document.body.appendChild(n),n.onload=function(){var a=n.width,b=n.height;if(n.parentNode.removeChild(n),null!=k&amp;&amp;k(a,b)===!1)return void l.reject(\"resizeIf\");try{if(i){var o=c.ratioToFloat(i),p=a/b;o&gt;p?(e=a,f=e/o):(f=b,e=f*o)}e||(e=a),f||(f=b);var q=d(a,b,e,f,j);m.width=Math.min(q.width,e),m.height=Math.min(q.height,f);var r=m.getContext(\"2d\");r.drawImage(n,Math.min(0,-q.marginX/2),Math.min(0,-q.marginY/2),q.width,q.height),l.resolve(m.toDataURL(h||\"image/WebP\",g||.934))}catch(s){l.reject(s)}},n.onerror=function(){n.parentNode.removeChild(n),l.reject()},n.src=a,l.promise};return c.dataUrltoBlob=function(a,b,c){for(var d=a.split(\",\"),e=d[0].match(/:(.*?);/)[1],f=atob(d[1]),g=f.length,h=new Uint8Array(g);g--;)h[g]=f.charCodeAt(g);var i=new window.Blob([h],{type:e});return i.name=b,i.$ngfOrigSize=c,i},c.isResizeSupported=function(){var a=document.createElement(\"canvas\");return window.atob&amp;&amp;a.getContext&amp;&amp;a.getContext(\"2d\")&amp;&amp;window.Blob},c.isResizeSupported()&amp;&amp;Object.defineProperty(window.Blob.prototype,\"name\",{get:function(){return this.$ngfName},set:function(a){this.$ngfName=a},configurable:!0}),c.resize=function(a,d){if(0!==a.type.indexOf(\"image\"))return c.emptyPromise(a);var f=b.defer();return c.dataUrl(a,!0).then(function(b){e(b,d.width,d.height,d.quality,d.type||a.type,d.ratio,d.centerCrop,d.resizeIf).then(function(e){if(\"image/jpeg\"===a.type&amp;&amp;d.restoreExif!==!1)try{e=c.restoreExif(b,e)}catch(g){setTimeout(function(){throw g},1)}try{var h=c.dataUrltoBlob(e,a.name,a.size);f.resolve(h)}catch(g){f.reject(g)}},function(b){\"resizeIf\"===b&amp;&amp;f.resolve(a),f.reject(b)})},function(a){f.reject(a)}),f.promise},c}]),function(){function a(a,c,d,e,f,g,h,i,j,k){function l(){return c.attr(\"disabled\")||s(\"ngfDropDisabled\",a)}function m(b,c,d){if(b){var e;try{e=b&amp;&amp;b.getData&amp;&amp;b.getData(\"text/html\")}catch(f){}q(b.items,b.files,s(\"ngfAllowDir\",a)!==!1,s(\"multiple\")||s(\"ngfMultiple\",a)).then(function(a){a.length?n(a,c):o(d,e).then(function(a){n(a,c)})})}}function n(b,c){i.updateModel(e,d,a,s(\"ngfChange\")||s(\"ngfDrop\"),b,c)}function o(b,c){if(!i.shouldUpdateOn(b,d,a)||\"string\"!=typeof c)return i.rejectPromise([]);var e=[];c.replace(/&lt;(img src|img [^&gt;]* src) *=\\\"([^\\\"]*)\\\"/gi,function(a,b,c){e.push(c)});var f=[],g=[];if(e.length){angular.forEach(e,function(a){f.push(i.urlToBlob(a).then(function(a){g.push(a)}))});var h=k.defer();return k.all(f).then(function(){h.resolve(g)},function(a){h.reject(a)}),h.promise}return i.emptyPromise()}function p(a,b,c,d){var e=s(\"ngfDragOverClass\",a,{$event:c}),f=\"dragover\";if(angular.isString(e))f=e;else if(e&amp;&amp;(e.delay&amp;&amp;(w=e.delay),e.accept||e.reject)){var g=c.dataTransfer.items;if(null!=g&amp;&amp;g.length)for(var h=e.pattern||s(\"ngfPattern\",a,{$event:c}),j=g.length;j--;){if(!i.validatePattern(g[j],h)){f=e.reject;break}f=e.accept}else f=e.accept}d(f)}function q(b,c,e,f){function g(a,b){var c=k.defer();if(null!=a)if(a.isDirectory){var d=[i.emptyPromise()];if(m){var e={type:\"directory\"};e.name=e.path=(b||\"\")+a.name,n.push(e)}var f=a.createReader(),h=[],p=function(){f.readEntries(function(e){try{e.length?(h=h.concat(Array.prototype.slice.call(e||[],0)),p()):(angular.forEach(h.slice(0),function(c){n.length&lt;=j&amp;&amp;l&gt;=o&amp;&amp;d.push(g(c,(b?b:\"\")+a.name+\"/\"))}),k.all(d).then(function(){c.resolve()},function(a){c.reject(a)}))}catch(f){c.reject(f)}},function(a){c.reject(a)})};p()}else a.file(function(a){try{a.path=(b?b:\"\")+a.name,m&amp;&amp;(a=i.rename(a,a.path)),n.push(a),o+=a.size,c.resolve()}catch(d){c.reject(d)}},function(a){c.reject(a)});return c.promise}var j=i.getValidationAttr(d,a,\"maxFiles\");null==j&amp;&amp;(j=Number.MAX_VALUE);var l=i.getValidationAttr(d,a,\"maxTotalSize\");null==l&amp;&amp;(l=Number.MAX_VALUE);var m=s(\"ngfIncludeDir\",a),n=[],o=0,p=[i.emptyPromise()];if(b&amp;&amp;b.length&gt;0&amp;&amp;\"file:\"!==h.location.protocol)for(var q=0;q&lt;b.length;q++){if(b[q].webkitGetAsEntry&amp;&amp;b[q].webkitGetAsEntry()&amp;&amp;b[q].webkitGetAsEntry().isDirectory){var r=b[q].webkitGetAsEntry();if(r.isDirectory&amp;&amp;!e)continue;null!=r&amp;&amp;p.push(g(r))}else{var t=b[q].getAsFile();null!=t&amp;&amp;(n.push(t),o+=t.size)}if(n.length&gt;j||o&gt;l||!f&amp;&amp;n.length&gt;0)break}else if(null!=c)for(var u=0;u&lt;c.length;u++){var v=c.item(u);if((v.type||v.size&gt;0)&amp;&amp;(n.push(v),o+=v.size),n.length&gt;j||o&gt;l||!f&amp;&amp;n.length&gt;0)break}var w=k.defer();return k.all(p).then(function(){if(f||m||!n.length)w.resolve(n);else{for(var a=0;n[a]&amp;&amp;\"directory\"===n[a].type;)a++;w.resolve([n[a]])}},function(a){w.reject(a)}),w.promise}var r=b(),s=function(a,b,c){return i.attrGetter(a,d,b,c)};if(s(\"dropAvailable\")&amp;&amp;g(function(){a[s(\"dropAvailable\")]?a[s(\"dropAvailable\")].value=r:a[s(\"dropAvailable\")]=r}),!r)return void(s(\"ngfHideOnDropNotAvailable\",a)===!0&amp;&amp;c.css(\"display\",\"none\"));null==s(\"ngfSelect\")&amp;&amp;i.registerModelChangeValidator(e,d,a);var t,u=null,v=f(s(\"ngfStopPropagation\")),w=1;c[0].addEventListener(\"dragover\",function(b){if(!l()&amp;&amp;i.shouldUpdateOn(\"drop\",d,a)){if(b.preventDefault(),v(a)&amp;&amp;b.stopPropagation(),navigator.userAgent.indexOf(\"Chrome\")&gt;-1){var e=b.dataTransfer.effectAllowed;b.dataTransfer.dropEffect=\"move\"===e||\"linkMove\"===e?\"move\":\"copy\"}g.cancel(u),t||(t=\"C\",p(a,d,b,function(d){t=d,c.addClass(t),s(\"ngfDrag\",a,{$isDragging:!0,$class:t,$event:b})}))}},!1),c[0].addEventListener(\"dragenter\",function(b){!l()&amp;&amp;i.shouldUpdateOn(\"drop\",d,a)&amp;&amp;(b.preventDefault(),v(a)&amp;&amp;b.stopPropagation())},!1),c[0].addEventListener(\"dragleave\",function(b){!l()&amp;&amp;i.shouldUpdateOn(\"drop\",d,a)&amp;&amp;(b.preventDefault(),v(a)&amp;&amp;b.stopPropagation(),u=g(function(){t&amp;&amp;c.removeClass(t),t=null,s(\"ngfDrag\",a,{$isDragging:!1,$event:b})},w||100))},!1),c[0].addEventListener(\"drop\",function(b){!l()&amp;&amp;i.shouldUpdateOn(\"drop\",d,a)&amp;&amp;(b.preventDefault(),v(a)&amp;&amp;b.stopPropagation(),t&amp;&amp;c.removeClass(t),t=null,m(b.dataTransfer,b,\"dropUrl\"))},!1),c[0].addEventListener(\"paste\",function(b){navigator.userAgent.toLowerCase().indexOf(\"firefox\")&gt;-1&amp;&amp;s(\"ngfEnableFirefoxPaste\",a)&amp;&amp;b.preventDefault(),!l()&amp;&amp;i.shouldUpdateOn(\"paste\",d,a)&amp;&amp;m(b.clipboardData||b.originalEvent.clipboardData,b,\"pasteUrl\")},!1),navigator.userAgent.toLowerCase().indexOf(\"firefox\")&gt;-1&amp;&amp;s(\"ngfEnableFirefoxPaste\",a)&amp;&amp;(c.attr(\"contenteditable\",!0),c.on(\"keypress\",function(a){a.metaKey||a.ctrlKey||a.preventDefault()}))}function b(){var a=document.createElement(\"div\");return\"draggable\"in a&amp;&amp;\"ondrop\"in a&amp;&amp;!/Edge\\/12./i.test(navigator.userAgent)}ngFileUpload.directive(\"ngfDrop\",[\"$parse\",\"$timeout\",\"$window\",\"Upload\",\"$http\",\"$q\",function(b,c,d,e,f,g){return{restrict:\"AEC\",require:\"?ngModel\",link:function(h,i,j,k){a(h,i,j,k,b,c,d,e,f,g)}}}]),ngFileUpload.directive(\"ngfNoFileDrop\",function(){return function(a,c){b()&amp;&amp;c.css(\"display\",\"none\")}}),ngFileUpload.directive(\"ngfDropAvailable\",[\"$parse\",\"$timeout\",\"Upload\",function(a,c,d){return function(e,f,g){if(b()){var h=a(d.attrGetter(\"ngfDropAvailable\",g));c(function(){h(e),h.assign&amp;&amp;h.assign(e,!0)})}}}])}(),ngFileUpload.service(\"UploadExif\",[\"UploadResize\",\"$q\",function(a,b){function c(a,b,c,d){switch(b){case 2:return a.transform(-1,0,0,1,c,0);case 3:return a.transform(-1,0,0,-1,c,d);case 4:return a.transform(1,0,0,-1,0,d);case 5:return a.transform(0,1,1,0,0,0);case 6:return a.transform(0,1,-1,0,d,0);case 7:return a.transform(0,-1,-1,0,d,c);case 8:return a.transform(0,-1,1,0,0,c)}}function d(a){for(var b=\"\",c=new Uint8Array(a),d=c.byteLength,e=0;d&gt;e;e++)b+=String.fromCharCode(c[e]);return window.btoa(b)}var e=a;return e.isExifSupported=function(){return window.FileReader&amp;&amp;(new FileReader).readAsArrayBuffer&amp;&amp;e.isResizeSupported()},e.readOrientation=function(a){var c=b.defer(),d=new FileReader,e=a.slice?a.slice(0,65536):a;return d.readAsArrayBuffer(e),d.onerror=function(a){return c.reject(a)},d.onload=function(a){var b={orientation:1},d=new DataView(this.result);if(65496!==d.getUint16(0,!1))return c.resolve(b);for(var e=d.byteLength,f=2;e&gt;f;){var g=d.getUint16(f,!1);if(f+=2,65505===g){if(1165519206!==d.getUint32(f+=2,!1))return c.resolve(b);var h=18761===d.getUint16(f+=6,!1);f+=d.getUint32(f+4,h);var i=d.getUint16(f,h);f+=2;for(var j=0;i&gt;j;j++)if(274===d.getUint16(f+12*j,h)){var k=d.getUint16(f+12*j+8,h);return k&gt;=2&amp;&amp;8&gt;=k&amp;&amp;(d.setUint16(f+12*j+8,1,h),b.fixedArrayBuffer=a.target.result),b.orientation=k,c.resolve(b)}}else{if(65280!==(65280&amp;g))break;f+=d.getUint16(f,!1)}}return c.resolve(b)},c.promise},e.applyExifRotation=function(a){if(0!==a.type.indexOf(\"image/jpeg\"))return e.emptyPromise(a);var f=b.defer();return e.readOrientation(a).then(function(b){return b.orientation&lt;2||b.orientation&gt;8?f.resolve(a):void e.dataUrl(a,!0).then(function(g){var h=document.createElement(\"canvas\"),i=document.createElement(\"img\");i.onload=function(){try{h.width=b.orientation&gt;4?i.height:i.width,h.height=b.orientation&gt;4?i.width:i.height;var g=h.getContext(\"2d\");c(g,b.orientation,i.width,i.height),g.drawImage(i,0,0);var j=h.toDataURL(a.type||\"image/WebP\",.934);j=e.restoreExif(d(b.fixedArrayBuffer),j);var k=e.dataUrltoBlob(j,a.name);f.resolve(k)}catch(l){return f.reject(l)}},i.onerror=function(){f.reject()},i.src=g},function(a){f.reject(a)})},function(a){f.reject(a)}),f.promise},e.restoreExif=function(a,b){var c={};return c.KEY_STR=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",c.encode64=function(a){var b,c,d,e,f,g=\"\",h=\"\",i=\"\",j=0;do b=a[j++],c=a[j++],h=a[j++],d=b&gt;&gt;2,e=(3&amp;b)&lt;&lt;4|c&gt;&gt;4,f=(15&amp;c)&lt;&lt;2|h&gt;&gt;6,i=63&amp;h,isNaN(c)?f=i=64:isNaN(h)&amp;&amp;(i=64),g=g+this.KEY_STR.charAt(d)+this.KEY_STR.charAt(e)+this.KEY_STR.charAt(f)+this.KEY_STR.charAt(i),b=c=h=\"\",d=e=f=i=\"\";while(j&lt;a.length);return g},c.restore=function(a,b){a.match(\"data:image/jpeg;base64,\")&amp;&amp;(a=a.replace(\"data:image/jpeg;base64,\",\"\"));var c=this.decode64(a),d=this.slice2Segments(c),e=this.exifManipulation(b,d);return\"data:image/jpeg;base64,\"+this.encode64(e)},c.exifManipulation=function(a,b){var c=this.getExifArray(b),d=this.insertExif(a,c);return new Uint8Array(d)},c.getExifArray=function(a){for(var b,c=0;c&lt;a.length;c++)if(b=a[c],255===b[0]&amp;225===b[1])return b;return[]},c.insertExif=function(a,b){var c=a.replace(\"data:image/jpeg;base64,\",\"\"),d=this.decode64(c),e=d.indexOf(255,3),f=d.slice(0,e),g=d.slice(e),h=f;return h=h.concat(b),h=h.concat(g)},c.slice2Segments=function(a){for(var b=0,c=[];;){if(255===a[b]&amp;218===a[b+1])break;if(255===a[b]&amp;216===a[b+1])b+=2;else{var d=256*a[b+2]+a[b+3],e=b+d+2,f=a.slice(b,e);c.push(f),b=e}if(b&gt;a.length)break}return c},c.decode64=function(a){var b,c,d,e,f,g=\"\",h=\"\",i=0,j=[],k=/[^A-Za-z0-9\\+\\/\\=]/g;k.exec(a)&amp;&amp;console.log(\"There were invalid base64 characters in the input text.\\nValid base64 characters are A-Z, a-z, 0-9, NaNExpect errors in decoding.\"),a=a.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do d=this.KEY_STR.indexOf(a.charAt(i++)),e=this.KEY_STR.indexOf(a.charAt(i++)),f=this.KEY_STR.indexOf(a.charAt(i++)),h=this.KEY_STR.indexOf(a.charAt(i++)),b=d&lt;&lt;2|e&gt;&gt;4,c=(15&amp;e)&lt;&lt;4|f&gt;&gt;2,g=(3&amp;f)&lt;&lt;6|h,j.push(b),64!==f&amp;&amp;j.push(c),64!==h&amp;&amp;j.push(g),b=c=g=\"\",d=e=f=h=\"\";while(i&lt;a.length);return j},c.restore(a,b)},e}]);]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 17:01:23&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;6ba8ea534f16f200ab4450af0310c700&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-ng-file-upload&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_6ba8ea534f16f200ab4450af0310c700&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 17:01:23&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Photo Upload (Platform Experience)\">bb9b6e174f16f200ab4450af0310c704</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>779b6e174f16f200ab4450af0310c708</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<table/>\n<target_name>pe-ng-file-upload</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_2ed86e534f16f200ab4450af0310c79c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-ng-file-upload\">72886a534f16f200ab4450af0310c79b</sp_dependency><sp_widget display_value=\"FOEXP Photo Upload\">b169c7874f9eb200ab4450af0310c766</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 17:01:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2ed86e534f16f200ab4450af0310c79c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-ng-file-upload.FOEXP Photo Upload</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_2ed86e534f16f200ab4450af0310c79c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 17:01:57</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Photo Upload (Platform Experience)\">bb9b6e174f16f200ab4450af0310c704</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>7b9b6e174f16f200ab4450af0310c707</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<table/>\n<target_name>pe-ng-file-upload.FOEXP Photo Upload</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_b169c7874f9eb200ab4450af0310c766</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function UploadPhotoCtrl($rootScope, $scope, $http, spUtil, Upload) {\n    /* widget controller */\n    var c = this;\n    c.upload = upload;\n\n    c.$onInit = function () {\n        $rootScope.title = \"UPLOAD PHOTO\";\n\n        if (!c.data.init) {\n            c.data.init = true;\n            spUtil.recordWatch($rootScope, \"sys_user\", \"sys_id=\" + $scope.user.sys_id, updatePicture);\n        }\n    };\n\n    function upload(file) {\n        c.photoUploading = true;\n        c.photoUploaded = false;\n        $scope.user.photo = null;\n\n        Upload.resize(file, '', '', '1', \"image/jpeg\", \"1:1\", true).then(function (smallFile) {\n            Upload.base64DataUrl(smallFile).then(function (url) {\n                var base64part = url.substr(url.indexOf('base64,') + 'base64,'.length);\n\n                c.server.get({action: 'deletePhoto'}).then(function (r) {\n                    $http.post('/api/now/table/ecc_queue', {\n                        agent: \"Uploading photo\",\n                        topic: \"AttachmentCreator\",\n                        name: \"photo:image/jpeg\",\n                        source: \"sys_user:\" + $scope.user.sys_id,\n                        payload: base64part\n                    }, {\n                        headers: {\n                            Accept: \"application/json\",\n                            'Content-Type': \"application/json\",\n                            'X-UserToken': window.g_ck\n                        }\n                    }).then(function (result) {\n                        c.photoUploaded = true;\n                        c.photoUploading = false;\n                        c.server.get({action: 'updatePhoto'}).then(function (response) {\n                            $scope.user.photo = response.data.user_photo;\n                        })\n                    });\n                });\n\n            });\n        });\n    }\n\n    function updatePicture() {\n        alert('update Picture')\n    }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.profile {\n  i {\n    font-size: 40px;\n  }\n  width: 210px;\n  height: 210px;\n  background-color: #cccccc;\n  border-radius: 50%;\n  overflow: hidden;\n  margin: 0 auto;\n  margin-top: 30px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: #828282;\n  background-size: cover;\n}\n\n.info {\n  text-align: center;\n  color: #404040;\n  margin-top: 10px;\n  .confirmation {\n    font-size: 26px;\n    font-weight: 600;\n  }\n\n  .description {\n    font-size: 14px;\n  }\n}\n\n.action {\n  position: fixed;\n  bottom: 10px;\n  width: 100%;\n  left: 0;\n  margin: 0;\n}\n\n.preloader {\n  height: 50px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-foexp-photoupload&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;FOEXP Photo Upload&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n    /* populate the 'data' object */\n    /* e.g., data.table = $sp.getValue('table'); */\n    if (input.action == 'updatePhoto') {\n        var userGr = new GlideRecord('sys_user');\n        if (userGr.get(gs.getUserID())) {\n            data.user_photo = userGr.photo.getDisplayValue();\n        }\n        return;\n    }\n    if (input.action == 'deletePhoto') {\n        var gr = new GlideRecord('sys_attachment');\n        gr.addQuery('table_name', 'sys_user');\n        gr.addQuery('name', 'photo');\n        gr.addQuery('table_sys_id', gs.getUserID());\n        gr.deleteMultiple(); //Deletes all records in the record set\n        return;\n    }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-28 00:45:58&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b169c7874f9eb200ab4450af0310c766&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;FOEXP Photo Upload&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b169c7874f9eb200ab4450af0310c766&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-28 17:08:28&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;div class=\"profile\" ngf-fix-orientation=\"true\" ngf-select=\"c.upload($file)\"\n         ng-style=\"{'background-image': 'url(' + user.photo + ')'}\"&gt;\n        &lt;svg width='128px' height='128px' xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"\n             preserveAspectRatio=\"xMidYMid\" class=\"uil-default preloader\" ng-show=\"c.photoUploading\"&gt;\n            &lt;rect x=\"0\" y=\"0\" width=\"100\" height=\"100\" fill=\"none\" class=\"bk\"&gt;&lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(0 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0s' repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(30 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.08333333333333333s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(60 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.16666666666666666s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(90 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.25s' repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(120 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.3333333333333333s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(150 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.4166666666666667s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(180 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.5s' repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(210 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.5833333333333334s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(240 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.6666666666666666s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(270 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.75s' repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(300 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.8333333333333334s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n            &lt;rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(330 50 50) translate(0 -30)'&gt;\n                &lt;animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.9166666666666666s'\n                         repeatCount='indefinite'/&gt;\n            &lt;/rect&gt;\n        &lt;/svg&gt;\n        &lt;svg width=\"53px\" height=\"41px\" viewBox=\"0 0 53 41\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n             xmlns:xlink=\"http://www.w3.org/1999/xlink\" ng-show=\"!c.photoUploading &amp;&amp; !user.photo\"&gt;\n            &lt;!-- Generator: Sketch 43.1 (39012) - http://www.bohemiancoding.com/sketch --&gt;\n            &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n            &lt;defs&gt;&lt;/defs&gt;\n            &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linejoin=\"round\"&gt;\n                &lt;g id=\"Group\" transform=\"translate(-1.000000, 1.000000)\" stroke=\"#ffffff\"&gt;\n                    &lt;circle id=\"Oval\" cx=\"27.5\" cy=\"20.625\" r=\"9.16666667\"&gt;&lt;/circle&gt;\n                    &lt;path d=\"M16.0416667,6.875 L20.625,0 L34.375,0 L38.9583333,6.875 L45.8333333,6.875 C49.6145833,6.875 52.7083333,9.96875 52.7083333,13.75 L52.7083333,32.0833333 C52.7083333,35.8645833 49.6145833,38.9583333 45.8333333,38.9583333 L9.16666667,38.9583333 C5.38541667,38.9583333 2.29166667,35.8645833 2.29166667,32.0833333 L2.29166667,13.75 C2.29166667,9.96875 5.38541667,6.875 9.16666667,6.875 L16.0416667,6.875 Z\"\n                          id=\"Shape\" stroke-linecap=\"round\"&gt;&lt;/path&gt;\n                &lt;/g&gt;\n            &lt;/g&gt;\n        &lt;/svg&gt;\n        &lt;!--&lt;img ng-src=\"{{user.photo}}\" alt=\"\" ng-show=\"user.photo\"&gt;--&gt;\n    &lt;/div&gt;\n    &lt;div class=\"info\" ng-show=\"c.photoUploaded\"&gt;\n        &lt;div class=\"confirmation\"&gt;\n            Photo Upload Complete\n        &lt;/div&gt;\n        &lt;div class=\"description\"&gt;\n            You’ll receive your badge on your fist day.\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"FOEXP Photo Upload (Platform Experience)\">bb9b6e174f16f200ab4450af0310c704</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>b39b6e174f16f200ab4450af0310c708</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<table/>\n<target_name>FOEXP Photo Upload</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_eda8aa534f16f200ab4450af0310c7c2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-ng-file-upload</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-28 17:01:25</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>eda8aa534f16f200ab4450af0310c7c2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-ng-file-upload</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-ng-file-upload\">6ba8ea534f16f200ab4450af0310c700</sys_ui_script><sys_update_name>sp_js_include_eda8aa534f16f200ab4450af0310c7c2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-28 17:01:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"FOEXP Photo Upload (Platform Experience)\">bb9b6e174f16f200ab4450af0310c704</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-28 17:14:03</sys_created_on>\n<sys_id>ff9b6e174f16f200ab4450af0310c707</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-28 17:14:03</sys_updated_on>\n<table/>\n<target_name>pe-ng-file-upload</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-foexp-photoupload/widget/pe-foexp-photoupload.u-body-html-template.html",
    "content": "<div>\n    <div class=\"profile\" ngf-fix-orientation=\"true\" ngf-select=\"c.upload($file)\"\n         ng-style=\"{'background-image': 'url(' + user.photo + ')'}\">\n        <svg width='128px' height='128px' xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"\n             preserveAspectRatio=\"xMidYMid\" class=\"uil-default preloader\" ng-show=\"c.photoUploading\">\n            <rect x=\"0\" y=\"0\" width=\"100\" height=\"100\" fill=\"none\" class=\"bk\"></rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(0 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0s' repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(30 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.08333333333333333s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(60 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.16666666666666666s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(90 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.25s' repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(120 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.3333333333333333s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(150 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.4166666666666667s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(180 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.5s' repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(210 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.5833333333333334s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(240 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.6666666666666666s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(270 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.75s' repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(300 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.8333333333333334s'\n                         repeatCount='indefinite'/>\n            </rect>\n            <rect x='46.5' y='40' width='7' height='20' rx='5' ry='5' fill='#ffffff'\n                  transform='rotate(330 50 50) translate(0 -30)'>\n                <animate attributeName='opacity' from='1' to='0' dur='1s' begin='0.9166666666666666s'\n                         repeatCount='indefinite'/>\n            </rect>\n        </svg>\n        <svg width=\"53px\" height=\"41px\" viewBox=\"0 0 53 41\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n             xmlns:xlink=\"http://www.w3.org/1999/xlink\" ng-show=\"!c.photoUploading && !user.photo\">\n            <!-- Generator: Sketch 43.1 (39012) - http://www.bohemiancoding.com/sketch -->\n            <desc>Created with Sketch.</desc>\n            <defs></defs>\n            <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linejoin=\"round\">\n                <g id=\"Group\" transform=\"translate(-1.000000, 1.000000)\" stroke=\"#ffffff\">\n                    <circle id=\"Oval\" cx=\"27.5\" cy=\"20.625\" r=\"9.16666667\"></circle>\n                    <path d=\"M16.0416667,6.875 L20.625,0 L34.375,0 L38.9583333,6.875 L45.8333333,6.875 C49.6145833,6.875 52.7083333,9.96875 52.7083333,13.75 L52.7083333,32.0833333 C52.7083333,35.8645833 49.6145833,38.9583333 45.8333333,38.9583333 L9.16666667,38.9583333 C5.38541667,38.9583333 2.29166667,35.8645833 2.29166667,32.0833333 L2.29166667,13.75 C2.29166667,9.96875 5.38541667,6.875 9.16666667,6.875 L16.0416667,6.875 Z\"\n                          id=\"Shape\" stroke-linecap=\"round\"></path>\n                </g>\n            </g>\n        </svg>\n        <!--<img ng-src=\"{{user.photo}}\" alt=\"\" ng-show=\"user.photo\">-->\n    </div>\n    <div class=\"info\" ng-show=\"c.photoUploaded\">\n        <div class=\"confirmation\">\n            Photo Upload Complete\n        </div>\n        <div class=\"description\">\n            You’ll receive your badge on your fist day.\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "pe-foexp-photoupload/widget/pe-foexp-photoupload.u-client-script.js",
    "content": "function UploadPhotoCtrl($rootScope, $scope, $http, spUtil, Upload) {\n    /* widget controller */\n    var c = this;\n    c.upload = upload;\n\n    c.$onInit = function () {\n        $rootScope.title = \"UPLOAD PHOTO\";\n\n        if (!c.data.init) {\n            c.data.init = true;\n            spUtil.recordWatch($rootScope, \"sys_user\", \"sys_id=\" + $scope.user.sys_id, updatePicture);\n        }\n    };\n\n    function upload(file) {\n        c.photoUploading = true;\n        c.photoUploaded = false;\n        $scope.user.photo = null;\n\n        Upload.resize(file, '', '', '1', \"image/jpeg\", \"1:1\", true).then(function (smallFile) {\n            Upload.base64DataUrl(smallFile).then(function (url) {\n                var base64part = url.substr(url.indexOf('base64,') + 'base64,'.length);\n\n                c.server.get({action: 'deletePhoto'}).then(function (r) {\n                    $http.post('/api/now/table/ecc_queue', {\n                        agent: \"Uploading photo\",\n                        topic: \"AttachmentCreator\",\n                        name: \"photo:image/jpeg\",\n                        source: \"sys_user:\" + $scope.user.sys_id,\n                        payload: base64part\n                    }, {\n                        headers: {\n                            Accept: \"application/json\",\n                            'Content-Type': \"application/json\",\n                            'X-UserToken': window.g_ck\n                        }\n                    }).then(function (result) {\n                        c.photoUploaded = true;\n                        c.photoUploading = false;\n                        c.server.get({action: 'updatePhoto'}).then(function (response) {\n                            $scope.user.photo = response.data.user_photo;\n                        })\n                    });\n                });\n\n            });\n        });\n    }\n\n    function updatePicture() {\n        alert('update Picture')\n    }\n}"
  },
  {
    "path": "pe-foexp-photoupload/widget/pe-foexp-photoupload.u-css.scss",
    "content": ".profile {\n  i {\n    font-size: 40px;\n  }\n  width: 210px;\n  height: 210px;\n  background-color: #cccccc;\n  border-radius: 50%;\n  overflow: hidden;\n  margin: 0 auto;\n  margin-top: 30px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: #828282;\n  background-size: cover;\n}\n\n.info {\n  text-align: center;\n  color: #404040;\n  margin-top: 10px;\n  .confirmation {\n    font-size: 26px;\n    font-weight: 600;\n  }\n\n  .description {\n    font-size: 14px;\n  }\n}\n\n.action {\n  position: fixed;\n  bottom: 10px;\n  width: 100%;\n  left: 0;\n  margin: 0;\n}\n\n.preloader {\n  height: 50px;\n}"
  },
  {
    "path": "pe-foexp-photoupload/widget/pe-foexp-photoupload.u-server-script.js",
    "content": "(function () {\n    /* populate the 'data' object */\n    /* e.g., data.table = $sp.getValue('table'); */\n    if (input.action == 'updatePhoto') {\n        var userGr = new GlideRecord('sys_user');\n        if (userGr.get(gs.getUserID())) {\n            data.user_photo = userGr.photo.getDisplayValue();\n        }\n        return;\n    }\n    if (input.action == 'deletePhoto') {\n        var gr = new GlideRecord('sys_attachment');\n        gr.addQuery('table_name', 'sys_user');\n        gr.addQuery('name', 'photo');\n        gr.addQuery('table_sys_id', gs.getUserID());\n        gr.deleteMultiple(); //Deletes all records in the record set\n        return;\n    }\n})();"
  },
  {
    "path": "pe-foexp-training/Readme.md",
    "content": "# Training widget (Financial Onboarding Experience)\n\n## Description\n\nThis widget can be used to show training courses allocated to the current user for a particular category of training courses. The user can enroll in, and un-enroll from those courses. Furthermore, they can see what courses they have completed in the category and which are remaining.\n\n## Screenshot\n![Training widget](../images/pe-foexp-training.png \"Training widget\")\n\n## Additional Information/Notes\n\nYou can either use the \"Category\" option to select a category to always show in this widget, or pass the `category` parameter in via the URL to set which category the widget should show.\n\nThis widget makes use of 4 new custom tables that are installed as part of the Update Set. You will need to populate data into these tables for the widget to work. See the configuration section for more information about this.\n\n---\n## Installation\n---\nDownload and install update set **[pe-foexp-training.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-foexp-training/pe-foexp-training.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nThis widget uses 4 new custom tables. All are accessible under the new \"Training\" module.\n\n#### _Categories_\nThis is a group of training courses which are all displayed in the widget together.\n\nThese are stored in the `u_pe_training_category` table.\n\n#### _Courses_\nThese are stored in the `u_pe_training_course` table.\n\n#### _Prerequisites_\nThis allows you to link courses together and says that, for example, \"Training Course A\" must be completed before \"Training Course B\" is started.\n\nThese are stored in the `u_pe_training_prerequisites` table.\n\n#### _Assignments_\nThe current user must be assigned a course for it to show up in the widget.\n\nThese are stored in the `u_pe_training_assignments_list` table.\n\n<p/><br/>\nWidget Option Schema parameters:\n\n**Category**\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$page-bg: #f5f5f5 !default;\n$primary-color: #117fc1 !default;\n$primary-color-darker: #0065d3 !default;\n$secondary-color: #2980b9 !default;\n$border-color: #1aa5be !default;\n```"
  },
  {
    "path": "pe-foexp-training/pe-foexp-training.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-24 23:59:35\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Training widget (Platform Experience)</name>\n<origin_sys_id/>\n<release_date>2017-04-25 00:00:00</release_date>\n<remote_sys_id>24685fbd4f1e320022f40ccf0310c751</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1512e30a4f167200ab4450af0310c7f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_cea20b464fd27200ab4450af0310c763</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>pe-bootflat.min.css</name><source>local</source><sp_css display_value=\"pe-bootflat.min.css\">86b20b464fd27200ab4450af0310c7f2</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 21:42:47</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cea20b464fd27200ab4450af0310c763</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-bootflat.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_cea20b464fd27200ab4450af0310c763</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 23:38:23</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1112e30a4f167200ab4450af0310c7f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>pe-bootflat.min.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_assignments_u_enrolled</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_enrolled\" table=\"u_pe_training_assignments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Enrolled&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_enrolled&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;glide_date_time&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_assignments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 22:08:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;7b18874a4fd27200ab4450af0310c75f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Enrolled&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_assignments_u_enrolled&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 22:08:07&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1112e30a4f167200ab4450af0310c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>u_pe_training_assignments.u_enrolled</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_assignments__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Training Assignments\" language=\"en\" table=\"u_pe_training_assignments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Training Assignments</label><language>en</language><name>u_pe_training_assignments</name><plural>Training Assignments</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e4988b4a4fd27200ab4450af0310c7f2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Assignments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_assignments__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:07</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1112e30a4f167200ab4450af0310c7f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_assignments_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_training_assignments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_assignments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 22:08:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;68988b4a4fd27200ab4450af0310c7eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_training_assignments&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_assignments_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 22:08:07&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1512e30a4f167200ab4450af0310c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_assignments_u_course_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_course\" label=\"Course\" language=\"en\" table=\"u_pe_training_assignments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_course</element><help/><hint/><label>Course</label><language>en</language><name>u_pe_training_assignments</name><plural>Courses</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>24988b4a4fd27200ab4450af0310c7f6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Course</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_assignments_u_course_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:07</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1512e30a4f167200ab4450af0310c7f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments.Course</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_6341ee424f927200ab4450af0310c7f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Training Category</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_training_category</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6341ee424f927200ab4450af0310c7f6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Category</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_6341ee424f927200ab4450af0310c7f6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:17:50</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1912e30a4f167200ab4450af0310c7f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_category</table>\n<target_name>Training Category</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_prerequisites_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_training_prerequisites\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_prerequisites&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:52:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;78992e864f927200ab4450af0310c770&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_training_prerequisites&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_prerequisites_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:52:42&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1912e30a4f167200ab4450af0310c7f7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>Training Prerequisites</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_5a912a824f927200ab4450af0310c70f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_training_category</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:17:51</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5a912a824f927200ab4450af0310c70f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_training_category</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_5a912a824f927200ab4450af0310c70f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:17:51</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1d12270a4f167200ab4450af0310c7da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>u_pe_training_category</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_0a91e6824f927200ab4450af0310c7e6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Training\">4291e6824f927200ab4450af0310c7e4</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Training Categories</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_pe_training_category</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0a91e6824f927200ab4450af0310c7e6</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Categories</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_0a91e6824f927200ab4450af0310c7e6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:12:11</sys_updated_on><timeline_page/><title>Categories</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1d12e30a4f167200ab4450af0310c7f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_category</table>\n<target_name>Categories</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_course_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_training_course\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_course&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:19:44&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9022e824f927200ab4450af0310c710&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_training_course&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_course_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:19:44&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1d12e30a4f167200ab4450af0310c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_course_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_pe_training_course\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_pe_training_course</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 21:10:19</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>7d5b36024fd27200ab4450af0310c751</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_course_u_name_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 21:10:19</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>1d12e30a4f167200ab4450af0310c7f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_bd092a864f927200ab4450af0310c733</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Training Prerequisites</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_training_prerequisites</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:52:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bd092a864f927200ab4450af0310c733</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Prerequisites</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_bd092a864f927200ab4450af0310c733</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:52:42</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5112e30a4f167200ab4450af0310c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>Training Prerequisites</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_assignments_u_completed_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_completed\" label=\"Completed\" language=\"en\" table=\"u_pe_training_assignments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_completed</element><help/><hint/><label>Completed</label><language>en</language><name>u_pe_training_assignments</name><plural>Completed</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>68988b4a4fd27200ab4450af0310c7f4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Completed</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_assignments_u_completed_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:07</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5112e30a4f167200ab4450af0310c7f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments.Completed</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_e498cb4a4fd27200ab4450af0310c70d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_training_assignments</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e498cb4a4fd27200ab4450af0310c70d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_training_assignments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_e498cb4a4fd27200ab4450af0310c70d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:08</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5512270a4f167200ab4450af0310c7db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>u_pe_training_assignments</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_7d02ea824f927200ab4450af0310c7ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Training\">4291e6824f927200ab4450af0310c7e4</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Training Courses</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_pe_training_course</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:19:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>7d02ea824f927200ab4450af0310c7ea</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Courses</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_7d02ea824f927200ab4450af0310c7ea</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:12:25</sys_updated_on><timeline_page/><title>Courses</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5512e30a4f167200ab4450af0310c7f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Courses</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_course_u_order</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_order\" table=\"u_pe_training_course\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Order&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_order&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_course&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:19:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ecc16a824f927200ab4450af0310c702&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_course_u_order&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:19:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5512e30a4f167200ab4450af0310c7f7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>u_pe_training_course.u_order</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_prerequisites__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Training Prerequisites\" language=\"en\" table=\"u_pe_training_prerequisites\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Training Prerequisites</label><language>en</language><name>u_pe_training_prerequisites</name><plural>Training Prerequisites</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:52:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>05992e864f927200ab4450af0310c777</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Prerequisites</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_prerequisites__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:52:42</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5912270a4f167200ab4450af0310c7da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>Training Prerequisites</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_4291e6824f927200ab4450af0310c7e4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>PE - Training Widget</name><order>100</order><roles/><sys_class_name>sys_app_application</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>4291e6824f927200ab4450af0310c7e4</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Training</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_4291e6824f927200ab4450af0310c7e4</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:11:48</sys_updated_on><title>Training</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5912e30a4f167200ab4450af0310c7f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>Training</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_category_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_pe_training_category\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;256&lt;/max_length&gt;&lt;name&gt;u_pe_training_category&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:17:49&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0c5162824f927200ab4450af0310c73b&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_category_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:40:32&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5912e30a4f167200ab4450af0310c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_category</table>\n<target_name>Training Category.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_course_u_category_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_category\" label=\"Category\" language=\"en\" table=\"u_pe_training_course\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_category</element><help/><hint/><label>Category</label><language>en</language><name>u_pe_training_course</name><plural>Categories</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:19:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c6022e824f927200ab4450af0310c719</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Category</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_course_u_category_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:19:44</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5912e30a4f167200ab4450af0310c7f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course.Category</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_86b20b464fd27200ab4450af0310c7f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/*&#13;\n * bootflat 2.0.4&#13;\n *&#13;\n * Description: BOOTFLAT is an open source Flat UI KIT based on Bootstrap 3.2.0 CSS framework. It provides a faster, easier and less repetitive way for web developers to create elegant web apps.&#13;\n *&#13;\n * Homepage: http://bootflat.github.com/&#13;\n *&#13;\n * By @Flathemes &lt;info@flathemes.com&gt;&#13;\n *&#13;\n * Last modify time: 2014-09-03&#13;\n *&#13;\n * Licensed under the MIT license. Please see LICENSE for more information.&#13;\n *&#13;\n * Copyright 2013 FLATHEMES.&#13;\n *&#13;\n */&#13;\n&#13;\nbody{font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;color:#434a54;background-color:#fff}a{color:#3bafda;text-decoration:none}a:focus,a:hover{color:#4fc1e9;text-decoration:none}a:focus{outline:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#e7e9ec}h1,h2,h3{margin-top:30px;margin-bottom:15px}h4,h5,h6{margin-top:15px;margin-bottom:15px}h6{font-weight:400}.h1,h1{font-size:51px}.h2,h2{font-size:43px}.h3,h3{font-size:30px}.h4,h4{font-size:19px}.h5,h5{font-size:18px}.h6,h6{font-size:14px}blockquote{border-left:3px solid #ccd1d9}.img-rounded{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.img-comment{margin:24px 0;font-size:15px;font-style:italic;line-height:1.2}.btn{color:#fff}.btn,.btn.disabled,.btn[disabled]{background-color:#aab2bd;border-color:#aab2bd}.btn.active,.btn:active,.btn:focus,.btn:hover{color:#fff;background-color:#ccd1d9;border-color:#ccd1d9;outline:0!important}.btn.active,.btn:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);box-shadow:inset 0 1px 2px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled]{filter:alpha(opacity=45);opacity:.45}.btn-link,.btn-link.active,.btn-link.disabled,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled]{color:#3bafda;background-color:transparent;&#13;\n border-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-default{color:#434a54;border-color:#aab2bd!important}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover{background-color:#ccd1d9;border-color:#ccd1d9}.btn-default,.btn-default.disabled,.btn-default[disabled]{background-color:#fff}.open .dropdown-toggle.btn-default{background-color:#ccd1d9;border-color:#ccd1d9}.btn-primary,.btn-primary.active,.btn-primary.disabled,.btn-primary:active,.btn-primary[disabled]{background-color:#3bafda;border-color:#3bafda}.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{background-color:#4fc1e9;border-color:#4fc1e9}.btn-info,.btn-info.active,.btn-info.disabled,.btn-info:active,.btn-info[disabled]{background-color:#37bc9b;border-color:#37bc9b}.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{background-color:#48cfad;border-color:#48cfad}.btn-success,.btn-success.active,.btn-success.disabled,.btn-success:active,.btn-success[disabled]{background-color:#8cc152;border-color:#8cc152}.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{background-color:#a0d468;border-color:#a0d468}.btn-warning,.btn-warning.active,.btn-warning.disabled,.btn-warning:active,.btn-warning[disabled]{background-color:#f6bb42;border-color:#f6bb42}.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{background-color:#ffce54;border-color:#ffce54}.btn-danger,.btn-danger .open .dropdown-toggle.btn,.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger[disabled]{background-color:#da4453;border-color:#da4453}.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{background-color:#ed5565;border-color:#ed5565}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);box-shadow:inset 0 1px 2px rgba(0,0,0,.125)}.btn-group .btn{border-left-color:#96a0ad}.btn-group .btn-default.active,.btn-group .btn-default:active,.btn-group .btn-default:focus,.btn-group.open .btn-default.dropdown-toggle{color:#fff}.btn-group .btn-primary,.btn-group .btn-primary.active,.btn-group .btn-primary:active,.btn-group .btn-primary:focus{border-left-color:#269ecb}.btn-group .btn-success,.btn-group .btn-success.active,.btn-group .btn-success:active,.btn-group .btn-success:focus{border-left-color:#7ab03f}.btn-group .btn-warning,.btn-group .btn-warning.active,.btn-group .btn-warning:active,.btn-group .btn-warning:focus{border-left-color:#efa50b}.btn-group .btn-danger,.btn-group .btn-danger.active,.btn-group .btn-danger:active,.btn-group .btn-danger:focus{border-left-color:#d1293a}.btn-group .btn-info,.btn-group .btn-info.active,.btn-group .btn-info:active,.btn-group .btn-info:focus{border-left-color:#2fa084}.btn-group .btn-danger:first-child,.btn-group .btn-info:first-child,.btn-group .btn-primary:first-child,.btn-group .btn-success:first-child,.btn-group .btn-warning:first-child,.btn-group .btn:first-child{border-left-color:transparent}.btn-group-vertical .btn,.btn-group-vertical .btn-group .btn-primary{border-top-color:#96a0ad!important}.btn-group-vertical .btn-group .btn-primary,.btn-group-vertical .btn-primary,.btn-group-vertical .btn-primary.active,.btn-group-vertical .btn-primary:active,.btn-group-vertical .btn-primary:focus{border-top-color:#269ecb!important}.btn-group-vertical .btn-group .btn-success,.btn-group-vertical .btn-success,.btn-group-vertical .btn-success.active,.btn-group-vertical .btn-success:active,.btn-group-vertical .btn-success:focus{border-top-color:#7ab03f!important}.btn-group-vertical .btn-group .btn-warning,.btn-group-vertical .btn-warning,.btn-group-vertical .btn-warning.active,.btn-group-vertical .btn-warning:active,.btn-group-vertical .btn-warning:focus{border-top-color:#efa50b!important}.btn-group-vertical .btn-danger,.btn-group-vertical .btn-danger.active,.btn-group-vertical .btn-danger:active,.btn-group-vertical .btn-danger:focus,.btn-group-vertical .btn-group .btn-danger{border-top-color:#d1293a!important}.btn-group-vertical .btn-group .btn-info,.btn-group-vertical .btn-info,.btn-group-vertical .btn-info.active,.btn-group-vertical .btn-info:active,.btn-group-vertical .btn-info:focus{border-top-color:#2fa084!important}.btn-group-vertical .btn-danger:first-child,.btn-group-vertical .btn-info:first-child,.btn-group-vertical .btn-primary:first-child,.btn-group-vertical .btn-success:first-child,.btn-group-vertical .btn-warning:first-child,.btn-group-vertical .btn:not(.btn-default):first-child{border-top:none}.badge,.label{background-color:#aab2bd}.badge-default,.label-default{color:#434a54;background-color:#fff;&#13;\n border:1px solid #aab2bd}.badge-primary,.label-primary{background-color:#3bafda;border-color:#3bafda}.badge-success,.label-success{background-color:#8cc152;border-color:#8cc152}.badge-danger,.label-danger{background-color:#da4453;border-color:#da4453}.badge-warning,.label-warning{background-color:#f6bb42;border-color:#f6bb42}.badge-info,.label-info{background-color:#37bc9b;border-color:#37bc9b}.tooltip-inner{color:#fff;background-color:#434a54}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{border-top-color:#434a54}.tooltip.right .tooltip-arrow{border-right-color:#434a54}.tooltip.left .tooltip-arrow{border-left-color:#434a54}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#434a54}.popover{color:#fff;&#13;\n background-color:#434a54;border-color:#434a54}.popover-title{padding-bottom:0;font-weight:700;color:#aab2bd;background-color:transparent;border-bottom:none}.popover.top .arrow,.popover.top .arrow:after{border-top-color:#434a54}.popover.right .arrow,.popover.right .arrow:after{border-right-color:#434a54}.popover.bottom .arrow,.popover.bottom .arrow:after{border-bottom-color:#434a54}.popover.left .arrow,.popover.left .arrow:after{border-left-color:#434a54}.progress{background-color:#e6e9ed;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress-bar{background-color:#3bafda;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#8cc152}.progress-bar-info{background-color:#37bc9b}.progress-bar-warning{background-color:#f6bb42}.progress-bar-danger{background-color:#da4453}.breadcrumb{color:#434a54;background-color:#e6e9ed}.breadcrumb&gt;.active{color:#434a54}.breadcrumb a{color:#3bafda}.breadcrumb-arrow{height:36px;&#13;\n padding:0;line-height:36px;list-style:none;background-color:#e6e9ed}.breadcrumb-arrow li:first-child a{border-radius:4px 0 0 4px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px}.breadcrumb-arrow li,.breadcrumb-arrow li a,.breadcrumb-arrow li span{display:inline-block;vertical-align:top}.breadcrumb-arrow li:not(:first-child){margin-left:-5px}.breadcrumb-arrow li+li:before{padding:0;content:\"\"}.breadcrumb-arrow li span{padding:0 10px}.breadcrumb-arrow li a,.breadcrumb-arrow li:not(:first-child) span{height:36px;&#13;\n padding:0 10px 0 25px;line-height:36px}.breadcrumb-arrow li:first-child a{padding:0 10px}.breadcrumb-arrow li a{position:relative;color:#fff;text-decoration:none;background-color:#3bafda;border:1px solid #3bafda}.breadcrumb-arrow li:first-child a{padding-left:10px}.breadcrumb-arrow li a:after,.breadcrumb-arrow li a:before{position:absolute;top:-1px;width:0;height:0;content:'';border-top:18px solid transparent;border-bottom:18px solid transparent}.breadcrumb-arrow li a:before{right:-10px;z-index:3;border-left-color:#3bafda;border-left-style:solid;border-left-width:11px}.breadcrumb-arrow li a:after{right:-11px;z-index:2;border-left:11px solid #2494be}.breadcrumb-arrow li a:focus,.breadcrumb-arrow li a:hover{background-color:#4fc1e9;border:1px solid #4fc1e9}.breadcrumb-arrow li a:focus:before,.breadcrumb-arrow li a:hover:before{border-left-color:#4fc1e9}.breadcrumb-arrow li a:active{background-color:#2494be;border:1px solid #2494be}.breadcrumb-arrow li a:active:after,.breadcrumb-arrow li a:active:before{border-left-color:#2494be}.breadcrumb-arrow li span{color:#434a54}.pagination&gt;li&gt;a,.pagination&gt;li&gt;span{color:#434a54;background-color:#fff;border-color:#ccd1d9}.pagination&gt;li&gt;a:focus,.pagination&gt;li&gt;a:hover,.pagination&gt;li&gt;span:focus,.pagination&gt;li&gt;span:hover{color:#fff;background-color:#ccd1d9;border-color:#ccd1d9}.pagination&gt;.active&gt;a,.pagination&gt;.active&gt;a:focus,.pagination&gt;.active&gt;a:hover,.pagination&gt;.active&gt;span,.pagination&gt;.active&gt;span:focus,.pagination&gt;.active&gt;span:hover{color:#fff;background-color:#8cc152;border-color:#8cc152}.pagination&gt;.disabled&gt;a,.pagination&gt;.disabled&gt;a:focus,.pagination&gt;.disabled&gt;a:hover,.pagination&gt;.disabled&gt;span,.pagination&gt;.disabled&gt;span:focus,.pagination&gt;.disabled&gt;span:hover{color:#e6e9ed;background-color:#fff;border-color:#ccd1d9}.pager li&gt;a,.pager li&gt;span{color:#fff;background-color:#8cc152;border-color:#8cc152}.pager li&gt;a:focus,.pager li&gt;a:hover{background-color:#a0d468;border-color:#a0d468}.pager .disabled&gt;a,.pager .disabled&gt;a:focus,.pager .disabled&gt;a:hover,.pager .disabled&gt;span{color:#e6e9ed;background-color:#fff;border-color:#e6e9ed}.form-control{color:#434a54;border-color:#aab2bd}.form-control,.form-control:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.form-control:focus{border-color:#3bafda}.form-control:-ms-input-placeholder,.form-control::-moz-placeholder,.form-control::-webkit-input-placeholder{color:#e6e9ed}.form-control.disabled,.form-control[disabled]{background-color:#e6e9ed;border-color:#e6e9ed}.input-group-btn .btn+.btn{border-color:#96a0ad;border-style:solid;&#13;\n border-width:1px}.input-group-btn .btn+.btn.btn-default{border-color:#ededed}.input-group-btn .btn+.btn.btn-primary{border-color:#269ecb}.input-group-btn .btn+.btn.btn-info{border-color:#2fa084}.input-group-btn .btn+.btn.btn-success{border-color:#7ab03f}.input-group-btn .btn+.btn.btn-warning{border-color:#f4af20}.input-group-btn .btn+.btn.btn-danger{border-color:#d1293a}.input-group-addon{color:#fff;background-color:#aab2bd;border-color:#96a0ad}.input-group-addon .checkbox,.input-group-addon .radio{margin:-3px 0 -4px!important}.form-search .search-query,.form-search .search-query:first-child,.form-search .search-query:last-child{padding:0 17px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px}.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topleft:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0;-webkit-border-top-right-radius:0;-moz-border-radius-topright:0;-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.form-search .btn{border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px}.search-only{position:relative}.search-only .search-icon{position:absolute;top:2px;left:8.5px;z-index:20;width:30px;font-size:17px;line-height:30px;color:#e6e9ed;text-align:center}.search-only .form-control:last-child{padding-left:40px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#8cc152}.has-success .form-control,.has-success .form-control:focus{border-color:#8cc152;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-success .input-group-addon{background-color:#8cc152;border-color:#8cc152}.has-success .form-control-feedback{color:#8cc152}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#f6bb42}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f6bb42;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-warning .input-group-addon{background-color:#f6bb42;border-color:#f6bb42}.has-warning .form-control-feedback{color:#f6bb42}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#da4453}.has-error .form-control,.has-error .form-control:focus{border-color:#da4453;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-error .input-group-addon{background-color:#da4453;border-color:#da4453}.has-error .form-control-feedback{color:#da4453}.stepper .stepper-input{overflow:hidden;-moz-appearance:textfield}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{position:absolute;right:15px;display:block;width:20px;height:50%;text-indent:-99999px;cursor:pointer;&#13;\n background-color:#3bafda}.stepper .stepper-arrow:active,.stepper .stepper-arrow:hover{background-color:#4fc1e9}.stepper .up{top:0;border:1px solid #269ecb;border-top-right-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px}.stepper .down{bottom:0;border-bottom-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px}.stepper .down::before,.stepper .up::before{position:absolute;width:0;height:0;&#13;\n content:\"\";border-right:4px solid transparent;border-left:4px solid transparent}.stepper .up::before{top:5px;left:5px;border-bottom:4px solid #fff}.stepper .down:before{bottom:5px;left:6px;border-top:4px solid #fff}.stepper.disabled .stepper-arrow{background-color:#3bafda;filter:alpha(opacity=45);opacity:.45}.selecter{position:relative;z-index:1;&#13;\n display:block;max-width:100%;outline:0}.selecter .selecter-element{position:absolute;left:0;z-index:0;display:none;width:100%;height:100%;filter:alpha(opacity=0);opacity:0;*left:-999999px}.selecter .selecter-element,.selecter .selecter-element:focus{outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}.selecter .selecter-selected{position:relative;z-index:2;display:block;padding:6px 10px;overflow:hidden;text-overflow:clip;cursor:pointer;&#13;\n background-color:#fff;border:1px solid #aab2bd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter .selecter-selected:after{position:absolute;top:14px;right:10px;width:0;height:0;content:\"\";border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent}.selecter .selecter-options{position:absolute;top:100%;left:0;z-index:50;display:none;width:100%;max-height:260px;overflow:auto;overflow-x:hidden;background-color:#fff;&#13;\n border:1px solid #aab2bd;border-width:0 1px 1px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;*width:auto}.selecter .selecter-group{display:block;padding:5px 10px 4px;font-size:11px;color:#aab2bd;text-transform:uppercase;background-color:#f5f7fa;&#13;\n border-bottom:1px solid #e6e9ed}.selecter .selecter-item{display:block;width:100%;padding:6px 10px;margin:0;overflow:hidden;text-overflow:ellipsis;cursor:pointer;&#13;\n background-color:#fff;border-bottom:1px solid #e6e9ed}.selecter .selecter-item.selected{color:#fff;background-color:#3bafda;border-bottom-color:#4fc1e9}.selecter .selecter-item.disabled{color:#aab2bd;cursor:default}.selecter .selecter-item:first-child{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.selecter .selecter-item:last-child{border-bottom:0;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.selecter .selecter-item:hover{background-color:#e6e9ed}.selecter .selecter-item.selected:hover{background-color:#3bafda}.selecter .selecter-item.disabled:hover,.selecter.disabled .selecter-item:hover,.selecter:hover .selecter-selected{background-color:#fff}.selecter.open{z-index:3;outline:0}.selecter.open .selecter-selected{z-index:51;border:1px solid #3bafda;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.focus .selecter-selected,.selecter.open .selecter-selected{background-color:#fff}.selecter.cover .selecter-options{top:0;border-width:1px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.cover .selecter-options .selecter-item.first{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.cover.open .selecter-selected{z-index:49;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.bottom .selecter-options{top:auto;bottom:100%;&#13;\n border-width:1px 1px 0}.selecter.bottom .selecter-item:last-child{border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.selecter.bottom.open .selecter-selected{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.selecter.bottom.open .selecter-options{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.bottom.cover .selecter-options{top:auto;bottom:0}.selecter.bottom.cover.open .selecter-options,.selecter.bottom.cover.open .selecter-selected{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.multiple .selecter-options{position:static;display:block;width:100%;border-width:1px;border-radius:4px;box-shadow:none;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.disabled .selecter-selected{color:#aab2bd;cursor:default;background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-options{background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-group,.selecter.disabled .selecter-item{color:#aab2bd;cursor:default;background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-item.selected{color:#fff;background-color:#3bafda;filter:alpha(opacity=45);opacity:.45}.selecter .selecter-options.scroller{overflow:hidden}.selecter .selecter-options.scroller .scroller-content{max-height:260px;padding:0}.checkbox,.radio{padding-left:0;margin-top:0}.checkbox label,.radio label{position:relative;top:2px;padding-left:5px}.icheckbox_flat,.iradio_flat{display:inline-block;width:20px;height:20px;padding:0!important;margin:0;vertical-align:middle;cursor:pointer;background:url(../bootflat/img/check_flat/default.png) no-repeat;border:none;*display:inline}.icheckbox_flat{background-position:0 0}.icheckbox_flat.checked{background-position:-22px 0}.icheckbox_flat.disabled{cursor:default;background-position:-44px 0}.icheckbox_flat.checked.disabled{background-position:-66px 0}.iradio_flat{background-position:-88px 0}.iradio_flat.checked{background-position:-110px 0}.iradio_flat.disabled{cursor:default;background-position:-132px 0}.iradio_flat.checked.disabled{background-position:-154px 0}.toggle{height:32px}.toggle input[type=checkbox],.toggle input[type=radio]{width:0;height:0;padding:0;margin:0;text-indent:-100000px;filter:alpha(opacity=0);opacity:0}.toggle .handle{position:relative;top:-20px;left:0;&#13;\n display:block;width:50px;height:32px;background-color:#fff;border-radius:19px;-webkit-box-shadow:inset 0 0 0 1px #b8bfc8;-moz-box-shadow:inset 0 0 0 1px #b8bfc8;box-shadow:inset 0 0 0 1px #b8bfc8;-webkit-border-radius:19px;-moz-border-radius:19px}.toggle .handle:after,.toggle .handle:before{position:absolute;top:1px;left:1px;display:block;width:30px;height:30px;&#13;\n content:\"\";background-color:#fff;border-radius:30px;-webkit-box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;-moz-box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;transition:all .25s ease-in-out;-webkit-border-radius:30px;-moz-border-radius:30px}.toggle input[type=checkbox]:disabled+.handle,.toggle input[type=checkbox]:disabled+.handle:after,.toggle input[type=checkbox]:disabled+.handle:before,.toggle input[type=radio]:disabled+.handle,.toggle input[type=radio]:disabled+.handle:after,.toggle input[type=radio]:disabled+.handle:before{background-color:#e6e9ed;filter:alpha(opacity=60);&#13;\n opacity:.6}.toggle input[type=checkbox]:checked+.handle:before,.toggle input[type=radio]:checked+.handle:before{width:50px;background-color:#a0d468}.toggle input[type=checkbox]:checked+.handle:after,.toggle input[type=radio]:checked+.handle:after{left:20px;-webkit-box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3;-moz-box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3;box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3}.calendar{padding:20px;color:#fff;background-color:#fd9883;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.calendar .unit{float:left;width:14.28%;text-align:center}.calendar .years .prev{text-align:left}.calendar .years .next{text-align:right}.calendar .years .next em,.calendar .years .prev em{position:relative;display:inline-block;width:34px;height:34px;cursor:pointer;border:1px solid #fff;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.calendar .years .next em:before,.calendar .years .prev em:before{position:absolute;display:block;width:0;height:0;margin-top:6px;font-size:0;content:\"\";border-style:solid;border-width:7px}.calendar .years .prev em:before{top:3px;left:4px;border-color:transparent #fff transparent transparent}.calendar .years .next em:before{top:3px;left:13px;border-color:transparent transparent transparent #fff}.calendar .years .next em:active,.calendar .years .next em:hover,.calendar .years .prev em:active,.calendar .years .prev em:hover{border-color:#e9573f}.calendar .years .prev em:active:before,.calendar .years .prev em:hover:before{border-color:transparent #e9573f transparent transparent}.calendar .years .next em:active:before,.calendar .years .next em:hover:before{border-color:transparent transparent transparent #e9573f}.calendar .years .monyear{float:left;width:71.42%;height:34px;line-height:34px;text-align:center}.calendar .days{padding-top:15px;&#13;\n margin-top:15px;border-top:1px solid #ee7f6d}.calendar .days .unit{height:34px;&#13;\n margin-bottom:3px;line-height:34px;text-align:center}.calendar .days .unit b{width:34px;height:34px;font-weight:400;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.calendar .days .unit.active b,.calendar .days .unit:active b,.calendar .days .unit:hover b{display:inline-block;color:#e9573f;cursor:pointer;background-color:#fff;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.calendar .days .unit.older b{width:auto;height:auto;color:#e9573f;cursor:default;background-color:transparent}.pricing ul{padding:0;list-style:none}.pricing .unit{position:relative;display:inline-block;min-width:250px;text-align:center;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.pricing .unit.active{top:5px;z-index:1;margin-right:-36px;margin-left:-36px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);-moz-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6)}.pricing .unit.active .price-title h3{font-size:40px}@media screen and (max-width:767px){.pricing .unit{display:block;margin-bottom:20px}.pricing .unit.active{top:0;margin-right:0;margin-left:0}.pricing .unit.active .price-title h3{font-size:30px}}.pricing .price-title{padding:20px 20px 10px;color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px}.pricing .price-title h3,.pricing .price-title h3&gt;p{margin:0}.pricing .price-body{padding:20px 20px 10px}.pricing .price-body ul{padding-top:10px}.pricing .price-body li{margin-bottom:10px}.pricing .price-body h4{margin:0}.pricing .price-foot{padding:20px;background-color:#e6e9ed;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.pricing .price-primary .price-title{background-color:#4fc1e9}.pricing .price-primary .price-body{background-color:#d7f1fa}.pricing .price-primary .price-body ul{border-top:1px solid #aae1f4}.pricing .price-success .price-title{background-color:#a0d468}.pricing .price-success .price-body{background-color:#ebf6df}.pricing .price-success .price-body ul{border-top:1px solid #d2ebb7}.pricing .price-warning .price-title{background-color:#ffce54}.pricing .price-warning .price-body{background-color:#fffaed}.pricing .price-warning .price-body ul{border-top:1px solid #ffebba}.alert h4{margin-bottom:10px;font-weight:700}.alert-dismissable .close{color:#000}.alert-info{background-color:#7cd1ef;border:#4fc1e9}.alert-warning{background-color:#ffdd87;border:#ffce54}.alert-danger{background-color:#f2838f;border:#ed5565}.alert-success{background-color:#b9df90;border:#a0d468}.alert .alert-link{text-decoration:underline;&#13;\n cursor:pointer;filter:alpha(opacity=65);opacity:.65}.alert .alert-link:focus,.alert .alert-link:hover{filter:alpha(opacity=45);opacity:.45}.alert .btn-link,.alert .btn-link:focus,.alert .btn-link:hover{color:#000;filter:alpha(opacity=65);opacity:.65}.alert .btn-link:focus,.alert .btn-link:hover{text-decoration:none;filter:alpha(opacity=40);opacity:.4}.nav-tabs{background-color:#e6e9ed;&#13;\n border-bottom:none;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.nav-tabs&gt;li{margin-bottom:0;border-left:1px solid #ccd1d9}.nav-tabs&gt;li:first-child{border-left:none}.nav-tabs&gt;li&gt;a{margin-right:0;color:#434a54;border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.nav-tabs&gt;li&gt;a:focus,.nav-tabs&gt;li&gt;a:hover{background-color:#f5f7fa;border:none}.nav-tabs&gt;li.active&gt;a,.nav-tabs&gt;li.active&gt;a:focus,.nav-tabs&gt;li.active&gt;a:hover{background-color:#fff!important;border:none}.nav-tabs .dropdown-toggle,.nav-tabs .dropdown-toggle:focus,.nav-tabs .dropdown-toggle:hover{color:#434a54}.nav-tabs li.dropdown.open .dropdown-toggle{color:#434a54;background-color:#f5f7fa}.nav-tabs li.dropdown.active.open .dropdown-toggle{color:#434a54}.nav-tabs .dropdown-toggle .caret,.nav-tabs .dropdown-toggle:focus .caret,.nav-tabs .dropdown-toggle:hover .caret,.nav-tabs li.dropdown.active .dropdown-toggle .caret,.nav-tabs li.dropdown.active.open .dropdown-toggle .caret,.nav-tabs li.dropdown.open .caret,.nav-tabs li.dropdown.open a:focus .caret,.nav-tabs li.dropdown.open a:hover .caret,.nav-tabs li.dropdown.open.active .caret{border-top-color:#434a54;border-bottom-color:#434a54}.nav-tabs.nav-justified&gt;li&gt;a{margin-bottom:0;text-align:center}.nav-tabs.nav-justified&gt;.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs.nav-justified&gt;li&gt;a{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs.nav-justified&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.nav-tabs.nav-justified&gt;li:last-child&gt;a{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.nav-tabs.nav-justified&gt;.active&gt;a,.nav-tabs.nav-justified&gt;.active&gt;a:focus,.nav-tabs.nav-justified&gt;.active&gt;a:hover{border:none}@media (min-width:768px){.nav-tabs.nav-justified&gt;li&gt;a{border-bottom:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs.nav-justified&gt;.active&gt;a,.nav-tabs.nav-justified&gt;.active&gt;a:focus,.nav-tabs.nav-justified&gt;.active&gt;a:hover{border-bottom:none}}.tab-content{padding:10px}.tabs-below .nav-tabs{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.tabs-below .nav-tabs&gt;li:first-child&gt;a{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.tabs-below .nav-tabs.nav-justified&gt;li:last-child&gt;a{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.tabs-left .nav-tabs&gt;li,.tabs-right .nav-tabs&gt;li{float:none;border-top:1px solid #ccd1d9;border-left:none}.tabs-left .nav-tabs&gt;li:first-child,.tabs-right .nav-tabs&gt;li:first-child{border-top:none}.tabs-left .nav-tabs&gt;li&gt;a,.tabs-right .nav-tabs&gt;li&gt;a{min-width:74px;margin-right:0}.tabs-left .nav-tabs{float:left;margin-right:19px;border-radius:4px 0 0 4px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px}.tabs-left .nav-tabs&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.tabs-left .nav-tabs&gt;li:last-child&gt;a{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.tabs-right .nav-tabs{float:right;margin-left:19px;border-radius:0 4px 4px 0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0}.tabs-right .nav-tabs&gt;li:first-child&gt;a{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.tabs-right .nav-tabs&gt;li:last-child&gt;a{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.nav-pills&gt;li.active&gt;a,.nav-pills&gt;li.active&gt;a:focus,.nav-pills&gt;li.active&gt;a:hover{color:#fff;background-color:#3bafda}.nav-pills&gt;li&gt;a{color:#3bafda}.nav-pills&gt;li&gt;a:hover{color:#434a54;background-color:#e6e9ed}.nav-pills&gt;.active&gt;a&gt;.badge{color:#3bafda}.nav-pills .open&gt;a,.nav-pills .open&gt;a:focus,.nav-pills .open&gt;a:hover{color:#434a54;background-color:#e6e9ed}.navbar-form{padding:0!important}.navbar-default{background-color:#37bc9b;border-color:#37bc9b}.navbar-default .btn-link,.navbar-default .navbar-brand,.navbar-default .navbar-link{color:#26816a}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover,.navbar-default .navbar-link:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav&gt;li&gt;a,.navbar-default .navbar-text{color:#26816a}.navbar-default .navbar-nav&gt;li&gt;a:focus,.navbar-default .navbar-nav&gt;li&gt;a:hover{color:#fff}.navbar-default .navbar-nav&gt;.active&gt;a,.navbar-default .navbar-nav&gt;.active&gt;a:focus,.navbar-default .navbar-nav&gt;.active&gt;a:hover{color:#fff;background-color:#48cfad}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,.navbar-default .navbar-nav&gt;.disabled&gt;a,.navbar-default .navbar-nav&gt;.disabled&gt;a:focus,.navbar-default .navbar-nav&gt;.disabled&gt;a:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#2e9c81;background-color:transparent}.navbar-default .navbar-toggle{background-color:#26816a;border-color:#26816a}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#2b957a;border-color:#2b957a}.navbar-default .navbar-toggle .icon-bar{background-color:#37bc9b}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#48cfad}.navbar-default .navbar-nav&gt;.open&gt;a,.navbar-default .navbar-nav&gt;.open&gt;a:focus,.navbar-default .navbar-nav&gt;.open&gt;a:hover{color:#fff;background-color:#37bc9b}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu&gt;.divider,.navbar-default .navbar-nav&gt;li&gt;a:focus,.navbar-default .navbar-nav&gt;li&gt;a:hover{background-color:#48cfad}.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a{color:#26816a}.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a,.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a:hover,.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a:hover{color:#fff;background-color:#48cfad}.navbar-default .navbar-nav .open .dropdown-menu&gt;.dropdown-header{color:#26816a}.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a,.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:hover{color:#2b957a}}.navbar-inverse{background-color:#333;border-color:#333}.navbar-inverse .btn-link,.navbar-inverse .navbar-brand,.navbar-inverse .navbar-link{color:#8c8c8c}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover,.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-link:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav&gt;li&gt;a,.navbar-inverse .navbar-text{color:#8c8c8c}.navbar-inverse .navbar-nav&gt;li&gt;a:focus,.navbar-inverse .navbar-nav&gt;li&gt;a:hover{color:#fff}.navbar-inverse .navbar-nav&gt;.active&gt;a,.navbar-inverse .navbar-nav&gt;.active&gt;a:focus,.navbar-inverse .navbar-nav&gt;.active&gt;a:hover{color:#fff;background-color:#000}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .navbar-nav&gt;.disabled&gt;a,.navbar-inverse .navbar-nav&gt;.disabled&gt;a:focus,.navbar-inverse .navbar-nav&gt;.disabled&gt;a:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#666;background-color:transparent}.navbar-inverse .navbar-toggle{background-color:#000;border-color:#000}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#1a1a1a;border-color:#1a1a1a}.navbar-inverse .navbar-toggle .icon-bar{background-color:#8c8c8c}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#000}.navbar-inverse .navbar-nav&gt;.open&gt;a,.navbar-inverse .navbar-nav&gt;.open&gt;a:focus,.navbar-inverse .navbar-nav&gt;.open&gt;a:hover{color:#fff;background-color:#000}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.divider,.navbar-inverse .navbar-nav&gt;li&gt;a:focus,.navbar-inverse .navbar-nav&gt;li&gt;a:hover{background-color:#000}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a{color:#8c8c8c}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a:hover{color:#fff;background-color:#000}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.dropdown-header{color:#bfbfbf}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:hover{color:#666}}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.list-group-item{border-color:transparent;border-top-color:#e6e9ed}.list-group-item:first-child{border-top:none}.list-group-item-heading,a.list-group-item{color:#434a54}a.list-group-item .list-group-item-heading{font-size:16px;color:#434a54}a.list-group-item:focus,a.list-group-item:hover{background-color:#e6e9ed}a.list-group-item.active,a.list-group-item.active:focus,a.list-group-item.active:hover{background-color:#4fc1e9;border-color:#4fc1e9}a.list-group-item.active .list-group-item-text,a.list-group-item.active:focus .list-group-item-text,a.list-group-item.active:hover .list-group-item-text{color:#fff}.list-group-item-primary{color:#22b1e3;background-color:#4fc1e9;border-color:#3bafda transparent transparent}.list-group-item-primary:first-child{border-color:transparent}a.list-group-item-primary{color:#126d8d}a.list-group-item-primary:focus,a.list-group-item-primary:hover{color:#fff}a.list-group-item-primary.active,a.list-group-item-primary:focus,a.list-group-item-primary:hover{background-color:#3bafda;border-color:#4fc1e9 transparent transparent}.list-group-item-success{color:#87c940;background-color:#a0d468;border-color:#8cc152 transparent transparent}.list-group-item-success:first-child{border-color:transparent}a.list-group-item-success{color:#537f24}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#fff}a.list-group-item-success.active,a.list-group-item-success:focus,a.list-group-item-success:hover{background-color:#8cc152;border-color:#a0d468 transparent transparent}.list-group-item-warning{color:#ffbf21;background-color:#ffce54;border-color:#f6bb42 transparent transparent}.list-group-item-warning:first-child{border-color:transparent}a.list-group-item-warning{color:#876000}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#fff}a.list-group-item-warning.active,a.list-group-item-warning:focus,a.list-group-item-warning:hover{background-color:#f6bb42;border-color:#ffce54 transparent transparent}.list-group-item-info{color:#2fb593;background-color:#48cfad;border-color:#37bc9b transparent transparent}.list-group-item-info:first-child{border-color:transparent}a.list-group-item-info{color:#1a6451}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#fff}a.list-group-item-info.active,a.list-group-item-info:focus,a.list-group-item-info:hover{background-color:#37bc9b;border-color:#48cfad transparent transparent}.list-group-item-danger{color:#e8273b;background-color:#ed5565;border-color:#da4453 transparent transparent}.list-group-item-danger:first-child{border-color:transparent}a.list-group-item-danger{color:#99101f}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#fff}a.list-group-item-danger.active,a.list-group-item-danger:focus,a.list-group-item-danger:hover{background-color:#da4453;border-color:#ed5565 transparent transparent}.media-list{color:#aab2bd}.media-heading{font-size:14px;color:#434a54}.modal-content{color:#434a54;&#13;\n border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.modal-header{border-bottom:none}.modal-body{padding:0 15px}.modal-footer{border-top:none}.well{padding:10px;color:#434a54;background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.well blockquote{border-color:#ccd1d9}.well-lg{padding:20px}.well-sm{padding:5px}.thumbnail{border:none;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.thumbnail a&gt;img,.thumbnail&gt;img{width:100%}.thumbnail .caption{font-size:14px}.thumbnail .caption h1,.thumbnail .caption h2,.thumbnail .caption h3,.thumbnail .caption h4,.thumbnail .caption h5,.thumbnail .caption h6{margin:5px 0 10px;font-size:16px}.jumbotron{padding:0;&#13;\n margin-bottom:20px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.container .jumbotron{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.jumbotron&gt;.jumbotron-photo img{width:100%;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.jumbotron .jumbotron-contents{padding:20px;color:#434a54}.jumbotron .carousel,.jumbotron .carousel-inner,.jumbotron .carousel-inner&gt;.item.active img{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.jumbotron .carousel-inner&gt;.item&gt;a&gt;img,.jumbotron .carousel-inner&gt;.item&gt;img{width:100%}.jumbotron .carousel-control.left{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.jumbotron .carousel-control.right{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.jumbotron .h1,.jumbotron .h2,.jumbotron h1,.jumbotron h2{font-weight:400}.jumbotron .h1,.jumbotron h1{font-size:28px}.jumbotron .h2,.jumbotron h2{font-size:24px}.jumbotron p{font-size:14px}@media screen and (min-width:768px){.container .jumbotron,.jumbotron{padding:0}.jumbotron .h1,.jumbotron h1{font-size:28px}}.panel{background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.panel .list-group{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.panel .list-group-item:first-child{border-top:1px solid #e6e9ed}.panel-heading{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel-title{font-size:14px;font-weight:400;color:#434a54}.panel-footer{background-color:#e6e9ed;border-top-color:#e6e9ed;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel-default{border-color:#e6e9ed}.panel-default&gt;.panel-heading{color:#434a54;background-color:#e6e9ed;border-color:#e6e9ed}.panel-primary{border-color:#3bafda}.panel-primary&gt;.panel-heading{color:#fff;background-color:#3bafda;border-color:#3bafda}.panel-success{border-color:#8cc152}.panel-success&gt;.panel-heading{color:#fff;background-color:#8cc152;border-color:#8cc152}.panel-info{border-color:#37bc9b}.panel-info&gt;.panel-heading{color:#fff;background-color:#37bc9b;border-color:#37bc9b}.panel-warning{border-color:#f6bb42}.panel-warning&gt;.panel-heading{color:#fff;background-color:#f6bb42;border-color:#f6bb42}.panel-danger{border-color:#da4453}.panel-danger&gt;.panel-heading{color:#fff;background-color:#da4453;border-color:#da4453}.panel-danger&gt;.panel-heading&gt;.panel-title,.panel-info&gt;.panel-heading&gt;.panel-title,.panel-primary&gt;.panel-heading&gt;.panel-title,.panel-success&gt;.panel-heading&gt;.panel-title,.panel-warning&gt;.panel-heading&gt;.panel-title{color:#fff}.panel&gt;.list-group:first-child .list-group-item:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child,.panel&gt;.table:first-child{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel&gt;.list-group:last-child .list-group-item:last-child{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:first-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:first-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:first-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:first-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:first-child{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:last-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:last-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:last-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:last-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:last-child{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.panel&gt;.table-responsive:last-child&gt;.table:last-child,.panel&gt;.table:last-child{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:first-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:first-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:first-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:first-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:first-child{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:last-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:last-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:last-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:last-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:last-child{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.panel&gt;.panel-body+.table,.panel&gt;.panel-body+.table-responsive{border-top-color:#e6e9ed}.panel-group .panel{background-color:transparent;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0}.panel-group .panel+.panel{margin-top:0}.panel-group .panel-heading{padding:0;border-bottom-color:transparent}.panel-group .panel-heading+.panel-collapse .panel-body{padding:15px 0;border-top-color:transparent}.panel-group .panel-title a{display:block;padding:10px 0}.panel-group-lists .panel{background-color:#fff;&#13;\n border-bottom:1px solid #e6e9ed;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.panel-group-lists .panel:first-child{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel-group-lists .panel:last-child{border-bottom:none;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel-group-lists .panel-heading+.panel-collapse .panel-body{padding:15px;border-top-color:#e6e9ed}.panel-group-lists .panel-title a{padding:10px 15px;color:#434a54}.panel-group-lists .panel-title a:active,.panel-group-lists .panel-title a:focus,.panel-group-lists .panel-title a:hover{color:#aab2bd}.footer{padding:40px 0;background-color:#434a54}.footer-logo,.footer-nav{float:left;width:20%;padding:0 20px}@media (max-width:768px){.footer-logo{margin-bottom:20px}.footer-logo,.footer-nav{display:block;&#13;\n float:none;width:100%}}.footer-logo{height:32px;&#13;\n margin-top:-5px;line-height:32px}.footer-logo img{margin-right:10px}.footer-logo a{font-size:20px;font-weight:700;color:#fff}.footer-logo a:active,.footer-logo a:hover{text-decoration:none}.footer-nav .nav-title{margin-bottom:15px;color:#e6e9ed}.footer-nav .nav-item{line-height:28px}.footer-nav .nav-item&gt;a{color:#aab2bd}.footer-nav .nav-item&gt;a:active,.footer-nav .nav-item&gt;a:hover{color:#ccd1d9;text-decoration:none}.footer-copyright{color:#aab2bd}.timeline dl{position:relative;top:0;padding:20px 0;margin:0}.timeline dl:before{position:absolute;top:0;bottom:0;left:50%;z-index:100;width:2px;margin-left:-1px;content:'';background-color:#ccd1d9}.timeline dl dt{position:relative;top:30px;z-index:200;width:120px;padding:3px 5px;margin:0 auto 30px;font-weight:400;color:#fff;text-align:center;background-color:#aab2bd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.timeline dl dd{position:relative;z-index:200}.timeline dl dd .circ{position:absolute;top:40px;left:50%;z-index:200;width:22px;height:22px;margin-left:-11px;background-color:#4fc1e9;border:4px solid #f5f7fa;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.timeline dl dd .time{position:absolute;top:31px;left:50%;display:inline-block;width:100px;padding:10px 20px;color:#4fc1e9}.timeline dl dd .events{position:relative;width:47%;padding:10px 10px 0;margin-top:31px;background-color:#fff;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.timeline dl dd .events:before{position:absolute;top:12px;width:0;height:0;content:'';border-style:solid;border-width:6px}.timeline dl dd .events .events-object{margin-right:10px}.timeline dl dd .events .events-body{overflow:hidden;zoom:1}.timeline dl dd .events .events-body .events-heading{margin:0 0 10px;font-size:14px}.timeline dl dd.pos-right .time{margin-left:-100px;text-align:right}.timeline dl dd.pos-right .events{float:right}.timeline dl dd.pos-right .events:before{left:-12px;border-color:transparent #fff transparent transparent}.timeline dl dd.pos-left .time{margin-left:0;text-align:left}.timeline dl dd.pos-left .events{float:left}.timeline dl dd.pos-left .events:before{right:-12px;border-color:transparent transparent transparent #fff}@media screen and (max-width:767px){.timeline dl:before{left:60px}.timeline dl dt{margin:0 0 30px}.timeline dl dd .circ{left:60px}.timeline dl dd .time{left:0}.timeline dl dd.pos-left .time{padding:10px 0;&#13;\n margin-left:0;text-align:left}.timeline dl dd.pos-left .events{float:right;width:84%}.timeline dl dd.pos-left .events:before{left:-12px;border-color:transparent #fff transparent transparent}.timeline dl dd.pos-right .time{padding:10px 0;&#13;\n margin-left:0;text-align:left}.timeline dl dd.pos-right .events{float:right;width:84%}}.dropdown-menu{background-color:#434a54;border:none}.dropdown-menu .dropdown-header{padding:5px 20px;font-size:14px;font-weight:700;color:#aab2bd}.dropdown-menu li a{padding:5px 20px;color:#fff}.dropdown-menu .active a,.dropdown-menu .active a:focus,.dropdown-menu .active a:hover,.dropdown-menu li a:focus,.dropdown-menu li a:hover{color:#fff;background-color:#656d78;outline:0}.dropdown-menu .disabled a,.dropdown-menu .disabled a:focus,.dropdown-menu .disabled a:hover{color:#656d78;cursor:default}.dropdown-menu .divider{background-color:#656d78;border-bottom:none}.dropup .dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:0 4px 4px;-webkit-border-radius:0 4px 4px;-moz-border-radius:0 4px 4px}.dropdown-submenu:hover .dropdown-menu{display:block}.dropup .dropdown-submenu .dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;border-radius:4px 4px 4px 0;-webkit-border-radius:4px 4px 4px 0;-moz-border-radius:4px 4px 4px 0}.dropdown-submenu&gt;a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;content:\" \";border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#fff}.dropdown-default .dropdown-submenu&gt;a:after{border-left-color:#434a54}.dropdown-submenu:hover a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left .dropdown-menu{left:-100%;margin-left:10px;border-radius:4px 0 4px 4px;-webkit-border-radius:4px 0 4px 4px;-moz-border-radius:4px 0 4px 4px}</css><name>pe-bootflat.min.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 21:42:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>86b20b464fd27200ab4450af0310c7f2</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-bootflat.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_86b20b464fd27200ab4450af0310c7f2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 23:38:23</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5d12e30a4f167200ab4450af0310c7f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>pe-bootflat.min.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_assignments_u_due</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_due\" table=\"u_pe_training_assignments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Due&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_due&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;glide_date_time&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_assignments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 22:08:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c118874a4fd27200ab4450af0310c755&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Due&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_assignments_u_due&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 22:08:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5d12e30a4f167200ab4450af0310c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>u_pe_training_assignments.u_due</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_assignments_u_user_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_user\" label=\"User\" language=\"en\" table=\"u_pe_training_assignments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_user</element><help/><hint/><label>User</label><language>en</language><name>u_pe_training_assignments</name><plural>Users</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>64988b4a4fd27200ab4450af0310c7fb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_assignments_u_user_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:08</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>5d12e30a4f167200ab4450af0310c7f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments.User</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_ce022e824f927200ab4450af0310c72d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_training_course</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:19:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ce022e824f927200ab4450af0310c72d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_training_course</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_ce022e824f927200ab4450af0310c72d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:19:45</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9112270a4f167200ab4450af0310c7db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>u_pe_training_course</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_7c992e864f927200ab4450af0310c761</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Training\">4291e6824f927200ab4450af0310c7e4</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Training Prerequisites</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_pe_training_prerequisites</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:52:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>7c992e864f927200ab4450af0310c761</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Prerequisites</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_7c992e864f927200ab4450af0310c761</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:12:38</sys_updated_on><timeline_page/><title>Prerequisites</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9112e30a4f167200ab4450af0310c7f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>Prerequisites</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_course_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_pe_training_course\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;256&lt;/max_length&gt;&lt;name&gt;u_pe_training_course&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 21:10:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;8b3bf2024fd27200ab4450af0310c7a2&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_course_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 21:10:28&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9112e30a4f167200ab4450af0310c7f7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_course__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Training Course\" language=\"en\" table=\"u_pe_training_course\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Training Course</label><language>en</language><name>u_pe_training_course</name><plural>Training Courses</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:19:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>86022e824f927200ab4450af0310c717</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Course</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_course__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:19:44</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9112e30a4f167200ab4450af0310c7fa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_prerequisites_u_prerequisite_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_prerequisite\" label=\"Prerequisite\" language=\"en\" table=\"u_pe_training_prerequisites\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_prerequisite</element><help/><hint/><label>Prerequisite</label><language>en</language><name>u_pe_training_prerequisites</name><plural>Prerequisites</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:52:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>81992e864f927200ab4450af0310c77b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Prerequisite</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_prerequisites_u_prerequisite_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:52:43</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9512270a4f167200ab4450af0310c7da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>Training Prerequisites.Prerequisite</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_f1e85fbd4f1e320022f40ccf0310c7b5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TrainingController() {\n  var c = this;\n\n  c.enroll = function (item) {\n    c.server.get({\n      action: 'enroll',\n      sys_id: item.course\n    }).then(function (result) {\n      item.enrolled = result.data.enrolled;\n    });\n  };\n\n  c.remove = function (item) {\n    c.server.get({\n      action: 'remove',\n      sys_id: item.course\n    }).then(function () {\n      item.enrolled = null;\n    });\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$page-bg: #f5f5f5 !default;\n$primary-color: #117fc1 !default;\n$primary-color-darker: #0065d3 !default;\n$secondary-color: #2980b9 !default;\n$border-color: #1aa5be !default;\n$alternate-color: #34495e !default;\n\n.timeline {\n    dl dd {\n        .circ {\n            border: solid 2px #ccd1da;\n            i {\n                display: none;\n            }\n        }\n        &amp;amp;.success {\n            .circ {\n                border: none;\n                background-color: $page-bg;\n                color: #57c446;\n                i {\n                    display: block;\n                    font-size: 20px;\n                }\n            }\n        }\n        .fail {\n            .circ {\n                background-color: #ff0000;\n            }\n        }\n    }\n    &amp;amp;::before {\n        border: 0;\n    }\n    dl {\n        padding: 0;\n        dd {\n            .circ {\n                background-color: $page-bg;\n                top: auto;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n            .events {\n                &amp;amp;::before {\n                    display: none;\n                }\n                background-color: transparent;\n                margin-top: 0;\n                padding-top: 0;\n                .events-body .events-heading {\n                    margin-bottom: 25px;\n                }\n                .events-subheading {\n                    position: absolute;\n                    color: $primary-color;\n                }\n            }\n            &amp;amp;:last-child {\n                .events .events-body .events-heading:last-of-type {\n                    margin-bottom: 0;\n                }\n            }\n        }\n    }\n    @media screen and (max-width: 767px) {\n        dl {\n            &amp;amp;:before {\n                left: 15px;\n            }\n            dd {\n                &amp;amp;.pos-right .events {\n                    float: left;\n                    margin-left: 30px;\n                }\n                .circ {\n                    left: 15px;\n                }\n            }\n        }\n    }\n    .icon {\n        float: left;\n        margin-top: 3px;\n    }\n    .events-subheading {\n        margin-top: 5px;\n    }\n    .subheading-label {\n        margin-left: 10px;\n        float: left;\n        width: 72px;\n    }\n    .event-action {\n        button {\n            font-size: 12px;\n            padding: 7px 25px;\n            border: none;\n            border-radius: 3px;\n            background-color: $secondary-color;\n            color: white;\n            text-transform: uppercase;\n        }\n    }\n}\n\n.subheader {\n    .title {\n        margin: 0 -15px;\n        padding: 7px 15px;\n        background-color: $primary-color;\n        color: white;\n        font-size: 18px;\n        font-weight: bold;\n    }\n}\n\n.card {\n    background-color: #ffffff;\n    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n    padding: 20px;\n    h3 {\n        margin: 0;\n        font-size: 18px;\n        font-weight: 600;\n    }\n    .action {\n        margin: 0 -35px;\n        margin-top: 10px;\n        button {\n            border-radius: 0;\n        }\n    }\n}\n\n.choices {\n    button {\n        border-radius: 3px;\n        background-color: #ffffff;\n        border: solid 2px $border-color;\n        color: $border-color;\n        padding: 10px 0;\n        font-size: 22px;\n        font-weight: 600;\n        &amp;amp;.active {\n            background-color: $border-color;\n            color: white;\n        }\n    }\n}\n\n.action {\n    margin: 0 -15px;\n    button {\n        border: none;\n        width: 100%;\n        height: 80px;\n        background-color: $border-color;\n        color: white;\n        font-size: 28px;\n        font-weight: 600;\n        text-transform: uppercase;\n        padding: 20px 0;\n    }\n}\n\n.action-table-list {\n    .warning {\n        font-size: 13px;\n        color: #d35400;\n        text-transform: uppercase;\n    }\n}\n\n.subheader {\n    .title {\n        display: flex;\n        align-items: center;\n    }\n    .subheader-title {\n        flex-grow: 1;\n    }\n    .remaining {\n        position: relative;\n        font-size: 14px;\n        font-weight: normal;\n        padding-left: 30px;\n        .count {\n            background-color: white;\n            color: $secondary-color;\n            border-radius: 50%;\n            width: 25px;\n            height: 25px;\n            display: flex;\n            position: absolute;\n            justify-content: center;\n            align-items: center;\n            left: 0;\n            top: -3px;\n        }\n    }\n}\n\n.timeline {\n    .event-action {\n        position: absolute;\n        right: 0;\n        top: -4px;\n    }\n    .events-body-extra {\n        position: absolute;\n        top: 20px;\n    }\n    dl dd .events .events-body .events-heading {\n        margin-bottom: 75px;\n    }\n    .pre-requisite {\n        font-size: 13px;\n        font-weight: 600;\n        color: #d35400;\n        .pre-requisite-label {\n            text-transform: uppercase;\n        }\n        .pre-requisite-items {\n            padding-left: 0;\n            .pre-requisite-item {\n                list-style: none;\n                font-weight: lighter;\n                font-size: 12px;\n            }\n        }\n    }\n    .enrolled {\n        color: $primary-color-darker;\n        text-transform: uppercase;\n        font-size: 12px;\n        font-weight: 600;\n    }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-training&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Training&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Training Category\",\"hint\":\"The training category to show in this widget (leave blank to use 'category' parameter passed in via URL)\",\"name\":\"category\",\"label\":\"Category\",\"type\":\"reference\",\"value\":\"u_pe_training_category\",\"ed\":{\"reference\":\"u_pe_training_category\"}}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function($sp) {\n\tvar obj;\n  var gr;\n\n\tvar category = options.category || $sp.getParameter('category');\n\n\tif (input.action == 'remove') {\n\n\t\tgr = new GlideRecord('u_pe_training_assignments');\n\t\tif (gr.get(input.sys_id)) {\n\t\t\tgr.u_enrolled = \"\";\n\t\t\tgr.update();\n\t\t}\n\t\treturn;\n\t}\n\n\tif (input.action == 'enroll') {\n\t\tgr = new GlideRecord('u_pe_training_assignments');\n\t\tif (gr.get(input.sys_id)) {\n\t\t\tvar now = gs.nowDateTime();\n\t\t\tgr.u_enrolled = now;\n\t\t\tdata.enrolled = now;\n\t\t\tgr.update();\n\t\t}\n\t\treturn;\n\t}\n\n\tdata.item = {};\n\tgr = new GlideRecord('u_pe_training_category');\n\tif (gr.get(category)) {\n\t\tdata.item.title = gr.u_name.toString();\n\t} else {\n\t\treturn;\n\t}\n\n\tgr = new GlideRecord('u_pe_training_assignments');\n\tgr.addQuery('u_course.u_category', category);\n\tgr.addQuery('u_user', gs.getUserID());\n\tgr.orderBy('u_course.u_order');\n\tgr.query();\n\tdata.item.remaining = 0;\n\tdata.items = [];\n\tvar training_list = [];\n\tdata.requirements = {};\n\tvar training_completed = {};\n\twhile (gr.next()) {\n\t\tobj = {};\n\n\t\tobj.name = gr.u_course.u_name.toString();\n\t\tobj.course = gr.sys_id.toString();\n\t\tobj.sys_id = gr.u_training.sys_id.toString();\n\t\tobj.enrolled = gr.u_enrolled.toString();\n\t\tobj.completed = gr.u_completed.toString();\n\t\tobj.due = gr.u_due.toString();\n\n\t\tdata.requirements[obj.sys_id] = [];\n\t\ttraining_completed[obj.sys_id] = obj.completed;\n\n\t\tif (!obj.completed) {\n\t\t\tdata.item.remaining = data.item.remaining + 1;\n\t\t}\n\n\t\tdata.items.push(obj);\n\t\tif (!obj.completed) {\n\t\t\ttraining_list.push(gr.u_course.sys_id.toString());\n\t\t}\n\t}\n\n\n\tgr = new GlideRecord('u_pe_training_prerequisites');\n\tgr.addQuery('u_course', 'IN', training_list);\n\tgr.query();\n\n\twhile (gr.next()) {\n\t\tobj = {};\n\t\tobj.sys_id = gr.u_course.sys_id.toString();\n\t\tobj.title = gr.u_course.u_name.toString();\n\n\t\tvar training_id = gr.u_prerequisite.sys_id.toString();\n\n\t\tif (!training_completed[obj.sys_id]) {\n\t\t\tdata.requirements[training_id].push(obj);\n\t\t}\n\t}\n\n\n})($sp);]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 04:41:00&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f1e85fbd4f1e320022f40ccf0310c7b5&lt;/sys_id&gt;&lt;sys_mod_count&gt;75&lt;/sys_mod_count&gt;&lt;sys_name&gt;Training&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_f1e85fbd4f1e320022f40ccf0310c7b5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 23:11:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"c.data.items\"&gt;\n    &lt;div class=\"subheader\"&gt;\n        &lt;div class=\"title\"&gt;\n            &lt;div class=\"subheader-title\"&gt;{{c.data.item.title}}&lt;/div&gt;\n            &lt;div class=\"remaining\"&gt;\n                &lt;span class=\"count\"&gt;{{c.data.item.remaining}}&lt;/span&gt; Remaining\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"content\"&gt;\n        &lt;div class=\"timeline\"&gt;\n            &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-md-12\"&gt;\n                    &lt;dl&gt;\n                        &lt;dd class=\"pos-right clearfix circ-wrapper\" ng-repeat=\"item in c.data.items track by $index\" ng-class=\"{'success' : item.completed}\"&gt;\n                            &lt;div class=\"circ\"&gt;\n                                &lt;i class=\"fa fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                            &lt;/div&gt;\n                            &lt;div class=\"events\"&gt;\n                                &lt;div class=\"events-body\"&gt;\n                                    &lt;div&gt;\n                                        &lt;div class=\"events-heading\"&gt;{{item.name}}&lt;/div&gt;\n                                    &lt;/div&gt;\n                                &lt;/div&gt;\n                                &lt;div class=\"events-body-extra\"&gt;\n                                    &lt;div class=\"enrolled\" ng-show=\"item.enrolled &amp;&amp; !  item.completed\"&gt;Enrolled&lt;/div&gt;\n                                    &lt;div class=\"pre-requisite\" ng-show=\"!item.enrolled &amp;&amp;  !item.completed &amp;&amp; c.data.requirements[item.sys_id].length\"&gt;\n                                        &lt;span class=\"pre-requisite-label\"&gt;Pre-requisite&lt;/span&gt;\n                                        &lt;ul class=\"pre-requisite-items\"&gt;\n                                            &lt;li class=\"pre-requisite-item\" ng-repeat=\"requirement in c.data.requirements[item.sys_id]\"&gt;\n                                                {{requirement.title}}\n                                            &lt;/li&gt;\n                                        &lt;/ul&gt;\n                                    &lt;/div&gt;\n                                &lt;/div&gt;\n                            &lt;/div&gt;\n                            &lt;div class=\"event-action\"&gt;\n                                &lt;button ng-show=\"!item.enrolled &amp;&amp; c.data.requirements[item.sys_id].length == 0\" ng-click=\"c.enroll(item)\"&gt;\n                                    Enroll\n                                &lt;/button&gt;\n                                &lt;button ng-show=\"item.enrolled &amp;&amp; !item.completed\" ng-click=\"c.remove(item)\"&gt;\n                                    Remove\n                                &lt;/button&gt;\n                            &lt;/div&gt;\n                        &lt;/dd&gt;\n                    &lt;/dl&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n&lt;div ng-if=\"!c.data.items\"&gt;\n  &lt;div class=\"alert alert-warning\" role=\"alert\"&gt;No result found&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9512e30a4f167200ab4450af0310c7f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>Training</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_category_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_training_category\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_category&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:17:50&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4291e6824f927200ab4450af0310c7e9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_training_category&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_category_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:17:50&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9512e30a4f167200ab4450af0310c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_category</table>\n<target_name>Training Category</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_category__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Training Category\" language=\"en\" table=\"u_pe_training_category\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Training Category</label><language>en</language><name>u_pe_training_category</name><plural>Training Categories</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8291e6824f927200ab4450af0310c7fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Category</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_category__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:17:50</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9512e30a4f167200ab4450af0310c7f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_category</table>\n<target_name>Training Category</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_46b06bc64f167200ab4450af0310c7a6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Training widget dependencies\">1d92c7464fd27200ab4450af0310c7d3</sp_dependency><sp_widget display_value=\"Training\">f1e85fbd4f1e320022f40ccf0310c7b5</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 23:53:37</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>46b06bc64f167200ab4450af0310c7a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training widget dependencies.Training</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_46b06bc64f167200ab4450af0310c7a6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 23:53:37</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9912e30a4f167200ab4450af0310c7f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>Training widget dependencies.Training</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_assignments_u_course</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_course\" table=\"u_pe_training_assignments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Course&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_course&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_pe_training_assignments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_pe_training_course\"&gt;u_pe_training_course&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 22:08:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;96e7874a4fd27200ab4450af0310c75e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Course&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_assignments_u_course&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 22:08:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9912e30a4f167200ab4450af0310c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>u_pe_training_assignments.u_course</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_assignments_u_enrolled_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_enrolled\" label=\"Enrolled\" language=\"en\" table=\"u_pe_training_assignments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_enrolled</element><help/><hint/><label>Enrolled</label><language>en</language><name>u_pe_training_assignments</name><plural>Enrolled</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a8988b4a4fd27200ab4450af0310c7f9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Enrolled</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_assignments_u_enrolled_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:08</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9912e30a4f167200ab4450af0310c7f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments.Enrolled</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_a5e74f0a4fd27200ab4450af0310c7e5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Training Assignments</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_training_assignments</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a5e74f0a4fd27200ab4450af0310c7e5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Training Assignments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_a5e74f0a4fd27200ab4450af0310c7e5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:07</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9d12e30a4f167200ab4450af0310c7f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_prerequisites_u_prerequisite</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_prerequisite\" table=\"u_pe_training_prerequisites\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Prerequisite&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_prerequisite&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_pe_training_prerequisites&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_pe_training_course\"&gt;u_pe_training_course&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:52:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4b592a864f927200ab4450af0310c751&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Prerequisite&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_prerequisites_u_prerequisite&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:52:42&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>9d12e30a4f167200ab4450af0310c7f7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>u_pe_training_prerequisites.u_prerequisite</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_prerequisites_u_course_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_course\" label=\"Course\" language=\"en\" table=\"u_pe_training_prerequisites\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_course</element><help/><hint/><label>Course</label><language>en</language><name>u_pe_training_prerequisites</name><plural>Courses</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:52:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c5992e864f927200ab4450af0310c779</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Course</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_prerequisites_u_course_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:52:43</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d112270a4f167200ab4450af0310c7da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>Training Prerequisites.Course</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_1d92c7464fd27200ab4450af0310c7d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>Training widget dependencies</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 21:42:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1d92c7464fd27200ab4450af0310c7d3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Training widget dependencies</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_1d92c7464fd27200ab4450af0310c7d3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 21:43:15</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d112e30a4f167200ab4450af0310c7f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>Training widget dependencies</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_assignments_u_user</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_user\" table=\"u_pe_training_assignments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;User&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_user&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_pe_training_assignments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_user\"&gt;sys_user&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 22:08:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;fe18874a4fd27200ab4450af0310c75e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;User&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_assignments_u_user&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 22:08:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d112e30a4f167200ab4450af0310c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>u_pe_training_assignments.u_user</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_category_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_pe_training_category\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_pe_training_category</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:17:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c291e6824f927200ab4450af0310c7fe</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_category_u_name_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:17:50</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d112e30a4f167200ab4450af0310c7f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_category</table>\n<target_name>Training Category.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_59f0ebc64f167200ab4450af0310c728</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"pe-bootflat.min.css\">cea20b464fd27200ab4450af0310c763</sp_css_include><sp_dependency display_value=\"Training widget dependencies\">1d92c7464fd27200ab4450af0310c7d3</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 23:54:40</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>59f0ebc64f167200ab4450af0310c728</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-bootflat.min.css.Training widget dependencies</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_59f0ebc64f167200ab4450af0310c728</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 23:54:40</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d512e30a4f167200ab4450af0310c7f2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>pe-bootflat.min.css.Training widget dependencies</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_assignments_u_completed</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_completed\" table=\"u_pe_training_assignments\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Completed&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_completed&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;glide_date_time&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_training_assignments&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 22:08:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ab08874a4fd27200ab4450af0310c754&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Completed&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_assignments_u_completed&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 22:08:06&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d512e30a4f167200ab4450af0310c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>u_pe_training_assignments.u_completed</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_assignments_u_due_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_due\" label=\"Due\" language=\"en\" table=\"u_pe_training_assignments\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_due</element><help/><hint/><label>Due</label><language>en</language><name>u_pe_training_assignments</name><plural>Dues</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:08</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ec988b4a4fd27200ab4450af0310c7f7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Due</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_assignments_u_due_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:08:08</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d512e30a4f167200ab4450af0310c7f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Training Assignments.Due</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_70a162824f927200ab4450af0310c741</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Training Course</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_training_course</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:19:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>70a162824f927200ab4450af0310c741</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Training Course</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_70a162824f927200ab4450af0310c741</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:40:46</sys_updated_on><update_access>false</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d912e30a4f167200ab4450af0310c7f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_prerequisites_u_course</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_course\" table=\"u_pe_training_prerequisites\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Course&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_course&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_pe_training_prerequisites&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_pe_training_course\"&gt;u_pe_training_course&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:52:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1e096e464f927200ab4450af0310c7db&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Course&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_prerequisites_u_course&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:52:42&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>d912e30a4f167200ab4450af0310c7f7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_prerequisites</table>\n<target_name>u_pe_training_prerequisites.u_course</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_c9992e864f927200ab4450af0310c799</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_training_prerequisites</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:52:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c9992e864f927200ab4450af0310c799</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_training_prerequisites</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_c9992e864f927200ab4450af0310c799</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:52:43</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>dd12270a4f167200ab4450af0310c7da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table/>\n<target_name>u_pe_training_prerequisites</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_24988b4a4fd27200ab4450af0310c7e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Training\">4291e6824f927200ab4450af0310c7e4</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Training Assignments</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_pe_training_assignments</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles/><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 22:08:07</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>24988b4a4fd27200ab4450af0310c7e9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Assignments</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_24988b4a4fd27200ab4450af0310c7e9</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 22:12:01</sys_updated_on><timeline_page/><title>Assignments</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>dd12e30a4f167200ab4450af0310c7f3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_assignments</table>\n<target_name>Assignments</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_training_course_u_category</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_category\" table=\"u_pe_training_course\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Category&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_category&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_pe_training_course&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_pe_training_category\"&gt;u_pe_training_category&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:19:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a5a162824f927200ab4450af0310c745&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Category&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_training_course_u_category&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-24 19:19:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>dd12e30a4f167200ab4450af0310c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>u_pe_training_course.u_category</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_training_course_u_order_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_order\" label=\"Order\" language=\"en\" table=\"u_pe_training_course\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_order</element><help/><hint/><label>Order</label><language>en</language><name>u_pe_training_course</name><plural>Orders</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-24 19:19:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>02022e824f927200ab4450af0310c71b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Order</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_training_course_u_order_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-24 19:19:44</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Training widget (Platform Experience)\">1512e30a4f167200ab4450af0310c7f2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-24 23:59:35</sys_created_on>\n<sys_id>dd12e30a4f167200ab4450af0310c7f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-24 23:59:35</sys_updated_on>\n<table>u_pe_training_course</table>\n<target_name>Training Course.Order</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-foexp-training/widget/pe-foexp-training.u-body-html-template.html",
    "content": "<div ng-if=\"c.data.items\">\n    <div class=\"subheader\">\n        <div class=\"title\">\n            <div class=\"subheader-title\">{{c.data.item.title}}</div>\n            <div class=\"remaining\">\n                <span class=\"count\">{{c.data.item.remaining}}</span> Remaining\n            </div>\n        </div>\n    </div>\n    <div class=\"content\">\n        <div class=\"timeline\">\n            <div class=\"row\">\n                <div class=\"col-md-12\">\n                    <dl>\n                        <dd class=\"pos-right clearfix circ-wrapper\" ng-repeat=\"item in c.data.items track by $index\" ng-class=\"{'success' : item.completed}\">\n                            <div class=\"circ\">\n                                <i class=\"fa fa-check-circle\" aria-hidden=\"true\"></i>\n                            </div>\n                            <div class=\"events\">\n                                <div class=\"events-body\">\n                                    <div>\n                                        <div class=\"events-heading\">{{item.name}}</div>\n                                    </div>\n                                </div>\n                                <div class=\"events-body-extra\">\n                                    <div class=\"enrolled\" ng-show=\"item.enrolled && !  item.completed\">Enrolled</div>\n                                    <div class=\"pre-requisite\" ng-show=\"!item.enrolled &&  !item.completed && c.data.requirements[item.sys_id].length\">\n                                        <span class=\"pre-requisite-label\">Pre-requisite</span>\n                                        <ul class=\"pre-requisite-items\">\n                                            <li class=\"pre-requisite-item\" ng-repeat=\"requirement in c.data.requirements[item.sys_id]\">\n                                                {{requirement.title}}\n                                            </li>\n                                        </ul>\n                                    </div>\n                                </div>\n                            </div>\n                            <div class=\"event-action\">\n                                <button ng-show=\"!item.enrolled && c.data.requirements[item.sys_id].length == 0\" ng-click=\"c.enroll(item)\">\n                                    Enroll\n                                </button>\n                                <button ng-show=\"item.enrolled && !item.completed\" ng-click=\"c.remove(item)\">\n                                    Remove\n                                </button>\n                            </div>\n                        </dd>\n                    </dl>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<div ng-if=\"!c.data.items\">\n  <div class=\"alert alert-warning\" role=\"alert\">No result found</div>\n</div>"
  },
  {
    "path": "pe-foexp-training/widget/pe-foexp-training.u-client-script.js",
    "content": "function TrainingController() {\n  var c = this;\n\n  c.enroll = function (item) {\n    c.server.get({\n      action: 'enroll',\n      sys_id: item.course\n    }).then(function (result) {\n      item.enrolled = result.data.enrolled;\n    });\n  };\n\n  c.remove = function (item) {\n    c.server.get({\n      action: 'remove',\n      sys_id: item.course\n    }).then(function () {\n      item.enrolled = null;\n    });\n  };\n}"
  },
  {
    "path": "pe-foexp-training/widget/pe-foexp-training.u-css.scss",
    "content": "$page-bg: #f5f5f5 !default;\n$primary-color: #117fc1 !default;\n$primary-color-darker: #0065d3 !default;\n$secondary-color: #2980b9 !default;\n$border-color: #1aa5be !default;\n$alternate-color: #34495e !default;\n\n.timeline {\n    dl dd {\n        .circ {\n            border: solid 2px #ccd1da;\n            i {\n                display: none;\n            }\n        }\n        &.success {\n            .circ {\n                border: none;\n                background-color: $page-bg;\n                color: #57c446;\n                i {\n                    display: block;\n                    font-size: 20px;\n                }\n            }\n        }\n        .fail {\n            .circ {\n                background-color: #ff0000;\n            }\n        }\n    }\n    &::before {\n        border: 0;\n    }\n    dl {\n        padding: 0;\n        dd {\n            .circ {\n                background-color: $page-bg;\n                top: auto;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n            }\n            .events {\n                &::before {\n                    display: none;\n                }\n                background-color: transparent;\n                margin-top: 0;\n                padding-top: 0;\n                .events-body .events-heading {\n                    margin-bottom: 25px;\n                }\n                .events-subheading {\n                    position: absolute;\n                    color: $primary-color;\n                }\n            }\n            &:last-child {\n                .events .events-body .events-heading:last-of-type {\n                    margin-bottom: 0;\n                }\n            }\n        }\n    }\n    @media screen and (max-width: 767px) {\n        dl {\n            &:before {\n                left: 15px;\n            }\n            dd {\n                &.pos-right .events {\n                    float: left;\n                    margin-left: 30px;\n                }\n                .circ {\n                    left: 15px;\n                }\n            }\n        }\n    }\n    .icon {\n        float: left;\n        margin-top: 3px;\n    }\n    .events-subheading {\n        margin-top: 5px;\n    }\n    .subheading-label {\n        margin-left: 10px;\n        float: left;\n        width: 72px;\n    }\n    .event-action {\n        button {\n            font-size: 12px;\n            padding: 7px 25px;\n            border: none;\n            border-radius: 3px;\n            background-color: $secondary-color;\n            color: white;\n            text-transform: uppercase;\n        }\n    }\n}\n\n.subheader {\n    .title {\n        margin: 0 -15px;\n        padding: 7px 15px;\n        background-color: $primary-color;\n        color: white;\n        font-size: 18px;\n        font-weight: bold;\n    }\n}\n\n.card {\n    background-color: #ffffff;\n    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.2);\n    padding: 20px;\n    h3 {\n        margin: 0;\n        font-size: 18px;\n        font-weight: 600;\n    }\n    .action {\n        margin: 0 -35px;\n        margin-top: 10px;\n        button {\n            border-radius: 0;\n        }\n    }\n}\n\n.choices {\n    button {\n        border-radius: 3px;\n        background-color: #ffffff;\n        border: solid 2px $border-color;\n        color: $border-color;\n        padding: 10px 0;\n        font-size: 22px;\n        font-weight: 600;\n        &.active {\n            background-color: $border-color;\n            color: white;\n        }\n    }\n}\n\n.action {\n    margin: 0 -15px;\n    button {\n        border: none;\n        width: 100%;\n        height: 80px;\n        background-color: $border-color;\n        color: white;\n        font-size: 28px;\n        font-weight: 600;\n        text-transform: uppercase;\n        padding: 20px 0;\n    }\n}\n\n.action-table-list {\n    .warning {\n        font-size: 13px;\n        color: #d35400;\n        text-transform: uppercase;\n    }\n}\n\n.subheader {\n    .title {\n        display: flex;\n        align-items: center;\n    }\n    .subheader-title {\n        flex-grow: 1;\n    }\n    .remaining {\n        position: relative;\n        font-size: 14px;\n        font-weight: normal;\n        padding-left: 30px;\n        .count {\n            background-color: white;\n            color: $secondary-color;\n            border-radius: 50%;\n            width: 25px;\n            height: 25px;\n            display: flex;\n            position: absolute;\n            justify-content: center;\n            align-items: center;\n            left: 0;\n            top: -3px;\n        }\n    }\n}\n\n.timeline {\n    .event-action {\n        position: absolute;\n        right: 0;\n        top: -4px;\n    }\n    .events-body-extra {\n        position: absolute;\n        top: 20px;\n    }\n    dl dd .events .events-body .events-heading {\n        margin-bottom: 75px;\n    }\n    .pre-requisite {\n        font-size: 13px;\n        font-weight: 600;\n        color: #d35400;\n        .pre-requisite-label {\n            text-transform: uppercase;\n        }\n        .pre-requisite-items {\n            padding-left: 0;\n            .pre-requisite-item {\n                list-style: none;\n                font-weight: lighter;\n                font-size: 12px;\n            }\n        }\n    }\n    .enrolled {\n        color: $primary-color-darker;\n        text-transform: uppercase;\n        font-size: 12px;\n        font-weight: 600;\n    }\n}"
  },
  {
    "path": "pe-foexp-training/widget/pe-foexp-training.u-server-script.js",
    "content": "(function($sp) {\n\tvar obj;\n  var gr;\n\t\n\tvar category = options.category || $sp.getParameter('category');\n\t\n\tif (input.action == 'remove') {\n\t\t\n\t\tgr = new GlideRecord('u_pe_training_assignments');\n\t\tif (gr.get(input.sys_id)) {\n\t\t\tgr.u_enrolled = \"\";\n\t\t\tgr.update();\n\t\t}\n\t\treturn;\n\t}\n\t\n\tif (input.action == 'enroll') {\n\t\tgr = new GlideRecord('u_pe_training_assignments');\n\t\tif (gr.get(input.sys_id)) {\n\t\t\tvar now = gs.nowDateTime();\n\t\t\tgr.u_enrolled = now;\n\t\t\tdata.enrolled = now;\n\t\t\tgr.update();\n\t\t}\n\t\treturn;\n\t}\n\t\n\tdata.item = {};\n\tgr = new GlideRecord('u_pe_training_category');\n\tif (gr.get(category)) {\n\t\tdata.item.title = gr.u_name.toString();\n\t} else {\n\t\treturn;\n\t}\n\t\n\tgr = new GlideRecord('u_pe_training_assignments');\n\tgr.addQuery('u_course.u_category', category);\n\tgr.addQuery('u_user', gs.getUserID());\n\tgr.orderBy('u_course.u_order');\n\tgr.query();\n\tdata.item.remaining = 0;\n\tdata.items = [];\n\tvar training_list = [];\n\tdata.requirements = {};\n\tvar training_completed = {};\n\twhile (gr.next()) {\n\t\tobj = {};\n\t\t\n\t\tobj.name = gr.u_course.u_name.toString();\n\t\tobj.course = gr.sys_id.toString();\n\t\tobj.sys_id = gr.u_training.sys_id.toString();\n\t\tobj.enrolled = gr.u_enrolled.toString();\n\t\tobj.completed = gr.u_completed.toString();\n\t\tobj.due = gr.u_due.toString();\n\n\t\tdata.requirements[obj.sys_id] = [];\n\t\ttraining_completed[obj.sys_id] = obj.completed;\n\n\t\tif (!obj.completed) {\n\t\t\tdata.item.remaining = data.item.remaining + 1;\n\t\t}\n\n\t\tdata.items.push(obj);\n\t\tif (!obj.completed) {\n\t\t\ttraining_list.push(gr.u_course.sys_id.toString());\n\t\t}\n\t}\n\t\n\t\n\tgr = new GlideRecord('u_pe_training_prerequisites');\n\tgr.addQuery('u_course', 'IN', training_list);\n\tgr.query();\n\n\twhile (gr.next()) {\n\t\tobj = {};\n\t\tobj.sys_id = gr.u_course.sys_id.toString();\n\t\tobj.title = gr.u_course.u_name.toString();\n\n\t\tvar training_id = gr.u_prerequisite.sys_id.toString();\n\n\t\tif (!training_completed[obj.sys_id]) {\n\t\t\tdata.requirements[training_id].push(obj);\n\t\t}\n\t}\n\n\t\n})($sp);"
  },
  {
    "path": "pe-form-formly/README.md",
    "content": "# Form Formly\n\n## Description\n\nThis widget shows an alternative approach to build a form, adapting it to the type of content it has in input. It is based on Formly as main dependency.<br/>\nThe submit button will send all the input data in JSON format.<br/>\n\n## Screenshots\n![](../images/pe-form-formly-01.png)\n<br/>\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-form-formly.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-form-formly/pe-form-formly.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:<br/>\n\n**\"Form Fields\"** Input JSON representing the form.<br/>\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n\n    [\n      {\n        \"key\": \"email\",\n        \"type\": \"input\",\n        \"templateOptions\": {\n          \"type\": \"email\",\n          \"label\": \"Email address\",\n          \"placeholder\": \"Enter email\"\n        }\n      },\n      {\n        \"key\": \"password\",\n        \"type\": \"input\",\n        \"templateOptions\": {\n          \"type\": \"password\",\n          \"label\": \"Password\",\n          \"placeholder\": \"Password\"\n        }\n      },\n      {\n        \"key\": \"roles\",\n        \"type\": \"multiCheckbox\",\n        \"templateOptions\": {\n          \"label\": \"Roles\",\n          \"options\": [\n            {\n              \"id\": 1,\n              \"title\": \"Genius\"\n            },\n            {\n              \"id\": 2,\n              \"title\": \"Administrator\"\n            },\n            {\n              \"id\": 3,\n              \"title\": \"User\"\n            }\n          ],\n          \"valueProp\": \"id\",\n          \"labelProp\": \"title\"\n        }\n      },\n      {\n        \"key\": \"geniusCheck\",\n        \"type\": \"checkbox\",\n        \"templateOptions\": {\n          \"label\": \"Genius\"\n        }\n      },\n      {\n        \"key\": \"bioText\",\n        \"type\": \"textarea\",\n        \"templateOptions\": {\n          \"label\": \"Bio\"\n        }\n      },\n      {\n        \"key\": \"feedback\",\n        \"type\": \"radio\",\n        \"templateOptions\": {\n          \"label\": \"Do you love ServiceNow?\",\n          \"options\": [\n            {\n              \"name\": \"I love it!\",\n              \"value\": \"love\"\n            },\n            {\n              \"name\": \"I love it a lot!\",\n              \"value\": \"lovealot\"\n            },\n            {\n              \"name\": \"I can't live without\",\n              \"value\": \"extremelove\"\n            }\n          ]\n        }\n      },\n      {\n        \"key\": \"transportation\",\n        \"type\": \"select\",\n        \"templateOptions\": {\n          \"label\": \"How do you get around in the city\",\n          \"valueProp\": \"name\",\n          \"options\": [\n            {\n              \"name\": \"Car\"\n            },\n            {\n              \"name\": \"Helicopter\"\n            },\n            {\n              \"name\": \"Sport Utility Vehicle\"\n            },\n            {\n              \"name\": \"Bicycle\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Skateboard\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Walk\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Bus\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Scooter\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Train\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Hot Air Baloon\",\n              \"group\": \"low emissions\"\n            }\n          ]\n        }\n      }\n    ]\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal styles configuration to make it easy to customize and extend.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-form-formly/pe-form-formly.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-08-02 16:52:31\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-form-formly 3</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>be74bc92dbd00300aa80d49fdf961910</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>105ff4d6dbd00300aa80d49fdf9619d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_eb1fc85edb500300aa80d49fdf961979</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;formly.min.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*! angular-formly v8.4.1 | MIT | built with ♥ by Astrism &lt;astrisms@gmail.com&gt;, Kent C. Dodds &lt;kent@doddsfamily.us&gt; (ó ì_í)=óò=(ì_í ò) */\n!function(e,t){\"object\"==typeof exports&amp;&amp;\"object\"==typeof module?module.exports=t(require(\"api-check\"),require(\"angular\")):\"function\"==typeof define&amp;&amp;define.amd?define([\"api-check\",\"angular\"],t):\"object\"==typeof exports?exports.ngFormly=t(require(\"api-check\"),require(\"angular\")):e.ngFormly=t(e.apiCheck,e.angular)}(this,function(e,t){return function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var o={};return t.m=e,t.c=o,t.p=\"\",t(0)}([function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=o(10),i=n(r);t[\"default\"]=i[\"default\"],e.exports=t[\"default\"]},function(e,t,o){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=o(19);n.version||(n=window.angular),t[\"default\"]=n,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e){return i(e,\".\")||i(e,\"[\")&amp;&amp;i(e,\"]\")}function i(e,t){return!(!e||!e.indexOf)&amp;&amp;e.indexOf(t)!==-1}function a(e,t,o,n,r){return v[\"default\"].isFunction(t)?t(n,o,e,r):e.$eval(t,v[\"default\"].extend({$viewValue:n,$modelValue:o},r))}function l(e,t,o){if(t.id)return t.id;var n=t.type;return!n&amp;&amp;t.template?n=\"template\":!n&amp;&amp;t.templateUrl&amp;&amp;(n=\"templateUrl\"),[e,n,t.key,o].join(\"_\")}function f(e){return v[\"default\"].forEach(arguments,function(t,o){o&amp;&amp;v[\"default\"].forEach(t,function(t,o){v[\"default\"].isDefined(e[o])?s(e[o],t)&amp;&amp;f(e[o],t):e[o]=v[\"default\"].copy(t)})}),e}function s(e,t){return v[\"default\"].isObject(e)&amp;&amp;v[\"default\"].isObject(t)&amp;&amp;Object.getPrototypeOf(e)===Object.getPrototypeOf(t)}function u(e,t){if(e.prop||(e=v[\"default\"].element(e)),e.prop(\"nodeName\")===t.toUpperCase())return e;for(var o=e.children(),n=0;o&amp;&amp;n&lt;o.length;n++){var r=u(o[n],t);if(r)return r}}function p(e){return e&amp;&amp;!v[\"default\"].isArray(e)?e=[e]:e||(e=[]),e}function d(){for(var e=arguments.length,t=Array(e),o=0;o&lt;e;o++)t[o]=arguments[o];return function(){var e=arguments;t.forEach(function(t){return t.apply(null,e)})}}function c(e,t,o){return o&amp;&amp;(e=e[o],t=t[o]),t&amp;&amp;e?(v[\"default\"].forEach(t,function(t){e.indexOf(t)===-1&amp;&amp;e.push(t)}),e):t?t:e}function m(e,t){return!(!v[\"default\"].isString(e)||!v[\"default\"].isString(t))&amp;&amp;(e.length&gt;=t.length&amp;&amp;e.substring(0,t.length)===t)}function y(e,t){return!(!v[\"default\"].isString(e)||!v[\"default\"].isString(t))&amp;&amp;(e.length&gt;=t.length&amp;&amp;e.indexOf(t)!==-1)}Object.defineProperty(t,\"__esModule\",{value:!0});var h=o(1),v=n(h);t[\"default\"]={containsSelector:r,containsSpecialChar:i,formlyEval:a,getFieldId:l,reverseDeepMerge:f,findByNodeName:u,arrayify:p,extendFunction:d,extendArray:c,startsWith:m,contains:y},e.exports=t[\"default\"]},function(e,t,o){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t[\"default\"]=\"https://github.com/formly-js/angular-formly/blob/8.4.1/other/ERRORS_AND_WARNINGS.md#\",e.exports=t[\"default\"]},function(t,o){t.exports=e},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e){return{restrict:\"A\",require:\"ngModel\",link:function(t,o,n,r){function i(e,t,o){l(t,o),t=a[\"default\"].isObject(t)?t.expression:t,p?f(t,o,e):s(t,o,e)}function l(o,n){var i=o.message;i&amp;&amp;(u.validation.messages[n]=function(){return e.formlyEval(t,i,r.$modelValue,r.$viewValue)})}function f(o,n,i){var a=i?\"$asyncValidators\":\"$validators\";r[a][n]=function(n,r){return e.formlyEval(t,o,n,r)}}function s(o,n,i){var a=void 0;r.$parsers.unshift(function(l){var f=e.formlyEval(t,o,r.$modelValue,l);return i?(r.$pending=r.$pending||{},r.$pending[n]=!0,a=f,f.then(function(){a===f&amp;&amp;r.$setValidity(n,!0)})[\"catch\"](function(){a===f&amp;&amp;r.$setValidity(n,!1)})[\"finally\"](function(){var e=r.$pending||{};1===Object.keys(e).length?delete r.$pending:delete r.$pending[n]})):r.$setValidity(n,f),l})}var u=t.options;u.validation.messages=u.validation.messages||{},a[\"default\"].forEach(u.validation.messages,function(o,n){u.validation.messages[n]=function(){return e.formlyEval(t,o,r.$modelValue,r.$viewValue)}});var p=r.hasOwnProperty(\"$validators\")&amp;&amp;!n.hasOwnProperty(\"useParsers\");a[\"default\"].forEach(u.validators,a[\"default\"].bind(null,i,!1)),a[\"default\"].forEach(u.asyncValidators,a[\"default\"].bind(null,i,!0))}}}r.$inject=[\"formlyUtil\"],Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(1),a=n(i);t[\"default\"]=r,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t&lt;e.length;t++)o[t]=e[t];return o}return Array.from(e)}function i(e,t,o,n,i,f,u,d,c,m){function y(e,o,n,r,i){function a(){var r=t.defer();return o(function(){var o=[],i=e.options,a=u();s[\"default\"].forEach(i.expressionProperties,function(r,l){var f=n(l).assign,s=t.when(d.formlyEval(e,r,a,a)).then(function(e){f(i,e)});o.push(s)}),t.all(o).then(function(){r.resolve()})},0,!1),r.promise}function l(){e.formOptions.watchAllExpressions&amp;&amp;!function(){var t=e.options,o=u();s[\"default\"].forEach(t.expressionProperties,function(r,i){var a=n(i).assign;e.$watch(function(){return d.formlyEval(e,r,o,o)},function(e){a(t,e)},!0)})}()}function u(t){if(e.model&amp;&amp;e.options.key)return s[\"default\"].isDefined(t)&amp;&amp;y(e.options.key,e.model,t),h(e.options.key,e.model)}function p(e){return s[\"default\"].isNumber(e)||!d.containsSelector(e)}function c(e){return/\\[\\d{1,}\\]/.test(e)}function m(e,t,o){if(s[\"default\"].isString(t)&amp;&amp;(t=t.replace(/\\[(\\w+)\\]/g,\".$1\").split(\".\")),t.length&gt;1){var n=t.shift();e[n]=e[n]||isNaN(t[0])?{}:[],m(e[n],t,o)}else e[t[0]]=o}function y(t,o,r){if((t||0===t)&amp;&amp;o)if(p(t))o[t]=r;else if(f.extras.parseKeyArrays&amp;&amp;c(t))m(e.model,t,r);else{var i=n(e.options.key).assign;i&amp;&amp;i(e.model,r)}}function h(e,t){if((e||0===e)&amp;&amp;t)return p(e)?t[e]:n(e)(t)}function v(t){d.reverseDeepMerge(t,{originalModel:t.model,extras:{},data:{},templateOptions:{},validation:{}}),e.to=e.options.templateOptions,e.formOptions=e.formOptions||{}}function b(){if(s[\"default\"].isFunction(f.extras.getFieldId))e.id=f.extras.getFieldId(e.options,e.model,e);else{var t=e.form&amp;&amp;e.form.$name||e.formId;e.id=d.getFieldId(t,e.options,e.index)}e.options.id=e.id,e.name=e.options.name||e.options.id,e.options.name=e.name}function O(){s[\"default\"].isDefined(e.options.defaultValue)&amp;&amp;!s[\"default\"].isDefined(h(e.options.key,e.model))&amp;&amp;y(e.options.key,e.model,e.options.defaultValue)}function x(){e.options.initialValue=e.model&amp;&amp;h(e.options.key,e.model)}function E(e,t){t&amp;&amp;$(e,t.defaultOptions);var o=j(e.optionsTypes).reverse();s[\"default\"].forEach(o,function(t){$(e,f.getType(t,!0,e).defaultOptions)})}function $(t,o){o&amp;&amp;(s[\"default\"].isFunction(o)&amp;&amp;(o=o(t,e)),d.reverseDeepMerge(t,o))}function w(e,t){var o=e.key||t||0;s[\"default\"].extend(e,{key:o,value:e.value||u,runExpressions:a,resetModel:k,updateInitialValue:C})}function k(){y(e.options.key,e.model,e.options.initialValue),e.options.formControl&amp;&amp;(s[\"default\"].isArray(e.options.formControl)?s[\"default\"].forEach(e.options.formControl,function(e){M(e,!0)}):M(e.options.formControl)),e.form&amp;&amp;(e.form.$setUntouched&amp;&amp;e.form.$setUntouched(),e.form.$setPristine())}function M(t,o){o||t.$setViewValue(h(e.options.key,e.model)),t.$render(),t.$setUntouched&amp;&amp;t.$setUntouched(),t.$setPristine(),e.$root.$$phase||e.$digest()}function C(){e.options.initialValue=h(e.options.key,e.model)}function F(e){e.validation.messages=e.validation.messages||{},s[\"default\"].forEach(i.messages,function(t,o){e.validation.messages[o]||(e.validation.messages[o]=function(e,o,n){return d.formlyEval(n,t,o,e)})})}function T(e){var t=arguments.length&lt;=1||void 0===arguments[1]?{}:arguments[1],o=arguments.length&lt;=2||void 0===arguments[2]?{}:arguments[2];s[\"default\"].forEach([o.controller,t.controller],function(t){t&amp;&amp;r(t,{$scope:e})})}function _(){e.options.options=e.options.options||{},e.options.options.formState=e.formState,e.to=e.options.templateOptions}if(e.options.fieldGroup)return void _();var W=g(e.options);v(e.options),E(e.options,W),w(e.options,e.index),A(e.options),b(),O(),x(),a(),l(),F(e.options),T(e,e.options,W)}function h(e,n,u,p){function c(){k(e.options),n.addClass(\"formly-field-group\");var t=\"\";e.options.elementAttributes&amp;&amp;(t=Object.keys(e.options.elementAttributes).map(function(t){return t+'=\"'+e.options.elementAttributes[t]+'\"'}).join(\" \"));var o=\"model\";e.options.form=e.form,e.options.key&amp;&amp;(o=\"model['\"+e.options.key+\"']\"),x('\\n          &lt;formly-form model=\"'+o+'\"\\n                       fields=\"options.fieldGroup\"\\n                       options=\"options.options\"\\n                       form=\"options.form\"\\n                       class=\"'+e.options.className+'\"\\n                       '+t+\"\\n                       is-field-group&gt;\\n          &lt;/formly-form&gt;\\n        \").then(E(e.options,e.formOptions)).then($)}function y(){e.options.elementAttributes&amp;&amp;n.attr(e.options.elementAttributes)}function h(){e.options.className&amp;&amp;n.addClass(e.options.className),e.options.type&amp;&amp;n.addClass(\"formly-field-\"+e.options.type)}function $(t){return n.html(v(t)),o(n.contents())(e),t}function w(t){function o(t){var o=/\\{\\{(.*?)}}/,r=o.exec(t);r&amp;&amp;(t=i(t)(e)),n(t)}function n(t){e.$watch('form[\"'+t+'\"]',function(t){t&amp;&amp;(_&gt;1?(e.options.formControl||(e.options.formControl=[]),e.options.formControl.push(t)):e.options.formControl=t,e.fc=e.options.formControl,y(),u(),p(),c())})}function u(){y=e.$watch(function(){var t=f.extras.errorExistsAndShouldBeVisibleExpression,o=e.options,n=j(e.fc);return!!n.some(function(e){return e.$invalid})&amp;&amp;(\"boolean\"==typeof o.validation.show?o.validation.show:t?n.some(function(o){return d.formlyEval(e,t,o.$modelValue,o.$viewValue)}):n.some(function(e){var t=s[\"default\"].isUndefined(e.$touched)&amp;&amp;e.$dirty;return e.$touched||t}))},function(t){e.options.validation.errorExistsAndShouldBeVisible=t,e.showError=t})}function p(){m(\"parsers\")}function c(){m(\"formatters\");var t=e.fc,o=e.form.$pristine;e.options.formatters&amp;&amp;!function(){var n=t.$modelValue;t.$formatters.forEach(function(e){n=e(n)}),t.$setViewValue(n),t.$render(),t.$setPristine(),o&amp;&amp;e.form.$setPristine()}()}function m(t){function o(r){if(!r)return[];s[\"default\"].isString(r)&amp;&amp;(r=f.getType(r,!0,e.options));var i=[];return r[\"extends\"]&amp;&amp;(i=d.extendArray(i,o(r[\"extends\"]))),i=d.extendArray(i,l(r,t,[])),i=d.extendArray(i,n(a(r)))}function n(){var e=arguments.length&lt;=0||void 0===arguments[0]?[]:arguments[0],t=[];return s[\"default\"].forEach(s[\"default\"].copy(j(e)).reverse(),function(e){t=d.extendArray(t,o(e))}),t}function i(t){function o(o){var n=e.options.value();return d.formlyEval(e,t,n,o)}return o[u]=t,o}var u=\"originalParser\";\"formatters\"===t&amp;&amp;(u=\"originalFormatter\");var p=o(C);p=d.extendArray(p,n(e.options.optionsTypes)),p=d.extendArray(p,e.options[t]),s[\"default\"].forEach(p,function(e,t){p[t]=i(e)});var c=e.fc;s[\"default\"].isArray(c)||(c=[c]),s[\"default\"].forEach(c,function(e){var o;e[\"$\"+t]=(o=e[\"$\"+t]).concat.apply(o,r(p))})}var y=s[\"default\"].noop;if(!e.options.noFormControl){var h=s[\"default\"].element(\"&lt;div&gt;\"+t+\"&lt;/div&gt;\"),v=h[0].querySelectorAll(\"[ng-model],[data-ng-model]\");v.length&amp;&amp;s[\"default\"].forEach(v,function(e){_++,o(e.getAttribute(\"name\"))})}}function A(){C&amp;&amp;C.link&amp;&amp;C.link.apply(T,F),e.options.link&amp;&amp;e.options.link.apply(T,F)}function M(o){return function(n){var r=t.when(n);return s[\"default\"].forEach(o,function(o){r=r.then(function(n){return t.when(o(n,e.options,e)).then(function(e){return s[\"default\"].isString(e)?e:v(e)})})}),r}}if(e.options.fieldGroup)return void c();!p&amp;&amp;e.options.model&amp;&amp;e.$watch(\"options.model\",function(){return e.options.runExpressions()},!0),y(),h();var C=g(e.options),F=arguments,T=this,_=0,W=b(e.options,e.formOptions);O(e.options).then(M(W.preWrapper)).then(E(e.options,e.formOptions)).then(M(W.postWrapper)).then($).then(w).then(A)[\"catch\"](function(t){m(\"there-was-a-problem-setting-the-template-for-this-field\",\"There was a problem setting the template for this field \",e.options,t)})}function v(e){var t=s[\"default\"].element(\"&lt;a&gt;&lt;/a&gt;\");return t.append(e).html()}function g(e){return e.type&amp;&amp;f.getType(e.type)}function b(e,t){function o(e){var t=e||{},o=t.preWrapper,i=void 0===o?[]:o,a=t.postWrapper,l=void 0===a?[]:a;n=n.concat(i),r=r.concat(l)}var n=[],r=[];return o(e.templateManipulators),o(t.templateManipulators),o(f.templateManipulators),{preWrapper:n,postWrapper:r}}function O(e){function t(t,o){return s[\"default\"].isDefined(e[t])?e[t]:o&amp;&amp;s[\"default\"].isDefined(o[t])?o[t]:void 0}var o=f.getType(e.type,!0,e),n=t(\"template\",o),r=t(\"templateUrl\",o);if(s[\"default\"].isUndefined(n)&amp;&amp;!r)throw c.getFieldError(\"type-type-has-no-template\",\"Type '\"+e.type+\"' has no template. On element:\",e);return x(r||n,s[\"default\"].isUndefined(n),e)}function x(o,r,i){var a=void 0;if(a=s[\"default\"].isFunction(o)?t.when(o(i)):t.when(o),!r)return a;var l=function(){var t={cache:n};return{v:a.then(function(o){return e.get(o,t)}).then(function(e){return e.data})[\"catch\"](function(e){m(\"problem-loading-template-for-templateurl\",\"Problem loading template for \"+o,e)})}}();return\"object\"==typeof l?l.v:void 0}function E(e,o){var n=w(e,o);return function(o){if(!n.length)return t.when(o);n.forEach(function(t){c.checkWrapper(t,e),M(t,e)});var r=n.map(function(e){return x(e.template||e.templateUrl,!e.template)});return t.all(r).then(function(e){e.forEach(function(e,t){c.checkWrapperTemplate(e,n[t])}),e.reverse();var t=e.shift();return e.forEach(function(e){t=$(t,e)}),$(t,o)})}}function $(e,t){var o=s[\"default\"].element(\"&lt;a&gt;&lt;/a&gt;\");o.append(e);var n=o.find(\"formly-transclude\");return n.length||(n=d.findByNodeName(o,\"formly-transclude\")),n.replaceWith(t),o.html()}function w(e,t){var o=e.wrapper;if(null===o)return[];o=o?j(o).map(f.getWrapper):j(f.getWrapperByType(e.type));var n=f.getType(e.type,!0,e);if(n&amp;&amp;n.wrapper){var r=j(n.wrapper).map(f.getWrapper);o=o.concat(r)}if(t.wrapper){var i=j(t.wrapper).map(f.getWrapper);o=o.concat(i)}var a=f.getWrapper();return a&amp;&amp;o.push(a),o}function A(e){u[\"throw\"](u.formlyFieldOptions,e,{prefix:\"formly-field directive\",url:\"formly-field-directive-validation-failed\"});var t=e.type&amp;&amp;f.getType(e.type);t&amp;&amp;M(t,e,!0),e.expressionProperties&amp;&amp;e.expressionProperties.hide&amp;&amp;m(\"dont-use-expressionproperties.hide-use-hideexpression-instead\",\"You have specified `hide` in `expressionProperties`. Use `hideExpression` instead\",e)}function k(e){u[\"throw\"](u.fieldGroup,e,{prefix:\"formly-field directive\",url:\"formly-field-directive-validation-failed\"})}function M(e,t,o){var n=e.apiCheck,r=e.apiCheckInstance,i=e.apiCheckFunction,a=e.apiCheckOptions;C(n,r,i,a,t),o&amp;&amp;t.type&amp;&amp;s[\"default\"].forEach(f.getTypeHeritage(t.type),function(e){C(e.apiCheck,e.apiCheckInstance,e.apiCheckFunction,e.apiCheckOptions,t)})}function C(e,t,o,n,r){if(e){var i=t||f.extras.apiCheckInstance||u;if(!i.config.disabled&amp;&amp;!p[\"default\"].globalConfig.disabled){var a=o||\"warn\",l=e(i);s[\"default\"].forEach(l,function(e,t){var o=i.shape(e),l=s[\"default\"].extend({prefix:\"formly-field type \"+r.type+\" for property \"+t,url:u.config.output.docsBaseUrl+\"formly-field-type-apicheck-failed\"},n);i[a](o,r[t],l)})}}}y.$inject=[\"$scope\",\"$timeout\",\"$parse\",\"$controller\",\"formlyValidationMessages\"];var j=d.arrayify;return{restrict:\"AE\",transclude:!0,require:\"?^formlyForm\",scope:{options:\"=\",model:\"=\",originalModel:\"=?\",formId:\"@\",index:\"=?\",fields:\"=?\",formState:\"=?\",formOptions:\"=?\",form:\"=?\"},controller:y,link:h}}function a(e){return l(e,\"optionsTypes\",[])}function l(e,t,o){return e.defaultOptions&amp;&amp;e.defaultOptions[t]||o}i.$inject=[\"$http\",\"$q\",\"$compile\",\"$templateCache\",\"$interpolate\",\"formlyConfig\",\"formlyApiCheck\",\"formlyUtil\",\"formlyUsability\",\"formlyWarn\"],Object.defineProperty(t,\"__esModule\",{value:!0});var f=o(1),s=n(f),u=o(4),p=n(u);t[\"default\"]=i,e.exports=t[\"default\"]},function(e,t){\"use strict\";function o(e,t){return{restrict:\"A\",link:function(o,n,r){var i=null,a=n[0],l=t[0];r.$observe(\"formlyFocus\",function(t){\"true\"===t?e(function(){i=l.activeElement,a.focus()},~~r.focusWait):\"false\"===t&amp;&amp;l.activeElement===a&amp;&amp;(a.blur(),r.hasOwnProperty(\"refocus\")&amp;&amp;i&amp;&amp;i.focus())})}}}o.$inject=[\"$timeout\",\"$document\"],Object.defineProperty(t,\"__esModule\",{value:!0}),t[\"default\"]=o,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t&lt;e.length;t++)o[t]=e[t];return o}return Array.from(e)}function i(e){return e&amp;&amp;!!e.fieldGroup}function a(e,t,o,n,a,f,u){function p(){s[\"default\"].forEach(a.fields,c)}function d(e,t){var o=e.$validate;t?t.then(function(){return o.apply(e)}):o()}function c(e,t){var o=e.model||a.model,n=e.runExpressions&amp;&amp;e.runExpressions();if(e.hideExpression){var r=o[e.key];e.hide=C(e.hideExpression,r,e,t,{model:o})}e.extras&amp;&amp;e.extras.validateOnModelChange&amp;&amp;e.formControl&amp;&amp;(s[\"default\"].isArray(e.formControl)?s[\"default\"].forEach(e.formControl,function(e){d(e,n)}):d(e.formControl,n))}function m(){a.fields=a.fields||[],y(a.options);var t=a.options.fieldTransform||o.extras.fieldTransform;s[\"default\"].isArray(t)||(t=[t]),s[\"default\"].forEach(t,function(t){if(t&amp;&amp;(a.fields=t(a.fields,a.model,a.options,a.form),!a.fields))throw e.getFormlyError(\"fieldTransform must return an array of fields\")}),b(),a.options.watchAllExpressions&amp;&amp;s[\"default\"].forEach(a.fields,O),s[\"default\"].forEach(a.fields,$),s[\"default\"].forEach(a.fields,w)}function y(e){o.extras.fieldTransform&amp;&amp;s[\"default\"].isFunction(o.extras.fieldTransform)?t(\"fieldtransform-as-a-function-deprecated\",\"fieldTransform as a function has been deprecated.\",\"Attempted for formlyConfig.extras: \"+o.extras.fieldTransform.name,o.extras):e.fieldTransform&amp;&amp;s[\"default\"].isFunction(e.fieldTransform)&amp;&amp;t(\"fieldtransform-as-a-function-deprecated\",\"fieldTransform as a function has been deprecated.\",\"Attempted for form\",e)}function h(){f[\"throw\"]([f.formOptionsApi.optional],[a.options],{prefix:\"formly-form options check\"}),a.options=a.options||{},a.options.formState=a.options.formState||{},s[\"default\"].extend(a.options,{updateInitialValue:v,resetModel:g})}function v(){s[\"default\"].forEach(a.fields,function(e){i(e)&amp;&amp;e.options?e.options.updateInitialValue():e.updateInitialValue()})}function g(){s[\"default\"].forEach(a.fields,function(e){i(e)&amp;&amp;e.options?e.options.resetModel():e.resetModel&amp;&amp;e.resetModel()})}function b(){var e=[a.model],t=a.options.manualModelWatcher;a.options.formState&amp;&amp;e.push(a.options.formState),s[\"default\"].forEach(a.fields,function(o){var n=x(o);o.model&amp;&amp;n&amp;&amp;e.indexOf(o.model)===-1&amp;&amp;!t&amp;&amp;(a.$watch(function(){return o.model},p,!0),e.push(o.model))})}function O(e,t){e.hideExpression&amp;&amp;!function(){var o=e.model||a.model;a.$watch(function(){var n=o[e.key];return C(e.hideExpression,n,e,t,{model:o})},function(t){return e.hide=t},!0)}()}function x(t){function o(o){var n=a.fields.indexOf(t),r=C(o,void 0,t,n,{model:a.model});if(!r)throw e.getFieldError(\"field-model-must-be-initialized\",\"Field model must be initialized. When specifying a model as a string for a field, the result of the expression must have been initialized ahead of time.\",t);return r}var n=!0;return s[\"default\"].isString(t.model)&amp;&amp;!function(){var e=t.model;n=!E(e),t.model=o(e),a.$watch(function(){return o(e)},function(e){return t.model=e})}(),n}function E(e){return[\"model\",\"formState\"].some(function(t){return u.startsWith(e,t+\".\")||u.startsWith(e,t+\"[\")})}function $(e,t){i(e)||(e.key=e.key||t||0)}function w(t,o){if(s[\"default\"].isDefined(t.watcher)){var n=t.watcher;s[\"default\"].isArray(n)||(n=[n]),s[\"default\"].forEach(n,function(n){if(!s[\"default\"].isDefined(n.listener)&amp;&amp;!n.runFieldExpressions)throw e.getFieldError(\"all-field-watchers-must-have-a-listener\",\"All field watchers must have a listener\",t);var r=A(n,t,o),i=k(n,t,o),l=n.type||\"$watch\";n.stopWatching=a[l](r,i,n.watchDeep)})}}function A(e,t,o){var i=void 0;return s[\"default\"].isUndefined(e.expression)?t.key&amp;&amp;(i=\"model['\"+t.key.toString().split(\".\").join(\"']['\")+\"']\"):i=e.expression,s[\"default\"].isFunction(i)?!function(){var n=i;i=function(){var t=M.apply(void 0,[e,o].concat(l.call(arguments)));return n.apply(void 0,r(t))},i.displayName=\"Formly Watch Expression for field for \"+t.key}():t.model&amp;&amp;(i=n(i).bind(null,a,{model:t.model})),i}function k(e,t,o){var n=e.listener;return(s[\"default\"].isFunction(n)||e.runFieldExpressions)&amp;&amp;!function(){var i=n;n=function(){var n=void 0;if(i){var a=M.apply(void 0,[e,o].concat(l.call(arguments)));n=i.apply(void 0,r(a))}return e.runFieldExpressions&amp;&amp;c(t,o),n},n.displayName=\"Formly Watch Listener for field for \"+t.key}(),n}function M(e,t){for(var o=arguments.length,n=Array(o&gt;2?o-2:0),r=2;r&lt;o;r++)n[r-2]=arguments[r];return[a.fields[t]].concat(n,[e.stopWatching])}function C(e,t,o,n){var r=arguments.length&lt;=4||void 0===arguments[4]?{}:arguments[4];return r=s[\"default\"].extend(j(o,n),r),u.formlyEval(a,e,t,t,r)}function j(e,t){return{model:e.model,options:e,index:t,formState:a.options.formState,originalModel:a.model,formOptions:a.options,formId:a.formId}}h(),a.model=a.model||{},m(),a.options.manualModelWatcher?s[\"default\"].isFunction(a.options.manualModelWatcher)&amp;&amp;a.$watch(a.options.manualModelWatcher,p,!0):a.$watch(\"model\",p,!0),a.options.formState&amp;&amp;a.$watch(\"options.formState\",p,!0)}a.$inject=[\"formlyUsability\",\"formlyWarn\",\"formlyConfig\",\"$parse\",\"$scope\",\"formlyApiCheck\",\"formlyUtil\"],Object.defineProperty(t,\"__esModule\",{value:!0});var l=Array.prototype.slice;t[\"default\"]=a;var f=o(1),s=n(f);e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e,t,o,n,r){function i(t,o){function i(){return o.rootEl||\"ng-form\"}function l(){return o.fieldRootEl||\"div\"}function u(){return o.hideDirective||n.extras.defaultHideDirective||\"ng-if\"}function p(){return o.trackBy?\"track by \"+o.trackBy:\"\"}function d(){var t=v,n=o.bindName;if(n){if(a[\"default\"].version.minor&lt;3)throw e.getFormlyError(\"bind-name attribute on formly-form not allowed in &lt; angular 1.3\");t=r.startSymbol()+\"::'formly_' + \"+n+r.endSymbol()}return t}function c(){return o.transcludeClass||\"\"}function m(e){var t=[\"model\",\"form\",\"fields\",\"options\",\"name\",\"role\",\"class\",\"data-model\",\"data-form\",\"data-fields\",\"data-options\",\"data-name\"],o=[];return a[\"default\"].forEach(e,function(e){var n=e.nodeName,r=e.value;\"undefined\"!==n&amp;&amp;t.indexOf(n)===-1&amp;&amp;o.push(f(n)+'=\"'+r+'\"')}),o.join(\" \")}var y=i(),h=l(),v=\"formly_\"+s++,g=\"\";return o.hasOwnProperty(\"isFieldGroup\")&amp;&amp;t.parent().parent().hasClass(\"formly\")&amp;&amp;(g=m(t.parent().parent()[0].attributes)),\"\\n        &lt;\"+y+' class=\"formly\"\\n                 name=\"'+d()+'\"\\n                 role=\"form\" '+g+\"&gt;\\n          &lt;\"+h+' formly-field\\n               ng-repeat=\"field in fields '+p()+'\"\\n               '+u()+'=\"!field.hide\"\\n               class=\"formly-field\"\\n               options=\"field\"\\n               model=\"field.model || model\"\\n               original-model=\"model\"\\n               fields=\"fields\"\\n               form=\"theFormlyForm\"\\n               form-id=\"'+d()+'\"\\n               form-state=\"options.formState\"\\n               form-options=\"options\"\\n               index=\"$index\"&gt;\\n          &lt;/'+h+'&gt;\\n          &lt;div ng-transclude class=\"'+c()+'\"&gt;&lt;/div&gt;\\n        &lt;/'+y+\"&gt;\\n      \"}function l(e,r,i){function a(){var a=i.name;if(e.formId=a,e.theFormlyForm=e[a],i.form){var l=o(i.form),f=l.assign,s=l(e.$parent);s?(e.theFormlyForm=s,e[a]&amp;&amp;e.theFormlyForm.$removeControl(e[a]),r.removeData(\"$formController\")):f(e.$parent,e[a])}e.theFormlyForm||n.disableWarnings||t(\"formly-form-has-no-formcontroller\",\"Your formly-form does not have a `form` property. Many functions of the form (like validation) may not work\",r,e)}function l(){var t=n.extras.removeChromeAutoComplete===!0,o=e.options&amp;&amp;e.options.removeChromeAutoComplete===!1,i=e.options&amp;&amp;e.options.removeChromeAutoComplete===!0;if(t&amp;&amp;!o||i){var a=document.createElement(\"input\");a.setAttribute(\"autocomplete\",\"address-level4\"),a.setAttribute(\"hidden\",\"true\"),r[0].appendChild(a)}}a(),l()}function f(e){return e?e.replace(/([A-Z])/g,function(e){return\"-\"+e.toLowerCase()}):\"\"}var s=1;return{restrict:\"AE\",template:i,replace:!0,transclude:!0,scope:{fields:\"=\",model:\"=\",form:\"=?\",options:\"=?\"},controller:\"FormlyFormController\",link:l}}r.$inject=[\"formlyUsability\",\"formlyWarn\",\"$parse\",\"formlyConfig\",\"$interpolate\"],Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(1),a=n(i);t[\"default\"]=r,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=o(1),i=n(r),a=o(11),l=n(a),f=o(3),s=n(f),u=o(13),p=n(u),d=o(12),c=n(d),m=o(14),y=n(m),h=o(17),v=n(h),g=o(18),b=n(g),O=o(5),x=n(O),E=o(6),$=n(E),w=o(7),A=n(w),k=o(9),M=n(k),C=o(8),j=n(C),F=o(16),T=n(F),_=o(15),W=n(_),S=\"formly\";t[\"default\"]=S;var P=i[\"default\"].module(S,[]);P.constant(\"formlyApiCheck\",l[\"default\"]),P.constant(\"formlyErrorAndWarningsUrlPrefix\",s[\"default\"]),P.constant(\"formlyVersion\",\"8.4.1\"),P.provider(\"formlyUsability\",p[\"default\"]),P.provider(\"formlyConfig\",c[\"default\"]),P.factory(\"formlyValidationMessages\",y[\"default\"]),P.factory(\"formlyUtil\",v[\"default\"]),P.factory(\"formlyWarn\",b[\"default\"]),P.directive(\"formlyCustomValidation\",x[\"default\"]),P.directive(\"formlyField\",$[\"default\"]),P.directive(\"formlyFocus\",A[\"default\"]),P.directive(\"formlyForm\",M[\"default\"]),P.controller(\"FormlyFormController\",j[\"default\"]),P.run(T[\"default\"]),P.run(W[\"default\"]),e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e,t){function o(o,r,i,a){var l=a&amp;&amp;a.hasOwnProperty(r),f=e.some(function(e){return a&amp;&amp;a.hasOwnProperty(e)});return f||l?l?t(o,r,i,a):void 0:s.utils.getError(r,i,n)}a[\"default\"].isArray(e)||(e=[e]);var n=\"specified if these are not specified: `\"+e.join(\", \")+\"` (otherwise it's optional)\";return o.type=n,s.utils.checkerHelpers.setupChecker(o)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(1),a=n(i),l=o(4),f=n(l),s=(0,f[\"default\"])({output:{prefix:\"angular-formly:\",docsBaseUrl:o(3)}}),u=s.oneOfType([s.string,s.func]),p=s.typeOrArrayOf(s.string).nullable,d=s.func,c=s.shape.onlyIf(\"apiCheck\",s.func.withProperties({warn:s.func,\"throw\":s.func,shape:s.func})),m=s.shape.onlyIf(\"apiCheck\",s.oneOf([\"throw\",\"warn\"])),y=s.shape({name:r(\"types\",s.string).optional,template:s.shape.ifNot(\"templateUrl\",s.string).optional,templateUrl:s.shape.ifNot(\"template\",s.string).optional,types:s.typeOrArrayOf(s.string).optional,overwriteOk:s.bool.optional,apiCheck:d.optional,apiCheckInstance:c.optional,apiCheckFunction:m.optional,apiCheckOptions:s.object.optional}).strict,h=s.objectOf(s.oneOfType([u,s.shape({expression:u,message:u.optional}).strict])),v=s.oneOfType([s.string,s.object]),g=s.shape({preWrapper:s.arrayOf(s.func).nullable.optional,postWrapper:s.arrayOf(s.func).nullable.optional}).strict.nullable,b=s.objectOf(s.oneOfType([u,s.shape({expression:u,message:u.optional}).strict])),O=s.typeOrArrayOf(s.shape({expression:u.optional,listener:u.optional,runFieldExpressions:s.bool.optional})),x={$$hashKey:s.any.optional,type:s.shape.ifNot([\"template\",\"templateUrl\"],s.string).optional,template:s.shape.ifNot([\"type\",\"templateUrl\"],s.oneOfType([s.string,s.func])).optional,templateUrl:s.shape.ifNot([\"type\",\"template\"],s.oneOfType([s.string,s.func])).optional,key:s.oneOfType([s.string,s.number]).optional,model:v.optional,originalModel:v.optional,className:s.string.optional,id:s.string.optional,name:s.string.optional,expressionProperties:h.optional,extras:s.shape({validateOnModelChange:s.bool.optional,skipNgModelAttrsManipulator:s.oneOfType([s.string,s.bool]).optional}).strict.optional,data:s.object.optional,templateOptions:s.object.optional,wrapper:p.optional,modelOptions:s.shape({updateOn:s.string.optional,debounce:s.oneOfType([s.objectOf(s.number),s.number]).optional,allowInvalid:s.bool.optional,getterSetter:s.bool.optional,timezone:s.string.optional}).optional,watcher:O.optional,validators:b.optional,asyncValidators:b.optional,parsers:s.arrayOf(u).optional,formatters:s.arrayOf(u).optional,noFormControl:s.bool.optional,hide:s.bool.optional,hideExpression:u.optional,ngModelElAttrs:s.objectOf(s.string).optional,ngModelAttrs:s.objectOf(s.shape({statement:s.shape.ifNot([\"value\",\"attribute\",\"bound\",\"boolean\"],s.any).optional,value:s.shape.ifNot(\"statement\",s.any).optional,attribute:s.shape.ifNot(\"statement\",s.any).optional,bound:s.shape.ifNot(\"statement\",s.any).optional,\"boolean\":s.shape.ifNot(\"statement\",s.any).optional}).strict).optional,elementAttributes:s.objectOf(s.string).optional,optionsTypes:s.typeOrArrayOf(s.string).optional,link:s.func.optional,controller:s.oneOfType([s.string,s.func,s.array]).optional,validation:s.shape({show:s.bool.nullable.optional,messages:s.objectOf(u).optional,errorExistsAndShouldBeVisible:s.bool.optional}).optional,formControl:s.typeOrArrayOf(s.object).optional,value:s.func.optional,runExpressions:s.func.optional,templateManipulators:g.optional,resetModel:s.func.optional,updateInitialValue:s.func.optional,initialValue:s.any.optional,defaultValue:s.any.optional},E=s.shape(x).strict,$=s.shape({formState:s.object.optional,resetModel:s.func.optional,updateInitialValue:s.func.optional,removeChromeAutoComplete:s.bool.optional,parseKeyArrays:s.bool.optional,templateManipulators:g.optional,manualModelWatcher:s.oneOfType([s.bool,s.func]).optional,watchAllExpressions:s.bool.optional,wrapper:p.optional,fieldTransform:s.oneOfType([s.func,s.array]).optional,data:s.object.optional}).strict,w=s.shape({$$hashKey:s.any.optional,key:s.oneOfType([s.string,s.number]).optional,fieldGroup:s.arrayOf(s.oneOfType([E,s.object])),className:s.string.optional,options:$.optional,templateOptions:s.object.optional,wrapper:p.optional,watcher:O.optional,hide:s.bool.optional,hideExpression:u.optional,data:s.object.optional,model:v.optional,form:s.object.optional,elementAttributes:s.objectOf(s.string).optional}).strict,A=a[\"default\"].copy(x);A.key=s.string.optional;var k=s.shape({name:s.string,template:s.shape.ifNot(\"templateUrl\",s.oneOfType([s.string,s.func])).optional,templateUrl:s.shape.ifNot(\"template\",s.oneOfType([s.string,s.func])).optional,controller:s.oneOfType([s.func,s.string,s.array]).optional,link:s.func.optional,defaultOptions:s.oneOfType([s.func,s.shape(A)]).optional,\"extends\":s.string.optional,wrapper:p.optional,data:s.object.optional,apiCheck:d.optional,apiCheckInstance:c.optional,apiCheckFunction:m.optional,apiCheckOptions:s.object.optional,overwriteOk:s.bool.optional}).strict;a[\"default\"].extend(s,{formlyTypeOptions:k,formlyFieldOptions:E,formlyExpression:u,formlyWrapperType:y,fieldGroup:w,formOptionsApi:$}),t[\"default\"]=s,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t&lt;e.length;t++)o[t]=e[t];return o}return Array.from(e)}function i(e,t,o){function n(e){if(!l[\"default\"].isArray(e)){if(l[\"default\"].isObject(e))return i(e),e[\"extends\"]&amp;&amp;a(e),C[e.name]=e,C[e.name];throw _(\"You must provide an object or array for setType. You provided: \"+JSON.stringify(arguments))}var t=function(){var t=[];return l[\"default\"].forEach(e,function(e){t.push(n(e))}),{v:t}}();if(\"object\"==typeof t)return t.v}function i(e){o[\"throw\"](o.formlyTypeOptions,e,{prefix:\"formlyConfig.setType\",url:\"settype-validation-failed\"}),e.overwriteOk?e.overwriteOk=void 0:x(e.name,C,e,\"types\")}function a(e){var t=c(e[\"extends\"],!0,e);u(e,t),p(e,t),d(e,t),s[\"default\"].reverseDeepMerge(e,t),f(e,t)}function f(e,t){e.template&amp;&amp;t.templateUrl?delete e.templateUrl:e.templateUrl&amp;&amp;t.template&amp;&amp;delete e.template}function u(e,t){var o=t.controller;if(l[\"default\"].isDefined(o)){var n=e.controller;l[\"default\"].isDefined(n)?(e.controller=function(e,t){t(o,{$scope:e}),t(n,{$scope:e})},e.controller.$inject=[\"$scope\",\"$controller\"]):e.controller=o}}function p(e,t){var o=t.link;if(l[\"default\"].isDefined(o)){var n=e.link;l[\"default\"].isDefined(n)?e.link=function(){o.apply(void 0,arguments),n.apply(void 0,arguments)}:e.link=o}}function d(e,t){var o=t.defaultOptions;if(l[\"default\"].isDefined(o)){var n=e.defaultOptions||{},r=l[\"default\"].isFunction(n),i=l[\"default\"].isFunction(o);\ni?e.defaultOptions=function(e,t){var i=o(e,t),a={};s[\"default\"].reverseDeepMerge(a,e,i);var l=n;return r&amp;&amp;(l=l(a,t)),s[\"default\"].reverseDeepMerge(l,i),l}:r&amp;&amp;(e.defaultOptions=function(e,t){var r={};return s[\"default\"].reverseDeepMerge(r,e,o),n(r,t)})}}function c(e,t,o){if(e){var n=C[e];if(n||t!==!0)return n;throw _('There is no type by the name of \"'+e+'\": '+JSON.stringify(o))}}function m(){return C}function y(e){var t=[],o=e;for(l[\"default\"].isString(o)&amp;&amp;(o=c(e)),e=o[\"extends\"];e;)o=c(e),t.push(o),e=o[\"extends\"];return t}function h(e,t){for(var o=!0;o;){var n=e,r=t;if(o=!1,l[\"default\"].isArray(n))return n.map(function(e){return h(e)});if(l[\"default\"].isObject(n))return n.types=v(n),n.name=g(n,r),b(n),j[n.name]=n,n;l[\"default\"].isString(n)&amp;&amp;(e={template:n,name:r},t=void 0,o=!0)}}function v(e){return l[\"default\"].isString(e.types)?[e.types]:l[\"default\"].isDefined(e.types)?e.types:[]}function g(e,t){return e.name||t||e.types.join(\" \")||F}function b(t){e.checkWrapper(t),t.template&amp;&amp;e.checkWrapperTemplate(t.template,t),t.overwriteOk?delete t.overwriteOk:x(t.name,j,t,\"templateWrappers\"),O(t)}function O(e){var t=!l[\"default\"].isArray(e.types)||!e.types.every(l[\"default\"].isString);if(t)throw _(\"Attempted to create a template wrapper with types that is not a string or an array of strings\")}function x(e,t,o,n){t.hasOwnProperty(e)&amp;&amp;k(\"overwriting-types-or-wrappers\",[\"Attempting to overwrite \"+e+\" on \"+n+\" which is currently\",JSON.stringify(t[e])+\" with \"+JSON.stringify(o),'To supress this warning, specify the property \"overwriteOk: true\"'].join(\" \"))}function E(e){return j[e||F]}function $(e){var t=[];for(var o in j)j.hasOwnProperty(o)&amp;&amp;j[o].types&amp;&amp;j[o].types.indexOf(e)!==-1&amp;&amp;t.push(j[o]);return t}function w(e){var t=j[e];return delete j[e],t}function A(e){var t=$(e);if(t)return l[\"default\"].isArray(t)?(t.forEach(function(e){return w(e.name)}),t):w(t.name)}function k(){if(!T.disableWarnings&amp;&amp;console.warn){var e=Array.prototype.slice.call(arguments),o=e.shift();e.unshift(\"Formly Warning:\"),e.push(\"\"+t+o),console.warn.apply(console,r(e))}}var M=this,C={},j={},F=\"default\",T=this,_=e.getFormlyError;l[\"default\"].extend(this,{setType:n,getType:c,getTypes:m,getTypeHeritage:y,setWrapper:h,getWrapper:E,getWrapperByType:$,removeWrapperByName:w,removeWrappersForType:A,disableWarnings:!1,extras:{disableNgModelAttrsManipulator:!1,fieldTransform:[],ngModelAttrsManipulatorPreferUnbound:!1,removeChromeAutoComplete:!1,parseKeyArrays:!1,defaultHideDirective:\"ng-if\",getFieldId:null},templateManipulators:{preWrapper:[],postWrapper:[]},$get:function(){return M}})}i.$inject=[\"formlyUsabilityProvider\",\"formlyErrorAndWarningsUrlPrefix\",\"formlyApiCheck\"],Object.defineProperty(t,\"__esModule\",{value:!0});var a=o(1),l=n(a),f=o(2),s=n(f);t[\"default\"]=i,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e,t){function o(e,t,o){return arguments.length&lt;3&amp;&amp;(o=t,t=e,e=null),new Error(r(e,t)+(\" Field definition: \"+a[\"default\"].toJson(o)))}function n(e,t){return t||(t=e,e=null),new Error(r(e,t))}function r(e,o){var n=\"\";return null!==e&amp;&amp;(n=\"\"+t+e),\"Formly Error: \"+o+\". \"+n}function i(t){e[\"throw\"](e.formlyWrapperType,t,{prefix:\"formlyConfig.setWrapper\",urlSuffix:\"setwrapper-validation-failed\"})}function l(e,t){var o=\"&lt;formly-transclude&gt;&lt;/formly-transclude&gt;\";if(e.indexOf(o)===-1)throw n('Template wrapper templates must use \"'+o+'\" somewhere in them. This one does not have \"&lt;formly-transclude&gt;&lt;/formly-transclude&gt;\" in it: '+e+\"\\nAdditional information: \"+JSON.stringify(t))}var f=this;a[\"default\"].extend(this,{getFormlyError:n,getFieldError:o,checkWrapper:i,checkWrapperTemplate:l,getErrorMessage:r,$get:function(){return f}})}r.$inject=[\"formlyApiCheck\",\"formlyErrorAndWarningsUrlPrefix\"],Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(1),a=n(i);t[\"default\"]=r,e.exports=t[\"default\"]},function(e,t){\"use strict\";function o(){function e(e,t,r,i,a){n.messages[e]=o(t,r,i,a)}function t(e,t){n.messages[e]=function(){return t}}function o(e,t,o,n){return function(r,i,a){return\"undefined\"!=typeof a.options.templateOptions[e]?t+\" \"+a.options.templateOptions[e]+\" \"+o:n}}var n={addTemplateOptionValueMessage:e,addStringMessage:t,messages:{}};return n}Object.defineProperty(t,\"__esModule\",{value:!0}),t[\"default\"]=o,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e){e&amp;&amp;e.documentMode&lt;9&amp;&amp;!function(){var t=e.get(0),o=[\"formly-field\",\"formly-form\"];a[\"default\"].forEach(o,function(e){t.createElement(e)})}()}r.$inject=[\"$document\"],Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(1),a=n(i);t[\"default\"]=r,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(e,t){function o(e,o,r){function i(){(a[\"default\"].isDefined(o.validators)||a[\"default\"].isDefined(o.validation.messages))&amp;&amp;u(g,\"formly-custom-validation\",\"\")}function l(){d(o.key)&amp;&amp;p(g,\"ng-model\",\"model.\"+o.key)}function c(){a[\"default\"].isDefined(o.modelOptions)&amp;&amp;(u(g,\"ng-model-options\",\"options.modelOptions\"),o.modelOptions.getterSetter&amp;&amp;p(g,\"ng-model\",\"options.value\"))}function m(){if(o.templateOptions||o.expressionProperties){var e=o.templateOptions||{},n=o.expressionProperties||{},r=f();a[\"default\"].extend(r,o.ngModelAttrs),a[\"default\"].forEach(r,function(r,i){var l=void 0,f=void 0,p=\"options.templateOptions['\"+i+\"']\",d=e[i],c=s(n,i),m=a[\"default\"].isDefined(d),y=a[\"default\"].isDefined(c);if(r.value)f=r.value,l=i;else if(r.statement&amp;&amp;m)if(f=r.statement,a[\"default\"].isString(e[i]))l=\"$eval(\"+p+\")\";else{if(!a[\"default\"].isFunction(e[i]))throw new Error(\"options.templateOptions.\"+i+\" must be a string or function: \"+JSON.stringify(o));l=p+\"(model[options.key], options, this, $event)\"}else r.bound&amp;&amp;y?(f=r.bound,l=p):(r.attribute||r[\"boolean\"])&amp;&amp;y?(f=r.attribute||r[\"boolean\"],l=\"\"+t.startSymbol()+p+t.endSymbol()):r.attribute&amp;&amp;m?(f=r.attribute,l=d):r[\"boolean\"]?m&amp;&amp;!y&amp;&amp;d&amp;&amp;(f=r[\"boolean\"],l=!0):r.bound&amp;&amp;m&amp;&amp;(f=r.bound,l=p);a[\"default\"].isDefined(f)&amp;&amp;a[\"default\"].isDefined(l)&amp;&amp;u(g,f,l)})}}function y(){a[\"default\"].forEach(o.ngModelElAttrs,function(e,t){p(g,t,e)})}var h=document.createElement(\"div\"),v=o.extras&amp;&amp;o.extras.skipNgModelAttrsManipulator;if(v===!0)return e;h.innerHTML=e;var g=n(h,v);return g&amp;&amp;g.length?(u(g,\"id\",r.id),u(g,\"name\",r.name||r.id),i(),l(),c(),m(),y(),h.innerHTML):e}function n(e,t){var o=a[\"default\"].isString(t)?\":not(\"+t+\")\":\"\",n=\":not([formly-skip-ng-model-attrs-manipulator])\",i=\"[ng-model]\"+o+n+\", [data-ng-model]\"+o+n;try{return e.querySelectorAll(i)}catch(l){return r(e,t)}}function r(e,t){var o=e.querySelectorAll(\"[ng-model], [data-ng-model]\"),n=[];n.item=function(e){return this[e]};for(var r=0;r&lt;o.length;r++){var l=o[r];l.hasAttribute(\"formly-skip-ng-model-attrs-manipulator\")||a[\"default\"].isString(t)&amp;&amp;i(l,t)||n.push(l)}return n}function i(e,t){var o=document.createElement(\"div\");return o.innerHTML=e.outerHTML,o.querySelector(t)}function f(){var t={focus:{attribute:\"formly-focus\"}},o=[],n=[\"required\",\"disabled\"],r=[\"pattern\",\"minlength\"],i=[\"change\",\"keydown\",\"keyup\",\"keypress\",\"click\",\"focus\",\"blur\"],l=[\"placeholder\",\"min\",\"max\",\"step\",\"tabindex\",\"type\"];return e.extras.ngModelAttrsManipulatorPreferUnbound?r.push(\"maxlength\"):o.push(\"maxlength\"),a[\"default\"].forEach(o,function(e){t[e]={bound:\"ng-\"+e}}),a[\"default\"].forEach(n,function(e){t[e]={\"boolean\":e,bound:\"ng-\"+e}}),a[\"default\"].forEach(r,function(e){t[e]={attribute:e,bound:\"ng-\"+e}}),a[\"default\"].forEach(i,function(e){var o=\"on\"+e.substr(0,1).toUpperCase()+e.substr(1);t[o]={statement:\"ng-\"+e}}),a[\"default\"].forEach(l,function(e){t[e]={attribute:e}}),t}function s(e,t){return e[\"templateOptions.\"+t]||e[\"templateOptions['\"+t+\"']\"]||e['templateOptions[\"'+t+'\"]']}function u(e,t,o){a[\"default\"].forEach(e,function(e){e.getAttribute(t)||e.setAttribute(t,o)})}function p(e,t,o){a[\"default\"].forEach(e,function(e){e.setAttribute(t,o)})}function d(e){return(0,l.contains)(e,\".\")||(0,l.contains)(e,\"[\")&amp;&amp;(0,l.contains)(e,\"]\")}e.extras.disableNgModelAttrsManipulator||e.templateManipulators.preWrapper.push(o)}r.$inject=[\"formlyConfig\",\"$interpolate\"],Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(1),a=n(i),l=o(2);t[\"default\"]=r,e.exports=t[\"default\"]},function(e,t,o){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}function r(){return a[\"default\"]}Object.defineProperty(t,\"__esModule\",{value:!0});var i=o(2),a=n(i);t[\"default\"]=r,e.exports=t[\"default\"]},function(e,t){\"use strict\";function o(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t&lt;e.length;t++)o[t]=e[t];return o}return Array.from(e)}function n(e,t,n){return function(){if(!e.disableWarnings){var r=Array.prototype.slice.call(arguments),i=r.shift();r.unshift(\"Formly Warning:\"),r.push(\"\"+t+i),n.warn.apply(n,o(r))}}}n.$inject=[\"formlyConfig\",\"formlyErrorAndWarningsUrlPrefix\",\"$log\"],Object.defineProperty(t,\"__esModule\",{value:!0}),t[\"default\"]=n,e.exports=t[\"default\"]},function(e,o){e.exports=t}])});\n//# sourceMappingURL=formly.min.js.map]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-08-02 13:22:14&lt;/sys_created_on&gt;&lt;sys_id&gt;eb1fc85edb500300aa80d49fdf961979&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;formly.min.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_eb1fc85edb500300aa80d49fdf961979&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-02 16:07:56&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>615314161</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>185ff4d6dbd00300aa80d49fdf9619d2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b41d880000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>formly.min.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>131534d2b9d00300b5d3e94a4690c366</update_guid>\n<update_guid_history>131534d2b9d00300b5d3e94a4690c366:615314161,f115f0d202d00300fa8c0cca2256cf2b:-2137981273,4c3fc45eb550030093bc7685028b4028:615314161</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_de1fc85edb500300aa80d49fdf96194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>formly.min.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-08-02 13:23:47</sys_created_on><sys_id>de1fc85edb500300aa80d49fdf96194e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>formly.min.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"formly.min.js\">eb1fc85edb500300aa80d49fdf961979</sys_ui_script><sys_update_name>sp_js_include_de1fc85edb500300aa80d49fdf96194e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-08-02 16:07:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>542221953</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>1c5ff4d6dbd00300aa80d49fdf9619d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b3a3ee0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>formly.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>77f4b0d2e6d00300b445d9d26e746a3b</update_guid>\n<update_guid_history>77f4b0d2e6d00300b445d9d26e746a3b:542221953,a2f4b0d2fad00300fcf296e2e9b91738:-1171115557,3a8f8c5ecd500300d52fbbba298efd44:542221953</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d0e0d8dedb500300aa80d49fdf96199e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;api-check.min.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[//! api-check version 7.5.5 built with ♥ by Kent C. Dodds &lt;kent@doddsfamily.us&gt; (http://kent.doddsfamily.us) (ó ì_í)=óò=(ì_í ò)\n!function(e,r){\"object\"==typeof exports&amp;&amp;\"object\"==typeof module?module.exports=r():\"function\"==typeof define&amp;&amp;define.amd?define(r):\"object\"==typeof exports?exports.apiCheck=r():e.apiCheck=r()}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(e,r,t){\"use strict\";function n(e){return e&amp;&amp;e.__esModule?e:{\"default\":e}}Object.defineProperty(r,\"__esModule\",{value:!0});var o=t(3),i=n(o);r[\"default\"]=i[\"default\"],e.exports=r[\"default\"]},function(e,r){function t(e,r){var t=[],o=[];return r=r||function(e,r){return\"[Circular \"+n(r,t,o)+\"]\"},function(n,i){var a=i;return\"object\"==typeof i&amp;&amp;i&amp;&amp;(-1!==t.indexOf(i)?a=r(n,i):(t.push(i),o.push(n))),e&amp;&amp;(a=e(n,a)),a}}function n(e,r,t){var n=r.indexOf(e),o=[t[n]];for(n--;n&gt;=0;n--)r[n][o[0]]===e&amp;&amp;(e=r[n],o.unshift(t[n]));return\"~\"+o.join(\".\")}function o(e,r,n,o){return JSON.stringify(e,t(r,o),n)}e.exports=o,o.getSerialize=t},function(e,r,t){\"use strict\";function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e){var r=i(e),t=void 0;if(\"array\"===r)t=[];else{if(\"object\"!==r)return e;t={}}return f(e,function(e,r){t[r]=e}),t}function i(e){return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":typeof e}function a(e,r){var t=void 0,n=r&amp;&amp;r[\"short\"];return t=n&amp;&amp;e.shortType?e.shortType:!n&amp;&amp;\"object\"==typeof e.type||\"function\"===e.type?u(e,r):u(e,r)||e.displayName||e.name}function u(e,r){var t=e.type;if(\"function\"==typeof t){var o=t.__apiCheckData,i=t(r);t=n({__apiCheckData:o},o.type,i)}return t}function p(e){return e?Array.isArray(e)?e:[e]:[]}function f(e,r,t){return Array.isArray(e)?s(e,r,t):c(e,r,t)}function c(e,r,t){var n=void 0,o=Object.prototype.hasOwnProperty;for(var i in e)if(o.call(e,i)&amp;&amp;(n=r.call(t,e[i],i,e),n===!1))return n;return!0}function s(e,r,t){for(var n=void 0,o=e.length,i=0;o&gt;i;i++)if(n=r.call(t,e[i],i,e),n===!1)return n;return!0}function l(e){return e instanceof Error}function y(e,r,t){e=p(e);var n=e.slice(),o=n.pop();return 1===n.length&amp;&amp;(r=\" \"),n.join(r)+(\"\"+(n.length?r+t:\"\")+o)}function h(e,r,t){\"function\"==typeof t&amp;&amp;(t=t({\"short\":!0}));var n=\"object\"!=typeof t?t:A(t);return new Error(d(e,r)+\" must be \"+v(n))}function d(e,r){var t=v(e||\"value\"),n=r?\" at \"+v(r):\"\";return\"\"+t+n}function v(e){return\"`\"+e+\"`\"}function g(e){return\"undefined\"==typeof e}function b(e,r,t){return t&amp;&amp;(e=_(),e.isNoop=!0),\"string\"==typeof e.type&amp;&amp;(e.shortType=e.type),f(r,function(r,t){return e[t]=r}),e.displayName||(e.displayName=\"apiCheck \"+v(e.shortType||e.type||e.name)+\" type checker\"),e.notRequired||(e=m(e,t)),e.notNullable||k(e,t),e.notOptional||O(e,t),e}function m(e,r){var t=r?_():function(r,t,n,o){if(g(r)&amp;&amp;!e.isOptional){var i=n?\" in \"+v(n):\"\",u=a(e,{\"short\":!0}),p=\"object\"!=typeof u?u:A(u);return new Error(\"Required \"+v(t)+\" not specified\"+i+\". Must be \"+v(p))}return e(r,t,n,o)};return j(e,t),t.originalChecker=e,t}function O(e,r){var t=r?_():function(r,t,n,o){return g(r)?void 0:e(r,t,n,o)};j(e,t),t.isOptional=!0,t.displayName=e.displayName+\" (optional)\",t.originalChecker=e,e.optional=t,C(e,e.optional)}function k(e,r){var t=r?_():function(r,t,n,o){return null!==r?e(r,t,n,o):void 0};j(e,t),t.isNullable=!0,t.displayName=e.displayName+\" (nullable)\",t.originalChecker=e,e.nullable=t,C(e,e.nullable),e.notOptional||O(e.nullable,r)}function C(e,r){if(\"object\"==typeof r.type)r.type=o(r.type);else{if(\"function\"!=typeof r.type)return void(r.type+=\" (optional)\");r.type=function(){return e.type.apply(e,arguments)}}r.type.__apiCheckData=o(e.type.__apiCheckData)||{},r.type.__apiCheckData.optional=!0}function j(e,r){f(Object.keys(e),function(t){return r[t]=e[t]})}function x(){}function _(){return function(){}}var A=t(1),T={addOptional:O,getRequiredVersion:m,setupChecker:b,addNullable:k};e.exports={each:f,copy:o,typeOf:i,arrayify:p,getCheckerDisplay:a,isError:l,list:y,getError:h,nAtL:d,t:v,undef:g,checkerHelpers:T,noop:x}},function(e,r,t){\"use strict\";function n(){function r(n,i,a){if(r.config.disabled||e.exports.globalConfig.disabled)return{apiTypes:{},argTypes:{},passed:!0,message:\"\",failed:!1};t(arguments),Array.isArray(n)?i=Array.prototype.slice.call(i):(n=[n],i=[i]);var u=p(n,i);u.length||(u=o(n,i));var f=c(n,i);return f.args=i,u.length?(f.message=r.getErrorMessage(n,i,u,a),f.failed=!0,f.passed=!1):(f.message=\"\",f.failed=!1,f.passed=!0),f}function t(e){var t=e[0],n=e[1],i=Array.isArray(n)||n&amp;&amp;\"object\"==typeof n&amp;&amp;\"number\"==typeof n.length;if(Array.isArray(t)&amp;&amp;!i)throw new Error(a(t,[n],[\"If an array is provided for the api, an array must be provided for the args as well.\"],{prefix:\"apiCheck\"}));var u=o(C.checkApiCheckApi,e);if(u.length){var p=r.getErrorMessage(C.checkApiCheckApi,e,u,{prefix:\"apiCheck\"});r.handleErrorMessage(p,!0)}}function n(e){return function(t,n,o){var i=r(t,n,o);return r.handleErrorMessage(i.message,e),i}}function i(e,r){if(r&amp;&amp;e)throw new Error(e);e&amp;&amp;console.warn(e)}function a(e,t){function n(){var e=p.onlyPrefix;return e||(e=((f.prefix||\"\")+\" \"+(p.prefix||\"\")).trim()),e}function o(){var e=p.onlySuffix;return e||(e=((p.suffix||\"\")+\" \"+(f.suffix||\"\")).trim()),e}function i(){var e=p.url;return e||(e=f.docsBaseUrl&amp;&amp;p.urlSuffix&amp;&amp;(\"\"+f.docsBaseUrl+p.urlSuffix).trim()),e}var a=arguments.length&lt;=2||void 0===arguments[2]?[]:arguments[2],p=arguments.length&lt;=3||void 0===arguments[3]?{}:arguments[3],f=r.config.output||{},c=n(),s=o(),l=i(),y=\"apiCheck failed! \"+a.join(\", \"),h=\"\\n\\n\"+u(e,t);return(c+\" \"+y+\" \"+s+\" \"+(l||\"\")+h).trim()}function u(e,r){function t(e){h(e,function(r,n){-1===f.indexOf(r)&amp;&amp;(f.push(r),\"object\"==typeof r?t(e):\"function\"==typeof r&amp;&amp;(e[n]=r.displayName||r.name||\"anonymous function\"))})}function n(e){return e&amp;&amp;e.length?(e&amp;&amp;1===e.length&amp;&amp;(e=e[0]),l(e,null,2)):\"nothing\"}function o(){var e=\"\\n\",t=!0;r&amp;&amp;1===r.length&amp;&amp;(t=\"object\"==typeof r[0]&amp;&amp;null!==r[0]?!!Object.keys(r[0]).length:!1);var n=\"type\"+(t?\"s\":\"\"),o=e+e;return\"You passed:\"+e+s+o+(\"With the \"+n+\":\"+e+u+o)+(\"The API calls for:\"+e+a)}var i=c(e,r),a=i.apiTypes,u=i.argTypes,p=Array.prototype.slice.call(r||[]),f=[];t(p);var s=n(p);return u=n(u),a=n(a),o()}function c(t,n){t=g(t),n=g(n);var o=t.map(function(t,o){var i=e.exports.globalConfig.hasOwnProperty(\"verbose\");return b(t,{terse:i?!e.exports.globalConfig.verbose:!r.config.verbose,obj:n[o],addHelpers:!0})}),i=n.map(function(e){return f(e,[])});return{argTypes:i,apiTypes:o}}var s=arguments.length&lt;=0||void 0===arguments[0]?{}:arguments[0],d=arguments.length&lt;=1||void 0===arguments[1]?{}:arguments[1];j&amp;&amp;arguments.length&amp;&amp;j[\"throw\"](C.getApiCheckInstanceCheckers,arguments,{prefix:\"creating an apiCheck instance\"});var v={\"throw\":n(!0),warn:n(!1),getErrorMessage:a,handleErrorMessage:i,config:{output:s.output||{prefix:\"\",suffix:\"\",docsBaseUrl:\"\"},verbose:s.verbose||!1,disabled:s.disabled||!1},utils:y};h(v,function(e,t){return r[t]=e});var m=r.disabled||e.exports.globalConfig.disabled;return h(k.getCheckers(m),function(e,t){return r[t]=e}),h(d,function(e,t){return r[t]=e}),r}function o(e,r){for(var t=[],n=!1,o=0,i=0,u=void 0,p=void 0,f=void 0,c=void 0,s=void 0,l=void 0,y=void 0;(p=e[o++])&amp;&amp;i&lt;r.length;)u=r[i++],s=\"Argument \"+i+(p.isOptional?\" (optional)\":\"\"),f=p(u,\"value\",s),l=d(f),c=o&gt;=e.length,y=o&gt;1&amp;&amp;e[o-1].isOptional,l&amp;&amp;c||l&amp;&amp;!c&amp;&amp;!p.isOptional&amp;&amp;!y?(n=!0,t.push(a(f,p,u))):l&amp;&amp;p.isOptional?i--:t.push(v(s)+\" passed\");return n?t:[]}function i(e,r,t){var n=k.shape({type:k.string,optional:k.bool}),o=k.func.withProperties({__apiCheckData:n}),a=k.shape({__apiCheckData:n}),u=k.oneOfType([o,a])(e,r,t);return d(u)?u:\"function\"==typeof e||e.hasOwnProperty(e.__apiCheckData.type)?void 0:O(r,t,i.type)}function a(e,r,t){var n=u(r,t);return n=n?\" - \"+n:\"\",e.message+n}function u(e,r){var t=e.help;return t?(\"function\"==typeof t&amp;&amp;(t=t(r)),t):\"\"}function p(e,r){var t=e.filter(function(e){return!e.isOptional});return r.length&lt;t.length?[\"Not enough arguments specified. Requires `\"+t.length+\"`, you passed `\"+r.length+\"`\"]:[]}function f(e,r){function t(){return e&amp;&amp;Object.keys(e).length}function n(){return-1!==r.indexOf(e)?\"[Circular]\":(r.push(e),c(e,r))}var o=e&amp;&amp;e.constructor&amp;&amp;e.constructor.name,i=m(e);if(\"function\"===i){if(t()){var a=l(n());return o+\" (with properties: \"+a+\")\"}return o}return null===e?\"null\":\"array\"!==i&amp;&amp;\"object\"!==i?i:t()?n():o}function c(e,r){var t={};return h(e,function(e,n){return t[n]=f(e,r)}),t}function s(){var e=k.string.optional,r=k.func.withProperties({type:k.oneOfType([k.string,i]).optional,displayName:k.string.optional,shortType:k.string.optional,notOptional:k.bool.optional,notRequired:k.bool.optional}),t=[k.shape({output:k.shape({prefix:k.string.optional,suffix:k.string.optional,docsBaseUrl:k.string.optional}).strict.optional,verbose:k.bool.optional,disabled:k.bool.optional}).strict.optional,k.objectOf(r).optional],n=[k.typeOrArrayOf(r),k.any.optional,k.shape({prefix:e,suffix:e,urlSuffix:e,onlyPrefix:e,onlySuffix:e,url:e}).strict.optional];return{checkerFnChecker:r,getApiCheckInstanceCheckers:t,checkApiCheckApi:n}}var l=t(1),y=t(2),h=y.each,d=y.isError,v=y.t,g=y.arrayify,b=y.getCheckerDisplay,m=y.typeOf,O=y.getError,k=t(4),C=s();e.exports=n,e.exports.VERSION=\"7.5.5\",e.exports.utils=y,e.exports.globalConfig={verbose:!1,disabled:!1};var j=n({output:{prefix:\"apiCheck\"}});e.exports.internalChecker=j,h(k,function(r,t){return e.exports[t]=r}),i.type=\"function with __apiCheckData property and `${function.type}` property\"},function(e,r,t){\"use strict\";function n(e){function r(r){var t=r.toLowerCase();return b(function(e,n,o){return a(e)!==t?y(n,o,r):void 0},{type:r},e)}function t(){var r=\"Function\",t=b(function(e,t,n){return\"function\"!==a(e)?y(t,n,r):void 0},{type:r},e);return t.withProperties=function(r){var t=m.objectOf(m.func)(r,\"properties\",\"apiCheck.func.withProperties\");if(c(t))throw t;var n=m.shape(r,!0);return n.type.__apiCheckData.type=\"func.withProperties\",b(function(e,r,t){var o=m.func(e,r,t);return c(o)?o:n(e,r,t)},{type:n.type,shortType:\"func.withProperties\"},e)},t}function n(){var r=\"Object\",t=\"Object (null ok)\",n=b(function(e,r,n){return\"object\"!==a(e)?y(r,n,t):void 0},{type:t},e),o=b(function(e,r,t){return null===e||c(n(e,r,t))?y(r,t,o.type):void 0},{type:r,nullOk:n},e);return o}function i(r){return b(function(e,t,n){return e instanceof r?void 0:y(t,n,r.name)},{type:r.name},e)}function v(r){var t={__apiCheckData:{optional:!1,type:\"enum\"},\"enum\":r},n=\"oneOf[\"+r.map(function(e){return o(e)}).join(\", \")+\"]\";return b(function(e,t,o){return r.some(function(r){return r===e})?void 0:y(t,o,n)},{type:t,shortType:n},e)}function O(r){function t(e){return e&amp;&amp;e[\"short\"]?o:r.map(function(r){return f(r,e)})}var n=r.map(function(e){return f(e,{\"short\":!0})}),o=\"oneOfType[\"+n.join(\", \")+\"]\";return t.__apiCheckData={optional:!1,type:\"oneOfType\"},b(function(e,t,n){return r.some(function(r){return!c(r(e,t,n))})?void 0:y(t,n,o)},{type:t,shortType:o},e)}function k(r){function t(e){return e&amp;&amp;e[\"short\"]?o:f(r,e)}var n=f(r,{\"short\":!0}),o=\"arrayOf[\"+n+\"]\";return t.__apiCheckData={optional:!1,type:\"arrayOf\"},b(function(e,t,n){return c(m.array(e))||!e.every(function(e){return!c(r(e))})?y(t,n,o):void 0},{type:t,shortType:o},e)}function C(r){function t(e){return e&amp;&amp;e[\"short\"]?o:f(r,e)}var n=f(r,{\"short\":!0}),o=\"objectOf[\"+n+\"]\";return t.__apiCheckData={optional:!1,type:\"objectOf\"},b(function(e,t,n){var i=m.object(e,t,n);if(c(i))return i;var a=u(e,function(e,n){return c(r(e,n,t))?!1:void 0});return a?void 0:y(t,n,o)},{type:t,shortType:o},e)}function j(r){function t(e){return e&amp;&amp;e[\"short\"]?o:f(r,e)}var n=f(r,{\"short\":!0}),o=\"typeOrArrayOf[\"+n+\"]\";return t.__apiCheckData={optional:!1,type:\"typeOrArrayOf\"},b(function(e,t,n,i){return c(m.oneOfType([r,m.arrayOf(r)])(e,t,n,i))?y(t,n,o):void 0},{type:t,shortType:o},e)}function x(){function r(r,t){function n(){function e(e,r,t,n,o){function a(t,n,o){\"string\"==typeof e[r]?e[r]+=o:e[r].__apiCheckData[t]=n}if(t||!o||n.isOptional){if(t){var u=n(i[r],r,null,i);c(u)&amp;&amp;a(\"error\",\"THIS IS THE PROBLEM: \"+u.message,\" &lt;-- THIS IS THE PROBLEM: \"+u.message)}}else{var p=\"ITEM\";n.type&amp;&amp;n.type.__apiCheckData&amp;&amp;(p=n.type.__apiCheckData.type.toUpperCase()),a(\"missing\",\"MISSING THIS \"+p,\" &lt;-- YOU ARE MISSING THIS\")}}var t=arguments.length&lt;=0||void 0===arguments[0]?{}:arguments[0],n={},o=t.terse,i=t.obj,a=t.addHelpers,p=t.required;return u(r,function(r,t){var u=i&amp;&amp;i.hasOwnProperty(t),c=g(p)?!r.isOptional:p;o&amp;&amp;!u&amp;&amp;r.isOptional||(n[t]=f(r,{terse:o,obj:i&amp;&amp;i[t],required:c,addHelpers:a})),a&amp;&amp;e(n,t,u,r,c)}),n}function o(){return n.apply(void 0,arguments)}var i={};u(r,function(e,r){i[r]=f(e)}),n.__apiCheckData={strict:!1,optional:!1,type:\"shape\"};var a=b(function(e,n,o){var i=!t&amp;&amp;m.object(e,n,o);if(c(i))return i;var a=void 0;return o=o?o+(n?\"/\":\"\"):\"\",n=n||\"\",u(r,function(r,t){return e.hasOwnProperty(t)||!r.isOptional?(a=r(e[t],t,\"\"+o+n,e),!c(a)):void 0}),c(a)?a:void 0},{type:n,shortType:\"shape\"},e);return o.__apiCheckData=p(a.type.__apiCheckData),o.__apiCheckData.strict=!0,a.strict=b(function(e,t,n){var o=a(e,t,n);if(c(o))return o;var i=Object.keys(r),u=Object.keys(e).filter(function(e){return-1===i.indexOf(e)});return u.length?new Error(h(t,n)+\" cannot have extra properties: \"+d(u.join(\"`, `\"))+\".It is limited to \"+d(i.join(\"`, `\"))):void 0},{type:o,shortType:\"strict shape\"},e),a}function t(r,t,o){var i=d(t.join(\", \")),a=\"if \"+(r?\"all of\":\"at least one of\"),u=\"specified \"+a+\" these are not specified: \"+i+\" (otherwise it's optional)\",p=\"requiredIfNot\"+(r?\".all\":\"\")+\"[\"+t.join(\", \")+\"}]\",f=n(o,u,p);return b(function(e,n,i,a){var u=a&amp;&amp;a.hasOwnProperty(n),p=r?\"every\":\"some\",c=t[p](function(e){return a&amp;&amp;a.hasOwnProperty(e)});return c||u?u?o(e,n,i,a):void 0:y(n,i,f)},{type:f,notRequired:!0},e)}function n(e,r,t){function n(r){return r&amp;&amp;r[\"short\"]?t:f(e)}return n.__apiCheckData={optional:!1,type:\"ifNot\",description:r},n}return r.ifNot=function(r,t){Array.isArray(r)||(r=[r]);var o=void 0;o=1===r.length?\"specified only if \"+r[0]+\" is not specified\":\"specified only if none of the following are specified: [\"+l(r,\", \",\"and \")+\"]\";var i=\"ifNot[\"+r.join(\", \")+\"]\",a=n(t,o,i);return b(function(e,n,o,i){var u=i&amp;&amp;i.hasOwnProperty(n),p=r.some(function(e){return i&amp;&amp;i.hasOwnProperty(e)});return u===p?y(n,o,a):u?t(e,n,o,i):void 0},{notRequired:!0,type:a,shortType:i},e)},r.onlyIf=function(r,t){r=s(r);var o=void 0;o=1===r.length?\"specified only if \"+r[0]+\" is also specified\":\"specified only if all of the following are specified: [\"+l(r,\", \",\"and \")+\"]\";var i=\"onlyIf[\"+r.join(\", \")+\"]\",a=n(t,o,i);return b(function(e,n,o,i){var u=r.every(function(e){return i.hasOwnProperty(e)});return u?t(e,n,o,i):y(n,o,a)},{type:a,shortType:i},e)},r.requiredIfNot=function(e,r){return Array.isArray(e)||(e=[e]),t(!1,e,r)},r.requiredIfNot.all=function(e,r){if(!Array.isArray(e))throw new Error(\"requiredIfNot.all must be passed an array\");return t(!0,e,r)},r}function _(){var r=\"function arguments\";return b(function(e,t,n){return Array.isArray(e)||c(m.object(e))||c(m.number(e.length))?y(t,n,r):void 0},{type:r},e)}function A(){return b(function(){},{type:\"any\"},e)}function T(){var r=\"null\";return b(function(e,t,n){return null!==e?y(t,n,r):void 0},{type:r},e)}function w(r,t){var n=\"Range (\"+r+\" - \"+t+\")\";return b(function(e,o,i){return\"number\"!=typeof e||r&gt;e||e&gt;t?y(o,i,n):void 0},{type:n},e)}function E(r){var t=\"lessThan[\"+r+\"]\";return b(function(e,n,o){return\"number\"!=typeof e||e&gt;r?y(n,o,t):void 0},{type:t},e)}function D(r){var t=\"greaterThan[\"+r+\"]\";return b(function(e,n,o){return\"number\"!=typeof e||r&gt;e?y(n,o,t):void 0},{type:t},e)}function N(){var r=\"empty object\";return b(function(e,t,n){return\"object\"!==a(e)||null===e||Object.keys(e).length?y(t,n,r):void 0},{type:r},e)}return{array:r(\"Array\"),bool:r(\"Boolean\"),number:r(\"Number\"),string:r(\"String\"),func:t(),object:n(),emptyObject:N(),instanceOf:i,oneOf:v,oneOfType:O,arrayOf:k,objectOf:C,typeOrArrayOf:j,range:w,lessThan:E,greaterThan:D,shape:x(),args:_(),any:A(),\"null\":T()}}var o=t(1),i=t(2),a=i.typeOf,u=i.each,p=i.copy,f=i.getCheckerDisplay,c=i.isError,s=i.arrayify,l=i.list,y=i.getError,h=i.nAtL,d=i.t,v=i.checkerHelpers,g=i.undef,b=v.setupChecker,m=e.exports=n();e.exports.getCheckers=n}])});\n//# sourceMappingURL=api-check.min.js.map]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-08-02 13:30:05&lt;/sys_created_on&gt;&lt;sys_id&gt;d0e0d8dedb500300aa80d49fdf96199e&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;api-check.min.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d0e0d8dedb500300aa80d49fdf96199e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-02 16:07:14&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2086138746</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>545ff4d6dbd00300aa80d49fdf9619d2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b37a220000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>api-check.min.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>01f4b0d2fad003000642212bee806454</update_guid>\n<update_guid_history>01f4b0d2fad003000642212bee806454:-2086138746,f7d4b0d2c5d003007bcd9328f7af1734:-383504828,87f054dee4500300d7dbbf1a5d4ba75c:-2086138746</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_6133d852db900300aa80d49fdf96190e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular-formly-templates-bootstrap.min.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-08-02 13:40:14</sys_created_on><sys_id>6133d852db900300aa80d49fdf96190e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>angular-formly-templates-bootstrap.min.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"angular-formly-templates-bootstrap\">0733d852db900300aa80d49fdf96196c</sys_ui_script><sys_update_name>sp_js_include_6133d852db900300aa80d49fdf96190e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-08-02 16:08:49</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>821788328</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>585ff4d6dbd00300aa80d49fdf9619d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b4eb810000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>angular-formly-templates-bootstrap.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>d45574d28bd00300108eae19ba2fd148</update_guid>\n<update_guid_history>d45574d28bd00300108eae19ba2fd148:821788328,364574d2a0d003001a6a62a0babdb145:-814612418,ff43d452ea90030027040d4dbfdef894:1880313160</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_0733d852db900300aa80d49fdf96196c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;angular-formly-templates-bootstrap&lt;/name&gt;&lt;script&gt;&lt;![CDATA[//! angular-formly-templates-bootstrap version 6.5.1 built with ♥ by Astrism &lt;astrisms@gmail.com&gt;, Kent C. Dodds &lt;kent@doddsfamily.us&gt; (ó ì_í)=óò=(ì_í ò)\n!function(t,e){\"object\"==typeof exports&amp;&amp;\"object\"==typeof module?module.exports=e(require(\"angular\"),require(\"api-check\"),require(\"angular-formly\")):\"function\"==typeof define&amp;&amp;define.amd?define([\"angular\",\"api-check\",\"angular-formly\"],e):\"object\"==typeof exports?exports.ngFormlyTemplatesBootstrap=e(require(\"angular\"),require(\"api-check\"),require(\"angular-formly\")):t.ngFormlyTemplatesBootstrap=e(t.angular,t.apiCheck,t.ngFormly)}(this,function(t,e,o){return function(t){function e(n){if(o[n])return o[n].exports;var r=o[n]={exports:{},id:n,loaded:!1};return t[n].call(r.exports,r,r.exports,e),r.loaded=!0,r.exports}var o={};return e.m=t,e.c=o,e.p=\"\",e(0)}([function(t,e,o){\"use strict\";t.exports=o(2)},function(t,e,o){\"use strict\";var n=o(20);n.version||(n=window.angular),t.exports=n},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=\"formlyBootstrap\",r=o(1),i=r.module(n,[o(22)]);i.constant(\"formlyBootstrapApiCheck\",o(21)({output:{prefix:\"angular-formly-bootstrap\"}})),i.constant(\"formlyBootstrapVersion\",\"6.5.1\"),o(13)(i),o(7)(i),o(5)(i),e[\"default\"]=n,t.exports=e[\"default\"]},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t,e){var n=o(14),r=e.shape({\"class\":e.string.optional,text:e.string.optional,onClick:e.func.optional}).strict.optional,i=e.shape({templateOptions:e.shape({addonLeft:r,addonRight:r})});t.templateManipulators.preWrapper.push(function(t,o){return o.templateOptions.addonLeft||o.templateOptions.addonRight?(e.warn([i],[o]),n.replace(\"&lt;formly-transclude&gt;&lt;/formly-transclude&gt;\",t)):t})}t.run(e),e.$inject=[\"formlyConfig\",\"formlyBootstrapApiCheck\"]},t.exports=e[\"default\"]},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.templateManipulators.preWrapper.push(function(t,e,o){if(angular.isDefined(e.templateOptions.description)){var n=document.createElement(\"div\");n.appendChild(angular.element(t)[0]),n.appendChild(angular.element('&lt;p id=\"'+o.id+'_description\"class=\"help-block\"ng-if=\"to.description\"&gt;{{to.description}}&lt;/p&gt;')[0]);var r=angular.element(n.querySelectorAll(\"[ng-model]\"));return r&amp;&amp;r.attr(\"aria-describedby\",o.id+\"_description\"),n.innerHTML}return t})}t.run(e),e.$inject=[\"formlyConfig\"]},t.exports=e[\"default\"]},function(t,e,o){\"use strict\";function n(t){return t&amp;&amp;t.__esModule?t:{\"default\":t}}Object.defineProperty(e,\"__esModule\",{value:!0});var r=o(3),i=n(r),a=o(4),l=n(a);e[\"default\"]=function(t){i[\"default\"](t),l[\"default\"](t)},t.exports=e[\"default\"]},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setType({name:\"checkbox\",template:o(15),wrapper:[\"bootstrapHasError\"],apiCheck:function(t){return{templateOptions:{label:t.string}}}})}t.config(e),e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){o(6)(t),o(9)(t),o(8)(t),o(10)(t),o(11)(t),o(12)(t)},t.exports=e[\"default\"]},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setType({name:\"input\",template:'&lt;input class=\"form-control\" ng-model=\"model[options.key]\"&gt;',wrapper:[\"bootstrapLabel\",\"bootstrapHasError\"]})}t.config(e),e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setType({name:\"multiCheckbox\",template:o(16),wrapper:[\"bootstrapLabel\",\"bootstrapHasError\"],apiCheck:function(t){return{templateOptions:{options:t.arrayOf(t.object),labelProp:t.string.optional,valueProp:t.string.optional}}},defaultOptions:{noFormControl:!1,ngModelAttrs:{required:{attribute:\"\",bound:\"\"}}},controller:[\"$scope\",function(t){function e(e){var o;t.to.required&amp;&amp;(o=angular.isArray(t.model[r.key])&amp;&amp;t.model[r.key].length&gt;0&amp;&amp;e,t.fc.$setValidity(\"required\",o))}function o(){t.model[r.key]=[],angular.forEach(t.multiCheckbox.checked,function(e,o){e&amp;&amp;t.model[r.key].push(n.options[o][n.valueProp||\"value\"])}),t.fc.$setTouched(),e(!0),t.to.onChange&amp;&amp;t.to.onChange()}var n=t.to,r=t.options;if(t.multiCheckbox={checked:[],change:o},t.$watch(\"model\",function(e){var o,i;Object.keys(e).length&amp;&amp;(o=e[r.key],t.$watch(\"to.options\",function(e){if(e&amp;&amp;Array.isArray(e)&amp;&amp;Array.isArray(o)){i=n.valueProp||\"value\";for(var r=0;r&lt;e.length;r++)t.multiCheckbox.checked[r]=-1!==o.indexOf(e[r][i])}}))},!0),r.expressionProperties&amp;&amp;r.expressionProperties[\"templateOptions.required\"]&amp;&amp;t.$watch(function(){return t.to.required},function(t){e(t)}),t.to.required)var i=t.$watch(\"fc\",function(t){t&amp;&amp;(e(!0),i())})}]})}t.config(e),e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setType({name:\"radio\",template:o(17),wrapper:[\"bootstrapLabel\",\"bootstrapHasError\"],defaultOptions:{noFormControl:!1},apiCheck:function(t){return{templateOptions:{options:t.arrayOf(t.object),labelProp:t.string.optional,valueProp:t.string.optional,inline:t.bool.optional}}}})}t.config(e),e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e){\"use strict\";function o(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setType({name:\"select\",template:n,wrapper:[\"bootstrapLabel\",\"bootstrapHasError\"],defaultOptions:function(t){var e=t.templateOptions.ngOptions||\"option[to.valueProp || 'value'] as option[to.labelProp || 'name'] group by option[to.groupProp || 'group'] for option in to.options\";return{ngModelAttrs:o({},e,{value:t.templateOptions.optionsAttr||\"ng-options\"})}},apiCheck:function(t){return{templateOptions:{options:t.arrayOf(t.object),optionsAttr:t.string.optional,labelProp:t.string.optional,valueProp:t.string.optional,groupProp:t.string.optional,notNull:t.bool.optional,nullDisplay:t.string.optional}}}})}t.config(e);var n='&lt;select class=\"form-control\" ng-model=\"model[options.key]\"&gt;\\n      &lt;option ng-hide=\"to.notNull\" value=\"\"&gt;{{to.nullDisplay}}&lt;/option&gt;\\n  &lt;/select&gt;';e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setType({name:\"textarea\",template:'&lt;textarea class=\"form-control\" ng-model=\"model[options.key]\"&gt;&lt;/textarea&gt;',wrapper:[\"bootstrapLabel\",\"bootstrapHasError\"],defaultOptions:{ngModelAttrs:{rows:{attribute:\"rows\"},cols:{attribute:\"cols\"}}},apiCheck:function(t){return{templateOptions:{rows:t.number.optional,cols:t.number.optional}}}})}t.config(e),e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e,o){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e[\"default\"]=function(t){function e(t){t.setWrapper([{name:\"bootstrapLabel\",template:o(19),apiCheck:function(t){return{templateOptions:{label:t.string.optional,required:t.bool.optional,labelSrOnly:t.bool.optional}}}},{name:\"bootstrapHasError\",template:o(18)}])}t.config(e),e.$inject=[\"formlyConfigProvider\"]},t.exports=e[\"default\"]},function(t,e){t.exports='&lt;div ng-class=\"{\\'input-group\\': to.addonLeft || to.addonRight}\"&gt;\\n    &lt;div class=\"input-group-addon\"\\n         ng-if=\"to.addonLeft\"\\n         ng-style=\"{cursor: to.addonLeft.onClick ? \\'pointer\\' : \\'inherit\\'}\"\\n         ng-click=\"to.addonLeft.onClick(options, this, $event)\"&gt;\\n        &lt;i class=\"{{to.addonLeft.class}}\" ng-if=\"to.addonLeft.class\"&gt;&lt;/i&gt;\\n        &lt;span ng-if=\"to.addonLeft.text\"&gt;{{to.addonLeft.text}}&lt;/span&gt;\\n    &lt;/div&gt;\\n    &lt;formly-transclude&gt;&lt;/formly-transclude&gt;\\n    &lt;div class=\"input-group-addon\"\\n         ng-if=\"to.addonRight\"\\n         ng-style=\"{cursor: to.addonRight.onClick ? \\'pointer\\' : \\'inherit\\'}\"\\n         ng-click=\"to.addonRight.onClick(options, this, $event)\"&gt;\\n        &lt;i class=\"{{to.addonRight.class}}\" ng-if=\"to.addonRight.class\"&gt;&lt;/i&gt;\\n        &lt;span ng-if=\"to.addonRight.text\"&gt;{{to.addonRight.text}}&lt;/span&gt;\\n    &lt;/div&gt;\\n&lt;/div&gt;\\n'},function(t,e){t.exports='&lt;div class=\"checkbox\"&gt;\\n\t&lt;label&gt;\\n\t\t&lt;input type=\"checkbox\"\\n           class=\"formly-field-checkbox\"\\n\t\t       ng-model=\"model[options.key]\"&gt;\\n\t\t{{to.label}}\\n\t\t{{to.required ? \\'*\\' : \\'\\'}}\\n\t&lt;/label&gt;\\n&lt;/div&gt;\\n'},function(t,e){t.exports='&lt;div class=\"radio-group\"&gt;\\n  &lt;div ng-repeat=\"(key, option) in to.options\" class=\"checkbox\"&gt;\\n    &lt;label&gt;\\n      &lt;input type=\"checkbox\"\\n             id=\"{{id + \\'_\\'+ $index}}\"\\n             ng-model=\"multiCheckbox.checked[$index]\"\\n             ng-change=\"multiCheckbox.change()\"&gt;\\n      {{option[to.labelProp || \\'name\\']}}\\n    &lt;/label&gt;\\n  &lt;/div&gt;\\n&lt;/div&gt;\\n'},function(t,e){t.exports='&lt;div class=\"radio-group\"&gt;\\n  &lt;div ng-repeat=\"(key, option) in to.options\" ng-class=\"{ \\'radio\\': !to.inline, \\'radio-inline\\': to.inline }\"&gt;\\n    &lt;label&gt;\\n      &lt;input type=\"radio\"\\n             id=\"{{id + \\'_\\'+ $index}}\"\\n             tabindex=\"0\"\\n             ng-value=\"option[to.valueProp || \\'value\\']\"\\n             ng-model=\"model[options.key]\"&gt;\\n      {{option[to.labelProp || \\'name\\']}}\\n    &lt;/label&gt;\\n  &lt;/div&gt;\\n&lt;/div&gt;\\n'},function(t,e){t.exports='&lt;div class=\"form-group\" ng-class=\"{\\'has-error\\': showError}\"&gt;\\n  &lt;formly-transclude&gt;&lt;/formly-transclude&gt;\\n&lt;/div&gt;\\n'},function(t,e){t.exports=\"&lt;div&gt;\\n  &lt;label for=\\\"{{id}}\\\" class=\\\"control-label {{to.labelSrOnly ? 'sr-only' : ''}}\\\" ng-if=\\\"to.label\\\"&gt;\\n    {{to.label}}\\n    {{to.required ? '*' : ''}}\\n  &lt;/label&gt;\\n  &lt;formly-transclude&gt;&lt;/formly-transclude&gt;\\n&lt;/div&gt;\\n\"},function(e,o){e.exports=t},function(t,o){t.exports=e},function(t,e){t.exports=o}])});\n//# sourceMappingURL=angular-formly-templates-bootstrap.min.js.map]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-08-02 13:40:12&lt;/sys_created_on&gt;&lt;sys_id&gt;0733d852db900300aa80d49fdf96196c&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;angular-formly-templates-bootstrap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_0733d852db900300aa80d49fdf96196c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-02 16:09:18&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1960453844</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>905ff4d6dbd00300aa80d49fdf9619d2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b55f130000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>angular-formly-templates-bootstrap</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>d36574d2b1d003006df05b041852324c</update_guid>\n<update_guid_history>d36574d2b1d003006df05b041852324c:1960453844,f06574d272d003006de5ba86d53f78eb:-1479457146,b683d8521b900300f21b376549357a15:1960453844,5b43d45217900300f64672eda9b34392:702962132</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_1bd098dedb500300aa80d49fdf96190a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>api-check.min.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-08-02 13:30:12</sys_created_on><sys_id>1bd098dedb500300aa80d49fdf96190a</sys_id><sys_mod_count>2</sys_mod_count><sys_name>api-check.min.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"api-check.min.js\">d0e0d8dedb500300aa80d49fdf96199e</sys_ui_script><sys_update_name>sp_js_include_1bd098dedb500300aa80d49fdf96190a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-08-02 16:06:28</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1744099722</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>945ff4d6dbd00300aa80d49fdf9619d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b2c7440000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>api-check.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>7dc470d2d1d0030003af9de88f0ef76d</update_guid>\n<update_guid_history>7dc470d2d1d0030003af9de88f0ef76d:1744099722,0dc430d277d003006d00e6c6d42bfeb0:-1227691190,3c0154de3850030035ed5e0af90a5f5e:1744099722</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c37e845edb500300aa80d49fdf9619f7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>Formly</module><name>Formly</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-08-02 13:19:16</sys_created_on><sys_id>c37e845edb500300aa80d49fdf9619f7</sys_id><sys_mod_count>9</sys_mod_count><sys_name>Formly</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c37e845edb500300aa80d49fdf9619f7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-08-02 16:06:18</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1304273634</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>d05ff4d6dbd00300aa80d49fdf9619d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3b29f440000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>Formly</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>dfb430d20dd003006c1437f88d68bee6</update_guid>\n<update_guid_history>dfb430d20dd003006c1437f88d68bee6:1304273634,56b430d27cd00300cdc7101169458fe4:-367344326,59c51c92299003003f700020e2b0cc69:1304273634,a1641492ab900300866cf6646a150af4:-767440991,cb54509246900300bf90e8969fcb67f3:-664743166,ad5410922d900300aa065f4b645691e3:-767440991,29d31092c2900300c913c86b5f802320:657950066,b9611c12549003003359ea741c6084ab:-664743166,22d054de8150030086288d7a2775454a:-1555494415,a88ec45e04500300a3e613495df9aa1e:-767440991</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_e16d001edb500300aa80d49fdf9619f3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function FormFormlyCtrl() {\n  /* widget controller */\n  var c = this;\n\n  c.data.formData = {};\n\n  c.submit = function (data) {\n    console.log(data);\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-form-formly&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Form Formly&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"hint\": \"The data model, compatible with one of the many custom templates available (native and Bootstrap included)\",&amp;#13;\n  \"name\": \"form_fields\",&amp;#13;\n  \"label\": \"Form Fields\",&amp;#13;\n  \"type\": \"string\",&amp;#13;\n  \"mandatory\": false,&amp;#13;\n  \"default_value\": \"\"&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.form_fields = input.form_fields || options.form_fields;\n  if (data.form_fields)\n    data.form_fields = JSON.parse(data.form_fields);\n  else //sample input fields data model\n    data.form_fields = [\n      {\n        \"key\": \"email\",\n        \"type\": \"input\",\n        \"templateOptions\": {\n          \"type\": \"email\",\n          \"label\": \"Email address\",\n          \"placeholder\": \"Enter email\"\n        }\n      },\n      {\n        \"key\": \"password\",\n        \"type\": \"input\",\n        \"templateOptions\": {\n          \"type\": \"password\",\n          \"label\": \"Password\",\n          \"placeholder\": \"Password\"\n        }\n      },\n      {\n        \"key\": \"roles\",\n        \"type\": \"multiCheckbox\",\n        \"templateOptions\": {\n          \"label\": \"Roles\",\n          \"options\": [\n            {\n              \"id\": 1,\n              \"title\": \"Genius\"\n            },\n            {\n              \"id\": 2,\n              \"title\": \"Administrator\"\n            },\n            {\n              \"id\": 3,\n              \"title\": \"User\"\n            }\n          ],\n          \"valueProp\": \"id\",\n          \"labelProp\": \"title\"\n        }\n      },\n      {\n        \"key\": \"geniusCheck\",\n        \"type\": \"checkbox\",\n        \"templateOptions\": {\n          \"label\": \"Genius\"\n        }\n      },\n      {\n        \"key\": \"bioText\",\n        \"type\": \"textarea\",\n        \"templateOptions\": {\n          \"label\": \"Bio\"\n        }\n      },\n      {\n        \"key\": \"feedback\",\n        \"type\": \"radio\",\n        \"templateOptions\": {\n          \"label\": \"Do you love ServiceNow?\",\n          \"options\": [\n            {\n              \"name\": \"I love it!\",\n              \"value\": \"love\"\n            },\n            {\n              \"name\": \"I love it a lot!\",\n              \"value\": \"lovealot\"\n            },\n            {\n              \"name\": \"I can't live without\",\n              \"value\": \"extremelove\"\n            }\n          ]\n        }\n      },\n      {\n        \"key\": \"transportation\",\n        \"type\": \"select\",\n        \"templateOptions\": {\n          \"label\": \"How do you get around in the city\",\n          \"valueProp\": \"name\",\n          \"options\": [\n            {\n              \"name\": \"Car\"\n            },\n            {\n              \"name\": \"Helicopter\"\n            },\n            {\n              \"name\": \"Sport Utility Vehicle\"\n            },\n            {\n              \"name\": \"Bicycle\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Skateboard\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Walk\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Bus\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Scooter\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Train\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Hot Air Baloon\",\n              \"group\": \"low emissions\"\n            }\n          ]\n        }\n      }\n    ];\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-08-02 13:15:49&lt;/sys_created_on&gt;&lt;sys_id&gt;e16d001edb500300aa80d49fdf9619f3&lt;/sys_id&gt;&lt;sys_mod_count&gt;42&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Form Formly&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_e16d001edb500300aa80d49fdf9619f3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-08-02 16:52:09&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;formly-form model=\"c.data.formData\" fields=\"data.form_fields\"&gt;\n    &lt;button type=\"submit\" class=\"btn btn-default\" ng-click=\"c.submit(c.data.formData)\"&gt;Submit&lt;/button&gt;\n  &lt;/formly-form&gt;\n  &lt;br/&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1001092404</payload_hash>\n<remote_update_set display_value=\"pe-form-formly 3\">105ff4d6dbd00300aa80d49fdf9619d1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-08-02 16:52:30</sys_created_on>\n<sys_id>dc5ff4d6dbd00300aa80d49fdf9619d1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15da3dc98150000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-08-02 16:52:30</sys_updated_on>\n<table/>\n<target_name>PE Form Formly</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>c33fb4d6fcd00300957ead5827418c71</update_guid>\n<update_guid_history>c33fb4d6fcd00300957ead5827418c71:1001092404,a746bcd24ad0030095c3f53f1b04de4f:-301345294,3384bc9279d00300f407486f51d597de:1468432262,f1847c92f7d00300c65ac4cb360aeabb:-1279643746,9e34f89202d00300abd21cde70c392b3:1468432262,5be33892bcd00300b1cba87ac8970c52:-965341272,c583b4929ed00300a41352cc13948f8c:1655481155,1aa2b4524bd003002b9f47e166583f58:-445442140,3ee0bcde92900300060bb1ebf16f608e:108731170,bd5f28def7900300d14e04e2dc22e8d8:968652137,743fa4de08900300ab117fd37596bd17:2082400460,90ae28de73900300beffde2781912d8b:1248538719,353e24de2c900300b4f4631bf4380507:-1260239546,f40e685eb19003004bca10a0b1c8c519:-1234365578,fce9685ebb900300763ab34ca6dda910:-1324075737,bfc9285e62900300fdebdb87ef89956c:-1593156592,2367a0d2da500300cf6cc13c0117536d:522758167,7e47209a6f90030072ba1ea0be24fe2c:-509912499,fe376492f7500300f729da7c13920c77:1593230111,3b176c1a8790030089d826c8eec82667:-1259809277,f745ac1a37900300c0dcb0cc0e378cb3:399441073,9605e092f15003007759bea0c0c10113:1204833730,0005241a029003005084f236a628a545:312986946,5ec4a45a8f9003003a65ac23b84ad329:1344640450,7a84e41a0190030043ad01a55f580c54:-836894057,3224e41a75900300df72ebea25b98f4f:408911651,d3d36c1ad79003009de7d9a4b4f89161:-997994676,f8a1601a8a90030086476959805128ce:-1441638523,1f7168d68c900300867e1022e342367a:1819378742,0970a496bf9003009e2e72808ab2bd86:-1963309574,4160e0d6899003007b6d679bc37136c5:59989090,ae2a1c1620900300af326e5ff8a6e70e:-1963309574,b61a5056139003003a624ffed121fcc2:-1096846040,a70a1c165d900300a312ce9dd53e4508:-1309475060,580ad8163d9003007d8544bbbdfe63f1:1361463084,d33958163490030086879f4da6d5c785:-1963309574,7819d416f2900300ba7c88f6eb678b67:1819378742,46b51c9238900300332cb1398a413866:1035912956,4fb25c12f7900300f0d21f3b9b5fab1f:-3573356,03319cde595003004017a4411397c976:-2000421219,9ab010de2850030091626fd0a60a8961:-180532178,6f6e445efa5003005b6cfe5f8389800b:-2000421219,cabd001e00500300f24e515175187604:-381796741</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-form-formly/widget/pe-form-formly.u-body-html-template.html",
    "content": "<div>\n  <formly-form model=\"c.data.formData\" fields=\"data.form_fields\">\n    <button type=\"submit\" class=\"btn btn-default\" ng-click=\"c.submit(c.data.formData)\">Submit</button>\n  </formly-form>\n  <br/>\n</div>"
  },
  {
    "path": "pe-form-formly/widget/pe-form-formly.u-client-script.js",
    "content": "function FormFormlyCtrl() {\n  /* widget controller */\n  var c = this;\n\n  c.data.formData = {};\n\n  c.submit = function (data) {\n    console.log(data);\n  };\n\n}"
  },
  {
    "path": "pe-form-formly/widget/pe-form-formly.u-css.scss",
    "content": ".margin-top {\n  margin-top: 10px;\n}"
  },
  {
    "path": "pe-form-formly/widget/pe-form-formly.u-option-schema.json",
    "content": "[{\n  \"hint\": \"The data model, compatible with one of the many custom templates available (native and Bootstrap included)\",\n  \"name\": \"form_fields\",\n  \"label\": \"Form Fields\",\n  \"type\": \"string\",\n  \"mandatory\": false,\n  \"default_value\": \"\"\n}]"
  },
  {
    "path": "pe-form-formly/widget/pe-form-formly.u-server-script.js",
    "content": "(function () {\n  data.form_fields = input.form_fields || options.form_fields;\n  if (data.form_fields)\n    data.form_fields = JSON.parse(data.form_fields);\n  else //sample input fields data model\n    data.form_fields = [\n      {\n        \"key\": \"email\",\n        \"type\": \"input\",\n        \"templateOptions\": {\n          \"type\": \"email\",\n          \"label\": \"Email address\",\n          \"placeholder\": \"Enter email\"\n        }\n      },\n      {\n        \"key\": \"password\",\n        \"type\": \"input\",\n        \"templateOptions\": {\n          \"type\": \"password\",\n          \"label\": \"Password\",\n          \"placeholder\": \"Password\"\n        }\n      },\n      {\n        \"key\": \"roles\",\n        \"type\": \"multiCheckbox\",\n        \"templateOptions\": {\n          \"label\": \"Roles\",\n          \"options\": [\n            {\n              \"id\": 1,\n              \"title\": \"Genius\"\n            },\n            {\n              \"id\": 2,\n              \"title\": \"Administrator\"\n            },\n            {\n              \"id\": 3,\n              \"title\": \"User\"\n            }\n          ],\n          \"valueProp\": \"id\",\n          \"labelProp\": \"title\"\n        }\n      },\n      {\n        \"key\": \"geniusCheck\",\n        \"type\": \"checkbox\",\n        \"templateOptions\": {\n          \"label\": \"Genius\"\n        }\n      },\n      {\n        \"key\": \"bioText\",\n        \"type\": \"textarea\",\n        \"templateOptions\": {\n          \"label\": \"Bio\"\n        }\n      },\n      {\n        \"key\": \"feedback\",\n        \"type\": \"radio\",\n        \"templateOptions\": {\n          \"label\": \"Do you love ServiceNow?\",\n          \"options\": [\n            {\n              \"name\": \"I love it!\",\n              \"value\": \"love\"\n            },\n            {\n              \"name\": \"I love it a lot!\",\n              \"value\": \"lovealot\"\n            },\n            {\n              \"name\": \"I can't live without\",\n              \"value\": \"extremelove\"\n            }\n          ]\n        }\n      },\n      {\n        \"key\": \"transportation\",\n        \"type\": \"select\",\n        \"templateOptions\": {\n          \"label\": \"How do you get around in the city\",\n          \"valueProp\": \"name\",\n          \"options\": [\n            {\n              \"name\": \"Car\"\n            },\n            {\n              \"name\": \"Helicopter\"\n            },\n            {\n              \"name\": \"Sport Utility Vehicle\"\n            },\n            {\n              \"name\": \"Bicycle\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Skateboard\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Walk\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Bus\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Scooter\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Train\",\n              \"group\": \"low emissions\"\n            },\n            {\n              \"name\": \"Hot Air Baloon\",\n              \"group\": \"low emissions\"\n            }\n          ]\n        }\n      }\n    ];\n\n})();"
  },
  {
    "path": "pe-form-with-related-list/README.md",
    "content": "# Form with Inline Editing Related List\n\n## Description\nThis is a drop-in replacement of the out of the box Form widget. This widget works with conjunction with another 2 widets. Please reference them for a full understanding of its functionality.\n\n* Embeded Widget #1: [Related List](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-related-list)\n* Embeded Widget #2: [Inline Editing Data Table](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-inline-editing-data-table)\n\n## Screenshot\n\n![Form with Related List](../images/pe-form-with-related-list.gif)\n\n## Additional Information/Notes\n\nFor inline editing, make sure the field you want to edit is available in the form (sp view), otherwise you wont be able to edit it inline.\n\n## Installation\n\nDownload and install update set **[pe-form-with-related-list.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-form-with-related-list/pe-form-with-related-list.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Inline Editing` | Enable inline editing for related list   | false |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies _(included)_\n* [Related List](../pe-related-list)\n* [Inline Editing Data Table](../pe-inline-editing-data-table)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-form-with-related-list/pe-form-with-related-list.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-09-28 22:44:50\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Form with Related List</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>b82d6e8273302300b10080844ff6a7fa</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:49</sys_created_on>\n<sys_id>bfded7ca73302300b10080844ff6a7a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:49</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_22bf8f8673302300b10080844ff6a701</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function RelatedListCtrl($rootScope, $location) {\n    var c = this;\n    c.$onInit = function () {\n        console.log(c);\n        addListenerToListClick()\n    };\n\n    function addListenerToListClick() {\n        $rootScope.$on('data_table.click', function (event, obj) {\n            var link = $location.search();\n            link.sys_id = obj.sys_id;\n            link.table = obj.table;\n            $location.search(link);\n        })\n    }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;related-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Related List&lt;/name&gt;&lt;option_schema&gt;[]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n    input = input || {};\n    var table = options.table || input.table;\n    var sys_id = options.sys_id || input.sys_id;\n    var query = options.query || input.query;\n    view = input.view || \"sp\";\n\n    if (!table || !sys_id)\n        return;\n\n    var f = $sp.getForm(table, sys_id, query);\n    data.related_lists = f._related_lists;\n\n    for (var i in data.related_lists) {\n        var list = data.related_lists[i];\n        var params = {\n            table: list.table,\n            filter: list.field + \"=\" + sys_id,\n            view: view,\n            inline_editing: options.inline_editing,\n            title: list.label\n        };\n        list.widget = $sp.getWidget('inline-editing-data-table', params);\n    }\n    \n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:38:47&lt;/sys_created_on&gt;&lt;sys_id&gt;22bf8f8673302300b10080844ff6a701&lt;/sys_id&gt;&lt;sys_mod_count&gt;29&lt;/sys_mod_count&gt;&lt;sys_name&gt;Related List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_22bf8f8673302300b10080844ff6a701&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:36:12&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"\" ng-if=\"data.related_lists.length &gt; 0\"&gt;\n    &lt;ul class=\"nav nav-tabs\" role=\"tablist\"&gt;\n        &lt;li role=\"presentation\" ng-class='{active:$first}' ng-repeat=\"list in data.related_lists\"&gt;\n            &lt;a data-target=\"#{{ list.table }}\" aria-controls=\"{{ list.table }}\" role=\"tab\" ng-class='{active:$first}'\n               data-toggle=\"tab\"&gt;\n                {{ list.label }}\n                &lt;span class=\"label label-as-badge label-primary\" ng-if=\"list.count\"&gt;{{ list.count }}&lt;/span&gt;\n            &lt;/a&gt;\n        &lt;/li&gt;\n    &lt;/ul&gt;\n\n    &lt;div class=\"tab-content\"&gt;\n        &lt;div role=\"tabpanel\" class=\"tab-pane\" id=\"{{ list.table }}\" ng-class='{active:$first}'\n             ng-repeat=\"list in data.related_lists\"&gt;\n\n            &lt;div style=\"margin-top: -1px;\"&gt;\n                &lt;div class=\"alert alert-danger\" ng-if=\"data.invalid_table\"&gt;\n                    Table not defined '{{ data.table_label }}'\n                &lt;/div&gt;\n                &lt;sp-widget widget=\"list.widget\"&gt;&lt;/sp-widget&gt;\n            &lt;/div&gt;\n\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1918238530</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>37ded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16622533c750000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>Related List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>d5ec5f8ae7302300e8a8f9547b7f400a</update_guid>\n<update_guid_history>d5ec5f8ae7302300e8a8f9547b7f400a:1918238530,495cd78ae8302300cec5a7db2667e359:1574979684,030c5b8afb3023003d8acd14bc163d4c:-1434166628,4deb5b8ae13023008bb6218812b9b91a:999499380,6b5b178a8330230059885005f5145f28:-815869483,8746db0a74302300e6b227b00a2db1f5:-1829738115,5c365f0adc3023008b17c83cf867ece8:643735602,2126934a18302300aa182f4c5d158927:1992489081,1e065f0a183023007d009820c140e3e4:1011819581,ede5df0a1130230003c8e9499c1d64cb:-1294725195,20e51f0a153023005e17970528b1cc42:1829601706,d7d5df0a30302300f545b1d8510f33c6:1736285510,ced51f0a3a302300bd0c6aad8313243d:-1504562303,5e855f0ad2302300d3c8a1542d2c08dd:-629172170,8d651f0a8d3023002196de3bf75b8939:1968879235,4b359b0a18302300ac8f4c22ec8667d9:-325697397,39359b0acc302300c3a06b11753badd5:-139054087,d4359b0a3e30230045fc12178daf14d1:-1140227345,17f0d3c6f73023003ad9e85192192864:-139054087,f1f0d3c6203023002f0358bec411643e:688786251,7ac053c6b9302300475c65703e011c87:659330326,c4c053c6fc3023000bf0be94010ed115:108292688,1aa053c632302300dbfb03a999f36283:-603891374,55a053c66b302300f15e310f28484de5:1018396304,bd9053c627302300c8a9f9fa5524102a:851728887,d2805f86f9302300acea58add6dc5db2:1580052113,4b705f86dc302300ff7e3ff5ab262699:-377101000,54705f86663023006d6dee52d80b4ba7:1393546929,74505f86dc30230009ed0c81dc85a88d:-377101000,54cf8f867530230042898c3b1a85ba08:-1725671136</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_e1925fc673302300b10080844ff6a701</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Inline Editing Data Table\">9d921fc673302300b10080844ff6a7fe</child><cloned>2018-09-28 21:51:09</cloned><last_validated>2018-09-28 21:51:09</last_validated><parent display_value=\"Data Table\">5001b062d7101200b0b044580e6103eb</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;standard&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, $location, spUtil, amb, $http, spAriaUtil, $timeout, spNavStateManager) {\n\tvar c = this;\n\t/*\n\t * options:\n\t * hide_footer (bool) = true to remove the data table footer contents\n\t * hide_header (bool) = true to remove the data table header contents\n\t * show_new (bool) = true to show the \"New\" record button\n\t * show_keywords (bool) = true to show the keyword search field\n\t * table (string) = the table name to query\n\t * filter (string) = the encoded query\n\t * o (string) = the order by column\n\t * d (string) = The order by direction: asc or desc\n\t * p (int) = the page to jump to\n\t * fields (string) = comma seperated list of fields that become the list columns\n\t * view (string) = the default view to load for columns, overrides fields\n\t*/\n\n\t$scope.exportTypes = [{label:'PDF', value: 'PDF'}, {label:'Excel', value:'EXCEL'}, {label:'CSV', value:'CSV'}];\n\tvar keys = ['table', 'filter', 'p', 'o', 'd'];\n\n\tvar eventNames = {\n\t\tclick: 'data_table.click',\n\t\tsetFilter: 'data_table.setFilter',\n\t\tsetKeywords: 'data_table.setKeywords'\n\t};\n\n\t$scope.go = function(table, item) {\n\t\tspNavStateManager.onRecordChange(table).then(function() {\n\t\tvar parms = {};\n\t\tparms.table = table;\n\t\tparms.sys_id = item.sys_id;\n\t\tparms.record = item;\n\t\t$scope.ignoreLocationChange = true;\n\t\tfor (var x in c.data.list) {\n\t\t\tc.data.list[x].selected = false;\n\t\t}\n\t\titem.selected = true;\n\t\t$scope.$emit(eventNames.click, parms);\n\t\t}, function() {\n\t\t\t// do nothing in case of closing the modal by clicking on x\n\t\t});\t\n\t};\n\n\t$scope.newRecord = function(){\n\t\tvar parms = {\n\t\t\tid: 'form',\n\t\t\ttable: $scope.data.table,\n\t\t\tview: $scope.data.view,\n\t\t\tsys_id: '-1'\n\t\t};\n\t\tif ($scope.data.filter != '')\n\t\t\tparms.query = $scope.data.filter;\n\n\t\t$location.search(parms);\n\t};\n\n\tfunction recoverStateFromUrl() {\n\t\t$scope.data.fields = [];\n\t\tvar s = $location.search();\n\t\tfor (var x in keys) {\n\t\t\tif (s[keys[x]]) {\n\t\t\t\t$scope.data[keys[x]] = s[keys[x]];\n\t\t\t}\n\t\t}\n\t\t$scope.server.update().then(function(data) {\n\t\t\tif (s.sys_id) {\n\t\t\t\tfor (var x in data.list) {\n\t\t\t\t\tif (data.list[x].sys_id == s.sys_id) {\n\t\t\t\t\t\t$scope.go(s.table, data.list[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tif ($scope.options.fromUrl) {\n\t\tvar origSearch = $location.search();\n\t\t$scope.$on('$locationChangeSuccess', function(e) {\n\t\t\tvar s = $location.search();\n\t\t\tif (origSearch.id !== s.id)\n\t\t\t\treturn;\n\n\t\t\tif ($scope.ignoreLocationChange){\n\t\t\t\t$scope.ignoreLocationChange = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Helps to recover state when using the browser's back button\n\t\t\trecoverStateFromUrl();\n\t\t});\n\t}\n\n\n\t$scope.getNumber = function(num) {\n\t\treturn new Array(num);\n\t}\n\n\t$scope.mathMin = function(v1,v2) {\n\t\treturn Math.min(v1,v2);\n\t}\n\n\tfunction getData(updateUrl) {\n\t\tvar f = $scope.data;\n\t\tspUtil.update($scope).then(function(data) {\n\t\t\tf.view = data.view;\n\t\t\tif ($scope.options.fromUrl &amp;&amp; updateUrl)\n\t\t\t\tsetPermalink(f.table, f.filter, f.o, f.d, f.p);\n\n\t\t\tif ($scope.options.show_breadcrumbs &amp;&amp; data.filterBreadcrumbs)\n\t\t\t\t$scope.$broadcast('widget-filter-breadcrumbs.setBreadcrumbs', data.filterBreadcrumbs.data, data.filter);\n\n\t\t\tinitRecordWatcher(f.table, f.filter);\n\t\t});\n\t}\n\n\tfunction setPermalink(table, filter, orderBy, orderDirection, page){\n\t\t$scope.ignoreLocationChange = true;\n\t\tvar search = $location.search();\n\t\tangular.extend(search, {\n\t\t\tspa: 1,\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tp: page,\n\t\t\to: orderBy,\n\t\t\td: orderDirection\n\t\t});\n\t\t$location.search(search);\n\t}\n\n\tvar watcher;\n\tfunction initRecordWatcher(table, filter){\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\n\t\tif (table &amp;&amp; filter) {\n\t\t\tvar watcherChannel = amb.getChannelRW(table, filter);\n\t\t\tamb.connect();\n\t\t\twatcher = watcherChannel.subscribe(function(message) {\n\t\t\t\tif (!message.data)\n\t\t\t\t\treturn;\n\t\t\t\tswitch(message.data.action) {\n\t\t\t\t\tcase \"change\":\n\t\t\t\t\t\tupdateRowFromRW(message);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"exit\":\n\t\t\t\t\t\t// A record was removed\n\t\t\t\t\tcase \"enter\":\n\t\t\t\t\t\t// A record was added\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tspUtil.update($scope);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction updateRowFromRW(message) {\n\t\tif (message.data &amp;&amp; message.data.sys_id &amp;&amp; $scope.data.list) {\n\t\t\tvar row, field;\n\t\t\tfor(var i=0;i&lt;$scope.data.list.length; i++) {\n\t\t\t\trow = $scope.data.list[i];\n\t\t\t\tif (row.sys_id == message.data.sys_id) {\n\t\t\t\t\tvar fields = Object.getOwnPropertyNames(message.data.record);\n\t\t\t\t\tfor(var f in fields) {\n\t\t\t\t\t\tfield = fields[f];\n\t\t\t\t\t\tif(typeof row[field] !== 'undefined') {\n\t\t\t\t\t\t    row[field].display_value = message.data.record[field].display_value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t$scope.$on('$destroy', function() {\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\t});\n\n\t$scope.setPageNum = function(num) {\n\t\t$scope.data.p = num;\n\t\tgetData(true);\n\t\t$timeout(function() {\n\t\t\t$scope.focusOnTableHeader();\n\t\t});\n\t}\n\n\t$scope.setOrderBy = function(field) {\n\t\tvar d = \"asc\";\n\t\tif ($scope.data.o == field) {\n\t\t\tif ($scope.data.d == \"asc\")\n\t\t\t\td = \"desc\";\n\t\t\telse\n\t\t\t\td = \"asc\";\n\t\t}\n\n\t\tif (d === \"asc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByAsc);\n\t\t} else if (d === \"desc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByDesc);\n\t\t}\n\n\t\t$scope.data.o = field;\n\t\t$scope.data.d = d;\n\t\t$scope.setSearch(true);\n\t}\n\n\t$scope.setSearch = function(updateUrl) {\n\t\t$scope.data.p = 1;\n\t\tgetData(updateUrl);\n\t}\n\n\t$scope.$on(eventNames.setFilter, function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on(eventNames.setKeywords, function(e, keywords){\n\t\t$scope.data.keywords = keywords;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on('widget-filter-breadcrumbs.queryModified', function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(true);\n\t});\n\n\t$scope.rowsWerePruned = function() {\n\t\tif (!$scope.data.list)\n\t\t\treturn;\n\n\t\t$scope.rowsPruned = $scope.mathMin($scope.data.window_end,$scope.data.row_count) - $scope.data.window_start - $scope.data.list.length;\n\t\treturn $scope.rowsPruned &gt; 0;\n\t}\n\n\t$scope.showFilter = function() {\n\t\treturn !$scope.data.list.length &amp;&amp; !$scope.data.num_pages &amp;&amp; !$scope.data.invalid_table &amp;&amp; !$scope.loadingData;\n\t}\n\n\tc.appendQuery = function(query){\n\t\tif ($scope.data.filter.length &gt; 1)\n\t\t\t$scope.data.filter += '^';\n\t\t$scope.data.filter += query;\n\t\t\t$scope.setSearch();\n\n\t}\n\n\t// Makes Widget Async\n\t$scope.data = $scope.options;\n\t$scope.loadingData = true;\n\t$scope.server.update().then(function() {\n\t\tif ($scope.data.newButtonUnsupported)\n\t\t\tconsole.log(\"Service Portal: New button not supported for sys_attachment list\");\n\t\t$scope.loadingData = false;\n\t\tinitRecordWatcher($scope.data.table, $scope.data.filter);\n\t});\n\n\tfunction parseQuery(table, queryString){\n\t\treturn $http.post('/api/now/sp/parsequery/' + table, queryString).then(function(response){\n\t\t\t\treturn response.data.result;\n\t\t});\n\t}\n\n\tc.createQueryTerm = function(table, field, sys_id, operator){\n\t\treturn $http.get('/api/now/sp/getInOutQueryTerm', {\n\t\t\tparams: {\n\t\t\t\ttable: table,\n\t\t\t\tsys_id: sys_id,\n\t\t\t\tfield: field,\n\t\t\t\toperator: operator\n\t\t\t}\n\t\t}).then(function(response){\n\t\t\tif (response &amp;&amp; response.data &amp;&amp; response.data.result)\n\t\t\t\treturn response.data.result.parts;\n\t\t});\n\t}\n\n\tc.showMatching = function(field, newTerm) {\n\t\tvar queryString = $scope.data.filter;\n\t\tvar eq = \"\";\n\t\tparseQuery($scope.data.table, queryString).then(function(oldTerms) {\n\t\t\tfor(var i=0; i&lt;oldTerms.length; i++){\n\t\t\t\tvar term = oldTerms[i];\n\t\t\t\tif (isSameField(newTerm, term))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\t\t\teq += getEncodedTerm(term);\n\t\t\t}\n\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\t\t\teq += getEncodedTerm(newTerm);\n\n\t\t\t$scope.data.filter = eq;\n\t\t\t$scope.setSearch();\n\t\t});\n\t};\n\n\tc.filterOut = function(field, newTerm) {\n\t\tvar eq = $scope.data.filter;\n\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\teq += getEncodedTerm(newTerm);\n\t\t$scope.data.filter = eq;\n\t\t$scope.setSearch();\n\t};\n\n\tfunction isSameField(t1, t2) {\n\t\tif ('left' in t1 &amp;&amp; 'left' in t2)\n\t\t\treturn t1.left.query_term_field === t2.left.query_term_field;\n\t\telse if ('left' in t1)\n\t\t\treturn t1.left.query_term_field === t2.query_term_field;\n\t\telse if ('left' in t2)\n\t\t\treturn t1.query_term_field === t2.left.query_term_field;\n\t\treturn t1.query_term_field === t2.query_term_field;\n\t}\n\n\tfunction getEncodedTerm(term) {\n\t\tvar eq;\n\t\tif (term.left) {\n\t\t\teq = getEncodedTerm(term.left);\n\t\t\teq += '^OR';\n\t\t\teq += getEncodedTerm(term.right);\n\t\t} else {\n\t\t\teq = term.query_term_field;\n\t\t\teq += term.operator;\n\t\t\teq += term.value;\n\t\t}\n\t\treturn eq;\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel-heading {\n  padding-left: 8px;\n}\n\nthead {\n  border-bottom: 1px solid #ddd;\n}\n\ntable {\n  margin-bottom: 0;\n}\n\n.table &amp;gt; thead &amp;gt; tr &amp;gt; th {\n  border: 1px solid #ddd;\n  cursor: pointer;\n  vertical-align: middle;\n\n  &amp;amp;:nth-child(2) {\n    border-left: none;\n  }\n\n\n\n  &amp;amp;:last-child {\n    border-right: none;\n  }\n}\n\nth i {\n  display: inline-block;\n  margin-left: 5px;\n  color: #A0A0A0;\n}\n\nth .disabled{\n  color:#ddd;\n}\n\n.th-title {\n  display: inline-block;\n  color: $primary;\n}\n\n.panel-body {\n  overflow: auto;\n  padding: 0px;\n}\n\n\n.selected {\n  color: #fff;\n  background-color: #909090;\n  border-color: 1px solid #fff;\n}\n\ntbody tr:last-child {\n  border-bottom: none;\n}\n\n.pruned-msg {\n  padding-bottom: 10px;\n  padding-left: 4px;\n  text-align: center;\n}\n\n.pruned-msg-filter-pad {\n  padding-top:8px;\n}\n\n.filter-breadcrumbs {\n  border-bottom: 1px solid #ddd;\n  padding-top: 3px;\n}\n\n.dropdown-toggle {\n  background: none;\n  padding: 0 0 4px 0;\n}\n\n.sp-list-cell {\n  white-space: pre-wrap;\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data&gt;{\"data\":\n\t{\n\t\t\"table\": \"incident\",\n\t\t\"view\": \"default\",\n\t\t\"o\": \"opened_at\",\n\t\t\"d\": \"desc\",\n\t\t\"filter\": \"activeEQtrue\",\n\t\t\"p\": 1,\n\t\t\"fields\": \"number,short_description\"\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,filter,field_list,maximum_entries,order,order_by,order_direction,title,color,glyph,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-data-table&lt;/id&gt;&lt;internal&gt;true&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element, attrs, ctrl){\n\tvar $ul, $contextMenu;\n\n\tscope.focusOnTableHeader = function() {\n\t\telement.find(\".data-table-title\").attr(\"tabindex\", \"-1\").focus();\n\t}\n\n\telement.on('contextmenu', function(e){\n\t\tif (e.ctrlKey)\n\t\t\treturn; // ctrlKey is for the debug menu, not this menu\n\n\t\tvar rowScope = angular.element(e.target).scope();\n\t\tvar field, item, fieldVal;\n\n\t\t// Context Menu for tbody\n\t\tif (angular.isDefined(rowScope.field) &amp;&amp; angular.isDefined(rowScope.item)){\n\t\t\te.preventDefault();\n\t\t\tfield = rowScope.field;\n\t\t\titem = rowScope.item;\n\t\t\tfieldVal = item[field].value;\n\n\t\t\tvar items = [\n\t\t\t\t['${Show Matching}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '=').then(function(term){\n\t\t\t\t\t\tctrl.showMatching(field, term);\n\t\t\t\t\t});\n\t\t\t\t}],\n\t\t\t\t['${Filter Out}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '!=').then(function(term){\n\t\t\t\t\t\tctrl.filterOut(field, term);\n\t\t\t\t\t});\n\t\t\t\t}]\n\t\t\t];\n\n\t\t\trenderContextMenu(items);\n\t\t\tsetContextMenuPosition(e);\n\t\t}\n\t});\n\n\tfunction renderContextMenu(items){\n\t\tvar scrollHeight = $('body').get(0).scrollHeight;\n\t\t$contextMenu = angular.element('&lt;div&gt;', {'class': 'dropdown clearfix context-dropdown open'});\n\n\t\t$contextMenu.on('click', function (e) {\n\t\t\tif ($(e.target).hasClass('dropdown')) {\n\t\t\t\t_clearContextMenus(event);\n\t\t\t}\n\t\t});\n\t\t$contextMenu.on('contextmenu', function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t_clearContextMenus(event);\n\t\t});\n\n\t\t$contextMenu.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\theight: scrollHeight,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 9999\n\t\t});\n\n\t\t$('body').append($contextMenu);\n\n\t\t$ul = angular.element('&lt;ul&gt;', {\n\t\t\t'class': 'dropdown-menu',\n\t\t\t'role': 'menu'\n\t\t});\n\t\trenderItems();\n\t\t$contextMenu.append($ul);\n\n\t\tfunction renderItems(){\n\t\t\tangular.forEach(items, function (item) {\n\t\t\t\tvar $li = angular.element('&lt;li&gt;');\n\n\t\t\t\tif (item === null) {\n\t\t\t\t\t$li.addClass('divider');\n\t\t\t\t} else {\n\t\t\t\t\tvar $a = angular.element('&lt;a&gt;');\n\t\t\t\t\t$a.attr({tabindex: '-1', href:'#'});\n\t\t\t\t\t$a.text(item[0]);\n\t\t\t\t\t$li.append($a);\n\t\t\t\t\t$li.on('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\t\t_clearContextMenus(e);\n\t\t\t\t\t\t\titem[1].call(item, item);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$ul.append($li);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction _clearContextMenus(event){\n\t\tif (!event){\n\t\t\treturn;\n\t\t}\n\n\t\tangular.element(event.currentTarget).removeClass('context');\n\n\t\tvar els = angular.element(\".context-dropdown\");\n\t\tangular.forEach(els, function(el){\n\t\t\tangular.element(el).remove();\n\t\t});\n\t}\n\n\tvar contextMenuItemHeight = 0;\n\tfunction setContextMenuPosition(event){\n\t\tif (contextMenuItemHeight === 0)\n\t\t\tcontextMenuItemHeight = $ul.children(0).height();\n\n\t\t// Why not just call .width() and .height() on the container? Because those calculations cause browsers to reflow\n\t\t// that can cause IE10 to take 200ms to render a context menu.\n\t\tvar cmWidth = 150;\n\t\tvar cmHeight = contextMenuItemHeight * $ul.children().length;\n\t\tvar startX = event.pageX + cmWidth &gt;= window.innerWidth ? event.pageX - cmWidth : event.pageX;\n\t\tvar startY = event.pageY + cmHeight &gt;= window.innerHeight ? event.pageY - cmHeight : event.pageY;\n\n\t\t$ul.css({\n\t\t\tdisplay: 'block',\n\t\t\tposition: 'absolute',\n\t\t\tleft: startX,\n\t\t\ttop: startY,\n\t\t\t'min-width': cmWidth\n\t\t});\n\t}\n}]]&gt;&lt;/link&gt;&lt;name&gt;Data Table&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"If enabled, show the list filter in the breadcrumbs of the data table\",\"name\":\"enable_filter\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Enable Filter\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tif (!input) // asynch load list\n\t\treturn;\n\n\tdata.msg = {};\n\tdata.msg.sortingByAsc = gs.getMessage(\"Sorting by ascending\");\n\tdata.msg.sortingByDesc = gs.getMessage(\"Sorting by descending\");\n\n\t/*\n\t * data.table = the table\n\t * data.p = the current page starting at 1\n\t * data.o = the order by column\n\t * data.d = the order by direction\n\t * data.keywords = the keyword search term\n\t * data.list = the table data as an array\n\t * data.invalid_table = true if table is invalid or if data was not succesfully fetched\n\t * data.table_label = the table's display name. e.g. Incident\n\t * data.table_plural = the table's plural display name. e.g. Incidents\n\t * data.fields = a comma delimited list of field names to show in the data table\n\t * data.column_labels = a map of field name -&gt; display name\n\t * data.window_size = the number of rows to show\n\t * data.filter = the encoded query\n\t */\n\t// copy to data[name] from input[name] || option[name]\n\toptCopy(['table', 'p', 'o', 'd', 'filter', 'filterACLs', 'fields', 'keywords', 'view']);\n\toptCopy(['relationship_id', 'apply_to', 'apply_to_sys_id', 'window_size']);\n\tif (!data.table) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = \"\";\n\t\treturn;\n\t}\n\n\tif (!data.fields) {\n\t\tif (data.view)\n\t\t\tdata.fields = $sp.getListColumns(data.table, data.view);\n\t\telse\n\t\t\tdata.fields = $sp.getListColumns(data.table);\n\t}\n\n\tdata.title = input.headerTitle;\n\tdata.view = data.view || 'mobile';\n\tdata.table = data.table || $sp.getValue('table');\n\tdata.filter = data.filter || $sp.getValue('filter');\n\tdata.keywords = data.keywords || $sp.getValue('keywords');\n\tdata.p = data.p || $sp.getValue('p') || 1;\n\tdata.p = parseInt(data.p);\n\tdata.o = data.o || $sp.getValue('o') || $sp.getValue('order_by');\n\tdata.d = data.d || $sp.getValue('d') || $sp.getValue('order_direction');\n\tdata.page_index = data.p - 1;\n\tdata.show_new = data.show_new || options.show_new;\n\tvar windowSize = data.window_size || $sp.getValue('maximum_entries') || 20;\n\twindowSize = parseInt(windowSize);\n\tif (isNaN(windowSize) || windowSize &lt; 1)\n\t\twindowSize = 20;\n\tdata.window_size = windowSize;\n\n\tvar gr;\n\tif (gs.getProperty(\"glide.security.ui.filter\") == \"true\" || GlideTableDescriptor.get(data.table).getED().hasAttribute(\"glide.security.ui.filter\")) {\n\t\tgr = new FilteredGlideRecord(data.table);\n\t\tgr.applyRowSecurity();\n\t} else\n\t\tgr = new GlideRecordSecure(data.table);\n\tif (!gr.isValid()) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = data.table;\n\t\treturn;\n\t}\n\n  data.canCreate = gr.canCreate();\n\tdata.newButtonUnsupported = data.table == \"sys_attachment\";\n\tdata.table_label = gr.getLabel();\n\tdata.table_plural = gr.getPlural();\n\tif (data.filter) {\n\t\tif (data.filterACLs)\n\t\t\tgr = $sp.addQueryString(gr, data.filter);\n\t\telse\n\t\t\tgr.addEncodedQuery(data.filter);\n\t}\n\n\tif (data.keywords){\n\t\tgr.addQuery('123TEXTQUERY321', data.keywords);\n\t\tdata.keywords = null;\n\t}\n\n\tdata.filter = gr.getEncodedQuery();\n\n\tif (data.relationship_id) {\n\t\tvar rel = GlideRelationship.get(data.relationship_id);\n\t\tvar target = new GlideRecord(data.table);\n\t\tvar applyTo = new GlideRecord(data.apply_to);\n\t\tapplyTo.get(\"sys_id\", data.apply_to_sys_id);\n\t\trel.queryWith(applyTo, target); // put the relationship query into target\n\t\tgr.addEncodedQuery(target.getEncodedQuery()); // get the query the relationship made for us\n\t}\n\n\tif (data.o){\n\t\tif (data.d == \"asc\")\n\t\t\tgr.orderBy(data.o);\n\t\telse\n\t\t\tgr.orderByDesc(data.o);\n\t}\n\n\tdata.window_start = data.page_index * data.window_size;\n\tdata.window_end = (data.page_index + 1) * data.window_size;\n\tgr.chooseWindow(data.window_start, data.window_end);\n\tgr._query();\n\n\tdata.row_count = gr.getRowCount();\n\tdata.num_pages = Math.ceil(data.row_count / data.window_size);\n\tdata.column_labels = {};\n\tdata.fields_array = data.fields.split(',');\n\n\t// use GlideRecord to get field labels vs. GlideRecordSecure\n\tvar grForLabels = new GlideRecord(data.table);\n\tfor (var i in data.fields_array) {\n\t\tvar field = data.fields_array[i];\n\t\tvar ge = grForLabels.getElement(field);\n\t\tif (ge == null)\n\t\t\tcontinue;\n\n\t\tdata.column_labels[field] = ge.getLabel();\n\t}\n\n\tdata.list = [];\n\twhile (gr._next()) {\n\t\tvar record = {};\n\t\t$sp.getRecordElements(record, gr, data.fields);\n\t\tif (gr instanceof FilteredGlideRecord) {\n\t\t\t// FilteredGlideRecord doesn't do field-level\n\t\t\t// security, so take care of that here\n\t\t\tfor (var f in data.fields_array) {\n\t\t\t\tvar fld = data.fields_array[f];\n\t\t\t\tif (!gr.isValidField(fld))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!gr[fld].canRead()) {\n\t\t\t\t\trecord[fld].value = null;\n\t\t\t\t\trecord[fld].display_value = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\trecord.sys_id = gr.getValue('sys_id');\n\t\tdata.list.push(record);\n\t}\n\n\tdata.enable_filter = (input.enable_filter == true || input.enable_filter == \"true\" ||\n\t\toptions.enable_filter == true || options.enable_filter == \"true\");\n\tvar breadcrumbWidgetParams = {\n\t\ttable: data.table,\n\t\tquery: data.filter,\n\t\tenable_filter: data.enable_filter\n\t};\n\tdata.filterBreadcrumbs = $sp.getWidget('widget-filter-breadcrumbs', breadcrumbWidgetParams);\n\n\t// copy to data from input or options\n\tfunction optCopy(names) {\n\t\tnames.forEach(function(name) {\n\t\t\tdata[name] = input[name] || options[name];\n\t\t})\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-12-15 21:55:00&lt;/sys_created_on&gt;&lt;sys_id&gt;5001b062d7101200b0b044580e6103eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;901&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;33c50723d9e02300aadbb5e9839d2b7c&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_5001b062d7101200b0b044580e6103eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-21 05:10:10&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[  &lt;div class=\"panel panel-{{options.color}} b\"&gt;\n    &lt;div class=\"panel-heading form-inline\" ng-hide=\"options.hide_header\"&gt;\n      &lt;span class=\"dropdown m-r-xs\"&gt;\n        &lt;button aria-label=\"${Table menu}\" class=\"btn dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"optionsMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n        &lt;ul class=\"dropdown-menu\" aria-labelledby=\"optionsMenu\"&gt;\n          &lt;li ng-repeat=\"t in ::exportTypes\"&gt;\n            &lt;a ng-href=\"/{{data.table}}_list.do?{{::t.value}}&amp;sysparm_query={{data.filter}}&amp;sysparm_view={{data.view}}&amp;sysparm_fields={{data.fields}}\" target=\"_new\"&gt;${Export as} {{::t.label}}&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/span&gt;\n      &lt;span class=\"panel-title\"&gt;&lt;i ng-if=\"options.glyph\" class=\"fa fa-{{options.glyph}} m-r\"&gt;&lt;/i&gt;{{data.title || data.table_plural}}&lt;/span&gt;\n      &lt;button name=\"new\" role=\"link\" class=\"btn btn-primary btn-sm m-l-xs\" ng-click=\"newRecord()\" ng-if=\"options.show_new &amp;&amp; data.canCreate &amp;&amp; !data.newButtonUnsupported\" aria-label=\"${Create new record}\"&gt;${New}&lt;/button&gt;\n      &lt;div class=\"pull-right\" ng-if=\"options.show_keywords\"&gt;\n\t\t&lt;form ng-submit=\"setSearch(true)\"&gt;\n        &lt;div class=\"input-group\"&gt;\n          &lt;input type=\"text\" name=\"datatable-search\" ng-model=\"data.keywords\" ng-model-options=\"{debounce:250}\" class=\"form-control\" placeholder=\"${Keyword Search}\"&gt;\n          &lt;span class=\"input-group-btn\"&gt;\n            &lt;button name=\"search\" class=\"btn btn-default\" type=\"submit\" aria-label=\"${Search}\"&gt;&lt;span class=\"glyphicon glyphicon-search\"&gt;&lt;/span&gt;&lt;/button&gt;\n          &lt;/span&gt;\n        &lt;/div&gt;\n        &lt;/form&gt;\n      &lt;/div&gt;\n      &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- body --&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;h2 class=\"sr-only data-table-title\"&gt;{{data.title || data.table_plural}} ${table} - ${page} {{data.p}}&lt;/h2&gt;\n      &lt;div ng-if=\"options.show_breadcrumbs &amp;&amp; (data.filter || data.enable_filter)\" class=\"filter-breadcrumbs\"&gt;\n\t    \t\t&lt;sp-widget widget=\"data.filterBreadcrumbs\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n      &lt;div class=\"alert alert-info\" ng-if=\"!data.list.length &amp;&amp; !data.num_pages &amp;&amp; !data.invalid_table &amp;&amp; !loadingData\"&gt;\n        ${No records in {{data.table_label}} &lt;span ng-if=\"data.filter\"&gt;using that filter&lt;/span&gt;}\n      &lt;/div&gt;\n      &lt;div class=\"alert alert-info\" ng-if=\"loadingData\"&gt;\n          &lt;fa name=\"spinner\" spin=\"true\"&gt;&lt;/fa&gt; ${Loading data}...\n       &lt;/div&gt;\n      &lt;table class=\"table table-striped table-responsive\" ng-if=\"data.list.length\"&gt;\n        &lt;thead&gt;\n          &lt;tr&gt;\n            &lt;th class=\"sr-only\"&gt;&lt;/th&gt;\n            &lt;th ng-repeat=\"field in data.fields_array track by $index\" class=\"text-nowrap\" ng-click=\"setOrderBy(field)\" tabindex=\"0\"&gt;\n              &lt;div class=\"th-title\" aria-label=\"${Sort by } {{data.column_labels[field]}}\"&gt;{{data.column_labels[field]}}&lt;/div&gt;\n              &lt;i class=\"fa\" ng-if=\"field == data.o\" ng-class=\"{'asc': 'fa-chevron-up', 'desc': 'fa-chevron-down'}[data.d]\" aria-label=\"${Sorted by } {{data.column_labels[field]}} {{data.d == 'asc' ?  '${Ascending}': '${Descending}' }}\"&gt;&lt;/i&gt;\n            &lt;/th&gt;\n          &lt;/tr&gt;\n        &lt;/thead&gt;\n        &lt;tbody&gt;\n          &lt;tr ng-repeat=\"item in data.list track by item.sys_id\"&gt;\n            &lt;td class=\"sr-only\" tabindex=\"0\" role=\"link\" ng-click=\"go(data.table, item)\" aria-label=\"${Open record}\"&gt;&lt;/td&gt;\n            &lt;td role=\"text\" aria-label=\"{{item[field].display_value}}\" class=\"pointer sp-list-cell\" ng-class=\"{selected: item.selected}\" ng-click=\"go(data.table, item)\" ng-repeat=\"field in ::data.fields_array\" data-field=\"{{::field}}\" data-th=\"{{::data.column_labels[field]}}\"&gt;{{::item[field].display_value}}&lt;/td&gt;\n          &lt;/tr&gt;\n        &lt;/tbody&gt;\n      &lt;/table&gt;\n      &lt;div ng-class=\"{'pruned-msg-filter-pad': (!options.show_breadcrumbs || !data.filter) &amp;&amp; !data.list.length}\" class=\"pruned-msg\" ng-if=\"rowsWerePruned()\"&gt;\n        &lt;span ng-if=\"rowsPruned == 1\"&gt;${{{rowsPruned}} row removed by security constraints}&lt;/span&gt;\n        &lt;span ng-if=\"rowsPruned &gt; 1\"&gt;${{{rowsPruned}} rows removed by security constraints}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- footer --&gt;\n    &lt;div class=\"panel-footer\" ng-hide=\"options.hide_footer\" ng-if=\"data.row_count\"&gt;\n      &lt;div class=\"btn-toolbar m-r pull-left\"&gt;\n        &lt;div class=\"btn-group\"&gt;\n          &lt;a ng-disabled=\"data.p == 1\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p - 1)\" class=\"btn btn-default\"  aria-label=\"${Previous page}\"&gt;&lt;i class=\"fa fa-chevron-left\"&gt;&lt;/i&gt;&lt;/a&gt;\n        &lt;/div&gt;\n        &lt;div ng-if=\"data.num_pages &gt; 1 &amp;&amp; data.num_pages &lt; 20\" class=\"btn-group\"&gt;\n          &lt;a ng-repeat=\"i in getNumber(data.num_pages) track by $index\" ng-click=\"setPageNum($index + 1)\" href=\"javascript:void(0)\" ng-class=\"{active: ($index + 1) == data.p}\" type=\"button\" class=\"btn btn-default\" aria-label=\"${Page} {{$index + 1}}\"&gt;{{$index + 1}}&lt;/a&gt;\n        &lt;/div&gt;\n        &lt;div class=\"btn-group\"&gt;\n          &lt;a ng-disabled=\"data.p == data.num_pages\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p + 1)\" class=\"btn btn-default\" aria-label=\"${Next page}\"&gt;&lt;i class=\"fa fa-chevron-right\"&gt;&lt;/i&gt;&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"m-t-xs panel-title\"&gt;${Rows {{data.window_start + 1}} - {{ mathMin(data.window_end,data.row_count) }} of {{data.row_count}}}&lt;/div&gt;\n\n      &lt;span class=\"clearfix\"&gt;&lt;/span&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:51:09</sys_created_on><sys_id>e1925fc673302300b10080844ff6a701</sys_id><sys_mod_count>0</sys_mod_count><sys_name>9d921fc673302300b10080844ff6a7fe</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_e1925fc673302300b10080844ff6a701</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:51:09</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>-1924711192</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>73ded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1662229fd790000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>9d921fc673302300b10080844ff6a7fe</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>a9929fc6aa30230014e27b49da436c45</update_guid>\n<update_guid_history>a9929fc6aa30230014e27b49da436c45:-1924711192</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_9d921fc673302300b10080844ff6a7fe</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function InlineEditingDataTable($scope, $location, spUtil, amb, $http, spAriaUtil, $timeout, spNavStateManager) {\n\tvar c = this;\n    c.makeEditable = makeEditable;\n\t/*\n\t * options:\n\t * hide_footer (bool) = true to remove the data table footer contents\n\t * hide_header (bool) = true to remove the data table header contents\n\t * show_new (bool) = true to show the \"New\" record button\n\t * show_keywords (bool) = true to show the keyword search field\n\t * table (string) = the table name to query\n\t * filter (string) = the encoded query\n\t * o (string) = the order by column\n\t * d (string) = The order by direction: asc or desc\n\t * p (int) = the page to jump to\n\t * fields (string) = comma seperated list of fields that become the list columns\n\t * view (string) = the default view to load for columns, overrides fields\n\t*/\n\n\t$scope.exportTypes = [{label:'PDF', value: 'PDF'}, {label:'Excel', value:'EXCEL'}, {label:'CSV', value:'CSV'}];\n\tvar keys = ['table', 'filter', 'p', 'o', 'd'];\n\n\tvar eventNames = {\n\t\tclick: 'data_table.click',\n\t\tsetFilter: 'data_table.setFilter',\n\t\tsetKeywords: 'data_table.setKeywords'\n\t};\n\n\t$scope.go = function(table, item) {\n\t\tspNavStateManager.onRecordChange(table).then(function() {\n\t\tvar parms = {};\n\t\tparms.table = table;\n\t\tparms.sys_id = item.sys_id;\n\t\tparms.record = item;\n\t\t$scope.ignoreLocationChange = true;\n\t\tfor (var x in c.data.list) {\n\t\t\tc.data.list[x].selected = false;\n\t\t}\n\t\titem.selected = true;\n\t\t$scope.$emit(eventNames.click, parms);\n\t\t}, function() {\n\t\t\t// do nothing in case of closing the modal by clicking on x\n\t\t});\n\t};\n\n\t$scope.newRecord = function(){\n\t\tvar parms = {\n\t\t\tid: 'form',\n\t\t\ttable: $scope.data.table,\n\t\t\tview: $scope.data.view,\n\t\t\tsys_id: '-1'\n\t\t};\n\t\tif ($scope.data.filter != '')\n\t\t\tparms.query = $scope.data.filter;\n\n\t\t$location.search(parms);\n\t};\n\n\tfunction recoverStateFromUrl() {\n\t\t$scope.data.fields = [];\n\t\tvar s = $location.search();\n\t\tfor (var x in keys) {\n\t\t\tif (s[keys[x]]) {\n\t\t\t\t$scope.data[keys[x]] = s[keys[x]];\n\t\t\t}\n\t\t}\n\t\t$scope.server.update().then(function(data) {\n\t\t\tif (s.sys_id) {\n\t\t\t\tfor (var x in data.list) {\n\t\t\t\t\tif (data.list[x].sys_id == s.sys_id) {\n\t\t\t\t\t\t$scope.go(s.table, data.list[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tif ($scope.options.fromUrl) {\n\t\tvar origSearch = $location.search();\n\t\t$scope.$on('$locationChangeSuccess', function(e) {\n\t\t\tvar s = $location.search();\n\t\t\tif (origSearch.id !== s.id)\n\t\t\t\treturn;\n\n\t\t\tif ($scope.ignoreLocationChange){\n\t\t\t\t$scope.ignoreLocationChange = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Helps to recover state when using the browser's back button\n\t\t\trecoverStateFromUrl();\n\t\t});\n\t}\n\n\n\t$scope.getNumber = function(num) {\n\t\treturn new Array(num);\n\t}\n\n\t$scope.mathMin = function(v1,v2) {\n\t\treturn Math.min(v1,v2);\n\t}\n\n\tfunction getData(updateUrl) {\n\t\tvar f = $scope.data;\n\t\tspUtil.update($scope).then(function(data) {\n\t\t\tf.view = data.view;\n\t\t\tif ($scope.options.fromUrl &amp;&amp; updateUrl)\n\t\t\t\tsetPermalink(f.table, f.filter, f.o, f.d, f.p);\n\n\t\t\tif ($scope.options.show_breadcrumbs &amp;&amp; data.filterBreadcrumbs)\n\t\t\t\t$scope.$broadcast('widget-filter-breadcrumbs.setBreadcrumbs', data.filterBreadcrumbs.data, data.filter);\n\n\t\t\tinitRecordWatcher(f.table, f.filter);\n\t\t});\n\t}\n\n\tfunction setPermalink(table, filter, orderBy, orderDirection, page){\n\t\t$scope.ignoreLocationChange = true;\n\t\tvar search = $location.search();\n\t\tangular.extend(search, {\n\t\t\tspa: 1,\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tp: page,\n\t\t\to: orderBy,\n\t\t\td: orderDirection\n\t\t});\n\t\t$location.search(search);\n\t}\n\n\tvar watcher;\n\tfunction initRecordWatcher(table, filter){\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\n\t\tif (table &amp;&amp; filter) {\n\t\t\tvar watcherChannel = amb.getChannelRW(table, filter);\n\t\t\tamb.connect();\n\t\t\twatcher = watcherChannel.subscribe(function(message) {\n\t\t\t\tif (!message.data)\n\t\t\t\t\treturn;\n\t\t\t\tswitch(message.data.action) {\n\t\t\t\t\tcase \"change\":\n\t\t\t\t\t\tupdateRowFromRW(message);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"exit\":\n\t\t\t\t\t\t// A record was removed\n\t\t\t\t\tcase \"enter\":\n\t\t\t\t\t\t// A record was added\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tspUtil.update($scope);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction updateRowFromRW(message) {\n\t\tif (message.data &amp;&amp; message.data.sys_id &amp;&amp; $scope.data.list) {\n\t\t\tvar row, field;\n\t\t\tfor(var i=0;i&lt;$scope.data.list.length; i++) {\n\t\t\t\trow = $scope.data.list[i];\n\t\t\t\tif (row.sys_id == message.data.sys_id) {\n\t\t\t\t\tvar fields = Object.getOwnPropertyNames(message.data.record);\n\t\t\t\t\tfor(var f in fields) {\n\t\t\t\t\t\tfield = fields[f];\n\t\t\t\t\t\tif(typeof row[field] !== 'undefined') {\n\t\t\t\t\t\t    row[field].display_value = message.data.record[field].display_value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t$scope.$on('$destroy', function() {\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\t});\n\n\t$scope.setPageNum = function(num) {\n\t\t$scope.data.p = num;\n\t\tgetData(true);\n\t\t$timeout(function() {\n\t\t\t$scope.focusOnTableHeader();\n\t\t});\n\t}\n\n\t$scope.setOrderBy = function(field) {\n\t\tvar d = \"asc\";\n\t\tif ($scope.data.o == field) {\n\t\t\tif ($scope.data.d == \"asc\")\n\t\t\t\td = \"desc\";\n\t\t\telse\n\t\t\t\td = \"asc\";\n\t\t}\n\n\t\tif (d === \"asc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByAsc);\n\t\t} else if (d === \"desc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByDesc);\n\t\t}\n\n\t\t$scope.data.o = field;\n\t\t$scope.data.d = d;\n\t\t$scope.setSearch(true);\n\t}\n\n\t$scope.setSearch = function(updateUrl) {\n\t\t$scope.data.p = 1;\n\t\tgetData(updateUrl);\n\t}\n\n\t$scope.$on(eventNames.setFilter, function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on(eventNames.setKeywords, function(e, keywords){\n\t\t$scope.data.keywords = keywords;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on('widget-filter-breadcrumbs.queryModified', function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(true);\n\t});\n\n\t$scope.rowsWerePruned = function() {\n\t\tif (!$scope.data.list)\n\t\t\treturn;\n\n\t\t$scope.rowsPruned = $scope.mathMin($scope.data.window_end,$scope.data.row_count) - $scope.data.window_start - $scope.data.list.length;\n\t\treturn $scope.rowsPruned &gt; 0;\n\t}\n\n\t$scope.showFilter = function() {\n\t\treturn !$scope.data.list.length &amp;&amp; !$scope.data.num_pages &amp;&amp; !$scope.data.invalid_table &amp;&amp; !$scope.loadingData;\n\t}\n\n\tc.appendQuery = function(query){\n\t\tif ($scope.data.filter.length &gt; 1)\n\t\t\t$scope.data.filter += '^';\n\t\t$scope.data.filter += query;\n\t\t\t$scope.setSearch();\n\n\t}\n\n\t// Makes Widget Async\n\t$scope.data = $scope.options;\n\t$scope.loadingData = true;\n\t$scope.server.update().then(function() {\n\t\tif ($scope.data.newButtonUnsupported)\n\t\t\tconsole.log(\"Service Portal: New button not supported for sys_attachment list\");\n\t\t$scope.loadingData = false;\n\t\tinitRecordWatcher($scope.data.table, $scope.data.filter);\n\t});\n\n\tfunction parseQuery(table, queryString){\n\t\treturn $http.post('/api/now/sp/parsequery/' + table, queryString).then(function(response){\n\t\t\t\treturn response.data.result;\n\t\t});\n\t}\n\n\tc.createQueryTerm = function(table, field, sys_id, operator){\n\t\treturn $http.get('/api/now/sp/getInOutQueryTerm', {\n\t\t\tparams: {\n\t\t\t\ttable: table,\n\t\t\t\tsys_id: sys_id,\n\t\t\t\tfield: field,\n\t\t\t\toperator: operator\n\t\t\t}\n\t\t}).then(function(response){\n\t\t\tif (response &amp;&amp; response.data &amp;&amp; response.data.result)\n\t\t\t\treturn response.data.result.parts;\n\t\t});\n\t}\n\n\tc.showMatching = function(field, newTerm) {\n\t\tvar queryString = $scope.data.filter;\n\t\tvar eq = \"\";\n\t\tparseQuery($scope.data.table, queryString).then(function(oldTerms) {\n\t\t\tfor(var i=0; i&lt;oldTerms.length; i++){\n\t\t\t\tvar term = oldTerms[i];\n\t\t\t\tif (isSameField(newTerm, term))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\t\t\teq += getEncodedTerm(term);\n\t\t\t}\n\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\t\t\teq += getEncodedTerm(newTerm);\n\n\t\t\t$scope.data.filter = eq;\n\t\t\t$scope.setSearch();\n\t\t});\n\t};\n\n\tc.filterOut = function(field, newTerm) {\n\t\tvar eq = $scope.data.filter;\n\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\teq += getEncodedTerm(newTerm);\n\t\t$scope.data.filter = eq;\n\t\t$scope.setSearch();\n\t};\n\n\tfunction isSameField(t1, t2) {\n\t\tif ('left' in t1 &amp;&amp; 'left' in t2)\n\t\t\treturn t1.left.query_term_field === t2.left.query_term_field;\n\t\telse if ('left' in t1)\n\t\t\treturn t1.left.query_term_field === t2.query_term_field;\n\t\telse if ('left' in t2)\n\t\t\treturn t1.query_term_field === t2.left.query_term_field;\n\t\treturn t1.query_term_field === t2.query_term_field;\n\t}\n\n\tfunction getEncodedTerm(term) {\n\t\tvar eq;\n\t\tif (term.left) {\n\t\t\teq = getEncodedTerm(term.left);\n\t\t\teq += '^OR';\n\t\t\teq += getEncodedTerm(term.right);\n\t\t} else {\n\t\t\teq = term.query_term_field;\n\t\t\teq += term.operator;\n\t\t\teq += term.value;\n\t\t}\n\t\treturn eq;\n\t}\n\n\tfunction makeEditable(item, field) {\n        c.server.get({\n            action: 'INLINE_EDIT',\n            table: c.data.table,\n            sys_id: item.sys_id,\n            field: field\n        }).then(function (value) {\n            item[field].inline = value.data.inlineForm._fields[field];\n        });\n    }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel-heading {\n  padding-left: 8px;\n}\n\nthead {\n  border-bottom: 1px solid #ddd;\n}\n\ntable {\n  margin-bottom: 0;\n}\n\n.table &amp;gt; thead &amp;gt; tr &amp;gt; th {\n  border: 1px solid #ddd;\n  cursor: pointer;\n  vertical-align: middle;\n\n  &amp;amp;:nth-child(2) {\n    border-left: none;\n  }\n\n\n\n  &amp;amp;:last-child {\n    border-right: none;\n  }\n}\n\nth i {\n  display: inline-block;\n  margin-left: 5px;\n  color: #A0A0A0;\n}\n\nth .disabled{\n  color:#ddd;\n}\n\n.th-title {\n  display: inline-block;\n  color: $primary;\n}\n\n.panel-body {\n  overflow: auto;\n  padding: 0px;\n}\n\n\n.selected {\n  color: #fff;\n  background-color: #909090;\n  border-color: 1px solid #fff;\n}\n\ntbody tr:last-child {\n  border-bottom: none;\n}\n\n.pruned-msg {\n  padding-bottom: 10px;\n  padding-left: 4px;\n  text-align: center;\n}\n\n.pruned-msg-filter-pad {\n  padding-top:8px;\n}\n\n.filter-breadcrumbs {\n  border-bottom: 1px solid #ddd;\n  padding-top: 3px;\n}\n\n.dropdown-toggle {\n  background: none;\n  padding: 0 0 4px 0;\n}\n\n.sp-list-cell {\n  white-space: pre-wrap;\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px;\n\t}\n}\n\n\n\n.sp-list-cell {\n  white-space: normal;\n}\n\n.inline-field {\n  white-space: normal;\n  label {\n    display: none;\n  }\n  .form-group {\n    margin-bottom: 0;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data&gt;{\"data\":\n\t{\n\t\t\"table\": \"incident\",\n\t\t\"view\": \"default\",\n\t\t\"o\": \"opened_at\",\n\t\t\"d\": \"desc\",\n\t\t\"filter\": \"activeEQtrue\",\n\t\t\"p\": 1,\n\t\t\"fields\": \"number,short_description\"\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,filter,field_list,maximum_entries,order,order_by,order_direction,title,color,glyph,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;inline-editing-data-table&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element, attrs, ctrl){\n\tvar $ul, $contextMenu;\n\n\tscope.focusOnTableHeader = function() {\n\t\telement.find(\".data-table-title\").attr(\"tabindex\", \"-1\").focus();\n\t}\n\n\telement.on('contextmenu', function(e){\n\t\tif (e.ctrlKey)\n\t\t\treturn; // ctrlKey is for the debug menu, not this menu\n\n\t\tvar rowScope = angular.element(e.target).scope();\n\t\tvar field, item, fieldVal;\n\n\t\t// Context Menu for tbody\n\t\tif (angular.isDefined(rowScope.field) &amp;&amp; angular.isDefined(rowScope.item)){\n\t\t\te.preventDefault();\n\t\t\tfield = rowScope.field;\n\t\t\titem = rowScope.item;\n\t\t\tfieldVal = item[field].value;\n\n\t\t\tvar items = [\n\t\t\t\t['${Show Matching}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '=').then(function(term){\n\t\t\t\t\t\tctrl.showMatching(field, term);\n\t\t\t\t\t});\n\t\t\t\t}],\n\t\t\t\t['${Filter Out}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '!=').then(function(term){\n\t\t\t\t\t\tctrl.filterOut(field, term);\n\t\t\t\t\t});\n\t\t\t\t}]\n\t\t\t];\n\n\t\t\trenderContextMenu(items);\n\t\t\tsetContextMenuPosition(e);\n\t\t}\n\t});\n\n\tfunction renderContextMenu(items){\n\t\tvar scrollHeight = $('body').get(0).scrollHeight;\n\t\t$contextMenu = angular.element('&lt;div&gt;', {'class': 'dropdown clearfix context-dropdown open'});\n\n\t\t$contextMenu.on('click', function (e) {\n\t\t\tif ($(e.target).hasClass('dropdown')) {\n\t\t\t\t_clearContextMenus(event);\n\t\t\t}\n\t\t});\n\t\t$contextMenu.on('contextmenu', function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t_clearContextMenus(event);\n\t\t});\n\n\t\t$contextMenu.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\theight: scrollHeight,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 9999\n\t\t});\n\n\t\t$('body').append($contextMenu);\n\n\t\t$ul = angular.element('&lt;ul&gt;', {\n\t\t\t'class': 'dropdown-menu',\n\t\t\t'role': 'menu'\n\t\t});\n\t\trenderItems();\n\t\t$contextMenu.append($ul);\n\n\t\tfunction renderItems(){\n\t\t\tangular.forEach(items, function (item) {\n\t\t\t\tvar $li = angular.element('&lt;li&gt;');\n\n\t\t\t\tif (item === null) {\n\t\t\t\t\t$li.addClass('divider');\n\t\t\t\t} else {\n\t\t\t\t\tvar $a = angular.element('&lt;a&gt;');\n\t\t\t\t\t$a.attr({tabindex: '-1', href:'#'});\n\t\t\t\t\t$a.text(item[0]);\n\t\t\t\t\t$li.append($a);\n\t\t\t\t\t$li.on('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\t\t_clearContextMenus(e);\n\t\t\t\t\t\t\titem[1].call(item, item);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$ul.append($li);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction _clearContextMenus(event){\n\t\tif (!event){\n\t\t\treturn;\n\t\t}\n\n\t\tangular.element(event.currentTarget).removeClass('context');\n\n\t\tvar els = angular.element(\".context-dropdown\");\n\t\tangular.forEach(els, function(el){\n\t\t\tangular.element(el).remove();\n\t\t});\n\t}\n\n\tvar contextMenuItemHeight = 0;\n\tfunction setContextMenuPosition(event){\n\t\tif (contextMenuItemHeight === 0)\n\t\t\tcontextMenuItemHeight = $ul.children(0).height();\n\n\t\t// Why not just call .width() and .height() on the container? Because those calculations cause browsers to reflow\n\t\t// that can cause IE10 to take 200ms to render a context menu.\n\t\tvar cmWidth = 150;\n\t\tvar cmHeight = contextMenuItemHeight * $ul.children().length;\n\t\tvar startX = event.pageX + cmWidth &gt;= window.innerWidth ? event.pageX - cmWidth : event.pageX;\n\t\tvar startY = event.pageY + cmHeight &gt;= window.innerHeight ? event.pageY - cmHeight : event.pageY;\n\n\t\t$ul.css({\n\t\t\tdisplay: 'block',\n\t\t\tposition: 'absolute',\n\t\t\tleft: startX,\n\t\t\ttop: startY,\n\t\t\t'min-width': cmWidth\n\t\t});\n\t}\n}]]&gt;&lt;/link&gt;&lt;name&gt;Inline Editing Data Table&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"If enabled, show the list filter in the breadcrumbs of the data table\",\"name\":\"enable_filter\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Enable Filter\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tif (!input) // asynch load list\n\t\treturn;\n\n    if (input.action == 'INLINE_EDIT') {\n        var inlineForm = $sp.getForm(input.table, input.sys_id);\n        data.inlineForm = inlineForm;\n        return;\n    }\n\n    data.msg = {};\n\tdata.msg.sortingByAsc = gs.getMessage(\"Sorting by ascending\");\n\tdata.msg.sortingByDesc = gs.getMessage(\"Sorting by descending\");\n\n\t/*\n\t * data.table = the table\n\t * data.p = the current page starting at 1\n\t * data.o = the order by column\n\t * data.d = the order by direction\n\t * data.keywords = the keyword search term\n\t * data.list = the table data as an array\n\t * data.invalid_table = true if table is invalid or if data was not succesfully fetched\n\t * data.table_label = the table's display name. e.g. Incident\n\t * data.table_plural = the table's plural display name. e.g. Incidents\n\t * data.fields = a comma delimited list of field names to show in the data table\n\t * data.column_labels = a map of field name -&gt; display name\n\t * data.window_size = the number of rows to show\n\t * data.filter = the encoded query\n\t */\n\t// copy to data[name] from input[name] || option[name]\n\toptCopy(['table', 'p', 'o', 'd', 'filter', 'filterACLs', 'fields', 'keywords', 'view']);\n\toptCopy(['relationship_id', 'apply_to', 'apply_to_sys_id', 'window_size']);\n\tif (!data.table) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = \"\";\n\t\treturn;\n\t}\n\n\tif (!data.fields) {\n\t\tif (data.view)\n\t\t\tdata.fields = $sp.getListColumns(data.table, data.view);\n\t\telse\n\t\t\tdata.fields = $sp.getListColumns(data.table);\n\t}\n\n\tdata.title = input.headerTitle;\n\tdata.view = data.view || 'mobile';\n\tdata.table = data.table || $sp.getValue('table');\n\tdata.filter = data.filter || $sp.getValue('filter');\n\tdata.keywords = data.keywords || $sp.getValue('keywords');\n\tdata.p = data.p || $sp.getValue('p') || 1;\n\tdata.p = parseInt(data.p);\n\tdata.o = data.o || $sp.getValue('o') || $sp.getValue('order_by');\n\tdata.d = data.d || $sp.getValue('d') || $sp.getValue('order_direction');\n\tdata.page_index = data.p - 1;\n\tdata.show_new = data.show_new || options.show_new;\n\tvar windowSize = data.window_size || $sp.getValue('maximum_entries') || 20;\n\twindowSize = parseInt(windowSize);\n\tif (isNaN(windowSize) || windowSize &lt; 1)\n\t\twindowSize = 20;\n\tdata.window_size = windowSize;\n\n\tvar gr;\n\tif (gs.getProperty(\"glide.security.ui.filter\") == \"true\" || GlideTableDescriptor.get(data.table).getED().hasAttribute(\"glide.security.ui.filter\")) {\n\t\tgr = new FilteredGlideRecord(data.table);\n\t\tgr.applyRowSecurity();\n\t} else\n\t\tgr = new GlideRecordSecure(data.table);\n\tif (!gr.isValid()) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = data.table;\n\t\treturn;\n\t}\n\n  data.canCreate = gr.canCreate();\n\tdata.newButtonUnsupported = data.table == \"sys_attachment\";\n\tdata.table_label = gr.getLabel();\n\tdata.table_plural = gr.getPlural();\n\tif (data.filter) {\n\t\tif (data.filterACLs)\n\t\t\tgr = $sp.addQueryString(gr, data.filter);\n\t\telse\n\t\t\tgr.addEncodedQuery(data.filter);\n\t}\n\n\tif (data.keywords){\n\t\tgr.addQuery('123TEXTQUERY321', data.keywords);\n\t\tdata.keywords = null;\n\t}\n\n\tdata.filter = gr.getEncodedQuery();\n\n\tif (data.relationship_id) {\n\t\tvar rel = GlideRelationship.get(data.relationship_id);\n\t\tvar target = new GlideRecord(data.table);\n\t\tvar applyTo = new GlideRecord(data.apply_to);\n\t\tapplyTo.get(\"sys_id\", data.apply_to_sys_id);\n\t\trel.queryWith(applyTo, target); // put the relationship query into target\n\t\tgr.addEncodedQuery(target.getEncodedQuery()); // get the query the relationship made for us\n\t}\n\n\tif (data.o){\n\t\tif (data.d == \"asc\")\n\t\t\tgr.orderBy(data.o);\n\t\telse\n\t\t\tgr.orderByDesc(data.o);\n\t}\n\n\tdata.window_start = data.page_index * data.window_size;\n\tdata.window_end = (data.page_index + 1) * data.window_size;\n\tgr.chooseWindow(data.window_start, data.window_end);\n\tgr._query();\n\n\tdata.row_count = gr.getRowCount();\n\tdata.num_pages = Math.ceil(data.row_count / data.window_size);\n\tdata.column_labels = {};\n\tdata.fields_array = data.fields.split(',');\n\n\t// use GlideRecord to get field labels vs. GlideRecordSecure\n\tvar grForLabels = new GlideRecord(data.table);\n\tfor (var i in data.fields_array) {\n\t\tvar field = data.fields_array[i];\n\t\tvar ge = grForLabels.getElement(field);\n\t\tif (ge == null)\n\t\t\tcontinue;\n\n\t\tdata.column_labels[field] = ge.getLabel();\n\t}\n\n\tdata.list = [];\n\twhile (gr._next()) {\n\t\tvar record = {};\n\t\t$sp.getRecordElements(record, gr, data.fields);\n\t\tif (gr instanceof FilteredGlideRecord) {\n\t\t\t// FilteredGlideRecord doesn't do field-level\n\t\t\t// security, so take care of that here\n\t\t\tfor (var f in data.fields_array) {\n\t\t\t\tvar fld = data.fields_array[f];\n\t\t\t\tif (!gr.isValidField(fld))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!gr[fld].canRead()) {\n\t\t\t\t\trecord[fld].value = null;\n\t\t\t\t\trecord[fld].display_value = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\trecord.sys_id = gr.getValue('sys_id');\n\t\tdata.list.push(record);\n\t}\n\n\tdata.enable_filter = (input.enable_filter == true || input.enable_filter == \"true\" ||\n\t\toptions.enable_filter == true || options.enable_filter == \"true\");\n\tvar breadcrumbWidgetParams = {\n\t\ttable: data.table,\n\t\tquery: data.filter,\n\t\tenable_filter: data.enable_filter\n\t};\n\tdata.filterBreadcrumbs = $sp.getWidget('widget-filter-breadcrumbs', breadcrumbWidgetParams);\n\n\t// copy to data from input or options\n\tfunction optCopy(names) {\n\t\tnames.forEach(function(name) {\n\t\t\tdata[name] = input[name] || options[name];\n\t\t})\n\t}\n\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:51:09&lt;/sys_created_on&gt;&lt;sys_id&gt;9d921fc673302300b10080844ff6a7fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;13&lt;/sys_mod_count&gt;&lt;sys_name&gt;Inline Editing Data Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_9d921fc673302300b10080844ff6a7fe&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:43:27&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel panel-{{ options.color }} b\"&gt;\n    &lt;div class=\"panel-heading form-inline\" ng-hide=\"options.hide_header\"&gt;\n      &lt;span class=\"dropdown m-r-xs\"&gt;\n        &lt;button aria-label=\"${Table menu}\" class=\"btn dropdown-toggle glyphicon glyphicon-menu-hamburger\"\n                style=\"line-height: 1.4em\" id=\"optionsMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n                aria-expanded=\"false\"&gt;&lt;/button&gt;\n        &lt;ul class=\"dropdown-menu\" aria-labelledby=\"optionsMenu\"&gt;\n          &lt;li ng-repeat=\"t in ::exportTypes\"&gt;\n            &lt;a ng-href=\"/{{ data.table }}_list.do?{{ ::t.value }}&amp;sysparm_query={{ data.filter }}&amp;sysparm_view={{ data.view }}&amp;sysparm_fields={{ data.fields }}\"\n               target=\"_new\"&gt;${Export as} {{ ::t.label }}&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/span&gt;\n        &lt;span class=\"panel-title\"&gt;&lt;i ng-if=\"options.glyph\"\n                                     class=\"fa fa-{{ options.glyph }} m-r\"&gt;&lt;/i&gt;{{ data.title || data.table_plural }}&lt;/span&gt;\n        &lt;button name=\"new\" role=\"link\" class=\"btn btn-primary btn-sm m-l-xs\" ng-click=\"newRecord()\"\n                ng-if=\"options.show_new &amp;&amp; data.canCreate &amp;&amp; !data.newButtonUnsupported\"\n                aria-label=\"${Create new record}\"&gt;${New}\n        &lt;/button&gt;\n        &lt;div class=\"pull-right\" ng-if=\"options.show_keywords\"&gt;\n            &lt;form ng-submit=\"setSearch(true)\"&gt;\n                &lt;div class=\"input-group\"&gt;\n                    &lt;input type=\"text\" name=\"datatable-search\" ng-model=\"data.keywords\"\n                           ng-model-options=\"{debounce:250}\" class=\"form-control\" placeholder=\"${Keyword Search}\"&gt;\n                    &lt;span class=\"input-group-btn\"&gt;\n            &lt;button name=\"search\" class=\"btn btn-default\" type=\"submit\" aria-label=\"${Search}\"&gt;&lt;span\n                        class=\"glyphicon glyphicon-search\"&gt;&lt;/span&gt;&lt;/button&gt;\n          &lt;/span&gt;\n                &lt;/div&gt;\n            &lt;/form&gt;\n        &lt;/div&gt;\n        &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- body --&gt;\n    &lt;div class=\"panel-body\"&gt;\n        &lt;h2 class=\"sr-only data-table-title\"&gt;{{ data.title || data.table_plural }} ${table} - ${page} {{ data.p }}&lt;/h2&gt;\n        &lt;div ng-if=\"options.show_breadcrumbs &amp;&amp; (data.filter || data.enable_filter)\" class=\"filter-breadcrumbs\"&gt;\n            &lt;sp-widget widget=\"data.filterBreadcrumbs\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n        &lt;div class=\"alert alert-info\"\n             ng-if=\"!data.list.length &amp;&amp; !data.num_pages &amp;&amp; !data.invalid_table &amp;&amp; !loadingData\"&gt;\n            ${No records in {{ data.table_label }} &lt;span ng-if=\"data.filter\"&gt;using that filter&lt;/span&gt;}\n        &lt;/div&gt;\n        &lt;div class=\"alert alert-info\" ng-if=\"loadingData\"&gt;\n            &lt;fa name=\"spinner\" spin=\"true\"&gt;&lt;/fa&gt;\n            ${Loading data}...\n        &lt;/div&gt;\n        &lt;table class=\"table table-striped table-responsive\" ng-if=\"data.list.length\"&gt;\n            &lt;thead&gt;\n            &lt;tr&gt;\n                &lt;th class=\"sr-only\"&gt;&lt;/th&gt;\n                &lt;th ng-repeat=\"field in data.fields_array track by $index\" class=\"text-nowrap\"\n                    ng-click=\"setOrderBy(field)\" tabindex=\"0\"&gt;\n                    &lt;div class=\"th-title\"\n                         aria-label=\"${Sort by } {{ data.column_labels[field] }}\"&gt;{{ data.column_labels[field] }}&lt;/div&gt;\n                    &lt;i class=\"fa\" ng-if=\"field == data.o\"\n                       ng-class=\"{'asc': 'fa-chevron-up', 'desc': 'fa-chevron-down'}[data.d]\"\n                       aria-label=\"${Sorted by } {{ data.column_labels[field] }} {{ data.d == 'asc' ?  '${Ascending}': '${Descending}' }}\"&gt;&lt;/i&gt;\n                &lt;/th&gt;\n            &lt;/tr&gt;\n            &lt;/thead&gt;\n            &lt;tbody&gt;\n            &lt;tr ng-repeat=\"item in data.list track by item.sys_id\"&gt;\n                &lt;td class=\"sr-only\" tabindex=\"0\" role=\"link\" ng-click=\"go(data.table, item)\"\n                    aria-label=\"${Open record}\"&gt;&lt;/td&gt;\n                &lt;td role=\"text\" aria-label=\"{{ item[field].display_value }}\" class=\"pointer sp-list-cell\"\n                    ng-class=\"{selected: item.selected}\"\n                    ng-repeat=\"field in ::data.fields_array\" data-field=\"{{ ::field }}\"\n                    data-th=\"{{ ::data.column_labels[field] }}\"&gt;\n\n\n                    &lt;div ng-if=\"!c.options.inline_editing\" ng-click=\"go(data.table, item)\"&gt;\n                        {{ ::item[field].display_value }}\n                    &lt;/div&gt;\n\n                    &lt;div ng-if=\"c.options.inline_editing\"&gt;\n                        &lt;div ng-if=\"item[field].inline\" class=\"inline-field\"&gt;\n                            &lt;sp-editable-field-2 block=\"true\" table=\"{{ data.table }}\" editable-by-user=\"true\"\n                                                 table-id=\"item.sys_id\"\n                                                 field-model=\"item[field].inline\"&gt;&lt;/sp-editable-field-2&gt;\n                        &lt;/div&gt;\n\n                        &lt;span ng-if=\"!item[field].inline\" ng-click=\"c.makeEditable(item,field)\"&gt;\n                        {{ ::item[field].display_value }}\n                    &lt;/span&gt;\n                    &lt;/div&gt;\n\n                &lt;/td&gt;\n            &lt;/tr&gt;\n            &lt;/tbody&gt;\n        &lt;/table&gt;\n        &lt;div ng-class=\"{'pruned-msg-filter-pad': (!options.show_breadcrumbs || !data.filter) &amp;&amp; !data.list.length}\"\n             class=\"pruned-msg\" ng-if=\"rowsWerePruned()\"&gt;\n        &lt;span ng-if=\"rowsPruned == 1\"&gt;${{ {rowsPruned}} row removed by security constraints}&lt;/span&gt;\n            &lt;span ng-if=\"rowsPruned &gt; 1\"&gt;${{ {rowsPruned }} rows removed by security constraints}&lt;/span&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- footer --&gt;\n    &lt;div class=\"panel-footer\" ng-hide=\"options.hide_footer\" ng-if=\"data.row_count\"&gt;\n        &lt;div class=\"btn-toolbar m-r pull-left\"&gt;\n            &lt;div class=\"btn-group\"&gt;\n                &lt;a ng-disabled=\"data.p == 1\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p - 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Previous page}\"&gt;&lt;i class=\"fa fa-chevron-left\"&gt;&lt;/i&gt;&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;div ng-if=\"data.num_pages &gt; 1 &amp;&amp; data.num_pages &lt; 20\" class=\"btn-group\"&gt;\n                &lt;a ng-repeat=\"i in getNumber(data.num_pages) track by $index\" ng-click=\"setPageNum($index + 1)\"\n                   href=\"javascript:void(0)\" ng-class=\"{active: ($index + 1) == data.p}\" type=\"button\"\n                   class=\"btn btn-default\" aria-label=\"${Page} {{$index + 1}}\"&gt;{{$index + 1}}&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;div class=\"btn-group\"&gt;\n                &lt;a ng-disabled=\"data.p == data.num_pages\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p + 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Next page}\"&gt;&lt;i class=\"fa fa-chevron-right\"&gt;&lt;/i&gt;&lt;/a&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"m-t-xs panel-title\"&gt;${Rows {{data.window_start + 1}} - {{ mathMin(data.window_end,data.row_count) }}\n            of {{ data.row_count }}}\n        &lt;/div&gt;\n\n        &lt;span class=\"clearfix\"&gt;&lt;/span&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-607442908</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>bbded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1662259e02d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>Inline Editing Data Table</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a38ed3ca8e3023004ccd7692649b4729</update_guid>\n<update_guid_history>a38ed3ca8e3023004ccd7692649b4729:-607442908,d74e57ca283023001c1360493abfcc91:741162471,083e13ca33302300ae443824a232d44d:358687954,072e17ca2a30230028a02d2227c8a298:-994551467,600e13caef302300a56ef0e34d60385a:1262462197,aaedd3ca5a302300fb29fc9b527ca323:472867142,b1bd5f8aa3302300358a8ac94d5f66f9:-2026598042,406d13ca293023002e0e61e00e6c9153:1470021565,8e5d1f8a2e3023008b38c837c558e4fe:2046523062,332ddf8ab3302300e78c568c404d1e18:520003131,af2ddf8a31302300842a482b5ad13e13:-758126918,1c2ddf8a333023006b775a166cd8100f:89474473,4d0d1f8a7a302300998946849b1317f4:-1739677125,91925fc666302300146eb1f695778100:-80977270</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_c25c838673302300b10080844ff6a7f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Form with Related List\">825c838673302300b10080844ff6a7eb</child><cloned>2018-09-28 21:23:53</cloned><last_validated>2018-09-28 21:23:53</last_validated><parent display_value=\"Form\">fd1f4ec347730200ba13a5554ee490c0</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;sp_platform&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n\t$scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });\t\t\n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n\t\tif ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n\t\t$rootScope.$broadcast('sp.form.ui_action.triggered');\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id)) {\n          $scope.submitting = false;\n\t\t\t\t\t$rootScope.$broadcast('sp.form.submit.failed', action);\n\t\t\t\t}\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n\t  $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n\t\n\tfunction _save() {\n\t\tvar primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n\t}\n\t\n\tfunction onListClick(evt, arg) {\n\t\tloadForm(arg.table, arg.sys_id);\n\t}\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n\t\n\tvar g_form;\n\tfunction initForm(gFormInstance) {\n\t\tif (gFormInstance.getTableName() == $scope.data.f.table){\n\t\t\tg_form = gFormInstance;\n\t\t\tspNavStateManager.register($scope.data.table, _save, g_form);\n\t\t\t$scope.isPageReady = true;\n\t\t\t$timeout(function() {\n\t\t\t\t$rootScope.$emit('spModel.gForm.rendered', g_form);\n\t\t\t}, 175);\n\t\t}\n\t}\n\t\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\t\n\t$scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\t\n\t// update the comments or worknotes based on activity stream\n\t$scope.$on(\"activity_stream_is_changed\", function(event, data) {\n\t\tif (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n\t\t\tg_form.setValue(data.fieldName, data.input);\n\t\t\tif (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n\t\t\t\tg_form.setValue(data.fieldToClear, \"\");\n\t\t}\n\t})\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n\t\t$scope.$evalAsync(function() {\n\t\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t});\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n\t  $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as/&gt;&lt;css&gt;.btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-form&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Form&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function($sp, input, data, options, gs) {\n  /* \"use strict\"; -linter issues */\n  // populate the 'data' variable\n\tdata.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n\tdata.recordAddedMsg = gs.getMessage(\"Record Added\");\n\tdata.updatedMsg = gs.getMessage(\"updated_uppercase\");\n\tdata.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n\tdata.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n\tdata.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tdata.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n\tdata.emptyStateTemplate = options.empty_state_template;\n\tdata.disableUIActions = options.disableUIActions === \"true\";\n\tdata.hideRelatedLists = options.hideRelatedLists || false;\n\n\tif (input) {\n\t\tdata.table = input.table;\n\t\tdata.sys_id = input.sys_id;\n\t\tdata.view = input.view;\n\t\tvar result = {};\n\t\tif (input._fields) {\n\t\t\tresult = $sp.saveRecord(input.table, input.sys_id, input._fields);\n\t\t\tdata.sys_id = result.sys_id;\n\t\t}\n\n\t\tif (input.sys_id == '-1')\n\t\t\tdata.isNewRecord = true;\n\t} else {\n\t\tdata.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n\t\tdata.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n\t\tdata.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n\t}\n\n\tdata.query = $sp.getParameter(\"query\") || options.query || \"\";\n\tdata.f = {};\n\tif (!data.table)\n\t\treturn;\n\t\n\t// Form widget is not a supported way to view an attachment\n\tif (data.table == \"sys_attachment\") {\n\t\tdata.tableUnsupported = true;\n\t\treturn;\n\t}\n\n\tif (!GlideTableDescriptor.isValid(data.table))\n\t\treturn;\n\n\tif (!data.sys_id)\n\t\treturn;\n\n\tvar rec = $sp.getRecord(data.table, data.sys_id);\n\tdata.isValid = rec.isValid() || data.sys_id == \"-1\";\n\tif (!data.isValid)\n\t\treturn;\n\n\tdata.table = rec.getRecordClassName();\n\tdata.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n\tdata.canWrite = rec.canWrite();\n\tvar hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n\tdata.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n\tdata.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n\t// Activity formatter is hardcoded to set specific options\n\tfor (var f in data.f._formatters) {\n\t\tvar fm = data.f._formatters[f];\n\t\tif (fm.formatter == \"activity.xml\") {\n\t\t\tfm.hardcoded = true;\n\t\t\tfm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{table: data.table,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t sys_id: data.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t includeExtended: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t title: \"${Activity}\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t use_dynamic_placeholder: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t btnLabel: \"${Post}\"});\n\t\t} else if(fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n\t\t\tvar qsConfig = $sp.getValue('quick_start_config');\n\t\t\tif (qsConfig)\n\t\t\t\tqsConfig = JSON.parse(qsConfig)[0];\n\t\t\tfm.widgetInstance = $sp.getWidget(fm.widget, {table: data.table,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsys_id: data.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'});\n\t\t} else\n\t\t\tfm.widgetInstance = $sp.getWidget(fm.widget, data);\n\t}\n})($sp, input, data, options, gs);]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-11-22 21:32:20&lt;/sys_created_on&gt;&lt;sys_id&gt;fd1f4ec347730200ba13a5554ee490c0&lt;/sys_id&gt;&lt;sys_mod_count&gt;970&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;33c50723d9e02300aadbb5e9839d2b7c&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_fd1f4ec347730200ba13a5554ee490c0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-06-06 20:12:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n      \t&lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n      \t&lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;span ng-repeat=\"rl in data.f._related_lists\" ng-if=\"rl.visible\"&gt;\n            &lt;a ng-if=\"rl.type != 'REL'\" ng-href=\"?id=lf&amp;table={{::rl.table}}&amp;filter={{rl.field}}%3D{{data.f.sys_id}}&amp;view={{data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', filter: '{{rl.field}}%3D{{data.f.sys_id}}'})\"&gt;{{rl.plural}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{::rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;a ng-if=\"::rl.type == 'REL'\" href=\"?id=lf&amp;table={{::rl.table}}&amp;relationship_id={{rl.relationship_id}}&amp;apply_to={{rl.apply_to}}&amp;apply_to_sys_id={{rl.apply_to_sys_id}}&amp;view={{::data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', apply_to: '{{rl.apply_to}}', apply_to_sys_id: '{{rl.apply_to_sys_id}}', relationship_id: '{{rl.relationship_id}}'})\"&gt;{{rl.label}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;span ng-if=\"!$last\" style=\"padding-left: .5em; padding-right: .5em;\" aria-hidden=\"true\"&gt; | &lt;/span&gt;\n          &lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:23:53</sys_created_on><sys_id>c25c838673302300b10080844ff6a7f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>825c838673302300b10080844ff6a7eb</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_c25c838673302300b10080844ff6a7f0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:23:53</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>2117590783</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>bfded7ca73302300b10080844ff6a7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166221109360000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>825c838673302300b10080844ff6a7eb</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>0a5c83867a302300cfc8750f8acf1af1</update_guid>\n<update_guid_history>0a5c83867a302300cfc8750f8acf1af1:2117590783</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_8a5c838673302300b10080844ff6a7ed</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"spAttachmentManager\">06e836f0d722120023c84f80de6103a1</sp_angular_provider><sp_widget display_value=\"Form with Related List\">825c838673302300b10080844ff6a7eb</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:23:53</sys_created_on><sys_id>8a5c838673302300b10080844ff6a7ed</sys_id><sys_mod_count>0</sys_mod_count><sys_name>spAttachmentManager.Form with Related List</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_8a5c838673302300b10080844ff6a7ed</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:23:53</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-1563089311</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:49</sys_created_on>\n<sys_id>f3ded7ca73302300b10080844ff6a7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166221108ed0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:49</sys_updated_on>\n<table/>\n<target_name>spAttachmentManager.Form with Related List</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>825c8386f33023008cb90936ab46c6ef</update_guid>\n<update_guid_history>825c8386f33023008cb90936ab46c6ef:-1563089311</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_825c838673302300b10080844ff6a7eb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  console.log(this.data);\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n\t$scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });\n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n\t\tif ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n\t\t$rootScope.$broadcast('sp.form.ui_action.triggered');\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id)) {\n          $scope.submitting = false;\n\t\t\t\t\t$rootScope.$broadcast('sp.form.submit.failed', action);\n\t\t\t\t}\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n\t  $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n\n\tfunction _save() {\n\t\tvar primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n\t}\n\n\tfunction onListClick(evt, arg) {\n\t\tloadForm(arg.table, arg.sys_id);\n\t}\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n\n\tvar g_form;\n\tfunction initForm(gFormInstance) {\n\t\tif (gFormInstance.getTableName() == $scope.data.f.table){\n\t\t\tg_form = gFormInstance;\n\t\t\tspNavStateManager.register($scope.data.table, _save, g_form);\n\t\t\t$scope.isPageReady = true;\n\t\t\t$timeout(function() {\n\t\t\t\t$rootScope.$emit('spModel.gForm.rendered', g_form);\n\t\t\t}, 175);\n\t\t}\n\t}\n\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t$scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t// update the comments or worknotes based on activity stream\n\t$scope.$on(\"activity_stream_is_changed\", function(event, data) {\n\t\tif (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n\t\t\tg_form.setValue(data.fieldName, data.input);\n\t\t\tif (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n\t\t\t\tg_form.setValue(data.fieldToClear, \"\");\n\t\t}\n\t})\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n\t\t$scope.$evalAsync(function() {\n\t\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t});\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n\t  $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;form-with-related-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Form with Related List&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"},{\"name\":\"inline_editing\",\"section\":\"other\",\"label\":\"Inline Editing\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function ($sp, input, data, options, gs) {\n    /* \"use strict\"; -linter issues */\n    // populate the 'data' variable\n    data.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n    data.recordAddedMsg = gs.getMessage(\"Record Added\");\n    data.updatedMsg = gs.getMessage(\"updated_uppercase\");\n    data.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n    data.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n    data.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n    data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n    if (isNaN(data.maxAttachmentSize))\n        data.maxAttachmentSize = 24;\n    data.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n    data.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\n    data.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n    data.emptyStateTemplate = options.empty_state_template;\n    data.disableUIActions = options.disableUIActions === \"true\";\n    data.hideRelatedLists = options.hideRelatedLists || false;\n\n    if (input) {\n        data.table = input.table;\n        data.sys_id = input.sys_id;\n        data.view = input.view;\n        var result = {};\n        if (input._fields) {\n            result = $sp.saveRecord(input.table, input.sys_id, input._fields);\n            data.sys_id = result.sys_id;\n        }\n\n        if (input.sys_id == '-1')\n            data.isNewRecord = true;\n    } else {\n        data.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n        data.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n        data.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n    }\n\n    data.query = $sp.getParameter(\"query\") || options.query || \"\";\n    data.f = {};\n    if (!data.table)\n        return;\n\n    // Form widget is not a supported way to view an attachment\n    if (data.table == \"sys_attachment\") {\n        data.tableUnsupported = true;\n        return;\n    }\n\n    if (!GlideTableDescriptor.isValid(data.table))\n        return;\n\n    if (!data.sys_id)\n        return;\n\n    var rec = $sp.getRecord(data.table, data.sys_id);\n    data.isValid = rec.isValid() || data.sys_id == \"-1\";\n    if (!data.isValid)\n        return;\n\n    data.table = rec.getRecordClassName();\n    data.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n    data.canWrite = rec.canWrite();\n    var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n    data.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n    data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n    // Activity formatter is hardcoded to set specific options\n    for (var f in data.f._formatters) {\n        var fm = data.f._formatters[f];\n        if (fm.formatter == \"activity.xml\") {\n            fm.hardcoded = true;\n            fm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n                {\n                    table: data.table,\n                    sys_id: data.sys_id,\n                    includeExtended: true,\n                    title: \"${Activity}\",\n                    use_dynamic_placeholder: true,\n                    btnLabel: \"${Post}\"\n                });\n        } else if (fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n            var qsConfig = $sp.getValue('quick_start_config');\n            if (qsConfig)\n                qsConfig = JSON.parse(qsConfig)[0];\n            fm.widgetInstance = $sp.getWidget(fm.widget, {\n                table: data.table,\n                sys_id: data.sys_id,\n                readonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'\n            });\n        } else\n            fm.widgetInstance = $sp.getWidget(fm.widget, data);\n    }\n\n    data.relatedListWidget = $sp.getWidget('related-list', {\n        table: data.table,\n        sys_id: data.sys_id,\n        inline_editing: options.inline_editing == \"true\"\n    });\n})($sp, input, data, options, gs);\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:23:53&lt;/sys_created_on&gt;&lt;sys_id&gt;825c838673302300b10080844ff6a7eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form with Related List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_825c838673302300b10080844ff6a7eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:32:03&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n      \t&lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n      \t&lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;sp-widget widget=\"c.data.relatedListWidget\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-805508080</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>f7ded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166224f6ee50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>Form with Related List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>2cfb5b8a85302300865c1d40e9a48482</update_guid>\n<update_guid_history>2cfb5b8a85302300865c1d40e9a48482:-805508080,688b934ab13023007e6733dddd13fc2c:3249325,e6f4970ac5302300f7d595aceaa93fe6:1668097863,cef4d3c69f302300c5349eaff5f7ff6e:2012765743,5cf4d3c6063023009b3aca47b506326a:234061796,74e4970a6c302300521df3327571e2e2:2113036772,8f24d3c6ac302300e025bd81dbc62b49:-1859860010,e024170af630230030c1b32919fd3291:-1252732520,6304170a883023009cccd46f63480f8d:339253367,a6a3dbc67430230092e06e8aa92ab041:-1491919818,35a3dbc65e30230024bb9aaef55fcf3d:2015869719,ca5c8386a4302300e7d1774934408eec:-1679651923</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_d332dbc673302300b10080844ff6a774</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;96321bc673302300b10080844ff6a754&lt;/sp_column&gt;&lt;sp_widget display_value=\"Form with Related List\"&gt;825c838673302300b10080844ff6a7eb&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:49:38&lt;/sys_created_on&gt;&lt;sys_id&gt;d332dbc673302300b10080844ff6a774&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_d332dbc673302300b10080844ff6a774&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:42:57&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"disableUIActions\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"showFormView\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"omitHeaderOptions\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"inline_editing\": {\n\t\t\"value\": \"false\",\n\t\t\"displayValue\": \"false\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=d332dbc673302300b10080844ff6a774\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-989373787</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>fbded7ca73302300b10080844ff6a7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16622596ccf0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>d87e97caa7302300eab2047973bb8e2b</update_guid>\n<update_guid_history>d87e97caa7302300eab2047973bb8e2b:-989373787,c7fb5b8af83023002f947a4cb1ac6c32:1984168371,9f32dbc6dc30230092611e732bc39275:-1804000387</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-form-with-related-list/widget/pe-form-with-related-list.u-body-html-template.html",
    "content": "<div ng-if=\"::!data.isValid && !data.emptyStateTemplate\" class=\"panel panel-default\">\n    <div class=\"panel-body wrapper-lg text-center\">\n      <span ng-if=\"!data.tableUnsupported\">${Record not found}</span>\n      <span ng-if=\"data.tableUnsupported\">${Form view not supported for requested table}</span>\n    </div>\n  </div>\n  \n  <div ng-if=\"!data.isValid && data.emptyStateTemplate\" class=\"panel-shift\">\n    <div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"></div>\n  </div>\n  \n  <div ng-if=\"data.isValid\" class=\"panel-shift\">\n    <div class=\"\" ng-if=\"!data.f._view.length && data.hideRelatedLists && data.emptyStateTemplate\">\n      <div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"></div>\n    </div>\n  \n    <div class=\"\" ng-if=\"!data.f._view.length && data.hideRelatedLists && !data.emptyStateTemplate\">\n      <div class=\"panel panel-default\">\n        <div class=\"panel-heading\"><span class=\"panel-title\">{{data.f.title}}</span> <span ng-if=\"::options.showFormView == 'true' && data.f.view != ''\">[{{data.f.view_title}} view]</span></div>\n        <div class=\"panel-body wrapper-lg text-center\">\n          ${No elements to display}\n        </div>\n      </div>\n    </div>\n  \n    <div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" >\n      <div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\">\n            <span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length > 0) && options.omitHeaderOptions != 'true'\">\n              <button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"></button>\n              <ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\">\n                <li ng-if=\"::data.isAdmin\"><a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&sysparm_view={{data.f.view}}\" target=\"_blank\">${Open in platform}</a></li>\n                <li ng-if=\"::data.isAdmin\" class=\"dropdown-header\">${Configure}</li>\n                <li ng-if=\"::data.isAdmin\"><a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&sysparm_list={{data.f._sections[0].id}}&sysparm_form=section&sysparm_view={{data.f.view}}\" target=\"_blank\">${Form Layout}</a></li>\n                <li ng-if=\"::data.isAdmin\"><a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&sysparm_list={{data.f.table}}&sysparm_form=related_list&sysparm_view={{data.f.view}}\" target=\"_blank\">${Related Lists}</a></li>\n                <li ng-if=\"::data.isAdmin\"><a href=\"?id=lf&table=sys_ui_policy&filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\">${UI Policies} <span class=\"badge pull-right\" ng-if=\"f.policy.length\">{{f.policy.length}}</span></a></li>\n                <li ng-if=\"::data.isAdmin\"><a href=\"?id=lf&table=sys_script_client&filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\">${Client Scripts} <span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\">{{adminMenu.getClientScriptCount()}}</span></a></li>\n                <li ng-if=\"getUIActions('context').length > 0 &&  data.isAdmin\" role=\"separator\" class=\"divider\"></li>\n                <li ng-repeat=\"action in getUIActions('context')\"><a href=\"\" ng-click=\"triggerUIAction(action)\">{{action.name}}</a></li>\n                <li ng-if=\"::data.isAdmin || getUIActions('context').length > 0\" role=\"separator\" class=\"divider\"></li>\n                <li><a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&sys_id={{data.sys_id}}&sysparm_view={{data.f.view}}\">${Export to PDF}</a></li>\n                <li><a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&landscape=true&sys_id={{data.sys_id}}&sysparm_view={{data.f.view}}\">${Export to PDF (landscape)}</a></li>\n              </ul>\n          </span>\n        <span class=\"panel-title\" aria-label=\"{{data.f.title}}\">{{data.f.title}}</span> <span ng-if=\"::options.showFormView == 'true' && data.f.view != ''\">[{{data.f.view_title}} view]</span>\n        <div ng-if=\"::attachmentHandler && data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\">\n            <sp-attachment-button></sp-attachment-button>\n        </div>\n      </div>\n      <div class=\"panel-body\">\n        <!-- performance debug -->\n        <div ng-if=\"data.show_sql\">\n          <div class=\"comment\">\n            <span ng-if=\"data.f._perf.sql_count\">${SQL Statements {{data.f._perf.sql_count}}}, </span>\n            <span>${Time {{data.f._perf.time}}}</span>\n          </div>\n          <div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\">\n            {{s.statement}}\n          </div>\n        </div>\n        <!-- attachments -->\n        <sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"></sp-attachment-manager>\n        <!-- form -->\n        <div>\n          <sp-model form_model=\"data.f\" mandatory=\"mandatory\"></sp-model>\n        </div>\n        <!-- UI Action Links -->\n        <div ng-if=\"getUIActions('link').length > 0\">\n          <label style=\"margin: 0;\">${Related Links}</label>\n          <div ng-repeat=\"action in getUIActions('link')\">\n            <a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\">{{::action.name}}</a>\n          </div>\n        </div>\n        <!-- related lists -->\n        <div ng-if=\"!data.hideRelatedLists\">\n          <label style=\"margin: 0\">${Related Lists}</label>\n          <div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\">\n            <sp-widget widget=\"c.data.relatedListWidget\"></sp-widget>\n          </div>\n        </div>\n      </div>\n  \n      <div class=\"panel-footer\">\n        <button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\">{{action.name}}</button>\n        <span>{{status}}</span>\n        <button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\">${Save} <span ng-if=\"saveButtonSuffix\">(${{{saveButtonSuffix}}})</span></button>\n        <div style=\"clear: both;\"></div>\n        <div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\">\n          <span ng-if=\"mandatory.length > 0\">${Required information} </span>\n          <span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"></span>\n        </div>\n      </div>\n    </div>\n  </div>\n  "
  },
  {
    "path": "pe-form-with-related-list/widget/pe-form-with-related-list.u-client-script.js",
    "content": "function FormRelatedListController($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  console.log(this.data);\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n\t$scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary && action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });\n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length > 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&landscape=\" + landscape + \"&sys_id=\" + $scope.data.sys_id + \"&sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n\t\tif ($scope.data.disableUIActions && !action.primary) {\n      return;\n    }\n\n\t\t$rootScope.$broadcast('sp.form.ui_action.triggered');\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id)) {\n          $scope.submitting = false;\n\t\t\t\t\t$rootScope.$broadcast('sp.form.submit.failed', action);\n\t\t\t\t}\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n\t  $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n\n\tfunction _save() {\n\t\tvar primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n\t}\n\n\tfunction onListClick(evt, arg) {\n\t\tloadForm(arg.table, arg.sys_id);\n\t}\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n\n\tvar g_form;\n\tfunction initForm(gFormInstance) {\n\t\tif (gFormInstance.getTableName() == $scope.data.f.table){\n\t\t\tg_form = gFormInstance;\n\t\t\tspNavStateManager.register($scope.data.table, _save, g_form);\n\t\t\t$scope.isPageReady = true;\n\t\t\t$timeout(function() {\n\t\t\t\t$rootScope.$emit('spModel.gForm.rendered', g_form);\n\t\t\t}, 175);\n\t\t}\n\t}\n\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t$scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t// update the comments or worknotes based on activity stream\n\t$scope.$on(\"activity_stream_is_changed\", function(event, data) {\n\t\tif (g_form && g_form.hasField(data.fieldName)) {\n\t\t\tg_form.setValue(data.fieldName, data.input);\n\t\t\tif (data.fieldToClear != \"\" && g_form.hasField(data.fieldToClear))\n\t\t\t\tg_form.setValue(data.fieldToClear, \"\");\n\t\t}\n\t})\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length > 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n\t\t$scope.$evalAsync(function() {\n\t\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t});\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n\t  $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}\n"
  },
  {
    "path": "pe-form-with-related-list/widget/pe-form-with-related-list.u-css.scss",
    "content": ".btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-form-with-related-list/widget/pe-form-with-related-list.u-option-schema.json",
    "content": "[\n    {\n        \"name\": \"disableUIActions\",\n        \"section\": \"Behavior\",\n        \"label\": \"Disable UI Actions on Form\",\n        \"type\": \"boolean\"\n    },\n    {\n        \"name\": \"showFormView\",\n        \"section\": \"Behavior\",\n        \"label\": \"Display current form view\",\n        \"type\": \"boolean\"\n    },\n    {\n        \"name\": \"omitHeaderOptions\",\n        \"section\": \"Behavior\",\n        \"label\": \"Omit header options icon\",\n        \"type\": \"boolean\"\n    },\n    {\n        \"name\": \"inline_editing\",\n        \"section\": \"other\",\n        \"label\": \"Inline Editing\",\n        \"type\": \"boolean\"\n    }\n]"
  },
  {
    "path": "pe-form-with-related-list/widget/pe-form-with-related-list.u-server-script.js",
    "content": "// form functionality - URL parameter driven\n(function ($sp, input, data, options, gs) {\n  /* \"use strict\"; -linter issues */\n  // populate the 'data' variable\n  data.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n  data.recordAddedMsg = gs.getMessage(\"Record Added\");\n  data.updatedMsg = gs.getMessage(\"updated_uppercase\");\n  data.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n  data.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n  data.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n  data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n  if (isNaN(data.maxAttachmentSize))\n      data.maxAttachmentSize = 24;\n  data.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n  data.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\n  data.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n  data.emptyStateTemplate = options.empty_state_template;\n  data.disableUIActions = options.disableUIActions === \"true\";\n  data.hideRelatedLists = options.hideRelatedLists || false;\n\n  if (input) {\n      data.table = input.table;\n      data.sys_id = input.sys_id;\n      data.view = input.view;\n      var result = {};\n      if (input._fields) {\n          result = $sp.saveRecord(input.table, input.sys_id, input._fields);\n          data.sys_id = result.sys_id;\n      }\n\n      if (input.sys_id == '-1')\n          data.isNewRecord = true;\n  } else {\n      data.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n      data.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n      data.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n  }\n\n  data.query = $sp.getParameter(\"query\") || options.query || \"\";\n  data.f = {};\n  if (!data.table)\n      return;\n\n  // Form widget is not a supported way to view an attachment\n  if (data.table == \"sys_attachment\") {\n      data.tableUnsupported = true;\n      return;\n  }\n\n  if (!GlideTableDescriptor.isValid(data.table))\n      return;\n\n  if (!data.sys_id)\n      return;\n\n  var rec = $sp.getRecord(data.table, data.sys_id);\n  data.isValid = rec.isValid() || data.sys_id == \"-1\";\n  if (!data.isValid)\n      return;\n\n  data.table = rec.getRecordClassName();\n  data.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n  data.canWrite = rec.canWrite();\n  var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n  data.canAttach = hasRecordAccess && gs.hasRole(gs.getProperty('glide.attachment.role')) && !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n  data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n  // Activity formatter is hardcoded to set specific options\n  for (var f in data.f._formatters) {\n      var fm = data.f._formatters[f];\n      if (fm.formatter == \"activity.xml\") {\n          fm.hardcoded = true;\n          fm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n              {\n                  table: data.table,\n                  sys_id: data.sys_id,\n                  includeExtended: true,\n                  title: \"${Activity}\",\n                  use_dynamic_placeholder: true,\n                  btnLabel: \"${Post}\"\n              });\n      } else if (fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n          var qsConfig = $sp.getValue('quick_start_config');\n          if (qsConfig)\n              qsConfig = JSON.parse(qsConfig)[0];\n          fm.widgetInstance = $sp.getWidget(fm.widget, {\n              table: data.table,\n              sys_id: data.sys_id,\n              readonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'\n          });\n      } else\n          fm.widgetInstance = $sp.getWidget(fm.widget, data);\n  }\n\n  data.relatedListWidget = $sp.getWidget('related-list', {\n      table: data.table,\n      sys_id: data.sys_id,\n      inline_editing: options.inline_editing == \"true\"\n  });\n})($sp, input, data, options, gs);\n"
  },
  {
    "path": "pe-google-analytics/README.md",
    "content": "# Google Analytics\n\n## Description\n\nA simple widget for getting started tracking with Google Analytics.\n\n## Screenshot\n\n![Google Analytics](../images/pe-google-analytics.png)\n\n## Additional Information/Notes\n\nCan be used as a boilerplate for getting your Google Analytics implementation started; simply add your page & event tracking or customize as needed. Use right out-of-box for basic reporting needs.\n\n## Installation\n\nDownload and install update set **[pe-google-analytics.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-google-analytics/pe-google-analytics.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Tracking ID` | Sets the Google Analytics tracking ID. | |\n| `Debug` | Sets debug mode. | false |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies\n\n* PE Google Analytics Module\n* PE Google Analytics Service\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-google-analytics/pe-google-analytics.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-08-22 16:06:55\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Google Analytics</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>0a23888edbcc63408798ffa31d96192b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>02f06b0adb486f00abd4f9361d961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_4090e30adb486f00abd4f9361d9619e3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Google Analytics Service</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-08-22 16:05:21</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>4090e30adb486f00abd4f9361d9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Google Analytics Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Google Analytics Service\">7a00afc6db486f00abd4f9361d9619ef</sys_ui_script><sys_update_name>sp_js_include_4090e30adb486f00abd4f9361d9619e3</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-08-22 16:05:21</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1852103473</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>02f06b0adb486f00abd4f9361d961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16562621b800000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Service</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>d790270a70486f0045b23f07e82eb7d0</update_guid>\n<update_guid_history>d790270a70486f0045b23f07e82eb7d0:-1852103473</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_3a80e30adb486f00abd4f9361d9619df</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Google Analytics Dependency\">ae40a30adb486f00abd4f9361d96191d</sp_dependency><sp_js_include display_value=\"PE Google Analytics Module\">5470e30adb486f00abd4f9361d9619ef</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-08-22 16:05:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>3a80e30adb486f00abd4f9361d9619df</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Google Analytics Dependency.PE Google Analytics Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3a80e30adb486f00abd4f9361d9619df</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-08-22 16:05:03</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-108693589</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>06f06b0adb486f00abd4f9361d961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1656261d40c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Dependency.PE Google Analytics Module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>7e80e30a41486f00a95247ed8747a4e0</update_guid>\n<update_guid_history>7e80e30a41486f00a95247ed8747a4e0:-108693589</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_adef5fc6db486f00abd4f9361d9619d1</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Google Analytics Module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('googleAnalytics', []);\n})();\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-22 16:02:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;adef5fc6db486f00abd4f9361d9619d1&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Google Analytics Module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_adef5fc6db486f00abd4f9361d9619d1&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-22 16:02:48&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-98695019</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>0ef06b0adb486f00abd4f9361d961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165625fc50f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>3d006fc66f486f0092346889d9dfb9d6</update_guid>\n<update_guid_history>3d006fc66f486f0092346889d9dfb9d6:-98695019</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_7a00afc6db486f00abd4f9361d9619ef</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Google Analytics Service&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  function gaService() {\n    var service = {\n      getTrackingSnippet: getTrackingSnippet,\n      setDebugMode: setDebugMode\n    };\n    return service;\n\n    function getTrackingSnippet(isDebug) {\n      (function(i, s, o, g, r, a, m) {\n        i['GoogleAnalyticsObject'] = r;\n        i[r] = i[r] || function () {\n          (i[r].q = i[r].q || []).push(arguments);\n        }, i[r].l = 1 * new Date();\n        a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n        a.async = 1;\n        a.src = g;\n        m.parentNode.insertBefore(a, m);\n      })(window, document, 'script', setDebugMode(isDebug), 'ga');\n    }\n\n    function setDebugMode(isDebug) {\n      var debugUrl = 'https://www.google-analytics.com/analytics_debug.js';\n      var url = 'https://www.google-analytics.com/analytics.js';\n      return isDebug === 'true' ? debugUrl : url;\n    }\n  }\n\n\n  angular\n    .module('googleAnalytics')\n    .service('gaService', gaService);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-22 16:03:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;7a00afc6db486f00abd4f9361d9619ef&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Google Analytics Service&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_7a00afc6db486f00abd4f9361d9619ef&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-22 16:03:25&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1702390042</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>4af06b0adb486f00abd4f9361d961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165626056ff0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Service</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>3620afc6f4486f0041d10b25e81588c7</update_guid>\n<update_guid_history>3620afc6f4486f0041d10b25e81588c7:1702390042</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_ae40a30adb486f00abd4f9361d96191d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>googleAnalytics</module><name>PE Google Analytics Dependency</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-08-22 16:04:27</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ae40a30adb486f00abd4f9361d96191d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Google Analytics Dependency</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_ae40a30adb486f00abd4f9361d96191d</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-08-22 16:04:27</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-954632692</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>4ef06b0adb486f00abd4f9361d961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16562614a1d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Dependency</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>ce60a30aae486f00aa55e6056ebedc23</update_guid>\n<update_guid_history>ce60a30aae486f00aa55e6056ebedc23:-954632692</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_02dd8fbddb4c63408798ffa31d9619a6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function GoogleAnalyticsController(gaService) {\n  var c = this;\n\n  c.$onInit = function() {\n    activateTracking();\n    capturePageView();\n  };\n\n  function activateTracking() {\n    gaService.getTrackingSnippet(c.options.debug);\n    ga('create', c.options.trackingId, 'auto');\n  }\n\n  function capturePageView() {\n    ga('send', 'pageview');\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-google-analytics&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Google Analytics&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"name\": \"trackingId\",&amp;#13;\n    \"label\": \"Tracking ID\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"debug\",&amp;#13;\n    \"default_value\": \"false\",&amp;#13;\n    \"label\": \"Debug\",&amp;#13;\n    \"type\": \"boolean\"&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-21 20:05:59&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;02dd8fbddb4c63408798ffa31d9619a6&lt;/sys_id&gt;&lt;sys_mod_count&gt;95&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Google Analytics&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_02dd8fbddb4c63408798ffa31d9619a6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-22 15:54:23&lt;/sys_updated_on&gt;&lt;template/&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1129559129</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>86f06b0adb486f00abd4f9361d961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1656258124a0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>6e1e1f86a3486f00b234d52daa02bb19</update_guid>\n<update_guid_history>6e1e1f86a3486f00b234d52daa02bb19:-1129559129,0112900ae7c06f009697a350f01c7abb:-382969367,c1a11cc6e0c06f0099019b9289e6d9f7:1901284807,09611cc619c06f0046b65c58929f99ed:1715673037,af60940af700a34095db3fa74b690570:1901284807,f3acc4465200a3401da7c37727170026:1400888771,10870042e100a340733c98e36b8df675:-394583439,e2c688029500a34048ac862b88d39cf3:1445566671,3a518c0eabcc63400f6cb9fc7cef832b:-540161850,ab7d3bf926cc63407740504c63f417cd:317993520,6f3d37f903cc6340c8cd15a8acb855f1:-1950218117,d9dcf3f967cc63405a6e197519a2aae6:314047730,98bc33f9fccc634065d9d0705fc880f6:897888246,953a3f792ecc63400f8c64e365809b53:1199442367,fcb9333919cc63408959ec062986bb7e:-43773452,8e87bf754bcc634033a05a9ea9993d4d:438440308,5a77fff5b9cc6340841a565f47db8d10:1360542523,b8d037f1cccc63409f6f3d9f662d31dc:-315990170,94c077f1abcc6340c738fe89cf4c322a:1463061836,aeb073f19ecc6340ada8179012ce7afc:564659649,54b0f3f1cccc6340422bcf6ab8ec84de:-166321191,80a0f3f1dfcc6340de3b237a865672b3:876826980,1090b3f14ccc634098589509f56233ef:1439179620,7e6033f1e1cc63405231d3b3e534b993:1860155774,c15033b178cc63400ad511a3d6a140d7:-530477698,1a4033f101cc63403bd3abfd6e41b98c:-1792506593,885eeb7111cc6340227680d070e4edbc:663485702,a03e23b1b1cc6340ace87124eb844bcd:298213296,b9fdeb716fcc634009baac4732db8e93:-2057473769,b9cd6771edcc63407ee51be0dda57737:1915615150,455da771b0cc6340dfdff4483a04c2f1:29151406,6f1da33189cc6340e8fb6dd6dd771821:646194581,591d6771f5cc634073938501aa056f19:1534242762,581d2771b0cc63401b669b2c9808cb96:-76361599,dc0d2771becc634079568ebdfcd95a8f:153209793,a1ece371f1cc63402727c23bc9623412:905772061,3acca331a7cc6340fdc6b84c16f4051a:1307919464,bfbc233133cc63405a015f39628f8785:-850102442,d0aceffd9c8c634038804e194f54afb6:-150321453,b99c23315dcc6340b17975288f66c801:-1828259667,4f8ceffd5a8c6340095c2de2f4746d91:-150321453,076c2ffdf28c6340f9509d3b063ce9c7:1584422757,674c2ffdd58c63404f8e1d178a0ba7c2:151172095,733cebfdf68c63400449045e440d1baa:-976886891,943cebfdee8c6340a0071dd80eb4c705:-652912264,0f1cabfda28c63403e3fdb421130cd25:-917294981,c20c2bfdd08c6340cc3287439ecc7d77:-1364433879,b0bb67fd118c634059b03fc76e112e29:1821170584,4f7ba3fdf08c6340beea9c41812d8987:-212066682,f41befbd2c8c6340e1f7e1aa29bb9d86:-212782274,d2ea23fd578c6340a89cc4433f123c84:-828770506,a89a2fbdec8c634013b7c88f70ef8359:-1302667497,208a6bbde68c63402051db181151fffe:834277893,143a6bbd5b8c63401df245e0227776f5:1772397232,d0f9e7bd068c634041b08bf0525ab805:1803912407,dfc967bd8a8c6340e346f86469285412:-518742580,9cb9e3bdbc8c63401acf9a08d7353054:1608018736,397963bdf78c63402da29d657ca5e89f:-518742580,5159e77dca8c6340fcad395fde129a3c:2133561349,6b39e77d928c63401f303eb5287d4487:1608018736,61d7237d708c6340f2af12846e0a97d9:-243941776,9b17af3d588c63407158352eb987a10a:-1511587131,76f66f3d768c6340dc190dc0ec0d1682:-902903683,9296eb3def8c6340bcf58e80da04de4a:-1338540338,da862f3dc08c63402f50d4f653d9d7a0:2100630758,f876eb3d028c6340e340ee1bba78f5ab:-1841047003,e556eb3daa8c6340b4f8b7da6419fe41:-902903683,cf366b3d3e8c6340b58751aa53c448c3:-1841047003,2906a73d088c6340051b3ee2ed2753a8:1187678671,70f5273dce8c6340989e6c5b9bce71c4:-1799474398,7bb5a73df08c6340b89bbb0c3cf1986f:2125821991,4a95a33de08c63407ec7e654f65f6af7:249342326,3d85633d5a8c63402d897e012fc55080:-1127644424,e735aff98c8c6340b2f55fccd76a25c8:1234549666,d315aff9508c6340a9a3d5e0d7e6d21e:-501066268,fbb4aff9188c6340b16fa998d43d7032:-1624664284,75b42ff9188c6340f1d2b8922f35d95f:-402402624,cb642bf9848c634003bbb7cddbafede8:-1624664284,9124e3f9f98c6340720ab83c89bbe8c4:1336143805,3b04e3f9278c634024e30dfcae9567ad:-366485339,20042bf9eb8c63409826437abcfdbae1:-1438078218,f3d3e3f9588c6340eee3fcd8ffd9f5a6:-351102711,9ec327f9be8c6340b698e51634272a42:-892479695,e57327f9a98c6340c3ec1e490ef27b39:1088534183,516363f9958c6340751dae3c0b0a80ba:1670142840,9bf26fb9f48c6340101735702568271d:-1902250618,a64b17f5068c634072664a4d75051aa6:670241456,d02b57f5cf8c6340eac6b320ad73eced:1453283696,1e6adf75778c6340bda23dbf9ce4d15c:-1079051133,9cd2d3f1da8c634039fccb69a94ad777:-1792622822,ea90d771778c63408729d01f27e253a4:1832212693,2960d371ba8c6340c7dc08032959c01a:-78991353,e2df43717e8c6340a8e71b2b3794bece:1965636075,af8fcf31df8c6340f3370fe3a438f053:1624995976,a13f8b311d8c63409b49171cfe919228:-613728354,d21e8ffd4e4c6340a6988b11c3fd35c2:-546865279</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_ca60a30adb486f00abd4f9361d961924</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Google Analytics Dependency\">ae40a30adb486f00abd4f9361d96191d</sp_dependency><sp_widget display_value=\"PE Google Analytics\">02dd8fbddb4c63408798ffa31d9619a6</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-08-22 16:04:27</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>ca60a30adb486f00abd4f9361d961924</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Google Analytics Dependency.PE Google Analytics</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_ca60a30adb486f00abd4f9361d961924</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-08-22 16:04:27</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-616076617</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>8af06b0adb486f00abd4f9361d961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16562614a5b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Dependency.PE Google Analytics</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4660a30a71486f000b747f8668db9326</update_guid>\n<update_guid_history>4660a30a71486f000b747f8668db9326:-616076617</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_5470e30adb486f00abd4f9361d9619ef</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Google Analytics Module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-08-22 16:05:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>5470e30adb486f00abd4f9361d9619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Google Analytics Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Google Analytics Module\">adef5fc6db486f00abd4f9361d9619d1</sys_ui_script><sys_update_name>sp_js_include_5470e30adb486f00abd4f9361d9619ef</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-08-22 16:05:03</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1202503804</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>c2f06b0adb486f00abd4f9361d961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1656261d3d30000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>3e80e30a91486f006d5ff2d3db086dde</update_guid>\n<update_guid_history>3e80e30a91486f006d5ff2d3db086dde:1202503804</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_9390270adb486f00abd4f9361d9619d1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Google Analytics Dependency\">ae40a30adb486f00abd4f9361d96191d</sp_dependency><sp_js_include display_value=\"PE Google Analytics Service\">4090e30adb486f00abd4f9361d9619e3</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-08-22 16:05:21</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>9390270adb486f00abd4f9361d9619d1</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Google Analytics Dependency.PE Google Analytics Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_9390270adb486f00abd4f9361d9619d1</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-08-22 16:05:29</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-690890930</payload_hash>\n<remote_update_set display_value=\"PE Google Analytics\">02f06b0adb486f00abd4f9361d961944</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-22 16:06:55</sys_created_on>\n<sys_id>c6f06b0adb486f00abd4f9361d961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165626239b50000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-22 16:06:55</sys_updated_on>\n<table/>\n<target_name>PE Google Analytics Dependency.PE Google Analytics Service</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>01a0670a1e486f00ad9b9a37c8c77949</update_guid>\n<update_guid_history>01a0670a1e486f00ad9b9a37c8c77949:-690890930,d390270a7e486f0045c4c667df8d82d2:-563094353</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-google-analytics/ui-script/pe-google-analytics.component.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  function gaService() {\n    var service = {\n      getTrackingSnippet: getTrackingSnippet,\n      setDebugMode: setDebugMode\n    };\n    return service;\n\n    function getTrackingSnippet(isDebug) {\n      (function(i, s, o, g, r, a, m) {\n        i['GoogleAnalyticsObject'] = r;\n        i[r] = i[r] || function () {\n          (i[r].q = i[r].q || []).push(arguments);\n        }, i[r].l = 1 * new Date();\n        a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n        a.async = 1;\n        a.src = g;\n        m.parentNode.insertBefore(a, m);\n      })(window, document, 'script', setDebugMode(isDebug), 'ga');\n    }\n\n    function setDebugMode(isDebug) {\n      var debugUrl = 'https://www.google-analytics.com/analytics_debug.js';\n      var url = 'https://www.google-analytics.com/analytics.js';\n      return isDebug === 'true' ? debugUrl : url;\n    }\n  }\n\n\n  angular\n    .module('googleAnalytics')\n    .service('gaService', gaService);\n})();"
  },
  {
    "path": "pe-google-analytics/ui-script/pe-google-analytics.module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('googleAnalytics', []);\n})();\n"
  },
  {
    "path": "pe-google-analytics/widget/pe-google-analytics.u-body-html-template.html",
    "content": ""
  },
  {
    "path": "pe-google-analytics/widget/pe-google-analytics.u-client-script.js",
    "content": "function GoogleAnalyticsController(gaService) {\n  var c = this;\n\n  c.$onInit = function() {\n    activateTracking();\n    capturePageView();\n  };\n\n  function activateTracking() {\n    gaService.getTrackingSnippet(c.options.debug);\n    ga('create', c.options.trackingId, 'auto');\n  }\n\n  function capturePageView() {\n    ga('send', 'pageview');\n  }\n}\n"
  },
  {
    "path": "pe-google-analytics/widget/pe-google-analytics.u-css.scss",
    "content": ""
  },
  {
    "path": "pe-google-analytics/widget/pe-google-analytics.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"trackingId\",\n    \"label\": \"Tracking ID\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"debug\",\n    \"default_value\": \"false\",\n    \"label\": \"Debug\",\n    \"type\": \"boolean\"\n  }\n]\n"
  },
  {
    "path": "pe-google-analytics/widget/pe-google-analytics.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "pe-help-cards/README.md",
    "content": "# Help Cards\n\n## Description\n\nThis can be used to quickly craft a set of help cards.\n\n## Screenshot\n![](../images/pe-help-cards-1.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Service Catalog](https://docs.servicenow.com/bundle/jakarta-it-service-management/page/product/service-catalog-management/concept/c_ServiceCatalogManagement.html)\n\n---\n\n## Installation\n\nDownload and install update set **[pe-help-cards.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-help-cards/pe-help-cards.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Title of the card. | How can we help? |\n| `Category` | Defines a category. | PE How Can We Help |\n| `Items` | Defines the item or items to display from the category using a comma separated list. | sc_cat_item.name, sc_cat_item.icon |\n\n---\n\n## Platform Dependencies\n\n### SN System Tables\n* sc_cat_item\n* sc_cat_item_category\n* sc_category\n\n---\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n---\n\n## API Dependencies\n\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-help-cards/pe-help-cards.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-31 17:30:58\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE  Help Cards</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>1d451728db9ff200f0e8de01ce9619b4</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-07-31 17:30:58</sys_created_on>\n<sys_id>9cf4726ddbd00300a0785404ce961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-07-31 17:30:58</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_cf865a72db82720062e479daae9619c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function HelpCardsController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.scroll-wrapper {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  white-space: nowrap;\n  width: 100%;\n}\n\n.cards {\n  margin-top: 15px;\n  h3 {\n    color: #485563;\n    font-size: 16px;\n    font-weight: 600;\n  }\n}\n\n.modernizeit-no-bg-color-square {\n  .scroll-wrapper {\n    display: flex;\n    padding-bottom: 15px;\n  }\n  .item {\n    background-color: transparent;\n    border-right: solid 1px #ccc;\n    box-shadow: none;\n    flex-shrink: 0;\n    margin: 0;\n    padding: 15px 5px 5px 5px;\n    position: relative;\n    text-align: center;\n    vertical-align: top;\n    width: 90px;\n    img {\n      height: 37px;\n    }\n    &amp;amp;:first-child {\n      margin-left: 0;\n    }\n    &amp;amp;:last-child {\n      border: none;\n    }\n    .content {\n      color: #5a5d61;\n      margin-top: 15px;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-help-cards&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Help Cards&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"name\": \"title\",&amp;#13;\n  \"default_value\": \"How can we help?\",&amp;#13;\n  \"label\": \"Title\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"category\",&amp;#13;\n  \"default_value\": \"PE How Can We Help\",&amp;#13;\n  \"label\": \"Category\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"items\",&amp;#13;\n  \"default_value\": \"sc_cat_item.name, sc_cat_item.icon\",&amp;#13;\n  \"label\": \"Items\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.items = options.items || serverOptions.items;\n  var categoriesGR = GlideRecord('sc_cat_item_category');\n  var encodedQuery = 'sc_category.title=' + options.category;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.items);\n    items.push(obj);\n  }\n  data.items = items;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-14 16:09:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;cf865a72db82720062e479daae9619c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;49&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Help Cards&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_cf865a72db82720062e479daae9619c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-31 17:28:41&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n  &lt;div class=\"col-xs-12 cards modernizeit-no-bg-color-square\"&gt;\n    &lt;h3&gt;{{::options.title}}&lt;/h3&gt;\n    &lt;div class=\"content-wrapper\"&gt;\n      &lt;div class=\"scroll-wrapper\"&gt;\n        &lt;div ng-repeat=\"item in ::data.items track by $index\" class=\"item\"&gt;\n          &lt;div class=\"icon\"&gt;\n            &lt;img src=\"{{::item['sc_cat_item.icon'].display_value}}\"&gt;\n          &lt;/div&gt;\n          &lt;div class=\"content\"&gt;\n            &lt;div class=\"name\"&gt;{{::item['sc_cat_item.name'].value}}&lt;/div&gt;\n            &lt;div class=\"sub-title\"&gt;{{::item['sc_cat_item.short_description'].value}}&lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>815828128</payload_hash>\n<remote_update_set display_value=\"PE  Help Cards\">9cf4726ddbd00300a0785404ce961973</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-07-31 17:30:58</sys_created_on>\n<sys_id>90f4726ddbd00300a0785404ce961974</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d99b152950000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-07-31 17:30:58</sys_updated_on>\n<table/>\n<target_name>PE Help Cards</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>be64ba2d22d003007dc3c7c99b5d7d6d</update_guid>\n<update_guid_history>be64ba2d22d003007dc3c7c99b5d7d6d:815828128,ec24762d2fd003002c9c49e698ab0c0e:304201792,65e3f22dccd00300db4ec48f61463df6:691024286,c4d2f2e9c3d003009a77968b8ca7dc7c:-898401824,09b232e9dad00300cb00ba159a10f0f0:-676168660,0e9232e973d00300d9d56667e55a2471:1805771084,9b8232e9ccd00300ea0c877a69d36818:-945038609,5c82bea975d003005df8f8b6299cdf4e:924806452,5d627ea982d003007dae4b614b9e1627:-1439600916,36523ea951d0030004d11e4c3a5b2161:-689811156,8d527ea9aad00300c9e71b13c03edc1e:441388684,55423ea963d0030049b8507725df2058:-689811156,9b227aa912d0030026f2f0f20770bd0f:-397356028,df127aa946d0030080d713e1c63d9541:-689811156,e2023aa934d0030015aff1e8177fde0d:-292174836,f1f136a973d00300a6c31be36985f891:-689811156,83d1b6a9b5d00300332ca3d756bf76b9:905837996,9bc136a9afd0030002ed99c3fdc8b88a:355414220,cca136a94cd00300b549c0f96da3a300:-1392950081,3591b2a959d003008621786fc6930238:-1258795073,ec7132a953d00300e241681dcabdf36b:-526254306,cc51fe6974d0030013fe41aaec9fda01:-684957438,c031b6693fd00300b86b4e996d1bd05c:918391597,72403669a4d00300612108391def9acf:449846338,08303669f7d00300182fd9bbd1bafdc8:-754038178,c600f26971d003002c296cdbf3d21424:449846338,36ff226952d0030019afdc07fe61de3f:-1095409064,e6df2269bbd00300b02b5e5ef478fc22:-1565907235,3dcf6e299fd003003be5b8842c05c187:838663997,989f2a2946d00300b92ff3107bbb2895:-1878055370,436f2a2982d003009074d3f841462a9f:384821307,f21f2a2945d00300c0cb31c577d81f8b:128031204,360fe629bed003007293f2131418ac6e:-684347872,35eea22983d0030089c36213c457f8f7:-1836616640,0f7e22296bd00300f984b28812f4730e:-1201443417,a34e2ae569d003000ed759488477d042:-825977050,4b8de6e524d0030069a55c0befb9eb3c:-878010095,897d62e529d00300ffd18e92ffa7a294:1487636879,329c6ea5a2d00300aa4f781616d317f9:133254105,-1653454099:-1653454099</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-help-cards/widget/pe-help-cards.u-body-html-template.html",
    "content": "<div class=\"row\">\n  <div class=\"col-xs-12 cards modernizeit-no-bg-color-square\">\n    <h3>{{::options.title}}</h3>\n    <div class=\"content-wrapper\">\n      <div class=\"scroll-wrapper\">\n        <div ng-repeat=\"item in ::data.items track by $index\" class=\"item\">\n          <div class=\"icon\">\n            <img src=\"{{::item['sc_cat_item.icon'].display_value}}\">\n          </div>\n          <div class=\"content\">\n            <div class=\"name\">{{::item['sc_cat_item.name'].value}}</div>\n            <div class=\"sub-title\">{{::item['sc_cat_item.short_description'].value}}</div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-help-cards/widget/pe-help-cards.u-client-script.js",
    "content": "function HelpCardsController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-help-cards/widget/pe-help-cards.u-css.scss",
    "content": ".scroll-wrapper {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n  white-space: nowrap;\n  width: 100%;\n}\n\n.cards {\n  margin-top: 15px;\n  h3 {\n    color: #485563;\n    font-size: 16px;\n    font-weight: 600;\n  }\n}\n\n.modernizeit-no-bg-color-square {\n  .scroll-wrapper {\n    display: flex;\n    padding-bottom: 15px;\n  }\n  .item {\n    background-color: transparent;\n    border-right: solid 1px #ccc;\n    box-shadow: none;\n    flex-shrink: 0;\n    margin: 0;\n    padding: 15px 5px 5px 5px;\n    position: relative;\n    text-align: center;\n    vertical-align: top;\n    width: 90px;\n    img {\n      height: 37px;\n    }\n    &:first-child {\n      margin-left: 0;\n    }\n    &:last-child {\n      border: none;\n    }\n    .content {\n      color: #5a5d61;\n      margin-top: 15px;\n    }\n  }\n}"
  },
  {
    "path": "pe-help-cards/widget/pe-help-cards.u-option-schema.json",
    "content": "[{\n  \"name\": \"title\",\n  \"default_value\": \"How can we help?\",\n  \"label\": \"Title\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"category\",\n  \"default_value\": \"PE How Can We Help\",\n  \"label\": \"Category\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"items\",\n  \"default_value\": \"sc_cat_item.name, sc_cat_item.icon\",\n  \"label\": \"Items\",\n  \"type\": \"string\"\n}]"
  },
  {
    "path": "pe-help-cards/widget/pe-help-cards.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.items = options.items || serverOptions.items;\n  var categoriesGR = GlideRecord('sc_cat_item_category');\n  var encodedQuery = 'sc_category.title=' + options.category;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.items);\n    items.push(obj);\n  }\n  data.items = items;\n})();"
  },
  {
    "path": "pe-homepage-search-with-video/README.md",
    "content": "# Homepage Search with video\n\n## Description\n\nCreate a cool homepage search banner with video.\n\n## Screenshot\n\n![PE Homepage Search with video](../images/pe-homepage-search-with-video.gif)\n\n\n\n## Installation\n\nDownload and install update set **[pe-homepage-search-with-video.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-homepage-search-with-video/pe-homepage-search-with-video.u-update-set.xml)**\n\n\n\nAfter installation, 1 new widgets **Homepage Search with video** can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n\nAfter committing the update set, Navigate to Homepage Search with video\\Homepage Search Backgrounds and click on record named **Servicenow** this is provided to you as an example.\n\n![PE Homepage Search with video](../images/pe-homepage-search-with-video-setup.png)\n\n\n* Give it a name\n* Add the youtube video link URL\n* Optionally set the **Alignement** of the video within the banner For example if you set this value to center, the banner will be aligned to the center.\n* Optionally set the **Video start at** and **Video stop at**, here you can specify the value in seconds, where you want to start and stop the video from.\n* Set the **Mobile fall back image**, to optimize the portal on mobile devices, video is disbaled, so instead of video, this image will be displayed.\n* Set the quality to your choice.\n* Now you should be able to choose this record from widget options.\n\n\n### Widget Option Schema\n\n![PE Homepage Search with video](../images/pe-homepage-search-with-video-widgetoptions.png)\n\n\n| Option | Description |\n| :--- | :--- |\n| `Homepage search record` | Choose the record which you want to use as background. |\n| `Search Title` | Bigger text above search box. |\n| `Search Short description` | The smaller short description below bigger text. |\n| `Search box typeahead` | The default text displayed inside search box |\n\n\n\n## Platform Dependencies\n\n### Custom Tables\n\n> x_snc_homepage_sea_x_snc_homepage_search_background\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies\n\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None\n\n"
  },
  {
    "path": "pe-homepage-search-with-video/pe-homepage-search-with-video.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-12-05 23:46:41\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<application_name>Homepage Search with video</application_name>\n<application_scope>x_snc_homepage_sea</application_scope>\n<application_version>1.0.0</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description> </description>\n<inserted/>\n<name>Homepage Search with video</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>4219b5c8db9ea30040dff7b51d96195f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>ac29fd48db9ea30040dff7b51d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_3cca2235db19a30040dff7b51d9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Homepage Search Background</label><live_feed_enabled>false</live_feed_enabled><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:06</sys_created_on><sys_id>3cca2235db19a30040dff7b51d9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Homepage Search Background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_db_object_3cca2235db19a30040dff7b51d9619e9</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:06</sys_updated_on><update_access>false</update_access><user_role display_value=\"x_snc_homepage_search.user\" name=\"x_snc_homepage_search.user\">3ccae275db19a30040dff7b51d961923</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-601433369</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2029f5c8db9ea30040dff7b51d961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40e6c0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>61cae275ec19a300d638e3ee2700d471</update_guid>\n<update_guid_history>61cae275ec19a300d638e3ee2700d471:1263733714</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:02:46</sys_created_on><sys_id>faade639db19a30040dff7b51d96192e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_name_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:02:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>2115257666</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2029f5c8db9ea30040dff7b51d961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4142d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>feade639d119a300a35decf2a88dce4d</update_guid>\n<update_guid_history>feade639d119a300a35decf2a88dce4d:813135853</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_adcae275db19a30040dff7b51d961974</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Homepage Search Enhanced</name><order/><roles>x_snc_homepage_search.user</roles><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:08</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>adcae275db19a30040dff7b51d961974</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Homepage Search Enhanced</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_application_adcae275db19a30040dff7b51d961974</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:08</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<payload_hash>856157354</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>2029f5c8db9ea30040dff7b51d96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c412520000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table/>\n<target_name>Homepage Search Enhanced</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid>35cae2753919a300132d19c20743f576</update_guid>\n<update_guid_history>35cae2753919a300132d19c20743f576:-787881067</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_f8ca2235db19a30040dff7b51d9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu display_value=\"Homepage Search with video\">95e5474adbd1e30040dff7b51d961979</menu><name>Homepage Search with video</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_snc_homepage_sea</scope><scoped_administration>false</scoped_administration><short_description/><source>x_snc_homepage_sea</source><store_correlation_id/><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:05</sys_created_on><sys_id>f8ca2235db19a30040dff7b51d9619e9</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-11-15 04:30:44</sys_updated_on><template/><trackable>true</trackable><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n<payload_hash>-450051153</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2429f5c8db9ea30040dff7b51d961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40bbd0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Homepage Search with video</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>cdc07a99d0f167406275aaa9fb91e185</update_guid>\n<update_guid_history>cdc07a99d0f167406275aaa9fb91e185:-450051153,5de5474a24d1e3002efece3d1dfe597d:1465968748,31d5074a11d1e30041a870ce8597f66e:1979302062,89cae2750719a30094cd18bbc48c6e2c:-544874337</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_active_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_active\" label=\"Active\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_active</element><help/><hint/><label>Active</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Active</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:02:46</sys_created_on><sys_id>f2ade639db19a30040dff7b51d96192b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Active</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_active_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:02:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1458223841</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2429f5c8db9ea30040dff7b51d961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4140f0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Active</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>3eade6392619a300f089d3dfd4c62e4c</update_guid>\n<update_guid_history>3eade6392619a300f089d3dfd4c62e4c:-1386428084</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_19cae275db19a30040dff7b51d961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:06</sys_created_on><sys_id>19cae275db19a30040dff7b51d961945</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_security_acl display_value=\"x_snc_homepage_sea_x_snc_homepage_search_background\">ddcae275db19a30040dff7b51d961941</sys_security_acl><sys_update_name>sys_security_acl_role_19cae275db19a30040dff7b51d961945</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:06</sys_updated_on><sys_user_role display_value=\"x_snc_homepage_search.user\" name=\"x_snc_homepage_search.user\">3ccae275db19a30040dff7b51d961923</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>595535537</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>2429f5c8db9ea30040dff7b51d96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40c590000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>95cae2752d19a300cbef1c95e4729149</update_guid>\n<update_guid_history>95cae2752d19a300cbef1c95e4729149:1188339366</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_ba48073ddb59a30040dff7b51d9619c0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Youtube Player</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:59:28</sys_created_on><sys_id>ba48073ddb59a30040dff7b51d9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Youtube Player</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_ui_script display_value=\"x_snc_homepage_sea.Youtube Player\">8458473ddb59a30040dff7b51d961924</sys_ui_script><sys_update_name>sp_js_include_ba48073ddb59a30040dff7b51d9619c0</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:59:28</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1193780446</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2829f5c8db9ea30040dff7b51d961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c412640000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Youtube Player</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>1c68073db959a30034cb6b8d259affc8</update_guid>\n<update_guid_history>1c68073db959a30034cb6b8d259affc8:1058285005</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_type</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"DELETE\" element=\"u_type\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;1&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Type&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_type&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:02:46&lt;/sys_created_on&gt;&lt;sys_id&gt;e18be675db19a30040dff7b51d96194b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Type&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search Enhanced\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search Enhanced\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_type&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 21:02:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1679770643</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2829f5c8db9ea30040dff7b51d961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4134d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.u_type</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>c12e6e393619a3000e8795ad64ad1767</update_guid>\n<update_guid_history>c12e6e393619a3000e8795ad64ad1767:1679770643,a6ade6391c19a3000ebe949a339b5f1f:-1373834681</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_0dcae275db19a30040dff7b51d961935</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_snc_homepage_sea_x_snc_homepage_search_background</description><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:06</sys_created_on><sys_id>0dcae275db19a30040dff7b51d961935</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_security_acl_0dcae275db19a30040dff7b51d961935</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:06</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>238862270</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2829f5c8db9ea30040dff7b51d96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40c080000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>05cae2759819a300e132b164aecc3439</update_guid>\n<update_guid_history>05cae2759819a300e132b164aecc3439:303974185</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_c912c7f5db59a30040dff7b51d961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"c912c7f5db59a30040dff7b51d961979\" sys_domain=\"global\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>ce3c3af1db59a30040dff7b51d9619a6</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:57</sys_created_on><sys_id>5d120bf5db59a30040dff7b51d961925</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:57</sys_created_on><sys_id>dd120bf5db59a30040dff7b51d961925</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:57</sys_created_on><sys_id>51120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_youtube_url</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:57</sys_created_on><sys_id>d1120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_alignment</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:57</sys_created_on><sys_id>55120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_startat</element><position>5</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:58</sys_created_on><sys_id>d5120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>6</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:58</sys_created_on><sys_id>59120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:58</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_active</element><position>7</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:58</sys_created_on><sys_id>d9120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_stopat</element><position>8</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:58</sys_created_on><sys_id>5d120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_mobile_fallback_image</element><position>9</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:58</sys_created_on><sys_id>dd120bf5db59a30040dff7b51d961926</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_quality</element><position>10</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:58</sys_created_on><sys_id>51120bf5db59a30040dff7b51d961927</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c912c7f5db59a30040dff7b51d961979</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:31:57</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c912c7f5db59a30040dff7b51d961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_section_c912c7f5db59a30040dff7b51d961979</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>228237695</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>2829f5c8db9ea30040dff7b51d96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413260000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>95120bf56259a300d6d414dc4fd3c729</update_guid>\n<update_guid_history>95120bf56259a300d6d414dc4fd3c729:-218703149</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_background_image</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"DELETE\" element=\"u_background_image\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Mobile fall back Image&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_background_image&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:02:46&lt;/sys_created_on&gt;&lt;sys_id&gt;88ab2e75db19a30040dff7b51d9619cd&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Mobile fall back Image&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search Enhanced\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search Enhanced\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_background_image&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 21:45:27&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1917026806</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2c29f5c8db9ea30040dff7b51d961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40bf20000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.u_background_image</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>0a973ebd9819a30015e1bc62cd5bf3b3</update_guid>\n<update_guid_history>0a973ebd9819a30015e1bc62cd5bf3b3:-1917026806,052e6e39a219a300380b5af288280250:-155300266,aeade6393819a3009ce01da5168ec123:1865217238</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_stopat_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_video_stopat\" label=\"Video stop at (in seconds)\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_video_stopat</element><help/><hint/><label>Video stop at (in seconds)</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Video stop at (in seconds)</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:44:56</sys_created_on><sys_id>9c57b2bddb19a30040dff7b51d961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Video stop at (in seconds)</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_stopat_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:44:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1706024767</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2c29f5c8db9ea30040dff7b51d961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c411950000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Video stop at (in seconds)</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>2057b2bd3819a300597dbb7be76c07aa</update_guid>\n<update_guid_history>2057b2bd3819a300597dbb7be76c07aa:-1398659284</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_a2d74ff9db59a30040dff7b51d961989</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_homepage_sea.jQuery Browser&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*!\n * jQuery Browser Plugin 0.1.0\n * https://github.com/gabceb/jquery-browser-plugin\n *\n * Original jquery-browser code Copyright 2005, 2015 jQuery Foundation, Inc. and other contributors\n * http://jquery.org/license\n *\n * Modifications Copyright 2015 Gabriel Cebrian\n * https://github.com/gabceb\n *\n * Released under the MIT license\n *\n * Date: 05-07-2015\n */\n/*global window: false */\n\n(function (factory) {\n  if (typeof define === 'function' &amp;&amp; define.amd) {\n    // AMD. Register as an anonymous module.\n    define(['jquery'], function ($) {\n      return factory($);\n    });\n  } else if (typeof module === 'object' &amp;&amp; typeof module.exports === 'object') {\n    // Node-like environment\n    module.exports = factory(require('jquery'));\n  } else {\n    // Browser globals\n    factory(window.jQuery);\n  }\n}(function(jQuery) {\n  \"use strict\";\n\n  function uaMatch( ua ) {\n    // If an UA is not provided, default to the current browser UA.\n    if ( ua === undefined ) {\n      ua = window.navigator.userAgent;\n    }\n    ua = ua.toLowerCase();\n\n    var match = /(edge)\\/([\\w.]+)/.exec( ua ) ||\n        /(opr)[\\/]([\\w.]+)/.exec( ua ) ||\n        /(chrome)[ \\/]([\\w.]+)/.exec( ua ) ||\n        /(iemobile)[\\/]([\\w.]+)/.exec( ua ) ||\n        /(version)(applewebkit)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec( ua ) ||\n        /(webkit)[ \\/]([\\w.]+).*(version)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec( ua ) ||\n        /(webkit)[ \\/]([\\w.]+)/.exec( ua ) ||\n        /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec( ua ) ||\n        /(msie) ([\\w.]+)/.exec( ua ) ||\n        ua.indexOf(\"trident\") &gt;= 0 &amp;&amp; /(rv)(?::| )([\\w.]+)/.exec( ua ) ||\n        ua.indexOf(\"compatible\") &lt; 0 &amp;&amp; /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec( ua ) ||\n        [];\n\n    var platform_match = /(ipad)/.exec( ua ) ||\n        /(ipod)/.exec( ua ) ||\n        /(windows phone)/.exec( ua ) ||\n        /(iphone)/.exec( ua ) ||\n        /(kindle)/.exec( ua ) ||\n        /(silk)/.exec( ua ) ||\n        /(android)/.exec( ua ) ||\n        /(win)/.exec( ua ) ||\n        /(mac)/.exec( ua ) ||\n        /(linux)/.exec( ua ) ||\n        /(cros)/.exec( ua ) ||\n        /(playbook)/.exec( ua ) ||\n        /(bb)/.exec( ua ) ||\n        /(blackberry)/.exec( ua ) ||\n        [];\n\n    var browser = {},\n        matched = {\n          browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || \"\",\n          version: match[ 2 ] || match[ 4 ] || \"0\",\n          versionNumber: match[ 4 ] || match[ 2 ] || \"0\",\n          platform: platform_match[ 0 ] || \"\"\n        };\n\n    if ( matched.browser ) {\n      browser[ matched.browser ] = true;\n      browser.version = matched.version;\n      browser.versionNumber = parseInt(matched.versionNumber, 10);\n    }\n\n    if ( matched.platform ) {\n      browser[ matched.platform ] = true;\n    }\n\n    // These are all considered mobile platforms, meaning they run a mobile browser\n    if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone ||\n      browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ \"windows phone\" ]) {\n      browser.mobile = true;\n    }\n\n    // These are all considered desktop platforms, meaning they run a desktop browser\n    if ( browser.cros || browser.mac || browser.linux || browser.win ) {\n      browser.desktop = true;\n    }\n\n    // Chrome, Opera 15+ and Safari are webkit based browsers\n    if ( browser.chrome || browser.opr || browser.safari ) {\n      browser.webkit = true;\n    }\n\n    // IE11 has a new token so we will assign it msie to avoid breaking changes\n    if ( browser.rv || browser.iemobile) {\n      var ie = \"msie\";\n\n      matched.browser = ie;\n      browser[ie] = true;\n    }\n\n    // Edge is officially known as Microsoft Edge, so rewrite the key to match\n    if ( browser.edge ) {\n      delete browser.edge;\n      var msedge = \"msedge\";\n\n      matched.browser = msedge;\n      browser[msedge] = true;\n    }\n\n    // Blackberry browsers are marked as Safari on BlackBerry\n    if ( browser.safari &amp;&amp; browser.blackberry ) {\n      var blackberry = \"blackberry\";\n\n      matched.browser = blackberry;\n      browser[blackberry] = true;\n    }\n\n    // Playbook browsers are marked as Safari on Playbook\n    if ( browser.safari &amp;&amp; browser.playbook ) {\n      var playbook = \"playbook\";\n\n      matched.browser = playbook;\n      browser[playbook] = true;\n    }\n\n    // BB10 is a newer OS version of BlackBerry\n    if ( browser.bb ) {\n      var bb = \"blackberry\";\n\n      matched.browser = bb;\n      browser[bb] = true;\n    }\n\n    // Opera 15+ are identified as opr\n    if ( browser.opr ) {\n      var opera = \"opera\";\n\n      matched.browser = opera;\n      browser[opera] = true;\n    }\n\n    // Stock Android browsers are marked as Safari on Android.\n    if ( browser.safari &amp;&amp; browser.android ) {\n      var android = \"android\";\n\n      matched.browser = android;\n      browser[android] = true;\n    }\n\n    // Kindle browsers are marked as Safari on Kindle\n    if ( browser.safari &amp;&amp; browser.kindle ) {\n      var kindle = \"kindle\";\n\n      matched.browser = kindle;\n      browser[kindle] = true;\n    }\n\n     // Kindle Silk browsers are marked as Safari on Kindle\n    if ( browser.safari &amp;&amp; browser.silk ) {\n      var silk = \"silk\";\n\n      matched.browser = silk;\n      browser[silk] = true;\n    }\n\n    // Assign the name and platform variable\n    browser.name = matched.browser;\n    browser.platform = matched.platform;\n    return browser;\n  }\n\n  // Run the matching process, also assign the function to the returned object\n  // for manual, jQuery-free use if desired\n  window.jQBrowser = uaMatch( window.navigator.userAgent );\n  window.jQBrowser.uaMatch = uaMatch;\n\n  // Only assign to jQuery.browser if jQuery is loaded\n  if ( jQuery ) {\n    jQuery.browser = window.jQBrowser;\n  }\n\n  return window.jQBrowser;\n}));]]&gt;&lt;/script&gt;&lt;script_name&gt;jQuery Browser&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 22:57:24&lt;/sys_created_on&gt;&lt;sys_id&gt;a2d74ff9db59a30040dff7b51d961989&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_homepage_sea.jQuery Browser&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_a2d74ff9db59a30040dff7b51d961989&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 22:57:24&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>171643032</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>2c29f5c8db9ea30040dff7b51d96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c412140000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table/>\n<target_name>x_snc_homepage_sea.jQuery Browser</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>3de7cbf97959a30031d8d260998327d9</update_guid>\n<update_guid_history>3de7cbf97959a30031d8d260998327d9:-1084684851</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_4287c7f9db59a30040dff7b51d9619d0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"JQ Browser\">9a770bf9db59a30040dff7b51d961978</sp_dependency><sp_widget display_value=\"Homepage Search with video\">1e8583b9db59a30040dff7b51d9619c5</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:55:47</sys_created_on><sys_id>4287c7f9db59a30040dff7b51d9619d0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>JQ Browser.Homepage Search with video</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>m2m_sp_widget_dependency_4287c7f9db59a30040dff7b51d9619d0</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:55:47</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>2128241625</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>2c29fd48db9ea30040dff7b51d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40ed70000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>JQ Browser.Homepage Search with video</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>5e87c7f9bd59a3005776428616952dd1</update_guid>\n<update_guid_history>5e87c7f9bd59a3005776428616952dd1:-37402812</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_95e5474adbd1e30040dff7b51d961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>x_snc_homepage_sea_homepage search with </name><order>100</order><roles>x_snc_homepage_search.user,sp_admin</roles><sys_class_name>sys_app_application</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-23 17:27:06</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>95e5474adbd1e30040dff7b51d961979</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Homepage Search with video</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_app_application_95e5474adbd1e30040dff7b51d961979</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-11-15 04:30:44</sys_updated_on><title>Homepage Search with video</title><view_name/></sys_app_application></record_update>]]></payload>\n<payload_hash>-681749748</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6029f5c8db9ea30040dff7b51d961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4114e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Homepage Search with video</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid>55c0fa994bf1674032a60b5a74750a25</update_guid>\n<update_guid_history>55c0fa994bf1674032a60b5a74750a25:-681749748,2de5474a03d1e300dc18dfb52e872481:-1243576985,d1e5474ad9d1e300ed4bcf22c226da7b:-51828886</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_youtube_url</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_youtube_url\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Youtube url&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_youtube_url&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"URL\"&gt;url&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;1024&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:02:46&lt;/sys_created_on&gt;&lt;sys_id&gt;ff0cee75db19a30040dff7b51d9619e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Youtube url&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_youtube_url&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 21:02:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>416594137</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6029f5c8db9ea30040dff7b51d961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c414410000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Youtube url</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>f6ade6391319a300c0ce2a8d63bd5a28</update_guid>\n<update_guid_history>f6ade6391319a300c0ce2a8d63bd5a28:267747588</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_ddcae275db19a30040dff7b51d961941</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_snc_homepage_sea_x_snc_homepage_search_background</description><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:06</sys_created_on><sys_id>ddcae275db19a30040dff7b51d961941</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_security_acl_ddcae275db19a30040dff7b51d961941</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:06</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1169541746</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>6029f5c8db9ea30040dff7b51d96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413db0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>9dcae2752d19a3005ca7e8f6a797c344</update_guid>\n<update_guid_history>9dcae2752d19a3005ca7e8f6a797c344:-1308463395</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_4cd7cbf9db59a30040dff7b51d9619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>jQuery Browser</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:57:28</sys_created_on><sys_id>4cd7cbf9db59a30040dff7b51d9619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name>jQuery Browser</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_ui_script display_value=\"x_snc_homepage_sea.jQuery Browser\">a2d74ff9db59a30040dff7b51d961989</sys_ui_script><sys_update_name>sp_js_include_4cd7cbf9db59a30040dff7b51d9619ea</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:57:28</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1172610847</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6429f5c8db9ea30040dff7b51d961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40f110000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>jQuery Browser</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>43e78ff92959a300b363f76b2cde484f</update_guid>\n<update_guid_history>43e78ff92959a300b363f76b2cde484f:1848289738</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_quality</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_quality\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;3&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Quality&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;default&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_quality&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:44:56&lt;/sys_created_on&gt;&lt;sys_id&gt;649436b9db19a30040dff7b51d9619eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Quality&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_quality&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 22:45:22&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1336521788</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6429f5c8db9ea30040dff7b51d961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40fc50000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Quality</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>39250f79d559a3000247f50fe0cd1aba</update_guid>\n<update_guid_history>39250f79d559a3000247f50fe0cd1aba:1636301095,91120bf59159a300aacfdc2a5457a91f:-1680103881,e33e7e358659a30036536703ed4c3bf6:1636301095,9057b2bd1519a300ea29113c40135d95:-1680103881</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_metadata_link_31984b0edbd1e30040dff7b51d961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_metadata_link\"&gt;&lt;sys_metadata_link action=\"INSERT_OR_UPDATE\"&gt;&lt;directory&gt;update&lt;/directory&gt;&lt;documentkey&gt;7d358f79db59a30040dff7b51d961946&lt;/documentkey&gt;&lt;payload&gt;&lt;![CDATA[&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;\n    &lt;x_snc_homepage_sea_x_snc_homepage_search_background action=\"INSERT_OR_UPDATE\"&gt;\n        &lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;\n        &lt;sys_created_on&gt;2018-10-22 22:46:04&lt;/sys_created_on&gt;\n        &lt;sys_id&gt;7d358f79db59a30040dff7b51d961946&lt;/sys_id&gt;\n        &lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;\n        &lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;\n        &lt;sys_updated_on&gt;2018-10-22 22:46:08&lt;/sys_updated_on&gt;\n        &lt;u_active&gt;true&lt;/u_active&gt;\n        &lt;u_alignment&gt;center&lt;/u_alignment&gt;\n        &lt;u_mobile_fallback_image&gt;74558f79db59a30040dff7b51d96194a&lt;/u_mobile_fallback_image&gt;\n        &lt;u_name&gt;Servicenow&lt;/u_name&gt;\n        &lt;u_quality&gt;default&lt;/u_quality&gt;\n        &lt;u_video_startat/&gt;\n        &lt;u_video_stopat&gt;0&lt;/u_video_stopat&gt;\n        &lt;u_youtube_url&gt;https://youtu.be/QZkOXfYdipI&lt;/u_youtube_url&gt;\n    &lt;/x_snc_homepage_sea_x_snc_homepage_search_background&gt;\n    &lt;sys_attachment action=\"INSERT_OR_UPDATE\"&gt;\n        &lt;average_image_color&gt;#1d2831&lt;/average_image_color&gt;\n        &lt;chunk_size_bytes&gt;734003&lt;/chunk_size_bytes&gt;\n        &lt;compressed&gt;true&lt;/compressed&gt;\n        &lt;content_type&gt;image/png&lt;/content_type&gt;\n        &lt;encryption_context/&gt;\n        &lt;file_name&gt;u_mobile_fallback_image&lt;/file_name&gt;\n        &lt;image_height&gt;450&lt;/image_height&gt;\n        &lt;image_width&gt;800&lt;/image_width&gt;\n        &lt;size_bytes&gt;166326&lt;/size_bytes&gt;\n        &lt;size_compressed&gt;166399&lt;/size_compressed&gt;\n        &lt;state&gt;available&lt;/state&gt;\n        &lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;\n        &lt;sys_created_on&gt;2018-10-22 22:46:08&lt;/sys_created_on&gt;\n        &lt;sys_id&gt;74558f79db59a30040dff7b51d96194a&lt;/sys_id&gt;\n        &lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;\n        &lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;\n        &lt;sys_updated_on&gt;2018-10-22 22:46:08&lt;/sys_updated_on&gt;\n        &lt;table_name&gt;ZZ_YYx_snc_homepage_sea_x_snc_homepage_search_background&lt;/table_name&gt;\n        &lt;table_sys_id&gt;7d358f79db59a30040dff7b51d961946&lt;/table_sys_id&gt;\n    &lt;/sys_attachment&gt;\n    &lt;sys_attachment_doc action=\"INSERT_OR_UPDATE\"&gt;\n        &lt;data&gt;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&lt;/data&gt;\n        &lt;length&gt;219012&lt;/length&gt;\n        &lt;position&gt;0&lt;/position&gt;\n        &lt;sys_attachment display_value=\"u_mobile_fallback_image\" sys_id=\"74558f79db59a30040dff7b51d96194a\"&gt;74558f79db59a30040dff7b51d96194a&lt;/sys_attachment&gt;\n        &lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;\n        &lt;sys_created_on&gt;2018-10-22 22:46:08&lt;/sys_created_on&gt;\n        &lt;sys_id&gt;b4558f79db59a30040dff7b51d96194a&lt;/sys_id&gt;\n    &lt;/sys_attachment_doc&gt;\n    &lt;sys_attachment_doc action=\"INSERT_OR_UPDATE\"&gt;\n        &lt;data&gt;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&lt;/data&gt;\n        &lt;length&gt;2856&lt;/length&gt;\n        &lt;position&gt;1&lt;/position&gt;\n        &lt;sys_attachment display_value=\"u_mobile_fallback_image\" sys_id=\"74558f79db59a30040dff7b51d96194a\"&gt;74558f79db59a30040dff7b51d96194a&lt;/sys_attachment&gt;\n        &lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;\n        &lt;sys_created_on&gt;2018-10-22 22:46:08&lt;/sys_created_on&gt;\n        &lt;sys_id&gt;38558f79db59a30040dff7b51d96194a&lt;/sys_id&gt;\n    &lt;/sys_attachment_doc&gt;\n&lt;/record_update&gt;\n]]&gt;&lt;/payload&gt;&lt;sys_class_name&gt;sys_metadata_link&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-23 17:38:52&lt;/sys_created_on&gt;&lt;sys_id&gt;31984b0edbd1e30040dff7b51d961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_metadata_link_31984b0edbd1e30040dff7b51d961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-23 17:38:52&lt;/sys_updated_on&gt;&lt;tablename&gt;x_snc_homepage_sea_x_snc_homepage_search&lt;/tablename&gt;&lt;/sys_metadata_link&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1205925392</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6429f5c8db9ea30040dff7b51d96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40deb0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name/>\n<type>Metadata Snapshot</type>\n<update_domain>global</update_domain>\n<update_guid>39984b0e74d1e3006087e71653971e6a</update_guid>\n<update_guid_history>39984b0e74d1e3006087e71653971e6a:1205925392</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_c1430739db59a30040dff7b51d961921</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"New Section\" section_id=\"c1430739db59a30040dff7b51d961921\" sys_domain=\"global\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>cd430739db59a30040dff7b51d961921</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><text/><type display_value=\"Info Box Blue\">753f88a80f930000b12e6903cfe01206</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>cd430739db59a30040dff7b51d961921</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>0d434739db59a30040dff7b51d9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>8d434739db59a30040dff7b51d9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>01434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>81434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_active</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>05434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>5</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>85434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>6</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>09434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_youtube_url</element><position>7</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>89434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_alignment</element><position>8</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>0d434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_startat</element><position>9</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>8d434739db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>10</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>01434739db59a30040dff7b51d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_stopat</element><position>11</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>81434739db59a30040dff7b51d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_mobile_fallback_image</element><position>12</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>05434739db59a30040dff7b51d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_quality</element><position>13</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_id>85434739db59a30040dff7b51d9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">c1430739db59a30040dff7b51d961921</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>New Section</caption><header>false</header><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:37:08</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c1430739db59a30040dff7b51d961921</sys_id><sys_mod_count>0</sys_mod_count><sys_name>New Section</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_section_c1430739db59a30040dff7b51d961921</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:37:08</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>418155579</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>6429f5c8db9ea30040dff7b51d96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c412ce0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>c14347395159a3007ed9dea34a429aab</update_guid>\n<update_guid_history>c14347395159a3007ed9dea34a429aab:-1639928474</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_9a770bf9db59a30040dff7b51d961978</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>JQ Browser</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:55:47</sys_created_on><sys_id>9a770bf9db59a30040dff7b51d961978</sys_id><sys_mod_count>0</sys_mod_count><sys_name>JQ Browser</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sp_dependency_9a770bf9db59a30040dff7b51d961978</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:55:47</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>151270198</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6429fd48db9ea30040dff7b51d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4117e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>JQ Browser</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4687c7f9cd59a300c41e307a07e893cf</update_guid>\n<update_guid_history>4687c7f9cd59a300c41e307a07e893cf:364939883</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_alignment</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_alignment\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;3&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Alignment&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;center&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_alignment&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:44:55&lt;/sys_created_on&gt;&lt;sys_id&gt;c62e6e39db19a30040dff7b51d9619e5&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;Alignment&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_alignment&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 22:44:34&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-731492096</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6829f5c8db9ea30040dff7b51d961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c412f00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Alignment</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>4af40b79e459a3005b88cf4b81dc6e24</update_guid>\n<update_guid_history>4af40b79e459a3005b88cf4b81dc6e24:1401747179,0112c7f5ec59a30064c319f5863a5080:-600461777,27bd3a355559a30078e813bfbdddc8bd:1401747179,253d36354059a3009fa04c13b8b49041:1516231149,1457fa3df619a30083d29d4be71d6d10:-600461777</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_startat_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_video_startat\" label=\"Video start at (in seconds)\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_video_startat</element><help/><hint/><label>Video start at (in seconds)</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Video start at (in seconds)</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:44:56</sys_created_on><sys_id>1857b2bddb19a30040dff7b51d961996</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Video start at (in seconds)</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_startat_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:44:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>2100807077</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6829f5c8db9ea30040dff7b51d961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40c2b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Video start at (in seconds)</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>6c57b2bdf519a300fc927eaa48f7f3a8</update_guid>\n<update_guid_history>6c57b2bdf519a300fc927eaa48f7f3a8:-1506429680</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_8458473ddb59a30040dff7b51d961924</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_homepage_sea.Youtube Player&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*___________________________________________________________________________________________________________________________________________________\n _ jquery.mb.components                                                                                                                             _\n _                                                                                                                                                  _\n _ file: jquery.mb.YTPlayer.src.js                                                                                                                  _\n _ last modified: 05/01/16 17.43                                                                                                                    _\n _                                                                                                                                                  _\n _ Open Lab s.r.l., Florence - Italy                                                                                                                _\n _                                                                                                                                                  _\n _ email: matteo@open-lab.com                                                                                                                       _\n _ site: http://pupunzi.com                                                                                                                         _\n _       http://open-lab.com                                                                                                                        _\n _ blog: http://pupunzi.open-lab.com                                                                                                                _\n _ Q&amp;A:  http://jquery.pupunzi.com                                                                                                                  _\n _                                                                                                                                                  _\n _ Licences: MIT, GPL                                                                                                                               _\n _    http://www.opensource.org/licenses/mit-license.php                                                                                            _\n _    http://www.gnu.org/licenses/gpl.html                                                                                                          _\n _                                                                                                                                                  _\n _ Copyright (c) 2001-2016. Matteo Bicocchi (Pupunzi);                                                                                              _\n ___________________________________________________________________________________________________________________________________________________*/\nvar ytp = ytp || {};\n\nfunction onYouTubeIframeAPIReady() {\n\tif( ytp.YTAPIReady ) return;\n\tytp.YTAPIReady = true;\n\tjQuery( document ).trigger( \"YTAPIReady\" );\n}\n\nvar getYTPVideoID = function( url ) {\n\tvar videoID, playlistID;\n\tif( url.indexOf( \"youtu.be\" ) &gt; 0 ) {\n\t\tvideoID = url.substr( url.lastIndexOf( \"/\" ) + 1, url.length );\n\t\tplaylistID = videoID.indexOf( \"?list=\" ) &gt; 0 ? videoID.substr( videoID.lastIndexOf( \"=\" ), videoID.length ) : null;\n\t\tvideoID = playlistID ? videoID.substr( 0, videoID.lastIndexOf( \"?\" ) ) : videoID;\n\t} else if( url.indexOf( \"https\" ) &gt; -1 ) {\n\t\t//videoID = url.match( /([\\/&amp;]v\\/([^&amp;#]*))|([\\\\?&amp;]v=([^&amp;#]*))/ )[ 1 ];\n\t\tvideoID = url.match( /[\\\\?&amp;]v=([^&amp;#]*)/ )[ 1 ];\n\t\tplaylistID = url.indexOf( \"list=\" ) &gt; 0 ? url.match( /[\\\\?&amp;]list=([^&amp;#]*)/ )[ 1 ] : null;\n\t} else {\n\t\tvideoID = url.length &gt; 15 ? null : url;\n\t\tplaylistID = videoID ? null : url;\n\t}\n\treturn {\n\t\tvideoID: videoID,\n\t\tplaylistID: playlistID\n\t};\n};\n\n( function( jQuery, ytp ) {\n\n\tjQuery.mbYTPlayer = {\n\t\tname: \"jquery.mb.YTPlayer\",\n\t\tversion: \"3.0.5\",\n\t\tbuild: \"5852\",\n\t\tauthor: \"Matteo Bicocchi\",\n\t\tapiKey: \"\",\n\t\tdefaults: {\n\t\t\tcontainment: \"body\",\n\t\t\tratio: \"auto\", // \"auto\", \"16/9\", \"4/3\"\n\t\t\tvideoURL: null,\n\t\t\tplaylistURL: null,\n\t\t\tstartAt:0,\n\t\t\tstopAt: 0,\n\t\t\tautoPlay: true,\n\t\t\tvol: 50, // 1 to 100\n\t\t\taddRaster: false,\n\t\t\tmask: true,\n\t\t\topacity: 1,\n\t\t\tquality: \"default\", //or â€œsmallâ€&#157;, â€œmediumâ€&#157;, â€œlargeâ€&#157;, â€œhd720â€&#157;, â€œhd1080â€&#157;, â€œhighresâ€&#157;\n\t\t\tmute: true,\n\t\t\tloop: true,\n\t\t\tshowControls: false,\n\t\t\tshowAnnotations: false,\n\t\t\tshowYTLogo: false,\n\t\t\tstopMovieOnBlur: true,\n\t\t\trealfullscreen: false,\n\t\t\tmobileFallbackImage: null,\n\t\t\tgaTrack: true,\n\t\t\toptimizeDisplay: true,\n\t\t\talign: \"center\", // top,bottom,left,right\n\t\t\tonReady: function( player ) {}\n\t\t},\n\t\t/**\n\t\t *  @fontface icons\n\t\t *  */\n\t\tcontrols: {\n\t\t\tplay: \"P\",\n\t\t\tpause: \"p\",\n\t\t\tmute: \"M\",\n\t\t\tunmute: \"A\",\n\t\t\tonlyYT: \"O\",\n\t\t\tshowSite: \"R\",\n\t\t\tytLogo: \"Y\"\n\t\t},\n\t\tlocationProtocol: \"https:\",\n\t\tfilters: {\n\t\t\tgrayscale: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\thue_rotate: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"deg\"\n\t\t\t},\n\t\t\tinvert: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\topacity: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\tsaturate: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\tsepia: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\tbrightness: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\tcontrast: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"%\"\n\t\t\t},\n\t\t\tblur: {\n\t\t\t\tvalue: 0,\n\t\t\t\tunit: \"px\"\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param options\n\t\t * @returns [players]\n\t\t */\n\t\tbuildPlayer: function( options ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tvar $YTPlayer = jQuery( YTPlayer );\n\t\t\t\tYTPlayer.loop = 0;\n\t\t\t\tYTPlayer.opt = {};\n\t\t\t\tYTPlayer.state = {};\n\t\t\t\tYTPlayer.filters = jQuery.mbYTPlayer.filters;\n\t\t\t\tYTPlayer.filtersEnabled = true;\n\t\t\t\tYTPlayer.id = YTPlayer.id || \"YTP_\" + new Date().getTime();\n\t\t\t\t$YTPlayer.addClass( \"mb_YTPlayer\" );\n\t\t\t\tvar property = $YTPlayer.data( \"property\" ) &amp;&amp; typeof $YTPlayer.data( \"property\" ) == \"string\" ? eval( '(' + $YTPlayer.data( \"property\" ) + ')' ) : $YTPlayer.data( \"property\" );\n\t\t\t\tif( typeof property != \"undefined\" &amp;&amp; typeof property.vol != \"undefined\" ) property.vol = property.vol === 0 ? property.vol = 1 : property.vol;\n\n\t\t\t\tjQuery.extend( YTPlayer.opt, jQuery.mbYTPlayer.defaults, options, property );\n\n\t\t\t\tif( !YTPlayer.hasChanged ) {\n\t\t\t\t\tYTPlayer.defaultOpt = {};\n\t\t\t\t\tjQuery.extend( YTPlayer.defaultOpt, jQuery.mbYTPlayer.defaults, options );\n\t\t\t\t}\n\n\t\t\t\tif( YTPlayer.opt.loop == \"true\" )\n\t\t\t\t\tYTPlayer.opt.loop = 9999;\n\n\t\t\t\tYTPlayer.isRetina = ( window.retina || window.devicePixelRatio &gt; 1 );\n\t\t\t\tvar isIframe = function() {\n\t\t\t\t\tvar isIfr = false;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif( self.location.href != top.location.href ) isIfr = true;\n\t\t\t\t\t} catch( e ) {\n\t\t\t\t\t\tisIfr = true;\n\t\t\t\t\t}\n\t\t\t\t\treturn isIfr;\n\t\t\t\t};\n\t\t\t\tYTPlayer.canGoFullScreen = !( jQuery.browser.msie || jQuery.browser.opera || isIframe() );\n\t\t\t\tif( !YTPlayer.canGoFullScreen ) YTPlayer.opt.realfullscreen = false;\n\t\t\t\tif( !$YTPlayer.attr( \"id\" ) ) $YTPlayer.attr( \"id\", \"video_\" + new Date().getTime() );\n\t\t\t\tvar playerID = \"mbYTP_\" + YTPlayer.id;\n\t\t\t\tYTPlayer.isAlone = false;\n\t\t\t\tYTPlayer.hasFocus = true;\n\t\t\t\tvar videoID = this.opt.videoURL ? getYTPVideoID( this.opt.videoURL ).videoID : $YTPlayer.attr( \"href\" ) ? getYTPVideoID( $YTPlayer.attr( \"href\" ) ).videoID : false;\n\t\t\t\tvar playlistID = this.opt.videoURL ? getYTPVideoID( this.opt.videoURL ).playlistID : $YTPlayer.attr( \"href\" ) ? getYTPVideoID( $YTPlayer.attr( \"href\" ) ).playlistID : false;\n\t\t\t\tYTPlayer.videoID = videoID;\n\t\t\t\tYTPlayer.playlistID = playlistID;\n\t\t\t\tYTPlayer.opt.showAnnotations = YTPlayer.opt.showAnnotations ? '0' : '3';\n\n\t\t\t\tvar playerVars = {\n\t\t\t\t\t'modestbranding': 1,\n\t\t\t\t\t'autoplay': 0,\n\t\t\t\t\t'controls': 0,\n\t\t\t\t\t'showinfo': 0,\n\t\t\t\t\t'rel': 0,\n\t\t\t\t\t'enablejsapi': 1,\n\t\t\t\t\t'version': 3,\n\t\t\t\t\t'playerapiid': playerID,\n\t\t\t\t\t'origin': '*',\n\t\t\t\t\t'allowfullscreen': true,\n\t\t\t\t\t'wmode': 'transparent',\n\t\t\t\t\t'iv_load_policy': YTPlayer.opt.showAnnotations\n\t\t\t\t};\n\n\t\t\t\tif( document.createElement( 'video' ).canPlayType ) jQuery.extend( playerVars, {\n\t\t\t\t\t'html5': 1\n\t\t\t\t} );\n\t\t\t\tif( jQuery.browser.msie &amp;&amp; jQuery.browser.version &lt; 9 ) this.opt.opacity = 1;\n\n\t\t\t\tYTPlayer.isSelf = YTPlayer.opt.containment == \"self\";\n\t\t\t\tYTPlayer.defaultOpt.containment = YTPlayer.opt.containment = YTPlayer.opt.containment == \"self\" ? jQuery( this ) : jQuery( YTPlayer.opt.containment );\n\t\t\t\tYTPlayer.isBackground = YTPlayer.opt.containment.is( \"body\" );\n\n\t\t\t\tif( YTPlayer.isBackground &amp;&amp; ytp.backgroundIsInited )\n\t\t\t\t\treturn;\n\n\t\t\t\tvar isPlayer = YTPlayer.opt.containment.is( jQuery( this ) );\n\n\t\t\t\tYTPlayer.canPlayOnMobile = isPlayer &amp;&amp; jQuery( this ).children().length === 0;\n\t\t\t\tYTPlayer.isPlayer = false;\n\n\t\t\t\tif( !isPlayer ) {\n\t\t\t\t\t$YTPlayer.hide();\n\t\t\t\t} else {\n\t\t\t\t\tYTPlayer.isPlayer = true;\n\t\t\t\t}\n\n\t\t\t\tvar overlay = jQuery( \"&lt;div/&gt;\" ).css( {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\"\n\t\t\t\t} ).addClass( \"YTPOverlay\" );\n\n\t\t\t\tif( YTPlayer.isPlayer ) {\n\t\t\t\t\toverlay.on( \"click\", function() {\n\t\t\t\t\t\t$YTPlayer.YTPTogglePlay();\n\t\t\t\t\t} )\n\t\t\t\t}\n\n\t\t\t\tvar wrapper = jQuery( \"&lt;div/&gt;\" ).addClass( \"mbYTP_wrapper\" ).attr( \"id\", \"wrapper_\" + playerID );\n\t\t\t\twrapper.css( {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\tminWidth: \"100%\",\n\t\t\t\t\tminHeight: \"100%\",\n\t\t\t\t\tleft: 0,\n\t\t\t\t\ttop: 0,\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\topacity: 0\n\t\t\t\t} );\n\n\t\t\t\tvar playerBox = jQuery( \"&lt;div/&gt;\" ).attr( \"id\", playerID ).addClass( \"playerBox\" );\n\t\t\t\tplayerBox.css( {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\toverflow: \"hidden\"\n\t\t\t\t} );\n\n\t\t\t\twrapper.append( playerBox );\n\n\t\t\t\tYTPlayer.opt.containment.children().not( \"script, style\" ).each( function() {\n\t\t\t\t\tif( jQuery( this ).css( \"position\" ) == \"static\" ) jQuery( this ).css( \"position\", \"relative\" );\n\t\t\t\t} );\n\t\t\t\tif( YTPlayer.isBackground ) {\n\t\t\t\t\tjQuery( \"body\" ).css( {\n\t\t\t\t\t\tboxSizing: \"border-box\"\n\t\t\t\t\t} );\n\n\t\t\t\t\twrapper.css( {\n\t\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t} );\n\n\t\t\t\t\t$YTPlayer.hide();\n\n\t\t\t\t} else if( YTPlayer.opt.containment.css( \"position\" ) == \"static\" )\n\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\tposition: \"relative\"\n\t\t\t\t\t} );\n\n\t\t\t\tYTPlayer.opt.containment.prepend( wrapper );\n\t\t\t\tYTPlayer.wrapper = wrapper;\n\n\t\t\t\tplayerBox.css( {\n\t\t\t\t\topacity: 1\n\t\t\t\t} );\n\n\t\t\t\tif( !jQuery.browser.mobile ) {\n\t\t\t\t\tplayerBox.after( overlay );\n\t\t\t\t\tYTPlayer.overlay = overlay;\n\t\t\t\t}\n\n\t\t\t\tif( !YTPlayer.isBackground ) {\n\t\t\t\t\toverlay.on( \"mouseenter\", function() {\n\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\tYTPlayer.controlBar.addClass( \"visible\" );\n\t\t\t\t\t} ).on( \"mouseleave\", function() {\n\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\tYTPlayer.controlBar.removeClass( \"visible\" );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif( !ytp.YTAPIReady ) {\n\t\t\t\t\tjQuery( \"#YTAPI\" ).remove();\n\t\t\t\t\tvar tag = jQuery( \"&lt;script&gt;&lt;/script&gt;\" ).attr( {\n\t\t\t\t\t\t\"src\": jQuery.mbYTPlayer.locationProtocol + \"//www.youtube.com/iframe_api?v=\" + jQuery.mbYTPlayer.version,\n\t\t\t\t\t\t\"id\": \"YTAPI\"\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery( \"head\" ).prepend( tag );\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tjQuery( document ).trigger( \"YTAPIReady\" );\n\t\t\t\t\t}, 100 )\n\t\t\t\t}\n\n\t\t\t\tif( jQuery.browser.mobile &amp;&amp; !YTPlayer.canPlayOnMobile ) {\n\n\t\t\t\t\tif( YTPlayer.opt.mobileFallbackImage ) {\n\t\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\t\tbackgroundImage: \"url(\" + YTPlayer.opt.mobileFallbackImage + \")\",\n\t\t\t\t\t\t\tbackgroundPosition: \"center center\",\n\t\t\t\t\t\t\tbackgroundSize: \"cover\",\n\t\t\t\t\t\t\tbackgroundRepeat: \"no-repeat\"\n\t\t\t\t\t\t} )\n\t\t\t\t\t};\n\n\t\t\t\t\t$YTPlayer.remove();\n\t\t\t\t\tjQuery( document ).trigger( \"YTPUnavailable\" );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tjQuery( document ).on( \"YTAPIReady\", function() {\n\t\t\t\t\tif( ( YTPlayer.isBackground &amp;&amp; ytp.backgroundIsInited ) || YTPlayer.isInit ) return;\n\t\t\t\t\tif( YTPlayer.isBackground ) {\n\t\t\t\t\t\tytp.backgroundIsInited = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tYTPlayer.opt.autoPlay = typeof YTPlayer.opt.autoPlay == \"undefined\" ? ( YTPlayer.isBackground ? true : false ) : YTPlayer.opt.autoPlay;\n\t\t\t\t\tYTPlayer.opt.vol = YTPlayer.opt.vol ? YTPlayer.opt.vol : 100;\n\t\t\t\t\tjQuery.mbYTPlayer.getDataFromAPI( YTPlayer );\n\t\t\t\t\tjQuery( YTPlayer ).on( \"YTPChanged\", function() {\n\n\t\t\t\t\t\tif( YTPlayer.isInit )\n\t\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\tYTPlayer.isInit = true;\n\n\t\t\t\t\t\t//if is mobile &amp;&amp; isPlayer fallback to the default YT player\n\t\t\t\t\t\tif( jQuery.browser.mobile &amp;&amp; YTPlayer.canPlayOnMobile ) {\n\t\t\t\t\t\t\t// Try to adjust the player dimention\n\t\t\t\t\t\t\tif( YTPlayer.opt.containment.outerWidth() &gt; jQuery( window ).width() ) {\n\t\t\t\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\t\t\t\tmaxWidth: \"100%\"\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tvar h = YTPlayer.opt.containment.outerWidth() * .563;\n\t\t\t\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\t\t\t\tmaxHeight: h\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnew YT.Player( playerID, {\n\t\t\t\t\t\t\t\tvideoId: YTPlayer.videoID.toString(),\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\theight: h,\n\t\t\t\t\t\t\t\tplayerVars: playerVars,\n\t\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\t\t'onReady': function( event ) {\n\t\t\t\t\t\t\t\t\t\tYTPlayer.player = event.target;\n\t\t\t\t\t\t\t\t\t\tplayerBox.css( {\n\t\t\t\t\t\t\t\t\t\t\topacity: 1\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tYTPlayer.wrapper.css( {\n\t\t\t\t\t\t\t\t\t\t\topacity: 1\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnew YT.Player( playerID, {\n\t\t\t\t\t\t\tvideoId: YTPlayer.videoID.toString(),\n\t\t\t\t\t\t\tplayerVars: playerVars,\n\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\t'onReady': function( event ) {\n\t\t\t\t\t\t\t\t\tYTPlayer.player = event.target;\n\t\t\t\t\t\t\t\t\tif( YTPlayer.isReady ) return;\n\t\t\t\t\t\t\t\t\tYTPlayer.isReady = YTPlayer.isPlayer &amp;&amp; !YTPlayer.opt.autoPlay ? false : true;\n\t\t\t\t\t\t\t\t\tYTPlayer.playerEl = YTPlayer.player.getIframe();\n\n\t\t\t\t\t\t\t\t\tjQuery( YTPlayer.playerEl ).unselectable();\n\n\t\t\t\t\t\t\t\t\t$YTPlayer.optimizeDisplay();\n\t\t\t\t\t\t\t\t\tYTPlayer.videoID = videoID;\n\t\t\t\t\t\t\t\t\tjQuery( window ).off( \"resize.YTP_\" + YTPlayer.id ).on( \"resize.YTP_\" + YTPlayer.id, function() {\n\t\t\t\t\t\t\t\t\t\t$YTPlayer.optimizeDisplay();\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\tjQuery.mbYTPlayer.checkForState( YTPlayer );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t\t * @param event\n\t\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t\t * -1 (unstarted)\n\t\t\t\t\t\t\t\t * 0 (ended)\n\t\t\t\t\t\t\t\t * 1 (playing)\n\t\t\t\t\t\t\t\t * 2 (paused)\n\t\t\t\t\t\t\t\t * 3 (buffering)\n\t\t\t\t\t\t\t\t * 5 (video cued).\n\t\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t'onStateChange': function( event ) {\n\t\t\t\t\t\t\t\t\tif( typeof event.target.getPlayerState != \"function\" ) return;\n\t\t\t\t\t\t\t\t\tvar state = event.target.getPlayerState();\n\n\t\t\t\t\t\t\t\t\tif( YTPlayer.state == state ) return;\n\n\t\t\t\t\t\t\t\t\tif( YTPlayer.preventTrigger ) {\n\t\t\t\t\t\t\t\t\t\tYTPlayer.preventTrigger = false;\n\t\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tYTPlayer.state = state;\n\n\t\t\t\t\t\t\t\t\tvar eventType;\n\t\t\t\t\t\t\t\t\tswitch( state ) {\n\t\t\t\t\t\t\t\t\t\tcase -1: //----------------------------------------------- unstarted\n\t\t\t\t\t\t\t\t\t\t\teventType = \"YTPUnstarted\";\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase 0: //------------------------------------------------ ended\n\t\t\t\t\t\t\t\t\t\t\teventType = \"YTPEnd\";\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase 1: //------------------------------------------------ play\n\t\t\t\t\t\t\t\t\t\t\teventType = \"YTPPlay\";\n\t\t\t\t\t\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPPlaypause\" ).html( jQuery.mbYTPlayer.controls.pause );\n\t\t\t\t\t\t\t\t\t\t\tif( typeof _gaq != \"undefined\" &amp;&amp; eval( YTPlayer.opt.gaTrack ) ) _gaq.push( [ '_trackEvent', 'YTPlayer', 'Play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) ] );\n\t\t\t\t\t\t\t\t\t\t\tif( typeof ga != \"undefined\" &amp;&amp; eval( YTPlayer.opt.gaTrack ) ) ga( 'send', 'event', 'YTPlayer', 'play', ( YTPlayer.hasData ? YTPlayer.videoData.title : YTPlayer.videoID.toString() ) );\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase 2: //------------------------------------------------ pause\n\t\t\t\t\t\t\t\t\t\t\teventType = \"YTPPause\";\n\t\t\t\t\t\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPPlaypause\" ).html( jQuery.mbYTPlayer.controls.play );\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase 3: //------------------------------------------------ buffer\n\t\t\t\t\t\t\t\t\t\t\tYTPlayer.player.setPlaybackQuality( YTPlayer.opt.quality );\n\t\t\t\t\t\t\t\t\t\t\teventType = \"YTPBuffering\";\n\t\t\t\t\t\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPPlaypause\" ).html( jQuery.mbYTPlayer.controls.play );\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tcase 5: //------------------------------------------------ cued\n\t\t\t\t\t\t\t\t\t\t\teventType = \"YTPCued\";\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// Trigger state events\n\t\t\t\t\t\t\t\t\tvar YTPEvent = jQuery.Event( eventType );\n\t\t\t\t\t\t\t\t\tYTPEvent.time = YTPlayer.currentTime;\n\t\t\t\t\t\t\t\t\tif( YTPlayer.canTrigger ) jQuery( YTPlayer ).trigger( YTPEvent );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t\t * @param e\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t'onPlaybackQualityChange': function( e ) {\n\t\t\t\t\t\t\t\t\tvar quality = e.target.getPlaybackQuality();\n\t\t\t\t\t\t\t\t\tvar YTPQualityChange = jQuery.Event( \"YTPQualityChange\" );\n\t\t\t\t\t\t\t\t\tYTPQualityChange.quality = quality;\n\t\t\t\t\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPQualityChange );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t\t * @param err\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t'onError': function( err ) {\n\n\t\t\t\t\t\t\t\t\tif( err.data == 150 ) {\n\t\t\t\t\t\t\t\t\t\tconsole.log( \"Embedding this video is restricted by Youtube.\" );\n\t\t\t\t\t\t\t\t\t\tif( YTPlayer.isPlayList ) jQuery( YTPlayer ).playNext();\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif( err.data == 2 &amp;&amp; YTPlayer.isPlayList )\n\t\t\t\t\t\t\t\t\t\tjQuery( YTPlayer ).playNext();\n\n\t\t\t\t\t\t\t\t\tif( typeof YTPlayer.opt.onError == \"function\" )\n\t\t\t\t\t\t\t\t\t\tYTPlayer.opt.onError( $YTPlayer, err );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t} );\n\n\t\t\t\t$YTPlayer.off( \"YTPTime.mask\" );\n\n\t\t\t\tjQuery.mbYTPlayer.applyMask( YTPlayer );\n\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param YTPlayer\n\t\t */\n\t\tgetDataFromAPI: function( YTPlayer ) {\n\t\t\tYTPlayer.videoData = jQuery.mbStorage.get( \"YTPlayer_data_\" + YTPlayer.videoID );\n\t\t\tjQuery( YTPlayer ).off( \"YTPData.YTPlayer\" ).on( \"YTPData.YTPlayer\", function() {\n\t\t\t\tif( YTPlayer.hasData ) {\n\n\t\t\t\t\tif( YTPlayer.isPlayer &amp;&amp; !YTPlayer.opt.autoPlay ) {\n\t\t\t\t\t\tvar bgndURL = YTPlayer.videoData.thumb_max || YTPlayer.videoData.thumb_high || YTPlayer.videoData.thumb_medium;\n\t\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\t\tbackground: \"rgba(0,0,0,0.5) url(\" + bgndURL + \") center center\",\n\t\t\t\t\t\t\tbackgroundSize: \"cover\"\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tYTPlayer.opt.backgroundUrl = bgndURL;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif( YTPlayer.videoData ) {\n\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tYTPlayer.opt.ratio = YTPlayer.opt.ratio == \"auto\" ? \"16/9\" : YTPlayer.opt.ratio;\n\t\t\t\t\tYTPlayer.dataReceived = true;\n\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPChanged\" );\n\t\t\t\t\tvar YTPData = jQuery.Event( \"YTPData\" );\n\t\t\t\t\tYTPData.prop = {};\n\t\t\t\t\tfor( var x in YTPlayer.videoData ) YTPData.prop[ x ] = YTPlayer.videoData[ x ];\n\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPData );\n\t\t\t\t}, 500 );\n\n\t\t\t\tYTPlayer.hasData = true;\n\t\t\t} else if( jQuery.mbYTPlayer.apiKey ) {\n\t\t\t\t// Get video info from API3 (needs api key)\n\t\t\t\t// snippet,player,contentDetails,statistics,status\n\t\t\t\tjQuery.getJSON( jQuery.mbYTPlayer.locationProtocol + \"//www.googleapis.com/youtube/v3/videos?id=\" + YTPlayer.videoID + \"&amp;key=\" + jQuery.mbYTPlayer.apiKey + \"&amp;part=snippet\", function( data ) {\n\t\t\t\t\tYTPlayer.dataReceived = true;\n\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPChanged\" );\n\n\t\t\t\t\tfunction parseYTPlayer_data( data ) {\n\t\t\t\t\t\tYTPlayer.videoData = {};\n\t\t\t\t\t\tYTPlayer.videoData.id = YTPlayer.videoID;\n\t\t\t\t\t\tYTPlayer.videoData.channelTitle = data.channelTitle;\n\t\t\t\t\t\tYTPlayer.videoData.title = data.title;\n\t\t\t\t\t\tYTPlayer.videoData.description = data.description.length &lt; 400 ? data.description : data.description.substring( 0, 400 ) + \" ...\";\n\t\t\t\t\t\tYTPlayer.videoData.aspectratio = YTPlayer.opt.ratio == \"auto\" ? \"16/9\" : YTPlayer.opt.ratio;\n\t\t\t\t\t\tYTPlayer.opt.ratio = YTPlayer.videoData.aspectratio;\n\t\t\t\t\t\tYTPlayer.videoData.thumb_max = data.thumbnails.maxres ? data.thumbnails.maxres.url : null;\n\t\t\t\t\t\tYTPlayer.videoData.thumb_high = data.thumbnails.high ? data.thumbnails.high.url : null;\n\t\t\t\t\t\tYTPlayer.videoData.thumb_medium = data.thumbnails.medium ? data.thumbnails.medium.url : null;\n\t\t\t\t\t\tjQuery.mbStorage.set( \"YTPlayer_data_\" + YTPlayer.videoID, YTPlayer.videoData );\n\t\t\t\t\t}\n\t\t\t\t\tparseYTPlayer_data( data.items[ 0 ].snippet );\n\t\t\t\t\tYTPlayer.hasData = true;\n\t\t\t\t\tvar YTPData = jQuery.Event( \"YTPData\" );\n\t\t\t\t\tYTPData.prop = {};\n\t\t\t\t\tfor( var x in YTPlayer.videoData ) YTPData.prop[ x ] = YTPlayer.videoData[ x ];\n\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPData );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPChanged\" );\n\t\t\t\t}, 50 );\n\t\t\t\tif( YTPlayer.isPlayer &amp;&amp; !YTPlayer.opt.autoPlay ) {\n\t\t\t\t\tvar bgndURL = jQuery.mbYTPlayer.locationProtocol + \"//i.ytimg.com/vi/\" + YTPlayer.videoID + \"/hqdefault.jpg\";\n\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\tbackground: \"rgba(0,0,0,0.5) url(\" + bgndURL + \") center center\",\n\t\t\t\t\t\tbackgroundSize: \"cover\"\n\t\t\t\t\t} );\n\t\t\t\t\tYTPlayer.opt.backgroundUrl = bgndURL;\n\t\t\t\t}\n\t\t\t\tYTPlayer.videoData = null;\n\t\t\t\tYTPlayer.opt.ratio = YTPlayer.opt.ratio == \"auto\" ? \"16/9\" : YTPlayer.opt.ratio;\n\t\t\t}\n\t\t\tif( YTPlayer.isPlayer &amp;&amp; !YTPlayer.opt.autoPlay ) {\n\t\t\t\tYTPlayer.loading = jQuery( \"&lt;div/&gt;\" ).addClass( \"loading\" ).html( \"Loading\" ).hide();\n\t\t\t\tjQuery( YTPlayer ).append( YTPlayer.loading );\n\t\t\t\tYTPlayer.loading.fadeIn();\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t */\n\t\tremoveStoredData: function() {\n\t\t\tjQuery.mbStorage.remove();\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {*|YTPlayer.videoData}\n\t\t */\n\t\tgetVideoData: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\treturn YTPlayer.videoData;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {*|YTPlayer.videoID|boolean}\n\t\t */\n\t\tgetVideoID: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\treturn YTPlayer.videoID || false;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param quality\n\t\t */\n\t\tsetVideoQuality: function( quality ) {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\t//if( !jQuery.browser.chrome )\n\t\t\tYTPlayer.player.setPlaybackQuality( quality );\n\t\t},\n\t\t/**\n\t\t * @param videos\n\t\t * @param shuffle\n\t\t * @param callback\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tplaylist: function( videos, shuffle, callback ) {\n\t\t\tvar $YTPlayer = this;\n\t\t\tvar YTPlayer = $YTPlayer.get( 0 );\n\t\t\tYTPlayer.isPlayList = true;\n\t\t\tif( shuffle ) videos = jQuery.shuffle( videos );\n\t\t\tif( !YTPlayer.videoID ) {\n\t\t\t\tYTPlayer.videos = videos;\n\t\t\t\tYTPlayer.videoCounter = 0;\n\t\t\t\tYTPlayer.videoLength = videos.length;\n\t\t\t\tjQuery( YTPlayer ).data( \"property\", videos[ 0 ] );\n\t\t\t\tjQuery( YTPlayer ).mb_YTPlayer();\n\t\t\t}\n\t\t\tif( typeof callback == \"function\" ) jQuery( YTPlayer ).one( \"YTPChanged\", function() {\n\t\t\t\tcallback( YTPlayer );\n\t\t\t} );\n\t\t\tjQuery( YTPlayer ).on( \"YTPEnd\", function() {\n\t\t\t\tjQuery( YTPlayer ).playNext();\n\t\t\t} );\n\t\t\treturn $YTPlayer;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tplayNext: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\n\t\t\tif( YTPlayer.checkForStartAt ) {\n\t\t\t\tclearTimeout( YTPlayer.checkForStartAt );\n\t\t\t\tclearInterval( YTPlayer.getState );\n\t\t\t}\n\n\t\t\tYTPlayer.videoCounter++;\n\t\t\tif( YTPlayer.videoCounter &gt;= YTPlayer.videoLength ) YTPlayer.videoCounter = 0;\n\t\t\tjQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] );\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tplayPrev: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\n\t\t\tif( YTPlayer.checkForStartAt ) {\n\t\t\t\tclearInterval( YTPlayer.checkForStartAt );\n\t\t\t\tclearInterval( YTPlayer.getState );\n\t\t\t}\n\n\t\t\tYTPlayer.videoCounter--;\n\t\t\tif( YTPlayer.videoCounter &lt; 0 ) YTPlayer.videoCounter = YTPlayer.videoLength - 1;\n\t\t\tjQuery( YTPlayer ).changeMovie( YTPlayer.videos[ YTPlayer.videoCounter ] );\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param opt\n\t\t */\n\t\tchangeMovie: function( opt ) {\n\n\t\t\tvar $YTPlayer = this;\n\t\t\tvar YTPlayer = $YTPlayer.get( 0 );\n\t\t\tYTPlayer.opt.startAt = 0;\n\t\t\tYTPlayer.opt.stopAt = 0;\n\t\t\tYTPlayer.opt.mask = false;\n\t\t\tYTPlayer.opt.mute = true;\n\t\t\tYTPlayer.hasData = false;\n\t\t\tYTPlayer.hasChanged = true;\n\t\t\tYTPlayer.player.loopTime = undefined;\n\n\t\t\tif( opt )\n\t\t\t\tjQuery.extend( YTPlayer.opt, opt ); //YTPlayer.defaultOpt,\n\t\t\tYTPlayer.videoID = getYTPVideoID( YTPlayer.opt.videoURL ).videoID;\n\n\t\t\tif( YTPlayer.opt.loop == \"true\" )\n\t\t\t\tYTPlayer.opt.loop = 9999;\n\n\t\t\tjQuery( YTPlayer.playerEl ).CSSAnimate( {\n\t\t\t\topacity: 0\n\t\t\t}, 200, function() {\n\n\t\t\t\tvar YTPChangeMovie = jQuery.Event( \"YTPChangeMovie\" );\n\t\t\t\tYTPChangeMovie.time = YTPlayer.currentTime;\n\t\t\t\tYTPChangeMovie.videoId = YTPlayer.videoID;\n\t\t\t\tjQuery( YTPlayer ).trigger( YTPChangeMovie );\n\n\t\t\t\tjQuery( YTPlayer ).YTPGetPlayer().cueVideoByUrl( encodeURI( jQuery.mbYTPlayer.locationProtocol + \"//www.youtube.com/v/\" + YTPlayer.videoID ), 1, YTPlayer.opt.quality );\n\t\t\t\tjQuery( YTPlayer ).optimizeDisplay();\n\n\t\t\t\tjQuery.mbYTPlayer.checkForState( YTPlayer );\n\t\t\t\tjQuery.mbYTPlayer.getDataFromAPI( YTPlayer );\n\n\t\t\t} );\n\n\t\t\tjQuery.mbYTPlayer.applyMask( YTPlayer );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {player}\n\t\t */\n\t\tgetPlayer: function() {\n\t\t\treturn jQuery( this ).get( 0 ).player;\n\t\t},\n\n\t\tplayerDestroy: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tytp.YTAPIReady = true;\n\t\t\tytp.backgroundIsInited = false;\n\t\t\tYTPlayer.isInit = false;\n\t\t\tYTPlayer.videoID = null;\n\t\t\tvar playerBox = YTPlayer.wrapper;\n\t\t\tplayerBox.remove();\n\t\t\tjQuery( \"#controlBar_\" + YTPlayer.id ).remove();\n\t\t\tclearInterval( YTPlayer.checkForStartAt );\n\t\t\tclearInterval( YTPlayer.getState );\n\t\t\treturn this;\n\t\t},\n\n\t\t/**\n\t\t *\n\t\t * @param real\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tfullscreen: function( real ) {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( typeof real == \"undefined\" ) real = YTPlayer.opt.realfullscreen;\n\t\t\treal = eval( real );\n\t\t\tvar controls = jQuery( \"#controlBar_\" + YTPlayer.id );\n\t\t\tvar fullScreenBtn = controls.find( \".mb_OnlyYT\" );\n\t\t\tvar videoWrapper = YTPlayer.isSelf ? YTPlayer.opt.containment : YTPlayer.wrapper;\n\t\t\t//var videoWrapper = YTPlayer.wrapper;\n\t\t\tif( real ) {\n\t\t\t\tvar fullscreenchange = jQuery.browser.mozilla ? \"mozfullscreenchange\" : jQuery.browser.webkit ? \"webkitfullscreenchange\" : \"fullscreenchange\";\n\t\t\t\tjQuery( document ).off( fullscreenchange ).on( fullscreenchange, function() {\n\t\t\t\t\tvar isFullScreen = RunPrefixMethod( document, \"IsFullScreen\" ) || RunPrefixMethod( document, \"FullScreen\" );\n\t\t\t\t\tif( !isFullScreen ) {\n\t\t\t\t\t\tYTPlayer.isAlone = false;\n\t\t\t\t\t\tfullScreenBtn.html( jQuery.mbYTPlayer.controls.onlyYT );\n\t\t\t\t\t\tjQuery( YTPlayer ).YTPSetVideoQuality( YTPlayer.opt.quality );\n\t\t\t\t\t\tvideoWrapper.removeClass( \"YTPFullscreen\" );\n\t\t\t\t\t\tvideoWrapper.CSSAnimate( {\n\t\t\t\t\t\t\topacity: YTPlayer.opt.opacity\n\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t\tvideoWrapper.css( {\n\t\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tif( YTPlayer.isBackground ) {\n\t\t\t\t\t\t\tjQuery( \"body\" ).after( controls );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tYTPlayer.wrapper.before( controls );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tjQuery( window ).resize();\n\t\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPFullScreenEnd\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( YTPlayer ).YTPSetVideoQuality( \"default\" );\n\t\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPFullScreenStart\" );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\tif( !YTPlayer.isAlone ) {\n\t\t\t\tfunction hideMouse() {\n\t\t\t\t\tYTPlayer.overlay.css( {\n\t\t\t\t\t\tcursor: \"none\"\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\tjQuery( document ).on( \"mousemove.YTPlayer\", function( e ) {\n\t\t\t\t\tYTPlayer.overlay.css( {\n\t\t\t\t\t\tcursor: \"auto\"\n\t\t\t\t\t} );\n\t\t\t\t\tclearTimeout( YTPlayer.hideCursor );\n\t\t\t\t\tif( !jQuery( e.target ).parents().is( \".mb_YTPBar\" ) ) YTPlayer.hideCursor = setTimeout( hideMouse, 3000 );\n\t\t\t\t} );\n\t\t\t\thideMouse();\n\t\t\t\tif( real ) {\n\t\t\t\t\tvideoWrapper.css( {\n\t\t\t\t\t\topacity: 0\n\t\t\t\t\t} );\n\t\t\t\t\tvideoWrapper.addClass( \"YTPFullscreen\" );\n\t\t\t\t\tlaunchFullscreen( videoWrapper.get( 0 ) );\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tvideoWrapper.CSSAnimate( {\n\t\t\t\t\t\t\topacity: 1\n\t\t\t\t\t\t}, 1000 );\n\t\t\t\t\t\tYTPlayer.wrapper.append( controls );\n\t\t\t\t\t\tjQuery( YTPlayer ).optimizeDisplay();\n\t\t\t\t\t\tYTPlayer.player.seekTo( YTPlayer.player.getCurrentTime() + .1, true );\n\t\t\t\t\t}, 500 )\n\t\t\t\t} else videoWrapper.css( {\n\t\t\t\t\tzIndex: 10000\n\t\t\t\t} ).CSSAnimate( {\n\t\t\t\t\topacity: 1\n\t\t\t\t}, 1000 );\n\t\t\t\tfullScreenBtn.html( jQuery.mbYTPlayer.controls.showSite );\n\t\t\t\tYTPlayer.isAlone = true;\n\t\t\t} else {\n\t\t\t\tjQuery( document ).off( \"mousemove.YTPlayer\" );\n\t\t\t\tYTPlayer.overlay.css( {\n\t\t\t\t\tcursor: \"auto\"\n\t\t\t\t} );\n\t\t\t\tif( real ) {\n\t\t\t\t\tcancelFullscreen();\n\t\t\t\t} else {\n\t\t\t\t\tvideoWrapper.CSSAnimate( {\n\t\t\t\t\t\topacity: YTPlayer.opt.opacity\n\t\t\t\t\t}, 500 );\n\t\t\t\t\tvideoWrapper.css( {\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\tfullScreenBtn.html( jQuery.mbYTPlayer.controls.onlyYT );\n\t\t\t\tYTPlayer.isAlone = false;\n\t\t\t}\n\n\t\t\tfunction RunPrefixMethod( obj, method ) {\n\t\t\t\tvar pfx = [ \"webkit\", \"moz\", \"ms\", \"o\", \"\" ];\n\t\t\t\tvar p = 0,\n\t\t\t\t\tm, t;\n\t\t\t\twhile( p &lt; pfx.length &amp;&amp; !obj[ m ] ) {\n\t\t\t\t\tm = method;\n\t\t\t\t\tif( pfx[ p ] == \"\" ) {\n\t\t\t\t\t\tm = m.substr( 0, 1 ).toLowerCase() + m.substr( 1 );\n\t\t\t\t\t}\n\t\t\t\t\tm = pfx[ p ] + m;\n\t\t\t\t\tt = typeof obj[ m ];\n\t\t\t\t\tif( t != \"undefined\" ) {\n\t\t\t\t\t\tpfx = [ pfx[ p ] ];\n\t\t\t\t\t\treturn( t == \"function\" ? obj[ m ]() : obj[ m ] );\n\t\t\t\t\t}\n\t\t\t\t\tp++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction launchFullscreen( element ) {\n\t\t\t\tRunPrefixMethod( element, \"RequestFullScreen\" );\n\t\t\t}\n\n\t\t\tfunction cancelFullscreen() {\n\t\t\t\tif( RunPrefixMethod( document, \"FullScreen\" ) || RunPrefixMethod( document, \"IsFullScreen\" ) ) {\n\t\t\t\t\tRunPrefixMethod( document, \"CancelFullScreen\" );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\ttoggleLoops: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tvar data = YTPlayer.opt;\n\t\t\tif( data.loop == 1 ) {\n\t\t\t\tdata.loop = 0;\n\t\t\t} else {\n\t\t\t\tif( data.startAt ) {\n\t\t\t\t\tYTPlayer.player.seekTo( data.startAt );\n\t\t\t\t} else {\n\t\t\t\t\tYTPlayer.player.playVideo();\n\t\t\t\t}\n\t\t\t\tdata.loop = 1;\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tplay: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( !YTPlayer.isReady ) return;\n\n\t\t\tYTPlayer.player.playVideo();\n\t\t\tYTPlayer.wrapper.CSSAnimate( {\n\t\t\t\topacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity\n\t\t\t}, 2000 );\n\n\t\t\tjQuery( YTPlayer.playerEl ).CSSAnimate( {\n\t\t\t\topacity: 1\n\t\t\t}, 1000 );\n\n\t\t\tvar controls = jQuery( \"#controlBar_\" + YTPlayer.id );\n\t\t\tvar playBtn = controls.find( \".mb_YTPPlaypause\" );\n\t\t\tplayBtn.html( jQuery.mbYTPlayer.controls.pause );\n\n\t\t\tjQuery( YTPlayer ).css( \"background-image\", \"none\" );\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param callback\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\ttogglePlay: function( callback ) {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( YTPlayer.state == 1 ) this.YTPPause();\n\t\t\telse this.YTPPlay();\n\n\t\t\tif( typeof callback == \"function\" )\n\t\t\t\tcallback( YTPlayer.state );\n\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tstop: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tvar controls = jQuery( \"#controlBar_\" + YTPlayer.id );\n\t\t\tvar playBtn = controls.find( \".mb_YTPPlaypause\" );\n\t\t\tplayBtn.html( jQuery.mbYTPlayer.controls.play );\n\t\t\tYTPlayer.player.stopVideo();\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tpause: function() {\n\t\t\t// var YTPlayer = this.get( 0 );\n\t\t\t// YTPlayer.player.pauseVideo();\n\t\t\t// return this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param val\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tseekTo: function( val ) {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tYTPlayer.player.seekTo( val, true );\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param val\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tsetVolume: function( val ) {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( !val &amp;&amp; !YTPlayer.opt.vol &amp;&amp; YTPlayer.player.getVolume() == 0 ) jQuery( YTPlayer ).YTPUnmute();\n\t\t\telse if( ( !val &amp;&amp; YTPlayer.player.getVolume() &gt; 0 ) || ( val &amp;&amp; YTPlayer.opt.vol == val ) ) {\n\t\t\t\tif( !YTPlayer.isMute ) jQuery( YTPlayer ).YTPMute();\n\t\t\t\telse jQuery( YTPlayer ).YTPUnmute();\n\t\t\t} else {\n\t\t\t\tYTPlayer.opt.vol = val;\n\t\t\t\tYTPlayer.player.setVolume( YTPlayer.opt.vol );\n\t\t\t\tif( YTPlayer.volumeBar &amp;&amp; YTPlayer.volumeBar.length ) YTPlayer.volumeBar.updateSliderVal( val )\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\ttoggleVolume: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( !YTPlayer ) return;\n\t\t\tif( YTPlayer.player.isMuted() ) {\n\t\t\t\tjQuery( YTPlayer ).YTPUnmute();\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tjQuery( YTPlayer ).YTPMute();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tmute: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( YTPlayer.isMute ) return;\n\t\t\tYTPlayer.player.mute();\n\t\t\tYTPlayer.isMute = true;\n\t\t\tYTPlayer.player.setVolume( 0 );\n\t\t\tif( YTPlayer.volumeBar &amp;&amp; YTPlayer.volumeBar.length &amp;&amp; YTPlayer.volumeBar.width() &gt; 10 ) {\n\t\t\t\tYTPlayer.volumeBar.updateSliderVal( 0 );\n\t\t\t}\n\t\t\tvar controls = jQuery( \"#controlBar_\" + YTPlayer.id );\n\t\t\tvar muteBtn = controls.find( \".mb_YTPMuteUnmute\" );\n\t\t\tmuteBtn.html( jQuery.mbYTPlayer.controls.unmute );\n\t\t\tjQuery( YTPlayer ).addClass( \"isMuted\" );\n\t\t\tif( YTPlayer.volumeBar &amp;&amp; YTPlayer.volumeBar.length ) YTPlayer.volumeBar.addClass( \"muted\" );\n\t\t\tvar YTPEvent = jQuery.Event( \"YTPMuted\" );\n\t\t\tYTPEvent.time = YTPlayer.currentTime;\n\t\t\tif( YTPlayer.canTrigger ) jQuery( YTPlayer ).trigger( YTPEvent );\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tunmute: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tif( !YTPlayer.isMute ) return;\n\t\t\tYTPlayer.player.unMute();\n\t\t\tYTPlayer.isMute = false;\n\t\t\tYTPlayer.player.setVolume( YTPlayer.opt.vol );\n\t\t\tif( YTPlayer.volumeBar &amp;&amp; YTPlayer.volumeBar.length ) YTPlayer.volumeBar.updateSliderVal( YTPlayer.opt.vol &gt; 10 ? YTPlayer.opt.vol : 10 );\n\t\t\tvar controls = jQuery( \"#controlBar_\" + YTPlayer.id );\n\t\t\tvar muteBtn = controls.find( \".mb_YTPMuteUnmute\" );\n\t\t\tmuteBtn.html( jQuery.mbYTPlayer.controls.mute );\n\t\t\tjQuery( YTPlayer ).removeClass( \"isMuted\" );\n\t\t\tif( YTPlayer.volumeBar &amp;&amp; YTPlayer.volumeBar.length ) YTPlayer.volumeBar.removeClass( \"muted\" );\n\t\t\tvar YTPEvent = jQuery.Event( \"YTPUnmuted\" );\n\t\t\tYTPEvent.time = YTPlayer.currentTime;\n\t\t\tif( YTPlayer.canTrigger ) jQuery( YTPlayer ).trigger( YTPEvent );\n\t\t\treturn this;\n\t\t},\n\t\t/**\n\t\t * FILTERS\n\t\t *\n\t\t *\n\t\t * @param filter\n\t\t * @param value\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tapplyFilter: function( filter, value ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tYTPlayer.filters[ filter ].value = value;\n\t\t\t\tif( YTPlayer.filtersEnabled )\n\t\t\t\t\tjQuery( YTPlayer ).YTPEnableFilters();\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param filters\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tapplyFilters: function( filters ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tif( !YTPlayer.isReady ) {\n\t\t\t\t\tjQuery( YTPlayer ).on( \"YTPReady\", function() {\n\t\t\t\t\t\tjQuery( YTPlayer ).YTPApplyFilters( filters );\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor( var key in filters )\n\t\t\t\t\tjQuery( YTPlayer ).YTPApplyFilter( key, filters[ key ] );\n\n\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPFiltersApplied\" );\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param filter\n\t\t * @param value\n\t\t * @returns {*}\n\t\t */\n\t\ttoggleFilter: function( filter, value ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tif( !YTPlayer.filters[ filter ].value ) YTPlayer.filters[ filter ].value = value;\n\t\t\t\telse YTPlayer.filters[ filter ].value = 0;\n\t\t\t\tif( YTPlayer.filtersEnabled ) jQuery( this ).YTPEnableFilters();\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param callback\n\t\t * @returns {*}\n\t\t */\n\t\ttoggleFilters: function( callback ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tif( YTPlayer.filtersEnabled ) {\n\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPDisableFilters\" );\n\t\t\t\t\tjQuery( YTPlayer ).YTPDisableFilters();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( YTPlayer ).YTPEnableFilters();\n\t\t\t\t\tjQuery( YTPlayer ).trigger( \"YTPEnableFilters\" );\n\t\t\t\t}\n\t\t\t\tif( typeof callback == \"function\" )\n\t\t\t\t\tcallback( YTPlayer.filtersEnabled );\n\t\t\t} )\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {*}\n\t\t */\n\t\tdisableFilters: function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tvar iframe = jQuery( YTPlayer.playerEl );\n\t\t\t\tiframe.css( \"-webkit-filter\", \"\" );\n\t\t\t\tiframe.css( \"filter\", \"\" );\n\t\t\t\tYTPlayer.filtersEnabled = false;\n\t\t\t} )\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {*}\n\t\t */\n\t\tenableFilters: function() {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tvar iframe = jQuery( YTPlayer.playerEl );\n\t\t\t\tvar filterStyle = \"\";\n\t\t\t\tfor( var key in YTPlayer.filters ) {\n\t\t\t\t\tif( YTPlayer.filters[ key ].value )\n\t\t\t\t\t\tfilterStyle += key.replace( \"_\", \"-\" ) + \"(\" + YTPlayer.filters[ key ].value + YTPlayer.filters[ key ].unit + \") \";\n\t\t\t\t}\n\t\t\t\tiframe.css( \"-webkit-filter\", filterStyle );\n\t\t\t\tiframe.css( \"filter\", filterStyle );\n\t\t\t\tYTPlayer.filtersEnabled = true;\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param filter\n\t\t * @param callback\n\t\t * @returns {*}\n\t\t */\n\t\tremoveFilter: function( filter, callback ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tvar YTPlayer = this;\n\t\t\t\tif( typeof filter == \"function\" ) {\n\t\t\t\t\tcallback = filter;\n\t\t\t\t\tfilter = null;\n\t\t\t\t}\n\t\t\t\tif( !filter )\n\t\t\t\t\tfor( var key in YTPlayer.filters ) {\n\t\t\t\t\t\tjQuery( this ).YTPApplyFilter( key, 0 );\n\t\t\t\t\t\tif( typeof callback == \"function\" ) callback( key );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( this ).YTPApplyFilter( filter, 0 );\n\t\t\t\t\t\tif( typeof callback == \"function\" ) callback( filter );\n\t\t\t\t\t}\n\t\t\t} );\n\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {*}\n\t\t */\n\t\tgetFilters: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\treturn YTPlayer.filters;\n\t\t},\n\t\t/**\n\t\t * MASK\n\t\t *\n\t\t *\n\t\t * @param mask\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\taddMask: function( mask ) {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tvar overlay = YTPlayer.overlay;\n\n\t\t\tif( !mask ) {\n\t\t\t\tmask = YTPlayer.actualMask;\n\t\t\t}\n\n\t\t\tvar tempImg = jQuery( \"&lt;img/&gt;\" ).attr( \"src\", mask ).on( \"load\", function() {\n\n\t\t\t\toverlay.CSSAnimate( {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, 500, function() {\n\n\t\t\t\t\tYTPlayer.hasMask = true;\n\n\t\t\t\t\ttempImg.remove();\n\n\t\t\t\t\toverlay.css( {\n\t\t\t\t\t\tbackgroundImage: \"url(\" + mask + \")\",\n\t\t\t\t\t\tbackgroundRepeat: \"no-repeat\",\n\t\t\t\t\t\tbackgroundPosition: \"center center\",\n\t\t\t\t\t\tbackgroundSize: \"cover\"\n\t\t\t\t\t} );\n\n\t\t\t\t\toverlay.CSSAnimate( {\n\t\t\t\t\t\topacity: 1\n\t\t\t\t\t}, 500 );\n\n\t\t\t\t} );\n\n\t\t\t} );\n\n\t\t\treturn this;\n\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {jQuery.mbYTPlayer}\n\t\t */\n\t\tremoveMask: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tvar overlay = YTPlayer.overlay;\n\t\t\toverlay.CSSAnimate( {\n\t\t\t\topacity: 0\n\t\t\t}, 500, function() {\n\n\t\t\t\tYTPlayer.hasMask = false;\n\n\t\t\t\toverlay.css( {\n\t\t\t\t\tbackgroundImage: \"\",\n\t\t\t\t\tbackgroundRepeat: \"\",\n\t\t\t\t\tbackgroundPosition: \"\",\n\t\t\t\t\tbackgroundSize: \"\"\n\t\t\t\t} );\n\t\t\t\toverlay.CSSAnimate( {\n\t\t\t\t\topacity: 1\n\t\t\t\t}, 500 );\n\n\t\t\t} );\n\n\t\t\treturn this;\n\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param YTPlayer\n\t\t */\n\t\tapplyMask: function( YTPlayer ) {\n\t\t\tvar $YTPlayer = jQuery( YTPlayer );\n\t\t\t$YTPlayer.off( \"YTPTime.mask\" );\n\n\t\t\tif( YTPlayer.opt.mask ) {\n\n\t\t\t\tif( typeof YTPlayer.opt.mask == \"string\" ) {\n\t\t\t\t\t$YTPlayer.YTPAddMask( YTPlayer.opt.mask );\n\n\t\t\t\t\tYTPlayer.actualMask = YTPlayer.opt.mask;\n\n\t\t\t\t} else if( typeof YTPlayer.opt.mask == \"object\" ) {\n\n\t\t\t\t\tfor( var time in YTPlayer.opt.mask ) {\n\t\t\t\t\t\tif( YTPlayer.opt.mask[ time ] )\n\t\t\t\t\t\t\tvar img = jQuery( \"&lt;img/&gt;\" ).attr( \"src\", YTPlayer.opt.mask[ time ] );\n\t\t\t\t\t}\n\n\t\t\t\t\tif( YTPlayer.opt.mask[ 0 ] )\n\t\t\t\t\t\t$YTPlayer.YTPAddMask( YTPlayer.opt.mask[ 0 ] );\n\n\t\t\t\t\t$YTPlayer.on( \"YTPTime.mask\", function( e ) {\n\t\t\t\t\t\tfor( var time in YTPlayer.opt.mask ) {\n\t\t\t\t\t\t\tif( e.time == time )\n\t\t\t\t\t\t\t\tif( !YTPlayer.opt.mask[ time ] ) {\n\t\t\t\t\t\t\t\t\t$YTPlayer.YTPRemoveMask();\n\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t$YTPlayer.YTPAddMask( YTPlayer.opt.mask[ time ] );\n\t\t\t\t\t\t\t\t\tYTPlayer.actualMask = YTPlayer.opt.mask[ time ];\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {{totalTime: number, currentTime: number}}\n\t\t */\n\t\tmanageProgress: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\tvar controls = jQuery( \"#controlBar_\" + YTPlayer.id );\n\t\t\tvar progressBar = controls.find( \".mb_YTPProgress\" );\n\t\t\tvar loadedBar = controls.find( \".mb_YTPLoaded\" );\n\t\t\tvar timeBar = controls.find( \".mb_YTPseekbar\" );\n\t\t\tvar totW = progressBar.outerWidth();\n\t\t\tvar currentTime = Math.floor( YTPlayer.player.getCurrentTime() );\n\t\t\tvar totalTime = Math.floor( YTPlayer.player.getDuration() );\n\t\t\tvar timeW = ( currentTime * totW ) / totalTime;\n\t\t\tvar startLeft = 0;\n\t\t\tvar loadedW = YTPlayer.player.getVideoLoadedFraction() * 100;\n\t\t\tloadedBar.css( {\n\t\t\t\tleft: startLeft,\n\t\t\t\twidth: loadedW + \"%\"\n\t\t\t} );\n\t\t\ttimeBar.css( {\n\t\t\t\tleft: 0,\n\t\t\t\twidth: timeW\n\t\t\t} );\n\t\t\treturn {\n\t\t\t\ttotalTime: totalTime,\n\t\t\t\tcurrentTime: currentTime\n\t\t\t};\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param YTPlayer\n\t\t */\n\t\tbuildControls: function( YTPlayer ) {\n\t\t\tvar data = YTPlayer.opt;\n\t\t\t// @data.printUrl: is deprecated; use data.showYTLogo\n\t\t\tdata.showYTLogo = data.showYTLogo || data.printUrl;\n\t\t\tif( jQuery( \"#controlBar_\" + YTPlayer.id ).length ) return;\n\t\t\tYTPlayer.controlBar = jQuery( \"&lt;span/&gt;\" ).attr( \"id\", \"controlBar_\" + YTPlayer.id ).addClass( \"mb_YTPBar\" ).css( {\n\t\t\t\twhiteSpace: \"noWrap\",\n\t\t\t\tposition: YTPlayer.isBackground ? \"fixed\" : \"absolute\",\n\t\t\t\tzIndex: YTPlayer.isBackground ? 10000 : 1000\n\t\t\t} ).hide();\n\t\t\tvar buttonBar = jQuery( \"&lt;div/&gt;\" ).addClass( \"buttonBar\" );\n\t\t\t/* play/pause button*/\n\t\t\tvar playpause = jQuery( \"&lt;span&gt;\" + jQuery.mbYTPlayer.controls.play + \"&lt;/span&gt;\" ).addClass( \"mb_YTPPlaypause ytpicon\" ).click( function() {\n\t\t\t\tif( YTPlayer.player.getPlayerState() == 1 ) jQuery( YTPlayer ).YTPPause();\n\t\t\t\telse jQuery( YTPlayer ).YTPPlay();\n\t\t\t} );\n\t\t\t/* mute/unmute button*/\n\t\t\tvar MuteUnmute = jQuery( \"&lt;span&gt;\" + jQuery.mbYTPlayer.controls.mute + \"&lt;/span&gt;\" ).addClass( \"mb_YTPMuteUnmute ytpicon\" ).click( function() {\n\t\t\t\tif( YTPlayer.player.getVolume() == 0 ) {\n\t\t\t\t\tjQuery( YTPlayer ).YTPUnmute();\n\t\t\t\t} else {\n\t\t\t\t\tjQuery( YTPlayer ).YTPMute();\n\t\t\t\t}\n\t\t\t} );\n\t\t\t/* volume bar*/\n\t\t\tvar volumeBar = jQuery( \"&lt;div/&gt;\" ).addClass( \"mb_YTPVolumeBar\" ).css( {\n\t\t\t\tdisplay: \"inline-block\"\n\t\t\t} );\n\t\t\tYTPlayer.volumeBar = volumeBar;\n\t\t\t/* time elapsed */\n\t\t\tvar idx = jQuery( \"&lt;span/&gt;\" ).addClass( \"mb_YTPTime\" );\n\t\t\tvar vURL = data.videoURL ? data.videoURL : \"\";\n\t\t\tif( vURL.indexOf( \"https\" ) &lt; 0 ) vURL = jQuery.mbYTPlayer.locationProtocol + \"//www.youtube.com/watch?v=\" + data.videoURL;\n\t\t\tvar movieUrl = jQuery( \"&lt;span/&gt;\" ).html( jQuery.mbYTPlayer.controls.ytLogo ).addClass( \"mb_YTPUrl ytpicon\" ).attr( \"title\", \"view on YouTube\" ).on( \"click\", function() {\n\t\t\t\twindow.open( vURL, \"viewOnYT\" )\n\t\t\t} );\n\t\t\tvar onlyVideo = jQuery( \"&lt;span/&gt;\" ).html( jQuery.mbYTPlayer.controls.onlyYT ).addClass( \"mb_OnlyYT ytpicon\" ).on( \"click\", function() {\n\t\t\t\tjQuery( YTPlayer ).YTPFullscreen( data.realfullscreen );\n\t\t\t} );\n\t\t\tvar progressBar = jQuery( \"&lt;div/&gt;\" ).addClass( \"mb_YTPProgress\" ).css( \"position\", \"absolute\" ).click( function( e ) {\n\t\t\t\ttimeBar.css( {\n\t\t\t\t\twidth: ( e.clientX - timeBar.offset().left )\n\t\t\t\t} );\n\t\t\t\tYTPlayer.timeW = e.clientX - timeBar.offset().left;\n\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPLoaded\" ).css( {\n\t\t\t\t\twidth: 0\n\t\t\t\t} );\n\t\t\t\tvar totalTime = Math.floor( YTPlayer.player.getDuration() );\n\t\t\t\tYTPlayer.goto = ( timeBar.outerWidth() * totalTime ) / progressBar.outerWidth();\n\t\t\t\tYTPlayer.player.seekTo( parseFloat( YTPlayer.goto ), true );\n\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPLoaded\" ).css( {\n\t\t\t\t\twidth: 0\n\t\t\t\t} );\n\t\t\t} );\n\t\t\tvar loadedBar = jQuery( \"&lt;div/&gt;\" ).addClass( \"mb_YTPLoaded\" ).css( \"position\", \"absolute\" );\n\t\t\tvar timeBar = jQuery( \"&lt;div/&gt;\" ).addClass( \"mb_YTPseekbar\" ).css( \"position\", \"absolute\" );\n\t\t\tprogressBar.append( loadedBar ).append( timeBar );\n\t\t\tbuttonBar.append( playpause ).append( MuteUnmute ).append( volumeBar ).append( idx );\n\t\t\tif( data.showYTLogo ) {\n\t\t\t\tbuttonBar.append( movieUrl );\n\t\t\t}\n\t\t\tif( YTPlayer.isBackground || ( eval( YTPlayer.opt.realfullscreen ) &amp;&amp; !YTPlayer.isBackground ) ) buttonBar.append( onlyVideo );\n\t\t\tYTPlayer.controlBar.append( buttonBar ).append( progressBar );\n\t\t\tif( !YTPlayer.isBackground ) {\n\t\t\t\tYTPlayer.controlBar.addClass( \"inlinePlayer\" );\n\t\t\t\tYTPlayer.wrapper.before( YTPlayer.controlBar );\n\t\t\t} else {\n\t\t\t\tjQuery( \"body\" ).after( YTPlayer.controlBar );\n\t\t\t}\n\t\t\tvolumeBar.simpleSlider( {\n\t\t\t\tinitialval: YTPlayer.opt.vol,\n\t\t\t\tscale: 100,\n\t\t\t\torientation: \"h\",\n\t\t\t\tcallback: function( el ) {\n\t\t\t\t\tif( el.value == 0 ) {\n\t\t\t\t\t\tjQuery( YTPlayer ).YTPMute();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tjQuery( YTPlayer ).YTPUnmute();\n\t\t\t\t\t}\n\t\t\t\t\tYTPlayer.player.setVolume( el.value );\n\t\t\t\t\tif( !YTPlayer.isMute ) YTPlayer.opt.vol = el.value;\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param YTPlayer\n\t\t */\n\t\tcheckForState: function( YTPlayer ) {\n\t\t\tvar interval = YTPlayer.opt.showControls ? 100 : 400;\n\t\t\tclearInterval( YTPlayer.getState );\n\t\t\t//Checking if player has been removed from scene\n\t\t\tif( !jQuery.contains( document, YTPlayer ) ) {\n\t\t\t\tjQuery( YTPlayer ).YTPPlayerDestroy();\n\t\t\t\tclearInterval( YTPlayer.getState );\n\t\t\t\tclearInterval( YTPlayer.checkForStartAt );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tjQuery.mbYTPlayer.checkForStart( YTPlayer );\n\n\t\t\tYTPlayer.getState = setInterval( function() {\n\t\t\t\tvar prog = jQuery( YTPlayer ).YTPManageProgress();\n\t\t\t\tvar $YTPlayer = jQuery( YTPlayer );\n\t\t\t\tvar data = YTPlayer.opt;\n\t\t\t\tvar startAt = YTPlayer.opt.startAt ? YTPlayer.opt.startAt : 1;\n\t\t\t\tvar stopAt = YTPlayer.opt.stopAt &gt; YTPlayer.opt.startAt ? YTPlayer.opt.stopAt : 0;\n\t\t\t\tstopAt = stopAt &lt; YTPlayer.player.getDuration() ? stopAt : 0;\n\t\t\t\tif( YTPlayer.currentTime != prog.currentTime ) {\n\n\t\t\t\t\tvar YTPEvent = jQuery.Event( \"YTPTime\" );\n\t\t\t\t\tYTPEvent.time = YTPlayer.currentTime;\n\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPEvent );\n\n\t\t\t\t}\n\t\t\t\tYTPlayer.currentTime = prog.currentTime;\n\t\t\t\tYTPlayer.totalTime = YTPlayer.player.getDuration();\n\t\t\t\tif( YTPlayer.player.getVolume() == 0 ) $YTPlayer.addClass( \"isMuted\" );\n\t\t\t\telse $YTPlayer.removeClass( \"isMuted\" );\n\n\t\t\t\tif( YTPlayer.opt.showControls )\n\t\t\t\t\tif( prog.totalTime ) {\n\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPTime\" ).html( jQuery.mbYTPlayer.formatTime( prog.currentTime ) + \" / \" + jQuery.mbYTPlayer.formatTime( prog.totalTime ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPTime\" ).html( \"-- : -- / -- : --\" );\n\t\t\t\t\t}\n\n\n\t\t\t\tif( eval( YTPlayer.opt.stopMovieOnBlur ) )\n\t\t\t\t\tif( !document.hasFocus() ) {\n\t\t\t\t\t\tif( YTPlayer.state == 1 ) {\n\t\t\t\t\t\t\tYTPlayer.hasFocus = false;\n\t\t\t\t\t\t\t$YTPlayer.YTPPause();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if( document.hasFocus() &amp;&amp; !YTPlayer.hasFocus &amp;&amp; !( YTPlayer.state == -1 || YTPlayer.state == 0 ) ) {\n\n\t\t\t\t\tYTPlayer.hasFocus = true;\n\t\t\t\t\t$YTPlayer.YTPPlay();\n\t\t\t\t}\n\n\t\t\t\tif( YTPlayer.controlBar.length &amp;&amp; YTPlayer.controlBar.outerWidth() &lt;= 400 &amp;&amp; !YTPlayer.isCompact ) {\n\t\t\t\t\tYTPlayer.controlBar.addClass( \"compact\" );\n\t\t\t\t\tYTPlayer.isCompact = true;\n\t\t\t\t\tif( !YTPlayer.isMute &amp;&amp; YTPlayer.volumeBar ) YTPlayer.volumeBar.updateSliderVal( YTPlayer.opt.vol );\n\t\t\t\t} else if( YTPlayer.controlBar.length &amp;&amp; YTPlayer.controlBar.outerWidth() &gt; 400 &amp;&amp; YTPlayer.isCompact ) {\n\t\t\t\t\tYTPlayer.controlBar.removeClass( \"compact\" );\n\t\t\t\t\tYTPlayer.isCompact = false;\n\t\t\t\t\tif( !YTPlayer.isMute &amp;&amp; YTPlayer.volumeBar ) YTPlayer.volumeBar.updateSliderVal( YTPlayer.opt.vol );\n\t\t\t\t}\n\t\t\t\tif( YTPlayer.player.getPlayerState() == 1 &amp;&amp; ( parseFloat( YTPlayer.player.getDuration() - 1.5 ) &lt; YTPlayer.player.getCurrentTime() || ( stopAt &gt; 0 &amp;&amp; parseFloat( YTPlayer.player.getCurrentTime() ) &gt; stopAt ) ) ) {\n\t\t\t\t\tif( YTPlayer.isEnded ) return;\n\t\t\t\t\tYTPlayer.isEnded = true;\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\tYTPlayer.isEnded = false\n\t\t\t\t\t}, 1000 );\n\n\t\t\t\t\tif( YTPlayer.isPlayList ) {\n\n\t\t\t\t\t\tif( !data.loop || ( data.loop &gt; 0 &amp;&amp; YTPlayer.player.loopTime === data.loop - 1 ) ) {\n\n\t\t\t\t\t\t\tYTPlayer.player.loopTime = undefined;\n\t\t\t\t\t\t\tclearInterval( YTPlayer.getState );\n\t\t\t\t\t\t\tvar YTPEnd = jQuery.Event( \"YTPEnd\" );\n\t\t\t\t\t\t\tYTPEnd.time = YTPlayer.currentTime;\n\t\t\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPEnd );\n\t\t\t\t\t\t\tYTPlayer.state = 0;\n\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else if( !data.loop || ( data.loop &gt; 0 &amp;&amp; YTPlayer.player.loopTime === data.loop - 1 ) ) {\n\n\t\t\t\t\t\tYTPlayer.player.loopTime = undefined;\n\t\t\t\t\t\tYTPlayer.preventTrigger = true;\n\t\t\t\t\t\tjQuery( YTPlayer ).YTPPause();\n\t\t\t\t\t\tYTPlayer.state = 0;\n\n\t\t\t\t\t\tYTPlayer.wrapper.CSSAnimate( {\n\t\t\t\t\t\t\topacity: 0\n\t\t\t\t\t\t}, 500, function() {\n\n\t\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPPlaypause\" ).html( jQuery.mbYTPlayer.controls.play );\n\n\t\t\t\t\t\t\tvar YTPEnd = jQuery.Event( \"YTPEnd\" );\n\t\t\t\t\t\t\tYTPEnd.time = YTPlayer.currentTime;\n\t\t\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPEnd );\n\n\t\t\t\t\t\t\tYTPlayer.player.seekTo( startAt, true );\n\t\t\t\t\t\t\tif( !YTPlayer.isBackground ) {\n\t\t\t\t\t\t\t\tYTPlayer.opt.containment.css( {\n\t\t\t\t\t\t\t\t\tbackground: \"rgba(0,0,0,0.5) url(\" + YTPlayer.opt.backgroundUrl + \") center center\",\n\t\t\t\t\t\t\t\t\tbackgroundSize: \"cover\"\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tYTPlayer.player.loopTime = YTPlayer.player.loopTime ? ++YTPlayer.player.loopTime : 1;\n\t\t\t\t\tstartAt = startAt || 1;\n\t\t\t\t\tYTPlayer.preventTrigger = true;\n\t\t\t\t\tjQuery( YTPlayer ).YTPPause();\n\t\t\t\t\tYTPlayer.player.seekTo( startAt, true );\n\t\t\t\t\t$YTPlayer.YTPPlay();\n\n\n\t\t\t\t}\n\t\t\t}, interval );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {string} time\n\t\t */\n\t\tgetTime: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\treturn jQuery.mbYTPlayer.formatTime( YTPlayer.currentTime );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @returns {string} total time\n\t\t */\n\t\tgetTotalTime: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\treturn jQuery.mbYTPlayer.formatTime( YTPlayer.totalTime );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param YTPlayer\n\t\t */\n\t\tcheckForStart: function( YTPlayer ) {\n\n\t\t\tvar $YTPlayer = jQuery( YTPlayer );\n\n\t\t\t//Checking if player has been removed from scene\n\t\t\tif( !jQuery.contains( document, YTPlayer ) ) {\n\t\t\t\tjQuery( YTPlayer ).YTPPlayerDestroy();\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t/*\n\t\t\t if( jQuery.browser.chrome )\n\t\t\t YTPlayer.opt.quality = \"default\";\n\t\t\t */\n\n\t\t\tYTPlayer.preventTrigger = true;\n\t\t\tjQuery( YTPlayer ).YTPPause();\n\n\t\t\tjQuery( YTPlayer ).muteYTPVolume();\n\t\t\tjQuery( \"#controlBar_\" + YTPlayer.id ).remove();\n\n\t\t\tYTPlayer.controlBar = false;\n\n\t\t\tif( YTPlayer.opt.showControls )\n\t\t\t\tjQuery.mbYTPlayer.buildControls( YTPlayer );\n\n\t\t\tif( YTPlayer.opt.addRaster ) {\n\n\t\t\t\tvar classN = YTPlayer.opt.addRaster == \"dot\" ? \"raster-dot\" : \"raster\";\n\t\t\t\tYTPlayer.overlay.addClass( YTPlayer.isRetina ? classN + \" retina\" : classN );\n\n\t\t\t} else {\n\n\t\t\t\tYTPlayer.overlay.removeClass( function( index, classNames ) {\n\t\t\t\t\t// change the list into an array\n\t\t\t\t\tvar current_classes = classNames.split( \" \" ),\n\t\t\t\t\t\t// array of classes which are to be removed\n\t\t\t\t\t\tclasses_to_remove = [];\n\t\t\t\t\tjQuery.each( current_classes, function( index, class_name ) {\n\t\t\t\t\t\t// if the classname begins with bg add it to the classes_to_remove array\n\t\t\t\t\t\tif( /raster.*/.test( class_name ) ) {\n\t\t\t\t\t\t\tclasses_to_remove.push( class_name );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tclasses_to_remove.push( \"retina\" );\n\t\t\t\t\t// turn the array back into a string\n\t\t\t\t\treturn classes_to_remove.join( \" \" );\n\t\t\t\t} )\n\n\t\t\t}\n\n\t\t\tvar startAt = YTPlayer.opt.startAt ? YTPlayer.opt.startAt : 1;\n\t\t\tYTPlayer.player.playVideo();\n\t\t\tYTPlayer.player.seekTo( startAt, true );\n\n\t\t\tYTPlayer.checkForStartAt = setInterval( function() {\n\n\t\t\t\tjQuery( YTPlayer ).YTPMute();\n\n\t\t\t\tvar canPlayVideo = YTPlayer.player.getVideoLoadedFraction() &gt;= startAt / YTPlayer.player.getDuration();\n\n\t\t\t\tif( YTPlayer.player.getDuration() &gt; 0 &amp;&amp; YTPlayer.player.getCurrentTime() &gt;= startAt &amp;&amp; canPlayVideo ) {\n\n\t\t\t\t\t//YTPlayer.player.playVideo();\n\t\t\t\t\t//console.timeEnd( \"checkforStart\" );\n\n\t\t\t\t\tclearInterval( YTPlayer.checkForStartAt );\n\n\t\t\t\t\tif( typeof YTPlayer.opt.onReady == \"function\" )\n\t\t\t\t\t\tYTPlayer.opt.onReady( YTPlayer );\n\n\t\t\t\t\tYTPlayer.isReady = true;\n\t\t\t\t\tvar YTPready = jQuery.Event( \"YTPReady\" );\n\t\t\t\t\tYTPready.time = YTPlayer.currentTime;\n\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPready );\n\n\n\t\t\t\t\tYTPlayer.preventTrigger = true;\n\t\t\t\t\tjQuery( YTPlayer ).YTPPause();\n\n\t\t\t\t\tif( !YTPlayer.opt.mute ) jQuery( YTPlayer ).YTPUnmute();\n\t\t\t\t\tYTPlayer.canTrigger = true;\n\n\t\t\t\t\tif( YTPlayer.opt.autoPlay ) {\n\n\n\t\t\t\t\t\tvar YTPStart = jQuery.Event( \"YTPStart\" );\n\t\t\t\t\t\tYTPStart.time = YTPlayer.currentTime;\n\t\t\t\t\t\tjQuery( YTPlayer ).trigger( YTPStart );\n\n\t\t\t\t\t\t$YTPlayer.css( \"background-image\", \"none\" );\n\t\t\t\t\t\tjQuery( YTPlayer.playerEl ).CSSAnimate( {\n\t\t\t\t\t\t\topacity: 1\n\t\t\t\t\t\t}, 1000 );\n\n\t\t\t\t\t\t$YTPlayer.YTPPlay();\n\n\t\t\t\t\t\tYTPlayer.wrapper.CSSAnimate( {\n\t\t\t\t\t\t\topacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity\n\t\t\t\t\t\t}, 1000 );\n\n\t\t\t\t\t\t/* Fix for Safari freeze */\n\t\t\t\t\t\tif( jQuery.browser.safari ) {\n\n\t\t\t\t\t\t\tYTPlayer.safariPlay = setInterval( function() {\n\n\t\t\t\t\t\t\t\tif( YTPlayer.state != 1 )\n\t\t\t\t\t\t\t\t\t$YTPlayer.YTPPlay();\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tclearInterval( YTPlayer.safariPlay )\n\t\t\t\t\t\t\t}, 10 )\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$YTPlayer.on( \"YTPReady\", function() {\n\t\t\t\t\t\t\t$YTPlayer.YTPPlay();\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t//$YTPlayer.YTPPause();\n\t\t\t\t\t\tYTPlayer.player.pauseVideo();\n\t\t\t\t\t\tif( !YTPlayer.isPlayer ) {\n\t\t\t\t\t\t\tjQuery( YTPlayer.playerEl ).CSSAnimate( {\n\t\t\t\t\t\t\t\topacity: 1\n\t\t\t\t\t\t\t}, 500 );\n\n\t\t\t\t\t\t\tYTPlayer.wrapper.CSSAnimate( {\n\t\t\t\t\t\t\t\topacity: YTPlayer.isAlone ? 1 : YTPlayer.opt.opacity\n\t\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\t\tYTPlayer.controlBar.find( \".mb_YTPPlaypause\" ).html( jQuery.mbYTPlayer.controls.play );\n\n\t\t\t\t\t}\n\n\t\t\t\t\tif( YTPlayer.isPlayer &amp;&amp; !YTPlayer.opt.autoPlay ) {\n\t\t\t\t\t\tYTPlayer.loading.html( \"Ready\" );\n\t\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\t\tYTPlayer.loading.fadeOut();\n\t\t\t\t\t\t}, 100 )\n\t\t\t\t\t}\n\t\t\t\t\tif( YTPlayer.controlBar.length )\n\t\t\t\t\t\tYTPlayer.controlBar.slideDown( 1000 );\n\n\t\t\t\t} else if( jQuery.browser.safari ) {\n\t\t\t\t\tYTPlayer.player.playVideo();\n\t\t\t\t\tif( startAt &gt;= 0 ) YTPlayer.player.seekTo( startAt, true );\n\t\t\t\t}\n\n\t\t\t}, 1 );\n\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param align\n\t\t */\n\t\tsetAlign: function( align ) {\n\t\t\tvar $YTplayer = this;\n\n\t\t\t$YTplayer.optimizeDisplay( align );\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param align\n\t\t */\n\t\tgetAlign: function() {\n\t\t\tvar YTPlayer = this.get( 0 );\n\t\t\treturn YTPlayer.opt.align;\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @param s\n\t\t * @returns {string}\n\t\t */\n\t\tformatTime: function( s ) {\n\t\t\tvar min = Math.floor( s / 60 );\n\t\t\tvar sec = Math.floor( s - ( 60 * min ) );\n\t\t\treturn( min &lt;= 9 ? \"0\" + min : min ) + \" : \" + ( sec &lt;= 9 ? \"0\" + sec : sec );\n\t\t}\n\t};\n\n\t/**\n\t *\n\t * @param align\n\t * can be center, top, bottom, right, left; (default is center,center)\n\t */\n\tjQuery.fn.optimizeDisplay = function( align ) {\n\t\tvar YTPlayer = this.get( 0 );\n\t\tvar playerBox = jQuery( YTPlayer.playerEl );\n\t\tvar vid = {};\n\n\t\tYTPlayer.opt.align = align || YTPlayer.opt.align;\n\n\t\tYTPlayer.opt.align = typeof YTPlayer.opt.align != \"undefined \" ? YTPlayer.opt.align : \"center,center\";\n\t\tvar YTPAlign = YTPlayer.opt.align.split( \",\" );\n\n\t\t//data.optimizeDisplay = YTPlayer.isPlayer ? false : data.optimizeDisplay;\n\n\t\tif( YTPlayer.opt.optimizeDisplay ) {\n\t\t\tvar win = {};\n\t\t\tvar el = YTPlayer.wrapper;\n\n\t\t\twin.width = el.outerWidth();\n\t\t\twin.height = el.outerHeight();\n\n\t\t\tvid.width = win.width;\n\t\t\tvid.height = YTPlayer.opt.ratio == \"16/9\" ? Math.ceil( win.width * ( 9 / 16 ) ) : Math.ceil( win.width * ( 3 / 4 ) );\n\n\t\t\tvid.width = win.width;\n\t\t\tvid.height = YTPlayer.opt.ratio == \"16/9\" ? Math.ceil( win.width * ( 9 / 16 ) ) : Math.ceil( win.width * ( 3 / 4 ) );\n\n\t\t\tvid.marginTop = -( ( vid.height - win.height ) / 2 );\n\t\t\tvid.marginLeft = 0;\n\n\t\t\tvar lowest = vid.height &lt; win.height;\n\n\t\t\tif( lowest ) {\n\n\t\t\t\tvid.height = win.height;\n\t\t\t\tvid.width = YTPlayer.opt.ratio == \"16/9\" ? Math.floor( win.height * ( 16 / 9 ) ) : Math.floor( win.height * ( 4 / 3 ) );\n\n\t\t\t\tvid.marginTop = 0;\n\t\t\t\tvid.marginLeft = -( ( vid.width - win.width ) / 2 );\n\n\t\t\t}\n\n\t\t\tfor( var a in YTPAlign ) {\n\n\t\t\t\tvar al = YTPAlign[ a ].trim();\n\n\t\t\t\tswitch( al ) {\n\n\t\t\t\t\tcase \"top\":\n\t\t\t\t\t\tvid.marginTop = lowest ? -( ( vid.height - win.height ) / 2 ) : 0;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase \"bottom\":\n\t\t\t\t\t\tvid.marginTop = lowest ? 0 : -( vid.height - win.height );\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase \"left\":\n\t\t\t\t\t\tvid.marginLeft = 0;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase \"right\":\n\t\t\t\t\t\tvid.marginLeft = lowest ? -( vid.width - win.width ) : 0;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t} else {\n\t\t\tvid.width = \"100%\";\n\t\t\tvid.height = \"100%\";\n\t\t\tvid.marginTop = 0;\n\t\t\tvid.marginLeft = 0;\n\t\t}\n\n\t\tplayerBox.css( {\n\t\t\twidth: vid.width,\n\t\t\theight: vid.height,\n\t\t\tmarginTop: vid.marginTop,\n\t\t\tmarginLeft: vid.marginLeft\n\t\t} );\n\n\t};\n\t/**\n\t *\n\t * @param arr\n\t * @returns {Array|string|Blob|*}\n\t *\n\t */\n\tjQuery.shuffle = function( arr ) {\n\t\tvar newArray = arr.slice();\n\t\tvar len = newArray.length;\n\t\tvar i = len;\n\t\twhile( i-- ) {\n\t\t\tvar p = parseInt( Math.random() * len );\n\t\t\tvar t = newArray[ i ];\n\t\t\tnewArray[ i ] = newArray[ p ];\n\t\t\tnewArray[ p ] = t;\n\t\t}\n\t\treturn newArray;\n\t};\n\n\tjQuery.fn.unselectable = function() {\n\t\treturn this.each( function() {\n\t\t\tjQuery( this ).css( {\n\t\t\t\t\"-moz-user-select\": \"none\",\n\t\t\t\t\"-webkit-user-select\": \"none\",\n\t\t\t\t\"user-select\": \"none\"\n\t\t\t} ).attr( \"unselectable\", \"on\" );\n\t\t} );\n\t};\n\n\n\t/* Exposed public method */\n\tjQuery.fn.YTPlayer = jQuery.mbYTPlayer.buildPlayer;\n\tjQuery.fn.YTPGetPlayer = jQuery.mbYTPlayer.getPlayer;\n\tjQuery.fn.YTPGetVideoID = jQuery.mbYTPlayer.getVideoID;\n\tjQuery.fn.YTPChangeMovie = jQuery.mbYTPlayer.changeMovie;\n\tjQuery.fn.YTPPlayerDestroy = jQuery.mbYTPlayer.playerDestroy;\n\n\tjQuery.fn.YTPPlay = jQuery.mbYTPlayer.play;\n\tjQuery.fn.YTPTogglePlay = jQuery.mbYTPlayer.togglePlay;\n\tjQuery.fn.YTPStop = jQuery.mbYTPlayer.stop;\n\tjQuery.fn.YTPPause = jQuery.mbYTPlayer.pause;\n\tjQuery.fn.YTPSeekTo = jQuery.mbYTPlayer.seekTo;\n\n\tjQuery.fn.YTPlaylist = jQuery.mbYTPlayer.playlist;\n\tjQuery.fn.YTPPlayNext = jQuery.mbYTPlayer.playNext;\n\tjQuery.fn.YTPPlayPrev = jQuery.mbYTPlayer.playPrev;\n\n\tjQuery.fn.YTPMute = jQuery.mbYTPlayer.mute;\n\tjQuery.fn.YTPUnmute = jQuery.mbYTPlayer.unmute;\n\tjQuery.fn.YTPToggleVolume = jQuery.mbYTPlayer.toggleVolume;\n\tjQuery.fn.YTPSetVolume = jQuery.mbYTPlayer.setVolume;\n\n\tjQuery.fn.YTPGetVideoData = jQuery.mbYTPlayer.getVideoData;\n\tjQuery.fn.YTPFullscreen = jQuery.mbYTPlayer.fullscreen;\n\tjQuery.fn.YTPToggleLoops = jQuery.mbYTPlayer.toggleLoops;\n\tjQuery.fn.YTPSetVideoQuality = jQuery.mbYTPlayer.setVideoQuality;\n\tjQuery.fn.YTPManageProgress = jQuery.mbYTPlayer.manageProgress;\n\n\tjQuery.fn.YTPApplyFilter = jQuery.mbYTPlayer.applyFilter;\n\tjQuery.fn.YTPApplyFilters = jQuery.mbYTPlayer.applyFilters;\n\tjQuery.fn.YTPToggleFilter = jQuery.mbYTPlayer.toggleFilter;\n\tjQuery.fn.YTPToggleFilters = jQuery.mbYTPlayer.toggleFilters;\n\tjQuery.fn.YTPRemoveFilter = jQuery.mbYTPlayer.removeFilter;\n\tjQuery.fn.YTPDisableFilters = jQuery.mbYTPlayer.disableFilters;\n\tjQuery.fn.YTPEnableFilters = jQuery.mbYTPlayer.enableFilters;\n\tjQuery.fn.YTPGetFilters = jQuery.mbYTPlayer.getFilters;\n\n\tjQuery.fn.YTPGetTime = jQuery.mbYTPlayer.getTime;\n\tjQuery.fn.YTPGetTotalTime = jQuery.mbYTPlayer.getTotalTime;\n\n\tjQuery.fn.YTPAddMask = jQuery.mbYTPlayer.addMask;\n\tjQuery.fn.YTPRemoveMask = jQuery.mbYTPlayer.removeMask;\n\n\tjQuery.fn.YTPSetAlign = jQuery.mbYTPlayer.setAlign;\n\tjQuery.fn.YTPGetAlign = jQuery.mbYTPlayer.getAlign;\n\n\n\t/**\n\t *\n\t * @deprecated\n\t * todo: Above methods will be removed with version 3.5.0\n\t *\n\t **/\n\tjQuery.fn.mb_YTPlayer = jQuery.mbYTPlayer.buildPlayer;\n\tjQuery.fn.playNext = jQuery.mbYTPlayer.playNext;\n\tjQuery.fn.playPrev = jQuery.mbYTPlayer.playPrev;\n\tjQuery.fn.changeMovie = jQuery.mbYTPlayer.changeMovie;\n\tjQuery.fn.getVideoID = jQuery.mbYTPlayer.getVideoID;\n\tjQuery.fn.getPlayer = jQuery.mbYTPlayer.getPlayer;\n\tjQuery.fn.playerDestroy = jQuery.mbYTPlayer.playerDestroy;\n\tjQuery.fn.fullscreen = jQuery.mbYTPlayer.fullscreen;\n\tjQuery.fn.buildYTPControls = jQuery.mbYTPlayer.buildControls;\n\tjQuery.fn.playYTP = jQuery.mbYTPlayer.play;\n\tjQuery.fn.toggleLoops = jQuery.mbYTPlayer.toggleLoops;\n\tjQuery.fn.stopYTP = jQuery.mbYTPlayer.stop;\n\tjQuery.fn.pauseYTP = jQuery.mbYTPlayer.pause;\n\tjQuery.fn.seekToYTP = jQuery.mbYTPlayer.seekTo;\n\tjQuery.fn.muteYTPVolume = jQuery.mbYTPlayer.mute;\n\tjQuery.fn.unmuteYTPVolume = jQuery.mbYTPlayer.unmute;\n\tjQuery.fn.setYTPVolume = jQuery.mbYTPlayer.setVolume;\n\tjQuery.fn.setVideoQuality = jQuery.mbYTPlayer.setVideoQuality;\n\tjQuery.fn.manageYTPProgress = jQuery.mbYTPlayer.manageProgress;\n\tjQuery.fn.YTPGetDataFromFeed = jQuery.mbYTPlayer.getVideoData;\n\n\n} )( jQuery, ytp );\n;\n/*\n * ******************************************************************************\n *  jquery.mb.components\n *  file: jquery.mb.CSSAnimate.min.js\n *\n *  Copyright (c) 2001-2014. Matteo Bicocchi (Pupunzi);\n *  Open lab srl, Firenze - Italy\n *  email: matteo@open-lab.com\n *  site: \thttp://pupunzi.com\n *  blog:\thttp://pupunzi.open-lab.com\n * \thttp://open-lab.com\n *\n *  Licences: MIT, GPL\n *  http://www.opensource.org/licenses/mit-license.php\n *  http://www.gnu.org/licenses/gpl.html\n *\n *  last modified: 26/03/14 21.40\n *  *****************************************************************************\n */\n\nfunction uncamel(a){return a.replace(/([A-Z])/g,function(a){return\"-\"+a.toLowerCase()})}function setUnit(a,b){return\"string\"!=typeof a||a.match(/^[\\-0-9\\.]+jQuery/)?\"\"+a+b:a}function setFilter(a,b,c){var d=uncamel(b),e=jQuery.browser.mozilla?\"\":jQuery.CSS.sfx;a[e+\"filter\"]=a[e+\"filter\"]||\"\",c=setUnit(c&gt;jQuery.CSS.filters[b].max?jQuery.CSS.filters[b].max:c,jQuery.CSS.filters[b].unit),a[e+\"filter\"]+=d+\"(\"+c+\") \",delete a[b]}jQuery.support.CSStransition=function(){var a=document.body||document.documentElement,b=a.style;return void 0!==b.transition||void 0!==b.WebkitTransition||void 0!==b.MozTransition||void 0!==b.MsTransition||void 0!==b.OTransition}(),jQuery.CSS={name:\"mb.CSSAnimate\",author:\"Matteo Bicocchi\",version:\"2.0.0\",transitionEnd:\"transitionEnd\",sfx:\"\",filters:{blur:{min:0,max:100,unit:\"px\"},brightness:{min:0,max:400,unit:\"%\"},contrast:{min:0,max:400,unit:\"%\"},grayscale:{min:0,max:100,unit:\"%\"},hueRotate:{min:0,max:360,unit:\"deg\"},invert:{min:0,max:100,unit:\"%\"},saturate:{min:0,max:400,unit:\"%\"},sepia:{min:0,max:100,unit:\"%\"}},normalizeCss:function(a){var b=jQuery.extend(!0,{},a);jQuery.browser.webkit||jQuery.browser.opera?jQuery.CSS.sfx=\"-webkit-\":jQuery.browser.mozilla?jQuery.CSS.sfx=\"-moz-\":jQuery.browser.msie&amp;&amp;(jQuery.CSS.sfx=\"-ms-\");for(var c in b){\"transform\"===c&amp;&amp;(b[jQuery.CSS.sfx+\"transform\"]=b[c],delete b[c]),\"transform-origin\"===c&amp;&amp;(b[jQuery.CSS.sfx+\"transform-origin\"]=a[c],delete b[c]),\"filter\"!==c||jQuery.browser.mozilla||(b[jQuery.CSS.sfx+\"filter\"]=a[c],delete b[c]),\"blur\"===c&amp;&amp;setFilter(b,\"blur\",a[c]),\"brightness\"===c&amp;&amp;setFilter(b,\"brightness\",a[c]),\"contrast\"===c&amp;&amp;setFilter(b,\"contrast\",a[c]),\"grayscale\"===c&amp;&amp;setFilter(b,\"grayscale\",a[c]),\"hueRotate\"===c&amp;&amp;setFilter(b,\"hueRotate\",a[c]),\"invert\"===c&amp;&amp;setFilter(b,\"invert\",a[c]),\"saturate\"===c&amp;&amp;setFilter(b,\"saturate\",a[c]),\"sepia\"===c&amp;&amp;setFilter(b,\"sepia\",a[c]);var d=\"\";\"x\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" translateX(\"+setUnit(a[c],\"px\")+\")\",delete b[c]),\"y\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" translateY(\"+setUnit(a[c],\"px\")+\")\",delete b[c]),\"z\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" translateZ(\"+setUnit(a[c],\"px\")+\")\",delete b[c]),\"rotate\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" rotate(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"rotateX\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" rotateX(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"rotateY\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" rotateY(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"rotateZ\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" rotateZ(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"scale\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" scale(\"+setUnit(a[c],\"\")+\")\",delete b[c]),\"scaleX\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" scaleX(\"+setUnit(a[c],\"\")+\")\",delete b[c]),\"scaleY\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" scaleY(\"+setUnit(a[c],\"\")+\")\",delete b[c]),\"scaleZ\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" scaleZ(\"+setUnit(a[c],\"\")+\")\",delete b[c]),\"skew\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" skew(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"skewX\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" skewX(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"skewY\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" skewY(\"+setUnit(a[c],\"deg\")+\")\",delete b[c]),\"perspective\"===c&amp;&amp;(d=jQuery.CSS.sfx+\"transform\",b[d]=b[d]||\"\",b[d]+=\" perspective(\"+setUnit(a[c],\"px\")+\")\",delete b[c])}return b},getProp:function(a){var b=[];for(var c in a)b.indexOf(c)&lt;0&amp;&amp;b.push(uncamel(c));return b.join(\",\")},animate:function(a,b,c,d,e){return this.each(function(){function o(){f.called=!0,f.CSSAIsRunning=!1,g.off(jQuery.CSS.transitionEnd+\".\"+f.id),clearTimeout(f.timeout),g.css(jQuery.CSS.sfx+\"transition\",\"\"),\"function\"==typeof e&amp;&amp;e.apply(f),\"function\"==typeof f.CSSqueue&amp;&amp;(f.CSSqueue(),f.CSSqueue=null)}var f=this,g=jQuery(this);f.id=f.id||\"CSSA_\"+(new Date).getTime();var h=h||{type:\"noEvent\"};if(f.CSSAIsRunning&amp;&amp;f.eventType==h.type&amp;&amp;!jQuery.browser.msie&amp;&amp;jQuery.browser.version&lt;=9)return f.CSSqueue=function(){g.CSSAnimate(a,b,c,d,e)},void 0;if(f.CSSqueue=null,f.eventType=h.type,0!==g.length&amp;&amp;a){if(a=jQuery.normalizeCss(a),f.CSSAIsRunning=!0,\"function\"==typeof b&amp;&amp;(e=b,b=jQuery.fx.speeds._default),\"function\"==typeof c&amp;&amp;(d=c,c=0),\"string\"==typeof c&amp;&amp;(e=c,c=0),\"function\"==typeof d&amp;&amp;(e=d,d=\"cubic-bezier(0.65,0.03,0.36,0.72)\"),\"string\"==typeof b)for(var i in jQuery.fx.speeds){if(b==i){b=jQuery.fx.speeds[i];break}b=jQuery.fx.speeds._default}if(b||(b=jQuery.fx.speeds._default),\"string\"==typeof e&amp;&amp;(d=e,e=null),!jQuery.support.CSStransition){for(var j in a){if(\"transform\"===j&amp;&amp;delete a[j],\"filter\"===j&amp;&amp;delete a[j],\"transform-origin\"===j&amp;&amp;delete a[j],\"auto\"===a[j]&amp;&amp;delete a[j],\"x\"===j){var k=a[j],l=\"left\";a[l]=k,delete a[j]}if(\"y\"===j){var k=a[j],l=\"top\";a[l]=k,delete a[j]}(\"-ms-transform\"===j||\"-ms-filter\"===j)&amp;&amp;delete a[j]}return g.delay(c).animate(a,b,e),void 0}var m={\"default\":\"ease\",\"in\":\"ease-in\",out:\"ease-out\",\"in-out\":\"ease-in-out\",snap:\"cubic-bezier(0,1,.5,1)\",easeOutCubic:\"cubic-bezier(.215,.61,.355,1)\",easeInOutCubic:\"cubic-bezier(.645,.045,.355,1)\",easeInCirc:\"cubic-bezier(.6,.04,.98,.335)\",easeOutCirc:\"cubic-bezier(.075,.82,.165,1)\",easeInOutCirc:\"cubic-bezier(.785,.135,.15,.86)\",easeInExpo:\"cubic-bezier(.95,.05,.795,.035)\",easeOutExpo:\"cubic-bezier(.19,1,.22,1)\",easeInOutExpo:\"cubic-bezier(1,0,0,1)\",easeInQuad:\"cubic-bezier(.55,.085,.68,.53)\",easeOutQuad:\"cubic-bezier(.25,.46,.45,.94)\",easeInOutQuad:\"cubic-bezier(.455,.03,.515,.955)\",easeInQuart:\"cubic-bezier(.895,.03,.685,.22)\",easeOutQuart:\"cubic-bezier(.165,.84,.44,1)\",easeInOutQuart:\"cubic-bezier(.77,0,.175,1)\",easeInQuint:\"cubic-bezier(.755,.05,.855,.06)\",easeOutQuint:\"cubic-bezier(.23,1,.32,1)\",easeInOutQuint:\"cubic-bezier(.86,0,.07,1)\",easeInSine:\"cubic-bezier(.47,0,.745,.715)\",easeOutSine:\"cubic-bezier(.39,.575,.565,1)\",easeInOutSine:\"cubic-bezier(.445,.05,.55,.95)\",easeInBack:\"cubic-bezier(.6,-.28,.735,.045)\",easeOutBack:\"cubic-bezier(.175, .885,.32,1.275)\",easeInOutBack:\"cubic-bezier(.68,-.55,.265,1.55)\"};m[d]&amp;&amp;(d=m[d]),g.off(jQuery.CSS.transitionEnd+\".\"+f.id);var n=jQuery.CSS.getProp(a),p={};jQuery.extend(p,a),p[jQuery.CSS.sfx+\"transition-property\"]=n,p[jQuery.CSS.sfx+\"transition-duration\"]=b+\"ms\",p[jQuery.CSS.sfx+\"transition-delay\"]=c+\"ms\",p[jQuery.CSS.sfx+\"transition-timing-function\"]=d,setTimeout(function(){g.one(jQuery.CSS.transitionEnd+\".\"+f.id,o),g.css(p)},1),f.timeout=setTimeout(function(){return f.called||!e?(f.called=!1,f.CSSAIsRunning=!1,void 0):(g.css(jQuery.CSS.sfx+\"transition\",\"\"),e.apply(f),f.CSSAIsRunning=!1,\"function\"==typeof f.CSSqueue&amp;&amp;(f.CSSqueue(),f.CSSqueue=null),void 0)},b+c+10)}})}},jQuery.fn.CSSAnimate=jQuery.CSS.animate,jQuery.normalizeCss=jQuery.CSS.normalizeCss,jQuery.fn.css3=function(a){return this.each(function(){var b=jQuery(this),c=jQuery.normalizeCss(a);b.css(c)})};\n;/*\n * ******************************************************************************\n *  jquery.mb.components\n *  file: jquery.mb.browser.min.js\n *\n *  Copyright (c) 2001-2014. Matteo Bicocchi (Pupunzi);\n *  Open lab srl, Firenze - Italy\n *  email: matteo@open-lab.com\n *  site: \thttp://pupunzi.com\n *  blog:\thttp://pupunzi.open-lab.com\n * \thttp://open-lab.com\n *\n *  Licences: MIT, GPL\n *  http://www.opensource.org/licenses/mit-license.php\n *  http://www.gnu.org/licenses/gpl.html\n *\n *  last modified: 26/03/14 21.43\n *  *****************************************************************************\n */\n\nvar nAgt=navigator.userAgent;if(!jQuery.browser){jQuery.browser={},jQuery.browser.mozilla=!1,jQuery.browser.webkit=!1,jQuery.browser.opera=!1,jQuery.browser.safari=!1,jQuery.browser.chrome=!1,jQuery.browser.androidStock=!1,jQuery.browser.msie=!1,jQuery.browser.ua=nAgt,jQuery.browser.name=navigator.appName,jQuery.browser.fullVersion=\"\"+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if(-1!=(verOffset=nAgt.indexOf(\"Opera\")))jQuery.browser.opera=!0,jQuery.browser.name=\"Opera\",jQuery.browser.fullVersion=nAgt.substring(verOffset+6),-1!=(verOffset=nAgt.indexOf(\"Version\"))&amp;&amp;(jQuery.browser.fullVersion=nAgt.substring(verOffset+8));else if(-1!=(verOffset=nAgt.indexOf(\"OPR\")))jQuery.browser.opera=!0,jQuery.browser.name=\"Opera\",jQuery.browser.fullVersion=nAgt.substring(verOffset+4);else if(-1!=(verOffset=nAgt.indexOf(\"MSIE\")))jQuery.browser.msie=!0,jQuery.browser.name=\"Microsoft Internet Explorer\",jQuery.browser.fullVersion=nAgt.substring(verOffset+5);else if(-1!=nAgt.indexOf(\"Trident\")||-1!=nAgt.indexOf(\"Edge\")){jQuery.browser.msie=!0,jQuery.browser.name=\"Microsoft Internet Explorer\";var start=nAgt.indexOf(\"rv:\")+3,end=start+4;jQuery.browser.fullVersion=nAgt.substring(start,end)}else-1!=(verOffset=nAgt.indexOf(\"Chrome\"))?(jQuery.browser.webkit=!0,jQuery.browser.chrome=!0,jQuery.browser.name=\"Chrome\",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):nAgt.indexOf(\"mozilla/5.0\")&gt;-1&amp;&amp;nAgt.indexOf(\"android \")&gt;-1&amp;&amp;nAgt.indexOf(\"applewebkit\")&gt;-1&amp;&amp;!(nAgt.indexOf(\"chrome\")&gt;-1)?(verOffset=nAgt.indexOf(\"Chrome\"),jQuery.browser.webkit=!0,jQuery.browser.androidStock=!0,jQuery.browser.name=\"androidStock\",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1!=(verOffset=nAgt.indexOf(\"Safari\"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name=\"Safari\",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf(\"Version\"))&amp;&amp;(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf(\"AppleWebkit\"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name=\"Safari\",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf(\"Version\"))&amp;&amp;(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf(\"Firefox\"))?(jQuery.browser.mozilla=!0,jQuery.browser.name=\"Firefox\",jQuery.browser.fullVersion=nAgt.substring(verOffset+8)):(nameOffset=nAgt.lastIndexOf(\" \")+1)&lt;(verOffset=nAgt.lastIndexOf(\"/\"))&amp;&amp;(jQuery.browser.name=nAgt.substring(nameOffset,verOffset),jQuery.browser.fullVersion=nAgt.substring(verOffset+1),jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()&amp;&amp;(jQuery.browser.name=navigator.appName));-1!=(ix=jQuery.browser.fullVersion.indexOf(\";\"))&amp;&amp;(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),-1!=(ix=jQuery.browser.fullVersion.indexOf(\" \"))&amp;&amp;(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),jQuery.browser.majorVersion=parseInt(\"\"+jQuery.browser.fullVersion,10),isNaN(jQuery.browser.majorVersion)&amp;&amp;(jQuery.browser.fullVersion=\"\"+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10)),jQuery.browser.version=jQuery.browser.majorVersion}jQuery.browser.android=/Android/i.test(nAgt),jQuery.browser.blackberry=/BlackBerry|BB|PlayBook/i.test(nAgt),jQuery.browser.ios=/iPhone|iPad|iPod|webOS/i.test(nAgt),jQuery.browser.operaMobile=/Opera Mini/i.test(nAgt),jQuery.browser.windowsMobile=/IEMobile|Windows Phone/i.test(nAgt),jQuery.browser.kindle=/Kindle|Silk/i.test(nAgt),jQuery.browser.mobile=jQuery.browser.android||jQuery.browser.blackberry||jQuery.browser.ios||jQuery.browser.windowsMobile||jQuery.browser.operaMobile||jQuery.browser.kindle,jQuery.isMobile=jQuery.browser.mobile,jQuery.isTablet=jQuery.browser.mobile&amp;&amp;jQuery(window).width()&gt;765,jQuery.isAndroidDefault=jQuery.browser.android&amp;&amp;!/chrome/i.test(nAgt);\n;/*___________________________________________________________________________________________________________________________________________________\n _ jquery.mb.components                                                                                                                             _\n _                                                                                                                                                  _\n _ file: jquery.mb.simpleSlider.min.js                                                                                                              _\n _ last modified: 16/05/15 23.45                                                                                                                    _\n _                                                                                                                                                  _\n _ Open Lab s.r.l., Florence - Italy                                                                                                                _\n _                                                                                                                                                  _\n _ email: matteo@open-lab.com                                                                                                                       _\n _ site: http://pupunzi.com                                                                                                                         _\n _       http://open-lab.com                                                                                                                        _\n _ blog: http://pupunzi.open-lab.com                                                                                                                _\n _ Q&amp;A:  http://jquery.pupunzi.com                                                                                                                  _\n _                                                                                                                                                  _\n _ Licences: MIT, GPL                                                                                                                               _\n _    http://www.opensource.org/licenses/mit-license.php                                                                                            _\n _    http://www.gnu.org/licenses/gpl.html                                                                                                          _\n _                                                                                                                                                  _\n _ Copyright (c) 2001-2015. Matteo Bicocchi (Pupunzi);                                                                                              _\n ___________________________________________________________________________________________________________________________________________________*/\n\n!function(e){var t=(/iphone|ipod|ipad|android|ie|blackberry|fennec/.test(navigator.userAgent.toLowerCase()),\"ontouchstart\"in window||window.navigator&amp;&amp;window.navigator.msPointerEnabled&amp;&amp;window.MSGesture||window.DocumentTouch&amp;&amp;document instanceof DocumentTouch||!1);e.simpleSlider={defaults:{initialval:0,scale:100,orientation:\"h\",readonly:!1,callback:!1},events:{start:t?\"touchstart\":\"mousedown\",end:t?\"touchend\":\"mouseup\",move:t?\"touchmove\":\"mousemove\"},init:function(o){return this.each(function(){var a=this,l=e(a);l.addClass(\"simpleSlider\"),a.opt={},e.extend(a.opt,e.simpleSlider.defaults,o),e.extend(a.opt,l.data());var i=\"h\"==a.opt.orientation?\"horizontal\":\"vertical\",n=e(\"&lt;div/&gt;\").addClass(\"level\").addClass(i);l.prepend(n),a.level=n,l.css({cursor:\"default\"}),\"auto\"==a.opt.scale&amp;&amp;(a.opt.scale=e(a).outerWidth()),l.updateSliderVal(),a.opt.readonly||(l.on(e.simpleSlider.events.start,function(e){t&amp;&amp;(e=e.changedTouches[0]),a.canSlide=!0,l.updateSliderVal(e),l.css({cursor:\"col-resize\"}),e.preventDefault(),e.stopPropagation()}),e(document).on(e.simpleSlider.events.move,function(o){t&amp;&amp;(o=o.changedTouches[0]),a.canSlide&amp;&amp;(e(document).css({cursor:\"default\"}),l.updateSliderVal(o),o.preventDefault(),o.stopPropagation())}).on(e.simpleSlider.events.end,function(){e(document).css({cursor:\"auto\"}),a.canSlide=!1,l.css({cursor:\"auto\"})}))})},updateSliderVal:function(t){function o(e,t){return Math.floor(100*e/t)}var a=this,l=a.get(0);if(l.opt){l.opt.initialval=\"number\"==typeof l.opt.initialval?l.opt.initialval:l.opt.initialval(l);var i=e(l).outerWidth(),n=e(l).outerHeight();l.x=\"object\"==typeof t?t.clientX+document.body.scrollLeft-a.offset().left:\"number\"==typeof t?t*i/l.opt.scale:l.opt.initialval*i/l.opt.scale,l.y=\"object\"==typeof t?t.clientY+document.body.scrollTop-a.offset().top:\"number\"==typeof t?(l.opt.scale-l.opt.initialval-t)*n/l.opt.scale:l.opt.initialval*n/l.opt.scale,l.y=a.outerHeight()-l.y,l.scaleX=l.x*l.opt.scale/i,l.scaleY=l.y*l.opt.scale/n,l.outOfRangeX=l.scaleX&gt;l.opt.scale?l.scaleX-l.opt.scale:l.scaleX&lt;0?l.scaleX:0,l.outOfRangeY=l.scaleY&gt;l.opt.scale?l.scaleY-l.opt.scale:l.scaleY&lt;0?l.scaleY:0,l.outOfRange=\"h\"==l.opt.orientation?l.outOfRangeX:l.outOfRangeY,\"undefined\"!=typeof t?l.value=\"h\"==l.opt.orientation?l.x&gt;=a.outerWidth()?l.opt.scale:l.x&lt;=0?0:l.scaleX:l.y&gt;=a.outerHeight()?l.opt.scale:l.y&lt;=0?0:l.scaleY:l.value=\"h\"==l.opt.orientation?l.scaleX:l.scaleY,\"h\"==l.opt.orientation?l.level.width(o(l.x,i)+\"%\"):l.level.height(o(l.y,n)),\"function\"==typeof l.opt.callback&amp;&amp;l.opt.callback(l)}}},e.fn.simpleSlider=e.simpleSlider.init,e.fn.updateSliderVal=e.simpleSlider.updateSliderVal}(jQuery);\n;/*___________________________________________________________________________________________________________________________________________________\n _ jquery.mb.components                                                                                                                             _\n _                                                                                                                                                  _\n _ file: jquery.mb.storage.min.js                                                                                                                   _\n _ last modified: 24/05/15 16.08                                                                                                                    _\n _                                                                                                                                                  _\n _ Open Lab s.r.l., Florence - Italy                                                                                                                _\n _                                                                                                                                                  _\n _ email: matteo@open-lab.com                                                                                                                       _\n _ site: http://pupunzi.com                                                                                                                         _\n _       http://open-lab.com                                                                                                                        _\n _ blog: http://pupunzi.open-lab.com                                                                                                                _\n _ Q&amp;A:  http://jquery.pupunzi.com                                                                                                                  _\n _                                                                                                                                                  _\n _ Licences: MIT, GPL                                                                                                                               _\n _    http://www.opensource.org/licenses/mit-license.php                                                                                            _\n _    http://www.gnu.org/licenses/gpl.html                                                                                                          _\n _                                                                                                                                                  _\n _ Copyright (c) 2001-2015. Matteo Bicocchi (Pupunzi);                                                                                              _\n ___________________________________________________________________________________________________________________________________________________*/\n\n!function(a){a.mbCookie={set:function(a,b,c,d){b=JSON.stringify(b),c||(c=7),d=d?\"; domain=\"+d:\"\";var f,e=new Date;e.setTime(e.getTime()+1e3*60*60*24*c),f=\"; expires=\"+e.toGMTString(),document.cookie=a+\"=\"+b+f+\"; path=/\"+d},get:function(a){for(var b=a+\"=\",c=document.cookie.split(\";\"),d=0;d&lt;c.length;d++){for(var e=c[d];\" \"==e.charAt(0);)e=e.substring(1,e.length);if(0==e.indexOf(b))return JSON.parse(e.substring(b.length,e.length))}return null},remove:function(b){a.mbCookie.set(b,\"\",-1)}},a.mbStorage={set:function(a,b){b=JSON.stringify(b),localStorage.setItem(a,b)},get:function(a){return localStorage[a]?JSON.parse(localStorage[a]):null},remove:function(a){a?localStorage.removeItem(a):localStorage.clear()}}}(jQuery);]]&gt;&lt;/script&gt;&lt;script_name&gt;Youtube Player&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 22:59:25&lt;/sys_created_on&gt;&lt;sys_id&gt;8458473ddb59a30040dff7b51d961924&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_homepage_sea.Youtube Player&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_8458473ddb59a30040dff7b51d961924&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 23:23:05&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>266411812</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>6829f5c8db9ea30040dff7b51d96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c410ff0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table/>\n<target_name>x_snc_homepage_sea.Youtube Player</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>5ecd0ffd2c59a3002fdda144b02c248b</update_guid>\n<update_guid_history>5ecd0ffd2c59a3002fdda144b02c248b:805914457,4759037d0c59a3002593b1fbea438346:1778229042,ab58473d0859a3006a15beb56f556d89:-1853546032</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d468073ddb59a30040dff7b51d9619c9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Youtube Player\">50488ff9db59a30040dff7b51d961942</sp_dependency><sp_js_include display_value=\"Youtube Player\">ba48073ddb59a30040dff7b51d9619c0</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:59:28</sys_created_on><sys_id>d468073ddb59a30040dff7b51d9619c9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Youtube Player.Youtube Player</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d468073ddb59a30040dff7b51d9619c9</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:59:28</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1893325440</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6829fd48db9ea30040dff7b51d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413a00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Youtube Player.Youtube Player</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>1868073d4759a300f8317b172e2962ca</update_guid>\n<update_guid_history>1868073d4759a300f8317b172e2962ca:1086697003</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_snc_homepage_sea_x_snc_homepage_search_background_u_quality</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"u_quality\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_quality</element><hint/><inactive>true</inactive><label>default</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>0</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:13:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>bfddfa35db59a30040dff7b51d961908</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>default</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_quality</element><hint/><inactive>true</inactive><label>large</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>1</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:14:46</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>530ebe35db59a30040dff7b51d96191e</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>large</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_quality</element><hint/><inactive>true</inactive><label>medium</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>2</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:14:06</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>21fdfa35db59a30040dff7b51d96190b</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>medium</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_quality</element><hint/><inactive>true</inactive><label>small</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>3</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:14:21</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a7fd7e35db59a30040dff7b51d9619a7</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>small</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>u_quality</element><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:13:58</sys_created_on><sys_id>29fd3e35db59a30040dff7b51d961998</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_quality</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_choice_x_snc_homepage_sea_x_snc_homepage_search_background_u_quality</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:13:58</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>1613325747</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6c29f5c8db9ea30040dff7b51d961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40cfc0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Quality</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid>d5120bf52159a300ea6480d7c997db24</update_guid>\n<update_guid_history>d5120bf52159a300ea6480d7c997db24:469750696,562efe352f59a30061e2bc4a84418089:-200081848,192ebe35ef59a300ff208bb3e9c2b221:925214938,831e7e354459a3001d91acdf6b977aef:92381431,9b0e3e355259a3002927015359e5090a:148799949,600e7e35eb59a30031d0bd7f7d95fcab:994643844,abfd7e35c959a300835b04093fc040b2:1230010666,e2fd7e35aa59a3009251a26596bf21ae:-109148859,69fd3e354859a30023ab0c44aca6ea99:-165287943</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_mobile_fallback_image_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_mobile_fallback_image\" label=\"Mobile fall back image\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_mobile_fallback_image</element><help/><hint/><label>Mobile fall back image</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Mobile fall back images</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:46:08</sys_created_on><sys_id>46973ebddb19a30040dff7b51d9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Mobile fall back image</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_mobile_fallback_image_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:46:08</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>2109538676</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>6c29f5c8db9ea30040dff7b51d961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40ee80000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Mobile fall back image</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>12973ebd8119a3005525992d3bd0a2c0</update_guid>\n<update_guid_history>12973ebd8119a3005525992d3bd0a2c0:589666463</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d9cae275db19a30040dff7b51d96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:07</sys_created_on><sys_id>d9cae275db19a30040dff7b51d96194d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_security_acl display_value=\"x_snc_homepage_sea_x_snc_homepage_search_background\">91cae275db19a30040dff7b51d96194a</sys_security_acl><sys_update_name>sys_security_acl_role_d9cae275db19a30040dff7b51d96194d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:07</sys_updated_on><sys_user_role display_value=\"x_snc_homepage_search.user\" name=\"x_snc_homepage_search.user\">3ccae275db19a30040dff7b51d961923</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1700663431</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>6c29f5c8db9ea30040dff7b51d96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413d00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>59cae275a019a300ada6bbcfb13caf51</update_guid>\n<update_guid_history>59cae275a019a300ada6bbcfb13caf51:-1107859602</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:02:46&lt;/sys_created_on&gt;&lt;sys_id&gt;a84bea75db19a30040dff7b51d961953&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 21:02:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1947583309</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a029f5c8db9ea30040dff7b51d961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c412280000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>a2ade239f719a300cb6b4a41a44d425d</update_guid>\n<update_guid_history>a2ade239f719a300cb6b4a41a44d425d:287217784</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Homepage Search Background\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Homepage Search Background</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Homepage Search Backgrounds</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:07</sys_created_on><sys_id>69cae275db19a30040dff7b51d961960</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Homepage Search Background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background__en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:07</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1258903084</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a029f5c8db9ea30040dff7b51d96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40fd10000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>21cae275b519a30026ff13ff402a5570</update_guid>\n<update_guid_history>21cae275b519a30026ff13ff402a5570:-1703953577</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_9dc28ff5db59a30040dff7b51d9619dc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"New Section\" section_id=\"9dc28ff5db59a30040dff7b51d9619dc\" sys_domain=\"global\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>d9c28ff5db59a30040dff7b51d9619dd</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><text>Alignment: Video alignment position inside the banner.\nVideo start at : Set the seconds the video should start at.\nVideo stop at: Set the seconds the video should stop at. If 0 is ignored.\nMobile fallback image: The path to the fallback image as background video is disabled on mobile devices.</text><type display_value=\"Info Box Blue\">753f88a80f930000b12e6903cfe01206</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>d9c28ff5db59a30040dff7b51d9619dd</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>11c28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>91c28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>15c28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>95c28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_active</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>19c28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>5</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>99c28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>6</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>1dc28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_youtube_url</element><position>7</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>9dc28ff5db59a30040dff7b51d9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_alignment</element><position>8</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>11c28ff5db59a30040dff7b51d9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_startat</element><position>9</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>91c28ff5db59a30040dff7b51d9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>10</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>15c28ff5db59a30040dff7b51d9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_stopat</element><position>11</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>95c28ff5db59a30040dff7b51d9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_mobile_fallback_image</element><position>12</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>19c28ff5db59a30040dff7b51d9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_quality</element><position>13</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_id>99c28ff5db59a30040dff7b51d9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"New Section\" display_value=\"New Section\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">9dc28ff5db59a30040dff7b51d9619dc</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>New Section</caption><header>false</header><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:34:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9dc28ff5db59a30040dff7b51d9619dc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>New Section</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_section_9dc28ff5db59a30040dff7b51d9619dc</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:34:58</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-238244245</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>a029f5c8db9ea30040dff7b51d96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c411e50000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>d9c2cff50059a300fb4841409948d97a</update_guid>\n<update_guid_history>d9c2cff50059a300fb4841409948d97a:1680055190</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_4fe78ff9db59a30040dff7b51d96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"JQ Browser\">9a770bf9db59a30040dff7b51d961978</sp_dependency><sp_js_include display_value=\"jQuery Browser\">4cd7cbf9db59a30040dff7b51d9619ea</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:57:28</sys_created_on><sys_id>4fe78ff9db59a30040dff7b51d96194f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>JQ Browser.jQuery Browser</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>m2m_sp_dependency_js_include_4fe78ff9db59a30040dff7b51d96194f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:57:28</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1576043112</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a029fd48db9ea30040dff7b51d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40f2e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>JQ Browser.jQuery Browser</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>07e78ff95859a3009005521ec6436b51</update_guid>\n<update_guid_history>07e78ff95859a3009005521ec6436b51:-1598474429</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_50488ff9db59a30040dff7b51d961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>Youtube Player</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:59:01</sys_created_on><sys_id>50488ff9db59a30040dff7b51d961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Youtube Player</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sp_dependency_50488ff9db59a30040dff7b51d961942</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:59:01</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1247516052</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a029fd48db9ea30040dff7b51d9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40f440000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Youtube Player</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>ad488ff90459a30028bff27ebb0b57e8</update_guid>\n<update_guid_history>ad488ff90459a30028bff27ebb0b57e8:799599689</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_active</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_active\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Active&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;true&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_active&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:02:45&lt;/sys_created_on&gt;&lt;sys_id&gt;973be675db19a30040dff7b51d961949&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Active&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_active&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 22:46:29&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>951690713</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a429f5c8db9ea30040dff7b51d961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4115f0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Active</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>466503b94b59a3001c8ebfb42316c385</update_guid>\n<update_guid_history>466503b94b59a3001c8ebfb42316c385:-835604988,0912c7f56e59a3001fc17b076a1312fb:-1563898845,479e76758459a300c247e9785d609141:-835604988,2aade239df19a300e951e6e439dbe758:-1563898845</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_type_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation action=\"DELETE\" element=\"u_type\" label=\"Type\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"DELETE\"><element>u_type</element><help/><hint/><label>Type</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Types</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:02:46</sys_created_on><sys_id>7eade639db19a30040dff7b51d961929</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Type</sys_name><sys_package display_value=\"Homepage Search Enhanced\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search Enhanced\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_type_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:02:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-450840649</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a429f5c8db9ea30040dff7b51d961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40f590000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.u_type</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>492e6e393f19a300b67bef1dea512a5f</update_guid>\n<update_guid_history>492e6e393f19a300b67bef1dea512a5f:-450840649,b2ade6395e19a3000abb22607bb2d14f:-2045677105</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_31cae275db19a30040dff7b51d961977</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Homepage Search Enhanced\">adcae275db19a30040dff7b51d961974</application><filter/><name>Homepage Search Background</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles>x_snc_homepage_search.user</roles><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:08</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>31cae275db19a30040dff7b51d961977</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Homepage Search Background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_module_31cae275db19a30040dff7b51d961977</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:08</sys_updated_on><table>x_snc_homepage_sea_x_snc_homepage_search_background</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<payload_hash>-1833444198</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>a429f5c8db9ea30040dff7b51d96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40e530000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>b5cae2758519a30074910c8ba2594d91</update_guid>\n<update_guid_history>b5cae2758519a30074910c8ba2594d91:1428264911</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_snc_homepage_sea_x_snc_homepage_search_background_u_alignment</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"u_alignment\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_alignment</element><hint/><inactive>true</inactive><label>bottom</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>0</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:10:00</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>70ec3235db59a30040dff7b51d9619ba</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>bottom</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_alignment</element><hint/><inactive>true</inactive><label>center</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>1</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:12:17</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>fe8d7635db59a30040dff7b51d961997</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>center</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_alignment</element><hint/><inactive>true</inactive><label>left</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>2</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:10:12</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>330d3235db59a30040dff7b51d9619dc</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>left</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_alignment</element><hint/><inactive>true</inactive><label>right</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>3</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:10:22</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>2a1db235db59a30040dff7b51d9619e4</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>right</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>u_alignment</element><hint/><inactive>true</inactive><label>top</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sequence>4</sequence><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:09:13</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>1cec7ef1db59a30040dff7b51d961958</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:31:57</sys_updated_on><value>top</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>u_alignment</element><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:09:13</sys_created_on><sys_id>50ec3235db59a30040dff7b51d9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_alignment</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_choice_x_snc_homepage_sea_x_snc_homepage_search_background_u_alignment</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:09:13</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>500484026</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a829f5c8db9ea30040dff7b51d961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40f7a0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Alignment</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid>8112c7f55e59a300e2fba9db8a04bef6</update_guid>\n<update_guid_history>8112c7f55e59a300e2fba9db8a04bef6:1197083503,8a9d3a35ce59a300fa59f46111554f66:58647107,c19d36350259a300f7fb74093613a7dd:-636289143,792df2359c59a3009f7a1bc7efb1ea5a:1461684106,782db235ba59a30063ed90406bdce1a1:-1510284565,3b1df2350c59a300fec0272f53c73915:-527738147,621d3235d059a300dd1bdacaf73b9bae:1983496241,e81d3235e759a300fd40a532661254df:-1199709440,2b0d3235e859a3000b835b044a8d1abe:1155920656,850d7235da59a300baa4fc8854e2aff0:-316069947,180d7235f659a30052935a7e3ab8e8eb:-457221571,d0ec3235c159a3001d8c28f1c03c84a8:-1229364513</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_background_image_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation action=\"DELETE\" element=\"u_background_image\" label=\"Mobile fall back Image\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"DELETE\"><element>u_background_image</element><help/><hint/><label>Mobile fall back Image</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Mobile fall back Images</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:02:46</sys_created_on><sys_id>feade639db19a30040dff7b51d96192c</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Mobile fall back Image</sys_name><sys_package display_value=\"Homepage Search Enhanced\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search Enhanced\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_background_image_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:04:50</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>191557433</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>a829f5c8db9ea30040dff7b51d961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40fa50000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.u_background_image</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>02973ebd9819a300b10116fe09f621ac</update_guid>\n<update_guid_history>02973ebd9819a300b10116fe09f621ac:191557433,8d2e6e396519a3006cc3539401215b4e:-997177583,76ade639f419a3004b0851cd4cbf8450:1568170961</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_cdcae275db19a30040dff7b51d961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:06</sys_created_on><sys_id>cdcae275db19a30040dff7b51d961939</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_security_acl display_value=\"x_snc_homepage_sea_x_snc_homepage_search_background\">0dcae275db19a30040dff7b51d961935</sys_security_acl><sys_update_name>sys_security_acl_role_cdcae275db19a30040dff7b51d961939</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:06</sys_updated_on><sys_user_role display_value=\"x_snc_homepage_search.user\" name=\"x_snc_homepage_search.user\">3ccae275db19a30040dff7b51d961923</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1793219146</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>a829f5c8db9ea30040dff7b51d96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413690000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>91cae275c619a3007193aabbc351b341</update_guid>\n<update_guid_history>91cae275c619a3007193aabbc351b341:-1908944321</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_78cae275db19a30040dff7b51d961920</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category/><description/><device_type>browser</device_type><hint/><name>Homepage Search Enhanced</name><order/><roles>x_snc_homepage_search.user</roles><sys_class_name>sys_app_application</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:05</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>78cae275db19a30040dff7b51d961920</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Homepage Search with video</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_app_application_78cae275db19a30040dff7b51d961920</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-23 17:32:33</sys_updated_on><title>Homepage Search with video</title><view_name/></sys_app_application></record_update>]]></payload>\n<payload_hash>2006578392</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>ac29f5c8db9ea30040dff7b51d961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c410940000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Homepage Search with video</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid>092787ca7cd1e3003718ecbdb59fbc94</update_guid>\n<update_guid_history>092787ca7cd1e3003718ecbdb59fbc94:2006578392,c5cae2756019a300999618d711e90730:1679166895,38cae2759a19a3001255ff824993e522:-1123901426</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_stopat</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_video_stopat\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Video stop at (in seconds)&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;0&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_video_stopat&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:44:56&lt;/sys_created_on&gt;&lt;sys_id&gt;1b83b279db19a30040dff7b51d961963&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Video stop at (in seconds)&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_stopat&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 22:45:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>280052793</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>ac29f5c8db9ea30040dff7b51d961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40c900000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Video stop at (in seconds)</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>cd150b79ec59a300715706d3f2fd18cf</update_guid>\n<update_guid_history>cd150b79ec59a300715706d3f2fd18cf:2050843748,99120bf5ed59a300d971408677247c19:732578179,9bcef6752459a300b2d31337e7d295d8:2050843748,9857b2bdbd19a300485d0a46ebb74c90:732578179</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_91cae275db19a30040dff7b51d96194a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_snc_homepage_sea_x_snc_homepage_search_background</description><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:06</sys_created_on><sys_id>91cae275db19a30040dff7b51d96194a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_security_acl_91cae275db19a30040dff7b51d96194a</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:06</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1605010094</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>ac29f5c8db9ea30040dff7b51d96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4111b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>51cae2755c19a300607f78cd2a14124d</update_guid>\n<update_guid_history>51cae2755c19a300607f78cd2a14124d:-1795160551</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_e1cae275db19a30040dff7b51d96196c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:08</sys_created_on><sys_id>e1cae275db19a30040dff7b51d96196c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>ua_table_licensing_config_e1cae275db19a30040dff7b51d96196c</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:08</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-122314605</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>ac29f5c8db9ea30040dff7b51d96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413f00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table/>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>25cae2751819a300f2695a14a8461e6d</update_guid>\n<update_guid_history>25cae2751819a300f2695a14a8461e6d:1029685768</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 20:50:07&lt;/sys_created_on&gt;&lt;sys_id&gt;d5cae275db19a30040dff7b51d96195a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 20:50:07&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2120873962</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>e029f5c8db9ea30040dff7b51d961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c413be0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>2dcae2758219a300d1f318af620f516e</update_guid>\n<update_guid_history>2dcae2758219a300d1f318af620f516e:-1723772843</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_quality_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_quality\" label=\"Quality\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_quality</element><help/><hint/><label>Quality</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Qualities</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:44:56</sys_created_on><sys_id>9857b2bddb19a30040dff7b51d961999</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Quality</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_quality_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:44:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>249162327</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>e029f5c8db9ea30040dff7b51d961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4116f0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Quality</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>e057b2bd9e19a300326f7762dd1d9eab</update_guid>\n<update_guid_history>e057b2bd9e19a300326f7762dd1d9eab:-753050046</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_x_snc_homepage_sea_x_snc_homepage_search_background_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sys_created_on</element><list_id display_value=\"x_snc_homepage_sea_x_snc_homepage_search_background\" element=\"NULL\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">ce0ba675db19a30040dff7b51d9619fa</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:51:15</sys_created_on><sys_id>0e0ba675db19a30040dff7b51d9619fb</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:51:15</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><parent/><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:51:15</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ce0ba675db19a30040dff7b51d9619fa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_list_x_snc_homepage_sea_x_snc_homepage_search_background_null</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:51:15</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>1876622520</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>e029f5c8db9ea30040dff7b51d96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4138a0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid>4a0ba6750319a30068678f6d25f92dfd</update_guid>\n<update_guid_history>4a0ba6750319a30068678f6d25f92dfd:442356323</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_e5cae275db19a30040dff7b51d961972</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Homepage Search with video\">78cae275db19a30040dff7b51d961920</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Homepage Search Background</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles>x_snc_homepage_search.user</roles><sys_class_name>sys_app_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:08</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>e5cae275db19a30040dff7b51d961972</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Homepage Search Background</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_app_module_e5cae275db19a30040dff7b51d961972</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:08</sys_updated_on><timeline_page/><title>Homepage Search Background</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash>1279332099</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>e429f5c8db9ea30040dff7b51d961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c414050000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>21cae275fe19a3000f704cc935962174</update_guid>\n<update_guid_history>21cae275fe19a3000f704cc935962174:-1522550749</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_alignment_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_alignment\" label=\"Alignment\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_alignment</element><help/><hint/><label>Alignment</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Alignments</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:44:56</sys_created_on><sys_id>9457b2bddb19a30040dff7b51d96199b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Alignment</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_alignment_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:44:56</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1351038524</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>e429f5c8db9ea30040dff7b51d961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4112b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Alignment</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>a857b2bdd719a300177a639cd0c83ca7</update_guid>\n<update_guid_history>a857b2bdd719a300177a639cd0c83ca7:2060924143</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9dcae275db19a30040dff7b51d961955</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:07</sys_created_on><sys_id>9dcae275db19a30040dff7b51d961955</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_security_acl display_value=\"x_snc_homepage_sea_x_snc_homepage_search_background\">55cae275db19a30040dff7b51d961952</sys_security_acl><sys_update_name>sys_security_acl_role_9dcae275db19a30040dff7b51d961955</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:07</sys_updated_on><sys_user_role display_value=\"x_snc_homepage_search.user\" name=\"x_snc_homepage_search.user\">3ccae275db19a30040dff7b51d961923</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1149102321</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>e429f5c8db9ea30040dff7b51d96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c411f90000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background.x_snc_homepage_search.user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>1dcae2752419a3008b85f27baef60759</update_guid>\n<update_guid_history>1dcae2752419a3008b85f27baef60759:1741906150</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1e8583b9db59a30040dff7b51d9619c5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function homepageSearchWithVideoController($timeout, $window) {\n\tvar c = this;\n\tc.$onInit = function () {\n\t\tc.videoStartat = c.data.video.videoStartat || 0;\n\t\tc.videoJson = \"{videoURL:'\"+c.data.video.youtbeUrl +\"',containment:'.video-section', quality:'\"+c.data.video.quality+\"', mobileFallbackImage:'\"+c.data.video.mobilefallBackImage+\"', startAt:\"+c.videoStartat+\", stopAt:\"+c.data.video.videoStopat+\", align:'\"+c.data.video.alignment+\"'}\";\n\t\t\tinitilizePlayer();\n\t\t};\n\t\t\n\t\tfunction initilizePlayer(){\n\t\t\t$timeout(function() {\n\t\t\t\t$(function() {\n\t\t\t\t\t$(\"#bgndVideo\").mb_YTPlayer();\n\t\t\t\t\t$window.YTConfig = {\n\t\t\t\t\t\thost: 'https://www.youtube.com'\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}, 50);\n\t\t}\n\t\t\n\t}\n\t]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.round-btn{&amp;#13;\n  \tborder-radius:20px;&amp;#13;\n  }&amp;#13;\n.input-group input{&amp;#13;\n\theight: 46px;&amp;#13;\n    padding: 10px 16px;&amp;#13;\n    font-size: 18px;&amp;#13;\n    line-height: 1.33333;&amp;#13;\n    border-radius: 6px;&amp;#13;\n}&amp;#13;\n.input-group-btn button{&amp;#13;\n\theight: 46px;&amp;#13;\n    padding: 10px 16px;&amp;#13;\n    font-size: 18px;&amp;#13;\n    line-height: 1.33333;&amp;#13;\n    border-radius: 6px;&amp;#13;\n}&amp;#13;\n.center-this form{&amp;#13;\n\twidth:80%;&amp;#13;\n    margin-left: auto;&amp;#13;\n    margin-right: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\nsection.page{&amp;#13;\n\toverflow-x: hidden;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n.center-this{&amp;#13;\n  h2{&amp;#13;\n\tcolor:#fff; &amp;#13;\n    @media screen and (max-width: 600px) {&amp;#13;\n        font-size:40px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .h4{&amp;#13;\n  color:#fff;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n}&amp;#13;\n&amp;#13;\n.video-section .pattern-overlay {&amp;#13;\n    background-color: rgba(71, 71, 71, 0.59);&amp;#13;\n    min-height: 400px;&amp;#13;\n    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */&amp;#13;\n \tdisplay: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */&amp;#13;\n  \tdisplay: -ms-flexbox;      /* TWEENER - IE 10 */&amp;#13;\n  \tdisplay: -webkit-flex;     /* NEW - Chrome */&amp;#13;\n  \tdisplay: flex; &amp;#13;\n    align-items: center;&amp;#13;\n    /* Incase of overlay problems just increase the min-height*/&amp;#13;\n}&amp;#13;\n&amp;#13;\n.center-this{&amp;#13;\n\tposition: absolute;&amp;#13;\n    top: 50%;&amp;#13;\n  left:50%;&amp;#13;\n        transform: translate(-50%,-50%);&amp;#13;\n}&amp;#13;\n&amp;#13;\n.player {&amp;#13;\n    font-size: 1px;&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;homepage_search_with_video&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Homepage Search with video&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Homepage Search Background\",\"name\":\"homepage_search_record\",\"section\":\"Data\",\"label\":\"Homepage search record\",\"type\":\"reference\",\"value\":\"x_snc_homepage_sea_x_snc_homepage_search_background\",\"ed\":{\"reference\":\"x_snc_homepage_sea_x_snc_homepage_search_background\"}},{\"name\":\"title\",\"section\":\"Presentation\",\"label\":\"Search Title\",\"type\":\"string\"},{\"name\":\"short_description\",\"section\":\"Presentation\",\"label\":\"Search Short description\",\"type\":\"string\"},{\"name\":\"search_box_typeahead\",\"section\":\"Presentation\",\"label\":\"Search box typeahead\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[var homepageSearchRecord = options.homepage_search_record;\ndata.typeAheadSearch = $sp.getWidget('typeahead-search', {'title':options.search_box_typeahead});\n\tdata.video = {};\n\t\tvar banGr = new GlideRecord('x_snc_homepage_sea_x_snc_homepage_search_background');\n\t\tbanGr.addQuery('sys_id', homepageSearchRecord);\n\t\tbanGr.addQuery('u_active', true);\n\t\tbanGr.query();\n\t\tif (banGr.next()) {\n\t\t\t\n\t\t\tvar temp = {};\n\t\t\t\ttemp.name = banGr.getDisplayValue('u_name');\n\t\t\t\ttemp.youtbeUrl = banGr.getDisplayValue('u_youtube_url');\n\t\t\t\ttemp.quality = banGr.getDisplayValue('u_quality');\n\t\t\t\ttemp.mobilefallBackImage = banGr.getDisplayValue('u_mobile_fallback_image');\n\t\t\t\ttemp.videoStopat = banGr.getDisplayValue('u_video_stopat');\n\t\t\t\ttemp.videoStartat = banGr.getDisplayValue('u_video_startat');\n\t\t\t\ttemp.alignment = banGr.getDisplayValue('u_alignment');\n\t\t\t\tdata.video = temp;\n\t\t\t}\n\t\t\t]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 22:55:15&lt;/sys_created_on&gt;&lt;sys_id&gt;1e8583b9db59a30040dff7b51d9619c5&lt;/sys_id&gt;&lt;sys_mod_count&gt;26&lt;/sys_mod_count&gt;&lt;sys_name&gt;Homepage Search with video&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1e8583b9db59a30040dff7b51d9619c5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-05 23:36:32&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"banner-class row\"&gt;\n        &lt;section class=\"content-section video-section\"&gt;\n            &lt;div class=\"pattern-overlay\"&gt;\n                &lt;a id=\"bgndVideo\" class=\"player\" data-property=\"{{c.videoJson}}\"&gt;bg&lt;/a&gt;\n                &lt;div class=\"container\"&gt;\n                    &lt;div class=\"row\"&gt;\n                        &lt;div class=\"col-lg-8 col-md-8 col-sm-8 col-xs-12 text-center center-this\"&gt;\n                          &lt;h2 class=\"text-center text-4x m-b-lg sp-tagline-color ng-binding\" ng-bind=\"options.title\"&gt;&lt;/h2&gt;\n                          &lt;div ng-if=\"options.short_description\" class=\"text-center h4 m-b-lg sp-tagline-color ng-binding ng-scope\" ng-bind=\"options.short_description\"&gt;&lt;/div&gt;  \n                          &lt;sp-widget widget=\"data.typeAheadSearch\" /&gt;\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/section&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1862541041</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>e829f5c8db9ea30040dff7b51d961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40ca90000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Homepage Search with video</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>04d67548f49ea3007e2e783d9509fa8c</update_guid>\n<update_guid_history>04d67548f49ea3007e2e783d9509fa8c:1862541041,6086f508329ea30097f1b21397eed436:-2095269138,f0767508449ea3001fa7c0bd4e8fcc87:-1399585971,a616f1c4129ea300cb6505eb56a8f74d:1179030494,82a7dfcab515e300e7a0ee3e3f5c89a9:1162450182,f6779fca4915e3006e1dbf04a8e3c9a9:-432228853,3e575b8a6e15e300bfb03ca4edbce0a2:125403726,cb86dfc64115e300cad905c58330313a:1835275065,6f041bc65a15e300ee7f40b4f7fdaa58:-1629703878,93335f86c915e3007c1526a7b703efe4:-1727396243,86039746f015e300668a5edced3dfc9a:202557470,85d217460e15e300766319a5559dca49:859341566,66b2d346a215e300a7462fa4c176f3c3:1047259255,8cbf03426415e30045093bdec5192601:-1511983542,b8d68f4a60d1e300388bde29062ac7e2:859341566,d3a68f4a4dd1e3000ccda89da7bb7c6b:1902038856,57764b4ae6d1e3006bbc3581514ab632:-1213571696,fee4cfc63bd1e3003c340eef15d45da7:-512316760,81448b861ad1e300d3ca75ae527e1d19:-896488135,f643c306ded1e300fc66797bb471026a:-1668087519,bbd24f82bfd1e3000e5fa5ee82a7e920:153131275,6f4e0f312b99a30047b182b152e2bd9f:-297207160,e6fd0ffd1e59a3009d1aba1afa8c3291:-1192787388,dc9ccbfdc459a300799c564960a5971b:1869965030,33c9837d0259a300ff0ff2020a136d71:1007183065,10a9837d4c59a300d0811f11f90e0fd4:533916722,666743b9a659a300d9a978dac728b377:-1300526293</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_startat</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_video_startat\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Video start at (in seconds)&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_video_startat&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:44:56&lt;/sys_created_on&gt;&lt;sys_id&gt;c94e6e39db19a30040dff7b51d96196b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Video start at (in seconds)&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_video_startat&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 21:44:56&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>203442862</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>e829f5c8db9ea30040dff7b51d961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4133c0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Video start at (in seconds)</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>9057b2bd9319a3009d4e5a5b2a8dd38c</update_guid>\n<update_guid_history>9057b2bd9319a3009d4e5a5b2a8dd38c:-751467495</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_55cae275db19a30040dff7b51d961952</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_snc_homepage_sea_x_snc_homepage_search_background</description><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:07</sys_created_on><sys_id>55cae275db19a30040dff7b51d961952</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_security_acl_55cae275db19a30040dff7b51d961952</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:07</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>396483740</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>e829f5c8db9ea30040dff7b51d96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40f960000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>x_snc_homepage_sea_x_snc_homepage_search_background</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>15cae2754819a30040a42b710cbffa55</update_guid>\n<update_guid_history>15cae2754819a30040a42b710cbffa55:1497432967</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_3ccae275db19a30040dff7b51d961923</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><encryption_context/><grantable>true</grantable><includes_roles/><name>x_snc_homepage_search.user</name><requires_subscription>-1</requires_subscription><scoped_admin>false</scoped_admin><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 20:50:05</sys_created_on><sys_id>3ccae275db19a30040dff7b51d961923</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_search.user</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_user_role_3ccae275db19a30040dff7b51d961923</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 20:50:05</sys_updated_on></sys_user_role></record_update>]]></payload>\n<payload_hash>171715571</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>e829f5c8db9ea30040dff7b51d96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c40eb70000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table/>\n<target_name>x_snc_homepage_search.user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_guid>c1cae2754119a300d4670a0009d82c27</update_guid>\n<update_guid_history>c1cae2754119a300d4670a0009d82c27:-1590004404</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_mobile_fallback_image</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_mobile_fallback_image\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Mobile fall back image&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_mobile_fallback_image&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_snc_homepage_sea_x_snc_homepage_search_background&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-22 21:46:08&lt;/sys_created_on&gt;&lt;sys_id&gt;7877babddb19a30040dff7b51d9619fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Mobile fall back image&lt;/sys_name&gt;&lt;sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Homepage Search with video\"&gt;f8ca2235db19a30040dff7b51d9619e9&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_snc_homepage_sea_x_snc_homepage_search_background_u_mobile_fallback_image&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-22 21:46:08&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>198477355</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>ec29f5c8db9ea30040dff7b51d961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c410820000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Mobile fall back image</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>ce973ebd1719a300cedea6685268c4b7</update_guid>\n<update_guid_history>ce973ebd1719a300cedea6685268c4b7:-590578986</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_youtube_url_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_youtube_url\" label=\"Youtube url\" language=\"en\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_youtube_url</element><help/><hint/><label>Youtube url</label><language>en</language><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><plural>Youtube urls</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:02:46</sys_created_on><sys_id>f6ade639db19a30040dff7b51d961930</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Youtube url</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_documentation_x_snc_homepage_sea_x_snc_homepage_search_background_u_youtube_url_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:02:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1845787388</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>ec29f5c8db9ea30040dff7b51d961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4141d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background.Youtube url</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>3aade6392519a300c7ab43272371be51</update_guid>\n<update_guid_history>3aade6392519a300c7ab43272371be51:424656943</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_715a3e71db59a30040dff7b51d961970</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"715a3e71db59a30040dff7b51d961970\" sys_domain=\"global\" table=\"x_snc_homepage_sea_x_snc_homepage_search_background\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>1eb40779db59a30040dff7b51d9619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><text>&lt;p&gt;&lt;b&gt;Alignment:&lt;/b&gt; Video alignment position inside the banner.&lt;/p&gt;&#13;\n&lt;p&gt;&lt;b&gt;Video start at :&lt;/b&gt; Set the seconds the video should start at.&lt;/p&gt;&#13;\n&lt;p&gt;&lt;b&gt;Video stop at: &lt;/b&gt;Set the seconds the video should stop at. If 0 is ignored. &lt;/p&gt;&#13;\n&lt;p&gt;&lt;b&gt;Mobile fallback image: &lt;/b&gt;The path to the fallback image as background video is disabled on mobile devices.&lt;/p&gt;</text><type display_value=\"Info Box Blue\">753f88a80f930000b12e6903cfe01206</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>1eb40779db59a30040dff7b51d9619fe</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>deb40779db59a30040dff7b51d9619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>52b40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>d2b40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_youtube_url</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>56b40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_alignment</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>d6b40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_startat</element><position>5</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>5ab40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>6</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>dab40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_active</element><position>7</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>5eb40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_video_stopat</element><position>8</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>deb40779db59a30040dff7b51d9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_mobile_fallback_image</element><position>9</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>52b44779db59a30040dff7b51d961900</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_quality</element><position>10</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:43:30</sys_created_on><sys_id>d2b44779db59a30040dff7b51d961900</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_snc_homepage_sea_x_snc_homepage_search_background\" sys_domain=\"global\" view=\"Default view\">715a3e71db59a30040dff7b51d961970</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:43:30</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>x_snc_homepage_sea_x_snc_homepage_search_background</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 21:58:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>715a3e71db59a30040dff7b51d961970</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_snc_homepage_sea_x_snc_homepage_search_background</sys_name><sys_overrides/><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>sys_ui_section_715a3e71db59a30040dff7b51d961970</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 21:58:09</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1874388743</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:41</sys_created_on>\n<sys_id>ec29f5c8db9ea30040dff7b51d96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c4106d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:41</sys_updated_on>\n<table>x_snc_homepage_sea_x_snc_homepage_search_background</table>\n<target_name>Homepage Search Background</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>d6b447794359a3000a6c17c507e98b02</update_guid>\n<update_guid_history>d6b447794359a3000a6c17c507e98b02:-78910418,947483798d59a30092d570c28f19bb2f:-1834043687,9234cf39f359a300dfc4a9a8a0a78dc4:871737132,c9830b39d059a300ce95d1e5eb5a1b67:-1788119479,7d63c7397759a300a6e028d4d26d9671:-456940177,9013c339da59a300a4bc423999c1fa85:1860710536,750383397c59a3003e4c1449f3a151e6:-1876498526,d2f283397359a3001d3d6fe4b1816120:-966129424,7ee24339c759a300cc6cb9bd6e4b3f96:-1404108512,863c3af1c559a300e4bdc5f47638e9c4:529993135,865a3e717059a300c20d9a0f3010ed7b:-377855385,715a3e716d59a300e3544f95f825ed73:-524455495</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_79488ff9db59a30040dff7b51d9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Youtube Player\">50488ff9db59a30040dff7b51d961942</sp_dependency><sp_widget display_value=\"Homepage Search with video\">1e8583b9db59a30040dff7b51d9619c5</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-10-22 22:59:01</sys_created_on><sys_id>79488ff9db59a30040dff7b51d9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Youtube Player.Homepage Search with video</sys_name><sys_package display_value=\"Homepage Search with video\" source=\"x_snc_homepage_sea\">f8ca2235db19a30040dff7b51d9619e9</sys_package><sys_policy/><sys_scope display_value=\"Homepage Search with video\">f8ca2235db19a30040dff7b51d9619e9</sys_scope><sys_update_name>m2m_sp_widget_dependency_79488ff9db59a30040dff7b51d9619e9</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-10-22 22:59:01</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1793853719</payload_hash>\n<remote_update_set display_value=\"Homepage Search with video\">ac29fd48db9ea30040dff7b51d9619b7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-05 23:46:40</sys_created_on>\n<sys_id>ec29fd48db9ea30040dff7b51d9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16780c410a00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-05 23:46:40</sys_updated_on>\n<table/>\n<target_name>Youtube Player.Homepage Search with video</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>bd488ff97c59a300084f5320cf64a2ea</update_guid>\n<update_guid_history>bd488ff97c59a300084f5320cf64a2ea:812146260</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-homepage-search-with-video/widget/pe-homepage-search-with-video.u-body-html-template.html",
    "content": "<div class=\"banner-class row\">\n        <section class=\"content-section video-section\">\n            <div class=\"pattern-overlay\">\n                <a id=\"bgndVideo\" class=\"player\" data-property=\"{{videoJson}}\">bg</a>\n                <div class=\"container\">\n                    <div class=\"row\">\n                        <div class=\"col-lg-8 col-md-8 col-sm-8 col-xs-12 text-center center-this\">\n                          <h2 class=\"text-center text-4x m-b-lg sp-tagline-color ng-binding\" ng-bind=\"options.title\"></h2>\n                          <div ng-if=\"options.short_description\" class=\"text-center h4 m-b-lg sp-tagline-color ng-binding ng-scope\" ng-bind=\"options.short_description\"></div>\n                          <sp-widget widget=\"data.typeAheadSearch\" />\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </section>\n</div>\n"
  },
  {
    "path": "pe-homepage-search-with-video/widget/pe-homepage-search-with-video.u-client-script.js",
    "content": "function homepageSearchWithVideoController($timeout, $window) {\n  var c = this;\n  c.$onInit = function () {\n    c.videoStartat = c.data.video.videoStartat || 0;\n    c.videoJson = \"{videoURL:'\" + c.data.video.youtbeUrl + \"',containment:'.video-section', quality:'\" + c.data.video.quality + \"', mobileFallbackImage:'\" + c.data.video.mobilefallBackImage + \"', startAt:\" + c.videoStartat + \", stopAt:\" + c.data.video.videoStopat + \", align:'\" + c.data.video.alignment + \"'}\";\n    initilizePlayer();\n  };\n\n  function initilizePlayer() {\n    $timeout(function () {\n      $(function () {\n        $(\"#bgndVideo\").mb_YTPlayer();\n        $window.YTConfig = {\n          host: 'https://www.youtube.com'\n        };\n      });\n    }, 50);\n  }\n\n}"
  },
  {
    "path": "pe-homepage-search-with-video/widget/pe-homepage-search-with-video.u-css.scss",
    "content": ".round-btn{\n  \tborder-radius:20px;\n  }\n.input-group input{\n\theight: 46px;\n    padding: 10px 16px;\n    font-size: 18px;\n    line-height: 1.33333;\n    border-radius: 6px;\n}\n.input-group-btn button{\n\theight: 46px;\n    padding: 10px 16px;\n    font-size: 18px;\n    line-height: 1.33333;\n    border-radius: 6px;\n}\n.center-this form{\n\twidth:80%;\n    margin-left: auto;\n    margin-right: auto;\n}\n\nsection.page{\n\toverflow-x: hidden;\n}\n\n\n\n.center-this{\n  h2{\n\tcolor:#fff;\n    @media screen and (max-width: 600px) {\n        font-size:40px;\n    }\n  }\n  .h4{\n  color:#fff;\n  }\n\n}\n\n.video-section .pattern-overlay {\n    background-color: rgba(71, 71, 71, 0.59);\n    min-height: 400px;\n    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */\n \tdisplay: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */\n  \tdisplay: -ms-flexbox;      /* TWEENER - IE 10 */\n  \tdisplay: -webkit-flex;     /* NEW - Chrome */\n  \tdisplay: flex;\n    align-items: center;\n    /* Incase of overlay problems just increase the min-height*/\n}\n\n.center-this{\n\tposition: absolute;\n    top: 50%;\n  left:50%;\n        transform: translate(-50%,-50%);\n}\n\n.player {\n    font-size: 1px;\n}\n"
  },
  {
    "path": "pe-homepage-search-with-video/widget/pe-homepage-search-with-video.u-option-schema.json",
    "content": "[\n    {\n        \"displayValue\": \"Homepage Search Background\",\n        \"name\": \"homepage_search_record\",\n        \"section\": \"Data\",\n        \"label\": \"Homepage search record\",\n        \"type\": \"reference\",\n        \"value\": \"x_snc_homepage_sea_x_snc_homepage_search_background\",\n        \"ed\": {\n            \"reference\": \"x_snc_homepage_sea_x_snc_homepage_search_background\"\n        }\n    },\n    {\n        \"name\": \"title\",\n        \"section\": \"Presentation\",\n        \"label\": \"Search Title\",\n        \"type\": \"string\"\n    },\n    {\n        \"name\": \"short_description\",\n        \"section\": \"Presentation\",\n        \"label\": \"Search Short description\",\n        \"type\": \"string\"\n    },\n    {\n        \"name\": \"search_box_typeahead\",\n        \"section\": \"Presentation\",\n        \"label\": \"Search box typeahead\",\n        \"type\": \"string\"\n    }\n]"
  },
  {
    "path": "pe-homepage-search-with-video/widget/pe-homepage-search-with-video.u-server-script.js",
    "content": "var homepageSearchRecord = options.homepage_search_record;\ndata.typeAheadSearch = $sp.getWidget('typeahead-search', {'title':options.search_box_typeahead});\n\tdata.video = {};\n\t\tvar banGr = new GlideRecord('x_snc_homepage_sea_x_snc_homepage_search_background');\n\t\tbanGr.addQuery('sys_id', homepageSearchRecord);\n\t\tbanGr.addQuery('u_active', true);\n\t\tbanGr.query();\n\t\tif (banGr.next()) {\n\n\t\t\tvar temp = {};\n\t\t\t\ttemp.name = banGr.getDisplayValue('u_name');\n\t\t\t\ttemp.youtbeUrl = banGr.getDisplayValue('u_youtube_url');\n\t\t\t\ttemp.quality = banGr.getDisplayValue('u_quality');\n\t\t\t\ttemp.mobilefallBackImage = banGr.getDisplayValue('u_mobile_fallback_image');\n\t\t\t\ttemp.videoStopat = banGr.getDisplayValue('u_video_stopat');\n\t\t\t\ttemp.videoStartat = banGr.getDisplayValue('u_video_startat');\n\t\t\t\ttemp.alignment = banGr.getDisplayValue('u_alignment');\n\t\t\t\tdata.video = temp;\n\t\t\t}\n"
  },
  {
    "path": "pe-horizontal-scroll-menu/Readme.md",
    "content": "# Tabs Selector\n\n## Description\n\nThis widget can be used to quicly show a list of tabs, managin selection and with horizontal scrolling.\n\n## Screenshots\n### No tab selected\n![alt text](../images/pe-tabs-selector-01.png \"Tabs Selector - No tab selection\")\n### Tab selected\n![alt text](../images/pe-tabs-selector-02.png \"Tabs Selector - Tab selected\")\n### Horizontal scrolling\n![alt text](../images/pe-tabs-selector-03.png \"Tabs Selector - Horizontal scrolling\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-horizontal-scroll-menu.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-horizontal-scroll-menu/pe-horizontal-scroll-menu.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Title\"** Card Title `Default: All providers`\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON objects in the Server Script.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-tabs-selector-bg-color: #373737 !default;`<br/>\n`$pe-tabs-selector-bg-active-color: #4d4d4d !default;`<br/>\n`$pe-tabs-selector-text-color: #9c9c9c !default;`<br/>\n`$pe-tabs-selector-text-active-color: #fff !default;`<br/>"
  },
  {
    "path": "pe-horizontal-scroll-menu/pe-horizontal-scroll-menu.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-07 23:40:29\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Tabs Selector 2</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>cac6c03a13d93200d15e3d7ed144b058</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-07 23:40:29</sys_created_on>\n<sys_id>e961d87e13d93200d15e3d7ed144b04b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-07 23:40:29</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3d1c0392131d7e007e94fc5ed144b011</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ScrollMenuController($rootScope, $timeout) {\n  var c = this;\n\n  $rootScope.$broadcast('changeBackState', '');\n\n  c.selectedProvider = 'all';\n  c.changeDataForAll = function () {};\n\n  c.changeDataForSelection = function (input) {};\n\n  c.switchIt = function (option) {\n    if (option == 'all') {\n      c.selectedProvider = 'all';\n      c.changeDataForAll();\n    }\n    if (option != 'all') {\n      c.selectedProvider = option;\n      c.changeDataForSelection(option);\n    }\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-tabs-selector-bg-color: #373737 !default;&amp;#13;\n$pe-tabs-selector-bg-active-color: #4d4d4d !default;&amp;#13;\n$pe-tabs-selector-text-color: #9c9c9c !default;&amp;#13;\n$pe-tabs-selector-text-active-color: #fff !default;&amp;#13;\n&amp;#13;\n.provider-switcher {&amp;#13;\n  //padding: 10px;&amp;#13;\n  background: #4a4545;&amp;#13;\n  color: $pe-tabs-selector-text-active-color;&amp;#13;\n  &amp;amp;:after {&amp;#13;\n    content: \" \";&amp;#13;\n    display: block;&amp;#13;\n    clear: both;&amp;#13;\n  }&amp;#13;\n  .scroll-wrapper {&amp;#13;\n    width: 100%;&amp;#13;\n    white-space: nowrap;&amp;#13;\n    overflow-y: hidden;&amp;#13;\n    overflow-x: scroll;&amp;#13;\n    -webkit-overflow-scrolling: touch;&amp;#13;\n    // Toggle this depending upon whether you want to see the scrollbar&amp;#13;\n    &amp;amp;::-webkit-scrollbar {&amp;#13;\n      display: none;&amp;#13;\n    }&amp;#13;\n    .inner-wrapper {&amp;#13;\n      min-width: 500px;&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        content: \" \";&amp;#13;\n        display: block;&amp;#13;\n        clear: both;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .heading {&amp;#13;\n    margin: 0;&amp;#13;\n    text-align: center;&amp;#13;\n    padding: 10px;&amp;#13;\n  }&amp;#13;\n  .border-none {&amp;#13;\n    border: 0px !important;&amp;#13;\n  }&amp;#13;\n  .provider-filters {&amp;#13;\n    .all-filter {&amp;#13;\n      width: 120px;&amp;#13;\n      float: left;&amp;#13;\n      font-size: 18px;&amp;#13;\n      padding: 14px;&amp;#13;\n      background: $pe-tabs-selector-bg-color;&amp;#13;\n      color: $pe-tabs-selector-text-color;&amp;#13;\n      //border-right: 1px solid #fff;&amp;#13;\n    }&amp;#13;\n    .each-filter {&amp;#13;\n      padding: 10px;&amp;#13;\n      width: 120px;&amp;#13;\n      height: 53px;&amp;#13;\n      font-size: 18px;&amp;#13;\n      float: left;&amp;#13;\n      display: flex;&amp;#13;\n      color: $pe-tabs-selector-text-color;&amp;#13;\n      align-items: center;&amp;#13;\n      justify-content: space-around;&amp;#13;\n      background: $pe-tabs-selector-bg-color;&amp;#13;\n      //border-right: 1px solid #fff;&amp;#13;\n      .provider-logos {&amp;#13;\n        height: 27px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.active {&amp;#13;\n  background: $pe-tabs-selector-bg-active-color;&amp;#13;\n  color: $pe-tabs-selector-text-active-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.remove-padding {&amp;#13;\n  padding-left: 0px;&amp;#13;\n  padding-right: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.remove-margin-bottom {&amp;#13;\n  margin-bottom: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.aws-icon {&amp;#13;\n  fill: #9c9c9c;&amp;#13;\n  height: 23px;&amp;#13;\n  width: 27px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.aws-icon-active {&amp;#13;\n  fill: orange;&amp;#13;\n  height: 23px;&amp;#13;\n  width: 27px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.vmware-icon {&amp;#13;\n  fill: #9c9c9c;&amp;#13;\n  height: 14px;&amp;#13;\n  width: 80px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.vmware-icon-active {&amp;#13;\n  fill: #fff;&amp;#13;\n  height: 14px;&amp;#13;\n  width: 80px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.azure-icon {&amp;#13;\n  fill: #9c9c9c;&amp;#13;\n  height: 23px;&amp;#13;\n  width: 27px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.azure-icon-active {&amp;#13;\n  fill: #32A6DC;&amp;#13;\n  height: 23px;&amp;#13;\n  width: 27px;&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-tabs-selector&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Tabs Selector&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"All providers\",\"label\":\"Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.title = input.title || options.title;\n\n  data.input = [\n    {\n      'displayName': 'AWS',\n      'name': 'aws',\n      'idIcon': '#icon-aws',\n      'classIcon': 'aws-icon',\n      'classIconActive': 'aws-icon-active',\n      'showOnlyIcon' : false\n    },\n    {\n      'displayName': 'VMware',\n      'name': 'vmware',\n      'idIcon': '#icon-vmware',\n      'classIcon': 'vmware-icon',\n      'classIconActive': 'vmware-icon-active',\n      'showOnlyIcon' : true\n    },\n    {\n      'displayName': 'Azure',\n      'name': 'azure',\n      'idIcon': '#icon-azure',\n      'classIcon': 'azure-icon',\n      'classIconActive': 'azure-icon-active',\n      'showOnlyIcon' : false\n    }\n  ];\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-07 00:00:38&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3d1c0392131d7e007e94fc5ed144b011&lt;/sys_id&gt;&lt;sys_mod_count&gt;103&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Tabs Selector&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3d1c0392131d7e007e94fc5ed144b011&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-07 23:40:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n\n    &lt;symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Page-1\"&gt;\n        &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\"&gt;\n          &lt;g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\"&gt;\n            &lt;polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"&gt;&lt;/polygon&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Page-1\"&gt;\n        &lt;g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\"&gt;\n          &lt;g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\"&gt;\n            &lt;polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"&gt;&lt;/polygon&gt;\n            &lt;polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"&gt;&lt;/polygon&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/symbol&gt;\n    &lt;symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n      &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\"&gt;\n          &lt;g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\"&gt;\n            &lt;path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\n              id=\"Fill-1\"&gt;&lt;/path&gt;\n            &lt;path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\n              id=\"Fill-3\"&gt;&lt;/path&gt;\n            &lt;path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\n              id=\"Fill-5\"&gt;&lt;/path&gt;\n            &lt;path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\n              id=\"Fill-7\"&gt;&lt;/path&gt;\n            &lt;path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\n              id=\"Fill-9\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/symbol&gt;\n  &lt;/svg&gt;\n\n  &lt;!-- your widget template --&gt;\n  &lt;div class=\"provider-switcher\"&gt;\n    &lt;div class=\"provider-filters col-xs-12 remove-padding scroll-wrapper\"&gt;\n      &lt;div class=\"inner-wrapper\"&gt;\n        &lt;div ng-class=\"{'active':c.selectedProvider == 'all'}\" ng-click=\"c.switchIt('all')\" class=\"all-filter text-center\"&gt;\n          &lt;p class=\"remove-margin-bottom\"&gt;{{c.data.title}}&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"item in c.data.input\"&gt;\n          &lt;div ng-class=\"{'active':c.selectedProvider == item.name}\" ng-click=\"c.switchIt(item.name)\" class=\"each-filter\"&gt;\n            &lt;svg ng-class=\"{'{{item.classIconActive}}':c.selectedProvider == item.name, '{{item.classIcon}}':c.selectedProvider != item.name}\"&gt;\n              &lt;use xlink:href={{item.idIcon}}&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n            &lt;p ng-if=\"!item.showOnlyIcon\" class=\"remove-margin-bottom\"&gt;{{item.displayName}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tabs Selector 2\">e961d87e13d93200d15e3d7ed144b04b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-03-07 23:40:29</sys_created_on>\n<sys_id>ad61d87e13d93200d15e3d7ed144b04b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-03-07 23:40:29</sys_updated_on>\n<table/>\n<target_name>PE Tabs Selector</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-horizontal-scroll-menu/widget/pe-horizontal-scroll-menu.u-body-html-template.html",
    "content": "<div>\r\n  <svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\r\n\r\n    <symbol id=\"icon-azure\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n      <g id=\"Page-1\">\r\n        <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-259.000000, -91.000000)\">\r\n          <g id=\"Azure-Windows\" transform=\"translate(259.000000, 91.000000)\">\r\n            <polygon id=\"Fill-1\" points=\"22.4150943 0 9.96226415 1.70692087 9.96226415 10.7924528 22.4150943 10.7924528\"></polygon>\r\n            <polygon id=\"Fill-2\" points=\"0 2.9814456 0 10.7924528 9.54716981 10.7924528 9.54716981 1.66037736\"></polygon>\r\n            <polygon id=\"Fill-3\" points=\"9.96226415 11.2075472 9.96226415 20.2927819 22.4150943 22 22.4150943 11.2075472\"></polygon>\r\n            <polygon id=\"Fill-4\" points=\"0 11.2075472 0 19.0182292 9.54716981 20.3396226 9.54716981 11.2075472\"></polygon>\r\n          </g>\r\n        </g>\r\n      </g>\r\n    </symbol>\r\n    <symbol id=\"icon-aws\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n      <g id=\"Page-1\">\r\n        <g id=\"1.0-Home-Dashboard---All-Providers\" transform=\"translate(-154.000000, -90.000000)\">\r\n          <g id=\"AWS\" transform=\"translate(154.000000, 90.000000)\">\r\n            <polygon id=\"Fill-1\" points=\"6.6969 21.9822 12.3219 24.0002 12.3219 15.6532 6.6969 13.7372\"></polygon>\r\n            <polygon id=\"Fill-2\" points=\"13.3533 15.6534 13.3533 24.0004 18.9783 21.9824 18.9783 13.7374\"></polygon>\r\n            <polygon id=\"Fill-3\" points=\"7.2751 13.1206 12.9681 11.5176 18.2471 13.2206 12.9681 15.0126\"></polygon>\r\n            <polygon id=\"Fill-4\" points=\"0 10.464 5.625 12.482 5.625 4.136 0 2.219\"></polygon>\r\n            <polygon id=\"Fill-5\" points=\"6.6565 12.4819 12.2815 10.4639 12.2815 2.2189 6.6565 4.1359\"></polygon>\r\n            <polygon id=\"Fill-6\" points=\"6.2712 -0.0003 0.5792 1.6027 6.2712 3.4947 11.5502 1.7027\"></polygon>\r\n            <polygon id=\"Fill-7\" points=\"18.7507 12.4819 13.1257 10.4639 13.1257 2.2189 18.7507 4.1359\"></polygon>\r\n            <polygon id=\"Fill-8\" points=\"19.782 4.1361 19.782 12.4821 25.407 10.4641 25.407 2.2191\"></polygon>\r\n            <polygon id=\"Fill-9\" points=\"19.3959 -0.0003 13.7029 1.6027 19.3959 3.4947 24.6749 1.7027\"></polygon>\r\n          </g>\r\n        </g>\r\n      </g>\r\n    </symbol>\r\n    <symbol id=\"icon-vmware\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\r\n        <g id=\"Artboard\" transform=\"translate(-355.000000, -91.000000)\">\r\n          <g id=\"vmware\" transform=\"translate(355.000000, 91.000000)\">\r\n            <path d=\"M35.552092,12.1418391 L31.9286437,2.05172414 C31.8817471,1.91195402 31.8127816,1.72850575 31.8127816,1.56712644 C31.8127816,1.12896552 32.1824368,0.714252874 32.7116322,0.714252874 C33.1741609,0.714252874 33.4748506,1.01356322 33.6137011,1.45126437 L36.6150805,10.1455172 L39.6389885,1.42735632 C39.7764598,1.01356322 40.0546207,0.714252874 40.513931,0.714252874 L40.6072644,0.714252874 C41.0932414,0.714252874 41.3934713,1.01356322 41.5309425,1.42735632 L44.5309425,10.1455172 L47.5805977,1.40574713 C47.6969195,1.03609195 47.9484138,0.714252874 48.4343908,0.714252874 C48.941977,0.714252874 49.3116322,1.1045977 49.3116322,1.54413793 C49.3116322,1.70551724 49.2422069,1.88850575 49.1966897,2.0291954 L45.5497931,12.1418391 C45.3626667,12.6696552 44.9953103,12.9473563 44.5787586,12.9473563 L44.5102529,12.9473563 C44.0477241,12.9473563 43.7005977,12.6696552 43.5387586,12.1418391 L40.5631264,3.56804598 L37.5603678,12.1418391 C37.3994483,12.6696552 37.0523218,12.9473563 36.5916322,12.9473563 L36.5433563,12.9473563 C36.1056552,12.9473563 35.7369195,12.6696552 35.552092,12.1418391\"\r\n              id=\"Fill-1\"></path>\r\n            <path d=\"M61.9657471,1.5936092 C61.9657471,1.10671264 62.3583908,0.69108046 62.8429885,0.69108046 C63.3533333,0.69108046 63.7455172,1.08372414 63.7455172,1.5936092 L63.7455172,3.64142529 C64.6236782,1.652 66.5712644,0.714068966 67.8613793,0.714068966 C68.3951724,0.714068966 68.7422989,1.10671264 68.7422989,1.61521839 C68.7422989,2.1011954 68.4186207,2.44602299 67.9537931,2.51682759 C65.6406897,2.79406897 63.7455172,4.52878161 63.7455172,7.97567816 L63.7455172,12.0294713 C63.7455172,12.5154483 63.3754023,12.9301609 62.8673563,12.9301609 C62.3583908,12.9301609 61.9657471,12.5361379 61.9657471,12.0294713 L61.9657471,1.5936092 Z\"\r\n              id=\"Fill-3\"></path>\r\n            <path d=\"M74.4545287,13.0434483 C71.2365977,13.0434483 68.6085517,10.5473563 68.6085517,6.8862069 L68.6085517,6.83885057 C68.6085517,3.43057471 70.9878621,0.682988506 74.2278621,0.682988506 C77.6931494,0.682988506 79.6664828,3.54229885 79.6664828,6.67931034 C79.6664828,7.16068966 79.2775172,7.5045977 78.849931,7.5045977 L70.3782069,7.5045977 C70.6255632,10.065977 72.4145287,11.5087356 74.5009655,11.5087356 C75.9506207,11.5087356 77.0136092,10.9358621 77.8756782,10.1354023 C78.0103908,10.0222989 78.1703908,9.93034483 78.3745287,9.93034483 C78.8044138,9.93034483 79.1446437,10.2742529 79.1446437,10.6871264 C79.1446437,10.8917241 79.0554483,11.0986207 78.872,11.2567816 C77.7625747,12.3321839 76.4476322,13.0434483 74.4545287,13.0434483 L74.4545287,13.0434483 Z M77.9211954,6.19885057 C77.740046,4.04712644 76.5142989,2.17172414 74.1818851,2.17172414 C72.1423448,2.17172414 70.6007356,3.88666667 70.3782069,6.19885057 L77.9211954,6.19885057 Z\"\r\n              id=\"Fill-5\"></path>\r\n            <path d=\"M49.3436322,9.33788506 L49.3436322,9.29052874 C49.3436322,6.77834483 51.4194943,5.43995402 54.4378851,5.43995402 C55.9606437,5.43995402 57.0434023,5.64777011 58.1063908,5.94891954 L58.1063908,5.53236782 C58.1063908,3.38937931 56.7886897,2.28133333 54.5546667,2.28133333 C53.3551264,2.28133333 52.6567356,2.43443678 51.7794943,2.82478161 C51.6654713,2.87167816 51.5491494,2.89512644 51.4590345,2.89512644 C51.0434023,2.89512644 50.6742069,2.548 50.6742069,2.1342069 C50.6742069,1.76593103 50.8342069,1.5388046 51.1588046,1.39489655 C52.3321379,0.885471264 53.2181149,0.715816092 54.7385747,0.715816092 C56.4208736,0.715816092 57.711908,1.15213793 58.5868506,2.02937931 C59.3937471,2.83627586 59.8102989,3.98891954 59.8102989,5.51029885 L59.8102989,12.0886897 C59.8102989,12.5944368 59.4415632,12.9645517 58.9542069,12.9645517 C58.4498391,12.9645517 58.1063908,12.5944368 58.1063908,12.1342069 L58.1063908,10.9962759 C57.2755862,12.0813333 55.8902989,13.0491494 53.7965057,13.0491494 C51.5813333,13.0491494 49.3436322,11.7811034 49.3436322,9.33788506 M58.128,8.41558621 L58.128,7.26248276 C57.2507586,7.00914943 56.0737471,6.75351724 54.6227126,6.75351724 C52.3891494,6.75351724 51.1417931,7.72409195 51.1417931,9.22110345 L51.1417931,9.26754023 C51.1417931,10.7654713 52.5247816,11.6417931 54.139954,11.6417931 C56.328,11.6417931 58.128,10.3043218 58.128,8.41558621\"\r\n              id=\"Fill-7\"></path>\r\n            <path d=\"M3.25503448,1.46229885 C2.86422989,0.606206897 1.89963218,0.21816092 0.998482759,0.61954023 C0.0964137931,1.02 -0.23554023,2.02 0.172275862,2.87747126 L3.9548046,11.0990805 C4.5502069,12.3887356 5.17733333,13.0641379 6.35388506,13.0641379 C7.61135632,13.0641379 8.1594023,12.3285057 8.75388506,11.0990805 C8.75388506,11.0990805 12.0536552,3.91425287 12.0862989,3.83977011 C12.1203218,3.76344828 12.226069,3.53126437 12.5621609,3.53310345 C12.8458391,3.53632184 13.0844598,3.76206897 13.0844598,4.06505747 L13.0844598,11.0926437 C13.0844598,12.1754023 13.6858391,13.0641379 14.8412414,13.0641379 C15.9957241,13.0641379 16.620092,12.1754023 16.620092,11.0926437 L16.620092,5.34367816 C16.620092,4.23471264 17.4145747,3.51517241 18.4973333,3.51517241 C19.5805517,3.51517241 20.3010115,4.25954023 20.3010115,5.34367816 L20.3010115,11.0926437 C20.3010115,12.1754023 20.9042299,13.0641379 22.0577931,13.0641379 C23.2122759,13.0641379 23.8394023,12.1754023 23.8394023,11.0926437 L23.8394023,5.34367816 C23.8394023,4.23471264 24.6311264,3.51517241 25.7152644,3.51517241 C26.7961839,3.51517241 27.5194023,4.25954023 27.5194023,5.34367816 L27.5194023,11.0926437 C27.5194023,12.1754023 28.1212414,13.0641379 29.2761839,13.0641379 C30.4297471,13.0641379 31.0564138,12.1754023 31.0564138,11.0926437 L31.0564138,4.5491954 C31.0564138,2.14413793 29.1230805,0.45954023 26.7961839,0.45954023 C24.4715862,0.45954023 23.015954,2.06781609 23.015954,2.06781609 C22.2426207,1.0645977 21.175954,0.46137931 19.3708966,0.46137931 C17.4665287,0.46137931 15.7994023,2.06781609 15.7994023,2.06781609 C15.0251494,1.0645977 13.7069885,0.46137931 12.615954,0.46137931 C10.9281379,0.46137931 9.58790805,1.20390805 8.76997701,3.07333333 L6.35388506,8.76804598 L3.25503448,1.46229885 Z\"\r\n              id=\"Fill-9\"></path>\r\n          </g>\r\n        </g>\r\n      </g>\r\n    </symbol>\r\n  </svg>\r\n\r\n  <!-- your widget template -->\r\n  <div class=\"provider-switcher\">\r\n    <div class=\"provider-filters col-xs-12 remove-padding scroll-wrapper\">\r\n      <div class=\"inner-wrapper\">\r\n        <div ng-class=\"{'active':c.selectedProvider == 'all'}\" ng-click=\"c.switchIt('all')\" class=\"all-filter text-center\">\r\n          <p class=\"remove-margin-bottom\">{{c.data.title}}</p>\r\n        </div>\r\n        <div ng-repeat=\"item in c.data.input\">\r\n          <div ng-class=\"{'active':c.selectedProvider == item.name}\" ng-click=\"c.switchIt(item.name)\" class=\"each-filter\">\r\n            <svg ng-class=\"{'{{item.classIconActive}}':c.selectedProvider == item.name, '{{item.classIcon}}':c.selectedProvider != item.name}\">\r\n              <use xlink:href={{item.idIcon}}></use>\r\n            </svg>\r\n            <p ng-if=\"!item.showOnlyIcon\" class=\"remove-margin-bottom\">{{item.displayName}}</p>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>"
  },
  {
    "path": "pe-horizontal-scroll-menu/widget/pe-horizontal-scroll-menu.u-client-script.js",
    "content": "function ScrollMenuController($rootScope, $timeout) {\n  var c = this;\n\n  $rootScope.$broadcast('changeBackState', '');\n\n  c.selectedProvider = 'all';\n  c.changeDataForAll = function () {};\n\n  c.changeDataForSelection = function (input) {};\n\n  c.switchIt = function (option) {\n    if (option == 'all') {\n      c.selectedProvider = 'all';\n      c.changeDataForAll();\n    }\n    if (option != 'all') {\n      c.selectedProvider = option;\n      c.changeDataForSelection(option);\n    }\n  };\n}"
  },
  {
    "path": "pe-horizontal-scroll-menu/widget/pe-horizontal-scroll-menu.u-css.scss",
    "content": "$pe-tabs-selector-bg-color: #373737 !default;\r\n$pe-tabs-selector-bg-active-color: #4d4d4d !default;\r\n$pe-tabs-selector-text-color: #9c9c9c !default;\r\n$pe-tabs-selector-text-active-color: #fff !default;\r\n\r\n.provider-switcher {\r\n  //padding: 10px;\r\n  background: #4a4545;\r\n  color: $pe-tabs-selector-text-active-color;\r\n  &:after {\r\n    content: \" \";\r\n    display: block;\r\n    clear: both;\r\n  }\r\n  .scroll-wrapper {\r\n    width: 100%;\r\n    white-space: nowrap;\r\n    overflow-y: hidden;\r\n    overflow-x: scroll;\r\n    -webkit-overflow-scrolling: touch;\r\n    // Toggle this depending upon whether you want to see the scrollbar\r\n    &::-webkit-scrollbar {\r\n      display: none;\r\n    }\r\n    .inner-wrapper {\r\n      min-width: 500px;\r\n      &:after {\r\n        content: \" \";\r\n        display: block;\r\n        clear: both;\r\n      }\r\n    }\r\n  }\r\n  .heading {\r\n    margin: 0;\r\n    text-align: center;\r\n    padding: 10px;\r\n  }\r\n  .border-none {\r\n    border: 0px !important;\r\n  }\r\n  .provider-filters {\r\n    .all-filter {\r\n      width: 120px;\r\n      float: left;\r\n      font-size: 18px;\r\n      padding: 14px;\r\n      background: $pe-tabs-selector-bg-color;\r\n      color: $pe-tabs-selector-text-color;\r\n      //border-right: 1px solid #fff;\r\n    }\r\n    .each-filter {\r\n      padding: 10px;\r\n      width: 120px;\r\n      height: 53px;\r\n      font-size: 18px;\r\n      float: left;\r\n      display: flex;\r\n      color: $pe-tabs-selector-text-color;\r\n      align-items: center;\r\n      justify-content: space-around;\r\n      background: $pe-tabs-selector-bg-color;\r\n      //border-right: 1px solid #fff;\r\n      .provider-logos {\r\n        height: 27px;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.active {\r\n  background: $pe-tabs-selector-bg-active-color;\r\n  color: $pe-tabs-selector-text-active-color;\r\n}\r\n\r\n.remove-padding {\r\n  padding-left: 0px;\r\n  padding-right: 0px;\r\n}\r\n\r\n.remove-margin-bottom {\r\n  margin-bottom: 0px;\r\n}\r\n\r\n.aws-icon {\r\n  fill: #9c9c9c;\r\n  height: 23px;\r\n  width: 27px;\r\n}\r\n\r\n.aws-icon-active {\r\n  fill: orange;\r\n  height: 23px;\r\n  width: 27px;\r\n}\r\n\r\n.vmware-icon {\r\n  fill: #9c9c9c;\r\n  height: 14px;\r\n  width: 80px;\r\n}\r\n\r\n.vmware-icon-active {\r\n  fill: #fff;\r\n  height: 14px;\r\n  width: 80px;\r\n}\r\n\r\n.azure-icon {\r\n  fill: #9c9c9c;\r\n  height: 23px;\r\n  width: 27px;\r\n}\r\n\r\n.azure-icon-active {\r\n  fill: #32A6DC;\r\n  height: 23px;\r\n  width: 27px;\r\n}\r\n"
  },
  {
    "path": "pe-horizontal-scroll-menu/widget/pe-horizontal-scroll-menu.u-server-script.js",
    "content": "(function () {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n  data.title = input.title || options.title;\r\n\r\n  data.input = [\r\n    {\r\n      'displayName': 'AWS',\r\n      'name': 'aws',\r\n      'idIcon': '#icon-aws',\r\n      'classIcon': 'aws-icon',\r\n      'classIconActive': 'aws-icon-active',\r\n      'showOnlyIcon' : false\r\n    },\r\n    {\r\n      'displayName': 'VMware',\r\n      'name': 'vmware',\r\n      'idIcon': '#icon-vmware',\r\n      'classIcon': 'vmware-icon',\r\n      'classIconActive': 'vmware-icon-active',\r\n      'showOnlyIcon' : true\r\n    },\r\n    {\r\n      'displayName': 'Azure',\r\n      'name': 'azure',\r\n      'idIcon': '#icon-azure',\r\n      'classIcon': 'azure-icon',\r\n      'classIconActive': 'azure-icon-active',\r\n      'showOnlyIcon' : false\r\n    }\r\n  ];\r\n\r\n})();"
  },
  {
    "path": "pe-horizontal-stacked-bar/Readme.md",
    "content": "# Horizontal Stacked Bar\n\n## Description\n\nThis widget can be used to create a horizontal stacked bar graph.\n\n## Screenshots\n![alt text](../images/pe-horizontal-stacked-bar.png \"Horizontal Stacked Bar Widget\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-horizontal-stacked-bar.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-horizontal-stacked-bar/pe-horizontal-stacked-bar.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Graph Data\"** the value is a JSON object\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON object as part of the Widget Option Schema.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-brand-primary: #337ab7 !default;`"
  },
  {
    "path": "pe-horizontal-stacked-bar/pe-horizontal-stacked-bar.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-09 23:49:38\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Horizontal Stacked Bar</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>8a3a8081db1bb200abd4f9361d9619d8</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-09 23:49:37</sys_created_on>\n<sys_id>0cf85809db1bb200abd4f9361d9619ce</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-09 23:49:37</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_8163c22c136df200d15e3d7ed144b0cc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function HorizontalStackedBarController() {\n  var c = this;\n  c.getPercent = getPercent;\n\n  function getPercent(remaining, total) {\n    var percent = (total - remaining) / total * 100;\n    return {\n      'width': percent + '%'\n    };\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n\n.single-bar-widget {\n  padding: 10px;\n  padding-bottom: 40px;\n  margin-top: 20px;\n  color: $pe-brand-primary;\n  .nums-texts {\n    padding-left: 10px;\n  }\n  .info {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 10px;\n    .green-text {\n      color: #2abd68;\n    }\n    .red-text {\n      color: #ff3d00;\n    }\n    .left-side {\n      display: flex;\n      align-items: center;\n      p {\n        margin-bottom: 0px;\n        line-height: 1;\n      }\n      img {\n        height: 31px;\n      }\n    }\n    .right-side {\n      width: 50%;\n      p {\n        margin-bottom: 0px;\n        line-height: 1;\n      }\n      .bar-in {\n        padding: 5px 10px;\n        .bar-title {\n          display: flex;\n          align-items: center;\n          justify-content: space-between;\n          .title {\n            font-size: 11px;\n            color: #485562;\n            text-transform: uppercase;\n            font-weight: 600;\n          }\n          .right-side {\n            font-size: 11px;\n            font-weight: 600;\n            color: #9f9f9f;\n            text-align: right;\n            .remaining {\n              color: #ff3d21;\n            }\n            .slash {\n              margin-left: 5px;\n              margin-right: 5px;\n            }\n          }\n        }\n        .progress {\n          height: 12px;\n          margin-bottom: 0px;\n          border-radius: 2px;\n          .progress-bar {\n            background: #ee525e;\n          }\n        }\n      }\n      .nums-texts {\n        font-size: 12px;\n        display: flex;\n        align-items: center;\n        .arrow-left {\n          display: flex;\n          align-items: center;\n          p {\n            font-weight: 600;\n          }\n          .arrow-up {\n            margin-right: 5px;\n          }\n        }\n        .right-text {\n          color: #9f9f9f;\n          text-transform: uppercase;\n          font-weight: 600;\n          margin-left: 5px;\n        }\n      }\n      .arrow {\n        -ms-transform: rotate(45deg);\n        -webkit-transform: rotate(45deg);\n        transform: rotate(45deg);\n      }\n    }\n  }\n  .bar-graph {\n    width: 100%;\n    -webkit-transition: width .6s ease;\n    -o-transition: width .6s ease;\n    transition: width .6s ease;\n    &amp;amp;:after {\n      content: \" \";\n      display: block;\n      clear: both;\n    }\n    .bars {\n      float: left;\n      position: relative;\n      height: 10px;\n      -webkit-transition: width .6s ease;\n      -o-transition: width .6s ease;\n      transition: width .6s ease;\n      .inner-bar {\n        height: inherit;\n        margin-right: 1px;\n        border-radius: 2px;\n      }\n      .legend {\n        position: absolute;\n        top: 10px;\n        p {\n          margin-bottom: 0px;\n          line-height: 1;\n        }\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-horizontal-stacked-bar&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Horizontal Stacked Bar&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"name\": \"graph_data\",&amp;#13;\n  \"label\": \"Graph Data\",&amp;#13;\n  \"type\": \"json\",&amp;#13;\n  \"mandatory\": true,&amp;#13;\n  \"default_value\": [{&amp;#13;\n    \"width\": \"60%\",&amp;#13;\n    \"color\": \"rgb(19, 35, 71)\",&amp;#13;\n    \"info_text\": \"AWS\",&amp;#13;\n    \"info_number\": \"\"&amp;#13;\n  }, {&amp;#13;\n    \"width\": \"20%\",&amp;#13;\n    \"color\": \"rgb(28, 91, 125)\",&amp;#13;\n    \"info_text\": \"AZURE\",&amp;#13;\n    \"info_number\": \"\"&amp;#13;\n  }, {&amp;#13;\n    \"width\": \"20%\",&amp;#13;\n    \"color\": \"rgb(150, 198, 200)\",&amp;#13;\n    \"info_text\": \"VMW\",&amp;#13;\n    \"info_number\": \"\"&amp;#13;\n  }]&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.toJson = function(str) {\n    if (typeof str === 'object') {\n      str = JSON.parse(str);\n    } else if (str !== undefined &amp;&amp; str !== null) {\n      str = JSON.parse(str);\n    } else {\n      str = '';\n    }\n    return str;\n  };\n\n  data.l_number = '$230';\n  data.l_number_text = 'SPENT';\n  data.graph_data = input.graph_data || options.graph_data;\n  data.graph_data = data.toJson(data.graph_data);\n  data.r_info_color = 'red';\n  data.r_info_type = 'bar';\n  data.r_info_bar_title = '5 days to $0';\n  data.r_info_bar_remaining = '46';\n  data.r_info_total = '276';\n  data.r_number = '';\n  data.r_number_text = '';\n  data.r_info_remaining = 20;\n  data.r_info_total = 100;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 18:29:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;8163c22c136df200d15e3d7ed144b0cc&lt;/sys_id&gt;&lt;sys_mod_count&gt;60&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Horizontal Stacked Bar&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_8163c22c136df200d15e3d7ed144b0cc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-09 23:44:48&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"single-bar-widget\"&gt;\n  &lt;div class=\"info\"&gt;\n    &lt;div class=\"left-side\"&gt;\n      &lt;i class=\"fa fa-money fa-lg\"&gt;&lt;/i&gt;\n      &lt;div class=\"nums-texts\"&gt;\n        &lt;p class=\"text-twenty-four\"&gt;{{::c.data.l_number}}&lt;/p&gt;\n        &lt;p class=\"text-twelve\"&gt;{{::c.data.l_number_text}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"right-side\" ng-class=\"{'red-text': data.r_info_color == 'red', 'green-text': bdata.r_info_color == 'green'}\"&gt;\n      &lt;div class=\"bar-in\" ng-show=\"c.data.r_info_type == 'bar'\"&gt;\n        &lt;div class=\"bar-title\"&gt;\n          &lt;p class=\"title\"&gt;{{::c.data.r_info_bar_title}}&lt;/p&gt;\n          &lt;div class=\"right-side\"&gt;\n            &lt;p&gt;&lt;span class=\"remaining\"&gt;&lt;span&gt;$&lt;/span&gt;{{::c.data.r_info_bar_remaining}}K&lt;/span&gt;&lt;span class=\"slash\"&gt;/&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;{{::c.data.r_info_total}}K&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"progress\"&gt;\n          &lt;div class=\"progress-bar\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"c.getPercent(c.data.r_info_remaining, c.data.r_info_total)\"&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"nums-texts\" ng-show=\"!c.data.r_info_type\"&gt;\n        &lt;div class=\"arrow-left\"&gt;\n          &lt;div class=\"arrow-up\"&gt;&lt;/div&gt;\n          &lt;p class=\"text-twenty-four \"&gt;{{::c.data.r_number}}&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;p class=\"text-ten right-text\"&gt;{{::c.data.r_number_text}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"bar-graph\"&gt;\n    &lt;div class=\"bars\" ng-style=\"{'width': graph.width}\" ng-repeat=\"graph in c.data.graph_data\"&gt;\n      &lt;div class=\"inner-bar\" ng-style=\"{'background': graph.color}\"&gt;\n        &lt;div class=\"legend text-eleven\"&gt;\n          &lt;p&gt;{{::graph.info_text}}&lt;/p&gt;\n          &lt;p&gt;{{::graph.info_number}}&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Horizontal Stacked Bar\">0cf85809db1bb200abd4f9361d9619ce</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-09 23:49:38</sys_created_on>\n<sys_id>44f85809db1bb200abd4f9361d9619cf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-09 23:49:38</sys_updated_on>\n<table/>\n<target_name>PE Horizontal Stacked Bar</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-horizontal-stacked-bar/widget/pe-horizontal-stacked-bar.u-body-html-template.html",
    "content": "<div class=\"single-bar-widget\">\n  <div class=\"info\">\n    <div class=\"left-side\">\n      <i class=\"fa fa-money fa-lg\"></i>\n      <div class=\"nums-texts\">\n        <p class=\"text-twenty-four\">{{::c.data.l_number}}</p>\n        <p class=\"text-twelve\">{{::c.data.l_number_text}}</p>\n      </div>\n    </div>\n    <div class=\"right-side\" ng-class=\"{'red-text': data.r_info_color == 'red', 'green-text': bdata.r_info_color == 'green'}\">\n      <div class=\"bar-in\" ng-show=\"c.data.r_info_type == 'bar'\">\n        <div class=\"bar-title\">\n          <p class=\"title\">{{::c.data.r_info_bar_title}}</p>\n          <div class=\"right-side\">\n            <p><span class=\"remaining\"><span>$</span>{{::c.data.r_info_bar_remaining}}K</span><span class=\"slash\">/</span><span>$</span>{{::c.data.r_info_total}}K</p>\n          </div>\n        </div>\n        <div class=\"progress\">\n          <div class=\"progress-bar\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" ng-style=\"c.getPercent(c.data.r_info_remaining, c.data.r_info_total)\">\n          </div>\n        </div>\n      </div>\n      <div class=\"nums-texts\" ng-show=\"!c.data.r_info_type\">\n        <div class=\"arrow-left\">\n          <div class=\"arrow-up\"></div>\n          <p class=\"text-twenty-four \">{{::c.data.r_number}}</p>\n        </div>\n        <p class=\"text-ten right-text\">{{::c.data.r_number_text}}</p>\n      </div>\n    </div>\n  </div>\n  <div class=\"bar-graph\">\n    <div class=\"bars\" ng-style=\"{'width': graph.width}\" ng-repeat=\"graph in c.data.graph_data\">\n      <div class=\"inner-bar\" ng-style=\"{'background': graph.color}\">\n        <div class=\"legend text-eleven\">\n          <p>{{::graph.info_text}}</p>\n          <p>{{::graph.info_number}}</p>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-horizontal-stacked-bar/widget/pe-horizontal-stacked-bar.u-client-script.js",
    "content": "function HorizontalStackedBarController() {\n  var c = this;\n  c.getPercent = getPercent;\n\n  function getPercent(remaining, total) {\n    var percent = (total - remaining) / total * 100;\n    return {\n      'width': percent + '%'\n    };\n  }\n}"
  },
  {
    "path": "pe-horizontal-stacked-bar/widget/pe-horizontal-stacked-bar.u-css.scss",
    "content": "$pe-brand-primary:#337ab7 !default;\n\n.single-bar-widget {\n  padding: 10px;\n  padding-bottom: 40px;\n  margin-top: 20px;\n  color: $pe-brand-primary;\n  .nums-texts {\n    padding-left: 10px;\n  }\n  .info {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 10px;\n    .green-text {\n      color: #2abd68;\n    }\n    .red-text {\n      color: #ff3d00;\n    }\n    .left-side {\n      display: flex;\n      align-items: center;\n      p {\n        margin-bottom: 0px;\n        line-height: 1;\n      }\n      img {\n        height: 31px;\n      }\n    }\n    .right-side {\n      width: 50%;\n      p {\n        margin-bottom: 0px;\n        line-height: 1;\n      }\n      .bar-in {\n        padding: 5px 10px;\n        .bar-title {\n          display: flex;\n          align-items: center;\n          justify-content: space-between;\n          .title {\n            font-size: 11px;\n            color: #485562;\n            text-transform: uppercase;\n            font-weight: 600;\n          }\n          .right-side {\n            font-size: 11px;\n            font-weight: 600;\n            color: #9f9f9f;\n            text-align: right;\n            .remaining {\n              color: #ff3d21;\n            }\n            .slash {\n              margin-left: 5px;\n              margin-right: 5px;\n            }\n          }\n        }\n        .progress {\n          height: 12px;\n          margin-bottom: 0px;\n          border-radius: 2px;\n          .progress-bar {\n            background: #ee525e;\n          }\n        }\n      }\n      .nums-texts {\n        font-size: 12px;\n        display: flex;\n        align-items: center;\n        .arrow-left {\n          display: flex;\n          align-items: center;\n          p {\n            font-weight: 600;\n          }\n          .arrow-up {\n            margin-right: 5px;\n          }\n        }\n        .right-text {\n          color: #9f9f9f;\n          text-transform: uppercase;\n          font-weight: 600;\n          margin-left: 5px;\n        }\n      }\n      .arrow {\n        -ms-transform: rotate(45deg);\n        -webkit-transform: rotate(45deg);\n        transform: rotate(45deg);\n      }\n    }\n  }\n  .bar-graph {\n    width: 100%;\n    -webkit-transition: width .6s ease;\n    -o-transition: width .6s ease;\n    transition: width .6s ease;\n    &:after {\n      content: \" \";\n      display: block;\n      clear: both;\n    }\n    .bars {\n      float: left;\n      position: relative;\n      height: 10px;\n      -webkit-transition: width .6s ease;\n      -o-transition: width .6s ease;\n      transition: width .6s ease;\n      .inner-bar {\n        height: inherit;\n        margin-right: 1px;\n        border-radius: 2px;\n      }\n      .legend {\n        position: absolute;\n        top: 10px;\n        p {\n          margin-bottom: 0px;\n          line-height: 1;\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-horizontal-stacked-bar/widget/pe-horizontal-stacked-bar.u-option-schema.json",
    "content": "[{\n  \"name\": \"graph_data\",\n  \"label\": \"Graph Data\",\n  \"type\": \"json\",\n  \"mandatory\": true,\n  \"default_value\": [{\n    \"width\": \"60%\",\n    \"color\": \"rgb(19, 35, 71)\",\n    \"info_text\": \"AWS\",\n    \"info_number\": \"\"\n  }, {\n    \"width\": \"20%\",\n    \"color\": \"rgb(28, 91, 125)\",\n    \"info_text\": \"AZURE\",\n    \"info_number\": \"\"\n  }, {\n    \"width\": \"20%\",\n    \"color\": \"rgb(150, 198, 200)\",\n    \"info_text\": \"VMW\",\n    \"info_number\": \"\"\n  }]\n}]"
  },
  {
    "path": "pe-horizontal-stacked-bar/widget/pe-horizontal-stacked-bar.u-server-script.js",
    "content": "(function() {\n  data.toJson = function(str) {\n    if (typeof str === 'object') {\n      str = JSON.parse(str);\n    } else if (str !== undefined && str !== null) {\n      str = JSON.parse(str);\n    } else {\n      str = '';\n    }\n    return str;\n  };\n\n  data.l_number = '$230';\n  data.l_number_text = 'SPENT';\n  data.graph_data = input.graph_data || options.graph_data;\n  data.graph_data = data.toJson(data.graph_data);\n  data.r_info_color = 'red';\n  data.r_info_type = 'bar';\n  data.r_info_bar_title = '5 days to $0';\n  data.r_info_bar_remaining = '46';\n  data.r_info_total = '276';\n  data.r_number = '';\n  data.r_number_text = '';\n  data.r_info_remaining = 20;\n  data.r_info_total = 100;\n})();"
  },
  {
    "path": "pe-image-drag-and-drop/README.md",
    "content": "# Image Drag & Drop Upload Widget\n\n## Description\n\nThis widget can be used to upload one or more images (with the help of the ServiceNow attachments functionality) into a default or custom table defined in the widget options.\n\n## Screenshot\n\n![alt text](../images/pe-image-drag-and-drop.gif \"Image Drag & Drop - Demo video\") <br/><br/>\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-image-drag-and-drop.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-image-drag-and-drop/pe-image-drag-and-drop.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```\n${<i>key value specified in the Message record</i>}\n```\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Table` | The table containing the products/items to search for. | u_image_drag_and_drop |\n| `Field Name` | The column name with the value to display on the UI. | u_name |\n\n## Platform Dependencies\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n* DropzoneJs <br/>\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n## CSS/SASS Variables\n\nThe widget is using colors from Bootstrap SASS variables, and a minimal style configuration to make it easy to customize.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-image-drag-and-drop/pe-image-drag-and-drop.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-02-02 22:04:11\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Widget Image Drag And Drop</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>b4bc41a9db0497004e5cfa131f961965</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>bb2b21e1db8497004e5cfa131f961927</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_2c06ef55dbcc570086da7d5e0f9619f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"dropzone.css\">47f52395dbcc570086da7d5e0f9619a9</sp_css_include><sp_dependency display_value=\"dropzone.js\">6a342bd1dbcc570086da7d5e0f96193b</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:22:20</sys_created_on><sys_id>2c06ef55dbcc570086da7d5e0f9619f2</sys_id><sys_mod_count>2</sys_mod_count><sys_name>dropzone.css.dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_2c06ef55dbcc570086da7d5e0f9619f2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:06:24</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>-658133646</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>332b21e1db8497004e5cfa131f961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16158577f4e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.css.dropzone.js</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>65fd112d6b4497005d8c55708a76e6b6</update_guid>\n<update_guid_history>65fd112d6b4497005d8c55708a76e6b6:-658133646,18fddde9f34497005d9aaed532ab73c1:271026449,a006ef550acc57004c6873c12e8664f4:-658133646</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_fe746715dbcc570086da7d5e0f96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>dropzone.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:15:48</sys_created_on><sys_id>fe746715dbcc570086da7d5e0f96194d</sys_id><sys_mod_count>3</sys_mod_count><sys_name>dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"dropzone.js\">d684a715dbcc570086da7d5e0f961910</sys_ui_script><sys_update_name>sp_js_include_fe746715dbcc570086da7d5e0f96194d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:04:20</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1322414192</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>332b21e1db8497004e5cfa131f96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585598550000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>8f7dd9e951449700088d6cc90e181c5c</update_guid>\n<update_guid_history>8f7dd9e951449700088d6cc90e181c5c:-1322414192,8a7dd9e9e544970032142f965afb7787:-334502722,239467157bcc5700e3aae6c43d6e97ab:-1322414192,8d842bd19fcc5700e25372c191b82343:-1112636553</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_7b3d89a9db0497004e5cfa131f9619cc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>7b3d89a9db0497004e5cfa131f9619cc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop.u_image_drag_and_drop_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_image_drag_and_drop\">bb3d89a9db0497004e5cfa131f9619bd</sys_security_acl><sys_update_name>sys_security_acl_role_7b3d89a9db0497004e5cfa131f9619cc</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><sys_user_role display_value=\"u_image_drag_and_drop_user\" name=\"u_image_drag_and_drop_user\">64ecc1a9db0497004e5cfa131f961958</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1634853221</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>332b21e1db8497004e5cfa131f96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a2560000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop.u_image_drag_and_drop_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>b73d89a9b10497007ef1d927718631ce</update_guid>\n<update_guid_history>b73d89a9b10497007ef1d927718631ce:-1634853221</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_e8866795dbcc570086da7d5e0f9619c9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>dropzone-basic.css</name><source>local</source><sp_css display_value=\"dropzone-basic.css\">16766795dbcc570086da7d5e0f9619a2</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:24:30</sys_created_on><sys_id>e8866795dbcc570086da7d5e0f9619c9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>dropzone-basic.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_e8866795dbcc570086da7d5e0f9619c9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:07:44</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>148359246</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>372b21e1db8497004e5cfa131f96192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615858b85a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone-basic.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>c94e152d4f4497001c66dbb804b6af76</update_guid>\n<update_guid_history>c94e152d4f4497001c66dbb804b6af76:148359246,dc4e152d1f4497006e43479c9f2cd75f:-257549063,a8866795e1cc57002b6cc14370c59eca:148359246</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_bb3d89a9db0497004e5cfa131f9619bd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_image_drag_and_drop</description><name>u_image_drag_and_drop</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>bb3d89a9db0497004e5cfa131f9619bd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_bb3d89a9db0497004e5cfa131f9619bd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1746527542</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>372b21e1db8497004e5cfa131f96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a2390000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>3f3d89a999049700d092390e6a6fe5cb</update_guid>\n<update_guid_history>3f3d89a999049700d092390e6a6fe5cb:1746527542</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_005ffb19db4097004e5cfa131f961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>ng-dropzone.min.css</name><source>local</source><sp_css display_value=\"ng-dropzone.min.css\">c06f3f19db4097004e5cfa131f961908</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 14:13:21</sys_created_on><sys_id>005ffb19db4097004e5cfa131f961995</sys_id><sys_mod_count>4</sys_mod_count><sys_name>ng-dropzone.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_005ffb19db4097004e5cfa131f961995</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:08:38</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>-153969124</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>3b2b21e1db8497004e5cfa131f961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585988f20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>ng-dropzone.min.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>8e7e952d104497004335e0c12f7815ec</update_guid>\n<update_guid_history>8e7e952d104497004335e0c12f7815ec:-153969124,4d7e552d304497004be42776b9b1b034:-339851337,6a6e552de944970092631a0129e0d62f:1009326308,6d6e952d494497005546f247aae41d3f:-4558712,076fbb197a409700ea39d97dd6b3b0b0:1009326308</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_image_drag_and_drop__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Image Drag And Drop\" language=\"en\" table=\"u_image_drag_and_drop\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Image Drag And Drop</label><language>en</language><name>u_image_drag_and_drop</name><plural>Image Drag And Drops</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>3f3d89a9db0497004e5cfa131f9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Image Drag And Drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_image_drag_and_drop__en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-971626685</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>3b2b21e1db8497004e5cfa131f96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a4320000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>7f3d89a9a6049700ba6640c66e2328e2</update_guid>\n<update_guid_history>7f3d89a9a6049700ba6640c66e2328e2:-971626685,f90d85a9d8049700c1198cbda2ac8c29:-1574167949,74ecc1a902049700a1de47d72458ee9b:-971626685</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_5c44a3d1dbcc570086da7d5e0f9619d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"dropzone.js\">6a342bd1dbcc570086da7d5e0f96193b</sp_dependency><sp_widget display_value=\"Image Drag And Drop Upload\">a13ad35ddb8c570086da7d5e0f96191e</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:14:40</sys_created_on><sys_id>5c44a3d1dbcc570086da7d5e0f9619d3</sys_id><sys_mod_count>2</sys_mod_count><sys_name>dropzone.js.Image Drag And Drop Upload</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_5c44a3d1dbcc570086da7d5e0f9619d3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:03:04</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>589582366</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>3f2b21e1db8497004e5cfa131f961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615854713e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.js.Image Drag And Drop Upload</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>243d19e9f6449700da60de348b650d0d</update_guid>\n<update_guid_history>243d19e9f6449700da60de348b650d0d:589582366,6b2dd5e9124497000a5e5fcb526d78a4:763535671,5844a3d110cc5700b81be9eaf97d81d5:589582366</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_image_drag_and_drop_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_image_drag_and_drop\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name Image&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_image_drag_and_drop&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-02 19:54:04&lt;/sys_created_on&gt;&lt;sys_id&gt;494dc9a9db0497004e5cfa131f961992&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name Image&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_image_drag_and_drop_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-02 19:54:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2084849519</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>3f2b21e1db8497004e5cfa131f96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615815479b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop.Name Image</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>866d4da931049700549610fda2f25760</update_guid>\n<update_guid_history>866d4da931049700549610fda2f25760:-2084849519,866dc9a9f004970044efcc7bdeb90c9c:-2084849519</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_d53391eddb0497004e5cfa131f961930</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"d53391eddb0497004e5cfa131f961930\" sys_domain=\"global\" table=\"u_image_drag_and_drop\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:19:26</sys_created_on><sys_id>5d33d1eddb0497004e5cfa131f961922</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_image_drag_and_drop\" sys_domain=\"global\" view=\"Default view\">d53391eddb0497004e5cfa131f961930</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:19:26</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_number</element><position>1</position><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:19:26</sys_created_on><sys_id>5533d1eddb0497004e5cfa131f961923</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_image_drag_and_drop\" sys_domain=\"global\" view=\"Default view\">d53391eddb0497004e5cfa131f961930</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:19:26</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>2</position><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:19:26</sys_created_on><sys_id>d533d1eddb0497004e5cfa131f961923</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_image_drag_and_drop\" sys_domain=\"global\" view=\"Default view\">d53391eddb0497004e5cfa131f961930</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:19:26</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>3</position><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:19:26</sys_created_on><sys_id>5933d1eddb0497004e5cfa131f961923</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_image_drag_and_drop\" sys_domain=\"global\" view=\"Default view\">d53391eddb0497004e5cfa131f961930</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:19:26</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>4</position><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:19:26</sys_created_on><sys_id>d933d1eddb0497004e5cfa131f961923</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_image_drag_and_drop\" sys_domain=\"global\" view=\"Default view\">d53391eddb0497004e5cfa131f961930</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:19:26</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_image_drag_and_drop</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:19:25</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d53391eddb0497004e5cfa131f961930</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_d53391eddb0497004e5cfa131f961930</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:19:25</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>744692969</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>3f2b21e1db8497004e5cfa131f96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161582c7d1d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>5133d1edd0049700a510523847970a25</update_guid>\n<update_guid_history>5133d1edd0049700a510523847970a25:744692969,d93391ed6f0497009bc61686f1de0232:1109647432</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_8c16ef55dbcc570086da7d5e0f9619f7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>dropzone.css</name><source>local</source><sp_css display_value=\"dropzone.css\">aa066395dbcc570086da7d5e0f961939</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:22:34</sys_created_on><sys_id>8c16ef55dbcc570086da7d5e0f9619f7</sys_id><sys_mod_count>2</sys_mod_count><sys_name>dropzone.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_8c16ef55dbcc570086da7d5e0f9619f7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:08:13</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1348333790</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>732b21e1db8497004e5cfa131f96192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585929b40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>186e552d80449700dbf67bde12eb8088</update_guid>\n<update_guid_history>186e552d80449700dbf67bde12eb8088:1348333790,725ed12d0d4497005dc3300b66df02e2:942664331,4c16ef551ecc5700b6a0f535d93ef7f8:1348333790</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_b73d89a9db0497004e5cfa131f9619b3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_image_drag_and_drop</description><name>u_image_drag_and_drop</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>b73d89a9db0497004e5cfa131f9619b3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_b73d89a9db0497004e5cfa131f9619b3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1608680460</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>732b21e1db8497004e5cfa131f96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a1a50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>733d89a9b404970013d6f44244de29b5</update_guid>\n<update_guid_history>733d89a9b404970013d6f44244de29b5:1608680460</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_c06f3f19db4097004e5cfa131f961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>.dropzone .dz-message,.dropzone .dz-preview .dz-remove{font-weight:300;text-transform:uppercase;position:absolute}.dropzone{position:relative;padding:5px;cursor:pointer;border:1px solid #eee}.dropzone .dz-message{margin:0;top:50%;left:50%;transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);color:#999;font-size:12px}.dropzone .dz-preview{margin:5px;min-height:auto}.dropzone .dz-preview .dz-image,.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:3px}.dropzone .dz-preview .dz-filename,.dropzone .dz-preview .dz-size{display:none}.dropzone .dz-preview .dz-progress{left:0;width:90%;border-radius:3px;margin-left:5%;margin-right:5%}.dropzone .dz-preview .dz-progress .dz-upload{background:#8BC34A;background:-webkit-linear-gradient(top,#E6EE9C,#8BC34A);background:linear-gradient(to bottom,#E6EE9C,#8BC34A)}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{margin:0;width:100%;height:100%}.dropzone .dz-preview .dz-error-mark svg,.dropzone .dz-preview .dz-success-mark svg{position:absolute;margin-top:-6px;width:50%;height:50%;transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%)}.dropzone .dz-preview.dz-error .dz-error-message{top:auto;left:0;font-size:12px;font-weight:300;line-height:14px;border-radius:3px;background:#FF9800;background:-webkit-linear-gradient(top,#FFA726,#FF9800);background:linear-gradient(to bottom,#FFA726,#FF9800);text-align:center;margin-top:10px;margin-left:-10px}.dropzone .dz-preview.dz-error .dz-error-message:after{border-bottom:6px solid #FF9800}.dropzone .dz-preview .dz-remove{bottom:0;width:100%;color:#fff;font-size:11px;padding:3px 0;background-color:rgba(100,100,100,.5);z-index:10;white-space:nowrap;overflow:hidden;text-decoration:none}.dropzone.md .dz-preview .dz-image{width:100px;height:100px}.dropzone.md .dz-preview.dz-error .dz-error-message{margin-left:-20px}.dropzone.sm .dz-preview .dz-image{width:80px;height:80px}.dropzone.sm .dz-preview.dz-error .dz-error-message{margin-left:-30px}.dropzone.sm .dz-preview .dz-remove{font-size:10px}.dropzone.xs .dz-preview .dz-image{width:60px;height:60px}.dropzone.xs .dz-preview.dz-error .dz-error-message{margin-left:-40px}.dropzone.xs .dz-preview .dz-remove{font-size:9px}&#13;\n/*# sourceMappingURL=ng-dropzone.min.css.map */&#13;\n</css><name>ng-dropzone.min.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 14:13:19</sys_created_on><sys_id>c06f3f19db4097004e5cfa131f961908</sys_id><sys_mod_count>2</sys_mod_count><sys_name>ng-dropzone.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_c06f3f19db4097004e5cfa131f961908</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:08:38</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>-968534216</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>772b21e1db8497004e5cfa131f961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585989290000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>ng-dropzone.min.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>427e952dd5449700ffeaf7ba1a517ff0</update_guid>\n<update_guid_history>427e952dd5449700ffeaf7ba1a517ff0:-968534216,817ed52d53449700a4aae2563c1bbc74:-1651173528,ee6f3f19fc409700bdaa07379df12f0d:-968534216</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_image_drag_and_drop_u_number_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_number\" label=\"Number\" language=\"en\" table=\"u_image_drag_and_drop\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_number</element><help/><hint/><label>Number</label><language>en</language><name>u_image_drag_and_drop</name><plural>Numbers</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:16:58</sys_created_on><sys_id>15a299addb0497004e5cfa131f9619bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Number</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_image_drag_and_drop_u_number_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:16:58</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1661000927</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>772b21e1db8497004e5cfa131f96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161582a3d300000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop.Number</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>5da299adb1049700999b6e0fd3397cc1</update_guid>\n<update_guid_history>5da299adb1049700999b6e0fd3397cc1:1661000927</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_89842bd1dbcc570086da7d5e0f961944</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>5</order><sp_dependency display_value=\"dropzone.js\">6a342bd1dbcc570086da7d5e0f96193b</sp_dependency><sp_js_include display_value=\"dropzone.js\">fe746715dbcc570086da7d5e0f96194d</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:15:48</sys_created_on><sys_id>89842bd1dbcc570086da7d5e0f961944</sys_id><sys_mod_count>3</sys_mod_count><sys_name>dropzone.js.dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_89842bd1dbcc570086da7d5e0f961944</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:03:39</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1711461120</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>7b2b21e1db8497004e5cfa131f961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615854f9640000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.js.dropzone.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>d15d59e9744497006c82ad844263084d</update_guid>\n<update_guid_history>d15d59e9744497006c82ad844263084d:-1711461120,c85d59e95c449700bc1b811ce3b78d6c:-1415418335,17277f911f4097009acfb41e4589922e:-1711461120,01842bd1d0cc570098cb0b38af8fcb46:-376709244</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_image_drag_and_drop_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_image_drag_and_drop\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_image_drag_and_drop&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-02 19:53:22&lt;/sys_created_on&gt;&lt;sys_id&gt;733d89a9db0497004e5cfa131f9619cf&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_image_drag_and_drop&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_image_drag_and_drop_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-02 19:53:22&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1314085150</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>7b2b21e1db8497004e5cfa131f96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a40e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>3b3d89a9ec049700d8431ed5c5ef53e1</update_guid>\n<update_guid_history>3b3d89a9ec049700d8431ed5c5ef53e1:-1314085150,e60d85a9b0049700e95b28c434f97b72:-215757162,b0ecc1a9a3049700fc7acbfa0e01389a:-1314085150</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d684a715dbcc570086da7d5e0f961910</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;dropzone.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[\"use strict\";function _possibleConstructorReturn(a,b){if(!a)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!b||\"object\"!=typeof b&amp;&amp;\"function\"!=typeof b?a:b}function _inherits(a,b){if(\"function\"!=typeof b&amp;&amp;null!==b)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof b);a.prototype=Object.create(b&amp;&amp;b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&amp;&amp;(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError(\"Cannot call a class as a function\")}function __guard__(a,b){return void 0!==a&amp;&amp;null!==a?b(a):void 0}function __guardMethod__(a,b,c){return void 0!==a&amp;&amp;null!==a&amp;&amp;\"function\"==typeof a[b]?c(a,b):void 0}var _createClass=function(){function a(a,b){for(var c=0;c&lt;b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,\"value\"in d&amp;&amp;(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&amp;&amp;a(b.prototype,c),d&amp;&amp;a(b,d),b}}(),Emitter=function(){function a(){_classCallCheck(this,a)}return _createClass(a,[{key:\"on\",value:function(a,b){return this._callbacks=this._callbacks||{},this._callbacks[a]||(this._callbacks[a]=[]),this._callbacks[a].push(b),this}},{key:\"emit\",value:function(a){this._callbacks=this._callbacks||{};var b=this._callbacks[a];if(b){for(var c=arguments.length,d=Array(c&gt;1?c-1:0),e=1;e&lt;c;e++)d[e-1]=arguments[e];for(var f=b,g=0,f=f;;){var h;if(g&gt;=f.length)break;h=f[g++];h.apply(this,d)}}return this}},{key:\"off\",value:function(a,b){if(!this._callbacks||0===arguments.length)return this._callbacks={},this;var c=this._callbacks[a];if(!c)return this;if(1===arguments.length)return delete this._callbacks[a],this;for(var d=0;d&lt;c.length;d++){if(c[d]===b){c.splice(d,1);break}}return this}}]),a}(),Dropzone=function(a){function b(a,c){_classCallCheck(this,b);var d=_possibleConstructorReturn(this,(b.__proto__||Object.getPrototypeOf(b)).call(this)),e=void 0,f=void 0;if(d.element=a,d.version=b.version,d.defaultOptions.previewTemplate=d.defaultOptions.previewTemplate.replace(/\\n*/g,\"\"),d.clickableElements=[],d.listeners=[],d.files=[],\"string\"==typeof d.element&amp;&amp;(d.element=document.querySelector(d.element)),!d.element||null==d.element.nodeType)throw new Error(\"Invalid dropzone element.\");if(d.element.dropzone)throw new Error(\"Dropzone already attached.\");b.instances.push(d),d.element.dropzone=d;var g=null!=(f=b.optionsForElement(d.element))?f:{};if(d.options=b.extend({},d.defaultOptions,g,null!=c?c:{}),d.options.forceFallback||!b.isBrowserSupported()){var h;return h=d.options.fallback.call(d),_possibleConstructorReturn(d,h)}if(null==d.options.url&amp;&amp;(d.options.url=d.element.getAttribute(\"action\")),!d.options.url)throw new Error(\"No URL provided.\");if(d.options.acceptedFiles&amp;&amp;d.options.acceptedMimeTypes)throw new Error(\"You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.\");if(d.options.uploadMultiple&amp;&amp;d.options.chunking)throw new Error(\"You cannot set both: uploadMultiple and chunking.\");return d.options.acceptedMimeTypes&amp;&amp;(d.options.acceptedFiles=d.options.acceptedMimeTypes,delete d.options.acceptedMimeTypes),null!=d.options.renameFilename&amp;&amp;(d.options.renameFile=function(a){return d.options.renameFilename.call(d,a.name,a)}),d.options.method=d.options.method.toUpperCase(),(e=d.getExistingFallback())&amp;&amp;e.parentNode&amp;&amp;e.parentNode.removeChild(e),!1!==d.options.previewsContainer&amp;&amp;(d.options.previewsContainer?d.previewsContainer=b.getElement(d.options.previewsContainer,\"previewsContainer\"):d.previewsContainer=d.element),d.options.clickable&amp;&amp;(!0===d.options.clickable?d.clickableElements=[d.element]:d.clickableElements=b.getElements(d.options.clickable,\"clickable\")),d.init(),d}return _inherits(b,a),_createClass(b,null,[{key:\"initClass\",value:function(){this.prototype.Emitter=Emitter,this.prototype.events=[\"drop\",\"dragstart\",\"dragend\",\"dragenter\",\"dragover\",\"dragleave\",\"addedfile\",\"addedfiles\",\"removedfile\",\"thumbnail\",\"error\",\"errormultiple\",\"processing\",\"processingmultiple\",\"uploadprogress\",\"totaluploadprogress\",\"sending\",\"sendingmultiple\",\"success\",\"successmultiple\",\"canceled\",\"canceledmultiple\",\"complete\",\"completemultiple\",\"reset\",\"maxfilesexceeded\",\"maxfilesreached\",\"queuecomplete\"],this.prototype.defaultOptions={url:null,method:\"post\",withCredentials:!1,timeout:3e4,parallelUploads:2,uploadMultiple:!1,chunking:!1,forceChunking:!1,chunkSize:2e6,parallelChunkUploads:!1,retryChunks:!1,retryChunksLimit:3,maxFilesize:256,paramName:\"file\",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,thumbnailMethod:\"crop\",resizeWidth:null,resizeHeight:null,resizeMimeType:null,resizeQuality:.8,resizeMethod:\"contain\",filesizeBase:1e3,maxFiles:null,headers:null,clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,hiddenInputContainer:\"body\",capture:null,renameFilename:null,renameFile:null,forceFallback:!1,dictDefaultMessage:\"Drop files here to upload\",dictFallbackMessage:\"Your browser does not support drag'n'drop file uploads.\",dictFallbackText:\"Please use the fallback form below to upload your files like in the olden days.\",dictFileTooBig:\"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.\",dictInvalidFileType:\"You can't upload files of this type.\",dictResponseError:\"Server responded with {{statusCode}} code.\",dictCancelUpload:\"Cancel upload\",dictCancelUploadConfirmation:\"Are you sure you want to cancel this upload?\",dictRemoveFile:\"Remove file\",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:\"You can not upload any more files.\",dictFileSizeUnits:{tb:\"TB\",gb:\"GB\",mb:\"MB\",kb:\"KB\",b:\"b\"},init:function(){},params:function(a,b,c){if(c)return{dzuuid:c.file.upload.uuid,dzchunkindex:c.index,dztotalfilesize:c.file.size,dzchunksize:this.options.chunkSize,dztotalchunkcount:c.file.upload.totalChunkCount,dzchunkbyteoffset:c.index*this.options.chunkSize}},accept:function(a,b){return b()},chunksUploaded:function(a,b){b()},fallback:function(){var a=void 0;this.element.className=this.element.className+\" dz-browser-not-supported\";for(var c=this.element.getElementsByTagName(\"div\"),d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];var f=e;if(/(^| )dz-message($| )/.test(f.className)){a=f,f.className=\"dz-message\";break}}a||(a=b.createElement('&lt;div class=\"dz-message\"&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;'),this.element.appendChild(a));var g=a.getElementsByTagName(\"span\")[0];return g&amp;&amp;(null!=g.textContent?g.textContent=this.options.dictFallbackMessage:null!=g.innerText&amp;&amp;(g.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize:function(a,b,c,d){var e={srcX:0,srcY:0,srcWidth:a.width,srcHeight:a.height},f=a.width/a.height;null==b&amp;&amp;null==c?(b=e.srcWidth,c=e.srcHeight):null==b?b=c*f:null==c&amp;&amp;(c=b/f),b=Math.min(b,e.srcWidth),c=Math.min(c,e.srcHeight);var g=b/c;if(e.srcWidth&gt;b||e.srcHeight&gt;c)if(\"crop\"===d)f&gt;g?(e.srcHeight=a.height,e.srcWidth=e.srcHeight*g):(e.srcWidth=a.width,e.srcHeight=e.srcWidth/g);else{if(\"contain\"!==d)throw new Error(\"Unknown resizeMethod '\"+d+\"'\");f&gt;g?c=b/f:b=c*f}return e.srcX=(a.width-e.srcWidth)/2,e.srcY=(a.height-e.srcHeight)/2,e.trgWidth=b,e.trgHeight=c,e},transformFile:function(a,b){return(this.options.resizeWidth||this.options.resizeHeight)&amp;&amp;a.type.match(/image.*/)?this.resizeImage(a,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,b):b(a)},previewTemplate:'&lt;div class=\"dz-preview dz-file-preview\"&gt;\\n  &lt;div class=\"dz-image\"&gt;&lt;img data-dz-thumbnail /&gt;&lt;/div&gt;\\n  &lt;div class=\"dz-details\"&gt;\\n    &lt;div class=\"dz-size\"&gt;&lt;span data-dz-size&gt;&lt;/span&gt;&lt;/div&gt;\\n    &lt;div class=\"dz-filename\"&gt;&lt;span data-dz-name&gt;&lt;/span&gt;&lt;/div&gt;\\n  &lt;/div&gt;\\n  &lt;div class=\"dz-progress\"&gt;&lt;span class=\"dz-upload\" data-dz-uploadprogress&gt;&lt;/span&gt;&lt;/div&gt;\\n  &lt;div class=\"dz-error-message\"&gt;&lt;span data-dz-errormessage&gt;&lt;/span&gt;&lt;/div&gt;\\n  &lt;div class=\"dz-success-mark\"&gt;\\n    &lt;svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:sketch=\"http://www.bohemiancoding.com/sketch/ns\"&gt;\\n      &lt;title&gt;Check&lt;/title&gt;\\n      &lt;defs&gt;&lt;/defs&gt;\\n      &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" sketch:type=\"MSPage\"&gt;\\n        &lt;path d=\"M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" id=\"Oval-2\" stroke-opacity=\"0.198794158\" stroke=\"#747474\" fill-opacity=\"0.816519475\" fill=\"#FFFFFF\" sketch:type=\"MSShapeGroup\"&gt;&lt;/path&gt;\\n      &lt;/g&gt;\\n    &lt;/svg&gt;\\n  &lt;/div&gt;\\n  &lt;div class=\"dz-error-mark\"&gt;\\n    &lt;svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:sketch=\"http://www.bohemiancoding.com/sketch/ns\"&gt;\\n      &lt;title&gt;Error&lt;/title&gt;\\n      &lt;defs&gt;&lt;/defs&gt;\\n      &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" sketch:type=\"MSPage\"&gt;\\n        &lt;g id=\"Check-+-Oval-2\" sketch:type=\"MSLayerGroup\" stroke=\"#747474\" stroke-opacity=\"0.198794158\" fill=\"#FFFFFF\" fill-opacity=\"0.816519475\"&gt;\\n          &lt;path d=\"M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" id=\"Oval-2\" sketch:type=\"MSShapeGroup\"&gt;&lt;/path&gt;\\n        &lt;/g&gt;\\n      &lt;/g&gt;\\n    &lt;/svg&gt;\\n  &lt;/div&gt;\\n&lt;/div&gt;',drop:function(a){return this.element.classList.remove(\"dz-drag-hover\")},dragstart:function(a){},dragend:function(a){return this.element.classList.remove(\"dz-drag-hover\")},dragenter:function(a){return this.element.classList.add(\"dz-drag-hover\")},dragover:function(a){return this.element.classList.add(\"dz-drag-hover\")},dragleave:function(a){return this.element.classList.remove(\"dz-drag-hover\")},paste:function(a){},reset:function(){return this.element.classList.remove(\"dz-started\")},addedfile:function(a){var c=this;if(this.element===this.previewsContainer&amp;&amp;this.element.classList.add(\"dz-started\"),this.previewsContainer){a.previewElement=b.createElement(this.options.previewTemplate.trim()),a.previewTemplate=a.previewElement,this.previewsContainer.appendChild(a.previewElement);for(var d=a.previewElement.querySelectorAll(\"[data-dz-name]\"),e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];var g=f;g.textContent=a.name}for(var h=a.previewElement.querySelectorAll(\"[data-dz-size]\"),i=0,h=h;!(i&gt;=h.length);)g=h[i++],g.innerHTML=this.filesize(a.size);this.options.addRemoveLinks&amp;&amp;(a._removeLink=b.createElement('&lt;a class=\"dz-remove\" href=\"javascript:undefined;\" data-dz-remove&gt;'+this.options.dictRemoveFile+\"&lt;/a&gt;\"),a.previewElement.appendChild(a._removeLink));for(var j=function(d){return d.preventDefault(),d.stopPropagation(),a.status===b.UPLOADING?b.confirm(c.options.dictCancelUploadConfirmation,function(){return c.removeFile(a)}):c.options.dictRemoveFileConfirmation?b.confirm(c.options.dictRemoveFileConfirmation,function(){return c.removeFile(a)}):c.removeFile(a)},k=a.previewElement.querySelectorAll(\"[data-dz-remove]\"),l=0,k=k;;){var m;if(l&gt;=k.length)break;m=k[l++];m.addEventListener(\"click\",j)}}},removedfile:function(a){return null!=a.previewElement&amp;&amp;null!=a.previewElement.parentNode&amp;&amp;a.previewElement.parentNode.removeChild(a.previewElement),this._updateMaxFilesReachedClass()},thumbnail:function(a,b){if(a.previewElement){a.previewElement.classList.remove(\"dz-file-preview\");for(var c=a.previewElement.querySelectorAll(\"[data-dz-thumbnail]\"),d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];var f=e;f.alt=a.name,f.src=b}return setTimeout(function(){return a.previewElement.classList.add(\"dz-image-preview\")},1)}},error:function(a,b){if(a.previewElement){a.previewElement.classList.add(\"dz-error\"),\"String\"!=typeof b&amp;&amp;b.error&amp;&amp;(b=b.error);for(var c=a.previewElement.querySelectorAll(\"[data-dz-errormessage]\"),d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];e.textContent=b}}},errormultiple:function(){},processing:function(a){if(a.previewElement&amp;&amp;(a.previewElement.classList.add(\"dz-processing\"),a._removeLink))return a._removeLink.textContent=this.options.dictCancelUpload},processingmultiple:function(){},uploadprogress:function(a,b,c){if(a.previewElement)for(var d=a.previewElement.querySelectorAll(\"[data-dz-uploadprogress]\"),e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];var g=f;\"PROGRESS\"===g.nodeName?g.value=b:g.style.width=b+\"%\"}},totaluploadprogress:function(){},sending:function(){},sendingmultiple:function(){},success:function(a){if(a.previewElement)return a.previewElement.classList.add(\"dz-success\")},successmultiple:function(){},canceled:function(a){return this.emit(\"error\",a,\"Upload canceled.\")},canceledmultiple:function(){},complete:function(a){if(a._removeLink&amp;&amp;(a._removeLink.textContent=this.options.dictRemoveFile),a.previewElement)return a.previewElement.classList.add(\"dz-complete\")},completemultiple:function(){},maxfilesexceeded:function(){},maxfilesreached:function(){},queuecomplete:function(){},addedfiles:function(){}},this.prototype._thumbnailQueue=[],this.prototype._processingThumbnail=!1}},{key:\"extend\",value:function(a){for(var b=arguments.length,c=Array(b&gt;1?b-1:0),d=1;d&lt;b;d++)c[d-1]=arguments[d];for(var e=c,f=0,e=e;;){var g;if(f&gt;=e.length)break;g=e[f++];var h=g;for(var i in h){var j=h[i];a[i]=j}}return a}}]),_createClass(b,[{key:\"getAcceptedFiles\",value:function(){return this.files.filter(function(a){return a.accepted}).map(function(a){return a})}},{key:\"getRejectedFiles\",value:function(){return this.files.filter(function(a){return!a.accepted}).map(function(a){return a})}},{key:\"getFilesWithStatus\",value:function(a){return this.files.filter(function(b){return b.status===a}).map(function(a){return a})}},{key:\"getQueuedFiles\",value:function(){return this.getFilesWithStatus(b.QUEUED)}},{key:\"getUploadingFiles\",value:function(){return this.getFilesWithStatus(b.UPLOADING)}},{key:\"getAddedFiles\",value:function(){return this.getFilesWithStatus(b.ADDED)}},{key:\"getActiveFiles\",value:function(){return this.files.filter(function(a){return a.status===b.UPLOADING||a.status===b.QUEUED}).map(function(a){return a})}},{key:\"init\",value:function(){var a=this;if(\"form\"===this.element.tagName&amp;&amp;this.element.setAttribute(\"enctype\",\"multipart/form-data\"),this.element.classList.contains(\"dropzone\")&amp;&amp;!this.element.querySelector(\".dz-message\")&amp;&amp;this.element.appendChild(b.createElement('&lt;div class=\"dz-default dz-message\"&gt;&lt;span&gt;'+this.options.dictDefaultMessage+\"&lt;/span&gt;&lt;/div&gt;\")),this.clickableElements.length){!function b(){return a.hiddenFileInput&amp;&amp;a.hiddenFileInput.parentNode.removeChild(a.hiddenFileInput),a.hiddenFileInput=document.createElement(\"input\"),a.hiddenFileInput.setAttribute(\"type\",\"file\"),(null===a.options.maxFiles||a.options.maxFiles&gt;1)&amp;&amp;a.hiddenFileInput.setAttribute(\"multiple\",\"multiple\"),a.hiddenFileInput.className=\"dz-hidden-input\",null!==a.options.acceptedFiles&amp;&amp;a.hiddenFileInput.setAttribute(\"accept\",a.options.acceptedFiles),null!==a.options.capture&amp;&amp;a.hiddenFileInput.setAttribute(\"capture\",a.options.capture),a.hiddenFileInput.style.visibility=\"hidden\",a.hiddenFileInput.style.position=\"absolute\",a.hiddenFileInput.style.top=\"0\",a.hiddenFileInput.style.left=\"0\",a.hiddenFileInput.style.height=\"0\",a.hiddenFileInput.style.width=\"0\",document.querySelector(a.options.hiddenInputContainer).appendChild(a.hiddenFileInput),a.hiddenFileInput.addEventListener(\"change\",function(){var c=a.hiddenFileInput.files;if(c.length)for(var d=c,e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];var g=f;a.addFile(g)}return a.emit(\"addedfiles\",c),b()})}()}this.URL=null!==window.URL?window.URL:window.webkitURL;for(var c=this.events,d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];var f=e;this.on(f,this.options[f])}this.on(\"uploadprogress\",function(){return a.updateTotalUploadProgress()}),this.on(\"removedfile\",function(){return a.updateTotalUploadProgress()}),this.on(\"canceled\",function(b){return a.emit(\"complete\",b)}),this.on(\"complete\",function(b){if(0===a.getAddedFiles().length&amp;&amp;0===a.getUploadingFiles().length&amp;&amp;0===a.getQueuedFiles().length)return setTimeout(function(){return a.emit(\"queuecomplete\")},0)});var g=function(a){return a.stopPropagation(),a.preventDefault?a.preventDefault():a.returnValue=!1};return this.listeners=[{element:this.element,events:{dragstart:function(b){return a.emit(\"dragstart\",b)},dragenter:function(b){return g(b),a.emit(\"dragenter\",b)},dragover:function(b){var c=void 0;try{c=b.dataTransfer.effectAllowed}catch(a){}return b.dataTransfer.dropEffect=\"move\"===c||\"linkMove\"===c?\"move\":\"copy\",g(b),a.emit(\"dragover\",b)},dragleave:function(b){return a.emit(\"dragleave\",b)},drop:function(b){return g(b),a.drop(b)},dragend:function(b){return a.emit(\"dragend\",b)}}}],this.clickableElements.forEach(function(c){return a.listeners.push({element:c,events:{click:function(d){return(c!==a.element||d.target===a.element||b.elementInside(d.target,a.element.querySelector(\".dz-message\")))&amp;&amp;a.hiddenFileInput.click(),!0}}})}),this.enable(),this.options.init.call(this)}},{key:\"destroy\",value:function(){return this.disable(),this.removeAllFiles(!0),(null!=this.hiddenFileInput?this.hiddenFileInput.parentNode:void 0)&amp;&amp;(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete this.element.dropzone,b.instances.splice(b.instances.indexOf(this),1)}},{key:\"updateTotalUploadProgress\",value:function(){var a=void 0,b=0,c=0;if(this.getActiveFiles().length){for(var d=this.getActiveFiles(),e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];var g=f;b+=g.upload.bytesSent,c+=g.upload.total}a=100*b/c}else a=100;return this.emit(\"totaluploadprogress\",a,c,b)}},{key:\"_getParamName\",value:function(a){return\"function\"==typeof this.options.paramName?this.options.paramName(a):this.options.paramName+(this.options.uploadMultiple?\"[\"+a+\"]\":\"\")}},{key:\"_renameFile\",value:function(a){return\"function\"!=typeof this.options.renameFile?a.name:this.options.renameFile(a)}},{key:\"getFallbackForm\",value:function(){var a=void 0,c=void 0;if(a=this.getExistingFallback())return a;var d='&lt;div class=\"dz-fallback\"&gt;';this.options.dictFallbackText&amp;&amp;(d+=\"&lt;p&gt;\"+this.options.dictFallbackText+\"&lt;/p&gt;\"),d+='&lt;input type=\"file\" name=\"'+this._getParamName(0)+'\" '+(this.options.uploadMultiple?'multiple=\"multiple\"':void 0)+' /&gt;&lt;input type=\"submit\" value=\"Upload!\"&gt;&lt;/div&gt;';var e=b.createElement(d);return\"FORM\"!==this.element.tagName?(c=b.createElement('&lt;form action=\"'+this.options.url+'\" enctype=\"multipart/form-data\" method=\"'+this.options.method+'\"&gt;&lt;/form&gt;'),c.appendChild(e)):(this.element.setAttribute(\"enctype\",\"multipart/form-data\"),this.element.setAttribute(\"method\",this.options.method)),null!=c?c:e}},{key:\"getExistingFallback\",value:function(){for(var a=[\"div\",\"form\"],b=0;b&lt;a.length;b++){var c,d=a[b];if(c=function(a){for(var b=a,c=0,b=b;;){var d;if(c&gt;=b.length)break;d=b[c++];var e=d;if(/(^| )fallback($| )/.test(e.className))return e}}(this.element.getElementsByTagName(d)))return c}}},{key:\"setupEventListeners\",value:function(){return this.listeners.map(function(a){return function(){var b=[];for(var c in a.events){var d=a.events[c];b.push(a.element.addEventListener(c,d,!1))}return b}()})}},{key:\"removeEventListeners\",value:function(){return this.listeners.map(function(a){return function(){var b=[];for(var c in a.events){var d=a.events[c];b.push(a.element.removeEventListener(c,d,!1))}return b}()})}},{key:\"disable\",value:function(){var a=this;return this.clickableElements.forEach(function(a){return a.classList.remove(\"dz-clickable\")}),this.removeEventListeners(),this.files.map(function(b){return a.cancelUpload(b)})}},{key:\"enable\",value:function(){return this.clickableElements.forEach(function(a){return a.classList.add(\"dz-clickable\")}),this.setupEventListeners()}},{key:\"filesize\",value:function(a){var b=0,c=\"b\";if(a&gt;0){for(var d=[\"tb\",\"gb\",\"mb\",\"kb\",\"b\"],e=0;e&lt;d.length;e++){var f=d[e];if(a&gt;=Math.pow(this.options.filesizeBase,4-e)/10){b=a/Math.pow(this.options.filesizeBase,4-e),c=f;break}}b=Math.round(10*b)/10}return\"&lt;strong&gt;\"+b+\"&lt;/strong&gt; \"+this.options.dictFileSizeUnits[c]}},{key:\"_updateMaxFilesReachedClass\",value:function(){return null!=this.options.maxFiles&amp;&amp;this.getAcceptedFiles().length&gt;=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&amp;&amp;this.emit(\"maxfilesreached\",this.files),this.element.classList.add(\"dz-max-files-reached\")):this.element.classList.remove(\"dz-max-files-reached\")}},{key:\"drop\",value:function(a){if(a.dataTransfer){this.emit(\"drop\",a);var b=a.dataTransfer.files;if(this.emit(\"addedfiles\",b),b.length){var c=a.dataTransfer.items;c&amp;&amp;c.length&amp;&amp;null!=c[0].webkitGetAsEntry?this._addFilesFromItems(c):this.handleFiles(b)}}}},{key:\"paste\",value:function(a){if(null!=__guard__(null!=a?a.clipboardData:void 0,function(a){return a.items})){this.emit(\"paste\",a);var b=a.clipboardData.items;return b.length?this._addFilesFromItems(b):void 0}}},{key:\"handleFiles\",value:function(a){var b=this;return a.map(function(a){return b.addFile(a)})}},{key:\"_addFilesFromItems\",value:function(a){var b=this;return function(){for(var c=[],d=a,e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];var g,h=f;null!=h.webkitGetAsEntry&amp;&amp;(g=h.webkitGetAsEntry())?g.isFile?c.push(b.addFile(h.getAsFile())):g.isDirectory?c.push(b._addFilesFromDirectory(g,g.name)):c.push(void 0):null!=h.getAsFile&amp;&amp;(null==h.kind||\"file\"===h.kind)?c.push(b.addFile(h.getAsFile())):c.push(void 0)}return c}()}},{key:\"_addFilesFromDirectory\",value:function(a,b){var c=this,d=a.createReader(),e=function(a){return __guardMethod__(console,\"log\",function(b){return b.log(a)})};return function a(){return d.readEntries(function(d){if(d.length&gt;0){for(var e=d,f=0,e=e;;){var g;if(f&gt;=e.length)break;g=e[f++];var h=g;h.isFile?h.file(function(a){if(!c.options.ignoreHiddenFiles||\".\"!==a.name.substring(0,1))return a.fullPath=b+\"/\"+a.name,c.addFile(a)}):h.isDirectory&amp;&amp;c._addFilesFromDirectory(h,b+\"/\"+h.name)}a()}return null},e)}()}},{key:\"accept\",value:function(a,c){return a.size&gt;1024*this.options.maxFilesize*1024?c(this.options.dictFileTooBig.replace(\"{{filesize}}\",Math.round(a.size/1024/10.24)/100).replace(\"{{maxFilesize}}\",this.options.maxFilesize)):b.isValidFile(a,this.options.acceptedFiles)?null!=this.options.maxFiles&amp;&amp;this.getAcceptedFiles().length&gt;=this.options.maxFiles?(c(this.options.dictMaxFilesExceeded.replace(\"{{maxFiles}}\",this.options.maxFiles)),this.emit(\"maxfilesexceeded\",a)):this.options.accept.call(this,a,c):c(this.options.dictInvalidFileType)}},{key:\"addFile\",value:function(a){var c=this;return a.upload={uuid:b.uuidv4(),progress:0,total:a.size,bytesSent:0,filename:this._renameFile(a),chunked:this.options.chunking&amp;&amp;(this.options.forceChunking||a.size&gt;this.options.chunkSize),totalChunkCount:Math.ceil(a.size/this.options.chunkSize)},this.files.push(a),a.status=b.ADDED,this.emit(\"addedfile\",a),this._enqueueThumbnail(a),this.accept(a,function(b){return b?(a.accepted=!1,c._errorProcessing([a],b)):(a.accepted=!0,c.options.autoQueue&amp;&amp;c.enqueueFile(a)),c._updateMaxFilesReachedClass()})}},{key:\"enqueueFiles\",value:function(a){for(var b=a,c=0,b=b;;){var d;if(c&gt;=b.length)break;d=b[c++];var e=d;this.enqueueFile(e)}return null}},{key:\"enqueueFile\",value:function(a){var c=this;if(a.status!==b.ADDED||!0!==a.accepted)throw new Error(\"This file can't be queued because it has already been processed or was rejected.\");if(a.status=b.QUEUED,this.options.autoProcessQueue)return setTimeout(function(){return c.processQueue()},0)}},{key:\"_enqueueThumbnail\",value:function(a){var b=this;if(this.options.createImageThumbnails&amp;&amp;a.type.match(/image.*/)&amp;&amp;a.size&lt;=1024*this.options.maxThumbnailFilesize*1024)return this._thumbnailQueue.push(a),setTimeout(function(){return b._processThumbnailQueue()},0)}},{key:\"_processThumbnailQueue\",value:function(){var a=this;if(!this._processingThumbnail&amp;&amp;0!==this._thumbnailQueue.length){this._processingThumbnail=!0;var b=this._thumbnailQueue.shift();return this.createThumbnail(b,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,!0,function(c){return a.emit(\"thumbnail\",b,c),a._processingThumbnail=!1,a._processThumbnailQueue()})}}},{key:\"removeFile\",value:function(a){if(a.status===b.UPLOADING&amp;&amp;this.cancelUpload(a),this.files=without(this.files,a),this.emit(\"removedfile\",a),0===this.files.length)return this.emit(\"reset\")}},{key:\"removeAllFiles\",value:function(a){null==a&amp;&amp;(a=!1);for(var c=this.files.slice(),d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];var f=e;(f.status!==b.UPLOADING||a)&amp;&amp;this.removeFile(f)}return null}},{key:\"resizeImage\",value:function(a,c,d,e,f){var g=this;return this.createThumbnail(a,c,d,e,!1,function(c,d){if(null===d)return f(a);var e=g.options.resizeMimeType;null==e&amp;&amp;(e=a.type);var h=d.toDataURL(e,g.options.resizeQuality);return\"image/jpeg\"!==e&amp;&amp;\"image/jpg\"!==e||(h=ExifRestore.restore(a.dataURL,h)),f(b.dataURItoBlob(h))})}},{key:\"createThumbnail\",value:function(a,b,c,d,e,f){var g=this,h=new FileReader;return h.onload=function(){return a.dataURL=h.result,\"image/svg+xml\"===a.type?void(null!=f&amp;&amp;f(h.result)):g.createThumbnailFromUrl(a,b,c,d,e,f)},h.readAsDataURL(a)}},{key:\"createThumbnailFromUrl\",value:function(a,b,c,d,e,f,g){var h=this,i=document.createElement(\"img\");return g&amp;&amp;(i.crossOrigin=g),i.onload=function(){var g=function(a){return a(1)};return\"undefined\"!=typeof EXIF&amp;&amp;null!==EXIF&amp;&amp;e&amp;&amp;(g=function(a){return EXIF.getData(i,function(){return a(EXIF.getTag(this,\"Orientation\"))})}),g(function(e){a.width=i.width,a.height=i.height;var g=h.options.resize.call(h,a,b,c,d),j=document.createElement(\"canvas\"),k=j.getContext(\"2d\");switch(j.width=g.trgWidth,j.height=g.trgHeight,e&gt;4&amp;&amp;(j.width=g.trgHeight,j.height=g.trgWidth),e){case 2:k.translate(j.width,0),k.scale(-1,1);break;case 3:k.translate(j.width,j.height),k.rotate(Math.PI);break;case 4:k.translate(0,j.height),k.scale(1,-1);break;case 5:k.rotate(.5*Math.PI),k.scale(1,-1);break;case 6:k.rotate(.5*Math.PI),k.translate(0,-j.height);break;case 7:k.rotate(.5*Math.PI),k.translate(j.width,-j.height),k.scale(-1,1);break;case 8:k.rotate(-.5*Math.PI),k.translate(-j.width,0)}drawImageIOSFix(k,i,null!=g.srcX?g.srcX:0,null!=g.srcY?g.srcY:0,g.srcWidth,g.srcHeight,null!=g.trgX?g.trgX:0,null!=g.trgY?g.trgY:0,g.trgWidth,g.trgHeight);var l=j.toDataURL(\"image/png\");if(null!=f)return f(l,j)})},null!=f&amp;&amp;(i.onerror=f),i.src=a.dataURL}},{key:\"processQueue\",value:function(){var a=this.options.parallelUploads,b=this.getUploadingFiles().length,c=b;if(!(b&gt;=a)){var d=this.getQueuedFiles();if(d.length&gt;0){if(this.options.uploadMultiple)return this.processFiles(d.slice(0,a-b));for(;c&lt;a;){if(!d.length)return;this.processFile(d.shift()),c++}}}}},{key:\"processFile\",value:function(a){return this.processFiles([a])}},{key:\"processFiles\",value:function(a){for(var c=a,d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];var f=e;f.processing=!0,f.status=b.UPLOADING,this.emit(\"processing\",f)}return this.options.uploadMultiple&amp;&amp;this.emit(\"processingmultiple\",a),this.uploadFiles(a)}},{key:\"_getFilesWithXhr\",value:function(a){return this.files.filter(function(b){return b.xhr===a}).map(function(a){return a})}},{key:\"cancelUpload\",value:function(a){if(a.status===b.UPLOADING){for(var c=this._getFilesWithXhr(a.xhr),d=c,e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];f.status=b.CANCELED}void 0!==a.xhr&amp;&amp;a.xhr.abort();for(var g=c,h=0,g=g;;){var i;if(h&gt;=g.length)break;i=g[h++];var j=i;this.emit(\"canceled\",j)}this.options.uploadMultiple&amp;&amp;this.emit(\"canceledmultiple\",c)}else a.status!==b.ADDED&amp;&amp;a.status!==b.QUEUED||(a.status=b.CANCELED,this.emit(\"canceled\",a),this.options.uploadMultiple&amp;&amp;this.emit(\"canceledmultiple\",[a]));if(this.options.autoProcessQueue)return this.processQueue()}},{key:\"resolveOption\",value:function(a){if(\"function\"==typeof a){for(var b=arguments.length,c=Array(b&gt;1?b-1:0),d=1;d&lt;b;d++)c[d-1]=arguments[d];return a.apply(this,c)}return a}},{key:\"uploadFile\",value:function(a){return this.uploadFiles([a])}},{key:\"uploadFiles\",value:function(a){var c=this;this._transformFiles(a,function(d){if(a[0].upload.chunked){var e=a[0],f=d[0],g=0;e.upload.chunks=[];var h=function(){for(var d=0;void 0!==e.upload.chunks[d];)d++;if(!(d&gt;=e.upload.totalChunkCount)){g++;var h=d*c.options.chunkSize,i=Math.min(h+c.options.chunkSize,e.size),j={name:c._getParamName(0),data:f.webkitSlice?f.webkitSlice(h,i):f.slice(h,i),filename:e.upload.filename,chunkIndex:d};e.upload.chunks[d]={file:e,index:d,dataBlock:j,status:b.UPLOADING,progress:0,retries:0},c._uploadData(a,[j])}};if(e.upload.finishedChunkUpload=function(d){var f=!0;d.status=b.SUCCESS,d.dataBlock=null;for(var g=0;g&lt;e.upload.totalChunkCount;g++){if(void 0===e.upload.chunks[g])return h();e.upload.chunks[g].status!==b.SUCCESS&amp;&amp;(f=!1)}f&amp;&amp;c.options.chunksUploaded(e,function(){c._finished(a,\"\",null)})},c.options.parallelChunkUploads)for(var i=0;i&lt;e.upload.totalChunkCount;i++)h();else h()}else{for(var j=[],k=0;k&lt;a.length;k++)j[k]={name:c._getParamName(k),data:d[k],filename:a[k].upload.filename};c._uploadData(a,j)}})}},{key:\"_getChunk\",value:function(a,b){for(var c=0;c&lt;a.upload.totalChunkCount;c++)if(void 0!==a.upload.chunks[c]&amp;&amp;a.upload.chunks[c].xhr===b)return a.upload.chunks[c]}},{key:\"_uploadData\",value:function(a,c){for(var d=this,e=new XMLHttpRequest,f=a,g=0,f=f;;){var h;if(g&gt;=f.length)break;h=f[g++];h.xhr=e}a[0].upload.chunked&amp;&amp;(a[0].upload.chunks[c[0].chunkIndex].xhr=e);var i=this.resolveOption(this.options.method,a),j=this.resolveOption(this.options.url,a);e.open(i,j,!0),e.timeout=this.resolveOption(this.options.timeout,a),e.withCredentials=!!this.options.withCredentials,e.onload=function(b){d._finishedUploading(a,e,b)},e.onerror=function(){d._handleUploadError(a,e)},(null!=e.upload?e.upload:e).onprogress=function(b){return d._updateFilesUploadProgress(a,e,b)};var k={Accept:\"application/json\",\"Cache-Control\":\"no-cache\",\"X-Requested-With\":\"XMLHttpRequest\"};this.options.headers&amp;&amp;b.extend(k,this.options.headers);for(var l in k){var m=k[l];m&amp;&amp;e.setRequestHeader(l,m)}var n=new FormData;if(this.options.params){var o=this.options.params;\"function\"==typeof o&amp;&amp;(o=o.call(this,a,e,a[0].upload.chunked?this._getChunk(a[0],e):null));for(var p in o){var q=o[p];n.append(p,q)}}for(var r=a,s=0,r=r;;){var t;if(s&gt;=r.length)break;t=r[s++];var u=t;this.emit(\"sending\",u,e,n)}this.options.uploadMultiple&amp;&amp;this.emit(\"sendingmultiple\",a,e,n),this._addFormElementData(n);for(var v=0;v&lt;c.length;v++){var w=c[v];n.append(w.name,w.data,w.filename)}this.submitRequest(e,n,a)}},{key:\"_transformFiles\",value:function(a,b){for(var c=this,d=[],e=0,f=0;f&lt;a.length;f++)!function(f){c.options.transformFile.call(c,a[f],function(c){d[f]=c,++e===a.length&amp;&amp;b(d)})}(f)}},{key:\"_addFormElementData\",value:function(a){if(\"FORM\"===this.element.tagName)for(var b=this.element.querySelectorAll(\"input, textarea, select, button\"),c=0,b=b;;){var d\n;if(c&gt;=b.length)break;d=b[c++];var e=d,f=e.getAttribute(\"name\"),g=e.getAttribute(\"type\");if(g&amp;&amp;(g=g.toLowerCase()),void 0!==f&amp;&amp;null!==f)if(\"SELECT\"===e.tagName&amp;&amp;e.hasAttribute(\"multiple\"))for(var h=e.options,i=0,h=h;;){var j;if(i&gt;=h.length)break;j=h[i++];var k=j;k.selected&amp;&amp;a.append(f,k.value)}else(!g||\"checkbox\"!==g&amp;&amp;\"radio\"!==g||e.checked)&amp;&amp;a.append(f,e.value)}}},{key:\"_updateFilesUploadProgress\",value:function(a,b,c){var d=void 0;if(void 0!==c){if(d=100*c.loaded/c.total,a[0].upload.chunked){var e=a[0],f=this._getChunk(e,b);f.progress=d,f.total=c.total,f.bytesSent=c.loaded;e.upload.progress=0,e.upload.total=0,e.upload.bytesSent=0;for(var g=0;g&lt;e.upload.totalChunkCount;g++)void 0!==e.upload.chunks[g]&amp;&amp;void 0!==e.upload.chunks[g].progress&amp;&amp;(e.upload.progress+=e.upload.chunks[g].progress,e.upload.total+=e.upload.chunks[g].total,e.upload.bytesSent+=e.upload.chunks[g].bytesSent);e.upload.progress=e.upload.progress/e.upload.totalChunkCount}else for(var h=a,i=0,h=h;;){var j;if(i&gt;=h.length)break;j=h[i++];var k=j;k.upload.progress=d,k.upload.total=c.total,k.upload.bytesSent=c.loaded}for(var l=a,m=0,l=l;;){var n;if(m&gt;=l.length)break;n=l[m++];var o=n;this.emit(\"uploadprogress\",o,o.upload.progress,o.upload.bytesSent)}}else{var p=!0;d=100;for(var q=a,r=0,q=q;;){var s;if(r&gt;=q.length)break;s=q[r++];var t=s;100===t.upload.progress&amp;&amp;t.upload.bytesSent===t.upload.total||(p=!1),t.upload.progress=d,t.upload.bytesSent=t.upload.total}if(p)return;for(var u=a,v=0,u=u;;){var w;if(v&gt;=u.length)break;w=u[v++];var x=w;this.emit(\"uploadprogress\",x,d,x.upload.bytesSent)}}}},{key:\"_finishedUploading\",value:function(a,c,d){var e=void 0;if(a[0].status!==b.CANCELED&amp;&amp;4===c.readyState){if(\"arraybuffer\"!==c.responseType&amp;&amp;\"blob\"!==c.responseType&amp;&amp;(e=c.responseText,c.getResponseHeader(\"content-type\")&amp;&amp;~c.getResponseHeader(\"content-type\").indexOf(\"application/json\")))try{e=JSON.parse(e)}catch(a){d=a,e=\"Invalid JSON response from server.\"}this._updateFilesUploadProgress(a),200&lt;=c.status&amp;&amp;c.status&lt;300?a[0].upload.chunked?a[0].upload.finishedChunkUpload(this._getChunk(a[0],c)):this._finished(a,e,d):this._handleUploadError(a,c,e)}}},{key:\"_handleUploadError\",value:function(a,c,d){if(a[0].status!==b.CANCELED){if(a[0].upload.chunked&amp;&amp;this.options.retryChunks){var e=this._getChunk(a[0],c);if(e.retries++&lt;this.options.retryChunksLimit)return void this._uploadData(a,[e.dataBlock]);console.warn(\"Retried this chunk too often. Giving up.\")}for(var f=a,g=0,f=f;;){if(g&gt;=f.length)break;f[g++];this._errorProcessing(a,d||this.options.dictResponseError.replace(\"{{statusCode}}\",c.status),c)}}}},{key:\"submitRequest\",value:function(a,b,c){a.send(b)}},{key:\"_finished\",value:function(a,c,d){for(var e=a,f=0,e=e;;){var g;if(f&gt;=e.length)break;g=e[f++];var h=g;h.status=b.SUCCESS,this.emit(\"success\",h,c,d),this.emit(\"complete\",h)}if(this.options.uploadMultiple&amp;&amp;(this.emit(\"successmultiple\",a,c,d),this.emit(\"completemultiple\",a)),this.options.autoProcessQueue)return this.processQueue()}},{key:\"_errorProcessing\",value:function(a,c,d){for(var e=a,f=0,e=e;;){var g;if(f&gt;=e.length)break;g=e[f++];var h=g;h.status=b.ERROR,this.emit(\"error\",h,c,d),this.emit(\"complete\",h)}if(this.options.uploadMultiple&amp;&amp;(this.emit(\"errormultiple\",a,c,d),this.emit(\"completemultiple\",a)),this.options.autoProcessQueue)return this.processQueue()}}],[{key:\"uuidv4\",value:function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return(\"x\"===a?b:3&amp;b|8).toString(16)})}}]),b}(Emitter);Dropzone.initClass(),Dropzone.version=\"5.3.0\",Dropzone.options={},Dropzone.optionsForElement=function(a){return a.getAttribute(\"id\")?Dropzone.options[camelize(a.getAttribute(\"id\"))]:void 0},Dropzone.instances=[],Dropzone.forElement=function(a){if(\"string\"==typeof a&amp;&amp;(a=document.querySelector(a)),null==(null!=a?a.dropzone:void 0))throw new Error(\"No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.\");return a.dropzone},Dropzone.autoDiscover=!0,Dropzone.discover=function(){var a=void 0;if(document.querySelectorAll)a=document.querySelectorAll(\".dropzone\");else{a=[];var b=function(b){return function(){for(var c=[],d=b,e=0,d=d;;){var f;if(e&gt;=d.length)break;f=d[e++];var g=f;/(^| )dropzone($| )/.test(g.className)?c.push(a.push(g)):c.push(void 0)}return c}()};b(document.getElementsByTagName(\"div\")),b(document.getElementsByTagName(\"form\"))}return function(){for(var b=[],c=a,d=0,c=c;;){var e;if(d&gt;=c.length)break;e=c[d++];var f=e;!1!==Dropzone.optionsForElement(f)?b.push(new Dropzone(f)):b.push(void 0)}return b}()},Dropzone.blacklistedBrowsers=[/opera.*(Macintosh|Windows Phone).*version\\/12/i],Dropzone.isBrowserSupported=function(){var a=!0;if(window.File&amp;&amp;window.FileReader&amp;&amp;window.FileList&amp;&amp;window.Blob&amp;&amp;window.FormData&amp;&amp;document.querySelector)if(\"classList\"in document.createElement(\"a\"))for(var b=Dropzone.blacklistedBrowsers,c=0,b=b;;){var d;if(c&gt;=b.length)break;d=b[c++];var e=d;e.test(navigator.userAgent)&amp;&amp;(a=!1)}else a=!1;else a=!1;return a},Dropzone.dataURItoBlob=function(a){for(var b=atob(a.split(\",\")[1]),c=a.split(\",\")[0].split(\":\")[1].split(\";\")[0],d=new ArrayBuffer(b.length),e=new Uint8Array(d),f=0,g=b.length,h=0&lt;=g;h?f&lt;=g:f&gt;=g;h?f++:f--)e[f]=b.charCodeAt(f);return new Blob([d],{type:c})};var without=function(a,b){return a.filter(function(a){return a!==b}).map(function(a){return a})},camelize=function(a){return a.replace(/[\\-_](\\w)/g,function(a){return a.charAt(1).toUpperCase()})};Dropzone.createElement=function(a){var b=document.createElement(\"div\");return b.innerHTML=a,b.childNodes[0]},Dropzone.elementInside=function(a,b){if(a===b)return!0;for(;a=a.parentNode;)if(a===b)return!0;return!1},Dropzone.getElement=function(a,b){var c=void 0;if(\"string\"==typeof a?c=document.querySelector(a):null!=a.nodeType&amp;&amp;(c=a),null==c)throw new Error(\"Invalid `\"+b+\"` option provided. Please provide a CSS selector or a plain HTML element.\");return c},Dropzone.getElements=function(a,b){var c=void 0,d=void 0;if(a instanceof Array){d=[];try{for(var e=a,f=0,e=e;!(f&gt;=e.length);)c=e[f++],d.push(this.getElement(c,b))}catch(a){d=null}}else if(\"string\"==typeof a){d=[];for(var g=document.querySelectorAll(a),h=0,g=g;!(h&gt;=g.length);)c=g[h++],d.push(c)}else null!=a.nodeType&amp;&amp;(d=[a]);if(null==d||!d.length)throw new Error(\"Invalid `\"+b+\"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.\");return d},Dropzone.confirm=function(a,b,c){return window.confirm(a)?b():null!=c?c():void 0},Dropzone.isValidFile=function(a,b){if(!b)return!0;b=b.split(\",\");for(var c=a.type,d=c.replace(/\\/.*$/,\"\"),e=b,f=0,e=e;;){var g;if(f&gt;=e.length)break;g=e[f++];var h=g;if(h=h.trim(),\".\"===h.charAt(0)){if(-1!==a.name.toLowerCase().indexOf(h.toLowerCase(),a.name.length-h.length))return!0}else if(/\\/\\*$/.test(h)){if(d===h.replace(/\\/.*$/,\"\"))return!0}else if(c===h)return!0}return!1},\"undefined\"!=typeof jQuery&amp;&amp;null!==jQuery&amp;&amp;(jQuery.fn.dropzone=function(a){return this.each(function(){return new Dropzone(this,a)})}),\"undefined\"!=typeof module&amp;&amp;null!==module?module.exports=Dropzone:window.Dropzone=Dropzone,Dropzone.ADDED=\"added\",Dropzone.QUEUED=\"queued\",Dropzone.ACCEPTED=Dropzone.QUEUED,Dropzone.UPLOADING=\"uploading\",Dropzone.PROCESSING=Dropzone.UPLOADING,Dropzone.CANCELED=\"canceled\",Dropzone.ERROR=\"error\",Dropzone.SUCCESS=\"success\";var detectVerticalSquash=function(a){var b=(a.naturalWidth,a.naturalHeight),c=document.createElement(\"canvas\");c.width=1,c.height=b;var d=c.getContext(\"2d\");d.drawImage(a,0,0);for(var e=d.getImageData(1,0,1,b),f=e.data,g=0,h=b,i=b;i&gt;g;){0===f[4*(i-1)+3]?h=i:g=i,i=h+g&gt;&gt;1}var j=i/b;return 0===j?1:j},drawImageIOSFix=function(a,b,c,d,e,f,g,h,i,j){var k=detectVerticalSquash(b);return a.drawImage(b,c,d,e,f,g,h,i,j/k)},ExifRestore=function(){function a(){_classCallCheck(this,a)}return _createClass(a,null,[{key:\"initClass\",value:function(){this.KEY_STR=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}},{key:\"encode64\",value:function(a){for(var b=\"\",c=void 0,d=void 0,e=\"\",f=void 0,g=void 0,h=void 0,i=\"\",j=0;;)if(c=a[j++],d=a[j++],e=a[j++],f=c&gt;&gt;2,g=(3&amp;c)&lt;&lt;4|d&gt;&gt;4,h=(15&amp;d)&lt;&lt;2|e&gt;&gt;6,i=63&amp;e,isNaN(d)?h=i=64:isNaN(e)&amp;&amp;(i=64),b=b+this.KEY_STR.charAt(f)+this.KEY_STR.charAt(g)+this.KEY_STR.charAt(h)+this.KEY_STR.charAt(i),c=d=e=\"\",f=g=h=i=\"\",!(j&lt;a.length))break;return b}},{key:\"restore\",value:function(a,b){if(!a.match(\"data:image/jpeg;base64,\"))return b;var c=this.decode64(a.replace(\"data:image/jpeg;base64,\",\"\")),d=this.slice2Segments(c),e=this.exifManipulation(b,d);return\"data:image/jpeg;base64,\"+this.encode64(e)}},{key:\"exifManipulation\",value:function(a,b){var c=this.getExifArray(b),d=this.insertExif(a,c);return new Uint8Array(d)}},{key:\"getExifArray\",value:function(a){for(var b=void 0,c=0;c&lt;a.length;){if(b=a[c],255===b[0]&amp;225===b[1])return b;c++}return[]}},{key:\"insertExif\",value:function(a,b){var c=a.replace(\"data:image/jpeg;base64,\",\"\"),d=this.decode64(c),e=d.indexOf(255,3),f=d.slice(0,e),g=d.slice(e),h=f;return h=h.concat(b),h=h.concat(g)}},{key:\"slice2Segments\",value:function(a){for(var b=0,c=[];;){var d;if(255===a[b]&amp;218===a[b+1])break;if(255===a[b]&amp;216===a[b+1])b+=2;else{d=256*a[b+2]+a[b+3];var e=b+d+2,f=a.slice(b,e);c.push(f),b=e}if(b&gt;a.length)break}return c}},{key:\"decode64\",value:function(a){var b=void 0,c=void 0,d=\"\",e=void 0,f=void 0,g=void 0,h=\"\",i=0,j=[],k=/[^A-Za-z0-9\\+\\/\\=]/g;for(k.exec(a)&amp;&amp;console.warn(\"There were invalid base64 characters in the input text.\\nValid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\\nExpect errors in decoding.\"),a=a.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");;)if(e=this.KEY_STR.indexOf(a.charAt(i++)),f=this.KEY_STR.indexOf(a.charAt(i++)),g=this.KEY_STR.indexOf(a.charAt(i++)),h=this.KEY_STR.indexOf(a.charAt(i++)),b=e&lt;&lt;2|f&gt;&gt;4,c=(15&amp;f)&lt;&lt;4|g&gt;&gt;2,d=(3&amp;g)&lt;&lt;6|h,j.push(b),64!==g&amp;&amp;j.push(c),64!==h&amp;&amp;j.push(d),b=c=d=\"\",e=f=g=h=\"\",!(i&lt;a.length))break;return j}}]),a}();ExifRestore.initClass();var contentLoaded=function(a,b){var c=!1,d=!0,e=a.document,f=e.documentElement,g=e.addEventListener?\"addEventListener\":\"attachEvent\",h=e.addEventListener?\"removeEventListener\":\"detachEvent\",i=e.addEventListener?\"\":\"on\",j=function d(f){if(\"readystatechange\"!==f.type||\"complete\"===e.readyState)return(\"load\"===f.type?a:e)[h](i+f.type,d,!1),!c&amp;&amp;(c=!0)?b.call(a,f.type||f):void 0};if(\"complete\"!==e.readyState){if(e.createEventObject&amp;&amp;f.doScroll){try{d=!a.frameElement}catch(a){}d&amp;&amp;function a(){try{f.doScroll(\"left\")}catch(b){return void setTimeout(a,50)}return j(\"poll\")}()}return e[g](i+\"DOMContentLoaded\",j,!1),e[g](i+\"readystatechange\",j,!1),a[g](i+\"load\",j,!1)}};Dropzone._autoDiscoverFunction=function(){if(Dropzone.autoDiscover)return Dropzone.discover()},contentLoaded(window,Dropzone._autoDiscoverFunction);]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-02 12:16:13&lt;/sys_created_on&gt;&lt;sys_id&gt;d684a715dbcc570086da7d5e0f961910&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;dropzone.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d684a715dbcc570086da7d5e0f961910&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-02 21:04:50&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2075673909</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>7b2b21e1db8497004e5cfa131f96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16158560ec10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>aa9d1de98c4497001ab4179da2df2400</update_guid>\n<update_guid_history>aa9d1de98c4497001ab4179da2df2400:2075673909,538dd9e91f449700b348a51b9015a2e8:2027610113,95272fd5b7cc57002e3cd7216be1ae1f:2075673909,0794a715a4cc5700da3ab4cd8c7347c4:-1470335243</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_0b56e395dbcc570086da7d5e0f9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>10</order><sp_css_include display_value=\"dropzone-basic.css\">3456e395dbcc570086da7d5e0f96198f</sp_css_include><sp_dependency display_value=\"dropzone.js\">6a342bd1dbcc570086da7d5e0f96193b</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:23:52</sys_created_on><sys_id>0b56e395dbcc570086da7d5e0f9619cf</sys_id><sys_mod_count>3</sys_mod_count><sys_name>dropzone-basic.css.dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_0b56e395dbcc570086da7d5e0f9619cf</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:06:16</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>419745963</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>7f2b21e1db8497004e5cfa131f961927</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585760220000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone-basic.css.dropzone.js</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>6fed112db94497005e26a779daa760b2</update_guid>\n<update_guid_history>6fed112db94497005e26a779daa760b2:419745963,b6eddde92f449700233adae0062b85cf:-2133379638,4466e39582cc5700fdabb452de6006c2:419745963,4b56e3959acc5700fe39a150853b67d0:1502287815</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_1d2f7b19db4097004e5cfa131f9619a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>ng-dropzone.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 14:12:42</sys_created_on><sys_id>1d2f7b19db4097004e5cfa131f9619a5</sys_id><sys_mod_count>2</sys_mod_count><sys_name>ng-dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"ng-dropzone.js\">a62fbb19db4097004e5cfa131f96190a</sys_ui_script><sys_update_name>sp_js_include_1d2f7b19db4097004e5cfa131f9619a5</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:07:07</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-49592972</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>7f2b21e1db8497004e5cfa131f96192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585827870000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>ng-dropzone.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>842ed12dd1449700a61a477527c1dc20</update_guid>\n<update_guid_history>842ed12dd1449700a61a477527c1dc20:-49592972,4f1e912d374497007a7ea6424db4e9f9:1371699488,214f7b1985409700b8963c9e151abb64:-49592972</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_773d49a9db0497004e5cfa131f96196d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>773d49a9db0497004e5cfa131f96196d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop.u_image_drag_and_drop_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_image_drag_and_drop\">eb3d49a9db0497004e5cfa131f96196a</sys_security_acl><sys_update_name>sys_security_acl_role_773d49a9db0497004e5cfa131f96196d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><sys_user_role display_value=\"u_image_drag_and_drop_user\" name=\"u_image_drag_and_drop_user\">64ecc1a9db0497004e5cfa131f961958</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>298945893</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>7f2b21e1db8497004e5cfa131f96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a17a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop.u_image_drag_and_drop_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>7b3d89a9330497008ab593c5daf382b2</update_guid>\n<update_guid_history>7b3d89a9330497008ab593c5daf382b2:298945893</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_aa066395dbcc570086da7d5e0f961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-moz-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-moz-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-moz-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,0.3);background:white;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:0.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:white}.dropzone .dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;-ms-transition:opacity 0.2s linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,0.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,0.4);padding:0 0.4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity 0.4s ease-in;-moz-transition:opacity 0.4s ease-in;-ms-transition:opacity 0.4s ease-in;-o-transition:opacity 0.4s ease-in;transition:opacity 0.4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;-moz-animation:pulse 6s ease infinite;-ms-animation:pulse 6s ease infinite;-o-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,0.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom, #666, #444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width 300ms ease-in-out;-moz-transition:width 300ms ease-in-out;-ms-transition:width 300ms ease-in-out;-o-transition:width 300ms ease-in-out;transition:width 300ms ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity 0.3s ease;-moz-transition:opacity 0.3s ease;-ms-transition:opacity 0.3s ease;-o-transition:opacity 0.3s ease;transition:opacity 0.3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);padding:0.5em 1.2em;color:white}.dropzone .dz-preview .dz-error-message:after{content:'';position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}&#13;\n</css><name>dropzone.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:22:34</sys_created_on><sys_id>aa066395dbcc570086da7d5e0f961939</sys_id><sys_mod_count>3</sys_mod_count><sys_name>dropzone.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_aa066395dbcc570086da7d5e0f961939</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:08:13</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>1886352243</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>b32b21e1db8497004e5cfa131f961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585929d50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>986e552d424497007b8ebfa9e3a43c89</update_guid>\n<update_guid_history>986e552d424497007b8ebfa9e3a43c89:1886352243,f25ed12dad449700dfc98de1865cc4e3:-1100949779,2768ab1945cc5700759c7031baadb29f:1886352243,0c16ef5533cc5700b67496e9e38fe6f9:1876755694</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_image_drag_and_drop_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name Image\" language=\"en\" table=\"u_image_drag_and_drop\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name Image</label><language>en</language><name>u_image_drag_and_drop</name><plural>Name Images</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:54:04</sys_created_on><sys_id>4e6dc9a9db0497004e5cfa131f961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name Image</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_image_drag_and_drop_u_name_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:54:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-716343035</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>b32b21e1db8497004e5cfa131f96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161581547b10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop.Name Image</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>0a6d4da970049700d7cc3979a4392661</update_guid>\n<update_guid_history>0a6d4da970049700d7cc3979a4392661:-716343035,4a6dc9a9740497007391921f2db20a9d:-716343035</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_2d4f7b19db4097004e5cfa131f961964</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"dropzone.js\">6a342bd1dbcc570086da7d5e0f96193b</sp_dependency><sp_js_include display_value=\"ng-dropzone.js\">1d2f7b19db4097004e5cfa131f9619a5</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 14:12:42</sys_created_on><sys_id>2d4f7b19db4097004e5cfa131f961964</sys_id><sys_mod_count>2</sys_mod_count><sys_name>dropzone.js.ng-dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_2d4f7b19db4097004e5cfa131f961964</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:05:54</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1651017052</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>b72b21e1db8497004e5cfa131f961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585708c30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.js.ng-dropzone.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>82dddde9c144970017ae6af7cb5b4eec</update_guid>\n<update_guid_history>82dddde9c144970017ae6af7cb5b4eec:-1651017052,09dddde94d4497000bb0a53df20179b9:-721856957,214f7b192e40970042d6c75bc6b34566:-1651017052</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_213d89a9db0497004e5cfa131f96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>true</create_access><create_access_controls>true</create_access_controls><delete_access>true</delete_access><extension_model/><is_extendable>false</is_extendable><label>Image Drag And Drop</label><live_feed_enabled>false</live_feed_enabled><name>u_image_drag_and_drop</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>213d89a9db0497004e5cfa131f96193f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Image Drag And Drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_213d89a9db0497004e5cfa131f96193f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:16:58</sys_updated_on><update_access>true</update_access><user_role display_value=\"u_image_drag_and_drop_user\" name=\"u_image_drag_and_drop_user\">64ecc1a9db0497004e5cfa131f961958</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>2021256483</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>b72b21e1db8497004e5cfa131f96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161582a3ded0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>a1a299ad920497002cfafff0c07352c8</update_guid>\n<update_guid_history>a1a299ad920497002cfafff0c07352c8:2021256483,15a219ad6e0497006872ea0cad69e9f8:202257392,333d89a9ff0497004faf92cc9dedf1e4:-693985202</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_a62fbb19db4097004e5cfa131f96190a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;ng-dropzone.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(e){\"use strict\";function o(e,o){e.module(\"thatisuday.dropzone\",[]).provider(\"dropzoneOps\",function(){var o={};return{setOptions:function(t){e.extend(o,t)},$get:function(){return o}}}).directive(\"ngDropzone\",[\"$timeout\",\"dropzoneOps\",function(t,n){return{restrict:\"AE\",template:\"&lt;div&gt;&lt;/div&gt;\",replace:!0,scope:{options:\"=?\",callbacks:\"=?\",methods:\"=?\"},link:function(t,r,l){t.options=t.options||{};var i=e.extend({},n,t.options),s=new o(r[0],i);t.methods=t.methods||{},t.methods.getDropzone=function(){return s},t.methods.getAllFiles=function(){return s.files};var a=[\"removeFile\",\"removeAllFiles\",\"processQueue\",\"getAcceptedFiles\",\"getRejectedFiles\",\"getQueuedFiles\",\"getUploadingFiles\",\"disable\",\"enable\",\"confirm\",\"createThumbnailFromUrl\"];if(e.forEach(a,function(e){t.methods[e]=function(){s[e].apply(s,arguments),t.$$phase||t.$root.$$phase||t.$apply()}}),t.callbacks){var p=[\"drop\",\"dragstart\",\"dragend\",\"dragenter\",\"dragover\",\"dragleave\",\"addedfile\",\"removedfile\",\"thumbnail\",\"error\",\"processing\",\"uploadprogress\",\"sending\",\"success\",\"complete\",\"canceled\",\"maxfilesreached\",\"maxfilesexceeded\",\"processingmultiple\",\"sendingmultiple\",\"successmultiple\",\"completemultiple\",\"canceledmultiple\",\"totaluploadprogress\",\"reset\",\"queuecomplete\"];e.forEach(p,function(o){var n=t.callbacks[o]||e.noop;s.on(o,function(){n.apply(null,arguments),t.$$phase||t.$root.$$phase||t.$apply()})})}}}}])}\"object\"==typeof module&amp;&amp;module.exports?module.exports=o(require(\"angular\"),require(\"dropzone\")):\"function\"==typeof define&amp;&amp;define.amd?define([\"angular\",\"dropzone\"],o):o(e.angular,e.Dropzone)}(this);\n//# sourceMappingURL=ng-dropzone.min.js.map\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-02 14:12:40&lt;/sys_created_on&gt;&lt;sys_id&gt;a62fbb19db4097004e5cfa131f96190a&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;ng-dropzone.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_a62fbb19db4097004e5cfa131f96190a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-02 21:07:20&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-804652980</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>b72b21e1db8497004e5cfa131f96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585859540000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>ng-dropzone.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>c72e912d594497001c399178d361b0fe</update_guid>\n<update_guid_history>c72e912d594497001c399178d361b0fe:-804652980,ca2ed12dbd449700a9b3492dcce45523:-2045737814,b04fbb19254097004aaae0d78b076d10:-804652980</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_6a342bd1dbcc570086da7d5e0f96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>dropzone.js</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:14:40</sys_created_on><sys_id>6a342bd1dbcc570086da7d5e0f96193b</sys_id><sys_mod_count>4</sys_mod_count><sys_name>dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_6a342bd1dbcc570086da7d5e0f96193b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:04:00</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>180696633</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>bb2b21e1db8497004e5cfa131f96192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16158554ce20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.js</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>9a6d99e9404497001027feeb204d141f</update_guid>\n<update_guid_history>9a6d99e9404497001027feeb204d141f:180696633,2d6d99e91c449700688e6c7097d458b8:-1914770643,a04d19e91244970015dd9dc4a7484147:180696633,1b3d19e9b1449700db252b1979b2978f:-1914770643,5044a3d112cc57007b9be7bcdc737cd3:180696633</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_333d89a9db0497004e5cfa131f9619bb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>333d89a9db0497004e5cfa131f9619bb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop.u_image_drag_and_drop_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_image_drag_and_drop\">3b3d89a9db0497004e5cfa131f9619b8</sys_security_acl><sys_update_name>sys_security_acl_role_333d89a9db0497004e5cfa131f9619bb</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><sys_user_role display_value=\"u_image_drag_and_drop_user\" name=\"u_image_drag_and_drop_user\">64ecc1a9db0497004e5cfa131f961958</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-88218754</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>bb2b21e1db8497004e5cfa131f96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a2160000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop.u_image_drag_and_drop_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>7f3d89a960049700e7abd2faac39f0bc</update_guid>\n<update_guid_history>7f3d89a960049700e7abd2faac39f0bc:-88218754</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_47f52395dbcc570086da7d5e0f9619a9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>dropzone.css</name><source>local</source><sp_css display_value=\"dropzone.css\">aa066395dbcc570086da7d5e0f961939</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:22:20</sys_created_on><sys_id>47f52395dbcc570086da7d5e0f9619a9</sys_id><sys_mod_count>5</sys_mod_count><sys_name>dropzone.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_47f52395dbcc570086da7d5e0f9619a9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:08:13</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1348333790</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>bf2b21e1db8497004e5cfa131f961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585929870000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>d46e552d1f44970079db050ad6934786</update_guid>\n<update_guid_history>d46e552d1f44970079db050ad6934786:1348333790,325ed12d25449700dc66d3383bf249e0:942664331,a74ed12dc8449700bf3e76535439cadc:1348333790,2e4e552dc244970049afef94f6e8c12b:426622254,1b16a3958fcc5700d83cee138b824114:1348333790,2006ef554dcc57009fbc5238bd2256f2:-1843977530</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_3b3d89a9db0497004e5cfa131f9619b8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_image_drag_and_drop</description><name>u_image_drag_and_drop</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>3b3d89a9db0497004e5cfa131f9619b8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_3b3d89a9db0497004e5cfa131f9619b8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-251732408</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>bf2b21e1db8497004e5cfa131f96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a1f50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>f33d89a903049700a2f30701d52812ba</update_guid>\n<update_guid_history>f33d89a903049700a2f30701d52812ba:-251732408</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_cf6fbb19db4097004e5cfa131f9619b0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_css_include display_value=\"ng-dropzone.css\">005ffb19db4097004e5cfa131f961995</sp_css_include><sp_dependency display_value=\"dropzone.js\">6a342bd1dbcc570086da7d5e0f96193b</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 14:13:21</sys_created_on><sys_id>cf6fbb19db4097004e5cfa131f9619b0</sys_id><sys_mod_count>3</sys_mod_count><sys_name>ng-dropzone.css.dropzone.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_cf6fbb19db4097004e5cfa131f9619b0</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:06:31</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>1786173594</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>f32b21e1db8497004e5cfa131f961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16158579b320000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>ng-dropzone.css.dropzone.js</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>d3fd512d4a44970031fa0aa4e96e1c31</update_guid>\n<update_guid_history>d3fd512d4a44970031fa0aa4e96e1c31:1786173594,cafd512de7449700e13191e15ad40f2d:-1530445575,d97fbb19fb40970063cf61e46c87e6f2:1786173594,476fbb19a1409700392e9c4a97df8eb2:-2103505925</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a13ad35ddb8c570086da7d5e0f96191e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ImageDragAndDropController($scope) {\n  var c = this;\n  c.files = [];\n\n  // Set options for dropzone\n  $scope.dzOptions = {\n    url: '/alt_upload_url',\n    paramName: 'photo',\n    maxFilesize: '10',\n    acceptedFiles: 'image/jpeg, images/jpg, image/png',\n    addRemoveLinks: true,\n    autoProcessQueue: true\n  };\n\n  // Handle events for dropzone\n  $scope.dzCallbacks = {\n    addedfile: function(file) {\n      $scope.newFile = file;\n    },\n    success: function(file, xhr) {\n      c.server\n        .get({\n          action: 'insert',\n          name: file.name,\n          type: file.type,\n          image: file.dataURL.substring(\n            file.dataURL.indexOf('base64,') + 7,\n            file.dataURL.length\n          ),\n          uuid: file.upload.uuid\n        })\n        .then(function(response) {\n          c.files.push(response.data.file);\n          console.log('response', response.data);\n          console.log('total files for now', c.files);\n        });\n    },\n    removedfile: function(file) {\n      var fileToRemove = {};\n\n      for (i = 0; i &lt; c.files.length; i++) {\n        if (c.files[i].uuid == file.upload.uuid) {\n          fileToRemove = c.files[i];\n        }\n      }\n\n      c.server\n        .get({\n          action: 'remove',\n          file: fileToRemove\n        })\n        .then(function(response) {\n          console.log('response Delete', response.data);\n          console.log('total files for now', c.files);\n        });\n    }\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-image-drag-and-drop&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope){\n\t//sometimes, dropzone is not loaded. This below to fix the problem:\n\t//$(document).on('page:change', $(\".dropzone\").dropzone());\n\n}]]&gt;&lt;/link&gt;&lt;name&gt;Image Drag And Drop&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Table containing the record with the image attachment\",\"name\":\"table\",\"section\":\"other\",\"default_value\":\"u_image_drag_and_drop\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"The column which will contain the name of the uploaded image.\",\"name\":\"field_name\",\"section\":\"other\",\"default_value\":\"u_name\",\"label\":\"Name Field\",\"type\":\"field_name\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  data.file = {};\n  data.table = options.table;\n  data.field_name = options.field_name;\n\n  if (input) {\n    if (input.action == 'insert') {\n      data.file.name = Math.floor(Date.now() / 1000) + '-' + input.name;\n      data.file.type = input.type;\n      data.file.image = input.image;\n      data.file.uuid = input.uuid;\n\n      if (data.file.name &amp;&amp; data.file.type &amp;&amp; data.file.image) {\n        var gr = new GlideRecord(data.table);\n        gr.initialize();\n        gr[data.field_name] = data.file.name;\n        var newSysid = gr.insert();\n\n        var stringUtil = new GlideStringUtil();\n        var attachment = new Attachment();\n        var dataImage = stringUtil.base64DecodeAsBytes(data.file.image);\n        var attachment_sys_id = attachment.write(\n          data.table,\n          newSysid,\n          data.file.name,\n          data.file.type,\n          dataImage\n        );\n        data.file.attachment_sys_id = attachment_sys_id;\n        data.file.sys_id = newSysid;\n\n        data.files.push(data.file);\n      }\n    }\n\n    if (input.action == 'remove') {\n      var grDel = new GlideRecord(data.table);\n      grDel.addQuery('sys_id', input.file.sys_id);\n      grDel.query();\n      while (grDel.next()) {\n        grDel.deleteRecord();\n      }\n    }\n  }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-02 11:41:20&lt;/sys_created_on&gt;&lt;sys_id&gt;a13ad35ddb8c570086da7d5e0f96191e&lt;/sys_id&gt;&lt;sys_mod_count&gt;114&lt;/sys_mod_count&gt;&lt;sys_name&gt;Image Drag And Drop&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a13ad35ddb8c570086da7d5e0f96191e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-02 22:01:26&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;ng-dropzone class=\"dropzone\" options=\"dzOptions\" callbacks=\"dzCallbacks\" methods=\"dzMethods\"&gt;&lt;/ng-dropzone&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1407306190</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>f32b21e1db8497004e5cfa131f96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615889e1c30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>Image Drag And Drop</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>f38a25a18c84970093e1a9113297ee87</update_guid>\n<update_guid_history>f38a25a18c84970093e1a9113297ee87:-1407306190,c25ae1a1218497007b7452b6926d30d4:279619501,e9e925a158849700da6cdcc0db22087e:-772753735,409c5d295d449700a7e7e5d34735352c:-283503243,c5ebdda5dd449700bd975b443a13844d:-986558745,8f8b99a55b44970008d6912c289dbbea:-704664670,761b5965f9449700da59a3ad9513665f:-1840266230,878a91a55144970037a6053cf254bead:1940406236,da2a91a5fd449700a127993d5922674b:-1630335738,78b91d65f3449700629845e67d1ea40a:-1026759021,51b7d9253644970059a9edfbb5192a39:-1225101312,19075de106449700af2ac78aef5dd5e2:2052493143,7be65525744497009706642c0b794663:742945760,cee5d5e1e844970077007ad9f2fdefc7:-1783974876,8b7595a19e44970083c0513ef71294de:1463698725,681559a1db449700865aa2639867b007:-1581955509,deb495a1d7449700b5fddc1c8776c102:341537025,729451a19f449700cd9bc8b7afe53912:2039854987,c263d1edc704970012bbcdb4ffe69b36:-813031684,cb13d9ad4b049700ec8932674ac2ca7e:-818679934,bac259adf80497005da6093cc5cf2026:4372296,2102d16d43049700c4a0c0a5139808b3:-1835714576,0e719d2dcb049700217bd3fe68bc2f08:-1102147877,6971112d70049700c7bf3ec07db85a34:1198802073,5a51d12db9049700d8b25e9dffa50c6b:1907595005,3631112de40497000924ed351f0c6e30:-1438566361,a2009de94a049700749b47f3f75e2f66:893895786,5f8f8de9e70497008e7f2b320138ac8a:53471239,667f8de97904970070140e74281a905f:-1994738340,4e6f4da9610497005578018d225908d5:1226321748,a73ec1e9da0497000f69d85cf73773fc:-2120652152,ec8c4d69e80497006c6d5e3c447717b3:-1019653995,095cc9699d04970010a409173db62516:37851303,992c4969f4049700e681936afcf12f3f:-1963348614,4d0c4969350497004ed7d74d57948b38:1310316262,01ab41692004970041b27944ba70fa5b:2011011301,8c1b01697a049700f6322becc7a5b7e7:2056639594,03da8929140497008cc10402cad92bac:1681481680,d1334165220497005db0ee6db6237946:1676835266,1023cd2574049700795d1b51ad3929ba:-1174926344,0af2cde12c04970047bcac8261efd1da:-1740333973,12d2c9257d0497002ab7d57eee0e8ea9:-470627581,ddb20d25af04970073dd02fcd5a06b15:505087922,18a289254b049700ed03f5f44fc73518:371195982,4c6241255a0497005c279131b0d2e601:-1448741148,eea049616b0497002c068ea793fa395b:-1344369710,69208561c1049700b129757ee8603509:-1448741148,4400c161cc049700fd51fb0c9e6bc164:777227821,bddf3c21310497003166a8fb7ee6f5c9:-1059933779,451fbceddfc09700414ed01ffc9af7b3:-1084406163,0cfe74215b0497003848439fbedb80fa:-105709014,d2ee742187049700a08c0d0bcd01d6a0:-1609249052,84ee742113049700513497da25f2c3f2:-536733900,6cbdb46d63c09700d7ced98d28d9ec1c:394662186,e67d7c6d53c09700e34cd5f22268db73:806710928,7ccc706d4fc0970020bd7a9766617e4f:-1957177518,173bbce9dbc0970067972fa886c506b6:853272084,282bb8e9b7c09700b0611e3cffbc8958:1953261433,2ec8bce97dc09700dd2e2207d4d78b55:901073424,0a58b0e958c09700c0e129b1bb8ad2ce:-1471858926,b018b0e960c0970050abb2dcd59b41c1:1507978500,f6e7b0e92fc097000c0d21f745206fba:-400444717,8a77f429d4c0970087d0027a189d0b90:1972325661,60cf9c6d6c8097005e29f2170c082a94:817768053,0a39c4ed13409700ac0c7b1fdfbea80b:-1170055288,7ef880213f8097007cb79e8182a74d46:852430833,3cb884edde40970024d562d0a33c89d3:60230401,9b18c86db74097009125a2b32c507866:1894018693,ae56442d674097007bc778857b54fc00:-314656243,2ca5042d58409700d13ae19c84293a14:363799494,f275042d6f4097005465dba19e1d5ffa:434290145,6c42c8a962409700797234a025535592:-1985940679,7d5180a92e40970076e59820807abcc1:-877532982,700180a90b4097005f2ce622084735b8:284190546,4a904c69bd409700647fdf20e3f5d62c:507771630,768048692b4097008b715211c0c8a5db:-1659975026,4f208469af409700e6bce8a51bb4c9bb:1089200194,c800446902409700f57795ad309bf50d:1974868715,1afff759e0409700cf4a0cbbb7a8c8ed:-305594698,31df3359df409700c612c03ff631bf96:1974868715,e58f7f19ec409700b8bdb75bd1df4087:-1530681924,be8cf7958a4097006f87005113013417:1172839157,465cf795914097009560efd603eec012:-718596573,d4eb3795574097001786d3842d053bd3:2054738422,976bbb55344097000c0d6dba45b60ed6:278475972,3169fb1580409700a11a79a6f0a8b1d5:-590383351,b7097b150c4097004545d7e93255933a:-446761363,2cb87315794097005c24c100c44932e9:-633385306,31f777d1f64097006eeb2a0b236b89d0:1500305579,5fd7b7d1c24097006bf20f55e2aa4a65:1561134880,a93a6f9953cc5700c0be8151af6b7bdf:48379759,0549635945cc57005c76eec95b5f76a8:1775274764,2bc7271941cc5700e8a1cd2229030c70:-1442129897,4897a3194fcc57002cbab44bb857d119:-1001230144,30c4e715c6cc570036c1e70bc1ab3052:-902113079,f134e7d1c3cc57004d40d128d474a1e6:-1914320602,4993a3d1f9cc5700adbaff6ed8054e6c:1030297966,8753af91f4cc5700223bdc8fd6338acb:2002131577,9013af91a0cc5700c28f3bd606e6163b:-1870607311,52f2a79105cc5700776c63b907d5d173:-2134133418,4302679171cc5700a976c60dc60b5d11:-886888222,61f127919acc57009c4de1d1241c0fc3:-2128555785,0f912f51dccc5700b58e37d10f2222e0:1032333510,0021a351e6cc570014fd329237b39c6e:1055113532,4640a7517acc5700cfd269035f84a0df:1172300086,4e30a75181cc5700b7ef22f77b14df3d:-1571765358,f0ef5351d8cc57007edc1bc253d52d67:993277981,40df5351fccc57002d0832d4e7cff160:-439272761,a4afdf11f2cc5700cd91194c7efe8de1:1543195191,c89fdb110dcc5700fc95b02d559bf23c:-1619646741,d57f1f11c6cc57006ebe919b719e35c6:-1403064691,fd4f5bdd1e8c57001363ae23bb17257f:-940892423,b11f9b11cacc57004c888c51c0924baf:1027009561,990e931172cc5700e681412267bc6a5f:-707217862,90ac579d5b8c57009b9b4b1f1c7592b5:-167421252</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_bf3d89a9db0497004e5cfa131f9619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>bf3d89a9db0497004e5cfa131f9619b5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop.u_image_drag_and_drop_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_image_drag_and_drop\">b73d89a9db0497004e5cfa131f9619b3</sys_security_acl><sys_update_name>sys_security_acl_role_bf3d89a9db0497004e5cfa131f9619b5</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><sys_user_role display_value=\"u_image_drag_and_drop_user\" name=\"u_image_drag_and_drop_user\">64ecc1a9db0497004e5cfa131f961958</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1741049985</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>f32b21e1db8497004e5cfa131f96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a1ca0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop.u_image_drag_and_drop_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>fb3d89a9a204970014873a61212cecb7</update_guid>\n<update_guid_history>fb3d89a9a204970014873a61212cecb7:-1741049985</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_ea6f3f19db4097004e5cfa131f96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>ng-dropzone.min.css</name><source>local</source><sp_css display_value=\"ng-dropzone.min.css\">c06f3f19db4097004e5cfa131f961908</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 14:13:19</sys_created_on><sys_id>ea6f3f19db4097004e5cfa131f96190b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>ng-dropzone.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_ea6f3f19db4097004e5cfa131f96190b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:08:38</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>-153969124</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>f72b21e1db8497004e5cfa131f96192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161585989140000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>ng-dropzone.min.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>ce7e952d814497000e4a012ae022d6ee</update_guid>\n<update_guid_history>ce7e952d814497000e4a012ae022d6ee:-153969124,017ed52dc744970038323d05dc4c7973:-339851337,ee6f3f196140970018e8e2cccf6eac0c:-153969124</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_eb3d49a9db0497004e5cfa131f96196a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_image_drag_and_drop</description><name>u_image_drag_and_drop</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:22</sys_created_on><sys_id>eb3d49a9db0497004e5cfa131f96196a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_eb3d49a9db0497004e5cfa131f96196a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:22</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>988347224</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>f72b21e1db8497004e5cfa131f96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a14d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>u_image_drag_and_drop</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>2b3d49a99f049700c5dafa74ce6e826c</update_guid>\n<update_guid_history>2b3d49a99f049700c5dafa74ce6e826c:988347224</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_3456e395dbcc570086da7d5e0f96198f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>dropzone-basic.css</name><source>local</source><sp_css display_value=\"dropzone-basic.css\">16766795dbcc570086da7d5e0f9619a2</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:23:52</sys_created_on><sys_id>3456e395dbcc570086da7d5e0f96198f</sys_id><sys_mod_count>5</sys_mod_count><sys_name>dropzone-basic.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_3456e395dbcc570086da7d5e0f96198f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:07:44</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>148359246</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>fb2b21e1db8497004e5cfa131f961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615858b8380000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone-basic.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>894e152d534497001f092cd33bde3974</update_guid>\n<update_guid_history>894e152d534497001f092cd33bde3974:148359246,9c4e152de4449700acb50fde8ea74f5d:-257549063,b93ed12d894497008d79810637f0d002:148359246,a83ed12d74449700c01a4ad5f433dd79:832639388,9986a79553cc57004a5dcdb5c239b3a4:148359246,4f56e39552cc5700946498042cb4e3ce:-1163917146</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_91a219addb0497004e5cfa131f9619f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"u_image_drag_and_drop\">u_image_drag_and_drop</category><maximum_digits>7</maximum_digits><number>10000</number><prefix>IMG</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 20:16:58</sys_created_on><sys_id>91a219addb0497004e5cfa131f9619f3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>IMG</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_91a219addb0497004e5cfa131f9619f3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 20:16:58</sys_updated_on></sys_number></record_update>]]></payload>\n<payload_hash>-291313318</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>fb2b21e1db8497004e5cfa131f96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161582a3d5f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>IMG</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_guid>dda299ad2a04970050e0f10ad0e00ac2</update_guid>\n<update_guid_history>dda299ad2a04970050e0f10ad0e00ac2:-291313318</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_16766795dbcc570086da7d5e0f9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>.dropzone,.dropzone *{box-sizing:border-box}.dropzone{position:relative}.dropzone .dz-preview{position:relative;display:inline-block;width:120px;margin:0.5em}.dropzone .dz-preview .dz-progress{display:block;height:15px;border:1px solid #aaa}.dropzone .dz-preview .dz-progress .dz-upload{display:block;height:100%;width:0;background:green}.dropzone .dz-preview .dz-error-message{color:red;display:none}.dropzone .dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-error .dz-error-mark{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{position:absolute;display:none;left:30px;top:30px;width:54px;height:58px;left:50%;margin-left:-27px}&#13;\n</css><name>dropzone-basic.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 12:24:30</sys_created_on><sys_id>16766795dbcc570086da7d5e0f9619a2</sys_id><sys_mod_count>3</sys_mod_count><sys_name>dropzone-basic.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_16766795dbcc570086da7d5e0f9619a2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 21:07:44</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>-617252240</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>ff2b21e1db8497004e5cfa131f961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615858b86f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>dropzone-basic.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>4d4e152d944497004db141d125a4c977</update_guid>\n<update_guid_history>4d4e152d944497004db141d125a4c977:-617252240,504e152d30449700f6e4bdee985f4b61:-1886964212,f688235984cc57004248cdb327c4df11:-617252240,688667950ccc5700d9f96adf29e017cb:-1613161610</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_image_drag_and_drop_u_number</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_number\" table=\"u_image_drag_and_drop\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;ignore_filter_on_new=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Number&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;javascript:global.getNextObjNumberPadded();&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_number&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_image_drag_and_drop&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-02 20:16:58&lt;/sys_created_on&gt;&lt;sys_id&gt;15a219addb0497004e5cfa131f9619f9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Number&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_image_drag_and_drop_u_number&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-02 20:16:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2042338113</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>ff2b21e1db8497004e5cfa131f96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>161582a3d190000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table>u_image_drag_and_drop</table>\n<target_name>Image Drag And Drop.Number</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>99a299ad6f049700197d6f87b24f15c0</update_guid>\n<update_guid_history>99a299ad6f049700197d6f87b24f15c0:2042338113</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_f73d89a9db0497004e5cfa131f9619df</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_image_drag_and_drop</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-02-02 19:53:23</sys_created_on><sys_id>f73d89a9db0497004e5cfa131f9619df</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_image_drag_and_drop</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_f73d89a9db0497004e5cfa131f9619df</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-02-02 19:53:23</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>2143309082</payload_hash>\n<remote_update_set display_value=\"PE Widget Image Drag And Drop\">bb2b21e1db8497004e5cfa131f961927</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-02-02 22:04:10</sys_created_on>\n<sys_id>ff2b21e1db8497004e5cfa131f96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1615814a3f30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-02-02 22:04:10</sys_updated_on>\n<table/>\n<target_name>u_image_drag_and_drop</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>f33d89a92e04970050a0db1b4ee400e0</update_guid>\n<update_guid_history>f33d89a92e04970050a0db1b4ee400e0:2143309082</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-image-drag-and-drop/widget/pe-image-drag-and-drop.u-body-html-template.html",
    "content": "<div>\n  <ng-dropzone class=\"dropzone\" options=\"dzOptions\" callbacks=\"dzCallbacks\" methods=\"dzMethods\"></ng-dropzone>\n</div>\n"
  },
  {
    "path": "pe-image-drag-and-drop/widget/pe-image-drag-and-drop.u-client-script.js",
    "content": "function ImageDragAndDropController($scope) {\n  var c = this;\n  c.files = [];\n\n  // Set options for dropzone\n  $scope.dzOptions = {\n    url: '/alt_upload_url',\n    paramName: 'photo',\n    maxFilesize: '10',\n    acceptedFiles: 'image/jpeg, images/jpg, image/png',\n    addRemoveLinks: true,\n    autoProcessQueue: true\n  };\n\n  // Handle events for dropzone\n  $scope.dzCallbacks = {\n    addedfile: function(file) {\n      $scope.newFile = file;\n    },\n    success: function(file, xhr) {\n      c.server\n        .get({\n          action: 'insert',\n          name: file.name,\n          type: file.type,\n          image: file.dataURL.substring(\n            file.dataURL.indexOf('base64,') + 7,\n            file.dataURL.length\n          ),\n          uuid: file.upload.uuid\n        })\n        .then(function(response) {\n          c.files.push(response.data.file);\n          console.log('response', response.data);\n          console.log('total files for now', c.files);\n        });\n    },\n    removedfile: function(file) {\n      var fileToRemove = {};\n\n      for (i = 0; i < c.files.length; i++) {\n        if (c.files[i].uuid == file.upload.uuid) {\n          fileToRemove = c.files[i];\n        }\n      }\n\n      c.server\n        .get({\n          action: 'remove',\n          file: fileToRemove\n        })\n        .then(function(response) {\n          console.log('response Delete', response.data);\n          console.log('total files for now', c.files);\n        });\n    }\n  };\n}\n"
  },
  {
    "path": "pe-image-drag-and-drop/widget/pe-image-drag-and-drop.u-option-schema.json",
    "content": "[\n  {\n    \"hint\": \"Table containing the record with the image attachment\",\n    \"name\": \"table\",\n    \"section\": \"other\",\n    \"default_value\": \"u_image_drag_and_drop\",\n    \"label\": \"Table\",\n    \"type\": \"string\"\n  },\n  {\n    \"hint\": \"The column which will contain the name of the uploaded image.\",\n    \"name\": \"field_name\",\n    \"section\": \"other\",\n    \"default_value\": \"u_name\",\n    \"label\": \"Name Field\",\n    \"type\": \"field_name\"\n  }\n]\n"
  },
  {
    "path": "pe-image-drag-and-drop/widget/pe-image-drag-and-drop.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  data.file = {};\n  data.table = options.table;\n  data.field_name = options.field_name;\n\n  if (input) {\n    if (input.action == 'insert') {\n      data.file.name = Math.floor(Date.now() / 1000) + '-' + input.name;\n      data.file.type = input.type;\n      data.file.image = input.image;\n      data.file.uuid = input.uuid;\n\n      if (data.file.name && data.file.type && data.file.image) {\n        var gr = new GlideRecord(data.table);\n        gr.initialize();\n        gr[data.field_name] = data.file.name;\n        var newSysid = gr.insert();\n\n        var stringUtil = new GlideStringUtil();\n        var attachment = new Attachment();\n        var dataImage = stringUtil.base64DecodeAsBytes(data.file.image);\n        var attachment_sys_id = attachment.write(\n          data.table,\n          newSysid,\n          data.file.name,\n          data.file.type,\n          dataImage\n        );\n        data.file.attachment_sys_id = attachment_sys_id;\n        data.file.sys_id = newSysid;\n\n        data.files.push(data.file);\n      }\n    }\n\n    if (input.action == 'remove') {\n      var grDel = new GlideRecord(data.table);\n      grDel.addQuery('sys_id', input.file.sys_id);\n      grDel.query();\n      while (grDel.next()) {\n        grDel.deleteRecord();\n      }\n    }\n  }\n})();\n"
  },
  {
    "path": "pe-inline-editing-data-table/README.md",
    "content": "# Inline Editing Data Table\n\n## Description\n\nThis is a drop-in replacement of the out of the box Data Table. This widget also works with conjunction with [Form with Related List](../pe-form-with-related-list/).\n\n## Screenshot\n\n![Form with Related List](../images/pe-inline-editing-data-table.gif)\n\n## Additional Information/Notes\n\n\n\n## Installation\n\nDownload and install update set **[pe-inline-editing-data-table.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-inline-editing-data-table/pe-inline-editing-data-table.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Inline Editing` | Enable inline editing for related list   | true |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-inline-editing-data-table/pe-inline-editing-data-table.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-10-03 15:01:25\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Form with Related List</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>a9b123a3db3c630093f6ff041d96191d</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-03 15:01:25</sys_created_on>\n<sys_id>dcc42f67db3c630093f6ff041d9619b5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-03 15:01:25</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_9d921fc673302300b10080844ff6a7fe</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function InlineEditingTableController($scope, $location, spUtil, amb, $http, spAriaUtil, $timeout, spNavStateManager) {\n\tvar c = this;\n    c.makeEditable = makeEditable;\n\t/*\n\t * options:\n\t * hide_footer (bool) = true to remove the data table footer contents\n\t * hide_header (bool) = true to remove the data table header contents\n\t * show_new (bool) = true to show the \"New\" record button\n\t * show_keywords (bool) = true to show the keyword search field\n\t * table (string) = the table name to query\n\t * filter (string) = the encoded query\n\t * o (string) = the order by column\n\t * d (string) = The order by direction: asc or desc\n\t * p (int) = the page to jump to\n\t * fields (string) = comma seperated list of fields that become the list columns\n\t * view (string) = the default view to load for columns, overrides fields\n\t*/\n\n\t$scope.exportTypes = [{label:'PDF', value: 'PDF'}, {label:'Excel', value:'EXCEL'}, {label:'CSV', value:'CSV'}];\n\tvar keys = ['table', 'filter', 'p', 'o', 'd'];\n\n\tvar eventNames = {\n\t\tclick: 'data_table.click',\n\t\tsetFilter: 'data_table.setFilter',\n\t\tsetKeywords: 'data_table.setKeywords'\n\t};\n\n\t$scope.go = function(table, item) {\n\t\tspNavStateManager.onRecordChange(table).then(function() {\n\t\tvar parms = {};\n\t\tparms.table = table;\n\t\tparms.sys_id = item.sys_id;\n\t\tparms.record = item;\n\t\t$scope.ignoreLocationChange = true;\n\t\tfor (var x in c.data.list) {\n\t\t\tc.data.list[x].selected = false;\n\t\t}\n\t\titem.selected = true;\n\t\t$scope.$emit(eventNames.click, parms);\n\t\t}, function() {\n\t\t\t// do nothing in case of closing the modal by clicking on x\n\t\t});\n\t};\n\n\t$scope.newRecord = function(){\n\t\tvar parms = {\n\t\t\tid: 'form',\n\t\t\ttable: $scope.data.table,\n\t\t\tview: $scope.data.view,\n\t\t\tsys_id: '-1'\n\t\t};\n\t\tif ($scope.data.filter != '')\n\t\t\tparms.query = $scope.data.filter;\n\n\t\t$location.search(parms);\n\t};\n\n\tfunction recoverStateFromUrl() {\n\t\t$scope.data.fields = [];\n\t\tvar s = $location.search();\n\t\tfor (var x in keys) {\n\t\t\tif (s[keys[x]]) {\n\t\t\t\t$scope.data[keys[x]] = s[keys[x]];\n\t\t\t}\n\t\t}\n\t\t$scope.server.update().then(function(data) {\n\t\t\tif (s.sys_id) {\n\t\t\t\tfor (var x in data.list) {\n\t\t\t\t\tif (data.list[x].sys_id == s.sys_id) {\n\t\t\t\t\t\t$scope.go(s.table, data.list[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tif ($scope.options.fromUrl) {\n\t\tvar origSearch = $location.search();\n\t\t$scope.$on('$locationChangeSuccess', function(e) {\n\t\t\tvar s = $location.search();\n\t\t\tif (origSearch.id !== s.id)\n\t\t\t\treturn;\n\n\t\t\tif ($scope.ignoreLocationChange){\n\t\t\t\t$scope.ignoreLocationChange = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Helps to recover state when using the browser's back button\n\t\t\trecoverStateFromUrl();\n\t\t});\n\t}\n\n\n\t$scope.getNumber = function(num) {\n\t\treturn new Array(num);\n\t}\n\n\t$scope.mathMin = function(v1,v2) {\n\t\treturn Math.min(v1,v2);\n\t}\n\n\tfunction getData(updateUrl) {\n\t\tvar f = $scope.data;\n\t\tspUtil.update($scope).then(function(data) {\n\t\t\tf.view = data.view;\n\t\t\tif ($scope.options.fromUrl &amp;&amp; updateUrl)\n\t\t\t\tsetPermalink(f.table, f.filter, f.o, f.d, f.p);\n\n\t\t\tif ($scope.options.show_breadcrumbs &amp;&amp; data.filterBreadcrumbs)\n\t\t\t\t$scope.$broadcast('widget-filter-breadcrumbs.setBreadcrumbs', data.filterBreadcrumbs.data, data.filter);\n\n\t\t\tinitRecordWatcher(f.table, f.filter);\n\t\t});\n\t}\n\n\tfunction setPermalink(table, filter, orderBy, orderDirection, page){\n\t\t$scope.ignoreLocationChange = true;\n\t\tvar search = $location.search();\n\t\tangular.extend(search, {\n\t\t\tspa: 1,\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tp: page,\n\t\t\to: orderBy,\n\t\t\td: orderDirection\n\t\t});\n\t\t$location.search(search);\n\t}\n\n\tvar watcher;\n\tfunction initRecordWatcher(table, filter){\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\n\t\tif (table &amp;&amp; filter) {\n\t\t\tvar watcherChannel = amb.getChannelRW(table, filter);\n\t\t\tamb.connect();\n\t\t\twatcher = watcherChannel.subscribe(function(message) {\n\t\t\t\tif (!message.data)\n\t\t\t\t\treturn;\n\t\t\t\tswitch(message.data.action) {\n\t\t\t\t\tcase \"change\":\n\t\t\t\t\t\tupdateRowFromRW(message);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"exit\":\n\t\t\t\t\t\t// A record was removed\n\t\t\t\t\tcase \"enter\":\n\t\t\t\t\t\t// A record was added\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tspUtil.update($scope);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction updateRowFromRW(message) {\n\t\tif (message.data &amp;&amp; message.data.sys_id &amp;&amp; $scope.data.list) {\n\t\t\tvar row, field;\n\t\t\tfor(var i=0;i&lt;$scope.data.list.length; i++) {\n\t\t\t\trow = $scope.data.list[i];\n\t\t\t\tif (row.sys_id == message.data.sys_id) {\n\t\t\t\t\tvar fields = Object.getOwnPropertyNames(message.data.record);\n\t\t\t\t\tfor(var f in fields) {\n\t\t\t\t\t\tfield = fields[f];\n\t\t\t\t\t\tif(typeof row[field] !== 'undefined') {\n\t\t\t\t\t\t    row[field].display_value = message.data.record[field].display_value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t$scope.$on('$destroy', function() {\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\t});\n\n\t$scope.setPageNum = function(num) {\n\t\t$scope.data.p = num;\n\t\tgetData(true);\n\t\t$timeout(function() {\n\t\t\t$scope.focusOnTableHeader();\n\t\t});\n\t}\n\n\t$scope.setOrderBy = function(field) {\n\t\tvar d = \"asc\";\n\t\tif ($scope.data.o == field) {\n\t\t\tif ($scope.data.d == \"asc\")\n\t\t\t\td = \"desc\";\n\t\t\telse\n\t\t\t\td = \"asc\";\n\t\t}\n\n\t\tif (d === \"asc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByAsc);\n\t\t} else if (d === \"desc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByDesc);\n\t\t}\n\n\t\t$scope.data.o = field;\n\t\t$scope.data.d = d;\n\t\t$scope.setSearch(true);\n\t}\n\n\t$scope.setSearch = function(updateUrl) {\n\t\t$scope.data.p = 1;\n\t\tgetData(updateUrl);\n\t}\n\n\t$scope.$on(eventNames.setFilter, function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on(eventNames.setKeywords, function(e, keywords){\n\t\t$scope.data.keywords = keywords;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on('widget-filter-breadcrumbs.queryModified', function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(true);\n\t});\n\n\t$scope.rowsWerePruned = function() {\n\t\tif (!$scope.data.list)\n\t\t\treturn;\n\n\t\t$scope.rowsPruned = $scope.mathMin($scope.data.window_end,$scope.data.row_count) - $scope.data.window_start - $scope.data.list.length;\n\t\treturn $scope.rowsPruned &gt; 0;\n\t}\n\n\t$scope.showFilter = function() {\n\t\treturn !$scope.data.list.length &amp;&amp; !$scope.data.num_pages &amp;&amp; !$scope.data.invalid_table &amp;&amp; !$scope.loadingData;\n\t}\n\n\tc.appendQuery = function(query){\n\t\tif ($scope.data.filter.length &gt; 1)\n\t\t\t$scope.data.filter += '^';\n\t\t$scope.data.filter += query;\n\t\t\t$scope.setSearch();\n\n\t}\n\n\t// Makes Widget Async\n\t$scope.data = $scope.options;\n\t$scope.loadingData = true;\n\t$scope.server.update().then(function() {\n\t\tif ($scope.data.newButtonUnsupported)\n\t\t\tconsole.log(\"Service Portal: New button not supported for sys_attachment list\");\n\t\t$scope.loadingData = false;\n\t\tinitRecordWatcher($scope.data.table, $scope.data.filter);\n\t});\n\n\tfunction parseQuery(table, queryString){\n\t\treturn $http.post('/api/now/sp/parsequery/' + table, queryString).then(function(response){\n\t\t\t\treturn response.data.result;\n\t\t});\n\t}\n\n\tc.createQueryTerm = function(table, field, sys_id, operator){\n\t\treturn $http.get('/api/now/sp/getInOutQueryTerm', {\n\t\t\tparams: {\n\t\t\t\ttable: table,\n\t\t\t\tsys_id: sys_id,\n\t\t\t\tfield: field,\n\t\t\t\toperator: operator\n\t\t\t}\n\t\t}).then(function(response){\n\t\t\tif (response &amp;&amp; response.data &amp;&amp; response.data.result)\n\t\t\t\treturn response.data.result.parts;\n\t\t});\n\t}\n\n\tc.showMatching = function(field, newTerm) {\n\t\tvar queryString = $scope.data.filter;\n\t\tvar eq = \"\";\n\t\tparseQuery($scope.data.table, queryString).then(function(oldTerms) {\n\t\t\tfor(var i=0; i&lt;oldTerms.length; i++){\n\t\t\t\tvar term = oldTerms[i];\n\t\t\t\tif (isSameField(newTerm, term))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\t\t\teq += getEncodedTerm(term);\n\t\t\t}\n\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\t\t\teq += getEncodedTerm(newTerm);\n\n\t\t\t$scope.data.filter = eq;\n\t\t\t$scope.setSearch();\n\t\t});\n\t};\n\n\tc.filterOut = function(field, newTerm) {\n\t\tvar eq = $scope.data.filter;\n\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\teq += getEncodedTerm(newTerm);\n\t\t$scope.data.filter = eq;\n\t\t$scope.setSearch();\n\t};\n\n\tfunction isSameField(t1, t2) {\n\t\tif ('left' in t1 &amp;&amp; 'left' in t2)\n\t\t\treturn t1.left.query_term_field === t2.left.query_term_field;\n\t\telse if ('left' in t1)\n\t\t\treturn t1.left.query_term_field === t2.query_term_field;\n\t\telse if ('left' in t2)\n\t\t\treturn t1.query_term_field === t2.left.query_term_field;\n\t\treturn t1.query_term_field === t2.query_term_field;\n\t}\n\n\tfunction getEncodedTerm(term) {\n\t\tvar eq;\n\t\tif (term.left) {\n\t\t\teq = getEncodedTerm(term.left);\n\t\t\teq += '^OR';\n\t\t\teq += getEncodedTerm(term.right);\n\t\t} else {\n\t\t\teq = term.query_term_field;\n\t\t\teq += term.operator;\n\t\t\teq += term.value;\n\t\t}\n\t\treturn eq;\n\t}\n\n\tfunction makeEditable(item, field) {\n        c.server.get({\n            action: 'INLINE_EDIT',\n            table: c.data.table,\n            sys_id: item.sys_id,\n            field: field\n        }).then(function (value) {\n            item[field].inline = value.data.inlineForm._fields[field];\n        });\n    }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel-heading {\n  padding-left: 8px;\n}\n\nthead {\n  border-bottom: 1px solid #ddd;\n}\n\ntable {\n  margin-bottom: 0;\n}\n\n.table &amp;gt; thead &amp;gt; tr &amp;gt; th {\n  border: 1px solid #ddd;\n  cursor: pointer;\n  vertical-align: middle;\n\n  &amp;amp;:nth-child(2) {\n    border-left: none;\n  }\n\n\n\n  &amp;amp;:last-child {\n    border-right: none;\n  }\n}\n\nth i {\n  display: inline-block;\n  margin-left: 5px;\n  color: #A0A0A0;\n}\n\nth .disabled{\n  color:#ddd;\n}\n\n.th-title {\n  display: inline-block;\n  color: $primary;\n}\n\n.panel-body {\n  overflow: auto;\n  padding: 0px;\n}\n\n\n.selected {\n  color: #fff;\n  background-color: #909090;\n  border-color: 1px solid #fff;\n}\n\ntbody tr:last-child {\n  border-bottom: none;\n}\n\n.pruned-msg {\n  padding-bottom: 10px;\n  padding-left: 4px;\n  text-align: center;\n}\n\n.pruned-msg-filter-pad {\n  padding-top:8px;\n}\n\n.filter-breadcrumbs {\n  border-bottom: 1px solid #ddd;\n  padding-top: 3px;\n}\n\n.dropdown-toggle {\n  background: none;\n  padding: 0 0 4px 0;\n}\n\n.sp-list-cell {\n  white-space: pre-wrap;\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px;\n\t}\n}\n\n\n\n.sp-list-cell {\n  white-space: normal;\n}\n\n.inline-field {\n  white-space: normal;\n  label {\n    display: none;\n  }\n  .form-group {\n    margin-bottom: 0;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data&gt;{\"data\":\n\t{\n\t\t\"table\": \"incident\",\n\t\t\"view\": \"default\",\n\t\t\"o\": \"opened_at\",\n\t\t\"d\": \"desc\",\n\t\t\"filter\": \"activeEQtrue\",\n\t\t\"p\": 1,\n\t\t\"fields\": \"number,short_description\"\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,filter,field_list,maximum_entries,order,order_by,order_direction,title,color,glyph,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;inline-editing-data-table&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function InlineEditingTableLink(scope, element, attrs, ctrl) {\n\tvar $ul, $contextMenu;\n\n\tscope.focusOnTableHeader = function() {\n\t\telement.find(\".data-table-title\").attr(\"tabindex\", \"-1\").focus();\n\t}\n\n\telement.on('contextmenu', function(e){\n\t\tif (e.ctrlKey)\n\t\t\treturn; // ctrlKey is for the debug menu, not this menu\n\n\t\tvar rowScope = angular.element(e.target).scope();\n\t\tvar field, item, fieldVal;\n\n\t\t// Context Menu for tbody\n\t\tif (angular.isDefined(rowScope.field) &amp;&amp; angular.isDefined(rowScope.item)){\n\t\t\te.preventDefault();\n\t\t\tfield = rowScope.field;\n\t\t\titem = rowScope.item;\n\t\t\tfieldVal = item[field].value;\n\n\t\t\tvar items = [\n\t\t\t\t['${Show Matching}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '=').then(function(term){\n\t\t\t\t\t\tctrl.showMatching(field, term);\n\t\t\t\t\t});\n\t\t\t\t}],\n\t\t\t\t['${Filter Out}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '!=').then(function(term){\n\t\t\t\t\t\tctrl.filterOut(field, term);\n\t\t\t\t\t});\n\t\t\t\t}]\n\t\t\t];\n\n\t\t\trenderContextMenu(items);\n\t\t\tsetContextMenuPosition(e);\n\t\t}\n\t});\n\n\tfunction renderContextMenu(items){\n\t\tvar scrollHeight = $('body').get(0).scrollHeight;\n\t\t$contextMenu = angular.element('&lt;div&gt;', {'class': 'dropdown clearfix context-dropdown open'});\n\n\t\t$contextMenu.on('click', function (e) {\n\t\t\tif ($(e.target).hasClass('dropdown')) {\n\t\t\t\t_clearContextMenus(event);\n\t\t\t}\n\t\t});\n\t\t$contextMenu.on('contextmenu', function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t_clearContextMenus(event);\n\t\t});\n\n\t\t$contextMenu.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\theight: scrollHeight,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 9999\n\t\t});\n\n\t\t$('body').append($contextMenu);\n\n\t\t$ul = angular.element('&lt;ul&gt;', {\n\t\t\t'class': 'dropdown-menu',\n\t\t\t'role': 'menu'\n\t\t});\n\t\trenderItems();\n\t\t$contextMenu.append($ul);\n\n\t\tfunction renderItems(){\n\t\t\tangular.forEach(items, function (item) {\n\t\t\t\tvar $li = angular.element('&lt;li&gt;');\n\n\t\t\t\tif (item === null) {\n\t\t\t\t\t$li.addClass('divider');\n\t\t\t\t} else {\n\t\t\t\t\tvar $a = angular.element('&lt;a&gt;');\n\t\t\t\t\t$a.attr({tabindex: '-1', href:'#'});\n\t\t\t\t\t$a.text(item[0]);\n\t\t\t\t\t$li.append($a);\n\t\t\t\t\t$li.on('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\t\t_clearContextMenus(e);\n\t\t\t\t\t\t\titem[1].call(item, item);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$ul.append($li);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction _clearContextMenus(event){\n\t\tif (!event){\n\t\t\treturn;\n\t\t}\n\n\t\tangular.element(event.currentTarget).removeClass('context');\n\n\t\tvar els = angular.element(\".context-dropdown\");\n\t\tangular.forEach(els, function(el){\n\t\t\tangular.element(el).remove();\n\t\t});\n\t}\n\n\tvar contextMenuItemHeight = 0;\n\tfunction setContextMenuPosition(event){\n\t\tif (contextMenuItemHeight === 0)\n\t\t\tcontextMenuItemHeight = $ul.children(0).height();\n\n\t\t// Why not just call .width() and .height() on the container? Because those calculations cause browsers to reflow\n\t\t// that can cause IE10 to take 200ms to render a context menu.\n\t\tvar cmWidth = 150;\n\t\tvar cmHeight = contextMenuItemHeight * $ul.children().length;\n\t\tvar startX = event.pageX + cmWidth &gt;= window.innerWidth ? event.pageX - cmWidth : event.pageX;\n\t\tvar startY = event.pageY + cmHeight &gt;= window.innerHeight ? event.pageY - cmHeight : event.pageY;\n\n\t\t$ul.css({\n\t\t\tdisplay: 'block',\n\t\t\tposition: 'absolute',\n\t\t\tleft: startX,\n\t\t\ttop: startY,\n\t\t\t'min-width': cmWidth\n\t\t});\n\t}\n}]]&gt;&lt;/link&gt;&lt;name&gt;Inline Editing Data Table&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"If enabled, show the list filter in the breadcrumbs of the data table\",\"name\":\"enable_filter\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Enable Filter\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tif (!input) // asynch load list\n\t\treturn;\n\n    if (input.action == 'INLINE_EDIT') {\n        var inlineForm = $sp.getForm(input.table, input.sys_id);\n        data.inlineForm = inlineForm;\n        return;\n    }\n\n    data.msg = {};\n\tdata.msg.sortingByAsc = gs.getMessage(\"Sorting by ascending\");\n\tdata.msg.sortingByDesc = gs.getMessage(\"Sorting by descending\");\n\n\t/*\n\t * data.table = the table\n\t * data.p = the current page starting at 1\n\t * data.o = the order by column\n\t * data.d = the order by direction\n\t * data.keywords = the keyword search term\n\t * data.list = the table data as an array\n\t * data.invalid_table = true if table is invalid or if data was not succesfully fetched\n\t * data.table_label = the table's display name. e.g. Incident\n\t * data.table_plural = the table's plural display name. e.g. Incidents\n\t * data.fields = a comma delimited list of field names to show in the data table\n\t * data.column_labels = a map of field name -&gt; display name\n\t * data.window_size = the number of rows to show\n\t * data.filter = the encoded query\n\t */\n\t// copy to data[name] from input[name] || option[name]\n\toptCopy(['table', 'p', 'o', 'd', 'filter', 'filterACLs', 'fields', 'keywords', 'view']);\n\toptCopy(['relationship_id', 'apply_to', 'apply_to_sys_id', 'window_size']);\n\tif (!data.table) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = \"\";\n\t\treturn;\n\t}\n\n\tif (!data.fields) {\n\t\tif (data.view)\n\t\t\tdata.fields = $sp.getListColumns(data.table, data.view);\n\t\telse\n\t\t\tdata.fields = $sp.getListColumns(data.table);\n\t}\n\n\tdata.title = input.headerTitle;\n\tdata.view = data.view || 'mobile';\n\tdata.table = data.table || $sp.getValue('table');\n\tdata.filter = data.filter || $sp.getValue('filter');\n\tdata.keywords = data.keywords || $sp.getValue('keywords');\n\tdata.p = data.p || $sp.getValue('p') || 1;\n\tdata.p = parseInt(data.p);\n\tdata.o = data.o || $sp.getValue('o') || $sp.getValue('order_by');\n\tdata.d = data.d || $sp.getValue('d') || $sp.getValue('order_direction');\n\tdata.page_index = data.p - 1;\n\tdata.show_new = data.show_new || options.show_new;\n\tvar windowSize = data.window_size || $sp.getValue('maximum_entries') || 20;\n\twindowSize = parseInt(windowSize);\n\tif (isNaN(windowSize) || windowSize &lt; 1)\n\t\twindowSize = 20;\n\tdata.window_size = windowSize;\n\n\tvar gr;\n\tif (gs.getProperty(\"glide.security.ui.filter\") == \"true\" || GlideTableDescriptor.get(data.table).getED().hasAttribute(\"glide.security.ui.filter\")) {\n\t\tgr = new FilteredGlideRecord(data.table);\n\t\tgr.applyRowSecurity();\n\t} else\n\t\tgr = new GlideRecordSecure(data.table);\n\tif (!gr.isValid()) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = data.table;\n\t\treturn;\n\t}\n\n  data.canCreate = gr.canCreate();\n\tdata.newButtonUnsupported = data.table == \"sys_attachment\";\n\tdata.table_label = gr.getLabel();\n\tdata.table_plural = gr.getPlural();\n\tif (data.filter) {\n\t\tif (data.filterACLs)\n\t\t\tgr = $sp.addQueryString(gr, data.filter);\n\t\telse\n\t\t\tgr.addEncodedQuery(data.filter);\n\t}\n\n\tif (data.keywords){\n\t\tgr.addQuery('123TEXTQUERY321', data.keywords);\n\t\tdata.keywords = null;\n\t}\n\n\tdata.filter = gr.getEncodedQuery();\n\n\tif (data.relationship_id) {\n\t\tvar rel = GlideRelationship.get(data.relationship_id);\n\t\tvar target = new GlideRecord(data.table);\n\t\tvar applyTo = new GlideRecord(data.apply_to);\n\t\tapplyTo.get(\"sys_id\", data.apply_to_sys_id);\n\t\trel.queryWith(applyTo, target); // put the relationship query into target\n\t\tgr.addEncodedQuery(target.getEncodedQuery()); // get the query the relationship made for us\n\t}\n\n\tif (data.o){\n\t\tif (data.d == \"asc\")\n\t\t\tgr.orderBy(data.o);\n\t\telse\n\t\t\tgr.orderByDesc(data.o);\n\t}\n\n\tdata.window_start = data.page_index * data.window_size;\n\tdata.window_end = (data.page_index + 1) * data.window_size;\n\tgr.chooseWindow(data.window_start, data.window_end);\n\tgr._query();\n\n\tdata.row_count = gr.getRowCount();\n\tdata.num_pages = Math.ceil(data.row_count / data.window_size);\n\tdata.column_labels = {};\n\tdata.fields_array = data.fields.split(',');\n\n\t// use GlideRecord to get field labels vs. GlideRecordSecure\n\tvar grForLabels = new GlideRecord(data.table);\n\tfor (var i in data.fields_array) {\n\t\tvar field = data.fields_array[i];\n\t\tvar ge = grForLabels.getElement(field);\n\t\tif (ge == null)\n\t\t\tcontinue;\n\n\t\tdata.column_labels[field] = ge.getLabel();\n\t}\n\n\tdata.list = [];\n\twhile (gr._next()) {\n\t\tvar record = {};\n\t\t$sp.getRecordElements(record, gr, data.fields);\n\t\tif (gr instanceof FilteredGlideRecord) {\n\t\t\t// FilteredGlideRecord doesn't do field-level\n\t\t\t// security, so take care of that here\n\t\t\tfor (var f in data.fields_array) {\n\t\t\t\tvar fld = data.fields_array[f];\n\t\t\t\tif (!gr.isValidField(fld))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!gr[fld].canRead()) {\n\t\t\t\t\trecord[fld].value = null;\n\t\t\t\t\trecord[fld].display_value = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\trecord.sys_id = gr.getValue('sys_id');\n\t\tdata.list.push(record);\n\t}\n\n\tdata.enable_filter = (input.enable_filter == true || input.enable_filter == \"true\" ||\n\t\toptions.enable_filter == true || options.enable_filter == \"true\");\n\tvar breadcrumbWidgetParams = {\n\t\ttable: data.table,\n\t\tquery: data.filter,\n\t\tenable_filter: data.enable_filter\n\t};\n\tdata.filterBreadcrumbs = $sp.getWidget('widget-filter-breadcrumbs', breadcrumbWidgetParams);\n\n\t// copy to data from input or options\n\tfunction optCopy(names) {\n\t\tnames.forEach(function(name) {\n\t\t\tdata[name] = input[name] || options[name];\n\t\t})\n\t}\n\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:51:09&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;9d921fc673302300b10080844ff6a7fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;15&lt;/sys_mod_count&gt;&lt;sys_name&gt;Inline Editing Data Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_9d921fc673302300b10080844ff6a7fe&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-03 14:57:58&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel panel-{{ options.color }} b\"&gt;\n    &lt;div class=\"panel-heading form-inline\" ng-hide=\"options.hide_header\"&gt;\n      &lt;span class=\"dropdown m-r-xs\"&gt;\n        &lt;button aria-label=\"${Table menu}\" class=\"btn dropdown-toggle glyphicon glyphicon-menu-hamburger\"\n                style=\"line-height: 1.4em\" id=\"optionsMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n                aria-expanded=\"false\"&gt;&lt;/button&gt;\n        &lt;ul class=\"dropdown-menu\" aria-labelledby=\"optionsMenu\"&gt;\n          &lt;li ng-repeat=\"t in ::exportTypes\"&gt;\n            &lt;a ng-href=\"/{{ data.table }}_list.do?{{ ::t.value }}&amp;sysparm_query={{ data.filter }}&amp;sysparm_view={{ data.view }}&amp;sysparm_fields={{ data.fields }}\"\n               target=\"_new\"&gt;${Export as} {{ ::t.label }}&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/span&gt;\n        &lt;span class=\"panel-title\"&gt;&lt;i ng-if=\"options.glyph\"\n                                     class=\"fa fa-{{ options.glyph }} m-r\"&gt;&lt;/i&gt;{{ data.title || data.table_plural }}&lt;/span&gt;\n        &lt;button name=\"new\" role=\"link\" class=\"btn btn-primary btn-sm m-l-xs\" ng-click=\"newRecord()\"\n                ng-if=\"options.show_new &amp;&amp; data.canCreate &amp;&amp; !data.newButtonUnsupported\"\n                aria-label=\"${Create new record}\"&gt;${New}\n        &lt;/button&gt;\n        &lt;div class=\"pull-right\" ng-if=\"options.show_keywords\"&gt;\n            &lt;form ng-submit=\"setSearch(true)\"&gt;\n                &lt;div class=\"input-group\"&gt;\n                    &lt;input type=\"text\" name=\"datatable-search\" ng-model=\"data.keywords\"\n                           ng-model-options=\"{debounce:250}\" class=\"form-control\" placeholder=\"${Keyword Search}\"&gt;\n                    &lt;span class=\"input-group-btn\"&gt;\n            &lt;button name=\"search\" class=\"btn btn-default\" type=\"submit\" aria-label=\"${Search}\"&gt;&lt;span\n                        class=\"glyphicon glyphicon-search\"&gt;&lt;/span&gt;&lt;/button&gt;\n          &lt;/span&gt;\n                &lt;/div&gt;\n            &lt;/form&gt;\n        &lt;/div&gt;\n        &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- body --&gt;\n    &lt;div class=\"panel-body\"&gt;\n        &lt;h2 class=\"sr-only data-table-title\"&gt;{{ data.title || data.table_plural }} ${table} - ${page} {{ data.p }}&lt;/h2&gt;\n        &lt;div ng-if=\"options.show_breadcrumbs &amp;&amp; (data.filter || data.enable_filter)\" class=\"filter-breadcrumbs\"&gt;\n            &lt;sp-widget widget=\"data.filterBreadcrumbs\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n        &lt;div class=\"alert alert-info\"\n             ng-if=\"!data.list.length &amp;&amp; !data.num_pages &amp;&amp; !data.invalid_table &amp;&amp; !loadingData\"&gt;\n            ${No records in {{ data.table_label }} &lt;span ng-if=\"data.filter\"&gt;using that filter&lt;/span&gt;}\n        &lt;/div&gt;\n        &lt;div class=\"alert alert-info\" ng-if=\"loadingData\"&gt;\n            &lt;fa name=\"spinner\" spin=\"true\"&gt;&lt;/fa&gt;\n            ${Loading data}...\n        &lt;/div&gt;\n        &lt;table class=\"table table-striped table-responsive\" ng-if=\"data.list.length\"&gt;\n            &lt;thead&gt;\n            &lt;tr&gt;\n                &lt;th class=\"sr-only\"&gt;&lt;/th&gt;\n                &lt;th ng-repeat=\"field in data.fields_array track by $index\" class=\"text-nowrap\"\n                    ng-click=\"setOrderBy(field)\" tabindex=\"0\"&gt;\n                    &lt;div class=\"th-title\"\n                         aria-label=\"${Sort by } {{ data.column_labels[field] }}\"&gt;{{ data.column_labels[field] }}&lt;/div&gt;\n                    &lt;i class=\"fa\" ng-if=\"field == data.o\"\n                       ng-class=\"{'asc': 'fa-chevron-up', 'desc': 'fa-chevron-down'}[data.d]\"\n                       aria-label=\"${Sorted by } {{ data.column_labels[field] }} {{ data.d == 'asc' ?  '${Ascending}': '${Descending}' }}\"&gt;&lt;/i&gt;\n                &lt;/th&gt;\n            &lt;/tr&gt;\n            &lt;/thead&gt;\n            &lt;tbody&gt;\n            &lt;tr ng-repeat=\"item in data.list track by item.sys_id\"&gt;\n                &lt;td class=\"sr-only\" tabindex=\"0\" role=\"link\" ng-click=\"go(data.table, item)\"\n                    aria-label=\"${Open record}\"&gt;&lt;/td&gt;\n                &lt;td role=\"text\" aria-label=\"{{ item[field].display_value }}\" class=\"pointer sp-list-cell\"\n                    ng-class=\"{selected: item.selected}\"\n                    ng-repeat=\"field in ::data.fields_array\" data-field=\"{{ ::field }}\"\n                    data-th=\"{{ ::data.column_labels[field] }}\"&gt;\n\n\n                    &lt;div ng-if=\"!c.options.inline_editing\" ng-click=\"go(data.table, item)\"&gt;\n                        {{ ::item[field].display_value }}\n                    &lt;/div&gt;\n\n                    &lt;div ng-if=\"c.options.inline_editing\"&gt;\n                        &lt;div ng-if=\"item[field].inline\" class=\"inline-field\"&gt;\n                            &lt;sp-editable-field-2 block=\"true\" table=\"{{ data.table }}\" editable-by-user=\"true\"\n                                                 table-id=\"item.sys_id\"\n                                                 field-model=\"item[field].inline\"&gt;&lt;/sp-editable-field-2&gt;\n                        &lt;/div&gt;\n\n                        &lt;span ng-if=\"!item[field].inline\" ng-click=\"c.makeEditable(item,field)\"&gt;\n                        {{ ::item[field].display_value }}\n                    &lt;/span&gt;\n                    &lt;/div&gt;\n\n                &lt;/td&gt;\n            &lt;/tr&gt;\n            &lt;/tbody&gt;\n        &lt;/table&gt;\n        &lt;div ng-class=\"{'pruned-msg-filter-pad': (!options.show_breadcrumbs || !data.filter) &amp;&amp; !data.list.length}\"\n             class=\"pruned-msg\" ng-if=\"rowsWerePruned()\"&gt;\n        &lt;span ng-if=\"rowsPruned == 1\"&gt;${{ {rowsPruned}} row removed by security constraints}&lt;/span&gt;\n            &lt;span ng-if=\"rowsPruned &gt; 1\"&gt;${{ {rowsPruned }} rows removed by security constraints}&lt;/span&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- footer --&gt;\n    &lt;div class=\"panel-footer\" ng-hide=\"options.hide_footer\" ng-if=\"data.row_count\"&gt;\n        &lt;div class=\"btn-toolbar m-r pull-left\"&gt;\n            &lt;div class=\"btn-group\"&gt;\n                &lt;a ng-disabled=\"data.p == 1\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p - 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Previous page}\"&gt;&lt;i class=\"fa fa-chevron-left\"&gt;&lt;/i&gt;&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;div ng-if=\"data.num_pages &gt; 1 &amp;&amp; data.num_pages &lt; 20\" class=\"btn-group\"&gt;\n                &lt;a ng-repeat=\"i in getNumber(data.num_pages) track by $index\" ng-click=\"setPageNum($index + 1)\"\n                   href=\"javascript:void(0)\" ng-class=\"{active: ($index + 1) == data.p}\" type=\"button\"\n                   class=\"btn btn-default\" aria-label=\"${Page} {{$index + 1}}\"&gt;{{$index + 1}}&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;div class=\"btn-group\"&gt;\n                &lt;a ng-disabled=\"data.p == data.num_pages\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p + 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Next page}\"&gt;&lt;i class=\"fa fa-chevron-right\"&gt;&lt;/i&gt;&lt;/a&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"m-t-xs panel-title\"&gt;${Rows {{data.window_start + 1}} - {{ mathMin(data.window_end,data.row_count) }}\n            of {{ data.row_count }}}\n        &lt;/div&gt;\n\n        &lt;span class=\"clearfix\"&gt;&lt;/span&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1150168563</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">dcc42f67db3c630093f6ff041d9619b5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-03 15:01:25</sys_created_on>\n<sys_id>14c42f67db3c630093f6ff041d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1663a6f828a0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-03 15:01:25</sys_updated_on>\n<table/>\n<target_name>Inline Editing Data Table</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>fdf3a3672a3c63007881b11283efc1b6</update_guid>\n<update_guid_history>fdf3a3672a3c63007881b11283efc1b6:1150168563,f3a3a3672a3c630063efe2564ae659a7:859894509,a38ed3ca8e3023004ccd7692649b4729:-607442908,d74e57ca283023001c1360493abfcc91:741162471,083e13ca33302300ae443824a232d44d:358687954,072e17ca2a30230028a02d2227c8a298:-994551467,600e13caef302300a56ef0e34d60385a:1262462197,aaedd3ca5a302300fb29fc9b527ca323:472867142,b1bd5f8aa3302300358a8ac94d5f66f9:-2026598042,406d13ca293023002e0e61e00e6c9153:1470021565,8e5d1f8a2e3023008b38c837c558e4fe:2046523062,332ddf8ab3302300e78c568c404d1e18:520003131,af2ddf8a31302300842a482b5ad13e13:-758126918,1c2ddf8a333023006b775a166cd8100f:89474473,4d0d1f8a7a302300998946849b1317f4:-1739677125,91925fc666302300146eb1f695778100:-80977270</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_825c838673302300b10080844ff6a7eb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function FormRelatedListController($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  console.log(this.data);\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n\t$scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });\n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n\t\tif ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n\t\t$rootScope.$broadcast('sp.form.ui_action.triggered');\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id)) {\n          $scope.submitting = false;\n\t\t\t\t\t$rootScope.$broadcast('sp.form.submit.failed', action);\n\t\t\t\t}\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n\t  $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n\n\tfunction _save() {\n\t\tvar primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n\t}\n\n\tfunction onListClick(evt, arg) {\n\t\tloadForm(arg.table, arg.sys_id);\n\t}\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n\n\tvar g_form;\n\tfunction initForm(gFormInstance) {\n\t\tif (gFormInstance.getTableName() == $scope.data.f.table){\n\t\t\tg_form = gFormInstance;\n\t\t\tspNavStateManager.register($scope.data.table, _save, g_form);\n\t\t\t$scope.isPageReady = true;\n\t\t\t$timeout(function() {\n\t\t\t\t$rootScope.$emit('spModel.gForm.rendered', g_form);\n\t\t\t}, 175);\n\t\t}\n\t}\n\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t$scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t// update the comments or worknotes based on activity stream\n\t$scope.$on(\"activity_stream_is_changed\", function(event, data) {\n\t\tif (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n\t\t\tg_form.setValue(data.fieldName, data.input);\n\t\t\tif (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n\t\t\t\tg_form.setValue(data.fieldToClear, \"\");\n\t\t}\n\t})\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n\t\t$scope.$evalAsync(function() {\n\t\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t});\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n\t  $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;form-with-related-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Form with Related List&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"},{\"name\":\"inline_editing\",\"section\":\"other\",\"label\":\"Inline Editing\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function ($sp, input, data, options, gs) {\n    /* \"use strict\"; -linter issues */\n    // populate the 'data' variable\n    data.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n    data.recordAddedMsg = gs.getMessage(\"Record Added\");\n    data.updatedMsg = gs.getMessage(\"updated_uppercase\");\n    data.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n    data.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n    data.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n    data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n    if (isNaN(data.maxAttachmentSize))\n        data.maxAttachmentSize = 24;\n    data.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n    data.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\n    data.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n    data.emptyStateTemplate = options.empty_state_template;\n    data.disableUIActions = options.disableUIActions === \"true\";\n    data.hideRelatedLists = options.hideRelatedLists || false;\n\n    if (input) {\n        data.table = input.table;\n        data.sys_id = input.sys_id;\n        data.view = input.view;\n        var result = {};\n        if (input._fields) {\n            result = $sp.saveRecord(input.table, input.sys_id, input._fields);\n            data.sys_id = result.sys_id;\n        }\n\n        if (input.sys_id == '-1')\n            data.isNewRecord = true;\n    } else {\n        data.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n        data.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n        data.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n    }\n\n    data.query = $sp.getParameter(\"query\") || options.query || \"\";\n    data.f = {};\n    if (!data.table)\n        return;\n\n    // Form widget is not a supported way to view an attachment\n    if (data.table == \"sys_attachment\") {\n        data.tableUnsupported = true;\n        return;\n    }\n\n    if (!GlideTableDescriptor.isValid(data.table))\n        return;\n\n    if (!data.sys_id)\n        return;\n\n    var rec = $sp.getRecord(data.table, data.sys_id);\n    data.isValid = rec.isValid() || data.sys_id == \"-1\";\n    if (!data.isValid)\n        return;\n\n    data.table = rec.getRecordClassName();\n    data.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n    data.canWrite = rec.canWrite();\n    var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n    data.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n    data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n    // Activity formatter is hardcoded to set specific options\n    for (var f in data.f._formatters) {\n        var fm = data.f._formatters[f];\n        if (fm.formatter == \"activity.xml\") {\n            fm.hardcoded = true;\n            fm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n                {\n                    table: data.table,\n                    sys_id: data.sys_id,\n                    includeExtended: true,\n                    title: \"${Activity}\",\n                    use_dynamic_placeholder: true,\n                    btnLabel: \"${Post}\"\n                });\n        } else if (fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n            var qsConfig = $sp.getValue('quick_start_config');\n            if (qsConfig)\n                qsConfig = JSON.parse(qsConfig)[0];\n            fm.widgetInstance = $sp.getWidget(fm.widget, {\n                table: data.table,\n                sys_id: data.sys_id,\n                readonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'\n            });\n        } else\n            fm.widgetInstance = $sp.getWidget(fm.widget, data);\n    }\n\n    data.relatedListWidget = $sp.getWidget('related-list', {\n        table: data.table,\n        sys_id: data.sys_id,\n        inline_editing: options.inline_editing == \"true\"\n    });\n})($sp, input, data, options, gs);\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:23:53&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;825c838673302300b10080844ff6a7eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;12&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form with Related List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_825c838673302300b10080844ff6a7eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-03 14:55:37&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n      \t&lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n      \t&lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;sp-widget widget=\"c.data.relatedListWidget\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>332057009</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">dcc42f67db3c630093f6ff041d9619b5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-03 15:01:25</sys_created_on>\n<sys_id>50c42f67db3c630093f6ff041d9619b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1663a6d5da70000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-03 15:01:25</sys_updated_on>\n<table/>\n<target_name>Form with Related List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>6763a3675d3c63000bfdeb7012564a63</update_guid>\n<update_guid_history>6763a3675d3c63000bfdeb7012564a63:332057009,2cfb5b8a85302300865c1d40e9a48482:-805508080,688b934ab13023007e6733dddd13fc2c:3249325,e6f4970ac5302300f7d595aceaa93fe6:1668097863,cef4d3c69f302300c5349eaff5f7ff6e:2012765743,5cf4d3c6063023009b3aca47b506326a:234061796,74e4970a6c302300521df3327571e2e2:2113036772,8f24d3c6ac302300e025bd81dbc62b49:-1859860010,e024170af630230030c1b32919fd3291:-1252732520,6304170a883023009cccd46f63480f8d:339253367,a6a3dbc67430230092e06e8aa92ab041:-1491919818,35a3dbc65e30230024bb9aaef55fcf3d:2015869719,ca5c8386a4302300e7d1774934408eec:-1679651923</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_22bf8f8673302300b10080844ff6a701</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function RelatedListController($rootScope, $location) {\n    var c = this;\n    c.$onInit = function () {\n        console.log(c);\n        addListenerToListClick()\n    };\n\n    function addListenerToListClick() {\n        $rootScope.$on('data_table.click', function (event, obj) {\n            var link = $location.search();\n            link.sys_id = obj.sys_id;\n            link.table = obj.table;\n            $location.search(link);\n        })\n    }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;related-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Related List&lt;/name&gt;&lt;option_schema&gt;[]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n    input = input || {};\n    var table = options.table || input.table;\n    var sys_id = options.sys_id || input.sys_id;\n    var query = options.query || input.query;\n    view = input.view || \"sp\";\n\n    if (!table || !sys_id)\n        return;\n\n    var f = $sp.getForm(table, sys_id, query);\n    data.related_lists = f._related_lists;\n\n    for (var i in data.related_lists) {\n        var list = data.related_lists[i];\n        var params = {\n            table: list.table,\n            filter: list.field + \"=\" + sys_id,\n            view: view,\n            inline_editing: options.inline_editing,\n            title: list.label\n        };\n        list.widget = $sp.getWidget('inline-editing-data-table', params);\n    }\n    \n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:38:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;22bf8f8673302300b10080844ff6a701&lt;/sys_id&gt;&lt;sys_mod_count&gt;30&lt;/sys_mod_count&gt;&lt;sys_name&gt;Related List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_22bf8f8673302300b10080844ff6a701&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-03 14:59:43&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"\" ng-if=\"data.related_lists.length &gt; 0\"&gt;\n    &lt;ul class=\"nav nav-tabs\" role=\"tablist\"&gt;\n        &lt;li role=\"presentation\" ng-class='{active:$first}' ng-repeat=\"list in data.related_lists\"&gt;\n            &lt;a data-target=\"#{{ list.table }}\" aria-controls=\"{{ list.table }}\" role=\"tab\" ng-class='{active:$first}'\n               data-toggle=\"tab\"&gt;\n                {{ list.label }}\n                &lt;span class=\"label label-as-badge label-primary\" ng-if=\"list.count\"&gt;{{ list.count }}&lt;/span&gt;\n            &lt;/a&gt;\n        &lt;/li&gt;\n    &lt;/ul&gt;\n\n    &lt;div class=\"tab-content\"&gt;\n        &lt;div role=\"tabpanel\" class=\"tab-pane\" id=\"{{ list.table }}\" ng-class='{active:$first}'\n             ng-repeat=\"list in data.related_lists\"&gt;\n\n            &lt;div style=\"margin-top: -1px;\"&gt;\n                &lt;div class=\"alert alert-danger\" ng-if=\"data.invalid_table\"&gt;\n                    Table not defined '{{ data.table_label }}'\n                &lt;/div&gt;\n                &lt;sp-widget widget=\"list.widget\"&gt;&lt;/sp-widget&gt;\n            &lt;/div&gt;\n\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1707718045</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">dcc42f67db3c630093f6ff041d9619b5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-03 15:01:25</sys_created_on>\n<sys_id>9cc42f67db3c630093f6ff041d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1663a711e380000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-03 15:01:25</sys_updated_on>\n<table/>\n<target_name>Related List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>67542767133c6300e16334c4dcb991a9</update_guid>\n<update_guid_history>67542767133c6300e16334c4dcb991a9:-1707718045,d5ec5f8ae7302300e8a8f9547b7f400a:1918238530,495cd78ae8302300cec5a7db2667e359:1574979684,030c5b8afb3023003d8acd14bc163d4c:-1434166628,4deb5b8ae13023008bb6218812b9b91a:999499380,6b5b178a8330230059885005f5145f28:-815869483,8746db0a74302300e6b227b00a2db1f5:-1829738115,5c365f0adc3023008b17c83cf867ece8:643735602,2126934a18302300aa182f4c5d158927:1992489081,1e065f0a183023007d009820c140e3e4:1011819581,ede5df0a1130230003c8e9499c1d64cb:-1294725195,20e51f0a153023005e17970528b1cc42:1829601706,d7d5df0a30302300f545b1d8510f33c6:1736285510,ced51f0a3a302300bd0c6aad8313243d:-1504562303,5e855f0ad2302300d3c8a1542d2c08dd:-629172170,8d651f0a8d3023002196de3bf75b8939:1968879235,4b359b0a18302300ac8f4c22ec8667d9:-325697397,39359b0acc302300c3a06b11753badd5:-139054087,d4359b0a3e30230045fc12178daf14d1:-1140227345,17f0d3c6f73023003ad9e85192192864:-139054087,f1f0d3c6203023002f0358bec411643e:688786251,7ac053c6b9302300475c65703e011c87:659330326,c4c053c6fc3023000bf0be94010ed115:108292688,1aa053c632302300dbfb03a999f36283:-603891374,55a053c66b302300f15e310f28484de5:1018396304,bd9053c627302300c8a9f9fa5524102a:851728887,d2805f86f9302300acea58add6dc5db2:1580052113,4b705f86dc302300ff7e3ff5ab262699:-377101000,54705f86663023006d6dee52d80b4ba7:1393546929,74505f86dc30230009ed0c81dc85a88d:-377101000,54cf8f867530230042898c3b1a85ba08:-1725671136</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_8a5c838673302300b10080844ff6a7ed</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"spAttachmentManager\">06e836f0d722120023c84f80de6103a1</sp_angular_provider><sp_widget display_value=\"Form with Related List\">825c838673302300b10080844ff6a7eb</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:23:53</sys_created_on><sys_id>8a5c838673302300b10080844ff6a7ed</sys_id><sys_mod_count>0</sys_mod_count><sys_name>spAttachmentManager.Form with Related List</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_8a5c838673302300b10080844ff6a7ed</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:23:53</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-1563089311</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">dcc42f67db3c630093f6ff041d9619b5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-03 15:01:25</sys_created_on>\n<sys_id>d0c42f67db3c630093f6ff041d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1663a6680400000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-03 15:01:25</sys_updated_on>\n<table/>\n<target_name>spAttachmentManager.Form with Related List</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>825c8386f33023008cb90936ab46c6ef</update_guid>\n<update_guid_history>825c8386f33023008cb90936ab46c6ef:-1563089311</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_d332dbc673302300b10080844ff6a774</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;96321bc673302300b10080844ff6a754&lt;/sp_column&gt;&lt;sp_widget display_value=\"Form with Related List\"&gt;825c838673302300b10080844ff6a7eb&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:49:38&lt;/sys_created_on&gt;&lt;sys_id&gt;d332dbc673302300b10080844ff6a774&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_d332dbc673302300b10080844ff6a774&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:42:57&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"disableUIActions\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"showFormView\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"omitHeaderOptions\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"inline_editing\": {\n\t\t\"value\": \"false\",\n\t\t\"displayValue\": \"false\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=d332dbc673302300b10080844ff6a774\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-989373787</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">dcc42f67db3c630093f6ff041d9619b5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-03 15:01:25</sys_created_on>\n<sys_id>d8c42f67db3c630093f6ff041d9619b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1663a6680400000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-03 15:01:25</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>d87e97caa7302300eab2047973bb8e2b</update_guid>\n<update_guid_history>d87e97caa7302300eab2047973bb8e2b:-989373787,c7fb5b8af83023002f947a4cb1ac6c32:1984168371,9f32dbc6dc30230092611e732bc39275:-1804000387</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-inline-editing-data-table/widget/pe-inline-editing-data-table.u-body-html-template.html",
    "content": "<div class=\"panel panel-{{ options.color }} b\">\n    <div class=\"panel-heading form-inline\" ng-hide=\"options.hide_header\">\n      <span class=\"dropdown m-r-xs\">\n        <button aria-label=\"${Table menu}\" class=\"btn dropdown-toggle glyphicon glyphicon-menu-hamburger\"\n                style=\"line-height: 1.4em\" id=\"optionsMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n                aria-expanded=\"false\"></button>\n        <ul class=\"dropdown-menu\" aria-labelledby=\"optionsMenu\">\n          <li ng-repeat=\"t in ::exportTypes\">\n            <a ng-href=\"/{{ data.table }}_list.do?{{ ::t.value }}&sysparm_query={{ data.filter }}&sysparm_view={{ data.view }}&sysparm_fields={{ data.fields }}\"\n               target=\"_new\">${Export as} {{ ::t.label }}</a>\n          </li>\n        </ul>\n      </span>\n        <span class=\"panel-title\"><i ng-if=\"options.glyph\"\n                                     class=\"fa fa-{{ options.glyph }} m-r\"></i>{{ data.title || data.table_plural }}</span>\n        <button name=\"new\" role=\"link\" class=\"btn btn-primary btn-sm m-l-xs\" ng-click=\"newRecord()\"\n                ng-if=\"options.show_new && data.canCreate && !data.newButtonUnsupported\"\n                aria-label=\"${Create new record}\">${New}\n        </button>\n        <div class=\"pull-right\" ng-if=\"options.show_keywords\">\n            <form ng-submit=\"setSearch(true)\">\n                <div class=\"input-group\">\n                    <input type=\"text\" name=\"datatable-search\" ng-model=\"data.keywords\"\n                           ng-model-options=\"{debounce:250}\" class=\"form-control\" placeholder=\"${Keyword Search}\">\n                    <span class=\"input-group-btn\">\n            <button name=\"search\" class=\"btn btn-default\" type=\"submit\" aria-label=\"${Search}\"><span\n                        class=\"glyphicon glyphicon-search\"></span></button>\n          </span>\n                </div>\n            </form>\n        </div>\n        <div class=\"clearfix\"></div>\n    </div>\n    <!-- body -->\n    <div class=\"panel-body\">\n        <h2 class=\"sr-only data-table-title\">{{ data.title || data.table_plural }} ${table} - ${page} {{ data.p }}</h2>\n        <div ng-if=\"options.show_breadcrumbs && (data.filter || data.enable_filter)\" class=\"filter-breadcrumbs\">\n            <sp-widget widget=\"data.filterBreadcrumbs\"></sp-widget>\n        </div>\n        <div class=\"alert alert-info\"\n             ng-if=\"!data.list.length && !data.num_pages && !data.invalid_table && !loadingData\">\n            ${No records in {{ data.table_label }} <span ng-if=\"data.filter\">using that filter</span>}\n        </div>\n        <div class=\"alert alert-info\" ng-if=\"loadingData\">\n            <fa name=\"spinner\" spin=\"true\"></fa>\n            ${Loading data}...\n        </div>\n        <table class=\"table table-striped table-responsive\" ng-if=\"data.list.length\">\n            <thead>\n            <tr>\n                <th class=\"sr-only\"></th>\n                <th ng-repeat=\"field in data.fields_array track by $index\" class=\"text-nowrap\"\n                    ng-click=\"setOrderBy(field)\" tabindex=\"0\">\n                    <div class=\"th-title\"\n                         aria-label=\"${Sort by } {{ data.column_labels[field] }}\">{{ data.column_labels[field] }}</div>\n                    <i class=\"fa\" ng-if=\"field == data.o\"\n                       ng-class=\"{'asc': 'fa-chevron-up', 'desc': 'fa-chevron-down'}[data.d]\"\n                       aria-label=\"${Sorted by } {{ data.column_labels[field] }} {{ data.d == 'asc' ?  '${Ascending}': '${Descending}' }}\"></i>\n                </th>\n            </tr>\n            </thead>\n            <tbody>\n            <tr ng-repeat=\"item in data.list track by item.sys_id\">\n                <td class=\"sr-only\" tabindex=\"0\" role=\"link\" ng-click=\"go(data.table, item)\"\n                    aria-label=\"${Open record}\"></td>\n                <td role=\"text\" aria-label=\"{{ item[field].display_value }}\" class=\"pointer sp-list-cell\"\n                    ng-class=\"{selected: item.selected}\"\n                    ng-repeat=\"field in ::data.fields_array\" data-field=\"{{ ::field }}\"\n                    data-th=\"{{ ::data.column_labels[field] }}\">\n\n\n                    <div ng-if=\"!c.options.inline_editing\" ng-click=\"go(data.table, item)\">\n                        {{ ::item[field].display_value }}\n                    </div>\n\n                    <div ng-if=\"c.options.inline_editing\">\n                        <div ng-if=\"item[field].inline\" class=\"inline-field\">\n                            <sp-editable-field-2 block=\"true\" table=\"{{ data.table }}\" editable-by-user=\"true\"\n                                                 table-id=\"item.sys_id\"\n                                                 field-model=\"item[field].inline\"></sp-editable-field-2>\n                        </div>\n\n                        <span ng-if=\"!item[field].inline\" ng-click=\"c.makeEditable(item,field)\">\n                        {{ ::item[field].display_value }}\n                    </span>\n                    </div>\n\n                </td>\n            </tr>\n            </tbody>\n        </table>\n        <div ng-class=\"{'pruned-msg-filter-pad': (!options.show_breadcrumbs || !data.filter) && !data.list.length}\"\n             class=\"pruned-msg\" ng-if=\"rowsWerePruned()\">\n        <span ng-if=\"rowsPruned == 1\">${{ {rowsPruned}} row removed by security constraints}</span>\n            <span ng-if=\"rowsPruned > 1\">${{ {rowsPruned }} rows removed by security constraints}</span>\n        </div>\n    </div>\n    <!-- footer -->\n    <div class=\"panel-footer\" ng-hide=\"options.hide_footer\" ng-if=\"data.row_count\">\n        <div class=\"btn-toolbar m-r pull-left\">\n            <div class=\"btn-group\">\n                <a ng-disabled=\"data.p == 1\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p - 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Previous page}\"><i class=\"fa fa-chevron-left\"></i></a>\n            </div>\n            <div ng-if=\"data.num_pages > 1 && data.num_pages < 20\" class=\"btn-group\">\n                <a ng-repeat=\"i in getNumber(data.num_pages) track by $index\" ng-click=\"setPageNum($index + 1)\"\n                   href=\"javascript:void(0)\" ng-class=\"{active: ($index + 1) == data.p}\" type=\"button\"\n                   class=\"btn btn-default\" aria-label=\"${Page} {{$index + 1}}\">{{$index + 1}}</a>\n            </div>\n            <div class=\"btn-group\">\n                <a ng-disabled=\"data.p == data.num_pages\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p + 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Next page}\"><i class=\"fa fa-chevron-right\"></i></a>\n            </div>\n        </div>\n        <div class=\"m-t-xs panel-title\">${Rows {{data.window_start + 1}} - {{ mathMin(data.window_end,data.row_count) }}\n            of {{ data.row_count }}}\n        </div>\n\n        <span class=\"clearfix\"></span>\n    </div>\n</div>\n"
  },
  {
    "path": "pe-inline-editing-data-table/widget/pe-inline-editing-data-table.u-client-script.js",
    "content": "function InlineEditingTableController($scope, $location, spUtil, amb, $http, spAriaUtil, $timeout, spNavStateManager) {\n\tvar c = this;\n    c.makeEditable = makeEditable;\n\t/*\n\t * options:\n\t * hide_footer (bool) = true to remove the data table footer contents\n\t * hide_header (bool) = true to remove the data table header contents\n\t * show_new (bool) = true to show the \"New\" record button\n\t * show_keywords (bool) = true to show the keyword search field\n\t * table (string) = the table name to query\n\t * filter (string) = the encoded query\n\t * o (string) = the order by column\n\t * d (string) = The order by direction: asc or desc\n\t * p (int) = the page to jump to\n\t * fields (string) = comma seperated list of fields that become the list columns\n\t * view (string) = the default view to load for columns, overrides fields\n\t*/\n\n\t$scope.exportTypes = [{label:'PDF', value: 'PDF'}, {label:'Excel', value:'EXCEL'}, {label:'CSV', value:'CSV'}];\n\tvar keys = ['table', 'filter', 'p', 'o', 'd'];\n\n\tvar eventNames = {\n\t\tclick: 'data_table.click',\n\t\tsetFilter: 'data_table.setFilter',\n\t\tsetKeywords: 'data_table.setKeywords'\n\t};\n\n\t$scope.go = function(table, item) {\n\t\tspNavStateManager.onRecordChange(table).then(function() {\n\t\tvar parms = {};\n\t\tparms.table = table;\n\t\tparms.sys_id = item.sys_id;\n\t\tparms.record = item;\n\t\t$scope.ignoreLocationChange = true;\n\t\tfor (var x in c.data.list) {\n\t\t\tc.data.list[x].selected = false;\n\t\t}\n\t\titem.selected = true;\n\t\t$scope.$emit(eventNames.click, parms);\n\t\t}, function() {\n\t\t\t// do nothing in case of closing the modal by clicking on x\n\t\t});\n\t};\n\n\t$scope.newRecord = function(){\n\t\tvar parms = {\n\t\t\tid: 'form',\n\t\t\ttable: $scope.data.table,\n\t\t\tview: $scope.data.view,\n\t\t\tsys_id: '-1'\n\t\t};\n\t\tif ($scope.data.filter != '')\n\t\t\tparms.query = $scope.data.filter;\n\n\t\t$location.search(parms);\n\t};\n\n\tfunction recoverStateFromUrl() {\n\t\t$scope.data.fields = [];\n\t\tvar s = $location.search();\n\t\tfor (var x in keys) {\n\t\t\tif (s[keys[x]]) {\n\t\t\t\t$scope.data[keys[x]] = s[keys[x]];\n\t\t\t}\n\t\t}\n\t\t$scope.server.update().then(function(data) {\n\t\t\tif (s.sys_id) {\n\t\t\t\tfor (var x in data.list) {\n\t\t\t\t\tif (data.list[x].sys_id == s.sys_id) {\n\t\t\t\t\t\t$scope.go(s.table, data.list[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tif ($scope.options.fromUrl) {\n\t\tvar origSearch = $location.search();\n\t\t$scope.$on('$locationChangeSuccess', function(e) {\n\t\t\tvar s = $location.search();\n\t\t\tif (origSearch.id !== s.id)\n\t\t\t\treturn;\n\n\t\t\tif ($scope.ignoreLocationChange){\n\t\t\t\t$scope.ignoreLocationChange = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Helps to recover state when using the browser's back button\n\t\t\trecoverStateFromUrl();\n\t\t});\n\t}\n\n\n\t$scope.getNumber = function(num) {\n\t\treturn new Array(num);\n\t}\n\n\t$scope.mathMin = function(v1,v2) {\n\t\treturn Math.min(v1,v2);\n\t}\n\n\tfunction getData(updateUrl) {\n\t\tvar f = $scope.data;\n\t\tspUtil.update($scope).then(function(data) {\n\t\t\tf.view = data.view;\n\t\t\tif ($scope.options.fromUrl && updateUrl)\n\t\t\t\tsetPermalink(f.table, f.filter, f.o, f.d, f.p);\n\n\t\t\tif ($scope.options.show_breadcrumbs && data.filterBreadcrumbs)\n\t\t\t\t$scope.$broadcast('widget-filter-breadcrumbs.setBreadcrumbs', data.filterBreadcrumbs.data, data.filter);\n\n\t\t\tinitRecordWatcher(f.table, f.filter);\n\t\t});\n\t}\n\n\tfunction setPermalink(table, filter, orderBy, orderDirection, page){\n\t\t$scope.ignoreLocationChange = true;\n\t\tvar search = $location.search();\n\t\tangular.extend(search, {\n\t\t\tspa: 1,\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tp: page,\n\t\t\to: orderBy,\n\t\t\td: orderDirection\n\t\t});\n\t\t$location.search(search);\n\t}\n\n\tvar watcher;\n\tfunction initRecordWatcher(table, filter){\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\n\t\tif (table && filter) {\n\t\t\tvar watcherChannel = amb.getChannelRW(table, filter);\n\t\t\tamb.connect();\n\t\t\twatcher = watcherChannel.subscribe(function(message) {\n\t\t\t\tif (!message.data)\n\t\t\t\t\treturn;\n\t\t\t\tswitch(message.data.action) {\n\t\t\t\t\tcase \"change\":\n\t\t\t\t\t\tupdateRowFromRW(message);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"exit\":\n\t\t\t\t\t\t// A record was removed\n\t\t\t\t\tcase \"enter\":\n\t\t\t\t\t\t// A record was added\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tspUtil.update($scope);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction updateRowFromRW(message) {\n\t\tif (message.data && message.data.sys_id && $scope.data.list) {\n\t\t\tvar row, field;\n\t\t\tfor(var i=0;i<$scope.data.list.length; i++) {\n\t\t\t\trow = $scope.data.list[i];\n\t\t\t\tif (row.sys_id == message.data.sys_id) {\n\t\t\t\t\tvar fields = Object.getOwnPropertyNames(message.data.record);\n\t\t\t\t\tfor(var f in fields) {\n\t\t\t\t\t\tfield = fields[f];\n\t\t\t\t\t\tif(typeof row[field] !== 'undefined') {\n\t\t\t\t\t\t    row[field].display_value = message.data.record[field].display_value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t$scope.$on('$destroy', function() {\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\t});\n\n\t$scope.setPageNum = function(num) {\n\t\t$scope.data.p = num;\n\t\tgetData(true);\n\t\t$timeout(function() {\n\t\t\t$scope.focusOnTableHeader();\n\t\t});\n\t}\n\n\t$scope.setOrderBy = function(field) {\n\t\tvar d = \"asc\";\n\t\tif ($scope.data.o == field) {\n\t\t\tif ($scope.data.d == \"asc\")\n\t\t\t\td = \"desc\";\n\t\t\telse\n\t\t\t\td = \"asc\";\n\t\t}\n\n\t\tif (d === \"asc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByAsc);\n\t\t} else if (d === \"desc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByDesc);\n\t\t}\n\n\t\t$scope.data.o = field;\n\t\t$scope.data.d = d;\n\t\t$scope.setSearch(true);\n\t}\n\n\t$scope.setSearch = function(updateUrl) {\n\t\t$scope.data.p = 1;\n\t\tgetData(updateUrl);\n\t}\n\n\t$scope.$on(eventNames.setFilter, function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on(eventNames.setKeywords, function(e, keywords){\n\t\t$scope.data.keywords = keywords;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on('widget-filter-breadcrumbs.queryModified', function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(true);\n\t});\n\n\t$scope.rowsWerePruned = function() {\n\t\tif (!$scope.data.list)\n\t\t\treturn;\n\n\t\t$scope.rowsPruned = $scope.mathMin($scope.data.window_end,$scope.data.row_count) - $scope.data.window_start - $scope.data.list.length;\n\t\treturn $scope.rowsPruned > 0;\n\t}\n\n\t$scope.showFilter = function() {\n\t\treturn !$scope.data.list.length && !$scope.data.num_pages && !$scope.data.invalid_table && !$scope.loadingData;\n\t}\n\n\tc.appendQuery = function(query){\n\t\tif ($scope.data.filter.length > 1)\n\t\t\t$scope.data.filter += '^';\n\t\t$scope.data.filter += query;\n\t\t\t$scope.setSearch();\n\n\t}\n\n\t// Makes Widget Async\n\t$scope.data = $scope.options;\n\t$scope.loadingData = true;\n\t$scope.server.update().then(function() {\n\t\tif ($scope.data.newButtonUnsupported)\n\t\t\tconsole.log(\"Service Portal: New button not supported for sys_attachment list\");\n\t\t$scope.loadingData = false;\n\t\tinitRecordWatcher($scope.data.table, $scope.data.filter);\n\t});\n\n\tfunction parseQuery(table, queryString){\n\t\treturn $http.post('/api/now/sp/parsequery/' + table, queryString).then(function(response){\n\t\t\t\treturn response.data.result;\n\t\t});\n\t}\n\n\tc.createQueryTerm = function(table, field, sys_id, operator){\n\t\treturn $http.get('/api/now/sp/getInOutQueryTerm', {\n\t\t\tparams: {\n\t\t\t\ttable: table,\n\t\t\t\tsys_id: sys_id,\n\t\t\t\tfield: field,\n\t\t\t\toperator: operator\n\t\t\t}\n\t\t}).then(function(response){\n\t\t\tif (response && response.data && response.data.result)\n\t\t\t\treturn response.data.result.parts;\n\t\t});\n\t}\n\n\tc.showMatching = function(field, newTerm) {\n\t\tvar queryString = $scope.data.filter;\n\t\tvar eq = \"\";\n\t\tparseQuery($scope.data.table, queryString).then(function(oldTerms) {\n\t\t\tfor(var i=0; i<oldTerms.length; i++){\n\t\t\t\tvar term = oldTerms[i];\n\t\t\t\tif (isSameField(newTerm, term))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\t\t\teq += getEncodedTerm(term);\n\t\t\t}\n\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\t\t\teq += getEncodedTerm(newTerm);\n\n\t\t\t$scope.data.filter = eq;\n\t\t\t$scope.setSearch();\n\t\t});\n\t};\n\n\tc.filterOut = function(field, newTerm) {\n\t\tvar eq = $scope.data.filter;\n\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\teq += getEncodedTerm(newTerm);\n\t\t$scope.data.filter = eq;\n\t\t$scope.setSearch();\n\t};\n\n\tfunction isSameField(t1, t2) {\n\t\tif ('left' in t1 && 'left' in t2)\n\t\t\treturn t1.left.query_term_field === t2.left.query_term_field;\n\t\telse if ('left' in t1)\n\t\t\treturn t1.left.query_term_field === t2.query_term_field;\n\t\telse if ('left' in t2)\n\t\t\treturn t1.query_term_field === t2.left.query_term_field;\n\t\treturn t1.query_term_field === t2.query_term_field;\n\t}\n\n\tfunction getEncodedTerm(term) {\n\t\tvar eq;\n\t\tif (term.left) {\n\t\t\teq = getEncodedTerm(term.left);\n\t\t\teq += '^OR';\n\t\t\teq += getEncodedTerm(term.right);\n\t\t} else {\n\t\t\teq = term.query_term_field;\n\t\t\teq += term.operator;\n\t\t\teq += term.value;\n\t\t}\n\t\treturn eq;\n\t}\n\n\tfunction makeEditable(item, field) {\n        c.server.get({\n            action: 'INLINE_EDIT',\n            table: c.data.table,\n            sys_id: item.sys_id,\n            field: field\n        }).then(function (value) {\n            item[field].inline = value.data.inlineForm._fields[field];\n        });\n    }\n}\n"
  },
  {
    "path": "pe-inline-editing-data-table/widget/pe-inline-editing-data-table.u-css.scss",
    "content": ".panel-heading {\n  padding-left: 8px;\n}\n\nthead {\n  border-bottom: 1px solid #ddd;\n}\n\ntable {\n  margin-bottom: 0;\n}\n\n.table > thead > tr > th {\n  border: 1px solid #ddd;\n  cursor: pointer;\n  vertical-align: middle;\n\n  &:nth-child(2) {\n    border-left: none;\n  }\n\n\n\n  &:last-child {\n    border-right: none;\n  }\n}\n\nth i {\n  display: inline-block;\n  margin-left: 5px;\n  color: #A0A0A0;\n}\n\nth .disabled{\n  color:#ddd;\n}\n\n.th-title {\n  display: inline-block;\n  color: $primary;\n}\n\n.panel-body {\n  overflow: auto;\n  padding: 0px;\n}\n\n\n.selected {\n  color: #fff;\n  background-color: #909090;\n  border-color: 1px solid #fff;\n}\n\ntbody tr:last-child {\n  border-bottom: none;\n}\n\n.pruned-msg {\n  padding-bottom: 10px;\n  padding-left: 4px;\n  text-align: center;\n}\n\n.pruned-msg-filter-pad {\n  padding-top:8px;\n}\n\n.filter-breadcrumbs {\n  border-bottom: 1px solid #ddd;\n  padding-top: 3px;\n}\n\n.dropdown-toggle {\n  background: none;\n  padding: 0 0 4px 0;\n}\n\n.sp-list-cell {\n  white-space: pre-wrap;\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px;\n\t}\n}\n\n\n\n.sp-list-cell {\n  white-space: normal;\n}\n\n.inline-field {\n  white-space: normal;\n  label {\n    display: none;\n  }\n  .form-group {\n    margin-bottom: 0;\n  }\n}\n"
  },
  {
    "path": "pe-inline-editing-data-table/widget/pe-inline-editing-data-table.u-link-script.js",
    "content": "function InlineEditingTableLink(scope, element, attrs, ctrl) {\n\tvar $ul, $contextMenu;\n\n\tscope.focusOnTableHeader = function() {\n\t\telement.find(\".data-table-title\").attr(\"tabindex\", \"-1\").focus();\n\t}\n\n\telement.on('contextmenu', function(e){\n\t\tif (e.ctrlKey)\n\t\t\treturn; // ctrlKey is for the debug menu, not this menu\n\n\t\tvar rowScope = angular.element(e.target).scope();\n\t\tvar field, item, fieldVal;\n\n\t\t// Context Menu for tbody\n\t\tif (angular.isDefined(rowScope.field) && angular.isDefined(rowScope.item)){\n\t\t\te.preventDefault();\n\t\t\tfield = rowScope.field;\n\t\t\titem = rowScope.item;\n\t\t\tfieldVal = item[field].value;\n\n\t\t\tvar items = [\n\t\t\t\t['${Show Matching}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '=').then(function(term){\n\t\t\t\t\t\tctrl.showMatching(field, term);\n\t\t\t\t\t});\n\t\t\t\t}],\n\t\t\t\t['${Filter Out}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '!=').then(function(term){\n\t\t\t\t\t\tctrl.filterOut(field, term);\n\t\t\t\t\t});\n\t\t\t\t}]\n\t\t\t];\n\n\t\t\trenderContextMenu(items);\n\t\t\tsetContextMenuPosition(e);\n\t\t}\n\t});\n\n\tfunction renderContextMenu(items){\n\t\tvar scrollHeight = $('body').get(0).scrollHeight;\n\t\t$contextMenu = angular.element('<div>', {'class': 'dropdown clearfix context-dropdown open'});\n\n\t\t$contextMenu.on('click', function (e) {\n\t\t\tif ($(e.target).hasClass('dropdown')) {\n\t\t\t\t_clearContextMenus(event);\n\t\t\t}\n\t\t});\n\t\t$contextMenu.on('contextmenu', function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t_clearContextMenus(event);\n\t\t});\n\n\t\t$contextMenu.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\theight: scrollHeight,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 9999\n\t\t});\n\n\t\t$('body').append($contextMenu);\n\n\t\t$ul = angular.element('<ul>', {\n\t\t\t'class': 'dropdown-menu',\n\t\t\t'role': 'menu'\n\t\t});\n\t\trenderItems();\n\t\t$contextMenu.append($ul);\n\n\t\tfunction renderItems(){\n\t\t\tangular.forEach(items, function (item) {\n\t\t\t\tvar $li = angular.element('<li>');\n\n\t\t\t\tif (item === null) {\n\t\t\t\t\t$li.addClass('divider');\n\t\t\t\t} else {\n\t\t\t\t\tvar $a = angular.element('<a>');\n\t\t\t\t\t$a.attr({tabindex: '-1', href:'#'});\n\t\t\t\t\t$a.text(item[0]);\n\t\t\t\t\t$li.append($a);\n\t\t\t\t\t$li.on('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\t\t_clearContextMenus(e);\n\t\t\t\t\t\t\titem[1].call(item, item);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$ul.append($li);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction _clearContextMenus(event){\n\t\tif (!event){\n\t\t\treturn;\n\t\t}\n\n\t\tangular.element(event.currentTarget).removeClass('context');\n\n\t\tvar els = angular.element(\".context-dropdown\");\n\t\tangular.forEach(els, function(el){\n\t\t\tangular.element(el).remove();\n\t\t});\n\t}\n\n\tvar contextMenuItemHeight = 0;\n\tfunction setContextMenuPosition(event){\n\t\tif (contextMenuItemHeight === 0)\n\t\t\tcontextMenuItemHeight = $ul.children(0).height();\n\n\t\t// Why not just call .width() and .height() on the container? Because those calculations cause browsers to reflow\n\t\t// that can cause IE10 to take 200ms to render a context menu.\n\t\tvar cmWidth = 150;\n\t\tvar cmHeight = contextMenuItemHeight * $ul.children().length;\n\t\tvar startX = event.pageX + cmWidth >= window.innerWidth ? event.pageX - cmWidth : event.pageX;\n\t\tvar startY = event.pageY + cmHeight >= window.innerHeight ? event.pageY - cmHeight : event.pageY;\n\n\t\t$ul.css({\n\t\t\tdisplay: 'block',\n\t\t\tposition: 'absolute',\n\t\t\tleft: startX,\n\t\t\ttop: startY,\n\t\t\t'min-width': cmWidth\n\t\t});\n\t}\n}"
  },
  {
    "path": "pe-inline-editing-data-table/widget/pe-inline-editing-data-table.u-option-schema.json",
    "content": "[{\"hint\":\"If enabled, show the list filter in the breadcrumbs of the data table\",\"name\":\"enable_filter\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Enable Filter\",\"type\":\"boolean\"}]"
  },
  {
    "path": "pe-inline-editing-data-table/widget/pe-inline-editing-data-table.u-server-script.js",
    "content": "(function() {\n\tif (!input) // asynch load list\n\t\treturn;\n\n    if (input.action == 'INLINE_EDIT') {\n        var inlineForm = $sp.getForm(input.table, input.sys_id);\n        data.inlineForm = inlineForm;\n        return;\n    }\n\n    data.msg = {};\n\tdata.msg.sortingByAsc = gs.getMessage(\"Sorting by ascending\");\n\tdata.msg.sortingByDesc = gs.getMessage(\"Sorting by descending\");\n\n\t/*\n\t * data.table = the table\n\t * data.p = the current page starting at 1\n\t * data.o = the order by column\n\t * data.d = the order by direction\n\t * data.keywords = the keyword search term\n\t * data.list = the table data as an array\n\t * data.invalid_table = true if table is invalid or if data was not succesfully fetched\n\t * data.table_label = the table's display name. e.g. Incident\n\t * data.table_plural = the table's plural display name. e.g. Incidents\n\t * data.fields = a comma delimited list of field names to show in the data table\n\t * data.column_labels = a map of field name -> display name\n\t * data.window_size = the number of rows to show\n\t * data.filter = the encoded query\n\t */\n\t// copy to data[name] from input[name] || option[name]\n\toptCopy(['table', 'p', 'o', 'd', 'filter', 'filterACLs', 'fields', 'keywords', 'view']);\n\toptCopy(['relationship_id', 'apply_to', 'apply_to_sys_id', 'window_size']);\n\tif (!data.table) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = \"\";\n\t\treturn;\n\t}\n\n\tif (!data.fields) {\n\t\tif (data.view)\n\t\t\tdata.fields = $sp.getListColumns(data.table, data.view);\n\t\telse\n\t\t\tdata.fields = $sp.getListColumns(data.table);\n\t}\n\n\tdata.title = input.headerTitle;\n\tdata.view = data.view || 'mobile';\n\tdata.table = data.table || $sp.getValue('table');\n\tdata.filter = data.filter || $sp.getValue('filter');\n\tdata.keywords = data.keywords || $sp.getValue('keywords');\n\tdata.p = data.p || $sp.getValue('p') || 1;\n\tdata.p = parseInt(data.p);\n\tdata.o = data.o || $sp.getValue('o') || $sp.getValue('order_by');\n\tdata.d = data.d || $sp.getValue('d') || $sp.getValue('order_direction');\n\tdata.page_index = data.p - 1;\n\tdata.show_new = data.show_new || options.show_new;\n\tvar windowSize = data.window_size || $sp.getValue('maximum_entries') || 20;\n\twindowSize = parseInt(windowSize);\n\tif (isNaN(windowSize) || windowSize < 1)\n\t\twindowSize = 20;\n\tdata.window_size = windowSize;\n\n\tvar gr;\n\tif (gs.getProperty(\"glide.security.ui.filter\") == \"true\" || GlideTableDescriptor.get(data.table).getED().hasAttribute(\"glide.security.ui.filter\")) {\n\t\tgr = new FilteredGlideRecord(data.table);\n\t\tgr.applyRowSecurity();\n\t} else\n\t\tgr = new GlideRecordSecure(data.table);\n\tif (!gr.isValid()) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = data.table;\n\t\treturn;\n\t}\n\n  data.canCreate = gr.canCreate();\n\tdata.newButtonUnsupported = data.table == \"sys_attachment\";\n\tdata.table_label = gr.getLabel();\n\tdata.table_plural = gr.getPlural();\n\tif (data.filter) {\n\t\tif (data.filterACLs)\n\t\t\tgr = $sp.addQueryString(gr, data.filter);\n\t\telse\n\t\t\tgr.addEncodedQuery(data.filter);\n\t}\n\n\tif (data.keywords){\n\t\tgr.addQuery('123TEXTQUERY321', data.keywords);\n\t\tdata.keywords = null;\n\t}\n\n\tdata.filter = gr.getEncodedQuery();\n\n\tif (data.relationship_id) {\n\t\tvar rel = GlideRelationship.get(data.relationship_id);\n\t\tvar target = new GlideRecord(data.table);\n\t\tvar applyTo = new GlideRecord(data.apply_to);\n\t\tapplyTo.get(\"sys_id\", data.apply_to_sys_id);\n\t\trel.queryWith(applyTo, target); // put the relationship query into target\n\t\tgr.addEncodedQuery(target.getEncodedQuery()); // get the query the relationship made for us\n\t}\n\n\tif (data.o){\n\t\tif (data.d == \"asc\")\n\t\t\tgr.orderBy(data.o);\n\t\telse\n\t\t\tgr.orderByDesc(data.o);\n\t}\n\n\tdata.window_start = data.page_index * data.window_size;\n\tdata.window_end = (data.page_index + 1) * data.window_size;\n\tgr.chooseWindow(data.window_start, data.window_end);\n\tgr._query();\n\n\tdata.row_count = gr.getRowCount();\n\tdata.num_pages = Math.ceil(data.row_count / data.window_size);\n\tdata.column_labels = {};\n\tdata.fields_array = data.fields.split(',');\n\n\t// use GlideRecord to get field labels vs. GlideRecordSecure\n\tvar grForLabels = new GlideRecord(data.table);\n\tfor (var i in data.fields_array) {\n\t\tvar field = data.fields_array[i];\n\t\tvar ge = grForLabels.getElement(field);\n\t\tif (ge == null)\n\t\t\tcontinue;\n\n\t\tdata.column_labels[field] = ge.getLabel();\n\t}\n\n\tdata.list = [];\n\twhile (gr._next()) {\n\t\tvar record = {};\n\t\t$sp.getRecordElements(record, gr, data.fields);\n\t\tif (gr instanceof FilteredGlideRecord) {\n\t\t\t// FilteredGlideRecord doesn't do field-level\n\t\t\t// security, so take care of that here\n\t\t\tfor (var f in data.fields_array) {\n\t\t\t\tvar fld = data.fields_array[f];\n\t\t\t\tif (!gr.isValidField(fld))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!gr[fld].canRead()) {\n\t\t\t\t\trecord[fld].value = null;\n\t\t\t\t\trecord[fld].display_value = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\trecord.sys_id = gr.getValue('sys_id');\n\t\tdata.list.push(record);\n\t}\n\n\tdata.enable_filter = (input.enable_filter == true || input.enable_filter == \"true\" ||\n\t\toptions.enable_filter == true || options.enable_filter == \"true\");\n\tvar breadcrumbWidgetParams = {\n\t\ttable: data.table,\n\t\tquery: data.filter,\n\t\tenable_filter: data.enable_filter\n\t};\n\tdata.filterBreadcrumbs = $sp.getWidget('widget-filter-breadcrumbs', breadcrumbWidgetParams);\n\n\t// copy to data from input or options\n\tfunction optCopy(names) {\n\t\tnames.forEach(function(name) {\n\t\t\tdata[name] = input[name] || options[name];\n\t\t})\n\t}\n\n})();\n"
  },
  {
    "path": "pe-itbm-business-unit-details/Readme.md",
    "content": "# Business Unit Details (ITBM Experience)\n\n## Description\n\nThis widget provides the ability to cascade multiple panels of information and relevant data across small form factor elements.\n\n## Screenshots\n<table><tr style='vertical-align:top'><td>\n\n### Collapsed\n![](../images/pe-itbm-business-unit-details-1.png)\n</td><td>\n\n### Expanded\n![](../images/pe-itbm-business-unit-details-2.png)\n</td><td>\n\n### Expanded Details\n![](../images/pe-itbm-business-unit-details-3.png)\n</td></tr></table>\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-itbm-business-unit-details.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-itbm-business-unit-details/pe-itbm-business-unit-details.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nThere are two types of sample data sets provided and included in the Server Script file.\n<br/>First, the data set that is used to build the multiple panels.\n<br/>And, the data set - chartOptions - used to build the two donut charts (ROI and RISK SCORE).\n<br/>Both are included as part of the Server Script file.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$bud-font-color: #65666A !default;`<br/>\n`$bud-font-softcolor: #b4b2b3 !default;`<br/>\n`$bud-background-color: #FFFFFF !default;`<br/>\n`$bud-border-color: #E4E5E6 !default;`<br/>\n`$bud-btn-border: #DBDAD6 !default;`<br/>\n`$bud-red: #e51b24 !default;`<br/>\n`$bud-orange: #e89033 !default;`<br/>\n`$bud-green: #70BE5A !default;`<br/>"
  },
  {
    "path": "pe-itbm-business-unit-details/pe-itbm-business-unit-details.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-26 18:31:04\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Buisness Unit Details</description>\n<inserted/>\n<name>PE ITBM Widget - Buisness Unit Details</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>e5777cfb1386ba006749bccf3244b011</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 18:31:04</sys_created_on>\n<sys_id>2c1ae4724fd2fe0005be4d6e0210c7d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 18:31:04</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 12:53:25&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Buisness Unit Details\">2c1ae4724fd2fe0005be4d6e0210c7d7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 18:31:04</sys_created_on>\n<sys_id>741ae4724fd2fe0005be4d6e0210c7d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 18:31:04</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_74cfed01135a3e006749bccf3244b04d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function BusinessUnitDetailsController($timeout) {\n  var bud = this;\n  bud.showPrjIdx = -1;\n  bud.showPrjRvwIdx = -1;\n\n  bud.showPrj = function(idx) {\n    bud.showPrjRvwIdx = -1;\n    if (bud.showPrjIdx === idx) {\n      bud.showPrjIdx = -1;\n    } else {\n      bud.showPrjIdx = idx;\n    }\n  };\n\n  bud.showPrjRvw = function(idx) {\n    bud.showPrjIdx = -1;\n    if (bud.showPrjRvwIdx === idx) {\n      bud.showPrjRvwIdx = -1;\n    } else {\n      goTo(idx);\n      bud.showPrjRvwIdx = idx;\n    }\n  };\n\n  function goTo(idx) {\n    var goAnchor = $('#pnlReview' + idx);\n    $('html, body').stop().animate({ scrollTop: goAnchor.offset().top }, 800);\n  }\n  $timeout(function() {\n    var elROI = document.querySelectorAll(\"div.roi\");\n    var elRisk = document.querySelectorAll(\"div.risk\");\n    $.each(elROI, function(i, el) {\n      buildGraph(el.id, 'ROI', '#70BE5A', parseInt(el.dataset.value));\n    });\n    $.each(elRisk, function(i, el) {\n      buildGraph(el.id, 'RISK SCORE', '#e89033', parseInt(el.dataset.value));\n    });\n  });\n\n  function buildGraph(cntr, title, color, val) {\n    var charts = [];\n    var chtVal = 50;\n    var gap = (100 - chtVal);\n\n    var plotOpts = bud.data.chartOptions;\n\n    plotOpts.subtitle.text = title;\n    plotOpts.title.text = (val + '%');\n    plotOpts.series = [{ data: [\n      ['', val],\n      ['', (100 - val)]\n    ] }];\n    plotOpts.colors = [color, '#F0F0F0'];\n    var x = new Highcharts.Chart(cntr, plotOpts, function(chartObj) {\n      chartObj.title.update({ text: (val + '%') });\n    });\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;bud&lt;/controller_as&gt;&lt;css&gt;@import url('https://fonts.googleapis.com/css?family=Montserrat');\n\n$bud-font-color: #65666A !default;\n$bud-font-softcolor: #b4b2b3 !default;\n$bud-background-color: #FFFFFF !default;\n$bud-border-color: #E4E5E6 !default;\n$bud-btn-border: #DBDAD6 !default;\n$bud-red: #e51b24 !default;\n$bud-orange: #e89033 !default;\n$bud-green: #70BE5A !default;\n\n.highcharts-root{\n  font-family: inherit !important;\n}\n.bud-details{\n  margin-top: 10px;\n  font-family: \"Montserrat\",\"SourceSansPro\", Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  background-color: $bud-background-color;\n}\n.bud-details-top{\n  border: 1px solid $bud-border-color;\n  padding: 5px;\n  padding-bottom: 15px;\n}\n.bud-details-title{\n  margin-left: 10px;\n  height: 18px;\n  font-size: 18px;\n  line-height: 22px;\n  color: $bud-font-color;\n}\n.bud-details-bigmoney{\n  text-align: center;\n  height: 44px;\n  font-size: 34px;\n  font-weight: bold;\n  line-height: 41px;\n  color: $bud-green;\n  padding-top: 10px;\n}\n.bud-details-subtitle{\n  text-align: center;\n  height: 12px;\n  font-size: 12px;\n  line-height: 14px;\n  color: $bud-font-softcolor;\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.prj-details {\n  margin-left: 0px;\n  border-left: solid 3px $bud-green;\n  border-bottom: 1px solid $bud-border-color;\n  border-right: 1px solid $bud-border-color;\n  margin-right: 0px;\n  line-height: 50px;\n}\n.prj-details-red{\n  border-left: solid 3px $bud-red;\n}\n.prj-details-org{\n  border-left: solid 3px $bud-orange;\n}\n.prj-name {\n  text-align:left;\n  font-size: 18px;\n}\n.prj-cat {\n  padding-top:5px;\n  text-align:center;\n  font-size: 22px;\n  line-height: 28px;\n  color: $bud-green;\n}\n.prj-cat-red{\n  color: $bud-red;\n}\n.prj-cat-org{\n  color: $bud-orange;\n}\n.prj-text-sm{\n  font-size: 9px;\n  color: $bud-font-softcolor;\n  text-align:center;\n  line-height: 10px;\n}\n.bud-btn-align{\n  text-align: center;\n  padding-top: 10px;\n  padding-bottom: 5px;\n}\n.bud-btn{\n  width: 90%;\n  height: 50px;\n  background-color: $bud-background-color;\n  border: 3px solid $bud-btn-border;\n  border-radius: 8px;\n  font-size: 14px;\n  font-weight: bold;\n  line-height: 14px;\n  color: $bud-font-softcolor;\n}\n.bud-hidden-projects {\n  display: none;\n  margin-top: -1px;\n  padding: 0px;\n  background-color: $bud-background-color;\n  border: 1px solid #E4E5E6;\n  border-bottom: 0px solid transparent;\n}\n.bud-show-projects{\n  display: block;\n}\n.bud-hidden-button{\n  display: none;\n}\n.bud-show-button{\n  display: block;\n}\n.bud-prj-pipeline-top{\n  background-color: $bud-background-color;\n  border: 1px solid $bud-border-color;\n  padding: 5px;\n  margin-left: -7px;\n  margin-right: -8px;\n}\n.bud-prj-pipeline{\n  background-color: $bud-background-color;\n  border: 1px solid $bud-border-color;\n  padding: 5px;\n  margin-left: -7px;\n  margin-right: -8px;\n  min-height: 110px;\n}\n.bud-prj-pipeline-title{\n  height: 16px;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 19px;\n  color: $bud-font-color;\n  padding-bottom: 5px;\n}\n.bud-prj-pipeline-prj{\n  height: 14px;\n  font-size: 12px;\n  font-weight: lighter;\n  line-height: 14px;\n  color: $bud-font-color;\n  padding-top: 5px;\n}\n.bud-prj-pipeline-money{\n  float: right;\n  width: 150px;\n  height: 44px;\n  font-size: 38px;\n  font-weight: normal;\n  text-align: center;\n  line-height: 44px;\n  color: $bud-font-color;\n}\n.bud-prj-pipeline-cost{\n  padding-top: 20px;\n  height: 24px;\n  font-size: 24px;\n  font-weight: bold;\n  text-align: center;\n  line-height: 29px;\n  color: #70BE5A;\n  padding-bottom: 5px;\n  margin-left: 5px;\n}\n.bud-prj-pipeline-label{\n  padding-top: 20px;\n  height: 12px;\n  font-size: 12px;\n  font-weight: bold;\n  text-align: center;\n  line-height: 14px;\n  color: $bud-font-softcolor;\n  margin-left: 5px;\n}\n.bud-prj-pipeline-subtitle{\n  height: 16px;\n  font-size: 16px;\n  font-weight: lighter;\n  line-height: 19px;\n  color: $bud-font-softcolor;\n  padding-top: 3px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-itbm-business-unit-details&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE ITBM Business Unit Details&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n\tdata.details = [{\n\t\ttitle: \"Human Capital Management\", value: \"$500,000\", label: \"POTENTIAL SAVE\",\n\t\tpipeline : {\n\t\t\tprojects: 2,\n\t\t\tvalue: \"$500K\",\n\t\t\tproject : [{\n\t\t\t\ttitle: \"New Hire Onboarding\",\n\t\t\t\tsubtitle: \"Globalization\",\n\t\t\t\tvalue: \"$150K\",\n\t\t\t\troi: 90,\n\t\t\t\trisk: 20\n\t\t\t},{\n\t\t\t\ttitle: \"T&amp;A\",\n\t\t\t\tsubtitle: \"Cloud Migration\",\n\t\t\t\tvalue: \"$250K\",\n\t\t\t\troi: 110,\n\t\t\t\trisk: 30\n\t\t\t}]\n\t\t},\n\t\tprojects : [{\n\t\t\ttitle: \"Oracle\",\n\t\t\tstatus: 1,\n\t\t\tcategory : [{ title: \"COST\", value: \"$200K\", status: 1 },\n\t\t\t\t\t\t\t\t\t{ title: \"CSAT\", value: \"80\",\tstatus: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"25%\", status: 1 }]\n\t\t\t},{\n\t\t\ttitle: \"SAP\",\n\t\t\tstatus: 2,\n\t\t\tcategory : [{ title: \"COST\", value: \"$300K\", status: 1 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"CSAT\", value: \"85\", status: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"20%\", status: 2 }]\n\t\t\t},{\n\t\t\ttitle: \"Workday\",\n\t\t\tstatus: 3,\n\t\t\tcategory : [{\ttitle: \"COST\", value: \"$50K\",\tstatus: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"CSAT\", value: \"98\", status: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"5%\", status: 3\t}]\n\t\t\t}]\n\t\t},{\n\t\ttitle: \"Talent Acquisition\", value: \"$250,000\", label: \"POTENTIAL SAVE\",\n\t\tpipeline : { projects: 0 },\n\t\tprojects : [{\n\t\t\ttitle: \"Oracle\",\n\t\t\tstatus: 3,\n\t\t\tcategory : [{ title: \"COST\", value: \"$150K\", status: 2 },\n\t\t\t\t\t\t\t\t\t{ title: \"CSAT\", value: \"99\",\tstatus: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"0%\", status: 3 }]\n\t\t\t},{\n\t\t\ttitle: \"SAP\",\n\t\t\tstatus: 3,\n\t\t\tcategory : [{ title: \"COST\", value: \"$100K\", status: 2 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"CSAT\", value: \"96\", status: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"2%\", status: 3 }]\n\t\t\t}]\n\t\t},{\n\t\ttitle: \"Workforce Planning\", value: \"$250,000\", label: \"POTENTIAL SAVE\",\n\t\tpipeline : { projects: 0 },\n\t\tprojects : [{\n\t\t\ttitle: \"Oracle\",\n\t\t\tstatus: 3,\n\t\t\tcategory : [{ title: \"COST\", value: \"$75K\", status: 3 },\n\t\t\t\t\t\t\t\t\t{ title: \"CSAT\", value: \"96\",\tstatus: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"4%\", status: 3 }]\n\t\t\t},{\n\t\t\ttitle: \"SAP\",\n\t\t\tstatus: 3,\n\t\t\tcategory : [{ title: \"COST\", value: \"$50K\", status: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"CSAT\", value: \"96\", status: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"2%\", status: 3 }]\n\t\t\t},{\n\t\t\ttitle: \"Workday\",\n\t\t\tstatus: 3,\n\t\t\tcategory : [{\ttitle: \"COST\", value: \"$125K\",\tstatus: 2 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"CSAT\", value: \"97\", status: 3 },\n\t\t\t\t\t\t\t\t\t{\ttitle: \"SLA BREACHED\", value: \"1%\", status: 3\t}]\n\t\t\t}]\n\t\t}];\n\n\tdata.chartOptions = {\n\t\tchart: { type: 'pie', reflow: false, spacing: [0,0,0,0], marginTop : -10, height : 90, width : 90, spacingBottom : 12 },\n\t\tplotOptions: { pie: { borderWidth: 0, innerSize: '70%', dataLabels: { enabled: false } } },\n\t\tcolors: ['#E89033', '#dbdad6'],\n\t\texporting:{ enabled: false },\n\t\tcredits:{ enabled: false },\n\t\tsubtitle: { text: 'title', verticalAlign : 'bottom',y : 11,style : { fontSize: '12px',fontWeight: 'bold', color: '#B4B2B3' }, widthAdjust: 80 },\n\t\ttitle: { text: '%', margin: 0, y:0, x:0, style : { fontSize: '12px',fontWeight: 500, color: '#000000' }, align: 'center', verticalAlign: \"middle\" },\n\t\tlegend: { enabled: false },\n\t\txAxis: { labels: { enabled: false }\t},\n\t\tyAxis: { allowDecimals: false, title: null, labels: { enabled: false } },\n\t\ttooltip: { enabled: false  },\n\t\tseries: []\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 13:07:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;74cfed01135a3e006749bccf3244b04d&lt;/sys_id&gt;&lt;sys_mod_count&gt;85&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE ITBM Business Unit Details&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_74cfed01135a3e006749bccf3244b04d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-26 18:27:25&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='container bud-details' ng-repeat='item in bud.data.details track by $index'&gt;\n  &lt;div class='row bud-details-top'&gt;\n    &lt;div class='col'&gt;\n      &lt;div class='row'&gt;&lt;div class='col bud-details-title'&gt;{{::item.title}}&lt;/div&gt;&lt;/div&gt;\n      &lt;div class='row'&gt;&lt;div class='col bud-details-bigmoney' ng-click='bud.showPrj($index)'&gt;{{::item.value}}&lt;/div&gt;&lt;/div&gt;\n      &lt;div class='row'&gt;&lt;div class='col bud-details-subtitle' ng-click='bud.showPrj($index)'&gt;{{::item.label}}&lt;/div&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-show='bud.showPrjIdx == {{$index}}'&gt;\n    &lt;div class='row' id='proj{{$index}}'&gt;\n      &lt;div class='col'&gt;\n        &lt;div class='row prj-details' ng-repeat='prj in item.projects' ng-class=\"{'prj-details-red': prj.status===1,'prj-details-org': prj.status===2}\"&gt;\n          &lt;div class='col-xs-3 prj-name'&gt;{{::prj.title}}&lt;/div&gt;\n          &lt;div class='col-xs-3' ng-repeat='cat in prj.category'&gt;\n            &lt;div class='row'&gt;&lt;div class='col prj-cat' ng-class=\"{'prj-cat-red': cat.status===1,'prj-cat-org': cat.status===2}\"&gt;{{::cat.value}}&lt;/div&gt;&lt;/div&gt;\n            &lt;div class='row'&gt;&lt;div class='col prj-text-sm'&gt;{{::cat.title}}&lt;/div&gt;&lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class='row' id='rvwBtn{{$index}}' ng-show='item.pipeline.projects &gt; 0'&gt;\n      &lt;div class='col-xs-12 bud-btn-align'&gt;&lt;button type=\"button\" class=\"btn bud-btn\" ng-click='bud.showPrjRvw($index)'&gt;REVIEW PROJECTS&lt;/button&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;div class='container bud-details' ng-repeat='item in bud.data.details track by $index' id='pnlReview{{$index}}'&gt;\n  &lt;div ng-show='bud.showPrjRvwIdx == {{$index}}'&gt;\n    &lt;div class='container bud-prj-pipeline-top'&gt;\n    &lt;div class='row'&gt;\n  \t\t&lt;div class='col-xs-6'&gt;\n  \t\t\t&lt;div class='bud-prj-pipeline-title'&gt;Project Pipeline&lt;/div&gt;\n\t\t\t\t&lt;div class='bud-prj-pipeline-prj'&gt;{{::item.pipeline.projects}} Projects&lt;/div&gt;\n  \t\t&lt;/div&gt;\n       \t&lt;div class='col-xs-6'&gt;\n  \t\t\t&lt;div class='bud-prj-pipeline-money'&gt;{{::item.pipeline.value}}&lt;/div&gt;\n  \t\t&lt;/div&gt;\n  \t&lt;/div&gt;\n  \t&lt;/div&gt;\n  \t&lt;div class='container bud-prj-pipeline' style='border-top: 0px;' ng-repeat='pipe in item.pipeline.project'&gt;\n    &lt;div class='row'&gt;\n  \t\t&lt;div class='col-xs-12'&gt;\n  \t\t\t&lt;div class='bud-prj-pipeline-title'&gt;{{::pipe.title}}&lt;/div&gt;\n        &lt;div class='bud-prj-pipeline-subtitle'&gt;{{::pipe.subtitle}}&lt;/div&gt;\n  \t\t&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class='row'&gt;\n       \t&lt;div class='col-xs-4'&gt;\n          &lt;div class='bud-prj-pipeline-cost'&gt;{{::pipe.value}}&lt;/div&gt;\n\t\t\t\t\t&lt;div class='bud-prj-pipeline-label'&gt;PROJECT COST&lt;/div&gt;\n        &lt;/div&gt;\n       \t&lt;div class='col-xs-8'&gt;\n          &lt;div class='row'&gt;\n            &lt;div class='col-xs-6'&gt;&lt;div id='chtROI{{$index}}' class='roi' data-value='{{::pipe.roi}}' style='float:right;margin-right:-10px;margin-top:5px;'&gt;X&lt;/div&gt;&lt;/div&gt;\n            &lt;div class='col-xs-6'&gt;&lt;div id='chtRisk{{$index}}' class='risk' data-value='{{::pipe.risk}}' style='float:right;margin-right:10px;margin-top:5px;'&gt;X&lt;/div&gt;&lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n  \t&lt;/div&gt;\n  \t&lt;/div&gt;\n    &lt;div class='row' id='rvwBtn{{$index}}' ng-show='item.pipeline.projects &gt; 0'&gt;\n      &lt;div class='col-xs-12 bud-btn-align'&gt;&lt;button type=\"button\" class=\"btn bud-btn\" ng-click='bud.showPrjRvw($index)'&gt;CLOSE REVIEW&lt;/button&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Buisness Unit Details\">2c1ae4724fd2fe0005be4d6e0210c7d7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 18:31:04</sys_created_on>\n<sys_id>b01ae4724fd2fe0005be4d6e0210c7d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 18:31:04</sys_updated_on>\n<table/>\n<target_name>PE ITBM Business Unit Details</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_ce2564fe4f92fe0005be4d6e0210c7e0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_widget display_value=\"PE ITBM Business Unit Details\">74cfed01135a3e006749bccf3244b04d</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-26 18:09:35</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ce2564fe4f92fe0005be4d6e0210c7e0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE ITBM Business Unit Details</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_ce2564fe4f92fe0005be4d6e0210c7e0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-26 18:09:35</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE ITBM Widget - Buisness Unit Details\">2c1ae4724fd2fe0005be4d6e0210c7d7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 18:31:04</sys_created_on>\n<sys_id>fc1ae4724fd2fe0005be4d6e0210c7d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 18:31:04</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE ITBM Business Unit Details</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-itbm-business-unit-details/widget/pe-itbm-business-unit-details.u-body-html-template.html",
    "content": "<div class='container bud-details' ng-repeat='item in bud.data.details track by $index'>\r\n    <div class='row bud-details-top'>\r\n        <div class='col'>\r\n            <div class='row'>\r\n                <div class='col bud-details-title'>{{::item.title}}</div>\r\n            </div>\r\n            <div class='row'>\r\n                <div class='col bud-details-bigmoney' ng-click='bud.showPrj($index)'>{{::item.value}}</div>\r\n            </div>\r\n            <div class='row'>\r\n                <div class='col bud-details-subtitle' ng-click='bud.showPrj($index)'>{{::item.label}}</div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div ng-show='bud.showPrjIdx == {{$index}}'>\r\n        <div class='row' id='proj{{$index}}'>\r\n            <div class='col'>\r\n                <div class='row prj-details' ng-repeat='prj in item.projects' ng-class=\"{'prj-details-red': prj.status===1,'prj-details-org': prj.status===2}\">\r\n                    <div class='col-xs-3 prj-name'>{{::prj.title}}</div>\r\n                    <div class='col-xs-3' ng-repeat='cat in prj.category'>\r\n                        <div class='row'>\r\n                            <div class='col prj-cat' ng-class=\"{'prj-cat-red': cat.status===1,'prj-cat-org': cat.status===2}\">{{::cat.value}}</div>\r\n                        </div>\r\n                        <div class='row'>\r\n                            <div class='col prj-text-sm'>{{::cat.title}}</div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class='row' id='rvwBtn{{$index}}' ng-show='item.pipeline.projects > 0'>\r\n            <div class='col-xs-12 bud-btn-align'><button type=\"button\" class=\"btn bud-btn\" ng-click='bud.showPrjRvw($index)'>REVIEW PROJECTS</button></div>\r\n        </div>\r\n    </div>\r\n</div>\r\n<div class='container bud-details' ng-repeat='item in bud.data.details track by $index' id='pnlReview{{$index}}'>\r\n    <div ng-show='bud.showPrjRvwIdx == {{$index}}'>\r\n        <div class='container bud-prj-pipeline-top'>\r\n            <div class='row'>\r\n                <div class='col-xs-6'>\r\n                    <div class='bud-prj-pipeline-title'>Project Pipeline</div>\r\n                    <div class='bud-prj-pipeline-prj'>{{::item.pipeline.projects}} Projects</div>\r\n                </div>\r\n                <div class='col-xs-6'>\r\n                    <div class='bud-prj-pipeline-money'>{{::item.pipeline.value}}</div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class='container bud-prj-pipeline' style='border-top: 0px;' ng-repeat='pipe in item.pipeline.project'>\r\n            <div class='row'>\r\n                <div class='col-xs-12'>\r\n                    <div class='bud-prj-pipeline-title'>{{::pipe.title}}</div>\r\n                    <div class='bud-prj-pipeline-subtitle'>{{::pipe.subtitle}}</div>\r\n                </div>\r\n            </div>\r\n            <div class='row'>\r\n                <div class='col-xs-4'>\r\n                    <div class='bud-prj-pipeline-cost'>{{::pipe.value}}</div>\r\n                    <div class='bud-prj-pipeline-label'>PROJECT COST</div>\r\n                </div>\r\n                <div class='col-xs-8'>\r\n                    <div class='row'>\r\n                        <div class='col-xs-6'>\r\n                            <div id='chtROI{{$index}}' class='roi' data-value='{{::pipe.roi}}' style='float:right;margin-right:-10px;margin-top:5px;'>X</div>\r\n                        </div>\r\n                        <div class='col-xs-6'>\r\n                            <div id='chtRisk{{$index}}' class='risk' data-value='{{::pipe.risk}}' style='float:right;margin-right:10px;margin-top:5px;'>X</div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class='row' id='rvwBtn{{$index}}' ng-show='item.pipeline.projects > 0'>\r\n            <div class='col-xs-12 bud-btn-align'><button type=\"button\" class=\"btn bud-btn\" ng-click='bud.showPrjRvw($index)'>CLOSE REVIEW</button></div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-itbm-business-unit-details/widget/pe-itbm-business-unit-details.u-client-script.js",
    "content": "function BusinessUnitDetailsController($timeout) {\n  var bud = this;\n  bud.showPrjIdx = -1;\n  bud.showPrjRvwIdx = -1;\n\n  bud.showPrj = function(idx) {\n    bud.showPrjRvwIdx = -1;\n    if (bud.showPrjIdx === idx) {\n      bud.showPrjIdx = -1;\n    } else {\n      bud.showPrjIdx = idx;\n    }\n  };\n\n  bud.showPrjRvw = function(idx) {\n    bud.showPrjIdx = -1;\n    if (bud.showPrjRvwIdx === idx) {\n      bud.showPrjRvwIdx = -1;\n    } else {\n      goTo(idx);\n      bud.showPrjRvwIdx = idx;\n    }\n  };\n\n  function goTo(idx) {\n    var goAnchor = $('#pnlReview' + idx);\n    $('html, body').stop().animate({ scrollTop: goAnchor.offset().top }, 800);\n  }\n  $timeout(function() {\n    var elROI = document.querySelectorAll(\"div.roi\");\n    var elRisk = document.querySelectorAll(\"div.risk\");\n    $.each(elROI, function(i, el) {\n      buildGraph(el.id, 'ROI', '#70BE5A', parseInt(el.dataset.value));\n    });\n    $.each(elRisk, function(i, el) {\n      buildGraph(el.id, 'RISK SCORE', '#e89033', parseInt(el.dataset.value));\n    });\n  });\n\n  function buildGraph(cntr, title, color, val) {\n    var charts = [];\n    var chtVal = 50;\n    var gap = (100 - chtVal);\n\n    var plotOpts = bud.data.chartOptions;\n\n    plotOpts.subtitle.text = title;\n    plotOpts.title.text = (val + '%');\n    plotOpts.series = [{ data: [\n      ['', val],\n      ['', (100 - val)]\n    ] }];\n    plotOpts.colors = [color, '#F0F0F0'];\n    var x = new Highcharts.Chart(cntr, plotOpts, function(chartObj) {\n      chartObj.title.update({ text: (val + '%') });\n    });\n  }\n}"
  },
  {
    "path": "pe-itbm-business-unit-details/widget/pe-itbm-business-unit-details.u-css.scss",
    "content": "@import url('https://fonts.googleapis.com/css?family=Montserrat');\n\n$bud-font-color: #65666A !default;\n$bud-font-softcolor: #b4b2b3 !default;\n$bud-background-color: #FFFFFF !default;\n$bud-border-color: #E4E5E6 !default;\n$bud-btn-border: #DBDAD6 !default;\n$bud-red: #e51b24 !default;\n$bud-orange: #e89033 !default;\n$bud-green: #70BE5A !default;\n\n.highcharts-root{\n  font-family: inherit !important;\n}\n.bud-details{\n  margin-top: 10px;\n  font-family: \"Montserrat\",\"SourceSansPro\", Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  background-color: $bud-background-color;\n}\n.bud-details-top{\n  border: 1px solid $bud-border-color;\n  padding: 5px;\n  padding-bottom: 15px;\n}\n.bud-details-title{\n  margin-left: 10px;\n  height: 18px;\n  font-size: 18px;\n  line-height: 22px;\n  color: $bud-font-color;\n}\n.bud-details-bigmoney{\n  text-align: center;\n  height: 44px;\n  font-size: 34px;\n  font-weight: bold;\n  line-height: 41px;\n  color: $bud-green;\n  padding-top: 10px;\n}\n.bud-details-subtitle{\n  text-align: center;\n  height: 12px;\n  font-size: 12px;\n  line-height: 14px;\n  color: $bud-font-softcolor;\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n.prj-details {\n  margin-left: 0px;\n  border-left: solid 3px $bud-green;\n  border-bottom: 1px solid $bud-border-color;\n  border-right: 1px solid $bud-border-color;\n  margin-right: 0px;\n  line-height: 50px;\n}\n.prj-details-red{\n  border-left: solid 3px $bud-red;\n}\n.prj-details-org{\n  border-left: solid 3px $bud-orange;\n}\n.prj-name {\n  text-align:left;\n  font-size: 18px;\n}\n.prj-cat {\n  padding-top:5px;\n  text-align:center;\n  font-size: 22px;\n  line-height: 28px;\n  color: $bud-green;\n}\n.prj-cat-red{\n  color: $bud-red;\n}\n.prj-cat-org{\n  color: $bud-orange;\n}\n.prj-text-sm{\n  font-size: 9px;\n  color: $bud-font-softcolor;\n  text-align:center;\n  line-height: 10px;\n}\n.bud-btn-align{\n  text-align: center;\n  padding-top: 10px;\n  padding-bottom: 5px;\n}\n.bud-btn{\n  width: 90%;\n  height: 50px;\n  background-color: $bud-background-color;\n  border: 3px solid $bud-btn-border;\n  border-radius: 8px;\n  font-size: 14px;\n  font-weight: bold;\n  line-height: 14px;\n  color: $bud-font-softcolor;  \n}\n.bud-hidden-projects {\n  display: none;\n  margin-top: -1px;\n  padding: 0px;\n  background-color: $bud-background-color;\n  border: 1px solid #E4E5E6;\n  border-bottom: 0px solid transparent;\n}\n.bud-show-projects{\n  display: block;\n}\n.bud-hidden-button{\n  display: none;\n}\n.bud-show-button{\n  display: block;\n}\n.bud-prj-pipeline-top{\n  background-color: $bud-background-color;\n  border: 1px solid $bud-border-color;\n  padding: 5px;\n  margin-left: -7px;\n  margin-right: -8px;\n}\n.bud-prj-pipeline{\n  background-color: $bud-background-color;\n  border: 1px solid $bud-border-color;\n  padding: 5px;\n  margin-left: -7px;\n  margin-right: -8px;\n  min-height: 110px;\n}\n.bud-prj-pipeline-title{\n  height: 16px;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 19px;\n  color: $bud-font-color;\n  padding-bottom: 5px;\n}\n.bud-prj-pipeline-prj{\n  height: 14px;\n  font-size: 12px;\n  font-weight: lighter;\n  line-height: 14px;\n  color: $bud-font-color;\n  padding-top: 5px;\n}\n.bud-prj-pipeline-money{\n  float: right;\n  width: 150px;\n  height: 44px;\n  font-size: 38px;\n  font-weight: normal;\n  text-align: center;\n  line-height: 44px;\n  color: $bud-font-color;  \n}\n.bud-prj-pipeline-cost{\n  padding-top: 20px;\n  height: 24px;\n  font-size: 24px;\n  font-weight: bold;\n  text-align: center;\n  line-height: 29px;\n  color: #70BE5A;\n  padding-bottom: 5px;\n  margin-left: 5px;\n}\n.bud-prj-pipeline-label{\n  padding-top: 20px;\n  height: 12px;\n  font-size: 12px;\n  font-weight: bold;\n  text-align: center;\n  line-height: 14px;\n  color: $bud-font-softcolor;\n  margin-left: 5px;\n}\n.bud-prj-pipeline-subtitle{\n  height: 16px;\n  font-size: 16px;\n  font-weight: lighter;\n  line-height: 19px;\n  color: $bud-font-softcolor;\n  padding-top: 3px;\n}"
  },
  {
    "path": "pe-itbm-business-unit-details/widget/pe-itbm-business-unit-details.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    data.details = [{\r\n        title: \"Human Capital Management\",\r\n        value: \"$500,000\",\r\n        label: \"POTENTIAL SAVE\",\r\n        pipeline: {\r\n            projects: 2,\r\n            value: \"$500K\",\r\n            project: [{\r\n                title: \"New Hire Onboarding\",\r\n                subtitle: \"Globalization\",\r\n                value: \"$150K\",\r\n                roi: 90,\r\n                risk: 20\r\n            }, {\r\n                title: \"T&A\",\r\n                subtitle: \"Cloud Migration\",\r\n                value: \"$250K\",\r\n                roi: 110,\r\n                risk: 30\r\n            }]\r\n        },\r\n        projects: [{\r\n            title: \"Oracle\",\r\n            status: 1,\r\n            category: [{ title: \"COST\", value: \"$200K\", status: 1 },\r\n                { title: \"CSAT\", value: \"80\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"25%\", status: 1 }\r\n            ]\r\n        }, {\r\n            title: \"SAP\",\r\n            status: 2,\r\n            category: [{ title: \"COST\", value: \"$300K\", status: 1 },\r\n                { title: \"CSAT\", value: \"85\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"20%\", status: 2 }\r\n            ]\r\n        }, {\r\n            title: \"Workday\",\r\n            status: 3,\r\n            category: [{ title: \"COST\", value: \"$50K\", status: 3 },\r\n                { title: \"CSAT\", value: \"98\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"5%\", status: 3 }\r\n            ]\r\n        }]\r\n    }, {\r\n        title: \"Talent Acquisition\",\r\n        value: \"$250,000\",\r\n        label: \"POTENTIAL SAVE\",\r\n        pipeline: { projects: 0 },\r\n        projects: [{\r\n            title: \"Oracle\",\r\n            status: 3,\r\n            category: [{ title: \"COST\", value: \"$150K\", status: 2 },\r\n                { title: \"CSAT\", value: \"99\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"0%\", status: 3 }\r\n            ]\r\n        }, {\r\n            title: \"SAP\",\r\n            status: 3,\r\n            category: [{ title: \"COST\", value: \"$100K\", status: 2 },\r\n                { title: \"CSAT\", value: \"96\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"2%\", status: 3 }\r\n            ]\r\n        }]\r\n    }, {\r\n        title: \"Workforce Planning\",\r\n        value: \"$250,000\",\r\n        label: \"POTENTIAL SAVE\",\r\n        pipeline: { projects: 0 },\r\n        projects: [{\r\n            title: \"Oracle\",\r\n            status: 3,\r\n            category: [{ title: \"COST\", value: \"$75K\", status: 3 },\r\n                { title: \"CSAT\", value: \"96\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"4%\", status: 3 }\r\n            ]\r\n        }, {\r\n            title: \"SAP\",\r\n            status: 3,\r\n            category: [{ title: \"COST\", value: \"$50K\", status: 3 },\r\n                { title: \"CSAT\", value: \"96\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"2%\", status: 3 }\r\n            ]\r\n        }, {\r\n            title: \"Workday\",\r\n            status: 3,\r\n            category: [{ title: \"COST\", value: \"$125K\", status: 2 },\r\n                { title: \"CSAT\", value: \"97\", status: 3 },\r\n                { title: \"SLA BREACHED\", value: \"1%\", status: 3 }\r\n            ]\r\n        }]\r\n    }];\r\n\r\n    data.chartOptions = {\r\n        chart: { type: 'pie', reflow: false, spacing: [0, 0, 0, 0], marginTop: -10, height: 90, width: 90, spacingBottom: 12 },\r\n        plotOptions: { pie: { borderWidth: 0, innerSize: '70%', dataLabels: { enabled: false } } },\r\n        colors: ['#E89033', '#dbdad6'],\r\n        exporting: { enabled: false },\r\n        credits: { enabled: false },\r\n        subtitle: { text: 'title', verticalAlign: 'bottom', y: 11, style: { fontSize: '12px', fontWeight: 'bold', color: '#B4B2B3' }, widthAdjust: 80 },\r\n        title: { text: '%', margin: 0, y: 0, x: 0, style: { fontSize: '12px', fontWeight: 500, color: '#000000' }, align: 'center', verticalAlign: \"middle\" },\r\n        legend: { enabled: false },\r\n        xAxis: { labels: { enabled: false } },\r\n        yAxis: { allowDecimals: false, title: null, labels: { enabled: false } },\r\n        tooltip: { enabled: false },\r\n        series: []\r\n    }\r\n\r\n})();"
  },
  {
    "path": "pe-itbm-interaction-note/Readme.md",
    "content": "# Interaction Note Form (ITBM Experience)\n\n## Description\n\nThe widget provides and interactive form for capturing notes or reminder for posting back to an instance table/list.\n\n## Screenshots\n<table><tr style='vertical-align:top'><td>\n\n### Interactive Form\n![](../images/pe-itbm-interaction-note.png)\n</td><td>\n\n### Message after Submit\n![](../images/pe-itbm-interaction-note-confirm.png)\n</td></tr></table>\n\n## Additional Information/Notes\nThis widget is reliant upon a System User Group in order to display the 'SPOKEN WITH' section of the widget.\nThe System User Group can be set in the Widget Options Schema or hard coded in the Server Script.\n\n---\n## Installation\n---\nDownload and install update set **[pe-itbm-interaction-note.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-itbm-interaction-note/pe-itbm-interaction-note.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**Group Name** Name of the System User Group `Default: Test Group`\n**Card Title** Cart Title `Default: Interaction Form`\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$inf-font-color: #2E2E2E !default;`<br/>\n`$inf-font-softcolor: #65666A !default;`<br/>\n`$inf-font-notselected: #c2c2c2 !default;`<br/>\n`$inf-background-color: #ffffff !default;`<br/>\n`$inf-border-color: #E4E5E6 !default;`<br/>\n`$inf-red: #E51B24 !default;`<br/>\n`$inf-black: #000000 !default;`<br/>\n`$inf-white: #ffffff !default;`<br/>\n`$inf-green: #57B957 !default;`<br/>"
  },
  {
    "path": "pe-itbm-interaction-note/pe-itbm-interaction-note.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-26 12:49:55\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE ITBM Widget - Interaction Note</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>14a77cfb1386ba006749bccf3244b019</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:54</sys_created_on>\n<sys_id>13fbdfee4f12fe0005be4d6e0210c7bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4930fd01135a3e006749bccf3244b026</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, $rootScope, $q, $window, $document, $timeout, $http) {\n  /* widget controller */\n  var inf = this;\n\t\n  inf.users = [];\n\tinf.formData = {\n\t\treminderDate : new Date(),\n\t\treminderText : \"\"\n\t}\n\tfor(var x=0;x&lt;inf.data.users.length;x++){\n\t\tinf.users.push({'photo' : inf.data.users[x].photo, 'status': inf.data.users[x].status ? 'online' : 'offline'});\n\t}\n\t\n\tinf.btnClick = function(btn){\n\t\tinf.selectedButton = btn;\n\t\tel = angular.element(document.getElementById(\"datepicker\"));\n\t\tswitch(btn){\n\t\t\tcase 1:\n\t\t\t\tinf.tomorrow();\n\t\t\t\tel.removeClass('in');\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tinf.weekFromToday();\n\t\t\t\tel.removeClass('in');\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tel.toggleClass('in');\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t\n  inf.showSubmit = function(){\n\t\tvar goAnchor = document.getElementById(\"pageTop\");\n\t\tgoAnchor.scrollIntoView({block: \"start\", behavior: \"smooth\"});\n\t\tel = document.getElementById(\"overlay\");\n\t\tel.style.visibility = (el.style.visibility == \"visible\") ? \"hidden\" : \"visible\";\n\t\t\n/* \n\tEXAMPLE REST call to SUBMIT data to an instance table.\n*/\n/**\n\t\t\n\t\t// Change to appropriate instance table.\n\t\tvar table_name = \"u_some_instance_table\";\n\t\t\n\t\t// Change 'u_tableField_*' references to appropriate fields.  Add additional if necessary. \n\t\tvar data_to_post = {\n\t\t\tu_tableField_reminderText : inf.formData.reminderText,\n\t\t\tu_tableField_reminderDate : inf.formData.reminderDate\n\t\t}\n\t\t\n\t\tvar request = {\n\t\t\tmethod: 'POST',\n\t\t\turl: $window.location.origin+'/api/now/v2/table/' + table_name,\n\t\t\tdata: data_to_post\n\t\t};\n\n\t\t$http(request).success(function (response) {\n\t\t\tconsole.log(response);\n\t\t}).error(function (response) {\n\t\t\tconsole.warn(\"~~ ERR: HTTP POST FAILED ~~\");\n\t\t\tconsole.warn(response);\n\t\t});\n**/\n  };\n\t\n  inf.closeSubmit = function(){\n\t\tel = document.getElementById(\"overlay\");\n\t\tel.style.visibility = \"hidden\";\n\t\t\n\t\tinf.cancelSubmit();\t  \n  };\n\t\n  inf.cancelSubmit = function(){\n\t\t\n\t\t$window.history.back();\t  \n  };\n\n  inf.selectedButton = 1;\n\n  inf.today = function() {\n    inf.formData.reminderDate = new Date();\n  };\n\n  inf.tomorrow = function() {\n    var today = new Date();\n    inf.formData.reminderDate = new Date(today.getFullYear(), today.getMonth(), today.getDate()+1);\n  };\n  inf.tomorrow();\n\n  inf.weekFromToday = function() {\n    var today = new Date();\n    inf.formData.reminderDate = new Date(today.getFullYear(), today.getMonth(), today.getDate()+7);\n  };\n\n  inf.options = {\n    minDate: new Date(),\n    showWeeks: false\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;inf&lt;/controller_as&gt;&lt;css&gt;$inf-font-color: #2E2E2E !default;\n$inf-font-softcolor: #65666A !default;\n$inf-font-notselected: #c2c2c2 !default;\n$inf-background-color: #ffffff !default;\n$inf-border-color: #E4E5E6 !default;\n$inf-red: #E51B24 !default;\n$inf-black: #000000 !default;\n$inf-white: #ffffff !default;\n$inf-green: #57B957 !default;\n\n\n.row.inner-row {\n\tmargin: 0 -5px;\n}\n\n.button {\n\twidth: 100%;\n\theight: 40px;\n\tcolor: $inf-font-notselected;\n\tborder: 3px solid $inf-border-color;\n\tborder-radius: 8px;\n\tbackground-color: $inf-background-color;\n\ttext-transform: uppercase;\n\tmargin-bottom: 10px;\n\t&amp;amp;.button-selected {\n\t\tcolor: $inf-font-color;\n\t\tborder-color: $inf-font-color;\n\t}\n\t&amp;amp;.button-primary {\n\t\tborder: none;\n\t\tbackground-color: $inf-red;\n\t\tcolor: $inf-white;\n\t}\n\t&amp;amp;.button-no-border {\n\t\tborder: none;\n\t}\n}\n.button-icon {\n\tcolor: $inf-red;\n\tfont-size: 18px;\n\tmargin: 0 3px;\n}\n\n.card {\n\tborder: 1px solid $inf-border-color;\n\tpadding: 10px;\n}\n.card-title {\n\tfont-size: 18px;\n\tfont-weight: 500;\n\tcolor: $inf-font-softcolor;\n}\n.card-subheader {\n\tfont-size: 12px;\n\tfont-weight: bold;\n\tcolor: $inf-font-color;\n\ttext-transform: uppercase;\n\tpadding-bottom: 5px;\n\tmargin: 20px 0 10px 0;\n\tborder-bottom: 1px solid $inf-border-color;\n}\n\n.user-bubble {\n\theight: 55px;\n\twidth: 55px;\n\tborder-radius: 100%;\n\tborder: 2.5px solid $inf-border-color;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tmargin-right: 15px;\n\timg {\n\t\twidth: 100%;\n\t}\n\t&amp;amp;.user-online {\n\t\tborder-color: $inf-green;\n\t}\n\t&amp;amp;.user-offline {\n\t\tborder-color: $inf-red;\n\t}\n}\n\ntextarea {\n\tborder: 1px solid $inf-border-color;\n\twidth: 100%;\n}\n.outer-div {\n  visibility: hidden;\n  position: absolute;\n  margin-top: -10px;\n  left: 0px;\n  top: 0px;\n  width:100%;\n  padding: 0px;\n  height:1000px;\n  background: rgba(0,0,0,0.6);\n  z-index: 600;\n}\n.inner-div {\n  margin: 80px auto;\n  width: 90%;\n  background-color: $inf-white;\n  border: 1px solid $inf-border-color;\n  border-radius: 2px;\n  padding: 20px;\n  padding-bottom: 10px;\n  z-index: 700;\n}\n.msg-text{\n  height: 18px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 18px;\n  color: $inf-font-softcolor;\n}\n.msg-title{\n  height: 12px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 14px;\n  color: $inf-font-color;\n}\n\n.uib-datepicker.well {\n  background-color: transparent;\n}\n.uib-datepicker .uib-daypicker {\n  margin: 0 auto;\n}\n.uib-datepicker .btn {\n  border-radius: 0;\n  border: none;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-itbm-interaction-note&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE ITBM Interaction Note&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Name of the System User Group\",\"name\":\"group_name\",\"label\":\"Group Name\",\"type\":\"string\"},{\"name\":\"card_title\",\"default_value\":\"\",\"label\":\"Card Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n\tdata.users = [];\n\tdata.activeUsers = false;\n\t\n\tdata.groupName = options.group_name || \"INF Test Group\";\n  data.cardTitle = options.card_title || \"Interaction Form\";\n\n\tvar usgr = new GlideRecord('sys_user_group');\n\tusgr.addQuery('name', data.groupName);\n\tusgr.query();\n\n\tif (usgr.next()) {\n\t\tvar grmem = new GlideRecord('sys_user_grmember');\n\t\tgrmem.addQuery('group', usgr.sys_id);\n\t\tgrmem.query();\n\t\tvar x = 0;\n\t\twhile (grmem.next()) {\n\t\t\tvar usr = new GlideRecord('sys_user');\n\t\t\tusr.addQuery('sys_id', grmem.user.toString());\n\t\t\tusr.query();\n\t\t\tif (usr.next()) {\n\t\t\t\tvar user = {\n\t\t\t\t\t'id': grmem.user.toString(),\n\t\t\t\t\t'name': usr.user_name.getDisplayValue(),\n\t\t\t\t\t'lname': usr.last_name.getDisplayValue(),\n\t\t\t\t\t'fname': usr.first_name.getDisplayValue(),\n\t\t\t\t\t'title': usr.title.getDisplayValue(),\n\t\t\t\t\t'photo': usr.photo.getDisplayValue(),\n\t\t\t\t\t'status': usr.active.getDisplayValue()\n\t\t\t\t}\n\t\t\t\tdata.users.push(user);\n\t\t\t}\n\t\t}\n\t}\n\tdata.activeUsers = (data.users.length &gt; 0);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 13:09:20&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4930fd01135a3e006749bccf3244b026&lt;/sys_id&gt;&lt;sys_mod_count&gt;48&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE ITBM Interaction Note&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4930fd01135a3e006749bccf3244b026&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-26 12:35:46&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a id=\"pageTop\"&gt;&lt;/a&gt;\n&lt;div class=\"card\"&gt;\n\t&lt;div class=\"card-title\"&gt;{{::inf.data.cardTitle}}&lt;/div&gt;\n\t&lt;div  ng-show='inf.data.activeUsers'&gt;\n  \t&lt;div class=\"card-subheader\"&gt;Spoken With&lt;/div&gt;\n\t\t&lt;div ng-repeat=\"user in inf.users\" class=\"user-bubble user-{{user.status}}\"&gt;\n\t\t\t&lt;img src=\"{{user.photo}}\"&gt;\n\t\t&lt;/div&gt;\n  &lt;/div&gt;\n\t&lt;div class=\"card-subheader\"&gt;Description&lt;/div&gt;\n\t&lt;textarea rows=\"3\" ng-model=\"inf.formData.reminderText\" placeholder=\"Type text here\"&gt;&lt;/textarea&gt;\n\t&lt;div class=\"card-subheader\"&gt;Reminder {{inf.formData.reminderDate | date: 'shortDate'}}&lt;/div&gt;\n\t&lt;div class=\"row inner-row\"&gt;\n\t\t&lt;div class=\"col-xs-4\"&gt;\n\t\t\t&lt;button class=\"button\" ng-class=\"{'button-selected': inf.selectedButton === 1}\" ng-click=\"inf.btnClick(1)\"&gt;Tmrw&lt;/button&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"col-xs-4\"&gt;\n\t\t\t&lt;button class=\"button\" ng-class=\"{'button-selected': inf.selectedButton === 2}\" ng-click=\"inf.btnClick(2)\"&gt;1 Week&lt;/button&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"col-xs-4\"&gt;\n\t\t\t&lt;button class=\"button\" type=\"button\" ng-class=\"{'button-selected': inf.selectedButton === -1}\" aria-expanded=\"false\" aria-controls=\"datepicker\" ng-click=\"inf.btnClick(-1)\"&gt;\n\t\t\t\t&lt;small&gt;Pick Date&lt;/small&gt;\n\t\t\t\t&lt;i class=\"fa fa-calendar button-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n\t\t\t&lt;/button&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n\t&lt;div class=\"collapse\" id=\"datepicker\"&gt;\n\t\t&lt;div uib-datepicker ng-model=\"inf.formData.reminderDate\" class=\"well well-sm\" datepicker-options=\"inf.options\"&gt;&lt;/div&gt;\n\t&lt;/div&gt;\n\t&lt;button class=\"button button-primary\" ng-click='inf.showSubmit()'&gt;Submit&lt;/button&gt;\n\t&lt;button class=\"button\" ng-click='inf.cancelSubmit()'&gt;Cancel&lt;/button&gt;\n&lt;/div&gt;\n&lt;div id=\"overlay\" class='outer-div'&gt;&lt;div class='inner-div'&gt;\n  &lt;div class='msg-title'&gt;SUBMITTED&lt;/div&gt;\n  &lt;hr/&gt;\n  &lt;div class='msg-text'&gt;Your form has been submitted.&lt;/div&gt;\n  &lt;button class=\"button button-primary\" style='margin-top:20px;' ng-click='inf.closeSubmit()'&gt;CLOSE&lt;/button&gt;\n&lt;/div&gt;&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Interaction Note\">13fbdfee4f12fe0005be4d6e0210c7bb</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:54</sys_created_on>\n<sys_id>d3fbdfee4f12fe0005be4d6e0210c7bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:54</sys_updated_on>\n<table/>\n<target_name>PE ITBM Interaction Note</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-itbm-interaction-note/widget/pe-itbm-interaction-note.u-body-html-template.html",
    "content": "<a id=\"pageTop\"></a>\r\n<div class=\"card\">\r\n    <div class=\"card-title\">{{::inf.data.cardTitle}}</div>\r\n    <div ng-show='inf.data.activeUsers'>\r\n        <div class=\"card-subheader\">Spoken With</div>\r\n        <div ng-repeat=\"user in inf.users\" class=\"user-bubble user-{{user.status}}\">\r\n            <img src=\"{{user.photo}}\">\r\n        </div>\r\n    </div>\r\n    <div class=\"card-subheader\">Description</div>\r\n    <textarea rows=\"3\" ng-model=\"inf.formData.reminderText\" placeholder=\"Type text here\"></textarea>\r\n    <div class=\"card-subheader\">Reminder {{inf.formData.reminderDate | date: 'shortDate'}}</div>\r\n    <div class=\"row inner-row\">\r\n        <div class=\"col-xs-4\">\r\n            <button class=\"button\" ng-class=\"{'button-selected': inf.selectedButton === 1}\" ng-click=\"inf.btnClick(1)\">Tmrw</button>\r\n        </div>\r\n        <div class=\"col-xs-4\">\r\n            <button class=\"button\" ng-class=\"{'button-selected': inf.selectedButton === 2}\" ng-click=\"inf.btnClick(2)\">1 Week</button>\r\n        </div>\r\n        <div class=\"col-xs-4\">\r\n            <button class=\"button\" type=\"button\" ng-class=\"{'button-selected': inf.selectedButton === -1}\" aria-expanded=\"false\" aria-controls=\"datepicker\" ng-click=\"inf.btnClick(-1)\">\r\n\t\t\t\t<small>Pick Date</small>\r\n\t\t\t\t<i class=\"fa fa-calendar button-icon\" aria-hidden=\"true\"></i>\r\n\t\t\t</button>\r\n        </div>\r\n    </div>\r\n    <div class=\"collapse\" id=\"datepicker\">\r\n        <div uib-datepicker ng-model=\"inf.formData.reminderDate\" class=\"well well-sm\" datepicker-options=\"inf.options\"></div>\r\n    </div>\r\n    <button class=\"button button-primary\" ng-click='inf.showSubmit()'>Submit</button>\r\n    <button class=\"button\" ng-click='inf.cancelSubmit()'>Cancel</button>\r\n</div>\r\n<div id=\"overlay\" class='outer-div'>\r\n    <div class='inner-div'>\r\n        <div class='msg-title'>SUBMITTED</div>\r\n        <hr/>\r\n        <div class='msg-text'>Your form has been submitted.</div>\r\n        <button class=\"button button-primary\" style='margin-top:20px;' ng-click='inf.closeSubmit()'>CLOSE</button>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-itbm-interaction-note/widget/pe-itbm-interaction-note.u-client-script.js",
    "content": "function InteractionNoteController($scope, $rootScope, $q, $window, $document, $timeout, $http) {\n  var inf = this;\n\n  inf.users = [];\n  inf.formData = {\n    reminderDate: new Date(),\n    reminderText: ''\n  }\n  for (var x = 0; x < inf.data.users.length; x++) {\n    inf.users.push({\n      'photo': inf.data.users[x].photo,\n      'status': inf.data.users[x].status ? 'online' : 'offline'\n    });\n  }\n\n  inf.btnClick = function (btn) {\n    inf.selectedButton = btn;\n    el = angular.element(document.getElementById(\"datepicker\"));\n    switch (btn) {\n      case 1:\n        inf.tomorrow();\n        el.removeClass('in');\n        break;\n      case 2:\n        inf.weekFromToday();\n        el.removeClass('in');\n        break;\n      default:\n        el.toggleClass('in');\n        break;\n    }\n  }\n\n  inf.showSubmit = function () {\n    var goAnchor = document.getElementById(\"pageTop\");\n    goAnchor.scrollIntoView({\n      block: \"start\",\n      behavior: \"smooth\"\n    });\n    el = document.getElementById(\"overlay\");\n    el.style.visibility = (el.style.visibility == \"visible\") ? \"hidden\" : \"visible\";\n\n    /*\n    \tEXAMPLE REST call to SUBMIT data to an instance table.\n    */\n    /**\n\n    \t\t// Change to appropriate instance table.\n    \t\tvar table_name = \"u_some_instance_table\";\n\n    \t\t// Change 'u_tableField_*' references to appropriate fields.  Add additional if necessary.\n    \t\tvar data_to_post = {\n    \t\t\tu_tableField_reminderText : inf.formData.reminderText,\n    \t\t\tu_tableField_reminderDate : inf.formData.reminderDate\n    \t\t}\n\n    \t\tvar request = {\n    \t\t\tmethod: 'POST',\n    \t\t\turl: $window.location.origin+'/api/now/v2/table/' + table_name,\n    \t\t\tdata: data_to_post\n    \t\t};\n\n    \t\t$http(request).success(function (response) {\n    \t\t\tconsole.log(response);\n    \t\t}).error(function (response) {\n    \t\t\tconsole.warn(\"~~ ERR: HTTP POST FAILED ~~\");\n    \t\t\tconsole.warn(response);\n    \t\t});\n    **/\n  };\n\n  inf.closeSubmit = function () {\n    el = document.getElementById(\"overlay\");\n    el.style.visibility = \"hidden\";\n\n    inf.cancelSubmit();\n  };\n\n  inf.cancelSubmit = function () {\n\n    $window.history.back();\n  };\n\n  inf.selectedButton = 1;\n\n  inf.today = function () {\n    inf.formData.reminderDate = new Date();\n  };\n\n  inf.tomorrow = function () {\n    var today = new Date();\n    inf.formData.reminderDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);\n  };\n  inf.tomorrow();\n\n  inf.weekFromToday = function () {\n    var today = new Date();\n    inf.formData.reminderDate = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 7);\n  };\n\n  inf.options = {\n    minDate: new Date(),\n    showWeeks: false\n  };\n}"
  },
  {
    "path": "pe-itbm-interaction-note/widget/pe-itbm-interaction-note.u-css.scss",
    "content": "$inf-font-color: #2E2E2E !default;\n$inf-font-softcolor: #65666A !default;\n$inf-font-notselected: #c2c2c2 !default;\n$inf-background-color: #ffffff !default;\n$inf-border-color: #E4E5E6 !default;\n$inf-red: #E51B24 !default;\n$inf-black: #000000 !default;\n$inf-white: #ffffff !default;\n$inf-green: #57B957 !default;\n\n\n.row.inner-row {\n\tmargin: 0 -5px;\n}\n\n.button {\n\twidth: 100%;\n\theight: 40px;\n\tcolor: $inf-font-notselected;\n\tborder: 3px solid $inf-border-color;\n\tborder-radius: 8px;\n\tbackground-color: $inf-background-color;\n\ttext-transform: uppercase;\n\tmargin-bottom: 10px;\n\t&.button-selected {\n\t\tcolor: $inf-font-color;\n\t\tborder-color: $inf-font-color;\n\t}\n\t&.button-primary {\n\t\tborder: none;\n\t\tbackground-color: $inf-red;\n\t\tcolor: $inf-white;\n\t}\n\t&.button-no-border {\n\t\tborder: none;\n\t}\n}\n.button-icon {\n\tcolor: $inf-red;\n\tfont-size: 18px;\n\tmargin: 0 3px;\n}\n\n.card {\n\tborder: 1px solid $inf-border-color;\n\tpadding: 10px;\n}\n.card-title {\n\tfont-size: 18px;\n\tfont-weight: 500;\n\tcolor: $inf-font-softcolor;\n}\n.card-subheader {\n\tfont-size: 12px;\n\tfont-weight: bold;\n\tcolor: $inf-font-color;\n\ttext-transform: uppercase;\n\tpadding-bottom: 5px;\n\tmargin: 20px 0 10px 0;\n\tborder-bottom: 1px solid $inf-border-color;\n}\n\n.user-bubble {\n\theight: 55px;\n\twidth: 55px;\n\tborder-radius: 100%;\n\tborder: 2.5px solid $inf-border-color;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tmargin-right: 15px;\n\timg {\n\t\twidth: 100%;\n\t}\n\t&.user-online {\n\t\tborder-color: $inf-green;\n\t}\n\t&.user-offline {\n\t\tborder-color: $inf-red;\n\t}\n}\n\ntextarea {\n\tborder: 1px solid $inf-border-color;\n\twidth: 100%;\n}\n.outer-div {\n  visibility: hidden;\n  position: absolute;\n  margin-top: -10px;\n  left: 0px;\n  top: 0px;\n  width:100%;\n  padding: 0px;\n  height:1000px;\n  background: rgba(0,0,0,0.6);\n  z-index: 600;\n}\n.inner-div {\n  margin: 80px auto;\n  width: 90%;\n  background-color: $inf-white;\n  border: 1px solid $inf-border-color;\n  border-radius: 2px;\n  padding: 20px;\n  padding-bottom: 10px;\n  z-index: 700;\n}\n.msg-text{\n  height: 18px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 18px;\n  color: $inf-font-softcolor;\n}\n.msg-title{\n  height: 12px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 14px;\n  color: $inf-font-color;\n}\n\n.uib-datepicker.well {\n  background-color: transparent;\n}\n.uib-datepicker .uib-daypicker {\n  margin: 0 auto;\n}\n.uib-datepicker .btn {\n  border-radius: 0;\n  border: none;\n}"
  },
  {
    "path": "pe-itbm-interaction-note/widget/pe-itbm-interaction-note.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    data.users = [];\r\n    data.activeUsers = false;\r\n\r\n    data.groupName = options.group_name || \"Test Group\";\r\n    data.cardTitle = options.card_title || \"Interaction Form\";\r\n\r\n    var usgr = new GlideRecord('sys_user_group');\r\n    usgr.addQuery('name', data.groupName);\r\n    usgr.query();\r\n\r\n    if (usgr.next()) {\r\n        var grmem = new GlideRecord('sys_user_grmember');\r\n        grmem.addQuery('group', usgr.sys_id);\r\n        grmem.query();\r\n        var x = 0;\r\n        while (grmem.next()) {\r\n            var usr = new GlideRecord('sys_user');\r\n            usr.addQuery('sys_id', grmem.user.toString());\r\n            usr.query();\r\n            if (usr.next()) {\r\n                var user = {\r\n                    'id': grmem.user.toString(),\r\n                    'name': usr.user_name.getDisplayValue(),\r\n                    'lname': usr.last_name.getDisplayValue(),\r\n                    'fname': usr.first_name.getDisplayValue(),\r\n                    'title': usr.title.getDisplayValue(),\r\n                    'photo': usr.photo.getDisplayValue(),\r\n                    'status': usr.active.getDisplayValue()\r\n                }\r\n                data.users.push(user);\r\n            }\r\n        }\r\n    }\r\n    data.activeUsers = (data.users.length > 0);\r\n})();"
  },
  {
    "path": "pe-itbm-organizational-spend-alignment/Readme.md",
    "content": "# Organziational Spend Alignment (ITBM Experience)\n\n## Description\n\nThis widget can be used to displays a two (2) stacked column chart.\n\n## Screenshots\n![](../images/pe-itbm-organizational-spend-alignment.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-itbm-organizational-spend-alignment.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-itbm-organizational-spend-alignment/pe-itbm-organizational-spend-alignment.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**Frame Title** Title for the widget card/frame.\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON objects in the Server Script.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$osa-font-color: #2e2e2e !default;`<br/>\n`$osa-background-color: #ffffff !default;`<br/>\n`$osa-border-color: #E4E5E6 !default;`<br/>"
  },
  {
    "path": "pe-itbm-organizational-spend-alignment/pe-itbm-organizational-spend-alignment.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-26 12:49:01\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Organizational Spend Alignment</description>\n<inserted/>\n<name>PE ITBM Widget - Organizational Spend Alignment</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>97557cbb1386ba006749bccf3244b0bd</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:00</sys_created_on>\n<sys_id>82cb9fee4f12fe0005be4d6e0210c72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:00</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_83a9997b13c6ba006749bccf3244b09f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function OrgSpendAlignmentController() {\n    /* widget controller */\n    var osa = this;\n\n    var plotOpts = osa.data.chartOptions;\n    plotOpts.series = osa.data.series;\n    plotOpts.plotOptions.column.dataLabels.formatter = function() { return \"$\" + this.y + \"M\"; };\n\n    var chtSpnLmt = new Highcharts.Chart('chtSpendLimit', plotOpts, function(chtObj) {\n        $.each(chtObj.series, function(i, s) {\n            /* Need to shift the column labels Left/Right of the columns for readability ease */\n            $.each(s.data, function(i, dpoint) {\n                var shiftX = (dpoint.pointWidth / 2) + (dpoint.dataLabel.width / 2);\n                if (dpoint.index == 0) {\n                    dpoint.dataLabel.attr({ x: (dpoint.dataLabel.x - shiftX) });\n                }\n                if (dpoint.index == 1) {\n                    dpoint.dataLabel.attr({ x: (dpoint.dataLabel.x + shiftX) });\n                }\n            });\n        });\n    });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;osa&lt;/controller_as&gt;&lt;css&gt;$osa-font-color: #2e2e2e !default;\n$osa-background-color: #ffffff !default;\n$osa-border-color: #E4E5E6 !default;\n\n/* Frame around widget */\n.osa-frame {\n    color: $osa-font-color;\n    background-color: $osa-background-color;\n    width: 100%;\n    min-width: 300px;\n    margin: 0 auto;\n    margin-bottom: 10px;\n    padding: 5px;\n    border: 1px solid $osa-border-color;\n    font-size: 12px;\n    font-weight: 500;\n    font-style: normal;\n    font-stretch: normal;\n    line-height: normal;\n    letter-spacing: normal;\n}\n\n/* Title */\n.osa-title {\n    margin-top: 17px;\n    height: 16px;\n    font-size: 12px;\n    font-weight: bold;\n    font-style: normal;\n    font-stretch: normal;\n    line-height: normal;\n    letter-spacing: normal;\n    color: $osa-font-color;\n    border: 0px;\n}\n\n/* Horizontal Rule */\n.osa-hr {\n    padding: 0px;\n    margin: 0px;\n    margin-top: 7px;\n    margin-bottom: 2px;\n    line-height: 1px\n}\n\n.osa-spacer {\n    padding-bottom: 10px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-itbm-organizational-spend-alignment&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE ITBM Organizational Spend Alignment&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Frame Title\",\"name\":\"frame_title\",\"default_value\":\"\",\"label\":\"Frame Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n    /*\n      Data used to populate the chart's series\n      - 'name' : represents the label values to identify the respective series\n      - 'data:[Actual, Target]' : represents the two columns (chartOptions.XAxis.categories) \n        to be shown on the chart in a stack (chartOptions.plotOptions.column.stacking) \n    */\n\t\tdata.frameTitle = options.frame_title;\n\t\n    var sampleData = [{ name: 'RUN', data: [35, 25], color: '#1c5b7d', index: 1 },\n        { name: 'CHANGE', data: [15, 25], color: '#e89033', index: 2 }\n    ];\n\t\n\t\t/* Demo - Frame Title */\n\t  /* Remove to use the widget's Frame Title Option property\n\t\t   or modify to hard code a title.\n\t\t*/\n\t\tdata.frameTitle = \"ORGANIZATIONAL SPEND ALIGNMENT\";\n    /*\n      HighCharts API - Conifuration Options Reference\n      http://api.highcharts.com/highcharts\n    */\n    var chartOptions = {\n        chart: { type: 'column', reflow: false, height: 215 },\n        exporting: { enabled: false },\n        credits: { enabled: false },\n        title: { text: null },\n        xAxis: {\n            categories: ['ACTUAL', 'TARGET'],\n            lineWidth: 0,\n            gridLineWidth: 0,\n            tickWidth: 0,\n            labels: { useHTML: true }\n        },\n        yAxis: {\n            reversedStacks: false,\n            allowDecimals: false,\n            min: 0,\n            max: 60, // Change to set the MAX value of the yAxis\n            title: null,\n            tickInterval: 20,\n            gridLineWidth: 1,\n            minorGridLineWidth: 0,\n            labels: { format: '{value}M' }\n        },\n        tooltip: { enabled: false },\n        plotOptions: {\n            series: { borderWidth: 0, shadow: false },\n            column: {\n                stacking: 'normal',\n                dataLabels: {\n                    enabled: true,\n                    style: { \"color\": \"#000\", \"fontSize\": \"10px\", \"fontWeight\": \"bold\", \"textOutline\": \"0px\" }\n                }\n            }\n        },\n        series: []\n    };\n\n    data.series = sampleData;\n    data.chartOptions = chartOptions;\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-17 14:19:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;83a9997b13c6ba006749bccf3244b09f&lt;/sys_id&gt;&lt;sys_mod_count&gt;12&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE ITBM Organizational Spend Alignment&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_83a9997b13c6ba006749bccf3244b09f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-25 14:16:14&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='osa-title'&gt;{{::osa.data.frameTitle}}&lt;/div&gt;\n&lt;hr class='osa-hr' /&gt;\n&lt;div class='osa-spacer'&gt;&lt;/div&gt;\n&lt;div class='osa-frame'&gt;\n    &lt;div id='chtSpendLimit'&gt;&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Organizational Spend Alignment\">82cb9fee4f12fe0005be4d6e0210c72a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:00</sys_created_on>\n<sys_id>0acb9fee4f12fe0005be4d6e0210c72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:00</sys_updated_on>\n<table/>\n<target_name>PE ITBM Organizational Spend Alignment</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 12:53:36&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Organizational Spend Alignment\">82cb9fee4f12fe0005be4d6e0210c72a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:00</sys_created_on>\n<sys_id>42cb9fee4f12fe0005be4d6e0210c72b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:00</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_367d024813deba006749bccf3244b066</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Highcharts 5.0.5\">5a548d07db5932002e5df2b6ae9619bf</sp_dependency><sp_widget display_value=\"PE Organizational Spend Alignment\">83a9997b13c6ba006749bccf3244b09f</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 12:42:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>367d024813deba006749bccf3244b066</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Highcharts 5.0.5.PE Organizational Spend Alignment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_367d024813deba006749bccf3244b066</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 12:42:06</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE ITBM Widget - Organizational Spend Alignment\">82cb9fee4f12fe0005be4d6e0210c72a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:00</sys_created_on>\n<sys_id>46cb9fee4f12fe0005be4d6e0210c72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:00</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5.0.5.PE Organizational Spend Alignment</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 12:53:25&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Organizational Spend Alignment\">82cb9fee4f12fe0005be4d6e0210c72a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:00</sys_created_on>\n<sys_id>8ecb9fee4f12fe0005be4d6e0210c72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:00</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 12:39:29&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE ITBM Widget - Organizational Spend Alignment\">82cb9fee4f12fe0005be4d6e0210c72a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:49:00</sys_created_on>\n<sys_id>cacb9fee4f12fe0005be4d6e0210c72a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:49:00</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-itbm-organizational-spend-alignment/widget/pe-organizational-spend-alignment.u-body-html-template.html",
    "content": "<div class='osa-title'>{{::osa.data.frameTitle}}</div>\r\n<hr class='osa-hr' />\r\n<div class='osa-spacer'></div>\r\n<div class='osa-frame'>\r\n    <div id='chtSpendLimit'></div>\r\n</div>"
  },
  {
    "path": "pe-itbm-organizational-spend-alignment/widget/pe-organizational-spend-alignment.u-client-script.js",
    "content": "function OrgSpendAlignmentController() {\r\n    /* widget controller */\r\n    var osa = this;\r\n\r\n    var plotOpts = osa.data.chartOptions;\r\n    plotOpts.series = osa.data.series;\r\n    plotOpts.plotOptions.column.dataLabels.formatter = function() { return \"$\" + this.y + \"M\"; };\r\n\r\n    var chtSpnLmt = new Highcharts.Chart('chtSpendLimit', plotOpts, function(chtObj) {\r\n        $.each(chtObj.series, function(i, s) {\r\n            /* Need to shift the column labels Left/Right of the columns for readability ease */\r\n            $.each(s.data, function(i, dpoint) {\r\n                var shiftX = (dpoint.pointWidth / 2) + (dpoint.dataLabel.width / 2);\r\n                if (dpoint.index == 0) {\r\n                    dpoint.dataLabel.attr({ x: (dpoint.dataLabel.x - shiftX) });\r\n                }\r\n                if (dpoint.index == 1) {\r\n                    dpoint.dataLabel.attr({ x: (dpoint.dataLabel.x + shiftX) });\r\n                }\r\n            });\r\n        });\r\n    });\r\n}"
  },
  {
    "path": "pe-itbm-organizational-spend-alignment/widget/pe-organizational-spend-alignment.u-css.scss",
    "content": "$osa-font-color: #2e2e2e !default;\n$osa-background-color: #ffffff !default;\n$osa-border-color: #E4E5E6 !default;\n\n/* Frame around widget */\n.osa-frame {\n    color: $osa-font-color;\n    background-color: $osa-background-color;\n    width: 100%;\n    min-width: 300px;\n    margin: 0 auto;\n    margin-bottom: 10px;\n    padding: 5px;\n    border: 1px solid $osa-border-color;\n    font-size: 12px;\n    font-weight: 500;\n    font-style: normal;\n    font-stretch: normal;\n    line-height: normal;\n    letter-spacing: normal;\n}\n\n/* Title */\n.osa-title {\n    margin-top: 17px;\n    height: 16px;\n    font-size: 12px;\n    font-weight: bold;\n    font-style: normal;\n    font-stretch: normal;\n    line-height: normal;\n    letter-spacing: normal;\n    color: $osa-font-color;\n    border: 0px;\n}\n\n/* Horizontal Rule */\n.osa-hr {\n    padding: 0px;\n    margin: 0px;\n    margin-top: 7px;\n    margin-bottom: 2px;\n    line-height: 1px\n}\n\n.osa-spacer {\n    padding-bottom: 10px;\n}"
  },
  {
    "path": "pe-itbm-organizational-spend-alignment/widget/pe-organizational-spend-alignment.u-server-script.js",
    "content": "(function() {\r\n    /*\r\n      Data used to populate the chart's series\r\n      - 'name' : represents the label values to identify the respective series\r\n      - 'data:[Actual, Target]' : represents the two columns (chartOptions.XAxis.categories) \r\n        to be shown on the chart in a stack (chartOptions.plotOptions.column.stacking) \r\n    */\r\n    data.frameTitle = options.frame_title;\r\n\t\r\n    var sampleData = [{ name: 'RUN', data: [35, 25], color: '#1c5b7d', index: 1 },\r\n        { name: 'CHANGE', data: [15, 25], color: '#e89033', index: 2 }\r\n    ];\r\n\t\r\n\t/* Demo - Frame Title */\r\n\t/* Remove to use the widget's Frame Title Option property\r\n\t   or modify to hard code a title.\r\n\t*/\r\n\tdata.frameTitle = \"ORGANIZATIONAL SPEND ALIGNMENT\";\r\n    /*\r\n      HighCharts API - Conifuration Options Reference\r\n      http://api.highcharts.com/highcharts\r\n    */\r\n    var chartOptions = {\r\n        chart: { type: 'column', reflow: false, height: 215 },\r\n        exporting: { enabled: false },\r\n        credits: { enabled: false },\r\n        title: { text: null },\r\n        xAxis: {\r\n            categories: ['ACTUAL', 'TARGET'],\r\n            lineWidth: 0,\r\n            gridLineWidth: 0,\r\n            tickWidth: 0,\r\n            labels: { useHTML: true }\r\n        },\r\n        yAxis: {\r\n            reversedStacks: false,\r\n            allowDecimals: false,\r\n            min: 0,\r\n            max: 60, // Change to set the MAX value of the yAxis\r\n            title: null,\r\n            tickInterval: 20,\r\n            gridLineWidth: 1,\r\n            minorGridLineWidth: 0,\r\n            labels: { format: '{value}M' }\r\n        },\r\n        tooltip: { enabled: false },\r\n        plotOptions: {\r\n            series: { borderWidth: 0, shadow: false },\r\n            column: {\r\n                stacking: 'normal',\r\n                dataLabels: {\r\n                    enabled: true,\r\n                    style: { \"color\": \"#000\", \"fontSize\": \"10px\", \"fontWeight\": \"bold\", \"textOutline\": \"0px\" }\r\n                }\r\n            }\r\n        },\r\n        series: []\r\n    };\r\n\r\n    data.series = sampleData;\r\n    data.chartOptions = chartOptions;\r\n\r\n})();"
  },
  {
    "path": "pe-kb-list/README.md",
    "content": "# KB List\n\n## Description\n\nAn accordion-style list of Knowledge Base articles from a selected category. Choose an available KB category to display those articles or define your own category.\n\n## Screenshots\n\n### Collapsed\n\n![KB List Collapsed](../images/pe-kb-list-collapsed.png)\n\n### Expanded\n\n![KB List Expanded](../images/pe-kb-list-expanded.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-kb-list.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-kb-list/pe-kb-list.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Sets the header title. | Windows Knowledge Base |\n| `KB category` | The Knowledge Base category to display articles from. | Windows |\n| `Limit` | Sets the maximum number of KB articles to display. | 5 |\n\n## Platform Dependencies\n\n### SN System Tables\n\n* kb_knowledge\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n*Dependencies are included and configured as part of the provided Update Set.*\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-kb-list/pe-kb-list.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-03-30 16:10:19\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE KB List</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>d6a4891f13c5930084be36328144b082</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-03-30 16:10:19</sys_created_on>\n<sys_id>52337467138d930084be36328144b0f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-03-30 16:10:19</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3cc44d1f13c5930084be36328144b097</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function KBListController($sce) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.data.articles.forEach(function(article) {\n      article.text = $sce.trustAsHtml(article.text);\n    });\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.kb-list-wrapper {\n  h2 {\n    margin-bottom: 2rem;\n  }\n  .article-wrapper {\n    border-top: 1px solid #ccc;\n    color: #4b82b0;\n    i {\n      font-size: 10px;\n    }\n  }\n  .article-list:last-of-type {\n    border-bottom: 1px solid #ccc;\n  }\n  .article-body {\n    padding: 0 2rem;\n  }\n  .article-heading {\n    padding: 2rem;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-kb-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE KB List&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"label\": \"Title\",&amp;#13;\n    \"name\": \"title\",&amp;#13;\n    \"type\": \"string\",&amp;#13;\n    \"default_value\": \"Windows Knowledge Base\",&amp;#13;\n    \"section\": \"other\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"label\": \"KB category\",&amp;#13;\n    \"name\": \"kb_category\",&amp;#13;\n    \"type\": \"reference\",&amp;#13;\n    \"default_value\": \"Windows\",&amp;#13;\n    \"section\": \"other\",&amp;#13;\n    \"ed\": { \"reference\": \"kb_category\" }&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"label\": \"Limit\",&amp;#13;\n    \"name\": \"limit\",&amp;#13;\n    \"type\": \"integer\",&amp;#13;\n    \"default_value\": \"5\",&amp;#13;\n    \"section\": \"other\"&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var grKb = new GlideRecordSecure('kb_knowledge');\n  grKb.addQuery('kb_category', options.kb_category);\n  grKb.orderBy('published');\n  grKb.setLimit(options.limit || 5);\n  grKb.query();\n\n  var articles = [];\n  while (grKb.next()) {\n    articles.push({\n      title: grKb.short_description.toString(),\n      text: grKb.text.toString()\n    });\n  }\n  data.articles = articles;\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-03-29 22:49:41&lt;/sys_created_on&gt;&lt;sys_id&gt;3cc44d1f13c5930084be36328144b097&lt;/sys_id&gt;&lt;sys_mod_count&gt;103&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE KB List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3cc44d1f13c5930084be36328144b097&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-03-30 01:28:17&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"kb-list-wrapper\"&gt;\n  &lt;h2&gt;{{::options.title}}&lt;/h2&gt;\n  &lt;div class=\"article-list\" ng-repeat=\"article in c.data.articles track by $index\"&gt;\n    &lt;div class=\"article-wrapper\"&gt;\n      &lt;div class=\"collapsed article-heading\" data-toggle=\"collapse\" data-target=\"#collapse-{{$index}}\" aria-expanded=\"false\" aria-controls=\"collapse-{{$index}}\"\n        ng-click=\"article.expanded = !article.expanded\"&gt;\n        &lt;div class=\"expand-icon pull-right\" ng-show=\"!article.expanded\"&gt;\n          &lt;i class=\"fa fa-plus\"&gt;&lt;/i&gt;\n        &lt;/div&gt;\n        &lt;div class=\"expand-icon pull-right\" ng-show=\"article.expanded\"&gt;\n          &lt;i class=\"fa fa-minus\"&gt;&lt;/i&gt;\n        &lt;/div&gt;\n        {{::article.title}}\n      &lt;/div&gt;\n      &lt;div id=\"collapse-{{$index}}\" class=\"collapse\"&gt;\n        &lt;div class=\"article-body\"&gt;\n          &lt;div ng-bind-html=\"::article.text\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2106712816</payload_hash>\n<remote_update_set display_value=\"PE KB List\">52337467138d930084be36328144b0f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-03-30 16:10:19</sys_created_on>\n<sys_id>56337467138d930084be36328144b0f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1627485041e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-03-30 16:10:19</sys_updated_on>\n<table/>\n<target_name>PE KB List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>f959a1dfee099300e00d5c15d7201c9b</update_guid>\n<update_guid_history>f959a1dfee099300e00d5c15d7201c9b:-2106712816,ff4961df8909930053391b490c78c4c9:-782867982,0a3961dfce099300d309abbe6925eac3:1419828030,d83961df70099300439b402d02193469:790466602,f82921df4b099300d0c693b10da37b9e:1419828030,d01921dffa0993004b1fed9223c8f48d:-949038145,9ff86d9fb909930081da2eaab944032a:977062976,c858699f9b0993000eb8cf4363dbdee1:-129720269,a957219f4c0993005280cad59c2b206d:1591811549,b227a95f99099300e20b6ab0879f9920:1581620253,5ec6695f31099300bd0f6133a0b2174d:-1111745872,4846215f4b0993005ec96a41c1aaef43:-1187331203,11f5e55f43099300a7b31eaa4a38fc16:1927668890,a4a4e51f260993009e019c4f51aedb54:-1118111899,d734691f3f0993005c548aa36a3d1e7d:1051084235,95732ddbbb099300747556799ff6f75a:-30359464,3562e1db31099300e7f81664c9ca47bb:1656399229,b041a1dbb3099300892eb3c929635a21:1699075807,9c312d9b07099300779879774207d557:-1716457292,2311a1db6a0993000ecd7cdcfff92112:-1849536161,600121db250993006e13ec071d8504aa:-2134988687,6820699b2e09930086da1986075a61f3:1699075807,fe1f519bb70993007fd183f7ea458880:-1839349012,c20fdd5b21099300ddab2e4363e6d400:1566918351,24de9d5b350993006bdb0c240a0c9b39:-1148237276,face9d5b00099300b8be8748afa690f9:-135715409,e0ce9d5b0f099300a3788db0aab3b1ba:765996925,d2be9d5b37099300bd905ad2eb617d30:-1811886442,379e1d5b4709930010cb3d2fc15513ff:-459135212,729ed95b2a09930095e4c54e7c4703fa:93940306,cb7e595b07099300cc06eb2fd2d4b5e2:-1899948216,5d3e595b93099300d55bb05076dd57bb:-393120780,5a1e555bea0993009df0515956f0eb20:-1005464146,c28d155bca099300229c618a2207c22b:143588458,c76d155b5b099300ecb75fef65874424:1413180472,df1d5d1b7e099300810875451f5ae78e:1720914018,298c5d1bd20993007db45155a1190e88:-285062752,f44cd91bad0993009ba14d7d26b49445:1882049019,fa3c591bce0993009c0e7da861b76ea7:142783642,603c191b1509930004a1d10a81a1ad11:2040521074,f41cd51b94099300bc5ce2c5c2aeeee1:142783642,03dbd51bdc0993008428027a9b39ffdb:-1611193082,03cbd9572b09930089dc592c2f198d3a:-1919442381,fa55d957b10993000b7ab8c3ef203f30:-2020435243,8545d5579e099300a94c8c78568a0e8b:-224119199,5e355957010993003ec8b725b7ade8e1:-114613880,d8251957c0099300235bb1818b731a05:431059989,cb051957d80993004317382e618dd257:1564758079,5505d557a709930063b1f7cd41aa5dd5:1252834460,0405d55706099300f5b25e0f5b5c0fff:647848780,eaf49557a709930090a44664082d4e83:-635291279,c5f4955742099300cbcde31abec45377:-2036857705,e9d49557330993000de8392caded4570:1215504738,aca451575d0993008ee0678cb1159efc:-628097263,ef44d9173909930047811fd64089b047:-2036857705,9e345157b7099300474dca64576378e9:-635291279,14835917a8099300007b6504995c5718:228078452,bd53d917f309930080753c3eeec10511:544473070,7603191767099300464065ff7f45c408:966166423,cce29517cb099300b101e94c1b8ff8d0:-1232758017,0ad21517b8099300917ad78f00e12e7f:-1509606369,e9c2951748099300d713c4b6834b1179:1595759615,d3b25517d90993009aa71d44cad7fad9:1207623548,3cb25517a90993009efecb69c406f9d2:1006594478,a18211176f09930025cda9c1c2179d77:1514775137,b852d117dd0993001add7633c4ffdd01:-1257954099,c8221117b709930045487fd9e7489470:-1336738291,ac0299d3cb099300bc7d8acdfb63f4d4:-1481753615,1af1ddd38a099300719e2ab6fa7c33fd:-548726500,12e1ddd34b0993007b2077173ded588f:1175710895,1ab19dd307099300b47a9f070696850c:354783508,d991d9d30e09930014c9eb54c44a177c:-1481753615,df6199d33a09930053dbb60c48615f89:1825692254,bc5115d3ac09930062b25129a71b4ec0:1813475596,a641d5d3bc09930011fa4120582fa335:1856524786,46d015d366099300795fc846738831b3:-1833579976,257015d3ca099300fc939e43c89c1daa:552461187,de405d938d09930052f7977bc54ca528:767824029,6c4fc9931e099300b43c5a27663a9d17:-522781607,610f85931b099300b3b39150c7bbd33b:-386116709,b28e4d53ce0993007cb9535faf54d12f:-1486755715,c32e81931b099300333c7b553335ff91:1649329692,0a1e41932a099300172c4d6efa1b90be:-1399869280,600e8d53c409930067b85801096df2b1:1315930723,839d09534d099300aaf32f46a86d50a0:-988650595,7b6d0d539e0993004c9e0f7aae4d4e1b:-2123783915,7b4dc953a7099300714e3613638e91e6:947703159,27dcc5531409930041f7edbbc82941ca:-1619459867,7dccc5531b099300e100c2181515c2c3:1563438599,97ac05538e099300f2e817459495a101:-947154751,5d3b091396099300f69821eb0ea53f0f:856466177,df1b0d138f0993007fb0bfb9367ae626:1886934038,890b0913b1099300f2fd81835b48e054:-2055708926,bafa89132a0993000c4be4cb653741d7:-2143875049,469a851372099300fd1e9496081d200e:-2055708926,c47a05138a0993005da3e46ab47e9bb0:-142475978,435a4513fb099300a559991ac02f6ffd:229138192,693a051322099300d2f172fd98cb951a:1858227665,80c949dfa1c59300daa9655b8a8736f8:-1544663346,6aa845dfdcc59300c3a7b189ea437c0e:-933856319,402881df80c5930092b75112edd52f61:-1001502594,f4b5c55fefc59300fcb5106d4f7ad0d3:-1858780217,c065cd1fc4c59300b34aaf70bfb61fcc:-1374251211,a205cd1fdec59300e769f0bf968cfcc5:-1153446020</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-kb-list/widget/pe-kb-list.u-body-html-template.html",
    "content": "<div class=\"kb-list-wrapper\">\n  <h2>{{::options.title}}</h2>\n  <div class=\"article-list\" ng-repeat=\"article in c.data.articles track by $index\">\n    <div class=\"article-wrapper\">\n      <div class=\"collapsed article-heading\" data-toggle=\"collapse\" data-target=\"#collapse-{{$index}}\" aria-expanded=\"false\" aria-controls=\"collapse-{{$index}}\"\n        ng-click=\"article.expanded = !article.expanded\">\n        <div class=\"expand-icon pull-right\" ng-show=\"!article.expanded\">\n          <i class=\"fa fa-plus\"></i>\n        </div>\n        <div class=\"expand-icon pull-right\" ng-show=\"article.expanded\">\n          <i class=\"fa fa-minus\"></i>\n        </div>\n        {{::article.title}}\n      </div>\n      <div id=\"collapse-{{$index}}\" class=\"collapse\">\n        <div class=\"article-body\">\n          <div ng-bind-html=\"::article.text\"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-kb-list/widget/pe-kb-list.u-client-script.js",
    "content": "function KBListController($sce) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.data.articles.forEach(function(article) {\n      article.text = $sce.trustAsHtml(article.text);\n    });\n  };\n}\n"
  },
  {
    "path": "pe-kb-list/widget/pe-kb-list.u-css.scss",
    "content": ".kb-list-wrapper {\n  h2 {\n    margin-bottom: 2rem;\n  }\n  .article-wrapper {\n    border-top: 1px solid #ccc;\n    color: #4b82b0;\n    i {\n      font-size: 10px;\n    }\n  }\n  .article-list:last-of-type {\n    border-bottom: 1px solid #ccc;\n  }\n  .article-body {\n    padding: 2rem;\n  }\n  .article-heading {\n    padding: 2rem;\n  }\n}\n"
  },
  {
    "path": "pe-kb-list/widget/pe-kb-list.u-option-schema.json",
    "content": "[\n  {\n    \"label\": \"Title\",\n    \"name\": \"title\",\n    \"type\": \"string\",\n    \"default_value\": \"Windows Knowledge Base\",\n    \"section\": \"other\"\n  },\n  {\n    \"label\": \"KB category\",\n    \"name\": \"kb_category\",\n    \"type\": \"reference\",\n    \"default_value\": \"Windows\",\n    \"section\": \"other\",\n    \"ed\": { \"reference\": \"kb_category\" }\n  },\n  {\n    \"label\": \"Limit\",\n    \"name\": \"limit\",\n    \"type\": \"integer\",\n    \"default_value\": \"5\",\n    \"section\": \"other\"\n  }\n]\n"
  },
  {
    "path": "pe-kb-list/widget/pe-kb-list.u-server-script.js",
    "content": "(function() {\n  var grKb = new GlideRecordSecure('kb_knowledge');\n  grKb.addQuery('kb_category', options.kb_category);\n  grKb.orderBy('published');\n  grKb.setLimit(options.limit || 5);\n  grKb.query();\n\n  var articles = [];\n  while (grKb.next()) {\n    articles.push({\n      title: grKb.short_description.toString(),\n      text: grKb.text.toString()\n    });\n  }\n  data.articles = articles;\n})();\n"
  },
  {
    "path": "pe-list-menu-expand-collapse/README.md",
    "content": "# List Menu - Expand and Collapse\n\n## Description\n\nThe ServiceNow Docs site uses a menu on the left side of the page for navigating the various content available in the documentation.  This widget provides that basic feature functionality for generating a list of menu items for navigation.  The intent is to bring the functionality of the component - expand and collapse.  The data items for navigation is left up to the user, however; the widget is coded to use the Service Portal's Main Menu configuration as a starting point for the data.\n\n\n## Screenshots\n### Menu - Expanded\n![alt text](../images/pe-list-menu-expand-collapse.png \"Expanded Menu\")\n### Menu - Collapsed\n![alt text](../images/pe-list-menu-expand-collapse-collapsed.png \"Collapsed Menu\")\n### Portal Main Menu Configuration\n![alt text](../images/pe-list-menu-expand-collapse-portal-config.png \"Menu Configuration\")\n### Option Schema\n![alt text](../images/pe-list-menu-expand-collapse-option-schema.png \"Option Schema\")\n\n---\n## Installation\nDownload and install update set **[pe-sp-floating-viewport.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-list-menu-expand-collapse/pe-list-menu-expand-collapse.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**title** - Text used to give the panel a title `Default: Contents `<br/>\n\n### Presentation\n**bgcolor_header** - HEX Value for setting the background of the panel header `Default: #65676a`<br/>\n**bgcolor_menu** - HEX Value for setting the background of the listed menu items `Default: #f5f5f5`<br/>\n\n---\n## Platform Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None\n"
  },
  {
    "path": "pe-list-menu-expand-collapse/pe-list-menu-expand-collapse.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-10-16 15:40:55\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>List Menu Expand Collapse</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>247cda334f41a7008272ece24210c72f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:40:54</sys_created_on>\n<sys_id>557aa23f4f41a7008272ece24210c717</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:40:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1b7af52d4f41ab4005be4d6e0210c72e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ListMenuExpandCollapse($scope,$window,$location) {\n  /* widget controller */\n  var c = this;\n\t\n\tc.go = function(menu){\n\t\tswitch(menu.type){\n\t\t\tcase 'sc':\n\t\t\tcase 'kb':\n\t\t\tcase 'page':\n\t\t\t\t$location.url(menu.href);\t\n\t\t\t\tbreak;\n\t\t\tcase 'url':\n\t\t\t\t$window.open(menu.url,menu.url_target);\n\t\t\t\tbreak;\n/*\t\t\t\t\n\t\t\tcase 'sc_category':\n\t\t\t\tbreak;\n\t\t\tcase 'sc_cat_item':\n\t\t\t\tbreak;\n\t\t\tcase 'kb_topic':\n\t\t\t\tbreak;\n\t\t\tcase 'kb_article':\n\t\t\t\tbreak;\n\t\t\tcase 'kb_category':\n\t\t\t\tbreak;\n\t\t\tcase 'filtered':\n\t\t\t\tbreak;\n\t\t\tcase 'scripted':\n\t\t\t\tbreak;\n*/\t\t\t\t\n\t\t\tdefault:\n\t\t\t\tconsole.log(menu);\n\t\t}\n\n\t};\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$color-text: #fff !default;\n$color-li: #000 !default;\n\n.lmec-toc{\n  margin-bottom: 20px;\n  color: $color-text;\n  background: transparent;\n  .lmec-header{\n    margin-bottom: 3px;\n    position: relative;\n    .lmec-title{\n      font-weight: 400;\n      font-size: 24px;\n      text-align: left;\n      margin: 0;\n      padding: 17px 20px 14px;\n      .lmec-action{\n        position: absolute;\n        right: 20px;\n        top: 50%;\n        -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n        transform: translateY(-50%);\n        .link-toggle{\n          color: $color-text;\n          font-size: 18px;\n          display: none;\n        }\n        .active{\n          display: block;\n        }\n      }\n      .lmec-title-text{\n        display:none;\n      }\n      .active{\n        display: block;\n      }\n    }\n  }\n  .shrink{\n    width: 60px;\n    height: 60px;\n  }\n  .lmec-body{\n    display: none;\n    color: $color-li;\n    .lmec-ul{\n      font-weight: 400;\n      font-size: 18px;\n      text-align: left;\n      list-style: none;\n      padding-left: 0;\n      li{\n        border-bottom: 1px solid #b4b4b4;\n        padding: 10px;\n        padding-left: 20px;\n      }\n    }\n  }\n  .active{\n    display: block;\n  }\n}\n\n.fa{\n  cursor: pointer;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;list-menu-expand-collapse&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope,el,attrs,ctrl){\n\tvar $timeout = $injector.get(\"$timeout\");\n\t\n\t$timeout(function(){\n\n\t\tvar colEl = angular.element(el.find('.lmec-toc').parent().parent().parent());\n\n\t\tscope.lmecEl = {\n\t\t\ttoggles : el.find('.link-toggle'),\n\t\t\theader : angular.element(el.find('.lmec-header')),\n\t\t\ttitle : angular.element(el.find('.lmec-title-text')),\n\t\t\tbody : angular.element(el.find('.lmec-body')),\n\t\t\ttoc : el.find('.lmec-toc'),\n\t\t\tcol : colEl,\n\t\t\tcolClass : colEl.prop('classList')[0]\n\t\t};\n\n\t\tscope.lmecEl.toggles.bind('click', function($event){\n\n\t\t\tangular.forEach(scope.lmecEl.toggles, function(value,key){\n\t\t\t\tangular.element(value).toggleClass('active');\n\t\t\t});\n\n\t\t\tscope.lmecEl.title.toggleClass('active');\n\t\t\tscope.lmecEl.body.toggleClass('active');\n\t\t\tscope.lmecEl.header.toggleClass('shrink');\n\n\t\t\tscope.lmecEl.col.toggleClass(scope.lmecEl.colClass).toggleClass('col-md-1');\n\n\t\t});\n\t});\n\n}]]&gt;&lt;/link&gt;&lt;name&gt;List Menu Expand Collapse&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"section\":\"Data\",\"default_value\":\"Contents\",\"label\":\"Title\",\"type\":\"string\"},{\"hint\":\"\",\"name\":\"bgcolor_header\",\"section\":\"Presentation\",\"default_value\":\"#65666a\",\"label\":\"Header Background Color\",\"type\":\"string\"},{\"name\":\"bgcolor_menu\",\"section\":\"Presentation\",\"default_value\":\"#f5f5f5\",\"label\":\"Menu Background Color\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\tdata.options = options;\n\tvar menu_id = $sp.getValue(\"sp_rectangle_menu\");\n\t\n\t\n\tfunction sortByKey(array, key) {\n\t\treturn array.sort(function(a, b) {\n\t\t\tvar x = a[key]; var y = b[key];\n\t\t\treturn ((x &lt; y) ? -1 : ((x &gt; y) ? 1 : 0));\n\t\t});\n\t}\n\t\n\t\n\tdata.menu = {\n\t\tsys_id: menu_id,\n\t\titems : sortByKey($sp.getMenuItems(menu_id),'order'),\n\t\twidget : $sp.getWidgetFromInstance(menu_id)\n\t};\n\t\n\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-09 12:31:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;1b7af52d4f41ab4005be4d6e0210c72e&lt;/sys_id&gt;&lt;sys_mod_count&gt;145&lt;/sys_mod_count&gt;&lt;sys_name&gt;List Menu Expand Collapse&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1b7af52d4f41ab4005be4d6e0210c72e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-16 15:39:20&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='lmec-toc hidden-xs hidden-sm'&gt;\n  &lt;div class='lmec-header' style='background-color:{{::c.data.options.bgcolor_header}}'&gt;\n    &lt;h3 class='lmec-title'&gt;\n      &lt;span class='lmec-title-text active'&gt;{{::c.data.options.title}}&lt;/span&gt;\n      &lt;div class=\"lmec-action\"&gt;\n        &lt;a class=\"link-toggle active\" title=\"Hide\"&gt;&lt;i class=\"fa fa-expand\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/a&gt;\n        &lt;a class=\"link-toggle\" title=\"Show\"&gt;&lt;i class=\"fa fa-list\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/h3&gt;\n  &lt;/div&gt;\n  &lt;div class='lmec-body active' style='background-color:{{::c.data.options.bgcolor_menu}}'&gt;\n\t\t&lt;ul class='lmec-ul'&gt;\n      &lt;li ng-repeat='menu in c.data.menu.items' ng-click='c.go(menu)'&gt;&lt;i class='fa fa-{{menu.glyph}}' ng-if='menu.glyph!=\"\"' style='padding-right: 10px;'&gt;&lt;/i&gt;{{menu.label}}&lt;/li&gt;\n    &lt;/ul&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>5614398</payload_hash>\n<remote_update_set display_value=\"List Menu Expand Collapse\">557aa23f4f41a7008272ece24210c717</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:40:54</sys_created_on>\n<sys_id>d97aa23f4f41a7008272ece24210c717</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1667d88102d0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:40:54</sys_updated_on>\n<table/>\n<target_name>List Menu Expand Collapse</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>2a1ae27b8a41a700d88b0fdd5f573ca3</update_guid>\n<update_guid_history>2a1ae27b8a41a700d88b0fdd5f573ca3:5614398,84ec9e33db41a7000647f4f07f9d95b6:-1929199378,3327d4bdc44dab403ab2c4d09122e92a:1569709725,c117d0bd684dab4057cee241c3782a97:-291415798,66c6d47dc94dab402ec142c478998a9a:1383375892,58a65c7d8f4dab406417ee642aa3bc02:-2007425534,2676587d6a4dab403f5e809b27b52d51:1113945011,6b36583dca4dab407e380342f4380b36:-1848407567,c4a5503d814dab40a638f680fa7de610:-2046292062,3a95183d1a4dab40e783245dc5ced1e6:1031644090,0d75143d684dab402aff5dbdabbbc1e0:-1494155231,75355cf9684dab40b854b16111a4e95c:-870963241,43c490f9b54dab407a76e922f67f32ee:-361737527,8e549cb96a4dab40ed73614983297fa2:1068340864,20345cb9a74dab4027e4382f1b6daebb:49813329,1514d8b9664dab402314bbc3df8d3850:2037917740,04f310b96e4dab40d2f816a5e21a8302:-2027445007,25c35c792a4dab40ac7f0779baf0c04d:1713686156,3e82d8f54b4dab40d289657b987f4cc5:1012109464,ce0290f5cc4dab40fd763c9ca33f85a6:-194915822,83d1d0f5244dab40b1f5a35aa5427e47:-511018065,b2a1d4f53c4dab40daf52763832787e8:-1998422216,3fc0d4b10a4dab405d4ee9cc7a42b23b:1472743035,dd8090b18c4dab40da2c46fde010ba78:1333950687,9f4090b18f4dab40956d38ad928bfd1e:101836727,103f84714a4dab403f27bbaddda7cb1f:1360825771,d52fcc31334dab40ad849266a813a13e:1658092213,ab9ec831aa4dab4031b69eb1c888153f:1130887391,955e0831944dab40631b830ad8ab47cf:790204781,9d3d4cfdef0dab4057da74131653a032:811577054,0eec84bdd30dab40280ad0b0b1d29d2c:1746095128,612c40f9120dab40050088745f415f3d:-1659016090,294b00f9720dab400ded54e355869bac:937948908,695a8079d20dab4019a152b3e39d12b7:-1545979754,99e904b5920dab400db357cfcf951316:235611249,a3698035190dab406097154c87bc0dcd:1752637545,be1900f1d30dab40d128f6f4ecd084ae:-1876909735,62d808f1360dab404a5334fe75074357:1408232557,4b5880f1b30dab406e9e7063727d74c3:-176340788,384880f1080dab40bcfcc4bd07530ebb:1907614512,963800f1400dab4011410363aaf53d7a:-176340788,3a1800f1a20dab400a1691b52a261173:-1846002226,fce7c8b1240dab403f4e731cbba8debf:1496650853,d4d708b1850dab40213effc809152b52:-1193379875,0f8744b1e40dab40e1d4543e3c5046c9:-475390992,5d670c31fd0dab405fda97598ca37c71:-1264609844,045704b1240dab40d1c61f445d09a881:1618231952,58f68471d30dab405c9086b340472925:-786541557,49564471980dab400416478d3acdcd73:-120536952,6eb5ccbd9dc9ab405628730587912522:-1535031127,901ceaa553c5ab404f4d06a133139d51:-1878331651,93ebeaa574c5ab40dafeb2c414cb543e:315952777,d1eb6aa56bc5ab40ea084e8762866152:-1422883706,83cb6aa56bc5ab40c3742d1bc728a812:1301760012,c3e96e695f85ab405b389cadf0a6f680:416239022,e3a92a69b485ab4022cc843544bde404:-747578201,00896269f885ab40e832065fdbffd78f:602578800,2019ea29d685ab4014e581b4781c771c:-747578201,e409ea290085ab40e6367e05771f088f:-1046175001,6ed8ea299785ab400fc8dea49c602006:-747578201,7bc8aa292685ab40aee3534432463f8b:-1558994305,c4b8e2295585ab40f0e81cd6163343d0:378883041,e28822e5f585ab400a530171975e6afb:-271744592,c63822e57385ab403b0699e343e95cf3:2045736628,562766e13485ab407ba45392f511faa9:-2134837501,ef76ae610285ab401bc52b7e9618d764:-516500977,9226e2215385ab40b488e112bb1ffa6d:1680603512,f316aeedd545ab40f616f1828e465e08:1643954057,1425a66d8d45ab405552375c00c14531:-379089624,46a4a66d4745ab4052a39848a85bf429:-1325712293,9ec3662d8945ab40ec28248afebe0096:1296557562,79626ee14245ab40c971c925999012d6:-157664571,b232a6e13645ab4057e7ac0bbe9eff60:-119586756,b0a122e10145ab40930f90259ed61619:-1075269124,e571aea17d45ab40e7dce31fec18a625:-45489784,7c41aaa1d745ab40d58f106ec0c7ff0f:-877470848,4d216aa18d45ab4038976dca6aac97fa:474462865,bb9026a11545ab40a11a1d7ef98a03c7:2123490598,0f70a6615f45ab4069e4bfac5edf22da:-1632808085,39502261ec45ab4058e624f8f198297e:-1485548183,c7cfd661d045ab40d5c125b1fa374f9e:-1157936394,54bf1e218745ab401744073d88a2b839:-1990882056,ae4f5e216145ab40b71b933b419e25b5:1670036313,d71fda216445ab4096b988a4a1ef3db4:-2078319167,a2fe16217245ab40c8af46d7d4b310bb:514210625,6dde16210f45ab40062c7789cdc0f583:1576642945,0dae92216845ab406c8120b5071e2917:-1325318277,fe5e1eedcb05ab408fc883955e111baf:1057438945,70ed12edf005ab4023a3c28da9549c52:-583537157,885d16adaf05ab40e1d5b58e13cc44dd:-93355058,cb4d1ead2d05ab4042e57a59bee08179:-1187055193,abbc96adb305ab4013a543688d2faa02:662727021,b2ac16adbe05ab409635b51b209993cd:2040534401,8a8c926d6205ab4034f4495ebea2c0b3:1161199982,97db966d1805ab40d23b25930739c391:-843776209,22bb166d2905ab40c43b0f4dfb0a0ce3:-1801669800,10ab126def05ab40ca227c604d50d99a:-642345221,e17bda2de605ab405eabd3b14245e94d:249218298,5f3b9ae94805ab407342e1f7b6fb06d9:792212413,411b9ae99205ab4095c5fa31f7ebecd3:651048829,39fa96e91505ab40df8f0c0b98b7c6e5:-1681051964,92ca5aa92c05ab40b5c4444765b69c8e:159883316,618a92e94a05ab408a9fe96f7650d7f3:1458950327,d9785ae51705ab40272174af243d3534:485091492,03081ae5f905ab4000b8af121b0b6bd3:1879426371,cdd71ae53405ab409ac0d9a2c24e45c9:-187441289,dd4712e5dc05ab40dd68ace33a69c872:319097478,b23712e5b205ab40a38c06f844c6213d:-2044059278,9927d6a57f05ab40223373e0c68987d9:152044040,6296d6a57105ab4086d21be2cfdd53c9:-215676000,7766d2a59405ab401e692d6332480b77:1812360897,7666d2a58b05ab401714c9a4377a3205:2128800818,4b069665ec05ab406c0644e3e7969ba6:-1118067193,ddf5da65ee05ab404f470d991a09d94d:250749431,f6851265a005ab40313e86e611d4864b:-1860992072,e845d6259905ab40893b19186bb8a4ee:-522238513,4a051a256205ab4002eee6fe29de4238:-1627381515,64845aa11705ab40bf6231a2c4da33c7:-974820135,940496a1d205ab40668ecac1b9674213:1685636661,1d3f0229a2c1ab4017d968c6f36e0c72:1632808377,f81f022923c1ab406efece368f250b6b:-405414790,bbe9cee1fec1ab4097a3baadb0e596fd:-346271302,37a94225b8c1ab40f0bdebe1e90ed2cc:-773788833,aa898ee133c1ab40c0e498f77eb45f78:-178787488,9b374e6101c1ab406a5f23b38f095e3d:-2051185957,4cd60e61c0c1ab40b9e262c24d674795:1294622458,8086026117c1ab409a69c49640afcde8:560182915,0f06ce2197c1ab4041b88cc2a996f218:1952840849,66e50e2178c1ab409123db245f61d7d8:1279974618,7da5462152c1ab4025d0127e117c1d0e:932249449,33850a2159c1ab40778f864e566e4ee9:669235241,ab6582ed4281ab4076b982560db270f7:1979053270,ab4506eda381ab4025096f65c922e0ff:-664818697,bc150aad7681ab40dc3ccdf729e852c7:2098237908,c2644aad4581ab407d135b6d3caf8eee:1229875240,be2442e9b381ab406b122dc16c4873b6:61814631,0b6082a98081ab4077bca2ac50db9cb6:1788748819,864082696b81ab401c0ce70ab8543e49:1751318585,ca208629ce81ab405778c0f692fd3ad1:1788748819,dd0fb9a5e381ab4077d33aae4efa42a1:-2045473635,b8bef5653a81ab409651cf7d8b802a87:1520411322,be0e7da1c981ab407abc67fec2f76938:-1476752408,879dfd613081ab40bbe71c76c18c27cc:1790729374,c0dcf5ed4741ab403860a3bf006e9cb9:1951814395,304cfd6dae41ab4031e1e3e1bdd0d7ce:-135811965,3ceb7d2d6a41ab404045934134bfc8ff:1423914193</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-list-menu-expand-collapse/widget/pe-list-menu-expand-collapse.u-body-html-template.html",
    "content": "<div class='lmec-toc hidden-xs hidden-sm'>\n  <div class='lmec-header' style='background-color:{{::c.data.options.bgcolor_header}}'>\n    <h3 class='lmec-title'>\n      <span class='lmec-title-text active'>{{::c.data.options.title}}</span>\n      <div class=\"lmec-action\">\n        <a class=\"link-toggle active\" title=\"Hide\"><i class=\"fa fa-expand\" aria-hidden=\"true\"></i></a>\n        <a class=\"link-toggle\" title=\"Show\"><i class=\"fa fa-list\" aria-hidden=\"true\"></i></a>\n      </div>\n    </h3>\n  </div>\n  <div class='lmec-body active' style='background-color:{{::c.data.options.bgcolor_menu}}'>\n\t\t<ul class='lmec-ul'>\n      <li ng-repeat='menu in c.data.menu.items' ng-click='c.go(menu)'><i class='fa fa-{{menu.glyph}}' ng-if='menu.glyph!=\"\"' style='padding-right: 10px;'></i>{{menu.label}}</li>\n    </ul>\n  </div>\n</div>"
  },
  {
    "path": "pe-list-menu-expand-collapse/widget/pe-list-menu-expand-collapse.u-client-script.js",
    "content": "function ListMenuExpandCollapse($scope,$window,$location) {\n  /* widget controller */\n  var c = this;\n\t\n\tc.go = function(menu){\n\t\tswitch(menu.type){\n\t\t\tcase 'sc':\n\t\t\tcase 'kb':\n\t\t\tcase 'page':\n\t\t\t\t$location.url(menu.href);\t\n\t\t\t\tbreak;\n\t\t\tcase 'url':\n\t\t\t\t$window.open(menu.url,menu.url_target);\n\t\t\t\tbreak;\n/*\t\t\t\t\n\t\t\tcase 'sc_category':\n\t\t\t\tbreak;\n\t\t\tcase 'sc_cat_item':\n\t\t\t\tbreak;\n\t\t\tcase 'kb_topic':\n\t\t\t\tbreak;\n\t\t\tcase 'kb_article':\n\t\t\t\tbreak;\n\t\t\tcase 'kb_category':\n\t\t\t\tbreak;\n\t\t\tcase 'filtered':\n\t\t\t\tbreak;\n\t\t\tcase 'scripted':\n\t\t\t\tbreak;\n*/\t\t\t\t\n\t\t\tdefault:\n\t\t\t\tconsole.log(menu);\n\t\t}\n\n\t};\n}\n"
  },
  {
    "path": "pe-list-menu-expand-collapse/widget/pe-list-menu-expand-collapse.u-css.css",
    "content": "$color-text: #fff !default;\n$color-li: #000 !default;\n\n.lmec-toc{\n  margin-bottom: 20px;\n  color: $color-text;\n  background: transparent;\n  .lmec-header{\n    margin-bottom: 3px;\n    position: relative;\n    .lmec-title{\n      font-weight: 400;\n      font-size: 24px;\n      text-align: left;\n      margin: 0;\n      padding: 17px 20px 14px;\n      .lmec-action{\n        position: absolute;\n        right: 20px;\n        top: 50%;\n        -webkit-transform: translateY(-50%);\n        -ms-transform: translateY(-50%);\n        transform: translateY(-50%);\n        .link-toggle{\n          color: $color-text;\n          font-size: 18px;\n          display: none;\n        }\n        .active{\n          display: block;\n        }\n      }\n      .lmec-title-text{\n        display:none;\n      }\n      .active{\n        display: block;\n      }\n    }\n  }\n  .shrink{\n    width: 60px;\n    height: 60px;\n  }\n  .lmec-body{\n    display: none;\n    color: $color-li;\n    .lmec-ul{\n      font-weight: 400;\n      font-size: 18px;\n      text-align: left;\n      list-style: none;\n      padding-left: 0;\n      li{\n        border-bottom: 1px solid #b4b4b4;\n        padding: 10px;\n        padding-left: 20px;\n      }\n    }\n  }\n  .active{\n    display: block;\n  }\n}\n\n.fa{\n  cursor: pointer;\n}"
  },
  {
    "path": "pe-list-menu-expand-collapse/widget/pe-list-menu-expand-collapse.u-link-script.js",
    "content": "function link(scope,el,attrs,ctrl){\n\tvar $timeout = $injector.get(\"$timeout\");\n\t\n\t$timeout(function(){\n\n\t\tvar colEl = angular.element(el.find('.lmec-toc').parent().parent().parent());\n\n\t\tscope.lmecEl = {\n\t\t\ttoggles : el.find('.link-toggle'),\n\t\t\theader : angular.element(el.find('.lmec-header')),\n\t\t\ttitle : angular.element(el.find('.lmec-title-text')),\n\t\t\tbody : angular.element(el.find('.lmec-body')),\n\t\t\ttoc : el.find('.lmec-toc'),\n\t\t\tcol : colEl,\n\t\t\tcolClass : colEl.prop('classList')[0]\n\t\t};\n\n\t\tscope.lmecEl.toggles.bind('click', function($event){\n\n\t\t\tangular.forEach(scope.lmecEl.toggles, function(value,key){\n\t\t\t\tangular.element(value).toggleClass('active');\n\t\t\t});\n\n\t\t\tscope.lmecEl.title.toggleClass('active');\n\t\t\tscope.lmecEl.body.toggleClass('active');\n\t\t\tscope.lmecEl.header.toggleClass('shrink');\n\n\t\t\tscope.lmecEl.col.toggleClass(scope.lmecEl.colClass).toggleClass('col-md-1');\n\n\t\t});\n\t});\n\n}"
  },
  {
    "path": "pe-list-menu-expand-collapse/widget/pe-list-menu-expand-collapse.u-option-schema.json",
    "content": "[{\"name\":\"title\",\"section\":\"Data\",\"default_value\":\"Contents\",\"label\":\"Title\",\"type\":\"string\"},{\"hint\":\"\",\"name\":\"bgcolor_header\",\"section\":\"Presentation\",\"default_value\":\"#65676a\",\"label\":\"Header Background Color\",\"type\":\"string\"},{\"name\":\"bgcolor_menu\",\"section\":\"Presentation\",\"default_value\":\"#f5f5f5\",\"label\":\"Menu Background Color\",\"type\":\"string\"}]"
  },
  {
    "path": "pe-list-menu-expand-collapse/widget/pe-list-menu-expand-collapse.u-server-script.js",
    "content": "(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\tdata.options = options;\n\tvar menu_id = $sp.getValue(\"sp_rectangle_menu\");\n\t\n\t\n\tfunction sortByKey(array, key) {\n\t\treturn array.sort(function(a, b) {\n\t\t\tvar x = a[key]; var y = b[key];\n\t\t\treturn ((x < y) ? -1 : ((x > y) ? 1 : 0));\n\t\t});\n\t}\n\t\n\t\n\tdata.menu = {\n\t\tsys_id: menu_id,\n\t\titems : sortByKey($sp.getMenuItems(menu_id),'order'),\n\t\twidget : $sp.getWidgetFromInstance(menu_id)\n\t};\n\t\n\t\n})();"
  },
  {
    "path": "pe-manage-attachments/README.md",
    "content": "# Email Client and Attachment Management\n\n## Description\n\nA simple way to allow the out of box email client to contain attachments.\n\n## Screenshot\n\n![Manage Attachments](../images/pe-manage-attachments.png)\n\n## Additional Information/Notes\n\nThe update set gives two ways for this function to be used. The first is a widget that is available to be used on Service portal. The second is a UI action that is put on the out of box form. A example is given in the update on the incident form.\n\nTo use on ServicePortal it requires that there be 2 parameters in the url. These parameters are sys_id and table, they can optionally be filled out in the options.\t\n\n## Installation\n\nDownload and install update set **[pe-manage-attachments.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-manage-attachments/pe-manage-attachments.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Record ID` | sys_id of the record | |\n| `Record Table` | Table Name for the record | |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-manage-attachments/pe-manage-attachments.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-09-07 14:45:01\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<application_name>Email Client Attachments</application_name>\n<application_scope>x_snc_ec_attach</application_scope>\n<application_version>1.0.0</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description> </description>\n<inserted/>\n<name>Email Client Attachments</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>30a7691b135c2f009e5e7f176144b02c</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>d2a7a91b135c2f009e5e7f176144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_3cf1e1b41358e7009e5e7f176144b037</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">7cf1e1b41358e7009e5e7f176144b035</sp_column><sp_widget display_value=\"Manage Attachments\">30f129741358e7009e5e7f176144b07d</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 19:55:15</sys_created_on><sys_id>3cf1e1b41358e7009e5e7f176144b037</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sp_instance_3cf1e1b41358e7009e5e7f176144b037</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 19:55:15</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=3cf1e1b41358e7009e5e7f176144b037\"/></record_update>]]></payload>\n<payload_hash>1113447686</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>12a7a91b135c2f009e5e7f176144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38b30000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>34f1e1b46358e700df5bcbb1f0cc0439</update_guid>\n<update_guid_history>34f1e1b46358e700df5bcbb1f0cc0439:1113447686</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_c484bdc513902b009e5e7f176144b028</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>write</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-31 15:54:46</sys_created_on><sys_id>c484bdc513902b009e5e7f176144b028</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_c484bdc513902b009e5e7f176144b028</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-31 15:54:46</sys_updated_on><target_name>incident</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1817777960</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>12a7a91b135c2f009e5e7f176144b089</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39b10000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>incident</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>8084bdc53a902b00afb563dfacd16629</update_guid>\n<update_guid_history>8084bdc53a902b00afb563dfacd16629:1817777960</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_752055f81318e7009e5e7f176144b09b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:37:30</sys_created_on><sys_id>752055f81318e7009e5e7f176144b09b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_email_client_template</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_752055f81318e7009e5e7f176144b09b</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:37:30</sys_updated_on><target_name>sys_email_client_template</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>322007031</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>16a7a91b135c2f009e5e7f176144b088</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38ea0000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>sys_email_client_template</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>312055f82a18e7006f160727b26e599c</update_guid>\n<update_guid_history>312055f82a18e7006f160727b26e599c:322007031</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_0113adb41358e7009e5e7f176144b0a4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 20:00:11</sys_created_on><sys_id>0113adb41358e7009e5e7f176144b0a4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: user roles and groups</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_0113adb41358e7009e5e7f176144b0a4</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 20:00:11</sys_updated_on><target_name>Glide API: user roles and groups</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>706514369</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>1aa7a91b135c2f009e5e7f176144b087</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38650000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>Glide API: user roles and groups</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>d913adb42a58e700832337694ac9f6a4</update_guid>\n<update_guid_history>d913adb42a58e700832337694ac9f6a4:706514369</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_bd4c78aa1344af00aeee32228144b053</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>Email Client Attachments</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_snc_ec_attach</scope><scoped_administration>false</scoped_administration><short_description/><source>x_snc_ec_attach</source><store_correlation_id/><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-23 17:24:20</sys_created_on><sys_id>bd4c78aa1344af00aeee32228144b053</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-23 17:24:20</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n<payload_hash>-1754870119</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>1ea7a91b135c2f009e5e7f176144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38100000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>Email Client Attachments</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>0a4c78aa3f44af0083a3356d0e6bc627</update_guid>\n<update_guid_history>0a4c78aa3f44af0083a3356d0e6bc627:269080413</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_action_929c0d381318e7009e5e7f176144b08c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_action\"&gt;&lt;sys_ui_action action=\"INSERT_OR_UPDATE\"&gt;&lt;action_name&gt;send_attachments&lt;/action_name&gt;&lt;active&gt;true&lt;/active&gt;&lt;client&gt;true&lt;/client&gt;&lt;client_script_v2/&gt;&lt;comments/&gt;&lt;condition&gt;!current.isNewRecord()&lt;/condition&gt;&lt;form_action&gt;true&lt;/form_action&gt;&lt;form_button&gt;true&lt;/form_button&gt;&lt;form_button_v2&gt;false&lt;/form_button_v2&gt;&lt;form_context_menu&gt;false&lt;/form_context_menu&gt;&lt;form_link&gt;false&lt;/form_link&gt;&lt;form_menu_button_v2&gt;false&lt;/form_menu_button_v2&gt;&lt;form_style/&gt;&lt;hint/&gt;&lt;isolate_script&gt;true&lt;/isolate_script&gt;&lt;list_action&gt;false&lt;/list_action&gt;&lt;list_banner_button&gt;false&lt;/list_banner_button&gt;&lt;list_button&gt;false&lt;/list_button&gt;&lt;list_choice&gt;false&lt;/list_choice&gt;&lt;list_context_menu&gt;false&lt;/list_context_menu&gt;&lt;list_link&gt;false&lt;/list_link&gt;&lt;list_save_with_form_button&gt;false&lt;/list_save_with_form_button&gt;&lt;list_style/&gt;&lt;name&gt;Send Email With Attachments&lt;/name&gt;&lt;onclick&gt;sendInfoToProcessor()&lt;/onclick&gt;&lt;order&gt;100&lt;/order&gt;&lt;script&gt;&lt;![CDATA[function sendInfoToProcessor(){\n\tvar url = new GlideURL(\"x_snc_ec_attach_send_email.do\");\n\turl.addParam(\"record_id\",g_form.getUniqueValue());\n\turl.addParam(\"table_name\",\"incident\");\n\turl.addParam(\"attachments\",\"all\");\n\tpopupOpenEmailClient(url.getURL());\n}]]&gt;&lt;/script&gt;&lt;show_insert&gt;true&lt;/show_insert&gt;&lt;show_multiple_update&gt;false&lt;/show_multiple_update&gt;&lt;show_query&gt;false&lt;/show_query&gt;&lt;show_update&gt;true&lt;/show_update&gt;&lt;sys_class_name&gt;sys_ui_action&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-30 18:27:33&lt;/sys_created_on&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;929c0d381318e7009e5e7f176144b08c&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Send Email With Attachments&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Email Client Attachments\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_action_929c0d381318e7009e5e7f176144b08c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-31 16:25:07&lt;/sys_updated_on&gt;&lt;table&gt;incident&lt;/table&gt;&lt;ui11_compatible&gt;false&lt;/ui11_compatible&gt;&lt;ui16_compatible&gt;false&lt;/ui16_compatible&gt;&lt;/sys_ui_action&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1603714886</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>1ea7a91b135c2f009e5e7f176144b089</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39590000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table>incident</table>\n<target_name>Send Email With Attachments</target_name>\n<type>UI Action</type>\n<update_domain>global</update_domain>\n<update_guid>e07bf10ddb902b006dd63e1a7d4ff822</update_guid>\n<update_guid_history>e07bf10ddb902b006dd63e1a7d4ff822:-1603714886,4ced8978ae18e700591c74b0ff76cb84:2013992379</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_637019f81318e7009e5e7f176144b07a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:38:58</sys_created_on><sys_id>637019f81318e7009e5e7f176144b07a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideSysAttachment.writeBase64</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_637019f81318e7009e5e7f176144b07a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:38:58</sys_updated_on><target_name>GlideSysAttachment.writeBase64</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1658103329</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>52a7a91b135c2f009e5e7f176144b088</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38db0000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>GlideSysAttachment.writeBase64</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>ab7019f85818e7005e85ad25c50ac57b</update_guid>\n<update_guid_history>ab7019f85818e7005e85ad25c50ac57b:1658103329</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_0113adb41358e7009e5e7f176144b0a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 20:00:11</sys_created_on><sys_id>0113adb41358e7009e5e7f176144b0a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: string utilities</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_0113adb41358e7009e5e7f176144b0a2</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 20:00:11</sys_updated_on><target_name>Glide API: string utilities</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1991257389</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>56a7a91b135c2f009e5e7f176144b087</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38570000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>Glide API: string utilities</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>8113adb43a58e7003913ad62894d8fa3</update_guid>\n<update_guid_history>8113adb43a58e7003913ad62894d8fa3:1991257389</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_30f129741358e7009e5e7f176144b07d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function attachMate($scope, nowAttachmentHandler, $rootScope, spUtil, spModal, $log, spAriaUtil, $filter) {\n\tvar popupCurrent = undefined;\n\t$scope.errorMessages = [];\n\t$scope.attachmentHandler = new nowAttachmentHandler(setAttachments, appendError);\n\t$scope.data.action = \"\";\n\n\tspUtil.recordWatch($scope, \"sys_attachment\", \"table_sys_id=\" + $scope.data.sys_id, function(name, data) {\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t});\n\n\t$scope.$evalAsync(function() {\n\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.sys_id, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t})\n\n\t$scope.hasAttachments = function() {\n\t\treturn $scope.attachments &amp;&amp; $scope.attachments.length != 0;\n\t}\n\n\t$scope.canWrite = function() {\n\t\treturn $scope.data.canWrite;\n\t}\n\n\t$scope.confirmDeleteAttachment = function(attachment) {\n\t\tspModal.confirm(\"${Delete Attachment?}\").then(function() {\n\t\t\t$scope.attachmentHandler.deleteAttachment(attachment);\n\t\t})\n\t}\n\n\t$scope.$on('dialog.upload_too_large.show', function(e){\n\t\t$log.error($scope.data.largeAttachmentMsg);\n\t\tspUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n\t});\n\n\t$scope.$on('added_attachment', function(evt) {\n\t\t$scope.data.action = \"added\";\n\t\tspUtil.update($scope);\n\t});\n\n\t$scope.$on('sp.record.can_write', function(evt, answer) {\n\t\t$scope.data.canWrite = answer;\n\t});\n\t$scope.openEmailPopup = function(){\n\t\tclosePopup();\n\t\tvar width = 875;\n\t\tvar height = 575;\n\t\tvar url = \"/x_snc_ec_attach_send_email.do?\";\n\t\turl += \"record_id=\" + $scope.data.sys_id;\n\t\turl += \"&amp;table_name=\" + $scope.data.table;\n\t\turl += \"&amp;attachments=\" + $filter('filter')($scope.attachments,{'selected':true}).map(function(attachment){\n\t\t\treturn attachment.sys_id.toString();\n\t\t});\n\t\tvar features = \"width=\" + width + \",height=\" + height + \",toolbar=no,status=no,directories=no,menubar=no,resizable=yes,scrollbars=1\";\n\t\tpopupCurrent = window.open(url,\"Email_Client\",features,false);\n\t\t\n\t}\n\tfunction closePopup(){\n\t\tif (!popupCurrent)\n\t\t\treturn;\n\t\ttry {\n\t\t\tif (!popupCurrent.closed)\n\t\t\t\tpopupCurrent.close();\n\t\t} catch (e) {}\n\t\tpopupCurrent = null;\n\t}\n\tfunction appendError(error) {\n\t\t$scope.errorMessages.push(error);\n\t\tspUtil.addErrorMessage(error.msg + error.fileName);\n\t}\n\n\tfunction setAttachments(attachments, action) {\n\t\tif ($scope.submitting == true)\n\t\t\treturn;\n\n\t\t$scope.attachments = attachments;\n\t\tif (!action)\n\t\t\treturn;\n\n\t\tif (action === \"added\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n\t\t}\n\n\t\t$scope.data.action = action;\n\t\tspUtil.update($scope);\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-manage-attachments&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Manage Attachments&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"ID of referenced record\",\"name\":\"record_id\",\"section\":\"Data\",\"label\":\"Record ID\",\"type\":\"string\"},{\"hint\":\"Table name of referenced record\",\"name\":\"record_table\",\"section\":\"Data\",\"label\":\"Record Table\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tdata.sys_id = (input &amp;&amp; input.sys_id) || options.record_id || $sp.getParameter(\"sys_id\");\n\tdata.table = (input &amp;&amp; input.table) || options.record_table || $sp.getParameter(\"table\");\n\tdata.table = _getActualTable(data.table, data.sys_id);\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tif (!data.table || !data.sys_id)\n\t\treturn;\n\n\tvar gr = new GlideRecord(data.table);\n\tif (!gr.isValid())\n\t\treturn;\n\t\n\tif (!gr.get(data.sys_id))\n\t\treturn;\n\n\tif (input &amp;&amp; input.action == \"deleted\") {\n\t\tgr.comments = input.action + \" an attachment\";\n\t\tgr.update();\n\t}\n\n\tdata.canWrite = gr.canWrite();\n\tdata.canAttach = gs.hasRole(gs.getProperty(\"glide.attachment.role\"));\n\tdata.canRead = gr.canRead();\n\n\tfunction _getActualTable(table, id) {\n\t\tif (!table)\n\t\t\treturn table;\n\t\t\n\t\tvar rec = new GlideRecord(table);\n\t\tif (!rec.isValid())\n\t\t\treturn table;\n\t\t\n\t\tif (rec.get(id) &amp;&amp; rec.getValue('sys_class_name')) {\n\t\t\treturn rec.getValue('sys_class_name');\n\t\t}\n\t\treturn table;\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-30 19:55:14&lt;/sys_created_on&gt;&lt;sys_id&gt;30f129741358e7009e5e7f176144b07d&lt;/sys_id&gt;&lt;sys_mod_count&gt;53&lt;/sys_mod_count&gt;&lt;sys_name&gt;Manage Attachments&lt;/sys_name&gt;&lt;sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Email Client Attachments\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_30f129741358e7009e5e7f176144b07d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-07 14:44:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"data.canRead\" class=\"panel\"&gt;\n  &lt;div class=\"panel-heading\"&gt;\n    &lt;h2 class=\"h4 sp-attachments-header panel-title pull-left\"&gt;\n      ${Attachments}\n    &lt;/h2&gt;\n    &lt;button id=\"email_button\" title=\"Send Email\" class=\"panel-button btn-link\" ng-click=\"openEmailPopup()\"&gt;\n      &lt;span class=\"glyphicon glyphicon-envelope\"&gt;&lt;/span&gt;\n    &lt;/button&gt;\n    &lt;sp-attachment-button ng-if=\"::(data.canWrite &amp;&amp; data.canAttach)\"&gt;&lt;/sp-attachment-button&gt;\n  &lt;/div&gt;\n  &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n  &lt;ul class=\"list-group\"&gt;\n    &lt;li ng-repeat=\"attachment in attachments | orderBy : 'file_name'\" class=\"list-group-item\"&gt;\n      &lt;div class=\"checkbox\"&gt;\n        &lt;label&gt;\n          &lt;input type=\"checkbox\" ng-model=\"attachment.selected\"&gt;\n          &lt;a ng-href=\"/sys_atachment.do?sys_id={{atachment.sys_id}}\"&gt;\n            {{attachment.file_name}}\n          &lt;/a&gt;\n          &lt;button id=\"remove_button\" title=\"Remove Attachments\" class=\"btn-link\" ng-click=\"confirmDeleteAttachment(attachment)\"&gt;\n            &lt;span class=\"glyphicon glyphicon-remove\"&gt;&lt;/span&gt;\n          &lt;/button&gt;\n        &lt;/label&gt;\n      &lt;/div&gt;\n    &lt;/li&gt;\n  &lt;/ul&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2005187707</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>5aa7a91b135c2f009e5e7f176144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38890000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>Manage Attachments</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>6287a51b7c5c2f008d937c33743d0da4</update_guid>\n<update_guid_history>6287a51b7c5c2f008d937c33743d0da4:2005187707,e6e051c793142f0027d807df6f25fec8:826821273,3ece41c79c142f00c493ebc206df6f7c:-1304992665,8a7cde8d56d02b004d6e14c1dcfe2787:-1929201525,4e3cde8d5cd02b0010255d27d0167e7f:-64922321,8978520d27d02b0007ed89ebe6368fed:716308335,b2e68a81f8d02b0019dbe34625bd61e0:98978806,d5c6c681abd02b00d8e206175007802f:828275912,13a686819ad02b00bb2a54fa6012272c:-1339991803,7186cacd3c902b00f6a987f67d3132b1:-1749513912,48ca35c95c902b0039b94802e108acff:-1568306487,a8ba35c908902b00cc9d74bbd578d0e9:-239382525,449af1c916902b009330ad81380267a7:384264452,896a71c99f902b00d05fcffe170567dc:-695606668,f85a71c9ea902b0023e0a9d44bafc02d:-1869455776,d839b5894e902b003bf6ccee2d6ff44f:376281263,4bf8f949c2902b00afd9864c1f849e61:-336508749,00e8f18922902b00d601cebf67998663:1874552581,72747dc5bd902b0036a83878d1217eae:1888288379,a254f9c5db902b0032a20bb9548d90f0:1560103578,5054f9c539902b0025ea6aadef916adf:-484843485,f334b9c56b902b00cf395d951ff192a0:1506336501,b43479c509902b000ef1f35b64fe8479:1725518263,1f2479c554902b005c50018671ff8662:488836750,8b1479c568902b00b6f227e6f8bd402b:-686002011,5be3f1c52c902b005a9e5b0569ed6bb4:-1166017517,39b3f1c530902b00fc8294dfeeaa64e6:-702059352,5d93f1c501902b00ec5f0c5d200444db:1483957420,6c83f1c5b5902b00ddcdbb435991d107:1677725935,aa6371c5c2902b00f34f36cf36bbd8d2:183044051,da4331c5f5902b00a98473c7eed42d6b:-614050215,eb327585b9902b00058addda974d9a14:-1502502534,ad027585ac902b005c7f9856104dd60c:1677426389,61617545c9902b00b8d4b4ed6ff0f97a:1850410062,57a039457d902b00646d6d3bff971fb4:-1051345198,19707545fc902b006dbb587479e7b748:1836418739,e730354563902b00212323797d4d0153:-1063246579,5a8f6905b8902b0000da21798473af44:-417047619,281f6905e9902b002307042aa2dd2001:1350642147,290fe505e4902b00100a59074f0464dd:1043276082,b5ae250563902b0096ab06b950a13558:987739425,a59ee10533902b003db7e2a8e0f98646:-1137385887,580eadc143902b009acb25739b560d37:-345556449,b4fde9c1a5902b0018b3901144189a01:-1854118817,6fe465f41558e700fc416eb47963d77d:-810964479,2bb365f42a58e700e0d26d8971f8545d:1481268980,af736db47458e7006d4dd67c482ed37c:-980205879,8013adb4f458e7006a807b82a465fb9d:-827608791,c1032db48c58e7003091d15092934ae7:642147657,27d2e9b45858e700ebed0e4f2569c278:-76889389,eb8269b46d58e7001d1a517588c98745:241535064,6562a5b4ce58e700da985863afcec5ad:1979478816,5a42a5b47458e7004028b6a8fb53f3b4:1735276532,b4f129744758e700a2fc61e920fcfc7e:-375549654</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_4b5df0ea1344af00aeee32228144b0b1</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_snc_ec_attach.AttachmentEmailScripts&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;AttachmentEmailScripts&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var AttachmentEmailScripts = Class.create();\nAttachmentEmailScripts.prototype = {\n\tinitialize : function(recordID, tableName) {\n\t\tthis.recordID = recordID;\n\t\tthis.tableName = tableName;\n\t\tthis.recordGR = getRecord(recordID, tableName);\n\t},\n\tgetEmailClientURL : function(attachments){\n\t\tvar url = \"email_client.do?\";\n\t\tif(attachments.length != 0){\n\t\t\tvar emailID = this.createEmail(attachments);\n\t\t\turl += \"sysparm_email_id=\" + emailID + \"&amp;\";\n\t\t}\n\t\turl += \"sysparm_table=\" + this.tableName;\n\t\turl += \"&amp;sysparm_sys_id=\" + this.recordID; \n\t\turl += \"&amp;sysparm_target=\" + this.tableName;\n\t\turl += \"&amp;sys_target=\" + this.tableName;\n\t\turl += \"&amp;sys_uniqueValue=\" + this.recordID;\n\t\turl += \"&amp;sys_row=0&amp;sysparm_domain_restore=false&amp;sysparm_stack=no\";\n\t\treturn url;\n\t},\n\tcreateEmail : function(attachments){\n\t\tvar emailID = \"\";\n\t\tvar replyTo = getReplyTo();\n\t\tvar templateGR = getTemplateGR(this.tableName);\n\t\tvar emailGR = new GlideRecord('sys_email');\n\t\temailGR.initialize();\n\t\temailGR.instance = this.recordID;\n\t\temailGR.target_table = this.tableName;\n\t\temailGR.reply_to = replyTo;\n\t\temailGR.user = replyTo;\n\t\temailGR.type = \"send-ignored\";\n\t\temailGR.error_string = \"User did not press the Send button in Email Client\";\n\t\temailGR.headers = \"X-ServiceNow-Source: EmailClient\\nX-ServiceNow-SysEmail-Version: 2\";\n\t\temailGR.weight = -1;\n\t\tif(templateGR.next()){\n\t\t\temailGR.recipients = this.regexReplace(templateGR.recipients.toString());\n\t\t\temailGR.subject = this.regexReplace(templateGR.subject.toString());\n\t\t\temailGR.blind_copied = this.regexReplace(templateGR.blind_copied.toString());\n\t\t\temailGR.copied = this.regexReplace(templateGR.copied.toString());\n\t\t\temailGR.body = this.regexReplace(templateGR.content_type == \"text/html\" ? templateGR.body_html.toString() : templateGR.body.toString());\n\t\t}\n\t\temailID = emailGR.insert();\n\t\tif(attachments){\n\t\t\tcopyAttachments(emailGR,attachments);\n\t\t}\n\t\treturn emailID;\n\t},\n\tgetAttachments : function(idList){\n\t\tvar attachmentList = [];\n\t\tvar attachmentGR = new GlideRecord(\"sys_attachment\");\n\t\tattachmentGR.addQuery(\"table_sys_id\",this.recordID);\n\t\tattachmentGR.addQuery(\"table_name\",this.tableName);\n\t\tif(idList){\n\t\t\tattachmentGR.addQuery(\"sys_id\",\"IN\",idList);\n\t\t}\n\t\tattachmentGR.query();\n\t\twhile(attachmentGR.next()){\n\t\t\tattachmentList.push({\n\t\t\t\tfile_name : attachmentGR.file_name.toString(),\n\t\t\t\tsys_id : attachmentGR.sys_id.toString(),\n\t\t\t\tcontent_type : attachmentGR.content_type.toString(),\n\t\t\t\tbase64 : getAttachmentBase64(attachmentGR),\n\t\t\t\tselected : true\n\t\t\t});\n\t\t}\n\t\treturn attachmentList;\n\t},\n\twriteAttachmentBase64 : writeAttachmentBase64,\n\tregexReplace : function (textString){\n\t\tvar reg = new RegExp(/\\${(\\w*)}/g);\n\t\tvar regTest;\n\t\twhile ((regTest = reg.exec(textString)) !== null) {\n\t\t\tif (regTest.index === reg.lastIndex) {\n\t\t\t\treg.lastIndex++;\n\t\t\t}\n\t\t\ttextString = textString.replace(regTest[0].toString(),this.recordGR.getDisplayValue(regTest[1].toString()));\n\t\t}\n\t\treturn textString;\n\t},\n\ttype: 'AttachmentEmailScripts'\n};\nfunction getAttachmentBase64 (attachmentGR){\n\tvar gsa = new GlideSysAttachment();\n\treturn gsa.getContentBase64(attachmentGR);\n}\nfunction writeAttachmentBase64 (emailRecord, attachment, sa64){\n\tvar gsa = new GlideSysAttachment();\n\tgsa.writeBase64(emailRecord,attachment.file_name.toString(),attachment.content_type.toString(),sa64);\n}\nfunction getRecord (recordID, tableName){\n\tvar recordGR = new GlideRecord(tableName);\n\trecordGR.get(recordID);\n\treturn recordGR;\n}\nfunction getReplyTo(){\n\tvar replyTo = gs.getProperty(\"glide.email.username\") + \" &lt;\" + gs.getProperty(\"glide.cs.email.case_queue_address\") + \"&gt;\"; \n\tvar emailAccountsGR = new GlideRecord(\"sys_email_account\");\n\temailAccountsGR.addQuery(\"type\",\"smtp\");\n\temailAccountsGR.addActiveQuery();\n\temailAccountsGR.query();\n\tif(emailAccountsGR.next()){\n\t\treplyTo = emailAccountsGR.email_user_label.toString() + \" &lt;\" +  emailAccountsGR.from.toString() + \"&gt;\";\n\t}\n\treturn replyTo;\n}\n\nfunction getTemplateGR(tableName){\n\tvar templateGR = new GlideRecord(\"sys_email_client_template\");\n\ttemplateGR.addQuery(\"name\",\"New Email\");\n\ttemplateGR.addQuery(\"table\",tableName);\n\ttemplateGR.query();\n\treturn templateGR;\n}\n\nfunction copyAttachments(emailRecord, attachments){\n\tfor(var i = 0; i != attachments.length; i++){\n\t\tcopyAttachment(emailRecord,attachments[i]);\n\t}\n}\nfunction copyAttachment(emailRecord, attachment){\n\tvar sa64 = attachment.base64 || getAttachmentBase64(getRecord(attachment.sys_id.toString(),\"sys_attachment\"));\n\tlog(sa64);\n\twriteAttachmentBase64(emailRecord, attachment, sa64);\n}\nfunction log(message){\n\tvar gdt = new GlideDateTime();\n\tgs.info(gdt.getNumericValue() + \"\\n\" + message);\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-23 17:29:14&lt;/sys_created_on&gt;&lt;sys_id&gt;4b5df0ea1344af00aeee32228144b0b1&lt;/sys_id&gt;&lt;sys_mod_count&gt;16&lt;/sys_mod_count&gt;&lt;sys_name&gt;AttachmentEmailScripts&lt;/sys_name&gt;&lt;sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Email Client Attachments\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_4b5df0ea1344af00aeee32228144b0b1&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-06 18:32:37&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1745588916</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>5aa7a91b135c2f009e5e7f176144b089</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38c20000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>AttachmentEmailScripts</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>e22251c7fe142f002f39f8732bfc7acf</update_guid>\n<update_guid_history>e22251c7fe142f002f39f8732bfc7acf:-1745588916,ee51c6cdd4902b0086abda7af1849bc8:1827597067,9fdd394d9d902b00ac9bf3687d5c54d4:36115314,b87cf50d75902b004588ec4e65d3beae:261868869,e2b1913c0018e70083a58496a0f15874:-1358530320,c8815df87418e700bae84536ed6a9da9:-636476927,53f05df8fd18e700eec65b79e9796f6f:1217725536,327095f83e18e7006d718d0986ebb99e:480533247,ff1051f89018e7001769d4d1eb4c0ca8:-462908487,ff6f4db84418e700a8e32428de8fe2d4:1130811601,582f85b84f18e700c51e51346a477b53:-1150129290,648c41f4ba18e700444e2485f9e28faa:-782728121,882c0860859ca70053bebae51b47fe7e:-1246507217,537600ac775ca7006abdc43dc955a84e:-1689935520,7d06c42c4c5ca7005bd168deb0f7c701:-2012325886,ae6d0e369c40ef00c9d46fa33e6670a8:297250974,a96d78aa9c44af0066b0c047e108895f:-1651371803</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_bcf1e1b41358e7009e5e7f176144b031</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Manage Attachments - Test Page - Container 1</name><order>1</order><sp_page display_value=\"manage_attachments\">f0f129741358e7009e5e7f176144b07f</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 19:55:15</sys_created_on><sys_id>bcf1e1b41358e7009e5e7f176144b031</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Manage Attachments - Test Page - Container 1</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sp_container_bcf1e1b41358e7009e5e7f176144b031</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 19:55:15</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>-945003510</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>5ea7a91b135c2f009e5e7f176144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e397a0000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>Manage Attachments - Test Page - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>b0f1e1b43958e70069d01092a7983633</update_guid>\n<update_guid_history>b0f1e1b43958e70069d01092a7983633:-945003510</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_bd2091f81318e7009e5e7f176144b06c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:37:29</sys_created_on><sys_id>bd2091f81318e7009e5e7f176144b06c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideSysAttachment.getContentBase64</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_bd2091f81318e7009e5e7f176144b06c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:37:29</sys_updated_on><target_name>GlideSysAttachment.getContentBase64</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>793856643</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>5ea7a91b135c2f009e5e7f176144b088</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39a20000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>GlideSysAttachment.getContentBase64</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>f52091f8ef18e700943f8e58c483f76e</update_guid>\n<update_guid_history>f52091f8ef18e700943f8e58c483f76e:793856643</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_00847dc513902b009e5e7f176144b0c3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-31 15:54:46</sys_created_on><sys_id>00847dc513902b009e5e7f176144b0c3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideRecord.update</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_00847dc513902b009e5e7f176144b0c3</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-31 15:54:46</sys_updated_on><target_name>GlideRecord.update</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-359498143</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>92a7a91b135c2f009e5e7f176144b087</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38460000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>GlideRecord.update</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>8884bdc539902b00b5dec5cfcbb90927</update_guid>\n<update_guid_history>8884bdc539902b00b5dec5cfcbb90927:-359498143</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_bcf1e1b41358e7009e5e7f176144b033</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Manage Attachments - Test Page - Container 1\">bcf1e1b41358e7009e5e7f176144b031</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 19:55:15</sys_created_on><sys_id>bcf1e1b41358e7009e5e7f176144b033</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sp_row_bcf1e1b41358e7009e5e7f176144b033</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 19:55:15</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>170882365</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>96a7a91b135c2f009e5e7f176144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39940000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>70f1e1b49c58e7000283956273d7df35</update_guid>\n<update_guid_history>70f1e1b49c58e7000283956273d7df35:170882365</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_f92055f81318e7009e5e7f176144b099</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:37:30</sys_created_on><sys_id>f92055f81318e7009e5e7f176144b099</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_email_account</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_f92055f81318e7009e5e7f176144b099</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:37:30</sys_updated_on><target_name>sys_email_account</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1298287947</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>96a7a91b135c2f009e5e7f176144b089</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39eb0000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>sys_email_account</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>b52055f8d118e7008e8491f6c87d789a</update_guid>\n<update_guid_history>b52055f8d118e7008e8491f6c87d789a:-1298287947</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_7cf1e1b41358e7009e5e7f176144b035</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size/><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">bcf1e1b41358e7009e5e7f176144b033</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 19:55:15</sys_created_on><sys_id>7cf1e1b41358e7009e5e7f176144b035</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sp_column_7cf1e1b41358e7009e5e7f176144b035</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 19:55:15</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>336740618</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>9aa7a91b135c2f009e5e7f176144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38f90000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>30f1e1b44658e70081148cfa00559437</update_guid>\n<update_guid_history>30f1e1b44658e70081148cfa00559437:336740618</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_b52055f81318e7009e5e7f176144b09e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>create</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:37:30</sys_created_on><sys_id>b52055f81318e7009e5e7f176144b09e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_email</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_b52055f81318e7009e5e7f176144b09e</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:37:30</sys_updated_on><target_name>sys_email</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1120113997</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>9aa7a91b135c2f009e5e7f176144b088</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39650000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>sys_email</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>712055f8d518e700c80d35455c8a6b9f</update_guid>\n<update_guid_history>712055f8d518e700c80d35455c8a6b9f:-1120113997</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_5c5fc9b81318e7009e5e7f176144b07d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:33:50</sys_created_on><sys_id>5c5fc9b81318e7009e5e7f176144b07d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_attachment</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_5c5fc9b81318e7009e5e7f176144b07d</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:33:50</sys_updated_on><target_name>sys_attachment</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1458072209</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>9ea7a91b135c2f009e5e7f176144b087</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38d10000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>sys_attachment</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>185fc9b89518e700594410a9352e437e</update_guid>\n<update_guid_history>185fc9b89518e700594410a9352e437e:1458072209</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_f0f129741358e7009e5e7f176144b07f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>manage_attachments</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 19:55:15</sys_created_on><sys_id>f0f129741358e7009e5e7f176144b07f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>manage_attachments</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sp_page_f0f129741358e7009e5e7f176144b07f</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 19:55:15</sys_updated_on><title>Manage Attachments - Test Page</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f0f129741358e7009e5e7f176144b07f\"/></record_update>]]></payload>\n<payload_hash>1043551201</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>d2a7a91b135c2f009e5e7f176144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39d70000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>manage_attachments</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>b0f1e1b4e058e700b9bb78766dfb9c31</update_guid>\n<update_guid_history>b0f1e1b4e058e700b9bb78766dfb9c31:1043551201</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_dc5fc9b81318e7009e5e7f176144b07a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:33:50</sys_created_on><sys_id>dc5fc9b81318e7009e5e7f176144b07a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_dc5fc9b81318e7009e5e7f176144b07a</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:33:50</sys_updated_on><target_name>incident</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1553905423</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>d2a7a91b135c2f009e5e7f176144b089</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39c50000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>incident</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>5c5fc9b8ea18e700a6214b3858a8627c</update_guid>\n<update_guid_history>5c5fc9b8ea18e700a6214b3858a8627c:-1553905423</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_1ee22db41358e7009e5e7f176144b0db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"dialog-polyfill\">2eaf31f30b301200b0b02c6317673a84</sp_dependency><sp_widget display_value=\"Manage Attachments\">30f129741358e7009e5e7f176144b07d</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 19:59:27</sys_created_on><sys_id>1ee22db41358e7009e5e7f176144b0db</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dialog-polyfill.Manage Attachments</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>m2m_sp_widget_dependency_1ee22db41358e7009e5e7f176144b0db</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 19:59:27</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-114788749</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>d6a7a91b135c2f009e5e7f176144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38780000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>dialog-polyfill.Manage Attachments</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>aae22db48558e700c0c91fe34fc530dd</update_guid>\n<update_guid_history>aae22db48558e700c0c91fe34fc530dd:-114788749</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_7d2055f81318e7009e5e7f176144b09c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:37:30</sys_created_on><sys_id>7d2055f81318e7009e5e7f176144b09c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideRecord.insert</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_7d2055f81318e7009e5e7f176144b09c</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:37:30</sys_updated_on><target_name>GlideRecord.insert</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>619867233</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>d6a7a91b135c2f009e5e7f176144b088</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e39060000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>GlideRecord.insert</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>392055f86d18e700237b4100e19d049d</update_guid>\n<update_guid_history>392055f86d18e700237b4100e19d049d:619867233</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_392091f81318e7009e5e7f176144b06f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>darrin.achtman@snc</sys_created_by><sys_created_on>2018-08-30 18:37:30</sys_created_on><sys_id>392091f81318e7009e5e7f176144b06f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: properties</sys_name><sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\">bd4c78aa1344af00aeee32228144b053</sys_package><sys_policy/><sys_scope display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</sys_scope><sys_update_name>sys_scope_privilege_392091f81318e7009e5e7f176144b06f</sys_update_name><sys_updated_by>darrin.achtman@snc</sys_updated_by><sys_updated_on>2018-08-30 18:37:30</sys_updated_on><target_name>Glide API: properties</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>509177661</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>daa7a91b135c2f009e5e7f176144b087</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e38980000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>Glide API: properties</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>f12091f89918e700bdf07d0ee359da70</update_guid>\n<update_guid_history>f12091f89918e700bdf07d0ee359da70:509177661</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Email Client Attachments\">bd4c78aa1344af00aeee32228144b053</application>\n<category>customer</category>\n<comments/>\n<name>sys_processor_80b8c9b41318e7009e5e7f176144b064</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_processor\"&gt;&lt;sys_processor action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;description/&gt;&lt;interactive&gt;false&lt;/interactive&gt;&lt;name&gt;AttachmentEmail&lt;/name&gt;&lt;parameters/&gt;&lt;params_endpoint/&gt;&lt;path&gt;send_email&lt;/path&gt;&lt;path_endpoint&gt;x_snc_ec_attach_send_email&lt;/path_endpoint&gt;&lt;require_csrf&gt;false&lt;/require_csrf&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function process(g_request, g_response, g_processor) {\n\tvar recordID = g_request.getParameter(\"record_id\").toString();\n\tvar tableName = g_request.getParameter(\"table_name\").toString();\n\tvar attachmentsIDs = g_request.getParameter(\"attachments\").toString();\n\tvar attachmentScript = new x_snc_ec_attach.AttachmentEmailScripts(recordID, tableName);\n\tvar attachments = attachmentScript.getAttachments(attachmentsIDs == \"all\" ? false : attachmentsIDs.split(\",\"));\n\t\n\tvar url = attachmentScript.getEmailClientURL(attachments);\n\tg_processor.redirect(url);\n})(g_request, g_response, g_processor);]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_processor&lt;/sys_class_name&gt;&lt;sys_created_by&gt;darrin.achtman@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-30 18:21:49&lt;/sys_created_on&gt;&lt;sys_id&gt;80b8c9b41318e7009e5e7f176144b064&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;AttachmentEmail&lt;/sys_name&gt;&lt;sys_package display_value=\"Email Client Attachments\" source=\"x_snc_ec_attach\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Email Client Attachments\"&gt;bd4c78aa1344af00aeee32228144b053&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_processor_80b8c9b41318e7009e5e7f176144b064&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;darrin.achtman@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-06 18:14:19&lt;/sys_updated_on&gt;&lt;type&gt;script&lt;/type&gt;&lt;/sys_processor&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1214752599</payload_hash>\n<remote_update_set display_value=\"Email Client Attachments\">d2a7a91b135c2f009e5e7f176144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>darrin.achtman@snc</sys_created_by>\n<sys_created_on>2018-09-07 14:45:00</sys_created_on>\n<sys_id>dea7a91b135c2f009e5e7f176144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>165b47e393e0000001</sys_recorded_at>\n<sys_updated_by>darrin.achtman@snc</sys_updated_by>\n<sys_updated_on>2018-09-07 14:45:00</sys_updated_on>\n<table/>\n<target_name>AttachmentEmail</target_name>\n<type>Processor</type>\n<update_domain>global</update_domain>\n<update_guid>aafd85874a142f009a87acff5a6bdce6</update_guid>\n<update_guid_history>aafd85874a142f009a87acff5a6bdce6:-1214752599,c03db54d6e902b0098eb0eba714506d3:-146028453,026f0db84918e700175dd7d8d65a8341:-1988826151,5b4fc9b88618e700b30bdc75bfce6078:1094051963,d05e81b83b18e700553a3301b20351c0:-1877901061,d49cc9b45b18e7002a6376ca9f7ac37f:1873077081</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-manage-attachments/processor/AttachmentEmail.u-server-script.js",
    "content": "(function process(g_request, g_response, g_processor) {\n\tvar recordID = g_request.getParameter(\"record_id\").toString();\n\tvar tableName = g_request.getParameter(\"table_name\").toString();\n\tvar attachmentsIDs = g_request.getParameter(\"attachments\").toString();\n\tvar attachmentScript = new x_snc_ec_attach.AttachmentEmailScripts(recordID, tableName);\n\tvar attachments = attachmentScript.getAttachments(attachmentsIDs == \"all\" ? false : attachmentsIDs.split(\",\"));\n\t\n\tvar url = attachmentScript.getEmailClientURL(attachments);\n\tg_processor.redirect(url);\n})(g_request, g_response, g_processor);"
  },
  {
    "path": "pe-manage-attachments/script-include/AttachmentEmailScripts.u-server-script.js",
    "content": "var AttachmentEmailScripts = Class.create();\nAttachmentEmailScripts.prototype = {\n\tinitialize : function(recordID, tableName) {\n\t\tthis.recordID = recordID;\n\t\tthis.tableName = tableName;\n\t\tthis.recordGR = getRecord(recordID, tableName);\n\t},\n\tgetEmailClientURL : function(attachments){\n\t\tvar url = \"email_client.do?\";\n\t\tif(attachments.length != 0){\n\t\t\tvar emailID = this.createEmail(attachments);\n\t\t\turl += \"sysparm_email_id=\" + emailID + \"&\";\n\t\t}\n\t\turl += \"sysparm_table=\" + this.tableName;\n\t\turl += \"&sysparm_sys_id=\" + this.recordID; \n\t\turl += \"&sysparm_target=\" + this.tableName;\n\t\turl += \"&sys_target=\" + this.tableName;\n\t\turl += \"&sys_uniqueValue=\" + this.recordID;\n\t\turl += \"&sys_row=0&sysparm_domain_restore=false&sysparm_stack=no\";\n\t\treturn url;\n\t},\n\tcreateEmail : function(attachments){\n\t\tlog(JSON.stringify(attachments,null,2));\n\t\tvar emailID = \"\";\n\t\tvar replyTo = getReplyTo();\n\t\tvar templateGR = getTemplateGR(this.tableName);\n\t\tvar emailGR = new GlideRecord('sys_email');\n\t\temailGR.initialize();\n\t\temailGR.instance = this.recordID;\n\t\temailGR.target_table = this.tableName;\n\t\temailGR.reply_to = replyTo;\n\t\temailGR.user = replyTo;\n\t\temailGR.type = \"send-ignored\";\n\t\temailGR.error_string = \"User did not press the Send button in Email Client\";\n\t\temailGR.headers = \"X-ServiceNow-Source: EmailClient\\nX-ServiceNow-SysEmail-Version: 2\";\n\t\temailGR.weight = -1;\n\t\tif(templateGR.next()){\n\t\t\temailGR.recipients = this.regexReplace(templateGR.recipients.toString());\n\t\t\temailGR.subject = this.regexReplace(templateGR.subject.toString());\n\t\t\temailGR.blind_copied = this.regexReplace(templateGR.blind_copied.toString());\n\t\t\temailGR.copied = this.regexReplace(templateGR.copied.toString());\n\t\t\temailGR.body = this.regexReplace(templateGR.content_type == \"text/html\" ? templateGR.body_html.toString() : templateGR.body.toString());\n\t\t}\n\t\temailID = emailGR.insert();\n\t\tif(attachments){\n\t\t\tcopyAttachments(emailGR,attachments);\n\t\t}\n\t\treturn emailID;\n\t},\n\tgetAttachments : function(idList){\n\t\tvar attachmentList = [];\n\t\tvar attachmentGR = new GlideRecord(\"sys_attachment\");\n\t\tattachmentGR.addQuery(\"table_sys_id\",this.recordID);\n\t\tattachmentGR.addQuery(\"table_name\",this.tableName);\n\t\tif(idList){\n\t\t\tattachmentGR.addQuery(\"sys_id\",\"IN\",idList);\n\t\t}\n\t\tattachmentGR.query();\n\t\twhile(attachmentGR.next()){\n\t\t\tattachmentList.push({\n\t\t\t\tfile_name : attachmentGR.file_name.toString(),\n\t\t\t\tsys_id : attachmentGR.sys_id.toString(),\n\t\t\t\tcontent_type : attachmentGR.content_type.toString(),\n\t\t\t\tbase64 : getAttachmentBase64(attachmentGR),\n\t\t\t\tselected : true\n\t\t\t});\n\t\t}\n\t\treturn attachmentList;\n\t},\n\twriteAttachmentBase64 : writeAttachmentBase64,\n\tregexReplace : function (textString){\n\t\tvar reg = new RegExp(/\\${(\\w*)}/g);\n\t\tvar regTest;\n\t\twhile ((regTest = reg.exec(textString)) !== null) {\n\t\t\tif (regTest.index === reg.lastIndex) {\n\t\t\t\treg.lastIndex++;\n\t\t\t}\n\t\t\ttextString = textString.replace(regTest[0].toString(),this.recordGR.getDisplayValue(regTest[1].toString()));\n\t\t}\n\t\treturn textString;\n\t},\n\ttype: 'AttachmentEmailScripts'\n};\nfunction getAttachmentBase64 (attachmentGR){\n\tvar gsa = new GlideSysAttachment();\n\treturn gsa.getContentBase64(attachmentGR);\n}\nfunction writeAttachmentBase64 (emailRecord, attachment, sa64){\n\tvar gsa = new GlideSysAttachment();\n\tgsa.writeBase64(emailRecord,attachment.file_name.toString(),attachment.content_type.toString(),sa64);\n}\nfunction getRecord (recordID, tableName){\n\tvar recordGR = new GlideRecord(tableName);\n\trecordGR.get(recordID);\n\treturn recordGR;\n}\nfunction getReplyTo(){\n\tvar replyTo = gs.getProperty(\"glide.email.username\") + \" <\" + gs.getProperty(\"glide.cs.email.case_queue_address\") + \">\"; \n\tvar emailAccountsGR = new GlideRecord(\"sys_email_account\");\n\temailAccountsGR.addQuery(\"type\",\"smtp\");\n\temailAccountsGR.addActiveQuery();\n\temailAccountsGR.query();\n\tif(emailAccountsGR.next()){\n\t\treplyTo = emailAccountsGR.email_user_label.toString() + \" <\" +  emailAccountsGR.from.toString() + \">\";\n\t}\n\treturn replyTo;\n}\n\nfunction getTemplateGR(tableName){\n\tvar templateGR = new GlideRecord(\"sys_email_client_template\");\n\ttemplateGR.addQuery(\"name\",\"New Email\");\n\ttemplateGR.addQuery(\"table\",tableName);\n\ttemplateGR.query();\n\treturn templateGR;\n}\n\nfunction copyAttachments(emailRecord, attachments){\n\tfor(var i = 0; i != attachments.length; i++){\n\t\tcopyAttachment(emailRecord,attachments[i]);\n\t}\n}\nfunction copyAttachment(emailRecord, attachment){\n\tvar sa64 = attachment.base64 || getAttachmentBase64(getRecord(attachment.sys_id.toString(),\"sys_attachment\"));\n\tlog(sa64);\n\twriteAttachmentBase64(emailRecord, attachment, sa64);\n}\nfunction log(message){\n\tvar gdt = new GlideDateTime();\n\tgs.info(gdt.getNumericValue() + \"\\n\" + message);\n}"
  },
  {
    "path": "pe-manage-attachments/ui-action/Send Email With Attachments.u-server-script.js",
    "content": "function sendInfoToProcessor(){\n\tvar url = new GlideURL(\"x_snc_ec_attach_send_email.do\");\n\turl.addParam(\"record_id\",g_form.getUniqueValue());\n\turl.addParam(\"table_name\",\"incident\");\n\turl.addParam(\"attachments\",\"all\");\n\tpopupOpenEmailClient(url.getURL());\n}"
  },
  {
    "path": "pe-manage-attachments/widget/pe-manage-attachments.u-body-html-template.html",
    "content": "<div ng-if=\"data.canRead\" class=\"panel panel-{{options.color}} b\">\n  <div class=\"panel-heading padder-b-none\">\n    <h2 class=\"h4 sp-attachments-header panel-title pull-left\">\n      ${Attachments}\n    </h2>\n    <button id=\"email_button\" title=\"Send Email\" class=\"panel-button btn-link\" ng-click=\"openEmailPopup()\">\n      <span class=\"glyphicon glyphicon-envelope\"></span>\n    </button>\n    <sp-attachment-button ng-if=\"::(data.canWrite && data.canAttach)\"></sp-attachment-button>\n  </div>\n  <div class=\"clearfix\"></div>\n  <ul class=\"list-group\">\n    <li ng-repeat=\"attachment in attachments | orderBy : 'file_name'\" class=\"list-group-item\">\n      <div class=\"checkbox\">\n        <label>\n          <input type=\"checkbox\" ng-model=\"attachment.selected\">\n          <a ng-href=\"/sys_atachment.do?sys_id={{atachment.sys_id}}\">\n            {{attachment.file_name}}\n          </a>\n          <button id=\"remove_button\" title=\"Remove Attachments\" class=\"btn-link\" ng-click=\"confirmDeleteAttachment(attachment)\">\n            <span class=\"glyphicon glyphicon-remove\"></span>\n          </button>\n        </label>\n      </div>\n    </li>\n  </ul>\n</div>\n"
  },
  {
    "path": "pe-manage-attachments/widget/pe-manage-attachments.u-client-script.js",
    "content": "function attachMate($scope, nowAttachmentHandler, $rootScope, spUtil, spModal, $log, spAriaUtil, $filter) {\n\tvar popupCurrent = undefined;\n\t$scope.errorMessages = [];\n\t$scope.attachmentHandler = new nowAttachmentHandler(setAttachments, appendError);\n\t$scope.data.action = \"\";\n\n\tspUtil.recordWatch($scope, \"sys_attachment\", \"table_sys_id=\" + $scope.data.sys_id, function(name, data) {\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t});\n\n\t$scope.$evalAsync(function() {\n\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.sys_id, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t})\n\n\t$scope.hasAttachments = function() {\n\t\treturn $scope.attachments && $scope.attachments.length != 0;\n\t}\n\n\t$scope.canWrite = function() {\n\t\treturn $scope.data.canWrite;\n\t}\n\n\t$scope.confirmDeleteAttachment = function(attachment) {\n\t\tspModal.confirm(\"${Delete Attachment?}\").then(function() {\n\t\t\t$scope.attachmentHandler.deleteAttachment(attachment);\n\t\t})\n\t}\n\n\t$scope.$on('dialog.upload_too_large.show', function(e){\n\t\t$log.error($scope.data.largeAttachmentMsg);\n\t\tspUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n\t});\n\n\t$scope.$on('added_attachment', function(evt) {\n\t\t$scope.data.action = \"added\";\n\t\tspUtil.update($scope);\n\t});\n\n\t$scope.$on('sp.record.can_write', function(evt, answer) {\n\t\t$scope.data.canWrite = answer;\n\t});\n\t$scope.openEmailPopup = function(){\n\t\tclosePopup();\n\t\tvar width = 875;\n\t\tvar height = 575;\n\t\tvar url = \"/x_snc_ec_attach_send_email.do?\";\n\t\turl += \"record_id=\" + $scope.data.sys_id;\n\t\turl += \"&table_name=\" + $scope.data.table;\n\t\turl += \"&attachments=\" + $filter('filter')($scope.attachments,{'selected':true}).map(function(attachment){\n\t\t\treturn attachment.sys_id.toString();\n\t\t});\n\t\tvar features = \"width=\" + width + \",height=\" + height + \",toolbar=no,status=no,directories=no,menubar=no,resizable=yes,scrollbars=1\";\n\t\tpopupCurrent = window.open(url,\"Email_Client\",features,false);\n\t\t\n\t}\n\tfunction closePopup(){\n\t\tif (!popupCurrent)\n\t\t\treturn;\n\t\ttry {\n\t\t\tif (!popupCurrent.closed)\n\t\t\t\tpopupCurrent.close();\n\t\t} catch (e) {}\n\t\tpopupCurrent = null;\n\t}\n\tfunction appendError(error) {\n\t\t$scope.errorMessages.push(error);\n\t\tspUtil.addErrorMessage(error.msg + error.fileName);\n\t}\n\n\tfunction setAttachments(attachments, action) {\n\t\tif ($scope.submitting == true)\n\t\t\treturn;\n\n\t\t$scope.attachments = attachments;\n\t\tif (!action)\n\t\t\treturn;\n\n\t\tif (action === \"added\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n\t\t}\n\n\t\t$scope.data.action = action;\n\t\tspUtil.update($scope);\n\t}\n}"
  },
  {
    "path": "pe-manage-attachments/widget/pe-manage-attachments.u-server-script.js",
    "content": "(function() {\n\tdata.sys_id = (input && input.sys_id) || options.record_id || $sp.getParameter(\"sys_id\");\n\tdata.table = (input && input.table) || options.record_table || $sp.getParameter(\"table\");\n\tdata.table = _getActualTable(data.table, data.sys_id);\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tif (!data.table || !data.sys_id)\n\t\treturn;\n\n\tvar gr = new GlideRecord(data.table);\n\tif (!gr.isValid())\n\t\treturn;\n\t\n\tif (!gr.get(data.sys_id))\n\t\treturn;\n\n\tif (input && input.action == \"deleted\") {\n\t\tgr.comments = input.action + \" an attachment\";\n\t\tgr.update();\n\t}\n\n\tdata.canWrite = gr.canWrite();\n\tdata.canAttach = gs.hasRole(gs.getProperty(\"glide.attachment.role\"));\n\tdata.canRead = gr.canRead();\n\n\tfunction _getActualTable(table, id) {\n\t\tif (!table)\n\t\t\treturn table;\n\t\t\n\t\tvar rec = new GlideRecord(table);\n\t\tif (!rec.isValid())\n\t\t\treturn table;\n\t\t\n\t\tif (rec.get(id) && rec.getValue('sys_class_name')) {\n\t\t\treturn rec.getValue('sys_class_name');\n\t\t}\n\t\treturn table;\n\t}\n})();"
  },
  {
    "path": "pe-maps-ngmap/README.md",
    "content": "# Google Maps with NgMap\n\n## Description\n\nThis widget shows us how to use Google Maps through the library Ng-Map\n\n## Screenshots\n![](../images/pe-maps-ngmap.gif)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-maps-ngmap.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-maps-ngmap/pe-maps-ngmap.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Origin` | Origin or location to search on Google Maps. |  |\n| `Destination` | Destination if Google Maps provides the itinerary. |  |\n| `Zoom` | Zoom level. | 14 |\n| `Transit mode` | Transit mode (Walking, Bicycling, Driving, Transit) if Google Maps provides the itinerary. | Walking |\n| `Header Visibility` | This parameter is used to override the visibility behaviour of the header. | True |\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-maps-ngmap/pe-maps-ngmap.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-09-14 16:57:41\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-maps-ngmap</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>54691e8cdb9143004e5cfa131f9619e6</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>97dc5e00dbd143004e5cfa131f961903</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_beaf4a08db9143004e5cfa131f961901</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;ng-map.min.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(e,t){\"object\"==typeof exports?module.exports=t(require(\"angular\")):\"function\"==typeof define&amp;&amp;define.amd?define([\"angular\"],t):t(e.angular)}(this,function(angular){/**\n * AngularJS Google Maps Ver. 1.18.4\n *\n * The MIT License (MIT)\n * \n * Copyright (c) 2014, 2015, 1016 Allen Kim\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nreturn angular.module(\"ngMap\",[]),function(){\"use strict\";var e,t=function(t,n,o,a,r,i,s,p,c){e=i;var u=this,l=r.startSymbol(),g=r.endSymbol();u.mapOptions,u.mapEvents,u.eventListeners,u.addObject=function(e,t){if(u.map){u.map[e]=u.map[e]||{};var n=Object.keys(u.map[e]).length;u.map[e][t.id||n]=t,u.map instanceof google.maps.Map&amp;&amp;(\"infoWindows\"!=e&amp;&amp;t.setMap&amp;&amp;t.setMap&amp;&amp;t.setMap(u.map),t.centered&amp;&amp;t.position&amp;&amp;u.map.setCenter(t.position),\"markers\"==e&amp;&amp;u.objectChanged(\"markers\"),\"customMarkers\"==e&amp;&amp;u.objectChanged(\"customMarkers\"))}},u.deleteObject=function(e,t){if(t.map){var n=t.map[e];for(var o in n)n[o]===t&amp;&amp;(google.maps.event.clearInstanceListeners(t),delete n[o]);t.map&amp;&amp;t.setMap&amp;&amp;t.setMap(null),\"markers\"==e&amp;&amp;u.objectChanged(\"markers\"),\"customMarkers\"==e&amp;&amp;u.objectChanged(\"customMarkers\")}},u.observeAttrSetObj=function(t,n,o){if(n.noWatcher)return!1;for(var a=e.getAttrsToObserve(t),r=0;r&lt;a.length;r++){var i=a[r];n.$observe(i,s.observeAndSet(i,o))}},u.zoomToIncludeMarkers=function(){if(null!=u.map.markers&amp;&amp;Object.keys(u.map.markers).length&gt;0||null!=u.map.customMarkers&amp;&amp;Object.keys(u.map.customMarkers).length&gt;0){var e=new google.maps.LatLngBounds;for(var t in u.map.markers)e.extend(u.map.markers[t].getPosition());for(var n in u.map.customMarkers)e.extend(u.map.customMarkers[n].getPosition());u.mapOptions.maximumZoom&amp;&amp;(u.enableMaximumZoomCheck=!0),u.map.fitBounds(e)}},u.objectChanged=function(e){!u.map||\"markers\"!=e&amp;&amp;\"customMarkers\"!=e||\"auto\"!=u.map.zoomToIncludeMarkers||u.zoomToIncludeMarkers()},u.initializeMap=function(){var r=u.mapOptions,i=u.mapEvents,m=u.map;if(u.map=p.getMapInstance(n[0]),s.setStyle(n[0]),m){var f=e.filter(o),v=e.getOptions(f),y=e.getControlOptions(f);r=angular.extend(v,y);for(var h in m){var b=m[h];if(\"object\"==typeof b)for(var M in b)u.addObject(h,b[M])}u.map.showInfoWindow=u.showInfoWindow,u.map.hideInfoWindow=u.hideInfoWindow}r.zoom=r.zoom&amp;&amp;!isNaN(r.zoom)?+r.zoom:15;var O=r.center,w=new RegExp(c(l)+\".*\"+c(g));if(!r.center||\"string\"==typeof O&amp;&amp;O.match(w))r.center=new google.maps.LatLng(0,0);else if(\"string\"==typeof O&amp;&amp;O.match(/^[0-9.-]*,[0-9.-]*$/)){var L=parseFloat(O.split(\",\")[0]),k=parseFloat(O.split(\",\")[1]);r.center=new google.maps.LatLng(L,k)}else if(!(O instanceof google.maps.LatLng)){var $=r.center;delete r.center,s.getGeoLocation($,r.geoLocationOptions).then(function(e){u.map.setCenter(e);var n=r.geoCallback;n&amp;&amp;a(n)(t)},function(){r.geoFallbackCenter&amp;&amp;u.map.setCenter(r.geoFallbackCenter)})}u.map.setOptions(r);for(var C in i){var j=i[C],A=google.maps.event.addListener(u.map,C,j);u.eventListeners[C]=A}u.observeAttrSetObj(d,o,u.map),u.singleInfoWindow=r.singleInfoWindow,google.maps.event.trigger(u.map,\"resize\"),google.maps.event.addListenerOnce(u.map,\"idle\",function(){s.addMap(u),r.zoomToIncludeMarkers&amp;&amp;u.zoomToIncludeMarkers(),t.map=u.map,t.$emit(\"mapInitialized\",u.map),o.mapInitialized&amp;&amp;a(o.mapInitialized)(t,{map:u.map})}),r.zoomToIncludeMarkers&amp;&amp;r.maximumZoom&amp;&amp;google.maps.event.addListener(u.map,\"zoom_changed\",function(){1==u.enableMaximumZoomCheck&amp;&amp;(u.enableMaximumZoomCheck=!1,google.maps.event.addListenerOnce(u.map,\"bounds_changed\",function(){u.map.setZoom(Math.min(r.maximumZoom,u.map.getZoom()))}))})},t.google=google;var d=e.orgAttributes(n),m=e.filter(o),f=e.getOptions(m,{scope:t}),v=e.getControlOptions(m),y=angular.extend(f,v),h=e.getEvents(t,m);if(Object.keys(h).length&amp;&amp;void 0,u.mapOptions=y,u.mapEvents=h,u.eventListeners={},f.lazyInit){if(o.id&amp;&amp;0===o.id.indexOf(l,0)&amp;&amp;-1!==o.id.indexOf(g,o.id.length-g.length))var b=o.id.slice(2,-2),M=a(b)(t);else var M=o.id;u.map={id:M},s.addMap(u)}else u.initializeMap();f.triggerResize&amp;&amp;google.maps.event.trigger(u.map,\"resize\"),n.bind(\"$destroy\",function(){p.returnMapInstance(u.map),s.deleteMap(u)})};t.$inject=[\"$scope\",\"$element\",\"$attrs\",\"$parse\",\"$interpolate\",\"Attr2MapOptions\",\"NgMap\",\"NgMapPool\",\"escapeRegexpFilter\"],angular.module(\"ngMap\").controller(\"__MapController\",t)}(),function(){\"use strict\";var e,t=function(t,o,a,r){r=r[0]||r[1];var i=e.orgAttributes(o),s=e.filter(a),p=e.getOptions(s,{scope:t}),c=e.getEvents(t,s),u=n(p,c);r.addObject(\"bicyclingLayers\",u),r.observeAttrSetObj(i,a,u),o.bind(\"$destroy\",function(){r.deleteObject(\"bicyclingLayers\",u)})},n=function(e,t){var n=new google.maps.BicyclingLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n},o=function(n){return e=n,{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:t}};o.$inject=[\"Attr2MapOptions\"],angular.module(\"ngMap\").directive(\"bicyclingLayer\",o)}(),function(){\"use strict\";var e,t,n=function(t,n,o,a,r){a=a[0]||a[1];{var i=e.filter(o),s=e.getOptions(i,{scope:t}),p=e.getEvents(t,i),c=t.$new(),u=n[0].parentElement.removeChild(n[0]);r(c,function(e){n.empty(),n.append(e),n.on(\"$destroy\",function(){c.$destroy()})})}for(var l in p)google.maps.event.addDomListener(u,l,p[l]);a.addObject(\"customControls\",u);var g=s.position;a.map.controls[google.maps.ControlPosition[g]].push(u),n.bind(\"$destroy\",function(){a.deleteObject(\"customControls\",u)})},o=function(o,a){return e=o,t=a,{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:n,transclude:!0}};o.$inject=[\"Attr2MapOptions\",\"NgMap\"],angular.module(\"ngMap\").directive(\"customControl\",o)}(),function(){\"use strict\";var e,t,n,o,a=function(e){e=e||{},this.el=document.createElement(\"div\"),this.el.style.display=\"inline-block\",this.el.style.visibility=\"hidden\",this.visible=!0;for(var t in e)this[t]=e[t]},r=function(){a.prototype=new google.maps.OverlayView,a.prototype.setContent=function(e,t){this.el.innerHTML=e,this.el.style.position=\"absolute\",t&amp;&amp;n(angular.element(this.el).contents())(t)},a.prototype.getDraggable=function(){return this.draggable},a.prototype.setDraggable=function(e){this.draggable=e},a.prototype.getPosition=function(){return this.position},a.prototype.setPosition=function(e){e&amp;&amp;(this.position=e);var n=this;if(this.getProjection()&amp;&amp;\"function\"==typeof this.position.lng){var o=function(){if(n.getProjection()){var e=n.getProjection().fromLatLngToDivPixel(n.position),t=Math.round(e.x-n.el.offsetWidth/2),o=Math.round(e.y-n.el.offsetHeight-10);n.el.style.left=t+\"px\",n.el.style.top=o+\"px\",n.el.style.visibility=\"visible\"}};n.el.offsetWidth&amp;&amp;n.el.offsetHeight?o():t(o,300)}},a.prototype.setZIndex=function(e){e&amp;&amp;(this.zIndex=e),this.el.style.zIndex=this.zIndex},a.prototype.getVisible=function(){return this.visible},a.prototype.setVisible=function(e){this.el.style.display=e?\"inline-block\":\"none\",this.visible=e},a.prototype.addClass=function(e){var t=this.el.className.trim().split(\" \");-1==t.indexOf(e)&amp;&amp;t.push(e),this.el.className=t.join(\" \")},a.prototype.removeClass=function(e){var t=this.el.className.split(\" \"),n=t.indexOf(e);n&gt;-1&amp;&amp;t.splice(n,1),this.el.className=t.join(\" \")},a.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.el)},a.prototype.draw=function(){this.setPosition(),this.setZIndex(this.zIndex),this.setVisible(this.visible)},a.prototype.onRemove=function(){this.el.parentNode.removeChild(this.el)}},i=function(n,r){return function(i,s,p,c){c=c[0]||c[1];var u=e.orgAttributes(s),l=e.filter(p),g=e.getOptions(l,{scope:i}),d=e.getEvents(i,l);s[0].style.display=\"none\";var m=new a(g);t(function(){i.$watch(\"[\"+r.join(\",\")+\"]\",function(){m.setContent(n,i)},!0),m.setContent(s[0].innerHTML,i);var e=s[0].firstElementChild.className;m.addClass(\"custom-marker\"),m.addClass(e),g.position instanceof google.maps.LatLng||o.getGeoLocation(g.position).then(function(e){m.setPosition(e)})});for(var f in d)google.maps.event.addDomListener(m.el,f,d[f]);c.addObject(\"customMarkers\",m),c.observeAttrSetObj(u,p,m),s.bind(\"$destroy\",function(){c.deleteObject(\"customMarkers\",m)})}},s=function(a,s,p,c,u,l){e=c,t=a,n=s,o=u;var g=p.startSymbol(),d=p.endSymbol(),m=new RegExp(l(g)+\"([^\"+d.substring(0,1)+\"]+)\"+l(d),\"g\");return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],compile:function(e){r(),e[0].style.display=\"none\";var t=e.html(),n=t.match(m),o=[];return(n||[]).forEach(function(e){var t=e.replace(g,\"\").replace(d,\"\");-1==e.indexOf(\"::\")&amp;&amp;-1==e.indexOf(\"this.\")&amp;&amp;-1==o.indexOf(t)&amp;&amp;o.push(e.replace(g,\"\").replace(d,\"\"))}),i(t,o)}}};s.$inject=[\"$timeout\",\"$compile\",\"$interpolate\",\"Attr2MapOptions\",\"NgMap\",\"escapeRegexpFilter\"],angular.module(\"ngMap\").directive(\"customMarker\",s)}(),function(){\"use strict\";var e,t,n,o=function(e,t){e.panel&amp;&amp;(e.panel=document.getElementById(e.panel)||document.querySelector(e.panel));var n=new google.maps.DirectionsRenderer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n},a=function(e,o){var a=new google.maps.DirectionsService,r=o;r.travelMode=r.travelMode||\"DRIVING\";var i=[\"origin\",\"destination\",\"travelMode\",\"transitOptions\",\"unitSystem\",\"durationInTraffic\",\"waypoints\",\"optimizeWaypoints\",\"provideRouteAlternatives\",\"avoidHighways\",\"avoidTolls\",\"region\"];for(var s in r)-1===i.indexOf(s)&amp;&amp;delete r[s];r.waypoints&amp;&amp;(\"[]\"==r.waypoints||\"\"===r.waypoints)&amp;&amp;delete r.waypoints;var p=function(n){a.route(n,function(n,o){o==google.maps.DirectionsStatus.OK&amp;&amp;t(function(){e.setDirections(n)})})};r.origin&amp;&amp;r.destination&amp;&amp;(\"current-location\"==r.origin?n.getCurrentPosition().then(function(e){r.origin=new google.maps.LatLng(e.coords.latitude,e.coords.longitude),p(r)}):\"current-location\"==r.destination?n.getCurrentPosition().then(function(e){r.destination=new google.maps.LatLng(e.coords.latitude,e.coords.longitude),p(r)}):p(r))},r=function(r,i,s,p){var c=r;e=p,t=i,n=s;var u=function(n,r,i,s){s=s[0]||s[1];var p=c.orgAttributes(r),u=c.filter(i),l=c.getOptions(u,{scope:n}),g=c.getEvents(n,u),d=c.getAttrsToObserve(p),m=o(l,g);s.addObject(\"directionsRenderers\",m),d.forEach(function(e){!function(e){i.$observe(e,function(n){if(\"panel\"==e)t(function(){var e=document.getElementById(n)||document.querySelector(n);e&amp;&amp;m.setPanel(e)});else if(l[e]!==n){var o=c.toOptionValue(n,{key:e});l[e]=o,a(m,l)}})}(e)}),e.getMap().then(function(){a(m,l)}),r.bind(\"$destroy\",function(){s.deleteObject(\"directionsRenderers\",m)})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:u}};r.$inject=[\"Attr2MapOptions\",\"$timeout\",\"NavigatorGeolocation\",\"NgMap\"],angular.module(\"ngMap\").directive(\"directions\",r)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"drawingManager\",[\"Attr2MapOptions\",function(e){var t=e;return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,n,o,a){a=a[0]||a[1];var r=t.filter(o),i=t.getOptions(r,{scope:e}),s=t.getControlOptions(r),p=t.getEvents(e,r),c=new google.maps.drawing.DrawingManager({drawingMode:i.drawingmode,drawingControl:i.drawingcontrol,drawingControlOptions:s.drawingControlOptions,circleOptions:i.circleoptions,markerOptions:i.markeroptions,polygonOptions:i.polygonoptions,polylineOptions:i.polylineoptions,rectangleOptions:i.rectangleoptions});o.$observe(\"drawingControlOptions\",function(e){c.drawingControlOptions=t.getControlOptions({drawingControlOptions:e}).drawingControlOptions,c.setDrawingMode(null),c.setMap(a.map)});for(var u in p)google.maps.event.addListener(c,u,p[u]);a.addObject(\"mapDrawingManager\",c),n.bind(\"$destroy\",function(){a.deleteObject(\"mapDrawingManager\",c)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"dynamicMapsEngineLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.visualization.DynamicMapsEngineLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=t.filter(a),s=t.getOptions(i,{scope:e}),p=t.getEvents(e,i,p),c=n(s,p);r.addObject(\"mapsEngineLayers\",c)}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"fusionTablesLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.FusionTablesLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=t.filter(a),s=t.getOptions(i,{scope:e}),p=t.getEvents(e,i,p),c=n(s,p);r.addObject(\"fusionTablesLayers\",c),o.bind(\"$destroy\",function(){r.deleteObject(\"fusionTablesLayers\",c)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"heatmapLayer\",[\"Attr2MapOptions\",\"$window\",function(e,t){var n=e;return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=n.filter(a),s=n.getOptions(i,{scope:e});if(s.data=t[a.data]||e[a.data],!(s.data instanceof Array))throw\"invalid heatmap data\";s.data=new google.maps.MVCArray(s.data);{var p=new google.maps.visualization.HeatmapLayer(s);n.getEvents(e,i)}r.addObject(\"heatmapLayers\",p)}}}])}(),function(){\"use strict\";var e=function(e,t,n,o,a,r,i){var s=e,p=function(e,r,i){var s;!e.position||e.position instanceof google.maps.LatLng||delete e.position,s=new google.maps.InfoWindow(e);for(var p in r)p&amp;&amp;google.maps.event.addListener(s,p,r[p]);var c=n(function(e){angular.isString(i)?o(i).then(function(t){e(angular.element(t).wrap(\"&lt;div&gt;\").parent())},function(e){throw\"info-window template request failed: \"+e}):e(i)}).then(function(e){var t=e.html().trim();if(1!=angular.element(t).length)throw\"info-window working as a template must have a container\";s.__template=t.replace(/\\s?ng-non-bindable[='\"]+/,\"\")});return s.__open=function(e,n,o){c.then(function(){a(function(){o&amp;&amp;(n.anchor=o);var a=t(s.__template)(n);s.setContent(a[0]),n.$apply(),o&amp;&amp;o.getPosition?s.open(e,o):o&amp;&amp;o instanceof google.maps.LatLng?(s.open(e),s.setPosition(o)):s.open(e);var r=s.content.parentElement.parentElement.parentElement;r.className=\"ng-map-info-window\"})})},s},c=function(e,t,n,o){o=o[0]||o[1],t.css(\"display\",\"none\");var a,c=s.orgAttributes(t),u=s.filter(n),l=s.getOptions(u,{scope:e}),g=s.getEvents(e,u),d=p(l,g,l.template||t);!l.position||l.position instanceof google.maps.LatLng||(a=l.position),a&amp;&amp;i.getGeoLocation(a).then(function(t){d.setPosition(t),d.__open(o.map,e,t);var a=n.geoCallback;a&amp;&amp;r(a)(e)}),o.addObject(\"infoWindows\",d),o.observeAttrSetObj(c,n,d),o.showInfoWindow=o.map.showInfoWindow=o.showInfoWindow||function(t,n,a){var r=\"string\"==typeof t?t:n,i=\"string\"==typeof t?n:a;if(\"string\"==typeof i)if(\"undefined\"!=typeof o.map.markers&amp;&amp;\"undefined\"!=typeof o.map.markers[i])i=o.map.markers[i];else{if(\"undefined\"==typeof o.map.customMarkers||\"undefined\"==typeof o.map.customMarkers[i])throw new Error(\"Cant open info window for id \"+i+\". Marker or CustomMarker is not defined\");i=o.map.customMarkers[i]}var s=o.map.infoWindows[r],p=i?i:this.getPosition?this:null;s.__open(o.map,e,p),o.singleInfoWindow&amp;&amp;(o.lastInfoWindow&amp;&amp;e.hideInfoWindow(o.lastInfoWindow),o.lastInfoWindow=r)},o.hideInfoWindow=o.map.hideInfoWindow=o.hideInfoWindow||function(e,t){var n=\"string\"==typeof e?e:t,a=o.map.infoWindows[n];a.close()},e.showInfoWindow=o.map.showInfoWindow,e.hideInfoWindow=o.map.hideInfoWindow;var m=d.mapId?{id:d.mapId}:0;i.getMap(m).then(function(t){if(d.visible&amp;&amp;d.__open(t,e),d.visibleOnMarker){var n=d.visibleOnMarker;d.__open(t,e,t.markers[n])}})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:c}};e.$inject=[\"Attr2MapOptions\",\"$compile\",\"$q\",\"$templateRequest\",\"$timeout\",\"$parse\",\"NgMap\"],angular.module(\"ngMap\").directive(\"infoWindow\",e)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"kmlLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.KmlLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=t.orgAttributes(o),s=t.filter(a),p=t.getOptions(s,{scope:e}),c=t.getEvents(e,s),u=n(p,c);r.addObject(\"kmlLayers\",u),r.observeAttrSetObj(i,a,u),o.bind(\"$destroy\",function(){r.deleteObject(\"kmlLayers\",u)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"mapData\",[\"Attr2MapOptions\",\"NgMap\",function(e,t){var n=e;return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=n.filter(a),s=n.getOptions(i,{scope:e}),p=n.getEvents(e,i,p);t.getMap(r.map.id).then(function(t){for(var n in s){var o=s[n];\"function\"==typeof e[o]?t.data[n](e[o]):t.data[n](o)}for(var a in p)t.data.addListener(a,p[a])})}}}])}(),function(){\"use strict\";var e,t,n,o=[],a=[],r=function(n,r,i){var s=i.mapLazyLoadParams||i.mapLazyLoad;if(void 0===window.google||void 0===window.google.maps){a.push({scope:n,element:r,savedHtml:o[a.length]}),window.lazyLoadCallback=function(){e(function(){a.forEach(function(e){e.element.html(e.savedHtml),t(e.element.contents())(e.scope)})},100)};var p=document.createElement(\"script\");p.src=s+(s.indexOf(\"?\")&gt;-1?\"&amp;\":\"?\")+\"callback=lazyLoadCallback\",document.querySelector('script[src=\"'+p.src+'\"]')||document.body.appendChild(p)}else r.html(o),t(r.contents())(n)},i=function(e,t){return!t.mapLazyLoad&amp;&amp;void 0,o.push(e.html()),n=t.mapLazyLoad,void 0!==window.google&amp;&amp;void 0!==window.google.maps?!1:(e.html(\"\"),{pre:r})},s=function(n,o){return t=n,e=o,{compile:i}};s.$inject=[\"$compile\",\"$timeout\"],angular.module(\"ngMap\").directive(\"mapLazyLoad\",s)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"mapType\",[\"$parse\",\"NgMap\",function(e,t){return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(n,o,a,r){r=r[0]||r[1];var i,s=a.name;if(!s)throw\"invalid map-type name\";if(i=e(a.object)(n),!i)throw\"invalid map-type object\";t.getMap().then(function(e){e.mapTypes.set(s,i)}),r.addObject(\"mapTypes\",i)}}}])}(),function(){\"use strict\";var e=function(){return{restrict:\"AE\",controller:\"__MapController\",controllerAs:\"ngmap\"}};angular.module(\"ngMap\").directive(\"map\",[e]),angular.module(\"ngMap\").directive(\"ngMap\",[e])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"mapsEngineLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.visualization.MapsEngineLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=t.filter(a),s=t.getOptions(i,{scope:e}),p=t.getEvents(e,i,p),c=n(s,p);r.addObject(\"mapsEngineLayers\",c)}}}])}(),function(){\"use strict\";var e,t,n,o=function(e,t){var o;if(n.defaultOptions.marker)for(var a in n.defaultOptions.marker)\"undefined\"==typeof e[a]&amp;&amp;(e[a]=n.defaultOptions.marker[a]);e.position instanceof google.maps.LatLng||(e.position=new google.maps.LatLng(0,0)),o=new google.maps.Marker(e),Object.keys(t).length&gt;0;for(var r in t)r&amp;&amp;google.maps.event.addListener(o,r,t[r]);return o},a=function(a,r,i,s){s=s[0]||s[1];var p,c=e.orgAttributes(r),u=e.filter(i),l=e.getOptions(u,a,{scope:a}),g=e.getEvents(a,u);l.position instanceof google.maps.LatLng||(p=l.position);var d=o(l,g);s.addObject(\"markers\",d),p&amp;&amp;n.getGeoLocation(p).then(function(e){d.setPosition(e),l.centered&amp;&amp;d.map.setCenter(e);var n=i.geoCallback;n&amp;&amp;t(n)(a)}),s.observeAttrSetObj(c,i,d),r.bind(\"$destroy\",function(){s.deleteObject(\"markers\",d)})},r=function(o,r,i){return e=o,t=r,n=i,{restrict:\"E\",require:[\"^?map\",\"?^ngMap\"],link:a}};r.$inject=[\"Attr2MapOptions\",\"$parse\",\"NgMap\"],angular.module(\"ngMap\").directive(\"marker\",r)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"overlayMapType\",[\"NgMap\",function(e){return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(t,n,o,a){a=a[0]||a[1];var r=o.initMethod||\"insertAt\",i=t[o.object];e.getMap().then(function(e){if(\"insertAt\"==r){var t=parseInt(o.index,10);e.overlayMapTypes.insertAt(t,i)}else\"push\"==r&amp;&amp;e.overlayMapTypes.push(i)}),a.addObject(\"overlayMapTypes\",i)}}}])}(),function(){\"use strict\";var e=function(e,t){var n=e,o=function(e,o,a,r){if(\"false\"===a.placesAutoComplete)return!1;var i=n.filter(a),s=n.getOptions(i,{scope:e}),p=n.getEvents(e,i),c=new google.maps.places.Autocomplete(o[0],s);c.setOptions({strictBounds:s.strictBounds===!0});for(var u in p)google.maps.event.addListener(c,u,p[u]);var l=function(){t(function(){r&amp;&amp;r.$setViewValue(o.val())},100)};google.maps.event.addListener(c,\"place_changed\",l),o[0].addEventListener(\"change\",l),a.$observe(\"rectBounds\",function(e){if(e){var t=n.toOptionValue(e,{key:\"rectBounds\"});c.setBounds(new google.maps.LatLngBounds(new google.maps.LatLng(t.south_west.lat,t.south_west.lng),new google.maps.LatLng(t.north_east.lat,t.north_east.lng)))}}),a.$observe(\"circleBounds\",function(e){if(e){var t=n.toOptionValue(e,{key:\"circleBounds\"}),o=new google.maps.Circle(t);c.setBounds(o.getBounds())}}),a.$observe(\"types\",function(e){if(e){var t=n.toOptionValue(e,{key:\"types\"});c.setTypes(t)}}),a.$observe(\"componentRestrictions\",function(t){t&amp;&amp;c.setComponentRestrictions(e.$eval(t))})};return{restrict:\"A\",require:\"?ngModel\",link:o}};e.$inject=[\"Attr2MapOptions\",\"$timeout\"],angular.module(\"ngMap\").directive(\"placesAutoComplete\",e)}(),function(){\"use strict\";var e=function(e,t){var n,o=e.name;switch(delete e.name,o){case\"circle\":e.center instanceof google.maps.LatLng||(e.center=new google.maps.LatLng(0,0)),n=new google.maps.Circle(e);break;case\"polygon\":n=new google.maps.Polygon(e);break;case\"polyline\":n=new google.maps.Polyline(e);break;case\"rectangle\":n=new google.maps.Rectangle(e);break;case\"groundOverlay\":case\"image\":var a=e.url,r={opacity:e.opacity,clickable:e.clickable,id:e.id};n=new google.maps.GroundOverlay(a,e.bounds,r)}for(var i in t)t[i]&amp;&amp;google.maps.event.addListener(n,i,t[i]);return n},t=function(t,n,o){var a=t,r=function(t,r,i,s){s=s[0]||s[1];var p,c,u=a.orgAttributes(r),l=a.filter(i),g=a.getOptions(l,{scope:t}),d=a.getEvents(t,l);c=g.name,g.center instanceof google.maps.LatLng||(p=g.center);var m=e(g,d);s.addObject(\"shapes\",m),p&amp;&amp;\"circle\"==c&amp;&amp;o.getGeoLocation(p).then(function(e){m.setCenter(e),m.centered&amp;&amp;m.map.setCenter(e);var o=i.geoCallback;o&amp;&amp;n(o)(t)}),s.observeAttrSetObj(u,i,m),r.bind(\"$destroy\",function(){s.deleteObject(\"shapes\",m)})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:r}};t.$inject=[\"Attr2MapOptions\",\"$parse\",\"NgMap\"],angular.module(\"ngMap\").directive(\"shape\",t)}(),function(){\"use strict\";var e=function(e,t){var n=e,o=function(e,t,n){var o,a;t.container&amp;&amp;(a=document.getElementById(t.container),a=a||document.querySelector(t.container)),a?o=new google.maps.StreetViewPanorama(a,t):(o=e.getStreetView(),o.setOptions(t));for(var r in n)r&amp;&amp;google.maps.event.addListener(o,r,n[r]);return o},a=function(e,a,r){var i=n.filter(r),s=n.getOptions(i,{scope:e}),p=n.getControlOptions(i),c=angular.extend(s,p),u=n.getEvents(e,i);t.getMap().then(function(e){var t=o(e,c,u);e.setStreetView(t),!t.getPosition()&amp;&amp;t.setPosition(e.getCenter()),google.maps.event.addListener(t,\"position_changed\",function(){t.getPosition()!==e.getCenter()&amp;&amp;e.setCenter(t.getPosition())});var n=google.maps.event.addListener(e,\"center_changed\",function(){t.setPosition(e.getCenter()),google.maps.event.removeListener(n)})})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:a}};e.$inject=[\"Attr2MapOptions\",\"NgMap\"],angular.module(\"ngMap\").directive(\"streetViewPanorama\",e)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"trafficLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.TrafficLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=t.orgAttributes(o),s=t.filter(a),p=t.getOptions(s,{scope:e}),c=t.getEvents(e,s),u=n(p,c);r.addObject(\"trafficLayers\",u),r.observeAttrSetObj(i,a,u),o.bind(\"$destroy\",function(){r.deleteObject(\"trafficLayers\",u)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"transitLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.TransitLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,a,r){r=r[0]||r[1];var i=t.orgAttributes(o),s=t.filter(a),p=t.getOptions(s,{scope:e}),c=t.getEvents(e,s),u=n(p,c);r.addObject(\"transitLayers\",u),r.observeAttrSetObj(i,a,u),o.bind(\"$destroy\",function(){r.deleteObject(\"transitLayers\",u)})}}}])}(),function(){\"use strict\";var e=/([\\:\\-\\_]+(.))/g,t=/^moz([A-Z])/,n=function(){return function(n){return n.replace(e,function(e,t,n,o){return o?n.toUpperCase():n}).replace(t,\"Moz$1\")}};angular.module(\"ngMap\").filter(\"camelCase\",n)}(),function(){\"use strict\";var e=function(){return function(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&amp;\")}};angular.module(\"ngMap\").filter(\"escapeRegexp\",e)}(),function(){\"use strict\";var e=function(){return function(e){try{return JSON.parse(e),e}catch(t){return e.replace(/([\\$\\w]+)\\s*:/g,function(e,t){return'\"'+t+'\":'}).replace(/'([^']+)'/g,function(e,t){return'\"'+t+'\"'}).replace(/''/g,'\"\"')}}};angular.module(\"ngMap\").filter(\"jsonize\",e)}(),function(){\"use strict\";var isoDateRE=/^(\\d{4}\\-\\d\\d\\-\\d\\d([tT][\\d:\\.]*)?)([zZ]|([+\\-])(\\d\\d):?(\\d\\d))?$/,Attr2MapOptions=function($parse,$timeout,$log,$interpolate,NavigatorGeolocation,GeoCoder,camelCaseFilter,jsonizeFilter,escapeRegExp){var exprStartSymbol=$interpolate.startSymbol(),exprEndSymbol=$interpolate.endSymbol(),orgAttributes=function(e){e.length&gt;0&amp;&amp;(e=e[0]);for(var t={},n=0;n&lt;e.attributes.length;n++){var o=e.attributes[n];t[o.name]=o.value}return t},getJSON=function(e){var t=/^[\\+\\-]?[0-9\\.]+,[ ]*\\ ?[\\+\\-]?[0-9\\.]+$/;return e.match(t)&amp;&amp;(e=\"[\"+e+\"]\"),JSON.parse(jsonizeFilter(e))},getLatLng=function(e){var t=e;if(e[0].constructor==Array)if(e[0][0].constructor==Array&amp;&amp;2==e[0][0].length||e[0][0].constructor==Object){for(var n,o=[],a=0;a&lt;e.length;a++)n=e[a].map(function(e){return new google.maps.LatLng(e[0],e[1])}),o.push(n);t=o}else t=e.map(function(e){return new google.maps.LatLng(e[0],e[1])});else!isNaN(parseFloat(e[0]))&amp;&amp;isFinite(e[0])&amp;&amp;(t=new google.maps.LatLng(t[0],t[1]));return t},toOptionValue=function(input,options){var output;try{output=getNumber(input)}catch(err){try{var output=getJSON(input);if(output instanceof Array)output=output[0].constructor==Object?output:output[0]instanceof Array?output[0][0].constructor==Object?output:getLatLng(output):getLatLng(output);else if(output===Object(output)){var newOptions=options;newOptions.doNotConverStringToNumber=!0,output=getOptions(output,newOptions)}}catch(err2){if(input.match(/^[A-Z][a-zA-Z0-9]+\\(.*\\)$/))try{var exp=\"new google.maps.\"+input;output=eval(exp)}catch(e){output=input}else if(input.match(/^([A-Z][a-zA-Z0-9]+)\\.([A-Z]+)$/))try{var matches=input.match(/^([A-Z][a-zA-Z0-9]+)\\.([A-Z]+)$/);output=google.maps[matches[1]][matches[2]]}catch(e){output=input}else if(input.match(/^[A-Z]+$/))try{var capitalizedKey=options.key.charAt(0).toUpperCase()+options.key.slice(1);options.key.match(/temperatureUnit|windSpeedUnit|labelColor/)?(capitalizedKey=capitalizedKey.replace(/s$/,\"\"),output=google.maps.weather[capitalizedKey][input]):output=google.maps[capitalizedKey][input]}catch(e){output=input}else if(input.match(isoDateRE))try{output=new Date(input)}catch(e){output=input}else if(input.match(new RegExp(\"^\"+escapeRegExp(exprStartSymbol)))&amp;&amp;options.scope)try{var expr=input.replace(new RegExp(escapeRegExp(exprStartSymbol)),\"\").replace(new RegExp(escapeRegExp(exprEndSymbol),\"g\"),\"\");output=options.scope.$eval(expr)}catch(err){output=input}else output=input}}if((\"center\"==options.key||\"position\"==options.key)&amp;&amp;output instanceof Array&amp;&amp;(output=new google.maps.LatLng(output[0],output[1])),\"bounds\"==options.key&amp;&amp;output instanceof Array&amp;&amp;(output=new google.maps.LatLngBounds(output[0],output[1])),\"icons\"==options.key&amp;&amp;output instanceof Array)for(var i=0;i&lt;output.length;i++){var el=output[i];el.icon.path.match(/^[A-Z_]+$/)&amp;&amp;(el.icon.path=google.maps.SymbolPath[el.icon.path])}if(\"icon\"==options.key&amp;&amp;output instanceof Object){(\"\"+output.path).match(/^[A-Z_]+$/)&amp;&amp;(output.path=google.maps.SymbolPath[output.path]);for(var key in output){var arr=output[key];\"anchor\"==key||\"origin\"==key||\"labelOrigin\"==key?output[key]=new google.maps.Point(arr[0],arr[1]):(\"size\"==key||\"scaledSize\"==key)&amp;&amp;(output[key]=new google.maps.Size(arr[0],arr[1]))}}return output},getAttrsToObserve=function(e){var t=[],n=new RegExp(escapeRegExp(exprStartSymbol)+\".*\"+escapeRegExp(exprEndSymbol),\"g\");if(!e.noWatcher)for(var o in e){var a=e[o];a&amp;&amp;a.match(n)&amp;&amp;t.push(camelCaseFilter(o))}return t},filter=function(e){var t={};for(var n in e)n.match(/^\\$/)||n.match(/^ng[A-Z]/)||(t[n]=e[n]);return t},getOptions=function(e,t){t=t||{};var n={};for(var o in e)if(e[o]||0===e[o]){if(o.match(/^on[A-Z]/))continue;if(o.match(/ControlOptions$/))continue;n[o]=\"string\"!=typeof e[o]?e[o]:t.doNotConverStringToNumber&amp;&amp;e[o].match(/^[0-9]+$/)?e[o]:toOptionValue(e[o],{key:o,scope:t.scope})}return n},getEvents=function(e,t){var n={},o=function(e){return\"_\"+e.toLowerCase()},a=function(t){var n=t.match(/([^\\(]+)\\(([^\\)]*)\\)/),o=n[1],a=n[2].replace(/event[ ,]*/,\"\"),r=$parse(\"[\"+a+\"]\");return function(t){function n(e,t){return e[t]}var a=r(e),i=o.split(\".\").reduce(n,e);i&amp;&amp;i.apply(this,[t].concat(a)),$timeout(function(){e.$apply()})}};for(var r in t)if(t[r]){if(!r.match(/^on[A-Z]/))continue;var i=r.replace(/^on/,\"\");i=i.charAt(0).toLowerCase()+i.slice(1),i=i.replace(/([A-Z])/g,o);var s=t[r];n[i]=new a(s)}return n},getControlOptions=function(e){var t={};if(\"object\"!=typeof e)return!1;for(var n in e)if(e[n]){if(!n.match(/(.*)ControlOptions$/))continue;var o=e[n],a=o.replace(/'/g,'\"');a=a.replace(/([^\"]+)|(\"[^\"]+\")/g,function(e,t,n){return t?t.replace(/([a-zA-Z0-9]+?):/g,'\"$1\":'):n});try{var r=JSON.parse(a);for(var i in r)if(r[i]){var s=r[i];if(\"string\"==typeof s?s=s.toUpperCase():\"mapTypeIds\"===i&amp;&amp;(s=s.map(function(e){return e.match(/^[A-Z]+$/)?google.maps.MapTypeId[e.toUpperCase()]:e})),\"style\"===i){var p=n.charAt(0).toUpperCase()+n.slice(1),c=p.replace(/Options$/,\"\")+\"Style\";r[i]=google.maps[c][s]}else r[i]=\"position\"===i?google.maps.ControlPosition[s]:s}t[n]=r}catch(u){}}return t};return{filter:filter,getOptions:getOptions,getEvents:getEvents,getControlOptions:getControlOptions,toOptionValue:toOptionValue,getAttrsToObserve:getAttrsToObserve,orgAttributes:orgAttributes}};Attr2MapOptions.$inject=[\"$parse\",\"$timeout\",\"$log\",\"$interpolate\",\"NavigatorGeolocation\",\"GeoCoder\",\"camelCaseFilter\",\"jsonizeFilter\",\"escapeRegexpFilter\"],angular.module(\"ngMap\").service(\"Attr2MapOptions\",Attr2MapOptions)}(),function(){\"use strict\";var e,t=function(t){var n=e.defer(),o=new google.maps.Geocoder;return o.geocode(t,function(e,t){t==google.maps.GeocoderStatus.OK?n.resolve(e):n.reject(t)}),n.promise},n=function(n){return e=n,{geocode:t}};n.$inject=[\"$q\"],angular.module(\"ngMap\").service(\"GeoCoder\",n)}(),function(){\"use strict\";var e,t,n=function(n,o){return e=n,t=o,{load:function(n){var o=e.defer();if(void 0===window.google||void 0===window.google.maps){window.lazyLoadCallback=function(){t(function(){o.resolve(window.google)},100)};var a=document.createElement(\"script\");a.src=n+(n.indexOf(\"?\")&gt;-1?\"&amp;\":\"?\")+\"callback=lazyLoadCallback\",document.querySelector('script[src=\"'+a.src+'\"]')||document.body.appendChild(a)}else o.resolve(window.google);return o.promise}}};n.$inject=[\"$q\",\"$timeout\"],angular.module(\"ngMap\").service(\"GoogleMapsApi\",n)}(),function(){\"use strict\";var e,t=function(t){var n=e.defer();return navigator.geolocation?(void 0===t?t={timeout:5e3}:void 0===t.timeout&amp;&amp;(t.timeout=5e3),navigator.geolocation.getCurrentPosition(function(e){n.resolve(e)},function(e){n.reject(e)},t)):n.reject(\"Browser Geolocation service failed.\"),n.promise},n=function(n){return e=n,{getCurrentPosition:t}};n.$inject=[\"$q\"],angular.module(\"ngMap\").service(\"NavigatorGeolocation\",n)}(),function(){\"use strict\";var e,t,n,o=[],a=function(n){var a=t.createElement(\"div\");a.style.width=\"100%\",a.style.height=\"100%\",n.appendChild(a);var r=new e.google.maps.Map(a,{});return o.push(r),r},r=function(e,t){for(var n,a=0;a&lt;o.length;a++){var r=o[a];if(r.id==t&amp;&amp;!r.inUse){var i=r.getDiv();e.appendChild(i),n=r;break}}return n},i=function(e){for(var t,n=0;n&lt;o.length;n++){var a=o[n];if(!a.id&amp;&amp;!a.inUse){var r=a.getDiv();e.appendChild(r),t=a;break}}return t},s=function(e){var t=r(e,e.id)||i(e);return t?n(function(){google.maps.event.trigger(t,\"idle\")},100):t=a(e),t.inUse=!0,t},p=function(e){e.inUse=!1},c=function(){for(var e=0;e&lt;o.length;e++)o[e]=null;o=[]},u=function(e){for(var t=0;t&lt;o.length;t++)null!==o[t]&amp;&amp;o[t].id==e&amp;&amp;(o[t]=null,o.splice(t,1))},l=function(a,r,i){return t=a[0],e=r,n=i,{mapInstances:o,resetMapInstances:c,getMapInstance:s,returnMapInstance:p,deleteMapInstance:u}\n};l.$inject=[\"$document\",\"$window\",\"$timeout\"],angular.module(\"ngMap\").factory(\"NgMapPool\",l)}(),function(){\"use strict\";var e,t,n,o,a,r,i,s,p={},c=function(n,o){var a;return n.currentStyle?a=n.currentStyle[o]:e.getComputedStyle&amp;&amp;(a=t.defaultView.getComputedStyle(n,null).getPropertyValue(o)),a},u=function(e){var t=p[e||0];return t.map instanceof google.maps.Map?void 0:(t.initializeMap(),t.map)},l=function(t,o){function a(n){var o=Object.keys(p),s=p[o[0]];t&amp;&amp;p[t]?r.resolve(p[t].map):!t&amp;&amp;s&amp;&amp;s.map?r.resolve(s.map):n&gt;i?r.reject(\"could not find map\"):e.setTimeout(function(){a(n+100)},100)}o=o||{},t=\"object\"==typeof t?t.id:t;var r=n.defer(),i=o.timeout||1e4;return a(0),r.promise},g=function(e){if(e.map){var t=Object.keys(p).length;p[e.map.id||t]=e}},d=function(e){var t=Object.keys(p).length-1,n=e.map.id||t;if(e.map){for(var o in e.eventListeners){var a=e.eventListeners[o];google.maps.event.removeListener(a)}e.map.controls&amp;&amp;e.map.controls.forEach(function(e){e.clear()})}e.map.heatmapLayers&amp;&amp;Object.keys(e.map.heatmapLayers).forEach(function(t){e.deleteObject(\"heatmapLayers\",e.map.heatmapLayers[t])}),s.deleteMapInstance(n),delete p[n]},m=function(e,t){var a=n.defer();return!e||e.match(/^current/i)?o.getCurrentPosition(t).then(function(e){var t=e.coords.latitude,n=e.coords.longitude,o=new google.maps.LatLng(t,n);a.resolve(o)},function(e){a.reject(e)}):r.geocode({address:e}).then(function(e){a.resolve(e[0].geometry.location)},function(e){a.reject(e)}),a.promise},f=function(e,t){return function(n){if(n){var o=i(\"set-\"+e),r=a.toOptionValue(n,{key:e});t[o]&amp;&amp;(e.match(/center|position/)&amp;&amp;\"string\"==typeof r?m(r).then(function(e){t[o](e)}):t[o](r))}}},v=function(e){var t=e.getAttribute(\"default-style\");\"true\"==t?(e.style.display=\"block\",e.style.height=\"300px\"):(\"block\"!=c(e,\"display\")&amp;&amp;(e.style.display=\"block\"),c(e,\"height\").match(/^(0|auto)/)&amp;&amp;(e.style.height=\"300px\"))};angular.module(\"ngMap\").provider(\"NgMap\",function(){var p={};this.setDefaultOptions=function(e){p=e};var c=function(c,y,h,b,M,O,w,L){return e=c,t=y[0],n=h,o=b,a=M,r=O,i=w,s=L,{defaultOptions:p,addMap:g,deleteMap:d,getMap:l,initMap:u,setStyle:v,getGeoLocation:m,observeAndSet:f}};c.$inject=[\"$window\",\"$document\",\"$q\",\"NavigatorGeolocation\",\"Attr2MapOptions\",\"GeoCoder\",\"camelCaseFilter\",\"NgMapPool\"],this.$get=c})}(),function(){\"use strict\";var e,t=function(t,n){n=n||t.getCenter();var o=e.defer(),a=new google.maps.StreetViewService;return a.getPanoramaByLocation(n||t.getCenter,100,function(e,t){t===google.maps.StreetViewStatus.OK?o.resolve(e.location.pano):o.resolve(!1)}),o.promise},n=function(e,t){var n=new google.maps.StreetViewPanorama(e.getDiv(),{enableCloseButton:!0});n.setPano(t)},o=function(o){return e=o,{getPanorama:t,setPanorama:n}};o.$inject=[\"$q\"],angular.module(\"ngMap\").service(\"StreetView\",o)}(),\"ngMap\"});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-09-14 16:00:39&lt;/sys_created_on&gt;&lt;sys_id&gt;beaf4a08db9143004e5cfa131f961901&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;ng-map.min.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_beaf4a08db9143004e5cfa131f961901&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-14 16:46:34&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2095297468</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>17dc5e00dbd143004e5cfa131f961905</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e8148f1cc0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>ng-map.min.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>205a92cc139143007c2bee842b061caa</update_guid>\n<update_guid_history>205a92cc139143007c2bee842b061caa:2095297468,fc3a92cc8d914300f3b992694b4712a5:508930938,05c0568840914300f8248a3f7bb05ed8:2095297468,f0b016885a9143009593bda143d1911c:-1989781048,3bcf4a08289143007ba7fb2b98221e06:2095297468</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_2a9392a7136432007e94fc5ed144b036</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJLK68</display_name><source>url</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito_SHARE</sys_created_by><sys_created_on>2017-02-01 10:19:41</sys_created_on><sys_id>2a9392a7136432007e94fc5ed144b036</sys_id><sys_mod_count>6</sys_mod_count><sys_name>https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJLK68</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script/><sys_update_name>sp_js_include_2a9392a7136432007e94fc5ed144b036</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:46:45</sys_updated_on><url>https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJLK68</url></sp_js_include></record_update>]]></payload>\n<payload_hash>2093890300</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>1bdc5e00dbd143004e5cfa131f961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e81491be80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJLK68</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>135ad2cc069143004367f7620ef61a3a</update_guid>\n<update_guid_history>135ad2cc069143004367f7620ef61a3a:2093890300,9a5a56ccf191430035bce0866076c2bc:258705126,0ef05a88bd91430011bc041c106a9216:2093890300,c9f01a883d91430009f04f910e4652a6:258705126,5eec9965ed50c300afd2103f9778de6c:2093890300,d0ec1965d350c300f74143c66069594c:221318950,27f946546d9c43002649f8490deb64ff:-415308</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_3464160cdb9143004e5cfa131f9619f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"Google Maps Includes\">fb14d20cdb9143004e5cfa131f961983</sp_dependency><sp_js_include display_value=\"https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJLK68\">2a9392a7136432007e94fc5ed144b036</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-14 16:20:39</sys_created_on><sys_id>3464160cdb9143004e5cfa131f9619f2</sys_id><sys_mod_count>4</sys_mod_count><sys_name>Google Maps Includes.https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJLK68</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3464160cdb9143004e5cfa131f9619f2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:45:07</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>71305929</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>1fdc5e00dbd143004e5cfa131f961903</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e81479aa20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>Google Maps Includes.https://maps.googleapis.com/maps/api/js?key=AIzaSyAkL42Jsu4-nhpely1KJulcL73JfhJ</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c3f912cc8091430039c78ad3fd677721</update_guid>\n<update_guid_history>c3f912cc8091430039c78ad3fd677721:71305929,a2f992ccb49143002e774ae8ae172f1b:-1819279510,7ae912cc31914300f54c714223032c1d:971596264,ab15da0c619143004c3f0713f818fc2d:71305929,7464160ce491430001047be3562525f3:-1819279510</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_7054ce68db148300aa80d49fdf9619b6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function NdlNgMapController(NgMap, $scope, $timeout) {\n  /* widget controller */\n  var c = this;\n\n  c.cleanForm = function () {\n    c.data.place_origin = '';\n    c.data.place_destination = '';\n    c.data.map_zoom = 14;\n    c.data.transit_mode = c.data.transit_mode_all[0];\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.margin-top {\n  margin-top: 10px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;Google Maps extended with ngMap&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-maps-ngmap&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Maps NgMap&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"place_origin\",\"label\":\"Origin\",\"type\":\"string\"},{\"name\":\"place_destination\",\"label\":\"Destination\",\"type\":\"string\"},{\"name\":\"map_zoom\",\"default_value\":\"14\",\"label\":\"Map Zoom\",\"type\":\"integer\"},{\"name\":\"transit_mode\",\"default_value\":\"Walking\",\"label\":\"Transit Mode\",\"type\":\"choice\",\"choices\":[{\"label\":\"Walking\",\"value\":\"Walking\"},{\"label\":\"Bicycling\",\"value\":\"Bicycling\"},{\"label\":\"Driving\",\"value\":\"Driving\"},{\"label\":\"Transit\",\"value\":\"Transit\"}]}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.place_origin = input.place_origin || options.place_origin;\n  data.place_destination = input.place_destination || options.place_destination;\n  data.map_zoom = input.map_zoom || options.map_zoom;\n\n  data.transit_mode_all = [\n\t\t'Walking',\n\t\t'Bicycling',\n\t\t'Driving',\n\t\t'Transit',\n\t\t''];\n\n  data.transit_mode = data.transit_mode_all[0];\n\n\n\tif (!data.place_origin)\n    data.place_origin = '';\n\n  if (!data.place_destination)\n    data.place_destination = '';\n\n  if (!data.map_zoom)\n    data.map_zoom = 14;\n\n\n  data.form_visibility = true;\n  if( data.place_origin.length&gt;0 )\n    data.form_visibility = false;\n\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-28 11:24:55&lt;/sys_created_on&gt;&lt;sys_id&gt;7054ce68db148300aa80d49fdf9619b6&lt;/sys_id&gt;&lt;sys_mod_count&gt;131&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Maps NgMap&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_7054ce68db148300aa80d49fdf9619b6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-14 16:42:51&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row margin-top\" ng-if=\"data.form_visibility\"&gt;\n  &lt;div class=\"col-md-4\"&gt;\n    &lt;div class=\"form-group\"&gt;\n      &lt;input type=\"text\" class=\"form-control\" placeholder=\"Origin\" ng-model=\"data.place_origin\"&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"col-md-4\"&gt;\n    &lt;div class=\"form-group\"&gt;\n      &lt;input type=\"text\" class=\"form-control\" placeholder=\"Destination\" ng-model=\"data.place_destination\"&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"col-md-2\"&gt;\n    &lt;div class=\"form-group\"&gt;\n      &lt;select class=\"form-control\" ng-options=\"item as item for item in data.transit_mode_all track by item\" ng-model=\"data.transit_mode\"&gt;&lt;/select&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"col-md-1\"&gt;\n    &lt;div class=\"form-group\"&gt;\n      &lt;input type=\"text\" class=\"form-control\" placeholder=\"Zoom level\" ng-model=\"data.map_zoom\"&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"col-md-1\"&gt;\n    &lt;a class=\"btn btn-primary\" href=\"javascript:void(0)\" role=\"button\" ng-click=\"c.cleanForm()\"&gt;Reset&lt;/a&gt;\n  &lt;/div&gt;\n\n&lt;/div&gt;\n\n&lt;div class=\"row margin-top\" ng-if=\"data.place_origin.length&gt;0 &amp;&amp; data.place_destination.length&gt;0\"&gt;\n  &lt;ng-map&gt;\n    &lt;directions draggable=\"true\" zoom=\"{{data.map_zoom}}\" panel=\"directions-panel\" travel-mode=\"{{data.transit_mode.toUpperCase()}}\" origin=\"{{data.place_origin}}\"\n      destination=\"{{data.place_destination}}\"&gt;\n    &lt;/directions&gt;\n  &lt;/ng-map&gt;\n  &lt;div id=\"directions-panel\" clas=\"row\"&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"row margin-top\" ng-if=\"data.place_origin.length&gt;0 &amp;&amp; data.place_destination.length==0\"&gt;\n  &lt;ng-map zoom=\"{{data.map_zoom}}\" center=\"{{data.place_origin}}\" /&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1691472054</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>53dc5e00dbd143004e5cfa131f961905</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e814589ef0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>PE Maps NgMap</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>c2795e8c1191430086d5a03cadfb6ca0</update_guid>\n<update_guid_history>c2795e8c1191430086d5a03cadfb6ca0:1691472054,ef555e0c6991430053200d00ce9cb9d8:1712000012,02555e0c19914300d5c34041df20d878:2022267152,2a6092883d9143008cf902d4ef87a1c7:1712000012,146092888b9143003a0273a702454c89:-28017226,d8edfd253a90c3008fd47c386e84181c:-1871337825,a5e8292d9e50c3008e01f7f8046fe812:1859497753,e9c8ade91650c300f5965f4c7e0e9a9d:447926540,2c282de98050c3002ef1347f951d5316:2117649294,7967ade94550c300279052ae1a675141:1399809860,0107a5a97350c300de490ab1b84794a1:-2129823081,39c66569e850c30019823e1b3bacabe9:-603621980,bf0625a96850c300ccb4e8fe16b6f1b5:590018634,3ff5e1698750c300d5636412ab2014c9:-739944044,d5b3e169f750c300fc05612ebf1e4dc2:-587148499,ee63e1697350c300caa4b2fd4a63bded:633973380,a4026929de50c300fe04f28d9274d0b3:-1421669246,43f169291450c300b2c665feeb7e4de4:1294070110,ad00a1213b5cc3002c8cb72020441325:-1421669246,c00065a59150c30041bf65599d2ce769:-1995247804,0a8f9d65be50c300b143be1262731e39:1548046473,d06f95ad341cc300641471886ff38510:1309830459,5e9e15ed1a1cc3002af165895586c215:788996351,509b9d258750c300eeef1e6be4c21ff4:-1870022069,5d5a99a11b50c3001c28aeb38b2dfa6c:-1440855917,ba0a99a1fd50c300a0a00623c1df9969:2098797386,b18619e9b41cc300cdba4f9a27288189:-1563745220,914695e9e51cc300dd920b75353264c9:-2023263064,df3695e92e1cc30026963b9755dbd1c5:1137587888,a236152d491cc3005b43d811d4653de2:-1514605600,fdc45121b750c30068b2816d7efd7151:-1598048672,849499ed8b10c3000e68fd9dc4cb6b89:430782559,4d6415211850c30047bebfecb1420eda:744117703,d73419e93f1cc3002fa72010edede88d:-107656278,0953556d1910c30085cc08bcb08f51dc:-466833784,0d3399ed1710c30015267f48ba3d6f83:1919342509,d2c29da9c41cc300d208ea2662d157fa:-1537727783,3abd456dbf10c300bd7f8e82ba3256d4:1474449305,468dc9e5bd1cc300d9b4cb7696aa712c:-1985713080,1a3dc9e5261cc30071c63a120ee2a541:-436803815,d53d89a98810c300de1091fbad0597ba:335669177,c7ec0129331cc300b4fbcfbb73e73de6:1601727929,15bc89a90310c300109af385e24df4b7:-1905313853,dc8b0129031cc300490dbbbceede4fdd:1552821451,123bc5a5a71cc30027f46288518c6ac9:-350437980,97a809692010c3006e03dbca8d2e877d:1399966153,b718c5a96810c300443fe3bad453a7f7:-1007102983,03f68d65b51cc300a8c427b5579a1ceb:199786255,bbb305e50a10c30080f9aed7bd06d631:1884764195,7e834d25c51cc300fccfde2d33ccc779:1925467491,f16305e5e810c3005cf09686750a5a09:1435512530,d63305e55510c3002ce5ecc5bd9fe62e:1925467491,33e201e53410c300598da739e6ee81d7:1198213299,c59201e5d810c300445a7d66514432d3:-364034740,640f6c69bdd8c300ebee876e45b961e1:547778783,7ce1cb64d39483005d98a2cb12ddaa11:-1883165809,b6d187243c984300781494b140e1eb50:-606977393,7ba1c36432948300234e7fc018241181:-1625281016,fb214324b6984300e8e5c580f091f5ca:591559924,bd218b24519483003e6f0af740e9dd52:1159352632,99c04fe0f994830010246ccce7c06008:2131039320,5b90c3645c9483006eaa0b3cbbbeb37d:1869412242,99ef3224ed94830041f98a02a6f05022:399902206,10efb6a001984300a0da74c71066fadb:-1315856898,aace72e0fd9483001478988f06c6f077:275622020,7e4b722051984300c47dc799f1cccdfb:223929784,193bfa601d984300c3c58094e0e11de5:-1620277500,203b72e0f1948300649ee3e8d7662971:-336624274,ccfab6a01f94830000a5bff441f21b3b:-1647592555,db5a7e6054948300221a1381c53dab4a:-956774226,f6697eeca9584300d1094e8358722082:-812245814,b5f8b2601e9483003f2c6f254756a445:449121099,a9b8fa20ae984300e3378ccefcbeb353:-1912186994,9896b66c33584300d9efc18a9620d4c1:23859714,4776b6ac93584300ea2069e4e165ce2f:-942592526,c7f2f2ac53584300726c8e1f28561b10:1003134416,6e92be2c0b5843001d8fcbd1a965d74b:-185526932,3072b66c3e584300455fbe20718c86ba:630923636,8352f2ac805483008b1d540986e81834:-178239498,2d22b66cdf58430046cc18bd19db2cde:-1983663786,43f1fa6c4254830055918ed885060ac2:1226952454,d1c1f2accd5483009a1bbdb5d7f4312e:1079347464,5141fa2c4454830030daad50d1600cef:1570112776,0540f26c69548300a472b0b337c984cb:-405953974,2f10fa6c985483001decf78e0b19c1bb:-1745279002,a1007a2c71548300b6ac49e5c7ef575b:-847529964,a8efa22c0a5843000959e30d6c39d13f:-1306358971,697fa22c41584300815339581f1efc3b:1574960999,a46f2ee8eb584300ea3c1574a8719e74:165907315,924fae2cca58430002a2c605abc5d843:-929388632,2b1fa62c2554830087530c47e83e9621:-817913023,2cce6a2c55584300c6a7b0e26009c3d8:-653529686,d65e622ce95843001af6bdb6243266aa:564049666,bd1e6a2c5154830053abd4e6affc3753:577730844,999d6a2c945483006f60afc629d48050:-1729526883,1f7d622cb2584300d496f0dd774e6aa4:154576236,3a5d622c28584300e3511e4760b9d4a1:-56045815,115deae813548300a145b35346505364:954197232,0d4daee87e5483009e175d4ad933328f:843997616,2a9c2ee82e5843001f7dcf0d62e4896e:305860779,da8caee8a2548300ace24b45a0e1488b:107396638,387c2ea8f3548300000190a69c58aac7:-1119271153,4efa26a807548300884c4faa243f35a0:855704937,cd2a2e68c3548300beebab0dd471f369:504478057,4f0aaaa80a548300460225cecffee500:-1688426076,2c0a2ea820548300f1b329b5c749bcc1:1875839652,8f68a268fe54830076e4791541e28104:1681999354,26386668dc584300f6b4cad8e6911371:1321633490,b218aae418548300f71ecb6a0cabecb4:324788659,2ca76668ad54830067cc901b5be8e64f:901124317,1e6666682e5843007c4584219dba336a:-2087037989,d9f5a228655843007bc82d418d3177d6:-494216352,ecf56228d858430008dcd584927b184a:738394830,9d356228a05843004956d1edc754fa46:-178293826,5425aae4355483003df44ae738eb5596:-516986995,7563a228325843003f3621cdc0a56dce:-11145404,ed0062a4f7584300af29e059c2850911:1078976791,d9ff52a470584300e6e625e6b5873a0e:-412948771,824f1e64a15483001667912b0caca188:-1122250224,a42fd66488584300884b6cce4559af51:20185382,df3e922416548300d37cfc0abc25eaf5:-1569475012,f42e1e6496548300806c102e56ec3b7f:100323764,fd6dd664d0584300102f26b864eba74a:1163242786,095dd2643754830017ef127b9ef1de86:-1060432320,f7fcd264a9548300c4781419f29c8582:1163242786,cdac9264a054830076c4f579b33193d2:-1763769250,1c9c1aa0075843001d405ea447ea63b9:-134911094,c80c5a24fa548300ef39672d4c3c13f4:923059464,e5eb5a24ee5483008bfb8d17fc8cb1f1:-1280891110,56d2da202954830003d6faa11a802086:-859390927,f8648ea89c14830039054754adc74911:834529690</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_fb14d20cdb9143004e5cfa131f961983</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>ngMap</module><name>Google Maps Includes</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-14 16:19:35</sys_created_on><sys_id>fb14d20cdb9143004e5cfa131f961983</sys_id><sys_mod_count>9</sys_mod_count><sys_name>Google Maps Includes</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_fb14d20cdb9143004e5cfa131f961983</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:55:42</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-85185770</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>57dc5e00dbd143004e5cfa131f961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e81514e2c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>Google Maps Includes</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>126cd600c7d14300d2bf8a645196fec9</update_guid>\n<update_guid_history>126cd600c7d14300d2bf8a645196fec9:-85185770,cd6c1a0090d14300ac8be35077d5f359:-1055626314,74999e8c4991430034e65b1fc103f0ca:-85185770,97895e8ce2914300845bb0c4a285fcef:-1055626314,8bc7128cf39143007b3bc80b2ce29393:-85185770,12c7128c8f914300e634ff45e656e691:1342303478,7db7128cd691430035728eb1edf6d46d:-85185770,3a25960c9c9143003e7a20b33034fda3:169707417,bd25960cd1914300f12ca4ba0604c7a0:-462603241,d924d20cf091430003c5dac75926233e:169707417</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_3064160cdb9143004e5cfa131f9619f4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"Google Maps Includes\">fb14d20cdb9143004e5cfa131f961983</sp_dependency><sp_js_include display_value=\"js-map-label\">425416a7136432007e94fc5ed144b068</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-14 16:20:39</sys_created_on><sys_id>3064160cdb9143004e5cfa131f9619f4</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Google Maps Includes.js-map-label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3064160cdb9143004e5cfa131f9619f4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:45:09</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1692809319</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>5bdc5e00dbd143004e5cfa131f961903</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e8147a5870000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>Google Maps Includes.js-map-label</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>77f912ccd89143009f92a19200eed624</update_guid>\n<update_guid_history>77f912ccd89143009f92a19200eed624:1692809319,e3e952ccbc9143006dfc1f5a5d3e187a:565432774,6c25da0c99914300eef95e45a1671c30:1692809319,f864960c5491430077ca9e9e2a6e089b:-447955671</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_9524d20cdb9143004e5cfa131f96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Google Maps Includes\">fb14d20cdb9143004e5cfa131f961983</sp_dependency><sp_widget display_value=\"PE Maps NgMap\">7054ce68db148300aa80d49fdf9619b6</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-14 16:19:35</sys_created_on><sys_id>9524d20cdb9143004e5cfa131f96193f</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Google Maps Includes.PE Maps NgMap</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_9524d20cdb9143004e5cfa131f96193f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:56:54</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-207586997</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>93dc5e00dbd143004e5cfa131f961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e815265040000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>Google Maps Includes.PE Maps NgMap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>fbac9a00afd143003db073b70d0715f4</update_guid>\n<update_guid_history>fbac9a00afd143003db073b70d0715f4:-207586997,0eac5a00d2d14300140ede35ce5de3b8:453348341,5924d20ce49143000177fc38724f1e40:-207586997</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_d2a49aa7136432007e94fc5ed144b093</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>ng-map</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito_SHARE</sys_created_by><sys_created_on>2017-02-01 10:23:51</sys_created_on><sys_id>d2a49aa7136432007e94fc5ed144b093</sys_id><sys_mod_count>6</sys_mod_count><sys_name>ng-map</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"ng-map.min.js\">beaf4a08db9143004e5cfa131f961901</sys_ui_script><sys_update_name>sp_js_include_d2a49aa7136432007e94fc5ed144b093</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:45:24</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1316728572</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>9fdc5e00dbd143004e5cfa131f961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e8147ddd20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>ng-map</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>970a92cc789143006fb810505e903a21</update_guid>\n<update_guid_history>970a92cc789143006fb810505e903a21:1316728572,719056888291430015357df5e5272450:-111517872,c5905688ce914300d867647636a44186:1999626844,16df8a0876914300be6e0c623a70c22d:-111517872,602cd1659350c300759055145cbabfc5:-50894893,6f1cd165c050c30044999061b5ac0fc1:1260662615,23f98654b69c43008b81e0fb7e19dc02:-1322184437</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_f354d6a7136432007e94fc5ed144b0d3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;js-map-label&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/*\n\n\n\t Copyright 2011 Google Inc.\n\n\t Licensed under the Apache License, Version 2.0 (the \"License\");\n\t you may not use this file except in compliance with the License.\n\t You may obtain a copy of the License at\n\n\t http://www.apache.org/licenses/LICENSE-2.0\n\n\t Unless required by applicable law or agreed to in writing, software\n\t distributed under the License is distributed on an \"AS IS\" BASIS,\n\t WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t See the License for the specific language governing permissions and\n\t limitations under the License.\n\t*/\n\tvar d = \"prototype\";\n\n\tfunction e(a) {\n\t\tthis.set(\"fontFamily\", \"sans-serif\");\n\t\tthis.set(\"fontSize\", 12);\n\t\tthis.set(\"fontColor\", \"#000000\");\n\t\tthis.set(\"strokeWeight\", 4);\n\t\tthis.set(\"strokeColor\", \"#ffffff\");\n\t\tthis.set(\"align\", \"center\");\n\t\tthis.set(\"zIndex\", 1E3);\n\t\tthis.setValues(a)\n\t}\n\te.prototype = new google.maps.OverlayView;\n\twindow.MapLabel = e;\n\te[d].changed = function(a) {\n\t\tswitch (a) {\n\t\t\tcase \"fontFamily\":\n\t\t\tcase \"fontSize\":\n\t\t\tcase \"fontColor\":\n\t\t\tcase \"strokeWeight\":\n\t\t\tcase \"strokeColor\":\n\t\t\tcase \"align\":\n\t\t\tcase \"text\":\n\t\t\t\treturn h(this);\n\t\t\tcase \"maxZoom\":\n\t\t\tcase \"minZoom\":\n\t\t\tcase \"position\":\n\t\t\t\treturn this.draw()\n\t\t}\n\t};\n\n\tfunction h(a) {\n\t\tvar b = a.a;\n\t\tif (b) {\n\t\t\tvar f = b.style;\n\t\t\tf.zIndex = a.get(\"zIndex\");\n\t\t\tvar c = b.getContext(\"2d\");\n\t\t\tc.clearRect(0, 0, b.width, b.height);\n\t\t\tc.strokeStyle = a.get(\"strokeColor\");\n\t\t\tc.fillStyle = a.get(\"fontColor\");\n\t\t\tc.font = a.get(\"fontSize\") + \"px \" + a.get(\"fontFamily\");\n\t\t\tvar b = Number(a.get(\"strokeWeight\")),\n\t\t\t\tg = a.get(\"text\");\n\t\t\tif (g) {\n\t\t\t\tif (b) c.lineWidth = b, c.strokeText(g, b, b);\n\t\t\t\tc.fillText(g, b, b);\n\t\t\t\ta: {\n\t\t\t\t\tc = c.measureText(g).width + b;\n\t\t\t\t\tswitch (a.get(\"align\")) {\n\t\t\t\t\t\tcase \"left\":\n\t\t\t\t\t\t\ta = 0;\n\t\t\t\t\t\t\tbreak a;\n\t\t\t\t\t\tcase \"right\":\n\t\t\t\t\t\t\ta = -c;\n\t\t\t\t\t\t\tbreak a\n\t\t\t\t\t}\n\t\t\t\t\ta = c / -2\n\t\t\t\t}\n\t\t\t\tf.marginLeft = a + \"px\";\n\t\t\t\tf.marginTop =\n\t\t\t\t\t\"-0.4em\"\n\t\t\t}\n\t\t}\n\t}\n\te[d].onAdd = function() {\n\t\tvar a = this.a = document.createElement(\"canvas\");\n\t\ta.style.position = \"absolute\";\n\t\tvar b = a.getContext(\"2d\");\n\t\tb.lineJoin = \"round\";\n\t\tb.textBaseline = \"top\";\n\t\th(this);\n\t\t(b = this.getPanes()) &amp;&amp; b.mapPane.appendChild(a)\n\t};\n\te[d].onAdd = e[d].onAdd;\n\te[d].draw = function() {\n\t\tvar a = this.getProjection();\n\t\tif (a &amp;&amp; this.a) {\n\t\t\tvar b = this.get(\"position\");\n\t\t\tif (b) {\n\t\t\t\tb = a.fromLatLngToDivPixel(b);\n\t\t\t\ta = this.a.style;\n\t\t\t\ta.top = b.y + \"px\";\n\t\t\t\ta.left = b.x + \"px\";\n\t\t\t\tvar b = this.get(\"minZoom\"),\n\t\t\t\t\tf = this.get(\"maxZoom\");\n\t\t\t\tif (b === void 0 &amp;&amp; f === void 0) b = \"\";\n\t\t\t\telse {\n\t\t\t\t\tvar c = this.getMap();\n\t\t\t\t\tc ? (c = c.getZoom(), b = c &lt; b || c &gt; f ? \"hidden\" : \"\") : b = \"\"\n\t\t\t\t}\n\t\t\t\ta.visibility = b\n\t\t\t}\n\t\t}\n\t};\n\te[d].draw = e[d].draw;\n\te[d].onRemove = function() {\n\t\tvar a = this.a;\n\t\ta &amp;&amp; a.parentNode &amp;&amp; a.parentNode.removeChild(a)\n\t};\n\te[d].onRemove = e[d].onRemove;\n})()]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito_SHARE&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-01 10:21:36&lt;/sys_created_on&gt;&lt;sys_id&gt;f354d6a7136432007e94fc5ed144b0d3&lt;/sys_id&gt;&lt;sys_mod_count&gt;8&lt;/sys_mod_count&gt;&lt;sys_name&gt;js-map-label&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_f354d6a7136432007e94fc5ed144b0d3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-14 16:47:10&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>452891938</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>d7dc5e00dbd143004e5cfa131f961905</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e81497c9b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>js-map-label</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>d57a96cc2e914300dfe8457142ff11c3</update_guid>\n<update_guid_history>d57a96cc2e914300dfe8457142ff11c3:452891938,936a56cc94914300e9464a667e76cec7:1607339759,3ee0d688da914300eda71df193edafca:452891938,39e0d6881191430001f3f4cb659e37c6:1607339759,22d0d6888c914300b8b263b490e42940:452891938,21d0d6886a91430063cf75d5b2922fd2:-1707122184,a1bc55654550c300f15648e1fa936cf9:452891938,24bc19655e50c30020c79fdc73ec3a21:-1707122184,bff98654849c43000a9634c537995708:-194847398</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_425416a7136432007e94fc5ed144b068</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>js-map-label</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito_SHARE</sys_created_by><sys_created_on>2017-02-01 10:21:45</sys_created_on><sys_id>425416a7136432007e94fc5ed144b068</sys_id><sys_mod_count>6</sys_mod_count><sys_name>js-map-label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"js-map-label\">f354d6a7136432007e94fc5ed144b0d3</sys_ui_script><sys_update_name>sp_js_include_425416a7136432007e94fc5ed144b068</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:46:54</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-610867794</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>dbdc5e00dbd143004e5cfa131f961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e81493d060000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>js-map-label</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>5d6a56cc389143009330fb621f3cef83</update_guid>\n<update_guid_history>5d6a56cc389143009330fb621f3cef83:-610867794,146a56cc22914300035e8ce19a1b8cd1:-1700624578,44d0d6881591430008a5c62179e951a8:-610867794,83c056885c914300e73532c795089ddb:-522541556,adac5565f950c300e05998a5c4683e32:-610867794,d8ac55652b50c300c93dbbff7d396d2f:-1700624578,abf98654149c43001177119f32770000:1162996198</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_b464960cdb9143004e5cfa131f96199c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Google Maps Includes\">fb14d20cdb9143004e5cfa131f961983</sp_dependency><sp_js_include display_value=\"ng-map.min.js\">d2a49aa7136432007e94fc5ed144b093</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-09-14 16:20:39</sys_created_on><sys_id>b464960cdb9143004e5cfa131f96199c</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Google Maps Includes.ng-map.min.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_b464960cdb9143004e5cfa131f96199c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-09-14 16:45:01</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1724186600</payload_hash>\n<remote_update_set display_value=\"pe-maps-ngmap\">97dc5e00dbd143004e5cfa131f961903</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2017-09-14 16:57:41</sys_created_on>\n<sys_id>dfdc5e00dbd143004e5cfa131f961903</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15e814786680000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2017-09-14 16:57:41</sys_updated_on>\n<table/>\n<target_name>Google Maps Includes.ng-map.min.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>31f992cc58914300dbe85bb6b0e3c018</update_guid>\n<update_guid_history>31f992cc58914300dbe85bb6b0e3c018:1724186600,71e952cc70914300b18858f788a78a77:647085447,f064960cc691430075864bf6485f6d9d:1724186600</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-maps-ngmap/widget/pe-maps-ngmap.u-body-html-template.html",
    "content": "<div class=\"row margin-top\" ng-if=\"data.form_visibility && data.header_visibility\">\n  <div class=\"col-md-4\">\n    <div class=\"form-group\">\n      <input type=\"text\" class=\"form-control\" placeholder=\"Origin\" ng-model=\"data.place_origin\">\n    </div>\n  </div>\n\n  <div class=\"col-md-4\">\n    <div class=\"form-group\">\n      <input type=\"text\" class=\"form-control\" placeholder=\"Destination\" ng-model=\"data.place_destination\">\n    </div>\n  </div>\n\n  <div class=\"col-md-2\">\n    <div class=\"form-group\">\n      <select class=\"form-control\" ng-options=\"item as item for item in data.transit_mode_all track by item\" ng-model=\"data.transit_mode\"></select>\n    </div>\n  </div>\n\n  <div class=\"col-md-1\">\n    <div class=\"form-group\">\n      <input type=\"text\" class=\"form-control\" placeholder=\"Zoom level\" ng-model=\"data.map_zoom\">\n    </div>\n  </div>\n\n  <div class=\"col-md-1\">\n    <a class=\"btn btn-primary\" href=\"javascript:void(0)\" role=\"button\" ng-click=\"c.cleanForm()\">Reset</a>\n  </div>\n\n</div>\n\n<div class=\"row margin-top\" ng-if=\"data.place_origin.length>0 && data.place_destination.length>0\">\n\n  <ng-map>\n    <directions draggable=\"true\" zoom=\"{{data.map_zoom}}\" panel=\"directions-panel\" travel-mode=\"{{data.transit_mode.toUpperCase()}}\"\n      origin=\"{{data.place_origin}}\" destination=\"{{data.place_destination}}\">\n    </directions>\n  </ng-map>\n\n  <div id=\"directions-panel\" clas=\"row\">\n  </div>\n\n</div>\n\n<div class=\"row margin-top\" ng-if=\"data.place_origin.length>0 && data.place_destination.length==0\">\n  <ng-map zoom=\"{{data.map_zoom}}\" center=\"{{data.place_origin}}\">\n    <marker position=\"{{data.place_origin}}\" title=\"{{data.place_origin}}\"></marker>\n  </ng-map>\n</div>"
  },
  {
    "path": "pe-maps-ngmap/widget/pe-maps-ngmap.u-client-script.js",
    "content": "function NdlNgMapController(NgMap, $scope, $timeout) {\n\n  var c = this;\n\n  c.cleanForm = function () {\n    c.data.place_origin = '';\n    c.data.place_destination = '';\n    c.data.map_zoom = 14;\n    c.data.transit_mode = c.data.transit_mode_all[0];\n  };\n\n}"
  },
  {
    "path": "pe-maps-ngmap/widget/pe-maps-ngmap.u-css.scss",
    "content": ".margin-top {\n  margin-top: 10px;\n}"
  },
  {
    "path": "pe-maps-ngmap/widget/pe-maps-ngmap.u-option-schema.json",
    "content": "[{\n  \"name\": \"place_origin\",\n  \"label\": \"Origin\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"place_destination\",\n  \"label\": \"Destination\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"map_zoom\",\n  \"default_value\": \"14\",\n  \"label\": \"Map Zoom\",\n  \"type\": \"integer\"\n}, {\n  \"name\": \"transit_mode\",\n  \"default_value\": \"Walking\",\n  \"label\": \"Transit Mode\",\n  \"type\": \"choice\",\n  \"choices\": [{\n    \"label\": \"Walking\",\n    \"value\": \"Walking\"\n  }, {\n    \"label\": \"Bicycling\",\n    \"value\": \"Bicycling\"\n  }, {\n    \"label\": \"Driving\",\n    \"value\": \"Driving\"\n  }, {\n    \"label\": \"Transit\",\n    \"value\": \"Transit\"\n  }]\n}, {\n  \"hint\": \"This parameter is used to override the visibility behaviour of the header\",\n  \"name\": \"header_visibility\",\n  \"default_value\": \"true\",\n  \"label\": \"Header Visibility\",\n  \"type\": \"boolean\"\n}]"
  },
  {
    "path": "pe-maps-ngmap/widget/pe-maps-ngmap.u-server-script.js",
    "content": "(function () {\n  data.place_origin = input.place_origin || options.place_origin;\n  data.place_destination = input.place_destination || options.place_destination;\n  data.map_zoom = input.map_zoom || options.map_zoom;\n  data.header_visibility = input.header_visibility || options.header_visibility;\n  data.header_visibility = (data.header_visibility == 'true');\n\n  data.transit_mode_all = [\n    'Walking',\n    'Bicycling',\n    'Driving',\n    'Transit',\n    ''];\n\n  data.transit_mode = data.transit_mode_all[0];\n\n  if (!data.place_origin)\n    data.place_origin = '';\n\n  if (!data.place_destination)\n    data.place_destination = '';\n\n  if (!data.map_zoom)\n    data.map_zoom = 14;\n\n  data.form_visibility = true;\n  if (data.place_origin.length > 0)\n    data.form_visibility = false;\n\n})();"
  },
  {
    "path": "pe-multiform/README.md",
    "content": "# Multiform\n\n## Description\n\nMultiform is an advanced Service Portal form widget that separates each section of the form onto sequential, numbered screens for improved user experience. It also offers a number of other benefits over the out-of-box form widget, such as:\n\n- **Screen-based form completion**\n\n\tEach form section becomes its own screen:\n\n  ![](../images/mf-screen-progression.png)\n\n\tScreens are able to be navigated through the buttons at the bottom of the form:\n\n  ![](../images/mf-next.png)\n\n\tAnd using the indicators at the top-right:\n\n  ![](../images/mf-navigation.png)\n\n- **Drag & drop file upload**\n\n\tBoth drag and drop and regular upload (via the  button) are supported.\n\n  ![](../images/mf-drag-drop.png)\n\n- **Support for all native form functionality**\n\n\tFor example:\n\n\t- Client Scripts\n\t- UI Policies\n\t- Read-only fields\n\t- Mandatory fields\n\t- Form layouts\n\t- Reference fields\n\t- Dictionary attributes\n\n- **Embedded “Child Forms” (related lists)**\n\n\tChild forms can be embedded on the top, left, right, or bottom, of a screen, or on all screens. Minimum and maximum numbers of related records can optionally be set.\n\n- **Embedded “Child Widgets”**\n\n\tChild widgets can be embedded in the same places as child forms. An easy to use API can be called in your widgets to access fields on all forms and execute functions when the form changes.\n\n- **Easy to style**\n\n\tSimply declare a few SASS variables in your theme/page/portal to override certain styles, such as indicator color, bottom bar color, and rounded corners.\n\n## Screenshots\n\n![](../images/mf-screenshot.png)\n\n![](../images/mf-feature-highlight.png)\n\n## Installation\n\n1. Open Studio on your ServiceNow instance.\n2. Click the **Import From Source Control** button.\n3. As the value of the URL field use the following:\n\t`https://github.com/platform-experience/pi-multiform`\n4. Press the **Import** button\n\n## Configuration\n\nThe application includes a test page which can be accessed from the `/sp?id=x_mf_test` path on your instance. This will give you an example of some of the features and how one might configure them.\n\nWhenever you drag the Multiform widget onto a page using Service Portal Designer, an instance of the widget is created. You can configure it by holdling CTRL and right-clicking on, selecting \"Instance Options\", and following the instructions displayed to open the instance in the platform view.\n\nFrom the platform view, you have full control over the way your form is configured.\n\n### Multiform Instance\n\nThe Multiform Instance record is the core record, which controls how the actual main form operates and displays.\n\n| Field              | Description                                                                                                                                               | Mandatory | Default      |\n|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|--------------|\n| Table              | The table that the form will show                                                                                                                         | yes       |              |\n| Record             | Hard-code a record to display. If not defined, the sys_id URL parameter will be used. If this isn't supplied, a new record will be created.               | no        |              |\n| View               | The view that the form will show. The form sections on this view will shown as \"screens\".                                                                 | yes       |              |\n| Roles              | Roles that are required to be able to see this widget                                                                                                     | no        |              |\n| Progression method | Whether users will be able to freely navigate using the indicators at any time, or only navigate to screens they have visited already.                    | yes       | Full control |\n| Success page       | The Service Portal page that the user will be redirected to after form submission. The URL parameters `sys_id` and `table` will be supplied to this page. | yes       |              |\n| Order              | Used to determine in what position this widget will display, relative to other widget instances in the same container.                                    | no        |              |\n| CSS                | Additional CSS that will be loaded for this instance of the widget                                                                                        | no        |              |\n\n### Multiform Child\n\nThere are two types of Multiform Children. Both extend from the Multiform Child table, and thus have some common options:\n\n| Field        | Description                                                                   | Mandatory | Default     |\n|--------------|-------------------------------------------------------------------------------|-----------|-------------|\n| Parent       | The Multiform Instance that this is a child of                                | yes       |             |\n| Active       | Control whether Multiform Child is used                                       | yes       | true        |\n| Apply to     | Apply either to all screens, or a specific section                            | yes       | All screens |\n| Form section | If Apply to is set to Specific section, you can choose the section from here  | yes       |             |\n| Location     | Whether the child appears at the top, bottom, left, or right of the screen    | yes       | bottom      |\n| Align self   | Flexbox property. See https://css-tricks.com/snippets/css/a-guide-to-flexbox/ | yes       | stretch     |\n| Order        | Flexbox property. See https://css-tricks.com/snippets/css/a-guide-to-flexbox/ | yes       | 0           |\n| Flex grow    | Flexbox property. See https://css-tricks.com/snippets/css/a-guide-to-flexbox/ | yes       | 0           |\n| Flex shrink  | Flexbox property. See https://css-tricks.com/snippets/css/a-guide-to-flexbox/ | yes       | 1           |\n| Flex basis   | Flexbox property. See https://css-tricks.com/snippets/css/a-guide-to-flexbox/ | yes       | auto        |\n\nThere are also some options unique to each type of child.\n\n#### Child Form\n\n| Field              | Description                                                                                                                                               | Mandatory | Default      |\n|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|--------------|\n| Table              | The table that the form will show                                                                                                                         | yes       |              |\n| Record             | Hard-code a record to display. If not defined, the sys_id URL parameter will be used. If this isn't supplied, a new record will be created.               | no        |              |\n| View               | The view that the form will show. The form sections on this view will shown as \"screens\".                                                                 | yes       |              |\n| Roles              | Roles that are required to be able to see this widget                                                                                                     | no        |              |\n| Progression method | Whether users will be able to freely navigate using the indicators at any time, or only navigate to screens they have visited already.                    | yes       | Full control |\n| Success page       | The Service Portal page that the user will be redirected to after form submission. The URL parameters `sys_id` and `table` will be supplied to this page. | yes       |              |\n| Order              | Used to determine in what position this widget will display, relative to other widget instances in the same container.                                    | no        |              |\n| CSS                | Additional CSS that will be loaded for this instance of the widget                                                                                        | no        |              |\n\n#### Child Widget\n\n| Field          | Description                                               | Mandatory | Default |\n|----------------|-----------------------------------------------------------|-----------|---------|\n| Widget         | The widget to be shown                                    | yes       |         |\n| Widget options | Options that will be supplied to the widget when it loads | no        |         |\n\n## CSS/SASS Variables\n\nThere are a number of SASS variables that can be declared in your portal's theme, CSS, or your page's CSS to override the default styling of the widget and make it fit in better with your portal.\n\n| Variable | Description |\n|---------------------------------|------------------------------------------------------------------------------------------------------------------------|\n| `$pi-mf-header-color` | The text color used for headers |\n| `$pi-mf-actions-bg` | The background color of the actions bar at the bottom of the form |\n| `$pi-mf-actions-button` | The background color used for primary actions (e.g. Next), and border color used for secondary actions (e.g. Previous) |\n| `$pi-mf-actions-button-color` | The text color used for primary actions |\n| `$pi-mf-highlight-bg` | The background color of the attachment area |\n| `$pi-mf-inner-form-bg` | The background color of inner forms |\n| `$pi-mf-border-radius` | The border radius for the main form, action bar, action buttons, child form area, and child forms. |\n| `$pi-mf-indicator-bg` | The background color of the indicators on the top-right of the screen |\n| `$pi-mf-indicator-bg-active` | The background color of an active indicator (e.g. current screen) |\n| `$pi-mf-indicator-color` | The text color of indicators |\n| `$pi-mf-indicator-color-active` | The text color of active indicators |\n| `$pi-mf-formgroup-border-color` | The border color of the child form area |\n| `$pi-mf-attachment-pill-bg` | The background color of the individual attachment pills |\n| `$pi-mf-attachment-pill-color` | The text color of the individual attachment pills |\n| `$pi-mf-attachment-add-bg` | The background color of the \"add attachment\" button |\n| `$pi-mf-attachment-add-color` | The color of the + icon in the \"add attachment\" button |\n\n## Widget API\n\nYou can use the Multiform Widget API in your widgets to interact with Multiform, including the state of forms, values of fields, and screen navigation. The API is made available via the AngularJS service `PiMfManager`.\n\nThis API can be used for widgets embedded as a \"Multiform Child Widget\" or any other widget on the same page as a Multiform widget.\n\nTo use it, add `PiMultiForm` to the \"Widget Dependencies\" related list of the widget you're building.\n\nThen, inject the `PiMfManager` dependency into your client script function as below:\n\n```\nfunction(PiMfManager) {\n...\n```\n\n### Methods\n\n#### `addOnScreenChangeFunc(callback)`\n\nAdd a function to be executed when the screen changes.\n\nReturns: undefined\n\n#### `addOnValueChangeFunc(callback)`\n\nAdd a function to be executed when a value in a form changes.\n\nThe function will be supplied with three arguments:\n\n- Parameter 1: String - the field name that changed\n- Parameter 2: String - the new value of the field that changed\n- Parameter 3: Object - an object containing two properties\n\t-  `model`: the form model\n\t-  `gForm`: the GlideForm\n\nReturns: undefined\n\n#### `nextScreen()`\n\nMove to the next screen\n\nReturns: undefined\n\n#### `prevScreen()`\n\nMove to the previous screen\n\nReturns: undefined\n\n#### `goToScreen()`\n\nGo to a specific screen\n\nReturns: undefined\n\n#### `getScreenCount()`\n\nGet the number of screens\n\nReturns: Integer\n\n#### `isFirst()`\n\nCheck if we're on the first screen\n\nReturns: boolean\n\n#### `isLast()`\n\nCheck if we're on the last screen\n\nReturns: boolean"
  },
  {
    "path": "pe-multiform/angular-provider/pe-multiform-directive-piMfAttachmentManager.u-client-script.js",
    "content": "function piMfAttachmentManager (i18n) {\n\t\n\t'use strict';\n\t\n\treturn {\n\t\ttemplateUrl: 'pi-mf-attachment-manager',\n\t\trestrict: 'E',\n\t\treplace: true,\n\t\tscope: {\n\t\t\ttable: \"=\",\n\t\t\tsysId: \"=\",\n\t\t\tomitEdit: \"=\"\n\t\t},\n\t\tlink: function(scope, elem, attr) {\n\t\t\ti18n.getMessages(['Attachment',\n\t\t\t\t\t\t\t  'Enable edit mode on attachments',\n\t\t\t\t\t\t\t  'Finish editing attachments',\n\t\t\t\t\t\t\t  'Edit',\n\t\t\t\t\t\t\t  'Done',\n\t\t\t\t\t\t\t  'Attachments',\n\t\t\t\t\t\t\t  'Delete'], function(msgArr){\n\t\t\t\tscope.translations = msgArr;\n\t\t\t});\n\t\t},\n\t\tcontroller: function($scope, snAttachmentHandler) {\n\t\t\tvar cacheMap = {};\n\t\t\t\n\t\t\t$scope.attachments = [];\n\t\t\t$scope.translations = [];\n\t\t\tvar attachmentHandler;\n\n\t\t\tfunction initializeAttachmentHandler() {\n\t\t\t\t\n\t\t\t\t$scope.editMode = false;\n\t\t\t\t\n\t\t\t\tvar key = $scope.table + '.' + $scope.sysId;\n\t\t\t\t\n\t\t\t\tvar cached = cacheMap[key];\n\t\t\t\t\n\t\t\t\tif(cached) {\n\t\t\t\t\tattachmentHandler = cached.handler;\n\t\t\t\t\t$scope.attachments = cached.attachments;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tattachmentHandler = snAttachmentHandler.create($scope.table, $scope.sysId);\n\t\t\t\t\n\t\t\t\tattachmentHandler.getAttachments().then(function(response) {\n\t\t\t\t\t$scope.attachments = response;\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tcacheMap[key] = {\n\t\t\t\t\thandler: attachmentHandler,\n\t\t\t\t\tattachments: $scope.attachments\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$scope.getAttachmentURL = function(attachment) {\n\t\t\t\treturn (attachment.isImage) ? attachment.sys_id + \".iix\" : snAttachmentHandler.getViewUrl(attachment.sys_id);\n\t\t\t};\n\n\t\t\t$scope.removeAttachment = function(e, attachment) {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\n\t\t\t\tattachmentHandler.deleteAttachment(attachment).then(function() {\n\t\t\t\t\tif ($scope.attachments.length === 0)\n\t\t\t\t\t\t$scope.editMode = false;\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t$scope.$watch(\"sysId\", initializeAttachmentHandler);\n\n\t\t\t$scope.$on(\"sp.attachments.update\", function(e, recordID) {\n\t\t\t\tif (recordID !== $scope.sysId)\n\t\t\t\t\treturn;\n\n\t\t\t\tattachmentHandler.getAttachments().then(function(response) {\n\t\t\t\t\t$scope.attachments = response;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tvar extIconMap = {\n\t\t\t\t'ppt': 'fa-file-powerpoint-o',\n\t\t\t\t'pptx': 'fa-file-powerpoint-o',\n\t\t\t\t'doc': 'fa-file-word-o',\n\t\t\t\t'docx': 'fa-file-word-o',\n\t\t\t\t'xls': 'fa-file-excel-o',\n\t\t\t\t'xlsx': 'fa-file-excel-o'\n\t\t\t};\n\n\t\t\tvar fileIconMap = {\n\t\t\t\t'image/jpeg': 'fa-file-image-o',\n\t\t\t\t'image/pjpeg': 'fa-file-image-o',\n\t\t\t\t'image/tiff': 'fa-file-image-o',\n\t\t\t\t'image/png': 'fa-file-image-o',\n\t\t\t\t'image/gif': 'fa-file-image-o',\n\t\t\t\t'application/zip': 'fa-file-archive-o',\n\t\t\t\t'application/x-compressed': 'fa-file-archive-o',\n\t\t\t\t'application/x-zip-compressed': 'fa-file-archive-o',\n\t\t\t\t'application/pdf': 'fa-file-pdf-o',\n\t\t\t\t'application/vnd.openxmlformats-officedoc': 'fa-file-word-o',\n\t\t\t\t'application/msword': 'fa-file-word-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'fa-file-word-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.template': 'fa-file-word-o',\n\t\t\t\t'application/excel': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.ms-excel': 'fa-file-excel-o',\n\t\t\t\t'application/x-excel': 'fa-file-excel-o',\n\t\t\t\t'application/x-msexcel': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.template': 'fa-file-excel-o',\n\t\t\t\t'application/powerpoint': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.ms-powerpoint': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.template': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.slideshow': 'fa-file-powerpoint-o'\n\t\t\t};\n\n\t\t\t$scope.getIcon = function(contentType, ext) {\n\t\t\t\treturn extIconMap[ext] || fileIconMap[contentType] || \"fa-file-o\";\n\t\t\t};\n\n\t\t\tinitializeAttachmentHandler();\n\t\t}\n\t};\n}"
  },
  {
    "path": "pe-multiform/angular-provider/pe-multiform-directive-piMfButtonUpload.u-client-script.js",
    "content": "function piMfButtonUpload ($document, PiMfUpload, $window) {\n\t\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** Create an input element */\n\t\tvar fileInput = $window.angular.element('<input/>');\n\t\tfileInput.attr('type', 'file');\n\t\tfileInput.attr('multiple', '');\n\n\t\t/** when clicking the DOM element this directive is attached to... */\n\t\telem.on('click', function () {\n\t\t\t/** ... click the input element */\n\t\t\tfileInput.click();\n\t\t});\n\n\t\t/** When a file is selected */\n\t\tfileInput.on('change', function (event) {\n\n\t\t\t/** Upload the file */\n\t\t\tPiMfUpload.upload(fileInput[0].files).then(function (data) {\n\t\t\t\tscope.$broadcast('sp.attachments.update', data.config.params.sys_id);\n\t\t\t});\n\t\t});\n\t}\n}"
  },
  {
    "path": "pe-multiform/angular-provider/pe-multiform-directive-piMfDragDropUpload.u-client-script.js",
    "content": "function piMfDragDropUpload($http, $document, PiMfUpload) {\n\t\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** Grab the \"upload mask\" element */\n\t\tvar mask = elem.find('.pimf-drag-drop-mask');\n\n\t\t/** Stop the default behaviour of dragging */\n\t\telem.on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t});\n\n\t\t/** When a file is dragged over, show the \"upload mask\" */\n\t\telem.on('dragover dragenter', function (e) {\n\t\t\telem.addClass('is-dragover');\n\t\t});\n\n\t\t/** Hide the \"upload mask\" when the dragging stops, file is dropped, or mouse leaves */\n\t\tmask.on('dragleave dragend drop', function (e) {\n\t\t\telem.removeClass('is-dragover');\n\t\t});\n\n\t\t/** When a file/files are dropped... */\n\t\tmask.on('drop', function (e) {\n\t\t\t\n\t\t\t/** ... get the files... */\n\t\t\tvar files = e.originalEvent.dataTransfer.files;\n\n\t\t\t/** ... and upload them */\n\t\t\tPiMfUpload.upload(files).then(function (data) {\n\t\t\t\tscope.$broadcast('sp.attachments.update', data.config.params.sys_id);\n\t\t\t});\n\t\t});\n\t}\n}"
  },
  {
    "path": "pe-multiform/angular-provider/pe-multiform-directive-piMultiForm.u-client-script.js",
    "content": "function piMultiForm(PiMfManager, spUtil) {\n\t\n\t'use strict';\n\n\treturn {\n\t\tcontroller: piMultiFormCtrl\n\t};\n\n\tfunction piMultiFormCtrl($scope, PiMfManager) {\n\n\t\t/** We will use this to show only the selected container's fields */\n\t\t$scope.getSelectedContainer = PiMfManager.getSelectedContainer;\n\t}\n}"
  },
  {
    "path": "pe-multiform/angular-template/pe-multiform-pi-mf-attachment-manager.u-body-html-template.html",
    "content": "<ul>\n  <li class=\"attached-file\" ng-repeat=\"attachment in attachments\">\n    <a ng-href=\"{{getAttachmentURL(attachment)}}\" target=\"_blank\">\n      <span class=\"fa {{getIcon(attachment.content_type, attachment.ext)}}\"></span>\n      {{attachment.file_name}}</a>\n  </li>\n</ul>"
  },
  {
    "path": "pe-multiform/angular-template/pe-multiform-pi-mf-child-item.u-body-html-template.html",
    "content": "<div ng-switch=\"child.type\">\n  \n  \n\t<!-- Child is a widget -->\n  <div ng-switch-when=\"ChildWidget\">\n    <sp-widget widget=\"child.widget\"></sp-widget>\n  </div>\n  \n  <!-- Child is a form -->\n  <div ng-switch-when=\"ChildForm\" class=\"pi-mf-forms\">\n    \n    <div class=\"pi-mff-title\">{{::child.title}}</div>\n\n    <div class=\"pi-mff-description\" ng-bind-html=\"::child.description\"></div>\n    \n    <div class=\"pi-mff-requirements\" ng-if=\"::child.minChildRecords || child.maxChildRecords\">\n      <ul>\n        <li ng-if=\"::child.minChildRecords\">A minimum of <strong>{{::child.minChildRecords}}</strong> record(s) are required</li>\n        <li ng-if=\"::child.maxChildRecords\">A maximum of <strong>{{::child.maxChildRecords}}</strong> record(s) are allowed</li>\n      </ul>\n    </div>\n    \n    <!-- Give the child form model to the form manager -->\n    <div ng-repeat=\"formModel in child.formModels\" class=\"pi-mf-form\">\n\n      <div class=\"pi-mff-header\" ng-click=\"toggle(child, $index)\">\n        <span class=\"pi-mf-mandatory mandatory\" style=\"font-weight: bold;\"\n              ng-if=\"c.childHasMandatory(child.sysId, $index)\"\n              ng-class=\"{'mandatory-filled': c.isChildCompleted(child.sysId, $index)}\">*</span>{{::formModel.label}} {{$index + 1}}\n        <i class=\"fa\" aria-hidden=\"true\" ng-class=\"toggleIcon(isExpanded(child, $index))\"></i>\n      </div>\n      \n      <!-- Capture  -->\n      <div ng-show=\"isExpanded(child, $index)\"\n           class=\"pi-mff-container container-fluid\"\n           pi-mf-capture\n           pi-mfc-child=\"{{::child.sysId}}\"\n           pi-mfc-min=\"{{::child.minChildRecords}}\"\n           pi-mfc-max=\"{{::child.maxChildRecords}}\"\n           pi-mfc-child=\"{{::child.sysId}}\"\n           pi-mfc-index=\"{{::$index}}\">\n          <sp-model class=\"pi-mff-body\"\n                    form-model=\"formModel\"\n                    mandatory=\"true\"></sp-model>\n      </div>\n      \n    </div>\n\n    <div class=\"pi-mff-actions\">\n      <button ng-click=\"c.add(child)\"\n              ng-if=\"c.canAdd(child)\">New {{::child.label}}</button>\n    </div>\n\n  </div>\n\n</div>"
  },
  {
    "path": "pe-multiform/angular-template/pe-multiform-pi-multiform.u-body-html-template.html",
    "content": "<div pi-multi-form>\n  \n  <fieldset class=\"pi-mf-section\">\n    \n    <div ng-repeat=\"container in getSelectedContainer()\" class=\"pi-mf-container\">\n      \n      <div class=\"pi-mfc-body container-fluid\">\n        <sp-variable-layout ng-init=\"containers=[container]\"></sp-variable-layout>\n      </div>\n      \n    </div>\n    \n  </fieldset>\n  \n  <div ng-init=\"execItemScripts()\"></div>\n  \n</div>"
  },
  {
    "path": "pe-multiform/pe-multiform.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-05-28 04:18:40\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<application_name>Multiform</application_name>\n<application_scope>x_pisn_multiform</application_scope>\n<application_version>1.0.1</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Form widget that separates each section of the form onto sequential, numbered screens for improved UX.  Also, drag-drop upload, and embedded forms and widgets.</description>\n<inserted/>\n<name>Multiform</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>fd758e5edb525300687c26b38a961965</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_83eda476db06d340d19b468b3a961926</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PiMfLib\">85003598dbb55700b85e8a8b3a9619b8</sp_dependency><sp_js_include display_value=\"Service.PiMfManager\">30dd2476db06d340d19b468b3a9619dc</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-17 00:54:30</sys_created_on><sys_id>83eda476db06d340d19b468b3a961926</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PiMultiForm.Service.PiMfManager</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_83eda476db06d340d19b468b3a961926</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-17 00:54:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1121103495</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961983</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5899c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMultiForm.Service.PiMfManager</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_cb7a821fdb29d300d19b468b3a961959</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Multiform test - Container 1</name><order>1</order><sp_page display_value=\"x_mf_test\">077a821fdb29d300d19b468b3a961957</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:24:29</sys_created_on><sys_id>cb7a821fdb29d300d19b468b3a961959</sys_id><sys_mod_count>6</sys_mod_count><sys_name>Multiform test - Container 1</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sp_container_cb7a821fdb29d300d19b468b3a961959</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-21 05:34:03</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>-1936212338</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961986</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c7d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform test - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_pisn_multiform_child_align_self</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"align_self\" table=\"x_pisn_multiform_child\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>align_self</element><hint/><inactive>false</inactive><label>baseline</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:20:29</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ed12cf4fdbc2130031132fb748961909</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:20:47</sys_updated_on><value>baseline</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>align_self</element><hint/><inactive>false</inactive><label>center</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:20:32</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>fb12c38fdbc2130031132fb748961942</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:20:43</sys_updated_on><value>center</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>align_self</element><hint/><inactive>false</inactive><label>flex-end</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:20:36</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>2822838fdbc2130031132fb748961931</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:20:39</sys_updated_on><value>flex-end</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>align_self</element><hint/><inactive>false</inactive><label>flex-start</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:20:50</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>3922438fdbc2130031132fb74896197d</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:20:55</sys_updated_on><value>flex-start</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>align_self</element><hint/><inactive>false</inactive><label>stretch</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:20:57</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c132438fdbc2130031132fb748961938</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:21:02</sys_updated_on><value>stretch</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>align_self</element><name>x_pisn_multiform_child</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:20:29</sys_created_on><sys_id>1d73b992db525300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>align_self</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_choice_x_pisn_multiform_child_align_self</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:20:29</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>-338662559</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585dd0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Align self</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_max_child_records</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"max_child_records\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Max child records&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;max_child_records&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-22 06:50:58&lt;/sys_created_on&gt;&lt;sys_id&gt;ef633992db525300687c26b38a961913&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Max child records&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_max_child_records&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-864701824</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58dc90000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Max child records</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" extends=\"sp_instance\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-24 00:28:27&lt;/sys_created_on&gt;&lt;sys_id&gt;7b633992db525300687c26b38a961933&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform_sp_instance&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_NULL&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-631088816</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589620000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_section_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"form_section\" label=\"Form section\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>form_section</element><help/><hint/><label>Form section</label><language>en</language><name>x_pisn_multiform_child</name><plural>Form sections</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:07:47</sys_created_on><sys_id>3d3f3acbdbc2130031132fb7489619f3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Form section</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_section_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:07:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-535812922</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586f30000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Form section</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance_table_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"table\" label=\"Table\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>table</element><help/><hint/><label>Table</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Tables</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:31</sys_created_on><sys_id>8715dfd3dbe9d300d19b468b3a96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Table</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance_table_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:31</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-784512768</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589b60000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Table</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_99f57b61db391b00d19b468b3a96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-01 08:00:22</sys_created_on><sys_id>99f57b61db391b00d19b468b3a96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_99f57b61db391b00d19b468b3a96193d</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-01 08:00:22</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-384280133</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58aab0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_1f15dfd3dbe9d300d19b468b3a961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_sp_instance</description><name>x_pisn_multiform_sp_instance</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>1f15dfd3dbe9d300d19b468b3a961949</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_1f15dfd3dbe9d300d19b468b3a961949</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1225647302</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585ef0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_31fd368bdbc2130031132fb748961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>31fd368bdbc2130031132fb748961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_widget\">75fd3ec7dbc2130031132fb7489619de</sys_security_acl><sys_update_name>sys_security_acl_role_31fd368bdbc2130031132fb748961986</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-621959079</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586aa0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_94755717dbe9d300d19b468b3a961921</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"94755717dbe9d300d19b468b3a961921\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\"><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>18755717dbe9d300d19b468b3a961927</sys_id><sys_mod_count>0</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">94755717dbe9d300d19b468b3a961921</sys_ui_form><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">50755717dbe9d300d19b468b3a961926</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:51:58</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>1</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:30:22</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>28640743db06130031132fb74896190b</sys_id><sys_mod_count>1</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">94755717dbe9d300d19b468b3a961921</sys_ui_form><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">ac640743db06130031132fb748961908</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:33:52</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>2</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:28:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>93044343db06130031132fb748961922</sys_id><sys_mod_count>2</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">94755717dbe9d300d19b468b3a961921</sys_ui_form><sys_ui_section caption=\"Instructions\" display_value=\"Instructions\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">97040343db06130031132fb7489619bc</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:30:22</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>3</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>94755717dbe9d300d19b468b3a96192a</sys_id><sys_mod_count>3</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">94755717dbe9d300d19b468b3a961921</sys_ui_form><sys_ui_section caption=\"Presentation\" display_value=\"Presentation\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">1c755717dbe9d300d19b468b3a961927</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:33:52</sys_updated_on></sys_ui_form_section><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>94755717dbe9d300d19b468b3a961921</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_form_sections_94755717dbe9d300d19b468b3a961921</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:51:58</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>-1024526104</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a620000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_fbe95294dbda130031132fb748961972</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_multiform.Module.PiMultiForm&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PiMf = angular.module('PiMultiForm', []);]]&gt;&lt;/script&gt;&lt;script_name&gt;Module.PiMultiForm&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-22 00:37:19&lt;/sys_created_on&gt;&lt;sys_id&gt;fbe95294dbda130031132fb748961972&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform.Module.PiMultiForm&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_fbe95294dbda130031132fb748961972&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 00:37:19&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1911122415</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a9619a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e860000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform.Module.PiMultiForm</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_view_eb01ac06dbb15b00d19b468b3a9619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_view\"><sys_ui_view action=\"INSERT_OR_UPDATE\"><group/><hidden>false</hidden><name>ec2daaf9d7523100a9ad1e173e24d4ea</name><roles/><sys_class_name>sys_ui_view</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-02 05:47:08</sys_created_on><sys_id>eb01ac06dbb15b00d19b468b3a9619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Ec2daaf9d7523100a9ad1e173e24d4ea</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_view_eb01ac06dbb15b00d19b468b3a9619de</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-02 05:47:08</sys_updated_on><title>Ec2daaf9d7523100a9ad1e173e24d4ea</title><user/></sys_ui_view></record_update>]]></payload>\n<payload_hash>-1362469922</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d9b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Ec2daaf9d7523100a9ad1e173e24d4ea</target_name>\n<type>UI View</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>x_pisn_multiform_child_widget_35f5cc78db16d300687c26b38a9619f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"x_pisn_multiform_child_widget\"><x_pisn_multiform_child_widget action=\"INSERT_OR_UPDATE\"><active>true</active><align_self>stretch</align_self><apply_to>entire_form</apply_to><flex_basis>25%</flex_basis><flex_grow>0</flex_grow><flex_shrink>0</flex_shrink><form_section/><location>right</location><order>0</order><parent display_value=\"\">a6e06c06dbb15b00d19b468b3a96198b</parent><sys_class_name>x_pisn_multiform_child_widget</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:08:01</sys_created_on><sys_id>35f5cc78db16d300687c26b38a9619f3</sys_id><sys_mod_count>5</sys_mod_count><sys_name/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>x_pisn_multiform_child_widget_35f5cc78db16d300687c26b38a9619f3</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 06:05:51</sys_updated_on><widget display_value=\"Multiform Child Widget Example\">56154478db16d300687c26b38a961953</widget><widget_options/></x_pisn_multiform_child_widget></record_update>]]></payload>\n<payload_hash>50002421</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>30260a9edb525300687c26b38a9619aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586ba0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name/>\n<type>Child Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_711bc640db92130031132fb748961956</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;piMfUploadService&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function piMfUploadService ($http, $q, $window) {\n\t\n\t'use strict';\n\n\tvar attachmentGuid;\n\tvar tableName;\n\n\tfunction init(table, sysId) {\n\t\tattachmentGuid = sysId;\n\t\ttableName = table;\n\t}\n\n\tfunction upload(files) {\n\n\t\treturn $q(function (success, failure) {\n\n\t\t\tArray.prototype.forEach.call(files, function(file) {\n\n\t\t\t\tvar fd = new $window.FormData();\n\t\t\t\tfd.append('attachments_modified', true);\n\t\t\t\tfd.append('sysparm_table', tableName);\n\t\t\t\tfd.append('sysparm_sys_id', attachmentGuid);\n\t\t\t\tfd.append('sysparm_nostack', 'yes');\n\t\t\t\tfd.append('sysparm_encryption_context', '');\n\t\t\t\tfd.append('sysparm_ck', $window.g_ck);\n\t\t\t\tfd.append('attachFile', file);\n\n\t\t\t\t$http.post('/angular.do', fd, {\n\t\t\t\t\ttransformRequest: $window.angular.identity,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t'sysparm_type': 'ngk_attachments',\n\t\t\t\t\t\t'table': tableName,\n\t\t\t\t\t\t'sys_id': attachmentGuid,\n\t\t\t\t\t\t'action': 'add'\n\t\t\t\t\t},\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-UserToken' : $window.g_ck,\n\t\t\t\t\t\t'Content-Type': undefined\n\t\t\t\t\t}\n\t\t\t\t}).then(function (response) {\n\t\t\t\t\tsuccess(response);\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t});\n\t}\n\n\treturn {\n\t\tupload: upload,\n\t\tinit: init\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-21 04:54:26&lt;/sys_created_on&gt;&lt;sys_id&gt;711bc640db92130031132fb748961956&lt;/sys_id&gt;&lt;sys_mod_count&gt;9&lt;/sys_mod_count&gt;&lt;sys_name&gt;piMfUploadService&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_711bc640db92130031132fb748961956&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 01:03:39&lt;/sys_updated_on&gt;&lt;type&gt;service&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1021492102</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a961985</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5892e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfUploadService</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_4aeace1fdb29d300d19b468b3a9619d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Multiform test - Container 1\">cb7a821fdb29d300d19b468b3a961959</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:26:19</sys_created_on><sys_id>4aeace1fdb29d300d19b468b3a9619d3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sp_row_4aeace1fdb29d300d19b468b3a9619d3</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:26:19</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-667260634</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5875f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_flex_basis</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"flex_basis\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Flex basis&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;auto&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;flex_basis&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;10&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:06:00&lt;/sys_created_on&gt;&lt;sys_id&gt;2b63f592db525300687c26b38a9619fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Flex basis&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_flex_basis&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>429979918</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586730000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Flex basis</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_widget_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" extends=\"x_pisn_multiform_child\" table=\"x_pisn_multiform_child_widget\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_widget&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:02:20&lt;/sys_created_on&gt;&lt;sys_id&gt;f7633992db525300687c26b38a961924&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform_child_widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_widget_NULL&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1380229173</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e3e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_description_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"description\" label=\"Description\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>description</element><help/><hint/><label>Description</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Descriptions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:22:00</sys_created_on><sys_id>4a72878fdbc2130031132fb748961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Description</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_description_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:22:00</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1032806740</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587560000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Description</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance_instructions_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"instructions\" label=\"Please read\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>instructions</element><help/><hint/><label>Please read</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Please reads</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:31:17</sys_created_on><sys_id>57d67ec7db8ed340b85e8a8b3a9619b6</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Please read</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance_instructions_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:38:57</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1597494750</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588180000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Please read</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_41e5a91bdb7ddb00d19b468b3a961953</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-06 08:00:18</sys_created_on><sys_id>41e5a91bdb7ddb00d19b468b3a961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_41e5a91bdb7ddb00d19b468b3a961953</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-06 08:00:18</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-384280133</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5872a0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_bbe2cf06db0e5340b85e8a8b3a96198f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.FormModel&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;FormModel&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var FormModel = Class.create();\n\nFormModel.prototype = {\n\n\tinitialize: function(parm1, sysId, view, parentRef, parentRefDisplay) {\n\t\t\n\t\tif (typeof view === 'undefined') {\n\t\t\t\n\t\t\t// Get a new record, using values from record\n\t\t\t\n\t\t\tvar childId = parm1;\n\t\t\t\n\t\t\tvar gr = new GlideRecord('x_pisn_multiform_child_form');\n\t\t\tgr.get(childId);\n\t\t\t\n\t\t\tthis.tableName = gr.getValue('table');\n\t\t\tthis.sysId = '-1';\n\t\t\tthis.view = gr.getValue('view');\n\t\t\tthis.parentRef = gr.getValue('reference_to_parent');\n\t\t\tthis.parentRefDisplay = gr.getDisplayValue('reference_to_parent');\n\t\t\t\n\t\t\t\n\t\t} else {\n\t\t\t\n\t\t\t// Get an existing record, using values passed in\n\t\t\t\n\t\t\tthis.tableName = parm1;\n\t\t\tthis.sysId = sysId;\n\t\t\tthis.view = view;\n\t\t\tthis.parentRef = parentRef;\n\t\t\tthis.parentRefDisplay = parentRefDisplay;\n\t\t}\n\n\t},\n\n\tgetFormModel: function getFormModel () {\n\n\t\tvar form = $sp.getForm(this.tableName, this.sysId, '', this.view);\n\t\t\n\t\tvar gr = new GlideRecord('sys_dictionary');\n\t\tgr.addQuery('name', this.tableName);\n\t\tgr.addQuery('element', this.parentRef);\n\t\tgr.setLimit(1);\n\t\tgr.query();\n\t\tgr.next();\n\n\t\tform._fields[this.parentRef] = {\n\t\t\t\"sys_mandatory\": false,\n\t\t\t\"visible\": false,\n\t\t\t\"dbType\": 12,\n\t\t\t\"label\": this.parentRefDisplay,\n\t\t\t\"sys_readonly\": false,\n\t\t\t\"type\": \"reference\",\n\t\t\t\"mandatory\": false,\n\t\t\t\"refTable\": gr.getValue('reference'),\n\t\t\t\"reference_type\": \"table\",\n\t\t\t\"displayValue\": \"\",\n\t\t\t\"readonly\": false,\n\t\t\t\"name\": this.parentRef,\n\t\t\t\"attributes\": {},\n\t\t\t\"reference_key\": \"sys_id\",\n\t\t\t\"readonlyClickthrough\": false,\n\t\t\t\"choice\": 0,\n\t\t\t\"value\": \"\",\n\t\t\t\"max_length\": 32,\n\t\t\t\"ed\": {\n\t\t\t\t\"reference\": gr.getValue('reference'),\n\t\t\t\t\"name\": this.parentRef\n\t\t\t},\n\t\t\t\"stagedValue\": \"\"\n\t\t};\n\n\t\tform._view.push({\n\t\t\t\"name\": this.parentRef,\n\t\t\t\"type\": \"field\"\n\t\t});\n\t\t\n\t\treturn form;\n\n\t},\n\n\ttoJSON: function toJSON() {\n\t\treturn this.getFormModel();\n\t},\n\n\ttype: 'FormModel'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 03:50:35&lt;/sys_created_on&gt;&lt;sys_id&gt;bbe2cf06db0e5340b85e8a8b3a96198f&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name&gt;FormModel&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_bbe2cf06db0e5340b85e8a8b3a96198f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-25 06:08:37&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1165578111</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c0f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>FormModel</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_d715dfd3dbe9d300d19b468b3a961951</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_sp_instance</description><name>x_pisn_multiform_sp_instance</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>d715dfd3dbe9d300d19b468b3a961951</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_d715dfd3dbe9d300d19b468b3a961951</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1532483160</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cc50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d3ddb28bdbc2130031132fb7489619ad</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>d3ddb28bdbc2130031132fb7489619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_form\">57ddfe4bdbc2130031132fb748961969</sys_security_acl><sys_update_name>sys_security_acl_role_d3ddb28bdbc2130031132fb7489619ad</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>2051400840</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a9619a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cbd0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_088afe98db1e130031132fb7489619a2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_multiform.Service.PiMfUpload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[PiMf.service('PiMfUpload', function piMfUpload ($http, $q, $window) {\n\t\n\t'use strict';\n\n\tvar attachmentGuid;\n\tvar tableName;\n\t\n\treturn {\n\t\tupload: upload,\n\t\tinit: init\n\t};\n\n\tfunction init(table, sysId) {\n\t\tattachmentGuid = sysId;\n\t\ttableName = table;\n\t}\n\n\tfunction upload(files) {\n\n\t\treturn $q(function (success, failure) {\n\n\t\t\tArray.prototype.forEach.call(files, function(file) {\n\n\t\t\t\tvar fd = new $window.FormData();\n\t\t\t\tfd.append('attachments_modified', true);\n\t\t\t\tfd.append('sysparm_table', tableName);\n\t\t\t\tfd.append('sysparm_sys_id', attachmentGuid);\n\t\t\t\tfd.append('sysparm_nostack', 'yes');\n\t\t\t\tfd.append('sysparm_encryption_context', '');\n\t\t\t\tfd.append('sysparm_ck', $window.g_ck);\n\t\t\t\tfd.append('attachFile', file);\n\n\t\t\t\t$http.post('/angular.do', fd, {\n\t\t\t\t\ttransformRequest: $window.angular.identity,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t'sysparm_type': 'ngk_attachments',\n\t\t\t\t\t\t'table': tableName,\n\t\t\t\t\t\t'sys_id': attachmentGuid,\n\t\t\t\t\t\t'action': 'add'\n\t\t\t\t\t},\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-UserToken' : $window.g_ck,\n\t\t\t\t\t\t'Content-Type': undefined\n\t\t\t\t\t}\n\t\t\t\t}).then(function (response) {\n\t\t\t\t\tsuccess(response);\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t});\n\t}\n});]]&gt;&lt;/script&gt;&lt;script_name&gt;Service.PiMfUpload&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-22 03:00:53&lt;/sys_created_on&gt;&lt;sys_id&gt;088afe98db1e130031132fb7489619a2&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform.Service.PiMfUpload&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_088afe98db1e130031132fb7489619a2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 04:09:14&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>814854531</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a9619a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584660000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform.Service.PiMfUpload</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_ac640743db06130031132fb748961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Behavior\" section_id=\"ac640743db06130031132fb748961908\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>progression_method</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>a07f7f24db16d300687c26b38a9619ae</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">ac640743db06130031132fb748961908</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>247f7f24db16d300687c26b38a9619ae</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">ac640743db06130031132fb748961908</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>success_page</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>a47f7f24db16d300687c26b38a9619ae</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">ac640743db06130031132fb748961908</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Behavior</caption><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:30:21</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ac640743db06130031132fb748961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Behavior</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_ac640743db06130031132fb748961908</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:30:21</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>1862291152</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a9619a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b960000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_67633992db525300687c26b38a96191d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>x_pisn_multiform_child_form</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>67633992db525300687c26b38a96191d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>ua_table_licensing_config_67633992db525300687c26b38a96191d</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>1239026185</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>34260a9edb525300687c26b38a9619a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588b40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform_child_form</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_ac303598dbb55700b85e8a8b3a961948</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PiMfLib\">85003598dbb55700b85e8a8b3a9619b8</sp_dependency><sp_widget display_value=\"Multiform\">52da025fdb29d300d19b468b3a961947</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-27 01:03:33</sys_created_on><sys_id>ac303598dbb55700b85e8a8b3a961948</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PiMultiForm.Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_widget_dependency_ac303598dbb55700b85e8a8b3a961948</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-27 01:03:33</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1029573911</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a961984</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b820000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMultiForm.Multiform</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_1c69982adb8a9340d19b468b3a961908</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pi-mf-child-item&lt;/id&gt;&lt;sp_widget display_value=\"Multiform\"&gt;52da025fdb29d300d19b468b3a961947&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-16 04:46:33&lt;/sys_created_on&gt;&lt;sys_id&gt;1c69982adb8a9340d19b468b3a961908&lt;/sys_id&gt;&lt;sys_mod_count&gt;57&lt;/sys_mod_count&gt;&lt;sys_name&gt;pi-mf-child-item&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_1c69982adb8a9340d19b468b3a961908&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 05:34:22&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-switch=\"child.type\"&gt;\n  \n  \n\t&lt;!-- Child is a widget --&gt;\n  &lt;div ng-switch-when=\"ChildWidget\"&gt;\n    &lt;sp-widget widget=\"child.widget\"&gt;&lt;/sp-widget&gt;\n  &lt;/div&gt;\n  \n  &lt;!-- Child is a form --&gt;\n  &lt;div ng-switch-when=\"ChildForm\" class=\"pi-mf-forms\"&gt;\n    \n    &lt;div class=\"pi-mff-title\"&gt;{{::child.title}}&lt;/div&gt;\n\n    &lt;div class=\"pi-mff-description\" ng-bind-html=\"::child.description\"&gt;&lt;/div&gt;\n    \n    &lt;div class=\"pi-mff-requirements\" ng-if=\"::child.minChildRecords || child.maxChildRecords\"&gt;\n      &lt;ul&gt;\n        &lt;li ng-if=\"::child.minChildRecords\"&gt;A minimum of &lt;strong&gt;{{::child.minChildRecords}}&lt;/strong&gt; record(s) are required&lt;/li&gt;\n        &lt;li ng-if=\"::child.maxChildRecords\"&gt;A maximum of &lt;strong&gt;{{::child.maxChildRecords}}&lt;/strong&gt; record(s) are allowed&lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n    \n    &lt;!-- Give the child form model to the form manager --&gt;\n    &lt;div ng-repeat=\"formModel in child.formModels\" class=\"pi-mf-form\"&gt;\n\n      &lt;div class=\"pi-mff-header\" ng-click=\"toggle(child, $index)\"&gt;\n        &lt;span class=\"pi-mf-mandatory mandatory\" style=\"font-weight: bold;\"\n              ng-if=\"c.childHasMandatory(child.sysId, $index)\"\n              ng-class=\"{'mandatory-filled': c.isChildCompleted(child.sysId, $index)}\"&gt;*&lt;/span&gt;{{::formModel.label}} {{$index + 1}}\n        &lt;i class=\"fa\" aria-hidden=\"true\" ng-class=\"toggleIcon(isExpanded(child, $index))\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n      \n      &lt;!-- Capture  --&gt;\n      &lt;div ng-show=\"isExpanded(child, $index)\"\n           class=\"pi-mff-container container-fluid\"\n           pi-mf-capture\n           pi-mfc-child=\"{{::child.sysId}}\"\n           pi-mfc-min=\"{{::child.minChildRecords}}\"\n           pi-mfc-max=\"{{::child.maxChildRecords}}\"\n           pi-mfc-child=\"{{::child.sysId}}\"\n           pi-mfc-index=\"{{::$index}}\"&gt;\n          &lt;sp-model class=\"pi-mff-body\"\n                    form-model=\"formModel\"\n                    mandatory=\"true\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      \n    &lt;/div&gt;\n\n    &lt;div class=\"pi-mff-actions\"&gt;\n      &lt;button ng-click=\"c.add(child)\"\n              ng-if=\"c.canAdd(child)\"&gt;New {{::child.label}}&lt;/button&gt;\n    &lt;/div&gt;\n\n  &lt;/div&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1179013365</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585af0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>pi-mf-child-item</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_9ded3a0bdbc2130031132fb748961992</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>package_private</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Child Widget</label><live_feed_enabled>false</live_feed_enabled><name>x_pisn_multiform_child_widget</name><number_ref/><provider_class/><read_access>false</read_access><super_class display_value=\"Multiform Child\" name=\"x_pisn_multiform_child\">196dba4bdbc2130031132fb748961948</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>9ded3a0bdbc2130031132fb748961992</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Child Widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_db_object_9ded3a0bdbc2130031132fb748961992</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>false</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-1599385649</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58ae00000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_location</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"location\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;3&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Location&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;bottom&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;location&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:08:19&lt;/sys_created_on&gt;&lt;sys_id&gt;2763f592db525300687c26b38a9619fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Location&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_location&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1986753685</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586490000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Location</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_apply_to_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"apply_to\" label=\"Apply to\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>apply_to</element><help/><hint/><label>Apply to</label><language>en</language><name>x_pisn_multiform_child</name><plural>Apply to</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:04:11</sys_created_on><sys_id>8d6efa8bdbc2130031132fb748961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Apply to</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_apply_to_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:04:11</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1013851071</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a140000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Apply to</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_widget_widget_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"widget\" label=\"Widget\" language=\"en\" table=\"x_pisn_multiform_child_widget\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>widget</element><help/><hint/><label>Widget</label><language>en</language><name>x_pisn_multiform_child_widget</name><plural>Widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:10:55</sys_created_on><sys_id>7fef720fdbc2130031132fb7489619dd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_widget_widget_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:10:55</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1317920088</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589770000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget.Widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_11f57b61db391b00d19b468b3a96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-01 08:00:22</sys_created_on><sys_id>11f57b61db391b00d19b468b3a96193e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_11f57b61db391b00d19b468b3a96193e</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-01 08:00:22</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>115138058</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5852b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_384f9602db8a5340b85e8a8b3a9619d2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.ChildWidget&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;ChildWidget&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var ChildWidget = Class.create();\n\nChildWidget.prototype = Object.extendsObject(Child, {\n\t\n\ttableName: 'x_pisn_multiform_child_widget',\n\t\n\ttoJSON: function toJSON () {\n\t\t\n\t\tvar parentJSON = Child.prototype.toJSON.call(this);\n\t\t\n\t\tvar json = {\n\t\t\twidget: $sp.getWidget(this._gr.getValue('widget'), this._gr.getValue('widget_options'))\n\t\t};\n\t\t\n\t\tObject.keys(parentJSON).forEach(function(key) { json[key] = parentJSON[key]; });\n\t\t\n\t\treturn json;\n\t\t\n\t},\n\n    type: 'ChildWidget'\n});]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 01:14:22&lt;/sys_created_on&gt;&lt;sys_id&gt;384f9602db8a5340b85e8a8b3a9619d2&lt;/sys_id&gt;&lt;sys_mod_count&gt;15&lt;/sys_mod_count&gt;&lt;sys_name&gt;ChildWidget&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_384f9602db8a5340b85e8a8b3a9619d2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-18 07:23:31&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1948369819</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586cd0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>ChildWidget</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_89ad328bdbc2130031132fb74896196d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child</description><name>x_pisn_multiform_child</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>89ad328bdbc2130031132fb74896196d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_89ad328bdbc2130031132fb74896196d</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1054912039</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589bd0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9bddfe4bdbc2130031132fb748961966</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>9bddfe4bdbc2130031132fb748961966</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_form\">dfddfe4bdbc2130031132fb748961963</sys_security_acl><sys_update_name>sys_security_acl_role_9bddfe4bdbc2130031132fb748961966</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-52598430</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58ad60000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_x_pisn_multiform_sp_instance_sys_ref_list</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"2\" view=\"sys_ref_list\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>title</element><list_id display_value=\"x_pisn_multiform_sp_instance\" element=\"NULL\" name=\"x_pisn_multiform_sp_instance\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"dbac3053042113006517fb8f19614783\">f10a51c4db315700d19b468b3a9619ff</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-26 04:48:13</sys_created_on><sys_id>390a91c4db315700d19b468b3a961900</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-26 04:48:13</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>x_pisn_multiform_sp_instance</name><parent/><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-26 04:48:12</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>f10a51c4db315700d19b468b3a9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_list_x_pisn_multiform_sp_instance_sys_ref_list</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-26 04:48:12</sys_updated_on><sys_user/><view display_value=\"Reference List\" name=\"sys_ref_list\">dbac3053042113006517fb8f19614783</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>-248568468</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58dd80000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>sys_ref_list</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_8ccc034bdb06130031132fb7489619a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Form details\" section_id=\"8ccc034bdb06130031132fb7489619a1\" sys_domain=\"global\" table=\"x_pisn_multiform_child_form\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>4d508874db16d300687c26b38a961961</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>table</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>cd508874db16d300687c26b38a961961</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>reference_to_parent</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>41508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>c1508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>view</element><position>4</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>45508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>min_child_records</element><position>5</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>c5508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>max_child_records</element><position>6</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>49508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>7</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>c9508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>description</element><position>8</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:43:09</sys_created_on><sys_id>4d508874db16d300687c26b38a961962</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:43:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Form details</caption><header>false</header><name>x_pisn_multiform_child_form</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:06:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8ccc034bdb06130031132fb7489619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Form details</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_8ccc034bdb06130031132fb7489619a1</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:06:55</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1698428226</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a9619a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589ff0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_b870a482dbb15b00d19b468b3a96197c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Instance of Multiform</answer><button_label/><dependent_value/><element/><name>Instance of Multiform</name><next_question/><order>100</order><payload_name/><question display_value=\"\">55065560db301300d19b468b3a9619d9</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-02 05:44:30</sys_created_on><sys_id>b870a482dbb15b00d19b468b3a96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_b870a482dbb15b00d19b468b3a96197c</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-02 05:44:30</sys_updated_on><table/><target_url>x_pisn_multiform_sp_instance.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>-224130420</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>38260a9edb525300687c26b38a9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58bcf0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Instance of Multiform</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_14227a25db711b00b85e8a8b3a9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"piMfAttachmentManager\">11027a25db711b00b85e8a8b3a96199a</sp_angular_provider><sp_widget display_value=\"Multiform\">52da025fdb29d300d19b468b3a961947</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-01 03:04:02</sys_created_on><sys_id>14227a25db711b00b85e8a8b3a9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>piMfAttachmentManager.Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_14227a25db711b00b85e8a8b3a9619a0</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-01 03:04:02</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-397298235</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a961983</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5854d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfAttachmentManager.Multiform</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_30dd2476db06d340d19b468b3a9619dc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Service.PiMfManager</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-17 00:54:10</sys_created_on><sys_id>30dd2476db06d340d19b468b3a9619dc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service.PiMfManager</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_ui_script display_value=\"x_pisn_multiform.Service.PiMfManager\">8bec6836db06d340d19b468b3a961970</sys_ui_script><sys_update_name>sp_js_include_30dd2476db06d340d19b468b3a9619dc</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-17 00:54:10</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1517926882</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a961986</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586a10000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Service.PiMfManager</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_pisn_multiform_sp_instance_progression_method</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"progression_method\" table=\"x_pisn_multiform_sp_instance\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>progression_method</element><hint/><inactive>false</inactive><label>Full control</label><language>en</language><name>x_pisn_multiform_sp_instance</name><sequence>1</sequence><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:36:38</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>88de7724db16d300687c26b38a96199f</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:38:10</sys_updated_on><value>full</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>progression_method</element><hint/><inactive>false</inactive><label>Visited only</label><language>en</language><name>x_pisn_multiform_sp_instance</name><sequence>2</sequence><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:36:56</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>35de7724db16d300687c26b38a9619a0</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:38:14</sys_updated_on><value>visited_only</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>progression_method</element><hint/><inactive>false</inactive><label>None</label><language>en</language><name>x_pisn_multiform_sp_instance</name><sequence>3</sequence><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:37:17</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>73eef724db16d300687c26b38a96197f</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:38:16</sys_updated_on><value>none</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>progression_method</element><name>x_pisn_multiform_sp_instance</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:36:38</sys_created_on><sys_id>a173b992db525300687c26b38a9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>progression_method</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_choice_x_pisn_multiform_sp_instance_progression_method</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:36:38</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>447099703</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58afe0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Progression method</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_section</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"form_section\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Form section&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;form_section&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_ui_form_section\"&gt;sys_ui_form_section&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:07:47&lt;/sys_created_on&gt;&lt;sys_id&gt;6763f592db525300687c26b38a9619fd&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form section&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_section&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>493055781</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588c50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Form section</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_table</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"table\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;allow_tables=all&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Table&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;table&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;table_name&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;80&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-24 05:50:31&lt;/sys_created_on&gt;&lt;sys_id&gt;3b633992db525300687c26b38a96193a&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_table&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:02&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>343051109</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586e90000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Table</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Child Form\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Child Form</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Child Forms</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>57ddb28bdbc2130031132fb7489619c1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Child Form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form__en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1783651036</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588220000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_embedded_help_role_682c8a9fdb29d300d19b468b3a961965</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_embedded_help_role\"><sys_embedded_help_role action=\"INSERT_OR_UPDATE\"><order>10</order><role/><sys_class_name>sys_embedded_help_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:31:41</sys_created_on><sys_id>682c8a9fdb29d300d19b468b3a961965</sys_id><sys_mod_count>0</sys_mod_count><sys_name>721c8a9fdb29d300d19b468b3a961960</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_embedded_help_role_682c8a9fdb29d300d19b468b3a961965</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:31:41</sys_updated_on></sys_embedded_help_role></record_update>]]></payload>\n<payload_hash>-1517733265</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588cc0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name/>\n<type>Embedded Help Role Priority</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_client_6a08f64bdb8ed340b85e8a8b3a9619b7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_script_client\"&gt;&lt;sys_script_client action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;applies_extended&gt;false&lt;/applies_extended&gt;&lt;condition/&gt;&lt;description/&gt;&lt;field&gt;active&lt;/field&gt;&lt;global&gt;true&lt;/global&gt;&lt;messages/&gt;&lt;name&gt;Hide instructions field in UI16&lt;/name&gt;&lt;order/&gt;&lt;script&gt;&lt;![CDATA[function onLoad() {\n\tg_form.setSectionDisplay('instructions', false);\n\tg_form.setVisible('instructions', false);\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_client&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 05:36:48&lt;/sys_created_on&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;6a08f64bdb8ed340b85e8a8b3a9619b7&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Hide instructions field in UI16&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_client_6a08f64bdb8ed340b85e8a8b3a9619b7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-18 05:40:12&lt;/sys_updated_on&gt;&lt;table&gt;x_pisn_multiform_sp_instance&lt;/table&gt;&lt;type&gt;onLoad&lt;/type&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_script_client&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1871098066</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588d50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Hide instructions field in UI16</target_name>\n<type>Client Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5b15dfd3dbe9d300d19b468b3a96192c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_sp_instance</description><name>x_pisn_multiform_sp_instance</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>5b15dfd3dbe9d300d19b468b3a96192c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_5b15dfd3dbe9d300d19b468b3a96192c</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-2073143606</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588790000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_5bddb28bdbc2130031132fb7489619b7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>5bddb28bdbc2130031132fb7489619b7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_form\">13ddb28bdbc2130031132fb7489619b5</sys_security_acl><sys_update_name>sys_security_acl_role_5bddb28bdbc2130031132fb7489619b7</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>462409061</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588830000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_x_pisn_multiform_child_form_x_pisn_multiform_sp_instance_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"x_pisn_multiform_sp_instance\" relationship=\"\" sys_domain=\"global\" table=\"x_pisn_multiform_child_form\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>apply_to</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>05c1bd09db961f003efe6f048a9619e8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>form_section</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>c9c1bd09db961f003efe6f048a9619e8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>location</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>4dc1bd09db961f003efe6f048a9619e8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>table</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>cdc1bd09db961f003efe6f048a9619e8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>reference_to_parent</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>41c1bd09db961f003efe6f048a9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>view</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>c1c1bd09db961f003efe6f048a9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>max_child_records</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>45c1bd09db961f003efe6f048a9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>min_child_records</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>c5c1bd09db961f003efe6f048a9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>order</element><list_id display_value=\"x_pisn_multiform_child_form\" element=\"NULL\" name=\"x_pisn_multiform_child_form\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">09c1bd09db961f003efe6f048a9619e7</list_id><max_value>false</max_value><min_value>false</min_value><position>8</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_id>49c1bd09db961f003efe6f048a9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>x_pisn_multiform_child_form</name><parent>x_pisn_multiform_sp_instance</parent><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-24 05:37:15</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>09c1bd09db961f003efe6f048a9619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_list_x_pisn_multiform_child_form_x_pisn_multiform_sp_instance_null</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-24 05:37:15</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>-152043565</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5848a0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Instance of Multiform.Child Form</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_14755717dbe9d300d19b468b3a96192c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Presentation\" section_id=\"14755717dbe9d300d19b468b3a96192c\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"sp_instance_config\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>css</element><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:43:45</sys_created_on><sys_id>bdb932cbdb8ed340b85e8a8b3a9619c1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Presentation\" display_value=\"Presentation\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">14755717dbe9d300d19b468b3a96192c</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:43:45</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Presentation</caption><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>14755717dbe9d300d19b468b3a96192c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Presentation</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_14755717dbe9d300d19b468b3a96192c</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:51:58</sys_updated_on><sys_user/><title>false</title><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1227184037</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a9619a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5855e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>sp_instance_config</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_6a6c477ddbb11b00c310468b3a961993</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Instance of Multiform</answer><button_label/><dependent_value/><element/><name>Instance of Multiform</name><next_question/><order>100</order><payload_name/><question display_value=\"\">55065560db301300d19b468b3a9619d9</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-01 23:37:20</sys_created_on><sys_id>6a6c477ddbb11b00c310468b3a961993</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_6a6c477ddbb11b00c310468b3a961993</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-01 23:37:20</sys_updated_on><table/><target_url>x_pisn_multiform_sp_instance.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>-224130420</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>3c260a9edb525300687c26b38a9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588e40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Instance of Multiform</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_20dd208cdbbd1700d19b468b3a96194b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;piMultiForm&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function piMultiForm(PiMfManager, spUtil) {\n\t\n\t'use strict';\n\n\treturn {\n\t\tcontroller: piMultiFormCtrl\n\t};\n\n\tfunction piMultiFormCtrl($scope, PiMfManager) {\n\n\t\t/** We will use this to show only the selected container's fields */\n\t\t$scope.getSelectedContainer = PiMfManager.getSelectedContainer;\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-26 01:35:39&lt;/sys_created_on&gt;&lt;sys_id&gt;20dd208cdbbd1700d19b468b3a96194b&lt;/sys_id&gt;&lt;sys_mod_count&gt;100&lt;/sys_mod_count&gt;&lt;sys_name&gt;piMultiForm&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_20dd208cdbbd1700d19b468b3a96194b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 04:18:55&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-626896555</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a961985</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586090000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMultiForm</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_077a821fdb29d300d19b468b3a961957</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_mf_test</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:24:29</sys_created_on><sys_id>077a821fdb29d300d19b468b3a961957</sys_id><sys_mod_count>3</sys_mod_count><sys_name>x_mf_test</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sp_page_077a821fdb29d300d19b468b3a961957</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-21 06:35:20</sys_updated_on><title>Multiform test</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=077a821fdb29d300d19b468b3a961957\"/></record_update>]]></payload>\n<payload_hash>-204217456</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5845e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_mf_test</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_apply_to</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"apply_to\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;3&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Apply to&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;entire_form&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;apply_to&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:04:11&lt;/sys_created_on&gt;&lt;sys_id&gt;6b63f592db525300687c26b38a9619f9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Apply to&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_apply_to&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1571047260</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588f50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Apply to</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_parent</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"parent\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Parent&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;parent&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"x_pisn_multiform_sp_instance\"&gt;x_pisn_multiform_sp_instance&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:09:18&lt;/sys_created_on&gt;&lt;sys_id&gt;a3633992db525300687c26b38a961900&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Parent&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_parent&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-312105858</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b0d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Parent</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_flex_shrink_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"flex_shrink\" label=\"Flex shrink\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>flex_shrink</element><help/><hint/><label>Flex shrink</label><language>en</language><name>x_pisn_multiform_child</name><plural>Flex shrinks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:07:16</sys_created_on><sys_id>561ff6cbdbc2130031132fb748961918</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Flex shrink</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_flex_shrink_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:07:16</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>632823100</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587f50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Flex shrink</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Multiform Child\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Multiform Child</label><language>en</language><name>x_pisn_multiform_child</name><plural>Multiform Children</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>05ad328bdbc2130031132fb74896199d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Multiform Child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child__en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:26:09</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1442738782</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584340000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_29b28518db8e5f00d19b468b3a9619f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-09 08:00:30</sys_created_on><sys_id>29b28518db8e5f00d19b468b3a9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_29b28518db8e5f00d19b468b3a9619f2</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-09 08:00:30</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-384280133</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586560000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_845caa0edb8a5340b85e8a8b3a9619e3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.Child&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;Child&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var Child = Class.create();\n\nChild.prototype = Object.extendsObject(MfGrObject, {\n\t\n\ttableName: 'x_pisn_multiform_child',\n\t\n\tgetOrder: function getOrder() {\n\t\treturn parseInt(this._gr.getValue('order'));\n\t},\n\t\n\tgetType: function getType() {\n\t\treturn this.type;\n\t},\n\t\n\tgetFlexBasis: function getFlexBasis() {\n\t\treturn this._gr.getValue('flex_basis');\n\t},\n\t\n\tgetFlexGrow: function getFlexGrow() {\n\t\treturn parseInt(this._gr.getValue('flex_grow'));\n\t},\n\t\n\tgetFlexShrink: function getFlexShrink() {\n\t\treturn parseInt(this._gr.getValue('flex_shrink'));\n\t},\n\t\n\ttoJSON: function toJSON() {\n\t\treturn {\n\t\t\torder: this.getOrder(),\n\t\t\ttype: this.getType(),\n\t\t\tsysId: this.getSysId(),\n\t\t\tflexBasis: this.getFlexBasis(),\n\t\t\tflexGrow: this.getFlexGrow(),\n\t\t\tflexShrink: this.getFlexShrink()\n\t\t};\n\t},\n\n    type: 'Child'\n\t\n});]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 02:11:51&lt;/sys_created_on&gt;&lt;sys_id&gt;845caa0edb8a5340b85e8a8b3a9619e3&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;Child&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_845caa0edb8a5340b85e8a8b3a9619e3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-16 04:37:10&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1770385360</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589a40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Child</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_c9ad328bdbc2130031132fb74896198b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child</description><name>x_pisn_multiform_child</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>c9ad328bdbc2130031132fb74896198b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_c9ad328bdbc2130031132fb74896198b</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-641876971</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c750000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_c5ad328bdbc2130031132fb748961993</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>c5ad328bdbc2130031132fb748961993</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child\">8dad328bdbc2130031132fb748961990</sys_security_acl><sys_update_name>sys_security_acl_role_c5ad328bdbc2130031132fb748961993</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-259031759</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a9619a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c310000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_related_x_pisn_multiform_sp_instance_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_related sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"2\" view=\"\"><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"Instance of Multiform - Default view\" name=\"x_pisn_multiform_sp_instance\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">fdef4430db56d300687c26b38a9619a7</list_id><order_by/><position>0</position><related_list>x_pisn_multiform_child_form.parent</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:12</sys_created_on><sys_id>7def4430db56d300687c26b38a9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:12</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"Instance of Multiform - Default view\" name=\"x_pisn_multiform_sp_instance\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">fdef4430db56d300687c26b38a9619a7</list_id><order_by/><position>1</position><related_list>x_pisn_multiform_child_widget.parent</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:12</sys_created_on><sys_id>b5ef4430db56d300687c26b38a9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:12</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list action=\"INSERT_OR_UPDATE\"><calculated_name>Instance of Multiform - Default view</calculated_name><filter/><name>x_pisn_multiform_sp_instance</name><order_by/><position/><related_list/><sys_class_name>sys_ui_related_list</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:12</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>fdef4430db56d300687c26b38a9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Multiform - Default view</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_related_x_pisn_multiform_sp_instance_null</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:12</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_related_list></sys_ui_related></record_update>]]></payload>\n<payload_hash>1973044456</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a9619a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e9d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Related Lists</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_ab6f1a80dbd2130031132fb748961921</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Child details\" section_id=\"ab6f1a80dbd2130031132fb748961921\" sys_domain=\"global\" table=\"x_pisn_multiform_child_widget\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>parent</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_id>4a344438db16d300687c26b38a961992</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>active</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_id>ca344438db16d300687c26b38a961992</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_id>4e344438db16d300687c26b38a961992</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_id>ce344438db16d300687c26b38a961992</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>apply_to</element><position>4</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_id>42344438db16d300687c26b38a961993</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>form_section</element><position>5</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_id>c2344438db16d300687c26b38a961993</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Child details</caption><header>false</header><name>x_pisn_multiform_child_widget</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-21 06:22:50</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ab6f1a80dbd2130031132fb748961921</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Child details</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_ab6f1a80dbd2130031132fb748961921</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:08</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-407016411</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a9619a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b740000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_67633992db525300687c26b38a961905</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>x_pisn_multiform_child</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:55</sys_created_on><sys_id>67633992db525300687c26b38a961905</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>ua_table_licensing_config_67633992db525300687c26b38a961905</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:55</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-1453070427</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>70260a9edb525300687c26b38a9619a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588a30000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform_child</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_134e47d4db5e130031132fb748961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PiMfLib\">85003598dbb55700b85e8a8b3a9619b8</sp_dependency><sp_js_include display_value=\"Directive.piMfCapture\">d37d2076db06d340d19b468b3a9619da</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 04:26:06</sys_created_on><sys_id>134e47d4db5e130031132fb748961919</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PiMfLib.Directive.piMfCapture</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_134e47d4db5e130031132fb748961919</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 04:26:14</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1062911542</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585340000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMfLib.Directive.piMfCapture</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_d8c56dc0db12130031132fb748961950</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"piMfDragDropUpload\">81b52dc0db12130031132fb7489619fc</sp_angular_provider><sp_widget display_value=\"Multiform\">52da025fdb29d300d19b468b3a961947</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-21 02:10:51</sys_created_on><sys_id>d8c56dc0db12130031132fb748961950</sys_id><sys_mod_count>0</sys_mod_count><sys_name>piMfDragDropUpload.Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_d8c56dc0db12130031132fb748961950</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-21 02:10:51</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>271373696</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961984</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cf60000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfDragDropUpload.Multiform</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_e8dab2d8db1e130031132fb7489619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Service.PiMfUpload</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 03:01:25</sys_created_on><sys_id>e8dab2d8db1e130031132fb7489619db</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service.PiMfUpload</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_ui_script display_value=\"x_pisn_multiform.Service.PiMfUpload\">088afe98db1e130031132fb7489619a2</sys_ui_script><sys_update_name>sp_js_include_e8dab2d8db1e130031132fb7489619db</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 03:01:25</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1025171078</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d4e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Service.PiMfUpload</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_8d2bc65fdb29d300d19b468b3a96193c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Instance of Multiform</label><live_feed_enabled>false</live_feed_enabled><name>x_pisn_multiform_sp_instance</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">1f70819b04a113006517fb8f1961476e</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:28:26</sys_created_on><sys_id>8d2bc65fdb29d300d19b468b3a96193c</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Instance of Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_db_object_8d2bc65fdb29d300d19b468b3a96193c</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-1896301407</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a0c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_view</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"view\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;View&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;view&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_ui_view\"&gt;sys_ui_view&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:23:11&lt;/sys_created_on&gt;&lt;sys_id&gt;ab633992db525300687c26b38a961918&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;View&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_view&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1608688020</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b550000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.View</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_align_self_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"align_self\" label=\"Align self\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>align_self</element><help/><hint/><label>Align self</label><language>en</language><name>x_pisn_multiform_child</name><plural>Align selfs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:03:45</sys_created_on><sys_id>f64ef64bdbc2130031132fb74896194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Align self</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_align_self_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:03:45</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>548401350</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e010000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Align self</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_parent_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"parent\" label=\"Parent\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>parent</element><help/><hint/><label>Parent</label><language>en</language><name>x_pisn_multiform_child</name><plural>Parents</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:09:18</sys_created_on><sys_id>009f7ecbdbc2130031132fb7489619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Parent</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_parent_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:09:18</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>632470922</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f583fe0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Parent</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_0de5a91bdb7ddb00d19b468b3a961954</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-06 08:00:18</sys_created_on><sys_id>0de5a91bdb7ddb00d19b468b3a961954</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_0de5a91bdb7ddb00d19b468b3a961954</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-06 08:00:18</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1521947102</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584db0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_2c615ee9db351b00d19b468b3a961980</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.MFHelper&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;MFHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var MFHelper = Class.create();\n\nMFHelper.prototype = {\n\t\n    initialize: function() {\n    },\n\t\n\t\n\n    type: 'MFHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-01 00:41:26&lt;/sys_created_on&gt;&lt;sys_id&gt;2c615ee9db351b00d19b468b3a961980&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;MFHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_2c615ee9db351b00d19b468b3a961980&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-01 00:41:26&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2087139722</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5867b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>MFHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_75fd3ec7dbc2130031132fb7489619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_widget</description><name>x_pisn_multiform_child_widget</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>75fd3ec7dbc2130031132fb7489619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_75fd3ec7dbc2130031132fb7489619de</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1567109678</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589460000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9b15dfd3dbe9d300d19b468b3a96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>9b15dfd3dbe9d300d19b468b3a96194d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_sp_instance\">1f15dfd3dbe9d300d19b468b3a961949</sys_security_acl><sys_update_name>sys_security_acl_role_9b15dfd3dbe9d300d19b468b3a96194d</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1341239078</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58ace0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_x_pisn_multiform_child_x_pisn_multiform_sp_instance_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"x_pisn_multiform_sp_instance\" relationship=\"\" sys_domain=\"global\" table=\"x_pisn_multiform_child\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sys_class_name</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>9bdfc030db56d300687c26b38a961963</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>apply_to</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>1fdfc030db56d300687c26b38a961963</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>align_self</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>9fdfc030db56d300687c26b38a961963</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>flex_basis</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>13dfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>flex_grow</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>93dfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>flex_shrink</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>17dfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>form_section</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>97dfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>location</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>1bdfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>order</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>8</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>9bdfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>parent</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">17dfc030db56d300687c26b38a961963</list_id><max_value>false</max_value><min_value>false</min_value><position>9</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_id>1fdfc030db56d300687c26b38a961964</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>x_pisn_multiform_child</name><parent>x_pisn_multiform_sp_instance</parent><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:51:01</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>17dfc030db56d300687c26b38a961963</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_list_x_pisn_multiform_child_x_pisn_multiform_sp_instance_null</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:51:01</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>-604044962</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5858d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Instance of Multiform.Multiform Child</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_5892c0f4db16d300687c26b38a9619e3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Display\" section_id=\"5892c0f4db16d300687c26b38a9619e3\" sys_domain=\"global\" table=\"x_pisn_multiform_child_form\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>9bd2c4f4db16d300687c26b38a96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><text>Flexbox settings</text><type display_value=\"Line Separator\">a93fc8e00f530000b12e6903cfe012e6</type></sys_ui_annotation><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>9fd2c4f4db16d300687c26b38a96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><text>These display settings are based on the Flexbox Layout CSS module. For information on how to use these settings, please see https://css-tricks.com/snippets/css/a-guide-to-flexbox</text><type display_value=\"Section Details\">19756e5ec3313000bac1addbdfba8f18</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>location</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>53d2c4f4db16d300687c26b38a9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>9bd2c4f4db16d300687c26b38a9619ac</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>1fd2c4f4db16d300687c26b38a9619ac</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>9bd2c4f4db16d300687c26b38a96199f</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>9fd2c4f4db16d300687c26b38a9619ac</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>4</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>13d2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>align_self</element><position>5</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>93d2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>order</element><position>6</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>17d2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>7</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>97d2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_grow</element><position>8</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>1bd2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_shrink</element><position>9</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>9bd2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_basis</element><position>10</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>1fd2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>11</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>9fd2c4f4db16d300687c26b38a9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>9fd2c4f4db16d300687c26b38a96199f</element><position>12</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:54:13</sys_created_on><sys_id>13d2c4f4db16d300687c26b38a9619ae</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:54:13</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Display</caption><header>false</header><name>x_pisn_multiform_child_form</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:52:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>5892c0f4db16d300687c26b38a9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Display</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_5892c0f4db16d300687c26b38a9619e3</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:52:55</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-2071974901</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a9619a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588680000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_92ca5720dbd2d300687c26b38a961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Child Widget</answer><button_label/><dependent_value/><element/><name>Child Widget</name><next_question/><order>100</order><payload_name/><question display_value=\"\">54925561db0113008cfb70f08c96190f</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 23:59:07</sys_created_on><sys_id>92ca5720dbd2d300687c26b38a961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Child Widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_92ca5720dbd2d300687c26b38a961904</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 23:59:07</sys_updated_on><table/><target_url>x_pisn_multiform_child_widget.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>1563976742</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>74260a9edb525300687c26b38a9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a3d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Child Widget</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_eb7ad694dbda130031132fb748961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>10</order><sp_dependency display_value=\"PiMultiForm\">920ad294dbda130031132fb7489619fe</sp_dependency><sp_js_include display_value=\"Module.PiMultiForm\">c94a9694dbda130031132fb7489619e1</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 00:39:45</sys_created_on><sys_id>eb7ad694dbda130031132fb748961936</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PiMultiForm.Module.PiMultiForm</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_eb7ad694dbda130031132fb748961936</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:40:15</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1116386203</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a961983</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58db70000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMultiForm.Module.PiMultiForm</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_247a9294dbda130031132fb748961971</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Module.PiMfLib</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 00:39:32</sys_created_on><sys_id>247a9294dbda130031132fb748961971</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Module.PiMfLib</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_ui_script display_value=\"x_pisn_multiform.Module.PiMfLib\">2ab95a14dbda130031132fb748961994</sys_ui_script><sys_update_name>sp_js_include_247a9294dbda130031132fb748961971</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:39:32</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>834627812</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a961986</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586290000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Module.PiMfLib</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_pisn_multiform_sp_instance_apply_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"apply_to\" table=\"x_pisn_multiform_sp_instance\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>apply_to</element><hint/><inactive>false</inactive><label>Entire form</label><language>en</language><name>x_pisn_multiform_sp_instance</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-02 10:49:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c956a5c2dbfd1b00b85e8a8b3a9619c3</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-02 10:50:09</sys_updated_on><value>entire_form</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>apply_to</element><hint/><inactive>false</inactive><label>Single section</label><language>en</language><name>x_pisn_multiform_sp_instance</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-02 10:50:05</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>f25665c2dbfd1b00b85e8a8b3a96192c</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-02 10:50:14</sys_updated_on><value>single_section</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>apply_to</element><name>x_pisn_multiform_sp_instance</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-02 10:49:55</sys_created_on><sys_id>a573b992db525300687c26b38a96199e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>apply_to</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_choice_x_pisn_multiform_sp_instance_apply_to</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-02 10:49:55</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>-1171333748</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b210000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.apply_to</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_reference_to_parent</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"reference_to_parent\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;types=reference&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Reference to parent&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent&gt;table&lt;/dependent&gt;&lt;dependent_on_field&gt;table&lt;/dependent_on_field&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;reference_to_parent&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;field_name&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;80&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 07:18:33&lt;/sys_created_on&gt;&lt;sys_id&gt;6f633992db525300687c26b38a961915&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Reference to parent&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_reference_to_parent&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;true&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>979128324</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589130000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Reference to parent</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_success_page</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"success_page\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Success page&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;success_page&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sp_page\"&gt;sp_page&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key&gt;id&lt;/reference_key&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-02 02:17:07&lt;/sys_created_on&gt;&lt;sys_id&gt;7b633992db525300687c26b38a961939&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Success page&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_success_page&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>73511699</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5896f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Success page</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_view_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"view\" label=\"View\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>view</element><help/><hint/><label>View</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Views</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:23:11</sys_created_on><sys_id>abb20b8fdbc2130031132fb748961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>View</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_view_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:23:11</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1581088234</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b7b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.View</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_embedded_help_role_056b8a5fdb29d300d19b468b3a961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_embedded_help_role\"><sys_embedded_help_role action=\"INSERT_OR_UPDATE\"><order>1000</order><role/><sys_class_name>sys_embedded_help_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:28:26</sys_created_on><sys_id>056b8a5fdb29d300d19b468b3a961939</sys_id><sys_mod_count>0</sys_mod_count><sys_name>416b8a5fdb29d300d19b468b3a961937</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_embedded_help_role_056b8a5fdb29d300d19b468b3a961939</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:28:26</sys_updated_on></sys_embedded_help_role></record_update>]]></payload>\n<payload_hash>-2050555175</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5841d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name/>\n<type>Embedded Help Role Priority</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_edb28518db8e5f00d19b468b3a9619f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-09 08:00:30</sys_created_on><sys_id>edb28518db8e5f00d19b468b3a9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_edb28518db8e5f00d19b468b3a9619f2</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-09 08:00:30</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>115138058</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58dbd0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_57ddfe4bdbc2130031132fb748961969</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_form</description><name>x_pisn_multiform_child_form</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>57ddfe4bdbc2130031132fb748961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_57ddfe4bdbc2130031132fb748961969</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>917440826</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588340000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_5715dfd3dbe9d300d19b468b3a961955</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>5715dfd3dbe9d300d19b468b3a961955</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_sp_instance\">d715dfd3dbe9d300d19b468b3a961951</sys_security_acl><sys_update_name>sys_security_acl_role_5715dfd3dbe9d300d19b468b3a961955</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1246485445</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5880c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_control_embedded_70aa0b87db06130031132fb7489619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_list_control_embedded\"><sys_ui_list_control_embedded action=\"INSERT_OR_UPDATE\"><columns_condition/><empty_condition/><label/><link_condition/><link_roles/><list_edit_ref_qual_tag/><name>x_pisn_multiform_sp_instance</name><new_condition/><new_roles/><omit_columns_if_empty>false</omit_columns_if_empty><omit_if_empty>false</omit_if_empty><omit_links>true</omit_links><related_list>x_pisn_multiform_child.parent</related_list><sys_class_name>sys_ui_list_control_embedded</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:58:14</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>70aa0b87db06130031132fb7489619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_overrides display_value=\"\">global</sys_overrides><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_list_control_embedded_70aa0b87db06130031132fb7489619bf</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:58:14</sys_updated_on></sys_ui_list_control_embedded></record_update>]]></payload>\n<payload_hash>1471125074</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589200000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance</target_name>\n<type>Embedded List Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_0e344438db16d300687c26b38a96195a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Display\" section_id=\"0e344438db16d300687c26b38a96195a\" sys_domain=\"global\" table=\"x_pisn_multiform_child_widget\" version=\"3\" view=\"\"><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>e7740838db16d300687c26b38a96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><text>Flexbox settings</text><type display_value=\"Line Separator\">a93fc8e00f530000b12e6903cfe012e6</type></sys_ui_annotation><sys_ui_annotation action=\"INSERT_OR_UPDATE\"><is_plain_text>false</is_plain_text><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>eb740838db16d300687c26b38a96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><text>These display settings are based on the Flexbox Layout CSS module. For information on how to use these settings, please see https://css-tricks.com/snippets/css/a-guide-to-flexbox</text><type display_value=\"Section Details\">19756e5ec3313000bac1addbdfba8f18</type></sys_ui_annotation><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>location</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>af740838db16d300687c26b38a96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>23740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>a3740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>e7740838db16d300687c26b38a96197c</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>27740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>4</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>a7740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>align_self</element><position>5</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>2b740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>order</element><position>6</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>ab740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>7</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>2f740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_grow</element><position>8</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>af740838db16d300687c26b38a96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_shrink</element><position>9</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>23740838db16d300687c26b38a96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_basis</element><position>10</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>a3740838db16d300687c26b38a96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>11</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>27740838db16d300687c26b38a96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>eb740838db16d300687c26b38a96197c</element><position>12</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>a7740838db16d300687c26b38a96197e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>annotation</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Display</caption><header>false</header><name>x_pisn_multiform_child_widget</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0e344438db16d300687c26b38a96195a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Display</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_0e344438db16d300687c26b38a96195a</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-119887568</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a9619a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585070000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_659b030bdb06130031132fb7489619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>A Form</answer><button_label/><dependent_value/><element/><name>Direct to Child Form</name><next_question/><order>100</order><payload_name/><question display_value=\"Multiform Child\" name=\"Multiform Child\">201b4fc7db06130031132fb748961976</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:02:21</sys_created_on><sys_id>659b030bdb06130031132fb7489619e9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Direct to Child Form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_659b030bdb06130031132fb7489619e9</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:03:48</sys_updated_on><table/><target_url>/x_pisn_multiform_child_form.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>1389099438</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>78260a9edb525300687c26b38a9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f588990000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Direct to Child Form</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_2e2ad294dbda130031132fb748961980</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PiMultiForm\">920ad294dbda130031132fb7489619fe</sp_dependency><sp_js_include display_value=\"Service.PiMfManager\">30dd2476db06d340d19b468b3a9619dc</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 00:38:19</sys_created_on><sys_id>2e2ad294dbda130031132fb748961980</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PiMultiForm.Service.PiMfManager</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_2e2ad294dbda130031132fb748961980</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:38:19</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1073575016</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586850000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMultiForm.Service.PiMfManager</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_4aeace1fdb29d300d19b468b3a9619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">4aeace1fdb29d300d19b468b3a9619d3</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:26:19</sys_created_on><sys_id>4aeace1fdb29d300d19b468b3a9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sp_column_4aeace1fdb29d300d19b468b3a9619d5</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:26:19</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>430071000</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a961985</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5876d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_991a021fdb29d300d19b468b3a9619b4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_model>none</license_model><logo/><menu/><name>Multiform</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking/><scope>x_pisn_multiform</scope><scoped_administration>false</scoped_administration><short_description>Form widget that separates each section of the form onto sequential, numbered screens for improved UX.  Also, drag-drop upload, and embedded forms and widgets.</short_description><source>x_pisn_multiform</source><store_correlation_id>REPOAPP0000001083</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:22:44</sys_created_on><sys_id>991a021fdb29d300d19b468b3a9619b4</sys_id><sys_mod_count>16</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-25 06:10:20</sys_updated_on><template/><trackable>true</trackable><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><vendor/><vendor_prefix/><version>1.0.1</version></sys_app><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#64ddac</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><file_name>logo</file_name><image_height>783</image_height><image_width>783</image_width><size_bytes>13783</size_bytes><size_compressed>892</size_compressed><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 06:32:48</sys_created_on><sys_id>41e4bcbcdb96d300687c26b38a9619e3</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 06:32:48</sys_updated_on><table_name>ZZ_YYsys_app</table_name><table_sys_id>991a021fdb29d300d19b468b3a9619b4</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"logo\" sys_id=\"41e4bcbcdb96d300687c26b38a9619e3\">41e4bcbcdb96d300687c26b38a9619e3</sys_attachment><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 06:32:48</sys_created_on><sys_id>81e4bcbcdb96d300687c26b38a9619e3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>7dlvSBNxGAfwu3nZdKydzSJM5qmkEYS+0MKY7crVGtlS8w+EbYte5BB0tMBbabtZtBnVlMikIov+orD+EUlZmyUVJKUvTOzvppUoRLtGmalbJ7b99iJ614voGRxjv9/zfHj25V78uGso0KjEsQmxGIaJ1RuURRgWJZm5hNH8yrHXoy/4L9xUpFqLOZ8ljmJYdpNauaaYwT8NdjVUjIgPevONSQYquXHFDfXcwQ5HY1Hn+APRZXGNfv9kZv4LgWhqcYxJkVtTM2/nbpWjNMPPvQvW+SfSg0KSolkMF7hSfK2WwORwmXbvOtZdaFUkvXn1kgjtEkJ5rN2mymyVhn6THcsomVP79i2qkc3pfpja8jwm3FO+gJSUZVRXC8I1DsGQN65nBPU4ebb9xO2VeKjGqsI5n/CjCfWU8Wz/01ensFCN+zzLMIQ/B/W08+zYh0+b2FCNp5CWy+snTqOeEpwzfv3yLS00PuVbSslkXbUa1NPGMh17zHvRX2TiSYlDvzo93GMsoeXl9zrvxUAsEAvEArFALBALxPK3YvH1D4+vDgqIQGDAVYe7LuqaZrbuE9bP+wJe/8bvudNHXds8OsvE48fVwZcniDbWJS+WbI44tWQJhs5ZuZMYmoQPpc2WjoYnEnCu182gyViaD6X/oRRHNUdYpkLfiSajz/KhjHkbItj1tDwrU4vCpwrmdOd99Skj2FRKlrDoKgqfvMIPt4dJiWDjSIn48EDE/MU4V5Arj0Nsr9Bui35UGTE/f69ckZ1BLWQF0Z0XNZwdMT9/r0AsEAvEArFALBALxPL/xlJbkpQbRxm3eSZ1++5o9BZ+XSmqnR6+3don2lpV4tbJSs1idMxs5DPZVWWQIpM/yW0/PmBECzmCoeSR5hXJ4Z5r/KiAAAIIIIAAAggggAACCCCAAAIIIID8CfFdX/XGp1B67rZavk/lBXYEDQfc466p+Ou2JbNdVjNuMbeszG761UKz9AWWscvbL4ZUQtgjstvMW6TocZYy1m57cnProXCPu5NlAAEEEEAAAQQQQH6LuFXvS5tTaE/N7Jsi16RtmprdJZd7MiR9I7cSQ8WYNQfnMnca5qOFCpwj67RP0TuyFikpMTWnoQX7QhIQQAABBBBAAAHkn0OswaiTjxJ/VB64pMD4j3qdRulcq6//CVtYQfPXNQAA</data><length>1176</length><position>1</position><sys_attachment display_value=\"logo\" sys_id=\"41e4bcbcdb96d300687c26b38a9619e3\">41e4bcbcdb96d300687c26b38a9619e3</sys_attachment><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 06:32:48</sys_created_on><sys_id>05e4bcbcdb96d300687c26b38a9619e3</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-1017319380</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f583e70000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_description</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"description\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Description&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;description&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;translated_html&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:22:00&lt;/sys_created_on&gt;&lt;sys_id&gt;23633992db525300687c26b38a961913&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Description&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_description&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>556380200</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586200000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Description</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_instructions</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"instructions\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Please read&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;Please use the \"Open in platform\" link from the hamburger menu on this dialog to configure this widget.&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;instructions&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;translated_html&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;true&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 05:31:17&lt;/sys_created_on&gt;&lt;sys_id&gt;3f633992db525300687c26b38a961936&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Please read&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_instructions&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1422560007</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5871a0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Please read</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_reference_to_parent_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"reference_to_parent\" label=\"Reference to parent\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>reference_to_parent</element><help/><hint/><label>Reference to parent</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Reference to parents</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:18:33</sys_created_on><sys_id>e26f8f0fdb06130031132fb7489619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Reference to parent</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_reference_to_parent_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:18:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1464568556</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d130000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Reference to parent</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance_success_page_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"success_page\" label=\"Success page\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>success_page</element><help/><hint/><label>Success page</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Success pages</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan</sys_created_by><sys_created_on>2018-05-02 02:17:07</sys_created_on><sys_id>4bf0b7b1db351b00c310468b3a9619b7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Success page</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance_success_page_en</sys_update_name><sys_updated_by>dylan</sys_updated_by><sys_updated_on>2018-05-02 02:17:07</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-2002215462</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587750000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Success page</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_8a7f6263db391f00d19b468b3a9619ba</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-07 08:00:15</sys_created_on><sys_id>8a7f6263db391f00d19b468b3a9619ba</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_8a7f6263db391f00d19b468b3a9619ba</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-07 08:00:15</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-384280133</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589c50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_13ddb28bdbc2130031132fb7489619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_form</description><name>x_pisn_multiform_child_form</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>13ddb28bdbc2130031132fb7489619b5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_13ddb28bdbc2130031132fb7489619b5</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>284612560</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585450000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_05ad328bdbc2130031132fb74896198e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>05ad328bdbc2130031132fb74896198e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child\">c9ad328bdbc2130031132fb74896198b</sys_security_acl><sys_update_name>sys_security_acl_role_05ad328bdbc2130031132fb74896198e</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-730652594</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584270000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_0a344438db16d300687c26b38a96195b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"0a344438db16d300687c26b38a96195b\" sys_domain=\"global\" table=\"x_pisn_multiform_child_widget\" version=\"3\"><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>8a344438db16d300687c26b38a96195d</sys_id><sys_mod_count>0</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_child_widget\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0a344438db16d300687c26b38a96195b</sys_ui_form><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">ab6f1a80dbd2130031132fb748961921</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>46344438db16d300687c26b38a96195e</sys_id><sys_mod_count>0</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_child_widget\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0a344438db16d300687c26b38a96195b</sys_ui_form><sys_ui_section caption=\"Widget details\" display_value=\"Widget details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">06344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>86344438db16d300687c26b38a96197a</sys_id><sys_mod_count>0</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_child_widget\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0a344438db16d300687c26b38a96195b</sys_ui_form><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">0e344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on></sys_ui_form_section><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>x_pisn_multiform_child_widget</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0a344438db16d300687c26b38a96195b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_form_sections_0a344438db16d300687c26b38a96195b</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>-1098606174</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a9619a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584a50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_8bec6836db06d340d19b468b3a961970</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_multiform.Service.PiMfManager&lt;/name&gt;&lt;script&gt;&lt;![CDATA[PiMf.service('PiMfManager', function PiMfManager(\n  $q, spUtil, i18n, $location, $rootScope, $timeout) {\n\n  'use strict';\n\n  var master;\n  var containers;\n  var mfData;\n\n  var masterListener;\n  var childListener;\n\n  var children = [];\n  var childrenBySection = {};\n  var screenChangeFuncs = [];\n  var valueChangeFuncs = [];\n  var incompleteFieldNames = [];\n  var invalidMinMax = [];\n\n  var currentScreen = -1;\n  var screenCount = 0;\n  var childForms = 0;\n  var savedForms = 0;\n\n  var failure, success;\n\n  return {\n    init: init,\n    save: save,\n    addChild: addChild,\n    addOnScreenChangeFunc: addOnScreenChangeFunc,\n    addOnValueChangeFunc: addOnValueChangeFunc,\n    nextScreen: nextScreen,\n    prevScreen: prevScreen,\n    goToScreen: goToScreen,\n    isFirst: isFirst,\n    isLast: isLast,\n    isChildCompleted: isChildCompleted,\n    getScreenCount: getScreenCount,\n    getCurrentScreen: getCurrentScreen,\n    getSelectedContainer: getSelectedContainer,\n    getCurrentScreenTitle: getCurrentScreenTitle,\n    getChildrenToShow: getChildrenToShow,\n    childHasMandatory: childHasMandatory,\n    getFormData: getFormData,\n    getMasterPrimaryAction: getMasterPrimaryAction\n  };\n\n\n  /**\n   * INIT &amp; SETTERS\n   */\n\n  /**\n   * Perform initialisation tasks\n   * @param  {Object} masterModel  Form model object of the master form\n   * @param  {Object} masterGForm  GlideForm instance of the master form\n   * @return {undefined}\n   */\n  function init(masterModel, masterGForm, multiFormData) {\n\n    master = {\n      model: masterModel,\n      gForm: masterGForm\n    };\n\n    mfData = multiFormData;\n\n    /**\n     * Reduce the _sections property down to an array of screens. This is \n     * required as for some reason when a form \"split\" is used, it is\n     * considered another section. We need to merge the section created\n     * by this \"split\" into the previous section.\n     */\n\n    var i = 0;\n\n    containers = master.model._sections.reduce(function(acc, cv, idx) {\n\n      /** Create a new container if the section has a caption or is first */\n      if (cv.captionDisplay !== '' &amp;&amp; idx !== 0) {\n        i++;\n      }\n\n      acc = acc || [];\n\n      acc[i] = acc[i] || [];\n      acc[i].push(cv);\n\n      return acc;\n\n    }, false);\n\n    /** @type {Integer}  The number of screens */\n    screenCount = containers.length;\n\n    /** Register onChange event on the form, so we know when the form has changed */\n    master.gForm.$private.events.on('onChange', function(field, x, newVal) {\n      _formChanged(field, newVal, master);\n    });\n\n    goToScreen(0);\n  }\n\n  /**\n   * Add a child form\n   * @param {String} childId            The SysID of the Multiform Child\n   * @param {Integer} i                 The AngularJS ngRepeat $index\n   * @param {Object} formModel          The form model of the form\n   * @param {Object} gFormInstance      The GlideForm of the form\n   * @param {String} referenceToParent  The field on the form which refers to the master\n   */\n  function addChild(childId, i, formModel, gFormInstance, referenceToParent) {\n\n    childForms++;\n\n    childrenBySection[childId] = childrenBySection[childId] || [];\n\n    childrenBySection[childId][i] = {\n      model: formModel,\n      gForm: gFormInstance,\n      referenceToParent: referenceToParent,\n      childId: childId\n    }\n\n    children.push(childrenBySection[childId][i]);\n\n    /** Register onChange event on the form, so we know when the form has changed */\n    childrenBySection[childId][i].gForm.$private.events.on('onChange', function(field, x, newVal) {\n      _formChanged(field, newVal, childrenBySection[childId][i]);\n    });\n  }\n\n  /**\n   * Register a function that will be called when the screen changes\n   * @param {Function} func  The function to register\n   */\n  function addOnScreenChangeFunc(func) {\n    screenChangeFuncs.push(func);\n  }\n\n  /**\n   * Register a function that will be called when a form value changes\n   * @param {Function} func  The function to register\n   */\n  function addOnValueChangeFunc(func) {\n    valueChangeFuncs.push(func);\n  }\n\n\n  /**\n   * GETTERS\n   */\n\n  /**\n   * Get the The form model/GlideForm object for use in child widgets \n   * @return {Object}  The form model/GlideForm object\n   */\n  function getFormData() {\n    return {\n      children: children,\n      master: master\n    };\n  }\n\n  /**\n   * Get the Multiform Children to show for the current screen\n   * @return {Object} Structure containing the children to show\n   */\n  function getChildrenToShow() {\n\n    /** The children for the current screen */\n    var screenChildren = mfData.sections[getSelectedContainer()[0].id];\n\n    return {\n      top: (mfData.global.top || []).concat(screenChildren.top),\n      right: (mfData.global.right || []).concat(screenChildren.right),\n      bottom: (mfData.global.bottom || []).concat(screenChildren.bottom),\n      left: (mfData.global.left || []).concat(screenChildren.left)\n    }\n  }\n\n  /**\n   * Get the container which relates to the current screen\n   * @return {Object}  The container\n   */\n  function getSelectedContainer() {\n    return containers ? containers[getCurrentScreen()] : false;\n  }\n\n  /**\n   * Get the screen number we are on\n   * @return {Integer}  The screen number\n   */\n  function getCurrentScreen() {\n    return currentScreen;\n  }\n\n  /**\n   * Get the total number of screens\n   * @return {Integer} The number of screens\n   */\n  function getScreenCount() {\n    return screenCount;\n  }\n\n  /**\n   * Get the title of the screen we are currently on\n   * @return {String}  The screen title\n   */\n  function getCurrentScreenTitle() {\n    if (containers) {\n      return containers[getCurrentScreen()][0].captionDisplay;\n    }\n  }\n\n  /**\n   * Check if we are on the last screen\n   * @return {Boolean}  Whether we are on the last screen\n   */\n  function isLast() {\n    return currentScreen === screenCount - 1;\n  }\n\n  /**\n   * Check if we are on the first screen\n   * @return {Boolean}  Whether we are on the first screen\n   */\n  function isFirst() {\n    return currentScreen === 0;\n  }\n\n  /**\n   * Check if a child form has all mandatory fields completed\n   * @param  {String}  childId  The SysID of the Multiform Child\n   * @param  {Integer}  index   The AngularJS ngRepeat $index\n   * @return {Boolean}          Whether the form is completed\n   */\n  function isChildCompleted(childId, i) {\n\n    if (childrenBySection[childId]) {\n      return _getIncomplete(childrenBySection[childId][i].gForm).length === 0;\n    }\n\n    return false;\n  }\n\n  /**\n   * Get the primary UI Action for the master form\n   * @return {Object}  The UI Action\n   */\n  function getMasterPrimaryAction() {\n    if (master) {\n      return _getPrimaryAction(master);\n    }\n  }\n\n  /**\n   * Check whether a child form has mandatory fields\n   * @param  {String}  childId  The SysID of the Multiform Child\n   * @param  {Integer}  index   The AngularJS ngRepeat $index\n   * @return {Boolean}          Whether the form has mandatory fields\n   */\n  function childHasMandatory(childId, i) {\n\n    if (childrenBySection[childId] &amp;&amp; childrenBySection[childId][i]) {\n\n      var gFormInstance = childrenBySection[childId][i].gForm;\n\n      var mandatory = [];\n      var fieldNames = gFormInstance.getFieldNames();\n\n      fieldNames.forEach(function(fieldName) {\n        if (gFormInstance.isMandatory(fieldName)) {\n          mandatory.push(fieldName);\n        }\n      });\n\n      return mandatory.length &gt; 0;\n    }\n  }\n\n\n  /**\n   * SCREEN NAVIGATION\n   */\n\n  /**\n   * Progress to the next screen\n   * @return {undefined}\n   */\n  function nextScreen() {\n    currentScreen++;\n    _processScreenChange();\n  }\n\n  /**\n   * Progress to the previous screen\n   * @return {undefined}\n   */\n  function prevScreen() {\n    currentScreen--;\n    _processScreenChange();\n  }\n\n  /**\n   * Progress to a particular screen\n   * @param  {Integer} screen  The screen number to change to\n   * @return {undefined}\n   */\n  function goToScreen(screen) {\n    currentScreen = screen;\n    _processScreenChange();\n  }\n\n  /**\n   * Helper function to perform common actions when the screen changes\n   * @return {undefined}\n   */\n  function _processScreenChange() {\n    screenChangeFuncs.forEach(function(cv) {\n      cv();\n    });\n  }\n\n\n  /**\n   * FORM SAVING\n   */\n\n  /**\n   * Save every form\n   * @return {Promise}  A promise that will be resolved when all forms have saved\n   */\n  function save() {\n\n    incompleteFieldNames = [];\n    invalidMinMax = [];\n    savedForms = 0;\n\n    return $q(function(s, f) {\n\n      success = s;\n      failure = f;\n\n      /**\n       * Check to make sure all the mandatory fields are completed before saving.\n       *\n       * We need to do this because if say there are 5 forms on the page, and 2 of them save,\n       * it could leave us in a bad situation, especially if some of the inserted records were\n       * new records - in that case we would try to save the same new record twice, leading to\n       * a failed save due to a duplicate unique key.\n       */\n\n      /** Check the master form for errors */\n      var masterIncomplete = _getIncomplete(master.gForm);\n      incompleteFieldNames = incompleteFieldNames.concat(masterIncomplete);\n\n      masterIncomplete.forEach(function(fieldName) {\n        _setErrorFieldMessage(fieldName, master.gForm);\n      });\n\n      /** Check children forms for errors */\n      for (var key in childrenBySection) {\n        if (childrenBySection.hasOwnProperty(key)) {\n          childrenBySection[key].forEach(_checkChildIncomplete);\n        }\n      }\n\n      if (incompleteFieldNames.length === 0 &amp;&amp; invalidMinMax.length === 0) {\n        /** No incomplete fields... let's save! */\n\n        master.gForm.submit(_getPrimaryAction(master).action_name);\n        masterListener = $rootScope.$on(\"spModel.uiActionComplete\", _onMasterSaveSuccess);\n\n      } else {\n        /** There were some incomplete fields */\n\n        /** TODO: Might be nice to go to the screen with the first error */\n        goToScreen(0);\n\n        spUtil.addErrorMessage(i18n.getMessage(\"Please complete all mandatory fields before submission\"));\n\n        failure(invalidMinMax, incompleteFieldNames);\n      }\n    });\n  }\n\n  /**\n   * Function to execute when the master form reports back as being saved\n   * @param  {Object} evt      AngularJS $on event object\n   * @param  {Object} response HTTP response back from the server\n   * @return {undefined}\n   */\n  function _onMasterSaveSuccess(evt, response) {\n\n    master.sysId = (response.isInsert) ? response.sys_id : master.gForm.getUniqueValue();\n    masterListener();\n\n    if (childForms &gt; 0) {\n\n      childListener = $rootScope.$on(\"spModel.uiActionComplete\", _onChildSaveSuccess);\n\n      for (var key in childrenBySection) {\n        if (childrenBySection.hasOwnProperty(key)) {\n          childrenBySection[key].forEach(_saveChildForm);\n        }\n      }\n\n    } else {\n      success(master.sysId);\n    }\n  }\n\n  /**\n   * Save a child form\n   * @param  {Object} cv  The model/gform object to save\n   * @return {undefined}\n   */\n  function _saveChildForm(cv) {\n    cv.gForm.setValue(cv.referenceToParent, master.sysId);\n    cv.gForm.submit(_getPrimaryAction(cv).action_name);\n  }\n\n  /**\n   * Function to execute when a child form reports back as being saved\n   * @param  {Object} evt      AngularJS $on event object\n   * @param  {Object} response HTTP response back from the server\n   * @return {undefined}\n   */\n  function _onChildSaveSuccess(evt, response) {\n\n    savedForms++;\n\n    if (savedForms === childForms) {\n      childListener();\n      success(master.sysId);\n    }\n  }\n\n  /**\n   * Check whether a child form has incomplete fields\n   * @param  {Object} cv  The form/gform object of the child\n   * @return {undefined}\n   */\n  function _checkChildIncomplete(cv) {\n\n    var childIncomplete = _getIncomplete(cv.gForm);\n\n    childIncomplete.forEach(function(fieldName) {\n      _setErrorFieldMessage(fieldName, cv.gForm);\n    });\n\n    incompleteFieldNames = incompleteFieldNames.concat(childIncomplete);\n  }\n\n  /**\n   * Set the error field message on a particular form/field\n   * @param {String} fieldName  The name of the field to set the message on\n   */\n  function _setErrorFieldMessage(fieldName, gForm) {\n    gForm.showFieldMsg(fieldName, i18n.getMessage(\"This field must be completed\"), 'error');\n  }\n\n  /**\n   * Make sure all mandatory fields on the gForm supplied are completed\n   * @param gFormInstance\n   * @returns {Array}         an array containing names of incomplete fields\n   */\n  function _getIncomplete(gFormInstance) {\n\n    var incomplete = [];\n    var fieldNames = gFormInstance.getFieldNames();\n\n    fieldNames.forEach(function(fieldName) {\n      if (gFormInstance.isMandatory(fieldName)) {\n        if (!_hasValue(fieldName, gFormInstance)) {\n          incomplete.push(fieldName);\n        }\n      }\n\n    });\n\n    return incomplete;\n  }\n\n  /**\n   * Check whether a particular field on a form has a value\n   * Copied from /scripts/sn/common/clientScript/glideFormFieldFactory.js\n   * @param  {String}  fieldName     The name of the field to check\n   * @param  {Object}  gFormInstance The GlideForm of the form with the field\n   * @return {Boolean}               Whether the field has a value\n   */\n  function _hasValue(fieldName, gFormInstance) {\n\n    var field = gFormInstance.getField(fieldName);\n    var value = gFormInstance.getValue(fieldName);\n\n    switch (field.type) {\n      case 'boolean_confirm':\n        return value === 'true';\n      case 'boolean':\n        return true;\n      case 'currency':\n        var currencyValues = value.split(';');\n        return currencyValues[1] &amp;&amp; currencyValues[1].length;\n    }\n\n    if (value === null) {\n      return false;\n    }\n\n    if (typeof value === 'undefined') {\n      return false;\n    }\n\n    var trimmed = String(value).trim();\n    return trimmed.length &gt; 0;\n  }\n\n  /**\n   * Get the primary UI action from the form model/GlideForm object\n   * @param  {Object} item  The form model/GlideForm object\n   * @return {String}       The action name\n   */\n  function _getPrimaryAction(item) {\n\n    var primaryActions = item.model._ui_actions.filter(function(action) {\n      return action.primary;\n    });\n\n    return (primaryActions.length) ? primaryActions[0] : '';\n  }\n\n  /**\n   * Function to execute when a value on a form changes.\n   * @param  {String} field      The field that changed\n   * @param  {String} newVal     The new value\n   * @param  {Object} modelGForm The form model/GlideForm object containing the field that changed\n   * @return {undefined}\n   */\n  function _formChanged(field, newVal, modelGForm) {\n\n    modelGForm.gForm.hideErrorBox(field);\n\n    valueChangeFuncs.forEach(function(cv) {\n      cv(field, newVal, modelGForm);\n    });\n  }\n});]]&gt;&lt;/script&gt;&lt;script_name&gt;Service.PiMfManager&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-17 00:50:08&lt;/sys_created_on&gt;&lt;sys_id&gt;8bec6836db06d340d19b468b3a961970&lt;/sys_id&gt;&lt;sys_mod_count&gt;140&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform.Service.PiMfManager&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_8bec6836db06d340d19b468b3a961970&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 05:58:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1893570828</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a9619a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589d80000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform.Service.PiMfManager</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_ea683e4bdb8ed340b85e8a8b3a961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Instructions\" section_id=\"ea683e4bdb8ed340b85e8a8b3a961942\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"sp_instance_config\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>instructions</element><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:38:58</sys_created_on><sys_id>3798728bdb8ed340b85e8a8b3a961920</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Instructions\" display_value=\"Instructions\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">ea683e4bdb8ed340b85e8a8b3a961942</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:38:58</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Instructions</caption><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:38:04</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ea683e4bdb8ed340b85e8a8b3a961942</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Instructions</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_ea683e4bdb8ed340b85e8a8b3a961942</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:38:57</sys_updated_on><sys_user/><title>false</title><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1832770202</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a9619a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d850000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>sp_instance_config</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>x_pisn_multiform_child_form_3dad074bdb06130031132fb7489619d3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"x_pisn_multiform_child_form\"&gt;&lt;x_pisn_multiform_child_form action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;align_self&gt;stretch&lt;/align_self&gt;&lt;apply_to&gt;entire_form&lt;/apply_to&gt;&lt;description&gt;&lt;![CDATA[&lt;p&gt;This is an example Child Form, showing that you can give users the opportunity to create related records.&lt;/p&gt;]]&gt;&lt;/description&gt;&lt;flex_basis&gt;100%&lt;/flex_basis&gt;&lt;flex_grow&gt;0&lt;/flex_grow&gt;&lt;flex_shrink&gt;1&lt;/flex_shrink&gt;&lt;form_section/&gt;&lt;location&gt;bottom&lt;/location&gt;&lt;max_child_records&gt;5&lt;/max_child_records&gt;&lt;min_child_records/&gt;&lt;order&gt;0&lt;/order&gt;&lt;parent display_value=\"\"&gt;a6e06c06dbb15b00d19b468b3a96198b&lt;/parent&gt;&lt;reference_to_parent&gt;problem_id&lt;/reference_to_parent&gt;&lt;sys_class_name&gt;x_pisn_multiform_child_form&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 07:11:49&lt;/sys_created_on&gt;&lt;sys_id&gt;3dad074bdb06130031132fb7489619d3&lt;/sys_id&gt;&lt;sys_mod_count&gt;15&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;x_pisn_multiform_child_form_3dad074bdb06130031132fb7489619d3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 06:40:07&lt;/sys_updated_on&gt;&lt;table&gt;incident&lt;/table&gt;&lt;title&gt;Example Child Form&lt;/title&gt;&lt;view display_value=\"Service Portal\" name=\"sp\"&gt;ec2daaf9d7523100a9ad1e173e24d4ea&lt;/view&gt;&lt;/x_pisn_multiform_child_form&gt;&lt;/record_update&gt;</payload>\n<payload_hash>757263887</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>7c260a9edb525300687c26b38a9619a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587060000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>incident</table>\n<target_name/>\n<type>Child Form</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_54e946ccdb52130031132fb748961956</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"piMfButtonUpload\">afc90240db92130031132fb74896198b</sp_angular_provider><sp_widget display_value=\"Multiform\">52da025fdb29d300d19b468b3a961947</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-21 04:48:41</sys_created_on><sys_id>54e946ccdb52130031132fb748961956</sys_id><sys_mod_count>0</sys_mod_count><sys_name>piMfUpload.Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_54e946ccdb52130031132fb748961956</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-21 04:48:41</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1596166085</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a961984</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587cc0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfUpload.Multiform</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_d37d2076db06d340d19b468b3a9619da</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Directive.piMfCapture</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-17 00:53:32</sys_created_on><sys_id>d37d2076db06d340d19b468b3a9619da</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Directive.piMfCapture</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_ui_script display_value=\"x_pisn_multiform.Directive.piMfCapture\">1ffc6836db06d340d19b468b3a96194e</sys_ui_script><sys_update_name>sp_js_include_d37d2076db06d340d19b468b3a9619da</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 04:25:46</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1506830513</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cac0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Directive.piMfCapture</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1ebd7e0bdbc2130031132fb7489619e7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>package_private</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Child Form</label><live_feed_enabled>false</live_feed_enabled><name>x_pisn_multiform_child_form</name><number_ref/><provider_class/><read_access>false</read_access><super_class display_value=\"Multiform Child\" name=\"x_pisn_multiform_child\">196dba4bdbc2130031132fb748961948</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>1ebd7e0bdbc2130031132fb7489619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Child Form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_db_object_1ebd7e0bdbc2130031132fb7489619e7</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>false</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>1735055695</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585e80000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_title</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"title\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Title&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;title&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;translated_text&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:22:20&lt;/sys_created_on&gt;&lt;sys_id&gt;eb633992db525300687c26b38a961917&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Title&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_title&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1410435279</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58da50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Title</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_active_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"active\" label=\"Active\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>active</element><help/><hint/><label>Active</label><language>en</language><name>x_pisn_multiform_child</name><plural>Active</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:03:08</sys_created_on><sys_id>b92ef68bdbc2130031132fb748961964</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Active</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_active_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:03:08</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1574522527</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58bd80000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Active</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_order_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"order\" label=\"Order\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>order</element><help/><hint/><label>Order</label><language>en</language><name>x_pisn_multiform_child</name><plural>Orders</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:08:40</sys_created_on><sys_id>fa6ffacbdbc2130031132fb7489619fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Order</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_order_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:08:40</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1862428042</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e740000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Order</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_027f6263db391f00d19b468b3a9619bb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-07 08:00:15</sys_created_on><sys_id>027f6263db391f00d19b468b3a9619bb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_027f6263db391f00d19b468b3a9619bb</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-07 08:00:15</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>115138058</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5840d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_19cb568edb4a5340b85e8a8b3a961962</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.Multiform&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;Multiform&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var Multiform = Class.create();\n\nMultiform.prototype = Object.extendsObject(MfGrObject, {\n\t\n\ttableName: 'x_pisn_multiform_sp_instance',\n\t\n\tgetGlobal: function getGlobal() {\n\t\treturn new Section(this.getSysId());\n\t},\n\t\n\tgetSections: function getSections() {\n\t\t\n\t\tvar gr = new GlideRecord('sys_ui_section');\n\t\tgr.addQuery('view', this._gr.getValue('view'));\n\t\tgr.addQuery('name', this._gr.getValue('table'));\n\t\tgr.query();\n\t\t\n\t\tvar sections = {};\n\t\t\n\t\twhile (gr.next()) {\n\t\t\tsections[gr.getUniqueValue()] = new Section(this.getSysId(), gr.getUniqueValue());\n\t\t}\n\t\t\n\t\treturn sections;\n\t\t\n\t},\n\t\n\t\n\ttoJSON: function toJSON () {\n\t\treturn {\n\t\t\tglobal: this.getGlobal(),\n\t\t\tsections: this.getSections()\n\t\t};\n\t},\n\n    type: 'Multiform'\n});]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 00:59:16&lt;/sys_created_on&gt;&lt;sys_id&gt;19cb568edb4a5340b85e8a8b3a961962&lt;/sys_id&gt;&lt;sys_mod_count&gt;16&lt;/sys_mod_count&gt;&lt;sys_name&gt;Multiform&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_19cb568edb4a5340b85e8a8b3a961962&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-15 02:33:51&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1770874343</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585a60000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_71fd368bdbc2130031132fb748961993</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_widget</description><name>x_pisn_multiform_child_widget</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>71fd368bdbc2130031132fb748961993</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_71fd368bdbc2130031132fb748961993</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1147714320</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589370000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_97ddb28bdbc2130031132fb7489619b2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>97ddb28bdbc2130031132fb7489619b2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_form\">5fddb28bdbc2130031132fb7489619af</sys_security_acl><sys_update_name>sys_security_acl_role_97ddb28bdbc2130031132fb7489619b2</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-273083546</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a850000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_x_pisn_multiform_child_widget_x_pisn_multiform_sp_instance_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"x_pisn_multiform_sp_instance\" relationship=\"\" sys_domain=\"global\" table=\"x_pisn_multiform_child_widget\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>apply_to</element><list_id display_value=\"x_pisn_multiform_child_widget\" element=\"NULL\" name=\"x_pisn_multiform_child_widget\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">9ab01070db56d300687c26b38a96195b</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:54:46</sys_created_on><sys_id>12b01070db56d300687c26b38a96195c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:54:46</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>form_section</element><list_id display_value=\"x_pisn_multiform_child_widget\" element=\"NULL\" name=\"x_pisn_multiform_child_widget\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">9ab01070db56d300687c26b38a96195b</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:54:46</sys_created_on><sys_id>92b01070db56d300687c26b38a96195c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:54:46</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>location</element><list_id display_value=\"x_pisn_multiform_child_widget\" element=\"NULL\" name=\"x_pisn_multiform_child_widget\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">9ab01070db56d300687c26b38a96195b</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:54:46</sys_created_on><sys_id>16b01070db56d300687c26b38a96195c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:54:46</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>widget</element><list_id display_value=\"x_pisn_multiform_child_widget\" element=\"NULL\" name=\"x_pisn_multiform_child_widget\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">9ab01070db56d300687c26b38a96195b</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:54:46</sys_created_on><sys_id>96b01070db56d300687c26b38a96195c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:54:46</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>order</element><list_id display_value=\"x_pisn_multiform_child_widget\" element=\"NULL\" name=\"x_pisn_multiform_child_widget\" parent=\"x_pisn_multiform_sp_instance\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">9ab01070db56d300687c26b38a96195b</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:54:46</sys_created_on><sys_id>1ab01070db56d300687c26b38a96195c</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:54:46</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>x_pisn_multiform_child_widget</name><parent>x_pisn_multiform_sp_instance</parent><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:54:46</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9ab01070db56d300687c26b38a96195b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_list_x_pisn_multiform_child_widget_x_pisn_multiform_sp_instance_null</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:54:46</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>2043432305</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58ac50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Instance of Multiform.Child Widget</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_50755717dbe9d300d19b468b3a961926</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"50755717dbe9d300d19b468b3a961926\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>table</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>a47f3f24db16d300687c26b38a96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">50755717dbe9d300d19b468b3a961926</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>record</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>e07f7f24db16d300687c26b38a9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">50755717dbe9d300d19b468b3a961926</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>647f7f24db16d300687c26b38a9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">50755717dbe9d300d19b468b3a961926</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>view</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>e47f7f24db16d300687c26b38a9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">50755717dbe9d300d19b468b3a961926</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>roles</element><position>4</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:18</sys_created_on><sys_id>687f7f24db16d300687c26b38a9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">50755717dbe9d300d19b468b3a961926</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:18</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>50755717dbe9d300d19b468b3a961926</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_50755717dbe9d300d19b468b3a961926</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:51:58</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1358833821</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a9619a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587930000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_916b8a5fdb29d300d19b468b3a9619fc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Instance of Multiform</answer><button_label/><dependent_value/><element/><name>Instance of Multiform</name><next_question/><order>100</order><payload_name/><question display_value=\"\">55065560db301300d19b468b3a9619d9</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:28:27</sys_created_on><sys_id>916b8a5fdb29d300d19b468b3a9619fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_916b8a5fdb29d300d19b468b3a9619fc</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:28:27</sys_updated_on><table/><target_url>x_pisn_multiform_sp_instance.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>-224130420</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b0260a9edb525300687c26b38a9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a2b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Instance of Multiform</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d38a5694dbda130031132fb7489619ee</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>10</order><sp_dependency display_value=\"PiMfLib\">85003598dbb55700b85e8a8b3a9619b8</sp_dependency><sp_js_include display_value=\"Module.PiMfLib\">247a9294dbda130031132fb748961971</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 00:40:00</sys_created_on><sys_id>d38a5694dbda130031132fb7489619ee</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PiMfLib.Module.PiMfLib</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d38a5694dbda130031132fb7489619ee</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:40:06</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1917091838</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a961983</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cb30000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMfLib.Module.PiMfLib</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_920ad294dbda130031132fb7489619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>PiMultiForm</module><name>PiMultiForm</name><page_load>true</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 00:37:55</sys_created_on><sys_id>920ad294dbda130031132fb7489619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PiMultiForm</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sp_dependency_920ad294dbda130031132fb7489619fe</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:37:55</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1448088231</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a961986</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a310000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMultiForm</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_pisn_multiform_child_location</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"location\" table=\"x_pisn_multiform_child\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>location</element><hint/><inactive>false</inactive><label>Bottom</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:18:49</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>31a1cb4fdbc2130031132fb74896190e</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:18:53</sys_updated_on><value>bottom</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>location</element><hint/><inactive>false</inactive><label>Left</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:18:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>63b1cf4fdbc2130031132fb748961906</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:19:04</sys_updated_on><value>left</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>location</element><hint/><inactive>false</inactive><label>Right</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:18:59</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>05c1cf4fdbc2130031132fb7489619df</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:19:07</sys_updated_on><value>right</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>location</element><hint/><inactive>false</inactive><label>Top</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:19:01</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>b9c1cf4fdbc2130031132fb748961906</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:19:09</sys_updated_on><value>top</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>location</element><name>x_pisn_multiform_child</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:18:49</sys_created_on><sys_id>a173b992db525300687c26b38a961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>location</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_choice_x_pisn_multiform_child_location</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:18:49</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>-1855163485</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58aee0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Location</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" extends=\"x_pisn_multiform_child\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:01:53&lt;/sys_created_on&gt;&lt;sys_id&gt;6f633992db525300687c26b38a96190f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform_child_form&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_NULL&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-558836853</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589080000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_record</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"record\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Record&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;record&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;document_id&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-24 05:50:31&lt;/sys_created_on&gt;&lt;sys_id&gt;bb633992db525300687c26b38a961938&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Record&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_record&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1816138308</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c040000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Record</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_title_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"title\" label=\"Title\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>title</element><help/><hint/><label>Title</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Titles</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:22:20</sys_created_on><sys_id>0382c78fdbc2130031132fb74896190e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Title</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_title_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:22:20</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-106529324</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584140000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Title</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Instance of Multiform\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Instance of Multiform</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Instance of Multiforms</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:28:27</sys_created_on><sys_id>116b8a5fdb29d300d19b468b3a9619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance__en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:28:27</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1813479120</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585240000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_c5e5a91bdb7ddb00d19b468b3a961953</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-06 08:00:18</sys_created_on><sys_id>c5e5a91bdb7ddb00d19b468b3a961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_c5e5a91bdb7ddb00d19b468b3a961953</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-06 08:00:18</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>115138058</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c3d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5315dfd3dbe9d300d19b468b3a961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_sp_instance</description><name>x_pisn_multiform_sp_instance</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>5315dfd3dbe9d300d19b468b3a961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_5315dfd3dbe9d300d19b468b3a961942</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1600006270</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587c40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_49ad328bdbc2130031132fb74896196a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>49ad328bdbc2130031132fb74896196a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child\">49ad328bdbc2130031132fb748961967</sys_security_acl><sys_update_name>sys_security_acl_role_49ad328bdbc2130031132fb74896196a</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1366138612</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587440000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_d8755717dbe9d300d19b468b3a96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"d8755717dbe9d300d19b468b3a96192a\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\"><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>94755717dbe9d300d19b468b3a96192f</sys_id><sys_mod_count>2</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d8755717dbe9d300d19b468b3a96192a</sys_ui_form><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:38:57</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>1</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>dc755717dbe9d300d19b468b3a96192d</sys_id><sys_mod_count>4</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d8755717dbe9d300d19b468b3a96192a</sys_ui_form><sys_ui_section caption=\"Presentation\" display_value=\"Presentation\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">14755717dbe9d300d19b468b3a96192c</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:43:51</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>2</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:38:04</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a2683e4bdb8ed340b85e8a8b3a961946</sys_id><sys_mod_count>5</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d8755717dbe9d300d19b468b3a96192a</sys_ui_form><sys_ui_section caption=\"Instructions\" display_value=\"Instructions\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">ea683e4bdb8ed340b85e8a8b3a961942</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:43:51</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>3</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>18755717dbe9d300d19b468b3a961930</sys_id><sys_mod_count>5</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_sp_instance\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d8755717dbe9d300d19b468b3a96192a</sys_ui_form><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">98755717dbe9d300d19b468b3a96192f</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:43:51</sys_updated_on></sys_ui_form_section><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d8755717dbe9d300d19b468b3a96192a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_form_sections_d8755717dbe9d300d19b468b3a96192a</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:51:58</sys_updated_on><sys_user/><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>1149341647</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cee0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>0ce54027b33232007a6de81816a8dca1</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_0a8a4f07db06130031132fb7489619a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"0a8a4f07db06130031132fb7489619a1\" sys_domain=\"global\" table=\"x_pisn_multiform_child\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>0e8ac787db06130031132fb74896194c</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>active</element><position>1</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>828ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>align_self</element><position>2</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>068ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>apply_to</element><position>3</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>868ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_basis</element><position>4</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>0a8ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_grow</element><position>5</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>8a8ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>6</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>0e8ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>7</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>8e8ac787db06130031132fb74896194d</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>flex_shrink</element><position>8</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>028ac787db06130031132fb74896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>form_section</element><position>9</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>828ac787db06130031132fb74896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>location</element><position>10</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>068ac787db06130031132fb74896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>order</element><position>11</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>868ac787db06130031132fb74896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>parent</element><position>12</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>0a8ac787db06130031132fb74896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>13</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_id>8a8ac787db06130031132fb74896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_child\" sys_domain=\"global\" view=\"Default view\">0a8a4f07db06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>x_pisn_multiform_child</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:57:14</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0a8a4f07db06130031132fb7489619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_0a8a4f07db06130031132fb7489619a1</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:57:14</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1678042875</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a9619a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584cc0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_0fbb830bdb06130031132fb7489619aa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>A Widget</answer><button_label/><dependent_value/><element/><name>Direct to Child Widget</name><next_question/><order>100</order><payload_name/><question display_value=\"Multiform Child\" name=\"Multiform Child\">201b4fc7db06130031132fb748961976</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:02:46</sys_created_on><sys_id>0fbb830bdb06130031132fb7489619aa</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Direct to Child Widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_0fbb830bdb06130031132fb7489619aa</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:03:58</sys_updated_on><table/><target_url>/x_pisn_multiform_child_widget.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>1694251886</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b4260a9edb525300687c26b38a9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585140000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Direct to Child Widget</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_afc90240db92130031132fb74896198b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;piMfButtonUpload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function piMfButtonUpload ($document, PiMfUpload, $window) {\n\t\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** Create an input element */\n\t\tvar fileInput = $window.angular.element('&lt;input/&gt;');\n\t\tfileInput.attr('type', 'file');\n\t\tfileInput.attr('multiple', '');\n\n\t\t/** when clicking the DOM element this directive is attached to... */\n\t\telem.on('click', function () {\n\t\t\t/** ... click the input element */\n\t\t\tfileInput.click();\n\t\t});\n\n\t\t/** When a file is selected */\n\t\tfileInput.on('change', function (event) {\n\n\t\t\t/** Upload the file */\n\t\t\tPiMfUpload.upload(fileInput[0].files).then(function (data) {\n\t\t\t\tscope.$broadcast('sp.attachments.update', data.config.params.sys_id);\n\t\t\t});\n\t\t});\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-21 04:48:41&lt;/sys_created_on&gt;&lt;sys_id&gt;afc90240db92130031132fb74896198b&lt;/sys_id&gt;&lt;sys_mod_count&gt;29&lt;/sys_mod_count&gt;&lt;sys_name&gt;piMfButtonUpload&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_afc90240db92130031132fb74896198b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 04:17:03&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1405516794</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a961985</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58baf0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfButtonUpload</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_56154478db16d300687c26b38a961953</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function(PiMfManager) {\n\t\n\tvar c = this;\n\t\n\tPiMfManager.addOnValueChangeFunc(function (field, newVal, modelGForm) {\n\t\t\n\t\tc.users = [];\n\t\t\n\t\tvar fd = PiMfManager.getFormData();\n\t\t\n\t\t_processGForm(fd.master);\n\t\tfd.children.forEach(_processGForm);\n\t\t\n\t});\n\t\n\tfunction _processGForm(cv) {\n\t\t\t\n\t\t\tvar gf = cv.gForm;\n\n      gf.getFieldNames().forEach(function(fieldName) {\n\t\t\t\t\n\t\t\t\tvar field = gf.getField(fieldName);\n\t\t\t\tvar value = gf.getDisplayValue(fieldName);\n\t\t\t\t\n\t\t\t\tif (field.type === 'reference' &amp;&amp; field.refTable === 'sys_user' &amp;&amp; value !== '') {\n\t\t\t\t\tc.users.push(value);\n\t\t\t\t}\n      });\n\t\t}\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.mf-cw-example {\n  margin: 10px;\n}\n\n.mfcwe-title {\n\tfont-weight: bold;\n}\n\n.mfcwe-desc {\n  margin: 5px 0;\n}\n\n.mfcwe-none {\n  font-style: italic;\n}\n\nul {\n  margin: 5px 0 5px 20px;\n  padding: 0;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;An example widget to show how one would use the PIMultiform dependency, which allows embedded widgets to interact with the Multiform widget.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pi-mf-child-widget-example&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Multiform Child Widget Example&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {  /* populate the 'data' object */  /* e.g., data.table = $sp.getValue('table'); */})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-23 03:03:59&lt;/sys_created_on&gt;&lt;sys_id&gt;56154478db16d300687c26b38a961953&lt;/sys_id&gt;&lt;sys_mod_count&gt;50&lt;/sys_mod_count&gt;&lt;sys_name&gt;Multiform Child Widget Example&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_56154478db16d300687c26b38a961953&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-23 06:13:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"mf-cw-example\"&gt;\n  &lt;div class=\"mfcwe-title\"&gt;${Example Child Widget}&lt;/div&gt;\n  &lt;div class=\"mfcwe-desc\"&gt;${This is an example Child Widget, in this case showing a list of users selected from any reference field in any form on the page}&lt;/div&gt;\n  &lt;div class=\"mfcwe-title\"&gt;${Selected Users}&lt;/div&gt;\n  &lt;ul ng-repeat=\"user in c.users\"&gt;\n    &lt;li&gt;{{::user}}&lt;/li&gt;\n  &lt;/ul&gt;\n  &lt;div class=\"mfcwe-none\" ng-if=\"!c.users.length &gt; 0\"&gt;${No users currently selected}&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1517264164</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587e50000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform Child Widget Example</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_flex_shrink</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"flex_shrink\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Flex shrink&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;1&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;flex_shrink&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:07:16&lt;/sys_created_on&gt;&lt;sys_id&gt;a763f592db525300687c26b38a9619fc&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Flex shrink&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_flex_shrink&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1451100535</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b3f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Flex shrink</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_widget_widget_options</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"widget_options\" table=\"x_pisn_multiform_child_widget\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget options&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;widget_options&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"JSON\"&gt;json&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;4000&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_widget&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:12:33&lt;/sys_created_on&gt;&lt;sys_id&gt;7b633992db525300687c26b38a961928&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget options&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_widget_widget_options&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1108942320</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589590000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget.Widget options</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_min_child_records_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"min_child_records\" label=\"Min child records\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>min_child_records</element><help/><hint/><label>Min child records</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Min child records</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:56:19</sys_created_on><sys_id>e05a0787db06130031132fb74896196e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Min child records</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_min_child_records_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:56:19</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>2023299205</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d0c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Min child records</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance_record_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"record\" label=\"Record\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>record</element><help/><hint/><label>Record</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Records</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:31</sys_created_on><sys_id>8315dfd3dbe9d300d19b468b3a96190a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Record</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance_record_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:31</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-66301150</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5898e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Record</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_55f57b61db391b00d19b468b3a96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-01 08:00:22</sys_created_on><sys_id>55f57b61db391b00d19b468b3a96193f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_55f57b61db391b00d19b468b3a96193f</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-01 08:00:22</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1521947102</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587db0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_ea012884dbbd1700d19b468b3a96197a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.MFReferenceHelper&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;MFReferenceHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var MFReferenceHelper = Class.create();\nMFReferenceHelper.prototype = {\n    initialize: function() {\n    },\n\t\n\trelatedFormSections: function () {\n\t\t\n\t\tvar q = '';\n\t\t\n\t\t/*if (parent.table) {\n\t\t\tq = 'name=' + parent.table;\n\t\t}\n\t\t\n\t\tif (parent.view) {\n\t\t\tif (q !== '') {\n\t\t\t\tq = q + '^';\n\t\t\t}\n\t\t\t\n\t\t\tq = q + 'view=' + parent.view;\n\t\t}*/\n\n\t\treturn q;\n\t},\n\n    type: 'MFReferenceHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-26 00:40:50&lt;/sys_created_on&gt;&lt;sys_id&gt;ea012884dbbd1700d19b468b3a96197a&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;MFReferenceHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_ea012884dbbd1700d19b468b3a96197a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-01 00:40:43&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1102513930</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d550000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>MFReferenceHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_f9fd368bdbc2130031132fb748961988</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_widget</description><name>x_pisn_multiform_child_widget</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>f9fd368bdbc2130031132fb748961988</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_f9fd368bdbc2130031132fb748961988</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>2133940730</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e6b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_f5fd368bdbc2130031132fb748961990</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>f5fd368bdbc2130031132fb748961990</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_widget\">bdfd368bdbc2130031132fb74896198d</sys_security_acl><sys_update_name>sys_security_acl_role_f5fd368bdbc2130031132fb748961990</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1954588655</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a9619a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58df90000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_2ab95a14dbda130031132fb748961994</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_multiform.Module.PiMfLib&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PiMf = angular.module('PiMfLib', []);]]&gt;&lt;/script&gt;&lt;script_name&gt;Module.PiMfLib&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-22 00:37:06&lt;/sys_created_on&gt;&lt;sys_id&gt;2ab95a14dbda130031132fb748961994&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform.Module.PiMfLib&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_2ab95a14dbda130031132fb748961994&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 00:37:06&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>441538413</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a9619a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5865f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform.Module.PiMfLib</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_ea4ccb0bdb06130031132fb748961960</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Child details\" section_id=\"ea4ccb0bdb06130031132fb748961960\" sys_domain=\"global\" table=\"x_pisn_multiform_child_form\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>parent</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:42:10</sys_created_on><sys_id>6a10c474db16d300687c26b38a961970</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:42:10</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>active</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:42:10</sys_created_on><sys_id>ea10c474db16d300687c26b38a961970</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:42:10</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:42:10</sys_created_on><sys_id>6e10c474db16d300687c26b38a961970</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:42:10</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:42:10</sys_created_on><sys_id>ee10c474db16d300687c26b38a961970</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:42:10</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>apply_to</element><position>4</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:42:10</sys_created_on><sys_id>6210c474db16d300687c26b38a961971</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:42:10</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>form_section</element><position>5</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:42:10</sys_created_on><sys_id>e210c474db16d300687c26b38a961971</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:42:10</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Child details</caption><header>false</header><name>x_pisn_multiform_child_form</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:04:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ea4ccb0bdb06130031132fb748961960</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Child details</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_ea4ccb0bdb06130031132fb748961960</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:06:55</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-927885989</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a9619a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d730000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_f7633992db525300687c26b38a961940</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>x_pisn_multiform_sp_instance</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 00:28:27</sys_created_on><sys_id>f7633992db525300687c26b38a961940</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>ua_table_licensing_config_f7633992db525300687c26b38a961940</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 00:28:27</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-2006393105</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>b8260a9edb525300687c26b38a9619a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e630000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform_sp_instance</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_11027a25db711b00b85e8a8b3a96199a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;piMfAttachmentManager&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function piMfAttachmentManager (i18n) {\n\t\n\t'use strict';\n\t\n\treturn {\n\t\ttemplateUrl: 'pi-mf-attachment-manager',\n\t\trestrict: 'E',\n\t\treplace: true,\n\t\tscope: {\n\t\t\ttable: \"=\",\n\t\t\tsysId: \"=\",\n\t\t\tomitEdit: \"=\"\n\t\t},\n\t\tlink: function(scope, elem, attr) {\n\t\t\ti18n.getMessages(['Attachment',\n\t\t\t\t\t\t\t  'Enable edit mode on attachments',\n\t\t\t\t\t\t\t  'Finish editing attachments',\n\t\t\t\t\t\t\t  'Edit',\n\t\t\t\t\t\t\t  'Done',\n\t\t\t\t\t\t\t  'Attachments',\n\t\t\t\t\t\t\t  'Delete'], function(msgArr){\n\t\t\t\tscope.translations = msgArr;\n\t\t\t});\n\t\t},\n\t\tcontroller: function($scope, snAttachmentHandler) {\n\t\t\tvar cacheMap = {};\n\t\t\t\n\t\t\t$scope.attachments = [];\n\t\t\t$scope.translations = [];\n\t\t\tvar attachmentHandler;\n\n\t\t\tfunction initializeAttachmentHandler() {\n\t\t\t\t\n\t\t\t\t$scope.editMode = false;\n\t\t\t\t\n\t\t\t\tvar key = $scope.table + '.' + $scope.sysId;\n\t\t\t\t\n\t\t\t\tvar cached = cacheMap[key];\n\t\t\t\t\n\t\t\t\tif(cached) {\n\t\t\t\t\tattachmentHandler = cached.handler;\n\t\t\t\t\t$scope.attachments = cached.attachments;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tattachmentHandler = snAttachmentHandler.create($scope.table, $scope.sysId);\n\t\t\t\t\n\t\t\t\tattachmentHandler.getAttachments().then(function(response) {\n\t\t\t\t\t$scope.attachments = response;\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tcacheMap[key] = {\n\t\t\t\t\thandler: attachmentHandler,\n\t\t\t\t\tattachments: $scope.attachments\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$scope.getAttachmentURL = function(attachment) {\n\t\t\t\treturn (attachment.isImage) ? attachment.sys_id + \".iix\" : snAttachmentHandler.getViewUrl(attachment.sys_id);\n\t\t\t};\n\n\t\t\t$scope.removeAttachment = function(e, attachment) {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\n\t\t\t\tattachmentHandler.deleteAttachment(attachment).then(function() {\n\t\t\t\t\tif ($scope.attachments.length === 0)\n\t\t\t\t\t\t$scope.editMode = false;\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t$scope.$watch(\"sysId\", initializeAttachmentHandler);\n\n\t\t\t$scope.$on(\"sp.attachments.update\", function(e, recordID) {\n\t\t\t\tif (recordID !== $scope.sysId)\n\t\t\t\t\treturn;\n\n\t\t\t\tattachmentHandler.getAttachments().then(function(response) {\n\t\t\t\t\t$scope.attachments = response;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tvar extIconMap = {\n\t\t\t\t'ppt': 'fa-file-powerpoint-o',\n\t\t\t\t'pptx': 'fa-file-powerpoint-o',\n\t\t\t\t'doc': 'fa-file-word-o',\n\t\t\t\t'docx': 'fa-file-word-o',\n\t\t\t\t'xls': 'fa-file-excel-o',\n\t\t\t\t'xlsx': 'fa-file-excel-o'\n\t\t\t};\n\n\t\t\tvar fileIconMap = {\n\t\t\t\t'image/jpeg': 'fa-file-image-o',\n\t\t\t\t'image/pjpeg': 'fa-file-image-o',\n\t\t\t\t'image/tiff': 'fa-file-image-o',\n\t\t\t\t'image/png': 'fa-file-image-o',\n\t\t\t\t'image/gif': 'fa-file-image-o',\n\t\t\t\t'application/zip': 'fa-file-archive-o',\n\t\t\t\t'application/x-compressed': 'fa-file-archive-o',\n\t\t\t\t'application/x-zip-compressed': 'fa-file-archive-o',\n\t\t\t\t'application/pdf': 'fa-file-pdf-o',\n\t\t\t\t'application/vnd.openxmlformats-officedoc': 'fa-file-word-o',\n\t\t\t\t'application/msword': 'fa-file-word-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'fa-file-word-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.template': 'fa-file-word-o',\n\t\t\t\t'application/excel': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.ms-excel': 'fa-file-excel-o',\n\t\t\t\t'application/x-excel': 'fa-file-excel-o',\n\t\t\t\t'application/x-msexcel': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.template': 'fa-file-excel-o',\n\t\t\t\t'application/powerpoint': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.ms-powerpoint': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.template': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.slideshow': 'fa-file-powerpoint-o'\n\t\t\t};\n\n\t\t\t$scope.getIcon = function(contentType, ext) {\n\t\t\t\treturn extIconMap[ext] || fileIconMap[contentType] || \"fa-file-o\";\n\t\t\t};\n\n\t\t\tinitializeAttachmentHandler();\n\t\t}\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-01 03:04:01&lt;/sys_created_on&gt;&lt;sys_id&gt;11027a25db711b00b85e8a8b3a96199a&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;piMfAttachmentManager&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_11027a25db711b00b85e8a8b3a96199a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 01:05:17&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2095302748</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a961984</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5851d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfAttachmentManager</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_c6092f4adb8e5340b85e8a8b3a961960</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pi-mf-attachment-manager&lt;/id&gt;&lt;sp_widget display_value=\"Multiform\"&gt;52da025fdb29d300d19b468b3a961947&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 06:36:43&lt;/sys_created_on&gt;&lt;sys_id&gt;c6092f4adb8e5340b85e8a8b3a961960&lt;/sys_id&gt;&lt;sys_mod_count&gt;12&lt;/sys_mod_count&gt;&lt;sys_name&gt;pi-mf-attachment-manager&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_c6092f4adb8e5340b85e8a8b3a961960&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-21 05:36:58&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;ul&gt;\n  &lt;li class=\"attached-file\" ng-repeat=\"attachment in attachments\"&gt;\n    &lt;a ng-href=\"{{getAttachmentURL(attachment)}}\" target=\"_blank\"&gt;\n      &lt;span class=\"fa {{getIcon(attachment.content_type, attachment.ext)}}\"&gt;&lt;/span&gt;\n      {{attachment.file_name}}&lt;/a&gt;\n  &lt;/li&gt;\n&lt;/ul&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>569171969</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c430000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>pi-mf-attachment-manager</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_align_self</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"align_self\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;3&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Align self&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;stretch&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;align_self&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:03:45&lt;/sys_created_on&gt;&lt;sys_id&gt;ab63f592db525300687c26b38a9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Align self&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_align_self&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-420579671</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b5e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Align self</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_order</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"order\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Order&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;0&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;order&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:08:40&lt;/sys_created_on&gt;&lt;sys_id&gt;e363f592db525300687c26b38a9619ff&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_order&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>621736692</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d3c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Order</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_flex_grow_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"flex_grow\" label=\"Flex grow\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>flex_grow</element><help/><hint/><label>Flex grow</label><language>en</language><name>x_pisn_multiform_child</name><plural>Flex grows</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:06:32</sys_created_on><sys_id>a3ee32cbdbc2130031132fb748961936</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Flex grow</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_flex_grow_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:06:32</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1247015388</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b160000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Flex grow</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_widget__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Child Widget\" language=\"en\" table=\"x_pisn_multiform_child_widget\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Child Widget</label><language>en</language><name>x_pisn_multiform_child_widget</name><plural>Child Widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:20</sys_created_on><sys_id>3dfd368bdbc2130031132fb7489619ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Child Widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_widget__en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:20</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-722253156</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5870d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_25b28518db8e5f00d19b468b3a9619f4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-09 08:00:30</sys_created_on><sys_id>25b28518db8e5f00d19b468b3a9619f4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_25b28518db8e5f00d19b468b3a9619f4</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-09 08:00:30</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1521947102</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586300000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_570f5ecedb4a5340b85e8a8b3a9619e8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.Section&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;Section&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var Section = Class.create();\n\nSection.prototype = {\n\t\n    initialize: function(mfSysId, formSectionId) {\n\t\tthis._isGlobal = typeof formSectionId === 'undefined';\n\t\t\n\t\tthis._mfSysId = mfSysId;\n\t\tthis._formSectionId = formSectionId;\n    },\n\n\ttoJSON: function toJSON () {\n\t\t\n\t\tvar top = new Location(this._mfSysId, 'top', this._formSectionId);\n\t\tvar bottom = new Location(this._mfSysId, 'bottom', this._formSectionId);\n\t\tvar left = new Location(this._mfSysId, 'left', this._formSectionId);\n\t\tvar right = new Location(this._mfSysId, 'right', this._formSectionId);\n\t\t\n\t\tvar r = {};\n\t\t\n\t\tif (top.length &gt; 0) {\n\t\t\tr.top = top;\n\t\t}\n\t\t\n\t\tif (bottom.length &gt; 0) {\n\t\t\tr.bottom = bottom;\n\t\t}\n\t\t\n\t\tif (left.length &gt; 0) {\n\t\t\tr.left = left;\n\t\t}\n\t\t\n\t\tif (right.length &gt; 0) {\n\t\t\tr.right = right;\n\t\t}\n\t\t\n\t\treturn r;\n\t},\n\n    type: 'Section'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 01:13:24&lt;/sys_created_on&gt;&lt;sys_id&gt;570f5ecedb4a5340b85e8a8b3a9619e8&lt;/sys_id&gt;&lt;sys_mod_count&gt;16&lt;/sys_mod_count&gt;&lt;sys_name&gt;Section&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_570f5ecedb4a5340b85e8a8b3a9619e8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-15 02:36:30&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1770827991</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587fe0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Section</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_bdfd368bdbc2130031132fb74896198d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_widget</description><name>x_pisn_multiform_child_widget</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>bdfd368bdbc2130031132fb74896198d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_bdfd368bdbc2130031132fb74896198d</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-435344066</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c170000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_c1ad328bdbc2130031132fb748961970</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>c1ad328bdbc2130031132fb748961970</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child\">89ad328bdbc2130031132fb74896196d</sys_security_acl><sys_update_name>sys_security_acl_role_c1ad328bdbc2130031132fb748961970</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-427770851</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c200000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_action_17b08c74db16d300687c26b38a961965</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_policy_action\"><sys_ui_policy_action action=\"INSERT_OR_UPDATE\"><disabled>ignore</disabled><field>form_section</field><mandatory>true</mandatory><sys_class_name>sys_ui_policy_action</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:45:07</sys_created_on><sys_id>17b08c74db16d300687c26b38a961965</sys_id><sys_mod_count>1</sys_mod_count><sys_name>form_section</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_policy_action_17b08c74db16d300687c26b38a961965</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:56:04</sys_updated_on><table>x_pisn_multiform_child_form</table><ui_policy display_value=\"Show and require 'Form section' if 'Apply to' is 'Single section'\">3d60c874db16d300687c26b38a96194b</ui_policy><visible>true</visible></sys_ui_policy_action></record_update>]]></payload>\n<payload_hash>-1038574571</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5856c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>form_section</target_name>\n<type>UI Policy Action</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_98755717dbe9d300d19b468b3a96192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Behavior\" section_id=\"98755717dbe9d300d19b468b3a96192f\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"sp_instance_config\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>roles</element><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:43:45</sys_created_on><sys_id>f5b932cbdb8ed340b85e8a8b3a9619ca</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">98755717dbe9d300d19b468b3a96192f</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:43:45</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>order</element><position>1</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:43:45</sys_created_on><sys_id>79b932cbdb8ed340b85e8a8b3a9619ca</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Behavior\" display_value=\"Behavior\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">98755717dbe9d300d19b468b3a96192f</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:43:45</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Behavior</caption><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>98755717dbe9d300d19b468b3a96192f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Behavior</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_98755717dbe9d300d19b468b3a96192f</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:51:58</sys_updated_on><sys_user/><title>false</title><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>334214279</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a9619a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a980000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>sp_instance_config</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_e2ca5720dbd2d300687c26b38a961922</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Instance of Multiform</answer><button_label/><dependent_value/><element/><name>Instance of Multiform</name><next_question/><order>100</order><payload_name/><question display_value=\"\">54925561db0113008cfb70f08c96190f</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 23:59:08</sys_created_on><sys_id>e2ca5720dbd2d300687c26b38a961922</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instance of Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_e2ca5720dbd2d300687c26b38a961922</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 23:59:08</sys_updated_on><table/><target_url>x_pisn_multiform_sp_instance.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>-327730295</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>bc260a9edb525300687c26b38a9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d1c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Instance of Multiform</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_940bb658db1e130031132fb7489619b8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PiMfLib\">85003598dbb55700b85e8a8b3a9619b8</sp_dependency><sp_js_include display_value=\"Service.PiMfUpload\">e8dab2d8db1e130031132fb7489619db</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 03:01:47</sys_created_on><sys_id>940bb658db1e130031132fb7489619b8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PiMfLib.Service.PiMfUpload</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_940bb658db1e130031132fb7489619b8</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 03:01:47</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1537202397</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a961983</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a440000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMfLib.Service.PiMfUpload</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_85003598dbb55700b85e8a8b3a9619b8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>PiMfLib</module><name>PiMfLib</name><page_load>true</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-27 01:02:49</sys_created_on><sys_id>85003598dbb55700b85e8a8b3a9619b8</sys_id><sys_mod_count>6</sys_mod_count><sys_name>PiMfLib</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sp_dependency_85003598dbb55700b85e8a8b3a9619b8</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:37:31</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1753630732</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a961986</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589ac0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMfLib</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_choice_x_pisn_multiform_child_apply_to</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_choice action=\"INSERT_OR_UPDATE\" field=\"apply_to\" table=\"x_pisn_multiform_child\" version=\"3\"><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>apply_to</element><hint/><inactive>false</inactive><label>All screens</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:19:41</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d1e1838fdbc2130031132fb748961986</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:55:13</sys_updated_on><value>entire_form</value></sys_choice><sys_choice action=\"INSERT_OR_UPDATE\"><dependent_value/><element>apply_to</element><hint/><inactive>false</inactive><label>Single screen (section)</label><language>en</language><name>x_pisn_multiform_child</name><sequence/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:19:48</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>efd1cf4fdbc2130031132fb74896191c</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:55:35</sys_updated_on><value>single_section</value></sys_choice><sys_choice_set action=\"INSERT_OR_UPDATE\"><element>apply_to</element><name>x_pisn_multiform_child</name><sys_class_name>sys_choice_set</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:19:41</sys_created_on><sys_id>5173b992db525300687c26b38a96198b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>apply_to</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_choice_x_pisn_multiform_child_apply_to</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:19:41</sys_updated_on></sys_choice_set></sys_choice></record_update>]]></payload>\n<payload_hash>2136033182</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587a10000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Apply to</target_name>\n<type>Choice list</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_min_child_records</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"min_child_records\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Min child records&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;min_child_records&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:56:19&lt;/sys_created_on&gt;&lt;sys_id&gt;af633992db525300687c26b38a961914&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Min child records&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_min_child_records&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>711652664</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58ba00000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Min child records</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_progression_method</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"progression_method\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice&gt;3&lt;/choice&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Progression method&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;full&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;progression_method&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Choice\"&gt;choice&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-23 02:36:22&lt;/sys_created_on&gt;&lt;sys_id&gt;fb633992db525300687c26b38a961937&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Progression method&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_progression_method&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-167563513</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e7f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Progression method</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_table_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"table\" label=\"Table\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>table</element><help/><hint/><label>Table</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Tables</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:22:44</sys_created_on><sys_id>b0a2cb8fdbc2130031132fb748961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Table</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_table_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:22:44</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>326972436</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58bb70000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Table</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance_view_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"view\" label=\"View\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>view</element><help/><hint/><label>View</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Views</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:31</sys_created_on><sys_id>8f15dfd3dbe9d300d19b468b3a961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>View</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance_view_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:31</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-463936502</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a230000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.View</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_c54c5483dbf1db00d19b468b3a9619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-05 08:00:09</sys_created_on><sys_id>c54c5483dbf1db00d19b468b3a9619b5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_c54c5483dbf1db00d19b468b3a9619b5</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-05 08:00:09</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>115138058</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c280000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_49ad328bdbc2130031132fb748961967</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child</description><name>x_pisn_multiform_child</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>49ad328bdbc2130031132fb748961967</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_49ad328bdbc2130031132fb748961967</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>239861285</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5873a0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_35fd368bdbc2130031132fb74896198b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>35fd368bdbc2130031132fb74896198b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_widget\">f9fd368bdbc2130031132fb748961988</sys_security_acl><sys_update_name>sys_security_acl_role_35fd368bdbc2130031132fb74896198b</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>758561748</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586c40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_c8cc034bdb06130031132fb7489619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"c8cc034bdb06130031132fb7489619a2\" sys_domain=\"global\" table=\"x_pisn_multiform_child_form\" version=\"3\"><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:06:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>84cc434bdb06130031132fb748961921</sys_id><sys_mod_count>0</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_child_form\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">c8cc034bdb06130031132fb7489619a2</sys_ui_form><sys_ui_section caption=\"Child details\" display_value=\"Child details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">ea4ccb0bdb06130031132fb748961960</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:06:55</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>1</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:06:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>84cc434bdb06130031132fb748961925</sys_id><sys_mod_count>1</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_child_form\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">c8cc034bdb06130031132fb7489619a2</sys_ui_form><sys_ui_section caption=\"Form details\" display_value=\"Form details\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">8ccc034bdb06130031132fb7489619a1</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:15:39</sys_updated_on></sys_ui_form_section><sys_ui_form_section action=\"INSERT_OR_UPDATE\"><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:52:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9092c0f4db16d300687c26b38a9619ff</sys_id><sys_mod_count>0</sys_mod_count><sys_overrides/><sys_ui_form display_value=\"x_pisn_multiform_child_form\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">c8cc034bdb06130031132fb7489619a2</sys_ui_form><sys_ui_section caption=\"Display\" display_value=\"Display\" name=\"x_pisn_multiform_child_form\" sys_domain=\"global\" view=\"Default view\">5892c0f4db16d300687c26b38a9619e3</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:52:55</sys_updated_on></sys_ui_form_section><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>x_pisn_multiform_child_form</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 07:06:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>c8cc034bdb06130031132fb7489619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_form_sections_c8cc034bdb06130031132fb7489619a2</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:06:55</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>1893568133</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c640000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_06344438db16d300687c26b38a96195a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Widget details\" section_id=\"06344438db16d300687c26b38a96195a\" sys_domain=\"global\" table=\"x_pisn_multiform_child_widget\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>widget</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>a7740838db16d300687c26b38a961948</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Widget details\" display_value=\"Widget details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">06344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>2b740838db16d300687c26b38a961948</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Widget details\" display_value=\"Widget details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">06344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>2</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>ab740838db16d300687c26b38a961948</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Widget details\" display_value=\"Widget details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">06344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>widget_options</element><position>3</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:01:20</sys_created_on><sys_id>2f740838db16d300687c26b38a961948</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Widget details\" display_value=\"Widget details\" name=\"x_pisn_multiform_child_widget\" sys_domain=\"global\" view=\"Default view\">06344438db16d300687c26b38a96195a</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:01:20</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Widget details</caption><header>false</header><name>x_pisn_multiform_child_widget</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:00:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>06344438db16d300687c26b38a96195a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget details</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_06344438db16d300687c26b38a96195a</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:00:09</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1974696273</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a9619a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5844f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_201b4fc7db06130031132fb748961976</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard\"><sys_wizard action=\"INSERT_OR_UPDATE\"><back_panel/><intercepts>x_pisn_multiform_child.do</intercepts><name>Multiform Child</name><next_panel/><question>What type of child is required?</question><sys_class_name>sys_wizard</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:59:50</sys_created_on><sys_id>201b4fc7db06130031132fb748961976</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Multiform Child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_201b4fc7db06130031132fb748961976</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 07:03:12</sys_updated_on></sys_wizard></record_update>]]></payload>\n<payload_hash>-733700373</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586030000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform Child</target_name>\n<type>Interceptor</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>x_pisn_multiform_sp_instance_a6e06c06dbb15b00d19b468b3a96198b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"x_pisn_multiform_sp_instance\"&gt;&lt;x_pisn_multiform_sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;instructions&gt;&lt;![CDATA[Please use the &amp;#34;Open in platform&amp;#34; link from the hamburger menu on this dialog to configure this widget.]]&gt;&lt;/instructions&gt;&lt;order&gt;2&lt;/order&gt;&lt;progression_method&gt;full&lt;/progression_method&gt;&lt;record/&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;4aeace1fdb29d300d19b468b3a9619d5&lt;/sp_column&gt;&lt;sp_widget display_value=\"Multiform\"&gt;52da025fdb29d300d19b468b3a961947&lt;/sp_widget&gt;&lt;success_page display_value=\"ticket\"&gt;ticket&lt;/success_page&gt;&lt;sys_class_name&gt;x_pisn_multiform_sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-02 05:46:31&lt;/sys_created_on&gt;&lt;sys_id&gt;a6e06c06dbb15b00d19b468b3a96198b&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;x_pisn_multiform_sp_instance_a6e06c06dbb15b00d19b468b3a96198b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-18 06:51:37&lt;/sys_updated_on&gt;&lt;table&gt;problem&lt;/table&gt;&lt;title/&gt;&lt;url/&gt;&lt;view display_value=\"Default view\" name=\"NULL\"&gt;Default view&lt;/view&gt;&lt;widget_parameters/&gt;&lt;/x_pisn_multiform_sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=a6e06c06dbb15b00d19b468b3a96198b\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2011376514</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f0260a9edb525300687c26b38a9619aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58b2f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>problem</table>\n<target_name/>\n<type>Instance of Multiform</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_81b52dc0db12130031132fb7489619fc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;piMfDragDropUpload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function piMfDragDropUpload($http, $document, PiMfUpload) {\n\t\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** Grab the \"upload mask\" element */\n\t\tvar mask = elem.find('.pimf-drag-drop-mask');\n\n\t\t/** Stop the default behaviour of dragging */\n\t\telem.on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t});\n\n\t\t/** When a file is dragged over, show the \"upload mask\" */\n\t\telem.on('dragover dragenter', function (e) {\n\t\t\telem.addClass('is-dragover');\n\t\t});\n\n\t\t/** Hide the \"upload mask\" when the dragging stops, file is dropped, or mouse leaves */\n\t\tmask.on('dragleave dragend drop', function (e) {\n\t\t\telem.removeClass('is-dragover');\n\t\t});\n\n\t\t/** When a file/files are dropped... */\n\t\tmask.on('drop', function (e) {\n\t\t\t\n\t\t\t/** ... get the files... */\n\t\t\tvar files = e.originalEvent.dataTransfer.files;\n\n\t\t\t/** ... and upload them */\n\t\t\tPiMfUpload.upload(files).then(function (data) {\n\t\t\t\tscope.$broadcast('sp.attachments.update', data.config.params.sys_id);\n\t\t\t});\n\t\t});\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-21 02:10:50&lt;/sys_created_on&gt;&lt;sys_id&gt;81b52dc0db12130031132fb7489619fc&lt;/sys_id&gt;&lt;sys_mod_count&gt;44&lt;/sys_mod_count&gt;&lt;sys_name&gt;piMfDragDropUpload&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_81b52dc0db12130031132fb7489619fc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-22 04:17:03&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-529713621</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a961985</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5897e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>piMfDragDropUpload</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_52da025fdb29d300d19b468b3a961947</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PiMultiFormCtrl ($scope, PiMfManager, $timeout, $location, nowAttachmentHandler, spUtil, PiMfUpload) {\n\n\t'use strict';\n\n\tvar c = this;\n\n\tvar formState = [];\n\n\tc.submit = submit;\n\tc.add = add;\n\tc.canAdd = canAdd;\n\n\tc.next = PiMfManager.nextScreen;\n\tc.previous = PiMfManager.prevScreen;\n\tc.getCurrentScreenTitle = PiMfManager.getCurrentScreenTitle;\n\tc.getCurrentScreen = PiMfManager.getCurrentScreen;\n\tc.goToScreen = PiMfManager.goToScreen;\n\tc.isLast = PiMfManager.isLast;\n\tc.isFirst = PiMfManager.isFirst;\n\tc.isChildCompleted = PiMfManager.isChildCompleted;\n\tc.childHasMandatory = PiMfManager.childHasMandatory;\n\tc.getScreenCount = PiMfManager.getScreenCount;\n\tc.addChildModel = PiMfManager.addChildModel;\n\tc.getMasterPrimaryAction = PiMfManager.getMasterPrimaryAction;\n\n\tc.$onInit = function () {\n\n\t\t/* If there were no errors... */\n\t\tc.loading = c.data.errorMessages.length === 0;\n\n\t\t/* ... and thus we're loading */\n\t\tif (c.loading &amp;&amp; c.data.isValid) {\n\n\t\t\t/* create the payload */\n\t\t\tvar payload = {\n\t\t\t\taction: 'get_data',\n\t\t\t\ttable: c.data.table,\n\t\t\t\tsysId: c.data.sysId,\n\t\t\t\tview: c.data.view\n\t\t\t}\n\n\t\t\t/* and send it to the server */\n\t\t\tc.server.get(payload).then(function (r) {\n\n\t\t\t\t/* Crucial 2 variables used by the widget */\n\t\t\t\tc.data.form = r.data.form;\n\t\t\t\tc.data.mf = r.data.mf;\n\n\t\t\t\tPiMfUpload.init(r.data.form.table, r.data.form._attachmentGUID);\n\n\t\t\t\t/* Register an onChange function with PiMfManager to re-evaluate\n\t\t\t\t * which children to show in the various sections based on the\n\t\t\t\t * screen we've just changed to. */\n\t\t\t\tPiMfManager.addOnScreenChangeFunc(function () {\n\t\t\t\t\tc.childrenToShow = PiMfManager.getChildrenToShow();\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t};\n\n\n\t/** Capture the GlideForm of the master when it's emitted from spModel */\n\t$scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\n\t\tif (gFormInstance.getTableName() == c.data.table &amp;&amp; gFormInstance.getUniqueValue() == c.data.sysId){\n\n\t\t\tc.loading = false;\n\n\t\t\tPiMfManager.init(c.data.form, gFormInstance, c.data.mf);\n\n\t\t\t/* Setup attachment handler */\n\t\t\t$scope.attachmentHandler = new nowAttachmentHandler(function appendDone () {\n\t\t\t\t$scope.$broadcast(\"sp.attachments.update\", c.data.form._attachmentGUID);\n\t\t\t}, function appendError () {\n\t\t\t\t/* $scope.errorMessages.push(error); */\n\t\t\t\t/* spUtil.addErrorMessage(error.msg + error.fileName); */\n\t\t\t});\n\t\t\t$scope.$evalAsync(function() {\n\t\t\t\t$scope.attachmentHandler.setParams(c.data.form.table, c.data.form._attachmentGUID, 1024 * 1024 * 1024);\n\t\t\t});\n\n\n\t\t}\n\t});\n\n\t/** Save all forms on the page */\n\tfunction submit () {\n\t\tPiMfManager.save($scope).then(function (sysId) {\n\t\t\t$location.search({\n\t\t\t\t'id': c.options.success_page,\n\t\t\t\t'table': c.options.table,\n\t\t\t\t'sys_id': sysId\n\t\t\t});\n\t\t}, function (incomplete) {\n\n\t\t});\n\t}\n\n\tfunction canAdd(child) {\n\t\tif (child.maxChildRecords) {\n\t\t\tif (child.formModels.length &lt; child.maxChildRecords) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\treturn true;\n\n\t\t\n\t}\n\n\t/**\n\t * Add a new child form\n\t * @param {String} child  The SysID of the Multiform Child\n\t */\n\tfunction add (child) {\n\t\tc.server.get({\n\t\t\taction: 'new_form',\n\t\t\tchildId: child.sysId\n\t\t}).then(function (r) {\n\t\t\tchild.formModels.push(r.data.form);\n\t\t});\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;/** Color Declarations **/\n\n$pi-sn2018-green-main: rgb(129, 181, 161); // Acapulco\n$pi-sn2018-green-fade: rgb(176, 225, 206); // Cruise\n$pi-sn2018-green-bright: rgb(100, 221, 172); // Aquamarine\n$pi-mf-dark-green: rgb(36, 53, 56);\n\n/** Overrideable Variables **/\n\n$pi-mf-header-color: $pi-mf-dark-green !default;\n\n$pi-mf-actions-bg: $pi-sn2018-green-fade !default;\n$pi-mf-actions-button: $pi-mf-dark-green !default;\n$pi-mf-actions-button-color: white !default;\n\n$pi-mf-highlight-bg: #f4f4f4; !default;\n$pi-mf-inner-form-bg: #fcfcfc !default;\n$pi-mf-border-radius: 5px !default;\n\n$pi-mf-indicator-bg: $pi-sn2018-green-fade !default;\n$pi-mf-indicator-bg-active: $pi-mf-dark-green !default;\n\n$pi-mf-indicator-color: $pi-mf-dark-green !default;\n$pi-mf-indicator-color-active: white !default;\n\n$pi-mf-formgroup-border-color: #ccc !default;\n\n$pi-mf-attachment-pill-bg: $pi-sn2018-green-fade !default;\n$pi-mf-attachment-pill-color: $pi-mf-dark-green !default;\n\n$pi-mf-attachment-add-bg: white !default;\n$pi-mf-attachment-add-color: $pi-mf-dark-green !default;\n\n/** SCSS Styles **/\n\n// Drag-drop styles\n\n.pimf-drag-drop-overlay {\n  display: none;\n}\n\n.is-dragover .pimf-drag-drop-overlay {\n  display: flex;\n}\n\n.pimf-drag-drop-overlay {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: radial-gradient(rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0.5) 80%);\n  border-radius: $pi-mf-border-radius;\n  top: 0;\n  left: 0;\n  z-index: 20;\n  justify-content: center;\n  align-items: center;\n  font-size: 80px;\n  color: #ccc;\n  text-align: center;\n  font-weight: bold;\n  text-transform: uppercase;\n  border: 10px dashed #ccc;\n}\n\n.pimf-drag-drop-mask {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  z-index: 21;\n  cursor: default;\n}\n\n\n// Child View Styles\n\n// Error styles\n\n.pimf-error {\n  margin-bottom: 0;\n}\n\n// Main styles\n.pi-multiform {\n  margin: 20px 0;\n  position: relative;\n  background-color: white;\n  padding: 10px 10px;\n  border-radius: $pi-mf-border-radius;\n}\n\n\n// Loading spinner\n.pimf-loading {\n  height: 100%;\n  min-height: 400px;\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n\n  svg {\n    width: 150px;\n    height: 150px;\n  }\n}\n\n\n// Header elements\n.pi-mfc-head {\n  flex: 1 0 100%;\n  font-size: 30px;\n  padding-left: 10px;\n  display: flex;\n  margin: 10px 0;\n  align-items: flex-end;\n  flex-wrap: wrap;\n\n  .pi-mfc-title {\n    flex: 1 0 auto;\n    margin-right: 10px;\n    color: $pi-mf-dark-green;\n  }\n}\n\n.pi-mf-head {\n  display: flex;\n  justify-content: right;\n  margin: 10px;\n\n  .pi-mf-title {\n    flex: 1 0 auto;\n    margin-right: 10px;\n    color: $pi-mf-dark-green;\n\n    h1 {\n      margin: 0;\n    }\n  }\n}\n\n\n.pi-mf-mandatory {\n  padding-right: 3px;\n}\n\n.pi-mfa-container {\n  \n  background-color: $pi-mf-highlight-bg;\n  border-radius: $pi-mf-border-radius;\n  min-height: 30px;\n  margin-right: 10px;\n  padding: 0 4px 0 10px;\n  display: flex;\n  font-size: 13px;\n  align-items: center;\n  justify-content: flex-end;\n  \n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0 5px;\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n  }\n  \n  li {\n    background-color: $pi-mf-attachment-pill-bg;\n    color: $pi-mf-attachment-pill-color;\n    border-radius: $pi-mf-border-radius;\n    padding: 3px 5px;\n    cursor: pointer;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    max-width: 170px;\n    margin: 3px 0 3px 5px;\n    \n    a, a:hover, a:visited, a:focus {\n      color: $pi-mf-attachment-pill-color;\n    }\n    \n  }\n  \n  li:last-of-type {\n    margin-right: 0;\n  }\n  \n  button {\n    height: 23px;\n    width: 23px;\n    text-align: center;\n    background-color: $pi-mf-attachment-add-bg;\n    border-radius: $pi-mf-border-radius;\n    color: $pi-mf-attachment-add-color;\n    font-size: 13px;\n    border: 0;\n    margin: 0;\n    padding: 0;\n    flex: 0 0 23px;\n  }\n}\n\n\n/*\n.pi-mfc-attachments {\n  margin: 0 15px 0 auto;\n  font-size: 15px;\n  padding: 5px;\n  background-color: $pi-mf-highlight-bg;\n  border-radius: $pi-mf-border-radius;\n  height: 30px;\n  line-height: 20px;\n\n  .panel-button {\n    float: none;\n    margin-top: 0;\n  }\n\n  .pi-mf-attachment-manager {\n\n    display: inline-block;\n    font-size: 13px;\n\n    ul {\n      list-style:none;\n      margin: 0;\n      padding: 0;\n    }\n\n    li {\n      display: inline-block;\n      margin: 0 5px;\n    }\n\n  }\n\n  .panel-button {\n    font-size: inherit;\n  }\n\n  button {\n    margin-left: 0;\n  }\n}\n\n*/\n\n.pi-mf-indicators {\n  display: flex;\n  justify-content: flex-end;\n\n  div {\n    flex: 0 0 30px;\n    width: 30px;\n    height: 30px;\n    border-radius: 15px;\n    background-color: $pi-mf-indicator-bg;\n    margin-left: 5px;\n    color: $pi-mf-indicator-color;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .pi-mfi-active {\n    background-color: $pi-mf-indicator-bg-active;\n    color: $pi-mf-indicator-color-active;\n  }\n}\n\n\n// Footer elements\n\n.pi-mf-actions {\n  height: 60px;\n  background-color: $pi-mf-actions-bg;\n  border-radius: $pi-mf-border-radius;\n  display: flex;\n  align-items: center;\n  padding: 10px;\n  color: $pi-mf-actions-color;\n  flex: 1 0 auto;\n  justify-content: space-between;\n  margin: 10px;\n\n  .pi-mfa-secondary, .pi-mfa-primary {\n    height: 100%;\n\n    button {\n      height: 100%;\n      padding: 0 20px;\n      border: 0;\n      border-radius: $pi-mf-border-radius;\n      background-color: transparent;\n    }\n  }\n\n  .pi-mfa-secondary {\n    button {\n      border: 1px solid $pi-mf-actions-button;\n      color: $pi-mf-actions-button;\n\n      i {\n        margin-right: 5px;\n      }\n    }\n  }\n\n  .pi-mfa-primary {\n\n\n    button {\n      background-color: $pi-mf-actions-button;\n      color: $pi-mf-actions-button-color;\n      font-weight: bold;\n      text-transform: uppercase;\n\n      i {\n        margin-left: 5px;\n      }\n    }\n  }\n}\n\n\n// Body styles\n\n.pi-mf-container {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n}\n\n.pi-mf-container .pi-mf-container {\n  display: block;\n}\n\n\n.pi-mf-flexrow {\n  display: flex;\n  margin: 0 10px;\n}\n\n.pi-mf-b-top, .pi-mf-b-bottom {\n  display: flex;\n  flex-wrap: wrap;\n  margin: 0 10px;\n}\n\n.pi-mf-mainform {\n  flex: 1 1 auto;\n\n  .container-fluid {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n}\n\n.pi-mf-mainform.container-fluid {\n\n  padding-left: 0;\n  padding-right: 0;\n}\n\n\n\n.pi-mfc-body {\n  flex: 1 1 auto;\n  position: relative;\n\n  .h4 {\n    display: none;\n  }\n}\n\n\n\n// Inner form styles\n\n.pi-mff-body {\n  margin-top: 10px;\n}\n\n.pi-mff-title {\n  font-size: 20px;\n  margin-bottom: 10px;\n  color: $pi-mf-dark-green;\n}\n\n\n\n\n\n// Inner forms\n\n.pi-mf-forms {\n  border: 1px solid $pi-mf-formgroup-border-color;\n  border-radius: $pi-mf-border-radius;\n  margin: 10px 0;\n  padding: 10px;\n}\n\n\n.pi-mff-header {\n  width: 100%;\n  border-radius: $pi-mf-border-radius $pi-mf-border-radius 0 0;\n  padding: 10px;\n  background-color: $pi-mf-highlight-bg;\n  font-weight: bold;\n\n  i {\n    float: right;\n  }\n}\n\n.pi-mff-attachments {\n  min-height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  display: none;\n}\n\n\n.pi-mff-actions {\n  padding: 4px;\n\n  button {\n    background-color: white;\n    border: 1px solid $pi-mf-formgroup-border-color;\n    border-radius: $pi-mf-border-radius;\n    padding: 5px 20px;\n  }\n}\n\n.pi-mff-container {\n  border-top: 1px solid rgb(204, 204, 204);\n}\n\n\n// Inner form\n\n.pi-mf-form {\n  border: 1px solid $pi-mf-highlight-bg;\n  margin-bottom: 10px;\n  background-color: $pi-mf-inner-form-bg;\n  border-radius: $pi-mf-border-radius $pi-mf-border-radius 0 0;\n\n  legend.h4 {\n    display: none;\n  }\n}&lt;/css&gt;&lt;data_table&gt;x_pisn_multiform_sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;Form widget that separates each section of the form onto sequential, numbered screens for improved UX.\n\nAdditionally, it offers drag-and-drop file upload, and child elements (e.g. forms, widgets) to be embedded on each screen.&lt;/description&gt;&lt;docs/&gt;&lt;field_list&gt;instructions&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pi-multiform&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function PiMultiFormLink (scope, elem, attrs) {\n\t\n\t'use strict';\n\t\n\tvar formState = [];\n\t\n\tscope.toggleIcon = toggleIcon;\n\tscope.toggle = toggle;\n\tscope.makeArray = makeArray;\n\tscope.isExpanded = isExpanded;\n\t\n\t/**\n\t * Different class depending on the state of expansion\n\t * @param  {Boolean} state  State of expansion\n\t * @return {Object}         Classes to attach\n\t */\n\tfunction toggleIcon (state) {\n\t\treturn {\n\t\t\t'fa-chevron-down': !state,\n\t\t\t'fa-chevron-up': state\n\t\t}\n\t}\n\t\n\t/**\n\t * Toggle the expansion state of a child form\n\t * @param  {[type]} child [description]\n\t * @param  {[type]} idx   [description]\n\t * @return {[type]}       [description]\n\t */\n\tfunction toggle (child, idx) {\n\t\tformState[child.sysId] = formState[child.sysId] || [];\n\t\tformState[child.sysId][idx] = !formState[child.sysId][idx];\n\t}\n\t\n\t\n\t/**\n\t * Check whether a child form is expanded\n\t * @param  {[type]}  child [description]\n\t * @param  {[type]}  idx   [description]\n\t * @return {Boolean}       [description]\n\t */\n\tfunction isExpanded (child, idx) {\n\t\tformState[child.sysId] = formState[child.sysId] || [];\n\t\treturn formState[child.sysId][idx];\n\t}\n\n\t/**\n\t * Dumb function to make an array containing a certain number of elements\n\t * @param  {Integer} count  Number of elements in the new array\n\t * @return {Array}          A new array containing X elements\n\t */\n\tfunction makeArray (count) {\n\t\treturn new Array(count);\n\t}\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n}]]&gt;&lt;/link&gt;&lt;name&gt;Multiform&lt;/name&gt;&lt;option_schema&gt;[]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function($sp, input, data, FormModel, options, Multiform, gs, GlideRecord) {\n\n\t'use strict';\n\n\tif (input &amp;&amp; input.action === 'new_form') {\n\n\t\tdata.form = new FormModel(input.childId);\n\n\t\treturn;\n\n\t} else if (input &amp;&amp; input.action === 'get_data') {\n\n\t\tdata.view = options.view;\n\t\tdata.sysId = options.record || input.sysId || '-1';\n\t\tdata.table = options.table;\n\n\t\tdata.form = $sp.getForm(data.table, data.sysId, '', data.view);\n\t\tdata.mf = new Multiform($sp.getDisplayValue('sys_id'));\n\n\t\treturn;\n\n\t} else {\n\t\t\n\t\tdata.isValid = true;\n\t\t\n\t\tdata.table = options.table;\n\t\tdata.sysId = options.record || $sp.getParameter('sys_id') || '-1';\n\t\tdata.view = options.view;\n\t\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\t\t\n\t\tvar rec = new GlideRecord(data.table);\n\t\trec.get(data.sysId);\n\t\t\n\t\tdata.errorMessages = [];\n\n\t\tif (!data.sysId) {\n\t\t\tdata.isValid = false;\n\t\t\tdata.errorMessages.push(gs.getMessage(\"You provided an invalid SysID\"));\n\t\t}\n\t\t\n\t\tif (!data.view) {\n\t\t\tdata.isValid = false;\n\t\t\tdata.errorMessages.push(gs.getMessage(\"No view is set in the widget instance's configuration\"));\n\t\t}\n\n\t\tif (!data.table) {\n\t\t\tdata.isValid = false;\n\t\t\tdata.errorMessages.push(gs.getMessage(\"No table is set in the widget instance's configuration\"));\n\t\t}\n\t\t\n\t\tif (!data.isValid) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif (!rec.isValid() &amp;&amp; data.sysId !== '-1') {\n\t\t\tdata.isValid = false;\n\t\t\tdata.errorMessages.push(gs.getMessage(\"That record doesn't exist\"));\n\t\t}\n\t\t\n\t\tif (data.sysId === '-1' &amp;&amp; !rec.canCreate()) {\n\t\t\tdata.isValid = false;\n\t\t\tdata.errorMessages.push(gs.getMessage(\"You can't create records in this table\"));\n\t\t}\n\t\t\n\t\tif (!data.isValid) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tdata.table = rec.getRecordClassName();\n\t\tdata.canWrite = rec.canWrite();\n\t\t\n\t\tvar hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n\t\tdata.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role'));\n\t}\n\n})($sp, input, data, FormModel, options, Multiform, gs, GlideRecord);]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-24 00:26:03&lt;/sys_created_on&gt;&lt;sys_id&gt;52da025fdb29d300d19b468b3a961947&lt;/sys_id&gt;&lt;sys_mod_count&gt;1005&lt;/sys_mod_count&gt;&lt;sys_name&gt;Multiform&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_52da025fdb29d300d19b468b3a961947&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 06:28:49&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pi-multiform\" pi-mf-drag-drop-upload&gt;\n\n  &lt;div class=\"pimf-drag-drop-overlay\"&gt;\n    &lt;div class=\"pimf-drag-drop-mask\"&gt;&lt;/div&gt;\n    &lt;div&gt;\n      &lt;i class=\"fa fa-upload\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;br/&gt;\n      Upload\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Loading spinner --&gt;\n  &lt;div class=\"pimf-loading\" ng-if=\"c.loading\"&gt;\n    &lt;svg width=\"44\" height=\"44\" viewBox=\"0 0 44 44\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000\"&gt;\n      &lt;g fill=\"none\" fill-rule=\"evenodd\" stroke-width=\"2\"&gt;\n        &lt;circle cx=\"22\" cy=\"22\" r=\"1\"&gt;\n          &lt;animate attributeName=\"r\" begin=\"0s\" dur=\"1.8s\" values=\"1; 20\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.165, 0.84, 0.44, 1\" repeatCount=\"indefinite\"/&gt;\n          &lt;animate attributeName=\"stroke-opacity\" begin=\"0s\" dur=\"1.8s\" values=\"1; 0\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.3, 0.61, 0.355, 1\" repeatCount=\"indefinite\"/&gt;\n        &lt;/circle&gt;\n        &lt;circle cx=\"22\" cy=\"22\" r=\"1\"&gt;\n          &lt;animate attributeName=\"r\" begin=\"-0.9s\" dur=\"1.8s\" values=\"1; 20\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.165, 0.84, 0.44, 1\" repeatCount=\"indefinite\"/&gt;\n          &lt;animate attributeName=\"stroke-opacity\" begin=\"-0.9s\" dur=\"1.8s\" values=\"1; 0\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.3, 0.61, 0.355, 1\" repeatCount=\"indefinite\"/&gt;\n        &lt;/circle&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Form loading Errors --&gt;\n  &lt;div class=\"pimf-error alert alert-danger\" ng-if=\"::c.data.errorMessages.length &gt; 0\"&gt;\n    &lt;strong&gt;${There were errors loading this page}&lt;/strong&gt;\n    &lt;ul&gt;\n      &lt;li ng-repeat=\"error in ::c.data.errorMessages\"&gt;{{::error}}&lt;/li&gt;\n    &lt;/ul&gt;\n  &lt;/div&gt;\n\n  &lt;!-- Content --&gt;\n  &lt;div ng-if=\"c.data.errorMessages.length === 0\" class=\"pimf-content\" ng-show=\"!c.loading\"&gt;\n\n    &lt;div class=\"pi-mf-head\"&gt;\n\n      &lt;div class=\"pi-mf-title\"&gt;\n        &lt;h1&gt;{{c.getCurrentScreenTitle()}}&lt;/h1&gt;\n      &lt;/div&gt;\n\n      &lt;div class=\"pi-mf-attachments\"&gt;\n        &lt;div class=\"pi-mfa-container\"&gt;\n          &lt;div class=\"pi-mfa-label\"&gt;Attachments&lt;/div&gt;\n          &lt;pi-mf-attachment-manager table=\"::c.data.form.table\"\n                                    sys-id=\"::c.data.form._attachmentGUID\"\n                                    omit-edit=\"false\"&gt;&lt;/pi-mf-attachment-manager&gt;\n          &lt;button class=\"pi-mfa-add\" pi-mf-button-upload&gt;\n            &lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n          &lt;/button&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Indicators --&gt;\n      &lt;div class=\"pi-mf-indicators\"&gt;\n        &lt;div ng-repeat=\"i in makeArray(c.getScreenCount()) track by $index\"\n             ng-class=\"{'pi-mfi-active': c.getCurrentScreen() === $index}\"\n             ng-click=\"c.goToScreen($index)\"&gt;{{$index + 1}}&lt;/div&gt;\n      &lt;/div&gt;\n\n    &lt;/div&gt;\n\n    &lt;div class=\"pi-mf-mainbody\"&gt;\n\n      &lt;!-- Top children --&gt;\n      &lt;div class=\"pi-mf-b-top\"&gt;\n        &lt;div ng-repeat=\"child in c.childrenToShow.top\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\"&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;div class=\"pi-mf-flexrow\"&gt;\n\n        &lt;!-- Left children --&gt;\n        &lt;div ng-repeat=\"child in c.childrenToShow.left\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\"&gt;\n        &lt;/div&gt;\n\n\n        &lt;!-- Main Form --&gt;\n        &lt;div class=\"pi-mf-mainform container-fluid\"&gt;\n          &lt;sp-model form-model=\"::c.data.form\"\n                    mandatory=\"true\"\n                    template-url=\"pi-multiform\"\n                    ng-if=\"::c.data.form\"&gt;&lt;/sp-model&gt;\n        &lt;/div&gt;\n\n        &lt;!-- Right children --&gt;\n        &lt;div ng-repeat=\"child in c.childrenToShow.right\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\"&gt;\n        &lt;/div&gt;\n\n      &lt;/div&gt;\n\n\n      &lt;!-- Bottom children --&gt;\n      &lt;div class=\"pi-mf-b-bottom\"&gt;\n        &lt;div ng-repeat=\"child in c.childrenToShow.bottom\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\"&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n\n    &lt;/div&gt;\n\n    &lt;!-- Actions --&gt;\n    &lt;div class=\"pi-mf-actions\"&gt;\n\n      &lt;!-- Left side (secondary) --&gt;\n      &lt;div class=\"pi-mfa-secondary\"&gt;\n        &lt;button ng-click=\"c.previous()\" ng-if=\"!c.isFirst()\"&gt;\n          &lt;i class=\"fa fa-angle-left\" aria-hidden=\"true\"&gt;&lt;/i&gt; ${Previous}\n        &lt;/button&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Right side (primary) --&gt;\n      &lt;div class=\"pi-mfa-primary\"&gt;\n        &lt;button ng-click=\"c.submit()\" ng-if=\"c.isLast()\"&gt;{{::c.getMasterPrimaryAction().name}}&lt;/button&gt;\n        &lt;button ng-click=\"c.next()\" ng-if=\"!c.isLast()\"&gt;\n          ${Next} &lt;i class=\"fa fa-angle-right\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/button&gt;\n      &lt;/div&gt;\n\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;now-message key=\"Please complete all mandatory fields before submission\" value=\"${Please complete all mandatory fields before submission}\"&gt;&lt;/now-message&gt;\n&lt;now-message key=\"This field must be completed\" value=\"This field must be completed\"&gt;&lt;/now-message&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-22459642</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587bb0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_flex_grow</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"flex_grow\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Flex grow&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;0&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;flex_grow&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:06:32&lt;/sys_created_on&gt;&lt;sys_id&gt;e763f592db525300687c26b38a9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Flex grow&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_flex_grow&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:59&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>658754924</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d470000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Flex grow</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_widget_widget</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"widget\" table=\"x_pisn_multiform_child_widget\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;widget&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_widget&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sp_widget\"&gt;sp_widget&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:10:55&lt;/sys_created_on&gt;&lt;sys_id&gt;bb633992db525300687c26b38a961927&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_widget_widget&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:01&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1593613618</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58bf80000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget.Widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_form_max_child_records_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"max_child_records\" label=\"Max child records\" language=\"en\" table=\"x_pisn_multiform_child_form\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>max_child_records</element><help/><hint/><label>Max child records</label><language>en</language><name>x_pisn_multiform_child_form</name><plural>Max child records</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 06:50:58</sys_created_on><sys_id>997f2710dbde130031132fb748961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Max child records</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_form_max_child_records_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 06:50:58</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1895015383</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58aa40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Max child records</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_sp_instance_progression_method_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"progression_method\" label=\"Progression method\" language=\"en\" table=\"x_pisn_multiform_sp_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>progression_method</element><help/><hint/><label>Progression method</label><language>en</language><name>x_pisn_multiform_sp_instance</name><plural>Progression methods</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:36:22</sys_created_on><sys_id>f1ce3724db16d300687c26b38a9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Progression method</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_sp_instance_progression_method_en</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:36:22</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1280987762</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a961994</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58de60000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.Progression method</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_467f6263db391f00d19b468b3a9619bc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-07 08:00:15</sys_created_on><sys_id>467f6263db391f00d19b468b3a9619bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_467f6263db391f00d19b468b3a9619bc</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-07 08:00:15</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1521947102</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a961997</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f587320000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_c72fd202db8a5340b85e8a8b3a9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.ChildForm&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;ChildForm&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var ChildForm = Class.create();\n\nChildForm.prototype = Object.extendsObject(Child, {\n\n\ttableName: 'x_pisn_multiform_child_form',\n\n\tgetTitle: function getTitle () {\n\t\treturn this._gr.getValue('title');\n\t},\n\n\tgetDescription: function getDescription () {\n\t\treturn this._gr.getValue('description');\n\t},\n\n\tgetTableName: function getTableName () {\n\t\treturn this._gr.getValue('table');\n\t},\n\n\tgetParentTable: function getParentTable() {\n\t\tvar parent = this._gr.parent.getRefRecord();\n\t\treturn parent.getValue('table');\n\t},\n\n\tgetReferenceToParent: function getReferenceToParent() {\n\t\treturn this._gr.getValue('reference_to_parent');\n\t},\n\n\tgetReferenceToParentDisplay: function getReferenceToParentDisplay () {\n\t\treturn this._gr.getDisplayValue('reference_to_parent');\n\t},\n\n\tgetView: function getView () {\n\t\treturn this._gr.getValue('view');\n\t},\n\t\n\tgetMinChildRecords: function getMinChildRecords () {\n\t\treturn parseInt(this._gr.getValue('min_child_records'));\n\t},\n\t\n\tgetMaxChildRecords: function getMaxChildRecords () {\n\t\treturn parseInt(this._gr.getValue('max_child_records'));\n\t},\n\n\tgetChildFormModels: function getChildFormModel () {\n\n\t\tvar formModels = [];\n\t\tvar sysId = $sp.getParameter('sys_id');\n\n\t\tif (sysId) {\n\n\t\t\tvar gr = new GlideRecord(this.getTableName());\n\t\t\tgr.addQuery(this.getReferenceToParent(), sysId);\n\t\t\tgr.query();\n\n\t\t\twhile (gr.next()) {\n\n\t\t\t\tvar fm = new FormModel(this.getTableName(),\n\t\t\t\t\t\t\t\t\t   gr.getUniqueValue(),\n\t\t\t\t\t\t\t\t\t   this.getView(),\n\t\t\t\t\t\t\t\t\t   this.getReferenceToParent(),\n\t\t\t\t\t\t\t\t\t   this.getReferenceToParentDisplay());\n\n\t\t\t\tformModels.push(fm);\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar diff = this.getMinChildRecords() - formModels.length;\n\t\t\n\t\tfor (i = 0; i &lt; diff; i++) {\n\t\t\tformModels.push(new FormModel(this.getTableName(),\n\t\t\t\t\t\t\t\t\t\t  '-1',\n\t\t\t\t\t\t\t\t\t\t  this.getView(),\n\t\t\t\t\t\t\t\t\t\t  this.getReferenceToParent(),\n\t\t\t\t\t\t\t\t\t\t  this.getReferenceToParentDisplay()));\n\t\t}\n\n\t\treturn formModels;\n\t},\n\n\ttoJSON: function toJSON () {\n\n\t\tvar parentJSON = Child.prototype.toJSON.call(this);\n\n\t\tvar json = {\n\t\t\ttitle: this.getTitle(),\n\t\t\tdescription: this.getDescription(),\n\t\t\ttableName: this.getTableName(),\n\t\t\treferenceToParent: this.getReferenceToParent(),\n\t\t\tformModels: this.getChildFormModels(),\n\t\t\tparentTable: this.getParentTable(),\n\t\t\tminChildRecords: this.getMinChildRecords(),\n\t\t\tmaxChildRecords: this.getMaxChildRecords()\n\t\t};\n\n\t\tObject.keys(parentJSON).forEach(function(key) { json[key] = parentJSON[key]; });\n\n\t\treturn json;\n\n\t},\n\n\ttype: 'ChildForm'\n});]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 01:13:57&lt;/sys_created_on&gt;&lt;sys_id&gt;c72fd202db8a5340b85e8a8b3a9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;39&lt;/sys_mod_count&gt;&lt;sys_name&gt;ChildForm&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_c72fd202db8a5340b85e8a8b3a9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-24 05:41:29&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1010447790</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a96199a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c4c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>ChildForm</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_dfddfe4bdbc2130031132fb748961963</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_form</description><name>x_pisn_multiform_child_form</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>dfddfe4bdbc2130031132fb748961963</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_dfddfe4bdbc2130031132fb748961963</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1929739886</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a96199d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d040000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_df15dfd3dbe9d300d19b468b3a961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>df15dfd3dbe9d300d19b468b3a961945</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_sp_instance\">5315dfd3dbe9d300d19b468b3a961942</sys_security_acl><sys_update_name>sys_security_acl_role_df15dfd3dbe9d300d19b468b3a961945</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-70398808</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a9619a0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cfe0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_1ffc6836db06d340d19b468b3a96194e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_multiform.Directive.piMfCapture&lt;/name&gt;&lt;script&gt;&lt;![CDATA[PiMf.directive('piMfCapture', function piMfCapture(PiMfManager) {\n\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** This event will be emitted by spModel when it's finished loading */\n\t\tscope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\n\t\t\t/** Register the child form, and all it's items */\n\t\t\tPiMfManager.addChild(attrs.piMfcChild,\n\t\t\t\tattrs.piMfcIndex,\n\t\t\t\tscope.formModel,\n\t\t\t\tgFormInstance,\n\t\t\t\tscope.child.referenceToParent);\n\t\t});\n\t}\n});]]&gt;&lt;/script&gt;&lt;script_name&gt;Directive.piMfCapture&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-17 00:50:25&lt;/sys_created_on&gt;&lt;sys_id&gt;1ffc6836db06d340d19b468b3a96194e&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform.Directive.piMfCapture&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_1ffc6836db06d340d19b468b3a96194e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-23 07:09:58&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1813728047</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a9619a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585fd0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform.Directive.piMfCapture</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_d0755717dbe9d300d19b468b3a96192e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"d0755717dbe9d300d19b468b3a96192e\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"sp_instance_config\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>table</element><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>18e9f2cbdb8ed340b85e8a8b3a961910</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>record</element><position>1</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>98e9f2cbdb8ed340b85e8a8b3a961910</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>2</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>1ce9f2cbdb8ed340b85e8a8b3a961910</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>view</element><position>3</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>9ce9f2cbdb8ed340b85e8a8b3a961910</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>success_page</element><position>4</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>10e9f2cbdb8ed340b85e8a8b3a961911</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>5</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>90e9f2cbdb8ed340b85e8a8b3a961911</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>12M.x_pisn_multiform_sp_instance.x_pisn_multiform_child.parent</element><position>6</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 05:44:27</sys_created_on><sys_id>14e9f2cbdb8ed340b85e8a8b3a961911</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">d0755717dbe9d300d19b468b3a96192e</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><type>list</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d0755717dbe9d300d19b468b3a96192e</sys_id><sys_mod_count>3</sys_mod_count><sys_name>x_pisn_multiform_sp_instance</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_d0755717dbe9d300d19b468b3a96192e</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 05:44:27</sys_updated_on><sys_user/><title>false</title><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>1887715013</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a9619a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58ca40000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>sp_instance_config</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_73633992db525300687c26b38a96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>x_pisn_multiform_child_widget</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:20</sys_created_on><sys_id>73633992db525300687c26b38a96192d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>ua_table_licensing_config_73633992db525300687c26b38a96192d</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:20</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>1022898249</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f4260a9edb525300687c26b38a9619a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5893f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>x_pisn_multiform_child_widget</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_d7458478db16d300687c26b38a9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PiMultiForm\">920ad294dbda130031132fb7489619fe</sp_dependency><sp_widget display_value=\"Multiform Child Widget Example\">56154478db16d300687c26b38a961953</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 03:04:52</sys_created_on><sys_id>d7458478db16d300687c26b38a9619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PiMultiForm.Child Widget Example</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_widget_dependency_d7458478db16d300687c26b38a9619d9</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 03:04:52</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1316677319</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a961984</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58cce0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>PiMultiForm.Child Widget Example</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_26dca44cdbbd1700d19b468b3a9619e1</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pi-multiform&lt;/id&gt;&lt;sp_widget display_value=\"Multiform\"&gt;52da025fdb29d300d19b468b3a961947&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-26 01:31:01&lt;/sys_created_on&gt;&lt;sys_id&gt;26dca44cdbbd1700d19b468b3a9619e1&lt;/sys_id&gt;&lt;sys_mod_count&gt;148&lt;/sys_mod_count&gt;&lt;sys_name&gt;pi-multiform&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_26dca44cdbbd1700d19b468b3a9619e1&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-16 06:58:58&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div pi-multi-form&gt;\n  \n  &lt;fieldset class=\"pi-mf-section\"&gt;\n    \n    &lt;div ng-repeat=\"container in getSelectedContainer()\" class=\"pi-mf-container\"&gt;\n      \n      &lt;div class=\"pi-mfc-body container-fluid\"&gt;\n        &lt;sp-variable-layout ng-init=\"containers=[container]\"&gt;&lt;/sp-variable-layout&gt;\n      &lt;/div&gt;\n      \n    &lt;/div&gt;\n    \n  &lt;/fieldset&gt;\n  \n  &lt;div ng-init=\"execItemScripts()\"&gt;&lt;/div&gt;\n  \n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1092873114</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5863c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>pi-multiform</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_active</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"active\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Active&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value&gt;true&lt;/default_value&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;active&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:03:08&lt;/sys_created_on&gt;&lt;sys_id&gt;eb63f592db525300687c26b38a9619f7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Active&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_active&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:56:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1090516529</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58daf0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Active</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" extends=\"sys_metadata\" table=\"x_pisn_multiform_child\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:00:54&lt;/sys_created_on&gt;&lt;sys_id&gt;e363f592db525300687c26b38a9619f1&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_multiform_child&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_NULL&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-468557801</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58d2e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_flex_basis_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"flex_basis\" label=\"Flex basis\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>flex_basis</element><help/><hint/><label>Flex basis</label><language>en</language><name>x_pisn_multiform_child</name><plural>Flex basis</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:06:01</sys_created_on><sys_id>b3cefa8bdbc2130031132fb748961914</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Flex basis</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_flex_basis_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:06:01</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>192200003</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58bbf0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Flex basis</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_widget_widget_options_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"widget_options\" label=\"Widget options\" language=\"en\" table=\"x_pisn_multiform_child_widget\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>widget_options</element><help/><hint/><label>Widget options</label><language>en</language><name>x_pisn_multiform_child_widget</name><plural>Widget options</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-18 06:12:33</sys_created_on><sys_id>f3404b0fdbc2130031132fb7489619eb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget options</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_widget_widget_options_en</sys_update_name><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-18 06:12:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1692107031</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a961993</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58def0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>Child Widget.Widget options</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_1d4c5483dbf1db00d19b468b3a9619b6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-05 08:00:09</sys_created_on><sys_id>1d4c5483dbf1db00d19b468b3a9619b6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_1d4c5483dbf1db00d19b468b3a9619b6</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-05 08:00:09</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1521947102</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a961996</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585cb0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_3b1f9202db8a5340b85e8a8b3a9619e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.Location&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;Location&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var Location = Class.create();\n\nLocation.prototype = {\n\t\n    initialize: function(mfSysId, locationName, formSectionId) {\n\t\t\n\t\tthis._isGlobal = typeof formSectionId === 'undefined';\n\t\t\n\t\tthis._mfSysId = mfSysId;\n\t\tthis._formSectionId = formSectionId;\n\t\tthis._locationName = locationName;\n\t\t\n\t\tthis.setLength();\n    },\n\t\n\tgetChildGr: function getChildGr () {\n\t\tvar gr = new GlideRecord('x_pisn_multiform_child');\n\t\t\n\t\tif (!this._isGlobal) {\n\t\t\tgr.addQuery('form_section', this._formSectionId);\n\t\t}\n\t\t\n\t\tgr.addQuery('apply_to', this._isGlobal ? 'entire_form' : 'single_section');\n\t\tgr.addQuery('parent', this._mfSysId);\n\t\tgr.addQuery('location', this._locationName);\n\t\tgr.addActiveQuery();\n\t\tgr.query();\n\t\t\n\t\treturn gr;\n\t},\n\t\n\tsetLength: function setLength () {\n\t\tvar gr = this.getChildGr();\n\t\tthis.length = gr.getRowCount();\n\t},\n\t\n\tgetChildren: function getChildren () {\n\t\t\n\t\tvar gr = this.getChildGr();\n\t\t\n\t\tvar children = [];\n\t\t\n\t\twhile (gr.next()) {\n\t\t\tvar sId = gr.getUniqueValue();\n\t\t\tchildren.push(gr.getValue('sys_class_name') === 'x_pisn_multiform_child_form' ? new ChildForm(sId) : new ChildWidget(sId));\n\t\t}\n\t\t\n\t\treturn children;\n\t},\n\t\n\ttoJSON: function () {\n\t\treturn this.getChildren();\n\t},\n\n    type: 'Location'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 01:13:43&lt;/sys_created_on&gt;&lt;sys_id&gt;3b1f9202db8a5340b85e8a8b3a9619e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;34&lt;/sys_mod_count&gt;&lt;sys_name&gt;Location&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_3b1f9202db8a5340b85e8a8b3a9619e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-18 07:14:07&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-97438854</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a961999</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586d60000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Location</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_8dad328bdbc2130031132fb748961990</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child</description><name>x_pisn_multiform_child</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>8dad328bdbc2130031132fb748961990</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_8dad328bdbc2130031132fb748961990</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>127717251</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a96199c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a1c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>x_pisn_multiform_child</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_b9fd368bdbc2130031132fb748961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:02:19</sys_created_on><sys_id>b9fd368bdbc2130031132fb748961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_widget.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_child_widget\">71fd368bdbc2130031132fb748961993</sys_security_acl><sys_update_name>sys_security_acl_role_b9fd368bdbc2130031132fb748961995</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:02:19</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-651128459</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a96199f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58be20000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_widget</table>\n<target_name>x_pisn_multiform_child_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_policy_3d60c874db16d300687c26b38a96194b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_policy\"&gt;&lt;sys_ui_policy action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;conditions table=\"x_pisn_multiform_child\"&gt;apply_to=single_section^EQ&lt;item endquery=\"false\" field=\"apply_to\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"single_section\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/conditions&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;inherit&gt;true&lt;/inherit&gt;&lt;model_id/&gt;&lt;model_table/&gt;&lt;on_load&gt;true&lt;/on_load&gt;&lt;order&gt;100&lt;/order&gt;&lt;reverse_if_false&gt;true&lt;/reverse_if_false&gt;&lt;run_scripts&gt;false&lt;/run_scripts&gt;&lt;script_false&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_false&gt;&lt;script_true&gt;&lt;![CDATA[function onCondition() {\n\n}]]&gt;&lt;/script_true&gt;&lt;set_values/&gt;&lt;short_description&gt;Show and require 'Form section' if 'Apply to' is 'Single section'&lt;/short_description&gt;&lt;sys_class_name&gt;sys_ui_policy&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-23 02:44:52&lt;/sys_created_on&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;3d60c874db16d300687c26b38a96194b&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Show and require 'Form section' if 'Apply to' is 'Single section'&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_policy_3d60c874db16d300687c26b38a96194b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-23 02:55:58&lt;/sys_updated_on&gt;&lt;table&gt;x_pisn_multiform_child&lt;/table&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;view/&gt;&lt;/sys_ui_policy&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1694850084</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a9619a2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586fb0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Show and require 'Form section' if 'Apply to' is 'Single section'</target_name>\n<type>UI Policy</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_97040343db06130031132fb7489619bc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Instructions\" section_id=\"97040343db06130031132fb7489619bc\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>instructions</element><position>0</position><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:28:56</sys_created_on><sys_id>2f044343db06130031132fb748961930</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Instructions\" display_value=\"Instructions\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">97040343db06130031132fb7489619bc</sys_ui_section><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:28:56</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Instructions</caption><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:28:55</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>97040343db06130031132fb7489619bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Instructions</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_97040343db06130031132fb7489619bc</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:28:55</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>1563050885</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a9619a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a710000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_ceca1720dbd2d300687c26b38a9619d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Child Form</answer><button_label/><dependent_value/><element/><name>Child Form</name><next_question/><order>100</order><payload_name/><question display_value=\"\">54925561db0113008cfb70f08c96190f</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 23:59:06</sys_created_on><sys_id>ceca1720dbd2d300687c26b38a9619d3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Child Form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_ceca1720dbd2d300687c26b38a9619d3</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 23:59:06</sys_updated_on><table/><target_url>x_pisn_multiform_child_form.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>-1344075482</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>f8260a9edb525300687c26b38a9619a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c8b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Child Form</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_49fd608cdbbd1700d19b468b3a96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"piMultiForm\">20dd208cdbbd1700d19b468b3a96194b</sp_angular_provider><sp_widget display_value=\"Multiform\">52da025fdb29d300d19b468b3a961947</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-26 01:35:39</sys_created_on><sys_id>49fd608cdbbd1700d19b468b3a96194f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>scopeLogger.Multiform</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_49fd608cdbbd1700d19b468b3a96194f</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-26 01:35:39</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1577239529</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a961983</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5874e0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>scopeLogger.Multiform</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c94a9694dbda130031132fb7489619e1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Module.PiMultiForm</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 00:39:15</sys_created_on><sys_id>c94a9694dbda130031132fb7489619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Module.PiMultiForm</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_ui_script display_value=\"x_pisn_multiform.Module.PiMultiForm\">fbe95294dbda130031132fb748961972</sys_ui_script><sys_update_name>sp_js_include_c94a9694dbda130031132fb7489619e1</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 00:39:15</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1848520232</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a961986</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58c6c0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Module.PiMultiForm</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_196dba4bdbc2130031132fb748961948</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>package_private</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>true</is_extendable><label>Multiform Child</label><live_feed_enabled>false</live_feed_enabled><name>x_pisn_multiform_child</name><number_ref/><provider_class/><read_access>false</read_access><super_class display_value=\"Application File\" name=\"sys_metadata\">f98c3013042113006517fb8f19614762</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:00:54</sys_created_on><sys_id>196dba4bdbc2130031132fb748961948</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Multiform Child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_db_object_196dba4bdbc2130031132fb748961948</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:00:54</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>false</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-1748594256</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585990000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_child_form_table</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"table\" table=\"x_pisn_multiform_child_form\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;allow_public&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Table&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;table&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;table_name&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;80&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_child_form&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-18 06:22:44&lt;/sys_created_on&gt;&lt;sys_id&gt;2f633992db525300687c26b38a961916&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_child_form_table&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:00&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-221488444</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f586980000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>Child Form.Table</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_x_pisn_multiform_sp_instance_view</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"view\" table=\"x_pisn_multiform_sp_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;View&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;view&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;true&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;x_pisn_multiform_sp_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_ui_view\"&gt;sys_ui_view&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-04-24 05:50:31&lt;/sys_created_on&gt;&lt;sys_id&gt;f7633992db525300687c26b38a96193b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;View&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_x_pisn_multiform_sp_instance_view&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;system&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-28 02:57:02&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1020334862</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e560000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform.View</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_x_pisn_multiform_child_location_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"location\" label=\"Location\" language=\"en\" table=\"x_pisn_multiform_child\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>location</element><help/><hint/><label>Location</label><language>en</language><name>x_pisn_multiform_child</name><plural>Locations</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:08:20</sys_created_on><sys_id>b55fb6cbdbc2130031132fb74896190e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Location</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_documentation_x_pisn_multiform_child_location_en</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:08:20</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1188597472</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a961992</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58bc70000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child.Location</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_014c5483dbf1db00d19b468b3a9619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-05-05 08:00:09</sys_created_on><sys_id>014c5483dbf1db00d19b468b3a9619b5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_gauge_counts_014c5483dbf1db00d19b468b3a9619b5</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-05-05 08:00:09</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-384280133</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f584060000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_165f1602db8a5340b85e8a8b3a9619b4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_multiform.MfGrObject&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;MfGrObject&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var MfGrObject = Class.create();\n\nMfGrObject.prototype = {\n\t\n\ttableName: false,\n\t\n    initialize: function(sysId) {\n\t\t\n\t\t// Nasty. Ideally we'd pass in a GlideRecord, then\n\t\t// use getLocation() to save the location of the record\n\t\t// and restore it with setLocation(). However, neither \n\t\t// of these are available in ScopedGlideRecord (yet?)\n\t\t// so this will have to do...\n\t\t\n\t\tif (!this.tableName) {\n\t\t\tthrow \"Table name not set\";\n\t\t}\n\t\t\n\t\tif (typeof sysId !== 'string' || sysId.length !== 32) {\n\t\t\tthrow \"Sys ID not provided\";\n\t\t}\n\t\t\n\t\tvar gr = new GlideRecord(this.tableName);\n\n        if (gr.get(sysId)) {\n\t\t\t\n\t\t\tthis._gr = gr;\n\t\t\t\n            return true;\n\t\t\t\n        } else {\n\t\t\tthrow \"Record not found!\";\n\t\t}\n\t\t\n    },\n\t\n\tgetSysId: function() {\n        return this._gr.getValue('sys_id');\n    },\n\n    type: 'MfGrObject'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-05-15 01:14:49&lt;/sys_created_on&gt;&lt;sys_id&gt;165f1602db8a5340b85e8a8b3a9619b4&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;MfGrObject&lt;/sys_name&gt;&lt;sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"Multiform\"&gt;991a021fdb29d300d19b468b3a9619b4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_165f1602db8a5340b85e8a8b3a9619b4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-15 01:17:47&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1224296355</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a961998</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585650000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>MfGrObject</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5fddb28bdbc2130031132fb7489619af</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on x_pisn_multiform_child_form</description><name>x_pisn_multiform_child_form</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:01:53</sys_created_on><sys_id>5fddb28bdbc2130031132fb7489619af</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child_form</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_security_acl_5fddb28bdbc2130031132fb7489619af</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:01:53</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>2115005822</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a96199b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f5888d0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child_form</table>\n<target_name>x_pisn_multiform_child_form</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9715dfd3dbe9d300d19b468b3a96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:50:32</sys_created_on><sys_id>9715dfd3dbe9d300d19b468b3a96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_sp_instance.sp_admin</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_security_acl display_value=\"x_pisn_multiform_sp_instance\">5b15dfd3dbe9d300d19b468b3a96192c</sys_security_acl><sys_update_name>sys_security_acl_role_9715dfd3dbe9d300d19b468b3a96193d</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-04-24 05:50:32</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>146776970</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a96199e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58a7b0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>x_pisn_multiform_sp_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_x_pisn_multiform_child_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"x_pisn_multiform_child\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>active</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>7f138f8fdbc2130031132fb748961998</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>align_self</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>ff138f8fdbc2130031132fb748961998</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>apply_to</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>73138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>flex_basis</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>f3138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>flex_grow</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>77138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>flex_shrink</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>f7138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>form_section</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>7b138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>location</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>fb138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>order</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>8</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>7f138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>parent</element><list_id display_value=\"x_pisn_multiform_child\" element=\"NULL\" name=\"x_pisn_multiform_child\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">f7138f8fdbc2130031132fb748961998</list_id><max_value>false</max_value><min_value>false</min_value><position>9</position><sum>false</sum><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_id>ff138f8fdbc2130031132fb748961999</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>x_pisn_multiform_child</name><parent/><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-18 06:24:51</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>f7138f8fdbc2130031132fb748961998</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_multiform_child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_list_x_pisn_multiform_child_null</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:24:51</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>1142408820</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a9619a1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f58e2f0000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_child</table>\n<target_name>Multiform Child</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_1c755717dbe9d300d19b468b3a961927</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Presentation\" section_id=\"1c755717dbe9d300d19b468b3a961927\" sys_domain=\"global\" table=\"x_pisn_multiform_sp_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>order</element><position>0</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:00</sys_created_on><sys_id>946f3f24db16d300687c26b38a9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Presentation\" display_value=\"Presentation\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">1c755717dbe9d300d19b468b3a961927</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:00</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>css</element><position>1</position><sys_created_by>dylan.lindgren@snc</sys_created_by><sys_created_on>2018-05-23 02:39:00</sys_created_on><sys_id>186f3f24db16d300687c26b38a9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Presentation\" display_value=\"Presentation\" name=\"x_pisn_multiform_sp_instance\" sys_domain=\"global\" view=\"Default view\">1c755717dbe9d300d19b468b3a961927</sys_ui_section><sys_updated_by>dylan.lindgren@snc</sys_updated_by><sys_updated_on>2018-05-23 02:39:00</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Presentation</caption><header>false</header><name>x_pisn_multiform_sp_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-04-24 05:51:58</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>1c755717dbe9d300d19b468b3a961927</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Presentation</sys_name><sys_overrides/><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_ui_section_1c755717dbe9d300d19b468b3a961927</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-18 06:30:21</sys_updated_on><sys_user/><title>false</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>1490569538</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a9619a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f585c30000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table>x_pisn_multiform_sp_instance</table>\n<target_name>Instance of Multiform</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</application>\n<category>customer</category>\n<comments/>\n<name>sys_wizard_answer_82ca1720dbd2d300687c26b38a9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_wizard_answer\"><sys_wizard_answer action=\"INSERT_OR_UPDATE\"><active>true</active><answer>Multiform Child</answer><button_label/><dependent_value/><element/><name>Multiform Child</name><next_question/><order>100</order><payload_name/><question display_value=\"\">54925561db0113008cfb70f08c96190f</question><roles/><script/><sys_class_name>sys_wizard_answer</sys_class_name><sys_created_by>dylan.lindgren</sys_created_by><sys_created_on>2018-05-22 23:59:06</sys_created_on><sys_id>82ca1720dbd2d300687c26b38a9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Multiform Child</sys_name><sys_package display_value=\"Multiform\" source=\"x_pisn_multiform\">991a021fdb29d300d19b468b3a9619b4</sys_package><sys_policy/><sys_scope display_value=\"Multiform\">991a021fdb29d300d19b468b3a9619b4</sys_scope><sys_update_name>sys_wizard_answer_82ca1720dbd2d300687c26b38a9619ec</sys_update_name><sys_updated_by>dylan.lindgren</sys_updated_by><sys_updated_on>2018-05-22 23:59:06</sys_updated_on><table/><target_url>x_pisn_multiform_child.do</target_url><type>1</type></sys_wizard_answer></record_update>]]></payload>\n<payload_hash>-2073806380</payload_hash>\n<remote_update_set display_value=\"Multiform\">30260a9edb525300687c26b38a961982</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren@snc</sys_created_by>\n<sys_created_on>2018-05-28 04:18:39</sys_created_on>\n<sys_id>fc260a9edb525300687c26b38a9619a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>163a4f589860000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren@snc</sys_updated_by>\n<sys_updated_on>2018-05-28 04:18:39</sys_updated_on>\n<table/>\n<target_name>Multiform Child</target_name>\n<type>Answer</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.Child.u-server-script.js",
    "content": "var Child = Class.create();\n\nChild.prototype = Object.extendsObject(MfGrObject, {\n\t\n\ttableName: 'x_pisn_multiform_child',\n\t\n\tgetOrder: function getOrder() {\n\t\treturn parseInt(this._gr.getValue('order'));\n\t},\n\t\n\tgetType: function getType() {\n\t\treturn this.type;\n\t},\n\t\n\tgetFlexBasis: function getFlexBasis() {\n\t\treturn this._gr.getValue('flex_basis');\n\t},\n\t\n\tgetFlexGrow: function getFlexGrow() {\n\t\treturn parseInt(this._gr.getValue('flex_grow'));\n\t},\n\t\n\tgetFlexShrink: function getFlexShrink() {\n\t\treturn parseInt(this._gr.getValue('flex_shrink'));\n\t},\n\t\n\ttoJSON: function toJSON() {\n\t\treturn {\n\t\t\torder: this.getOrder(),\n\t\t\ttype: this.getType(),\n\t\t\tsysId: this.getSysId(),\n\t\t\tflexBasis: this.getFlexBasis(),\n\t\t\tflexGrow: this.getFlexGrow(),\n\t\t\tflexShrink: this.getFlexShrink()\n\t\t};\n\t},\n\n    type: 'Child'\n\t\n});"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.ChildForm.u-server-script.js",
    "content": "var ChildForm = Class.create();\n\nChildForm.prototype = Object.extendsObject(Child, {\n\n\ttableName: 'x_pisn_multiform_child_form',\n\n\tgetTitle: function getTitle () {\n\t\treturn this._gr.getValue('title');\n\t},\n\n\tgetDescription: function getDescription () {\n\t\treturn this._gr.getValue('description');\n\t},\n\n\tgetTableName: function getTableName () {\n\t\treturn this._gr.getValue('table');\n\t},\n\n\tgetParentTable: function getParentTable() {\n\t\tvar parent = this._gr.parent.getRefRecord();\n\t\treturn parent.getValue('table');\n\t},\n\n\tgetReferenceToParent: function getReferenceToParent() {\n\t\treturn this._gr.getValue('reference_to_parent');\n\t},\n\n\tgetReferenceToParentDisplay: function getReferenceToParentDisplay () {\n\t\treturn this._gr.getDisplayValue('reference_to_parent');\n\t},\n\n\tgetView: function getView () {\n\t\treturn this._gr.getValue('view');\n\t},\n\t\n\tgetMinChildRecords: function getMinChildRecords () {\n\t\treturn parseInt(this._gr.getValue('min_child_records'));\n\t},\n\t\n\tgetMaxChildRecords: function getMaxChildRecords () {\n\t\treturn parseInt(this._gr.getValue('max_child_records'));\n\t},\n\n\tgetChildFormModels: function getChildFormModel () {\n\n\t\tvar formModels = [];\n\t\tvar sysId = $sp.getParameter('sys_id');\n\n\t\tif (sysId) {\n\n\t\t\tvar gr = new GlideRecord(this.getTableName());\n\t\t\tgr.addQuery(this.getReferenceToParent(), sysId);\n\t\t\tgr.query();\n\n\t\t\twhile (gr.next()) {\n\n\t\t\t\tvar fm = new FormModel(this.getTableName(),\n\t\t\t\t\t\t\t\t\t   gr.getUniqueValue(),\n\t\t\t\t\t\t\t\t\t   this.getView(),\n\t\t\t\t\t\t\t\t\t   this.getReferenceToParent(),\n\t\t\t\t\t\t\t\t\t   this.getReferenceToParentDisplay());\n\n\t\t\t\tformModels.push(fm);\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar diff = this.getMinChildRecords() - formModels.length;\n\t\t\n\t\tfor (i = 0; i < diff; i++) {\n\t\t\tformModels.push(new FormModel(this.getTableName(),\n\t\t\t\t\t\t\t\t\t\t  '-1',\n\t\t\t\t\t\t\t\t\t\t  this.getView(),\n\t\t\t\t\t\t\t\t\t\t  this.getReferenceToParent(),\n\t\t\t\t\t\t\t\t\t\t  this.getReferenceToParentDisplay()));\n\t\t}\n\n\t\treturn formModels;\n\t},\n\n\ttoJSON: function toJSON () {\n\n\t\tvar parentJSON = Child.prototype.toJSON.call(this);\n\n\t\tvar json = {\n\t\t\ttitle: this.getTitle(),\n\t\t\tdescription: this.getDescription(),\n\t\t\ttableName: this.getTableName(),\n\t\t\treferenceToParent: this.getReferenceToParent(),\n\t\t\tformModels: this.getChildFormModels(),\n\t\t\tparentTable: this.getParentTable(),\n\t\t\tminChildRecords: this.getMinChildRecords(),\n\t\t\tmaxChildRecords: this.getMaxChildRecords()\n\t\t};\n\n\t\tObject.keys(parentJSON).forEach(function(key) { json[key] = parentJSON[key]; });\n\n\t\treturn json;\n\n\t},\n\n\ttype: 'ChildForm'\n});"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.ChildWidget.u-server-script.js",
    "content": "var ChildWidget = Class.create();\n\nChildWidget.prototype = Object.extendsObject(Child, {\n\t\n\ttableName: 'x_pisn_multiform_child_widget',\n\t\n\ttoJSON: function toJSON () {\n\t\t\n\t\tvar parentJSON = Child.prototype.toJSON.call(this);\n\t\t\n\t\tvar json = {\n\t\t\twidget: $sp.getWidget(this._gr.getValue('widget'), this._gr.getValue('widget_options'))\n\t\t};\n\t\t\n\t\tObject.keys(parentJSON).forEach(function(key) { json[key] = parentJSON[key]; });\n\t\t\n\t\treturn json;\n\t\t\n\t},\n\n    type: 'ChildWidget'\n});"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.FormModel.u-server-script.js",
    "content": "var FormModel = Class.create();\n\nFormModel.prototype = {\n\n\tinitialize: function(parm1, sysId, view, parentRef, parentRefDisplay) {\n\t\t\n\t\tif (typeof view === 'undefined') {\n\t\t\t\n\t\t\t// Get a new record, using values from record\n\t\t\t\n\t\t\tvar childId = parm1;\n\t\t\t\n\t\t\tvar gr = new GlideRecord('x_pisn_multiform_child_form');\n\t\t\tgr.get(childId);\n\t\t\t\n\t\t\tthis.tableName = gr.getValue('table');\n\t\t\tthis.sysId = '-1';\n\t\t\tthis.view = gr.getValue('view');\n\t\t\tthis.parentRef = gr.getValue('reference_to_parent');\n\t\t\tthis.parentRefDisplay = gr.getDisplayValue('reference_to_parent');\n\t\t\t\n\t\t\t\n\t\t} else {\n\t\t\t\n\t\t\t// Get an existing record, using values passed in\n\t\t\t\n\t\t\tthis.tableName = parm1;\n\t\t\tthis.sysId = sysId;\n\t\t\tthis.view = view;\n\t\t\tthis.parentRef = parentRef;\n\t\t\tthis.parentRefDisplay = parentRefDisplay;\n\t\t}\n\n\t},\n\n\tgetFormModel: function getFormModel () {\n\n\t\tvar form = $sp.getForm(this.tableName, this.sysId, '', this.view);\n\t\t\n\t\tvar gr = new GlideRecord('sys_dictionary');\n\t\tgr.addQuery('name', this.tableName);\n\t\tgr.addQuery('element', this.parentRef);\n\t\tgr.setLimit(1);\n\t\tgr.query();\n\t\tgr.next();\n\n\t\tform._fields[this.parentRef] = {\n\t\t\t\"sys_mandatory\": false,\n\t\t\t\"visible\": false,\n\t\t\t\"dbType\": 12,\n\t\t\t\"label\": this.parentRefDisplay,\n\t\t\t\"sys_readonly\": false,\n\t\t\t\"type\": \"reference\",\n\t\t\t\"mandatory\": false,\n\t\t\t\"refTable\": gr.getValue('reference'),\n\t\t\t\"reference_type\": \"table\",\n\t\t\t\"displayValue\": \"\",\n\t\t\t\"readonly\": false,\n\t\t\t\"name\": this.parentRef,\n\t\t\t\"attributes\": {},\n\t\t\t\"reference_key\": \"sys_id\",\n\t\t\t\"readonlyClickthrough\": false,\n\t\t\t\"choice\": 0,\n\t\t\t\"value\": \"\",\n\t\t\t\"max_length\": 32,\n\t\t\t\"ed\": {\n\t\t\t\t\"reference\": gr.getValue('reference'),\n\t\t\t\t\"name\": this.parentRef\n\t\t\t},\n\t\t\t\"stagedValue\": \"\"\n\t\t};\n\n\t\tform._view.push({\n\t\t\t\"name\": this.parentRef,\n\t\t\t\"type\": \"field\"\n\t\t});\n\t\t\n\t\treturn form;\n\n\t},\n\n\ttoJSON: function toJSON() {\n\t\treturn this.getFormModel();\n\t},\n\n\ttype: 'FormModel'\n};"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.Location.u-server-script.js",
    "content": "var Location = Class.create();\n\nLocation.prototype = {\n\t\n    initialize: function(mfSysId, locationName, formSectionId) {\n\t\t\n\t\tthis._isGlobal = typeof formSectionId === 'undefined';\n\t\t\n\t\tthis._mfSysId = mfSysId;\n\t\tthis._formSectionId = formSectionId;\n\t\tthis._locationName = locationName;\n\t\t\n\t\tthis.setLength();\n    },\n\t\n\tgetChildGr: function getChildGr () {\n\t\tvar gr = new GlideRecord('x_pisn_multiform_child');\n\t\t\n\t\tif (!this._isGlobal) {\n\t\t\tgr.addQuery('form_section', this._formSectionId);\n\t\t}\n\t\t\n\t\tgr.addQuery('apply_to', this._isGlobal ? 'entire_form' : 'single_section');\n\t\tgr.addQuery('parent', this._mfSysId);\n\t\tgr.addQuery('location', this._locationName);\n\t\tgr.addActiveQuery();\n\t\tgr.query();\n\t\t\n\t\treturn gr;\n\t},\n\t\n\tsetLength: function setLength () {\n\t\tvar gr = this.getChildGr();\n\t\tthis.length = gr.getRowCount();\n\t},\n\t\n\tgetChildren: function getChildren () {\n\t\t\n\t\tvar gr = this.getChildGr();\n\t\t\n\t\tvar children = [];\n\t\t\n\t\twhile (gr.next()) {\n\t\t\tvar sId = gr.getUniqueValue();\n\t\t\tchildren.push(gr.getValue('sys_class_name') === 'x_pisn_multiform_child_form' ? new ChildForm(sId) : new ChildWidget(sId));\n\t\t}\n\t\t\n\t\treturn children;\n\t},\n\t\n\ttoJSON: function () {\n\t\treturn this.getChildren();\n\t},\n\n    type: 'Location'\n};"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.MFHelper.u-server-script.js",
    "content": "var MFHelper = Class.create();\n\nMFHelper.prototype = {\n\t\n    initialize: function() {\n    },\n\t\n\t\n\n    type: 'MFHelper'\n};"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.MFReferenceHelper.u-server-script.js",
    "content": "var MFReferenceHelper = Class.create();\nMFReferenceHelper.prototype = {\n    initialize: function() {\n    },\n\t\n\trelatedFormSections: function () {\n\t\t\n\t\tvar q = '';\n\t\t\n\t\t/*if (parent.table) {\n\t\t\tq = 'name=' + parent.table;\n\t\t}\n\t\t\n\t\tif (parent.view) {\n\t\t\tif (q !== '') {\n\t\t\t\tq = q + '^';\n\t\t\t}\n\t\t\t\n\t\t\tq = q + 'view=' + parent.view;\n\t\t}*/\n\n\t\treturn q;\n\t},\n\n    type: 'MFReferenceHelper'\n};"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.MfGrObject.u-server-script.js",
    "content": "var MfGrObject = Class.create();\n\nMfGrObject.prototype = {\n\t\n\ttableName: false,\n\t\n    initialize: function(sysId) {\n\t\t\n\t\t// Nasty. Ideally we'd pass in a GlideRecord, then\n\t\t// use getLocation() to save the location of the record\n\t\t// and restore it with setLocation(). However, neither \n\t\t// of these are available in ScopedGlideRecord (yet?)\n\t\t// so this will have to do...\n\t\t\n\t\tif (!this.tableName) {\n\t\t\tthrow \"Table name not set\";\n\t\t}\n\t\t\n\t\tif (typeof sysId !== 'string' || sysId.length !== 32) {\n\t\t\tthrow \"Sys ID not provided\";\n\t\t}\n\t\t\n\t\tvar gr = new GlideRecord(this.tableName);\n\n        if (gr.get(sysId)) {\n\t\t\t\n\t\t\tthis._gr = gr;\n\t\t\t\n            return true;\n\t\t\t\n        } else {\n\t\t\tthrow \"Record not found!\";\n\t\t}\n\t\t\n    },\n\t\n\tgetSysId: function() {\n        return this._gr.getValue('sys_id');\n    },\n\n    type: 'MfGrObject'\n};"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.Multiform.u-server-script.js",
    "content": "var Multiform = Class.create();\n\nMultiform.prototype = Object.extendsObject(MfGrObject, {\n\t\n\ttableName: 'x_pisn_multiform_sp_instance',\n\t\n\tgetGlobal: function getGlobal() {\n\t\treturn new Section(this.getSysId());\n\t},\n\t\n\tgetSections: function getSections() {\n\t\t\n\t\tvar gr = new GlideRecord('sys_ui_section');\n\t\tgr.addQuery('view', this._gr.getValue('view'));\n\t\tgr.addQuery('name', this._gr.getValue('table'));\n\t\tgr.query();\n\t\t\n\t\tvar sections = {};\n\t\t\n\t\twhile (gr.next()) {\n\t\t\tsections[gr.getUniqueValue()] = new Section(this.getSysId(), gr.getUniqueValue());\n\t\t}\n\t\t\n\t\treturn sections;\n\t\t\n\t},\n\t\n\t\n\ttoJSON: function toJSON () {\n\t\treturn {\n\t\t\tglobal: this.getGlobal(),\n\t\t\tsections: this.getSections()\n\t\t};\n\t},\n\n    type: 'Multiform'\n});"
  },
  {
    "path": "pe-multiform/script-include/pe-multiform.Section.u-server-script.js",
    "content": "var Section = Class.create();\n\nSection.prototype = {\n\t\n    initialize: function(mfSysId, formSectionId) {\n\t\tthis._isGlobal = typeof formSectionId === 'undefined';\n\t\t\n\t\tthis._mfSysId = mfSysId;\n\t\tthis._formSectionId = formSectionId;\n    },\n\n\ttoJSON: function toJSON () {\n\t\t\n\t\tvar top = new Location(this._mfSysId, 'top', this._formSectionId);\n\t\tvar bottom = new Location(this._mfSysId, 'bottom', this._formSectionId);\n\t\tvar left = new Location(this._mfSysId, 'left', this._formSectionId);\n\t\tvar right = new Location(this._mfSysId, 'right', this._formSectionId);\n\t\t\n\t\tvar r = {};\n\t\t\n\t\tif (top.length > 0) {\n\t\t\tr.top = top;\n\t\t}\n\t\t\n\t\tif (bottom.length > 0) {\n\t\t\tr.bottom = bottom;\n\t\t}\n\t\t\n\t\tif (left.length > 0) {\n\t\t\tr.left = left;\n\t\t}\n\t\t\n\t\tif (right.length > 0) {\n\t\t\tr.right = right;\n\t\t}\n\t\t\n\t\treturn r;\n\t},\n\n    type: 'Section'\n};"
  },
  {
    "path": "pe-multiform/ui-scripts/pe-multiform-directive-piMfCapture.u-client-script.js",
    "content": "PiMf.directive('piMfCapture', function piMfCapture(PiMfManager) {\n\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** This event will be emitted by spModel when it's finished loading */\n\t\tscope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\n\t\t\t/** Register the child form, and all it's items */\n\t\t\tPiMfManager.addChild(attrs.piMfcChild,\n\t\t\t\tattrs.piMfcIndex,\n\t\t\t\tscope.formModel,\n\t\t\t\tgFormInstance,\n\t\t\t\tscope.child.referenceToParent);\n\t\t});\n\t}\n});"
  },
  {
    "path": "pe-multiform/ui-scripts/pe-multiform-module-piMfLib.u-client-script.js",
    "content": "var PiMf = angular.module('PiMfLib', []);"
  },
  {
    "path": "pe-multiform/ui-scripts/pe-multiform-module-piMultiForm.u-client-script.js",
    "content": "var PiMf = angular.module('PiMultiForm', []);"
  },
  {
    "path": "pe-multiform/ui-scripts/pe-multiform-service-PiMfManager.u-client-script.js",
    "content": "PiMf.service('PiMfManager', function PiMfManager(\n  $q, spUtil, i18n, $location, $rootScope, $timeout) {\n\n  'use strict';\n\n  var master;\n  var containers;\n  var mfData;\n\n  var masterListener;\n  var childListener;\n\n  var children = [];\n  var childrenBySection = {};\n  var screenChangeFuncs = [];\n  var valueChangeFuncs = [];\n  var incompleteFieldNames = [];\n  var invalidMinMax = [];\n\n  var currentScreen = -1;\n  var screenCount = 0;\n  var childForms = 0;\n  var savedForms = 0;\n\n  var failure, success;\n\n  return {\n    init: init,\n    save: save,\n    addChild: addChild,\n    addOnScreenChangeFunc: addOnScreenChangeFunc,\n    addOnValueChangeFunc: addOnValueChangeFunc,\n    nextScreen: nextScreen,\n    prevScreen: prevScreen,\n    goToScreen: goToScreen,\n    isFirst: isFirst,\n    isLast: isLast,\n    isChildCompleted: isChildCompleted,\n    getScreenCount: getScreenCount,\n    getCurrentScreen: getCurrentScreen,\n    getSelectedContainer: getSelectedContainer,\n    getCurrentScreenTitle: getCurrentScreenTitle,\n    getChildrenToShow: getChildrenToShow,\n    childHasMandatory: childHasMandatory,\n    getFormData: getFormData,\n    getMasterPrimaryAction: getMasterPrimaryAction\n  };\n\n\n  /**\n   * INIT & SETTERS\n   */\n\n  /**\n   * Perform initialisation tasks\n   * @param  {Object} masterModel  Form model object of the master form\n   * @param  {Object} masterGForm  GlideForm instance of the master form\n   * @return {undefined}\n   */\n  function init(masterModel, masterGForm, multiFormData) {\n\n    master = {\n      model: masterModel,\n      gForm: masterGForm\n    };\n\n    mfData = multiFormData;\n\n    /**\n     * Reduce the _sections property down to an array of screens. This is \n     * required as for some reason when a form \"split\" is used, it is\n     * considered another section. We need to merge the section created\n     * by this \"split\" into the previous section.\n     */\n\n    var i = 0;\n\n    containers = master.model._sections.reduce(function(acc, cv, idx) {\n\n      /** Create a new container if the section has a caption or is first */\n      if (cv.captionDisplay !== '' && idx !== 0) {\n        i++;\n      }\n\n      acc = acc || [];\n\n      acc[i] = acc[i] || [];\n      acc[i].push(cv);\n\n      return acc;\n\n    }, false);\n\n    /** @type {Integer}  The number of screens */\n    screenCount = containers.length;\n\n    /** Register onChange event on the form, so we know when the form has changed */\n    master.gForm.$private.events.on('onChange', function(field, x, newVal) {\n      _formChanged(field, newVal, master);\n    });\n\n    goToScreen(0);\n  }\n\n  /**\n   * Add a child form\n   * @param {String} childId            The SysID of the Multiform Child\n   * @param {Integer} i                 The AngularJS ngRepeat $index\n   * @param {Object} formModel          The form model of the form\n   * @param {Object} gFormInstance      The GlideForm of the form\n   * @param {String} referenceToParent  The field on the form which refers to the master\n   */\n  function addChild(childId, i, formModel, gFormInstance, referenceToParent) {\n\n    childForms++;\n\n    childrenBySection[childId] = childrenBySection[childId] || [];\n\n    childrenBySection[childId][i] = {\n      model: formModel,\n      gForm: gFormInstance,\n      referenceToParent: referenceToParent,\n      childId: childId\n    }\n\n    children.push(childrenBySection[childId][i]);\n\n    /** Register onChange event on the form, so we know when the form has changed */\n    childrenBySection[childId][i].gForm.$private.events.on('onChange', function(field, x, newVal) {\n      _formChanged(field, newVal, childrenBySection[childId][i]);\n    });\n  }\n\n  /**\n   * Register a function that will be called when the screen changes\n   * @param {Function} func  The function to register\n   */\n  function addOnScreenChangeFunc(func) {\n    screenChangeFuncs.push(func);\n  }\n\n  /**\n   * Register a function that will be called when a form value changes\n   * @param {Function} func  The function to register\n   */\n  function addOnValueChangeFunc(func) {\n    valueChangeFuncs.push(func);\n  }\n\n\n  /**\n   * GETTERS\n   */\n\n  /**\n   * Get the The form model/GlideForm object for use in child widgets \n   * @return {Object}  The form model/GlideForm object\n   */\n  function getFormData() {\n    return {\n      children: children,\n      master: master\n    };\n  }\n\n  /**\n   * Get the Multiform Children to show for the current screen\n   * @return {Object} Structure containing the children to show\n   */\n  function getChildrenToShow() {\n\n    /** The children for the current screen */\n    var screenChildren = mfData.sections[getSelectedContainer()[0].id];\n\n    return {\n      top: (mfData.global.top || []).concat(screenChildren.top),\n      right: (mfData.global.right || []).concat(screenChildren.right),\n      bottom: (mfData.global.bottom || []).concat(screenChildren.bottom),\n      left: (mfData.global.left || []).concat(screenChildren.left)\n    }\n  }\n\n  /**\n   * Get the container which relates to the current screen\n   * @return {Object}  The container\n   */\n  function getSelectedContainer() {\n    return containers ? containers[getCurrentScreen()] : false;\n  }\n\n  /**\n   * Get the screen number we are on\n   * @return {Integer}  The screen number\n   */\n  function getCurrentScreen() {\n    return currentScreen;\n  }\n\n  /**\n   * Get the total number of screens\n   * @return {Integer} The number of screens\n   */\n  function getScreenCount() {\n    return screenCount;\n  }\n\n  /**\n   * Get the title of the screen we are currently on\n   * @return {String}  The screen title\n   */\n  function getCurrentScreenTitle() {\n    if (containers) {\n      return containers[getCurrentScreen()][0].captionDisplay;\n    }\n  }\n\n  /**\n   * Check if we are on the last screen\n   * @return {Boolean}  Whether we are on the last screen\n   */\n  function isLast() {\n    return currentScreen === screenCount - 1;\n  }\n\n  /**\n   * Check if we are on the first screen\n   * @return {Boolean}  Whether we are on the first screen\n   */\n  function isFirst() {\n    return currentScreen === 0;\n  }\n\n  /**\n   * Check if a child form has all mandatory fields completed\n   * @param  {String}  childId  The SysID of the Multiform Child\n   * @param  {Integer}  index   The AngularJS ngRepeat $index\n   * @return {Boolean}          Whether the form is completed\n   */\n  function isChildCompleted(childId, i) {\n\n    if (childrenBySection[childId]) {\n      return _getIncomplete(childrenBySection[childId][i].gForm).length === 0;\n    }\n\n    return false;\n  }\n\n  /**\n   * Get the primary UI Action for the master form\n   * @return {Object}  The UI Action\n   */\n  function getMasterPrimaryAction() {\n    if (master) {\n      return _getPrimaryAction(master);\n    }\n  }\n\n  /**\n   * Check whether a child form has mandatory fields\n   * @param  {String}  childId  The SysID of the Multiform Child\n   * @param  {Integer}  index   The AngularJS ngRepeat $index\n   * @return {Boolean}          Whether the form has mandatory fields\n   */\n  function childHasMandatory(childId, i) {\n\n    if (childrenBySection[childId] && childrenBySection[childId][i]) {\n\n      var gFormInstance = childrenBySection[childId][i].gForm;\n\n      var mandatory = [];\n      var fieldNames = gFormInstance.getFieldNames();\n\n      fieldNames.forEach(function(fieldName) {\n        if (gFormInstance.isMandatory(fieldName)) {\n          mandatory.push(fieldName);\n        }\n      });\n\n      return mandatory.length > 0;\n    }\n  }\n\n\n  /**\n   * SCREEN NAVIGATION\n   */\n\n  /**\n   * Progress to the next screen\n   * @return {undefined}\n   */\n  function nextScreen() {\n    currentScreen++;\n    _processScreenChange();\n  }\n\n  /**\n   * Progress to the previous screen\n   * @return {undefined}\n   */\n  function prevScreen() {\n    currentScreen--;\n    _processScreenChange();\n  }\n\n  /**\n   * Progress to a particular screen\n   * @param  {Integer} screen  The screen number to change to\n   * @return {undefined}\n   */\n  function goToScreen(screen) {\n    currentScreen = screen;\n    _processScreenChange();\n  }\n\n  /**\n   * Helper function to perform common actions when the screen changes\n   * @return {undefined}\n   */\n  function _processScreenChange() {\n    screenChangeFuncs.forEach(function(cv) {\n      cv();\n    });\n  }\n\n\n  /**\n   * FORM SAVING\n   */\n\n  /**\n   * Save every form\n   * @return {Promise}  A promise that will be resolved when all forms have saved\n   */\n  function save() {\n\n    incompleteFieldNames = [];\n    invalidMinMax = [];\n    savedForms = 0;\n\n    return $q(function(s, f) {\n\n      success = s;\n      failure = f;\n\n      /**\n       * Check to make sure all the mandatory fields are completed before saving.\n       *\n       * We need to do this because if say there are 5 forms on the page, and 2 of them save,\n       * it could leave us in a bad situation, especially if some of the inserted records were\n       * new records - in that case we would try to save the same new record twice, leading to\n       * a failed save due to a duplicate unique key.\n       */\n\n      /** Check the master form for errors */\n      var masterIncomplete = _getIncomplete(master.gForm);\n      incompleteFieldNames = incompleteFieldNames.concat(masterIncomplete);\n\n      masterIncomplete.forEach(function(fieldName) {\n        _setErrorFieldMessage(fieldName, master.gForm);\n      });\n\n      /** Check children forms for errors */\n      for (var key in childrenBySection) {\n        if (childrenBySection.hasOwnProperty(key)) {\n          childrenBySection[key].forEach(_checkChildIncomplete);\n        }\n      }\n\n      if (incompleteFieldNames.length === 0 && invalidMinMax.length === 0) {\n        /** No incomplete fields... let's save! */\n\n        master.gForm.submit(_getPrimaryAction(master).action_name);\n        masterListener = $rootScope.$on(\"spModel.uiActionComplete\", _onMasterSaveSuccess);\n\n      } else {\n        /** There were some incomplete fields */\n\n        /** TODO: Might be nice to go to the screen with the first error */\n        goToScreen(0);\n\n        spUtil.addErrorMessage(i18n.getMessage(\"Please complete all mandatory fields before submission\"));\n\n        failure(invalidMinMax, incompleteFieldNames);\n      }\n    });\n  }\n\n  /**\n   * Function to execute when the master form reports back as being saved\n   * @param  {Object} evt      AngularJS $on event object\n   * @param  {Object} response HTTP response back from the server\n   * @return {undefined}\n   */\n  function _onMasterSaveSuccess(evt, response) {\n\n    master.sysId = (response.isInsert) ? response.sys_id : master.gForm.getUniqueValue();\n    masterListener();\n\n    if (childForms > 0) {\n\n      childListener = $rootScope.$on(\"spModel.uiActionComplete\", _onChildSaveSuccess);\n\n      for (var key in childrenBySection) {\n        if (childrenBySection.hasOwnProperty(key)) {\n          childrenBySection[key].forEach(_saveChildForm);\n        }\n      }\n\n    } else {\n      success(master.sysId);\n    }\n  }\n\n  /**\n   * Save a child form\n   * @param  {Object} cv  The model/gform object to save\n   * @return {undefined}\n   */\n  function _saveChildForm(cv) {\n    cv.gForm.setValue(cv.referenceToParent, master.sysId);\n    cv.gForm.submit(_getPrimaryAction(cv).action_name);\n  }\n\n  /**\n   * Function to execute when a child form reports back as being saved\n   * @param  {Object} evt      AngularJS $on event object\n   * @param  {Object} response HTTP response back from the server\n   * @return {undefined}\n   */\n  function _onChildSaveSuccess(evt, response) {\n\n    savedForms++;\n\n    if (savedForms === childForms) {\n      childListener();\n      success(master.sysId);\n    }\n  }\n\n  /**\n   * Check whether a child form has incomplete fields\n   * @param  {Object} cv  The form/gform object of the child\n   * @return {undefined}\n   */\n  function _checkChildIncomplete(cv) {\n\n    var childIncomplete = _getIncomplete(cv.gForm);\n\n    childIncomplete.forEach(function(fieldName) {\n      _setErrorFieldMessage(fieldName, cv.gForm);\n    });\n\n    incompleteFieldNames = incompleteFieldNames.concat(childIncomplete);\n  }\n\n  /**\n   * Set the error field message on a particular form/field\n   * @param {String} fieldName  The name of the field to set the message on\n   */\n  function _setErrorFieldMessage(fieldName, gForm) {\n    gForm.showFieldMsg(fieldName, i18n.getMessage(\"This field must be completed\"), 'error');\n  }\n\n  /**\n   * Make sure all mandatory fields on the gForm supplied are completed\n   * @param gFormInstance\n   * @returns {Array}         an array containing names of incomplete fields\n   */\n  function _getIncomplete(gFormInstance) {\n\n    var incomplete = [];\n    var fieldNames = gFormInstance.getFieldNames();\n\n    fieldNames.forEach(function(fieldName) {\n      if (gFormInstance.isMandatory(fieldName)) {\n        if (!_hasValue(fieldName, gFormInstance)) {\n          incomplete.push(fieldName);\n        }\n      }\n\n    });\n\n    return incomplete;\n  }\n\n  /**\n   * Check whether a particular field on a form has a value\n   * Copied from /scripts/sn/common/clientScript/glideFormFieldFactory.js\n   * @param  {String}  fieldName     The name of the field to check\n   * @param  {Object}  gFormInstance The GlideForm of the form with the field\n   * @return {Boolean}               Whether the field has a value\n   */\n  function _hasValue(fieldName, gFormInstance) {\n\n    var field = gFormInstance.getField(fieldName);\n    var value = gFormInstance.getValue(fieldName);\n\n    switch (field.type) {\n      case 'boolean_confirm':\n        return value === 'true';\n      case 'boolean':\n        return true;\n      case 'currency':\n        var currencyValues = value.split(';');\n        return currencyValues[1] && currencyValues[1].length;\n      default:\n        break;\n    }\n\n    if (value === null) {\n      return false;\n    }\n\n    if (typeof value === 'undefined') {\n      return false;\n    }\n\n    var trimmed = String(value).trim();\n    return trimmed.length > 0;\n  }\n\n  /**\n   * Get the primary UI action from the form model/GlideForm object\n   * @param  {Object} item  The form model/GlideForm object\n   * @return {String}       The action name\n   */\n  function _getPrimaryAction(item) {\n\n    var primaryActions = item.model._ui_actions.filter(function(action) {\n      return action.primary;\n    });\n\n    return (primaryActions.length) ? primaryActions[0] : '';\n  }\n\n  /**\n   * Function to execute when a value on a form changes.\n   * @param  {String} field      The field that changed\n   * @param  {String} newVal     The new value\n   * @param  {Object} modelGForm The form model/GlideForm object containing the field that changed\n   * @return {undefined}\n   */\n  function _formChanged(field, newVal, modelGForm) {\n\n    modelGForm.gForm.hideErrorBox(field);\n\n    valueChangeFuncs.forEach(function(cv) {\n      cv(field, newVal, modelGForm);\n    });\n  }\n});"
  },
  {
    "path": "pe-multiform/ui-scripts/pe-multiform-service-PiMfUpload.u-client-script.js",
    "content": "PiMf.service('PiMfUpload', function piMfUpload ($http, $q, $window) {\n\t\n\t'use strict';\n\n\tvar attachmentGuid;\n\tvar tableName;\n\t\n\treturn {\n\t\tupload: upload,\n\t\tinit: init\n\t};\n\n\tfunction init(table, sysId) {\n\t\tattachmentGuid = sysId;\n\t\ttableName = table;\n\t}\n\n\tfunction upload(files) {\n\n\t\treturn $q(function (success, failure) {\n\n\t\t\tArray.prototype.forEach.call(files, function(file) {\n\n\t\t\t\tvar fd = new $window.FormData();\n\t\t\t\tfd.append('attachments_modified', true);\n\t\t\t\tfd.append('sysparm_table', tableName);\n\t\t\t\tfd.append('sysparm_sys_id', attachmentGuid);\n\t\t\t\tfd.append('sysparm_nostack', 'yes');\n\t\t\t\tfd.append('sysparm_encryption_context', '');\n\t\t\t\tfd.append('sysparm_ck', $window.g_ck);\n\t\t\t\tfd.append('attachFile', file);\n\n\t\t\t\t$http.post('/angular.do', fd, {\n\t\t\t\t\ttransformRequest: $window.angular.identity,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t'sysparm_type': 'ngk_attachments',\n\t\t\t\t\t\t'table': tableName,\n\t\t\t\t\t\t'sys_id': attachmentGuid,\n\t\t\t\t\t\t'action': 'add'\n\t\t\t\t\t},\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-UserToken' : $window.g_ck,\n\t\t\t\t\t\t'Content-Type': undefined\n\t\t\t\t\t}\n\t\t\t\t}).then(function (response) {\n\t\t\t\t\tsuccess(response);\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t});\n\t}\n});"
  },
  {
    "path": "pe-multiform/widget/pe-multiform.u-body-html-template.html",
    "content": "<div class=\"pi-multiform\" pi-mf-drag-drop-upload>\n\n  <div class=\"pimf-drag-drop-overlay\">\n    <div class=\"pimf-drag-drop-mask\"></div>\n    <div>\n      <i class=\"fa fa-upload\" aria-hidden=\"true\"></i><br/>\n      Upload\n    </div>\n  </div>\n\n  <!-- Loading spinner -->\n  <div class=\"pimf-loading\" ng-if=\"c.loading\">\n    <svg width=\"44\" height=\"44\" viewBox=\"0 0 44 44\" xmlns=\"http://www.w3.org/2000/svg\" stroke=\"#000\">\n      <g fill=\"none\" fill-rule=\"evenodd\" stroke-width=\"2\">\n        <circle cx=\"22\" cy=\"22\" r=\"1\">\n          <animate attributeName=\"r\" begin=\"0s\" dur=\"1.8s\" values=\"1; 20\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.165, 0.84, 0.44, 1\" repeatCount=\"indefinite\"/>\n          <animate attributeName=\"stroke-opacity\" begin=\"0s\" dur=\"1.8s\" values=\"1; 0\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.3, 0.61, 0.355, 1\" repeatCount=\"indefinite\"/>\n        </circle>\n        <circle cx=\"22\" cy=\"22\" r=\"1\">\n          <animate attributeName=\"r\" begin=\"-0.9s\" dur=\"1.8s\" values=\"1; 20\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.165, 0.84, 0.44, 1\" repeatCount=\"indefinite\"/>\n          <animate attributeName=\"stroke-opacity\" begin=\"-0.9s\" dur=\"1.8s\" values=\"1; 0\" calcMode=\"spline\" keyTimes=\"0; 1\" keySplines=\"0.3, 0.61, 0.355, 1\" repeatCount=\"indefinite\"/>\n        </circle>\n      </g>\n    </svg>\n  </div>\n\n  <!-- Form loading Errors -->\n  <div class=\"pimf-error alert alert-danger\" ng-if=\"::c.data.errorMessages.length > 0\">\n    <strong>${There were errors loading this page}</strong>\n    <ul>\n      <li ng-repeat=\"error in ::c.data.errorMessages\">{{::error}}</li>\n    </ul>\n  </div>\n\n  <!-- Content -->\n  <div ng-if=\"c.data.errorMessages.length === 0\" class=\"pimf-content\" ng-show=\"!c.loading\">\n\n    <div class=\"pi-mf-head\">\n\n      <div class=\"pi-mf-title\">\n        <h1>{{c.getCurrentScreenTitle()}}</h1>\n      </div>\n\n      <div class=\"pi-mf-attachments\">\n        <div class=\"pi-mfa-container\">\n          <div class=\"pi-mfa-label\">Attachments</div>\n          <pi-mf-attachment-manager table=\"::c.data.form.table\"\n                                    sys-id=\"::c.data.form._attachmentGUID\"\n                                    omit-edit=\"false\"></pi-mf-attachment-manager>\n          <button class=\"pi-mfa-add\" pi-mf-button-upload>\n            <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\n          </button>\n        </div>\n      </div>\n\n      <!-- Indicators -->\n      <div class=\"pi-mf-indicators\">\n        <div ng-repeat=\"i in makeArray(c.getScreenCount()) track by $index\"\n             ng-class=\"{'pi-mfi-active': c.getCurrentScreen() === $index}\"\n             ng-click=\"c.goToScreen($index)\">{{$index + 1}}</div>\n      </div>\n\n    </div>\n\n    <div class=\"pi-mf-mainbody\">\n\n      <!-- Top children -->\n      <div class=\"pi-mf-b-top\">\n        <div ng-repeat=\"child in c.childrenToShow.top\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\">\n        </div>\n      </div>\n\n      <div class=\"pi-mf-flexrow\">\n\n        <!-- Left children -->\n        <div ng-repeat=\"child in c.childrenToShow.left\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\">\n        </div>\n\n\n        <!-- Main Form -->\n        <div class=\"pi-mf-mainform container-fluid\">\n          <sp-model form-model=\"::c.data.form\"\n                    mandatory=\"true\"\n                    template-url=\"pi-multiform\"\n                    ng-if=\"::c.data.form\"></sp-model>\n        </div>\n\n        <!-- Right children -->\n        <div ng-repeat=\"child in c.childrenToShow.right\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\">\n        </div>\n\n      </div>\n\n\n      <!-- Bottom children -->\n      <div class=\"pi-mf-b-bottom\">\n        <div ng-repeat=\"child in c.childrenToShow.bottom\"\n             ng-style=\"{flex: child.flexGrow + ' ' + child.flexShrink + ' ' + child.flexBasis}\"\n             ng-include=\"'pi-mf-child-item'\">\n        </div>\n      </div>\n\n    </div>\n\n    <!-- Actions -->\n    <div class=\"pi-mf-actions\">\n\n      <!-- Left side (secondary) -->\n      <div class=\"pi-mfa-secondary\">\n        <button ng-click=\"c.previous()\" ng-if=\"!c.isFirst()\">\n          <i class=\"fa fa-angle-left\" aria-hidden=\"true\"></i> ${Previous}\n        </button>\n      </div>\n\n      <!-- Right side (primary) -->\n      <div class=\"pi-mfa-primary\">\n        <button ng-click=\"c.submit()\" ng-if=\"c.isLast()\">{{::c.getMasterPrimaryAction().name}}</button>\n        <button ng-click=\"c.next()\" ng-if=\"!c.isLast()\">\n          ${Next} <i class=\"fa fa-angle-right\" aria-hidden=\"true\"></i>\n        </button>\n      </div>\n\n    </div>\n  </div>\n</div>\n<now-message key=\"Please complete all mandatory fields before submission\" value=\"${Please complete all mandatory fields before submission}\"></now-message>\n<now-message key=\"This field must be completed\" value=\"This field must be completed\"></now-message>"
  },
  {
    "path": "pe-multiform/widget/pe-multiform.u-client-script.js",
    "content": "function PiMultiFormCtrl ($scope, PiMfManager, $timeout, $location, nowAttachmentHandler, spUtil, PiMfUpload) {\n\n  'use strict';\n\n  var c = this;\n\n  var formState = [];\n\n  c.submit = submit;\n  c.add = add;\n  c.canAdd = canAdd;\n\n  c.next = PiMfManager.nextScreen;\n  c.previous = PiMfManager.prevScreen;\n  c.getCurrentScreenTitle = PiMfManager.getCurrentScreenTitle;\n  c.getCurrentScreen = PiMfManager.getCurrentScreen;\n  c.goToScreen = PiMfManager.goToScreen;\n  c.isLast = PiMfManager.isLast;\n  c.isFirst = PiMfManager.isFirst;\n  c.isChildCompleted = PiMfManager.isChildCompleted;\n  c.childHasMandatory = PiMfManager.childHasMandatory;\n  c.getScreenCount = PiMfManager.getScreenCount;\n  c.addChildModel = PiMfManager.addChildModel;\n  c.getMasterPrimaryAction = PiMfManager.getMasterPrimaryAction;\n\n  c.$onInit = function () {\n\n    /* If there were no errors... */\n    c.loading = c.data.errorMessages.length === 0;\n\n    /* ... and thus we're loading */\n    if (c.loading && c.data.isValid) {\n\n      /* create the payload */\n      var payload = {\n        action: 'get_data',\n        table: c.data.table,\n        sysId: c.data.sysId,\n        view: c.data.view\n      }\n\n      /* and send it to the server */\n      c.server.get(payload).then(function (r) {\n\n        /* Crucial 2 variables used by the widget */\n        c.data.form = r.data.form;\n        c.data.mf = r.data.mf;\n\n        PiMfUpload.init(r.data.form.table, r.data.form._attachmentGUID);\n\n        /* Register an onChange function with PiMfManager to re-evaluate\n                 * which children to show in the various sections based on the\n                 * screen we've just changed to. */\n        PiMfManager.addOnScreenChangeFunc(function () {\n          c.childrenToShow = PiMfManager.getChildrenToShow();\n        });\n      });\n    }\n  };\n\n\n  /** Capture the GlideForm of the master when it's emitted from spModel */\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\n    if (gFormInstance.getTableName() == c.data.table && gFormInstance.getUniqueValue() == c.data.sysId){\n\n      c.loading = false;\n\n      PiMfManager.init(c.data.form, gFormInstance, c.data.mf);\n\n      /* Setup attachment handler */\n      $scope.attachmentHandler = new nowAttachmentHandler(function appendDone () {\n        $scope.$broadcast(\"sp.attachments.update\", c.data.form._attachmentGUID);\n      }, function appendError () {\n        /* $scope.errorMessages.push(error); */\n        /* spUtil.addErrorMessage(error.msg + error.fileName); */\n      });\n      $scope.$evalAsync(function() {\n        $scope.attachmentHandler.setParams(c.data.form.table, c.data.form._attachmentGUID, 1024 * 1024 * 1024);\n      });\n\n\n    }\n  });\n\n  /** Save all forms on the page */\n  function submit () {\n    PiMfManager.save($scope).then(function (sysId) {\n      $location.search({\n        'id': c.options.success_page,\n        'table': c.options.table,\n        'sys_id': sysId\n      });\n    }, function (incomplete) {\n\n    });\n  }\n\n  function canAdd(child) {\n    if (child.maxChildRecords) {\n      if (child.formModels.length < child.maxChildRecords) {\n        return true;\n      }\n      return false;\n    }\n\n    return true;\n\n\n  }\n\n  /**\n     * Add a new child form\n     * @param {String} child  The SysID of the Multiform Child\n     */\n  function add (child) {\n    c.server.get({\n      action: 'new_form',\n      childId: child.sysId\n    }).then(function (r) {\n      child.formModels.push(r.data.form);\n    });\n  }\n}"
  },
  {
    "path": "pe-multiform/widget/pe-multiform.u-css.css",
    "content": "/** Color Declarations **/\n\n$pi-sn2018-green-main: rgb(129, 181, 161); // Acapulco\n$pi-sn2018-green-fade: rgb(176, 225, 206); // Cruise\n$pi-sn2018-green-bright: rgb(100, 221, 172); // Aquamarine\n$pi-mf-dark-green: rgb(36, 53, 56);\n\n/** Overrideable Variables **/\n\n$pi-mf-header-color: $pi-mf-dark-green !default;\n\n$pi-mf-actions-bg: $pi-sn2018-green-fade !default;\n$pi-mf-actions-button: $pi-mf-dark-green !default;\n$pi-mf-actions-button-color: white !default;\n\n$pi-mf-highlight-bg: #f4f4f4; !default;\n$pi-mf-inner-form-bg: #fcfcfc !default;\n$pi-mf-border-radius: 5px !default;\n\n$pi-mf-indicator-bg: $pi-sn2018-green-fade !default;\n$pi-mf-indicator-bg-active: $pi-mf-dark-green !default;\n\n$pi-mf-indicator-color: $pi-mf-dark-green !default;\n$pi-mf-indicator-color-active: white !default;\n\n$pi-mf-formgroup-border-color: #ccc !default;\n\n$pi-mf-attachment-pill-bg: $pi-sn2018-green-fade !default;\n$pi-mf-attachment-pill-color: $pi-mf-dark-green !default;\n\n$pi-mf-attachment-add-bg: white !default;\n$pi-mf-attachment-add-color: $pi-mf-dark-green !default;\n\n/** SCSS Styles **/\n\n// Drag-drop styles\n\n.pimf-drag-drop-overlay {\n  display: none;\n}\n\n.is-dragover .pimf-drag-drop-overlay {\n  display: flex;\n}\n\n.pimf-drag-drop-overlay {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: radial-gradient(rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0.5) 80%);\n  border-radius: $pi-mf-border-radius;\n  top: 0;\n  left: 0;\n  z-index: 20;\n  justify-content: center;\n  align-items: center;\n  font-size: 80px;\n  color: #ccc;\n  text-align: center;\n  font-weight: bold;\n  text-transform: uppercase;\n  border: 10px dashed #ccc;\n}\n\n.pimf-drag-drop-mask {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  z-index: 21;\n  cursor: default;\n}\n\n\n// Child View Styles\n\n// Error styles\n\n.pimf-error {\n  margin-bottom: 0;\n}\n\n// Main styles\n.pi-multiform {\n  margin: 20px 0;\n  position: relative;\n  background-color: white;\n  padding: 10px 10px;\n  border-radius: $pi-mf-border-radius;\n}\n\n\n// Loading spinner\n.pimf-loading {\n  height: 100%;\n  min-height: 400px;\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: space-around;\n\n  svg {\n    width: 150px;\n    height: 150px;\n  }\n}\n\n\n// Header elements\n.pi-mfc-head {\n  flex: 1 0 100%;\n  font-size: 30px;\n  padding-left: 10px;\n  display: flex;\n  margin: 10px 0;\n  align-items: flex-end;\n  flex-wrap: wrap;\n\n  .pi-mfc-title {\n    flex: 1 0 auto;\n    margin-right: 10px;\n    color: $pi-mf-dark-green;\n  }\n}\n\n.pi-mf-head {\n  display: flex;\n  justify-content: right;\n  margin: 10px;\n\n  .pi-mf-title {\n    flex: 1 0 auto;\n    margin-right: 10px;\n    color: $pi-mf-dark-green;\n\n    h1 {\n      margin: 0;\n    }\n  }\n}\n\n\n.pi-mf-mandatory {\n  padding-right: 3px;\n}\n\n.pi-mfa-container {\n\n  background-color: $pi-mf-highlight-bg;\n  border-radius: $pi-mf-border-radius;\n  min-height: 30px;\n  margin-right: 10px;\n  padding: 0 4px 0 10px;\n  display: flex;\n  font-size: 13px;\n  align-items: center;\n  justify-content: flex-end;\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0 5px;\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n  }\n\n  li {\n    background-color: $pi-mf-attachment-pill-bg;\n    color: $pi-mf-attachment-pill-color;\n    border-radius: $pi-mf-border-radius;\n    padding: 3px 5px;\n    cursor: pointer;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    max-width: 170px;\n    margin: 3px 0 3px 5px;\n\n    a, a:hover, a:visited, a:focus {\n      color: $pi-mf-attachment-pill-color;\n    }\n\n  }\n\n  li:last-of-type {\n    margin-right: 0;\n  }\n\n  button {\n    height: 23px;\n    width: 23px;\n    text-align: center;\n    background-color: $pi-mf-attachment-add-bg;\n    border-radius: $pi-mf-border-radius;\n    color: $pi-mf-attachment-add-color;\n    font-size: 13px;\n    border: 0;\n    margin: 0;\n    padding: 0;\n    flex: 0 0 23px;\n  }\n}\n\n.pi-mf-indicators {\n  display: flex;\n  justify-content: flex-end;\n\n  div {\n    flex: 0 0 30px;\n    width: 30px;\n    height: 30px;\n    border-radius: 15px;\n    background-color: $pi-mf-indicator-bg;\n    margin-left: 5px;\n    color: $pi-mf-indicator-color;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .pi-mfi-active {\n    background-color: $pi-mf-indicator-bg-active;\n    color: $pi-mf-indicator-color-active;\n  }\n}\n\n\n// Footer elements\n\n.pi-mf-actions {\n  height: 60px;\n  background-color: $pi-mf-actions-bg;\n  border-radius: $pi-mf-border-radius;\n  display: flex;\n  align-items: center;\n  padding: 10px;\n  color: $pi-mf-actions-color;\n  flex: 1 0 auto;\n  justify-content: space-between;\n  margin: 10px;\n\n  .pi-mfa-secondary, .pi-mfa-primary {\n    height: 100%;\n\n    button {\n      height: 100%;\n      padding: 0 20px;\n      border: 0;\n      border-radius: $pi-mf-border-radius;\n      background-color: transparent;\n    }\n  }\n\n  .pi-mfa-secondary {\n    button {\n      border: 1px solid $pi-mf-actions-button;\n      color: $pi-mf-actions-button;\n\n      i {\n        margin-right: 5px;\n      }\n    }\n  }\n\n  .pi-mfa-primary {\n\n\n    button {\n      background-color: $pi-mf-actions-button;\n      color: $pi-mf-actions-button-color;\n      font-weight: bold;\n      text-transform: uppercase;\n\n      i {\n        margin-left: 5px;\n      }\n    }\n  }\n}\n\n\n// Body styles\n\n.pi-mf-container {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n}\n\n.pi-mf-container .pi-mf-container {\n  display: block;\n}\n\n\n.pi-mf-flexrow {\n  display: flex;\n  margin: 0 10px;\n}\n\n.pi-mf-b-top, .pi-mf-b-bottom {\n  display: flex;\n  flex-wrap: wrap;\n  margin: 0 10px;\n}\n\n.pi-mf-mainform {\n  flex: 1 1 auto;\n\n  .container-fluid {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n}\n\n.pi-mf-mainform.container-fluid {\n\n  padding-left: 0;\n  padding-right: 0;\n}\n\n\n\n.pi-mfc-body {\n  flex: 1 1 auto;\n  position: relative;\n\n  .h4 {\n    display: none;\n  }\n}\n\n\n\n// Inner form styles\n\n.pi-mff-body {\n  margin-top: 10px;\n}\n\n.pi-mff-title {\n  font-size: 20px;\n  margin-bottom: 10px;\n  color: $pi-mf-dark-green;\n}\n\n\n\n\n\n// Inner forms\n\n.pi-mf-forms {\n  border: 1px solid $pi-mf-formgroup-border-color;\n  border-radius: $pi-mf-border-radius;\n  margin: 10px 0;\n  padding: 10px;\n}\n\n\n.pi-mff-header {\n  width: 100%;\n  border-radius: $pi-mf-border-radius $pi-mf-border-radius 0 0;\n  padding: 10px;\n  background-color: $pi-mf-highlight-bg;\n  font-weight: bold;\n\n  i {\n    float: right;\n  }\n}\n\n.pi-mff-attachments {\n  min-height: 40px;\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n  display: none;\n}\n\n\n.pi-mff-actions {\n  padding: 4px;\n\n  button {\n    background-color: white;\n    border: 1px solid $pi-mf-formgroup-border-color;\n    border-radius: $pi-mf-border-radius;\n    padding: 5px 20px;\n  }\n}\n\n.pi-mff-container {\n  border-top: 1px solid rgb(204, 204, 204);\n}\n\n\n// Inner form\n\n.pi-mf-form {\n  border: 1px solid $pi-mf-highlight-bg;\n  margin-bottom: 10px;\n  background-color: $pi-mf-inner-form-bg;\n  border-radius: $pi-mf-border-radius $pi-mf-border-radius 0 0;\n\n  legend.h4 {\n    display: none;\n  }\n}"
  },
  {
    "path": "pe-multiform/widget/pe-multiform.u-link-function.js",
    "content": "function PiMultiFormLink (scope, elem, attrs) {\n\n  'use strict';\n\n  var formState = [];\n\n  scope.toggleIcon = toggleIcon;\n  scope.toggle = toggle;\n  scope.makeArray = makeArray;\n  scope.isExpanded = isExpanded;\n\n  /**\n\t * Different class depending on the state of expansion\n\t * @param  {Boolean} state  State of expansion\n\t * @return {Object}         Classes to attach\n\t */\n  function toggleIcon (state) {\n    return {\n      'fa-chevron-down': !state,\n      'fa-chevron-up': state\n    };\n  }\n\n  /**\n\t * Toggle the expansion state of a child form\n\t * @param  {[type]} child [description]\n\t * @param  {[type]} idx   [description]\n\t * @return {[type]}       [description]\n\t */\n  function toggle (child, idx) {\n    formState[child.sysId] = formState[child.sysId] || [];\n    formState[child.sysId][idx] = !formState[child.sysId][idx];\n  }\n\n\n  /**\n\t * Check whether a child form is expanded\n\t * @param  {[type]}  child [description]\n\t * @param  {[type]}  idx   [description]\n\t * @return {Boolean}       [description]\n\t */\n  function isExpanded (child, idx) {\n    formState[child.sysId] = formState[child.sysId] || [];\n    return formState[child.sysId][idx];\n  }\n\n  /**\n\t * Dumb function to make an array containing a certain number of elements\n\t * @param  {Integer} count  Number of elements in the new array\n\t * @return {Array}          A new array containing X elements\n\t */\n  function makeArray (count) {\n    return new Array(count);\n  }\n\n}"
  },
  {
    "path": "pe-multiform/widget/pe-multiform.u-server-script.js",
    "content": "(function($sp, input, data, FormModel, options, Multiform, gs, GlideRecord) {\n\n  'use strict';\n\n  if (input && input.action === 'new_form') {\n\n    data.form = new FormModel(input.childId);\n\n    return;\n\n  } else if (input && input.action === 'get_data') {\n\n    data.view = options.view;\n    data.sysId = options.record || input.sysId || '-1';\n    data.table = options.table;\n\n    data.form = $sp.getForm(data.table, data.sysId, '', data.view);\n    data.mf = new Multiform($sp.getDisplayValue('sys_id'));\n\n    return;\n\n  } else {\n\n    data.isValid = true;\n\n    data.table = options.table;\n    data.sysId = options.record || $sp.getParameter('sys_id') || '-1';\n    data.view = options.view;\n    data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\n    var rec = new GlideRecord(data.table);\n    rec.get(data.sysId);\n\n    data.errorMessages = [];\n\n    if (!data.sysId) {\n      data.isValid = false;\n      data.errorMessages.push(gs.getMessage(\"You provided an invalid SysID\"));\n    }\n\n    if (!data.view) {\n      data.isValid = false;\n      data.errorMessages.push(gs.getMessage(\"No view is set in the widget instance's configuration\"));\n    }\n\n    if (!data.table) {\n      data.isValid = false;\n      data.errorMessages.push(gs.getMessage(\"No table is set in the widget instance's configuration\"));\n    }\n\n    if (!data.isValid) {\n      return;\n    }\n\n    if (!rec.isValid() && data.sysId !== '-1') {\n      data.isValid = false;\n      data.errorMessages.push(gs.getMessage(\"That record doesn't exist\"));\n    }\n\n    if (data.sysId === '-1' && !rec.canCreate()) {\n      data.isValid = false;\n      data.errorMessages.push(gs.getMessage(\"You can't create records in this table\"));\n    }\n\n    if (!data.isValid) {\n      return;\n    }\n\n    data.table = rec.getRecordClassName();\n    data.canWrite = rec.canWrite();\n\n    var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n    data.canAttach = hasRecordAccess && gs.hasRole(gs.getProperty('glide.attachment.role'));\n  }\n\n})($sp, input, data, FormModel, options, Multiform, gs, GlideRecord);"
  },
  {
    "path": "pe-my-jira-issues/pe-my-jira-issues.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-08-28 17:55:14\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<application_name>PE My JIRA Issues</application_name>\n<application_scope>x_snc_jira_issues</application_scope>\n<application_version>1.0.0</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description> </description>\n<inserted/>\n<name>PE My JIRA Issues</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>32e7647fdb882b40a0785404ce96193d</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:13</sys_created_on>\n<sys_id>93437688dbd46b40a0785404ce9619cf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:13</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_auth_profile_basic_f41616f5dbc4a3004d77f3c61d961934</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_auth_profile_basic\"><sys_auth_profile_basic action=\"INSERT_OR_UPDATE\"><name>JIRA Admin</name><password>MEyi3jQvb+N7MaSa+EyjGA==</password><sys_class_name>sys_auth_profile_basic</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:01:35</sys_created_on><sys_id>f41616f5dbc4a3004d77f3c61d961934</sys_id><sys_mod_count>1</sys_mod_count><sys_name>JIRA Admin</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_auth_profile_basic_f41616f5dbc4a3004d77f3c61d961934</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-22 05:01:52</sys_updated_on><username>admin</username></sys_auth_profile_basic></record_update>]]></payload>\n<payload_hash>-1518956328</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>17437688dbd46b40a0785404ce9619d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>JIRA Admin</target_name>\n<type>Basic Auth Configuration</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_b63d5a3ddbc4a3004d77f3c61d9619c0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:32:29</sys_created_on><sys_id>b63d5a3ddbc4a3004d77f3c61d9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ScriptableRESTResponse.getStatusCode</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_scope_privilege_b63d5a3ddbc4a3004d77f3c61d9619c0</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:32:29</sys_updated_on><target_name>ScriptableRESTResponse.getStatusCode</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1640849561</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>2343b688dbd46b40a0785404ce961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>ScriptableRESTResponse.getStatusCode</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_parameters_309456b5dbc4a3004d77f3c61d96192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_parameters\"><sys_rest_message_fn_parameters action=\"INSERT_OR_UPDATE\"><name>id</name><rest_message_function display_value=\"GET\">cb035635dbc4a3004d77f3c61d96199b</rest_message_function><sys_class_name>sys_rest_message_fn_parameters</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 15:54:48</sys_created_on><sys_id>309456b5dbc4a3004d77f3c61d96192f</sys_id><sys_mod_count>2</sys_mod_count><sys_name>id</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_rest_message_fn_parameters_309456b5dbc4a3004d77f3c61d96192f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-22 05:03:38</sys_updated_on><type>string</type><value/></sys_rest_message_fn_parameters></record_update>]]></payload>\n<payload_hash>1612516505</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>2743b688dbd46b40a0785404ce961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>id</target_name>\n<type>Variable Substitutions</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_47df46b1dbc4a3004d77f3c61d961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>PE My JIRA Issues</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_snc_jira_issues</scope><scoped_administration>false</scoped_administration><short_description/><source>x_snc_jira_issues</source><store_correlation_id/><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 15:34:04</sys_created_on><sys_id>47df46b1dbc4a3004d77f3c61d961908</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-22 23:21:46</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n<payload_hash>161356731</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>53437688dbd46b40a0785404ce9619d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>PE My JIRA Issues</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_parameters_16a6337ddb88a3004d77f3c61d9619af</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_parameters\"><sys_rest_message_fn_parameters action=\"INSERT_OR_UPDATE\"><name>queryvalue</name><rest_message_function display_value=\"GET\">cb035635dbc4a3004d77f3c61d96199b</rest_message_function><sys_class_name>sys_rest_message_fn_parameters</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 23:03:31</sys_created_on><sys_id>16a6337ddb88a3004d77f3c61d9619af</sys_id><sys_mod_count>0</sys_mod_count><sys_name>queryvalue</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_rest_message_fn_parameters_16a6337ddb88a3004d77f3c61d9619af</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 23:03:31</sys_updated_on><type>string</type><value>admin</value></sys_rest_message_fn_parameters></record_update>]]></payload>\n<payload_hash>-1809599337</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>6343b688dbd46b40a0785404ce961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>queryvalue</target_name>\n<type>Variable Substitutions</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_663d5a3ddbc4a3004d77f3c61d9619bb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:32:28</sys_created_on><sys_id>663d5a3ddbc4a3004d77f3c61d9619bb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: properties</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_scope_privilege_663d5a3ddbc4a3004d77f3c61d9619bb</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:32:28</sys_updated_on><target_name>Glide API: properties</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1772783937</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>6f43b688dbd46b40a0785404ce961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>Glide API: properties</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>db_image_d55dda3ddbc4a3004d77f3c61d96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category>Service Portal</category><format>png</format><height>225</height><image>ca6d1e3ddbc4a3004d77f3c61d961935</image><name>jira.png</name><size_bytes>3316</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:33:07</sys_created_on><sys_id>d55dda3ddbc4a3004d77f3c61d96194d</sys_id><sys_mod_count>2</sys_mod_count><sys_name>jira.png</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>db_image_d55dda3ddbc4a3004d77f3c61d96194d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:33:15</sys_updated_on><thumbnail/><width>225</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#ffffff</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><file_name>image</file_name><image_height>225</image_height><image_width>225</image_width><size_bytes>3316</size_bytes><size_compressed>3339</size_compressed><state>available</state><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:33:15</sys_created_on><sys_id>ca6d1e3ddbc4a3004d77f3c61d961935</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:33:15</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>d55dda3ddbc4a3004d77f3c61d96194d</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"ca6d1e3ddbc4a3004d77f3c61d961935\">ca6d1e3ddbc4a3004d77f3c61d961935</sys_attachment><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:33:15</sys_created_on><sys_id>c26d1e3ddbc4a3004d77f3c61d961936</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>4440</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"ca6d1e3ddbc4a3004d77f3c61d961935\">ca6d1e3ddbc4a3004d77f3c61d961935</sys_attachment><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:33:15</sys_created_on><sys_id>466d1e3ddbc4a3004d77f3c61d961936</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>724058277</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:13</sys_created_on>\n<sys_id>97437688dbd46b40a0785404ce9619cf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:13</sys_updated_on>\n<table/>\n<target_name>jira.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_a2c0d235dbc4a3004d77f3c61d9619d7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message\"><sys_rest_message action=\"INSERT_OR_UPDATE\"><access>package_private</access><authentication_type>no_authentication</authentication_type><basic_auth_password/><basic_auth_profile/><basic_auth_user/><description>Get my JIRA Issues</description><name>JIRA Issues</name><oauth2_profile/><protocol_name/><rest_endpoint>https://${id}.atlassian.net/rest/api/2/search?jql=assignee=${assignee}</rest_endpoint><sys_class_name>sys_rest_message</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 15:47:59</sys_created_on><sys_id>a2c0d235dbc4a3004d77f3c61d9619d7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>JIRA Issues</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_rest_message_a2c0d235dbc4a3004d77f3c61d9619d7</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 15:47:59</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mutual_auth>false</use_mutual_auth></sys_rest_message></record_update>]]></payload>\n<payload_hash>-1773364922</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>9b437688dbd46b40a0785404ce9619d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>JIRA Issues</target_name>\n<type>REST Message</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_acf91679dbc4a3004d77f3c61d96193e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function JiraIssuesController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.limit = c.options.limit;\n    c.showMore = showMore;\n    c.showLess = showLess;\n  };\n\n  c.server.get({ jira: true }).then(function(r) {\n    c.myIssues = r.data.responseBody.issues;\n  });\n\n  function showMore() {\n    c.limit = c.myIssues.length;\n  }\n\n  function showLess() {\n    c.limit = c.options.limit;\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel-body {&amp;#13;\n  padding: 0px !important;&amp;#13;\n  .show {&amp;#13;\n    padding: 10px;&amp;#13;\n  }&amp;#13;\n  .text {&amp;#13;\n    overflow: hidden;&amp;#13;\n  }&amp;#13;\n  .no-issues {&amp;#13;\n    padding: 10px;&amp;#13;\n  }&amp;#13;\n  .each-issue {&amp;#13;\n    padding: 10px;&amp;#13;\n    border-bottom: 1px solid #ddd;&amp;#13;\n    a {&amp;#13;\n      display: flex;&amp;#13;\n      align-items: center;&amp;#13;\n      img {&amp;#13;\n        width: 30px;&amp;#13;\n        margin-right: 10px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .summary {&amp;#13;\n      font-size: 14px;&amp;#13;\n      line-height: 1;&amp;#13;\n      margin-bottom: 5px;&amp;#13;\n    }&amp;#13;\n    .desc {&amp;#13;\n      font-size: 11px;&amp;#13;\n      margin-bottom: 0px;&amp;#13;\n      line-height: 1;&amp;#13;\n      white-space: nowrap;&amp;#13;\n      overflow: hidden;&amp;#13;\n      text-overflow: ellipsis;&amp;#13;\n      height: 12px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-my-jira-issues&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE My JIRA Issues&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"name\": \"limit\",&amp;#13;\n    \"section\": \"other\",&amp;#13;\n    \"default_value\": \"5\",&amp;#13;\n    \"label\": \"Limit\",&amp;#13;\n    \"type\": \"integer\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"title\",&amp;#13;\n    \"section\": \"other\",&amp;#13;\n    \"label\": \"Title\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"issues\",&amp;#13;\n    \"section\": \"other\",&amp;#13;\n    \"default_value\": \"Assigned to me\",&amp;#13;\n    \"label\": \"Issues\",&amp;#13;\n    \"type\": \"choice\",&amp;#13;\n    \"choices\": [&amp;#13;\n      {&amp;#13;\n        \"label\": \"Assigned to me\",&amp;#13;\n        \"value\": \"Assigned to me\"&amp;#13;\n      },&amp;#13;\n      {&amp;#13;\n        \"label\": \"Created by me\",&amp;#13;\n        \"value\": \"Created by me\"&amp;#13;\n      }&amp;#13;\n    ]&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[if (input &amp;&amp; input.jira) {\n  getMyIssues();\n}\n\nfunction getMyIssues(assignee) {\n  try {\n    $sp.log(options.issues);\n    var r = new sn_ws.RESTMessageV2('x_snc_jira_issues.JIRA Issues', 'GET');\n    if (options.issues == 'Created by me') {\n      r.setStringParameterNoEscape('querykey', 'creator');\n    } else {\n      r.setStringParameterNoEscape('querykey', 'assignee');\n    }\n    //Assuming you used your servicenow email to sign up for JIRA ex: abel.tuter@servicenow.com.\n    r.setStringParameterNoEscape('queryvalue', gs.getUserName());\n    r.setStringParameterNoEscape('id', gs.getProperty('x_snc_jira_issues.AtlassianId'));\n    var response = r.execute();\n    data.responseBody = JSON.parse(response.getBody());\n    var httpStatus = response.getStatusCode();\n  } catch (ex) {\n    var message = ex.message;\n  }\n}]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-21 16:20:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;acf91679dbc4a3004d77f3c61d96193e&lt;/sys_id&gt;&lt;sys_mod_count&gt;36&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE My JIRA Issues&lt;/sys_name&gt;&lt;sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\"&gt;47df46b1dbc4a3004d77f3c61d961908&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"PE My JIRA Issues\"&gt;47df46b1dbc4a3004d77f3c61d961908&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_acf91679dbc4a3004d77f3c61d96193e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-28 17:54:22&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel panel-{{::options.color}} b\"&gt;\n  &lt;div class=\"panel-heading\"&gt;\n    &lt;h4 class=\"panel-title\"&gt;\n      {{c.options.title}}&lt;/h4&gt;\n  &lt;/div&gt;\n  &lt;div class=\"panel-body\"&gt;\n    &lt;div ng-if=\"c.myIssues.length == 0\" class=\"text-center no-issues\"&gt;\n      &lt;span&gt;${You have no issues in JIRA}&lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div ng-repeat=\"issue in c.myIssues | limitTo : c.limit\" class=\"each-issue\"&gt;\n      &lt;a href=\"https://sushruth.atlassian.net/browse/{{issue.key}}\" target=\"_blank\"&gt;\n        &lt;img src=\"/jira.png\" /&gt;\n        &lt;div class=\"text\"&gt;\n          &lt;p class=\"summary\"&gt;{{issue.fields.summary}}&lt;/p&gt;\n          &lt;p class=\"desc\"&gt;{{issue.fields.description}}&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/a&gt;\n    &lt;/div&gt;\n    &lt;div class=\"text-center\"&gt;\n      &lt;a ng-if=\"c.myIssues.length &gt; c.limit\" href=\"javascript:void(0)\" ng-click=\"c.showMore()\" class=\"show\"&gt;Show More&lt;/a&gt;\n      &lt;a ng-if=\"c.myIssues.length == c.limit &amp;&amp; c.myIssues.length != c.options.limit\" href=\"javascript:void(0)\" ng-click=\"c.showLess()\"\n        class=\"show\"&gt;Show Less&lt;/a&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-6830257</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:13</sys_created_on>\n<sys_id>9f437688dbd46b40a0785404ce9619cf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16581ac12ed0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:13</sys_updated_on>\n<table/>\n<target_name>PE My JIRA Issues</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>7e13fa08f6d46b4065c95559049cbfa8</update_guid>\n<update_guid_history>7e13fa08f6d46b4065c95559049cbfa8:-6830257,c3e7647f4d882b400a9e2d5bff3d6a69:-458720109</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_cb035635dbc4a3004d77f3c61d96199b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn\"><sys_rest_message_fn action=\"INSERT_OR_UPDATE\"><authentication_type>basic</authentication_type><basic_auth_password/><basic_auth_profile display_value=\"JIRA Admin\">f41616f5dbc4a3004d77f3c61d961934</basic_auth_profile><basic_auth_user/><content/><function_name>GET</function_name><http_method>get</http_method><lock>false</lock><oauth2_profile/><protocol_name/><qualified_name>JIRA Issues [ GET ]</qualified_name><rest_endpoint>https://${id}.atlassian.net/rest/api/2/search?jql=${querykey}=${queryvalue}</rest_endpoint><rest_message display_value=\"JIRA Issues\">a2c0d235dbc4a3004d77f3c61d9619d7</rest_message><sys_class_name>sys_rest_message_fn</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 15:47:59</sys_created_on><sys_id>cb035635dbc4a3004d77f3c61d96199b</sys_id><sys_mod_count>4</sys_mod_count><sys_name>GET</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_rest_message_fn_cb035635dbc4a3004d77f3c61d96199b</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 23:05:28</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mid_server/><use_mutual_auth>false</use_mutual_auth></sys_rest_message_fn></record_update>]]></payload>\n<payload_hash>662310265</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>9f43b688dbd46b40a0785404ce961927</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>GET</target_name>\n<type>HTTP Method</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_fe3d5a3ddbc4a3004d77f3c61d9619be</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:32:29</sys_created_on><sys_id>fe3d5a3ddbc4a3004d77f3c61d9619be</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ScriptableRESTResponse.getBody</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_scope_privilege_fe3d5a3ddbc4a3004d77f3c61d9619be</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:32:29</sys_updated_on><target_name>ScriptableRESTResponse.getBody</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1601375009</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>a743b688dbd46b40a0785404ce961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>ScriptableRESTResponse.getBody</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_2e3d5a3ddbc4a3004d77f3c61d9619bc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:32:28</sys_created_on><sys_id>2e3d5a3ddbc4a3004d77f3c61d9619bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ScriptableRESTMessageClient.execute</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_scope_privilege_2e3d5a3ddbc4a3004d77f3c61d9619bc</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:32:28</sys_updated_on><target_name>ScriptableRESTMessageClient.execute</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>916132929</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>ab43b688dbd46b40a0785404ce961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>ScriptableRESTMessageClient.execute</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_5c8b16f9dbc4a3004d77f3c61d96192b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description/><ignore_cache>false</ignore_cache><is_private>false</is_private><name>x_snc_jira_issues.AtlassianId</name><read_roles/><suffix>AtlassianId</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:25:56</sys_created_on><sys_id>5c8b16f9dbc4a3004d77f3c61d96192b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_snc_jira_issues.AtlassianId</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_properties_5c8b16f9dbc4a3004d77f3c61d96192b</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-22 05:07:41</sys_updated_on><type>string</type><value>YOUR ATLASSIAN ID</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5c8b16f9dbc4a3004d77f3c61d96192b\"/></record_update>]]></payload>\n<payload_hash>-1418641320</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>d7437688dbd46b40a0785404ce9619d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>x_snc_jira_issues.AtlassianId</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_ee3d5a3ddbc4a3004d77f3c61d96193c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 16:32:27</sys_created_on><sys_id>ee3d5a3ddbc4a3004d77f3c61d96193c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ScriptableRESTMessageClient.setStringParameterNoEscape</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_scope_privilege_ee3d5a3ddbc4a3004d77f3c61d96193c</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-21 16:32:27</sys_updated_on><target_name>ScriptableRESTMessageClient.setStringParameterNoEscape</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1539776369</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>e343b688dbd46b40a0785404ce961929</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>ScriptableRESTMessageClient.setStringParameterNoEscape</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_parameters_d6a496b5dbc4a3004d77f3c61d96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_parameters\"><sys_rest_message_fn_parameters action=\"INSERT_OR_UPDATE\"><name>querykey</name><rest_message_function display_value=\"GET\">cb035635dbc4a3004d77f3c61d96199b</rest_message_function><sys_class_name>sys_rest_message_fn_parameters</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-08-21 15:55:05</sys_created_on><sys_id>d6a496b5dbc4a3004d77f3c61d96193d</sys_id><sys_mod_count>3</sys_mod_count><sys_name>querykey</sys_name><sys_package display_value=\"PE My JIRA Issues\" source=\"x_snc_jira_issues\">47df46b1dbc4a3004d77f3c61d961908</sys_package><sys_policy/><sys_scope display_value=\"PE My JIRA Issues\">47df46b1dbc4a3004d77f3c61d961908</sys_scope><sys_update_name>sys_rest_message_fn_parameters_d6a496b5dbc4a3004d77f3c61d96193d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-08-22 05:04:01</sys_updated_on><type>string</type><value>creator</value></sys_rest_message_fn_parameters></record_update>]]></payload>\n<payload_hash>59809882</payload_hash>\n<remote_update_set display_value=\"PE My JIRA Issues\">93437688dbd46b40a0785404ce9619cf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-28 17:55:14</sys_created_on>\n<sys_id>e743b688dbd46b40a0785404ce961928</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1657b7f50d00000000</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-28 17:55:14</sys_updated_on>\n<table/>\n<target_name>querykey</target_name>\n<type>Variable Substitutions</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-my-jira-issues/readme.md",
    "content": "# My JIRA Issues\n\n## Description\n\nThis is a simple JIRA integration, widget can be issued to list of issues assigned to you/created by you in JIRA.\n\n## Screenshot\n\n![My JIRA Issues](../images/pe-my-jira-issues.png \"My JIRA Issues\")\n\n## Additional Information/Notes\n\nThe integration assumes you have an Atlassian account id. Example: https://[your-account-id].atlassian.net\n\n## Installation\n\nDownload and install update set **[pe-my-jira-issues.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-my-jira-issues/pe-my-jira-issues.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Limit` | Number of items you want to show on initial load of the widget. The remaining list can be loaded by clicking on Show more. | 5 |\n| `Title` | Title for the widget. | |\n| `Issues` | Is a choice list, here you choose if you want to pull Issues assigned to you or created by you. | |\n\n![My JIRA Issues options](../images/pe-my-jira-issues-options.png \"My JIRA Issues options\")\n\n## Platform Dependencies\n\n> None\n\n## Sample Data and Data Structures\n\n> None\n\n## API Dependencies\n\nSystem Property:\n\n> AtlassianId : Put your Atlassian account id here\n\n![My JIRA Issues Basic Auth Admin](../images/pe-my-jira-issues-sys-property.png \"My JIRA Issues Basic Auth Admin\")\n\nBasic Auth:\n\n> For the REST API to work, please put in your Atlassian admin username/password for JIRA Admin basic auth profile.\n\n![My JIRA Issues Basic Auth Admin](../images/pe-my-jira-issues-basicauth.png \"My JIRA Issues Basic Auth Admin\")\n\n## CSS/SASS Variables\n\n> None"
  },
  {
    "path": "pe-my-jira-issues/widget/pe-my-jira-issues.u-body-html-template.html",
    "content": "<div class=\"panel panel-{{::options.color}} b\">\n  <div class=\"panel-heading\">\n    <h4 class=\"panel-title\">\n      {{c.options.title}}</h4>\n  </div>\n  <div class=\"panel-body\">\n    <div ng-if=\"c.myIssues.length == 0\" class=\"text-center no-issues\">\n      <span>${You have no issues in JIRA}</span>\n    </div>\n    <div ng-repeat=\"issue in c.myIssues | limitTo : c.limit\" class=\"each-issue\">\n      <a href=\"https://sushruth.atlassian.net/browse/{{issue.key}}\" target=\"_blank\">\n        <img src=\"/jira.png\" />\n        <div class=\"text\">\n          <p class=\"summary\">{{issue.fields.summary}}</p>\n          <p class=\"desc\">{{issue.fields.description}}</p>\n        </div>\n      </a>\n    </div>\n    <div class=\"text-center\">\n      <a ng-if=\"c.myIssues.length > c.limit\" href=\"javascript:void(0)\" ng-click=\"c.showMore()\" class=\"show\">Show More</a>\n      <a ng-if=\"c.myIssues.length == c.limit && c.myIssues.length != c.options.limit\" href=\"javascript:void(0)\" ng-click=\"c.showLess()\"\n        class=\"show\">Show Less</a>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-my-jira-issues/widget/pe-my-jira-issues.u-client-script.js",
    "content": "function JiraIssuesController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.limit = c.options.limit;\n    c.showMore = showMore;\n    c.showLess = showLess;\n  };\n\n  c.server.get({ jira: true }).then(function(r) {\n    c.myIssues = r.data.responseBody.issues;\n  });\n\n  function showMore() {\n    c.limit = c.myIssues.length;\n  }\n\n  function showLess() {\n    c.limit = c.options.limit;\n  }\n}\n"
  },
  {
    "path": "pe-my-jira-issues/widget/pe-my-jira-issues.u-css.scss",
    "content": ".panel-body {\n  padding: 0px !important;\n  .show {\n    padding: 10px;\n  }\n  .text {\n    overflow: hidden;\n  }\n  .no-issues {\n    padding: 10px;\n  }\n  .each-issue {\n    padding: 10px;\n    border-bottom: 1px solid #ddd;\n    a {\n      display: flex;\n      align-items: center;\n      img {\n        width: 30px;\n        margin-right: 10px;\n      }\n    }\n    .summary {\n      font-size: 14px;\n      line-height: 1;\n      margin-bottom: 5px;\n    }\n    .desc {\n      font-size: 11px;\n      margin-bottom: 0px;\n      line-height: 1;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      height: 12px;\n    }\n  }\n}\n"
  },
  {
    "path": "pe-my-jira-issues/widget/pe-my-jira-issues.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"limit\",\n    \"section\": \"other\",\n    \"default_value\": \"5\",\n    \"label\": \"Limit\",\n    \"type\": \"integer\"\n  },\n  {\n    \"name\": \"title\",\n    \"section\": \"other\",\n    \"label\": \"Title\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"issues\",\n    \"section\": \"other\",\n    \"default_value\": \"Assigned to me\",\n    \"label\": \"Issues\",\n    \"type\": \"choice\",\n    \"choices\": [\n      {\n        \"label\": \"Assigned to me\",\n        \"value\": \"Assigned to me\"\n      },\n      {\n        \"label\": \"Created by me\",\n        \"value\": \"Created by me\"\n      }\n    ]\n  }\n]\n"
  },
  {
    "path": "pe-my-jira-issues/widget/pe-my-jira-issues.u-server-script.js",
    "content": "if (input && input.jira) {\n  getMyIssues();\n}\n\nfunction getMyIssues(assignee) {\n  try {\n    $sp.log(options.issues);\n    var r = new sn_ws.RESTMessageV2('x_snc_jira_issues.JIRA Issues', 'GET');\n    if (options.issues == 'Created by me') {\n      r.setStringParameterNoEscape('querykey', 'creator');\n    } else {\n      r.setStringParameterNoEscape('querykey', 'assignee');\n    }\n    //Assuming you used your servicenow email to sign up for JIRA ex: abel.tuter@servicenow.com.\n    r.setStringParameterNoEscape('queryvalue', gs.getUserName());\n    r.setStringParameterNoEscape('id', gs.getProperty('x_snc_jira_issues.AtlassianId'));\n    var response = r.execute();\n    data.responseBody = JSON.parse(response.getBody());\n    var httpStatus = response.getStatusCode();\n  } catch (ex) {\n    var message = ex.message;\n  }\n}"
  },
  {
    "path": "pe-news-carousel/README.md",
    "content": "# Approval Card\n\n## Description\n\nDisplays a carousel slideshow with a **featured image**, **headline**, and **description**.\n\n## Screenshot\n![alt text](../../images/pe-news-carousel.gif \"News Carousel\")\n\n## Additional Information/Notes\n\n> None\n\n---\n## Installation\n---\nDownload and install update set **[pe-approval-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/approve-card/pe-approval-card/pe-approval-card.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Table` | Sets the table we will be quering against . | |\n| `Featured Image` | Sets the column we will use as featured image. |  |\n| `Limit` | Sets maximum records to display in the slideshow. | 5 |\n| `Encoded Query` | Sets query to run against defined table. | |\n| `Title Field` | Sets the column we will use as Title. |  |\n| `Description Field` | Sets the column we will use as Description. |  |\n| `Link` | Sets link the user will be taken once slideshow is clicked. |  |\n| `Order` | Sets order records will be displayed. | Descending |\n| `Order By` | Sets column records will be sorted by. |  |\n| `Autoplay` | Define if the slideshow will autoplay. | false |\n| `Slideshow Timer` | Sets time for slideshow in milisecond. | 5000 |\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n```"
  },
  {
    "path": "pe-news-carousel/pe-news-carousel.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-01-11 22:48:24\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-news-carousel</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>2a81686a73230300025780844ff6a700</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-11 22:48:24</sys_created_on>\n<sys_id>0d52a0ea73230300025780844ff6a796</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-11 22:48:24</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_26b1acaa73230300025780844ff6a7e5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function NewsCarouselCtrl($timeout) {\n  /* widget controller */\n  var c = this;\n  c.selectItem = selectItem;\n\n  c.$onInit = function () {\n    c.selectedItem = 0;\n    $('#myCarousel').on('slide.bs.carousel', function (e) {\n      var next = $(e.relatedTarget);\n      var to = next.index();\n      $timeout(function () {\n        c.selectedItem = to;\n      }, 0)\n    });\n\n  };\n\n  function selectItem(index) {\n    $('#myCarousel').carousel(index)\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;#myCarousel {&amp;#13;\n  display: flex;&amp;#13;\n  .carousel-caption {&amp;#13;\n    left: 0;&amp;#13;\n    right: 0;&amp;#13;\n    bottom: 0;&amp;#13;\n    text-align: left;&amp;#13;\n    padding: 10px;&amp;#13;\n    background: rgba(0, 0, 0, 0.6);&amp;#13;\n    text-shadow: none;&amp;#13;\n  }&amp;#13;\n  .carousel-caption h4 a {&amp;#13;\n    font-size: 1.75em;&amp;#13;\n    color: $text-muted;&amp;#13;\n  }&amp;#13;\n  .list-group {&amp;#13;\n    display: flex;&amp;#13;\n    flex-direction: column;&amp;#13;\n    width: 315px;&amp;#13;\n    margin-bottom: 0;&amp;#13;\n    .list-group-item {&amp;#13;\n      border-radius: 0px;&amp;#13;\n      cursor: pointer;&amp;#13;\n      flex-grow: 1;&amp;#13;\n      &amp;amp;.active {&amp;#13;\n        background-color: $brand-primary;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .carousel-inner {&amp;#13;\n    .item {&amp;#13;\n      height: 100%;&amp;#13;\n      background-size: cover;&amp;#13;\n      background-position: center center;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n@media (min-width: 992px) {&amp;#13;\n  #myCarousel {&amp;#13;\n    .carousel-controls {&amp;#13;\n      display: none;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n@media (max-width: 991px) {&amp;#13;\n  #myCarousel {&amp;#13;\n    .carousel-inner {&amp;#13;\n      min-height: 370px;&amp;#13;\n    }&amp;#13;\n    .carousel-caption p,&amp;#13;\n    .list-group {&amp;#13;\n      display: none;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-news-carousel&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;pe news carousel&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"hint\": \"Table name\",&amp;#13;\n  \"name\": \"table\",&amp;#13;\n  \"default_value\": \"\",&amp;#13;\n  \"label\": \"Table\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"hint\": \"Image displayed when selected\",&amp;#13;\n  \"name\": \"featured_image\",&amp;#13;\n  \"label\": \"Featured Image\",&amp;#13;\n  \"type\": \"field_name\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"limit\",&amp;#13;\n  \"default_value\": \"5\",&amp;#13;\n  \"label\": \"Limit\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"hint\": \"\",&amp;#13;\n  \"name\": \"encoded_query\",&amp;#13;\n  \"label\": \"Encoded Query\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"title_field\",&amp;#13;\n  \"label\": \"Title Field\",&amp;#13;\n  \"type\": \"field_name\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"description_field\",&amp;#13;\n  \"label\": \"Description Field\",&amp;#13;\n  \"type\": \"field_name\"&amp;#13;\n}, {&amp;#13;\n  \"displayValue\": \"Page\",&amp;#13;\n  \"name\": \"link\",&amp;#13;\n  \"label\": \"Link\",&amp;#13;\n  \"type\": \"reference\",&amp;#13;\n  \"value\": \"sp_page\",&amp;#13;\n  \"ed\": {&amp;#13;\n    \"reference\": \"sp_page\"&amp;#13;\n  }&amp;#13;\n}, {&amp;#13;\n  \"hint\": \"\",&amp;#13;\n  \"name\": \"order_type\",&amp;#13;\n  \"default_value\": \"Ascending\",&amp;#13;\n  \"label\": \"Order\",&amp;#13;\n  \"type\": \"choice\",&amp;#13;\n  \"choices\": [{&amp;#13;\n    \"label\": \"Descending\",&amp;#13;\n    \"value\": \"Descending\"&amp;#13;\n  }, {&amp;#13;\n    \"label\": \"Ascending\",&amp;#13;\n    \"value\": \"Ascending\"&amp;#13;\n  }]&amp;#13;\n}, {&amp;#13;\n  \"name\": \"order_by\",&amp;#13;\n  \"default_value\": \"\",&amp;#13;\n  \"label\": \"Order By\",&amp;#13;\n  \"type\": \"field_name\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"autoplay\",&amp;#13;\n  \"default_value\": \"\",&amp;#13;\n  \"label\": \"Autoplay\",&amp;#13;\n  \"type\": \"boolean\"&amp;#13;\n}, {&amp;#13;\n  \"hint\": \"Timer in milisecond\",&amp;#13;\n  \"name\": \"slideshow_timer\",&amp;#13;\n  \"default_value\": \"5000\",&amp;#13;\n  \"label\": \"Slideshow Timer\",&amp;#13;\n  \"type\": \"integer\"&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\n\n  options.table = options.table || serverOptions.table;\n  options.featured_image = options.featured_image || serverOptions.featured_image;\n  options.limit = options.limit || serverOptions.limit;\n  options.encoded_query = options.encoded_query || serverOptions.encoded_query;\n  options.title_field = options.title_field || serverOptions.title_field;\n  options.description_field = options.description_field || serverOptions.description_field;\n  options.link = options.link || serverOptions.link;\n  options.order_type = options.order_type || serverOptions.order_type || \"asc\";\n  options.order_by = options.order_by || serverOptions.order_by;\n  options.autoplay = options.autoplay || serverOptions.autoplay;\n  options.slideshow_timer = options.slideshow_timer || serverOptions.slideshow_timer || 5000;\n\n  if (!options.table || !options.encoded_query) {\n    data.error = \" Please provide Table and EncodedQuery\"; // TODO Translate\n    return\n  }\n\n  var newsGr = new GlideRecordSecure(options.table);\n  newsGr.addEncodedQuery(options.encoded_query);\n  newsGr.setLimit(options.limit);\n\n  if (options.link) {\n    var linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.link)) {\n      data.link = linkGr.getValue('id');\n    }\n  }\n\n  if (options.order_by) {\n    if (options.order_type == 'Descending') {\n      newsGr.orderByDesc(options.order_by)\n    } else {\n      newsGr.orderBy(options.order_by)\n    }\n  }\n  newsGr.query();\n\n  var listOfFields = ['sys_id', options.featured_image, options.title_field, options.description_field];\n  var results = [];\n\n  var tempObj;\n  while (newsGr.next()) {\n    tempObj = {};\n    // $sp.getRecordDisplayValues(tempObj, newsGr, listOfFields.join(','));\n    tempObj.sys_id = newsGr.sys_id.toString();\n    tempObj.title = newsGr.getDisplayValue(options.title_field);\n    tempObj.description = newsGr.getDisplayValue(options.description_field);\n    tempObj.featured_image = newsGr.getDisplayValue(options.featured_image);\n    results.push(tempObj)\n  }\n  data.items = results;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-11 22:48:01&lt;/sys_created_on&gt;&lt;sys_id&gt;26b1acaa73230300025780844ff6a7e5&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe news carousel&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_26b1acaa73230300025780844ff6a7e5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-11 22:48:01&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"outter-container\"&gt;\n  &lt;div id=\"myCarousel\" class=\"carousel slide\" data-ride=\"carousel\" ng-attr-data-interval=\"{{ options.autoplay != 'false' &amp;&amp; options.slideshow_timer || '' }}\"&gt;\n    &lt;!-- Wrapper for slides --&gt;\n    &lt;div class=\"carousel-inner\"&gt;\n      &lt;div class=\"item\" style=\"background-image:url('{{item.featured_image}}');\" ng-class=\"{'active': $index==0}\" ng-repeat=\"item in c.data.items track by $index\"&gt;\n\n        &lt;div class=\"carousel-caption\"&gt;\n          &lt;h4&gt;\n            &lt;a href=\"?id={{c.data.link}}&amp;sys_id={{item.sys_id}}\" ng-bind=\"item.title\"&gt;&lt;/a&gt;\n          &lt;/h4&gt;\n          &lt;p ng-bind=\"item.description\"&gt;&lt;/p&gt;\n        &lt;/div&gt;\n\n      &lt;/div&gt;\n      &lt;!-- End Item --&gt;\n\n    &lt;/div&gt;\n    &lt;!-- End Carousel Inner --&gt;\n\n    &lt;ul class=\"list-group \"&gt;\n      &lt;li data-target=\"#myCarousel\" ng-click=\"c.selectItem($index)\" data-slide-to=\"{{$index}}\" class=\"list-group-item\" ng-class=\"{'active':c.selectedItem == $index}\"\n        ng-repeat=\"item in c.data.items track by $index\"&gt;\n        &lt;h4 ng-bind=\"item.title\"&gt;&lt;/h4&gt;\n      &lt;/li&gt;\n    &lt;/ul&gt;\n\n    &lt;!-- Controls --&gt;\n    &lt;div class=\"carousel-controls\"&gt;\n      &lt;a class=\"left carousel-control\" href=\"#myCarousel\" data-slide=\"prev\"&gt;\n        &lt;span class=\"glyphicon glyphicon-chevron-left\"&gt;&lt;/span&gt;\n      &lt;/a&gt;\n      &lt;a class=\"right carousel-control\" href=\"#myCarousel\" data-slide=\"next\"&gt;\n        &lt;span class=\"glyphicon glyphicon-chevron-right\"&gt;&lt;/span&gt;\n      &lt;/a&gt;\n    &lt;/div&gt;\n\n  &lt;/div&gt;\n  &lt;!-- End Carousel --&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1956516980</payload_hash>\n<remote_update_set display_value=\"pe-news-carousel\">0d52a0ea73230300025780844ff6a796</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-11 22:48:24</sys_created_on>\n<sys_id>0152a0ea73230300025780844ff6a797</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e768a0700000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-11 22:48:24</sys_updated_on>\n<table/>\n<target_name>pe news carousel</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>af326caa2b230300fa03b756e11ff054</update_guid>\n<update_guid_history>af326caa2b230300fa03b756e11ff054:-1956516980</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-news-carousel/widget/pe-news-carousel.u-body-html-template.html",
    "content": "<div class=\"outter-container\">\n  <div id=\"myCarousel\" class=\"carousel slide\" data-ride=\"carousel\" ng-attr-data-interval=\"{{ options.autoplay != 'false' && options.slideshow_timer || '' }}\">\n    <!-- Wrapper for slides -->\n    <div class=\"carousel-inner\">\n      <div class=\"item\" style=\"background-image:url('{{item.featured_image}}');\" ng-class=\"{'active': $index==0}\" ng-repeat=\"item in c.data.items track by $index\">\n\n        <div class=\"carousel-caption\">\n          <h4>\n            <a href=\"?id={{c.data.link}}&sys_id={{item.sys_id}}\" ng-bind=\"item.title\"></a>\n          </h4>\n          <p ng-bind=\"item.description\"></p>\n        </div>\n\n      </div>\n      <!-- End Item -->\n\n    </div>\n    <!-- End Carousel Inner -->\n\n    <ul class=\"list-group \">\n      <li data-target=\"#myCarousel\" ng-click=\"c.selectItem($index)\" data-slide-to=\"{{$index}}\" class=\"list-group-item\" ng-class=\"{'active':c.selectedItem == $index}\"\n        ng-repeat=\"item in c.data.items track by $index\">\n        <h4 ng-bind=\"item.title\"></h4>\n      </li>\n    </ul>\n\n    <!-- Controls -->\n    <div class=\"carousel-controls\">\n      <a class=\"left carousel-control\" href=\"#myCarousel\" data-slide=\"prev\">\n        <span class=\"glyphicon glyphicon-chevron-left\"></span>\n      </a>\n      <a class=\"right carousel-control\" href=\"#myCarousel\" data-slide=\"next\">\n        <span class=\"glyphicon glyphicon-chevron-right\"></span>\n      </a>\n    </div>\n\n  </div>\n  <!-- End Carousel -->\n</div>"
  },
  {
    "path": "pe-news-carousel/widget/pe-news-carousel.u-client-script.js",
    "content": "function NewsCarouselCtrl($timeout) {\n  /* widget controller */\n  var c = this;\n  c.selectItem = selectItem;\n\n  c.$onInit = function () {\n    c.selectedItem = 0;\n    $('#myCarousel').on('slide.bs.carousel', function (e) {\n      var next = $(e.relatedTarget);\n      var to = next.index();\n      $timeout(function () {\n        c.selectedItem = to;\n      }, 0)\n    });\n\n  };\n\n  function selectItem(index) {\n    $('#myCarousel').carousel(index)\n  }\n}"
  },
  {
    "path": "pe-news-carousel/widget/pe-news-carousel.u-css.scss",
    "content": "#myCarousel {\n  display: flex;\n  .carousel-caption {\n    left: 0;\n    right: 0;\n    bottom: 0;\n    text-align: left;\n    padding: 10px;\n    background: rgba(0, 0, 0, 0.6);\n    text-shadow: none;\n  }\n  .carousel-caption h4 a {\n    font-size: 1.75em;\n    color: $text-muted;\n  }\n  .list-group {\n    display: flex;\n    flex-direction: column;\n    width: 315px;\n    margin-bottom: 0;\n    .list-group-item {\n      border-radius: 0px;\n      cursor: pointer;\n      flex-grow: 1;\n      &.active {\n        background-color: $brand-primary;\n      }\n    }\n  }\n  .carousel-inner {\n    .item {\n      height: 100%;\n      background-size: cover;\n      background-position: center center;\n    }\n  }\n}\n\n@media (min-width: 992px) {\n  #myCarousel {\n    .carousel-controls {\n      display: none;\n    }\n  }\n}\n\n@media (max-width: 991px) {\n  #myCarousel {\n    .carousel-inner {\n      min-height: 370px;\n    }\n    .carousel-caption p,\n    .list-group {\n      display: none;\n    }\n  }\n}"
  },
  {
    "path": "pe-news-carousel/widget/pe-news-carousel.u-option-schema.json",
    "content": "[{\n  \"hint\": \"Table name\",\n  \"name\": \"table\",\n  \"default_value\": \"\",\n  \"label\": \"Table\",\n  \"type\": \"string\"\n}, {\n  \"hint\": \"Image displayed when selected\",\n  \"name\": \"featured_image\",\n  \"label\": \"Featured Image\",\n  \"type\": \"field_name\"\n}, {\n  \"name\": \"limit\",\n  \"default_value\": \"5\",\n  \"label\": \"Limit\",\n  \"type\": \"string\"\n}, {\n  \"hint\": \"\",\n  \"name\": \"encoded_query\",\n  \"label\": \"Encoded Query\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"title_field\",\n  \"label\": \"Title Field\",\n  \"type\": \"field_name\"\n}, {\n  \"name\": \"description_field\",\n  \"label\": \"Description Field\",\n  \"type\": \"field_name\"\n}, {\n  \"displayValue\": \"Page\",\n  \"name\": \"link\",\n  \"label\": \"Link\",\n  \"type\": \"reference\",\n  \"value\": \"sp_page\",\n  \"ed\": {\n    \"reference\": \"sp_page\"\n  }\n}, {\n  \"hint\": \"\",\n  \"name\": \"order_type\",\n  \"default_value\": \"Ascending\",\n  \"label\": \"Order\",\n  \"type\": \"choice\",\n  \"choices\": [{\n    \"label\": \"Descending\",\n    \"value\": \"Descending\"\n  }, {\n    \"label\": \"Ascending\",\n    \"value\": \"Ascending\"\n  }]\n}, {\n  \"name\": \"order_by\",\n  \"default_value\": \"\",\n  \"label\": \"Order By\",\n  \"type\": \"field_name\"\n}, {\n  \"name\": \"autoplay\",\n  \"default_value\": \"\",\n  \"label\": \"Autoplay\",\n  \"type\": \"boolean\"\n}, {\n  \"hint\": \"Timer in milisecond\",\n  \"name\": \"slideshow_timer\",\n  \"default_value\": \"5000\",\n  \"label\": \"Slideshow Timer\",\n  \"type\": \"integer\"\n}]"
  },
  {
    "path": "pe-news-carousel/widget/pe-news-carousel.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\n\n  options.table = options.table || serverOptions.table;\n  options.featured_image = options.featured_image || serverOptions.featured_image;\n  options.limit = options.limit || serverOptions.limit;\n  options.encoded_query = options.encoded_query || serverOptions.encoded_query;\n  options.title_field = options.title_field || serverOptions.title_field;\n  options.description_field = options.description_field || serverOptions.description_field;\n  options.link = options.link || serverOptions.link;\n  options.order_type = options.order_type || serverOptions.order_type || \"asc\";\n  options.order_by = options.order_by || serverOptions.order_by;\n  options.autoplay = options.autoplay || serverOptions.autoplay;\n  options.slideshow_timer = options.slideshow_timer || serverOptions.slideshow_timer || 5000;\n\n  if (!options.table || !options.encoded_query) {\n    data.error = \" Please provide Table and EncodedQuery\"; // TODO Translate\n    return\n  }\n\n  var newsGr = new GlideRecordSecure(options.table);\n  newsGr.addEncodedQuery(options.encoded_query);\n  newsGr.setLimit(options.limit);\n\n  if (options.link) {\n    var linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.link)) {\n      data.link = linkGr.getValue('id');\n    }\n  }\n\n  if (options.order_by) {\n    if (options.order_type == 'Descending') {\n      newsGr.orderByDesc(options.order_by)\n    } else {\n      newsGr.orderBy(options.order_by)\n    }\n  }\n  newsGr.query();\n\n  var listOfFields = ['sys_id', options.featured_image, options.title_field, options.description_field];\n  var results = [];\n\n  var tempObj;\n  while (newsGr.next()) {\n    tempObj = {};\n    // $sp.getRecordDisplayValues(tempObj, newsGr, listOfFields.join(','));\n    tempObj.sys_id = newsGr.sys_id.toString();\n    tempObj.title = newsGr.getDisplayValue(options.title_field);\n    tempObj.description = newsGr.getDisplayValue(options.description_field);\n    tempObj.featured_image = newsGr.getDisplayValue(options.featured_image);\n    results.push(tempObj)\n  }\n  data.items = results;\n})();"
  },
  {
    "path": "pe-news-list/README.md",
    "content": "# Approval Card\n\n## Description\n\nDisplays a list of news **featured image**, **headline**, and **description**.\n\n## Screenshot\n![alt text](../../images/pe-news-list.png \"News List\")\n\n## Additional Information/Notes\n\n> None\n\n---\n## Installation\n---\nDownload and install update set **[pe-approval-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/approve-card/pe-approval-card/pe-approval-card.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Table` | Sets the table we will be quering against . | |\n| `Featured Image` | Sets the column we will use as featured image. |  |\n| `Limit` | Sets maximum records to display in the slideshow. | 5 |\n| `Encoded Query` | Sets query to run against defined table. | |\n| `Title Field` | Sets the column we will use as Title. |  |\n| `Description Field` | Sets the column we will use as Description. |  |\n| `Link` | Sets link the user will be taken once slideshow is clicked. |  |\n| `Order` | Sets order records will be displayed. | Descending |\n| `Order By` | Sets column records will be sorted by. |  |\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n```"
  },
  {
    "path": "pe-news-list/pe-news-list.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-01-12 01:26:57\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-news-list</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>79caec2e73230300025780844ff6a792</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 01:26:56</sys_created_on>\n<sys_id>ef960d6273230300025780844ff6a763</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 01:26:56</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_09a34d2273230300025780844ff6a73c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function NewsListCtrl() {\n  /* widget controller */\n  var c = this;\n  c.$onInit = function () {\n\t\tconsole.log(c);\n    console.log(c.data.items);\n  };\n} ]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.news-item {&amp;#13;\n  display:block;&amp;#13;\n  clear: both;&amp;#13;\n&amp;#13;\n}&amp;#13;\n&amp;#13;\n.news_image, .news_content {&amp;#13;\n  display:inline-block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.readmore {&amp;#13;\n  float:right;&amp;#13;\n  text-transform:uppercase;&amp;#13;\n  a {&amp;#13;\n    font-size:.9em;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-news-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;pe news list&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"featured_image\",\"label\":\"Picture\",\"type\":\"field_name\"},{\"name\":\"title_field\",\"label\":\"Title Field\",\"type\":\"field_name\"},{\"name\":\"description_field\",\"label\":\"Description Field\",\"type\":\"field_name\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"limit_query\",\"default_value\":\"5\",\"label\":\"Limit\",\"type\":\"integer\"},{\"displayValue\":\"Page\",\"name\":\"add_news_link\",\"label\":\"Add News Link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"displayValue\":\"Page\",\"name\":\"more_link\",\"label\":\"More Link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"name\":\"order_type\",\"label\":\"Order Type\",\"type\":\"choice\",\"choices\":[{\"label\":\"Descending\",\"value\":\"Descending\"},{\"label\":\"Ascending\",\"value\":\"Ascending\"}]},{\"name\":\"order_by\",\"label\":\"Order By\",\"type\":\"field_name\"},{\"hint\":\"This is the title for the Widget\",\"name\":\"title\",\"default_value\":\"News\",\"label\":\"Title\",\"type\":\"string\"},{\"displayValue\":\"Page\",\"name\":\"detail_link\",\"label\":\"Detail Link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\n\n  options.table = options.table || serverOptions.table;\n  options.limit = options.limit_query || serverOptions.limit_query;\n  options.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\n  options.featured_image = options.featured_image || serverOptions.featured_image;\n  options.title_field = options.title_field || serverOptions.title_field;\n  options.description_field = options.description_field || serverOptions.description_field;\n\n  options.add_news_link = options.add_news_link || serverOptions.add_news_link;\n  options.more_link = options.more_link || serverOptions.more_link;\n\toptions.detail_link = options.detail_link || serverOptions.detail_link;\n\n  options.order_type = options.order_type || serverOptions.order_type || \"asc\";\n  options.order_by = options.order_by || serverOptions.order_by;\n\n\n  if (!options.table || !options.encoded_query) {\n    data.error = \" Please provide Table and EncodedQuery\"; // TODO Translate\n    return\n  }\n\n  var newsGr = new GlideRecordSecure(options.table);\n  newsGr.addEncodedQuery(options.encoded_query);\n  newsGr.setLimit(options.limit || 5);\n\n  var linkGr;\n  if (options.add_news_link) {\n    linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.add_news_link)) {\n      data.add_news_link = linkGr.getValue('id');\n    }\n  }\n\t\n\tif (options.detail_link) {\n    linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.detail_link)) {\n      data.detail_link = linkGr.getValue('id');\n    }\n  }\n\n  if (options.more_link) {\n    linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.more_link)) {\n      data.more_link = linkGr.getValue('id');\n    }\n  }\n\n\n  if (options.order_by) {\n    if (options.order_type == 'Descending') {\n      newsGr.orderByDesc(options.order_by)\n    } else {\n      newsGr.orderBy(options.order_by)\n    }\n  }\n  newsGr.query();\n  var results = [];\n\n  var tempObj;\n  while (newsGr.next()) {\n    tempObj = {};\n    tempObj.sys_id = newsGr.sys_id.toString();\n    tempObj.title = newsGr.getDisplayValue(options.title_field);\n    tempObj.description = newsGr.getDisplayValue(options.description_field);\n    tempObj.featured_image = newsGr.getDisplayValue(options.featured_image);\n\n    tempObj.updated = newsGr.getDisplayValue('sys_updated_on');\n    tempObj.updated_by = newsGr.getDisplayValue('sys_updated_by');\n\n    results.push(tempObj)\n  }\n  data.items = results;\n\n})(); ]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-12 01:14:53&lt;/sys_created_on&gt;&lt;sys_id&gt;09a34d2273230300025780844ff6a73c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe news list&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_09a34d2273230300025780844ff6a73c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-01-12 01:14:53&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel-default b\"&gt;\n  &lt;div class=\"panel-heading\"&gt;\n    &lt;h2 class=\"panel-title\"&gt;{{ ::options.title || \"News\" }}&lt;/h2&gt;\n  &lt;/div&gt;\n  &lt;div class=\"panel-body items\"&gt;\n\n    &lt;div class=\"news-item\" ng-repeat=\"item in c.data.items track by $index\"&gt;\n      &lt;div class=\"col-xs-12 col-sm-3 news_image\"&gt;\n        &lt;a href=\"?id={{c.data.detail_link}}&amp;sys_id={{item.sys_id}}\"&gt;\n          &lt;img ng-src=\"{{item.featured_image}}\" class=\"img-responsive\" alt=\"\"&gt;\n        &lt;/a&gt;\n      &lt;/div&gt;\n      &lt;div class=\"col-xs-12 col-sm-9 news_content\"&gt;\n        &lt;a href=\"?id={{c.data.detail_link}}&amp;sys_id={{item.sys_id}}\"&gt; \n          &lt;h4 class=\"news-title\" ng-bind=\"item.title\"&gt;&lt;/h4&gt;\n        &lt;/a&gt;\n        &lt;p class=\"news-description\" ng-bind=\"item.description\"&gt;\n        &lt;/p&gt;\n        &lt;p class=\"readmore\"&gt;\n          &lt;a href=\"?id={{c.data.detail_link}}&amp;sys_id={{item.sys_id}}\"&gt;Read More&lt;/a&gt;\n        &lt;/p&gt;\n      &lt;/div&gt;\n      &lt;hr&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt; ]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-701119272</payload_hash>\n<remote_update_set display_value=\"pe-news-list\">ef960d6273230300025780844ff6a763</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-01-12 01:26:56</sys_created_on>\n<sys_id>e3960d6273230300025780844ff6a764</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>160e7ef14080000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-01-12 01:26:56</sys_updated_on>\n<table/>\n<target_name>pe news list</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>bad34d228923030021811dafb392c08b</update_guid>\n<update_guid_history>bad34d228923030021811dafb392c08b:-701119272</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-news-list/widget/pe-news-list.u-body-html-template.html",
    "content": "<div class=\"panel-default b\">\n  <div class=\"panel-heading\">\n    <h2 class=\"panel-title\">{{ ::options.title || \"News\" }}</h2>\n  </div>\n  <div class=\"panel-body items\">\n\n    <div class=\"news-item\" ng-repeat=\"item in c.data.items track by $index\">\n      <div class=\"col-xs-12 col-sm-3 news_image\">\n        <a href=\"?id={{c.data.detail_link}}&sys_id={{item.sys_id}}\">\n          <img ng-src=\"{{item.featured_image}}\" class=\"img-responsive\" alt=\"\">\n        </a>\n      </div>\n      <div class=\"col-xs-12 col-sm-9 news_content\">\n        <a href=\"?id={{c.data.detail_link}}&sys_id={{item.sys_id}}\">\n          <h4 class=\"news-title\" ng-bind=\"item.title\"></h4>\n        </a>\n        <p class=\"news-description\" ng-bind=\"item.description\">\n        </p>\n        <p class=\"readmore\">\n          <a href=\"?id={{c.data.detail_link}}&sys_id={{item.sys_id}}\">Read More</a>\n        </p>\n      </div>\n      <hr>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-news-list/widget/pe-news-list.u-client-script.js",
    "content": "function NewsListCtrl() {\n  /* widget controller */\n  var c = this;\n  c.$onInit = function () {\n    console.log(c);\n    console.log(c.data.items);\n  };\n}"
  },
  {
    "path": "pe-news-list/widget/pe-news-list.u-css.scss",
    "content": ".news-item {\n  display: block;\n  clear: both;\n}\n\n.news_image,\n.news_content {\n  display: inline-block;\n}\n\n.readmore {\n  float: right;\n  text-transform: uppercase;\n  a {\n    font-size: .9em;\n  }\n}"
  },
  {
    "path": "pe-news-list/widget/pe-news-list.u-option-schema.json",
    "content": "[{\n  \"name\": \"table\",\n  \"label\": \"Table\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"featured_image\",\n  \"label\": \"Picture\",\n  \"type\": \"field_name\"\n}, {\n  \"name\": \"title_field\",\n  \"label\": \"Title Field\",\n  \"type\": \"field_name\"\n}, {\n  \"name\": \"description_field\",\n  \"label\": \"Description Field\",\n  \"type\": \"field_name\"\n}, {\n  \"name\": \"encoded_query\",\n  \"label\": \"Encoded Query\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"limit_query\",\n  \"default_value\": \"5\",\n  \"label\": \"Limit\",\n  \"type\": \"integer\"\n}, {\n  \"displayValue\": \"Page\",\n  \"name\": \"add_news_link\",\n  \"label\": \"Add News Link\",\n  \"type\": \"reference\",\n  \"value\": \"sp_page\",\n  \"ed\": {\n    \"reference\": \"sp_page\"\n  }\n}, {\n  \"displayValue\": \"Page\",\n  \"name\": \"more_link\",\n  \"label\": \"More Link\",\n  \"type\": \"reference\",\n  \"value\": \"sp_page\",\n  \"ed\": {\n    \"reference\": \"sp_page\"\n  }\n}, {\n  \"name\": \"order_type\",\n  \"label\": \"Order Type\",\n  \"type\": \"choice\",\n  \"choices\": [{\n    \"label\": \"Descending\",\n    \"value\": \"Descending\"\n  }, {\n    \"label\": \"Ascending\",\n    \"value\": \"Ascending\"\n  }]\n}, {\n  \"name\": \"order_by\",\n  \"label\": \"Order By\",\n  \"type\": \"field_name\"\n}, {\n  \"hint\": \"This is the title for the Widget\",\n  \"name\": \"title\",\n  \"default_value\": \"News\",\n  \"label\": \"Title\",\n  \"type\": \"string\"\n}, {\n  \"displayValue\": \"Page\",\n  \"name\": \"detail_link\",\n  \"label\": \"Detail Link\",\n  \"type\": \"reference\",\n  \"value\": \"sp_page\",\n  \"ed\": {\n    \"reference\": \"sp_page\"\n  }\n}]"
  },
  {
    "path": "pe-news-list/widget/pe-news-list.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\n\n  options.table = options.table || serverOptions.table;\n  options.limit = options.limit_query || serverOptions.limit_query;\n  options.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\n  options.featured_image = options.featured_image || serverOptions.featured_image;\n  options.title_field = options.title_field || serverOptions.title_field;\n  options.description_field = options.description_field || serverOptions.description_field;\n\n  options.add_news_link = options.add_news_link || serverOptions.add_news_link;\n  options.more_link = options.more_link || serverOptions.more_link;\n  options.detail_link = options.detail_link || serverOptions.detail_link;\n\n  options.order_type = options.order_type || serverOptions.order_type || \"asc\";\n  options.order_by = options.order_by || serverOptions.order_by;\n\n\n  if (!options.table || !options.encoded_query) {\n    data.error = \" Please provide Table and EncodedQuery\"; // TODO Translate\n    return\n  }\n\n  var newsGr = new GlideRecordSecure(options.table);\n  newsGr.addEncodedQuery(options.encoded_query);\n  newsGr.setLimit(options.limit || 5);\n\n  var linkGr;\n  if (options.add_news_link) {\n    linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.add_news_link)) {\n      data.add_news_link = linkGr.getValue('id');\n    }\n  }\n\n  if (options.detail_link) {\n    linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.detail_link)) {\n      data.detail_link = linkGr.getValue('id');\n    }\n  }\n\n  if (options.more_link) {\n    linkGr = new GlideRecord('sp_page');\n    if (linkGr.get(options.more_link)) {\n      data.more_link = linkGr.getValue('id');\n    }\n  }\n\n\n  if (options.order_by) {\n    if (options.order_type == 'Descending') {\n      newsGr.orderByDesc(options.order_by)\n    } else {\n      newsGr.orderBy(options.order_by)\n    }\n  }\n  newsGr.query();\n  var results = [];\n\n  var tempObj;\n  while (newsGr.next()) {\n    tempObj = {};\n    tempObj.sys_id = newsGr.sys_id.toString();\n    tempObj.title = newsGr.getDisplayValue(options.title_field);\n    tempObj.description = newsGr.getDisplayValue(options.description_field);\n    tempObj.featured_image = newsGr.getDisplayValue(options.featured_image);\n\n    tempObj.updated = newsGr.getDisplayValue('sys_updated_on');\n    tempObj.updated_by = newsGr.getDisplayValue('sys_updated_by');\n\n    results.push(tempObj)\n  }\n  data.items = results;\n\n})();"
  },
  {
    "path": "pe-outcome-feedback/README.md",
    "content": "# Outcome Feedback\n\n## Description\n\nPreconfigured component to show a message using a minimal Bootstrap based configuration.\n\n## Screenshots\n![alt text](../images/pe-outcome-feedback.png \"Outcome Feedback\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-outcome-feedback.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-outcome-feedback/pe-outcome-feedback.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal styles configuration to make it easy to customize and extend.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "pe-outcome-feedback/pe-outcome-feedback.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-03 13:49:07\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-outcome-feedback.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>6402f5a4db3bb2004e5cfa131f961904</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:49:07</sys_created_on>\n<sys_id>51a5fd28db3bb2004e5cfa131f9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:49:07</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_dc081c13db63f20086da7d5e0f961920</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function OutcomeFeedbackController() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$text-color: #3f4c5c !default;\n.outcome-feedback {\n  text-align: center;\n  .icon {\n    margin-top: 40px;\n  }\n  h1 {\n    margin-top: 15px;\n    font-size: 25px;\n    font-weight: 600;\n    color: $text-color;\n  }\n  p {\n    margin-top: 6px;\n    font-size: 16px;\n    color: $text-color;\n  }\n  button {\n    margin-top: 55px;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;outcome-feedback&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Outcome Feedback&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-29 10:04:50&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;dc081c13db63f20086da7d5e0f961920&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;Outcome Feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_dc081c13db63f20086da7d5e0f961920&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 13:48:07&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg style=\"display: none;\"&gt;\n    &lt;symbol id=\"checked\"&gt;\n        &lt;svg width=\"50px\" height=\"50px\" viewBox=\"162 300 50 50\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n            &lt;defs&gt;&lt;/defs&gt;\n            &lt;g id=\"check-circle-2.3.3.1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(163.000000, 301.000000)\"&gt;\n                &lt;polyline id=\"Shape\" stroke=\"#3F4C5C\" stroke-width=\"2\" points=\"34.4166667 16.7083333 18.7916667 31.2916667 13.5833333 26.0833333\"&gt;&lt;/polyline&gt;\n                &lt;circle id=\"Oval\" stroke=\"#3F4C5C\" stroke-width=\"2\" cx=\"24\" cy=\"24\" r=\"23.9583333\"&gt;&lt;/circle&gt;\n            &lt;/g&gt;\n        &lt;/svg&gt;\n    &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div class=\"row outcome-feedback\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n        &lt;div class=\"icon\"&gt;\n            &lt;svg viewBox=\"0 0 50 50\" width=\"51px\" height=\"50px\"&gt;\n                &lt;use xlink:href=\"#checked\"&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n        &lt;/div&gt;\n        &lt;h1&gt;${NDL Outcome Feedback Title}&lt;/h1&gt;\n        &lt;p&gt;${NDL Outcome Feedback Subtitle}&lt;/p&gt;\n        &lt;button class=\"btn btn-primary\" ng-click=\"c.done()\"&gt;${NDL Outcome Feedback Action Label}&lt;/button&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-635895090</payload_hash>\n<remote_update_set display_value=\"pe-outcome-feedback.u-update-set.xml\">51a5fd28db3bb2004e5cfa131f9619e1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:49:07</sys_created_on>\n<sys_id>15a5fd28db3bb2004e5cfa131f9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08b553060000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:49:07</sys_updated_on>\n<table/>\n<target_name>Outcome Feedback</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>fe65fd28e63bb2001b08de0d0cdbe72c</update_guid>\n<update_guid_history>fe65fd28e63bb2001b08de0d0cdbe72c:-635895090,2d453d28933bb2003cf0371dc298a6e7:2139349662,aa25796025bfb200d2bcb8c856f59df1:-1244345555,002271e4bb3bb20060e408cdd7981edc:-1733215549,7e1271e47f3bb20038294cced1371443:193347101,c5e809acaa3fb200b505a6ced6a4f060:-1733215549,b8b849e455b7b200da300435441104d9:-1589394019,767885ac3f3fb20071958765f40e7dc9:370269162,-753344685:-753344685,854839295:854839295,44440497:44440497,977884713:977884713,1007229137:1007229137,-241247168:-241247168,-1068138319:-1068138319,224184598:224184598,-174528169:-174528169,-291586261:-291586261,-1925439394:-1925439394,-1660354394:-1660354394,1354786524:1354786524,1048999639:1048999639</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_95bedc57db63f20086da7d5e0f961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Outcome Feedback</application><key>NDL Outcome Feedback Action Label</key><language>en</language><message>Done</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-29 10:17:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>95bedc57db63f20086da7d5e0f961986</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NDL Outcome Feedback Action Label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_95bedc57db63f20086da7d5e0f961986</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:46:32</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>1165369025</payload_hash>\n<remote_update_set display_value=\"pe-outcome-feedback.u-update-set.xml\">51a5fd28db3bb2004e5cfa131f9619e1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:49:07</sys_created_on>\n<sys_id>5da5fd28db3bb2004e5cfa131f9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08b3e0fb0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:49:07</sys_updated_on>\n<table/>\n<target_name>NDL Outcome Feedback Action Label</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>2f0575e4803bb200c11c7a1c1b4b4178</update_guid>\n<update_guid_history>2f0575e4803bb200c11c7a1c1b4b4178:1165369025,218802574:218802574</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_865edc57db63f20086da7d5e0f961907</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Outcome Feedback</application><key>NDL Outcome Feedback Subtitle</key><language>en</language><message>The device has also been added to your home screen for convenient access.</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-29 10:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>865edc57db63f20086da7d5e0f961907</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NDL Outcome Feedback Subtitle</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_865edc57db63f20086da7d5e0f961907</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:46:53</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>1387070388</payload_hash>\n<remote_update_set display_value=\"pe-outcome-feedback.u-update-set.xml\">51a5fd28db3bb2004e5cfa131f9619e1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:49:07</sys_created_on>\n<sys_id>99a5fd28db3bb2004e5cfa131f9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08b4329c0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:49:07</sys_updated_on>\n<table/>\n<target_name>NDL Outcome Feedback Subtitle</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>fc25b928713bb200646870bb529c05c8</update_guid>\n<update_guid_history>fc25b928713bb200646870bb529c05c8:1387070388,1887594565:1887594565</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_861ed857db63f20086da7d5e0f9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Outcome Feedback</application><key>NDL Outcome Feedback Title</key><language>en</language><message>Device Registered!</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-29 10:14:51</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>861ed857db63f20086da7d5e0f9619f9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NDL Outcome Feedback Title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_861ed857db63f20086da7d5e0f9619f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 13:47:19</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-117614608</payload_hash>\n<remote_update_set display_value=\"pe-outcome-feedback.u-update-set.xml\">51a5fd28db3bb2004e5cfa131f9619e1</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 13:49:07</sys_created_on>\n<sys_id>d5a5fd28db3bb2004e5cfa131f9619e1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08b499220000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 13:49:07</sys_updated_on>\n<table/>\n<target_name>NDL Outcome Feedback Title</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>0f35b928863bb20069429822a077c1d1</update_guid>\n<update_guid_history>0f35b928863bb20069429822a077c1d1:-117614608,1169997505:1169997505</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-outcome-feedback/widget/pe-outcome-feedback.u-body-html-template.html",
    "content": "<svg style=\"display: none;\">\n    <symbol id=\"checked\">\n        <svg width=\"50px\" height=\"50px\" viewBox=\"162 300 50 50\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n            <defs></defs>\n            <g id=\"check-circle-2.3.3.1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(163.000000, 301.000000)\">\n                <polyline id=\"Shape\" stroke=\"#3F4C5C\" stroke-width=\"2\" points=\"34.4166667 16.7083333 18.7916667 31.2916667 13.5833333 26.0833333\"></polyline>\n                <circle id=\"Oval\" stroke=\"#3F4C5C\" stroke-width=\"2\" cx=\"24\" cy=\"24\" r=\"23.9583333\"></circle>\n            </g>\n        </svg>\n    </symbol>\n</svg>\n<div class=\"row outcome-feedback\">\n    <div class=\"col-xs-12\">\n        <div class=\"icon\">\n            <svg viewBox=\"0 0 50 50\" width=\"51px\" height=\"50px\">\n                <use xlink:href=\"#checked\"></use>\n            </svg>\n        </div>\n        <h1>${NDL Outcome Feedback Title}</h1>\n        <p>${NDL Outcome Feedback Subtitle}</p>\n        <button class=\"btn btn-primary\" ng-click=\"c.done()\">${NDL Outcome Feedback Action Label}</button>\n    </div>\n</div>"
  },
  {
    "path": "pe-outcome-feedback/widget/pe-outcome-feedback.u-css.scss",
    "content": "$text-color: #3f4c5c !default;\n.outcome-feedback {\n  text-align: center;\n  .icon {\n    margin-top: 40px;\n  }\n  h1 {\n    margin-top: 15px;\n    font-size: 25px;\n    font-weight: 600;\n    color: $text-color;\n  }\n  p {\n    margin-top: 6px;\n    font-size: 16px;\n    color: $text-color;\n  }\n  button {\n    margin-top: 55px;\n  }\n}"
  },
  {
    "path": "pe-progressive-form/README.md",
    "content": "# Progressive Form\n\n## Description\n\nThis widget allows you to offer users a form submission experience which progresses through sections, rather than just showing them all at once. It also allows you to create related records directly from the same form.\n\nFeatures:\n\n- Works with new and existing records.\n- Supports any record which has a “one to many” relationship. E.g. one Problem record can be linked to many Incident records. In this scenario, Problem would be the Master record, and Incident would be the Child record.\n- UI Policy, UI Scripts, and Form Layouts are supported as per the out of box form widget.\n\n**NOTE:** this widget only works with Jakarta and later releases.\n\n## Screenshots\n![Progressive Form](../images/pe-progressive-form.gif)\n\n## Additional Information/Notes\n- This widget creates numbered ”Concertina” panels for each form section, plus an additional final panel for the child (related) records. The final panel also contains the submit button.\n- As with the out of box \"Form\" widget, use the `sys_id` URL parameter to specify the record to open. Not supplying this parameter will result in a new master record being created upon submission of the form.\n- Ensure the tables your editing have corresponding server-side UI Actions with the appropriate action names.\n\n---\n## Installation\n---\nDownload and install update set **[pe-progressive-form.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-progressive-form/pe-progressive-form.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n- Master table name - The table name for the parent record\n- Child table name - The table name for the child records\n- Master reference - The field name on the child table which points to the parent.\n- View name - The view to render the form in\n- “Delete” action name - The action name of the UI Action which will be triggered on deletion of a child record\n- “Insert” action name - The action name of the UI Action which will be triggered on insert of a child record\n- “Update” action name - The action name of the UI Action which will be triggered on update of a child record\n- Redirect to - The URL  to redirect to after submission. Additional parameters pf_sys_id and pf_table will be added to allow identification of the record which was submitted.\n\n---\n## Platform Dependencies\n---\n> None\n\n---\n## Sample Data and Data Structures\n---\nNo sample data provided.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n- PRB827724-workaround\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$button-background: #757575 !default;`<br />\n`$button-color: #fff !default;`<br />\n`$button-hover-background: #3a3f51 !default;`<br />\n`$button-hover-color: #fff !default;`<br />"
  },
  {
    "path": "pe-progressive-form/pe-progressive-form.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-10 04:13:02\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>(PE) Progressive Form</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date>2017-07-10 04:12:48</release_date>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>a801d792db333200fd02711ebf96190f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>7ee4f326dbb73200fd02711ebf9619f9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_6772d792db333200fd02711ebf961918</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pec-parent&lt;/id&gt;&lt;sp_widget display_value=\"Progressive Form\"&gt;2a315b92db333200fd02711ebf961963&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:04:15&lt;/sys_created_on&gt;&lt;sys_id&gt;6772d792db333200fd02711ebf961918&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pec-parent&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_6772d792db333200fd02711ebf961918&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 07:04:15&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pec-section pec-parent\" ng-class=\"{'pec-inactive': !allowToggle()}\"&gt;\n    &lt;div class=\"pec-head\" ng-click=\"toggle()\"&gt;\n        &lt;div class=\"pec-num\"&gt;{{getSectionNumber()}}&lt;/div&gt;\n        &lt;h2&gt;{{::title}}&lt;/h2&gt;\n        &lt;div class=\"pec-edit\" ng-style=\"{'visibility': showEdit() ? 'visible' : 'hidden'}\"&gt;Edit&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"pec-wrap\"&gt;\n        &lt;div class=\"pec-content\"&gt;\n            &lt;div ng-transclude&gt;&lt;/div&gt;\n            &lt;div class=\"pepf-actions\" ng-if=\"::showNext\"&gt;\n                &lt;button class=\"pec-minor\" ng-click=\"next()\"&gt;Next&lt;/button&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1603802309</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>32e4f326dbb73200fd02711ebf9619fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2629bb700000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>pec-parent</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>d1829fd217333200233d3ed13ad4e168</update_guid>\n<update_guid_history>d1829fd217333200233d3ed13ad4e168:-1603802309</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_a9a21316db333200fd02711ebf96193c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;peConcertinaSection&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function peConcertinaSectionDirective ($timeout) {\n\n\tvar link = function (scope) {\n\n\t\tscope.sections = [];\n\n\t\tvar currentSection = -1;\n\n\t\t$timeout(function () {\n\n\t\t\tscope.containers.forEach(function (currentValue) {\n\n\t\t\t\tif (currentSection === -1) {\n\t\t\t\t\tcurrentSection++;\n\t\t\t\t} else if (currentValue.captionDisplay !== '' &amp;&amp; currentValue.caption !== '') {\n\t\t\t\t\tcurrentSection++;\n\t\t\t\t}\n\n\t\t\t\tif (typeof scope.sections[currentSection] === 'undefined') {\n\t\t\t\t\tscope.sections[currentSection] = [];\n\t\t\t\t}\n\n\t\t\t\tscope.sections[currentSection].push(currentValue);\n\t\t\t});\n\n\t\t}, 0);\n\n\t};\n\n\treturn {\n\t\trestrict: 'E',\n\t\tlink: link,\n\t\trequire: '^spModel'\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:05:07&lt;/sys_created_on&gt;&lt;sys_id&gt;a9a21316db333200fd02711ebf96193c&lt;/sys_id&gt;&lt;sys_mod_count&gt;8&lt;/sys_mod_count&gt;&lt;sys_name&gt;peConcertinaSection&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_a9a21316db333200fd02711ebf96193c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 13:07:51&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-58834126</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>36e4f326dbb73200fd02711ebf9619fc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d27769fc90000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertinaSection</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>23b5e46623b33200f68193af79a99898</update_guid>\n<update_guid_history>23b5e46623b33200f68193af79a99898:-58834126,9395e46668b33200a9528a81878cc995:412234011,d8952c26f9b33200e5790e1d15dec688:1894980513,4d152c2688b33200944cb054a69cc585:-58834126,82c3e8ae62733200a9643b4366e9b82d:-2042457029,8072eca211b332005a883946153c6ef9:-371010438,9ab3d716e7333200b443da96e1572293:1886182410,d15313165e333200ac43f2c60868c407:-26980074,fdb29fd2f33332009af68342d197cbe5:745756638</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_4784d356db333200fd02711ebf961922</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PRB827724-workaround\">e8849356db333200fd02711ebf9619b6</sp_dependency><sp_widget display_value=\"Progressive Form\">2a315b92db333200fd02711ebf961963</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 07:13:07</sys_created_on><sys_id>4784d356db333200fd02711ebf961922</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PRB827724-workaround.Progressive Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_4784d356db333200fd02711ebf961922</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 07:13:07</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>1535933559</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>3ae4f326dbb73200fd02711ebf9619fb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2631da5c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>PRB827724-workaround.Progressive Form</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4f84d356c0333200c6d9a07f6db6fd23</update_guid>\n<update_guid_history>4f84d356c0333200c6d9a07f6db6fd23:1535933559</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_e192ecaedb733200fd02711ebf96194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"peConcertinaManager\">1fe2dfd2db333200fd02711ebf96196c</sp_angular_provider><sp_widget display_value=\"Progressive Form\">2a315b92db333200fd02711ebf961963</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 12:54:05</sys_created_on><sys_id>e192ecaedb733200fd02711ebf96194e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>peConcertinaManager.Progressive Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_e192ecaedb733200fd02711ebf96194e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 12:54:05</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1045046956</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>3ee4f326dbb73200fd02711ebf9619fa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d276a02360000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertinaManager.Progressive Form</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>2192ecaef47332001930d944e0c3784f</update_guid>\n<update_guid_history>2192ecaef47332001930d944e0c3784f:1045046956</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_e732dbd2db333200fd02711ebf96193e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PeProgressiveFormHelper&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PeProgressiveFormHelper&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PeProgressiveFormHelper = Class.create();\nPeProgressiveFormHelper.prototype = {\n\n\t/**\n\t *\n\t * @param $sp\n\t */\n\tinitialize: function($sp) {\n\t\tthis.$sp = $sp;\n\t\tthis.view = 'service_portal';\n\t},\n\n\t/**\n\t *\n\t * @param tableName\n\t */\n\tsetMaster: function (tableName) {\n\t\tthis.master = tableName;\n\t},\n\n\t/**\n\t *\n\t * @param tableName\n\t * @param reference\n\t */\n\tsetChild: function (tableName, reference) {\n\t\tthis.child = tableName;\n\t\tthis.reference = reference;\n\t},\n\n\t/**\n\t *\n\t * @param viewName\n\t */\n\tsetView: function (viewName) {\n\t\tthis.view = viewName;\n\t},\n\n\t/**\n\t *\n\t * @param id\n\t * @returns {{master: *, children: {singular: *, plural: *, forms: Array}}}\n\t */\n\tget: function (id) {\n\n\t\tvar children = [];\n\n\t\tvar childGr = new GlideRecord(this.child);\n\t\tchildGr.addQuery(this.reference, id);\n\t\tchildGr.orderBy('sys_created_on');\n\t\tchildGr.query();\n\n\t\twhile (childGr.next()) {\n\t\t\tchildren.push(this.$sp.getForm(this.child, childGr.getUniqueValue(), null, this.view));\n\t\t}\n\n\t\treturn {\n\t\t\tmaster: this.$sp.getForm(this.master, id, null, this.view),\n\t\t\tchildren: {\n\t\t\t\tsingular: childGr.getClassDisplayValue(),\n\t\t\t\tplural: childGr.getPlural(),\n\t\t\t\tforms: children\n\t\t\t}\n\t\t};\n\t},\n\n\ttype: 'PeProgressiveFormHelper'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:03:17&lt;/sys_created_on&gt;&lt;sys_id&gt;e732dbd2db333200fd02711ebf96193e&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PeProgressiveFormHelper&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_e732dbd2db333200fd02711ebf96193e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 07:17:18&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-515001869</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>3ee4f326dbb73200fd02711ebf9619fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2635ae1e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>PeProgressiveFormHelper</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>1c85d7569b333200bb16f1ea05a024fb</update_guid>\n<update_guid_history>1c85d7569b333200bb16f1ea05a024fb:-515001869,65751f56eb333200260140a1b95a3d45:-2004799053,e1c3d716c7333200c238c93f8b7d0098:720899475,47421fd2e033320088372174c55af502:-381200461</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_8bf2dfd2db333200fd02711ebf9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;peConcertina&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function peConcertinaDirective ($timeout, $window, peConcertinaManager, $document) {\n\n\tvar controller = ['$scope', function ($scope) {\n\n\t\t$scope.toggle = function () {\n\t\t\tpeConcertinaManager.toggle($scope.$id, $scope.namespace);\n\t\t};\n\n\t\t$scope.next = function () {\n\t\t\tpeConcertinaManager.next($scope.$id, $scope.namespace);\n\t\t};\n\n\t}];\n\n\tvar link = function (scope, elem, attrs) {\n\n\t\tscope.showNext = attrs.pecShowNext;\n\t\tscope.namespace = attrs.pecNs;\n\t\tscope.title = attrs.pecTitle;\n\n\t\tvar wrapperElem,\n\t\t\tcontentElem,\n\t\t\tcontentHeight;\n\n\t\t$timeout(function () {\n\n\t\t\tscope.getSectionNumber = function () {\n\t\t\t\treturn peConcertinaManager.getSectionNumber(scope.$id, scope.namespace);\n\t\t\t};\n\n\t\t\tscope.showEdit = function () {\n\t\t\t\treturn (peConcertinaManager.isVisited(scope.$id, scope.namespace) &amp;&amp;\n\t\t\t\t!peConcertinaManager.isExpanded(scope.$id, scope.namespace));\n\t\t\t};\n\n\t\t\tscope.allowToggle = function () {\n\t\t\t\treturn peConcertinaManager.isVisited(scope.$id, scope.namespace);\n\t\t\t};\n\n\t\t\tscope.toggleDelete = function () {\n\t\t\t\tscope.$broadcast('pec.toggleDelete');\n\t\t\t\tscope.toDelete = !scope.toDelete;\n\t\t\t};\n\n\t\t\twrapperElem = elem.find('.pec-wrap').first();\n\t\t\tcontentElem = elem.find('.pec-content').first();\n\n\t\t\tpeConcertinaManager.register(scope.$id, attrs.pecNs, $document.find('[pe-concertina]'), (attrs.pecExpanded === 'true'));\n\n\t\t\tsetSize();\n\n\t\t\t/**\n\t\t\t * Watch for the content size to change\n\t\t\t */\n\t\t\tscope.$watch(function () {\n\t\t\t\treturn contentElem.outerHeight();\n\t\t\t}, setSize);\n\n\n\t\t\t/**\n\t\t\t * Watch for the window to be resized\n\t\t\t */\n\t\t\tangular.element($window).resize(setSize);\n\n\t\t\t/**\n\t\t\t * Watch for changes to whether the panel is expanded or not\n\t\t\t */\n\t\t\tscope.$watch(function (scope) {\n\t\t\t\treturn peConcertinaManager.isExpanded(scope.$id, attrs.pecNs)\n\t\t\t}, setSize, true);\n\n\n\t\t\t/**\n\t\t\t * Update the height of the wrapper to correspond to whether the panel is expanded or not\n\t\t\t */\n\t\t\tfunction setSize() {\n\n\t\t\t\tcontentHeight = contentElem.outerHeight();\n\n\t\t\t\tif (peConcertinaManager.isExpanded(scope.$id, scope.namespace)) {\n\n\t\t\t\t\twrapperElem.css('transition', '');\n\t\t\t\t\twrapperElem.css('max-height', contentHeight + 'px');\n\n\t\t\t\t} else {\n\t\t\t\t\twrapperElem.css('transition', 'max-height 0.5s ease-in');\n\t\t\t\t\twrapperElem.css('max-height', 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}, 0);\n\n\t};\n\n\treturn {\n\t\tcontroller: controller,\n\t\ttransclude: true,\n\t\ttemplateUrl: function(elem, attrs) { return attrs.pecTemplateUrl || 'pec-parent'; },\n\t\tlink: link,\n\t\tscope: {}\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:06:21&lt;/sys_created_on&gt;&lt;sys_id&gt;8bf2dfd2db333200fd02711ebf9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;peConcertina&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_8bf2dfd2db333200fd02711ebf9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 07:19:35&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>732095110</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>72e4f326dbb73200fd02711ebf9619fc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2637c4520000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertina</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>3506d716ef3332001818d090495c26cb</update_guid>\n<update_guid_history>3506d716ef3332001818d090495c26cb:732095110,94f5d7166c3332001c412658c2b3e2c8:793568958,3193d7166433320071f4169286b0e96d:-1638863765,88031316003332001bab3def2d13a002:793568958</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_ed92ecaedb733200fd02711ebf96194a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"peConcertina\">8bf2dfd2db333200fd02711ebf9619f6</sp_angular_provider><sp_widget display_value=\"Progressive Form\">2a315b92db333200fd02711ebf961963</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 12:54:05</sys_created_on><sys_id>ed92ecaedb733200fd02711ebf96194a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>peConcertina.Progressive Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_ed92ecaedb733200fd02711ebf96194a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 12:54:05</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1252349327</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>76e4f326dbb73200fd02711ebf9619fb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d276a01fb0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertina.Progressive Form</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>2192ecae0973320095b5aaa0d082254c</update_guid>\n<update_guid_history>2192ecae0973320095b5aaa0d082254c:1252349327</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_a592a0e2dbb33200fd02711ebf961969</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"peFormManager\">83b2dfd2db333200fd02711ebf9619fd</sp_angular_provider><sp_widget display_value=\"Progressive Form\">2a315b92db333200fd02711ebf961963</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 12:54:05</sys_created_on><sys_id>a592a0e2dbb33200fd02711ebf961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>peFormManager.Progressive Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_a592a0e2dbb33200fd02711ebf961969</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 12:54:05</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1046635398</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>7ae4f326dbb73200fd02711ebf9619fa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d276a026d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peFormManager.Progressive Form</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>e192a0e2b5b33200f06e276eb742556a</update_guid>\n<update_guid_history>e192a0e2b5b33200f06e276eb742556a:1046635398</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_2a315b92db333200fd02711ebf961963</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function peProgressiveForm (peConcertinaManager, peFormManager, $scope, $location, i18n) {\tvar c = this;\tif (c.data.mandatoryErrors === 0) {\t\tc.data.messages.forEach(function (message) {\t\t\ti18n.loadMessage(message.name, message.value);\t\t});\t\tc.forms = {\t\t\tmaster: [c.data.forms.master],\t\t\tchildren: c.data.forms.children\t\t};\t\tpeFormManager.setActionName('delete', c.options.delete_action_name);\t\tpeFormManager.setActionName('insert', c.options.insert_action_name);\t\tpeFormManager.setActionName('update', c.options.update_action_name);\t\tpeFormManager.setReference('problem_id');\t\tif (c.data.sysId !== '-1') {\t\t\tpeConcertinaManager.unlock('main');\t\t}\t\tpeConcertinaManager.unlock('child');\t\t/**\t\t * Add a new child form\t\t */\t\tc.addChild = function () {\t\t\tc.server.get({action: 'get_child_form', view: c.forms.master.view}).then(function(r) {\t\t\t\tc.forms.children.forms.push(r.data.form);\t\t\t});\t\t};\t\t/**\t\t * Save all forms on the page\t\t */\t\tc.save = function () {\t\t\tpeConcertinaManager.closeAll('main');\t\t\tpeFormManager.save().then(function (sysId) {\t\t\t\tif (c.options.redirect_to === '') {\t\t\t\t\t$location.search('sys_id', sysId);\t\t\t\t\tc.data.sysId = sysId;\t\t\t\t\tc.server.update().then(function () {\t\t\t\t\t\tpeFormManager.reset();\t\t\t\t\t\tc.forms.children = [];\t\t\t\t\t\tc.forms.master = [];\t\t\t\t\t\tc.forms.master = [c.data.forms.master];\t\t\t\t\t\tc.forms.children = c.data.forms.children;\t\t\t\t\t});\t\t\t\t} else {\t\t\t\t\tvar search = $location.search();\t\t\t\t\tsearch.id = c.options.redirect_to;\t\t\t\t\tsearch.pf_table = c.forms.master[0].table;\t\t\t\t\tsearch.pf_id = sysId;\t\t\t\t\tsearch.sys_id = undefined;\t\t\t\t\t$location.search(search).replace();\t\t\t\t}\t\t\t});\t\t};\t}}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$button-background: #757575 !default;\n$button-color: #fff !default;\n$button-hover-background: #3a3f51 !default;\n$button-hover-color: #fff !default;\n\n.pepf-header {\n  font-size: 20px;\n  margin: 40px 0 20px 0;\n}\n\n.pepf-body {\n  padding-bottom: 40px;\n}\n\n.pec-content {\n  border-radius: 10px;\n  background-color: #fafafa;\n  padding: 40px 20px 20px 20px;\n}\n\n.pec-wrap {\n  max-height: 0px;\n  overflow-y: hidden;\n}\n\n.pepf-actions {\n  padding: 20px;\n  text-align: center;\n  margin: 5px 0;\n\n\n  button {\n    border: 0;\n    padding: 10px 20px;\n    border-radius: 3px;\n    background-color: $button-background;\n    color: $button-color;\n    width: 250px;\n    box-sizing: border-box;\n    margin: 5px 0;\n\n    &amp;amp;:hover {\n      background-color: $button-hover-background;\n      color: $button-hover-color;\n    }\n  }\n\n  .pepf-minor, .pec-minor {\n    background-color: white;\n    color: black;\n    border: 1px solid #757575;\n  }\n\n  .pepf-minor:hover, .pec-minor:hover {\n    background-color: $button-hover-background;\n    color: $button-hover-color;\n  }\n}\n\n.pec-section {\n  position: relative;\n}\n\n.pec-child {\n  border-radius: 10px;\n  border: 1px solid #eee;\n  overflow: hidden;\n  margin-bottom: 10px;\n\n  h3 {\n    margin: 0;\n    border-radius: 7px 7px 0 0;\n    padding: 10px;\n    background-color: #eee;\n    font-size: 16px;\n  }\n\n  .pec-content {\n    padding: 10px;\n  }\n}\n\n.pec-parent {\n\n  position: relative;\n\n  padding-top: 35px;\n  padding-left: 7px;\n  margin-top: 20px;\n  margin-bottom: 20px;\n\n  &amp;amp; &amp;gt; .pec-head {\n    position: absolute;\n    top: 10px;\n    left: 0;\n    background-color: #eee;\n    border: 1px solid #ddd;\n    padding: 7px 20px 7px 7px;\n    border-radius: 30px;\n    cursor: pointer;\n    display: inline-block;\n    z-index: 10;\n\n    .pec-num {\n      width: 32px;\n      height: 32px;\n      line-height: 32px;\n      border-radius: 16px;\n      text-align: center;\n      background-color: $button-background;\n      color: $button-color;\n      float: left;\n      margin-right: 10px;\n    }\n    h2 {\n      font-size: 16px;\n      line-height: 32px;\n      float: left;\n      margin: 0;\n      min-width: 150px;\n    }\n  }\n}\n\n\npe-concertina-section legend {\n  display: none;\n}\n\n.pec-edit {\n  height: 20px;\n  border-radius: 10px;\n  text-align: center;\n  background-color: $button-background;\n  color: $button-color;\n  float: left;\n  padding: 0 15px;\n  margin-top: 6px;\n  font-size: 12px;\n  line-height: 20px;\n  margin-left: 15px;\n}\n\n.pec-head:hover .pec-edit {\n  background-color: $button-hover-background;\n  color: $button-hover-color;\n}\n\n.pec-inactive {\n  opacity: 0.5;\n\n  .pec-head {\n    cursor: default;\n  }\n\n  .pec-edit {\n    visibility: hidden;\n  }\n}\n\n.pec-delete {\n  position: absolute;\n  top: 0;\n  right: 15px;\n  font-size: 25px;\n  line-height: 38px;\n\n  &amp;amp;:hover{\n    color: rgb(206,28,32);\n  }\n}\n\n.pec-to-delete {\n  color: rgb(206,28,32);\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-progressive-form&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Progressive Form&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Table\",\"name\":\"master\",\"label\":\"Master table name\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},{\"displayValue\":\"Table\",\"name\":\"child\",\"label\":\"Child table name\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},{\"hint\":\"The reference field on the child table to point to the master table (e.g. \\\"parent\\\", \\\"problem\\\" etc.)\",\"name\":\"reference\",\"label\":\"Master reference\",\"type\":\"string\"},{\"hint\":\"The \\\"action name\\\" of the UI Action you want to trigger when a record is deleted.\",\"name\":\"delete_action_name\",\"default_value\":\"sysverb_delete\",\"label\":\"\\\"Delete\\\" Action Name\",\"type\":\"string\"},{\"hint\":\"The \\\"action name\\\" of the UI Action you want to trigger when a record is inserted.\",\"name\":\"insert_action_name\",\"default_value\":\"sysverb_insert\",\"label\":\"\\\"Insert\\\" Action Name\",\"type\":\"string\"},{\"hint\":\"The \\\"action name\\\" of the UI Action you want to trigger when a record is updated.\",\"name\":\"update_action_name\",\"default_value\":\"sysverb_update\",\"label\":\"\\\"Update\\\" Action Name\",\"type\":\"string\"},{\"hint\":\"The page ID you want to be redirected to after submission. Default will just reload the form, staying on the current record.\",\"name\":\"redirect_to\",\"label\":\"Redirect to\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function($sp) {\tvar widgetInstance = $sp.getValue(\"sys_id\");\tvar view = options.view || 'service_portal';\t/**\t * Ensure we've been supplied with all the necessary options for the widget to work\t */\tdata.mandatoryErrors = 0;\tif (!options.master)\t\tshowMandatoryError(\"master\");\tif (!options.child)\t\tshowMandatoryError(\"child\");\tif (!options.reference)\t\tshowMandatoryError(\"reference\");\tif (data.mandatoryErrors &gt; 0)\t\treturn false;\tfunction showMandatoryError (fieldName) {\t\tgs.addErrorMessage(gs.getMessage('Mandatory field \"{0}\" not set for instance \"{1}\".', [fieldName, widgetInstance]));\t\tdata.mandatoryErrors++;\t}\tif (input) {\t\tdata.sysId = input.sysId;\t} else {\t\tdata.sysId = $sp.getParameter(\"sys_id\") || '-1';\t}\tdata.messages = [];\tdata.messages.push({\t\tname: 'Please complete all mandatory fields before submitting',\t\tvalue: gs.getMessage('Please complete all mandatory fields before submitting')\t});\t/**\t * Get the actual table names (the reference fields in the options will be the sysId of a 'sys_db_object' record)\t */\tvar master = new GlideRecord('sys_db_object');\tmaster.get(options.master);\tvar child  = new GlideRecord('sys_db_object');\tchild.get(options.child);\t/**\t * Maybe we're just requesting a single child form?\t */\tif (input &amp;&amp; input.action === 'get_child_form') {\t\tinput.view = input.view || view;\t\tdata.form = $sp.getForm(child.getValue('name'), '-1', null, input.view);\t\treturn;\t}\t/**\t * Get the progressive form model from the script include\t */\tvar pfh = new PeProgressiveFormHelper($sp);\tpfh.setMaster(master.getValue('name'));\tpfh.setView(view);\tpfh.setChild(child.getValue('name'), options.reference);\tdata.forms = pfh.get(data.sysId);})($sp);]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 06:58:36&lt;/sys_created_on&gt;&lt;sys_id&gt;2a315b92db333200fd02711ebf961963&lt;/sys_id&gt;&lt;sys_mod_count&gt;51&lt;/sys_mod_count&gt;&lt;sys_name&gt;Progressive Form&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_2a315b92db333200fd02711ebf961963&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-10 01:05:21&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"c.data.mandatoryErrors === 0\"&gt;    &lt;div class=\"pepf-header\"&gt;        &lt;span ng-if=\"c.data.forms.master.display_value === ''\"&gt;NEW&lt;/span&gt; {{c.data.forms.master.label}}        &lt;span ng-if=\"c.data.forms.master.display_value != ''\"&gt; - {{c.data.forms.master.display_value}}&lt;/span&gt;    &lt;/div&gt;    &lt;div class=\"pepf-body\"&gt;        &lt;sp-model pe-concertina-form                  pef-master=\"true\"                  form-model=\"form\"                  template-url=\"pec-form\"                  mandatory=\"true\" ng-repeat=\"form in c.forms.master\"&gt;&lt;/sp-model&gt;        &lt;div pe-concertina pec-title=\"{{::c.forms.children.plural}}\" pec-ns=\"main\"&gt;            &lt;div ng-repeat=\"form in c.forms.children.forms\"&gt;                &lt;div pe-concertina                     pec-ns=\"child\"                     pec-expanded=\"false\"                     pec-template-url=\"pec-child\"                     pec-title=\"{{::form.display_value || form.label}}\"                     pec-show-delete=\"{{false}}\"&gt;                    &lt;sp-model pe-concertina-form form-model=\"form\" mandatory=\"true\"&gt;&lt;/sp-model&gt;                &lt;/div&gt;            &lt;/div&gt;            &lt;div ng-if=\"c.forms.children.forms.length === 0\"&gt;                &lt;div class=\"alert alert-info\"&gt;There are no {{::c.forms.children.plural.toLowerCase()}} related to this record.&lt;/div&gt;            &lt;/div&gt;            &lt;div class=\"pepf-actions\"&gt;                &lt;button class=\"pepf-minor\" ng-click=\"c.addChild()\"&gt;Create {{::c.forms.children.singular}}&lt;/button&gt;                &lt;button ng-click=\"c.save()\"&gt;Submit&lt;/button&gt;            &lt;/div&gt;        &lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-522102016</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>7ae4f326dbb73200fd02711ebf9619fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2a07839f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>Progressive Form</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>35f943a25fb73200c957082ea71a0cbe</update_guid>\n<update_guid_history>35f943a25fb73200c957082ea71a0cbe:-522102016,20f907e2b3b73200700fb20446d9952e:-696689464,928843a2bdb73200ecdc73e7734537ba:-522102016,af6807e2f5b732003dcfc68c94144329:-570622738,a348cf22d1b73200cdf2fcac59eaec03:-1450769198,032843a2cfb73200c67eb55d2b1065b6:1953614851,1a084362e1b73200f7a00ef733446191:1524125275,17d743620cb7320071a69c617494328e:-1964003524,4aa74762abb732001e07538c4ad6636c:1553307790,64674762c5b73200b8fc5a16022df269:-530990474,b7374362c6b73200a0cf51f96c3e4888:-1711968108,ac178f22d8b73200be87ae82812697ff:-1610445369,f4e68baa4e7732009c8dc63078f2d80f:-1167009617,8fc60322bdb7320014f7836953bcba11:390855144,5996872298b7320027d204948f976d2c:-2055387448,666687225fb732002f2d591685e5fb29:-934571158,2c268faae677320070ed032485d376f8:-1451861199,6fe50faa747732006570f02303091c7e:932785292,aed5032261b732005c7560cd24c7080c:-2052036328,48950faa4b77320060896a8b1a69d57b:-470315108,0b558faa0b7732003530a76e9815d6f5:1708624714,2d5503221ab732006a48ac1e91fcb408:1578325334,ea17766a127732000da7b1b004ef2322:354841567,46073eaa02773200b05971a6d3dce878:2100413753,59f632aa24773200f0b0dd9cba98a09a:-296717415,46c632aa1f773200ee34ff0018a4b897:1539121384,2f767e6aac773200ada5b41208d335f6:1921354602,3e667ea67b773200e85f361dfdcc51a5:1608880786,ab467e6a6e7732007168d349a43f3cf2:1838664754,b9167ea6d9773200d7779d65999b1da1:1608880786,69f57ea63a773200731ccac3fb4c3d4c:9130688,a1c576e6357732005a921bf471e6e58a:-296717415,d98532e6b77732001137fb823f11d98f:-758487667,10b47a2a5877320001ce1c1bcc74e19c:1132885080,f08272a6b87732005f3835a55335c452:-1595280837,570b206ab1b332001bbc5c3699177678:767215907,580bac2a28b33200fd9368548116ec0a:-1892167775,4ab6ec266ab332005022317ad5d4d67c:-407257025,2a46e86680b332009cb0dc84a49b6d78:1191457108,7134e8e2dfb332008a5b125645e9df17:-934245084,a324e8e2c9b33200355385bd3bb6990c:986287576,e4b55f5682333200b56234bd94f220f8:848284899,20f4d756553332008d7dc2272739df75:1249123498,3ae4d756f13332002620f4b80a43662a:2018002479,8ce41756f4333200d79be46642577f92:1249123498,7de3d716b13332009ad01fd9d3687bd2:-1286060263,ff129bd232333200100e995340653d73:-1323454375,0212d7d21333320040423c9a3104c423:534478321,18121bd2c433320046784bcafd13aeb7:1832908293,a902d7d24633320021d3f3462b9c0e30:-262486830,ea315b92ff333200de20feef0573a064:-556572730</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c194d356db333200fd02711ebf961980</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PRB827724-workaround</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 07:13:31</sys_created_on><sys_id>c194d356db333200fd02711ebf961980</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PRB827724-workaround</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PRB827724-workaround\">d294d356db333200fd02711ebf9619e7</sys_ui_script><sys_update_name>sp_js_include_c194d356db333200fd02711ebf961980</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 07:13:31</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-246362166</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>7ee4f326dbb73200fd02711ebf9619fc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d263238b30000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>PRB827724-workaround</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>49a4dfd2473332006586224994011798</update_guid>\n<update_guid_history>49a4dfd2473332006586224994011798:-246362166</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_81a41756db333200fd02711ebf961958</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PRB827724-workaround\">e8849356db333200fd02711ebf9619b6</sp_dependency><sp_js_include display_value=\"PRB827724-workaround\">c194d356db333200fd02711ebf961980</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 07:13:31</sys_created_on><sys_id>81a41756db333200fd02711ebf961958</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PRB827724-workaround.PRB827724-workaround</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_81a41756db333200fd02711ebf961958</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 07:13:31</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1827479294</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>b2e4f326dbb73200fd02711ebf9619fa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d263238dd0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>PRB827724-workaround.PRB827724-workaround</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>85a41756b333320044c17979e2874d59</update_guid>\n<update_guid_history>85a41756b333320044c17979e2874d59:-1827479294</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_e992ecaedb733200fd02711ebf96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"peConcertinaSection\">a9a21316db333200fd02711ebf96193c</sp_angular_provider><sp_widget display_value=\"Progressive Form\">2a315b92db333200fd02711ebf961963</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 12:54:05</sys_created_on><sys_id>e992ecaedb733200fd02711ebf96194f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>peConcertinaSection.Progressive Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_e992ecaedb733200fd02711ebf96194f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 12:54:05</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>687561837</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>b2e4f326dbb73200fd02711ebf9619fb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d276a02510000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertinaSection.Progressive Form</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>e992a0e226b33200f6d16b233172ee68</update_guid>\n<update_guid_history>e992a0e226b33200f6d16b233172ee68:687561837</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_ed625fd2db333200fd02711ebf9619d2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pec-child&lt;/id&gt;&lt;sp_widget display_value=\"Progressive Form\"&gt;2a315b92db333200fd02711ebf961963&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:04:01&lt;/sys_created_on&gt;&lt;sys_id&gt;ed625fd2db333200fd02711ebf9619d2&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pec-child&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_ed625fd2db333200fd02711ebf9619d2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 07:04:01&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pec-section pec-child\"&gt;\n    &lt;h3 ng-click=\"toggle()\"&gt;{{::title}}&lt;/h3&gt;\n    &lt;div class=\"pec-wrap\"&gt;\n        &lt;div class=\"pec-content\"&gt;\n            &lt;div class=\"pec-delete\"&gt;\n                &lt;i class=\"fa fa-trash\"\n                   ng-click=\"toggleDelete()\"\n                   ng-class=\"{'pec-to-delete': toDelete}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n            &lt;/div&gt;\n            &lt;div ng-transclude&gt;&lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1772913831</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>b6e4f326dbb73200fd02711ebf9619fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2629845e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>pec-child</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>f5725fd2aa333200ed85010329e0b76c</update_guid>\n<update_guid_history>f5725fd2aa333200ed85010329e0b76c:1772913831</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_e8849356db333200fd02711ebf9619b6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PRB827724-workaround</name><page_load>true</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 07:13:07</sys_created_on><sys_id>e8849356db333200fd02711ebf9619b6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PRB827724-workaround</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_e8849356db333200fd02711ebf9619b6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 07:13:07</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1428195854</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>bae4f326dbb73200fd02711ebf9619fc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2631da350000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>PRB827724-workaround</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4b84d35648333200a0f018f5d80e2921</update_guid>\n<update_guid_history>4b84d35648333200a0f018f5d80e2921:-1428195854</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_83b2dfd2db333200fd02711ebf9619fd</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;peFormManager&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function peFormManagerService ($q, spUtil, i18n) {\n\n\tvar actions = {\n\t\tdelete: 'sysverb_delete',\n\t\tinsert: 'sysverb_insert',\n\t\tupdate: 'sysverb_update'\n\t};\n\n\tvar master = {},\n\t\treference,\n\t\tchildren = [];\n\n\t/**\n\t * Set the action name for the method of action (delete/insert/update)\n\t * @param type\n\t * @param actionName\n\t */\n\tthis.setActionName = function (type, actionName) {\n\t\tif (typeof actions[type] !== 'undefined') {\n\t\t\tactions[type] = actionName;\n\t\t}\n\t};\n\n\t/**\n\t * Register the master form\n\t * @param gFormInstance\n\t */\n\tthis.registerMaster = function (gFormInstance) {\n\t\tmaster.gForm = gFormInstance;\n\t\tmaster.saved = false;\n\t\tmaster.sysId = gFormInstance.getUniqueValue();\n\t};\n\n\t/**\n\t * Register a child form\n\t * @param id\n\t * @param gFormInstance\n\t */\n\tthis.registerChild = function (id, gFormInstance) {\n\t\tformInit(gFormInstance);\n\t\tchildren.push({\n\t\t\tgForm: gFormInstance,\n\t\t\tid: id,\n\t\t\tsaved: false,\n\t\t\tdelete: false,\n\t\t\tsysId: gFormInstance.getUniqueValue()\n\t\t});\n\t};\n\n\t/**\n\t * Toggle a child form for deletion\n\t * @param id\n\t */\n\tthis.toggleDelete = function (id) {\n\t\tchildren.forEach(function(currentValue, index) {\n\t\t\tif (currentValue.id === id) {\n\t\t\t\tchildren[index].delete = !children[index].delete;\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Set the reference field on the child which will be used to point to the parent\n\t * @param ref\n\t */\n\tthis.setReference = function (ref) {\n\t\treference = ref;\n\t};\n\n\t/**\n\t * Remove all child forms\n\t */\n\tthis.reset = function () {\n\t\tmaster = {};\n\t\tchildren = [];\n\t};\n\n\t/**\n\t *\n\t * @param gFormInstance\n\t */\n\tfunction formInit (gFormInstance) {\n\t\tgFormInstance.setVisible(reference, false);\n\t}\n\n\t/**\n\t * Save all forms (parent first, then children)\n\t * @returns {function}\n\t */\n\tthis.save = function () {\n\n\t\treturn $q(function(success, failure) {\n\n\t\t\t/**\n\t\t\t * Check to make sure all the mandatory fields are completed.\n\t\t\t *\n\t\t\t * We need to do this because if say there are 5 forms on the page, and 2 of them save,\n\t\t\t * it could leave us in a bad situation, especially if some of the inserted records were\n\t\t\t * new records - in that case we would try to save the same new record twice, leading to\n\t\t\t * a failed save due to a duplicate unique key.\n\t\t\t */\n\n\t\t\tvar incomplete = [];\n\n\t\t\tincomplete = incomplete.concat(checkMandatory(master.gForm));\n\n\t\t\tchildren.forEach(function (currentValue, index, array) {\n\t\t\t\tif (!currentValue.delete) {\n\t\t\t\t\tincomplete = incomplete.concat(checkMandatory(currentValue.gForm));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (incomplete.length &gt; 0) {\n\t\t\t\tspUtil.addErrorMessage(i18n.getMessage(\"Please complete all mandatory fields before submitting\"));\n\t\t\t\tfailure();\n\t\t\t} else {\n\n\t\t\t\t/**\n\t\t\t\t * Sometimes the call to the then() function can cause a javascript error. When this happens, it's\n\t\t\t\t * because the action name does not exist in the system. Ensure the table name you're trying to\n\t\t\t\t * save to has a UI Action with that action name associated with it.\n\t\t\t\t */\n\n\t\t\t\ttry {\n\n\t\t\t\t\tmaster.gForm.submit(getActionName(master.gForm.isNewRecord())).then(function (response) {\n\n\t\t\t\t\t\tmaster.sysId = (response.isInsert) ? response.sys_id : master.gForm.getUniqueValue();\n\n\t\t\t\t\t\tif (children.length &gt; 0) {\n\n\t\t\t\t\t\t\tvar count = 1;\n\n\t\t\t\t\t\t\tchildren.forEach(function (child) {\n\n\t\t\t\t\t\t\t\tif (!child.delete) {\n\t\t\t\t\t\t\t\t\tchild.gForm.setValue(reference, master.sysId);\n\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tchild.gForm.submit(getActionName(child.gForm.isNewRecord())).then(function (response) {\n\t\t\t\t\t\t\t\t\t\t\tif (count === children.length) {\n\t\t\t\t\t\t\t\t\t\t\t\tsuccess(master.sysId);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t// A child form did not save (!!??!!)\n\t\t\t\t\t\t\t\t\t\tfailure();\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\tif (!child.gForm.isNewRecord()) {\n\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tchild.gForm.submit(actions.delete).then(function (response) {\n\t\t\t\t\t\t\t\t\t\t\t\tif (count === children.length) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuccess(master.sysId);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t\t// A child form did not save (!!??!!)\n\t\t\t\t\t\t\t\t\t\t\tfailure();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tif (count === children.length) {\n\t\t\t\t\t\t\t\t\t\t\tsuccess(master.sysId);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsuccess(master.sysId);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// The master form did not save (!!??!!)\n\t\t\t\t\tfailure();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * Make sure all mandatory fields on the gForm supplied are completed\n\t\t * @param gFormInstance\n\t\t * @returns {Array}         an array containing names of incomplete fields\n\t\t */\n\t\tfunction checkMandatory(gFormInstance) {\n\n\t\t\tvar incomplete = [];\n\t\t\tvar fieldNames = gFormInstance.getFieldNames();\n\n\t\t\tfieldNames.forEach(function (fieldName) {\n\t\t\t\tif (gFormInstance.isMandatory(fieldName)) {\n\t\t\t\t\tif (!hasValue(fieldName, gFormInstance)) {\n\t\t\t\t\t\tincomplete.push(fieldName);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t});\n\t\t\treturn incomplete;\n\t\t}\n\n\t\t/**\n\t\t * Copied from /scripts/sn/common/clientScript/glideFormFieldFactory.js\n\t\t * @param fieldName\n\t\t * @param gFormInstance\n\t\t * @returns {*}\n\t\t */\n\t\tfunction hasValue(fieldName, gFormInstance) {\n\n\t\t\tvar field = gFormInstance.getField(fieldName);\n\t\t\tvar value = gFormInstance.getValue(fieldName);\n\n\t\t\tswitch(field.type) {\n\t\t\t\tcase 'boolean_confirm':\n\t\t\t\t\treturn value === 'true';\n\t\t\t\tcase 'boolean':\n\t\t\t\t\treturn true;\n\t\t\t\tcase 'currency':\n\t\t\t\t\tvar currencyValues = value.split(';');\n\t\t\t\t\treturn currencyValues[1] &amp;&amp; currencyValues[1].length;\n\t\t\t}\n\n\t\t\tif (value === null) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar trimmed = String(value).trim();\n\t\t\treturn trimmed.length &gt; 0;\n\t\t}\n\n\t\t/**\n\t\t *\n\t\t * @param isNewRecord\n\t\t * @returns {string}\n\t\t */\n\t\tfunction getActionName(isNewRecord) {\n\t\t\treturn isNewRecord ? actions.insert : actions.update;\n\t\t}\n\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:05:35&lt;/sys_created_on&gt;&lt;sys_id&gt;83b2dfd2db333200fd02711ebf9619fd&lt;/sys_id&gt;&lt;sys_mod_count&gt;19&lt;/sys_mod_count&gt;&lt;sys_name&gt;peFormManager&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_83b2dfd2db333200fd02711ebf9619fd&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 23:41:22&lt;/sys_updated_on&gt;&lt;type&gt;service&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>967679250</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>bee4f326dbb73200fd02711ebf9619fb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d29ba9fe00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peFormManager</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>ebb67e6aa87732009d6eab04aa3926fa</update_guid>\n<update_guid_history>ebb67e6aa87732009d6eab04aa3926fa:967679250,2aa6766a667732001541e65031ed271f:937030597,918632aa9a773200ee604c18cce64a94:-1223065723,7b26766a257732008d985b747a51921c:-393098175,395532e62d773200ba5f7af12692588c:2037271366,439176e643773200b5e827dd2be61286:937030597,36b032e6d7773200c7afaa9956be2884:1576777335,edb07ea637773200008b02ed5b742245:-1604071753,88407ea6db773200f4b12b32ee59fb9c:1162293045,fa307ea6ce7732006e132c6b8de94599:-1220283123,9e20b6a66a773200c955f99fd13db004:-1524410329,e62aa4a682b33200f094c8ca25cbf3c0:2132832184,66d8e866a7b33200d20518d48731247f:1013413401,5158a4a658b3320029beddeec70e35b2:90123683,6917a4a688b33200b72f2fcf9fb43bbc:2132832184,3b07ec2617b33200c72708d436117180:696456231,abe6e4666cb3320071b437ebe69cbc9d:420664146,baa3d716e533320009dfa3a9b06b16cf:496505694,1ee253164e333200c49a71beff28d2fc:1822191522,b0d29fd24c333200b1badc2fc4b58e6d:58591624</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_a68217d2db333200fd02711ebf961969</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pec-form&lt;/id&gt;&lt;sp_widget display_value=\"Progressive Form\"&gt;2a315b92db333200fd02711ebf961963&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:04:26&lt;/sys_created_on&gt;&lt;sys_id&gt;a68217d2db333200fd02711ebf961969&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;pec-form&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_a68217d2db333200fd02711ebf961969&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 13:04:31&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n    &lt;div ng-if=\"formModel._sections == null || formModel._sections.length == 0\"\n         ng-init=\"execItemScripts()\"&gt;&lt;/div&gt;\n    &lt;pe-concertina-section&gt;\n        &lt;div pe-concertina\n             pec-ns=\"main\"\n             pec-title=\"{{::containers[0].captionDisplay}}\"\n             pec-expanded=\"{{($index == 0)}}\"\n             pec-show-next=\"true\"\n             ng-repeat=\"containers in sections\"&gt;\n            &lt;sp-variable-layout&gt;&lt;/sp-variable-layout&gt;\n        &lt;/div&gt;\n    &lt;/pe-concertina-section&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-397485376</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>f2e4f326dbb73200fd02711ebf9619fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d277392780000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>pec-form</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>3af4ec2657b33200c0c90cc092c46b76</update_guid>\n<update_guid_history>3af4ec2657b33200c0c90cc092c46b76:-397485376,8af4e8e2abb332003ecf8bce3121483d:-1265853739,60d42c266fb3320068d92619f68f2781:-1087811829,d0865f5629333200af453e415d76e1fd:-1774813372,d2929fd22c333200d47c95d5fe20fae2:516757696,7b825fd24c3332001ca55fa43095c1d7:-15331176</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_cad21316db333200fd02711ebf96198f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;peConcertinaForm&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function peConcertinaFormDirective ($timeout, peFormManager) {\n\n\tvar link = function (scope, elem, attrs) {\n\n\t\t$timeout(function () {\n\n\t\t\tvar spModelScope = elem.isolateScope();\n\t\t\tvar g_form = spModelScope.getGlideForm();\n\n\t\t\t(attrs.pefMaster === 'true') ? peFormManager.registerMaster(g_form) : peFormManager.registerChild(scope.$id, g_form);\n\n\t\t\tscope.$on('pec.toggleDelete', function () {\n\t\t\t\tpeFormManager.toggleDelete(scope.$id);\n\t\t\t});\n\n\t\t}, 0);\n\n\t};\n\n\treturn {\n\t\tlink: link,\n\t\trequire: 'spModel'\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:05:46&lt;/sys_created_on&gt;&lt;sys_id&gt;cad21316db333200fd02711ebf96198f&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;peConcertinaForm&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_cad21316db333200fd02711ebf96198f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 13:11:17&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1231063615</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>f6e4f326dbb73200fd02711ebf9619fc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d2779c1a40000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertinaForm</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>a586ec2694b332008d3dc9a983c30479</update_guid>\n<update_guid_history>a586ec2694b332008d3dc9a983c30479:-1231063615,e486e8660cb332003d7430343da8587b:-965908107,6c85e8e2d4b33200b1951b8d2d76f131:-455525818,2164e8e233b332005f5eb08ee31bf62e:-1231063615,31026c2236b3320028c85d77d699ca80:-229663490,3da3d71618333200244a040a7ecbe672:170051371,2bd2dfd2e033320084958db1c2d458f2:-1909920486</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_1fe2dfd2db333200fd02711ebf96196c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;peConcertinaManager&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function peConcertinaManagerService () {\n\n\tvar sections = [],\n\t\telements = [],\n\t\tunlocked = [];\n\n\t/**\n\t *\n\t * @param namespace\n\t */\n\tthis.unlock = function (namespace) {\n\t\tunlocked[namespace] = true;\n\t};\n\n\t/**\n\t * Register a new \"Concertina\" panel\n\t * @param id            The angular scope ID of the panel\n\t * @param namespace     A namespace so you can have multiple concertinas on the page\n\t * @param elems         All the concertina panels currently on the page (so we can number the concertinas)\n\t * @param expanded      Whether this panel is expanded initially\n\t */\n\tthis.register = function (id, namespace, elems, expanded) {\n\n\t\t(typeof sections[namespace] === 'undefined') ? sections[namespace] = [] : '';\n\t\t(typeof elements[namespace] === 'undefined') ? elements[namespace] = [] : '';\n\n\t\telements[namespace] = elems;\n\n\t\tsections[namespace].push({\n\t\t\tid: id,\n\t\t\tvisited: expanded || unlocked[namespace],\n\t\t\texpanded: expanded\n\t\t});\n\t};\n\n\t/**\n\t * Close all concertina panels\n\t * @param namespace\n\t */\n\tthis.closeAll = function (namespace) {\n\n\t\tsections[namespace].forEach(function (currentValue, index) {\n\t\t\tsections[namespace][index].expanded = false;\n\t\t});\n\n\t};\n\n\n\t/**\n\t * Toggle a concertina panel between expanded/contracted states\n\t * @param id\n\t * @param namespace\n\t */\n\tthis.toggle = function (id, namespace) {\n\n\t\tvar i = findIndex(id, namespace);\n\n\t\tif (sections[namespace][i].visited === true || unlocked[namespace] === true) {\n\t\t\tsections[namespace].forEach(function (currentValue, index) {\n\t\t\t\tsections[namespace][index].expanded = index === i ? !sections[namespace][index].expanded : false;\n\t\t\t});\n\t\t}\n\t};\n\n\n\t/**\n\t * Expand the next concertina panel\n\t * @param id\n\t * @param namespace\n\t */\n\tthis.next = function (id, namespace) {\n\n\t\tvar isCurrent = false,\n\t\t\tnextItem;\n\n\t\telements[namespace].each(function (index, element) {\n\n\t\t\tvar elemId = angular.element(element).isolateScope().$id;\n\n\t\t\tif (isCurrent === true) {\n\t\t\t\tnextItem = elemId;\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (elemId === id) {\n\t\t\t\tisCurrent = true;\n\t\t\t}\n\n\t\t});\n\n\t\tvar curIndex = findIndex(id, namespace);\n\t\tvar nextIndex = findIndex(nextItem, namespace);\n\n\t\tsections[namespace][curIndex].expanded = false;\n\t\tsections[namespace][nextIndex].expanded = true;\n\t\tsections[namespace][nextIndex].visited = true;\n\n\t};\n\n\n\t/**\n\t * Get the section number as it appears in the DOM\n\t * @param id\n\t * @param namespace\n\t * @returns {number}\n\t */\n\tthis.getSectionNumber = function (id, namespace) {\n\t\tvar count = 0;\n\n\t\telements[namespace].each(function (index, element) {\n\n\t\t\tcount++;\n\n\t\t\tif (typeof angular.element(element).isolateScope() !== 'undefined') {\n\n\t\t\t\tvar elemId = angular.element(element).isolateScope().$id;\n\n\t\t\t\tif (elemId === id) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t});\n\n\t\treturn count;\n\t};\n\n\t/**\n\t *\n\t * @param id\n\t * @param namespace\n\t * @returns {boolean}\n\t */\n\tthis.isExpanded = function (id, namespace) {\n\t\tvar index = findIndex(id, namespace);\n\t\treturn sections[namespace][index].expanded;\n\t};\n\n\t/**\n\t *\n\t * @param id\n\t * @param namespace\n\t * @returns {boolean}\n\t */\n\tthis.isVisited = function (id, namespace) {\n\t\tvar index = findIndex(id, namespace);\n\t\treturn sections[namespace][index].visited;\n\t};\n\n\t/**\n\t *\n\t * @param id\n\t * @param namespace\n\t * @returns {number}\n\t */\n\tfunction findIndex(id, namespace) {\n\t\treturn sections[namespace].findIndex(function (element) {\n\t\t\treturn element.id === id;\n\t\t})\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:06:12&lt;/sys_created_on&gt;&lt;sys_id&gt;1fe2dfd2db333200fd02711ebf96196c&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;peConcertinaManager&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_1fe2dfd2db333200fd02711ebf96196c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 07:09:07&lt;/sys_updated_on&gt;&lt;type&gt;service&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>448623649</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>fae4f326dbb73200fd02711ebf9619fb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d262e313c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertinaManager</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>aca3d716dc333200daed31ae93c07c6f</update_guid>\n<update_guid_history>aca3d716dc333200daed31ae93c07c6f:448623649,fdf293167e3332006874c39fc77fb63d:1354498402</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_e992ecaedb733200fd02711ebf96194c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"peConcertinaForm\">cad21316db333200fd02711ebf96198f</sp_angular_provider><sp_widget display_value=\"Progressive Form\">2a315b92db333200fd02711ebf961963</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-07-09 12:54:05</sys_created_on><sys_id>e992ecaedb733200fd02711ebf96194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>peConcertinaForm.Progressive Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_e992ecaedb733200fd02711ebf96194c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-07-09 12:54:05</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-658515108</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>fee4f326dbb73200fd02711ebf9619fa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d276a021d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>peConcertinaForm.Progressive Form</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>2992ecae7673320045d1e9152e2cac4d</update_guid>\n<update_guid_history>2992ecae7673320045d1e9152e2cac4d:-658515108</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d294d356db333200fd02711ebf9619e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PRB827724-workaround&lt;/name&gt;&lt;script&gt;&lt;![CDATA[try {\nangular.module('ng_spd').config(function(lazyLoaderProvider, $provide, $compileProvider, $controllerProvider){\nlazyLoaderProvider.set({\nregister: $controllerProvider.register,\ndirective: $compileProvider.directive,\nfactory: $provide.factory,\nvalue: $provide.value,\nservice: $provide.service\n});\n});\n}catch(e){}]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-09 07:13:29&lt;/sys_created_on&gt;&lt;sys_id&gt;d294d356db333200fd02711ebf9619e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;PRB827724-workaround&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d294d356db333200fd02711ebf9619e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-09 07:13:29&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1612632906</payload_hash>\n<remote_update_set display_value=\"(PE) Progressive Form\">7ee4f326dbb73200fd02711ebf9619f9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-10 04:13:02</sys_created_on>\n<sys_id>fee4f326dbb73200fd02711ebf9619fd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d263230fc0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-10 04:13:02</sys_updated_on>\n<table/>\n<target_name>PRB827724-workaround</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>a8a45b16f53332001c90c121b10372a1</update_guid>\n<update_guid_history>a8a45b16f53332001c90c121b10372a1:-1612632906</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-progressive-form/widget/pe-progressive-form.u-body-html-template.html",
    "content": "<div ng-if=\"c.data.mandatoryErrors === 0\">\n    <div class=\"pepf-header\">\n        <span ng-if=\"c.data.forms.master.display_value === ''\">NEW</span> {{c.data.forms.master.label}}\n        <span ng-if=\"c.data.forms.master.display_value != ''\"> - {{c.data.forms.master.display_value}}</span>\n    </div>\n    <div class=\"pepf-body\">\n        <sp-model pe-concertina-form\n                  pef-master=\"true\"\n                  form-model=\"form\"\n                  template-url=\"pec-form\"\n                  mandatory=\"true\" ng-repeat=\"form in c.forms.master\"></sp-model>\n        <div pe-concertina pec-title=\"{{::c.forms.children.plural}}\" pec-ns=\"main\">\n            <div ng-repeat=\"form in c.forms.children.forms\">\n                <div pe-concertina\n                     pec-ns=\"child\"\n                     pec-expanded=\"false\"\n                     pec-template-url=\"pec-child\"\n                     pec-title=\"{{::form.display_value || form.label}}\"\n                     pec-show-delete=\"{{false}}\">\n                    <sp-model pe-concertina-form form-model=\"form\" mandatory=\"true\"></sp-model>\n                </div>\n            </div>\n            <div ng-if=\"c.forms.children.forms.length === 0\">\n                <div class=\"alert alert-info\">There are no {{::c.forms.children.plural.toLowerCase()}} related to this record.</div>\n            </div>\n            <div class=\"pepf-actions\">\n                <button class=\"pepf-minor\" ng-click=\"c.addChild()\">Create {{::c.forms.children.singular}}</button>\n                <button ng-click=\"c.save()\">Submit</button>\n            </div>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "pe-progressive-form/widget/pe-progressive-form.u-client-script.js",
    "content": "function peProgressiveForm (peConcertinaManager, peFormManager, $scope, $location, i18n) {\n\n  var c = this;\n\n  if (c.data.mandatoryErrors === 0) {\n\n    c.data.messages.forEach(function (message) {\n      i18n.loadMessage(message.name, message.value);\n\n    });\n\n    c.forms = {\n      master: [c.data.forms.master],\n      children: c.data.forms.children\n    };\n\n    peFormManager.setActionName('delete', c.options.delete_action_name);\n    peFormManager.setActionName('insert', c.options.insert_action_name);\n    peFormManager.setActionName('update', c.options.update_action_name);\n\n    peFormManager.setReference('problem_id');\n\n    if (c.data.sysId !== '-1') {\n      peConcertinaManager.unlock('main');\n    }\n\n    peConcertinaManager.unlock('child');\n\n    /**\n     * Add a new child form\n     */\n    c.addChild = function () {\n      c.server.get({action: 'get_child_form', view: c.forms.master.view}).then(function(r) {\n        c.forms.children.forms.push(r.data.form);\n      });\n    };\n\n    /**\n     * Save all forms on the page\n     */\n    c.save = function () {\n      peConcertinaManager.closeAll('main');\n\n      peFormManager.save().then(function (sysId) {\n\n        if (c.options.redirect_to === '') {\n\n          $location.search('sys_id', sysId);\n\n          c.data.sysId = sysId;\n\n          c.server.update().then(function () {\n\n            peFormManager.reset();\n\n            c.forms.children = [];\n            c.forms.master = [];\n\n            c.forms.master = [c.data.forms.master];\n            c.forms.children = c.data.forms.children;\n\n          });\n\n        } else {\n          var search = $location.search();\n          search.id = c.options.redirect_to;\n          search.pf_table = c.forms.master[0].table;\n          search.pf_id = sysId;\n          search.sys_id = undefined;\n          $location.search(search).replace();\n        }\n      });\n    };\n  }\n}"
  },
  {
    "path": "pe-progressive-form/widget/pe-progressive-form.u-css.scss",
    "content": "$button-background: #757575 !default;\n$button-color: #fff !default;\n$button-hover-background: #3a3f51 !default;\n$button-hover-color: #fff !default;\n\n.pepf-header {\n  font-size: 20px;\n  margin: 40px 0 20px 0;\n}\n\n.pepf-body {\n  padding-bottom: 40px;\n}\n\n.pec-content {\n  border-radius: 10px;\n  background-color: #fafafa;\n  padding: 40px 20px 20px 20px;\n}\n\n.pec-wrap {\n  max-height: 0px;\n  overflow-y: hidden;\n}\n\n.pepf-actions {\n  padding: 20px;\n  text-align: center;\n  margin: 5px 0;\n\n\n  button {\n    border: 0;\n    padding: 10px 20px;\n    border-radius: 3px;\n    background-color: $button-background;\n    color: $button-color;\n    width: 250px;\n    box-sizing: border-box;\n    margin: 5px 0;\n\n    &:hover {\n      background-color: $button-hover-background;\n      color: $button-hover-color;\n    }\n  }\n\n  .pepf-minor, .pec-minor {\n    background-color: white;\n    color: black;\n    border: 1px solid #757575;\n  }\n\n  .pepf-minor:hover, .pec-minor:hover {\n    background-color: $button-hover-background;\n    color: $button-hover-color;\n  }\n}\n\n.pec-section {\n  position: relative;\n}\n\n.pec-child {\n  border-radius: 10px;\n  border: 1px solid #eee;\n  overflow: hidden;\n  margin-bottom: 10px;\n\n  h3 {\n    margin: 0;\n    border-radius: 7px 7px 0 0;\n    padding: 10px;\n    background-color: #eee;\n    font-size: 16px;\n  }\n\n  .pec-content {\n    padding: 10px;\n  }\n}\n\n.pec-parent {\n\n  position: relative;\n\n  padding-top: 35px;\n  padding-left: 7px;\n  margin-top: 20px;\n  margin-bottom: 20px;\n\n  & > .pec-head {\n    position: absolute;\n    top: 10px;\n    left: 0;\n    background-color: #eee;\n    border: 1px solid #ddd;\n    padding: 7px 20px 7px 7px;\n    border-radius: 30px;\n    cursor: pointer;\n    display: inline-block;\n    z-index: 10;\n\n    .pec-num {\n      width: 32px;\n      height: 32px;\n      line-height: 32px;\n      border-radius: 16px;\n      text-align: center;\n      background-color: $button-background;\n      color: $button-color;\n      float: left;\n      margin-right: 10px;\n    }\n    h2 {\n      font-size: 16px;\n      line-height: 32px;\n      float: left;\n      margin: 0;\n      min-width: 150px;\n    }\n  }\n}\n\n\npe-concertina-section legend {\n  display: none;\n}\n\n.pec-edit {\n  height: 20px;\n  border-radius: 10px;\n  text-align: center;\n  background-color: $button-background;\n  color: $button-color;\n  float: left;\n  padding: 0 15px;\n  margin-top: 6px;\n  font-size: 12px;\n  line-height: 20px;\n  margin-left: 15px;\n}\n\n.pec-head:hover .pec-edit {\n  background-color: $button-hover-background;\n  color: $button-hover-color;\n}\n\n.pec-inactive {\n  opacity: 0.5;\n\n  .pec-head {\n    cursor: default;\n  }\n\n  .pec-edit {\n    visibility: hidden;\n  }\n}\n\n.pec-delete {\n  position: absolute;\n  top: 0;\n  right: 15px;\n  font-size: 25px;\n  line-height: 38px;\n\n  &:hover{\n    color: rgb(206,28,32);\n  }\n}\n\n.pec-to-delete {\n  color: rgb(206,28,32);\n}"
  },
  {
    "path": "pe-progressive-form/widget/pe-progressive-form.u-server-script.js",
    "content": "(function($sp) {\n\n  var widgetInstance = $sp.getValue(\"sys_id\");\n  var view = options.view || 'service_portal';\n\n  /**\n   * Ensure we've been supplied with all the necessary options for the widget to work\n   */\n\n  data.mandatoryErrors = 0;\n\n  if (!options.master)\n    showMandatoryError(\"master\");\n\n  if (!options.child)\n    showMandatoryError(\"child\");\n\n  if (!options.reference)\n    showMandatoryError(\"reference\");\n\n  if (data.mandatoryErrors > 0)\n    return false;\n\n  function showMandatoryError (fieldName) {\n    gs.addErrorMessage(gs.getMessage('Mandatory field \"{0}\" not set for instance \"{1}\".', [fieldName, widgetInstance]));\n    data.mandatoryErrors++;\n  }\n\n  if (input) {\n    data.sysId = input.sysId;\n  } else {\n    data.sysId = $sp.getParameter(\"sys_id\") || '-1';\n  }\n\n  data.messages = [];\n  data.messages.push({\n    name: 'Please complete all mandatory fields before submitting',\n    value: gs.getMessage('Please complete all mandatory fields before submitting')\n  });\n\n\n  /**\n   * Get the actual table names (the reference fields in the options will be the sysId of a 'sys_db_object' record)\n   */\n\n  var master = new GlideRecord('sys_db_object');\n  master.get(options.master);\n\n  var child  = new GlideRecord('sys_db_object');\n  child.get(options.child);\n\n\n  /**\n   * Maybe we're just requesting a single child form?\n   */\n\n  if (input && input.action === 'get_child_form') {\n    input.view = input.view || view;\n    data.form = $sp.getForm(child.getValue('name'), '-1', null, input.view);\n    return;\n  }\n\n\n  /**\n   * Get the progressive form model from the script include\n   */\n\n  var pfh = new PeProgressiveFormHelper($sp);\n  pfh.setMaster(master.getValue('name'));\n  pfh.setView(view);\n  pfh.setChild(child.getValue('name'), options.reference);\n  data.forms = pfh.get(data.sysId);\n\n})($sp);"
  },
  {
    "path": "pe-push-notification/README.md",
    "content": "# Push Notification\n\n## Description\n\nThis widget allows you to emulate for demo purposes a mobile (iOs based) push notification alert.\nThe most important feature is the availability of settings for easily and quickly configuring it.\n\n**NOTE:** this widget only works on mobile.\n\n## Screenshots\n<kbd><img src=\"../images/pe-push-notification.png\" /></kbd>\n\n---\n## Installation\n---\nDownload and install update set **[pe-push-notification.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-push-notification/pe-push-notification.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n- Time shown in the home page / locked screen, and if not specified the default is the current time\n- Date shown in the home page / locked screen, and if not specified the default is the current date\n- Notification Title\n- Notification Time\n- Body Title\n- Body Text\n- Background Image\n- Landing Page\n\n---\n## Platform Dependencies\n---\n> None\n\n---\n## Sample Data and Data Structures\n---\nNo sample data provided.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n---\n## CSS/SASS Variables\n---\n"
  },
  {
    "path": "pe-push-notification/pe-push-notification.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-25 10:34:31\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-push-notification.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>702752d7db004b0086da7d5e0f96196f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-25 10:34:31</sys_created_on>\n<sys_id>551cde6bdb844b0086da7d5e0f96197c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-25 10:34:31</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_3e5114addbbf320086da7d5e0f96191c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>JPEG</format><height>1921</height><image/><name>ios_10_wallpaper.jpg</name><size_bytes>192865</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:08</sys_created_on><sys_id>3e5114addbbf320086da7d5e0f96191c</sys_id><sys_mod_count>5</sys_mod_count><sys_name>ios_10_wallpaper.jpg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_3e5114addbbf320086da7d5e0f96191c</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-24 15:36:51</sys_updated_on><thumbnail/><width>1080</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#8f1b1b</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><file_name>image</file_name><image_height>1921</image_height><image_width>1080</image_width><size_bytes>192865</size_bytes><size_compressed>186639</size_compressed><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>f4719c6ddbbf320086da7d5e0f9619fb</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-06 09:05:18</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>3e5114addbbf320086da7d5e0f96191c</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>38719c6ddbbf320086da7d5e0f9619fb</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b8719c6ddbbf320086da7d5e0f9619fb</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3c719c6ddbbf320086da7d5e0f9619fb</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>3</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>bc719c6ddbbf320086da7d5e0f9619fb</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>4</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>30719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>5</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b0719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>vE8CgkTsGz0KGw2Wtl1Tx27G2/zSUzuQuCktqf52ENkFw6W+aXNluSUcjjZf93MlZtbCBjThdatxYQeX8r0DPQvg0Yerv7YnI7YOFRXfjy0uS6CAKZ0Bz7JrYyhqTLuDIG5GOcB3zBGhbSbiAf7DADMppiH4kt5Sw9sN0hPt2elGy9Woa/Sr+Y9OBGRHYmA6lNFyAfP+nhhhWMHAkePAiicY7A9h1oWQwQ9aoUq1zLjELNrM9c3p/9q0hx8zabnQyFY6pMCNDB3mTt6Wt3cEE8VN5RXDDmle4heMNRx6+EU1H734bfH9z4/yq8vWnUotWeQ3r+fbYt1dM8AlShjWcdrty/4hjjf2idjokFRJM5QEb++WZIBcLCMkRT1KdPH9rtrg6w8bnE43XRPl9Bdt0Fpou6G6wSdrpK+uHW/u9+ytK6obzq4J+mIiupUS+IzeDyzbOrJmahbhZzvlZm4lZTDuLsKnT3h2auxprLNufgeNLQcejuEwOz5DwicdeFuu5E59RQOCu7Y9aOwb/ZG+b2pZeJK5Ky369X959FJEm+h5vEfTzKR/H+7tNfFhmDB/6Rn2E8xW7VQBQqPXV59WgzK+08zgu+TWTijBhT7NAVq+AS1q8FFsejlOyrFLwrpmWpM374yb8rfDPAMO1V4UsZOszx8iosWzIc22S6NztsP8S3ZjbV7NghuqS0tQFb2P39lzI8CVdKjWLVBrfZd+S/+ufOK8ciKkOtdTOGVcMXBfr8pKYBQV8OxWEGFPu2ltjgkNavmqCaJT/8z4V+Bq/vr15ivsADESq/EN/YKZqauCk/q2Cck2GnjB9yOV4RH2K8PEv/4Xy8+CG4Ot3YeW6HGPJflro1v57EwHPpvkkVwlbR0PmRoGAWarNoBhwuuD4dx+2Zv4EsUG7hsFZx7PdpJLo9uMy/G7Z3fsufEB4Ar4YWglCgoIDidXtfOvMisdxp17LqLHTrUzypPxDJ00+7LwDq9YeZZec2IMZccHXwoFQye/WHELB38765dMfw7k2B0v99NxHdgOzIUyyxSYiIO1XdXTqc2BzEw9KsUks7orZ+SSo2nt9rJoTkY7m4d27GOWyTCr4Wptf8TJxqWIQMA8gqsr+jimc+JU6Zf8/wrC+/Z9iN5jSrN9q4QshvkOFjOaVEcXPpCoTSbPZmS0AWF9yswKYyJlVKbgPJmfzmGqm0lfkMLmjMG35Bm3OqKOo2tvn16ojts2ONwRCIiaLDFNSDe2LSBlupckTLp5YjEvDC702OkVBkAAGQtpG+aXKSE+KbmXdfyds7cubRDDI2DP8s0mDw03AXuD8SUvk48MXPs+TMfwFe+HsWFMgKgB7nL3QcPJiLK7qJCzvDC3YZm/sKQ8IhJkIdWaLFNW8V5jiAFepgd259guivOSO6fScixGc189QFqOQ0JEdZAbfn/5b1z3bV7CFSYMelkIl0vIYucxxYzrLvfQAD6lue3hbADSdXOubxggP161VJbRSydp/axpUUMT/rulaS7oXVhWLfXIZ+l8t0cl89hW3IxbyfyzDpMGwSeoTxGr9u6B1GTWlXZ0bLCsknNCnwz4ciPbbFW007Wmxdm/lYpwF8vCSQGCz4qb75uGn8jZzr5342vhkGcivMr5LsGyK+pcs3eP3fmYzjd5+fUxi5XesgLWJze1cZTSTaJ55oW3GSXRJdV2VGunOeyv+yycxyLvC+XbbDdz6+H9T0o3Ks7dRf7tv9PcpwNvpGYHC0jV6oiSx3732h/Cu6JFXlKjiEhWrXK2lyJGUMv6M28N95dl+Xr5daj3XIslzmuaqQZ3mCCzxLnG1e1Qq7y1rVAyrZWmqNvOsqWnzyuzHZsEtNUaylU6ye4IF0hQ2fSdyPU2ILb6wmKmOsZ/k79A5YTpyZMq2WcKV9Gv+76YuH5qMYaWcR+AyKhYt8qyb74cE59qHePYo8P69Cz7zOJGyXNtkAlubX3Xk7XQTvegaDrfKH5eUiXh0scI6BH31gUzEurhnfRuBMn7nwjum1vSvFn22oLnNcfrSMuEcfkgNYJOZmKfLazjemG4pz13Z9UZQVsfPpreACf8uu8SMHU3DHm+OisX1pu4eQWRKtPtGTHDBeMQaJD927mOS8Tb4+5b3w3a+qTTqrJrsdXNKzeGSI+hdQby/skStzggYSfLdiN7gXIH5HwNFQ0mVsMLARFP8qOaFEG1kE/G4C4fET5zjw8AnVbNQYDG2I3l81w+Oxl17eREcjcBygDdIs3tFk3jrmjYCSsK0GEX3jpWr1l+31BXFCOgtOOr6poGNq/9M8WtszQDgG/owtzwcpNJ+Fvs1g5FWhJnZzNHLvD7aWGqJn+b7uey2zAxu4vkz6WVq7DbLtNNAys48VBXbqR6dROf2sEbt9NFpnuw3XLFfS/aAkwqd+MxSUThZ8Pm2s0xY7sGG3LeT0LrGJ70IbPnSXmQGqlSAo7bpSe1fjk9OOQD5XW8vTOq0TmJaQilRwgfFfgUjXUsHFyZ/wz6gVNdSp0j78BUOf3EmeVoe+dtmlH0ByjVYcgaqLTSJD4NfenIm718pqqWDg7z/FPG9p/DiEKXU6/6mY3NrNd5T6JFqdn/zHZ/pVUnpH50857tqp5EmDyDzo0tjV901t78UtmU5QEZ7SFy6pOx0gMkDjLO9dd9TtWrws2wwAItqUzNLshwhcN3m/Ot4nnLp/E3l+FIp+e3E1WSgVX11MxENwicVc5JM9a8bdb6jVS0Sf5IKZPMJLQiVZix55qlR0wg3nW8H1bCCTiwrvdiXlbNMK9vFHutPy9uv88FPwi8FHGpltHeeoM2xb45aZqViFBmLKQvbtg5zvRI+HTXQdjhRiXiOHJU4+dbJTxw2S9IvqWFrUwla9XL3/sCW5iOR5QtoPJxKQWF4suWFbKvO+L+mfofhmioiqNhkhS0TJGKxMfyGPFQ6/kUxUuZ+tTgo+HeOQz9H6qdBDnnR1S/7ByonyAYmrmXdavLKgDxaAhgJkOtX2vA8SmhUCxvKCopae7H5hTaPKI2C0JJDH8otypgpobqTaNq+aMHa4ZOIytDgYwW5rBibstwWPCssuKnMebqXDGLRtFz2FOz5wjrBg2+bwIQVo+ODaSXvJgG+3wjzjLKdHLcPsILizyxYLbeJL2AGGQp8AbERVUj6zU9w2tdAcH7INzrnhtFXuut2/6Xld33mZQTb0KiWgl1gWvD9lbp7Ux1x1HvYtIXsxpyXGsHcRtb0dFKACjowGUP+wbvLv3NnCKxI6HH195OlEoqah5ufttxseyz2v0YmmEXMgqhy+wDWdYU7Ry67JhYiMQu5UVUku/VhpkW6qplxQ2cfmH1nQnBxo5doZBHGO+hBCsDQyyV/Qf3VinCrwERvuNOJs/WrdxwpPbmm/8gObZ4bpWhes206hQ6NQmfcX6cXdDshtXcY2u3Zso4JpDtoyCwH7TvjXsZLTzv9P/7s9H/tQOhwFi4gzkHyHrVHB9sh8XNQX/dV71pgirpqbpEz5HP70QPqVxLihajZcObnEdTu2myHQevhUuI6TOd3vpD2dn2CFqMyAUg14amQbrti8O9O59xI1v9bGKFlKhBPbVaPcsh2sNkkFLjkEpPz15Ca8Qq0hsCa0mJiRx89F2/d4Qm2g+ORaY902yXB4jz89szoQxImZI+Qoxq52IJK/YbaBu9xuyKFLKL6pWk4J4toSkN0MEvWNjOpztNyl9JCMTSQOZVjGwrHfWijOIeXfrDvw==</data><length>3736</length><position>6</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>34719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>7</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b4719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>8</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>38719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>9</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b8719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>10</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3c719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>11</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>bc719c6ddbbf320086da7d5e0f9619fc</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>12</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>30719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>13</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b0719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>14</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>34719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>15</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b4719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>n1wWKW0d2cw93ag7MHXLKWe+Ud2njrrT5NhLN3RixTZy/mYgapzCyB31R4XD7i8K1AxGTUhXervjDeIfAcmo6hSZU/oo/h4ZbvFHwszKSx5H+hY2afiN6lCjKC04hn7gEub3DIZMSzLAt2QrIji21BrSJpRRsdQuEkf5QCNNAQG3qTDTlmxsU+G4AOIJ+7S7pOAZMs5damQwTztaedYjRxEHDK2PzH/luIbSQ8uxoeU6OJE4KN7EXwBoZAs1wZi3+XaqCcw0TDyT+lY7aQkIG7DK0M3bZwR54/A4fa0/kw49JJoRuYRb+Ug8n5v9pJFlZgtVXfz9fpB+zBcC4HvzcyXFrlV2PEcKyxDe6ilup8pxnVq9rJ8QybvkKenb6sYpSo3pxw7RDyrvcX9E8RX5UlJUOt5JTFIrdu3RaL6noeA/kD65VzNo+LphdJfqkArbXLtbeeKEpVMoNTzTaO3oYp1lfUZDZ0tlRDxvYDVt4YsqE8GsNLbB6VrhXq+WwjBxQ4yVVWTqK8XPTIyxZTPNDmWQ0Ypf7pgVP4P4OYPZz99XzzOHKXYMq2XpKljuicHdQU3FzKPWe1N5F26c3ghPY7Uwc2qlEFXSEJa5xhQT4RqiPxbpYhtjm+CxCRAYtwL6C2eCw1YdbdtVFZYKrjZ/aXfHfbs7qJW2ox5ZwzXZY0zkXB1KQS+IjDkQs+C058rJ+eHx7mWEME2694oPdGFX4TeLGQKIC3WkuHZ3HIe+rJV/6h6f8UlUAWvn5kfr+RPrK27J/+RHIkX54b5qamr+mQ43KpjpyfhO9s8rIHfAfgKWiHw8cCTx1ktirRpoHZdAthBTrLW/7YEwkblTHbnxtSePnL7Vp5tkqfWRUuxlkW5yvd47L1VJfjGhamu2VMpw7YXyaotxq3+2tOsH9qLnkk8KXHt2dKFRWLyai7+XbnqdRj443NrDtM4I10V77Lv28g8uaF1Vtb8tP5UkONNENkK/MrLk0RfoUNNW/3cmDefG0Y5ixpoJkKWrzxiGmPiqyDmfzhV1VDd451KvXGwumxg3Gl1gNllpxlIk6HhYfgQ56bJRHnOszUETvZ9rDBjR8Gy/EpyUGUOsw70mR2uWRvWNqFVp0Bb2ovu+du56pfN3pU3YQdEJlc8vCQgH0lIwppE+yi/hICMatKRjTxqOpnpk5Pni1A5ELk0qO/ir30vjN2SSzuL2XsIQB2CgDhvWordxRHf9GgJMh89Kj6AB2sQAQfnFYmvDn9tvF66zOmm49RBQTjlpw8Gj3m2/JtwedG7W6NMzHr99NG6t3/dVU2HudHoF8EpgtkjhGbpxsuhAjNzh/F0Yl3Ofy9o6vMXFjDc6t4xBNR8ZjRHWjqjJGxuBFSf4Osea3llRjwKKN0TXPmhiL5b7M0R/wlMnnyGN6cZX8mhOsxThna0fWsXfl5AT1k21DpTN+rRI89TAV91lkVUnElDxajV06JNEcV/ZQBWlWkaMPgFpbjvR/GSE+wo5GrAfHm42O2TdBzycfCZI8fkmqrL5q2YnHu2NKCudL0+eHGWYs4xaiMGtmSpa6jWrnWZFK7tvA/rZumahOabYMemwOozl5Cipmb7yEHh4yDbrmVOZsy8zIeFT2HxhG4mvUUv0yiuAMKTW3DqcZdZ6m6XfymIFCcqaNY5NSQcoUwypw8FIJWBhokSc/Cam+bXHcQLjtkUGubOxirVxy/8VMISUzGBQUBfRURHV+v1GvAvlMRLj9tvQ4uPRMUZiY32l1sqPooq7RR+2Q4S15WhSrTyrN9GMCo35rcbSNY2s90gE4JqB/dY99mzSC8yvnQ3tjbb3ICgjdsj9r5Sit4NG6np76DqQbtTe7at0CG642dafuJkb01dAWMXw8AEEcy5+EKh78wHO7PfzzEt8/+KH3wjvF0W3JjZwdj2tX+SPwk7uoEiBQZ+ceoFXBBXA/Mi3evOB8nW15LZOQMtsVsmyAtNmb4OoBji7410c6aEjNa8lOF15t+9+iXhgzToBfog3/1pNo6jfjnLcFyb0urliwg/8Z7g3sHXdp0DlaUl4wtshvxvm2I0bXRswx8oXp+eSLJBB44an0pY/F6j1yBRpWJbOYCrWZqqXSlItn5F75MzsyLaL3iOR3iaWFB6yetw6mVMWfZrEJ2UGwGy6xsGzSMvx+sQUWMho8+gKkKeaFTqJHPtBn1spHO/mrupfAOJ0L0434U+jDX9yyvFUUlUc4S7D3c/9OhFFqBx9XjNd6GUT+9l+Q70v38k5aq9mibT601iNRi3n14YyeIHvTEf3vhVE4bGVRuaDLjQI6mN04jMDWPPQlY3kX8oBWPz0RLt3s9WXOCiX+ehSD7/tEBwXyJTnD2sF1HYYuBV2akMdOIiIdeniAIgMLq4lQeV9LLnMZm+QL7g2hc13+cZ1QvDedDWzcQDmeVR2euT8ujE54vUs+9G0BSBqB0xuBhwbIgomcNwDNMxGPwF834R9RSPwBDiJCKGtw+46vNcuH7WWYEV4jowT+uqTNGZqtn4EJ4MyVkFN9HpSOKQgpOilU3a1QKAfSCwU32Z9WThIfdkodbFS/33zkl60uFFBtpmWbdLG0Of+jvnIBkHvKzN73orVNsZft2zMJFk/mtxqxb/MV1d+izju/sg/t0jYKqpyjpNtypA4+QPLwF7K2OedUE5i5pRMgTJJ5TsPSuMrtXqqdFa1z6+Ad8ryWq4FCfesgLD+gzJ9m72hBxOuvjNAVG/88kOViOb1TBCwjtAqdqFKJ54c7Pbm10c+3LXrpC2NiLOQ2s+XZPRhjwG7Pdv7lE9CSMa/Dlxpan89a/vPtFi63sq1XwXxbKpRuq+4L08Yee+yaF9tpPJ81667SRdgiRK+VeL2TC0bin6LjuVBN/USpfQQrW+41f8KwPikAk6+cLLuyo5rkeh/ZgXfsUbK5Q/Gxk50yi4iys/16WMCbXWhLb2nEOYv9ZaRzNAgE5BX68U4XzMLzOR3OjsSmDt53CibyA5qo/tmE5u/JT4RIbNOFqMAUequhNDWZsjLbN2sEg5zHeQoubl2WsbHaPYRWlnA8RuOrG2Pfy12RajRhXr6z6q7nWuMAm7bGjMFUUNb1gwmbCHan6Rjz/ArjOssKWqB3JqlVHG0Gqbch2zaTkXoTKTXqtpIk7kTKZQZaS6IOqpAxcX1GZG17lvZSlKq1bdpvkFXVMufpdXxl8f4NzUrMecM0eaW7s+pP3bhCjH0IhujP1iwUj/8IIUm1LWvhCxy5Lfn90bzlO3ofmd7G/HLTOMeVnCdc4vlM4NaY3nvtk84vs1HbY256/Hr6kve4yU/iB5qzAlkJCvs0Zkesd3dLjH7pcYL3tpLR34FJCa48oU5aW6N6hY+C5u6TbfKxA/0Ir0M52VgL2jvFjvsZ95/LPLM42r6is90v8I/W5f1KzU3W8S/n0bGDLi9+GUOTSkjFiuEHSHQKvd8GYqQe+1rVklKJIXC5Yv/bsaar46lcWCZD7SI8NU+njpRmr2NRNcB/e48YEqEI2TlhK8BNHohQB4IZQRbitDuNiIeUOElVJBljndkr+HC7o2SU1O1M0Qs0dE75bnJ7ROVjS0STamCTZNj65kJuybIQUvx9SZtTSh8M4JR0SYCcYE+LGNmkpdRkSPVGTsxC6dYid2EYOKTnWBYPBNQtvZsDyMoBoFescIKnpyO4VJ7xDCnCbsV9kGn7b1KE+6xMaWq8IpstTHoRuy95U3O4Ei0F9us4AnECw==</data><length>3736</length><position>16</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>38719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>17</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b8719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>18</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3c719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>19</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>bc719c6ddbbf320086da7d5e0f9619fd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>ucHJKMSEkaIIMC3K4ZZQzNuaStf5iCnlYZKOYIYz/wCvUcp8Z2E07t/mta3+rDb6z6VlG/45tgtn51Tl2q8FbNfyXUyA63zhiv07ym+nZn4nsS7DarhN/cGjx3KtZtt/iGnUq7XUN/zjyvW9tbL7VjXMMpqabyZGm027bZt29Z4+sKO4ZKdnuGMvFEQuDl+VdWUoLWQ4A1TGQGqrrEKalYKlxMKV3TqrFqJ8d5LW0NDrIs+SNSl3kRzE7opavbgBjt0Rg7hPLd3Wgy3Yxkb9gZ/8jdwW6sEVa9smyqhubeL0Uxnq1yICwuM9lnjpbOQrTGdlqwriBlu0TEluoydyeRtXzgbGzwN24eKfaz6t+RcZkXXxkbBmReMocyWYIrPD19ZuM0SSh/jJnl3xm2mD1bhxtFpOOgUmUMQ1BSB/UcFPsAUHEQt8MWw+63AWMiRH24LOM98xBv5hRSZCGFE885UaIShYOFlWRy8suHjIu/yhHnFpAs+kkYWzFqkcejtJjMZXfMrNTBXpHfX0PHLPuo+b1PXd8UGv+j7UoeHgkDS8t1Am4PxCjvUdTL6GhZKqe02cs1W8vTYjPHNYyjGq2UULP4Z6kZ2PlTomv+GevB9be1qwbjxbSqtKv+OULlHQ3jvVqUU9ltr6iTck0vbraMjXt1qaWldX2C32iLPbKGg3u2xPhiKmIv6GhG18mvOx9kiFtwuv90sirJinV+6Q0JTKtIMD+hycD48GR4/Xkg8cpxEaPWBMJ1deXbcU429srOTHQl2gGBvjGTtcK/bODdcZkIcWRUicGmGDr4wNaOJ1y4yNeuMGmGQkBzqrI9EZJInJmtyr6aMiUxkjXmRBGApZFKOJ9E9W0lsi7pK7At6WQh+vTzGtWInrYMm6tnBa1sBNF8CFN0xYrPMHKmZmvEZ6JyUfBjOVonuIzk5IYpRTlcGRkvcvDvT02LgdY/y1swHMXgtS/BJtXKlhbxu1vguRkb6jzV2ZrWq7oRtfPEc1vD77G6hk/wBih/xfNaZEt/lJrZrPH6B2NFtKP0+3JDH12F3Z4noie3U02BrG0rKKviHlFarrvKt2h+m8a2NHQ+JgM7TzKoZTcizI2PIbtnW7vxrwBrQ8q1Fv9TrjTpk7YviTb2PS+PbXdnT8R0tMkbXR6k9h5Ptb2eyWuGZVD7EwTnQQ+8ZhZOPE6/YMgNayu2jTI1TPqibEzM2UxBbIYxlszJpcw5iggbIRhXDnIhzcGm0omoYyHxi69hmBQPj6CIEKaxGKyomErHOQHIuAGTeCZi8vPqEFhWEDH1lSJ+sqc+6sUlKOGIicYuQn3MjIuPCZ3NpeR5HaDI8qcuD83AIb5o6TseQy8/1ICitsRCHukE/WxwJcZDOJPueXKDiKarpyQYBQ2ODkZxAxnMcc8xGIniaULmG1gKNjX6hM8z/mCwhjmCipclEgMQUWfZlhcYUQDRCIDWvXb1ezGLWl8atDSMH961RHG9TEDF6BfV11catTzVcg/wAja2hovGqHvfMnsdf5fYStG+18U9M0lZV9MUP0O+6joLU63dUfKEvtot9rnj2njyjzKw1SF+R7OdjvYoXDxPjrpDXooUMfs2uUFgYcdoZwmRjLMnBFYMV6e83KHjtcTmNbVg9itcP2iusXwjI2RwuPrZhVXZTkax8DGv5iNdzhaYJg9R8zruufQcwKoVn1PGfUDk2xCGXX5OwfkXbElNmzOCdws9F88mpdnP02zM/pb5z9LsRM0LMTNSzk0n4aHBhyyMlzQwbjYz684yLwYFlJDBokJUo8KmBjsNMRy1RqOJ5z4kUTAPqalr1Nq2FyZvGVWjnFsEBW5LIa2sqbJ1mUjSMzCc+nYEQM51xXySQjKquAaXQLlqFVjnsf+cJROBJpJVpdmXCQE4RONaPfNPd+it6JwNm0n9O31XbIot274rMox/dlcOxRdJ8mUNnyTcw7f+ReO6706zS7AaNvxvrvPKfM7Sp0nhOti4G8rhrt1SqLfX8pAFb7XrGdr5ns21z/AA7qjoavl2wdunaShRo0rewiWusG9TbRGuyXV1m2vvNnEvYZ1KFhkVLK60vvNbJNOYjqUISBSeqrcc6qkP6zVgwvsZIvsng2LmCbRyDZhsOI7uiYe8cG0UR9aiMi5VLJeiSL6ecgUc9EcwlGEpQ5EBGRM5POF2nODyZOMlnGS2MJ8RkPQWEqm3G64GY/Us5LWPz9OcOTTbGFWbAyLhyDsDlq1YUDHNKe5YLTjCYUz4mcN0n0Sii5qlyDNHAi6qNZbXqDGlyfJwKwyIzVyBDYRHf1zkgQNrALMgpVl7YiuLuyJ6/9AB9ckYPFWzXDQAoqnxb2BrK9Ru9qPl08v8jQ0jbt4fUTZVFhxuJK1dnrP27XT1ZpV/LjRp9Db1gI1vgJ1RofihehOg8V1X0njfnNEV34dGu1IK/+TeV7ZLNPb8I8UdGz80aafIb9Ov47omX7d7JAhXb6V4v3JSF603isi9bml4w6YqoVVUxhzhR1z+52KHmUVrIyutdxlV5SmjM4imteFc9GTtTDP1l2BuzjFbtc5Oyrsk76Yn21ziCAsNEMgamRQDCoTkVJXAJ5xdfJTn02RVIY+mPj6ec9HGegZz6OCwqPOHr5nC13OO02Frra5KL6Z/UHQIbNJCu1XmJYkpsCuE3ROYsvmWHETgLHErCYOuuY8HamaJjK8nkyIJgXojLWvBxv1fpNo9YA5yDLlYmC0sjDlchwqKrboLK1uGnBmRl/ohmRnmDwDJJ3EhKpniPEPXZq2k/qvjlap+peP7LVt19vTbq1Xs6zZhbq7Gz6aC6ojOrsijezWPeeb+TGCZo2Wa/Nxfb5Fd2D10aPk+y/UNps/J7WxpfhnrjmPIQQ3ymtxK7cT5H5KjVt8jyiGtjZ7PZ1hRpar9gbdaEmGu16QXYAMJ1NeTYrwR204V1UQW1pDAb2ngbZDYLYiQs5bFhJhjXW0E7bWDGbzci87iNm6MHaNjB3RRlHyKlIq2+vmAdXbARIjDS6w9459W6IDYc5FpeRZXgWIKffhWzybbc+tPPrgyLSZyLisi0uci2vBass+ycNcRkqUWFQrnFzQpcNrS2kQwbqzK7agW3HkLIIjgOIBfzATkrPqm81BeI7E9hriUXW/wDUiDNjbAg2r1hdvzYW0omYXkDwUc9CiYlXMsvMkofzE/6YeDCnamtNlPqnRWoqbbTmtG60xtUe7qRbpX6TFUPETYqxas+oZR6NBbH1Vvw7RKanmrzKLerhGlewauy3+9jY6/xHx6dqryrWfRzoNhr0aapeTt/O/P8AyINVTfq1eNaMvI5Hx5t6EJM0KVG7IFN2xnJbV8iNoTwSnIgDBdbvIVRjJpVcOjWnG6jvh6i3GBU2QZNDath2q2WN1V0s/S7MZ+nNjJpNjIqtjJQzmAwRwTaGBsrqsDd2xyt5OcCnyVREvaUmQDFnHHfIZKyHY1hgbtJkzxOT7giD5yAQWTSSWHrjjJovHBG0OKOwMosmUQkDGas4dY8KtZiBAoKzVolF3WUu1/T+pliqKyRUGS+kSI2BUsSjlvgCYag0EOPMwHY2Udr76zBcc9I5xZxlZIsO2QCa4U0V1I72o9brghIf6YSkZPgoQ+BFyISWsuw2ra9dPePgmVdgpVlGgT9Ltky59nyKZt7fypQJZ41vLCJTE7f8QfNf7UsYNlpe5FTxikNbQefnA7TcaBNbx7X7mdNdHU3U55xvpaDZvg==</data><length>3736</length><position>20</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>30719c6ddbbf320086da7d5e0f9619fe</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>21</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3471d4addbbf320086da7d5e0f961972</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>22</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b471d4addbbf320086da7d5e0f961972</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>23</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3871d4addbbf320086da7d5e0f961972</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>24</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b871d4addbbf320086da7d5e0f961972</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>25</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3c71d4addbbf320086da7d5e0f961972</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>26</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>bc71d4addbbf320086da7d5e0f961972</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>27</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3071d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>28</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b071d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>29</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3471d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>V0b073lxtNDeA/plV77RUGovAIuRr3EKKdFhJgludyYSsFCh6zue0qMG8lIb/qaN8QxQAc+kdhMgBK3gQbgaCFifLMraxqlbzX1UdoaFHncw31cwljeFnH2hxCcbCCvUUZuTMqiw6XEuwsJkQQszFF/8mZEXIg55l+3JhRAG7vCQ+YxlSoDiq3lUCeLV51gVRZVgE8Jdl6HJrPDVAqDcmZEN5nrG1uBCQqrCf9Fv5Tv0Nx1NPcHQiUKt9FMD9xe8JlcNyLiC8zbCBr6AawaaExJ4aHzWvKbBfMjbe8eknmy0w9R+x7SmUbW+sABt7wgOchlOmLgHW0LH1ExUbkiYCl+XkGw2MdmH2lcjTKsBUxV5lcb/AIjf+vz4TCL+bUTPU+5jVWGpNhLfIhRrLUIVoG0KsIwjUzsxuIxT1CVKeHbN/TG1R5Ue2hMxNJF9KHSGk3rVjG01hyGxJnn2A0lNa9zQZvPK4wumGBsglSrfeZx9catLcR3Gh2EAJ1cwoj5wJfvBSUkMfV7TMNTssCJrWq7+0p4Sib0qGtRuCYMNQOg00hrOQKjCWPp3Zoqj0CGq/phpUTGLHzQzMR5RLtokuQQg2gC6AcQk6LAcptwJmc69ppqZdrFoajuNI3hqCIbNdTueIUS9ZzwsbE4up4GHQZigj1x+RTNkluOjN9RhlotMDzneZQbCe/TXaAWveEoSi+4j08wbKbXH+hyGArvLTMDsYH+lpl11lJ2+jymG0UNsYe0+0dO8Wx0ER2i1kGqiCoOdYcMW/BJ1gCoVt35l+bbGIpUKL8SihFgqgCMCbzDJUTPTL6gRaDC6U9hAt5j6gUBUst4G2J4iDkzEf/kb/wBfmwmEOi1H1+w1M8Kn3CqJToEWYDURj8lxKThr5dCICRaNV/SLkna0GFwVXwaLnK1SPgsDWSrkGaqQdSYQg0mKtoShldzfMjQEjKWNhKVFRq1hFpZkOQZbr0w5pVXbGO/4icKspUF3Mp0v0iLfcy6jYQ01N0pz+qdDlGie5hP1MbwkoSVEaq40OrE8Q4pjZV0QQ1h+fX8qDkCCiHHjOLsZ/V1+/lgV9jt7CeHTOg3heobIIaNDRRCd2hCnyz2hVPQNzA7rZRsJZBpLtqeBAtvN27T/ANTMq7cmZV1Myrogl3bTtPNa54EsWy0+whqaL7tP6DCtrU9ZmWWE12hHS/aeJARLkXaZ2QimfqlgLieJiCEUTwsMoVIWO5/0KMO/T7RkIvcRlfYbQMdl0j0HfytqJ3Aisw0MvxaG8so0n2MzE8adCrRfEumbVQeRG1F12tBmH0yjv7gxQVyi19Y0XMNKalpVB0W+kWYqzA1q1e2WUl5C6iCwmIH/AHk/Ni8e40oUrL9zKZGvg+cytWY6t81ahyrQWOkOBoPamn5rjn2mSnoo7TF4rhzkEugjueUMrNzVqShSGthCSL+EmYxj3N5QrvScV6r+WofTbpr6KerTIvpvFQCwWClTa9WrAvLxaIa6LM5Guyzwh6zuYKKm9JNahme9sOkf4jXHkAtSBjO5ORdYBwNEUSzG9Rt5povfvPApmEEjxDCqny8nvMizwFUwF183aZ6h0EyU1yg8w8kbtNBM9UhKfaGjSv8AYS7tk9p52sohpU1NOnwYFc3tvMlEKCOZWxte7CiLi+xMfE1j5mMq1qzZQo0Hcx2tpeNU9KLyeYTPeZYB3lOjQpE5vqieNVDs26y7uBRXZJ+GBCHY9NZuq/eNTYglTY2/z1+8KncTaKFG5hJ0UxtNDMw0IisNmEDgaiI5NywhU9DUOx2guNQIjfSdDGsbqdp8PeqQ6rhwoAjMAASYOwlBW5cawr6QKY0haYmplLlaRjVL7sTaFuQNph0C2INzCrC479oMhsJXv3+YVSLHF1S38DSYzGZrO3kWAfM9HcOkOBwtv6lx52/QJ4NPU8mJSpi9WqbATDYNdSoux7tHsbm8bk5LCUUbfeMzG4WYrEJvVfw/4nsJg8Ir3w+HXQW5haPWb1VYap4hxVbY6m8eq+i8DsIKxUhdgei3HpnhgXr1P/EGCp2zMbu0XCqxFP1VTFweG/LTyiGlzyZ4ri9X6F7QmqRAoAzcWhqkg1TGdmJLQU6YLMYKSJnb6n4E8gBfloWZgFEtqF4HeDxABbZZoJd2DPwsupKUZr5m5Yzyi8FwznsJ5v4VN4cn4NM/8wttlFyzT+moG2Don+HMOKdctNPp7zKi2Q6AQV6ulHcjloKS3VF0WmJ41XygbL3hMJM8WtpRSClhFATl+0d2q+MRuYz0T+GOJVe+Rk4MJKE2getosznzVOBCim32/wA9XB3gZopMuNQYrQlRciEMft0Kcg6GM/IEGt3U6iZpeFCbg6iG8wyNYqHub7TxgoRKlTQDaJj6VxQAVP5gBEycLzPh9NdWNUSseEULCeDPiWWwzIBn7e0vzfWfdZQQbgXJnm2aHNqoMLr6XAPyqii7MQAJhcCCb4eiFP3lOidPqIh9tPmfG0jaqAUSMqtmrVDd2hdjP/eeIXU6UVP/AKwg63hHMVY5/SLCVKv1voJg/hyspNMZ3t3MShW/KGryqlH8lHKoJTpjcynQ0ATiUxx6nPYQYWi16NOag5TEpImWmmwihBuYpI82yjuY9eqb132gc3avUNlBhwqPfFVdahESqzed5dxpxCi6sdzAiAZoyGoHxJjF3JBi0aKlnaFR/wD71J4dJLdz3gW5J4AitUFzwvAlwBfkxmZgFG7GHD/D7twXnjYxszHXLBTpqDbgQtVI04h1v2CzQZFma80y5YfhmAchNqtRZSoUiBRU+d5/QfD6hqUgAHMWviWBXe0Ko1qS6BRsIzEartPMeqU0S8VKtlQjYQltVbYwU0WO5vmH0iNUq1lpX+jkxkH5caEn/POHc2J1QwLoryxEyGBYfeEfSdRCJaBVIB5jLpZ9bwjkwAw1V1MPuYRwTrMHZwTlBUTBYQsGrtUuYyg6obGEiwnw8nl5XJFmLQGYyirWc2PtDTGrKeIAwsWlr6hbRRzPPs3EpVkTRTb5cDStceKGP8aw9s95Vqk6bCFu5+VUQXZjYTKDqBqYztu0pYUflKQ1U+0prSXKijKB7S3eZbXvHY/TtHZt2OkwVB0L0wc2UStWWl4YBy5ftMdjcmgXKv3g+95VxOMq+FQpDRj3lTIxqIX8p7wUEFsRW9XsIFvq5hpA3AmWGrV2G0Lbso24USo7/lUo/wASxItUGlFDHx1fYGErpTXcwU1ALzf8U7+0bD4Mhquz1IWYksYtGipZ2mmr/W8FKkJ4VFrnk9oAbs/eZnmetUA7JyZ4akph+wgKavCGOWew2UbmXYZKXaWsBCuigcmMaOqqPMx2EOEwAa31vEYL4dMHzsZ/TfDlvnG4jV8X954aiw4E8pF13h462Eztq0zQQVKqWMP9NSC1GGrGFmcvfeFeYRL8f6BaeJJentm5E3v2l+JddjB5r2hIF3XXoGEM8NvpO8HhsCLamXgYNvsJVS4BG9+IyXmHdXLZadieBMNiqS2qKxXPKqNqb3MJPfSfDzwDcntMQ5Piec6xb87TH4YvkqPaxiUlTxCptn4j031Be2aVuy6XgNv5hz62nhgHKw1MejUGo2PcfJicVxQpf+sbLsIR3+bxn/Mf0+wgoqdF9RgYDN2EJdbV6/meb6gxST5pRC/yY6jXWUaZ5MStSJQU9A0OUFqlV7Ackmf+68x8ZTmr9ge08o1c2WJhF2Qeb3Mf4rXT2pKeTA==</data><length>3736</length><position>30</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b471d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>31</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3871d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>32</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>b871d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>33</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>3c71d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>34</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:16</sys_created_on><sys_id>bc71d4addbbf320086da7d5e0f961973</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>35</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3071d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>36</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b071d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>37</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3471d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>38</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b471d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>39</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3871d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>40</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b871d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>41</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3c71d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>42</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>bc71d4addbbf320086da7d5e0f961974</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>43</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3071d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>44</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b071d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>45</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3471d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>46</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b471d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>47</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3871d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>48</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b871d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>49</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3c71d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>50</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>bc71d4addbbf320086da7d5e0f961975</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>51</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3071d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>52</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b071d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>53</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3471d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>WGCYR3BpXnojdE5RgEEIFFGJ5fafB0Le5dyPLQI+TbEDASGARX5YIlKKMQvxTI8NrBH/AG0IMLDwaARVBAQMD5NsQMwgLQwAhw280yPF5XTy1kEDE9R1f3iNZMtEfKEgyCjOZBMUeEaRjHVh1q1pNilCQIyhCBRuBBDGPFeluPqdrW5GQpB5GjQccUeSYz+rW5gmEGgKzPB8kooooo9E3b3Dd108WuDECFkwKMTaCCCCCHG6yahUATWzTEKKOCLziRuGaOsQIRNE1keEcsoo2hA2Tx7SPNq28HRgUaRZNIPHDlFCB5zWIfJRVAqlPFrQwRIUYCwEemvMPBmGSUUYhDwjIUYCcWQgghzLLVsyBbT4hgIFG2evbu1CEwgQjZFooooowCF8cu61eCcI0RsFBGY+SgijaCGQEUedcSPedC0EfCqhMJSijmlV6ifEoRgEcU4I66UZRMYjsJmYWnKeAsic3yj1FsKsz8acA8q+DpUi9kyBCcwGMe0FGyLhiELBuHorJscwKKF0WBIEOlbg87ShBBGyeDHTjPQRKN2kp7qUYBBBCcI+FWyOwjPPEnsBT8IOfpjUv1HBDoOsYzPafruuLftr4LcTUJ+oOMh+tCI4IqhsPbfrrjgH6zu9vJEHmfsj3XxnyT0HXBNM3aNZDXm7015upv8ACn4d7Y6nrD13Rimwdwb4C/wzX3rWFrvrTNnt2xj8AafXwzfbdRe011+2scpkx706cfBmy26+xvsYN3XV1ov3nd9wns775tMj3d/hDH4m/wAD3+gzH/Mf3+zj/CH/AEYCf4Rr4C3dD8CPwZoN8E38Lr8CMCgj8DKMx7+xlYfoU/8AVO/xLf8AVLv+zvXwff6H6/8AKuf/xAA2EQACAgEDAwMDBAICAQQDAQEBAgADEQQSIRATMQUiQSAyURQjUGBAQjBhMxVScHEGJKAlQ//aAAgBAwEBCAD/APsYz/8AB4/+AR1z0MH/AMABM17oPqH9/A5E7JCGL4+of3/Tf+QR1yxSFdpK/UP7/ol3WxlAYGNy7fWOpGPqH910P/ljjEb726FecQ+eigscBhiCVoXbAYYfAfk/UP6cP4VRLq9hE0hxaJaPDC05tYxFJYYbBsh8nppUyS0sQjkqJpfZZymnD3MI6+T9Wf7mk1642mUttsBmMqJc2+1jNHxZmNzYTDAJo0whMtTem4UrlwImnxZuOzZeWZ6D22aMoH9TtGMf8Jg/y6Z6iM1o0qJVgZk9jI+TKcpyM5JMPiVLlZQNlZlFIek50y4vwa08xq99gBZQgZJfSauTiETEPUf0k9D4j8qDB/wGD/Lp+7E1a4qCmnAcErygWOuHYRDhMwLgRhiKvtEVeMTZtrAAqAt4U4zgZLjG3DHOvX9zaxrGYy4M2Sxcf09TmvB/4DB/l0f+QS5FtqO7T43BiMbdwPLEyxQK+K13TG58RgNwA0ybyclGK4jJhuU4MLYvChx7sT1KvcMTs4Ayybn4sq2HEvOW/wCEf0QqQOiQwfwdRw2YOKCx0qB25JxSTKRuaWZ2YAXYhmnXLzGDmaLJ3RR7JavhonmMB+pzLPOZqUUfdXXOyBaMaw4eVadGBd2U7jMf8BpbZv8A5+sbjLKMDcNvODXpt2c2KO2elaZXMcfwlKbjP/8Ajg+nKMkzU+zTtNLgMJqECgTU+2rE0i+TDPTxncIB7Y4GYFw2YR+5y81RwmZS2WhqYWia9ctiHTk1ADZhiD2QYUjJ0EAm2abT91udTUpTj+eo4MC7hiFPdzjI4sB7ZHTS4IINiYYjoPpAzGG04+kf4+jGbJnK4mhXDkT1I40rTQoGbJ1ByQJr+NinTphMyxds9M8NB4h5E/2EYkPmP4l4BPKbd+F7DG9Wmq99kRcKBBXsuIbtZPFlIWrbLKmFZJxAIqk8CvQk8ulYIwuqwq4liFfI/ndNFwRHrGchFULLuFYCaRScmatcODGEBwY6cb16VVNawRRpwDGbcS30oOf8f07HcOV5BmjQb+fVzjSz0tNxION9+Je5tvbKgYCxxkz05MKT0Kz5jMQeMHbk2KHwYAAcqmWfMwHtwXxUMmnksxVRChwZrT+3ibPiPXsUVTSaQ/Lklu0BVsXE1lq1GO5clj/O6b3ArKfcIRMTUDPgiaL7wJrF4DR16aRh9hv9NcDuUpRa5wum0Q0yTU4TTMZiDqq5BMoXLf4/p+DbiVjBImjGXnrbYpVZ6VwhaacYV7TUhZswdNEMVw8DoRzLCcgAZYR/HCjwIgw5MqGbpcNykFF2rErUjdLiV4XVXG32tpaSx7kVGtfJY7BgU1fJvtWsZOou777+joVmOmf5g9NMcPwBg5hET8G1SDLlAc405w4mpGajj4hWVZzgaW3ibiRDwDPVSVRUmIOtdf7RaaMYDN/j6A/uxPvInpqZJY+utwomkUV6UtL7GFAQVgADAHEAwJpRioRh0I5loI5HPg44iqd2Qg9plK5sl5+Iq8CMMTUIW94CtY+0VUs2K5hcxFDNuNj7BxrrjZZsAX4HbwOcQ9B/M4iEqciv3oIPeuTkiWiXph4vBBn31MZ8TETg5FGc4iwz1Mk2ytMgn6AoXT4mjXFbE/4g6aLi4RfvJmmGEnrjAuqwYGjEtwWxKBMYEY5lIwgh6GNy2Jn3QnErwTDwpM04ycx/MEea1+1VNNpTWO4V9owO37cRmA4XVanGRFQt4powOWHc9ktrAOFGnCV77Dyf5pRlYJQ3tBiNhsQjmHM1K4OZiaYexutCByc01kqDE8zPOZr8m2U8VHrjMv8AsxKRjTsYP8QQVsQCNNpiloaMCSTKs7FB9X51QEvuHbRAZQvEJg5MT7RDMYh8w/dHG3kAZEqGMmN9hmnTCy3lsQDA6FTrL8zGOIiY5LGW2BAWg01lzlmqpFY4tO8YSx0KkDuJWvL2NYct/NabklYa5pyR7S/iD3DMXwc6o5I6aVzgzHTTKFXMpXEXlo5wpM1D920tEXCHrSM2KJqfGIo2aYwf4vpqd2srKkGcFPxEHIE1S93VkywhmyPLRBgdAuTF8Q9DCMmPkxcbJXwmJb9kp4SJzZy01bE/spTUKlChFz7oSQvOC3EsdGOwKB8MrE4a7NVfFlJrrFkdsnJ/m6H2WAxq4EwYoyJX8jpqExDKPtMA5myaVdwEfg4CzUsEqM28xxirrogDbk3mXe3SDP8AiIu44mgtNFu1ioGWFA94g4JM/wBncmULlszMBlQyYI5x0PieDH4HHhYPEs5IEPtWVDjMssFSFzRWSe4xXJ2jgR2JMdhjaqVAHMPHAOSJbitd72uc5MH82ZU3crDQrgyn8THMPmX+CS0059mJ4MVcjM0uQcAMH5CJNc3AE2woTSTHHTQjkmXj3BZ6jxQAf+dELKTETcwWa3S/pyB0rGWxK6Dkxa9x3DT2bqjNJy+IxxWxitnMwcSoY6CacZYTEYcwiZjcxjt6YmMtLPtg4WOO62TjYuSg2+WPMc7RiBceAOIV4yXIRdxuvyTGbcZjrjM2GMhXzj+X9OYNURCoxEjrkQHMvPshlGNkPkxRgTTcOZxnjgCas5bE2wqO0QXGOmiU7CY65tE9SXcn+BomxZsP6Xt3Az1KsW6bd08HM0y59zV0hMrD7MzRjktNQ21Mz5JnmAcdBNKPdBPJh4EPQjJEAyYeBAMCeWlhOOKkHyW53ktkQnA6BCvM+NxZsLvfU6s2mWNk/RVS9h40+h2DLsiAS1cITAIRMTtMRmBfpz/EZw==</data><length>3736</length><position>54</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b471d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>55</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3871d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>56</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b871d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>57</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3c71d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>58</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>bc71d4addbbf320086da7d5e0f961976</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>59</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3071d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>60</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b071d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>61</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3471d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>62</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b471d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>63</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3871d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2672</length><position>64</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>b871d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>65</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>3c71d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3516</length><position>66</position><sys_attachment display_value=\"image\" sys_id=\"f4719c6ddbbf320086da7d5e0f9619fb\">f4719c6ddbbf320086da7d5e0f9619fb</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-06 09:05:17</sys_created_on><sys_id>bc71d4addbbf320086da7d5e0f961977</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-1999325729</payload_hash>\n<remote_update_set display_value=\"pe-push-notification.u-update-set.xml\">551cde6bdb844b0086da7d5e0f96197c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-25 10:34:31</sys_created_on>\n<sys_id>191cde6bdb844b0086da7d5e0f96197c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d753e6e100000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-25 10:34:31</sys_updated_on>\n<table/>\n<target_name>ios_10_wallpaper.jpg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>98b75a1bbd004b006f6d2bf8513bba45</update_guid>\n<update_guid_history>98b75a1bbd004b006f6d2bf8513bba45:-1999325729,5fa75a1be7004b00f43c32057d4cb907:1853286459,af4790a12eff3200dde7c93ea7478616:-1999325729,9a4750a13dff32003d94ed90ab9376cc:-860049193,0d71d4ad52bf32002b444f1995e05f8c:-755251750,bc71d4adb7bf3200a80f6f70fdb7c882:-755251750,ba6114ad97bf3200420990c2ece8f520:-445044780</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c386cfc9dbb7320086da7d5e0f961904</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function PushNotificationsController($window, $scope) {\n  /* widget controller */\n  var c = this;\n\n var isMobile = {\n    Android: function() {\n        return navigator.userAgent.match(/Android/i);\n    },\n    iOS: function() {\n        return navigator.userAgent.match(/iPhone|iPad|iPod/i);\n    },\n    any: function() {\n        return (isMobile.Android() || isMobile.iOS());\n    }\n};\n\n  c.show = false;\n  if ($scope.$root.portal &amp;&amp; (isMobile.iOS() || isMobile.Android()))\n    c.show = true;\n\n  if(c.show){\n\t\tc.current_date = new Date().toISOString();\n\n\t  if (!c.data.notification.date)\n\t\t\tc.data.notification.date = c.current_date;\n\n\t  if (!c.data.notification.time) {\n\t\t\tc.data.notification.time = c.current_date;\n\t  }\n\n\t  if (c.data.notification.background_image) {\n\t\tif (c.data.notification.background_image.length &gt; 0)\n\t\t  document.getElementById('main-container').style.backgroundImage = \"url(\" + c.data.notification.background_image + \")\";\n\t  }\n  }\n\n\tc.goToPage = function() {\n\t\t$window.location.href = c.data.notification.page;\n\t};\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.row-custom {\n  height: 100%;\n  position: fixed;\n  top: 0px;\n  width: 100%;\n  margin-left: -8px;\n  background-repeat: no-repeat;\n  background-size: cover;\n  z-index: 999;\n  font-family: -apple-system, BlinkMacSystemFont, sans-serif;\n  font-size: 12px;\n  color: #DCDEDE;\n}\n\n.custom-container {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  position: fixed;\n  top: 0px;\n  width: 100%;\n}\n\n.top-bar {\n  height: 20px;\n  position: absolute;\n  top: 0px;\n  background-color: rgba(0, 0, 0, 0.0);\n  margin-top: 2px;\n}\n\n.flex-container {\n  display: flex;\n}\n\n.oval-white-1 {\n  width: 6.5px;\n  height: 6.5px;\n  background-color: #DCDEDE;\n  margin-top: 7.5px;\n  margin-left: 6.5px;\n  border-radius: 3px;\n}\n\n.oval-white {\n  width: 6.5px;\n  height: 6.5px;\n  background-color: #DCDEDE;\n  margin-top: 7.5px;\n  margin-left: 1.5px;\n  border-radius: 3px;\n}\n\n.oval-transp {\n  width: 6.5px;\n  height: 6.5px;\n  background-color: rgba(0, 0, 0, 0.0);\n  ;\n  margin-top: 7.5px;\n  margin-left: 1.5px;\n  border-radius: 3px;\n  border: 1px solid #DCDEDE;\n}\n\n.network {\n  background-color: rgba(0, 0, 0, 0.0);\n  margin-top: 0.5px;\n  margin-left: 5px;\n  color: #DCDEDE;\n}\n\n.lock {\n  position: absolute;\n  left: calc(50% - 3px);\n  vertical-align: middle;\n  margin: auto;\n}\n\n.icon-wifi {\n  margin-left: 5px;\n}\n\n.icons-size {\n  height: 10px;\n}\n\n.top-bar-right {\n  position: absolute;\n  right: 7.5px;\n  display: flex;\n}\n\n.icon-battery {\n  margin-left: 6px;\n  margin-top: -1px;\n}\n\n.home-container {\n  margin-top: 65px;\n  text-align: center;\n  color: #FFFFFF;\n}\n\n.home-time {\n  font-size: 80px;\n  font-weight: lighter;\n}\n\n.home-date {\n  font-size: 22px;\n  font-weight: lighter;\n}\n\n.notifications-container {\n  text-align: center;\n  margin-top: 25px;\n}\n\n.notification-container {\n  height: 115px;\n  margin-left: auto;\n  margin-right: auto;\n  width: 90%;\n}\n\n.notification-header {\n  height: 38px;\n  width: 100%;\n  background-color: rgba(255, 255, 255, 0.53);\n  border-top-left-radius: 12px;\n  border-top-right-radius: 12px;\n  -webkit-backdrop-filter: blur(12px);\n  backdrop-filter: blur(12px);\n  display: inline-flex;\n  position: relative;\n}\n\n.notification-body {\n  width: 100%;\n  background-color: rgba(255, 255, 255, 0.8);\n  border-bottom-left-radius: 12px;\n  border-bottom-right-radius: 12px;\n  -webkit-backdrop-filter: blur(5.3px);\n  backdrop-filter: blur(5.3px);\n}\n\n.app-logo {\n  margin-left: 9px;\n  margin-top: 9px;\n}\n\n.app-logo-img {\n  height: 21px;\n  width: 21px;\n  border-radius: 3px;\n}\n\n.notification-title {\n  margin-left: 9px;\n  margin-top: auto;\n  margin-bottom: auto;\n  font-size: 15px;\n  letter-spacing: -0.1px;\n  color: #4a4a4a;\n}\n\n.notification-when {\n  position: absolute;\n  right: 15px;\n  margin-top: auto;\n  margin-bottom: auto;\n  font-size: 13px;\n  letter-spacing: -0.1px;\n  color: #4a4a4a;\n  top: 9px;\n}\n\n.notification-body {\n  padding-left: 14px;\n  text-align: left;\n  padding-top: 9px;\n  padding-bottom: 13px;\n  padding-right: 16px;\n}\n\n.notification-body-title {\n  font-size: 16px;\n  letter-spacing: -0.3px;\n  color: #000000;\n  font-weight: bold;\n}\n\n.notification-body-text {\n  font-size: 14px;\n  line-height: 1.29;\n  letter-spacing: -0.2px;\n  color: #000000;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;push-notification&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Push Notification&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Time shown in the home page / locked screen, and if not specified the default is current time\",\"name\":\"home_time\",\"label\":\"Home Time\",\"type\":\"string\"},{\"hint\":\"Date shown in the home page / locked screen, and if not specified the default is current date\",\"name\":\"home_date\",\"label\":\"Home Date\",\"type\":\"string\"},{\"hint\":\"Title of the notification\",\"name\":\"notification_title\",\"default_value\":\"ServiceNow\",\"label\":\"Notification Title\",\"type\":\"string\"},{\"hint\":\"Time of the notification, default is now\",\"name\":\"notification_time\",\"default_value\":\"now\",\"label\":\"Notification Time\",\"type\":\"string\"},{\"name\":\"body_title\",\"default_value\":\"Lorem ipsum\",\"label\":\"Body Title\",\"type\":\"string\"},{\"name\":\"body_text\",\"default_value\":\"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.\",\"label\":\"Body Text\",\"type\":\"string\"},{\"name\":\"background_image\",\"default_value\":\"iOS-11-Wallpaper.jpg\",\"label\":\"Background image\",\"type\":\"string\"},{\"name\":\"page\",\"default_value\":\"https://sc.service-now.com/snexperience\",\"label\":\"Go To Page\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.notification = {};\n\n  data.notification.page = input.page || options.page;\n  data.notification.time = input.home_time || options.home_time;\n  data.notification.date = input.home_date || options.home_date;\n  data.notification.title = input.notification_title || options.notification_title;\n  data.notification.when = input.notification_time || options.notification_time;\n  data.notification.body = {};\n  data.notification.body.title = input.body_title || options.body_title;\n  data.notification.body.text = input.body_text || options.body_text;\n  data.notification.background_image = input.background_image || options.background_image;\n\n  data.notification.title = gs.getMessage(data.notification.title);\n  data.notification.body.title = gs.getMessage(data.notification.body.title);\n  data.notification.body.text = gs.getMessage(data.notification.body.text);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-05 09:01:41&lt;/sys_created_on&gt;&lt;sys_id&gt;c386cfc9dbb7320086da7d5e0f961904&lt;/sys_id&gt;&lt;sys_mod_count&gt;280&lt;/sys_mod_count&gt;&lt;sys_name&gt;Push Notification&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c386cfc9dbb7320086da7d5e0f961904&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-25 10:34:07&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\" ng-show=\"c.show==false\"&gt;\nDesktop detected, please switch to mobile.\n&lt;/div&gt;\n\n&lt;div id=\"main-container\" class=\"row row-custom\" ng-show=\"c.show\"&gt;\n  &lt;div class=\"custom-container\"&gt;\n    &lt;div class=\"top-bar flex-container\"&gt;\n      &lt;div class=\"oval-white-1\"&gt;&lt;/div&gt;\n      &lt;div class=\"oval-white\"&gt;&lt;/div&gt;\n      &lt;div class=\"oval-white\"&gt;&lt;/div&gt;\n      &lt;div class=\"oval-transp\"&gt;&lt;/div&gt;\n      &lt;div class=\"oval-transp\"&gt;&lt;/div&gt;\n      &lt;div class=\"network\"&gt;ServiceNow&lt;/div&gt;\n      &lt;div class=\"icon-wifi\"&gt;&lt;img class=\"icons-size\" src=\"data:img/png;base64,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\"\n        /&gt;&lt;/div&gt;\n      &lt;div class=\"lock\"&gt;&lt;img class=\"icons-size\" src=\"data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABoAgMAAAAmxP6YAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEXc3t7c3t4AAAAMiZQdAAAAAXRSTlMAQObYZgAAAAFiS0dEAmYLfGQAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfhBwULNBbXmefiAAAAkUlEQVRIx+3UQQ7EIAgFUFlwBO4zR3Dhv/9Vms5IBaEms+cvn/ppGmNrGrQ9DKB7Itz5OJOvjbjNb+RpthGaeNQe5sf6NtVPBmJhYvRrJzuEZ5GYITzXyZhojxksuszLnmpagxN7WTXNRzNf+m7srJ9M/waV/W0Cn2Hv7bq/EmykhpiysrKyo0mg/H3hYD17wy4yKuDsUYVZ9AAAAABJRU5ErkJggg==\"\n        /&gt;&lt;/div&gt;\n      &lt;div class=\"top-bar-right\"&gt;\n        &lt;div class=\"percentage\"&gt;100%&lt;/div&gt;\n        &lt;div class=\"icon-battery\"&gt;&lt;img class=\"icons-size\" src=\"data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAABBCAMAAABhCV84AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA2FBMVEXc3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7b3d3Y2trX2dna3Nzd39/h4+Pz9PT19vbq6+vZ29vi5OT////x8fHb3t7i4+P39/fh4uLk5eXx8vLV19fT1tb29vbm5+fl5+f09fXW2Njj5OT8/f329/fe4ODj5eUAAADooEwJAAAAJ3RSTlMAP/T98v7wN9/W6gUKfYeAlEcT+MoxSO8Q7blGs7IS68s0AQ0ODwY9rn8AAAAAAWJLR0RHYL3JewAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB+EHBQwpKgLV4fwAAAEjSURBVGje7dpLU8IwFIZh0CqKCoLiBQUvCCdpwFKKyE2tqPz/n0QZZMOELtzkc+Z7l1k9i0wWJyeT3dn1cNrbz2U2OhCsDjeBXnKoUEos+SMLUGPkm7YVaDrPGAVdYwWGvQikvn6xAgfR63DkvGE3GmvZAgwmvusLqKejFOBbqFw/L6LfCSSQQAIJXAGPTwrFpNMSKrB89nt0XgEHilygAy+vwIFSRAdeowM9AgkkkEACCSSQQAIJJJBAAv8xsIoOvAEH3oLPZmqY0636nSz/juX+AXQ++Nh4aiQ1W6gDTPgRMIEEEvgHoDauN1KU/5ECjD916LrJLAX4FQfOi7+j/hbgzPU6yrqxVjag+pn3IJp3xL4apVxfv3XGBoTffkPfH1wA2dfrFaEeT24AAAAASUVORK5CYII=\"\n          /&gt;&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"home-container\"&gt;\n      &lt;div class=\"home-time\"&gt;{{data.notification.time | date:'hh:mm'}}&lt;/div&gt;\n      &lt;div class=\"home-date\"&gt;{{data.notification.date | date:'EEEE d MMMM'}}&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"notifications-container\"&gt;\n      &lt;div class=\"notification-container\"&gt;\n        &lt;div class=\"notification-header\" ng-click=\"c.goToPage()\"&gt;\n          &lt;div class=\"app-logo\"&gt;&lt;img class=\"app-logo-img\" src=\"data:img/png;base64,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\"\n            /&gt;&lt;/div&gt;\n          &lt;div class=\"notification-title\"&gt;{{data.notification.title}}&lt;/div&gt;\n          &lt;div class=\"notification-when\"&gt;{{data.notification.when}}&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"notification-body\" ng-click=\"c.goToPage()\"&gt;\n          &lt;div class=\"notification-body-title\"&gt;\n            {{data.notification.body.title}}\n          &lt;/div&gt;\n          &lt;div class=\"notification-body-text\"&gt;\n            {{data.notification.body.text}}\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1971709382</payload_hash>\n<remote_update_set display_value=\"pe-push-notification.u-update-set.xml\">551cde6bdb844b0086da7d5e0f96197c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-25 10:34:31</sys_created_on>\n<sys_id>9d1cde6bdb844b0086da7d5e0f96197c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d794f9ed00000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-25 10:34:31</sys_updated_on>\n<table/>\n<target_name>Push Notification</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a7fbda6b10844b00900e92b91dd95ca4</update_guid>\n<update_guid_history>a7fbda6b10844b00900e92b91dd95ca4:-1971709382,944bd26bb5844b002a96c348227fc678:-1512269032,faba562bab844b004c93ce6ae60d5af8:-1557991241,03a9d22b64844b00378dbf9adfd7148b:-363662633,0c39d22b58844b00e978290bfe2bd523:-216475646,3909522bd7844b0006f22be8d246612e:-1157543206,6ad816e7fb844b00856680cd775e5f7d:1142270034,599712e734844b0002d920cbfb2f2906:862832341,e7471ea712844b00a0ec95bf87ff9193:-424484888,cd379ea7c9844b0078c2febd9b893c80:241157155,7d431627cb844b008d656d728279a322:1632813032,15d2562729844b0029ed6dc6f0b413a4:-1238491742,229256276b844b009fffa1ab905e2664:1029791809,f11012e3c6844b0027a5d3382148e581:1263837612,3eefcea344844b00bfb2820330340123:376042049,616f8a63d7844b00dba5821568b67f6b:1933552768,db0f8eefc5444b00017542fe6edc0072:703716712,babe8eefcb444b00dbb1ec55cd12fb69:2090185576,a33e0eef5a444b007641c458e9e3ed36:894906849,d01e0eefe2444b00cdff291588adb43a:590739148,f987961be2004b00ac4c8343b8066222:-149211266,608716d787004b00a528409895136722:1336817482,15645e97e9004b004d68e94382b3bc12:-149211266,fc541e9738004b006f6105517709edf0:1016011124,abd31e9772004b00e9a0dfa1075bfb12:1551993582,eb911e57c7004b00d8dc20e674373302:1746982411,5e31d657d9004b00dd757e4a80e0f4c5:372627071,eb115257d8004b00afd3cc885d3c1551:-2124336675,99005257a7004b0074339f6692b34135:893983223,64ff8e17a0004b004fcab814b8beeb6a:231368622,39cc50dedeff72003129ebfddc7c1eec:893983223,c0cc50decfff72003e1734138a3adce9:-1757490423,d8e2ad6df13372007f611a100e38cac3:893983223,1150a96db833720081a66394205dbcfb:-1964303445,9710a96d8c3372004d7f57a5b4dc7bd9:-1623063919,e7ff996d62337200cb4cc15fa7e5552b:-2116006031,9e1f116d643372009656f8aa5d7573f8:1658043610,61ee116d1c3372004ec55b33b32869f3:-897300370,088e516d7b33720070f0594e20b3af61:-1446986355,256e992d573372005f6e328ae9b3892c:-992011493,1d3edd2d08337200e48006d4eb16686c:1802105348,5d0ed92d89337200f32ad582ecb13c21:-789347305,60ad192d873372001c52bfee3c9caec4:1609015930,009d592da83372003682116299ec83f4:-1435730168,de6d1de93e3372006809a42ac01a67bd:-562469263,b697d0a154ff3200e3c96ac21ddcf179:-1446986355,3267d0a1d9ff320032b70c37d60762d9:784006551,a56790a1fcff32007f18981764b02f2d:2141814845,035654611eff3200aed84e186d17a7b6:784006551,64461821d2ff320048f1dcd7f8377ba7:-1646912587,a436dcad5a7f32006afb6449efd595a4:842939638,68c5106148ff320092489d38c4e552be:481625522,d185d0edc87f320060a2a4e4eff0ff3e:-1328213295,635550ed997f3200b2ae31f37ea07dff:-2033330580,bc4550ed217f3200fc0d48cc3fdbe3fb:1763611185,9f1558ed21bf3200707ec435be418128:893380899,e6f4d0ed7f7f320038f5e5489b1ff039:2110758100,c59498ad377f3200ff72d4d77629b620:-1274395660,8e6450ed937f32002acebfa1eed99bf4:-1750627903,1104d8ed45bf3200eeefebb0adc1ff3b:-1594888637,400498ad007f32001daf503de1dc1b1b:-1238108002,ada358ede8bf32007c361bc8267e0a21:1235585348,2283d46d7a7f320060e202976d78f351:1556885367,b700906d05bf3200f1770cc0eafdfbeb:-608814777,6dafc46d627f3200b7a7a61670e6c347:-290171377,933f882dad7f3200e26ba8ca496d831b:129435891,8a2f046db57f3200ffd9c875be323b5e:545981991,3bce806d1bbf320025b24cbec7f3f8e6:595531656,edbe806d40bf3200c42a90140e621a38:559320947,077e882dc57f320032a63c10976a0716:653790382,ea3d442dfcbf320065ac930757e38178:1738143344,d2e704a96b7f320095c4377d93f0af30:-526556278,d0b780a9677f3200bdc279cde2447cc9:-847226772,b44708e550bf3200fa7fea7934ca6ed1:-1872747700,fd8608e53cbf3200f4a12496396521b7:-2096358135,b183861d52fb320035ef12b193edecec:-882900071,bf73025dfabb3200d4c2999814b962b6:-973521437,6f6302996efb320070d64f5d253ebbb0:-882900071,0343861d54fb32004c7f25a5c23125e8:1058036143,ae230e1d7ebb32005acc6d4ec38311b3:-282392899,0f13861dcffb3200b5307e8af6b323e4:1929151629,56d246d933fb3200b04d71897ccd025b:32284029,dd920e1d17bb3200b2321f5e1306baab:1850818532,1c924ed9d0bb3200ed06cb06ed79da74:-1675541932,7d7242d950bb3200d3d7d324eb51b581:667938001,b171021da4bb32007c99c13275ce89b2:655694741,056142d915bb32005563ad6d57367173:150090195,cdc082592afb32003217e03e1f0abbd5:-919628478,1170021d06bb3200a15f77667019e0ae:-904707596,8aefb599eebb3200232a84b125a39762:-160089433,710f7d95aafb32003428fce5bd024c88:460717091,04deb15942fb32008feca324b103d5d1:-1833843260,f0ddfd15a3fb320013da6798dbb30237:1835823586,2bbd71d960bb3200d882072dd8c5a377:2143156716,fd7cb59977bb320006046ce52150c84f:-1872233930,09cbb59937bb3200afd19d05e48f1e57:450039512,10ab3dd5c1fb32002a3a1489e83a4a77:-300656109,e62bf5153cfb32001a9f12595dee9778:-1292455560,4689719514fb3200647a0cf681a21008:779873174,d62f1499093b3200efa7f3bbb21434b6:-195421922,a60f9055d97b3200ecd53e02c94906c5:-119835369,3e7e9c593b3b32003b96c3064ed95ccb:-1194961190,615edc55497b3200f827e8ed04551716:956739299,9b7d5415297b3200cd1f68dfd0dd4812:-1520190825,f46d50d1647b32003dbe2f46f7bfee74:-2053732260,132d90557c7b3200930a3c93b26485bf:316071508,ecec9055f97b32002aba3c61e9608eca:-1917627519,f18a54d1637b32001a5dac21f422570b:497161052,147ad0915d7b3200ecf464fb53dd10da:51071191,535a9019593b3200724b76deb91db9ac:-268653351,234ad0912c7b32002703e465c0f36bd7:694689245,060a54d14b7b32009b26fb4f41507b07:-2018590415,6e5950d1657b3200588e71be2af4f16b:-2054639139,5e4950d5da3b32000b922524ee25a4b7:802641214,0f1994d1527b3200c085b6608c2fc444:-595472515,4d199019583b3200a4fe7a565e99aea8:1268844612,38d8d0918a7b3200eb22d82616db7fd1:1288295612,26c798dd173b320056561f4d14247cc9:-459636919,d2b718d5e53b320081c7654233bf6342:279329608,547794518e7b3200cbc3fdeef569f0ea:-1632050124,2467d0d5ee3b3200df3ee07320bb54ec:1912228278,b2579451a87b3200dd3a10b3aa5029e7:-1632050124,83275851d57b3200dc149091973731ae:1718646067,a517d0d5753b320010c8d8f0d26f66e7:518512838,b7f6d0d5e73b3200235583413fc23ae3:1114789420,36d65851057b3200ac6bf865f4016daa:1052470520,d39650113d7b3200cb53eca3a061eb36:298702318,c28650118a7b32003b58095c2a9bff32:1431856108,e6661095d23b3200b9ef0d7547de2baf:-984778037,8e565c9d893b320050a3d458cf483148:-234089143,e1365c95913b3200a7759edd0d19f924:1673995752,fdd55c95f33b320074800becda40dc2d:-234089143,12c55011e37b3200a3d28bf4916d192f:-1752082695,48055095d13b320056ac0ff37bf2f5fa:545541607,01e45011e67b32008b5904e74973372b:1038658220,72941095673b3200c2e718b7376af6a8:2034146845,937498dd393b3200818acaa8f5d427c1:-1255075484,303dc8d18c3b32002f0b261c6b814cee:1373375503,e4ac841df23b3200e44c289304e5e227:-1730827329,f15c8899333b32005d572d847513af64:-1299004356,cd5c40d1123b3200d7f8653a1a6be0b0:682732327,7d4cc491ec3b3200e2a53567120738a4:1685699221,b52c841d143b3200f54d79d2f190bf23:2095134357,da1c8091593b32006a0798ecb77ba265:161700757,63fb4891a43b320042c40ebf01b87e6c:58721050,b1a908d97c3b32001a7c7a4cd8209c4c:510606894,41c8cc59d63b3200a446a85394f0ddca:469625496,ccb80051853b32008d16f7ff127c6a2d:1035764068,7f874059e23b320006b68f4c178e6c90:-688381532,6b47cc59823b3200c3029ff41fce5ec4:-266078310,39e64451073b32002dfaa078d35024a4:-244992718,17c6ccd59a3b3200bc53f47f741f637e:438028767,5a66c0d5b23b3200125acea2f7b75b19:-2010978911,85164059cc3b3200a0b0cb941c52938a:351802637,c2e54059943b320033782a64c12a7987:-1800664620,65b50811a83b320060fcc82894cdafa2:-1516188303,6c85ccd5ea3b3200fccaa0063874fe78:-2012009083,2c054095bc3b3200b42844b95870985c:1648678410,38c30cdd52f73200b2e00d7a455f0b0e:-737769206,aa14f3818e3b3200e1bf9e9049fc221e:1016173205,f5d3f381413b3200803a24ee0849921b:364326509,12c3bf899df73200aeb9118319a0ea99:-1162749620,63937f89c6f732001ba4f45a1f602f4b:992841677,8f937f895ef73200d721bbd0d63e0647:-671696188,2673bb01203b3200c26947b64e18edbb:1990873291,1d633b89d4f732005f3c694e0032a70a:544124769,1f437381573b32007b608d85a2de61b0:277431179,db137741133b3200367d87a44480e8d0:1707644524,4c927749fdf732000e4b358244ce10cb:1393448602,a1427741773b32002485ecf2df3b29cb:2114142743,b422778943f732005a5fa23d75fd4e8e:-1673989680,a9023301953b3200139607c829bebb7a:-1194640927,3af1b389b2f732005128977084959db5:1226548042,6ae1b389a7f73200abefbc5a3de2e1b1:323025936,4ae1bb4986f732004ff0729bb09b4bbd:618605260,14e07b01323b320014ade64d2b27ac78:607520659,d2c0334977f7320072865ebe1083e743:1980754827,9b7077493cf7320088389189ce400ac5:1269300564,00607b01c73b320058ed52201de15475:-413962173,dd2077cd22f73200eaf667ae4c95301c:-746157520,33ef6b01033b3200ec774aefe2c4c671:1263089369,47ef27494af7320038f9335176efd494:-1753271335,61cf2749bff732004538cd2cbd053491:-1909689781,144fa3093df732009431bda5d2d1e307:-285871607,930f274962f73200dadc3dc7ce2b4d8c:-280994401,b5ce67cdd1f732006789bafab6c94817:725411386,e29eef099af73200e5878a864bc77e45:-153832085,cd6e63cdaef732001ac6715896b2931c:1183747202,b71eef0985f73200c98e41b1e3620e40:1292612273,14eda70db1f73200ec83cc53403abf88:521792567,a8dd638d6bf7320003e5f5d13dd8d8b8:-2055747316,6fbd67093df73200912c6c2e436e9f69:390188327,380de3090df73200b5d513b9bf908d14:-1574271299,a7dca74d32f7320053e8cf49dc6175cc:-2106270195,0ccc674d58f73200a5bc9f5e537d5070:-514451730,756c6709d1f73200935d70498eecc962:-858036140,23fbe3094ff73200089067d9d8ea9e0f:1263584716,81fb638d0ff73200781afdc1be4f6cb2:-653025225,aa69ef89b2f73200686a5d5b3cd3ef4e:103873716,8a49ef899ef73200ef1fa8151126f84a:1950808650,2039af85eff73200d3e7fe4f2739d67a:243001957,ab19a3c515f732001b899b78eeb33a10:-1958965195,72096f89caf73200b9e8885964cae09a:1834106461,d5f8a3c5e1f732002ed4c733c2ee0f0d:1049470093,00f8af852ef73200291499d6268d0b76:-1164330837,b4b823c559f7320061ae9cb3d7fa42a4:-1872546185,8ea8a70de3f732007b9a735e6d01b57e:1558498788,51086b451bf7320011d03f2f34fcdcbf:-1580320081,ab27a3852ef7320042f4120b48afe5dd:1344349691,4646a385bef732007a62373a117c12d8:1046478984,b326ef45a4f7320087cea43c968d43a7:1864338290,c006e34598f73200c2a3212cbb5d6df7:1220923787,4ee52f4987f7320035ca04718a451fbf:-1241248651,76c5af89b6f7320026043991df90527d:-528447912,55b52389a8f732004764c0a3266471b6:-1719529547,e1a5e70580f732009c315fe5117d0c30:-1748856652,2a54ef0517f73200a24e131bf406024a:-1527150927,2c44e705b0f73200e1f65d5aa7e3160b:898225165,23342f49a8f73200848a79c28ea75fbb:239715795,90b3e3458bf732003459f2c2be7bf4ed:-1921646041,6b532f490df7320076b442aca59fdcb5:-1422873999,18f2e7098ff73200d0299e4b13f61643:2144210709,dce2ef05d7f7320076660056807ee844:-998229253,2b62e7095bf73200b3c4d25fd842093f:-546732608,a2b1e70574f732006a68af7d33effe03:-87208625,d7a16305baf7320034c99916068138d6:-1722411286,7b51a7857ef73200d5870855c5c3d82c:1770154427,1c51efc1b8f732002691fce741e0082b:936963037,7a41270515f7320089ceab92dd0ac170:1216887794,3f216f856df73200fcdfc6a2fcfecb22:-1939202487,d9e0efc10cf7320085c271069e189b27:-1922987759,0ca0a3c514f73200d406e14e7a0ab561:-618974375,7a90630528f732007c46b95ee2c3e2cf:646530312,33ee93c5daf73200df9911520eefa55b:-1382672015,97de57c13ef7320098004515d6be5b23:-749431153,fdde5f8554f73200e62549796cd2101a:556574660,216e93c5d3f73200ce5d59a0252f5e57:941851346,223dd7813df732003b63db6c9b351635:-1461716389,96fc978519f7320019457773d6169625:625101364,b34cdb45a6f732006bbafab59db748eb:-275475381,3d3c538121f732006d08d198ba3d5d8f:-220428803,c2db5f41ccf7320061d86250d140d844:246841640,e92bdb4519f73200cfd0b2350bf50fe4:741422798,7d0bd345dff73200b09f8afbed737380:-426241546,9a8a5f418df73200911816eaa7cb9a3d:-721814001,4e6ad345cef7320064a9bdfb6874347c:-373592702,b13a974130f732005ccf382b9f605199:2040519601,1b1a5f41b4f73200cc604476f3bcc339:724804881,a41a57415bf73200ff29710d20d6a3d1:-244920481,f00a9f059ef73200300c6797da16c1d5:1370132901,6df95f010bf73200b784ae70d2239f9c:-247555035,5cf95f8195f73200b6ca961634274b26:-1709695479,a5e9dfc179f732001c7856995a819c4d:-326330522,33195f81bbf7320065c9e6178252e622:851788350,3909974129f732000768e00a3cd9f793:1467252895,6fe81705a0f73200d991eab887db3faf:-1160094949,33c85741a0f73200a10b33917de4d3ca:426594911,96c8dfc1c5f732009560fbfa2d4fc949:443742107,a7985f010af73200666a404bb527ae97:2094643292,c5081341a1f732005f67cbc1b2b1b575:-390728320,27e71341d6f73200508cb6889fbfac72:-1455212856,72c7dbc1a0f73200a189070c1cc946bc:1784734886,8a92db8d0cb7320091375ba678d8722a:-1889924863,63f1db8dfcb73200ebdbf442a99b4f26:-358503617,3cd1974131f7320020c67da5ded0b8a9:-1334511104,b6c1df01d1f732009aca59a6fdc6b3fa:-407191112,52c1978d47b732007d90c8efbe92a1c9:-2020317220,d2a1df0137f7320051074d4fa84e67f7:-1072866901,42419b4d7db73200252ba1d785acb3a8:743482103,c94153cd89b73200603ac0addba29c6e:575717689,9331db8db1b73200330be3d7f6fbd022:-419809297,eae0df4dbeb73200002c152043e3fca7:-452544106,8d70978d81b7320046c12b71c0161cc1:1370879512,2c50df4d87b7320049181c2ea9727ca3:1631879300,c540dbcd7eb73200a9cbcd85b4f3dd0d:2094386362,0620dbcd3db732003bf6a696e3d9e90a:-805784422,ec20930d74b732007335b0cb70729497:-1033234018,410f0f4de8b7320023963fbb921b77c2:-1345294541,34de4b0d4bb7320008b1699960ed0a50:422191379,d7ed830dabb7320089e09cfa11fbebbb:1774312129,2a07cfc996b73200ca9e762d995a520e:793409650</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_c32e87cddbb7320086da7d5e0f9619d6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>JPEG</format><height>2208</height><image/><name>iOS-11-Wallpaper.jpg</name><size_bytes>675807</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:10</sys_created_on><sys_id>c32e87cddbb7320086da7d5e0f9619d6</sys_id><sys_mod_count>5</sys_mod_count><sys_name>iOS-11-Wallpaper.jpg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_c32e87cddbb7320086da7d5e0f9619d6</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-24 15:36:41</sys_updated_on><thumbnail/><width>1242</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#6e9991</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><file_name>image</file_name><image_height>2208</image_height><image_width>1242</image_width><size_bytes>675807</size_bytes><size_compressed>675552</size_compressed><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>c24e47cddbb7320086da7d5e0f9619f5</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-05 09:33:26</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>c32e87cddbb7320086da7d5e0f9619d6</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>ca4e47cddbb7320086da7d5e0f9619f5</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>4e4e47cddbb7320086da7d5e0f9619f5</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>ce4e47cddbb7320086da7d5e0f9619f5</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>3</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>424e47cddbb7320086da7d5e0f9619f6</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>4</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>c24e47cddbb7320086da7d5e0f9619f6</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>5</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>464e47cddbb7320086da7d5e0f9619f6</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>6</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>c64e47cddbb7320086da7d5e0f9619f6</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>7</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>4a4e47cddbb7320086da7d5e0f9619f6</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>wPioAhG8tkUDsKEUsereJFIjnC/Tj/m1MrbmZdDIDjggYOPmmbSJCwTjIzntWosbCKa4WBQCWGR3I/2NNXbMWTVhOZhngyxcgb9hsNh/L3q4tdEQ8phj5xtmtJd9EAMknlBFBzoXfONqpwjAlUUluQF3Jx8UtiIpNYuQcRXyLeWYPnOnnA2pe3VLq6aMH1DnbkD+VGhVndXUEiQnAG2Qe2fj7U9b2Wi6Up6Rg+9Ev4lh9o7l5aCSFQqgYwOPntVvbIgGOXbfA3O1VWWAVRz/ABOO9XXTo/MYyREtgdu5z/D70Cn5nBzv5JlXPZs85I3K7rnj86m1lLbYMg0ggYHwTWmgEYmMk++D6tX/AAZo3VXjuoE8pPsP3hRKB2JkXWNYHiZC4sladZYlCjG/xV9awMyxl0ymw+9QtIVUkzH1Db4/2rQwRBYtGdIbfLbcUzAPMHPqjtCzLdTj8v1IBt8nvVLI5OhQBgnf2rS9RmhUaHONQ07jn+dYa7dwxZCSp2xnsPegbu5u9PBbuXlkQ2+f3thjfarJY2nhaZNJRCA4zhifgd6zljIY0Vm15LbY52o0l2EhaQFgGOkEpgf92Penq0bk05LVGZb2KNdGkjHYjgj7bUjLcNI4KZbg4pK3R45UkIZdQJ0t3B4yKs3KMoEQEe2DtjJq90cuJUlLd3ByCPqb2PH3qvE7ybqPUDtk1aSRFsjA3yOKqpbaSMBRnB74pAYib8O0io7C4LjIwR9XtQ3k3xjOdxVZG0w9JOQNhVlbpGyDU2nG+5oruNOPbzAwokb4f5IxTCMuQpHepBrdlOdj2pJbhdTaSxx2+apZAN0fjDAEhiQeBQGPq1v2H5VCFmKBmO59qFIzk75Cjf8AOrJ8ylTmpLWGAIHG+Kmxh0g4yP4ioQzAqWYZXHGN96jDKhO41Dipu8QqIk4mUAkFecfNQxrJA/jXZVG7jkDA+1CiDtt7dxUlqPMr5EUSgHc9x818VWFdRPO2MVYQwnUSwyDvn3FJPH5hydlHANSaVaAeEyhdRyF2HbPtR7dIwnlsp/viosCAEznTuR7ijq506iNOc7c7VSyHdtkQoIyBpJ4+RQGLodQ4qcZAJA78HOwNKMrByNWo4ORTBtEmIc8yRnc4OMZo9sj3B8tzpGf4UkisH9JJ24NW9qo0AgYJ+r1UvvmXkNDiGtrco/pUDAq0WHs457fellDIdcXBG3tin/rEbc6Rue9Oxnic/ISTcgsaICrD4B9qgqorbj1e/tQrqSRD+yY7j22pAzFBqJJ1DP50at4g4UJ5EPdSlX8sHJAzj+tKj9oQZCSDuCKAJEkdWc5O+fjFGhaOIswagLc1NK49o/MYC43OMBtzSzWzE+ZjYj+HenFyWBABA7dt6MWC4iiyX1E78YoKsyK5WVUcDRlZFByCcj3Ham10g6wNRDe/vRGifzsofYZ7HuaFpKEN2bH5mrA2yt9mDi0B9Zz/AEp6AYycnnJpNQdQXORxxTEIIJA3Aq1IlNLDSS4bg+4oiskfokySVwQP5/ehR5xrO/8AzaoeYV2YZPf7GrZ69szV7oJ0Q+tN2yFPxTQsv2DsSMgc/I3pESSxO0kYwGxk9qYkeQR4RsBt81Sv4jQD4MXSHUrM6kMvp34oN4cqoUn0jgbVZuS9oFOzdiKrY4zjQ2+rBJPNE/UrCfdZ8RS3t1OJny7au9HWNtWrJHOw2AplXRGKDGQcipTNkj3YcDisLgxxe4sF0gFME77nigSSSDJiO/B2ploXlU8YX5719AqBdLbjHv3pNHdLRtsRiR2xq9XyeaaMcejIB1A99gaKsBwDkkZ2qTKzOgVTg8gUfuqTcD1EmgZixPpAGcHc0zZRl2yELMOPtThs8gM7aMDnOc/FBt2Mcmld17EUeMG7gDJY48RtQV9OfnFSjbuTtimoRqYl8bjHFAIVH0k4A3Pz7VsUiZA241JKELnXsD3pRXUkjVuP+Cuajkxchzz7ChpDpOleTnejL8RiKByYCSV7phHnCqd8UeFRgLjH2rsUaRjGQWPJ5qe2NQOD2J2pdxqsOlgJUAUnbbPApQANgnJx+VHLuUORk0gsrM+I1xpG+ql9RmNTUakbONZDEcGiEDyxrGCCfp5oSiUlQRgdj2piFQ2+dhkA981cgHhodANPPIGD965IFKlScngY4FfRY0IuwOr33osuC3IBOx2rTiJ28mZ72tK4QFWG4OcHc8VzypUGoKWA+femWw7DTjZsn5qTFSCBjVjf4+1ZixuaFapW4l2Hcd+2P6iiOurKuNOM5U7f+aKxDNgn0tn9TQnP1s+T6QD70LRqn3Ste23aSMY0kNj2+39qOIrqZs6Rg8Y966AI2DKWzxgbjemg7upiQjGOD2J+cilXcNmMTijKN5bMNzj5+9HjtiAdWnY5OTnY0CNvKIbGd8YznHv85osVy0coA3OP3uw+fmrWSyYwABgRx+o9snG/euZZAFA33yfmpCQuNXK+3ffuK+UKq5Hqw2/581oVtvUUD8wIuF4CszHY5G/3zSx1MAh1DG4/802kjIxY5FLCOSX1Lwe+54oi3EPGdsLCCG/Zg7Zye29NwonqLjPx2NBgQRptuex5HzRBKGOkbcjIPeorRRN9SbSRg5G+2M1GFRIwLHGds+1BCa10kgnY4/ltUoxIo0FSCTge1CreZaj2+2MZWI4HPCj3/nQgh3Z8Z1bheRXNL6gCSSW59qaC5Yd8DH5+9Ex4ldfbF9JcYU5U9q4iBCTj4piMDJAGPfavpbeQaSrbONu/8KWOJQbmjIvKjrhdgdiaD+GT/WP1pqCPy8lxqyNs/wBaF5kX+hP0q90EcdTMnSWxuNua+TBbc19p33Ofevl7+nG1PnVWB1MkmTx+tdWaTVggke1fYGQBgnuKkDp2f8qHmGQKnBIcnJwfb2piGdVGG/Uml400Nv6u/NcIDdt/ajW4JAMsHUPpNBWRoSVIyKFhkUdviuhtXP1d6K4OyWUMiqgxk+1DcFGwzYB4pSKUL9u1NCVJBhtiP5VcQEo3ALIdWOxqYYjOW3HFQkeJR6N8cn5oWsSFSRQrGKti4xFnVk8VB2ZjoI3oihTsTyOKI6BME5qcwSRJwxKyg4wR3ru4OjWSp4z71OFg5HYD2rswDHbHp/rRDqLH5gzn23Heo6sbAZ2qcW2V744oYVdXpOCB3qrknVjBH1bd64F9JOf3qiBjbc/amYXwASuc0F3INwkULn0gHIxuaOV1+rYH2roZS+kZ/OmMM2xIAo1QXcUxO2BRAoyudqgzH9eRTWsYBx+9SeWJJC537ULGAp3GAKjcgc8bb1OO1PJxvx8Cp4V8EfV3FOpJGU3G/vVbbjC58RTQNOlsA98c4oel+ATgbmmpCjbhd/8AVUMu/wBA4/jQDmUpg0OoDB2527UYIzrkkH3/ACr5Y2bcg79/enYYgTgqRjYg0Q4kbIIKGFXUbfnUSjBiSuVHNWLIFwB39u1RULoOc+riq5mffF/Ji0AEHb/VXBhML2JzinUAkXRnI9+9QkjRdOn3xiiu+oG/5iYLLlhke1IsTjJ3BOfg1Y3a+UgIP5VTeYz51j00lhU0YRfMYtohK2+ccnFWQihWMs7cD052qugOn6W2GOKlK5fHPzV3xLcEttil2wYYXdf03qsdCw15BwOMHarCVS4O/DVDQ2lQN996SQWaa8LbeIC3k0qI8ABhjerayA0hsBiBVMEyWR+cjGKtrENEw0jJBHPH3qroysnViXNsig==</data><length>3736</length><position>8</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961978</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>9</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961978</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>10</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961978</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>11</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961978</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>12</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961978</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>13</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961978</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>FbZLURRKp+PVxzz+tI39klxajGxHvx8U3TpYsxuHXWaHU80u7VYgcEssmc55G1FW3t3hSSAFfLVFZW7nuR8Hmru5sGbdBlVxv80uYYra0Z2OXLDbvVMPE7OHUgqADKJbGSWRhEAQg1ENyQOcZ5r78JoAY7dxj37CrOGSNj5wBUqcgtzmiDRIwxjT7EfxoAoXqOXO100pvwzlwTk7ce2f7U/Z2frIJySBtVjb24aQKv2z33qwjg1oqDGEPOMHA9/femIqtM+TUnoRCGE+WzRZjGME+47j7UWO1jeQgHWuMhlGRkdj8VdiJRCUIONtQzvg96FbvGpMcQxpOknitOLjiYjqD+7FPKDBSYx9ivB+/tX0iBwoTbA4+atyokVV4PNKpagPl9xz96LzFLl/1QFmhBdPV5jYAUDIIzwD2NalLCeNxb3KGGZcZVhgkVSQxkNlQQVGfYitra9ahvFEXW4/xEcYwrr/ANRM/I+oU3CBu5mHWZW7XqUgjjjYsw2XYjjf/wAU1LZ3VqscssflRTY8plbLbb9veiSG0tYRLHJqdiyup39PIIPx3qBl8uURzHGkZVScjffP2pynbMNluuo7aq1x5kdxIxyuWJORjtzvQoelzBX8tNuBn935NKdNuJZ+oP5hOmTZnAyAPmvXbSzaGy/FXEStrULGpOdZPejXkTJnynE1L1PMLGFfXFIuqMjdT2I7/FXthb2sXRLiLqas0DPmIlcDX7ocZz7jire6tUYvP5Q8zGMLsMj4qkje4m6bNbFmQwSalB3UnGcY7ZpybTFJqGYccczIXFrgN5coIGcAZzj7Vk72NSYcRnAJzjJ3r0BQsoWRQNTHcHkH2/OqjqLS28UrxRAhyDgn1I3GftWNwDc6+i1JDTHw/h4bkCdWVWbYDkZ99qASscjb6hk4PGoGnp/MuEWZ5CTkjON80SW3DCG3w5LDUFJGAe++BWYX4ndXILtpUiLzYvS3qUE4xjPxmg6CvIKk4PG9WM9p5Da43DJtsDkg122iWZiquAMZOo+3egs9RiuFFjqI6G+n1bZoiqEK4XSSN87VZGEbJjK45G2KEsKnK5JA7HkChc+Is5bik9kEfXFncDYjJFJyEyTtI0QXVjIUYGavY4gDgd+x5+9C/DxsdEmNIIztUXHGJnrgyqmt10Ko9JPfnFLRRIW9W5xgew/SrW+RIwiA7athj+tEFqI8NjAYAEf870JUdS8eb2+6U8sS7gYAYe24qsFvLC2rfTjY1fiBjIEYZJB52/Kk5lY6SQVG4O+/6UKrNWDNzK1EfSGGCBtj71x4dizDAPGKd8ptSsPSuwzjG1TnkiK+WDkatzjinrjEcrcyhDumMb4Y7DvTFtrdjkbexpmW3jjChj6iMjG4/MUOGJXDAbEbjf8AWlgUajGcEXGYJEjkIX7Hf+VTlmUttk7fqfapxRRpgEgnge4pWRBEzMMlQd/g1Y9sTQLRZpihEYHqzk7YxXHH7MqcFjvqxtn3FcwQGkf1E43oNwzjZSNgDn4FXumhVgoULy4JXcDJ/wCfwrRRwOEEcP0sckMcNkZ5HaqyGI28ayk6mkGwx7cGmrNn1apR6mOWY9yfejxGoGU3Li1U26qxBXPf4qUkgcAEE87/ABUYJWVF0tjAO31AH7VGSXWDoA3HA7Ec1oYjbOaB7ooz5PGw2H3qcI1LkbE7E0ADPznen7NQRuNhyTsBWVo1mocQItfLYyk9go/nQI0M74ClQD+QNWjt5iZVdSqQR2yT7e9Tt4AjaozsGGRnjalbQrRQy0Ijc6o1bsApBI/nVbKkMiIhBcuoJ32xx/OrbqYVUZYzlmIG3fP9AKRKpGwY4ZgukfAFKy8x+BuLnY0jVUT1BRjHfbH9Kdjj1SjSTv8AwAoVhpaYyEDK7qK7537Y6OCcHsarEt8SnJJpY8+D+z5wScjeuDPqAOwGxpeJXk1AHAXcnjNOwRqEUHAySd+wHFbVpeJmPtgYoyI2du4xjHb3pZXGdP6D7U1cz6JGgjw2QN+xxVIDKHIfY5JbbbeshY2ajcKbhZjqhdYKtgYOQfepqpK7b74x8UrD5jngHHvT8chjABUZcAH4NLVye5bccSMZKKxIyR+tKmWORsqBqG+ewHzT0bDWVQbHbPv96r5IUlc/hyFOTkdsCnLk8SYRzzEWDBs/fIPcUNsyYXjI96n5IYkkkhTmm4o0BzjfbntULe6aw4XqAhiIA1MQTt8fFSRXLiMbEHf3zTsnxjJ7VFIxEok1ZZmO/cUIJUcQN/c+kBRsSnBI3JqBfUMA8cURwCQXOps4/WjiCMAAZ3/hU077jzFBx5iCuxYJ3FSTZwpGQW7V8YgWfLA6WGKPaxl5Bgfnmn4+4TsNsFIqplt/tSYuF+kZ70zfAxwsz7nO2PmqZUZz9JoWHujdOoYXJyXMiIGztgg45xUkdlSL15z79vakljMnp43Ix7gU+qh4Y1Q+rfI7bUkN8TTtC9SMk7k4Pvg4r5ZDHtyBwaiuOfn+FTddchUY+fbakEndLUDqGSdpgA4GOwG1WLLGF0yt6hufbaqqMIsgabsudI9hxmjxO9w7EnBG5/OtKzOUs34jJtlLahnAGwobyBf2z4UAaQB3I70aK3uGZwh5GWOewpCZdTCIbb4Y853olAgrV9yErtFhyMk/SwO2DUoYXkzIxCJ3z7VY3FqjlY7fSUUAE574qDaBEIG307YPsaAAKIe8ET6ICPIXAxvvx9qNGEADt6ctwf3c0gyRggYLDb6TuPmnvw0ukBTqBIAPOfg1eHmKcCNacqd9gD+hri4Oo7ZwP0zgGo+hQSc4xsBQGYlwAfpJH3x/vUKX1FKL6nywK8hYkAjP6+9SQLHq0D1D23+1diUZGdjjOD7DvR8DOBznb70zHY7lbvE7FGyMWnOsYzjtv7U/E+WIT6cDHztSYAxg7AHemoriEfsywB7UujuichJk7i4YRtqXQOM9z9hSUaeWNZGkYyoz7+9HX9q4MhzjJGfjuKZkg84bb6QAAf4mjxH4ir28CKCPVpB9I7mhYAJzue5449qcZVKIeB7+9B8nILHc+1AD8w1b5gfXj6jg7j7UZJApODkig5OogDGPfiogAqdWV9XtUri4Sw6tkkgbH8ql5h+f1pVhlgc4yBv7ipZHt/GpuMNUPmY0xhlBPp9XPb9KCsCYxjc/rTjAldKkDI/OuwjgNtt3FdAgTsq5iP4dgwVs0xhgAg3PG3amiC3qXjvmvhGAMcChkV5yBDpyckjbvTPpAznBroCpgHOO59q5KMLsDimTMTcGTnOWqagYC52Xihqd+NqlGVZmKZGOzbZ+asX4l+YJwS+f9PGea4Ax9JHfvRlwSC5wvuaYUJs31KducfnmlqLhB6iyKwBAGSNiP60xEwRgnK44zg1xMKctn4x/euCTB1EbD5ovt6iz7o3l1jUqPnmvrdn1Etvnt33pUzFiFJ77famrcMTnHpHGeP8AzUxm4tloRoR6/TnDZ5+Pap26BJMHOTtuNqBl2OUGcHn3pqORg4zk9yKJfdEtukNHbVht8D3qSMMADcAc0aYpMMbrtgUiE0ksCdu3egYwF5jWlmO3tR3t1RQwGf8AVkUK1lV9iMD55FWpjj/DgiYmV8jR3UDvnjehiXemlQFjVSvGDk+9IuzF/fPA98VcMoXlQTvtVQwKEHCnVznbA+9JYx+EgyaRiVcn6sVwRtjSTz7/AMqD5rK4dMKPg80RpBnVgn3J4qLG7TLK3VcBsQ==</data><length>3736</length><position>14</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>15</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>16</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>17</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>+9MSW0yHBBdiANuM0rfwyRhYgpjKkKQRht980JE14GFgAxPUiAsSScb55okTMBgHIJ2z88fpX0YDxlSMMPUD8ex+9EtYmlkKkgaSMZoFG0x5allz09ZQmHX0tyR/P71Z6Y44xpJV3O2f4ipG0NvhbglSyBhjtn3FCih1t69W+SG+PitQXb3OWzgm1M+SwubmaFVDHzWCoQM71Y9Ns7uOWW004dDjB4GDjvTFpcB44unvKwggbzQy/Wr49/b4oFtHe9T6mY5JwskjAFiNIOruRRLtVeJkdjzfUtnsp1kXJD+nBKkHS3cH5q3tsx5LbZ2xVbZRtZvNZXR8r1HLkZww4wf+6rC4u44QIWYHIHrxkD5z81G4nJz7ia8SyguSkbpC+Gzp045U9x85py11SXAEVwPMTDHUQBhfasRdyXUeVBBjQjBU5AbGcA+xqztLV4baO7lDJBPlVOec9qbgye6JfTAC56LJdxyO0kDbN9LDGnJ71V3sjojNqAYcntSnS4IY8QFikJ5xuMe9RvVJVxvpJKjI5FNJ8znqPdUoHuZo7mC6eVldQB6f3hng/GKldiK6WZ0UCQZ1A53U8H4NRNuW04OocEEbj5zUrLMl28FsczYww4VgNz96JWPRnSBqiJlGiyWVdsDBDDP55oKqGRYJP+mrZVeMn3z2q46zBLFcC4RTHHMNWD78YHuPakoYtB86Yghhgff7VnKhWNzqYctrcYt+npc2ouY5NNzbuFYNu+k8Mv8AWidUt7aCOOdHLyts6tsQ3bB43+KDYtmZomJUMdm4/I1Lq6280OuXWhBUfUMBh3zz9qijj8RSEtk2nqUcbWzsWkLFgcYIz/bigyh4nIt2DxyAnBGM/qK5DaSNA97BrYRN62ce/H61yUXEiDSQdwcg75NKPtHE6eOgauZ8OyTalyrdwODTwcuWjPvnBqMMKvK2rLFTue+ae8hncyEHI3G3I7VWObXyqvUpbq1CYJGNXFfW1sjNq04HzVlclnOnAGODvke/5UkmpYyjc5yD2OKaAF7jFcstSqu0j80CIbHv/eiwwgJnOSuP41Ccs1ySgxsDt9qag/Z41ct2I2oMR93tmgkhQojaxbpGQpJOTv2xQ0iEt0MgKurZc44os4yVkHtgge9cRyE1SHJ2Gfv2ppNzL7qi/UypIyR6ucdhWfCRjJJ9xsKtrmTUWZxkjbHx2qvManf8sexx7VnebtNwsn0+OGRtXqYLuwxuPbFXMM6easUKAlvpJ5BPx2qqSMxKPLYjVnOe1FKtG4cA4Kkfl71WHgSZFUmWMcYOUfJKHcD6cDnmqm7cXDjy9iDgEnBHf9KtIoHSAKNzJlueB8GlZCdhInAGCBg70RP+qJwna3ErREfNCEADGeeD/XNXlhb+X5hYa9Q+kdj+fFVyIZMtN/0xuD324qwsJ5Z3MT4LHGkjkj5pO7mMyMdvEjEnlkoMhgSSc5/5ireLymhUxjLnZyRn86FJEqNrPqK5GTwT7bV9DcohxgBAN8f84o98xElupyQQhtI4G/qO5NAeTCMVA1tnB74NGnLSgKNttjjj+9U8nmaSpbtgn2pJIuHhTcOYeMpggAgY3z/OlhEfILSnYNqAHH3rhyyaVYerY43x70tNOwRlUHScDOP+bVDRmtU5nLSNZ7prmT6dWB3GeN6smZ42I31A4+MUG1bYJpAU77dvypnQXZnAGRvj3BpZxgynb3c9QQuH4B2Jzn3p+Ih1ZmGcDluMnYbUhriUhD7ZwRuP0xXclR6TqGe/uKzqxU1FbQeRLJ5A0cagfTlT7nHek0tvO/bHAAOcEe/zUIdepVPpIGd++e1OQ+gEnO2xX+VO3cRS2vUm0SvEoA/dwVAziq8whPjOOKsoGBYtjSCarLmQu3oPFKYCpMVluYO6dSCEHAxSNspKkE7E74ozr9JY5BOcfNDcv9MYIyccb4pQap0MIoVJfh0k9S5wMrtSayMkjKrbYxkcDHxTTt5QEUZ+n1fGRVdGsmoADJY7t2BP9KvdDxL2TLe0fUfMbJBwB22Hen1Ygam444znFRtbXQgVlwRtsdjT/lhFzwMZxyDTUFjmYMji6EqyC7hmwffNH9SgtjiiQMNOTgnfajReWkRbUNR3x8UxcYhFoG0tyNZBwTjTnuTTojYsASPTtU7Uq5Dt9Orb49+1cuJlVuB6jkY22ox7RMZdmbbI+UZgTjOP4UNYREmoDc1OKZAvBUE5OKK6ozao8qPbnOe9QJcgbb3KtwzNz+9+VCMZ1DQd+47EVZKkQYgjJxyKdhtoWx6hp4PuD703GAsYM22VdtE7ny1XPqzvt/zFPeWAozvjnPFHWNUZlBxvjOKscRIDJcHbGDgdvtQs4qoh81tK2O3KAHGMg5+39q7p2OgHAPBPJNNRSw3J9GcAfvVPEeC7Y2OM8VabTFhz5lfIjRqXYFUHOP7VHhCyjIO4zsMkc0VzKyswwYhscbiglmClcg7YHzS9sLDzFpXxGUPpAzvyM+1KxR5CnfVn/hpt4GJOhgAAPSfn+tcijZYm2BIIA7bmlkGaFYeInMWQ+aTnB9PzjtVc8xmOph8kVayZ0rETvkn3wfvSZjL74AH0n7/NCoJmnAfmQt3eQ6eAASSeAKsCwjXSAdI5zwKRhiIGA25A/wDwascrFCRjIJBOf5fnSsgo1KbbdRYnU3mHDj/V2/KuWr5ZGUlTqJI9xjG1TLK6HyhpYEED2B/nR7SPYtgAgjjg47VQ7gAgLUWnQIWaPccnP3xScB9Ryd/p/T/arXTqjOnc4225zVeoEK65Bj/SB70TLDwP7YWE5YYbcnJ9vzorHROdstgDI9sf8FBiQsNUx06mowCl1BbbfcfP96bgc9QePEXkLoxdhhcYOex+KPavJbai58zVv84ofllvQCCq5yCeaIbcxRLKmSucH704OVllgRUcNzE4AGGAAG+xz3zVbc3SudIbSOxFAfJLaxuTnPuftVZO483kDt70k5rFGFptOLsQsDxG4aRmC7jPyRTX+YW//wBo1USOGO3A/SvvM+P40hZ0P2ceY4oWVfMyFKg5B749qftr+4s4WW3KgzLpZiNZVT7UlEo04O3vXY0IUhRk4zivSKaNwT7u4xI0Tkon7VQMBlBA+/vXLVoomCyqJMDYE4BJr6GWS2kGjbIG5/e/2riqkgcM/rzkDsQKFwbuLB2rUXKDJXOBk/8AigpHqOM4w33NPmA6ds57jGwpdYmcllBwoyfj86WVO6NUj5nXj0jDc0WDSHUlcr3NfQprHq2x85xUok8sg6TzjGN6tfmLZvFyyEaBQ+AR7Hnf4qOFRgu4yNj2xXRpZiyjGPfn86hIuoBmJyORjgVFb3TMO4QtrACDIHJ4zUF8t2C9sZ9yDXFYYwCGI39jioqSu4XPzQryZYAELoCAAbaudqnFa6zrQ5xzvUkV3cb/AFZ/Wo+pOAR+6O2aonmBfiWXluMKcZH57UpJHCWyGyQftU7ViGOokAcE1L0MdOfuT3/Oj90UAVgHGFKqc4pThsNvtnGasoQr7IRxx3rrABt1wcYpUYG2mVWC+B2XgZqDbMAAB/KiytokLLsew+1BjJLZODmr3iaFB2xm0hdmYDarlYfSPMPA7b7iq60yzBQducVfaBoC4A29qFeZhzvzUSYgKN+PbY0u4UrrjxtypFOPGDHqI0nV+tF8pXVViwrEfrR7YsZNrSl9QGp09J7ge1cGkthj9Xbt/GreWJDFuc55Hsar2A2IQae+Rg==</data><length>3736</length><position>18</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>19</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>20</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>m3S2vcqVLrJ+3BXT/Glrp0AJIJYD0kHjNWFxFqAyfcYqojhJDiV1BVc798dh80tkM62EqaMUsrn8PKwVAS6lSTyPtSiJmTde+5puOFmZpcgBFPPNTs0MsiRrhm3O22amNTum4EKbgYF/a4GDvpBFQvzmbSxwiDAx7irBY5NJkk9Olscc+429qorsESM24Vjke3zROKl4aLQSorbYJIONvenViGnTjEmO45/OlIiq5kXOTVhCTJgnHOSByKyqeajsjHsQlqHjxq20nUM8cUPpyDzXmIKnff8A5709KYwjMd9OMb9qRKuVaKNSnqzvywprbYoNclZzOrXE6DLt6T8Z22qUMEasZJs44G/c+9N2kKwxPG6Zc7jPGD71GR41fQFJUYO+2SPb4pBMWr+6lisE/wC0JnOcjH2BrtvKxZj2PIHNLyNk5UAZznuRip2rZjbRu3xQRjY+LMs1MUjCNxkADfGPypY6UJUtjkfAzxSTmTG5Ixxv7UG1V3dnlJY9qm7a0i4j2x4nRNoyAAQ5JJH8xSrHJ3Od8fNPvbllGkZLYP8A3YFVbwuBqIO5A/OlNkmrAVg5VQI4wdQOQeABX0BfVhDgnGPbA9vyqBKxzNGeAN+/HOacskEamQlXEZzj+1ZWMYxpZZRXWnTFkMvOrcN+dXEVxELcI5wz4LD29qpLeaOWULONIYjBXsD2pl47czeXD61XYt3FacOQAXOdkx82ZokkjhjXhWBO5PuP5VXWKLNraUhM50n4XnH3FBu2VpzbxtkBQAc9yK4zpaKFL5AClSduRg0vLmJicePb15isskKbsPTggYGOP7UI4tydQLBgNLDdcH59647qZF1sVKA42+o/2FRupCXXScox1af3T9qx4z7rE0oviGhGlSVzhufy9q7axFpN92Jzk8bUC2xnbIzxjfenrX0h2P7u+/c+3xWhRulMKsSvv5THI0aE6tPHcE1TNEVUrxIe+atnQPNqdtySd9sChPEQAxI32Hc4pTGatOwWqleieXkNuSeacSCSUhCo5DE54qKK45OQTnOOatI5hAnpxqPuffn2osAkyZCeBI3ukHykVRp0lidicjkYqsJTUFAPv/zeuNMzpL6t2Gck7/lmgzXAYJIw0kAbqP1yKBgN0ZgxmOxsIwwLZB2OK7E51AAnA+dqqss7eggDGR8j5FWFoucnckjbP86JZMiBRZjaSvqIVdhRbc6ptcg9O7EDvQ4oi7bnb+tEtiwYkAgjY7bGqVj+9M3HiNmUMuE3HsDxXYrnQuVUsO+P/NIPIEyFwpJ7VKIKGLSb4YYzxT1bmKOMFZZrcmQmM8+4/qKPZREMzSHOcYHGKVRVVdR2/wBO9GhkBJBAIPP3q1f3TOFoUISd1TOcnLb1Xu6Mo8vLM4K4x7Und3LSSYXZRttvt+VNrKkVurMADuMDnP8AClho1MICj5iflyK+qTAIBOfj2+9PARwovmqDqBIOM4z7/equZ5ZEwSdTnJ3qMk8kmASTj0++Me1RkuaVx7gLjERtSoYAgLye350CQxtIYkwAMknnPxSsLHS54IPbuBUHlG4X0sw3Oef+ClKlRq4jcMhU5Jffv+VMqmYwwAOM/wDM1Wxe3P8ASmoWPllc4IIIxzTh3GOpjUTawQSIyMYwe9XlqQkQyS51ZONtX+1ZxW9R2yAQcexFFe4cejJxtjfHNaU57mbJiJ6mikmLIdOQSBvjbOc0WJFeBQN9LHGTye9U1q9xGUA7NkKfirCO4MyurL5YDZXnehIY8XMOTFXUHJBOjDyeGPB3x7/rQriAwnQdJ7/rTaXMgmEhw50kLnsB/Wq43Dyyl5cZGf7VTrQqHh3GKqoeTb0tq2YDbbY0RQwXWSScZ2HA+1SJeONnBwWHvxn2pYNJ5uUzqHJxkdv5VMNA8zQDfMPGVePRHyS2o43y2xNfPbRwYSNjrC6ifY/l2qSLM5IPoO4B9zXyedr3UEkHdttvamslyKTZFzloiMVU+k6hlv50ZwWJVRzqwQdqLCYnZlYH1KcbcEbfpUcMAQwwW4x2FBdGmir93MGIxCGUjUCDk5/lVDKiRu4/fJJwdtz7VdlT5SiHcoP3ud+SaoYv2kufcnAPalOQW4mvTA8mFtV1EA++RWg0H2H6UjZW/lqzTbY3BPemvxdv/wDaCqVQYOV+ZVwujjVuR3pW7JXSUPDdqc8tlXy1xhjnApOQIqkvznYfNekj8PLSELvC0cropLAldW4wduP5UzbzxI28azHBwGOAD7mlZISy6ywwO3xQoFV20rnJ4J2FBuK8CPoHsw8khcmQDc+3H6UOB2Y6dOT3z7VHEscuxz23p6AFTqI3/hQEXAG1ROQgAFRj2IPNWcETmIvuEXn4zSflyEljgjv75okLS/Wx1Y4U7D70HXEQ4J5Em6FBkb84PagAAr5hIA/WiwlvN0uQQWOw439zTkq20HlwxSLLJy4X6R7Ae9CRA3bODFVd9guMY31VKJRqGBhRz9qYECswU5GaKIDHyc4/jVqpPUBnEajRWHqwcc1Gd1RQPy33/SuW6j1FTjVtg8VMIuoKcfl/Sm1xUz3R90CMadSnYbnHOPmnIUGFZdn9uxBrgt0jz2Jx+fxTEKhQNiSP4Cgq25kfIPEFJEQ+DwORXxtmZdR0/l/Knt3bVjOaL6MEDOTUZZmGQq3EqoYxCDsTg5496RldvMA/1du1Xx9Kdzg8dsVTSyGRxkf7UuOxNZsw8EYXS6jPuv04P3q6ckIDg/2FVcKKPScYYDc9qsXZni0M3pC7fOPY1aH/AExGU20BrIk1Dg711R5sur/T/poAVUU4bfbAO29di1I2pDv7Y596tWBMgHxGQ6pIdOnVnJ9jntU5EMqFW9KnHHuK+WMj6V1bjBxgCmC2V9Q9R/So0U8jFJGFVWBxxXEtlffg8bjIx/TNREbMo3GePY0RI2jYZOcf83qiIsfIiFzGysq4KAN+tCXQXYKSFZthV/HEk7hWGCAcZOP/ADQLqyAZdB3xgAUmj4hpnH2tKjRqAGdOARt/OmIrRVVQ+VYgbdjX0NvolKkbDYgf0qxtwXnTA2A7bgY4oBxUvJloUI5DbhIggAOOdsZ+1caInZRznbg/+KdB7agQBkmg/UctvjP3omA7mBcjWTEnGVCkFSBjI7n2NWEKRlQSufSAQMYB/wCd6FNHlta8kDO3b+WaYtYl0HbLe/fFTcIDMCsSuLaN21LjV7f71T3dssUf/Tyz+nJ7D3FakqgYKDp9xS9xD50WmRidPDDtn3oYeHOdwvqYm5hhZlMMZUKAHydQDDv9j/CmLRzDAWUAsDpKH6l9jmrL8JJ5hEQYgZJzjYD4qtkB1YQeoDI7f0GKSqrunVXIGFQ8UhKerHmbZz2+PzqGUQk6TpP0g85rkAQeoktnG4BAz9qL5THcMRvk/FCu1YqwpoTq+VIqsVyedvcc0z6MhgduQv3qMflhCBnIGM9smowaiQW7baRvn/agUlWiye45Z2yTjRI2kjgjfNH/AA7QlVZTsd//ADxTkKqigJsR2/t7VwzCRCrHUB6dWN9/+bU/dxMTMS34iLqCusNspwTzz7VNVEaosik5yAucDvvmi9Mt/On/AAxbWXyR77Dt/WmhEskfmHGBgY9iNqpb2+6CcoB2zNPCEcOQdWcfbIwN+9V8to3mkPhsYyO/9q0UkEaBmkAKjcDOTmq/QS2nG+/PB32qEToY80rZVMKoVzk53O5GKG7+coCHHuc+nB7GizwjUw==</data><length>3736</length><position>21</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961979</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>22</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>23</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>24</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>25</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>26</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>27</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>28</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>29</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f96197a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>30</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>RWPdfMWij895JHJzwfvXbi2AXDbHOM/aur+yyAQPf75x/GrN4ldll/dwTjtxvWjEAFjS5U0OpRrAXUx6Rkg4zzgb1nYzHK08iDCYPq/1fArSXLSJazNGTqk9K6dueP4VkmKxIIRn07YHvWTUEcTo6LcbMmQulSre+figwuVLFRgkcn+O1OpGAh8sgnYb/PNS8kasjnI59sUhgZsDgcGDiILj2QE4NDiZvURsFUGmFiPqY7BcZ9/ag6Dkhdskgd+Nv0rO3BkXaTAPLn1s244xXGB0Zyd84FEuI0hTRpPmnvSskmUUoDlcZxyCazuR5jF2nkT4OsTKBvgj9KYtlUTlx3pREdyDsckjb3Parm2sp5H8uM5XON+3uKtEELIwAoyMkrIuFbOf5mgLOdBUjLHP6Cn760EGkZIPGMdh3+9CgtE4PqJ3zThQmfG61cDCmMMgxucVJ7KWdwEy2OTUntwuNMhRsY/SmY/PB0GUKG2yvNUrqWqUCRyJT3HT2VvLcjtv96rfwMiOsYOzHAP51sPwRMgZ2L4ABB4+5rk0EJlAT90ZHxmnnaRDXWnqV1vEqP8Ah2A/ZknV/WrkKXAbAGP3fyrNzXtxHcspwuk44rgvZiwZpDjjnFJwpzZlNiLe6aHCr6QR6ud6E9zEj+kcDcUvFmVNbgnPGKm8TKM4IA3HvWrfXQmYKFNGT1INzjSd8/f2pFkBTYcnANRKyStsMA8V2FjA2mQ7E8HnakglmmhV2ixJQ24UKG21HAJ2OKOscXm6UzpX+BpC8nnlUaTpHG3OKnav5KaTnW5B54+KvbyDC2krZj11IxOgD0YwcUh5bE+oHfink1SAuR6tW4PeprgERryWFOADRSttiIRiMH/V+uKLCAoJGcMePajuDGhKDk9/ij2aCV9JXbnalcK3MLeauEtowo3BOphg/wA6ZiVtfrAx+6eaL50aqsYAGG5I/wCc0fVDjzABx/Kpjye65hdj3JxqQGj232wO1Vc/7WTGBge44+9XMM8aRsQu5OT3O1VzprGWH19+4ArQ5BiMLbTZi8CvC2B9LHkdj7021yNJ1oQexX3FBjQhNt8bfeiQgRtiVc6RwduaLF7RxC3A8mLrK2tmZiPv3qLvIwCjbO5+M+1WP7F42ZkIdzjI4A/rtQrW2LSqxIwoH60zGOLaWMgHMbVQlshcHCggltjv3+9VT5ZPxIUAZ0nPOaevDPcXLYBwNgBxUk0wRtDKMppwCNzqNZshB4EXjO1g0rbbLDdckDSD2+KPZdPADyMVYE5Gf707DLFHBuugk7bfO1cLNKXwCgHJXsPtQrDOUnrgSnvf2hK/uIDjHf4rL3EvlgsSBjjfO/tWmu5VigdOSy5ArLCBrhwxwDp7dj8/NAzTq+n9WepPpThHeeXORyfYsdsA1Y+d8fwNCW1EUPkLj1MPUeRT4gbA3X/8I0axztuNxX8PoIIO4bf5rsqAoV0jDd88feiJJnvzzmjrlFy+wIx989q9AsWGKtKmO2Iwwb0gkgfamYgq4z6s7g8VJoJIyHGSgY80XSzpsMd6zqu03Glrh4hHn1nOB2+e351K3j1HGrQSTk+w/wBqUBwMrgsDx8dqtLWFpCJZcDI2HuaZj9xmR+BZlzFGjxqgJwNs+/saBKDhioOtAaajxp9IwGwSPtVezku2nIBOR3yacPbOfh3GEExuCnnHOnGcD/xxRoraO304k1HcnIxkUBGlIB0c9v50/FhoQTvvjft9qFT4jHO2RiZGIjAzrB1A8/FORWwJLkBRGAfvmoW6hpVkXAdOQeMf7CmZWeUnUuB29/j9aZdCZGct1FmjdgdJLj2GxFDMceTgkHkDFWECNjTgA+5NfRRa3J2z/p7nHcVQEBX2moGBJUAYEqw4A3AzVrayW0utLtdGcaXXlWHuPY0tGh0nTnJ2x70Py2RirZyBuKutsU5DWIS6g/D4niPmxMdiOx9iO1CtbpXy2MMNt6HOzu+EJVlAG22w3z96beKS7C3LKqzABSqjGoY+v7+9JJBaQKAoBhzMxi1dud6sbVFkh83TuVxt81X2kbIp1D0gd+BTqI0LHJIAHqA+armJcjoTjxoVUkb+3xVXMgMpbYr+mMU/JOurfOdvp9qReJrhWbgDmqbbK09g2ZXatwMbbj7ZoAi1yBRznBxsavYLP05xuec+/FG/AiNfMJA30hTzxnP2pDDb1NP1vEpQrD0kAYIJPfHGKet3Y3G2NEagUN3BkYHYBVyTvnHb4qOl0/ZrsSSSfjtUuQe77peW5XyyOM7g5xzQJLSQSJIFO+3wd6semwJMVibBO3PtWh/CRxxj2OAM8/8AitCgFZysmo2NSzPxq0emRfTpBBFAac+YQPURtjGc+9aWSzVhrTnGN/eqN0AkAcDUDjb+RoXJXgReLKpNwkCuiBlO2AR7igSNIUOod8gjvmrTyiFCA4I2xwTQI4hIuScjjGPakqTIji7MVjjjSRdJ1AqD+ferMsfw5KjK7he+M0H8KEUgDnj7fH6UbLFQdBUAfqc0e6LdgWmcdEBUYyeSeSKRlhZ9ZYEZGx+auLhNEobOdyR2P51BU/EKGXJxnI+9Jm3FloXFraNRCBpOVUd8bVbWNqZkDSDQBwff7CkANxFISNxt9uaubdc+WQToH0j+tMq+IjPkPcrUgEU7rkeWfSexpu3gGh4ySoXg/wBj7Ue4h0N5x4dtvc9wf6VXG5KIyncZ3AGCD7VezniLBLCAvVDxZj7Eg42rO3DrGCqnXtz7n/ar+adE9HYbHPueaqpYYJR6GxnfI9vtQuovgzdpTQ5EpVuJY5UVSTp5HOxrRWN9b69FznhSrdvzHuKldRdKltLBrPMN5F6ZM8Ng5B/PiqOeJkbWEwCx27Dfff4qujYmkbXmu6W8X4iRNOg4JG/sQd/fOfyp67tpPxbzatnGpRt9J9/sRWPsLyRPMwVVwNSlzvlMbfOobVp7e5W5twATE++kNuBq3K/2NaMbbloznZ8LA7pH8OxXVnbsON/n71VXF3Ij+WSBnnOc/lTby3Ea6Jhg4J91xx/SlUTzAC/BGTnkUlgVNiTEvzGYp5b6JrZH8tFOZAdlZAPqHcHsQPisuFEk76chFOFDDDaRsM+9X1rFGysRnLA+k/8APin444y0qlA2tcKD+6Rjg880PY5jsbhCdomctrdVLZGWB5xyODtREkaKQKN27DG2PvVg8JDMzZUtk8dxSiknS0m3p+//AAms6qVMMZd3Ji9/Exg1gtqzx7g/2quEx2KAacDYDOMc1YXkz5AbKqB/4pK1OlJH0/QB9Puc0LrRuacIO3mO21o012rk4yoOPYY7ZqydBDhONif7Un02QAeYzb4KEHsBimYdUpdnyTnSD20+1CqmrMzPe7noQ9vCGAY7k55qrurQrM0YBOBnPGMmtCP/AG4QD9/bBxig3eM+Y3JH8B7UzJiBFRGDKVbiUSt5Ueht0Q5AGNvzrO9Z6kZkEUexzsPge9XF5Mtuh3zq3K9yPt71mIleWRg6gl9x76c0O34na0WIE/UbxM9DdSO5EoOdR3xn9RV1B6lByQQO4yTj2/3p5ekmV9WwO4GB/CmWsNP0Y25z7d6DGhXudLLqsZNDuBsywj5IHfPcfNWtoiNJlowwG+3cVWsksaeZhgqDO+408fmM05069TSxb6gCMZ7/AGpxI2zE4bkrFmtwkzPGdJLbDOGH519bKUlDLwcZPzX2m7lmE8SDUhx68b0bPlkSnJBBIUcgjg==</data><length>3736</length><position>31</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>32</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>33</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>34</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>35</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>36</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>37</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f96197b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>OwxVX+KmfM7ERxJnSOS7jcAY4+arGv4ICFmVvVkgqf0BHtmqoXekW01uSsiOzPg5Bb3+OcUnEwJNzr6XSGrMF+PZy05OHfOc/wDPelPMdiAMYO5B/nTn4YXTM0ShTuWXIHq76fcH4qtaNs4QkdiGG4NZcs62AKOp8rLoxncnttmn1mJgIY4yMAkbUG2CRErMc98AZowkJOn4/Ksxam5hubMFGGdRrzs33/hTsUQnkCqCxYjHwKEuVXODvsTxvTNtO1vEQiqWbOk9x7705Ynd4ENNcwxfsFXOB6iDuCPf3qK3E88gZjrXAAXTkGq5VkkfLeonvxVlaxmZgYw2Bj1Dtj2qF/NRJUKv5n2VKkAgYIK9t+4oMpLLpY49Xc55o8qR8ocvnf5+cUgzDJ1qcHbP2pRIMmGjzINiPYHkbnin+nQpJl5SSAM4AH/nNDhhUKZ5dwRlVbvUEu1caGTy9uSMn4x7UHMN+RQidxqCmKPYatQ1c/nSsaO5BYbLxirb0zANuWXfffIoawDVozpBB3+eag3eI3DkoVEDC/1qQH7+2PbajwsyyaidA5Jp4INCjudj22pFodey5G5XI3/nSHFGGmTdwZbwXCxHUhztuQQf4+9c82SUeYBnGwHvSkUIRARuw7N3+a+edhNpAxjcY/pVzIuMX7YR2jVhkkAjgdqPC+dxg+2AKU8l5O3I2okEbLhUO49sfxpikS2AqpZPqjhK7hRuFzyf7feqklncmYnA2OB/QmrVJ4kBGrVpGWJ3yarpwbqdUP8A0wfUTuMnfI+1C73xFYB7uRDWoSWUaf8AooN87fwrl9dq7GKEARk4UHv8nNEiuIFIit074AJ3Y01cW9vatmZ1LKM55/8ANAQNsokK3IlWlmxQM4O2BpG+/wB/anUntbdBFgFl/wBPcntntVfcXk83/TYrGdsDmk7Xp1y7kudA255IPP8Aw0pfbNKrYJY1LmS9LquBuuw+B7bUiZNUgUEMPg/7VY2NvCsxQMX5Gccf0pW/lnSQWltEVAG52yxJ7UxonEBu2rDvJMGXLHQMbfu/r3NI3n7WVZDgE4UHOf1/vQpXuQwgkzleB/XY12NFkfAByBkk7DFJyMBxHJj2m5FUKevGARVrFczRIUTCgrn8veo29p5hAYHJ9IHb9K5OkKsyLkAcZ3LD+nzQgA+0wmcxUl2Ofp9OMGmIgNJ1AgLjfuCaOkZYkomkH05Y52H9aaTWioudKls54Bb5qyQPaYlmghCGBO/7PB35+a4WCF9RC754/wCdqKWy2Q+pydyR2NLaGd2dlKoxwT8ntiszNzUrH+JyV0kOEXAAzqJ5/KhWsCTuDwqsPzxRVt5HZtthnOobkD2/5xT8dq8sey6S4ORwMAbEU7C6jiUTUrruO0SNDCpDD/u57/w4quGFjBODqOT33o8kEysYmySNhuD23/hUWAf6FAwdsfb+VaQIWLbVGRQa8lTp2HA7E4qSW484rwQ2Cffb2qMfmKAqE/YjG3/O9EkZxliWD/b+v9azLmCwwD0JGceWrjfbGTjFCjiGtcDjBI+//BURJLOgRjnHGBz+dPiCSKJmbIyvwScDff5qNqRxCA28RaaUahiPB+kj5qlecLJ7jYHHxRVe4ZHnZWwDgHtt8nvVYq/tHbOw4x3zWbFkLNNmnxBV5jZJdtROM445phXyAq7YP5/ehRRqBqbGecqO/wAn4osevV6tvVuCMVux14jHjyZUnO4I3z3FQBKAMu6nbjOanuU39ODUIJfWFKlxnseKZvmSiWgQGwGUHB41cGpRzupKDA9Qz/Wm3kXIttlD7gnt/bNKrEwdVYccn2H3rM+SxRjlYdSxsmQMpxnLcZ7DvXZWeViW0hAef+c0GFAhbSdtOCTt+n3oxj0xhBhtJyM+1Zq5uDuMWR8EgDWS3PtRokPqkk29W35+3zU4ogzc5AOSGHFGU68caT6QR7HmjUA9QAwE5LuienfG2BziuqgXLAbjkH2+1SljfIBBBHAzzRYsCMeYBk5Cn296Yg5iGaDUFG0/H8D3qGlw2rOU4OR2puRXfRnthcfFcuQNCxxA4Vdyd8n+laFmfd4iWjzPpOTk57bdjS0alpirb85PuKsYgW+rGRnbjP50J4Gdogowe5+KHI9LG42O6NRQraWmsgmSTcAHbB42ocEsz3C5yNAOd8gZokuI2WIHLaTnPI+KDDlmDP8ATuBn4+aystibFafSho5vNL6ww3/p+lKKgllbGNRzjanY4yzaB3zudq5a2k0rMxU5XPHYe9AgqX2blaQ0JOV3UYLfel1coujdQeSeat/KT1/iAQgHYc0m7xLHq0jUWzj4+aEZKNRmI3FhG8Un7VSFYHAxVVodpJHO2ncU1+KklVdTHSjbd8Y/pXAVPwA2+e9Ku5tQ8SEOWOkbauD3px1Chgp3Ygj2/Oh28YRmK7kZxnjNGjy2rWcAtxinK5/dlLybijMxOx0k75+Bz+ZpURnzGY7AH+J/nT8UZbJ2YjipLGJIsEkqrFUK8hv96yqsYGHiV4GkF8cMMULC+w/WrWG3UhUJJXc57/8ACaH5Kf6DTlUw9wjR1RlIhjPxUDIygKAWBGedzj+dHYs4wSGViAPfNSEKq2AFUkjIHcex/wBq9etdTlbgO5Xj6w/+sDYDtniiW7LJuQIwuM5GcE0yIpAQQxxkEADI+1fCJzlc6m+w7mrpVhbhAxApICH1KQCQR2Pf71dQOSokH0gfV3GKU8rRpVgTjfcc0YpoYOMgNhV4xnt+VKNGIcgxtMYwpBU5yOxpIRmHGTnVkg/NWHlEEZPbfB5NQCKYtB5HcUoe2ZcbfMlCXyoIx81axSKpEY781VWz+lEkyWGwJ5o/mbkqd/fnAqBqFxLJzUtYdITnnmki+MqnHHzQYmZsM5wDj86nIT5i6SBvkj3+9F9SLVdpkNCKS5Y5Gwp2G5ULpG2BzSaqzygjgkjH9asxAiqNQPpGN6iHn2wXrowIfU+gHVjsRg1dxoj26BeSMYHekre1MhByCAM/nThykWx06N8+1Ep8zLkI4UQSmQHydJkxlgoBPHJOKiCgKuCRq2JAz6Tsaj+PRIYEgDrdRs2WU8o3GP0oEss34hY2IOvDEjGM4524zRNk9vtlqp3TgjYyMEOV1elvemI7W41jSMjVuRvV30631qdiQpwp+T9+1am06eiSK+jDBSf70WFTt5mLNrQpqZqC2dDG0Y0sAAoxV6wxhsEYGGHY06sIjk3XGrv80vKGD4UagBnfg4q1G2c58283Kgow+lSV5+5paXVHnXurcg9qvJgkYBUgo2PT7Gs3eSB2eOTYDYkdvkfIpWRh4mjDZaU19ahHzbsHibB2OSvwaHZyGz1YK7kEE/HNPhI2OsDyzspC8HG3Hue9KTrGu2rCqCCcZ322rLsAnTXICu2HTq0obS+PUQQBxXTM1ymAp3yAPc/fiq54NMnqOF2IOM577flTobQBDtyCNP8AqHH2pa5PmX9NVNiDtbWSJ2L7HH5YrQWkqQg8HI4PI96ro3URhn57g9uf6050+389wCpAxufkU3DY6mXKd3LTT2LM+cgHO2KnNZrJ6Zk/e5ocZKDRpxgb/lVrFJgKwIzjH3zUsNMYG2ZLqkUVuqRpsRjb2rNa2jZmC5C74/tV/wBaVVkQk4Y7gE8b8Vm55QSFTdiOx7ilfaeJr0ouCkmVGznSuMjHt3/OkZ7j8UAmVWONiM4wzBjjb3xj+NWcfS7u8KxREF2XKrnB3w==</data><length>3736</length><position>38</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>39</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>40</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>eW31frnPFNQwO2SMoWB78UWJHj0/vMRgn3x8+9LNXcU2WVdxAiTBCc+/eoxW7OTpAwG54Iq9itozKNMXbOTTElvE7KGA4zn+VFxBGqrhZTwa41KEliDjAFPxAxgNKd+SRtt7CieTCRhmx70jcBEA0glf4k/arJMAEMZ2e6RnIjyEzz33o1vG50liWGxA96qVfDgqOeARzWgsgHRZGHpTcduKVi237pMi0OJBwEZtWGkHGDgDPFIAxx5yg1HnIzv8VK8uo2k1pnSew5/Sk3MsmJCMZ4A+O9Xkb4hYcfkxSUPLLt6s/lsO1dihCgs8Y421HP8ADFfLK8OWYHI5bkgfFFWFZTqdjjk43Jzwaxhvma72xHyjJITk7nGBtv8AAowBiBjUYwN+2afiiUNoGQMZBJwMU4sMMY86dRlVOMcn+9X7u5T5vFRGzR53DONIxgZ+Kbe5gEwhyCEGNuMe33pZGlcgqdROMAcYNOnp6DSiAgndjkYz+ftVKCRUQ+0tcrZGaR/2jYQnZfj70BYiXJwNK7k++P6VaQwgymMDOn6icH8x96WubgqzRRjMYO+f3vfNMVdvMbibmlEBDA0w8wKdxtkYyfvU47e3hYJMdbZycbAEfHt80wLyWRFjRQiAHBqjlQLKFRzgjfP+r23oIzGC3fEf02XmNHEATECzvyFk2OogYJ9gaIq28ZzGujK777faq5TBDBpbJmY/unZVHH51GNJZWAO5PbIOAfeluPM0KPdwZY/io0UiBQGY4zjfbue1ThlymnTjO5YnJ35/KgQ2oJbWdOnAA/L4osUYizpOV4ztn/ekMRt4k5nbiNEcBCWG252zigqmmTjY5xvvk9vt71bw2uuLLsMuOMZIA759jQ3gwo3GW2AHxz+RqsOShUquZXxRsjBHXdhsSOP0qMuWbUMoq+2OxqcjqsoVCcbgntnGx+1fQ2zlizHRGu5J3znstZcjWbM1YVA6krXzVykZODgnHIYj5paZnO7sQMYYd8fbtk1aR3MoUpEqoFycndjkds5xTtr0trl/MYjSgywYZBB7fcUelzbQRMubbuBmZtZDHDLOsbGRiFH+x7Ad/wBKtAt5gM/ofUCQOwA4xjYiu3tt+HIKKpSM7HO2eOO+fehWc8kmUkZl3BBz9W3GO33qKeTUc+3bLWytNbq0kgG+B/qx8/yqD2szuGjB09ySMEj+WB96r2kIkUlgAFyccZyTkUwt05AjiyoO+fjGc5/4aAmorCl9RtitvELdM+ZKRqZuNA2B270CO1dMsjgKpxqPv8VyGGScgrkhsk/kOPzpeZJSfJw2RuR9u9ZMzzZgSupYWyj1shBZPSc8ge5qukvi751BYEOylcHK9/tS8RD417AZ4O5+/vXXieaLREQAzZxn90dgKVhFxjdSFxOLhldcMMBvRtp/P/hpMFcYxrIJ2B33+ahPGY28pvfB7b++2KSkBRMA42PxtxW5W28TPjS2nWkUsc42A2A2Untn3pRHCn1HBzxz/KuW7knQRtv9j9zR4rVDJrceld9KnlvvTgxPRj/aooziMclXIwP1qHms2Mc/xpuXy5CIwAgLeo7DOPamBbw61GDvvq4NaFdq5iywHM+huPLiG2dzkkd/9qUDOcamztjOM7fNNyAfiRFCNQHB57b5oqiK3kMbkE+ncHuaFG2moPA6gYUlmYbhtOOf7VZC1/ZnO2+cClkj0yZP1KMgg8UdnOUD7AD6u+/2oiDEM0nCpVtJ++WorKJH247H3NFt1ULu3Oef6UcIE3Jzq7j3+1Xhau5kYxOIqW9YOgDByN8mpRQr5gTlWPY5JFWIjRFJ0nJwTpH86kuiKU6dnYcZ3rSp9sS2SCEAfRFGoGCWPwOw+acu7uC3hSC2DaTuW4Ofb7UK2RjLp1AsOPfHzSF2483ywMacg523q9gP3Qlbd1AfiFEh8pQgX33J+aTIaR8EZLbcA7VIDV3yw7fH6UzZ4JUIfVnIOOwqhiAXiPBqWa6kQwwg6QADgY3+KWtUKSsZDzsAf3T96KC/mNtsPy396UjYmXW2cb/V/SlxaNuNxyeQxwaNQBO+OaoVlOdWCzHbBPvVjJdMp3GoYI/Kq52WV8r6SfUfiqIPc04zAYcHABQNkMw+K+TEaEk6SR9Pf8jRHbICg5A+OaUKky+o8Z39qUQDNWORbEYz2O2T2H965C/tsQfzr4rkes+nt3Br6IN5gU9/jfn3oVx8XGh6HEs1JUgjGo74PHzXwjZ5MNznOcgH7fnUJGMk459IwAOaZikQSkEH1DGMbbdzS9vxKxsT5i8iHUQMsRuabtYzFupOphkE8g+1KRalkcgnJzt9/arZNFqsaO3r05xjsN6FVpuJC/FSplUebpHfIAJ7dvtSflxe9WWA7FyQS3G22a+wPj9KekCcEW+R2Hv+n/muQq2CNIeNV31bUeMnaXHwMjOMbUcMUUnbOeK78zl67lfFAoYFWOnPp07jFRaJ8lcZONj2I7U7EcsQODsMce1dBEalU2A96oPxRlK/MWjJKaG5FTA3UE4O2/2rq51kYrp1R/Tk4b2rOp2mRzPvVkA77duajES8pUe38aPvw2/tUhHpTzCeNiBzVwN3iQCszb+4zntTkKlJMEEHA37UNW9ZKerVyT7e1WkMLMmog4xVqvxE5GoVB58vQvINNJMjReUT/Dmp3WCEaMYXA7c0kYW9LLwO39ad1MqkHiW1i4AZeGG/xirTzvKAw2Wfuf5VU25xu/J4z7VYvqEZK/SSCw9se1Gp4mLMJIv5ZWQDg4P2FPW07KzNnCuCuRxhsZBqtkYDSo/e9Jb+lNWTlJMEBRjGPYe3tQxDdWJ26a7kuozKfNwAueNk27fFLwzNCR5pKumrB+M7Vb+Yj3BYAJtxwONqppFEkwEeADjYDOMGgBCtIhsURNnZztIi786ST980leBjII2OQCAcf8/OqqzleGJ41IwpPJ9RxUU6hLNMrpsDgfrnf8qs5RXumddNtJIjpRAw0ZwQd1PFVV0zxpqU4B2IxnYVpra31rlidhx7Z9v61UXRUKkUq7LyR9P+9A4O3mVhcXRmFuDI0hkJ99h23/rVrbKGGqPlvTzvmg3duGDFc/V/A1y2byyiDclhuNzWdaDTsnaV9st0j04CZJbAOdhtTrxpIitgenleME/zFFszr+sbBufb8q40LIzGMHJ33rQo8zmh+aMWjVVPob6N8HgjvzXGIIKDG45G5XP96JpZsgggY9PY1W+T5cggudXluc6l+oA7DY8gHc1W2FiAJuKQyyJPHFHC0ivnSNJydOTt77imhJDPpHK5z7VUC5u0mRVkZZIidBXIKHuR7A+1MxwF4/8Au7D57/3pKnwO5sbGAbuaCC2hljDqw0g537niui3/AA4yrZXOB/Sqm2aWMBNQwNse/wA1ahSYwNWcfwzwaNZicV2YC4AKFQcBjjfsaz0rxBwUbSybqe+R3FXTRmJ0kb16dt+MHviqQW4mkZpNpFzxwVPtQMRNenIn1lMyjSPUWOfVycn+9XlvcOVXjUD/AB7/AJVTQL5becikKOG22zTv4jQ2YP2oIAJxsPn4q1b3Qsqg9Qkz6mwSBk4z8+1JyqIV1sNPfY9uKZlVVPmN6s4U49/6VWSPrlJB222P8RTSB3AwrfUc81yhYqQNsDvvxSuTj1ZBGcEc+38aiLt2YE7nhc87f85rguWlWNHyGXIGf5UFc3HbI/LAxhiKgkquG1ex+KRLHyjAEy7HAxvtR45SQg==</data><length>3736</length><position>41</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>42</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>43</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>44</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>45</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f96197c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>46</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>47</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>48</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>49</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>/wA/WtJCyyxFsbAYAwBxVXf6GZcZVse2350tlvmMwvR4lHFGTFpYAlTnfbakEjW4nYjAyTnOwP2q8cNu2MHG2/8AP+lI2zaUkDnDHstZciU02YWsEyFvECjPGyjTyp3qVuFaN2Iy/YHihx+bGCunC7sGO5PwacRh+DQCNnY+rbYf3xVYjXcSAT1FLm8kUaZMjV6QdiMUolu8kvmPpaMEAkd/nb29sUUwSMXedD6vpbP0542p+0jMMecqSO3fJ/5vWrS7V5hDcoqAuLNY3ZSFcDAGkcZ/kDQV8yFwiLgZO53HFNFsHWToxk5H9t80pFA0kpeSQhj2bIGg1q3CAoa+4HzCsWonLMSPVnbH64FHtcIjSR41sNsDJB/p96lLEkMax+YVAOcHcn4oQdZZdcJK6DwNt6Sw4jkja3Fw034eP68gAgfXt3ycfpVvqZg4QAqi7j3YfffaqyynCOQ/IfVgcsT2yKt7llSELGuWZcAcFT3+9ZbN0Jo2ysnj8yLQWUEDOCe/z3qv8h/9ArklkVk2Oo7Fj7e9H/Bn/wC1ahuWDcWJWNAByRnJoraDpfgj2pVQAMHY/qKPDHqbDZA+K62IX3E3tko2EkeHXGN80u8bthhuQDtxTohz6ixC59Od9vkVERmZmbbkajwADtn7VbKIKtDWoiYAvwB+6O47UKRy8ulAVQYO4GaYlQWzG3AO24fOQR7j4oEcLOwJIGn42qqI4i19xhlQOAuSCfYf2pyKBMKX1L6tyN6V8ttBAxkdxRYfN+rnGML/AM71Mft7iX5sCWFwo9KhicjNTs4hGocalxvSU8siyJGU9aj3zqBq6tEdovUCVIGc74q+24mViVWDczvb4jBG5IA3JCjJPxtRIPTZ+bEjZZsM2cqcfHY1braLbhSCWUA5AHZgRtVdfxlbW2t0ILKMs6gqMDjUP9XvTgKsxG4NxKu/1XSIUwrkjPcgAVWWqMRokJLj1cZH+9WchDhlVihPGeMc7EcfnSqGOMgyAA5yAMnPwTWdT7rmvEaXaJbQKpZSOEHONsn+9QDukgTAGe5B7VLzpA7tpWNmIOkE7DHOaU80g6mX0779jUIrmZgtnmWPnrrH+kbbZ/lQrg6AXyRx/wAA7UG30OduCd87YpmYRm3VQAjb9uaWTcsKFYTz68SX8aSynHtnPP2p+xg/EZUZwo4B+P8AemGtYyjuf3WAAz2qwSNIofNhJKkcE7/GKSMe03Omc20BVmJuo2hBMedicY4x/UVULFrdSzerOTjk1d3MzxyeXICM5Bx3B/5vSISNpA2kY/7eBn2pLDcaE6mnbatmQhhWRwhOFPt8e9WiKYmAh1HSMZzuTzzSsMRjcHGdJOoj2psEnSkYyxOMEbYPetCoO4ORieBLi1b/ANhIfP8ALSRkLoeCVJ0nYbY33osXWHtR+Fu2UFd1Ybhwd+dvypLp4jTXHIdAdSoI7/eqqaRbqRLVwok+hWJxrxwGJOPsaYWNVcwrhBY3GYev3MzTJHlIvVzsx9znjb2qbdWd2j0sf2YG2/57Gvp+n3FhFNbdUsmjZ1HlMScK/bg6SD3pG3swSJDnVxtuD/tSgrKajRjxEcS1v+ofiQkMCAZADHG+e33xVuenMlm8kRJjkClh+9nff8uKr7SCLztRO6jc44NaRFjeGPSdJQY249/6U7CgrmYsubaAEmatrRPLKlAEGB84rh6elrKHtwdBB2XcjJzsDVuwErLnIXPfOfcZosTo2TL/ANMbZ98dt6S5ANQfrniupRXM8pUKXBUjYdx8ZpGUejSAVJ3JHz7fFX01pG0jyRLhCpyc7/l7/wBqpZ7WSN8SqVC8ZI2/rRAfM0adxVCU8ckkZOvB35781cWUc9xKHRcL2PHfg1VzYOAud/bP5VofDqFXDTbYBxq/Kpj7j87gLc1VrFcPC8KbsFzjHNEiBWLQ2NQGCT2qxiuI7UrLkBGGGHGRVddz2zP5kLADsAc4PvinP+J51dxaLPaNtGcEseR7VXXVv5TKhw5XYt7571Z214XaQIdWnj4FQktfOw/I+Ns0taPcdicr3KGa2LxsdJ9exH8qpoIjBMY33A+cYz/WtxqQowGxH7p349qw0s4urxxkINxuewO5o/pgToaR2NjxHYwkhyGGoexznNcVNZw5xpzsK+t0QkNBjSvOTkmviCX8xycDg/7fypgx0sdXuivnYyigADfLcknsK5FEHy7HUT29/wCwrvlBgcLhgDhm9jRYgykFiRkAt3wKrALPMZe3qSj8tdwAjDbc7Z9tvenbWAuRKxwuB6s5JqrnZNDGM50gn07Ak8bGmIbiWMADC6sAA9jTAm03FupK8Sx85cLGCznvgc77ZoTKASznI1b9sY/nSQMgkd1JXSMnAwMn+1Hkkjt00yEnVhj8GjLxK4tpgivmTBicKmSO53oEkzsCzekYHO4/X4oU8wijOcsznIwO57DtXbBHkQlyVGPSCM6j3H3+aQu4txNONNoswsIWRTvpcHIbPK+1WsNu3mRKg0yNhlOec+/zQUWOEaSo9W3q7Goz3AmRbdSAmdXp3bWNv0pgG3gzOW3GhFbjWJpI5PSytgg7fy96mBoUBfUy9sYJ37UtJ9f0gE4/7iQO+9WNpaSSxOVxojbUSNmwe3yP5Vaj3cQ+FXmIx+azFcAAMck8LTkVmToCsG2yfinhGqIUTBHJqBdIx6W057jajAuZ/qE9QdvFGrky58oD1aecj2+1TEzMvlq2EP7vA/3pWe1vMATq0MTLlcnGr5o1vEuAWY4X6R3PzRfb9sijyxh10p6Bhf44qOsDIRwMDfPc0EQKu4ycnnnNNxRKFIlwckYGO44pYFRfA5lOIDGS8frB4zvmm7e3WI6pVyzg5J9vmnJJIYgdZAwNh80vKzbYICkD9D/WiaPDkjbGg8YiEgzHjbc7E1yEKUChsE9/vzSSxSyya3JEYOAG42+KtCqRoHcYUfnUUGJfjiLSHUdA9TdhXIbUxkyNsxPpz2+9HhzITJnCjj3rgnjaUxqxLbfNRouyOpKCMnJHpLdz2o6x4UE8+/8At2oygljIQRgUWIgJ6cgnc96UTB3xEwFjqPpI4yKJHHpAIXB337imHPq1DLY5x/aiDOdJxSpNxiYiIKlxjPJ+9TKKgLufTnge9SeLXgk7ckf1oCqzlTwqnC+2RVrXUCj3DQzAKC+2PpBpSa4kkZlgzgjffbNEkcyN5ab45/OuKhi9eMnsO+9Vt+Ixdsk5VI0Qnc7n2qJBZhvxxXVjKqhkbPxUGl30J9A7j+VOWRfmTRo41GTt896XXW/Jx7CiGJpJTj1KBgHgU6sCYXY5J2x2obvmXuA7i1vbFm1HGM435prymUc6VG+PfFF0CNwCQSePauySR6cMSQvt/Oq8xcRWFp8yPkDGw71EmO2UADfHp+KI8zf/AE9hjalI4JZTkknVzmlMDGY22jmDijaRdbbA7Dfk0wtumcbjHJ7U5FFGHCMOF2qbDSNK/wAKDEp8yHJ/pioAQAf93GdzU1BVS2CB2xzRoYUZvMPK8d81wTpEcvliw2pqttiezcUQuT6gAPn+tQVHJzOdOTsFPailmd9WMAnP3pkwGX1YIrM+Q+I3ELgmBVQqbCjiIBdIyM7k+9HhttJSQHOG3zxRY4ic6Tgnj4FKVjfulyvCtpGnYnk0ZY3VUVRq1bsfbFMSRFVX94+1QkJBCx76cbn39q0INq8wF5MRluAriOMZzyFHFTlR2ATbAGdtx/5osQ==</data><length>3736</length><position>50</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>51</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>52</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>53</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f96197d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>TosLkRnuWsIgFGGv18JVLjuHPWHBSF2zF8jj7uxfhlZr9qt5/H2pXib1nbsfDOYtWm1mUJwJf5uRb6mhFCqCy6Lz4gCUZkWpEPczt20p5A8TdhWD9Hj+9OQDpdPt13i5rDBOTMbmK40xig4c1u5Bt23UuLsDytHri8PQuaFelPS+UTTD5Xr7cvTF/oE59wfD/BFjd+4L+G81sZTXyocK6NVWfwZDmSkSTvqhy62EezoWhSrMg0vDvAuvfBM32rhV3r9MJR+eVAnW0nzGWyw5WNMOLPvJrFd3ZUyHpc9YpMKQxMdRnTY5Pdp/nnZ99w2TzNsmDSx5TGvULUGQoHs51Q3A7LTyQ7hzqlr2ajqZv1bBt+CKqTfIY6wIN07Eay5s+BxZW5vz1ERSSkqxZtz/7r27LgTl0LVz6+dsQksMFNSn6rjIBceD+yHanALitB2EXdGe3c/oVg0PPpdIGoMVnSkk4HbXWkxMGtjTepSWJFZxf99W9ZPBAVf6RtBs/FFGSE1Y2hJHZ60n8bRu9xSGPMFl6N7xKtNf6OfyVM0cZxfwNQLidorik4F2rmbz4yH6DIMCWJVyTSR2bDJHSorO60Bs2rABAp7v3bStjRzuP1wRh4aRt8uIdowW/smC9c55tW9UWMwHIDDVT4Rt6OrZJ7ivMR8/3QEahfW7QqGkGTJiRXlT7M838BIZi6oc2qQysMxu6DeW8KSgZgQwfkBzL0k5y8aTgxPIx2vXTbVO4fI8lkruyxirNfkX9OKu+DvFxS1QksYEZaxX+A95d5VCe1uLAoxMk64ii0wtxb1RNdkT1WY4QRpFJWQdpEzjwih+vwzHPaeeTi9VUBc12x4n/2czAzCJopS3EXRJ4j3ZP3hY7OD8lqAEy971KThmM+6bq1f25kpjvatJ3LHxIneD8pH0qW2VmWdX2XDuD0b9DDcrSlF9CI1KWpzIj9wILivKoSQzH7KyfBtcj1We5JSeMEFF7A94PbUx8Xv/hi/9t0/nqusdqCuz6TrJ2krf6T3h1ltVZnsRl1+DDLa80OSibsJ9Z3tUBCL08PvJNSulufsn/C3EZlSX2XnzrigJKWjL7W434LYjd/K4o25nIhcsbQPOcIEhS6ECQk5bf0ESW46U2LOT4kQ3itm1NuL7BTrO62yC+wU8rrxGOEMQ6cmAPbFmNq2fWggQOynBga8djI9V+/NR8+zlD8tAqGkOFR/vgBU6KEpDX3HkCQJm23k+v6lmdJvvQR8PxkeTlQSTgbcQkIMnU/r0xRtW2BI4I21MWiYzJX3t/M6bvWpCUjq5gHPKn+DPpDfVfhUUtAQGmkLW1vatMj7v2Xxo1TPdfYlSnT+sU0GlA/UDGWD72StFz4pcrY3V+lm4fKhkB8cObFKsXXsZFD1EDASmuY9youyBaUfNi9m103u3/PbtThWvn4XZ8xWwkwXAe383PcvX5CcZzJEyDYz2klGdVdIV/48hiZn5qXrM0KyzODI1n0TooGBuiQe/mpeCNCm6M09R2q0dG0/5T/INk/Nn/q4sZ7+gO5s6uPT6+8MaKDJ4lXpSb/I+ZdkmQ3rILTMcWe5GS7e7TCMTHdVkDsiWrevSqRtK5/rgglJFH7R8uDKfDK2zl0niVF+Ixg8IhS2q/OcG4JNGYf19Bhepo4xN6ZXd8UctiePm5ckmtTTvSzjCCjQM+TRmosT+tEV1Ldnds4j/G3yFzMJu5GNCT/fEVxZGnPL4qq5M1cQPXDwyJ7O1MA/BWMFyacS/gOajkaMlA1i/amz00xLDIULmD+TyAtX0caSqh2KbNAeyVxphzAWfkL5ic8tATnerEtonoPVf63H66GivAw3dwZ4pfHkQ7LEMRSoDwAYuELmRuWky9iGYQcbf27Kly2TTRxzAH/J90GcO83z5++Jzj6Mxd5cHdc5mgmW/o5qKPxc4+2XA4om/vS+MIXa+viOGNX+nMvBr54t4FYy/7lnBldLEt7FPNU3vSFcc4kgpXaKjzliLbLL99Z3Tes5cYjKjfeZsDe7bUj/WifieRgDh+WBH+sOqvqxRbsENsJ4Lmrvk5vn18u7jJcIFJmS+oIBysUZ36eqxfsjH2IjMNFdh2y9vTvvBhAvzunT3J7WIpP2lkAvigJCOl8u3ufeQVAZhUl898Mj6pU36K8Fan6lYumqF9d+3bZweTQNTFvPjGUvT/xVewFHawHbzNkeq+KgtxZL6StH7d8XHXLdKh8TNWf7qNYj0dsg7UCXWSO6GznPSf7ezO4nTSkuPW8KCgQQf02+MQaEkplmBVD4WnRFp6OwQnO3KqkiWNyB+bd0mfz1J9G1pVk3i3m3YVylrMXe/39LElcJ+P7E3tsN4/t758HZRTLfQEi+z2pFKgxaBnXKJNtKqp1V2kGJyrgWfIc6ADVtwieJjClSUD/DNhsIDKcL2TCOOrFneSJ/LkHOZqozagnYpZqBr+be5neI0/iDicf+fFcgbfNgucl2SjoH/XWinLJ7ZxYVrOgWk+cv3nBrvVLdFMm7lat4AGkBzeEoRIrTHwU20zrpdMFaG+tEGfTcU3L3B3AGZB1xrlcJt5W/VJqHO1OUW1ZmWf8IoDgc5fdUUb6EuL2H61Z5fcufofXOimr6XQmsDtQiC//BoicJPHrmn2jmQifn9IbDzRZRjhsmXY9u0DmjuWTLxV1iWHfuAlQ80UnQ3JnLQjcO0GZzkhpcRXF/CxyYOZ85zAYhM5MH8Sp59QrK+jU00iTJTyCVypK1OwqlUg+qwgZqY3hlW699WY2ljIImO3K3hYjSbrF82HRUF+Ydi3c4jFx+bDen77a1LU/Nsa8WNginxZ/Ea0fzfKV6B4ElGxbEpPiFW23OjPIu1b3sZRrhirBLnNPbXeH3yPqXcfxJnT2ZVLT6YQ+X/N5WTNHgA+mPb9bF04LrfDWCVqP25PjFXzMfiTn/uw1s2I3OEGAJRL91yhaHGVQOAh6gvNPsubvYr3seS5Gb3qKlhHDb0l/hUYg1OOH8UdfpiDQVLGxGCOmKUwbvfBs/rXUyoogSzj/3SE2nG9NLDQMob5YRuRxYZpLeC1cdD9cclCWdpE8Mcr5pyBn+YzEHU1lgh/IWunIiYrZTnY5V3r+4NXy/+cZPIA65Fk1znkY1fVFL5YZiJp41NlZoIJJq7CVadWxGD2Bo00J7g06K4yH4H10iGbVHKdlS+wLC4kGrI1XZyptqYu2HXVkrKzRnEe5aJPeKiApplx8SKNNflXF6uIomIAInrKkoT2daURUZUOdXEODn3TJyqho8K9w1A/PU33VtUHY2DiiNEi7xFI76OPtTqwzCHB/HIilpmomaGgokJI3kKrsSZwzGB0jYbSTDjrRhQ6s9P0IwDUFJifB70SKa3i48DdEH3cGXpbBNhsoXilLVuvl/4BThJ+tZPWaltTcC0sAyYTmf8Y3OtNdBtYU3c+g3g8TY0lcUzCDa5lZeOa2PZeYQNON8q6bas3CYPWePBWMpJ8ukHmuM597GHb2ot0ToRJIj4+U299EVmkdy/Fvwumk8u3/MSDf0fUm8Jj2rtcPGsrWYG8KUb4oMUxqP4XEkm0L0wc80+AN5vTibGkC2u0zBoOYvMxudXSrupXHwpaQTmoaoMsCJHfynNoYYsOXTxAHVbeNAdK3T8IO+9RDD0kFUxNzIw+rYGxQslqXeaFxUl3uYoEu5BWZ1a/7ixeLKcAmcaqQ+kYUjAJ8QDoaEHXzNIPCZc6F4qWye/ua8ACA==</data><length>3736</length><position>54</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>55</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>HxntkHfrdjEO+YGv/xxXmJdMvp6yeZoVpLmUGbAjdpb2TZf7M3u1d9HH/vSyt38zN89tM/ANDuOurG48vjQUmgvB+83x54tyn+cTctwF5ied/DpwpSFVK2Nv+DSGJdZpyzIuvyJ0w6VAZZ12Ch/FSO9X0sSR4LgfTywomnGJgwCVPBA0yucG0BJXyPB9zi0dSgLwm1OTYMR4eldMEwRLH6A5v0aWyuttm/dfasoW185jhgb2T3nWvpba01Ioh6bUDie5hghyo0iIq1mdCJm3iFqX73AcydLiDcC0t9c9x7u0GYldMGSIvrTW7VJwd2lFa+lTFGjfm/a5V5o7fDLL/6Lpxwv9FH69Demj1bISy5S5eAvwwssbAJrw+KHups5TlHGaIT74BiBrmdYrK55VWcxQvWLMbfwcsd9OudLkX/tAVjZd7yllrPck41dbmTI90xWz/z8kjbwu+liaReKLyOxdkwtRRqBGwlRQRD+Vt85PgmO1bgBKL0kVlPH+zzFa70h3YQWAmLnjiZEHyRC167Xwqvm7bgOoma3EyDyB/Qn0n8qfrmf3ft4AbEPQFxZlgYmhF27/Eg9fgy2QwXS31PWNr6QgO1VDCZSaYxfNs8xy9RZ6Xw95cGCZIKlydNHQxytnvtJpkTxCOLPpTFEeFORPYJeXWg4BXJT7WBa14o/oNtxJ2idVLNj0Rzwpe3Fp9obCWdD3DUGjQ+OaZ7EIhyFGXxUL+VFvW2VR53ZvR69yByMcbfxoBG+3g2H1D7N7VOIK6hRlqUzk1LjbmSvwh/JBfqxbNBI2qRQKEEpgmvhg1oJ4nNnlnM/9KbYge+65s61kmq77OQ52WE6a5KLEjeWEI3YoElWvHBl1YHQebDys7CLSzN11BC2xNEwBSOpTRsXifc6Y5H/tBQ6ph7siC9o3rWL756QtObklYT2j3SSmUXz4s5Jdr4/GPfYkaz8SGDr03uc4PJfOLFf262Z16EG0qwv0EbWpBJW6rjFSP2u9cbmIiJIEKs+iLxMkS1kv164DNO7vhmhQn2zV0T5dUokt+Kt3eVqPT3fFJYF3B48rZqnqOF0tPm4kufX2xKQb+CFqO4BQCsrjy58/9Mi8gV8qyr2AVm6QW+WqB1aZq8l9KH5GabfKbRDgVG5S4mMs4HwlQdE5KYue+1cCKbWrfYTHK6/U97G2jIinteTvT24APipBhy1SyhgbEqdEfE9Im4v+MKnCRrnYk49FES7cSabwEUoV+oW0pt0QXC/oZF8nlQIAmXYPIB4Y370zAgxU4FkLCHevXr37y+ddRFaY3Et+sQaD4cW+Pd1IRf7geOySnaZ2QgguuFe+ArIyuPRNfLksh1f6NEoZDyL86GfxadAigV+M/f9DmkYba+PYsF3RJUst5BIsMxwdyxwq/+lR9YhDKZqZNhN50tji8wr+J8hMRGClnx75jsjrgVZnryn6UIgQW2zOTY87RS6LmsdKx7nokJRONPDtmcGgAMC/CNq3dtzM15JmobUd9fbS0owJGvnhBEeINxwbQ/vewlgJYf0KezetUnLGYQ0qPIDGWJb17O7IyVH4PDue4p04dNXjyUg/I4u+VHMOHWElQyc2UJ8gBxpt43U7acjPQj7IwrnYOk2Pz4pCv0sIQfjXxBt86bw4NkTM19iH5zZoOsuCBuFlXbWnTZkCi1uAIBK+gNJIDkLhlr/NYIN26S9xWaw69keBVetk8Nyo2h9cjh6NsFyHcmkpB9S+4HtcSlF40nkzyh8QXpD0Vf/3zzuaI4L+6oZOtxJyfzrzMVVBFaqx0B982dJ6e8olXZbNcAQxTk/gsNU7VlFRSqHym6HbFpqP0hdPFno6yxt6LDZ9uavL8V0n8u+ANuW+wa1U1gFR+1zEyYWVuru5H4IV478OdcYlfv3gSy93WxJqn8RHJA5IDXrzDIxgTaUtxEMEfIMfwgBkbbNzKXgaKYDIUMBC4SeBRwbZGcEZ5IHOLIKoqmHwaZXBy0NpMBWsHx3OykbuGCBjgUKMv+0hwREEo63ZqUfM0UCfuyYCsa/QR2fV2iwPEX7p2msBZ6LFOkXYidgkZ56C4xglNbj4jlN9RCQmwWG6ysZcUWX9BvBQ0KDNcvLPNtkO/prjg/idWx3CdDK7ldJYzuyD1dREzxGw6dl+t/RmbXkLmd+A6uAfaq2KhoU+/GDE/kPb6lQZkrcVy741XIfeI8nHT+EnnAsHujW00Dr1jxkc8llec/SA/QFqC5InFLFG0b8vkeHFoQJ8HXO3DY47po52o7bDiqtJJqYQ7ubaDwukZUXBOB7CuZ0Me7cayS6lvO2AtsUXDh6FxYkGu0dBUIV9Qy52D0SQ8Oj2OItiEHX0xsFQOI0YABCMCO5ojJuSZ4hu7dLr0YXbonRec7kF+DAK9nFVuDkXtWnzE1iKwFldTAYgNAtJND/V7wXQxk4QDD7OA5GT8Fa+4ou8tPHKa7wHUla4AUylND3101iPoKOfpfj24aP907CNp//tCMAPnBCJmMrD0AvzmYWA2vB2PTkw3H2enX1tNfZ1gTpD2rti6R76ZhXXPpsXEM4Ot1rCtWc4wuIO3UwQGyXRWNRriUGeghIQnGsF+rYlVmSjywIWCaSs9VX+pxg8/L3O/v9S4WlDZOcMNSfJ30+XdblCefko2ASZ1W4LK88SxVMld169qPdfYGPq9FsCT839ByZVfz6Dw2uzoOfnJxcWlX5Kz4XxZB5tZ9ma38hvuWFkqFUIJam335OvkWVmia2JmrC01XCYDlu2ZeaMpILWuimmN6DNR1A6BTdg7rYIkP20tsY1mczlBLxPNIbKrISgggBnbX/lAQYgCAivtshCLjWGsM/RyKkvG2zZNcD/qf8qBIEsa/LF0Nx++4R9aa8FSrLOm+njLrbJpo97gpS5d3xPxzh+W2wCu6+Dtw3DxUOTDbngdbH7Rxaifdf5L/VmjFKEKGRkY2Grrxq18iFk1vHJxuL7CPcME9qNvSKRioW3Oloo1lyschTy61yKjl95oMmDW95zZalrPsrh1p6+v8l5KZGzSRAm8Xr22Ek8q6PKga4wfI7uj0ZtPTXfniZRv/VDuiIQWJHlZaGtP7h8WDXxQhBxUHagE2jfQ5fz8qQ6LMjHTNRlZ2S+GxqIsgHCl2j4SN/ed9HwSxhsCWm2oeK3WWJSEFnpf0brv7LErREYkXYxxY+asfbkS0eyjsg/4N16IJn2uUUPkKGmK1kFlb+vCRa0kmAPgfAGxDvnUDqwMm9b7KhtYCR+ONk3KpVJ9w8DzBN8ZHluST0px2aP1FvHHLMJ/q7p0Qvn0ptW/v6Kq1uTmNQw9sICr1FXuCAFI2qWkXQ7VAMo/vScoTdtrcidqS4KfOOUF44cnSCfXvMrZYCHiQ5b3flHk/wZyoGr6Y+qQ+UejI7fAFYyF8pzvllN43aymOwQUY2P+a8aNX2efROTzAX5cgXPd9sXfBb13V1aKYgN0xClLA1YSbml0oz0QfcGlPxsfQHenxRWIdaGFa2BeMsscY+LsmKjc7Ng/aesnrKSS7rK96mbjLB2YRb/CSx5ltyPCTGRYoNKuy/gGsNkPtoMY3fQs87PLyI84n78CPw8FvgKntN6Ayhp7E7yKqbpt4iTUlyIXmzrunNgfx5qiKJc2ibYuar9mVEZmXuGfHun82cOLfIQc+XXQDiWK811PM9+iNNpBplI4oWSotCRNnmMtVSdd45Y1KT0kBsRi5FZNe8SLaFBovGYmQ==</data><length>3736</length><position>56</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>57</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>58</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>59</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>60</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>61</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f96197e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>62</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>63</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>64</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>65</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>66</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>67</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>68</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>69</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f96197f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>70</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>71</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>72</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>73</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>74</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>75</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>76</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>77</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961980</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>78</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>79</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>80</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>81</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>qyjUeDG4sHgCaKG3cxnTpViNwByPfFShDhQr5JB5/wCe9V11fS6hFA2nAySR/IUuLt4pU8xjgjIXsDQrqNrQ2wKO5SdVtJRcPIkeAxLAe7Y+9UtzBL5QmIIJHfkAcZrdyXFtPbaScFQc7b5J5z3qukhSeAxnBRRkZ5P6c4967OlzBvPicrU6dTdTyq6JZivmeX76Tvg881fdMu7gxrEkpITAz+7g8D+lSu+nm3maVt1bGARsoHce/wCdQs/JjdpE0gvxnffv9tqYiHdunJcACppXWZYiskmSgyCTnDDt81TXXUY2Z54kMTyBSUwMZ7le2Dz96+fqaSDRCSjrsPkfnVOlxJI6ibAYEIHAOQp49G+RnuPyrp6ZxdGYMoYdS2s545s4zldyf4b4qUhhifEZKhj7jAP/ADtQbg3EmhpAnmxLpLAjLDsxwBkj3O5rioc41bYGQR6gD7/Nbip2zFe5gIymZTrlPq+44/1YofkSmTZgVIGDgbn3zRlGNgSyqNOR3+4ojgDdQH27b/cY7YqYydtx+xYEJnYjLDbIPHfJFBWNkXJIGX1YG2/tvzRgWffVvjfO4xwP1r5WRvVsIyxUgjalBy0PHjAiCjC6dwe4yQRio+oH1Z+rOP8An2o80gOOyjfPbntQY2Xze3tkDDYPPxVkAwkE7EiFQwyQR22yan+Gj9x+hqIlIyFY4cbjOf40fyZf+AVnr8R30p81rIoK4VGUZ27j71UTJ9IXfbGKK/nSFgMktvgnYV8YwQGA0nYEaucd/wA6713xPHX5WIYI+rbTTlupIDvjHzXHALenG+OeTRM6CBw0f7p5waJZe64UyyW//RRRg5V8ZZT8Gp6f/qsRrJ3PyfihCRZD6s5PHzRI7lEzHIPUSADVdGCpjvlzCDWBqDb+jf8AWq9WdHUqN1bg8H+9CuJYUUkatXAwdvzFTsXVxqA1Acjg03DzKAKgGWN3MktiQCoMjZAO+k/HtWdkt18nZwxJAYDt85q0WWG2jfIVpH+nUdRX7j3pe18qZhAiZkc5B4IPfIPam7r9omhmuUkuqElGbGe4zuKBvPbiSIlzGcMCckKeDjnFdv3kjlcEbp34FVtjcZuMFcqw054Yg+1Zi1vtmrDjJllPGJ4I18sCRcgOBjUO2ftSJg9Pqz4APUDCv8K0XU4IbJoIrdcMUDMM5IJqqhZXYh/YYHeiyjbxCVtsqJImQaNO9TtY1fGVIz3z3q9CZfGkn2H3osHTmWZZWGU/l+VLW5X7SFBBiUVnKHKHYnBU/IrQ3UDv0ee8lZn9IwuM6XGx2/0kUfy1kbTGVfQMkZx/OjwrCzmCa5ZI22VcZ9fvn+Y4pmEcGZFzlmnmd7fS3EUa3OXKLpXJyQPiqm3V87MZGzkDvj+wr0fqfhie/klmsIFQxsASDhWXuwB4I71gZDNbTyW6QqXRsFiCCMe1Y3xm7M7WlYFBx3NN0u1kNvH1GWZUjDYLKfWPf7UiEzcHBLRBycn6iM7Z+/vSVkXcYkAEZYEqfpB7GrsW2qTc8DYD2Ht8U/C9jbUz5F2sblp1a3jNvb9QsR5aNgFeGVhx981XdQuBeu9xJCEuEAX6SANv3j71a215bhI4ruIzQxtlQDhlJ75/pS/W0lilmW3f8VHeqpUFfUMfbbIp2RKFwEG4gg+ZjLOQxKXjQAk4JOxJ96msmsMZGD4OMgfz2pjpkKx3YN2WXA3ByCAPg07dW9rANMI1iQ6tvmsbqJqbKqttHMQiHlDgnU3IPFNSAGPWuCGG47il7XVryeONJ7VaxQNjXnngD2pNxLttaVuvEYAUgLsAKKmoIqqpXJ4IqNxFJE4mBbAH042P+9XNiyyKsjDDYA3O+fferXceYLvQsRH8PsWb0jTgYHelBCxT1nbPIGcGr+chDmQ5Pbbas3c3UnmKqbRnOSP4k+9LYjqVp7LRmHyVYGY4Q7tjb9BVusNo0bPEMNnY9qyjzhGGl1eMbZXI2+1XMTSJbebBvjG2dj+VJduKjjjIMupbIG385W0kj1H3HzVv0u0MJjAPmo4yTnOB/ShdMlS5tVEgy5G+N8CrHptu0DgR6vKJzWEOVu5s0+LdTETTtaWsSAx6BtnPx7bVTmFjMWYYVhkaa+IkkusREgL3zz+VOw2MsvOR3yOP40G89mba8AQA8vAwMfBG+al5Yf0AZyO3NNW/T5csjHAI23ySaJEktsMOAfbkUzDkHiZmwt3UxfUbKWRTHEh9LZy3JrDdT6QqDy3gI31HHz717BcSpJLrI0jOAO4qi6sttcRLoyzq+xB3I9vnNdPDjBFzknMcbmp5AtlHHKMZABxg7mm5BDIwhcsSoyDwTVj1CzNo4mdcI7bb4pMQRzZRcFsAhuaBV7E3Y3LUZ2IRKAofONscEUaJQoID784/53pBopEdlOMsBuONvb5p+MHSFg9RI5PO/f71S3ugUBzcYt8hiATscZ+/PFMwiN/QR6AcbE0tHG6gIBkH37H4pjToGhly3IGafiPzMz8x0RpGG0jA7Z4oMrqqeWTgHkD/AHo6ywyqurKkbYI2pK/hhlwIHIbsPtTHF9ROLdfMPAkRjBQYIGP/ADRjHkkEYIwciu2KHycA7jnO1NJH69jgHtzVqtihByPTGKxQsxHJx3ppYViPnZzn25P68CmMpEmovjfHq/pSAdmk82RteRge1NwjavMTbNDrhl2XAJ3HJoGkE/fgH/neixsoyDkA7e1QAVSPtydqoNcinmT8oudR77YxsKiIeSBxtRrdTyucnn/xRUicnKHGOTUUe2UXI4MW0qc7tkcjGw/vVW8cjvqdSFzg7VbuCfSuSO/YfmfeggyxBlY4jc8HcA/3oWB+I3E1GDtYjIkk0xBiTBHbUfbFFjEMxeaZ/LIA8tcHSDn3oei28wooZguCGP1avY9qJ5RlbSMhByD3xxmix/ErdzzOGZhEoKhtzj1d6HIyMyyxaoiP3d21H78CrB4rbEcUuFdCfUpyDnjI+KVWNZJGXWNwMMNgcf3rRJjIaBRrmWQBItRG+OVHvS8kk8bAqVXbOOKaUmMCRgBg42J2oH7O5lZnTGnGDqxj5qh+YSmIrLKTnO7DB22xTkdsHHfjfapyxxRsHiYTDGCV7E/BplZJXTRHjTtVE1IT5EjF58MaLAPSTkEbg/cU7HNFcRPFfoxO2l0ABGOcg45pDyjFIWEpJPajJJpb9sSwxyDgj86BSb90rewnfw6q7NGjMgzj3I/vX3mhVRpEbY7NjG47b96PG7hwYMrjcEdjU9N66vG1xqRiCV4GffGMZNA22Aje73QtrPCrqVJYfUSR3+R8V9M6zOGk9AYgalGFOOdvf7VWOLiIFRgA7YC7H71KOSbyzFOTpUgqBwpHce1KBAJhYxuhog0MwWTLLyNsZHv+dWWiIRFlP1DOOcD4pK1lVnAkJYAHY9z8ZqwhazPCsfTgBn+k/GOaWXXyZt0wvqV1sk8f7STcDg4pg3JbYp6s4yePvVi+llVXb0AfnmkGiglQeY/llASCRsSOx+9Ysjg9TdhxsOIaxIEmhVAB3IP860dq7BdGM53AzVDYQM66g+l8AfatLa2McyapmLY2BGw/4K4+ryCqE9D6fgNXLeziVlJj9IA3JP8AClp0e4l8g7EjG3AA5OaZhtdhHHKSvIzzn3zVjK6xW73sChbyNQrsp+peNSj39652DGGNmejw4zVrKCxsUe4eKSbDRkbKMsq9mOcc1ZXMcK20i2VsZm0kl2IDjA==</data><length>3736</length><position>82</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>83</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>84</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>1fwHDcutx0PVZuw2DBghPzncD5Ga70DpfV4elzx9VlWG4hLBFBDqyL324B7Gq7wj1zq3UbmbpnULxrhxGWtzM5Zgy/u5G+MfpRr7qFxajzpnQxuypLbMuXx2ZHX6hnswzSvoo3QnV0+owNepxgi7/QSU/W47QizniZZVAPqOVIPcdiKxV517Nz6Z1CYJwq539q1t/wBU6B1jpMsd1bSwGIZWWJh5mM4IVTv8nIrFdYXw303p1t0xY/xl1ryJkzHKqNuofUNLH22pI0IsbZz9bqMjC1cV3/1AJ1F9QmgkKyIdQYEqysNxg52xX6O8yOeztOonLrc28ZZ8jdyN22+a8k6N/hsgiju+s3glSQCSOKI5Yqezt2PwM16cfEFr4TsEjmt/NgEZihgO+nP37fNOxoU5M6/oGHJhV21HtVpk+v2/Tba6E9/bNOLhDpZTpZW9m4BUnv2NZq1s/DwWKZWmsriJsy5XUjDPBO5H3xQ+oX171e7WViTFESFUHZQew96csbeaSZbeMa5JDhV5yfesb6r3UBMORxky78Y/pNdFa9Bhb/ObJl1wg6vKOr6xjJQb/wAqwcvULEPjpIkYMrGVn21vnOQvbFbF/DvWILaRLeSOFrnEbaTg5O4ycY+MVjbDo1/aSk9QhMMkbYJfCjIP5/70t8p4FRurYsAAKMUguGYS3FrKokcYmRfTlRw2O+P51Y9Atrm5uMRsqI31hmwuk/6vf+dXnSun9Mvb09Pw1pLNny2UakJ5xgjIFXNt062tmFj1C0aG5Z8KygqjDsVO43o0TdxMWl0TMd3gTAdUDWXVntGjKFGwNbZBHupHOaWBklmMch8wqfkkD3rUeLen2FjNDG07L5qalZsltQPLf9v2rM2iXMVwpmIXj1KcqR8Hg/asOTGysY8rTFTOf5VqJIAK9yR/w0KOHQ2uRRpRsZxuB/CtFPLqtwIxhdW5GwJpLp0vS4Lpm6zE08br6VRsHVnbPvmlYcW4kXAGJVbbFJLKRoGlRF8jSZFZiqswX/SMkk1no7WWSE3rMoZ2znTjJ9tts1pXQXV+/nQiKFWJ0nbA7AV25IeLybfCBN1XsRSshAY2Y1MIMy7LdaljtZGQsCrAgZ98e1VU1rfRZVbV/MkGNROBg/Hv9q2nTW8oF845yW4zVtZkyESMoKk4YMSc/b+1ZFcKbuNw4QfMyH+VeqKOV2GrSD30n2B5x71c3Hhu2WHUpCu3C8hgP7U71O6tLOUIDhgdS6cfxqju+tzltLMCpOQe38Ky5M4Wxcv6aL3JP0mRRGyyaSCDj3z2/KnRbMY9Fs7FsgliOcfFIWfUpR1KBZ2DxzfvE40/cV6XbW0EmfJRcnkjfNZGyAi51NJpg32mYeSaaNUPVFLRjhlPqyOBjtV7b28M6+daoNBHPIPzVkeixglnTVq5JPArlgjxM8DRgKp2Ybj9KwF7a51dNpaBBEyHWejzIjXYAIQZAAzjPvVELSR1Fwr5IwVwccfx3r2LRHP6HAORp9sZrM39hFZ5dMALnJwBt/WrxzJqtIFFiZKzunMgSdjjO23FXc7fiIvPgwqLsT7n5rCXF5bwdSdAxUEc/J4qHT+q3EKyQ3MhkRmUIV2B3/jkcVsX4acxdTtNT02IxFFZWBfGDn+Q/pRZrjyly59I237n2/3qiW7trNVkupAI2OF3Bz8AVS9R6wkzKAuLcnAJ/eJ7H2piqtmHk1gUVNUL+KWaJYipY5H17A43Botr1K0Ee2Dtk54GP6V5DcdQRpNMaeXHnBAyBqztg1o7S7jedrOcgmA6ck4BB4IA5GKYo8zCdUzTR3nUkup/IUad1GcbYb/enrjp2IleRSzDAGBsO1VYkgtQy5XzDuCfUAF5prqvVUt+k23UYZlmL4BiVxnJ4yAds/bNMTGSCYAyKOZedMvEDmynkB/dIz39v071SdSZ3WaNCQsbkrn6sjj8jWH6Tcyf5qOoMTpZs6T6lUH49xWp6zewTq3lTlcjLKPkd+9Zr9tmGc4K0ZWf5nJOYAwy59JUDf8ATiriFljYsSAF7Hk++1Z6waGP9sCHcfvbg5/OmEE9zJ5hc5Vu2wGf61WM7WmJ8hJqWjdZiQqscYYnIB43Hx3qj8i5vpGMsnoY9xupI7e2/vVlHbW0K6wSXwcE98+9NwKTETtknbAxgfftW/TZD00zsvgyiPTZI42kgYlhuT8/1qmfEbKjSMHByWPAzvivRXMAg8gbPjYD5rGdYsGicSJpIyCcbnfjbjFdnSkGcvU6cqbEHJoZFSIfSDqHYnjc9/eghXiiUDAHbBJ45oEGBEWbZsYONvzx80zE7BcbMBk4AJAztW/ETXE5ZXsmIa1Yn6Sv/dyMb7CpKySAaVwwK79gTwN6TlWTXiIeoMdIPPHbParCwhkYmOVgvO+kFPUN+f8Ama0Y+Tcwt3UdlniMjGGIwDIUpnVhv3sHHB7VBTgb7sDjPxQ4oUBZBINtIyBjJG4z9u+9Sj04Ok7f6jscfHtT8RJ7ieFPc4owGVtxgjnGxroi1KoDHjCnGQNq6JAxAG/bB7jvU10FyyED232/Oo+KxYjdPlHmIPDsR5ZOBk4G2fj5qKRqrAEBSQME7/8ADTk4O0J4ZsnI2YdxQoI2jfLYC5OnPIPsKLHiAFtJuHifBUnjMioHKAFvkcfw7UH8Ov8A9oKYkcxEMMgEgEnk/b4qfnD3P/4FZ3Tma9ORUzkieUAXP3zvv2pVLgNH+FQ/tC2rn0sMbD7/ABVjcxPKNAGPcmqNYDburSkMFYbe2O9d0WrTx2mAJ5g7n8SR5cluAhILEDfIFMwYkKkHYjYY32rS9Q6Y3Tgl9by64Z/UF3IVmHHyPan7SCzbpomJVtIOtcAMDTvpczQ2M3QiPT7WS6xBEcMOCeD7j703Jp6fIkVzGWVlz6UPpI5GaBbdYtbOF/JjZ8HKg8q3c7VY2c9x5D3890WWUFQuzD/Y0/CAOIOHGm0gmzKi7vVuQsMEZhtw2cZJ1H3PauW8LGGScxjTp0qSM7n2+aQlWeNMspUuTpH0nb4NOdO6w9rALeT95hpyMBs45PbFGo5ppmwoGbmSWK6ija0VHUMCygDIU45DDgk+/akfDttbNZ3khVnvIgS6avS2k52HxW5tuozW91JZlcRuuoMuCGI5BPYivPerdOubG7kvumlhDMSWC76G76sfumjApZ0xg2iwZmOqX7dRma4ZSmcAKBnAFLQLM7BjnSNhnv8A2qSBXkEuMOOMbYzRI1dZCpOoHfA3NYDy1ywQq0e5dWyI0akb57ckYq3FjDoHoJB9hmqOxZnlCrlcd619uuUVd86hvVLz1OXnJDcGULWqKxCoACO22PvR/KMbovBAwDVhPGUfbYd/eq15CZB2PYGovti1YngyyjjyAhGCBzxXHwMISCfmkY7yTBztjb9KVEkly+EjZteNONh+vamqL6lYsbGaPpc8FofJbPmSvsQM5HtU/EPSrC+sUeaXQFy2rnSfkfast1LqMfSIhHDMJ7tmDMnBVe4B7H2otp4hhv7W8nFq8cVkisQ5DFtXvTN6hSpnb09rjqpi47HRKY4ZkZc6QWYLn5wcbVdW4fo8wmRhO3pClR6N+RnvWb88FsjSSxJ23I+PypiK9nQNDEhZH5/0n8uxrmrkVWNCE6MeZ7n0G48+1dZDhH9Sr3I7gCsD4gsPwVz+LUEC4OHzkhW7b/Ir7otxesgtbSVUmhIljLZwcfUv2rY3Kt1O5NtdIfJmhGTnIA==</data><length>3736</length><position>85</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961981</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>86</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>87</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>Ytq5596A0kiKqk5b79q1j2MVzsRgkYyKzN30+4hcog1KOGG5P39qlsOInTZlPBgrVZmmMke7H+VXQjuYz+1OonGTnt/tS/TLOVdcpJ050gHYmrIyESDIyvc/Na9NVWYGVgW2iHhkB9B/I1GeBSnpY5PO/wDKo6gpAAwM7Y3NLmQEnUx2x9s0xn4ozLt5sScUDfuEjFfDIGlCDpOPjJqyhf0g52I+xp2PywQdIJxt80xMasKgHJtbkRC1iWNA4BGf503FGJcZ3+eKLgMV8wbtt+f9K7GBG2FOB270IXaamdnuFS3b5Pq+kb0F9CEPLyMjFF8/yvqBOx775pSQGU/tBnAyc9jRP9vEDGPdzJq2fhSPagliWwpGB8V9GJMaZGHp327D2o8QSJRq4Ld+aDESe4fC9TkCI66g29FZXTIydJ3wR3HzXwMQVtODnjH9KGJFwQ4OTx3NadpAlEEm4PUxOvbDDOc4NMW0UTy65WIB42zk+xpXymzqzuRxwMf3pj9iqhwQDkb1WMGRh4hLiYZwowePiqZp3DgqxDDHbOasgWkYBQGHeii0TbbHz80xlPiVibbwZXxySO7Hk9wBtVoImKAuCdIG57H/AHqEcQViT6T/AAJ+famkkdsw7jIwccYqkUgcwcjA9SJUGIsOc5IoUR3BXPyc/wBKbgt1VXMsmnAyoAznADtAxL/7UUWIIDq2RznvRFYG6cgKkldI1dv71YwqCVBJJPbOxFKxgKrI4wT37gj/AJvX0MsiEk4J5GKnSxWMbmmhhMaArsdt887+1IDHc4XUdg2/6V8rEjUP3sbn5oDw/iHVEBEo2Hz8Vz8jqLNzt6ZC1CotO7RYYKzA5BAbG54PtS0MgLpFgiXHqB3z8jH8q3Fj4fnIX8RECOWz2+xpeLwmJOpZ9QjUDA+a5ebVDqd3TenP2olNb63gQRbsSRgeng8AnarCFM6jKMIMAgnf8hWm/wAmtrZkjbhv3G4z96aitIHGhlOs5AOcD8/vXPGZftHc6+LQMptpmLe3lRtYUr6hj2+N60AEl3avANnKkKKUS26lEdJiYLyq85H2G9AhmeKbEwMR1bj94fkatWKjmacOPa3MF07pE0Uwe+A9QAAG/Fbe36ZHInb+dU5v4UjTA1BN1OCDv8H3q26d1hGgMxGCrbqeaS3PM6+iXEn3Q0ViIm0yt6ew7VVPblZGdgFJbj4q7HU7ecdlx7DsagRFNk55HI/lR415jshUilMrrZgsmQeKYiIuIri7uY2Nrb4BCn1M7HAAz/GurZt5vkQnzGfAx7E9/wAqu4RZi0fotivnZzqfVpBf7kdj24rfpcXNmJG4k3MuLv8AF3LtpC6h6UPACDAH6VqvCsV/Zu91Z9SHS1kHlanJCtr5xnbIFUX4JYbgyTkJc7ZVVwusbf8AMVt7yHptz4SaIRxyvA6tFMCdSsfqTRjitCpsYtNfpm4szE1t8TMeOLTo171uKWG7/FS+SkcpgIIbRsGzxqI5HFU/S4bK0JSESpCT9TqD+uk709FYRAK8KLq1DPYH+1WNulhFI0Y8yZMj1Lp22359jxSsmQFtxHMcFL5TkoC4QdJ6dPIAb1ZxjVpRWXON9JLcGqvyEljkhTRFHCxZfMQuwQ8+r6cjt71cR/5arNI0M7x42y2kEd845ye1fX8CdTtLcWURh8gaChGFzyCDnDfnWT6oU0e50X024WBMsbZJ5VkS8STSfT5o0/TxsNgKeil6L023d+qg3UhYNqi0lGb/AEZGCPnPNKHp91ANF0YYtRwNR0E0/b+G7m/gCwSwyz+plhDqWZRyQeMj2rVhyndxMC42U2g5lZc9Q8L9WfTc9Nl6R6homtz5mx51o2P/ANU5pa+6VY9NvDF07qBvIRGjxTBNJLngYPtStz0+4s3VbiJozgnSw2O/Y7g0/wBCXzrlrIhWaZD5aMPSzjgbY3PA+a14c/yJynY5HrIBusdcfwlpfdH6j12ewbQv4xwBMqjDMo/f22OK1nh0XFmt3bCdUe3ZhljnCNsVx7fIqHgSzvuseKjHd6rcWMTtIzZXytIwFxznO2DSa28q+KOlurC2MWrzWBz5yA+rIxp3B71rDbuJ3NFiXF/ngGya57iPinrd3Gr9PsbRoo2ABmB1Lg4yFA7GvP4YbdX1XAZnjxpBPpyfmvR+sGXo8/Vn6VMsSytmFpcBGTvgE4/IV5pBYdRml1oFwPUcOvqB7gZ3pp9vFTgeu22ers/HiaCyRXnlulZQYULaQcZI2ABrlusgQv5ZXG5J7A9sUHp0N1HdISocEqrop9Wltu2cfc0/1KzuemXki6GjgY/smZtQb/7wyCfilH3TmjC6pvK9cGCUqwDMQhzjfkfamYoJriN7S29crEnSxwWTHbPf4oFrJGc/iCrgjBGdj8juKmESR2aHUTAAxC/vAfI32q0UIeYKoGYebmbfJKo2QQSdP8N6WfKqS2cAHTgbE1uJLO3vbeXqRh0SwqQVGcswGQ24zWE/G3E8apk6FOQM5GT32qnyBaEy6nRNjY/nqdhVhb+bKj+X2cghTn2PBpf8eNZSN1UngZztW/6RdJZeG526i6vZ6iQhGshu2F3xn4rJSeKenXjCCDpaSwruGlAVmPGQFGcD2JpLqpF3GHSKuNCXo0OP/kb6TZv1hZRFjEYyxdgAR7744rTWXiuDpNu8E1ovVDEugPrZV+N1GSR71hZYmkto7ubIDuV0jYIB2HwaNFpWPQB6cc1l+qE4E6Gj1WTAvs4M2dv40tLk6bzpaxF8/wDSkJDj2YODn71ZR+IvBvVV8rqtrLYyqQvnOPxEZUbYygVkI7HDCvOlhSQaoXA09sb/APioFZEJGAuN8+9KbP8AM2YfU8vRo/wno/VekTdAt4+o2FyvUem3fqinVTpZT31DY4Ox4I7ilbO8aciSTEgA+kNgg1nPDnjC/wChiTpV2yydJumJeN4ywhdtvMTG6n/VjYitfd+HJuj24vraRvKJy6MdWlW3V1YfUrdu4rK+AEFxOricZKbH47HxJGVHfS7Fc74G/wDtScwaHOfWW2UEbH7EcfnQ/LWZA6DDt3H/ADanLRQVf8Q4D6fQWOBkdvzFcnC4E1EArLbwb1Hy+rXFvn0PAXYAAsrodsDuMbH4rE+M7O36b4gZ7F43t7kCVY0J/ZluQRuRvxtT9usnR+pQdTg1BVcFlXche+D/AMzWo8X9N6Y9l/6mS3Fz5AUsFcDKNww2/nXbwhcuPbfUQ6k4GXyDf8PNTy7QbvRbM6wqTqL9tuxxvijdP6tB03qVvdZVZIm0jWclSeGUDfJ7VKy6h0a46iZriNrS3jwzBhqjC98lcYz2+a9T6fJ/h91a+D2trbS31oULh8gqpHpIz6dXcVS6csaUiYdAiu1BwDPHOnX7dZ6rJ5zA3d2zSliRjSGIBJz6T960P4eS7kWKQHIOCwO2B71ZeKek9N6Z4le+6DZ/h7bqYyznAXUv1YxwSeRQ7WIRoQ2oSZyWxyPavNa9PpttPZnQxJTlT4Mt+n2Zt3UoAFG5AO1L9Yv4k9LYCnYAdz+VLy38tn6mRnUjtzj+1VUHWbd5T+zITHt6Qf51wg1mp3sbhQFWAtoZ55D68I54A2+1P/hoYiEjl7br8UpdG5jcraglcZ/X2xSEbdQDF9GoLyADmhU7ZEyBe5o7ULHwMHjAPP8AvVlFGk22kHfIz/LNYR+pdSsbsSPGwjlGQvOMbbe9W9l1ZGf/AN16de4zyKtQWg==</data><length>3736</length><position>88</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>89</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>90</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>91</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>+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</data><length>3736</length><position>92</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>93</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961982</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>94</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>XFhVlonzPNrOyF1dLbWn/VZtK5YDVnYbU/J0m+6VLIOt2zQIrBRrGznvpPt819PI3SuoRXgi0uT5sQxyGPGf+Yq0vvFnVeryLZ9RhDWYOoo6EsdsZB4BHxUxLQJaUmLHRLXYMuumdTsYek3cPWIZB5ik25hcB09gRwRjvzXnd51FLvTHYxiCOIAE4wzY9zTknS+uTWbz2gL2a5fDMCQnbbnNUdkks0xSZfIGnLMeFUcnP9KrUagtQk1GVmUBhVcRzp/T5pB+LndILZWw7E5dvgLyc+9aC+6pa3lpFZWMLRwxf6hucVI9b6VPYPaWRaIgAL6Ms3vj71lFNxqL50BdsAe1JDbVoRf1GoiWGlCAQcD/AE8VKPZht6SNJ+KCCzrlgB6tsmmLVZGdRgkZB2pI5uZqNw0b+SBJnSVbI0iuXE5uJdb5YsQSx3Jpq6tmjiimUkmXUCB2x71WwLLECzA4J298Vly7l9sbhFNGJbI5jOr6mPpzjGaVVEZtKYGk444NFilMsoebtsB7/wDijBoxJhcYPLMNs0WCxzGML6EDLbvGPUMnnV70C1TSjyHsMAgbijOWVjGCTjf4NRDhHD54GCBUyAlrEi9UYcqs4XEYxjYnc0SOywoCHYdvavreffUAAD2NQe6YSBlGrPtz+VY8uo2sBN+kxDaaj1vbLHhThdXB/wCd6VlikZWVyNSn0k/V/wCasLd5HiBkIHt/q27/ABTEUau+t2zj3wdVUcgaa1xlTUr7WKQhdOSyDkHferWISxgalLjPPJz9vamoba020sVYcY4zTBgAOrV84zj+VZceTa24TS+BitRGGRoNUpwNzkY3z3xVff366CVJGDwOfzq/15HqCsSMcbgfeste2tyJNWoAZyRxmtyncLnKz2DQlnadXEloEEvq0/lmoRG4K/UGOe29Ve6uqpEBjGRjOr8qft451KsMIPbGeaJeeOpnonuMxwKY3EuGB3/Ws5LZs8hR9WATg8j7VqTqXSU1DPJI2peWFEYsm+oDIXjNNGI+DFD5MyUuYsA/UvGOfyqQuYwFWRcseQeaJdpcPKVOVAG22AKq0gcsS7a2XjG5qiStCUqq1mXEUcDD/SrbYJyaZ/CQBh5Rb2IHNKwxMiJr3Yfu/wB/arKzLJISw0k4AIOdqcoDGpndiIaCCRXDS7DGx9x819JZW2GZ0YtkFDvgDuduat1lRYiJjj2NV0/V7RRoyCRsdPcfNGFHTRC7rtZWSGIYWRAq/u4OGJ+3GKzFykbz60Pq1b44NXV1KJ0DLtk7EDf7CqmCJIy7SEgncg8r81m1D37ROhoU/eM+iV2ZdIzj+FW8LGMEhVJxj3H3qNnGgAQ5bXtjvTjoYiXxh+N+1VpF283Ly5NxoRIyRxYPDLuc8E++K+hlkkDKxVhIQxAUagw9scVF2RpPLOCDzjeiRRhScAAcZzR5M1Rmm01izOldHqKhg4Kjbg/3pIwSBNTqMnIHf+NPSIUBXUTGu5UHbPuKFbuwIVhk6SR8feseTKFIAmjBiPmVcUu49WMex2/X3pWRg3pbLDORsdOfmrCVQXACYHZfn+1TjsmlcAIYj23yMfarUswoSmCrM+NROyaFzwOKZhkm1hGAGjHPOPj71p4uiKpLyyEsRkbYU4oF10wh/MQ8Nxnj/wA07BidTZiMmYHiD/HorKpGnHH5U9bSv5iyJ9JbcgUuOlvrQsmledznNW1tZgFZEfSVHt7VrVyepiZVj0jkpqYfG1UUsCbuDqXsDyDWispmuAsc6cHtwcd8VGTp4DaipOtuOcVYfcKMtcPlZkvwwZC+64PPYUSxtZfxARVYs5wBwT+ea0C9OMZwgAJPfg0jLPGxFs8zRmNtKlQGOe+3tSVJua1QCpYqZoyvmZyNiGGB+VGnMN64SINg+nGMgH49hVdDNN5YVMSe+2x9tqdhZtasJCj5zle32NLzZTtmvCo3C5t/DEFtAhTKyMnfvtzWnkv0ibEWSzEAEbrk+57VirWS5DLl1cd2ZQT9yRWhtuqosbRMA0Dn1LpG/bOeQa5zqCbJ5nrNBm2rQlxNc9RtrjTeQwsQAGVdLNlh6cqOc+9U9taieeQlPKkRtwu2nPxVTcok02u1RsoBkNu+O2+c0TplxLBdqp9Lltw2389zSXf3bRNeJw7fiay2juEmClAuhRwSeO+a2kMhnt/2p9LDBxk1V2bCUK2A2diFNWkIlKkRLpI437fakqw3VPS6TEVFjzIvem0gT8HNmMlllhZsAg7B1P7u38ar7vw5N1+KK06fcicOCArHdD2Dds/NPm3VXBmQDUCO2SCMH86e8Owt066e3soAy3KbMxw6OpyMN3B79614qPZjF09kBup5ZP0TqHT4JOiPG8Fyr6pxqChE7KGyNm5xWs6T01miVeqOb5YRpjUuWK/Z+Rj86truW36l1N9calS+ToOtWbuQe+/vW3gsbaGJY0TIxz965ur1dGh4m70/0gMxIP6Skteg20kUT2F2dJIBjlwjq33zgj5rSr0C3hjLw3ZM8PqkCt6iMcKfeo28VsJMNjcZ09zT1men23UY7m7WRrdfqWEgP8YB2P2rn6fWoMnI7nrcPp9LZlJNcwxvb6G8+ZovSzAZTV3bA3xVfJf3djqubdm8w7MM5DKOVI7g1YeLemQWVxb9Z6Q7SdOulZULLh435ZCP5VkIXkOVeVpMDYFcHFa3drodTBk9rbTPW+gXVtYdLk6XfTr+F6lIktsynWsTuN0fO4GRg0YdK6hcXcl7BCkCBirKwxGunHqA3JB+K8yg6x0OPw9J03qZkjuEmJSSNdQKnB7kaSK9Dvuuw/8Aoy1hgmlmF2ApdwFkbSfTntt8HetmLLa/M6OF9wAl/COiXQe2BDkqVkxuMn43IBP6VSW3glbW2vLllZioM1rqbGkL2IGc71W9E8Tr0hg+hZBIulkOzgjnDEc/B2rQdFuesda8UR31ossdhEuoZ3QKf3W7E59qHFmXIKIs/wC017bE86trVby3JRyWlYkl9gGPJJoElh+CvFC24udK4Y5whHZh8jvXtVz4J6CtxL1COSdfNLswhI06j7Ag43rLSeHOo9PGq/lh/wAuBDK0uQ2/bA9SsRt7VSaeol8LGeddG6L1Hrl/F0uw0+ZMDkucKoTc8+wrYeH/AAt1yy6ncdTgn8iKBTEksbBtZ1YdDq1HO3xitDa+D4vEUwboiTdPjjYFrlgUVQP9KtgsfkV6H009M8OWidIs45rsjWzyuhOp+SSOxNbcIKihzF49KLthKy0b8JZq0rzXH40nzy/r0oP3M4+ke3avFOohep+MIojeaPwilRGUJQs3KhhwSuMV+l7fqF11KzlSSMwxXKFIxpHOOMf0r8r9b6j1bo3W8wWJW8sgytK8eNRzlWI9wO/atOAmyIr1FtoBPVzT9ZvobPwl1Lp3SQ8XUnQftJc8KcsF/wBJxwa8x8O+J+u2ksEM980kLlVZZTqGG22Y8c1vOj+KLXxH1F363pa5uoXheJSFGlhu6HfP9K8lMBhubi0tpDIkDMqhxhiqnHA747ijBrmcDX5WVkyI/t6qS6za3lhfTWt1EY2DMRkYVgTkFT3H51RxQySHSy6e2TkDevarLrj9R/w4msJYTc34lWGAsoJGD+5kZz7kVn4+h9RhtRJK6IzjDqyiQAnnQ2+/8qoP/qnNy+m7mD4+jzMHaJc2wWOCQxsrZBD6cH3HuK2621z4k6fLDKwDWwUqEOFZf3sqO+d81Q==</data><length>3736</length><position>95</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>96</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>97</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>98</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>99</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>100</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>101</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961983</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>102</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>103</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>104</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>105</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>106</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>107</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>108</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>109</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961984</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>110</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>111</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>112</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>113</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>114</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0a4ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>115</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8a4ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>116</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>0e4ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>117</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>8e4ec7cddbb7320086da7d5e0f961985</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>kRYsDljg77VLp0PUrqSRbKEzeVjUVB/e4O3G/etyMb2+Ya47YTef4c37y+JY+nXEzSJMrALIxIyASVOex/nVLBaW7/iPPUgLNIAvbAY16N4U8IWd3NN1Tqk6W81pbFncZViQDlsZ7cH3rx2HqKJbusbnXqbHyM7H8xvQ6wsigGdUKVChhLZ0MAj/AA5IVDlY3GpduRg8Zqy8IJ0a18STXPU52t7K6glXgl0d1wF7lhnj71T2Fmb9w91K8KsAVAUMSPffAoxtHhZmjLyaGDK2QB6d91A5+1YNJlpwY/CvNgcRW4mhkl/DDJERKh2BBKg7AjbccVZeHbeKTqcLTtohQkyHTkKq74IO2/saR8RRzxwf+pkaOaG8YCXyjvBOP3XU7gtjIPBr03w43hrrfguXpPTVb8XdxmWaUHcyryhPb7CujpcbPlLER2DG13NN1q3fxRHNPJ1CaSXyjFGkLYhVWGVDR8cfrWavvD3UfEHTLTpXnQ+b0J4/Mkt0MXm9wijJPp7n3prwXDNFazKupHV/IjbTnJTlSfY55rXrFc2SFDEbQxNlySAWDcY/1Z967agMv4nSw2eZtvw0dx04CaISxNEFkWQBtS4wQ3uK8P8AGnQbDw69mvRY9FlelmdXOoI8YGE1HPp3yB+Vbuy6tL0oR2MSPeyXxOl1bKpqO4ZeRp71supdKt+q9Gk6ffqoMkTKxxkB+FdQR2O/Oa5mfENSrIs62mf6TAnqfmvpVu/W82VnD5ki5JMefSONTcHSPftXsnh21uYLGOz6tO11NbDCy5JPuME84FeNQ9B8a+Bur2TRwqbnJCsXUx3KjcqTkY1D3G1foHpl5Ff2cd7JEbV5Vw8DYfS4O4BGzD2pfommOMU3fXMfr8oZvb1LtJmcxyyyaiQANt9tt6YkttWJQSrYGVztqHf86pzMsYXQQ2DhgPSR+tN/ib0sssaegfunbI+9dzbOUxHUlMuuPzyc6T6gNv0qUtsbiHSVZogMtjBB9hkd6+huXckyW+lXXf2OO5ocV49ojQHJhlGVAGFB/vUKkxqNtjVmdMQhYkgfSTyR2z8imkiguFYFQgXKkAbn3pW2lFwBlcsu4PB/80tObq1IuYWbTkahz+o43+KBVHcK42kTRyqkS5K7d91+/uKeWS6hAniyCn7p3z8USOSO6iWZV0sdmA4+a491bwphQwY7AEjBqEXxAms1w9XsFeNyoYDUAdwe4NYnoNjH4ZvLz8NezXkd1Nq0zkej3RMAbDtVj0SdjmeLCSK2JEByGU+1aN7C1vd4wqkbhhzn2IrNQBIPUNTLdZVdVlQ5RwDXx0oNQ/Mc4qu6bbTWQNvKdcWcrnt8fampX8qUIBkOOM7UoL7uJcPGkYyyqBq3PzVeLDp+vzEtE1as5KgEHjIP2o6ls/6c/oMVXdP6qk97J0xiHlT1ZBGCv29xUquZePmOReVGPKjjCAfujgUXzfLOoYAHO9EuYmyCg3O2TVMkU5crMykFvSF74oxtKypeygGLXwRuCKoLrrsNovpDO2cYVSdz9qvpNaRYhwGA2B4+1LxNGSHmiEb49R2/4aFfgwlmZu+tTmcWFzZiYMRsRrA75IO1Fu7u2iRhdDUCMadOBg/atKNRXOlZPY96W0RS7NGAR2pmIqPEGZuJbF4kZYljhiOYlC4P2+M1H8fO6MsYEES5yFGCftT91aCRwzjGjgcYql0L+IBySVGBh9q04wDyYtz4mStpru4lnu+oM9tdCTTEEbVhBwdxtmthY20FjbvKzGGSYFi7Lk6mGCTjmnIpkGfM0oBsTtnb+dfG+RgquQUO21WQSKgKds88vpesdLkjtTdiHzs+SQcKwHOk4xqPsd6rP/SnRfE05u+qedHeAaSVf6lXfDBuPyr2JbSzlt2V0E8BIJUgNpPYj2IoMnQkuAskBDhcYPG3scUkMOQY4E9ieBw9V6T0+SK16L0tuozoxVHiiV1Ug4O7c4716OtvZ36I3jGZGAAPksQqr7ffFK+Luv2H+H8cbLYSlpT6Ag/ZZbnfgf1rPeFvEcHjC3vZ06dDc9QtQzNDI2HZQNtC8b96z4siK20nmN2lhYE0fXvBdveTW/iLwOYo76yVlNsG0RXCMPpbGyt7HGK8Xh8eQWcl307xHYXFhdWhZtE+P/wQe/weDVp4e/xRjHXohb9Lm6b5zCGZXYsNQYgBR20nvW7/AMRvC8PjdLORXEFxArK82nI8sndWxv8AaqTycRuQKVIDCefdQ8Qnq8NtN0wlFEXmLJjUXXHAA39Pel+mHxN1C9sGvoWj6QpDzXLjGpBuPLBOrI+1a6xXw54Sa5bw7B+1t4wqNIWkDORyqcKW74pnp73t6R1W/dpJ3XaNj6Y/dcdqaiGwWMgb4m2kjW+uBc2ZCW4QHW+2QO2O2anNHHPbmO3Ckk9t/wBc1nbO6/zKWfp1pdftocEqT+6eMj2rQdEturwzmK8tAqZ1xOrqx0f9wG4p6OF9sykHuoaK0uJI2B0xn6SCmScd6QWO0guEs+oXEaud1VnCkk/FXH4y+eSaXy9ockkDcKB9Q54r8s9VmteodRCySNJ5vmM8pBbGMkYJ7ngexrPq9YcYHEvFiLGes+OvG3Q+hW7dM6RIt91crlBENUKtnA8xhjf4r84v0Hr9xBd+LjCbi4d2bykQzhtQ34JwB2zuKobO7uMO4iZEDFVzlG5/n/CrCLq3V+jo9x0y9ntpJSABExBZjsAV3B9uK4P/AJUOabo/7zJm07E0ZZeC/AnXerwJLPG1nZF8iWRcMxHKBc5/PGK9qs/ADeHul9QksOtS2t1dAYliTIRV3wU3LE+/NW3gfolzb9Ks08S3Ul31JwXVSSUj1bgE7ZPv80Xx948sPB/4SwtYmm6peqzMi4PlouwYntvxXc0+PHjx2fMDDowfbPzv5dz1LrEkXW+rLoQ+WbhVbSwTjKAAjJ9xzVxJbWVrPHNHd/jEBIVRGw+j6i2eP61cwdT6R1G8WaRltrydg2pk9Mjn/WeDntWrs/F/SLXqH+XSW8MVwHCSRIg0627qd9j964mDT4y7Nu7P5jBg2igJ5d5s11P/AJpfRQpYRsFSOBAjzuO23qwByeKzRR7qZzAmA7MVUscqM8Z4wK/ST9c6D0a5llit7WC9wd5VBKfdVB5715/4j6J1TxJ1S2vPwdl061ljLNdWzO8LEDILogyp+Kdn9PDUEN/MQ2EgX5ni803ULVJrO3YrCSokIfCsewI74rVdPgXqfR26VHar/nNm/mRzxsUaePupzwy9iK2XT4/AXSEaCeT8XcyKFF08ZESuxxuufSp98GrDw/bdCgg6lN1W/hs7m2cypJrzrVeFVttWfYUeDQ7SGLcTMMSk0e5p/B/+Gtx0Ww/zG7u4/wAbfFHLO+pY0Az9R3J981i/8ZulW9jd9IubLSttPCysqt6dandwvYN7igeI5/FJlur3pcrdZ6BfQKSUBKQFRuI3Q+kjvnmmfDcXS+r9JFz4q6ck8ap5UEzykNoXhWA2G/BFbcuoUg4ej/SR0UgrU8Zs2t3yk2VQgrldsUKSFraU6JNOnGll2/iK9a6Z/h30frNs/wDk7yW1+jl2hmYMrReyN7r/ACrB9Z6XP0a+fp10QrD1KI21Kw+9cjLocmIAg2JxcmnK81xEoJ9TIrBWGcktvn8/61awP0h1kSd5LScFfL0jzI2yd849Q24oPRrKW9ZIoEOWZQqjdnLHBP2FekX3+HzeGr9+odelaCO2RA==</data><length>3736</length><position>118</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>024ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>119</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>824ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>120</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>064ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>121</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>864ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>122</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>123</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>124</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>125</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f961986</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>126</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>127</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>128</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>1bXdzHddGiaezBwyhj6nV2GSy57e1Ib1Bd5XyJqwaFiu6u56PP15endLuuszBoEtDhdbHDt84B296sV6xB1Oyi6jZSxSwSYOx1gE9gayF51a2vvD/R70Wif5h1pvLe3cnQ6n/qYH23Bqs8Fp023a98PTTwzR21xm2GrSWzuFwcAsp7inDKCwvzFnT+0/Inqhhs76DSYnRpQVbyzuCODnmg6I7QCLyVRf9R3OfzqqkkuIkeOzil/Fl8KeMe+BkagO9N/5raXJHTry5h/zBAMAMPUwG4wTsfcU0MA3cz7D1UsUt7WYr5pUatgfpP615rcX3+Isl7edJsbGG2RmIjlzk6BxIpO2SO3Y1u7aUXUckdtMjmBgpYEOqN3BwSK8o/xYvJ7e+sppOqNGRF6LeEMhLA7uXBAAPsaRqdUuNC/dTRotOcmRUHFxzpHi7x5c3adFubNSytokmliYFSc4L49O/uKQjsra48Tf5m/UfL6jZtpCoSXjc7YcOcMmeKL0T/ETqTXtv0DqsRxexK0cjEBkI41Hkg1mOseIbFvEJuyrW3lxNDdTopYOxG2E5J+fzpOPVoy7lNzR+zOr7SKM9xWWeCMp1CRXuFUFiq6S3/3alJPBY2631yyxw7DLNpAPbOa8T6h1qWy6T0+M9b1O0I8i9eI5kUtspwd2A2PtzXnA6l1e2u0JuX6oJnYeTOxaNgeDp4+2BtVZ/VceBlVuSfiTS+lZHDMPE/V0PWLTSzRDzo2YBwpzhTyR9q8r69a+J4euXNv5UVxZMoaFlfD6SMjOeG9xWi8Mt0+WFWto2trtlVp7ZwVkQe4B5U9sULqFh1yLrdzOyyXNhI6qgUBgoxsc8gA8jFatwYAjzMOPGVamnm/Tulx9JRuodPL3BvVxLEXyAwPqwM4yDVj0ezljJnUukoyChYkLn25p3rVtY2sguUhYSxNmQR/SAf3sD+NQsXu7S6nneNXjlAZQMkk422/5iixEL7ZHUnmXLXP4WNmH7OWJACtA1L91YOAW+aoOkPd33U+o39+dKywmONMEKARjLfc81G36lZXzxm7gkyrhXDKToLHA1/8Ab88V6LY2dhd/iYZCNNtG2rQc6QBnBx7ijsNd9UYgIVYET85WvhvrTAQJa+dNC2GWM5IG5GPfb2qutbK4LtLKGgtVfQWK+rVncaT7dzXo3hnqvhi4ubvp6efAyOZraddR8tk2xq+fY7VYsltc/iIp1K63LBiwG5GWLDuD8cV5v/xmJvepsTqjVMvtMwk15YW0EU9vGNEUpJZtnYnYaQOR/KueA7iebr/UujxO6P5YuWYE53bGhhxgjcUaKzs+r2MqwR4Fo/mxnJdXQexHzyKf8IWt1aGRvxKxTJPofQmXkDLqHq7hR+la8G4MAPtqJaqJ8mendN6fdl3jt9V007JG6OAqHByR8Bh+Rqy6JKRHNaQW/wCGSKVgEUAIVydgR7VjekeIvEXSrpeo3NytxF5rJhlUFlB40jfI7Gi+KvE8HTep+Z4PgUpcnXcrJnAfuyYPfvWr9uxJzAx6V29om6umaOSzTzliidirsG+n75r84+MOs2/XPFN1Hcw/sLFjBA68yBTksR7N2NfpK2jtes9HBuYxo6hFhlxghiMbdxXi3Vf8Nr+1sLoWd35jWa6tDochB7N3A9qz+sYs2bGFx9Gr/SM0OxHvL4mc6N4evOuKf8lhbVg/UCIVHy3uPam7npQ6HLFFNBLqkBOrOY2YbMFI3AzxmvUugdEXwj0Z757h5xfQF3ONKABeEU/vb/nXi3SrS7kiYq7FpWYICx21Hbk7Zrz+r0K6fEqgW5nZ0OoOR2II2iegeIPBPVR0K2650h455CuqaBTlgq75z7gfnXn3Qry7vuqwRxQ4MZWUsTkKF5AJ969gtvEV50Dw9bXPUemyAp+zZ1wFxwc/P86xHiWPwz0y9S86XbS217cIrDdhEurfJA4PxxXV+kFVcnVUamBHLMVPzU3nilusdCsLPrsES30L/tJrc5EmnsU98dxSvR/ENh42tbiTpH/s722IaSKX5GwOO3zXn/TPGfiTp88F7fXQ6kkDA+U4C4X2B2xn5r2awXwr1MJ4qsFhsJrhBG5kZY3Vu6ONgwHY43p+l1ozsSpr5B/9zLm0RxcN/CeZ3/g2wlvIR1WH8NfXal1uIGIi1p+6y8cd9s1XxeEujw9TFz1jqEF106Nd4XJTL/Jzvj2716p4k8Iw+JemJ0+SdomALQSo+Vz3B08j+VefeHv8P57K/n6d1PT1G1fGkt2085zwfmibQDeGXH/GTDntaLfwmln6T0Lq9tHcJLDdWRK+hRnTjttuNuK8P8R2S9G69cdPZWELHNvI30ujcYPfHHvX6BH+HdlGZn6LczWMhxo0sGTPbYjcfBzWYm6d5z/5P1z8P1G4RsZjU7AfvH/S3vih1mg+um0ijE43VWueIWnT7iOfEgKFcEEHGSN85962n+e9f/8AzuX9VreXX+Gf+Z2evot21rOg9IlyyOR2zyP0ryibwh43hmeGSzTUjFT+0XkHBriD0zUYfbRjX1KX3PSp5etdFu0sYmyl8TKGH72PpUDttz81Oew61fvamW1jCRk6JmIDDUfUWG+ofOM17HDZ9Plna8VFaZBpjWQelV5O3Zj3JrG9dtx1i5TVq6dJbbQmDcIDzkbBg3evcjH3QnDfCD908r6PBHDfXkF06zWsRYKQT6JPp16e+M4JPasvbWdwZEMgEaKx1Yfvnn7GvYoPDVpayC6SQX0c7DzoWHlsrDcEYJypParVLZ+oP58UUMDxkMFKBgcbDfH8KzppQfv8TI+DilMzVr05keKK2CqFCk7ZG++3ua3MVjB1Tpr9K6hkIyhdS7MuncMCP5UG1tbhifxKaXLajnsOxyOwHanB1my6Y8aiZG9Wn7MffkjNPtQNpmzS4CDYiN/4IuXs4YunytctCCPKZtAl077kVhVjuOnO6LbSrfMSghWJiVDDtjI09gc1tfFHjXqfRry0g6b08XUU41FmDMSQd1Gk7H2zWu6X4tjvwkT21xZyTqCElU52HGsDB/hXLy6bFkegaIncx5HxJfgzxO96mllNHFIiPfJGiSKw1pCTwMZ3b3HFQS6RD5t2A2Rqyo0BiB+6OxPf2r1Lx10jpbdEHWPJAvrQhVZNlYMQCJBwa80sbqeW4LWhUzxKSyFQsG2xJbtjneuTn0jJmonir/r3Ohp8949w7uA65cTWnTemWcMXkW9wGlwcaTMx4zzsvG9QSEmJY106PfO4OO9XUt6v4RrPqLRdTimAVQRpjXHcHk47EAVieq+GOo2ym78ITy3sMhCy241MysBvoJ7ke+1Y9ZhDsNps8cTXo8hCncPM1Pgq/HRetTlXZop42PkqQPNdFyAOwbnB96cs/G3iD8Zcf+1glS9VVW3ddXlsOSc8s3fPFU3SrO9sOkP1S/6dPbvdN5McUqgywom5dgucEnbI+9Rt+sQTSsIrMW8a+mQMcO7b4ZzjOTzseK14t2JFRTUxAKXZjyJtvC/XepdM6qLzrEyWXTZgyNCdKhXON0Rc7L3JwDmvX3EKXWu5YZUZU/UDq3GCPevDei+Huq+LrmJXtxb2SSL5zMAi6BhsKp3bI2+252r2q5/b3zO2BEX2XjCqMAfbau76WWYEkcTl6wKrAKY5Jc+bDpGV9WMrjJHttXnvj7rcnQ+nWC2tp+MkupGjVmcIsZUZDEfNbC1NvJKJYQWGpgFDbAjb8qqfEfhqyw==</data><length>3736</length><position>129</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>xV082N27Wsw/6U6/VG+DjBwduzDHBroPwCB3MKD3e6eQeG/EPXoOtWF/e38l3FKxjmhUDRluCq7DI9+asLvqV11nqE1n1yUQwxSsIpI1Kqe2iQElc+xxWMtundd6X1KHpHX7ZrPyJA5cHERC7F0kzhsjGnv71pGFl4juJ7LplvNPIiHzZi+EJXguP3j8c1zMWdmUipsVQ3fEeufB8kMU1r0qFCk6jWyjUFcfQykekEHuNzVb0bqVj0mf8L4mgYtM6L5wXXGWQeh9Q3/Pt3r6x6dFFcpb9WvpktosObWEuEcr9OdvzIpvp/Sum9XFx0no7TojyeYZJEZDHnshbgEEgnmhw4qNqKlh7BB5nsdnEwdTLIZO6MTypG24pS6t4mgeZHUnUSRncY9scb1Q39xN4a6U0tqGuBYxA4LMzMqbM2eSwXirvppsLvpsIEJeKX1rKqlWw3GV+39666k0BMb/AImYWzaO4lmtFLeY2ohTkhiMHG3f2qHWLu36Z09puoXUUHmLpCyyqr5/+BOf+c15N4u6j1Hw34uk6XZXt234gCVJ2GhGDDGhCPT6R6SR3rBrYpc3byXamWRt2ZiWYnuDnmuPqvWfpMVC3Cw6UsLJnoSeIOmRK0d11tnK5IXRpVQeBkZO575+1M9F6pLPJL1To1xNcTQOvnW0pKMqHAD6dwVHOpa84ks4FAheIvEh2GoIcn90E7Ae/f2rV/4b9LvLvxZ5nR5ZI06fEZJhnXG8eMGMnB3J+nIztzWPTeqtlyBP6Qm0qqvE2vVOm2fRurSeJEuJVkuwiOseAmpv3sjGCP51554i69Z3HWL2eAvIo0L6jk6lG5GSOT7V7jewre9Payu7eNDIAU1Nk5BOM8j8jXj/AF7ozdG63Z9QewguBNiYRkNpVkOMPjA3xsAfvT/VMO1Kuh5gYSS1VKbzpEWNmYFZFBBUnByON+4PajQXMhJCH1bZ77inr+KPqrmSzVLSFSzrAWLLGxOSEZvUF9hVW9rNGEcOHG5b04044I9xXhNQnu4PE72AHgS8t2eX1g5z9RxsPgd810XmHMS7KNic5z7/AJ0lbCSS3/asunG+cbjtik7sgsttaoWd9lC788kis1leROjjUXNYPEHTuo9Bh8P9Yd43t5SbaZVzo1D94Z3Cnn4rI/herdNVgw/zKJTpZ4lJXA76R9OffFTtbW3N5nV6oVCEE75HP6mrdZJ2uFtrN3SZ2HlOpwdXtz34rcNWMoVXHI4FSxp9psGK2WksC4bS5JIYgFfueKncwSHUwYgBsKy+rIx3phf/AHUbxXwPmqxVtOFcsOe1fW9v5M4/E3Qazjw2JQQ6gdvTznikrhBbaDH4m+ZVzLJaJCRrumfJK7qAvuQNzX1s0kUweK49SkEK2SrY3AKkgYzT0N2MySwQyxSayfMdv2YQ/SunkGreNopFErMuT8ZHyP8AxRZFGJhRjhTDaRKe6ueo9cu5Or3FjDDM6qAII8IQo3LLnk9zzWhsvFaWnRvwUcKtLIurTENESn3PcEU14e8NXHiG9mjspRAIImfBOTqxgAZB2/jXmUbXFpdvbXpImQsrKc5xnBHABBrpYdTlxJ9Rf3vP5nJz41dtpPU3vgKSXrXie4tuu3Ek6+VrhDYZCynJHx8V6R1bxrB0yaTp3S4VuZU9Lu0hWJT/AKRgEsR3rx/oDn/P7N+nhTI5dSqnBMZXDAD7UP8AEWlveTR+sxpqMer0jSD7DcsK34PVcqYvzfczPpULbfFT1S28beHEtoY+rST2M0rAOqxNLEhzs2sDGn78VtuseFZ5FtOo2V2QBhgUAdJFbcY4P6V+blmFzATGylWyCW5PvzQJYryViUnlEcZBRVLBUYcFADgflWzS+unb/mCZX9PF2pn6F8U9AuLjol9JaJHFemNGkYg5kVNyM9jXhAhDwKy5ymM6m9/7VvvBf+IN1cTL4Z8aftUuAYors4LFG2CuOMezc+9ZHxT0u86J1Z+h6iYk/aI+Mqyng6hufY0v1BFyoM6dV/WFpbUlTM4liYXmbIdJlwydivz7nuD2ra9F6o/+UW3R7m0ku4kmxFKmNkG/rJ2JB29sVjW2eO0gcTXEh0rEFLszH2A5r1zwF4W68ljcxdftjYKJQyCU5bSeSqLkqPvRejDJuC+KmPV41JtTzNX0e7e1gS4KmNGOEUAaV34OeM1pLgQXUKygBfNUgqT+8PY/yol2vSrG2aMNm3iQkswJG35CsF1ia5vfC815bLhSPNXQd/SdiMY3x2r1Qah1MBBlR428Gr1Lo8l50+FT1KUpmRWKsqKcE7n29qx/RuqSDp7QyWUTW8R0u6jEjFdi7A4DH8qp7S88U9T6nH12zvWuraIiONUfCsndGj20sp5zW+eDp0zJ1GcNA0xKyLExxqG2/INckguxbGKPmKx4gp3EROPqcsHUrPpk/UmtrW5AKTQgNlDvh0bZSPcVQ9Xu/Bd7PLZeZPM7Pj8fp1AkcFk+oj/45q56v4fnucX8WiTyoSkAVNA+c77/ABXm34NomEUg3xyd8H2PtWbUZ8iGiOJTIG4mg6b4Xi6bOnVuo/8Au7A5KtCdStvjcHdR753Faq6vxZ3/AOG6izNDhZLc2xYfsm29IX/T3zWS6B1LqPTXEMcumM5zHIMxtnnHcZ962oaG5tWhgtXgaRgRmXIDdwpAzp+KDT5sYFqeZF05HiV/iXqU3TbH8X0bTdjKid2iaJ4VbhnU7N8NxVn0fqnSHmVYb4u86KqhXwrH5X3pzo/U1e/EPUHCPKPLid1DoxXYxuDuVbtnvXer9E6ZYK/X7Doyt1JMHyCwihJ41EH0kg9tq3pkYjcOpZwm6lT1a18LWEhuOpP5lwPV5KcZ9tK8577Vpukdb8KL0uJ+lW1pbXxbQHP7OQq3sW3B968xl/CLJjqMKTdQmUtMsL6FVmOylhncD5pQ9KsLsKIbWSK4UZdS2sSIO6k8MB2xXE/8kFyHaq/8zfhwWvM33WLzxlBLKnRvwxtwvpzoZwDzuxx9q8zvLLxddem8tJJHJBJ1BgSeBkHYVX3XTraJvLieVxnc6sH4yo4x96YTqfV7WE/hb6aPSNlLahj7HmhXUY8g94I/jMGUMLAMoL+x6p0tlubiHRI5wuQSFKcnOSKDa3FzHHJ5bmLXuWG5J+/atH183d7YdKmvOoCaGXWJFDEMkq8l1HYjis75IhkVZXGD9IU6l09j/wCaJwFor1OHkWjZjdlLHa4lniWcj6vUV/MEbg/NXPT0N8H/AAAYxLhmV95FXu2RtpHvVPEsjA4GVjzs2M05apc2rzSWrMZFQ7R+r0N9Wr4xziqxOd3u6kQmX62LupntHWaNQTqLquMe4yN/tVb59z5oRIC5IBbT6sD5xmqmGCORQdOrO3uDjg07bQLaM0sbMHxpYrt/DbNZMmVd3Am3Tg+I/C0G/m6Q/wA8/wAa50WxhubzqduyvI0cQdWQgsiqfWVB5IFQ/wA8uI1zlZ0b0kSorgfqM/oa9A/wlsFe56pe3SiS2mi/D48vc5OSVfgDsRzTPTsAyZePzNm01UwEOiMuLeVjEjEanGHYdsjcCrVOoLqRNsbalxzVJc263t7eRdLMouI53QxKBoZe3qJwCKXgtb1VeT8JJiE4d2H0n/uOcVmz42V6riacNGegIFcWwODrDODjBCjbFI3NsJEb16Xwd/vQenSwXNhElwWjliLMkobKFW/cZSMDffIxQ3uY5EbS+rscHG/9amRLUQ==</data><length>3736</length><position>130</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>131</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>132</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>133</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f961987</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>bHzXc0SggFzZnI1JIYqgoTxDxRdyT9ZawhtxAliAkUCcgnk49/vW6k8Qix8JRXTKJri3URNEd/Wc4Go98e1C8dx2pnt7+2xA12f2lyFyQOyhwd/50l1LoF31jw7aQ9AkEktq2AJPSr6uXzjbHauVjx5MefJs5m0bXxJum76fdQyR2nUc+TJJCsoT94Lj1b8YH8q2tvOt1aJ1C0mWVJhtp3BI5FfnCbrHUulRdP6GpZ7qwQeeHT0SZOdOeSO21a7w148g6PNOHsWMEp1NDGw0oTzoBAx9q6OH1fGjhC1Hz+sS/prFbQcTe+JZbm36FeTWo/aRxs6gBidS74wBx71h/DPjdeoNFb9aRLKaVQVl1lo2Y8LxlT2GSRXrFrdWXWLaHq/TW822nBK5TAB4KsOx7GvGfEvge1l66/ULH/2tiI9UkUfqZpAd9AP0/wAq2ZS9jIp4+Ji0yhSQw5nqKwS2t0yNKWI7t9Qz7fFavpjC5PkSMVkZdj229qqWgWe3twI/SFTBJ3IUbZPvVmieXLEEDDI1DO5/WukRMNi6ELFa3YvIpUuEit49RljK6nkIHp0twBnkd6chkCyA435B9xVRDfKJpAcj3zx+XxT6zLJpfBGO3Zj8VeMbe5bzUGcJGZHOnbO25Jqqe5aTDpnV8c07ZTedbso5AJXI4qthileVjIwX1ZP/ADNDKEK0aGT8QpAkdRqHIYD3FcseowvO8DuvmRsASuT/AD4ogUlymRjG2P8Am1VMVhNDcSzhy0ZOrSSGK/AxvVgf6oI90pOsnxDc31zczSwW8VtLGbV3UskkZ2kVgNyWBwM7Zp2xslM1xcQs1uwUxsvGMdx8VaRIs/mQOzAFd2H8Nj3FOMLaG3RPMw4Krk76j2/XvVRm7xMd4o6Bb+JfCRW68x7/AKexnh0jUwZdj6R9QK9q8XuOhdRhaG+gjle0ljQwXONDAqcjUvKnO2PevfYuorY3IYSqIjJ5TEDKhicYDDg1276y1ombJFuVkYxkkadBYkZA0nfNc3V6JMjbvImvRax8XtHRnknQf/RvX0uLPqzPYdYuyWLs2I5H4DoTsGJHqQ4zWstPDMXhrpV10p2e7F5sET0M0rAqdBPAI5PxXm8nR+qiee1Nvbz2sjYlmVtStqPqGOVZe4xnvXr9s1l0bpNi6zPNZWcWPOZSwKrngn1EjGB32rNoMQW2I5HE26h2C7QeDzUf8PWTeH4obS0C2cIhAWMsdSv7OMkMfmtTEtt4n6dcW5Hk3kYaJwO2RjI529j714/0Lx6viXxBddJHR57e0jQSxXTb6gPjsrdqD4n6n4p6FcdNXwjatJfdRdwhZtMSLH6vX2IYcjn2rq77WxOWcbb6bgmb/wABdN6r4cju/D/V0liRZddtI7BlcYwcMNt+cbVeeIbSK0d+qi4/BxyxNDJIcEqzH9m2/OG4qv6Z47F70wXV7HDOqDEyxMcK6bPp1c4Naq96f0Xxd0aaxd2a3uUGtV2ZTyrDPBB3FC4ZeYsH/VPMvDNncyyXUXUrBhY9dt3/AB0iqFEVzHmMsy7FQ6jUMbZrFf4fW56Z40l6NbXCzW0KzK0xwyNEq+k5OQcbZ+a9It7a7tOtdSs7y9nnHkLBEjOAGR8YYYA0kEbkg1VSpN0maRLKyEsd6unSiAkEEB0xjdW7nIoFx3zGDJtBBlR4n6l0y66onRupRreRouYiVNvIrA//AE5IwVKnsGGM96s+kN06wm8qwsp1nX0NGTpefVuP+3UvuKn4n8T9Us+op0zpVqlr5FsogdtDjU2xU53GnGNjzWy6OII7y3a7mxd9KtQbliAVYsMk6/cHtQYj7jcsk7RxNWv42XpcIty3nDSGEpwwXO4J9wKyd11F7Pq3ULC0sQF8lZJpoVOtpm2X049Qxye1JeCPGVx4tv8Aqlrcwrb28KgxlM6mXURqOeMjfHaq3xXddTeWBfC0TS3d+zFnjbIaNfSQwP0j5okyBhcXjQqaMo/FVr03rPT5+rWtwy3tvFmVUUliyen1fGap+j9Jfo/RouvdYvYenvMx8sOmtmGnYqBuc9xWjfptz0KGwnsY0/zMxvHMksh0llU7httROcAHmj9W8q38MQwdeAuOp3OiPGNIiZzlSOdJA225FZnxLu3AczdizELtviVv+HvU1614r6hdzH8QIoD5MzDSzLkDdewHYV6ZcX9rJElqjNbXcxfQqj1sRuQurgn3rzbpdpZeGmuunkser9SiEMUCekqh5ZZGABOd8ZrQdB6zeS2w/wDUPTmlvemTLCjxKWkccB+MfffFN0zmqPcTqQN1gcRubq9309CnWUglidWHkM3mSMo5cgjBx7CvNfH9tYydN6fedJyLC5LJGkYJRZGGSQOAD7e9M+Mrr8H4582ZjLG0cbCMfWg7gDjfmtdeWCJLJ4fsrZm6dcWxuVBAIhlI1gr3BJ7VgfMM65EXscTbhxHA2PIf3uZ+dYWS5litbaF4ljAViV2JzjbHYGoPdT2PUdfRvMS7hLK0yudLqPpwvAxVvZu3TpZupRE4dNTq+MHfGwO5Ofaq6yCN5xKlxOxJ0thtzkEexHtXkw7oNo9pM9TjxKx3nmMeD7G2g67cdR61N5LXML40nSGkO6nI4Ofiu2HVFaZbwrvDKdUG4b08EHgg+/alzbM0wIm0LGCdLjBGOCfYGqyW8iikksy4klb1Lp/dLdieMEb0OLLkVlUr54P6w8iISWB/h+k9w8B3L9b6NdwWsMWu1usMZVyzQv6tBcckH3pnxT4Nuuq9IE1vdQ2VpalpSkmV1YG6a+FA7VgvA3VbvovVo7eS1ZrDrJWKSRAT5E6/Q2eCD3r2XxL01+r9Bn6LdOBFLjzcpnIB5GDXvdHjL4QHHPmeJ1RC6glDxco+l2rN4ZsJkkaJ5ohraTDErnY5G2PmvJesW8zdXntunlZpZCV81dRIz88Y9xXsHVbwRWcNhBEsn7NYlI/6YAGAGxxWD6B0nxB0TxPbzSSrF0TUTIspDFWYYwp5xnuaRq8W4LiPXzD0rspZ17mb6B0Ap4pikk6gTDbIfMhTKq7D3zsQPtXsl3aqvQLz/LbNfxEMTyxBxpyVGTjHx2715zf9Q6/Z9du4msYox5oCuqZV424Ose/869IuLvqVtojhlBkCAFdmwpwSF+TRenqiq6r3zA1DsSrHzPz90TxVdJefi5bhkSc5OkDCORjJX2BrX2V6lh0t+qdVRYgXMLFCAszsdn0jgnNIdT6f0HrnVpD0NX6VbjAkVk4lB9WB2z+lZvxfAOn9USxyTDKiSoCfSWHpOOwLVkxHKhLnmF7Tx1PS+qJ0276IF6VMBfXCBISu+TnBHfBFN9F8SdPtp7Pwwekh7iwGmaRX1FQdmJX6sHNYeDpPWepxdN6X0qNEjiCM0sjFXbJzhGTcsp9xWpg6b03w31ZjcRPB1UJq1K7NJ69gWc7HPtxXawkvz1MLgA7YLr3hybwdd2rdNZmtpJmNvMx9cbE50MDxgHY9xVb04zf+t0nch5HZQNIwp29RHvXqd4kfiC4s+n9ZZvLaLLFT6lccMPY+9M3nSejdHsx1ews/KuLUrGHILM4b0hh8mue/pxD2DxdzXj1Iqq5jE8sSxFZZSdR5B9QBPYV5H/iJZdcvLW9kR0l6WERlA3caOze+++a9SvLFJLcfihlXGlgBuQeQfas94g6abizmjs5WgxblBFjUQMbZHJ+9bciBkIMz4CFYTwjp3WLiC+tesy/tvKUR3A==</data><length>3736</length><position>134</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>135</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>136</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>137</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>Rlhsckff2NL9YvG6dYP1aN/XBjUoTW7j22/nSQw7MYd32y1keztpBbMwjZ8HJOMn4+9UXiO0uL7p9xbW7rcJgFA640kfb296wdr4ok67dqt10nylRwVnZ2OkjjY9zXoVsghuzJl3Eg9S59PqHYdqreMikL+ktcW0gnu55j0+1hbqUAOZTE+rKDCIV5OO9aqe/sbQvdSltc7iOMAAEZ21H7Gn4fB1n0o3F1Z3ksYuCCFkIYorHJAPsc7Z3rI9S8NdTmuU/Csytb5KtJgRYzkHJ5biuYqviUiuzOgGXIw56lF1G5isQZY1Y+RlSzAqNTE5YH4JrU+BusRxw3t5MypHbhWL5xkNwPkk8USwig6jZSdJ61KLueOTN16fpBGQAe2fcVa9I8CdKvRJ06xv5Layjk8wrp1McjGATjOPel6bSurfUHmNbOhX6beJSXEHWusXRubeKW6S9YskmMIn7uGPChcb+9brp/8Ah34NCifrCSX19CATJrZE1DgIFO4XOxNbGxtLbp1ovTemavwsIC4OfUTuSx7k81UdY8TdO8PtpuDqnK5SMbkZ2DNjgVvXAqe9zzMBysfao4lvYoIwVMItbdDtCG1HT2JPuaYWWV2dlcKD9I+pl+9Z6x/FXVnM/VUx55UDT9Olt8rVnHHJEJIoARpAAbbBB2HPOBW7EwIEy7CG/MuolQBWlbJwSMnb5Jqk6j4r6B064jsp7mGORkGNWSMk7A44B96yXWPEPTrTrcEfVJXjjgjZVdRqXVwdQBznFUfXeo+AeoNqVy0smlC6oQVBwQxNZ8mpVSeY5MBPLCev/iLR4hMJI3j3OqNw2/OnI4/Osp0nxVD1NrSL8NKPxZdVZ1wUKZyGPG/b4ryvofTbrpPie1jttU9tIwDtE2UeF+CR8HnvmvcGijhmDhQkIdgo2B1e9HjybuYGQBTRmY8cdPuuodHWzhmhMYZJGhkfQsugEgB8gqw+BXl9t0u0llb8aogOltDW9wGVWUbAkd8/Nbv/ABTs7KXwvBc3IbXHOunQfVpbKscf6cCvGemTp0sxPDKW1BiuRo9IOCGG/qHtXD9S1SpkBIszpen4GdKM3Fr40tLi1eS/WQ3MWmMTWpUM3bcHccc8Zq1i650axjga5h/zC2X6mf8AayIzEeoq3GM76ayPT5fDZ82Xqds5dsMxjJAkyeSBjBHOO53q58S2XR+l9U6UsYMUU8RKuGwF0gHDg7lt/wA6LR6kkbiRUZnwKDQBup7G9ul5BHMralOCGxlTnH8K828b2Fvd9JmvpNaHpz6lSPbUP3l3HDe/at105TYW0dhusKjKkE8nfBJ7ZqV1DC1pdSXALxGNtYGGXGnfjc49uTXYOMOpU/E4yPtazPzFfv0jqc1lGtuUhijcysWAkQntGceps8k801ZW9kkbSfiiyOSqqU0yHHuOB+VVVq/TuoYa5afZmVHWMrEADsCPqyBV91i36h0lImjsGFofSsirrVs/vMRuv514nUbgzNXU9Fp1PAjsV1HIjJMhlj/dj1cdgcjG+K3P+Gi2Nx1Lq1yWZ+oWkcSosu+mFidRUkfVnbPtXk9vdvEVkZkVWyozlSPfOR3r17wFY3XTIbvq92QX6kqIkI30op1ZLc5J7Vt9E+o+UEjiJ9QKhSt8z1dZBeWpiK5DHDFl3Ue9Y3xZ4Nter9BlWXMd5ZqWjmD5UoP3H4JX9a0xLW8ivHIfJkADoDnce9LXJe7kfTIFwCFXPpyOB98V7B03e2efV5+W16d1e2hkuGi8+2VtPmqQQcbZAO+KGJbtY9kKkeosGwCp4x81beNOh3vhbxK0k8bw2N2qS27qCY2JHrQAZGVPIqjilljKpfW7qJBlXZSupffHtXhtXhP1WWj2Z2NG/tBJli/mXvRglurTzWVwfQpGVR1+d8E0vbNG7DWrB1GMMNKhuMe36mmre3bp/hi+6pPdJE80qCI5GrI9h7+1Zm1u7h5C1zqdm3DNnDf71l1KBQp/eqb9Ly1Cbq2upIWkju8qqKVDEZK5/wBGDhh8H8q5ceGuqmOPqNrIvVrYqW9J0urY40g8DntSltNqUL5ZjQgaSeP+fenendUk6PdSX9lhZlXGgLmNkP1ZA4PfIqaPKjDbkMZkwkG1EyMP4G/x+ItxK6tlZCSrKx5x/XmtDb2Si2kW1lYyncajqAPscfzo/V+kfjg/iHw9EZ5ThprSNNWhm5ZV7ZP+1ZXpnU5/xKOUJCn1JkAr2Iz7+9Yc+Fg1MeD0Zt0xBHHcs7WS4mLW14FZotzpfUMd+Kbt+mRNdWt4uiGdZ4jG4yArBhg+w+feq17Y9PmPUOmuPw0pxKrDLox3xjjB96bUiOzk6ncyGGwtVBZ2wFZzwi7/AFE8AU/Q4WDDjkc/wHmJ1DArZ7nof+I/V+q9Udui2ri5s4W1Tyk5GRsY1IGOea876N4l6l0V2i6Unluy6lyur6OSBwap+gXZaB7xdUc2pmVdZIGo7YB5yOc1op5klUXYt0WbA9KN5e/c57n4rTqNa2TKW3UeojTaVVG2rlxa+PevXkZi6t0WC/QhmMrQquCR6SX+nn4qy8L3/U7hYpOoWtqX8zOFePVpH0lQDsV7g1W9RYXPSZOmTS5tJBqCRLkq5HJAA4PNYXoiRojw2vl/sjpOllD57hlO43960jVNi2hhulJplbcFFT9PJ0iGF3nnkOZvWQuxyf4Y+1ZaW1lAf8LbGMM5IIYtrx96zPh7xNd9KuVTqszPYMNLKQG8snh15OB3Ar1e9srtrPV08/s7lCyTINSZI9LDPFeg0urXKpoUficbJpmxNTGxPPYuvRT9Rt5ruxDXdlG0ULBiGIblcDb7ZrYdE6jc3sfmjVE2cNE2Ub7/ACPmvK+j+DfEJ8646ywslBIV2YOJHzsQVOVH3FbDpt2th1BelxQOCBl7n6lY+ykZzQaHNk3EP1GahMdWp5npVndQ2lw9xc5d9iuH9Wn2H+1UV14C8OdZ6nP1MdRu4zISxRRGSM8jVgZXPGrf5q2topbllll/6ajbPJPt8UzD+EiJktl8tiN9By2fYiuq2nTJ2Jz0dkbgyk6H0Lr3h6ZdfUFvbPBjSJCQqqeGcE4z+tXl0SFUBBHGGy/qznsMYp2GbzlZcYJ/dcbN8fFAureM4RcDVgtgn+B4FFhxBPaJTN5Mpza23UbI9G6hGbiBmBRlGHUj95T7j+NeYeIvC970W7e1ngkntNQaKdlwjBtwGYDAYcEV69bhrWXEbkxlSFBOBq/2q+0w9R6c/TOsIZba5XS4zkD/ALgexHuKx6vRDICR3G6XUFG56n5s6T1Hqfh+VrnphCIxHmw/uSAdirbBvY4zXq9/fQdT6XZeJ/2ssAdFMTEKqMxwzEjuvxyK8L8Rfi/C3iafoUzjTG2UXJLvEfpbJUA7dxnetUOq3svRV6SJC1oGDgY0srY4Pcg9/muRp9V9C1bqbWxrk9y9z3aP8PaXN5Pd48tNPkvj6VYbgEcA+4paa2teo2Et7dzixtIwSZF3VlXfUP8AalPD9yJPDlsbhWnbyjC6HcsoPc99qh1SbwvN0NLKV2tvLCrbrggawchQuNxnmvQYWtAZzyu0kGVHRPw/XrRoEgaHQuUctrWdOzacAg/HasN4hu+u+H0k6Pa3hEAAmiXRGCT+8mRyB2xW0ltr2xu3uY2/DpJChCgFVLDZyg/d+RSfiroSdY6LFIsgM3T/AFu5cDXC27aT7r7VnzKShPmCv3CeWWl9+LK3vQ==</data><length>3736</length><position>138</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>139</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>140</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>141</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f961988</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>142</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>143</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>144</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>145</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>g53AJx7bkV6DS5juZDOU6jbxNjBYgRBsiPUcke5NJ9VRZl/DwJqKL6j2J/OrCRhGmgbmNAVHufvVMIxIdcjkKHBJG5Zv9P2FbFG6KuDihw0JRQxQDUBwSKWkhDxXXlqqySgjY437U/I8aqLaJsktxwd+wqkkna2mMUhKnBO4wSo+PiiCgtzIpM88k6ffdPukSeTTJIR6tycD5pn/ANT6PR5h9O30ntWhu2YywwNEZBpZxIeB7Csm8lxrb9kvJ9v7VjbHzxHIxm8W5PmpbINalvUx7D+9WbsoZQiFW9uM/wC9ZmK46RdXSG3uhLJHkgDO2fj3rSWbGUlE1DA3Y9/zrZM5HNLO3kjRQeWIVnkfhQQp/P7UzbwOIkjcExyY1DuKU6N4ftun3VxeeZK8k5P1nIUH2rTrGI1bn4ocfy0toCNYIgyoMqvpx96z8nVBHJIifspEGk99h3Gfer2/F7HYNN02JZZwMKjHSGPbUfasH+F6zcSC761HHas7IpAYMExnJXtuaFm+IeFPky+6j4mh6NDFPMjXCvuFXAbI+KsrHrPT+r2f4uzOoZAK8OpO+G/vWD8W3Fjb3FvGYPx9tc4V2J+ll2IUj6W7/NVdledW8NdLvrbpkRmtIXSUSuo1eWx3BHfHzWBtYy5CPE2LpVZRPV4rq11LhWZQdz2X5IoF/wBVitPNmuomiiUeli+zN7AfNKdC6ladct/x8KMmtgmk74ON+OQe1F690/pfWenN0u81DXspVsFGHBz7g+/atDOWWxM6IqvTTA9f8bRtbiy6VGfOkQO0znZfbAHcV6h0m7uuo+HbK/uk8i4mhy6A5DFdtX2Yb14R1Lwn1V7iKwsgJJdIjTldQBO5ONzvvXs3Qx/kHSOn+HOs3CtfpE2kx5IKgk6c/Gax+nvk3HcJr1CpsASWNxCJ7RluEDxMDlQxBOfsa8l8U9O8P2dza3cFq1uUOklRpBLA8ng4NeyBCXjAKtER6sc/Fcu+jR9R6ZddLu0WSKZSVyBlW7EHtjbFaM+H6gIHcy6bJsafn7p0K9NtTNag+bHhirMQSM5YjGNQOcEVYDwT1brZjurRRZ2dyuorP6hqzuFXY4PK1r/DXhS9srV7rr0QkvYnYQqWDjSvB298cVYdU8QT9CsT1jqeqSHG6Bdw2cYX42rDh0KgW3Amv9rYmkj/AIdtB4bRukQgNDsqsN2ZhyWxj+Paj31wHunQkBgMKc4wTyBVR4d69H4i6EfES2TWTF2VVY5LAEAPv75only6w0xLALvncnJ967OICgF6nNe9xJ7iXXOq9Rg6YbPpwDXwYLGrbDnB++BvTnT+my9J6DH0yU65ZGaR304HmNuc++D3q6W5ih0hUVmAIVyNwRtzVbf3klxlZCuVGnnA396JUF2Ze7xKLqdk150+Xp4l8oMv1KcFCvcfGQc15VN4Qu45QszhvMk1K6bqQeSfY/wNenjrFr5U5cEiLAyByTWbuW69bdLM1hCbpWYlAuDpU75x7+1c3WYUydi6j9M7KaBqMdPi8K9H6ra2glX/ADFkK6XYsXGN9jnHH5Gs91aa68RdRE/XH/BWkDmK3iU62bScAqn7zH3Owp7wn4MPVb+frPXMxFlIiVv+sHOxc4+kY4z96f8A8RLGLonRuh3Vi6hY5pYWkz6lYINK++WAJz7iubqcLNgJYUB4+a+Zt07j6m27J/3gLXxF0nwlD/8AiPojz3ETATXF19SluACp9OR34Br1a28TeG+v2cdxa9UtbdpguqGWRUmVhyuG7A9+K/NHTrjXJ+HlObeYFXCkkkbEn42HNIj/ACyXqkvUjbRgMSM41goBgDG2+Mfc71h03rP0hdCuq/E2ZPSxkPZufp1JYHnFvPdwOjn645EY4PfY81Y2vSBapLenTcxvnS0bBhkbAnGQD8V+W7aO2L6oIizYztsSDwMdsVp/BfW5PD3Ubu6vpnS1dQRDGSylmOxKnbIxW/S/4hV22sKmbJ6OVFqbnpXirofSvEHkWnU5AWt1ZlKyBZlB5A7lfce9WXh7pdt0awitrPEtoM6Cd227lj8715VJ1Qf+p38S2Vu13aSzBsE+uLC404B4PNXD+IU6v0O96bcpJayXCuVeJgFUHjc8bUWL1DEcjFuPA/MHJpMgRa6npb2PSesiS36rHDdQToy5dV1qp2IVwM7e4r823fh1emdX6j0RR+EtY5SI9Tks6DOnHx/OvQ/AM1v03wtE99cFIhKya3b0oM7c771lP8VOgSS31r4ptbnz4fKEMjDcFR6kcEe2cVl9UrJgGRFpv+o705dmY4y1iYvqXT72KRhbLmPSqKSv0gnOQR/Wr7o/T36j4Qv4pAHm6XMJVbjSjAkqoHYEfpQLK/u5bJGgDMNOksBq1DsR8mnuh9Wbo8nUekdT9Vn1JVzpGmSFgDhxncg9xXnfTSwcq3RB/v8AnU6msULyPEqenXLXFsL6EnVCdGBs2AMj2ztTlvPFKkkiRMyaQ8itj05/iQe9c6VZJHJd9LZlM8TedbNgrrhPydjnsO1D6jDBFLIi64ZGQGRCF06SdtJ9s96vPgYAEcwsOYNyYxEYYys1mrQTxA6CAQf14O/vV5N1DqHX+ko91bqs1q4WUKuMqOGHtnvVQtq9zFbJaMxV2EYlGCFOd1Nbibw9f2cM1n0ti5uYm1OxGtnA9IB4Fa/TdNmpgAdtG5nz50sci5i+gWbS9XexumKeeh04HBUgg474pTqPTOvWt1NI0KNEpLM5bGoDcjB4rUeG7Txe7CWacxyWhUNHKnI7qDjv963HWvwN9DPYXv7GYResDhUYbP8AIzXS0+gRsRBBB/6mJ9Uy5dykVPL7JL/rPT1uSoaG37KMuo+Tya5a/tJfw86ByRnZeQPy2qs6ekVtJNFB1IsoUjARvUB8dj7Zq/hboctuH827luipY40rsOVJ/wBq5P7GpNqev61Ny5yv8ZQaOoRX5n6eXdYmDLpQtIG9gAMYHHvW9ubWDxFaxN17oEsFy2G84odIP+tc7r9iKy8XVCdMVtI1pGmyqrENv3LZ3Pxir606h4kadbiK/YKWChbhgyyjuAp3xjvW707IgYg9H+Uy6pSQCeDPOJnl6B1GSB7GXRbvtcNl18tvgYGofwo9rLZ3jeZBcyukh0xrKuDv/wBw2x816jcdb8L9Z1dJlH7SbKkMhCFu4Ddqyd14X6badRtrG2WWytZ10tMCHSNj7ryBTNRoSptDY/rF4dUW4I5nek9Qk8O3XkdQuTpvcoqrlkUL+8f9qvbVjb3f4zrLW7RxMphlKgKQe+TqGa8AKUDWvyrxst94evbC3jP4y2gDKs2CrNk7AZPf23rT9Oup7vo8FjdQApOSRrz6UU+w3FNxatkJRx9vX/cr9nB9wPc9vn8X9PmntwbkZn0qpYjRzjtwBXo6rFFEqrLrk0424YsK/MHRejxX/WYOkWYzbzZLCU7IB9RRuRjtmv0h09LCwtEtIWJjtl0qWOWOON/f5rs+map8gJYTnanCqEBTGbDp/Txem7W3ia5jGnWUBKe+D71WyeGPD97dS9Sl6epmkGZQAf2mn3HBP5Ur0y5dL8uV1xS5YKp31fI+a00LvKWlQFWUlWUHDV0jhB8TKuXmeSX3jS1W4aDp9si6CQoYtEFXjSQMbflV70DxxJf9RtuhjpqpA/7MSqzNpcDO5bYg/lU+rtB1O8uOls9rd3MQ2hcFX37a1GSf5UivhOVJba+8P369KMBUukoLqr/6gQ==</data><length>3736</length><position>146</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>147</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>148</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>149</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f961989</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>150</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>151</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>152</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>153</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>cbhb28y8h8IWz9RsepdKV7qzTp0jW0jy+iKRh60LDBwN9jVjB1/q9nZ+Fui9Zlhh/HRuHdwSrJFsgL8jI796zdwgs7WdperiV+qW3lLBbH9iJAcq+AfTqGdwNznNU/VOsdYR7Lp1rMDHaWqQhGjRmXUMvg+59xVZMpUWYOFN3E9xtZ28O9Pf/MJI16fCNdvhmZmjZshmY998D4pvxva3l/4TmFvcyWugLNIUYqzxLuygjcEisRDYdV6h/h8en2yyTXAUK6yEGR4Ww/lxtwDttq4r0Xpt/Lf9PmJtzEIIVRYpCAzAx/SxO2Q2xz3p6tYBin4ngkXS5Oo2rdSeMq6RxKrMrapoFYLqJYHUy529xXo3RfD1vL0k9EuLR5rRgHIYlVMik4AAJwWODtVJ0Ww8T9R6faQdckaKC0muIp4pjp0QlDoViMBiGwVarz/Dfw9c281rf9Wzay20Ugjtg2QwJx5x3wdS7A029ouUxbqaboHhrpvhi4k6lNF5V5cqqs7OGUDb0hiMjH8a/Ov+MNn1jrniGKG1jnntOogMkA7+VlSdByACTyRX6HupprsXISAXepsiOZ8JnOAQRxXl/jbwr448Q9RsOoWNobZoIGi8uCdW0nUDksSpwRXN1yOcZCiyfib/AEh1Ga3NCT/wttYJPAnUPBnmxW1/0qQlhCw9JY6lbPBJ4PbbFbPp8d8L6yj6yltNIgOnygUBiYepyp2Vh7A49q8z/wAJ4pPC3iC46F16eFr3rUTFY1ZWYNA/0My7aipJwd9q9fl8O9biE9v0YwrazkMDLnXC3cpjfHcA7Vq9OP8AlgN2Jn1w/wA1iOj5+Ze2b9PuEl0sJI5MRknILK2QN/8AVVFPaXViLWO1y9vbu8gdThiO6MO/p4O9XliHNsElGJcIZjp0KGX05GNt+anPc9PhRGMDXbxkDVGMs5I07b4wBzT8f3e0TJKVugdPuZJpLdTpKK6FwCEDnJCnYgk8mqKToP42wuujz3Uge2UMJZXBCMx2UMdxkbfNajrFi8/Tmt4AYYsCRyr4bUvCkclT3zWaurLHRLi96SqtrkVbtQfPAKd1zvseR2pgJaB2Z5ZL1O96H4ni6fYo0dpJH9CoA2o5B0kjY/wNen2bXh6Gs1iZZQjkzqoCyBf9QAyCT7bA0pN1ZOqh7DxP/wC2liAeK6hXKrvsrbZAxirToljPaXsZMq6LglMxnKs4Hpb8z/GlIpWyYTNxxKGG6sFlke1jexcqcMrHWzdwwwQM+1bTw7cLJ0q/lvcSWrIwYk5zgfSSOaz1nbXXSPxNpfIJTeS5BI1FRncgn3q4ewurGxX8IGaETarpcgHyypBYZ5+1F2vEr9J574a8fzXInbRDbRSP5SxfUFSIbLgjG4G1bbqMnT+t+G44ryDyvxKllQjDpnhlIzg96806J4XTpvUryCEG4khcFQCCHRvf22NemdKtBa3tlbTI0eC2lgdSlHXGN+wPcUONT5hBvdxKrwVDFcWvUukNdyiOPJK6dLnOAWP3P51nOmS9T6XLddRW+e36VYyMkrOAzMRwiIc88VpuhQzeGbyVJEM73TuHlLAlCh+kD5U5B+KqZfDV51GMRMmI7CZsYbaQMc5YEbkGoVs3GqdsoY+v3vifqb2kEhjhk/6KSHDkd/Txn2r03qHQYLW4TqCotxcLAsRDnSNu/wB68k6tYTdBkj60ofXG4HoX97sWbt8V6N0WfqFzca7u7LLNhgGYMNeAdO3Bx2NXiBJIMW0x/wDiL4UNxZSXPSrdp7i7wyIg1BGA9Q27e1eM+GoLuHw74j6Tcq37NYrkKD6kdHCsGHYDO9fpvr/iL8LbSG0iX8IAyeadQdJCp4G2VztXk3hmDp/iCK6uVtpre/ddL+sft8fUD7gj3pGTRhjY76hjOyrRl74NuZLTw1YWUsmozTNIir6gFXdgfYivQ+r22rqFpfwPkLCCsSg4Ps2aw6RdO6db2t+1iIopZzHHACweN29BfftnfHBrR9Q8Q9O8K9Wi6X1FZZYre2VGeMawJC2QuPzrRjTaAvxEE2bkPFvRo+s9GjZ5BBfBgYmVtLauwG4H5V530XrvUen9UEfVo3tbiPIllOdBA2XVnjNep9duOldYaLoUS6bvKNGrghfWMgk8Zryi663JZdYm6D1fIZSQGkTUkhB9ILHgDtmoGVahLPd1uEurRrm0xcW1wo1xncHPsR3qg19D/wDsJKc6R/8Ai5UtmCeRIM5XYKWHPwKk9i+tto+T2FaJLjkShVRVb9mFwDnPNLXkcF1Zz9NvozNBcrobBxkGpLD5UchX6W3CexoeqZ0VQAUyA3+oAVW0EEGD0ZhLjwpcpZp0voN4vlq3r84am+2aJ07wlb2txHH1aEXCnclSVVM9sdxmtJ13qbdEtFuY5IYpWf6WGWcdsD3z3qm8LzT9W6M1p1C4K3EjSEqzeshuw7j4rCVXdtAmvEzVuPU878SL1STxKLKaAsjALEVGVIzgD4I/lXo3grwzcdIvJep3shMjAxhF2TB5z7kVoOi2NutpoOtmtW0Lr+tcd60Z8sJoffPIpeLRKuT6h5MPJrG2bBKbql/Z9P8AL/FyCNZjpyxwM1lj0/qk/iUXMh12MaBo2VymG+Rwa0PV+iWvXECdRHmQLuoO2/8ASmFURxLDEQiIoAHJwtbwp7aZFIgjH1K6lYmQRwNjAx6j75q2hiEUSRqdekYYnkmlbUyzfWChB2B5IqwCFsIhK55pu6V5g/WuxUfYc1Jh8bfxBr6Ly4P2Y1HO+Tua+uZVjiaR2IGOfalSbYq+SxXV9IyMVhvHd5cW3QJ/wqGed9IaJN30Z3IHNaYXYnwsecbAtjGa8n8Q9YnsvE80PRVMlwiqrMo1DJG4JPbNZNblCqVPniatFjJax4mSEXUk6ai2ttMiTZZm0ntwCKrun9Mg6uWsIommumwrxsPTkk7fGnk16za9dsbuY2/VLs20sqDUsW4UjkA+5PFbzoHR+nRWEHUbWN4VkJA85QJXAPLd8H+VcTT+kIzAhuJ1G9QKqRtqF6H0aDpXTbSz0ANAq6zwGdRjOKtQSqaSecnng/lQ5TJKSuckkk4G2KFe3idKsxduFaNXxIzNo0qRyCdvyNenVVUV4nCJJ57uADCdyLgYX93tv8V5lc9YtJOtX/QP8xFv1JI9cWo5VSw2BXYcVvXm6f11II7C/hmmkJMaxyDVtztzWEvP8NbO9u7i/cBL2YANM2+CvB++1ZtQ1r7OY3TIB98zfTrbxjbvcXvVOpGZ/SoghI0svvp/d/nWq8Pz+IZJS3UNd3aXgDB9l8koSNOP3qb6D4HHQzJe3t3+MuZl0KuMIuk5B53NWXXXk6L0OfqEgZzbDzmEeRjPuPbO5Pas2lVlBZ+P1jcjqTSxvqPUYbWItEW0ABQOCWPv8Gp9NuI2sBNIRrYaiM8Dt+teR9O/xHurqy/yjqdtG0l8wWORdwpzkZHPvk1tYpJbONredtSIdRYbt/4FaNPqFyLYMVkwsrc+Zq1nuLiIzLpXLkYIz6DyPvR7byrWJ5IlJ0AjAOcDGeKzXR7sXVuXYF3U6RnZdv3tq0theQPIFHpdASe+rHt71oFeIoe2K9J6l+OgjvLe5WSByfjBGQcjkEYrRWsyuDuSAMerfV8j71SQLD572/kC3gC+YGXABzuft81eWs1rcgrayptvgEccZ/LvRCvJlLM/1QwT9OvTcyNFbW8bF2GQQgBzuN8ntX5/6l1a2ubK0g==</data><length>3736</length><position>154</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>155</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>+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</data><length>3736</length><position>156</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>157</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:20</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f96198a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>9DA8dzZ2CrGEXS8i6iz43LZPIO1ZFYaU/TQ2PzNI3ZgC3c/UltaC/T8fZFXYgEhSGBXAIyBx9669hC7rPdRM0iHhhtgjf9a/Kdj1C8V1msLySC7clnKuVOVPweMdjV43jLxO8Jhfqkzq5yyscgnOc4I2H8KNfWcY4YfiL/8AHNdgz9DXPTUlmHkxp5eg4OkakPxWJ8SQPYdA/Fz2sN1ZI+h7cJ6n1bFwf9Q5qz8F+J7TrViLeeR5b6FR5rkYBB4OBttxW5hQFHd1GVJxtkAfY+9dRNrpY6MwC1bmfmLwh07p79SurO5hJtVTzYpWTDKyHIB/tXpfVepXN90a9toSJMwHzFDY2PBHcfarjxbYNGW8RLGsRTSjomysvGpse1eMvby/5zeT9PuJI3YagwbI0nsq9xXLfdiUrXB/5nQwsrEH4lV0Lp131HqIsLY6Esg087kYCou/fueMVNen9W8T9at7exUSSSSrNNnYLGpGSR7Yr27wx0+36v0G7sIGeKWZBHLKVBkI7FiOd+1WHR/B6+FunSL02RbjqUqkvKy+p8bhdhkL8Vj0/pBtSPtHJmlvUfaw89CXdp0u3tZTc2tuUjRhgn0nbnHxT1xc20TLcPJDZRyNpRnYKzk7YUtuc/FYqDxt1MFhZdOW+EIGY11LKX/ewjcgHuM1v44o+qrb3XU7CNp8CSNZFDGJj8fukV6PFkDWF8TkOpHckYXQapjqbsg3OPk+9Uv+TKl8b67jNxIufJjY5RCe4HY/PNX97d9P6ZBPf9SuFiigUs7E7AY/hvWft/FEK9Niv+ozRRi5YaCCQmG+nOd+Pyq9yqaJgIpPKzQQxyEIbzCldwq/woNxJctcJ5EeuLuzHcH7U2qt6GhVX1AENqBBz32qnn6mDff5fCGuJxzpPoUj/Ufemr8wGUjuPW5CEO3J2IonnxuzRBSGG3zigpHCwSbJ8wIVI7aq+VCmXdiT3H3q15gnmKRdO6QnUj1VVlS5Mehkz+zY9mK/6h7ilLvrUcN00PnF2QDKAb5/WnJ7gIVUbEc/3pbqfSIL23R4mFvebFZlXWCvsR3qD2y1HiJp1W4uH0xxlYxy3OP50L/MDO5a2lDYOMD6sDnYVTxWvWbbqTxTQ+VboFxOrbyFucr2FHTpNsl086s0ZyMAD1Z+aEMboQwKjlwk1xoJVlTPq075FRNzHbkW9ymkqPSSMDHbNWkcpitT5j+oHAzjcj7cVkuoXKSTIbgs7MCFXsCOM0RMirLe7MLRapzuFxp/dH2xzVD1Sfp9k9s0cTyNJhdWMKrHj709bWlwSl7LIAoUAr9QweQQaLPYW12zQlQyghoxvqQ9sH4qiSZftuYjVeWxn6Td4uZbsMACwGmNuWP+1S6h4d6ZYeEp+lXcsVnaSqMlkBdiTsQO5rXdW6Z0yaO2mmiBvoGB8wZ1H4JO2K8r8YdP6r1XqEPlTF3jUkR6sJoz9QyNiOK5+oNKbFn/AImvSgFgLoTL3vhy68M3vTryMMLaRkZJFOxVeSf9JI7V7As3TupK8fUsvDOmyKc47g9q85j6R4z8USRWXVbpILWFQuo/uKNsqAN6vvGVxYdAhhs/80VpfISKNolBbIxu4HufesHp7fSs1S/8zTqE+rQBszVdU8bdM8JdJDX6S3SgaY0jBJbI21two+TWRtf8WOmNHC93Y3Fu02ThWVwMcAAciqHxbZeLj0+3mtwjSxqDKFOnUuPY9z7Gqnw5bGyu4OpdZtIVUqNAIzIHPCge/wCVXqNVk+qFXgRel0y7GY8ma7rHX+sRWp6p0PrrJbT4Ohs+kDkBSMDfYk1Dp/Xul+Jozc9djmS4tgqpLC2lnb/uU4Vj7e4qy8QxRRQf5pY24muFQhoThFZOWGOAfyryCGTpbaus2qvFZ5CTQ68eWx7HY4UjgjYGpqsjqwHfz/1K0SKwM/TfhHw30+8tY/EFyrR3ZkZInC4BQdyv7rHvgVfXXT+k9PuRPd2jXTzYUSTMXiGncDTwCDwcZpDwB1zp110G1s+nyeq3B9LnU2gnZiw5oniKxueq2lzYRSNomXQWjJUq3Y/l7109NiXZaiZMjncVJMtR1eJmSK6fTNOdI2zn4B+1K/5SrIyttndTzj5z8e1ea+D+i9U6Bdxr1fqct7GxZXV1DLq7EMfUpHevaYXgdFRsHOD7g/Y5/hTsNt4qA1DozL+IfC/Rup9GEPUrhrWWBkMc/OM7EEcYYVkF8Hx2fUYZbKSOTptucsuW82T31sNse1en+JLa3m6MbF4muBcyJEVQ6SueG+B7149J0nq1lcI9rIIbqzYALUDSvypgmZljkX906l9OPfNYMmJN1leYzDlZQRcJLLbr1A2/S2jgLL/0FOoKffY71Zr03qM8ydKfTdSyDU+fRhOcZ527CqiGwjgvZupdSeBLwDJEP/SYgfSjg7kZ/KrLp3VLxepxfiQGBUqyBPWAN8BgeaWrC6PEdRqwZ91k+IPA/h9X8OwhpppcFxpkSEe5Q8k8ZxtWB6f1nr3VR1Tr/XH12kEEkKsqgKJn2woH7w71u16p4iXq017+GW3sXISOGQeYGDHnjOcZq+8XWiokXRpvLTps665lgTTIHf6WwOSe+N6F8TPuO7oVUZiyqtKR57n5is+oJaq0RTAK6QRnGr59q/QHgLw5FL0q065GFSa3JTzS+sOuclQO2Dwa8XvvCnUuhdT6TFdRG4fqEoIiUEBEDYAZz6csPfcV7RH0iMJ+CisprK2t3Y4Vi6MW3A2+n7cVyvSdOwyMcg5udD1DMCq7Op6Da3cNqBIl4JZnYt5YcOoLHc5yc1rL2Jru3V4iyEgZYED715b4W6XayXJ8+3WKZXLKrehyvz8VuvE3UoB4O6lDrNvNpMaOCULPtpUHHJ425r06v8eJw2AmFe3tm6XfKkbFoWdFgjbzUm0nOBnZSSe9YdfG9namHpd/HLckAPJZOAqQv3CswyzfyNG6N/hx446fdW0nSOpCzadQbhJASvvgLywPc7Ee9R8cL4m6JeQWfUZLWWF2DJNGuGVs7rhsn757Vh1GpdFJIqatPjXdtU3AdcuOn3sMM/RLo3ltKCPLMeh4Cg1EMeGwNtVLdPu7Gbw51PptxIlvNcsjWrMv1PF6nGvkZ2A+aFI97Y+Jbzp1iLe/lvoFjaOP0BkdQfSNlDbggg71lYRLaXLQXUOPJkwVfBYY2IK/unb5zXnMwK5TkHPYPxOxh9qhT+onsn+HVwOkdN6heXYT8XNFlYQjO7IRsSy9ge2M5ryy0sPE03W7aSG0nimRhOQy+ryz6iAHADDHtXpHSep2qeGZrXp08CdUKszC5DYZBuqxOCNLfBq0Hh2+uuh/jrnqT3t4iCcQuWykZXdM7hWOeBzXSXAuRFrxMiZSuRjXZng93BbhV6wz+Vc9SlmLQKMLCFfBBPZj7DtXYbpD5VukeGVizMN8t2OCew9q0X+WPGv+RTtD5MjNNFNjVpuHGdGrlQw2OrbO9fdDsrTo3ia0uOrR+fblXBQjOklSA32DbHPeubl04sECh5nQXN7fd34mi8L9I6fYQTXnX7r8BbXQRNTqEWSMknYYO5G4ArG9WvZ+oXMpuJxcRhmW3eNQqGMHCnHuQBnPJp/rnW7nrHT+mWNyFJsCwUrkqRnbKjggbAiudN6Yb9nuXJS1jUGZiAdLD6QB3yRii+puP0cY4isftJyZO5TeHoVtesQxNEPPQrIhZWbUufWGUfGx+K9c/wAPbOHoPXrhhA==</data><length>3736</length><position>158</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>159</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>160</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>161</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>162</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>163</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>164</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>165</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f96198b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>166</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>167</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>9uKj1i5urWC7maN7qJNKgKBsh2bUuQSV5yN6Y6Fcm1t7S0sdNxbnV5knmeYVOc4z2IzwaI7iLiVPNSk6j1K6lhEVrAt3rIUQ4G8ucnV2AUb5PekbLq3UrhpOo394EKoyrbLFpCsvOWO5bI7bVoJPFFmn/v2gVIY5mTVjLkcZA76jtQL7w/07qcn4rp9wsT6g5Q8HO5BxwT3+aNSP3hKA+JLpviSzmC21tLm6EJlZgpK6SeTx32Pt3rJXU3VOm+MLG7SVrlLtgTEZSqrGwOrCk7lTuvv2rSQdKvoOqR9VhjWRioQMPSqRjYgqd8/zpqfp0FrfL10OY1tlYOWQt5ikekBTxg8EfahIHcYszN/LH1Hxt05rLzZzayeXcwyx/shG66kdT2ZWAwed63HXJnto4VtIJLhpZApZf3Mbljn9a8yuLbqNzHNZz9XkdepN5n7BALxQQCfL0nA0rjUpGV5rdPFJadLtLAyS9RkhZIxJKVEjDjVIwABI7miVbIqRYOy6lYXfRrrq/nL+FhVj5ox9aE5J/wC4EYxzvWXbxVf3XQoeqQLJHJcABoiml2ycDQGIxn/V/CtJ07pnk+HL7pvS7ZbWV5pGaJyWDM7ZZt+dXPtvXg/jDqdqLv8AyeLWqdMHltMxDg++kLuoGMZ496z58oQEmP0qWwWU08HiW167PP1DVaIz6iwmVmC7fW6nDDHI96/RiS2DJbxTyBYbpAUBOGxtuM8EZz9q8S/w78KdL8QzXHXbtCLeycKIjsJJCM5YnbbkjmvVeuravHc30josULIHiDAOVZdOFxkqTyMDesfpgNMTxZmnXtbBV8R43llZCzi6pIJZZWNvbzBQzOGPpOoDI9jmjeEesDrlt1WC4tViHTr6S0bSQQ3lgENjsTmsd0eK7l6zAtpKx6ZE7M8EjYaOReMI2TpbOedu1eswdOsLMzP060W3a+fzJSuAHfGNbY77DfvXXN/uznj28ESr6oWtbB7mOwa/ljBZEwGOpfpIB4we9fnXqnQeo234m/n6j1B+orlpLedGRVQg5KNllZexwBX6d6dcPOkiyJ5MsbaG1HIDcZX4715U1pdXl1PFceIlTqMMknlagquoBwAhLaWUg4IYb0kizVw8Lbepl/8ADKWO56j/AJfdGVWkDAMrKFzjUNOncb/B+a946V0u5t57i5udSyzAYLNq9K5wMZx6TwfmvLfB9jedL6jFfdQP4qSO58giOEBR5gyX1AYx22r3DqdzHZRpO/OoKBnnNURt4gvy1yg8JdFksLSS7v76TqV7dMzPNKFXCknEahQAqqOBv75ryHxz4Fn8R+L5OvQeZBNZqkanAdJkAJwMj0nUSDnbFe4LNb2UD+pREFznsAawvUf8Q+gdG6nL0jqcVxDJEFdXEJdGVuGUg5x+VLbErcMLjdLkdWtZ5FJ4U6vD+G1dKacPE0MkcT6DEf3HQ8AnOCTms14lt+r2klvI3R0lt44hDel9cYnccNhNtSjB1d6/R3TvHPhLqp02/Vrdn40yHy2+2Hxv8VpIVtLhC8IWVWydSFXB/TPNZs+gx5F23U1YtbkRgzC6n408NSWcPXLHrXTpEgaBGaaMamYAAjBD4JB+D9qsrSwvP/UEPWOmwwxRRyGV1CaYY0Leoa3O6tncNxk4r9SXfhbw71GJoLq0iIIwAVC4G3wOO1Utn/h90npMrydDR7b8QumYxPjVvkEo2VJz8UhPR1UAXx3NL+rA2SOTx/CeU9cuJ+ujp0PTOliUKZYuoW8RUzwMW2C50qAw9SkjBGK+tPAzdGmtrHw7aTyx3GVvoLuUI0lvwQ2Dggk+kruMV7ZaeDOmQdWn65FbqL26j8qR+MjbkDA7flWitrCG3QI41Ku5Yn9eeK1/syk2e5h/aiPaOp4b03w94odLnX5v/W/CqZB5um0IBAwwGynY43K96vOmeBDY3gubC2it7q4VluZYZZIm/wC3yTwNxllbNeiX3i/w10xhDedUhjYbBdQLbfAzWem/xR8GI2iO6lndTjQkLMc//g/1puIFfEWXdv0idx4EvepW4W+vdc/ma1d1yoU7MulcA5xzWj6J4Qseif8A1GnYsWw2NKswAOkYyvHvWTuv8XugQF0gsbudk+rKBAv3JIrJ9V/xT8R3ds56NbQ2AJwGY+a4UnGoKMLnvjNWMwU1Imnc+J7griyuhojGhtiBtj5qxjvrMq02v0NsfgivOJ5ep9PispGk/wAxvYoVaV5PSrhhk4UbKT2rZ2EUV7bQX8SrKssYJCkaTn+o4+9N2igTMw3CO67JiPwpDOR+6eR3FYSbwl00zOfOfdj7e9a6F/wjq0VoIUcNrJ+rV22+a+e7tNbbLyf3xQBT4hq0ww6eFvlkspSVj1KxIGXU8DPstPNBCzmaNtTY0le35UzJNZQWvkRNp08k/wAyfeqW6u2tIfOsomumH0qO5Pv7AU8nzAnm/UesPH4suL+K3aU20YiaNHwGYj0nA4xW0SzueteGDY34FtJIAyAnUwYbjPxVR03wpeWt+/XOq3aCW6fUUiX6c+571qbG4jub14opPTakx+rknnOaVgDEktHu4oATzbpvg/r91LPBesLW1jZQ6g/9T2Ir0i06ZYRGDSMmwJ0ke5HNWUjFnUMSRq7d6Ra/haf8JahQxyX25A5pq4wvIijkY8SHTZ2ee6KqMzE4J5/4aaSd4FWK5BUyHEWnufn4r61lSJi+gff57VxhJdMJZXwy4xkbflTF+YomQvoPOgKpvLCQx0jkjkA96X6c0nnRTlWCuSuccZHerFRBCgj1Y1HVih3lyY4lSMEZOkfBPerUSplLfqvUXu7qzurYRKkpjhOrLOo/e+M1dwBkZVY+obaRuB/eq+Hy7d36jfyiNEGNRxz2/Wsn1/xVLa2Yl6MymZXB1MNmU9wO9ZdRqFxLbmPwYWdtqibHqHT+lTvrmgV7hWByyDntVFDdx9S6obeOZDaWw0yLq9Rc8D2Aqm8OyXfiYXHVryeTz7dhGVU4R898fFW91YN0uxuh0fpQupp9AY6tJ1HufgUGPKXUZB1HDHtO0nmZG6s+of58Z+m39xPPA2mMouI4A22GX94fNN9R8K9Ms57XqviKf8RPOxVvJOkKwOdWT9PzVb0xeqdB6kJpHea86mmny1BZIFH7zHjan+o9SF/FPYXMiT3kqGKLOybjcn2O1ZNy7SSPM1qGsAdSxv8ArPTLW48/8VFL+zEEIO+GHBZvmsd0m8n671IfjL1rS4IZRDGx0yKOCM/wpTo3guS66gl31CdILV1w0OckFe4PscVfWPhh/wD1U3VdYexiKFSwC9uFx2FKx58rEFhxf9PmEUxqCAea/sT0e1ZrWMRS8DZmO5H+3zVhA8YhkkYiOKPJLE9hz/CvPpvGdhdX0lh0yJ50gkCzSspRF9yGPIHerY2Vv165sri0vS0Nq7aoQdn++P610hnU2qeDMQwsOTLG769YWswEkjR27KrCRfUDq4wOdu9aSMsY4GtSHif1as5JGMivGbrxh0/p/Wbixns4/LtnZFKt6hjjAO2+a1PS/HHT7+ZbHpMUkpgU6iy4C45GeDj+NBi1iMxW+bqFk0zKLqegajJJrjYhyds9iKajWVwGmYsR35yPY1Sm+hlthPC+7AH86tLK5kaNBMCCN2HyeMVrsbpm5k72Bbm0ktUzkAH5BztULPWQrXEWMegHnc+9MPMiSFnygUDJPfOwqFtNGWdNRwNtB442qQYG4IMzNAcuow==</data><length>3736</length><position>168</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>169</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>170</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>171</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>172</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>173</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f96198c</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>15OZvxJLNI+cs2SSdRO57fbFbzxd1BeueJr69JMkULGCJc40rHywzt6mzWRlWBz5M/0K2dKrtpYctj2PFed9TLMaE9P6NjXGLI5MyJlRS2CSrMQrIc6cncbdwOK0irZmBbWcmWaIlfMOeD6htjmk7m3E8KxKjDJwcjHHyODirGxso5QziY5R9ILYDAgYwy7H7GuRocTBip5udnLm3C/iXllKLdlJV8kAqWOVVffbBAJ/SnpCZFUOSS7EseSPYg/fg96Vjj84KhJaXSqs2MAgbflV1bgMjI06EqBgKuK9RpQRxOBnezcXjl9MTnSBtvucZ754HzRJmkkjT1qCuytkHUM7/lilL8qXEMDEpIFVQDjJ7nOP4GvrZYVlCyrqRvTpUcE/B4+aauTmonZxcFOy6WxktrCrpOoaeM+4+aKqxPmKKMaV2LE4JB5H5+1M/grbUmhlKn0sC2CrdvzpsworhDG2gqNTahlgPcUzYbupYyVM3JapCGCykK5GCeFYcD5+cc0q4dp0BGgqRknIXWRyMHIB71onjTQLcEMi753P2/MUnEDK4jdkdQADt6mAPuO61nbDzYjcWX5EB0m8venXSXds7LLry2klFYr2dQcEH3r6y8Ydd6L4lfxO1x+NidjFNalWXMWPoXtqU7qTyNjjNfXEarHJIJFaLGkEDJO/cfPFV0xi0xpDhgdmyDuOwGN8g8Uv6jKQAYaYlYncO5+l7S66J1yzsri3vcRXqlokV9Lktuy7HleCKsP8li/+xH8P7V+XukXFx0XqUt3ZWsDIvpTU5DSIwySSMaGzww+xr0uD/FiDyI/PWPzdI1by/Vjf933rfp8wIu5yc2hZWqWvh3xH0/xHOOnXsfk9T05jddhIoHc9m961/wCJe0s5bV3bMnp1claxfhfwvcxX0HXry4Dm0jZYo1XDEnYM2dxt2NXHVPEPTem3EVpdRyPJOruzBCyqE5z3H3o9Gx2++KzIof2RKxtUgu9VmsLRqTq2AfWeWLck1U+MvFt70aKPpHSEUdQmXUzybiFD+/juT2FauJBc3QntYgoljBRyNtx3HvSqQJISerW0U9wMrnAbSB2yN8Y96c6blpTUTjba1tPzBN0O8vb4zSh7u7lYszD1yMW/p7Ditj4c/wAO+roTdm1a1QHB80hWb325/tXutmVt18u0gSAsCNaIA2Dx6uarL28LL+GTW5LYJHOe+9c3B6QqtuYkzV+3kigKlDb+D+lKUlurhpJkIKoBpXHyeTTt/ZsblZnVGwhRSF3UHv71cxwsIFx61yB6uaQu+oWMUiRXFxHG6/THqGoj3rqLiTH8CYi7M3zIdFjuIE8i6/aDV6WA2H3H/MVoQ5LekbAbnkVgup+Krbo1l5y/tizaVVCGJJPsKe6V1qCe4Nr5um5CCR4hvpU8ZFGuZbpSJf0jV1Na8qIQ7ny4x34Gfk0hqQS6o/2ilclvfPajSdQsGVbaWRNcgA8vOWI98UO4jsbRg0JH07DO2e+O1QfiLUQ9qzSvuyxr+9nYAD5rxq78QeIOp3t/d2l+1n0qJ/K1hNaqvAOcdz3r1zpwNw+nIKSAg54PuDXnn+KLy9G6XFbdPkWCwumKyKAM6xuM47GsWs3BSf8Aaa9JRbbPM73rN5Ev4b/M3u1h2ZjlMZ4x71654Ps7+x8NW7eUY5LlWl9eznUcKfsRxXh/Tug3fWIltICsTMVb9qcMQpBOPmv07cdTRIdUhVYreNQCD+6qgcflXI9KVnZ8j3+J0dWwRVUCeXXXU+jdJ6l5t/rS6caWCAsjHnG2xYHasn1xJ7vrbdR600thbgALIRqXQOAo969E8NRJdWt11WKVLsTzPJawsoJSbg+rsDtWEmb/ABI6+80bdNMVtZS/tYpkUAt3Hq+ofIotUhYbWsg9AD/f8StKabg1U+6b4dh6tBdydEvjJOoRHWZNCEN7DnJFbIPadLez6d0/StyjaQV4LEesnFU3iC9sOl26Wdov4S8uI1aZohkEJwBngik/APT4r+Wec+YJ9a5eTb0HfKjsavSIisuNAN3Z/wDXzcvOxKl266nsfRbk3ELSXEh1HVuRj6duO1Wyhi7PMcKo2PIHxSEdna24eC33wBlmOcH4qwj0xWckzv60bcEek/avQLfmcX23MV42uhF01/8AL5TAWI8yUD9zuMfPxWA8G+MLHpN3JZ9RZ/w8rArJwseobNp50nv7V6Xc9Nh6wYjcEeXjJXjUD7CqV/8ADrwr1C6CyxzRINyqtkN77nj7Vzc2PK2UOhHHHM3aTJjVCrib8FruNXIDRkAakOVYdjn5piIyW0RKIHZc6R7j/elYLGz6Lb23TenqTz5cZbLsibsfyzV08ZkkWVsqyttjg4HFdJTx7phO27E86Tqniq+W4vGsVtZbR2MMStlmVV2z2zqrwYSTXFuLk4jnklLEsMEOzeoMPvmv1vIbWJ3FuhMpwWf2Ptisn/6I8PG6e5jgzK8rSkFjpDNvuOCM9q5Wv0BzVtP85u0WqGOyRzPIvBXR+pN4vj6xM7x9PsJmheRRkzHT9AH+kk/V2r9HTxQebiMBgu+rviqbqviSHodr06NoIbdeo3K2yjAVc7anx7Cra6mhjkypCKvJ7MPitmh06oNqnqZc2UubMRv+odN6V0+TqfV51toIzoXuzNjZVHcmvFLxvFf+JTtehW6b0GGZliJOACu2VA3Ziee3arT/ABMtr7xH1Ho/RoENt0q0WS6u7tjhE1/s1x/3Y4+9bu8uYek9Lt7boxjuZraILa2ruFV8D935PJ9zS2Quxs0o/qY/DtQAjljM11HqEPhDpEviDquZBaKqa1XdmwFA+MnvWvsepR33Tra7EgLXEKy6cjUAwzgj4H6815j0ZPEfiCe86T4uiWC1voSz2pAOlWJAIf8A1Z7dq23TOk9IS5c9IbL9PVbeTcnUIxhUPyPf2p+EsWvwIrIBVHu5b9N6rBfxhrV/NUHdl3XbY4PB3o95F0VHE3VJ0CIMlGYBduCV7090npdraWwgs4kgiGWKJ9I1b5H3Jr80T9Pk8ZeLep9I8QMekdQUNpcZZWVTgBQdj6d80rV6xsYAUWTxGaXTh2NmgBNJ4k/A2/X+i+IYIJJenNLmN4WxDHMuQGZfb7VrpepwdXcrcyIHUhgVbYkZ3HxWitOk9Cteh2vQFg8+whQfV+8y7kn2JO9YDqnS+mzdZjj6bqsku1I1INQZfYdhQLuWjfdXDXaSR8TzPxdclPEU7eUIntQGJHBKgYY++SRitx/hj0nrtxff57OVXp7pILjUcM7OMrhfg75ra9Y8G+H18P8AUIrGNpuoXMeRLKdbMy7hfjcV5b4C6h1Zepx9Ha6W3jY65CxyqkbFPhs7YriLibHqreyDyPwb8zprnV8JA7H/AKm58XeDrPxbJE1peR2vUbQlHZhq1REeknG6le1ehdENx4a8PQdMnkW6lhj0vIRnXgYJGe5G1BtbGPpnULw6FButGosMfQNiW77VlfEnXJunxQz28X4oMxQqGwRngY7iu2MaYt2RvJnN3NkAxjxNjcXnT+odMuIVj/ExrAQ6Nsfp2Ge/xX5iuuh39oIIILSR0u2RY2j9WrJHpyOMd/tW98PT+OOsdfWxs4Wt7RnBn8xcKseMlASNya9v6dbdO6bdFY0VoYfUoIA0H4+1ZX06apgzAio/FnbTWoo3K/pHSLTpAlsIIltwNLSlRjWWHOPg1SdQ8V2fhSf/ACqGzn6peEjWsKEqoA==</data><length>3736</length><position>174</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>175</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>176</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>FQ6lcEkHtn3qqfrCGZreEqVzgIoGWPf716HDj2ip5MsSbnkz9a6kOp3NjfEkxSt5cf0IqJsDx3/jV10+7Zk/EyarYTggLgkkjYsQdwP51dXHSbMdQ/z7qc4k/DA+XEuyKw4MjHnHYcVRydY6bcXVtczyGWbS0i28eS0y8gk8Y9hSsSsrG40ENQAlk93Nb22otgSE4bG4A+Pc/wAKBayy2UJfQzxsdQOcnNUttbXvVLtup3Mywajq0YJKJ2UL2GPfmrCM9cubpIIrQJ09Tlp2P/UX2C/u03E7GBsAiHRrrxDf9auZ+pOkNiilYIkwzas8n5FZ668CdZeIg3CXExkYq7fXoY5/LHtXoN0/T+gWxuFtT5ZYAlE1sGb+fzSkt9cm1luIMNLpyiH2929sUGXTK6lWJjMGcq3tE8pHgTr9her/AJeBchic+U3qBPuG2/OhW3TPEPQetR9Se2eOdiSzYzqUcqT74r0/onXku3d1lUvEdBX/ALvcb8Ve/iTKHNxpdcHH9qyYNAgIKk0IzJqn+0iZ3QnVLiHrPTURJpIyuhgNerv9qs3tLiIWiz7ljgqRwe5NBihjs71bh5FLYLFMcD71dRRxu34syE5GkZ329gK6YG2Yyxu1jqyR2gMaplh7cflWR8TdEuPE1qlpGUV45EY6/ZWyf1rRyqiyqDluNj2qw9CkE7EA496pl3Ag9QcJprE8WbpsF54imvOkdRVraCVUuomQl1dd/Qw4FWfX78HMILQeaNJxwQeeRV7LbwW15MyW4RbhixZE3Le7feqPqE9t1S6tunElG3eRsZCqvbPYmsOLTbFO3zNy5tze6XnQOhWHROhjo9nI8skz+c0j4VtbAcY2xish1bxX1aLq1z0Yu0SwqA7uf3T3X3rVOY4r6NrZm8uJdgDkHbv/AErx3xxdXaeInj6ogiZYkZSrZHlscgnHB+DxWXX5mx47HHNcTRok3uQf1jV30Pq3VbhGFws1usalp8eok8r969V8P9DtOkWajp6NNPOMsztqzj29qU8JdIvFsZbW4mH4HSklmwXSwVxl1J+DW2hsfw9urQSaWCkAcfmfamaDRhf8zmyPMTn1JPs8QVmZUDC5XAO5J20/n3octybsizgfMYXLYOcHtUB1WOK0uDHPHO0KEaBuWcjYfmaa8OdIg6LYxXN6pa+mGuWPfSmeFFdIfb7ZgUBWiXRL+H8Jc9VkRXt7Q4dl9WhVOGb8j2Heso/j27674qVeidPluukRsoXy1Ids7O4PtnsfatdD0iLpbX1vZyGOHqGp5FONKBudOP8AmaV8MeJvCZaPw74fuVeS21I6oNLDHOWpRwu1AGo/E4RTxc1i2dpH1uSeTJaOPSsurJ5zpA4A9/erOXRKw9Z0g6sqMDNLRyW6oQq611c5yaJ+2uCugYwTsNvnitnA+6ZmNmCit8F9Jwh5B/nSTTwfjra3SKSRbgvqlX6EKDI1d8NwKpuveLui9BxaTXIeZ1YiKNgzswUnAx39hRPDHVJuseG+nda/BvZG/wBRWKTZxHqIjZvbUNyKBXXxzGfTZRZ4ld428LyeKW6L5DKjdNuTK5Y7BGxkAe5IFPukE7GK6yTGc6VbOkn3/SmraZhcPcPq0PgheBgc5qhuOnXstp1SDplysN3fIwtXkyBG/uT/AC+9CFCEn8Qk91C5X+JvEnSehRGC+jW7uTGI1tM5VtfDSD/Tnua8M6Z0jrnXertNFIzX9opnWRTsrKfSi9tuB8VHqPSvFEvXpem39nNN1Fm8uVsZDuowuluCDsRXuHgLw51vo1ncdP6oqWrT4lMo9TKzEKEz8KNx715tfrarUgkFVX/j5nb249PgJFFj/GajptgU0sztLdyR4cE+lWI3/iTTHTLezjurvqccTRyXKLGy9sptnH8c96o08QyR9WbpFownMaMrMozl1wQWI+D+taG7u1sbG66hcyCJLePUxPxyMfOcV6RXVRdzilGLfrGenzPBcGWSQBCmwHA/5iqTxD0Ho/Xx+MljaK7iVCkyHBQrwSO4HcVnU6vD1yJ7/oF3HcxwuizxbhvX9ODwMb1ZeK/FUXg7o1rd/hzczXExiAY6QqqpYlvuOKQ+Rdu49f3zDx4mVto7jd1FdLatGWXzCEIPGocPt2zWa8bWq2tjZWfT7lbK5Yai+ckYIyiD3JO1Ww60/WLe36n02EaJ1SSGVlJXSx3UD3FaZLSyuUkN5AkkoJOsgalYb5BPB23xVFAV4MmJirc/2YhIlzc2EcQTyJJIQGzgMrkZOT77VgbfoPQuq2tyRbg2/USPOKsQWKHGoY4OR2pPrP8Aiz06zv5rWytpeofhNQdo1yGxsSO+BXofROnWjdItr20DLHdxCRYzsELbkY96Uj48jbR2P+I0K6Dcwq4xO15adEb8HB+KmihCRI5yWKjAYn453rx3p9lL4n8Vjo10rY6RF5kkqOADJscDHIzXsNxPcSW8ltbnyXYaVZuVFKdG6D03oyzXFhEElucGaQnOor2o8mJmIo8SYc21Wvua23KWol8onU4BLNycVWK6XgeKSErGgYu529OMnHztXIrmKUlvNCRx5IydyKpU63b/AIqCFYmkWUN6eDoPfHsa0ABRxMwsmjKDpHiDoNldCMzLc2fqxJqH1DcfwyKs/CnRn6XJedY6bC6r1OQu0btqAXtp9s84o8X+H3g55Nc9ogmhYS+WjYC53AZewNah7lLeJUgAijAGnRwAo2wKThVibMY7qKUTE+IJH69Y3ln0WZU6nbjAx9KFtmBI74/Sh9D6fddF8L2vTepS6b2RiTEr6nZu25/d/lTdt+G/zaWW0G9y6+YsS51MO5xwcc0tN1G2v/Hcdp0lRMvSo/8A3Uw9Q1MNox2DLyapq3X56j8XVAcDmFh6HeX9p1Syvbg3E0ylVV10LGCPo+fvRfDPTLvovh3p/RJUHnKG8wcqoyTgVq3M7rO8SCNABlmP1FuT8YpuJggiSTSxYbE9mPanY8YU3M75SeBCWEDFmn3Rcd++KXhmnSIuc4ZjuOfsKS/H9VurB4+mAWzxzlHeUaiVU76F+RwavTFEFQQ7BcE7ZGrG9M8xFc1EzN5UP4gt/wBJWY57hQScGsv0HxFb9aRuqQ6oLZyQNY0ElecZ7e1amL8Q5MiAOu5wRsR3GKp+q9J6Z4i8jQrxfhmGUX0JkdmUcgVZYwko8GKdR8QdDubj/KZpljMsRkAcHS69wG4rzbrfV+r9B6QOreG7iOOyi9RUbk74C0j1zxFa9N8US2L23nRIFRzqBRUH+kdvmtZNadEtumBvwoa3RTOImb0u+MhR759q5f7UrsyqwsXc6OPTFFUkd1Nt06U3/SA94BmWFJWOMDLAEg1aPHoiVogDIoC4B1AbbZHbNeDeC+v+Ieo9djtr2fyrO8EhaJhowqDlR2wNqL02e/6Z4t6n4j6fctN0l38gq751MANkU86TUwa9WAKg/H/f6QsmhKuQSB/fX6z3C+Fpd+G7y1ul1a4mXQf9RG38aoum9OHTekWELza/IVMrnUQp+T7Uj4b6ut90y/vZS8IDsSJDgMq/vLnsaY6L1npfXllaynWVIG0vpwSG7D4raGUm/mYGRlsDxMx4m8PdPls+pR9UQGG4dWhlVcNGW/0kfNU3hLp/WOil+mlgfwuFhmbfVG2+CO1bjxKkh6fJdXNz5dnbKPPXTqDRk8qeQwrE9Nt+swdT/Bqy3FhKFaJif2hU7qD9hWM4VXLuqb8WRjjIaQ==</data><length>3736</length><position>177</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>178</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>179</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>180</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>WXViO4w7KjDGAeSF96nZeGOnWNmo6OENxAShZCDoY74POM+1ZBpcqsQjAKfH9+Yw50ItgSw8+Jll8L9J/BwdKu5Hubm3xcTNKdRjD8YrX+H+gdG6XDJ1HpcXnXQVj5sqgMfse35V5RYdOvbbx3a3kl8zT3rsk8P0nQvsp5FfoK5tWezlt7ZltjFvHndWXuGAp+iwqW3FaI4iNRkYAKG7mb65czSRWdvFAold1JnU7Ad9Pz2xXjnTCfC/jCHxF4rlllspZXXzR9cbA4QuBjKntXo3iDoHX+oWfm9Mu06fDGg1NjKse5A7fBrzPrFhptR0iG8N9+CdLiYy4y+k5xg/u0n1Cywaqqj/ABjtCAoI+b/lNN1To3TOveK+o3l0Jp0lVbqMoSqC3I2IHfcbgb1YeB7pEucR3CSXsaMzNGM5jZtlHc4A39qe6T1nqPXPFZ6tatbw2kdssRt86SqAAkqMdqy6x2dl48tb/wAOyCNrpGaQOv7GXWfUyY4OBxQbtrDIo7Pn8/Ei2wKMfHH4/We1w29teW7vanLjEhZTgsG+oY9xWU8WdJSTwz1RGTzmMDNGdOTqG535GK3V3bW1nBcTF/LVgpUKuefkVUXtq150+4tJHY/iY2Qhdj6htj2NdbJjtCvyJz8OUhwR4n5fkm6lZ+G7Dw/aqTc9RdmbBAlMXI1AbgE+/amLHwrMb3p8V7eFIwhk0RqfQVOSrf6c45r2O96DfdKvOm9W6N0+G6uPJEF1ESFdiowCCd/SBvWZnt77rPX/ABDb9NmW08u2URswzEGI9x87GvMN6bzeSzXA/wB56VfUBt9goHv9TPMbmC66y0t90y2P4SaZlRYwDqA/dI+a9pjn8N+Ieg9H8L2atd/gIj5sEin0spJKOT3BOwovSN/BvS7a7sYumXNhMxMUJ1fiHQellYbgMdzmmOndaku0h6hLbR6ZW03arlHjbOwbbJIG+a3enaEICT+9Ofn1RNDngzzDqngWSXq8idMuGt4rcZiVTgAjhcnjBqv8NdIthcdRu+ox+TMkwhhgc4LnOWcZ7H4rWeKj1a/6ubS2iaDo5eMtdac4fWN/f4x3q465Ol/4r/BQ2xS0tEWVbhQMM3YLnuRzWVvT8ZyHIB0f4XNy6s/TCE+I70bwze/5p1O+nuC8UsWi3g/cTKnLL2JBqp8Aq1v4Du+h9VuI7G6mv5reAvhfXjfc871zrfi+/wDCklrcrZtJJJsqtsijORx+8ap/D/ifpni6+Twx1vpkDx3LyXC+UWSRJvq1Bu7HFNfV4VzBVam5FH81EYcOUo1r7eDf6R/p03VVjvej3UvkywW5e1Eagh1jJDOsnBZjnbtWk8N9A8O2Np0/qTyrF1lMyh7iTDuT9S77nGfzrPdc8PyWX+HF7biKQv06V5bU6svpZs5J5wASNNYbxSkXUOleGOooJHvmtVVmUkbxnByB+9x/Wk6nV/QPuWyOefi/94WHAMooPXPj9P8AabbxXBY2/i6364l3EkXV4x5TPtCs8IGd/wDUV4+RWiu/C9v1ro9wnRG/bXoViQcxs+wJPtivMIPFC9Z6N/lPii0SZ7OVvLSNP23r+ltHuvuKn4Z8TdR6HZ9I6c2k2rTSoDujaGfZiSd2UndaDTarBlLH91uf59x7afIqrX3L/KuxKu/8M33g3qtp/wCq4f8A8X3DqGuIPUukHIIx+8McGvb7OfpsHklpWktOpxD8OG9Qcj6efpzzWx6h02z6v0JrfqbgwOuJBjWNI5/+OPevOeldGXwvC3TFna96aWMto0pDNCNO6K3OO6mt2k9P/ZmK4+VP9P8AqZcuv/aAPqfcJnzaXdvfyyW94LWG4mMssUjDLMdsJnGBtWY6n1S9sLq86R1CIXUMUSzoHPoRTn1E8nVnGPegdW6Nd+JOrxRRT5t7kiGAk6/LAGWJA4Oe5redZisrKOC26loaGK3S1l4d5CANIP7wB5rns29cm07AD346m3EApQHkn+c8+terxXvSDfG2Wwj6XMkcIhH0tMpzyDkg/HFE6NH1DpnjSyPVXeMXaPpkK6kdQNQCn2B5wBmtd4EvOmdRtrvpnTLdYzDMx0Y1KQR6ZCT/ADrH9N6TP1S/u7G66gGe3nAjiDepSp+uIg7DGxUfnWRVYJibdZNcjrgzSGUl1Iqr775nvFp16PqV5bdN0MseopKykaQSPTz2NJSLL/nV34ei1QRwxJLFcKD6iXwyE/bfNPdN6dZdJX8Uy5e5CqrE5y4G5Hz70bqfhuDqBgkhvHhuUwVcN6GA5Uj27V7NNxFt3PLrsU2Ilc2V3/nELxza8AqMnT5anAb1HlW7iuxWXTlWfp9tCstvbBm8okE5JyAA3O/FLQJPL10WN02pkXKKCSNsc/nVkEk6W8kfUYUmnckllG5BOdvtzRr8mC3HEjDdqbq06a0q+fKpJUDScIASvtkA1ey9OubqICLdY0ZSXHqxjI57A1XQLZR3EV/eYkVcrGwHqAbk59xV9A4VZEZ3KuFUOfnvj7U5QCa8RLGjYmR6dDEtzbtFIFlU6JlQjGrHOPcdqsvDnWxfdR6p0Z1eKbo4UrM66UnVh9Sk7HTwaYk6fYWBjZ4sN5wZWH7w/r9qZtb+w0OA+vXkk8+n5Pbg0Kp8SM9i6j2Ua2EsWJMbnONhz+eazcslp1INFMi3UKjQ8UoyNK+vV8+w71YzLe2aPNBGs1vchcAEB1X308ZHxVWtl+zjl8sBZXUsVzqbTkYP3BNWyj7SJWFtvIicPSel9HmS4sR5RkXP7PlFOSFIH7ozsO1aKTpy3EMLzxATyel2QbKpGz/Lcb80K4isruULbSCMoqjLDGoYx+o4r6a9uOl9Rs7C91StOjYGdK6l2xq/lQpiCihxLDluTKXq/hZ2kjvoy/k61MskLYYEDAYj+29Z7qvRYWvfxV2jPryrSM2gyRNyoP8A2kA4r0bp/XLVbiboU6yWqwksvnqQJVPqJVxyFO29JXttE4uRcyC4iIzHGyg+hlw4Rhyd8/Bpb4QbuHizsO5ik6z06Ke96Z+1RrLSxRVPmOoAKOmPSykHnPOxq0trzovUjE9ndRTC6zCrbqcnsVPfIIIqp6hHH0rqVl02C0kt+mzWrC1vi+to3VfUH1ZbA3GM+1P9Y6cb+DpvV+irH5/TyDNDpUR3DuAzHP8Aq2yMbZNZVutrTUyhqI8zP9Xj6r07rDS9Kt/xNq5xNCWQeUwADMCeRjfHvVNd9Mnv7oXFtIl9JbJpFqjqrxjXlirD1A6dwQNsfNerOkPUhcXIMcJ0LNNERlTqGcYO4YEYNeT9Y8KyC9t7yxiktsxJLDNbqBLFjOpNRJyrcbj08Vj1GnZaZeps0eUE03Bl5dWdh1DoU3TfEvUJpA+iazm0KtzHhhqQqgCuoB5xkd6o47yfwNY23UryOLxH0SWaSBXGUmtlI48zkFhyp+cVo/Dt7YeIBHPHAwvYCyxR3EDFHlZSXBccYx22zWU8ddb6+nT4+lWfSoEtOoriaS2UnQyHGl3IKgjnJ7UnKiqPqr93QP8AfErTOWf6bfb2R1/3PR/FNz0Hr/TOj9QW58lJ7JJrF1cI6ENpkVmwdQIIG/eupHe9K6JCi3/4iG0uJGhMKqgCPsNXIYqTkjvirW/6b07w54Z8L+HHsx5hhk0rMQyofSz/ALTYY1NkDuKVtm6l4ei/y7rgE8MjnNwoAjZOV1ADAIGxxXUwjgbu6nOBHS9f8RC6vohd2v8AmcSqzLpQsg==</data><length>3736</length><position>181</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f96198d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>+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</data><length>3736</length><position>182</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>183</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>184</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>185</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>186</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>187</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>188</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>189</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f96198e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>190</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>191</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>192</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>193</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>194</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>195</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>196</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>197</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f96198f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>198</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>199</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>924ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>200</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>164ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>201</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>964ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>202</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1a4ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>203</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9a4ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>204</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>1e4ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>205</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>9e4ec7cddbb7320086da7d5e0f961990</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>206</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>124ec7cddbb7320086da7d5e0f961991</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>207</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5a4ec7cddbb7320086da7d5e0f96199d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>208</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>da4ec7cddbb7320086da7d5e0f96199d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>209</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5e4ec7cddbb7320086da7d5e0f96199d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>210</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>de4ec7cddbb7320086da7d5e0f96199d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>211</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>524ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>212</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d24ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>213</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>564ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>214</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d64ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>215</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5a4ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>216</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>da4ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>217</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5e4ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>218</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>de4ec7cddbb7320086da7d5e0f96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>219</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>524ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>220</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d24ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>221</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>564ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>222</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d64ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>223</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5a4ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>224</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>da4ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>225</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5e4ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>226</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>de4ec7cddbb7320086da7d5e0f96199f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>227</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>524ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>228</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d24ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>229</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>564ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>230</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d64ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>231</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5a4ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>232</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>da4ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>233</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5e4ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>234</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>de4ec7cddbb7320086da7d5e0f9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>235</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>524ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>236</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d24ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>237</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>564ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>238</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>d64ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>239</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5a4ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3116</length><position>240</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>da4ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>XwCxBE77tS50BdvcV8qNnY7txV7a5lqZzWSS6HBzjGOKm+lcAt9Qz+ftS7kB8D6s5OODX2nWNLHHsauwYSjbPmJkXDd9waLEGVCknHvQ1PlR6TuRgUxGCwDDn2qNKkQmtXC+obb18SAD+7pH1e9SjcJqxzSwViS+MY2Lc/wqj2JIfzPQQntg1FWREEWctnj4oKnBb53xRVhVYtUZy9LyyUZJ0jY6oxgfrQMEHAGpT80RRGWAwcqN/Y1xRoc6jtg4oFknxwV0hdJP9KiqkjLnbtXFWQnIbI9v96KgIH7QaR96MGuZJIBGQDuPpNQXUi5Ya2PBB2x/epgYJVeCNqEAyhVzuf0qkW+ZJBVIbA2P+n3qYAdADwO9fArqwPqHei6wMNgaR2FWpviSQWCMsJNlA7f1qQcKfLHeueYrYA27/l7UEhQ+rNA0kmCCCS2+qiE5zjnahxKFbB3qce2Q306uaGST0kMuo5/7cc1ESCP601ew9qmJGd9JGB2NcYSLnUMrUkgo3BbBXc7j7e1TTIfIIzjYGvnAdQyLk/fFRUOr74GRpHeh8yT6IPGdTYJPYV1gGfVnBxjFFUFydOCye3BoUg05wPV3piySSOGUyou6DSTnaoW4ZCRjJJ1V36R5a8lRn2zUEcoCDuAPzqNC8SbLJoyo71IMyjVIPqOKkGd8fyrmV2Em+N6GLafHKLoXk1AOmAVIVl2PfmujRgg5wn0mgxlGXLDc9/700CUO5NfLhdGRyBnkDOc0dGdyyqBuTzzQFwVCSDY40sO2KnsrKVOoHv8Af+1CvJqPkHidTkkK365FDU6kcMMfnxR2B1BcfT3zvQAuoamXG+1GyRcjEg1Kj5A3I01ILHG4QZIOeaKjBycDG21CUMrA6sAjLdyG9qZhG00ZJzQNAj0+nOQR8UGGTBwg9R2Gff3p8JkoPN4B2/KlAsYfFwxP7q6ff5p5I8wVklJUsRp2oKAvoOcjVjTxnNSG2wGnRn1Z5qcJCqjHs2WqKkKFaMrHrPANGiLFS69qASA25+rgVJfQoTPOaoniouAZ8KJD6d966JQ4LKM7Y+MmoIoCLqGobkb8miRuCQwXsDgUv6YjlgoklQMGKELuG7j4ooJjJLDPz9/ioKGRiNiXbIHx81PWxbIH6/FUVFQZB9QQY3Oc/aiFELo4bB05IqMbdxu3GKKI4+STtsPzoCAKqSQmk0jTjO3apRO+jAIVSvcb1wqHKv7bH23qESldRAyVbCj3FEFPBEk6TrlwEOw5qKya5NAdl7e9fA5kMSnUB/D8+9fRRZZlPJ4PeqLnqSRgk84eSO/73tivllLudtlwpPzXyMqbJsRXYgCCCOdvz96MgAWJIclC2ker596B5eJFfAIH5UaGEo5J3Y8Z9qmHLEjTsNs/NKPMk6mM4IqGjSwZec/lXdTrIMjORn/ap6dTKx4z2qlkkMNqJc5yftRgvJ/4a+GsMWBwM+1cjdGlkUsSeeMAVGkgxEv1IfT8e9TDSEDIBC/6q4fp0LsM1EBidQ5P6UB8SSShGJJUZO/fGa+LOv1AVFI2kOGOMb7VOLdm7YHfegkkEZnVSOKJri9zQYyImVm+nGAPn5qeH9x+lHjXiSf/2b0mntzfTwoA</data><length>1620</length><position>241</position><sys_attachment display_value=\"image\" sys_id=\"c24e47cddbb7320086da7d5e0f9619f5\">c24e47cddbb7320086da7d5e0f9619f5</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-05 09:33:21</sys_created_on><sys_id>5e4ec7cddbb7320086da7d5e0f9619a1</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-262021712</payload_hash>\n<remote_update_set display_value=\"pe-push-notification.u-update-set.xml\">551cde6bdb844b0086da7d5e0f96197c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-25 10:34:31</sys_created_on>\n<sys_id>d91cde6bdb844b0086da7d5e0f96197c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d753e47e90000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-25 10:34:31</sys_updated_on>\n<table/>\n<target_name>iOS-11-Wallpaper.jpg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>82a71a1bbe004b0093e36cf16af290d3</update_guid>\n<update_guid_history>82a71a1bbe004b0093e36cf16af290d3:-262021712,e4a71a1bb6004b00641ce6cafff96899:1733609390,6a5790a195ff3200380a0e8a063fe89c:-262021712,4d5790a146ff3200409c2419317d1745:682984814,4f4ec7cd38b73200afd8fc800180caef:-1347458083,264ec7cdfeb7320041d4ad9e4b9628c3:-1347458083,633ecf8d88b7320060265950f9c16789:1261078644</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-push-notification/widget/pe-push-notification.u-body-html-template.html",
    "content": "<div class=\"row\" ng-show=\"c.show==false\">\n  Desktop detected, please switch to mobile.\n</div>\n\n<div id=\"main-container\" class=\"row row-custom\" ng-show=\"c.show\">\n  <div class=\"custom-container\">\n    <div class=\"top-bar flex-container\">\n      <div class=\"oval-white-1\"></div>\n      <div class=\"oval-white\"></div>\n      <div class=\"oval-white\"></div>\n      <div class=\"oval-transp\"></div>\n      <div class=\"oval-transp\"></div>\n      <div class=\"network\">ServiceNow</div>\n      <div class=\"icon-wifi\"><img class=\"icons-size\" src=\"data:img/png;base64,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\"\n        /></div>\n      <div class=\"lock\"><img class=\"icons-size\" src=\"data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAABoAgMAAAAmxP6YAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEXc3t7c3t4AAAAMiZQdAAAAAXRSTlMAQObYZgAAAAFiS0dEAmYLfGQAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfhBwULNBbXmefiAAAAkUlEQVRIx+3UQQ7EIAgFUFlwBO4zR3Dhv/9Vms5IBaEms+cvn/ppGmNrGrQ9DKB7Itz5OJOvjbjNb+RpthGaeNQe5sf6NtVPBmJhYvRrJzuEZ5GYITzXyZhojxksuszLnmpagxN7WTXNRzNf+m7srJ9M/waV/W0Cn2Hv7bq/EmykhpiysrKyo0mg/H3hYD17wy4yKuDsUYVZ9AAAAABJRU5ErkJggg==\"\n        /></div>\n      <div class=\"top-bar-right\">\n        <div class=\"percentage\">100%</div>\n        <div class=\"icon-battery\"><img class=\"icons-size\" src=\"data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAABBCAMAAABhCV84AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA2FBMVEXc3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7c3t7b3d3Y2trX2dna3Nzd39/h4+Pz9PT19vbq6+vZ29vi5OT////x8fHb3t7i4+P39/fh4uLk5eXx8vLV19fT1tb29vbm5+fl5+f09fXW2Njj5OT8/f329/fe4ODj5eUAAADooEwJAAAAJ3RSTlMAP/T98v7wN9/W6gUKfYeAlEcT+MoxSO8Q7blGs7IS68s0AQ0ODwY9rn8AAAAAAWJLR0RHYL3JewAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB+EHBQwpKgLV4fwAAAEjSURBVGje7dpLU8IwFIZh0CqKCoLiBQUvCCdpwFKKyE2tqPz/n0QZZMOELtzkc+Z7l1k9i0wWJyeT3dn1cNrbz2U2OhCsDjeBXnKoUEos+SMLUGPkm7YVaDrPGAVdYwWGvQikvn6xAgfR63DkvGE3GmvZAgwmvusLqKejFOBbqFw/L6LfCSSQQAIJXAGPTwrFpNMSKrB89nt0XgEHilygAy+vwIFSRAdeowM9AgkkkEACCSSQQAIJJJBAAv8xsIoOvAEH3oLPZmqY0636nSz/juX+AXQ++Nh4aiQ1W6gDTPgRMIEEEvgHoDauN1KU/5ECjD916LrJLAX4FQfOi7+j/hbgzPU6yrqxVjag+pn3IJp3xL4apVxfv3XGBoTffkPfH1wA2dfrFaEeT24AAAAASUVORK5CYII=\"\n          /></div>\n      </div>\n    </div>\n    <div class=\"home-container\">\n      <div class=\"home-time\">{{data.notification.time | date:'hh:mm'}}</div>\n      <div class=\"home-date\">{{data.notification.date | date:'EEEE d MMMM'}}</div>\n    </div>\n    <div class=\"notifications-container\">\n      <div class=\"notification-container\">\n        <div class=\"notification-header\" ng-click=\"c.goToPage()\">\n          <div class=\"app-logo\"><img class=\"app-logo-img\" src=\"data:img/png;base64,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\"\n            /></div>\n          <div class=\"notification-title\">{{data.notification.title}}</div>\n          <div class=\"notification-when\">{{data.notification.when}}</div>\n        </div>\n        <div class=\"notification-body\" ng-click=\"c.goToPage()\">\n          <div class=\"notification-body-title\">\n            {{data.notification.body.title}}\n          </div>\n          <div class=\"notification-body-text\">\n            {{data.notification.body.text}}\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-push-notification/widget/pe-push-notification.u-client-script.js",
    "content": "function PushNotificationsController($window, $scope) {\n  /* widget controller */\n  var c = this;\n\n  var isMobile = {\n    Android: function () {\n      return navigator.userAgent.match(/Android/i);\n    },\n    iOS: function () {\n      return navigator.userAgent.match(/iPhone|iPad|iPod/i);\n    },\n    any: function () {\n      return (isMobile.Android() || isMobile.iOS());\n    }\n  };\n\n  c.show = false;\n  if ($scope.$root.portal && (isMobile.iOS() || isMobile.Android()))\n    c.show = true;\n\n  if (c.show) {\n    c.current_date = new Date().toISOString();\n\n    if (!c.data.notification.date)\n      c.data.notification.date = c.current_date;\n\n    if (!c.data.notification.time) {\n      c.data.notification.time = c.current_date;\n    }\n\n    if (c.data.notification.background_image) {\n      if (c.data.notification.background_image.length > 0)\n        document.getElementById('main-container').style.backgroundImage = \"url(\" + c.data.notification.background_image + \")\";\n    }\n  }\n\n  c.goToPage = function () {\n    $window.location.href = c.data.notification.page;\n  };\n\n}"
  },
  {
    "path": "pe-push-notification/widget/pe-push-notification.u-css.scss",
    "content": ".row-custom {\n  height: 100%;\n  position: fixed;\n  top: 0px;\n  width: 100%;\n  margin-left: -8px;\n  background-repeat: no-repeat;\n  background-size: cover;\n  z-index: 999;\n  font-family: -apple-system, BlinkMacSystemFont, sans-serif;\n  font-size: 12px;\n  color: #DCDEDE;\n}\n\n.custom-container {\n  background-color: rgba(0, 0, 0, 0.5);\n  height: 100%;\n  position: fixed;\n  top: 0px;\n  width: 100%;\n}\n\n.top-bar {\n  height: 20px;\n  position: absolute;\n  top: 0px;\n  background-color: rgba(0, 0, 0, 0.0);\n  margin-top: 2px;\n}\n\n.flex-container {\n  display: flex;\n}\n\n.oval-white-1 {\n  width: 6.5px;\n  height: 6.5px;\n  background-color: #DCDEDE;\n  margin-top: 7.5px;\n  margin-left: 6.5px;\n  border-radius: 3px;\n}\n\n.oval-white {\n  width: 6.5px;\n  height: 6.5px;\n  background-color: #DCDEDE;\n  margin-top: 7.5px;\n  margin-left: 1.5px;\n  border-radius: 3px;\n}\n\n.oval-transp {\n  width: 6.5px;\n  height: 6.5px;\n  background-color: rgba(0, 0, 0, 0.0);\n  ;\n  margin-top: 7.5px;\n  margin-left: 1.5px;\n  border-radius: 3px;\n  border: 1px solid #DCDEDE;\n}\n\n.network {\n  background-color: rgba(0, 0, 0, 0.0);\n  margin-top: 0.5px;\n  margin-left: 5px;\n  color: #DCDEDE;\n}\n\n.lock {\n  position: absolute;\n  left: calc(50% - 3px);\n  vertical-align: middle;\n  margin: auto;\n}\n\n.icon-wifi {\n  margin-left: 5px;\n}\n\n.icons-size {\n  height: 10px;\n}\n\n.top-bar-right {\n  position: absolute;\n  right: 7.5px;\n  display: flex;\n}\n\n.icon-battery {\n  margin-left: 6px;\n  margin-top: -1px;\n}\n\n.home-container {\n  margin-top: 65px;\n  text-align: center;\n  color: #FFFFFF;\n}\n\n.home-time {\n  font-size: 80px;\n  font-weight: lighter;\n}\n\n.home-date {\n  font-size: 22px;\n  font-weight: lighter;\n}\n\n.notifications-container {\n  text-align: center;\n  margin-top: 25px;\n}\n\n.notification-container {\n  height: 115px;\n  margin-left: auto;\n  margin-right: auto;\n  width: 90%;\n}\n\n.notification-header {\n  height: 38px;\n  width: 100%;\n  background-color: rgba(255, 255, 255, 0.53);\n  border-top-left-radius: 12px;\n  border-top-right-radius: 12px;\n  -webkit-backdrop-filter: blur(12px);\n  backdrop-filter: blur(12px);\n  display: inline-flex;\n  position: relative;\n}\n\n.notification-body {\n  width: 100%;\n  background-color: rgba(255, 255, 255, 0.8);\n  border-bottom-left-radius: 12px;\n  border-bottom-right-radius: 12px;\n  -webkit-backdrop-filter: blur(5.3px);\n  backdrop-filter: blur(5.3px);\n}\n\n.app-logo {\n  margin-left: 9px;\n  margin-top: 9px;\n}\n\n.app-logo-img {\n  height: 21px;\n  width: 21px;\n  border-radius: 3px;\n}\n\n.notification-title {\n  margin-left: 9px;\n  margin-top: auto;\n  margin-bottom: auto;\n  font-size: 15px;\n  letter-spacing: -0.1px;\n  color: #4a4a4a;\n}\n\n.notification-when {\n  position: absolute;\n  right: 15px;\n  margin-top: auto;\n  margin-bottom: auto;\n  font-size: 13px;\n  letter-spacing: -0.1px;\n  color: #4a4a4a;\n  top: 9px;\n}\n\n.notification-body {\n  padding-left: 14px;\n  text-align: left;\n  padding-top: 9px;\n  padding-bottom: 13px;\n  padding-right: 16px;\n}\n\n.notification-body-title {\n  font-size: 16px;\n  letter-spacing: -0.3px;\n  color: #000000;\n  font-weight: bold;\n}\n\n.notification-body-text {\n  font-size: 14px;\n  line-height: 1.29;\n  letter-spacing: -0.2px;\n  color: #000000;\n}"
  },
  {
    "path": "pe-push-notification/widget/pe-push-notification.u-server-script.js",
    "content": "(function () {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  data.notification = {};\n  data.notification.page = serverOptions.page || options.page;\n  data.notification.time = serverOptions.home_time || options.home_time;\n  data.notification.date = serverOptions.home_date || options.home_date;\n  data.notification.title = serverOptions.notification_title || options.notification_title;\n  data.notification.when = serverOptions.notification_time || options.notification_time;\n\n  data.notification.body = {};\n  data.notification.body.title = serverOptions.body_title || options.body_title;\n  data.notification.body.text = serverOptions.body_text || options.body_text;\n  data.notification.background_image = serverOptions.background_image || options.background_image;\n\n  data.notification.title = gs.getMessage(data.notification.title);\n  data.notification.body.title = gs.getMessage(data.notification.body.title);\n  data.notification.body.text = gs.getMessage(data.notification.body.text);\n})();"
  },
  {
    "path": "pe-recommendation-cards/README.md",
    "content": "# Recommendation Cards\n\n## Description\n\nThis can be used to quickly craft a set of recommendation cards.\n\n## Screenshots\n![](../images/pe-recommendation-cards-1.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Service Catalog](https://docs.servicenow.com/bundle/istanbul-it-service-management/page/product/service-catalog-management/concept/c_ServiceCatalogManagement.html)\n\n---\n\n## Installation\n\nDownload and install update set **[pe-recommendation-cards.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-recommendation-cards/pe-recommendation-cards.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Widget Title. | Recommended for You |\n| `Category` | Sets a category. | PE My Devices |\n| `Fields` | Sets the field items to display for the catalog item, using a comma separated list. | sc_cat_item.name, sc_cat_item.icon, sc_cat_item.short_description |\n| `Items` | Sets the catalog items for display. | GL Reporting, empasiegel1, Office 2016 |\n| `Highlight` | Sets the highlighted items, which adds a background color to the item(s) using a comma separated list. | Office 2016 |\n| `Show Title` | Shows the title if checked (true). | true |\n| `Show All Catalog Items` | Displays all catalog items for a category, if checked (true). | false |\n\n---\n\n## Platform Dependencies\n\n### SN System Tables\n* sc_cat_item\n* sc_cat_item_category\n* sc_category\n\n---\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n---\n\n## API Dependencies\n\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-recommendation-cards/pe-recommendation-cards.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-10-17 21:58:28\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Recommendation Cards</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>f631017edbb54300db45bff0ef961926</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>8f2e117edbf54300db45bff0ef96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_c18d993edbf54300db45bff0ef961992</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"empasiegel1\">445ac99adb0a320062e479daae961996</sc_cat_item><sc_category display_value=\"PE My Devices\">f52d193edbf54300db45bff0ef9619f6</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-10-17 21:55:36</sys_created_on><sys_id>c18d993edbf54300db45bff0ef961992</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE My Devices.empasiegel1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_c18d993edbf54300db45bff0ef961992</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:55:36</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>-1433011013</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>032e117edbf54300db45bff0ef961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c55b9f70000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>PE My Devices.empasiegel1</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>c98d1d3e60f54300358979375533054e</update_guid>\n<update_guid_history>c98d1d3e60f54300358979375533054e:-1433011013</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_445ac99adb0a320062e479daae961996</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE My Devices\">f52d193edbf54300db45bff0ef9619f6</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>empasiegel1</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=445ac99adb0a320062e479daae961996&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>Extend Lease</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:20:07</sys_created_on><sys_id>445ac99adb0a320062e479daae961996</sys_id><sys_mod_count>6</sys_mod_count><sys_name>empasiegel1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_445ac99adb0a320062e479daae961996</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:55:36</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=445ac99adb0a320062e479daae961996\"/><fx_price action=\"delete_multiple\" query=\"id=445ac99adb0a320062e479daae961996\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>445ac99adb0a320062e479daae961996</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:20:07</sys_created_on><sys_id>608a4d9adb0a320062e479daae961957</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-12 21:20:07</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>445ac99adb0a320062e479daae961996</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:20:07</sys_created_on><sys_id>648a4d9adb0a320062e479daae961957</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-12 21:20:07</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><file_name>icon</file_name><image_height/><image_width/><size_bytes>1866</size_bytes><size_compressed>792</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:35:04</sys_created_on><sys_id>c967bce6db0e320062e479daae9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-13 14:35:04</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>445ac99adb0a320062e479daae961996</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"c967bce6db0e320062e479daae9619a9\">c967bce6db0e320062e479daae9619a9</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:35:04</sys_created_on><sys_id>0d67bce6db0e320062e479daae9619a9</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>nVVNc5swEL3nV6jqJZ0BoS8EZIwzU88kp16a9gcQIxsmGHmA2M6/70pgI3eaTlp8sPS0em/37Rov7k+7Bh1019emzTEjFCPdrk1Zt9sc//zxEKYY9UPRlkVjWp3j1uD75c2iP2zRsS6HKsc8258wqnS9rQbYxXZ3qPXxqznlmCKKeIZ4jH0RhhHItn2Oq2HY30XR8XgkR0FMt404pTQC+ink7tTU7cufAlmWZZE7xcsbBM/iUxiiR93qrhhMd4eeXvSwrpAUhKFbkVHGv6AQeUTPptK7upjKJWuzi/rxThhOlEM9NHq5bsxriTq96XRfEQEftojGozGs1P16uep0MegSfBmqSZwsInd0jtr0S4vA14hsUV3m+Olt92ya3hrdmRdncqvPu3CyGTzb1E1zPrTrsHttIFofdGvKcnLB4/2uoaSdbktdYjR0RdtvTLfLsVs2kOttyJQk1D0BCrNp+WXO5PODezxuj/+xM6/7UIYrs38L+TsSjNOLAr0IXPN5nM7q8Mrqd4jlnDn7G7Ej35vmDUZFj35XxR4s3Ju6HWAGIcFUckZjgRgnSrA4SWFkPTQmgMhEJIglRI2wh2Jo6lngPf0CZgKkv2UEbjiKwKNdQQU8liCdBkyQOJUulVTY0IBxK+bSkondrWwaggMJs1vrsGKWaLzsll4BnhL2DLBZQ1r/4dhcBOKcnJceyjIyZit9S2f0Xxzz65hpV17RnEF50rqBPGM4DI/LhvnueejKs9gPnlvhiJXT8/s2l/FxNy/VSMKEGBupiOJqqgY6JGjMlbAwhZeVHTyeElc5VwGTEJyCk+oKBW8Saa8BxQwnRGa2gsS+ecEQAQE8kCRhyvYitV2DX75lAxSKmqbQWk1hAkmWnluWkIzKgCLQtzLWFerGlY6pw04RESfOnQCmj8XOJmSrsJlksWOK0UoQnoz6AAvFxlGh5/EAR8BYmrjlFQx9EqlVh8m/wmOSqcTlCcJx5nSsfwkbSaA2+DWMTilwygV8qGmLaPvbK88HLhu3WNi/q+UvD9z0e0oHAAA=</data><length>1044</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"c967bce6db0e320062e479daae9619a9\">c967bce6db0e320062e479daae9619a9</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:35:04</sys_created_on><sys_id>8d67bce6db0e320062e479daae9619a9</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-1060784199</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>072e117edbf54300db45bff0ef961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c55b9da0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>empasiegel1</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>498d1d3e80f54300165a4fc222af344d</update_guid>\n<update_guid_history>498d1d3e80f54300165a4fc222af344d:-1060784199,16bc153edff54300b0a8a66fcc4ebcc6:-12873058,16bc153edff54300b0a8a66fcc4ebcc6:-12873058,6eacd13e83f5430023a4d28f01e2d9ff:-1513316228,5bcb1dfa06f543002e0de988385503a1:-12873058,55ead1fa68f54300cbeaa3334d2daf78:0,8247157a4cf5430069abb9633e3ff2a8:-260021757,f5a6dd3afaf54300a123a2a14a50a3b7:1877299942,79a6dd3a78f543004eeb5d1d379279b5:1877299942,0731017e01b543002cd3b326006af36d:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_category_f52d193edbf54300db45bff0ef9619f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_category\"><sc_category action=\"INSERT_OR_UPDATE\"><active>true</active><description/><entitlement_script/><header_icon/><homepage_image/><homepage_renderer display_value=\"Category Items\">47ebe8aa3742300054b6a3549dbe5dfa</homepage_renderer><icon/><image/><location/><mobile_hide_description>false</mobile_hide_description><mobile_picture/><mobile_subcategory_render_type>list</mobile_subcategory_render_type><module/><order>0</order><parent/><roles/><sc_catalog display_value=\"Technical Catalog\">742ce428d7211100f2d224837e61036d</sc_catalog><show_in_cms>false</show_in_cms><sys_class_name>sc_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-10-17 21:54:07</sys_created_on><sys_id>f52d193edbf54300db45bff0ef9619f6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE My Devices</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_category_f52d193edbf54300db45bff0ef9619f6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:54:07</sys_updated_on><title>PE My Devices</title></sc_category><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f52d193edbf54300db45bff0ef9619f6\"/></record_update>]]></payload>\n<payload_hash>-1217867525</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>432e117edbf54300db45bff0ef961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c545c6e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>PE My Devices</target_name>\n<type>Category</type>\n<update_domain>global</update_domain>\n<update_guid>572d193e7df543009a022d413657da63</update_guid>\n<update_guid_history>572d193e7df543009a022d413657da63:-1217867525</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_858d1d3edbf54300db45bff0ef96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"GL Reporting\">b3894d9adb0a320062e479daae961951</sc_cat_item><sc_category display_value=\"PE My Devices\">f52d193edbf54300db45bff0ef9619f6</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-10-17 21:55:36</sys_created_on><sys_id>858d1d3edbf54300db45bff0ef96194f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE My Devices.GL Reporting</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_858d1d3edbf54300db45bff0ef96194f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:55:36</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>1912330174</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>4f2e117edbf54300db45bff0ef961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c55baae0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>PE My Devices.GL Reporting</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>418d1d3e7ef543006f11f67ca68fd558</update_guid>\n<update_guid_history>418d1d3e7ef543006f11f67ca68fd558:1912330174</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_e09f1c9edbc6320062e479daae961984</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function RecommendationCardController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.scroll-wrapper {\n  width: 100%;\n  overflow-x: auto;\n  white-space: nowrap;\n  -webkit-overflow-scrolling: touch;\n}\n\n.cards {\n  margin-top: 15px;\n  h3 {\n    font-size: 16px;\n    font-weight: 600;\n    color: #485563;\n  }\n}\n\n.modernizeit-color-square-small-gap {\n  .scroll-wrapper {\n    padding-bottom: 15px;\n    display: flex;\n  }\n  .item {\n    position: relative;\n    width: 118px;\n    flex-shrink: 0;\n    vertical-align: top;\n    margin-left: 8px;\n    text-align: center;\n    padding: 15px 5px 5px 5px;\n    background-color: #5a889f;\n    box-shadow: 0 8px 10px 0 rgba(0, 0, 0, 0.3);\n    white-space: normal;\n    .sub-title {\n      display: none;\n    }\n    &amp;amp;.out {\n      background-color: #c0351d;\n      .outage-alert {\n        display: block;\n      }\n    }\n    .icon img {\n      height: 37px;\n    }\n    .content {\n      margin-top: 15px;\n      color: #FFF;\n    }\n    .outage-alert {\n      display: none;\n      position: absolute;\n      top: 7px;\n      svg {\n        width: 22px;\n        height: 22px;\n        fill: white;\n      }\n    }\n  }\n  .item:first-child {\n    margin-left: 0;\n  }\n}\n\n.modernizeit-color-square-small-gap {\n  .item {\n    background-color: #323b4a;\n    height: 118px;\n    margin-left: 2px;\n    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.35);\n    width: auto;\n    flex-grow: 1;\n    flex-basis: 0;\n    &amp;amp;.out {\n      .outage-alert {\n        display: none;\n      }\n    }\n    .name {\n      font-size: 16px;\n      font-weight: 600;\n    }\n    .sub-title {\n      display: block;\n      font-size: 14px;\n    }\n    .icon img {\n      height: auto;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-recommendation-cards&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Recommendation Cards&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"name\": \"title\",&amp;#13;\n    \"label\": \"Title\",&amp;#13;\n    \"type\": \"string\",&amp;#13;\n    \"default_value\": \"Recommended for You\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"category\",&amp;#13;\n    \"label\": \"Category\",&amp;#13;\n    \"type\": \"string\",&amp;#13;\n    \"default_value\": \"PE My Devices\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"fields\",&amp;#13;\n    \"label\": \"Fields\",&amp;#13;\n    \"type\": \"string\",&amp;#13;\n    \"default_value\": \"sc_cat_item.name, sc_cat_item.icon, sc_cat_item.short_description\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"items\",&amp;#13;\n    \"default_value\": \"GL Reporting, empasiegel1, Office 2016\",&amp;#13;\n    \"label\": \"Items\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"highlight\",&amp;#13;\n    \"label\": \"Highlight\",&amp;#13;\n    \"type\": \"string\",&amp;#13;\n    \"default_value\": \"Office 2016\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"showTitle\",&amp;#13;\n    \"default_value\": \"true\",&amp;#13;\n    \"label\": \"Show Title\",&amp;#13;\n    \"type\": \"boolean\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"display_all_items\",&amp;#13;\n    \"default_value\": false,&amp;#13;\n    \"label\": \"Show All Catalog Items\",&amp;#13;\n    \"type\": \"boolean\"&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.fields = options.fields || serverOptions.fields;\n  options.items = options.items || serverOptions.items;\n  options.display_all_items = options.display_all_items || serverOptions.display_all_items;\n  options.highlight = options.highlight || serverOptions.highlight;\n  var categoriesGR = new GlideRecord('sc_cat_item_category');\n  var allItems = 'sc_category.title=' + options.category;\n  var selectedItems = 'sc_category.title=' + options.category + '^sc_cat_item.nameIN' + options.items;\n  var encodedQuery = options.display_all_items == 'true' ? allItems : selectedItems;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.fields);\n    items.push(obj);\n  }\n  data.items = items;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-12 18:12:48&lt;/sys_created_on&gt;&lt;sys_id&gt;e09f1c9edbc6320062e479daae961984&lt;/sys_id&gt;&lt;sys_mod_count&gt;82&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Recommendation Cards&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_e09f1c9edbc6320062e479daae961984&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-10-17 21:07:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n  &lt;div class=\"col-xs-12 cards modernizeit-color-square-small-gap\"&gt;\n    &lt;h3 ng-if=\"options.showTitle == 'true'\"&gt;{{::options.title}}&lt;/h3&gt;\n    &lt;div class=\"content-wrapper\"&gt;\n      &lt;div class=\"scroll-wrapper\"&gt;\n        &lt;div ng-repeat=\"item in ::data.items track by $index\" class=\"item\" ng-class=\"options.highlight.indexOf(item['sc_cat_item.name'].value) &gt; -1 ? 'out' : ''\"&gt;\n          &lt;div class=\"icon\"&gt;\n            &lt;img src=\"{{::item['sc_cat_item.icon'].display_value}}\"&gt;\n          &lt;/div&gt;\n          &lt;div class=\"content\"&gt;\n            &lt;div class=\"name\"&gt;{{::item['sc_cat_item.name'].value}}&lt;/div&gt;\n            &lt;div class=\"sub-title\"&gt;{{::item['sc_cat_item.short_description'].value}}&lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2013239380</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>872e117edbf54300db45bff0ef961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c29d82c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>PE Recommendation Cards</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>cb8299b6d4f54300f6e0c5d9efbbc75f</update_guid>\n<update_guid_history>cb8299b6d4f54300f6e0c5d9efbbc75f:-2013239380,25b19d769bf543000fd4db587ac94bce:-516450496,56719d76fbf543000906300fae5c8c70:-166219830,e8215976b2f54300111aa4183340762b:2062986013,e7801576f3f5430020c33ce6ac81bdfa:1085356194,189d4db24af5430029edba5788414fc7:1007883444,50dc49b21cf543008fda06a01cce6118:-1718558565,622ac172c7f543001d9d6a752545853b:-1954872867,85e84932e9f54300fde29b34d48d392a:1377091928,f8b8857e05b543007fd336e8415afec7:1861381204,5f3a30baa6b54300b624b359d74d1f68:-2093468911,5f3a30baa6b54300b624b359d74d1f68:-2093468911,8f5cbe6f470c0700f46c2a163a9e1b54:-1496348331,27ab36eb5b0c0700c4baa2a8d0548779:384910741,-346280963:-346280963</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_0d8d1d3edbf54300db45bff0ef961958</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Office 2016\">eeba81dadb0a320062e479daae961981</sc_cat_item><sc_category display_value=\"PE My Devices\">f52d193edbf54300db45bff0ef9619f6</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-10-17 21:55:36</sys_created_on><sys_id>0d8d1d3edbf54300db45bff0ef961958</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE My Devices.Office 2016</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_0d8d1d3edbf54300db45bff0ef961958</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:55:36</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>-144612510</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>8b2e117edbf54300db45bff0ef961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c55bd9f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>PE My Devices.Office 2016</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>d58d1d3ee1f543004cfc796af9fdd261</update_guid>\n<update_guid_history>d58d1d3ee1f543004cfc796af9fdd261:-144612510</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_eeba81dadb0a320062e479daae961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE My Devices\">f52d193edbf54300db45bff0ef9619f6</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Office 2016</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=eeba81dadb0a320062e479daae961981&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>Install Locally</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:22:27</sys_created_on><sys_id>eeba81dadb0a320062e479daae961981</sys_id><sys_mod_count>6</sys_mod_count><sys_name>Office 2016</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_eeba81dadb0a320062e479daae961981</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:55:36</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=eeba81dadb0a320062e479daae961981\"/><fx_price action=\"delete_multiple\" query=\"id=eeba81dadb0a320062e479daae961981\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>eeba81dadb0a320062e479daae961981</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:22:27</sys_created_on><sys_id>6a0b41dadb0a320062e479daae961985</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-12 21:22:27</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>eeba81dadb0a320062e479daae961981</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:22:27</sys_created_on><sys_id>6e0b41dadb0a320062e479daae961985</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-12 21:22:27</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><file_name>icon</file_name><image_height/><image_width/><size_bytes>1106</size_bytes><size_compressed>560</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:33:27</sys_created_on><sys_id>d9073ce6db0e320062e479daae9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-13 14:33:27</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>eeba81dadb0a320062e479daae961981</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"d9073ce6db0e320062e479daae9619b1\">d9073ce6db0e320062e479daae9619b1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:33:27</sys_created_on><sys_id>1d073ce6db0e320062e479daae9619b1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>fVNdT9swFH3nV3jeC0izc/1RJ0ZNkYYETxPS2J5RaNzEIrWjxLTl389JUwgbzIqUe4+Pz70+tpdXh22DdqbrrXc5ZhQwMm7tS+uqHP/+dUMyjPpQuLJovDM5dh5frc6W/a5Ce1uGOscc2gNGtbFVHWImh2xnzf67P+QYECAeP4nnRRhGsazrc1yH0F4myX6/p3tBfVclHACSKD9RLg+NdU8fEZnWOhln8eoMxbH8Qgi6Nc50RfDdJbp/MmFdIykoQ+dCA+MXiKCZ0KOvzdYW03bp2m+T/riGkEky2NCY1Q+77nzvN+HhbrOxa/PAgYmHxld+mRwZR3Zp+vXqujNFMGW0J9RTD3SZjFMn1qZfDUj8HZEK2TLH9y/bR9/0g9+dfxq9duaUkcntaN3GNs1pcohJ99xEttkZ58tyMmOm+9PEnW2NK02JUegK1298t83xGDax13PCM01hHN8QYTDFF6daX2/GMZOeyd92/rklklz79oXITypwCa8F3uTf6800Pzf8E3351j/7n/5Yo/XNS+Xd0fS6aKOPrbcuxPsIlGUKsmzBNGKaioUQqU7RHJZUg1YKpESMU60Eg1SPjFTpTGVyWKhBacEQpxJ0xgQXc5DRbCEYX6i5ABdUS8WllujfJniavavGgWY6MhSfo5JCqhZMwBAqAYwtQCBFgUMmpeBzlKVDa/GxSRzv4uTIB+eRVH8d+hx4TcZgOTzb1R9Zp7rCUgQAAA==</data><length>736</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"d9073ce6db0e320062e479daae9619b1\">d9073ce6db0e320062e479daae9619b1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:33:27</sys_created_on><sys_id>9d073ce6db0e320062e479daae9619b1</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>2104339672</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>c32e117edbf54300db45bff0ef961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c55bd860000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>Office 2016</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>558d1d3e90f543001922d7e8cdc27260</update_guid>\n<update_guid_history>558d1d3e90f543001922d7e8cdc27260:2104339672,d9fc953e54f543006802d5364b4fd29c:-147432707,d9fc953e54f543006802d5364b4fd29c:-147432707,e0bc153ef1f54300b664f7dd70b0c92a:466910299,a7cb1dfa80f54300b601a9de828443b4:-147432707,51ead1fa62f543008bedf5839381e17c:0,6657d57aaef54300ca7615a33ba3a40d:-792978014,aba6117a79f543009725cbcb774b7e0d:1620393285,2fa6117ad8f54300099919183cdada0b:1620393285,1b31017ea5b54300eec86f58bfab467d:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_b3894d9adb0a320062e479daae961951</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE My Devices\">f52d193edbf54300db45bff0ef9619f6</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>GL Reporting</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=b3894d9adb0a320062e479daae961951&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>Elevate Privileges</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:19:07</sys_created_on><sys_id>b3894d9adb0a320062e479daae961951</sys_id><sys_mod_count>4</sys_mod_count><sys_name>GL Reporting</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_b3894d9adb0a320062e479daae961951</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-10-17 21:55:36</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=b3894d9adb0a320062e479daae961951\"/><fx_price action=\"delete_multiple\" query=\"id=b3894d9adb0a320062e479daae961951\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>b3894d9adb0a320062e479daae961951</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:19:07</sys_created_on><sys_id>8e4a0d9adb0a320062e479daae961977</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-12 21:19:07</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>b3894d9adb0a320062e479daae961951</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-12 21:19:08</sys_created_on><sys_id>824a0d9adb0a320062e479daae961978</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-12 21:19:08</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><file_name>icon</file_name><image_height/><image_width/><size_bytes>1838</size_bytes><size_compressed>765</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:35:55</sys_created_on><sys_id>9997fce6db0e320062e479daae9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-13 14:35:55</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>b3894d9adb0a320062e479daae961951</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"9997fce6db0e320062e479daae9619a8\">9997fce6db0e320062e479daae9619a8</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:35:55</sys_created_on><sys_id>d997fce6db0e320062e479daae9619a8</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>nVVNU9swFLzzK1T1AjOxrC/bEhOHmWYGLu2ltD/AYJF4cKSMbQj8+z5JTuJSCi3mwNPqaXffypj5xdOmRY+m6xtnS8wIxcjYW1c3dlXinz8uE4VRP1S2rlpnTYmtwxeLk3n/uEK7ph7WJZZs+4TR2jSr9VBiLv3qsTG7L+6pxBRRJBniEk9FGEYga/sSr4dhe56mu92O7ARx3SrllNIU6MeW86e2sfevNTKtdRp28eIEwTP/lCToyljTVYPrztH1vRlu10gKwtCp0JTxM5SgCdGNW5tNU43jklu3Sft4JklGyqEZWrO4qew9sm4wPaqGDRHww+Zp3It9telvF8vOVIOpIZhhPaqTeRq29l13/cIj8CsiK9TUJb5+3ty4tvdJd+4+pGzNfpWMOUNod03b7jd9nXQPLXSbR2NdXY8xTHi/G5hpY2xtaoyGrrL9nes2JQ5lC15PE6EIDc8MJYyO9dnRyefL8Ey4J/xXnXvYJjJZuu1zIl70TPp8fknILznk9xdDEz8TO38yB/ZtBUED/zcmiFQ5V1kxYxnhTEuucvSVcZJTVjApZiwnXPMMahwjX1dbg+EyPMe79JrkSvnDs4IUjIYS6BVRVM4UKRT32uwj1IJQxrzdGZRZJEJLcM6LIjqXRBYcASI1PYxIJXp96KXvjzQBFtI7Q1AqJcMI0JDxPKI5ybkXzgXscA2nCyIyEYU5KcIJgQBl0tvUHqUsC1JwmslsROFoBksdl4xopRAoaZFHUUZ4FvL3VvJinIQSkQcNOJ4TCWlqmDY/qCqqfL7BrUeOidOILOFuCq0CG8C6iHNweHdYkAPCjOuIQi+PDV5ZshDwf1yaa59Xzk760dY1doDvmIC74PG1kCQWXk95SV/7S6Uk4r6ewP7NHMc7Hg1OotwbZuDjZ95xo8hRU5G9MQ5/gLHjN1dHeK/vFT5igB6k4OL3UpIeJn0dnXr5l3rCovcTT7nfnmKerl581abAYRGKuf+XtPgFcK3Nyy4HAAA=</data><length>1008</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"9997fce6db0e320062e479daae9619a8\">9997fce6db0e320062e479daae9619a8</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-13 14:35:55</sys_created_on><sys_id>5d97fce6db0e320062e479daae9619a8</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-531336449</payload_hash>\n<remote_update_set display_value=\"PE Recommendation Cards\">8f2e117edbf54300db45bff0ef96193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-10-17 21:58:28</sys_created_on>\n<sys_id>c72e117edbf54300db45bff0ef961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f2c55ba8f0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-10-17 21:58:28</sys_updated_on>\n<table/>\n<target_name>GL Reporting</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>cd8d1d3e09f543007b2e15d514176756</update_guid>\n<update_guid_history>cd8d1d3e09f543007b2e15d514176756:-531336449,13cb1dfa40f543003a7a27122cb2fcab:714811236,13cb1dfa40f543003a7a27122cb2fcab:714811236,d1ead1fa41f54300848620919683dd7a:0,9c57957a03f54300b2dfa4aa7f17c45e:840208457,3f96dd3a5ff54300eb6c61b251e4454c:-1667325012,fb96dd3a0bf54300cea3fe1a8c26424a:-1667325012,c331017ef3b54300815440caf6e97a71:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-recommendation-cards/widget/pe-recommendation-cards.u-body-html-template.html",
    "content": "<div class=\"row\">\n  <div class=\"col-xs-12 cards modernizeit-color-square-small-gap\">\n    <h3 ng-if=\"options.showTitle == 'true'\">{{::options.title}}</h3>\n    <div class=\"content-wrapper\">\n      <div class=\"scroll-wrapper\">\n        <div ng-repeat=\"item in ::data.items track by $index\" class=\"item\" ng-class=\"options.highlight.indexOf(item['sc_cat_item.name'].value) > -1 ? 'out' : ''\">\n          <div class=\"icon\">\n            <img src=\"{{::item['sc_cat_item.icon'].display_value}}\">\n          </div>\n          <div class=\"content\">\n            <div class=\"name\">{{::item['sc_cat_item.name'].value}}</div>\n            <div class=\"sub-title\">{{::item['sc_cat_item.short_description'].value}}</div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-recommendation-cards/widget/pe-recommendation-cards.u-client-script.js",
    "content": "function RecommendationCardController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-recommendation-cards/widget/pe-recommendation-cards.u-css.scss",
    "content": ".scroll-wrapper {\n  width: 100%;\n  overflow-x: auto;\n  white-space: nowrap;\n  -webkit-overflow-scrolling: touch;\n}\n\n.cards {\n  margin-top: 15px;\n  h3 {\n    font-size: 16px;\n    font-weight: 600;\n    color: #485563;\n  }\n}\n\n.modernizeit-color-square-small-gap {\n  .scroll-wrapper {\n    padding-bottom: 15px;\n    display: flex;\n  }\n  .item {\n    position: relative;\n    width: 118px;\n    flex-shrink: 0;\n    vertical-align: top;\n    margin-left: 8px;\n    text-align: center;\n    padding: 15px 5px 5px 5px;\n    background-color: #5a889f;\n    box-shadow: 0 8px 10px 0 rgba(0, 0, 0, 0.3);\n    white-space: normal;\n    .sub-title {\n      display: none;\n    }\n    &.out {\n      background-color: #c0351d;\n      .outage-alert {\n        display: block;\n      }\n    }\n    .icon img {\n      height: 37px;\n    }\n    .content {\n      margin-top: 15px;\n      color: #FFF;\n    }\n    .outage-alert {\n      display: none;\n      position: absolute;\n      top: 7px;\n      svg {\n        width: 22px;\n        height: 22px;\n        fill: white;\n      }\n    }\n  }\n  .item:first-child {\n    margin-left: 0;\n  }\n}\n\n.modernizeit-color-square-small-gap {\n  .item {\n    background-color: #323b4a;\n    height: 118px;\n    margin-left: 2px;\n    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.35);\n    width: auto;\n    flex-grow: 1;\n    flex-basis: 0;\n    &.out {\n      .outage-alert {\n        display: none;\n      }\n    }\n    .name {\n      font-size: 16px;\n      font-weight: 600;\n    }\n    .sub-title {\n      display: block;\n      font-size: 14px;\n    }\n    .icon img {\n      height: auto;\n    }\n  }\n}"
  },
  {
    "path": "pe-recommendation-cards/widget/pe-recommendation-cards.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"title\",\n    \"label\": \"Title\",\n    \"type\": \"string\",\n    \"default_value\": \"Recommended for You\"\n  },\n  {\n    \"name\": \"category\",\n    \"label\": \"Category\",\n    \"type\": \"string\",\n    \"default_value\": \"PE My Devices\"\n  },\n  {\n    \"name\": \"fields\",\n    \"label\": \"Fields\",\n    \"type\": \"string\",\n    \"default_value\": \"sc_cat_item.name, sc_cat_item.icon, sc_cat_item.short_description\"\n  },\n  {\n    \"name\": \"items\",\n    \"default_value\": \"GL Reporting, empasiegel1, Office 2016\",\n    \"label\": \"Items\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"highlight\",\n    \"label\": \"Highlight\",\n    \"type\": \"string\",\n    \"default_value\": \"Office 2016\"\n  },\n  {\n    \"name\": \"showTitle\",\n    \"default_value\": \"true\",\n    \"label\": \"Show Title\",\n    \"type\": \"boolean\"\n  },\n  {\n    \"name\": \"display_all_items\",\n    \"default_value\": false,\n    \"label\": \"Show All Catalog Items\",\n    \"type\": \"boolean\"\n  }\n]\n"
  },
  {
    "path": "pe-recommendation-cards/widget/pe-recommendation-cards.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.fields = options.fields || serverOptions.fields;\n  options.items = options.items || serverOptions.items;\n  options.display_all_items = options.display_all_items || serverOptions.display_all_items;\n  options.highlight = options.highlight || serverOptions.highlight;\n  var categoriesGR = new GlideRecord('sc_cat_item_category');\n  var allItems = 'sc_category.title=' + options.category;\n  var selectedItems = 'sc_category.title=' + options.category + '^sc_cat_item.nameIN' + options.items;\n  var encodedQuery = options.display_all_items == 'true' ? allItems : selectedItems;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.fields);\n    items.push(obj);\n  }\n  data.items = items;\n})();"
  },
  {
    "path": "pe-related-list/README.md",
    "content": "# Related List\n\n## Description\nThis widget is meant to be used in conjunction with [Form with Inline Editing Related List](../pe-form-with-related-list/)\n\n\n## Screenshot\n\n![Related List](../images/pe-related-list.gif)\n\n## Additional Information/Notes\n\n> This widget was heavily inspired by [ServicePortal.io](https://serviceportal.io/downloads/related-list-widget/)\n\n\n## Installation\n\nDownload and install update set **[pe-related-list.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-related-list/pe-related-list.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Inline Editing` | Enable inline editing for related list   | false |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## Dependencies _(included)_\n\n* [Form with Inline Editing Related List ](../pe-form-with-related-list)\n* [Inline Editing Data Table](../pe-inline-editing-data-table)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "pe-related-list/pe-related-list.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-09-28 22:44:50\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Form with Related List</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>b82d6e8273302300b10080844ff6a7fa</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:49</sys_created_on>\n<sys_id>bfded7ca73302300b10080844ff6a7a3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:49</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_22bf8f8673302300b10080844ff6a701</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function RelatedListCtrl($rootScope, $location) {\n    var c = this;\n    c.$onInit = function () {\n        console.log(c);\n        addListenerToListClick()\n    };\n\n    function addListenerToListClick() {\n        $rootScope.$on('data_table.click', function (event, obj) {\n            var link = $location.search();\n            link.sys_id = obj.sys_id;\n            link.table = obj.table;\n            $location.search(link);\n        })\n    }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;related-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Related List&lt;/name&gt;&lt;option_schema&gt;[]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n    input = input || {};\n    var table = options.table || input.table;\n    var sys_id = options.sys_id || input.sys_id;\n    var query = options.query || input.query;\n    view = input.view || \"sp\";\n\n    if (!table || !sys_id)\n        return;\n\n    var f = $sp.getForm(table, sys_id, query);\n    data.related_lists = f._related_lists;\n\n    for (var i in data.related_lists) {\n        var list = data.related_lists[i];\n        var params = {\n            table: list.table,\n            filter: list.field + \"=\" + sys_id,\n            view: view,\n            inline_editing: options.inline_editing,\n            title: list.label\n        };\n        list.widget = $sp.getWidget('inline-editing-data-table', params);\n    }\n    \n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:38:47&lt;/sys_created_on&gt;&lt;sys_id&gt;22bf8f8673302300b10080844ff6a701&lt;/sys_id&gt;&lt;sys_mod_count&gt;29&lt;/sys_mod_count&gt;&lt;sys_name&gt;Related List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_22bf8f8673302300b10080844ff6a701&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:36:12&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"\" ng-if=\"data.related_lists.length &gt; 0\"&gt;\n    &lt;ul class=\"nav nav-tabs\" role=\"tablist\"&gt;\n        &lt;li role=\"presentation\" ng-class='{active:$first}' ng-repeat=\"list in data.related_lists\"&gt;\n            &lt;a data-target=\"#{{ list.table }}\" aria-controls=\"{{ list.table }}\" role=\"tab\" ng-class='{active:$first}'\n               data-toggle=\"tab\"&gt;\n                {{ list.label }}\n                &lt;span class=\"label label-as-badge label-primary\" ng-if=\"list.count\"&gt;{{ list.count }}&lt;/span&gt;\n            &lt;/a&gt;\n        &lt;/li&gt;\n    &lt;/ul&gt;\n\n    &lt;div class=\"tab-content\"&gt;\n        &lt;div role=\"tabpanel\" class=\"tab-pane\" id=\"{{ list.table }}\" ng-class='{active:$first}'\n             ng-repeat=\"list in data.related_lists\"&gt;\n\n            &lt;div style=\"margin-top: -1px;\"&gt;\n                &lt;div class=\"alert alert-danger\" ng-if=\"data.invalid_table\"&gt;\n                    Table not defined '{{ data.table_label }}'\n                &lt;/div&gt;\n                &lt;sp-widget widget=\"list.widget\"&gt;&lt;/sp-widget&gt;\n            &lt;/div&gt;\n\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1918238530</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>37ded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16622533c750000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>Related List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>d5ec5f8ae7302300e8a8f9547b7f400a</update_guid>\n<update_guid_history>d5ec5f8ae7302300e8a8f9547b7f400a:1918238530,495cd78ae8302300cec5a7db2667e359:1574979684,030c5b8afb3023003d8acd14bc163d4c:-1434166628,4deb5b8ae13023008bb6218812b9b91a:999499380,6b5b178a8330230059885005f5145f28:-815869483,8746db0a74302300e6b227b00a2db1f5:-1829738115,5c365f0adc3023008b17c83cf867ece8:643735602,2126934a18302300aa182f4c5d158927:1992489081,1e065f0a183023007d009820c140e3e4:1011819581,ede5df0a1130230003c8e9499c1d64cb:-1294725195,20e51f0a153023005e17970528b1cc42:1829601706,d7d5df0a30302300f545b1d8510f33c6:1736285510,ced51f0a3a302300bd0c6aad8313243d:-1504562303,5e855f0ad2302300d3c8a1542d2c08dd:-629172170,8d651f0a8d3023002196de3bf75b8939:1968879235,4b359b0a18302300ac8f4c22ec8667d9:-325697397,39359b0acc302300c3a06b11753badd5:-139054087,d4359b0a3e30230045fc12178daf14d1:-1140227345,17f0d3c6f73023003ad9e85192192864:-139054087,f1f0d3c6203023002f0358bec411643e:688786251,7ac053c6b9302300475c65703e011c87:659330326,c4c053c6fc3023000bf0be94010ed115:108292688,1aa053c632302300dbfb03a999f36283:-603891374,55a053c66b302300f15e310f28484de5:1018396304,bd9053c627302300c8a9f9fa5524102a:851728887,d2805f86f9302300acea58add6dc5db2:1580052113,4b705f86dc302300ff7e3ff5ab262699:-377101000,54705f86663023006d6dee52d80b4ba7:1393546929,74505f86dc30230009ed0c81dc85a88d:-377101000,54cf8f867530230042898c3b1a85ba08:-1725671136</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_e1925fc673302300b10080844ff6a701</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Inline Editing Data Table\">9d921fc673302300b10080844ff6a7fe</child><cloned>2018-09-28 21:51:09</cloned><last_validated>2018-09-28 21:51:09</last_validated><parent display_value=\"Data Table\">5001b062d7101200b0b044580e6103eb</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;standard&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, $location, spUtil, amb, $http, spAriaUtil, $timeout, spNavStateManager) {\n\tvar c = this;\n\t/*\n\t * options:\n\t * hide_footer (bool) = true to remove the data table footer contents\n\t * hide_header (bool) = true to remove the data table header contents\n\t * show_new (bool) = true to show the \"New\" record button\n\t * show_keywords (bool) = true to show the keyword search field\n\t * table (string) = the table name to query\n\t * filter (string) = the encoded query\n\t * o (string) = the order by column\n\t * d (string) = The order by direction: asc or desc\n\t * p (int) = the page to jump to\n\t * fields (string) = comma seperated list of fields that become the list columns\n\t * view (string) = the default view to load for columns, overrides fields\n\t*/\n\n\t$scope.exportTypes = [{label:'PDF', value: 'PDF'}, {label:'Excel', value:'EXCEL'}, {label:'CSV', value:'CSV'}];\n\tvar keys = ['table', 'filter', 'p', 'o', 'd'];\n\n\tvar eventNames = {\n\t\tclick: 'data_table.click',\n\t\tsetFilter: 'data_table.setFilter',\n\t\tsetKeywords: 'data_table.setKeywords'\n\t};\n\n\t$scope.go = function(table, item) {\n\t\tspNavStateManager.onRecordChange(table).then(function() {\n\t\tvar parms = {};\n\t\tparms.table = table;\n\t\tparms.sys_id = item.sys_id;\n\t\tparms.record = item;\n\t\t$scope.ignoreLocationChange = true;\n\t\tfor (var x in c.data.list) {\n\t\t\tc.data.list[x].selected = false;\n\t\t}\n\t\titem.selected = true;\n\t\t$scope.$emit(eventNames.click, parms);\n\t\t}, function() {\n\t\t\t// do nothing in case of closing the modal by clicking on x\n\t\t});\t\n\t};\n\n\t$scope.newRecord = function(){\n\t\tvar parms = {\n\t\t\tid: 'form',\n\t\t\ttable: $scope.data.table,\n\t\t\tview: $scope.data.view,\n\t\t\tsys_id: '-1'\n\t\t};\n\t\tif ($scope.data.filter != '')\n\t\t\tparms.query = $scope.data.filter;\n\n\t\t$location.search(parms);\n\t};\n\n\tfunction recoverStateFromUrl() {\n\t\t$scope.data.fields = [];\n\t\tvar s = $location.search();\n\t\tfor (var x in keys) {\n\t\t\tif (s[keys[x]]) {\n\t\t\t\t$scope.data[keys[x]] = s[keys[x]];\n\t\t\t}\n\t\t}\n\t\t$scope.server.update().then(function(data) {\n\t\t\tif (s.sys_id) {\n\t\t\t\tfor (var x in data.list) {\n\t\t\t\t\tif (data.list[x].sys_id == s.sys_id) {\n\t\t\t\t\t\t$scope.go(s.table, data.list[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tif ($scope.options.fromUrl) {\n\t\tvar origSearch = $location.search();\n\t\t$scope.$on('$locationChangeSuccess', function(e) {\n\t\t\tvar s = $location.search();\n\t\t\tif (origSearch.id !== s.id)\n\t\t\t\treturn;\n\n\t\t\tif ($scope.ignoreLocationChange){\n\t\t\t\t$scope.ignoreLocationChange = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Helps to recover state when using the browser's back button\n\t\t\trecoverStateFromUrl();\n\t\t});\n\t}\n\n\n\t$scope.getNumber = function(num) {\n\t\treturn new Array(num);\n\t}\n\n\t$scope.mathMin = function(v1,v2) {\n\t\treturn Math.min(v1,v2);\n\t}\n\n\tfunction getData(updateUrl) {\n\t\tvar f = $scope.data;\n\t\tspUtil.update($scope).then(function(data) {\n\t\t\tf.view = data.view;\n\t\t\tif ($scope.options.fromUrl &amp;&amp; updateUrl)\n\t\t\t\tsetPermalink(f.table, f.filter, f.o, f.d, f.p);\n\n\t\t\tif ($scope.options.show_breadcrumbs &amp;&amp; data.filterBreadcrumbs)\n\t\t\t\t$scope.$broadcast('widget-filter-breadcrumbs.setBreadcrumbs', data.filterBreadcrumbs.data, data.filter);\n\n\t\t\tinitRecordWatcher(f.table, f.filter);\n\t\t});\n\t}\n\n\tfunction setPermalink(table, filter, orderBy, orderDirection, page){\n\t\t$scope.ignoreLocationChange = true;\n\t\tvar search = $location.search();\n\t\tangular.extend(search, {\n\t\t\tspa: 1,\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tp: page,\n\t\t\to: orderBy,\n\t\t\td: orderDirection\n\t\t});\n\t\t$location.search(search);\n\t}\n\n\tvar watcher;\n\tfunction initRecordWatcher(table, filter){\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\n\t\tif (table &amp;&amp; filter) {\n\t\t\tvar watcherChannel = amb.getChannelRW(table, filter);\n\t\t\tamb.connect();\n\t\t\twatcher = watcherChannel.subscribe(function(message) {\n\t\t\t\tif (!message.data)\n\t\t\t\t\treturn;\n\t\t\t\tswitch(message.data.action) {\n\t\t\t\t\tcase \"change\":\n\t\t\t\t\t\tupdateRowFromRW(message);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"exit\":\n\t\t\t\t\t\t// A record was removed\n\t\t\t\t\tcase \"enter\":\n\t\t\t\t\t\t// A record was added\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tspUtil.update($scope);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction updateRowFromRW(message) {\n\t\tif (message.data &amp;&amp; message.data.sys_id &amp;&amp; $scope.data.list) {\n\t\t\tvar row, field;\n\t\t\tfor(var i=0;i&lt;$scope.data.list.length; i++) {\n\t\t\t\trow = $scope.data.list[i];\n\t\t\t\tif (row.sys_id == message.data.sys_id) {\n\t\t\t\t\tvar fields = Object.getOwnPropertyNames(message.data.record);\n\t\t\t\t\tfor(var f in fields) {\n\t\t\t\t\t\tfield = fields[f];\n\t\t\t\t\t\tif(typeof row[field] !== 'undefined') {\n\t\t\t\t\t\t    row[field].display_value = message.data.record[field].display_value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t$scope.$on('$destroy', function() {\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\t});\n\n\t$scope.setPageNum = function(num) {\n\t\t$scope.data.p = num;\n\t\tgetData(true);\n\t\t$timeout(function() {\n\t\t\t$scope.focusOnTableHeader();\n\t\t});\n\t}\n\n\t$scope.setOrderBy = function(field) {\n\t\tvar d = \"asc\";\n\t\tif ($scope.data.o == field) {\n\t\t\tif ($scope.data.d == \"asc\")\n\t\t\t\td = \"desc\";\n\t\t\telse\n\t\t\t\td = \"asc\";\n\t\t}\n\n\t\tif (d === \"asc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByAsc);\n\t\t} else if (d === \"desc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByDesc);\n\t\t}\n\n\t\t$scope.data.o = field;\n\t\t$scope.data.d = d;\n\t\t$scope.setSearch(true);\n\t}\n\n\t$scope.setSearch = function(updateUrl) {\n\t\t$scope.data.p = 1;\n\t\tgetData(updateUrl);\n\t}\n\n\t$scope.$on(eventNames.setFilter, function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on(eventNames.setKeywords, function(e, keywords){\n\t\t$scope.data.keywords = keywords;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on('widget-filter-breadcrumbs.queryModified', function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(true);\n\t});\n\n\t$scope.rowsWerePruned = function() {\n\t\tif (!$scope.data.list)\n\t\t\treturn;\n\n\t\t$scope.rowsPruned = $scope.mathMin($scope.data.window_end,$scope.data.row_count) - $scope.data.window_start - $scope.data.list.length;\n\t\treturn $scope.rowsPruned &gt; 0;\n\t}\n\n\t$scope.showFilter = function() {\n\t\treturn !$scope.data.list.length &amp;&amp; !$scope.data.num_pages &amp;&amp; !$scope.data.invalid_table &amp;&amp; !$scope.loadingData;\n\t}\n\n\tc.appendQuery = function(query){\n\t\tif ($scope.data.filter.length &gt; 1)\n\t\t\t$scope.data.filter += '^';\n\t\t$scope.data.filter += query;\n\t\t\t$scope.setSearch();\n\n\t}\n\n\t// Makes Widget Async\n\t$scope.data = $scope.options;\n\t$scope.loadingData = true;\n\t$scope.server.update().then(function() {\n\t\tif ($scope.data.newButtonUnsupported)\n\t\t\tconsole.log(\"Service Portal: New button not supported for sys_attachment list\");\n\t\t$scope.loadingData = false;\n\t\tinitRecordWatcher($scope.data.table, $scope.data.filter);\n\t});\n\n\tfunction parseQuery(table, queryString){\n\t\treturn $http.post('/api/now/sp/parsequery/' + table, queryString).then(function(response){\n\t\t\t\treturn response.data.result;\n\t\t});\n\t}\n\n\tc.createQueryTerm = function(table, field, sys_id, operator){\n\t\treturn $http.get('/api/now/sp/getInOutQueryTerm', {\n\t\t\tparams: {\n\t\t\t\ttable: table,\n\t\t\t\tsys_id: sys_id,\n\t\t\t\tfield: field,\n\t\t\t\toperator: operator\n\t\t\t}\n\t\t}).then(function(response){\n\t\t\tif (response &amp;&amp; response.data &amp;&amp; response.data.result)\n\t\t\t\treturn response.data.result.parts;\n\t\t});\n\t}\n\n\tc.showMatching = function(field, newTerm) {\n\t\tvar queryString = $scope.data.filter;\n\t\tvar eq = \"\";\n\t\tparseQuery($scope.data.table, queryString).then(function(oldTerms) {\n\t\t\tfor(var i=0; i&lt;oldTerms.length; i++){\n\t\t\t\tvar term = oldTerms[i];\n\t\t\t\tif (isSameField(newTerm, term))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\t\t\teq += getEncodedTerm(term);\n\t\t\t}\n\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\t\t\teq += getEncodedTerm(newTerm);\n\n\t\t\t$scope.data.filter = eq;\n\t\t\t$scope.setSearch();\n\t\t});\n\t};\n\n\tc.filterOut = function(field, newTerm) {\n\t\tvar eq = $scope.data.filter;\n\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\teq += getEncodedTerm(newTerm);\n\t\t$scope.data.filter = eq;\n\t\t$scope.setSearch();\n\t};\n\n\tfunction isSameField(t1, t2) {\n\t\tif ('left' in t1 &amp;&amp; 'left' in t2)\n\t\t\treturn t1.left.query_term_field === t2.left.query_term_field;\n\t\telse if ('left' in t1)\n\t\t\treturn t1.left.query_term_field === t2.query_term_field;\n\t\telse if ('left' in t2)\n\t\t\treturn t1.query_term_field === t2.left.query_term_field;\n\t\treturn t1.query_term_field === t2.query_term_field;\n\t}\n\n\tfunction getEncodedTerm(term) {\n\t\tvar eq;\n\t\tif (term.left) {\n\t\t\teq = getEncodedTerm(term.left);\n\t\t\teq += '^OR';\n\t\t\teq += getEncodedTerm(term.right);\n\t\t} else {\n\t\t\teq = term.query_term_field;\n\t\t\teq += term.operator;\n\t\t\teq += term.value;\n\t\t}\n\t\treturn eq;\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel-heading {\n  padding-left: 8px;\n}\n\nthead {\n  border-bottom: 1px solid #ddd;\n}\n\ntable {\n  margin-bottom: 0;\n}\n\n.table &amp;gt; thead &amp;gt; tr &amp;gt; th {\n  border: 1px solid #ddd;\n  cursor: pointer;\n  vertical-align: middle;\n\n  &amp;amp;:nth-child(2) {\n    border-left: none;\n  }\n\n\n\n  &amp;amp;:last-child {\n    border-right: none;\n  }\n}\n\nth i {\n  display: inline-block;\n  margin-left: 5px;\n  color: #A0A0A0;\n}\n\nth .disabled{\n  color:#ddd;\n}\n\n.th-title {\n  display: inline-block;\n  color: $primary;\n}\n\n.panel-body {\n  overflow: auto;\n  padding: 0px;\n}\n\n\n.selected {\n  color: #fff;\n  background-color: #909090;\n  border-color: 1px solid #fff;\n}\n\ntbody tr:last-child {\n  border-bottom: none;\n}\n\n.pruned-msg {\n  padding-bottom: 10px;\n  padding-left: 4px;\n  text-align: center;\n}\n\n.pruned-msg-filter-pad {\n  padding-top:8px;\n}\n\n.filter-breadcrumbs {\n  border-bottom: 1px solid #ddd;\n  padding-top: 3px;\n}\n\n.dropdown-toggle {\n  background: none;\n  padding: 0 0 4px 0;\n}\n\n.sp-list-cell {\n  white-space: pre-wrap;\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data&gt;{\"data\":\n\t{\n\t\t\"table\": \"incident\",\n\t\t\"view\": \"default\",\n\t\t\"o\": \"opened_at\",\n\t\t\"d\": \"desc\",\n\t\t\"filter\": \"activeEQtrue\",\n\t\t\"p\": 1,\n\t\t\"fields\": \"number,short_description\"\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,filter,field_list,maximum_entries,order,order_by,order_direction,title,color,glyph,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-data-table&lt;/id&gt;&lt;internal&gt;true&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element, attrs, ctrl){\n\tvar $ul, $contextMenu;\n\n\tscope.focusOnTableHeader = function() {\n\t\telement.find(\".data-table-title\").attr(\"tabindex\", \"-1\").focus();\n\t}\n\n\telement.on('contextmenu', function(e){\n\t\tif (e.ctrlKey)\n\t\t\treturn; // ctrlKey is for the debug menu, not this menu\n\n\t\tvar rowScope = angular.element(e.target).scope();\n\t\tvar field, item, fieldVal;\n\n\t\t// Context Menu for tbody\n\t\tif (angular.isDefined(rowScope.field) &amp;&amp; angular.isDefined(rowScope.item)){\n\t\t\te.preventDefault();\n\t\t\tfield = rowScope.field;\n\t\t\titem = rowScope.item;\n\t\t\tfieldVal = item[field].value;\n\n\t\t\tvar items = [\n\t\t\t\t['${Show Matching}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '=').then(function(term){\n\t\t\t\t\t\tctrl.showMatching(field, term);\n\t\t\t\t\t});\n\t\t\t\t}],\n\t\t\t\t['${Filter Out}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '!=').then(function(term){\n\t\t\t\t\t\tctrl.filterOut(field, term);\n\t\t\t\t\t});\n\t\t\t\t}]\n\t\t\t];\n\n\t\t\trenderContextMenu(items);\n\t\t\tsetContextMenuPosition(e);\n\t\t}\n\t});\n\n\tfunction renderContextMenu(items){\n\t\tvar scrollHeight = $('body').get(0).scrollHeight;\n\t\t$contextMenu = angular.element('&lt;div&gt;', {'class': 'dropdown clearfix context-dropdown open'});\n\n\t\t$contextMenu.on('click', function (e) {\n\t\t\tif ($(e.target).hasClass('dropdown')) {\n\t\t\t\t_clearContextMenus(event);\n\t\t\t}\n\t\t});\n\t\t$contextMenu.on('contextmenu', function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t_clearContextMenus(event);\n\t\t});\n\n\t\t$contextMenu.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\theight: scrollHeight,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 9999\n\t\t});\n\n\t\t$('body').append($contextMenu);\n\n\t\t$ul = angular.element('&lt;ul&gt;', {\n\t\t\t'class': 'dropdown-menu',\n\t\t\t'role': 'menu'\n\t\t});\n\t\trenderItems();\n\t\t$contextMenu.append($ul);\n\n\t\tfunction renderItems(){\n\t\t\tangular.forEach(items, function (item) {\n\t\t\t\tvar $li = angular.element('&lt;li&gt;');\n\n\t\t\t\tif (item === null) {\n\t\t\t\t\t$li.addClass('divider');\n\t\t\t\t} else {\n\t\t\t\t\tvar $a = angular.element('&lt;a&gt;');\n\t\t\t\t\t$a.attr({tabindex: '-1', href:'#'});\n\t\t\t\t\t$a.text(item[0]);\n\t\t\t\t\t$li.append($a);\n\t\t\t\t\t$li.on('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\t\t_clearContextMenus(e);\n\t\t\t\t\t\t\titem[1].call(item, item);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$ul.append($li);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction _clearContextMenus(event){\n\t\tif (!event){\n\t\t\treturn;\n\t\t}\n\n\t\tangular.element(event.currentTarget).removeClass('context');\n\n\t\tvar els = angular.element(\".context-dropdown\");\n\t\tangular.forEach(els, function(el){\n\t\t\tangular.element(el).remove();\n\t\t});\n\t}\n\n\tvar contextMenuItemHeight = 0;\n\tfunction setContextMenuPosition(event){\n\t\tif (contextMenuItemHeight === 0)\n\t\t\tcontextMenuItemHeight = $ul.children(0).height();\n\n\t\t// Why not just call .width() and .height() on the container? Because those calculations cause browsers to reflow\n\t\t// that can cause IE10 to take 200ms to render a context menu.\n\t\tvar cmWidth = 150;\n\t\tvar cmHeight = contextMenuItemHeight * $ul.children().length;\n\t\tvar startX = event.pageX + cmWidth &gt;= window.innerWidth ? event.pageX - cmWidth : event.pageX;\n\t\tvar startY = event.pageY + cmHeight &gt;= window.innerHeight ? event.pageY - cmHeight : event.pageY;\n\n\t\t$ul.css({\n\t\t\tdisplay: 'block',\n\t\t\tposition: 'absolute',\n\t\t\tleft: startX,\n\t\t\ttop: startY,\n\t\t\t'min-width': cmWidth\n\t\t});\n\t}\n}]]&gt;&lt;/link&gt;&lt;name&gt;Data Table&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"If enabled, show the list filter in the breadcrumbs of the data table\",\"name\":\"enable_filter\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Enable Filter\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tif (!input) // asynch load list\n\t\treturn;\n\n\tdata.msg = {};\n\tdata.msg.sortingByAsc = gs.getMessage(\"Sorting by ascending\");\n\tdata.msg.sortingByDesc = gs.getMessage(\"Sorting by descending\");\n\n\t/*\n\t * data.table = the table\n\t * data.p = the current page starting at 1\n\t * data.o = the order by column\n\t * data.d = the order by direction\n\t * data.keywords = the keyword search term\n\t * data.list = the table data as an array\n\t * data.invalid_table = true if table is invalid or if data was not succesfully fetched\n\t * data.table_label = the table's display name. e.g. Incident\n\t * data.table_plural = the table's plural display name. e.g. Incidents\n\t * data.fields = a comma delimited list of field names to show in the data table\n\t * data.column_labels = a map of field name -&gt; display name\n\t * data.window_size = the number of rows to show\n\t * data.filter = the encoded query\n\t */\n\t// copy to data[name] from input[name] || option[name]\n\toptCopy(['table', 'p', 'o', 'd', 'filter', 'filterACLs', 'fields', 'keywords', 'view']);\n\toptCopy(['relationship_id', 'apply_to', 'apply_to_sys_id', 'window_size']);\n\tif (!data.table) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = \"\";\n\t\treturn;\n\t}\n\n\tif (!data.fields) {\n\t\tif (data.view)\n\t\t\tdata.fields = $sp.getListColumns(data.table, data.view);\n\t\telse\n\t\t\tdata.fields = $sp.getListColumns(data.table);\n\t}\n\n\tdata.title = input.headerTitle;\n\tdata.view = data.view || 'mobile';\n\tdata.table = data.table || $sp.getValue('table');\n\tdata.filter = data.filter || $sp.getValue('filter');\n\tdata.keywords = data.keywords || $sp.getValue('keywords');\n\tdata.p = data.p || $sp.getValue('p') || 1;\n\tdata.p = parseInt(data.p);\n\tdata.o = data.o || $sp.getValue('o') || $sp.getValue('order_by');\n\tdata.d = data.d || $sp.getValue('d') || $sp.getValue('order_direction');\n\tdata.page_index = data.p - 1;\n\tdata.show_new = data.show_new || options.show_new;\n\tvar windowSize = data.window_size || $sp.getValue('maximum_entries') || 20;\n\twindowSize = parseInt(windowSize);\n\tif (isNaN(windowSize) || windowSize &lt; 1)\n\t\twindowSize = 20;\n\tdata.window_size = windowSize;\n\n\tvar gr;\n\tif (gs.getProperty(\"glide.security.ui.filter\") == \"true\" || GlideTableDescriptor.get(data.table).getED().hasAttribute(\"glide.security.ui.filter\")) {\n\t\tgr = new FilteredGlideRecord(data.table);\n\t\tgr.applyRowSecurity();\n\t} else\n\t\tgr = new GlideRecordSecure(data.table);\n\tif (!gr.isValid()) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = data.table;\n\t\treturn;\n\t}\n\n  data.canCreate = gr.canCreate();\n\tdata.newButtonUnsupported = data.table == \"sys_attachment\";\n\tdata.table_label = gr.getLabel();\n\tdata.table_plural = gr.getPlural();\n\tif (data.filter) {\n\t\tif (data.filterACLs)\n\t\t\tgr = $sp.addQueryString(gr, data.filter);\n\t\telse\n\t\t\tgr.addEncodedQuery(data.filter);\n\t}\n\n\tif (data.keywords){\n\t\tgr.addQuery('123TEXTQUERY321', data.keywords);\n\t\tdata.keywords = null;\n\t}\n\n\tdata.filter = gr.getEncodedQuery();\n\n\tif (data.relationship_id) {\n\t\tvar rel = GlideRelationship.get(data.relationship_id);\n\t\tvar target = new GlideRecord(data.table);\n\t\tvar applyTo = new GlideRecord(data.apply_to);\n\t\tapplyTo.get(\"sys_id\", data.apply_to_sys_id);\n\t\trel.queryWith(applyTo, target); // put the relationship query into target\n\t\tgr.addEncodedQuery(target.getEncodedQuery()); // get the query the relationship made for us\n\t}\n\n\tif (data.o){\n\t\tif (data.d == \"asc\")\n\t\t\tgr.orderBy(data.o);\n\t\telse\n\t\t\tgr.orderByDesc(data.o);\n\t}\n\n\tdata.window_start = data.page_index * data.window_size;\n\tdata.window_end = (data.page_index + 1) * data.window_size;\n\tgr.chooseWindow(data.window_start, data.window_end);\n\tgr._query();\n\n\tdata.row_count = gr.getRowCount();\n\tdata.num_pages = Math.ceil(data.row_count / data.window_size);\n\tdata.column_labels = {};\n\tdata.fields_array = data.fields.split(',');\n\n\t// use GlideRecord to get field labels vs. GlideRecordSecure\n\tvar grForLabels = new GlideRecord(data.table);\n\tfor (var i in data.fields_array) {\n\t\tvar field = data.fields_array[i];\n\t\tvar ge = grForLabels.getElement(field);\n\t\tif (ge == null)\n\t\t\tcontinue;\n\n\t\tdata.column_labels[field] = ge.getLabel();\n\t}\n\n\tdata.list = [];\n\twhile (gr._next()) {\n\t\tvar record = {};\n\t\t$sp.getRecordElements(record, gr, data.fields);\n\t\tif (gr instanceof FilteredGlideRecord) {\n\t\t\t// FilteredGlideRecord doesn't do field-level\n\t\t\t// security, so take care of that here\n\t\t\tfor (var f in data.fields_array) {\n\t\t\t\tvar fld = data.fields_array[f];\n\t\t\t\tif (!gr.isValidField(fld))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!gr[fld].canRead()) {\n\t\t\t\t\trecord[fld].value = null;\n\t\t\t\t\trecord[fld].display_value = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\trecord.sys_id = gr.getValue('sys_id');\n\t\tdata.list.push(record);\n\t}\n\n\tdata.enable_filter = (input.enable_filter == true || input.enable_filter == \"true\" ||\n\t\toptions.enable_filter == true || options.enable_filter == \"true\");\n\tvar breadcrumbWidgetParams = {\n\t\ttable: data.table,\n\t\tquery: data.filter,\n\t\tenable_filter: data.enable_filter\n\t};\n\tdata.filterBreadcrumbs = $sp.getWidget('widget-filter-breadcrumbs', breadcrumbWidgetParams);\n\n\t// copy to data from input or options\n\tfunction optCopy(names) {\n\t\tnames.forEach(function(name) {\n\t\t\tdata[name] = input[name] || options[name];\n\t\t})\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-12-15 21:55:00&lt;/sys_created_on&gt;&lt;sys_id&gt;5001b062d7101200b0b044580e6103eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;901&lt;/sys_mod_count&gt;&lt;sys_name&gt;Data Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;33c50723d9e02300aadbb5e9839d2b7c&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_5001b062d7101200b0b044580e6103eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-05-21 05:10:10&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[  &lt;div class=\"panel panel-{{options.color}} b\"&gt;\n    &lt;div class=\"panel-heading form-inline\" ng-hide=\"options.hide_header\"&gt;\n      &lt;span class=\"dropdown m-r-xs\"&gt;\n        &lt;button aria-label=\"${Table menu}\" class=\"btn dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"optionsMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n        &lt;ul class=\"dropdown-menu\" aria-labelledby=\"optionsMenu\"&gt;\n          &lt;li ng-repeat=\"t in ::exportTypes\"&gt;\n            &lt;a ng-href=\"/{{data.table}}_list.do?{{::t.value}}&amp;sysparm_query={{data.filter}}&amp;sysparm_view={{data.view}}&amp;sysparm_fields={{data.fields}}\" target=\"_new\"&gt;${Export as} {{::t.label}}&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/span&gt;\n      &lt;span class=\"panel-title\"&gt;&lt;i ng-if=\"options.glyph\" class=\"fa fa-{{options.glyph}} m-r\"&gt;&lt;/i&gt;{{data.title || data.table_plural}}&lt;/span&gt;\n      &lt;button name=\"new\" role=\"link\" class=\"btn btn-primary btn-sm m-l-xs\" ng-click=\"newRecord()\" ng-if=\"options.show_new &amp;&amp; data.canCreate &amp;&amp; !data.newButtonUnsupported\" aria-label=\"${Create new record}\"&gt;${New}&lt;/button&gt;\n      &lt;div class=\"pull-right\" ng-if=\"options.show_keywords\"&gt;\n\t\t&lt;form ng-submit=\"setSearch(true)\"&gt;\n        &lt;div class=\"input-group\"&gt;\n          &lt;input type=\"text\" name=\"datatable-search\" ng-model=\"data.keywords\" ng-model-options=\"{debounce:250}\" class=\"form-control\" placeholder=\"${Keyword Search}\"&gt;\n          &lt;span class=\"input-group-btn\"&gt;\n            &lt;button name=\"search\" class=\"btn btn-default\" type=\"submit\" aria-label=\"${Search}\"&gt;&lt;span class=\"glyphicon glyphicon-search\"&gt;&lt;/span&gt;&lt;/button&gt;\n          &lt;/span&gt;\n        &lt;/div&gt;\n        &lt;/form&gt;\n      &lt;/div&gt;\n      &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- body --&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;h2 class=\"sr-only data-table-title\"&gt;{{data.title || data.table_plural}} ${table} - ${page} {{data.p}}&lt;/h2&gt;\n      &lt;div ng-if=\"options.show_breadcrumbs &amp;&amp; (data.filter || data.enable_filter)\" class=\"filter-breadcrumbs\"&gt;\n\t    \t\t&lt;sp-widget widget=\"data.filterBreadcrumbs\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n      &lt;div class=\"alert alert-info\" ng-if=\"!data.list.length &amp;&amp; !data.num_pages &amp;&amp; !data.invalid_table &amp;&amp; !loadingData\"&gt;\n        ${No records in {{data.table_label}} &lt;span ng-if=\"data.filter\"&gt;using that filter&lt;/span&gt;}\n      &lt;/div&gt;\n      &lt;div class=\"alert alert-info\" ng-if=\"loadingData\"&gt;\n          &lt;fa name=\"spinner\" spin=\"true\"&gt;&lt;/fa&gt; ${Loading data}...\n       &lt;/div&gt;\n      &lt;table class=\"table table-striped table-responsive\" ng-if=\"data.list.length\"&gt;\n        &lt;thead&gt;\n          &lt;tr&gt;\n            &lt;th class=\"sr-only\"&gt;&lt;/th&gt;\n            &lt;th ng-repeat=\"field in data.fields_array track by $index\" class=\"text-nowrap\" ng-click=\"setOrderBy(field)\" tabindex=\"0\"&gt;\n              &lt;div class=\"th-title\" aria-label=\"${Sort by } {{data.column_labels[field]}}\"&gt;{{data.column_labels[field]}}&lt;/div&gt;\n              &lt;i class=\"fa\" ng-if=\"field == data.o\" ng-class=\"{'asc': 'fa-chevron-up', 'desc': 'fa-chevron-down'}[data.d]\" aria-label=\"${Sorted by } {{data.column_labels[field]}} {{data.d == 'asc' ?  '${Ascending}': '${Descending}' }}\"&gt;&lt;/i&gt;\n            &lt;/th&gt;\n          &lt;/tr&gt;\n        &lt;/thead&gt;\n        &lt;tbody&gt;\n          &lt;tr ng-repeat=\"item in data.list track by item.sys_id\"&gt;\n            &lt;td class=\"sr-only\" tabindex=\"0\" role=\"link\" ng-click=\"go(data.table, item)\" aria-label=\"${Open record}\"&gt;&lt;/td&gt;\n            &lt;td role=\"text\" aria-label=\"{{item[field].display_value}}\" class=\"pointer sp-list-cell\" ng-class=\"{selected: item.selected}\" ng-click=\"go(data.table, item)\" ng-repeat=\"field in ::data.fields_array\" data-field=\"{{::field}}\" data-th=\"{{::data.column_labels[field]}}\"&gt;{{::item[field].display_value}}&lt;/td&gt;\n          &lt;/tr&gt;\n        &lt;/tbody&gt;\n      &lt;/table&gt;\n      &lt;div ng-class=\"{'pruned-msg-filter-pad': (!options.show_breadcrumbs || !data.filter) &amp;&amp; !data.list.length}\" class=\"pruned-msg\" ng-if=\"rowsWerePruned()\"&gt;\n        &lt;span ng-if=\"rowsPruned == 1\"&gt;${{{rowsPruned}} row removed by security constraints}&lt;/span&gt;\n        &lt;span ng-if=\"rowsPruned &gt; 1\"&gt;${{{rowsPruned}} rows removed by security constraints}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- footer --&gt;\n    &lt;div class=\"panel-footer\" ng-hide=\"options.hide_footer\" ng-if=\"data.row_count\"&gt;\n      &lt;div class=\"btn-toolbar m-r pull-left\"&gt;\n        &lt;div class=\"btn-group\"&gt;\n          &lt;a ng-disabled=\"data.p == 1\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p - 1)\" class=\"btn btn-default\"  aria-label=\"${Previous page}\"&gt;&lt;i class=\"fa fa-chevron-left\"&gt;&lt;/i&gt;&lt;/a&gt;\n        &lt;/div&gt;\n        &lt;div ng-if=\"data.num_pages &gt; 1 &amp;&amp; data.num_pages &lt; 20\" class=\"btn-group\"&gt;\n          &lt;a ng-repeat=\"i in getNumber(data.num_pages) track by $index\" ng-click=\"setPageNum($index + 1)\" href=\"javascript:void(0)\" ng-class=\"{active: ($index + 1) == data.p}\" type=\"button\" class=\"btn btn-default\" aria-label=\"${Page} {{$index + 1}}\"&gt;{{$index + 1}}&lt;/a&gt;\n        &lt;/div&gt;\n        &lt;div class=\"btn-group\"&gt;\n          &lt;a ng-disabled=\"data.p == data.num_pages\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p + 1)\" class=\"btn btn-default\" aria-label=\"${Next page}\"&gt;&lt;i class=\"fa fa-chevron-right\"&gt;&lt;/i&gt;&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"m-t-xs panel-title\"&gt;${Rows {{data.window_start + 1}} - {{ mathMin(data.window_end,data.row_count) }} of {{data.row_count}}}&lt;/div&gt;\n\n      &lt;span class=\"clearfix\"&gt;&lt;/span&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:51:09</sys_created_on><sys_id>e1925fc673302300b10080844ff6a701</sys_id><sys_mod_count>0</sys_mod_count><sys_name>9d921fc673302300b10080844ff6a7fe</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_e1925fc673302300b10080844ff6a701</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:51:09</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>-1924711192</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>73ded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1662229fd790000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>9d921fc673302300b10080844ff6a7fe</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>a9929fc6aa30230014e27b49da436c45</update_guid>\n<update_guid_history>a9929fc6aa30230014e27b49da436c45:-1924711192</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_9d921fc673302300b10080844ff6a7fe</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function InlineEditingDataTable($scope, $location, spUtil, amb, $http, spAriaUtil, $timeout, spNavStateManager) {\n\tvar c = this;\n    c.makeEditable = makeEditable;\n\t/*\n\t * options:\n\t * hide_footer (bool) = true to remove the data table footer contents\n\t * hide_header (bool) = true to remove the data table header contents\n\t * show_new (bool) = true to show the \"New\" record button\n\t * show_keywords (bool) = true to show the keyword search field\n\t * table (string) = the table name to query\n\t * filter (string) = the encoded query\n\t * o (string) = the order by column\n\t * d (string) = The order by direction: asc or desc\n\t * p (int) = the page to jump to\n\t * fields (string) = comma seperated list of fields that become the list columns\n\t * view (string) = the default view to load for columns, overrides fields\n\t*/\n\n\t$scope.exportTypes = [{label:'PDF', value: 'PDF'}, {label:'Excel', value:'EXCEL'}, {label:'CSV', value:'CSV'}];\n\tvar keys = ['table', 'filter', 'p', 'o', 'd'];\n\n\tvar eventNames = {\n\t\tclick: 'data_table.click',\n\t\tsetFilter: 'data_table.setFilter',\n\t\tsetKeywords: 'data_table.setKeywords'\n\t};\n\n\t$scope.go = function(table, item) {\n\t\tspNavStateManager.onRecordChange(table).then(function() {\n\t\tvar parms = {};\n\t\tparms.table = table;\n\t\tparms.sys_id = item.sys_id;\n\t\tparms.record = item;\n\t\t$scope.ignoreLocationChange = true;\n\t\tfor (var x in c.data.list) {\n\t\t\tc.data.list[x].selected = false;\n\t\t}\n\t\titem.selected = true;\n\t\t$scope.$emit(eventNames.click, parms);\n\t\t}, function() {\n\t\t\t// do nothing in case of closing the modal by clicking on x\n\t\t});\n\t};\n\n\t$scope.newRecord = function(){\n\t\tvar parms = {\n\t\t\tid: 'form',\n\t\t\ttable: $scope.data.table,\n\t\t\tview: $scope.data.view,\n\t\t\tsys_id: '-1'\n\t\t};\n\t\tif ($scope.data.filter != '')\n\t\t\tparms.query = $scope.data.filter;\n\n\t\t$location.search(parms);\n\t};\n\n\tfunction recoverStateFromUrl() {\n\t\t$scope.data.fields = [];\n\t\tvar s = $location.search();\n\t\tfor (var x in keys) {\n\t\t\tif (s[keys[x]]) {\n\t\t\t\t$scope.data[keys[x]] = s[keys[x]];\n\t\t\t}\n\t\t}\n\t\t$scope.server.update().then(function(data) {\n\t\t\tif (s.sys_id) {\n\t\t\t\tfor (var x in data.list) {\n\t\t\t\t\tif (data.list[x].sys_id == s.sys_id) {\n\t\t\t\t\t\t$scope.go(s.table, data.list[x]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tif ($scope.options.fromUrl) {\n\t\tvar origSearch = $location.search();\n\t\t$scope.$on('$locationChangeSuccess', function(e) {\n\t\t\tvar s = $location.search();\n\t\t\tif (origSearch.id !== s.id)\n\t\t\t\treturn;\n\n\t\t\tif ($scope.ignoreLocationChange){\n\t\t\t\t$scope.ignoreLocationChange = false;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Helps to recover state when using the browser's back button\n\t\t\trecoverStateFromUrl();\n\t\t});\n\t}\n\n\n\t$scope.getNumber = function(num) {\n\t\treturn new Array(num);\n\t}\n\n\t$scope.mathMin = function(v1,v2) {\n\t\treturn Math.min(v1,v2);\n\t}\n\n\tfunction getData(updateUrl) {\n\t\tvar f = $scope.data;\n\t\tspUtil.update($scope).then(function(data) {\n\t\t\tf.view = data.view;\n\t\t\tif ($scope.options.fromUrl &amp;&amp; updateUrl)\n\t\t\t\tsetPermalink(f.table, f.filter, f.o, f.d, f.p);\n\n\t\t\tif ($scope.options.show_breadcrumbs &amp;&amp; data.filterBreadcrumbs)\n\t\t\t\t$scope.$broadcast('widget-filter-breadcrumbs.setBreadcrumbs', data.filterBreadcrumbs.data, data.filter);\n\n\t\t\tinitRecordWatcher(f.table, f.filter);\n\t\t});\n\t}\n\n\tfunction setPermalink(table, filter, orderBy, orderDirection, page){\n\t\t$scope.ignoreLocationChange = true;\n\t\tvar search = $location.search();\n\t\tangular.extend(search, {\n\t\t\tspa: 1,\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tp: page,\n\t\t\to: orderBy,\n\t\t\td: orderDirection\n\t\t});\n\t\t$location.search(search);\n\t}\n\n\tvar watcher;\n\tfunction initRecordWatcher(table, filter){\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\n\t\tif (table &amp;&amp; filter) {\n\t\t\tvar watcherChannel = amb.getChannelRW(table, filter);\n\t\t\tamb.connect();\n\t\t\twatcher = watcherChannel.subscribe(function(message) {\n\t\t\t\tif (!message.data)\n\t\t\t\t\treturn;\n\t\t\t\tswitch(message.data.action) {\n\t\t\t\t\tcase \"change\":\n\t\t\t\t\t\tupdateRowFromRW(message);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"exit\":\n\t\t\t\t\t\t// A record was removed\n\t\t\t\t\tcase \"enter\":\n\t\t\t\t\t\t// A record was added\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tspUtil.update($scope);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction updateRowFromRW(message) {\n\t\tif (message.data &amp;&amp; message.data.sys_id &amp;&amp; $scope.data.list) {\n\t\t\tvar row, field;\n\t\t\tfor(var i=0;i&lt;$scope.data.list.length; i++) {\n\t\t\t\trow = $scope.data.list[i];\n\t\t\t\tif (row.sys_id == message.data.sys_id) {\n\t\t\t\t\tvar fields = Object.getOwnPropertyNames(message.data.record);\n\t\t\t\t\tfor(var f in fields) {\n\t\t\t\t\t\tfield = fields[f];\n\t\t\t\t\t\tif(typeof row[field] !== 'undefined') {\n\t\t\t\t\t\t    row[field].display_value = message.data.record[field].display_value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t$scope.$on('$destroy', function() {\n\t\tif (watcher)\n\t\t\twatcher.unsubscribe();\n\t});\n\n\t$scope.setPageNum = function(num) {\n\t\t$scope.data.p = num;\n\t\tgetData(true);\n\t\t$timeout(function() {\n\t\t\t$scope.focusOnTableHeader();\n\t\t});\n\t}\n\n\t$scope.setOrderBy = function(field) {\n\t\tvar d = \"asc\";\n\t\tif ($scope.data.o == field) {\n\t\t\tif ($scope.data.d == \"asc\")\n\t\t\t\td = \"desc\";\n\t\t\telse\n\t\t\t\td = \"asc\";\n\t\t}\n\n\t\tif (d === \"asc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByAsc);\n\t\t} else if (d === \"desc\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.msg.sortingByDesc);\n\t\t}\n\n\t\t$scope.data.o = field;\n\t\t$scope.data.d = d;\n\t\t$scope.setSearch(true);\n\t}\n\n\t$scope.setSearch = function(updateUrl) {\n\t\t$scope.data.p = 1;\n\t\tgetData(updateUrl);\n\t}\n\n\t$scope.$on(eventNames.setFilter, function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on(eventNames.setKeywords, function(e, keywords){\n\t\t$scope.data.keywords = keywords;\n\t\t$scope.setSearch(false);\n\t});\n\n\t$scope.$on('widget-filter-breadcrumbs.queryModified', function(e, newFilter){\n\t\t$scope.data.filter = newFilter;\n\t\t$scope.setSearch(true);\n\t});\n\n\t$scope.rowsWerePruned = function() {\n\t\tif (!$scope.data.list)\n\t\t\treturn;\n\n\t\t$scope.rowsPruned = $scope.mathMin($scope.data.window_end,$scope.data.row_count) - $scope.data.window_start - $scope.data.list.length;\n\t\treturn $scope.rowsPruned &gt; 0;\n\t}\n\n\t$scope.showFilter = function() {\n\t\treturn !$scope.data.list.length &amp;&amp; !$scope.data.num_pages &amp;&amp; !$scope.data.invalid_table &amp;&amp; !$scope.loadingData;\n\t}\n\n\tc.appendQuery = function(query){\n\t\tif ($scope.data.filter.length &gt; 1)\n\t\t\t$scope.data.filter += '^';\n\t\t$scope.data.filter += query;\n\t\t\t$scope.setSearch();\n\n\t}\n\n\t// Makes Widget Async\n\t$scope.data = $scope.options;\n\t$scope.loadingData = true;\n\t$scope.server.update().then(function() {\n\t\tif ($scope.data.newButtonUnsupported)\n\t\t\tconsole.log(\"Service Portal: New button not supported for sys_attachment list\");\n\t\t$scope.loadingData = false;\n\t\tinitRecordWatcher($scope.data.table, $scope.data.filter);\n\t});\n\n\tfunction parseQuery(table, queryString){\n\t\treturn $http.post('/api/now/sp/parsequery/' + table, queryString).then(function(response){\n\t\t\t\treturn response.data.result;\n\t\t});\n\t}\n\n\tc.createQueryTerm = function(table, field, sys_id, operator){\n\t\treturn $http.get('/api/now/sp/getInOutQueryTerm', {\n\t\t\tparams: {\n\t\t\t\ttable: table,\n\t\t\t\tsys_id: sys_id,\n\t\t\t\tfield: field,\n\t\t\t\toperator: operator\n\t\t\t}\n\t\t}).then(function(response){\n\t\t\tif (response &amp;&amp; response.data &amp;&amp; response.data.result)\n\t\t\t\treturn response.data.result.parts;\n\t\t});\n\t}\n\n\tc.showMatching = function(field, newTerm) {\n\t\tvar queryString = $scope.data.filter;\n\t\tvar eq = \"\";\n\t\tparseQuery($scope.data.table, queryString).then(function(oldTerms) {\n\t\t\tfor(var i=0; i&lt;oldTerms.length; i++){\n\t\t\t\tvar term = oldTerms[i];\n\t\t\t\tif (isSameField(newTerm, term))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\t\t\teq += getEncodedTerm(term);\n\t\t\t}\n\t\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\t\t\teq += getEncodedTerm(newTerm);\n\n\t\t\t$scope.data.filter = eq;\n\t\t\t$scope.setSearch();\n\t\t});\n\t};\n\n\tc.filterOut = function(field, newTerm) {\n\t\tvar eq = $scope.data.filter;\n\t\tif (eq.length)\n\t\t\t\t\teq += '^';\n\n\t\teq += getEncodedTerm(newTerm);\n\t\t$scope.data.filter = eq;\n\t\t$scope.setSearch();\n\t};\n\n\tfunction isSameField(t1, t2) {\n\t\tif ('left' in t1 &amp;&amp; 'left' in t2)\n\t\t\treturn t1.left.query_term_field === t2.left.query_term_field;\n\t\telse if ('left' in t1)\n\t\t\treturn t1.left.query_term_field === t2.query_term_field;\n\t\telse if ('left' in t2)\n\t\t\treturn t1.query_term_field === t2.left.query_term_field;\n\t\treturn t1.query_term_field === t2.query_term_field;\n\t}\n\n\tfunction getEncodedTerm(term) {\n\t\tvar eq;\n\t\tif (term.left) {\n\t\t\teq = getEncodedTerm(term.left);\n\t\t\teq += '^OR';\n\t\t\teq += getEncodedTerm(term.right);\n\t\t} else {\n\t\t\teq = term.query_term_field;\n\t\t\teq += term.operator;\n\t\t\teq += term.value;\n\t\t}\n\t\treturn eq;\n\t}\n\n\tfunction makeEditable(item, field) {\n        c.server.get({\n            action: 'INLINE_EDIT',\n            table: c.data.table,\n            sys_id: item.sys_id,\n            field: field\n        }).then(function (value) {\n            item[field].inline = value.data.inlineForm._fields[field];\n        });\n    }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel-heading {\n  padding-left: 8px;\n}\n\nthead {\n  border-bottom: 1px solid #ddd;\n}\n\ntable {\n  margin-bottom: 0;\n}\n\n.table &amp;gt; thead &amp;gt; tr &amp;gt; th {\n  border: 1px solid #ddd;\n  cursor: pointer;\n  vertical-align: middle;\n\n  &amp;amp;:nth-child(2) {\n    border-left: none;\n  }\n\n\n\n  &amp;amp;:last-child {\n    border-right: none;\n  }\n}\n\nth i {\n  display: inline-block;\n  margin-left: 5px;\n  color: #A0A0A0;\n}\n\nth .disabled{\n  color:#ddd;\n}\n\n.th-title {\n  display: inline-block;\n  color: $primary;\n}\n\n.panel-body {\n  overflow: auto;\n  padding: 0px;\n}\n\n\n.selected {\n  color: #fff;\n  background-color: #909090;\n  border-color: 1px solid #fff;\n}\n\ntbody tr:last-child {\n  border-bottom: none;\n}\n\n.pruned-msg {\n  padding-bottom: 10px;\n  padding-left: 4px;\n  text-align: center;\n}\n\n.pruned-msg-filter-pad {\n  padding-top:8px;\n}\n\n.filter-breadcrumbs {\n  border-bottom: 1px solid #ddd;\n  padding-top: 3px;\n}\n\n.dropdown-toggle {\n  background: none;\n  padding: 0 0 4px 0;\n}\n\n.sp-list-cell {\n  white-space: pre-wrap;\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px;\n\t}\n}\n\n\n\n.sp-list-cell {\n  white-space: normal;\n}\n\n.inline-field {\n  white-space: normal;\n  label {\n    display: none;\n  }\n  .form-group {\n    margin-bottom: 0;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data&gt;{\"data\":\n\t{\n\t\t\"table\": \"incident\",\n\t\t\"view\": \"default\",\n\t\t\"o\": \"opened_at\",\n\t\t\"d\": \"desc\",\n\t\t\"filter\": \"activeEQtrue\",\n\t\t\"p\": 1,\n\t\t\"fields\": \"number,short_description\"\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,filter,field_list,maximum_entries,order,order_by,order_direction,title,color,glyph,sp_page&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;inline-editing-data-table&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element, attrs, ctrl){\n\tvar $ul, $contextMenu;\n\n\tscope.focusOnTableHeader = function() {\n\t\telement.find(\".data-table-title\").attr(\"tabindex\", \"-1\").focus();\n\t}\n\n\telement.on('contextmenu', function(e){\n\t\tif (e.ctrlKey)\n\t\t\treturn; // ctrlKey is for the debug menu, not this menu\n\n\t\tvar rowScope = angular.element(e.target).scope();\n\t\tvar field, item, fieldVal;\n\n\t\t// Context Menu for tbody\n\t\tif (angular.isDefined(rowScope.field) &amp;&amp; angular.isDefined(rowScope.item)){\n\t\t\te.preventDefault();\n\t\t\tfield = rowScope.field;\n\t\t\titem = rowScope.item;\n\t\t\tfieldVal = item[field].value;\n\n\t\t\tvar items = [\n\t\t\t\t['${Show Matching}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '=').then(function(term){\n\t\t\t\t\t\tctrl.showMatching(field, term);\n\t\t\t\t\t});\n\t\t\t\t}],\n\t\t\t\t['${Filter Out}', function(){\n\t\t\t\t\tctrl.createQueryTerm(scope.data.table, field, item.sys_id, '!=').then(function(term){\n\t\t\t\t\t\tctrl.filterOut(field, term);\n\t\t\t\t\t});\n\t\t\t\t}]\n\t\t\t];\n\n\t\t\trenderContextMenu(items);\n\t\t\tsetContextMenuPosition(e);\n\t\t}\n\t});\n\n\tfunction renderContextMenu(items){\n\t\tvar scrollHeight = $('body').get(0).scrollHeight;\n\t\t$contextMenu = angular.element('&lt;div&gt;', {'class': 'dropdown clearfix context-dropdown open'});\n\n\t\t$contextMenu.on('click', function (e) {\n\t\t\tif ($(e.target).hasClass('dropdown')) {\n\t\t\t\t_clearContextMenus(event);\n\t\t\t}\n\t\t});\n\t\t$contextMenu.on('contextmenu', function (event) {\n\t\t\tevent.preventDefault();\n\t\t\t_clearContextMenus(event);\n\t\t});\n\n\t\t$contextMenu.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\theight: scrollHeight,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 9999\n\t\t});\n\n\t\t$('body').append($contextMenu);\n\n\t\t$ul = angular.element('&lt;ul&gt;', {\n\t\t\t'class': 'dropdown-menu',\n\t\t\t'role': 'menu'\n\t\t});\n\t\trenderItems();\n\t\t$contextMenu.append($ul);\n\n\t\tfunction renderItems(){\n\t\t\tangular.forEach(items, function (item) {\n\t\t\t\tvar $li = angular.element('&lt;li&gt;');\n\n\t\t\t\tif (item === null) {\n\t\t\t\t\t$li.addClass('divider');\n\t\t\t\t} else {\n\t\t\t\t\tvar $a = angular.element('&lt;a&gt;');\n\t\t\t\t\t$a.attr({tabindex: '-1', href:'#'});\n\t\t\t\t\t$a.text(item[0]);\n\t\t\t\t\t$li.append($a);\n\t\t\t\t\t$li.on('click', function (e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tscope.$apply(function () {\n\t\t\t\t\t\t\t_clearContextMenus(e);\n\t\t\t\t\t\t\titem[1].call(item, item);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t$ul.append($li);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction _clearContextMenus(event){\n\t\tif (!event){\n\t\t\treturn;\n\t\t}\n\n\t\tangular.element(event.currentTarget).removeClass('context');\n\n\t\tvar els = angular.element(\".context-dropdown\");\n\t\tangular.forEach(els, function(el){\n\t\t\tangular.element(el).remove();\n\t\t});\n\t}\n\n\tvar contextMenuItemHeight = 0;\n\tfunction setContextMenuPosition(event){\n\t\tif (contextMenuItemHeight === 0)\n\t\t\tcontextMenuItemHeight = $ul.children(0).height();\n\n\t\t// Why not just call .width() and .height() on the container? Because those calculations cause browsers to reflow\n\t\t// that can cause IE10 to take 200ms to render a context menu.\n\t\tvar cmWidth = 150;\n\t\tvar cmHeight = contextMenuItemHeight * $ul.children().length;\n\t\tvar startX = event.pageX + cmWidth &gt;= window.innerWidth ? event.pageX - cmWidth : event.pageX;\n\t\tvar startY = event.pageY + cmHeight &gt;= window.innerHeight ? event.pageY - cmHeight : event.pageY;\n\n\t\t$ul.css({\n\t\t\tdisplay: 'block',\n\t\t\tposition: 'absolute',\n\t\t\tleft: startX,\n\t\t\ttop: startY,\n\t\t\t'min-width': cmWidth\n\t\t});\n\t}\n}]]&gt;&lt;/link&gt;&lt;name&gt;Inline Editing Data Table&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"If enabled, show the list filter in the breadcrumbs of the data table\",\"name\":\"enable_filter\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Enable Filter\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tif (!input) // asynch load list\n\t\treturn;\n\n    if (input.action == 'INLINE_EDIT') {\n        var inlineForm = $sp.getForm(input.table, input.sys_id);\n        data.inlineForm = inlineForm;\n        return;\n    }\n\n    data.msg = {};\n\tdata.msg.sortingByAsc = gs.getMessage(\"Sorting by ascending\");\n\tdata.msg.sortingByDesc = gs.getMessage(\"Sorting by descending\");\n\n\t/*\n\t * data.table = the table\n\t * data.p = the current page starting at 1\n\t * data.o = the order by column\n\t * data.d = the order by direction\n\t * data.keywords = the keyword search term\n\t * data.list = the table data as an array\n\t * data.invalid_table = true if table is invalid or if data was not succesfully fetched\n\t * data.table_label = the table's display name. e.g. Incident\n\t * data.table_plural = the table's plural display name. e.g. Incidents\n\t * data.fields = a comma delimited list of field names to show in the data table\n\t * data.column_labels = a map of field name -&gt; display name\n\t * data.window_size = the number of rows to show\n\t * data.filter = the encoded query\n\t */\n\t// copy to data[name] from input[name] || option[name]\n\toptCopy(['table', 'p', 'o', 'd', 'filter', 'filterACLs', 'fields', 'keywords', 'view']);\n\toptCopy(['relationship_id', 'apply_to', 'apply_to_sys_id', 'window_size']);\n\tif (!data.table) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = \"\";\n\t\treturn;\n\t}\n\n\tif (!data.fields) {\n\t\tif (data.view)\n\t\t\tdata.fields = $sp.getListColumns(data.table, data.view);\n\t\telse\n\t\t\tdata.fields = $sp.getListColumns(data.table);\n\t}\n\n\tdata.title = input.headerTitle;\n\tdata.view = data.view || 'mobile';\n\tdata.table = data.table || $sp.getValue('table');\n\tdata.filter = data.filter || $sp.getValue('filter');\n\tdata.keywords = data.keywords || $sp.getValue('keywords');\n\tdata.p = data.p || $sp.getValue('p') || 1;\n\tdata.p = parseInt(data.p);\n\tdata.o = data.o || $sp.getValue('o') || $sp.getValue('order_by');\n\tdata.d = data.d || $sp.getValue('d') || $sp.getValue('order_direction');\n\tdata.page_index = data.p - 1;\n\tdata.show_new = data.show_new || options.show_new;\n\tvar windowSize = data.window_size || $sp.getValue('maximum_entries') || 20;\n\twindowSize = parseInt(windowSize);\n\tif (isNaN(windowSize) || windowSize &lt; 1)\n\t\twindowSize = 20;\n\tdata.window_size = windowSize;\n\n\tvar gr;\n\tif (gs.getProperty(\"glide.security.ui.filter\") == \"true\" || GlideTableDescriptor.get(data.table).getED().hasAttribute(\"glide.security.ui.filter\")) {\n\t\tgr = new FilteredGlideRecord(data.table);\n\t\tgr.applyRowSecurity();\n\t} else\n\t\tgr = new GlideRecordSecure(data.table);\n\tif (!gr.isValid()) {\n\t\tdata.invalid_table = true;\n\t\tdata.table_label = data.table;\n\t\treturn;\n\t}\n\n  data.canCreate = gr.canCreate();\n\tdata.newButtonUnsupported = data.table == \"sys_attachment\";\n\tdata.table_label = gr.getLabel();\n\tdata.table_plural = gr.getPlural();\n\tif (data.filter) {\n\t\tif (data.filterACLs)\n\t\t\tgr = $sp.addQueryString(gr, data.filter);\n\t\telse\n\t\t\tgr.addEncodedQuery(data.filter);\n\t}\n\n\tif (data.keywords){\n\t\tgr.addQuery('123TEXTQUERY321', data.keywords);\n\t\tdata.keywords = null;\n\t}\n\n\tdata.filter = gr.getEncodedQuery();\n\n\tif (data.relationship_id) {\n\t\tvar rel = GlideRelationship.get(data.relationship_id);\n\t\tvar target = new GlideRecord(data.table);\n\t\tvar applyTo = new GlideRecord(data.apply_to);\n\t\tapplyTo.get(\"sys_id\", data.apply_to_sys_id);\n\t\trel.queryWith(applyTo, target); // put the relationship query into target\n\t\tgr.addEncodedQuery(target.getEncodedQuery()); // get the query the relationship made for us\n\t}\n\n\tif (data.o){\n\t\tif (data.d == \"asc\")\n\t\t\tgr.orderBy(data.o);\n\t\telse\n\t\t\tgr.orderByDesc(data.o);\n\t}\n\n\tdata.window_start = data.page_index * data.window_size;\n\tdata.window_end = (data.page_index + 1) * data.window_size;\n\tgr.chooseWindow(data.window_start, data.window_end);\n\tgr._query();\n\n\tdata.row_count = gr.getRowCount();\n\tdata.num_pages = Math.ceil(data.row_count / data.window_size);\n\tdata.column_labels = {};\n\tdata.fields_array = data.fields.split(',');\n\n\t// use GlideRecord to get field labels vs. GlideRecordSecure\n\tvar grForLabels = new GlideRecord(data.table);\n\tfor (var i in data.fields_array) {\n\t\tvar field = data.fields_array[i];\n\t\tvar ge = grForLabels.getElement(field);\n\t\tif (ge == null)\n\t\t\tcontinue;\n\n\t\tdata.column_labels[field] = ge.getLabel();\n\t}\n\n\tdata.list = [];\n\twhile (gr._next()) {\n\t\tvar record = {};\n\t\t$sp.getRecordElements(record, gr, data.fields);\n\t\tif (gr instanceof FilteredGlideRecord) {\n\t\t\t// FilteredGlideRecord doesn't do field-level\n\t\t\t// security, so take care of that here\n\t\t\tfor (var f in data.fields_array) {\n\t\t\t\tvar fld = data.fields_array[f];\n\t\t\t\tif (!gr.isValidField(fld))\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif (!gr[fld].canRead()) {\n\t\t\t\t\trecord[fld].value = null;\n\t\t\t\t\trecord[fld].display_value = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\trecord.sys_id = gr.getValue('sys_id');\n\t\tdata.list.push(record);\n\t}\n\n\tdata.enable_filter = (input.enable_filter == true || input.enable_filter == \"true\" ||\n\t\toptions.enable_filter == true || options.enable_filter == \"true\");\n\tvar breadcrumbWidgetParams = {\n\t\ttable: data.table,\n\t\tquery: data.filter,\n\t\tenable_filter: data.enable_filter\n\t};\n\tdata.filterBreadcrumbs = $sp.getWidget('widget-filter-breadcrumbs', breadcrumbWidgetParams);\n\n\t// copy to data from input or options\n\tfunction optCopy(names) {\n\t\tnames.forEach(function(name) {\n\t\t\tdata[name] = input[name] || options[name];\n\t\t})\n\t}\n\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:51:09&lt;/sys_created_on&gt;&lt;sys_id&gt;9d921fc673302300b10080844ff6a7fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;13&lt;/sys_mod_count&gt;&lt;sys_name&gt;Inline Editing Data Table&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_9d921fc673302300b10080844ff6a7fe&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:43:27&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel panel-{{ options.color }} b\"&gt;\n    &lt;div class=\"panel-heading form-inline\" ng-hide=\"options.hide_header\"&gt;\n      &lt;span class=\"dropdown m-r-xs\"&gt;\n        &lt;button aria-label=\"${Table menu}\" class=\"btn dropdown-toggle glyphicon glyphicon-menu-hamburger\"\n                style=\"line-height: 1.4em\" id=\"optionsMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\"\n                aria-expanded=\"false\"&gt;&lt;/button&gt;\n        &lt;ul class=\"dropdown-menu\" aria-labelledby=\"optionsMenu\"&gt;\n          &lt;li ng-repeat=\"t in ::exportTypes\"&gt;\n            &lt;a ng-href=\"/{{ data.table }}_list.do?{{ ::t.value }}&amp;sysparm_query={{ data.filter }}&amp;sysparm_view={{ data.view }}&amp;sysparm_fields={{ data.fields }}\"\n               target=\"_new\"&gt;${Export as} {{ ::t.label }}&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/span&gt;\n        &lt;span class=\"panel-title\"&gt;&lt;i ng-if=\"options.glyph\"\n                                     class=\"fa fa-{{ options.glyph }} m-r\"&gt;&lt;/i&gt;{{ data.title || data.table_plural }}&lt;/span&gt;\n        &lt;button name=\"new\" role=\"link\" class=\"btn btn-primary btn-sm m-l-xs\" ng-click=\"newRecord()\"\n                ng-if=\"options.show_new &amp;&amp; data.canCreate &amp;&amp; !data.newButtonUnsupported\"\n                aria-label=\"${Create new record}\"&gt;${New}\n        &lt;/button&gt;\n        &lt;div class=\"pull-right\" ng-if=\"options.show_keywords\"&gt;\n            &lt;form ng-submit=\"setSearch(true)\"&gt;\n                &lt;div class=\"input-group\"&gt;\n                    &lt;input type=\"text\" name=\"datatable-search\" ng-model=\"data.keywords\"\n                           ng-model-options=\"{debounce:250}\" class=\"form-control\" placeholder=\"${Keyword Search}\"&gt;\n                    &lt;span class=\"input-group-btn\"&gt;\n            &lt;button name=\"search\" class=\"btn btn-default\" type=\"submit\" aria-label=\"${Search}\"&gt;&lt;span\n                        class=\"glyphicon glyphicon-search\"&gt;&lt;/span&gt;&lt;/button&gt;\n          &lt;/span&gt;\n                &lt;/div&gt;\n            &lt;/form&gt;\n        &lt;/div&gt;\n        &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- body --&gt;\n    &lt;div class=\"panel-body\"&gt;\n        &lt;h2 class=\"sr-only data-table-title\"&gt;{{ data.title || data.table_plural }} ${table} - ${page} {{ data.p }}&lt;/h2&gt;\n        &lt;div ng-if=\"options.show_breadcrumbs &amp;&amp; (data.filter || data.enable_filter)\" class=\"filter-breadcrumbs\"&gt;\n            &lt;sp-widget widget=\"data.filterBreadcrumbs\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n        &lt;div class=\"alert alert-info\"\n             ng-if=\"!data.list.length &amp;&amp; !data.num_pages &amp;&amp; !data.invalid_table &amp;&amp; !loadingData\"&gt;\n            ${No records in {{ data.table_label }} &lt;span ng-if=\"data.filter\"&gt;using that filter&lt;/span&gt;}\n        &lt;/div&gt;\n        &lt;div class=\"alert alert-info\" ng-if=\"loadingData\"&gt;\n            &lt;fa name=\"spinner\" spin=\"true\"&gt;&lt;/fa&gt;\n            ${Loading data}...\n        &lt;/div&gt;\n        &lt;table class=\"table table-striped table-responsive\" ng-if=\"data.list.length\"&gt;\n            &lt;thead&gt;\n            &lt;tr&gt;\n                &lt;th class=\"sr-only\"&gt;&lt;/th&gt;\n                &lt;th ng-repeat=\"field in data.fields_array track by $index\" class=\"text-nowrap\"\n                    ng-click=\"setOrderBy(field)\" tabindex=\"0\"&gt;\n                    &lt;div class=\"th-title\"\n                         aria-label=\"${Sort by } {{ data.column_labels[field] }}\"&gt;{{ data.column_labels[field] }}&lt;/div&gt;\n                    &lt;i class=\"fa\" ng-if=\"field == data.o\"\n                       ng-class=\"{'asc': 'fa-chevron-up', 'desc': 'fa-chevron-down'}[data.d]\"\n                       aria-label=\"${Sorted by } {{ data.column_labels[field] }} {{ data.d == 'asc' ?  '${Ascending}': '${Descending}' }}\"&gt;&lt;/i&gt;\n                &lt;/th&gt;\n            &lt;/tr&gt;\n            &lt;/thead&gt;\n            &lt;tbody&gt;\n            &lt;tr ng-repeat=\"item in data.list track by item.sys_id\"&gt;\n                &lt;td class=\"sr-only\" tabindex=\"0\" role=\"link\" ng-click=\"go(data.table, item)\"\n                    aria-label=\"${Open record}\"&gt;&lt;/td&gt;\n                &lt;td role=\"text\" aria-label=\"{{ item[field].display_value }}\" class=\"pointer sp-list-cell\"\n                    ng-class=\"{selected: item.selected}\"\n                    ng-repeat=\"field in ::data.fields_array\" data-field=\"{{ ::field }}\"\n                    data-th=\"{{ ::data.column_labels[field] }}\"&gt;\n\n\n                    &lt;div ng-if=\"!c.options.inline_editing\" ng-click=\"go(data.table, item)\"&gt;\n                        {{ ::item[field].display_value }}\n                    &lt;/div&gt;\n\n                    &lt;div ng-if=\"c.options.inline_editing\"&gt;\n                        &lt;div ng-if=\"item[field].inline\" class=\"inline-field\"&gt;\n                            &lt;sp-editable-field-2 block=\"true\" table=\"{{ data.table }}\" editable-by-user=\"true\"\n                                                 table-id=\"item.sys_id\"\n                                                 field-model=\"item[field].inline\"&gt;&lt;/sp-editable-field-2&gt;\n                        &lt;/div&gt;\n\n                        &lt;span ng-if=\"!item[field].inline\" ng-click=\"c.makeEditable(item,field)\"&gt;\n                        {{ ::item[field].display_value }}\n                    &lt;/span&gt;\n                    &lt;/div&gt;\n\n                &lt;/td&gt;\n            &lt;/tr&gt;\n            &lt;/tbody&gt;\n        &lt;/table&gt;\n        &lt;div ng-class=\"{'pruned-msg-filter-pad': (!options.show_breadcrumbs || !data.filter) &amp;&amp; !data.list.length}\"\n             class=\"pruned-msg\" ng-if=\"rowsWerePruned()\"&gt;\n        &lt;span ng-if=\"rowsPruned == 1\"&gt;${{ {rowsPruned}} row removed by security constraints}&lt;/span&gt;\n            &lt;span ng-if=\"rowsPruned &gt; 1\"&gt;${{ {rowsPruned }} rows removed by security constraints}&lt;/span&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- footer --&gt;\n    &lt;div class=\"panel-footer\" ng-hide=\"options.hide_footer\" ng-if=\"data.row_count\"&gt;\n        &lt;div class=\"btn-toolbar m-r pull-left\"&gt;\n            &lt;div class=\"btn-group\"&gt;\n                &lt;a ng-disabled=\"data.p == 1\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p - 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Previous page}\"&gt;&lt;i class=\"fa fa-chevron-left\"&gt;&lt;/i&gt;&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;div ng-if=\"data.num_pages &gt; 1 &amp;&amp; data.num_pages &lt; 20\" class=\"btn-group\"&gt;\n                &lt;a ng-repeat=\"i in getNumber(data.num_pages) track by $index\" ng-click=\"setPageNum($index + 1)\"\n                   href=\"javascript:void(0)\" ng-class=\"{active: ($index + 1) == data.p}\" type=\"button\"\n                   class=\"btn btn-default\" aria-label=\"${Page} {{$index + 1}}\"&gt;{{$index + 1}}&lt;/a&gt;\n            &lt;/div&gt;\n            &lt;div class=\"btn-group\"&gt;\n                &lt;a ng-disabled=\"data.p == data.num_pages\" href=\"javascript:void(0)\" ng-click=\"setPageNum(data.p + 1)\"\n                   class=\"btn btn-default\" aria-label=\"${Next page}\"&gt;&lt;i class=\"fa fa-chevron-right\"&gt;&lt;/i&gt;&lt;/a&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"m-t-xs panel-title\"&gt;${Rows {{data.window_start + 1}} - {{ mathMin(data.window_end,data.row_count) }}\n            of {{ data.row_count }}}\n        &lt;/div&gt;\n\n        &lt;span class=\"clearfix\"&gt;&lt;/span&gt;\n    &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-607442908</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>bbded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1662259e02d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>Inline Editing Data Table</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a38ed3ca8e3023004ccd7692649b4729</update_guid>\n<update_guid_history>a38ed3ca8e3023004ccd7692649b4729:-607442908,d74e57ca283023001c1360493abfcc91:741162471,083e13ca33302300ae443824a232d44d:358687954,072e17ca2a30230028a02d2227c8a298:-994551467,600e13caef302300a56ef0e34d60385a:1262462197,aaedd3ca5a302300fb29fc9b527ca323:472867142,b1bd5f8aa3302300358a8ac94d5f66f9:-2026598042,406d13ca293023002e0e61e00e6c9153:1470021565,8e5d1f8a2e3023008b38c837c558e4fe:2046523062,332ddf8ab3302300e78c568c404d1e18:520003131,af2ddf8a31302300842a482b5ad13e13:-758126918,1c2ddf8a333023006b775a166cd8100f:89474473,4d0d1f8a7a302300998946849b1317f4:-1739677125,91925fc666302300146eb1f695778100:-80977270</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_c25c838673302300b10080844ff6a7f0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Form with Related List\">825c838673302300b10080844ff6a7eb</child><cloned>2018-09-28 21:23:53</cloned><last_validated>2018-09-28 21:23:53</last_validated><parent display_value=\"Form\">fd1f4ec347730200ba13a5554ee490c0</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;sp_platform&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n\t$scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });\t\t\n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n\t\tif ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n\t\t$rootScope.$broadcast('sp.form.ui_action.triggered');\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id)) {\n          $scope.submitting = false;\n\t\t\t\t\t$rootScope.$broadcast('sp.form.submit.failed', action);\n\t\t\t\t}\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n\t  $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n\t\n\tfunction _save() {\n\t\tvar primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n\t}\n\t\n\tfunction onListClick(evt, arg) {\n\t\tloadForm(arg.table, arg.sys_id);\n\t}\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n\t\n\tvar g_form;\n\tfunction initForm(gFormInstance) {\n\t\tif (gFormInstance.getTableName() == $scope.data.f.table){\n\t\t\tg_form = gFormInstance;\n\t\t\tspNavStateManager.register($scope.data.table, _save, g_form);\n\t\t\t$scope.isPageReady = true;\n\t\t\t$timeout(function() {\n\t\t\t\t$rootScope.$emit('spModel.gForm.rendered', g_form);\n\t\t\t}, 175);\n\t\t}\n\t}\n\t\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\t\n\t$scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\t\n\t// update the comments or worknotes based on activity stream\n\t$scope.$on(\"activity_stream_is_changed\", function(event, data) {\n\t\tif (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n\t\t\tg_form.setValue(data.fieldName, data.input);\n\t\t\tif (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n\t\t\t\tg_form.setValue(data.fieldToClear, \"\");\n\t\t}\n\t})\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n\t\t$scope.$evalAsync(function() {\n\t\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t});\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n\t  $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as/&gt;&lt;css&gt;.btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-form&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Form&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function($sp, input, data, options, gs) {\n  /* \"use strict\"; -linter issues */\n  // populate the 'data' variable\n\tdata.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n\tdata.recordAddedMsg = gs.getMessage(\"Record Added\");\n\tdata.updatedMsg = gs.getMessage(\"updated_uppercase\");\n\tdata.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n\tdata.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n\tdata.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tdata.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n\tdata.emptyStateTemplate = options.empty_state_template;\n\tdata.disableUIActions = options.disableUIActions === \"true\";\n\tdata.hideRelatedLists = options.hideRelatedLists || false;\n\n\tif (input) {\n\t\tdata.table = input.table;\n\t\tdata.sys_id = input.sys_id;\n\t\tdata.view = input.view;\n\t\tvar result = {};\n\t\tif (input._fields) {\n\t\t\tresult = $sp.saveRecord(input.table, input.sys_id, input._fields);\n\t\t\tdata.sys_id = result.sys_id;\n\t\t}\n\n\t\tif (input.sys_id == '-1')\n\t\t\tdata.isNewRecord = true;\n\t} else {\n\t\tdata.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n\t\tdata.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n\t\tdata.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n\t}\n\n\tdata.query = $sp.getParameter(\"query\") || options.query || \"\";\n\tdata.f = {};\n\tif (!data.table)\n\t\treturn;\n\t\n\t// Form widget is not a supported way to view an attachment\n\tif (data.table == \"sys_attachment\") {\n\t\tdata.tableUnsupported = true;\n\t\treturn;\n\t}\n\n\tif (!GlideTableDescriptor.isValid(data.table))\n\t\treturn;\n\n\tif (!data.sys_id)\n\t\treturn;\n\n\tvar rec = $sp.getRecord(data.table, data.sys_id);\n\tdata.isValid = rec.isValid() || data.sys_id == \"-1\";\n\tif (!data.isValid)\n\t\treturn;\n\n\tdata.table = rec.getRecordClassName();\n\tdata.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n\tdata.canWrite = rec.canWrite();\n\tvar hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n\tdata.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n\tdata.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n\t// Activity formatter is hardcoded to set specific options\n\tfor (var f in data.f._formatters) {\n\t\tvar fm = data.f._formatters[f];\n\t\tif (fm.formatter == \"activity.xml\") {\n\t\t\tfm.hardcoded = true;\n\t\t\tfm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{table: data.table,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t sys_id: data.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t includeExtended: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t title: \"${Activity}\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t use_dynamic_placeholder: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t btnLabel: \"${Post}\"});\n\t\t} else if(fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n\t\t\tvar qsConfig = $sp.getValue('quick_start_config');\n\t\t\tif (qsConfig)\n\t\t\t\tqsConfig = JSON.parse(qsConfig)[0];\n\t\t\tfm.widgetInstance = $sp.getWidget(fm.widget, {table: data.table,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsys_id: data.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'});\n\t\t} else\n\t\t\tfm.widgetInstance = $sp.getWidget(fm.widget, data);\n\t}\n})($sp, input, data, options, gs);]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-11-22 21:32:20&lt;/sys_created_on&gt;&lt;sys_id&gt;fd1f4ec347730200ba13a5554ee490c0&lt;/sys_id&gt;&lt;sys_mod_count&gt;970&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;33c50723d9e02300aadbb5e9839d2b7c&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_fd1f4ec347730200ba13a5554ee490c0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-06-06 20:12:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n      \t&lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n      \t&lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;span ng-repeat=\"rl in data.f._related_lists\" ng-if=\"rl.visible\"&gt;\n            &lt;a ng-if=\"rl.type != 'REL'\" ng-href=\"?id=lf&amp;table={{::rl.table}}&amp;filter={{rl.field}}%3D{{data.f.sys_id}}&amp;view={{data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', filter: '{{rl.field}}%3D{{data.f.sys_id}}'})\"&gt;{{rl.plural}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{::rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;a ng-if=\"::rl.type == 'REL'\" href=\"?id=lf&amp;table={{::rl.table}}&amp;relationship_id={{rl.relationship_id}}&amp;apply_to={{rl.apply_to}}&amp;apply_to_sys_id={{rl.apply_to_sys_id}}&amp;view={{::data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', apply_to: '{{rl.apply_to}}', apply_to_sys_id: '{{rl.apply_to_sys_id}}', relationship_id: '{{rl.relationship_id}}'})\"&gt;{{rl.label}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;span ng-if=\"!$last\" style=\"padding-left: .5em; padding-right: .5em;\" aria-hidden=\"true\"&gt; | &lt;/span&gt;\n          &lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:23:53</sys_created_on><sys_id>c25c838673302300b10080844ff6a7f0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>825c838673302300b10080844ff6a7eb</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_c25c838673302300b10080844ff6a7f0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:23:53</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>2117590783</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>bfded7ca73302300b10080844ff6a7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166221109360000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>825c838673302300b10080844ff6a7eb</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>0a5c83867a302300cfc8750f8acf1af1</update_guid>\n<update_guid_history>0a5c83867a302300cfc8750f8acf1af1:2117590783</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_8a5c838673302300b10080844ff6a7ed</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"spAttachmentManager\">06e836f0d722120023c84f80de6103a1</sp_angular_provider><sp_widget display_value=\"Form with Related List\">825c838673302300b10080844ff6a7eb</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2018-09-28 21:23:53</sys_created_on><sys_id>8a5c838673302300b10080844ff6a7ed</sys_id><sys_mod_count>0</sys_mod_count><sys_name>spAttachmentManager.Form with Related List</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_8a5c838673302300b10080844ff6a7ed</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2018-09-28 21:23:53</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-1563089311</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:49</sys_created_on>\n<sys_id>f3ded7ca73302300b10080844ff6a7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166221108ed0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:49</sys_updated_on>\n<table/>\n<target_name>spAttachmentManager.Form with Related List</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>825c8386f33023008cb90936ab46c6ef</update_guid>\n<update_guid_history>825c8386f33023008cb90936ab46c6ef:-1563089311</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_825c838673302300b10080844ff6a7eb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  console.log(this.data);\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n\t$scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });\n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n\t\tif ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n\t\t$rootScope.$broadcast('sp.form.ui_action.triggered');\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id)) {\n          $scope.submitting = false;\n\t\t\t\t\t$rootScope.$broadcast('sp.form.submit.failed', action);\n\t\t\t\t}\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n\t  $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n\n\tfunction _save() {\n\t\tvar primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n\t}\n\n\tfunction onListClick(evt, arg) {\n\t\tloadForm(arg.table, arg.sys_id);\n\t}\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n\n\tvar g_form;\n\tfunction initForm(gFormInstance) {\n\t\tif (gFormInstance.getTableName() == $scope.data.f.table){\n\t\t\tg_form = gFormInstance;\n\t\t\tspNavStateManager.register($scope.data.table, _save, g_form);\n\t\t\t$scope.isPageReady = true;\n\t\t\t$timeout(function() {\n\t\t\t\t$rootScope.$emit('spModel.gForm.rendered', g_form);\n\t\t\t}, 175);\n\t\t}\n\t}\n\n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t$scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n\t\tinitForm(gFormInstance);\n  });\n\n\t// update the comments or worknotes based on activity stream\n\t$scope.$on(\"activity_stream_is_changed\", function(event, data) {\n\t\tif (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n\t\t\tg_form.setValue(data.fieldName, data.input);\n\t\t\tif (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n\t\t\t\tg_form.setValue(data.fieldToClear, \"\");\n\t\t}\n\t})\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n\t\t$scope.$evalAsync(function() {\n\t\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t});\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n\t  $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;form-with-related-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Form with Related List&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"},{\"name\":\"inline_editing\",\"section\":\"other\",\"label\":\"Inline Editing\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function ($sp, input, data, options, gs) {\n    /* \"use strict\"; -linter issues */\n    // populate the 'data' variable\n    data.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n    data.recordAddedMsg = gs.getMessage(\"Record Added\");\n    data.updatedMsg = gs.getMessage(\"updated_uppercase\");\n    data.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n    data.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n    data.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n    data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n    if (isNaN(data.maxAttachmentSize))\n        data.maxAttachmentSize = 24;\n    data.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n    data.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\n    data.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n    data.emptyStateTemplate = options.empty_state_template;\n    data.disableUIActions = options.disableUIActions === \"true\";\n    data.hideRelatedLists = options.hideRelatedLists || false;\n\n    if (input) {\n        data.table = input.table;\n        data.sys_id = input.sys_id;\n        data.view = input.view;\n        var result = {};\n        if (input._fields) {\n            result = $sp.saveRecord(input.table, input.sys_id, input._fields);\n            data.sys_id = result.sys_id;\n        }\n\n        if (input.sys_id == '-1')\n            data.isNewRecord = true;\n    } else {\n        data.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n        data.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n        data.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n    }\n\n    data.query = $sp.getParameter(\"query\") || options.query || \"\";\n    data.f = {};\n    if (!data.table)\n        return;\n\n    // Form widget is not a supported way to view an attachment\n    if (data.table == \"sys_attachment\") {\n        data.tableUnsupported = true;\n        return;\n    }\n\n    if (!GlideTableDescriptor.isValid(data.table))\n        return;\n\n    if (!data.sys_id)\n        return;\n\n    var rec = $sp.getRecord(data.table, data.sys_id);\n    data.isValid = rec.isValid() || data.sys_id == \"-1\";\n    if (!data.isValid)\n        return;\n\n    data.table = rec.getRecordClassName();\n    data.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n    data.canWrite = rec.canWrite();\n    var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n    data.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n    data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n    // Activity formatter is hardcoded to set specific options\n    for (var f in data.f._formatters) {\n        var fm = data.f._formatters[f];\n        if (fm.formatter == \"activity.xml\") {\n            fm.hardcoded = true;\n            fm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n                {\n                    table: data.table,\n                    sys_id: data.sys_id,\n                    includeExtended: true,\n                    title: \"${Activity}\",\n                    use_dynamic_placeholder: true,\n                    btnLabel: \"${Post}\"\n                });\n        } else if (fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n            var qsConfig = $sp.getValue('quick_start_config');\n            if (qsConfig)\n                qsConfig = JSON.parse(qsConfig)[0];\n            fm.widgetInstance = $sp.getWidget(fm.widget, {\n                table: data.table,\n                sys_id: data.sys_id,\n                readonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'\n            });\n        } else\n            fm.widgetInstance = $sp.getWidget(fm.widget, data);\n    }\n\n    data.relatedListWidget = $sp.getWidget('related-list', {\n        table: data.table,\n        sys_id: data.sys_id,\n        inline_editing: options.inline_editing == \"true\"\n    });\n})($sp, input, data, options, gs);\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:23:53&lt;/sys_created_on&gt;&lt;sys_id&gt;825c838673302300b10080844ff6a7eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;11&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form with Related List&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_825c838673302300b10080844ff6a7eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:32:03&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n      \t&lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n      \t&lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;sp-widget widget=\"c.data.relatedListWidget\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-805508080</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>f7ded7ca73302300b10080844ff6a7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166224f6ee50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name>Form with Related List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>2cfb5b8a85302300865c1d40e9a48482</update_guid>\n<update_guid_history>2cfb5b8a85302300865c1d40e9a48482:-805508080,688b934ab13023007e6733dddd13fc2c:3249325,e6f4970ac5302300f7d595aceaa93fe6:1668097863,cef4d3c69f302300c5349eaff5f7ff6e:2012765743,5cf4d3c6063023009b3aca47b506326a:234061796,74e4970a6c302300521df3327571e2e2:2113036772,8f24d3c6ac302300e025bd81dbc62b49:-1859860010,e024170af630230030c1b32919fd3291:-1252732520,6304170a883023009cccd46f63480f8d:339253367,a6a3dbc67430230092e06e8aa92ab041:-1491919818,35a3dbc65e30230024bb9aaef55fcf3d:2015869719,ca5c8386a4302300e7d1774934408eec:-1679651923</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_d332dbc673302300b10080844ff6a774</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;96321bc673302300b10080844ff6a754&lt;/sp_column&gt;&lt;sp_widget display_value=\"Form with Related List\"&gt;825c838673302300b10080844ff6a7eb&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-09-28 21:49:38&lt;/sys_created_on&gt;&lt;sys_id&gt;d332dbc673302300b10080844ff6a774&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_d332dbc673302300b10080844ff6a774&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-09-28 22:42:57&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"disableUIActions\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"showFormView\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"omitHeaderOptions\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"inline_editing\": {\n\t\t\"value\": \"false\",\n\t\t\"displayValue\": \"false\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=d332dbc673302300b10080844ff6a774\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-989373787</payload_hash>\n<remote_update_set display_value=\"Form with Related List\">bfded7ca73302300b10080844ff6a7a3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2018-09-28 22:44:50</sys_created_on>\n<sys_id>fbded7ca73302300b10080844ff6a7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16622596ccf0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2018-09-28 22:44:50</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>d87e97caa7302300eab2047973bb8e2b</update_guid>\n<update_guid_history>d87e97caa7302300eab2047973bb8e2b:-989373787,c7fb5b8af83023002f947a4cb1ac6c32:1984168371,9f32dbc6dc30230092611e732bc39275:-1804000387</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-related-list/widget/pe-related-list.u-body-html-template.html",
    "content": "<div class=\"\" ng-if=\"data.related_lists.length > 0\">\n  <ul class=\"nav nav-tabs\" role=\"tablist\">\n      <li role=\"presentation\" ng-class='{active:$first}' ng-repeat=\"list in data.related_lists\">\n          <a data-target=\"#{{ list.table }}\" aria-controls=\"{{ list.table }}\" role=\"tab\" ng-class='{active:$first}'\n             data-toggle=\"tab\">\n              {{ list.label }}\n              <span class=\"label label-as-badge label-primary\" ng-if=\"list.count\">{{ list.count }}</span>\n          </a>\n      </li>\n  </ul>\n\n  <div class=\"tab-content\">\n      <div role=\"tabpanel\" class=\"tab-pane\" id=\"{{ list.table }}\" ng-class='{active:$first}'\n           ng-repeat=\"list in data.related_lists\">\n\n          <div style=\"margin-top: -1px;\">\n              <div class=\"alert alert-danger\" ng-if=\"data.invalid_table\">\n                  Table not defined '{{ data.table_label }}'\n              </div>\n              <sp-widget widget=\"list.widget\"></sp-widget>\n          </div>\n\n      </div>\n  </div>\n</div>\n"
  },
  {
    "path": "pe-related-list/widget/pe-related-list.u-client-script.js",
    "content": "function RelatedListController($rootScope, $location) {\n  var c = this;\n  c.$onInit = function () {\n      console.log(c);\n      addListenerToListClick()\n  };\n\n  function addListenerToListClick() {\n      $rootScope.$on('data_table.click', function (event, obj) {\n          var link = $location.search();\n          link.sys_id = obj.sys_id;\n          link.table = obj.table;\n          $location.search(link);\n      })\n  }\n}\n"
  },
  {
    "path": "pe-related-list/widget/pe-related-list.u-css.scss",
    "content": ""
  },
  {
    "path": "pe-related-list/widget/pe-related-list.u-server-script.js",
    "content": "(function () {\n    input = input || {};\n    var table = options.table || input.table;\n    var sys_id = options.sys_id || input.sys_id;\n    var query = options.query || input.query;\n    view = input.view || \"sp\";\n\n    if (!table || !sys_id)\n        return;\n\n    var f = $sp.getForm(table, sys_id, query);\n    data.related_lists = f._related_lists;\n\n    for (var i in data.related_lists) {\n        var list = data.related_lists[i];\n        var params = {\n            table: list.table,\n            filter: list.field + \"=\" + sys_id,\n            view: view,\n            inline_editing: options.inline_editing,\n            title: list.label\n        };\n        list.widget = $sp.getWidget('inline-editing-data-table', params);\n    }\n    \n})();\n"
  },
  {
    "path": "pe-remediation-actions/README.md",
    "content": "# Remediation Actions\n\n## Description\n\nThis widget displays choices for remediation actions.\n\n## Screenshots\n![](../images/pe-remediation-actions.png)\n\n## Additional Information/Notes\n\nProvide a sysid of an anomaly alert to the **alert** Widget Option schema. The widget will not display if the alert is closed.\n\n---\n## Installation\n---\nEnsure the that the **Performance Analytics - Content Pack - Event Management** plugin is Activated per the SN Plugin support section below.<br/><br/>\nDownload and install update set **[pe-remediation-actions.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-remediation-actions/pe-remediation-actions.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**alert**: Provide a specific *em_alert_anomaly* record sys_id to display.  `Default: Most recent record in the em_alert_anomaly table.`<br/>\n\n---\n## Platform Dependencies\n---\n\n### SN Plugin Support\n\nWidget support is provided by the ServiceNow® [Performance Analytics - Content Pack - Event Management](https://docs.servicenow.com/bundle/istanbul-performance-analytics-and-reporting/page/use/performance-analytics/reference/r_PALandingPage.html)<br/>\nPerformance Analytics content pack for Event Management core out-of-the-box KPIs. <br/>\n**For Customers:** _Activation of this plugin on production instances may require a separate Performance Analytics license. Contact ServiceNow for details._\n\n### SN System Tables\n* em_alert_anomaly\n\n---\n## Sample Data and Data Structures\n---\nWith the Performance Analytics - Content Pack - Event Management installed the System table *em_alert_anomoly* is created.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$icon-circle-color: #7e848b !default;`<br/>\n`$good-color: #3abe43 !default;`<br/>\n`$bad-color: #ff402c !default;`<br/>\n"
  },
  {
    "path": "pe-remediation-actions/pe-remediation-actions.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-07 19:58:18\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Remediation Actions</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>5a86d4c0db5bb200ded8b701ef961992</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>ffc0119cdb93f200ded8b701ef9619d3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3711cdc4db9bb200ded8b701ef9619bc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"PE Remediation Actions\">ffa0c9c4db9bb200ded8b701ef961987</sp_dependency><sp_widget display_value=\"pe-remediation-actions\">847d0bde13d2b200ba3a7b1a6144b012</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-07 00:11:17</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3711cdc4db9bb200ded8b701ef9619bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Remediation Actions.pe-remediation-actions</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3711cdc4db9bb200ded8b701ef9619bc</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-07 00:11:17</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>3bc0119cdb93f200ded8b701ef9619d4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions.pe-remediation-actions</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_48eab044db9bb200ded8b701ef9619be</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Remediation Actions Module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('pe-remediation-actions', []);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-06 23:44:50&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;48eab044db9bb200ded8b701ef9619be&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Remediation Actions Module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_48eab044db9bb200ded8b701ef9619be&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 23:46:43&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>3fc0519cdb93f200ded8b701ef9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions Module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d2d0c9c4db9bb200ded8b701ef9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Remediation Actions\">ffa0c9c4db9bb200ded8b701ef961987</sp_dependency><sp_js_include display_value=\"PE Remediation Actions Module\">8fc00dc4db9bb200ded8b701ef961979</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-07 00:10:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d2d0c9c4db9bb200ded8b701ef9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Remediation Actions.PE Remediation Actions Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d2d0c9c4db9bb200ded8b701ef9619cf</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-07 00:10:05</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>77c0119cdb93f200ded8b701ef9619d4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions.PE Remediation Actions Module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_847d0bde13d2b200ba3a7b1a6144b012</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function RemediationActionsController($window, actionService) {\n  var c = this;\n  c.goToAction = goToAction;\n\n  c.$onInit = function() {\n    c.alert = c.data.alert;\n    getActions();\n  };\n\n  function getActions() {\n    c.actions = actionService.getActions();\n    return c.actions;\n  }\n\n  function goToAction(href) {\n    $window.location.href = href;\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$slate: #485563;\n$icon-circle-color: #7e848b !default;\n$good-color: #3abe43 !default;\n$bad-color: #ff402c !default;\n\n.panel-wrapper {\n  margin-bottom: 10px;\n}\n\n.panel-proper {\n  background-color: #fff;\n  border-radius: 5px;\n  transition: box-shadow 0.5s;\n  position: relative;\n}\n\n.panel-header {\n  position: relative;\n  padding: 7px 12px;\n  font-size: 16px;\n  font-weight: 600;\n  border-bottom: 0.5px solid #7E848B;\n}\n\n.panel-content {\n  padding: 12px;\n}\n\n.title-icon {\n  display: inline-block;\n  background-color: $icon-circle-color;\n  width: 22px;\n  height: 22px;\n  fill: #fff;\n  color: #fff;\n  text-align: center;\n  border-radius: 11px;\n  margin: 0 2px;\n  font-weight: 400;\n  &amp;amp;:first-child {\n    margin-left: -5px;\n  }\n}\n\n.scroll-wrapper {\n  margin: 10px -12px 0 -12px;\n  position: relative;\n}\n\n.scroll {\n  width: 100%;\n  padding-left: 12px;\n  overflow-x: scroll;\n  white-space: nowrap;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scroll-item {\n  box-sizing: border-box;\n  display: inline-block;\n  vertical-align: top;\n  white-space: normal;\n  background: #fff;\n  margin-right: 12px;\n  width: 150px;\n  height: 250px;\n  text-align: center;\n  border: 0.5px solid rgba(72, 85, 99, 0.5);\n  font-size: 15px;\n  margin-bottom: 2px;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n  cursor: pointer;\n}\n\n.scroll-item-header {\n  background-color: $slate;\n  padding: 15px 15px 5px 15px;\n  .action-key {\n    fill: #fff;\n    color: #fff;\n  }\n  .action-title {\n    color: #fff;\n  }\n}\n\n.scroll-item-body {\n  padding: 5px 15px 15px 15px;\n  line-height: 1.3;\n}\n\n.action-key {\n  font-size: 50px;\n  line-height: 1;\n}\n\n.action-title {\n  font-size: 18px;\n}\n\n.action-subtitle {\n  font-weight: 600;\n  margin-top: 5px;\n}\n\n.action-subtitle-smaller {\n  font-size: 12px;\n  font-weight: 600;\n  margin-top: 5px;\n}\n\n.color-by-status-good {\n  color: $good-color;\n  font-weight: bold;\n}\n\n.color-by-status-bad {\n  color: $bad-color;\n  font-weight: bold;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-remediation-actions&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Remediation Actions&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"alert\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.alert = options.alert || serverOptions.alert;\n\n  var getAlert = function(gr) {\n    return {\n      sys_id: gr.sys_id.toString(),\n      state: gr.state.toString()\n    };\n  };\n\n  var alertGR, alert;\n  if (options.alert) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.get(options.alert);\n    alert = getAlert(alertGR);\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    alertGR.next();\n    alert = getAlert(alertGR);\n  }\n\n  data.alert = alert;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-25 17:08:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;847d0bde13d2b200ba3a7b1a6144b012&lt;/sys_id&gt;&lt;sys_mod_count&gt;180&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Remediation Actions&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_847d0bde13d2b200ba3a7b1a6144b012&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-07 19:56:02&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"c.alert.state !== 'Closed'\" class=\"panel-wrapper\"&gt;\n  &lt;div class=\"panel-proper\"&gt;\n    &lt;div class=\"panel-header\"&gt;\n      &lt;span&gt;Remediation Actions&lt;/span&gt;\n      &lt;span class=\"title-icon\"&gt;\n        {{c.actions.length}}\n      &lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-content\" id=\"panel-content\"&gt;\n      &lt;div&gt;The following actions are recommended:&lt;/div&gt;\n      &lt;div class=\"scroll-wrapper\"&gt;\n        &lt;div class=\"scroll\"&gt;\n          &lt;div ng-repeat=\"action in c.actions track by $index\" class=\"scroll-item\" ng-click=\"c.goToAction(action.href)\"&gt;\n            &lt;div class=\"scroll-item-header\"&gt;\n              &lt;div class=\"action-key\"&gt;\n                &lt;span class=\"icon-inline\"&gt;\n                  &lt;i class=\"{{action.iconClasses}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                &lt;/span&gt;\n              &lt;/div&gt;\n              &lt;div class=\"action-title\"&gt;{{action.name}}&lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"scroll-item-body\"&gt;\n              &lt;div class=\"action-subtitle\"&gt;Confidence&lt;/div&gt;\n              &lt;div ng-class=\"{ 'color-by-status-good': (action.confidence &gt; 80), 'color-by-status-bad': (action.confidence &lt; 40) }\"&gt;{{action.confidence}}%&lt;/div&gt;\n              &lt;div class=\"action-subtitle\"&gt;Est duration&lt;/div&gt;\n              &lt;div ng-class=\"{ 'color-by-status-good': (action.duration &lt; 15), 'color-by-status-bad': (action.duration &gt; 30) }\"&gt;{{action.duration}} min&lt;/div&gt;\n              &lt;div class=\"action-subtitle\"&gt;Change Request&lt;/div&gt;\n              &lt;div&gt;{{action.change_request}}&lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>7bc0519cdb93f200ded8b701ef9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_66e04dc4db9bb200ded8b701ef96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"PE Remediation Actions\">ffa0c9c4db9bb200ded8b701ef961987</sp_dependency><sp_js_include display_value=\"PE Remediation Actions Service\">83d04dc4db9bb200ded8b701ef961921</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-07 00:10:22</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>66e04dc4db9bb200ded8b701ef96192a</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PE Remediation Actions.PE Remediation Actions Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_66e04dc4db9bb200ded8b701ef96192a</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-07 00:10:30</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>b3c0119cdb93f200ded8b701ef9619d4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions.PE Remediation Actions Service</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_8fc00dc4db9bb200ded8b701ef961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Remediation Actions Module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-07 00:10:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8fc00dc4db9bb200ded8b701ef961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Remediation Actions Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Remediation Actions Module\">48eab044db9bb200ded8b701ef9619be</sys_ui_script><sys_update_name>sp_js_include_8fc00dc4db9bb200ded8b701ef961979</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-07 00:10:05</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>b7c0519cdb93f200ded8b701ef9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions Module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_83d04dc4db9bb200ded8b701ef961921</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>PE Remediation Actions Service</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-07 00:10:22</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>83d04dc4db9bb200ded8b701ef961921</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Remediation Actions Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Remediation Actions Service\">4c9b3844db9bb200ded8b701ef961926</sys_ui_script><sys_update_name>sp_js_include_83d04dc4db9bb200ded8b701ef961921</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-07 00:10:22</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>bfc0119cdb93f200ded8b701ef9619d4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions Service</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_ffa0c9c4db9bb200ded8b701ef961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Remediation Actions</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-07 00:09:27</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ffa0c9c4db9bb200ded8b701ef961987</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Remediation Actions</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_ffa0c9c4db9bb200ded8b701ef961987</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-07 00:09:27</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>fbc0119cdb93f200ded8b701ef9619d4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_4c9b3844db9bb200ded8b701ef961926</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Remediation Actions Service&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  function actionService() {\n    var service = {\n      getActions: getActions\n    };\n    return service;\n\n    function getActions() {\n      var actions = [{\n        name: 'Rollback',\n        iconClasses: 'fa fa-refresh',\n        confidence: 98,\n        duration: 10,\n        change_request: 'CHG000123',\n        href: 'https://www.example.com'\n      },\n      {\n        name: 'Fix',\n        iconClasses: 'fa fa-wrench',\n        confidence: 76,\n        duration: 30,\n        change_request: 'CHG000123',\n        href: 'https://www.example.com'\n      },\n      {\n        name: 'Failover',\n        iconClasses: 'fa fa-refresh',\n        confidence: 35,\n        duration: 90,\n        change_request: 'CHG000123',\n        href: 'https://www.example.com'\n      }];\n      return actions;\n    }\n  }\n\n  angular\n    .module('pe-remediation-actions')\n    .service('actionService', actionService);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-06 23:48:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4c9b3844db9bb200ded8b701ef961926&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Remediation Actions Service&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_4c9b3844db9bb200ded8b701ef961926&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-07 19:55:51&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Remediation Actions\">ffc0119cdb93f200ded8b701ef9619d3</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-07 19:58:18</sys_created_on>\n<sys_id>ffc0519cdb93f200ded8b701ef9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-07 19:58:18</sys_updated_on>\n<table/>\n<target_name>PE Remediation Actions Service</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-remediation-actions/ui-script/pe-remediation-actions-module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('pe-remediation-actions', []);\n})();"
  },
  {
    "path": "pe-remediation-actions/ui-script/pe-remediation-actions-service.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  function actionService() {\n    var service = {\n      getActions: getActions\n    };\n    return service;\n\n    function getActions() {\n      var actions = [{\n        name: 'Rollback',\n        iconClasses: 'fa fa-refresh',\n        confidence: 98,\n        duration: 10,\n        change_request: 'CHG000123',\n        href: 'https://www.example.com'\n      },\n      {\n        name: 'Fix',\n        iconClasses: 'fa fa-wrench',\n        confidence: 76,\n        duration: 30,\n        change_request: 'CHG000123',\n        href: 'https://www.example.com'\n      },\n      {\n        name: 'Failover',\n        iconClasses: 'fa fa-refresh',\n        confidence: 35,\n        duration: 90,\n        change_request: 'CHG000123',\n        href: 'https://www.example.com'\n      }];\n      return actions;\n    }\n  }\n\n  angular\n    .module('pe-remediation-actions')\n    .service('actionService', actionService);\n})();"
  },
  {
    "path": "pe-remediation-actions/widget/pe-remediation-actions.u-body-html-template.html",
    "content": "<div ng-if=\"c.alert.state !== 'Closed'\" class=\"panel-wrapper\">\n  <div class=\"panel-proper\">\n    <div class=\"panel-header\">\n      <span>Remediation Actions</span>\n      <span class=\"title-icon\">\n        {{c.actions.length}}\n      </span>\n    </div>\n    <div class=\"panel-content\" id=\"panel-content\">\n      <div>The following actions are recommended:</div>\n      <div class=\"scroll-wrapper\">\n        <div class=\"scroll\">\n          <div ng-repeat=\"action in c.actions track by $index\" class=\"scroll-item\" ng-click=\"c.goToAction(action.href)\">\n            <div class=\"scroll-item-header\">\n              <div class=\"action-key\">\n                <span class=\"icon-inline\">\n                  <i class=\"{{action.iconClasses}}\" aria-hidden=\"true\"></i>\n                </span>\n              </div>\n              <div class=\"action-title\">{{action.name}}</div>\n            </div>\n            <div class=\"scroll-item-body\">\n              <div class=\"action-subtitle\">Confidence</div>\n              <div ng-class=\"{ 'color-by-status-good': (action.confidence > 80), 'color-by-status-bad': (action.confidence < 40) }\">{{action.confidence}}%</div>\n              <div class=\"action-subtitle\">Est duration</div>\n              <div ng-class=\"{ 'color-by-status-good': (action.duration < 15), 'color-by-status-bad': (action.duration > 30) }\">{{action.duration}} min</div>\n              <div class=\"action-subtitle\">Change Request</div>\n              <div>{{action.change_request}}</div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-remediation-actions/widget/pe-remediation-actions.u-client-script.js",
    "content": "function RemediationActionsController($window, actionService) {\n  var c = this;\n  c.goToAction = goToAction;\n\n  c.$onInit = function() {\n    c.alert = c.data.alert;\n    getActions();\n  };\n\n  function getActions() {\n    c.actions = actionService.getActions();\n    return c.actions;\n  }\n\n  function goToAction(href) {\n    $window.location.href = href;\n  }\n}"
  },
  {
    "path": "pe-remediation-actions/widget/pe-remediation-actions.u-css.scss",
    "content": "$slate: #485563;\n$icon-circle-color: #7e848b !default;\n$good-color: #3abe43 !default;\n$bad-color: #ff402c !default;\n\n.panel-wrapper {\n  margin-bottom: 10px;\n}\n\n.panel-proper {\n  background-color: #fff;\n  border-radius: 5px;\n  transition: box-shadow 0.5s;\n  position: relative;\n}\n\n.panel-header {\n  position: relative;\n  padding: 7px 12px;\n  font-size: 16px;\n  font-weight: 600;\n  border-bottom: 0.5px solid #7E848B;\n}\n\n.panel-content {\n  padding: 12px;\n}\n\n.title-icon {\n  display: inline-block;\n  background-color: $icon-circle-color;\n  width: 22px;\n  height: 22px;\n  fill: #fff;\n  color: #fff;\n  text-align: center;\n  border-radius: 11px;\n  margin: 0 2px;\n  font-weight: 400;\n  &:first-child {\n    margin-left: -5px;\n  }\n}\n\n.scroll-wrapper {\n  margin: 10px -12px 0 -12px;\n  position: relative;\n}\n\n.scroll {\n  width: 100%;\n  padding-left: 12px;\n  overflow-x: scroll;\n  white-space: nowrap;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scroll-item {\n  box-sizing: border-box;\n  display: inline-block;\n  vertical-align: top;\n  white-space: normal;\n  background: #fff;\n  margin-right: 12px;\n  width: 150px;\n  height: 250px;\n  text-align: center;\n  border: 0.5px solid rgba(72, 85, 99, 0.5);\n  font-size: 15px;\n  margin-bottom: 2px;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n  cursor: pointer;\n}\n\n.scroll-item-header {\n  background-color: $slate;\n  padding: 15px 15px 5px 15px;\n  .action-key {\n    fill: #fff;\n    color: #fff;\n  }\n  .action-title {\n    color: #fff;\n  }\n}\n\n.scroll-item-body {\n  padding: 5px 15px 15px 15px;\n  line-height: 1.3;\n}\n\n.action-key {\n  font-size: 50px;\n  line-height: 1;\n}\n\n.action-title {\n  font-size: 18px;\n}\n\n.action-subtitle {\n  font-weight: 600;\n  margin-top: 5px;\n}\n\n.action-subtitle-smaller {\n  font-size: 12px;\n  font-weight: 600;\n  margin-top: 5px;\n}\n\n.color-by-status-good {\n  color: $good-color;\n  font-weight: bold;\n}\n\n.color-by-status-bad {\n  color: $bad-color;\n  font-weight: bold;\n}"
  },
  {
    "path": "pe-remediation-actions/widget/pe-remediation-actions.u-option-schema.json",
    "content": "[{\"name\":\"alert\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"}]"
  },
  {
    "path": "pe-remediation-actions/widget/pe-remediation-actions.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.alert = options.alert || serverOptions.alert;\n\n  var getAlert = function(gr) {\n    return {\n      sys_id: gr.sys_id.toString(),\n      state: gr.state.toString()\n    };\n  };\n\n  var alertGR, alert;\n  if (options.alert) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.get(options.alert);\n    alert = getAlert(alertGR);\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    alertGR.next();\n    alert = getAlert(alertGR);\n  }\n\n  data.alert = alert;\n})();"
  },
  {
    "path": "pe-report-issue/README.md",
    "content": "# Report Issue\n\n## Description\n\nThis can be used to quickly craft a configurable widget with a list of items fed from a catalog.\n\n## Screenshot\n![](../images/pe-report-issue-1.png)\n\n## Additional Information/Notes\nUses ServiceNow® [Service Catalog](https://docs.servicenow.com/bundle/istanbul-it-service-management/page/product/service-catalog-management/concept/c_ServiceCatalogManagement.html)\n\n---\n\n## Installation\n\nDownload and install update set **[pe-report-issue.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-report-issue/pe-report-issue.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n\n## Configuration\n\nWidget Option Schema parameters:\n\n**\"Title\"** Used to set the title option. `Default: Tell us what is causing the issue`<br/>\n**\"Category\"** This is for setting the category option `Default: PE Report Issue`<br/>\n**\"Fields\"** This is for defining the field item or items to display for the catalog item, using a comma separated list. For example: sc_cat_item.icon, sc_cat_item.name. `Default: sc_cat_item.name, sc_cat_item.icon`<br/>\n**\"Items\"** This is for defining catalog items for display. If the \"Display all catalog items?\" option is set to true, it will override this option. An example: Concur, Webex, CRM App. `Default: Concur, Webex, CRM App, Outlook, iPhone 6S, Macbook Pro`<br/>\n**\"Display all catalog items?\"** This option will return all catalog items for a category, if checked (true). If unchecked (false), will only return the defined option Items. `Default: false`<br/>\n\n---\n\n## Platform Dependencies\n\n### SN System Tables\n* sc_cat_item\n* sc_cat_item_category\n* sc_category\n\n---\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n---\n\n## API Dependencies\n\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-report-issue/pe-report-issue.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-09-27 19:56:05\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Report Issue</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>7210c2d8db218700db45bff0ef961919</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>db520e5cdb218700db45bff0ef9619ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_92edf094db12b600b793f2b6ae9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Webex</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=92edf094db12b600b793f2b6ae9619e9&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>e0d08b13c3330100c8b837659bba8fb4</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>92edf094db12b600b793f2b6ae9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Webex</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_92edf094db12b600b793f2b6ae9619e9</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:01</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=92edf094db12b600b793f2b6ae9619e9\"/><fx_price action=\"delete_multiple\" query=\"id=92edf094db12b600b793f2b6ae9619e9\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>92edf094db12b600b793f2b6ae9619e9</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:01</sys_created_on><sys_id>d7edf094db12b600b793f2b6ae9619eb</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:01</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>92edf094db12b600b793f2b6ae9619e9</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:01</sys_created_on><sys_id>dbedf094db12b600b793f2b6ae9619eb</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:01</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>2708</size_bytes><size_compressed>2612</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:57:05</sys_created_on><sys_id>48734dd4db12b600b793f2b6ae9619f5</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:57:05</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>92edf094db12b600b793f2b6ae9619e9</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"48734dd4db12b600b793f2b6ae9619f5\">48734dd4db12b600b793f2b6ae9619f5</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:57:05</sys_created_on><sys_id>88734dd4db12b600b793f2b6ae9619f5</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3472</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"48734dd4db12b600b793f2b6ae9619f5\">48734dd4db12b600b793f2b6ae9619f5</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:57:05</sys_created_on><sys_id>0c734dd4db12b600b793f2b6ae9619f5</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>13520e5cdb218700db45bff0ef9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Webex</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_dd2e7494db12b600b793f2b6ae961918</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ReportIssueController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.pe-report-issue {&amp;#13;\n  p {&amp;#13;\n    margin-top: 10px;&amp;#13;\n    font-size: 18px;&amp;#13;\n    font-weight: 600;&amp;#13;\n    color: #1b485e;&amp;#13;\n    text-align: center;&amp;#13;\n  }&amp;#13;\n  .grid {&amp;#13;\n    display: flex;&amp;#13;\n    flex-wrap: wrap;&amp;#13;\n    .item {&amp;#13;\n      margin-top: 40px;&amp;#13;\n      text-align: center;&amp;#13;\n      width: 33%;&amp;#13;\n      .icon {&amp;#13;\n        height: 40px;&amp;#13;\n        display: flex;&amp;#13;\n        justify-content: center;&amp;#13;\n        align-items: center;&amp;#13;\n      }&amp;#13;\n      .name {&amp;#13;\n        margin-top: 15px;&amp;#13;\n        font-size: 18px;&amp;#13;\n        color: #5a5d61;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-report-issue&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Report Issue&lt;/name&gt;&lt;option_schema&gt;&amp;#13;\n[&amp;#13;\n  {&amp;#13;\n    \"name\": \"title\",&amp;#13;\n    \"default_value\": \"Tell us what is causing the issue\",&amp;#13;\n    \"label\": \"Title\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"category\",&amp;#13;\n    \"default_value\": \"PE Report Issue\",&amp;#13;\n    \"label\": \"Category\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"fields\",&amp;#13;\n    \"default_value\": \"sc_cat_item.name, sc_cat_item.icon\",&amp;#13;\n    \"label\": \"Fields\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"items\",&amp;#13;\n    \"default_value\": \"Concur, Webex, CRM App, Outlook, iPhone 6S, Macbook Pro\",&amp;#13;\n    \"label\": \"Items\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"display_all_items\",&amp;#13;\n    \"default_value\": false,&amp;#13;\n    \"label\": \"Display all catalog items?\",&amp;#13;\n    \"type\": \"boolean\"&amp;#13;\n  }&amp;#13;\n]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.fields = options.fields || serverOptions.fields;\n  options.items = options.items || serverOptions.items;\n  options.display_all_items = options.display_all_items || serverOptions.display_all_items;\n  var categoriesGR = GlideRecord('sc_cat_item_category');\n  var allItems = 'sc_category.title=' + options.category;\n  var selectedItems = 'sc_category.title=' + options.category + '^sc_cat_item.nameIN' + options.items;\n  var encodedQuery = options.display_all_items == 'true' ? allItems : selectedItems;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.fields);\n    items.push(obj);\n  }\n  data.items = items;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 01:35:39&lt;/sys_created_on&gt;&lt;sys_id&gt;dd2e7494db12b600b793f2b6ae961918&lt;/sys_id&gt;&lt;sys_mod_count&gt;9&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Report Issue&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_dd2e7494db12b600b793f2b6ae961918&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-09-27 19:55:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-report-issue\"&gt;\n  &lt;p&gt;{{::options.title}}&lt;/p&gt;\n  &lt;div class=\"grid\"&gt;\n    &lt;div ng-repeat=\"item in ::c.data.items\" class=\"item\"&gt;\n      &lt;div class=\"icon\"&gt;&lt;img src=\"{{::item['sc_cat_item.icon'].display_value}}\"&gt;&lt;/div&gt;\n      &lt;div class=\"name\"&gt;{{::item['sc_cat_item.name'].value}}&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1806441944</payload_hash>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>17528e5cdb218700db45bff0ef961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4e84bcb0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>1a220e5c81218700e1e2c5196d89ba12</update_guid>\n<update_guid_history>1a220e5c81218700e1e2c5196d89ba12:-1806441944,e5128a5cac2187002c927eab35518286:-1664170146,da028a5c96218700f752be4ace039581:-414969475,f0a00ed8dd218700b9a65596892b0d4e:682409348,1dff71d8992187006d77403cea322169:-1690266541,1dff71d8992187006d77403cea322169:-1690266541,ac5c250347504300292a1c64225eef05:1350317711,491834781:491834781</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_5c0e3494db12b600b793f2b6ae961988</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"iPhone 6S\">1afd3494db12b600b793f2b6ae961917</sc_cat_item><sc_category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5c0e3494db12b600b793f2b6ae961988</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue.iPhone 6S</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_5c0e3494db12b600b793f2b6ae961988</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:21</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>1b528e5cdb218700db45bff0ef961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue.iPhone 6S</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_500ef094db12b600b793f2b6ae9619f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"iPhone 6S\">1afd3494db12b600b793f2b6ae961917</sc_cat_item><sc_catalog display_value=\"Service Catalog\">e0d08b13c3330100c8b837659bba8fb4</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>500ef094db12b600b793f2b6ae9619f3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service Catalog.iPhone 6S</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_500ef094db12b600b793f2b6ae9619f3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:21</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>1f520e5cdb218700db45bff0ef9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Service Catalog.iPhone 6S</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_25fdf094db12b600b793f2b6ae961996</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Concur\">80fdf094db12b600b793f2b6ae9619ee</sc_cat_item><sc_category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>25fdf094db12b600b793f2b6ae961996</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue.Concur</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_25fdf094db12b600b793f2b6ae961996</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:09</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>1f528e5cdb218700db45bff0ef961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue.Concur</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_fbddf094db12b600b793f2b6ae9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Macbook Pro</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=fbddf094db12b600b793f2b6ae9619a0&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>e0d08b13c3330100c8b837659bba8fb4</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:53</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>fbddf094db12b600b793f2b6ae9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Macbook Pro</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_fbddf094db12b600b793f2b6ae9619a0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:53</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=fbddf094db12b600b793f2b6ae9619a0\"/><fx_price action=\"delete_multiple\" query=\"id=fbddf094db12b600b793f2b6ae9619a0\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>fbddf094db12b600b793f2b6ae9619a0</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:53</sys_created_on><sys_id>21edf094db12b600b793f2b6ae9619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:53</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>fbddf094db12b600b793f2b6ae9619a0</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:53</sys_created_on><sys_id>25edf094db12b600b793f2b6ae9619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:53</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1360</size_bytes><size_compressed>1244</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:59:22</sys_created_on><sys_id>d1f34118db12b600b793f2b6ae96192f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:59:22</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>fbddf094db12b600b793f2b6ae9619a0</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"d1f34118db12b600b793f2b6ae96192f\">d1f34118db12b600b793f2b6ae96192f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:59:22</sys_created_on><sys_id>15f34118db12b600b793f2b6ae96192f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>6wzwc+flkuJiYGDg9fRwCQLSJkCsycEGJKsMuNYxMDDWZDo7B3g6OysEFOWnZeakMjBoTExOSNDy1NE4kZiYkHDirLYmV1F5UEdHT1DC/sMHzh44rHAk4ajCvBkxMQ8kBB4cbhCu2X3sAMci/ddNZ7w+/6m8vGxrzT8xs/Uzi8JUrXZ8bWQs98oqNGJmVmafMHdO0Jw53CnPGW5anWR1VXX4xqMQvX3PEoYjdowp3SKMshwp9xk3XlZ8w69QJjTj7BGmMGGhJzwp3gw3mTwFtrF1zOVLjG64cVKyU9NhG/sJvQ7pAw2XD7sevHMg6PrEht2ebDstlxpYOyw8OnmWuBRPEbvAaYMKgx0GGgYzjCUMIoxeGFlMWxI2pUHE6rl4iFjqsvQpGhZMzmahBy3tty/YorLVw/2gsX6kv/vBEwcuMCzhE0kXWGzP3uibLmLdL3A6/sSBhJVnDhy40yzgPevYgQ21/MzNRzRbZpyyYWOry2Zry33OJdQt9JAv/c8xp474OWk5LImfLQwNNtz7/f//Zilm5t8qbG37hf///7/3xf//+7sbvzE/fuPAx6BSnvmgJ1uIHxgPszNDIkoifH2skvNz9RJT8pNS9SpyCxhAwKbCCsjMTS1JVKjIzckrtqqwVQKrsAKyQcL6SgpgJSXZtkoRvgEKzvlFqQqmeiZ6Bkp2XAoKCjZFKWlWQS5uUO1Anq1SRklJgZW+fnl5uV65sV5+Ubq+oaWlpb6Bkb6RkS5QhW5xZV5JYoVuXrEyxBCYOS6pxclFmQUlmfl5CiB+YlJ+aYmtkhJUDQRALEqtyETYlFcM9RbQg/ogGX1DPQN9uNkg40GiVgGZFak5ES6Zual5xUA77EyNbPSxSmDVGImQNzFE1hiJodFGH807kLDShwaWHZeNPjzg7bgiY+znA6PphaeLY0gG69vIs16HHQTmdQXwt4a8uSm39F/cUn3FR9Yd7PcPOLsGsMxf2tHxg6Xr+iP/j9cqcrlfnp0XtP/EtLs5k9Ru5gkdOqc6++7cme9n56tPWPLon+TUE2FeR44uDrJyWh3IdfMbf21N3cX3JVJbdT9v3Zo1tax828qbd6YUtWt9+fHFx3x7uYlUv+ryPeoNnDcaAo1sRP6YSdx49/LmTmuZvj/erTvZzRJYwu4xiR4yzN7Ov/LijQlcAVM4E5jdEp7qbmi/YLw1Knff+ur/BvLiiQVFNU8OMrjV17NrhbBcyDRk0RIR6wlVy4n9XjNncpBVK4/i3eNepvsCPbY27frb67RLe43UfY0lUY53/7kp3hUN680XCVq7IK9+8YR3XKuPmXOtDAvYXr/I/JpFfs8uRv2u+F3K4t4L9+xX1Qlqjdef6yRaU/pEcpH/r7/5+auu3no0Xaj38apVl6bb+E3zD+iYyCgoauQhwq5xevqKoDtpbZPPq38VMDPcNid/UeL0f6HHTE8xpET+jJBzVDRbWeXq+EhjD49R3ZpJTv94M9+HhvrNDg/gsJ+kNtnzVsTOn4zGGw63LJ/z2OLKzl3Lmv/abtLRNm/wFGr2Wf/db/pc7qj1112dOFiC9NfnX8rvUvHcdIc79cN8jpSEJqdIpotTvV8oxnpu6rFm7tkY2mYcX64PyoCern4u65wSmgCy0bhcUAUAAA==</data><length>1648</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"d1f34118db12b600b793f2b6ae96192f\">d1f34118db12b600b793f2b6ae96192f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:59:22</sys_created_on><sys_id>95f34118db12b600b793f2b6ae96192f</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>53528e5cdb218700db45bff0ef961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Macbook Pro</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_57ddf094db12b600b793f2b6ae961991</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Outlook\">15ddb094db12b600b793f2b6ae9619d9</sc_cat_item><sc_category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>57ddf094db12b600b793f2b6ae961991</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue.Outlook</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_57ddf094db12b600b793f2b6ae961991</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:44</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>57528e5cdb218700db45bff0ef961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue.Outlook</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_33bdb094db12b600b793f2b6ae9619d7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"CRM App\">e3adfc54db12b600b793f2b6ae9619d4</sc_cat_item><sc_catalog display_value=\"Service Catalog\">e0d08b13c3330100c8b837659bba8fb4</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>33bdb094db12b600b793f2b6ae9619d7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service Catalog.CRM App</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_33bdb094db12b600b793f2b6ae9619d7</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:13</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>5b520e5cdb218700db45bff0ef9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Service Catalog.CRM App</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_6dedf094db12b600b793f2b6ae9619a4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Macbook Pro\">fbddf094db12b600b793f2b6ae9619a0</sc_cat_item><sc_catalog display_value=\"Service Catalog\">e0d08b13c3330100c8b837659bba8fb4</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:53</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6dedf094db12b600b793f2b6ae9619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service Catalog.Macbook Pro</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_6dedf094db12b600b793f2b6ae9619a4</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:53</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>5b528e5cdb218700db45bff0ef961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Service Catalog.Macbook Pro</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_80fdf094db12b600b793f2b6ae9619ee</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Concur</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=80fdf094db12b600b793f2b6ae9619ee&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>e0d08b13c3330100c8b837659bba8fb4</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>80fdf094db12b600b793f2b6ae9619ee</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Concur</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_80fdf094db12b600b793f2b6ae9619ee</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:09</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=80fdf094db12b600b793f2b6ae9619ee\"/><fx_price action=\"delete_multiple\" query=\"id=80fdf094db12b600b793f2b6ae9619ee\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>80fdf094db12b600b793f2b6ae9619ee</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:09</sys_created_on><sys_id>ddfdf094db12b600b793f2b6ae961994</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:09</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>80fdf094db12b600b793f2b6ae9619ee</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:09</sys_created_on><sys_id>d1fdf094db12b600b793f2b6ae961995</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:09</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>2045</size_bytes><size_compressed>1957</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:56:22</sys_created_on><sys_id>ed434dd4db12b600b793f2b6ae961953</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:56:22</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>80fdf094db12b600b793f2b6ae9619ee</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"ed434dd4db12b600b793f2b6ae961953\">ed434dd4db12b600b793f2b6ae961953</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:56:22</sys_created_on><sys_id>21434dd4db12b600b793f2b6ae961954</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2596</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"ed434dd4db12b600b793f2b6ae961953\">ed434dd4db12b600b793f2b6ae961953</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:56:22</sys_created_on><sys_id>a1434dd4db12b600b793f2b6ae961954</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>5f520e5cdb218700db45bff0ef9619eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Concur</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_3bbdb094db12b600b793f2b6ae9619d7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"CRM App\">e3adfc54db12b600b793f2b6ae9619d4</sc_cat_item><sc_category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:14</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3bbdb094db12b600b793f2b6ae9619d7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue.CRM App</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_3bbdb094db12b600b793f2b6ae9619d7</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:14</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>93528e5cdb218700db45bff0ef961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue.CRM App</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_1dfdf094db12b600b793f2b6ae961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Concur\">80fdf094db12b600b793f2b6ae9619ee</sc_cat_item><sc_catalog display_value=\"Service Catalog\">e0d08b13c3330100c8b837659bba8fb4</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1dfdf094db12b600b793f2b6ae961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service Catalog.Concur</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_1dfdf094db12b600b793f2b6ae961995</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:09</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>97520e5cdb218700db45bff0ef9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Service Catalog.Concur</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_5fddf094db12b600b793f2b6ae961990</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Outlook\">15ddb094db12b600b793f2b6ae9619d9</sc_cat_item><sc_catalog display_value=\"Service Catalog\">e0d08b13c3330100c8b837659bba8fb4</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5fddf094db12b600b793f2b6ae961990</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service Catalog.Outlook</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_5fddf094db12b600b793f2b6ae961990</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:44</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>97528e5cdb218700db45bff0ef961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Service Catalog.Outlook</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_1afd3494db12b600b793f2b6ae961917</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>iPhone 6S</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=1afd3494db12b600b793f2b6ae961917&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>e0d08b13c3330100c8b837659bba8fb4</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1afd3494db12b600b793f2b6ae961917</sys_id><sys_mod_count>0</sys_mod_count><sys_name>iPhone 6S</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_1afd3494db12b600b793f2b6ae961917</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:21</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1afd3494db12b600b793f2b6ae961917\"/><fx_price action=\"delete_multiple\" query=\"id=1afd3494db12b600b793f2b6ae961917\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>1afd3494db12b600b793f2b6ae961917</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:21</sys_created_on><sys_id>140ef094db12b600b793f2b6ae9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:21</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>1afd3494db12b600b793f2b6ae961917</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:21</sys_created_on><sys_id>180ef094db12b600b793f2b6ae9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:21</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1362</size_bytes><size_compressed>1238</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:55:11</sys_created_on><sys_id>90030dd4db12b600b793f2b6ae961919</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:55:11</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>1afd3494db12b600b793f2b6ae961917</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"90030dd4db12b600b793f2b6ae961919\">90030dd4db12b600b793f2b6ae961919</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:55:11</sys_created_on><sys_id>d0030dd4db12b600b793f2b6ae961919</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>6wzwc+flkuJiYGDg9fRwCQLSkkCszsEGJH/NfLyPgYGxJtPZOcDT2VkhoCg/LTMnlYFBY2JyQoKWp47GicTEhIQTZ7U1uYrKgzo6eoIS9h8+cPbAYYUjCUcV5s2IiXkgIfDgcINwze5jBzgW6b9uOuP1+U/l5WVba/6Jma2fWRSmarXjayNjuVdWoREzszL7hLlzgubM4U55znDT6iSrq6rDNx6F6O17ljAcsWNM6RZhlOVIuc+48bLiG36FMqEZZ48whQkLPeFJ8Wa4yeQpsI2tYy5fYnTDjZOSnZoO29hP6HVIH2i4fNj14J0DQdcnNuz2ZNtpudTA2mHh0cmzxKV4itgFThtUGOww0DCYYSxhEGH0wshi2pKwKQ0iVs/FQ8RSl6VP0bBgcjYLPWhpv33BFpWtHu4HjfUj/d0PnjhwgWEJn0i6wGJ79kbfdBHrfoHT8ScOJKw8c+DAnWYB71nHDmyo5WduPqLZMuOUDRtbXTZbW+5zLqFuoYd86X+OOXXEz0nLYUn8bGFosOHe7///N0sxM/9WYWvbL/z///+9L/7/39/d+I358RsHPgaV8swHPdlC/MB4mJ0ZElES4etjlZyfq5eYkp+UqleRW8AAAjYVVkBmbmpJokJFbk5esVWFrRJYhRWQDRLWV1IAKynJtlWK8A1QcM4vSlUw1TPRM1Cy41JQULApSkmzCnJxg2oH8myVMkpKCqz09cvLy/XKjfXyi9L1DS0tLfUNjPSNjHSBKnSLK/NKEit084qVIYbAzHFJLU4uyiwoyczPUwDxE5PyS0tslZSgaiAAYlFqRSbCprxiqLeAHtQHyegb6hnow80GGQ8StQrIrEjNiXDJzE3NKwbaYWdkaqOPVQKrxkiEvLElssZIDI02+mjegYSVPjSw7Lhs9OEBb8cVfodZCRhNrzxdHEM8eJP/8LPwmLD5mJjJ59hw71J9fi4+waLylcnh29vfX1ha8FlSUlJiAaOSjs6RhLy0UwkpGQzh/Uknv8nulvj25vb5B4/fnlRQ1GMLd+F6fPR0OI/39PUpFZxLbG3vKEQ5FjIx3d9X+3v+jEkf/9/c/FyAkctjgqTCZoe0JoY76r/55ZIePHuWNGHKlAMFFd7R6m0Smxx8Qy2NxHPYTuhMmBkn946nwFtE9InkkaMb2AMLJth3KR4pcEhrPMPCuEP1h0lWVsaDyWoa7UknD7v3S25g4w16dTBTyYd3CttMVmaNaR1dHMYThE0MDk94edR72uGdGtMKCgsNA6RMDCY7ph1kiC36s0J1wwO1LjlevUVNnMsyTHYkKDqK2ErFuLAK+1zMKDjo1KRRZbKjg0tthtIUK7kbj5J31D1m8+lTkkoR41kQ8enX2ei2ra/NDj3RWAQyr0v1U9Emnhe+fjOcgjKffJPuUm3hqWLJ2eA7y0p2jY6+9WRHvhcaSQw2nPfrP0x4+HR1eMVXm7pPUxp7p/Y29vb2Mh45xg71mr/M27cS19bcPfDhz0/uNbrVE5Kytbnb+OXtGmYkmM1obGWY+fHra3O2CTMVDnC8sj9wJXC18JbU12Vs4uruFeocR4UmpKaUPk9Yx3Lpxq5iiWkKK5dLCTOw8n+e8cJ263xQFvR09XNZ55TQBAAebdsCUgUAAA==</data><length>1640</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"90030dd4db12b600b793f2b6ae961919\">90030dd4db12b600b793f2b6ae961919</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:55:11</sys_created_on><sys_id>54030dd4db12b600b793f2b6ae961919</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>9b520e5cdb218700db45bff0ef9619eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>iPhone 6S</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_e3adfc54db12b600b793f2b6ae9619d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>CRM App</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=e3adfc54db12b600b793f2b6ae9619d4&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>e0d08b13c3330100c8b837659bba8fb4</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e3adfc54db12b600b793f2b6ae9619d4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>CRM App</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_e3adfc54db12b600b793f2b6ae9619d4</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:13</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e3adfc54db12b600b793f2b6ae9619d4\"/><fx_price action=\"delete_multiple\" query=\"id=e3adfc54db12b600b793f2b6ae9619d4\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>e3adfc54db12b600b793f2b6ae9619d4</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:13</sys_created_on><sys_id>f3bdb094db12b600b793f2b6ae9619d6</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:13</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>e3adfc54db12b600b793f2b6ae9619d4</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:13</sys_created_on><sys_id>f7bdb094db12b600b793f2b6ae9619d6</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:13</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>2583</size_bytes><size_compressed>2491</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:58:38</sys_created_on><sys_id>36c34118db12b600b793f2b6ae961901</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:58:38</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>e3adfc54db12b600b793f2b6ae9619d4</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"36c34118db12b600b793f2b6ae961901\">36c34118db12b600b793f2b6ae961901</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:58:38</sys_created_on><sys_id>76c34118db12b600b793f2b6ae961901</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3308</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"36c34118db12b600b793f2b6ae961901\">36c34118db12b600b793f2b6ae961901</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:58:38</sys_created_on><sys_id>f6c34118db12b600b793f2b6ae961901</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>9f528e5cdb218700db45bff0ef961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>CRM App</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_catalog_17edf094db12b600b793f2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_catalog\"><sc_cat_item_catalog action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Webex\">92edf094db12b600b793f2b6ae9619e9</sc_cat_item><sc_catalog display_value=\"Service Catalog\">e0d08b13c3330100c8b837659bba8fb4</sc_catalog><sys_class_name>sc_cat_item_catalog</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>17edf094db12b600b793f2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service Catalog.Webex</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_catalog_17edf094db12b600b793f2b6ae9619ec</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:01</sys_updated_on></sc_cat_item_catalog></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>d3520e5cdb218700db45bff0ef9619ec</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Service Catalog.Webex</target_name>\n<type>Catalog Items Catalog</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_15ddb094db12b600b793f2b6ae9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>false</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Outlook</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"./com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=15ddb094db12b600b793f2b6ae9619d9&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles/><sc_catalogs>e0d08b13c3330100c8b837659bba8fb4</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description/><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>15ddb094db12b600b793f2b6ae9619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Outlook</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_15ddb094db12b600b793f2b6ae9619d9</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:44</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=15ddb094db12b600b793f2b6ae9619d9\"/><fx_price action=\"delete_multiple\" query=\"id=15ddb094db12b600b793f2b6ae9619d9\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>15ddb094db12b600b793f2b6ae9619d9</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:44</sys_created_on><sys_id>9bddb814db12b600b793f2b6ae9619fa</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:44</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>15ddb094db12b600b793f2b6ae9619d9</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:44</sys_created_on><sys_id>17ddf094db12b600b793f2b6ae961990</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:44</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1909</size_bytes><size_compressed>1819</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:51:38</sys_created_on><sys_id>1c32c5d4db12b600b793f2b6ae9619ca</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:51:38</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>15ddb094db12b600b793f2b6ae9619d9</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"1c32c5d4db12b600b793f2b6ae9619ca\">1c32c5d4db12b600b793f2b6ae9619ca</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:51:38</sys_created_on><sys_id>5c32c5d4db12b600b793f2b6ae9619ca</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2412</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"1c32c5d4db12b600b793f2b6ae9619ca\">1c32c5d4db12b600b793f2b6ae9619ca</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:51:38</sys_created_on><sys_id>dc32c5d4db12b600b793f2b6ae9619ca</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>d7520e5cdb218700db45bff0ef9619eb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>Outlook</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_65edf094db12b600b793f2b6ae9619a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Macbook Pro\">fbddf094db12b600b793f2b6ae9619a0</sc_cat_item><sc_category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:32:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>65edf094db12b600b793f2b6ae9619a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue.Macbook Pro</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_65edf094db12b600b793f2b6ae9619a5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:32:54</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>db528e5cdb218700db45bff0ef961988</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue.Macbook Pro</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_category_61757014db12b600b793f2b6ae96192c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_category\"><sc_category action=\"INSERT_OR_UPDATE\"><active>true</active><description/><entitlement_script/><header_icon/><homepage_image/><homepage_renderer display_value=\"\">Default</homepage_renderer><icon/><image/><location/><mobile_hide_description>false</mobile_hide_description><mobile_picture/><mobile_subcategory_render_type>list</mobile_subcategory_render_type><module/><order>0</order><parent/><roles/><sc_catalog/><show_in_cms>false</show_in_cms><sys_class_name>sc_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 00:56:10</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>61757014db12b600b793f2b6ae96192c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_category_61757014db12b600b793f2b6ae96192c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 00:56:10</sys_updated_on><title>PE Report Issue</title></sc_category><sys_translated_text action=\"delete_multiple\" query=\"documentkey=61757014db12b600b793f2b6ae96192c\"/></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>df520e5cdb218700db45bff0ef9619ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue</target_name>\n<type>Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_2fedf094db12b600b793f2b6ae9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Webex\">92edf094db12b600b793f2b6ae9619e9</sc_cat_item><sc_category display_value=\"PE Report Issue\">61757014db12b600b793f2b6ae96192c</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-19 01:33:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2fedf094db12b600b793f2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Report Issue.Webex</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_2fedf094db12b600b793f2b6ae9619ec</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-19 01:33:01</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash/>\n<remote_update_set display_value=\"PE Report Issue\">db520e5cdb218700db45bff0ef9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-09-27 19:56:05</sys_created_on>\n<sys_id>df528e5cdb218700db45bff0ef961987</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15ec4deb3f80000000</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-09-27 19:56:05</sys_updated_on>\n<table/>\n<target_name>PE Report Issue.Webex</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-report-issue/widget/pe-report-issue.u-body-html-template.html",
    "content": "<div class=\"pe-report-issue\">\n  <p>{{::options.title}}</p>\n  <div class=\"grid\">\n    <div ng-repeat=\"item in ::c.data.items track by $index\" class=\"item\">\n      <div class=\"icon\"><img src=\"{{::item['sc_cat_item.icon'].display_value}}\"></div>\n      <div class=\"name\">{{::item['sc_cat_item.name'].value}}</div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-report-issue/widget/pe-report-issue.u-client-script.js",
    "content": "function ReportIssueController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-report-issue/widget/pe-report-issue.u-css.scss",
    "content": ".pe-report-issue {\n  p {\n    color: #1b485e;\n    font-size: 18px;\n    font-weight: 600;\n    margin-top: 10px;\n    text-align: center;\n  }\n  .grid {\n    display: flex;\n    flex-wrap: wrap;\n    .item {\n      margin-top: 40px;\n      text-align: center;\n      width: 33%;\n      .icon {\n        align-items: center;\n        display: flex;\n        height: 40px;\n        justify-content: center;\n      }\n      .name {\n        color: #5a5d61;\n        font-size: 18px;\n        margin-top: 15px;\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-report-issue/widget/pe-report-issue.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"title\",\n    \"default_value\": \"Tell us what is causing the issue\",\n    \"label\": \"Title\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"category\",\n    \"default_value\": \"PE Report Issue\",\n    \"label\": \"Category\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"fields\",\n    \"default_value\": \"sc_cat_item.name, sc_cat_item.icon\",\n    \"label\": \"Fields\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"items\",\n    \"default_value\": \"Concur, Webex, CRM App, Outlook, iPhone 6S, Macbook Pro\",\n    \"label\": \"Items\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"display_all_items\",\n    \"default_value\": false,\n    \"label\": \"Display all catalog items?\",\n    \"type\": \"boolean\"\n  }\n]\n"
  },
  {
    "path": "pe-report-issue/widget/pe-report-issue.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.fields = options.fields || serverOptions.fields;\n  options.items = options.items || serverOptions.items;\n  options.display_all_items = options.display_all_items || serverOptions.display_all_items;\n  var categoriesGR = GlideRecord('sc_cat_item_category');\n  var allItems = 'sc_category.title=' + options.category;\n  var selectedItems = 'sc_category.title=' + options.category + '^sc_cat_item.nameIN' + options.items;\n  var encodedQuery = options.display_all_items == 'true' ? allItems : selectedItems;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.fields);\n    items.push(obj);\n  }\n  data.items = items;\n})();"
  },
  {
    "path": "pe-rest-typeahead-search/README.md",
    "content": "# Typeahead Search\n\n## Description\n\nTypeahead Search lets the user searching with suggestions, through REST, and finally to select and send a record through the event \"pe-typeahead-selection\".\n\n## Screenshots\n![](../images/pe-rest-typeahead-search-01.png)\n\n![](../images/pe-rest-typeahead-search-02.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-rest-typeahead-search.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-rest-typeahead-search/pe-rest-typeahead-search.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Update set use'](https://docs.servicenow.com/bundle/london-application-development/page/build/system-update-sets/concept/update-set-procedures.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> Table name\n> Query Field/Column\n> Display Field/Column\n> Sorting\n> Bootstrap configuration (colors and wrapper/padding)\n\n---\n## Platform Dependencies\n---\n\n---\n## Sample Data and Data Structures\n---\nSample data is in the default options.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> typeahead.js v1.2.0\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> $pe-rest-typeahead-hover-color\n> $pe-rest-typeahead-hover-bg\n> $pe-rest-typeahead-menu-bg\n> $pe-rest-typeahead-border-color\n> $pe-rest-typeahead-border-radius\n> $pe-rest-typeahead-border\n> $pe-rest-typeahead-max-width\n> $pe-rest-typeahead-dim-opacity\n"
  },
  {
    "path": "pe-rest-typeahead-search/pe-rest-typeahead-search.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-11-08 12:01:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE REST Typeahead Search</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>be1c90b0db6de7004e5cfa131f9619c4</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:05</sys_created_on>\n<sys_id>79b41493dbeda7004e5cfa131f9619bc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:05</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_a44efe26db25af0086da7d5e0f9619fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">e04efe26db25af0086da7d5e0f9619fb</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-11-06 16:26:24</sys_created_on><sys_id>a44efe26db25af0086da7d5e0f9619fd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_a44efe26db25af0086da7d5e0f9619fd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-06 16:26:24</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-460841295</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>31b41493dbeda7004e5cfa131f9619be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ea6570d00000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>6871e7e265a5af00c342c225aafc2b10</update_guid>\n<update_guid_history>6871e7e265a5af00c342c225aafc2b10:-460841295,a44e3266de25af00bd832331fd7fc487:828534693</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_e04efe26db25af0086da7d5e0f9619fb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Fabio Test - Container 2\">004e3e26db25af0086da7d5e0f9619a0</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-11-06 16:26:23</sys_created_on><sys_id>e04efe26db25af0086da7d5e0f9619fb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_e04efe26db25af0086da7d5e0f9619fb</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-06 16:26:23</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1492551616</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>35b41493dbeda7004e5cfa131f9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ea6571df0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>e471e7e2d8a5af001583f6eb32c41817</update_guid>\n<update_guid_history>e471e7e2d8a5af001583f6eb32c41817:-1492551616,684efe261f25af00d5d867dbbeb604fc:1631942452</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_dfdde7f4db292b004e5cfa131f961905</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance_table\"><sp_instance_table action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><display_field/><field_list/><filter/><glyph/><id/><maximum_entries>5</maximum_entries><order>1</order><order_by/><order_direction>asc</order_direction><roles/><short_description/><size>md</size><sp_column display_value=\"1\">04351f22dbc3530086da7d5e0f9619fa</sp_column><sp_page/><sp_widget display_value=\"PE REST Typeahead Search\">58353a54db0f83004e5cfa131f9619c9</sp_widget><sys_class_name>sp_instance_table</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-11-01 09:25:01</sys_created_on><sys_id>dfdde7f4db292b004e5cfa131f961905</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_table_dfdde7f4db292b004e5cfa131f961905</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-01 09:25:01</sys_updated_on><table/><title/><url/><widget_parameters/></sp_instance_table><sys_translated_text action=\"delete_multiple\" query=\"documentkey=dfdde7f4db292b004e5cfa131f961905\"/></record_update>]]></payload>\n<payload_hash>1252021614</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>39b41493dbeda7004e5cfa131f9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ce98c4950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>424ea33883292b0079f2573cb2897d3f</update_guid>\n<update_guid_history>424ea33883292b0079f2573cb2897d3f:1252021614,9bdde7f45c292b009fbda3c71334a307:-1144321438</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_33325cb4db2de7004e5cfa131f9619a9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"DELETE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;04351f22dbc3530086da7d5e0f9619fa&lt;/sp_column&gt;&lt;sp_widget display_value=\"PE REST Typeahead Search\"&gt;58353a54db0f83004e5cfa131f9619c9&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-31 17:25:29&lt;/sys_created_on&gt;&lt;sys_id&gt;33325cb4db2de7004e5cfa131f9619a9&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_33325cb4db2de7004e5cfa131f9619a9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-31 17:26:03&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"column_condition\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"column_display\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"limit_result\": {\n\t\t\"value\": 10,\n\t\t\"displayValue\": \"10\"\n\t},\n\t\"minlength\": {\n\t\t\"value\": 3,\n\t\t\"displayValue\": \"3\"\n\t},\n\t\"placeholder\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"sysparm_limit\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"broadcast_event_name\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=33325cb4db2de7004e5cfa131f9619a9\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1056267548</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>3db41493dbeda7004e5cfa131f9619be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ce96f1800000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>bcdda7b439292b00d80eaa3c95ed706a</update_guid>\n<update_guid_history>bcdda7b439292b00d80eaa3c95ed706a:-1056267548,00629cb4a02de7003f6c494670b9d2ac:-803624900,bb325cb4652de70019df2dcb7b6b1daa:2135673221</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_04351f22dbc3530086da7d5e0f9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"typeahead_demo - Container 1\">c3255f22dbc3530086da7d5e0f961941</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-07-05 11:29:37</sys_created_on><sys_id>04351f22dbc3530086da7d5e0f9619f8</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_04351f22dbc3530086da7d5e0f9619f8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-07 12:30:39</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-773931622</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>71b41493dbeda7004e5cfa131f9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ee2735c70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>7ce1dffa73e1ef00963f71a047b972d0</update_guid>\n<update_guid_history>7ce1dffa73e1ef00963f71a047b972d0:-773931622,8ce19ffac2e1ef00435a6e70d06f0956:1162385321,08351f2262c3530052399893c1a2cff9:229767140</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_a74e3266db25af0086da7d5e0f961983</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance_table\"&gt;&lt;sp_instance_table action=\"DELETE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;display_field&gt;number&lt;/display_field&gt;&lt;field_list/&gt;&lt;filter table=\"incident\"&gt;state!=7&lt;item endquery=\"false\" field=\"state\" goto=\"false\" newquery=\"false\" operator=\"!=\" or=\"false\" value=\"7\"/&gt;&lt;/filter&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;maximum_entries&gt;5&lt;/maximum_entries&gt;&lt;order&gt;1&lt;/order&gt;&lt;order_by&gt;sys_created_on&lt;/order_by&gt;&lt;order_direction&gt;asc&lt;/order_direction&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;a44efe26db25af0086da7d5e0f9619fd&lt;/sp_column&gt;&lt;sp_page/&gt;&lt;sp_widget display_value=\"PE REST Typeahead Search\"&gt;58353a54db0f83004e5cfa131f9619c9&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance_table&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-06 16:26:36&lt;/sys_created_on&gt;&lt;sys_id&gt;a74e3266db25af0086da7d5e0f961983&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_table_a74e3266db25af0086da7d5e0f961983&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-06 16:47:30&lt;/sys_updated_on&gt;&lt;table&gt;incident&lt;/table&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"display_field\": {\n\t\t\"value\": \"number\",\n\t\t\"displayValue\": \"number\"\n\t},\n\t\"query_field\": {\n\t\t\"value\": \"number\",\n\t\t\"displayValue\": \"number\"\n\t},\n\t\"limit_result\": {\n\t\t\"value\": 5,\n\t\t\"displayValue\": \"5\"\n\t},\n\t\"minlength\": {\n\t\t\"value\": 3,\n\t\t\"displayValue\": \"3\"\n\t},\n\t\"placeholder\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"overlay\": {\n\t\t\"value\": \"false\",\n\t\t\"displayValue\": \"false\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance_table&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=a74e3266db25af0086da7d5e0f961983\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1028122180</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>75b41493dbeda7004e5cfa131f9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ea65679e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table>incident</table>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>8871a7e214a5af00afcb1eac8eb2f4d4</update_guid>\n<update_guid_history>8871a7e214a5af00afcb1eac8eb2f4d4:-1028122180,711343aa2125af00308079b1377bd00f:-435986768,04debe66fa25af001bbc69538693cfde:1144726344,ef4e3266c325af0031c18664fa086d84:-826195989</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_7167231cdb4f83004e5cfa131f96198c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE REST Typeahead Search dep</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-11 16:51:51</sys_created_on><sys_id>7167231cdb4f83004e5cfa131f96198c</sys_id><sys_mod_count>5</sys_mod_count><sys_name>PE REST Typeahead Search dep</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_7167231cdb4f83004e5cfa131f96198c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-01 09:24:31</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1830631263</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>79b41493dbeda7004e5cfa131f9619be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ce96a59d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>PE REST Typeahead Search dep</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>8ccd67b4b3292b00f8fc2e17df392f6b</update_guid>\n<update_guid_history>8ccd67b4b3292b00f8fc2e17df392f6b:-1830631263,01bd67b413292b0071edb4b539b3ca5d:-83159751,1aacdcf0cb6de700e58c624a38aaed66:-1507408007,50acdcf0fa6de7009e80d5e0ada34525:-1902589373,61b603a28f0b47002b4086fa2509fc0e:1118609337,f367231c7c4f8300e8dd081c51c9b0d4:937634655</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_04351f22dbc3530086da7d5e0f9619fa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">04351f22dbc3530086da7d5e0f9619f8</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-07-05 11:29:37</sys_created_on><sys_id>04351f22dbc3530086da7d5e0f9619fa</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_04351f22dbc3530086da7d5e0f9619fa</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-07 12:30:48</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>2067804989</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>7db41493dbeda7004e5cfa131f9619bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ee275c380000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>d3e1133e2be1ef00ce165b1ce69dba39</update_guid>\n<update_guid_history>d3e1133e2be1ef00ce165b1ce69dba39:2067804989,dee1133eebe1ef002db1166029968f19:1077653725,84351f2286c353007773771d20814bfb:2067804989</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_7643bb3cdb292b004e5cfa131f961973</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance_table\"&gt;&lt;sp_instance_table action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;display_field&gt;name&lt;/display_field&gt;&lt;field_list&gt;name,email&lt;/field_list&gt;&lt;filter table=\"sys_user\"&gt;active=true^EQ&lt;item endquery=\"false\" field=\"active\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"true\"/&gt;&lt;item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/&gt;&lt;/filter&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;maximum_entries&gt;15&lt;/maximum_entries&gt;&lt;order&gt;1&lt;/order&gt;&lt;order_by&gt;name&lt;/order_by&gt;&lt;order_direction/&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;04351f22dbc3530086da7d5e0f9619fa&lt;/sp_column&gt;&lt;sp_page/&gt;&lt;sp_widget display_value=\"PI REST Typeahead Search\"&gt;58353a54db0f83004e5cfa131f9619c9&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance_table&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-01 09:48:43&lt;/sys_created_on&gt;&lt;sys_id&gt;7643bb3cdb292b004e5cfa131f961973&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_table_7643bb3cdb292b004e5cfa131f961973&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-07 12:31:04&lt;/sys_updated_on&gt;&lt;table&gt;sys_user&lt;/table&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"limit_result\": {\n\t\t\"value\": 10,\n\t\t\"displayValue\": \"10\"\n\t},\n\t\"minlength\": {\n\t\t\"value\": 3,\n\t\t\"displayValue\": \"3\"\n\t},\n\t\"placeholder\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"broadcast_event_name\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"display_field\": {\n\t\t\"value\": \"name\",\n\t\t\"displayValue\": \"name\"\n\t},\n\t\"query_field\": {\n\t\t\"value\": \"name\",\n\t\t\"displayValue\": \"name\"\n\t},\n\t\"overlay\": {\n\t\t\"value\": \"true\",\n\t\t\"displayValue\": \"true\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance_table&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=7643bb3cdb292b004e5cfa131f961973\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-998513005</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>b1b41493dbeda7004e5cfa131f9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ee279b0e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table>sys_user</table>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>d3f1533e91e1ef00ba04ad61de65a389</update_guid>\n<update_guid_history>d3f1533e91e1ef00ba04ad61de65a389:-998513005,59f1133e46e1ef00c93a011571f060ce:1576753604,8fe247ba9ea1ef00e610094918b56168:-1400450918,c3b207ba8ba1ef00bd7982a0204b900e:210998436,7e1a3a7a5e61ef00833fe594867302c1:297556072,377832f62b61ef003dda0dabb5ad7b4d:-1004363698,156336f29261ef002ca7ffc2d52034c7:385480795,119c66ba2d21ef006b24a92b8810a9ba:434255330,d9d772ee9ee1af00d233521cbefe5e03:-1913290079,29f3ff3c57292b00b68a8183eff6fe73:1096394377,7e43bb3c03292b00dd6cd2d5e3d6b574:-1144321438</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_c3255f22dbc3530086da7d5e0f961941</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>typeahead_demo - Container 1</name><order>1</order><sp_page display_value=\"typeahead_demo\">f1151f22dbc3530086da7d5e0f9619c8</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-07-05 11:29:33</sys_created_on><sys_id>c3255f22dbc3530086da7d5e0f961941</sys_id><sys_mod_count>4</sys_mod_count><sys_name>typeahead_demo - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_c3255f22dbc3530086da7d5e0f961941</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-07 12:30:24</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1512752496</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>b5b41493dbeda7004e5cfa131f9619be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ee26fc2a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>typeahead_demo - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>ddd15ffa6ce1ef0038d962599887e5e6</update_guid>\n<update_guid_history>ddd15ffa6ce1ef0038d962599887e5e6:1512752496,6cd19ffa67e1ef0070d3390274a09618:-983258961,bac15ffa26e1ef00f50c987c959767d5:1512752496,f2b19bfa7ce1ef002964fc5ed4d64962:1696808057,4b255f22d0c35300510ea100444f8242:1076186085</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_ff67231cdb4f83004e5cfa131f9619d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Typeahead Dep\">7167231cdb4f83004e5cfa131f96198c</sp_dependency><sp_widget display_value=\"PE Typeahead Search\">58353a54db0f83004e5cfa131f9619c9</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-11 16:51:51</sys_created_on><sys_id>ff67231cdb4f83004e5cfa131f9619d4</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Typeahead Dep.PE Typeahead Search</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_ff67231cdb4f83004e5cfa131f9619d4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-10-31 18:10:29</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>908155030</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>b9b41493dbeda7004e5cfa131f9619bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166cb51d2210000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>Typeahead Dep.PE Typeahead Search</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>f28c5cf06e6de7001d91ea59167c3463</update_guid>\n<update_guid_history>f28c5cf06e6de7001d91ea59167c3463:908155030,b18c5cf0fb6de7001dc418fff30bc720:997284122,3b67231c764f8300e8ee2edf320295d6:686787286</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_a2b7a31cdb4f83004e5cfa131f9619e9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;typeahead.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*!\n * typeahead.js 1.2.0\n * https://github.com/twitter/typeahead.js\n * Copyright 2013-2017 Twitter, Inc. and other contributors; Licensed MIT\n */\n\n(function(root, factory) {\n    if (typeof define === \"function\" &amp;&amp; define.amd) {\n        define([ \"jquery\" ], function(a0) {\n            return root[\"Bloodhound\"] = factory(a0);\n        });\n    } else if (typeof exports === \"object\") {\n        module.exports = factory(require(\"jquery\"));\n    } else {\n        root[\"Bloodhound\"] = factory(root[\"jQuery\"]);\n    }\n})(this, function($) {\n    var _ = function() {\n        \"use strict\";\n        return {\n            isMsie: function() {\n                return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n            },\n            isBlankString: function(str) {\n                return !str || /^\\s*$/.test(str);\n            },\n            escapeRegExChars: function(str) {\n                return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&amp;\");\n            },\n            isString: function(obj) {\n                return typeof obj === \"string\";\n            },\n            isNumber: function(obj) {\n                return typeof obj === \"number\";\n            },\n            isArray: $.isArray,\n            isFunction: $.isFunction,\n            isObject: $.isPlainObject,\n            isUndefined: function(obj) {\n                return typeof obj === \"undefined\";\n            },\n            isElement: function(obj) {\n                return !!(obj &amp;&amp; obj.nodeType === 1);\n            },\n            isJQuery: function(obj) {\n                return obj instanceof $;\n            },\n            toStr: function toStr(s) {\n                return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n            },\n            bind: $.proxy,\n            each: function(collection, cb) {\n                $.each(collection, reverseArgs);\n                function reverseArgs(index, value) {\n                    return cb(value, index);\n                }\n            },\n            map: $.map,\n            filter: $.grep,\n            every: function(obj, test) {\n                var result = true;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (!(result = test.call(null, val, key, obj))) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            some: function(obj, test) {\n                var result = false;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (result = test.call(null, val, key, obj)) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            mixin: $.extend,\n            identity: function(x) {\n                return x;\n            },\n            clone: function(obj) {\n                return $.extend(true, {}, obj);\n            },\n            getIdGenerator: function() {\n                var counter = 0;\n                return function() {\n                    return counter++;\n                };\n            },\n            templatify: function templatify(obj) {\n                return $.isFunction(obj) ? obj : template;\n                function template() {\n                    return String(obj);\n                }\n            },\n            defer: function(fn) {\n                setTimeout(fn, 0);\n            },\n            debounce: function(func, wait, immediate) {\n                var timeout, result;\n                return function() {\n                    var context = this, args = arguments, later, callNow;\n                    later = function() {\n                        timeout = null;\n                        if (!immediate) {\n                            result = func.apply(context, args);\n                        }\n                    };\n                    callNow = immediate &amp;&amp; !timeout;\n                    clearTimeout(timeout);\n                    timeout = setTimeout(later, wait);\n                    if (callNow) {\n                        result = func.apply(context, args);\n                    }\n                    return result;\n                };\n            },\n            throttle: function(func, wait) {\n                var context, args, timeout, result, previous, later;\n                previous = 0;\n                later = function() {\n                    previous = new Date();\n                    timeout = null;\n                    result = func.apply(context, args);\n                };\n                return function() {\n                    var now = new Date(), remaining = wait - (now - previous);\n                    context = this;\n                    args = arguments;\n                    if (remaining &lt;= 0) {\n                        clearTimeout(timeout);\n                        timeout = null;\n                        previous = now;\n                        result = func.apply(context, args);\n                    } else if (!timeout) {\n                        timeout = setTimeout(later, remaining);\n                    }\n                    return result;\n                };\n            },\n            stringify: function(val) {\n                return _.isString(val) ? val : JSON.stringify(val);\n            },\n            guid: function() {\n                function _p8(s) {\n                    var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n                    return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n                }\n                return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n            },\n            noop: function() {}\n        };\n    }();\n    var VERSION = \"1.2.0\";\n    var tokenizers = function() {\n        \"use strict\";\n        return {\n            nonword: nonword,\n            whitespace: whitespace,\n            ngram: ngram,\n            obj: {\n                nonword: getObjTokenizer(nonword),\n                whitespace: getObjTokenizer(whitespace),\n                ngram: getObjTokenizer(ngram)\n            }\n        };\n        function whitespace(str) {\n            str = _.toStr(str);\n            return str ? str.split(/\\s+/) : [];\n        }\n        function nonword(str) {\n            str = _.toStr(str);\n            return str ? str.split(/\\W+/) : [];\n        }\n        function ngram(str) {\n            str = _.toStr(str);\n            var tokens = [], word = \"\";\n            _.each(str.split(\"\"), function(char) {\n                if (char.match(/\\s+/)) {\n                    word = \"\";\n                } else {\n                    tokens.push(word + char);\n                    word += char;\n                }\n            });\n            return tokens;\n        }\n        function getObjTokenizer(tokenizer) {\n            return function setKey(keys) {\n                keys = _.isArray(keys) ? keys : [].slice.call(arguments, 0);\n                return function tokenize(o) {\n                    var tokens = [];\n                    _.each(keys, function(k) {\n                        tokens = tokens.concat(tokenizer(_.toStr(o[k])));\n                    });\n                    return tokens;\n                };\n            };\n        }\n    }();\n    var LruCache = function() {\n        \"use strict\";\n        function LruCache(maxSize) {\n            this.maxSize = _.isNumber(maxSize) ? maxSize : 100;\n            this.reset();\n            if (this.maxSize &lt;= 0) {\n                this.set = this.get = $.noop;\n            }\n        }\n        _.mixin(LruCache.prototype, {\n            set: function set(key, val) {\n                var tailItem = this.list.tail, node;\n                if (this.size &gt;= this.maxSize) {\n                    this.list.remove(tailItem);\n                    delete this.hash[tailItem.key];\n                    this.size--;\n                }\n                if (node = this.hash[key]) {\n                    node.val = val;\n                    this.list.moveToFront(node);\n                } else {\n                    node = new Node(key, val);\n                    this.list.add(node);\n                    this.hash[key] = node;\n                    this.size++;\n                }\n            },\n            get: function get(key) {\n                var node = this.hash[key];\n                if (node) {\n                    this.list.moveToFront(node);\n                    return node.val;\n                }\n            },\n            reset: function reset() {\n                this.size = 0;\n                this.hash = {};\n                this.list = new List();\n            }\n        });\n        function List() {\n            this.head = this.tail = null;\n        }\n        _.mixin(List.prototype, {\n            add: function add(node) {\n                if (this.head) {\n                    node.next = this.head;\n                    this.head.prev = node;\n                }\n                this.head = node;\n                this.tail = this.tail || node;\n            },\n            remove: function remove(node) {\n                node.prev ? node.prev.next = node.next : this.head = node.next;\n                node.next ? node.next.prev = node.prev : this.tail = node.prev;\n            },\n            moveToFront: function(node) {\n                this.remove(node);\n                this.add(node);\n            }\n        });\n        function Node(key, val) {\n            this.key = key;\n            this.val = val;\n            this.prev = this.next = null;\n        }\n        return LruCache;\n    }();\n    var PersistentStorage = function() {\n        \"use strict\";\n        var LOCAL_STORAGE;\n        try {\n            LOCAL_STORAGE = window.localStorage;\n            LOCAL_STORAGE.setItem(\"~~~\", \"!\");\n            LOCAL_STORAGE.removeItem(\"~~~\");\n        } catch (err) {\n            LOCAL_STORAGE = null;\n        }\n        function PersistentStorage(namespace, override) {\n            this.prefix = [ \"__\", namespace, \"__\" ].join(\"\");\n            this.ttlKey = \"__ttl__\";\n            this.keyMatcher = new RegExp(\"^\" + _.escapeRegExChars(this.prefix));\n            this.ls = override || LOCAL_STORAGE;\n            !this.ls &amp;&amp; this._noop();\n        }\n        _.mixin(PersistentStorage.prototype, {\n            _prefix: function(key) {\n                return this.prefix + key;\n            },\n            _ttlKey: function(key) {\n                return this._prefix(key) + this.ttlKey;\n            },\n            _noop: function() {\n                this.get = this.set = this.remove = this.clear = this.isExpired = _.noop;\n            },\n            _safeSet: function(key, val) {\n                try {\n                    this.ls.setItem(key, val);\n                } catch (err) {\n                    if (err.name === \"QuotaExceededError\") {\n                        this.clear();\n                        this._noop();\n                    }\n                }\n            },\n            get: function(key) {\n                if (this.isExpired(key)) {\n                    this.remove(key);\n                }\n                return decode(this.ls.getItem(this._prefix(key)));\n            },\n            set: function(key, val, ttl) {\n                if (_.isNumber(ttl)) {\n                    this._safeSet(this._ttlKey(key), encode(now() + ttl));\n                } else {\n                    this.ls.removeItem(this._ttlKey(key));\n                }\n                return this._safeSet(this._prefix(key), encode(val));\n            },\n            remove: function(key) {\n                this.ls.removeItem(this._ttlKey(key));\n                this.ls.removeItem(this._prefix(key));\n                return this;\n            },\n            clear: function() {\n                var i, keys = gatherMatchingKeys(this.keyMatcher);\n                for (i = keys.length; i--; ) {\n                    this.remove(keys[i]);\n                }\n                return this;\n            },\n            isExpired: function(key) {\n                var ttl = decode(this.ls.getItem(this._ttlKey(key)));\n                return _.isNumber(ttl) &amp;&amp; now() &gt; ttl ? true : false;\n            }\n        });\n        return PersistentStorage;\n        function now() {\n            return new Date().getTime();\n        }\n        function encode(val) {\n            return JSON.stringify(_.isUndefined(val) ? null : val);\n        }\n        function decode(val) {\n            return $.parseJSON(val);\n        }\n        function gatherMatchingKeys(keyMatcher) {\n            var i, key, keys = [], len = LOCAL_STORAGE.length;\n            for (i = 0; i &lt; len; i++) {\n                if ((key = LOCAL_STORAGE.key(i)).match(keyMatcher)) {\n                    keys.push(key.replace(keyMatcher, \"\"));\n                }\n            }\n            return keys;\n        }\n    }();\n    var Transport = function() {\n        \"use strict\";\n        var pendingRequestsCount = 0, pendingRequests = {}, sharedCache = new LruCache(10);\n        function Transport(o) {\n            o = o || {};\n            this.maxPendingRequests = o.maxPendingRequests || 6;\n            this.cancelled = false;\n            this.lastReq = null;\n            this._send = o.transport;\n            this._get = o.limiter ? o.limiter(this._get) : this._get;\n            this._cache = o.cache === false ? new LruCache(0) : sharedCache;\n        }\n        Transport.setMaxPendingRequests = function setMaxPendingRequests(num) {\n            this.maxPendingRequests = num;\n        };\n        Transport.resetCache = function resetCache() {\n            sharedCache.reset();\n        };\n        _.mixin(Transport.prototype, {\n            _fingerprint: function fingerprint(o) {\n                o = o || {};\n                return o.url + o.type + $.param(o.data || {});\n            },\n            _get: function(o, cb) {\n                var that = this, fingerprint, jqXhr;\n                fingerprint = this._fingerprint(o);\n                if (this.cancelled || fingerprint !== this.lastReq) {\n                    return;\n                }\n                if (jqXhr = pendingRequests[fingerprint]) {\n                    jqXhr.done(done).fail(fail);\n                } else if (pendingRequestsCount &lt; this.maxPendingRequests) {\n                    pendingRequestsCount++;\n                    pendingRequests[fingerprint] = this._send(o).done(done).fail(fail).always(always);\n                } else {\n                    this.onDeckRequestArgs = [].slice.call(arguments, 0);\n                }\n                function done(resp) {\n                    cb(null, resp);\n                    that._cache.set(fingerprint, resp);\n                }\n                function fail() {\n                    cb(true);\n                }\n                function always() {\n                    pendingRequestsCount--;\n                    delete pendingRequests[fingerprint];\n                    if (that.onDeckRequestArgs) {\n                        that._get.apply(that, that.onDeckRequestArgs);\n                        that.onDeckRequestArgs = null;\n                    }\n                }\n            },\n            get: function(o, cb) {\n                var resp, fingerprint;\n                cb = cb || $.noop;\n                o = _.isString(o) ? {\n                    url: o\n                } : o || {};\n                fingerprint = this._fingerprint(o);\n                this.cancelled = false;\n                this.lastReq = fingerprint;\n                if (resp = this._cache.get(fingerprint)) {\n                    cb(null, resp);\n                } else {\n                    this._get(o, cb);\n                }\n            },\n            cancel: function() {\n                this.cancelled = true;\n            }\n        });\n        return Transport;\n    }();\n    var SearchIndex = window.SearchIndex = function() {\n        \"use strict\";\n        var CHILDREN = \"c\", IDS = \"i\";\n        function SearchIndex(o) {\n            o = o || {};\n            if (!o.datumTokenizer || !o.queryTokenizer) {\n                $.error(\"datumTokenizer and queryTokenizer are both required\");\n            }\n            this.identify = o.identify || _.stringify;\n            this.datumTokenizer = o.datumTokenizer;\n            this.queryTokenizer = o.queryTokenizer;\n            this.matchAnyQueryToken = o.matchAnyQueryToken;\n            this.reset();\n        }\n        _.mixin(SearchIndex.prototype, {\n            bootstrap: function bootstrap(o) {\n                this.datums = o.datums;\n                this.trie = o.trie;\n            },\n            add: function(data) {\n                var that = this;\n                data = _.isArray(data) ? data : [ data ];\n                _.each(data, function(datum) {\n                    var id, tokens;\n                    that.datums[id = that.identify(datum)] = datum;\n                    tokens = normalizeTokens(that.datumTokenizer(datum));\n                    _.each(tokens, function(token) {\n                        var node, chars, ch;\n                        node = that.trie;\n                        chars = token.split(\"\");\n                        while (ch = chars.shift()) {\n                            node = node[CHILDREN][ch] || (node[CHILDREN][ch] = newNode());\n                            node[IDS].push(id);\n                        }\n                    });\n                });\n            },\n            get: function get(ids) {\n                var that = this;\n                return _.map(ids, function(id) {\n                    return that.datums[id];\n                });\n            },\n            search: function search(query) {\n                var that = this, tokens, matches;\n                tokens = normalizeTokens(this.queryTokenizer(query));\n                _.each(tokens, function(token) {\n                    var node, chars, ch, ids;\n                    if (matches &amp;&amp; matches.length === 0 &amp;&amp; !that.matchAnyQueryToken) {\n                        return false;\n                    }\n                    node = that.trie;\n                    chars = token.split(\"\");\n                    while (node &amp;&amp; (ch = chars.shift())) {\n                        node = node[CHILDREN][ch];\n                    }\n                    if (node &amp;&amp; chars.length === 0) {\n                        ids = node[IDS].slice(0);\n                        matches = matches ? getIntersection(matches, ids) : ids;\n                    } else {\n                        if (!that.matchAnyQueryToken) {\n                            matches = [];\n                            return false;\n                        }\n                    }\n                });\n                return matches ? _.map(unique(matches), function(id) {\n                    return that.datums[id];\n                }) : [];\n            },\n            all: function all() {\n                var values = [];\n                for (var key in this.datums) {\n                    values.push(this.datums[key]);\n                }\n                return values;\n            },\n            reset: function reset() {\n                this.datums = {};\n                this.trie = newNode();\n            },\n            serialize: function serialize() {\n                return {\n                    datums: this.datums,\n                    trie: this.trie\n                };\n            }\n        });\n        return SearchIndex;\n        function normalizeTokens(tokens) {\n            tokens = _.filter(tokens, function(token) {\n                return !!token;\n            });\n            tokens = _.map(tokens, function(token) {\n                return token.toLowerCase();\n            });\n            return tokens;\n        }\n        function newNode() {\n            var node = {};\n            node[IDS] = [];\n            node[CHILDREN] = {};\n            return node;\n        }\n        function unique(array) {\n            var seen = {}, uniques = [];\n            for (var i = 0, len = array.length; i &lt; len; i++) {\n                if (!seen[array[i]]) {\n                    seen[array[i]] = true;\n                    uniques.push(array[i]);\n                }\n            }\n            return uniques;\n        }\n        function getIntersection(arrayA, arrayB) {\n            var ai = 0, bi = 0, intersection = [];\n            arrayA = arrayA.sort();\n            arrayB = arrayB.sort();\n            var lenArrayA = arrayA.length, lenArrayB = arrayB.length;\n            while (ai &lt; lenArrayA &amp;&amp; bi &lt; lenArrayB) {\n                if (arrayA[ai] &lt; arrayB[bi]) {\n                    ai++;\n                } else if (arrayA[ai] &gt; arrayB[bi]) {\n                    bi++;\n                } else {\n                    intersection.push(arrayA[ai]);\n                    ai++;\n                    bi++;\n                }\n            }\n            return intersection;\n        }\n    }();\n    var Prefetch = function() {\n        \"use strict\";\n        var keys;\n        keys = {\n            data: \"data\",\n            protocol: \"protocol\",\n            thumbprint: \"thumbprint\"\n        };\n        function Prefetch(o) {\n            this.url = o.url;\n            this.ttl = o.ttl;\n            this.cache = o.cache;\n            this.prepare = o.prepare;\n            this.transform = o.transform;\n            this.transport = o.transport;\n            this.thumbprint = o.thumbprint;\n            this.storage = new PersistentStorage(o.cacheKey);\n        }\n        _.mixin(Prefetch.prototype, {\n            _settings: function settings() {\n                return {\n                    url: this.url,\n                    type: \"GET\",\n                    dataType: \"json\"\n                };\n            },\n            store: function store(data) {\n                if (!this.cache) {\n                    return;\n                }\n                this.storage.set(keys.data, data, this.ttl);\n                this.storage.set(keys.protocol, location.protocol, this.ttl);\n                this.storage.set(keys.thumbprint, this.thumbprint, this.ttl);\n            },\n            fromCache: function fromCache() {\n                var stored = {}, isExpired;\n                if (!this.cache) {\n                    return null;\n                }\n                stored.data = this.storage.get(keys.data);\n                stored.protocol = this.storage.get(keys.protocol);\n                stored.thumbprint = this.storage.get(keys.thumbprint);\n                isExpired = stored.thumbprint !== this.thumbprint || stored.protocol !== location.protocol;\n                return stored.data &amp;&amp; !isExpired ? stored.data : null;\n            },\n            fromNetwork: function(cb) {\n                var that = this, settings;\n                if (!cb) {\n                    return;\n                }\n                settings = this.prepare(this._settings());\n                this.transport(settings).fail(onError).done(onResponse);\n                function onError() {\n                    cb(true);\n                }\n                function onResponse(resp) {\n                    cb(null, that.transform(resp));\n                }\n            },\n            clear: function clear() {\n                this.storage.clear();\n                return this;\n            }\n        });\n        return Prefetch;\n    }();\n    var Remote = function() {\n        \"use strict\";\n        function Remote(o) {\n            this.url = o.url;\n            this.prepare = o.prepare;\n            this.transform = o.transform;\n            this.indexResponse = o.indexResponse;\n            this.transport = new Transport({\n                cache: o.cache,\n                limiter: o.limiter,\n                transport: o.transport,\n                maxPendingRequests: o.maxPendingRequests\n            });\n        }\n        _.mixin(Remote.prototype, {\n            _settings: function settings() {\n                return {\n                    url: this.url,\n                    type: \"GET\",\n                    dataType: \"json\"\n                };\n            },\n            get: function get(query, cb) {\n                var that = this, settings;\n                if (!cb) {\n                    return;\n                }\n                query = query || \"\";\n                settings = this.prepare(query, this._settings());\n                return this.transport.get(settings, onResponse);\n                function onResponse(err, resp) {\n                    err ? cb([]) : cb(that.transform(resp));\n                }\n            },\n            cancelLastRequest: function cancelLastRequest() {\n                this.transport.cancel();\n            }\n        });\n        return Remote;\n    }();\n    var oParser = function() {\n        \"use strict\";\n        return function parse(o) {\n            var defaults, sorter;\n            defaults = {\n                initialize: true,\n                identify: _.stringify,\n                datumTokenizer: null,\n                queryTokenizer: null,\n                matchAnyQueryToken: false,\n                sufficient: 5,\n                indexRemote: false,\n                sorter: null,\n                local: [],\n                prefetch: null,\n                remote: null\n            };\n            o = _.mixin(defaults, o || {});\n            !o.datumTokenizer &amp;&amp; $.error(\"datumTokenizer is required\");\n            !o.queryTokenizer &amp;&amp; $.error(\"queryTokenizer is required\");\n            sorter = o.sorter;\n            o.sorter = sorter ? function(x) {\n                return x.sort(sorter);\n            } : _.identity;\n            o.local = _.isFunction(o.local) ? o.local() : o.local;\n            o.prefetch = parsePrefetch(o.prefetch);\n            o.remote = parseRemote(o.remote);\n            return o;\n        };\n        function parsePrefetch(o) {\n            var defaults;\n            if (!o) {\n                return null;\n            }\n            defaults = {\n                url: null,\n                ttl: 24 * 60 * 60 * 1e3,\n                cache: true,\n                cacheKey: null,\n                thumbprint: \"\",\n                prepare: _.identity,\n                transform: _.identity,\n                transport: null\n            };\n            o = _.isString(o) ? {\n                url: o\n            } : o;\n            o = _.mixin(defaults, o);\n            !o.url &amp;&amp; $.error(\"prefetch requires url to be set\");\n            o.transform = o.filter || o.transform;\n            o.cacheKey = o.cacheKey || o.url;\n            o.thumbprint = VERSION + o.thumbprint;\n            o.transport = o.transport ? callbackToDeferred(o.transport) : $.ajax;\n            return o;\n        }\n        function parseRemote(o) {\n            var defaults;\n            if (!o) {\n                return;\n            }\n            defaults = {\n                url: null,\n                cache: true,\n                prepare: null,\n                replace: null,\n                wildcard: null,\n                limiter: null,\n                rateLimitBy: \"debounce\",\n                rateLimitWait: 300,\n                transform: _.identity,\n                transport: null\n            };\n            o = _.isString(o) ? {\n                url: o\n            } : o;\n            o = _.mixin(defaults, o);\n            !o.url &amp;&amp; $.error(\"remote requires url to be set\");\n            o.transform = o.filter || o.transform;\n            o.prepare = toRemotePrepare(o);\n            o.limiter = toLimiter(o);\n            o.transport = o.transport ? callbackToDeferred(o.transport) : $.ajax;\n            delete o.replace;\n            delete o.wildcard;\n            delete o.rateLimitBy;\n            delete o.rateLimitWait;\n            return o;\n        }\n        function toRemotePrepare(o) {\n            var prepare, replace, wildcard;\n            prepare = o.prepare;\n            replace = o.replace;\n            wildcard = o.wildcard;\n            if (prepare) {\n                return prepare;\n            }\n            if (replace) {\n                prepare = prepareByReplace;\n            } else if (o.wildcard) {\n                prepare = prepareByWildcard;\n            } else {\n                prepare = identityPrepare;\n            }\n            return prepare;\n            function prepareByReplace(query, settings) {\n                settings.url = replace(settings.url, query);\n                return settings;\n            }\n            function prepareByWildcard(query, settings) {\n                settings.url = settings.url.replace(wildcard, encodeURIComponent(query));\n                return settings;\n            }\n            function identityPrepare(query, settings) {\n                return settings;\n            }\n        }\n        function toLimiter(o) {\n            var limiter, method, wait;\n            limiter = o.limiter;\n            method = o.rateLimitBy;\n            wait = o.rateLimitWait;\n            if (!limiter) {\n                limiter = /^throttle$/i.test(method) ? throttle(wait) : debounce(wait);\n            }\n            return limiter;\n            function debounce(wait) {\n                return function debounce(fn) {\n                    return _.debounce(fn, wait);\n                };\n            }\n            function throttle(wait) {\n                return function throttle(fn) {\n                    return _.throttle(fn, wait);\n                };\n            }\n        }\n        function callbackToDeferred(fn) {\n            return function wrapper(o) {\n                var deferred = $.Deferred();\n                fn(o, onSuccess, onError);\n                return deferred;\n                function onSuccess(resp) {\n                    _.defer(function() {\n                        deferred.resolve(resp);\n                    });\n                }\n                function onError(err) {\n                    _.defer(function() {\n                        deferred.reject(err);\n                    });\n                }\n            };\n        }\n    }();\n    var Bloodhound = function() {\n        \"use strict\";\n        var old;\n        old = window &amp;&amp; window.Bloodhound;\n        function Bloodhound(o) {\n            o = oParser(o);\n            this.sorter = o.sorter;\n            this.identify = o.identify;\n            this.sufficient = o.sufficient;\n            this.indexRemote = o.indexRemote;\n            this.local = o.local;\n            this.remote = o.remote ? new Remote(o.remote) : null;\n            this.prefetch = o.prefetch ? new Prefetch(o.prefetch) : null;\n            this.index = new SearchIndex({\n                identify: this.identify,\n                datumTokenizer: o.datumTokenizer,\n                queryTokenizer: o.queryTokenizer\n            });\n            o.initialize !== false &amp;&amp; this.initialize();\n        }\n        Bloodhound.noConflict = function noConflict() {\n            window &amp;&amp; (window.Bloodhound = old);\n            return Bloodhound;\n        };\n        Bloodhound.tokenizers = tokenizers;\n        _.mixin(Bloodhound.prototype, {\n            __ttAdapter: function ttAdapter() {\n                var that = this;\n                return this.remote ? withAsync : withoutAsync;\n                function withAsync(query, sync, async) {\n                    return that.search(query, sync, async);\n                }\n                function withoutAsync(query, sync) {\n                    return that.search(query, sync);\n                }\n            },\n            _loadPrefetch: function loadPrefetch() {\n                var that = this, deferred, serialized;\n                deferred = $.Deferred();\n                if (!this.prefetch) {\n                    deferred.resolve();\n                } else if (serialized = this.prefetch.fromCache()) {\n                    this.index.bootstrap(serialized);\n                    deferred.resolve();\n                } else {\n                    this.prefetch.fromNetwork(done);\n                }\n                return deferred.promise();\n                function done(err, data) {\n                    if (err) {\n                        return deferred.reject();\n                    }\n                    that.add(data);\n                    that.prefetch.store(that.index.serialize());\n                    deferred.resolve();\n                }\n            },\n            _initialize: function initialize() {\n                var that = this, deferred;\n                this.clear();\n                (this.initPromise = this._loadPrefetch()).done(addLocalToIndex);\n                return this.initPromise;\n                function addLocalToIndex() {\n                    that.add(that.local);\n                }\n            },\n            initialize: function initialize(force) {\n                return !this.initPromise || force ? this._initialize() : this.initPromise;\n            },\n            add: function add(data) {\n                this.index.add(data);\n                return this;\n            },\n            get: function get(ids) {\n                ids = _.isArray(ids) ? ids : [].slice.call(arguments);\n                return this.index.get(ids);\n            },\n            search: function search(query, sync, async) {\n                var that = this, local;\n                sync = sync || _.noop;\n                async = async || _.noop;\n                local = this.sorter(this.index.search(query));\n                sync(this.remote ? local.slice() : local);\n                if (this.remote &amp;&amp; local.length &lt; this.sufficient) {\n                    this.remote.get(query, processRemote);\n                } else if (this.remote) {\n                    this.remote.cancelLastRequest();\n                }\n                return this;\n                function processRemote(remote) {\n                    var nonDuplicates = [];\n                    _.each(remote, function(r) {\n                        !_.some(local, function(l) {\n                            return that.identify(r) === that.identify(l);\n                        }) &amp;&amp; nonDuplicates.push(r);\n                    });\n                    that.indexRemote &amp;&amp; that.add(nonDuplicates);\n                    async(nonDuplicates);\n                }\n            },\n            all: function all() {\n                return this.index.all();\n            },\n            clear: function clear() {\n                this.index.reset();\n                return this;\n            },\n            clearPrefetchCache: function clearPrefetchCache() {\n                this.prefetch &amp;&amp; this.prefetch.clear();\n                return this;\n            },\n            clearRemoteCache: function clearRemoteCache() {\n                Transport.resetCache();\n                return this;\n            },\n            ttAdapter: function ttAdapter() {\n                return this.__ttAdapter();\n            }\n        });\n        return Bloodhound;\n    }();\n    return Bloodhound;\n});\n\n(function(root, factory) {\n    if (typeof define === \"function\" &amp;&amp; define.amd) {\n        define([ \"jquery\" ], function(a0) {\n            return factory(a0);\n        });\n    } else if (typeof exports === \"object\") {\n        module.exports = factory(require(\"jquery\"));\n    } else {\n        factory(root[\"jQuery\"]);\n    }\n})(this, function($) {\n    var _ = function() {\n        \"use strict\";\n        return {\n            isMsie: function() {\n                return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n            },\n            isBlankString: function(str) {\n                return !str || /^\\s*$/.test(str);\n            },\n            escapeRegExChars: function(str) {\n                return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&amp;\");\n            },\n            isString: function(obj) {\n                return typeof obj === \"string\";\n            },\n            isNumber: function(obj) {\n                return typeof obj === \"number\";\n            },\n            isArray: $.isArray,\n            isFunction: $.isFunction,\n            isObject: $.isPlainObject,\n            isUndefined: function(obj) {\n                return typeof obj === \"undefined\";\n            },\n            isElement: function(obj) {\n                return !!(obj &amp;&amp; obj.nodeType === 1);\n            },\n            isJQuery: function(obj) {\n                return obj instanceof $;\n            },\n            toStr: function toStr(s) {\n                return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n            },\n            bind: $.proxy,\n            each: function(collection, cb) {\n                $.each(collection, reverseArgs);\n                function reverseArgs(index, value) {\n                    return cb(value, index);\n                }\n            },\n            map: $.map,\n            filter: $.grep,\n            every: function(obj, test) {\n                var result = true;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (!(result = test.call(null, val, key, obj))) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            some: function(obj, test) {\n                var result = false;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (result = test.call(null, val, key, obj)) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            mixin: $.extend,\n            identity: function(x) {\n                return x;\n            },\n            clone: function(obj) {\n                return $.extend(true, {}, obj);\n            },\n            getIdGenerator: function() {\n                var counter = 0;\n                return function() {\n                    return counter++;\n                };\n            },\n            templatify: function templatify(obj) {\n                return $.isFunction(obj) ? obj : template;\n                function template() {\n                    return String(obj);\n                }\n            },\n            defer: function(fn) {\n                setTimeout(fn, 0);\n            },\n            debounce: function(func, wait, immediate) {\n                var timeout, result;\n                return function() {\n                    var context = this, args = arguments, later, callNow;\n                    later = function() {\n                        timeout = null;\n                        if (!immediate) {\n                            result = func.apply(context, args);\n                        }\n                    };\n                    callNow = immediate &amp;&amp; !timeout;\n                    clearTimeout(timeout);\n                    timeout = setTimeout(later, wait);\n                    if (callNow) {\n                        result = func.apply(context, args);\n                    }\n                    return result;\n                };\n            },\n            throttle: function(func, wait) {\n                var context, args, timeout, result, previous, later;\n                previous = 0;\n                later = function() {\n                    previous = new Date();\n                    timeout = null;\n                    result = func.apply(context, args);\n                };\n                return function() {\n                    var now = new Date(), remaining = wait - (now - previous);\n                    context = this;\n                    args = arguments;\n                    if (remaining &lt;= 0) {\n                        clearTimeout(timeout);\n                        timeout = null;\n                        previous = now;\n                        result = func.apply(context, args);\n                    } else if (!timeout) {\n                        timeout = setTimeout(later, remaining);\n                    }\n                    return result;\n                };\n            },\n            stringify: function(val) {\n                return _.isString(val) ? val : JSON.stringify(val);\n            },\n            guid: function() {\n                function _p8(s) {\n                    var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n                    return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n                }\n                return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n            },\n            noop: function() {}\n        };\n    }();\n    var WWW = function() {\n        \"use strict\";\n        var defaultClassNames = {\n            wrapper: \"twitter-typeahead\",\n            input: \"tt-input\",\n            hint: \"tt-hint\",\n            menu: \"tt-menu\",\n            dataset: \"tt-dataset\",\n            suggestion: \"tt-suggestion\",\n            selectable: \"tt-selectable\",\n            empty: \"tt-empty\",\n            open: \"tt-open\",\n            cursor: \"tt-cursor\",\n            highlight: \"tt-highlight\"\n        };\n        return build;\n        function build(o) {\n            var www, classes;\n            classes = _.mixin({}, defaultClassNames, o);\n            www = {\n                css: buildCss(),\n                classes: classes,\n                html: buildHtml(classes),\n                selectors: buildSelectors(classes)\n            };\n            return {\n                css: www.css,\n                html: www.html,\n                classes: www.classes,\n                selectors: www.selectors,\n                mixin: function(o) {\n                    _.mixin(o, www);\n                }\n            };\n        }\n        function buildHtml(c) {\n            return {\n                wrapper: '&lt;span class=\"' + c.wrapper + '\"&gt;&lt;/span&gt;',\n                menu: '&lt;div role=\"listbox\" class=\"' + c.menu + '\"&gt;&lt;/div&gt;'\n            };\n        }\n        function buildSelectors(classes) {\n            var selectors = {};\n            _.each(classes, function(v, k) {\n                selectors[k] = \".\" + v;\n            });\n            return selectors;\n        }\n        function buildCss() {\n            var css = {\n                wrapper: {\n                    position: \"relative\",\n                    display: \"inline-block\"\n                },\n                hint: {\n                    position: \"absolute\",\n                    top: \"0\",\n                    left: \"0\",\n                    borderColor: \"transparent\",\n                    boxShadow: \"none\",\n                    opacity: \"1\"\n                },\n                input: {\n                    position: \"relative\",\n                    verticalAlign: \"top\",\n                    backgroundColor: \"transparent\"\n                },\n                inputWithNoHint: {\n                    position: \"relative\",\n                    verticalAlign: \"top\"\n                },\n                menu: {\n                    position: \"absolute\",\n                    top: \"100%\",\n                    left: \"0\",\n                    zIndex: \"100\",\n                    display: \"none\"\n                },\n                ltr: {\n                    left: \"0\",\n                    right: \"auto\"\n                },\n                rtl: {\n                    left: \"auto\",\n                    right: \" 0\"\n                }\n            };\n            if (_.isMsie()) {\n                _.mixin(css.input, {\n                    backgroundImage: \"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)\"\n                });\n            }\n            return css;\n        }\n    }();\n    var EventBus = function() {\n        \"use strict\";\n        var namespace, deprecationMap;\n        namespace = \"typeahead:\";\n        deprecationMap = {\n            render: \"rendered\",\n            cursorchange: \"cursorchanged\",\n            select: \"selected\",\n            autocomplete: \"autocompleted\"\n        };\n        function EventBus(o) {\n            if (!o || !o.el) {\n                $.error(\"EventBus initialized without el\");\n            }\n            this.$el = $(o.el);\n        }\n        _.mixin(EventBus.prototype, {\n            _trigger: function(type, args) {\n                var $e = $.Event(namespace + type);\n                this.$el.trigger.call(this.$el, $e, args || []);\n                return $e;\n            },\n            before: function(type) {\n                var args, $e;\n                args = [].slice.call(arguments, 1);\n                $e = this._trigger(\"before\" + type, args);\n                return $e.isDefaultPrevented();\n            },\n            trigger: function(type) {\n                var deprecatedType;\n                this._trigger(type, [].slice.call(arguments, 1));\n                if (deprecatedType = deprecationMap[type]) {\n                    this._trigger(deprecatedType, [].slice.call(arguments, 1));\n                }\n            }\n        });\n        return EventBus;\n    }();\n    var EventEmitter = function() {\n        \"use strict\";\n        var splitter = /\\s+/, nextTick = getNextTick();\n        return {\n            onSync: onSync,\n            onAsync: onAsync,\n            off: off,\n            trigger: trigger\n        };\n        function on(method, types, cb, context) {\n            var type;\n            if (!cb) {\n                return this;\n            }\n            types = types.split(splitter);\n            cb = context ? bindContext(cb, context) : cb;\n            this._callbacks = this._callbacks || {};\n            while (type = types.shift()) {\n                this._callbacks[type] = this._callbacks[type] || {\n                    sync: [],\n                    async: []\n                };\n                this._callbacks[type][method].push(cb);\n            }\n            return this;\n        }\n        function onAsync(types, cb, context) {\n            return on.call(this, \"async\", types, cb, context);\n        }\n        function onSync(types, cb, context) {\n            return on.call(this, \"sync\", types, cb, context);\n        }\n        function off(types) {\n            var type;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            while (type = types.shift()) {\n                delete this._callbacks[type];\n            }\n            return this;\n        }\n        function trigger(types) {\n            var type, callbacks, args, syncFlush, asyncFlush;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            args = [].slice.call(arguments, 1);\n            while ((type = types.shift()) &amp;&amp; (callbacks = this._callbacks[type])) {\n                syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));\n                asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));\n                syncFlush() &amp;&amp; nextTick(asyncFlush);\n            }\n            return this;\n        }\n        function getFlush(callbacks, context, args) {\n            return flush;\n            function flush() {\n                var cancelled;\n                for (var i = 0, len = callbacks.length; !cancelled &amp;&amp; i &lt; len; i += 1) {\n                    cancelled = callbacks[i].apply(context, args) === false;\n                }\n                return !cancelled;\n            }\n        }\n        function getNextTick() {\n            var nextTickFn;\n            if (window.setImmediate) {\n                nextTickFn = function nextTickSetImmediate(fn) {\n                    setImmediate(function() {\n                        fn();\n                    });\n                };\n            } else {\n                nextTickFn = function nextTickSetTimeout(fn) {\n                    setTimeout(function() {\n                        fn();\n                    }, 0);\n                };\n            }\n            return nextTickFn;\n        }\n        function bindContext(fn, context) {\n            return fn.bind ? fn.bind(context) : function() {\n                fn.apply(context, [].slice.call(arguments, 0));\n            };\n        }\n    }();\n    var highlight = function(doc) {\n        \"use strict\";\n        var defaults = {\n            node: null,\n            pattern: null,\n            tagName: \"strong\",\n            className: null,\n            wordsOnly: false,\n            caseSensitive: false,\n            diacriticInsensitive: false\n        };\n        var accented = {\n            A: \"[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Ａａ]\",\n            B: \"[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Ｂｂ]\",\n            C: \"[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Ｃｃ]\",\n            D: \"[DdĎďǄ-ǆǱ-ǳᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Ｄｄ]\",\n            E: \"[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ｅｅ]\",\n            F: \"[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ﬀ-ﬄＦｆ]\",\n            G: \"[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Ｇｇ]\",\n            H: \"[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Ｈｈ]\",\n            I: \"[IiÌ-Ïì-ïĨ-İĲĳǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕ﬁﬃＩｉ]\",\n            J: \"[JjĲ-ĵǇ-ǌǰʲᴶⅉ⒥ⒿⓙⱼＪｊ]\",\n            K: \"[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Ｋｋ]\",\n            L: \"[LlĹ-ŀǇ-ǉˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿ﬂﬄＬｌ]\",\n            M: \"[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Ｍｍ]\",\n            N: \"[NnÑñŃ-ŉǊ-ǌǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Ｎｎ]\",\n            O: \"[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Ｏｏ]\",\n            P: \"[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Ｐｐ]\",\n            Q: \"[Qqℚ⒬Ⓠⓠ㏃Ｑｑ]\",\n            R: \"[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Ｒｒ]\",\n            S: \"[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜ﬆＳｓ]\",\n            T: \"[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ﬅﬆＴｔ]\",\n            U: \"[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Ｕｕ]\",\n            V: \"[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Ｖｖ]\",\n            W: \"[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ｗｗ]\",\n            X: \"[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Ｘｘ]\",\n            Y: \"[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Ｙｙ]\",\n            Z: \"[ZzŹ-žǱ-ǳᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Ｚｚ]\"\n        };\n        return function hightlight(o) {\n            var regex;\n            o = _.mixin({}, defaults, o);\n            if (!o.node || !o.pattern) {\n                return;\n            }\n            o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];\n            regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive);\n            traverse(o.node, hightlightTextNode);\n            function hightlightTextNode(textNode) {\n                var match, patternNode, wrapperNode;\n                if (match = regex.exec(textNode.data)) {\n                    wrapperNode = doc.createElement(o.tagName);\n                    o.className &amp;&amp; (wrapperNode.className = o.className);\n                    patternNode = textNode.splitText(match.index);\n                    patternNode.splitText(match[0].length);\n                    wrapperNode.appendChild(patternNode.cloneNode(true));\n                    textNode.parentNode.replaceChild(wrapperNode, patternNode);\n                }\n                return !!match;\n            }\n            function traverse(el, hightlightTextNode) {\n                var childNode, TEXT_NODE_TYPE = 3;\n                for (var i = 0; i &lt; el.childNodes.length; i++) {\n                    childNode = el.childNodes[i];\n                    if (childNode.nodeType === TEXT_NODE_TYPE) {\n                        i += hightlightTextNode(childNode) ? 1 : 0;\n                    } else {\n                        traverse(childNode, hightlightTextNode);\n                    }\n                }\n            }\n        };\n        function accent_replacer(chr) {\n            return accented[chr.toUpperCase()] || chr;\n        }\n        function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) {\n            var escapedPatterns = [], regexStr;\n            for (var i = 0, len = patterns.length; i &lt; len; i++) {\n                var escapedWord = _.escapeRegExChars(patterns[i]);\n                if (diacriticInsensitive) {\n                    escapedWord = escapedWord.replace(/\\S/g, accent_replacer);\n                }\n                escapedPatterns.push(escapedWord);\n            }\n            regexStr = wordsOnly ? \"\\\\b(\" + escapedPatterns.join(\"|\") + \")\\\\b\" : \"(\" + escapedPatterns.join(\"|\") + \")\";\n            return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, \"i\");\n        }\n    }(window.document);\n    var Input = function() {\n        \"use strict\";\n        var specialKeyCodeMap;\n        specialKeyCodeMap = {\n            9: \"tab\",\n            27: \"esc\",\n            37: \"left\",\n            39: \"right\",\n            13: \"enter\",\n            38: \"up\",\n            40: \"down\"\n        };\n        function Input(o, www) {\n            o = o || {};\n            if (!o.input) {\n                $.error(\"input is missing\");\n            }\n            www.mixin(this);\n            this.$hint = $(o.hint);\n            this.$input = $(o.input);\n            this.$input.attr({\n                \"aria-activedescendant\": \"\",\n                \"aria-owns\": this.$input.attr(\"id\") + \"_listbox\",\n                role: \"combobox\",\n                \"aria-readonly\": \"true\",\n                \"aria-autocomplete\": \"list\"\n            });\n            $(www.menu).attr(\"id\", this.$input.attr(\"id\") + \"_listbox\");\n            this.query = this.$input.val();\n            this.queryWhenFocused = this.hasFocus() ? this.query : null;\n            this.$overflowHelper = buildOverflowHelper(this.$input);\n            this._checkLanguageDirection();\n            if (this.$hint.length === 0) {\n                this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;\n            }\n            this.onSync(\"cursorchange\", this._updateDescendent);\n        }\n        Input.normalizeQuery = function(str) {\n            return _.toStr(str).replace(/^\\s*/g, \"\").replace(/\\s{2,}/g, \" \");\n        };\n        _.mixin(Input.prototype, EventEmitter, {\n            _onBlur: function onBlur() {\n                this.resetInputValue();\n                this.trigger(\"blurred\");\n            },\n            _onFocus: function onFocus() {\n                this.queryWhenFocused = this.query;\n                this.trigger(\"focused\");\n            },\n            _onKeydown: function onKeydown($e) {\n                var keyName = specialKeyCodeMap[$e.which || $e.keyCode];\n                this._managePreventDefault(keyName, $e);\n                if (keyName &amp;&amp; this._shouldTrigger(keyName, $e)) {\n                    this.trigger(keyName + \"Keyed\", $e);\n                }\n            },\n            _onInput: function onInput() {\n                this._setQuery(this.getInputValue());\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            _managePreventDefault: function managePreventDefault(keyName, $e) {\n                var preventDefault;\n                switch (keyName) {\n                  case \"up\":\n                  case \"down\":\n                    preventDefault = !withModifier($e);\n                    break;\n\n                  default:\n                    preventDefault = false;\n                }\n                preventDefault &amp;&amp; $e.preventDefault();\n            },\n            _shouldTrigger: function shouldTrigger(keyName, $e) {\n                var trigger;\n                switch (keyName) {\n                  case \"tab\":\n                    trigger = !withModifier($e);\n                    break;\n\n                  default:\n                    trigger = true;\n                }\n                return trigger;\n            },\n            _checkLanguageDirection: function checkLanguageDirection() {\n                var dir = (this.$input.css(\"direction\") || \"ltr\").toLowerCase();\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.$hint.attr(\"dir\", dir);\n                    this.trigger(\"langDirChanged\", dir);\n                }\n            },\n            _setQuery: function setQuery(val, silent) {\n                var areEquivalent, hasDifferentWhitespace;\n                areEquivalent = areQueriesEquivalent(val, this.query);\n                hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false;\n                this.query = val;\n                if (!silent &amp;&amp; !areEquivalent) {\n                    this.trigger(\"queryChanged\", this.query);\n                } else if (!silent &amp;&amp; hasDifferentWhitespace) {\n                    this.trigger(\"whitespaceChanged\", this.query);\n                }\n            },\n            _updateDescendent: function updateDescendent(event, id) {\n                this.$input.attr(\"aria-activedescendant\", id);\n            },\n            bind: function() {\n                var that = this, onBlur, onFocus, onKeydown, onInput;\n                onBlur = _.bind(this._onBlur, this);\n                onFocus = _.bind(this._onFocus, this);\n                onKeydown = _.bind(this._onKeydown, this);\n                onInput = _.bind(this._onInput, this);\n                this.$input.on(\"blur.tt\", onBlur).on(\"focus.tt\", onFocus).on(\"keydown.tt\", onKeydown);\n                if (!_.isMsie() || _.isMsie() &gt; 9) {\n                    this.$input.on(\"input.tt\", onInput);\n                } else {\n                    this.$input.on(\"keydown.tt keypress.tt cut.tt paste.tt\", function($e) {\n                        if (specialKeyCodeMap[$e.which || $e.keyCode]) {\n                            return;\n                        }\n                        _.defer(_.bind(that._onInput, that, $e));\n                    });\n                }\n                return this;\n            },\n            focus: function focus() {\n                this.$input.focus();\n            },\n            blur: function blur() {\n                this.$input.blur();\n            },\n            getLangDir: function getLangDir() {\n                return this.dir;\n            },\n            getQuery: function getQuery() {\n                return this.query || \"\";\n            },\n            setQuery: function setQuery(val, silent) {\n                this.setInputValue(val);\n                this._setQuery(val, silent);\n            },\n            hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() {\n                return this.query !== this.queryWhenFocused;\n            },\n            getInputValue: function getInputValue() {\n                return this.$input.val();\n            },\n            setInputValue: function setInputValue(value) {\n                this.$input.val(value);\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            resetInputValue: function resetInputValue() {\n                this.setInputValue(this.query);\n            },\n            getHint: function getHint() {\n                return this.$hint.val();\n            },\n            setHint: function setHint(value) {\n                this.$hint.val(value);\n            },\n            clearHint: function clearHint() {\n                this.setHint(\"\");\n            },\n            clearHintIfInvalid: function clearHintIfInvalid() {\n                var val, hint, valIsPrefixOfHint, isValid;\n                val = this.getInputValue();\n                hint = this.getHint();\n                valIsPrefixOfHint = val !== hint &amp;&amp; hint.indexOf(val) === 0;\n                isValid = val !== \"\" &amp;&amp; valIsPrefixOfHint &amp;&amp; !this.hasOverflow();\n                !isValid &amp;&amp; this.clearHint();\n            },\n            hasFocus: function hasFocus() {\n                return this.$input.is(\":focus\");\n            },\n            hasOverflow: function hasOverflow() {\n                var constraint = this.$input.width() - 2;\n                this.$overflowHelper.text(this.getInputValue());\n                return this.$overflowHelper.width() &gt;= constraint;\n            },\n            isCursorAtEnd: function() {\n                var valueLength, selectionStart, range;\n                valueLength = this.$input.val().length;\n                selectionStart = this.$input[0].selectionStart;\n                if (_.isNumber(selectionStart)) {\n                    return selectionStart === valueLength;\n                } else if (document.selection) {\n                    range = document.selection.createRange();\n                    range.moveStart(\"character\", -valueLength);\n                    return valueLength === range.text.length;\n                }\n                return true;\n            },\n            destroy: function destroy() {\n                this.$hint.off(\".tt\");\n                this.$input.off(\".tt\");\n                this.$overflowHelper.remove();\n                this.$hint = this.$input = this.$overflowHelper = $(\"&lt;div&gt;\");\n            }\n        });\n        return Input;\n        function buildOverflowHelper($input) {\n            return $('&lt;pre aria-hidden=\"true\"&gt;&lt;/pre&gt;').css({\n                position: \"absolute\",\n                visibility: \"hidden\",\n                whiteSpace: \"pre\",\n                fontFamily: $input.css(\"font-family\"),\n                fontSize: $input.css(\"font-size\"),\n                fontStyle: $input.css(\"font-style\"),\n                fontVariant: $input.css(\"font-variant\"),\n                fontWeight: $input.css(\"font-weight\"),\n                wordSpacing: $input.css(\"word-spacing\"),\n                letterSpacing: $input.css(\"letter-spacing\"),\n                textIndent: $input.css(\"text-indent\"),\n                textRendering: $input.css(\"text-rendering\"),\n                textTransform: $input.css(\"text-transform\")\n            }).insertAfter($input);\n        }\n        function areQueriesEquivalent(a, b) {\n            return Input.normalizeQuery(a) === Input.normalizeQuery(b);\n        }\n        function withModifier($e) {\n            return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;\n        }\n    }();\n    var Dataset = function() {\n        \"use strict\";\n        var keys, nameGenerator;\n        keys = {\n            dataset: \"tt-selectable-dataset\",\n            val: \"tt-selectable-display\",\n            obj: \"tt-selectable-object\"\n        };\n        nameGenerator = _.getIdGenerator();\n        function Dataset(o, www) {\n            o = o || {};\n            o.templates = o.templates || {};\n            o.templates.notFound = o.templates.notFound || o.templates.empty;\n            if (!o.source) {\n                $.error(\"missing source\");\n            }\n            if (!o.node) {\n                $.error(\"missing node\");\n            }\n            if (o.name &amp;&amp; !isValidName(o.name)) {\n                $.error(\"invalid dataset name: \" + o.name);\n            }\n            www.mixin(this);\n            this.highlight = !!o.highlight;\n            this.name = _.toStr(o.name || nameGenerator());\n            this.limit = o.limit || 5;\n            this.displayFn = getDisplayFn(o.display || o.displayKey);\n            this.templates = getTemplates(o.templates, this.displayFn);\n            this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source;\n            this.async = _.isUndefined(o.async) ? this.source.length &gt; 2 : !!o.async;\n            this._resetLastSuggestion();\n            this.$el = $(o.node).attr(\"role\", \"presentation\").addClass(this.classes.dataset).addClass(this.classes.dataset + \"-\" + this.name);\n        }\n        Dataset.extractData = function extractData(el) {\n            var $el = $(el);\n            if ($el.data(keys.obj)) {\n                return {\n                    dataset: $el.data(keys.dataset) || \"\",\n                    val: $el.data(keys.val) || \"\",\n                    obj: $el.data(keys.obj) || null\n                };\n            }\n            return null;\n        };\n        _.mixin(Dataset.prototype, EventEmitter, {\n            _overwrite: function overwrite(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (this.async &amp;&amp; this.templates.pending) {\n                    this._renderPending(query);\n                } else if (!this.async &amp;&amp; this.templates.notFound) {\n                    this._renderNotFound(query);\n                } else {\n                    this._empty();\n                }\n                this.trigger(\"rendered\", suggestions, false, this.name);\n            },\n            _append: function append(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length &amp;&amp; this.$lastSuggestion.length) {\n                    this._appendSuggestions(query, suggestions);\n                } else if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (!this.$lastSuggestion.length &amp;&amp; this.templates.notFound) {\n                    this._renderNotFound(query);\n                }\n                this.trigger(\"rendered\", suggestions, true, this.name);\n            },\n            _renderSuggestions: function renderSuggestions(query, suggestions) {\n                var $fragment;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                this.$lastSuggestion = $fragment.children().last();\n                this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions));\n            },\n            _appendSuggestions: function appendSuggestions(query, suggestions) {\n                var $fragment, $lastSuggestion;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                $lastSuggestion = $fragment.children().last();\n                this.$lastSuggestion.after($fragment);\n                this.$lastSuggestion = $lastSuggestion;\n            },\n            _renderPending: function renderPending(query) {\n                var template = this.templates.pending;\n                this._resetLastSuggestion();\n                template &amp;&amp; this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _renderNotFound: function renderNotFound(query) {\n                var template = this.templates.notFound;\n                this._resetLastSuggestion();\n                template &amp;&amp; this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _empty: function empty() {\n                this.$el.empty();\n                this._resetLastSuggestion();\n            },\n            _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) {\n                var that = this, fragment;\n                fragment = document.createDocumentFragment();\n                _.each(suggestions, function getSuggestionNode(suggestion) {\n                    var $el, context;\n                    context = that._injectQuery(query, suggestion);\n                    $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + \" \" + that.classes.selectable);\n                    fragment.appendChild($el[0]);\n                });\n                this.highlight &amp;&amp; highlight({\n                    className: this.classes.highlight,\n                    node: fragment,\n                    pattern: query\n                });\n                return $(fragment);\n            },\n            _getFooter: function getFooter(query, suggestions) {\n                return this.templates.footer ? this.templates.footer({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _getHeader: function getHeader(query, suggestions) {\n                return this.templates.header ? this.templates.header({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _resetLastSuggestion: function resetLastSuggestion() {\n                this.$lastSuggestion = $();\n            },\n            _injectQuery: function injectQuery(query, obj) {\n                return _.isObject(obj) ? _.mixin({\n                    _query: query\n                }, obj) : obj;\n            },\n            update: function update(query) {\n                var that = this, canceled = false, syncCalled = false, rendered = 0;\n                this.cancel();\n                this.cancel = function cancel() {\n                    canceled = true;\n                    that.cancel = $.noop;\n                    that.async &amp;&amp; that.trigger(\"asyncCanceled\", query, that.name);\n                };\n                this.source(query, sync, async);\n                !syncCalled &amp;&amp; sync([]);\n                function sync(suggestions) {\n                    if (syncCalled) {\n                        return;\n                    }\n                    syncCalled = true;\n                    suggestions = (suggestions || []).slice(0, that.limit);\n                    rendered = suggestions.length;\n                    that._overwrite(query, suggestions);\n                    if (rendered &lt; that.limit &amp;&amp; that.async) {\n                        that.trigger(\"asyncRequested\", query, that.name);\n                    }\n                }\n                function async(suggestions) {\n                    suggestions = suggestions || [];\n                    if (!canceled &amp;&amp; rendered &lt; that.limit) {\n                        that.cancel = $.noop;\n                        var idx = Math.abs(rendered - that.limit);\n                        rendered += idx;\n                        that._append(query, suggestions.slice(0, idx));\n                        that.async &amp;&amp; that.trigger(\"asyncReceived\", query, that.name);\n                    }\n                }\n            },\n            cancel: $.noop,\n            clear: function clear() {\n                this._empty();\n                this.cancel();\n                this.trigger(\"cleared\");\n            },\n            isEmpty: function isEmpty() {\n                return this.$el.is(\":empty\");\n            },\n            destroy: function destroy() {\n                this.$el = $(\"&lt;div&gt;\");\n            }\n        });\n        return Dataset;\n        function getDisplayFn(display) {\n            display = display || _.stringify;\n            return _.isFunction(display) ? display : displayFn;\n            function displayFn(obj) {\n                return obj[display];\n            }\n        }\n        function getTemplates(templates, displayFn) {\n            return {\n                notFound: templates.notFound &amp;&amp; _.templatify(templates.notFound),\n                pending: templates.pending &amp;&amp; _.templatify(templates.pending),\n                header: templates.header &amp;&amp; _.templatify(templates.header),\n                footer: templates.footer &amp;&amp; _.templatify(templates.footer),\n                suggestion: templates.suggestion || suggestionTemplate\n            };\n            function suggestionTemplate(context) {\n                return $('&lt;div role=\"option\"&gt;').attr(\"id\", _.guid()).text(displayFn(context));\n            }\n        }\n        function isValidName(str) {\n            return /^[_a-zA-Z0-9-]+$/.test(str);\n        }\n    }();\n    var Menu = function() {\n        \"use strict\";\n        function Menu(o, www) {\n            var that = this;\n            o = o || {};\n            if (!o.node) {\n                $.error(\"node is required\");\n            }\n            www.mixin(this);\n            this.$node = $(o.node);\n            this.query = null;\n            this.datasets = _.map(o.datasets, initializeDataset);\n            function initializeDataset(oDataset) {\n                var node = that.$node.find(oDataset.node).first();\n                oDataset.node = node.length ? node : $(\"&lt;div&gt;\").appendTo(that.$node);\n                return new Dataset(oDataset, www);\n            }\n        }\n        _.mixin(Menu.prototype, EventEmitter, {\n            _onSelectableClick: function onSelectableClick($e) {\n                this.trigger(\"selectableClicked\", $($e.currentTarget));\n            },\n            _onRendered: function onRendered(type, dataset, suggestions, async) {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetRendered\", dataset, suggestions, async);\n            },\n            _onCleared: function onCleared() {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetCleared\");\n            },\n            _propagate: function propagate() {\n                this.trigger.apply(this, arguments);\n            },\n            _allDatasetsEmpty: function allDatasetsEmpty() {\n                return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) {\n                    var isEmpty = dataset.isEmpty();\n                    this.$node.attr(\"aria-expanded\", !isEmpty);\n                    return isEmpty;\n                }, this));\n            },\n            _getSelectables: function getSelectables() {\n                return this.$node.find(this.selectors.selectable);\n            },\n            _removeCursor: function _removeCursor() {\n                var $selectable = this.getActiveSelectable();\n                $selectable &amp;&amp; $selectable.removeClass(this.classes.cursor);\n            },\n            _ensureVisible: function ensureVisible($el) {\n                var elTop, elBottom, nodeScrollTop, nodeHeight;\n                elTop = $el.position().top;\n                elBottom = elTop + $el.outerHeight(true);\n                nodeScrollTop = this.$node.scrollTop();\n                nodeHeight = this.$node.height() + parseInt(this.$node.css(\"paddingTop\"), 10) + parseInt(this.$node.css(\"paddingBottom\"), 10);\n                if (elTop &lt; 0) {\n                    this.$node.scrollTop(nodeScrollTop + elTop);\n                } else if (nodeHeight &lt; elBottom) {\n                    this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight));\n                }\n            },\n            bind: function() {\n                var that = this, onSelectableClick;\n                onSelectableClick = _.bind(this._onSelectableClick, this);\n                this.$node.on(\"click.tt\", this.selectors.selectable, onSelectableClick);\n                this.$node.on(\"mouseover\", this.selectors.selectable, function() {\n                    that.setCursor($(this));\n                });\n                this.$node.on(\"mouseleave\", function() {\n                    that._removeCursor();\n                });\n                _.each(this.datasets, function(dataset) {\n                    dataset.onSync(\"asyncRequested\", that._propagate, that).onSync(\"asyncCanceled\", that._propagate, that).onSync(\"asyncReceived\", that._propagate, that).onSync(\"rendered\", that._onRendered, that).onSync(\"cleared\", that._onCleared, that);\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                return this.$node.hasClass(this.classes.open);\n            },\n            open: function open() {\n                this.$node.scrollTop(0);\n                this.$node.addClass(this.classes.open);\n            },\n            close: function close() {\n                this.$node.attr(\"aria-expanded\", false);\n                this.$node.removeClass(this.classes.open);\n                this._removeCursor();\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.attr(\"dir\", dir);\n            },\n            selectableRelativeToCursor: function selectableRelativeToCursor(delta) {\n                var $selectables, $oldCursor, oldIndex, newIndex;\n                $oldCursor = this.getActiveSelectable();\n                $selectables = this._getSelectables();\n                oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1;\n                newIndex = oldIndex + delta;\n                newIndex = (newIndex + 1) % ($selectables.length + 1) - 1;\n                newIndex = newIndex &lt; -1 ? $selectables.length - 1 : newIndex;\n                return newIndex === -1 ? null : $selectables.eq(newIndex);\n            },\n            setCursor: function setCursor($selectable) {\n                this._removeCursor();\n                if ($selectable = $selectable &amp;&amp; $selectable.first()) {\n                    $selectable.addClass(this.classes.cursor);\n                    this._ensureVisible($selectable);\n                }\n            },\n            getSelectableData: function getSelectableData($el) {\n                return $el &amp;&amp; $el.length ? Dataset.extractData($el) : null;\n            },\n            getActiveSelectable: function getActiveSelectable() {\n                var $selectable = this._getSelectables().filter(this.selectors.cursor).first();\n                return $selectable.length ? $selectable : null;\n            },\n            getTopSelectable: function getTopSelectable() {\n                var $selectable = this._getSelectables().first();\n                return $selectable.length ? $selectable : null;\n            },\n            update: function update(query) {\n                var isValidUpdate = query !== this.query;\n                if (isValidUpdate) {\n                    this.query = query;\n                    _.each(this.datasets, updateDataset);\n                }\n                return isValidUpdate;\n                function updateDataset(dataset) {\n                    dataset.update(query);\n                }\n            },\n            empty: function empty() {\n                _.each(this.datasets, clearDataset);\n                this.query = null;\n                this.$node.addClass(this.classes.empty);\n                function clearDataset(dataset) {\n                    dataset.clear();\n                }\n            },\n            destroy: function destroy() {\n                this.$node.off(\".tt\");\n                this.$node = $(\"&lt;div&gt;\");\n                _.each(this.datasets, destroyDataset);\n                function destroyDataset(dataset) {\n                    dataset.destroy();\n                }\n            }\n        });\n        return Menu;\n    }();\n    var Status = function() {\n        \"use strict\";\n        function Status(options) {\n            this.$el = $(\"&lt;span&gt;&lt;/span&gt;\", {\n                role: \"status\",\n                \"aria-live\": \"polite\"\n            }).css({\n                position: \"absolute\",\n                padding: \"0\",\n                border: \"0\",\n                height: \"1px\",\n                width: \"1px\",\n                \"margin-bottom\": \"-1px\",\n                \"margin-right\": \"-1px\",\n                overflow: \"hidden\",\n                clip: \"rect(0 0 0 0)\",\n                \"white-space\": \"nowrap\"\n            });\n            options.$input.after(this.$el);\n            _.each(options.menu.datasets, _.bind(function(dataset) {\n                if (dataset.onSync) {\n                    dataset.onSync(\"rendered\", _.bind(this.update, this));\n                    dataset.onSync(\"cleared\", _.bind(this.cleared, this));\n                }\n            }, this));\n        }\n        _.mixin(Status.prototype, {\n            update: function update(event, suggestions) {\n                var length = suggestions.length;\n                var words;\n                if (length === 1) {\n                    words = {\n                        result: \"result\",\n                        is: \"is\"\n                    };\n                } else {\n                    words = {\n                        result: \"results\",\n                        is: \"are\"\n                    };\n                }\n                this.$el.text(length + \" \" + words.result + \" \" + words.is + \" available, use up and down arrow keys to navigate.\");\n            },\n            cleared: function() {\n                this.$el.text(\"\");\n            }\n        });\n        return Status;\n    }();\n    var DefaultMenu = function() {\n        \"use strict\";\n        var s = Menu.prototype;\n        function DefaultMenu() {\n            Menu.apply(this, [].slice.call(arguments, 0));\n        }\n        _.mixin(DefaultMenu.prototype, Menu.prototype, {\n            open: function open() {\n                !this._allDatasetsEmpty() &amp;&amp; this._show();\n                return s.open.apply(this, [].slice.call(arguments, 0));\n            },\n            close: function close() {\n                this._hide();\n                return s.close.apply(this, [].slice.call(arguments, 0));\n            },\n            _onRendered: function onRendered() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() &amp;&amp; this._show();\n                }\n                return s._onRendered.apply(this, [].slice.call(arguments, 0));\n            },\n            _onCleared: function onCleared() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() &amp;&amp; this._show();\n                }\n                return s._onCleared.apply(this, [].slice.call(arguments, 0));\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.css(dir === \"ltr\" ? this.css.ltr : this.css.rtl);\n                return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0));\n            },\n            _hide: function hide() {\n                this.$node.hide();\n            },\n            _show: function show() {\n                this.$node.css(\"display\", \"block\");\n            }\n        });\n        return DefaultMenu;\n    }();\n    var Typeahead = function() {\n        \"use strict\";\n        function Typeahead(o, www) {\n            var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged;\n            o = o || {};\n            if (!o.input) {\n                $.error(\"missing input\");\n            }\n            if (!o.menu) {\n                $.error(\"missing menu\");\n            }\n            if (!o.eventBus) {\n                $.error(\"missing event bus\");\n            }\n            www.mixin(this);\n            this.eventBus = o.eventBus;\n            this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;\n            this.input = o.input;\n            this.menu = o.menu;\n            this.enabled = true;\n            this.autoselect = !!o.autoselect;\n            this.active = false;\n            this.input.hasFocus() &amp;&amp; this.activate();\n            this.dir = this.input.getLangDir();\n            this._hacks();\n            this.menu.bind().onSync(\"selectableClicked\", this._onSelectableClicked, this).onSync(\"asyncRequested\", this._onAsyncRequested, this).onSync(\"asyncCanceled\", this._onAsyncCanceled, this).onSync(\"asyncReceived\", this._onAsyncReceived, this).onSync(\"datasetRendered\", this._onDatasetRendered, this).onSync(\"datasetCleared\", this._onDatasetCleared, this);\n            onFocused = c(this, \"activate\", \"open\", \"_onFocused\");\n            onBlurred = c(this, \"deactivate\", \"_onBlurred\");\n            onEnterKeyed = c(this, \"isActive\", \"isOpen\", \"_onEnterKeyed\");\n            onTabKeyed = c(this, \"isActive\", \"isOpen\", \"_onTabKeyed\");\n            onEscKeyed = c(this, \"isActive\", \"_onEscKeyed\");\n            onUpKeyed = c(this, \"isActive\", \"open\", \"_onUpKeyed\");\n            onDownKeyed = c(this, \"isActive\", \"open\", \"_onDownKeyed\");\n            onLeftKeyed = c(this, \"isActive\", \"isOpen\", \"_onLeftKeyed\");\n            onRightKeyed = c(this, \"isActive\", \"isOpen\", \"_onRightKeyed\");\n            onQueryChanged = c(this, \"_openIfActive\", \"_onQueryChanged\");\n            onWhitespaceChanged = c(this, \"_openIfActive\", \"_onWhitespaceChanged\");\n            this.input.bind().onSync(\"focused\", onFocused, this).onSync(\"blurred\", onBlurred, this).onSync(\"enterKeyed\", onEnterKeyed, this).onSync(\"tabKeyed\", onTabKeyed, this).onSync(\"escKeyed\", onEscKeyed, this).onSync(\"upKeyed\", onUpKeyed, this).onSync(\"downKeyed\", onDownKeyed, this).onSync(\"leftKeyed\", onLeftKeyed, this).onSync(\"rightKeyed\", onRightKeyed, this).onSync(\"queryChanged\", onQueryChanged, this).onSync(\"whitespaceChanged\", onWhitespaceChanged, this).onSync(\"langDirChanged\", this._onLangDirChanged, this);\n        }\n        _.mixin(Typeahead.prototype, {\n            _hacks: function hacks() {\n                var $input, $menu;\n                $input = this.input.$input || $(\"&lt;div&gt;\");\n                $menu = this.menu.$node || $(\"&lt;div&gt;\");\n                $input.on(\"blur.tt\", function($e) {\n                    var active, isActive, hasActive;\n                    active = document.activeElement;\n                    isActive = $menu.is(active);\n                    hasActive = $menu.has(active).length &gt; 0;\n                    if (_.isMsie() &amp;&amp; (isActive || hasActive)) {\n                        $e.preventDefault();\n                        $e.stopImmediatePropagation();\n                        _.defer(function() {\n                            $input.focus();\n                        });\n                    }\n                });\n                $menu.on(\"mousedown.tt\", function($e) {\n                    $e.preventDefault();\n                });\n            },\n            _onSelectableClicked: function onSelectableClicked(type, $el) {\n                this.select($el);\n            },\n            _onDatasetCleared: function onDatasetCleared() {\n                this._updateHint();\n            },\n            _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {\n                this._updateHint();\n                if (this.autoselect) {\n                    var cursorClass = this.selectors.cursor.substr(1);\n                    this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);\n                }\n                this.eventBus.trigger(\"render\", suggestions, async, dataset);\n            },\n            _onAsyncRequested: function onAsyncRequested(type, dataset, query) {\n                this.eventBus.trigger(\"asyncrequest\", query, dataset);\n            },\n            _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) {\n                this.eventBus.trigger(\"asynccancel\", query, dataset);\n            },\n            _onAsyncReceived: function onAsyncReceived(type, dataset, query) {\n                this.eventBus.trigger(\"asyncreceive\", query, dataset);\n            },\n            _onFocused: function onFocused() {\n                this._minLengthMet() &amp;&amp; this.menu.update(this.input.getQuery());\n            },\n            _onBlurred: function onBlurred() {\n                if (this.input.hasQueryChangedSinceLastFocus()) {\n                    this.eventBus.trigger(\"change\", this.input.getQuery());\n                }\n            },\n            _onEnterKeyed: function onEnterKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    if (this.select($selectable)) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                } else if (this.autoselect) {\n                    if (this.select(this.menu.getTopSelectable())) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                }\n            },\n            _onTabKeyed: function onTabKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    this.select($selectable) &amp;&amp; $e.preventDefault();\n                } else if ($selectable = this.menu.getTopSelectable()) {\n                    this.autocomplete($selectable) &amp;&amp; $e.preventDefault();\n                }\n            },\n            _onEscKeyed: function onEscKeyed() {\n                this.close();\n            },\n            _onUpKeyed: function onUpKeyed() {\n                this.moveCursor(-1);\n            },\n            _onDownKeyed: function onDownKeyed() {\n                this.moveCursor(+1);\n            },\n            _onLeftKeyed: function onLeftKeyed() {\n                if (this.dir === \"rtl\" &amp;&amp; this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onRightKeyed: function onRightKeyed() {\n                if (this.dir === \"ltr\" &amp;&amp; this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onQueryChanged: function onQueryChanged(e, query) {\n                this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty();\n            },\n            _onWhitespaceChanged: function onWhitespaceChanged() {\n                this._updateHint();\n            },\n            _onLangDirChanged: function onLangDirChanged(e, dir) {\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.menu.setLanguageDirection(dir);\n                }\n            },\n            _openIfActive: function openIfActive() {\n                this.isActive() &amp;&amp; this.open();\n            },\n            _minLengthMet: function minLengthMet(query) {\n                query = _.isString(query) ? query : this.input.getQuery() || \"\";\n                return query.length &gt;= this.minLength;\n            },\n            _updateHint: function updateHint() {\n                var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match;\n                $selectable = this.menu.getTopSelectable();\n                data = this.menu.getSelectableData($selectable);\n                val = this.input.getInputValue();\n                if (data &amp;&amp; !_.isBlankString(val) &amp;&amp; !this.input.hasOverflow()) {\n                    query = Input.normalizeQuery(val);\n                    escapedQuery = _.escapeRegExChars(query);\n                    frontMatchRegEx = new RegExp(\"^(?:\" + escapedQuery + \")(.+$)\", \"i\");\n                    match = frontMatchRegEx.exec(data.val);\n                    match &amp;&amp; this.input.setHint(val + match[1]);\n                } else {\n                    this.input.clearHint();\n                }\n            },\n            isEnabled: function isEnabled() {\n                return this.enabled;\n            },\n            enable: function enable() {\n                this.enabled = true;\n            },\n            disable: function disable() {\n                this.enabled = false;\n            },\n            isActive: function isActive() {\n                return this.active;\n            },\n            activate: function activate() {\n                if (this.isActive()) {\n                    return true;\n                } else if (!this.isEnabled() || this.eventBus.before(\"active\")) {\n                    return false;\n                } else {\n                    this.active = true;\n                    this.eventBus.trigger(\"active\");\n                    return true;\n                }\n            },\n            deactivate: function deactivate() {\n                if (!this.isActive()) {\n                    return true;\n                } else if (this.eventBus.before(\"idle\")) {\n                    return false;\n                } else {\n                    this.active = false;\n                    this.close();\n                    this.eventBus.trigger(\"idle\");\n                    return true;\n                }\n            },\n            isOpen: function isOpen() {\n                return this.menu.isOpen();\n            },\n            open: function open() {\n                if (!this.isOpen() &amp;&amp; !this.eventBus.before(\"open\")) {\n                    this.menu.open();\n                    this._updateHint();\n                    this.eventBus.trigger(\"open\");\n                }\n                return this.isOpen();\n            },\n            close: function close() {\n                if (this.isOpen() &amp;&amp; !this.eventBus.before(\"close\")) {\n                    this.menu.close();\n                    this.input.clearHint();\n                    this.input.resetInputValue();\n                    this.eventBus.trigger(\"close\");\n                }\n                return !this.isOpen();\n            },\n            setVal: function setVal(val) {\n                this.input.setQuery(_.toStr(val));\n            },\n            getVal: function getVal() {\n                return this.input.getQuery();\n            },\n            select: function select($selectable) {\n                var data = this.menu.getSelectableData($selectable);\n                if (data &amp;&amp; !this.eventBus.before(\"select\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val, true);\n                    this.eventBus.trigger(\"select\", data.obj, data.dataset);\n                    this.close();\n                    return true;\n                }\n                return false;\n            },\n            autocomplete: function autocomplete($selectable) {\n                var query, data, isValid;\n                query = this.input.getQuery();\n                data = this.menu.getSelectableData($selectable);\n                isValid = data &amp;&amp; query !== data.val;\n                if (isValid &amp;&amp; !this.eventBus.before(\"autocomplete\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val);\n                    this.eventBus.trigger(\"autocomplete\", data.obj, data.dataset);\n                    return true;\n                }\n                return false;\n            },\n            moveCursor: function moveCursor(delta) {\n                var query, $candidate, data, suggestion, datasetName, cancelMove, id;\n                query = this.input.getQuery();\n                $candidate = this.menu.selectableRelativeToCursor(delta);\n                data = this.menu.getSelectableData($candidate);\n                suggestion = data ? data.obj : null;\n                datasetName = data ? data.dataset : null;\n                id = $candidate ? $candidate.attr(\"id\") : null;\n                this.input.trigger(\"cursorchange\", id);\n                cancelMove = this._minLengthMet() &amp;&amp; this.menu.update(query);\n                if (!cancelMove &amp;&amp; !this.eventBus.before(\"cursorchange\", suggestion, datasetName)) {\n                    this.menu.setCursor($candidate);\n                    if (data) {\n                        this.input.setInputValue(data.val);\n                    } else {\n                        this.input.resetInputValue();\n                        this._updateHint();\n                    }\n                    this.eventBus.trigger(\"cursorchange\", suggestion, datasetName);\n                    return true;\n                }\n                return false;\n            },\n            destroy: function destroy() {\n                this.input.destroy();\n                this.menu.destroy();\n            }\n        });\n        return Typeahead;\n        function c(ctx) {\n            var methods = [].slice.call(arguments, 1);\n            return function() {\n                var args = [].slice.call(arguments);\n                _.each(methods, function(method) {\n                    return ctx[method].apply(ctx, args);\n                });\n            };\n        }\n    }();\n    (function() {\n        \"use strict\";\n        var old, keys, methods;\n        old = $.fn.typeahead;\n        keys = {\n            www: \"tt-www\",\n            attrs: \"tt-attrs\",\n            typeahead: \"tt-typeahead\"\n        };\n        methods = {\n            initialize: function initialize(o, datasets) {\n                var www;\n                datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);\n                o = o || {};\n                www = WWW(o.classNames);\n                return this.each(attach);\n                function attach() {\n                    var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;\n                    _.each(datasets, function(d) {\n                        d.highlight = !!o.highlight;\n                    });\n                    $input = $(this);\n                    $wrapper = $(www.html.wrapper);\n                    $hint = $elOrNull(o.hint);\n                    $menu = $elOrNull(o.menu);\n                    defaultHint = o.hint !== false &amp;&amp; !$hint;\n                    defaultMenu = o.menu !== false &amp;&amp; !$menu;\n                    defaultHint &amp;&amp; ($hint = buildHintFromInput($input, www));\n                    defaultMenu &amp;&amp; ($menu = $(www.html.menu).css(www.css.menu));\n                    $hint &amp;&amp; $hint.val(\"\");\n                    $input = prepInput($input, www);\n                    if (defaultHint || defaultMenu) {\n                        $wrapper.css(www.css.wrapper);\n                        $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint);\n                        $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null);\n                    }\n                    MenuConstructor = defaultMenu ? DefaultMenu : Menu;\n                    eventBus = new EventBus({\n                        el: $input\n                    });\n                    input = new Input({\n                        hint: $hint,\n                        input: $input\n                    }, www);\n                    menu = new MenuConstructor({\n                        node: $menu,\n                        datasets: datasets\n                    }, www);\n                    status = new Status({\n                        $input: $input,\n                        menu: menu\n                    });\n                    typeahead = new Typeahead({\n                        input: input,\n                        menu: menu,\n                        eventBus: eventBus,\n                        minLength: o.minLength,\n                        autoselect: o.autoselect\n                    }, www);\n                    $input.data(keys.www, www);\n                    $input.data(keys.typeahead, typeahead);\n                }\n            },\n            isEnabled: function isEnabled() {\n                var enabled;\n                ttEach(this.first(), function(t) {\n                    enabled = t.isEnabled();\n                });\n                return enabled;\n            },\n            enable: function enable() {\n                ttEach(this, function(t) {\n                    t.enable();\n                });\n                return this;\n            },\n            disable: function disable() {\n                ttEach(this, function(t) {\n                    t.disable();\n                });\n                return this;\n            },\n            isActive: function isActive() {\n                var active;\n                ttEach(this.first(), function(t) {\n                    active = t.isActive();\n                });\n                return active;\n            },\n            activate: function activate() {\n                ttEach(this, function(t) {\n                    t.activate();\n                });\n                return this;\n            },\n            deactivate: function deactivate() {\n                ttEach(this, function(t) {\n                    t.deactivate();\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                var open;\n                ttEach(this.first(), function(t) {\n                    open = t.isOpen();\n                });\n                return open;\n            },\n            open: function open() {\n                ttEach(this, function(t) {\n                    t.open();\n                });\n                return this;\n            },\n            close: function close() {\n                ttEach(this, function(t) {\n                    t.close();\n                });\n                return this;\n            },\n            select: function select(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.select($el);\n                });\n                return success;\n            },\n            autocomplete: function autocomplete(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.autocomplete($el);\n                });\n                return success;\n            },\n            moveCursor: function moveCursoe(delta) {\n                var success = false;\n                ttEach(this.first(), function(t) {\n                    success = t.moveCursor(delta);\n                });\n                return success;\n            },\n            val: function val(newVal) {\n                var query;\n                if (!arguments.length) {\n                    ttEach(this.first(), function(t) {\n                        query = t.getVal();\n                    });\n                    return query;\n                } else {\n                    ttEach(this, function(t) {\n                        t.setVal(_.toStr(newVal));\n                    });\n                    return this;\n                }\n            },\n            destroy: function destroy() {\n                ttEach(this, function(typeahead, $input) {\n                    revert($input);\n                    typeahead.destroy();\n                });\n                return this;\n            }\n        };\n        $.fn.typeahead = function(method) {\n            if (methods[method]) {\n                return methods[method].apply(this, [].slice.call(arguments, 1));\n            } else {\n                return methods.initialize.apply(this, arguments);\n            }\n        };\n        $.fn.typeahead.noConflict = function noConflict() {\n            $.fn.typeahead = old;\n            return this;\n        };\n        function ttEach($els, fn) {\n            $els.each(function() {\n                var $input = $(this), typeahead;\n                (typeahead = $input.data(keys.typeahead)) &amp;&amp; fn(typeahead, $input);\n            });\n        }\n        function buildHintFromInput($input, www) {\n            return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({\n                readonly: true,\n                required: false\n            }).removeAttr(\"id name placeholder\").removeClass(\"required\").attr({\n                spellcheck: \"false\",\n                tabindex: -1\n            });\n        }\n        function prepInput($input, www) {\n            $input.data(keys.attrs, {\n                dir: $input.attr(\"dir\"),\n                autocomplete: $input.attr(\"autocomplete\"),\n                spellcheck: $input.attr(\"spellcheck\"),\n                style: $input.attr(\"style\")\n            });\n            $input.addClass(www.classes.input).attr({\n                spellcheck: false\n            });\n            try {\n                !$input.attr(\"dir\") &amp;&amp; $input.attr(\"dir\", \"auto\");\n            } catch (e) {}\n            return $input;\n        }\n        function getBackgroundStyles($el) {\n            return {\n                backgroundAttachment: $el.css(\"background-attachment\"),\n                backgroundClip: $el.css(\"background-clip\"),\n                backgroundColor: $el.css(\"background-color\"),\n                backgroundImage: $el.css(\"background-image\"),\n                backgroundOrigin: $el.css(\"background-origin\"),\n                backgroundPosition: $el.css(\"background-position\"),\n                backgroundRepeat: $el.css(\"background-repeat\"),\n                backgroundSize: $el.css(\"background-size\")\n            };\n        }\n        function revert($input) {\n            var www, $wrapper;\n            www = $input.data(keys.www);\n            $wrapper = $input.parent().filter(www.selectors.wrapper);\n            _.each($input.data(keys.attrs), function(val, key) {\n                _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);\n            });\n            $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input);\n            if ($wrapper.length) {\n                $input.detach().insertAfter($wrapper);\n                $wrapper.remove();\n            }\n        }\n        function $elOrNull(obj) {\n            var isValid, $el;\n            isValid = _.isJQuery(obj) || _.isElement(obj);\n            $el = isValid ? $(obj).first() : [];\n            return $el.length ? $el : null;\n        }\n    })();\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-12-11 16:53:30&lt;/sys_created_on&gt;&lt;sys_id&gt;a2b7a31cdb4f83004e5cfa131f9619e9&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;typeahead.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_a2b7a31cdb4f83004e5cfa131f9619e9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-07 11:21:09&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1912797290</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>b9b41493dbeda7004e5cfa131f9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ede798190000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>typeahead.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>03f107769ea1ef00f5c9492a8e2e291e</update_guid>\n<update_guid_history>03f107769ea1ef00f5c9492a8e2e291e:-1912797290,1cdc76be1b61ef00f419cb7aa490f0f9:1410276709,f88c327e2561ef00bbd3d97ca6c50e2e:499056300,14dc9034e06de700e1644f1a65ab79d5:-157524525,bacc9034946de7006999fb2c07090ea3:1403168776,11f5055095096f0013aa04507c46b0db:-157524525,33b5c51038096f001df5e0387d988c53:40964460,90d7231cb94f830057b747021b6dd8dd:-1457944385</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_f1151f22dbc3530086da7d5e0f9619c8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>typeahead_demo</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-07-05 11:29:18</sys_created_on><sys_id>f1151f22dbc3530086da7d5e0f9619c8</sys_id><sys_mod_count>1</sys_mod_count><sys_name>typeahead_demo</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_page_f1151f22dbc3530086da7d5e0f9619c8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-07 12:29:57</sys_updated_on><title>typeahead_demo</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f1151f22dbc3530086da7d5e0f9619c8\"/></record_update>]]></payload>\n<payload_hash>-331935113</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>bdb41493dbeda7004e5cfa131f9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ee2693b30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>typeahead_demo</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>f6b19bfa77e1ef00afd774a7aafb1a65</update_guid>\n<update_guid_history>f6b19bfa77e1ef00afd774a7aafb1a65:-331935113,6f15d72290c35300443fc299c73bc8b9:-1626323935</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_004e3e26db25af0086da7d5e0f9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Fabio Test - Container 2</name><order>2</order><sp_page display_value=\"fabio_test\">f1151f22dbc3530086da7d5e0f9619c8</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2018-11-06 16:26:21</sys_created_on><sys_id>004e3e26db25af0086da7d5e0f9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Fabio Test - Container 2</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_004e3e26db25af0086da7d5e0f9619a0</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-06 16:26:21</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>685128088</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>f1b41493dbeda7004e5cfa131f9619be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ea657d9f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>Fabio Test - Container 2</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>dd71a7e2b7a5af00ae830e4f272546e0</update_guid>\n<update_guid_history>dd71a7e2b7a5af00ae830e4f272546e0:685128088,844e3e266c25af00859c301556a22ea1:-19198172</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_9ed7a31cdb4f83004e5cfa131f9619fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Typeahead Deps\">7167231cdb4f83004e5cfa131f96198c</sp_dependency><sp_js_include display_value=\"typeahead.js\">dcb7a31cdb4f83004e5cfa131f961983</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-11 16:53:39</sys_created_on><sys_id>9ed7a31cdb4f83004e5cfa131f9619fd</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Typeahead Deps.typeahead.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_9ed7a31cdb4f83004e5cfa131f9619fd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-10-31 18:11:12</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>735855875</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>f5b41493dbeda7004e5cfa131f9619bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166cb527da60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>PE Typeahead Deps.typeahead.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>21bc5034d06de70054f8f0b4b94ed943</update_guid>\n<update_guid_history>21bc5034d06de70054f8f0b4b94ed943:735855875,acbcdcf0766de700c44c213f9163e36e:2096326114,a2d7a31ca34f8300adf8db87f56b47ff:-1828688151</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_58353a54db0f83004e5cfa131f9619c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category/&gt;&lt;client_script&gt;&lt;![CDATA[function PeRestTypeaheadController($rootScope, $scope) {\n  var c = this;\n  c.idName = 'pe-rest-typeahead-search' + c.data.widget_sys_id;\n\n  c.$onInit = function () {\n    c.apiUrl = c.data.uri + 'api/now/table/' + c.options.table +\n      '?sysparm_display_value=true&amp;sysparm_fields=sys_id,' + c.options.query_field + ',' + c.options.display_field +\n      '&amp;sysparm_limit=' + c.options.limit_result;\n    c.fieldCondition = '';\n\n    if ((c.options.order_direction == 'asc' || !c.options.order_direction) &amp;&amp; c.options.order_by &amp;&amp; c.options.order_by.length &gt; 0)\n      c.fieldCondition = '^ORDERBY' + c.options.order_by + '^';\n    if (c.options.order_direction == 'desc' &amp;&amp; c.options.order_by &amp;&amp; c.options.order_by.length &gt; 0)\n      c.fieldCondition = '^ORDERBYDESC' + c.options.order_by + '^';\n\n    c.fieldCondition = c.fieldCondition + c.options.filter + '^' + c.options.query_field + 'LIKE';\n\n    c.selected = false;\n    c.typing = false;\n\t\tconsole.log($scope);\n  };\n\n  c.selectRecord = function (obj) {\n\t\tconsole.log('selected -&gt; ',obj);\n    $rootScope.$broadcast('pe-typeahead-selection', obj);\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-rest-typeahead-font-size: $font-size-large !default;\n$pe-rest-typeahead-text-color: $text-color !default;\n$pe-rest-typeahead-input-height: $input-height-large !default;\n$pe-rest-typeahead-bg: white !default;\n$pe-rest-typeahead-placeholder-color: lighten($pe-rest-typeahead-text-color, 30%) !default;\n$pe-rest-typeahead-max-width: 400px !default;\n$pe-rest-typeahead-dim-opacity: 0.8 !default;\n$pe-rest-typeahead-border-color: #82b2a0 !default;\n$pe-rest-typeahead-border-radius: 0px !default;\n$pe-rest-typeahead-border: 0.5px !default;\n$pe-rest-typeahead-hover-color: white !default;\n$pe-rest-typeahead-hover-bg: #82b2a0 !default;\n\n.pe-rest-typeahead-search {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.pe-rest-typeahead-search__container {\n  position: relative;\n  width: 100%;\n  max-width: $pe-rest-typeahead-max-width;\n}\n\n.pe-rest-typeahead-search__input {\n  padding: $padding-base-vertical 25px $padding-base-vertical 35px;\n  box-shadow: none;\n  background: unset !important;\n  background-color: $pe-rest-typeahead-bg !important;\n}\n\n/* default using SASS */\n.pe-rest-typeahead-search,\n.pe-rest-typeahead-search-default {\n  .tt-suggestion:hover {\n    background-color: $pe-rest-typeahead-hover-bg;\n  }\n\n  .tt-dataset {\n    border: $pe-rest-typeahead-border solid $pe-rest-typeahead-border-color;\n  }\n\n  .form-control {\n    border: $pe-rest-typeahead-border solid $pe-rest-typeahead-border-color;\n    border-radius: $pe-rest-typeahead-border-radius;\n    font-size: $pe-rest-typeahead-font-size;\n    height: $pe-rest-typeahead-input-height;\n  }\n\n  .form-control:focus {\n    outline: 0;\n    border-color: $pe-rest-typeahead-border-color;\n    box-shadow: none;\n  }\n\n  .pe-rest-typeahead-icon {\n    color: $pe-rest-typeahead-border-color;\n  }\n\n  ::placeholder {\n    /* Chrome, Firefox, Opera, Safari 10.1+ */\n    color: $pe-rest-typeahead-placeholder-color;\n    /* Firefox */\n  }\n\n  :-ms-input-placeholder {\n    /* Internet Explorer 10-11 */\n    color: $pe-rest-typeahead-placeholder-color;\n  }\n\n  ::-ms-input-placeholder {\n    /* Microsoft Edge */\n    color: $pe-rest-typeahead-placeholder-color;\n  }\n\n}\n\n/* primary color */\n.pe-rest-typeahead-search-primary {\n  .tt-suggestion:hover {\n    background-color: $brand-primary;\n  }\n\n  .tt-dataset {\n    border: $pe-rest-typeahead-border solid $brand-primary;\n  }\n\n  .form-control {\n    border: $pe-rest-typeahead-border solid $brand-primary;\n  }\n\n  .form-control:focus {\n    border-color: $brand-primary;\n  }\n\n  .pe-rest-typeahead-icon {\n    color: $brand-primary;\n  }\n\n}\n\n/* info color */\n.pe-rest-typeahead-search-info {\n  .tt-suggestion:hover {\n    background-color: $brand-info;\n  }\n\n  .tt-dataset {\n    border: $pe-rest-typeahead-border solid $brand-info;\n  }\n\n  .form-control {\n    border: $pe-rest-typeahead-border solid $brand-info;\n  }\n\n  .form-control:focus {\n    border-color: $brand-info;\n  }\n\n  .pe-rest-typeahead-icon {\n    color: $brand-info;\n  }\n\n}\n\n.tt-suggestion {\n  padding: $padding-base-vertical $padding-base-horizontal;\n}\n\n.pe-rest-typeahead-icon {\n  position: absolute;\n  top: calc(50% - 10px);\n  font-size: 18px;\n  left: 10px;\n}\n\n.fa-light-icon {\n  -webkit-text-stroke: 1px $pe-rest-typeahead-bg;\n  -webkit-font-smoothing: antialiased;\n}\n\n.pe-rest-typeahead-icon-close {\n  left: unset;\n  right: 10px;\n  -webkit-text-stroke: 2px $pe-rest-typeahead-bg;\n  -webkit-font-smoothing: antialiased;\n  display: none;\n}\n\n.pe-rest-typeahead-icon-close-hide {\n  display: none;\n}\n\n.pe-rest-typeahead-icon-close-show {\n  display: block;\n}\n\n.tt-menu {\n  padding: 0px;\n  width: 100%;\n}\n\n.tt-dataset {\n  max-height: 194px;\n  overflow-y: scroll;\n  width: 100%;\n  background-color: $pe-rest-typeahead-bg;\n  border-radius: $pe-rest-typeahead-border-radius;\n  margin-top: 3px;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n}\n\n.tt-suggestion:hover {\n  cursor: pointer;\n  color: $pe-rest-typeahead-hover-color;\n}\n\n.twitter-typeahead {\n  width: 100%;\n}\n\n.pe-rest-typeahead-search__dim {\n  box-shadow: 0 0 0 1000px rgba(255, 255, 255, $pe-rest-typeahead-dim-opacity);\n  box-shadow: 0 0 0 100vmax rgba(255, 255, 255, $pe-rest-typeahead-dim-opacity);\n  z-index: 9999;\n  transition-timing-function: ease-out, step-end;\n  -webkit-transition: all 0.5s ease;\n  -moz-transition: all 0.5s ease;\n  -o-transition: all 0.5s ease;\n  transition: all 0.5s ease;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;color,size,table,filter,order_by,order_direction&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-rest-typeahead-search&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function Link(scope) {\n\n  scope.cleanTypeahead = function () {\n    scope.typeaheadElement.typeahead('val', '');\n    scope.c.typing = false;\n  };\n\n  scope.$watch(scope.c.idName, function (newValues, oldValues, scope) {\n    scope.typeaheadElement = $(\n      '#' + scope.c.idName + '.typeahead.form-control.pe-rest-typeahead-search__input'\n    );\n    scope.typeaheadContainer = scope.typeaheadElement.parent();\n\n    scope.typeaheadElement.typeahead({\n      minLength: 1,\n      delay: 200,\n      highlight: false\n    }, {\n      name: scope.c.name,\n      limit: scope.c.options.limit_result,\n      display: scope.c.options.display_field,\n      source: function (query, syncResults, asyncResults) {\n        if (query &amp;&amp; query.length &gt; 1) {\n          var entrypoint = scope.c.apiUrl + '&amp;sysparm_query=' + scope.c.fieldCondition + query;\n          $.get(entrypoint, function (data) {\n            asyncResults(data.result);\n          });\n        }\n      }\n    });\n\n    scope.typeaheadElement.bind('typeahead:select', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('pe-rest-typeahead-search__dim');\n\n      scope.c.selected = true;\n      scope.c.typing = false;\n      scope.c.selectRecord(suggestion);\n    });\n\n    scope.typeaheadElement.bind('typeahead:active', function (ev, suggestion) {\n      scope.c.selected = false;\n      scope.c.typing = true;\n\n      if (scope.options.overlay)\n        scope.typeaheadContainer.addClass('pe-rest-typeahead-search__dim');\n    });\n\n    scope.typeaheadElement.bind('typeahead:close', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('pe-rest-typeahead-search__dim');\n      if (!scope.c.selected)\n        scope.typeaheadElement.typeahead('val', '');\n      scope.c.typing = false;\n    });\n\n  });\n}]]&gt;&lt;/link&gt;&lt;name&gt;PE Typeahead Search&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Column showed in the results\",\"name\":\"display_field\",\"section\":\"Data\",\"label\":\"Display Field\",\"type\":\"field_name\"},{\"hint\":\"Column used in the Typeahead query\",\"name\":\"query_field\",\"section\":\"Data\",\"default_value\":\"name\",\"label\":\"Query Field\",\"type\":\"field_name\"},{\"hint\":\"Limit the number of records to visualise in the result menu\",\"name\":\"limit_result\",\"section\":\"Data\",\"default_value\":\"5\",\"label\":\"Limit Result\",\"type\":\"integer\"},{\"name\":\"placeholder\",\"section\":\"Presentation\",\"default_value\":\"Search\",\"label\":\"Placeholder\",\"type\":\"string\"},{\"name\":\"overlay\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Overlay\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.uri = gs.getProperty('glide.servlet.uri');\n\t\n  options.overlay = options.overlay == 'true' || options.overlay == true;\n  options.order_by = options.order_by || options.display_field;\n\t\n  var gr = new GlideRecord('sp_instance_table');\n  gr.setLimit(1);\n  gr.addQuery('sp_widget',options.sp_widget);\n\tgr.addQuery('sp_column',options.sp_column);\n  gr.query();\n  while (gr.next())\n    data.widget_sys_id = gr.getUniqueValue();\n\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-12-11 13:12:59&lt;/sys_created_on&gt;&lt;sys_id&gt;58353a54db0f83004e5cfa131f9619c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;396&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Typeahead Search&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_58353a54db0f83004e5cfa131f9619c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-08 12:00:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-rest-typeahead-search pe-rest-typeahead-search-{{::c.options.color}} wrapper wrapper-{{::c.options.size}}\"&gt;\n  &lt;div class=\"pe-rest-typeahead-search__container\"&gt;\n    &lt;input id=\"{{c.idName}}\" class=\"typeahead form-control pe-rest-typeahead-search__input\" type=\"text\" placeholder=\"{{::c.options.placeholder}}\"\n      autocomplete=\"off\" spellcheck=\"false\" dir=\"auto\"&gt;\n    &lt;i class=\"fa fa-search fa-light-icon pe-rest-typeahead-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i class=\"fa fa-times fa-light-icon pe-rest-typeahead-icon pe-rest-typeahead-icon-close\" ng-class=\"{'pe-rest-typeahead-icon-close-show animate fadeIn': c.typing}\"\n      ng-click=\"cleanTypeahead()\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1929954290</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>f5b41493dbeda7004e5cfa131f9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166f33209640000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>PE Typeahead Search</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>0e94dc5350eda700eef4b26a745397a7</update_guid>\n<update_guid_history>0e94dc5350eda700eef4b26a745397a7:1929954290,0994dc5331eda700a3a220c2cdf7c0b2:-288599608,b9645813b3eda700a5bdc3b9c4bf1c25:1929954290,1944d41366eda700a2d094c4e6320830:-1505499280,a4e3dcdf4fada70060a5f97bb2fa0ad5:697145517,59b3dcdf95ada700ad406ab5b3593bce:2076801069,19c214df95ada70053a534efd3cfde40:-2056427122,0ba2989fb4ada7001147192d9f74ff1b:1941125515,f982545f41ada7003f8e0d9b3d4792b3:-1373256570,8762901f73ada700344f7bcc62d247a1:1366783940,c002901f9cada70027a2274b40fe059c:1399276746,57ffcc5bf3ada700baf40ec5b8ca293f:63936649,47ef40dba1ada700d383de08b2138376:-481340222,28df40db18ada700c35cbd8e7d2ee56f:-1996013637,33bf089bdcada700170acd962f54353a:-465059914,3a8ecc5bd1ada700de4b5e07470e2f37:1418975807,adab44d791ada7000eac79b0299defd2:592651280,540a8857f3ada700417148725a39fbf7:-1414158497,8cc988939aada7000829e24bfd45bdff:-1404455393,30a84493a4ada700de6aaa2e2b3c4b1f:1672065048,d498449398ada70093f5470b8bc015bf:-1106791276,f338449350ada7005a69069af70c4e17:-1242502476,de28c09319ada700b2e2bbc49029acd1:-1686435777,5634a5c3452def0064985464d7a189c0:634376223,1c622183882def00a6bc8af0a9c324d9:-1748424547,be216903872def00b28e9e16fc6057a9:662854476,07a02d03f22def00bd6ccfc887d70710:1295874626,c1a065039a2def00b2bccffbe44bdc93:-1174507193,b5706503722def0059f03a26cf6e58dc:662854476,67106503812def000c61bfbe6b92135b:-1855714122,562ed98f17e9ef006e580fae27162573:-279627913,b51e518f32e9ef0001cace6e9e45f3e6:488981851,18edd58f20e9ef00a4ee442138e0322d:-279627913,855d9d4ff8e9ef00b0ca56245e77a500:-809507727,ee3d994fbae9ef00150089407cb33613:-1540373389,d15c9d0fdae9ef00e4ce221bc67d3bd9:188660195,dc0c95cb11e9ef00d007031ba45878c7:-1184408876,057ad1cbbbe9ef0011d65f4aae551379:-2043542424,ac3a518be0e9ef005c37c46a95800917:1763305351,64f9dd8b75e9ef0099994d509f5b5e5c:-459218857,1c39158ba8e9ef00cb4994c6625fd82d:-483837030,71471d0b88e9ef0075ce11af8e8d8d3f:-1573824254,43271d0b18e9ef0047eede068b97dec6:2074359680,5ef6550b89e9ef00c789fc1a9bdf495f:897051075,bcf6550b7fe9ef0097c8ed934c23fa58:1427576318,19c6d50bd2e9ef001b8efc3c379af509:-1357596632,985551c7e8e9ef00f630e5182dedf148:265731834,64159d877be9ef004ec9b2fc2a76f5da:907365308,1f6215c37ae9ef0018112fdf4565ffe6:-1133874845,137015c3ece9ef00099dbd2549a15d72:1500454402,854ad3f6c025ef0003a378c4eaa39ecc:-1154412585,09d5d7b20225ef00974c7495fff04390:-1539918917,e3c597b2b725ef007c06f027cb344d1b:910066107,c885d7fe8ae1ef00da41466b644a5c73:680827955,915517fe77e1ef00c9a9e2f3bd559ad2:-166803142,2c355fbecce1ef00969f6caa74f563ca:433113304,5ad41fbecae1ef00568d452dba3698af:-571055634,ab51db7a55e1ef00bd7bb14d770be33e:-1474457486,11519b7a32e1ef0075e5ff866bec4da6:-207851080,9021573abde1ef00a732fe10428aa580:-1293372427,5a609b3acde1ef00629297dbf7d8e117:1267084693,1aaf033a97e1ef00d6f09a339b1eafd5:-1000223889,546f8ff660e1ef008aa38c350f44a219:968549595,e23f8ff631e1ef007698f28828b0b07a:1835313973,2ddec7b68ae1ef00a7ed6e475988b1f2:-652252826,8fae87b642e1ef00ee8414c740c80134:-1347701510,fb5ec7b664e1ef00b619c85ef3ac6dbe:733365059,094e03b612e1ef00e261a344f2400ae7:-1892343102,65ed0b76b9e1ef00858a281fbac2124d:812399690,819d8376dce1ef00473748353dfb36ee:-961030041,f05d4b36aee1ef00cc0bb5b6ee730535:-422192870,280d837693e1ef009cbeb4544f040fc1:859174644,28ac4b36e9e1ef005b8ceb49db01f6ec:-197952526,755c4b3620e1ef00ae6a8c949eff152d:-1461787443,671cc3366de1ef00a6988380657320d8:-1117360691,3cdb87f294e1ef001fd58a04fd1402bd:6236381,2e6b87f258e1ef00ee953c0decd77db5:-318149586,6b4b43f22be1ef00f4c4e8b95405176f:1133693544,ba4b8fb2dfe1ef000fe2a71d13c39a4b:-272387639,f21b8fb292e1ef00bc3c6a7458642b85:-419857750,5b0b8fb298e1ef0040a4421bb1a52741:-1753042432,a6aa4bb209e1ef0093b64f9cb9267c4d:-859947500,c88ac7b23ce1ef00f2a0a4c763415f1d:-1470104532,172ac732dce1ef00d1e91937ba022692:-237490099,5d79c772ade1ef00b7aeb687ad79a6b9:1743393977,fb498ffeb5a1ef00ff36397446e0f991:538774372,f144cbfa0fa1ef0020d3a63e1cfd1c36:-1882426034,3f24c3fa06a1ef0044de3c3a1f9e941e:-301770241,f2244bba94a1ef009d46593d7fb0db42:1841761984,71134bbacaa1ef003768eeaf8de6f3a9:53837464,2fc143766ba1ef004955dcbc3a8a2cfa:1125199880,d9c147f28ca1ef00a82872d1a7d952af:-584889206,23ff7af204a1ef00ddf71b64c98e0958:-517186992,9aef76f28aa1ef00b873411015790547:-2054375439,44cb76ba6c61ef0043601458472fc9ac:703403410,b97afa7a4861ef00dbdc7d1ae099b46f:-368481606,fa3afa7af861ef00c033d612355d1734:-1123587019,db79be3afd61ef009a33b0a722a08dde:-917881004,54557e366261ef0031e003eb4e529489:1171063092,410332f2c661ef00752c714b0b25ab9c:-1605015748,07d2f2b2d861ef00757560ea15927e91:1159487958,2bc2f2b27061ef0032ee3a5333768adf:-1098451919,dc22f2b2ff61ef0041a4dbecbfd24842:-1304274292,28b13e72c161ef00366bda865eb60ea8:1706474047,6261b2722061ef00d7109305ae866fe8:755171838,f3017e32bb61ef00eda98ee4b0fcf15b:-1360455025,f59076324461ef00716dc8401b8231b4:645747836,8b70f632f961ef005119774a7a95d203:-1557256609,a7207632a161ef00ae85760d84a2ed94:651706399,1d10767e3021ef00452728a2f0f466f0:192374593,168fa63e8c21ef00cfb1878bbe5f8fb7:445830886,affe2eba9721ef00a28d5afdd480948b:-1935659036,cbfce6baca21ef00805f2de76b2d33a5:-689685318,e36c667a1821ef00cbf4c9d6b3b75375:663303753,9c1cea3a6621ef00d51f00cd1cae8950:-246460033,ca7b6af62c21ef0001235d37dd8feaed:1322040745,9b8aaa3a1621ef003f8b399fe64aa920:-773727191,728a2a3a7821ef007c394a3965ffb949:-1879408583,d75aaaf66021ef00f427c3b3197c775d:31795193,e7496ab68721ef0025c6df718e8221ee:969522973,ed396ab66521ef00c6ccf7a16bae7bf9:-858516769,c50962f60221ef008953be4bfef4e9d7:-526165836,f828ae768f21ef002ff1e7786775a3b9:-396979562,1618e676c421ef0052a631dff473b913:1836914693,91f5ea366b21ef007655c28e3ae6ea2b:1958150272,fdc5a6369b21ef00a9245c23d798f69c:-149564042,2ab56a367d21ef004cea682050b4e167:106882922,a8952af22521ef00b5b63db217a8b4d2:-68100201,404426f23221ef00c3025ce69714fac3:-1350904323,ad532b26b0a5af00dd77557e6874b2db:993515107,e1b2e726d1a5af0032f5c79f5c55fefc:261888674,6aa26726bba5af00f010a45d2a9e62ff:-1065061297,de826726e0a5af006747b9eb90e3cff5:-1917392779,22a2c76a2925af00936a76c25b814689:1579638257,ae72c36a5825af0018a4673926e0e17f:-1753951861,0a62836ae525af00ec703d214afe6559:2022767174,6732836a8125af0076268dacae2d5054:-382628878,13f1436a8b25af008e0559b38d81d4d6:225340947,72e10f2ab925af00f2c3a3ff3da43243:-1610196507,b531032acb25af009cac5aeb54efc7d9:-279159444,57e08fe6b425af00a621751fd2fe8fa6:-207687062,ddd08fe64625af005a4d26e1f3354f69:391043598,04c08fe68025af00c9050a0e94a6993f:-1163413817,134ff2a69a25af00c541a13bcfe2ff79:1206975130,f63fb6a60425af0015de458aaf74b3ae:-710610940,631e7e26f125af00e907ee544b5646de:1110281131,be0e3e263825af008fd7078ddaaab258:-1366776072,1f7df6e2bb25af00638da4bec81b21d3:934804719,f72dbee2a025af00282d2b6f8dcfc04a:-1485310608,261d7ee20e25af00f5c0c6b5f8ba40e2:152134655,9a1cbea22a25af00e7a24882cfb1b0f8:1743232376,72fb7ea26825af001677a7073366da44:1914000526,cddb3aa2ed25af00a85a8aba73eb0949:1642612373,d8bb3aa2be25af005bcde0e0b0cbc842:-1475540473,35ca7a62e825af00864cdb1e0df45c93:1690977796,7baa72620c25af00eeb6b6269e601dfe:1041777506,89aa7a622925af00f9afdb4a943d7126:1840377314,dc1afe223b25af001f40775d8db2f498:1000818785,2cd9fa224325af0051e0df6db540cfea:932996251,afa9fa221f25af00059d955fcff791e2:-2079205084,497976221a25af00066af4aa90fffbd3:69968482,4f6936223025af0075a0bd8d1d9efc3a:1578332646,4e39b2221925af00d03297330cb68627:-1475940106,ed1936228425af00f14894d20ec39333:-2128120846,edf8b2226b25af008110198371059720:-969218510,43a87eee08e1af008b56a8ebece6fc9b:-813195103,1d483aeecae1af00849f04a3d4feeb58:-969218510,5228f2ee44e1af00ed88f66f86b4c1e6:-1603621409,901836ee5be1af00bf151a6f7bdb4bf3:254062436,d7e772ee59e1af00c5875153e8a8f9af:1469114150,1667be2ec3e1af009ded4d73bceee26d:-449208255,0da67aaafde1af00d025e0cb8411edbf:1575403649,bc66fa6a4ce1af00d3c8f03522d99194:788452071,ae453a6a14e1af006067e38f9a375e30:1453471017,a905b62a24e1af00ad2165263a67ecfc:-944936305,5394fe2a06e1af0011e172f21fbc4577:-1545600523,1e74fa2aa7e1af002f0ec7ed77d15389:-34250661,cb84bf7cd0292b009b9243e90db963ed:1811127662,fae2373c83292b005df2e383b66f7b7c:1194755903,4682b77808292b0057a94500de72b21f:1737200489,5dc173f8c5292b005dfb0c76cd40ef44:798442770,31613bb865292b00f7553af12a385134:-1216507033,4c017bb8cb292b00e1477e2466c212dc:136495915,41d03bb85c292b005bccf5a2acb6392d:-1287674277,f870b7783a292b0032975ff0f5dc2028:-1638518363,473ee7f4a6292b003cb4e229ecb3e455:-726866406,adfd67b4b7292b002b3dfe1b24afee8b:445290458,a99da374f7292b009ea29b9c6728739a:-1899711767,0b8ca3745a292b00ff30476c537a0e8d:-1330880701,c36c673456292b0010c6060a4ae6f870:-1055900108,414c673420292b00ef09f93a7b7e2fe0:-507960165,788ba3345e292b004d93478c3ffd3189:-285573694,185b6334a1292b005e0f95d1fdbf4672:-471177089,9c7c98f04b6de7005c0995bff23524f6:2014475906,6a6c98f0e86de700c434a3ef1d448fef:-1678872169,9a0c18301f6de7008ab005b27da70158:2014475906,b1ebd0304e6de7007479fae8e9c388e0:-537864703,afcb9030be6de7009a64b88167f32d3a:-830200455,f7abdcfcbf2de7000d9d98f70465d015:-1983010476,4f9b9cfc1c2de700ec40da8e3902ddd4:-798101404,097b58fc772de700e68398e6ab970cd7:-603861541,a34b58fc452de70042a744427dd41297:-130002555,7bf9d87c7a2de700230583e2be4c3e7f:2080551433,1fd994bcb62de70039e7913f70690658:1294251112,d1d954bcfa2de700f6f0f24660a5d8b2:1033493076,47c954bc962de700d82028894e62f4ab:-1809165178,d4c914bc392de700f776aa50c78d9ad8:-685023084,65a9d87c4e2de70094cf8297681e39ca:-962733594,db89d87c9c2de700f2b4feb4e5828777:340387686,a4099c3c112de7004ae3af39cbeb00c0:-1726995922,71389c3c272de700c3f1e01ef0551234:-1998909241,ba08183c3c2de700972f260afec67099:-1932624111,69f7d43c3a2de70012e59d5a31be262c:405161878,a6d718b89c2de700cbc7ff7ca80e7625:1558630326,8ac7d43cfa2de70028803ea68e9dce25:-80253994,884610b8382de70042888dde49905959:-1195057795,2f2694b8122de70026e7c25c40a17ac9:-1394372185,90b45c38272de70081371ec28814621f:-2136808461,81a4dc38f42de700456fbdffbec1aa73:1783227507,65745c38f82de7009dca178f3416b953:-585309997,7c441c38852de7001a24b6c12e8573a9:-1155583057,5a43d0f4e72de700eca20946b87be35e:-1982358561,52c214f4502de700c23ff232cd82e0e1:444764353,ed92d0f42e2de700466a9c534e323610:2019290112,0c22d4b4322de7002e996924a0472749:1724294018,77d190b4f22de700ecbecf37a7d9426c:-1781588525,6d71d874522de700515152f246f9de4f:570708316,1b419874cd2de70038cec51869bb3f9c:-356972519,5a319074ce2de7007ee6b7a745cf1cb6:-961641728,3511d474c72de7007c28a35ceeec4251:1941422625,22c05074672de700d4f8ab20710fbb1c:2128354754,ae901074b62de700ab19742f794796cd:809640181,b0805834f92de700c9ba06c546fd8092:1327668088,13cf44344c2de7004dedad7344d48e19:-1595072955,69afc0f00f2de70030d58554f885f78b:-677425115,6c9fc0f0182de7001a1d12767083c2ec:741243329,ab9e44b0772de7000cf0bf9f2ffafb89:727951580,5c3e84b03a2de700edd2efa318918e3a:-310204377,618d88707f2de700af4327b6a345f9e8:1870450848,19dc8870b12de70009e0912344f645ae:-2131882765,57ac8470c92de700324cf6778378a033:2033006447,749c8470cf2de7002510197670e4292b:-470457525,fadbc830d92de7007fcfd3ac65fbd8e7:642341119,45bb0830e32de700b33ca962bcf6978a:-1998466452,eb9b0830292de70081a558ee9e366968:642341119,9fe900fcf2e9e700fc4c2b6f7255f6db:640130388,fd8b26e8a8a5e700f33cb49ba8cea9b5:1035727697,9a3bea68e0a5e7009e5879efaa0be052:-875571607,382bea68e4a5e700f5c7d1dc368bf4fd:873897077,4c99e22809a5e700ea346438743e7b5e:624927195,23796668c7a5e700610e0e36cbac4756:270434878,db096a2890a5e70036c50c678d872a8c:489280594,d0809d1c1a096f00cb1991873575b3da:-5810424,5e609d1c0c096f0032d0620b6e0e19c9:1447423356,2e4059d843096f00dd8599846a7572eb:123877788,cb30991cc1096f00589d35b993a6d770:1813586339,4920911c92096f0051558ea660c7c6cc:-907431256,df10991cca096f0090b388335b226269:661498599,05de09d8a9096f00926ffe87187b1a10:842622882,aacec5d875096f008dd0413511855c11:799079887,3aaec5d8a0096f00ef182121eeb19242:115609093,6f9e05d873096f0097287078e4a7a354:-2082928997,626e0d98fa096f00c5f14078b7f9c6b4:115609093,900e459814096f00d0ca471d2eb265da:-150426492,32ed0d98e8096f00201ae2c22d794d4a:913715848,db5d4598ff096f00c5d532854506f834:1781527130,2d4d0d58bd096f00d2fe9222eb2d8919:-187988128,852d0d5887096f0071c631a2c47ca0ac:-1053054997,8acc0d581c096f00850919714a23aea5:704359328,86bcc958e6096f0031f6c9452f795a88:-573482581,4dac89587b096f00f1e565722f5c9fcd:-1860060076,95fb85181e096f00349b9c3199616a5b:-1306672335,8b3b0d94d9096f009633b3e1fa084dfe:-316127117,09facd549c096f00d584b39700002d9b:2145089792,2c3acd5411096f00cf8d7d0b3bfef093:526416090,f1e90514f4096f00c38da1b1cf8ea2b4:-1231362127,42b9c914b0096f00ef2d72f3ef45d59c:-1144022179,a2590514db096f000e3b3beaaf05e16c:-1231362127,2b0981d041096f00af8b560633e241e6:1074181542,1d0881d063096f0033b0dc7093b17429:1309247287,a5f7cd9096096f0009bdbbbf6dd49a91:-980226315,a5d70d9030096f00f91d140bb9c1337d:2017004766,c2c78990d2096f00a82eeb3ba83e891d:-1942895618,6b770990b0096f00d72146f15461a091:-980226315,d157059074096f0071ca3eae604c866d:2000948239,d207059016096f008556b0815e7af666:1389309973,f5f641908f096f009cc6f217dc716a7e:1768849697,64a645501e096f0055a776c5d1f1cc3a:1097345543,ff15c51023096f00692f7f0d2d074d4b:300219162,d715c19c80c56f00071158667dd8b73e:52512023,4d1445dca5c56f004500288495fe9818:871822658,e752c19c21c56f00e3e2435c0474c92d:215465531,fc667cd0ffc56f0053e0402b07e2e220:1436139212,fa56f8d057c56f00248f98bac542dab6:947965493,b146bcd09fc56f002aa30ed28dd7bc52:1398990,2ad5b4d0e4c56f0093ab35f1e2798ded:-677931103,4254b41027c56f0010a5032845ba1551:1966843937,5234741052c56f0056c357dfe7e84de4:-428028376,33047410fdc56f00b4c3fb1eca88c2fa:1480098784,e7e86be69a4b47007d28c3a42cab3783:731241106,f648e7a6c04b47003036107edb94bdc3:1550887993,020863a6f64b4700267aa616d3a93ab2:567597414,a9d7a766da4b4700a3869b0297f7df03:481525334,c437e366644b47009c15815178580e0e:1480265383,a6e5abe21c4b4700d604bf1c287873dc:1121173294,1885e3a2b14b470019939f257e908e96:1443156166,5975afa20c4b47002347dc28e75e8364:-1728804283,b1e467a2804b4700bc27e72240f0cbdf:-1242619809,ff66db2ed80b47003b7a61a1a900d548:-1474826706,9d26972e030b4700c3729dad157fcfbe:-1921780392,a016972e730b47007769ae111abe1eb9:-1646538944,47e5d32e750b4700a11917d9c1a102c0:1792004101,25d5132e6e0b47004df69ebfc8b02c8f:653833758,0ab59feacf0b4700a76b4a9bd265ab45:-1763364663,62a55feac40b47000e60442ca0c1dfca:298734082,6da55bea400b4700ed1e5fc5c6d740ec:1950405123,52855bea240b4700b0ddb0d52e6f41e7:1023676148,97755beaf70b47003a84dd1b4f0919c8:1654152479,6965dbea980b4700ae59c4e7e536b0ca:-667687544,2d15d7ea860b4700eb255f75bc8aed6c:-228929018,6bf4d3ea1b0b47004299f39373ba7f14:-148154347,be54dfaafa0b4700f2533d69c4be6eea:1937578278,2d34d7aaad0b4700338e5083f0ace98c:-1856271485,ad2493aabc0b4700aa097a93ee73b771:1794084642,307393aa6a0b47001caba0b4dc01ac5a:1165297249,3b339f6aa50b47005d1388adb079627b:1865042115,0272db6ada0b4700d42965776894a428:-752187817,bd525f6aba0b470019c477a2f93b87a0:1736245431,af02576a110b47008ea61f40e650770e:1619105949,47b11f2a710b4700fe93318862d4abfa:-920588716,c8b1576a640b4700cfc9952e19f4e907:-697290828,e761936ac00b4700cc0b08b84fa8c9d4:530117246,8d51df2a940b47003172cbc338cbee03:696993026,81211f2a7b0b4700178549c87fab54e7:-1800853592,34015b2a430b47003c8ad6f5b8fbe1ff:530117246,b6a0572aee0b470052f6ef3d4e4810b5:1496325703,4fffcfe60e0b47007e692c33b9ea9a34:-1147008777,f0fe87a60f0b470040e53f48aed21966:-739055060,942d0f66900b4700d212fc03ad7d085c:-1311369042,9aac0f66f40b47004d05c55fb4f29056:1700193650,923c83660f0b4700d4d9c426339fe5be:-1172290700,d1fb4f26320b470023279206995b743c:-2140291403,e1bb8366470b470036a619377666b8bf:-1473975981,c46b4f26900b470088370ac4a7a0db2c:1311902308,3b2bc3e2e70b4700da60b0167ca865e2:-1042095388,c9d7c3e2660b47000acd2996a21eb4da:208606871,31e60fa25d0b470084230b315971c924:662470194,f85603a2f80b470045ccaf21fea1e209:1294691602,b2c58b62110b47006a6f2ee2288635f5:138504306,ecaab66efdc747002f3470ac1804f70a:-1872982636,869a7a2e2dc74700f679d12a82d42c63:2039495266,ae3ab62e08c74700137b9add8aedaddd:265084094,bbf8faeac5c74700bb3b5068dacd625d:-92326048,84d8f6eaddc7470064b9a27c625e2c43:99833724,80b836eaadc74700c97276f61873a73c:831403806,4478baaae4c74700633baa2af2c9f667:-171661653,3697be2a6ac74700a1068b83067c6a17:-1565944102,54477a2adcc74700c3104bd89211775d:1227543175,c9e6f22ac3c74700ef257791ee3299db:1554384254,91b6f22aa2c74700a19cd3f3d6cca4d5:-1041064599,0796722ab6c74700fa5b78a044835134:-2034797207,a6367ae645c74700fd8b81606f883311:-914167469,6836fae6c6c74700915c40dccb25364d:2137299507,72c53ea6c2c7470066091a328ebd19ba:1464522995,4a85b2a614c74700e4b05beb49f9ebd3:1478937727,efe77354338f83003cd7bccf97eae328:-1853705538,11d7ff14748f8300986353a5b13004d8:-1528670288,bdb77f145a8f83000d91e762ad407007:31668586,a1877f149b8f83000033674ce7f93d02:1716099930,96577714bc8f8300aa85289612749a6d:-493550591,01a6bf90878f8300bbb7a625f25aad8f:462331437,fa46bfd0218f83000d2fe2737017dbe7:726638047,35263bd0a78f830029f72a7b32143fe6:-762434483,43f53f90288f83001ea3b9a68d3bf05e:462331437,6975f3d0ed8f8300334df71aa142034b:726638047,98b43f90788f83006497c1aa926e6d57:-2053331436,0de33790078f830020a14f1c85a489a0:-2145941320,52d3ff50158f8300fcd0ea941fdcc7cc:-1878443005,8ab3ff500f8f8300361de296b1fa84c5:-648720158,eda33390208f8300d9ec5b7fcf8d1ad4:85412255,5473fb50c58f8300ed79982187b1eafe:-29721056,eb33fb509a8f830075156abcad4764f7:1930433118,55237bdcb34f830083b16c79e4ace9b3:41290466,13f92f5ce24f830053ff41444e7d255f:-1975401137,ecd9e31c9d4f830027d0fd71623b56c5:898150381,5138ef1cb34f8300356329df5647f2fd:-1430144815,49572fd8744f83008edee4ba85db1c6f:-250125813,fbf627d80b4f830093a6c6ba181f69b4:-1121286501,37a623d8454f83005876d7212e9826b9:-62620077,baa627d8724f83001b77c999eb8eb59f:1403232494,ea3627d80f4f8300b45c648eb52cc797:590162502,a5262f98ac4f8300c17ebb365a8c498a:1901401355,bea5af98744f8300081bd456c226955d:-392686720,e269b6d4ed0f8300a0c09cecd62657be:-1531871878,5f49f2d4c20f83000faf885c464e99cf:573802743,f1553a54060f83006f883f1fd3dbcbd0:1206406148</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_dcb7a31cdb4f83004e5cfa131f961983</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>typeahead.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-11 16:53:39</sys_created_on><sys_id>dcb7a31cdb4f83004e5cfa131f961983</sys_id><sys_mod_count>2</sys_mod_count><sys_name>typeahead.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"typeahead.js\">a2b7a31cdb4f83004e5cfa131f9619e9</sys_ui_script><sys_update_name>sp_js_include_dcb7a31cdb4f83004e5cfa131f961983</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-10-31 18:11:22</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-232880661</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>f9b41493dbeda7004e5cfa131f9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166cb52a3bb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table/>\n<target_name>typeahead.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>f7bc90342a6de7008b33f70d3ac6de99</update_guid>\n<update_guid_history>f7bc90342a6de7008b33f70d3ac6de99:-232880661,dfbc9034276de7003b6d7f86b1a2ea15:-977070073,92d7a31cd54f8300b0e0f76cab5869fd:-232880661</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_a7e9762edbc7470086da7d5e0f9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"DELETE\"><active>true</active><category/><format/><height/><image/><name>pi-rest-typeahead-search-icon.svg</name><size_bytes>264</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-18 13:19:40</sys_created_on><sys_id>a7e9762edbc7470086da7d5e0f9619b9</sys_id><sys_mod_count>5</sys_mod_count><sys_name>pi-rest-typeahead-search-icon.svg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_a7e9762edbc7470086da7d5e0f9619b9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2018-11-06 16:07:23</sys_updated_on><thumbnail/><width/></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><chunk_size_bytes/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>264</size_bytes><size_compressed>207</size_compressed><state/><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-18 13:19:49</sys_created_on><sys_id>ce0ab62edbc7470086da7d5e0f9619fd</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2017-12-18 13:19:49</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>a7e9762edbc7470086da7d5e0f9619b9</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"ce0ab62edbc7470086da7d5e0f9619fd\">ce0ab62edbc7470086da7d5e0f9619fd</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-18 13:19:49</sys_created_on><sys_id>c60ab62edbc7470086da7d5e0f9619fe</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>TU/BbsMgDL3nKyz3HKBESaQp5LBDb/2IiDBAo5ARGrq/H2lTaZZlP9nvPdnDuml43JxfBZqUlg9Kc84kNyRETTljjBYGQrZzMgI5QzDKapNeeLMqf4aHQAYM+J44VlBi0PBlnRPog1f4xHW8OyVQbcqHeUZYUwzfZXDqu77pLofwKV6mZI597axXcloErj/3KRavWeD1zEkLe3EdaTnsBek/A2mjdApkuawnLYL8PUAs/c0cqB6rYf9vrP4Ax8IstQgBAAA=</data><length>264</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"ce0ab62edbc7470086da7d5e0f9619fd\">ce0ab62edbc7470086da7d5e0f9619fd</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2017-12-18 13:19:49</sys_created_on><sys_id>4a0ab62edbc7470086da7d5e0f9619fe</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-963469261</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:05</sys_created_on>\n<sys_id>fdb41493dbeda7004e5cfa131f9619bc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166e9cfe5b20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:05</sys_updated_on>\n<table/>\n<target_name>pi-rest-typeahead-search-icon.svg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>7b0cbea29d25af003c3ee56c3a88881d</update_guid>\n<update_guid_history>7b0cbea29d25af003c3ee56c3a88881d:-963469261,5ee9fe22a025af00d7df31072249a691:366128167,249b67346b292b00225010093383d9d9:1940146087,0e60e4f4676de70011be4865a08bfc93:247297399,016064f4aa6de7001d2f4eafded6f9a7:1666494695,9e0af62e14c7470019c51d581be42803:-1483549365,120af62e47c747002977e9144ed89002:-1483549365,880a762e03c7470080ddccdc517789be:1647597332</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_134ea338db292b004e5cfa131f9619e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance_table\"&gt;&lt;sp_instance_table action=\"DELETE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;display_field&gt;name&lt;/display_field&gt;&lt;field_list&gt;name,email&lt;/field_list&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;maximum_entries&gt;5&lt;/maximum_entries&gt;&lt;order&gt;1&lt;/order&gt;&lt;order_by&gt;name&lt;/order_by&gt;&lt;order_direction&gt;asc&lt;/order_direction&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;04351f22dbc3530086da7d5e0f9619fa&lt;/sp_column&gt;&lt;sp_page/&gt;&lt;sp_widget display_value=\"PE REST Typeahead Search\"&gt;58353a54db0f83004e5cfa131f9619c9&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance_table&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-01 09:26:55&lt;/sys_created_on&gt;&lt;sys_id&gt;134ea338db292b004e5cfa131f9619e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_table_134ea338db292b004e5cfa131f9619e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-01 09:29:57&lt;/sys_updated_on&gt;&lt;table&gt;sys_user&lt;/table&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"column_condition\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"limit_result\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"minlength\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"placeholder\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"sysparm_limit\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"broadcast_event_name\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance_table&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=134ea338db292b004e5cfa131f9619e7\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-43323764</payload_hash>\n<remote_update_set display_value=\"PE REST Typeahead Search\">79b41493dbeda7004e5cfa131f9619bc</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2018-11-08 12:01:06</sys_created_on>\n<sys_id>fdb41493dbeda7004e5cfa131f9619be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166ceacc2170000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2018-11-08 12:01:06</sys_updated_on>\n<table>sys_user</table>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>fd43fb3c17292b00823e79cf34b4921c</update_guid>\n<update_guid_history>fd43fb3c17292b00823e79cf34b4921c:-43323764,e3fe273875292b007a81a3f9ab48e71a:-1342614400,574ea338e8292b0026aef063ab0026e8:-1144321438</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-body-html-template.html",
    "content": "<div class=\"pe-rest-typeahead-search pe-rest-typeahead-search-{{::c.options.color}} wrapper wrapper-{{::c.options.size}}\">\n  <div class=\"pe-rest-typeahead-search__container\">\n    <input id=\"{{c.idName}}\" class=\"typeahead form-control pe-rest-typeahead-search__input\" type=\"text\" placeholder=\"{{::c.options.placeholder}}\"\n      autocomplete=\"off\" spellcheck=\"false\" dir=\"auto\">\n    <i class=\"fa fa-search fa-light-icon pe-rest-typeahead-icon\" aria-hidden=\"true\"></i>\n    <i class=\"fa fa-times fa-light-icon pe-rest-typeahead-icon pe-rest-typeahead-icon-close\" ng-class=\"{'pe-rest-typeahead-icon-close-show animate fadeIn': c.typing}\"\n      ng-click=\"cleanTypeahead()\" aria-hidden=\"true\"></i>\n  </div>\n</div>\n"
  },
  {
    "path": "pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-client-script.js",
    "content": "function PeRestTypeaheadController($rootScope, $scope) {\n  var c = this;\n  c.idName = 'pe-rest-typeahead-search' + c.data.widget_sys_id;\n\n  c.$onInit = function () {\n    c.apiUrl = c.data.uri + 'api/now/table/' + c.options.table +\n      '?sysparm_display_value=true&sysparm_fields=sys_id,' + c.options.query_field + ',' + c.options.display_field +\n      '&sysparm_limit=' + c.options.limit_result;\n    c.fieldCondition = '';\n\n    if ((c.options.order_direction == 'asc' || !c.options.order_direction) && c.options.order_by && c.options.order_by.length > 0)\n      c.fieldCondition = '^ORDERBY' + c.options.order_by + '^';\n    if (c.options.order_direction == 'desc' && c.options.order_by && c.options.order_by.length > 0)\n      c.fieldCondition = '^ORDERBYDESC' + c.options.order_by + '^';\n\n    c.fieldCondition = c.fieldCondition + c.options.filter + '^' + c.options.query_field + 'LIKE';\n\n    c.selected = false;\n    c.typing = false;\n    console.log($scope);\n  };\n\n  c.selectRecord = function (obj) {\n    console.log('selected -> ', obj);\n    $rootScope.$broadcast('pe-typeahead-selection', obj);\n  };\n\n}\n"
  },
  {
    "path": "pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-css.scss",
    "content": "$pe-rest-typeahead-font-size: $font-size-large !default;\n$pe-rest-typeahead-text-color: $text-color !default;\n$pe-rest-typeahead-input-height: $input-height-large !default;\n$pe-rest-typeahead-bg: white !default;\n$pe-rest-typeahead-placeholder-color: lighten($pe-rest-typeahead-text-color, 30%) !default;\n$pe-rest-typeahead-max-width: 400px !default;\n$pe-rest-typeahead-dim-opacity: 0.8 !default;\n$pe-rest-typeahead-border-color: #82b2a0 !default;\n$pe-rest-typeahead-border-radius: 0px !default;\n$pe-rest-typeahead-border: 0.5px !default;\n$pe-rest-typeahead-hover-color: white !default;\n$pe-rest-typeahead-hover-bg: #82b2a0 !default;\n\n.pe-rest-typeahead-search {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.pe-rest-typeahead-search__container {\n  position: relative;\n  width: 100%;\n  max-width: $pe-rest-typeahead-max-width;\n}\n\n.pe-rest-typeahead-search__input {\n  padding: $padding-base-vertical 25px $padding-base-vertical 35px;\n  box-shadow: none;\n  background: unset !important;\n  background-color: $pe-rest-typeahead-bg !important;\n}\n\n/* default using SASS */\n.pe-rest-typeahead-search,\n.pe-rest-typeahead-search-default {\n  .tt-suggestion:hover {\n    background-color: $pe-rest-typeahead-hover-bg;\n  }\n\n  .tt-dataset {\n    border: $pe-rest-typeahead-border solid $pe-rest-typeahead-border-color;\n  }\n\n  .form-control {\n    border: $pe-rest-typeahead-border solid $pe-rest-typeahead-border-color;\n    border-radius: $pe-rest-typeahead-border-radius;\n    font-size: $pe-rest-typeahead-font-size;\n    height: $pe-rest-typeahead-input-height;\n  }\n\n  .form-control:focus {\n    outline: 0;\n    border-color: $pe-rest-typeahead-border-color;\n    box-shadow: none;\n  }\n\n  .pe-rest-typeahead-icon {\n    color: $pe-rest-typeahead-border-color;\n  }\n\n  ::placeholder {\n    /* Chrome, Firefox, Opera, Safari 10.1+ */\n    color: $pe-rest-typeahead-placeholder-color;\n    /* Firefox */\n  }\n\n  :-ms-input-placeholder {\n    /* Internet Explorer 10-11 */\n    color: $pe-rest-typeahead-placeholder-color;\n  }\n\n  ::-ms-input-placeholder {\n    /* Microsoft Edge */\n    color: $pe-rest-typeahead-placeholder-color;\n  }\n\n}\n\n/* primary color */\n.pe-rest-typeahead-search-primary {\n  .tt-suggestion:hover {\n    background-color: $brand-primary;\n  }\n\n  .tt-dataset {\n    border: $pe-rest-typeahead-border solid $brand-primary;\n  }\n\n  .form-control {\n    border: $pe-rest-typeahead-border solid $brand-primary;\n  }\n\n  .form-control:focus {\n    border-color: $brand-primary;\n  }\n\n  .pe-rest-typeahead-icon {\n    color: $brand-primary;\n  }\n\n}\n\n/* info color */\n.pe-rest-typeahead-search-info {\n  .tt-suggestion:hover {\n    background-color: $brand-info;\n  }\n\n  .tt-dataset {\n    border: $pe-rest-typeahead-border solid $brand-info;\n  }\n\n  .form-control {\n    border: $pe-rest-typeahead-border solid $brand-info;\n  }\n\n  .form-control:focus {\n    border-color: $brand-info;\n  }\n\n  .pe-rest-typeahead-icon {\n    color: $brand-info;\n  }\n\n}\n\n.tt-suggestion {\n  padding: $padding-base-vertical $padding-base-horizontal;\n}\n\n.pe-rest-typeahead-icon {\n  position: absolute;\n  top: calc(50% - 10px);\n  font-size: 18px;\n  left: 10px;\n}\n\n.fa-light-icon {\n  -webkit-text-stroke: 1px $pe-rest-typeahead-bg;\n  -webkit-font-smoothing: antialiased;\n}\n\n.pe-rest-typeahead-icon-close {\n  left: unset;\n  right: 10px;\n  -webkit-text-stroke: 2px $pe-rest-typeahead-bg;\n  -webkit-font-smoothing: antialiased;\n  display: none;\n}\n\n.pe-rest-typeahead-icon-close-hide {\n  display: none;\n}\n\n.pe-rest-typeahead-icon-close-show {\n  display: block;\n}\n\n.tt-menu {\n  padding: 0px;\n  width: 100%;\n}\n\n.tt-dataset {\n  max-height: 194px;\n  overflow-y: scroll;\n  width: 100%;\n  background-color: $pe-rest-typeahead-bg;\n  border-radius: $pe-rest-typeahead-border-radius;\n  margin-top: 3px;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n}\n\n.tt-suggestion:hover {\n  cursor: pointer;\n  color: $pe-rest-typeahead-hover-color;\n}\n\n.twitter-typeahead {\n  width: 100%;\n}\n\n.pe-rest-typeahead-search__dim {\n  box-shadow: 0 0 0 1000px rgba(255, 255, 255, $pe-rest-typeahead-dim-opacity);\n  box-shadow: 0 0 0 100vmax rgba(255, 255, 255, $pe-rest-typeahead-dim-opacity);\n  z-index: 9999;\n  transition-timing-function: ease-out, step-end;\n  -webkit-transition: all 0.5s ease;\n  -moz-transition: all 0.5s ease;\n  -o-transition: all 0.5s ease;\n  transition: all 0.5s ease;\n}\n"
  },
  {
    "path": "pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-link.js",
    "content": "function Link(scope) {\n\n  scope.cleanTypeahead = function () {\n    scope.typeaheadElement.typeahead('val', '');\n    scope.c.typing = false;\n  };\n\n  scope.$watch(scope.c.idName, function (newValues, oldValues, scope) {\n    scope.typeaheadElement = $(\n      '#' + scope.c.idName + '.typeahead.form-control.pe-rest-typeahead-search__input'\n    );\n    scope.typeaheadContainer = scope.typeaheadElement.parent();\n\n    scope.typeaheadElement.typeahead({\n      minLength: 1,\n      delay: 200,\n      highlight: false\n    }, {\n      name: scope.c.name,\n      limit: scope.c.options.limit_result,\n      display: scope.c.options.display_field,\n      source: function (query, syncResults, asyncResults) {\n        if (query && query.length > 1) {\n          var entrypoint = scope.c.apiUrl + '&sysparm_query=' + scope.c.fieldCondition + query;\n          $.get(entrypoint, function (data) {\n            asyncResults(data.result);\n          });\n        }\n      }\n    });\n\n    scope.typeaheadElement.bind('typeahead:select', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('pe-rest-typeahead-search__dim');\n\n      scope.c.selected = true;\n      scope.c.typing = false;\n      scope.c.selectRecord(suggestion);\n    });\n\n    scope.typeaheadElement.bind('typeahead:active', function (ev, suggestion) {\n      scope.c.selected = false;\n      scope.c.typing = true;\n\n      if (scope.options.overlay)\n        scope.typeaheadContainer.addClass('pe-rest-typeahead-search__dim');\n    });\n\n    scope.typeaheadElement.bind('typeahead:close', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('pe-rest-typeahead-search__dim');\n      if (!scope.c.selected)\n        scope.typeaheadElement.typeahead('val', '');\n      scope.c.typing = false;\n    });\n\n  });\n}\n"
  },
  {
    "path": "pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-server-script.js",
    "content": "(function () {\n  data.uri = gs.getProperty('glide.servlet.uri');\n\n  options.overlay = options.overlay == 'true' || options.overlay == true;\n  options.order_by = options.order_by || options.display_field;\n\n  var gr = new GlideRecord('sp_instance_table');\n  gr.setLimit(1);\n  gr.addQuery('sp_widget', options.sp_widget);\n  gr.addQuery('sp_column', options.sp_column);\n  gr.query();\n  while (gr.next())\n    data.widget_sys_id = gr.getUniqueValue();\n\n})();\n"
  },
  {
    "path": "pe-root-cause/README.md",
    "content": "# Root Cause and Root Cause Details\n\n## Description\n\nQuery the most recent anonaly alert from the *em_alert_anomaly* table and provide associated record details: Configuration Item, Problem, and Change that has been identified as having caused the Incident. From the Problem record, any other Incidents are listed in 'Related Incidents'.\n\nThe detailed data is shown when the plus (+) graphic in the top right is selected/clicked, further details about the Root Cause is displayed through use of the `pe-root-cause-details` widget (_included_).\n\n\n## Screenshots\n### Collapsed View\n![alt text](../images/pe-root-cause-1a.png \"collapsed\")\n### Expanded View\n![alt text](../images/pe-root-cause-1b.png \"expanded\")\n### Resolved View\n![alt text](../images/pe-root-cause-2a.png \"resolved\")\n\n## Additional Information/Notes\nThe update set installs two (2) widgets - PE Root Cause and PE Root Cause Details.\nThough the PE Root Cause widget uses the PE Root Cause Details widget to display additional information about the alert anomaly, the details widget does not rely on the first widget in order to function.  The PE Root Cause Details can be used separately when configured with an anomaly alert record's sys_id.\n\n---\n## Installation\n---\nEnsure the that the **Performance Analytics - Content Pack - Event Management** plugin is Activated per the SN Plugin support section below.<br/><br/>\nDownload and install update set **[pe-root-cause.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-root-cause/pe-root-cause.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n1. **alert_sysid**: Provide an anomaly alert's sys_id and data in the widget will display based on related records.\n\n1. **titleIconClasses**: Provide a set of Font Awesome css classes for an icon to display next to the title. Defaults to `'fa fa-bolt'`.\n\n---\n## Platform Dependencies\n---\n### SN Plugin Support\n\nWidget support is provided by the ServiceNow® [Performance Analytics - Content Pack - Event Management](https://docs.servicenow.com/bundle/istanbul-performance-analytics-and-reporting/page/use/performance-analytics/reference/r_PALandingPage.html)<br/>\nPerformance Analytics content pack for Event Management core out-of-the-box KPIs. <br/>\n**For Customers:** _Activation of this plugin on production instances may require a separate Performance Analytics license. Contact ServiceNow for details._\n\n### SN System Tables\n* em_alert_anomaly\n* em_event_type\n* task\n\n---\n## Sample Data and Data Structures\n---\nWith the Performance Analytics - Content Pack - Event Management installed. The System table *em_alert_anomoly* and *em_event_type* is created.  `This update set will install samples record into the table.`\n\n`NOTE`\nThere are five (5) record insert or updates that occur as part of the Update Set installation.\nThe record for the *em_alert_anomaly* is updated to create the necessary links/connections with the required Change record, Problem record, and Incident record that are part of the _Task_ table.  These records are also provided as part of the update set.  Additionally, there is a single record created for the Event Type.  The record is added to the *em_event_type* table.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\nNone\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\nPE Root Cause widget:<br/>\n`$icon-circle-color: #7e848b !default;`<br/>\n`$text-color: #485563 !default;`<br/>\n`$divider-color: #7E848B !default;`<br/>\n`$status-alert-color: #ff6f00 !default;`<br/>\n`$status-recovered-color: #34ba3d !default;`<br/>\n\n PE Root Cause Details widget:<br/>\n`$list-header-bg-color: #e8e8e8 !default;`<br/>\n`$state-default-color: #557f90 !default;`<br/>\n`$state-positive: #3abe43 !default;`<br/>\n`$state-negative: #ff402c !default;`<br/>"
  },
  {
    "path": "pe-root-cause/pe-root-cause.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-19 20:25:58\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Root Cause</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>4743f20c4f67320005be4d6e0210c708</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>123a03c84fa7320005be4d6e0210c78a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_8d2b96c513127200ba3a7b1a6144b0ed</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function RootCauseController() {\n  var c = this;\n  c.alert = c.data.alert;\n  c.drawerWidget = c.data.drawerWidget;\n\n  c.stats = [{\n    name: c.alert.ci.name,\n    icon: '#server'\n  },\n  {\n    name: c.alert.type,\n    icon: '#computer-ram'\n  },\n  {\n    name: 'Cause',\n    icon: '#calendar',\n    detail: c.alert.incident.cause.number || 'unknown'\n  }];\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n\n$icon-circle-color: #7e848b !default;\n\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n\n.panel-wrapper {\n\tmargin-bottom: 10px;\n}\n.panel-proper {\n\tbackground-color: #fff;\n\tborder-radius: 5px;\n\ttransition: box-shadow 0.5s;\n\tposition: relative;\n}\n.panel-header {\n\tposition: relative;\n\tpadding: 7px 12px;\n\tfont-size: 16px;\n\tfont-weight: 600;\n\tborder-bottom: 0.5px solid #7E848B;\n}\n.title-icon {\n\tdisplay: inline-block;\n\tbackground-color: $icon-circle-color;\n\twidth: 22px;\n\theight: 22px;\n\tfill: #fff;\n\tcolor: #fff;\n\ttext-align: center;\n\tborder-radius: 11px;\n\tmargin: 0 2px;\n\tfont-weight: 400;\n\t&amp;amp;:first-child {\n\t\tmargin-left: -5px;\n\t}\n}\n.panel-expander-wrapper {\n\tposition: absolute;\n\tcursor: pointer;\n\ttop: 7px;\n\tright: 7px;\n\twidth: 20px;\n\theight: 20px;\n\ttransition: transform 0.5s;\n\tfill: $slate;\n}\n\n.panel-expander {\n\theight: 20px;\n\twidth: 20px;\n}\n\n.panel-content {\n\tpadding: 12px;\n}\n.panel-drawer.collapsing {\n\tposition: inherit;\n\tz-index: -1;\n}\n.panel-drawer {\n\tbackground-color: rgba(255,255,255,1);\n\tborder-radius: 0 0 5px 5px;\n\tmargin-top: -5px;\n\toverflow: hidden;\n}\n\n.triptych {\n\ttext-align: center;\n\t.col-xs-4 {\n\t\tborder-right: 1px solid $divider-color;\n\t}\n\t.col-xs-4:last-child {\n\t\tborder-right: none;\n\t}\n}\n\n.subtitle {\n\tfont-size: 15px;\n}\n.subtitle-small {\n\tfont-size: 12px;\n}\n\n.key-value {\n\tcolor: $status-alert-color;\n\tfill: $status-alert-color;\n\tfont-size: 36px;\n\tfont-weight: 200;\n\theight: 40px;\n\twhite-space: nowrap;\n\tline-height: 1;\n}\n\n.key-value-label {\n\tfont-size: 14px;\n\tcolor: $status-alert-color;\n\tmargin-top: -10px;\n}\n\n.key-icon {\n\tvertical-align: middle;\n\tsvg {\n\t\twidth: 0.8em;\n\t\theight: 0.8em;\n\t}\n}\n\n.drawer-list-header {\n\tbackground-color: #e8e8e8;\n\tfont-size: 15px;\n\tfont-weight: 600;\n\tpadding: 8px 12px;\n\t&amp;amp;:first-child {\n\t\tpadding-top: 13px;\n\t}\n}\n.drawer-list-item {\n\tmargin-bottom: 10px;\n\t&amp;amp;:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.expanded {\n\t.panel-expander-wrapper {\n\t\ttransform: rotate(135deg);\n\t}\n\t.panel-proper {\n\t\tbox-shadow: 0 2px 4px 0 rgba(0,0,0,0.15);\n\t}\n}\n.recovered {\n\t.key-value {\n\t\tcolor: $status-recovered-color;\n\t\tfill: $status-recovered-color;\n\t}\n\t.key-value-label {\n\t\tcolor: $status-recovered-color;\n\t}\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-root-cause&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Root Cause&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"alert_sysid\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"},{\"name\":\"titleIconClasses\",\"label\":\"FontAwesome classes for icon to display next to title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\n\toptions.titleIconClasses = options.titleIconClasses || serverOptions.titleIconClasses || 'fa fa-bolt';\n\n\tvar getState = function(stateValue, table ){\n\t\tvar stateObj = {\n\t\t\tvalue: null,\n\t\t\tlabel: 'Unknown State'\n\t\t};\n\t\tvar state = new GlideRecord('sys_choice');\n\t\tstate.addQuery('element','state');\n\t\tstate.addQuery('name', table);\n\t\tstate.addQuery('value', stateValue);\n\t\tstate.query();\n\t\twhile(state.next()){\n\t\t\tstateObj = {\n\t\t\t\tvalue: stateValue,\n\t\t\t\tlabel: state.label.toString()\n\t\t\t};\n\t\t}\n\t\treturn stateObj;\n\t};\n\n\tvar buildAlert = function(rec){\n\t\treturn {\n\t\t\tsys_id: rec.sys_id.toString(),\n\t\t\ttype: rec.type.getDisplayValue(),\n\t\t\tdescription: rec.description.toString(),\n\t\t\tstate: rec.state.toString(),\n\t\t\tincident: {\n\t\t\t\tsys_id: rec.incident.sys_id.toString(),\n\t\t\t\tstate: getState(rec.incident.state.toString(), 'incident'),\n\t\t\t\tproblem: {\n\t\t\t\t\tname: rec.incident.problem_id.short_description.toString(),\n\t\t\t\t\tsys_id: rec.incident.problem_id.toString(),\n\t\t\t\t\tother_incidents: []\n\t\t\t\t},\n\t\t\t\tcause: {\n\t\t\t\t\tnumber: rec.incident.caused_by.number.toString(),\n\t\t\t\t\tdescription: rec.incident.caused_by.short_description.toString(),\n\t\t\t\t\tsys_id: rec.incident.caused_by.toString()\n\t\t\t\t}\n\t\t\t},\n\t\t\tci: {\n\t\t\t\tname: rec.cmdb_ci.name.toString(),\n\t\t\t\tsys_id: rec.cmdb_ci.toString(),\n\t\t\t\tnumber: rec.cmdb_ci.number.toString()\n\t\t\t}\n\t\t}\n\t}\n\n\tvar alert;\n\tvar alertGR = new GlideRecord('em_alert_anomaly');\n\tif (options.alert_sysid) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.get(options.alert_sysid);\n    alert = buildAlert( alertGR );\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    //alertGR.addEncodedQuery('state!=Closed');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    alertGR.next();\n    alert = buildAlert( alertGR );\n  }\n\n\tdata.alert = alert;\n\tdata.drawerWidget = $sp.getWidget('pe-root-cause-details', {\n\t\talert_sysid : options.alert_sysid\n\t});\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-21 16:16:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;8d2b96c513127200ba3a7b1a6144b0ed&lt;/sys_id&gt;&lt;sys_mod_count&gt;86&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Root Cause&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_8d2b96c513127200ba3a7b1a6144b0ed&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 20:23:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'recovered': (c.alert.state === 'Closed') }\"&gt;\n\t&lt;div class=\"panel-proper\"&gt;\n\t\t&lt;div class=\"panel-header\"&gt;\n\t\t\t&lt;span ng-if=\"options.titleIconClasses\" class=\"title-icon\"&gt;\n\t\t\t\t&lt;i class=\"{{options.titleIconClasses}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n\t\t\t&lt;/span&gt;\n\t\t\t&lt;span&gt;Root Cause Identified&lt;/span&gt;\n\t\t\t&lt;div class=\"panel-expander-wrapper\"\n\t\t\t\tng-if=\"c.alert.incident &amp;&amp; (c.alert.incident.problem.sys_id || c.alert.incident.cause.sys_id)\"\n\t\t\t\tng-click=\"c.expanded = !c.expanded\" data-toggle=\"collapse\" data-target=\"#root-cause-drawer\"\n\t\t\t\taria-expanded=\"false\" aria-controls=\"root-cause-drawer\"&gt;\n\t\t\t\t&lt;svg class=\"panel-expander\"&gt;\n\t\t\t\t\t&lt;use xlink:href=\"#plus\"&gt;&lt;/use&gt;\n\t\t\t\t&lt;/svg&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"panel-content\" id=\"panel-content\"&gt;\n\n\t\t\t&lt;div class=\"row triptych\"&gt;\n\t\t\t\t&lt;div class=\"col-xs-4\" ng-repeat=\"item in c.stats\"&gt;\n\t\t\t\t\t&lt;div class=\"key-value\"&gt;\n\t\t\t\t\t\t&lt;span ng-if=\"item.value\"&gt;{{item.value}}&lt;/span&gt;\n\t\t\t\t\t\t&lt;span ng-if=\"item.icon\" class=\"key-icon\"&gt;\n\t\t\t\t\t\t\t&lt;svg&gt;\n\t\t\t\t\t\t\t\t&lt;use xlink:href={{item.icon}}&gt;&lt;/use&gt;\n\t\t\t\t\t\t\t&lt;/svg&gt;\n\t\t\t\t\t\t&lt;/span&gt;\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t&lt;div class=\"subtitle\"&gt;\n\t\t\t\t\t\t{{item.name}}\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t\t&lt;div ng-if=\"item.detail\" class=\"subtitle-small\"&gt;\n\t\t\t\t\t\t{{item.detail}}\n\t\t\t\t\t&lt;/div&gt;\n\t\t\t\t&lt;/div&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n\t&lt;div ng-if=\"c.drawerWidget\" class=\"panel-drawer collapse\" id=\"root-cause-drawer\"&gt;\n\t\t&lt;sp-widget widget=\"c.drawerWidget\"&gt;&lt;/sp-widget&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"hidden\"&gt;\n\n\t&lt;svg version=\"1.1\" id=\"plus\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t\t viewBox=\"0 0 23 23\" style=\"enable-background:new 0 0 23 23;\" xml:space=\"preserve\"&gt;\n\t\t&lt;path d=\"M11.5,0C5.2,0,0,5.2,0,11.5S5.2,23,11.5,23S23,17.8,23,11.5S17.8,0,11.5,0z M11.5,22C5.7,22,1,17.3,1,11.5S5.7,1,11.5,1\n\t\t\tS22,5.7,22,11.5S17.3,22,11.5,22z\"/&gt;\n\t\t&lt;path d=\"M11.5,18c-0.3,0-0.5-0.2-0.5-0.5v-12C11,5.2,11.2,5,11.5,5S12,5.2,12,5.5v12C12,17.8,11.8,18,11.5,18z\"/&gt;\n\t\t&lt;path d=\"M17.5,12h-12C5.2,12,5,11.8,5,11.5S5.2,11,5.5,11h12c0.3,0,0.5,0.2,0.5,0.5S17.8,12,17.5,12z\"/&gt;\n\t&lt;/svg&gt;\n\n&lt;svg version=\"1.1\" id=\"server\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 593.6 593.3\" style=\"enable-background:new 0 0 593.6 593.3;\" xml:space=\"preserve\"&gt;\n&lt;g&gt;\n\t&lt;path d=\"M593.6,212.1c0,56.6,0,112.7,0,169.2c-197.8,0-395.5,0-593.4,0c0-56.3,0-112.6,0-169.2\n\t\tC197.8,212.1,395.5,212.1,593.6,212.1z M90.9,308.9c53.4,0,106.2,0,159.3,0c0-8.3,0-16.2,0-24.3c-53.2,0-106.1,0-159.3,0\n\t\tC90.9,292.7,90.9,300.6,90.9,308.9z M410.9,268.2c0,19.3,0,38.3,0,57.4c8.3,0,16.3,0,24.4,0c0-19.4,0-38.3,0-57.4\n\t\tC427,268.2,419.1,268.2,410.9,268.2z M515.7,325.8c0-19.5,0-38.4,0-57.6c-8.2,0-16.1,0-24.3,0c0,19.3,0,38.3,0,57.6\n\t\tC499.6,325.8,507.5,325.8,515.7,325.8z\"/&gt;\n\t&lt;path d=\"M0.2,0c197.9,0,395.3,0,593.1,0c0,56.5,0,112.9,0,169.5c-197.7,0-395.2,0-593.1,0C0.2,113.2,0.2,56.8,0.2,0z M250.3,72.8\n\t\tc-53.2,0-106.2,0-159.3,0c0,8.3,0,16.3,0,24.3c53.3,0,106.1,0,159.3,0C250.3,88.9,250.3,81,250.3,72.8z M410.2,56.3\n\t\tc0,19.4,0,38.2,0,57.1c8.3,0,16.2,0,24.3,0c0-19.1,0-38,0-57.1C426.3,56.3,418.4,56.3,410.2,56.3z M491.1,56.4\n\t\tc0,19.3,0,38.2,0,56.9c8.3,0,16.3,0,24.3,0c0-19.1,0-37.9,0-56.9C507.2,56.4,499.3,56.4,491.1,56.4z\"/&gt;\n\t&lt;path d=\"M0,593.3c0-56.6,0-112.7,0-169.2c197.8,0,395.5,0,593.4,0c0,56.3,0,112.6,0,169.2C395.8,593.3,198.1,593.3,0,593.3z\n\t\t M569.1,449.1c-181.7,0-362.8,0-543.9,0c0,40.2,0,79.9,0,119.7c181.5,0,362.6,0,543.9,0C569.1,528.7,569.1,489,569.1,449.1z\"/&gt;\n\t&lt;path d=\"M250.3,496.4c0,8.2,0,16.1,0,24.3c-53.1,0-106,0-159.3,0c0-8,0-16,0-24.3C144.1,496.4,197.1,496.4,250.3,496.4z\"/&gt;\n\t&lt;path d=\"M435.3,537.7c-8.2,0-16.1,0-24.3,0c0-19.1,0-38.1,0-57.6c7.9,0,16,0,24.3,0C435.3,499.3,435.3,518.2,435.3,537.7z\"/&gt;\n\t&lt;path d=\"M515.8,537.6c-8.4,0-16.3,0-24.5,0c0-19.2,0-38.1,0-57.4c8.1,0,16.2,0,24.5,0C515.8,499.3,515.8,518.3,515.8,537.6z\"/&gt;\n&lt;/g&gt;\n&lt;/svg&gt;\n\n&lt;svg id=\"computer-ram\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 27.6 27.6\" style=\"enable-background:new 0 0 27.6 27.6;\" xml:space=\"preserve\"&gt;\n&lt;g&gt;\n\t&lt;g transform=\"translate(-167.000000, -56.000000)\"&gt;\n\t\t&lt;g transform=\"translate(128.000000, 56.000000)\"&gt;\n\t\t\t&lt;g transform=\"translate(39.000000, 0.000000)\"&gt;\n\t\t\t\t&lt;path d=\"M27.4,7.6L20,0.2c-0.2-0.2-0.6-0.2-0.8,0l-8.2,8.2c-0.2,0.2-0.2,0.6,0,0.8l0.4,0.4\n\t\t\t\t\tc1.1,1.1-0.6,2.7-1.6,1.7l-0.4-0.4c-0.2-0.2-0.6-0.2-0.8,0l-8.2,8.2c-0.2,0.2-0.2,0.6,0,0.8l7.4,7.4c0.2,0.2,0.6,0.2,0.8,0\n\t\t\t\t\tl19-19C27.6,8.2,27.6,7.8,27.4,7.6z M18.7,2.2l1.7,1.7l-0.8,0.8L17.9,3L18.7,2.2z M17.1,3.9l1.7,1.7l-0.8,0.8l-1.7-1.7L17.1,3.9\n\t\t\t\t\tz M15.4,5.5l1.7,1.7L16.3,8l-1.7-1.7L15.4,5.5z M13.8,7.2l1.7,1.7l-0.8,0.8L12.9,8L13.8,7.2z M8,13l1.6,1.6l-0.8,0.8l-1.6-1.6\n\t\t\t\t\tL8,13z M6.4,14.6L8,16.3l-0.8,0.8l-1.6-1.6L6.4,14.6z M4.7,16.3l1.6,1.6l-0.8,0.8l-1.6-1.6L4.7,16.3z M3.9,20.4l-1.6-1.6\n\t\t\t\t\tl0.8-0.8l1.6,1.6L3.9,20.4z M8,23.7l-2.5-2.5l4.1-4.1l2.5,2.5L8,23.7z M13.8,17.9l-2.5-2.5l4.1-4.1l2.5,2.5L13.8,17.9z\n\t\t\t\t\t M19.6,12.1l-2.5-2.5l4.1-4.1L23.7,8L19.6,12.1z\"/&gt;\n\t\t\t&lt;/g&gt;\n\t\t&lt;/g&gt;\n\t&lt;/g&gt;\n&lt;/g&gt;\n&lt;/svg&gt;\n\n&lt;svg version=\"1.1\" id=\"calendar\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 24 24\" style=\"enable-background:new 0 0 24 24;\" xml:space=\"preserve\"&gt;\n&lt;path d=\"M23.5,24h-23C0.2,24,0,23.8,0,23.5v-21C0,2.2,0.2,2,0.5,2h4C4.8,2,5,2.2,5,2.5S4.8,3,4.5,3H1v20h22V3h-3.5\n\tC19.2,3,19,2.8,19,2.5S19.2,2,19.5,2h4C23.8,2,24,2.2,24,2.5v21C24,23.8,23.8,24,23.5,24z\"/&gt;\n&lt;path d=\"M7.5,5h-3C4.2,5,4,4.8,4,4.5v-4C4,0.2,4.2,0,4.5,0h3C7.8,0,8,0.2,8,0.5v4C8,4.8,7.8,5,7.5,5z M5,4h2V1H5V4z\"/&gt;\n&lt;path d=\"M19.5,5h-3C16.2,5,16,4.8,16,4.5v-4C16,0.2,16.2,0,16.5,0h3C19.8,0,20,0.2,20,0.5v4C20,4.8,19.8,5,19.5,5z M17,4h2V1h-2V4z\"\n\t/&gt;\n&lt;path d=\"M16.5,3h-9C7.2,3,7,2.8,7,2.5S7.2,2,7.5,2h9C16.8,2,17,2.2,17,2.5S16.8,3,16.5,3z\"/&gt;\n&lt;path d=\"M23.5,8h-23C0.2,8,0,7.8,0,7.5S0.2,7,0.5,7h23C23.8,7,24,7.2,24,7.5S23.8,8,23.5,8z\"/&gt;\n&lt;path d=\"M6.5,22C6.2,22,6,21.8,6,21.5v-12C6,9.2,6.2,9,6.5,9S7,9.2,7,9.5v12C7,21.8,6.8,22,6.5,22z\"/&gt;\n&lt;path d=\"M11.5,22c-0.3,0-0.5-0.2-0.5-0.5v-12C11,9.2,11.2,9,11.5,9S12,9.2,12,9.5v12C12,21.8,11.8,22,11.5,22z\"/&gt;\n&lt;path d=\"M16.5,22c-0.3,0-0.5-0.2-0.5-0.5v-12C16,9.2,16.2,9,16.5,9S17,9.2,17,9.5v12C17,21.8,16.8,22,16.5,22z\"/&gt;\n&lt;path d=\"M21.5,12h-19C2.2,12,2,11.8,2,11.5S2.2,11,2.5,11h19c0.3,0,0.5,0.2,0.5,0.5S21.8,12,21.5,12z\"/&gt;\n&lt;path d=\"M21.5,16h-19C2.2,16,2,15.8,2,15.5S2.2,15,2.5,15h19c0.3,0,0.5,0.2,0.5,0.5S21.8,16,21.5,16z\"/&gt;\n&lt;path d=\"M21.5,20h-19C2.2,20,2,19.8,2,19.5S2.2,19,2.5,19h19c0.3,0,0.5,0.2,0.5,0.5S21.8,20,21.5,20z\"/&gt;\n&lt;/svg&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>123a03c84fa7320005be4d6e0210c78c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>PE Root Cause</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>em_event_type_8f36f42013d776006749bccf3244b045</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"em_event_type\"><em_event_type action=\"INSERT_OR_UPDATE\"><name>Slow Network Performance</name><pattern>Slow Network Performance</pattern><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-08 12:41:10</sys_created_on><sys_id>8f36f42013d776006749bccf3244b045</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-08 12:41:10</sys_updated_on></em_event_type></record_update>]]></payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>163a03c84fa7320005be4d6e0210c78b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>Slow Network Performance</target_name>\n<type>Event Type</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>em_alert_anomaly_6726b3c813db36006749bccf3244b025</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"em_alert_anomaly\"><em_alert_anomaly action=\"INSERT_OR_UPDATE\"><acknowledged>false</acknowledged><additional_info/><category>Default</category><classification>0</classification><cmdb_ci display_value=\"ny8500-nbxs08\">55b35562c0a8010e01cff22378e0aea9</cmdb_ci><correlation_group>0</correlation_group><correlation_rule_group>0</correlation_rule_group><description>Abnormally High Response Times</description><event_class/><flap_count/><flap_last_state/><flap_last_update_time/><flap_start_window/><group/><group_source>6</group_source><impact_services/><incident display_value=\"INC0000046\">a9e30c7dc61122760116894de7bcc7bd</incident><initial_event_time/><initial_remote_time/><is_group_alert>false</is_group_alert><kb/><kb_url>/kb_view.do?sysparm_article=</kb_url><last_event_time/><last_remote_time/><last_update_time_by_event/><maintenance>false</maintenance><message_key/><metric_name/><node/><number>Alert Anomaly10000</number><parent/><remote_task_id/><resource/><severity>1</severity><short_description/><source/><state>Open</state><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-07 13:26:35</sys_created_on><sys_domain>global</sys_domain><sys_id>6726b3c813db36006749bccf3244b025</sys_id><sys_mod_count>7</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-08 12:41:20</sys_updated_on><type display_value=\"Slow Network Performance\">8f36f42013d776006749bccf3244b045</type><work_notes/></em_alert_anomaly></record_update>]]></payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>523a03c84fa7320005be4d6e0210c78b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>Alert Anomaly10000</target_name>\n<type>Alert Anomaly</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3ba4a20a13de7200ba3a7b1a6144b09f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function RootCauseDetailsController() {\n  var c = this;\n  c.incident = c.data.incident;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$list-header-bg-color: #e8e8e8 !default;\n$state-default-color: #557f90 !default;\n$state-positive: #3abe43 !default;\n$state-negative: #ff402c !default;\n\n.event {\n\tfont-size: 15px;\n}\n.event-state {\n\tfont-size: 13px;\n}\n\n.drawer-list {\n\tpadding: 12px;\n\t&amp;amp;:first-child {\n\t\tpadding-top: 17px;\n\t}\n}\n\n.drawer-list-header {\n\tborder-top: solid 0.5px rgba(52, 61, 71, 0.15);\n\tbackground-color: $list-header-bg-color;\n\tfont-size: 15px;\n\tfont-weight: 600;\n\tpadding: 8px 12px;\n\t&amp;amp;:first-child {\n\t\tpadding-top: 13px;\n\t}\n}\n.drawer-list-item {\n\tmargin-bottom: 10px;\n\t&amp;amp;:last-child {\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.event-state {\n\tcolor: $state-default-color;\n}\n.state-closed, .state-canceled {\n\tcolor: $state-positive;\n}\n.state-open, .state-in-progress {\n\tcolor: $state-negative;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-root-cause-details&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Root Cause Details&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"alert_sysid\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\n\n\tvar getState = function(stateValue, table ){\n\t\tvar stateObj = {\n\t\t\tvalue: null,\n\t\t\tlabel: 'Unknown State',\n\t\t\tlabelClass: ''\n\t\t};\n\t\tvar state = new GlideRecord('sys_choice');\n\t\tstate.addQuery('element','state');\n\t\tstate.addQuery('name', table);\n\t\tstate.addQuery('value', stateValue);\n\t\tstate.query();\n\t\twhile(state.next()){\n\t\t\tstateObj = {\n\t\t\t\tvalue: stateValue,\n\t\t\t\tlabel: state.label.toString(),\n\t\t\t\tlabelClass: state.label.toLowerCase().split(' ').join('-')\n\t\t\t};\n\t\t};\n\t\treturn stateObj;\n\t};\n\n\tvar buildAlert = function(rec){\n\t\treturn {\n\t\t\tsys_id: rec.sys_id.toString(),\n\t\t\ttype: rec.type.getDisplayValue(),\n\t\t\tdescription: rec.description.toString(),\n\t\t\tincident: rec.incident.sys_id.toString(),\n\t\t\tci: {\n\t\t\t\tname: rec.cmdb_ci.name.toString(),\n\t\t\t\tsys_id: rec.cmdb_ci.toString(),\n\t\t\t\tnumber: rec.cmdb_ci.number.toString()\n\t\t\t}\n\t\t}\n\t}\n\n\tvar alert;\n\tvar alertGR = new GlideRecord('em_alert_anomaly');\n\tif (options.alert_sysid) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.get(options.alert_sysid);\n    alert = buildAlert( alertGR );\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    //alertGR.addEncodedQuery('state!=Closed');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    alertGR.next();\n    alert = buildAlert( alertGR );\n  }\n\n\tdata.alert = alert;\n\n\tif(alert.incident){\n\n\t\tvar incidentGR = new GlideRecord('incident');\n\t\tif (incidentGR.get(alert.incident)) {\n\t\t\tvar incident = {\n\t\t\t\tsys_id: incidentGR.sys_id.toString(),\n\t\t\t\tproblem: {\n\t\t\t\t\tdescription: incidentGR.problem_id.short_description.toString(),\n\t\t\t\t\tnumber: incidentGR.problem_id.number.toString(),\n\t\t\t\t\tsys_id: incidentGR.problem_id.toString(),\n\t\t\t\t\tstate: getState(incidentGR.problem_id.state.toString(), 'problem'),\n\t\t\t\t\tother_incidents: []\n\t\t\t\t},\n\t\t\t\tcause: {\n\t\t\t\t\tnumber: incidentGR.caused_by.number.toString(),\n\t\t\t\t\tdescription: incidentGR.caused_by.short_description.toString(),\n\t\t\t\t\tstate: getState(incidentGR.caused_by.state.toString(), 'change_request'),\n\t\t\t\t\tsys_id: incidentGR.caused_by.toString()\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (incident.problem.sys_id) {\n\t\t\t\tvar otherIncidents = [];\n\t\t\t\tvar otherIncidentGR = new GlideRecord('incident');\n\t\t\t\totherIncidentGR.addQuery('problem_id', incident.problem.sys_id);\n\t\t\t\totherIncidentGR.query();\n\t\t\t\twhile(otherIncidentGR.next()){\n\t\t\t\t\totherIncidents.push({\n\t\t\t\t\t\tsys_id: otherIncidentGR.sys_id.toString(),\n\t\t\t\t\t\tdescription: otherIncidentGR.short_description.toString(),\n\t\t\t\t\t\tnumber: otherIncidentGR.number.toString(),\n\t\t\t\t\t\tstate: getState(otherIncidentGR.state.toString(), 'incident')\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tincident.problem.other_incidents = otherIncidents;\n\t\t\t}\n\n\t\t\tdata.incident = incident;\n\n\t\t}\n\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 19:31:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3ba4a20a13de7200ba3a7b1a6144b09f&lt;/sys_id&gt;&lt;sys_mod_count&gt;83&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Root Cause Details&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3ba4a20a13de7200ba3a7b1a6144b09f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-19 20:25:08&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if-start=\"c.incident.problem.sys_id\" class=\"drawer-list-header\"&gt;\n\tRelated Problem\n&lt;/div&gt;\n&lt;div ng-if-end class=\"drawer-list\"&gt;\n\t&lt;div class=\"drawer-list-item row\"&gt;\n\t\t&lt;div class=\"col-xs-8\"&gt;\n\t\t\t&lt;div class=\"event\"&gt;{{c.incident.problem.description}}&lt;/div&gt;\n\t\t\t&lt;div class=\"event-state state-{{c.incident.problem.state.labelClass}}\"&gt;{{c.incident.problem.state.label}}&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"col-xs-4\"&gt;\n\t\t\t&lt;div class=\"event\"&gt;{{c.incident.problem.number}}&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if-start=\"c.incident.cause.sys_id\" class=\"drawer-list-header\"&gt;\n\tCaused by Change\n&lt;/div&gt;\n&lt;div ng-if-end class=\"drawer-list\"&gt;\n\t&lt;div class=\"drawer-list-item row\"&gt;\n\t\t&lt;div class=\"col-xs-8\"&gt;\n\t\t\t&lt;div class=\"event\"&gt;{{c.incident.cause.description}}&lt;/div&gt;\n\t\t\t&lt;div class=\"event-state state-{{c.incident.cause.state.labelClass}}\"&gt;{{c.incident.cause.state.label}}&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"col-xs-4\"&gt;\n\t\t\t&lt;div class=\"event\"&gt;{{c.incident.cause.number}}&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if-start=\"c.incident.problem.other_incidents.length\" class=\"drawer-list-header\"&gt;\n\tRelated Incidents\n&lt;/div&gt;\n&lt;div ng-if-end class=\"drawer-list\"&gt;\n\t&lt;div ng-repeat=\"item in c.incident.problem.other_incidents\" class=\"drawer-list-item row\"&gt;\n\t\t&lt;div class=\"col-xs-8\"&gt;\n\t\t\t&lt;div class=\"event\"&gt;{{item.description}}&lt;/div&gt;\n\t\t\t&lt;div class=\"event-state state-{{item.state.labelClass}}\"&gt;{{item.state.label}}&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t\t&lt;div class=\"col-xs-4\"&gt;\n\t\t\t&lt;div class=\"event\"&gt;{{item.number}}&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>5e3a03c84fa7320005be4d6e0210c78b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>PE Root Cause Details</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>change_request_a9e9c33dc61122760072455df62663d2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"change_request\"><change_request action=\"INSERT_OR_UPDATE\"><active>true</active><activity_due/><additional_assignee_list/><approval>requested</approval><approval_history/><approval_set/><assigned_to display_value=\"ITIL User\">681b365ec0a80164000fb0b05854a0cd</assigned_to><assignment_group/><backout_plan>Current prod environment to be snapshotted with VmWare\n            prior to change.\n        </backout_plan><business_duration/><business_service/><cab_date/><cab_delegate/><cab_recommendation/><cab_required>false</cab_required><calendar_duration/><category>Software</category><change_plan>Backup dataset, image current system, reinstall previous\n            release, test\n        </change_plan><close_code/><close_notes/><closed_at>2017-01-24 09:46:25</closed_at><closed_by display_value=\"System Administrator\">6816f79cc0a8016401c5a33be04be441</closed_by><cmdb_ci display_value=\"Sales Force Automation\">a9c0c8d2c6112276018f7705562f9cb0</cmdb_ci><comments/><comments_and_work_notes/><company/><conflict_last_run/><conflict_status/><contact_type>phone</contact_type><contract/><correlation_display/><correlation_id/><delivery_plan/><delivery_task/><description>Performance of the Siebel SFA software has been severely\n            degraded since the upgrade performed this weekend.\n\n            We moved to an unsupported Oracle DB version. Need to rollback the\n            Oracle Instance to a supported version.\n        </description><due_date/><end_date>2017-01-17 01:00:00</end_date><escalation>0</escalation><expected_start/><follow_up/><group_list/><impact>3</impact><implementation_plan/><justification/><knowledge>false</knowledge><location/><made_sla>false</made_sla><number>CHG0000001</number><on_hold>false</on_hold><on_hold_reason/><opened_at>2016-07-25 22:12:50</opened_at><opened_by display_value=\"System Administrator\">6816f79cc0a8016401c5a33be04be441</opened_by><order/><outside_maintenance_schedule>false</outside_maintenance_schedule><parent/><phase>requested</phase><phase_state>open</phase_state><priority>3</priority><production_system>false</production_system><reason/><reassignment_count/><rejection_goto/><requested_by display_value=\"David Loo\">5137153cc611227c000bbd1bd8cd2007</requested_by><requested_by_date>2016-08-01 00:00:00</requested_by_date><review_comments/><review_date/><review_status>3</review_status><risk>2</risk><risk_impact_analysis/><scope>3</scope><short_description>Rollback Oracle Version</short_description><skills/><sla_due/><start_date>2017-01-16 23:00:00</start_date><state>-5</state><std_change_producer_version/><sys_class_name>change_request</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2016-07-25 22:12:50</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a9e9c33dc61122760072455df62663d2</sys_id><sys_mod_count>21</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-01-29 12:42:23</sys_updated_on><test_plan>Multi-User testing on Sunday night</test_plan><time_worked/><type>normal</type><upon_approval/><upon_reject/><urgency>3</urgency><user_input/><variables/><watch_list/><wf_activity/><work_end/><work_notes/><work_notes_list/><work_start/></change_request></record_update>]]></payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>9a3a03c84fa7320005be4d6e0210c78a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>CHG0000001</target_name>\n<type>Change Request</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>problem_a9e4890bc6112276003d7a5a5c774a74</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"problem\"><problem action=\"INSERT_OR_UPDATE\"><active>true</active><activity_due/><additional_assignee_list/><approval>not requested</approval><approval_history/><approval_set/><assigned_to display_value=\"ITIL User\">681b365ec0a80164000fb0b05854a0cd</assigned_to><assignment_group/><business_duration/><business_service/><calendar_duration/><close_notes/><closed_at/><closed_by/><cmdb_ci display_value=\"Sales Force Automation\">a9c0c8d2c6112276018f7705562f9cb0</cmdb_ci><comments/><comments_and_work_notes/><company/><contact_type>phone</contact_type><contract/><correlation_display/><correlation_id/><delivery_plan/><delivery_task/><description>Performance of the Siebel SFA software has been severely degraded since the upgrade performed this\n\t\t\tweekend. &#13;\n\t\t\t&#13;\n\t\t\tWe moved to an unsupported Oracle DB version.\n\t\t</description><due_date/><escalation>2</escalation><expected_start/><follow_up/><group_list/><impact>3</impact><knowledge>false</knowledge><known_error>false</known_error><location/><made_sla>false</made_sla><number>PRB0000006</number><opened_at>2016-07-31 22:07:07</opened_at><opened_by display_value=\"System Administrator\">6816f79cc0a8016401c5a33be04be441</opened_by><order/><parent/><priority>3</priority><problem_state>2</problem_state><reassignment_count/><rejection_goto/><related_incidents/><rfc display_value=\"CHG0000001\">a9e9c33dc61122760072455df62663d2</rfc><short_description>Can't access SFA software</short_description><skills/><sla_due/><state>2</state><sys_class_name>problem</sys_class_name><sys_created_by>ITIL User</sys_created_by><sys_created_on>2016-07-31 22:07:07</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a9e4890bc6112276003d7a5a5c774a74</sys_id><sys_mod_count>6</sys_mod_count><sys_updated_by>glide.maint</sys_updated_by><sys_updated_on>2016-08-30 22:39:56</sys_updated_on><time_worked/><upon_approval/><upon_reject/><urgency>3</urgency><user_input/><variables/><watch_list/><wf_activity/><work_around/><work_end/><work_notes/><work_notes_list/><work_start/></problem></record_update>]]></payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>9a3a03c84fa7320005be4d6e0210c78b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>PRB0000006</target_name>\n<type>Problem</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>incident_a9e30c7dc61122760116894de7bcc7bd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"incident\"><incident action=\"INSERT_OR_UPDATE\"><active>true</active><activity_due/><additional_assignee_list/><approval>not requested</approval><approval_history/><approval_set/><assigned_to/><assignment_group display_value=\"Software\" name=\"Software\">8a4dde73c6112278017a6a4baf547aa7</assignment_group><business_duration/><business_service/><business_stc/><calendar_duration/><calendar_stc/><caller_id display_value=\"Bud Richman\">46c6f9efa9fe198101ddf5eed9adf6e7</caller_id><category>software</category><caused_by display_value=\"CHG0000069\">b1cd7552db252200a6a2b31be0b8f536</caused_by><child_incidents/><close_code/><close_notes/><closed_at/><closed_by/><cmdb_ci display_value=\"Sales Force Automation\">a9c0c8d2c6112276018f7705562f9cb0</cmdb_ci><comments/><comments_and_work_notes/><company display_value=\"ACME North America\">31bea3d53790200044e0bfc8bcbe5dec</company><contact_type>phone</contact_type><contract/><correlation_display/><correlation_id/><delivery_plan/><delivery_task/><description/><due_date/><escalation>0</escalation><expected_start/><follow_up/><group_list/><hold_reason/><impact>1</impact><incident_state>1</incident_state><knowledge>false</knowledge><location display_value=\"324 South State Street, Salt Lake City,UT\">105cf7f3c611227501e75e08b14a38ba</location><made_sla>false</made_sla><notify>1</notify><number>INC0000046</number><opened_at>2017-01-08 22:04:15</opened_at><opened_by display_value=\"Bud Richman\">46c6f9efa9fe198101ddf5eed9adf6e7</opened_by><order/><parent/><parent_incident/><priority>3</priority><problem_id display_value=\"PRB0000006\">a9e4890bc6112276003d7a5a5c774a74</problem_id><reassignment_count>1</reassignment_count><rejection_goto/><reopen_count/><resolved_at/><resolved_by/><rfc/><severity>3</severity><short_description>Can't access SFA software</short_description><skills/><sla_due>2017-01-17 22:04:15</sla_due><state>1</state><subcategory/><sys_class_name>incident</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-01-07 22:05:30</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a9e30c7dc61122760116894de7bcc7bd</sys_id><sys_mod_count>5</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-08 12:33:27</sys_updated_on><time_worked/><upon_approval/><upon_reject/><urgency>3</urgency><user_input/><variables/><watch_list/><wf_activity/><work_end/><work_notes/><work_notes_list/><work_start/></incident></record_update>]]></payload>\n<remote_update_set display_value=\"PE Root Cause\">123a03c84fa7320005be4d6e0210c78a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-19 20:25:58</sys_created_on>\n<sys_id>d63a03c84fa7320005be4d6e0210c78b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-19 20:25:58</sys_updated_on>\n<table/>\n<target_name>INC0000046</target_name>\n<type>Incident</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-root-cause/widget/pe-root-cause.u-body-html-template.html",
    "content": "<div class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'recovered': (c.alert.state === 'Closed') }\">\r\n    <div class=\"panel-proper\">\r\n        <div class=\"panel-header\">\r\n            <span ng-if=\"options.titleIconClasses\" class=\"title-icon\">\r\n\t\t\t\t<i class=\"{{options.titleIconClasses}}\" aria-hidden=\"true\"></i>\r\n\t\t\t</span>\r\n            <span>Root Cause Identified</span>\r\n            <div class=\"panel-expander-wrapper\" ng-if=\"c.alert.incident && (c.alert.incident.problem.sys_id || c.alert.incident.cause.sys_id)\" ng-click=\"c.expanded = !c.expanded\" data-toggle=\"collapse\" data-target=\"#root-cause-drawer\" aria-expanded=\"false\" aria-controls=\"root-cause-drawer\">\r\n                <svg class=\"panel-expander\">\r\n\t\t\t\t\t<use xlink:href=\"#plus\"></use>\r\n\t\t\t\t</svg>\r\n            </div>\r\n        </div>\r\n        <div class=\"panel-content\" id=\"panel-content\">\r\n\r\n            <div class=\"row triptych\">\r\n                <div class=\"col-xs-4\" ng-repeat=\"item in c.stats\">\r\n                    <div class=\"key-value\">\r\n                        <span ng-if=\"item.value\">{{item.value}}</span>\r\n                        <span ng-if=\"item.icon\" class=\"key-icon\">\r\n\t\t\t\t\t\t\t<svg>\r\n\t\t\t\t\t\t\t\t<use xlink:href={{item.icon}}></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</span>\r\n                    </div>\r\n                    <div class=\"subtitle\">\r\n                        {{item.name}}\r\n                    </div>\r\n                    <div ng-if=\"item.detail\" class=\"subtitle-small\">\r\n                        {{item.detail}}\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div ng-if=\"c.drawerWidget\" class=\"panel-drawer collapse\" id=\"root-cause-drawer\">\r\n        <sp-widget widget=\"c.drawerWidget\"></sp-widget>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"hidden\">\r\n\r\n    <svg version=\"1.1\" id=\"plus\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 23 23\" style=\"enable-background:new 0 0 23 23;\" xml:space=\"preserve\">\r\n\t\t<path d=\"M11.5,0C5.2,0,0,5.2,0,11.5S5.2,23,11.5,23S23,17.8,23,11.5S17.8,0,11.5,0z M11.5,22C5.7,22,1,17.3,1,11.5S5.7,1,11.5,1\r\n\t\t\tS22,5.7,22,11.5S17.3,22,11.5,22z\"/>\r\n\t\t<path d=\"M11.5,18c-0.3,0-0.5-0.2-0.5-0.5v-12C11,5.2,11.2,5,11.5,5S12,5.2,12,5.5v12C12,17.8,11.8,18,11.5,18z\"/>\r\n\t\t<path d=\"M17.5,12h-12C5.2,12,5,11.8,5,11.5S5.2,11,5.5,11h12c0.3,0,0.5,0.2,0.5,0.5S17.8,12,17.5,12z\"/>\r\n\t</svg>\r\n\r\n    <svg version=\"1.1\" id=\"server\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 593.6 593.3\" style=\"enable-background:new 0 0 593.6 593.3;\" xml:space=\"preserve\">\r\n<g>\r\n\t<path d=\"M593.6,212.1c0,56.6,0,112.7,0,169.2c-197.8,0-395.5,0-593.4,0c0-56.3,0-112.6,0-169.2\r\n\t\tC197.8,212.1,395.5,212.1,593.6,212.1z M90.9,308.9c53.4,0,106.2,0,159.3,0c0-8.3,0-16.2,0-24.3c-53.2,0-106.1,0-159.3,0\r\n\t\tC90.9,292.7,90.9,300.6,90.9,308.9z M410.9,268.2c0,19.3,0,38.3,0,57.4c8.3,0,16.3,0,24.4,0c0-19.4,0-38.3,0-57.4\r\n\t\tC427,268.2,419.1,268.2,410.9,268.2z M515.7,325.8c0-19.5,0-38.4,0-57.6c-8.2,0-16.1,0-24.3,0c0,19.3,0,38.3,0,57.6\r\n\t\tC499.6,325.8,507.5,325.8,515.7,325.8z\"/>\r\n\t<path d=\"M0.2,0c197.9,0,395.3,0,593.1,0c0,56.5,0,112.9,0,169.5c-197.7,0-395.2,0-593.1,0C0.2,113.2,0.2,56.8,0.2,0z M250.3,72.8\r\n\t\tc-53.2,0-106.2,0-159.3,0c0,8.3,0,16.3,0,24.3c53.3,0,106.1,0,159.3,0C250.3,88.9,250.3,81,250.3,72.8z M410.2,56.3\r\n\t\tc0,19.4,0,38.2,0,57.1c8.3,0,16.2,0,24.3,0c0-19.1,0-38,0-57.1C426.3,56.3,418.4,56.3,410.2,56.3z M491.1,56.4\r\n\t\tc0,19.3,0,38.2,0,56.9c8.3,0,16.3,0,24.3,0c0-19.1,0-37.9,0-56.9C507.2,56.4,499.3,56.4,491.1,56.4z\"/>\r\n\t<path d=\"M0,593.3c0-56.6,0-112.7,0-169.2c197.8,0,395.5,0,593.4,0c0,56.3,0,112.6,0,169.2C395.8,593.3,198.1,593.3,0,593.3z\r\n\t\t M569.1,449.1c-181.7,0-362.8,0-543.9,0c0,40.2,0,79.9,0,119.7c181.5,0,362.6,0,543.9,0C569.1,528.7,569.1,489,569.1,449.1z\"/>\r\n\t<path d=\"M250.3,496.4c0,8.2,0,16.1,0,24.3c-53.1,0-106,0-159.3,0c0-8,0-16,0-24.3C144.1,496.4,197.1,496.4,250.3,496.4z\"/>\r\n\t<path d=\"M435.3,537.7c-8.2,0-16.1,0-24.3,0c0-19.1,0-38.1,0-57.6c7.9,0,16,0,24.3,0C435.3,499.3,435.3,518.2,435.3,537.7z\"/>\r\n\t<path d=\"M515.8,537.6c-8.4,0-16.3,0-24.5,0c0-19.2,0-38.1,0-57.4c8.1,0,16.2,0,24.5,0C515.8,499.3,515.8,518.3,515.8,537.6z\"/>\r\n</g>\r\n</svg>\r\n\r\n    <svg id=\"computer-ram\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 27.6 27.6\" style=\"enable-background:new 0 0 27.6 27.6;\" xml:space=\"preserve\">\r\n<g>\r\n\t<g transform=\"translate(-167.000000, -56.000000)\">\r\n\t\t<g transform=\"translate(128.000000, 56.000000)\">\r\n\t\t\t<g transform=\"translate(39.000000, 0.000000)\">\r\n\t\t\t\t<path d=\"M27.4,7.6L20,0.2c-0.2-0.2-0.6-0.2-0.8,0l-8.2,8.2c-0.2,0.2-0.2,0.6,0,0.8l0.4,0.4\r\n\t\t\t\t\tc1.1,1.1-0.6,2.7-1.6,1.7l-0.4-0.4c-0.2-0.2-0.6-0.2-0.8,0l-8.2,8.2c-0.2,0.2-0.2,0.6,0,0.8l7.4,7.4c0.2,0.2,0.6,0.2,0.8,0\r\n\t\t\t\t\tl19-19C27.6,8.2,27.6,7.8,27.4,7.6z M18.7,2.2l1.7,1.7l-0.8,0.8L17.9,3L18.7,2.2z M17.1,3.9l1.7,1.7l-0.8,0.8l-1.7-1.7L17.1,3.9\r\n\t\t\t\t\tz M15.4,5.5l1.7,1.7L16.3,8l-1.7-1.7L15.4,5.5z M13.8,7.2l1.7,1.7l-0.8,0.8L12.9,8L13.8,7.2z M8,13l1.6,1.6l-0.8,0.8l-1.6-1.6\r\n\t\t\t\t\tL8,13z M6.4,14.6L8,16.3l-0.8,0.8l-1.6-1.6L6.4,14.6z M4.7,16.3l1.6,1.6l-0.8,0.8l-1.6-1.6L4.7,16.3z M3.9,20.4l-1.6-1.6\r\n\t\t\t\t\tl0.8-0.8l1.6,1.6L3.9,20.4z M8,23.7l-2.5-2.5l4.1-4.1l2.5,2.5L8,23.7z M13.8,17.9l-2.5-2.5l4.1-4.1l2.5,2.5L13.8,17.9z\r\n\t\t\t\t\t M19.6,12.1l-2.5-2.5l4.1-4.1L23.7,8L19.6,12.1z\"/>\r\n\t\t\t</g>\r\n\t\t</g>\r\n\t</g>\r\n</g>\r\n</svg>\r\n\r\n    <svg version=\"1.1\" id=\"calendar\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 24 24\" style=\"enable-background:new 0 0 24 24;\" xml:space=\"preserve\">\r\n<path d=\"M23.5,24h-23C0.2,24,0,23.8,0,23.5v-21C0,2.2,0.2,2,0.5,2h4C4.8,2,5,2.2,5,2.5S4.8,3,4.5,3H1v20h22V3h-3.5\r\n\tC19.2,3,19,2.8,19,2.5S19.2,2,19.5,2h4C23.8,2,24,2.2,24,2.5v21C24,23.8,23.8,24,23.5,24z\"/>\r\n<path d=\"M7.5,5h-3C4.2,5,4,4.8,4,4.5v-4C4,0.2,4.2,0,4.5,0h3C7.8,0,8,0.2,8,0.5v4C8,4.8,7.8,5,7.5,5z M5,4h2V1H5V4z\"/>\r\n<path d=\"M19.5,5h-3C16.2,5,16,4.8,16,4.5v-4C16,0.2,16.2,0,16.5,0h3C19.8,0,20,0.2,20,0.5v4C20,4.8,19.8,5,19.5,5z M17,4h2V1h-2V4z\"\r\n\t/>\r\n<path d=\"M16.5,3h-9C7.2,3,7,2.8,7,2.5S7.2,2,7.5,2h9C16.8,2,17,2.2,17,2.5S16.8,3,16.5,3z\"/>\r\n<path d=\"M23.5,8h-23C0.2,8,0,7.8,0,7.5S0.2,7,0.5,7h23C23.8,7,24,7.2,24,7.5S23.8,8,23.5,8z\"/>\r\n<path d=\"M6.5,22C6.2,22,6,21.8,6,21.5v-12C6,9.2,6.2,9,6.5,9S7,9.2,7,9.5v12C7,21.8,6.8,22,6.5,22z\"/>\r\n<path d=\"M11.5,22c-0.3,0-0.5-0.2-0.5-0.5v-12C11,9.2,11.2,9,11.5,9S12,9.2,12,9.5v12C12,21.8,11.8,22,11.5,22z\"/>\r\n<path d=\"M16.5,22c-0.3,0-0.5-0.2-0.5-0.5v-12C16,9.2,16.2,9,16.5,9S17,9.2,17,9.5v12C17,21.8,16.8,22,16.5,22z\"/>\r\n<path d=\"M21.5,12h-19C2.2,12,2,11.8,2,11.5S2.2,11,2.5,11h19c0.3,0,0.5,0.2,0.5,0.5S21.8,12,21.5,12z\"/>\r\n<path d=\"M21.5,16h-19C2.2,16,2,15.8,2,15.5S2.2,15,2.5,15h19c0.3,0,0.5,0.2,0.5,0.5S21.8,16,21.5,16z\"/>\r\n<path d=\"M21.5,20h-19C2.2,20,2,19.8,2,19.5S2.2,19,2.5,19h19c0.3,0,0.5,0.2,0.5,0.5S21.8,20,21.5,20z\"/>\r\n</svg>\r\n\r\n</div>"
  },
  {
    "path": "pe-root-cause/widget/pe-root-cause.u-client-script.js",
    "content": "function RootCauseController() {\n  var c = this;\n  c.alert = c.data.alert;\n  c.drawerWidget = c.data.drawerWidget;\n\n  c.stats = [{\n    name: c.alert.ci.name,\n    icon: '#server'\n  },\n  {\n    name: c.alert.type,\n    icon: '#computer-ram'\n  },\n  {\n    name: 'Cause',\n    icon: '#calendar',\n    detail: c.alert.incident.cause.number || 'unknown'\n  }];\n}"
  },
  {
    "path": "pe-root-cause/widget/pe-root-cause.u-css.css",
    "content": "$slate: #485563;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n$icon-circle-color: #7e848b !default;\n$text-color: $slate !default;\n$divider-color: #7E848B !default;\n$status-alert-color: $orange !default;\n$status-recovered-color: $medium-green !default;\n.panel-wrapper {\n    margin-bottom: 10px;\n}\n\n.panel-proper {\n    background-color: #fff;\n    border-radius: 5px;\n    transition: box-shadow 0.5s;\n    position: relative;\n}\n\n.panel-header {\n    position: relative;\n    padding: 7px 12px;\n    font-size: 16px;\n    font-weight: 600;\n    border-bottom: 0.5px solid #7E848B;\n}\n\n.title-icon {\n    display: inline-block;\n    background-color: $icon-circle-color;\n    width: 22px;\n    height: 22px;\n    fill: #fff;\n    color: #fff;\n    text-align: center;\n    border-radius: 11px;\n    margin: 0 2px;\n    font-weight: 400;\n    &:first-child {\n        margin-left: -5px;\n    }\n}\n\n.panel-expander-wrapper {\n    position: absolute;\n    cursor: pointer;\n    top: 7px;\n    right: 7px;\n    width: 20px;\n    height: 20px;\n    transition: transform 0.5s;\n    fill: $slate;\n}\n\n.panel-expander {\n    height: 20px;\n    width: 20px;\n}\n\n.panel-content {\n    padding: 12px;\n}\n\n.panel-drawer.collapsing {\n    position: inherit;\n    z-index: -1;\n}\n\n.panel-drawer {\n    background-color: rgba(255, 255, 255, 1);\n    border-radius: 0 0 5px 5px;\n    margin-top: -5px;\n    overflow: hidden;\n}\n\n.triptych {\n    text-align: center;\n    .col-xs-4 {\n        border-right: 1px solid $divider-color;\n    }\n    .col-xs-4:last-child {\n        border-right: none;\n    }\n}\n\n.subtitle {\n    font-size: 15px;\n}\n\n.subtitle-small {\n    font-size: 12px;\n}\n\n.key-value {\n    color: $status-alert-color;\n    fill: $status-alert-color;\n    font-size: 36px;\n    font-weight: 200;\n    height: 40px;\n    white-space: nowrap;\n    line-height: 1;\n}\n\n.key-value-label {\n    font-size: 14px;\n    color: $status-alert-color;\n    margin-top: -10px;\n}\n\n.key-icon {\n    vertical-align: middle;\n    svg {\n        width: 0.8em;\n        height: 0.8em;\n    }\n}\n\n.drawer-list-header {\n    background-color: #e8e8e8;\n    font-size: 15px;\n    font-weight: 600;\n    padding: 8px 12px;\n    &:first-child {\n        padding-top: 13px;\n    }\n}\n\n.drawer-list-item {\n    margin-bottom: 10px;\n    &:last-child {\n        margin-bottom: 0;\n    }\n}\n\n.expanded {\n    .panel-expander-wrapper {\n        transform: rotate(135deg);\n    }\n    .panel-proper {\n        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n    }\n}\n\n.recovered {\n    .key-value {\n        color: $status-recovered-color;\n        fill: $status-recovered-color;\n    }\n    .key-value-label {\n        color: $status-recovered-color;\n    }\n}"
  },
  {
    "path": "pe-root-cause/widget/pe-root-cause.u-option-schema.json",
    "content": "[{ \"name\": \"alert_sysid\", \"label\": \"Anomaly Alert sys_id\", \"type\": \"string\" }, { \"name\": \"titleIconClasses\", \"label\": \"FontAwesome classes for icon to display next to title\", \"type\": \"string\" }]"
  },
  {
    "path": "pe-root-cause/widget/pe-root-cause.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\r\n    options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\r\n    options.titleIconClasses = options.titleIconClasses || serverOptions.titleIconClasses || 'fa fa-bolt';\r\n\r\n    var getState = function(stateValue, table) {\r\n        var stateObj = {\r\n            value: null,\r\n            label: 'Unknown State'\r\n        };\r\n        var state = new GlideRecord('sys_choice');\r\n        state.addQuery('element', 'state');\r\n        state.addQuery('name', table);\r\n        state.addQuery('value', stateValue);\r\n        state.query();\r\n        while (state.next()) {\r\n            stateObj = {\r\n                value: stateValue,\r\n                label: state.label.toString()\r\n            };\r\n        }\r\n        return stateObj;\r\n    };\r\n\r\n    var buildAlert = function(rec) {\r\n        return {\r\n            sys_id: rec.sys_id.toString(),\r\n            type: rec.type.getDisplayValue(),\r\n            description: rec.description.toString(),\r\n            state: rec.state.toString(),\r\n            incident: {\r\n                sys_id: rec.incident.sys_id.toString(),\r\n                state: getState(rec.incident.state.toString(), 'incident'),\r\n                problem: {\r\n                    name: rec.incident.problem_id.short_description.toString(),\r\n                    sys_id: rec.incident.problem_id.toString(),\r\n                    other_incidents: []\r\n                },\r\n                cause: {\r\n                    number: rec.incident.caused_by.number.toString(),\r\n                    description: rec.incident.caused_by.short_description.toString(),\r\n                    sys_id: rec.incident.caused_by.toString()\r\n                }\r\n            },\r\n            ci: {\r\n                name: rec.cmdb_ci.name.toString(),\r\n                sys_id: rec.cmdb_ci.toString(),\r\n                number: rec.cmdb_ci.number.toString()\r\n            }\r\n        }\r\n    }\r\n\r\n    var alert;\r\n    var alertGR = new GlideRecord('em_alert_anomaly');\r\n    if (options.alert_sysid) {\r\n        alertGR = new GlideRecord('em_alert_anomaly');\r\n        alertGR.get(options.alert_sysid);\r\n        alert = buildAlert(alertGR);\r\n    } else {\r\n        alertGR = new GlideRecord('em_alert_anomaly');\r\n        //alertGR.addEncodedQuery('state!=Closed');\r\n        alertGR.orderByDesc('sys_created_on');\r\n        alertGR.query();\r\n        alertGR.next();\r\n        alert = buildAlert(alertGR);\r\n    }\r\n\r\n    data.alert = alert;\r\n    data.drawerWidget = $sp.getWidget('pe-root-cause-details', {\r\n        alert_sysid: options.alert_sysid\r\n    });\r\n\r\n})();"
  },
  {
    "path": "pe-root-cause-details/widget/pe-root-cause-details.u-body-html-template.html",
    "content": "<div ng-if-start=\"c.incident.problem.sys_id\" class=\"drawer-list-header\">\r\n    Related Problem\r\n</div>\r\n<div ng-if-end class=\"drawer-list\">\r\n    <div class=\"drawer-list-item row\">\r\n        <div class=\"col-xs-8\">\r\n            <div class=\"event\">{{c.incident.problem.description}}</div>\r\n            <div class=\"event-state state-{{c.incident.problem.state.labelClass}}\">{{c.incident.problem.state.label}}</div>\r\n        </div>\r\n        <div class=\"col-xs-4\">\r\n            <div class=\"event\">{{c.incident.problem.number}}</div>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<div ng-if-start=\"c.incident.cause.sys_id\" class=\"drawer-list-header\">\r\n    Caused by Change\r\n</div>\r\n<div ng-if-end class=\"drawer-list\">\r\n    <div class=\"drawer-list-item row\">\r\n        <div class=\"col-xs-8\">\r\n            <div class=\"event\">{{c.incident.cause.description}}</div>\r\n            <div class=\"event-state state-{{c.incident.cause.state.labelClass}}\">{{c.incident.cause.state.label}}</div>\r\n        </div>\r\n        <div class=\"col-xs-4\">\r\n            <div class=\"event\">{{c.incident.cause.number}}</div>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<div ng-if-start=\"c.incident.problem.other_incidents.length\" class=\"drawer-list-header\">\r\n    Related Incidents\r\n</div>\r\n<div ng-if-end class=\"drawer-list\">\r\n    <div ng-repeat=\"item in c.incident.problem.other_incidents\" class=\"drawer-list-item row\">\r\n        <div class=\"col-xs-8\">\r\n            <div class=\"event\">{{item.description}}</div>\r\n            <div class=\"event-state state-{{item.state.labelClass}}\">{{item.state.label}}</div>\r\n        </div>\r\n        <div class=\"col-xs-4\">\r\n            <div class=\"event\">{{item.number}}</div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-root-cause-details/widget/pe-root-cause-details.u-client-script.js",
    "content": "function RootCauseDetailsController() {\n  var c = this;\n  c.incident = c.data.incident;\n}"
  },
  {
    "path": "pe-root-cause-details/widget/pe-root-cause-details.u-css.css",
    "content": "$list-header-bg-color: #e8e8e8 !default;\n$state-default-color: #557f90 !default;\n$state-positive: #3abe43 !default;\n$state-negative: #ff402c !default;\n.event {\n    font-size: 15px;\n}\n\n.event-state {\n    font-size: 13px;\n}\n\n.drawer-list {\n    padding: 12px;\n    &:first-child {\n        padding-top: 17px;\n    }\n}\n\n.drawer-list-header {\n    border-top: solid 0.5px rgba(52, 61, 71, 0.15);\n    background-color: $list-header-bg-color;\n    font-size: 15px;\n    font-weight: 600;\n    padding: 8px 12px;\n    &:first-child {\n        padding-top: 13px;\n    }\n}\n\n.drawer-list-item {\n    margin-bottom: 10px;\n    &:last-child {\n        margin-bottom: 0;\n    }\n}\n\n.event-state {\n    color: $state-default-color;\n}\n\n.state-closed,\n.state-canceled {\n    color: $state-positive;\n}\n\n.state-open,\n.state-in-progress {\n    color: $state-negative;\n}"
  },
  {
    "path": "pe-root-cause-details/widget/pe-root-cause-details.u-option-schema.json",
    "content": "[{ \"name\": \"alert_sysid\", \"label\": \"Anomaly Alert sys_id\", \"type\": \"string\" }]"
  },
  {
    "path": "pe-root-cause-details/widget/pe-root-cause-details.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\r\n    options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\r\n\r\n    var getState = function(stateValue, table) {\r\n        var stateObj = {\r\n            value: null,\r\n            label: 'Unknown State',\r\n            labelClass: ''\r\n        };\r\n        var state = new GlideRecord('sys_choice');\r\n        state.addQuery('element', 'state');\r\n        state.addQuery('name', table);\r\n        state.addQuery('value', stateValue);\r\n        state.query();\r\n        while (state.next()) {\r\n            stateObj = {\r\n                value: stateValue,\r\n                label: state.label.toString(),\r\n                labelClass: state.label.toLowerCase().split(' ').join('-')\r\n            };\r\n        };\r\n        return stateObj;\r\n    };\r\n\r\n    var buildAlert = function(rec) {\r\n        return {\r\n            sys_id: rec.sys_id.toString(),\r\n            type: rec.type.getDisplayValue(),\r\n            description: rec.description.toString(),\r\n            incident: rec.incident.sys_id.toString(),\r\n            ci: {\r\n                name: rec.cmdb_ci.name.toString(),\r\n                sys_id: rec.cmdb_ci.toString(),\r\n                number: rec.cmdb_ci.number.toString()\r\n            }\r\n        }\r\n    }\r\n\r\n    var alert;\r\n    var alertGR = new GlideRecord('em_alert_anomaly');\r\n    if (options.alert_sysid) {\r\n        alertGR = new GlideRecord('em_alert_anomaly');\r\n        alertGR.get(options.alert_sysid);\r\n        alert = buildAlert(alertGR);\r\n    } else {\r\n        alertGR = new GlideRecord('em_alert_anomaly');\r\n        //alertGR.addEncodedQuery('state!=Closed');\r\n        alertGR.orderByDesc('sys_created_on');\r\n        alertGR.query();\r\n        alertGR.next();\r\n        alert = buildAlert(alertGR);\r\n    }\r\n\r\n    data.alert = alert;\r\n\r\n    if (alert.incident) {\r\n\r\n        var incidentGR = new GlideRecord('incident');\r\n        if (incidentGR.get(alert.incident)) {\r\n            var incident = {\r\n                sys_id: incidentGR.sys_id.toString(),\r\n                problem: {\r\n                    description: incidentGR.problem_id.short_description.toString(),\r\n                    number: incidentGR.problem_id.number.toString(),\r\n                    sys_id: incidentGR.problem_id.toString(),\r\n                    state: getState(incidentGR.problem_id.state.toString(), 'problem'),\r\n                    other_incidents: []\r\n                },\r\n                cause: {\r\n                    number: incidentGR.caused_by.number.toString(),\r\n                    description: incidentGR.caused_by.short_description.toString(),\r\n                    state: getState(incidentGR.caused_by.state.toString(), 'change_request'),\r\n                    sys_id: incidentGR.caused_by.toString()\r\n                }\r\n            };\r\n\r\n            if (incident.problem.sys_id) {\r\n                var otherIncidents = [];\r\n                var otherIncidentGR = new GlideRecord('incident');\r\n                otherIncidentGR.addQuery('problem_id', incident.problem.sys_id);\r\n                otherIncidentGR.query();\r\n                while (otherIncidentGR.next()) {\r\n                    otherIncidents.push({\r\n                        sys_id: otherIncidentGR.sys_id.toString(),\r\n                        description: otherIncidentGR.short_description.toString(),\r\n                        number: otherIncidentGR.number.toString(),\r\n                        state: getState(otherIncidentGR.state.toString(), 'incident')\r\n                    });\r\n                }\r\n                incident.problem.other_incidents = otherIncidents;\r\n            }\r\n\r\n            data.incident = incident;\r\n\r\n        }\r\n\r\n    }\r\n\r\n})();"
  },
  {
    "path": "pe-scratch-pad/Readme.md",
    "content": "# Scratch Pad\n\n## Description\n\nThis widget can be used to create a simple signature pad/scratch pad.\n\n## Screenshots\n![alt text](../images/scratch_pad.png \"Scratch Pad\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-scratch-pad.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-scratch-pad/pe-scratch-pad.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-scratch-pad/angular-provider/pe-scratch-pad-provider.u-client-script.js",
    "content": "function ScratchPadProvider($interval, $timeout, $window, $rootScope) {\n  var signaturePad, element, EMPTY_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjgAAADcCAQAAADXNhPAAAACIklEQVR42u3UIQEAAAzDsM+/6UsYG0okFDQHMBIJAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEwHMBwAMMBMBzAcAAMBzAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcCQADAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMBzAcAMMBDAfAcADDAQwHwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDkQAwHMBwAAwHMBwAwwEMBzAcAMMBDAfAcADDAQwHwHAAwwEwHMBwAMMBMBzAcAAMBzAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMBzAcAMMBDAegeayZAN3dLgwnAAAAAElFTkSuQmCC';\n  return {\n    restrict: 'EA',\n    replace: true,\n    template: '<div class=\"signature\" style=\"width: 100%; max-width:{{width}}px; height: 100%; max-height:{{height}}px;\"><canvas style=\"display: block; margin: 0 auto;\" ng-mouseup=\"onMouseup()\" ng-mousedown=\"notifyDrawing({ drawing: true })\"></canvas></div>',\n    scope: {\n      accept: '=?',\n      clear: '=?',\n      dataurl: '=?',\n      height: '@',\n      width: '@',\n      notifyDrawing: '&onDrawing'\n    },\n    controller: [\n      '$scope',\n      function ($scope) {\n        $scope.accept = function () {\n\n          return {\n            isEmpty: $scope.dataurl === EMPTY_IMAGE,\n            dataUrl: $scope.dataurl\n          };\n        };\n\n        $scope.onMouseup = function () {\n          $scope.updateModel();\n          $scope.notifyDrawing({\n            drawing: false\n          });\n        };\n\n        $scope.updateModel = function () {\n          /*\n           defer handling mouseup event until $scope.signaturePad handles\n           first the same event\n           */\n          $timeout().then(function () {\n            $scope.dataurl = $scope.signaturePad.isEmpty() ? EMPTY_IMAGE : $scope.signaturePad.toDataURL();\n          });\n        };\n\n        $scope.clear = function () {\n          $scope.signaturePad.clear();\n          $scope.dataurl = EMPTY_IMAGE;\n        };\n\n        $scope.$watch(\"dataurl\", function (dataUrl) {\n          if (!dataUrl || $scope.signaturePad.toDataURL() === dataUrl) {\n            return;\n          }\n\n          $scope.setDataUrl(dataUrl);\n        });\n      }\n    ],\n    link: function (scope, element, attrs, rootScope) {\n      var canvas = element.find('canvas')[0];\n      var parent = canvas.parentElement;\n      var scale = 0;\n      var ctx = canvas.getContext('2d');\n\n      var width = parseInt(scope.width, 10);\n      var height = parseInt(scope.height, 10);\n\n      canvas.width = width;\n      canvas.height = height;\n\n      scope.signaturePad = new SignaturePad(canvas);\n\n      scope.setDataUrl = function (dataUrl) {\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.scale(1, 1);\n\n        scope.signaturePad.clear();\n        scope.signaturePad.fromDataURL(dataUrl);\n\n        $timeout().then(function () {\n          ctx.setTransform(1, 0, 0, 1, 0, 0);\n          ctx.scale(1 / scale, 1 / scale);\n        });\n      };\n\n      var calculateScale = function () {\n        var scaleWidth = Math.min(parent.clientWidth / width, 1);\n        var scaleHeight = Math.min(parent.clientHeight / height, 1);\n\n        var newScale = Math.min(scaleWidth, scaleHeight);\n\n        if (newScale === scale) {\n          return;\n        }\n\n        var newWidth = width * newScale;\n        var newHeight = height * newScale;\n        canvas.style.height = Math.round(newHeight) + \"px\";\n        canvas.style.width = Math.round(newWidth) + \"px\";\n\n        scale = newScale;\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.scale(1 / scale, 1 / scale);\n      };\n\n      var resizeIH = $interval(calculateScale, 200);\n      scope.$on('$destroy', function () {\n        $interval.cancel(resizeIH);\n        resizeIH = null;\n      });\n\n      angular.element($window).bind('resize', calculateScale);\n      scope.$on('$destroy', function () {\n        angular.element($window).unbind('resize', calculateScale);\n      });\n\n      calculateScale();\n\n      element.on('touchstart', onTouchstart);\n      element.on('touchend', onTouchend);\n\n      function onTouchstart() {\n        scope.$apply(function () {\n          // notify that drawing has started\n          scope.notifyDrawing({\n            drawing: true\n          });\n        });\n      }\n\n      function onTouchend() {\n        scope.$apply(function () {\n          // updateModel\n          scope.updateModel();\n\n          // notify that drawing has ended\n          $rootScope.$broadcast('signDone', 'done');\n          scope.notifyDrawing({\n            drawing: false\n          });\n        });\n      }\n    }\n  };\n}"
  },
  {
    "path": "pe-scratch-pad/pe-scratch-pad.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-05 16:28:29\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Scratch Pad</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>d4a54e671343f600d0cf3192e144b036</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>b29dc66b1343f600d0cf3192e144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_526827081311ba007e94fc5ed144b00b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-scratch-pad-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(a,b){\"function\"==typeof define&amp;&amp;define.amd?define([],function(){return a.SignaturePad=b()}):\"object\"==typeof exports?module.exports=b():a.SignaturePad=b()}(this,function(){/*!\n * Signature Pad v1.5.2 | https://github.com/szimek/signature_pad\n * (c) 2015 Szymon Nowak | Released under the MIT license\n */\nvar a=function(a){\"use strict\";var b=function(a,b){var c=this,d=b||{};this.velocityFilterWeight=d.velocityFilterWeight||.7,this.minWidth=d.minWidth||.5,this.maxWidth=d.maxWidth||2.5,this.dotSize=d.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=d.penColor||\"black\",this.backgroundColor=d.backgroundColor||\"rgba(0,0,0,0)\",this.onEnd=d.onEnd,this.onBegin=d.onBegin,this._canvas=a,this._ctx=a.getContext(\"2d\"),this.clear(),this._handleMouseDown=function(a){1===a.which&amp;&amp;(c._mouseButtonDown=!0,c._strokeBegin(a))},this._handleMouseMove=function(a){c._mouseButtonDown&amp;&amp;c._strokeUpdate(a)},this._handleMouseUp=function(a){1===a.which&amp;&amp;c._mouseButtonDown&amp;&amp;(c._mouseButtonDown=!1,c._strokeEnd(a))},this._handleTouchStart=function(a){if(1==a.targetTouches.length){var b=a.changedTouches[0];c._strokeBegin(b)}},this._handleTouchMove=function(a){a.preventDefault();var b=a.targetTouches[0];c._strokeUpdate(b)},this._handleTouchEnd=function(a){var b=a.target===c._canvas;b&amp;&amp;(a.preventDefault(),c._strokeEnd(a))},this._handleMouseEvents(),this._handleTouchEvents()};b.prototype.clear=function(){var a=this._ctx,b=this._canvas;a.fillStyle=this.backgroundColor,a.clearRect(0,0,b.width,b.height),a.fillRect(0,0,b.width,b.height),this._reset()},b.prototype.toDataURL=function(){var a=this._canvas;return a.toDataURL.apply(a,arguments)},b.prototype.fromDataURL=function(a){var b=this,c=new Image,d=window.devicePixelRatio||1,e=this._canvas.width/d,f=this._canvas.height/d;this._reset(),c.src=a,c.onload=function(){b._ctx.drawImage(c,0,0,e,f)},this._isEmpty=!1},b.prototype._strokeUpdate=function(a){var b=this._createPoint(a);this._addPoint(b)},b.prototype._strokeBegin=function(a){this._reset(),this._strokeUpdate(a),\"function\"==typeof this.onBegin&amp;&amp;this.onBegin(a)},b.prototype._strokeDraw=function(a){var b=this._ctx,c=\"function\"==typeof this.dotSize?this.dotSize():this.dotSize;b.beginPath(),this._drawPoint(a.x,a.y,c),b.closePath(),b.fill()},b.prototype._strokeEnd=function(a){var b=this.points.length&gt;2,c=this.points[0];!b&amp;&amp;c&amp;&amp;this._strokeDraw(c),\"function\"==typeof this.onEnd&amp;&amp;this.onEnd(a)},b.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener(\"mousedown\",this._handleMouseDown),this._canvas.addEventListener(\"mousemove\",this._handleMouseMove),a.addEventListener(\"mouseup\",this._handleMouseUp)},b.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction=\"none\",this._canvas.addEventListener(\"touchstart\",this._handleTouchStart),this._canvas.addEventListener(\"touchmove\",this._handleTouchMove),a.addEventListener(\"touchend\",this._handleTouchEnd)},b.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},b.prototype.off=function(){this._canvas.removeEventListener(\"mousedown\",this._handleMouseDown),this._canvas.removeEventListener(\"mousemove\",this._handleMouseMove),a.removeEventListener(\"mouseup\",this._handleMouseUp),this._canvas.removeEventListener(\"touchstart\",this._handleTouchStart),this._canvas.removeEventListener(\"touchmove\",this._handleTouchMove),a.removeEventListener(\"touchend\",this._handleTouchEnd)},b.prototype.isEmpty=function(){return this._isEmpty},b.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._isEmpty=!0,this._ctx.fillStyle=this.penColor},b.prototype._createPoint=function(a){var b=this._canvas.getBoundingClientRect();return new c(a.clientX-b.left,a.clientY-b.top)},b.prototype._addPoint=function(a){var b,c,e,f,g=this.points;g.push(a),g.length&gt;2&amp;&amp;(3===g.length&amp;&amp;g.unshift(g[0]),f=this._calculateCurveControlPoints(g[0],g[1],g[2]),b=f.c2,f=this._calculateCurveControlPoints(g[1],g[2],g[3]),c=f.c1,e=new d(g[1],b,c,g[2]),this._addCurve(e),g.shift())},b.prototype._calculateCurveControlPoints=function(a,b,d){var e=a.x-b.x,f=a.y-b.y,g=b.x-d.x,h=b.y-d.y,i={x:(a.x+b.x)/2,y:(a.y+b.y)/2},j={x:(b.x+d.x)/2,y:(b.y+d.y)/2},k=Math.sqrt(e*e+f*f),l=Math.sqrt(g*g+h*h),m=i.x-j.x,n=i.y-j.y,o=l/(k+l),p={x:j.x+m*o,y:j.y+n*o},q=b.x-p.x,r=b.y-p.y;return{c1:new c(i.x+q,i.y+r),c2:new c(j.x+q,j.y+r)}},b.prototype._addCurve=function(a){var b,c,d=a.startPoint,e=a.endPoint;b=e.velocityFrom(d),b=this.velocityFilterWeight*b+(1-this.velocityFilterWeight)*this._lastVelocity,c=this._strokeWidth(b),this._drawCurve(a,this._lastWidth,c),this._lastVelocity=b,this._lastWidth=c},b.prototype._drawPoint=function(a,b,c){var d=this._ctx;d.moveTo(a,b),d.arc(a,b,c,0,2*Math.PI,!1),this._isEmpty=!1},b.prototype._drawCurve=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o=this._ctx,p=c-b;for(d=Math.floor(a.length()),o.beginPath(),f=0;d&gt;f;f++)g=f/d,h=g*g,i=h*g,j=1-g,k=j*j,l=k*j,m=l*a.startPoint.x,m+=3*k*g*a.control1.x,m+=3*j*h*a.control2.x,m+=i*a.endPoint.x,n=l*a.startPoint.y,n+=3*k*g*a.control1.y,n+=3*j*h*a.control2.y,n+=i*a.endPoint.y,e=b+i*p,this._drawPoint(m,n,e);o.closePath(),o.fill()},b.prototype._strokeWidth=function(a){return Math.max(this.maxWidth/(a+1),this.minWidth)};var c=function(a,b,c){this.x=a,this.y=b,this.time=c||(new Date).getTime()};c.prototype.velocityFrom=function(a){return this.time!==a.time?this.distanceTo(a)/(this.time-a.time):1},c.prototype.distanceTo=function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))};var d=function(a,b,c,d){this.startPoint=a,this.control1=b,this.control2=c,this.endPoint=d};return d.prototype.length=function(){var a,b,c,d,e,f,g,h,i=10,j=0;for(a=0;i&gt;=a;a++)b=a/i,c=this._point(b,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),d=this._point(b,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y),a&gt;0&amp;&amp;(g=c-e,h=d-f,j+=Math.sqrt(g*g+h*h)),e=c,f=d;return j},d.prototype._point=function(a,b,c,d,e){return b*(1-a)*(1-a)*(1-a)+3*c*(1-a)*(1-a)*a+3*d*(1-a)*a*a+e*a*a*a},b}(document);return a});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 02:16:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;526827081311ba007e94fc5ed144b00b&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-scratch-pad-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_526827081311ba007e94fc5ed144b00b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:20:13&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Scratch Pad\">b29dc66b1343f600d0cf3192e144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>369dc66b1343f600d0cf3192e144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_860823081311ba007e94fc5ed144b0cc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;scratchPad&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function ScratchPadProvider($interval, $timeout, $window, $rootScope) {\n  var signaturePad, element, EMPTY_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjgAAADcCAQAAADXNhPAAAACIklEQVR42u3UIQEAAAzDsM+/6UsYG0okFDQHMBIJAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEwHMBwAMMBMBzAcAAMBzAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcCQADAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMBzAcAMMBDAfAcADDAQwHwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMB8BwAMMBDAfAcADDATAcwHAAwwEwHMBwAAwHMBzAcAAMBzAcAMMBDAcwHADDAQwHwHAAwwEMB8BwAMMBMBzAcADDkQAwHMBwAAwHMBwAwwEMBzAcAMMBDAfAcADDAQwHwHAAwwEwHMBwAMMBMBzAcAAMBzAcwHAADAcwHADDAQwHMBwAwwEMB8BwAMMBMBzAcADDATAcwHAADAcwHMBwAAwHMBwAwwEMBzAcAMMBDAegeayZAN3dLgwnAAAAAElFTkSuQmCC';\n  return {\n    restrict: 'EA',\n    replace: true,\n    template: '<div class=\"signature\" style=\"width: 100%; max-width:{{width}}px; height: 100%; max-height:{{height}}px;\"><canvas style=\"display: block; margin: 0 auto;\" ng-mouseup=\"onMouseup()\" ng-mousedown=\"notifyDrawing({ drawing: true })\"></canvas></div>',\n    scope: {\n      accept: '=?',\n      clear: '=?',\n      dataurl: '=?',\n      height: '@',\n      width: '@',\n      notifyDrawing: '&onDrawing'\n    },\n    controller: [\n      '$scope',\n      function ($scope) {\n        $scope.accept = function () {\n\n          return {\n            isEmpty: $scope.dataurl === EMPTY_IMAGE,\n            dataUrl: $scope.dataurl\n          };\n        };\n\n        $scope.onMouseup = function () {\n          $scope.updateModel();\n          $scope.notifyDrawing({\n            drawing: false\n          });\n        };\n\n        $scope.updateModel = function () {\n          /*\n           defer handling mouseup event until $scope.signaturePad handles\n           first the same event\n           */\n          $timeout().then(function () {\n            $scope.dataurl = $scope.signaturePad.isEmpty() ? EMPTY_IMAGE : $scope.signaturePad.toDataURL();\n          });\n        };\n\n        $scope.clear = function () {\n          $scope.signaturePad.clear();\n          $scope.dataurl = EMPTY_IMAGE;\n        };\n\n        $scope.$watch(\"dataurl\", function (dataUrl) {\n          if (!dataUrl || $scope.signaturePad.toDataURL() === dataUrl) {\n            return;\n          }\n\n          $scope.setDataUrl(dataUrl);\n        });\n      }\n    ],\n    link: function (scope, element, attrs, rootScope) {\n      var canvas = element.find('canvas')[0];\n      var parent = canvas.parentElement;\n      var scale = 0;\n      var ctx = canvas.getContext('2d');\n\n      var width = parseInt(scope.width, 10);\n      var height = parseInt(scope.height, 10);\n\n      canvas.width = width;\n      canvas.height = height;\n\n      scope.signaturePad = new SignaturePad(canvas);\n\n      scope.setDataUrl = function (dataUrl) {\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.scale(1, 1);\n\n        scope.signaturePad.clear();\n        scope.signaturePad.fromDataURL(dataUrl);\n\n        $timeout().then(function () {\n          ctx.setTransform(1, 0, 0, 1, 0, 0);\n          ctx.scale(1 / scale, 1 / scale);\n        });\n      };\n\n      var calculateScale = function () {\n        var scaleWidth = Math.min(parent.clientWidth / width, 1);\n        var scaleHeight = Math.min(parent.clientHeight / height, 1);\n\n        var newScale = Math.min(scaleWidth, scaleHeight);\n\n        if (newScale === scale) {\n          return;\n        }\n\n        var newWidth = width * newScale;\n        var newHeight = height * newScale;\n        canvas.style.height = Math.round(newHeight) + \"px\";\n        canvas.style.width = Math.round(newWidth) + \"px\";\n\n        scale = newScale;\n        ctx.setTransform(1, 0, 0, 1, 0, 0);\n        ctx.scale(1 / scale, 1 / scale);\n      };\n\n      var resizeIH = $interval(calculateScale, 200);\n      scope.$on('$destroy', function () {\n        $interval.cancel(resizeIH);\n        resizeIH = null;\n      });\n\n      angular.element($window).bind('resize', calculateScale);\n      scope.$on('$destroy', function () {\n        angular.element($window).unbind('resize', calculateScale);\n      });\n\n      calculateScale();\n\n      element.on('touchstart', onTouchstart);\n      element.on('touchend', onTouchend);\n\n      function onTouchstart() {\n        scope.$apply(function () {\n          // notify that drawing has started\n          scope.notifyDrawing({\n            drawing: true\n          });\n        });\n      }\n\n      function onTouchend() {\n        scope.$apply(function () {\n          // updateModel\n          scope.updateModel();\n\n          // notify that drawing has ended\n          $rootScope.$broadcast('signDone', 'done');\n          scope.notifyDrawing({\n            drawing: false\n          });\n        });\n      }\n    }\n  };\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 02:15:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;860823081311ba007e94fc5ed144b0cc&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;scratchPad&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_860823081311ba007e94fc5ed144b0cc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-02 22:54:49&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Scratch Pad\">b29dc66b1343f600d0cf3192e144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>3a9dc66b1343f600d0cf3192e144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<table/>\n<target_name>scratchPad</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_271623c41311ba007e94fc5ed144b0b8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function ScratchPadController() {\n  var c = this;\n  c.done = done;\n\n  function done() {\n    var signature = c.accept();\n    if (signature.isEmpty) {\n      console.log('scratch pad empty');\n    } else {\n      console.log(signature.dataUrl);\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.signature-main-div {&amp;#13;\n  margin: 10px;&amp;#13;\n  margin-top: 40px;&amp;#13;\n  border-radius: 6px;&amp;#13;\n  .signature {&amp;#13;\n    margin-left: auto;&amp;#13;\n    margin-right: auto;&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n  }&amp;#13;\n  .signature canvas {&amp;#13;\n    border: 1px solid #ddd;&amp;#13;\n    border-radius: 6px;&amp;#13;\n    margin: 0 auto;&amp;#13;\n    cursor: pointer;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;scratch pad widget&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-scratch-pad&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Scratch Pad&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 02:06:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;271623c41311ba007e94fc5ed144b0b8&lt;/sys_id&gt;&lt;sys_mod_count&gt;29&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Scratch Pad&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_271623c41311ba007e94fc5ed144b0b8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sgregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-04 00:54:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"signature-main-div\"&gt;\n  &lt;scratch-pad accept=\"c.accept\" clear=\"clear\" height=\"150\" width=\"350\"&gt;&lt;/scratch-pad&gt;\n  &lt;button class=\"btn btn-danger\" ng-click=\"clear()\"&gt;Clear signature&lt;/button&gt;\n  &lt;button class=\"btn btn-primary\" ng-click=\"c.done()\"&gt;Accept signature&lt;/button&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Scratch Pad\">b29dc66b1343f600d0cf3192e144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>729dc66b1343f600d0cf3192e144b086</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<table/>\n<target_name>PE Scratch Pad</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_cb6744fa13cb7600890b3092e144b0b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"PE Scratch Pad\">85b8e7081311ba007e94fc5ed144b0b0</sp_dependency><sp_js_include display_value=\"pe-scratch-pad\">5d6744fa13cb7600890b3092e144b056</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-02 22:46:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cb6744fa13cb7600890b3092e144b0b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-scratch-pad.pe-scratch-pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_cb6744fa13cb7600890b3092e144b0b9</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-02 22:46:46</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Scratch Pad\">b29dc66b1343f600d0cf3192e144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>769dc66b1343f600d0cf3192e144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad.pe-scratch-pad</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_5d6744fa13cb7600890b3092e144b056</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-scratch-pad</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-02 22:46:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5d6744fa13cb7600890b3092e144b056</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-scratch-pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-scratch-pad-ui-script\">526827081311ba007e94fc5ed144b00b</sys_ui_script><sys_update_name>sp_js_include_5d6744fa13cb7600890b3092e144b056</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-02 22:46:46</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Scratch Pad\">b29dc66b1343f600d0cf3192e144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>be9dc66b1343f600d0cf3192e144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<table/>\n<target_name>pe-scratch-pad</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_85b8e7081311ba007e94fc5ed144b0b0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>PE Scratch Pad</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 02:18:01</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>85b8e7081311ba007e94fc5ed144b0b0</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PE Scratch Pad</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_85b8e7081311ba007e94fc5ed144b0b0</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-05 15:58:18</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Scratch Pad\">b29dc66b1343f600d0cf3192e144b085</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 16:28:28</sys_created_on>\n<sys_id>fa9dc66b1343f600d0cf3192e144b085</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 16:28:28</sys_updated_on>\n<table/>\n<target_name>PE Scratch Pad</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-scratch-pad/ui-script/pe-scratch-pad-ui-script.u-client-script.js",
    "content": "!function(a,b){\"function\"==typeof define&&define.amd?define([],function(){return a.SignaturePad=b()}):\"object\"==typeof exports?module.exports=b():a.SignaturePad=b()}(this,function(){/*!\r\n * Signature Pad v1.5.2 | https://github.com/szimek/signature_pad\r\n * (c) 2015 Szymon Nowak | Released under the MIT license\r\n */\r\nvar a=function(a){\"use strict\";var b=function(a,b){var c=this,d=b||{};this.velocityFilterWeight=d.velocityFilterWeight||.7,this.minWidth=d.minWidth||.5,this.maxWidth=d.maxWidth||2.5,this.dotSize=d.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=d.penColor||\"black\",this.backgroundColor=d.backgroundColor||\"rgba(0,0,0,0)\",this.onEnd=d.onEnd,this.onBegin=d.onBegin,this._canvas=a,this._ctx=a.getContext(\"2d\"),this.clear(),this._handleMouseDown=function(a){1===a.which&&(c._mouseButtonDown=!0,c._strokeBegin(a))},this._handleMouseMove=function(a){c._mouseButtonDown&&c._strokeUpdate(a)},this._handleMouseUp=function(a){1===a.which&&c._mouseButtonDown&&(c._mouseButtonDown=!1,c._strokeEnd(a))},this._handleTouchStart=function(a){if(1==a.targetTouches.length){var b=a.changedTouches[0];c._strokeBegin(b)}},this._handleTouchMove=function(a){a.preventDefault();var b=a.targetTouches[0];c._strokeUpdate(b)},this._handleTouchEnd=function(a){var b=a.target===c._canvas;b&&(a.preventDefault(),c._strokeEnd(a))},this._handleMouseEvents(),this._handleTouchEvents()};b.prototype.clear=function(){var a=this._ctx,b=this._canvas;a.fillStyle=this.backgroundColor,a.clearRect(0,0,b.width,b.height),a.fillRect(0,0,b.width,b.height),this._reset()},b.prototype.toDataURL=function(){var a=this._canvas;return a.toDataURL.apply(a,arguments)},b.prototype.fromDataURL=function(a){var b=this,c=new Image,d=window.devicePixelRatio||1,e=this._canvas.width/d,f=this._canvas.height/d;this._reset(),c.src=a,c.onload=function(){b._ctx.drawImage(c,0,0,e,f)},this._isEmpty=!1},b.prototype._strokeUpdate=function(a){var b=this._createPoint(a);this._addPoint(b)},b.prototype._strokeBegin=function(a){this._reset(),this._strokeUpdate(a),\"function\"==typeof this.onBegin&&this.onBegin(a)},b.prototype._strokeDraw=function(a){var b=this._ctx,c=\"function\"==typeof this.dotSize?this.dotSize():this.dotSize;b.beginPath(),this._drawPoint(a.x,a.y,c),b.closePath(),b.fill()},b.prototype._strokeEnd=function(a){var b=this.points.length>2,c=this.points[0];!b&&c&&this._strokeDraw(c),\"function\"==typeof this.onEnd&&this.onEnd(a)},b.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener(\"mousedown\",this._handleMouseDown),this._canvas.addEventListener(\"mousemove\",this._handleMouseMove),a.addEventListener(\"mouseup\",this._handleMouseUp)},b.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction=\"none\",this._canvas.addEventListener(\"touchstart\",this._handleTouchStart),this._canvas.addEventListener(\"touchmove\",this._handleTouchMove),a.addEventListener(\"touchend\",this._handleTouchEnd)},b.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()},b.prototype.off=function(){this._canvas.removeEventListener(\"mousedown\",this._handleMouseDown),this._canvas.removeEventListener(\"mousemove\",this._handleMouseMove),a.removeEventListener(\"mouseup\",this._handleMouseUp),this._canvas.removeEventListener(\"touchstart\",this._handleTouchStart),this._canvas.removeEventListener(\"touchmove\",this._handleTouchMove),a.removeEventListener(\"touchend\",this._handleTouchEnd)},b.prototype.isEmpty=function(){return this._isEmpty},b.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._isEmpty=!0,this._ctx.fillStyle=this.penColor},b.prototype._createPoint=function(a){var b=this._canvas.getBoundingClientRect();return new c(a.clientX-b.left,a.clientY-b.top)},b.prototype._addPoint=function(a){var b,c,e,f,g=this.points;g.push(a),g.length>2&&(3===g.length&&g.unshift(g[0]),f=this._calculateCurveControlPoints(g[0],g[1],g[2]),b=f.c2,f=this._calculateCurveControlPoints(g[1],g[2],g[3]),c=f.c1,e=new d(g[1],b,c,g[2]),this._addCurve(e),g.shift())},b.prototype._calculateCurveControlPoints=function(a,b,d){var e=a.x-b.x,f=a.y-b.y,g=b.x-d.x,h=b.y-d.y,i={x:(a.x+b.x)/2,y:(a.y+b.y)/2},j={x:(b.x+d.x)/2,y:(b.y+d.y)/2},k=Math.sqrt(e*e+f*f),l=Math.sqrt(g*g+h*h),m=i.x-j.x,n=i.y-j.y,o=l/(k+l),p={x:j.x+m*o,y:j.y+n*o},q=b.x-p.x,r=b.y-p.y;return{c1:new c(i.x+q,i.y+r),c2:new c(j.x+q,j.y+r)}},b.prototype._addCurve=function(a){var b,c,d=a.startPoint,e=a.endPoint;b=e.velocityFrom(d),b=this.velocityFilterWeight*b+(1-this.velocityFilterWeight)*this._lastVelocity,c=this._strokeWidth(b),this._drawCurve(a,this._lastWidth,c),this._lastVelocity=b,this._lastWidth=c},b.prototype._drawPoint=function(a,b,c){var d=this._ctx;d.moveTo(a,b),d.arc(a,b,c,0,2*Math.PI,!1),this._isEmpty=!1},b.prototype._drawCurve=function(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o=this._ctx,p=c-b;for(d=Math.floor(a.length()),o.beginPath(),f=0;d>f;f++)g=f/d,h=g*g,i=h*g,j=1-g,k=j*j,l=k*j,m=l*a.startPoint.x,m+=3*k*g*a.control1.x,m+=3*j*h*a.control2.x,m+=i*a.endPoint.x,n=l*a.startPoint.y,n+=3*k*g*a.control1.y,n+=3*j*h*a.control2.y,n+=i*a.endPoint.y,e=b+i*p,this._drawPoint(m,n,e);o.closePath(),o.fill()},b.prototype._strokeWidth=function(a){return Math.max(this.maxWidth/(a+1),this.minWidth)};var c=function(a,b,c){this.x=a,this.y=b,this.time=c||(new Date).getTime()};c.prototype.velocityFrom=function(a){return this.time!==a.time?this.distanceTo(a)/(this.time-a.time):1},c.prototype.distanceTo=function(a){return Math.sqrt(Math.pow(this.x-a.x,2)+Math.pow(this.y-a.y,2))};var d=function(a,b,c,d){this.startPoint=a,this.control1=b,this.control2=c,this.endPoint=d};return d.prototype.length=function(){var a,b,c,d,e,f,g,h,i=10,j=0;for(a=0;i>=a;a++)b=a/i,c=this._point(b,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),d=this._point(b,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y),a>0&&(g=c-e,h=d-f,j+=Math.sqrt(g*g+h*h)),e=c,f=d;return j},d.prototype._point=function(a,b,c,d,e){return b*(1-a)*(1-a)*(1-a)+3*c*(1-a)*(1-a)*a+3*d*(1-a)*a*a+e*a*a*a},b}(document);return a});"
  },
  {
    "path": "pe-scratch-pad/widget/pe-scratch-pad.u-body-html-template.html",
    "content": "<div class=\"signature-main-div\">\r\n  <scratch-pad accept=\"c.accept\" clear=\"clear\" height=\"150\" width=\"350\"></scratch-pad>\r\n  <button class=\"btn btn-danger\" ng-click=\"clear()\">Clear signature</button>\r\n  <button class=\"btn btn-primary\" ng-click=\"c.done()\">Accept signature</button>\r\n</div>"
  },
  {
    "path": "pe-scratch-pad/widget/pe-scratch-pad.u-client-script.js",
    "content": "function ScratchPadController() {\r\n  var c = this;\r\n  c.done = done;\r\n\r\n  function done() {\r\n    var signature = c.accept();\r\n    if (signature.isEmpty) {\r\n      console.log('scratch pad empty');\r\n    } else {\r\n      console.log(signature.dataUrl);\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "pe-scratch-pad/widget/pe-scratch-pad.u-css.scss",
    "content": ".signature-main-div {\n  margin: 10px;\n  margin-top: 40px;\n  border-radius: 6px;\n  .signature {\n    margin-left: auto;\n    margin-right: auto;\n    margin-bottom: 10px;\n  }\n  .signature canvas {\n    border: 1px solid #ddd;\n    border-radius: 6px;\n    margin: 0 auto;\n    cursor: pointer;\n  }\n}"
  },
  {
    "path": "pe-scratch-pad/widget/pe-scratch-pad.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n})();"
  },
  {
    "path": "pe-simplefeedback/README.md",
    "content": "# Simple Feedback\n\n## Description\n\nWidget provides a simple feedback collection capability that can be added to a site.  The feedback input shows as a modal and can be configurable in how it functions.\n\n## Screenshots\n### Button Style Choices\n![alt text](../images/pe-feedback-buttons.png \"Button Choices\")\n### Modal\n![alt text](../images/pe-feedback-modal.png \"Modal\")\n\n## Additional Information/Notes\nUpdate set installs the data table 'Simple Feedback' (u_simple_feedback)\n\n---\n## Installation\nDownload and install update set **[pe-simplefeedback.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-simplefeedback/pe-simplefeedback.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**dataTable** - Data Table Name `Default: u_simple_feedback`<br/>\n**autoHideTY** - Auto Hide Feedback Thank You `Default: true`<br/>\n**autoHideDuration** - Auto Hide Duration (in seconds) `Default: 3.5`<br/>\n**showFormButton** - Show Form Button `Default: true` - set to false if providing different button or opening method<br/>\n**hdrTitle** - Header Title `Default: Feedback`<br/>\n**hdrIcon** - Header Icon `Default: fa-comment`<br/>\n**txtTYMsg** - Thank You Message `Default: Thank you for your feedback.`<br/>\n**showWho** - Show Who `Default: true`\n**showRating** - Show Rating `Default: true`<br/>\n**txtRating** - Rating Text `Default: Please rate your experience:`<br/>\n**lvlRating** - Levels of Rating `Default: 5`<br/>\n**lvlRatingTxt** - Levels of Rating Choices `Defaults: see below`<br/>\n * Extremely Dissatisfied\n * Slightly Dissatisfied\n * Neutral\n * Moderately Satisfied\n * Extremely Satisfied\n\n> Note: **hdrIcon** - Can be replaced with any supported glyph/icon using the [fontawesome.io](http://fontawesome.io/cheatsheet/) classes.\n\n---\n## Platform Dependencies\n> None\n\n---\n## Sample Data and Data Structures\n\n`Table is created with update set - u_simple_feedback`\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$btn-primary-background: #0096EC !default;`<br/>\n`$btn-hover-background: #2783FC !default;`<br/>\n"
  },
  {
    "path": "pe-simplefeedback/pe-simplefeedback.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-06 16:11:32\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Simple Feedback</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>c61155fc4f2f720005be4d6e0210c7c8</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3c03b5e14f3b3a0005be4d6e0210c7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_portal_sys_id</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_portal_sys_id\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Portal Sys ID&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_portal_sys_id&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:11:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a0f52d764f2bb20005be4d6e0210c748&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Portal Sys ID&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_portal_sys_id&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:11:37&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3003b5e14f3b3a0005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal Sys ID</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_d9d265f24f2bb20005be4d6e0210c764</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9d265f24f2bb20005be4d6e0210c764</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_d9d265f24f2bb20005be4d6e0210c764</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3003b5e14f3b3a0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_other</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_other\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Other&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_other&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;4000&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-29 13:17:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b808c5d7136ff2006749bccf3244b034&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Other&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_other&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-29 13:17:45&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3403b5e14f3b3a0005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Other</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Simple Feedback\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Simple Feedback</label><language>en</language><name>u_simple_feedback</name><plural>Simple Feedbacks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>edd265f24f2bb20005be4d6e0210c77f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Simple Feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3403b5e14f3b3a0005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_email</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_email\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Email&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_email&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;200&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:00:33&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;29736df24f2bb20005be4d6e0210c789&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Email&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_email&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:06:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3803b5e14f3b3a0005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Email</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_page_sys_id_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_page_sys_id\" label=\"Page Sys ID\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_page_sys_id</element><help/><hint/><label>Page Sys ID</label><language>en</language><name>u_simple_feedback</name><plural>Page Sys IDs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:12:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>833621b64f2bb20005be4d6e0210c7d2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Page Sys ID</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_page_sys_id_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:12:24</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3803b5e14f3b3a0005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page Sys ID</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_location_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_location\" label=\"Site Location\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_location</element><help/><hint/><label>Site Location</label><language>en</language><name>u_simple_feedback</name><plural>Site Locations</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:09:04</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5675ad364f2bb20005be4d6e0210c7c9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Site Location</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_location_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:12:45</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3c03b5e14f3b3a0005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Site Location</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d9d265f24f2bb20005be4d6e0210c768</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9d265f24f2bb20005be4d6e0210c768</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">d9d265f24f2bb20005be4d6e0210c764</sys_security_acl><sys_update_name>sys_security_acl_role_d9d265f24f2bb20005be4d6e0210c768</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>3c03b5e14f3b3a0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;200&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:00:11&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3ce2e5f24f2bb20005be4d6e0210c74e&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:06:41&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7003b5e14f3b3a0005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_rating_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_rating\" label=\"Rating\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_rating</element><help/><hint/><label>Rating</label><language>en</language><name>u_simple_feedback</name><plural>Ratings</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:09:59</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>2ba525764f2bb20005be4d6e0210c7db</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Rating</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_rating_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:09:59</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7003b5e14f3b3a0005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Rating</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 01:57:33&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;59d265f24f2bb20005be4d6e0210c76c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_simple_feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 01:57:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7403b5e14f3b3a0005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_page_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_page\" label=\"Page\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_page</element><help/><hint/><label>Page</label><language>en</language><name>u_simple_feedback</name><plural>Pages</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:12:05</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>9226ad764f2bb20005be4d6e0210c7bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Page</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_page_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:12:05</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7403b5e14f3b3a0005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_feedback_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_feedback\" label=\"Feedback\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_feedback</element><help/><hint/><label>Feedback</label><language>en</language><name>u_simple_feedback</name><plural>Feedbacks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:06:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>f5c469364f2bb20005be4d6e0210c721</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_feedback_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:06:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7803b5e14f3b3a0005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Feedback</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_5dd265f24f2bb20005be4d6e0210c758</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5dd265f24f2bb20005be4d6e0210c758</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">95d265f24f2bb20005be4d6e0210c748</sys_security_acl><sys_update_name>sys_security_acl_role_5dd265f24f2bb20005be4d6e0210c758</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7803b5e14f3b3a0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_portal</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_portal\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Portal&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_portal&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:11:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32d5a9764f2bb20005be4d6e0210c78b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Portal&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_portal&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:11:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7c03b5e14f3b3a0005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_c1d265f24f2bb20005be4d6e0210c73e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c1d265f24f2bb20005be4d6e0210c73e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_c1d265f24f2bb20005be4d6e0210c73e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>7c03b5e14f3b3a0005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_d9a2e1f24f2bb20005be4d6e0210c790</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>true</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Simple Feedback</label><live_feed_enabled>false</live_feed_enabled><name>u_simple_feedback</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9a2e1f24f2bb20005be4d6e0210c790</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Simple Feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_d9a2e1f24f2bb20005be4d6e0210c790</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 17:50:07</sys_updated_on><update_access>false</update_access><user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b003b5e14f3b3a0005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_other_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_other\" label=\"Other\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_other</element><help/><hint/><label>Other</label><language>en</language><name>u_simple_feedback</name><plural>Others</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-29 13:17:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>131889d7136ff2006749bccf3244b048</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Other</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_other_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-29 13:17:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b003b5e14f3b3a0005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Other</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_34d265f24f2bb20005be4d6e0210c735</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><encryption_context/><grantable>true</grantable><includes_roles/><name>u_simple_feedback_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>34d265f24f2bb20005be4d6e0210c735</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_34d265f24f2bb20005be4d6e0210c735</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:31</sys_updated_on></sys_user_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b003b5e14f3b3a0005be4d6e0210c7ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table/>\n<target_name>u_simple_feedback_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_email_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_email\" label=\"Email\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_email</element><help/><hint/><label>Email</label><language>en</language><name>u_simple_feedback</name><plural>Emails</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:00:33</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>d5836df24f2bb20005be4d6e0210c700</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Email</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_email_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:00:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b403b5e14f3b3a0005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Email</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_4dd265f24f2bb20005be4d6e0210c742</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4dd265f24f2bb20005be4d6e0210c742</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">c1d265f24f2bb20005be4d6e0210c73e</sys_security_acl><sys_update_name>sys_security_acl_role_4dd265f24f2bb20005be4d6e0210c742</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b403b5e14f3b3a0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_page_sys_id</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_page_sys_id\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Page Sys ID&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_page_sys_id&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:12:24&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;232621b64f2bb20005be4d6e0210c7cb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Page Sys ID&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_page_sys_id&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:12:24&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b803b5e14f3b3a0005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page Sys ID</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_95d265f24f2bb20005be4d6e0210c748</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>95d265f24f2bb20005be4d6e0210c748</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_95d265f24f2bb20005be4d6e0210c748</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b803b5e14f3b3a0005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_29d265f24f2bb20005be4d6e0210c791</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_simple_feedback</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>29d265f24f2bb20005be4d6e0210c791</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_29d265f24f2bb20005be4d6e0210c791</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:34</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>b803b5e14f3b3a0005be4d6e0210c7d0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table/>\n<target_name>u_simple_feedback</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_location</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_location\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Site Location&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_location&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;1500&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:09:04&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c82521764f2bb20005be4d6e0210c7ba&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Site Location&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_location&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:12:44&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>bc03b5e14f3b3a0005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Site Location</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_portal_sys_id_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_portal_sys_id\" label=\"Portal Sys ID\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_portal_sys_id</element><help/><hint/><label>Portal Sys ID</label><language>en</language><name>u_simple_feedback</name><plural>Portal Sys IDs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:11:37</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>2706e9764f2bb20005be4d6e0210c72b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Portal Sys ID</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_portal_sys_id_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:11:37</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>bc03b5e14f3b3a0005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal Sys ID</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_rating</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_rating\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Rating&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_rating&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:09:58&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5e8565764f2bb20005be4d6e0210c7f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Rating&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_rating&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:09:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>f003b5e14f3b3a0005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Rating</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_1dd265f24f2bb20005be4d6e0210c760</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1dd265f24f2bb20005be4d6e0210c760</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">1dd265f24f2bb20005be4d6e0210c75c</sys_security_acl><sys_update_name>sys_security_acl_role_1dd265f24f2bb20005be4d6e0210c760</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>f003b5e14f3b3a0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_page</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_page\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Page&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_page&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:12:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3016ad764f2bb20005be4d6e0210c7b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Page&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_page&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:12:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>f403b5e14f3b3a0005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_1dd265f24f2bb20005be4d6e0210c75c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1dd265f24f2bb20005be4d6e0210c75c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_1dd265f24f2bb20005be4d6e0210c75c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>f403b5e14f3b3a0005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_feedback</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_feedback\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Feedback&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_feedback&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;1000&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:06:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;be83edf24f2bb20005be4d6e0210c71c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_feedback&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:06:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>f803b5e14f3b3a0005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Feedback</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_portal_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_portal\" label=\"Portal\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_portal</element><help/><hint/><label>Portal</label><language>en</language><name>u_simple_feedback</name><plural>Portals</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:11:04</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>57e5e5764f2bb20005be4d6e0210c7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Portal</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_portal_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:11:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>f803b5e14f3b3a0005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_b97fe7ae4fe3b20005be4d6e0210c7f7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function feedbackController($q, $scope, $http, $location, $window, $rootScope, $timeout, spUtil) {\n\tvar c = this;\n\tc.autoHideDuration = 0.0;\n\n\t$scope.starClasses = {\n\t\t'1': 'starUnselected',\n\t\t'2': 'starUnselected',\n\t\t'3': 'starUnselected',\n\t\t'4': 'starUnselected',\n\t\t'5': 'starUnselected'\n\t};\n\n\t$scope.guid = null;\n\t$scope.guidLoading = false;\n\t$scope.ErrMsg = \"Unknown Error\";\n\t$scope.feedbackError = false;\n\t$scope.autoHide = c.data.wdtOptions.autoHideTY;\n\n\t$scope.initializeFeedback = function() {\n\t\t$scope.resetForm();\n\n\t\t$scope.$on('openFeedback', function (event, args) {\n\t\t\t$('#feedbackModal').modal('show');\n\t\t});\n\t\t$('#feedbackModal').on('shown.bs.modal', function() {\n\t\t\t//Make sure the modal and backdrop are siblings (changes the DOM)\n\t\t\t$(this).before($('.modal-backdrop'));\n\t\t\t//Make sure the z-index is higher than the backdrop\n\t\t\t$(this).css(\"z-index\", parseInt($('.modal-backdrop').css('z-index')) + 1);\n\t\t});\n\t\t$('#feedbackModal').on('hidden.bs.modal', function () {\n\t\t\tif($scope.feedbackSubmitted) {\n\t\t\t\t$timeout(function(){\n\t\t\t\t\t$scope.resetForm();\n\t\t\t\t}, 250);\n\t\t\t\t$scope.setupGUID();\n\t\t\t}\n\t\t});\n\n\t\t$scope.setupGUID();\n\n\t\t$rootScope.$on('$locationChangeStart', function(evt) {\n\t\t\t$scope.resetForm();\n\t\t});\n\t};\n\n\t$scope.setupGUID = function() {\n\t\t$scope.guidLoading = true;\n\n\t\t$scope.guidLoading = false;\n\t};\n\n\t$scope.submitFeedback = function() {\n\t\tvar feedback = {};\n\t\t\n\t\tif(ValidateEmail($scope.feedback.email)){\n\t\tif(c.data.tblExists){\n\t\t\t$scope.showModalInlay = false;\n\t\t\t$scope.feedbackSubmitting = true;\n\n\t\t\tc.data.feedback = $scope.feedback;\n\n\t\t\tc.server.update().then(function(result){\n\t\t\t\t$scope.feedbackSubmitting = false;\n\t\t\t\t$scope.feedbackSubmitted = true;\n\t\t\t\t$scope.showModalInlay = false;\n\t\t\t}).then(function(){\n\t\t\t\tif(c.data.wdtOptions.autoHideTY){\n\t\t\t\t\t$timeout(function(){\n\t\t\t\t\t\t$('#feedbackModal').modal('hide');\n\t\t\t\t\t}, ( c.autoHideDuration ));\n\t\t\t\t}\n\t\t\t});\n\t\t}else{\n\t\t\t$scope.ErrMsg = \"DataTable configuration - Does not exist.\";\n\t\t\t$scope.feedbackError = true;\n\t\t}}\n\t};\n\t$scope.resetError = function(){\n\t\t$scope.feedbackError = false;\n\t};\n\t\n\t$scope.resetForm = function() {\n\t\t$scope.selectedStar = null;\n\t\tif(c.data.wdtOptions.showRating === 'false'){\n\t\t\t$scope.selectedStar = -1;\n\t\t}\n\t\tif(c.data.wdtOptions.autoHideTY){\n\t\t\tc.autoHideDuration = parseFloat(c.data.wdtOptions.autoHideDuration)*1000;\n\t\t}\n\t\t$scope.feedback = {\n\t\t\twho : '',\n\t\t\temail : '',\n\t\t\ttext : '',\n\t\t\trating : -1,\n\t\t\tpage_id : $scope.page.id,\n\t\t\tpage_sysid : $scope.page.sys_id,\n\t\t\tportal : $scope.portal.title,\n\t\t\tportal_sysid : $scope.portal.sys_id,\n\t\t\tlocation : $location.url()\n\t\t};\n\t\tif(c.data.currentUser.loggedIn){\n\t\t\tc.data.wdtOptions.showWho = false;\n\t\t\t$scope.userSysID = c.data.currentUser.sys_id;\n\t\t\t$scope.feedback.who = c.data.currentUser.name;\n\t\t\t$scope.feedback.email = c.data.currentUser.email;\n\t\t}\n\t\t$scope.showModalInlay = false;\n\t\t$scope.feedbackSubmitting = false;\n\t\t$scope.feedbackSubmitted = false;\n\t\t$scope.offStarHover();\n\t};\n\n\t$scope.setSelectedStars = function(starNumber, setSelected) {\n\t\tif(!setSelected &amp;&amp; $scope.selectedStar &amp;&amp; starNumber &lt;= $scope.selectedStar) {\n\t\t\treturn;\n\t\t} else if(setSelected) {\n\t\t\t$scope.feedback.rating = $scope.selectedStar = starNumber;\n\t\t}\n\t\tfor(var i=1; i&lt;=5; i++) {\n\t\t\tif(i&lt;=starNumber) {\n\t\t\t\t$scope.starClasses[String(i)] = 'starSelected';\n\t\t\t} else {\n\t\t\t\t$scope.starClasses[String(i)] = 'starUnselected';\n\t\t\t}\n\t\t}\n\t};\n\n\t$scope.offStarHover = function() {\n\t\tvar selectedPoint = 0;\n\t\tif($scope.selectedStar) {\n\t\t\tselectedPoint = $scope.selectedStar;\n\t\t}\n\t\tfor(var i=1; i&lt;=5; i++) {\n\t\t\tif(i&lt;=selectedPoint) {\n\t\t\t\t$scope.starClasses[String(i)] = 'starSelected';\n\t\t\t} else {\n\t\t\t\t$scope.starClasses[String(i)] = 'starUnselected';\n\t\t\t}\n\t\t}\n\t};\n\n\t$scope.initializeFeedback();\n\n\tfunction ValidateEmail(mail){  \n\t\tif (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)){  \n\t\t\treturn (true); \n\t\t}\n\t\t$scope.ErrMsg = \"Invalid Email\";\n\t\t$scope.feedbackError = true;\n\t\treturn (false);\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$btn-primary-background: #0096EC !default;&amp;#13;\n$btn-hover-background: #2783FC !default;&amp;#13;\n&amp;#13;\nstrong {&amp;#13;\n  font-weight: 600;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.alert {&amp;#13;\n  margin-top: 5px;&amp;#13;\n}&amp;#13;\n.alert-success {&amp;#13;\n  margin-top: 20px;&amp;#13;\n}&amp;#13;\n.btn-primary {&amp;#13;\n  background-color: $btn-primary-background !important;&amp;#13;\n  border-width: 0px;&amp;#13;\n}&amp;#13;\n.btn-primary:hover {&amp;#13;\n  background-color: $btn-hover-background !important;&amp;#13;\n  border-width: 0px;&amp;#13;\n}&amp;#13;\n.modal{&amp;#13;\n  top: 55px;&amp;#13;\n}&amp;#13;\n.starRatingContainer {&amp;#13;\n  margin-top: 10px;&amp;#13;\n  margin-bottom: 10px;&amp;#13;\n  text-align: center;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.starRating {&amp;#13;\n  display: inline-block;&amp;#13;\n  width: 17%;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.starText {&amp;#13;\n  font-size: 13px;&amp;#13;\n  margin-bottom: 5px;&amp;#13;\n  word-wrap: break-word;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.starUnselected, &amp;#13;\n.starSelected {&amp;#13;\n  cursor: pointer;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.starUnselected:focus, &amp;#13;\n.starSelected:focus {&amp;#13;\n  outline: 0px solid transparent;&amp;#13;\n}&amp;#13;\n.starSelected .starBorder {&amp;#13;\n  color: #fcc742;&amp;#13;\n}&amp;#13;\n.starSelected .starFill {&amp;#13;\n  color: #ffdb87;&amp;#13;\n}&amp;#13;\n.starBorder {&amp;#13;\n  color: #979797;&amp;#13;\n}&amp;#13;\n.starFill {&amp;#13;\n  color: #fff;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.showRating {&amp;#13;\n  margin-top: 5px;&amp;#13;\n}&amp;#13;\n.showWho {&amp;#13;\n  margin-top: -10px;&amp;#13;\n}&amp;#13;\n.showWho label {&amp;#13;\n  margin-top: 5px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.feedbackInput {&amp;#13;\n  box-shadow: none;&amp;#13;\n  color: 1px solid #ccc;&amp;#13;\n  padding: 10px 15px 10px 15px;&amp;#13;\n  resize: vertical;&amp;#13;\n}&amp;#13;\n&amp;#13;\n#feedbackModal .fa-check-circle {&amp;#13;\n  color: #71E279;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.frame-bottom {&amp;#13;\n  position: fixed;&amp;#13;\n  margin: 0px;&amp;#13;\n  padding: 8px 0px 9px 0px;&amp;#13;\n  bottom: 0px;&amp;#13;\n  width: 114px;&amp;#13;\n  z-index: 100;&amp;#13;\n  font-size: 16px;&amp;#13;\n  text-align: center;&amp;#13;\n  font-weight: thin;&amp;#13;\n  border-radius: 0px;&amp;#13;\n  right: 75px;&amp;#13;\n}&amp;#13;\n.frame-right {&amp;#13;\n  position: fixed;&amp;#13;\n  margin: 0px;&amp;#13;\n  padding: 8px 0px 9px 0px;&amp;#13;\n  right: -40px;&amp;#13;\n  width: 114px;&amp;#13;\n  z-index: 100;&amp;#13;\n  font-size: 16px;&amp;#13;\n  text-align: center;&amp;#13;\n  font-weight: thin;&amp;#13;\n  border-radius: 0px;&amp;#13;\n  top: calc(100%/2);&amp;#13;\n  -webkit-transform: rotate(-90deg);&amp;#13;\n  -moz-transform: rotate(-90deg);&amp;#13;\n  -ms-transform: rotate(-90deg);&amp;#13;\n  -o-transform: rotate(-90deg);&amp;#13;\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);&amp;#13;\n}&amp;#13;\n.hover-bottom{&amp;#13;\n  position:fixed; &amp;#13;\n  bottom:0; &amp;#13;\n  right:0; &amp;#13;\n  border-radius: 50%;&amp;#13;\n  border-width: 0px;&amp;#13;\n  width: 50px;&amp;#13;\n  height: 50px;&amp;#13;\n  margin-right: 10px;&amp;#13;\n  margin-bottom: 10px;&amp;#13;\n  z-index: 200;&amp;#13;\n  font-size: 26px;&amp;#13;\n  font-weight: thin;&amp;#13;\n  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;simplefeedback&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Simple Feedback&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"dataTable\",\"default_value\":\"u_simple_feedback\",\"label\":\"Data Table Name\",\"type\":\"string\"},{\"name\":\"autoHideTY\",\"default_value\":\"true\",\"label\":\"Auto Hide Feedback Thank You\",\"type\":\"boolean\"},{\"name\":\"autoHideDuration\",\"default_value\":\"3.5\",\"label\":\"Auto Hide Duration (in seconds)\",\"type\":\"string\"},{\"name\":\"showFormButton\",\"default_value\":\"true\",\"label\":\"Show Form Button\",\"type\":\"boolean\"},{\"name\":\"hdrTitle\",\"default_value\":\"Feedback\",\"label\":\"Header Title\",\"type\":\"string\"},{\"name\":\"hdrIcon\",\"default_value\":\"fa-comment\",\"label\":\"Header Icon\",\"type\":\"string\"},{\"name\":\"txtTYMsg\",\"default_value\":\"Thank you for your feedback.\",\"label\":\"Thank You Message\",\"type\":\"string\"},{\"name\":\"showRating\",\"default_value\":\"true\",\"label\":\"Show Rating\",\"type\":\"boolean\"},{\"name\":\"txtRating\",\"default_value\":\"Please rate your experience:\",\"label\":\"Rating Text\",\"type\":\"string\"},{\"name\":\"lvlRating\",\"default_value\":\"5\",\"label\":\"Levels of Rating\",\"type\":\"string\"},{\"name\":\"lvlRatingTxt\",\"default_value\":\"[{ \\\"label\\\": \\\"Extremely Dissatisfied\\\", \\\"value\\\": \\\"1\\\" }, { \\\"label\\\": \\\"Slightly Dissatisfied\\\", \\\"value\\\": \\\"2\\\" }, { \\\"label\\\": \\\"Neutral\\\", \\\"value\\\": \\\"3\\\" }, { \\\"label\\\": \\\"Moderately Satisfied\\\", \\\"value\\\": \\\"4\\\" }, { \\\"label\\\": \\\"Extremely Satisfied\\\", \\\"value\\\": \\\"5\\\" }]\",\"label\":\"Levels of Rating\",\"type\":\"string\",\"choices\":\"\"},{\"name\":\"showWho\",\"default_value\":\"true\",\"label\":\"Show Who\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\tdata.wdtOptions = {};\n\t/*- User Info -*/\n\tvar session = gs.getSession();\n\tvar curUser = gs.getUser();\n\t\n\tdata.tblExists = false;\n\t\n\tdata.currentUser = {\n\t\tloggedIn : session.isLoggedIn(),\n\t\tsys_id : gs.getUserID(),\n\t\tname : curUser.getDisplayName(),\n\t\temail : curUser.getEmail()\n\t};\n\t\n\t/*- Form Button Options -*/\n\tdata.wdtOptions.showFormButton = options.showFormButton || serverOptions.showFormButton;\n\tdata.wdtOptions.showFormButton = (data.wdtOptions.showFormButton ==='true');\n\t\n\t/*- Data Posting Options -*/\n\tdata.wdtOptions.dataTable = options.dataTable || serverOptions.dataTable;\n\tdata.tblExists = gs.tableExists(data.wdtOptions.dataTable);\n\t\n\tdata.wdtOptions.autoHideTY = options.autoHideTY || serverOptions.autoHideTY;\n\tdata.wdtOptions.autoHideTY = (data.wdtOptions.autoHideTY ==='true');\n\t\n\tdata.wdtOptions.autoHideDuration = options.autoHideDuration || serverOptions.autoHideDuration;\n\t\n\t/*- Header Options -*/\n\tdata.wdtOptions.hdrTitle = options.hdrTitle || serverOptions.hdrTitle;\n\tdata.wdtOptions.hdrIcon = options.hdrIcon || serverOptions.hdrIcon;\n\t\n\t/*- Rating Options -*/\n\tdata.wdtOptions.showRating = options.showRating || serverOptions.showRating;\n\tdata.wdtOptions.showRating = (data.wdtOptions.showRating ==='true');\n\t\n\tdata.wdtOptions.txtRating = options.txtRating || serverOptions.txtRating;\n\tdata.wdtOptions.lvlRating = options.lvlRating || serverOptions.lvlRating;\n\tdata.wdtOptions.lvlRatingTxt = options.lvlRatingTxt || serverOptions.lvlRatingTxt;\n\tif(data.wdtOptions.lvlRatingTxt.length &gt; 0){\n\t\tdata.wdtOptions.lvlRatingTxt = JSON.parse(data.wdtOptions.lvlRatingTxt);\n\t}\n\t/*- Who Options -*/\n\tdata.wdtOptions.showWho = options.showWho || serverOptions.showWho;\n\tdata.wdtOptions.showWho = (data.wdtOptions.showWho === 'true');\n\t\n\t/*- Other Options -*/\n\t//Thank You Message\n\tdata.wdtOptions.txtTYMsg = options.txtTYMsg || serverOptions.txtTYMsg;\n\t\n\tif(input &amp;&amp; Object.keys(input).length &gt; 0){\n\t\tdata.serverInput = input;\n\t\tvar grFeedback = new GlideRecord(input.wdtOptions.dataTable);\n\t\t\n\t\tgrFeedback.initialize();\n\n\t\tgrFeedback.u_name = input.feedback.who.toString();\n\t\tgrFeedback.u_email = input.feedback.email.toString();\n\t\tgrFeedback.u_rating = input.feedback.rating.toString();\n\t\tgrFeedback.u_feedback = input.feedback.text.toString();\n\t\tgrFeedback.u_location = input.feedback.location.toString();\n\t\tgrFeedback.u_portal = input.feedback.portal.toString();\n\t\tgrFeedback.u_portal_sys_id = input.feedback.portal_sysid.toString();\n\t\tgrFeedback.u_page = input.feedback.page_id.toString();\n\t\tgrFeedback.u_page_sys_id = input.feedback.page_sysid.toString();\n\t\t\n\t\t//grFeedback.u_other =   /* Big (4k) String field to catch any additional info [without having to modify the table]*/\n\n\t\tdata.serverInput.SysID = grFeedback.insert();\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-27 17:33:58&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b97fe7ae4fe3b20005be4d6e0210c7f7&lt;/sys_id&gt;&lt;sys_mod_count&gt;247&lt;/sys_mod_count&gt;&lt;sys_name&gt;Simple Feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b97fe7ae4fe3b20005be4d6e0210c7f7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-06 16:06:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;!-- Remove the buttons not needed --&gt;\n&lt;button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary\"  data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"&gt; &lt;i style=\"margin-right:7px;\" class=\"fa fa-comment\"&gt;&lt;/i&gt; &lt;span&gt;Feedback&lt;/span&gt; &lt;/button&gt;\n&lt;button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary frame-right\"  data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"&gt; &lt;i style=\"margin-right:7px;\" class=\"fa fa-comment\"&gt;&lt;/i&gt; &lt;span&gt;Feedback&lt;/span&gt; &lt;/button&gt;\n&lt;button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary frame-bottom\"  data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"&gt; &lt;i style=\"margin-right:7px;\" class=\"fa fa-comment\"&gt;&lt;/i&gt; &lt;span&gt;Feedback&lt;/span&gt; &lt;/button&gt;\n&lt;button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary hover-bottom\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"&gt;&lt;i class='fa fa-comments-o' aria-hidden='true' style='line-height:inherit;vertical-align:middle;margin-top: -8px;margin-left: -1px;'&gt;&lt;/i&gt;&lt;/button&gt;\n&lt;!-- END :: Remove the buttons not needed --&gt;\n\n&lt;div id=\"feedbackModal\" class=\"modal fade\" role=\"dialog\" style=\"display: none\"&gt; \n  &lt;div class=\"modal-dialog\"&gt; \n    &lt;div class=\"modal-content\"&gt; \n      &lt;form ng-model=\"feedback\" role=\"form\" aria-invalid=\"false\"&gt; \n        &lt;!-- Header --&gt; \n        &lt;div ng-if=\"!feedbackSubmitted || !autoHide\" class=\"modal-header\"&gt; \n          &lt;button ng-disabled=\"feedbackSubmitting\" type=\"button\" class=\"close\" data-dismiss=\"modal\" role=\"button\"&gt;&lt;i class=\"fa fa-times\"&gt;&lt;/i&gt;&lt;/button&gt; \n          &lt;h4&gt;&lt;i class=\"fa {{::c.data.wdtOptions.hdrIcon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;&amp;nbsp;&amp;nbsp;{{::c.data.wdtOptions.hdrTitle}}&lt;/h4&gt; \n        &lt;/div&gt;\n\n        &lt;!-- Body --&gt; \n        &lt;div class=\"modal-body\"&gt; \n          &lt;div ng-if=\"!feedbackSubmitted\" class='ng-scope'&gt; \n            &lt;!-- Who --&gt;\n            &lt;div class='showWho' ng-show=\"{{::c.data.wdtOptions.showWho}}\"&gt;\n              &lt;label for='feedbackWho'&gt;&lt;strong&gt;Name:&lt;/strong&gt;&lt;/label&gt;&lt;input name=\"feedbackWho\" id=\"feedbackWho\" ng-model='feedback.who'  class=\"form-control feedbackInput ng-pristine ng-untouched ng-valid ng-empty\" placeholder=\"Jane Doe\" role=\"textbox\" aria-invalid=\"false\"/&gt;\n              &lt;label for='feedbackEmail'&gt;&lt;strong&gt;Email:&lt;/strong&gt;&lt;/label&gt;&lt;input name=\"feedbackEmail\" id=\"feedbackEmail\" ng-model='feedback.email' ng-change=\"resetError()\"  class=\"form-control feedbackInput ng-pristine ng-untouched ng-valid ng-empty\" placeholder=\"jane.doe@site.com\" role=\"textbox\" aria-invalid=\"false\"/&gt;\n            &lt;/div&gt;\n            \n            &lt;!-- Rating --&gt;\n            &lt;div class='showRating' ng-show=\"{{::c.data.wdtOptions.showRating}}\"&gt;\n              &lt;label for=\"feedbackText\"&gt;&lt;strong&gt;{{::c.data.wdtOptions.txtRating}}&lt;/strong&gt;&lt;/label&gt; \n              &lt;div class=\"starRatingContainer\"&gt; \n\n                &lt;!-- Stars --&gt; \n                &lt;div class=\"starRating\" ng-repeat=\"item in c.data.wdtOptions.lvlRatingTxt\"&gt; \n                  &lt;div class=\"starText hidden-xs\"&gt;{{item.label}}&lt;/div&gt; \n                  &lt;span class=\"fa-stack fa-lg starUnselected\" ng-class=\"starClasses[item.value]\" ng-click=\"setSelectedStars(item.value, true)\" ng-mouseover=\"setSelectedStars(item.value)\" ng-mouseleave=\"offStarHover()\" role=\"button\" style=\"\"&gt; &lt;i class=\"fa fa-star fa-stack-2x starFill\"&gt;&lt;/i&gt; &lt;i class=\"fa fa-star-o fa-stack-2x starBorder\"&gt;&lt;/i&gt; &lt;/span&gt; \n                &lt;/div&gt; \n              &lt;/div&gt; \n            &lt;/div&gt;\n\n            &lt;!-- Text entry --&gt; \n            &lt;label for=\"feedbackTextInput\"&gt;&lt;strong&gt;Enter Feedback Here:&lt;/strong&gt;&lt;/label&gt; \n            &lt;textarea name=\"feedbackTextInput\" id=\"feedbackTextInput\" ng-model=\"feedback.text\" class=\"form-control feedbackInput ng-pristine ng-untouched ng-valid ng-empty\" placeholder=\"Your feedback is greatly appreciated.\" role=\"textbox\" aria-invalid=\"false\"&gt;&lt;/textarea&gt; \n\n          &lt;/div&gt;\n          \n          &lt;!-- Feedback Submitted / Error --&gt;\n          &lt;div ng-if=\"feedbackSubmitted || feedbackError\" class=\"ng-scope\"&gt; \n            &lt;div ng-if=\"feedbackSubmitted\" class=\"ng-scope\"&gt; \n              &lt;div class=\"alert alert-success\" role=\"alert\"&gt;\n                {{::c.data.wdtOptions.txtTYMsg}}\n\t\t\t  &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div ng-if=\"feedbackError\" class=\"ng-scope\"&gt; \n              &lt;div class=\"alert alert-danger\" role=\"alert\"&gt;\n                Error: {{::ErrMsg}}\n\t\t\t  &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt; \n        \n\t\t&lt;!-- Footer --&gt;\n        &lt;div ng-if=\"!feedbackSubmitted\" class=\"modal-footer\"&gt; \n          &lt;button type=\"button\" ng-disabled=\"feedbackSubmitting\" class=\"btn btn-default\" data-dismiss=\"modal\" role=\"button\"&gt;Cancel&lt;/button&gt; \n          &lt;button ng-disabled=\"feedback.text.length == 0 || feedback.who.length == 0 || feedback.email.length == 0 || feedbackSubmitting || guidLoading\" ng-click=\"submitFeedback()\" type=\"button\" class=\"btn btn-primary\" role=\"button\" disabled=\"disabled\"&gt;Send&lt;/button&gt; \n        &lt;/div&gt;\n\n      &lt;/form&gt;\n    &lt;/div&gt; \n  &lt;/div&gt; \n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>fc03b5e14f3b3a0005be4d6e0210c7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table/>\n<target_name>Simple Feedback</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_simple_feedback</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:00:11</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>04732df24f2bb20005be4d6e0210c758</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_name_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:00:11</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>fc03b5e14f3b3a0005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_9f9ae17a4f2bb20005be4d6e0210c773</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"9f9ae17a4f2bb20005be4d6e0210c773\" sys_domain=\"global\" table=\"u_simple_feedback\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>9f9ae17a4f2bb20005be4d6e0210c777</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_email</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>979ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_feedback</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>1b9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_location</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>9b9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_rating</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>1f9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_portal</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>9f9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_portal_sys_id</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>139ae17a4f2bb20005be4d6e0210c779</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_page</element><position>7</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>939ae17a4f2bb20005be4d6e0210c779</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_page_sys_id</element><position>8</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>279ae17a4f2bb20005be4d6e0210c779</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_other</element><position>9</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-29 13:17:46</sys_created_on><sys_id>5f1889d7136ff2006749bccf3244b043</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-29 13:17:46</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_simple_feedback</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9f9ae17a4f2bb20005be4d6e0210c773</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_9f9ae17a4f2bb20005be4d6e0210c773</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback\">3c03b5e14f3b3a0005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-06 16:11:31</sys_created_on>\n<sys_id>fc03b5e14f3b3a0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-06 16:11:31</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-simplefeedback/widget/pe-simplefeedback.u-body-html-template.html",
    "content": "<!-- Remove the buttons not needed -->\r\n<button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"> <i style=\"margin-right:7px;\" class=\"fa fa-comment\"></i> <span>Feedback</span> </button>\r\n<button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary frame-right\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"> <i style=\"margin-right:7px;\" class=\"fa fa-comment\"></i> <span>Feedback</span> </button>\r\n<button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary frame-bottom\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"> <i style=\"margin-right:7px;\" class=\"fa fa-comment\"></i> <span>Feedback</span> </button>\r\n<button ng-show=\"{{::c.data.wdtOptions.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary hover-bottom\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"><i class='fa fa-comments-o' aria-hidden='true' style='line-height:inherit;vertical-align:middle;margin-top: -8px;margin-left: -1px;'></i></button>\r\n<!-- END :: Remove the buttons not needed -->\r\n\r\n<div id=\"feedbackModal\" class=\"modal fade\" role=\"dialog\" style=\"display: none\">\r\n    <div class=\"modal-dialog\">\r\n        <div class=\"modal-content\">\r\n            <form ng-model=\"feedback\" class=\"ng-pristine ng-untouched ng-valid ng-not-empty\" role=\"form\" aria-invalid=\"false\">\r\n                <!-- Header -->\r\n                <div ng-if=\"!feedbackSubmitted || !autoHide\" class=\"modal-header\">\r\n                    <button ng-disabled=\"feedbackSubmitting\" type=\"button\" class=\"close\" data-dismiss=\"modal\" role=\"button\"><i class=\"fa fa-times\"></i></button>\r\n                    <h4><i class=\"fa {{::c.data.wdtOptions.hdrIcon}}\" aria-hidden=\"true\"></i>&nbsp;&nbsp;{{::c.data.wdtOptions.hdrTitle}}</h4>\r\n                </div>\r\n\r\n                <!-- Body -->\r\n                <div class=\"modal-body\">\r\n                    <div ng-if=\"!feedbackSubmitted\" class='ng-scope'>\r\n                        <!-- Who -->\r\n                        <div class='showWho' ng-show=\"{{::c.data.wdtOptions.showWho}}\">\r\n                            <label for='feedbackWho'><strong>Name:</strong></label><input name=\"feedbackWho\" id=\"feedbackWho\" ng-model='feedback.who' class=\"form-control feedbackInput ng-pristine ng-untouched ng-valid ng-empty\" placeholder=\"Jane Doe\"\r\n                                role=\"textbox\" aria-invalid=\"false\" />\r\n                            <label for='feedbackEmail'><strong>Email:</strong></label><input name=\"feedbackEmail\" id=\"feedbackEmail\" ng-model='feedback.email' ng-change=\"resetError()\" class=\"form-control feedbackInput ng-pristine ng-untouched ng-valid ng-empty\"\r\n                                placeholder=\"jane.doe@site.com\" role=\"textbox\" aria-invalid=\"false\" />\r\n                        </div>\r\n\r\n                        <!-- Rating -->\r\n                        <div class='showRating' ng-show=\"{{::c.data.wdtOptions.showRating}}\">\r\n                            <label for=\"feedbackText\"><strong>{{::c.data.wdtOptions.txtRating}}</strong></label>\r\n                            <div class=\"starRatingContainer\">\r\n\r\n                                <!-- Stars -->\r\n                                <div class=\"starRating\" ng-repeat=\"item in c.data.wdtOptions.lvlRatingTxt\">\r\n                                    <div class=\"starText hidden-xs\">{{item.label}}</div>\r\n                                    <span class=\"fa-stack fa-lg starUnselected\" ng-class=\"starClasses[item.value]\" ng-click=\"setSelectedStars(item.value, true)\" ng-mouseover=\"setSelectedStars(item.value)\" ng-mouseleave=\"offStarHover()\" role=\"button\" style=\"\"> <i class=\"fa fa-star fa-stack-2x starFill\"></i> <i class=\"fa fa-star-o fa-stack-2x starBorder\"></i> </span>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n\r\n                        <!-- Text entry -->\r\n                        <label for=\"feedbackTextInput\"><strong>Enter Feedback Here:</strong></label>\r\n                        <textarea name=\"feedbackTextInput\" id=\"feedbackTextInput\" ng-model=\"feedback.text\" class=\"form-control feedbackInput ng-pristine ng-untouched ng-valid ng-empty\" placeholder=\"Your feedback is greatly appreciated.\" role=\"textbox\" aria-invalid=\"false\"></textarea>\r\n\r\n                    </div>\r\n\r\n                    <!-- Feedback Submitted / Error -->\r\n                    <div ng-if=\"feedbackSubmitted || feedbackError\" class=\"ng-scope\">\r\n                        <div ng-if=\"feedbackSubmitted\" class=\"ng-scope\">\r\n                            <div class=\"alert alert-success\" role=\"alert\">\r\n                                {{::c.data.wdtOptions.txtTYMsg}}\r\n                            </div>\r\n                        </div>\r\n                        <div ng-if=\"feedbackError\" class=\"ng-scope\">\r\n                            <div class=\"alert alert-danger\" role=\"alert\">\r\n                                Error: {{::ErrMsg}}\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n                <!-- Footer -->\r\n                <div ng-if=\"!feedbackSubmitted\" class=\"modal-footer\">\r\n                    <button type=\"button\" ng-disabled=\"feedbackSubmitting\" class=\"btn btn-default\" data-dismiss=\"modal\" role=\"button\">Cancel</button>\r\n                    <button ng-disabled=\"feedback.text.length == 0 || feedback.who.length == 0 || feedback.email.length == 0 || feedbackSubmitting || guidLoading\" ng-click=\"submitFeedback()\" type=\"button\" class=\"btn btn-primary\" role=\"button\" disabled=\"disabled\">Send</button>\r\n                </div>\r\n\r\n            </form>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-simplefeedback/widget/pe-simplefeedback.u-client-script.js",
    "content": "function feedbackController($q, $scope, $http, $location, $window, $rootScope, $timeout, spUtil) {\r\n    var c = this;\r\n    c.autoHideDuration = 0.0;\r\n\r\n    $scope.starClasses = {\r\n        '1': 'starUnselected',\r\n        '2': 'starUnselected',\r\n        '3': 'starUnselected',\r\n        '4': 'starUnselected',\r\n        '5': 'starUnselected'\r\n    };\r\n\r\n    $scope.guid = null;\r\n    $scope.guidLoading = false;\r\n    $scope.ErrMsg = \"Unknown Error\";\r\n    $scope.feedbackError = false;\r\n    $scope.autoHide = c.data.wdtOptions.autoHideTY;\r\n\r\n    $scope.initializeFeedback = function() {\r\n        $scope.resetForm();\r\n\r\n        $scope.$on('openFeedback', function(event, args) {\r\n            $('#feedbackModal').modal('show');\r\n        });\r\n        $('#feedbackModal').on('shown.bs.modal', function() {\r\n            //Make sure the modal and backdrop are siblings (changes the DOM)\r\n            $(this).before($('.modal-backdrop'));\r\n            //Make sure the z-index is higher than the backdrop\r\n            $(this).css(\"z-index\", parseInt($('.modal-backdrop').css('z-index')) + 1);\r\n        });\r\n        $('#feedbackModal').on('hidden.bs.modal', function() {\r\n            if ($scope.feedbackSubmitted) {\r\n                $timeout(function() {\r\n                    $scope.resetForm();\r\n                }, 250);\r\n                $scope.setupGUID();\r\n            }\r\n        });\r\n\r\n        $scope.setupGUID();\r\n\r\n        $rootScope.$on('$locationChangeStart', function(evt) {\r\n            $scope.resetForm();\r\n        });\r\n    };\r\n\r\n    $scope.setupGUID = function() {\r\n        $scope.guidLoading = true;\r\n\r\n        $scope.guidLoading = false;\r\n    };\r\n\r\n    $scope.submitFeedback = function() {\r\n        var feedback = {};\r\n\r\n        if (ValidateEmail($scope.feedback.email)) {\r\n            if (c.data.tblExists) {\r\n                $scope.showModalInlay = true;\r\n                $scope.feedbackSubmitting = true;\r\n\r\n                c.data.feedback = $scope.feedback;\r\n\r\n                c.server.update().then(function(result) {\r\n                    $scope.feedbackSubmitting = false;\r\n                    $scope.feedbackSubmitted = true;\r\n                    $scope.showModalInlay = false;\r\n                }).then(function() {\r\n                    if (c.data.wdtOptions.autoHideTY) {\r\n                        $timeout(function() {\r\n                            $('#feedbackModal').modal('hide');\r\n                        }, (c.autoHideDuration));\r\n                    }\r\n                });\r\n            } else {\r\n                $scope.ErrMsg = \"DataTable configuration - Does not exist.\";\r\n                $scope.feedbackError = true;\r\n            }\r\n        }\r\n    };\r\n    $scope.resetError = function() {\r\n        $scope.feedbackError = false;\r\n    };\r\n\r\n    $scope.resetForm = function() {\r\n        $scope.selectedStar = null;\r\n        if (c.data.wdtOptions.showRating === 'false') {\r\n            $scope.selectedStar = -1;\r\n        }\r\n        if (c.data.wdtOptions.autoHideTY) {\r\n            c.autoHideDuration = parseFloat(c.data.wdtOptions.autoHideDuration) * 1000;\r\n        }\r\n        $scope.feedback = {\r\n            who: '',\r\n            email: '',\r\n            text: '',\r\n            rating: -1,\r\n            page_id: $scope.page.id,\r\n            page_sysid: $scope.page.sys_id,\r\n            portal: $scope.portal.title,\r\n            portal_sysid: $scope.portal.sys_id,\r\n            location: $location.url()\r\n        };\r\n        if (c.data.currentUser.loggedIn) {\r\n            c.data.wdtOptions.showWho = false;\r\n            $scope.userSysID = c.data.currentUser.sys_id;\r\n            $scope.feedback.who = c.data.currentUser.name;\r\n            $scope.feedback.email = c.data.currentUser.email;\r\n        }\r\n        $scope.showModalInlay = false;\r\n        $scope.feedbackSubmitting = false;\r\n        $scope.feedbackSubmitted = false;\r\n        $scope.offStarHover();\r\n    };\r\n\r\n    $scope.setSelectedStars = function(starNumber, setSelected) {\r\n        if (!setSelected && $scope.selectedStar && starNumber <= $scope.selectedStar) {\r\n            return;\r\n        } else if (setSelected) {\r\n            $scope.feedback.rating = $scope.selectedStar = starNumber;\r\n        }\r\n        for (var i = 1; i <= 5; i++) {\r\n            if (i <= starNumber) {\r\n                $scope.starClasses[String(i)] = 'starSelected';\r\n            } else {\r\n                $scope.starClasses[String(i)] = 'starUnselected';\r\n            }\r\n        }\r\n    };\r\n\r\n    $scope.offStarHover = function() {\r\n        var selectedPoint = 0;\r\n        if ($scope.selectedStar) {\r\n            selectedPoint = $scope.selectedStar;\r\n        }\r\n        for (var i = 1; i <= 5; i++) {\r\n            if (i <= selectedPoint) {\r\n                $scope.starClasses[String(i)] = 'starSelected';\r\n            } else {\r\n                $scope.starClasses[String(i)] = 'starUnselected';\r\n            }\r\n        }\r\n    };\r\n\r\n    $scope.initializeFeedback();\r\n\r\n    function ValidateEmail(mail) {\r\n        if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)) {\r\n            return (true);\r\n        }\r\n        $scope.ErrMsg = \"Invalid Email\";\r\n        $scope.feedbackError = true;\r\n        return (false);\r\n    }\r\n}"
  },
  {
    "path": "pe-simplefeedback/widget/pe-simplefeedback.u-css.css",
    "content": "$btn-primary-background: #0096EC !default;\n$btn-hover-background: #2783FC !default;\nstrong {\n    font-weight: 600;\n}\n\n.alert {\n    margin-top: 5px;\n}\n\n.alert-success {\n    margin-top: 20px;\n}\n\n.btn-primary {\n    background-color: $btn-primary-background !important;\n    border-width: 0px;\n}\n\n.btn-primary:hover {\n    background-color: $btn-hover-background !important;\n    border-width: 0px;\n}\n\n.modal {\n    top: 55px;\n}\n\n.starRatingContainer {\n    margin-top: 10px;\n    margin-bottom: 10px;\n    text-align: center;\n}\n\n.starRating {\n    display: inline-block;\n    width: 17%;\n}\n\n.starText {\n    font-size: 13px;\n    margin-bottom: 5px;\n    word-wrap: break-word;\n}\n\n.starUnselected,\n.starSelected {\n    cursor: pointer;\n}\n\n.starUnselected:focus,\n.starSelected:focus {\n    outline: 0px solid transparent;\n}\n\n.starSelected .starBorder {\n    color: #fcc742;\n}\n\n.starSelected .starFill {\n    color: #ffdb87;\n}\n\n.starBorder {\n    color: #979797;\n}\n\n.starFill {\n    color: #fff;\n}\n\n.showRating {\n    margin-top: 5px;\n}\n\n.showWho {\n    margin-top: -10px;\n}\n\n.showWho label {\n    margin-top: 5px;\n}\n\n.feedbackInput {\n    box-shadow: none;\n    color: 1px solid #ccc;\n    padding: 10px 15px 10px 15px;\n    resize: vertical;\n}\n\n#feedbackModal .fa-check-circle {\n    color: #71E279;\n}\n\n.frame-bottom {\n    position: fixed;\n    margin: 0px;\n    padding: 8px 0px 9px 0px;\n    bottom: 0px;\n    width: 114px;\n    z-index: 100;\n    font-size: 16px;\n    text-align: center;\n    font-weight: thin;\n    border-radius: 0px;\n    right: 75px;\n}\n\n.frame-right {\n    position: fixed;\n    margin: 0px;\n    padding: 8px 0px 9px 0px;\n    right: -40px;\n    width: 114px;\n    z-index: 100;\n    font-size: 16px;\n    text-align: center;\n    font-weight: thin;\n    border-radius: 0px;\n    top: calc(100%/2);\n    -webkit-transform: rotate(-90deg);\n    -moz-transform: rotate(-90deg);\n    -ms-transform: rotate(-90deg);\n    -o-transform: rotate(-90deg);\n    filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3);\n}\n\n.hover-bottom {\n    position: fixed;\n    bottom: 0;\n    right: 0;\n    border-radius: 50%;\n    border-width: 0px;\n    width: 50px;\n    height: 50px;\n    margin-right: 10px;\n    margin-bottom: 10px;\n    z-index: 200;\n    font-size: 26px;\n    font-weight: thin;\n    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);\n}"
  },
  {
    "path": "pe-simplefeedback/widget/pe-simplefeedback.u-option-schema.json",
    "content": "[\n    { \"name\": \"dataTable\", \"default_value\": \"u_simple_feedback\", \"label\": \"Data Table Name\", \"type\": \"string\" },\n    { \"name\": \"autoHideTY\", \"default_value\": \"true\", \"label\": \"Auto Hide Feedback Thank You\", \"type\": \"boolean\" },\n    { \"name\": \"autoHideDuration\", \"default_value\": \"3.5\", \"label\": \"Auto Hide Duration (in seconds)\", \"type\": \"string\" },\n    { \"name\": \"showFormButton\", \"default_value\": \"true\", \"label\": \"Show Form Button\", \"type\": \"boolean\" },\n    { \"name\": \"hdrTitle\", \"default_value\": \"Feedback\", \"label\": \"Header Title\", \"type\": \"string\" },\n    { \"name\": \"hdrIcon\", \"default_value\": \"fa-comment\", \"label\": \"Header Icon\", \"type\": \"string\" },\n    { \"name\": \"txtTYMsg\", \"default_value\": \"Thank you for your feedback.\", \"label\": \"Thank You Message\", \"type\": \"string\" },\n    { \"name\": \"showRating\", \"default_value\": \"true\", \"label\": \"Show Rating\", \"type\": \"boolean\" },\n    { \"name\": \"txtRating\", \"default_value\": \"Please rate your experience:\", \"label\": \"Rating Text\", \"type\": \"string\" },\n    { \"name\": \"lvlRating\", \"default_value\": \"5\", \"label\": \"Levels of Rating\", \"type\": \"string\" },\n    { \"name\": \"lvlRatingTxt\", \"default_value\": \"[{ \\\"label\\\": \\\"Extremely Dissatisfied\\\", \\\"value\\\": \\\"1\\\" }, { \\\"label\\\": \\\"Slightly Dissatisfied\\\", \\\"value\\\": \\\"2\\\" }, { \\\"label\\\": \\\"Neutral\\\", \\\"value\\\": \\\"3\\\" }, { \\\"label\\\": \\\"Moderately Satisfied\\\", \\\"value\\\": \\\"4\\\" }, { \\\"label\\\": \\\"Extremely Satisfied\\\", \\\"value\\\": \\\"5\\\" }]\", \"label\": \"Levels of Rating\", \"type\": \"string\", \"choices\": \"\" },\n    { \"name\": \"showWho\", \"default_value\": \"true\", \"label\": \"Show Who\", \"type\": \"boolean\" }\n]"
  },
  {
    "path": "pe-simplefeedback/widget/pe-simplefeedback.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n    var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\r\n    data.wdtOptions = {};\r\n    /*- User Info -*/\r\n    var session = gs.getSession();\r\n    var curUser = gs.getUser();\r\n\r\n    data.tblExists = false;\r\n\r\n    data.currentUser = {\r\n        loggedIn: session.isLoggedIn(),\r\n        sys_id: gs.getUserID(),\r\n        name: curUser.getDisplayName(),\r\n        email: curUser.getEmail()\r\n    };\r\n\r\n    /*- Form Button Options -*/\r\n    data.wdtOptions.showFormButton = options.showFormButton || serverOptions.showFormButton;\r\n    data.wdtOptions.showFormButton = (data.wdtOptions.showFormButton === 'true');\r\n\r\n    /*- Data Posting Options -*/\r\n    data.wdtOptions.dataTable = options.dataTable || serverOptions.dataTable;\r\n    data.tblExists = gs.tableExists(data.wdtOptions.dataTable);\r\n\r\n    data.wdtOptions.autoHideTY = options.autoHideTY || serverOptions.autoHideTY;\r\n    data.wdtOptions.autoHideTY = (data.wdtOptions.autoHideTY === 'true');\r\n\r\n    data.wdtOptions.autoHideDuration = options.autoHideDuration || serverOptions.autoHideDuration;\r\n\r\n    /*- Header Options -*/\r\n    data.wdtOptions.hdrTitle = options.hdrTitle || serverOptions.hdrTitle;\r\n    data.wdtOptions.hdrIcon = options.hdrIcon || serverOptions.hdrIcon;\r\n\r\n    /*- Rating Options -*/\r\n    data.wdtOptions.showRating = options.showRating || serverOptions.showRating;\r\n    data.wdtOptions.showRating = (data.wdtOptions.showRating === 'true');\r\n\r\n    data.wdtOptions.txtRating = options.txtRating || serverOptions.txtRating;\r\n    data.wdtOptions.lvlRating = options.lvlRating || serverOptions.lvlRating;\r\n    data.wdtOptions.lvlRatingTxt = options.lvlRatingTxt || serverOptions.lvlRatingTxt;\r\n    if (data.wdtOptions.lvlRatingTxt.length > 0) {\r\n        data.wdtOptions.lvlRatingTxt = JSON.parse(data.wdtOptions.lvlRatingTxt);\r\n    }\r\n    /*- Who Options -*/\r\n    data.wdtOptions.showWho = options.showWho || serverOptions.showWho;\r\n    data.wdtOptions.showWho = (data.wdtOptions.showWho === 'true');\r\n\r\n    /*- Other Options -*/\r\n    //Thank You Message\r\n    data.wdtOptions.txtTYMsg = options.txtTYMsg || serverOptions.txtTYMsg;\r\n\r\n    if (input && Object.keys(input).length > 0) {\r\n        data.serverInput = input;\r\n        var grFeedback = new GlideRecord(input.wdtOptions.dataTable);\r\n\r\n        grFeedback.initialize();\r\n\r\n        grFeedback.u_name = input.feedback.who.toString();\r\n        grFeedback.u_email = input.feedback.email.toString();\r\n        grFeedback.u_rating = input.feedback.rating.toString();\r\n        grFeedback.u_feedback = input.feedback.text.toString();\r\n        grFeedback.u_location = input.feedback.location.toString();\r\n        grFeedback.u_portal = input.feedback.portal.toString();\r\n        grFeedback.u_portal_sys_id = input.feedback.portal_sysid.toString();\r\n        grFeedback.u_page = input.feedback.page_id.toString();\r\n        grFeedback.u_page_sys_id = input.feedback.page_sysid.toString();\r\n\r\n        //grFeedback.u_other =   /* Big (4k) String field to catch any additional info [without having to modify the table]*/\r\n\r\n        data.serverInput.SysID = grFeedback.insert();\r\n    }\r\n\r\n})();"
  },
  {
    "path": "pe-simplefeedback-styled/README.md",
    "content": "# Simple Feedback - Styled\n\n## Description\n\nWidget provides a simple feedback collection capability that can be added to a site.\nThe feedback input shows as a modal dialog and can be configurable in how it functions.\n> This widget does not contain a Ratings collection capability. Use the 'Simple Feedback' widget for an example that incorporates Ratings collection.\n\n## Screenshots\n### Button Style Choices\n>Desktop\n\n![alt text](../images/sfb-desktop.png \"Button Choices\")\n>Mobile\n\n![alt text](../images/sfb-mobile.png \"Button Choices\")\n### Modal\n>Desktop\n\n![alt text](../images/sfb-desktop-modal.png \"Modal on Desktop\")\n>Mobile\n\n![alt text](../images/sfb-mobile-modal.png \"Modal on Mobile\")\n\n## Additional Information/Notes\nUpdate set installs the data table 'Simple Feedback' (u_simple_feedback)\n\n## Implementation Notes\nAlternative to [adding the widget](https://docs.servicenow.com/search?q=Add+Widgets+To+A+Page) as an instance to a Service Portal Page, the widget can be injected within another widget's HTML and activated via a javascript function:\n> HTML Body\n```HTML\n<div class=\"simple-feedback-styled\">\n    <sp-widget widget=\"c.feedbackWidget\"></sp-widget>\n</div>\n```\n>Client Controller\n```Javascript\nfunction activateFeedbackWidget() {\n    spUtil.get('simple-feedback-styled').then(function(response) {\n        c.feedbackWidget = response;\n    });\n}\n```\n\n#### Broadcast New Styling\n\nAdditionally, the following RootScope Broadcast statement can be used to change the CSS of the buttons without modifying the widget's SASS/CSS\n\n```Javascript\n$rootScope.$broadcast('fbStyleButton', {\n    div:{\n        //Outer container <DIV> holding the button and/or label\n    },\n    button : {\n        //CSS attribute and value must be strings\n        \"background-color\": \"#09639b\",\n        \"box-shadow\":\"0 1px 4px 2px rgba(0, 0, 0, 0.2)\"\n    },\n    label : {\n        //CSS attribute and value must be strings\n        \"display\" : \"none\",\n        \"color\" : \"#ffffff\"\n    }\n});\n```\n\n---\n## Installation\nDownload and install update set **[pe-simplefeedback-styled.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-simplefeedback-styled/pe-simplefeedback-styled.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**dataTable** - Data Table Name `Default: u_simple_feedback`<br/>\n**autoHideTY** - Auto Hide Feedback Thank You `Default: true`<br/>\n**autoHideDuration** - Auto Hide Duration (in seconds) `Default: 2.0`<br/>\n**showFormButton** - Show Form Button `Default: true` - set to false if providing different button or opening method<br/>\n**hdrTitle** - Header Title `Default: Feedback`<br/>\n**hdrIcon** - Header Icon `Default: \"\"`<br/>\n**txtTYMsg** - Thank You Message `Default: Thank you for your feedback.`<br/>\n**showWho** - Show Who `Default: true`<br/>\n\n> Note: **hdrIcon** - Can be replaced with any supported glyph/icon using the [fontawesome.io](http://fontawesome.io/cheatsheet/) classes.\n\n---\n## Platform Dependencies\n> None\n\n---\n## Sample Data and Data Structures\n\n`Table is created with update set - u_simple_feedback`\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```CSS\n$fb-cream: #fbf8f5 !default;\n$fb-coral: #f95050 !default;\n$fb-darktan: #8e8b87 !default;\n$fb-tan: #e8e5de !default;\n$fb-label: #4a4a4a !default;\n$fb-white: #ffffff !default;\n\n/* Change to desired Color */\n$fb-btn-background: $fb-coral !default;\n/* Or comment out the above and uncomment below to have a Opacity driven transparent background*/\n/*$fb-btn-background: rgba(255, 255, 255, 0.08) !default;*/\n\n$fb-icon-stroke: $fb-cream !default;\n\n$fb-btn-hover-bottom: 45px !default;\n$fb-btn-hover-right: 45px !default;\n\n$fb-btn-cancel-background: $fb-cream !default;\n$fb-btn-cancel-color: $fb-coral !default;\n$fb-btn-submit-background: $fb-coral !default;\n$fb-btn-submit-color: $fb-cream !default;\n```"
  },
  {
    "path": "pe-simplefeedback-styled/pe-simplefeedback-styled.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-24 19:34:42\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Simple Feedback - Styled</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>695bad824fcc830005be4d6e0210c716</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>982e07d34f48430005be4d6e0210c7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_d9a2e1f24f2bb20005be4d6e0210c790</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>true</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Simple Feedback</label><live_feed_enabled>false</live_feed_enabled><name>u_simple_feedback</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9a2e1f24f2bb20005be4d6e0210c790</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Simple Feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_d9a2e1f24f2bb20005be4d6e0210c790</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 17:50:07</sys_updated_on><update_access>false</update_access><user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>102e07d34f48430005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_other_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_other\" label=\"Other\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_other</element><help/><hint/><label>Other</label><language>en</language><name>u_simple_feedback</name><plural>Others</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-29 13:17:46</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>131889d7136ff2006749bccf3244b048</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Other</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_other_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-29 13:17:46</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>102e07d34f48430005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Other</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_update_xml_ddd265f24f2bb20005be4d6e0210c757</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_update_xml\"&gt;&lt;sys_update_xml action=\"INSERT_OR_UPDATE\"&gt;&lt;action&gt;INSERT_OR_UPDATE&lt;/action&gt;&lt;application display_value=\"Global\"&gt;global&lt;/application&gt;&lt;category&gt;customer&lt;/category&gt;&lt;comments/&gt;&lt;name&gt;sys_security_acl_95d265f24f2bb20005be4d6e0210c748&lt;/name&gt;&lt;payload&gt;&lt;![CDATA[&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_security_acl\"&gt;&lt;sys_security_acl action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;admin_overrides&gt;true&lt;/admin_overrides&gt;&lt;advanced&gt;false&lt;/advanced&gt;&lt;condition/&gt;&lt;description&gt;Default access control on u_simple_feedback&lt;/description&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;operation display_value=\"read\"&gt;read&lt;/operation&gt;&lt;script/&gt;&lt;sys_class_name&gt;sys_security_acl&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 01:57:32&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;95d265f24f2bb20005be4d6e0210c748&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_simple_feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_security_acl_95d265f24f2bb20005be4d6e0210c748&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 01:57:32&lt;/sys_updated_on&gt;&lt;type display_value=\"record\"&gt;record&lt;/type&gt;&lt;/sys_security_acl&gt;&lt;/record_update&gt;]]&gt;&lt;/payload&gt;&lt;remote_update_set/&gt;&lt;replace_on_upgrade&gt;false&lt;/replace_on_upgrade&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 01:57:32&lt;/sys_created_on&gt;&lt;sys_id&gt;ddd265f24f2bb20005be4d6e0210c757&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 01:57:32&lt;/sys_updated_on&gt;&lt;table&gt;u_simple_feedback&lt;/table&gt;&lt;target_name&gt;u_simple_feedback&lt;/target_name&gt;&lt;type&gt;Access Control&lt;/type&gt;&lt;update_domain&gt;global&lt;/update_domain&gt;&lt;update_set display_value=\"Simple Feedback\"&gt;c61155fc4f2f720005be4d6e0210c7c8&lt;/update_set&gt;&lt;view/&gt;&lt;/sys_update_xml&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>102e07d34f48430005be4d6e0210c7ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>sys_security_acl_95d265f24f2bb20005be4d6e0210c748</target_name>\n<type>Customer Update</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_email_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_email\" label=\"Email\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_email</element><help/><hint/><label>Email</label><language>en</language><name>u_simple_feedback</name><plural>Emails</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:00:33</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>d5836df24f2bb20005be4d6e0210c700</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Email</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_email_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:00:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>142e07d34f48430005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Email</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_4dd265f24f2bb20005be4d6e0210c742</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4dd265f24f2bb20005be4d6e0210c742</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">c1d265f24f2bb20005be4d6e0210c73e</sys_security_acl><sys_update_name>sys_security_acl_role_4dd265f24f2bb20005be4d6e0210c742</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>142e07d34f48430005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_page_sys_id</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_page_sys_id\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Page Sys ID&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_page_sys_id&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:12:24&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;232621b64f2bb20005be4d6e0210c7cb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Page Sys ID&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_page_sys_id&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:12:24&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>182e07d34f48430005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page Sys ID</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_95d265f24f2bb20005be4d6e0210c748</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>95d265f24f2bb20005be4d6e0210c748</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_95d265f24f2bb20005be4d6e0210c748</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>182e07d34f48430005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_location</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_location\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Site Location&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_location&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;1500&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:09:04&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c82521764f2bb20005be4d6e0210c7ba&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Site Location&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_location&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:12:44&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>1c2e07d34f48430005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Site Location</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_portal_sys_id_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_portal_sys_id\" label=\"Portal Sys ID\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_portal_sys_id</element><help/><hint/><label>Portal Sys ID</label><language>en</language><name>u_simple_feedback</name><plural>Portal Sys IDs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:11:37</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>2706e9764f2bb20005be4d6e0210c72b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Portal Sys ID</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_portal_sys_id_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:11:37</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>1c2e07d34f48430005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal Sys ID</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_rating</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_rating\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Rating&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_rating&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:09:58&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5e8565764f2bb20005be4d6e0210c7f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Rating&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_rating&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:09:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>502e07d34f48430005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Rating</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_1dd265f24f2bb20005be4d6e0210c760</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1dd265f24f2bb20005be4d6e0210c760</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">1dd265f24f2bb20005be4d6e0210c75c</sys_security_acl><sys_update_name>sys_security_acl_role_1dd265f24f2bb20005be4d6e0210c760</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>502e07d34f48430005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_page</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_page\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Page&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_page&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:12:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3016ad764f2bb20005be4d6e0210c7b3&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Page&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_page&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:12:05&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>542e07d34f48430005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_1dd265f24f2bb20005be4d6e0210c75c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1dd265f24f2bb20005be4d6e0210c75c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_1dd265f24f2bb20005be4d6e0210c75c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>542e07d34f48430005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_feedback</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_feedback\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Feedback&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_feedback&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;1000&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:06:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;be83edf24f2bb20005be4d6e0210c71c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_feedback&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:06:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>582e07d34f48430005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Feedback</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_portal_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_portal\" label=\"Portal\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_portal</element><help/><hint/><label>Portal</label><language>en</language><name>u_simple_feedback</name><plural>Portals</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:11:04</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>57e5e5764f2bb20005be4d6e0210c7b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Portal</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_portal_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:11:04</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>582e07d34f48430005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_29d265f24f2bb20005be4d6e0210c791</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_simple_feedback</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:34</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>29d265f24f2bb20005be4d6e0210c791</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_29d265f24f2bb20005be4d6e0210c791</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:34</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>582e07d34f48430005be4d6e0210c7ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table/>\n<target_name>u_simple_feedback</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_5f326d8a4f8c830005be4d6e0210c717</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function feedbackController($q, $scope, $location, $rootScope, $timeout) {\n\t\n\tvar c = this;\n\t\n\tc.autoHideDuration = 0.0;\n\n\t$scope.ErrMsg = \"Unknown Error\";\n\t$scope.feedbackError = false;\n\t$scope.autoHide = c.data.options.autoHideTY;\n\t\n\t$rootScope.$on('fbStyleButton', function(evt,objStyle) {\n\t\t$scope.fbDIVStyle = objStyle.div;\n\t\t$scope.fbButtonStyle = objStyle.button;\n\t\t$scope.fbLabelStyle = objStyle.label;\n\t});\n\t/*\n\t//Use broadcast as follows \n\t$rootScope.$broadcast('fbStyleButton', {\n\t\tdiv:{},\n\t\tbutton : {\n\t\t\t\"background-color\": \"#09639b\",\n\t\t\t\"box-shadow\":\"0 1px 4px 2px rgba(0, 0, 0, 0.2)\"\n\t\t},\n\t\tlabel : {\n\t\t\t\"color\" : \"#ffffff\"\n\t\t}\n\t});\n\t*/\n\t\n\t/* Scope Functions */\n\t$scope.initializeFeedback = function() {\n\t\t$scope.resetForm();\n\n\t\t$scope.$on('openFeedback', function (event, args) {\n\t\t\t$('#feedbackModal').modal('show');\n\t\t});\n\t\t\n\t\t$('#feedbackModal').on('shown.bs.modal', function() {\n\t\t\t//Make sure the modal and backdrop are siblings (changes the DOM)\n\t\t\t$(this).before($('.modal-backdrop'));\n\t\t\t//Make sure the z-index is higher than the backdrop\n\t\t\t$(this).css(\"z-index\", parseInt($('.modal-backdrop').css('z-index')) + 1);\n\t\t\tc.data.options.showFormButton = false;\n\t\t});\n\t\t\n\t\t$('#feedbackModal').on('hidden.bs.modal', function () {\n\t\t\tif($scope.feedbackSubmitted) {\n\t\t\t\t$timeout(function(){\n\t\t\t\t\t$scope.resetForm();\n\t\t\t\t\tc.data.options.showFormButton = true;\n\t\t\t\t}, 250);\n\t\t\t}\n\t\t});\n\n\t\t$rootScope.$on('$locationChangeStart', function(evt) {\n\t\t\t$scope.resetForm();\n\t\t});\n\t\t\n\t\tconsole.log($scope);\n\t\tconsole.log(c);\n\t};\n\n\t$scope.submitFeedback = function() {\n\t\tif(ValidateEmail($scope.feedback.email)){\n\t\t\tif(c.data.tblExists){\n\t\t\t\t$scope.showModalInlay = false;\n\t\t\t\t$scope.feedbackSubmitting = true;\n\n\t\t\t\tpostFeedback().then(function(){\n\t\t\t\t\t$scope.feedbackSubmitting = false;\n\t\t\t\t\t$scope.feedbackSubmitted = true;\n\t\t\t\t\t$scope.showModalInlay = false;\n\n\t\t\t\t\tif(c.data.options.autoHideTY){\n\t\t\t\t\t\t$timeout(function(){\n\t\t\t\t\t\t\t$('#feedbackModal').modal('hide');\n\t\t\t\t\t\t}, ( c.autoHideDuration ));\n\t\t\t\t\t}\n\n\t\t\t\t});\n\t\t\t}else{\n\t\t\t\t$scope.ErrMsg = \"DataTable configuration - Does not exist.\";\n\t\t\t\t$scope.feedbackError = true;\n\t\t\t}\n\t\t}\n\t};\n\t\n\t$scope.resetError = function(){\n\t\t$scope.feedbackError = false;\n\t};\n\t\n\t$scope.resetForm = function() {\n\t\tif(c.data.options.autoHideTY){\n\t\t\tc.autoHideDuration = parseFloat(c.data.options.autoHideDuration)*1000;\n\t\t}\n\t\t$scope.feedback = {\n\t\t\twho : '',\n\t\t\temail : '',\n\t\t\ttext : '',\n\t\t\trating : -1,\n\t\t\tpage_id : $scope.page.id,\n\t\t\tpage_sysid : $scope.page.sys_id,\n\t\t\tportal : $scope.portal.title,\n\t\t\tportal_sysid : $scope.portal.sys_id,\n\t\t\tlocation : $location.url()\n\t\t};\n\t\tif(c.data.currentUser.loggedIn){\n\t\t\t//c.data.options.showWho = false;\n\t\t\t$scope.userSysID = c.data.currentUser.sys_id;\n\t\t\t$scope.feedback.who = c.data.currentUser.name;\n\t\t\t$scope.feedback.email = c.data.currentUser.email;\n\t\t}\n\t\t$scope.showModalInlay = false;\n\t\t$scope.feedbackSubmitting = false;\n\t\t$scope.feedbackSubmitted = false;\n\t};\n\n\t/* Let's Go */\n\t$scope.initializeFeedback();\n\n\t/* Private Functions */\n\tfunction postFeedback(){\n\t\tvar defer = $q.defer();\n\t\tc.server.get({action:'PostFeedback', feedback: $scope.feedback }).then(function(response){\n\t\t\tif(response.data.sys_id){\n\t\t\t\tdefer.resolve();\n\t\t\t}else{\n\t\t\t\tdefer.reject();\n\t\t\t}\n\t\t});\n\t\treturn defer.promise;\n\t}\n\t\n\tfunction ValidateEmail(mail){  \n\t\tif (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)){  \n\t\t\treturn (true); \n\t\t}\n\t\t$scope.ErrMsg = \"Invalid Email\";\n\t\t$scope.feedbackError = true;\n\t\treturn (false);\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$fb-cream: #fbf8f5 !default;\n$fb-coral: #f95050 !default;\n$fb-darktan: #8e8b87 !default;\n$fb-tan: #e8e5de !default;\n$fb-label: #4a4a4a !default;\n$fb-white: #ffffff !default;\n\n/* Change to desired Color */\n$fb-btn-background: $fb-coral !default;\n/* Or comment out the above and uncomment below to have a Opacity driven transparent background*/\n/*$fb-btn-background: rgba(255, 255, 255, 0.08) !default;*/\n\n$fb-icon-stroke: $fb-cream !default;;\n\n$fb-btn-hover-bottom: 45px !default;\n$fb-btn-hover-right: 45px !default;\n\n$fb-btn-cancel-background: $fb-cream !default;\n$fb-btn-cancel-color: $fb-coral !default;\n$fb-btn-submit-background: $fb-coral !default;\n$fb-btn-submit-color: $fb-cream !default;\n\n.btn-primary {\n  border: 0px solid transparent;\n  background-color: $fb-btn-background !important;\n}\n.icon-close{\n  height: 20px;\n  width: 20px;\n  margin: 0 auto;\n  text-align: center;\n  margin-right: 16px;\n  margin-top: 16px;\n  color: $fb-darktan !important;\n}\n.icon-feedback {\n  height: 38px;\n  width: 38px;\n  margin: 0 auto;\n  text-align: center;\n  margin-left: 6px;\n  margin-top: 12px;\n  stroke: $fb-icon-stroke;\n  stroke-width: 2;\n}\n.hover-bottom{\n  position: fixed; \n  margin: 0 auto;\n  bottom: $fb-btn-hover-bottom; \n  right: $fb-btn-hover-right; \n  width: 80px;\n  height: 100px;\n  z-index: 2000;\n  background-color: transparent !important;\n  .hover-button{\n    border-radius: 50%;\n    border-width: 0px;\n    box-shadow: 0px 1px 1px 2px rgba(0, 0, 0, .03);\n    width: 80px;\n    height: 80px;\n    margin-right: 10px;\n    margin-bottom: 10px;\n    background-color: $fb-btn-background;\n  }\n  .hover-label{\n    margin: 0 auto;\n    width: 80px;\n    height: 20px;\n    font-size: 16px;\n    font-weight: 200;\n    letter-spacing: 0px;\n    color: rgba(251,248,245, 0.4);\n    text-transform: uppercase;\n    text-align: center;\n    text-shadow: 2px 2px rgba(0, 0, 0, 0.2);\n  }\n  @media screen and (max-width: 900px) {\n    left: calc(100% - 106px);\n  }\n  @media screen and (max-width: 475px) {\n    display: none;\n  }\n}\n.hug-right{\n  display: none;\n  position: fixed;\n  margin: 0px;\n  padding: 0px;\n  right: -31px;\n  background-color: $fb-btn-background !important;\n  top: calc(50% + 114px);\n  width: 114px;\n  z-index: 0;\n  .hug-label{\n    font-size: 16px;\n    text-align: center;\n    font-weight: 400;\n    border-radius: 0px;\n    border-radius: 0px;\n    border-width: 0px;\n    color: $fb-cream;\n    background-color: transparent;\n  }\n  -webkit-transform: rotate(-90deg);\n  -moz-transform: rotate(-90deg);\n  -ms-transform: rotate(-90deg);\n  -o-transform: rotate(-90deg);\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  @media screen and (max-width: 475px){\n    display: block;\n    z-index: 2000;\n    right: -46px;\n  }\n}\n.hug-bottom{\n  display: none;\n  position: fixed;\n  margin: 0px;\n  padding: 0px;\n  bottom: 0px;\n  right: 30px;\n  width: 114px;\n  z-index: 0;\n  background-color: $fb-btn-background !important;\n  .hug-label{\n    font-size: 14px;\n    text-align: center;\n    font-weight: 400;\n    border-radius: 0px;\n    border-width: 0px;\n    right: 15px;\n    color: $fb-cream;\n    background-color: transparent;\n  }\n  @media screen and (max-width: 475px) {\n    display: block;\n    z-index: 2000;\n  }\n  @media screen and (max-width: 340px) {\n    right: 2px;\n  }\n}\n.modal{\n  top: 100px;\n  z-index: 2001 !important;\n  @media only screen and (max-width: 475px){\n   top: 75px;\n  }\n}\n.modal-dialog{\n  width: 767px;\n  @media only screen and (max-width: 475px){\n    width: auto;\n    height: auto;\n  }\n}\n.modal-content{\n  height: 480px;\n  background-color: $fb-cream;\n  color: $fb-darktan;\n  border-radius: 0px;\n  @media only screen and (max-width: 475px){\n    height: 515px;\n  }\n  .fb-title{\n    margin: 0 auto;\n    width: 127px;\n    height: 38px;\n    font-size: 30px;\n    font-weight: 600;\n    letter-spacing: normal;\n  }\n  .modal-header{\n    width: 100%;\n    text-align: center;\n    border: 0px solid transparent;\n  }\n  .modal-body{\n    .body-inputs{\n      margin: 0 auto;\n      padding: 0;\n      padding-left: 51px;\n      @media only screen and (max-width: 475px){\n        padding-left: 15px;\n        padding-right: 15px;\n      }\n    }\n    .left-input{\n      display: inline-block;\n      margin-right: 15px;\n      @media only screen and (max-width: 475px){\n        width: 100%;\n      }\n    }\n    label{\n      height: 23px;\n      font-size: 18px;\n      line-height: 1.28;\n      text-align: left;\n      color: $fb-label;\n      background-color: $fb-cream;\n      border: 0px solid transparent;\n      box-shadow: none;\n    }\n    input{\n      width: 310px;\n      height: 43px;\n      border-radius: 4px;\n      background-color: $fb-tan;\n      border: 0px solid transparent;\n      box-shadow: none;\n      @media only screen and (max-width: 475px){\n        margin-bottom: 10px;\n        width: 100%;\n      }\n    }\n    textarea{\n      width: 635px;\n      height: 153px;\n      border-radius: 4px;\n      background-color: $fb-tan;\n      resize: none;\n      border: 0px solid transparent;\n      box-shadow: none;\n      @media only screen and (max-width: 475px){\n        width: 100%;\n        height: 100px;\n      }\n    }\n  }\n  .modal-footer {\n    width: auto;\n    text-align: center;\n    border: 0px solid transparent;\n    .fb-cancel {\n      border-radius: 0px;\n      border: 0px solid transparent;\n      width: calc(100% - 2px);\n      text-align: center;\n      height: 48px;\n      font-weight: 600;\n      line-height: 48px;\n      position: fixed;\n      bottom: 48px;\n      left: 1px;\n      font-size: 16px;\n      color: $fb-btn-cancel-color;\n      background-color: $fb-btn-cancel-background;\n    }\n    .fb-submit {\n      border-radius: 0px;\n      border: 0px solid transparent;\n      width: calc(100% - 2px);\n      text-align: center;\n      height: 48px;\n      font-weight: 600;\n      line-height: 48px;\n      position: fixed;\n      bottom: 0px;\n      left: 1px;\n      font-size: 18px;\n      color: $fb-btn-submit-color;\n      background-color: $fb-btn-submit-background;\n      text-transform: uppercase;\n    }\n  }\n  .modal-close{\n    height: 20px;\n    width: 20px;\n  }\n}\nbutton[disabled]{\n  cursor: not-allowed;\n}\n.fb-spacer{\n  margin-top: 20px;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;simple-feedback-styled&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Simple Feedback Styled&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"dataTable\",\"default_value\":\"u_simple_feedback\",\"label\":\"Data Table Name\",\"type\":\"string\"},{\"name\":\"autoHideTY\",\"default_value\":\"true\",\"label\":\"Auto Hide Feedback Thank You\",\"type\":\"boolean\"},{\"name\":\"autoHideDuration\",\"default_value\":\"2.0\",\"label\":\"Auto Hide Duration (in seconds)\",\"type\":\"string\"},{\"name\":\"showFormButton\",\"default_value\":\"true\",\"label\":\"Show Form Button\",\"type\":\"boolean\"},{\"name\":\"hdrTitle\",\"default_value\":\"Feedback\",\"label\":\"Header Title\",\"type\":\"string\"},{\"name\":\"hdrIcon\",\"default_value\":\"\",\"label\":\"Header Icon\",\"type\":\"string\"},{\"name\":\"txtTYMsg\",\"default_value\":\"Thank you for your feedback.\",\"label\":\"Thank You Message\",\"type\":\"string\"},{\"name\":\"showWho\",\"default_value\":\"true\",\"label\":\"Show Who\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\n\tdata.options = options;\n\t/*- User Info -*/\n\tvar session = gs.getSession();\n\tvar curUser = gs.getUser();\n\n\tdata.tblExists = false;\n\n\tdata.currentUser = {\n\t\tloggedIn : session.isLoggedIn(),\n\t\tsys_id : gs.getUserID(),\n\t\tname : curUser.getDisplayName(),\n\t\temail : curUser.getEmail()\n\t};\n\n\t/*- Form Button Options -*/\n\tdata.options.showFormButton = (options.showFormButton ==='true');\n\t/*- Data Posting Options -*/\n\tdata.tblExists = gs.tableExists(options.dataTable);\n\tdata.options.autoHideTY = (options.autoHideTY ==='true');\n\t/*- Who Options -*/\n\tdata.options.showWho = (options.showWho === 'true');\n\n\tif(input &amp;&amp; Object.keys(input).length &gt; 0){\n\t\tif(input.action==='PostFeedback'){\n\t\t\tvar grFeedback = new GlideRecord(options.dataTable);\n\n\t\t\tgrFeedback.initialize();\n\n\t\t\tgrFeedback.u_name = input.feedback.who.toString();\n\t\t\tgrFeedback.u_email = input.feedback.email.toString();\n\t\t\tgrFeedback.u_rating = input.feedback.rating.toString();\n\t\t\tgrFeedback.u_feedback = input.feedback.text.toString();\n\t\t\tgrFeedback.u_location = input.feedback.location.toString();\n\t\t\tgrFeedback.u_portal = input.feedback.portal.toString();\n\t\t\tgrFeedback.u_portal_sys_id = input.feedback.portal_sysid.toString();\n\t\t\tgrFeedback.u_page = input.feedback.page_id.toString();\n\t\t\tgrFeedback.u_page_sys_id = input.feedback.page_sysid.toString();\n\n\t\t\t//grFeedback.u_other =   /* Big (4k) String field to catch any additional info [without having to modify the table]*/\n\n\t\t\tdata.sys_id = grFeedback.insert();\t\n\t\t}\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-20 14:30:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5f326d8a4f8c830005be4d6e0210c717&lt;/sys_id&gt;&lt;sys_mod_count&gt;53&lt;/sys_mod_count&gt;&lt;sys_name&gt;Simple Feedback Styled&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_5f326d8a4f8c830005be4d6e0210c717&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-24 19:32:27&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg xmlns=\"http://www.w3.org/2000/svg\"  style=\"display:none\"&gt;\n  &lt;symbol id='svg-feedback' width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" fill=\"none\" fill-rule=\"evenodd\"  stroke-linejoin=\"round\" transform=\"translate(1 1)\"&gt;\n    &lt;circle cx=\"6.75\" cy=\"29.223\" r=\"2.25\"/&gt;\n    &lt;path d=\"M24 .723c-4.393 0-7.719 2.466-9.735 6.112a8.417 8.417 0 0 0-4.947-1.612C4.586 5.223.75 9.141.75 13.973c0 4.831 3.835 8.749 8.568 8.749.104 0 .204-.012.308-.015 1.546 2.274 4.119 3.765 7.036 3.765 2.07 0 3.969-.75 5.451-1.998.771.162 1.567.249 2.384.249 6.49 0 10.753-5.373 10.753-12s-4.76-12-11.25-12z\"/&gt;\n    &lt;circle cx=\"10.5\" cy=\"14.973\" r=\"1\"/&gt;\n    &lt;circle cx=\"18\" cy=\"14.973\" r=\"1\"/&gt;\n    &lt;circle cx=\"25.5\" cy=\"14.973\" r=\"1\"/&gt;\n    &lt;circle cx=\"1.5\" cy=\"34.473\" r=\"1\"/&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id='svg-close' width=\"20\" height=\"20\"  version=\"1.1\" xml:space=\"preserve\"&gt;\n    &lt;path d=\"M19.670111740043737,0.34607220229486296 c-0.34508967995700446,-0.3460722128258089 -0.8914816732222592,-0.3460722128258089 -1.2078138798495113,0 L10.007600701247654,8.824841416527155 L1.5529035423010784,0.34607220229486296 c-0.34508967995700446,-0.3460722128258089 -0.8914816732222592,-0.3460722128258089 -1.2078138798495113,0 c-0.34508967995700446,0.3460722128258089 -0.34508967995700446,0.8940198831333392 0,1.2112527448903279 L8.79978682139814,10.036094161417484 L0.34508966245156697,18.514863375649785 c-0.34508967995700446,0.3460722128258089 -0.34508967995700446,0.8940198831333392 0,1.2112527448903279 c0.17254483997850176,0.17303610641290437 0.4026046266165037,0.2595541596193563 0.6039069399247559,0.2595541596193563 s0.4313620999462558,-0.08651805320645223 0.6039069399247559,-0.2595541596193563 L10.007600701247654,11.247346906307813 l8.454697158946574,8.478769214232294 c0.17254483997850176,0.17303610641290437 0.4026046266165037,0.2595541596193563 0.6039069399247559,0.2595541596193563 s0.4313620999462558,-0.08651805320645223 0.6039069399247559,-0.2595541596193563 c0.34508967995700446,-0.3460722128258089 0.34508967995700446,-0.8940198831333392 0,-1.2112527448903279 L11.215414581097166,10.036094161417484 l8.454697158946574,-8.478769214232294 C20.015201420000743,1.211252734359382 20.015201420000743,0.6921444151206726 19.670111740043737,0.34607220229486296 z\"/&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div ng-show=\"{{::c.data.options.showFormButton}}\" class=\"hover-bottom\" ng-style=\"fbDIVStyle\"&gt;  \n  &lt;button data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\" class='hover-button' ng-style=\"fbButtonStyle\"&gt;\n    &lt;svg class='icon-feedback'&gt;&lt;use xlink:href='#svg-feedback'&gt;&lt;/use&gt;&lt;/svg&gt;\n  &lt;/button&gt;\n  &lt;div class='hover-label' ng-style=\"fbLabelStyle\"&gt;Feedback&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;button ng-show=\"{{::c.data.options.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary\" ng-style=\"fbButtonStyle\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"&gt;&lt;span&gt;Feedback&lt;/span&gt;&lt;/button&gt;\n\n&lt;div class=\"hug-right\" ng-show=\"{{::c.data.options.showFormButton}}\" ng-style=\"fbDIVStyle\"&gt;\n  &lt;div class='hug-label' data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\" ng-style=\"fbLabelStyle\"&gt;FEEDBACK&lt;/div&gt;\n&lt;/div&gt;\n\n\n&lt;div id=\"feedbackModal\" class=\"modal fade\" role=\"dialog\" style=\"display: none\"&gt; \n  &lt;div class=\"modal-dialog\"&gt; \n    &lt;div class=\"modal-content\" ng-hide='feedbackSubmitted'&gt; \n      &lt;form ng-model=\"feedback\" role=\"form\" aria-invalid=\"false\"&gt; \n        &lt;!-- Header --&gt; \n        &lt;div ng-if=\"!feedbackSubmitted || !autoHide\" class=\"modal-header\"&gt; \n          &lt;button ng-disabled=\"feedbackSubmitting\" type=\"button\" class=\"close\" data-dismiss=\"modal\" role=\"button\"&gt;&lt;svg class='icon-close'&gt;&lt;use xlink:href='#svg-close'&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/button&gt; \n          &lt;div class='fb-title'&gt;&lt;i class=\"fa {{::c.data.options.hdrIcon}}\" ng-if='c.data.options.hdrIcon' aria-hidden=\"true\"&gt;&lt;/i&gt;{{::c.data.options.hdrTitle}}&lt;/div&gt; \n        &lt;/div&gt;\n\n        &lt;!-- Body --&gt; \n        &lt;div class=\"modal-body\"&gt; \n          &lt;div class='body-inputs' ng-if=\"!feedbackSubmitted\"&gt; \n            &lt;!-- Who --&gt;\n            &lt;div ng-show=\"{{::c.data.options.showWho}}\"&gt;\n              &lt;div class='left-input'&gt;\n                &lt;label for='feedbackWho'&gt;Name&lt;/label&gt;\n                &lt;input name=\"feedbackWho\" id=\"feedbackWho\" ng-model='feedback.who'  class=\"form-control\" placeholder=\"John\" role=\"textbox\" aria-invalid=\"false\"/&gt;\n              &lt;/div&gt;\n              &lt;div class='left-input'&gt;\n                &lt;label for='feedbackEmail'&gt;Email&lt;/label&gt;\n                &lt;input name=\"feedbackEmail\" id=\"feedbackEmail\" ng-model='feedback.email' ng-change=\"resetError()\"  class=\"form-control\" placeholder=\"john@email.com\" role=\"textbox\" aria-invalid=\"false\"/&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class='fb-spacer'&gt;\n              &lt;!-- Text entry --&gt; \n              &lt;label for=\"feedbackTextInput\"&gt;Comments/Questions&lt;/label&gt; \n              &lt;textarea name=\"feedbackTextInput\" id=\"feedbackTextInput\" ng-model=\"feedback.text\" class=\"form-control\" placeholder=\"Type feedback here\" role=\"textbox\" aria-invalid=\"false\"&gt;&lt;/textarea&gt; \n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt; \n\n        &lt;!-- Footer --&gt;\n        &lt;div ng-if=\"!feedbackSubmitted\" class=\"modal-footer\"&gt; \n          &lt;button type=\"button\" class=\"fb-cancel\" ng-disabled=\"feedbackSubmitting\" data-dismiss=\"modal\" role=\"button\"&gt;Cancel&lt;/button&gt; \n          &lt;button type=\"button\" class=\"fb-submit\" role=\"button\" ng-disabled=\"feedback.text.length == 0 || feedback.who.length == 0 || feedback.email.length == 0 || feedbackSubmitting\" ng-click=\"submitFeedback()\"&gt;Submit Feedback&lt;/button&gt; \n        &lt;/div&gt;\n\n      &lt;/form&gt;\n    &lt;/div&gt; \n    &lt;!-- Feedback Submitted / Error --&gt;\n    &lt;div ng-if=\"feedbackSubmitted || feedbackError\"&gt; \n      &lt;div ng-if=\"feedbackSubmitted\"&gt; \n        &lt;div class=\"alert alert-success\" role=\"alert\"&gt;\n          {{::c.data.options.txtTYMsg}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-if=\"feedbackError\"&gt; \n        &lt;div class=\"alert alert-danger\" role=\"alert\"&gt;\n          Error: {{::ErrMsg}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt; \n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>5c2e07d34f48430005be4d6e0210c7a4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table/>\n<target_name>Simple Feedback Styled</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_simple_feedback</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:00:11</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>04732df24f2bb20005be4d6e0210c758</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_name_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:00:11</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>5c2e07d34f48430005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_9f9ae17a4f2bb20005be4d6e0210c773</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"9f9ae17a4f2bb20005be4d6e0210c773\" sys_domain=\"global\" table=\"u_simple_feedback\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>0</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>9f9ae17a4f2bb20005be4d6e0210c777</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_email</element><position>1</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>979ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_feedback</element><position>2</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>1b9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_location</element><position>3</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>9b9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_rating</element><position>4</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>1f9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_portal</element><position>5</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>9f9ae17a4f2bb20005be4d6e0210c778</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_portal_sys_id</element><position>6</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>139ae17a4f2bb20005be4d6e0210c779</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_page</element><position>7</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>939ae17a4f2bb20005be4d6e0210c779</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_page_sys_id</element><position>8</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_id>279ae17a4f2bb20005be4d6e0210c779</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_other</element><position>9</position><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-29 13:17:46</sys_created_on><sys_id>5f1889d7136ff2006749bccf3244b043</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_simple_feedback\" sys_domain=\"global\" view=\"Default view\">9f9ae17a4f2bb20005be4d6e0210c773</sys_ui_section><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-29 13:17:46</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_simple_feedback</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:31:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9f9ae17a4f2bb20005be4d6e0210c773</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_9f9ae17a4f2bb20005be4d6e0210c773</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:31:33</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>5c2e07d34f48430005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_other</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_other\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Other&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_other&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;4000&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-29 13:17:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b808c5d7136ff2006749bccf3244b034&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Other&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_other&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-29 13:17:45&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>902e07d34f48430005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Other</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Simple Feedback\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Simple Feedback</label><language>en</language><name>u_simple_feedback</name><plural>Simple Feedbacks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>edd265f24f2bb20005be4d6e0210c77f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Simple Feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback__en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>902e07d34f48430005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_email</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_email\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Email&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_email&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;200&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:00:33&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;29736df24f2bb20005be4d6e0210c789&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Email&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_email&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:06:58&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>942e07d34f48430005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Email</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_page_sys_id_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_page_sys_id\" label=\"Page Sys ID\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_page_sys_id</element><help/><hint/><label>Page Sys ID</label><language>en</language><name>u_simple_feedback</name><plural>Page Sys IDs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:12:24</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>833621b64f2bb20005be4d6e0210c7d2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Page Sys ID</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_page_sys_id_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:12:24</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>942e07d34f48430005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page Sys ID</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_34d265f24f2bb20005be4d6e0210c735</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><encryption_context/><grantable>true</grantable><includes_roles/><name>u_simple_feedback_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:31</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>34d265f24f2bb20005be4d6e0210c735</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_34d265f24f2bb20005be4d6e0210c735</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:31</sys_updated_on></sys_user_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>942e07d34f48430005be4d6e0210c7ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table/>\n<target_name>u_simple_feedback_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_location_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_location\" label=\"Site Location\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_location</element><help/><hint/><label>Site Location</label><language>en</language><name>u_simple_feedback</name><plural>Site Locations</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:09:04</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5675ad364f2bb20005be4d6e0210c7c9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Site Location</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_location_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:12:45</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>982e07d34f48430005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Site Location</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d9d265f24f2bb20005be4d6e0210c768</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9d265f24f2bb20005be4d6e0210c768</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">d9d265f24f2bb20005be4d6e0210c764</sys_security_acl><sys_update_name>sys_security_acl_role_d9d265f24f2bb20005be4d6e0210c768</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>982e07d34f48430005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_portal_sys_id</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_portal_sys_id\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Portal Sys ID&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_portal_sys_id&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:11:37&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a0f52d764f2bb20005be4d6e0210c748&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Portal Sys ID&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_portal_sys_id&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:11:37&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>9c2e07d34f48430005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal Sys ID</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_d9d265f24f2bb20005be4d6e0210c764</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>d9d265f24f2bb20005be4d6e0210c764</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_d9d265f24f2bb20005be4d6e0210c764</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>9c2e07d34f48430005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 01:57:33&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;59d265f24f2bb20005be4d6e0210c76c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_simple_feedback&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 01:57:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>d02e07d34f48430005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_page_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_page\" label=\"Page\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_page</element><help/><hint/><label>Page</label><language>en</language><name>u_simple_feedback</name><plural>Pages</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:12:05</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>9226ad764f2bb20005be4d6e0210c7bc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Page</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_page_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:12:05</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>d02e07d34f48430005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Page</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_update_xml_f4d265f24f2bb20005be4d6e0210c737</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_update_xml\"&gt;&lt;sys_update_xml action=\"INSERT_OR_UPDATE\"&gt;&lt;action&gt;INSERT_OR_UPDATE&lt;/action&gt;&lt;application display_value=\"Global\"&gt;global&lt;/application&gt;&lt;category&gt;customer&lt;/category&gt;&lt;comments/&gt;&lt;name&gt;sys_user_role_34d265f24f2bb20005be4d6e0210c735&lt;/name&gt;&lt;payload&gt;&lt;![CDATA[&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_user_role\"&gt;&lt;sys_user_role action=\"INSERT_OR_UPDATE\"&gt;&lt;assignable_by/&gt;&lt;can_delegate&gt;true&lt;/can_delegate&gt;&lt;description/&gt;&lt;elevated_privilege&gt;false&lt;/elevated_privilege&gt;&lt;encryption_context/&gt;&lt;grantable&gt;true&lt;/grantable&gt;&lt;includes_roles/&gt;&lt;name&gt;u_simple_feedback_user&lt;/name&gt;&lt;suffix/&gt;&lt;sys_class_name&gt;sys_user_role&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 01:57:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;34d265f24f2bb20005be4d6e0210c735&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_simple_feedback_user&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_user_role_34d265f24f2bb20005be4d6e0210c735&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 01:57:31&lt;/sys_updated_on&gt;&lt;/sys_user_role&gt;&lt;/record_update&gt;]]&gt;&lt;/payload&gt;&lt;remote_update_set/&gt;&lt;replace_on_upgrade&gt;false&lt;/replace_on_upgrade&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 01:57:31&lt;/sys_created_on&gt;&lt;sys_id&gt;f4d265f24f2bb20005be4d6e0210c737&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 01:57:31&lt;/sys_updated_on&gt;&lt;table/&gt;&lt;target_name&gt;u_simple_feedback_user&lt;/target_name&gt;&lt;type&gt;Role&lt;/type&gt;&lt;update_domain&gt;global&lt;/update_domain&gt;&lt;update_set display_value=\"Simple Feedback\"&gt;c61155fc4f2f720005be4d6e0210c7c8&lt;/update_set&gt;&lt;view/&gt;&lt;/sys_update_xml&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>d02e07d34f48430005be4d6e0210c7ab</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table/>\n<target_name>sys_user_role_34d265f24f2bb20005be4d6e0210c735</target_name>\n<type>Customer Update</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_feedback_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_feedback\" label=\"Feedback\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_feedback</element><help/><hint/><label>Feedback</label><language>en</language><name>u_simple_feedback</name><plural>Feedbacks</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:06:03</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>f5c469364f2bb20005be4d6e0210c721</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_feedback_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:06:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>d42e07d34f48430005be4d6e0210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Feedback</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_5dd265f24f2bb20005be4d6e0210c758</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>5dd265f24f2bb20005be4d6e0210c758</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback.u_simple_feedback_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_simple_feedback\">95d265f24f2bb20005be4d6e0210c748</sys_security_acl><sys_update_name>sys_security_acl_role_5dd265f24f2bb20005be4d6e0210c758</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><sys_user_role display_value=\"u_simple_feedback_user\" name=\"u_simple_feedback_user\">34d265f24f2bb20005be4d6e0210c735</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>d42e07d34f48430005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback.u_simple_feedback_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_portal</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_portal\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Portal&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_portal&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:11:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;32d5a9764f2bb20005be4d6e0210c78b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Portal&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_portal&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:11:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>d82e07d34f48430005be4d6e0210c7a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Portal</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_c1d265f24f2bb20005be4d6e0210c73e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_simple_feedback</description><name>u_simple_feedback</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 01:57:32</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c1d265f24f2bb20005be4d6e0210c73e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_simple_feedback</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_c1d265f24f2bb20005be4d6e0210c73e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 01:57:32</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>d82e07d34f48430005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>u_simple_feedback</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_simple_feedback_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_simple_feedback\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;200&lt;/max_length&gt;&lt;name&gt;u_simple_feedback&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 02:00:11&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3ce2e5f24f2bb20005be4d6e0210c74e&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_simple_feedback_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-28 02:06:41&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:41</sys_created_on>\n<sys_id>dc2e07d34f48430005be4d6e0210c7a5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:41</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_simple_feedback_u_rating_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_rating\" label=\"Rating\" language=\"en\" table=\"u_simple_feedback\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_rating</element><help/><hint/><label>Rating</label><language>en</language><name>u_simple_feedback</name><plural>Ratings</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-28 02:09:59</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>2ba525764f2bb20005be4d6e0210c7db</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Rating</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_simple_feedback_u_rating_en</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-28 02:09:59</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"Simple Feedback - Styled\">982e07d34f48430005be4d6e0210c7a4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-07-24 19:34:42</sys_created_on>\n<sys_id>dc2e07d34f48430005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-07-24 19:34:42</sys_updated_on>\n<table>u_simple_feedback</table>\n<target_name>Simple Feedback.Rating</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-simplefeedback-styled/widget/pe-simplefeedback-styled.u-body-html-template.html",
    "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none\">\r\n  <symbol id='svg-feedback' width=\"38\" height=\"38\" viewBox=\"0 0 38 38\" fill=\"none\" fill-rule=\"evenodd\"  stroke-linejoin=\"round\" transform=\"translate(1 1)\">\r\n    <circle cx=\"6.75\" cy=\"29.223\" r=\"2.25\"/>\r\n    <path d=\"M24 .723c-4.393 0-7.719 2.466-9.735 6.112a8.417 8.417 0 0 0-4.947-1.612C4.586 5.223.75 9.141.75 13.973c0 4.831 3.835 8.749 8.568 8.749.104 0 .204-.012.308-.015 1.546 2.274 4.119 3.765 7.036 3.765 2.07 0 3.969-.75 5.451-1.998.771.162 1.567.249 2.384.249 6.49 0 10.753-5.373 10.753-12s-4.76-12-11.25-12z\"/>\r\n    <circle cx=\"10.5\" cy=\"14.973\" r=\"1\"/>\r\n    <circle cx=\"18\" cy=\"14.973\" r=\"1\"/>\r\n    <circle cx=\"25.5\" cy=\"14.973\" r=\"1\"/>\r\n    <circle cx=\"1.5\" cy=\"34.473\" r=\"1\"/>\r\n  </symbol>\r\n  <symbol id='svg-close' width=\"20\" height=\"20\"  version=\"1.1\" xml:space=\"preserve\">\r\n    <path d=\"M19.670111740043737,0.34607220229486296 c-0.34508967995700446,-0.3460722128258089 -0.8914816732222592,-0.3460722128258089 -1.2078138798495113,0 L10.007600701247654,8.824841416527155 L1.5529035423010784,0.34607220229486296 c-0.34508967995700446,-0.3460722128258089 -0.8914816732222592,-0.3460722128258089 -1.2078138798495113,0 c-0.34508967995700446,0.3460722128258089 -0.34508967995700446,0.8940198831333392 0,1.2112527448903279 L8.79978682139814,10.036094161417484 L0.34508966245156697,18.514863375649785 c-0.34508967995700446,0.3460722128258089 -0.34508967995700446,0.8940198831333392 0,1.2112527448903279 c0.17254483997850176,0.17303610641290437 0.4026046266165037,0.2595541596193563 0.6039069399247559,0.2595541596193563 s0.4313620999462558,-0.08651805320645223 0.6039069399247559,-0.2595541596193563 L10.007600701247654,11.247346906307813 l8.454697158946574,8.478769214232294 c0.17254483997850176,0.17303610641290437 0.4026046266165037,0.2595541596193563 0.6039069399247559,0.2595541596193563 s0.4313620999462558,-0.08651805320645223 0.6039069399247559,-0.2595541596193563 c0.34508967995700446,-0.3460722128258089 0.34508967995700446,-0.8940198831333392 0,-1.2112527448903279 L11.215414581097166,10.036094161417484 l8.454697158946574,-8.478769214232294 C20.015201420000743,1.211252734359382 20.015201420000743,0.6921444151206726 19.670111740043737,0.34607220229486296 z\"/>\r\n  </symbol>\r\n</svg>\r\n\r\n<div ng-show=\"{{::c.data.options.showFormButton}}\" class=\"hover-bottom\" ng-style=\"fbDIVStyle\">\r\n    <button data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\" class='hover-button' ng-style=\"fbButtonStyle\">\r\n    <svg class='icon-feedback'><use xlink:href='#svg-feedback'></use></svg>\r\n  </button>\r\n    <div class='hover-label' ng-style=\"fbLabelStyle\">Feedback</div>\r\n</div>\r\n\r\n<button ng-show=\"{{::c.data.options.showFormButton}}\" id=\"feedbackButton\" class=\"btn btn-primary\" ng-style=\"fbButtonStyle\" data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\"><span>Feedback</span></button>\r\n\r\n<div class=\"hug-right\" ng-show=\"{{::c.data.options.showFormButton}}\" ng-style=\"fbDIVStyle\">\r\n    <div class='hug-label' data-toggle=\"modal\" data-target=\"#feedbackModal\" role=\"button\" ng-style=\"fbLabelStyle\">FEEDBACK</div>\r\n</div>\r\n\r\n\r\n<div id=\"feedbackModal\" class=\"modal fade\" role=\"dialog\" style=\"display: none\">\r\n    <div class=\"modal-dialog\">\r\n        <div class=\"modal-content\" ng-hide='feedbackSubmitted'>\r\n            <form ng-model=\"feedback\" role=\"form\" aria-invalid=\"false\">\r\n                <!-- Header -->\r\n                <div ng-if=\"!feedbackSubmitted || !autoHide\" class=\"modal-header\">\r\n                    <button ng-disabled=\"feedbackSubmitting\" type=\"button\" class=\"close\" data-dismiss=\"modal\" role=\"button\"><svg class='icon-close'><use xlink:href='#svg-close'></use></svg></button>\r\n                    <div class='fb-title'><i class=\"fa {{::c.data.options.hdrIcon}}\" ng-if='c.data.options.hdrIcon' aria-hidden=\"true\"></i>{{::c.data.options.hdrTitle}}</div>\r\n                </div>\r\n\r\n                <!-- Body -->\r\n                <div class=\"modal-body\">\r\n                    <div class='body-inputs' ng-if=\"!feedbackSubmitted\">\r\n                        <!-- Who -->\r\n                        <div ng-show=\"{{::c.data.options.showWho}}\">\r\n                            <div class='left-input'>\r\n                                <label for='feedbackWho'>Name</label>\r\n                                <input name=\"feedbackWho\" id=\"feedbackWho\" ng-model='feedback.who' class=\"form-control\" placeholder=\"John\" role=\"textbox\" aria-invalid=\"false\" />\r\n                            </div>\r\n                            <div class='left-input'>\r\n                                <label for='feedbackEmail'>Email</label>\r\n                                <input name=\"feedbackEmail\" id=\"feedbackEmail\" ng-model='feedback.email' ng-change=\"resetError()\" class=\"form-control\" placeholder=\"john@email.com\" role=\"textbox\" aria-invalid=\"false\" />\r\n                            </div>\r\n                        </div>\r\n                        <div class='fb-spacer'>\r\n                            <!-- Text entry -->\r\n                            <label for=\"feedbackTextInput\">Comments/Questions</label>\r\n                            <textarea name=\"feedbackTextInput\" id=\"feedbackTextInput\" ng-model=\"feedback.text\" class=\"form-control\" placeholder=\"Type feedback here\" role=\"textbox\" aria-invalid=\"false\"></textarea>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n                <!-- Footer -->\r\n                <div ng-if=\"!feedbackSubmitted\" class=\"modal-footer\">\r\n                    <button type=\"button\" class=\"fb-cancel\" ng-disabled=\"feedbackSubmitting\" data-dismiss=\"modal\" role=\"button\">Cancel</button>\r\n                    <button type=\"button\" class=\"fb-submit\" role=\"button\" ng-disabled=\"feedback.text.length == 0 || feedback.who.length == 0 || feedback.email.length == 0 || feedbackSubmitting\" ng-click=\"submitFeedback()\">Submit Feedback</button>\r\n                </div>\r\n\r\n            </form>\r\n        </div>\r\n        <!-- Feedback Submitted / Error -->\r\n        <div ng-if=\"feedbackSubmitted || feedbackError\">\r\n            <div ng-if=\"feedbackSubmitted\">\r\n                <div class=\"alert alert-success\" role=\"alert\">\r\n                    {{::c.data.options.txtTYMsg}}\r\n                </div>\r\n            </div>\r\n            <div ng-if=\"feedbackError\">\r\n                <div class=\"alert alert-danger\" role=\"alert\">\r\n                    Error: {{::ErrMsg}}\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-simplefeedback-styled/widget/pe-simplefeedback-styled.u-client-script.js",
    "content": "function feedbackController($q, $scope, $location, $rootScope, $timeout) {\r\n\r\n    var c = this;\r\n\r\n    c.autoHideDuration = 0.0;\r\n\r\n    $scope.ErrMsg = \"Unknown Error\";\r\n    $scope.feedbackError = false;\r\n    $scope.autoHide = c.data.options.autoHideTY;\r\n\r\n    $rootScope.$on('fbStyleButton', function(evt, objStyle) {\r\n        $scope.fbDIVStyle = objStyle.div;\r\n        $scope.fbButtonStyle = objStyle.button;\r\n        $scope.fbLabelStyle = objStyle.label;\r\n    });\r\n    /*\r\n    //Use broadcast as follows \r\n    $rootScope.$broadcast('fbStyleButton', {\r\n    \tdiv:{},\r\n    \tbutton : {\r\n    \t\t\"background-color\": \"#09639b\",\r\n    \t\t\"box-shadow\":\"0 1px 4px 2px rgba(0, 0, 0, 0.2)\"\r\n    \t},\r\n    \tlabel : {\r\n    \t\t\"color\" : \"#ffffff\"\r\n    \t}\r\n    });\r\n    */\r\n\r\n    /* Scope Functions */\r\n    $scope.initializeFeedback = function() {\r\n        $scope.resetForm();\r\n\r\n        $scope.$on('openFeedback', function(event, args) {\r\n            $('#feedbackModal').modal('show');\r\n        });\r\n\r\n        $('#feedbackModal').on('shown.bs.modal', function() {\r\n            //Make sure the modal and backdrop are siblings (changes the DOM)\r\n            $(this).before($('.modal-backdrop'));\r\n            //Make sure the z-index is higher than the backdrop\r\n            $(this).css(\"z-index\", parseInt($('.modal-backdrop').css('z-index')) + 1);\r\n            c.data.options.showFormButton = false;\r\n        });\r\n\r\n        $('#feedbackModal').on('hidden.bs.modal', function() {\r\n            if ($scope.feedbackSubmitted) {\r\n                $timeout(function() {\r\n                    $scope.resetForm();\r\n                    c.data.options.showFormButton = true;\r\n                }, 250);\r\n            }\r\n        });\r\n\r\n        $rootScope.$on('$locationChangeStart', function(evt) {\r\n            $scope.resetForm();\r\n        });\r\n\r\n        console.log($scope);\r\n        console.log(c);\r\n    };\r\n\r\n    $scope.submitFeedback = function() {\r\n        if (ValidateEmail($scope.feedback.email)) {\r\n            if (c.data.tblExists) {\r\n                $scope.showModalInlay = false;\r\n                $scope.feedbackSubmitting = true;\r\n\r\n                postFeedback().then(function() {\r\n                    $scope.feedbackSubmitting = false;\r\n                    $scope.feedbackSubmitted = true;\r\n                    $scope.showModalInlay = false;\r\n\r\n                    if (c.data.options.autoHideTY) {\r\n                        $timeout(function() {\r\n                            $('#feedbackModal').modal('hide');\r\n                        }, (c.autoHideDuration));\r\n                    }\r\n\r\n                });\r\n            } else {\r\n                $scope.ErrMsg = \"DataTable configuration - Does not exist.\";\r\n                $scope.feedbackError = true;\r\n            }\r\n        }\r\n    };\r\n\r\n    $scope.resetError = function() {\r\n        $scope.feedbackError = false;\r\n    };\r\n\r\n    $scope.resetForm = function() {\r\n        if (c.data.options.autoHideTY) {\r\n            c.autoHideDuration = parseFloat(c.data.options.autoHideDuration) * 1000;\r\n        }\r\n        $scope.feedback = {\r\n            who: '',\r\n            email: '',\r\n            text: '',\r\n            rating: -1,\r\n            page_id: $scope.page.id,\r\n            page_sysid: $scope.page.sys_id,\r\n            portal: $scope.portal.title,\r\n            portal_sysid: $scope.portal.sys_id,\r\n            location: $location.url()\r\n        };\r\n        if (c.data.currentUser.loggedIn) {\r\n            //c.data.options.showWho = false;\r\n            $scope.userSysID = c.data.currentUser.sys_id;\r\n            $scope.feedback.who = c.data.currentUser.name;\r\n            $scope.feedback.email = c.data.currentUser.email;\r\n        }\r\n        $scope.showModalInlay = false;\r\n        $scope.feedbackSubmitting = false;\r\n        $scope.feedbackSubmitted = false;\r\n    };\r\n\r\n    /* Let's Go */\r\n    $scope.initializeFeedback();\r\n\r\n    /* Private Functions */\r\n    function postFeedback() {\r\n        var defer = $q.defer();\r\n        c.server.get({ action: 'PostFeedback', feedback: $scope.feedback }).then(function(response) {\r\n            if (response.data.sys_id) {\r\n                defer.resolve();\r\n            } else {\r\n                defer.reject();\r\n            }\r\n        });\r\n        return defer.promise;\r\n    }\r\n\r\n    function ValidateEmail(mail) {\r\n        if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)) {\r\n            return (true);\r\n        }\r\n        $scope.ErrMsg = \"Invalid Email\";\r\n        $scope.feedbackError = true;\r\n        return (false);\r\n    }\r\n}"
  },
  {
    "path": "pe-simplefeedback-styled/widget/pe-simplefeedback-styled.u-css.css",
    "content": "$fb-cream: #fbf8f5 !default;\n$fb-coral: #f95050 !default;\n$fb-darktan: #8e8b87 !default;\n$fb-tan: #e8e5de !default;\n$fb-label: #4a4a4a !default;\n$fb-white: #ffffff !default;\n\n/* Change to desired Color */\n\n$fb-btn-background: $fb-coral !default;\n\n/* Or comment out the above and uncomment below to have a Opacity driven transparent background*/\n\n\n/*$fb-btn-background: rgba(255, 255, 255, 0.08) !default;*/\n\n$fb-icon-stroke: $fb-cream !default;\n;\n$fb-btn-hover-bottom: 45px !default;\n$fb-btn-hover-right: 45px !default;\n$fb-btn-cancel-background: $fb-cream !default;\n$fb-btn-cancel-color: $fb-coral !default;\n$fb-btn-submit-background: $fb-coral !default;\n$fb-btn-submit-color: $fb-cream !default;\n.btn-primary {\n    border: 0px solid transparent;\n    background-color: $fb-btn-background !important;\n}\n\n.icon-close {\n    height: 20px;\n    width: 20px;\n    margin: 0 auto;\n    text-align: center;\n    margin-right: 16px;\n    margin-top: 16px;\n    color: $fb-darktan !important;\n}\n\n.icon-feedback {\n    height: 38px;\n    width: 38px;\n    margin: 0 auto;\n    text-align: center;\n    margin-left: 6px;\n    margin-top: 12px;\n    stroke: $fb-icon-stroke;\n    stroke-width: 2;\n}\n\n.hover-bottom {\n    position: fixed;\n    margin: 0 auto;\n    bottom: $fb-btn-hover-bottom;\n    right: $fb-btn-hover-right;\n    width: 80px;\n    height: 100px;\n    z-index: 2000;\n    background-color: transparent !important;\n    .hover-button {\n        border-radius: 50%;\n        border-width: 0px;\n        box-shadow: 0px 1px 1px 2px rgba(0, 0, 0, .03);\n        width: 80px;\n        height: 80px;\n        margin-right: 10px;\n        margin-bottom: 10px;\n        background-color: $fb-btn-background;\n    }\n    .hover-label {\n        margin: 0 auto;\n        width: 80px;\n        height: 20px;\n        font-size: 16px;\n        font-weight: 200;\n        letter-spacing: 0px;\n        color: rgba(251, 248, 245, 0.4);\n        text-transform: uppercase;\n        text-align: center;\n        text-shadow: 2px 2px rgba(0, 0, 0, 0.2);\n    }\n    @media screen and (max-width: 900px) {\n        left: calc(100% - 106px);\n    }\n    @media screen and (max-width: 475px) {\n        display: none;\n    }\n}\n\n.hug-right {\n    display: none;\n    position: fixed;\n    margin: 0px;\n    padding: 0px;\n    right: -31px;\n    background-color: $fb-btn-background !important;\n    top: calc(50% + 114px);\n    width: 114px;\n    z-index: 0;\n    .hug-label {\n        font-size: 16px;\n        text-align: center;\n        font-weight: 400;\n        border-radius: 0px;\n        border-radius: 0px;\n        border-width: 0px;\n        color: $fb-cream;\n        background-color: transparent;\n    }\n    -webkit-transform: rotate(-90deg);\n    -moz-transform: rotate(-90deg);\n    -ms-transform: rotate(-90deg);\n    -o-transform: rotate(-90deg);\n    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n    @media screen and (max-width: 475px) {\n        display: block;\n        z-index: 2000;\n        right: -46px;\n    }\n}\n\n.hug-bottom {\n    display: none;\n    position: fixed;\n    margin: 0px;\n    padding: 0px;\n    bottom: 0px;\n    right: 30px;\n    width: 114px;\n    z-index: 0;\n    background-color: $fb-btn-background !important;\n    .hug-label {\n        font-size: 14px;\n        text-align: center;\n        font-weight: 400;\n        border-radius: 0px;\n        border-width: 0px;\n        right: 15px;\n        color: $fb-cream;\n        background-color: transparent;\n    }\n    @media screen and (max-width: 475px) {\n        display: block;\n        z-index: 2000;\n    }\n    @media screen and (max-width: 340px) {\n        right: 2px;\n    }\n}\n\n.modal {\n    top: 100px;\n    z-index: 2001 !important;\n    @media only screen and (max-width: 475px) {\n        top: 75px;\n    }\n}\n\n.modal-dialog {\n    width: 767px;\n    @media only screen and (max-width: 475px) {\n        width: auto;\n        height: auto;\n    }\n}\n\n.modal-content {\n    height: 480px;\n    background-color: $fb-cream;\n    color: $fb-darktan;\n    border-radius: 0px;\n    @media only screen and (max-width: 475px) {\n        height: 515px;\n    }\n    .fb-title {\n        margin: 0 auto;\n        width: 127px;\n        height: 38px;\n        font-size: 30px;\n        font-weight: 600;\n        letter-spacing: normal;\n    }\n    .modal-header {\n        width: 100%;\n        text-align: center;\n        border: 0px solid transparent;\n    }\n    .modal-body {\n        .body-inputs {\n            margin: 0 auto;\n            padding: 0;\n            padding-left: 51px;\n            @media only screen and (max-width: 475px) {\n                padding-left: 15px;\n                padding-right: 15px;\n            }\n        }\n        .left-input {\n            display: inline-block;\n            margin-right: 15px;\n            @media only screen and (max-width: 475px) {\n                width: 100%;\n            }\n        }\n        label {\n            height: 23px;\n            font-size: 18px;\n            line-height: 1.28;\n            text-align: left;\n            color: $fb-label;\n            background-color: $fb-cream;\n            border: 0px solid transparent;\n            box-shadow: none;\n        }\n        input {\n            width: 310px;\n            height: 43px;\n            border-radius: 4px;\n            background-color: $fb-tan;\n            border: 0px solid transparent;\n            box-shadow: none;\n            @media only screen and (max-width: 475px) {\n                margin-bottom: 10px;\n                width: 100%;\n            }\n        }\n        textarea {\n            width: 635px;\n            height: 153px;\n            border-radius: 4px;\n            background-color: $fb-tan;\n            resize: none;\n            border: 0px solid transparent;\n            box-shadow: none;\n            @media only screen and (max-width: 475px) {\n                width: 100%;\n                height: 100px;\n            }\n        }\n    }\n    .modal-footer {\n        width: auto;\n        text-align: center;\n        border: 0px solid transparent;\n        .fb-cancel {\n            border-radius: 0px;\n            border: 0px solid transparent;\n            width: calc(100% - 2px);\n            text-align: center;\n            height: 48px;\n            font-weight: 600;\n            line-height: 48px;\n            position: fixed;\n            bottom: 48px;\n            left: 1px;\n            font-size: 16px;\n            color: $fb-btn-cancel-color;\n            background-color: $fb-btn-cancel-background;\n        }\n        .fb-submit {\n            border-radius: 0px;\n            border: 0px solid transparent;\n            width: calc(100% - 2px);\n            text-align: center;\n            height: 48px;\n            font-weight: 600;\n            line-height: 48px;\n            position: fixed;\n            bottom: 0px;\n            left: 1px;\n            font-size: 18px;\n            color: $fb-btn-submit-color;\n            background-color: $fb-btn-submit-background;\n            text-transform: uppercase;\n        }\n    }\n    .modal-close {\n        height: 20px;\n        width: 20px;\n    }\n}\n\nbutton[disabled] {\n    cursor: not-allowed;\n}\n\n.fb-spacer {\n    margin-top: 20px;\n}"
  },
  {
    "path": "pe-simplefeedback-styled/widget/pe-simplefeedback-styled.u-option-schema.json",
    "content": "[\n    { \"name\": \"dataTable\", \"default_value\": \"u_simple_feedback\", \"label\": \"Data Table Name\", \"type\": \"string\" },\n    { \"name\": \"autoHideTY\", \"default_value\": \"true\", \"label\": \"Auto Hide Feedback Thank You\", \"type\": \"boolean\" },\n    { \"name\": \"autoHideDuration\", \"default_value\": \"2.0\", \"label\": \"Auto Hide Duration (in seconds)\", \"type\": \"string\" },\n    { \"name\": \"showFormButton\", \"default_value\": \"true\", \"label\": \"Show Form Button\", \"type\": \"boolean\" },\n    { \"name\": \"hdrTitle\", \"default_value\": \"Feedback\", \"label\": \"Header Title\", \"type\": \"string\" },\n    { \"name\": \"hdrIcon\", \"default_value\": \"\", \"label\": \"Header Icon\", \"type\": \"string\" },\n    { \"name\": \"txtTYMsg\", \"default_value\": \"Thank you for your feedback.\", \"label\": \"Thank You Message\", \"type\": \"string\" },\n    { \"name\": \"showWho\", \"default_value\": \"true\", \"label\": \"Show Who\", \"type\": \"boolean\" }\n]"
  },
  {
    "path": "pe-simplefeedback-styled/widget/pe-simplefeedback-styled.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n    data.options = options;\r\n    /*- User Info -*/\r\n    var session = gs.getSession();\r\n    var curUser = gs.getUser();\r\n\r\n    data.tblExists = false;\r\n\r\n    data.currentUser = {\r\n        loggedIn: session.isLoggedIn(),\r\n        sys_id: gs.getUserID(),\r\n        name: curUser.getDisplayName(),\r\n        email: curUser.getEmail()\r\n    };\r\n\r\n    /*- Form Button Options -*/\r\n    data.options.showFormButton = (options.showFormButton === 'true');\r\n    /*- Data Posting Options -*/\r\n    data.tblExists = gs.tableExists(options.dataTable);\r\n    data.options.autoHideTY = (options.autoHideTY === 'true');\r\n    /*- Who Options -*/\r\n    data.options.showWho = (options.showWho === 'true');\r\n\r\n    if (input && Object.keys(input).length > 0) {\r\n        if (input.action === 'PostFeedback') {\r\n            var grFeedback = new GlideRecord(options.dataTable);\r\n\r\n            grFeedback.initialize();\r\n\r\n            grFeedback.u_name = input.feedback.who.toString();\r\n            grFeedback.u_email = input.feedback.email.toString();\r\n            grFeedback.u_rating = input.feedback.rating.toString();\r\n            grFeedback.u_feedback = input.feedback.text.toString();\r\n            grFeedback.u_location = input.feedback.location.toString();\r\n            grFeedback.u_portal = input.feedback.portal.toString();\r\n            grFeedback.u_portal_sys_id = input.feedback.portal_sysid.toString();\r\n            grFeedback.u_page = input.feedback.page_id.toString();\r\n            grFeedback.u_page_sys_id = input.feedback.page_sysid.toString();\r\n\r\n            //grFeedback.u_other =   /* Big (4k) String field to catch any additional info [without having to modify the table]*/\r\n\r\n            data.sys_id = grFeedback.insert();\r\n        }\r\n    }\r\n\r\n})();"
  },
  {
    "path": "pe-sp-floating-viewport/README.md",
    "content": "# Service Portal Floating Viewport\n\n## Description\n\nThe widget is a refactoring of the Service Portal Virtual Agent widget's outer wrapper.  In this version, the content to show  ($.do or Service Portal page) in the viewport is configurable using the widget's option schema.  Additional configurations include, button color, button icon-ography (Retina Icons or Font Awesome), and additional URL System Parameters.\n\n## Screenshots\n### Floating Button\n![alt text](../images/pe-sp-floating-viewport-button.png \"Floating Button\")\n### Viewport Open\n![alt text](../images/pe-sp-floating-viewport-open.png \"Viewport Open\")\n### Instance Options\n![alt text](../images/pe-sp-floating-viewport-instance-options.png \"Instance Options\")\n\n## Additional Information/Notes\nUpdate set creates the necessary dependency for accessing the Retina Icons.<br/>  \nThe list of Retina icons can be found here - https://hi.service-now.com/styles/retina_icons/retina_icons.html<br/>\nThe list of Font Awesome (v 4.7.0) icons can be found here - https://fontawesome.com/v4.7.0/<br/>\n\n\n---\n## Installation\nDownload and install update set **[pe-sp-floating-viewport.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-sp-floating-viewport/pe-sp-floating-viewport.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**aria_button_label** - Text used to describe the button for on screen readers `Default: Open the dialog `<br/>\n**va_url_params** - System Parameters (sysparm_###) or other URL parameters that are required for the page being rendered in the viewport<br/>\n### Presentation\n**button_color** - HEX Value for giving the button a different color `Default: #428bca`<br/>\n**embedded_page** - Page reference for showing in the viewport<br/>\n**retina_icon** - Retina Icon name to show on the button when the viewport is in the closed state.`Default: icon-collaboration`<br/>\n**fa_icon** - Font Awesome Icon name to show on the button when the viewport is in the closed state. `Default: fa-comments-o `<br/>\n### Behavior\n**is_sp_page** - If the embedded page is a Service Portal page this must be checked.  For any other type of pages uncheck. `Default: Checked`<br/>\n**use_retina_icon** - Check to use the prescribed Retina Icon. Uncheck to use the prescribed Font Awesome icon. `Default: Checked` <br/>\n\n---\n## Platform Dependencies\n\nThe retina_icons.css file is required and provided as a core file of the instance.\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None\n"
  },
  {
    "path": "pe-sp-floating-viewport/pe-sp-floating-viewport.u-update-set.xml.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-10-16 15:49:11\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Service Portal Floating Viewport</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>dca76dd44f41a74005be4d6e0210c70c</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:49:11</sys_created_on>\n<sys_id>ea5c22bf4f41a7008272ece24210c75d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:49:11</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_422c25904f81a74005be4d6e0210c702</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"retina_icons.css\">5ccf4f209f231200b18a7feea57fcf23</sp_css_include><sp_dependency display_value=\"Retina-Icons\">1dfbed504f81a74005be4d6e0210c7fc</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2018-10-05 14:09:58</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>422c25904f81a74005be4d6e0210c702</sys_id><sys_mod_count>0</sys_mod_count><sys_name>retina_icons.css.Retina-Icons</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_422c25904f81a74005be4d6e0210c702</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2018-10-05 14:09:58</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>1987856986</payload_hash>\n<remote_update_set display_value=\"Service Portal Floating Viewport\">ea5c22bf4f41a7008272ece24210c75d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:49:11</sys_created_on>\n<sys_id>225c22bf4f41a7008272ece24210c75e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1664490476b0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:49:11</sys_updated_on>\n<table/>\n<target_name>retina_icons.css.Retina-Icons</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>ca2c25907681a740e4ce589d9a2dab03</update_guid>\n<update_guid_history>ca2c25907681a740e4ce589d9a2dab03:1987856986</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_768bfaeb4f7ce34005be4d6e0210c731</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function SPFloatingViewport($log, $scope, $element, $document, spModal, $q, $timeout, $window) {\n\t'use strict';\n\n\t/* widget controller */\n\tvar $fvp = this;\n\tvar $spContainer = $document.find('.sp-page-root');\n\tvar $widgetParent = $element.parent();\n\n\t$fvp.alt_icon = ($fvp.options.use_retina_icon=='true');\n\t$fvp.isWindowVisible = false;\n\t$fvp.hasUnreadMessages = false;\n\t$fvp.firstPress = false;\n\t$fvp.source = '';\n\t\n\t$fvp.toggleWindow = function() {\n\t\tif ($fvp.isWindowVisible) {\n\t\t\t$fvp.isWindowVisible = false;\n\t\t\t$timeout(function() {\n\t\t\t\tif (!$fvp.isWindowVisible) {\n\t\t\t\t\t$element.find('.fvp-container').css(\"display\", \"none\");\n\t\t\t\t\t$element.find('.fvp-outer-wrapper').css(\"display\", \"none\");\n\t\t\t\t\t$element.find('.fvp-wrapper').css(\"display\", \"none\");\n\n\t\t\t\t\t// ios overlay hacky fix.\n\t\t\t\t\t$document.find('.touch_scroll').css(\"-webkit-overflow-scrolling\", \"touch\");\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t} else {\n\t\t\tif (!$fvp.firstPress) {\n\t\t\t\t$fvp.firstPress = true;\n\t\t\t\tif($fvp.options.is_sp_page=='true'){\n\t\t\t\t\t$fvp.source = '/' + $scope.portal.url_suffix + '?id='+ $fvp.options.embedded_page +'&amp;sysparm_nostack=true&amp;sysparm_stack=no' + $fvp.options.url_system_parameters;\n\t\t\t\t}else{\n\t\t\t\t\t$fvp.source = '/' + $fvp.options.embedded_page +'?sysparm_nostack=true&amp;sysparm_stack=no' + $fvp.options.url_system_parameters;\n\t\t\t\t}\n\t\t\t}\n\t\t\t$fvp.hasUnreadMessages = false;\n\t\t\t$element.find('.fvp-container').css(\"display\", \"block\");\n\t\t\t$element.find('.fvp-outer-wrapper').css(\"display\", \"block\");\n\t\t\t$element.find('.fvp-wrapper').css(\"display\", \"block\");\n\t\t\tif($fvp.options.is_sp_page=='true'){\n\t\t\t\t//Let's pause for a brief moment to let the iframe start loading the page.\n\t\t\t\t//Then we are going to strip off the nav header from the page.\n\t\t\t\t$timeout(function(){\n\t\t\t\t\t$scope.$broadcast('suppressHeader','fvpFrame');\t\n\t\t\t\t\t$fvp.isWindowVisible = true;\n\t\t\t\t},500);\n\t\t\t}else{\n\t\t\t\t$fvp.isWindowVisible = true;\n\t\t\t}\n\n\t\t\t// ios overlay hacky fix.\n\t\t\t$document.find('.touch_scroll').css(\"-webkit-overflow-scrolling\", \"auto\");\n\t\t}\n\t};\n\n\t$window.addEventListener(\"message\", function(e) {\n\t\tif ($fvp.isWindowVisible === false) {\n\t\t\t$fvp.hasUnreadMessages = true;\n\t\t}\n\t});\n\n\t$element.find('.help-button').on(\"mouseup\", function(e) {\n\t\te.target.blur();\n\t\te.stopPropagation();\n\t});\n\n\t$element.find('.help-icon').on(\"mouseup\", function(e) {\n\t\te.target.blur();\n\t\te.stopPropagation();\n\t});\n\n\t$fvp.openWindow = function() {\n\t\t$fvp.isWindowVisible = true;\t\t\n\t\t// delay before clearing unread message indicator\n\t\t// in-case user opens and closes quickly\n\t\t$timeout(function() {\n\t\t\tif ($fvp.isWindowVisible) {\n\t\t\t\t$fvp.hasUnreadMessages = false;\t\t\t\t\t\t\t\n\t\t\t}\n\t\t}, 500);\n\t};\n\n\tvar _closeWindow = function() {\n\t\t$fvp.isWindowVisible = false;\n\t};\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;$fvp&lt;/controller_as&gt;&lt;css&gt;$window-width: 375px;&amp;#13;\n$window-height: 600px;&amp;#13;\n$button-height: 60px;&amp;#13;\n$bottom-margin: 15px;&amp;#13;\n&amp;#13;\n//Used by SP Virtual Agent&amp;#13;\n$sn-chatbot-animation-speed: 300ms;&amp;#13;\n&amp;#13;\n// OVERRIDE TO DISPLAY RECORD CARDS&amp;#13;\n.sn-card-component_records {&amp;#13;\n  display: block !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.fvpbtn-container {&amp;#13;\n  position: fixed;&amp;#13;\n  right: 30px;&amp;#13;\n  bottom: 15px;&amp;#13;\n  z-index: 20;&amp;#13;\n&amp;#13;\n  .fvp {&amp;#13;\n    position: relative;&amp;#13;\n    opacity: 0;&amp;#13;\n    visibility: hidden;&amp;#13;\n&amp;#13;\n&amp;#13;\n    &amp;amp;.open {&amp;#13;\n      transition: $sn-chatbot-animation-speed ease-in opacity;&amp;#13;\n      opacity: 1;&amp;#13;\n      visibility: visible;&amp;#13;\n&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n&amp;#13;\n&amp;#13;\n  .fvp-button {&amp;#13;\n    position: relative;&amp;#13;\n    width: 60px;&amp;#13;\n    color: #fff;&amp;#13;\n    float: right;&amp;#13;\n    border: none;&amp;#13;\n    height: $button-height;&amp;#13;\n    border-radius: 60px;&amp;#13;\n    box-shadow: 0px 2px 11px #ababab;&amp;#13;\n    -moz-box-shadow: 0px 2px 11px #ababab;&amp;#13;\n    -o-box-shadow: 0px 2px 11px #ababab;&amp;#13;\n    padding: 0;&amp;#13;\n&amp;#13;\n    &amp;amp;::before {&amp;#13;\n      content: \"\";&amp;#13;\n      width: 60px;&amp;#13;\n      height: 60px;&amp;#13;\n      border-radius: 50%;&amp;#13;\n      position: absolute;&amp;#13;\n      top: 0;&amp;#13;\n      left: 0;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    &amp;amp;:hover::before {&amp;#13;\n      background-color: rgba(0,0,0,0.2);&amp;#13;\n    }&amp;#13;\n&amp;#13;\n&amp;#13;\n    &amp;amp;:focus {&amp;#13;\n      outline: thin dotted;&amp;#13;\n      outline-color: gray;&amp;#13;\n      outline: 5px auto -webkit-focus-ring-color;&amp;#13;\n      outline-offset: 2px;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n&amp;#13;\n    &amp;amp;.state-unread {&amp;#13;\n      &amp;amp; &amp;gt; span:after {&amp;#13;\n        content: ' ';&amp;#13;\n        position: absolute;&amp;#13;\n        top: -17px;&amp;#13;\n        right: -14px;&amp;#13;\n        width: 16px;&amp;#13;\n        height: 16px;&amp;#13;\n        background-color: #ed6e5c;&amp;#13;\n        border-radius: 25px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .fvp-icon {&amp;#13;\n      pointer-events: none;&amp;#13;\n      position: relative;&amp;#13;\n      top: 50%;&amp;#13;\n      -webkit-transform: perspective(1px) translateY(-50%);&amp;#13;\n      -ms-transform: perspective(1px) translateY(-50%);&amp;#13;\n      transform: perspective(1px) translateY(-50%);&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .icon-open {&amp;#13;\n      font-size: 28px;&amp;#13;\n      position: relative;&amp;#13;\n      line-height: 1;&amp;#13;\n      top: 3px;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .icon-close {&amp;#13;\n      font-size: 20px;&amp;#13;\n    }&amp;#13;\n    .fa-icon {&amp;#13;\n      font-size: 28px;&amp;#13;\n      position: relative;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n// window sizing&amp;#13;\n.fvp-outer-wrapper {&amp;#13;\n  position: relative;&amp;#13;\n  bottom: 15px;&amp;#13;\n  right: 0;&amp;#13;\n  display: none;&amp;#13;\n&amp;#13;\n  .fvp-wrapper {&amp;#13;\n    width: $window-width; &amp;#13;\n    transition: &amp;#13;\n      border-bottom: 1px solid #bdc0c4;&amp;#13;\n    margin-right: 0;&amp;#13;\n    right: 0;&amp;#13;\n    box-shadow: 0px 2px 11px #ababab !important;&amp;#13;\n    -moz-box-shadow: 0px 2px 11px #ababab !important;&amp;#13;\n    -o-box-shadow: 0px 2px 11px #ababab !important;&amp;#13;\n    transition: max-height 0s $sn-chatbot-animation-speed;&amp;#13;\n    display: none;&amp;#13;\n&amp;#13;\n    .fvp-container {&amp;#13;\n      height: 100%;&amp;#13;\n      display: none;&amp;#13;\n&amp;#13;\n      .fvp-frame {&amp;#13;\n        max-height: $window-height;&amp;#13;\n        height: calc(100vh - $button-height - ($bottom-margin * 3));&amp;#13;\n        width: $window-width;&amp;#13;\n        margin-bottom: -5px;&amp;#13;\n        border: none;&amp;#13;\n        overflow: hidden;&amp;#13;\n        background-color: #fff;&amp;#13;\n      }&amp;#13;\n&amp;#13;\n      // Immediate div is autogenerated from serviceportal&amp;#13;\n      &amp;amp; &amp;gt; div {&amp;#13;\n        height: 100%;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n// Mobile SCSS&amp;#13;\n@media (max-width: 425px) {  &amp;#13;\n  .fvpbtn-container {&amp;#13;\n    right: 15px;&amp;#13;\n  }&amp;#13;\n  .fvp-outer-wrapper{&amp;#13;\n    .fvp-wrapper {&amp;#13;\n      position: fixed;&amp;#13;\n      max-height: 100%;&amp;#13;\n      width: 100%;&amp;#13;\n      left: 0;&amp;#13;\n      right: 0;&amp;#13;\n      bottom: calc($button-height + 20px);&amp;#13;\n      top: 0;&amp;#13;\n&amp;#13;\n      .fvp-container {&amp;#13;\n        position: absolute;&amp;#13;\n        max-height: 100%;&amp;#13;\n        width: 100%;&amp;#13;\n        height: 100%;&amp;#13;\n        left: 0;&amp;#13;\n        right: 0;&amp;#13;\n        top: 0;&amp;#13;\n        bottom: 0;&amp;#13;\n&amp;#13;\n        .fvp-frame {&amp;#13;\n          position: absolute;&amp;#13;\n          width: 100%;&amp;#13;\n          max-height: calc(100vh + 60px);&amp;#13;\n          height: 100%;&amp;#13;\n          left: 0;&amp;#13;\n          right: 0;&amp;#13;\n          top: 0;&amp;#13;\n          bottom: 0;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;sp-floating-viewport&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope,el,attrs,ctrl){\n\tvar $interval = $injector.get('$interval');\n\t\n\tscope.$on('suppressHeader', function(action,data){\n\t\tvar iframe = document.getElementById(data).contentDocument;\n\t\tvar nav;\n\t\tvar wait = $interval(function(){\n\t\t\tnav = iframe.getElementsByTagName('nav')[0];\t\n\t\t\tif(nav!=undefined){\n\t\t\t\ttry{\n\t\t\t\t\tnav.style.display = 'none';\n\t\t\t\t}catch(e){\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}\n\t\t\t\t$interval.cancel(wait);\n\t\t\t\twait = undefined;\n\t\t\t}\n\t\t});\n\t});\n}]]&gt;&lt;/link&gt;&lt;name&gt;Service Portal Floating Viewport&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"The color of the floating button which opens the floating dialog page.\",\"name\":\"button_color\",\"section\":\"Presentation\",\"default_value\":\"#428bca\",\"label\":\"Floating Button Color\",\"type\":\"string\"},{\"hint\":\"Service Portal Page to embed in the floating dialog\",\"name\":\"embedded_page\",\"section\":\"Presentation\",\"label\":\"Embedded Page\",\"type\":\"string\"},{\"hint\":\"Text for populating the button's ARIA label property\",\"name\":\"aria_button_label\",\"section\":\"Data\",\"default_value\":\"Open the Dialog\",\"label\":\"ARIA Button Label\",\"type\":\"string\"},{\"hint\":\"String of any additional System Parameters (sysparm_#) needed to support the embedded page.  Must start with the ampersand '&amp;amp;'.\",\"name\":\"url_system_parameters\",\"section\":\"Data\",\"label\":\"Additional URL System Parameters\",\"type\":\"string\"},{\"name\":\"is_sp_page\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Embedded Page is a Service Portal Page\",\"type\":\"boolean\"},{\"hint\":\"Text name of Retina Icon listed on HI - https://hi.service-now.com/styles/retina_icons/retina_icons.html\",\"name\":\"retina_icon\",\"section\":\"Presentation\",\"default_value\":\"icon-collaboration\",\"label\":\"Button Open - Retina Icon\",\"type\":\"string\"},{\"hint\":\"Provide the FontAwesome icon name  based on the FontAwesome 4.7 list - https://fontawesome.com/v4.7.0/icons/ - e.g. fa-comments-o\",\"name\":\"fa_icon\",\"section\":\"Presentation\",\"default_value\":\"fa-comments-o\",\"label\":\"Button Open - Font Awesome Icon\",\"type\":\"string\"},{\"name\":\"use_retina_icon\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Use Retina Icon\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\n\toptions.embedded_page = options.embedded_page || \"\";\n\toptions.url_system_parameters = options.url_system_parameters || \"\";\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-03 12:01:21&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;768bfaeb4f7ce34005be4d6e0210c731&lt;/sys_id&gt;&lt;sys_mod_count&gt;185&lt;/sys_mod_count&gt;&lt;sys_name&gt;Service Portal Floating Viewport&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_768bfaeb4f7ce34005be4d6e0210c731&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-16 15:45:17&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"fvpbtn-container\"&gt;\n  &lt;div class=\"fvp fade\" \n       ng-class=\"{'open': $fvp.isWindowVisible}\"&gt;\n    &lt;div class=\"fvp-outer-wrapper\"&gt;\n      &lt;div class=\"fvp-wrapper loaded\"&gt;\n        &lt;div class=\"fvp-container\"&gt;\n          &lt;iframe id='fvpFrame' class=\"fvp-frame\"\n                  scrolling=\"no\"\n                  horizontalscrolling=\"no\"\n                  verticalscrolling=\"no\"\n                  frameborder=\"none\" \n                  ng-src=\"{{$fvp.source}}\"&gt;\n          &lt;/iframe&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;button aria-label=\"${$fvp.options.aria_button_label}\" \n          class=\"fvp-button\"\n          ng-style=\"{'background-color': options.button_color}\"\n          ng-attr-tabindex=\"0\"\n          ng-class=\"{'state-open': $fvp.isWindowVisible, 'state-unread': $fvp.hasUnreadMessages}\" \n          ng-click=\"$fvp.toggleWindow()\"\n          ng-attr-tabindex=\"0\"&gt;\n    &lt;div class=\"hover-overlay\"&gt;&lt;/div&gt;\n    &lt;span aria-hidden=\"true\"\n          ng-class=\"$fvp.isWindowVisible ? 'fvp-icon icon-close icon-cross' : 'fvp-icon fa-icon'\"\n          ng-hide='$fvp.alt_icon'&gt;&lt;i class='fa {{$fvp.options.fa_icon}}' aria-hidden='true' ng-hide='$fvp.isWindowVisible'&gt;&lt;/i&gt;&lt;/span&gt;\n    &lt;span aria-hidden=\"true\"\n          ng-class=\"$fvp.isWindowVisible ? 'fvp-icon icon-close icon-cross' : 'fvp-icon icon-open {{$fvp.options.retina_icon}}'\"\n          ng-hide='!$fvp.alt_icon'&gt;&lt;/span&gt;\n  &lt;/button&gt;  \n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1234647202</payload_hash>\n<remote_update_set display_value=\"Service Portal Floating Viewport\">ea5c22bf4f41a7008272ece24210c75d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:49:11</sys_created_on>\n<sys_id>6a5c22bf4f41a7008272ece24210c75e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1667d8d829b0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:49:11</sys_updated_on>\n<table/>\n<target_name>Service Portal Floating Viewport</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>217bee3f0c41a70036a5b995b604bca4</update_guid>\n<update_guid_history>217bee3f0c41a70036a5b995b604bca4:-1234647202,d8e21621fa05ab40cdd8add6af389df4:1948682645,31629ead04c1ab40adee7a4fc2b9c786:1031672977,5a91962d31c1ab40265d817226432231:17317962,b54192e97cc1ab40332d8484ed030182:677176900,edc0b6d01209a7404c1edcc6147a8826:1924786597,fcbd629c73c5a74088bb796a4c9d3ca0:2015044723,34adea5cbac5a74022fb1b617808aa7b:-2059432050,5d9dea5c8cc5a74024f0f4f4a6d25067:-1626955475,f58d2a5cb8c5a7409187c4e16cd75b4a:-1194478900,fc5d625c97c5a740e29cd8b05d7dffda:-1794084012,b43dee1c70c5a740d89807beab1a8768:249161242,e71de61cb7c5a740fa4836715b665853:-1525088705,baece61c1dc5a74042db78dfb3fce173:908824923,2fbc261c56c5a740d03cd07034299677:1243127439,596c2ed8efc5a740c28a6fa8ee992d89:1355101993,364c6e9840c5a740c10345378ffa550d:1279694367,6f7a2ed47fc5a740d28219458eafd245:-846337364,495aee5489c5a740bd491b2460605c1b:1121546432,141a6e94e4c5a740b147078531280c95:456177474,1cb96a9408c5a74007812334102199b3:-218096533,bea96a946dc5a74086237f9a0bbaf0ac:-1581983028,7fe7225480c5a7404d0ac90fc3080263:1639830014,17d7ea14eac5a7406f827411105bfcf4:-654424592,d3a7a61441c5a740efd1598e248ebd6b:319414093,d7672214f0c5a7401298c843efb0a435:-1368615784,785722148ac5a7409d369e7bc7393f2e:-552169256,51a626d037c5a740ca673cd1a5290cec:1126594992,3a6622d0bbc5a740ec76b24cb42f9134:-1848537500,a1e56a90c5c5a740ac4e98098287124c:-1240208089,4ba52a50b8c5a740abcd4649badc6086:1467743495,38d46a5084c5a740b42e3525bd50d51e:-563287487,6ab46650fac5a740fe737ec1491b7987:488439449,2684aedcd685a740b39e2b096aac8384:-1773589196,3853eadcf685a740035df85061ae26fe:273740187,9713aadc5685a7404d4c1195168881b9:1290049005,3d03e6dcde85a740fe6ecd38004f2dd3:-1360969483,cef266dc6285a740bed99b0d3dd8412b:288788129,b1d262dcec85a740af49959822316b14:-1671483496,5c42669c2e85a740d89945248f8b805b:-871984427,55222e5c7d85a7409e674a84ef7d032d:-1674279632,40e1ee5c5f85a7401c1b2346a6a67271:383359865,c0d1aa5c4a85a74048850ea3397b89c0:-1602633345,84b1e25ca885a74067bdeb2e48e9e821:-303367170,e341225c4b85a740e14470c9f2502761:383359865,fe312e1ce985a74045d316b090e48fee:-837247881,15216a1c3385a740e81a07b2914efc97:1397874105,93e0621c0f85a7406ce7404f28dbf65c:1042685169,ecb0621c6b85a74045a871fa6e75d3ac:-1835688271,a0a0aed81985a7401fc9d7b91480a9b4:34998989,36806ad85385a7407cd257ef4c8ff01b:1115124195,d7506e987d85a740ca6fb85e58d24349:-1835688271,94bfda987f85a7405e242e545babf84a:-1428968717,e78f1a981885a740d9dfbdefbeae618c:-1042624377,467f1698c185a7404d9e34585b433cf3:-391481775,abee5a58c385a740de7415245a984446:1946253176,4ebe96586b85a740aba8633283010c18:-2121970865,459ede185285a74053dbc4978f197782:-693182779,136eda187e85a74075947e0817df7aa8:-2013658859,a55e5ad4f085a740427f1f43516af4fd:-178188286,e7add6d4ef85a740e7619cb2e5763793:1774949169,64fb9a544385a7402c675457726e10d3:1533274419,ea9b16545a85a740096e20eec944e963:-446009564,796b92549f85a740e21b44c10b7de129:-1213605436,7c6b9e140985a740c69985c1a7cdc326:-1464091361,e21bd2146785a74002eabc62f56cc0d8:789675185,359aded0bf85a740bf5e809b7d398193:1615370866,cc9a9ed00585a740c57c4e94a85888b6:879078400,6b1a1ad04785a740e4837f98039db2b8:-223170369,86d9de906f85a740b05059ce462e6bfd:-834815066,966956501685a7402093208037735a85:1655417357,5ec81e9c2c45a740c26e1f1fc236f674:-1565584978,1fb75a9cc845a740677e550dff5580da:804500430,89379ed8b145a7405a3bf2bbf177ed89:-1247569522,bdd69a980045a740922b7ef3801232c7:324590510,0d869618f845a740dbc2ce20181df84b:892427663,a6f51a542d45a740fd9df64b615c1310:423156638,633556909c45a740b5525c31e51c2660:-434997335,606416dc6b05a740c057e82b1ed53d1d:-1240159455,d544161caa05a7405ed27482a0220994:-1980297887,56f21e582305a740c834638c6ebc6b25:1805227512,fd621a180305a74003308bb96ff9c986:-626135734,754a4a105c05a74075a32d2cd670d1ca:-694181559,96500a188cc1a740a903d34f9dc2ff26:1478890208,bbb3719c2e81a740cf2107d3ecfb9c37:-1029500739,c44079586481a740ef58cbff131909c5:1667552694,f900bd187381a740a8442b5e09f0db85:336377957,4d4f69183281a74035ec4abc048c918c:-156672496,56bee1d4ca81a74054d2ea84417c4542:206073343,8bcdad94ef81a7401bfc42f98b354ccf:1576350515,c09da1543781a7409049f746076f3a19:-1676200415,67ec25947e81a740c4770cc848f96ce0:1368779773,22bc6154cd81a74000a44dd55d7a4543:-257281080,feac61540581a7403a74050d9f78dfed:-377009654,fb8c21547581a7401cbcb86d459185a8:-111047175,49fa6d5c7e41a740c35a044c08f4ac80:-377009654,d77aa91cfa41a740e113fc4b02c27e35:403852162,116aedd81141a7403bf238b86a3c26cc:352136162,b04ae11cc441a7402d897853f5a7ab9f:1526016360,3fe96958bb41a7406733818d65909916:-247561398,95f76558b041a740d20444052d05b15a:802210358,3a3725d4a441a7406535bc0ae9f42b8e:-1947644354,d72765d44141a74026ee65f484a109da:-42190819,ba0725d4a541a740b29386c82bf10c07:-1947644354,2807e1d49241a74003a84e660b95a882:441869407,a1c621d40241a740831ff2b8aa80b3a3:-1765394368,4076e994dc41a7406890481bd229360d:1863262716,9044edd0b741a7402e995d9b5f322970:446178902,393469140a41a7406f30af529f9bd0a8:1767580676,2639f0c459816740ef65113f7fc1314e:17992877,3036bc8451816740c5cd02e1ae82d9e6:-397329256,c485f084748167407f5c0e0c8fc3ec4b:-692420890,1e05380495816740cd19aa8eb8c6e811:1822761357,bba3700445816740c4a2b60d07fc6ce7:1793173247,c7d2708082816740a0a31bd1015e52fb:1049621625,df823080f2816740939fc3bb180fcd76:-1365177087,9b71f8cc674167403a7349f7ecff82d9:1180365929,f9ef648c7f4167400cedfbe655e9ca8f:1570809006,7d9b6848434167404c22e25677f852c0:-1933139354,7e7be0c47941674099a77cf51e2810fb:-1107862301,d29a20c449416740cf280693718b5a0e:-1567577064,800a6444f34167409180d654265fa8d2:1737259832,32aaa437b07427404f6f2e7cc3661228:1187320661,578aacf3c5742740f826d09c34f2f534:1395435259,2a7a6cf30b7427401fe550a32510d674:1782896855,b7d92cb3e27427408b2ae09a2564cfab:816399574,95d92cb3a47427406ede58e1def30072:766641785,e599a8b310742740339454794c9a70f8:288721523,4e89e0b3f0742740d75b21c45565a7eb:-1519661405,676968b3e57427400706bc8eeaa4f362:-1554888224,e6e520bfa3342740ba53a16d6792e305:-205396386,17d5ec7fa43427403c9605140977c46d:-505556959,e765287f0e3427409a2fcee25623e6ed:-1110870834,b325647f573427401f8d51002a71b679:931847771,9b15a07f4934274026e5a12264681574:-402302371,91e4683f553427404f7469f51a14d01a:744297189,eec4243fd4342740d3f80493d6173aa1:-193344954,099464fbf6342740639e859d8473ce57:151718546,4b64a03f42342740dd2ad91dba0ee630:-1948066647,49c364fbc2342740e91ab797a39400aa:650349776,f5890cb335f02740c458082c8d6872b0:934258005,7fc2c873e9f027405204cadf3e701072:68106297,236188ff95b02740337cca944305c015:-1281705655,6ad0087f6db02740d52999b15e9e4ab0:-475121074,dec0087fdcb0274002e63d1ad3015233:-1834031537,44a0cc3fb3b02740c01b9208500fda25:-2021064455,6c40ccfb98b02740285bdbfb42ce362e:1943861810,5e004cfbc7b027402a8192f25b0a244c:1193901586,a5bf3bebd3b0274015c9cfd949d15c71:-610756791,888ff7ab0ab0274001d7c02652792775:1132778099,500ff3abf7b02740c430106b0ebf29a2:1900280808,961033afe17027401b592e8442c8acac:-1826903759,5def2b2f8a7027409c2a1d4032e7ecca:-34977795,bf4fe72f597027409f6bb30a782e29e1:1350650427,214fe72fc8702740b46dc1e02bae25db:566805393,486e2febf87027406245a3dac18cf8e1:-1085837407,862eeb2b9d702740bf5b3550bfcaf78a:1521893342,671e2f2b827027405b583d8dccbf78f1:1116461134,1cdd67e7d2702740ecb765eb025f8d44:568637460,857d27a7647027409780a79eaeff076b:1178895376,7c5cef27dc702740ef58f6322a84e759:-1680724292,054ca367ab702740d3f2582c79508764:-1741543720,136aaf27807027401064fbc73194a701:1199349007,81d967277370274071d9b9bc80634f75:1243498846,76a92fe39a702740b818760e4bd4ea88:-1486232914,9229eba3f6702740d19a5f641d204c66:-2003157951,a7f8efa39e7027409a5a1f0a87872dda:-167030040,33d8e7e38d702740e15faf18a904df1f:1769121954,7b182ba36270274014edec3fa3373986:33076500,f5f72ba35c7027403718779516b94205:620342138,f0d767a3387027401cc9af6a55d034e1:1197856730,31c7eb63227027407ff53b803d4c2e80:620342138,c69723a34f7027404d7fc8c0beef1255:1868314331,e037a72360702740e7b36af974487c20:1098070519,63b66323be70274063c0ab70f0ecc02b:-1648005030,45866f6f6c3027407e025f1eca1d0700:355408120,6556abeb82302740b4e9e6d9a45c1a01:819408569,e5f527eb4830274070f772a2d3af9e0b:896565497,58c5ef6b9e30274028c99fb554766a9c:-1656647724,da6e72ef067ce340deedc9e3aba7c2e8:1426498414,b73ef2ef417ce3406e7fae5abfc7ffd1:-1116660250,b08d76af9a7ce3405ad68b0ecaaaed04:2030239914,c36cf22f9d7ce340bf162150f4d2785e:-153619719,694cf26fa27ce3408a592a44be20a8c5:-157355969,04bbfeebc87ce3407bf55ccf45d7648e:1609707851,ba8bfaebf07ce340c76616e66ac6f032:-1030500961</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_1dfbed504f81a74005be4d6e0210c7fc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>Retina-Icons</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2018-10-05 14:09:19</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>1dfbed504f81a74005be4d6e0210c7fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Retina-Icons</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_1dfbed504f81a74005be4d6e0210c7fc</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2018-10-05 14:09:19</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1173584071</payload_hash>\n<remote_update_set display_value=\"Service Portal Floating Viewport\">ea5c22bf4f41a7008272ece24210c75d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:49:11</sys_created_on>\n<sys_id>a65c22bf4f41a7008272ece24210c75e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166448fafe00000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:49:11</sys_updated_on>\n<table/>\n<target_name>Retina-Icons</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>e40ced50c881a740249e9189b015e712</update_guid>\n<update_guid_history>e40ced50c881a740249e9189b015e712:1173584071</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_240ced504f81a74005be4d6e0210c713</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Retina-Icons\">1dfbed504f81a74005be4d6e0210c7fc</sp_dependency><sp_widget display_value=\"Service Portal Floating Viewport\">768bfaeb4f7ce34005be4d6e0210c731</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2018-10-05 14:09:19</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>240ced504f81a74005be4d6e0210c713</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Retina-Icons.Service Portal Floating Viewport</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_240ced504f81a74005be4d6e0210c713</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2018-10-05 14:09:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>668008695</payload_hash>\n<remote_update_set display_value=\"Service Portal Floating Viewport\">ea5c22bf4f41a7008272ece24210c75d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2018-10-16 15:49:11</sys_created_on>\n<sys_id>e25c22bf4f41a7008272ece24210c75e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166448fb02c0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2018-10-16 15:49:11</sys_updated_on>\n<table/>\n<target_name>Retina-Icons.Service Portal Floating Viewport</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>ac0ced507881a7409b1ca058479bc414</update_guid>\n<update_guid_history>ac0ced507881a7409b1ca058479bc414:668008695</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-sp-floating-viewport/widget/pe-sp-floating-viewport.u-body-html-template.html",
    "content": "<div class=\"fvpbtn-container\">\n  <div class=\"fvp fade\" \n       ng-class=\"{'open': $fvp.isWindowVisible}\">\n    <div class=\"fvp-outer-wrapper\">\n      <div class=\"fvp-wrapper loaded\">\n        <div class=\"fvp-container\">\n          <iframe id='fvpFrame' class=\"fvp-frame\"\n                  scrolling=\"no\"\n                  horizontalscrolling=\"no\"\n                  verticalscrolling=\"no\"\n                  frameborder=\"none\" \n                  ng-src=\"{{$fvp.source}}\">\n          </iframe>\n        </div>\n      </div>\n    </div>\n  </div>\n  <button aria-label=\"${$fvp.options.aria_button_label}\" \n          class=\"fvp-button\"\n          ng-style=\"{'background-color': options.button_color}\"\n          ng-attr-tabindex=\"0\"\n          ng-class=\"{'state-open': $fvp.isWindowVisible, 'state-unread': $fvp.hasUnreadMessages}\" \n          ng-click=\"$fvp.toggleWindow()\"\n          ng-attr-tabindex=\"0\">\n    <div class=\"hover-overlay\"></div>\n    <span aria-hidden=\"true\"\n          ng-class=\"$fvp.isWindowVisible ? 'fvp-icon icon-close icon-cross' : 'fvp-icon fa-icon'\"\n          ng-hide='$fvp.alt_icon'><i class='fa {{$fvp.options.fa_icon}}' aria-hidden='true' ng-hide='$fvp.isWindowVisible'></i></span>\n    <span aria-hidden=\"true\"\n          ng-class=\"$fvp.isWindowVisible ? 'fvp-icon icon-close icon-cross' : 'fvp-icon icon-open {{$fvp.options.retina_icon}}'\"\n          ng-hide='!$fvp.alt_icon'></span>\n  </button>  \n</div>"
  },
  {
    "path": "pe-sp-floating-viewport/widget/pe-sp-floating-viewport.u-client-script.js",
    "content": "function SPFloatingViewport($log, $scope, $element, $document, spModal, $q, $timeout, $window) {\n\t'use strict';\n\n\t/* widget controller */\n\tvar $fvp = this;\n\tvar $spContainer = $document.find('.sp-page-root');\n\tvar $widgetParent = $element.parent();\n\n\t$fvp.alt_icon = ($fvp.options.use_retina_icon=='true');\n\t$fvp.isWindowVisible = false;\n\t$fvp.hasUnreadMessages = false;\n\t$fvp.firstPress = false;\n\t$fvp.source = '';\n\t\n\t$fvp.toggleWindow = function() {\n\t\tif ($fvp.isWindowVisible) {\n\t\t\t$fvp.isWindowVisible = false;\n\t\t\t$timeout(function() {\n\t\t\t\tif (!$fvp.isWindowVisible) {\n\t\t\t\t\t$element.find('.fvp-container').css(\"display\", \"none\");\n\t\t\t\t\t$element.find('.fvp-outer-wrapper').css(\"display\", \"none\");\n\t\t\t\t\t$element.find('.fvp-wrapper').css(\"display\", \"none\");\n\n\t\t\t\t\t// ios overlay hacky fix.\n\t\t\t\t\t$document.find('.touch_scroll').css(\"-webkit-overflow-scrolling\", \"touch\");\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t} else {\n\t\t\tif (!$fvp.firstPress) {\n\t\t\t\t$fvp.firstPress = true;\n\t\t\t\tif($fvp.options.is_sp_page=='true'){\n\t\t\t\t\t$fvp.source = '/' + $scope.portal.url_suffix + '?id='+ $fvp.options.embedded_page +'&sysparm_nostack=true&sysparm_stack=no' + $fvp.options.url_system_parameters;\n\t\t\t\t}else{\n\t\t\t\t\t$fvp.source = '/' + $fvp.options.embedded_page +'?sysparm_nostack=true&sysparm_stack=no' + $fvp.options.url_system_parameters;\n\t\t\t\t}\n\t\t\t}\n\t\t\t$fvp.hasUnreadMessages = false;\n\t\t\t$element.find('.fvp-container').css(\"display\", \"block\");\n\t\t\t$element.find('.fvp-outer-wrapper').css(\"display\", \"block\");\n\t\t\t$element.find('.fvp-wrapper').css(\"display\", \"block\");\n\t\t\tif($fvp.options.is_sp_page=='true'){\n\t\t\t\t//Let's pause for a brief moment to let the iframe start loading the page.\n\t\t\t\t//Then we are going to strip off the nav header from the page.\n\t\t\t\t$timeout(function(){\n\t\t\t\t\t$scope.$broadcast('suppressHeader','fvpFrame');\t\n\t\t\t\t\t$fvp.isWindowVisible = true;\n\t\t\t\t},500);\n\t\t\t}else{\n\t\t\t\t$fvp.isWindowVisible = true;\n\t\t\t}\n\n\t\t\t// ios overlay hacky fix.\n\t\t\t$document.find('.touch_scroll').css(\"-webkit-overflow-scrolling\", \"auto\");\n\t\t}\n\t};\n\n\t$window.addEventListener(\"message\", function(e) {\n\t\tif ($fvp.isWindowVisible === false) {\n\t\t\t$fvp.hasUnreadMessages = true;\n\t\t}\n\t});\n\n\t$element.find('.help-button').on(\"mouseup\", function(e) {\n\t\te.target.blur();\n\t\te.stopPropagation();\n\t});\n\n\t$element.find('.help-icon').on(\"mouseup\", function(e) {\n\t\te.target.blur();\n\t\te.stopPropagation();\n\t});\n\n\t$fvp.openWindow = function() {\n\t\t$fvp.isWindowVisible = true;\t\t\n\t\t// delay before clearing unread message indicator\n\t\t// in-case user opens and closes quickly\n\t\t$timeout(function() {\n\t\t\tif ($fvp.isWindowVisible) {\n\t\t\t\t$fvp.hasUnreadMessages = false;\t\t\t\t\t\t\t\n\t\t\t}\n\t\t}, 500);\n\t};\n\n\tvar _closeWindow = function() {\n\t\t$fvp.isWindowVisible = false;\n\t};\n}"
  },
  {
    "path": "pe-sp-floating-viewport/widget/pe-sp-floating-viewport.u-css.css",
    "content": "$window-width: 375px;\n$window-height: 600px;\n$button-height: 60px;\n$bottom-margin: 15px;\n\n//Used by SP Virtual Agent\n$sn-chatbot-animation-speed: 300ms;\n\n// OVERRIDE TO DISPLAY RECORD CARDS\n.sn-card-component_records {\n  display: block !important;\n}\n\n.fvpbtn-container {\n  position: fixed;\n  right: 30px;\n  bottom: 15px;\n  z-index: 20;\n\n  .fvp {\n    position: relative;\n    opacity: 0;\n    visibility: hidden;\n\n\n    &.open {\n      transition: $sn-chatbot-animation-speed ease-in opacity;\n      opacity: 1;\n      visibility: visible;\n\n    }\n  }\n\n\n  .fvp-button {\n    position: relative;\n    width: 60px;\n    color: #fff;\n    float: right;\n    border: none;\n    height: $button-height;\n    border-radius: 60px;\n    box-shadow: 0px 2px 11px #ababab;\n    -moz-box-shadow: 0px 2px 11px #ababab;\n    -o-box-shadow: 0px 2px 11px #ababab;\n    padding: 0;\n\n    &::before {\n      content: \"\";\n      width: 60px;\n      height: 60px;\n      border-radius: 50%;\n      position: absolute;\n      top: 0;\n      left: 0;\n    }\n\n    &:hover::before {\n      background-color: rgba(0,0,0,0.2);\n    }\n\n\n    &:focus {\n      outline: thin dotted;\n      outline-color: gray;\n      outline: 5px auto -webkit-focus-ring-color;\n      outline-offset: 2px;\n    }\n\n\n    &.state-unread {\n      & > span:after {\n        content: ' ';\n        position: absolute;\n        top: -17px;\n        right: -14px;\n        width: 16px;\n        height: 16px;\n        background-color: #ed6e5c;\n        border-radius: 25px;\n      }\n    }\n    .fvp-icon {\n      pointer-events: none;\n      position: relative;\n      top: 50%;\n      -webkit-transform: perspective(1px) translateY(-50%);\n      -ms-transform: perspective(1px) translateY(-50%);\n      transform: perspective(1px) translateY(-50%);\n    }\n\n    .icon-open {\n      font-size: 28px;\n      position: relative;\n      line-height: 1;\n      top: 3px;\n    }\n\n    .icon-close {\n      font-size: 20px;\n    }\n    .fa-icon {\n      font-size: 28px;\n      position: relative;\n    }\n  }\n}\n\n// window sizing\n.fvp-outer-wrapper {\n  position: relative;\n  bottom: 15px;\n  right: 0;\n  display: none;\n\n  .fvp-wrapper {\n    width: $window-width; \n    transition: \n      border-bottom: 1px solid #bdc0c4;\n    margin-right: 0;\n    right: 0;\n    box-shadow: 0px 2px 11px #ababab !important;\n    -moz-box-shadow: 0px 2px 11px #ababab !important;\n    -o-box-shadow: 0px 2px 11px #ababab !important;\n    transition: max-height 0s $sn-chatbot-animation-speed;\n    display: none;\n\n    .fvp-container {\n      height: 100%;\n      display: none;\n\n      .fvp-frame {\n        max-height: $window-height;\n        height: calc(100vh - $button-height - ($bottom-margin * 3));\n        width: $window-width;\n        margin-bottom: -5px;\n        border: none;\n        overflow: hidden;\n        background-color: #fff;\n      }\n\n      // Immediate div is autogenerated from serviceportal\n      & > div {\n        height: 100%;\n      }\n    }\n  }\n}\n\n// Mobile SCSS\n@media (max-width: 425px) {  \n  .fvpbtn-container {\n    right: 15px;\n  }\n  .fvp-outer-wrapper{\n    .fvp-wrapper {\n      position: fixed;\n      max-height: 100%;\n      width: 100%;\n      left: 0;\n      right: 0;\n      bottom: calc($button-height + 20px);\n      top: 0;\n\n      .fvp-container {\n        position: absolute;\n        max-height: 100%;\n        width: 100%;\n        height: 100%;\n        left: 0;\n        right: 0;\n        top: 0;\n        bottom: 0;\n\n        .fvp-frame {\n          position: absolute;\n          width: 100%;\n          max-height: calc(100vh + 60px);\n          height: 100%;\n          left: 0;\n          right: 0;\n          top: 0;\n          bottom: 0;\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-sp-floating-viewport/widget/pe-sp-floating-viewport.u-link-script.js",
    "content": "function link(scope,el,attrs,ctrl){\n\n\tscope.$on('suppressHeader', function(action,data){\n\n\t\tvar iframe = document.getElementById(data).contentDocument;\n\t\tvar nav;\n\n\t\tvar wait = setInterval(function(){\n\t\t\tnav = iframe.getElementsByTagName('nav')[0];\t\n\t\t\tif(nav!=undefined){\n\t\t\t\ttry{\n\t\t\t\t\tnav.style.display = 'none';\n\t\t\t\t}catch(e){\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}\n\t\t\t\tclearInterval(wait);\n\t\t\t}\n\t\t});\n\n\t});\n}"
  },
  {
    "path": "pe-sp-floating-viewport/widget/pe-sp-floating-viewport.u-option-schema.json",
    "content": "[{\"hint\":\"The color of the floating button which opens the floating dialog page.\",\"name\":\"button_color\",\"section\":\"Presentation\",\"default_value\":\"#428bca\",\"label\":\"Floating Button Color\",\"type\":\"string\"},{\"hint\":\"Service Portal Page to embed in the floating dialog\",\"name\":\"embedded_page\",\"section\":\"Presentation\",\"label\":\"Embedded Page\",\"type\":\"string\"},{\"hint\":\"Text for populating the button's ARIA label property\",\"name\":\"aria_button_label\",\"section\":\"Data\",\"default_value\":\"Open the Dialog\",\"label\":\"ARIA Button Label\",\"type\":\"string\"},{\"hint\":\"String of any additional System Parameters (sysparm_#) needed to support the embedded page.  Must start with the ampersand '&'.\",\"name\":\"url_system_parameters\",\"section\":\"Data\",\"label\":\"Additional URL System Parameters\",\"type\":\"string\"},{\"name\":\"is_sp_page\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Embedded Page is a Service Portal Page\",\"type\":\"boolean\"},{\"hint\":\"Text name of Retina Icon listed on HI - https://hi.service-now.com/styles/retina_icons/retina_icons.html\",\"name\":\"retina_icon\",\"section\":\"Presentation\",\"default_value\":\"icon-collaboration\",\"label\":\"Button Open - Retina Icon\",\"type\":\"string\"},{\"hint\":\"Provide the FontAwesome icon name  based on the FontAwesome 4.7 list - https://fontawesome.com/v4.7.0/icons/ - e.g. fa-comments-o\",\"name\":\"fa_icon\",\"section\":\"Presentation\",\"default_value\":\"fa-comments-o\",\"label\":\"Button Open - Font Awesome Icon\",\"type\":\"string\"},{\"name\":\"use_retina_icon\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Use Retina Icon\",\"type\":\"boolean\"}]"
  },
  {
    "path": "pe-sp-floating-viewport/widget/pe-sp-floating-viewport.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\t\n\toptions.embedded_page = options.embedded_page || \"\";\n\toptions.url_system_parameters = options.url_system_parameters || \"\";\n\t\n})();"
  },
  {
    "path": "pe-status-alert/README.md",
    "content": "# Status Alert\n\n## Description\n\nDisplays status information about the most recent alert record from the *em_alert_anomaly* table.\n\n## Screenshots\n### Alert/Warning View\n![alt text](../images/pe-status-alert-1.png \"alert view\")\n### Resolved View\n![alt text](../images/pe-status-alert-2.png \"resolved\")\n\n---\n## Installation\n---\nEnsure the that the **Performance Analytics - Content Pack - Event Management** plugin is Activated per the SN Plugin support section below.<br/><br/>\nDownload and install update set **[pe-status-alert.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-status-alert/pe-status-alert.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**alert_sysid**: Provide a specific *em_alert_anomaly* record sys_id to display. `Default: Most recent record in the em_alert_anomaly table.`<br/>\n\n**probability**: Number of percent of chance an outage will occur by a certain time. `Default: 67`<br/>\n\n**outage_eta**: Provide a time string (in minutes) for when an outage is expected to occur. `Default: 30`<br/>\n\n---\n## Platform Dependencies\n---\n### SN Plugin Support\n\nWidget support is provided by the ServiceNow® [Performance Analytics - Content Pack - Event Management](https://docs.servicenow.com/bundle/istanbul-performance-analytics-and-reporting/page/use/performance-analytics/reference/r_PALandingPage.html)<br/>\nPerformance Analytics content pack for Event Management core out-of-the-box KPIs. <br/>\n**For Customers:** _Activation of this plugin on production instances may require a separate Performance Analytics license. Contact ServiceNow for details._\n\n### SN System Tables\n* em_alert_anomaly\n\n---\n## Sample Data and Data Structures\n---\nWith the Performance Analytics - Content Pack - Event Management installed the System table *em_alert_anomoly* is created.  `This update set will install a sample record into the table.`\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n\n* HighCharts API (v 5.0.5 - Recommended)  w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [HighCharts.com](http://http://www.highcharts.com/products/highcharts/)\n  <br/>Additional HighCharts Utility - [highcharts-ng](https://github.com/pablojim/highcharts-ng) - Angular Directive for HighCharts (__not used or distributed__)\n\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$text-color: #485563 !default;`<br/>\n`$status-alert-color: #ff6f00 !default;`<br/>\n`$status-alert-gradient: linear-gradient(#fe8a30, #ff6f00) !default;`<br/>\n`$status-recovered-color: #34ba3d !default`<br/>\n`$status-recovered-gradient: linear-gradient(#6ce474, #34ba3d) !default;`<br/>"
  },
  {
    "path": "pe-status-alert/pe-status-alert.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-12 23:34:18\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Status Alert</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>8206eb35dbdf3200b793f2b6ae96190a</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>6c32f3f9dbdf3200b793f2b6ae9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_26c3854bdbd53200f687dfea5e9619ac</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;true&lt;/global&gt;&lt;name&gt;PE Highcharts No Data&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2016 Highsoft AS\n Author: Oystein Moseng\n License: www.highcharts.com/license\n*/\n(function(a) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = a : a(Highcharts)\n})(function(a) {\n\tfunction h() {\n\t\treturn !!this.points.length\n\t}\n\n\tfunction d() {\n\t\tthis.hasData() ? this.hideNoData() : this.showNoData()\n\t}\n\tvar e = a.seriesTypes,\n\t\tc = a.Chart.prototype,\n\t\tf = a.getOptions(),\n\t\tg = a.extend,\n\t\ti = a.each;\n\tg(f.lang, {\n\t\tnoData: \"No data to display\"\n\t});\n\tf.noData = {\n\t\tposition: {\n\t\t\tx: 0,\n\t\t\ty: 0,\n\t\t\talign: \"center\",\n\t\t\tverticalAlign: \"middle\"\n\t\t},\n\t\tattr: {},\n\t\tstyle: {\n\t\t\tfontWeight: \"bold\",\n\t\t\tfontSize: \"12px\",\n\t\t\tcolor: \"#60606a\"\n\t\t}\n\t};\n\ti([\"pie\", \"gauge\", \"waterfall\", \"bubble\", \"treemap\"],\n\t\tfunction(b) {\n\t\t\tif (e[b]) e[b].prototype.hasData = h\n\t\t});\n\ta.Series.prototype.hasData = function() {\n\t\treturn this.visible &amp;&amp; this.dataMax !== void 0 &amp;&amp; this.dataMin !== void 0\n\t};\n\tc.showNoData = function(b) {\n\t\tvar a = this.options,\n\t\t\tb = b || a.lang.noData,\n\t\t\ta = a.noData;\n\t\tif (!this.noDataLabel) this.noDataLabel = this.renderer.label(b, 0, 0, null, null, null, a.useHTML, null, \"no-data\").attr(a.attr).css(a.style).add(), this.noDataLabel.align(g(this.noDataLabel.getBBox(), a.position), !1, \"plotBox\")\n\t};\n\tc.hideNoData = function() {\n\t\tif (this.noDataLabel) this.noDataLabel =\n\t\t\tthis.noDataLabel.destroy()\n\t};\n\tc.hasData = function() {\n\t\tfor (var a = this.series, c = a.length; c--;)\n\t\t\tif (a[c].hasData() &amp;&amp; !a[c].options.isInternal) return !0;\n\t\treturn !1\n\t};\n\tc.callbacks.push(function(b) {\n\t\ta.addEvent(b, \"load\", d);\n\t\ta.addEvent(b, \"redraw\", d)\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:59:08&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;26c3854bdbd53200f687dfea5e9619ac&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts No Data&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_26c3854bdbd53200f687dfea5e9619ac&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 12:39:29&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>2832f3f9dbdf3200b793f2b6ae9619bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>PE Highcharts No Data</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_b2d19122130e320040c770a76144b0ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function StatusAlertController($filter, $interval) {\n  var c = this;\n  var d = new Date();\n\n  c.$onInit = function() {\n    c.probabilityGauge = c.data.probabilityGauge;\n    getAlertDate();\n    getOutageEta();\n  };\n\n  function getAlertDate() {\n    c.alert = c.data.alert;\n    if (c.alert.created_on) {\n      c.alert.created_on_date = new Date(c.alert.created_on);\n      c.alert.created_on_string = $filter('date')(c.alert.created_on_date, 'short');\n    }\n  }\n\n  function getOutageEta() {\n    var outageEta = new Date(d.getTime() + c.options.outage_eta * 60000);\n    c.min_to_eta = Math.floor((outageEta.getTime() - d.getTime()) / 60000);\n    if (c.min_to_eta &lt; 0) {\n      c.min_to_eta = 0;\n    } else {\n      $interval(function() {\n        c.min_to_eta -= 1;\n      }, 60000, c.min_to_eta);\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$slate: #485563;\n$mango: #fe8a30;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n$lightish-green-two: #6ce474;\n$text-color: $slate !default;\n$status-alert-color: $orange !default;\n$status-alert-gradient: linear-gradient($mango, $orange) !default;\n$status-recovered-color: $medium-green !default;\n$status-recovered-gradient: linear-gradient($lightish-green-two, $medium-green) !default;\n\n.status-wrapper {\n  margin: -10px -15px 0 -15px;\n}\n\n.status-box {\n  background: $status-alert-gradient;\n  color: #fff;\n  fill: #fff;\n  margin-bottom: 10px;\n  padding: 15px 23px;\n  .title {\n    font-size: 22px;\n    font-weight: 600;\n    margin-bottom: 5px;\n  }\n  .pill {\n    background-color: #fff;\n    color: $status-alert-color;\n    display: inline-block;\n    font-size: 14px;\n    padding: 1px 8px;\n    border-radius: 14px;\n    margin: 5px 0;\n  }\n}\n\n.recovered {\n  .status-box {\n    background: $status-recovered-gradient;\n    .pill {\n      color: $status-recovered-color;\n    }\n  }\n}\n\n.status-row {\n  height: 125px;\n}\n\n.status-key {\n  float: left;\n  width: 140px;\n}\n\n.status-detail {\n  padding-top: 20px;\n  .status-time {\n    display: inline;\n    font-size: 24px;\n  }\n}\n\n.big-icon {\n  margin: 15px auto;\n  height: 100px;\n  width: 100px;\n  text-align: center;\n  border-radius: 50px;\n  border: 10px solid #fff;\n  fill: #fff;\n  .svg-wrapper {\n    position: relative;\n    vertical-align: top;\n    top: 15px;\n    width: 50px;\n    height: 50px;\n  }\n}\n\n// HIGHCHART\n.highcharts-axis,\n.highcharts-axis-labels,\n.highcharts-data-label-box,\n.highcharts-text-outline {\n  visibility: hidden;\n}\n\n// SPINNER\n.spinny {\n  display: inline-block;\n  margin-right: 5px;\n}\n\n.spinny&amp;gt;div {\n  width: 9px;\n  height: 9px;\n  background-color: #fff;\n  border-radius: 100%;\n  display: inline-block;\n  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n  animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n  vertical-align: 10%;\n}\n\n@-webkit-keyframes sk-bouncedelay {\n  0%,\n  80%,\n  100% {\n    -webkit-transform: scale(0)\n  }\n  40% {\n    -webkit-transform: scale(1.0)\n  }\n}\n\n@keyframes sk-bouncedelay {\n  0%,\n  80%,\n  100% {\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n  40% {\n    -webkit-transform: scale(1.0);\n    transform: scale(1.0);\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-status-alert&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Status Alert&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"alert_sysid\",\"default_value\":\"\",\"label\":\"Anomaly Alert sys_id\",\"type\":\"string\"},{\"instructions\":\"in percent\",\"name\":\"probability\",\"label\":\"Probability of outage\",\"type\":\"integer\"},{\"instructions\":\"as datetime string\",\"name\":\"outage_eta\",\"label\":\"ETA of outage\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\n  options.probability = options.probability || serverOptions.probability || 67;\n  options.outage_eta = options.outage_eta || serverOptions.outage_eta || 30;\n\n  var getAlert = function(rec) {\n    return {\n      sys_id: rec.sys_id.toString(),\n      number: rec.number.toString(),\n      created_on: rec.sys_created_on.toString(),\n      description: rec.description.toString(),\n      state: rec.state.toString()\n    };\n  };\n\n  var alertGR, alert;\n  if (options.alert_sysid) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    if (alertGR.get(options.alert)) {\n      alert = getAlert(alertGR);\n    }\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    if (alertGR.next()) {\n      alert = getAlert(alertGR);\n    }\n  }\n  data.alert = alert;\n\n  data.probabilityGauge = $sp.getWidget('pe-solid-gauge', {\n    script_include: 'PEChartData',\n    function_name: 'getData',\n    param1: options.probability,\n    advance: JSON.stringify({\n      options: {\n        title: {\n          text: null\n        },\n        chart: {\n          height: 140,\n          width: 140,\n          backgroundColor: null\n        },\n        pane: {\n          background: {\n            backgroundColor: 'rgba(255,255,255,0.5)',\n            borderColor: null,\n            shape: 'solid',\n            innerRadius: '60%',\n            outerRadius: '100%'\n          }\n        },\n        exporting: {\n          enabled: false\n        },\n        legend: {\n          enabled: false\n        },\n        yAxis: {\n          min: 0,\n          max: 100,\n          tickAmount: 0,\n          tickWidth: 0,\n          stops: [\n            [0, 'rgba(255,255,255,0.5)'],\n            [1, 'rgba(255,255,255,1)']\n          ]\n        },\n        plotOptions: {\n          solidgauge: {\n            dataLabels: {\n              format: '{y}%',\n              color: 'white',\n              style: {\n                fontFamily: '\\'SourceSansPro\\', Helvetica, Arial, sans-serif',\n                fontSize: '24px',\n                fontWeight: '400'\n              },\n              y: -20\n            }\n          }\n        }\n      }\n    })\n  });\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-13 16:37:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b2d19122130e320040c770a76144b0ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;264&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Status Alert&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b2d19122130e320040c770a76144b0ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-12 23:30:19&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-class=\"{'recovered': c.alert.state === 'Closed'}\" class=\"status-wrapper\"&gt;\n  &lt;div class=\"status-box\"&gt;\n    &lt;header class=\"title\"&gt;{{c.alert.description}}&lt;/header&gt;\n    &lt;div class=\"pill\"&gt;\n      {{c.alert.number}} |\n      &lt;span ng-if=\"c.alert.state !== 'Closed'\"&gt;{{'Created ' + c.alert.created_on_string}}&lt;/span&gt;\n      &lt;span ng-if=\"c.alert.state === 'Closed'\"&gt;Closed&lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div ng-if=\"c.alert.state !== 'Closed'\" class=\"status-row\"&gt;\n      &lt;div class=\"status-key\"&gt;\n        &lt;sp-widget widget=\"c.probabilityGauge\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n      &lt;div class=\"status-detail\"&gt;\n        &lt;div&gt;Probability that an outage will occur in&lt;/div&gt;\n        &lt;div class=\"spinny\"&gt;\n          &lt;div class=\"bouncy1\" style=\"animation-delay: -0.32s;\"&gt;&lt;/div&gt;\n          &lt;div class=\"bouncy2\" style=\"animation-delay: -0.16s;\"&gt;&lt;/div&gt;\n          &lt;div class=\"bouncy3\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"status-time\"&gt;\n          {{c.min_to_eta}} {{c.min_to_eta == 1 ? 'minute' : 'minutes'}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div ng-if=\"c.alert.state === 'Closed'\" class=\"status-row\"&gt;\n      &lt;div class=\"status-key\"&gt;\n        &lt;div class=\"big-icon\"&gt;\n          &lt;svg class=\"svg-wrapper\"&gt;\n            &lt;use xlink:href=\"#check-mark\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"status-detail\"&gt;\n        &lt;div class=\"title\"&gt;&lt;strong&gt;Outage Prevented&lt;/strong&gt;&lt;/div&gt;\n        &lt;div&gt;There was a {{c.options.probability}}% chance this incident would cause an outage&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div class=\"hidden\"&gt;\n  &lt;svg version=\"1.1\" id=\"check-mark\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\"\n    y=\"0px\" viewBox=\"0 0 574.6 468\" xml:space=\"preserve\"&gt;\n    &lt;g&gt;\n      &lt;path d=\"M0,292.6c-0.1-6.5,2.2-12.1,6.8-16.7c14.9-15,29.8-30,44.9-44.9c10-9.8,24.1-9.4,34.4,0.8c23.4,23.3,46.7,46.6,70,70\n\t\t\tc12.6,12.6,25.7,12.5,38.3-0.1C291.9,204.2,389.5,106.6,487,9c7.3-7.3,15.6-11.1,25.6-7.8c4.1,1.4,8.1,4.1,11.2,7.1\n\t\t\tc14.2,13.8,28.1,27.9,42.2,42c11.4,11.4,11.5,25.1,0.1,36.5C502.9,150,439.7,213.2,376.6,276.3C315.9,337,255.2,397.7,194.5,458.4\n\t\t\tc-12.8,12.8-25.9,12.9-38.6,0.1c-49.1-49.1-98.3-98.3-147.5-147.4C3.3,305.9-0.2,300.1,0,292.6z\" /&gt;\n    &lt;/g&gt;\n  &lt;/svg&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>2c32f3f9dbdf3200b793f2b6ae9619ba</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>PE Status Alert</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_5c4ad5bf138e720040c770a76144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PEChartData&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PEChartData&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PEChartData = Class.create();\nPEChartData.prototype = {\n    initialize: function(request, response) {\n\t\tthis.json = new JSON();\n    },\n\tgetData: function(param1){\n\t\treturn [{\n\t\t\t\"name\": \"Probability\",\n\t\t\t\"data\": [ parseInt(param1) ]\n\t\t}];\n\t},\n    type: 'PEChartData'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-17 14:25:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5c4ad5bf138e720040c770a76144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;14&lt;/sys_mod_count&gt;&lt;sys_name&gt;PEChartData&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_5c4ad5bf138e720040c770a76144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-17 17:08:01&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>6432f3f9dbdf3200b793f2b6ae9619bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>PEChartData</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4657a11fdb9532002e5df2b6ae961996</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, $timeout, HighchartsConfigService) {\n\tvar c = this;\n\n\tvar hcs = new HighchartsConfigService(c.options, \"solidgauge\", c.data);\n\tc.chartConfig = hcs.getChartConfig();\n\thcs.get();\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"data\": [{\n\t\t\"name\": \"Jan\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Feb\",\n\t\t\"y\": 28\n\t}, {\n\t\t\"name\": \"Mar\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Apr\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"May\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Jun\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Jul\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Aug\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Sep\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Oct\",\n\t\t\"y\": 31\n\t}, {\n\t\t\"name\": \"Nov\",\n\t\t\"y\": 30\n\t}, {\n\t\t\"name\": \"Dec\",\n\t\t\"y\": 31\n\t}]\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-solid-gauge&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Solid Gauge&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"interval\",\"label\":\"Update Interval\",\"type\":\"glide_duration\"},{\"name\":\"table\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"fields\",\"label\":\"Field\",\"type\":\"field_name\"},{\"name\":\"encoded_query\",\"label\":\"Encoded Query\",\"type\":\"string\"},{\"name\":\"script_include\",\"label\":\"Script Include\",\"type\":\"string\"},{\"name\":\"function_name\",\"label\":\"Process Function Name\",\"type\":\"string\"},{\"name\":\"param1\",\"label\":\"Parameter 1\",\"type\":\"string\"},{\"name\":\"advance\",\"label\":\"Set your own Chart object\",\"instructions\":\"&amp;lt;p&amp;gt;Options available can be seen here &amp;lt;a targe=\\\"_blank\\\" href=\\\"http://api.highcharts.com/highcharts\\\"&amp;gt;Highcharts Doc&amp;lt;/a&amp;gt;.&amp;lt;br/&amp;gt;A example of the output is as follows&amp;lt;/p&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;{\\n\\ttitle:{\\n\\t\\ttext:\\\"hello&amp;amp;nbspworld\\\"\\n\\t}\\n}&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;\",\"type\":\"script\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\toptions.interval = options.interval || serverOptions.interval;\n\toptions.table = options.table || serverOptions.table;\n\toptions.fields = options.fields || serverOptions.fields;\n\toptions.encoded_query = options.encoded_query || serverOptions.encoded_query;\n\toptions.script_include = options.script_include || serverOptions.script_include || \"PEHighchartsExample\";\n\toptions.function_name = options.function_name || serverOptions.function_name || \"getGaugeDemoData\";\n\toptions.param1 = options.param1 || serverOptions.param1;\n\toptions.advance = options.advance || serverOptions.advance || JSON.stringify({\n\t\t\"options\":{\n\t\t\t\"pane\":{\n\t\t\t\t\"startAngle\":-90,\n\t\t\t\t\"endAngle\":90,\n\t\t\t\t\"background\":{\n\t\t\t\t\t\"shape\":\"arc\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"yAxis\":{\n\t\t\t\t\"softMin\":0,\n\t\t\t\t\"softMax\":100\n\t\t\t}\n\t\t},\n\t\t\"title\":{\n\t\t\t\"text\":\"Solid Arc Gauge\"\n\t\t}\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 19:12:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;4657a11fdb9532002e5df2b6ae961996&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Solid Gauge&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4657a11fdb9532002e5df2b6ae961996&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-12 22:47:23&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart config=\"c.chartConfig\" class=\"pe-highchart-class pe-highchart-solid-gauge-chart\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>6832f3f9dbdf3200b793f2b6ae9619ba</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>PE Solid Gauge</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_number_af26b3c813db36006749bccf3244b01c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_number\"><sys_number action=\"INSERT_OR_UPDATE\"><category display_value=\"\" name=\"em_alert_anomaly\">em_alert_anomaly</category><maximum_digits>7</maximum_digits><number>10001</number><prefix>Alert Anomaly</prefix><sys_class_name>sys_number</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-07 13:22:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>af26b3c813db36006749bccf3244b01c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Alert Anomaly</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_number_af26b3c813db36006749bccf3244b01c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-07 13:22:20</sys_updated_on></sys_number></record_update>]]></payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>a032f3f9dbdf3200b793f2b6ae9619bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>Alert Anomaly</target_name>\n<type>Number</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>em_alert_anomaly_6726b3c813db36006749bccf3244b025</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"em_alert_anomaly\"><em_alert_anomaly action=\"INSERT_OR_UPDATE\"><acknowledged>false</acknowledged><additional_info/><category>Default</category><classification>0</classification><cmdb_ci/><correlation_group>0</correlation_group><correlation_rule_group>0</correlation_rule_group><description>Abnormally High Response Times</description><event_class/><flap_count/><flap_last_state/><flap_last_update_time/><flap_start_window/><group/><group_source>6</group_source><impact_services/><incident/><initial_event_time/><initial_remote_time/><is_group_alert>false</is_group_alert><kb/><kb_url>/kb_view.do?sysparm_article=</kb_url><last_event_time/><last_remote_time/><last_update_time_by_event/><maintenance>false</maintenance><message_key/><metric_name/><node/><number>Alert Anomaly10000</number><parent/><remote_task_id/><resource/><severity>1</severity><short_description/><source/><state>Open</state><sys_created_by>admin</sys_created_by><sys_created_on>2017-06-07 13:26:35</sys_created_on><sys_domain>global</sys_domain><sys_id>6726b3c813db36006749bccf3244b025</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-07 13:26:35</sys_updated_on><type/><work_notes/></em_alert_anomaly></record_update>]]></payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>a432f3f9dbdf3200b793f2b6ae9619ba</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>Alert Anomaly10000</target_name>\n<type>Alert Anomaly</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_85b3854bdbd53200f687dfea5e9619ab</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts Export&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v4.2.6 (2016-08-02)\n Exporting module\n\n (c) 2010-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(f) {\n\ttypeof module === \"object\" &amp;&amp; module.exports ? module.exports = f : f(Highcharts)\n})(function(f) {\n\tvar s = f.win,\n\t\tj = s.document,\n\t\tB = f.Chart,\n\t\tu = f.addEvent,\n\t\tC = f.removeEvent,\n\t\tD = f.fireEvent,\n\t\tr = f.createElement,\n\t\tt = f.discardElement,\n\t\tw = f.css,\n\t\tl = f.merge,\n\t\tm = f.each,\n\t\tq = f.extend,\n\t\tF = f.splat,\n\t\tG = Math.max,\n\t\tH = f.isTouchDevice,\n\t\tI = f.Renderer.prototype.symbols,\n\t\tz = f.getOptions(),\n\t\tA;\n\tq(z.lang, {\n\t\tprintChart: \"Print chart\",\n\t\tdownloadPNG: \"Download PNG image\",\n\t\tdownloadJPEG: \"Download JPEG image\",\n\t\tdownloadPDF: \"Download PDF document\",\n\t\tdownloadSVG: \"Download SVG vector image\",\n\t\tcontextButtonTitle: \"Chart context menu\"\n\t});\n\tz.navigation = {\n\t\tmenuStyle: {\n\t\t\tborder: \"1px solid #A0A0A0\",\n\t\t\tbackground: \"#FFFFFF\",\n\t\t\tpadding: \"5px 0\"\n\t\t},\n\t\tmenuItemStyle: {\n\t\t\tpadding: \"0 10px\",\n\t\t\tbackground: \"none\",\n\t\t\tcolor: \"#303030\",\n\t\t\tfontSize: H ? \"14px\" : \"11px\"\n\t\t},\n\t\tmenuItemHoverStyle: {\n\t\t\tbackground: \"#4572A5\",\n\t\t\tcolor: \"#FFFFFF\"\n\t\t},\n\t\tbuttonOptions: {\n\t\t\tsymbolFill: \"#E0E0E0\",\n\t\t\tsymbolSize: 14,\n\t\t\tsymbolStroke: \"#666\",\n\t\t\tsymbolStrokeWidth: 3,\n\t\t\tsymbolX: 12.5,\n\t\t\tsymbolY: 10.5,\n\t\t\talign: \"right\",\n\t\t\tbuttonSpacing: 3,\n\t\t\theight: 22,\n\t\t\ttheme: {\n\t\t\t\tfill: \"white\",\n\t\t\t\tstroke: \"none\"\n\t\t\t},\n\t\t\tverticalAlign: \"top\",\n\t\t\twidth: 24\n\t\t}\n\t};\n\tz.exporting = {\n\t\ttype: \"image/png\",\n\t\turl: \"https://export.highcharts.com/\",\n\t\tprintMaxWidth: 780,\n\t\tscale: 2,\n\t\tbuttons: {\n\t\t\tcontextButton: {\n\t\t\t\tmenuClassName: \"highcharts-contextmenu\",\n\t\t\t\tsymbol: \"menu\",\n\t\t\t\t_titleKey: \"contextButtonTitle\",\n\t\t\t\tmenuItems: [{\n\t\t\t\t\t\ttextKey: \"printChart\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.print()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\tseparator: !0\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPNG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadJPEG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/jpeg\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\ttextKey: \"downloadPDF\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"application/pdf\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttextKey: \"downloadSVG\",\n\t\t\t\t\t\tonclick: function() {\n\t\t\t\t\t\t\tthis.exportChart({\n\t\t\t\t\t\t\t\ttype: \"image/svg+xml\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t};\n\tf.post = function(a, b, e) {\n\t\tvar c, a = r(\"form\", l({\n\t\t\tmethod: \"post\",\n\t\t\taction: a,\n\t\t\tenctype: \"multipart/form-data\"\n\t\t}, e), {\n\t\t\tdisplay: \"none\"\n\t\t}, j.body);\n\t\tfor (c in b) r(\"input\", {\n\t\t\ttype: \"hidden\",\n\t\t\tname: c,\n\t\t\tvalue: b[c]\n\t\t}, null, a);\n\t\ta.submit();\n\t\tt(a)\n\t};\n\tq(B.prototype, {\n\t\tsanitizeSVG: function(a) {\n\t\t\treturn a.replace(/zIndex=\"[^\"]+\"/g, \"\").replace(/isShadow=\"[^\"]+\"/g, \"\").replace(/symbolName=\"[^\"]+\"/g, \"\").replace(/jQuery[0-9]+=\"[^\"]+\"/g, \"\").replace(/url\\([^#]+#/g, \"url(#\").replace(/&lt;svg /,\n\t\t\t\t'&lt;svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" ').replace(/ (NS[0-9]+\\:)?href=/g, \" xlink:href=\").replace(/\\n/, \" \").replace(/&lt;\\/svg&gt;.*?$/, \"&lt;/svg&gt;\").replace(/(fill|stroke)=\"rgba\\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\\.]+)\\)\"/g, '$1=\"rgb($2)\" $1-opacity=\"$3\"').replace(/&amp;nbsp;/g, \"\\u00a0\").replace(/&amp;shy;/g, \"\\u00ad\").replace(/&lt;IMG /g, \"&lt;image \").replace(/&lt;(\\/?)TITLE&gt;/g, \"&lt;$1title&gt;\").replace(/height=([^\" ]+)/g, 'height=\"$1\"').replace(/width=([^\" ]+)/g, 'width=\"$1\"').replace(/hc-svg-href=\"([^\"]+)\"&gt;/g, 'xlink:href=\"$1\"/&gt;').replace(/ id=([^\" &gt;]+)/g,\n\t\t\t\t' id=\"$1\"').replace(/class=([^\" &gt;]+)/g, 'class=\"$1\"').replace(/ transform /g, \" \").replace(/:(path|rect)/g, \"$1\").replace(/style=\"([^\"]+)\"/g, function(a) {\n\t\t\t\treturn a.toLowerCase()\n\t\t\t})\n\t\t},\n\t\tgetChartHTML: function() {\n\t\t\treturn this.container.innerHTML\n\t\t},\n\t\tgetSVG: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te, c, g, k, h, d = l(b.options, a),\n\t\t\t\tn = d.exporting.allowHTML;\n\t\t\tif (!j.createElementNS) j.createElementNS = function(a, b) {\n\t\t\t\treturn j.createElement(b)\n\t\t\t};\n\t\t\tc = r(\"div\", null, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"-9999em\",\n\t\t\t\twidth: b.chartWidth + \"px\",\n\t\t\t\theight: b.chartHeight + \"px\"\n\t\t\t}, j.body);\n\t\t\tg = b.renderTo.style.width;\n\t\t\th = b.renderTo.style.height;\n\t\t\tg = d.exporting.sourceWidth || d.chart.width || /px$/.test(g) &amp;&amp; parseInt(g, 10) || 600;\n\t\t\th = d.exporting.sourceHeight || d.chart.height || /px$/.test(h) &amp;&amp; parseInt(h, 10) || 400;\n\t\t\tq(d.chart, {\n\t\t\t\tanimation: !1,\n\t\t\t\trenderTo: c,\n\t\t\t\tforExport: !0,\n\t\t\t\trenderer: \"SVGRenderer\",\n\t\t\t\twidth: g,\n\t\t\t\theight: h\n\t\t\t});\n\t\t\td.exporting.enabled = !1;\n\t\t\tdelete d.data;\n\t\t\td.series = [];\n\t\t\tm(b.series, function(a) {\n\t\t\t\tk = l(a.userOptions, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tenableMouseTracking: !1,\n\t\t\t\t\tshowCheckbox: !1,\n\t\t\t\t\tvisible: a.visible\n\t\t\t\t});\n\t\t\t\tk.isInternal || d.series.push(k)\n\t\t\t});\n\t\t\ta &amp;&amp; m([\"xAxis\",\n\t\t\t\t\"yAxis\"\n\t\t\t], function(b) {\n\t\t\t\tm(F(a[b]), function(a, c) {\n\t\t\t\t\td[b][c] = l(d[b][c], a)\n\t\t\t\t})\n\t\t\t});\n\t\t\te = new f.Chart(d, b.callback);\n\t\t\tm([\"xAxis\", \"yAxis\"], function(a) {\n\t\t\t\tm(b[a], function(b, c) {\n\t\t\t\t\tvar d = e[a][c],\n\t\t\t\t\t\tf = b.getExtremes(),\n\t\t\t\t\t\tg = f.userMin,\n\t\t\t\t\t\tf = f.userMax;\n\t\t\t\t\td &amp;&amp; (g !== void 0 || f !== void 0) &amp;&amp; d.setExtremes(g, f, !0, !1)\n\t\t\t\t})\n\t\t\t});\n\t\t\tg = e.getChartHTML();\n\t\t\td = null;\n\t\t\te.destroy();\n\t\t\tt(c);\n\t\t\tif (n &amp;&amp; (c = g.match(/&lt;\\/svg&gt;(.*?$)/))) c = '&lt;foreignObject x=\"0\" y=\"0\" width=\"200\" height=\"200\"&gt;&lt;body xmlns=\"http://www.w3.org/1999/xhtml\"&gt;' + c[1] + \"&lt;/body&gt;&lt;/foreignObject&gt;\", g = g.replace(\"&lt;/svg&gt;\", c + \"&lt;/svg&gt;\");\n\t\t\tg = this.sanitizeSVG(g);\n\t\t\treturn g = g.replace(/(url\\(#highcharts-[0-9]+)&amp;quot;/g, \"$1\").replace(/&amp;quot;/g, \"'\")\n\t\t},\n\t\tgetSVGForExport: function(a, b) {\n\t\t\tvar e = this.options.exporting;\n\t\t\treturn this.getSVG(l({\n\t\t\t\tchart: {\n\t\t\t\t\tborderRadius: 0\n\t\t\t\t}\n\t\t\t}, e.chartOptions, b, {\n\t\t\t\texporting: {\n\t\t\t\t\tsourceWidth: a &amp;&amp; a.sourceWidth || e.sourceWidth,\n\t\t\t\t\tsourceHeight: a &amp;&amp; a.sourceHeight || e.sourceHeight\n\t\t\t\t}\n\t\t\t}))\n\t\t},\n\t\texportChart: function(a, b) {\n\t\t\tvar e = this.getSVGForExport(a, b),\n\t\t\t\ta = l(this.options.exporting, a);\n\t\t\tf.post(a.url, {\n\t\t\t\tfilename: a.filename || \"chart\",\n\t\t\t\ttype: a.type,\n\t\t\t\twidth: a.width || 0,\n\t\t\t\tscale: a.scale,\n\t\t\t\tsvg: e\n\t\t\t}, a.formAttributes)\n\t\t},\n\t\tprint: function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.container,\n\t\t\t\te = [],\n\t\t\t\tc = b.parentNode,\n\t\t\t\tf = j.body,\n\t\t\t\tk = f.childNodes,\n\t\t\t\th = a.options.exporting.printMaxWidth,\n\t\t\t\td, n;\n\t\t\tif (!a.isPrinting) {\n\t\t\t\ta.isPrinting = !0;\n\t\t\t\ta.pointer.reset(null, 0);\n\t\t\t\tD(a, \"beforePrint\");\n\t\t\t\tif (n = h &amp;&amp; a.chartWidth &gt; h) d = [a.options.chart.width, void 0, !1], a.setSize(h, void 0, !1);\n\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\tif (a.nodeType === 1) e[b] = a.style.display, a.style.display = \"none\"\n\t\t\t\t});\n\t\t\t\tf.appendChild(b);\n\t\t\t\ts.focus();\n\t\t\t\ts.print();\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tc.appendChild(b);\n\t\t\t\t\tm(k, function(a, b) {\n\t\t\t\t\t\tif (a.nodeType ===\n\t\t\t\t\t\t\t1) a.style.display = e[b]\n\t\t\t\t\t});\n\t\t\t\t\ta.isPrinting = !1;\n\t\t\t\t\tn &amp;&amp; a.setSize.apply(a, d);\n\t\t\t\t\tD(a, \"afterPrint\")\n\t\t\t\t}, 1E3)\n\t\t\t}\n\t\t},\n\t\tcontextMenu: function(a, b, e, c, f, k, h) {\n\t\t\tvar d = this,\n\t\t\t\tn = d.options.navigation,\n\t\t\t\tl = n.menuItemStyle,\n\t\t\t\to = d.chartWidth,\n\t\t\t\tp = d.chartHeight,\n\t\t\t\tE = \"cache-\" + a,\n\t\t\t\ti = d[E],\n\t\t\t\tv = G(f, k),\n\t\t\t\tx, y, s, t = function(b) {\n\t\t\t\t\td.pointer.inClass(b.target, a) || y()\n\t\t\t\t};\n\t\t\tif (!i) d[E] = i = r(\"div\", {\n\t\t\t\tclassName: a\n\t\t\t}, {\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tzIndex: 1E3,\n\t\t\t\tpadding: v + \"px\"\n\t\t\t}, d.container), x = r(\"div\", null, q({\n\t\t\t\t\tMozBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tWebkitBoxShadow: \"3px 3px 10px #888\",\n\t\t\t\t\tboxShadow: \"3px 3px 10px #888\"\n\t\t\t\t},\n\t\t\t\tn.menuStyle), i), y = function() {\n\t\t\t\tw(i, {\n\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t});\n\t\t\t\th &amp;&amp; h.setState(0);\n\t\t\t\td.openMenu = !1\n\t\t\t}, u(i, \"mouseleave\", function() {\n\t\t\t\ts = setTimeout(y, 500)\n\t\t\t}), u(i, \"mouseenter\", function() {\n\t\t\t\tclearTimeout(s)\n\t\t\t}), u(j, \"mouseup\", t), u(d, \"destroy\", function() {\n\t\t\t\tC(j, \"mouseup\", t)\n\t\t\t}), m(b, function(a) {\n\t\t\t\tif (a) {\n\t\t\t\t\tvar b = a.separator ? r(\"hr\", null, null, x) : r(\"div\", {\n\t\t\t\t\t\tonmouseover: function() {\n\t\t\t\t\t\t\tw(this, n.menuItemHoverStyle)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonmouseout: function() {\n\t\t\t\t\t\t\tw(this, l)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonclick: function(b) {\n\t\t\t\t\t\t\tb &amp;&amp; b.stopPropagation();\n\t\t\t\t\t\t\ty();\n\t\t\t\t\t\t\ta.onclick &amp;&amp; a.onclick.apply(d, arguments)\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerHTML: a.text ||\n\t\t\t\t\t\t\td.options.lang[a.textKey]\n\t\t\t\t\t}, q({\n\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t}, l), x);\n\t\t\t\t\td.exportDivElements.push(b)\n\t\t\t\t}\n\t\t\t}), d.exportDivElements.push(x, i), d.exportMenuWidth = i.offsetWidth, d.exportMenuHeight = i.offsetHeight;\n\t\t\tb = {\n\t\t\t\tdisplay: \"block\"\n\t\t\t};\n\t\t\te + d.exportMenuWidth &gt; o ? b.right = o - e - f - v + \"px\" : b.left = e - v + \"px\";\n\t\t\tc + k + d.exportMenuHeight &gt; p &amp;&amp; h.alignOptions.verticalAlign !== \"top\" ? b.bottom = p - c - v + \"px\" : b.top = c + k - v + \"px\";\n\t\t\tw(i, b);\n\t\t\td.openMenu = !0\n\t\t},\n\t\taddButton: function(a) {\n\t\t\tvar b = this,\n\t\t\t\te = b.renderer,\n\t\t\t\tc = l(b.options.navigation.buttonOptions, a),\n\t\t\t\tg = c.onclick,\n\t\t\t\tk = c.menuItems,\n\t\t\t\th, d, n = {\n\t\t\t\t\tstroke: c.symbolStroke,\n\t\t\t\t\tfill: c.symbolFill\n\t\t\t\t},\n\t\t\t\tj = c.symbolSize || 12;\n\t\t\tif (!b.btnCount) b.btnCount = 0;\n\t\t\tif (!b.exportDivElements) b.exportDivElements = [], b.exportSVGElements = [];\n\t\t\tif (c.enabled !== !1) {\n\t\t\t\tvar o = c.theme,\n\t\t\t\t\tp = o.states,\n\t\t\t\t\tm = p &amp;&amp; p.hover,\n\t\t\t\t\tp = p &amp;&amp; p.select,\n\t\t\t\t\ti;\n\t\t\t\tdelete o.states;\n\t\t\t\tg ? i = function(a) {\n\t\t\t\t\ta.stopPropagation();\n\t\t\t\t\tg.call(b, a)\n\t\t\t\t} : k &amp;&amp; (i = function() {\n\t\t\t\t\tb.contextMenu(d.menuClassName, k, d.translateX, d.translateY, d.width, d.height, d);\n\t\t\t\t\td.setState(2)\n\t\t\t\t});\n\t\t\t\tc.text &amp;&amp; c.symbol ? o.paddingLeft = f.pick(o.paddingLeft, 25) : c.text || q(o, {\n\t\t\t\t\twidth: c.width,\n\t\t\t\t\theight: c.height,\n\t\t\t\t\tpadding: 0\n\t\t\t\t});\n\t\t\t\td = e.button(c.text, 0, 0, i, o, m, p).attr({\n\t\t\t\t\ttitle: b.options.lang[c._titleKey],\n\t\t\t\t\t\"stroke-linecap\": \"round\",\n\t\t\t\t\tzIndex: 3\n\t\t\t\t});\n\t\t\t\td.menuClassName = a.menuClassName || \"highcharts-menu-\" + b.btnCount++;\n\t\t\t\tc.symbol &amp;&amp; (h = e.symbol(c.symbol, c.symbolX - j / 2, c.symbolY - j / 2, j, j).attr(q(n, {\n\t\t\t\t\t\"stroke-width\": c.symbolStrokeWidth || 1,\n\t\t\t\t\tzIndex: 1\n\t\t\t\t})).add(d));\n\t\t\t\td.add().align(q(c, {\n\t\t\t\t\twidth: d.width,\n\t\t\t\t\tx: f.pick(c.x, A)\n\t\t\t\t}), !0, \"spacingBox\");\n\t\t\t\tA += (d.width + c.buttonSpacing) * (c.align === \"right\" ? -1 : 1);\n\t\t\t\tb.exportSVGElements.push(d, h)\n\t\t\t}\n\t\t},\n\t\tdestroyExport: function(a) {\n\t\t\tvar a =\n\t\t\t\ta.target,\n\t\t\t\tb, e;\n\t\t\tfor (b = 0; b &lt; a.exportSVGElements.length; b++)\n\t\t\t\tif (e = a.exportSVGElements[b]) e.onclick = e.ontouchstart = null, a.exportSVGElements[b] = e.destroy();\n\t\t\tfor (b = 0; b &lt; a.exportDivElements.length; b++) e = a.exportDivElements[b], C(e, \"mouseleave\"), a.exportDivElements[b] = e.onmouseout = e.onmouseover = e.ontouchstart = e.onclick = null, t(e)\n\t\t}\n\t});\n\tI.menu = function(a, b, e, c) {\n\t\treturn [\"M\", a, b + 2.5, \"L\", a + e, b + 2.5, \"M\", a, b + c / 2 + 0.5, \"L\", a + e, b + c / 2 + 0.5, \"M\", a, b + c - 1.5, \"L\", a + e, b + c - 1.5]\n\t};\n\tB.prototype.callbacks.push(function(a) {\n\t\tvar b, e = a.options.exporting,\n\t\t\tc = e.buttons;\n\t\tA = 0;\n\t\tif (e.enabled !== !1) {\n\t\t\tfor (b in c) a.addButton(c[b]);\n\t\t\tu(a, \"destroy\", a.destroyExport)\n\t\t}\n\t})\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:58:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;85b3854bdbd53200f687dfea5e9619ab&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts Export&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_85b3854bdbd53200f687dfea5e9619ab&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:06:12&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>ac32f3f9dbdf3200b793f2b6ae9619bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>PE Highcharts Export</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5752058bdbd53200f687dfea5e9619f8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;PE Highcharts 5_0_5&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.5 (2016-11-29)\n \n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M, a) {\n\t\"object\" === typeof module &amp;&amp; module.exports ? module.exports = M.document ? a(M) : a : M.Highcharts = a(M)\n})(\"undefined\" !== typeof window ? window : this, function(M) {\n\tM = function() {\n\t\tvar a = window,\n\t\t\tE = a.document,\n\t\t\tA = a.navigator &amp;&amp; a.navigator.userAgent || \"\",\n\t\t\tF = E &amp;&amp; E.createElementNS &amp;&amp; !!E.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\").createSVGRect,\n\t\t\tH = /(edge|msie|trident)/i.test(A) &amp;&amp; !window.opera,\n\t\t\tp = !F,\n\t\t\td = /Firefox/.test(A),\n\t\t\tg = d &amp;&amp; 4 &gt; parseInt(A.split(\"Firefox/\")[1], 10);\n\t\treturn a.Highcharts ? a.Highcharts.error(16, !0) : {\n\t\t\tproduct: \"Highcharts\",\n\t\t\tversion: \"5.0.5\",\n\t\t\tdeg2rad: 2 * Math.PI / 360,\n\t\t\tdoc: E,\n\t\t\thasBidiBug: g,\n\t\t\thasTouch: E &amp;&amp; void 0 !== E.documentElement.ontouchstart,\n\t\t\tisMS: H,\n\t\t\tisWebKit: /AppleWebKit/.test(A),\n\t\t\tisFirefox: d,\n\t\t\tisTouchDevice: /(Mobile|Android|Windows Phone)/.test(A),\n\t\t\tSVG_NS: \"http://www.w3.org/2000/svg\",\n\t\t\tchartCount: 0,\n\t\t\tseriesTypes: {},\n\t\t\tsymbolSizes: {},\n\t\t\tsvg: F,\n\t\t\tvml: p,\n\t\t\twin: a,\n\t\t\tcharts: [],\n\t\t\tmarginNames: [\"plotTop\", \"marginRight\", \"marginBottom\", \"plotLeft\"],\n\t\t\tnoop: function() {}\n\t\t}\n\t}();\n\t(function(a) {\n\t\tvar E = [],\n\t\t\tA = a.charts,\n\t\t\tF = a.doc,\n\t\t\tH = a.win;\n\t\ta.error = function(a, d) {\n\t\t\ta = \"Highcharts error #\" +\n\t\t\t\ta + \": www.highcharts.com/errors/\" + a;\n\t\t\tif (d) throw Error(a);\n\t\t\tH.console &amp;&amp; console.log(a)\n\t\t};\n\t\ta.Fx = function(a, d, g) {\n\t\t\tthis.options = d;\n\t\t\tthis.elem = a;\n\t\t\tthis.prop = g\n\t\t};\n\t\ta.Fx.prototype = {\n\t\t\tdSetter: function() {\n\t\t\t\tvar a = this.paths[0],\n\t\t\t\t\td = this.paths[1],\n\t\t\t\t\tg = [],\n\t\t\t\t\tv = this.now,\n\t\t\t\t\tl = a.length,\n\t\t\t\t\tr;\n\t\t\t\tif (1 === v) g = this.toD;\n\t\t\t\telse if (l === d.length &amp;&amp; 1 &gt; v)\n\t\t\t\t\tfor (; l--;) r = parseFloat(a[l]), g[l] = isNaN(r) ? a[l] : v * parseFloat(d[l] - r) + r;\n\t\t\t\telse g = d;\n\t\t\t\tthis.elem.attr(\"d\", g, null, !0)\n\t\t\t},\n\t\t\tupdate: function() {\n\t\t\t\tvar a = this.elem,\n\t\t\t\t\td = this.prop,\n\t\t\t\t\tg = this.now,\n\t\t\t\t\tv = this.options.step;\n\t\t\t\tif (this[d + \"Setter\"]) this[d +\n\t\t\t\t\t\"Setter\"]();\n\t\t\t\telse a.attr ? a.element &amp;&amp; a.attr(d, g, null, !0) : a.style[d] = g + this.unit;\n\t\t\t\tv &amp;&amp; v.call(a, g, this)\n\t\t\t},\n\t\t\trun: function(a, d, g) {\n\t\t\t\tvar p = this,\n\t\t\t\t\tl = function(a) {\n\t\t\t\t\t\treturn l.stopped ? !1 : p.step(a)\n\t\t\t\t\t},\n\t\t\t\t\tr;\n\t\t\t\tthis.startTime = +new Date;\n\t\t\t\tthis.start = a;\n\t\t\t\tthis.end = d;\n\t\t\t\tthis.unit = g;\n\t\t\t\tthis.now = this.start;\n\t\t\t\tthis.pos = 0;\n\t\t\t\tl.elem = this.elem;\n\t\t\t\tl.prop = this.prop;\n\t\t\t\tl() &amp;&amp; 1 === E.push(l) &amp;&amp; (l.timerId = setInterval(function() {\n\t\t\t\t\tfor (r = 0; r &lt; E.length; r++) E[r]() || E.splice(r--, 1);\n\t\t\t\t\tE.length || clearInterval(l.timerId)\n\t\t\t\t}, 13))\n\t\t\t},\n\t\t\tstep: function(a) {\n\t\t\t\tvar d = +new Date,\n\t\t\t\t\tg, p = this.options;\n\t\t\t\tg = this.elem;\n\t\t\t\tvar l = p.complete,\n\t\t\t\t\tr = p.duration,\n\t\t\t\t\tf = p.curAnim,\n\t\t\t\t\tb;\n\t\t\t\tif (g.attr &amp;&amp; !g.element) g = !1;\n\t\t\t\telse if (a || d &gt;= r + this.startTime) {\n\t\t\t\t\tthis.now = this.end;\n\t\t\t\t\tthis.pos = 1;\n\t\t\t\t\tthis.update();\n\t\t\t\t\ta = f[this.prop] = !0;\n\t\t\t\t\tfor (b in f) !0 !== f[b] &amp;&amp; (a = !1);\n\t\t\t\t\ta &amp;&amp; l &amp;&amp; l.call(g);\n\t\t\t\t\tg = !1\n\t\t\t\t} else this.pos = p.easing((d - this.startTime) / r), this.now = this.start + (this.end - this.start) * this.pos, this.update(), g = !0;\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tinitPath: function(a, d, g) {\n\t\t\t\tfunction p(a) {\n\t\t\t\t\tvar c, e;\n\t\t\t\t\tfor (h = a.length; h--;) c = \"M\" === a[h] || \"L\" === a[h], e = /[a-zA-Z]/.test(a[h + 3]), c &amp;&amp; e &amp;&amp; a.splice(h + 1, 0, a[h + 1], a[h + 2], a[h + 1], a[h +\n\t\t\t\t\t\t2])\n\t\t\t\t}\n\n\t\t\t\tfunction l(a, c) {\n\t\t\t\t\tfor (; a.length &lt; k;) {\n\t\t\t\t\t\ta[0] = c[k - a.length];\n\t\t\t\t\t\tvar e = a.slice(0, t);\n\t\t\t\t\t\t[].splice.apply(a, [0, 0].concat(e));\n\t\t\t\t\t\tC &amp;&amp; (e = a.slice(a.length - t), [].splice.apply(a, [a.length, 0].concat(e)), h--)\n\t\t\t\t\t}\n\t\t\t\t\ta[0] = \"M\"\n\t\t\t\t}\n\n\t\t\t\tfunction r(a, c) {\n\t\t\t\t\tfor (var b = (k - a.length) / t; 0 &lt; b &amp;&amp; b--;) e = a.slice().splice(a.length / u - t, t * u), e[0] = c[k - t - b * t], w &amp;&amp; (e[t - 6] = e[t - 2], e[t - 5] = e[t - 1]), [].splice.apply(a, [a.length / u, 0].concat(e)), C &amp;&amp; b--\n\t\t\t\t}\n\t\t\t\td = d || \"\";\n\t\t\t\tvar f, b = a.startX,\n\t\t\t\t\tn = a.endX,\n\t\t\t\t\tw = -1 &lt; d.indexOf(\"C\"),\n\t\t\t\t\tt = w ? 7 : 3,\n\t\t\t\t\tk, e, h;\n\t\t\t\td = d.split(\" \");\n\t\t\t\tg = g.slice();\n\t\t\t\tvar C = a.isArea,\n\t\t\t\t\tu = C ? 2 : 1,\n\t\t\t\t\tc;\n\t\t\t\tw &amp;&amp; (p(d), p(g));\n\t\t\t\tif (b &amp;&amp; n) {\n\t\t\t\t\tfor (h = 0; h &lt; b.length; h++)\n\t\t\t\t\t\tif (b[h] === n[0]) {\n\t\t\t\t\t\t\tf = h;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else if (b[0] === n[n.length - b.length + h]) {\n\t\t\t\t\t\tf = h;\n\t\t\t\t\t\tc = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tvoid 0 === f &amp;&amp; (d = [])\n\t\t\t\t}\n\t\t\t\td.length &amp;&amp; (k = g.length + (f || 0) * u * t, c ? (l(d, g), r(g, d)) : (l(g, d), r(d, g)));\n\t\t\t\treturn [d, g]\n\t\t\t}\n\t\t};\n\t\ta.extend = function(a, d) {\n\t\t\tvar g;\n\t\t\ta || (a = {});\n\t\t\tfor (g in d) a[g] = d[g];\n\t\t\treturn a\n\t\t};\n\t\ta.merge = function() {\n\t\t\tvar p, d = arguments,\n\t\t\t\tg, v = {},\n\t\t\t\tl = function(d, f) {\n\t\t\t\t\tvar b, n;\n\t\t\t\t\t\"object\" !== typeof d &amp;&amp; (d = {});\n\t\t\t\t\tfor (n in f) f.hasOwnProperty(n) &amp;&amp; (b = f[n], a.isObject(b, !0) &amp;&amp; \"renderTo\" !== n &amp;&amp; \"number\" !== typeof b.nodeType ? d[n] =\n\t\t\t\t\t\tl(d[n] || {}, b) : d[n] = f[n]);\n\t\t\t\t\treturn d\n\t\t\t\t};\n\t\t\t!0 === d[0] &amp;&amp; (v = d[1], d = Array.prototype.slice.call(d, 2));\n\t\t\tg = d.length;\n\t\t\tfor (p = 0; p &lt; g; p++) v = l(v, d[p]);\n\t\t\treturn v\n\t\t};\n\t\ta.pInt = function(a, d) {\n\t\t\treturn parseInt(a, d || 10)\n\t\t};\n\t\ta.isString = function(a) {\n\t\t\treturn \"string\" === typeof a\n\t\t};\n\t\ta.isArray = function(a) {\n\t\t\ta = Object.prototype.toString.call(a);\n\t\t\treturn \"[object Array]\" === a || \"[object Array Iterator]\" === a\n\t\t};\n\t\ta.isObject = function(p, d) {\n\t\t\treturn p &amp;&amp; \"object\" === typeof p &amp;&amp; (!d || !a.isArray(p))\n\t\t};\n\t\ta.isNumber = function(a) {\n\t\t\treturn \"number\" === typeof a &amp;&amp; !isNaN(a)\n\t\t};\n\t\ta.erase = function(a,\n\t\t\td) {\n\t\t\tfor (var g = a.length; g--;)\n\t\t\t\tif (a[g] === d) {\n\t\t\t\t\ta.splice(g, 1);\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t};\n\t\ta.defined = function(a) {\n\t\t\treturn void 0 !== a &amp;&amp; null !== a\n\t\t};\n\t\ta.attr = function(p, d, g) {\n\t\t\tvar v, l;\n\t\t\tif (a.isString(d)) a.defined(g) ? p.setAttribute(d, g) : p &amp;&amp; p.getAttribute &amp;&amp; (l = p.getAttribute(d));\n\t\t\telse if (a.defined(d) &amp;&amp; a.isObject(d))\n\t\t\t\tfor (v in d) p.setAttribute(v, d[v]);\n\t\t\treturn l\n\t\t};\n\t\ta.splat = function(p) {\n\t\t\treturn a.isArray(p) ? p : [p]\n\t\t};\n\t\ta.syncTimeout = function(a, d, g) {\n\t\t\tif (d) return setTimeout(a, d, g);\n\t\t\ta.call(0, g)\n\t\t};\n\t\ta.pick = function() {\n\t\t\tvar a = arguments,\n\t\t\t\td, g, v = a.length;\n\t\t\tfor (d = 0; d &lt; v; d++)\n\t\t\t\tif (g =\n\t\t\t\t\ta[d], void 0 !== g &amp;&amp; null !== g) return g\n\t\t};\n\t\ta.css = function(p, d) {\n\t\t\ta.isMS &amp;&amp; !a.svg &amp;&amp; d &amp;&amp; void 0 !== d.opacity &amp;&amp; (d.filter = \"alpha(opacity\\x3d\" + 100 * d.opacity + \")\");\n\t\t\ta.extend(p.style, d)\n\t\t};\n\t\ta.createElement = function(p, d, g, v, l) {\n\t\t\tp = F.createElement(p);\n\t\t\tvar r = a.css;\n\t\t\td &amp;&amp; a.extend(p, d);\n\t\t\tl &amp;&amp; r(p, {\n\t\t\t\tpadding: 0,\n\t\t\t\tborder: \"none\",\n\t\t\t\tmargin: 0\n\t\t\t});\n\t\t\tg &amp;&amp; r(p, g);\n\t\t\tv &amp;&amp; v.appendChild(p);\n\t\t\treturn p\n\t\t};\n\t\ta.extendClass = function(p, d) {\n\t\t\tvar g = function() {};\n\t\t\tg.prototype = new p;\n\t\t\ta.extend(g.prototype, d);\n\t\t\treturn g\n\t\t};\n\t\ta.pad = function(a, d, g) {\n\t\t\treturn Array((d || 2) + 1 - String(a).length).join(g ||\n\t\t\t\t0) + a\n\t\t};\n\t\ta.relativeLength = function(a, d) {\n\t\t\treturn /%$/.test(a) ? d * parseFloat(a) / 100 : parseFloat(a)\n\t\t};\n\t\ta.wrap = function(a, d, g) {\n\t\t\tvar p = a[d];\n\t\t\ta[d] = function() {\n\t\t\t\tvar a = Array.prototype.slice.call(arguments),\n\t\t\t\t\td = arguments,\n\t\t\t\t\tf = this;\n\t\t\t\tf.proceed = function() {\n\t\t\t\t\tp.apply(f, arguments.length ? arguments : d)\n\t\t\t\t};\n\t\t\t\ta.unshift(p);\n\t\t\t\ta = g.apply(this, a);\n\t\t\t\tf.proceed = null;\n\t\t\t\treturn a\n\t\t\t}\n\t\t};\n\t\ta.getTZOffset = function(p) {\n\t\t\tvar d = a.Date;\n\t\t\treturn 6E4 * (d.hcGetTimezoneOffset &amp;&amp; d.hcGetTimezoneOffset(p) || d.hcTimezoneOffset || 0)\n\t\t};\n\t\ta.dateFormat = function(p, d, g) {\n\t\t\tif (!a.defined(d) || isNaN(d)) return a.defaultOptions.lang.invalidDate ||\n\t\t\t\t\"\";\n\t\t\tp = a.pick(p, \"%Y-%m-%d %H:%M:%S\");\n\t\t\tvar v = a.Date,\n\t\t\t\tl = new v(d - a.getTZOffset(d)),\n\t\t\t\tr, f = l[v.hcGetHours](),\n\t\t\t\tb = l[v.hcGetDay](),\n\t\t\t\tn = l[v.hcGetDate](),\n\t\t\t\tw = l[v.hcGetMonth](),\n\t\t\t\tt = l[v.hcGetFullYear](),\n\t\t\t\tk = a.defaultOptions.lang,\n\t\t\t\te = k.weekdays,\n\t\t\t\th = k.shortWeekdays,\n\t\t\t\tC = a.pad,\n\t\t\t\tv = a.extend({\n\t\t\t\t\ta: h ? h[b] : e[b].substr(0, 3),\n\t\t\t\t\tA: e[b],\n\t\t\t\t\td: C(n),\n\t\t\t\t\te: C(n, 2, \" \"),\n\t\t\t\t\tw: b,\n\t\t\t\t\tb: k.shortMonths[w],\n\t\t\t\t\tB: k.months[w],\n\t\t\t\t\tm: C(w + 1),\n\t\t\t\t\ty: t.toString().substr(2, 2),\n\t\t\t\t\tY: t,\n\t\t\t\t\tH: C(f),\n\t\t\t\t\tk: f,\n\t\t\t\t\tI: C(f % 12 || 12),\n\t\t\t\t\tl: f % 12 || 12,\n\t\t\t\t\tM: C(l[v.hcGetMinutes]()),\n\t\t\t\t\tp: 12 &gt; f ? \"AM\" : \"PM\",\n\t\t\t\t\tP: 12 &gt; f ? \"am\" : \"pm\",\n\t\t\t\t\tS: C(l.getSeconds()),\n\t\t\t\t\tL: C(Math.round(d %\n\t\t\t\t\t\t1E3), 3)\n\t\t\t\t}, a.dateFormats);\n\t\t\tfor (r in v)\n\t\t\t\tfor (; - 1 !== p.indexOf(\"%\" + r);) p = p.replace(\"%\" + r, \"function\" === typeof v[r] ? v[r](d) : v[r]);\n\t\t\treturn g ? p.substr(0, 1).toUpperCase() + p.substr(1) : p\n\t\t};\n\t\ta.formatSingle = function(p, d) {\n\t\t\tvar g = /\\.([0-9])/,\n\t\t\t\tv = a.defaultOptions.lang;\n\t\t\t/f$/.test(p) ? (g = (g = p.match(g)) ? g[1] : -1, null !== d &amp;&amp; (d = a.numberFormat(d, g, v.decimalPoint, -1 &lt; p.indexOf(\",\") ? v.thousandsSep : \"\"))) : d = a.dateFormat(p, d);\n\t\t\treturn d\n\t\t};\n\t\ta.format = function(p, d) {\n\t\t\tfor (var g = \"{\", v = !1, l, r, f, b, n = [], w; p;) {\n\t\t\t\tg = p.indexOf(g);\n\t\t\t\tif (-1 === g) break;\n\t\t\t\tl = p.slice(0,\n\t\t\t\t\tg);\n\t\t\t\tif (v) {\n\t\t\t\t\tl = l.split(\":\");\n\t\t\t\t\tr = l.shift().split(\".\");\n\t\t\t\t\tb = r.length;\n\t\t\t\t\tw = d;\n\t\t\t\t\tfor (f = 0; f &lt; b; f++) w = w[r[f]];\n\t\t\t\t\tl.length &amp;&amp; (w = a.formatSingle(l.join(\":\"), w));\n\t\t\t\t\tn.push(w)\n\t\t\t\t} else n.push(l);\n\t\t\t\tp = p.slice(g + 1);\n\t\t\t\tg = (v = !v) ? \"}\" : \"{\"\n\t\t\t}\n\t\t\tn.push(p);\n\t\t\treturn n.join(\"\")\n\t\t};\n\t\ta.getMagnitude = function(a) {\n\t\t\treturn Math.pow(10, Math.floor(Math.log(a) / Math.LN10))\n\t\t};\n\t\ta.normalizeTickInterval = function(p, d, g, v, l) {\n\t\t\tvar r, f = p;\n\t\t\tg = a.pick(g, 1);\n\t\t\tr = p / g;\n\t\t\td || (d = l ? [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] : [1, 2, 2.5, 5, 10], !1 === v &amp;&amp; (1 === g ? d = a.grep(d, function(a) {\n\t\t\t\treturn 0 === a % 1\n\t\t\t}) : .1 &gt;= g &amp;&amp; (d = [1 / g])));\n\t\t\tfor (v = 0; v &lt; d.length &amp;&amp; !(f = d[v], l &amp;&amp; f * g &gt;= p || !l &amp;&amp; r &lt;= (d[v] + (d[v + 1] || d[v])) / 2); v++);\n\t\t\treturn f * g\n\t\t};\n\t\ta.stableSort = function(a, d) {\n\t\t\tvar g = a.length,\n\t\t\t\tp, l;\n\t\t\tfor (l = 0; l &lt; g; l++) a[l].safeI = l;\n\t\t\ta.sort(function(a, f) {\n\t\t\t\tp = d(a, f);\n\t\t\t\treturn 0 === p ? a.safeI - f.safeI : p\n\t\t\t});\n\t\t\tfor (l = 0; l &lt; g; l++) delete a[l].safeI\n\t\t};\n\t\ta.arrayMin = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &lt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.arrayMax = function(a) {\n\t\t\tfor (var d = a.length, g = a[0]; d--;) a[d] &gt; g &amp;&amp; (g = a[d]);\n\t\t\treturn g\n\t\t};\n\t\ta.destroyObjectProperties = function(a, d) {\n\t\t\tfor (var g in a) a[g] &amp;&amp; a[g] !== d &amp;&amp; a[g].destroy &amp;&amp;\n\t\t\t\ta[g].destroy(), delete a[g]\n\t\t};\n\t\ta.discardElement = function(p) {\n\t\t\tvar d = a.garbageBin;\n\t\t\td || (d = a.createElement(\"div\"));\n\t\t\tp &amp;&amp; d.appendChild(p);\n\t\t\td.innerHTML = \"\"\n\t\t};\n\t\ta.correctFloat = function(a, d) {\n\t\t\treturn parseFloat(a.toPrecision(d || 14))\n\t\t};\n\t\ta.setAnimation = function(p, d) {\n\t\t\td.renderer.globalAnimation = a.pick(p, d.options.chart.animation, !0)\n\t\t};\n\t\ta.animObject = function(p) {\n\t\t\treturn a.isObject(p) ? a.merge(p) : {\n\t\t\t\tduration: p ? 500 : 0\n\t\t\t}\n\t\t};\n\t\ta.timeUnits = {\n\t\t\tmillisecond: 1,\n\t\t\tsecond: 1E3,\n\t\t\tminute: 6E4,\n\t\t\thour: 36E5,\n\t\t\tday: 864E5,\n\t\t\tweek: 6048E5,\n\t\t\tmonth: 24192E5,\n\t\t\tyear: 314496E5\n\t\t};\n\t\ta.numberFormat =\n\t\t\tfunction(p, d, g, v) {\n\t\t\t\tp = +p || 0;\n\t\t\t\td = +d;\n\t\t\t\tvar l = a.defaultOptions.lang,\n\t\t\t\t\tr = (p.toString().split(\".\")[1] || \"\").length,\n\t\t\t\t\tf, b, n = Math.abs(p); - 1 === d ? d = Math.min(r, 20) : a.isNumber(d) || (d = 2);\n\t\t\t\tf = String(a.pInt(n.toFixed(d)));\n\t\t\t\tb = 3 &lt; f.length ? f.length % 3 : 0;\n\t\t\t\tg = a.pick(g, l.decimalPoint);\n\t\t\t\tv = a.pick(v, l.thousandsSep);\n\t\t\t\tp = (0 &gt; p ? \"-\" : \"\") + (b ? f.substr(0, b) + v : \"\");\n\t\t\t\tp += f.substr(b).replace(/(\\d{3})(?=\\d)/g, \"$1\" + v);\n\t\t\t\td &amp;&amp; (v = Math.abs(n - f + Math.pow(10, -Math.max(d, r) - 1)), p += g + v.toFixed(d).slice(2));\n\t\t\t\treturn p\n\t\t\t};\n\t\tMath.easeInOutSine = function(a) {\n\t\t\treturn -.5 * (Math.cos(Math.PI *\n\t\t\t\ta) - 1)\n\t\t};\n\t\ta.getStyle = function(p, d) {\n\t\t\treturn \"width\" === d ? Math.min(p.offsetWidth, p.scrollWidth) - a.getStyle(p, \"padding-left\") - a.getStyle(p, \"padding-right\") : \"height\" === d ? Math.min(p.offsetHeight, p.scrollHeight) - a.getStyle(p, \"padding-top\") - a.getStyle(p, \"padding-bottom\") : (p = H.getComputedStyle(p, void 0)) &amp;&amp; a.pInt(p.getPropertyValue(d))\n\t\t};\n\t\ta.inArray = function(a, d) {\n\t\t\treturn d.indexOf ? d.indexOf(a) : [].indexOf.call(d, a)\n\t\t};\n\t\ta.grep = function(a, d) {\n\t\t\treturn [].filter.call(a, d)\n\t\t};\n\t\ta.map = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) g[v] =\n\t\t\t\td.call(a[v], a[v], v, a);\n\t\t\treturn g\n\t\t};\n\t\ta.offset = function(a) {\n\t\t\tvar d = F.documentElement;\n\t\t\ta = a.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\ttop: a.top + (H.pageYOffset || d.scrollTop) - (d.clientTop || 0),\n\t\t\t\tleft: a.left + (H.pageXOffset || d.scrollLeft) - (d.clientLeft || 0)\n\t\t\t}\n\t\t};\n\t\ta.stop = function(a, d) {\n\t\t\tfor (var g = E.length; g--;) E[g].elem !== a || d &amp;&amp; d !== E[g].prop || (E[g].stopped = !0)\n\t\t};\n\t\ta.each = function(a, d, g) {\n\t\t\treturn Array.prototype.forEach.call(a, d, g)\n\t\t};\n\t\ta.addEvent = function(p, d, g) {\n\t\t\tfunction v(a) {\n\t\t\t\ta.target = a.srcElement || H;\n\t\t\t\tg.call(p, a)\n\t\t\t}\n\t\t\tvar l = p.hcEvents = p.hcEvents || {};\n\t\t\tp.addEventListener ? p.addEventListener(d, g, !1) : p.attachEvent &amp;&amp; (p.hcEventsIE || (p.hcEventsIE = {}), p.hcEventsIE[g.toString()] = v, p.attachEvent(\"on\" + d, v));\n\t\t\tl[d] || (l[d] = []);\n\t\t\tl[d].push(g);\n\t\t\treturn function() {\n\t\t\t\ta.removeEvent(p, d, g)\n\t\t\t}\n\t\t};\n\t\ta.removeEvent = function(p, d, g) {\n\t\t\tfunction v(a, b) {\n\t\t\t\tp.removeEventListener ? p.removeEventListener(a, b, !1) : p.attachEvent &amp;&amp; (b = p.hcEventsIE[b.toString()], p.detachEvent(\"on\" + a, b))\n\t\t\t}\n\n\t\t\tfunction l() {\n\t\t\t\tvar a, b;\n\t\t\t\tif (p.nodeName)\n\t\t\t\t\tfor (b in d ? (a = {}, a[d] = !0) : a = f, a)\n\t\t\t\t\t\tif (f[b])\n\t\t\t\t\t\t\tfor (a = f[b].length; a--;) v(b, f[b][a])\n\t\t\t}\n\t\t\tvar r,\n\t\t\t\tf = p.hcEvents,\n\t\t\t\tb;\n\t\t\tf &amp;&amp; (d ? (r = f[d] || [], g ? (b = a.inArray(g, r), -1 &lt; b &amp;&amp; (r.splice(b, 1), f[d] = r), v(d, g)) : (l(), f[d] = [])) : (l(), p.hcEvents = {}))\n\t\t};\n\t\ta.fireEvent = function(p, d, g, v) {\n\t\t\tvar l;\n\t\t\tl = p.hcEvents;\n\t\t\tvar r, f;\n\t\t\tg = g || {};\n\t\t\tif (F.createEvent &amp;&amp; (p.dispatchEvent || p.fireEvent)) l = F.createEvent(\"Events\"), l.initEvent(d, !0, !0), a.extend(l, g), p.dispatchEvent ? p.dispatchEvent(l) : p.fireEvent(d, l);\n\t\t\telse if (l)\n\t\t\t\tfor (l = l[d] || [], r = l.length, g.target || a.extend(g, {\n\t\t\t\t\t\tpreventDefault: function() {\n\t\t\t\t\t\t\tg.defaultPrevented = !0\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttarget: p,\n\t\t\t\t\t\ttype: d\n\t\t\t\t\t}), d = 0; d &lt; r; d++)(f = l[d]) &amp;&amp;\n\t\t\t\t\t!1 === f.call(p, g) &amp;&amp; g.preventDefault();\n\t\t\tv &amp;&amp; !g.defaultPrevented &amp;&amp; v(g)\n\t\t};\n\t\ta.animate = function(p, d, g) {\n\t\t\tvar v, l = \"\",\n\t\t\t\tr, f, b;\n\t\t\ta.isObject(g) || (v = arguments, g = {\n\t\t\t\tduration: v[2],\n\t\t\t\teasing: v[3],\n\t\t\t\tcomplete: v[4]\n\t\t\t});\n\t\t\ta.isNumber(g.duration) || (g.duration = 400);\n\t\t\tg.easing = \"function\" === typeof g.easing ? g.easing : Math[g.easing] || Math.easeInOutSine;\n\t\t\tg.curAnim = a.merge(d);\n\t\t\tfor (b in d) a.stop(p, b), f = new a.Fx(p, g, b), r = null, \"d\" === b ? (f.paths = f.initPath(p, p.d, d.d), f.toD = d.d, v = 0, r = 1) : p.attr ? v = p.attr(b) : (v = parseFloat(a.getStyle(p, b)) || 0, \"opacity\" !== b &amp;&amp;\n\t\t\t\t(l = \"px\")), r || (r = d[b]), r.match &amp;&amp; r.match(\"px\") &amp;&amp; (r = r.replace(/px/g, \"\")), f.run(v, r, l)\n\t\t};\n\t\ta.seriesType = function(p, d, g, v, l) {\n\t\t\tvar r = a.getOptions(),\n\t\t\t\tf = a.seriesTypes;\n\t\t\tr.plotOptions[p] = a.merge(r.plotOptions[d], g);\n\t\t\tf[p] = a.extendClass(f[d] || function() {}, v);\n\t\t\tf[p].prototype.type = p;\n\t\t\tl &amp;&amp; (f[p].prototype.pointClass = a.extendClass(a.Point, l));\n\t\t\treturn f[p]\n\t\t};\n\t\ta.uniqueKey = function() {\n\t\t\tvar a = Math.random().toString(36).substring(2, 9),\n\t\t\t\td = 0;\n\t\t\treturn function() {\n\t\t\t\treturn \"highcharts-\" + a + \"-\" + d++\n\t\t\t}\n\t\t}();\n\t\tH.jQuery &amp;&amp; (H.jQuery.fn.highcharts = function() {\n\t\t\tvar p = [].slice.call(arguments);\n\t\t\tif (this[0]) return p[0] ? (new(a[a.isString(p[0]) ? p.shift() : \"Chart\"])(this[0], p[0], p[1]), this) : A[a.attr(this[0], \"data-highcharts-chart\")]\n\t\t});\n\t\tF &amp;&amp; !F.defaultView &amp;&amp; (a.getStyle = function(p, d) {\n\t\t\tvar g = {\n\t\t\t\twidth: \"clientWidth\",\n\t\t\t\theight: \"clientHeight\"\n\t\t\t}[d];\n\t\t\tif (p.style[d]) return a.pInt(p.style[d]);\n\t\t\t\"opacity\" === d &amp;&amp; (d = \"filter\");\n\t\t\tif (g) return p.style.zoom = 1, Math.max(p[g] - 2 * a.getStyle(p, \"padding\"), 0);\n\t\t\tp = p.currentStyle[d.replace(/\\-(\\w)/g, function(a, l) {\n\t\t\t\treturn l.toUpperCase()\n\t\t\t})];\n\t\t\t\"filter\" === d &amp;&amp; (p = p.replace(/alpha\\(opacity=([0-9]+)\\)/,\n\t\t\t\tfunction(a, l) {\n\t\t\t\t\treturn l / 100\n\t\t\t\t}));\n\t\t\treturn \"\" === p ? 1 : a.pInt(p)\n\t\t});\n\t\tArray.prototype.forEach || (a.each = function(a, d, g) {\n\t\t\tfor (var v = 0, l = a.length; v &lt; l; v++)\n\t\t\t\tif (!1 === d.call(g, a[v], v, a)) return v\n\t\t});\n\t\tArray.prototype.indexOf || (a.inArray = function(a, d) {\n\t\t\tvar g, v = 0;\n\t\t\tif (d)\n\t\t\t\tfor (g = d.length; v &lt; g; v++)\n\t\t\t\t\tif (d[v] === a) return v;\n\t\t\treturn -1\n\t\t});\n\t\tArray.prototype.filter || (a.grep = function(a, d) {\n\t\t\tfor (var g = [], v = 0, l = a.length; v &lt; l; v++) d(a[v], v) &amp;&amp; g.push(a[v]);\n\t\t\treturn g\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.each,\n\t\t\tA = a.isNumber,\n\t\t\tF = a.map,\n\t\t\tH = a.merge,\n\t\t\tp = a.pInt;\n\t\ta.Color = function(d) {\n\t\t\tif (!(this instanceof a.Color)) return new a.Color(d);\n\t\t\tthis.init(d)\n\t\t};\n\t\ta.Color.prototype = {\n\t\t\tparsers: [{\n\t\t\t\tregex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), parseFloat(a[4], 10)]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1], 16), p(a[2], 16), p(a[3], 16), 1]\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tregex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n\t\t\t\tparse: function(a) {\n\t\t\t\t\treturn [p(a[1]), p(a[2]), p(a[3]), 1]\n\t\t\t\t}\n\t\t\t}],\n\t\t\tnames: {\n\t\t\t\twhite: \"#ffffff\",\n\t\t\t\tblack: \"#000000\"\n\t\t\t},\n\t\t\tinit: function(d) {\n\t\t\t\tvar g, v, l, r;\n\t\t\t\tif ((this.input = d = this.names[d] || d) &amp;&amp; d.stops) this.stops = F(d.stops, function(f) {\n\t\t\t\t\treturn new a.Color(f[1])\n\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tfor (l = this.parsers.length; l-- &amp;&amp; !v;) r = this.parsers[l], (g = r.regex.exec(d)) &amp;&amp; (v = r.parse(g));\n\t\t\t\tthis.rgba = v || []\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar g = this.input,\n\t\t\t\t\td = this.rgba,\n\t\t\t\t\tl;\n\t\t\t\tthis.stops ? (l = H(g), l.stops = [].concat(l.stops), E(this.stops, function(d, f) {\n\t\t\t\t\t\tl.stops[f] = [l.stops[f][0], d.get(a)]\n\t\t\t\t\t})) : l = d &amp;&amp; A(d[0]) ? \"rgb\" === a || !a &amp;&amp; 1 === d[3] ? \"rgb(\" + d[0] + \",\" + d[1] + \",\" + d[2] + \")\" : \"a\" === a ? d[3] :\n\t\t\t\t\t\"rgba(\" + d.join(\",\") + \")\" : g;\n\t\t\t\treturn l\n\t\t\t},\n\t\t\tbrighten: function(a) {\n\t\t\t\tvar d, v = this.rgba;\n\t\t\t\tif (this.stops) E(this.stops, function(l) {\n\t\t\t\t\tl.brighten(a)\n\t\t\t\t});\n\t\t\t\telse if (A(a) &amp;&amp; 0 !== a)\n\t\t\t\t\tfor (d = 0; 3 &gt; d; d++) v[d] += p(255 * a), 0 &gt; v[d] &amp;&amp; (v[d] = 0), 255 &lt; v[d] &amp;&amp; (v[d] = 255);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetOpacity: function(a) {\n\t\t\t\tthis.rgba[3] = a;\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\ta.color = function(d) {\n\t\t\treturn new a.Color(d)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.addEvent,\n\t\t\tH = a.animate,\n\t\t\tp = a.attr,\n\t\t\td = a.charts,\n\t\t\tg = a.color,\n\t\t\tv = a.css,\n\t\t\tl = a.createElement,\n\t\t\tr = a.defined,\n\t\t\tf = a.deg2rad,\n\t\t\tb = a.destroyObjectProperties,\n\t\t\tn = a.doc,\n\t\t\tw = a.each,\n\t\t\tt = a.extend,\n\t\t\tk = a.erase,\n\t\t\te = a.grep,\n\t\t\th = a.hasTouch,\n\t\t\tC = a.isArray,\n\t\t\tu = a.isFirefox,\n\t\t\tc = a.isMS,\n\t\t\tq = a.isObject,\n\t\t\tx = a.isString,\n\t\t\tK = a.isWebKit,\n\t\t\tI = a.merge,\n\t\t\tJ = a.noop,\n\t\t\tD = a.pick,\n\t\t\tG = a.pInt,\n\t\t\tL = a.removeEvent,\n\t\t\tN = a.stop,\n\t\t\tm = a.svg,\n\t\t\tz = a.SVG_NS,\n\t\t\tO = a.symbolSizes,\n\t\t\tP = a.win;\n\t\tE = a.SVGElement = function() {\n\t\t\treturn this\n\t\t};\n\t\tE.prototype = {\n\t\t\topacity: 1,\n\t\t\tSVG_NS: z,\n\t\t\ttextProps: \"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textDecoration textOverflow textOutline\".split(\" \"),\n\t\t\tinit: function(a, B) {\n\t\t\t\tthis.element = \"span\" === B ? l(B) : n.createElementNS(this.SVG_NS,\n\t\t\t\t\tB);\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tanimate: function(a, B, c) {\n\t\t\t\t(B = D(B, this.renderer.globalAnimation, !0)) ? (c &amp;&amp; (B.complete = c), H(this, a, B)) : this.attr(a, null, c);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcolorGradient: function(y, B, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\tb, e, z, q, k, Q, h, f, x, n, t, u = [],\n\t\t\t\t\tD;\n\t\t\t\ty.linearGradient ? e = \"linearGradient\" : y.radialGradient &amp;&amp; (e = \"radialGradient\");\n\t\t\t\tif (e) {\n\t\t\t\t\tz = y[e];\n\t\t\t\t\tk = m.gradients;\n\t\t\t\t\th = y.stops;\n\t\t\t\t\tn = c.radialReference;\n\t\t\t\t\tC(z) &amp;&amp; (y[e] = z = {\n\t\t\t\t\t\tx1: z[0],\n\t\t\t\t\t\ty1: z[1],\n\t\t\t\t\t\tx2: z[2],\n\t\t\t\t\t\ty2: z[3],\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t});\n\t\t\t\t\t\"radialGradient\" === e &amp;&amp; n &amp;&amp; !r(z.gradientUnits) &amp;&amp; (q = z, z = I(z, m.getRadialAttr(n,\n\t\t\t\t\t\tq), {\n\t\t\t\t\t\tgradientUnits: \"userSpaceOnUse\"\n\t\t\t\t\t}));\n\t\t\t\t\tfor (t in z) \"id\" !== t &amp;&amp; u.push(t, z[t]);\n\t\t\t\t\tfor (t in h) u.push(h[t]);\n\t\t\t\t\tu = u.join(\",\");\n\t\t\t\t\tk[u] ? n = k[u].attr(\"id\") : (z.id = n = a.uniqueKey(), k[u] = Q = m.createElement(e).attr(z).add(m.defs), Q.radAttr = q, Q.stops = [], w(h, function(y) {\n\t\t\t\t\t\t0 === y[1].indexOf(\"rgba\") ? (b = a.color(y[1]), f = b.get(\"rgb\"), x = b.get(\"a\")) : (f = y[1], x = 1);\n\t\t\t\t\t\ty = m.createElement(\"stop\").attr({\n\t\t\t\t\t\t\toffset: y[0],\n\t\t\t\t\t\t\t\"stop-color\": f,\n\t\t\t\t\t\t\t\"stop-opacity\": x\n\t\t\t\t\t\t}).add(Q);\n\t\t\t\t\t\tQ.stops.push(y)\n\t\t\t\t\t}));\n\t\t\t\t\tD = \"url(\" + m.url + \"#\" + n + \")\";\n\t\t\t\t\tc.setAttribute(B, D);\n\t\t\t\t\tc.gradient = u;\n\t\t\t\t\ty.toString = function() {\n\t\t\t\t\t\treturn D\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyTextOutline: function(a) {\n\t\t\t\tvar y = this.element,\n\t\t\t\t\tc, m, b; - 1 !== a.indexOf(\"contrast\") &amp;&amp; (a = a.replace(/contrast/g, this.renderer.getContrast(y.style.fill)));\n\t\t\t\tthis.fakeTS = !0;\n\t\t\t\tthis.ySetter = this.xSetter;\n\t\t\t\tc = [].slice.call(y.getElementsByTagName(\"tspan\"));\n\t\t\t\ta = a.split(\" \");\n\t\t\t\tm = a[a.length - 1];\n\t\t\t\t(b = a[0]) &amp;&amp; \"none\" !== b &amp;&amp; (b = b.replace(/(^[\\d\\.]+)(.*?)$/g, function(a, y, B) {\n\t\t\t\t\treturn 2 * y + B\n\t\t\t\t}), w(c, function(a) {\n\t\t\t\t\t\"highcharts-text-outline\" === a.getAttribute(\"class\") &amp;&amp; k(c, y.removeChild(a))\n\t\t\t\t}), w(c, function(a, B) {\n\t\t\t\t\t0 === B &amp;&amp; (a.setAttribute(\"x\", y.getAttribute(\"x\")),\n\t\t\t\t\t\tB = y.getAttribute(\"y\"), a.setAttribute(\"y\", B || 0), null === B &amp;&amp; y.setAttribute(\"y\", 0));\n\t\t\t\t\ta = a.cloneNode(1);\n\t\t\t\t\tp(a, {\n\t\t\t\t\t\t\"class\": \"highcharts-text-outline\",\n\t\t\t\t\t\tfill: m,\n\t\t\t\t\t\tstroke: m,\n\t\t\t\t\t\t\"stroke-width\": b,\n\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t});\n\t\t\t\t\ty.insertBefore(a, y.firstChild)\n\t\t\t\t}))\n\t\t\t},\n\t\t\tattr: function(a, B, c, m) {\n\t\t\t\tvar y, b = this.element,\n\t\t\t\t\te, z = this,\n\t\t\t\t\tq;\n\t\t\t\t\"string\" === typeof a &amp;&amp; void 0 !== B &amp;&amp; (y = a, a = {}, a[y] = B);\n\t\t\t\tif (\"string\" === typeof a) z = (this[a + \"Getter\"] || this._defaultGetter).call(this, a, b);\n\t\t\t\telse {\n\t\t\t\t\tfor (y in a) B = a[y], q = !1, m || N(this, y), this.symbolName &amp;&amp; /^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(y) &amp;&amp;\n\t\t\t\t\t\t(e || (this.symbolAttr(a), e = !0), q = !0), !this.rotation || \"x\" !== y &amp;&amp; \"y\" !== y || (this.doTransform = !0), q || (q = this[y + \"Setter\"] || this._defaultSetter, q.call(this, B, y, b), this.shadows &amp;&amp; /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(y) &amp;&amp; this.updateShadows(y, B, q));\n\t\t\t\t\tthis.doTransform &amp;&amp; (this.updateTransform(), this.doTransform = !1)\n\t\t\t\t}\n\t\t\t\tc &amp;&amp; c();\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tupdateShadows: function(a, B, c) {\n\t\t\t\tfor (var y = this.shadows, m = y.length; m--;) c.call(y[m], \"height\" === a ? Math.max(B - (y[m].cutHeight || 0), 0) : \"d\" === a ? this.d : B, a, y[m])\n\t\t\t},\n\t\t\taddClass: function(a,\n\t\t\t\tB) {\n\t\t\t\tvar y = this.attr(\"class\") || \"\"; - 1 === y.indexOf(a) &amp;&amp; (B || (a = (y + (y ? \" \" : \"\") + a).replace(\"  \", \" \")), this.attr(\"class\", a));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thasClass: function(a) {\n\t\t\t\treturn -1 !== p(this.element, \"class\").indexOf(a)\n\t\t\t},\n\t\t\tremoveClass: function(a) {\n\t\t\t\tp(this.element, \"class\", (p(this.element, \"class\") || \"\").replace(a, \"\"));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsymbolAttr: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\tw(\"x y r start end width height innerR anchorX anchorY\".split(\" \"), function(B) {\n\t\t\t\t\ty[B] = D(a[B], y[B])\n\t\t\t\t});\n\t\t\t\ty.attr({\n\t\t\t\t\td: y.renderer.symbols[y.symbolName](y.x, y.y, y.width, y.height,\n\t\t\t\t\t\ty)\n\t\t\t\t})\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\treturn this.attr(\"clip-path\", a ? \"url(\" + this.renderer.url + \"#\" + a.id + \")\" : \"none\")\n\t\t\t},\n\t\t\tcrisp: function(a, B) {\n\t\t\t\tvar y, c = {},\n\t\t\t\t\tm;\n\t\t\t\tB = B || a.strokeWidth || 0;\n\t\t\t\tm = Math.round(B) % 2 / 2;\n\t\t\t\ta.x = Math.floor(a.x || this.x || 0) + m;\n\t\t\t\ta.y = Math.floor(a.y || this.y || 0) + m;\n\t\t\t\ta.width = Math.floor((a.width || this.width || 0) - 2 * m);\n\t\t\t\ta.height = Math.floor((a.height || this.height || 0) - 2 * m);\n\t\t\t\tr(a.strokeWidth) &amp;&amp; (a.strokeWidth = B);\n\t\t\t\tfor (y in a) this[y] !== a[y] &amp;&amp; (this[y] = c[y] = a[y]);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcss: function(a) {\n\t\t\t\tvar y = this.styles,\n\t\t\t\t\tb = {},\n\t\t\t\t\te = this.element,\n\t\t\t\t\tz, q, k = \"\";\n\t\t\t\tz = !y;\n\t\t\t\ta &amp;&amp; a.color &amp;&amp; (a.fill = a.color);\n\t\t\t\tif (y)\n\t\t\t\t\tfor (q in a) a[q] !== y[q] &amp;&amp; (b[q] = a[q], z = !0);\n\t\t\t\tif (z) {\n\t\t\t\t\tz = this.textWidth = a &amp;&amp; a.width &amp;&amp; \"text\" === e.nodeName.toLowerCase() &amp;&amp; G(a.width) || this.textWidth;\n\t\t\t\t\ty &amp;&amp; (a = t(y, b));\n\t\t\t\t\tthis.styles = a;\n\t\t\t\t\tz &amp;&amp; !m &amp;&amp; this.renderer.forExport &amp;&amp; delete a.width;\n\t\t\t\t\tif (c &amp;&amp; !m) v(this.element, a);\n\t\t\t\t\telse {\n\t\t\t\t\t\ty = function(a, y) {\n\t\t\t\t\t\t\treturn \"-\" + y.toLowerCase()\n\t\t\t\t\t\t};\n\t\t\t\t\t\tfor (q in a) k += q.replace(/([A-Z])/g, y) + \":\" + a[q] + \";\";\n\t\t\t\t\t\tp(e, \"style\", k)\n\t\t\t\t\t}\n\t\t\t\t\tthis.added &amp;&amp; (z &amp;&amp; this.renderer.buildText(this), a &amp;&amp; a.textOutline &amp;&amp; this.applyTextOutline(a.textOutline))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tstrokeWidth: function() {\n\t\t\t\treturn this[\"stroke-width\"] || 0\n\t\t\t},\n\t\t\ton: function(a, B) {\n\t\t\t\tvar y = this,\n\t\t\t\t\tc = y.element;\n\t\t\t\th &amp;&amp; \"click\" === a ? (c.ontouchstart = function(a) {\n\t\t\t\t\ty.touchEventFired = Date.now();\n\t\t\t\t\ta.preventDefault();\n\t\t\t\t\tB.call(c, a)\n\t\t\t\t}, c.onclick = function(a) {\n\t\t\t\t\t(-1 === P.navigator.userAgent.indexOf(\"Android\") || 1100 &lt; Date.now() - (y.touchEventFired || 0)) &amp;&amp; B.call(c, a)\n\t\t\t\t}) : c[\"on\" + a] = B;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsetRadialReference: function(a) {\n\t\t\t\tvar y = this.renderer.gradients[this.element.gradient];\n\t\t\t\tthis.element.radialReference = a;\n\t\t\t\ty &amp;&amp; y.radAttr &amp;&amp; y.animate(this.renderer.getRadialAttr(a,\n\t\t\t\t\ty.radAttr));\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ttranslate: function(a, B) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\ttranslateX: a,\n\t\t\t\t\ttranslateY: B\n\t\t\t\t})\n\t\t\t},\n\t\t\tinvert: function(a) {\n\t\t\t\tthis.inverted = a;\n\t\t\t\tthis.updateTransform();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: function() {\n\t\t\t\tvar a = this.translateX || 0,\n\t\t\t\t\tB = this.translateY || 0,\n\t\t\t\t\tc = this.scaleX,\n\t\t\t\t\tm = this.scaleY,\n\t\t\t\t\tb = this.inverted,\n\t\t\t\t\te = this.rotation,\n\t\t\t\t\tz = this.element;\n\t\t\t\tb &amp;&amp; (a += this.attr(\"width\"), B += this.attr(\"height\"));\n\t\t\t\ta = [\"translate(\" + a + \",\" + B + \")\"];\n\t\t\t\tb ? a.push(\"rotate(90) scale(-1,1)\") : e &amp;&amp; a.push(\"rotate(\" + e + \" \" + (z.getAttribute(\"x\") || 0) + \" \" + (z.getAttribute(\"y\") ||\n\t\t\t\t\t0) + \")\");\n\t\t\t\t(r(c) || r(m)) &amp;&amp; a.push(\"scale(\" + D(c, 1) + \" \" + D(m, 1) + \")\");\n\t\t\t\ta.length &amp;&amp; z.setAttribute(\"transform\", a.join(\" \"))\n\t\t\t},\n\t\t\ttoFront: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\ta.parentNode.appendChild(a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\talign: function(a, B, c) {\n\t\t\t\tvar y, m, b, e, z = {};\n\t\t\t\tm = this.renderer;\n\t\t\t\tb = m.alignedObjects;\n\t\t\t\tvar q, h;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (this.alignOptions = a, this.alignByTranslate = B, !c || x(c)) this.alignTo = y = c || \"renderer\", k(b, this), b.push(this), c = null\n\t\t\t\t} else a = this.alignOptions, B = this.alignByTranslate, y = this.alignTo;\n\t\t\t\tc = D(c, m[y], m);\n\t\t\t\ty = a.align;\n\t\t\t\tm = a.verticalAlign;\n\t\t\t\tb =\n\t\t\t\t\t(c.x || 0) + (a.x || 0);\n\t\t\t\te = (c.y || 0) + (a.y || 0);\n\t\t\t\t\"right\" === y ? q = 1 : \"center\" === y &amp;&amp; (q = 2);\n\t\t\t\tq &amp;&amp; (b += (c.width - (a.width || 0)) / q);\n\t\t\t\tz[B ? \"translateX\" : \"x\"] = Math.round(b);\n\t\t\t\t\"bottom\" === m ? h = 1 : \"middle\" === m &amp;&amp; (h = 2);\n\t\t\t\th &amp;&amp; (e += (c.height - (a.height || 0)) / h);\n\t\t\t\tz[B ? \"translateY\" : \"y\"] = Math.round(e);\n\t\t\t\tthis[this.placed ? \"animate\" : \"attr\"](z);\n\t\t\t\tthis.placed = !0;\n\t\t\t\tthis.alignAttr = z;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tgetBBox: function(a, B) {\n\t\t\t\tvar y, m = this.renderer,\n\t\t\t\t\tb, e = this.element,\n\t\t\t\t\tz = this.styles,\n\t\t\t\t\tq, k = this.textStr,\n\t\t\t\t\th, x = m.cache,\n\t\t\t\t\tn = m.cacheKeys,\n\t\t\t\t\tu;\n\t\t\t\tB = D(B, this.rotation);\n\t\t\t\tb = B * f;\n\t\t\t\tq = z &amp;&amp; z.fontSize;\n\t\t\t\tvoid 0 !==\n\t\t\t\t\tk &amp;&amp; (u = k.toString(), -1 === u.indexOf(\"\\x3c\") &amp;&amp; (u = u.replace(/[0-9]/g, \"0\")), u += [\"\", B || 0, q, e.style.width, e.style[\"text-overflow\"]].join());\n\t\t\t\tu &amp;&amp; !a &amp;&amp; (y = x[u]);\n\t\t\t\tif (!y) {\n\t\t\t\t\tif (e.namespaceURI === this.SVG_NS || m.forExport) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t(h = this.fakeTS &amp;&amp; function(a) {\n\t\t\t\t\t\t\t\tw(e.querySelectorAll(\".highcharts-text-outline\"), function(y) {\n\t\t\t\t\t\t\t\t\ty.style.display = a\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}) &amp;&amp; h(\"none\"), y = e.getBBox ? t({}, e.getBBox()) : {\n\t\t\t\t\t\t\t\twidth: e.offsetWidth,\n\t\t\t\t\t\t\t\theight: e.offsetHeight\n\t\t\t\t\t\t\t}, h &amp;&amp; h(\"\")\n\t\t\t\t\t\t} catch (T) {}\n\t\t\t\t\t\tif (!y || 0 &gt; y.width) y = {\n\t\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\t\theight: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t} else y = this.htmlGetBBox();\n\t\t\t\t\tm.isSVG &amp;&amp; (a = y.width,\n\t\t\t\t\t\tm = y.height, c &amp;&amp; z &amp;&amp; \"11px\" === z.fontSize &amp;&amp; \"16.9\" === m.toPrecision(3) &amp;&amp; (y.height = m = 14), B &amp;&amp; (y.width = Math.abs(m * Math.sin(b)) + Math.abs(a * Math.cos(b)), y.height = Math.abs(m * Math.cos(b)) + Math.abs(a * Math.sin(b))));\n\t\t\t\t\tif (u &amp;&amp; 0 &lt; y.height) {\n\t\t\t\t\t\tfor (; 250 &lt; n.length;) delete x[n.shift()];\n\t\t\t\t\t\tx[u] || n.push(u);\n\t\t\t\t\t\tx[u] = y\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn y\n\t\t\t},\n\t\t\tshow: function(a) {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: a ? \"inherit\" : \"visible\"\n\t\t\t\t})\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\treturn this.attr({\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tfadeOut: function(a) {\n\t\t\t\tvar y = this;\n\t\t\t\ty.animate({\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a || 150,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\ty.attr({\n\t\t\t\t\t\t\ty: -9999\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar y = this.renderer,\n\t\t\t\t\tc = this.element,\n\t\t\t\t\tm;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\tthis.parentInverted = a &amp;&amp; a.inverted;\n\t\t\t\tvoid 0 !== this.textStr &amp;&amp; y.buildText(this);\n\t\t\t\tthis.added = !0;\n\t\t\t\tif (!a || a.handleZ || this.zIndex) m = this.zIndexSetter();\n\t\t\t\tm || (a ? a.element : y.box).appendChild(c);\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\tvar y = a.parentNode;\n\t\t\t\ty &amp;&amp; y.removeChild(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.element || {},\n\t\t\t\t\tc = this.renderer.isSVG &amp;&amp; \"SPAN\" === a.nodeName &amp;&amp; this.parentGroup,\n\t\t\t\t\tm, b;\n\t\t\t\ta.onclick = a.onmouseout = a.onmouseover =\n\t\t\t\t\ta.onmousemove = a.point = null;\n\t\t\t\tN(this);\n\t\t\t\tthis.clipPath &amp;&amp; (this.clipPath = this.clipPath.destroy());\n\t\t\t\tif (this.stops) {\n\t\t\t\t\tfor (b = 0; b &lt; this.stops.length; b++) this.stops[b] = this.stops[b].destroy();\n\t\t\t\t\tthis.stops = null\n\t\t\t\t}\n\t\t\t\tthis.safeRemoveChild(a);\n\t\t\t\tfor (this.destroyShadows(); c &amp;&amp; c.div &amp;&amp; 0 === c.div.childNodes.length;) a = c.parentGroup, this.safeRemoveChild(c.div), delete c.div, c = a;\n\t\t\t\tthis.alignTo &amp;&amp; k(this.renderer.alignedObjects, this);\n\t\t\t\tfor (m in this) delete this[m];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tshadow: function(a, c, m) {\n\t\t\t\tvar y = [],\n\t\t\t\t\tB, b, e = this.element,\n\t\t\t\t\tz, q, k, h;\n\t\t\t\tif (!a) this.destroyShadows();\n\t\t\t\telse if (!this.shadows) {\n\t\t\t\t\tq = D(a.width, 3);\n\t\t\t\t\tk = (a.opacity || .15) / q;\n\t\t\t\t\th = this.parentInverted ? \"(-1,-1)\" : \"(\" + D(a.offsetX, 1) + \", \" + D(a.offsetY, 1) + \")\";\n\t\t\t\t\tfor (B = 1; B &lt;= q; B++) b = e.cloneNode(0), z = 2 * q + 1 - 2 * B, p(b, {\n\t\t\t\t\t\tisShadow: \"true\",\n\t\t\t\t\t\tstroke: a.color || \"#000000\",\n\t\t\t\t\t\t\"stroke-opacity\": k * B,\n\t\t\t\t\t\t\"stroke-width\": z,\n\t\t\t\t\t\ttransform: \"translate\" + h,\n\t\t\t\t\t\tfill: \"none\"\n\t\t\t\t\t}), m &amp;&amp; (p(b, \"height\", Math.max(p(b, \"height\") - z, 0)), b.cutHeight = z), c ? c.element.appendChild(b) : e.parentNode.insertBefore(b, e), y.push(b);\n\t\t\t\t\tthis.shadows = y\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tdestroyShadows: function() {\n\t\t\t\tw(this.shadows || [], function(a) {\n\t\t\t\t\tthis.safeRemoveChild(a)\n\t\t\t\t}, this);\n\t\t\t\tthis.shadows = void 0\n\t\t\t},\n\t\t\txGetter: function(a) {\n\t\t\t\t\"circle\" === this.element.nodeName &amp;&amp; (\"x\" === a ? a = \"cx\" : \"y\" === a &amp;&amp; (a = \"cy\"));\n\t\t\t\treturn this._defaultGetter(a)\n\t\t\t},\n\t\t\t_defaultGetter: function(a) {\n\t\t\t\ta = D(this[a], this.element ? this.element.getAttribute(a) : null, 0);\n\t\t\t\t/^[\\-0-9\\.]+$/.test(a) &amp;&amp; (a = parseFloat(a));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdSetter: function(a, c, m) {\n\t\t\t\ta &amp;&amp; a.join &amp;&amp; (a = a.join(\" \"));\n\t\t\t\t/(NaN| {2}|^$)/.test(a) &amp;&amp; (a = \"M 0 0\");\n\t\t\t\tm.setAttribute(c, a);\n\t\t\t\tthis[c] = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a) {\n\t\t\t\tvar c, y = this[\"stroke-width\"];\n\t\t\t\t\"inherit\" === y &amp;&amp; (y = 1);\n\t\t\t\tif (a = a &amp;&amp; a.toLowerCase()) {\n\t\t\t\t\ta = a.replace(\"shortdashdotdot\", \"3,1,1,1,1,1,\").replace(\"shortdashdot\", \"3,1,1,1\").replace(\"shortdot\", \"1,1,\").replace(\"shortdash\", \"3,1,\").replace(\"longdash\", \"8,3,\").replace(/dot/g, \"1,3,\").replace(\"dash\", \"4,3,\").replace(/,$/, \"\").split(\",\");\n\t\t\t\t\tfor (c = a.length; c--;) a[c] = G(a[c]) * y;\n\t\t\t\t\ta = a.join(\",\").replace(/NaN/g, \"none\");\n\t\t\t\t\tthis.element.setAttribute(\"stroke-dasharray\", a)\n\t\t\t\t}\n\t\t\t},\n\t\t\talignSetter: function(a) {\n\t\t\t\tthis.element.setAttribute(\"text-anchor\", {\n\t\t\t\t\tleft: \"start\",\n\t\t\t\t\tcenter: \"middle\",\n\t\t\t\t\tright: \"end\"\n\t\t\t\t}[a])\n\t\t\t},\n\t\t\topacitySetter: function(a, c, m) {\n\t\t\t\tthis[c] = a;\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t},\n\t\t\ttitleSetter: function(a) {\n\t\t\t\tvar c = this.element.getElementsByTagName(\"title\")[0];\n\t\t\t\tc || (c = n.createElementNS(this.SVG_NS, \"title\"), this.element.appendChild(c));\n\t\t\t\tc.firstChild &amp;&amp; c.removeChild(c.firstChild);\n\t\t\t\tc.appendChild(n.createTextNode(String(D(a), \"\").replace(/&lt;[^&gt;]*&gt;/g, \"\")))\n\t\t\t},\n\t\t\ttextSetter: function(a) {\n\t\t\t\ta !== this.textStr &amp;&amp; (delete this.bBox, this.textStr = a, this.added &amp;&amp; this.renderer.buildText(this))\n\t\t\t},\n\t\t\tfillSetter: function(a, c, m) {\n\t\t\t\t\"string\" === typeof a ? m.setAttribute(c,\n\t\t\t\t\ta) : a &amp;&amp; this.colorGradient(a, c, m)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, c, m) {\n\t\t\t\t\"inherit\" === a ? m.removeAttribute(c) : m.setAttribute(c, a)\n\t\t\t},\n\t\t\tzIndexSetter: function(a, c) {\n\t\t\t\tvar m = this.renderer,\n\t\t\t\t\ty = this.parentGroup,\n\t\t\t\t\tb = (y || m).element || m.box,\n\t\t\t\t\tB, e = this.element,\n\t\t\t\t\tz;\n\t\t\t\tB = this.added;\n\t\t\t\tvar q;\n\t\t\t\tr(a) &amp;&amp; (e.zIndex = a, a = +a, this[c] === a &amp;&amp; (B = !1), this[c] = a);\n\t\t\t\tif (B) {\n\t\t\t\t\t(a = this.zIndex) &amp;&amp; y &amp;&amp; (y.handleZ = !0);\n\t\t\t\t\tc = b.childNodes;\n\t\t\t\t\tfor (q = 0; q &lt; c.length &amp;&amp; !z; q++) y = c[q], B = y.zIndex, y !== e &amp;&amp; (G(B) &gt; a || !r(a) &amp;&amp; r(B) || 0 &gt; a &amp;&amp; !r(B) &amp;&amp; b !== m.box) &amp;&amp; (b.insertBefore(e, y), z = !0);\n\t\t\t\t\tz || b.appendChild(e)\n\t\t\t\t}\n\t\t\t\treturn z\n\t\t\t},\n\t\t\t_defaultSetter: function(a, c, m) {\n\t\t\t\tm.setAttribute(c, a)\n\t\t\t}\n\t\t};\n\t\tE.prototype.yGetter = E.prototype.xGetter;\n\t\tE.prototype.translateXSetter = E.prototype.translateYSetter = E.prototype.rotationSetter = E.prototype.verticalAlignSetter = E.prototype.scaleXSetter = E.prototype.scaleYSetter = function(a, c) {\n\t\t\tthis[c] = a;\n\t\t\tthis.doTransform = !0\n\t\t};\n\t\tE.prototype[\"stroke-widthSetter\"] = E.prototype.strokeSetter = function(a, c, m) {\n\t\t\tthis[c] = a;\n\t\t\tthis.stroke &amp;&amp; this[\"stroke-width\"] ? (E.prototype.fillSetter.call(this, this.stroke, \"stroke\", m), m.setAttribute(\"stroke-width\",\n\t\t\t\tthis[\"stroke-width\"]), this.hasStroke = !0) : \"stroke-width\" === c &amp;&amp; 0 === a &amp;&amp; this.hasStroke &amp;&amp; (m.removeAttribute(\"stroke\"), this.hasStroke = !1)\n\t\t};\n\t\tA = a.SVGRenderer = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\tA.prototype = {\n\t\t\tElement: E,\n\t\t\tSVG_NS: z,\n\t\t\tinit: function(a, c, m, b, e, z) {\n\t\t\t\tvar y;\n\t\t\t\tb = this.createElement(\"svg\").attr({\n\t\t\t\t\tversion: \"1.1\",\n\t\t\t\t\t\"class\": \"highcharts-root\"\n\t\t\t\t}).css(this.getStyle(b));\n\t\t\t\ty = b.element;\n\t\t\t\ta.appendChild(y); - 1 === a.innerHTML.indexOf(\"xmlns\") &amp;&amp; p(y, \"xmlns\", this.SVG_NS);\n\t\t\t\tthis.isSVG = !0;\n\t\t\t\tthis.box = y;\n\t\t\t\tthis.boxWrapper = b;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tthis.url = (u || K) &amp;&amp; n.getElementsByTagName(\"base\").length ? P.location.href.replace(/#.*?$/, \"\").replace(/([\\('\\)])/g, \"\\\\$1\").replace(/ /g, \"%20\") : \"\";\n\t\t\t\tthis.createElement(\"desc\").add().element.appendChild(n.createTextNode(\"Created with Highcharts 5.0.5\"));\n\t\t\t\tthis.defs = this.createElement(\"defs\").add();\n\t\t\t\tthis.allowHTML = z;\n\t\t\t\tthis.forExport = e;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(c, m, !1);\n\t\t\t\tvar B;\n\t\t\t\tu &amp;&amp; a.getBoundingClientRect &amp;&amp; (c = function() {\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0\n\t\t\t\t\t});\n\t\t\t\t\tB = a.getBoundingClientRect();\n\t\t\t\t\tv(a, {\n\t\t\t\t\t\tleft: Math.ceil(B.left) - B.left + \"px\",\n\t\t\t\t\t\ttop: Math.ceil(B.top) - B.top + \"px\"\n\t\t\t\t\t})\n\t\t\t\t}, c(), this.unSubPixelFix = F(P, \"resize\", c))\n\t\t\t},\n\t\t\tgetStyle: function(a) {\n\t\t\t\treturn this.style = t({\n\t\t\t\t\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',\n\t\t\t\t\tfontSize: \"12px\"\n\t\t\t\t}, a)\n\t\t\t},\n\t\t\tsetStyle: function(a) {\n\t\t\t\tthis.boxWrapper.css(this.getStyle(a))\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.boxWrapper.getBBox().width\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.defs;\n\t\t\t\tthis.box = null;\n\t\t\t\tthis.boxWrapper = this.boxWrapper.destroy();\n\t\t\t\tb(this.gradients || {});\n\t\t\t\tthis.gradients =\n\t\t\t\t\tnull;\n\t\t\t\ta &amp;&amp; (this.defs = a.destroy());\n\t\t\t\tthis.unSubPixelFix &amp;&amp; this.unSubPixelFix();\n\t\t\t\treturn this.alignedObjects = null\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\tvar c = new this.Element;\n\t\t\t\tc.init(this, a);\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tdraw: J,\n\t\t\tgetRadialAttr: function(a, c) {\n\t\t\t\treturn {\n\t\t\t\t\tcx: a[0] - a[2] / 2 + c.cx * a[2],\n\t\t\t\t\tcy: a[1] - a[2] / 2 + c.cy * a[2],\n\t\t\t\t\tr: c.r * a[2]\n\t\t\t\t}\n\t\t\t},\n\t\t\tbuildText: function(a) {\n\t\t\t\tfor (var c = a.element, b = this, y = b.forExport, q = D(a.textStr, \"\").toString(), k = -1 !== q.indexOf(\"\\x3c\"), h = c.childNodes, x, f, t, u, l = p(c, \"x\"), d = a.styles, C = a.textWidth, g = d &amp;&amp; d.lineHeight, r = d &amp;&amp; d.textOutline, K = d &amp;&amp;\n\t\t\t\t\t\t\"ellipsis\" === d.textOverflow, I = h.length, L = C &amp;&amp; !a.added &amp;&amp; this.box, P = function(a) {\n\t\t\t\t\t\t\tvar m;\n\t\t\t\t\t\t\tm = /(px|em)$/.test(a &amp;&amp; a.style.fontSize) ? a.style.fontSize : d &amp;&amp; d.fontSize || b.style.fontSize || 12;\n\t\t\t\t\t\t\treturn g ? G(g) : b.fontMetrics(m, a.getAttribute(\"style\") ? a : c).h\n\t\t\t\t\t\t}; I--;) c.removeChild(h[I]);\n\t\t\t\tk || r || K || C || -1 !== q.indexOf(\" \") ? (x = /&lt;.*class=\"([^\"]+)\".*&gt;/, f = /&lt;.*style=\"([^\"]+)\".*&gt;/, t = /&lt;.*href=\"(http[^\"]+)\".*&gt;/, L &amp;&amp; L.appendChild(c), q = k ? q.replace(/&lt;(b|strong)&gt;/g, '\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g, '\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\n\t\t\t\t\t\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g, \"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g) : [q], q = e(q, function(a) {\n\t\t\t\t\treturn \"\" !== a\n\t\t\t\t}), w(q, function(e, B) {\n\t\t\t\t\tvar q, k = 0;\n\t\t\t\t\te = e.replace(/^\\s+|\\s+$/g, \"\").replace(/&lt;span/g, \"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g, \"\\x3c/span\\x3e|||\");\n\t\t\t\t\tq = e.split(\"|||\");\n\t\t\t\t\tw(q, function(e) {\n\t\t\t\t\t\tif (\"\" !== e || 1 === q.length) {\n\t\t\t\t\t\t\tvar h = {},\n\t\t\t\t\t\t\t\tD = n.createElementNS(b.SVG_NS, \"tspan\"),\n\t\t\t\t\t\t\t\tG, g;\n\t\t\t\t\t\t\tx.test(e) &amp;&amp; (G = e.match(x)[1], p(D, \"class\", G));\n\t\t\t\t\t\t\tf.test(e) &amp;&amp; (g = e.match(f)[1].replace(/(;| |^)color([ :])/, \"$1fill$2\"), p(D, \"style\", g));\n\t\t\t\t\t\t\tt.test(e) &amp;&amp; !y &amp;&amp; (p(D,\n\t\t\t\t\t\t\t\t\"onclick\", 'location.href\\x3d\"' + e.match(t)[1] + '\"'), v(D, {\n\t\t\t\t\t\t\t\tcursor: \"pointer\"\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\te = (e.replace(/&lt;(.|\\n)*?&gt;/g, \"\") || \" \").replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\");\n\t\t\t\t\t\t\tif (\" \" !== e) {\n\t\t\t\t\t\t\t\tD.appendChild(n.createTextNode(e));\n\t\t\t\t\t\t\t\tk ? h.dx = 0 : B &amp;&amp; null !== l &amp;&amp; (h.x = l);\n\t\t\t\t\t\t\t\tp(D, h);\n\t\t\t\t\t\t\t\tc.appendChild(D);\n\t\t\t\t\t\t\t\t!k &amp;&amp; B &amp;&amp; (!m &amp;&amp; y &amp;&amp; v(D, {\n\t\t\t\t\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t\t\t\t\t}), p(D, \"dy\", P(D)));\n\t\t\t\t\t\t\t\tif (C) {\n\t\t\t\t\t\t\t\t\th = e.replace(/([^\\^])-/g, \"$1- \").split(\" \");\n\t\t\t\t\t\t\t\t\tG = \"nowrap\" === d.whiteSpace;\n\t\t\t\t\t\t\t\t\tfor (var Q = 1 &lt; q.length || B || 1 &lt; h.length &amp;&amp; !G, r, I, w = [], L = P(D), S = a.rotation, O = e, R = O.length;\n\t\t\t\t\t\t\t\t\t\t(Q || K) &amp;&amp; (h.length || w.length);) a.rotation =\n\t\t\t\t\t\t\t\t\t\t0, r = a.getBBox(!0), I = r.width, !m &amp;&amp; b.forExport &amp;&amp; (I = b.measureSpanWidth(D.firstChild.data, a.styles)), r = I &gt; C, void 0 === u &amp;&amp; (u = r), K &amp;&amp; u ? (R /= 2, \"\" === O || !r &amp;&amp; .5 &gt; R ? h = [] : (O = e.substring(0, O.length + (r ? -1 : 1) * Math.ceil(R)), h = [O + (3 &lt; C ? \"\\u2026\" : \"\")], D.removeChild(D.firstChild))) : r &amp;&amp; 1 !== h.length ? (D.removeChild(D.firstChild), w.unshift(h.pop())) : (h = w, w = [], h.length &amp;&amp; !G &amp;&amp; (D = n.createElementNS(z, \"tspan\"), p(D, {\n\t\t\t\t\t\t\t\t\t\t\tdy: L,\n\t\t\t\t\t\t\t\t\t\t\tx: l\n\t\t\t\t\t\t\t\t\t\t}), g &amp;&amp; p(D, \"style\", g), c.appendChild(D)), I &gt; C &amp;&amp; (C = I)), h.length &amp;&amp; D.appendChild(n.createTextNode(h.join(\" \").replace(/- /g,\n\t\t\t\t\t\t\t\t\t\t\t\"-\")));\n\t\t\t\t\t\t\t\t\ta.rotation = S\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tk++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}), u &amp;&amp; a.attr(\"title\", a.textStr), L &amp;&amp; L.removeChild(c), r &amp;&amp; a.applyTextOutline &amp;&amp; a.applyTextOutline(r)) : c.appendChild(n.createTextNode(q.replace(/&amp;lt;/g, \"\\x3c\").replace(/&amp;gt;/g, \"\\x3e\")))\n\t\t\t},\n\t\t\tgetContrast: function(a) {\n\t\t\t\ta = g(a).rgba;\n\t\t\t\treturn 510 &lt; a[0] + a[1] + a[2] ? \"#000000\" : \"#FFFFFF\"\n\t\t\t},\n\t\t\tbutton: function(a, m, b, e, z, q, h, k, x) {\n\t\t\t\tvar B = this.label(a, m, b, x, null, null, null, null, \"button\"),\n\t\t\t\t\ty = 0;\n\t\t\t\tB.attr(I({\n\t\t\t\t\tpadding: 8,\n\t\t\t\t\tr: 2\n\t\t\t\t}, z));\n\t\t\t\tvar f, n, u, D;\n\t\t\t\tz = I({\n\t\t\t\t\tfill: \"#f7f7f7\",\n\t\t\t\t\tstroke: \"#cccccc\",\n\t\t\t\t\t\"stroke-width\": 1,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\tfontWeight: \"normal\"\n\t\t\t\t\t}\n\t\t\t\t}, z);\n\t\t\t\tf = z.style;\n\t\t\t\tdelete z.style;\n\t\t\t\tq = I(z, {\n\t\t\t\t\tfill: \"#e6e6e6\"\n\t\t\t\t}, q);\n\t\t\t\tn = q.style;\n\t\t\t\tdelete q.style;\n\t\t\t\th = I(z, {\n\t\t\t\t\tfill: \"#e6ebf5\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}, h);\n\t\t\t\tu = h.style;\n\t\t\t\tdelete h.style;\n\t\t\t\tk = I(z, {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t\t}\n\t\t\t\t}, k);\n\t\t\t\tD = k.style;\n\t\t\t\tdelete k.style;\n\t\t\t\tF(B.element, c ? \"mouseover\" : \"mouseenter\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(1)\n\t\t\t\t});\n\t\t\t\tF(B.element, c ? \"mouseout\" : \"mouseleave\", function() {\n\t\t\t\t\t3 !== y &amp;&amp; B.setState(y)\n\t\t\t\t});\n\t\t\t\tB.setState = function(a) {\n\t\t\t\t\t1 !== a &amp;&amp; (B.state = y = a);\n\t\t\t\t\tB.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\" + [\"normal\", \"hover\", \"pressed\", \"disabled\"][a || 0]);\n\t\t\t\t\tB.attr([z, q, h, k][a || 0]).css([f, n, u, D][a || 0])\n\t\t\t\t};\n\t\t\t\tB.attr(z).css(t({\n\t\t\t\t\tcursor: \"default\"\n\t\t\t\t}, f));\n\t\t\t\treturn B.on(\"click\", function(a) {\n\t\t\t\t\t3 !== y &amp;&amp; e.call(B, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcrispLine: function(a, c) {\n\t\t\t\ta[1] === a[4] &amp;&amp; (a[1] = a[4] = Math.round(a[1]) - c % 2 / 2);\n\t\t\t\ta[2] === a[5] &amp;&amp; (a[2] = a[5] = Math.round(a[2]) + c % 2 / 2);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t};\n\t\t\t\tC(a) ? c.d = a : q(a) &amp;&amp; t(c, a);\n\t\t\t\treturn this.createElement(\"path\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, c, m) {\n\t\t\t\ta = q(a) ? a : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\tr: m\n\t\t\t\t};\n\t\t\t\tc = this.createElement(\"circle\");\n\t\t\t\tc.xSetter =\n\t\t\t\t\tc.ySetter = function(a, c, m) {\n\t\t\t\t\t\tm.setAttribute(\"c\" + c, a)\n\t\t\t\t\t};\n\t\t\t\treturn c.attr(a)\n\t\t\t},\n\t\t\tarc: function(a, c, m, b, e, z) {\n\t\t\t\tq(a) &amp;&amp; (c = a.y, m = a.r, b = a.innerR, e = a.start, z = a.end, a = a.x);\n\t\t\t\ta = this.symbol(\"arc\", a || 0, c || 0, m || 0, m || 0, {\n\t\t\t\t\tinnerR: b || 0,\n\t\t\t\t\tstart: e || 0,\n\t\t\t\t\tend: z || 0\n\t\t\t\t});\n\t\t\t\ta.r = m;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trect: function(a, c, m, b, e, z) {\n\t\t\t\te = q(a) ? a.r : e;\n\t\t\t\tvar B = this.createElement(\"rect\");\n\t\t\t\ta = q(a) ? a : void 0 === a ? {} : {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.max(m, 0),\n\t\t\t\t\theight: Math.max(b, 0)\n\t\t\t\t};\n\t\t\t\tvoid 0 !== z &amp;&amp; (a.strokeWidth = z, a = B.crisp(a));\n\t\t\t\ta.fill = \"none\";\n\t\t\t\te &amp;&amp; (a.r = e);\n\t\t\t\tB.rSetter = function(a, c, m) {\n\t\t\t\t\tp(m, {\n\t\t\t\t\t\trx: a,\n\t\t\t\t\t\try: a\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\treturn B.attr(a)\n\t\t\t},\n\t\t\tsetSize: function(a, c, m) {\n\t\t\t\tvar b = this.alignedObjects,\n\t\t\t\t\te = b.length;\n\t\t\t\tthis.width = a;\n\t\t\t\tthis.height = c;\n\t\t\t\tfor (this.boxWrapper.animate({\n\t\t\t\t\t\twidth: a,\n\t\t\t\t\t\theight: c\n\t\t\t\t\t}, {\n\t\t\t\t\t\tstep: function() {\n\t\t\t\t\t\t\tthis.attr({\n\t\t\t\t\t\t\t\tviewBox: \"0 0 \" + this.attr(\"width\") + \" \" + this.attr(\"height\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\tduration: D(m, !0) ? void 0 : 0\n\t\t\t\t\t}); e--;) b[e].align()\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar c = this.createElement(\"g\");\n\t\t\t\treturn a ? c.attr({\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t}) : c\n\t\t\t},\n\t\t\timage: function(a, c, m, b, e) {\n\t\t\t\tvar z = {\n\t\t\t\t\tpreserveAspectRatio: \"none\"\n\t\t\t\t};\n\t\t\t\t1 &lt; arguments.length &amp;&amp; t(z, {\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t});\n\t\t\t\tz = this.createElement(\"image\").attr(z);\n\t\t\t\tz.element.setAttributeNS ? z.element.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", a) : z.element.setAttribute(\"hc-svg-href\", a);\n\t\t\t\treturn z\n\t\t\t},\n\t\t\tsymbol: function(a, c, m, b, e, z) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tB, y = this.symbols[a],\n\t\t\t\t\th = r(c) &amp;&amp; y &amp;&amp; y(Math.round(c), Math.round(m), b, e, z),\n\t\t\t\t\tk = /^url\\((.*?)\\)$/,\n\t\t\t\t\tx, f;\n\t\t\t\ty ? (B = this.path(h), B.attr(\"fill\", \"none\"), t(B, {\n\t\t\t\t\tsymbolName: a,\n\t\t\t\t\tx: c,\n\t\t\t\t\ty: m,\n\t\t\t\t\twidth: b,\n\t\t\t\t\theight: e\n\t\t\t\t}), z &amp;&amp; t(B, z)) : k.test(a) &amp;&amp; (x = a.match(k)[1], B = this.image(x), B.imgwidth = D(O[x] &amp;&amp; O[x].width, z &amp;&amp; z.width), B.imgheight = D(O[x] &amp;&amp; O[x].height, z &amp;&amp; z.height), f =\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tB.attr({\n\t\t\t\t\t\t\twidth: B.width,\n\t\t\t\t\t\t\theight: B.height\n\t\t\t\t\t\t})\n\t\t\t\t\t}, w([\"width\", \"height\"], function(a) {\n\t\t\t\t\t\tB[a + \"Setter\"] = function(a, c) {\n\t\t\t\t\t\t\tvar m = {},\n\t\t\t\t\t\t\t\tb = this[\"img\" + c],\n\t\t\t\t\t\t\t\te = \"width\" === c ? \"translateX\" : \"translateY\";\n\t\t\t\t\t\t\tthis[c] = a;\n\t\t\t\t\t\t\tr(b) &amp;&amp; (this.element &amp;&amp; this.element.setAttribute(c, b), this.alignByTranslate || (m[e] = ((this[c] || 0) - b) / 2, this.attr(m)))\n\t\t\t\t\t\t}\n\t\t\t\t\t}), r(c) &amp;&amp; B.attr({\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t}), B.isImg = !0, r(B.imgwidth) &amp;&amp; r(B.imgheight) ? f() : (B.attr({\n\t\t\t\t\t\twidth: 0,\n\t\t\t\t\t\theight: 0\n\t\t\t\t\t}), l(\"img\", {\n\t\t\t\t\t\tonload: function() {\n\t\t\t\t\t\t\tvar a = d[q.chartIndex];\n\t\t\t\t\t\t\t0 === this.width &amp;&amp; (v(this, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\ttop: \"-999em\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tn.body.appendChild(this));\n\t\t\t\t\t\t\tO[x] = {\n\t\t\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\t\t\theight: this.height\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\tB.imgwidth = this.width;\n\t\t\t\t\t\t\tB.imgheight = this.height;\n\t\t\t\t\t\t\tB.element &amp;&amp; f();\n\t\t\t\t\t\t\tthis.parentNode &amp;&amp; this.parentNode.removeChild(this);\n\t\t\t\t\t\t\tq.imgCount--;\n\t\t\t\t\t\t\tif (!q.imgCount &amp;&amp; a &amp;&amp; a.onload) a.onload()\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsrc: x\n\t\t\t\t\t}), this.imgCount++));\n\t\t\t\treturn B\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tcircle: function(a, c, m, b) {\n\t\t\t\t\tvar e = .166 * m;\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"C\", a + m + e, c, a + m + e, c + b, a + m / 2, c + b, \"C\", a - e, c + b, a - e, c, a + m / 2, c, \"Z\"]\n\t\t\t\t},\n\t\t\t\tsquare: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m, c + b, a, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\ttriangle: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\",\n\t\t\t\t\t\ta + m / 2, c, \"L\", a + m, c + b, a, c + b, \"Z\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"triangle-down\": function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a, c, \"L\", a + m, c, a + m / 2, c + b, \"Z\"]\n\t\t\t\t},\n\t\t\t\tdiamond: function(a, c, m, b) {\n\t\t\t\t\treturn [\"M\", a + m / 2, c, \"L\", a + m, c + b / 2, a + m / 2, c + b, a, c + b / 2, \"Z\"]\n\t\t\t\t},\n\t\t\t\tarc: function(a, c, m, b, e) {\n\t\t\t\t\tvar z = e.start;\n\t\t\t\t\tm = e.r || m || b;\n\t\t\t\t\tvar q = e.end - .001;\n\t\t\t\t\tb = e.innerR;\n\t\t\t\t\tvar B = e.open,\n\t\t\t\t\t\th = Math.cos(z),\n\t\t\t\t\t\tk = Math.sin(z),\n\t\t\t\t\t\ty = Math.cos(q),\n\t\t\t\t\t\tq = Math.sin(q);\n\t\t\t\t\te = e.end - z &lt; Math.PI ? 0 : 1;\n\t\t\t\t\treturn [\"M\", a + m * h, c + m * k, \"A\", m, m, 0, e, 1, a + m * y, c + m * q, B ? \"M\" : \"L\", a + b * y, c + b * q, \"A\", b, b, 0, e, 0, a + b * h, c + b * k, B ? \"\" : \"Z\"]\n\t\t\t\t},\n\t\t\t\tcallout: function(a, c, m, b, e) {\n\t\t\t\t\tvar z =\n\t\t\t\t\t\tMath.min(e &amp;&amp; e.r || 0, m, b),\n\t\t\t\t\t\tq = z + 6,\n\t\t\t\t\t\tB = e &amp;&amp; e.anchorX;\n\t\t\t\t\te = e &amp;&amp; e.anchorY;\n\t\t\t\t\tvar h;\n\t\t\t\t\th = [\"M\", a + z, c, \"L\", a + m - z, c, \"C\", a + m, c, a + m, c, a + m, c + z, \"L\", a + m, c + b - z, \"C\", a + m, c + b, a + m, c + b, a + m - z, c + b, \"L\", a + z, c + b, \"C\", a, c + b, a, c + b, a, c + b - z, \"L\", a, c + z, \"C\", a, c, a, c, a + z, c];\n\t\t\t\t\tB &amp;&amp; B &gt; m ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(13, 3, \"L\", a + m, e - 6, a + m + 6, e, a + m, e + 6, a + m, c + b - z) : h.splice(13, 3, \"L\", a + m, b / 2, B, e, a + m, b / 2, a + m, c + b - z) : B &amp;&amp; 0 &gt; B ? e &gt; c + q &amp;&amp; e &lt; c + b - q ? h.splice(33, 3, \"L\", a, e + 6, a - 6, e, a, e - 6, a, c + z) : h.splice(33, 3, \"L\", a, b / 2, B, e, a, b / 2, a, c + z) : e &amp;&amp; e &gt; b &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q ? h.splice(23, 3, \"L\", B + 6, c +\n\t\t\t\t\t\tb, B, c + b + 6, B - 6, c + b, a + z, c + b) : e &amp;&amp; 0 &gt; e &amp;&amp; B &gt; a + q &amp;&amp; B &lt; a + m - q &amp;&amp; h.splice(3, 3, \"L\", B - 6, c, B, c - 6, B + 6, c, m - z, c);\n\t\t\t\t\treturn h\n\t\t\t\t}\n\t\t\t},\n\t\t\tclipRect: function(c, m, b, e) {\n\t\t\t\tvar z = a.uniqueKey(),\n\t\t\t\t\tq = this.createElement(\"clipPath\").attr({\n\t\t\t\t\t\tid: z\n\t\t\t\t\t}).add(this.defs);\n\t\t\t\tc = this.rect(c, m, b, e, 0).add(q);\n\t\t\t\tc.id = z;\n\t\t\t\tc.clipPath = q;\n\t\t\t\tc.count = 0;\n\t\t\t\treturn c\n\t\t\t},\n\t\t\ttext: function(a, c, b, e) {\n\t\t\t\tvar z = !m &amp;&amp; this.forExport,\n\t\t\t\t\tq = {};\n\t\t\t\tif (e &amp;&amp; (this.allowHTML || !this.forExport)) return this.html(a, c, b);\n\t\t\t\tq.x = Math.round(c || 0);\n\t\t\t\tb &amp;&amp; (q.y = Math.round(b));\n\t\t\t\tif (a || 0 === a) q.text = a;\n\t\t\t\ta = this.createElement(\"text\").attr(q);\n\t\t\t\tz &amp;&amp; a.css({\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\te || (a.xSetter = function(a, c, m) {\n\t\t\t\t\tvar b = m.getElementsByTagName(\"tspan\"),\n\t\t\t\t\t\te, z = m.getAttribute(c),\n\t\t\t\t\t\tq;\n\t\t\t\t\tfor (q = 0; q &lt; b.length; q++) e = b[q], e.getAttribute(c) === z &amp;&amp; e.setAttribute(c, a);\n\t\t\t\t\tm.setAttribute(c, a)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tfontMetrics: function(a, c) {\n\t\t\t\ta = a || c &amp;&amp; c.style &amp;&amp; c.style.fontSize || this.style &amp;&amp; this.style.fontSize;\n\t\t\t\ta = /px/.test(a) ? G(a) : /em/.test(a) ? parseFloat(a) * (c ? this.fontMetrics(null, c.parentNode).f : 16) : 12;\n\t\t\t\tc = 24 &gt; a ? a + 3 : Math.round(1.2 * a);\n\t\t\t\treturn {\n\t\t\t\t\th: c,\n\t\t\t\t\tb: Math.round(.8 * c),\n\t\t\t\t\tf: a\n\t\t\t\t}\n\t\t\t},\n\t\t\trotCorr: function(a,\n\t\t\t\tc, m) {\n\t\t\t\tvar b = a;\n\t\t\t\tc &amp;&amp; m &amp;&amp; (b = Math.max(b * Math.cos(c * f), 4));\n\t\t\t\treturn {\n\t\t\t\t\tx: -a / 3 * Math.sin(c * f),\n\t\t\t\t\ty: b\n\t\t\t\t}\n\t\t\t},\n\t\t\tlabel: function(a, c, m, b, e, z, q, h, k) {\n\t\t\t\tvar B = this,\n\t\t\t\t\tx = B.g(\"button\" !== k &amp;&amp; \"label\"),\n\t\t\t\t\tf = x.text = B.text(\"\", 0, 0, q).attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}),\n\t\t\t\t\tn, u, D = 0,\n\t\t\t\t\ty = 3,\n\t\t\t\t\tl = 0,\n\t\t\t\t\tG, d, C, g, K, P = {},\n\t\t\t\t\tO, v, N = /^url\\((.*?)\\)$/.test(b),\n\t\t\t\t\tQ = N,\n\t\t\t\t\tJ, p, S, R;\n\t\t\t\tk &amp;&amp; x.addClass(\"highcharts-\" + k);\n\t\t\t\tQ = N;\n\t\t\t\tJ = function() {\n\t\t\t\t\treturn (O || 0) % 2 / 2\n\t\t\t\t};\n\t\t\t\tp = function() {\n\t\t\t\t\tvar a = f.element.style,\n\t\t\t\t\t\tc = {};\n\t\t\t\t\tu = (void 0 === G || void 0 === d || K) &amp;&amp; r(f.textStr) &amp;&amp; f.getBBox();\n\t\t\t\t\tx.width = (G || u.width || 0) + 2 * y + l;\n\t\t\t\t\tx.height = (d || u.height || 0) + 2 * y;\n\t\t\t\t\tv =\n\t\t\t\t\t\ty + B.fontMetrics(a &amp;&amp; a.fontSize, f).b;\n\t\t\t\t\tQ &amp;&amp; (n || (x.box = n = B.symbols[b] || N ? B.symbol(b) : B.rect(), n.addClass((\"button\" === k ? \"\" : \"highcharts-label-box\") + (k ? \" highcharts-\" + k + \"-box\" : \"\")), n.add(x), a = J(), c.x = a, c.y = (h ? -v : 0) + a), c.width = Math.round(x.width), c.height = Math.round(x.height), n.attr(t(c, P)), P = {})\n\t\t\t\t};\n\t\t\t\tS = function() {\n\t\t\t\t\tvar a = l + y,\n\t\t\t\t\t\tc;\n\t\t\t\t\tc = h ? 0 : v;\n\t\t\t\t\tr(G) &amp;&amp; u &amp;&amp; (\"center\" === K || \"right\" === K) &amp;&amp; (a += {\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[K] * (G - u.width));\n\t\t\t\t\tif (a !== f.x || c !== f.y) f.attr(\"x\", a), void 0 !== c &amp;&amp; f.attr(\"y\", c);\n\t\t\t\t\tf.x = a;\n\t\t\t\t\tf.y = c\n\t\t\t\t};\n\t\t\t\tR = function(a, c) {\n\t\t\t\t\tn ? n.attr(a, c) :\n\t\t\t\t\t\tP[a] = c\n\t\t\t\t};\n\t\t\t\tx.onAdd = function() {\n\t\t\t\t\tf.add(x);\n\t\t\t\t\tx.attr({\n\t\t\t\t\t\ttext: a || 0 === a ? a : \"\",\n\t\t\t\t\t\tx: c,\n\t\t\t\t\t\ty: m\n\t\t\t\t\t});\n\t\t\t\t\tn &amp;&amp; r(e) &amp;&amp; x.attr({\n\t\t\t\t\t\tanchorX: e,\n\t\t\t\t\t\tanchorY: z\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t\tx.widthSetter = function(a) {\n\t\t\t\t\tG = a\n\t\t\t\t};\n\t\t\t\tx.heightSetter = function(a) {\n\t\t\t\t\td = a\n\t\t\t\t};\n\t\t\t\tx[\"text-alignSetter\"] = function(a) {\n\t\t\t\t\tK = a\n\t\t\t\t};\n\t\t\t\tx.paddingSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== y &amp;&amp; (y = x.padding = a, S())\n\t\t\t\t};\n\t\t\t\tx.paddingLeftSetter = function(a) {\n\t\t\t\t\tr(a) &amp;&amp; a !== l &amp;&amp; (l = a, S())\n\t\t\t\t};\n\t\t\t\tx.alignSetter = function(a) {\n\t\t\t\t\ta = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[a];\n\t\t\t\t\ta !== D &amp;&amp; (D = a, u &amp;&amp; x.attr({\n\t\t\t\t\t\tx: C\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tx.textSetter = function(a) {\n\t\t\t\t\tvoid 0 !== a &amp;&amp; f.textSetter(a);\n\t\t\t\t\tp();\n\t\t\t\t\tS()\n\t\t\t\t};\n\t\t\t\tx[\"stroke-widthSetter\"] =\n\t\t\t\t\tfunction(a, c) {\n\t\t\t\t\t\ta &amp;&amp; (Q = !0);\n\t\t\t\t\t\tO = this[\"stroke-width\"] = a;\n\t\t\t\t\t\tR(c, a)\n\t\t\t\t\t};\n\t\t\t\tx.strokeSetter = x.fillSetter = x.rSetter = function(a, c) {\n\t\t\t\t\t\"fill\" === c &amp;&amp; a &amp;&amp; (Q = !0);\n\t\t\t\t\tR(c, a)\n\t\t\t\t};\n\t\t\t\tx.anchorXSetter = function(a, c) {\n\t\t\t\t\te = a;\n\t\t\t\t\tR(c, Math.round(a) - J() - C)\n\t\t\t\t};\n\t\t\t\tx.anchorYSetter = function(a, c) {\n\t\t\t\t\tz = a;\n\t\t\t\t\tR(c, a - g)\n\t\t\t\t};\n\t\t\t\tx.xSetter = function(a) {\n\t\t\t\t\tx.x = a;\n\t\t\t\t\tD &amp;&amp; (a -= D * ((G || u.width) + 2 * y));\n\t\t\t\t\tC = Math.round(a);\n\t\t\t\t\tx.attr(\"translateX\", C)\n\t\t\t\t};\n\t\t\t\tx.ySetter = function(a) {\n\t\t\t\t\tg = x.y = Math.round(a);\n\t\t\t\t\tx.attr(\"translateY\", g)\n\t\t\t\t};\n\t\t\t\tvar V = x.css;\n\t\t\t\treturn t(x, {\n\t\t\t\t\tcss: function(a) {\n\t\t\t\t\t\tif (a) {\n\t\t\t\t\t\t\tvar c = {};\n\t\t\t\t\t\t\ta = I(a);\n\t\t\t\t\t\t\tw(x.textProps, function(m) {\n\t\t\t\t\t\t\t\tvoid 0 !==\n\t\t\t\t\t\t\t\t\ta[m] &amp;&amp; (c[m] = a[m], delete a[m])\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tf.css(c)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn V.call(x, a)\n\t\t\t\t\t},\n\t\t\t\t\tgetBBox: function() {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\twidth: u.width + 2 * y,\n\t\t\t\t\t\t\theight: u.height + 2 * y,\n\t\t\t\t\t\t\tx: u.x - y,\n\t\t\t\t\t\t\ty: u.y - y\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tshadow: function(a) {\n\t\t\t\t\t\ta &amp;&amp; (p(), n &amp;&amp; n.shadow(a));\n\t\t\t\t\t\treturn x\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: function() {\n\t\t\t\t\t\tL(x.element, \"mouseenter\");\n\t\t\t\t\t\tL(x.element, \"mouseleave\");\n\t\t\t\t\t\tf &amp;&amp; (f = f.destroy());\n\t\t\t\t\t\tn &amp;&amp; (n = n.destroy());\n\t\t\t\t\t\tE.prototype.destroy.call(x);\n\t\t\t\t\t\tx = B = p = S = R = null\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\ta.Renderer = A\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.attr,\n\t\t\tA = a.createElement,\n\t\t\tF = a.css,\n\t\t\tH = a.defined,\n\t\t\tp = a.each,\n\t\t\td = a.extend,\n\t\t\tg = a.isFirefox,\n\t\t\tv = a.isMS,\n\t\t\tl = a.isWebKit,\n\t\t\tr = a.pInt,\n\t\t\tf =\n\t\t\ta.SVGRenderer,\n\t\t\tb = a.win,\n\t\t\tn = a.wrap;\n\t\td(a.SVGElement.prototype, {\n\t\t\thtmlCss: function(a) {\n\t\t\t\tvar b = this.element;\n\t\t\t\tif (b = a &amp;&amp; \"SPAN\" === b.tagName &amp;&amp; a.width) delete a.width, this.textWidth = b, this.updateTransform();\n\t\t\t\ta &amp;&amp; \"ellipsis\" === a.textOverflow &amp;&amp; (a.whiteSpace = \"nowrap\", a.overflow = \"hidden\");\n\t\t\t\tthis.styles = d(this.styles, a);\n\t\t\t\tF(this.element, a);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\thtmlGetBBox: function() {\n\t\t\t\tvar a = this.element;\n\t\t\t\t\"text\" === a.nodeName &amp;&amp; (a.style.position = \"absolute\");\n\t\t\t\treturn {\n\t\t\t\t\tx: a.offsetLeft,\n\t\t\t\t\ty: a.offsetTop,\n\t\t\t\t\twidth: a.offsetWidth,\n\t\t\t\t\theight: a.offsetHeight\n\t\t\t\t}\n\t\t\t},\n\t\t\thtmlUpdateTransform: function() {\n\t\t\t\tif (this.added) {\n\t\t\t\t\tvar a =\n\t\t\t\t\t\tthis.renderer,\n\t\t\t\t\t\tb = this.element,\n\t\t\t\t\t\tk = this.translateX || 0,\n\t\t\t\t\t\te = this.translateY || 0,\n\t\t\t\t\t\th = this.x || 0,\n\t\t\t\t\t\tf = this.y || 0,\n\t\t\t\t\t\tn = this.textAlign || \"left\",\n\t\t\t\t\t\tc = {\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\t\tright: 1\n\t\t\t\t\t\t}[n],\n\t\t\t\t\t\tq = this.styles;\n\t\t\t\t\tF(b, {\n\t\t\t\t\t\tmarginLeft: k,\n\t\t\t\t\t\tmarginTop: e\n\t\t\t\t\t});\n\t\t\t\t\tthis.shadows &amp;&amp; p(this.shadows, function(a) {\n\t\t\t\t\t\tF(a, {\n\t\t\t\t\t\t\tmarginLeft: k + 1,\n\t\t\t\t\t\t\tmarginTop: e + 1\n\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t\t\tthis.inverted &amp;&amp; p(b.childNodes, function(c) {\n\t\t\t\t\t\ta.invertChild(c, b)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"SPAN\" === b.tagName) {\n\t\t\t\t\t\tvar x = this.rotation,\n\t\t\t\t\t\t\td = r(this.textWidth),\n\t\t\t\t\t\t\tg = q &amp;&amp; q.whiteSpace,\n\t\t\t\t\t\t\tv = [x, n, b.innerHTML, this.textWidth, this.textAlign].join();\n\t\t\t\t\t\tv !== this.cTT &amp;&amp; (q = a.fontMetrics(b.style.fontSize).b,\n\t\t\t\t\t\t\tH(x) &amp;&amp; this.setSpanRotation(x, c, q), F(b, {\n\t\t\t\t\t\t\t\twidth: \"\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"nowrap\"\n\t\t\t\t\t\t\t}), b.offsetWidth &gt; d &amp;&amp; /[ \\-]/.test(b.textContent || b.innerText) &amp;&amp; F(b, {\n\t\t\t\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\twhiteSpace: g || \"normal\"\n\t\t\t\t\t\t\t}), this.getSpanCorrection(b.offsetWidth, q, c, x, n));\n\t\t\t\t\t\tF(b, {\n\t\t\t\t\t\t\tleft: h + (this.xCorr || 0) + \"px\",\n\t\t\t\t\t\t\ttop: f + (this.yCorr || 0) + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tl &amp;&amp; (q = b.offsetHeight);\n\t\t\t\t\t\tthis.cTT = v\n\t\t\t\t\t}\n\t\t\t\t} else this.alignOnAdd = !0\n\t\t\t},\n\t\t\tsetSpanRotation: function(a, f, k) {\n\t\t\t\tvar e = {},\n\t\t\t\t\th = v ? \"-ms-transform\" : l ? \"-webkit-transform\" : g ? \"MozTransform\" : b.opera ? \"-o-transform\" : \"\";\n\t\t\t\te[h] = e.transform =\n\t\t\t\t\t\"rotate(\" + a + \"deg)\";\n\t\t\t\te[h + (g ? \"Origin\" : \"-origin\")] = e.transformOrigin = 100 * f + \"% \" + k + \"px\";\n\t\t\t\tF(this.element, e)\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, k) {\n\t\t\t\tthis.xCorr = -a * k;\n\t\t\t\tthis.yCorr = -b\n\t\t\t}\n\t\t});\n\t\td(f.prototype, {\n\t\t\thtml: function(a, b, k) {\n\t\t\t\tvar e = this.createElement(\"span\"),\n\t\t\t\t\th = e.element,\n\t\t\t\t\tf = e.renderer,\n\t\t\t\t\tu = f.isSVG,\n\t\t\t\t\tc = function(a, c) {\n\t\t\t\t\t\tp([\"opacity\", \"visibility\"], function(b) {\n\t\t\t\t\t\t\tn(a, b + \"Setter\", function(a, b, e, q) {\n\t\t\t\t\t\t\t\ta.call(this, b, e, q);\n\t\t\t\t\t\t\t\tc[e] = b\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te.textSetter = function(a) {\n\t\t\t\t\ta !== h.innerHTML &amp;&amp; delete this.bBox;\n\t\t\t\t\th.innerHTML = this.textStr = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\tu &amp;&amp; c(e, e.element.style);\n\t\t\t\te.xSetter = e.ySetter = e.alignSetter = e.rotationSetter = function(a, c) {\n\t\t\t\t\t\"align\" === c &amp;&amp; (c = \"textAlign\");\n\t\t\t\t\te[c] = a;\n\t\t\t\t\te.htmlUpdateTransform()\n\t\t\t\t};\n\t\t\t\te.attr({\n\t\t\t\t\ttext: a,\n\t\t\t\t\tx: Math.round(b),\n\t\t\t\t\ty: Math.round(k)\n\t\t\t\t}).css({\n\t\t\t\t\tfontFamily: this.style.fontFamily,\n\t\t\t\t\tfontSize: this.style.fontSize,\n\t\t\t\t\tposition: \"absolute\"\n\t\t\t\t});\n\t\t\t\th.style.whiteSpace = \"nowrap\";\n\t\t\t\te.css = e.htmlCss;\n\t\t\t\tu &amp;&amp; (e.add = function(a) {\n\t\t\t\t\tvar b, q = f.box.parentNode,\n\t\t\t\t\t\tk = [];\n\t\t\t\t\tif (this.parentGroup = a) {\n\t\t\t\t\t\tif (b = a.div, !b) {\n\t\t\t\t\t\t\tfor (; a;) k.push(a), a = a.parentGroup;\n\t\t\t\t\t\t\tp(k.reverse(), function(a) {\n\t\t\t\t\t\t\t\tvar h, x = E(a.element,\n\t\t\t\t\t\t\t\t\t\"class\");\n\t\t\t\t\t\t\t\tx &amp;&amp; (x = {\n\t\t\t\t\t\t\t\t\tclassName: x\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tb = a.div = a.div || A(\"div\", x, {\n\t\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\t\tleft: (a.translateX || 0) + \"px\",\n\t\t\t\t\t\t\t\t\ttop: (a.translateY || 0) + \"px\",\n\t\t\t\t\t\t\t\t\tdisplay: a.display,\n\t\t\t\t\t\t\t\t\topacity: a.opacity,\n\t\t\t\t\t\t\t\t\tpointerEvents: a.styles &amp;&amp; a.styles.pointerEvents\n\t\t\t\t\t\t\t\t}, b || q);\n\t\t\t\t\t\t\t\th = b.style;\n\t\t\t\t\t\t\t\td(a, {\n\t\t\t\t\t\t\t\t\ton: function() {\n\t\t\t\t\t\t\t\t\t\te.on.apply({\n\t\t\t\t\t\t\t\t\t\t\telement: k[0].div\n\t\t\t\t\t\t\t\t\t\t}, arguments);\n\t\t\t\t\t\t\t\t\t\treturn a\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateXSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.left = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\ttranslateYSetter: function(c, b) {\n\t\t\t\t\t\t\t\t\t\th.top = c + \"px\";\n\t\t\t\t\t\t\t\t\t\ta[b] = c;\n\t\t\t\t\t\t\t\t\t\ta.doTransform = !0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tc(a, h)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else b = q;\n\t\t\t\t\tb.appendChild(h);\n\t\t\t\t\te.added = !0;\n\t\t\t\t\te.alignOnAdd &amp;&amp;\n\t\t\t\t\t\te.htmlUpdateTransform();\n\t\t\t\t\treturn e\n\t\t\t\t});\n\t\t\t\treturn e\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E, A, F = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defined,\n\t\t\td = a.deg2rad,\n\t\t\tg = a.discardElement,\n\t\t\tv = a.doc,\n\t\t\tl = a.each,\n\t\t\tr = a.erase,\n\t\t\tf = a.extend;\n\t\tE = a.extendClass;\n\t\tvar b = a.isArray,\n\t\t\tn = a.isNumber,\n\t\t\tw = a.isObject,\n\t\t\tt = a.merge;\n\t\tA = a.noop;\n\t\tvar k = a.pick,\n\t\t\te = a.pInt,\n\t\t\th = a.SVGElement,\n\t\t\tC = a.SVGRenderer,\n\t\t\tu = a.win;\n\t\ta.svg || (A = {\n\t\t\tdocMode8: v &amp;&amp; 8 === v.documentMode,\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = [\"\\x3c\", b, ' filled\\x3d\"f\" stroked\\x3d\"f\"'],\n\t\t\t\t\te = [\"position: \", \"absolute\", \";\"],\n\t\t\t\t\tq = \"div\" === b;\n\t\t\t\t(\"shape\" === b || q) &amp;&amp; e.push(\"left:0;top:0;width:1px;height:1px;\");\n\t\t\t\te.push(\"visibility: \", q ? \"hidden\" : \"visible\");\n\t\t\t\tc.push(' style\\x3d\"', e.join(\"\"), '\"/\\x3e');\n\t\t\t\tb &amp;&amp; (c = q || \"span\" === b || \"img\" === b ? c.join(\"\") : a.prepVML(c), this.element = F(c));\n\t\t\t\tthis.renderer = a\n\t\t\t},\n\t\t\tadd: function(a) {\n\t\t\t\tvar c = this.renderer,\n\t\t\t\t\tb = this.element,\n\t\t\t\t\te = c.box,\n\t\t\t\t\th = a &amp;&amp; a.inverted,\n\t\t\t\t\te = a ? a.element || a : e;\n\t\t\t\ta &amp;&amp; (this.parentGroup = a);\n\t\t\t\th &amp;&amp; c.invertChild(b, e);\n\t\t\t\te.appendChild(b);\n\t\t\t\tthis.added = !0;\n\t\t\t\tthis.alignOnAdd &amp;&amp; !this.deferUpdateTransform &amp;&amp; this.updateTransform();\n\t\t\t\tif (this.onAdd) this.onAdd();\n\t\t\t\tthis.className &amp;&amp; this.attr(\"class\", this.className);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateTransform: h.prototype.htmlUpdateTransform,\n\t\t\tsetSpanRotation: function() {\n\t\t\t\tvar a = this.rotation,\n\t\t\t\t\tb = Math.cos(a * d),\n\t\t\t\t\te = Math.sin(a * d);\n\t\t\t\tH(this.element, {\n\t\t\t\t\tfilter: a ? [\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\", b, \", M12\\x3d\", -e, \", M21\\x3d\", e, \", M22\\x3d\", b, \", sizingMethod\\x3d'auto expand')\"].join(\"\") : \"none\"\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSpanCorrection: function(a, b, e, h, f) {\n\t\t\t\tvar c = h ? Math.cos(h * d) : 1,\n\t\t\t\t\tq = h ? Math.sin(h * d) : 0,\n\t\t\t\t\tx = k(this.elemHeight, this.element.offsetHeight),\n\t\t\t\t\tn;\n\t\t\t\tthis.xCorr = 0 &gt; c &amp;&amp; -a;\n\t\t\t\tthis.yCorr = 0 &gt; q &amp;&amp; -x;\n\t\t\t\tn = 0 &gt; c * q;\n\t\t\t\tthis.xCorr += q * b * (n ? 1 -\n\t\t\t\t\te : e);\n\t\t\t\tthis.yCorr -= c * b * (h ? n ? e : 1 - e : 1);\n\t\t\t\tf &amp;&amp; \"left\" !== f &amp;&amp; (this.xCorr -= a * e * (0 &gt; c ? -1 : 1), h &amp;&amp; (this.yCorr -= x * e * (0 &gt; q ? -1 : 1)), H(this.element, {\n\t\t\t\t\ttextAlign: f\n\t\t\t\t}))\n\t\t\t},\n\t\t\tpathToVML: function(a) {\n\t\t\t\tfor (var c = a.length, b = []; c--;) n(a[c]) ? b[c] = Math.round(10 * a[c]) - 5 : \"Z\" === a[c] ? b[c] = \"x\" : (b[c] = a[c], !a.isArc || \"wa\" !== a[c] &amp;&amp; \"at\" !== a[c] || (b[c + 5] === b[c + 7] &amp;&amp; (b[c + 7] += a[c + 7] &gt; a[c + 5] ? 1 : -1), b[c + 6] === b[c + 8] &amp;&amp; (b[c + 8] += a[c + 8] &gt; a[c + 6] ? 1 : -1)));\n\t\t\t\treturn b.join(\" \") || \"x\"\n\t\t\t},\n\t\t\tclip: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tb;\n\t\t\t\ta ? (b = a.members, r(b, c), b.push(c), c.destroyClip = function() {\n\t\t\t\t\tr(b,\n\t\t\t\t\t\tc)\n\t\t\t\t}, a = a.getCSS(c)) : (c.destroyClip &amp;&amp; c.destroyClip(), a = {\n\t\t\t\t\tclip: c.docMode8 ? \"inherit\" : \"rect(auto)\"\n\t\t\t\t});\n\t\t\t\treturn c.css(a)\n\t\t\t},\n\t\t\tcss: h.prototype.htmlCss,\n\t\t\tsafeRemoveChild: function(a) {\n\t\t\t\ta.parentNode &amp;&amp; g(a)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.destroyClip &amp;&amp; this.destroyClip();\n\t\t\t\treturn h.prototype.destroy.apply(this)\n\t\t\t},\n\t\t\ton: function(a, b) {\n\t\t\t\tthis.element[\"on\" + a] = function() {\n\t\t\t\t\tvar a = u.event;\n\t\t\t\t\ta.target = a.srcElement;\n\t\t\t\t\tb(a)\n\t\t\t\t};\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tcutOffPath: function(a, b) {\n\t\t\t\tvar c;\n\t\t\t\ta = a.split(/[ ,]/);\n\t\t\t\tc = a.length;\n\t\t\t\tif (9 === c || 11 === c) a[c - 4] = a[c - 2] = e(a[c - 2]) - 10 * b;\n\t\t\t\treturn a.join(\" \")\n\t\t\t},\n\t\t\tshadow: function(a, b, h) {\n\t\t\t\tvar c = [],\n\t\t\t\t\tq, f = this.element,\n\t\t\t\t\tn = this.renderer,\n\t\t\t\t\tx, u = f.style,\n\t\t\t\t\td, m = f.path,\n\t\t\t\t\tz, l, t, y;\n\t\t\t\tm &amp;&amp; \"string\" !== typeof m.value &amp;&amp; (m = \"x\");\n\t\t\t\tl = m;\n\t\t\t\tif (a) {\n\t\t\t\t\tt = k(a.width, 3);\n\t\t\t\t\ty = (a.opacity || .15) / t;\n\t\t\t\t\tfor (q = 1; 3 &gt;= q; q++) z = 2 * t + 1 - 2 * q, h &amp;&amp; (l = this.cutOffPath(m.value, z + .5)), d = ['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"', z, '\" filled\\x3d\"false\" path\\x3d\"', l, '\" coordsize\\x3d\"10 10\" style\\x3d\"', f.style.cssText, '\" /\\x3e'], x = F(n.prepVML(d), null, {\n\t\t\t\t\t\tleft: e(u.left) + k(a.offsetX, 1),\n\t\t\t\t\t\ttop: e(u.top) + k(a.offsetY, 1)\n\t\t\t\t\t}), h &amp;&amp; (x.cutOff = z + 1), d = ['\\x3cstroke color\\x3d\"',\n\t\t\t\t\t\ta.color || \"#000000\", '\" opacity\\x3d\"', y * q, '\"/\\x3e'\n\t\t\t\t\t], F(n.prepVML(d), null, null, x), b ? b.element.appendChild(x) : f.parentNode.insertBefore(x, f), c.push(x);\n\t\t\t\t\tthis.shadows = c\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tupdateShadows: A,\n\t\t\tsetAttr: function(a, b) {\n\t\t\t\tthis.docMode8 ? this.element[a] = b : this.element.setAttribute(a, b)\n\t\t\t},\n\t\t\tclassSetter: function(a) {\n\t\t\t\t(this.added ? this.element : this).className = a\n\t\t\t},\n\t\t\tdashstyleSetter: function(a, b, e) {\n\t\t\t\t(e.getElementsByTagName(\"stroke\")[0] || F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]), null, null, e))[b] = a || \"solid\";\n\t\t\t\tthis[b] = a\n\t\t\t},\n\t\t\tdSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c = this.shadows;\n\t\t\t\ta = a || [];\n\t\t\t\tthis.d = a.join &amp;&amp; a.join(\" \");\n\t\t\t\te.path = a = this.pathToVML(a);\n\t\t\t\tif (c)\n\t\t\t\t\tfor (e = c.length; e--;) c[e].path = c[e].cutOff ? this.cutOffPath(a, c[e].cutOff) : a;\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tfillSetter: function(a, b, e) {\n\t\t\t\tvar c = e.nodeName;\n\t\t\t\t\"SPAN\" === c ? e.style.color = a : \"IMG\" !== c &amp;&amp; (e.filled = \"none\" !== a, this.setAttr(\"fillcolor\", this.renderer.color(a, e, b, this)))\n\t\t\t},\n\t\t\t\"fill-opacitySetter\": function(a, b, e) {\n\t\t\t\tF(this.renderer.prepVML([\"\\x3c\", b.split(\"-\")[0], ' opacity\\x3d\"', a, '\"/\\x3e']), null, null, e)\n\t\t\t},\n\t\t\topacitySetter: A,\n\t\t\trotationSetter: function(a,\n\t\t\t\tb, e) {\n\t\t\t\te = e.style;\n\t\t\t\tthis[b] = e[b] = a;\n\t\t\t\te.left = -Math.round(Math.sin(a * d) + 1) + \"px\";\n\t\t\t\te.top = Math.round(Math.cos(a * d)) + \"px\"\n\t\t\t},\n\t\t\tstrokeSetter: function(a, b, e) {\n\t\t\t\tthis.setAttr(\"strokecolor\", this.renderer.color(a, e, b, this))\n\t\t\t},\n\t\t\t\"stroke-widthSetter\": function(a, b, e) {\n\t\t\t\te.stroked = !!a;\n\t\t\t\tthis[b] = a;\n\t\t\t\tn(a) &amp;&amp; (a += \"px\");\n\t\t\t\tthis.setAttr(\"strokeweight\", a)\n\t\t\t},\n\t\t\ttitleSetter: function(a, b) {\n\t\t\t\tthis.setAttr(b, a)\n\t\t\t},\n\t\t\tvisibilitySetter: function(a, b, e) {\n\t\t\t\t\"inherit\" === a &amp;&amp; (a = \"visible\");\n\t\t\t\tthis.shadows &amp;&amp; l(this.shadows, function(c) {\n\t\t\t\t\tc.style[b] = a\n\t\t\t\t});\n\t\t\t\t\"DIV\" === e.nodeName &amp;&amp; (a = \"hidden\" ===\n\t\t\t\t\ta ? \"-999em\" : 0, this.docMode8 || (e.style[b] = a ? \"visible\" : \"hidden\"), b = \"top\");\n\t\t\t\te.style[b] = a\n\t\t\t},\n\t\t\txSetter: function(a, b, e) {\n\t\t\t\tthis[b] = a;\n\t\t\t\t\"x\" === b ? b = \"left\" : \"y\" === b &amp;&amp; (b = \"top\");\n\t\t\t\tthis.updateClipping ? (this[b] = a, this.updateClipping()) : e.style[b] = a\n\t\t\t},\n\t\t\tzIndexSetter: function(a, b, e) {\n\t\t\t\te.style[b] = a\n\t\t\t}\n\t\t}, A[\"stroke-opacitySetter\"] = A[\"fill-opacitySetter\"], a.VMLElement = A = E(h, A), A.prototype.ySetter = A.prototype.widthSetter = A.prototype.heightSetter = A.prototype.xSetter, A = {\n\t\t\tElement: A,\n\t\t\tisIE8: -1 &lt; u.navigator.userAgent.indexOf(\"MSIE 8.0\"),\n\t\t\tinit: function(a,\n\t\t\t\tb, e) {\n\t\t\t\tvar c, h;\n\t\t\t\tthis.alignedObjects = [];\n\t\t\t\tc = this.createElement(\"div\").css({\n\t\t\t\t\tposition: \"relative\"\n\t\t\t\t});\n\t\t\t\th = c.element;\n\t\t\t\ta.appendChild(c.element);\n\t\t\t\tthis.isVML = !0;\n\t\t\t\tthis.box = h;\n\t\t\t\tthis.boxWrapper = c;\n\t\t\t\tthis.gradients = {};\n\t\t\t\tthis.cache = {};\n\t\t\t\tthis.cacheKeys = [];\n\t\t\t\tthis.imgCount = 0;\n\t\t\t\tthis.setSize(b, e, !1);\n\t\t\t\tif (!v.namespaces.hcv) {\n\t\t\t\t\tv.namespaces.add(\"hcv\", \"urn:schemas-microsoft-com:vml\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tv.createStyleSheet().cssText = \"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t} catch (J) {\n\t\t\t\t\t\tv.styleSheets[0].cssText +=\n\t\t\t\t\t\t\t\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tisHidden: function() {\n\t\t\t\treturn !this.box.offsetWidth\n\t\t\t},\n\t\t\tclipRect: function(a, b, e, h) {\n\t\t\t\tvar c = this.createElement(),\n\t\t\t\t\tq = w(a);\n\t\t\t\treturn f(c, {\n\t\t\t\t\tmembers: [],\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tleft: (q ? a.x : a) + 1,\n\t\t\t\t\ttop: (q ? a.y : b) + 1,\n\t\t\t\t\twidth: (q ? a.width : e) - 1,\n\t\t\t\t\theight: (q ? a.height : h) - 1,\n\t\t\t\t\tgetCSS: function(a) {\n\t\t\t\t\t\tvar c = a.element,\n\t\t\t\t\t\t\tb = c.nodeName,\n\t\t\t\t\t\t\te = a.inverted,\n\t\t\t\t\t\t\tm = this.top - (\"shape\" === b ? c.offsetTop : 0),\n\t\t\t\t\t\t\tz = this.left,\n\t\t\t\t\t\t\tc = z + this.width,\n\t\t\t\t\t\t\th = m + this.height,\n\t\t\t\t\t\t\tm = {\n\t\t\t\t\t\t\t\tclip: \"rect(\" + Math.round(e ?\n\t\t\t\t\t\t\t\t\tz : m) + \"px,\" + Math.round(e ? h : c) + \"px,\" + Math.round(e ? c : h) + \"px,\" + Math.round(e ? m : z) + \"px)\"\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t!e &amp;&amp; a.docMode8 &amp;&amp; \"DIV\" === b &amp;&amp; f(m, {\n\t\t\t\t\t\t\twidth: c + \"px\",\n\t\t\t\t\t\t\theight: h + \"px\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tupdateClipping: function() {\n\t\t\t\t\t\tl(c.members, function(a) {\n\t\t\t\t\t\t\ta.element &amp;&amp; a.css(c.getCSS(a))\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tcolor: function(c, b, e, h) {\n\t\t\t\tvar q = this,\n\t\t\t\t\tk, f = /^rgba/,\n\t\t\t\t\tn, u, x = \"none\";\n\t\t\t\tc &amp;&amp; c.linearGradient ? u = \"gradient\" : c &amp;&amp; c.radialGradient &amp;&amp; (u = \"pattern\");\n\t\t\t\tif (u) {\n\t\t\t\t\tvar m, z, d = c.linearGradient || c.radialGradient,\n\t\t\t\t\t\tt, y, B, C, g, r = \"\";\n\t\t\t\t\tc = c.stops;\n\t\t\t\t\tvar w, v = [],\n\t\t\t\t\t\tK = function() {\n\t\t\t\t\t\t\tn = ['\\x3cfill colors\\x3d\"' + v.join(\",\") +\n\t\t\t\t\t\t\t\t'\" opacity\\x3d\"', B, '\" o:opacity2\\x3d\"', y, '\" type\\x3d\"', u, '\" ', r, 'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tF(q.prepVML(n), null, null, b)\n\t\t\t\t\t\t};\n\t\t\t\t\tt = c[0];\n\t\t\t\t\tw = c[c.length - 1];\n\t\t\t\t\t0 &lt; t[0] &amp;&amp; c.unshift([0, t[1]]);\n\t\t\t\t\t1 &gt; w[0] &amp;&amp; c.push([1, w[1]]);\n\t\t\t\t\tl(c, function(c, b) {\n\t\t\t\t\t\tf.test(c[1]) ? (k = a.color(c[1]), m = k.get(\"rgb\"), z = k.get(\"a\")) : (m = c[1], z = 1);\n\t\t\t\t\t\tv.push(100 * c[0] + \"% \" + m);\n\t\t\t\t\t\tb ? (B = z, C = m) : (y = z, g = m)\n\t\t\t\t\t});\n\t\t\t\t\tif (\"fill\" === e)\n\t\t\t\t\t\tif (\"gradient\" === u) e = d.x1 || d[0] || 0, c = d.y1 || d[1] || 0, t = d.x2 || d[2] || 0, d = d.y2 || d[3] || 0, r = 'angle\\x3d\"' + (90 - 180 * Math.atan((d - c) / (t - e)) / Math.PI) + '\"',\n\t\t\t\t\t\t\tK();\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tvar x = d.r,\n\t\t\t\t\t\t\t\tp = 2 * x,\n\t\t\t\t\t\t\t\tA = 2 * x,\n\t\t\t\t\t\t\t\tE = d.cx,\n\t\t\t\t\t\t\t\tH = d.cy,\n\t\t\t\t\t\t\t\tU = b.radialReference,\n\t\t\t\t\t\t\t\tT, x = function() {\n\t\t\t\t\t\t\t\t\tU &amp;&amp; (T = h.getBBox(), E += (U[0] - T.x) / T.width - .5, H += (U[1] - T.y) / T.height - .5, p *= U[2] / T.width, A *= U[2] / T.height);\n\t\t\t\t\t\t\t\t\tr = 'src\\x3d\"' + a.getOptions().global.VMLRadialGradientURL + '\" size\\x3d\"' + p + \",\" + A + '\" origin\\x3d\"0.5,0.5\" position\\x3d\"' + E + \",\" + H + '\" color2\\x3d\"' + g + '\" ';\n\t\t\t\t\t\t\t\t\tK()\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\th.added ? x() : h.onAdd = x;\n\t\t\t\t\t\t\tx = C\n\t\t\t\t\t\t}\n\t\t\t\t\telse x = m\n\t\t\t\t} else f.test(c) &amp;&amp; \"IMG\" !== b.tagName ? (k = a.color(c), h[e + \"-opacitySetter\"](k.get(\"a\"), e, b), x = k.get(\"rgb\")) : (x = b.getElementsByTagName(e),\n\t\t\t\t\tx.length &amp;&amp; (x[0].opacity = 1, x[0].type = \"solid\"), x = c);\n\t\t\t\treturn x\n\t\t\t},\n\t\t\tprepVML: function(a) {\n\t\t\t\tvar c = this.isIE8;\n\t\t\t\ta = a.join(\"\");\n\t\t\t\tc ? (a = a.replace(\"/\\x3e\", ' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'), a = -1 === a.indexOf('style\\x3d\"') ? a.replace(\"/\\x3e\", ' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e') : a.replace('style\\x3d\"', 'style\\x3d\"display:inline-block;behavior:url(#default#VML);')) : a = a.replace(\"\\x3c\", \"\\x3chcv:\");\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttext: C.prototype.html,\n\t\t\tpath: function(a) {\n\t\t\t\tvar c = {\n\t\t\t\t\tcoordsize: \"10 10\"\n\t\t\t\t};\n\t\t\t\tb(a) ? c.d =\n\t\t\t\t\ta : w(a) &amp;&amp; f(c, a);\n\t\t\t\treturn this.createElement(\"shape\").attr(c)\n\t\t\t},\n\t\t\tcircle: function(a, b, e) {\n\t\t\t\tvar c = this.symbol(\"circle\");\n\t\t\t\tw(a) &amp;&amp; (e = a.r, b = a.y, a = a.x);\n\t\t\t\tc.isCircle = !0;\n\t\t\t\tc.r = e;\n\t\t\t\treturn c.attr({\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b\n\t\t\t\t})\n\t\t\t},\n\t\t\tg: function(a) {\n\t\t\t\tvar b;\n\t\t\t\ta &amp;&amp; (b = {\n\t\t\t\t\tclassName: \"highcharts-\" + a,\n\t\t\t\t\t\"class\": \"highcharts-\" + a\n\t\t\t\t});\n\t\t\t\treturn this.createElement(\"div\").attr(b)\n\t\t\t},\n\t\t\timage: function(a, b, e, h, k) {\n\t\t\t\tvar c = this.createElement(\"img\").attr({\n\t\t\t\t\tsrc: a\n\t\t\t\t});\n\t\t\t\t1 &lt; arguments.length &amp;&amp; c.attr({\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: e,\n\t\t\t\t\twidth: h,\n\t\t\t\t\theight: k\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tcreateElement: function(a) {\n\t\t\t\treturn \"rect\" === a ? this.symbol(a) : C.prototype.createElement.call(this,\n\t\t\t\t\ta)\n\t\t\t},\n\t\t\tinvertChild: function(a, b) {\n\t\t\t\tvar c = this;\n\t\t\t\tb = b.style;\n\t\t\t\tvar h = \"IMG\" === a.tagName &amp;&amp; a.style;\n\t\t\t\tH(a, {\n\t\t\t\t\tflip: \"x\",\n\t\t\t\t\tleft: e(b.width) - (h ? e(h.top) : 1),\n\t\t\t\t\ttop: e(b.height) - (h ? e(h.left) : 1),\n\t\t\t\t\trotation: -90\n\t\t\t\t});\n\t\t\t\tl(a.childNodes, function(b) {\n\t\t\t\t\tc.invertChild(b, a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tsymbols: {\n\t\t\t\tarc: function(a, b, e, h, k) {\n\t\t\t\t\tvar c = k.start,\n\t\t\t\t\t\tf = k.end,\n\t\t\t\t\t\tq = k.r || e || h;\n\t\t\t\t\te = k.innerR;\n\t\t\t\t\th = Math.cos(c);\n\t\t\t\t\tvar n = Math.sin(c),\n\t\t\t\t\t\tu = Math.cos(f),\n\t\t\t\t\t\tm = Math.sin(f);\n\t\t\t\t\tif (0 === f - c) return [\"x\"];\n\t\t\t\t\tc = [\"wa\", a - q, b - q, a + q, b + q, a + q * h, b + q * n, a + q * u, b + q * m];\n\t\t\t\t\tk.open &amp;&amp; !e &amp;&amp; c.push(\"e\", \"M\", a, b);\n\t\t\t\t\tc.push(\"at\", a - e, b - e, a + e, b + e, a + e * u,\n\t\t\t\t\t\tb + e * m, a + e * h, b + e * n, \"x\", \"e\");\n\t\t\t\t\tc.isArc = !0;\n\t\t\t\t\treturn c\n\t\t\t\t},\n\t\t\t\tcircle: function(a, b, e, h, k) {\n\t\t\t\t\tk &amp;&amp; p(k.r) &amp;&amp; (e = h = 2 * k.r);\n\t\t\t\t\tk &amp;&amp; k.isCircle &amp;&amp; (a -= e / 2, b -= h / 2);\n\t\t\t\t\treturn [\"wa\", a, b, a + e, b + h, a + e, b + h / 2, a + e, b + h / 2, \"e\"]\n\t\t\t\t},\n\t\t\t\trect: function(a, b, e, h, k) {\n\t\t\t\t\treturn C.prototype.symbols[p(k) &amp;&amp; k.r ? \"callout\" : \"square\"].call(0, a, b, e, h, k)\n\t\t\t\t}\n\t\t\t}\n\t\t}, a.VMLRenderer = E = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t}, E.prototype = t(C.prototype, A), a.Renderer = E);\n\t\tC.prototype.measureSpanWidth = function(a, b) {\n\t\t\tvar c = v.createElement(\"span\");\n\t\t\ta = v.createTextNode(a);\n\t\t\tc.appendChild(a);\n\t\t\tH(c,\n\t\t\t\tb);\n\t\t\tthis.box.appendChild(c);\n\t\t\tb = c.offsetWidth;\n\t\t\tg(c);\n\t\t\treturn b\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tfunction E() {\n\t\t\tvar v = a.defaultOptions.global,\n\t\t\t\tl, r = v.useUTC,\n\t\t\t\tf = r ? \"getUTC\" : \"get\",\n\t\t\t\tb = r ? \"setUTC\" : \"set\";\n\t\t\ta.Date = l = v.Date || g.Date;\n\t\t\tl.hcTimezoneOffset = r &amp;&amp; v.timezoneOffset;\n\t\t\tl.hcGetTimezoneOffset = r &amp;&amp; v.getTimezoneOffset;\n\t\t\tl.hcMakeTime = function(a, b, f, k, e, h) {\n\t\t\t\tvar n;\n\t\t\t\tr ? (n = l.UTC.apply(0, arguments), n += H(n)) : n = (new l(a, b, d(f, 1), d(k, 0), d(e, 0), d(h, 0))).getTime();\n\t\t\t\treturn n\n\t\t\t};\n\t\t\tF(\"Minutes Hours Day Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcGet\" + a] = f +\n\t\t\t\t\ta\n\t\t\t});\n\t\t\tF(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"), function(a) {\n\t\t\t\tl[\"hcSet\" + a] = b + a\n\t\t\t})\n\t\t}\n\t\tvar A = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.getTZOffset,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.win;\n\t\ta.defaultOptions = {\n\t\t\tcolors: \"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),\n\t\t\tsymbols: [\"circle\", \"diamond\", \"square\", \"triangle\", \"triangle-down\"],\n\t\t\tlang: {\n\t\t\t\tloading: \"Loading...\",\n\t\t\t\tmonths: \"January February March April May June July August September October November December\".split(\" \"),\n\t\t\t\tshortMonths: \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),\n\t\t\t\tweekdays: \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\n\t\t\t\tdecimalPoint: \".\",\n\t\t\t\tnumericSymbols: \"kMGTPE\".split(\"\"),\n\t\t\t\tresetZoom: \"Reset zoom\",\n\t\t\t\tresetZoomTitle: \"Reset zoom level 1:1\",\n\t\t\t\tthousandsSep: \" \"\n\t\t\t},\n\t\t\tglobal: {\n\t\t\t\tuseUTC: !0,\n\t\t\t\tVMLRadialGradientURL: \"http://code.highcharts.com/5.0.5/gfx/vml-radial-gradient.png\"\n\t\t\t},\n\t\t\tchart: {\n\t\t\t\tborderRadius: 0,\n\t\t\t\tdefaultSeriesType: \"line\",\n\t\t\t\tignoreHiddenSeries: !0,\n\t\t\t\tspacing: [10, 10, 15, 10],\n\t\t\t\tresetZoomButton: {\n\t\t\t\t\ttheme: {\n\t\t\t\t\t\tzIndex: 20\n\t\t\t\t\t},\n\t\t\t\t\tposition: {\n\t\t\t\t\t\talign: \"right\",\n\t\t\t\t\t\tx: -10,\n\t\t\t\t\t\ty: 10\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\twidth: null,\n\t\t\t\theight: null,\n\t\t\t\tborderColor: \"#335cad\",\n\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\tplotBorderColor: \"#cccccc\"\n\t\t\t},\n\t\t\ttitle: {\n\t\t\t\ttext: \"Chart title\",\n\t\t\t\talign: \"center\",\n\t\t\t\tmargin: 15,\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tsubtitle: {\n\t\t\t\ttext: \"\",\n\t\t\t\talign: \"center\",\n\t\t\t\twidthAdjust: -44\n\t\t\t},\n\t\t\tplotOptions: {},\n\t\t\tlabels: {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tcolor: \"#333333\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tlegend: {\n\t\t\t\tenabled: !0,\n\t\t\t\talign: \"center\",\n\t\t\t\tlayout: \"horizontal\",\n\t\t\t\tlabelFormatter: function() {\n\t\t\t\t\treturn this.name\n\t\t\t\t},\n\t\t\t\tborderColor: \"#999999\",\n\t\t\t\tborderRadius: 0,\n\t\t\t\tnavigation: {\n\t\t\t\t\tactiveColor: \"#003399\",\n\t\t\t\t\tinactiveColor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\titemStyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t},\n\t\t\t\titemHoverStyle: {\n\t\t\t\t\tcolor: \"#000000\"\n\t\t\t\t},\n\t\t\t\titemHiddenStyle: {\n\t\t\t\t\tcolor: \"#cccccc\"\n\t\t\t\t},\n\t\t\t\tshadow: !1,\n\t\t\t\titemCheckboxStyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: \"13px\",\n\t\t\t\t\theight: \"13px\"\n\t\t\t\t},\n\t\t\t\tsquareSymbol: !0,\n\t\t\t\tsymbolPadding: 5,\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\ttitle: {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontWeight: \"bold\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: {\n\t\t\t\tlabelStyle: {\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\ttop: \"45%\"\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tbackgroundColor: \"#ffffff\",\n\t\t\t\t\topacity: .5,\n\t\t\t\t\ttextAlign: \"center\"\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\tenabled: !0,\n\t\t\t\tanimation: a.svg,\n\t\t\t\tborderRadius: 3,\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%A, %b %e, %H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%A, %b %e, %H:%M:%S\",\n\t\t\t\t\tminute: \"%A, %b %e, %H:%M\",\n\t\t\t\t\thour: \"%A, %b %e, %H:%M\",\n\t\t\t\t\tday: \"%A, %b %e, %Y\",\n\t\t\t\t\tweek: \"Week from %A, %b %e, %Y\",\n\t\t\t\t\tmonth: \"%B %Y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tfooterFormat: \"\",\n\t\t\t\tpadding: 8,\n\t\t\t\tsnap: a.isTouchDevice ? 25 : 10,\n\t\t\t\tbackgroundColor: A(\"#f7f7f7\").setOpacity(.85).get(),\n\t\t\t\tborderWidth: 1,\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',\n\t\t\t\tshadow: !0,\n\t\t\t\tstyle: {\n\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\twhiteSpace: \"nowrap\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tcredits: {\n\t\t\t\tenabled: !0,\n\t\t\t\thref: \"http://www.highcharts.com\",\n\t\t\t\tposition: {\n\t\t\t\t\talign: \"right\",\n\t\t\t\t\tx: -10,\n\t\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\t\ty: -5\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tcolor: \"#999999\",\n\t\t\t\t\tfontSize: \"9px\"\n\t\t\t\t},\n\t\t\t\ttext: \"Highcharts.com\"\n\t\t\t}\n\t\t};\n\t\ta.setOptions = function(d) {\n\t\t\ta.defaultOptions = p(!0, a.defaultOptions, d);\n\t\t\tE();\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.getOptions = function() {\n\t\t\treturn a.defaultOptions\n\t\t};\n\t\ta.defaultPlotOptions = a.defaultOptions.plotOptions;\n\t\tE()\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.arrayMax,\n\t\t\tA = a.arrayMin,\n\t\t\tF = a.defined,\n\t\t\tH = a.destroyObjectProperties,\n\t\t\tp = a.each,\n\t\t\td = a.erase,\n\t\t\tg = a.merge,\n\t\t\tv = a.pick;\n\t\ta.PlotLineOrBand = function(a, d) {\n\t\t\tthis.axis = a;\n\t\t\td &amp;&amp; (this.options = d, this.id = d.id)\n\t\t};\n\t\ta.PlotLineOrBand.prototype = {\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.axis,\n\t\t\t\t\tf = d.horiz,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\tn = b.label,\n\t\t\t\t\tw = a.label,\n\t\t\t\t\tt = b.to,\n\t\t\t\t\tk = b.from,\n\t\t\t\t\te = b.value,\n\t\t\t\t\th = F(k) &amp;&amp; F(t),\n\t\t\t\t\tC = F(e),\n\t\t\t\t\tu = a.svgElem,\n\t\t\t\t\tc = !u,\n\t\t\t\t\tq = [],\n\t\t\t\t\tx, K = b.color,\n\t\t\t\t\tI = v(b.zIndex, 0),\n\t\t\t\t\tp = b.events,\n\t\t\t\t\tq = {\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (h ? \"band \" : \"line \") + (b.className || \"\")\n\t\t\t\t\t},\n\t\t\t\t\tD = {},\n\t\t\t\t\tG = d.chart.renderer,\n\t\t\t\t\tL = h ? \"bands\" : \"lines\",\n\t\t\t\t\tN = d.log2lin;\n\t\t\t\td.isLog &amp;&amp; (k = N(k), t =\n\t\t\t\t\tN(t), e = N(e));\n\t\t\t\tC ? (q = {\n\t\t\t\t\tstroke: K,\n\t\t\t\t\t\"stroke-width\": b.width\n\t\t\t\t}, b.dashStyle &amp;&amp; (q.dashstyle = b.dashStyle)) : h &amp;&amp; (K &amp;&amp; (q.fill = K), b.borderWidth &amp;&amp; (q.stroke = b.borderColor, q[\"stroke-width\"] = b.borderWidth));\n\t\t\t\tD.zIndex = I;\n\t\t\t\tL += \"-\" + I;\n\t\t\t\t(K = d[L]) || (d[L] = K = G.g(\"plot-\" + L).attr(D).add());\n\t\t\t\tc &amp;&amp; (a.svgElem = u = G.path().attr(q).add(K));\n\t\t\t\tif (C) q = d.getPlotLinePath(e, u.strokeWidth());\n\t\t\t\telse if (h) q = d.getPlotBandPath(k, t, b);\n\t\t\t\telse return;\n\t\t\t\tif (c &amp;&amp; q &amp;&amp; q.length) {\n\t\t\t\t\tif (u.attr({\n\t\t\t\t\t\t\td: q\n\t\t\t\t\t\t}), p)\n\t\t\t\t\t\tfor (x in b = function(b) {\n\t\t\t\t\t\t\t\tu.on(b, function(c) {\n\t\t\t\t\t\t\t\t\tp[b].apply(a, [c])\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, p) b(x)\n\t\t\t\t} else u &amp;&amp;\n\t\t\t\t\t(q ? (u.show(), u.animate({\n\t\t\t\t\t\td: q\n\t\t\t\t\t})) : (u.hide(), w &amp;&amp; (a.label = w = w.destroy())));\n\t\t\t\tn &amp;&amp; F(n.text) &amp;&amp; q &amp;&amp; q.length &amp;&amp; 0 &lt; d.width &amp;&amp; 0 &lt; d.height &amp;&amp; !q.flat ? (n = g({\n\t\t\t\t\talign: f &amp;&amp; h &amp;&amp; \"center\",\n\t\t\t\t\tx: f ? !h &amp;&amp; 4 : 10,\n\t\t\t\t\tverticalAlign: !f &amp;&amp; h &amp;&amp; \"middle\",\n\t\t\t\t\ty: f ? h ? 16 : 10 : h ? 6 : -4,\n\t\t\t\t\trotation: f &amp;&amp; !h &amp;&amp; 90\n\t\t\t\t}, n), this.renderLabel(n, q, h, I)) : w &amp;&amp; w.hide();\n\t\t\t\treturn a\n\t\t\t},\n\t\t\trenderLabel: function(a, d, f, b) {\n\t\t\t\tvar n = this.label,\n\t\t\t\t\tl = this.axis.chart.renderer;\n\t\t\t\tn || (n = {\n\t\t\t\t\t\talign: a.textAlign || a.align,\n\t\t\t\t\t\trotation: a.rotation,\n\t\t\t\t\t\t\"class\": \"highcharts-plot-\" + (f ? \"band\" : \"line\") + \"-label \" + (a.className || \"\")\n\t\t\t\t\t}, n.zIndex = b,\n\t\t\t\t\tthis.label = n = l.text(a.text, 0, 0, a.useHTML).attr(n).add(), n.css(a.style));\n\t\t\t\tb = [d[1], d[4], f ? d[6] : d[1]];\n\t\t\t\td = [d[2], d[5], f ? d[7] : d[2]];\n\t\t\t\tf = A(b);\n\t\t\t\tl = A(d);\n\t\t\t\tn.align(a, !1, {\n\t\t\t\t\tx: f,\n\t\t\t\t\ty: l,\n\t\t\t\t\twidth: E(b) - f,\n\t\t\t\t\theight: E(d) - l\n\t\t\t\t});\n\t\t\t\tn.show()\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\td(this.axis.plotLinesAndBands, this);\n\t\t\t\tdelete this.axis;\n\t\t\t\tH(this)\n\t\t\t}\n\t\t};\n\t\ta.AxisPlotLineOrBandExtension = {\n\t\t\tgetPlotBandPath: function(a, d) {\n\t\t\t\td = this.getPlotLinePath(d, null, null, !0);\n\t\t\t\t(a = this.getPlotLinePath(a, null, null, !0)) &amp;&amp; d ? (a.flat = a.toString() === d.toString(), a.push(d[4], d[5], d[1], d[2], \"z\")) : a = null;\n\t\t\t\treturn a\n\t\t\t},\n\t\t\taddPlotBand: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotBands\")\n\t\t\t},\n\t\t\taddPlotLine: function(a) {\n\t\t\t\treturn this.addPlotBandOrLine(a, \"plotLines\")\n\t\t\t},\n\t\t\taddPlotBandOrLine: function(d, g) {\n\t\t\t\tvar f = (new a.PlotLineOrBand(this, d)).render(),\n\t\t\t\t\tb = this.userOptions;\n\t\t\t\tf &amp;&amp; (g &amp;&amp; (b[g] = b[g] || [], b[g].push(d)), this.plotLinesAndBands.push(f));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\tremovePlotBandOrLine: function(a) {\n\t\t\t\tfor (var g = this.plotLinesAndBands, f = this.options, b = this.userOptions, n = g.length; n--;) g[n].id === a &amp;&amp; g[n].destroy();\n\t\t\t\tp([f.plotLines || [], b.plotLines || [], f.plotBands || [], b.plotBands || []], function(b) {\n\t\t\t\t\tfor (n = b.length; n--;) b[n].id === a &amp;&amp; d(b, b[n])\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.correctFloat,\n\t\t\tA = a.defined,\n\t\t\tF = a.destroyObjectProperties,\n\t\t\tH = a.isNumber,\n\t\t\tp = a.merge,\n\t\t\td = a.pick,\n\t\t\tg = a.deg2rad;\n\t\ta.Tick = function(a, d, g, f) {\n\t\t\tthis.axis = a;\n\t\t\tthis.pos = d;\n\t\t\tthis.type = g || \"\";\n\t\t\tthis.isNew = !0;\n\t\t\tg || f || this.addLabel()\n\t\t};\n\t\ta.Tick.prototype = {\n\t\t\taddLabel: function() {\n\t\t\t\tvar a = this.axis,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tr = a.chart,\n\t\t\t\t\tf = a.categories,\n\t\t\t\t\tb = a.names,\n\t\t\t\t\tn = this.pos,\n\t\t\t\t\tw = g.labels,\n\t\t\t\t\tt = a.tickPositions,\n\t\t\t\t\tk = n === t[0],\n\t\t\t\t\te = n === t[t.length - 1],\n\t\t\t\t\tb = f ? d(f[n],\n\t\t\t\t\t\tb[n], n) : n,\n\t\t\t\t\tf = this.label,\n\t\t\t\t\tt = t.info,\n\t\t\t\t\th;\n\t\t\t\ta.isDatetimeAxis &amp;&amp; t &amp;&amp; (h = g.dateTimeLabelFormats[t.higherRanks[n] || t.unitName]);\n\t\t\t\tthis.isFirst = k;\n\t\t\t\tthis.isLast = e;\n\t\t\t\tg = a.labelFormatter.call({\n\t\t\t\t\taxis: a,\n\t\t\t\t\tchart: r,\n\t\t\t\t\tisFirst: k,\n\t\t\t\t\tisLast: e,\n\t\t\t\t\tdateTimeLabelFormat: h,\n\t\t\t\t\tvalue: a.isLog ? E(a.lin2log(b)) : b\n\t\t\t\t});\n\t\t\t\tA(f) ? f &amp;&amp; f.attr({\n\t\t\t\t\ttext: g\n\t\t\t\t}) : (this.labelLength = (this.label = f = A(g) &amp;&amp; w.enabled ? r.renderer.text(g, 0, 0, w.useHTML).css(p(w.style)).add(a.labelGroup) : null) &amp;&amp; f.getBBox().width, this.rotation = 0)\n\t\t\t},\n\t\t\tgetLabelSize: function() {\n\t\t\t\treturn this.label ? this.label.getBBox()[this.axis.horiz ?\n\t\t\t\t\t\"height\" : \"width\"] : 0\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar l = this.axis,\n\t\t\t\t\tr = a.x,\n\t\t\t\t\tf = l.chart.chartWidth,\n\t\t\t\t\tb = l.chart.spacing,\n\t\t\t\t\tn = d(l.labelLeft, Math.min(l.pos, b[3])),\n\t\t\t\t\tb = d(l.labelRight, Math.max(l.pos + l.len, f - b[1])),\n\t\t\t\t\tw = this.label,\n\t\t\t\t\tt = this.rotation,\n\t\t\t\t\tk = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\tcenter: .5,\n\t\t\t\t\t\tright: 1\n\t\t\t\t\t}[l.labelAlign],\n\t\t\t\t\te = w.getBBox().width,\n\t\t\t\t\th = l.getSlotWidth(),\n\t\t\t\t\tC = h,\n\t\t\t\t\tu = 1,\n\t\t\t\t\tc, q = {};\n\t\t\t\tif (t) 0 &gt; t &amp;&amp; r - k * e &lt; n ? c = Math.round(r / Math.cos(t * g) - n) : 0 &lt; t &amp;&amp; r + k * e &gt; b &amp;&amp; (c = Math.round((f - r) / Math.cos(t * g)));\n\t\t\t\telse if (f = r + (1 - k) * e, r - k * e &lt; n ? C = a.x + C * (1 - k) - n : f &gt; b &amp;&amp; (C = b - a.x + C * k, u = -1), C = Math.min(h,\n\t\t\t\t\t\tC), C &lt; h &amp;&amp; \"center\" === l.labelAlign &amp;&amp; (a.x += u * (h - C - k * (h - Math.min(e, C)))), e &gt; C || l.autoRotation &amp;&amp; (w.styles || {}).width) c = C;\n\t\t\t\tc &amp;&amp; (q.width = c, (l.options.labels.style || {}).textOverflow || (q.textOverflow = \"ellipsis\"), w.css(q))\n\t\t\t},\n\t\t\tgetPosition: function(a, d, g, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tn = b.chart,\n\t\t\t\t\tl = f &amp;&amp; n.oldChartHeight || n.chartHeight;\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? b.translate(d + g, null, null, f) + b.transB : b.left + b.offset + (b.opposite ? (f &amp;&amp; n.oldChartWidth || n.chartWidth) - b.right - b.left : 0),\n\t\t\t\t\ty: a ? l - b.bottom + b.offset - (b.opposite ? b.height : 0) : l - b.translate(d + g, null,\n\t\t\t\t\t\tnull, f) - b.transB\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetLabelPosition: function(a, d, r, f, b, n, w, t) {\n\t\t\t\tvar k = this.axis,\n\t\t\t\t\te = k.transA,\n\t\t\t\t\th = k.reversed,\n\t\t\t\t\tC = k.staggerLines,\n\t\t\t\t\tu = k.tickRotCorr || {\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0\n\t\t\t\t\t},\n\t\t\t\t\tc = b.y;\n\t\t\t\tA(c) || (c = 0 === k.side ? r.rotation ? -8 : -r.getBBox().height : 2 === k.side ? u.y + 8 : Math.cos(r.rotation * g) * (u.y - r.getBBox(!1, 0).height / 2));\n\t\t\t\ta = a + b.x + u.x - (n &amp;&amp; f ? n * e * (h ? -1 : 1) : 0);\n\t\t\t\td = d + c - (n &amp;&amp; !f ? n * e * (h ? 1 : -1) : 0);\n\t\t\t\tC &amp;&amp; (r = w / (t || 1) % C, k.opposite &amp;&amp; (r = C - r - 1), d += k.labelOffset / C * r);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: Math.round(d)\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetMarkPath: function(a, d, g, f, b, n) {\n\t\t\t\treturn n.crispLine([\"M\", a, d, \"L\", a + (b ?\n\t\t\t\t\t0 : -g), d + (b ? g : 0)], f)\n\t\t\t},\n\t\t\trender: function(a, g, r) {\n\t\t\t\tvar f = this.axis,\n\t\t\t\t\tb = f.options,\n\t\t\t\t\tn = f.chart.renderer,\n\t\t\t\t\tl = f.horiz,\n\t\t\t\t\tt = this.type,\n\t\t\t\t\tk = this.label,\n\t\t\t\t\te = this.pos,\n\t\t\t\t\th = b.labels,\n\t\t\t\t\tC = this.gridLine,\n\t\t\t\t\tu = t ? t + \"Tick\" : \"tick\",\n\t\t\t\t\tc = f.tickSize(u),\n\t\t\t\t\tq = this.mark,\n\t\t\t\t\tx = !q,\n\t\t\t\t\tK = h.step,\n\t\t\t\t\tI = {},\n\t\t\t\t\tp = !0,\n\t\t\t\t\tD = f.tickmarkOffset,\n\t\t\t\t\tG = this.getPosition(l, e, D, g),\n\t\t\t\t\tL = G.x,\n\t\t\t\t\tG = G.y,\n\t\t\t\t\tv = l &amp;&amp; L === f.pos + f.len || !l &amp;&amp; G === f.pos ? -1 : 1,\n\t\t\t\t\tm = t ? t + \"Grid\" : \"grid\",\n\t\t\t\t\tz = b[m + \"LineWidth\"],\n\t\t\t\t\tO = b[m + \"LineColor\"],\n\t\t\t\t\tP = b[m + \"LineDashStyle\"],\n\t\t\t\t\tm = d(b[u + \"Width\"], !t &amp;&amp; f.isXAxis ? 1 : 0),\n\t\t\t\t\tu = b[u + \"Color\"];\n\t\t\t\tr = d(r, 1);\n\t\t\t\tthis.isActive = !0;\n\t\t\t\tC || (I.stroke =\n\t\t\t\t\tO, I[\"stroke-width\"] = z, P &amp;&amp; (I.dashstyle = P), t || (I.zIndex = 1), g &amp;&amp; (I.opacity = 0), this.gridLine = C = n.path().attr(I).addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"grid-line\").add(f.gridGroup));\n\t\t\t\tif (!g &amp;&amp; C &amp;&amp; (e = f.getPlotLinePath(e + D, C.strokeWidth() * v, g, !0))) C[this.isNew ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: e,\n\t\t\t\t\topacity: r\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; (f.opposite &amp;&amp; (c[0] = -c[0]), x &amp;&amp; (this.mark = q = n.path().addClass(\"highcharts-\" + (t ? t + \"-\" : \"\") + \"tick\").add(f.axisGroup), q.attr({\n\t\t\t\t\tstroke: u,\n\t\t\t\t\t\"stroke-width\": m\n\t\t\t\t})), q[x ? \"attr\" : \"animate\"]({\n\t\t\t\t\td: this.getMarkPath(L, G, c[0], q.strokeWidth() *\n\t\t\t\t\t\tv, l, n),\n\t\t\t\t\topacity: r\n\t\t\t\t}));\n\t\t\t\tk &amp;&amp; H(L) &amp;&amp; (k.xy = G = this.getLabelPosition(L, G, k, l, h, D, a, K), this.isFirst &amp;&amp; !this.isLast &amp;&amp; !d(b.showFirstLabel, 1) || this.isLast &amp;&amp; !this.isFirst &amp;&amp; !d(b.showLastLabel, 1) ? p = !1 : !l || f.isRadial || h.step || h.rotation || g || 0 === r || this.handleOverflow(G), K &amp;&amp; a % K &amp;&amp; (p = !1), p &amp;&amp; H(G.y) ? (G.opacity = r, k[this.isNew ? \"attr\" : \"animate\"](G)) : k.attr(\"y\", -9999), this.isNew = !1)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tF(this, this.axis)\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.AxisPlotLineOrBandExtension,\n\t\t\td = a.color,\n\t\t\tg = a.correctFloat,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.deg2rad,\n\t\t\tf = a.destroyObjectProperties,\n\t\t\tb = a.each,\n\t\t\tn = a.error,\n\t\t\tw = a.extend,\n\t\t\tt = a.fireEvent,\n\t\t\tk = a.format,\n\t\t\te = a.getMagnitude,\n\t\t\th = a.grep,\n\t\t\tC = a.inArray,\n\t\t\tu = a.isArray,\n\t\t\tc = a.isNumber,\n\t\t\tq = a.isString,\n\t\t\tx = a.merge,\n\t\t\tK = a.normalizeTickInterval,\n\t\t\tI = a.pick,\n\t\t\tJ = a.PlotLineOrBand,\n\t\t\tD = a.removeEvent,\n\t\t\tG = a.splat,\n\t\t\tL = a.syncTimeout,\n\t\t\tN = a.Tick;\n\t\ta.Axis = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Axis.prototype = {\n\t\t\tdefaultOptions: {\n\t\t\t\tdateTimeLabelFormats: {\n\t\t\t\t\tmillisecond: \"%H:%M:%S.%L\",\n\t\t\t\t\tsecond: \"%H:%M:%S\",\n\t\t\t\t\tminute: \"%H:%M\",\n\t\t\t\t\thour: \"%H:%M\",\n\t\t\t\t\tday: \"%e. %b\",\n\t\t\t\t\tweek: \"%e. %b\",\n\t\t\t\t\tmonth: \"%b '%y\",\n\t\t\t\t\tyear: \"%Y\"\n\t\t\t\t},\n\t\t\t\tendOnTick: !1,\n\t\t\t\tlabels: {\n\t\t\t\t\tenabled: !0,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\",\n\t\t\t\t\t\tcursor: \"default\",\n\t\t\t\t\t\tfontSize: \"11px\"\n\t\t\t\t\t},\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\tminPadding: .01,\n\t\t\t\tmaxPadding: .01,\n\t\t\t\tminorTickLength: 2,\n\t\t\t\tminorTickPosition: \"outside\",\n\t\t\t\tstartOfWeek: 1,\n\t\t\t\tstartOnTick: !1,\n\t\t\t\ttickLength: 10,\n\t\t\t\ttickmarkPlacement: \"between\",\n\t\t\t\ttickPixelInterval: 100,\n\t\t\t\ttickPosition: \"outside\",\n\t\t\t\ttitle: {\n\t\t\t\t\talign: \"middle\",\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttype: \"linear\",\n\t\t\t\tminorGridLineColor: \"#f2f2f2\",\n\t\t\t\tminorGridLineWidth: 1,\n\t\t\t\tminorTickColor: \"#999999\",\n\t\t\t\tlineColor: \"#ccd6eb\",\n\t\t\t\tlineWidth: 1,\n\t\t\t\tgridLineColor: \"#e6e6e6\",\n\t\t\t\ttickColor: \"#ccd6eb\"\n\t\t\t},\n\t\t\tdefaultYAxisOptions: {\n\t\t\t\tendOnTick: !0,\n\t\t\t\ttickPixelInterval: 72,\n\t\t\t\tshowLastLabel: !0,\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -8\n\t\t\t\t},\n\t\t\t\tmaxPadding: .05,\n\t\t\t\tminPadding: .05,\n\t\t\t\tstartOnTick: !0,\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270,\n\t\t\t\t\ttext: \"Values\"\n\t\t\t\t},\n\t\t\t\tstackLabels: {\n\t\t\t\t\tenabled: !1,\n\t\t\t\t\tformatter: function() {\n\t\t\t\t\t\treturn a.numberFormat(this.total, -1)\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\tcolor: \"#000000\",\n\t\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgridLineWidth: 1,\n\t\t\t\tlineWidth: 0\n\t\t\t},\n\t\t\tdefaultLeftAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: -15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 270\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultRightAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tx: 15\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 90\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultBottomAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tdefaultTopAxisOptions: {\n\t\t\t\tlabels: {\n\t\t\t\t\tautoRotation: [-45],\n\t\t\t\t\tx: 0\n\t\t\t\t},\n\t\t\t\ttitle: {\n\t\t\t\t\trotation: 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = b.isX;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.horiz = a.inverted ? !c : c;\n\t\t\t\tthis.isXAxis = c;\n\t\t\t\tthis.coll = this.coll || (c ? \"xAxis\" : \"yAxis\");\n\t\t\t\tthis.opposite = b.opposite;\n\t\t\t\tthis.side = b.side || (this.horiz ? this.opposite ? 0 : 2 : this.opposite ? 1 : 3);\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tm = e.type;\n\t\t\t\tthis.labelFormatter = e.labels.formatter || this.defaultLabelFormatter;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.minPixelPadding = 0;\n\t\t\t\tthis.reversed = e.reversed;\n\t\t\t\tthis.visible = !1 !== e.visible;\n\t\t\t\tthis.zoomEnabled = !1 !== e.zoomEnabled;\n\t\t\t\tthis.hasNames = \"category\" === m || !0 === e.categories;\n\t\t\t\tthis.categories = e.categories || this.hasNames;\n\t\t\t\tthis.names = this.names || [];\n\t\t\t\tthis.isLog = \"logarithmic\" === m;\n\t\t\t\tthis.isDatetimeAxis = \"datetime\" === m;\n\t\t\t\tthis.isLinked = l(e.linkedTo);\n\t\t\t\tthis.ticks = {};\n\t\t\t\tthis.labelEdge = [];\n\t\t\t\tthis.minorTicks = {};\n\t\t\t\tthis.plotLinesAndBands = [];\n\t\t\t\tthis.alternateBands = {};\n\t\t\t\tthis.len = 0;\n\t\t\t\tthis.minRange = this.userMinRange = e.minRange || e.maxZoom;\n\t\t\t\tthis.range = e.range;\n\t\t\t\tthis.offset = e.offset || 0;\n\t\t\t\tthis.stacks = {};\n\t\t\t\tthis.oldStacks = {};\n\t\t\t\tthis.stacksTouched = 0;\n\t\t\t\tthis.min = this.max = null;\n\t\t\t\tthis.crosshair = I(e.crosshair, G(a.options.tooltip.crosshairs)[c ? 0 : 1], !1);\n\t\t\t\tvar z;\n\t\t\t\tb = this.options.events; - 1 === C(this, a.axes) &amp;&amp; (c ? a.axes.splice(a.xAxis.length, 0, this) : a.axes.push(this), a[this.coll].push(this));\n\t\t\t\tthis.series = this.series || [];\n\t\t\t\ta.inverted &amp;&amp; c &amp;&amp; void 0 === this.reversed &amp;&amp; (this.reversed = !0);\n\t\t\t\tthis.removePlotLine = this.removePlotBand = this.removePlotBandOrLine;\n\t\t\t\tfor (z in b) E(this, z, b[z]);\n\t\t\t\tthis.isLog &amp;&amp; (this.val2lin = this.log2lin, this.lin2val = this.lin2log)\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tthis.options = x(this.defaultOptions, \"yAxis\" === this.coll &amp;&amp; this.defaultYAxisOptions, [this.defaultTopAxisOptions, this.defaultRightAxisOptions, this.defaultBottomAxisOptions, this.defaultLeftAxisOptions][this.side], x(v[this.coll], a))\n\t\t\t},\n\t\t\tdefaultLabelFormatter: function() {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\tc = this.value,\n\t\t\t\t\te = b.categories,\n\t\t\t\t\th = this.dateTimeLabelFormat,\n\t\t\t\t\tf = v.lang,\n\t\t\t\t\tB = f.numericSymbols,\n\t\t\t\t\tf = f.numericSymbolMagnitude || 1E3,\n\t\t\t\t\tq = B &amp;&amp; B.length,\n\t\t\t\t\td, n = b.options.labels.format,\n\t\t\t\t\tb = b.isLog ? c : b.tickInterval;\n\t\t\t\tif (n) d = k(n, this);\n\t\t\t\telse if (e) d = c;\n\t\t\t\telse if (h) d = a.dateFormat(h, c);\n\t\t\t\telse if (q &amp;&amp; 1E3 &lt;= b)\n\t\t\t\t\tfor (; q-- &amp;&amp; void 0 === d;) e = Math.pow(f, q + 1), b &gt;= e &amp;&amp; 0 === 10 * c % e &amp;&amp; null !== B[q] &amp;&amp; 0 !== c &amp;&amp; (d = a.numberFormat(c / e, -1) + B[q]);\n\t\t\t\tvoid 0 === d &amp;&amp; (d = 1E4 &lt;= Math.abs(c) ? a.numberFormat(c, -1) : a.numberFormat(c, -1, void 0, \"\"));\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetSeriesExtremes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\te = a.chart;\n\t\t\t\ta.hasVisibleSeries = !1;\n\t\t\t\ta.dataMin = a.dataMax = a.threshold = null;\n\t\t\t\ta.softThreshold = !a.isXAxis;\n\t\t\t\ta.buildStacks &amp;&amp; a.buildStacks();\n\t\t\t\tb(a.series, function(b) {\n\t\t\t\t\tif (b.visible ||\n\t\t\t\t\t\t!e.options.chart.ignoreHiddenSeries) {\n\t\t\t\t\t\tvar m = b.options,\n\t\t\t\t\t\t\tz = m.threshold,\n\t\t\t\t\t\t\tk;\n\t\t\t\t\t\ta.hasVisibleSeries = !0;\n\t\t\t\t\t\ta.isLog &amp;&amp; 0 &gt;= z &amp;&amp; (z = null);\n\t\t\t\t\t\tif (a.isXAxis) m = b.xData, m.length &amp;&amp; (b = H(m), c(b) || b instanceof Date || (m = h(m, function(a) {\n\t\t\t\t\t\t\treturn c(a)\n\t\t\t\t\t\t}), b = H(m)), a.dataMin = Math.min(I(a.dataMin, m[0]), b), a.dataMax = Math.max(I(a.dataMax, m[0]), F(m)));\n\t\t\t\t\t\telse if (b.getExtremes(), k = b.dataMax, b = b.dataMin, l(b) &amp;&amp; l(k) &amp;&amp; (a.dataMin = Math.min(I(a.dataMin, b), b), a.dataMax = Math.max(I(a.dataMax, k), k)), l(z) &amp;&amp; (a.threshold = z), !m.softThreshold || a.isLog) a.softThreshold = !1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\ttranslate: function(a, b, e, h, k, B) {\n\t\t\t\tvar m = this.linkedParent || this,\n\t\t\t\t\tz = 1,\n\t\t\t\t\tf = 0,\n\t\t\t\t\tq = h ? m.oldTransA : m.transA;\n\t\t\t\th = h ? m.oldMin : m.min;\n\t\t\t\tvar d = m.minPixelPadding;\n\t\t\t\tk = (m.isOrdinal || m.isBroken || m.isLog &amp;&amp; k) &amp;&amp; m.lin2val;\n\t\t\t\tq || (q = m.transA);\n\t\t\t\te &amp;&amp; (z *= -1, f = m.len);\n\t\t\t\tm.reversed &amp;&amp; (z *= -1, f -= z * (m.sector || m.len));\n\t\t\t\tb ? (a = (a * z + f - d) / q + h, k &amp;&amp; (a = m.lin2val(a))) : (k &amp;&amp; (a = m.val2lin(a)), a = z * (a - h) * q + f + z * d + (c(B) ? q * B : 0));\n\t\t\t\treturn a\n\t\t\t},\n\t\t\ttoPixels: function(a, b) {\n\t\t\t\treturn this.translate(a, !1, !this.horiz, null, !0) + (b ? 0 : this.pos)\n\t\t\t},\n\t\t\ttoValue: function(a, b) {\n\t\t\t\treturn this.translate(a -\n\t\t\t\t\t(b ? 0 : this.pos), !0, !this.horiz, null, !0)\n\t\t\t},\n\t\t\tgetPlotLinePath: function(a, b, e, h, k) {\n\t\t\t\tvar m = this.chart,\n\t\t\t\t\tz = this.left,\n\t\t\t\t\tf = this.top,\n\t\t\t\t\tq, d, n = e &amp;&amp; m.oldChartHeight || m.chartHeight,\n\t\t\t\t\tu = e &amp;&amp; m.oldChartWidth || m.chartWidth,\n\t\t\t\t\tg;\n\t\t\t\tq = this.transB;\n\t\t\t\tvar t = function(a, b, c) {\n\t\t\t\t\tif (a &lt; b || a &gt; c) h ? a = Math.min(Math.max(b, a), c) : g = !0;\n\t\t\t\t\treturn a\n\t\t\t\t};\n\t\t\t\tk = I(k, this.translate(a, null, null, e));\n\t\t\t\ta = e = Math.round(k + q);\n\t\t\t\tq = d = Math.round(n - k - q);\n\t\t\t\tc(k) ? this.horiz ? (q = f, d = n - this.bottom, a = e = t(a, z, z + this.width)) : (a = z, e = u - this.right, q = d = t(q, f, f + this.height)) : g = !0;\n\t\t\t\treturn g &amp;&amp; !h ? null : m.renderer.crispLine([\"M\",\n\t\t\t\t\ta, q, \"L\", e, d\n\t\t\t\t], b || 1)\n\t\t\t},\n\t\t\tgetLinearTickPositions: function(a, b, e) {\n\t\t\t\tvar m, z = g(Math.floor(b / a) * a),\n\t\t\t\t\th = g(Math.ceil(e / a) * a),\n\t\t\t\t\tk = [];\n\t\t\t\tif (b === e &amp;&amp; c(b)) return [b];\n\t\t\t\tfor (b = z; b &lt;= h;) {\n\t\t\t\t\tk.push(b);\n\t\t\t\t\tb = g(b + a);\n\t\t\t\t\tif (b === m) break;\n\t\t\t\t\tm = b\n\t\t\t\t}\n\t\t\t\treturn k\n\t\t\t},\n\t\t\tgetMinorTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.minorTickInterval,\n\t\t\t\t\te = [],\n\t\t\t\t\th, k = this.pointRangePadding || 0;\n\t\t\t\th = this.min - k;\n\t\t\t\tvar k = this.max + k,\n\t\t\t\t\tf = k - h;\n\t\t\t\tif (f &amp;&amp; f / c &lt; this.len / 3)\n\t\t\t\t\tif (this.isLog)\n\t\t\t\t\t\tfor (k = b.length, h = 1; h &lt; k; h++) e = e.concat(this.getLogTickPositions(c, b[h - 1], b[h], !0));\n\t\t\t\t\telse if (this.isDatetimeAxis &amp;&amp;\n\t\t\t\t\t\"auto\" === a.minorTickInterval) e = e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c), h, k, a.startOfWeek));\n\t\t\t\telse\n\t\t\t\t\tfor (b = h + (b[0] - h) % c; b &lt;= k &amp;&amp; b !== e[0]; b += c) e.push(b);\n\t\t\t\t0 !== e.length &amp;&amp; this.trimTicks(e, a.startOnTick, a.endOnTick);\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tadjustForMinRange: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tc = this.min,\n\t\t\t\t\te = this.max,\n\t\t\t\t\th, k = this.dataMax - this.dataMin &gt;= this.minRange,\n\t\t\t\t\tf, q, d, n, u, g;\n\t\t\t\tthis.isXAxis &amp;&amp; void 0 === this.minRange &amp;&amp; !this.isLog &amp;&amp; (l(a.min) || l(a.max) ? this.minRange = null : (b(this.series, function(a) {\n\t\t\t\t\tn = a.xData;\n\t\t\t\t\tfor (q = u = a.xIncrement ?\n\t\t\t\t\t\t1 : n.length - 1; 0 &lt; q; q--)\n\t\t\t\t\t\tif (d = n[q] - n[q - 1], void 0 === f || d &lt; f) f = d\n\t\t\t\t}), this.minRange = Math.min(5 * f, this.dataMax - this.dataMin)));\n\t\t\t\te - c &lt; this.minRange &amp;&amp; (g = this.minRange, h = (g - e + c) / 2, h = [c - h, I(a.min, c - h)], k &amp;&amp; (h[2] = this.isLog ? this.log2lin(this.dataMin) : this.dataMin), c = F(h), e = [c + g, I(a.max, c + g)], k &amp;&amp; (e[2] = this.isLog ? this.log2lin(this.dataMax) : this.dataMax), e = H(e), e - c &lt; g &amp;&amp; (h[0] = e - g, h[1] = I(a.min, e - g), c = F(h)));\n\t\t\t\tthis.min = c;\n\t\t\t\tthis.max = e\n\t\t\t},\n\t\t\tgetClosest: function() {\n\t\t\t\tvar a;\n\t\t\t\tthis.categories ? a = 1 : b(this.series, function(b) {\n\t\t\t\t\tvar c = b.closestPointRange,\n\t\t\t\t\t\te = b.visible || !b.chart.options.chart.ignoreHiddenSeries;\n\t\t\t\t\t!b.noSharedTooltip &amp;&amp; l(c) &amp;&amp; e &amp;&amp; (a = l(a) ? Math.min(a, c) : c)\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tnameToX: function(a) {\n\t\t\t\tvar b = u(this.categories),\n\t\t\t\t\tc = b ? this.categories : this.names,\n\t\t\t\t\te = a.options.x,\n\t\t\t\t\tm;\n\t\t\t\ta.series.requireSorting = !1;\n\t\t\t\tl(e) || (e = !1 === this.options.uniqueNames ? a.series.autoIncrement() : C(a.name, c)); - 1 === e ? b || (m = c.length) : m = e;\n\t\t\t\tthis.names[m] = a.name;\n\t\t\t\treturn m\n\t\t\t},\n\t\t\tupdateNames: function() {\n\t\t\t\tvar a = this;\n\t\t\t\t0 &lt; this.names.length &amp;&amp; (this.names.length = 0, this.minRange = void 0, b(this.series || [], function(c) {\n\t\t\t\t\tc.xIncrement =\n\t\t\t\t\t\tnull;\n\t\t\t\t\tif (!c.points || c.isDirtyData) c.processData(), c.generatePoints();\n\t\t\t\t\tb(c.points, function(b, e) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\tb.options &amp;&amp; void 0 === b.options.x &amp;&amp; (m = a.nameToX(b), m !== b.x &amp;&amp; (b.x = m, c.xData[e] = m))\n\t\t\t\t\t})\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetAxisTranslation: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.max - c.min,\n\t\t\t\t\tm = c.axisPointRange || 0,\n\t\t\t\t\th, k = 0,\n\t\t\t\t\tf = 0,\n\t\t\t\t\td = c.linkedParent,\n\t\t\t\t\tn = !!c.categories,\n\t\t\t\t\tu = c.transA,\n\t\t\t\t\tg = c.isXAxis;\n\t\t\t\tif (g || n || m) h = c.getClosest(), d ? (k = d.minPointOffset, f = d.pointRangePadding) : b(c.series, function(a) {\n\t\t\t\t\tvar b = n ? 1 : g ? I(a.options.pointRange, h, 0) : c.axisPointRange || 0;\n\t\t\t\t\ta = a.options.pointPlacement;\n\t\t\t\t\tm = Math.max(m, b);\n\t\t\t\t\tc.single || (k = Math.max(k, q(a) ? 0 : b / 2), f = Math.max(f, \"on\" === a ? 0 : b))\n\t\t\t\t}), d = c.ordinalSlope &amp;&amp; h ? c.ordinalSlope / h : 1, c.minPointOffset = k *= d, c.pointRangePadding = f *= d, c.pointRange = Math.min(m, e), g &amp;&amp; (c.closestPointRange = h);\n\t\t\t\ta &amp;&amp; (c.oldTransA = u);\n\t\t\t\tc.translationSlope = c.transA = u = c.len / (e + f || 1);\n\t\t\t\tc.transB = c.horiz ? c.left : c.bottom;\n\t\t\t\tc.minPixelPadding = u * k\n\t\t\t},\n\t\t\tminFromRange: function() {\n\t\t\t\treturn this.max - this.range\n\t\t\t},\n\t\t\tsetTickInterval: function(a) {\n\t\t\t\tvar m = this,\n\t\t\t\t\th = m.chart,\n\t\t\t\t\tk = m.options,\n\t\t\t\t\tf = m.isLog,\n\t\t\t\t\tq = m.log2lin,\n\t\t\t\t\td = m.isDatetimeAxis,\n\t\t\t\t\tu = m.isXAxis,\n\t\t\t\t\tD = m.isLinked,\n\t\t\t\t\tx = k.maxPadding,\n\t\t\t\t\tC = k.minPadding,\n\t\t\t\t\tG = k.tickInterval,\n\t\t\t\t\tr = k.tickPixelInterval,\n\t\t\t\t\tL = m.categories,\n\t\t\t\t\tw = m.threshold,\n\t\t\t\t\tp = m.softThreshold,\n\t\t\t\t\tv, N, J, A;\n\t\t\t\td || L || D || this.getTickAmount();\n\t\t\t\tJ = I(m.userMin, k.min);\n\t\t\t\tA = I(m.userMax, k.max);\n\t\t\t\tD ? (m.linkedParent = h[m.coll][k.linkedTo], h = m.linkedParent.getExtremes(), m.min = I(h.min, h.dataMin), m.max = I(h.max, h.dataMax), k.type !== m.linkedParent.options.type &amp;&amp; n(11, 1)) : (!p &amp;&amp; l(w) &amp;&amp; (m.dataMin &gt;= w ? (v = w, C = 0) : m.dataMax &lt;= w &amp;&amp; (N = w, x = 0)), m.min = I(J, v, m.dataMin), m.max = I(A, N, m.dataMax));\n\t\t\t\tf &amp;&amp; (!a &amp;&amp; 0 &gt;= Math.min(m.min,\n\t\t\t\t\tI(m.dataMin, m.min)) &amp;&amp; n(10, 1), m.min = g(q(m.min), 15), m.max = g(q(m.max), 15));\n\t\t\t\tm.range &amp;&amp; l(m.max) &amp;&amp; (m.userMin = m.min = J = Math.max(m.min, m.minFromRange()), m.userMax = A = m.max, m.range = null);\n\t\t\t\tt(m, \"foundExtremes\");\n\t\t\t\tm.beforePadding &amp;&amp; m.beforePadding();\n\t\t\t\tm.adjustForMinRange();\n\t\t\t\t!(L || m.axisPointRange || m.usePercentage || D) &amp;&amp; l(m.min) &amp;&amp; l(m.max) &amp;&amp; (q = m.max - m.min) &amp;&amp; (!l(J) &amp;&amp; C &amp;&amp; (m.min -= q * C), !l(A) &amp;&amp; x &amp;&amp; (m.max += q * x));\n\t\t\t\tc(k.floor) ? m.min = Math.max(m.min, k.floor) : c(k.softMin) &amp;&amp; (m.min = Math.min(m.min, k.softMin));\n\t\t\t\tc(k.ceiling) ? m.max = Math.min(m.max,\n\t\t\t\t\tk.ceiling) : c(k.softMax) &amp;&amp; (m.max = Math.max(m.max, k.softMax));\n\t\t\t\tp &amp;&amp; l(m.dataMin) &amp;&amp; (w = w || 0, !l(J) &amp;&amp; m.min &lt; w &amp;&amp; m.dataMin &gt;= w ? m.min = w : !l(A) &amp;&amp; m.max &gt; w &amp;&amp; m.dataMax &lt;= w &amp;&amp; (m.max = w));\n\t\t\t\tm.tickInterval = m.min === m.max || void 0 === m.min || void 0 === m.max ? 1 : D &amp;&amp; !G &amp;&amp; r === m.linkedParent.options.tickPixelInterval ? G = m.linkedParent.tickInterval : I(G, this.tickAmount ? (m.max - m.min) / Math.max(this.tickAmount - 1, 1) : void 0, L ? 1 : (m.max - m.min) * r / Math.max(m.len, r));\n\t\t\t\tu &amp;&amp; !a &amp;&amp; b(m.series, function(a) {\n\t\t\t\t\ta.processData(m.min !== m.oldMin || m.max !== m.oldMax)\n\t\t\t\t});\n\t\t\t\tm.setAxisTranslation(!0);\n\t\t\t\tm.beforeSetTickPositions &amp;&amp; m.beforeSetTickPositions();\n\t\t\t\tm.postProcessTickInterval &amp;&amp; (m.tickInterval = m.postProcessTickInterval(m.tickInterval));\n\t\t\t\tm.pointRange &amp;&amp; !G &amp;&amp; (m.tickInterval = Math.max(m.pointRange, m.tickInterval));\n\t\t\t\ta = I(k.minTickInterval, m.isDatetimeAxis &amp;&amp; m.closestPointRange);\n\t\t\t\t!G &amp;&amp; m.tickInterval &lt; a &amp;&amp; (m.tickInterval = a);\n\t\t\t\td || f || G || (m.tickInterval = K(m.tickInterval, null, e(m.tickInterval), I(k.allowDecimals, !(.5 &lt; m.tickInterval &amp;&amp; 5 &gt; m.tickInterval &amp;&amp; 1E3 &lt; m.max &amp;&amp; 9999 &gt; m.max)), !!this.tickAmount));\n\t\t\t\tthis.tickAmount || (m.tickInterval =\n\t\t\t\t\tm.unsquish());\n\t\t\t\tthis.setTickPositions()\n\t\t\t},\n\t\t\tsetTickPositions: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb, c = a.tickPositions,\n\t\t\t\t\te = a.tickPositioner,\n\t\t\t\t\th = a.startOnTick,\n\t\t\t\t\tk = a.endOnTick,\n\t\t\t\t\tf;\n\t\t\t\tthis.tickmarkOffset = this.categories &amp;&amp; \"between\" === a.tickmarkPlacement &amp;&amp; 1 === this.tickInterval ? .5 : 0;\n\t\t\t\tthis.minorTickInterval = \"auto\" === a.minorTickInterval &amp;&amp; this.tickInterval ? this.tickInterval / 5 : a.minorTickInterval;\n\t\t\t\tthis.tickPositions = b = c &amp;&amp; c.slice();\n\t\t\t\t!b &amp;&amp; (b = this.isDatetimeAxis ? this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval, a.units),\n\t\t\t\t\tthis.min, this.max, a.startOfWeek, this.ordinalPositions, this.closestPointRange, !0) : this.isLog ? this.getLogTickPositions(this.tickInterval, this.min, this.max) : this.getLinearTickPositions(this.tickInterval, this.min, this.max), b.length &gt; this.len &amp;&amp; (b = [b[0], b.pop()]), this.tickPositions = b, e &amp;&amp; (e = e.apply(this, [this.min, this.max]))) &amp;&amp; (this.tickPositions = b = e);\n\t\t\t\tthis.isLinked || (this.trimTicks(b, h, k), this.min === this.max &amp;&amp; l(this.min) &amp;&amp; !this.tickAmount &amp;&amp; (f = !0, this.min -= .5, this.max += .5), this.single = f, c || e || this.adjustTickAmount())\n\t\t\t},\n\t\t\ttrimTicks: function(a, b, c) {\n\t\t\t\tvar e = a[0],\n\t\t\t\t\tm = a[a.length - 1],\n\t\t\t\t\th = this.minPointOffset || 0;\n\t\t\t\tif (b) this.min = e;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.min - h &gt; a[0];) a.shift();\n\t\t\t\tif (c) this.max = m;\n\t\t\t\telse\n\t\t\t\t\tfor (; this.max + h &lt; a[a.length - 1];) a.pop();\n\t\t\t\t0 === a.length &amp;&amp; l(e) &amp;&amp; a.push((m + e) / 2)\n\t\t\t},\n\t\t\talignToOthers: function() {\n\t\t\t\tvar a = {},\n\t\t\t\t\tc, e = this.options;\n\t\t\t\t!1 !== this.chart.options.chart.alignTicks &amp;&amp; !1 !== e.alignTicks &amp;&amp; b(this.chart[this.coll], function(b) {\n\t\t\t\t\tvar e = b.options,\n\t\t\t\t\t\te = [b.horiz ? e.left : e.top, e.width, e.height, e.pane].join();\n\t\t\t\t\tb.series.length &amp;&amp; (a[e] ? c = !0 : a[e] = 1)\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetTickAmount: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.tickAmount,\n\t\t\t\t\tc = a.tickPixelInterval;\n\t\t\t\t!l(a.tickInterval) &amp;&amp; this.len &lt; c &amp;&amp; !this.isRadial &amp;&amp; !this.isLog &amp;&amp; a.startOnTick &amp;&amp; a.endOnTick &amp;&amp; (b = 2);\n\t\t\t\t!b &amp;&amp; this.alignToOthers() &amp;&amp; (b = Math.ceil(this.len / c) + 1);\n\t\t\t\t4 &gt; b &amp;&amp; (this.finalTickAmt = b, b = 5);\n\t\t\t\tthis.tickAmount = b\n\t\t\t},\n\t\t\tadjustTickAmount: function() {\n\t\t\t\tvar a = this.tickInterval,\n\t\t\t\t\tb = this.tickPositions,\n\t\t\t\t\tc = this.tickAmount,\n\t\t\t\t\te = this.finalTickAmt,\n\t\t\t\t\th = b &amp;&amp; b.length;\n\t\t\t\tif (h &lt; c) {\n\t\t\t\t\tfor (; b.length &lt; c;) b.push(g(b[b.length - 1] + a));\n\t\t\t\t\tthis.transA *= (h - 1) / (c - 1);\n\t\t\t\t\tthis.max = b[b.length - 1]\n\t\t\t\t} else h &gt; c &amp;&amp; (this.tickInterval *=\n\t\t\t\t\t2, this.setTickPositions());\n\t\t\t\tif (l(e)) {\n\t\t\t\t\tfor (a = c = b.length; a--;)(3 === e &amp;&amp; 1 === a % 2 || 2 &gt;= e &amp;&amp; 0 &lt; a &amp;&amp; a &lt; c - 1) &amp;&amp; b.splice(a, 1);\n\t\t\t\t\tthis.finalTickAmt = void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetScale: function() {\n\t\t\t\tvar a, c;\n\t\t\t\tthis.oldMin = this.min;\n\t\t\t\tthis.oldMax = this.max;\n\t\t\t\tthis.oldAxisLength = this.len;\n\t\t\t\tthis.setAxisSize();\n\t\t\t\tc = this.len !== this.oldAxisLength;\n\t\t\t\tb(this.series, function(b) {\n\t\t\t\t\tif (b.isDirtyData || b.isDirty || b.xAxis.isDirty) a = !0\n\t\t\t\t});\n\t\t\t\tc || a || this.isLinked || this.forceRedraw || this.userMin !== this.oldUserMin || this.userMax !== this.oldUserMax || this.alignToOthers() ? (this.resetStacks &amp;&amp;\n\t\t\t\t\tthis.resetStacks(), this.forceRedraw = !1, this.getSeriesExtremes(), this.setTickInterval(), this.oldUserMin = this.userMin, this.oldUserMax = this.userMax, this.isDirty || (this.isDirty = c || this.min !== this.oldMin || this.max !== this.oldMax)) : this.cleanStacks &amp;&amp; this.cleanStacks()\n\t\t\t},\n\t\t\tsetExtremes: function(a, c, e, h, k) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tf = m.chart;\n\t\t\t\te = I(e, !0);\n\t\t\t\tb(m.series, function(a) {\n\t\t\t\t\tdelete a.kdTree\n\t\t\t\t});\n\t\t\t\tk = w(k, {\n\t\t\t\t\tmin: a,\n\t\t\t\t\tmax: c\n\t\t\t\t});\n\t\t\t\tt(m, \"setExtremes\", k, function() {\n\t\t\t\t\tm.userMin = a;\n\t\t\t\t\tm.userMax = c;\n\t\t\t\t\tm.eventArgs = k;\n\t\t\t\t\te &amp;&amp; f.redraw(h)\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a, b) {\n\t\t\t\tvar c = this.dataMin,\n\t\t\t\t\te = this.dataMax,\n\t\t\t\t\tm = this.options,\n\t\t\t\t\th = Math.min(c, I(m.min, c)),\n\t\t\t\t\tm = Math.max(e, I(m.max, e));\n\t\t\t\tif (a !== this.min || b !== this.max) this.allowZoomOutside || (l(c) &amp;&amp; (a &lt; h &amp;&amp; (a = h), a &gt; m &amp;&amp; (a = m)), l(e) &amp;&amp; (b &lt; h &amp;&amp; (b = h), b &gt; m &amp;&amp; (b = m))), this.displayBtn = void 0 !== a || void 0 !== b, this.setExtremes(a, b, !1, void 0, {\n\t\t\t\t\ttrigger: \"zoom\"\n\t\t\t\t});\n\t\t\t\treturn !0\n\t\t\t},\n\t\t\tsetAxisSize: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.offsetLeft || 0,\n\t\t\t\t\te = this.horiz,\n\t\t\t\t\th = I(b.width, a.plotWidth - c + (b.offsetRight || 0)),\n\t\t\t\t\tk = I(b.height, a.plotHeight),\n\t\t\t\t\tf = I(b.top, a.plotTop),\n\t\t\t\t\tb = I(b.left, a.plotLeft + c),\n\t\t\t\t\tc = /%$/;\n\t\t\t\tc.test(k) &amp;&amp; (k = Math.round(parseFloat(k) / 100 * a.plotHeight));\n\t\t\t\tc.test(f) &amp;&amp; (f = Math.round(parseFloat(f) / 100 * a.plotHeight + a.plotTop));\n\t\t\t\tthis.left = b;\n\t\t\t\tthis.top = f;\n\t\t\t\tthis.width = h;\n\t\t\t\tthis.height = k;\n\t\t\t\tthis.bottom = a.chartHeight - k - f;\n\t\t\t\tthis.right = a.chartWidth - h - b;\n\t\t\t\tthis.len = Math.max(e ? h : k, 0);\n\t\t\t\tthis.pos = e ? b : f\n\t\t\t},\n\t\t\tgetExtremes: function() {\n\t\t\t\tvar a = this.isLog,\n\t\t\t\t\tb = this.lin2log;\n\t\t\t\treturn {\n\t\t\t\t\tmin: a ? g(b(this.min)) : this.min,\n\t\t\t\t\tmax: a ? g(b(this.max)) : this.max,\n\t\t\t\t\tdataMin: this.dataMin,\n\t\t\t\t\tdataMax: this.dataMax,\n\t\t\t\t\tuserMin: this.userMin,\n\t\t\t\t\tuserMax: this.userMax\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetThreshold: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis.isLog,\n\t\t\t\t\tc = this.lin2log,\n\t\t\t\t\te = b ? c(this.min) : this.min,\n\t\t\t\t\tb = b ? c(this.max) : this.max;\n\t\t\t\tnull === a ? a = e : e &gt; a ? a = e : b &lt; a &amp;&amp; (a = b);\n\t\t\t\treturn this.translate(a, 0, 1, 0, 1)\n\t\t\t},\n\t\t\tautoLabelAlign: function(a) {\n\t\t\t\ta = (I(a, 0) - 90 * this.side + 720) % 360;\n\t\t\t\treturn 15 &lt; a &amp;&amp; 165 &gt; a ? \"right\" : 195 &lt; a &amp;&amp; 345 &gt; a ? \"left\" : \"center\"\n\t\t\t},\n\t\t\ttickSize: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tc = b[a + \"Length\"],\n\t\t\t\t\te = I(b[a + \"Width\"], \"tick\" === a &amp;&amp; this.isXAxis ? 1 : 0);\n\t\t\t\tif (e &amp;&amp; c) return \"inside\" === b[a + \"Position\"] &amp;&amp; (c = -c), [c, e]\n\t\t\t},\n\t\t\tlabelMetrics: function() {\n\t\t\t\treturn this.chart.renderer.fontMetrics(this.options.labels.style &amp;&amp;\n\t\t\t\t\tthis.options.labels.style.fontSize, this.ticks[0] &amp;&amp; this.ticks[0].label)\n\t\t\t},\n\t\t\tunsquish: function() {\n\t\t\t\tvar a = this.options.labels,\n\t\t\t\t\tc = this.horiz,\n\t\t\t\t\te = this.tickInterval,\n\t\t\t\t\th = e,\n\t\t\t\t\tk = this.len / (((this.categories ? 1 : 0) + this.max - this.min) / e),\n\t\t\t\t\tf, q = a.rotation,\n\t\t\t\t\td = this.labelMetrics(),\n\t\t\t\t\tn, u = Number.MAX_VALUE,\n\t\t\t\t\tg, t = function(a) {\n\t\t\t\t\t\ta /= k || 1;\n\t\t\t\t\t\ta = 1 &lt; a ? Math.ceil(a) : 1;\n\t\t\t\t\t\treturn a * e\n\t\t\t\t\t};\n\t\t\t\tc ? (g = !a.staggerLines &amp;&amp; !a.step &amp;&amp; (l(q) ? [q] : k &lt; I(a.autoRotationLimit, 80) &amp;&amp; a.autoRotation)) &amp;&amp; b(g, function(a) {\n\t\t\t\t\tvar b;\n\t\t\t\t\tif (a === q || a &amp;&amp; -90 &lt;= a &amp;&amp; 90 &gt;= a) n = t(Math.abs(d.h / Math.sin(r * a))), b = n +\n\t\t\t\t\t\tMath.abs(a / 360), b &lt; u &amp;&amp; (u = b, f = a, h = n)\n\t\t\t\t}) : a.step || (h = t(d.h));\n\t\t\t\tthis.autoRotation = g;\n\t\t\t\tthis.labelRotation = I(f, q);\n\t\t\t\treturn h\n\t\t\t},\n\t\t\tgetSlotWidth: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.horiz,\n\t\t\t\t\tc = this.options.labels,\n\t\t\t\t\te = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n\t\t\t\t\th = a.margin[3];\n\t\t\t\treturn b &amp;&amp; 2 &gt; (c.step || 0) &amp;&amp; !c.rotation &amp;&amp; (this.staggerLines || 1) * a.plotWidth / e || !b &amp;&amp; (h &amp;&amp; h - a.spacing[3] || .33 * a.chartWidth)\n\t\t\t},\n\t\t\trenderUnsquish: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tc = a.renderer,\n\t\t\t\t\te = this.tickPositions,\n\t\t\t\t\th = this.ticks,\n\t\t\t\t\tk = this.options.labels,\n\t\t\t\t\tf = this.horiz,\n\t\t\t\t\td = this.getSlotWidth(),\n\t\t\t\t\tn = Math.max(1, Math.round(d - 2 * (k.padding || 5))),\n\t\t\t\t\tu = {},\n\t\t\t\t\tg = this.labelMetrics(),\n\t\t\t\t\tt = k.style &amp;&amp; k.style.textOverflow,\n\t\t\t\t\tD, C = 0,\n\t\t\t\t\tG, l;\n\t\t\t\tq(k.rotation) || (u.rotation = k.rotation || 0);\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\t(a = h[a]) &amp;&amp; a.labelLength &gt; C &amp;&amp; (C = a.labelLength)\n\t\t\t\t});\n\t\t\t\tthis.maxLabelLength = C;\n\t\t\t\tif (this.autoRotation) C &gt; n &amp;&amp; C &gt; g.h ? u.rotation = this.labelRotation : this.labelRotation = 0;\n\t\t\t\telse if (d &amp;&amp; (D = {\n\t\t\t\t\t\twidth: n + \"px\"\n\t\t\t\t\t}, !t))\n\t\t\t\t\tfor (D.textOverflow = \"clip\", G = e.length; !f &amp;&amp; G--;)\n\t\t\t\t\t\tif (l = e[G], n = h[l].label) n.styles &amp;&amp; \"ellipsis\" === n.styles.textOverflow ? n.css({\n\t\t\t\t\t\t\t\ttextOverflow: \"clip\"\n\t\t\t\t\t\t\t}) :\n\t\t\t\t\t\t\th[l].labelLength &gt; d &amp;&amp; n.css({\n\t\t\t\t\t\t\t\twidth: d + \"px\"\n\t\t\t\t\t\t\t}), n.getBBox().height &gt; this.len / e.length - (g.h - g.f) &amp;&amp; (n.specCss = {\n\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\"\n\t\t\t\t\t\t\t});\n\t\t\t\tu.rotation &amp;&amp; (D = {\n\t\t\t\t\twidth: (C &gt; .5 * a.chartHeight ? .33 * a.chartHeight : a.chartHeight) + \"px\"\n\t\t\t\t}, t || (D.textOverflow = \"ellipsis\"));\n\t\t\t\tif (this.labelAlign = k.align || this.autoLabelAlign(this.labelRotation)) u.align = this.labelAlign;\n\t\t\t\tb(e, function(a) {\n\t\t\t\t\tvar b = (a = h[a]) &amp;&amp; a.label;\n\t\t\t\t\tb &amp;&amp; (b.attr(u), D &amp;&amp; b.css(x(D, b.specCss)), delete b.specCss, a.rotation = u.rotation)\n\t\t\t\t});\n\t\t\t\tthis.tickRotCorr = c.rotCorr(g.b, this.labelRotation ||\n\t\t\t\t\t0, 0 !== this.side)\n\t\t\t},\n\t\t\thasData: function() {\n\t\t\t\treturn this.hasVisibleSeries || l(this.min) &amp;&amp; l(this.max) &amp;&amp; !!this.tickPositions\n\t\t\t},\n\t\t\tgetOffset: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.chart,\n\t\t\t\t\te = c.renderer,\n\t\t\t\t\th = a.options,\n\t\t\t\t\tk = a.tickPositions,\n\t\t\t\t\tf = a.ticks,\n\t\t\t\t\tq = a.horiz,\n\t\t\t\t\td = a.side,\n\t\t\t\t\tn = c.inverted ? [1, 0, 3, 2][d] : d,\n\t\t\t\t\tu, g, t = 0,\n\t\t\t\t\tD, x = 0,\n\t\t\t\t\tC = h.title,\n\t\t\t\t\tG = h.labels,\n\t\t\t\t\tr = 0,\n\t\t\t\t\tL = a.opposite,\n\t\t\t\t\tw = c.axisOffset,\n\t\t\t\t\tc = c.clipOffset,\n\t\t\t\t\tp = [-1, 1, 1, -1][d],\n\t\t\t\t\tK, v = h.className,\n\t\t\t\t\tJ = a.axisParent,\n\t\t\t\t\tA = this.tickSize(\"tick\");\n\t\t\t\tu = a.hasData();\n\t\t\t\ta.showAxis = g = u || I(h.showEmpty, !0);\n\t\t\t\ta.staggerLines = a.horiz &amp;&amp; G.staggerLines;\n\t\t\t\ta.axisGroup ||\n\t\t\t\t\t(a.gridGroup = e.g(\"grid\").attr({\n\t\t\t\t\t\tzIndex: h.gridZIndex || 1\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \"-grid \" + (v || \"\")).add(J), a.axisGroup = e.g(\"axis\").attr({\n\t\t\t\t\t\tzIndex: h.zIndex || 2\n\t\t\t\t\t}).addClass(\"highcharts-\" + this.coll.toLowerCase() + \" \" + (v || \"\")).add(J), a.labelGroup = e.g(\"axis-labels\").attr({\n\t\t\t\t\t\tzIndex: G.zIndex || 7\n\t\t\t\t\t}).addClass(\"highcharts-\" + a.coll.toLowerCase() + \"-labels \" + (v || \"\")).add(J));\n\t\t\t\tif (u || a.isLinked) b(k, function(b) {\n\t\t\t\t\tf[b] ? f[b].addLabel() : f[b] = new N(a, b)\n\t\t\t\t}), a.renderUnsquish(), !1 === G.reserveSpace || 0 !== d &amp;&amp; 2 !== d &amp;&amp; {\n\t\t\t\t\t1: \"left\",\n\t\t\t\t\t3: \"right\"\n\t\t\t\t}[d] !== a.labelAlign &amp;&amp; \"center\" !== a.labelAlign || b(k, function(a) {\n\t\t\t\t\tr = Math.max(f[a].getLabelSize(), r)\n\t\t\t\t}), a.staggerLines &amp;&amp; (r *= a.staggerLines, a.labelOffset = r * (a.opposite ? -1 : 1));\n\t\t\t\telse\n\t\t\t\t\tfor (K in f) f[K].destroy(), delete f[K];\n\t\t\t\tC &amp;&amp; C.text &amp;&amp; !1 !== C.enabled &amp;&amp; (a.axisTitle || ((K = C.textAlign) || (K = (q ? {\n\t\t\t\t\t\tlow: \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: \"right\"\n\t\t\t\t\t} : {\n\t\t\t\t\t\tlow: L ? \"right\" : \"left\",\n\t\t\t\t\t\tmiddle: \"center\",\n\t\t\t\t\t\thigh: L ? \"left\" : \"right\"\n\t\t\t\t\t})[C.align]), a.axisTitle = e.text(C.text, 0, 0, C.useHTML).attr({\n\t\t\t\t\t\tzIndex: 7,\n\t\t\t\t\t\trotation: C.rotation || 0,\n\t\t\t\t\t\talign: K\n\t\t\t\t\t}).addClass(\"highcharts-axis-title\").css(C.style).add(a.axisGroup),\n\t\t\t\t\ta.axisTitle.isNew = !0), g &amp;&amp; (t = a.axisTitle.getBBox()[q ? \"height\" : \"width\"], D = C.offset, x = l(D) ? 0 : I(C.margin, q ? 5 : 10)), a.axisTitle[g ? \"show\" : \"hide\"](!0));\n\t\t\t\ta.renderLine();\n\t\t\t\ta.offset = p * I(h.offset, w[d]);\n\t\t\t\ta.tickRotCorr = a.tickRotCorr || {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\te = 0 === d ? -a.labelMetrics().h : 2 === d ? a.tickRotCorr.y : 0;\n\t\t\t\tx = Math.abs(r) + x;\n\t\t\t\tr &amp;&amp; (x = x - e + p * (q ? I(G.y, a.tickRotCorr.y + 8 * p) : G.x));\n\t\t\t\ta.axisTitleMargin = I(D, x);\n\t\t\t\tw[d] = Math.max(w[d], a.axisTitleMargin + t + p * a.offset, x, u &amp;&amp; k.length &amp;&amp; A ? A[0] : 0);\n\t\t\t\th = h.offset ? 0 : 2 * Math.floor(a.axisLine.strokeWidth() / 2);\n\t\t\t\tc[n] =\n\t\t\t\t\tMath.max(c[n], h)\n\t\t\t},\n\t\t\tgetLinePath: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.opposite,\n\t\t\t\t\te = this.offset,\n\t\t\t\t\tm = this.horiz,\n\t\t\t\t\th = this.left + (c ? this.width : 0) + e,\n\t\t\t\t\te = b.chartHeight - this.bottom - (c ? this.height : 0) + e;\n\t\t\t\tc &amp;&amp; (a *= -1);\n\t\t\t\treturn b.renderer.crispLine([\"M\", m ? this.left : h, m ? e : this.top, \"L\", m ? b.chartWidth - this.right : h, m ? e : b.chartHeight - this.bottom], a)\n\t\t\t},\n\t\t\trenderLine: function() {\n\t\t\t\tthis.axisLine || (this.axisLine = this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup), this.axisLine.attr({\n\t\t\t\t\tstroke: this.options.lineColor,\n\t\t\t\t\t\"stroke-width\": this.options.lineWidth,\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}))\n\t\t\t},\n\t\t\tgetTitlePosition: function() {\n\t\t\t\tvar a = this.horiz,\n\t\t\t\t\tb = this.left,\n\t\t\t\t\tc = this.top,\n\t\t\t\t\te = this.len,\n\t\t\t\t\th = this.options.title,\n\t\t\t\t\tk = a ? b : c,\n\t\t\t\t\tf = this.opposite,\n\t\t\t\t\tq = this.offset,\n\t\t\t\t\td = h.x || 0,\n\t\t\t\t\tn = h.y || 0,\n\t\t\t\t\tu = this.chart.renderer.fontMetrics(h.style &amp;&amp; h.style.fontSize, this.axisTitle).f,\n\t\t\t\t\te = {\n\t\t\t\t\t\tlow: k + (a ? 0 : e),\n\t\t\t\t\t\tmiddle: k + e / 2,\n\t\t\t\t\t\thigh: k + (a ? e : 0)\n\t\t\t\t\t}[h.align],\n\t\t\t\t\tb = (a ? c + this.height : b) + (a ? 1 : -1) * (f ? -1 : 1) * this.axisTitleMargin + (2 === this.side ? u : 0);\n\t\t\t\treturn {\n\t\t\t\t\tx: a ? e + d : b + (f ? this.width : 0) + q + d,\n\t\t\t\t\ty: a ? b + n - (f ? this.height : 0) + q : e + n\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a =\n\t\t\t\t\tthis,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\th = e.renderer,\n\t\t\t\t\tk = a.options,\n\t\t\t\t\tf = a.isLog,\n\t\t\t\t\tq = a.lin2log,\n\t\t\t\t\td = a.isLinked,\n\t\t\t\t\tn = a.tickPositions,\n\t\t\t\t\tu = a.axisTitle,\n\t\t\t\t\tg = a.ticks,\n\t\t\t\t\tt = a.minorTicks,\n\t\t\t\t\tD = a.alternateBands,\n\t\t\t\t\tC = k.stackLabels,\n\t\t\t\t\tx = k.alternateGridColor,\n\t\t\t\t\tG = a.tickmarkOffset,\n\t\t\t\t\tl = a.axisLine,\n\t\t\t\t\tr = e.hasRendered &amp;&amp; c(a.oldMin),\n\t\t\t\t\tw = a.showAxis,\n\t\t\t\t\tI = A(h.globalAnimation),\n\t\t\t\t\tp, K;\n\t\t\t\ta.labelEdge.length = 0;\n\t\t\t\ta.overlap = !1;\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tfor (var b in a) a[b].isActive = !1\n\t\t\t\t});\n\t\t\t\tif (a.hasData() || d) a.minorTickInterval &amp;&amp; !a.categories &amp;&amp; b(a.getMinorTickPositions(), function(b) {\n\t\t\t\t\t\tt[b] || (t[b] = new N(a, b, \"minor\"));\n\t\t\t\t\t\tr &amp;&amp; t[b].isNew &amp;&amp; t[b].render(null, !0);\n\t\t\t\t\t\tt[b].render(null, !1, 1)\n\t\t\t\t\t}), n.length &amp;&amp; (b(n, function(b, c) {\n\t\t\t\t\t\tif (!d || b &gt;= a.min &amp;&amp; b &lt;= a.max) g[b] || (g[b] = new N(a, b)), r &amp;&amp; g[b].isNew &amp;&amp; g[b].render(c, !0, .1), g[b].render(c)\n\t\t\t\t\t}), G &amp;&amp; (0 === a.min || a.single) &amp;&amp; (g[-1] || (g[-1] = new N(a, -1, null, !0)), g[-1].render(-1))), x &amp;&amp; b(n, function(b, c) {\n\t\t\t\t\t\tK = void 0 !== n[c + 1] ? n[c + 1] + G : a.max - G;\n\t\t\t\t\t\t0 === c % 2 &amp;&amp; b &lt; a.max &amp;&amp; K &lt;= a.max + (e.polar ? -G : G) &amp;&amp; (D[b] || (D[b] = new J(a)), p = b + G, D[b].options = {\n\t\t\t\t\t\t\tfrom: f ? q(p) : p,\n\t\t\t\t\t\t\tto: f ? q(K) : K,\n\t\t\t\t\t\t\tcolor: x\n\t\t\t\t\t\t}, D[b].render(), D[b].isActive = !0)\n\t\t\t\t\t}), a._addedPlotLB ||\n\t\t\t\t\t(b((k.plotLines || []).concat(k.plotBands || []), function(b) {\n\t\t\t\t\t\ta.addPlotBandOrLine(b)\n\t\t\t\t\t}), a._addedPlotLB = !0);\n\t\t\t\tb([g, t, D], function(a) {\n\t\t\t\t\tvar b, c, h = [],\n\t\t\t\t\t\tk = I.duration;\n\t\t\t\t\tfor (b in a) a[b].isActive || (a[b].render(b, !1, 0), a[b].isActive = !1, h.push(b));\n\t\t\t\t\tL(function() {\n\t\t\t\t\t\tfor (c = h.length; c--;) a[h[c]] &amp;&amp; !a[h[c]].isActive &amp;&amp; (a[h[c]].destroy(), delete a[h[c]])\n\t\t\t\t\t}, a !== D &amp;&amp; e.hasRendered &amp;&amp; k ? k : 0)\n\t\t\t\t});\n\t\t\t\tl &amp;&amp; (l[l.isPlaced ? \"animate\" : \"attr\"]({\n\t\t\t\t\td: this.getLinePath(l.strokeWidth())\n\t\t\t\t}), l.isPlaced = !0, l[w ? \"show\" : \"hide\"](!0));\n\t\t\t\tu &amp;&amp; w &amp;&amp; (u[u.isNew ? \"attr\" : \"animate\"](a.getTitlePosition()),\n\t\t\t\t\tu.isNew = !1);\n\t\t\t\tC &amp;&amp; C.enabled &amp;&amp; a.renderStackTotals();\n\t\t\t\ta.isDirty = !1\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tthis.visible &amp;&amp; (this.render(), b(this.plotLinesAndBands, function(a) {\n\t\t\t\t\ta.render()\n\t\t\t\t}));\n\t\t\t\tb(this.series, function(a) {\n\t\t\t\t\ta.isDirty = !0\n\t\t\t\t})\n\t\t\t},\n\t\t\tkeepProps: \"extKey hcEvents names series userMax userMin\".split(\" \"),\n\t\t\tdestroy: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.stacks,\n\t\t\t\t\th, k = c.plotLinesAndBands,\n\t\t\t\t\tm;\n\t\t\t\ta || D(c);\n\t\t\t\tfor (h in e) f(e[h]), e[h] = null;\n\t\t\t\tb([c.ticks, c.minorTicks, c.alternateBands], function(a) {\n\t\t\t\t\tf(a)\n\t\t\t\t});\n\t\t\t\tif (k)\n\t\t\t\t\tfor (a = k.length; a--;) k[a].destroy();\n\t\t\t\tb(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tc[a] &amp;&amp; (c[a] = c[a].destroy())\n\t\t\t\t\t});\n\t\t\t\tfor (m in c) c.hasOwnProperty(m) &amp;&amp; -1 === C(m, c.keepProps) &amp;&amp; delete c[m]\n\t\t\t},\n\t\t\tdrawCrosshair: function(a, b) {\n\t\t\t\tvar c, e = this.crosshair,\n\t\t\t\t\th = I(e.snap, !0),\n\t\t\t\t\tk, m = this.cross;\n\t\t\t\ta || (a = this.cross &amp;&amp; this.cross.e);\n\t\t\t\tthis.crosshair &amp;&amp; !1 !== (l(b) || !h) ? (h ? l(b) &amp;&amp; (k = this.isXAxis ? b.plotX : this.len - b.plotY) : k = a &amp;&amp; (this.horiz ? a.chartX - this.pos : this.len - a.chartY + this.pos), l(k) &amp;&amp; (c = this.getPlotLinePath(b &amp;&amp; (this.isXAxis ? b.x : I(b.stackY, b.y)), null, null, null, k) || null), l(c) ? (b = this.categories &amp;&amp; !this.isRadial,\n\t\t\t\t\tm || (this.cross = m = this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\" + (b ? \"category \" : \"thin \") + e.className).attr({\n\t\t\t\t\t\tzIndex: I(e.zIndex, 2)\n\t\t\t\t\t}).add(), m.attr({\n\t\t\t\t\t\tstroke: e.color || (b ? d(\"#ccd6eb\").setOpacity(.25).get() : \"#cccccc\"),\n\t\t\t\t\t\t\"stroke-width\": I(e.width, 1)\n\t\t\t\t\t}), e.dashStyle &amp;&amp; m.attr({\n\t\t\t\t\t\tdashstyle: e.dashStyle\n\t\t\t\t\t})), m.show().attr({\n\t\t\t\t\t\td: c\n\t\t\t\t\t}), b &amp;&amp; !e.width &amp;&amp; m.attr({\n\t\t\t\t\t\t\"stroke-width\": this.transA\n\t\t\t\t\t}), this.cross.e = a) : this.hideCrosshair()) : this.hideCrosshair()\n\t\t\t},\n\t\t\thideCrosshair: function() {\n\t\t\t\tthis.cross &amp;&amp; this.cross.hide()\n\t\t\t}\n\t\t};\n\t\tw(a.Axis.prototype, p)\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.Date,\n\t\t\tF = a.dateFormat,\n\t\t\tH = a.defaultOptions,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.getMagnitude,\n\t\t\tl = a.getTZOffset,\n\t\t\tr = a.normalizeTickInterval,\n\t\t\tf = a.pick,\n\t\t\tb = a.timeUnits;\n\t\tE.prototype.getTimeTicks = function(a, r, t, k) {\n\t\t\tvar e = [],\n\t\t\t\th = {},\n\t\t\t\tn = H.global.useUTC,\n\t\t\t\tu, c = new A(r - l(r)),\n\t\t\t\tq = A.hcMakeTime,\n\t\t\t\tx = a.unitRange,\n\t\t\t\tw = a.count,\n\t\t\t\tI;\n\t\t\tif (p(r)) {\n\t\t\t\tc[A.hcSetMilliseconds](x &gt;= b.second ? 0 : w * Math.floor(c.getMilliseconds() / w));\n\t\t\t\tif (x &gt;= b.second) c[A.hcSetSeconds](x &gt;= b.minute ? 0 : w * Math.floor(c.getSeconds() /\n\t\t\t\t\tw));\n\t\t\t\tif (x &gt;= b.minute) c[A.hcSetMinutes](x &gt;= b.hour ? 0 : w * Math.floor(c[A.hcGetMinutes]() / w));\n\t\t\t\tif (x &gt;= b.hour) c[A.hcSetHours](x &gt;= b.day ? 0 : w * Math.floor(c[A.hcGetHours]() / w));\n\t\t\t\tif (x &gt;= b.day) c[A.hcSetDate](x &gt;= b.month ? 1 : w * Math.floor(c[A.hcGetDate]() / w));\n\t\t\t\tx &gt;= b.month &amp;&amp; (c[A.hcSetMonth](x &gt;= b.year ? 0 : w * Math.floor(c[A.hcGetMonth]() / w)), u = c[A.hcGetFullYear]());\n\t\t\t\tif (x &gt;= b.year) c[A.hcSetFullYear](u - u % w);\n\t\t\t\tif (x === b.week) c[A.hcSetDate](c[A.hcGetDate]() - c[A.hcGetDay]() + f(k, 1));\n\t\t\t\tu = c[A.hcGetFullYear]();\n\t\t\t\tk = c[A.hcGetMonth]();\n\t\t\t\tvar v = c[A.hcGetDate](),\n\t\t\t\t\tD = c[A.hcGetHours]();\n\t\t\t\tif (A.hcTimezoneOffset || A.hcGetTimezoneOffset) I = (!n || !!A.hcGetTimezoneOffset) &amp;&amp; (t - r &gt; 4 * b.month || l(r) !== l(t)), c = c.getTime(), c = new A(c + l(c));\n\t\t\t\tn = c.getTime();\n\t\t\t\tfor (r = 1; n &lt; t;) e.push(n), n = x === b.year ? q(u + r * w, 0) : x === b.month ? q(u, k + r * w) : !I || x !== b.day &amp;&amp; x !== b.week ? I &amp;&amp; x === b.hour ? q(u, k, v, D + r * w) : n + x * w : q(u, k, v + r * w * (x === b.day ? 1 : 7)), r++;\n\t\t\t\te.push(n);\n\t\t\t\tx &lt;= b.hour &amp;&amp; d(e, function(a) {\n\t\t\t\t\t\"000000000\" === F(\"%H%M%S%L\", a) &amp;&amp; (h[a] = \"day\")\n\t\t\t\t})\n\t\t\t}\n\t\t\te.info = g(a, {\n\t\t\t\thigherRanks: h,\n\t\t\t\ttotalRange: x * w\n\t\t\t});\n\t\t\treturn e\n\t\t};\n\t\tE.prototype.normalizeTimeTickInterval =\n\t\t\tfunction(a, f) {\n\t\t\t\tvar d = f || [\n\t\t\t\t\t[\"millisecond\", [1, 2, 5, 10, 20, 25, 50, 100, 200, 500]],\n\t\t\t\t\t[\"second\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"minute\", [1, 2, 5, 10, 15, 30]],\n\t\t\t\t\t[\"hour\", [1, 2, 3, 4, 6, 8, 12]],\n\t\t\t\t\t[\"day\", [1, 2]],\n\t\t\t\t\t[\"week\", [1, 2]],\n\t\t\t\t\t[\"month\", [1, 2, 3, 4, 6]],\n\t\t\t\t\t[\"year\", null]\n\t\t\t\t];\n\t\t\t\tf = d[d.length - 1];\n\t\t\t\tvar k = b[f[0]],\n\t\t\t\t\te = f[1],\n\t\t\t\t\th;\n\t\t\t\tfor (h = 0; h &lt; d.length &amp;&amp; !(f = d[h], k = b[f[0]], e = f[1], d[h + 1] &amp;&amp; a &lt;= (k * e[e.length - 1] + b[d[h + 1][0]]) / 2); h++);\n\t\t\t\tk === b.year &amp;&amp; a &lt; 5 * k &amp;&amp; (e = [1, 2, 5]);\n\t\t\t\ta = r(a / k, e, \"year\" === f[0] ? Math.max(v(a / k), 1) : 1);\n\t\t\t\treturn {\n\t\t\t\t\tunitRange: k,\n\t\t\t\t\tcount: a,\n\t\t\t\t\tunitName: f[0]\n\t\t\t\t}\n\t\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Axis,\n\t\t\tA = a.getMagnitude,\n\t\t\tF = a.map,\n\t\t\tH = a.normalizeTickInterval,\n\t\t\tp = a.pick;\n\t\tE.prototype.getLogTickPositions = function(a, g, v, l) {\n\t\t\tvar d = this.options,\n\t\t\t\tf = this.len,\n\t\t\t\tb = this.lin2log,\n\t\t\t\tn = this.log2lin,\n\t\t\t\tw = [];\n\t\t\tl || (this._minorAutoInterval = null);\n\t\t\tif (.5 &lt;= a) a = Math.round(a), w = this.getLinearTickPositions(a, g, v);\n\t\t\telse if (.08 &lt;= a)\n\t\t\t\tfor (var f = Math.floor(g), t, k, e, h, C, d = .3 &lt; a ? [1, 2, 4] : .15 &lt; a ? [1, 2, 4, 6, 8] : [1, 2, 3, 4, 5, 6, 7, 8, 9]; f &lt; v + 1 &amp;&amp; !C; f++)\n\t\t\t\t\tfor (k = d.length, t = 0; t &lt; k &amp;&amp; !C; t++) e = n(b(f) * d[t]), e &gt; g &amp;&amp; (!l || h &lt;= v) &amp;&amp; void 0 !== h &amp;&amp; w.push(h), h &gt; v &amp;&amp; (C = !0), h = e;\n\t\t\telse g = b(g), v =\n\t\t\t\tb(v), a = d[l ? \"minorTickInterval\" : \"tickInterval\"], a = p(\"auto\" === a ? null : a, this._minorAutoInterval, d.tickPixelInterval / (l ? 5 : 1) * (v - g) / ((l ? f / this.tickPositions.length : f) || 1)), a = H(a, null, A(a)), w = F(this.getLinearTickPositions(a, g, v), n), l || (this._minorAutoInterval = a / 5);\n\t\t\tl || (this.tickInterval = a);\n\t\t\treturn w\n\t\t};\n\t\tE.prototype.log2lin = function(a) {\n\t\t\treturn Math.log(a) / Math.LN10\n\t\t};\n\t\tE.prototype.lin2log = function(a) {\n\t\t\treturn Math.pow(10, a)\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.dateFormat,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.format,\n\t\t\tp = a.isNumber,\n\t\t\td = a.map,\n\t\t\tg =\n\t\t\ta.merge,\n\t\t\tv = a.pick,\n\t\t\tl = a.splat,\n\t\t\tr = a.syncTimeout,\n\t\t\tf = a.timeUnits;\n\t\ta.Tooltip = function() {\n\t\t\tthis.init.apply(this, arguments)\n\t\t};\n\t\ta.Tooltip.prototype = {\n\t\t\tinit: function(a, f) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.options = f;\n\t\t\t\tthis.crosshairs = [];\n\t\t\t\tthis.now = {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0\n\t\t\t\t};\n\t\t\t\tthis.isHidden = !0;\n\t\t\t\tthis.split = f.split &amp;&amp; !a.inverted;\n\t\t\t\tthis.shared = f.shared || this.split\n\t\t\t},\n\t\t\tcleanSplit: function(a) {\n\t\t\t\tA(this.chart.series, function(b) {\n\t\t\t\t\tvar f = b &amp;&amp; b.tt;\n\t\t\t\t\tf &amp;&amp; (!f.isActive || a ? b.tt = f.destroy() : f.isActive = !1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetLabel: function() {\n\t\t\t\tvar a = this.chart.renderer,\n\t\t\t\t\tf = this.options;\n\t\t\t\tthis.label || (this.split ?\n\t\t\t\t\tthis.label = a.g(\"tooltip\") : (this.label = a.label(\"\", 0, 0, f.shape || \"callout\", null, null, f.useHTML, null, \"tooltip\").attr({\n\t\t\t\t\t\tpadding: f.padding,\n\t\t\t\t\t\tr: f.borderRadius\n\t\t\t\t\t}), this.label.attr({\n\t\t\t\t\t\tfill: f.backgroundColor,\n\t\t\t\t\t\t\"stroke-width\": f.borderWidth\n\t\t\t\t\t}).css(f.style).shadow(f.shadow)), this.label.attr({\n\t\t\t\t\t\tzIndex: 8\n\t\t\t\t\t}).add());\n\t\t\t\treturn this.label\n\t\t\t},\n\t\t\tupdate: function(a) {\n\t\t\t\tthis.destroy();\n\t\t\t\tthis.init(this.chart, g(!0, this.options, a))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tthis.label &amp;&amp; (this.label = this.label.destroy());\n\t\t\t\tthis.split &amp;&amp; this.tt &amp;&amp; (this.cleanSplit(this.chart, !0),\n\t\t\t\t\tthis.tt = this.tt.destroy());\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tclearTimeout(this.tooltipTimeout)\n\t\t\t},\n\t\t\tmove: function(a, f, d, g) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = b.now,\n\t\t\t\t\th = !1 !== b.options.animation &amp;&amp; !b.isHidden &amp;&amp; (1 &lt; Math.abs(a - e.x) || 1 &lt; Math.abs(f - e.y)),\n\t\t\t\t\tn = b.followPointer || 1 &lt; b.len;\n\t\t\t\tF(e, {\n\t\t\t\t\tx: h ? (2 * e.x + a) / 3 : a,\n\t\t\t\t\ty: h ? (e.y + f) / 2 : f,\n\t\t\t\t\tanchorX: n ? void 0 : h ? (2 * e.anchorX + d) / 3 : d,\n\t\t\t\t\tanchorY: n ? void 0 : h ? (e.anchorY + g) / 2 : g\n\t\t\t\t});\n\t\t\t\tb.getLabel().attr(e);\n\t\t\t\th &amp;&amp; (clearTimeout(this.tooltipTimeout), this.tooltipTimeout = setTimeout(function() {\n\t\t\t\t\tb &amp;&amp; b.move(a, f, d, g)\n\t\t\t\t}, 32))\n\t\t\t},\n\t\t\thide: function(a) {\n\t\t\t\tvar b =\n\t\t\t\t\tthis;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\ta = v(a, this.options.hideDelay, 500);\n\t\t\t\tthis.isHidden || (this.hideTimer = r(function() {\n\t\t\t\t\tb.getLabel()[a ? \"fadeOut\" : \"hide\"]();\n\t\t\t\t\tb.isHidden = !0\n\t\t\t\t}, a))\n\t\t\t},\n\t\t\tgetAnchor: function(a, f) {\n\t\t\t\tvar b, n = this.chart,\n\t\t\t\t\tk = n.inverted,\n\t\t\t\t\te = n.plotTop,\n\t\t\t\t\th = n.plotLeft,\n\t\t\t\t\tg = 0,\n\t\t\t\t\tu = 0,\n\t\t\t\t\tc, q;\n\t\t\t\ta = l(a);\n\t\t\t\tb = a[0].tooltipPos;\n\t\t\t\tthis.followPointer &amp;&amp; f &amp;&amp; (void 0 === f.chartX &amp;&amp; (f = n.pointer.normalize(f)), b = [f.chartX - n.plotLeft, f.chartY - e]);\n\t\t\t\tb || (A(a, function(a) {\n\t\t\t\t\tc = a.series.yAxis;\n\t\t\t\t\tq = a.series.xAxis;\n\t\t\t\t\tg += a.plotX + (!k &amp;&amp; q ? q.left - h : 0);\n\t\t\t\t\tu += (a.plotLow ? (a.plotLow + a.plotHigh) /\n\t\t\t\t\t\t2 : a.plotY) + (!k &amp;&amp; c ? c.top - e : 0)\n\t\t\t\t}), g /= a.length, u /= a.length, b = [k ? n.plotWidth - u : g, this.shared &amp;&amp; !k &amp;&amp; 1 &lt; a.length &amp;&amp; f ? f.chartY - e : k ? n.plotHeight - g : u]);\n\t\t\t\treturn d(b, Math.round)\n\t\t\t},\n\t\t\tgetPosition: function(a, f, d) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tk = this.distance,\n\t\t\t\t\te = {},\n\t\t\t\t\th = d.h || 0,\n\t\t\t\t\tn, u = [\"y\", b.chartHeight, f, d.plotY + b.plotTop, b.plotTop, b.plotTop + b.plotHeight],\n\t\t\t\t\tc = [\"x\", b.chartWidth, a, d.plotX + b.plotLeft, b.plotLeft, b.plotLeft + b.plotWidth],\n\t\t\t\t\tq = !this.followPointer &amp;&amp; v(d.ttBelow, !b.inverted === !!d.negative),\n\t\t\t\t\tg = function(a, b, c, f, m, d) {\n\t\t\t\t\t\tvar n = c &lt; f - k,\n\t\t\t\t\t\t\tu = f + k + c &lt; b,\n\t\t\t\t\t\t\tg =\n\t\t\t\t\t\t\tf - k - c;\n\t\t\t\t\t\tf += k;\n\t\t\t\t\t\tif (q &amp;&amp; u) e[a] = f;\n\t\t\t\t\t\telse if (!q &amp;&amp; n) e[a] = g;\n\t\t\t\t\t\telse if (n) e[a] = Math.min(d - c, 0 &gt; g - h ? g : g - h);\n\t\t\t\t\t\telse if (u) e[a] = Math.max(m, f + h + c &gt; b ? f : f + h);\n\t\t\t\t\t\telse return !1\n\t\t\t\t\t},\n\t\t\t\t\tl = function(a, b, c, h) {\n\t\t\t\t\t\tvar m;\n\t\t\t\t\t\th &lt; k || h &gt; b - k ? m = !1 : e[a] = h &lt; c / 2 ? 1 : h &gt; b - c / 2 ? b - c - 2 : h - c / 2;\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tr = function(a) {\n\t\t\t\t\t\tvar b = u;\n\t\t\t\t\t\tu = c;\n\t\t\t\t\t\tc = b;\n\t\t\t\t\t\tn = a\n\t\t\t\t\t},\n\t\t\t\t\tp = function() {\n\t\t\t\t\t\t!1 !== g.apply(0, u) ? !1 !== l.apply(0, c) || n || (r(!0), p()) : n ? e.x = e.y = 0 : (r(!0), p())\n\t\t\t\t\t};\n\t\t\t\t(b.inverted || 1 &lt; this.len) &amp;&amp; r();\n\t\t\t\tp();\n\t\t\t\treturn e\n\t\t\t},\n\t\t\tdefaultFormatter: function(a) {\n\t\t\t\tvar b = this.points || l(this),\n\t\t\t\t\tf;\n\t\t\t\tf = [a.tooltipFooterHeaderFormatter(b[0])];\n\t\t\t\tf = f.concat(a.bodyFormatter(b));\n\t\t\t\tf.push(a.tooltipFooterHeaderFormatter(b[0], !0));\n\t\t\t\treturn f\n\t\t\t},\n\t\t\trefresh: function(a, f) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\td, k = this.options,\n\t\t\t\t\te, h, n = {},\n\t\t\t\t\tu = [];\n\t\t\t\td = k.formatter || this.defaultFormatter;\n\t\t\t\tvar n = b.hoverPoints,\n\t\t\t\t\tc = this.shared;\n\t\t\t\tclearTimeout(this.hideTimer);\n\t\t\t\tthis.followPointer = l(a)[0].series.tooltipOptions.followPointer;\n\t\t\t\th = this.getAnchor(a, f);\n\t\t\t\tf = h[0];\n\t\t\t\te = h[1];\n\t\t\t\t!c || a.series &amp;&amp; a.series.noSharedTooltip ? n = a.getLabelConfig() : (b.hoverPoints = a, n &amp;&amp; A(n, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t}), A(a, function(a) {\n\t\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\t\tu.push(a.getLabelConfig())\n\t\t\t\t\t}),\n\t\t\t\t\tn = {\n\t\t\t\t\t\tx: a[0].category,\n\t\t\t\t\t\ty: a[0].y\n\t\t\t\t\t}, n.points = u, this.len = u.length, a = a[0]);\n\t\t\t\tn = d.call(n, this);\n\t\t\t\tc = a.series;\n\t\t\t\tthis.distance = v(c.tooltipOptions.distance, 16);\n\t\t\t\t!1 === n ? this.hide() : (d = this.getLabel(), this.isHidden &amp;&amp; d.attr({\n\t\t\t\t\topacity: 1\n\t\t\t\t}).show(), this.split ? this.renderSplit(n, b.hoverPoints) : (d.attr({\n\t\t\t\t\ttext: n &amp;&amp; n.join ? n.join(\"\") : n\n\t\t\t\t}), d.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\" + v(a.colorIndex, c.colorIndex)), d.attr({\n\t\t\t\t\tstroke: k.borderColor || a.color || c.color || \"#666666\"\n\t\t\t\t}), this.updatePosition({\n\t\t\t\t\tplotX: f,\n\t\t\t\t\tplotY: e,\n\t\t\t\t\tnegative: a.negative,\n\t\t\t\t\tttBelow: a.ttBelow,\n\t\t\t\t\th: h[2] || 0\n\t\t\t\t})), this.isHidden = !1)\n\t\t\t},\n\t\t\trenderSplit: function(b, f) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tn = [],\n\t\t\t\t\tk = this.chart,\n\t\t\t\t\te = k.renderer,\n\t\t\t\t\th = !0,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tu, c = this.getLabel();\n\t\t\t\tA(b.slice(0, b.length - 1), function(a, b) {\n\t\t\t\t\tb = f[b - 1] || {\n\t\t\t\t\t\tisHeader: !0,\n\t\t\t\t\t\tplotX: f[0].plotX\n\t\t\t\t\t};\n\t\t\t\t\tvar q = b.series || d,\n\t\t\t\t\t\tt = q.tt,\n\t\t\t\t\t\tx = b.series || {},\n\t\t\t\t\t\tD = \"highcharts-color-\" + v(b.colorIndex, x.colorIndex, \"none\");\n\t\t\t\t\tt || (q.tt = t = e.label(null, null, null, \"callout\").addClass(\"highcharts-tooltip-box \" + D).attr({\n\t\t\t\t\t\tpadding: g.padding,\n\t\t\t\t\t\tr: g.borderRadius,\n\t\t\t\t\t\tfill: g.backgroundColor,\n\t\t\t\t\t\tstroke: b.color || x.color || \"#333333\",\n\t\t\t\t\t\t\"stroke-width\": g.borderWidth\n\t\t\t\t\t}).add(c));\n\t\t\t\t\tt.isActive = !0;\n\t\t\t\t\tt.attr({\n\t\t\t\t\t\ttext: a\n\t\t\t\t\t});\n\t\t\t\t\tt.css(g.style);\n\t\t\t\t\ta = t.getBBox();\n\t\t\t\t\tx = a.width + t.strokeWidth();\n\t\t\t\t\tb.isHeader ? (u = a.height, x = Math.max(0, Math.min(b.plotX + k.plotLeft - x / 2, k.chartWidth - x))) : x = b.plotX + k.plotLeft - v(g.distance, 16) - x;\n\t\t\t\t\t0 &gt; x &amp;&amp; (h = !1);\n\t\t\t\t\ta = (b.series &amp;&amp; b.series.yAxis &amp;&amp; b.series.yAxis.pos) + (b.plotY || 0);\n\t\t\t\t\ta -= k.plotTop;\n\t\t\t\t\tn.push({\n\t\t\t\t\t\ttarget: b.isHeader ? k.plotHeight + u : a,\n\t\t\t\t\t\trank: b.isHeader ? 1 : 0,\n\t\t\t\t\t\tsize: q.tt.getBBox().height + 1,\n\t\t\t\t\t\tpoint: b,\n\t\t\t\t\t\tx: x,\n\t\t\t\t\t\ttt: t\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tthis.cleanSplit();\n\t\t\t\ta.distribute(n, k.plotHeight + u);\n\t\t\t\tA(n, function(a) {\n\t\t\t\t\tvar b = a.point;\n\t\t\t\t\ta.tt.attr({\n\t\t\t\t\t\tvisibility: void 0 === a.pos ? \"hidden\" : \"inherit\",\n\t\t\t\t\t\tx: h || b.isHeader ? a.x : b.plotX + k.plotLeft + v(g.distance, 16),\n\t\t\t\t\t\ty: a.pos + k.plotTop,\n\t\t\t\t\t\tanchorX: b.plotX + k.plotLeft,\n\t\t\t\t\t\tanchorY: b.isHeader ? a.pos + k.plotTop - 15 : b.plotY + k.plotTop\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdatePosition: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tf = this.getLabel(),\n\t\t\t\t\tf = (this.options.positioner || this.getPosition).call(this, f.width, f.height, a);\n\t\t\t\tthis.move(Math.round(f.x), Math.round(f.y || 0), a.plotX + b.plotLeft, a.plotY + b.plotTop)\n\t\t\t},\n\t\t\tgetXDateFormat: function(a, d, g) {\n\t\t\t\tvar b;\n\t\t\t\td = d.dateTimeLabelFormats;\n\t\t\t\tvar k = g &amp;&amp; g.closestPointRange,\n\t\t\t\t\te, h = {\n\t\t\t\t\t\tmillisecond: 15,\n\t\t\t\t\t\tsecond: 12,\n\t\t\t\t\t\tminute: 9,\n\t\t\t\t\t\thour: 6,\n\t\t\t\t\t\tday: 3\n\t\t\t\t\t},\n\t\t\t\t\tn, u = \"millisecond\";\n\t\t\t\tif (k) {\n\t\t\t\t\tn = E(\"%m-%d %H:%M:%S.%L\", a.x);\n\t\t\t\t\tfor (e in f) {\n\t\t\t\t\t\tif (k === f.week &amp;&amp; +E(\"%w\", a.x) === g.options.startOfWeek &amp;&amp; \"00:00:00.000\" === n.substr(6)) {\n\t\t\t\t\t\t\te = \"week\";\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (f[e] &gt; k) {\n\t\t\t\t\t\t\te = u;\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (h[e] &amp;&amp; n.substr(h[e]) !== \"01-01 00:00:00.000\".substr(h[e])) break;\n\t\t\t\t\t\t\"week\" !== e &amp;&amp; (u = e)\n\t\t\t\t\t}\n\t\t\t\t\te &amp;&amp; (b = d[e])\n\t\t\t\t} else b = d.day;\n\t\t\t\treturn b || d.year\n\t\t\t},\n\t\t\ttooltipFooterHeaderFormatter: function(a, f) {\n\t\t\t\tvar b =\n\t\t\t\t\tf ? \"footer\" : \"header\";\n\t\t\t\tf = a.series;\n\t\t\t\tvar d = f.tooltipOptions,\n\t\t\t\t\tk = d.xDateFormat,\n\t\t\t\t\te = f.xAxis,\n\t\t\t\t\th = e &amp;&amp; \"datetime\" === e.options.type &amp;&amp; p(a.key),\n\t\t\t\t\tb = d[b + \"Format\"];\n\t\t\t\th &amp;&amp; !k &amp;&amp; (k = this.getXDateFormat(a, d, e));\n\t\t\t\th &amp;&amp; k &amp;&amp; (b = b.replace(\"{point.key}\", \"{point.key:\" + k + \"}\"));\n\t\t\t\treturn H(b, {\n\t\t\t\t\tpoint: a,\n\t\t\t\t\tseries: f\n\t\t\t\t})\n\t\t\t},\n\t\t\tbodyFormatter: function(a) {\n\t\t\t\treturn d(a, function(a) {\n\t\t\t\t\tvar b = a.series.tooltipOptions;\n\t\t\t\t\treturn (b.pointFormatter || a.point.tooltipFormatter).call(a.point, b.pointFormat)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.attr,\n\t\t\tF = a.charts,\n\t\t\tH = a.color,\n\t\t\tp = a.css,\n\t\t\td =\n\t\t\ta.defined,\n\t\t\tg = a.doc,\n\t\t\tv = a.each,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.offset,\n\t\t\tb = a.pick,\n\t\t\tn = a.removeEvent,\n\t\t\tw = a.splat,\n\t\t\tt = a.Tooltip,\n\t\t\tk = a.win;\n\t\ta.Pointer = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\ta.Pointer.prototype = {\n\t\t\tinit: function(a, h) {\n\t\t\t\tthis.options = h;\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.runChartClick = h.chart.events &amp;&amp; !!h.chart.events.click;\n\t\t\t\tthis.pinchDown = [];\n\t\t\t\tthis.lastValidTouch = {};\n\t\t\t\tt &amp;&amp; h.tooltip.enabled &amp;&amp; (a.tooltip = new t(a, h.tooltip), this.followTouchMove = b(h.tooltip.followTouchMove, !0));\n\t\t\t\tthis.setDOMEvents()\n\t\t\t},\n\t\t\tzoomOption: function(a) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tf = e.options.chart,\n\t\t\t\t\tk = f.zoomType || \"\",\n\t\t\t\t\te = e.inverted;\n\t\t\t\t/touch/.test(a.type) &amp;&amp; (k = b(f.pinchType, k));\n\t\t\t\tthis.zoomX = a = /x/.test(k);\n\t\t\t\tthis.zoomY = k = /y/.test(k);\n\t\t\t\tthis.zoomHor = a &amp;&amp; !e || k &amp;&amp; e;\n\t\t\t\tthis.zoomVert = k &amp;&amp; !e || a &amp;&amp; e;\n\t\t\t\tthis.hasZoom = a || k\n\t\t\t},\n\t\t\tnormalize: function(a, b) {\n\t\t\t\tvar e, h;\n\t\t\t\ta = a || k.event;\n\t\t\t\ta.target || (a.target = a.srcElement);\n\t\t\t\th = a.touches ? a.touches.length ? a.touches.item(0) : a.changedTouches[0] : a;\n\t\t\t\tb || (this.chartPosition = b = f(this.chart.container));\n\t\t\t\tvoid 0 === h.pageX ? (e = Math.max(a.x, a.clientX - b.left), b = a.y) : (e = h.pageX - b.left, b = h.pageY - b.top);\n\t\t\t\treturn l(a, {\n\t\t\t\t\tchartX: Math.round(e),\n\t\t\t\t\tchartY: Math.round(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetCoordinates: function(a) {\n\t\t\t\tvar b = {\n\t\t\t\t\txAxis: [],\n\t\t\t\t\tyAxis: []\n\t\t\t\t};\n\t\t\t\tv(this.chart.axes, function(e) {\n\t\t\t\t\tb[e.isXAxis ? \"xAxis\" : \"yAxis\"].push({\n\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\tvalue: e.toValue(a[e.horiz ? \"chartX\" : \"chartY\"])\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\treturn b\n\t\t\t},\n\t\t\trunPointActions: function(e) {\n\t\t\t\tvar h = this.chart,\n\t\t\t\t\tf = h.series,\n\t\t\t\t\tk = h.tooltip,\n\t\t\t\t\tc = k ? k.shared : !1,\n\t\t\t\t\td = !0,\n\t\t\t\t\tn = h.hoverPoint,\n\t\t\t\t\tt = h.hoverSeries,\n\t\t\t\t\tl, r, D, G = [],\n\t\t\t\t\tL;\n\t\t\t\tif (!c &amp;&amp; !t)\n\t\t\t\t\tfor (l = 0; l &lt; f.length; l++)\n\t\t\t\t\t\tif (f[l].directTouch || !f[l].options.stickyTracking) f = [];\n\t\t\t\tt &amp;&amp; (c ? t.noSharedTooltip : t.directTouch) &amp;&amp; n ? G = [n] : (c || !t || t.options.stickyTracking ||\n\t\t\t\t\t(f = [t]), v(f, function(a) {\n\t\t\t\t\t\tr = a.noSharedTooltip &amp;&amp; c;\n\t\t\t\t\t\tD = !c &amp;&amp; a.directTouch;\n\t\t\t\t\t\ta.visible &amp;&amp; !r &amp;&amp; !D &amp;&amp; b(a.options.enableMouseTracking, !0) &amp;&amp; (L = a.searchPoint(e, !r &amp;&amp; 1 === a.kdDimensions)) &amp;&amp; L.series &amp;&amp; G.push(L)\n\t\t\t\t\t}), G.sort(function(a, b) {\n\t\t\t\t\t\tvar e = a.distX - b.distX,\n\t\t\t\t\t\t\th = a.dist - b.dist,\n\t\t\t\t\t\t\tk = b.series.group.zIndex - a.series.group.zIndex;\n\t\t\t\t\t\treturn 0 !== e &amp;&amp; c ? e : 0 !== h ? h : 0 !== k ? k : a.series.index &gt; b.series.index ? -1 : 1\n\t\t\t\t\t}));\n\t\t\t\tif (c)\n\t\t\t\t\tfor (l = G.length; l--;)(G[l].x !== G[0].x || G[l].series.noSharedTooltip) &amp;&amp; G.splice(l, 1);\n\t\t\t\tif (G[0] &amp;&amp; (G[0] !== this.prevKDPoint || k &amp;&amp; k.isHidden)) {\n\t\t\t\t\tif (c &amp;&amp;\n\t\t\t\t\t\t!G[0].series.noSharedTooltip) {\n\t\t\t\t\t\tfor (l = 0; l &lt; G.length; l++) G[l].onMouseOver(e, G[l] !== (t &amp;&amp; t.directTouch &amp;&amp; n || G[0]));\n\t\t\t\t\t\tG.length &amp;&amp; k &amp;&amp; k.refresh(G.sort(function(a, b) {\n\t\t\t\t\t\t\treturn a.series.index - b.series.index\n\t\t\t\t\t\t}), e)\n\t\t\t\t\t} else if (k &amp;&amp; k.refresh(G[0], e), !t || !t.directTouch) G[0].onMouseOver(e);\n\t\t\t\t\tthis.prevKDPoint = G[0];\n\t\t\t\t\td = !1\n\t\t\t\t}\n\t\t\t\td &amp;&amp; (f = t &amp;&amp; t.tooltipOptions.followPointer, k &amp;&amp; f &amp;&amp; !k.isHidden &amp;&amp; (f = k.getAnchor([{}], e), k.updatePosition({\n\t\t\t\t\tplotX: f[0],\n\t\t\t\t\tplotY: f[1]\n\t\t\t\t})));\n\t\t\t\tthis.unDocMouseMove || (this.unDocMouseMove = E(g, \"mousemove\", function(b) {\n\t\t\t\t\tif (F[a.hoverChartIndex]) F[a.hoverChartIndex].pointer.onDocumentMouseMove(b)\n\t\t\t\t}));\n\t\t\t\tv(c ? G : [b(n, G[0])], function(a) {\n\t\t\t\t\tv(h.axes, function(b) {\n\t\t\t\t\t\t(!a || a.series &amp;&amp; a.series[b.coll] === b) &amp;&amp; b.drawCrosshair(e, a)\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\treset: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th = e.hoverSeries,\n\t\t\t\t\tc = e.hoverPoint,\n\t\t\t\t\tk = e.hoverPoints,\n\t\t\t\t\tf = e.tooltip,\n\t\t\t\t\td = f &amp;&amp; f.shared ? k : c;\n\t\t\t\ta &amp;&amp; d &amp;&amp; v(w(d), function(b) {\n\t\t\t\t\tb.series.isCartesian &amp;&amp; void 0 === b.plotX &amp;&amp; (a = !1)\n\t\t\t\t});\n\t\t\t\tif (a) f &amp;&amp; d &amp;&amp; (f.refresh(d), c &amp;&amp; (c.setState(c.state, !0), v(e.axes, function(a) {\n\t\t\t\t\ta.crosshair &amp;&amp; a.drawCrosshair(null, c)\n\t\t\t\t})));\n\t\t\t\telse {\n\t\t\t\t\tif (c) c.onMouseOut();\n\t\t\t\t\tk &amp;&amp; v(k, function(a) {\n\t\t\t\t\t\ta.setState()\n\t\t\t\t\t});\n\t\t\t\t\tif (h) h.onMouseOut();\n\t\t\t\t\tf &amp;&amp; f.hide(b);\n\t\t\t\t\tthis.unDocMouseMove &amp;&amp; (this.unDocMouseMove = this.unDocMouseMove());\n\t\t\t\t\tv(e.axes, function(a) {\n\t\t\t\t\t\ta.hideCrosshair()\n\t\t\t\t\t});\n\t\t\t\t\tthis.hoverX = this.prevKDPoint = e.hoverPoints = e.hoverPoint = null\n\t\t\t\t}\n\t\t\t},\n\t\t\tscaleGroups: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\th;\n\t\t\t\tv(e.series, function(c) {\n\t\t\t\t\th = a || c.getPlotBox();\n\t\t\t\t\tc.xAxis &amp;&amp; c.xAxis.zoomEnabled &amp;&amp; c.group &amp;&amp; (c.group.attr(h), c.markerGroup &amp;&amp; (c.markerGroup.attr(h), c.markerGroup.clip(b ? e.clipRect : null)), c.dataLabelsGroup &amp;&amp; c.dataLabelsGroup.attr(h))\n\t\t\t\t});\n\t\t\t\te.clipRect.attr(b || e.clipBox)\n\t\t\t},\n\t\t\tdragStart: function(a) {\n\t\t\t\tvar b = this.chart;\n\t\t\t\tb.mouseIsDown = a.type;\n\t\t\t\tb.cancelClick = !1;\n\t\t\t\tb.mouseDownX = this.mouseDownX = a.chartX;\n\t\t\t\tb.mouseDownY = this.mouseDownY = a.chartY\n\t\t\t},\n\t\t\tdrag: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.options.chart,\n\t\t\t\t\tk = a.chartX,\n\t\t\t\t\tc = a.chartY,\n\t\t\t\t\tf = this.zoomHor,\n\t\t\t\t\td = this.zoomVert,\n\t\t\t\t\tg = b.plotLeft,\n\t\t\t\t\tn = b.plotTop,\n\t\t\t\t\tt = b.plotWidth,\n\t\t\t\t\tD = b.plotHeight,\n\t\t\t\t\tl, r = this.selectionMarker,\n\t\t\t\t\tp = this.mouseDownX,\n\t\t\t\t\tm = this.mouseDownY,\n\t\t\t\t\tz = e.panKey &amp;&amp; a[e.panKey + \"Key\"];\n\t\t\t\tr &amp;&amp; r.touch || (k &lt; g ? k = g : k &gt; g + t &amp;&amp; (k = g + t), c &lt; n ? c = n : c &gt; n + D &amp;&amp; (c = n + D), this.hasDragged = Math.sqrt(Math.pow(p - k, 2) + Math.pow(m - c, 2)), 10 &lt; this.hasDragged &amp;&amp;\n\t\t\t\t\t(l = b.isInsidePlot(p - g, m - n), b.hasCartesianSeries &amp;&amp; (this.zoomX || this.zoomY) &amp;&amp; l &amp;&amp; !z &amp;&amp; !r &amp;&amp; (this.selectionMarker = r = b.renderer.rect(g, n, f ? 1 : t, d ? 1 : D, 0).attr({\n\t\t\t\t\t\tfill: e.selectionMarkerFill || H(\"#335cad\").setOpacity(.25).get(),\n\t\t\t\t\t\t\"class\": \"highcharts-selection-marker\",\n\t\t\t\t\t\tzIndex: 7\n\t\t\t\t\t}).add()), r &amp;&amp; f &amp;&amp; (k -= p, r.attr({\n\t\t\t\t\t\twidth: Math.abs(k),\n\t\t\t\t\t\tx: (0 &lt; k ? 0 : k) + p\n\t\t\t\t\t})), r &amp;&amp; d &amp;&amp; (k = c - m, r.attr({\n\t\t\t\t\t\theight: Math.abs(k),\n\t\t\t\t\t\ty: (0 &lt; k ? 0 : k) + m\n\t\t\t\t\t})), l &amp;&amp; !r &amp;&amp; e.panning &amp;&amp; b.pan(a, e.panning)))\n\t\t\t},\n\t\t\tdrop: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tk = this.hasPinched;\n\t\t\t\tif (this.selectionMarker) {\n\t\t\t\t\tvar c = {\n\t\t\t\t\t\t\toriginalEvent: a,\n\t\t\t\t\t\t\txAxis: [],\n\t\t\t\t\t\t\tyAxis: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tf = this.selectionMarker,\n\t\t\t\t\t\tg = f.attr ? f.attr(\"x\") : f.x,\n\t\t\t\t\t\tn = f.attr ? f.attr(\"y\") : f.y,\n\t\t\t\t\t\tt = f.attr ? f.attr(\"width\") : f.width,\n\t\t\t\t\t\tw = f.attr ? f.attr(\"height\") : f.height,\n\t\t\t\t\t\tD;\n\t\t\t\t\tif (this.hasDragged || k) v(e.axes, function(e) {\n\t\t\t\t\t\tif (e.zoomEnabled &amp;&amp; d(e.min) &amp;&amp; (k || b[{\n\t\t\t\t\t\t\t\txAxis: \"zoomX\",\n\t\t\t\t\t\t\t\tyAxis: \"zoomY\"\n\t\t\t\t\t\t\t}[e.coll]])) {\n\t\t\t\t\t\t\tvar f = e.horiz,\n\t\t\t\t\t\t\t\th = \"touchend\" === a.type ? e.minPixelPadding : 0,\n\t\t\t\t\t\t\t\tm = e.toValue((f ? g : n) + h),\n\t\t\t\t\t\t\t\tf = e.toValue((f ? g + t : n + w) - h);\n\t\t\t\t\t\t\tc[e.coll].push({\n\t\t\t\t\t\t\t\taxis: e,\n\t\t\t\t\t\t\t\tmin: Math.min(m, f),\n\t\t\t\t\t\t\t\tmax: Math.max(m, f)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tD = !0\n\t\t\t\t\t\t}\n\t\t\t\t\t}), D &amp;&amp; r(e, \"selection\", c, function(a) {\n\t\t\t\t\t\te.zoom(l(a,\n\t\t\t\t\t\t\tk ? {\n\t\t\t\t\t\t\t\tanimation: !1\n\t\t\t\t\t\t\t} : null))\n\t\t\t\t\t});\n\t\t\t\t\tthis.selectionMarker = this.selectionMarker.destroy();\n\t\t\t\t\tk &amp;&amp; this.scaleGroups()\n\t\t\t\t}\n\t\t\t\te &amp;&amp; (p(e.container, {\n\t\t\t\t\tcursor: e._cursor\n\t\t\t\t}), e.cancelClick = 10 &lt; this.hasDragged, e.mouseIsDown = this.hasDragged = this.hasPinched = !1, this.pinchDown = [])\n\t\t\t},\n\t\t\tonContainerMouseDown: function(a) {\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\ta.preventDefault &amp;&amp; a.preventDefault();\n\t\t\t\tthis.dragStart(a)\n\t\t\t},\n\t\t\tonDocumentMouseUp: function(b) {\n\t\t\t\tF[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].pointer.drop(b)\n\t\t\t},\n\t\t\tonDocumentMouseMove: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = this.chartPosition;\n\t\t\t\ta = this.normalize(a, e);\n\t\t\t\t!e || this.inClass(a.target, \"highcharts-tracker\") || b.isInsidePlot(a.chartX - b.plotLeft, a.chartY - b.plotTop) || this.reset()\n\t\t\t},\n\t\t\tonContainerMouseLeave: function(b) {\n\t\t\t\tvar e = F[a.hoverChartIndex];\n\t\t\t\te &amp;&amp; (b.relatedTarget || b.toElement) &amp;&amp; (e.pointer.reset(), e.pointer.chartPosition = null)\n\t\t\t},\n\t\t\tonContainerMouseMove: function(b) {\n\t\t\t\tvar e = this.chart;\n\t\t\t\td(a.hoverChartIndex) &amp;&amp; F[a.hoverChartIndex] &amp;&amp; F[a.hoverChartIndex].mouseIsDown || (a.hoverChartIndex = e.index);\n\t\t\t\tb = this.normalize(b);\n\t\t\t\tb.returnValue = !1;\n\t\t\t\t\"mousedown\" === e.mouseIsDown &amp;&amp; this.drag(b);\n\t\t\t\t!this.inClass(b.target, \"highcharts-tracker\") &amp;&amp; !e.isInsidePlot(b.chartX - e.plotLeft, b.chartY - e.plotTop) || e.openMenu || this.runPointActions(b)\n\t\t\t},\n\t\t\tinClass: function(a, b) {\n\t\t\t\tfor (var e; a;) {\n\t\t\t\t\tif (e = A(a, \"class\")) {\n\t\t\t\t\t\tif (-1 !== e.indexOf(b)) return !0;\n\t\t\t\t\t\tif (-1 !== e.indexOf(\"highcharts-container\")) return !1\n\t\t\t\t\t}\n\t\t\t\t\ta = a.parentNode\n\t\t\t\t}\n\t\t\t},\n\t\t\tonTrackerMouseOut: function(a) {\n\t\t\t\tvar b = this.chart.hoverSeries;\n\t\t\t\ta = a.relatedTarget || a.toElement;\n\t\t\t\tif (!(!b || !a || b.options.stickyTracking || this.inClass(a, \"highcharts-tooltip\") ||\n\t\t\t\t\t\tthis.inClass(a, \"highcharts-series-\" + b.index) &amp;&amp; this.inClass(a, \"highcharts-tracker\"))) b.onMouseOut()\n\t\t\t},\n\t\t\tonContainerClick: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\te = b.hoverPoint,\n\t\t\t\t\tf = b.plotLeft,\n\t\t\t\t\tc = b.plotTop;\n\t\t\t\ta = this.normalize(a);\n\t\t\t\tb.cancelClick || (e &amp;&amp; this.inClass(a.target, \"highcharts-tracker\") ? (r(e.series, \"click\", l(a, {\n\t\t\t\t\tpoint: e\n\t\t\t\t})), b.hoverPoint &amp;&amp; e.firePointEvent(\"click\", a)) : (l(a, this.getCoordinates(a)), b.isInsidePlot(a.chartX - f, a.chartY - c) &amp;&amp; r(b, \"click\", a)))\n\t\t\t},\n\t\t\tsetDOMEvents: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.chart.container;\n\t\t\t\tf.onmousedown =\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tb.onContainerMouseDown(a)\n\t\t\t\t\t};\n\t\t\t\tf.onmousemove = function(a) {\n\t\t\t\t\tb.onContainerMouseMove(a)\n\t\t\t\t};\n\t\t\t\tf.onclick = function(a) {\n\t\t\t\t\tb.onContainerClick(a)\n\t\t\t\t};\n\t\t\t\tE(f, \"mouseleave\", b.onContainerMouseLeave);\n\t\t\t\t1 === a.chartCount &amp;&amp; E(g, \"mouseup\", b.onDocumentMouseUp);\n\t\t\t\ta.hasTouch &amp;&amp; (f.ontouchstart = function(a) {\n\t\t\t\t\tb.onContainerTouchStart(a)\n\t\t\t\t}, f.ontouchmove = function(a) {\n\t\t\t\t\tb.onContainerTouchMove(a)\n\t\t\t\t}, 1 === a.chartCount &amp;&amp; E(g, \"touchend\", b.onDocumentTouchEnd))\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b;\n\t\t\t\tn(this.chart.container, \"mouseleave\", this.onContainerMouseLeave);\n\t\t\t\ta.chartCount ||\n\t\t\t\t\t(n(g, \"mouseup\", this.onDocumentMouseUp), n(g, \"touchend\", this.onDocumentTouchEnd));\n\t\t\t\tclearInterval(this.tooltipTimeout);\n\t\t\t\tfor (b in this) this[b] = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.charts,\n\t\t\tA = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.map,\n\t\t\tp = a.noop,\n\t\t\td = a.pick;\n\t\tF(a.Pointer.prototype, {\n\t\t\tpinchTranslate: function(a, d, l, r, f, b) {\n\t\t\t\tthis.zoomHor &amp;&amp; this.pinchTranslateDirection(!0, a, d, l, r, f, b);\n\t\t\t\tthis.zoomVert &amp;&amp; this.pinchTranslateDirection(!1, a, d, l, r, f, b)\n\t\t\t},\n\t\t\tpinchTranslateDirection: function(a, d, l, r, f, b, n, p) {\n\t\t\t\tvar g = this.chart,\n\t\t\t\t\tk = a ? \"x\" : \"y\",\n\t\t\t\t\te = a ? \"X\" : \"Y\",\n\t\t\t\t\th = \"chart\" +\n\t\t\t\t\te,\n\t\t\t\t\tv = a ? \"width\" : \"height\",\n\t\t\t\t\tu = g[\"plot\" + (a ? \"Left\" : \"Top\")],\n\t\t\t\t\tc, q, x = p || 1,\n\t\t\t\t\tw = g.inverted,\n\t\t\t\t\tI = g.bounds[a ? \"h\" : \"v\"],\n\t\t\t\t\tJ = 1 === d.length,\n\t\t\t\t\tD = d[0][h],\n\t\t\t\t\tG = l[0][h],\n\t\t\t\t\tL = !J &amp;&amp; d[1][h],\n\t\t\t\t\tN = !J &amp;&amp; l[1][h],\n\t\t\t\t\tm;\n\t\t\t\tl = function() {\n\t\t\t\t\t!J &amp;&amp; 20 &lt; Math.abs(D - L) &amp;&amp; (x = p || Math.abs(G - N) / Math.abs(D - L));\n\t\t\t\t\tq = (u - G) / x + D;\n\t\t\t\t\tc = g[\"plot\" + (a ? \"Width\" : \"Height\")] / x\n\t\t\t\t};\n\t\t\t\tl();\n\t\t\t\td = q;\n\t\t\t\td &lt; I.min ? (d = I.min, m = !0) : d + c &gt; I.max &amp;&amp; (d = I.max - c, m = !0);\n\t\t\t\tm ? (G -= .8 * (G - n[k][0]), J || (N -= .8 * (N - n[k][1])), l()) : n[k] = [G, N];\n\t\t\t\tw || (b[k] = q - u, b[v] = c);\n\t\t\t\tb = w ? 1 / x : x;\n\t\t\t\tf[v] = c;\n\t\t\t\tf[k] = d;\n\t\t\t\tr[w ? a ? \"scaleY\" : \"scaleX\" : \"scale\" + e] = x;\n\t\t\t\tr[\"translate\" + e] = b *\n\t\t\t\t\tu + (G - b * D)\n\t\t\t},\n\t\t\tpinch: function(a) {\n\t\t\t\tvar g = this,\n\t\t\t\t\tl = g.chart,\n\t\t\t\t\tr = g.pinchDown,\n\t\t\t\t\tf = a.touches,\n\t\t\t\t\tb = f.length,\n\t\t\t\t\tn = g.lastValidTouch,\n\t\t\t\t\tw = g.hasZoom,\n\t\t\t\t\tt = g.selectionMarker,\n\t\t\t\t\tk = {},\n\t\t\t\t\te = 1 === b &amp;&amp; (g.inClass(a.target, \"highcharts-tracker\") &amp;&amp; l.runTrackerClick || g.runChartClick),\n\t\t\t\t\th = {};\n\t\t\t\t1 &lt; b &amp;&amp; (g.initiated = !0);\n\t\t\t\tw &amp;&amp; g.initiated &amp;&amp; !e &amp;&amp; a.preventDefault();\n\t\t\t\tH(f, function(a) {\n\t\t\t\t\treturn g.normalize(a)\n\t\t\t\t});\n\t\t\t\t\"touchstart\" === a.type ? (A(f, function(a, b) {\n\t\t\t\t\tr[b] = {\n\t\t\t\t\t\tchartX: a.chartX,\n\t\t\t\t\t\tchartY: a.chartY\n\t\t\t\t\t}\n\t\t\t\t}), n.x = [r[0].chartX, r[1] &amp;&amp; r[1].chartX], n.y = [r[0].chartY, r[1] &amp;&amp; r[1].chartY], A(l.axes, function(a) {\n\t\t\t\t\tif (a.zoomEnabled) {\n\t\t\t\t\t\tvar b =\n\t\t\t\t\t\t\tl.bounds[a.horiz ? \"h\" : \"v\"],\n\t\t\t\t\t\t\tc = a.minPixelPadding,\n\t\t\t\t\t\t\te = a.toPixels(d(a.options.min, a.dataMin)),\n\t\t\t\t\t\t\tf = a.toPixels(d(a.options.max, a.dataMax)),\n\t\t\t\t\t\t\tk = Math.max(e, f);\n\t\t\t\t\t\tb.min = Math.min(a.pos, Math.min(e, f) - c);\n\t\t\t\t\t\tb.max = Math.max(a.pos + a.len, k + c)\n\t\t\t\t\t}\n\t\t\t\t}), g.res = !0) : g.followTouchMove &amp;&amp; 1 === b ? this.runPointActions(g.normalize(a)) : r.length &amp;&amp; (t || (g.selectionMarker = t = F({\n\t\t\t\t\tdestroy: p,\n\t\t\t\t\ttouch: !0\n\t\t\t\t}, l.plotBox)), g.pinchTranslate(r, f, k, t, h, n), g.hasPinched = w, g.scaleGroups(k, h), g.res &amp;&amp; (g.res = !1, this.reset(!1, 0)))\n\t\t\t},\n\t\t\ttouch: function(g, p) {\n\t\t\t\tvar l = this.chart,\n\t\t\t\t\tr, f;\n\t\t\t\tif (l.index !== a.hoverChartIndex) this.onContainerMouseLeave({\n\t\t\t\t\trelatedTarget: !0\n\t\t\t\t});\n\t\t\t\ta.hoverChartIndex = l.index;\n\t\t\t\t1 === g.touches.length ? (g = this.normalize(g), (f = l.isInsidePlot(g.chartX - l.plotLeft, g.chartY - l.plotTop)) &amp;&amp; !l.openMenu ? (p &amp;&amp; this.runPointActions(g), \"touchmove\" === g.type &amp;&amp; (p = this.pinchDown, r = p[0] ? 4 &lt;= Math.sqrt(Math.pow(p[0].chartX - g.chartX, 2) + Math.pow(p[0].chartY - g.chartY, 2)) : !1), d(r, !0) &amp;&amp; this.pinch(g)) : p &amp;&amp; this.reset()) : 2 === g.touches.length &amp;&amp; this.pinch(g)\n\t\t\t},\n\t\t\tonContainerTouchStart: function(a) {\n\t\t\t\tthis.zoomOption(a);\n\t\t\t\tthis.touch(a, !0)\n\t\t\t},\n\t\t\tonContainerTouchMove: function(a) {\n\t\t\t\tthis.touch(a)\n\t\t\t},\n\t\t\tonDocumentTouchEnd: function(d) {\n\t\t\t\tE[a.hoverChartIndex] &amp;&amp; E[a.hoverChartIndex].pointer.drop(d)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.charts,\n\t\t\tF = a.css,\n\t\t\tH = a.doc,\n\t\t\tp = a.extend,\n\t\t\td = a.noop,\n\t\t\tg = a.Pointer,\n\t\t\tv = a.removeEvent,\n\t\t\tl = a.win,\n\t\t\tr = a.wrap;\n\t\tif (l.PointerEvent || l.MSPointerEvent) {\n\t\t\tvar f = {},\n\t\t\t\tb = !!l.PointerEvent,\n\t\t\t\tn = function() {\n\t\t\t\t\tvar a, b = [];\n\t\t\t\t\tb.item = function(a) {\n\t\t\t\t\t\treturn this[a]\n\t\t\t\t\t};\n\t\t\t\t\tfor (a in f) f.hasOwnProperty(a) &amp;&amp; b.push({\n\t\t\t\t\t\tpageX: f[a].pageX,\n\t\t\t\t\t\tpageY: f[a].pageY,\n\t\t\t\t\t\ttarget: f[a].target\n\t\t\t\t\t});\n\t\t\t\t\treturn b\n\t\t\t\t},\n\t\t\t\tw = function(b, f, e, h) {\n\t\t\t\t\t\"touch\" !== b.pointerType &amp;&amp; b.pointerType !== b.MSPOINTER_TYPE_TOUCH || !A[a.hoverChartIndex] || (h(b), h = A[a.hoverChartIndex].pointer, h[f]({\n\t\t\t\t\t\ttype: e,\n\t\t\t\t\t\ttarget: b.currentTarget,\n\t\t\t\t\t\tpreventDefault: d,\n\t\t\t\t\t\ttouches: n()\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\tp(g.prototype, {\n\t\t\t\tonContainerPointerDown: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchStart\", \"touchstart\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY,\n\t\t\t\t\t\t\ttarget: a.currentTarget\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonContainerPointerMove: function(a) {\n\t\t\t\t\tw(a, \"onContainerTouchMove\", \"touchmove\", function(a) {\n\t\t\t\t\t\tf[a.pointerId] = {\n\t\t\t\t\t\t\tpageX: a.pageX,\n\t\t\t\t\t\t\tpageY: a.pageY\n\t\t\t\t\t\t};\n\t\t\t\t\t\tf[a.pointerId].target || (f[a.pointerId].target = a.currentTarget)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tonDocumentPointerUp: function(a) {\n\t\t\t\t\tw(a, \"onDocumentTouchEnd\", \"touchend\", function(a) {\n\t\t\t\t\t\tdelete f[a.pointerId]\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tbatchMSEvents: function(a) {\n\t\t\t\t\ta(this.chart.container, b ? \"pointerdown\" : \"MSPointerDown\", this.onContainerPointerDown);\n\t\t\t\t\ta(this.chart.container, b ? \"pointermove\" : \"MSPointerMove\", this.onContainerPointerMove);\n\t\t\t\t\ta(H, b ? \"pointerup\" : \"MSPointerUp\", this.onDocumentPointerUp)\n\t\t\t\t}\n\t\t\t});\n\t\t\tr(g.prototype, \"init\", function(a, b, e) {\n\t\t\t\ta.call(this, b, e);\n\t\t\t\tthis.hasZoom &amp;&amp;\n\t\t\t\t\tF(b.container, {\n\t\t\t\t\t\t\"-ms-touch-action\": \"none\",\n\t\t\t\t\t\t\"touch-action\": \"none\"\n\t\t\t\t\t})\n\t\t\t});\n\t\t\tr(g.prototype, \"setDOMEvents\", function(a) {\n\t\t\t\ta.apply(this);\n\t\t\t\t(this.hasZoom || this.followTouchMove) &amp;&amp; this.batchMSEvents(E)\n\t\t\t});\n\t\t\tr(g.prototype, \"destroy\", function(a) {\n\t\t\t\tthis.batchMSEvents(v);\n\t\t\t\ta.call(this)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.addEvent,\n\t\t\tF = a.css,\n\t\t\tH = a.discardElement,\n\t\t\tp = a.defined,\n\t\t\td = a.each,\n\t\t\tg = a.extend,\n\t\t\tv = a.isFirefox,\n\t\t\tl = a.marginNames,\n\t\t\tr = a.merge,\n\t\t\tf = a.pick,\n\t\t\tb = a.setAnimation,\n\t\t\tn = a.stableSort,\n\t\t\tw = a.win,\n\t\t\tt = a.wrap;\n\t\tE = a.Legend = function(a, b) {\n\t\t\tthis.init(a, b)\n\t\t};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b) {\n\t\t\t\tthis.chart = a;\n\t\t\t\tthis.setOptions(b);\n\t\t\t\tb.enabled &amp;&amp; (this.render(), A(this.chart, \"endResize\", function() {\n\t\t\t\t\tthis.legend.positionCheckboxes()\n\t\t\t\t}))\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = f(a.padding, 8);\n\t\t\t\tthis.options = a;\n\t\t\t\tthis.itemStyle = a.itemStyle;\n\t\t\t\tthis.itemHiddenStyle = r(this.itemStyle, a.itemHiddenStyle);\n\t\t\t\tthis.itemMarginTop = a.itemMarginTop || 0;\n\t\t\t\tthis.initialItemX = this.padding = b;\n\t\t\t\tthis.initialItemY = b - 5;\n\t\t\t\tthis.itemHeight = this.maxItemWidth = 0;\n\t\t\t\tthis.symbolWidth = f(a.symbolWidth, 16);\n\t\t\t\tthis.pages = []\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\tthis.chart;\n\t\t\t\tthis.setOptions(r(!0, this.options, a));\n\t\t\t\tthis.destroy();\n\t\t\t\te.isDirtyLegend = e.isDirtyBox = !0;\n\t\t\t\tf(b, !0) &amp;&amp; e.redraw()\n\t\t\t},\n\t\t\tcolorizeItem: function(a, b) {\n\t\t\t\ta.legendGroup[b ? \"removeClass\" : \"addClass\"](\"highcharts-legend-item-hidden\");\n\t\t\t\tvar e = this.options,\n\t\t\t\t\tf = a.legendItem,\n\t\t\t\t\tk = a.legendLine,\n\t\t\t\t\tc = a.legendSymbol,\n\t\t\t\t\td = this.itemHiddenStyle.color,\n\t\t\t\t\te = b ? e.itemStyle.color : d,\n\t\t\t\t\tg = b ? a.color || d : d,\n\t\t\t\t\tn = a.options &amp;&amp; a.options.marker,\n\t\t\t\t\tl = {\n\t\t\t\t\t\tfill: g\n\t\t\t\t\t},\n\t\t\t\t\tt;\n\t\t\t\tf &amp;&amp; f.css({\n\t\t\t\t\tfill: e,\n\t\t\t\t\tcolor: e\n\t\t\t\t});\n\t\t\t\tk &amp;&amp; k.attr({\n\t\t\t\t\tstroke: g\n\t\t\t\t});\n\t\t\t\tif (c) {\n\t\t\t\t\tif (n &amp;&amp; c.isMarker &amp;&amp; (l = a.pointAttribs(), !b))\n\t\t\t\t\t\tfor (t in l) l[t] =\n\t\t\t\t\t\t\td;\n\t\t\t\t\tc.attr(l)\n\t\t\t\t}\n\t\t\t},\n\t\t\tpositionItem: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.symbolPadding,\n\t\t\t\t\tb = !b.rtl,\n\t\t\t\t\tk = a._legendItemPos,\n\t\t\t\t\td = k[0],\n\t\t\t\t\tk = k[1],\n\t\t\t\t\tc = a.checkbox;\n\t\t\t\t(a = a.legendGroup) &amp;&amp; a.element &amp;&amp; a.translate(b ? d : this.legendWidth - d - 2 * f - 4, k);\n\t\t\t\tc &amp;&amp; (c.x = d, c.y = k)\n\t\t\t},\n\t\t\tdestroyItem: function(a) {\n\t\t\t\tvar b = a.checkbox;\n\t\t\t\td([\"legendItem\", \"legendLine\", \"legendSymbol\", \"legendGroup\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t});\n\t\t\t\tb &amp;&amp; H(a.checkbox)\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.group,\n\t\t\t\t\tb = this.box;\n\t\t\t\tb &amp;&amp; (this.box = b.destroy());\n\t\t\t\td(this.getAllItems(), function(a) {\n\t\t\t\t\td([\"legendItem\",\n\t\t\t\t\t\t\"legendGroup\"\n\t\t\t\t\t], function(b) {\n\t\t\t\t\t\ta[b] &amp;&amp; (a[b] = a[b].destroy())\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; (this.group = a.destroy());\n\t\t\t\tthis.display = null\n\t\t\t},\n\t\t\tpositionCheckboxes: function(a) {\n\t\t\t\tvar b = this.group &amp;&amp; this.group.alignAttr,\n\t\t\t\t\tf, k = this.clipHeight || this.legendHeight,\n\t\t\t\t\tg = this.titleHeight;\n\t\t\t\tb &amp;&amp; (f = b.translateY, d(this.allItems, function(c) {\n\t\t\t\t\tvar e = c.checkbox,\n\t\t\t\t\t\th;\n\t\t\t\t\te &amp;&amp; (h = f + g + e.y + (a || 0) + 3, F(e, {\n\t\t\t\t\t\tleft: b.translateX + c.checkboxOffset + e.x - 20 + \"px\",\n\t\t\t\t\t\ttop: h + \"px\",\n\t\t\t\t\t\tdisplay: h &gt; f - 6 &amp;&amp; h &lt; f + k - 6 ? \"\" : \"none\"\n\t\t\t\t\t}))\n\t\t\t\t}))\n\t\t\t},\n\t\t\trenderTitle: function() {\n\t\t\t\tvar a = this.padding,\n\t\t\t\t\tb = this.options.title,\n\t\t\t\t\tf = 0;\n\t\t\t\tb.text &amp;&amp;\n\t\t\t\t\t(this.title || (this.title = this.chart.renderer.label(b.text, a - 3, a - 4, null, null, null, null, null, \"legend-title\").attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).css(b.style).add(this.group)), a = this.title.getBBox(), f = a.height, this.offsetWidth = a.width, this.contentGroup.attr({\n\t\t\t\t\t\ttranslateY: f\n\t\t\t\t\t}));\n\t\t\t\tthis.titleHeight = f\n\t\t\t},\n\t\t\tsetText: function(b) {\n\t\t\t\tvar e = this.options;\n\t\t\t\tb.legendItem.attr({\n\t\t\t\t\ttext: e.labelFormat ? a.format(e.labelFormat, b) : e.labelFormatter.call(b)\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderItem: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\th = b.renderer,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\td = \"horizontal\" === k.layout,\n\t\t\t\t\tc = this.symbolWidth,\n\t\t\t\t\tg = k.symbolPadding,\n\t\t\t\t\tn = this.itemStyle,\n\t\t\t\t\tl = this.itemHiddenStyle,\n\t\t\t\t\tt = this.padding,\n\t\t\t\t\tp = d ? f(k.itemDistance, 20) : 0,\n\t\t\t\t\tD = !k.rtl,\n\t\t\t\t\tG = k.width,\n\t\t\t\t\tL = k.itemMarginBottom || 0,\n\t\t\t\t\tw = this.itemMarginTop,\n\t\t\t\t\tm = this.initialItemX,\n\t\t\t\t\tz = a.legendItem,\n\t\t\t\t\tv = !a.series,\n\t\t\t\t\tP = !v &amp;&amp; a.series.drawLegendSymbol ? a.series : a,\n\t\t\t\t\ty = P.options,\n\t\t\t\t\ty = this.createCheckboxForItem &amp;&amp; y &amp;&amp; y.showCheckbox,\n\t\t\t\t\tB = k.useHTML;\n\t\t\t\tz || (a.legendGroup = h.g(\"legend-item\").addClass(\"highcharts-\" + P.type + \"-series highcharts-color-\" + a.colorIndex + (a.options.className ? \" \" + a.options.className : \"\") + (v ? \" highcharts-series-\" +\n\t\t\t\t\ta.index : \"\")).attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(this.scrollGroup), a.legendItem = z = h.text(\"\", D ? c + g : -g, this.baseline || 0, B).css(r(a.visible ? n : l)).attr({\n\t\t\t\t\talign: D ? \"left\" : \"right\",\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.legendGroup), this.baseline || (n = n.fontSize, this.fontMetrics = h.fontMetrics(n, z), this.baseline = this.fontMetrics.f + 3 + w, z.attr(\"y\", this.baseline)), P.drawLegendSymbol(this, a), this.setItemEvents &amp;&amp; this.setItemEvents(a, z, B), y &amp;&amp; this.createCheckboxForItem(a));\n\t\t\t\tthis.colorizeItem(a, a.visible);\n\t\t\t\tthis.setText(a);\n\t\t\t\th = z.getBBox();\n\t\t\t\tc = a.checkboxOffset =\n\t\t\t\t\tk.itemWidth || a.legendItemWidth || c + g + h.width + p + (y ? 20 : 0);\n\t\t\t\tthis.itemHeight = g = Math.round(a.legendItemHeight || h.height);\n\t\t\t\td &amp;&amp; this.itemX - m + c &gt; (G || b.chartWidth - 2 * t - m - k.x) &amp;&amp; (this.itemX = m, this.itemY += w + this.lastLineHeight + L, this.lastLineHeight = 0);\n\t\t\t\tthis.maxItemWidth = Math.max(this.maxItemWidth, c);\n\t\t\t\tthis.lastItemY = w + this.itemY + L;\n\t\t\t\tthis.lastLineHeight = Math.max(g, this.lastLineHeight);\n\t\t\t\ta._legendItemPos = [this.itemX, this.itemY];\n\t\t\t\td ? this.itemX += c : (this.itemY += w + g + L, this.lastLineHeight = g);\n\t\t\t\tthis.offsetWidth = G || Math.max((d ? this.itemX -\n\t\t\t\t\tm - p : c) + t, this.offsetWidth)\n\t\t\t},\n\t\t\tgetAllItems: function() {\n\t\t\t\tvar a = [];\n\t\t\t\td(this.chart.series, function(b) {\n\t\t\t\t\tvar e = b &amp;&amp; b.options;\n\t\t\t\t\tb &amp;&amp; f(e.showInLegend, p(e.linkedTo) ? !1 : void 0, !0) &amp;&amp; (a = a.concat(b.legendItems || (\"point\" === e.legendType ? b.data : b)))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tadjustMargins: function(a, b) {\n\t\t\t\tvar e = this.chart,\n\t\t\t\t\tk = this.options,\n\t\t\t\t\tg = k.align.charAt(0) + k.verticalAlign.charAt(0) + k.layout.charAt(0);\n\t\t\t\tk.floating || d([/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/], function(c, d) {\n\t\t\t\t\tc.test(g) &amp;&amp; !p(a[d]) &amp;&amp; (e[l[d]] = Math.max(e[l[d]], e.legend[(d +\n\t\t\t\t\t\t1) % 2 ? \"legendHeight\" : \"legendWidth\"] + [1, -1, -1, 1][d] * k[d % 2 ? \"x\" : \"y\"] + f(k.margin, 12) + b[d]))\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tf = b.renderer,\n\t\t\t\t\tl = a.group,\n\t\t\t\t\tu, c, q, t, r = a.box,\n\t\t\t\t\tp = a.options,\n\t\t\t\t\tw = a.padding;\n\t\t\t\ta.itemX = a.initialItemX;\n\t\t\t\ta.itemY = a.initialItemY;\n\t\t\t\ta.offsetWidth = 0;\n\t\t\t\ta.lastItemY = 0;\n\t\t\t\tl || (a.group = l = f.g(\"legend\").attr({\n\t\t\t\t\tzIndex: 7\n\t\t\t\t}).add(), a.contentGroup = f.g().attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add(l), a.scrollGroup = f.g().add(a.contentGroup));\n\t\t\t\ta.renderTitle();\n\t\t\t\tu = a.getAllItems();\n\t\t\t\tn(u, function(a, b) {\n\t\t\t\t\treturn (a.options &amp;&amp; a.options.legendIndex || 0) -\n\t\t\t\t\t\t(b.options &amp;&amp; b.options.legendIndex || 0)\n\t\t\t\t});\n\t\t\t\tp.reversed &amp;&amp; u.reverse();\n\t\t\t\ta.allItems = u;\n\t\t\t\ta.display = c = !!u.length;\n\t\t\t\ta.lastLineHeight = 0;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.renderItem(b)\n\t\t\t\t});\n\t\t\t\tq = (p.width || a.offsetWidth) + w;\n\t\t\t\tt = a.lastItemY + a.lastLineHeight + a.titleHeight;\n\t\t\t\tt = a.handleOverflow(t);\n\t\t\t\tt += w;\n\t\t\t\tr || (a.box = r = f.rect().addClass(\"highcharts-legend-box\").attr({\n\t\t\t\t\tr: p.borderRadius\n\t\t\t\t}).add(l), r.isNew = !0);\n\t\t\t\tr.attr({\n\t\t\t\t\tstroke: p.borderColor,\n\t\t\t\t\t\"stroke-width\": p.borderWidth || 0,\n\t\t\t\t\tfill: p.backgroundColor || \"none\"\n\t\t\t\t}).shadow(p.shadow);\n\t\t\t\t0 &lt; q &amp;&amp; 0 &lt; t &amp;&amp; (r[r.isNew ? \"attr\" : \"animate\"](r.crisp({\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, r.strokeWidth())), r.isNew = !1);\n\t\t\t\tr[c ? \"show\" : \"hide\"]();\n\t\t\t\ta.legendWidth = q;\n\t\t\t\ta.legendHeight = t;\n\t\t\t\td(u, function(b) {\n\t\t\t\t\ta.positionItem(b)\n\t\t\t\t});\n\t\t\t\tc &amp;&amp; l.align(g({\n\t\t\t\t\twidth: q,\n\t\t\t\t\theight: t\n\t\t\t\t}, p), !0, \"spacingBox\");\n\t\t\t\tb.isResizing || this.positionCheckboxes()\n\t\t\t},\n\t\t\thandleOverflow: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tk = h.renderer,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tc = g.y,\n\t\t\t\t\th = h.spacingBox.height + (\"top\" === g.verticalAlign ? -c : c) - this.padding,\n\t\t\t\t\tc = g.maxHeight,\n\t\t\t\t\tn, l = this.clipRect,\n\t\t\t\t\tt = g.navigation,\n\t\t\t\t\tr = f(t.animation, !0),\n\t\t\t\t\tp = t.arrowSize || 12,\n\t\t\t\t\tD = this.nav,\n\t\t\t\t\tG = this.pages,\n\t\t\t\t\tL = this.padding,\n\t\t\t\t\tw, m = this.allItems,\n\t\t\t\t\tz = function(a) {\n\t\t\t\t\t\ta ? l.attr({\n\t\t\t\t\t\t\theight: a\n\t\t\t\t\t\t}) : l &amp;&amp; (b.clipRect = l.destroy(), b.contentGroup.clip());\n\t\t\t\t\t\tb.contentGroup.div &amp;&amp; (b.contentGroup.div.style.clip = a ? \"rect(\" + L + \"px,9999px,\" + (L + a) + \"px,0)\" : \"auto\")\n\t\t\t\t\t};\n\t\t\t\t\"horizontal\" !== g.layout || \"middle\" === g.verticalAlign || g.floating || (h /= 2);\n\t\t\t\tc &amp;&amp; (h = Math.min(h, c));\n\t\t\t\tG.length = 0;\n\t\t\t\ta &gt; h &amp;&amp; !1 !== t.enabled ? (this.clipHeight = n = Math.max(h - 20 - this.titleHeight - L, 0), this.currentPage = f(this.currentPage, 1), this.fullHeight = a, d(m, function(a, b) {\n\t\t\t\t\t\tvar c = a._legendItemPos[1];\n\t\t\t\t\t\ta = Math.round(a.legendItem.getBBox().height);\n\t\t\t\t\t\tvar e = G.length;\n\t\t\t\t\t\tif (!e || c - G[e - 1] &gt; n &amp;&amp; (w || c) !== G[e - 1]) G.push(w || c), e++;\n\t\t\t\t\t\tb === m.length - 1 &amp;&amp; c + a - G[e - 1] &gt; n &amp;&amp; G.push(c);\n\t\t\t\t\t\tc !== w &amp;&amp; (w = c)\n\t\t\t\t\t}), l || (l = b.clipRect = k.clipRect(0, L, 9999, 0), b.contentGroup.clip(l)), z(n), D || (this.nav = D = k.g().attr({\n\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t}).add(this.group), this.up = k.symbol(\"triangle\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(-1, r)\n\t\t\t\t\t}).add(D), this.pager = k.text(\"\", 15, 10).addClass(\"highcharts-legend-navigation\").css(t.style).add(D), this.down = k.symbol(\"triangle-down\", 0, 0, p, p).on(\"click\", function() {\n\t\t\t\t\t\tb.scroll(1, r)\n\t\t\t\t\t}).add(D)),\n\t\t\t\t\tb.scroll(0), a = h) : D &amp;&amp; (z(), D.hide(), this.scrollGroup.attr({\n\t\t\t\t\ttranslateY: 1\n\t\t\t\t}), this.clipHeight = 0);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tscroll: function(a, e) {\n\t\t\t\tvar f = this.pages,\n\t\t\t\t\td = f.length;\n\t\t\t\ta = this.currentPage + a;\n\t\t\t\tvar k = this.clipHeight,\n\t\t\t\t\tc = this.options.navigation,\n\t\t\t\t\tg = this.pager,\n\t\t\t\t\tn = this.padding;\n\t\t\t\ta &gt; d &amp;&amp; (a = d);\n\t\t\t\t0 &lt; a &amp;&amp; (void 0 !== e &amp;&amp; b(e, this.chart), this.nav.attr({\n\t\t\t\t\ttranslateX: n,\n\t\t\t\t\ttranslateY: k + this.padding + 7 + this.titleHeight,\n\t\t\t\t\tvisibility: \"visible\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\t\"class\": 1 === a ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), g.attr({\n\t\t\t\t\ttext: a + \"/\" +\n\t\t\t\t\t\td\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tx: 18 + this.pager.getBBox().width,\n\t\t\t\t\t\"class\": a === d ? \"highcharts-legend-nav-inactive\" : \"highcharts-legend-nav-active\"\n\t\t\t\t}), this.up.attr({\n\t\t\t\t\tfill: 1 === a ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: 1 === a ? \"default\" : \"pointer\"\n\t\t\t\t}), this.down.attr({\n\t\t\t\t\tfill: a === d ? c.inactiveColor : c.activeColor\n\t\t\t\t}).css({\n\t\t\t\t\tcursor: a === d ? \"default\" : \"pointer\"\n\t\t\t\t}), e = -f[a - 1] + this.initialItemY, this.scrollGroup.animate({\n\t\t\t\t\ttranslateY: e\n\t\t\t\t}), this.currentPage = a, this.positionCheckboxes(e))\n\t\t\t}\n\t\t};\n\t\ta.LegendSymbolMixin = {\n\t\t\tdrawRectangle: function(a, b) {\n\t\t\t\tvar e =\n\t\t\t\t\ta.options,\n\t\t\t\t\td = e.symbolHeight || a.fontMetrics.f,\n\t\t\t\t\te = e.squareSymbol;\n\t\t\t\tb.legendSymbol = this.chart.renderer.rect(e ? (a.symbolWidth - d) / 2 : 0, a.baseline - d + 1, e ? d : a.symbolWidth, d, f(a.options.symbolRadius, d / 2)).addClass(\"highcharts-point\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add(b.legendGroup)\n\t\t\t},\n\t\t\tdrawLineMarker: function(a) {\n\t\t\t\tvar b = this.options,\n\t\t\t\t\tf = b.marker,\n\t\t\t\t\td = a.symbolWidth,\n\t\t\t\t\tk = this.chart.renderer,\n\t\t\t\t\tc = this.legendGroup;\n\t\t\t\ta = a.baseline - Math.round(.3 * a.fontMetrics.b);\n\t\t\t\tvar g;\n\t\t\t\tg = {\n\t\t\t\t\t\"stroke-width\": b.lineWidth || 0\n\t\t\t\t};\n\t\t\t\tb.dashStyle &amp;&amp; (g.dashstyle = b.dashStyle);\n\t\t\t\tthis.legendLine =\n\t\t\t\t\tk.path([\"M\", 0, a, \"L\", d, a]).addClass(\"highcharts-graph\").attr(g).add(c);\n\t\t\t\tf &amp;&amp; !1 !== f.enabled &amp;&amp; (b = 0 === this.symbol.indexOf(\"url\") ? 0 : f.radius, this.legendSymbol = f = k.symbol(this.symbol, d / 2 - b, a - b, 2 * b, 2 * b, f).addClass(\"highcharts-point\").add(c), f.isMarker = !0)\n\t\t\t}\n\t\t};\n\t\t(/Trident\\/7\\.0/.test(w.navigator.userAgent) || v) &amp;&amp; t(E.prototype, \"positionItem\", function(a, b) {\n\t\t\tvar e = this,\n\t\t\t\tf = function() {\n\t\t\t\t\tb._legendItemPos &amp;&amp; a.call(e, b)\n\t\t\t\t};\n\t\t\tf();\n\t\t\tsetTimeout(f)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.animObject,\n\t\t\tH = a.attr,\n\t\t\tp = a.doc,\n\t\t\td = a.Axis,\n\t\t\tg = a.createElement,\n\t\t\tv = a.defaultOptions,\n\t\t\tl = a.discardElement,\n\t\t\tr = a.charts,\n\t\t\tf = a.css,\n\t\t\tb = a.defined,\n\t\t\tn = a.each,\n\t\t\tw = a.error,\n\t\t\tt = a.extend,\n\t\t\tk = a.fireEvent,\n\t\t\te = a.getStyle,\n\t\t\th = a.grep,\n\t\t\tC = a.isNumber,\n\t\t\tu = a.isObject,\n\t\t\tc = a.isString,\n\t\t\tq = a.Legend,\n\t\t\tx = a.marginNames,\n\t\t\tK = a.merge,\n\t\t\tI = a.Pointer,\n\t\t\tJ = a.pick,\n\t\t\tD = a.pInt,\n\t\t\tG = a.removeEvent,\n\t\t\tL = a.seriesTypes,\n\t\t\tN = a.splat,\n\t\t\tm = a.svg,\n\t\t\tz = a.syncTimeout,\n\t\t\tO = a.win,\n\t\t\tP = a.Renderer,\n\t\t\ty = a.Chart = function() {\n\t\t\t\tthis.getArgs.apply(this, arguments)\n\t\t\t};\n\t\ta.chart = function(a, b, c) {\n\t\t\treturn new y(a, b, c)\n\t\t};\n\t\ty.prototype = {\n\t\t\tcallbacks: [],\n\t\t\tgetArgs: function() {\n\t\t\t\tvar a = [].slice.call(arguments);\n\t\t\t\tif (c(a[0]) || a[0].nodeName) this.renderTo = a.shift();\n\t\t\t\tthis.init(a[0], a[1])\n\t\t\t},\n\t\t\tinit: function(b, c) {\n\t\t\t\tvar e, f = b.series;\n\t\t\t\tb.series = null;\n\t\t\t\te = K(v, b);\n\t\t\t\te.series = b.series = f;\n\t\t\t\tthis.userOptions = b;\n\t\t\t\tthis.respRules = [];\n\t\t\t\tb = e.chart;\n\t\t\t\tf = b.events;\n\t\t\t\tthis.margin = [];\n\t\t\t\tthis.spacing = [];\n\t\t\t\tthis.bounds = {\n\t\t\t\t\th: {},\n\t\t\t\t\tv: {}\n\t\t\t\t};\n\t\t\t\tthis.callback = c;\n\t\t\t\tthis.isResizing = 0;\n\t\t\t\tthis.options = e;\n\t\t\t\tthis.axes = [];\n\t\t\t\tthis.series = [];\n\t\t\t\tthis.hasCartesianSeries = b.showAxes;\n\t\t\t\tvar d;\n\t\t\t\tthis.index = r.length;\n\t\t\t\tr.push(this);\n\t\t\t\ta.chartCount++;\n\t\t\t\tif (f)\n\t\t\t\t\tfor (d in f) E(this, d, f[d]);\n\t\t\t\tthis.xAxis = [];\n\t\t\t\tthis.yAxis = [];\n\t\t\t\tthis.pointCount =\n\t\t\t\t\tthis.colorCounter = this.symbolCounter = 0;\n\t\t\t\tthis.firstRender()\n\t\t\t},\n\t\t\tinitSeries: function(a) {\n\t\t\t\tvar b = this.options.chart;\n\t\t\t\t(b = L[a.type || b.type || b.defaultSeriesType]) || w(17, !0);\n\t\t\t\tb = new b;\n\t\t\t\tb.init(this, a);\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tisInsidePlot: function(a, b, c) {\n\t\t\t\tvar e = c ? b : a;\n\t\t\t\ta = c ? a : b;\n\t\t\t\treturn 0 &lt;= e &amp;&amp; e &lt;= this.plotWidth &amp;&amp; 0 &lt;= a &amp;&amp; a &lt;= this.plotHeight\n\t\t\t},\n\t\t\tredraw: function(b) {\n\t\t\t\tvar c = this.axes,\n\t\t\t\t\te = this.series,\n\t\t\t\t\tf = this.pointer,\n\t\t\t\t\td = this.legend,\n\t\t\t\t\tm = this.isDirtyLegend,\n\t\t\t\t\th, g, q = this.hasCartesianSeries,\n\t\t\t\t\tl = this.isDirtyBox,\n\t\t\t\t\tD = e.length,\n\t\t\t\t\tu = D,\n\t\t\t\t\tB = this.renderer,\n\t\t\t\t\tr = B.isHidden(),\n\t\t\t\t\tG = [];\n\t\t\t\ta.setAnimation(b,\n\t\t\t\t\tthis);\n\t\t\t\tr &amp;&amp; this.cloneRenderTo();\n\t\t\t\tfor (this.layOutTitles(); u--;)\n\t\t\t\t\tif (b = e[u], b.options.stacking &amp;&amp; (h = !0, b.isDirty)) {\n\t\t\t\t\t\tg = !0;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tif (g)\n\t\t\t\t\tfor (u = D; u--;) b = e[u], b.options.stacking &amp;&amp; (b.isDirty = !0);\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; \"point\" === a.options.legendType &amp;&amp; (a.updateTotals &amp;&amp; a.updateTotals(), m = !0);\n\t\t\t\t\ta.isDirtyData &amp;&amp; k(a, \"updatedData\")\n\t\t\t\t});\n\t\t\t\tm &amp;&amp; d.options.enabled &amp;&amp; (d.render(), this.isDirtyLegend = !1);\n\t\t\t\th &amp;&amp; this.getStacks();\n\t\t\t\tq &amp;&amp; n(c, function(a) {\n\t\t\t\t\ta.updateNames();\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getMargins();\n\t\t\t\tq &amp;&amp; (n(c, function(a) {\n\t\t\t\t\ta.isDirty &amp;&amp; (l = !0)\n\t\t\t\t}), n(c,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\tvar b = a.min + \",\" + a.max;\n\t\t\t\t\t\ta.extKey !== b &amp;&amp; (a.extKey = b, G.push(function() {\n\t\t\t\t\t\t\tk(a, \"afterSetExtremes\", t(a.eventArgs, a.getExtremes()));\n\t\t\t\t\t\t\tdelete a.eventArgs\n\t\t\t\t\t\t}));\n\t\t\t\t\t\t(l || h) &amp;&amp; a.redraw()\n\t\t\t\t\t}));\n\t\t\t\tl &amp;&amp; this.drawChartBox();\n\t\t\t\tn(e, function(a) {\n\t\t\t\t\t(l || a.isDirty) &amp;&amp; a.visible &amp;&amp; a.redraw()\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; f.reset(!0);\n\t\t\t\tB.draw();\n\t\t\t\tk(this, \"redraw\");\n\t\t\t\tr &amp;&amp; this.cloneRenderTo(!0);\n\t\t\t\tn(G, function(a) {\n\t\t\t\t\ta.call()\n\t\t\t\t})\n\t\t\t},\n\t\t\tget: function(a) {\n\t\t\t\tvar b = this.axes,\n\t\t\t\t\tc = this.series,\n\t\t\t\t\te, f;\n\t\t\t\tfor (e = 0; e &lt; b.length; e++)\n\t\t\t\t\tif (b[e].options.id === a) return b[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tif (c[e].options.id ===\n\t\t\t\t\t\ta) return c[e];\n\t\t\t\tfor (e = 0; e &lt; c.length; e++)\n\t\t\t\t\tfor (f = c[e].points || [], b = 0; b &lt; f.length; b++)\n\t\t\t\t\t\tif (f[b].id === a) return f[b];\n\t\t\t\treturn null\n\t\t\t},\n\t\t\tgetAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = b.xAxis = N(b.xAxis || {}),\n\t\t\t\t\tb = b.yAxis = N(b.yAxis || {});\n\t\t\t\tn(c, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.isX = !0\n\t\t\t\t});\n\t\t\t\tn(b, function(a, b) {\n\t\t\t\t\ta.index = b\n\t\t\t\t});\n\t\t\t\tc = c.concat(b);\n\t\t\t\tn(c, function(b) {\n\t\t\t\t\tnew d(a, b)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSelectedPoints: function() {\n\t\t\t\tvar a = [];\n\t\t\t\tn(this.series, function(b) {\n\t\t\t\t\ta = a.concat(h(b.points || [], function(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetSelectedSeries: function() {\n\t\t\t\treturn h(this.series,\n\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\treturn a.selected\n\t\t\t\t\t})\n\t\t\t},\n\t\t\tsetTitle: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td;\n\t\t\t\td = f.title = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#333333\",\n\t\t\t\t\t\tfontSize: f.isStock ? \"16px\" : \"18px\"\n\t\t\t\t\t}\n\t\t\t\t}, f.title, a);\n\t\t\t\tf = f.subtitle = K({\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: \"#666666\"\n\t\t\t\t\t}\n\t\t\t\t}, f.subtitle, b);\n\t\t\t\tn([\n\t\t\t\t\t[\"title\", a, d],\n\t\t\t\t\t[\"subtitle\", b, f]\n\t\t\t\t], function(a, b) {\n\t\t\t\t\tvar c = a[0],\n\t\t\t\t\t\tf = e[c],\n\t\t\t\t\t\td = a[1];\n\t\t\t\t\ta = a[2];\n\t\t\t\t\tf &amp;&amp; d &amp;&amp; (e[c] = f = f.destroy());\n\t\t\t\t\ta &amp;&amp; a.text &amp;&amp; !f &amp;&amp; (e[c] = e.renderer.text(a.text, 0, 0, a.useHTML).attr({\n\t\t\t\t\t\talign: a.align,\n\t\t\t\t\t\t\"class\": \"highcharts-\" + c,\n\t\t\t\t\t\tzIndex: a.zIndex || 4\n\t\t\t\t\t}).add(), e[c].update = function(a) {\n\t\t\t\t\t\te.setTitle(!b &amp;&amp; a, b &amp;&amp;\n\t\t\t\t\t\t\ta)\n\t\t\t\t\t}, e[c].css(a.style))\n\t\t\t\t});\n\t\t\t\te.layOutTitles(c)\n\t\t\t},\n\t\t\tlayOutTitles: function(a) {\n\t\t\t\tvar b = 0,\n\t\t\t\t\tc, e = this.renderer,\n\t\t\t\t\tf = this.spacingBox;\n\t\t\t\tn([\"title\", \"subtitle\"], function(a) {\n\t\t\t\t\tvar c = this[a],\n\t\t\t\t\t\td = this.options[a],\n\t\t\t\t\t\tm;\n\t\t\t\t\tc &amp;&amp; (m = d.style.fontSize, m = e.fontMetrics(m, c).b, c.css({\n\t\t\t\t\t\twidth: (d.width || f.width + d.widthAdjust) + \"px\"\n\t\t\t\t\t}).align(t({\n\t\t\t\t\t\ty: b + m + (\"title\" === a ? -3 : 2)\n\t\t\t\t\t}, d), !1, \"spacingBox\"), d.floating || d.verticalAlign || (b = Math.ceil(b + c.getBBox().height)))\n\t\t\t\t}, this);\n\t\t\t\tc = this.titleOffset !== b;\n\t\t\t\tthis.titleOffset = b;\n\t\t\t\t!this.isDirtyBox &amp;&amp; c &amp;&amp; (this.isDirtyBox = c, this.hasRendered &amp;&amp;\n\t\t\t\t\tJ(a, !0) &amp;&amp; this.isDirtyBox &amp;&amp; this.redraw())\n\t\t\t},\n\t\t\tgetChartSize: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tc = a.width,\n\t\t\t\t\ta = a.height,\n\t\t\t\t\tf = this.renderToClone || this.renderTo;\n\t\t\t\tb(c) || (this.containerWidth = e(f, \"width\"));\n\t\t\t\tb(a) || (this.containerHeight = e(f, \"height\"));\n\t\t\t\tthis.chartWidth = Math.max(0, c || this.containerWidth || 600);\n\t\t\t\tthis.chartHeight = Math.max(0, J(a, 19 &lt; this.containerHeight ? this.containerHeight : 400))\n\t\t\t},\n\t\t\tcloneRenderTo: function(a) {\n\t\t\t\tvar b = this.renderToClone,\n\t\t\t\t\tc = this.container;\n\t\t\t\tif (a) {\n\t\t\t\t\tif (b) {\n\t\t\t\t\t\tfor (; b.childNodes.length;) this.renderTo.appendChild(b.firstChild);\n\t\t\t\t\t\tl(b);\n\t\t\t\t\t\tdelete this.renderToClone\n\t\t\t\t\t}\n\t\t\t\t} else c &amp;&amp; c.parentNode === this.renderTo &amp;&amp; this.renderTo.removeChild(c), this.renderToClone = b = this.renderTo.cloneNode(0), f(b, {\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: \"-9999px\",\n\t\t\t\t\tdisplay: \"block\"\n\t\t\t\t}), b.style.setProperty &amp;&amp; b.style.setProperty(\"display\", \"block\", \"important\"), p.body.appendChild(b), c &amp;&amp; b.appendChild(c)\n\t\t\t},\n\t\t\tsetClassName: function(a) {\n\t\t\t\tthis.container.className = \"highcharts-container \" + (a || \"\")\n\t\t\t},\n\t\t\tgetContainer: function() {\n\t\t\t\tvar b, e = this.options,\n\t\t\t\t\tf = e.chart,\n\t\t\t\t\td, m;\n\t\t\t\tb = this.renderTo;\n\t\t\t\tvar h = a.uniqueKey(),\n\t\t\t\t\tk;\n\t\t\t\tb ||\n\t\t\t\t\t(this.renderTo = b = f.renderTo);\n\t\t\t\tc(b) &amp;&amp; (this.renderTo = b = p.getElementById(b));\n\t\t\t\tb || w(13, !0);\n\t\t\t\td = D(H(b, \"data-highcharts-chart\"));\n\t\t\t\tC(d) &amp;&amp; r[d] &amp;&amp; r[d].hasRendered &amp;&amp; r[d].destroy();\n\t\t\t\tH(b, \"data-highcharts-chart\", this.index);\n\t\t\t\tb.innerHTML = \"\";\n\t\t\t\tf.skipClone || b.offsetWidth || this.cloneRenderTo();\n\t\t\t\tthis.getChartSize();\n\t\t\t\td = this.chartWidth;\n\t\t\t\tm = this.chartHeight;\n\t\t\t\tk = t({\n\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: d + \"px\",\n\t\t\t\t\theight: m + \"px\",\n\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\tlineHeight: \"normal\",\n\t\t\t\t\tzIndex: 0,\n\t\t\t\t\t\"-webkit-tap-highlight-color\": \"rgba(0,0,0,0)\"\n\t\t\t\t}, f.style);\n\t\t\t\tthis.container =\n\t\t\t\t\tb = g(\"div\", {\n\t\t\t\t\t\tid: h\n\t\t\t\t\t}, k, this.renderToClone || b);\n\t\t\t\tthis._cursor = b.style.cursor;\n\t\t\t\tthis.renderer = new(a[f.renderer] || P)(b, d, m, null, f.forExport, e.exporting &amp;&amp; e.exporting.allowHTML);\n\t\t\t\tthis.setClassName(f.className);\n\t\t\t\tthis.renderer.setStyle(f.style);\n\t\t\t\tthis.renderer.chartIndex = this.index\n\t\t\t},\n\t\t\tgetMargins: function(a) {\n\t\t\t\tvar c = this.spacing,\n\t\t\t\t\te = this.margin,\n\t\t\t\t\tf = this.titleOffset;\n\t\t\t\tthis.resetMargins();\n\t\t\t\tf &amp;&amp; !b(e[0]) &amp;&amp; (this.plotTop = Math.max(this.plotTop, f + this.options.title.margin + c[0]));\n\t\t\t\tthis.legend.display &amp;&amp; this.legend.adjustMargins(e, c);\n\t\t\t\tthis.extraBottomMargin &amp;&amp;\n\t\t\t\t\t(this.marginBottom += this.extraBottomMargin);\n\t\t\t\tthis.extraTopMargin &amp;&amp; (this.plotTop += this.extraTopMargin);\n\t\t\t\ta || this.getAxisMargins()\n\t\t\t},\n\t\t\tgetAxisMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.axisOffset = [0, 0, 0, 0],\n\t\t\t\t\te = a.margin;\n\t\t\t\ta.hasCartesianSeries &amp;&amp; n(a.axes, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.getOffset()\n\t\t\t\t});\n\t\t\t\tn(x, function(f, d) {\n\t\t\t\t\tb(e[d]) || (a[f] += c[d])\n\t\t\t\t});\n\t\t\t\ta.setChartSize()\n\t\t\t},\n\t\t\treflow: function(a) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.options.chart,\n\t\t\t\t\td = c.renderTo,\n\t\t\t\t\tm = b(f.width),\n\t\t\t\t\th = f.width || e(d, \"width\"),\n\t\t\t\t\tf = f.height || e(d, \"height\"),\n\t\t\t\t\td = a ? a.target : O;\n\t\t\t\tif (!m &amp;&amp; !c.isPrinting &amp;&amp; h &amp;&amp; f &amp;&amp; (d ===\n\t\t\t\t\t\tO || d === p)) {\n\t\t\t\t\tif (h !== c.containerWidth || f !== c.containerHeight) clearTimeout(c.reflowTimeout), c.reflowTimeout = z(function() {\n\t\t\t\t\t\tc.container &amp;&amp; c.setSize(void 0, void 0, !1)\n\t\t\t\t\t}, a ? 100 : 0);\n\t\t\t\t\tc.containerWidth = h;\n\t\t\t\t\tc.containerHeight = f\n\t\t\t\t}\n\t\t\t},\n\t\t\tinitReflow: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb;\n\t\t\t\tb = E(O, \"resize\", function(b) {\n\t\t\t\t\ta.reflow(b)\n\t\t\t\t});\n\t\t\t\tE(a, \"destroy\", b)\n\t\t\t},\n\t\t\tsetSize: function(b, c, e) {\n\t\t\t\tvar d = this,\n\t\t\t\t\tm = d.renderer;\n\t\t\t\td.isResizing += 1;\n\t\t\t\ta.setAnimation(e, d);\n\t\t\t\td.oldChartHeight = d.chartHeight;\n\t\t\t\td.oldChartWidth = d.chartWidth;\n\t\t\t\tvoid 0 !== b &amp;&amp; (d.options.chart.width = b);\n\t\t\t\tvoid 0 !== c &amp;&amp; (d.options.chart.height =\n\t\t\t\t\tc);\n\t\t\t\td.getChartSize();\n\t\t\t\tb = m.globalAnimation;\n\t\t\t\t(b ? A : f)(d.container, {\n\t\t\t\t\twidth: d.chartWidth + \"px\",\n\t\t\t\t\theight: d.chartHeight + \"px\"\n\t\t\t\t}, b);\n\t\t\t\td.setChartSize(!0);\n\t\t\t\tm.setSize(d.chartWidth, d.chartHeight, e);\n\t\t\t\tn(d.axes, function(a) {\n\t\t\t\t\ta.isDirty = !0;\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\td.isDirtyLegend = !0;\n\t\t\t\td.isDirtyBox = !0;\n\t\t\t\td.layOutTitles();\n\t\t\t\td.getMargins();\n\t\t\t\td.setResponsive &amp;&amp; d.setResponsive(!1);\n\t\t\t\td.redraw(e);\n\t\t\t\td.oldChartHeight = null;\n\t\t\t\tk(d, \"resize\");\n\t\t\t\tz(function() {\n\t\t\t\t\td &amp;&amp; k(d, \"endResize\", null, function() {\n\t\t\t\t\t\t--d.isResizing\n\t\t\t\t\t})\n\t\t\t\t}, F(b).duration)\n\t\t\t},\n\t\t\tsetChartSize: function(a) {\n\t\t\t\tvar b = this.inverted,\n\t\t\t\t\tc = this.renderer,\n\t\t\t\t\te = this.chartWidth,\n\t\t\t\t\tf = this.chartHeight,\n\t\t\t\t\td = this.options.chart,\n\t\t\t\t\tm = this.spacing,\n\t\t\t\t\th = this.clipOffset,\n\t\t\t\t\tk, g, q, l;\n\t\t\t\tthis.plotLeft = k = Math.round(this.plotLeft);\n\t\t\t\tthis.plotTop = g = Math.round(this.plotTop);\n\t\t\t\tthis.plotWidth = q = Math.max(0, Math.round(e - k - this.marginRight));\n\t\t\t\tthis.plotHeight = l = Math.max(0, Math.round(f - g - this.marginBottom));\n\t\t\t\tthis.plotSizeX = b ? l : q;\n\t\t\t\tthis.plotSizeY = b ? q : l;\n\t\t\t\tthis.plotBorderWidth = d.plotBorderWidth || 0;\n\t\t\t\tthis.spacingBox = c.spacingBox = {\n\t\t\t\t\tx: m[3],\n\t\t\t\t\ty: m[0],\n\t\t\t\t\twidth: e - m[3] - m[1],\n\t\t\t\t\theight: f - m[0] - m[2]\n\t\t\t\t};\n\t\t\t\tthis.plotBox =\n\t\t\t\t\tc.plotBox = {\n\t\t\t\t\t\tx: k,\n\t\t\t\t\t\ty: g,\n\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\theight: l\n\t\t\t\t\t};\n\t\t\t\te = 2 * Math.floor(this.plotBorderWidth / 2);\n\t\t\t\tb = Math.ceil(Math.max(e, h[3]) / 2);\n\t\t\t\tc = Math.ceil(Math.max(e, h[0]) / 2);\n\t\t\t\tthis.clipBox = {\n\t\t\t\t\tx: b,\n\t\t\t\t\ty: c,\n\t\t\t\t\twidth: Math.floor(this.plotSizeX - Math.max(e, h[1]) / 2 - b),\n\t\t\t\t\theight: Math.max(0, Math.floor(this.plotSizeY - Math.max(e, h[2]) / 2 - c))\n\t\t\t\t};\n\t\t\t\ta || n(this.axes, function(a) {\n\t\t\t\t\ta.setAxisSize();\n\t\t\t\t\ta.setAxisTranslation()\n\t\t\t\t})\n\t\t\t},\n\t\t\tresetMargins: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart;\n\t\t\t\tn([\"margin\", \"spacing\"], function(c) {\n\t\t\t\t\tvar e = b[c],\n\t\t\t\t\t\tf = u(e) ? e : [e, e, e, e];\n\t\t\t\t\tn([\"Top\", \"Right\", \"Bottom\", \"Left\"],\n\t\t\t\t\t\tfunction(e, d) {\n\t\t\t\t\t\t\ta[c][d] = J(b[c + e], f[d])\n\t\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tn(x, function(b, c) {\n\t\t\t\t\ta[b] = J(a.margin[c], a.spacing[c])\n\t\t\t\t});\n\t\t\t\ta.axisOffset = [0, 0, 0, 0];\n\t\t\t\ta.clipOffset = [0, 0, 0, 0]\n\t\t\t},\n\t\t\tdrawChartBox: function() {\n\t\t\t\tvar a = this.options.chart,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.chartWidth,\n\t\t\t\t\te = this.chartHeight,\n\t\t\t\t\tf = this.chartBackground,\n\t\t\t\t\td = this.plotBackground,\n\t\t\t\t\tm = this.plotBorder,\n\t\t\t\t\th, k = this.plotBGImage,\n\t\t\t\t\tg = a.backgroundColor,\n\t\t\t\t\tn = a.plotBackgroundColor,\n\t\t\t\t\tq = a.plotBackgroundImage,\n\t\t\t\t\tl, D = this.plotLeft,\n\t\t\t\t\tu = this.plotTop,\n\t\t\t\t\tt = this.plotWidth,\n\t\t\t\t\tr = this.plotHeight,\n\t\t\t\t\tG = this.plotBox,\n\t\t\t\t\tp = this.clipRect,\n\t\t\t\t\tx = this.clipBox,\n\t\t\t\t\tz = \"animate\";\n\t\t\t\tf || (this.chartBackground = f = b.rect().addClass(\"highcharts-background\").add(), z = \"attr\");\n\t\t\t\th = a.borderWidth || 0;\n\t\t\t\tl = h + (a.shadow ? 8 : 0);\n\t\t\t\tg = {\n\t\t\t\t\tfill: g || \"none\"\n\t\t\t\t};\n\t\t\t\tif (h || f[\"stroke-width\"]) g.stroke = a.borderColor, g[\"stroke-width\"] = h;\n\t\t\t\tf.attr(g).shadow(a.shadow);\n\t\t\t\tf[z]({\n\t\t\t\t\tx: l / 2,\n\t\t\t\t\ty: l / 2,\n\t\t\t\t\twidth: c - l - h % 2,\n\t\t\t\t\theight: e - l - h % 2,\n\t\t\t\t\tr: a.borderRadius\n\t\t\t\t});\n\t\t\t\tz = \"animate\";\n\t\t\t\td || (z = \"attr\", this.plotBackground = d = b.rect().addClass(\"highcharts-plot-background\").add());\n\t\t\t\td[z](G);\n\t\t\t\td.attr({\n\t\t\t\t\tfill: n || \"none\"\n\t\t\t\t}).shadow(a.plotShadow);\n\t\t\t\tq &amp;&amp; (k ? k.animate(G) : this.plotBGImage =\n\t\t\t\t\tb.image(q, D, u, t, r).add());\n\t\t\t\tp ? p.animate({\n\t\t\t\t\twidth: x.width,\n\t\t\t\t\theight: x.height\n\t\t\t\t}) : this.clipRect = b.clipRect(x);\n\t\t\t\tz = \"animate\";\n\t\t\t\tm || (z = \"attr\", this.plotBorder = m = b.rect().addClass(\"highcharts-plot-border\").attr({\n\t\t\t\t\tzIndex: 1\n\t\t\t\t}).add());\n\t\t\t\tm.attr({\n\t\t\t\t\tstroke: a.plotBorderColor,\n\t\t\t\t\t\"stroke-width\": a.plotBorderWidth || 0,\n\t\t\t\t\tfill: \"none\"\n\t\t\t\t});\n\t\t\t\tm[z](m.crisp({\n\t\t\t\t\tx: D,\n\t\t\t\t\ty: u,\n\t\t\t\t\twidth: t,\n\t\t\t\t\theight: r\n\t\t\t\t}, -m.strokeWidth()));\n\t\t\t\tthis.isDirtyBox = !1\n\t\t\t},\n\t\t\tpropFromSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.chart,\n\t\t\t\t\tc, e = a.options.series,\n\t\t\t\t\tf, d;\n\t\t\t\tn([\"inverted\", \"angular\", \"polar\"], function(m) {\n\t\t\t\t\tc = L[b.type ||\n\t\t\t\t\t\tb.defaultSeriesType];\n\t\t\t\t\td = b[m] || c &amp;&amp; c.prototype[m];\n\t\t\t\t\tfor (f = e &amp;&amp; e.length; !d &amp;&amp; f--;)(c = L[e[f].type]) &amp;&amp; c.prototype[m] &amp;&amp; (d = !0);\n\t\t\t\t\ta[m] = d\n\t\t\t\t})\n\t\t\t},\n\t\t\tlinkSeries: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.series;\n\t\t\t\tn(b, function(a) {\n\t\t\t\t\ta.linkedSeries.length = 0\n\t\t\t\t});\n\t\t\t\tn(b, function(b) {\n\t\t\t\t\tvar e = b.options.linkedTo;\n\t\t\t\t\tc(e) &amp;&amp; (e = \":previous\" === e ? a.series[b.index - 1] : a.get(e)) &amp;&amp; e.linkedParent !== b &amp;&amp; (e.linkedSeries.push(b), b.linkedParent = e, b.visible = J(b.options.visible, e.options.visible, b.visible))\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderSeries: function() {\n\t\t\t\tn(this.series, function(a) {\n\t\t\t\t\ta.translate();\n\t\t\t\t\ta.render()\n\t\t\t\t})\n\t\t\t},\n\t\t\trenderLabels: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options.labels;\n\t\t\t\tb.items &amp;&amp; n(b.items, function(c) {\n\t\t\t\t\tvar e = t(b.style, c.style),\n\t\t\t\t\t\tf = D(e.left) + a.plotLeft,\n\t\t\t\t\t\td = D(e.top) + a.plotTop + 12;\n\t\t\t\t\tdelete e.left;\n\t\t\t\t\tdelete e.top;\n\t\t\t\t\ta.renderer.text(c.html, f, d).attr({\n\t\t\t\t\t\tzIndex: 2\n\t\t\t\t\t}).css(e).add()\n\t\t\t\t})\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this.axes,\n\t\t\t\t\tb = this.renderer,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te, f, d;\n\t\t\t\tthis.setTitle();\n\t\t\t\tthis.legend = new q(this, c.legend);\n\t\t\t\tthis.getStacks &amp;&amp; this.getStacks();\n\t\t\t\tthis.getMargins(!0);\n\t\t\t\tthis.setChartSize();\n\t\t\t\tc = this.plotWidth;\n\t\t\t\te = this.plotHeight -= 21;\n\t\t\t\tn(a, function(a) {\n\t\t\t\t\ta.setScale()\n\t\t\t\t});\n\t\t\t\tthis.getAxisMargins();\n\t\t\t\tf = 1.1 &lt; c / this.plotWidth;\n\t\t\t\td = 1.05 &lt; e / this.plotHeight;\n\t\t\t\tif (f || d) n(a, function(a) {\n\t\t\t\t\t(a.horiz &amp;&amp; f || !a.horiz &amp;&amp; d) &amp;&amp; a.setTickInterval(!0)\n\t\t\t\t}), this.getMargins();\n\t\t\t\tthis.drawChartBox();\n\t\t\t\tthis.hasCartesianSeries &amp;&amp; n(a, function(a) {\n\t\t\t\t\ta.visible &amp;&amp; a.render()\n\t\t\t\t});\n\t\t\t\tthis.seriesGroup || (this.seriesGroup = b.g(\"series-group\").attr({\n\t\t\t\t\tzIndex: 3\n\t\t\t\t}).add());\n\t\t\t\tthis.renderSeries();\n\t\t\t\tthis.renderLabels();\n\t\t\t\tthis.addCredits();\n\t\t\t\tthis.setResponsive &amp;&amp; this.setResponsive();\n\t\t\t\tthis.hasRendered = !0\n\t\t\t},\n\t\t\taddCredits: function(a) {\n\t\t\t\tvar b = this;\n\t\t\t\ta = K(!0, this.options.credits,\n\t\t\t\t\ta);\n\t\t\t\ta.enabled &amp;&amp; !this.credits &amp;&amp; (this.credits = this.renderer.text(a.text + (this.mapCredits || \"\"), 0, 0).addClass(\"highcharts-credits\").on(\"click\", function() {\n\t\t\t\t\ta.href &amp;&amp; (O.location.href = a.href)\n\t\t\t\t}).attr({\n\t\t\t\t\talign: a.position.align,\n\t\t\t\t\tzIndex: 8\n\t\t\t\t}).css(a.style).add().align(a.position), this.credits.update = function(a) {\n\t\t\t\t\tb.credits = b.credits.destroy();\n\t\t\t\t\tb.addCredits(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.axes,\n\t\t\t\t\te = b.series,\n\t\t\t\t\tf = b.container,\n\t\t\t\t\td, m = f &amp;&amp; f.parentNode;\n\t\t\t\tk(b, \"destroy\");\n\t\t\t\tr[b.index] = void 0;\n\t\t\t\ta.chartCount--;\n\t\t\t\tb.renderTo.removeAttribute(\"data-highcharts-chart\");\n\t\t\t\tG(b);\n\t\t\t\tfor (d = c.length; d--;) c[d] = c[d].destroy();\n\t\t\t\tthis.scroller &amp;&amp; this.scroller.destroy &amp;&amp; this.scroller.destroy();\n\t\t\t\tfor (d = e.length; d--;) e[d] = e[d].destroy();\n\t\t\t\tn(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"), function(a) {\n\t\t\t\t\tvar c = b[a];\n\t\t\t\t\tc &amp;&amp; c.destroy &amp;&amp; (b[a] = c.destroy())\n\t\t\t\t});\n\t\t\t\tf &amp;&amp; (f.innerHTML = \"\", G(f), m &amp;&amp; l(f));\n\t\t\t\tfor (d in b) delete b[d]\n\t\t\t},\n\t\t\tisReadyToRender: function() {\n\t\t\t\tvar a = this;\n\t\t\t\treturn m || O != O.top || \"complete\" ===\n\t\t\t\t\tp.readyState ? !0 : (p.attachEvent(\"onreadystatechange\", function() {\n\t\t\t\t\t\tp.detachEvent(\"onreadystatechange\", a.firstRender);\n\t\t\t\t\t\t\"complete\" === p.readyState &amp;&amp; a.firstRender()\n\t\t\t\t\t}), !1)\n\t\t\t},\n\t\t\tfirstRender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options;\n\t\t\t\tif (a.isReadyToRender()) {\n\t\t\t\t\ta.getContainer();\n\t\t\t\t\tk(a, \"init\");\n\t\t\t\t\ta.resetMargins();\n\t\t\t\t\ta.setChartSize();\n\t\t\t\t\ta.propFromSeries();\n\t\t\t\t\ta.getAxes();\n\t\t\t\t\tn(b.series || [], function(b) {\n\t\t\t\t\t\ta.initSeries(b)\n\t\t\t\t\t});\n\t\t\t\t\ta.linkSeries();\n\t\t\t\t\tk(a, \"beforeRender\");\n\t\t\t\t\tI &amp;&amp; (a.pointer = new I(a, b));\n\t\t\t\t\ta.render();\n\t\t\t\t\ta.renderer.draw();\n\t\t\t\t\tif (!a.renderer.imgCount &amp;&amp; a.onload) a.onload();\n\t\t\t\t\ta.cloneRenderTo(!0)\n\t\t\t\t}\n\t\t\t},\n\t\t\tonload: function() {\n\t\t\t\tn([this.callback].concat(this.callbacks), function(a) {\n\t\t\t\t\ta &amp;&amp; void 0 !== this.index &amp;&amp; a.apply(this, [this])\n\t\t\t\t}, this);\n\t\t\t\tk(this, \"load\");\n\t\t\t\t!1 !== this.options.chart.reflow &amp;&amp; this.initReflow();\n\t\t\t\tthis.onload = null\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E, A = a.each,\n\t\t\tF = a.extend,\n\t\t\tH = a.erase,\n\t\t\tp = a.fireEvent,\n\t\t\td = a.format,\n\t\t\tg = a.isArray,\n\t\t\tv = a.isNumber,\n\t\t\tl = a.pick,\n\t\t\tr = a.removeEvent;\n\t\tE = a.Point = function() {};\n\t\tE.prototype = {\n\t\t\tinit: function(a, b, d) {\n\t\t\t\tthis.series = a;\n\t\t\t\tthis.color = a.color;\n\t\t\t\tthis.applyOptions(b, d);\n\t\t\t\ta.options.colorByPoint ? (b = a.options.colors ||\n\t\t\t\t\ta.chart.options.colors, this.color = this.color || b[a.colorCounter], b = b.length, d = a.colorCounter, a.colorCounter++, a.colorCounter === b &amp;&amp; (a.colorCounter = 0)) : d = a.colorIndex;\n\t\t\t\tthis.colorIndex = l(this.colorIndex, d);\n\t\t\t\ta.chart.pointCount++;\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tapplyOptions: function(a, b) {\n\t\t\t\tvar f = this.series,\n\t\t\t\t\td = f.options.pointValKey || f.pointValKey;\n\t\t\t\ta = E.prototype.optionsToObject.call(this, a);\n\t\t\t\tF(this, a);\n\t\t\t\tthis.options = this.options ? F(this.options, a) : a;\n\t\t\t\ta.group &amp;&amp; delete this.group;\n\t\t\t\td &amp;&amp; (this.y = this[d]);\n\t\t\t\tthis.isNull = l(this.isValid &amp;&amp; !this.isValid(),\n\t\t\t\t\tnull === this.x || !v(this.y, !0));\n\t\t\t\tthis.selected &amp;&amp; (this.state = \"select\");\n\t\t\t\t\"name\" in this &amp;&amp; void 0 === b &amp;&amp; f.xAxis &amp;&amp; f.xAxis.hasNames &amp;&amp; (this.x = f.xAxis.nameToX(this));\n\t\t\t\tvoid 0 === this.x &amp;&amp; f &amp;&amp; (this.x = void 0 === b ? f.autoIncrement(this) : b);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\toptionsToObject: function(a) {\n\t\t\t\tvar b = {},\n\t\t\t\t\tf = this.series,\n\t\t\t\t\td = f.options.keys,\n\t\t\t\t\tl = d || f.pointArrayMap || [\"y\"],\n\t\t\t\t\tk = l.length,\n\t\t\t\t\te = 0,\n\t\t\t\t\th = 0;\n\t\t\t\tif (v(a) || null === a) b[l[0]] = a;\n\t\t\t\telse if (g(a))\n\t\t\t\t\tfor (!d &amp;&amp; a.length &gt; k &amp;&amp; (f = typeof a[0], \"string\" === f ? b.name = a[0] : \"number\" === f &amp;&amp; (b.x = a[0]), e++); h &lt; k;) d &amp;&amp; void 0 === a[e] || (b[l[h]] =\n\t\t\t\t\t\ta[e]), e++, h++;\n\t\t\t\telse \"object\" === typeof a &amp;&amp; (b = a, a.dataLabels &amp;&amp; (f._hasPointLabels = !0), a.marker &amp;&amp; (f._hasPointMarkers = !0));\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tgetClassName: function() {\n\t\t\t\treturn \"highcharts-point\" + (this.selected ? \" highcharts-point-select\" : \"\") + (this.negative ? \" highcharts-negative\" : \"\") + (this.isNull ? \" highcharts-null-point\" : \"\") + (void 0 !== this.colorIndex ? \" highcharts-color-\" + this.colorIndex : \"\") + (this.options.className ? \" \" + this.options.className : \"\")\n\t\t\t},\n\t\t\tgetZone: function() {\n\t\t\t\tvar a = this.series,\n\t\t\t\t\tb = a.zones,\n\t\t\t\t\ta = a.zoneAxis || \"y\",\n\t\t\t\t\td = 0,\n\t\t\t\t\tg;\n\t\t\t\tfor (g =\n\t\t\t\t\tb[d]; this[a] &gt;= g.value;) g = b[++d];\n\t\t\t\tg &amp;&amp; g.color &amp;&amp; !this.options.color &amp;&amp; (this.color = g.color);\n\t\t\t\treturn g\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints,\n\t\t\t\t\td;\n\t\t\t\ta.pointCount--;\n\t\t\t\tb &amp;&amp; (this.setState(), H(b, this), b.length || (a.hoverPoints = null));\n\t\t\t\tif (this === a.hoverPoint) this.onMouseOut();\n\t\t\t\tif (this.graphic || this.dataLabel) r(this), this.destroyElements();\n\t\t\t\tthis.legendItem &amp;&amp; a.legend.destroyItem(this);\n\t\t\t\tfor (d in this) this[d] = null\n\t\t\t},\n\t\t\tdestroyElements: function() {\n\t\t\t\tfor (var a = [\"graphic\", \"dataLabel\", \"dataLabelUpper\", \"connector\", \"shadowGroup\"],\n\t\t\t\t\t\tb, d = 6; d--;) b = a[d], this[b] &amp;&amp; (this[b] = this[b].destroy())\n\t\t\t},\n\t\t\tgetLabelConfig: function() {\n\t\t\t\treturn {\n\t\t\t\t\tx: this.category,\n\t\t\t\t\ty: this.y,\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tkey: this.name || this.category,\n\t\t\t\t\tseries: this.series,\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tpercentage: this.percentage,\n\t\t\t\t\ttotal: this.total || this.stackTotal\n\t\t\t\t}\n\t\t\t},\n\t\t\ttooltipFormatter: function(a) {\n\t\t\t\tvar b = this.series,\n\t\t\t\t\tf = b.tooltipOptions,\n\t\t\t\t\tg = l(f.valueDecimals, \"\"),\n\t\t\t\t\tt = f.valuePrefix || \"\",\n\t\t\t\t\tk = f.valueSuffix || \"\";\n\t\t\t\tA(b.pointArrayMap || [\"y\"], function(b) {\n\t\t\t\t\tb = \"{point.\" + b;\n\t\t\t\t\tif (t || k) a = a.replace(b + \"}\", t + b + \"}\" + k);\n\t\t\t\t\ta = a.replace(b + \"}\", b + \":,.\" + g + \"f}\")\n\t\t\t\t});\n\t\t\t\treturn d(a, {\n\t\t\t\t\tpoint: this,\n\t\t\t\t\tseries: this.series\n\t\t\t\t})\n\t\t\t},\n\t\t\tfirePointEvent: function(a, b, d) {\n\t\t\t\tvar f = this,\n\t\t\t\t\tg = this.series.options;\n\t\t\t\t(g.point.events[a] || f.options &amp;&amp; f.options.events &amp;&amp; f.options.events[a]) &amp;&amp; this.importEvents();\n\t\t\t\t\"click\" === a &amp;&amp; g.allowPointSelect &amp;&amp; (d = function(a) {\n\t\t\t\t\tf.select &amp;&amp; f.select(null, a.ctrlKey || a.metaKey || a.shiftKey)\n\t\t\t\t});\n\t\t\t\tp(this, a, b, d)\n\t\t\t},\n\t\t\tvisible: !0\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animObject,\n\t\t\tF = a.arrayMax,\n\t\t\tH = a.arrayMin,\n\t\t\tp = a.correctFloat,\n\t\t\td = a.Date,\n\t\t\tg = a.defaultOptions,\n\t\t\tv = a.defaultPlotOptions,\n\t\t\tl = a.defined,\n\t\t\tr = a.each,\n\t\t\tf =\n\t\t\ta.erase,\n\t\t\tb = a.error,\n\t\t\tn = a.extend,\n\t\t\tw = a.fireEvent,\n\t\t\tt = a.grep,\n\t\t\tk = a.isArray,\n\t\t\te = a.isNumber,\n\t\t\th = a.isString,\n\t\t\tC = a.merge,\n\t\t\tu = a.pick,\n\t\t\tc = a.removeEvent,\n\t\t\tq = a.splat,\n\t\t\tx = a.stableSort,\n\t\t\tK = a.SVGElement,\n\t\t\tI = a.syncTimeout,\n\t\t\tJ = a.win;\n\t\ta.Series = a.seriesType(\"line\", null, {\n\t\t\tlineWidth: 2,\n\t\t\tallowPointSelect: !1,\n\t\t\tshowCheckbox: !1,\n\t\t\tanimation: {\n\t\t\t\tduration: 1E3\n\t\t\t},\n\t\t\tevents: {},\n\t\t\tmarker: {\n\t\t\t\tlineWidth: 0,\n\t\t\t\tlineColor: \"#ffffff\",\n\t\t\t\tradius: 4,\n\t\t\t\tstates: {\n\t\t\t\t\thover: {\n\t\t\t\t\t\tanimation: {\n\t\t\t\t\t\t\tduration: 50\n\t\t\t\t\t\t},\n\t\t\t\t\t\tenabled: !0,\n\t\t\t\t\t\tradiusPlus: 2,\n\t\t\t\t\t\tlineWidthPlus: 1\n\t\t\t\t\t},\n\t\t\t\t\tselect: {\n\t\t\t\t\t\tfillColor: \"#cccccc\",\n\t\t\t\t\t\tlineColor: \"#000000\",\n\t\t\t\t\t\tlineWidth: 2\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tpoint: {\n\t\t\t\tevents: {}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: \"center\",\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ? \"\" : a.numberFormat(this.y, -1)\n\t\t\t\t},\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\tcolor: \"contrast\",\n\t\t\t\t\ttextOutline: \"1px contrast\"\n\t\t\t\t},\n\t\t\t\tverticalAlign: \"bottom\",\n\t\t\t\tx: 0,\n\t\t\t\ty: 0,\n\t\t\t\tpadding: 5\n\t\t\t},\n\t\t\tcropThreshold: 300,\n\t\t\tpointRange: 0,\n\t\t\tsoftThreshold: !0,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tlineWidthPlus: 1,\n\t\t\t\t\tmarker: {},\n\t\t\t\t\thalo: {\n\t\t\t\t\t\tsize: 10,\n\t\t\t\t\t\topacity: .25\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tmarker: {}\n\t\t\t\t}\n\t\t\t},\n\t\t\tstickyTracking: !0,\n\t\t\tturboThreshold: 1E3\n\t\t}, {\n\t\t\tisCartesian: !0,\n\t\t\tpointClass: a.Point,\n\t\t\tsorted: !0,\n\t\t\trequireSorting: !0,\n\t\t\tdirectTouch: !1,\n\t\t\taxisTypes: [\"xAxis\", \"yAxis\"],\n\t\t\tcolorCounter: 0,\n\t\t\tparallelArrays: [\"x\", \"y\"],\n\t\t\tcoll: \"series\",\n\t\t\tinit: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te, f, d = a.series,\n\t\t\t\t\th, k = function(a, b) {\n\t\t\t\t\t\treturn u(a.options.index, a._i) - u(b.options.index, b._i)\n\t\t\t\t\t};\n\t\t\t\tc.chart = a;\n\t\t\t\tc.options = b = c.setOptions(b);\n\t\t\t\tc.linkedSeries = [];\n\t\t\t\tc.bindAxes();\n\t\t\t\tn(c, {\n\t\t\t\t\tname: b.name,\n\t\t\t\t\tstate: \"\",\n\t\t\t\t\tvisible: !1 !== b.visible,\n\t\t\t\t\tselected: !0 === b.selected\n\t\t\t\t});\n\t\t\t\tf = b.events;\n\t\t\t\tfor (e in f) E(c, e, f[e]);\n\t\t\t\tif (f &amp;&amp; f.click || b.point &amp;&amp; b.point.events &amp;&amp; b.point.events.click || b.allowPointSelect) a.runTrackerClick = !0;\n\t\t\t\tc.getColor();\n\t\t\t\tc.getSymbol();\n\t\t\t\tr(c.parallelArrays, function(a) {\n\t\t\t\t\tc[a +\n\t\t\t\t\t\t\"Data\"] = []\n\t\t\t\t});\n\t\t\t\tc.setData(b.data, !1);\n\t\t\t\tc.isCartesian &amp;&amp; (a.hasCartesianSeries = !0);\n\t\t\t\td.length &amp;&amp; (h = d[d.length - 1]);\n\t\t\t\tc._i = u(h &amp;&amp; h._i, -1) + 1;\n\t\t\t\td.push(c);\n\t\t\t\tx(d, k);\n\t\t\t\tthis.yAxis &amp;&amp; x(this.yAxis.series, k);\n\t\t\t\tr(d, function(a, b) {\n\t\t\t\t\ta.index = b;\n\t\t\t\t\ta.name = a.name || \"Series \" + (b + 1)\n\t\t\t\t})\n\t\t\t},\n\t\t\tbindAxes: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tc = a.options,\n\t\t\t\t\te = a.chart,\n\t\t\t\t\tf;\n\t\t\t\tr(a.axisTypes || [], function(d) {\n\t\t\t\t\tr(e[d], function(b) {\n\t\t\t\t\t\tf = b.options;\n\t\t\t\t\t\tif (c[d] === f.index || void 0 !== c[d] &amp;&amp; c[d] === f.id || void 0 === c[d] &amp;&amp; 0 === f.index) b.series.push(a), a[d] = b, b.isDirty = !0\n\t\t\t\t\t});\n\t\t\t\t\ta[d] || a.optionalAxis === d || b(18, !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tupdateParallelArrays: function(a, b) {\n\t\t\t\tvar c = a.series,\n\t\t\t\t\tf = arguments,\n\t\t\t\t\td = e(b) ? function(e) {\n\t\t\t\t\t\tvar f = \"y\" === e &amp;&amp; c.toYData ? c.toYData(a) : a[e];\n\t\t\t\t\t\tc[e + \"Data\"][b] = f\n\t\t\t\t\t} : function(a) {\n\t\t\t\t\t\tArray.prototype[b].apply(c[a + \"Data\"], Array.prototype.slice.call(f, 2))\n\t\t\t\t\t};\n\t\t\t\tr(c.parallelArrays, d)\n\t\t\t},\n\t\t\tautoIncrement: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.xIncrement,\n\t\t\t\t\tc, e = a.pointIntervalUnit,\n\t\t\t\t\tb = u(b, a.pointStart, 0);\n\t\t\t\tthis.pointInterval = c = u(this.pointInterval, a.pointInterval, 1);\n\t\t\t\te &amp;&amp; (a = new d(b), \"day\" === e ? a = +a[d.hcSetDate](a[d.hcGetDate]() + c) : \"month\" === e ? a = +a[d.hcSetMonth](a[d.hcGetMonth]() +\n\t\t\t\t\tc) : \"year\" === e &amp;&amp; (a = +a[d.hcSetFullYear](a[d.hcGetFullYear]() + c)), c = a - b);\n\t\t\t\tthis.xIncrement = b + c;\n\t\t\t\treturn b\n\t\t\t},\n\t\t\tsetOptions: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = b.options.plotOptions,\n\t\t\t\t\tb = b.userOptions || {},\n\t\t\t\t\te = b.plotOptions || {},\n\t\t\t\t\tf = c[this.type];\n\t\t\t\tthis.userOptions = a;\n\t\t\t\tc = C(f, c.series, a);\n\t\t\t\tthis.tooltipOptions = C(g.tooltip, g.plotOptions[this.type].tooltip, b.tooltip, e.series &amp;&amp; e.series.tooltip, e[this.type] &amp;&amp; e[this.type].tooltip, a.tooltip);\n\t\t\t\tnull === f.marker &amp;&amp; delete c.marker;\n\t\t\t\tthis.zoneAxis = c.zoneAxis;\n\t\t\t\ta = this.zones = (c.zones || []).slice();\n\t\t\t\t!c.negativeColor &amp;&amp;\n\t\t\t\t\t!c.negativeFillColor || c.zones || a.push({\n\t\t\t\t\t\tvalue: c[this.zoneAxis + \"Threshold\"] || c.threshold || 0,\n\t\t\t\t\t\tclassName: \"highcharts-negative\",\n\t\t\t\t\t\tcolor: c.negativeColor,\n\t\t\t\t\t\tfillColor: c.negativeFillColor\n\t\t\t\t\t});\n\t\t\t\ta.length &amp;&amp; l(a[a.length - 1].value) &amp;&amp; a.push({\n\t\t\t\t\tcolor: this.color,\n\t\t\t\t\tfillColor: this.fillColor\n\t\t\t\t});\n\t\t\t\treturn c\n\t\t\t},\n\t\t\tgetCyclic: function(a, b, c) {\n\t\t\t\tvar e, f = this.userOptions,\n\t\t\t\t\td = a + \"Index\",\n\t\t\t\t\th = a + \"Counter\",\n\t\t\t\t\tk = c ? c.length : u(this.chart.options.chart[a + \"Count\"], this.chart[a + \"Count\"]);\n\t\t\t\tb || (e = u(f[d], f[\"_\" + d]), l(e) || (f[\"_\" + d] = e = this.chart[h] % k, this.chart[h] += 1), c &amp;&amp;\n\t\t\t\t\t(b = c[e]));\n\t\t\t\tvoid 0 !== e &amp;&amp; (this[d] = e);\n\t\t\t\tthis[a] = b\n\t\t\t},\n\t\t\tgetColor: function() {\n\t\t\t\tthis.options.colorByPoint ? this.options.color = null : this.getCyclic(\"color\", this.options.color || v[this.type].color, this.chart.options.colors)\n\t\t\t},\n\t\t\tgetSymbol: function() {\n\t\t\t\tthis.getCyclic(\"symbol\", this.options.marker.symbol, this.chart.options.symbols)\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawLineMarker,\n\t\t\tsetData: function(a, c, f, d) {\n\t\t\t\tvar m = this,\n\t\t\t\t\tg = m.points,\n\t\t\t\t\tn = g &amp;&amp; g.length || 0,\n\t\t\t\t\tq, l = m.options,\n\t\t\t\t\tt = m.chart,\n\t\t\t\t\tD = null,\n\t\t\t\t\tp = m.xAxis,\n\t\t\t\t\tx = l.turboThreshold,\n\t\t\t\t\tG = this.xData,\n\t\t\t\t\tw = this.yData,\n\t\t\t\t\tv = (q = m.pointArrayMap) &amp;&amp; q.length;\n\t\t\t\ta = a || [];\n\t\t\t\tq = a.length;\n\t\t\t\tc = u(c, !0);\n\t\t\t\tif (!1 !== d &amp;&amp; q &amp;&amp; n === q &amp;&amp; !m.cropped &amp;&amp; !m.hasGroupedData &amp;&amp; m.visible) r(a, function(a, b) {\n\t\t\t\t\tg[b].update &amp;&amp; a !== l.data[b] &amp;&amp; g[b].update(a, !1, null, !1)\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tm.xIncrement = null;\n\t\t\t\t\tm.colorCounter = 0;\n\t\t\t\t\tr(this.parallelArrays, function(a) {\n\t\t\t\t\t\tm[a + \"Data\"].length = 0\n\t\t\t\t\t});\n\t\t\t\t\tif (x &amp;&amp; q &gt; x) {\n\t\t\t\t\t\tfor (f = 0; null === D &amp;&amp; f &lt; q;) D = a[f], f++;\n\t\t\t\t\t\tif (e(D))\n\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) G[f] = this.autoIncrement(), w[f] = a[f];\n\t\t\t\t\t\telse if (k(D))\n\t\t\t\t\t\t\tif (v)\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] = D[0], w[f] = D.slice(1, v + 1);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) D = a[f], G[f] =\n\t\t\t\t\t\t\t\t\tD[0], w[f] = D[1];\n\t\t\t\t\t\telse b(12)\n\t\t\t\t\t} else\n\t\t\t\t\t\tfor (f = 0; f &lt; q; f++) void 0 !== a[f] &amp;&amp; (D = {\n\t\t\t\t\t\t\tseries: m\n\t\t\t\t\t\t}, m.pointClass.prototype.applyOptions.apply(D, [a[f]]), m.updateParallelArrays(D, f));\n\t\t\t\t\th(w[0]) &amp;&amp; b(14, !0);\n\t\t\t\t\tm.data = [];\n\t\t\t\t\tm.options.data = m.userOptions.data = a;\n\t\t\t\t\tfor (f = n; f--;) g[f] &amp;&amp; g[f].destroy &amp;&amp; g[f].destroy();\n\t\t\t\t\tp &amp;&amp; (p.minRange = p.userMinRange);\n\t\t\t\t\tm.isDirty = t.isDirtyBox = !0;\n\t\t\t\t\tm.isDirtyData = !!g;\n\t\t\t\t\tf = !1\n\t\t\t\t}\n\t\t\t\t\"point\" === l.legendType &amp;&amp; (this.processData(), this.generatePoints());\n\t\t\t\tc &amp;&amp; t.redraw(f)\n\t\t\t},\n\t\t\tprocessData: function(a) {\n\t\t\t\tvar c = this.xData,\n\t\t\t\t\te = this.yData,\n\t\t\t\t\tf = c.length,\n\t\t\t\t\td;\n\t\t\t\td =\n\t\t\t\t\t0;\n\t\t\t\tvar h, k, g = this.xAxis,\n\t\t\t\t\tq, n = this.options;\n\t\t\t\tq = n.cropThreshold;\n\t\t\t\tvar l = this.getExtremesFromAll || n.getExtremesFromAll,\n\t\t\t\t\tu = this.isCartesian,\n\t\t\t\t\tn = g &amp;&amp; g.val2lin,\n\t\t\t\t\tt = g &amp;&amp; g.isLog,\n\t\t\t\t\tr, D;\n\t\t\t\tif (u &amp;&amp; !this.isDirty &amp;&amp; !g.isDirty &amp;&amp; !this.yAxis.isDirty &amp;&amp; !a) return !1;\n\t\t\t\tg &amp;&amp; (a = g.getExtremes(), r = a.min, D = a.max);\n\t\t\t\tif (u &amp;&amp; this.sorted &amp;&amp; !l &amp;&amp; (!q || f &gt; q || this.forceCrop))\n\t\t\t\t\tif (c[f - 1] &lt; r || c[0] &gt; D) c = [], e = [];\n\t\t\t\t\telse if (c[0] &lt; r || c[f - 1] &gt; D) d = this.cropData(this.xData, this.yData, r, D), c = d.xData, e = d.yData, d = d.start, h = !0;\n\t\t\t\tfor (q = c.length || 1; --q;) f = t ? n(c[q]) - n(c[q - 1]) : c[q] - c[q -\n\t\t\t\t\t1], 0 &lt; f &amp;&amp; (void 0 === k || f &lt; k) ? k = f : 0 &gt; f &amp;&amp; this.requireSorting &amp;&amp; b(15);\n\t\t\t\tthis.cropped = h;\n\t\t\t\tthis.cropStart = d;\n\t\t\t\tthis.processedXData = c;\n\t\t\t\tthis.processedYData = e;\n\t\t\t\tthis.closestPointRange = k\n\t\t\t},\n\t\t\tcropData: function(a, b, c, e) {\n\t\t\t\tvar f = a.length,\n\t\t\t\t\td = 0,\n\t\t\t\t\th = f,\n\t\t\t\t\tk = u(this.cropShoulder, 1),\n\t\t\t\t\tg;\n\t\t\t\tfor (g = 0; g &lt; f; g++)\n\t\t\t\t\tif (a[g] &gt;= c) {\n\t\t\t\t\t\td = Math.max(0, g - k);\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\tfor (c = g; c &lt; f; c++)\n\t\t\t\t\tif (a[c] &gt; e) {\n\t\t\t\t\t\th = c + k;\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\txData: a.slice(d, h),\n\t\t\t\t\tyData: b.slice(d, h),\n\t\t\t\t\tstart: d,\n\t\t\t\t\tend: h\n\t\t\t\t}\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tvar a = this.options.data,\n\t\t\t\t\tb = this.data,\n\t\t\t\t\tc, e = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\td = this.pointClass,\n\t\t\t\t\th = e.length,\n\t\t\t\t\tg = this.cropStart || 0,\n\t\t\t\t\tk, n = this.hasGroupedData,\n\t\t\t\t\tl, u = [],\n\t\t\t\t\tt;\n\t\t\t\tb || n || (b = [], b.length = a.length, b = this.data = b);\n\t\t\t\tfor (t = 0; t &lt; h; t++) k = g + t, n ? (l = (new d).init(this, [e[t]].concat(q(f[t]))), l.dataGroup = this.groupMap[t]) : (l = b[k]) || void 0 === a[k] || (b[k] = l = (new d).init(this, a[k], e[t])), l.index = k, u[t] = l;\n\t\t\t\tif (b &amp;&amp; (h !== (c = b.length) || n))\n\t\t\t\t\tfor (t = 0; t &lt; c; t++) t !== g || n || (t += h), b[t] &amp;&amp; (b[t].destroyElements(), b[t].plotX = void 0);\n\t\t\t\tthis.data = b;\n\t\t\t\tthis.points = u\n\t\t\t},\n\t\t\tgetExtremes: function(a) {\n\t\t\t\tvar b = this.yAxis,\n\t\t\t\t\tc = this.processedXData,\n\t\t\t\t\tf, d = [],\n\t\t\t\t\th = 0;\n\t\t\t\tf = this.xAxis.getExtremes();\n\t\t\t\tvar g = f.min,\n\t\t\t\t\tq = f.max,\n\t\t\t\t\tn, l, t, u;\n\t\t\t\ta = a || this.stackedYData || this.processedYData || [];\n\t\t\t\tf = a.length;\n\t\t\t\tfor (u = 0; u &lt; f; u++)\n\t\t\t\t\tif (l = c[u], t = a[u], n = (e(t, !0) || k(t)) &amp;&amp; (!b.isLog || t.length || 0 &lt; t), l = this.getExtremesFromAll || this.options.getExtremesFromAll || this.cropped || (c[u + 1] || l) &gt;= g &amp;&amp; (c[u - 1] || l) &lt;= q, n &amp;&amp; l)\n\t\t\t\t\t\tif (n = t.length)\n\t\t\t\t\t\t\tfor (; n--;) null !== t[n] &amp;&amp; (d[h++] = t[n]);\n\t\t\t\t\t\telse d[h++] = t;\n\t\t\t\tthis.dataMin = H(d);\n\t\t\t\tthis.dataMax = F(d)\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tthis.processedXData || this.processData();\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar a =\n\t\t\t\t\tthis.options,\n\t\t\t\t\tb = a.stacking,\n\t\t\t\t\tc = this.xAxis,\n\t\t\t\t\tf = c.categories,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\th = this.points,\n\t\t\t\t\tg = h.length,\n\t\t\t\t\tk = !!this.modifyValue,\n\t\t\t\t\tn = a.pointPlacement,\n\t\t\t\t\tq = \"between\" === n || e(n),\n\t\t\t\t\tt = a.threshold,\n\t\t\t\t\tr = a.startFromThreshold ? t : 0,\n\t\t\t\t\tx, w, v, I, K = Number.MAX_VALUE;\n\t\t\t\t\"between\" === n &amp;&amp; (n = .5);\n\t\t\t\te(n) &amp;&amp; (n *= u(a.pointRange || c.pointRange));\n\t\t\t\tfor (a = 0; a &lt; g; a++) {\n\t\t\t\t\tvar C = h[a],\n\t\t\t\t\t\tJ = C.x,\n\t\t\t\t\t\tA = C.y;\n\t\t\t\t\tw = C.low;\n\t\t\t\t\tvar E = b &amp;&amp; d.stacks[(this.negStacks &amp;&amp; A &lt; (r ? 0 : t) ? \"-\" : \"\") + this.stackKey],\n\t\t\t\t\t\tF;\n\t\t\t\t\td.isLog &amp;&amp; null !== A &amp;&amp; 0 &gt;= A &amp;&amp; (C.isNull = !0);\n\t\t\t\t\tC.plotX = x = p(Math.min(Math.max(-1E5, c.translate(J, 0, 0, 0, 1, n,\n\t\t\t\t\t\t\"flags\" === this.type)), 1E5));\n\t\t\t\t\tb &amp;&amp; this.visible &amp;&amp; !C.isNull &amp;&amp; E &amp;&amp; E[J] &amp;&amp; (I = this.getStackIndicator(I, J, this.index), F = E[J], A = F.points[I.key], w = A[0], A = A[1], w === r &amp;&amp; I.key === E[J].base &amp;&amp; (w = u(t, d.min)), d.isLog &amp;&amp; 0 &gt;= w &amp;&amp; (w = null), C.total = C.stackTotal = F.total, C.percentage = F.total &amp;&amp; C.y / F.total * 100, C.stackY = A, F.setOffset(this.pointXOffset || 0, this.barW || 0));\n\t\t\t\t\tC.yBottom = l(w) ? d.translate(w, 0, 1, 0, 1) : null;\n\t\t\t\t\tk &amp;&amp; (A = this.modifyValue(A, C));\n\t\t\t\t\tC.plotY = w = \"number\" === typeof A &amp;&amp; Infinity !== A ? Math.min(Math.max(-1E5, d.translate(A, 0, 1, 0, 1)), 1E5) :\n\t\t\t\t\t\tvoid 0;\n\t\t\t\t\tC.isInside = void 0 !== w &amp;&amp; 0 &lt;= w &amp;&amp; w &lt;= d.len &amp;&amp; 0 &lt;= x &amp;&amp; x &lt;= c.len;\n\t\t\t\t\tC.clientX = q ? p(c.translate(J, 0, 0, 0, 1, n)) : x;\n\t\t\t\t\tC.negative = C.y &lt; (t || 0);\n\t\t\t\t\tC.category = f &amp;&amp; void 0 !== f[C.x] ? f[C.x] : C.x;\n\t\t\t\t\tC.isNull || (void 0 !== v &amp;&amp; (K = Math.min(K, Math.abs(x - v))), v = x)\n\t\t\t\t}\n\t\t\t\tthis.closestPointRangePx = K\n\t\t\t},\n\t\t\tgetValidPoints: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\treturn t(a || this.points || [], function(a) {\n\t\t\t\t\treturn b &amp;&amp; !c.isInsidePlot(a.plotX, a.plotY, c.inverted) ? !1 : !a.isNull\n\t\t\t\t})\n\t\t\t},\n\t\t\tsetClip: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = this.options,\n\t\t\t\t\te = b.renderer,\n\t\t\t\t\tf = b.inverted,\n\t\t\t\t\td = this.clipBox,\n\t\t\t\t\th = d || b.clipBox,\n\t\t\t\t\tg = this.sharedClipKey || [\"_sharedClip\", a &amp;&amp; a.duration, a &amp;&amp; a.easing, h.height, c.xAxis, c.yAxis].join(),\n\t\t\t\t\tk = b[g],\n\t\t\t\t\tn = b[g + \"m\"];\n\t\t\t\tk || (a &amp;&amp; (h.width = 0, b[g + \"m\"] = n = e.clipRect(-99, f ? -b.plotLeft : -b.plotTop, 99, f ? b.chartWidth : b.chartHeight)), b[g] = k = e.clipRect(h), k.count = {\n\t\t\t\t\tlength: 0\n\t\t\t\t});\n\t\t\t\ta &amp;&amp; !k.count[this.index] &amp;&amp; (k.count[this.index] = !0, k.count.length += 1);\n\t\t\t\t!1 !== c.clip &amp;&amp; (this.group.clip(a || d ? k : b.clipRect), this.markerGroup.clip(n), this.sharedClipKey = g);\n\t\t\t\ta || (k.count[this.index] &amp;&amp; (delete k.count[this.index], --k.count.length),\n\t\t\t\t\t0 === k.count.length &amp;&amp; g &amp;&amp; b[g] &amp;&amp; (d || (b[g] = b[g].destroy()), b[g + \"m\"] &amp;&amp; (b[g + \"m\"] = b[g + \"m\"].destroy())))\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this.chart,\n\t\t\t\t\tc = A(this.options.animation),\n\t\t\t\t\te;\n\t\t\t\ta ? this.setClip(c) : (e = this.sharedClipKey, (a = b[e]) &amp;&amp; a.animate({\n\t\t\t\t\twidth: b.plotSizeX\n\t\t\t\t}, c), b[e + \"m\"] &amp;&amp; b[e + \"m\"].animate({\n\t\t\t\t\twidth: b.plotSizeX + 99\n\t\t\t\t}, c), this.animate = null)\n\t\t\t},\n\t\t\tafterAnimate: function() {\n\t\t\t\tthis.setClip();\n\t\t\t\tw(this, \"afterAnimate\")\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this.points,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc, f, d, h, g = this.options.marker,\n\t\t\t\t\tk, n, q, l, t = this.markerGroup,\n\t\t\t\t\tr = u(g.enabled,\n\t\t\t\t\t\tthis.xAxis.isRadial ? !0 : null, this.closestPointRangePx &gt; 2 * g.radius);\n\t\t\t\tif (!1 !== g.enabled || this._hasPointMarkers)\n\t\t\t\t\tfor (f = a.length; f--;) d = a[f], c = d.plotY, h = d.graphic, k = d.marker || {}, n = !!d.marker, q = r &amp;&amp; void 0 === k.enabled || k.enabled, l = d.isInside, q &amp;&amp; e(c) &amp;&amp; null !== d.y ? (c = u(k.symbol, this.symbol), d.hasImage = 0 === c.indexOf(\"url\"), q = this.markerAttribs(d, d.selected &amp;&amp; \"select\"), h ? h[l ? \"show\" : \"hide\"](!0).animate(q) : l &amp;&amp; (0 &lt; q.width || d.hasImage) &amp;&amp; (d.graphic = h = b.renderer.symbol(c, q.x, q.y, q.width, q.height, n ? k : g).add(t)), h &amp;&amp; h.attr(this.pointAttribs(d,\n\t\t\t\t\t\td.selected &amp;&amp; \"select\")), h &amp;&amp; h.addClass(d.getClassName(), !0)) : h &amp;&amp; (d.graphic = h.destroy())\n\t\t\t},\n\t\t\tmarkerAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\te = u(f.radius, c.radius);\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b], e = u(b &amp;&amp; b.radius, c &amp;&amp; c.radius, e + (c &amp;&amp; c.radiusPlus || 0)));\n\t\t\t\ta.hasImage &amp;&amp; (e = 0);\n\t\t\t\ta = {\n\t\t\t\t\tx: Math.floor(a.plotX) - e,\n\t\t\t\t\ty: a.plotY - e\n\t\t\t\t};\n\t\t\t\te &amp;&amp; (a.width = a.height = 2 * e);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar c = this.options.marker,\n\t\t\t\t\te = a &amp;&amp; a.options,\n\t\t\t\t\tf = e &amp;&amp; e.marker || {},\n\t\t\t\t\td = this.color,\n\t\t\t\t\th = e &amp;&amp; e.color,\n\t\t\t\t\tg = a &amp;&amp;\n\t\t\t\t\ta.color,\n\t\t\t\t\te = u(f.lineWidth, c.lineWidth),\n\t\t\t\t\tk;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (a = a.getZone()) &amp;&amp; a.color &amp;&amp; (k = a.color);\n\t\t\t\td = h || k || g || d;\n\t\t\t\tk = f.fillColor || c.fillColor || d;\n\t\t\t\td = f.lineColor || c.lineColor || d;\n\t\t\t\tb &amp;&amp; (c = c.states[b], b = f.states &amp;&amp; f.states[b] || {}, e = u(b.lineWidth, c.lineWidth, e + u(b.lineWidthPlus, c.lineWidthPlus, 0)), k = b.fillColor || c.fillColor || k, d = b.lineColor || c.lineColor || d);\n\t\t\t\treturn {\n\t\t\t\t\tstroke: d,\n\t\t\t\t\t\"stroke-width\": e,\n\t\t\t\t\tfill: k\n\t\t\t\t}\n\t\t\t},\n\t\t\tdestroy: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\te = /AppleWebKit\\/533/.test(J.navigator.userAgent),\n\t\t\t\t\td, h = a.data || [],\n\t\t\t\t\tk, g, n;\n\t\t\t\tw(a,\n\t\t\t\t\t\"destroy\");\n\t\t\t\tc(a);\n\t\t\t\tr(a.axisTypes || [], function(b) {\n\t\t\t\t\t(n = a[b]) &amp;&amp; n.series &amp;&amp; (f(n.series, a), n.isDirty = n.forceRedraw = !0)\n\t\t\t\t});\n\t\t\t\ta.legendItem &amp;&amp; a.chart.legend.destroyItem(a);\n\t\t\t\tfor (d = h.length; d--;)(k = h[d]) &amp;&amp; k.destroy &amp;&amp; k.destroy();\n\t\t\t\ta.points = null;\n\t\t\t\tclearTimeout(a.animationTimeout);\n\t\t\t\tfor (g in a) a[g] instanceof K &amp;&amp; !a[g].survive &amp;&amp; (d = e &amp;&amp; \"group\" === g ? \"hide\" : \"destroy\", a[g][d]());\n\t\t\t\tb.hoverSeries === a &amp;&amp; (b.hoverSeries = null);\n\t\t\t\tf(b.series, a);\n\t\t\t\tfor (g in a) delete a[g]\n\t\t\t},\n\t\t\tgetGraphPath: function(a, b, c) {\n\t\t\t\tvar e = this,\n\t\t\t\t\tf = e.options,\n\t\t\t\t\td = f.step,\n\t\t\t\t\th, k = [],\n\t\t\t\t\tg = [],\n\t\t\t\t\tn;\n\t\t\t\ta = a ||\n\t\t\t\t\te.points;\n\t\t\t\t(h = a.reversed) &amp;&amp; a.reverse();\n\t\t\t\t(d = {\n\t\t\t\t\tright: 1,\n\t\t\t\t\tcenter: 2\n\t\t\t\t}[d] || d &amp;&amp; 3) &amp;&amp; h &amp;&amp; (d = 4 - d);\n\t\t\t\t!f.connectNulls || b || c || (a = this.getValidPoints(a));\n\t\t\t\tr(a, function(h, m) {\n\t\t\t\t\tvar q = h.plotX,\n\t\t\t\t\t\tt = h.plotY,\n\t\t\t\t\t\tu = a[m - 1];\n\t\t\t\t\t(h.leftCliff || u &amp;&amp; u.rightCliff) &amp;&amp; !c &amp;&amp; (n = !0);\n\t\t\t\t\th.isNull &amp;&amp; !l(b) &amp;&amp; 0 &lt; m ? n = !f.connectNulls : h.isNull &amp;&amp; !b ? n = !0 : (0 === m || n ? m = [\"M\", h.plotX, h.plotY] : e.getPointSpline ? m = e.getPointSpline(a, h, m) : d ? (m = 1 === d ? [\"L\", u.plotX, t] : 2 === d ? [\"L\", (u.plotX + q) / 2, u.plotY, \"L\", (u.plotX + q) / 2, t] : [\"L\", q, u.plotY], m.push(\"L\", q, t)) : m = [\"L\", q, t], g.push(h.x), d &amp;&amp; g.push(h.x),\n\t\t\t\t\t\tk.push.apply(k, m), n = !1)\n\t\t\t\t});\n\t\t\t\tk.xMap = g;\n\t\t\t\treturn e.graphPath = k\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.options,\n\t\t\t\t\tc = (this.gappedPath || this.getGraphPath).call(this),\n\t\t\t\t\te = [\n\t\t\t\t\t\t[\"graph\", \"highcharts-graph\", b.lineColor || this.color, b.dashStyle]\n\t\t\t\t\t];\n\t\t\t\tr(this.zones, function(c, f) {\n\t\t\t\t\te.push([\"zone-graph-\" + f, \"highcharts-graph highcharts-zone-graph-\" + f + \" \" + (c.className || \"\"), c.color || a.color, c.dashStyle || b.dashStyle])\n\t\t\t\t});\n\t\t\t\tr(e, function(e, f) {\n\t\t\t\t\tvar d = e[0],\n\t\t\t\t\t\th = a[d];\n\t\t\t\t\th ? (h.endX = c.xMap, h.animate({\n\t\t\t\t\t\td: c\n\t\t\t\t\t})) : c.length &amp;&amp; (a[d] = a.chart.renderer.path(c).addClass(e[1]).attr({\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t}).add(a.group),\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tstroke: e[2],\n\t\t\t\t\t\t\t\"stroke-width\": b.lineWidth,\n\t\t\t\t\t\t\tfill: a.fillGraph &amp;&amp; a.color || \"none\"\n\t\t\t\t\t\t}, e[3] ? h.dashstyle = e[3] : \"square\" !== b.linecap &amp;&amp; (h[\"stroke-linecap\"] = h[\"stroke-linejoin\"] = \"round\"), h = a[d].attr(h).shadow(2 &gt; f &amp;&amp; b.shadow));\n\t\t\t\t\th &amp;&amp; (h.startX = c.xMap, h.isArea = c.isArea)\n\t\t\t\t})\n\t\t\t},\n\t\t\tapplyZones: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tc = b.renderer,\n\t\t\t\t\te = this.zones,\n\t\t\t\t\tf, d, h = this.clips || [],\n\t\t\t\t\tk, g = this.graph,\n\t\t\t\t\tn = this.area,\n\t\t\t\t\tq = Math.max(b.chartWidth, b.chartHeight),\n\t\t\t\t\tl = this[(this.zoneAxis || \"y\") + \"Axis\"],\n\t\t\t\t\tt, p, x = b.inverted,\n\t\t\t\t\tw, v, I, K, C = !1;\n\t\t\t\te.length &amp;&amp; (g || n) &amp;&amp; l &amp;&amp; void 0 !==\n\t\t\t\t\tl.min &amp;&amp; (p = l.reversed, w = l.horiz, g &amp;&amp; g.hide(), n &amp;&amp; n.hide(), t = l.getExtremes(), r(e, function(e, m) {\n\t\t\t\t\t\tf = p ? w ? b.plotWidth : 0 : w ? 0 : l.toPixels(t.min);\n\t\t\t\t\t\tf = Math.min(Math.max(u(d, f), 0), q);\n\t\t\t\t\t\td = Math.min(Math.max(Math.round(l.toPixels(u(e.value, t.max), !0)), 0), q);\n\t\t\t\t\t\tC &amp;&amp; (f = d = l.toPixels(t.max));\n\t\t\t\t\t\tv = Math.abs(f - d);\n\t\t\t\t\t\tI = Math.min(f, d);\n\t\t\t\t\t\tK = Math.max(f, d);\n\t\t\t\t\t\tl.isXAxis ? (k = {\n\t\t\t\t\t\t\tx: x ? K : I,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: v,\n\t\t\t\t\t\t\theight: q\n\t\t\t\t\t\t}, w || (k.x = b.plotHeight - k.x)) : (k = {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: x ? K : I,\n\t\t\t\t\t\t\twidth: q,\n\t\t\t\t\t\t\theight: v\n\t\t\t\t\t\t}, w &amp;&amp; (k.y = b.plotWidth - k.y));\n\t\t\t\t\t\tx &amp;&amp; c.isVML &amp;&amp; (k = l.isXAxis ? {\n\t\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\t\ty: p ? I : K,\n\t\t\t\t\t\t\theight: k.width,\n\t\t\t\t\t\t\twidth: b.chartWidth\n\t\t\t\t\t\t} : {\n\t\t\t\t\t\t\tx: k.y - b.plotLeft - b.spacingBox.x,\n\t\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\t\twidth: k.height,\n\t\t\t\t\t\t\theight: b.chartHeight\n\t\t\t\t\t\t});\n\t\t\t\t\t\th[m] ? h[m].animate(k) : (h[m] = c.clipRect(k), g &amp;&amp; a[\"zone-graph-\" + m].clip(h[m]), n &amp;&amp; a[\"zone-area-\" + m].clip(h[m]));\n\t\t\t\t\t\tC = e.value &gt; t.max\n\t\t\t\t\t}), this.clips = h)\n\t\t\t},\n\t\t\tinvertGroups: function(a) {\n\t\t\t\tfunction b() {\n\t\t\t\t\tvar b = {\n\t\t\t\t\t\twidth: c.yAxis.len,\n\t\t\t\t\t\theight: c.xAxis.len\n\t\t\t\t\t};\n\t\t\t\t\tr([\"group\", \"markerGroup\"], function(e) {\n\t\t\t\t\t\tc[e] &amp;&amp; c[e].attr(b).invert(a)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tvar c = this,\n\t\t\t\t\te;\n\t\t\t\tc.xAxis &amp;&amp; (e = E(c.chart, \"resize\", b), E(c, \"destroy\", e), b(a), c.invertGroups = b)\n\t\t\t},\n\t\t\tplotGroup: function(a, b, c, e, f) {\n\t\t\t\tvar d = this[a],\n\t\t\t\t\th = !d;\n\t\t\t\th &amp;&amp; (this[a] = d = this.chart.renderer.g(b).attr({\n\t\t\t\t\tzIndex: e || .1\n\t\t\t\t}).add(f), d.addClass(\"highcharts-series-\" + this.index + \" highcharts-\" + this.type + \"-series highcharts-color-\" + this.colorIndex + \" \" + (this.options.className || \"\")));\n\t\t\t\td.attr({\n\t\t\t\t\tvisibility: c\n\t\t\t\t})[h ? \"attr\" : \"animate\"](this.getPlotBox());\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tgetPlotBox: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.xAxis,\n\t\t\t\t\tc = this.yAxis;\n\t\t\t\ta.inverted &amp;&amp; (b = c, c = this.xAxis);\n\t\t\t\treturn {\n\t\t\t\t\ttranslateX: b ? b.left : a.plotLeft,\n\t\t\t\t\ttranslateY: c ? c.top : a.plotTop,\n\t\t\t\t\tscaleX: 1,\n\t\t\t\t\tscaleY: 1\n\t\t\t\t}\n\t\t\t},\n\t\t\trender: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\tc, e = a.options,\n\t\t\t\t\tf = !!a.animate &amp;&amp; b.renderer.isSVG &amp;&amp; A(e.animation).duration,\n\t\t\t\t\td = a.visible ? \"inherit\" : \"hidden\",\n\t\t\t\t\th = e.zIndex,\n\t\t\t\t\tk = a.hasRendered,\n\t\t\t\t\tg = b.seriesGroup,\n\t\t\t\t\tn = b.inverted;\n\t\t\t\tc = a.plotGroup(\"group\", \"series\", d, h, g);\n\t\t\t\ta.markerGroup = a.plotGroup(\"markerGroup\", \"markers\", d, h, g);\n\t\t\t\tf &amp;&amp; a.animate(!0);\n\t\t\t\tc.inverted = a.isCartesian ? n : !1;\n\t\t\t\ta.drawGraph &amp;&amp; (a.drawGraph(), a.applyZones());\n\t\t\t\ta.drawDataLabels &amp;&amp; a.drawDataLabels();\n\t\t\t\ta.visible &amp;&amp; a.drawPoints();\n\t\t\t\ta.drawTracker &amp;&amp; !1 !== a.options.enableMouseTracking &amp;&amp; a.drawTracker();\n\t\t\t\ta.invertGroups(n);\n\t\t\t\t!1 === e.clip || a.sharedClipKey || k || c.clip(b.clipRect);\n\t\t\t\tf &amp;&amp; a.animate();\n\t\t\t\tk || (a.animationTimeout = I(function() {\n\t\t\t\t\ta.afterAnimate()\n\t\t\t\t}, f));\n\t\t\t\ta.isDirty = a.isDirtyData = !1;\n\t\t\t\ta.hasRendered = !0\n\t\t\t},\n\t\t\tredraw: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = this.isDirty || this.isDirtyData,\n\t\t\t\t\tc = this.group,\n\t\t\t\t\te = this.xAxis,\n\t\t\t\t\tf = this.yAxis;\n\t\t\t\tc &amp;&amp; (a.inverted &amp;&amp; c.attr({\n\t\t\t\t\twidth: a.plotWidth,\n\t\t\t\t\theight: a.plotHeight\n\t\t\t\t}), c.animate({\n\t\t\t\t\ttranslateX: u(e &amp;&amp; e.left, a.plotLeft),\n\t\t\t\t\ttranslateY: u(f &amp;&amp; f.top, a.plotTop)\n\t\t\t\t}));\n\t\t\t\tthis.translate();\n\t\t\t\tthis.render();\n\t\t\t\tb &amp;&amp; delete this.kdTree\n\t\t\t},\n\t\t\tkdDimensions: 1,\n\t\t\tkdAxisArray: [\"clientX\",\n\t\t\t\t\"plotY\"\n\t\t\t],\n\t\t\tsearchPoint: function(a, b) {\n\t\t\t\tvar c = this.xAxis,\n\t\t\t\t\te = this.yAxis,\n\t\t\t\t\tf = this.chart.inverted;\n\t\t\t\treturn this.searchKDTree({\n\t\t\t\t\tclientX: f ? c.len - a.chartY + c.pos : a.chartX - c.pos,\n\t\t\t\t\tplotY: f ? e.len - a.chartX + e.pos : a.chartY - e.pos\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tbuildKDTree: function() {\n\t\t\t\tfunction a(c, e, f) {\n\t\t\t\t\tvar d, h;\n\t\t\t\t\tif (h = c &amp;&amp; c.length) return d = b.kdAxisArray[e % f], c.sort(function(a, b) {\n\t\t\t\t\t\treturn a[d] - b[d]\n\t\t\t\t\t}), h = Math.floor(h / 2), {\n\t\t\t\t\t\tpoint: c[h],\n\t\t\t\t\t\tleft: a(c.slice(0, h), e + 1, f),\n\t\t\t\t\t\tright: a(c.slice(h + 1), e + 1, f)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.kdDimensions;\n\t\t\t\tdelete b.kdTree;\n\t\t\t\tI(function() {\n\t\t\t\t\tb.kdTree = a(b.getValidPoints(null, !b.directTouch), c, c)\n\t\t\t\t}, b.options.kdNow ? 0 : 1)\n\t\t\t},\n\t\t\tsearchKDTree: function(a, b) {\n\t\t\t\tfunction c(a, b, k, g) {\n\t\t\t\t\tvar m = b.point,\n\t\t\t\t\t\tn = e.kdAxisArray[k % g],\n\t\t\t\t\t\tq, t, u = m;\n\t\t\t\t\tt = l(a[f]) &amp;&amp; l(m[f]) ? Math.pow(a[f] - m[f], 2) : null;\n\t\t\t\t\tq = l(a[d]) &amp;&amp; l(m[d]) ? Math.pow(a[d] - m[d], 2) : null;\n\t\t\t\t\tq = (t || 0) + (q || 0);\n\t\t\t\t\tm.dist = l(q) ? Math.sqrt(q) : Number.MAX_VALUE;\n\t\t\t\t\tm.distX = l(t) ? Math.sqrt(t) : Number.MAX_VALUE;\n\t\t\t\t\tn = a[n] - m[n];\n\t\t\t\t\tq = 0 &gt; n ? \"left\" : \"right\";\n\t\t\t\t\tt = 0 &gt; n ? \"right\" : \"left\";\n\t\t\t\t\tb[q] &amp;&amp; (q = c(a, b[q], k + 1, g), u = q[h] &lt; u[h] ? q : m);\n\t\t\t\t\tb[t] &amp;&amp; Math.sqrt(n * n) &lt; u[h] &amp;&amp; (a = c(a, b[t], k + 1, g), u = a[h] &lt; u[h] ? a : u);\n\t\t\t\t\treturn u\n\t\t\t\t}\n\t\t\t\tvar e =\n\t\t\t\t\tthis,\n\t\t\t\t\tf = this.kdAxisArray[0],\n\t\t\t\t\td = this.kdAxisArray[1],\n\t\t\t\t\th = b ? \"distX\" : \"dist\";\n\t\t\t\tthis.kdTree || this.buildKDTree();\n\t\t\t\tif (this.kdTree) return c(a, this.kdTree, this.kdDimensions, this.kdDimensions)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tfunction E(a, f, b, d, g) {\n\t\t\tvar n = a.chart.inverted;\n\t\t\tthis.axis = a;\n\t\t\tthis.isNegative = b;\n\t\t\tthis.options = f;\n\t\t\tthis.x = d;\n\t\t\tthis.total = null;\n\t\t\tthis.points = {};\n\t\t\tthis.stack = g;\n\t\t\tthis.rightCliff = this.leftCliff = 0;\n\t\t\tthis.alignOptions = {\n\t\t\t\talign: f.align || (n ? b ? \"left\" : \"right\" : \"center\"),\n\t\t\t\tverticalAlign: f.verticalAlign || (n ? \"middle\" : b ? \"bottom\" : \"top\"),\n\t\t\t\ty: l(f.y,\n\t\t\t\t\tn ? 4 : b ? 14 : -6),\n\t\t\t\tx: l(f.x, n ? b ? -6 : 6 : 0)\n\t\t\t};\n\t\t\tthis.textAlign = f.textAlign || (n ? b ? \"right\" : \"left\" : \"center\")\n\t\t}\n\t\tvar A = a.Axis,\n\t\t\tF = a.Chart,\n\t\t\tH = a.correctFloat,\n\t\t\tp = a.defined,\n\t\t\td = a.destroyObjectProperties,\n\t\t\tg = a.each,\n\t\t\tv = a.format,\n\t\t\tl = a.pick;\n\t\ta = a.Series;\n\t\tE.prototype = {\n\t\t\tdestroy: function() {\n\t\t\t\td(this, this.axis)\n\t\t\t},\n\t\t\trender: function(a) {\n\t\t\t\tvar f = this.options,\n\t\t\t\t\tb = f.format,\n\t\t\t\t\tb = b ? v(b, this) : f.formatter.call(this);\n\t\t\t\tthis.label ? this.label.attr({\n\t\t\t\t\ttext: b,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}) : this.label = this.axis.chart.renderer.text(b, null, null, f.useHTML).css(f.style).attr({\n\t\t\t\t\talign: this.textAlign,\n\t\t\t\t\trotation: f.rotation,\n\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t}).add(a)\n\t\t\t},\n\t\t\tsetOffset: function(a, f) {\n\t\t\t\tvar b = this.axis,\n\t\t\t\t\td = b.chart,\n\t\t\t\t\tg = d.inverted,\n\t\t\t\t\tl = b.reversed,\n\t\t\t\t\tl = this.isNegative &amp;&amp; !l || !this.isNegative &amp;&amp; l,\n\t\t\t\t\tk = b.translate(b.usePercentage ? 100 : this.total, 0, 0, 0, 1),\n\t\t\t\t\tb = b.translate(0),\n\t\t\t\t\tb = Math.abs(k - b);\n\t\t\t\ta = d.xAxis[0].translate(this.x) + a;\n\t\t\t\tvar e = d.plotHeight,\n\t\t\t\t\tg = {\n\t\t\t\t\t\tx: g ? l ? k : k - b : a,\n\t\t\t\t\t\ty: g ? e - a - f : l ? e - k - b : e - k,\n\t\t\t\t\t\twidth: g ? b : f,\n\t\t\t\t\t\theight: g ? f : b\n\t\t\t\t\t};\n\t\t\t\tif (f = this.label) f.align(this.alignOptions, null, g), g = f.alignAttr, f[!1 === this.options.crop || d.isInsidePlot(g.x, g.y) ? \"show\" : \"hide\"](!0)\n\t\t\t}\n\t\t};\n\t\tF.prototype.getStacks = function() {\n\t\t\tvar a = this;\n\t\t\tg(a.yAxis, function(a) {\n\t\t\t\ta.stacks &amp;&amp; a.hasVisibleSeries &amp;&amp; (a.oldStacks = a.stacks)\n\t\t\t});\n\t\t\tg(a.series, function(f) {\n\t\t\t\t!f.options.stacking || !0 !== f.visible &amp;&amp; !1 !== a.options.chart.ignoreHiddenSeries || (f.stackKey = f.type + l(f.options.stack, \"\"))\n\t\t\t})\n\t\t};\n\t\tA.prototype.buildStacks = function() {\n\t\t\tvar a = this.series,\n\t\t\t\tf, b = l(this.options.reversedStacks, !0),\n\t\t\t\td = a.length,\n\t\t\t\tg;\n\t\t\tif (!this.isXAxis) {\n\t\t\t\tthis.usePercentage = !1;\n\t\t\t\tfor (g = d; g--;) a[b ? g : d - g - 1].setStackedPoints();\n\t\t\t\tfor (g = d; g--;) f = a[b ? g : d - g - 1], f.setStackCliffs &amp;&amp;\n\t\t\t\t\tf.setStackCliffs();\n\t\t\t\tif (this.usePercentage)\n\t\t\t\t\tfor (g = 0; g &lt; d; g++) a[g].setPercentStacks()\n\t\t\t}\n\t\t};\n\t\tA.prototype.renderStackTotals = function() {\n\t\t\tvar a = this.chart,\n\t\t\t\tf = a.renderer,\n\t\t\t\tb = this.stacks,\n\t\t\t\td, g, l = this.stackTotalGroup;\n\t\t\tl || (this.stackTotalGroup = l = f.g(\"stack-labels\").attr({\n\t\t\t\tvisibility: \"visible\",\n\t\t\t\tzIndex: 6\n\t\t\t}).add());\n\t\t\tl.translate(a.plotLeft, a.plotTop);\n\t\t\tfor (d in b)\n\t\t\t\tfor (g in a = b[d], a) a[g].render(l)\n\t\t};\n\t\tA.prototype.resetStacks = function() {\n\t\t\tvar a = this.stacks,\n\t\t\t\tf, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].touched &lt; this.stacksTouched ? (a[f][b].destroy(),\n\t\t\t\t\t\tdelete a[f][b]) : (a[f][b].total = null, a[f][b].cum = null)\n\t\t};\n\t\tA.prototype.cleanStacks = function() {\n\t\t\tvar a, f, b;\n\t\t\tif (!this.isXAxis)\n\t\t\t\tfor (f in this.oldStacks &amp;&amp; (a = this.stacks = this.oldStacks), a)\n\t\t\t\t\tfor (b in a[f]) a[f][b].cum = a[f][b].total\n\t\t};\n\t\ta.prototype.setStackedPoints = function() {\n\t\t\tif (this.options.stacking &amp;&amp; (!0 === this.visible || !1 === this.chart.options.chart.ignoreHiddenSeries)) {\n\t\t\t\tvar a = this.processedXData,\n\t\t\t\t\tf = this.processedYData,\n\t\t\t\t\tb = [],\n\t\t\t\t\td = f.length,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tt = g.threshold,\n\t\t\t\t\tk = g.startFromThreshold ? t : 0,\n\t\t\t\t\te = g.stack,\n\t\t\t\t\tg = g.stacking,\n\t\t\t\t\th = this.stackKey,\n\t\t\t\t\tv = \"-\" + h,\n\t\t\t\t\tu = this.negStacks,\n\t\t\t\t\tc = this.yAxis,\n\t\t\t\t\tq = c.stacks,\n\t\t\t\t\tx = c.oldStacks,\n\t\t\t\t\tK, I, J, D, G, A, F;\n\t\t\t\tc.stacksTouched += 1;\n\t\t\t\tfor (G = 0; G &lt; d; G++) A = a[G], F = f[G], K = this.getStackIndicator(K, A, this.index), D = K.key, J = (I = u &amp;&amp; F &lt; (k ? 0 : t)) ? v : h, q[J] || (q[J] = {}), q[J][A] || (x[J] &amp;&amp; x[J][A] ? (q[J][A] = x[J][A], q[J][A].total = null) : q[J][A] = new E(c, c.options.stackLabels, I, A, e)), J = q[J][A], null !== F &amp;&amp; (J.points[D] = J.points[this.index] = [l(J.cum, k)], p(J.cum) || (J.base = D), J.touched = c.stacksTouched, 0 &lt; K.index &amp;&amp; !1 === this.singleStacks &amp;&amp; (J.points[D][0] = J.points[this.index +\n\t\t\t\t\t\",\" + A + \",0\"][0])), \"percent\" === g ? (I = I ? h : v, u &amp;&amp; q[I] &amp;&amp; q[I][A] ? (I = q[I][A], J.total = I.total = Math.max(I.total, J.total) + Math.abs(F) || 0) : J.total = H(J.total + (Math.abs(F) || 0))) : J.total = H(J.total + (F || 0)), J.cum = l(J.cum, k) + (F || 0), null !== F &amp;&amp; (J.points[D].push(J.cum), b[G] = J.cum);\n\t\t\t\t\"percent\" === g &amp;&amp; (c.usePercentage = !0);\n\t\t\t\tthis.stackedYData = b;\n\t\t\t\tc.oldStacks = {}\n\t\t\t}\n\t\t};\n\t\ta.prototype.setPercentStacks = function() {\n\t\t\tvar a = this,\n\t\t\t\tf = a.stackKey,\n\t\t\t\tb = a.yAxis.stacks,\n\t\t\t\td = a.processedXData,\n\t\t\t\tl;\n\t\t\tg([f, \"-\" + f], function(f) {\n\t\t\t\tfor (var g = d.length, e, h; g--;)\n\t\t\t\t\tif (e = d[g], l = a.getStackIndicator(l,\n\t\t\t\t\t\t\te, a.index, f), e = (h = b[f] &amp;&amp; b[f][e]) &amp;&amp; h.points[l.key]) h = h.total ? 100 / h.total : 0, e[0] = H(e[0] * h), e[1] = H(e[1] * h), a.stackedYData[g] = e[1]\n\t\t\t})\n\t\t};\n\t\ta.prototype.getStackIndicator = function(a, f, b, d) {\n\t\t\t!p(a) || a.x !== f || d &amp;&amp; a.key !== d ? a = {\n\t\t\t\tx: f,\n\t\t\t\tindex: 0,\n\t\t\t\tkey: d\n\t\t\t} : a.index++;\n\t\t\ta.key = [b, f, a.index].join();\n\t\t\treturn a\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.animate,\n\t\t\tF = a.Axis,\n\t\t\tH = a.createElement,\n\t\t\tp = a.css,\n\t\t\td = a.defined,\n\t\t\tg = a.each,\n\t\t\tv = a.erase,\n\t\t\tl = a.extend,\n\t\t\tr = a.fireEvent,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isNumber,\n\t\t\tn = a.isObject,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.setAnimation,\n\t\t\tu = a.splat;\n\t\tl(a.Chart.prototype, {\n\t\t\taddSeries: function(a, b, e) {\n\t\t\t\tvar c, f = this;\n\t\t\t\ta &amp;&amp; (b = t(b, !0), r(f, \"addSeries\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, function() {\n\t\t\t\t\tc = f.initSeries(a);\n\t\t\t\t\tf.isDirtyLegend = !0;\n\t\t\t\t\tf.linkSeries();\n\t\t\t\t\tb &amp;&amp; f.redraw(e)\n\t\t\t\t}));\n\t\t\t\treturn c\n\t\t\t},\n\t\t\taddAxis: function(a, b, e, f) {\n\t\t\t\tvar c = b ? \"xAxis\" : \"yAxis\",\n\t\t\t\t\td = this.options;\n\t\t\t\ta = w(a, {\n\t\t\t\t\tindex: this[c].length,\n\t\t\t\t\tisX: b\n\t\t\t\t});\n\t\t\t\tnew F(this, a);\n\t\t\t\td[c] = u(d[c] || {});\n\t\t\t\td[c].push(a);\n\t\t\t\tt(e, !0) &amp;&amp; this.redraw(f)\n\t\t\t},\n\t\t\tshowLoading: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tc = b.options,\n\t\t\t\t\te = b.loadingDiv,\n\t\t\t\t\tf = c.loading,\n\t\t\t\t\td = function() {\n\t\t\t\t\t\te &amp;&amp; p(e, {\n\t\t\t\t\t\t\tleft: b.plotLeft +\n\t\t\t\t\t\t\t\t\"px\",\n\t\t\t\t\t\t\ttop: b.plotTop + \"px\",\n\t\t\t\t\t\t\twidth: b.plotWidth + \"px\",\n\t\t\t\t\t\t\theight: b.plotHeight + \"px\"\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\te || (b.loadingDiv = e = H(\"div\", {\n\t\t\t\t\tclassName: \"highcharts-loading highcharts-loading-hidden\"\n\t\t\t\t}, null, b.container), b.loadingSpan = H(\"span\", {\n\t\t\t\t\tclassName: \"highcharts-loading-inner\"\n\t\t\t\t}, null, e), E(b, \"redraw\", d));\n\t\t\t\te.className = \"highcharts-loading\";\n\t\t\t\tb.loadingSpan.innerHTML = a || c.lang.loading;\n\t\t\t\tp(e, l(f.style, {\n\t\t\t\t\tzIndex: 10\n\t\t\t\t}));\n\t\t\t\tp(b.loadingSpan, f.labelStyle);\n\t\t\t\tb.loadingShown || (p(e, {\n\t\t\t\t\topacity: 0,\n\t\t\t\t\tdisplay: \"\"\n\t\t\t\t}), A(e, {\n\t\t\t\t\topacity: f.style.opacity || .5\n\t\t\t\t}, {\n\t\t\t\t\tduration: f.showDuration ||\n\t\t\t\t\t\t0\n\t\t\t\t}));\n\t\t\t\tb.loadingShown = !0;\n\t\t\t\td()\n\t\t\t},\n\t\t\thideLoading: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.loadingDiv;\n\t\t\t\tb &amp;&amp; (b.className = \"highcharts-loading highcharts-loading-hidden\", A(b, {\n\t\t\t\t\topacity: 0\n\t\t\t\t}, {\n\t\t\t\t\tduration: a.loading.hideDuration || 100,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tp(b, {\n\t\t\t\t\t\t\tdisplay: \"none\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t\tthis.loadingShown = !1\n\t\t\t},\n\t\t\tpropsRequireDirtyBox: \"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\n\t\t\tpropsRequireUpdateSeries: \"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions\".split(\" \"),\n\t\t\tupdate: function(a, e) {\n\t\t\t\tvar c, h = {\n\t\t\t\t\t\tcredits: \"addCredits\",\n\t\t\t\t\t\ttitle: \"setTitle\",\n\t\t\t\t\t\tsubtitle: \"setSubtitle\"\n\t\t\t\t\t},\n\t\t\t\t\tk = a.chart,\n\t\t\t\t\tn, q;\n\t\t\t\tif (k) {\n\t\t\t\t\tw(!0, this.options.chart, k);\n\t\t\t\t\t\"className\" in k &amp;&amp; this.setClassName(k.className);\n\t\t\t\t\tif (\"inverted\" in k || \"polar\" in k) this.propFromSeries(), n = !0;\n\t\t\t\t\tfor (c in k) k.hasOwnProperty(c) &amp;&amp; (-1 !== f(\"chart.\" + c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0), -1 !== f(c, this.propsRequireDirtyBox) &amp;&amp; (this.isDirtyBox = !0));\n\t\t\t\t\t\"style\" in k &amp;&amp; this.renderer.setStyle(k.style)\n\t\t\t\t}\n\t\t\t\tfor (c in a) {\n\t\t\t\t\tif (this[c] &amp;&amp; \"function\" === typeof this[c].update) this[c].update(a[c], !1);\n\t\t\t\t\telse if (\"function\" === typeof this[h[c]]) this[h[c]](a[c]);\n\t\t\t\t\t\"chart\" !== c &amp;&amp; -1 !== f(c, this.propsRequireUpdateSeries) &amp;&amp; (q = !0)\n\t\t\t\t}\n\t\t\t\ta.colors &amp;&amp; (this.options.colors = a.colors);\n\t\t\t\ta.plotOptions &amp;&amp; w(!0, this.options.plotOptions, a.plotOptions);\n\t\t\t\tg([\"xAxis\", \"yAxis\", \"series\"], function(b) {\n\t\t\t\t\ta[b] &amp;&amp; g(u(a[b]), function(a) {\n\t\t\t\t\t\tvar c = d(a.id) &amp;&amp; this.get(a.id) || this[b][0];\n\t\t\t\t\t\tc &amp;&amp; c.coll === b &amp;&amp; c.update(a, !1)\n\t\t\t\t\t}, this)\n\t\t\t\t}, this);\n\t\t\t\tn &amp;&amp; g(this.axes, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\tq &amp;&amp; g(this.series, function(a) {\n\t\t\t\t\ta.update({}, !1)\n\t\t\t\t});\n\t\t\t\ta.loading &amp;&amp; w(!0, this.options.loading, a.loading);\n\t\t\t\tc = k &amp;&amp; k.width;\n\t\t\t\tk = k &amp;&amp; k.height;\n\t\t\t\tb(c) &amp;&amp; c !== this.chartWidth || b(k) &amp;&amp; k !== this.chartHeight ? this.setSize(c, k) : t(e, !0) &amp;&amp; this.redraw()\n\t\t\t},\n\t\t\tsetSubtitle: function(a) {\n\t\t\t\tthis.setTitle(void 0, a)\n\t\t\t}\n\t\t});\n\t\tl(k.prototype, {\n\t\t\tupdate: function(a, b, e, f) {\n\t\t\t\tfunction c() {\n\t\t\t\t\td.applyOptions(a);\n\t\t\t\t\tnull === d.y &amp;&amp; g &amp;&amp; (d.graphic = g.destroy());\n\t\t\t\t\tn(a, !0) &amp;&amp; (g &amp;&amp; g.element &amp;&amp; a &amp;&amp; a.marker &amp;&amp; a.marker.symbol &amp;&amp; (d.graphic = g.destroy()),\n\t\t\t\t\t\ta &amp;&amp; a.dataLabels &amp;&amp; d.dataLabel &amp;&amp; (d.dataLabel = d.dataLabel.destroy()));\n\t\t\t\t\tk = d.index;\n\t\t\t\t\th.updateParallelArrays(d, k);\n\t\t\t\t\tm.data[k] = n(m.data[k], !0) ? d.options : a;\n\t\t\t\t\th.isDirty = h.isDirtyData = !0;\n\t\t\t\t\t!h.fixedBox &amp;&amp; h.hasCartesianSeries &amp;&amp; (q.isDirtyBox = !0);\n\t\t\t\t\t\"point\" === m.legendType &amp;&amp; (q.isDirtyLegend = !0);\n\t\t\t\t\tb &amp;&amp; q.redraw(e)\n\t\t\t\t}\n\t\t\t\tvar d = this,\n\t\t\t\t\th = d.series,\n\t\t\t\t\tg = d.graphic,\n\t\t\t\t\tk, q = h.chart,\n\t\t\t\t\tm = h.options;\n\t\t\t\tb = t(b, !0);\n\t\t\t\t!1 === f ? c() : d.firePointEvent(\"update\", {\n\t\t\t\t\toptions: a\n\t\t\t\t}, c)\n\t\t\t},\n\t\t\tremove: function(a, b) {\n\t\t\t\tthis.series.removePoint(f(this, this.series.data), a, b)\n\t\t\t}\n\t\t});\n\t\tl(e.prototype, {\n\t\t\taddPoint: function(a,\n\t\t\t\tb, e, f) {\n\t\t\t\tvar c = this.options,\n\t\t\t\t\td = this.data,\n\t\t\t\t\th = this.chart,\n\t\t\t\t\tg = this.xAxis &amp;&amp; this.xAxis.names,\n\t\t\t\t\tk = c.data,\n\t\t\t\t\tn, m, q = this.xData,\n\t\t\t\t\tl, u;\n\t\t\t\tb = t(b, !0);\n\t\t\t\tn = {\n\t\t\t\t\tseries: this\n\t\t\t\t};\n\t\t\t\tthis.pointClass.prototype.applyOptions.apply(n, [a]);\n\t\t\t\tu = n.x;\n\t\t\t\tl = q.length;\n\t\t\t\tif (this.requireSorting &amp;&amp; u &lt; q[l - 1])\n\t\t\t\t\tfor (m = !0; l &amp;&amp; q[l - 1] &gt; u;) l--;\n\t\t\t\tthis.updateParallelArrays(n, \"splice\", l, 0, 0);\n\t\t\t\tthis.updateParallelArrays(n, l);\n\t\t\t\tg &amp;&amp; n.name &amp;&amp; (g[u] = n.name);\n\t\t\t\tk.splice(l, 0, a);\n\t\t\t\tm &amp;&amp; (this.data.splice(l, 0, null), this.processData());\n\t\t\t\t\"point\" === c.legendType &amp;&amp; this.generatePoints();\n\t\t\t\te &amp;&amp; (d[0] &amp;&amp; d[0].remove ?\n\t\t\t\t\td[0].remove(!1) : (d.shift(), this.updateParallelArrays(n, \"shift\"), k.shift()));\n\t\t\t\tthis.isDirtyData = this.isDirty = !0;\n\t\t\t\tb &amp;&amp; h.redraw(f)\n\t\t\t},\n\t\t\tremovePoint: function(a, b, e) {\n\t\t\t\tvar c = this,\n\t\t\t\t\tf = c.data,\n\t\t\t\t\td = f[a],\n\t\t\t\t\th = c.points,\n\t\t\t\t\tg = c.chart,\n\t\t\t\t\tk = function() {\n\t\t\t\t\t\th &amp;&amp; h.length === f.length &amp;&amp; h.splice(a, 1);\n\t\t\t\t\t\tf.splice(a, 1);\n\t\t\t\t\t\tc.options.data.splice(a, 1);\n\t\t\t\t\t\tc.updateParallelArrays(d || {\n\t\t\t\t\t\t\tseries: c\n\t\t\t\t\t\t}, \"splice\", a, 1);\n\t\t\t\t\t\td &amp;&amp; d.destroy();\n\t\t\t\t\t\tc.isDirty = !0;\n\t\t\t\t\t\tc.isDirtyData = !0;\n\t\t\t\t\t\tb &amp;&amp; g.redraw()\n\t\t\t\t\t};\n\t\t\t\tC(e, g);\n\t\t\t\tb = t(b, !0);\n\t\t\t\td ? d.firePointEvent(\"remove\", null, k) : k()\n\t\t\t},\n\t\t\tremove: function(a, b, e) {\n\t\t\t\tfunction c() {\n\t\t\t\t\tf.destroy();\n\t\t\t\t\td.isDirtyLegend = d.isDirtyBox = !0;\n\t\t\t\t\td.linkSeries();\n\t\t\t\t\tt(a, !0) &amp;&amp; d.redraw(b)\n\t\t\t\t}\n\t\t\t\tvar f = this,\n\t\t\t\t\td = f.chart;\n\t\t\t\t!1 !== e ? r(f, \"remove\", null, c) : c()\n\t\t\t},\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = this.chart,\n\t\t\t\t\tf = this.userOptions,\n\t\t\t\t\td = this.type,\n\t\t\t\t\tk = a.type || f.type || e.options.chart.type,\n\t\t\t\t\tn = h[d].prototype,\n\t\t\t\t\tq = [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\t\t\tu;\n\t\t\t\tif (k &amp;&amp; k !== d || void 0 !== a.zIndex) q.length = 0;\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tq[a] = c[a];\n\t\t\t\t\tdelete c[a]\n\t\t\t\t});\n\t\t\t\ta = w(f, {\n\t\t\t\t\tanimation: !1,\n\t\t\t\t\tindex: this.index,\n\t\t\t\t\tpointStart: this.xData[0]\n\t\t\t\t}, {\n\t\t\t\t\tdata: this.options.data\n\t\t\t\t}, a);\n\t\t\t\tthis.remove(!1, null, !1);\n\t\t\t\tfor (u in n) this[u] =\n\t\t\t\t\tvoid 0;\n\t\t\t\tl(this, h[k || d].prototype);\n\t\t\t\tg(q, function(a) {\n\t\t\t\t\tc[a] = q[a]\n\t\t\t\t});\n\t\t\t\tthis.init(e, a);\n\t\t\t\te.linkSeries();\n\t\t\t\tt(b, !0) &amp;&amp; e.redraw(!1)\n\t\t\t}\n\t\t});\n\t\tl(F.prototype, {\n\t\t\tupdate: function(a, b) {\n\t\t\t\tvar c = this.chart;\n\t\t\t\ta = c.options[this.coll][this.options.index] = w(this.userOptions, a);\n\t\t\t\tthis.destroy(!0);\n\t\t\t\tthis.init(c, l(a, {\n\t\t\t\t\tevents: void 0\n\t\t\t\t}));\n\t\t\t\tc.isDirtyBox = !0;\n\t\t\t\tt(b, !0) &amp;&amp; c.redraw()\n\t\t\t},\n\t\t\tremove: function(a) {\n\t\t\t\tfor (var b = this.chart, c = this.coll, e = this.series, f = e.length; f--;) e[f] &amp;&amp; e[f].remove(!1);\n\t\t\t\tv(b.axes, this);\n\t\t\t\tv(b[c], this);\n\t\t\t\tb.options[c].splice(this.options.index, 1);\n\t\t\t\tg(b[c],\n\t\t\t\t\tfunction(a, b) {\n\t\t\t\t\t\ta.options.index = b\n\t\t\t\t\t});\n\t\t\t\tthis.destroy();\n\t\t\t\tb.isDirtyBox = !0;\n\t\t\t\tt(a, !0) &amp;&amp; b.redraw()\n\t\t\t},\n\t\t\tsetTitle: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\ttitle: a\n\t\t\t\t}, b)\n\t\t\t},\n\t\t\tsetCategories: function(a, b) {\n\t\t\t\tthis.update({\n\t\t\t\t\tcategories: a\n\t\t\t\t}, b)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.color,\n\t\t\tA = a.each,\n\t\t\tF = a.map,\n\t\t\tH = a.pick,\n\t\t\tp = a.Series,\n\t\t\td = a.seriesType;\n\t\td(\"area\", \"line\", {\n\t\t\tsoftThreshold: !1,\n\t\t\tthreshold: 0\n\t\t}, {\n\t\t\tsingleStacks: !1,\n\t\t\tgetStackPoints: function() {\n\t\t\t\tvar a = [],\n\t\t\t\t\td = [],\n\t\t\t\t\tl = this.xAxis,\n\t\t\t\t\tp = this.yAxis,\n\t\t\t\t\tf = p.stacks[this.stackKey],\n\t\t\t\t\tb = {},\n\t\t\t\t\tn = this.points,\n\t\t\t\t\tw = this.index,\n\t\t\t\t\tt = p.series,\n\t\t\t\t\tk = t.length,\n\t\t\t\t\te, h = H(p.options.reversedStacks, !0) ? 1 : -1,\n\t\t\t\t\tC, u;\n\t\t\t\tif (this.options.stacking) {\n\t\t\t\t\tfor (C = 0; C &lt; n.length; C++) b[n[C].x] = n[C];\n\t\t\t\t\tfor (u in f) null !== f[u].total &amp;&amp; d.push(u);\n\t\t\t\t\td.sort(function(a, b) {\n\t\t\t\t\t\treturn a - b\n\t\t\t\t\t});\n\t\t\t\t\te = F(t, function() {\n\t\t\t\t\t\treturn this.visible\n\t\t\t\t\t});\n\t\t\t\t\tA(d, function(c, g) {\n\t\t\t\t\t\tvar n = 0,\n\t\t\t\t\t\t\tq, u;\n\t\t\t\t\t\tif (b[c] &amp;&amp; !b[c].isNull) a.push(b[c]), A([-1, 1], function(a) {\n\t\t\t\t\t\t\tvar n = 1 === a ? \"rightNull\" : \"leftNull\",\n\t\t\t\t\t\t\t\tl = 0,\n\t\t\t\t\t\t\t\tt = f[d[g + a]];\n\t\t\t\t\t\t\tif (t)\n\t\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) q = t.points[C], q || (C === w ? b[c][n] = !0 : e[C] &amp;&amp; (u = f[c].points[C]) &amp;&amp; (l -= u[1] - u[0])), C += h;\n\t\t\t\t\t\t\tb[c][1 === a ? \"rightCliff\" : \"leftCliff\"] = l\n\t\t\t\t\t\t});\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tfor (C = w; 0 &lt;= C &amp;&amp; C &lt; k;) {\n\t\t\t\t\t\t\t\tif (q =\n\t\t\t\t\t\t\t\t\tf[c].points[C]) {\n\t\t\t\t\t\t\t\t\tn = q[1];\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tC += h\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tn = p.toPixels(n, !0);\n\t\t\t\t\t\t\ta.push({\n\t\t\t\t\t\t\t\tisNull: !0,\n\t\t\t\t\t\t\t\tplotX: l.toPixels(c, !0),\n\t\t\t\t\t\t\t\tplotY: n,\n\t\t\t\t\t\t\t\tyBottom: n\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tgetGraphPath: function(a) {\n\t\t\t\tvar d = p.prototype.getGraphPath,\n\t\t\t\t\tg = this.options,\n\t\t\t\t\tr = g.stacking,\n\t\t\t\t\tf = this.yAxis,\n\t\t\t\t\tb, n, w = [],\n\t\t\t\t\tt = [],\n\t\t\t\t\tk = this.index,\n\t\t\t\t\te, h = f.stacks[this.stackKey],\n\t\t\t\t\tC = g.threshold,\n\t\t\t\t\tu = f.getThreshold(g.threshold),\n\t\t\t\t\tc, g = g.connectNulls || \"percent\" === r,\n\t\t\t\t\tq = function(b, c, d) {\n\t\t\t\t\t\tvar g = a[b];\n\t\t\t\t\t\tb = r &amp;&amp; h[g.x].points[k];\n\t\t\t\t\t\tvar n = g[d + \"Null\"] || 0;\n\t\t\t\t\t\td = g[d + \"Cliff\"] || 0;\n\t\t\t\t\t\tvar q, l, g = !0;\n\t\t\t\t\t\td || n ? (q = (n ? b[0] : b[1]) + d, l = b[0] + d, g = !!n) : !r &amp;&amp;\n\t\t\t\t\t\t\ta[c] &amp;&amp; a[c].isNull &amp;&amp; (q = l = C);\n\t\t\t\t\t\tvoid 0 !== q &amp;&amp; (t.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === q ? u : f.getThreshold(q),\n\t\t\t\t\t\t\tisNull: g\n\t\t\t\t\t\t}), w.push({\n\t\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\t\tplotY: null === l ? u : f.getThreshold(l),\n\t\t\t\t\t\t\tdoCurve: !1\n\t\t\t\t\t\t}))\n\t\t\t\t\t};\n\t\t\t\ta = a || this.points;\n\t\t\t\tr &amp;&amp; (a = this.getStackPoints());\n\t\t\t\tfor (b = 0; b &lt; a.length; b++)\n\t\t\t\t\tif (n = a[b].isNull, e = H(a[b].rectPlotX, a[b].plotX), c = H(a[b].yBottom, u), !n || g) g || q(b, b - 1, \"left\"), n &amp;&amp; !r &amp;&amp; g || (t.push(a[b]), w.push({\n\t\t\t\t\t\tx: b,\n\t\t\t\t\t\tplotX: e,\n\t\t\t\t\t\tplotY: c\n\t\t\t\t\t})), g || q(b, b + 1, \"right\");\n\t\t\t\tb = d.call(this, t, !0, !0);\n\t\t\t\tw.reversed = !0;\n\t\t\t\tn = d.call(this, w, !0, !0);\n\t\t\t\tn.length &amp;&amp; (n[0] = \"L\");\n\t\t\t\tn = b.concat(n);\n\t\t\t\td =\n\t\t\t\t\td.call(this, t, !1, g);\n\t\t\t\tn.xMap = b.xMap;\n\t\t\t\tthis.areaPath = n;\n\t\t\t\treturn d\n\t\t\t},\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.areaPath = [];\n\t\t\t\tp.prototype.drawGraph.apply(this);\n\t\t\t\tvar a = this,\n\t\t\t\t\td = this.areaPath,\n\t\t\t\t\tl = this.options,\n\t\t\t\t\tr = [\n\t\t\t\t\t\t[\"area\", \"highcharts-area\", this.color, l.fillColor]\n\t\t\t\t\t];\n\t\t\t\tA(this.zones, function(d, b) {\n\t\t\t\t\tr.push([\"zone-area-\" + b, \"highcharts-area highcharts-zone-area-\" + b + \" \" + d.className, d.color || a.color, d.fillColor || l.fillColor])\n\t\t\t\t});\n\t\t\t\tA(r, function(f) {\n\t\t\t\t\tvar b = f[0],\n\t\t\t\t\t\tg = a[b];\n\t\t\t\t\tg ? (g.endX = d.xMap, g.animate({\n\t\t\t\t\t\td: d\n\t\t\t\t\t})) : (g = a[b] = a.chart.renderer.path(d).addClass(f[1]).attr({\n\t\t\t\t\t\tfill: H(f[3],\n\t\t\t\t\t\t\tE(f[2]).setOpacity(H(l.fillOpacity, .75)).get()),\n\t\t\t\t\t\tzIndex: 0\n\t\t\t\t\t}).add(a.group), g.isArea = !0);\n\t\t\t\t\tg.startX = d.xMap;\n\t\t\t\t\tg.shiftUnit = l.step ? 2 : 1\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick;\n\t\ta = a.seriesType;\n\t\ta(\"spline\", \"line\", {}, {\n\t\t\tgetPointSpline: function(a, F, H) {\n\t\t\t\tvar p = F.plotX,\n\t\t\t\t\td = F.plotY,\n\t\t\t\t\tg = a[H - 1];\n\t\t\t\tH = a[H + 1];\n\t\t\t\tvar v, l, r, f;\n\t\t\t\tif (g &amp;&amp; !g.isNull &amp;&amp; !1 !== g.doCurve &amp;&amp; H &amp;&amp; !H.isNull &amp;&amp; !1 !== H.doCurve) {\n\t\t\t\t\ta = g.plotY;\n\t\t\t\t\tr = H.plotX;\n\t\t\t\t\tH = H.plotY;\n\t\t\t\t\tvar b = 0;\n\t\t\t\t\tv = (1.5 * p + g.plotX) / 2.5;\n\t\t\t\t\tl = (1.5 * d + a) / 2.5;\n\t\t\t\t\tr = (1.5 * p + r) / 2.5;\n\t\t\t\t\tf = (1.5 * d + H) / 2.5;\n\t\t\t\t\tr !== v &amp;&amp; (b = (f - l) * (r - p) / (r - v) + d - f);\n\t\t\t\t\tl += b;\n\t\t\t\t\tf += b;\n\t\t\t\t\tl &gt; a &amp;&amp; l &gt; d ? (l = Math.max(a, d), f = 2 * d - l) : l &lt; a &amp;&amp; l &lt; d &amp;&amp; (l = Math.min(a, d), f = 2 * d - l);\n\t\t\t\t\tf &gt; H &amp;&amp; f &gt; d ? (f = Math.max(H, d), l = 2 * d - f) : f &lt; H &amp;&amp; f &lt; d &amp;&amp; (f = Math.min(H, d), l = 2 * d - f);\n\t\t\t\t\tF.rightContX = r;\n\t\t\t\t\tF.rightContY = f\n\t\t\t\t}\n\t\t\t\tF = [\"C\", E(g.rightContX, g.plotX), E(g.rightContY, g.plotY), E(v, p), E(l, d), p, d];\n\t\t\t\tg.rightContX = g.rightContY = null;\n\t\t\t\treturn F\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.seriesTypes.area.prototype,\n\t\t\tA = a.seriesType;\n\t\tA(\"areaspline\", \"spline\", a.defaultPlotOptions.area, {\n\t\t\tgetStackPoints: E.getStackPoints,\n\t\t\tgetGraphPath: E.getGraphPath,\n\t\t\tsetStackCliffs: E.setStackCliffs,\n\t\t\tdrawGraph: E.drawGraph,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.animObject,\n\t\t\tA = a.color,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.isNumber,\n\t\t\td = a.merge,\n\t\t\tg = a.pick,\n\t\t\tv = a.Series,\n\t\t\tl = a.seriesType,\n\t\t\tr = a.svg;\n\t\tl(\"column\", \"line\", {\n\t\t\tborderRadius: 0,\n\t\t\tgroupPadding: .2,\n\t\t\tmarker: null,\n\t\t\tpointPadding: .1,\n\t\t\tminPointLength: 0,\n\t\t\tcropThreshold: 50,\n\t\t\tpointRange: null,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\thalo: !1,\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t},\n\t\t\t\tselect: {\n\t\t\t\t\tcolor: \"#cccccc\",\n\t\t\t\t\tborderColor: \"#000000\",\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t},\n\t\t\tdataLabels: {\n\t\t\t\talign: null,\n\t\t\t\tverticalAlign: null,\n\t\t\t\ty: null\n\t\t\t},\n\t\t\tsoftThreshold: !1,\n\t\t\tstartFromThreshold: !0,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tthreshold: 0,\n\t\t\tborderColor: \"#ffffff\"\n\t\t}, {\n\t\t\tcropShoulder: 0,\n\t\t\tdirectTouch: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\tnegStacks: !0,\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetColumnMetrics: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = a.xAxis,\n\t\t\t\t\tl = a.yAxis,\n\t\t\t\t\tt = d.reversed,\n\t\t\t\t\tk, e = {},\n\t\t\t\t\th = 0;\n\t\t\t\t!1 === b.grouping ? h = 1 : F(a.chart.series, function(b) {\n\t\t\t\t\tvar c =\n\t\t\t\t\t\tb.options,\n\t\t\t\t\t\td = b.yAxis,\n\t\t\t\t\t\tf;\n\t\t\t\t\tb.type === a.type &amp;&amp; b.visible &amp;&amp; l.len === d.len &amp;&amp; l.pos === d.pos &amp;&amp; (c.stacking ? (k = b.stackKey, void 0 === e[k] &amp;&amp; (e[k] = h++), f = e[k]) : !1 !== c.grouping &amp;&amp; (f = h++), b.columnIndex = f)\n\t\t\t\t});\n\t\t\t\tvar p = Math.min(Math.abs(d.transA) * (d.ordinalSlope || b.pointRange || d.closestPointRange || d.tickInterval || 1), d.len),\n\t\t\t\t\tu = p * b.groupPadding,\n\t\t\t\t\tc = (p - 2 * u) / h,\n\t\t\t\t\tb = Math.min(b.maxPointWidth || d.len, g(b.pointWidth, c * (1 - 2 * b.pointPadding)));\n\t\t\t\ta.columnMetrics = {\n\t\t\t\t\twidth: b,\n\t\t\t\t\toffset: (c - b) / 2 + (u + ((a.columnIndex || 0) + (t ? 1 : 0)) * c - p / 2) * (t ? -1 : 1)\n\t\t\t\t};\n\t\t\t\treturn a.columnMetrics\n\t\t\t},\n\t\t\tcrispCol: function(a, b, d, g) {\n\t\t\t\tvar f = this.chart,\n\t\t\t\t\tk = this.borderWidth,\n\t\t\t\t\te = -(k % 2 ? .5 : 0),\n\t\t\t\t\tk = k % 2 ? .5 : 1;\n\t\t\t\tf.inverted &amp;&amp; f.renderer.isVML &amp;&amp; (k += 1);\n\t\t\t\td = Math.round(a + d) + e;\n\t\t\t\ta = Math.round(a) + e;\n\t\t\t\tg = Math.round(b + g) + k;\n\t\t\t\te = .5 &gt;= Math.abs(b) &amp;&amp; .5 &lt; g;\n\t\t\t\tb = Math.round(b) + k;\n\t\t\t\tg -= b;\n\t\t\t\te &amp;&amp; g &amp;&amp; (--b, g += 1);\n\t\t\t\treturn {\n\t\t\t\t\tx: a,\n\t\t\t\t\ty: b,\n\t\t\t\t\twidth: d - a,\n\t\t\t\t\theight: g\n\t\t\t\t}\n\t\t\t},\n\t\t\ttranslate: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = a.options,\n\t\t\t\t\tl = a.dense = 2 &gt; a.closestPointRange * a.xAxis.transA,\n\t\t\t\t\tl = a.borderWidth = g(d.borderWidth, l ? 0 : 1),\n\t\t\t\t\tt = a.yAxis,\n\t\t\t\t\tk = a.translatedThreshold = t.getThreshold(d.threshold),\n\t\t\t\t\te = g(d.minPointLength,\n\t\t\t\t\t\t5),\n\t\t\t\t\th = a.getColumnMetrics(),\n\t\t\t\t\tp = h.width,\n\t\t\t\t\tu = a.barW = Math.max(p, 1 + 2 * l),\n\t\t\t\t\tc = a.pointXOffset = h.offset;\n\t\t\t\tb.inverted &amp;&amp; (k -= .5);\n\t\t\t\td.pointPadding &amp;&amp; (u = Math.ceil(u));\n\t\t\t\tv.prototype.translate.apply(a);\n\t\t\t\tF(a.points, function(d) {\n\t\t\t\t\tvar f = g(d.yBottom, k),\n\t\t\t\t\t\th = 999 + Math.abs(f),\n\t\t\t\t\t\th = Math.min(Math.max(-h, d.plotY), t.len + h),\n\t\t\t\t\t\tn = d.plotX + c,\n\t\t\t\t\t\tl = u,\n\t\t\t\t\t\tq = Math.min(h, f),\n\t\t\t\t\t\tr, v = Math.max(h, f) - q;\n\t\t\t\t\tMath.abs(v) &lt; e &amp;&amp; e &amp;&amp; (v = e, r = !t.reversed &amp;&amp; !d.negative || t.reversed &amp;&amp; d.negative, q = Math.abs(q - k) &gt; e ? f - e : k - (r ? e : 0));\n\t\t\t\t\td.barX = n;\n\t\t\t\t\td.pointWidth = p;\n\t\t\t\t\td.tooltipPos = b.inverted ? [t.len + t.pos - b.plotLeft -\n\t\t\t\t\t\th, a.xAxis.len - n - l / 2, v\n\t\t\t\t\t] : [n + l / 2, h + t.pos - b.plotTop, v];\n\t\t\t\t\td.shapeType = \"rect\";\n\t\t\t\t\td.shapeArgs = a.crispCol.apply(a, d.isNull ? [d.plotX, t.len / 2, 0, 0] : [n, q, l, v])\n\t\t\t\t})\n\t\t\t},\n\t\t\tgetSymbol: a.noop,\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.group[this.dense ? \"addClass\" : \"removeClass\"](\"highcharts-dense-data\")\n\t\t\t},\n\t\t\tpointAttribs: function(a, b) {\n\t\t\t\tvar d = this.options,\n\t\t\t\t\tf = this.pointAttrToOptions || {},\n\t\t\t\t\tg = f.stroke || \"borderColor\",\n\t\t\t\t\tk = f[\"stroke-width\"] || \"borderWidth\",\n\t\t\t\t\te = a &amp;&amp; a.color || this.color,\n\t\t\t\t\th = a[g] || d[g] || this.color || e,\n\t\t\t\t\tf =\n\t\t\t\t\td.dashStyle,\n\t\t\t\t\tl;\n\t\t\t\ta &amp;&amp; this.zones.length &amp;&amp; (e = (e = a.getZone()) &amp;&amp; e.color || a.options.color || this.color);\n\t\t\t\tb &amp;&amp; (b = d.states[b], l = b.brightness, e = b.color || void 0 !== l &amp;&amp; A(e).brighten(b.brightness).get() || e, h = b[g] || h, f = b.dashStyle || f);\n\t\t\t\ta = {\n\t\t\t\t\tfill: e,\n\t\t\t\t\tstroke: h,\n\t\t\t\t\t\"stroke-width\": a[k] || d[k] || this[k] || 0\n\t\t\t\t};\n\t\t\t\td.borderRadius &amp;&amp; (a.r = d.borderRadius);\n\t\t\t\tf &amp;&amp; (a.dashstyle = f);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\tg = a.options,\n\t\t\t\t\tl = b.renderer,\n\t\t\t\t\tt = g.animationLimit || 250,\n\t\t\t\t\tk;\n\t\t\t\tF(a.points, function(e) {\n\t\t\t\t\tvar f = e.graphic;\n\t\t\t\t\tif (p(e.plotY) &amp;&amp; null !== e.y) {\n\t\t\t\t\t\tk =\n\t\t\t\t\t\t\te.shapeArgs;\n\t\t\t\t\t\tif (f) f[b.pointCount &lt; t ? \"animate\" : \"attr\"](d(k));\n\t\t\t\t\t\telse e.graphic = f = l[e.shapeType](k).attr({\n\t\t\t\t\t\t\t\"class\": e.getClassName()\n\t\t\t\t\t\t}).add(e.group || a.group);\n\t\t\t\t\t\tf.attr(a.pointAttribs(e, e.selected &amp;&amp; \"select\")).shadow(g.shadow, null, g.stacking &amp;&amp; !g.borderRadius)\n\t\t\t\t\t} else f &amp;&amp; (e.graphic = f.destroy())\n\t\t\t\t})\n\t\t\t},\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = this.yAxis,\n\t\t\t\t\tf = b.options,\n\t\t\t\t\tg = this.chart.inverted,\n\t\t\t\t\tk = {};\n\t\t\t\tr &amp;&amp; (a ? (k.scaleY = .001, a = Math.min(d.pos + d.len, Math.max(d.pos, d.toPixels(f.threshold))), g ? k.translateX = a - d.len : k.translateY = a, b.group.attr(k)) :\n\t\t\t\t\t(k[g ? \"translateX\" : \"translateY\"] = d.pos, b.group.animate(k, H(E(b.options.animation), {\n\t\t\t\t\t\tstep: function(a, d) {\n\t\t\t\t\t\t\tb.group.attr({\n\t\t\t\t\t\t\t\tscaleY: Math.max(.001, d.pos)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})), b.animate = null))\n\t\t\t},\n\t\t\tremove: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart;\n\t\t\t\tb.hasRendered &amp;&amp; F(b.series, function(b) {\n\t\t\t\t\tb.type === a.type &amp;&amp; (b.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tv.prototype.remove.apply(a, arguments)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\ta = a.seriesType;\n\t\ta(\"bar\", \"column\", null, {\n\t\t\tinverted: !0\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Series;\n\t\ta = a.seriesType;\n\t\ta(\"scatter\", \"line\", {\n\t\t\tlineWidth: 0,\n\t\t\tmarker: {\n\t\t\t\tenabled: !0\n\t\t\t},\n\t\t\ttooltip: {\n\t\t\t\theaderFormat: '\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',\n\t\t\t\tpointFormat: \"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"\n\t\t\t}\n\t\t}, {\n\t\t\tsorted: !1,\n\t\t\trequireSorting: !1,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"markerGroup\", \"dataLabelsGroup\"],\n\t\t\ttakeOrdinalPosition: !1,\n\t\t\tkdDimensions: 2,\n\t\t\tdrawGraph: function() {\n\t\t\t\tthis.options.lineWidth &amp;&amp; E.prototype.drawGraph.call(this)\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.pick,\n\t\t\tA = a.relativeLength;\n\t\ta.CenteredSeriesMixin = {\n\t\t\tgetCenter: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tH = this.chart,\n\t\t\t\t\tp = 2 * (a.slicedOffset || 0),\n\t\t\t\t\td = H.plotWidth - 2 * p,\n\t\t\t\t\tH = H.plotHeight -\n\t\t\t\t\t2 * p,\n\t\t\t\t\tg = a.center,\n\t\t\t\t\tg = [E(g[0], \"50%\"), E(g[1], \"50%\"), a.size || \"100%\", a.innerSize || 0],\n\t\t\t\t\tv = Math.min(d, H),\n\t\t\t\t\tl, r;\n\t\t\t\tfor (l = 0; 4 &gt; l; ++l) r = g[l], a = 2 &gt; l || 2 === l &amp;&amp; /%$/.test(r), g[l] = A(r, [d, H, v, g[2]][l]) + (a ? p : 0);\n\t\t\t\tg[3] &gt; g[2] &amp;&amp; (g[3] = g[2]);\n\t\t\t\treturn g\n\t\t\t}\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.defined,\n\t\t\tF = a.each,\n\t\t\tH = a.extend,\n\t\t\tp = a.inArray,\n\t\t\td = a.noop,\n\t\t\tg = a.pick,\n\t\t\tv = a.Point,\n\t\t\tl = a.Series,\n\t\t\tr = a.seriesType,\n\t\t\tf = a.setAnimation;\n\t\tr(\"pie\", \"line\", {\n\t\t\tcenter: [null, null],\n\t\t\tclip: !1,\n\t\t\tcolorByPoint: !0,\n\t\t\tdataLabels: {\n\t\t\t\tdistance: 30,\n\t\t\t\tenabled: !0,\n\t\t\t\tformatter: function() {\n\t\t\t\t\treturn null === this.y ?\n\t\t\t\t\t\tvoid 0 : this.point.name\n\t\t\t\t},\n\t\t\t\tx: 0\n\t\t\t},\n\t\t\tignoreHiddenPoint: !0,\n\t\t\tlegendType: \"point\",\n\t\t\tmarker: null,\n\t\t\tsize: null,\n\t\t\tshowInLegend: !1,\n\t\t\tslicedOffset: 10,\n\t\t\tstickyTracking: !1,\n\t\t\ttooltip: {\n\t\t\t\tfollowPointer: !0\n\t\t\t},\n\t\t\tborderColor: \"#ffffff\",\n\t\t\tborderWidth: 1,\n\t\t\tstates: {\n\t\t\t\thover: {\n\t\t\t\t\tbrightness: .1,\n\t\t\t\t\tshadow: !1\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tisCartesian: !1,\n\t\t\trequireSorting: !1,\n\t\t\tdirectTouch: !0,\n\t\t\tnoSharedTooltip: !0,\n\t\t\ttrackerGroups: [\"group\", \"dataLabelsGroup\"],\n\t\t\taxisTypes: [],\n\t\t\tpointAttribs: a.seriesTypes.column.prototype.pointAttribs,\n\t\t\tanimate: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.points,\n\t\t\t\t\tf = b.startAngleRad;\n\t\t\t\ta || (F(d, function(a) {\n\t\t\t\t\tvar e =\n\t\t\t\t\t\ta.graphic,\n\t\t\t\t\t\td = a.shapeArgs;\n\t\t\t\t\te &amp;&amp; (e.attr({\n\t\t\t\t\t\tr: a.startR || b.center[3] / 2,\n\t\t\t\t\t\tstart: f,\n\t\t\t\t\t\tend: f\n\t\t\t\t\t}), e.animate({\n\t\t\t\t\t\tr: d.r,\n\t\t\t\t\t\tstart: d.start,\n\t\t\t\t\t\tend: d.end\n\t\t\t\t\t}, b.options.animation))\n\t\t\t\t}), b.animate = null)\n\t\t\t},\n\t\t\tupdateTotals: function() {\n\t\t\t\tvar a, d = 0,\n\t\t\t\t\tf = this.points,\n\t\t\t\t\tg = f.length,\n\t\t\t\t\tk, e = this.options.ignoreHiddenPoint;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], 0 &gt; k.y &amp;&amp; (k.y = null), d += e &amp;&amp; !k.visible ? 0 : k.y;\n\t\t\t\tthis.total = d;\n\t\t\t\tfor (a = 0; a &lt; g; a++) k = f[a], k.percentage = 0 &lt; d &amp;&amp; (k.visible || !e) ? k.y / d * 100 : 0, k.total = d\n\t\t\t},\n\t\t\tgeneratePoints: function() {\n\t\t\t\tl.prototype.generatePoints.call(this);\n\t\t\t\tthis.updateTotals()\n\t\t\t},\n\t\t\ttranslate: function(a) {\n\t\t\t\tthis.generatePoints();\n\t\t\t\tvar b = 0,\n\t\t\t\t\td = this.options,\n\t\t\t\t\tf = d.slicedOffset,\n\t\t\t\t\tk = f + (d.borderWidth || 0),\n\t\t\t\t\te, h, l, u = d.startAngle || 0,\n\t\t\t\t\tc = this.startAngleRad = Math.PI / 180 * (u - 90),\n\t\t\t\t\tu = (this.endAngleRad = Math.PI / 180 * (g(d.endAngle, u + 360) - 90)) - c,\n\t\t\t\t\tq = this.points,\n\t\t\t\t\tp = d.dataLabels.distance,\n\t\t\t\t\td = d.ignoreHiddenPoint,\n\t\t\t\t\tr, v = q.length,\n\t\t\t\t\tA;\n\t\t\t\ta || (this.center = a = this.getCenter());\n\t\t\t\tthis.getX = function(b, c) {\n\t\t\t\t\tl = Math.asin(Math.min((b - a[1]) / (a[2] / 2 + p), 1));\n\t\t\t\t\treturn a[0] + (c ? -1 : 1) * Math.cos(l) * (a[2] / 2 + p)\n\t\t\t\t};\n\t\t\t\tfor (r = 0; r &lt; v; r++) {\n\t\t\t\t\tA = q[r];\n\t\t\t\t\te = c + b * u;\n\t\t\t\t\tif (!d || A.visible) b += A.percentage / 100;\n\t\t\t\t\th = c + b * u;\n\t\t\t\t\tA.shapeType =\n\t\t\t\t\t\t\"arc\";\n\t\t\t\t\tA.shapeArgs = {\n\t\t\t\t\t\tx: a[0],\n\t\t\t\t\t\ty: a[1],\n\t\t\t\t\t\tr: a[2] / 2,\n\t\t\t\t\t\tinnerR: a[3] / 2,\n\t\t\t\t\t\tstart: Math.round(1E3 * e) / 1E3,\n\t\t\t\t\t\tend: Math.round(1E3 * h) / 1E3\n\t\t\t\t\t};\n\t\t\t\t\tl = (h + e) / 2;\n\t\t\t\t\tl &gt; 1.5 * Math.PI ? l -= 2 * Math.PI : l &lt; -Math.PI / 2 &amp;&amp; (l += 2 * Math.PI);\n\t\t\t\t\tA.slicedTranslation = {\n\t\t\t\t\t\ttranslateX: Math.round(Math.cos(l) * f),\n\t\t\t\t\t\ttranslateY: Math.round(Math.sin(l) * f)\n\t\t\t\t\t};\n\t\t\t\t\te = Math.cos(l) * a[2] / 2;\n\t\t\t\t\th = Math.sin(l) * a[2] / 2;\n\t\t\t\t\tA.tooltipPos = [a[0] + .7 * e, a[1] + .7 * h];\n\t\t\t\t\tA.half = l &lt; -Math.PI / 2 || l &gt; Math.PI / 2 ? 1 : 0;\n\t\t\t\t\tA.angle = l;\n\t\t\t\t\tk = Math.min(k, p / 5);\n\t\t\t\t\tA.labelPos = [a[0] + e + Math.cos(l) * p, a[1] + h + Math.sin(l) * p, a[0] + e + Math.cos(l) * k, a[1] + h + Math.sin(l) *\n\t\t\t\t\t\tk, a[0] + e, a[1] + h, 0 &gt; p ? \"center\" : A.half ? \"right\" : \"left\", l\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdrawGraph: null,\n\t\t\tdrawPoints: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\td = a.chart.renderer,\n\t\t\t\t\tf, g, k, e, h = a.options.shadow;\n\t\t\t\th &amp;&amp; !a.shadowGroup &amp;&amp; (a.shadowGroup = d.g(\"shadow\").add(a.group));\n\t\t\t\tF(a.points, function(b) {\n\t\t\t\t\tif (null !== b.y) {\n\t\t\t\t\t\tg = b.graphic;\n\t\t\t\t\t\te = b.shapeArgs;\n\t\t\t\t\t\tf = b.sliced ? b.slicedTranslation : {};\n\t\t\t\t\t\tvar l = b.shadowGroup;\n\t\t\t\t\t\th &amp;&amp; !l &amp;&amp; (l = b.shadowGroup = d.g(\"shadow\").add(a.shadowGroup));\n\t\t\t\t\t\tl &amp;&amp; l.attr(f);\n\t\t\t\t\t\tk = a.pointAttribs(b, b.selected &amp;&amp; \"select\");\n\t\t\t\t\t\tg ? g.setRadialReference(a.center).attr(k).animate(H(e, f)) : (b.graphic =\n\t\t\t\t\t\t\tg = d[b.shapeType](e).addClass(b.getClassName()).setRadialReference(a.center).attr(f).add(a.group), b.visible || g.attr({\n\t\t\t\t\t\t\t\tvisibility: \"hidden\"\n\t\t\t\t\t\t\t}), g.attr(k).attr({\n\t\t\t\t\t\t\t\t\"stroke-linejoin\": \"round\"\n\t\t\t\t\t\t\t}).shadow(h, l))\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tsearchPoint: d,\n\t\t\tsortByAngle: function(a, d) {\n\t\t\t\ta.sort(function(a, b) {\n\t\t\t\t\treturn void 0 !== a.angle &amp;&amp; (b.angle - a.angle) * d\n\t\t\t\t})\n\t\t\t},\n\t\t\tdrawLegendSymbol: a.LegendSymbolMixin.drawRectangle,\n\t\t\tgetCenter: a.CenteredSeriesMixin.getCenter,\n\t\t\tgetSymbol: d\n\t\t}, {\n\t\t\tinit: function() {\n\t\t\t\tv.prototype.init.apply(this, arguments);\n\t\t\t\tvar a = this,\n\t\t\t\t\td;\n\t\t\t\ta.name = g(a.name, \"Slice\");\n\t\t\t\td = function(b) {\n\t\t\t\t\ta.slice(\"select\" === b.type)\n\t\t\t\t};\n\t\t\t\tE(a, \"select\", d);\n\t\t\t\tE(a, \"unselect\", d);\n\t\t\t\treturn a\n\t\t\t},\n\t\t\tsetVisible: function(a, d) {\n\t\t\t\tvar b = this,\n\t\t\t\t\tf = b.series,\n\t\t\t\t\tk = f.chart,\n\t\t\t\t\te = f.options.ignoreHiddenPoint;\n\t\t\t\td = g(d, e);\n\t\t\t\ta !== b.visible &amp;&amp; (b.visible = b.options.visible = a = void 0 === a ? !b.visible : a, f.options.data[p(b, f.data)] = b.options, F([\"graphic\", \"dataLabel\", \"connector\", \"shadowGroup\"], function(e) {\n\t\t\t\t\tif (b[e]) b[e][a ? \"show\" : \"hide\"](!0)\n\t\t\t\t}), b.legendItem &amp;&amp; k.legend.colorizeItem(b, a), a || \"hover\" !== b.state || b.setState(\"\"), e &amp;&amp; (f.isDirty = !0), d &amp;&amp; k.redraw())\n\t\t\t},\n\t\t\tslice: function(a, d, l) {\n\t\t\t\tvar b = this.series;\n\t\t\t\tf(l, b.chart);\n\t\t\t\tg(d, !0);\n\t\t\t\tthis.sliced = this.options.sliced = a = A(a) ? a : !this.sliced;\n\t\t\t\tb.options.data[p(this, b.data)] = this.options;\n\t\t\t\ta = a ? this.slicedTranslation : {\n\t\t\t\t\ttranslateX: 0,\n\t\t\t\t\ttranslateY: 0\n\t\t\t\t};\n\t\t\t\tthis.graphic.animate(a);\n\t\t\t\tthis.shadowGroup &amp;&amp; this.shadowGroup.animate(a)\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\tvar b = this.shapeArgs;\n\t\t\t\treturn this.sliced || !this.visible ? [] : this.series.chart.renderer.symbols.arc(b.x, b.y, b.r + a, b.r + a, {\n\t\t\t\t\tinnerR: this.shapeArgs.r,\n\t\t\t\t\tstart: b.start,\n\t\t\t\t\tend: b.end\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E =\n\t\t\ta.addEvent,\n\t\t\tA = a.arrayMax,\n\t\t\tF = a.defined,\n\t\t\tH = a.each,\n\t\t\tp = a.extend,\n\t\t\td = a.format,\n\t\t\tg = a.map,\n\t\t\tv = a.merge,\n\t\t\tl = a.noop,\n\t\t\tr = a.pick,\n\t\t\tf = a.relativeLength,\n\t\t\tb = a.Series,\n\t\t\tn = a.seriesTypes,\n\t\t\tw = a.stableSort;\n\t\ta.distribute = function(a, b) {\n\t\t\tfunction e(a, b) {\n\t\t\t\treturn a.target - b.target\n\t\t\t}\n\t\t\tvar d, f = !0,\n\t\t\t\tk = a,\n\t\t\t\tc = [],\n\t\t\t\tl;\n\t\t\tl = 0;\n\t\t\tfor (d = a.length; d--;) l += a[d].size;\n\t\t\tif (l &gt; b) {\n\t\t\t\tw(a, function(a, b) {\n\t\t\t\t\treturn (b.rank || 0) - (a.rank || 0)\n\t\t\t\t});\n\t\t\t\tfor (l = d = 0; l &lt;= b;) l += a[d].size, d++;\n\t\t\t\tc = a.splice(d - 1, a.length)\n\t\t\t}\n\t\t\tw(a, e);\n\t\t\tfor (a = g(a, function(a) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsize: a.size,\n\t\t\t\t\t\ttargets: [a.target]\n\t\t\t\t\t}\n\t\t\t\t}); f;) {\n\t\t\t\tfor (d = a.length; d--;) f =\n\t\t\t\t\ta[d], l = (Math.min.apply(0, f.targets) + Math.max.apply(0, f.targets)) / 2, f.pos = Math.min(Math.max(0, l - f.size / 2), b - f.size);\n\t\t\t\td = a.length;\n\t\t\t\tfor (f = !1; d--;) 0 &lt; d &amp;&amp; a[d - 1].pos + a[d - 1].size &gt; a[d].pos &amp;&amp; (a[d - 1].size += a[d].size, a[d - 1].targets = a[d - 1].targets.concat(a[d].targets), a[d - 1].pos + a[d - 1].size &gt; b &amp;&amp; (a[d - 1].pos = b - a[d - 1].size), a.splice(d, 1), f = !0)\n\t\t\t}\n\t\t\td = 0;\n\t\t\tH(a, function(a) {\n\t\t\t\tvar b = 0;\n\t\t\t\tH(a.targets, function() {\n\t\t\t\t\tk[d].pos = a.pos + b;\n\t\t\t\t\tb += k[d].size;\n\t\t\t\t\td++\n\t\t\t\t})\n\t\t\t});\n\t\t\tk.push.apply(k, c);\n\t\t\tw(k, e)\n\t\t};\n\t\tb.prototype.drawDataLabels = function() {\n\t\t\tvar a = this,\n\t\t\t\tb = a.options,\n\t\t\t\te = b.dataLabels,\n\t\t\t\tf = a.points,\n\t\t\t\tg, l, c = a.hasRendered || 0,\n\t\t\t\tq, n, w = r(e.defer, !0),\n\t\t\t\tI = a.chart.renderer;\n\t\t\tif (e.enabled || a._hasPointLabels) a.dlProcessOptions &amp;&amp; a.dlProcessOptions(e), n = a.plotGroup(\"dataLabelsGroup\", \"data-labels\", w &amp;&amp; !c ? \"hidden\" : \"visible\", e.zIndex || 6), w &amp;&amp; (n.attr({\n\t\t\t\topacity: +c\n\t\t\t}), c || E(a, \"afterAnimate\", function() {\n\t\t\t\ta.visible &amp;&amp; n.show(!0);\n\t\t\t\tn[b.animation ? \"animate\" : \"attr\"]({\n\t\t\t\t\topacity: 1\n\t\t\t\t}, {\n\t\t\t\t\tduration: 200\n\t\t\t\t})\n\t\t\t})), l = e, H(f, function(c) {\n\t\t\t\tvar f, h = c.dataLabel,\n\t\t\t\t\tk, u, m = c.connector,\n\t\t\t\t\tt = !0,\n\t\t\t\t\tx, w = {};\n\t\t\t\tg = c.dlOptions || c.options &amp;&amp; c.options.dataLabels;\n\t\t\t\tf = r(g &amp;&amp; g.enabled, l.enabled) &amp;&amp; null !== c.y;\n\t\t\t\tif (h &amp;&amp; !f) c.dataLabel = h.destroy();\n\t\t\t\telse if (f) {\n\t\t\t\t\te = v(l, g);\n\t\t\t\t\tx = e.style;\n\t\t\t\t\tf = e.rotation;\n\t\t\t\t\tk = c.getLabelConfig();\n\t\t\t\t\tq = e.format ? d(e.format, k) : e.formatter.call(k, e);\n\t\t\t\t\tx.color = r(e.color, x.color, a.color, \"#000000\");\n\t\t\t\t\tif (h) F(q) ? (h.attr({\n\t\t\t\t\t\ttext: q\n\t\t\t\t\t}), t = !1) : (c.dataLabel = h = h.destroy(), m &amp;&amp; (c.connector = m.destroy()));\n\t\t\t\t\telse if (F(q)) {\n\t\t\t\t\t\th = {\n\t\t\t\t\t\t\tfill: e.backgroundColor,\n\t\t\t\t\t\t\tstroke: e.borderColor,\n\t\t\t\t\t\t\t\"stroke-width\": e.borderWidth,\n\t\t\t\t\t\t\tr: e.borderRadius || 0,\n\t\t\t\t\t\t\trotation: f,\n\t\t\t\t\t\t\tpadding: e.padding,\n\t\t\t\t\t\t\tzIndex: 1\n\t\t\t\t\t\t};\n\t\t\t\t\t\t\"contrast\" === x.color &amp;&amp; (w.color = e.inside ||\n\t\t\t\t\t\t\t0 &gt; e.distance || b.stacking ? I.getContrast(c.color || a.color) : \"#000000\");\n\t\t\t\t\t\tb.cursor &amp;&amp; (w.cursor = b.cursor);\n\t\t\t\t\t\tfor (u in h) void 0 === h[u] &amp;&amp; delete h[u];\n\t\t\t\t\t\th = c.dataLabel = I[f ? \"text\" : \"label\"](q, 0, -9999, e.shape, null, null, e.useHTML, null, \"data-label\").attr(h);\n\t\t\t\t\t\th.addClass(\"highcharts-data-label-color-\" + c.colorIndex + \" \" + (e.className || \"\") + (e.useHTML ? \"highcharts-tracker\" : \"\"));\n\t\t\t\t\t\th.css(p(x, w));\n\t\t\t\t\t\th.add(n);\n\t\t\t\t\t\th.shadow(e.shadow)\n\t\t\t\t\t}\n\t\t\t\t\th &amp;&amp; a.alignDataLabel(c, h, e, null, t)\n\t\t\t\t}\n\t\t\t})\n\t\t};\n\t\tb.prototype.alignDataLabel = function(a, b, e, d, f) {\n\t\t\tvar g = this.chart,\n\t\t\t\tc = g.inverted,\n\t\t\t\th = r(a.plotX, -9999),\n\t\t\t\tk = r(a.plotY, -9999),\n\t\t\t\tl = b.getBBox(),\n\t\t\t\tn, t = e.rotation,\n\t\t\t\tv = e.align,\n\t\t\t\tw = this.visible &amp;&amp; (a.series.forceDL || g.isInsidePlot(h, Math.round(k), c) || d &amp;&amp; g.isInsidePlot(h, c ? d.x + 1 : d.y + d.height - 1, c)),\n\t\t\t\tA = \"justify\" === r(e.overflow, \"justify\");\n\t\t\tw &amp;&amp; (n = e.style.fontSize, n = g.renderer.fontMetrics(n, b).b, d = p({\n\t\t\t\tx: c ? g.plotWidth - k : h,\n\t\t\t\ty: Math.round(c ? g.plotHeight - h : k),\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}, d), p(e, {\n\t\t\t\twidth: l.width,\n\t\t\t\theight: l.height\n\t\t\t}), t ? (A = !1, c = g.renderer.rotCorr(n, t), c = {\n\t\t\t\tx: d.x + e.x + d.width / 2 + c.x,\n\t\t\t\ty: d.y + e.y + {\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tmiddle: .5,\n\t\t\t\t\t\tbottom: 1\n\t\t\t\t\t}[e.verticalAlign] *\n\t\t\t\t\td.height\n\t\t\t}, b[f ? \"attr\" : \"animate\"](c).attr({\n\t\t\t\talign: v\n\t\t\t}), h = (t + 720) % 360, h = 180 &lt; h &amp;&amp; 360 &gt; h, \"left\" === v ? c.y -= h ? l.height : 0 : \"center\" === v ? (c.x -= l.width / 2, c.y -= l.height / 2) : \"right\" === v &amp;&amp; (c.x -= l.width, c.y -= h ? 0 : l.height)) : (b.align(e, null, d), c = b.alignAttr), A ? this.justifyDataLabel(b, e, c, l, d, f) : r(e.crop, !0) &amp;&amp; (w = g.isInsidePlot(c.x, c.y) &amp;&amp; g.isInsidePlot(c.x + l.width, c.y + l.height)), e.shape &amp;&amp; !t &amp;&amp; b.attr({\n\t\t\t\tanchorX: a.plotX,\n\t\t\t\tanchorY: a.plotY\n\t\t\t}));\n\t\t\tw || (b.attr({\n\t\t\t\ty: -9999\n\t\t\t}), b.placed = !1)\n\t\t};\n\t\tb.prototype.justifyDataLabel = function(a, b, e, d, f, g) {\n\t\t\tvar c =\n\t\t\t\tthis.chart,\n\t\t\t\th = b.align,\n\t\t\t\tk = b.verticalAlign,\n\t\t\t\tl, n, u = a.box ? 0 : a.padding || 0;\n\t\t\tl = e.x + u;\n\t\t\t0 &gt; l &amp;&amp; (\"right\" === h ? b.align = \"left\" : b.x = -l, n = !0);\n\t\t\tl = e.x + d.width - u;\n\t\t\tl &gt; c.plotWidth &amp;&amp; (\"left\" === h ? b.align = \"right\" : b.x = c.plotWidth - l, n = !0);\n\t\t\tl = e.y + u;\n\t\t\t0 &gt; l &amp;&amp; (\"bottom\" === k ? b.verticalAlign = \"top\" : b.y = -l, n = !0);\n\t\t\tl = e.y + d.height - u;\n\t\t\tl &gt; c.plotHeight &amp;&amp; (\"top\" === k ? b.verticalAlign = \"bottom\" : b.y = c.plotHeight - l, n = !0);\n\t\t\tn &amp;&amp; (a.placed = !g, a.align(b, null, f))\n\t\t};\n\t\tn.pie &amp;&amp; (n.pie.prototype.drawDataLabels = function() {\n\t\t\tvar d = this,\n\t\t\t\tf = d.data,\n\t\t\t\te, h = d.chart,\n\t\t\t\tl = d.options.dataLabels,\n\t\t\t\tn =\n\t\t\t\tr(l.connectorPadding, 10),\n\t\t\t\tc = r(l.connectorWidth, 1),\n\t\t\t\tq = h.plotWidth,\n\t\t\t\tp = h.plotHeight,\n\t\t\t\tv, w = l.distance,\n\t\t\t\tE = d.center,\n\t\t\t\tD = E[2] / 2,\n\t\t\t\tG = E[1],\n\t\t\t\tF = 0 &lt; w,\n\t\t\t\tN, m, z, O, M = [\n\t\t\t\t\t[],\n\t\t\t\t\t[]\n\t\t\t\t],\n\t\t\t\ty, B, Q, R, S = [0, 0, 0, 0];\n\t\t\td.visible &amp;&amp; (l.enabled || d._hasPointLabels) &amp;&amp; (b.prototype.drawDataLabels.apply(d), H(f, function(a) {\n\t\t\t\ta.dataLabel &amp;&amp; a.visible &amp;&amp; (M[a.half].push(a), a.dataLabel._pos = null)\n\t\t\t}), H(M, function(b, c) {\n\t\t\t\tvar f, k, u = b.length,\n\t\t\t\t\tr, t, v;\n\t\t\t\tif (u)\n\t\t\t\t\tfor (d.sortByAngle(b, c - .5), 0 &lt; w &amp;&amp; (f = Math.max(0, G - D - w), k = Math.min(G + D + w, h.plotHeight), r = g(b, function(a) {\n\t\t\t\t\t\t\tif (a.dataLabel) return v =\n\t\t\t\t\t\t\t\ta.dataLabel.getBBox().height || 21, {\n\t\t\t\t\t\t\t\t\ttarget: a.labelPos[1] - f + v / 2,\n\t\t\t\t\t\t\t\t\tsize: v,\n\t\t\t\t\t\t\t\t\trank: a.y\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}), a.distribute(r, k + v - f)), R = 0; R &lt; u; R++) e = b[R], z = e.labelPos, N = e.dataLabel, Q = !1 === e.visible ? \"hidden\" : \"inherit\", t = z[1], r ? void 0 === r[R].pos ? Q = \"hidden\" : (O = r[R].size, B = f + r[R].pos) : B = t, y = l.justify ? E[0] + (c ? -1 : 1) * (D + w) : d.getX(B &lt; f + 2 || B &gt; k - 2 ? t : B, c), N._attr = {\n\t\t\t\t\t\tvisibility: Q,\n\t\t\t\t\t\talign: z[6]\n\t\t\t\t\t}, N._pos = {\n\t\t\t\t\t\tx: y + l.x + ({\n\t\t\t\t\t\t\tleft: n,\n\t\t\t\t\t\t\tright: -n\n\t\t\t\t\t\t}[z[6]] || 0),\n\t\t\t\t\t\ty: B + l.y - 10\n\t\t\t\t\t}, z.x = y, z.y = B, null === d.options.size &amp;&amp; (m = N.width, y - m &lt; n ? S[3] = Math.max(Math.round(m - y + n), S[3]) : y + m &gt; q - n &amp;&amp;\n\t\t\t\t\t\t(S[1] = Math.max(Math.round(y + m - q + n), S[1])), 0 &gt; B - O / 2 ? S[0] = Math.max(Math.round(-B + O / 2), S[0]) : B + O / 2 &gt; p &amp;&amp; (S[2] = Math.max(Math.round(B + O / 2 - p), S[2])))\n\t\t\t}), 0 === A(S) || this.verifyDataLabelOverflow(S)) &amp;&amp; (this.placeDataLabels(), F &amp;&amp; c &amp;&amp; H(this.points, function(a) {\n\t\t\t\tvar b;\n\t\t\t\tv = a.connector;\n\t\t\t\tif ((N = a.dataLabel) &amp;&amp; N._pos &amp;&amp; a.visible) {\n\t\t\t\t\tQ = N._attr.visibility;\n\t\t\t\t\tif (b = !v) a.connector = v = h.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\" + a.colorIndex).add(d.dataLabelsGroup), v.attr({\n\t\t\t\t\t\t\"stroke-width\": c,\n\t\t\t\t\t\tstroke: l.connectorColor ||\n\t\t\t\t\t\t\ta.color || \"#666666\"\n\t\t\t\t\t});\n\t\t\t\t\tv[b ? \"attr\" : \"animate\"]({\n\t\t\t\t\t\td: d.connectorPath(a.labelPos)\n\t\t\t\t\t});\n\t\t\t\t\tv.attr(\"visibility\", Q)\n\t\t\t\t} else v &amp;&amp; (a.connector = v.destroy())\n\t\t\t}))\n\t\t}, n.pie.prototype.connectorPath = function(a) {\n\t\t\tvar b = a.x,\n\t\t\t\td = a.y;\n\t\t\treturn r(this.options.dataLabels.softConnector, !0) ? [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"C\", b, d, 2 * a[2] - a[4], 2 * a[3] - a[5], a[2], a[3], \"L\", a[4], a[5]] : [\"M\", b + (\"left\" === a[6] ? 5 : -5), d, \"L\", a[2], a[3], \"L\", a[4], a[5]]\n\t\t}, n.pie.prototype.placeDataLabels = function() {\n\t\t\tH(this.points, function(a) {\n\t\t\t\tvar b = a.dataLabel;\n\t\t\t\tb &amp;&amp; a.visible &amp;&amp; ((a = b._pos) ?\n\t\t\t\t\t(b.attr(b._attr), b[b.moved ? \"animate\" : \"attr\"](a), b.moved = !0) : b &amp;&amp; b.attr({\n\t\t\t\t\t\ty: -9999\n\t\t\t\t\t}))\n\t\t\t})\n\t\t}, n.pie.prototype.alignDataLabel = l, n.pie.prototype.verifyDataLabelOverflow = function(a) {\n\t\t\tvar b = this.center,\n\t\t\t\td = this.options,\n\t\t\t\tg = d.center,\n\t\t\t\tl = d.minSize || 80,\n\t\t\t\tn, c;\n\t\t\tnull !== g[0] ? n = Math.max(b[2] - Math.max(a[1], a[3]), l) : (n = Math.max(b[2] - a[1] - a[3], l), b[0] += (a[3] - a[1]) / 2);\n\t\t\tnull !== g[1] ? n = Math.max(Math.min(n, b[2] - Math.max(a[0], a[2])), l) : (n = Math.max(Math.min(n, b[2] - a[0] - a[2]), l), b[1] += (a[0] - a[2]) / 2);\n\t\t\tn &lt; b[2] ? (b[2] = n, b[3] = Math.min(f(d.innerSize ||\n\t\t\t\t0, n), n), this.translate(b), this.drawDataLabels &amp;&amp; this.drawDataLabels()) : c = !0;\n\t\t\treturn c\n\t\t});\n\t\tn.column &amp;&amp; (n.column.prototype.alignDataLabel = function(a, d, e, f, g) {\n\t\t\tvar h = this.chart.inverted,\n\t\t\t\tc = a.series,\n\t\t\t\tk = a.dlBox || a.shapeArgs,\n\t\t\t\tl = r(a.below, a.plotY &gt; r(this.translatedThreshold, c.yAxis.len)),\n\t\t\t\tn = r(e.inside, !!this.options.stacking);\n\t\t\tk &amp;&amp; (f = v(k), 0 &gt; f.y &amp;&amp; (f.height += f.y, f.y = 0), k = f.y + f.height - c.yAxis.len, 0 &lt; k &amp;&amp; (f.height -= k), h &amp;&amp; (f = {\n\t\t\t\tx: c.yAxis.len - f.y - f.height,\n\t\t\t\ty: c.xAxis.len - f.x - f.width,\n\t\t\t\twidth: f.height,\n\t\t\t\theight: f.width\n\t\t\t}), n || (h ? (f.x += l ?\n\t\t\t\t0 : f.width, f.width = 0) : (f.y += l ? f.height : 0, f.height = 0)));\n\t\t\te.align = r(e.align, !h || n ? \"center\" : l ? \"right\" : \"left\");\n\t\t\te.verticalAlign = r(e.verticalAlign, h || n ? \"middle\" : l ? \"top\" : \"bottom\");\n\t\t\tb.prototype.alignDataLabel.call(this, a, d, e, f, g)\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.pick,\n\t\t\tH = a.addEvent;\n\t\tE.prototype.callbacks.push(function(a) {\n\t\t\tfunction d() {\n\t\t\t\tvar d = [];\n\t\t\t\tA(a.series, function(a) {\n\t\t\t\t\tvar g = a.options.dataLabels,\n\t\t\t\t\t\tp = a.dataLabelCollections || [\"dataLabel\"];\n\t\t\t\t\t(g.enabled || a._hasPointLabels) &amp;&amp; !g.allowOverlap &amp;&amp; a.visible &amp;&amp; A(p, function(f) {\n\t\t\t\t\t\tA(a.points,\n\t\t\t\t\t\t\tfunction(a) {\n\t\t\t\t\t\t\t\ta[f] &amp;&amp; (a[f].labelrank = F(a.labelrank, a.shapeArgs &amp;&amp; a.shapeArgs.height), d.push(a[f]))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\ta.hideOverlappingLabels(d)\n\t\t\t}\n\t\t\td();\n\t\t\tH(a, \"redraw\", d)\n\t\t});\n\t\tE.prototype.hideOverlappingLabels = function(a) {\n\t\t\tvar d = a.length,\n\t\t\t\tg, p, l, r, f, b, n, w, t, k = function(a, b, d, f, c, g, k, l) {\n\t\t\t\t\treturn !(c &gt; a + d || c + k &lt; a || g &gt; b + f || g + l &lt; b)\n\t\t\t\t};\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tif (g = a[p]) g.oldOpacity = g.opacity, g.newOpacity = 1;\n\t\t\ta.sort(function(a, b) {\n\t\t\t\treturn (b.labelrank || 0) - (a.labelrank || 0)\n\t\t\t});\n\t\t\tfor (p = 0; p &lt; d; p++)\n\t\t\t\tfor (l = a[p], g = p + 1; g &lt; d; ++g)\n\t\t\t\t\tif (r = a[g], l &amp;&amp; r &amp;&amp; l.placed &amp;&amp; r.placed &amp;&amp; 0 !==\n\t\t\t\t\t\tl.newOpacity &amp;&amp; 0 !== r.newOpacity &amp;&amp; (f = l.alignAttr, b = r.alignAttr, n = l.parentGroup, w = r.parentGroup, t = 2 * (l.box ? 0 : l.padding), f = k(f.x + n.translateX, f.y + n.translateY, l.width - t, l.height - t, b.x + w.translateX, b.y + w.translateY, r.width - t, r.height - t)))(l.labelrank &lt; r.labelrank ? l : r).newOpacity = 0;\n\t\t\tA(a, function(a) {\n\t\t\t\tvar b, d;\n\t\t\t\ta &amp;&amp; (d = a.newOpacity, a.oldOpacity !== d &amp;&amp; a.placed &amp;&amp; (d ? a.show(!0) : b = function() {\n\t\t\t\t\ta.hide()\n\t\t\t\t}, a.alignAttr.opacity = d, a[a.isOld ? \"animate\" : \"attr\"](a.alignAttr, null, b)), a.isOld = !0)\n\t\t\t})\n\t\t}\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.addEvent,\n\t\t\tA = a.Chart,\n\t\t\tF = a.createElement,\n\t\t\tH = a.css,\n\t\t\tp = a.defaultOptions,\n\t\t\td = a.defaultPlotOptions,\n\t\t\tg = a.each,\n\t\t\tv = a.extend,\n\t\t\tl = a.fireEvent,\n\t\t\tr = a.hasTouch,\n\t\t\tf = a.inArray,\n\t\t\tb = a.isObject,\n\t\t\tn = a.Legend,\n\t\t\tw = a.merge,\n\t\t\tt = a.pick,\n\t\t\tk = a.Point,\n\t\t\te = a.Series,\n\t\t\th = a.seriesTypes,\n\t\t\tC = a.svg;\n\t\ta = a.TrackerMixin = {\n\t\t\tdrawTrackerPoint: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.chart,\n\t\t\t\t\td = b.pointer,\n\t\t\t\t\te = function(a) {\n\t\t\t\t\t\tfor (var c = a.target, d; c &amp;&amp; !d;) d = c.point, c = c.parentNode;\n\t\t\t\t\t\tif (void 0 !== d &amp;&amp; d !== b.hoverPoint) d.onMouseOver(a)\n\t\t\t\t\t};\n\t\t\t\tg(a.points, function(a) {\n\t\t\t\t\ta.graphic &amp;&amp; (a.graphic.element.point = a);\n\t\t\t\t\ta.dataLabel &amp;&amp; (a.dataLabel.div ?\n\t\t\t\t\t\ta.dataLabel.div.point = a : a.dataLabel.element.point = a)\n\t\t\t\t});\n\t\t\t\ta._hasTracking || (g(a.trackerGroups, function(b) {\n\t\t\t\t\tif (a[b]) {\n\t\t\t\t\t\ta[b].addClass(\"highcharts-tracker\").on(\"mouseover\", e).on(\"mouseout\", function(a) {\n\t\t\t\t\t\t\td.onTrackerMouseOut(a)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (r) a[b].on(\"touchstart\", e);\n\t\t\t\t\t\ta.options.cursor &amp;&amp; a[b].css(H).css({\n\t\t\t\t\t\t\tcursor: a.options.cursor\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}), a._hasTracking = !0)\n\t\t\t},\n\t\t\tdrawTrackerGraph: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = a.options,\n\t\t\t\t\td = b.trackByArea,\n\t\t\t\t\te = [].concat(d ? a.areaPath : a.graphPath),\n\t\t\t\t\tf = e.length,\n\t\t\t\t\th = a.chart,\n\t\t\t\t\tk = h.pointer,\n\t\t\t\t\tl = h.renderer,\n\t\t\t\t\tn = h.options.tooltip.snap,\n\t\t\t\t\tp = a.tracker,\n\t\t\t\t\tt, m = function() {\n\t\t\t\t\t\tif (h.hoverSeries !== a) a.onMouseOver()\n\t\t\t\t\t},\n\t\t\t\t\tv = \"rgba(192,192,192,\" + (C ? .0001 : .002) + \")\";\n\t\t\t\tif (f &amp;&amp; !d)\n\t\t\t\t\tfor (t = f + 1; t--;) \"M\" === e[t] &amp;&amp; e.splice(t + 1, 0, e[t + 1] - n, e[t + 2], \"L\"), (t &amp;&amp; \"M\" === e[t] || t === f) &amp;&amp; e.splice(t, 0, \"L\", e[t - 2] + n, e[t - 1]);\n\t\t\t\tp ? p.attr({\n\t\t\t\t\td: e\n\t\t\t\t}) : a.graph &amp;&amp; (a.tracker = l.path(e).attr({\n\t\t\t\t\t\"stroke-linejoin\": \"round\",\n\t\t\t\t\tvisibility: a.visible ? \"visible\" : \"hidden\",\n\t\t\t\t\tstroke: v,\n\t\t\t\t\tfill: d ? v : \"none\",\n\t\t\t\t\t\"stroke-width\": a.graph.strokeWidth() + (d ? 0 : 2 * n),\n\t\t\t\t\tzIndex: 2\n\t\t\t\t}).add(a.group), g([a.tracker, a.markerGroup], function(a) {\n\t\t\t\t\ta.addClass(\"highcharts-tracker\").on(\"mouseover\",\n\t\t\t\t\t\tm).on(\"mouseout\", function(a) {\n\t\t\t\t\t\tk.onTrackerMouseOut(a)\n\t\t\t\t\t});\n\t\t\t\t\tb.cursor &amp;&amp; a.css({\n\t\t\t\t\t\tcursor: b.cursor\n\t\t\t\t\t});\n\t\t\t\t\tif (r) a.on(\"touchstart\", m)\n\t\t\t\t}))\n\t\t\t}\n\t\t};\n\t\th.column &amp;&amp; (h.column.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.pie &amp;&amp; (h.pie.prototype.drawTracker = a.drawTrackerPoint);\n\t\th.scatter &amp;&amp; (h.scatter.prototype.drawTracker = a.drawTrackerPoint);\n\t\tv(n.prototype, {\n\t\t\tsetItemEvents: function(a, b, d) {\n\t\t\t\tvar c = this,\n\t\t\t\t\te = c.chart,\n\t\t\t\t\tf = \"highcharts-legend-\" + (a.series ? \"point\" : \"series\") + \"-active\";\n\t\t\t\t(d ? b : a.legendGroup).on(\"mouseover\", function() {\n\t\t\t\t\ta.setState(\"hover\");\n\t\t\t\t\te.seriesGroup.addClass(f);\n\t\t\t\t\tb.css(c.options.itemHoverStyle)\n\t\t\t\t}).on(\"mouseout\", function() {\n\t\t\t\t\tb.css(a.visible ? c.itemStyle : c.itemHiddenStyle);\n\t\t\t\t\te.seriesGroup.removeClass(f);\n\t\t\t\t\ta.setState()\n\t\t\t\t}).on(\"click\", function(b) {\n\t\t\t\t\tvar c = function() {\n\t\t\t\t\t\ta.setVisible &amp;&amp; a.setVisible()\n\t\t\t\t\t};\n\t\t\t\t\tb = {\n\t\t\t\t\t\tbrowserEvent: b\n\t\t\t\t\t};\n\t\t\t\t\ta.firePointEvent ? a.firePointEvent(\"legendItemClick\", b, c) : l(a, \"legendItemClick\", b, c)\n\t\t\t\t})\n\t\t\t},\n\t\t\tcreateCheckboxForItem: function(a) {\n\t\t\t\ta.checkbox = F(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: a.selected,\n\t\t\t\t\tdefaultChecked: a.selected\n\t\t\t\t}, this.options.itemCheckboxStyle, this.chart.container);\n\t\t\t\tE(a.checkbox,\n\t\t\t\t\t\"click\",\n\t\t\t\t\tfunction(b) {\n\t\t\t\t\t\tl(a.series || a, \"checkboxClick\", {\n\t\t\t\t\t\t\tchecked: b.target.checked,\n\t\t\t\t\t\t\titem: a\n\t\t\t\t\t\t}, function() {\n\t\t\t\t\t\t\ta.select()\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tp.legend.itemStyle.cursor = \"pointer\";\n\t\tv(A.prototype, {\n\t\t\tshowResetZoom: function() {\n\t\t\t\tvar a = this,\n\t\t\t\t\tb = p.lang,\n\t\t\t\t\td = a.options.chart.resetZoomButton,\n\t\t\t\t\te = d.theme,\n\t\t\t\t\tf = e.states,\n\t\t\t\t\tg = \"chart\" === d.relativeTo ? null : \"plotBox\";\n\t\t\t\tthis.resetZoomButton = a.renderer.button(b.resetZoom, null, null, function() {\n\t\t\t\t\ta.zoomOut()\n\t\t\t\t}, e, f &amp;&amp; f.hover).attr({\n\t\t\t\t\talign: d.position.align,\n\t\t\t\t\ttitle: b.resetZoomTitle\n\t\t\t\t}).addClass(\"highcharts-reset-zoom\").add().align(d.position, !1, g)\n\t\t\t},\n\t\t\tzoomOut: function() {\n\t\t\t\tvar a = this;\n\t\t\t\tl(a, \"selection\", {\n\t\t\t\t\tresetSelection: !0\n\t\t\t\t}, function() {\n\t\t\t\t\ta.zoom()\n\t\t\t\t})\n\t\t\t},\n\t\t\tzoom: function(a) {\n\t\t\t\tvar c, d = this.pointer,\n\t\t\t\t\te = !1,\n\t\t\t\t\tf;\n\t\t\t\t!a || a.resetSelection ? g(this.axes, function(a) {\n\t\t\t\t\tc = a.zoom()\n\t\t\t\t}) : g(a.xAxis.concat(a.yAxis), function(a) {\n\t\t\t\t\tvar b = a.axis;\n\t\t\t\t\td[b.isXAxis ? \"zoomX\" : \"zoomY\"] &amp;&amp; (c = b.zoom(a.min, a.max), b.displayBtn &amp;&amp; (e = !0))\n\t\t\t\t});\n\t\t\t\tf = this.resetZoomButton;\n\t\t\t\te &amp;&amp; !f ? this.showResetZoom() : !e &amp;&amp; b(f) &amp;&amp; (this.resetZoomButton = f.destroy());\n\t\t\t\tc &amp;&amp; this.redraw(t(this.options.chart.animation, a &amp;&amp; a.animation, 100 &gt; this.pointCount))\n\t\t\t},\n\t\t\tpan: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.hoverPoints,\n\t\t\t\t\te;\n\t\t\t\td &amp;&amp; g(d, function(a) {\n\t\t\t\t\ta.setState()\n\t\t\t\t});\n\t\t\t\tg(\"xy\" === b ? [1, 0] : [1], function(b) {\n\t\t\t\t\tb = c[b ? \"xAxis\" : \"yAxis\"][0];\n\t\t\t\t\tvar d = b.horiz,\n\t\t\t\t\t\tf = b.reversed,\n\t\t\t\t\t\tg = a[d ? \"chartX\" : \"chartY\"],\n\t\t\t\t\t\td = d ? \"mouseDownX\" : \"mouseDownY\",\n\t\t\t\t\t\th = c[d],\n\t\t\t\t\t\tk = (b.pointRange || 0) / (f ? -2 : 2),\n\t\t\t\t\t\tl = b.getExtremes(),\n\t\t\t\t\t\tn = b.toValue(h - g, !0) + k,\n\t\t\t\t\t\tk = b.toValue(h + b.len - g, !0) - k,\n\t\t\t\t\t\th = h &gt; g;\n\t\t\t\t\tf &amp;&amp; (h = !h, f = n, n = k, k = f);\n\t\t\t\t\tb.series.length &amp;&amp; (h || n &gt; Math.min(l.dataMin, l.min)) &amp;&amp; (!h || k &lt; Math.max(l.dataMax, l.max)) &amp;&amp; (b.setExtremes(n, k, !1, !1, {\n\t\t\t\t\t\ttrigger: \"pan\"\n\t\t\t\t\t}), e = !0);\n\t\t\t\t\tc[d] = g\n\t\t\t\t});\n\t\t\t\te &amp;&amp; c.redraw(!1);\n\t\t\t\tH(c.container, {\n\t\t\t\t\tcursor: \"move\"\n\t\t\t\t})\n\t\t\t}\n\t\t});\n\t\tv(k.prototype, {\n\t\t\tselect: function(a, b) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.series,\n\t\t\t\t\te = d.chart;\n\t\t\t\ta = t(a, !c.selected);\n\t\t\t\tc.firePointEvent(a ? \"select\" : \"unselect\", {\n\t\t\t\t\taccumulate: b\n\t\t\t\t}, function() {\n\t\t\t\t\tc.selected = c.options.selected = a;\n\t\t\t\t\td.options.data[f(c, d.data)] = c.options;\n\t\t\t\t\tc.setState(a &amp;&amp; \"select\");\n\t\t\t\t\tb || g(e.getSelectedPoints(), function(a) {\n\t\t\t\t\t\ta.selected &amp;&amp; a !== c &amp;&amp; (a.selected = a.options.selected = !1, d.options.data[f(a, d.data)] = a.options, a.setState(\"\"), a.firePointEvent(\"unselect\"))\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t},\n\t\t\tonMouseOver: function(a, b) {\n\t\t\t\tvar c = this.series,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = d.tooltip,\n\t\t\t\t\tf = d.hoverPoint;\n\t\t\t\tif (this.series) {\n\t\t\t\t\tif (!b) {\n\t\t\t\t\t\tif (f &amp;&amp; f !== this) f.onMouseOut();\n\t\t\t\t\t\tif (d.hoverSeries !== c) c.onMouseOver();\n\t\t\t\t\t\td.hoverPoint = this\n\t\t\t\t\t}!e || e.shared &amp;&amp; !c.noSharedTooltip ? e || this.setState(\"hover\") : (this.setState(\"hover\"), e.refresh(this, a));\n\t\t\t\t\tthis.firePointEvent(\"mouseOver\")\n\t\t\t\t}\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.series.chart,\n\t\t\t\t\tb = a.hoverPoints;\n\t\t\t\tthis.firePointEvent(\"mouseOut\");\n\t\t\t\tb &amp;&amp; -1 !== f(this, b) || (this.setState(), a.hoverPoint = null)\n\t\t\t},\n\t\t\timportEvents: function() {\n\t\t\t\tif (!this.hasImportedEvents) {\n\t\t\t\t\tvar a = w(this.series.options.point,\n\t\t\t\t\t\t\tthis.options).events,\n\t\t\t\t\t\tb;\n\t\t\t\t\tthis.events = a;\n\t\t\t\t\tfor (b in a) E(this, b, a[b]);\n\t\t\t\t\tthis.hasImportedEvents = !0\n\t\t\t\t}\n\t\t\t},\n\t\t\tsetState: function(a, b) {\n\t\t\t\tvar c = Math.floor(this.plotX),\n\t\t\t\t\te = this.plotY,\n\t\t\t\t\tf = this.series,\n\t\t\t\t\tg = f.options.states[a] || {},\n\t\t\t\t\th = d[f.type].marker &amp;&amp; f.options.marker,\n\t\t\t\t\tk = h &amp;&amp; !1 === h.enabled,\n\t\t\t\t\tl = h &amp;&amp; h.states &amp;&amp; h.states[a] || {},\n\t\t\t\t\tn = !1 === l.enabled,\n\t\t\t\t\tp = f.stateMarkerGraphic,\n\t\t\t\t\tm = this.marker || {},\n\t\t\t\t\tr = f.chart,\n\t\t\t\t\tu = f.halo,\n\t\t\t\t\tw, y = h &amp;&amp; f.markerAttribs;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (!(a === this.state &amp;&amp; !b || this.selected &amp;&amp; \"select\" !== a || !1 === g.enabled || a &amp;&amp; (n || k &amp;&amp; !1 === l.enabled) || a &amp;&amp; m.states &amp;&amp;\n\t\t\t\t\t\tm.states[a] &amp;&amp; !1 === m.states[a].enabled)) {\n\t\t\t\t\ty &amp;&amp; (w = f.markerAttribs(this, a));\n\t\t\t\t\tif (this.graphic) this.state &amp;&amp; this.graphic.removeClass(\"highcharts-point-\" + this.state), a &amp;&amp; this.graphic.addClass(\"highcharts-point-\" + a), this.graphic.attr(f.pointAttribs(this, a)), w &amp;&amp; this.graphic.animate(w, t(r.options.chart.animation, l.animation, h.animation)), p &amp;&amp; p.hide();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (a &amp;&amp; l) {\n\t\t\t\t\t\t\th = m.symbol || f.symbol;\n\t\t\t\t\t\t\tp &amp;&amp; p.currentSymbol !== h &amp;&amp; (p = p.destroy());\n\t\t\t\t\t\t\tif (p) p[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\t\t\tx: w.x,\n\t\t\t\t\t\t\t\ty: w.y\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\telse h &amp;&amp; (f.stateMarkerGraphic = p = r.renderer.symbol(h,\n\t\t\t\t\t\t\t\tw.x, w.y, w.width, w.height).add(f.markerGroup), p.currentSymbol = h);\n\t\t\t\t\t\t\tp &amp;&amp; p.attr(f.pointAttribs(this, a))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp &amp;&amp; (p[a &amp;&amp; r.isInsidePlot(c, e, r.inverted) ? \"show\" : \"hide\"](), p.element.point = this)\n\t\t\t\t\t}(c = g.halo) &amp;&amp; c.size ? (u || (f.halo = u = r.renderer.path().add(y ? f.markerGroup : f.group)), u[b ? \"animate\" : \"attr\"]({\n\t\t\t\t\t\td: this.haloPath(c.size)\n\t\t\t\t\t}), u.attr({\n\t\t\t\t\t\t\"class\": \"highcharts-halo highcharts-color-\" + t(this.colorIndex, f.colorIndex)\n\t\t\t\t\t}), u.attr(v({\n\t\t\t\t\t\tfill: this.color || f.color,\n\t\t\t\t\t\t\"fill-opacity\": c.opacity,\n\t\t\t\t\t\tzIndex: -1\n\t\t\t\t\t}, c.attributes))) : u &amp;&amp; u.animate({\n\t\t\t\t\t\td: this.haloPath(0)\n\t\t\t\t\t});\n\t\t\t\t\tthis.state = a\n\t\t\t\t}\n\t\t\t},\n\t\t\thaloPath: function(a) {\n\t\t\t\treturn this.series.chart.renderer.symbols.circle(Math.floor(this.plotX) - a, this.plotY - a, 2 * a, 2 * a)\n\t\t\t}\n\t\t});\n\t\tv(e.prototype, {\n\t\t\tonMouseOver: function() {\n\t\t\t\tvar a = this.chart,\n\t\t\t\t\tb = a.hoverSeries;\n\t\t\t\tif (b &amp;&amp; b !== this) b.onMouseOut();\n\t\t\t\tthis.options.events.mouseOver &amp;&amp; l(this, \"mouseOver\");\n\t\t\t\tthis.setState(\"hover\");\n\t\t\t\ta.hoverSeries = this\n\t\t\t},\n\t\t\tonMouseOut: function() {\n\t\t\t\tvar a = this.options,\n\t\t\t\t\tb = this.chart,\n\t\t\t\t\td = b.tooltip,\n\t\t\t\t\te = b.hoverPoint;\n\t\t\t\tb.hoverSeries = null;\n\t\t\t\tif (e) e.onMouseOut();\n\t\t\t\tthis &amp;&amp; a.events.mouseOut &amp;&amp; l(this, \"mouseOut\");\n\t\t\t\t!d || a.stickyTracking ||\n\t\t\t\t\td.shared &amp;&amp; !this.noSharedTooltip || d.hide();\n\t\t\t\tthis.setState()\n\t\t\t},\n\t\t\tsetState: function(a) {\n\t\t\t\tvar b = this,\n\t\t\t\t\td = b.options,\n\t\t\t\t\te = b.graph,\n\t\t\t\t\tf = d.states,\n\t\t\t\t\th = d.lineWidth,\n\t\t\t\t\td = 0;\n\t\t\t\ta = a || \"\";\n\t\t\t\tif (b.state !== a &amp;&amp; (g([b.group, b.markerGroup], function(c) {\n\t\t\t\t\t\tc &amp;&amp; (b.state &amp;&amp; c.removeClass(\"highcharts-series-\" + b.state), a &amp;&amp; c.addClass(\"highcharts-series-\" + a))\n\t\t\t\t\t}), b.state = a, !f[a] || !1 !== f[a].enabled) &amp;&amp; (a &amp;&amp; (h = f[a].lineWidth || h + (f[a].lineWidthPlus || 0)), e &amp;&amp; !e.dashstyle))\n\t\t\t\t\tfor (f = {\n\t\t\t\t\t\t\t\"stroke-width\": h\n\t\t\t\t\t\t}, e.attr(f); b[\"zone-graph-\" + d];) b[\"zone-graph-\" + d].attr(f), d += 1\n\t\t\t},\n\t\t\tsetVisible: function(a,\n\t\t\t\tb) {\n\t\t\t\tvar c = this,\n\t\t\t\t\td = c.chart,\n\t\t\t\t\te = c.legendItem,\n\t\t\t\t\tf, h = d.options.chart.ignoreHiddenSeries,\n\t\t\t\t\tk = c.visible;\n\t\t\t\tf = (c.visible = a = c.options.visible = c.userOptions.visible = void 0 === a ? !k : a) ? \"show\" : \"hide\";\n\t\t\t\tg([\"group\", \"dataLabelsGroup\", \"markerGroup\", \"tracker\", \"tt\"], function(a) {\n\t\t\t\t\tif (c[a]) c[a][f]()\n\t\t\t\t});\n\t\t\t\tif (d.hoverSeries === c || (d.hoverPoint &amp;&amp; d.hoverPoint.series) === c) c.onMouseOut();\n\t\t\t\te &amp;&amp; d.legend.colorizeItem(c, a);\n\t\t\t\tc.isDirty = !0;\n\t\t\t\tc.options.stacking &amp;&amp; g(d.series, function(a) {\n\t\t\t\t\ta.options.stacking &amp;&amp; a.visible &amp;&amp; (a.isDirty = !0)\n\t\t\t\t});\n\t\t\t\tg(c.linkedSeries, function(b) {\n\t\t\t\t\tb.setVisible(a, !1)\n\t\t\t\t});\n\t\t\t\th &amp;&amp; (d.isDirtyBox = !0);\n\t\t\t\t!1 !== b &amp;&amp; d.redraw();\n\t\t\t\tl(c, f)\n\t\t\t},\n\t\t\tshow: function() {\n\t\t\t\tthis.setVisible(!0)\n\t\t\t},\n\t\t\thide: function() {\n\t\t\t\tthis.setVisible(!1)\n\t\t\t},\n\t\t\tselect: function(a) {\n\t\t\t\tthis.selected = a = void 0 === a ? !this.selected : a;\n\t\t\t\tthis.checkbox &amp;&amp; (this.checkbox.checked = a);\n\t\t\t\tl(this, a ? \"select\" : \"unselect\")\n\t\t\t},\n\t\t\tdrawTracker: a.drawTrackerGraph\n\t\t})\n\t})(M);\n\t(function(a) {\n\t\tvar E = a.Chart,\n\t\t\tA = a.each,\n\t\t\tF = a.inArray,\n\t\t\tH = a.isObject,\n\t\t\tp = a.pick,\n\t\t\td = a.splat;\n\t\tE.prototype.setResponsive = function(a) {\n\t\t\tvar d = this.options.responsive;\n\t\t\td &amp;&amp; d.rules &amp;&amp; A(d.rules, function(d) {\n\t\t\t\tthis.matchResponsiveRule(d,\n\t\t\t\t\ta)\n\t\t\t}, this)\n\t\t};\n\t\tE.prototype.matchResponsiveRule = function(d, v) {\n\t\t\tvar g = this.respRules,\n\t\t\t\tr = d.condition,\n\t\t\t\tf;\n\t\t\tf = r.callback || function() {\n\t\t\t\treturn this.chartWidth &lt;= p(r.maxWidth, Number.MAX_VALUE) &amp;&amp; this.chartHeight &lt;= p(r.maxHeight, Number.MAX_VALUE) &amp;&amp; this.chartWidth &gt;= p(r.minWidth, 0) &amp;&amp; this.chartHeight &gt;= p(r.minHeight, 0)\n\t\t\t};\n\t\t\tvoid 0 === d._id &amp;&amp; (d._id = a.uniqueKey());\n\t\t\tf = f.call(this);\n\t\t\t!g[d._id] &amp;&amp; f ? d.chartOptions &amp;&amp; (g[d._id] = this.currentOptions(d.chartOptions), this.update(d.chartOptions, v)) : g[d._id] &amp;&amp; !f &amp;&amp; (this.update(g[d._id], v), delete g[d._id])\n\t\t};\n\t\tE.prototype.currentOptions = function(a) {\n\t\t\tfunction g(a, f, b) {\n\t\t\t\tvar l, p;\n\t\t\t\tfor (l in a)\n\t\t\t\t\tif (-1 &lt; F(l, [\"series\", \"xAxis\", \"yAxis\"]))\n\t\t\t\t\t\tfor (a[l] = d(a[l]), b[l] = [], p = 0; p &lt; a[l].length; p++) b[l][p] = {}, g(a[l][p], f[l][p], b[l][p]);\n\t\t\t\t\telse H(a[l]) ? (b[l] = {}, g(a[l], f[l] || {}, b[l])) : b[l] = f[l] || null\n\t\t\t}\n\t\t\tvar l = {};\n\t\t\tg(a, this.options, l);\n\t\t\treturn l\n\t\t}\n\t})(M);\n\treturn M\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 21:52:54&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5752058bdbd53200f687dfea5e9619f8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Highcharts 5_0_5&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5752058bdbd53200f687dfea5e9619f8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-09 06:09:37&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>e832f3f9dbdf3200b793f2b6ae9619bb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table/>\n<target_name>PE Highcharts 5_0_5</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_6211e40c13d336006749bccf3244b0df</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access/><actions_access>true</actions_access><alter_access>true</alter_access><client_scripts_access>true</client_scripts_access><configuration_access>false</configuration_access><create_access>true</create_access><create_access_controls>false</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Alert Anomaly</label><live_feed_enabled>false</live_feed_enabled><name>em_alert_anomaly</name><number_ref display_value=\"Alert Anomaly\">af26b3c813db36006749bccf3244b01c</number_ref><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2017-06-06 21:51:23</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6211e40c13d336006749bccf3244b0df</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Alert Anomaly</sys_name><sys_package display_value=\"Event Management\" source=\"com.glideapp.itom.snac\">2060244813d336006749bccf3244b04c</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_6211e40c13d336006749bccf3244b0df</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-06-07 13:22:20</sys_updated_on><update_access>true</update_access><user_role/><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"PE Status Alert\">6c32f3f9dbdf3200b793f2b6ae9619b9</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-12 23:34:18</sys_created_on>\n<sys_id>ec32f3f9dbdf3200b793f2b6ae9619ba</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-12 23:34:18</sys_updated_on>\n<table>em_alert_anomaly</table>\n<target_name>Alert Anomaly</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-status-alert/widget/pe-status-alert.u-body-html-template.html",
    "content": "<div ng-class=\"{'recovered': c.alert.state === 'Closed'}\" class=\"status-wrapper\">\n  <div class=\"status-box\">\n    <header class=\"title\">{{c.alert.description}}</header>\n    <div class=\"pill\">\n      {{c.alert.number}} |\n      <span ng-if=\"c.alert.state !== 'Closed'\">{{'Created ' + c.alert.created_on_string}}</span>\n      <span ng-if=\"c.alert.state === 'Closed'\">Closed</span>\n    </div>\n    <div ng-if=\"c.alert.state !== 'Closed'\" class=\"status-row\">\n      <div class=\"status-key\">\n        <sp-widget widget=\"c.probabilityGauge\"></sp-widget>\n      </div>\n      <div class=\"status-detail\">\n        <div>Probability that an outage will occur in</div>\n        <div class=\"spinny\">\n          <div class=\"bouncy1\" style=\"animation-delay: -0.32s;\"></div>\n          <div class=\"bouncy2\" style=\"animation-delay: -0.16s;\"></div>\n          <div class=\"bouncy3\"></div>\n        </div>\n        <div class=\"status-time\">\n          {{c.min_to_eta}} {{c.min_to_eta == 1 ? 'minute' : 'minutes'}}\n        </div>\n      </div>\n    </div>\n    <div ng-if=\"c.alert.state === 'Closed'\" class=\"status-row\">\n      <div class=\"status-key\">\n        <div class=\"big-icon\">\n          <svg class=\"svg-wrapper\">\n            <use xlink:href=\"#check-mark\"></use>\n          </svg>\n        </div>\n      </div>\n      <div class=\"status-detail\">\n        <div class=\"title\"><strong>Outage Prevented</strong></div>\n        <div>There was a {{c.options.probability}}% chance this incident would cause an outage</div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=\"hidden\">\n  <svg version=\"1.1\" id=\"check-mark\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\"\n    y=\"0px\" viewBox=\"0 0 574.6 468\" xml:space=\"preserve\">\n    <g>\n      <path d=\"M0,292.6c-0.1-6.5,2.2-12.1,6.8-16.7c14.9-15,29.8-30,44.9-44.9c10-9.8,24.1-9.4,34.4,0.8c23.4,23.3,46.7,46.6,70,70\n\t\t\tc12.6,12.6,25.7,12.5,38.3-0.1C291.9,204.2,389.5,106.6,487,9c7.3-7.3,15.6-11.1,25.6-7.8c4.1,1.4,8.1,4.1,11.2,7.1\n\t\t\tc14.2,13.8,28.1,27.9,42.2,42c11.4,11.4,11.5,25.1,0.1,36.5C502.9,150,439.7,213.2,376.6,276.3C315.9,337,255.2,397.7,194.5,458.4\n\t\t\tc-12.8,12.8-25.9,12.9-38.6,0.1c-49.1-49.1-98.3-98.3-147.5-147.4C3.3,305.9-0.2,300.1,0,292.6z\" />\n    </g>\n  </svg>\n</div>"
  },
  {
    "path": "pe-status-alert/widget/pe-status-alert.u-client-script.js",
    "content": "function StatusAlertController($filter, $interval) {\n  var c = this;\n  var d = new Date();\n\n  c.$onInit = function() {\n    c.probabilityGauge = c.data.probabilityGauge;\n    getAlertDate();\n    getOutageEta();\n  };\n\n  function getAlertDate() {\n    c.alert = c.data.alert;\n    if (c.alert.created_on) {\n      c.alert.created_on_date = new Date(c.alert.created_on);\n      c.alert.created_on_string = $filter('date')(c.alert.created_on_date, 'short');\n    }\n  }\n\n  function getOutageEta() {\n    var outageEta = new Date(d.getTime() + c.options.outage_eta * 60000);\n    c.min_to_eta = Math.floor((outageEta.getTime() - d.getTime()) / 60000);\n    if (c.min_to_eta < 0) {\n      c.min_to_eta = 0;\n    } else {\n      $interval(function() {\n        c.min_to_eta -= 1;\n      }, 60000, c.min_to_eta);\n    }\n  }\n}"
  },
  {
    "path": "pe-status-alert/widget/pe-status-alert.u-css.scss",
    "content": "$slate: #485563;\n$mango: #fe8a30;\n$orange: #ff6f00;\n$medium-green: #34ba3d;\n$lightish-green-two: #6ce474;\n$text-color: $slate !default;\n$status-alert-color: $orange !default;\n$status-alert-gradient: linear-gradient($mango, $orange) !default;\n$status-recovered-color: $medium-green !default;\n$status-recovered-gradient: linear-gradient($lightish-green-two, $medium-green) !default;\n\n.status-wrapper {\n  margin: -10px -15px 0 -15px;\n}\n\n.status-box {\n  background: $status-alert-gradient;\n  color: #fff;\n  fill: #fff;\n  margin-bottom: 10px;\n  padding: 15px 23px;\n  .title {\n    font-size: 22px;\n    font-weight: 600;\n    margin-bottom: 5px;\n  }\n  .pill {\n    background-color: #fff;\n    color: $status-alert-color;\n    display: inline-block;\n    font-size: 14px;\n    padding: 1px 8px;\n    border-radius: 14px;\n    margin: 5px 0;\n  }\n}\n\n.recovered {\n  .status-box {\n    background: $status-recovered-gradient;\n    .pill {\n      color: $status-recovered-color;\n    }\n  }\n}\n\n.status-row {\n  height: 125px;\n}\n\n.status-key {\n  float: left;\n  width: 140px;\n}\n\n.status-detail {\n  padding-top: 20px;\n  .status-time {\n    display: inline;\n    font-size: 24px;\n  }\n}\n\n.big-icon {\n  margin: 15px auto;\n  height: 100px;\n  width: 100px;\n  text-align: center;\n  border-radius: 50px;\n  border: 10px solid #fff;\n  fill: #fff;\n  .svg-wrapper {\n    position: relative;\n    vertical-align: top;\n    top: 15px;\n    width: 50px;\n    height: 50px;\n  }\n}\n\n// HIGHCHART\n.highcharts-axis,\n.highcharts-axis-labels,\n.highcharts-data-label-box,\n.highcharts-text-outline {\n  visibility: hidden;\n}\n\n// SPINNER\n.spinny {\n  display: inline-block;\n  margin-right: 5px;\n}\n\n.spinny>div {\n  width: 9px;\n  height: 9px;\n  background-color: #fff;\n  border-radius: 100%;\n  display: inline-block;\n  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n  animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n  vertical-align: 10%;\n}\n\n@-webkit-keyframes sk-bouncedelay {\n  0%,\n  80%,\n  100% {\n    -webkit-transform: scale(0)\n  }\n  40% {\n    -webkit-transform: scale(1.0)\n  }\n}\n\n@keyframes sk-bouncedelay {\n  0%,\n  80%,\n  100% {\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n  40% {\n    -webkit-transform: scale(1.0);\n    transform: scale(1.0);\n  }\n}"
  },
  {
    "path": "pe-status-alert/widget/pe-status-alert.u-option-schema.json",
    "content": "[{ \"name\": \"alert_sysid\", \"default_value\": \"\", \"label\": \"Anomaly Alert sys_id\", \"type\": \"string\" }, { \"instructions\": \"in percent\", \"name\": \"probability\", \"label\": \"Probability of outage\", \"type\": \"integer\" }, { \"instructions\": \"as datetime string\", \"name\": \"outage_eta\", \"label\": \"ETA of outage\", \"type\": \"string\" }]"
  },
  {
    "path": "pe-status-alert/widget/pe-status-alert.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.alert_sysid = options.alert_sysid || serverOptions.alert_sysid;\n  options.probability = options.probability || serverOptions.probability || 67;\n  options.outage_eta = options.outage_eta || serverOptions.outage_eta || 30;\n\n  var getAlert = function(rec) {\n    return {\n      sys_id: rec.sys_id.toString(),\n      number: rec.number.toString(),\n      created_on: rec.sys_created_on.toString(),\n      description: rec.description.toString(),\n      state: rec.state.toString()\n    };\n  };\n\n  var alertGR, alert;\n  if (options.alert_sysid) {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    if (alertGR.get(options.alert)) {\n      alert = getAlert(alertGR);\n    }\n  } else {\n    alertGR = new GlideRecord('em_alert_anomaly');\n    alertGR.orderByDesc('sys_created_on');\n    alertGR.query();\n    if (alertGR.next()) {\n      alert = getAlert(alertGR);\n    }\n  }\n  data.alert = alert;\n\n  data.probabilityGauge = $sp.getWidget('pe-solid-gauge', {\n    script_include: 'PEChartData',\n    function_name: 'getData',\n    param1: options.probability,\n    advance: JSON.stringify({\n      options: {\n        title: {\n          text: null\n        },\n        chart: {\n          height: 140,\n          width: 140,\n          backgroundColor: null\n        },\n        pane: {\n          background: {\n            backgroundColor: 'rgba(255,255,255,0.5)',\n            borderColor: null,\n            shape: 'solid',\n            innerRadius: '60%',\n            outerRadius: '100%'\n          }\n        },\n        exporting: {\n          enabled: false\n        },\n        legend: {\n          enabled: false\n        },\n        yAxis: {\n          min: 0,\n          max: 100,\n          tickAmount: 0,\n          tickWidth: 0,\n          stops: [\n            [0, 'rgba(255,255,255,0.5)'],\n            [1, 'rgba(255,255,255,1)']\n          ]\n        },\n        plotOptions: {\n          solidgauge: {\n            dataLabels: {\n              format: '{y}%',\n              color: 'white',\n              style: {\n                fontFamily: '\\'SourceSansPro\\', Helvetica, Arial, sans-serif',\n                fontSize: '24px',\n                fontWeight: '400'\n              },\n              y: -20\n            }\n          }\n        }\n      }\n    })\n  });\n})();"
  },
  {
    "path": "pe-status-card/README.md",
    "content": "# Status Card\n\n## Description\nThis widget can be used to quickly craft a status card with configurable options.\n\n## Screenshots\n![](../images/pe-status-card-1.png)\n\n![](../images/pe-status-card-2.png)\n\n## Additional Information/Notes\n> None\n\n## Installation\nDownload and install update set **[pe-status-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-status-card/pe-status-card.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Used for changing the title in the panel header. | Business Critical Services |\n| `Status Number 1` | Displays the first status integer in the panel body. | 5 |\n| `Status Number 2` | Displays the second status integer in the panel body. | 148 |\n| `Status Number 3` | Displays the third status integer in the panel body. | 78 |\n| `Sub Text 1` | Displays the first sub-text copy. | With Critical Incidents |\n| `Sub Text 2` | Displays the second sub-text copy. | Severe Vulnerabilities |\n| `Sub Text 3` | Displays the third sub-text copy. | Control Effectiveness |\n| `Status Indicator 2` | Provides a choice of status indicators. | warning |\n| `Status Indicator 3` | Provides a choice of status indicators. | normal |\n\n### Status Indicator Choices\n* danger\n* normal\n* warning\n\n## Platform Dependencies\n> None\n\n## Sample Data and Data Structures\n> See 'Configuration' above\n\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-status-color-danger: #ff0050 !default;\n$pe-status-color-normal: #6ee520 !default;\n$pe-status-color-warning: #ffce00 !default;\n$pe-anchor-color: #68acd8 !default;\n```"
  },
  {
    "path": "pe-status-card/pe-status-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-08-09 00:10:32\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Status Card</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>702c083ddbf79b008798ffa31d9619bb</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 00:10:31</sys_created_on>\n<sys_id>35694d79db7b9b008798ffa31d96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 00:10:31</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c4987f7edb95320062e479daae9619bc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category/&gt;&lt;client_script&gt;&lt;![CDATA[function StatusCardController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-anchor-color: #68acd8 !default;&amp;#13;\n$pe-status-color-danger: #ff0050 !default;&amp;#13;\n$pe-status-color-normal: #6ee520 !default;&amp;#13;\n$pe-status-color-warning: #ffce00 !default;&amp;#13;\n&amp;#13;\n.status-card {&amp;#13;\n  .panel-heading {&amp;#13;\n    background-color: #283347;&amp;#13;\n    border-bottom: 0;&amp;#13;\n    color: #fff;&amp;#13;\n    padding: 14px;&amp;#13;\n    text-transform: uppercase;&amp;#13;\n  }&amp;#13;\n  .panel-body {&amp;#13;\n    background-color: #1c2432;&amp;#13;\n    color: #fff;&amp;#13;\n    h4 {&amp;#13;\n      font-size: 24px;&amp;#13;\n    }&amp;#13;\n    .sub-text {&amp;#13;\n      color: $pe-anchor-color;&amp;#13;\n      font-size: 10px;&amp;#13;\n      margin-top: -5px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .status-circle {&amp;#13;\n    border-radius: 50%;&amp;#13;\n    content: '';&amp;#13;\n    height: 10px;&amp;#13;\n    margin-left: 5px;&amp;#13;\n    position: absolute;&amp;#13;\n    top: 23%;&amp;#13;\n    width: 10px;&amp;#13;\n  }&amp;#13;\n  .status-circle-danger {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        @extend .status-circle;&amp;#13;\n        background-color: $pe-status-color-danger;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .status-circle-normal {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        @extend .status-circle;&amp;#13;\n        background-color: $pe-status-color-normal;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .status-circle-warning {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        @extend .status-circle;&amp;#13;\n        background-color: $pe-status-color-warning;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-status-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Status Card&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"name\": \"title\",&amp;#13;\n  \"default_value\": \"Business Critical Services\",&amp;#13;\n  \"label\": \"Title\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"status_number1\",&amp;#13;\n  \"default_value\": \"5\",&amp;#13;\n  \"label\": \"Status Number 1\",&amp;#13;\n  \"type\": \"integer\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"status_number2\",&amp;#13;\n  \"default_value\": \"148\",&amp;#13;\n  \"label\": \"Status Number 2\",&amp;#13;\n  \"type\": \"integer\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"status_number3\",&amp;#13;\n  \"default_value\": \"78\",&amp;#13;\n  \"label\": \"Status Number 3\",&amp;#13;\n  \"type\": \"integer\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"sub_text1\",&amp;#13;\n  \"default_value\": \"With Critical Incidents\",&amp;#13;\n  \"label\": \"Sub Text 1\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"sub_text2\",&amp;#13;\n  \"default_value\": \"Severe Vulnerabilities\",&amp;#13;\n  \"label\": \"Sub Text 2\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"sub_text3\",&amp;#13;\n  \"default_value\": \"Control Effectiveness\",&amp;#13;\n  \"label\": \"Sub Text 3\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"status_indicator2\",&amp;#13;\n  \"default_value\": \"warning\",&amp;#13;\n  \"label\": \"Status Indicator 2\",&amp;#13;\n  \"type\": \"choice\",&amp;#13;\n  \"choices\": [{&amp;#13;\n    \"label\": \"danger\",&amp;#13;\n    \"value\": \"danger\"&amp;#13;\n  }, {&amp;#13;\n    \"label\": \"normal\",&amp;#13;\n    \"value\": \"normal\"&amp;#13;\n  }, {&amp;#13;\n    \"label\": \"warning\",&amp;#13;\n    \"value\": \"warning\"&amp;#13;\n  }]&amp;#13;\n}, {&amp;#13;\n  \"name\": \"status_indicator3\",&amp;#13;\n  \"default_value\": \"normal\",&amp;#13;\n  \"label\": \"Status Indicator 3\",&amp;#13;\n  \"type\": \"choice\",&amp;#13;\n  \"choices\": [{&amp;#13;\n    \"label\": \"danger\",&amp;#13;\n    \"value\": \"danger\"&amp;#13;\n  }, {&amp;#13;\n    \"label\": \"normal\",&amp;#13;\n    \"value\": \"normal\"&amp;#13;\n  }, {&amp;#13;\n    \"label\": \"warning\",&amp;#13;\n    \"value\": \"warning\"&amp;#13;\n  }]&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 16:30:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;c4987f7edb95320062e479daae9619bc&lt;/sys_id&gt;&lt;sys_mod_count&gt;68&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Status Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c4987f7edb95320062e479daae9619bc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-08-08 19:59:44&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row status-card\"&gt;\n  &lt;div class=\"col-xs-12\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;{{::options.title}}&lt;/div&gt;\n      &lt;div class=\"panel-body\"&gt;\n        &lt;div class=\"row text-center\"&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;h4&gt;{{::options.status_number1}}&lt;/h4&gt;\n            &lt;p class=\"sub-text\"&gt;{{::options.sub_text1}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;div class=\"status-circle-{{::options.status_indicator2}}\"&gt;\n              &lt;h4&gt;{{::options.status_number2}}&lt;/h4&gt;\n            &lt;/div&gt;\n            &lt;p class=\"sub-text\"&gt;{{::options.sub_text2}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;div class=\"status-circle-{{::options.status_indicator3}}\"&gt;\n              &lt;h4&gt;{{::options.status_number3}}%&lt;/h4&gt;\n            &lt;/div&gt;\n            &lt;p class=\"sub-text\"&gt;{{::options.sub_text3}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1309465186</payload_hash>\n<remote_update_set display_value=\"PE Status Card\">35694d79db7b9b008798ffa31d96193e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-08-09 00:10:31</sys_created_on>\n<sys_id>79694d79db7b9b008798ffa31d96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1651b1faa7b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-08-09 00:10:31</sys_updated_on>\n<table/>\n<target_name>PE Status Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>5400d0fdfbf79b001a101dde474109d2</update_guid>\n<update_guid_history>5400d0fdfbf79b001a101dde474109d2:-1309465186,acef44bd0af79b003dbf0c2f60c58252:-496887886,d32d487d2bf79b0053f80d99fccfb1d2:1104682017,561d847db3f79b001d36ee7a45439659:-630459129,30ac047d02f79b001e03aacbd03c322f:-476415683,-1715164354:-1715164354,1036181170:1036181170,-1715164354:-1715164354,-1917219260:-1917219260</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-status-card/widget/pe-status-card.u-body-html-template.html",
    "content": "<div class=\"row status-card\">\n  <div class=\"col-xs-12\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading\">{{::options.title}}</div>\n      <div class=\"panel-body\">\n        <div class=\"row text-center\">\n          <div class=\"col-xs-4\">\n            <h4>{{::options.status_number1}}</h4>\n            <p class=\"sub-text\">{{::options.sub_text1}}</p>\n          </div>\n          <div class=\"col-xs-4\">\n            <div class=\"status-circle-{{::options.status_indicator2}}\">\n              <h4>{{::options.status_number2}}</h4>\n            </div>\n            <p class=\"sub-text\">{{::options.sub_text2}}</p>\n          </div>\n          <div class=\"col-xs-4\">\n            <div class=\"status-circle-{{::options.status_indicator3}}\">\n              <h4>{{::options.status_number3}}%</h4>\n            </div>\n            <p class=\"sub-text\">{{::options.sub_text3}}</p>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-status-card/widget/pe-status-card.u-client-script.js",
    "content": "function StatusCardController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-status-card/widget/pe-status-card.u-css.scss",
    "content": "$pe-anchor-color: #68acd8 !default;\r\n$pe-status-color-danger: #ff0050 !default;\r\n$pe-status-color-normal: #6ee520 !default;\r\n$pe-status-color-warning: #ffce00 !default;\r\n\r\n.status-card {\r\n  .panel-heading {\r\n    background-color: #283347;\r\n    border-bottom: 0;\r\n    color: #fff;\r\n    padding: 14px;\r\n    text-transform: uppercase;\r\n  }\r\n  .panel-body {\r\n    background-color: #1c2432;\r\n    color: #fff;\r\n    h4 {\r\n      font-size: 24px;\r\n    }\r\n    .sub-text {\r\n      color: $pe-anchor-color;\r\n      font-size: 10px;\r\n      margin-top: -5px;\r\n      text-transform: uppercase;\r\n    }\r\n  }\r\n  .status-circle {\r\n    border-radius: 50%;\r\n    content: '';\r\n    height: 10px;\r\n    margin-left: 5px;\r\n    position: absolute;\r\n    top: 23%;\r\n    width: 10px;\r\n  }\r\n  .status-circle-danger {\r\n    h4 {\r\n      &:after {\r\n        @extend .status-circle;\r\n        background-color: $pe-status-color-danger;\r\n      }\r\n    }\r\n  }\r\n  .status-circle-normal {\r\n    h4 {\r\n      &:after {\r\n        @extend .status-circle;\r\n        background-color: $pe-status-color-normal;\r\n      }\r\n    }\r\n  }\r\n  .status-circle-warning {\r\n    h4 {\r\n      &:after {\r\n        @extend .status-circle;\r\n        background-color: $pe-status-color-warning;\r\n      }\r\n    }\r\n  }\r\n}"
  },
  {
    "path": "pe-status-card/widget/pe-status-card.u-option-schema.json",
    "content": "[{\n  \"name\": \"title\",\n  \"default_value\": \"Business Critical Services\",\n  \"label\": \"Title\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"status_number1\",\n  \"default_value\": \"5\",\n  \"label\": \"Status Number 1\",\n  \"type\": \"integer\"\n}, {\n  \"name\": \"status_number2\",\n  \"default_value\": \"148\",\n  \"label\": \"Status Number 2\",\n  \"type\": \"integer\"\n}, {\n  \"name\": \"status_number3\",\n  \"default_value\": \"78\",\n  \"label\": \"Status Number 3\",\n  \"type\": \"integer\"\n}, {\n  \"name\": \"sub_text1\",\n  \"default_value\": \"With Critical Incidents\",\n  \"label\": \"Sub Text 1\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"sub_text2\",\n  \"default_value\": \"Severe Vulnerabilities\",\n  \"label\": \"Sub Text 2\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"sub_text3\",\n  \"default_value\": \"Control Effectiveness\",\n  \"label\": \"Sub Text 3\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"status_indicator2\",\n  \"default_value\": \"warning\",\n  \"label\": \"Status Indicator 2\",\n  \"type\": \"choice\",\n  \"choices\": [{\n    \"label\": \"danger\",\n    \"value\": \"danger\"\n  }, {\n    \"label\": \"normal\",\n    \"value\": \"normal\"\n  }, {\n    \"label\": \"warning\",\n    \"value\": \"warning\"\n  }]\n}, {\n  \"name\": \"status_indicator3\",\n  \"default_value\": \"normal\",\n  \"label\": \"Status Indicator 3\",\n  \"type\": \"choice\",\n  \"choices\": [{\n    \"label\": \"danger\",\n    \"value\": \"danger\"\n  }, {\n    \"label\": \"normal\",\n    \"value\": \"normal\"\n  }, {\n    \"label\": \"warning\",\n    \"value\": \"warning\"\n  }]\n}]"
  },
  {
    "path": "pe-status-card/widget/pe-status-card.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "pe-status-card-snippet/Readme.md",
    "content": "# Status Card Snippet\n\n## Description\n\nThis snippet can be used to have a valid starting point for displaying a status card.\n\n## Screenshots\n![alt text](../images/pe-status-card-snippet.png \"Status Card Snippet\")\n\n## Additional Information/Notes\n\nThis widget makes use of the following additional widgets:\n* [pe-donut-chart widget](https://github.com/platform-experience/serviceportal-widget-library/tree/master/pe-donut-chart) to display a donut chart representing the progress status.\n\n* [pe-people-info widget](https://github.com/platform-experience/serviceportal-widget-library/tree/master/People%20Card/pe-people-info) to display user avatar, name and title.\n\n> Widget(s) are included with the update set.\n\nDonut Chart and People Info widget are injected dynamically in client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-status-card-snippet.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-status-card-snippet/pe-status-card-snippet.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**Title**\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is provided as JSON objects in the Server Script.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-status-card-snippet/pe-status-card-snippet.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-02 16:26:03\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Status Card Snippet</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>e00a2266134b7600890b3092e144b0b0</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 16:26:03</sys_created_on>\n<sys_id>0640fee6134b7600890b3092e144b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 16:26:03</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_ef16387e131d3200d15e3d7ed144b045</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DonutChartController() {\n  /* widget controller */\n  var c = this;\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.donut-chart-container {\n  position: relative;\n  align-content: center;\n  text-align: center;\n  vertical-align: middle;\n}\n\nsvg {\n  transform: rotate(-90deg);\n}\n\n.icon-container {\n  position: absolute;\n  left: 67px;\n  top: 63px;\n}\n\n.circle_animation {\n  stroke-dasharray: 68.36;\n  stroke-dashoffset: 68.36;\n}\n\n\n.donut-chart-common {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n\n.donut-chart-bg .circle_animation {\n  -webkit-animation: donut-chart-bg 1s ease-out forwards;\n  animation: donut-chart-bg 1s ease-out forwards;\n}\n\n.donut-chart-1 .circle_animation {\n  -webkit-animation: donut-chart-1 1s ease-out forwards;\n  animation: donut-chart-1 1s ease-out forwards;\n}\n\n@keyframes donut-chart-bg {\n  to {\n    stroke-dashoffset: 0;\n  }\n}\n\n@keyframes donut-chart-1 {\n  to {\n    stroke-dashoffset: 50;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-donut-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Donut Chart&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"Donut chart\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"show_title\",\"default_value\":\"false\",\"label\":\"Show Title\",\"type\":\"boolean\"},{\"name\":\"show_icon\",\"default_value\":\"false\",\"label\":\"Show Icon\",\"type\":\"string\"},{\"name\":\"active_color\",\"default_value\":\"#7eacf7\",\"label\":\"Active Color\",\"type\":\"string\"},{\"name\":\"background_color\",\"default_value\":\"#e6e8ed\",\"label\":\"Background Color\",\"type\":\"string\"},{\"name\":\"fa_icon\",\"default_value\":\"fa fa-tachometer fa-2x\",\"label\":\"Font Awesome Icon\",\"type\":\"string\"},{\"name\":\"border_width\",\"default_value\":\"16\",\"label\":\"Border Width\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n    var getBoolValue = function(inputVal, optionVal) {\n\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n\n  data.title = input.title || options.title;\n/*  data.percentage = input.percentage || options.percentage;\n  data.percentage = parseInt(data.percentage);\n  data.percentage = (data.percentage*200)/100;*/\n\n  data.active_color = input.active_color || options.active_color;\n  data.background_color = input.background_color || options.background_color;\n  data.fa_icon = input.fa_icon || options.fa_icon;\n\n  data.show_title = getBoolValue(input.show_title, options.show_title);\n  data.show_icon = getBoolValue(input.show_icon, options.show_icon);\n  //data.border_width = input.border_width || options.border_width;\n  data.border_width = 12;\n  data.height = 34;\n  data.width = 34;\n\n  data.r = 0;\n  data.cx = 0;\n  data.cy = 0;\n\n  data.r = (data.width*32)/100;\n  data.cx = data.width/2;\n  data.cy = data.height/2;\n\n\n\n\n\n\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-08 02:21:20&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ef16387e131d3200d15e3d7ed144b045&lt;/sys_id&gt;&lt;sys_mod_count&gt;258&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Donut Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_ef16387e131d3200d15e3d7ed144b045&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 18:52:40&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div ng-show=\"c.data.data.show_title\"&gt;\n    &lt;h3&gt;{{c.data.title}}&lt;/h3&gt;\n  &lt;/div&gt;\n  &lt;div class=\"donut-chart-container\"&gt;\n    &lt;div class=\"donut-chart-common donut-chart-bg\"&gt;\n      &lt;svg ng-style=\"\n    {'height':c.data.height, 'width': c.data.width}\"&gt;\n        &lt;g&gt;\n          &lt;circle id=\"circle-base\" class=\"circle_animation\" ng-attr-r='{{c.data.r}}' ng-attr-cy='{{c.data.cy}}' ng-attr-cx='{{c.data.cx}}' stroke-width=\"{{c.data.border_width}}\"\n            stroke=\"{{c.data.background_color}}\" fill=\"none\" /&gt;\n        &lt;/g&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n    &lt;div id=\"chart-1\" class=\"donut-chart-common donut-chart-1\"&gt;\n      &lt;!--ng-class='{\"stroke-dashoffset\": 25}'--&gt;\n      &lt;svg ng-style=\"\n    {'height':c.data.height, 'width': c.data.width}\"&gt;\n        &lt;g&gt;\n          &lt;circle id=\"circle\" class=\"circle_animation\" ng-attr-r=\"{{c.data.r}}\" ng-attr-cy=\"{{c.data.cy}}\" ng-attr-cx=\"{{c.data.cx}}\" stroke-width=\"{{c.data.border_width}}\"\n            stroke=\"{{c.data.active_color}}\" fill=\"none\" /&gt;\n        &lt;/g&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"icon-container\" ng-show=\"c.data.show_icon\"&gt;\n    &lt;i class=\"{{c.data.fa_icon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Card Snippet\">0640fee6134b7600890b3092e144b0a6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 16:26:03</sys_created_on>\n<sys_id>0a40fee6134b7600890b3092e144b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 16:26:03</sys_updated_on>\n<table/>\n<target_name>PE Donut Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_701f3913131d7200d15e3d7ed144b044</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function StatusCardController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getDonutChart();\n    getPeopleInfo();\n  };\n\n  function getDonutChart() {\n    spUtil.get('pe-donut-chart', {\n      title: '',\n      active_color: '#7eacf7',\n      background_color: '#e6e8ed',\n      show_icon: 'false',\n      show_title: 'false',\n      border_width: 16\n    }).then(function(response) {\n      c.data.donutChartWidget = response;\n    });\n  }\n\n  function getPeopleInfo() {\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.user_sys_id,\n      show_job_title: 'false',\n      show_call_and_chat: 'false',\n      show_only_picture: 'false',\n      show_text_below_picture: 'false'\n    }).then(function(response) {\n      c.data.peopleInfoWidget = response;\n    });\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.status-card {\n  background: #fff;\n  overflow: hidden;\n  margin-bottom: 10px;\n  p {\n    margin-bottom: 0px;\n  }\n  .header {\n    font-size: 18px;\n    font-weight: bold;\n    color: #81878e;\n    padding: 10px 15px;\n    border-bottom: 1px solid #e6e8ea;\n  }\n  .details {\n    width: 100%;\n    float: left;\n    margin-top: 5px;\n    margin-bottom: 5px;\n    .each-div {\n      width: 50%;\n      float: left;\n      border-right: 1px solid #e6e8ea;\n      .title {\n        font-size: 18px;\n        color: #81878e;\n        padding: 10px 10px;\n        height: 60px;\n        display: flex;\n        align-items: center;\n      }\n      .flex-it {\n        padding: 10px;\n        display: flex;\n        align-items: center;\n      }\n      .text {\n        font-size: 15px;\n        color: #696d71;\n        .days {\n          font-weight: normal;\n          color: #268cf8;\n          margin-left: 3px;\n          font-weight: 600;\n        }\n      }\n      .card {\n        background: #fff;\n        padding: 0px;\n        .donut-chart {\n          position: relative;\n          border-radius: 50%;\n          overflow: hidden;\n          .slice {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n          }\n          .chart-center {\n            position: absolute;\n            border-radius: 50%;\n          }\n          .chart-center span.in-progress {\n            display: block;\n            text-align: center;\n          }\n          .chart-center span.complete {\n            display: block;\n            text-align: center;\n            color: #268cf8;\n            font-family: arial;\n            -ms-transform: scaleX(-1) rotate(-35deg);\n            /* IE 9 */\n            -webkit-transform: scaleX(-1) rotate(-35deg);\n            /* Chrome, Safari, Opera */\n            transform: scaleX(-1) rotate(-35deg);\n            &amp;amp;:after {\n              content: \"L\";\n            }\n          }\n        }\n        .chart {\n          width: 34px;\n          height: 34px;\n        }\n      }\n      .top-section {\n        padding: 10px;\n        height: 80px;\n        display: flex;\n        align-items: center;\n        justify-content: space-around;\n        .percent {\n          font-size: 15px;\n          font-weight: normal;\n          color: #696d71;\n          span {\n            color: #268cf8;\n            margin-right: 3px;\n            font-weight: 600;\n          }\n        }\n      }\n      .bottom-section {\n        text-align: center;\n        span {\n          font-size: 15px;\n          margin-right: 5px;\n          border-radius: 4px;\n        }\n        .state {\n          color: #696d71;\n          font-size: 15px;\n          margin-top: 5px;\n        }\n      }\n    }\n  }\n  .people-card-media {\n    //background:\n    padding: 10px;\n  }\n  .buttons {\n    border-top: solid 1px #e6e8ea;\n    clear: both;\n    .each-button {\n      width: 50%;\n      float: left;\n      padding: 20px;\n      text-align: center;\n      border-right: solid 1px #e6e8ea;\n      p {\n        margin-bottom: 0px;\n        font-size: 15px;\n      }\n      &amp;amp;.orange {\n        border-bottom: 3px solid #fc8a3d;\n        color: #fc8a3d;\n      }\n      &amp;amp;.green {\n        border-bottom: 3px solid #54c25b;\n        color: #54c25b;\n        border-right: 0px;\n      }\n    }\n  }\n}\n\n.people-info-container {\n  height: 80px;\n  display: flex;\n  font-size: 15px;\n  justify-content: space-around;\n}\n\n.svg-icon {\n  width: 38px;\n  height: 38px;\n  stroke: #268cf8;\n  fill: #268cf8;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-status-card-snippet&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Status Card Snippet&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"Onboarding\",\"label\":\"Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.user_sys_id = gs.getUserID();\n  data.title = input.title || options.title;\n  data.text = 'Starts in';\n  data.days = '2 days';\n\n  // data.status = 'complete';\n  data.status = 'in-progress';\n  data.state = 'In Progress';\n\n  data.percent = '27';\n  data.depts = [{\n    \"name\": \"IT\",\n    \"color\": \"rgb(148, 189, 105)\"\n  }, {\n    \"name\": \"HR\",\n    \"color\": \"rgb(98, 173, 202)\"\n  }, {\n    \"name\": \"FA\",\n    \"color\": \"rgb(135, 126, 199)\"\n  }, {\n    \"name\": \"EMP\",\n    \"color\": \"rgb(184, 124, 181)\"\n  }];\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 20:57:19&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;701f3913131d7200d15e3d7ed144b044&lt;/sys_id&gt;&lt;sys_mod_count&gt;63&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Status Card Snippet&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_701f3913131d7200d15e3d7ed144b044&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-02 16:25:28&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"icon-timer\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;g&gt;\n        &lt;path d=\"M15.529,31.059C6.966,31.059,0,24.093,0,15.529C0,6.967,6.966,0,15.529,0\n            s15.529,6.967,15.529,15.529C31.059,24.093,24.092,31.059,15.529,31.059z M15.529,1.775c-7.584,0-13.754,6.17-13.754,13.754\n            c0,7.585,6.17,13.755,13.754,13.755c7.584,0,13.754-6.17,13.754-13.755C29.284,7.945,23.114,1.775,15.529,1.775z\"\n        /&gt;\n      &lt;/g&gt;\n      &lt;g&gt;\n        &lt;path d=\"M20.292,21.179c-0.228,0-0.454-0.086-0.628-0.26l-4.762-4.762c-0.167-0.167-0.26-0.392-0.26-0.628\n            V5.454c0-0.49,0.397-0.887,0.888-0.887c0.49,0,0.887,0.396,0.887,0.887v9.708l4.502,4.502c0.347,0.347,0.347,0.909,0,1.255\n            C20.745,21.093,20.518,21.179,20.292,21.179z\" /&gt;\n      &lt;/g&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n  &lt;symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-close\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;polygon points=\"83.2,12.5 49.7,46.1 16.1,12.5 11.9,16.8 45.4,50.3 11.9,83.9 16.1,88.1 49.7,54.6 83.2,88.1 87.5,83.9 53.9,50.3 87.5,16.8\"&gt;&lt;/polygon&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"status-card\" ui-sref=\"others({})\"&gt;\n  &lt;div class=\"header\"&gt;\n    &lt;p class=\"title\"&gt;{{::data.title}}&lt;/p&gt;\n  &lt;/div&gt;\n  &lt;div class=\"details\"&gt;\n    &lt;div class=\"each-div\"&gt;\n      &lt;sp-widget widget=\"c.data.peopleInfoWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;div class=\"bottom-section\"&gt;\n        &lt;div class=\"flex-it\" ng-show=\"data.status === 'in-progress'\"&gt;\n          &lt;svg class=\"svg-icon\"&gt;\n            &lt;use xlink:href=\"#icon-timer\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n          &lt;p class=\"text\"&gt;{{data.text}}&lt;span class=\"days\"&gt;{{data.days}}&lt;/span&gt;&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"each-div\"&gt;\n      &lt;div class=\"top-section\"&gt;\n        &lt;div class=\"card\"&gt;\n          &lt;div class=\"chart\" ng-show=\"data.status === 'in-progress'\"&gt;\n            &lt;sp-widget widget=\"c.data.donutChartWidget\"&gt;&lt;/sp-widget&gt;\n          &lt;/div&gt;\n          &lt;div class=\"donut-chart chart\" ng-show=\"data.status === 'complete'\"&gt;\n            &lt;div class=\"chart-center chart-center-complete\"&gt;\n              &lt;span class=\"complete\"&gt;&lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;p class=\"percent\"&gt;&lt;span&gt;{{data.percent}}%&lt;/span&gt;Complete&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"bottom-section\" ng-show=\"data.status === 'in-progress'\"&gt;\n        &lt;span ng-repeat=\"dept in data.depts\" class=\"badge\" ng-style=\"{'background': dept.color}\"&gt;{{dept.name}}&lt;/span&gt;\n        &lt;p class=\"state\"&gt;{{data.state}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-show=\"data.status === 'complete'\" class=\"buttons\"&gt;\n    &lt;div class=\"each-button orange\" ui-sref=\"others({})\"&gt;\n      &lt;p&gt;View&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"each-button green\"&gt;\n      &lt;p&gt;Archive&lt;/p&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Card Snippet\">0640fee6134b7600890b3092e144b0a6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 16:26:03</sys_created_on>\n<sys_id>4640fee6134b7600890b3092e144b0a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 16:26:03</sys_updated_on>\n<table/>\n<target_name>PE Status Card Snippet</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_11f38daa134db600d15e3d7ed144b0fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n  padding: 10px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  width: 100%;\n  float: left;\n  background: #fff;\n  margin: 0px;\n  .media-body {\n    width: 100%;\n    .people_name_title {\n      .title {\n        font-size: 15px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #81878e;\n      }\n      .subtitle {\n        font-size: 13px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #a8abaf;\n      }\n    }\n  }\n  .media-left {\n    .list__photo {\n      width: 35px;\n      height: 35px;\n    }\n    .initials-badge {\n      min-width: 36px;\n      float: left;\n      margin-top: 0px;\n      border-radius: 50%;\n      line-height: 1;\n      font-size: 14px;\n      margin-left: 0px;\n      padding: 10px 10px;\n      font-weight: 300;\n      background: #AEB2B3;\n    }\n  }\n  .media-right {\n    width: 40%;\n    .fa-color {\n      color: $pe-brand-primary;\n      margin-right: 10px;\n    }\n  }\n}\n\n.show-text-bottom {\n  background: #fff;\n  margin: 0px;\n  position: absolute;\n  top: 50px;\n  .people_name_title {\n    .title {\n      margin-top: 0px;\n      font-size: 15px;\n      font-weight: normal;\n      margin-bottom: 0px;\n      color: #81878e;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;People Info widget for displaying user avatar, name, titile with call/chat functionality.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-people-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Info&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"true\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"name\":\"show_text_below_picture\",\"default_value\":\"false\",\"label\":\"Show Text Below Picture\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.user_sys_id = options.user_sys_id || input.user_sys_id;\n\n  // function to check if we are injecteding any options from server side or options\n  var getBoolValue = function(inputVal, optionVal) {\n\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n  var userGR = new GlideRecord('sys_user');\n  userGR.addQuery('sys_id', data.user_sys_id);\n  userGR.query();\n\n  while (userGR.next()) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\n  data.show_only_picture = getBoolValue(input.only_picture, options.show_only_picture);\n  data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n  data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n  data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 22:35:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;11f38daa134db600d15e3d7ed144b0fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;171&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_11f38daa134db600d15e3d7ed144b0fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 18:52:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"media people-card-media\"&gt;\n  &lt;div class=\"media-left\"&gt;\n    &lt;div class=\"person-photo\"&gt;\n      &lt;img ng-if=\"data.user_photo\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n        &lt;span class=\"\"&gt;{{::data.user_initials}}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"!data.show_only_picture &amp;&amp; !data.show_text_below_picture\" class=\"media-body\"&gt;\n    &lt;div class=\"people_name_title\"&gt;\n      &lt;h4 class=\"media-heading title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n      &lt;h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\"&gt;{{::data.user_job_title}}&lt;/h4&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media-right\" ng-if=\"data.show_call_and_chat\"&gt;\n    &lt;i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.show_text_below_picture\" class=\"show-text-bottom\"&gt;\n  &lt;div class=\"people_name_title\"&gt;\n    &lt;h4 class=\"title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Status Card Snippet\">0640fee6134b7600890b3092e144b0a6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-02 16:26:03</sys_created_on>\n<sys_id>8e40fee6134b7600890b3092e144b0a6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-02 16:26:03</sys_updated_on>\n<table/>\n<target_name>PE People Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-status-card-snippet/widget/pe-status-card-snippet.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"icon-timer\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <g>\n        <path d=\"M15.529,31.059C6.966,31.059,0,24.093,0,15.529C0,6.967,6.966,0,15.529,0\n            s15.529,6.967,15.529,15.529C31.059,24.093,24.092,31.059,15.529,31.059z M15.529,1.775c-7.584,0-13.754,6.17-13.754,13.754\n            c0,7.585,6.17,13.755,13.754,13.755c7.584,0,13.754-6.17,13.754-13.755C29.284,7.945,23.114,1.775,15.529,1.775z\"\n        />\n      </g>\n      <g>\n        <path d=\"M20.292,21.179c-0.228,0-0.454-0.086-0.628-0.26l-4.762-4.762c-0.167-0.167-0.26-0.392-0.26-0.628\n            V5.454c0-0.49,0.397-0.887,0.888-0.887c0.49,0,0.887,0.396,0.887,0.887v9.708l4.502,4.502c0.347,0.347,0.347,0.909,0,1.255\n            C20.745,21.093,20.518,21.179,20.292,21.179z\" />\n      </g>\n    </g>\n  </symbol>\n  <symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-close\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <polygon points=\"83.2,12.5 49.7,46.1 16.1,12.5 11.9,16.8 45.4,50.3 11.9,83.9 16.1,88.1 49.7,54.6 83.2,88.1 87.5,83.9 53.9,50.3 87.5,16.8\"></polygon>\n    </g>\n  </symbol>\n</svg>\n<div class=\"status-card\" ui-sref=\"others({})\">\n  <div class=\"header\">\n    <p class=\"title\">{{::data.title}}</p>\n  </div>\n  <div class=\"details\">\n    <div class=\"each-div\">\n      <sp-widget widget=\"c.data.peopleInfoWidget\"></sp-widget>\n      <div class=\"bottom-section\">\n        <div class=\"flex-it\" ng-show=\"data.status === 'in-progress'\">\n          <svg class=\"svg-icon\">\n            <use xlink:href=\"#icon-timer\"></use>\n          </svg>\n          <p class=\"text\">{{data.text}}<span class=\"days\">{{data.days}}</span></p>\n        </div>\n      </div>\n    </div>\n    <div class=\"each-div\">\n      <div class=\"top-section\">\n        <div class=\"card\">\n          <div class=\"chart\" ng-show=\"data.status === 'in-progress'\">\n            <sp-widget widget=\"c.data.donutChartWidget\"></sp-widget>\n          </div>\n          <div class=\"donut-chart chart\" ng-show=\"data.status === 'complete'\">\n            <div class=\"chart-center chart-center-complete\">\n              <span class=\"complete\"></span>\n            </div>\n          </div>\n        </div>\n        <p class=\"percent\"><span>{{data.percent}}%</span>Complete</p>\n      </div>\n      <div class=\"bottom-section\" ng-show=\"data.status === 'in-progress'\">\n        <span ng-repeat=\"dept in data.depts\" class=\"badge\" ng-style=\"{'background': dept.color}\">{{dept.name}}</span>\n        <p class=\"state\">{{data.state}}</p>\n      </div>\n    </div>\n  </div>\n  <div ng-show=\"data.status === 'complete'\" class=\"buttons\">\n    <div class=\"each-button orange\" ui-sref=\"others({})\">\n      <p>View</p>\n    </div>\n    <div class=\"each-button green\">\n      <p>Archive</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-status-card-snippet/widget/pe-status-card-snippet.u-client-script.js",
    "content": "function StatusCardController(spUtil) {\n  var c = this;\n\n  c.$onInit = function() {\n    getDonutChart();\n    getPeopleInfo();\n  };\n\n  function getDonutChart() {\n    spUtil.get('pe-donut-chart', {\n      title: '',\n      active_color: '#7eacf7',\n      background_color: '#e6e8ed',\n      show_icon: 'false',\n      show_title: 'false',\n      border_width: 16\n    }).then(function(response) {\n      c.data.donutChartWidget = response;\n    });\n  }\n\n  function getPeopleInfo() {\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.user_sys_id,\n      show_job_title: 'false',\n      show_call_and_chat: 'false',\n      show_only_picture: 'false',\n      show_text_below_picture: 'false'\n    }).then(function(response) {\n      c.data.peopleInfoWidget = response;\n    });\n  }\n}"
  },
  {
    "path": "pe-status-card-snippet/widget/pe-status-card-snippet.u-css.scss",
    "content": ".status-card {\n  background: #fff;\n  overflow: hidden;\n  margin-bottom: 10px;\n  p {\n    margin-bottom: 0px;\n  }\n  .header {\n    font-size: 18px;\n    font-weight: bold;\n    color: #81878e;\n    padding: 10px 15px;\n    border-bottom: 1px solid #e6e8ea;\n  }\n  .details {\n    width: 100%;\n    float: left;\n    margin-top: 5px;\n    margin-bottom: 5px;\n    .each-div {\n      width: 50%;\n      float: left;\n      border-right: 1px solid #e6e8ea;\n      .title {\n        font-size: 18px;\n        color: #81878e;\n        padding: 10px 10px;\n        height: 60px;\n        display: flex;\n        align-items: center;\n      }\n      .flex-it {\n        padding: 10px;\n        display: flex;\n        align-items: center;\n      }\n      .text {\n        font-size: 15px;\n        color: #696d71;\n        .days {\n          font-weight: normal;\n          color: #268cf8;\n          margin-left: 3px;\n          font-weight: 600;\n        }\n      }\n      .card {\n        background: #fff;\n        padding: 0px;\n        .donut-chart {\n          position: relative;\n          border-radius: 50%;\n          overflow: hidden;\n          .slice {\n            position: absolute;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n          }\n          .chart-center {\n            position: absolute;\n            border-radius: 50%;\n          }\n          .chart-center span.in-progress {\n            display: block;\n            text-align: center;\n          }\n          .chart-center span.complete {\n            display: block;\n            text-align: center;\n            color: #268cf8;\n            font-family: arial;\n            -ms-transform: scaleX(-1) rotate(-35deg);\n            /* IE 9 */\n            -webkit-transform: scaleX(-1) rotate(-35deg);\n            /* Chrome, Safari, Opera */\n            transform: scaleX(-1) rotate(-35deg);\n            &:after {\n              content: \"L\";\n            }\n          }\n        }\n        .chart {\n          width: 34px;\n          height: 34px;\n        }\n      }\n      .top-section {\n        padding: 10px;\n        height: 80px;\n        display: flex;\n        align-items: center;\n        justify-content: space-around;\n        .percent {\n          font-size: 15px;\n          font-weight: normal;\n          color: #696d71;\n          span {\n            color: #268cf8;\n            margin-right: 3px;\n            font-weight: 600;\n          }\n        }\n      }\n      .bottom-section {\n        text-align: center;\n        span {\n          font-size: 15px;\n          margin-right: 5px;\n          border-radius: 4px;\n        }\n        .state {\n          color: #696d71;\n          font-size: 15px;\n          margin-top: 5px;\n        }\n      }\n    }\n  }\n  .people-card-media {\n    //background:\n    padding: 10px;\n  }\n  .buttons {\n    border-top: solid 1px #e6e8ea;\n    clear: both;\n    .each-button {\n      width: 50%;\n      float: left;\n      padding: 20px;\n      text-align: center;\n      border-right: solid 1px #e6e8ea;\n      p {\n        margin-bottom: 0px;\n        font-size: 15px;\n      }\n      &.orange {\n        border-bottom: 3px solid #fc8a3d;\n        color: #fc8a3d;\n      }\n      &.green {\n        border-bottom: 3px solid #54c25b;\n        color: #54c25b;\n        border-right: 0px;\n      }\n    }\n  }\n}\n\n.people-info-container {\n  height: 80px;\n  display: flex;\n  font-size: 15px;\n  justify-content: space-around;\n}\n\n.svg-icon {\n  width: 38px;\n  height: 38px;\n  stroke: #268cf8;\n  fill: #268cf8;\n}"
  },
  {
    "path": "pe-status-card-snippet/widget/pe-status-card-snippet.u-server-script.js",
    "content": "(function() {\n  data.user_sys_id = gs.getUserID();\n  data.title = input.title || options.title;\n  data.text = 'Starts in';\n  data.days = '2 days';\n\n  // data.status = 'complete';\n  data.status = 'in-progress';\n  data.state = 'In Progress';\n\n  data.percent = '27';\n  data.depts = [{\n    \"name\": \"IT\",\n    \"color\": \"rgb(148, 189, 105)\"\n  }, {\n    \"name\": \"HR\",\n    \"color\": \"rgb(98, 173, 202)\"\n  }, {\n    \"name\": \"FA\",\n    \"color\": \"rgb(135, 126, 199)\"\n  }, {\n    \"name\": \"EMP\",\n    \"color\": \"rgb(184, 124, 181)\"\n  }];\n})();"
  },
  {
    "path": "pe-support-options/README.md",
    "content": "# Support Options\n\n## Description\n\nThis can be used to quickly craft a configurable widget with a list items fed from a catalog.\n\n## Screenshot\n![](../images/pe-support-options-1.png)\n\n## Additional Information/Notes\n\nUses ServiceNow® [Service Catalog](https://docs.servicenow.com/bundle/istanbul-it-service-management/page/product/service-catalog-management/concept/c_ServiceCatalogManagement.html)\n\n---\n## Installation\n---\nDownload and install update set **[pe-support-options.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-support-options/pe-support-options.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Title` | Widget Title. | Support Options |\n| `Category` | Sets a category. | PE Support Options |\n| `Fields` | Sets the field items to display for the catalog item, using a comma separated list. | sc_cat_item.name, sc_cat_item.icon, sc_cat_item.short_description |\n| `Items` | Sets the catalog items for display. | Live Chat with Customer Support, Call Customer Support, How to reset your Okta cookie, Run Health Check |\n| `Show Title` | Shows the title if checked (true). | true |\n| `Show All Catalog Items` | Displays all catalog items for a category, if checked (true). | false |\n\n---\n## Platform Dependencies\n---\n### SN System Tables\n* sc_cat_item\n* sc_category\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-support-options/pe-support-options.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-11-03 15:51:42\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Support Options</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>60da0f6cdb5ff200f0e8de01ce9619d8</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>184da380db9283001e3eff041d9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_fe339880dbda43001e3eff041d961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Run Health Check\">470cfe80db9e7600b793f2b6ae9619f5</sc_cat_item><sc_category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-11-02 23:59:08</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>fe339880dbda43001e3eff041d961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Support Options.Run Health Check</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_fe339880dbda43001e3eff041d961947</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:08</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>299817822</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>144d2780db9283001e3eff041d961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c92920000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>PE Support Options.Run Health Check</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>fe339880ddda4300d4bb8201e8fae650</update_guid>\n<update_guid_history>fe339880ddda4300d4bb8201e8fae650:299817822</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_category_60e25480dbda43001e3eff041d9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_category\"><sc_category action=\"INSERT_OR_UPDATE\"><active>true</active><description/><entitlement_script/><header_icon/><homepage_image/><homepage_renderer display_value=\"Category Items\">47ebe8aa3742300054b6a3549dbe5dfa</homepage_renderer><icon/><image/><location/><mobile_hide_description>false</mobile_hide_description><mobile_picture/><mobile_subcategory_render_type>list</mobile_subcategory_render_type><module/><order>0</order><parent/><roles/><sc_catalog display_value=\"Technical Catalog\">742ce428d7211100f2d224837e61036d</sc_catalog><show_in_cms>false</show_in_cms><sys_class_name>sc_category</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-11-02 23:57:52</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>60e25480dbda43001e3eff041d9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Support Options</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_category_60e25480dbda43001e3eff041d9619a3</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:57:52</sys_updated_on><title>PE Support Options</title><u_demo_category>false</u_demo_category></sc_category><sys_translated_text action=\"delete_multiple\" query=\"documentkey=60e25480dbda43001e3eff041d9619a3\"/></record_update>]]></payload>\n<payload_hash>-2026871326</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>184d2780db9283001e3eff041d961980</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2b6ad30000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>PE Support Options</target_name>\n<type>Category</type>\n<update_domain>global</update_domain>\n<update_guid>1cf25480f6da430093ad687c42fa0ebd</update_guid>\n<update_guid_history>1cf25480f6da430093ad687c42fa0ebd:-2026871326</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_be138f04db9e7600b793f2b6ae9619ee</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>How to reset your Okta cookie</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=be138f04db9e7600b793f2b6ae9619ee&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles>snc_internal</roles><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>Knowledge Base Article</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:38:28</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>be138f04db9e7600b793f2b6ae9619ee</sys_id><sys_mod_count>3</sys_mod_count><sys_name>How to reset your Okta cookie</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_be138f04db9e7600b793f2b6ae9619ee</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:07</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=be138f04db9e7600b793f2b6ae9619ee\"/><fx_price action=\"delete_multiple\" query=\"id=be138f04db9e7600b793f2b6ae9619ee\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>be138f04db9e7600b793f2b6ae9619ee</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:38:28</sys_created_on><sys_id>09938344db9e7600b793f2b6ae9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:38:28</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>be138f04db9e7600b793f2b6ae9619ee</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:38:28</sys_created_on><sys_id>0d938344db9e7600b793f2b6ae9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:38:28</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>874</size_bytes><size_compressed>450</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:38:34</sys_created_on><sys_id>2293c344db9e7600b793f2b6ae961960</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:38:34</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>be138f04db9e7600b793f2b6ae9619ee</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"2293c344db9e7600b793f2b6ae961960\">2293c344db9e7600b793f2b6ae961960</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:38:34</sys_created_on><sys_id>6293c344db9e7600b793f2b6ae961960</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>dVPBkqMgEL3PV/Qyl5mqiCCJhlT0sDnsJXuaL3AiUSoGLGVi9u+3Rd01W1k42Dy6Xz+esO9uJfS6cFVKeNzcCVRKl5VLSSSG1U2r/ru9pyTgIIHHEAkEVdtpa7CCcgL3a226lFTONbsw7Pue9oLatgwjxliI/FPK7l5rc3mWyKWUod8l2QvA/lsQwA9lVJs72+7g46LcqYI1pxG8iY2QyTsEsKD5tJW66tycbKFNSU/2GnZjTRB4wkJ1p+zQqtypAk/rqomT7kO/Neacu2xY42dYl6CLlHxaewkiKnDiUTvX2otKyes6H+YMBLOBBM66rlNirFFjHLRfNRaomzK2KAi4Njfd2bbXlPiwRklvjDI/VsAZFZGU2+TdO4EyGlv/QmeUV/NR5Q0SN1Yb1w32Sx4PI4GIsq3wA/gM/w8VNNkQPOpMPXfK0Rds8pMLuhnLVkMqHBcAo+uxJfIc//Z/wA+MShk/2WA02qzwzsTRZowX+g4eEOjEBCxJvIxFt0nWeuJ+AnA5S36QuYAfVC7wUeSWbsVSdPLHveM/yol3Dxb/Z7AWvfS3KCyzl/3wCLLf7AQEn2oDAAA=</data><length>588</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"2293c344db9e7600b793f2b6ae961960\">2293c344db9e7600b793f2b6ae961960</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:38:34</sys_created_on><sys_id>e293c344db9e7600b793f2b6ae961960</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>1297915189</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>184d2780db9283001e3eff041d961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c90c60000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>How to reset your Okta cookie</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>a63398809dda4300101b1ed9345ad63c</update_guid>\n<update_guid_history>a63398809dda4300101b1ed9345ad63c:1297915189,02b477b3098a43004e1325d02e376c69:-298966623,4eb477b3988a4300aa50e0f4406ed334:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_6a339880dbda43001e3eff041d961934</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"How to reset your Okta cookie\">be138f04db9e7600b793f2b6ae9619ee</sc_cat_item><sc_category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-11-02 23:59:07</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>6a339880dbda43001e3eff041d961934</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Support Options.How to reset your Okta cookie</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_6a339880dbda43001e3eff041d961934</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:07</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>876562041</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>504d2780db9283001e3eff041d961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c90fa0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>PE Support Options.How to reset your Okta cookie</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>6a3398807cda430018f22fcf4e0cf23d</update_guid>\n<update_guid_history>6a3398807cda430018f22fcf4e0cf23d:876562041</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_a5b3c344db9e7600b793f2b6ae961967</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Live Chat with Customer Support</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=a5b3c344db9e7600b793f2b6ae961967&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles>snc_internal</roles><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>5 minute wait time</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:41:45</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a5b3c344db9e7600b793f2b6ae961967</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Live Chat with Customer Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_a5b3c344db9e7600b793f2b6ae961967</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:08</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a5b3c344db9e7600b793f2b6ae961967\"/><fx_price action=\"delete_multiple\" query=\"id=a5b3c344db9e7600b793f2b6ae961967\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>a5b3c344db9e7600b793f2b6ae961967</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:41:45</sys_created_on><sys_id>49544744db9e7600b793f2b6ae9619d4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:41:45</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>a5b3c344db9e7600b793f2b6ae961967</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:41:45</sys_created_on><sys_id>4d544744db9e7600b793f2b6ae9619d4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:41:45</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1380</size_bytes><size_compressed>599</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:41:51</sys_created_on><sys_id>ee544b44db9e7600b793f2b6ae96193f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:41:51</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>a5b3c344db9e7600b793f2b6ae961967</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"ee544b44db9e7600b793f2b6ae96193f\">ee544b44db9e7600b793f2b6ae96193f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:41:51</sys_created_on><sys_id>22544b44db9e7600b793f2b6ae961940</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>lZTNcpswFIX3eYpbdZPMBCEJ/WaMZ1ovsnFX2XVHjQJMMPIAid2374U4sZy4nSkskD6ujs49wl4MLxXsm3KscyLY7kCg9k1Vjznhdpq9NH7/PRxyknDgDAQDbpH6fmhCh0WUEzhs227IST2Ou7s03e/3dJ/R0FepYIyluMGx5O7QNt3TpULunEvnt2R5BbD4kiRw7zvfF2Po7+DhyY+bGiSnAq4zlTlzAwlEMr9C7bdN0W1C2XQV3YRtOryuSZJZsPTDZrnqfTH6Etsd66MmXaTzq9eax2E5zfExzStoypzc9+F5l3Bscxj78ORz8lUW0/0GkmN6WPHYtG1OutD513HSP7e4wL/4LpQlgbEvuuEx9NuczMMW7VwzyubrFjg/Dm/mFNDCLrS/q9DNRh7qYudjF9+mm8AuNN2I8XNDnbRcSAdc0Exxa4wES43NJqhjqqgRc6kFrqhk+hM91TKaWRxJ93fMKM9m6hRENiJMMNhjM2+tFXgI2NYPQ4VSGuvNraSGywwXWFhFOKMS/bMJWyqs4GyigkqBnaE6OKqknrzomK44o5ZzLVVMMWSLzoWKZU8wtnCiijrjuDTSwEnU4GmhwwlGBiK6PsNGu0lXk7l/+NeZTmFhPB+TctSJOXF966g21ighNazOsLVOoU+FlowyWk8ULTPN0JOKjUZ0fRmjcpZhQJ80sH38wX7cL6Lv5taX8eoMS22cwmQg2s9R4eavUseeI7q+jFdR32caUUbRfpcCXV/GP//v4BZptbxaTP9+yz+YIZumZAUAAA==</data><length>788</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"ee544b44db9e7600b793f2b6ae96193f\">ee544b44db9e7600b793f2b6ae96193f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:41:51</sys_created_on><sys_id>a2544b44db9e7600b793f2b6ae961940</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-2058634376</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>544d2780db9283001e3eff041d961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c91a70000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>Live Chat with Customer Support</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>623398803dda430038ca442ce4f7c246</update_guid>\n<update_guid_history>623398803dda430038ca442ce4f7c246:-2058634376,8ab477b34b8a4300a4e55fe43ea8264f:1683132556,4eb477b3638a43002f9c538cc8c08032:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_4b754f44db9e7600b793f2b6ae9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Call Customer Support</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=4b754f44db9e7600b793f2b6ae9619e9&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles>snc_internal</roles><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>10 minute wait time</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:46:50</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4b754f44db9e7600b793f2b6ae9619e9</sys_id><sys_mod_count>4</sys_mod_count><sys_name>Call Customer Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_4b754f44db9e7600b793f2b6ae9619e9</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:07</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4b754f44db9e7600b793f2b6ae9619e9\"/><fx_price action=\"delete_multiple\" query=\"id=4b754f44db9e7600b793f2b6ae9619e9\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>4b754f44db9e7600b793f2b6ae9619e9</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:46:50</sys_created_on><sys_id>37754f44db9e7600b793f2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:46:50</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>4b754f44db9e7600b793f2b6ae9619e9</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:46:50</sys_created_on><sys_id>3b754f44db9e7600b793f2b6ae9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:46:50</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1039</size_bytes><size_compressed>590</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:46:58</sys_created_on><sys_id>21854f44db9e7600b793f2b6ae9619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:46:58</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>4b754f44db9e7600b793f2b6ae9619e9</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"21854f44db9e7600b793f2b6ae9619ef\">21854f44db9e7600b793f2b6ae9619ef</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:46:58</sys_created_on><sys_id>61854f44db9e7600b793f2b6ae9619ef</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>bVM9k5swEO3vVyhKczcDi1ZCXzfGM4mLNJfqunTEyIY5GzxAzv75WQmccRGpQHrSvn1vtWymzyO7ds3cVlzi5cZZG7pjO9NOxt1nF67fh1vFc2SGSWRSEhjGqRv6iiMgZ7fzqZ8q3s7z5bUortcrXBUM47GQQoiC+Ncrr7dT13/87yJ674t0yrdPjG2+5Dn7Efow1vMwvrL3jzDvW1YiSPastPL2heXsgeb30IZzV/f7oen6I+yHczEtMXmeCJsw7be7MdRzaMjt3K6csCnS0XLnMG3jnj5xf2RdU/FLO/Qh16BoktdpHoePUPGvZR3nHcjXCtKNQ3c6VbynqGWdj39OFBA+Qz80DWfzWPfTYRjPFU/LE2l6FiDSyJgFlcZLqgTJuNSkloT8tIBaZxq002xnwQsTh81KcEpq9oAoMIhpyZYgCU57TMCbBsRMgENiKUFpq2knDDGQQbUyrIgE5UpckRjxRk9gFoEZglfaxSXbCZCesnixZhFE5fGur5QLLcHO2+TBLrRRQhSIAkofAyxzoIVwSwayVmqGihhSpgwdoCBhOzrSdlFGmDMMDQi/CnNgxUKGloysqAWrbLRAHI5SGqpSYiU2R15IGGqiStfZP6gEQ9nZPUqRBeIwgKVYJGEUufJQn7iUOcLCxzgyaFY7d4j8oH4MfENJ4solUIKWS7l2qSwylcd4qozCLJaHXBgo7foOhp6EbD22xy+eeoelDn5v60t47NxvcXJq9dhaqdWL4/ZpE//U7V8ngtTTDwQAAA==</data><length>776</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"21854f44db9e7600b793f2b6ae9619ef\">21854f44db9e7600b793f2b6ae9619ef</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:46:58</sys_created_on><sys_id>e1854f44db9e7600b793f2b6ae9619ef</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-651703667</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>904d2780db9283001e3eff041d961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c8fa50000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>Call Customer Support</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>6a339880ccda4300628fb86232fb5232</update_guid>\n<update_guid_history>6a339880ccda4300628fb86232fb5232:-651703667,5eb477b35e8a4300928fce676c9d2275:2100054009,4eb477b3b48a4300431c9dac99ac3f30:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_6a339880dbda43001e3eff041d961903</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Call Customer Support\">4b754f44db9e7600b793f2b6ae9619e9</sc_cat_item><sc_category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-11-02 23:59:07</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>6a339880dbda43001e3eff041d961903</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Support Options.Call Customer Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_6a339880dbda43001e3eff041d961903</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:07</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>1587402708</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>9c4d2780db9283001e3eff041d961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c8fec0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>PE Support Options.Call Customer Support</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>6e3398805eda43002ce231b9c060cf33</update_guid>\n<update_guid_history>6e3398805eda43002ce231b9c060cf33:1587402708</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_7f2cc7f3db8a7600b793f2b6ae96194d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function SupportOptionsController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.pe-support-options {&amp;#13;\n  margin-top: 20px;&amp;#13;\n  p {&amp;#13;\n    font-size: 18px;&amp;#13;\n    color: #485563;&amp;#13;\n  }&amp;#13;\n  h2 {&amp;#13;\n    font-size: 18px;&amp;#13;\n    font-weight: 600;&amp;#13;\n    color: #2a3342;&amp;#13;\n  }&amp;#13;\n  .options {&amp;#13;\n    margin: 0 -15px;&amp;#13;\n    padding: 0;&amp;#13;\n    list-style: none;&amp;#13;\n    li {&amp;#13;\n      padding-left: 15px;&amp;#13;\n      font-size: 16px;&amp;#13;\n      border-top: solid 1px #cccccc;&amp;#13;\n      position: relative;&amp;#13;\n      svg {&amp;#13;\n        stroke: #4a4a4a;&amp;#13;\n        fill: #4a4a4a;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    li:first-child {&amp;#13;\n      border: none;&amp;#13;\n    }&amp;#13;\n    li:hover,&amp;#13;\n    li:active {&amp;#13;\n      font-size: 16px;&amp;#13;\n      color: #ffffff;&amp;#13;\n      background-color: #2a3342;&amp;#13;\n      svg {&amp;#13;\n        stroke: #fff;&amp;#13;\n        fill: #fff;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .icon {&amp;#13;\n      position: absolute;&amp;#13;\n      top: 50%;&amp;#13;\n      margin-top: -12px;&amp;#13;\n    }&amp;#13;\n    .info {&amp;#13;\n      padding: 10px 0 10px 30px;&amp;#13;\n      .title {&amp;#13;\n        font-size: 16px;&amp;#13;\n      }&amp;#13;\n      .subtitle {&amp;#13;\n        font-size: 15px;&amp;#13;\n        color: #808080;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-support-options&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Support Options&lt;/name&gt;&lt;option_schema&gt;[&amp;#13;\n  {&amp;#13;\n    \"name\": \"title\",&amp;#13;\n    \"default_value\": \"Support Options\",&amp;#13;\n    \"label\": \"Title\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"category\",&amp;#13;\n    \"default_value\": \"PE Support Options\",&amp;#13;\n    \"label\": \"Category\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"fields\",&amp;#13;\n    \"default_value\": \"sc_cat_item.name, sc_cat_item.icon, sc_cat_item.short_description\",&amp;#13;\n    \"label\": \"Fields\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"items\",&amp;#13;\n    \"default_value\": \"Live Chat with Customer Support, Call Customer Support, How to reset your Okta cookie, Run Health Check\",&amp;#13;\n    \"label\": \"Items\",&amp;#13;\n    \"type\": \"string\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"showTitle\",&amp;#13;\n    \"default_value\": \"true\",&amp;#13;\n    \"label\": \"Show Title\",&amp;#13;\n    \"type\": \"boolean\"&amp;#13;\n  },&amp;#13;\n  {&amp;#13;\n    \"name\": \"display_all_items\",&amp;#13;\n    \"default_value\": false,&amp;#13;\n    \"label\": \"Show All Catalog Items\",&amp;#13;\n    \"type\": \"boolean\"&amp;#13;\n  }&amp;#13;\n]&amp;#13;\n&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.fields = options.fields || serverOptions.fields;\n  options.items = options.items || serverOptions.items;\n  options.display_all_items = options.display_all_items || serverOptions.display_all_items;\n  var categoriesGR = new GlideRecord('sc_cat_item_category');\n  var allItems = 'sc_category.title=' + options.category;\n  var selectedItems = 'sc_category.title=' + options.category + '^sc_cat_item.nameIN' + options.items;\n  var encodedQuery = options.display_all_items == 'true' ? allItems : selectedItems;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.fields);\n    items.push(obj);\n  }\n  data.items = items;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-17 22:37:34&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;7f2cc7f3db8a7600b793f2b6ae96194d&lt;/sys_id&gt;&lt;sys_mod_count&gt;60&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Support Options&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_7f2cc7f3db8a7600b793f2b6ae96194d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-11-03 15:46:53&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-support-options\"&gt;\n  &lt;h2 ng-if=\"options.showTitle == 'true'\"&gt;{{::options.title}}&lt;/h2&gt;\n  &lt;ul class=\"options\"&gt;\n    &lt;li ng-repeat=\"item in ::data.items track by $index\"&gt;\n      &lt;div class=\"icon\"&gt;\n        &lt;img src=\"{{::item['sc_cat_item.icon'].display_value}}\"&gt;\n      &lt;/div&gt;\n      &lt;div class=\"info\"&gt;\n        &lt;div class=\"title\"&gt;{{::item['sc_cat_item.name'].value}}&lt;/div&gt;\n        &lt;div class=\"subtitle\"&gt;{{::item['sc_cat_item.short_description'].value}}&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/li&gt;\n  &lt;/ul&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1006301851</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>d44d2780db9283001e3eff041d961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f829041e80000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>PE Support Options</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>792ce7405c9283007777b8ca140ccdc6</update_guid>\n<update_guid_history>792ce7405c9283007777b8ca140ccdc6:-1006301851,b0ab6f00b9928300f14318a2f57c3fcf:439437988,0ab461b015d8c7004be657d009cb812d:-709969713,28a421b0a0d8c70092d5045a2510cae4:1519693659,2094ed703cd8c700ef845cec3743eff6:-249425671,1334e1707ed8c700675e644bd2a0e8e7:-709969713,2108160745:2108160745</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_category_26339880dbda43001e3eff041d96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item_category\"><sc_cat_item_category action=\"INSERT_OR_UPDATE\"><sc_cat_item display_value=\"Live Chat with Customer Support\">a5b3c344db9e7600b793f2b6ae961967</sc_cat_item><sc_category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</sc_category><sys_class_name>sc_cat_item_category</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-11-02 23:59:08</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>26339880dbda43001e3eff041d96193e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Support Options.Live Chat with Customer Support</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_category_26339880dbda43001e3eff041d96193e</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:08</sys_updated_on></sc_cat_item_category></record_update>]]></payload>\n<payload_hash>-1903715944</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>d84d2780db9283001e3eff041d961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c91c80000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>PE Support Options.Live Chat with Customer Support</target_name>\n<type>Catalog Item Category</type>\n<update_domain>global</update_domain>\n<update_guid>26339880c3da43003ebe9393c6211047</update_guid>\n<update_guid_history>26339880c3da43003ebe9393c6211047:-1903715944</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sc_cat_item_470cfe80db9e7600b793f2b6ae9619f5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sc_cat_item\"><sc_cat_item action=\"INSERT_OR_UPDATE\"><active>true</active><availability>on_desktop</availability><billable>false</billable><category display_value=\"PE Support Options\">60e25480dbda43001e3eff041d9619a3</category><cost>0</cost><custom_cart/><delivery_plan display_value=\"DEFAULT\">523da512c611228900811a37c97c2014</delivery_plan><delivery_plan_script/><delivery_time>1970-01-03 00:00:00</delivery_time><description/><entitlement_script/><group/><icon/><ignore_price>true</ignore_price><image/><list_price>0</list_price><location/><meta/><mobile_hide_price>false</mobile_hide_price><mobile_picture/><mobile_picture_type>use_desktop_picture</mobile_picture_type><model/><name>Run Health Check</name><no_cart>false</no_cart><no_order>false</no_order><no_order_now>false</no_order_now><no_proceed_checkout>false</no_proceed_checkout><no_quantity>false</no_quantity><no_search>false</no_search><omit_price>false</omit_price><order>0</order><ordered_item_link/><picture/><preview>JavaScript: popupOpenStandard(\"com.glideapp.servicecatalog_cat_item_view.do?v=1&amp;sysparm_id=470cfe80db9e7600b793f2b6ae9619f5&amp;sysparm_preview=true\", \"summary\");</preview><price>0</price><recurring_frequency/><recurring_price>0</recurring_price><roles>snc_internal</roles><sc_catalogs>742ce428d7211100f2d224837e61036d</sc_catalogs><sc_ic_item_staging/><sc_ic_version/><short_description>5 second run time</short_description><show_variable_help_on_load>false</show_variable_help_on_load><start_closed>false</start_closed><sys_class_name>sc_cat_item</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:08:06</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>470cfe80db9e7600b793f2b6ae9619f5</sys_id><sys_mod_count>4</sys_mod_count><sys_name>Run Health Check</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sc_cat_item_470cfe80db9e7600b793f2b6ae9619f5</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-11-02 23:59:08</sys_updated_on><template/><type>item</type><use_sc_layout>true</use_sc_layout><vendor/><visible_bundle>true</visible_bundle><visible_guide>true</visible_guide><visible_standalone>true</visible_standalone><workflow/></sc_cat_item><sys_translated_text action=\"delete_multiple\" query=\"documentkey=470cfe80db9e7600b793f2b6ae9619f5\"/><fx_price action=\"delete_multiple\" query=\"id=470cfe80db9e7600b793f2b6ae9619f5\"/><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>price</field><id>470cfe80db9e7600b793f2b6ae9619f5</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:08:06</sys_created_on><sys_id>50ac72c0db9e7600b793f2b6ae9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:08:06</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><fx_price action=\"INSERT_OR_UPDATE\"><amount>0</amount><currency display_value=\"USD\">USD</currency><field>recurring_price</field><id>470cfe80db9e7600b793f2b6ae9619f5</id><parent/><reference_amount>0</reference_amount><reference_currency display_value=\"USD\">USD</reference_currency><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:08:07</sys_created_on><sys_id>54ac72c0db9e7600b793f2b6ae9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:08:07</sys_updated_on><table>sc_cat_item</table><type>calculated</type></fx_price><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>icon</file_name><image_height/><image_width/><size_bytes>1169</size_bytes><size_compressed>543</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:35:26</sys_created_on><sys_id>3ce28344db9e7600b793f2b6ae961957</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 16:35:26</sys_updated_on><table_name>ZZ_YYsc_cat_item</table_name><table_sys_id>470cfe80db9e7600b793f2b6ae9619f5</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"icon\" sys_id=\"3ce28344db9e7600b793f2b6ae961957\">3ce28344db9e7600b793f2b6ae961957</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:35:26</sys_created_on><sys_id>7ce28344db9e7600b793f2b6ae961957</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>jVRNj5swEL3vr3C9l10pDBgIH1HIoTn0kp721hsbHEAhNgI2pP++4y/KrnpoQLKf/ebNmxmU/XivydxWU1NQlvYPShre1s3k0L3l83f5KKjHCMM3xRdP+TC2UiAJGCWPWyfGgjbT1O98f55nmCOQQ+2HQRD4mMBSdo+uFdd/EVme576+pYcnQvbfPI/84IIP5SSHHXm78unckJhBSF6ibZSnr8QjK5l32fBbW4qzrFpRw1ne/NHEeJ4WrPh4PhwHXk68wnKnxmrC3tdXhnMZDwrjonBN2qqg/Uc3cm9sa1F2XggRPljyOA3yygv6HJfqcQee6yQll7brCiqk4GbvDR8dBvA7F7KqKJmGUowXOdwKqrcdWnsJINC/DWGh3b7qjqCdXna/sUNcu3pryh6Fe9mKCVsfQMTCLdlCHqVbEkK2QjEESWgWlqXqeOEmCiewVfdYVhgrfgZ6yR2fBYQhxexxAoswiyExggpSbJ2z6ByX2Gc0+9MyNywy2sflIAblxSwbJ2hpCz4xbXHBxwCy9BPD1O/kHLLZTg6bQo8WOhGyqNku2mwWnZwbi4/WrCPbSha1pTST7fS19l9UN4esxqg6h636/zkzK87ADkWjENSw3FgjUFch6LnFEK2ICYRrYIbs4jIzERuYwSoOSck6u/4Y/kYybcAGsgg+OXWjNfjrx7L368PTXv1VHP4Ab2IZmpEEAAA=</data><length>712</length><position>1</position><sys_attachment display_value=\"icon\" sys_id=\"3ce28344db9e7600b793f2b6ae961957\">3ce28344db9e7600b793f2b6ae961957</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 16:35:26</sys_created_on><sys_id>fce28344db9e7600b793f2b6ae961957</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>76596733</payload_hash>\n<remote_update_set display_value=\"PE Support Options\">184da380db9283001e3eff041d9619c0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-11-03 15:51:42</sys_created_on>\n<sys_id>dc4d2780db9283001e3eff041d961980</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15f7f2c926c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-11-03 15:51:42</sys_updated_on>\n<table/>\n<target_name>Run Health Check</target_name>\n<type>Catalog Item</type>\n<update_domain>global</update_domain>\n<update_guid>3e33988001da43007043144a12dc7f4f</update_guid>\n<update_guid_history>3e33988001da43007043144a12dc7f4f:76596733,9ab477b3e08a430017a2bfb818e39082:1348887913,4eb477b33d8a43001e354a5a739dd52e:0</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-support-options/widget/pe-support-options.u-body-html-template.html",
    "content": "<div class=\"pe-support-options\">\n  <h2 ng-if=\"options.showTitle == 'true'\">{{::options.title}}</h2>\n  <ul class=\"options\">\n    <li ng-repeat=\"item in ::data.items track by $index\">\n      <div class=\"icon\">\n        <img src=\"{{::item['sc_cat_item.icon'].display_value}}\">\n      </div>\n      <div class=\"info\">\n        <div class=\"title\">{{::item['sc_cat_item.name'].value}}</div>\n        <div class=\"subtitle\">{{::item['sc_cat_item.short_description'].value}}</div>\n      </div>\n    </li>\n  </ul>\n</div>"
  },
  {
    "path": "pe-support-options/widget/pe-support-options.u-client-script.js",
    "content": "function SupportOptionsController() {\n  var c = this;\n}"
  },
  {
    "path": "pe-support-options/widget/pe-support-options.u-css.scss",
    "content": ".pe-support-options {\n  margin-top: 20px;\n  p {\n    font-size: 18px;\n    color: #485563;\n  }\n  h2 {\n    font-size: 18px;\n    font-weight: 600;\n    color: #2a3342;\n  }\n  .options {\n    margin: 0 -15px;\n    padding: 0;\n    list-style: none;\n    li {\n      padding-left: 15px;\n      font-size: 16px;\n      border-top: solid 1px #cccccc;\n      position: relative;\n      svg {\n        stroke: #4a4a4a;\n        fill: #4a4a4a;\n      }\n    }\n    li:first-child {\n      border: none;\n    }\n    li:hover,\n    li:active {\n      font-size: 16px;\n      color: #ffffff;\n      background-color: #2a3342;\n      svg {\n        stroke: #fff;\n        fill: #fff;\n      }\n    }\n    .icon {\n      position: absolute;\n      top: 50%;\n      margin-top: -12px;\n    }\n    .info {\n      padding: 10px 0 10px 30px;\n      .title {\n        font-size: 16px;\n      }\n      .subtitle {\n        font-size: 15px;\n        color: #808080;\n      }\n    }\n  }\n}"
  },
  {
    "path": "pe-support-options/widget/pe-support-options.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"title\",\n    \"default_value\": \"Support Options\",\n    \"label\": \"Title\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"category\",\n    \"default_value\": \"PE Support Options\",\n    \"label\": \"Category\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"fields\",\n    \"default_value\": \"sc_cat_item.name, sc_cat_item.icon, sc_cat_item.short_description\",\n    \"label\": \"Fields\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"items\",\n    \"default_value\": \"Live Chat with Customer Support, Call Customer Support, How to reset your Okta cookie, Run Health Check\",\n    \"label\": \"Items\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"showTitle\",\n    \"default_value\": \"true\",\n    \"label\": \"Show Title\",\n    \"type\": \"boolean\"\n  },\n  {\n    \"name\": \"display_all_items\",\n    \"default_value\": false,\n    \"label\": \"Show All Catalog Items\",\n    \"type\": \"boolean\"\n  }\n]\n"
  },
  {
    "path": "pe-support-options/widget/pe-support-options.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title;\n  options.category = options.category || serverOptions.category;\n  options.fields = options.fields || serverOptions.fields;\n  options.items = options.items || serverOptions.items;\n  options.display_all_items = options.display_all_items || serverOptions.display_all_items;\n  var categoriesGR = new GlideRecord('sc_cat_item_category');\n  var allItems = 'sc_category.title=' + options.category;\n  var selectedItems = 'sc_category.title=' + options.category + '^sc_cat_item.nameIN' + options.items;\n  var encodedQuery = options.display_all_items == 'true' ? allItems : selectedItems;\n  categoriesGR.addEncodedQuery(encodedQuery);\n  categoriesGR.query();\n  var items = [];\n  var obj;\n  while (categoriesGR.next()) {\n    obj = {};\n    $sp.getRecordElements(obj, categoriesGR, options.fields);\n    items.push(obj);\n  }\n  data.items = items;\n})();"
  },
  {
    "path": "pe-tabbed-panel-horizontal/Readme.md",
    "content": "# PE Tabbed Panel Horizontal\n\n## Description\n\nThe widget provides the ability to have three (3) horizontally aligned tabs.\nWhen a tab/indicator is clicked a container displays below the widget with additional information as part of the widget or another widget element/component.\n\n## Screenshots\n![](../images/pe-tabbed-panel-horizontal.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-tabbed-panel-horizontal.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-tabbed-panel-horizontal/pe-tabbed-panel-horizontal.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is annotated and included as part of the widget's Server Script file.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$tph-font-color: #2e2e2e !default;`<br/>\n`$tph-gray-color: #65666A !default;`<br/>\n`$tph-red-color: #e51b24 !default;`<br/>\n`$tph-orange-color: #e89033 !default;`<br/>\n`$tph-green-color: #70be5a !default;`<br/>\n`$tph-background-color: #ffffff !default;`<br/>\n`$tph-border-color: #e4e5e6 !default;`<br/>\n`$tph-niblet-color: #e51b24 !default;`<br/>"
  },
  {
    "path": "pe-tabbed-panel-horizontal/pe-tabbed-panel-horizontal.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-26 12:48:20\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Tabbed Panel Horizontal</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>15b805464f12be0005be4d6e0210c7bd</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:48:20</sys_created_on>\n<sys_id>8cab9bee4f12fe0005be4d6e0210c7a8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:48:20</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_dce885464f12be0005be4d6e0210c7c2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TabbedPanelHorizontalController($timeout) {\n  /* widget controller */\n  var tph = this;\n\n\t$timeout(function(){\n\t\t/* Set the conditions for not showing the sub-cards and niblets */\n\t\ttph.showBtmCard = new Array(tph.data.cards.length);\n\t\ttph.nib = new Array(tph.data.cards.length);\n\n\t\tfor(var x=0;x&lt;tph.showBtmCard.length;x++){\n\t\t\ttph.showBtmCard[x] = new Array(tph.data.cards[x].tabs.length);\n\t\t\ttph.nib[x] = new Array(tph.data.cards.length);\n\t\t\tfor(var y=0;y&lt;tph.showBtmCard[x].length;y++){\n\t\t\t\ttph.showBtmCard[x][y] = 0;\n\t\t\t\ttph.nib[x][y] = 0;\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* Need to make sure the niblets are at the bottom of the tab's cells */\n\t\tvar result = document.getElementsByClassName(\"tph-innercard-tabs\");\n\t\tvar divHeight = result[0].offsetHeight;\n\t\tfor(var i=1;i&lt;result.length;i++){\n\t\t\tif(divHeight &lt; result[i].offsetHeight){\n\t\t\t\tdivHeight = result[i].offsetHeight;\n\t\t\t}\n\t\t}\n\t\tfor(var i=0;i&lt;result.length;i++){\n\t\t\tangular.element(result[i]).css('height',divHeight);\n\t\t}\n\t});\n\t\n\ttph.showPanel = function(item,tab,status){\n\t\tif(tph.showBtmCard[item.cardIndex][tab.tabIndex]===1){\n\t\t\ttph.showBtmCard[item.cardIndex][tab.tabIndex] = 0;\n\t\t\ttph.nib[item.cardIndex][tab.tabIndex] = 0;\n\t\t}else{\n\t\t\tfor(var x=0;x&lt;tph.showBtmCard.length;x++){\n\t\t\t\tfor(var y=0;y&lt;tph.showBtmCard[x].length;y++){\n\t\t\t\t\ttph.showBtmCard[x][y] = 0;\n\t\t\t\t\ttph.nib[x][y] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttph.showBtmCard[item.cardIndex][tab.tabIndex] = 1;\n\t\t\ttph.nib[item.cardIndex][tab.tabIndex] = 1;\n\t\t}\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;tph&lt;/controller_as&gt;&lt;css&gt;$tph-font-color: #2e2e2e !default;\n$tph-gray-color: #65666A !default;\n$tph-red-color: #e51b24 !default;\n$tph-orange-color: #e89033 !default;\n$tph-green-color: #70be5a !default;\n$tph-background-color: #ffffff !default;\n$tph-border-color: #e4e5e6 !default;\n$tph-niblet-color: #e51b24 !default;\n\n.tph-frame {\n  width: 100%;\n  min-width: 300px;\n  color: $tph-font-color;\n  background-color: $tph-background-color;\n  border: 1px solid $tph-border-color;\n  font-size: 12px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n  line-height: normal;\n  letter-spacing: normal;\n  text-align: left;\n  padding: 5px;\n  margin-bottom: 10px;\n}\n.tph-frame-title {\n  height: 16px;\n  line-height: 16px;\n  font-size: 16px;\n  border: 0px solid transparent;\n}\n.tph-frame-subtitle {\n  font-size: 12px;\n  color: $tph-red-color;\n}\n.tph-cards{\n  padding-top: 10px;\n}\n.tph-innercard {\n  border: 1px solid $tph-border-color;\n  border-left: solid 3px $tph-green-color;\n  padding: 0px;\n  margin-bottom: 10px;\n}\n.tph-innercard-title {\n  width: 100%;\n  border-bottom: 1px solid $tph-border-color;\n  height: 55px;\n  padding-bottom: 10px;\n}\n.tph-innercard-text {\n  font-size: 18px;\n  font-weight: normal;\n  line-height: 55px;\n  color: $tph-gray-color;\n  padding-left: 10px;\n}\n.tph-status-1{\n  border-left: solid 3px $tph-red-color;\n}\n.tph-status-2{\n  border-left: solid 3px $tph-orange-color;\n}\n.tph-status-3{\n  border-left: solid 3px $tph-green-color;\n}\n.tph-innercard-tabs{\n  display: inline-flex;\n  width: 33.3%;\n  text-align: center;\n  position: relative;\n}\n.tph-innercard-status { \n  display: inline-block;\n  margin: 0 auto;\n  white-space: initial;\n  line-height: normal;\n  font-size: 40px;\n  padding-top: 5px;\n  cursor: pointer;\n}\n.tph-innercard-status: hover { \n  background-color: lightgray;\n}\n.tph-innercard-label {\n  font-size: 14px;\n  font-weight: normal;\n  text-align: center;\n  line-height: 14px;\n  color: $font-color;\n  padding-bottom: 10px;\n  text-transform: uppercase;\n}\n.tph-circle-red{\n\tcolor: $tph-red-color;\n}\n.tph-circle-orange{\n\tcolor: $tph-orange-color;\n}\n.tph-circle-green{\n\tcolor: $tph-green-color;\n}\n.wgt-bottom-inner{\n  width: 100%;\n  border: 0px transparent;\n  margin: 0px;\n  margin-top: -11px;\n}\n.tph-bottom-innercard{\n  display: block;\n  border: solid 1px $tph-border-color;\n  border-top: solid 0px transparent;\n  margin-bottom: 10px;\n  margin-top: -10px;\n  min-height: 50px;\n}\n\n\n/* Active Tab Niblets - Bottom Border Indicator */\n.nib-wrapper {\n  position: absolute;\n  bottom: 0;\n  border-bottom: 2px solid $tph-niblet-color;\n  transition: left 0.5s;\n}\n.nib {\n  width: 0;\n  height: 0;\n  margin: 0 auto;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid $tph-niblet-color;\n}\n.nib-wrapper.nib-cntr {\n  width: 100%;\n}\n.nib-hide {\n  display: none;\n}\n\n@media (max-width: 375px) {\n  .tph-innercard-status { \n    max-width: 100px;\n\t}\n}\n@media (max-width: 320px) {\n  .tph-frame {\n    padding-left: 3px;\n    padding-right: 3px;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-tabbed-panel-horizontal&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Tabbed Panel Horizontal&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Frame Title\",\"name\":\"frame_title\",\"default_value\":\"Title\",\"label\":\"Frame Title\",\"type\":\"string\"},{\"hint\":\"Frame Sub-Title\",\"name\":\"frame_sub_title\",\"default_value\":\"Sub-Title\",\"label\":\"Frame Sub Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n\t/* Used to set the Tab's name property */\n\tvar tabLabel = [\"SPEND\",\"PROJECTS\",\"SERVICE QUALITY\"];\n\t/* \n\t\tUse Widget Schema options to set Frame Title and SubTitle\n\t\tOR hard code Title and SubTitle below.\n\t*/\n\t\n\tdata.frame = {\n\t\ttitle: options.frame_title,\n\t\tsubtitle: options.frame_sub_title\n\t}\n\t\n\t/* ITBM Demo Data - Comment out or Remove to use structure above */\n\tdata.frame = {\n\t\ttitle: \"Business Unit Performance\",\n\t\tsubtitle: \"1 BU at risk\"\n\t}\n\t\t\n\t/*\n\t\tCard's Tabs can have a different label by setting the 'name' property for the respective tab.\n\t\tStatus values (1,2,3) of Cards and Tabs control colors red,orange,green [repectively] of Card's left borders and Tab's circles\n\t*/\n\tdata.cards = [{\n\t\tname: \"Human Resources\",\n\t\tstatus: 1,\n\t\ttabs:[{\n\t\t\tname: tabLabel[0],\n\t\t\tstatus: 1\n\t\t},{\n\t\t\tname: tabLabel[1],\n\t\t\tstatus: 3\n\t\t},{\n\t\t\tname: tabLabel[2],\n\t\t\tstatus: 3\n\t\t}]\n\t},{\n\t\tname: \"Marketing\",\n\t\tstatus: 3,\n\t\ttabs:[{\n\t\t\tname: tabLabel[0],\n\t\t\tstatus: 3\n\t\t},{\n\t\t\tname: tabLabel[1],\n\t\t\tstatus: 3\n\t\t},{\n\t\t\tname: tabLabel[2],\n\t\t\tstatus: 3\n\t\t}]\n\t}]\n\t\n\t\n\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 12:50:44&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;dce885464f12be0005be4d6e0210c7c2&lt;/sys_id&gt;&lt;sys_mod_count&gt;154&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Tabbed Panel Horizontal&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_dce885464f12be0005be4d6e0210c7c2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-25 12:15:54&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='tph-frame'&gt;\n  &lt;div class='tph-frame-title'&gt;{{::tph.data.frame.title}}&lt;/div&gt;\n  &lt;div class='tph-frame-subtitle'&gt;{{::tph.data.frame.subtitle}}&lt;/div&gt;\n  &lt;div ng-class=\"{'tph-cards': $first }\" ng-repeat='card in tph.data.cards' ng-init=\"cardIndex=$index\"&gt;\n    &lt;div class='tph-innercard' ng-class=\"{'tph-status-1': card.status===1,'tph-status-2': card.status===2}\"&gt;\n      &lt;div class='tph-innercard-title'&gt;&lt;div class='tph-innercard-text'&gt;{{::card.name}}&lt;/div&gt;&lt;/div&gt;\n      &lt;div id='crdTab{{::cardIndex}}{{::tabIndex}}' class='tph-innercard-tabs' ng-repeat='tab in card.tabs' ng-init=\"tabIndex=$index\"&gt;\n        &lt;div class='tph-innercard-status' ng-click='tph.showPanel({::cardIndex},{::tabIndex},tab.status)'&gt;\n          &lt;i class=\"fa fa-circle\" ng-class=\"{'tph-circle-red': tab.status===1,'tph-circle-orange': tab.status===2,'tph-circle-green': tab.status===3}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        \t&lt;div class=\"tph-innercard-label\"&gt;{{tab.name}}&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div id='nib{{::cardIndex}}{{::tabIndex}}' class='nib-wrapper nib-cntr' ng-class=\"{'nib-hide' : tph.nib[{{::cardIndex}}][{{::tabIndex}}]==0}\"&gt;&lt;div class='nib'&gt;&lt;/div&gt;&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div id=\"btmCard{{::cardIndex}}{{::tabIndex}}\" ng-repeat='tab in card.tabs' ng-init=\"tabIndex=$index\" class='tph-bottom-innercard' ng-show=\"tph.showBtmCard[{{::cardIndex}}][{{::tabIndex}}]===1\"&gt;\n      &lt;div style='padding-left: 10px;'&gt;\n      \tCard: {{::card.name}} | Index: {{::cardIndex}} &lt;br/&gt;\n      \tTab: {{::tab.name}} | Index: {{::tabIndex}}&lt;br/&gt;\n      \t&lt;em&gt;&lt;i&gt;Replace content in this tab with desired information.&lt;/i&gt;&lt;/em&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tabbed Panel Horizontal\">8cab9bee4f12fe0005be4d6e0210c7a8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:48:20</sys_created_on>\n<sys_id>40ab9bee4f12fe0005be4d6e0210c7a9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:48:20</sys_updated_on>\n<table/>\n<target_name>PE Tabbed Panel Horizontal</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-tabbed-panel-horizontal/widget/pe-tabbed-panel-horizontal.u-body-html-template.html",
    "content": "<div class='tph-frame'>\r\n    <div class='tph-frame-title'>{{::tph.data.frame.title}}</div>\r\n    <div class='tph-frame-subtitle'>{{::tph.data.frame.subtitle}}</div>\r\n    <div ng-class=\"{'tph-cards': $first }\" ng-repeat='card in tph.data.cards' ng-init=\"cardIndex=$index\">\r\n        <div class='tph-innercard' ng-class=\"{'tph-status-1': card.status===1,'tph-status-2': card.status===2}\">\r\n            <div class='tph-innercard-title'>\r\n                <div class='tph-innercard-text'>{{::card.name}}</div>\r\n            </div>\r\n            <div id='crdTab{{::cardIndex}}{{::tabIndex}}' class='tph-innercard-tabs' ng-repeat='tab in card.tabs' ng-init=\"tabIndex=$index\">\r\n                <div class='tph-innercard-status' ng-click='tph.showPanel({::cardIndex},{::tabIndex},tab.status)'>\r\n                    <i class=\"fa fa-circle\" ng-class=\"{'tph-circle-red': tab.status===1,'tph-circle-orange': tab.status===2,'tph-circle-green': tab.status===3}\" aria-hidden=\"true\"></i>\r\n                    <div class=\"tph-innercard-label\">{{tab.name}}</div>\r\n                </div>\r\n                <div id='nib{{::cardIndex}}{{::tabIndex}}' class='nib-wrapper nib-cntr' ng-class=\"{'nib-hide' : tph.nib[{{::cardIndex}}][{{::tabIndex}}]==0}\">\r\n                    <div class='nib'></div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div id=\"btmCard{{::cardIndex}}{{::tabIndex}}\" ng-repeat='tab in card.tabs' ng-init=\"tabIndex=$index\" class='tph-bottom-innercard' ng-show=\"tph.showBtmCard[{{::cardIndex}}][{{::tabIndex}}]===1\">\r\n            <div style='padding-left: 10px;'>\r\n                Card: {{::card.name}} | Index: {{::cardIndex}} <br/> Tab: {{::tab.name}} | Index: {{::tabIndex}}<br/>\r\n                <em><i>Replace content in this tab with desired information.</i></em>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-tabbed-panel-horizontal/widget/pe-tabbed-panel-horizontal.u-client-script.js",
    "content": "function TabbedPanelHorizontalController($timeout) {\r\n    /* widget controller */\r\n    var tph = this;\r\n\r\n    $timeout(function() {\r\n        /* Set the conditions for not showing the sub-cards and niblets */\r\n        tph.showBtmCard = new Array(tph.data.cards.length);\r\n        tph.nib = new Array(tph.data.cards.length);\r\n\r\n        for (var x = 0; x < tph.showBtmCard.length; x++) {\r\n            tph.showBtmCard[x] = new Array(tph.data.cards[x].tabs.length);\r\n            tph.nib[x] = new Array(tph.data.cards.length);\r\n            for (var y = 0; y < tph.showBtmCard[x].length; y++) {\r\n                tph.showBtmCard[x][y] = 0;\r\n                tph.nib[x][y] = 0;\r\n            }\r\n        }\r\n\r\n        /* Need to make sure the niblets are at the bottom of the tab's cells */\r\n        var result = document.getElementsByClassName(\"tph-innercard-tabs\");\r\n        var divHeight = result[0].offsetHeight;\r\n        for (var i = 1; i < result.length; i++) {\r\n            if (divHeight < result[i].offsetHeight) {\r\n                divHeight = result[i].offsetHeight;\r\n            }\r\n        }\r\n        for (var i = 0; i < result.length; i++) {\r\n            angular.element(result[i]).css('height', divHeight);\r\n        }\r\n    });\r\n\r\n    tph.showPanel = function(item, tab, status) {\r\n        if (tph.showBtmCard[item.cardIndex][tab.tabIndex] === 1) {\r\n            tph.showBtmCard[item.cardIndex][tab.tabIndex] = 0;\r\n            tph.nib[item.cardIndex][tab.tabIndex] = 0;\r\n        } else {\r\n            for (var x = 0; x < tph.showBtmCard.length; x++) {\r\n                for (var y = 0; y < tph.showBtmCard[x].length; y++) {\r\n                    tph.showBtmCard[x][y] = 0;\r\n                    tph.nib[x][y] = 0;\r\n                }\r\n            }\r\n            tph.showBtmCard[item.cardIndex][tab.tabIndex] = 1;\r\n            tph.nib[item.cardIndex][tab.tabIndex] = 1;\r\n        }\r\n    }\r\n}"
  },
  {
    "path": "pe-tabbed-panel-horizontal/widget/pe-tabbed-panel-horizontal.u-css.scss",
    "content": "$tph-font-color: #2e2e2e !default;\n$tph-gray-color: #65666A !default;\n$tph-red-color: #e51b24 !default;\n$tph-orange-color: #e89033 !default;\n$tph-green-color: #70be5a !default;\n$tph-background-color: #ffffff !default;\n$tph-border-color: #e4e5e6 !default;\n$tph-niblet-color: #e51b24 !default;\n\n.tph-frame {\n  width: 100%;\n  min-width: 300px;\n  color: $tph-font-color;\n  background-color: $tph-background-color;\n  border: 1px solid $tph-border-color;\n  font-size: 12px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n  line-height: normal;\n  letter-spacing: normal;\n  text-align: left;\n  padding: 5px;\n  margin-bottom: 10px;\n}\n.tph-frame-title {\n  height: 16px;\n  line-height: 16px;\n  font-size: 16px;\n  border: 0px solid transparent;\n}\n.tph-frame-subtitle {\n  font-size: 12px;\n  color: $tph-red-color;\n}\n.tph-cards{\n  padding-top: 10px;\n}\n.tph-innercard {\n  border: 1px solid $tph-border-color;\n  border-left: solid 3px $tph-green-color;\n  padding: 0px;\n  margin-bottom: 10px;\n}\n.tph-innercard-title {\n  width: 100%;\n  border-bottom: 1px solid $tph-border-color;\n  height: 55px;\n  padding-bottom: 10px;\n}\n.tph-innercard-text {\n  font-size: 18px;\n  font-weight: normal;\n  line-height: 55px;\n  color: $tph-gray-color;\n  padding-left: 10px;\n}\n.tph-status-1{\n  border-left: solid 3px $tph-red-color;\n}\n.tph-status-2{\n  border-left: solid 3px $tph-orange-color;\n}\n.tph-status-3{\n  border-left: solid 3px $tph-green-color;\n}\n.tph-innercard-tabs{\n  display: inline-flex;\n  width: 33.3%;\n  text-align: center;\n  position: relative;\n}\n.tph-innercard-status { \n  display: inline-block;\n  margin: 0 auto;\n  white-space: initial;\n  line-height: normal;\n  font-size: 40px;\n  padding-top: 5px;\n  cursor: pointer;\n}\n.tph-innercard-status: hover { \n  background-color: lightgray;\n}\n.tph-innercard-label {\n  font-size: 14px;\n  font-weight: normal;\n  text-align: center;\n  line-height: 14px;\n  color: $font-color;\n  padding-bottom: 10px;\n  text-transform: uppercase;\n}\n.tph-circle-red{\n\tcolor: $tph-red-color;\n}\n.tph-circle-orange{\n\tcolor: $tph-orange-color;\n}\n.tph-circle-green{\n\tcolor: $tph-green-color;\n}\n.wgt-bottom-inner{\n  width: 100%;\n  border: 0px transparent;\n  margin: 0px;\n  margin-top: -11px;\n}\n.tph-bottom-innercard{\n  display: block;\n  border: solid 1px $tph-border-color;\n  border-top: solid 0px transparent;\n  margin-bottom: 10px;\n  margin-top: -10px;\n  min-height: 50px;\n}\n\n\n/* Active Tab Niblets - Bottom Border Indicator */\n.nib-wrapper {\n  position: absolute;\n  bottom: 0;\n  border-bottom: 2px solid $tph-niblet-color;\n  transition: left 0.5s;\n}\n.nib {\n  width: 0;\n  height: 0;\n  margin: 0 auto;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid $tph-niblet-color;\n}\n.nib-wrapper.nib-cntr {\n  width: 100%;\n}\n.nib-hide {\n  display: none;\n}\n\n@media (max-width: 375px) {\n  .tph-innercard-status { \n    max-width: 100px;\n\t}\n}\n@media (max-width: 320px) {\n  .tph-frame {\n    padding-left: 3px;\n    padding-right: 3px;\n  }\n}"
  },
  {
    "path": "pe-tabbed-panel-horizontal/widget/pe-tabbed-panel-horizontal.u-server-script.js",
    "content": "(function() {\r\n  /* populate the 'data' object */\r\n  /* e.g., data.table = $sp.getValue('table'); */\r\n\r\n\t/* Used to set the Tab's name property */\r\n\tvar tabLabel = [\"SPEND\",\"PROJECTS\",\"SERVICE QUALITY\"];\r\n\t/* \r\n\t\tUse Widget Schema options to set Frame Title and SubTitle\r\n\t\tOR hard code Title and SubTitle below.\r\n\t*/\r\n\t\r\n\tdata.frame = {\r\n\t\ttitle: options.frame_title,\r\n\t\tsubtitle: options.frame_sub_title\r\n\t}\r\n\t\r\n\t/* ITBM Demo Data - Comment out or Remove to use structure above */\r\n\tdata.frame = {\r\n\t\ttitle: \"Business Unit Performance\",\r\n\t\tsubtitle: \"1 BU at risk\"\r\n\t}\r\n\t\t\r\n\t/*\r\n\t\tCard's Tabs can have a different label by setting the 'name' property for the respective tab.\r\n\t\tStatus values (1,2,3) of Cards and Tabs control colors red,orange,green [repectively] of Card's left borders and Tab's circles\r\n\t*/\r\n\tdata.cards = [{\r\n\t\tname: \"Human Resources\",\r\n\t\tstatus: 1,\r\n\t\ttabs:[{\r\n\t\t\tname: tabLabel[0],\r\n\t\t\tstatus: 1\r\n\t\t},{\r\n\t\t\tname: tabLabel[1],\r\n\t\t\tstatus: 3\r\n\t\t},{\r\n\t\t\tname: tabLabel[2],\r\n\t\t\tstatus: 3\r\n\t\t}]\r\n\t},{\r\n\t\tname: \"Marketing\",\r\n\t\tstatus: 3,\r\n\t\ttabs:[{\r\n\t\t\tname: tabLabel[0],\r\n\t\t\tstatus: 3\r\n\t\t},{\r\n\t\t\tname: tabLabel[1],\r\n\t\t\tstatus: 3\r\n\t\t},{\r\n\t\t\tname: tabLabel[2],\r\n\t\t\tstatus: 3\r\n\t\t}]\r\n\t}]\r\n\t\r\n\t\r\n\t\r\n})();"
  },
  {
    "path": "pe-tabbed-panel-vertical/Readme.md",
    "content": "# PE Tabbed Panel Vertical\n\n## Description\n\nThe widget provides the ability to have three (3) vertically aligned tabs to the right of the widget space.\nWhen a tab is clicked, a container is displayed, to the left of the tabs; with additional information as part of the widget or another widget element/component.\n\n> **NOTE** - data and coding for graphs on the individual panels is not included with the update set.\n\n## Screenshots\n<table><tr style='vertical-align:top'><td>\n\n![](../images/pe-tabbed-panel-vertical-1.png)\n</td><td>\n\n![](../images/pe-tabbed-panel-vertical-2.png)\n</td><td>\n\n![](../images/pe-tabbed-panel-vertical-3.png)\n</td></tr></table>\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-tabbed-panel-vertical.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-tabbed-panel-vertical/pe-tabbed-panel-vertical.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data is annotated and included as part of the widget's Client Script file.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$tpv-font-color: #2e2e2e !default;`<br/>\n`$tpv-darkgray: #65666A !default;`<br/>\n`$tpv-lightgray: #dcdcdc !default;`<br/>\n`$tpv-superlightgray: #f1f1f1 !default;`<br/>\n`$tpv-red: #e51b24 !default;`<br/>\n`$tpv-orange: #e89033 !default;`<br/>\n`$tpv-green: #70be5a !default;`<br/>\n`$tpv-background-color: #ffffff !default;`<br/>\n`$tpv-border-color: #dcdcdc !default;`<br/>"
  },
  {
    "path": "pe-tabbed-panel-vertical/pe-tabbed-panel-vertical.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-26 12:47:11\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Tabbed Panel Vertical</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>6bc845464f12be0005be4d6e0210c76c</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:47:11</sys_created_on>\n<sys_id>9f5bdbee4f12fe0005be4d6e0210c744</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:47:11</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_e4d8d60a4f92be0005be4d6e0210c71c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TabbedPanelVerticalController(){\n  /* widget controller */\n  var tpv = this;\n\ttpv.showPanel = 0;\n\ttpv.tabLabel = [\"ACTIVE PROJECTS\",\"PIPELINE AGING\",\"STRATEGIC ALIGNMENT\"];\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;tpv&lt;/controller_as&gt;&lt;css&gt;$tpv-font-color: #2e2e2e !default;\n$tpv-darkgray: #65666A !default;\n$tpv-lightgray: #dcdcdc !default;\n$tpv-superlightgray: #f1f1f1 !default;\n$tpv-red: #e51b24 !default;\n$tpv-orange: #e89033 !default;\n$tpv-green: #70be5a !default;\n$tpv-background-color: #ffffff !default;\n$tpv-border-color: #dcdcdc !default;\n\n.tpv-frame {\n  width: 100%;\n  min-width: 300px;\n  height: 297px;\n  padding: 0px;\n  color: $tpv-font-color;\n  background-color: $tpv-background-color;\n  border: 1px solid $tpv-border-color;\n  font-size: 12px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n  line-height: normal;\n  letter-spacing: normal;\n}\n.tpv-content{\n  margin: 0 auto;\n  padding: 0px;\n}\n.tpv-left{\n  float: left;\n  height: 297px;\n  min-width: 200px;\n  padding: 0px;\n}\n.tpb-left-panel{\n  padding: 5px;\n}\n.tpv-tab{\n  width: 100px;\n  height: 99px;\n  padding: 0px;\n  background-color: $tpv-superlightgray;\n  display: inline-flex;\n}\n.tpv-tabs{\n  float: right;\n  margin-top: -1px;\n  margin-right: 0px;\n  max-width: 100px;\n  padding: 0px;\n}\n.tpv-tab-first {\n  border-top: 1px solid $tpv-border-color;  \n  border-left: 1px solid $tpv-border-color;\n}\n.tpv-tab-middle {\n  border-top: 1px solid $tpv-border-color;  \n  border-bottom: 1px solid $tpv-border-color;  \n  border-left: 1px solid $tpv-border-color;\n}\n.tpv-tab-last {\n  border-left: 1px solid $tpv-border-color;\n  border-bottom: 1px solid $tpv-border-color;\n}\n.tpv-tab-text {\n  margin: 0 auto;\n  width: 80px;\n  font-size: 12px;\n  text-align: center;\n  color: $tpv-font-color;\n  transform: translateY(35%);\n}\n.tpv-tab:hover{\n  background-color: $tpv-lightgray;\n}\n.tpv-tab-active {\n  background-color: #ffffff;\n  border-left: 0px solid transparent;\n}\n.tpv-tab-active:hover {\n  background-color: #ffffff;\n  cursor: default;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-tabbed-panel-vertical&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Tabbed Panel Vertical&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-24 18:39:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;e4d8d60a4f92be0005be4d6e0210c71c&lt;/sys_id&gt;&lt;sys_mod_count&gt;68&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Tabbed Panel Vertical&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_e4d8d60a4f92be0005be4d6e0210c71c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-25 13:30:00&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div id='pnlEasePrj{{c.buIdx}}' class='tpv-frame'&gt;\n&lt;div class='tpv-content'&gt;\n  &lt;div class='tpv-left'&gt;\n    &lt;div class='tpb-left-panel' ng-show='tpv.showPanel==0'&gt;\n      Tab: {{::tpv.tabLabel[0]}}&lt;br/&gt;\n      &lt;em&gt;&lt;i&gt;Replace content in this div panel with desired information.&lt;/i&gt;&lt;/em&gt;\n    &lt;/div&gt;\n    &lt;div class='tpb-left-panel' ng-show='tpv.showPanel==1'&gt;\n      Tab: {{::tpv.tabLabel[1]}}&lt;br/&gt;\n      &lt;em&gt;&lt;i&gt;Replace content in this div panel with desired information.&lt;/i&gt;&lt;/em&gt;\n    &lt;/div&gt;\n    &lt;div class='tpb-left-panel' ng-show='tpv.showPanel==2'&gt;\n      Tab: {{::tpv.tabLabel[2]}}&lt;br/&gt;\n      &lt;em&gt;&lt;i&gt;Replace content in this div panel with desired information.&lt;/i&gt;&lt;/em&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class='tpv-tabs'&gt;\n    &lt;div class='tpv-tab tpv-tab-first' ng-click='tpv.showPanel=0' ng-class='{\"tpv-tab-active\":tpv.showPanel==0}'&gt;&lt;span class='tpv-tab-text'&gt;{{::tpv.tabLabel[0]}}&lt;/span&gt;&lt;/div&gt;\n    &lt;div class='tpv-tab tpv-tab-middle' ng-click='tpv.showPanel=1' ng-class='{\"tpv-tab-active\":tpv.showPanel==1}'&gt;&lt;span class='tpv-tab-text'&gt;{{::tpv.tabLabel[1]}}&lt;/span&gt;&lt;/div&gt;\n    &lt;div class='tpv-tab tpv-tab-last' ng-click='tpv.showPanel=2' ng-class='{\"tpv-tab-active\":tpv.showPanel==2}'&gt;&lt;span class='tpv-tab-text'&gt;{{::tpv.tabLabel[2]}}&lt;/span&gt;&lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tabbed Panel Vertical\">9f5bdbee4f12fe0005be4d6e0210c744</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-26 12:47:11</sys_created_on>\n<sys_id>575bdbee4f12fe0005be4d6e0210c745</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-26 12:47:11</sys_updated_on>\n<table/>\n<target_name>PE Tabbed Panel Vertical</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-tabbed-panel-vertical/widget/pe-tabbed-panel-vertical.u-body-html-template.html",
    "content": "<div id='pnlEasePrj{{c.buIdx}}' class='tpv-frame'>\r\n    <div class='tpv-content'>\r\n        <div class='tpv-left'>\r\n            <div class='tpb-left-panel' ng-show='tpv.showPanel==0'>\r\n                Tab: {{::tpv.tabLabel[0]}}<br/>\r\n                <em><i>Replace content in this div panel with desired information.</i></em>\r\n            </div>\r\n            <div class='tpb-left-panel' ng-show='tpv.showPanel==1'>\r\n                Tab: {{::tpv.tabLabel[1]}}<br/>\r\n                <em><i>Replace content in this div panel with desired information.</i></em>\r\n            </div>\r\n            <div class='tpb-left-panel' ng-show='tpv.showPanel==2'>\r\n                Tab: {{::tpv.tabLabel[2]}}<br/>\r\n                <em><i>Replace content in this div panel with desired information.</i></em>\r\n            </div>\r\n        </div>\r\n        <div class='tpv-tabs'>\r\n            <div class='tpv-tab tpv-tab-first' ng-click='tpv.showPanel=0' ng-class='{\"tpv-tab-active\":tpv.showPanel==0}'><span class='tpv-tab-text'>{{::tpv.tabLabel[0]}}</span></div>\r\n            <div class='tpv-tab tpv-tab-middle' ng-click='tpv.showPanel=1' ng-class='{\"tpv-tab-active\":tpv.showPanel==1}'><span class='tpv-tab-text'>{{::tpv.tabLabel[1]}}</span></div>\r\n            <div class='tpv-tab tpv-tab-last' ng-click='tpv.showPanel=2' ng-class='{\"tpv-tab-active\":tpv.showPanel==2}'><span class='tpv-tab-text'>{{::tpv.tabLabel[2]}}</span></div>\r\n        </div>\r\n    </div>\r\n</div>"
  },
  {
    "path": "pe-tabbed-panel-vertical/widget/pe-tabbed-panel-vertical.u-client-script.js",
    "content": "function TabbedPanelVerticalController() {\r\n    /* widget controller */\r\n    var tpv = this;\r\n    tpv.showPanel = 0;\r\n    tpv.tabLabel = [\"ACTIVE PROJECTS\", \"PIPELINE AGING\", \"STRATEGIC ALIGNMENT\"];\r\n\r\n}"
  },
  {
    "path": "pe-tabbed-panel-vertical/widget/pe-tabbed-panel-vertical.u-css.scss",
    "content": "$tpv-font-color: #2e2e2e !default;\n$tpv-darkgray: #65666A !default;\n$tpv-lightgray: #dcdcdc !default;\n$tpv-superlightgray: #f1f1f1 !default;\n$tpv-red: #e51b24 !default;\n$tpv-orange: #e89033 !default;\n$tpv-green: #70be5a !default;\n$tpv-background-color: #ffffff !default;\n$tpv-border-color: #dcdcdc !default;\n\n.tpv-frame {\n  width: 100%;\n  min-width: 300px;\n  height: 297px;\n  padding: 0px;\n  color: $tpv-font-color;\n  background-color: $tpv-background-color;\n  border: 1px solid $tpv-border-color;\n  font-size: 12px;\n  font-weight: normal;\n  font-style: normal;\n  font-stretch: normal;\n  line-height: normal;\n  letter-spacing: normal;\n}\n.tpv-content{\n  margin: 0 auto;\n  padding: 0px;\n}\n.tpv-left{\n  float: left;\n  height: 297px;\n  min-width: 200px;\n  padding: 0px;\n}\n.tpb-left-panel{\n  padding: 5px;\n}\n.tpv-tab{\n  width: 100px;\n  height: 99px;\n  padding: 0px;\n  background-color: $tpv-superlightgray;\n  display: inline-flex;\n}\n.tpv-tabs{\n  float: right;\n  margin-top: -1px;\n  margin-right: 0px;\n  max-width: 100px;\n  padding: 0px;\n}\n.tpv-tab-first {\n  border-top: 1px solid $tpv-border-color;  \n  border-left: 1px solid $tpv-border-color;\n}\n.tpv-tab-middle {\n  border-top: 1px solid $tpv-border-color;  \n  border-bottom: 1px solid $tpv-border-color;  \n  border-left: 1px solid $tpv-border-color;\n}\n.tpv-tab-last {\n  border-left: 1px solid $tpv-border-color;\n  border-bottom: 1px solid $tpv-border-color;\n}\n.tpv-tab-text {\n  margin: 0 auto;\n  width: 80px;\n  font-size: 12px;\n  text-align: center;\n  color: $tpv-font-color;\n  transform: translateY(35%);\n}\n.tpv-tab:hover{\n  background-color: $tpv-lightgray;\n}\n.tpv-tab-active {\n  background-color: #ffffff;\n  border-left: 0px solid transparent;\n}\n.tpv-tab-active:hover {\n  background-color: #ffffff;\n  cursor: default;\n}"
  },
  {
    "path": "pe-tabbed-panel-vertical/widget/pe-tabbed-panel-vertical.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n})();"
  },
  {
    "path": "pe-task-carousel/Readme.md",
    "content": "# Task Carousel\n\n## Description\n\nThis widget can be used to quickly generate a carousel with table slides and area charts.\n\n## Screenshots\n![](../images/pe-task-carousel.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-task-carousel.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-task-carousel/pe-task-carousel.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\nSample data hard coded in the HTML template.\n\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-dark-theme: #1c2432 !default;\n$pe-light-theme: #283347 !default;\n```"
  },
  {
    "path": "pe-task-carousel/angular-template/pe-task-carousel-svgs.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"phone\">\n    <svg width=\"18px\" height=\"18px\" viewBox=\"0 0 18 18\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>DBDBBB7C-DFE4-45BF-A6EC-E159EFAD1D19</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Person-Card\" transform=\"translate(-188.000000, -11.000000)\" fill=\"#67ACDB\">\n          <g id=\"ic_local_phone_black_24px\" transform=\"translate(188.000000, 11.000000)\">\n            <path d=\"M3.62,7.79 C5.06,10.62 7.38,12.93 10.21,14.38 L12.41,12.18 C12.68,11.91 13.08,11.82 13.43,11.94 C14.55,12.31 15.76,12.51 17,12.51 C17.55,12.51 18,12.96 18,13.51 L18,17 C18,17.55 17.55,18 17,18 C7.61,18 0,10.39 0,1 C0,0.45 0.45,0 1,0 L4.5,0 C5.05,0 5.5,0.45 5.5,1 C5.5,2.25 5.7,3.45 6.07,4.57 C6.18,4.92 6.1,5.31 5.82,5.59 L3.62,7.79 L3.62,7.79 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"message\">\n    <svg width=\"20px\" height=\"20px\" viewBox=\"0 0 20 20\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>9A1AA15F-1B4D-4C58-BA71-C8BE56353CE4</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Symbols\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"Person-Card\" transform=\"translate(-221.000000, -10.000000)\" fill=\"#67ACDB\">\n          <g id=\"ic_forum_black_24px\" transform=\"translate(221.000000, 10.000000)\">\n            <path d=\"M19,4 L17,4 L17,13 L4,13 L4,15 C4,15.55 4.45,16 5,16 L16,16 L20,20 L20,5 C20,4.45 19.55,4 19,4 L19,4 Z M15,10 L15,1 C15,0.45 14.55,0 14,0 L1,0 C0.45,0 0,0.45 0,1 L0,15 L4,11 L14,11 C14.55,11 15,10.55 15,10 L15,10 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "pe-task-carousel/pe-task-carousel.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-20 21:09:53\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Task Carousel Updated</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>8af622f2dba5360062e479daae9619e3</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>4e9bea76dba5360062e479daae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_cfd29ee8db61b200b793f2b6ae961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular-touch</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:35:38</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cfd29ee8db61b200b793f2b6ae961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-touch</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"angular-touch\">d7b11ae8db61b200b793f2b6ae96194f</sys_ui_script><sys_update_name>sp_js_include_cfd29ee8db61b200b793f2b6ae961979</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:35:38</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>029bea76dba5360062e479daae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>angular-touch</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_91a60627db517200b793f2b6ae9619d2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PESparkline&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PESparkline&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PESparkline = Class.create();\nPESparkline.prototype = {\n    initialize: function() {\n    },\n\trandNumber: function(min, max) {\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t},\n\tgetSparklineData: function(param1) {\n\t\tvar scope = this;\n\t\treturn [{\n\t\t\t\"name\": \"Random Data 1\",\n\t\t\t\"data\": [\n\t\t\t\t[\"Data Point 1\", scope.randNumber(60, 100)],\n\t\t\t\t[\"Data Point 2\", scope.randNumber(60, 100)],\n\t\t\t\t[\"Data Point 3\", scope.randNumber(60, 100)],\n\t\t\t\t[\"Data Point 4\", scope.randNumber(60, 100)],\n\t\t\t\t[\"Data Point 5\", scope.randNumber(60, 100)],\n\t\t\t\t[\"Data Point 6\", scope.randNumber(60, 100)],\n\t\t\t\t[\"Data Point 7\", scope.randNumber(60, 100)]\n\t\t\t]\n\t\t}];\n\t},\n\n    type: 'PESparkline'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-10 16:09:02&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;91a60627db517200b793f2b6ae9619d2&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;PESparkline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_91a60627db517200b793f2b6ae9619d2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 16:15:41&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>069bea76dba5360062e479daae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>PESparkline</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_2af9a236dba5360062e479daae96198d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-task-carousel-svgs&lt;/id&gt;&lt;sp_widget display_value=\"PE Task Carousel\"&gt;149cc253db5d3200b793f2b6ae9619a4&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-20 21:03:21&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2af9a236dba5360062e479daae96198d&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-task-carousel-svgs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_2af9a236dba5360062e479daae96198d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-20 21:03:21&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"left-arrow\"&gt;\n    &lt;svg width=\"8px\" height=\"14px\" viewBox=\"0 0 8 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;title&gt;arrow circle left 6.3.3.1 copy@3x&lt;/title&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0.2b---Task-Orchestration---Containment-Collapsed\" transform=\"translate(-108.000000, -143.000000)\" stroke-width=\"0.800000012\"\n          stroke=\"#FFFFFF\"&gt;\n          &lt;g id=\"Group-2\" transform=\"translate(93.000000, 131.000000)\"&gt;\n            &lt;g id=\"arrow-circle-left-6.3.3.1-copy\" transform=\"translate(19.000000, 19.000000) rotate(-180.000000) translate(-19.000000, -19.000000) translate(15.000000, 12.000000)\"&gt;\n              &lt;polyline id=\"Shape\" points=\"0.729166667 13.5492424 7.46941667 7.0040303 0.729166667 0.450757576\"&gt;&lt;/polyline&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"right-arrow\"&gt;\n    &lt;svg width=\"8px\" height=\"14px\" viewBox=\"0 0 8 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;title&gt;arrow circle right 6.3.3.1@3x&lt;/title&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0.2b---Task-Orchestration---Containment-Collapsed\" transform=\"translate(-260.000000, -143.000000)\" stroke-width=\"0.800000012\"\n          stroke=\"#FFFFFF\"&gt;\n          &lt;g id=\"Group\" transform=\"translate(245.000000, 131.000000)\"&gt;\n            &lt;g id=\"arrow-circle-right-6.3.3.1\" transform=\"translate(15.000000, 12.000000)\"&gt;\n              &lt;polyline id=\"Shape\" points=\"0.729166667 13.5492424 7.46941667 7.0040303 0.729166667 0.450757576\"&gt;&lt;/polyline&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>429bea76dba5360062e479daae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>pe-task-carousel-svgs</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_d7b11ae8db61b200b793f2b6ae96194f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;angular-touch&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n AngularJS v1.6.2\n (c) 2010-2017 Google, Inc. http://angularjs.org\n License: MIT\n*/\n(function(x,n){'use strict';function s(f,k){var e=!1,a=!1;this.ngClickOverrideEnabled=function(b){return n.isDefined(b)?(b&amp;&amp;!a&amp;&amp;(a=!0,t.$$moduleName=\"ngTouch\",k.directive(\"ngClick\",t),f.decorator(\"ngClickDirective\",[\"$delegate\",function(a){if(e)a.shift();else for(var b=a.length-1;0&lt;=b;){if(\"ngTouch\"===a[b].$$moduleName){a.splice(b,1);break}b--}return a}])),e=b,this):e};this.$get=function(){return{ngClickOverrideEnabled:function(){return e}}}}function v(f,k,e){p.directive(f,[\"$parse\",\"$swipe\",function(a,\nb){return function(l,u,g){function h(c){if(!d)return!1;var a=Math.abs(c.y-d.y);c=(c.x-d.x)*k;return r&amp;&amp;75&gt;a&amp;&amp;0&lt;c&amp;&amp;30&lt;c&amp;&amp;.3&gt;a/c}var m=a(g[f]),d,r,c=[\"touch\"];n.isDefined(g.ngSwipeDisableMouse)||c.push(\"mouse\");b.bind(u,{start:function(c,a){d=c;r=!0},cancel:function(c){r=!1},end:function(c,d){h(c)&amp;&amp;l.$apply(function(){u.triggerHandler(e);m(l,{$event:d})})}},c)}}])}var p=n.module(\"ngTouch\",[]);p.provider(\"$touch\",s);s.$inject=[\"$provide\",\"$compileProvider\"];p.factory(\"$swipe\",[function(){function f(a){a=\na.originalEvent||a;var b=a.touches&amp;&amp;a.touches.length?a.touches:[a];a=a.changedTouches&amp;&amp;a.changedTouches[0]||b[0];return{x:a.clientX,y:a.clientY}}function k(a,b){var l=[];n.forEach(a,function(a){(a=e[a][b])&amp;&amp;l.push(a)});return l.join(\" \")}var e={mouse:{start:\"mousedown\",move:\"mousemove\",end:\"mouseup\"},touch:{start:\"touchstart\",move:\"touchmove\",end:\"touchend\",cancel:\"touchcancel\"},pointer:{start:\"pointerdown\",move:\"pointermove\",end:\"pointerup\",cancel:\"pointercancel\"}};return{bind:function(a,b,l){var e,\ng,h,m,d=!1;l=l||[\"mouse\",\"touch\",\"pointer\"];a.on(k(l,\"start\"),function(c){h=f(c);d=!0;g=e=0;m=h;b.start&amp;&amp;b.start(h,c)});var r=k(l,\"cancel\");if(r)a.on(r,function(c){d=!1;b.cancel&amp;&amp;b.cancel(c)});a.on(k(l,\"move\"),function(c){if(d&amp;&amp;h){var a=f(c);e+=Math.abs(a.x-m.x);g+=Math.abs(a.y-m.y);m=a;10&gt;e&amp;&amp;10&gt;g||(g&gt;e?(d=!1,b.cancel&amp;&amp;b.cancel(c)):(c.preventDefault(),b.move&amp;&amp;b.move(a,c)))}});a.on(k(l,\"end\"),function(c){d&amp;&amp;(d=!1,b.end&amp;&amp;b.end(f(c),c))})}}}]);var t=[\"$parse\",\"$timeout\",\"$rootElement\",function(f,k,e){function a(a,\nd,b){for(var c=0;c&lt;a.length;c+=2){var g=a[c+1],e=b;if(25&gt;Math.abs(a[c]-d)&amp;&amp;25&gt;Math.abs(g-e))return a.splice(c,c+2),!0}return!1}function b(b){if(!(2500&lt;Date.now()-u)){var d=b.touches&amp;&amp;b.touches.length?b.touches:[b],e=d[0].clientX,d=d[0].clientY;if(!(1&gt;e&amp;&amp;1&gt;d||h&amp;&amp;h[0]===e&amp;&amp;h[1]===d)){h&amp;&amp;(h=null);var c=b.target;\"label\"===n.lowercase(c.nodeName||c[0]&amp;&amp;c[0].nodeName)&amp;&amp;(h=[e,d]);a(g,e,d)||(b.stopPropagation(),b.preventDefault(),b.target&amp;&amp;b.target.blur&amp;&amp;b.target.blur())}}}function l(a){a=a.touches&amp;&amp;a.touches.length?\na.touches:[a];var b=a[0].clientX,e=a[0].clientY;g.push(b,e);k(function(){for(var a=0;a&lt;g.length;a+=2)if(g[a]===b&amp;&amp;g[a+1]===e){g.splice(a,a+2);break}},2500,!1)}var u,g,h;return function(h,d,k){var c=f(k.ngClick),w=!1,q,p,s,t;d.on(\"touchstart\",function(a){w=!0;q=a.target?a.target:a.srcElement;3===q.nodeType&amp;&amp;(q=q.parentNode);d.addClass(\"ng-click-active\");p=Date.now();a=a.originalEvent||a;a=(a.touches&amp;&amp;a.touches.length?a.touches:[a])[0];s=a.clientX;t=a.clientY});d.on(\"touchcancel\",function(a){w=!1;d.removeClass(\"ng-click-active\")});\nd.on(\"touchend\",function(c){var h=Date.now()-p,f=c.originalEvent||c,m=(f.changedTouches&amp;&amp;f.changedTouches.length?f.changedTouches:f.touches&amp;&amp;f.touches.length?f.touches:[f])[0],f=m.clientX,m=m.clientY,v=Math.sqrt(Math.pow(f-s,2)+Math.pow(m-t,2));w&amp;&amp;750&gt;h&amp;&amp;12&gt;v&amp;&amp;(g||(e[0].addEventListener(\"click\",b,!0),e[0].addEventListener(\"touchstart\",l,!0),g=[]),u=Date.now(),a(g,f,m),q&amp;&amp;q.blur(),n.isDefined(k.disabled)&amp;&amp;!1!==k.disabled||d.triggerHandler(\"click\",[c]));w=!1;d.removeClass(\"ng-click-active\")});d.onclick=\nfunction(a){};d.on(\"click\",function(a,b){h.$apply(function(){c(h,{$event:b||a})})});d.on(\"mousedown\",function(a){d.addClass(\"ng-click-active\")});d.on(\"mousemove mouseup\",function(a){d.removeClass(\"ng-click-active\")})}}];v(\"ngSwipeLeft\",-1,\"swipeleft\");v(\"ngSwipeRight\",1,\"swiperight\")})(window,window.angular);\n//# sourceMappingURL=angular-touch.min.js.map\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-13 19:30:49&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d7b11ae8db61b200b793f2b6ae96194f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;angular-touch&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_d7b11ae8db61b200b793f2b6ae96194f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-13 19:30:49&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>469bea76dba5360062e479daae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>angular-touch</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_149cc253db5d3200b793f2b6ae9619a4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TaskCarouselController(spUtil) {\n  var c = this;\n  c.prevPhase = prevPhase;\n  c.nextPhase = nextPhase;\n  c.setDefaults = setDefaults;\n  c.toggleTasks = toggleTasks;\n\n  c.$onInit = function() {\n    activateCharts();\n    setDefaults();\n  };\n\n  function activateCharts() {\n    var count = 0;\n    c.sparkline = [];\n    while (count !== 18) {\n      if (!c.sparkline[count]) {\n        spUtil.get('pe-sparkline', {\n          options: {\n            gradientEnd: 'rgba(0, 59, 210, 1)',\n            gradientStart: 'rgba(0, 201, 199, 1)'\n          }\n        }).then(function(response) {\n          c.sparkline.push(response);\n        });\n      }\n      count++;\n    }\n  }\n\n  function prevPhase() {\n    angular.element('.carousel').carousel('prev');\n  }\n\n  function nextPhase() {\n    angular.element('.carousel').carousel('next');\n  }\n\n  function setDefaults() {\n    c.isToggled = false;\n    c.toggleState = 'more';\n  }\n\n  function toggleTasks() {\n    c.toggleState = c.isToggled === true ? 'more' : 'less';\n    c.isToggled = !c.isToggled;\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-light-theme: #283347 !default;&amp;#13;\n$pe-dark-theme: #1c2432 !default;&amp;#13;\n&amp;#13;\n.task-carousel {&amp;#13;\n  h2 {&amp;#13;\n    color: $pe-header-color;&amp;#13;\n    font-size: 24px;&amp;#13;\n    font-weight: 600;&amp;#13;\n    height: 28px;&amp;#13;\n    margin: 0 0 10px 0;&amp;#13;\n  }&amp;#13;\n  .carousel {&amp;#13;\n    margin-bottom: 25px;&amp;#13;\n    .carousel-indicators {&amp;#13;\n      margin-bottom: -6%;&amp;#13;\n      li {&amp;#13;\n        border: 1px solid $pe-light-theme;&amp;#13;\n        opacity: .3;&amp;#13;\n      }&amp;#13;\n      .active {&amp;#13;\n        background-color: $pe-dark-theme;&amp;#13;\n        opacity: 1;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel {&amp;#13;\n    border: 0;&amp;#13;\n    color: $pe-light-theme;&amp;#13;\n    background-color: transparent;&amp;#13;\n    .panel-heading {&amp;#13;\n      border-bottom: 0 !important;&amp;#13;\n      background-color: $pe-light-theme !important;&amp;#13;\n      color: #fff;&amp;#13;\n      font-size: 12px;&amp;#13;\n      padding: 14px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n    .panel-body {&amp;#13;\n      background-color: $pe-dark-theme;&amp;#13;\n      color: #fff;&amp;#13;\n    }&amp;#13;\n    .panel-analysis {&amp;#13;\n      background-color: $pe-dark-theme !important;&amp;#13;\n      h3 {&amp;#13;\n        font-size: 18px;&amp;#13;\n        text-transform: capitalize;&amp;#13;\n        margin: 0 !important;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .panel-body-tasks {&amp;#13;\n      font-weight: 100 !important;&amp;#13;\n      padding-bottom: 0;&amp;#13;\n      padding-top: 0;&amp;#13;\n      white-space: nowrap;&amp;#13;\n      img {&amp;#13;\n        height: 24.1px;&amp;#13;\n        width: 79px;&amp;#13;\n      }&amp;#13;\n      .row {&amp;#13;\n        border-bottom: 2px solid #3d4e6d;&amp;#13;\n        padding: 15px 0 8px 0 !important;&amp;#13;\n      }&amp;#13;\n      .no-border-bottom {&amp;#13;\n        border: none !important;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .panel-footer-analysis {&amp;#13;\n      background-color: $pe-dark-theme !important;&amp;#13;\n      border-color: $pe-dark-theme !important;&amp;#13;\n      padding: 14px 0 20px 0;&amp;#13;\n      .show-more {&amp;#13;\n        background-color: $pe-light-theme;&amp;#13;\n        border-radius: 25px;&amp;#13;\n        color: #fff;&amp;#13;\n        font-size: 12px;&amp;#13;\n        padding: 7px 16.5px;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .left-arrow {&amp;#13;\n    height: 14px;&amp;#13;\n    margin-right: 50px;&amp;#13;\n    width: 8px;&amp;#13;\n  }&amp;#13;\n  .right-arrow {&amp;#13;\n    height: 14px;&amp;#13;\n    margin-left: 50px;&amp;#13;\n    width: 8px;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-task-carousel&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Task Carousel&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 21:56:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;149cc253db5d3200b793f2b6ae9619a4&lt;/sys_id&gt;&lt;sys_mod_count&gt;42&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Task Carousel&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_149cc253db5d3200b793f2b6ae9619a4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-20 21:04:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-task-carousel-svgs'\"&gt;&lt;/div&gt;\n&lt;div class=\"row task-carousel\"&gt;\n  &lt;div class=\"col-xs-12\" ng-swipe-left=\"c.nextPhase()\" ng-swipe-right=\"c.prevPhase()\"&gt;\n    &lt;div id=\"taskCarousel\" class=\"carousel slide\" data-ride=\"carousel\"&gt;\n      &lt;ol class=\"carousel-indicators\"&gt;\n        &lt;li data-target=\"#taskCarousel\" data-slide-to=\"0\" class=\"active\"&gt;&lt;/li&gt;\n        &lt;li data-target=\"#taskCarousel\" data-slide-to=\"1\"&gt;&lt;/li&gt;\n        &lt;li data-target=\"#taskCarousel\" data-slide-to=\"2\"&gt;&lt;/li&gt;\n        &lt;li data-target=\"#taskCarousel\" data-slide-to=\"3\"&gt;&lt;/li&gt;\n      &lt;/ol&gt;\n      &lt;div class=\"carousel-inner\" role=\"listbox\"&gt;\n        &lt;div class=\"item active\"&gt;\n          &lt;div class=\"panel panel-default\"&gt;\n            &lt;div class=\"panel-heading panel-analysis\"&gt;\n              &lt;h3 class=\"text-center\"&gt;\n                &lt;svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\" ng-click=\"c.setDefaults()\"&gt;\n                  &lt;use xlink:href=\"#left-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n                &lt;span&gt;Analysis&lt;/span&gt;\n                &lt;svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\" ng-click=\"c.setDefaults()\"&gt;\n                  &lt;use xlink:href=\"#right-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/h3&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-heading\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Task&lt;/div&gt;\n                &lt;div class=\"col-xs-3\"&gt;Automation&lt;/div&gt;\n                &lt;div class=\"col-xs-4\"&gt;Time Savings&lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-body panel-body-tasks\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Incident Creation&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;98%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[0]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Impact Assessment&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;66%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[1]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Forensics Collection&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;71%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[2]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div ng-show=\"c.isToggled == true\"&gt;\n                &lt;div class=\"row\"&gt;\n                  &lt;div class=\"col-xs-5\"&gt;Threat Intel Correlation&lt;/div&gt;\n                  &lt;div class=\"col-xs-3 text-center\"&gt;80%&lt;/div&gt;\n                  &lt;div class=\"col-xs-4 text-center\"&gt;\n                    &lt;sp-widget widget=\"c.sparkline[3]\"&gt;&lt;/sp-widget&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class=\"row\"&gt;\n                  &lt;div class=\"col-xs-5\"&gt;Vulnerability Analysis&lt;/div&gt;\n                  &lt;div class=\"col-xs-3 text-center\"&gt;92%&lt;/div&gt;\n                  &lt;div class=\"col-xs-4 text-center\"&gt;\n                    &lt;sp-widget widget=\"c.sparkline[4]\"&gt;&lt;/sp-widget&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-footer panel-footer-analysis text-center\"&gt;\n              &lt;span class=\"show-more\" ng-click=\"c.toggleTasks()\"&gt;show {{c.toggleState}}&lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"item\"&gt;\n          &lt;div class=\"panel panel-default\"&gt;\n            &lt;div class=\"panel-heading panel-analysis\"&gt;\n              &lt;h3 class=\"text-center\"&gt;\n                &lt;svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\" ng-click=\"c.setDefaults()\"&gt;\n                  &lt;use xlink:href=\"#left-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n                &lt;span&gt;Containment&lt;/span&gt;\n                &lt;svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\" ng-click=\"c.setDefaults()\"&gt;\n                  &lt;use xlink:href=\"#right-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/h3&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-heading\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Task&lt;/div&gt;\n                &lt;div class=\"col-xs-3\"&gt;Automation&lt;/div&gt;\n                &lt;div class=\"col-xs-4\"&gt;Time Savings&lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-body panel-body-tasks\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Account Management&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;75%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[5]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Firewall Rule Creation&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;97%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[6]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Host Isolation&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;78%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[7]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div ng-show=\"c.isToggled == true\"&gt;\n                &lt;div class=\"row\"&gt;\n                  &lt;div class=\"col-xs-5\"&gt;Mail Filter Creation&lt;/div&gt;\n                  &lt;div class=\"col-xs-3 text-center\"&gt;54%&lt;/div&gt;\n                  &lt;div class=\"col-xs-4 text-center\"&gt;\n                    &lt;sp-widget widget=\"c.sparkline[8]\"&gt;&lt;/sp-widget&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class=\"row\"&gt;\n                  &lt;div class=\"col-xs-5\"&gt;Vulnerability Analysis&lt;/div&gt;\n                  &lt;div class=\"col-xs-3 text-center\"&gt;92%&lt;/div&gt;\n                  &lt;div class=\"col-xs-4 text-center\"&gt;\n                    &lt;sp-widget widget=\"c.sparkline[9]\"&gt;&lt;/sp-widget&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-footer panel-footer-analysis text-center\"&gt;\n              &lt;span class=\"show-more\" ng-click=\"c.toggleTasks()\"&gt;show {{c.toggleState}}&lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"item\"&gt;\n          &lt;div class=\"panel panel-default\"&gt;\n            &lt;div class=\"panel-heading panel-analysis\"&gt;\n              &lt;h3 class=\"text-center\"&gt;\n                &lt;svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\" ng-click=\"c.setDefaults()\"&gt;\n                  &lt;use xlink:href=\"#left-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n                &lt;span&gt;Eradication&lt;/span&gt;\n                &lt;svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\" ng-click=\"c.setDefaults()\"&gt;\n                  &lt;use xlink:href=\"#right-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/h3&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-heading\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Task&lt;/div&gt;\n                &lt;div class=\"col-xs-3\"&gt;Automation&lt;/div&gt;\n                &lt;div class=\"col-xs-4\"&gt;Time Savings&lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-body panel-body-tasks\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Account Management&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;74%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[10]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Malware Removal&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;51%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[11]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Re-Imaging Systems&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;83%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[12]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div ng-show=\"c.isToggled == true\"&gt;\n                &lt;div class=\"row\"&gt;\n                  &lt;div class=\"col-xs-5\"&gt;Restoration from Backup&lt;/div&gt;\n                  &lt;div class=\"col-xs-3 text-center\"&gt;67%&lt;/div&gt;\n                  &lt;div class=\"col-xs-4 text-center\"&gt;\n                    &lt;sp-widget widget=\"c.sparkline[13]\"&gt;&lt;/sp-widget&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n                &lt;div class=\"row\"&gt;\n                  &lt;div class=\"col-xs-5\"&gt;Phishing Email Deletion&lt;/div&gt;\n                  &lt;div class=\"col-xs-3 text-center\"&gt;96%&lt;/div&gt;\n                  &lt;div class=\"col-xs-4 text-center\"&gt;\n                    &lt;sp-widget widget=\"c.sparkline[14]\"&gt;&lt;/sp-widget&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-footer panel-footer-analysis text-center\"&gt;\n              &lt;span class=\"show-more\" ng-click=\"c.toggleTasks()\"&gt;show {{c.toggleState}}&lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"item\"&gt;\n          &lt;div class=\"panel panel-default\"&gt;\n            &lt;div class=\"panel-heading panel-analysis\"&gt;\n              &lt;h3 class=\"text-center\"&gt;\n                &lt;svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\"&gt;\n                  &lt;use xlink:href=\"#left-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n                &lt;span&gt;Recovery&lt;/span&gt;\n                &lt;svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\"&gt;\n                  &lt;use xlink:href=\"#right-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/h3&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-heading\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Task&lt;/div&gt;\n                &lt;div class=\"col-xs-3\"&gt;Automation&lt;/div&gt;\n                &lt;div class=\"col-xs-4\"&gt;Time Savings&lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"panel-body panel-body-tasks\"&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Damage Assessment&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;74%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[15]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Notifications&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;51%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[16]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div class=\"row no-border-bottom\"&gt;\n                &lt;div class=\"col-xs-5\"&gt;Service Recovery&lt;/div&gt;\n                &lt;div class=\"col-xs-3 text-center\"&gt;83%&lt;/div&gt;\n                &lt;div class=\"col-xs-4 text-center\"&gt;\n                  &lt;sp-widget widget=\"c.sparkline[17]\"&gt;&lt;/sp-widget&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>829bea76dba5360062e479daae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>PE Task Carousel</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_ab44aa5bdb5d3200b793f2b6ae961973</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function(spUtil) {\n\tvar c = this;\n\tif (!c.myAreaChart) {\n\t\tspUtil.get(\"pe-area-chart\", {\n\t\t\toptions: {\n\t\t\t\tscript_include: \"PESparkline\",\n\t\t\t\tfunction_name: \"getSparklineData\",\n\t\t\t\tadvance: JSON.stringify(c.data.chart)\n\t\t\t}\n\t\t}).then(function(response) {\n\t\t\tc.myAreaChart = response;\n\t\t});\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-sparkline&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Sparkline&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  serverOptions.gradientEnd = serverOptions.gradientEnd || \"rgba(255, 0, 80, 1)\";\n  serverOptions.gradientStart = serverOptions.gradientStart || \"rgba(255, 207, 96, 1)\";\n  data.chart = {\n    xAxis: {\n      visible: false\n    },\n    yAxis: {\n      visible: false,\n      max: 100,\n      min: 0,\n      gridLineWidth: 0\n    },\n    title: {\n      text: ''\n    },\n    options: {\n      exporting: {\n        enabled: false\n      },\n      legend: {\n        enabled: false\n      },\n      chart: {\n        //type:\"areaspline\",\n        backgroundColor: null,\n        margin: [2, 0, 2, 0],\n        borderWidth: 0,\n        height:25,\n        width:79\n      },\n      plotOptions: {\n        series: {\n          enableMouseTracking: false,\n          marker: {\n            enabled: false\n          },\n          lineColor: serverOptions.gradientStart,\n          lineWidth: 0,\n          fillColor: {\n            linearGradient: [0, 0, 0, 20],\n            stops: [\n              [0, serverOptions.gradientStart],\n              [1, serverOptions.gradientEnd]\n            ]\n          }\n        }\n      }\n    }\n  };\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 23:40:16&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ab44aa5bdb5d3200b793f2b6ae961973&lt;/sys_id&gt;&lt;sys_mod_count&gt;14&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Sparkline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_ab44aa5bdb5d3200b793f2b6ae961973&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 16:20:42&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;sp-widget widget=\"c.myAreaChart\"&gt;&lt;/sp-widget&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>c29bea76dba5360062e479daae961926</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>PE Sparkline</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_2b621ee8db61b200b793f2b6ae96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>ngTouch</module><name>angular-touch</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:34:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2b621ee8db61b200b793f2b6ae96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-touch</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_2b621ee8db61b200b793f2b6ae96190b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:34:03</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Task Carousel Updated\">4e9bea76dba5360062e479daae961925</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-20 21:09:52</sys_created_on>\n<sys_id>ce9bea76dba5360062e479daae961925</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-20 21:09:52</sys_updated_on>\n<table/>\n<target_name>angular-touch</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-task-carousel/widget/pe-task-carousel.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-task-carousel-svgs'\"></div>\n<div class=\"row task-carousel\">\n  <div class=\"col-xs-12\" ng-swipe-left=\"c.nextPhase()\" ng-swipe-right=\"c.prevPhase()\">\n    <div id=\"taskCarousel\" class=\"carousel slide\" data-ride=\"carousel\">\n      <ol class=\"carousel-indicators\">\n        <li data-target=\"#taskCarousel\" data-slide-to=\"0\" class=\"active\"></li>\n        <li data-target=\"#taskCarousel\" data-slide-to=\"1\"></li>\n        <li data-target=\"#taskCarousel\" data-slide-to=\"2\"></li>\n        <li data-target=\"#taskCarousel\" data-slide-to=\"3\"></li>\n      </ol>\n      <div class=\"carousel-inner\" role=\"listbox\">\n        <div class=\"item active\">\n          <div class=\"panel panel-default\">\n            <div class=\"panel-heading panel-analysis\">\n              <h3 class=\"text-center\">\n                <svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\" ng-click=\"c.setDefaults()\">\n                  <use xlink:href=\"#left-arrow\"></use>\n                </svg>\n                <span>Analysis</span>\n                <svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\" ng-click=\"c.setDefaults()\">\n                  <use xlink:href=\"#right-arrow\"></use>\n                </svg>\n              </h3>\n            </div>\n            <div class=\"panel-heading\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Task</div>\n                <div class=\"col-xs-3\">Automation</div>\n                <div class=\"col-xs-4\">Time Savings</div>\n              </div>\n            </div>\n            <div class=\"panel-body panel-body-tasks\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Incident Creation</div>\n                <div class=\"col-xs-3 text-center\">98%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[0]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Impact Assessment</div>\n                <div class=\"col-xs-3 text-center\">66%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[1]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Forensics Collection</div>\n                <div class=\"col-xs-3 text-center\">71%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[2]\"></sp-widget>\n                </div>\n              </div>\n              <div ng-show=\"c.isToggled == true\">\n                <div class=\"row\">\n                  <div class=\"col-xs-5\">Threat Intel Correlation</div>\n                  <div class=\"col-xs-3 text-center\">80%</div>\n                  <div class=\"col-xs-4 text-center\">\n                    <sp-widget widget=\"c.sparkline[3]\"></sp-widget>\n                  </div>\n                </div>\n                <div class=\"row\">\n                  <div class=\"col-xs-5\">Vulnerability Analysis</div>\n                  <div class=\"col-xs-3 text-center\">92%</div>\n                  <div class=\"col-xs-4 text-center\">\n                    <sp-widget widget=\"c.sparkline[4]\"></sp-widget>\n                  </div>\n                </div>\n              </div>\n            </div>\n            <div class=\"panel-footer panel-footer-analysis text-center\">\n              <span class=\"show-more\" ng-click=\"c.toggleTasks()\">show {{c.toggleState}}</span>\n            </div>\n          </div>\n        </div>\n        <div class=\"item\">\n          <div class=\"panel panel-default\">\n            <div class=\"panel-heading panel-analysis\">\n              <h3 class=\"text-center\">\n                <svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\" ng-click=\"c.setDefaults()\">\n                  <use xlink:href=\"#left-arrow\"></use>\n                </svg>\n                <span>Containment</span>\n                <svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\" ng-click=\"c.setDefaults()\">\n                  <use xlink:href=\"#right-arrow\"></use>\n                </svg>\n              </h3>\n            </div>\n            <div class=\"panel-heading\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Task</div>\n                <div class=\"col-xs-3\">Automation</div>\n                <div class=\"col-xs-4\">Time Savings</div>\n              </div>\n            </div>\n            <div class=\"panel-body panel-body-tasks\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Account Management</div>\n                <div class=\"col-xs-3 text-center\">75%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[5]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Firewall Rule Creation</div>\n                <div class=\"col-xs-3 text-center\">97%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[6]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Host Isolation</div>\n                <div class=\"col-xs-3 text-center\">78%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[7]\"></sp-widget>\n                </div>\n              </div>\n              <div ng-show=\"c.isToggled == true\">\n                <div class=\"row\">\n                  <div class=\"col-xs-5\">Mail Filter Creation</div>\n                  <div class=\"col-xs-3 text-center\">54%</div>\n                  <div class=\"col-xs-4 text-center\">\n                    <sp-widget widget=\"c.sparkline[8]\"></sp-widget>\n                  </div>\n                </div>\n                <div class=\"row\">\n                  <div class=\"col-xs-5\">Vulnerability Analysis</div>\n                  <div class=\"col-xs-3 text-center\">92%</div>\n                  <div class=\"col-xs-4 text-center\">\n                    <sp-widget widget=\"c.sparkline[9]\"></sp-widget>\n                  </div>\n                </div>\n              </div>\n            </div>\n            <div class=\"panel-footer panel-footer-analysis text-center\">\n              <span class=\"show-more\" ng-click=\"c.toggleTasks()\">show {{c.toggleState}}</span>\n            </div>\n          </div>\n        </div>\n        <div class=\"item\">\n          <div class=\"panel panel-default\">\n            <div class=\"panel-heading panel-analysis\">\n              <h3 class=\"text-center\">\n                <svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\" ng-click=\"c.setDefaults()\">\n                  <use xlink:href=\"#left-arrow\"></use>\n                </svg>\n                <span>Eradication</span>\n                <svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\" ng-click=\"c.setDefaults()\">\n                  <use xlink:href=\"#right-arrow\"></use>\n                </svg>\n              </h3>\n            </div>\n            <div class=\"panel-heading\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Task</div>\n                <div class=\"col-xs-3\">Automation</div>\n                <div class=\"col-xs-4\">Time Savings</div>\n              </div>\n            </div>\n            <div class=\"panel-body panel-body-tasks\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Account Management</div>\n                <div class=\"col-xs-3 text-center\">74%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[10]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Malware Removal</div>\n                <div class=\"col-xs-3 text-center\">51%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[11]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Re-Imaging Systems</div>\n                <div class=\"col-xs-3 text-center\">83%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[12]\"></sp-widget>\n                </div>\n              </div>\n              <div ng-show=\"c.isToggled == true\">\n                <div class=\"row\">\n                  <div class=\"col-xs-5\">Restoration from Backup</div>\n                  <div class=\"col-xs-3 text-center\">67%</div>\n                  <div class=\"col-xs-4 text-center\">\n                    <sp-widget widget=\"c.sparkline[13]\"></sp-widget>\n                  </div>\n                </div>\n                <div class=\"row\">\n                  <div class=\"col-xs-5\">Phishing Email Deletion</div>\n                  <div class=\"col-xs-3 text-center\">96%</div>\n                  <div class=\"col-xs-4 text-center\">\n                    <sp-widget widget=\"c.sparkline[14]\"></sp-widget>\n                  </div>\n                </div>\n              </div>\n            </div>\n            <div class=\"panel-footer panel-footer-analysis text-center\">\n              <span class=\"show-more\" ng-click=\"c.toggleTasks()\">show {{c.toggleState}}</span>\n            </div>\n          </div>\n        </div>\n        <div class=\"item\">\n          <div class=\"panel panel-default\">\n            <div class=\"panel-heading panel-analysis\">\n              <h3 class=\"text-center\">\n                <svg class=\"left-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"prev\">\n                  <use xlink:href=\"#left-arrow\"></use>\n                </svg>\n                <span>Recovery</span>\n                <svg class=\"right-arrow\" href=\"#taskCarousel\" role=\"button\" data-slide=\"next\">\n                  <use xlink:href=\"#right-arrow\"></use>\n                </svg>\n              </h3>\n            </div>\n            <div class=\"panel-heading\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Task</div>\n                <div class=\"col-xs-3\">Automation</div>\n                <div class=\"col-xs-4\">Time Savings</div>\n              </div>\n            </div>\n            <div class=\"panel-body panel-body-tasks\">\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Damage Assessment</div>\n                <div class=\"col-xs-3 text-center\">74%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[15]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row\">\n                <div class=\"col-xs-5\">Notifications</div>\n                <div class=\"col-xs-3 text-center\">51%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[16]\"></sp-widget>\n                </div>\n              </div>\n              <div class=\"row no-border-bottom\">\n                <div class=\"col-xs-5\">Service Recovery</div>\n                <div class=\"col-xs-3 text-center\">83%</div>\n                <div class=\"col-xs-4 text-center\">\n                  <sp-widget widget=\"c.sparkline[17]\"></sp-widget>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "pe-task-carousel/widget/pe-task-carousel.u-client-script.js",
    "content": "function TaskCarouselController(spUtil) {\n  var c = this;\n  c.prevPhase = prevPhase;\n  c.nextPhase = nextPhase;\n  c.setDefaults = setDefaults;\n  c.toggleTasks = toggleTasks;\n\n  c.$onInit = function() {\n    activateCharts();\n    setDefaults();\n  };\n\n  function activateCharts() {\n    var count = 0;\n    c.sparkline = [];\n    while (count !== 18) {\n      if (!c.sparkline[count]) {\n        spUtil.get('pe-sparkline', {\n          options: {\n            gradientEnd: 'rgba(0, 59, 210, 1)',\n            gradientStart: 'rgba(0, 201, 199, 1)'\n          }\n        }).then(function(response) {\n          c.sparkline.push(response);\n        });\n      }\n      count++;\n    }\n  }\n\n  function prevPhase() {\n    angular.element('.carousel').carousel('prev');\n  }\n\n  function nextPhase() {\n    angular.element('.carousel').carousel('next');\n  }\n\n  function setDefaults() {\n    c.isToggled = false;\n    c.toggleState = 'more';\n  }\n\n  function toggleTasks() {\n    c.toggleState = c.isToggled === true ? 'more' : 'less';\n    c.isToggled = !c.isToggled;\n  }\n}"
  },
  {
    "path": "pe-task-carousel/widget/pe-task-carousel.u-css.scss",
    "content": "$pe-light-theme: #283347 !default;\r\n$pe-dark-theme: #1c2432 !default;\r\n\r\n.task-carousel {\r\n  h2 {\r\n    color: $pe-header-color;\r\n    font-size: 24px;\r\n    font-weight: 600;\r\n    height: 28px;\r\n    margin: 0 0 10px 0;\r\n  }\r\n  .carousel {\r\n    margin-bottom: 25px;\r\n    .carousel-indicators {\r\n      margin-bottom: -6%;\r\n      li {\r\n        border: 1px solid $pe-light-theme;\r\n        opacity: .3;\r\n      }\r\n      .active {\r\n        background-color: $pe-dark-theme;\r\n        opacity: 1;\r\n      }\r\n    }\r\n  }\r\n  .panel {\r\n    border: 0;\r\n    color: $pe-light-theme;\r\n    background-color: transparent;\r\n    .panel-heading {\r\n      border-bottom: 0 !important;\r\n      background-color: $pe-light-theme !important;\r\n      color: #fff;\r\n      font-size: 12px;\r\n      padding: 14px;\r\n      text-transform: uppercase;\r\n    }\r\n    .panel-body {\r\n      background-color: $pe-dark-theme;\r\n      color: #fff;\r\n    }\r\n    .panel-analysis {\r\n      background-color: $pe-dark-theme !important;\r\n      h3 {\r\n        font-size: 18px;\r\n        text-transform: capitalize;\r\n        margin: 0 !important;\r\n      }\r\n    }\r\n    .panel-body-tasks {\r\n      font-weight: 100 !important;\r\n      padding-bottom: 0;\r\n      padding-top: 0;\r\n      white-space: nowrap;\r\n      img {\r\n        height: 24.1px;\r\n        width: 79px;\r\n      }\r\n      .row {\r\n        border-bottom: 2px solid #3d4e6d;\r\n        padding: 15px 0 8px 0 !important;\r\n      }\r\n      .no-border-bottom {\r\n        border: none !important;\r\n      }\r\n    }\r\n    .panel-footer-analysis {\r\n      background-color: $pe-dark-theme !important;\r\n      border-color: $pe-dark-theme !important;\r\n      padding: 14px 0 20px 0;\r\n      .show-more {\r\n        background-color: $pe-light-theme;\r\n        border-radius: 25px;\r\n        color: #fff;\r\n        font-size: 12px;\r\n        padding: 7px 16.5px;\r\n        text-transform: uppercase;\r\n      }\r\n    }\r\n  }\r\n  .left-arrow {\r\n    height: 14px;\r\n    margin-right: 50px;\r\n    width: 8px;\r\n  }\r\n  .right-arrow {\r\n    height: 14px;\r\n    margin-left: 50px;\r\n    width: 8px;\r\n  }\r\n}"
  },
  {
    "path": "pe-user-request/README.md",
    "content": "# User Request\n\n## Description\n\nThis can be used to quickly craft a user request widget.\n\n## Screenshots\n![](../images/pe-user-request-1.gif)\n\n## Additional Information/Notes\n\nThis widget makes use of [pe-people-info widget](https://github.com/platform-experience/serviceportal-widget-library/tree/master/people-card/pe-people-info) to display the user avatar, name and title.\n> Widget is included with the update set.\n\nPeople Info widget is injected dynamically in the client controller.\n\n---\n## Installation\n---\nDownload and install update set **[pe-user-request.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-user-request/pe-user-request.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\nWidget Option Schema parameters:\n\n**\"Header\"** Card Header.  `Default: Request Requires Approval`<br/>\n**\"Show Only Picture\"** This is for enabling the ability to toggle the picture display. This will override and thus hide the job title, if enabled.<br/>\n**\"Show Job Title\"** This is for enabling the ability to toggle the job title display.<br/>\n**\"Show Call & Chat\"** This is for enabling the ability to toggle the call & chat display.<br/>\n\n---\n## Platform Dependencies\n---\n> None\n---\n## Sample Data and Data Structures\n---\n> See 'Configuration' above\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "pe-user-request/angular-template/pe-user-request-svg.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"done\">\n    <svg width=\"36px\" height=\"36px\" viewBox=\"31 0 36 36\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"check-circle-2\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(31.000000, 0.000000)\">\n        <polyline id=\"Shape\" stroke=\"#2A3342\" points=\"25.5 12.75 14.25 23.25 10.5 19.5\"></polyline>\n        <circle id=\"Oval\" stroke=\"#2A3342\" cx=\"18\" cy=\"18\" r=\"17.25\"></circle>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "pe-user-request/pe-user-request.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-25 15:29:21\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE User Request</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>e05397a4db9ff200f0e8de01ce9619b1</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-07-25 15:29:21</sys_created_on>\n<sys_id>4c9f5be3db8c0700a0785404ce9619b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-07-25 15:29:21</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3a1e5bf2dbc2720062e479daae96196f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function UserRequestController($timeout, spUtil) {\n  var c = this;\n  c.sendRequest = sendRequest;\n\n  c.$onInit = function() {\n    c.step = 1;\n    getUserInfo();\n    activateWidget();\n  };\n\n  function activateWidget() {\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.userInfo.userSysId,\n      show_job_title: c.data.userInfo.showJobTitle,\n      show_call_and_chat: c.data.userInfo.showCallAndChat,\n      show_only_picture: c.data.userInfo.showOnlyPicture\n    }).then(function(response) {\n      c.data.peopleInfoWidget = response;\n    });\n  }\n\n  function getUserInfo() {\n    c.data.userInfo = {\n      userSysId: '20b26776dbc2720062e479daae9619dc',\n      showOnlyPicture: c.options.show_only_pic,\n      showJobTitle: c.options.show_job_title,\n      showCallAndChat: c.options.show_call_chat\n    };\n  }\n\n  function sendRequest() {\n    c.step = 2;\n    $timeout(function() {\n      c.step = 3;\n      $timeout(function() {\n        c.step = 1;\n      }, 3000);\n    }, 2000);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.pe-user-request {&amp;#13;\n  h2 {&amp;#13;\n    margin: 20px 0 10px 0;&amp;#13;\n    font-size: 18px;&amp;#13;\n    font-weight: 600;&amp;#13;\n    color: #1b485e;&amp;#13;\n    text-align: center;&amp;#13;\n  }&amp;#13;\n  h4.title {&amp;#13;\n    font-size: 16px !important;&amp;#13;\n    font-weight: 600 !important;&amp;#13;\n    color: #343d47 !important;&amp;#13;\n    margin-bottom: 6px !important;&amp;#13;\n  }&amp;#13;\n  h4.subtitle {&amp;#13;\n    font-size: 16px !important;&amp;#13;\n    font-weight: 300 !important;&amp;#13;\n    color: #343d47 !important;&amp;#13;\n  }&amp;#13;\n  .btn {&amp;#13;\n    border-radius: 0;&amp;#13;\n    padding: 10px 25px;&amp;#13;\n    font-size: 16px;&amp;#13;\n    &amp;amp;:hover {&amp;#13;\n      cursor: pointer;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .btn-primary {&amp;#13;\n    background-color: #3f4c5c;&amp;#13;\n    border: none;&amp;#13;\n  }&amp;#13;\n  .btn-alternate {&amp;#13;\n    background-color: #fff;&amp;#13;\n    border: solid 1px #5a889f;&amp;#13;\n    color: #3f4c5c;&amp;#13;\n  }&amp;#13;\n  .manager {&amp;#13;\n    margin-bottom: -15px;&amp;#13;\n    margin-top: 15px;&amp;#13;\n    display: flex;&amp;#13;\n    justify-content: center;&amp;#13;\n    .img-circle {&amp;#13;\n      width: 40px !important;&amp;#13;\n      height: 40px !important;&amp;#13;\n      border-radius: 50%;&amp;#13;\n    }&amp;#13;\n    .info {&amp;#13;\n      margin-left: 5px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .actions {&amp;#13;\n    text-align: center;&amp;#13;\n    margin-top: 35px;&amp;#13;\n    button {&amp;#13;\n      margin-left: 10px;&amp;#13;\n    }&amp;#13;\n    button:first-child {&amp;#13;\n      margin-left: 0;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .step2 {&amp;#13;\n    h2 {&amp;#13;\n      margin-top: 35px;&amp;#13;\n      font-size: 18px;&amp;#13;\n      font-weight: 600;&amp;#13;\n      color: #2a3342;&amp;#13;\n      text-align: center;&amp;#13;\n      padding-left: 70px;&amp;#13;\n      span {&amp;#13;\n        margin-left: 15px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .step3 {&amp;#13;\n    .done {&amp;#13;\n      text-align: center;&amp;#13;\n      margin-top: 35px;&amp;#13;\n    }&amp;#13;\n    h2 {&amp;#13;\n      text-align: center;&amp;#13;\n      padding-left: 0;&amp;#13;\n      margin: 0;&amp;#13;\n    }&amp;#13;\n    svg {&amp;#13;\n      width: 36px;&amp;#13;\n      height: 36px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  preloader {&amp;#13;\n    display: block;&amp;#13;\n    position: absolute;&amp;#13;\n    .spinner&amp;gt;div {&amp;#13;\n      background-color: #2a3342;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .fadeIn.ng-hide {&amp;#13;\n    opacity: 0;&amp;#13;\n  }&amp;#13;\n  .fadeIn.ng-hide-remove,&amp;#13;\n  .fadeIn.ng-hide-add {&amp;#13;\n    display: block !important;&amp;#13;\n  }&amp;#13;\n  .fadeIn.ng-hide-remove {&amp;#13;\n    transition: all linear 1000ms;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-user-request&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE User Request&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"name\": \"header\",&amp;#13;\n  \"label\": \"Header\",&amp;#13;\n  \"type\": \"string\",&amp;#13;\n  \"default_value\": \"Request requires approval\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"show_only_pic\",&amp;#13;\n  \"label\": \"Show Only Picture\",&amp;#13;\n  \"type\": \"boolean\",&amp;#13;\n  \"default_value\": \"false\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"show_job_title\",&amp;#13;\n  \"label\": \"Show Job Title\",&amp;#13;\n  \"type\": \"boolean\",&amp;#13;\n  \"default_value\": \"true\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"show_call_chat\",&amp;#13;\n  \"label\": \"Show Call &amp;amp; Chat\",&amp;#13;\n  \"type\": \"boolean\",&amp;#13;\n  \"default_value\": \"false\"&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.header = options.header || serverOptions.header;\n  options.sysId = options.sys_id || serverOptions.sys_id || '20b26776dbc2720062e479daae9619dc';\n  options.showOnlyPic = options.show_only_pic || serverOptions.show_only_pic;\n  options.showTitle = options.show_job_title || serverOptions.show_job_title;\n  options.showCallChat = options.show_call_chat || serverOptions.show_call_chat;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-14 21:22:22&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3a1e5bf2dbc2720062e479daae96196f&lt;/sys_id&gt;&lt;sys_mod_count&gt;110&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE User Request&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3a1e5bf2dbc2720062e479daae96196f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-25 15:26:52&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-user-request-svg'\"&gt;&lt;/div&gt;\n&lt;div class=\"pe-user-request\"&gt;\n  &lt;h2&gt;{{::options.header}}&lt;/h2&gt;\n  &lt;div class=\"manager\"&gt;\n    &lt;sp-widget widget=\"c.data.peopleInfoWidget\"&gt;&lt;/sp-widget&gt;\n  &lt;/div&gt;\n  &lt;div class=\"actions\" ng-click=\"c.sending = true\" ng-show=\"c.step == 1\"&gt;\n    &lt;button class=\"btn btn-alternate\"&gt;Cancel&lt;/button&gt;\n    &lt;button class=\"btn btn-primary\" ng-click=\"c.sendRequest()\"&gt;Request Privileges&lt;/button&gt;\n  &lt;/div&gt;\n  &lt;div class=\"step2\" ng-show=\"c.step == 2\"&gt;\n    &lt;h2&gt;\n      &lt;preloader&gt;&lt;/preloader&gt;\n      &lt;span&gt;Sending Request&lt;/span&gt;\n    &lt;/h2&gt;\n  &lt;/div&gt;\n  &lt;div class=\"step3 fadeIn\" ng-show=\"c.step == 3\"&gt;\n    &lt;div class=\"done\"&gt;\n      &lt;svg&gt;\n        &lt;use xlink:href=\"#done\"&gt;&lt;/use&gt;\n      &lt;/svg&gt;\n    &lt;/div&gt;\n    &lt;h2&gt;Lease Extended&lt;/h2&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>458441656</payload_hash>\n<remote_update_set display_value=\"PE User Request\">4c9f5be3db8c0700a0785404ce9619b8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-07-25 15:29:21</sys_created_on>\n<sys_id>409f5be3db8c0700a0785404ce9619b9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d7a5ba3f00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-07-25 15:29:21</sys_updated_on>\n<table/>\n<target_name>PE User Request</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>fffed3e30a8c0700399ff55618680936</update_guid>\n<update_guid_history>fffed3e30a8c0700399ff55618680936:458441656,d3ee53e33b8c0700db5e13d9552031ff:987511380,81ae5fa37d8c0700d586c2a42e5c1c33:458441656,785e5ba3268c070045427d3e58ab94c6:-1626657258,e41e57a3fb8c07001e07b8e9d7098a21:256657500,1016640954:1016640954</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "pe-user-request/ui-script/pe-preloader-component.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  var preloader = {\n    template: [\n      \"<style>\",\n      \".spinner {\",\n      \"margin: 0 auto;\",\n      \"width: 70px;\",\n      \"text-align: center;\",\n      \"}\",\n      \".spinner > div {\",\n      \"width: 18px;\",\n      \"height: 18px;\",\n      \"background-color: #2a3342;\",\n      \"border-radius: 100%;\",\n      \"display: inline-block;\",\n      \"-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\",\n      \"animation: sk-bouncedelay 1.4s infinite ease-in-out both;\",\n      \"}\",\n      \".spinner .bounce1 {\",\n      \"-webkit-animation-delay: -0.32s;\",\n      \"animation-delay: -0.32s;\",\n      \"}\",\n      \".spinner .bounce2 {\",\n      \"-webkit-animation-delay: -0.16s;\",\n      \"animation-delay: -0.16s;\",\n      \"}\",\n      \"@-webkit-keyframes sk-bouncedelay {\",\n      \"0%, 80%, 100% { -webkit-transform: scale(0) }\",\n      \"40% { -webkit-transform: scale(1.0) }\",\n      \"}\",\n      \"@keyframes sk-bouncedelay {\",\n      \"0%, 80%, 100% { \",\n      \"-webkit-transform: scale(0);\",\n      \"transform: scale(0);\",\n      \"} 40% { \",\n      \"-webkit-transform: scale(1.0);\",\n      \"transform: scale(1.0);\",\n      \"}\",\n      \"}\",\n      \"</style>\",\n      \"<div class=\\\"spinner\\\">\",\n      \"<div class=\\\"bounce1\\\"></div>\",\n      \"<div class=\\\"bounce2\\\"></div>\",\n      \"<div class=\\\"bounce3\\\"></div>\",\n      \"</div>\"\n    ].join(''),\n    controllerAs: 'c'\n  };\n\n  angular\n    .module('pe-user-request')\n    .component('preloader', preloader);\n})();"
  },
  {
    "path": "pe-user-request/ui-script/pe-user-request-module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('pe-user-request', []);\n})();"
  },
  {
    "path": "pe-user-request/widget/pe-user-request.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-user-request-svg'\"></div>\n<div class=\"pe-user-request\">\n  <h2>{{::options.header}}</h2>\n  <div class=\"manager\">\n    <sp-widget widget=\"c.data.peopleInfoWidget\"></sp-widget>\n  </div>\n  <div class=\"actions\" ng-click=\"c.sending = true\" ng-show=\"c.step == 1\">\n    <button class=\"btn btn-alternate\">Cancel</button>\n    <button class=\"btn btn-primary\" ng-click=\"c.sendRequest()\">Request Privileges</button>\n  </div>\n  <div class=\"step2\" ng-show=\"c.step == 2\">\n    <h2>\n      <preloader></preloader>\n      <span>Sending Request</span>\n    </h2>\n  </div>\n  <div class=\"step3 fadeIn\" ng-show=\"c.step == 3\">\n    <div class=\"done\">\n      <svg>\n        <use xlink:href=\"#done\"></use>\n      </svg>\n    </div>\n    <h2>Lease Extended</h2>\n  </div>\n</div>"
  },
  {
    "path": "pe-user-request/widget/pe-user-request.u-client-script.js",
    "content": "function UserRequestController($timeout, spUtil) {\n  var c = this;\n  c.sendRequest = sendRequest;\n\n  c.$onInit = function() {\n    c.step = 1;\n    getUserInfo();\n    activateWidget();\n  };\n\n  function activateWidget() {\n    spUtil.get('pe-people-info', {\n      user_sys_id: c.data.userInfo.userSysId,\n      show_job_title: c.data.userInfo.showJobTitle,\n      show_call_and_chat: c.data.userInfo.showCallAndChat,\n      show_only_picture: c.data.userInfo.showOnlyPicture\n    }).then(function(response) {\n      c.data.peopleInfoWidget = response;\n    });\n  }\n\n  function getUserInfo() {\n    c.data.userInfo = {\n      userSysId: '20b26776dbc2720062e479daae9619dc',\n      showOnlyPicture: c.options.show_only_pic,\n      showJobTitle: c.options.show_job_title,\n      showCallAndChat: c.options.show_call_chat\n    };\n  }\n\n  function sendRequest() {\n    c.step = 2;\n    $timeout(function() {\n      c.step = 3;\n      $timeout(function() {\n        c.step = 1;\n      }, 3000);\n    }, 2000);\n  }\n}"
  },
  {
    "path": "pe-user-request/widget/pe-user-request.u-css.scss",
    "content": ".pe-user-request {\r\n  h2 {\r\n    margin: 20px 0 10px 0;\r\n    font-size: 18px;\r\n    font-weight: 600;\r\n    color: #1b485e;\r\n    text-align: center;\r\n  }\r\n  h4.title {\r\n    font-size: 16px !important;\r\n    font-weight: 600 !important;\r\n    color: #343d47 !important;\r\n    margin-bottom: 6px !important;\r\n  }\r\n  h4.subtitle {\r\n    font-size: 16px !important;\r\n    font-weight: 300 !important;\r\n    color: #343d47 !important;\r\n  }\r\n  .btn {\r\n    border-radius: 0;\r\n    padding: 10px 25px;\r\n    font-size: 16px;\r\n  }\r\n  .btn-primary {\r\n    background-color: #3f4c5c;\r\n    border: none;\r\n  }\r\n  .btn-alternate {\r\n    background-color: #fff;\r\n    border: solid 1px #5a889f;\r\n    color: #3f4c5c;\r\n  }\r\n  .manager {\r\n    margin-bottom: -15px;\r\n    margin-top: 15px;\r\n    display: flex;\r\n    justify-content: center;\r\n    .img-circle {\r\n      width: 40px !important;\r\n      height: 40px !important;\r\n      border-radius: 50%;\r\n    }\r\n    .info {\r\n      margin-left: 5px;\r\n    }\r\n  }\r\n  .actions {\r\n    text-align: center;\r\n    margin-top: 35px;\r\n    button {\r\n      margin-left: 10px;\r\n    }\r\n    button:first-child {\r\n      margin-left: 0;\r\n    }\r\n  }\r\n  .step2 {\r\n    h2 {\r\n      margin-top: 35px;\r\n      font-size: 18px;\r\n      font-weight: 600;\r\n      color: #2a3342;\r\n      text-align: center;\r\n      padding-left: 70px;\r\n      span {\r\n        margin-left: 15px;\r\n      }\r\n    }\r\n  }\r\n  .step3 {\r\n    .done {\r\n      text-align: center;\r\n      margin-top: 35px;\r\n    }\r\n    h2 {\r\n      text-align: center;\r\n      padding-left: 0;\r\n      margin: 0;\r\n    }\r\n    svg {\r\n      width: 36px;\r\n      height: 36px;\r\n    }\r\n  }\r\n  preloader {\r\n    display: block;\r\n    position: absolute;\r\n    .spinner>div {\r\n      background-color: #2a3342;\r\n    }\r\n  }\r\n  .fadeIn.ng-hide {\r\n    opacity: 0;\r\n  }\r\n  .fadeIn.ng-hide-remove,\r\n  .fadeIn.ng-hide-add {\r\n    display: block !important;\r\n  }\r\n  .fadeIn.ng-hide-remove {\r\n    transition: all linear 1000ms;\r\n  }\r\n}"
  },
  {
    "path": "pe-user-request/widget/pe-user-request.u-option-schema.json",
    "content": "[{\n  \"name\": \"header\",\n  \"label\": \"Header\",\n  \"type\": \"string\",\n  \"default_value\": \"Request requires approval\"\n}, {\n  \"name\": \"show_only_pic\",\n  \"label\": \"Show Only Picture\",\n  \"type\": \"boolean\",\n  \"default_value\": \"false\"\n}, {\n  \"name\": \"show_job_title\",\n  \"label\": \"Show Job Title\",\n  \"type\": \"boolean\",\n  \"default_value\": \"true\"\n}, {\n  \"name\": \"show_call_chat\",\n  \"label\": \"Show Call & Chat\",\n  \"type\": \"boolean\",\n  \"default_value\": \"false\"\n}]"
  },
  {
    "path": "pe-user-request/widget/pe-user-request.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.header = options.header || serverOptions.header;\n  options.sysId = options.sys_id || serverOptions.sys_id || '20b26776dbc2720062e479daae9619dc';\n  options.showOnlyPic = options.show_only_pic || serverOptions.show_only_pic;\n  options.showTitle = options.show_job_title || serverOptions.show_job_title;\n  options.showCallChat = options.show_call_chat || serverOptions.show_call_chat;\n})();"
  },
  {
    "path": "people-card/pe-people-info/Readme.md",
    "content": "# People Info\n\n## Description\n\nThis widget can be used to create a simple people card with user avatar, name, title, call and chat functionality.\n\n## Screenshots\n![alt text](../../images/pe-people-info-01.png \"People Info\")\n![alt text](../../images/pe-people-info-02.png \"People Info - With option Only Picture set to True\")\n![alt text](../../images/pe-people-info-03.png \"People Info - With option Job Title set to False\")\n![alt text](../../images/pe-people-info-04.png \"People Info - With option Call And Chat set to False\")\n![alt text](../../images/pe-people-info-05.png \"People Info - With option Show Text Below Picture set to True\")\n![alt text](../../images/pe-people-info-avatar-border.png \"People Info - With option to Add border color around avatar\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-people-info.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/people-card/pe-people-info/pe-people-info.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `User Sys ID` | This is to pass the user sys_id you want to display. We pull all the user details associated with this sys_id. | 9ec35b8713453a007e94fc5ed144b09a |\n| `Show Only Picture` | This is a boolean variable, when checked we only display the user avatar and nothing else. | false |\n| `Show Job Title` | This is a boolean variable, when checked we show the user job tile below his name. | true |\n| `Show Call and Chat` | This is a boolean variable, when checked we show chat and call icons. | true |\n| `Show Text Below Picture` | This is a boolean variable, when checked we show the name below the picture. | false |\n| `Add border color around avatar` | This takes a hex code for color and adds it as a border to the image. |  |\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-brand-primary: #337ab7 !default;\n```"
  },
  {
    "path": "people-card/pe-people-info/pe-people-info.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-19 20:21:48\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE People Info</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>6a81b89c13123e00de8cb5b12244b02e</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>4e40c568139a3e00de8cb5b12244b032</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_people_info_launch_connect</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>Launch connect chat</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_people_info_launch_connect</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 00:56:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>52f5930813dd7a007e94fc5ed144b0f9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Launch connect chat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:09:03</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>0a40c568139a3e00de8cb5b12244b034</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>Launch connect chat</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-people-info-launch-connect</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7a1a978813dd7a007e94fc5ed144b0fd</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-people-info-launch-connect-ui-script\">9ff4d7c413dd7a007e94fc5ed144b0e7</sys_ui_script><sys_update_name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:57</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>0e40c568139a3e00de8cb5b12244b033</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_9ec35b8713453a007e94fc5ed144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><average_daily_fte/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department/><edu_status>faculty</edu_status><email>suzy@example.com</email><employee_number/><failed_attempts/><first_name>Suzy</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Ham</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Suzy Ham</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone>(858) 876-6870</phone><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:13:01</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9ec35b8713453a007e94fc5ed144b09a</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:14:04</sys_updated_on><time_format/><time_zone/><title>Developer</title><u_demo_persona>false</u_demo_persona><user_name>suzy.ham</user_name><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#843d29</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height>128</image_height><image_width>128</image_width><size_bytes>4896</size_bytes><size_compressed>4603</size_compressed><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>eb16d7c713453a007e94fc5ed144b055</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:22:45</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>9ec35b8713453a007e94fc5ed144b09a</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2f16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>af16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>8xWkrWmU9Gzht3lX7qh64Yq3ZXvj56Y6FfGN+7Va3iSAqfjsmviqxL4HDM4eJfclh290XZg46MXT+vbJxtRBXgood5dPavjJu7q3DOX7KQZ+3ybLtHAHyVL6F6vSw7+BlvMa3ZbYrF8Wap2oNWztLTT5HFlc/Q2IFLVKFnMf3yIB60J59yUaZyaxtfDDd+yozOhyhhEU3B+zUfy7JMDnoeIyAvcJzlTLnconXiUOeD1luPFl4Blvy5YawvHhYf3HtEozU7WljkjdjLLvt1KuLv917rrYCQrfUNjTL7zDZSf7A4l95btGyxz2nnXFmAS4NS9/7dAtZ9GPhz+hryvMEfd700a44aOdY7qYnLPnEhzD2V+Me1WmNxFWxZIlw/GhOcnYCfSGEzpCsOh9KuCSMcqlkfA47eB9aGapUuVKlNsma4kgzy6Re/hxuUZCZXtwrGvfjWwV+BKnw7d87YW2rk4vNQWT+/Qtbkgr9qiLOiPtycc24XfFO6z0NdimlQoS9mMSExiswz67eEZ7ljOKXKPlmGd/SH9WTzoC//QSoYQ6tSWyvUKdVZ4z9MlzvL2ET+pKLVUdXZ5YjbvPTEg2H1eNRKTJDP5x0uqVmJNBadrw9k/FuqPB6Yw4XmO/7pDAA4uhLE5POa9H75Dy1+LmJqy0YBmNnZQnXnvjrQGz0+zDxJm7bH7j9fQyhe07jD14rcMUVRlnpT7ViVa35dixjjQu5rtg7+IrgF146zd0jWGk6IFEcblcpbFgydhHvMjKhi+tVF8HqAFMQNYufsq8HpCiNUn+dupVL7mqQqLC4gLmbMTeVZ8fTivoEm5IbBaTuAD2IhZAxsHd2xRustLKILFnNb58RP6BYeWNm7gQvJKX0TBv3Dp66Qc0m9U+7YeNM0c0H7PSlEZIIbYz2QXuqFohhnJZDsFrMSMxqztXPPI/MujD3xyYIyrI97KOWYu3V7alryPKa57EOwfn42fMctQ0hjw5o5vqP2fIMegjprhWFljR6b7JEwnoDVfhje9qC4nd0xUqzoEJU1sD54hPdM4bER25q5m5kmJtFqKXItiGYk3rvxwy3s7pOUdZiHp0TnUVJ5X8WYbRRvcTMzOYxnwEyoVauc3ZbB0XMZ1GnNBMb0InhNNwhq2ErjnsptxTvyoCKc3QWGsW4m8evINUu1wv3M3RUcrPgX2ZTkDmfjdQIiIcnSjHne9cBIW2JTZ0/lRaqYqpbEYUCMvwx0V1EAs+v/xhhux9wGfao8r3nCE6xWK0pm7AKfPF29fr3dfax1LTeJ4hkDYEixILs7CwX69svlYGMUW+ilX9Js2eXHq30yHKQq3bsyKYruAa8DmgL/DVcJZtR2AzS4n1VkFUaInqLX/w5sxzWBTPbTnJKE+5Qc3a4aDfX74TtQWVaTv1vfhDYX357GiFELiUBqPkWyo2gnfxjrCjJglwnBQv8daMCy7Wq3hddM2ZgV3zEb8ulUxX19WZNwRDsVLFhXmnttfnV1+VAaom2K1SatzZViVhC+P33erWC8kKXZjzLwqQdzEkIPAMU7yiH7dkLXzQtjcUc/lb9/lU50UHLf1f+/CRWkS7V+6Yq2vWpIrC03knErAbX2jxa+tBhGCxFbdp5Q7zEcP09cIByoyy0Jxxo7rGJPytTCEuISrxL4HFfReHPxe7b3dFNjwObT+IzrbI1eEYO2ppNNtgzM4bIfQ4YgVMog3zP6wYl5rz7M32jfixDORcsu10cOaoh3EfEw1sZZUIn2dPtlsXK8dEr8rT+l4D+jq+aVyKkFQ21GPKxGzTKDARsS52nr7KX0Ntg83lbwozhIT94sXMe8d9THEKx3XSCsI3qqz0RljO5Cjnh0yMntSHFx2qGQjLW07YIHT4VC0y9J9YnF321ibm+RUzb8jvdASaFN0dywpaREqMG6anyuu/4PbHCb3K7O76vu/++hEBnz08p9DkMVDux/NL6sbqFD+VPMzRVuBiudNdhZE5J7W4z4M/GWubap4g0HQ0nw8Kg3ZTH/7UTqE5My1Mv8DdIzzTMlBZGNOs+ClxsKSQoBW9wVHO+v5Ljn++wkBaSOge57zM+MPZp21Wfi6pP0zMhH5am8iln6MYzV4LqH0pKnJrrfWE4H5JgfzP0s7yVajm6cU4Y1nJAoTXeH00f+QyDW7NCmzXJOKp2Dj8a8zC2Gxjai08Fc0UY3No9Y3p5ApMkh4RZA4QlbcPn5wt1r7MmzMlkB+qU59sOl+fchnumf48ceoNwC16r7w2y5n/aKxteQiy1DXW0q1RUzaRF28a9pQZzam4nPP2qBt3wzRl8XhbcJZCBY/tlQTPXOTjrCsiAQ7DBoEdSauXJVkKDKJw263tu70edpFrPFwdsfc/ZjdVE1VIY/8CocFFfiATAAA=</data><length>2392</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2316d7c713453a007e94fc5ed144b056</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>4640c568139a3e00de8cb5b12244b034</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>Suzy Ham</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-people-info-launch-connect</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:13:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3f9578813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:41</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>4a40c568139a3e00de8cb5b12244b033</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-people-info-launch-connect-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function openChat(elem) {\n\n\n    console.log('***** Opening Chat w/ ' + elem.id);\n    var requestBody = '';\n    var client = new XMLHttpRequest();\n\n\n    var url = \"/api/snc/pe_people_info_launch_connect/launch?user_id=\" + elem.id;\n    client.open(\"get\", url, false);\n    client.setRequestHeader('Accept', 'application/json');\n    client.setRequestHeader('Content-Type', 'application/json');\n    client.setRequestHeader('X-UserToken', window.g_ck);\n    client.send(requestBody);\n    if (client.status === 200) {\n        var liveProfileID = JSON.parse(client.response).result;\n        console.log('**** Channel ID received ' + liveProfileID.profile_id);\n        url = '/$c.do#?user=' + liveProfileID.profile_id;\n        window.open(url, \"_blank\");\n    } else {\n        console.log('**** No Channel ID received.');\n        url = '/$c.do';\n        window.open(url, \"_blank\");\n    }\n}\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:55:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch-connect-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:10:59&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>8240c568139a3e00de8cb5b12244b034</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-people-info-launch-connect\">c3f9578813dd7a007e94fc5ed144b0c7</sp_dependency><sp_widget display_value=\"PE People Info\">11f38daa134db600d15e3d7ed144b0fa</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 00:43:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3372305013523e00de8cb5b12244b044</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-people-info-launch-connect.PE People Info</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 00:43:05</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>8640c568139a3e00de8cb5b12244b033</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect.PE People Info</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;pe-people-info-launch&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\ttry{\n\t\tvar userID='';\n\t\tvar liveprofile = {};\n\t\tif(request.queryParams.user_id) {\n\t\t\tuserID = request.queryParams.user_id;\n\t\t\t//gs.info(\"user id \"+userID);\n\t\t\tvar gr = new GlideRecord('live_profile');\n\t\t\tgr.addQuery('table','sys_user');\n\t\t\tgr.addQuery('document',userID);\n\t\t\tgr.query();\n\t\t\tif(gr.next()){\n\t\t\t\t//gs.info(\"user id found \"+userID);\n\t\t\t\tliveprofile.profile_id = gr.sys_id.toString();\n\t\t\t} else {\n\t\t\t\t//gs.info(\"user id not found \"+userID);\n\t\t\t\tvar grTwo = new GlideRecord('live_profile');\n\t\t\t\tgrTwo.initialize(); \n\t\t\t\tgrTwo.table = 'sys_user'; \n\t\t\t\tgrTwo.document = userID; \n\t\t\t\tgrTwo.type = 'User';\n\t\t\t\t\n\t\t\t\tvar gruser = new GlideRecord('sys_user');\n                    gruser.addQuery('sys_id',userID);\n\t\t\t        gruser.query();\n\t\t\t       if(gruser.next()){\n\t\t\t\t\t\tgrTwo.name =gruser.name.toString() ;\n                        liveprofile.profile_id = grTwo.insert();\n                   }\n\t\t\t\t \n\t\t\t}\n\t\t\n\t\t}\n\t\tif(liveprofile)\n\t\t\tresponse.setBody(liveprofile);\n\t\telse\n\t\t\tresponse.setBody('Error');\n\t\t\n\t}catch(e){\n\t\tresponse.setBody('Error : '+ e.message);\n\t}\n    // implement resource here\n\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_people_info_launch_connect/launch&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/launch&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:57:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2326170813dd7a007e94fc5ed144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 23:32:45&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"Launch connect chat\"&gt;52f5930813dd7a007e94fc5ed144b0f9&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>ca40c568139a3e00de8cb5b12244b034</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_11f38daa134db600d15e3d7ed144b0fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;async&gt;false&lt;/async&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n  padding: 10px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  width: 100%;\n  float: left;\n  margin: 0px;\n  .media-body {\n    width: 100%;\n    .people_name_title {\n      .title {\n        font-size: 15px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #81878e;\n      }\n      .subtitle {\n        font-size: 13px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #a8abaf;\n      }\n    }\n  }\n  .media-left {\n    .list__photo {\n      width: 35px;\n      height: 35px;\n    }\n    .initials-badge {\n      min-width: 36px;\n      float: left;\n      margin-top: 0px;\n      border-radius: 50%;\n      line-height: 1;\n      font-size: 14px;\n      margin-left: 0px;\n      padding: 10px 10px;\n      font-weight: 300;\n      background: #AEB2B3;\n    }\n  }\n  .media-right {\n    width: 40%;\n    .fa-color {\n      color: $pe-brand-primary;\n      margin-right: 10px;\n    }\n  }\n}\n\n.show-text-bottom {\n  margin: 0px;\n  top: 50px;\n  .people_name_title {\n    .title {\n      margin-top: 0px;\n      font-size: 15px;\n      font-weight: normal;\n      margin-bottom: 0px;\n      color: #81878e;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;People Info widget for displaying user avatar, name, titile with call/chat functionality.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-people-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Info&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"name\":\"show_text_below_picture\",\"default_value\":\"false\",\"label\":\"Show Text Below Picture\",\"type\":\"boolean\"},{\"name\":\"add_border_color_around_avatar\",\"default_value\":\"\",\"label\":\"Add border color around avatar\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.user_sys_id = input.user_sys_id || options.user_sys_id; \n\n  var getBoolValue = function (inputVal, optionVal) {\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      if (typeof optionVal === 'string') {\n        return (optionVal === 'true');\n      } else {\n        return (optionVal === true);\n      }\n    } else {\n      if (typeof inputVal === 'string') {\n        return (inputVal === 'true');\n      } else {\n        return (inputVal === true);\n      }\n    }\n  };\n\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\t\n\tdata.avatar_border = input.add_border_color_around_avatar || options.add_border_color_around_avatar;\n  data.show_only_picture = getBoolValue(input.show_only_picture, options.show_only_picture);\n  data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n  data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n  data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 22:35:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;11f38daa134db600d15e3d7ed144b0fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;226&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_11f38daa134db600d15e3d7ed144b0fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 20:19:47&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"media people-card-media\" ng-style=\"data.show_text_below_picture == true ? { 'padding-bottom':'2px' } : { 'padding-bottom':'10px' }\"&gt;\n  &lt;div class=\"media-left\"&gt;\n    &lt;div class=\"person-photo\"&gt;\n       &lt;img ng-if=\"data.user_photo &amp;&amp; c.data.avatar_border\" ng-style=\"{'border':'3px solid '+c.data.avatar_border}\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;img ng-if=\"data.user_photo &amp;&amp; !c.data.avatar_border\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n        &lt;span class=\"\"&gt;{{::data.user_initials}}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"!data.show_only_picture &amp;&amp; !data.show_text_below_picture\" class=\"media-body\"&gt;\n    &lt;div class=\"people_name_title\"&gt;\n      &lt;h4 class=\"media-heading title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n      &lt;h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\"&gt;{{::data.user_job_title}}&lt;/h4&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media-right\" ng-if=\"data.show_call_and_chat\"&gt;\n    &lt;i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.show_text_below_picture &amp;&amp; !data.show_text_below_picture\" class=\"show-text-bottom\"&gt;\n  &lt;div class=\"people_name_title\"&gt;\n    &lt;h4 class=\"title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE People Info\">4e40c568139a3e00de8cb5b12244b032</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2017-04-19 20:21:47</sys_created_on>\n<sys_id>ce40c568139a3e00de8cb5b12244b033</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2017-04-19 20:21:47</sys_updated_on>\n<table/>\n<target_name>PE People Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "people-card/pe-people-info/scripted_rest/pe-people-info-launch.js",
    "content": "(function process(request, response) {\r\n  try {\r\n    var userID = '';\r\n    var liveprofile = {};\r\n    if (request.queryParams.user_id) {\r\n      userID = request.queryParams.user_id;\r\n      var gr = new GlideRecord('live_profile');\r\n      gr.addQuery('table', 'sys_user');\r\n      gr.addQuery('document', userID);\r\n      gr.query();\r\n      if (gr.next()) {\r\n        liveprofile.profile_id = gr.sys_id.toString();\r\n      } else {\r\n        var grTwo = new GlideRecord('live_profile');\r\n        grTwo.initialize();\r\n        grTwo.table = 'sys_user';\r\n        grTwo.document = userID;\r\n        grTwo.type = 'User';\r\n\r\n        var gruser = new GlideRecord('sys_user');\r\n        gruser.addQuery('sys_id', userID);\r\n        gruser.query();\r\n        if (gruser.next()) {\r\n          grTwo.name = gruser.name.toString();\r\n          liveprofile.profile_id = grTwo.insert();\r\n        }\r\n      }\r\n    }\r\n    if (liveprofile)\r\n      response.setBody(liveprofile);\r\n    else\r\n      response.setBody('Error');\r\n  } catch (e) {\r\n    response.setBody('Error : ' + e.message);\r\n  }\r\n})(request, response);"
  },
  {
    "path": "people-card/pe-people-info/ui-script/pe-people-info-launch-connect.u-client-script.js",
    "content": "function openChat(elem) {\n  console.log('***** Opening Chat w/ ' + elem.id);\n  var requestBody = '';\n  var client = new XMLHttpRequest();\n  var url = '/api/snc/pe_people_info_launch_connect/launch?user_id=' + elem.id;\n\n  client.open('get', url, false);\n  client.setRequestHeader('Accept', 'application/json');\n  client.setRequestHeader('Content-Type', 'application/json');\n  client.setRequestHeader('X-UserToken', window.g_ck);\n  client.send(requestBody);\n  if (client.status === 200) {\n    var liveProfileID = JSON.parse(client.response).result;\n    console.log('**** Channel ID received ' + liveProfileID.profile_id);\n    url = '/$c.do#?user=' + liveProfileID.profile_id;\n    window.open(url, '_blank');\n  } else {\n    console.log('**** No Channel ID received.');\n    url = '/$c.do';\n    window.open(url, '_blank');\n  }\n}"
  },
  {
    "path": "people-card/pe-people-info/widget/pe-people-info.u-body-html-template.html",
    "content": "<div class=\"media people-card-media\" ng-style=\"data.show_text_below_picture == true ? { 'padding-bottom':'2px' } : { 'padding-bottom':'10px' }\">\n    <div class=\"media-left\">\n        <div class=\"person-photo\">\n            <img ng-if=\"data.user_photo && c.data.avatar_border\" ng-style=\"{'border':'3px solid '+c.data.avatar_border}\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\">\n            <img ng-if=\"data.user_photo && !c.data.avatar_border\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\">\n            <div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\">\n                <span class=\"\">{{::data.user_initials}}</span>\n            </div>\n        </div>\n    </div>\n    <div ng-if=\"!data.show_only_picture && !data.show_text_below_picture\" class=\"media-body\">\n        <div class=\"people_name_title\">\n            <h4 class=\"media-heading title\">{{::data.user_full_name}}</h4>\n            <h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\">{{::data.user_job_title}}</h4>\n        </div>\n    </div>\n\n    <div class=\"media-right\" ng-if=\"data.show_call_and_chat\">\n        <i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"></i>\n        <i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"></i>\n    </div>\n</div>\n\n<div ng-if=\"data.show_text_below_picture && !data.show_text_below_picture\" class=\"show-text-bottom\">\n    <div class=\"people_name_title\">\n        <h4 class=\"title\">{{::data.user_full_name}}</h4>\n    </div>\n</div>"
  },
  {
    "path": "people-card/pe-people-info/widget/pe-people-info.u-client-script.js",
    "content": "function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}"
  },
  {
    "path": "people-card/pe-people-info/widget/pe-people-info.u-css.scss",
    "content": "$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n    padding: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    width: 100%;\n    float: left;\n    margin: 0px;\n    .media-body {\n        width: 100%;\n        .people_name_title {\n            .title {\n                font-size: 15px;\n                font-weight: normal;\n                margin-bottom: 0px;\n                color: #81878e;\n            }\n            .subtitle {\n                font-size: 13px;\n                font-weight: normal;\n                margin-bottom: 0px;\n                color: #a8abaf;\n            }\n        }\n    }\n    .media-left {\n        .list__photo {\n            width: 35px;\n            height: 35px;\n        }\n        .initials-badge {\n            min-width: 36px;\n            float: left;\n            margin-top: 0px;\n            border-radius: 50%;\n            line-height: 1;\n            font-size: 14px;\n            margin-left: 0px;\n            padding: 10px 10px;\n            font-weight: 300;\n            background: #AEB2B3;\n        }\n    }\n    .media-right {\n        width: 40%;\n        .fa-color {\n            color: $pe-brand-primary;\n            margin-right: 10px;\n        }\n    }\n}\n\n.show-text-bottom {\n    margin: 0px;\n    top: 50px;\n    .people_name_title {\n        .title {\n            margin-top: 0px;\n            font-size: 15px;\n            font-weight: normal;\n            margin-bottom: 0px;\n            color: #81878e;\n        }\n    }\n}"
  },
  {
    "path": "people-card/pe-people-info/widget/pe-people-info.u-server-script.js",
    "content": "(function() {\n    data.user_sys_id = input.user_sys_id || options.user_sys_id;\n\n    var getBoolValue = function(inputVal, optionVal) {\n        if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n            if (typeof optionVal === 'string') {\n                return (optionVal === 'true');\n            } else {\n                return (optionVal === true);\n            }\n        } else {\n            if (typeof inputVal === 'string') {\n                return (inputVal === 'true');\n            } else {\n                return (inputVal === true);\n            }\n        }\n    };\n\n    var userGR = new GlideRecord('sys_user');\n    if (userGR.get(data.user_sys_id)) {\n        data.user_first_name = userGR.getDisplayValue('first_name');\n        data.user_last_name = userGR.getDisplayValue('last_name');\n        data.user_full_name = userGR.getDisplayValue('name');\n        data.user_job_title = userGR.getDisplayValue('title');\n        data.user_photo = userGR.getDisplayValue('photo');\n        data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n        data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n    }\n\n    data.avatar_border = input.add_border_color_around_avatar || options.add_border_color_around_avatar;\n    data.show_only_picture = getBoolValue(input.show_only_picture, options.show_only_picture);\n    data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n    data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n    data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();"
  },
  {
    "path": "people-card/pe-technician-card/README.md",
    "content": "# Technician Card\n\n## Description\n\nThis widget can be used to create a simple people card with name, username, and eventually location, representing a technical intervention.\n\n## Screenshots\n![alt text](../../images/pe-technician-card.png \"Technician Card\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-technician-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/people-card/pe-technician-card/pe-technician-card.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal style configuration to make it easy to customize.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "people-card/pe-technician-card/pe-technician-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-04 08:41:45\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-technician-card.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>f3773168db3bb2004e5cfa131f961954</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>24e8f1f8db77f20086da7d5e0f96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_07a7fc20db77b2004e5cfa131f961919</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function EnduserTechnicianCardController($rootScope, $timeout) {\n\n  /* widget controller */\n  var c = this;\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.images-card {\n  height: 90px;\n}\n\n.info {\n  border-radius: 3px;\n  border: solid 1px $gray-lighter;\n  margin-top: 10px;\n  padding: 10px 10px 0 10px;\n  h4 {\n    margin: 0;\n    margin-bottom: 13px;\n  }\n  .technician {\n    display: flex;\n    .col1 {\n      flex-grow: 1;\n    }\n    .col2 {\n      img {\n        height: 90px;\n      }\n    }\n    .user {\n      display: flex;\n      img {\n        border-radius: 50%;\n        border: solid 4px $gray-lighter;\n        height: 90px;\n      }\n      .user-info {\n        margin-left: 10px;\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n        .name {\n          font-size: 16px;\n          font-weight: bold;\n          color: $gray;\n        }\n        .id {\n          color: $gray;\n          font-size: 14px;\n        }\n      }\n    }\n  }\n  .actions {\n    margin: 15px -10px 0 -10px;\n    border-top: solid 1px $gray-lighter;\n    display: flex;\n    button {\n      padding-right: 0;\n      font-size: 13px;\n      flex-grow: 1;\n      flex-basis: 0;\n      display: flex;\n      justify-content: center;\n      height: 50px;\n      background-color: transparent;\n      border: none;\n      svg {\n        margin-right: 2px;\n      }\n    }\n  }\n}\n\n.end .actions {\n  margin-top: 35px;\n  text-align: center;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;technician-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Technician Card&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.obj = {};\n  data.user_sys_id = gs.getUserID();\n  var gr = new GlideRecord('sys_user');\n  gr.addQuery('sys_id', data.user_sys_id);\n  gr.query();\n\n  while (gr.next()) {\n    data.obj.name = gr.first_name.toString() + \" \" + gr.last_name.toString();\n    data.obj.id = gr.user_name.toString();\n    data.obj.photo = gr.photo.getDisplayValue() + '?t=small';\n  }\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-03 09:19:50&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;07a7fc20db77b2004e5cfa131f961919&lt;/sys_id&gt;&lt;sys_mod_count&gt;55&lt;/sys_mod_count&gt;&lt;sys_name&gt;Technician Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_07a7fc20db77b2004e5cfa131f961919&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 13:59:14&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"inner-page\"&gt;\n    &lt;div class=\"info col-xs-12  \"&gt;\n        &lt;div class=\"technician\"&gt;\n            &lt;div class=\"col1\"&gt;\n                &lt;h4&gt;${NDL Technician Card Title 1}&lt;/h4&gt;\n                &lt;div class=\"user\"&gt;\n                    &lt;img ng-src=\"{{c.data.obj.photo}}\" alt=\"\" class=\"images-card\"&gt;\n                    &lt;div class=\"user-info\"&gt;\n                        &lt;div class=\"name\"&gt;{{c.data.obj.name}}&lt;/div&gt;\n                        &lt;div class=\"id\"&gt;ID# {{c.data.obj.id}}&lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col2\"&gt;\n                &lt;h4&gt;${NDL Technician Card Title 2}&lt;/h4&gt;\n\n                &lt;img src=\"map.png\" class=\"images-card\" /&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n\n        &lt;div class=\"actions\"&gt;\n            &lt;button&gt;\n\n                &lt;svg width=\"20px\" height=\"21px\" viewBox=\"0 0 20 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n                     xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n                    &lt;defs&gt;&lt;/defs&gt;\n                    &lt;g id=\"pencil\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"\n                       transform=\"translate(0.000000, 0.750000)\"&gt;\n                        &lt;g id=\"Layer_1\" fill=\"#2D3645\"&gt;\n                            &lt;path d=\"M15.6958525,0 C16.4516129,0.0917431193 17.0967742,0.146788991 17.7327189,0.247706422 C17.8986175,0.275229358 18.0645161,0.385321101 18.1935484,0.504587156 C18.5529954,0.834862385 18.8663594,1.22018349 19.2442396,1.53211009 C19.6866359,1.88990826 19.7603687,2.36697248 19.8894009,2.88073394 C20.202765,4.0733945 19.7235023,4.83486239 18.8847926,5.65137615 C14.7096774,9.70642202 10.6082949,13.8348624 6.47926267,17.9449541 C6.13824885,18.2844037 5.76958525,18.4954128 5.30875576,18.6146789 C3.76958525,19.0275229 2.23963134,19.4862385 0.709677419,19.9082569 C0.516129032,19.9633028 0.202764977,19.9633028 0.0921658986,19.853211 C-0.0184331797,19.733945 -0.00921658986,19.4311927 0.0460829493,19.2293578 C0.497695853,17.5963303 0.967741935,15.9724771 1.44700461,14.3486239 C1.51152074,14.1284404 1.640553,13.8899083 1.80645161,13.733945 C6.29493088,9.23853211 10.8018433,4.74311927 15.3087558,0.266055046 C15.4285714,0.119266055 15.6129032,0.0458715596 15.6958525,0 Z M6.29493088,16.9449541 C6.43317972,16.8165138 6.56221198,16.6972477 6.69124424,16.5779817 C10.6267281,12.6697248 14.5437788,8.74311927 18.4976959,4.85321101 C18.9861751,4.36697248 19.2165899,3.93577982 19.0875576,3.22018349 C18.9953917,2.67889908 18.8663594,2.2293578 18.4239631,1.88073394 C18.2119816,1.70642202 18.0460829,1.46788991 17.8248848,1.31192661 C17.6221198,1.16513761 17.3824885,1.05504587 17.1520737,0.990825688 C16.875576,0.917431193 16.5714286,0.935779817 16.2857143,0.880733945 C15.9631336,0.825688073 15.7511521,0.926605505 15.5207373,1.1559633 C11.4562212,5.2293578 7.38248848,9.28440367 3.31797235,13.3394495 C3.21658986,13.440367 3.11520737,13.559633 3.01382488,13.6697248 C4.89400922,13.9908257 5.98156682,15.0642202 6.29493088,16.9449541 Z M5.43778802,17.706422 C5.4562212,16.7155963 5.34562212,15.8165138 4.46082949,15.2293578 C4.31336406,15.1284404 4.21198157,14.9633028 4.06451613,14.853211 C3.95391705,14.7614679 3.8156682,14.6788991 3.67741935,14.6605505 C3.29953917,14.5963303 2.92165899,14.559633 2.53456221,14.5321101 C2.42396313,14.5229358 2.23963134,14.5963303 2.21198157,14.6605505 C1.98156682,15.4036697 1.77880184,16.1651376 1.55760369,16.9266055 C2.32258065,17.1926606 2.78341014,17.6972477 3.04147465,18.3944954 C3.87096774,18.1559633 4.66359447,17.9266055 5.43778802,17.706422 Z\"\n                                  id=\"Shape\"&gt;&lt;/path&gt;\n                        &lt;/g&gt;\n                    &lt;/g&gt;\n                &lt;/svg&gt;\n\n                ${NDL Technician Card Change Appointment}\n            &lt;/button&gt;\n            &lt;button&gt;\n\n                &lt;svg width=\"20px\" height=\"20px\" viewBox=\"-1 -1 20 20\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n                     xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n                    &lt;defs&gt;&lt;/defs&gt;\n                    &lt;g id=\"Group-3\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n                        &lt;polyline id=\"Shape\" stroke=\"#2D3645\"\n                                  points=\"3.24418605 1.70930233 0.174418605 1.70930233 0.174418605 17.8255814 17.8255814 17.8255814 17.8255814 1.70930233 14.755814 1.70930233\"&gt;&lt;/polyline&gt;\n                        &lt;rect id=\"Rectangle-path\" stroke=\"#2D3645\" x=\"3.24418605\" y=\"0.174418605\" width=\"2.30232558\"\n                              height=\"3.06976744\"&gt;&lt;/rect&gt;\n                        &lt;rect id=\"Rectangle-path\" stroke=\"#2D3645\" x=\"12.4534884\" y=\"0.174418605\" width=\"2.30232558\"\n                              height=\"3.06976744\"&gt;&lt;/rect&gt;\n                        &lt;path d=\"M5.54651163,1.70930233 L12.4534884,1.70930233\" id=\"Shape\" stroke=\"#2D3645\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M0.174418605,5.54651163 L17.8255814,5.54651163\" id=\"Shape\" stroke=\"#2D3645\"&gt;&lt;/path&gt;\n                    &lt;/g&gt;\n                &lt;/svg&gt;\n                ${NDL Technician Card Add to Calendar}\n            &lt;/button&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1655722009</payload_hash>\n<remote_update_set display_value=\"pe-technician-card.u-update-set.xml\">24e8f1f8db77f20086da7d5e0f96194c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>20e8f1f8db77f20086da7d5e0f96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08bf81590000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<table/>\n<target_name>Technician Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>29f7bda091bfb20050ff59f37d60cdb1</update_guid>\n<update_guid_history>29f7bda091bfb20050ff59f37d60cdb1:-1655722009,a9a731a80c3bb200b481c5ed4fb7f800:688823411,b1e80de43fb7b2000fb975f470c1d483:-1768986810,26b849e436b7b20002540d3059e1c0dd:-1013730928,42b809acee3fb200f7933c75795d2a57:1687036048,7f7849e4f4b7b200d170c7061193bdd2:-772597744,f75785e0bfb7b20086ca5aabe603b048:220455948,efa6416ccb3fb2005052c041b0a21b63:-1346937892,10868de01db7b2002467fbf86d47364a:838263859,6576416cc83fb200e462efd528cdf45f:1471923221,f136c56cf13fb2005165780a7c5f2716:-1047491483,a7168de0d9b7b2004db0ce0261892046:-1821395454,f906052c893fb200642a32f6bb4926a8:491565254,34b585e051b7b200f84ba1e124f12c43:-1419338257,6da585a0d9b7b200e090890c898b1927:1050309817,c985016ce73fb200b2f58596dc67caa2:-191214407,256585a03eb7b200d3ca3962fd22d823:1089309210,b2558de8ff3fb2007c47ce0e1295d17e:-1275878552,eb1585a0cdb7b2004f93c956f867c81f:-302096239,9bf48de8bf3fb200205e4487aad2c579:1986360855,efb485ac6477b2007382d10fe36a4236:-1905389130,2ee3096cd477b2005419f948a5066f39:-732824687,d092c9e8883fb20025bb37e3412f6d80:-347112402,ef220da8f43fb200abfe4cb934e24314:-1469049140,8c028d2c6577b20031d6253304584fc0:-1899527032,adf189681e3fb200fdf4962c463f58bd:1436453592,06800da8633fb200534c1470818ace0d:-775476493,f940c9a80d3fb200ce94d1e983d3f49c:1664432819,95400d683c3fb2007d9659f667d24570:1452811657,762045e80677b200fb9979197333fd9e:1102221193,fbff3c68233fb200d3cd1cb976c3f16a:619434890,a8cff4686f3fb200c338fb8ea0dd7954:-1974989849,731ff468553fb200727b00df427c7650:-87908421,8ede38681777b20014484018b81fe585:-602942881,197e3ca85677b200c4a61155c32a657c:388604443,9c7e3ca81877b200b94cfaabd1aaab78:552797341,0aad38689777b200522eb5dd57051d91:2029622787,0dadf068d13fb20050c392295b0e0a9e:802015471,026d3c28723fb200ac78f0daa9645527:818230525,fc4d38687777b200091834a0891fca8c:286389903,930df068f73fb200e4d8c9b64243409a:-2034517090,14ec3868ab77b20037df5c23745be289:-2065169079,f76b3ca48277b200461a8a0c7f611067:1198496387,fa6b74e48e3fb20095009731ef38c2bd:985570916,b4fa38e4363fb20004a20beb83798de5:236079502,cedabce4153fb2002701423d1b839bbe:962271490,639af0a4f177b200d728a2903bcf05f6:1599719333,c24afca41777b200fef7a39ddccb653e:-1942117461,0e3a3ca40b77b200db41d98e94eb835f:-1542120000,e70abce4ab3fb200b9f6b65089bf78b7:-1338295620,e2c9f0a4ae77b2006a196a3bbc02f4ee:311000583,58a97860d177b20022acf63710aa0aa0:1270981612,e52934242577b200c67f1d10eb3a3300:1014624567,7c197ce0bd77b20002bb7ea6ce1c445d:-1167051938,700978a0ad77b200cadc6ad87df0f8fd:-585938540,7408b860c677b2008fa0eb9a54894ce6:391895830</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_627fb8e8db77b2004e5cfa131f9619eb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>89</height><image/><name>map.png</name><size_bytes>19141</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:36</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>627fb8e8db77b2004e5cfa131f9619eb</sys_id><sys_mod_count>3</sys_mod_count><sys_name>map.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_627fb8e8db77b2004e5cfa131f9619eb</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-04 08:41:09</sys_updated_on><thumbnail/><width>130</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#cbe79f</average_image_color><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height>89</image_height><image_width>130</image_width><size_bytes>19141</size_bytes><size_compressed>19169</size_compressed><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>7a8f742cdb77b2004e5cfa131f961916</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 09:52:45</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>627fb8e8db77b2004e5cfa131f9619eb</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>728f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>f28f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>768f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>3</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>f68f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>4</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>7a8f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>/vS/VSY081V206Ufsyn23osznJobhtarNtR2oy1jtW4WF20D2RWaf5R29Z/Bww4FQA0nxmKN7qvDYdIXZgpA+ic3zdqJ8qw9NTJov/ruIRaHODQc5N9xVZ/92QMn7VtPjNr7rlpm127h9XbFuu3cM2EHhwv26Q+ts//0DzZaEcXm+8/pIFDcx4ztd246YpeuotU6rl3vi3qg8fHRuDEZ9cIyRfjUeIGGjruts2tZyK21IXN7WWfo3ACC4QbsNaSUTxQRFJoX9TDTwaboIkDpFbA1GolB53oas7KKWPgnjoQrE6J5ha3t2i7PQ7iWxyfIWlJpUaoaIq84geqtidDE+Y4/aB2N41gFK7FScpz4you8et9hNnAVDBHtBaIKUMCl95VwXqkqr8ev+i7F1Ct3Bmq9vEhyeoxKpKHS2RqIioPojMw89u1FSTMky5LmRcuusKeO/JATOQAUszcDUHK4XHcP74RlD9umvrfYhmVb7ZXRl2hcHcHvriZxzVY5/EkdcAToLnX6zPNGlAuQwZmEogQD+MxlE/bFxjr7N98AMFgeKYghQR8Pc7jX4/sxbffNcQS+2b7DJTsON9g/gp/gS3CF/nZ7+tiMHR8r24aukv361Uft7StmADSECCKc6zkMaMubBeyw/wSAjrPkG5Otj9krC8k34DLj67nnkSBPAmD6z8KVoQ+glVkjQ+AHIoD4cOpl1tP7Evczc/tRtoU+RqNIoDbywOnka1Q/GiCphlzPst4QS/LKZEBdgftoUwxFHBYOIr6LaGoiMjiqB89OPmcpTkdpH8ScBMkzkzPWGLjRrP9SJiMEIM7Di8RjxKGdhq8DedE/qI4la7/oFtjJMucGWsoM4Ahid3WUIx0H6yQe9QuHz7qhbXbR0HYObIqB+OM2OnPIOjFFPvDWf4TMLrPJIskZhE+Bb0bgwBYwMGEaGZuoLWdQ0uBBAB80Ead6ZZPe4O874geo4hkvpuoN7DdvbthdB8r2F8/U7RQsWt7GNgEcm/ypg8h3uJTaSsLd5FbafTRnzxyes26O4rsJn8E/3Lrf1nUftylUFtXr5i1tqX21qbvyESjyV/qAXrwd4zueF2YnJdzaUDfVX5L8AoyzVD5C5PAhi0/iw6inrNK+ln2OVzF5WLjKsK1tGmQgs9NsRysQkWTsVub4cKHUpY+abhThCERDu24EkWgxKsmrCChIP/3iNCFrRjpBDdEbL0xa49RDwKaPDHECW45ZddktVh+4DF2Dk3NFqDwR0S2MkdDtxRKvBIbWmGkxxbmpI8yWAG7gdCzNteJVelnN0yJy5r8/9+e2se8S8jbsEOv3NWTfNx7/AnDTodI1G5s+xLnKHOakjlOTTFQoy1j6s7hCvDUjqUttKLkZJlbGINSGnkT7ALUaqdcJ376ybDe/rWoP7M7b3U9P2eFJFqVK1InPQ8vMmi0F5D4WrPV1tdvbNwf24bf12vIeREpsE2au6uUIPMxdoM2H8xbhZqEjC1NXC0nybMpi4HtcL8rQc2wqVwJpAwAxJhRMQtcCVgizxBeyUYChsLuIOsu5YSse+VsrZdEhejagqwJbXOopjsftGD9u+X3fsNrQ2yzWsQIzG5c7lkW8eARdDDc3voQSwQ6KW9RZSIDD4aC/PiUgBFk2AbCss1WthzD1OKFohYlRy2UuQc+8hH5LnDCBKeLansTfBSZIn9lAI2I9stnlB9cvcQHZ0iIJOZ3iOANqOHPUgN5AsovYPXVQM0jy9tjUK86Cwpku9qsalT+Ui2F8fhPNGiXPXF7xXXv+NAB5CwXUKOmb9IkUcQQFQq46ict/35VduKrb7cBoxXYdpx9HC5iNHKiN8vjWjSm7bH2nbV6RxaLADEO5E/25vwYCkZkYg1g90U7YUvhXvRH0taYCIOiNxt8UW6z4SavX8nKJswh8FhP4Ea8TGQSh6rQ5vc09o4Oy20UQhy1/Yh9+BQ4RHT1m3YOrWIJeAStn/+bI3fhY9C5GhbUhVhVbQOSTNvUWOYgTbdthEC4oARfq967BXBooio3xZ7AQpizVh4Uxh/OqQkTSekQCfXW8MapoRGFJPTotfvVduFmY4H9hxvCMRDKQUciYzyzuAABwuzBrhLCoepUEzU5EFNNPfqu4L6bwS/ckH6vY4xXYt0TCYimUYWd3Tnnl8g0HAkLVOlYFPh27dE3KLl+DNnw1L7CQmUifdRq6m3icPhrAzUoofREgT3e72f/oog63JHGi8P0IDgZmIG0SFNIw2DB9CV+kLocT504iHspsMyuWRvw85BSbX9s7eSWSE0QVMzPPbuQJmxw5wEtN1rD8DNJZ3GvI5MP6ktgQrMXzKih7JULH4nhYfRJJxqsvgjtQFEU3MM2DErud2FyrVcoZ1ohs+e1Wl4fUqV1T7+wU1ieOcjqFBKEmmlxZmNPJGUkiaFW5fpfRlhXz5sSB92xF7zYGDeskyV2peR6l09+iOwuu9KyGH6C/bS11M9t8cKfzRASna3R45emnTBC5V+lT9MwXSRA5vsqGZp1EX0iw8VMmlzibXpXrB1jJEoGDyZm0GHCiNqL2o9/qX2uSqNQd1R+gzWmHkPDiNrx0CvYJ1GNYEv1sMZ86bDPjHJjFRtgMew/T2n/YtsVm8NxOaUsbJ55l4Gpa8KlLVEFIMUzQFOcuwz4srn0J+SM0JuRo5tI21og4fB1RVcff0L0cOKIwFomzkHWQHdzq9gWKAU4zxrug/1rV1Rh1TE6IfE3WEJ567VECH4q/dL6x5z/wkqb3I79Xzo9fRODymgqSQgTePZmLYRshBc1nPs8XuWBDEQGiRRR8ROcLkzqrDi5MEaKiZ2KAYZLQglAkhzFR9U9rHpo5jjiUvHkut7DSJX5H7URZop6GY6d6brjpOT8KEQdrJ2oVMSYrqjr6ouWPPIIgmsSziJseTM5OjgBH1m6610CwWA5JzkkoT1pskmNzB1bhdDqFsneN1UZ2EimNRSLvJFwn6QGr6D/TbIDliN92/AXF2XHcE8ss+5ZPoHTiAwEQ7hWmH1F/o/5rPBEMo3ut1wZb5Ozod067/SIUSCRp97I+UXKW/urwHxWlY8ya6Be9PF1rdPPVXheIF37KJT6fBJUmOM64P5/hJ/vS0lKzojPvuDtaW+AJbi28/F2ijZ/HauxHNKyw3DhnIca3WseWW7xsfORprI7dPsEUghfDk1l1rsmMdU4Gses+/gCZsgGzGraNnsKiwMU3w/FQfJREnA==</data><length>3232</length><position>5</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>fa8f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3664</length><position>6</position><sys_attachment display_value=\"image\" sys_id=\"7a8f742cdb77b2004e5cfa131f961916\">7a8f742cdb77b2004e5cfa131f961916</sys_attachment><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 09:52:44</sys_created_on><sys_id>7e8f742cdb77b2004e5cfa131f961917</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-809975837</payload_hash>\n<remote_update_set display_value=\"pe-technician-card.u-update-set.xml\">24e8f1f8db77f20086da7d5e0f96194c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>28e8f1f8db77f20086da7d5e0f96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d0cc2a7700000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<table/>\n<target_name>map.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>04c831f84f77f200f84a444854295f25</update_guid>\n<update_guid_history>04c831f84f77f200f84a444854295f25:-809975837,b6b831f8e377f200e8c24081ae689ad0:1179165529,0b8f742c3977b200d550e8b1a7d9bf1e:-1586709059,fe8f742c1577b200427e98a980ad761b:-1586709059,f88fb4e84577b200f0eb4ab6e7a6cda0:1666192838</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_d70345ecdb77b2004e5cfa131f9619f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Technician Card</application><key>NDL Technician Card Title 1</key><language>en</language><message>Your technician</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 10:10:28</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>d70345ecdb77b2004e5cfa131f9619f3</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Technician Card Title 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_d70345ecdb77b2004e5cfa131f9619f3</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:00:36</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1010140831</payload_hash>\n<remote_update_set display_value=\"pe-technician-card.u-update-set.xml\">24e8f1f8db77f20086da7d5e0f96194c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>2ce8f1f8db77f20086da7d5e0f96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08c0c35d0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<table/>\n<target_name>NDL Technician Card Title 1</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>7548f5a8ac3bb20043d811eebe09a71d</update_guid>\n<update_guid_history>7548f5a8ac3bb20043d811eebe09a71d:-1010140831,c2c3c120cbb7b200329f378dae4730eb:-922258681,ee9345ec3977b2007abf4addb998677e:1365460709</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_8c04cd20dbb7b2004e5cfa131f96196e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Technician Card</application><key>NDL Technician Card Change Appointment</key><language>en</language><message>Change Appointment</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 10:12:37</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>8c04cd20dbb7b2004e5cfa131f96196e</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NDL Technician Card Change Appointment</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_8c04cd20dbb7b2004e5cfa131f96196e</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:00:20</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>387820259</payload_hash>\n<remote_update_set display_value=\"pe-technician-card.u-update-set.xml\">24e8f1f8db77f20086da7d5e0f96194c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>68e8f1f8db77f20086da7d5e0f96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08c0877e0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<table/>\n<target_name>NDL Technician Card Change Appointment</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>863835a8713bb200126f6db67c21949f</update_guid>\n<update_guid_history>863835a8713bb200126f6db67c21949f:387820259,0e148d200cb7b2003fefafc3515bf1cc:-2054372739</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_88a38120dbb7b2004e5cfa131f9619ed</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Technician Card</application><key>NDL Technician Card Title 2</key><language>en</language><message>Service Location</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 10:10:59</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>88a38120dbb7b2004e5cfa131f9619ed</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NDL Technician Card Title 2</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_88a38120dbb7b2004e5cfa131f9619ed</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:00:11</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>72595774</payload_hash>\n<remote_update_set display_value=\"pe-technician-card.u-update-set.xml\">24e8f1f8db77f20086da7d5e0f96194c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>a4e8f1f8db77f20086da7d5e0f96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08c061260000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<table/>\n<target_name>NDL Technician Card Title 2</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>6f2835a8af3bb200f2e41cf819b72aa8</update_guid>\n<update_guid_history>6f2835a8af3bb200f2e41cf819b72aa8:72595774,dab345eca177b200204d6e6f3a8c1da6:-1392540212</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_6684c1a0dbb7b2004e5cfa131f9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Technician Card</application><key>NDL Technician Card Add to Calendar</key><language>en</language><message>Add to Calendar</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 10:14:54</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>6684c1a0dbb7b2004e5cfa131f9619f9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NDL Technician Card Add to Calendar</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_6684c1a0dbb7b2004e5cfa131f9619f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:00:29</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>30482862</payload_hash>\n<remote_update_set display_value=\"pe-technician-card.u-update-set.xml\">24e8f1f8db77f20086da7d5e0f96194c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-04 08:41:44</sys_created_on>\n<sys_id>e0e8f1f8db77f20086da7d5e0f96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08c0a5e90000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-04 08:41:44</sys_updated_on>\n<table/>\n<target_name>NDL Technician Card Add to Calendar</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>7b38b5a8823bb200f5a2acf1a867c6c9</update_guid>\n<update_guid_history>7b38b5a8823bb200f5a2acf1a867c6c9:30482862,639405a076b7b200f98fe93ae63a0a39:-897359532</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "people-card/pe-technician-card/widget/pe-technician-card.u-body-html-template.html",
    "content": "<div class=\"inner-page\">\n    <div class=\"info col-xs-12  \">\n        <div class=\"technician\">\n            <div class=\"col1\">\n                <h4>${NDL Technician Card Title 1}</h4>\n                <div class=\"user\">\n                    <img ng-src=\"{{c.data.obj.photo}}\" alt=\"\" class=\"images-card\">\n                    <div class=\"user-info\">\n                        <div class=\"name\">{{c.data.obj.name}}</div>\n                        <div class=\"id\">ID# {{c.data.obj.id}}</div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"col2\">\n                <h4>${NDL Technician Card Title 2}</h4>\n\n                <img src=\"map.png\" class=\"images-card\" />\n            </div>\n        </div>\n\n        <div class=\"actions\">\n            <button>\n\n                <svg width=\"20px\" height=\"21px\" viewBox=\"0 0 20 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n                     xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                    <defs></defs>\n                    <g id=\"pencil\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"\n                       transform=\"translate(0.000000, 0.750000)\">\n                        <g id=\"Layer_1\" fill=\"#2D3645\">\n                            <path d=\"M15.6958525,0 C16.4516129,0.0917431193 17.0967742,0.146788991 17.7327189,0.247706422 C17.8986175,0.275229358 18.0645161,0.385321101 18.1935484,0.504587156 C18.5529954,0.834862385 18.8663594,1.22018349 19.2442396,1.53211009 C19.6866359,1.88990826 19.7603687,2.36697248 19.8894009,2.88073394 C20.202765,4.0733945 19.7235023,4.83486239 18.8847926,5.65137615 C14.7096774,9.70642202 10.6082949,13.8348624 6.47926267,17.9449541 C6.13824885,18.2844037 5.76958525,18.4954128 5.30875576,18.6146789 C3.76958525,19.0275229 2.23963134,19.4862385 0.709677419,19.9082569 C0.516129032,19.9633028 0.202764977,19.9633028 0.0921658986,19.853211 C-0.0184331797,19.733945 -0.00921658986,19.4311927 0.0460829493,19.2293578 C0.497695853,17.5963303 0.967741935,15.9724771 1.44700461,14.3486239 C1.51152074,14.1284404 1.640553,13.8899083 1.80645161,13.733945 C6.29493088,9.23853211 10.8018433,4.74311927 15.3087558,0.266055046 C15.4285714,0.119266055 15.6129032,0.0458715596 15.6958525,0 Z M6.29493088,16.9449541 C6.43317972,16.8165138 6.56221198,16.6972477 6.69124424,16.5779817 C10.6267281,12.6697248 14.5437788,8.74311927 18.4976959,4.85321101 C18.9861751,4.36697248 19.2165899,3.93577982 19.0875576,3.22018349 C18.9953917,2.67889908 18.8663594,2.2293578 18.4239631,1.88073394 C18.2119816,1.70642202 18.0460829,1.46788991 17.8248848,1.31192661 C17.6221198,1.16513761 17.3824885,1.05504587 17.1520737,0.990825688 C16.875576,0.917431193 16.5714286,0.935779817 16.2857143,0.880733945 C15.9631336,0.825688073 15.7511521,0.926605505 15.5207373,1.1559633 C11.4562212,5.2293578 7.38248848,9.28440367 3.31797235,13.3394495 C3.21658986,13.440367 3.11520737,13.559633 3.01382488,13.6697248 C4.89400922,13.9908257 5.98156682,15.0642202 6.29493088,16.9449541 Z M5.43778802,17.706422 C5.4562212,16.7155963 5.34562212,15.8165138 4.46082949,15.2293578 C4.31336406,15.1284404 4.21198157,14.9633028 4.06451613,14.853211 C3.95391705,14.7614679 3.8156682,14.6788991 3.67741935,14.6605505 C3.29953917,14.5963303 2.92165899,14.559633 2.53456221,14.5321101 C2.42396313,14.5229358 2.23963134,14.5963303 2.21198157,14.6605505 C1.98156682,15.4036697 1.77880184,16.1651376 1.55760369,16.9266055 C2.32258065,17.1926606 2.78341014,17.6972477 3.04147465,18.3944954 C3.87096774,18.1559633 4.66359447,17.9266055 5.43778802,17.706422 Z\"\n                                  id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </svg>\n\n                ${NDL Technician Card Change Appointment}\n            </button>\n            <button>\n\n                <svg width=\"20px\" height=\"20px\" viewBox=\"-1 -1 20 20\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n                     xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                    <defs></defs>\n                    <g id=\"Group-3\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                        <polyline id=\"Shape\" stroke=\"#2D3645\"\n                                  points=\"3.24418605 1.70930233 0.174418605 1.70930233 0.174418605 17.8255814 17.8255814 17.8255814 17.8255814 1.70930233 14.755814 1.70930233\"></polyline>\n                        <rect id=\"Rectangle-path\" stroke=\"#2D3645\" x=\"3.24418605\" y=\"0.174418605\" width=\"2.30232558\"\n                              height=\"3.06976744\"></rect>\n                        <rect id=\"Rectangle-path\" stroke=\"#2D3645\" x=\"12.4534884\" y=\"0.174418605\" width=\"2.30232558\"\n                              height=\"3.06976744\"></rect>\n                        <path d=\"M5.54651163,1.70930233 L12.4534884,1.70930233\" id=\"Shape\" stroke=\"#2D3645\"></path>\n                        <path d=\"M0.174418605,5.54651163 L17.8255814,5.54651163\" id=\"Shape\" stroke=\"#2D3645\"></path>\n                    </g>\n                </svg>\n                ${NDL Technician Card Add to Calendar}\n            </button>\n        </div>\n    </div>\n\n</div>"
  },
  {
    "path": "people-card/pe-technician-card/widget/pe-technician-card.u-css.scss",
    "content": ".images-card {\n  height: 90px;\n}\n\n.info {\n  border-radius: 3px;\n  border: solid 1px $gray-lighter;\n  margin-top: 10px;\n  padding: 10px 10px 0 10px;\n  h4 {\n    margin: 0;\n    margin-bottom: 13px;\n  }\n  .technician {\n    display: flex;\n    .col1 {\n      flex-grow: 1;\n    }\n    .col2 {\n      img {\n        height: 90px;\n      }\n    }\n    .user {\n      display: flex;\n      img {\n        border-radius: 50%;\n        border: solid 4px $gray-lighter;\n        height: 90px;\n      }\n      .user-info {\n        margin-left: 10px;\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n        .name {\n          font-size: 16px;\n          font-weight: bold;\n          color: $gray;\n        }\n        .id {\n          color: $gray;\n          font-size: 14px;\n        }\n      }\n    }\n  }\n  .actions {\n    margin: 15px -10px 0 -10px;\n    border-top: solid 1px $gray-lighter;\n    display: flex;\n    button {\n      padding-right: 0;\n      font-size: 13px;\n      flex-grow: 1;\n      flex-basis: 0;\n      display: flex;\n      justify-content: center;\n      height: 50px;\n      background-color: transparent;\n      border: none;\n      svg {\n        margin-right: 2px;\n      }\n    }\n  }\n}\n\n.end .actions {\n  margin-top: 35px;\n  text-align: center;\n}"
  },
  {
    "path": "people-card/pe-technician-card/widget/pe-technician-card.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.obj = {};\n  data.user_sys_id = gs.getUserID();\n  var gr = new GlideRecord('sys_user');\n  gr.addQuery('sys_id', data.user_sys_id);\n  gr.query();\n\n  while (gr.next()) {\n    data.obj.name = gr.first_name.toString() + \" \" + gr.last_name.toString();\n    data.obj.id = gr.user_name.toString();\n    data.obj.photo = gr.photo.getDisplayValue() + '?t=small';\n  }\n\n})();"
  },
  {
    "path": "people-card/pe-welcome-user/README.md",
    "content": "# Welcome User\n\n## Description\n\nThis widget can be used to create a simple people card with name and profile picture when the user login, and provide notifications basing on custom events.\n\n## Screenshots\n![alt text](../../images/pe-welcome-user.png \"Welcome User\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-welcome-user.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/people-card/pe-welcome-user/pe-welcome-user.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal style configuration to make it easy to customize.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "people-card/pe-welcome-user/pe-welcome-user.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-03 14:23:32\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-welcome-user.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>ed7bf9e8db3bb2004e5cfa131f96195f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>ad8d7920db7bb2004e5cfa131f96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_96f71bb2dbe7b20086da7d5e0f961923</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Welcome User</application><key>NDL Welcome User Title</key><language>en</language><message>Welcome back</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-28 10:30:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>96f71bb2dbe7b20086da7d5e0f961923</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Welcome User Title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_96f71bb2dbe7b20086da7d5e0f961923</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:18:16</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1984737366</payload_hash>\n<remote_update_set display_value=\"pe-welcome-user.u-update-set.xml\">ad8d7920db7bb2004e5cfa131f96198e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>218d7920db7bb2004e5cfa131f961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08d0ec970000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<table/>\n<target_name>NDL Welcome User Title</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>5c5c792cdd3bb200a8aa307bf4802a85</update_guid>\n<update_guid_history>5c5c792cdd3bb200a8aa307bf4802a85:-1984737366,-63413559:-63413559,-1597893665:-1597893665</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_018853f2dbe7b20086da7d5e0f9619c4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Welcome User</application><key>NDL Welcome User Subtitle</key><language>en</language><message>Valued Customer since 2012</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-28 10:32:35</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>018853f2dbe7b20086da7d5e0f9619c4</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Welcome User Subtitle</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_018853f2dbe7b20086da7d5e0f9619c4</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:18:25</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1681980797</payload_hash>\n<remote_update_set display_value=\"pe-welcome-user.u-update-set.xml\">ad8d7920db7bb2004e5cfa131f96198e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>258d7920db7bb2004e5cfa131f96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08d112b40000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<table/>\n<target_name>NDL Welcome User Subtitle</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>765cf92c973bb2005b5ef6e0d925b221</update_guid>\n<update_guid_history>765cf92c973bb2005b5ef6e0d925b221:-1681980797,-955121412:-955121412,1589785330:1589785330</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a1a05b3edba7b20086da7d5e0f961999</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function WelcomeLoggedUser($scope, $state) {\n  /* widget controller */\n  var c = this;\n  c.showNotification = false;\n  c.notificationNum = 1;\n  c.notificationTitle = 'Title';\n\n  c.notificationBodyText = true;\n  c.notificationBody = \"this can be text or eventually HTML rendered thorugh ng-bind-html\";\n  $scope.userID = $scope.user.sys_id;\n\n  c.action = function () {\n    $state.go('', {\n      widget: ''\n    });\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$wlu-bg-color: #000 !default;\n&amp;gt;div {\n  margin-top: 20px;\n  background-color: $wlu-bg-color;\n  .user-avatar-pic {\n    display: block;\n    float: left;\n    width: 53px;\n    height: 53px;\n    border-radius: 50%;\n    border: solid 3px #404757;\n  }\n  .user-greeting {\n    float: left;\n    margin-left: 7px;\n    margin-top: 5px;\n  }\n  .title {\n    font-size: 16px;\n  }\n  .subtitle {\n    font-size: 14px;\n    margin-top: 2;\n  }\n}\n\n.notification-icon {\n  position: absolute;\n  right: 15px;\n  border-left: solid 1px #3A3F4C;\n  padding-left: 17px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  .number {\n    font-size: 22px;\n    font-weight: 600;\n    color: #FFF;\n    background-color: #c6503b;\n    border-radius: 50%;\n    width: 30px;\n    height: 30px;\n  }\n  .notification-label {\n    font-size: 14px;\n  }\n}\n\n.notification {\n  position: absolute;\n  left: 0;\n  top: 58px;\n  padding: 10px;\n  z-index: 5;\n  width: 100%;\n  .notification-wrapper {\n    background-color: $wlu-bg-color;\n    float: left;\n    width: 100%;\n    padding: 13px 15px;\n    border-radius: 3px;\n  }\n  .tip {\n    position: absolute;\n    right: 34px;\n    top: 0;\n  }\n  h2 {\n    text-transform: uppercase;\n    margin: 0;\n    font-size: 16px;\n    font-weight: bold;\n  }\n  .icon {\n    svg {\n      width: 25px;\n      height: 25px;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;welcome-user&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Welcome User&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 09:58:52&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1a05b3edba7b20086da7d5e0f961999&lt;/sys_id&gt;&lt;sys_mod_count&gt;41&lt;/sys_mod_count&gt;&lt;sys_name&gt;Welcome User&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a1a05b3edba7b20086da7d5e0f961999&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 14:21:12&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n        &lt;div class=\"user-header\" ng-hide=\"$root.title\"&gt;\n            &lt;img ng-if=\"user.photo\" class=\"user-avatar-pic\" src=\"{{user.photo+'?t=small'}}\" alt=\"\"&gt;\n            &lt;div class=\"user-greeting\"&gt;\n                &lt;div class=\"title\"&gt;${NDL Welcome User Title}, {{::user.first_name}}&lt;/div&gt;\n                &lt;div class=\"subtitle\"&gt;${NDL Welcome User Subtitle}&lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"notification-icon text-center\" ng-click=\"c.showNotification = !c.showNotification\" ng-show=\"c.notificationNum&gt;0\"&gt;\n                &lt;div class=\"number\"&gt;{{c.notificationNum}}&lt;/div&gt;\n                &lt;div class=\"notification-label\"&gt; ${NDL Welcome User Notifications Label}&lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"notification\" ng-show=\"c.showNotification\"&gt;\n                &lt;div class=\"notification-wrapper\"&gt;\n                    &lt;div class=\"tip\"&gt;\n                        &lt;svg width=\"40px\" height=\"19px\" viewBox=\"284 0 40 19\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n                            &lt;defs&gt;&lt;/defs&gt;\n                            &lt;path d=\"M301.176907,1.82309264 C302.736058,0.263941627 305.266262,0.266262345 306.823093,1.82309264 L324,19 L284,19 L301.176907,1.82309264 Z\"\n                                id=\"Triangle\" stroke=\"none\" fill=\"#FFFFFF\" fill-rule=\"evenodd\"&gt;&lt;/path&gt;\n                        &lt;/svg&gt;\n                    &lt;/div&gt;\n                    &lt;h2&gt;${NDL Welcome User Notification Title}&lt;/h2&gt;\n                    &lt;div class=\"row\"&gt;\n                        &lt;div class=\"col-md-12\" ng-if=\"c.notificationBodyText\"&gt;{{c.notificationBody}}&lt;/div&gt;\n                        &lt;div class=\"col-md-12\" ng-if=\"!c.notificationBodyText\" ng-bind-html=\"c.notificationBody\"&gt;&lt;/div&gt;\n                    &lt;/div&gt;\n                    &lt;div class=\"actions text-center\"&gt;\n                        &lt;button class=\"btn btn-primary\" ng-click=\"c.action()\"&gt;${NDL Welcome User Notification Action Label}&lt;/button&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>162981253</payload_hash>\n<remote_update_set display_value=\"pe-welcome-user.u-update-set.xml\">ad8d7920db7bb2004e5cfa131f96198e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>618d7920db7bb2004e5cfa131f96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08d39eeb0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<table/>\n<target_name>Welcome User</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>dffc7d64c3bfb20070067462afaa5fb5</update_guid>\n<update_guid_history>dffc7d64c3bfb20070067462afaa5fb5:162981253,771c79647abfb20038818ba8b3d84932:162981253,13cbb52cef3bb2003de09d0516f31d14:-1490469822,abd845e479b7b20053e1df8555ede449:1765603153,7d9885acae3fb200732cae553b11d9d0:527171793,387849a40db7b2001f7e68dd5150f1a1:-1798894313,dafb3c28a83fb200d403a64aaeb14020:292151957,-305356221:-305356221,-1617595035:-1617595035,1419128973:1419128973,-680592553:-680592553,937119080:937119080,947610673:947610673,-866884441:-866884441,92599327:92599327,1485058976:1485058976,2069853677:2069853677,-1338598091:-1338598091,-565914637:-565914637,200713366:200713366,1846618921:1846618921,539475761:539475761,1329948480:1329948480,-1392547976:-1392547976,-1181898567:-1181898567,1016760224:1016760224,-1035183171:-1035183171,1546979904:1546979904,-1567955282:-1567955282,259063247:259063247,265899999:265899999,259063247:259063247,-820412417:-820412417,-1914627898:-1914627898,-622404202:-622404202,1424874393:1424874393,1666880125:1666880125,1993621178:1993621178,-593425331:-593425331,-344012500:-344012500,944970612:944970612</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_75b817f2dbe7b20086da7d5e0f961998</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Welcome User </application><key>NDL Welcome User Notification Title</key><language>en</language><message>Title</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-28 10:52:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>75b817f2dbe7b20086da7d5e0f961998</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Welcome User Notification Title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_75b817f2dbe7b20086da7d5e0f961998</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:18:36</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1581894939</payload_hash>\n<remote_update_set display_value=\"pe-welcome-user.u-update-set.xml\">ad8d7920db7bb2004e5cfa131f96198e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>6d8d7920db7bb2004e5cfa131f96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08d13b4d0000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<table/>\n<target_name>NDL Welcome User Notification Title</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>116cf92c6a3bb200790fe36b01076681</update_guid>\n<update_guid_history>116cf92c6a3bb200790fe36b01076681:-1581894939,1631767212:1631767212,912444534:912444534</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_0ccd1fb6dbe7b20086da7d5e0f961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Welcome User</application><key>NDL Welcome User Notification Action Label</key><language>en</language><message>Action</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-06-28 10:54:51</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0ccd1fb6dbe7b20086da7d5e0f961979</sys_id><sys_mod_count>2</sys_mod_count><sys_name>NDL Welcome User Notification Action Label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_0ccd1fb6dbe7b20086da7d5e0f961979</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:18:50</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1588316261</payload_hash>\n<remote_update_set display_value=\"pe-welcome-user.u-update-set.xml\">ad8d7920db7bb2004e5cfa131f96198e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>a98d7920db7bb2004e5cfa131f96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08d174f70000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<table/>\n<target_name>NDL Welcome User Notification Action Label</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>7c7c3d2ca93bb2001d62c11cf7efd696</update_guid>\n<update_guid_history>7c7c3d2ca93bb2001d62c11cf7efd696:-1588316261,-98159846:-98159846,-1882134128:-1882134128</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_052d7dacdb3bb2004e5cfa131f961957</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL Welcome User</application><key>NDL Welcome User Notifications Label</key><language>en</language><message>Notifications</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2017-07-03 14:22:30</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>052d7dacdb3bb2004e5cfa131f961957</sys_id><sys_mod_count>0</sys_mod_count><sys_name>NDL Welcome User Notifications Label</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_052d7dacdb3bb2004e5cfa131f961957</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-07-03 14:22:30</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-322849611</payload_hash>\n<remote_update_set display_value=\"pe-welcome-user.u-update-set.xml\">ad8d7920db7bb2004e5cfa131f96198e</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:23:31</sys_created_on>\n<sys_id>e58d7920db7bb2004e5cfa131f96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08d4cfd00000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:23:31</sys_updated_on>\n<table/>\n<target_name>NDL Welcome User Notifications Label</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>a64d796c9c3bb200d844686bc1b0f97f</update_guid>\n<update_guid_history>a64d796c9c3bb200d844686bc1b0f97f:-322849611</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "people-card/pe-welcome-user/widget/pe-welcome-user.u-body-html-template.html",
    "content": "<div class=\"row\">\n    <div class=\"col-xs-12\">\n        <div class=\"user-header\" ng-hide=\"$root.title\">\n            <img ng-if=\"user.photo\" class=\"user-avatar-pic\" src=\"{{user.photo+'?t=small'}}\" alt=\"\">\n            <div class=\"user-greeting\">\n                <div class=\"title\">${wluTitle}, {{::user.first_name}}</div>\n                <div class=\"subtitle\">${wluSubtitle}</div>\n            </div>\n            <div class=\"notification-icon text-center\" ng-click=\"c.showNotification = !c.showNotification\" ng-show=\"c.notificationNum>0\">\n                <div class=\"number\">{{c.notificationNum}}</div>\n                <div class=\"notification-label\"> ${wluNotificationsLabel}</div>\n            </div>\n            <div class=\"notification\" ng-show=\"c.showNotification\">\n                <div class=\"notification-wrapper\">\n                    <div class=\"tip\">\n                        <svg width=\"40px\" height=\"19px\" viewBox=\"284 0 40 19\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                            <defs></defs>\n                            <path d=\"M301.176907,1.82309264 C302.736058,0.263941627 305.266262,0.266262345 306.823093,1.82309264 L324,19 L284,19 L301.176907,1.82309264 Z\"\n                                id=\"Triangle\" stroke=\"none\" fill=\"#FFFFFF\" fill-rule=\"evenodd\"></path>\n                        </svg>\n                    </div>\n                    <h2>${wluNotificationTitle}</h2>\n                    <div class=\"row\">\n                        <div class=\"col-md-12\" ng-if=\"c.notificationBodyText\">{{c.notificationBody}}</div>\n                        <div class=\"col-md-12\" ng-if=\"!c.notificationBodyText\" ng-bind-html=\"c.notificationBody\"></div>\n                    </div>\n                    <div class=\"actions text-center\">\n                        <button class=\"btn btn-primary\" ng-click=\"c.action()\">${wluNotificationActionLabel}</button>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "people-card/pe-welcome-user/widget/pe-welcome-user.u-client-script.js",
    "content": "function WelcomeLoggedUser($scope, $state) {\n  /* widget controller */\n  var c = this;\n  c.showNotification = false;\n  c.notificationNum = 1;\n  c.notificationTitle = 'Title';\n\n  c.notificationBodyText = true;\n  c.notificationBody = \"this can be text or eventually HTML rendered thorugh ng-bind-html\";\n  $scope.userID = $scope.user.sys_id;\n\n  c.action = function () {\n    $state.go('', {\n      widget: ''\n    });\n  };\n\n}"
  },
  {
    "path": "people-card/pe-welcome-user/widget/pe-welcome-user.u-css.scss",
    "content": "$wlu-bg-color: #000 !default;\n>div {\n  margin-top: 20px;\n  background-color: $wlu-bg-color;\n  .user-avatar-pic {\n    display: block;\n    float: left;\n    width: 53px;\n    height: 53px;\n    border-radius: 50%;\n    border: solid 3px #404757;\n  }\n  .user-greeting {\n    float: left;\n    margin-left: 7px;\n    margin-top: 5px;\n  }\n  .title {\n    font-size: 16px;\n  }\n  .subtitle {\n    font-size: 14px;\n    margin-top: 2;\n  }\n}\n\n.notification-icon {\n  position: absolute;\n  right: 15px;\n  border-left: solid 1px #3A3F4C;\n  padding-left: 17px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  .number {\n    font-size: 22px;\n    font-weight: 600;\n    color: #FFF;\n    background-color: #c6503b;\n    border-radius: 50%;\n    width: 30px;\n    height: 30px;\n  }\n  .notification-label {\n    font-size: 14px;\n  }\n}\n\n.notification {\n  position: absolute;\n  left: 0;\n  top: 58px;\n  padding: 10px;\n  z-index: 5;\n  width: 100%;\n  .notification-wrapper {\n    background-color: $wlu-bg-color;\n    float: left;\n    width: 100%;\n    padding: 13px 15px;\n    border-radius: 3px;\n  }\n  .tip {\n    position: absolute;\n    right: 34px;\n    top: 0;\n  }\n  h2 {\n    text-transform: uppercase;\n    margin: 0;\n    font-size: 16px;\n    font-weight: bold;\n  }\n  .icon {\n    svg {\n      width: 25px;\n      height: 25px;\n    }\n  }\n}"
  },
  {
    "path": "scripts/build.sh",
    "content": "#!/bin/bash\n\nsource ./scripts/config.sh\nsource ./scripts/messages.sh\n\nbranch_checkout() {\n  local branch=feature/${PREFIX}${WIDGET}\n  git fetch origin\n  if [[ $(git branch --list ${branch}) ]]; then\n    echo -e \"${BLUE}${BRANCH_SWITCH_MSG}${RESET}\"\n    git checkout ${branch}\n  else\n    echo -e \"${BLUE}${BRANCH_CREATE_MSG}${RESET}\"\n    git checkout -b ${branch} origin/master\n  fi\n}\n\ncreate_base_dir() {\n  echo -e \"${BLUE}${SCAFFOLD_MSG}${RESET}\"\n  make_core_dir ${SRC_DIR}\n  make_core_dir ${PREFIX}${WIDGET}\n  mkdir ${IMAGE_DIR}\n  curl ${CONFIG_GIST} > config.json\n  curl ${README_GIST} > README.md\n  touch ${PREFIX}${WIDGET}.${UPDATE_SET}\n}\n\ncreate_controller() {\n  echo -e \"${BLUE}${CONTROLLER_MSG}${RESET}\"\n  setup_controller_suffix\n  curl ${CONTROLLER_GIST} > ${PREFIX}${WIDGET}.${CLIENT}\n  replace_content ${CTRL_TEMP} ${controller_suffix} ${PREFIX}${WIDGET}.${CLIENT}\n}\n\ncreate_option_dir() {\n  mkdir ${1}\n  touch ${1}/${PREFIX}${WIDGET}.${2}\n}\n\ncreate_widget_dir() {\n  make_core_dir ${WIDGET_DIR}\n  curl ${TEMPLATE_GIST} > ${PREFIX}${WIDGET}.${HTML}\n  touch ${PREFIX}${WIDGET}.${CSS}\n  create_controller\n  curl ${SERVER_GIST} > ${PREFIX}${WIDGET}.${SERVER}\n  touch ${PREFIX}${WIDGET}.${LINK}\n  touch ${PREFIX}${WIDGET}.${OPTION_SCHEMA}\n}\n\ndisplay_help() {\n  if [[ ${args[0]} == \"-h\" ]]; then\n    less docs/help.md\n    exit 0\n  fi\n}\n\nfetch_github_user() {\n  if [[ $(git config user.name) ]]; then\n    echo $(git config user.name)\n  else\n    echo ${CONTRIB_TEMP}\n  fi\n}\n\nflag_options() {\n  echo -e \"${BLUE}${START_MSG}${RESET}\"\n  for i in \"${args[@]}\"; do\n    case $i in\n    -a)\n      is_angular_template=true\n      ;;\n    -s)\n      is_script_include=true\n      ;;\n    -u)\n      is_ui_script=true\n      ;;\n    esac\n  done\n}\n\nformat_data() {\n  echo $(printf \"%s\" $1)\n}\n\nhas_dashes() {\n  if [[ ${args[0]} == *-* ]]; then\n    name_has_dashes=true\n  fi\n}\n\nmain() {\n  display_help\n  flag_options\n  trim_options\n  set_widget_name\n  branch_checkout\n  create_base_dir\n  has_dashes\n  sub_base_content\n  scaffold_option_dirs\n  create_widget_dir\n  make_commit\n}\n\nmake_commit() {\n  echo -e \"${BLUE}${COMMIT_STATUS_MSG}${RESET}\"\n  cd ../../../\n  git add ${SRC_DIR}/${PREFIX}${WIDGET}\n  git commit -a -m \"${COMMIT_MSG} ${widget_name_lower}\"\n  echo -e \"${GREEN}${DONE_MSG}${RESET}\"\n}\n\nmake_core_dir() {\n  if [ -d $1 ]; then\n    cd $1\n  else\n    mkdir $1 && cd $1\n  fi\n}\n\nmake_lowercase() {\n  echo $(tr '[:lower:]' '[:lower:]' <<< ${i:0:1})${i:1}\"$(make_space $1)\"\n}\n\nmake_space() {\n  if [[ $1 ]]; then\n    echo \" \"\n  fi\n}\n\nmake_uppercase() {\n  echo $(tr '[:lower:]' '[:upper:]' <<< ${i:0:1})${i:1}\"$(make_space $1)\"\n}\n\nreplace_content() {\n  sed -i '' -e \"s/${1}/${2}/g\" ${3}\n}\n\nscaffold_option_dirs() {\n  echo -e \"${BLUE}${SUB_SCAFFOLD_MSG}${RESET}\"\n  if [[ ${is_angular_template} == true ]]; then\n    create_option_dir ${ANGULAR_TEMPLATE_DIR} ${HTML}\n  fi\n  if [[ ${is_script_include} == true ]]; then\n    create_option_dir ${SCRIPT_INCLUDE_DIR} ${SERVER}\n  fi\n  if [[ ${is_ui_script} == true ]]; then\n    create_option_dir ${UI_SCRIPT_DIR} ${CLIENT}\n  fi\n}\n\nsetup_controller_suffix() {\n  if [[ ${name_has_dashes} ]]; then\n    local dash_name=()\n    local in=${args[0]}\n    IFS='-' read -ra input <<< \"$in\"\n    for i in \"${input[@]}\"; do\n      dash_name+=$(make_uppercase)\n    done\n    controller_suffix=$(format_data ${dash_name[@]})\n  else\n    local space_name=()\n    for i in \"${inputs[@]}\"; do\n      space_name+=$(make_uppercase)\n    done\n    controller_suffix=$(format_data ${space_name[@]})\n  fi\n}\n\nset_widget_name() {\n  local widget_dir=()\n  for i in \"${inputs[@]}\"; do\n    widget_dir+=$(echo -${i} | tr '[:upper:]' '[:lower:]')\n    widget_name_upper+=$(make_uppercase ${i})\n    widget_name_lower+=$(make_lowercase ${i})\n  done\n  WIDGET=$(format_data ${widget_dir[@]})\n}\n\nsub_base_content() {\n  echo -e \"${BLUE}${UPDATE_MSG}${RESET}\"\n  if [[ ${name_has_dashes} ]]; then\n    local dash_readme=()\n    rm=${widget_name_upper}\n    IFS='-' read -ra content <<< \"$rm\"\n    for i in \"${content[@]}\"; do\n      dash_readme+=$(make_uppercase ${i})\n    done\n    replace_content \"${NAME_TEMP}\" \"${dash_readme%??}\" README.md\n    replace_content \"${NAME_TEMP}\" \"${dash_readme%??}\" config.json\n  else\n    replace_content \"${NAME_TEMP}\" \"${widget_name_upper%?}\" README.md\n    replace_content \"${NAME_TEMP}\" \"${widget_name_upper%?}\" config.json\n  fi\n  replace_content \"${CONTRIB_TEMP}\" \"$(fetch_github_user)\" config.json\n  replace_content \"${DIR_TEMP}\" \"${PREFIX}${WIDGET}\" config.json\n  replace_content \"${DIR_TEMP}\" \"${PREFIX}${WIDGET}\" README.md\n}\n\ntrim_options() {\n  inputs=()\n  for i in \"${args[@]}\"; do\n    if [[ ${i} != \"-a\" && ${i} != \"-s\" && ${i} != \"-u\" ]]; then\n      inputs+=(\"$i\")\n    fi\n  done\n}\n\nargs=($@)\nmain"
  },
  {
    "path": "scripts/config.sh",
    "content": "#!/bin/bash\n\n# directories\nANGULAR_TEMPLATE_DIR=angular-template\nIMAGE_DIR=images\nSRC_DIR=src\nSCRIPT_INCLUDE_DIR=script-include\nUI_SCRIPT_DIR=ui-script\nWIDGET_DIR=widget\n\n# extensions\nCLIENT=u-client-script.js\nCSS=u-css.scss\nHTML=u-body-html-template.html\nLINK=u-link-script.js\nOPTION_SCHEMA=u-option-schema.json\nSERVER=u-server-script.js\nUPDATE_SET=u-update-set.xml\n\n# gists\nCONFIG_GIST=https://gist.githubusercontent.com/stevengregory/63b77753a29681db4d86907407c3a166/raw/685a032d3413322323eec469d130331c6ec2ec75/config.json\nCONTROLLER_GIST=https://gist.githubusercontent.com/stevengregory/c83797d682d3eb9c5cf83bd0dcba589a/raw/bee21fc6ba75de5ea0a3e8cda49cf1e20343e2ae/controller.js\nREADME_GIST=https://gist.githubusercontent.com/stevengregory/df352accf3c2ca9fc219c3040d619187/raw/fa5a3ca91937349d8bdd19c71f7b6a9bb87bdf7f/README.md\nSERVER_GIST=https://gist.githubusercontent.com/stevengregory/1fc0b7ca85144786182c74d7b7013e3c/raw/b7b743c1e8d1abc5e8996adb6bf9628ee2819d11/server.js\nTEMPLATE_GIST=https://gist.githubusercontent.com/stevengregory/c8e3c187499fd6cbce42f323b8817f92/raw/7426ee1aa490de4a2746f4b5f4b5106cd37fd1e7/template.html\n\n# prefix\nPREFIX=pe\n\n# temp content\nCONTRIB_TEMP='Bruce Lee'\nCTRL_TEMP='Test'\nDIR_TEMP='temp-name'\nNAME_TEMP='Temp Name'"
  },
  {
    "path": "scripts/messages.sh",
    "content": "#!/bin/bash\n\n# colors\nBLUE='\\033[00;34m'\nGREEN='\\033[0;32m'\nRESET='\\033[0m'\n\n# messages\nBRANCH_CREATE_MSG='✨ Creating feature branch...'\nBRANCH_SWITCH_MSG='🔀 Switching to feature branch...'\nDONE_MSG='👍 Good to go'\nCOMMIT_MSG='🎉 Chore: initial scaffold commit for'\nCOMMIT_STATUS_MSG='🎉 Making initial commit...'\nCONTROLLER_MSG='🕹  Creating & updating controller...'\nSCAFFOLD_MSG='📁 Starting widget scaffold...'\nSTART_MSG='🚀 Getting started'\nSUB_SCAFFOLD_MSG='📁 Starting sub directory widget scaffold...'\nUPDATE_MSG='📚 Updating README & config...'"
  },
  {
    "path": "src/pe-big-link-to/README.md",
    "content": "# Big - Link To\n\n## Description\n\nThe widget is an adaptation of the Link Button (Out of the Box) widget that provides a more feature rich collection of configurable options through the use of the Instance Options interface.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-big-link-to/images/default.png)\n### Configured - Bootstrap Success\n![Configured Bootstrap Success](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-big-link-to/images/success.png)\n### Missing Link Configuration\n![Missing Link Configuration](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-big-link-to/images/missingconfig.png)\n### Instance Options\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-big-link-to/images/options1.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-big-link-to/images/options2.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-big-link-to/images/options3.png)\n\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\nDownload and install update set **[pe-big-link-to.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-big-link-to/pe-big-link-to.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Presentation\n**Title** - Text to show on the button <br/>\n**Annotation** - Sub-Text to give additional context about the button<br/>\n**Background URL** - URL to the image to show on the button<br/>\n**Background Position** - Positioning location of the image<br/>\n**Button Background Color** - Custom color setting of the button's backgroun - HEX, RGB, or web color names are valid values<br/>\n**Button Minimum Height** - minimum height of the button <br/>\n**Title Color** - Title text color - HEX, RGB, or web color names are valid values<br/>\n**Annotation Color** - Sub-Text text color - HEX, RGB, or web color names are valid values<br/>\n**Border Radius** - radius value of the button's border in pixels (px) - `Default: 4px`<br/>\n**Bootstrap Panel's Contextual Alternatives** - Bootstrap Context Alternative choices (primary, success, info, etc.) to quickly color the button's background <br/>\n\n### Behavior\n**Target HREF** - specifies the URL location the user will go to when clicked<br/>\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None"
  },
  {
    "path": "src/pe-big-link-to/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Navigation\",\n  \"common-name\": \"Big - Link To\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"button\",\n    \"link\"\n  ],\n  \"name\": \"pe-big-link-to\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"BIG Link To button widget customizable via Instance Options\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-big-link-to/pe-big-link-to.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-12 14:16:44\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Big - Link To</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>647174d04fefe70005be4d6e0210c7a8</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-12 14:16:43</sys_created_on>\n<sys_id>2c6c0f0a4f63af0005be4d6e0210c7ed</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-12 14:16:43</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0693aa894faee7408272ece24210c79a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n\t\n\tvar c = this;\n\t\n\tc.bgStyle = {\n\t\t'background-image': 'url(' + c.options.background_url +  ')',\n\t\t'background-position': c.options.background_position\n\t};\n\t\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$brand-default: #f2f2f2 !default;\n\n.sassvars {\n  --button-bg-color: $brand-default;\n  --button-min-height: 225px;\n  --button-border-radius: unset;\n  --title-color: $text-color;\n  --annotation-color: $text-color;\n  --button-image: unset;\n  --button-image-position: unset;\n  \n  --bs-context-default: $brand-default;\n  --bs-context-primary: $brand-primary;\n  --bs-context-success: $brand-success;\n  --bs-context-warning: $brand-warning;\n  --bs-context-danger: $brand-danger;\n  --bs-context-info: $brand-info;\n}\n.panel{\n  border: unset !important;\n  background-color: transparent !important;\n  border-radius: unset !important;\n  box-shadow: unset !important;\n}\n.panel-body{\n  padding: 0 !important;\n}\na {\n\tdisplay: contents;\n}\n\n.biglinkto {\n\tmargin-bottom: 20px;\n}\n\n.biglinkto &amp;gt; div,\n.biglinkto &amp;gt; a &amp;gt; div {\n  color: var(--title-color);\n  background-color: var(--button-bg-color);\n  height: var(--button-min-height);\n  border-radius: var(--button-border-radius);\n  padding: 46px;\n  background-size: contain;\n  background-repeat: no-repeat;\n  background-image: var(--button-image);\n  background-position: var(--button-image-position);\n  \n  h3, p {\n  \t//text-shadow: 0px 0px 1px $mt-bigbutton-bg, 0px 0px 1px $mt-bigbutton-bg, 0px 0px 1px $mt-bigbutton-bg;\n  }\n  \n  h3 {\n  \tfont-weight: bold;\n    font-size: 36px;\n    width: 50%;\n    margin: 0 0 10px 0;\n    color: var(--title-color);\n  }\n  \n  p {\n  \tfont-size: 18px;\n    color: var(--annotation-color);\n    width: 50%;\n  }\n  @media (max-width: 767px) {\n    padding: 26px;\n    height: 175px;\n    h3 {\n      font-size: 24px;\n    }\n    p {\n  \tfont-size: 16px;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_link&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title,sc_cat_item,url,kb_article,kb_category,kb_topic,order,sp_page,type,sc_category&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;bigbox-linkto&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.context &amp;&amp; $scope.options.context.length &gt; 0){\n\t\tsass.style.setProperty('--button-bg-color', sassv.getPropertyValue('--bs-context-'+$scope.options.context) );\n\t}\n\tif($scope.options.button_bg_color &amp;&amp; $scope.options.button_bg_color.length &gt; 0){\n\t\tsass.style.setProperty('--button-bg-color', $scope.options.button_bg_color);\n\t}\n\tif($scope.options.button_min_height &amp;&amp; $scope.options.button_min_height.length &gt; 0){\n\t\tsass.style.setProperty('--button-min-height', $scope.options.button_min_height);\n\t}\n\tif($scope.options.title_color &amp;&amp; $scope.options.title_color.length &gt; 0){\n\t\tsass.style.setProperty('--title-color', $scope.options.title_color);\n\t}\n\tif($scope.options.annotation_color &amp;&amp; $scope.options.annotation_color.length &gt; 0){\n\t\tsass.style.setProperty('--annotation-color', $scope.options.annotation_color);\n\t}\n\tif($scope.options.background_url &amp;&amp; $scope.options.background_url.length &gt; 0){\n\t\tsass.style.setProperty('--button-image', 'url(' + $scope.options.background_url + ')');\n\t}\n\tif($scope.options.background_position &amp;&amp; $scope.options.background_position.length &gt; 0){\n\t\tsass.style.setProperty('--button-image-position', $scope.options.background_position);\n\t}\n\tif($scope.options.border_radius &amp;&amp; $scope.options.border_radius.length &gt; 0){\n\t\tsass.style.setProperty('--button-border-radius', $scope.options.border_radius);\n\t}\n\t\n}\n]]&gt;&lt;/link&gt;&lt;name&gt;Big Box - Link To&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"annotation\",\"section\":\"Presentation\",\"label\":\"Annotation\",\"type\":\"string\"},{\"name\":\"background_url\",\"section\":\"Presentation\",\"label\":\"Background URL\",\"type\":\"string\"},{\"name\":\"background_position\",\"section\":\"Presentation\",\"default_value\":\"unset\",\"label\":\"Background position\",\"type\":\"choice\",\"choices\":[{\"label\":\"unset\",\"value\":\"unset\"},{\"label\":\"top\",\"value\":\"top\"},{\"label\":\"bottom\",\"value\":\"bottom\"},{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"right\",\"value\":\"right\"},{\"label\":\"center\",\"value\":\"center\"},{\"label\":\"inherit\",\"value\":\"inherit\"},{\"label\":\"initial\",\"value\":\"initial\"}]},{\"name\":\"href\",\"section\":\"Behavior\",\"label\":\"Target HREF\",\"type\":\"string\"},{\"name\":\"button_bg_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Button Background Color\",\"type\":\"string\"},{\"name\":\"button_min_height\",\"section\":\"Presentation\",\"label\":\"Button Minimum Height\",\"type\":\"string\"},{\"name\":\"title_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Title Color\",\"type\":\"string\"},{\"name\":\"annotation_color\",\"section\":\"Presentation\",\"label\":\"Annotation Color\",\"type\":\"string\"},{\"name\":\"border_radius\",\"section\":\"Presentation\",\"default_value\":\"4px\",\"label\":\"Border Radius\",\"type\":\"string\"},{\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"default\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar gr = $sp.getInstanceRecord();\n\t\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\ttry{\n\t\tdata.href = options.href || $sp.getMenuHREF(gr);\n\t\t\n\t\tdata.target = options.target || \"\";\n\t\t\n\t\tif(data.href==\"\"){\n\t\t\tdata.missingConfig = true;\n\t\t}\n\t\t\n\t}catch(e){\n\t\tdata.missingConfig = true;\n\t\treturn;\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-21 15:41:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;0693aa894faee7408272ece24210c79a&lt;/sys_id&gt;&lt;sys_mod_count&gt;39&lt;/sys_mod_count&gt;&lt;sys_name&gt;Big Box - Link To&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0693aa894faee7408272ece24210c79a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-11 16:14:05&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"sassvars panel\"&gt;\n  &lt;div class=\"panel-body biglinkto\"&gt;\n    &lt;a ng-href=\"{{::data.href}}\" ng-if='!data.missingConfig'&gt;\n      &lt;div&gt;\n        &lt;h3&gt;{{::c.options.title}}&lt;/h3&gt;\n        &lt;p&gt;{{::c.options.annotation}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/a&gt;\n    &lt;div ng-if='data.missingConfig'&gt;\n      &lt;h3&gt;Missing Link Configuration&lt;/h3&gt;\n      &lt;p&gt;Use Instance Options (Ctrl+Right Click) to configure the widget&lt;/p&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-638731107</payload_hash>\n<remote_update_set display_value=\"Big - Link To\">2c6c0f0a4f63af0005be4d6e0210c7ed</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-12 14:16:43</sys_created_on>\n<sys_id>606c0f0a4f63af0005be4d6e0210c7ee</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168dda8a90e0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-12 14:16:43</sys_updated_on>\n<table/>\n<target_name>Big Box - Link To</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>4842f6b518e36f00cfdd7110d71447e7</update_guid>\n<update_guid_history>4842f6b518e36f00cfdd7110d71447e7:-638731107,caad5e352aa36f00d082b26dd4d1e332:-638731107,c08dd63550a36f00e96740f2bb2378cd:307027409,391d923514a36f0091c893b59a42e06e:1094397220,febcdef17aa36f0017518289e23fd504:509215252,ff7c5af1cca36f002d72fe3dec7e1486:-1358251606,4f6c9af1eaa36f0045cc73747aaa314e:1536587741,d82c1af100a36f00dfdb31e9c5f6d6d1:-423781469,959fa2ef7b1b6700ec3f7470cd3e836b:-986839634,8b7f2eaf991b670066580a1802c273f9:1543069933,7a6faeaf371b670000091b2b165fcadf:1075059948,ea3faeaf951b6700ca6812d9e67123d8:1644783640,5a1feaaf091b67003f5ffbf3d5b5cc20:-1812745657,49feeaaf8e1b67001fd0406b148a910e:-366757501,95dee6afe61b67002e0b9837a032eacc:644670933,8a9882e3d69767005d1b75aa3c0b92e6:-2064102270,bf6afa29f132a7809a82652460f3e0b7:1166511927,3606ba251732a780b662503827c19a18:1328224489,cf8fd7019a2ae7404bec6fd0f10e07cb:1797384021,265c83c95ba6e74000c7c8a274db3b32:-1783151641,933c43c902a6e740d4a015e2c697a483:1472588453,c87d72cd2466e740bf726f2d3c13102d:-197520754,fbfcf68dc266e7400fffdfc83ffdaea6:-881116553,ed52b689a5eee740e37b8a541e40fbe7:-1079588990,dc12728923eee740e39058b8f55cdb80:-1330814083,a87dea8186eee74031f07fe5dd8a98c5:-913531473,c64d26c116eee740ddcf5719957cb477:-1566428373,2f2da2c16eeee740e68da5ae8f6a9028:-1777720603,e2bc6a812deee740d87f8f01033e6b86:-1313698707,8f9c2681a2eee74095ca753f74ebbd9f:-565261420,367c6281aeeee740e5c50e31f1d6e1a0:-1582331297,a8bb6241a7eee7408a817a50ab164dd2:136973071,e73bea012beee74080be523ae9cd8a38:789146945,f7caaa0148eee740de7c8daeab6bcaec:1341692700,1a0a220138eee740559122dd276e0217:1845920129,66d8e64db8aee74033ea74f715d0a70d:-1814760574,d27826cd7eaee7409082fa7d4a71bdcc:-884831168,eb872a8d04aee7400ebca72a0747ab06:393387062,5254a6c950aee740f8bd37162584a1f7:132200168,1fb3ea8989aee740a8fac52b5d6c3a14:-110990669,4a93aa89d7aee7403b588d5a181ca49b:-1650731519</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-big-link-to/widget/pe-big-link-to.u-body-html-template.html",
    "content": "<div class=\"sassvars panel\">\n  <div class=\"panel-body biglinkto\">\n    <a ng-href=\"{{::data.href}}\" ng-if='!data.missingConfig'>\n      <div>\n        <h3>{{::c.options.title}}</h3>\n        <p>{{::c.options.annotation}}</p>\n      </div>\n    </a>\n    <div ng-if='data.missingConfig'>\n      <h3>Missing Link Configuration</h3>\n      <p>Use Instance Options (Ctrl+Right Click) to configure the widget</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-big-link-to/widget/pe-big-link-to.u-client-script.js",
    "content": "function() {\n\t\n\tvar c = this;\n\t\n\tc.bgStyle = {\n\t\t'background-image': 'url(' + c.options.background_url +  ')',\n\t\t'background-position': c.options.background_position\n\t};\n\t\n\t\n}"
  },
  {
    "path": "src/pe-big-link-to/widget/pe-big-link-to.u-css.css",
    "content": "$brand-default: #f2f2f2 !default;\n\n.sassvars {\n  --button-bg-color: $brand-default;\n  --button-min-height: 225px;\n  --button-border-radius: unset;\n  --title-color: $text-color;\n  --annotation-color: $text-color;\n  --button-image: unset;\n  --button-image-position: unset;\n  \n  --bs-context-default: $brand-default;\n  --bs-context-primary: $brand-primary;\n  --bs-context-success: $brand-success;\n  --bs-context-warning: $brand-warning;\n  --bs-context-danger: $brand-danger;\n  --bs-context-info: $brand-info;\n}\n.panel{\n  border: unset !important;\n  background-color: transparent !important;\n  border-radius: unset !important;\n  box-shadow: unset !important;\n}\n.panel-body{\n  padding: 0 !important;\n}\na {\n\tdisplay: contents;\n}\n\n.biglinkto {\n\tmargin-bottom: 20px;\n}\n\n.biglinkto > div,\n.biglinkto > a > div {\n  color: var(--title-color);\n  background-color: var(--button-bg-color);\n  height: var(--button-min-height);\n  border-radius: var(--button-border-radius);\n  padding: 46px;\n  background-size: contain;\n  background-repeat: no-repeat;\n  background-image: var(--button-image);\n  background-position: var(--button-image-position);\n  \n \n  h3 {\n  \tfont-weight: bold;\n    font-size: 36px;\n    width: 50%;\n    margin: 0 0 10px 0;\n    color: var(--title-color);\n  }\n  \n  p {\n  \tfont-size: 18px;\n    color: var(--annotation-color);\n    width: 50%;\n  }\n  @media (max-width: 767px) {\n    padding: 26px;\n    height: 175px;\n    h3 {\n      font-size: 24px;\n    }\n    p {\n  \tfont-size: 16px;\n    }\n  }\n}"
  },
  {
    "path": "src/pe-big-link-to/widget/pe-big-link-to.u-link-script.js",
    "content": "function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.context && $scope.options.context.length > 0){\n\t\tsass.style.setProperty('--button-bg-color', sassv.getPropertyValue('--bs-context-'+$scope.options.context) );\n\t}\n\tif($scope.options.button_bg_color && $scope.options.button_bg_color.length > 0){\n\t\tsass.style.setProperty('--button-bg-color', $scope.options.button_bg_color);\n\t}\n\tif($scope.options.button_min_height && $scope.options.button_min_height.length > 0){\n\t\tsass.style.setProperty('--button-min-height', $scope.options.button_min_height);\n\t}\n\tif($scope.options.title_color && $scope.options.title_color.length > 0){\n\t\tsass.style.setProperty('--title-color', $scope.options.title_color);\n\t}\n\tif($scope.options.annotation_color && $scope.options.annotation_color.length > 0){\n\t\tsass.style.setProperty('--annotation-color', $scope.options.annotation_color);\n\t}\n\tif($scope.options.background_url && $scope.options.background_url.length > 0){\n\t\tsass.style.setProperty('--button-image', 'url(' + $scope.options.background_url + ')');\n\t}\n\tif($scope.options.background_position && $scope.options.background_position.length > 0){\n\t\tsass.style.setProperty('--button-image-position', $scope.options.background_position);\n\t}\n\tif($scope.options.border_radius && $scope.options.border_radius.length > 0){\n\t\tsass.style.setProperty('--button-border-radius', $scope.options.border_radius);\n\t}\n\t\n}\n"
  },
  {
    "path": "src/pe-big-link-to/widget/pe-big-link-to.u-option-schema.json",
    "content": "[\n {\"name\":\"annotation\",\"section\":\"Presentation\",\"label\":\"Annotation\",\"type\":\"string\"},\n {\"name\":\"background_url\",\"section\":\"Presentation\",\"label\":\"Background URL\",\"type\":\"string\"},\n {\"name\":\"background_position\",\"section\":\"Presentation\",\"default_value\":\"unset\",\"label\":\"Background position\",\"type\":\"choice\",\"choices\":[{\"label\":\"unset\",\"value\":\"unset\"},{\"label\":\"top\",\"value\":\"top\"},{\"label\":\"bottom\",\"value\":\"bottom\"},{\"label\":\"left\",\"value\":\"left\"},{\"label\":\"right\",\"value\":\"right\"},{\"label\":\"center\",\"value\":\"center\"},{\"label\":\"inherit\",\"value\":\"inherit\"},{\"label\":\"initial\",\"value\":\"initial\"}]},\n {\"name\":\"href\",\"section\":\"Behavior\",\"label\":\"Target HREF\",\"type\":\"string\"},\n {\"name\":\"button_bg_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Button Background Color\",\"type\":\"string\"},\n {\"name\":\"button_min_height\",\"section\":\"Presentation\",\"label\":\"Button Minimum Height\",\"type\":\"string\"},\n {\"name\":\"title_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Title Color\",\"type\":\"string\"},\n {\"name\":\"annotation_color\",\"section\":\"Presentation\",\"label\":\"Annotation Color\",\"type\":\"string\"},\n {\"name\":\"border_radius\",\"section\":\"Presentation\",\"default_value\":\"4px\",\"label\":\"Border Radius\",\"type\":\"string\"},\n {\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"default\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]}\n]"
  },
  {
    "path": "src/pe-big-link-to/widget/pe-big-link-to.u-server-script.js",
    "content": "(function() {\n\tvar gr = $sp.getInstanceRecord();\n\t\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\ttry{\n\t\tdata.href = options.href || $sp.getMenuHREF(gr);\n\t\t\n\t\tdata.target = options.target || \"\";\n\t\t\n\t\tif(data.href==\"\"){\n\t\t\tdata.missingConfig = true;\n\t\t}\n\t\t\n\t}catch(e){\n\t\tdata.missingConfig = true;\n\t\treturn;\n\t}\n\n})();"
  },
  {
    "path": "src/pe-business-process-visualizer/README.md",
    "content": "# Business Process Visualizer\n\n## Description\n\nThe Business Process Visualizer presents the current active value of a choice field from a record.<br/><br/>\n**Example:** You would like to show the progress of a ticket's state in an easy to view progress scale (as pictured below).<br/><br/>  Developed to be configurable through instance options or by passing key parameters by use of the URL.  The Business Process Visualizer can bring that one additional visual element of information to help improve the communication of where the item is in the process.\n\n## Screenshots\n### Configured - Default (Large)\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/default.png)\n### Configured - Medium\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/medium.png)\n### Configured - Small\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/small.png)\n### Configured - Mobile (Full Scale)\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/mobile_full.png)\n### Configured - Mobile (Current Only)\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/mobile_current.png)\n### Configured - Custom Icons\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/custom_icons.png)\n### Configured - Instance Options\n![Bootstrap Context](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/instance_options.png)\n### Configured - URL Parameters\n![Bootstrap Context](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-business-process-visualizer/images/url_parameters.png)\n\n---\n## Installation\nDownload and install update set **[pe-business-process-visualizer.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-business-process-visualizer/pe-business-process-visualizer.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Table** - Name of table to retrieve data from - e.g. Incident<br/>\n**Display Field** - Choice Field to reference in building the progress scale<br/>\n\n### Presentation\n**Caption** - Used to provide a top-centered caption for the widget.<br/>\n**Default Icon** - System (Font Awesome) Icon to show in the center of each visual step<br/>\n**Icons** - Using the Font Awesome collection, each step can be given an unique icon.  Each icon must be comma seperated - e.g. fa-check,fa-arrow-right,fa-pause,fa-check-circle,fa-times-circle,fa-ban<br/>\n**Display Size** - Change the look between large, medium, and small dispaly sizes<br/>\n**Mobile Show Scale** - When checked the full process scale is displayed on a mobile device instead of just the current/active stage.  (See 'mobile' images above)<br/>\n\n### Behavior\n**Invert Sequence** - Invert the sequence of the displayed stages<br/>\n<br/>\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\nConfigurable by using the Branding Editor:<br/><br/>\n$brand-success <br/>\n$text-color <br/>"
  },
  {
    "path": "src/pe-business-process-visualizer/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Progress Bar\",\n  \"common-name\": \"Business Process Visualizer\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\",\n    \"Madrid\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"list\"\n  ],\n  \"name\": \"pe-business-process-visualizert\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"The Business Process Visualizer presents the current active value of a choice field from a record.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-business-process-visualizer/pe-business-process-visualizer.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-06-21 15:27:38\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Business Process Visualizer</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>44dfe72a4f4eb70005be4d6e0210c7c5</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-06-21 15:27:38</sys_created_on>\n<sys_id>01b17f6b4fc6bb0005be4d6e0210c71a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-06-21 15:27:38</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_caf0fb6a4f4eb70005be4d6e0210c7da</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($scope,$window) {\n  /* widget controller */\n\tvar c = this;\n\tfunction isXSScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\t$scope.wide_view = true;\n\t$scope.show_panel = 0;\n\t\n\tif(isXSScreenSize()){\n\t\t$scope.wide_view = c.data.mobile_scale;\n\t\tc.data.display_size = 'small';\n\t}\n\t\n\tif(c.data.table &amp;&amp; c.data.table.length&gt;0){\n\t\tif(c.data.field &amp;&amp; c.data.field.length&gt;0){\n\t\t\tif(c.data.process &amp;&amp; c.data.process.steps&gt;0){\n\t\t\t\t$scope.show_panel = 2;\n\t\t\t}else{\n\t\t\t\t$scope.show_panel = 1;\n\t\t\t}\n\t\t}\n\t}\n\t\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.design-process-section .text-align-center {\n  line-height: 25px;\n  margin-bottom: 12px;\n}\n.container{\n  margin: 20px auto 20px;\n  width: 100% !important;\n}\n.caption{\n  text-align: center;\n  margin-bottom: 20px;\n  @media only screen and (max-width: 767px) {\n    margin-bottom: 10px;\n  }\n}\n.process-model {\n  list-style: none;\n  padding: 0;\n  position: relative;\n  display: grid;\n  grid-gap: 0px;\n  grid-auto-flow: column;\n  justify-items: center;\n  border: none;\n  z-index: 0;\n  text-align: center;\n  align-items: start;\n  justify-content: center;\n}\n.process-model li::after {\n  background: $text-color none repeat scroll 0 0;\n  bottom: 0;\n  content: \"\";\n  margin: 0 auto;\n  position: absolute;\n  right: -50%;\n  width: 100%;\n  z-index: -1;\n}\n.process-model li:last-child::after {\n  width: 0;\n}\n.process-model li {\n  text-align: center;\n  float: none;\n}\n.process-model li.active,\n.process-model li.visited {\n  color: $brand-success;\n}\n.process-model li p {\n  font-size: 14px;\n  width: 86%;\n  margin: 0 auto;\n  margin-top: 10px;\n  @media only screen and (max-width: 767px) {\n    color: transparent;\n  }\n}\n.process-model li.active p,\n.process-model li.visited p {\n  font-weight: 600;\n  @media only screen and (max-width: 767px) {\n    color: $brand-success;\n  }\n}\n.process-model li i {\n  display: block;\n  text-align: center;\n  margin: 0 auto;\n  background: #F5F5F5;\n  border: 2px solid $text-color;\n  border-radius: 50%;\n}\n.process-model li.i-large{\n  i{\n    height: 68px;\n    width: 68px;\n    font-size: 30px;\n    line-height: 65px;\n  }\n}\n.process-model li.i-medium{\n  i{\n    height: 51px;\n    width: 51px;\n    font-size: 21px;\n    line-height: 49px;\n  }\n}\n.process-model li.i-small{\n  i{\n    height: 34px;\n    width: 34px;\n    line-height: 32px;\n    font-size: 16px;\n  }\n  p{\n    font-size: 12px;\n    margin-top: 5px;\n  }\n}\n\n.process-model li.i-large::after{\n  top: 33px;\n  height: 4px;\n}\n.process-model li.i-medium::after{\n  top: 24px;\n  height: 3.5px;\n}\n.process-model li.i-small::after{\n  top: 15.5px;\n  height: 3px;\n}\n\n.process-large{\n  grid-auto-columns: minmax(100px,auto);\n}\n.process-medium{\n  grid-auto-columns: minmax(75px,auto);\n}\n.process-small{\n  grid-auto-columns: minmax(50px,auto);\n}\n\n.process-model li.active i, .process-model li.visited i  {\n  background: #fff;\n  border-color: $brand-success;\n}\n\n\n&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,display_field&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;bp-visualizer&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function ($scope,$el,$attrs,$ctrl) {\n\n}]]&gt;&lt;/link&gt;&lt;name&gt;Business Process Visualizer&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Caption for the Widget\",\"name\":\"caption\",\"section\":\"Presentation\",\"label\":\"Caption\",\"type\":\"string\"},{\"name\":\"default_icon\",\"section\":\"Presentation\",\"default_value\":\"check\",\"label\":\"Default Icon\",\"type\":\"glyphicon\"},{\"name\":\"icons\",\"section\":\"Presentation\",\"label\":\"Icons\",\"type\":\"string\"},{\"name\":\"display_size\",\"section\":\"Presentation\",\"default_value\":\"large\",\"label\":\"Display Size\",\"type\":\"choice\",\"choices\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"medium\",\"value\":\"medium\"},{\"label\":\"small\",\"value\":\"small\"}]},{\"hint\":\"Show the full process scale on mobile devices\",\"name\":\"mobile_show_scale\",\"section\":\"Presentation\",\"default_value\":\"false\",\"label\":\"Mobile Show Scale\",\"type\":\"boolean\"},{\"name\":\"invert_sequence\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Invert Sequence\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n\tdata.table = $sp.getParameter('t') || $sp.getParameter('table') || options.table;\n\tdata.extTable = undefined;\n\tdata.field = $sp.getParameter('f') || $sp.getParameter('field') || options.display_field;\n\tdata.lang = $sp.getParameter('l') || $sp.getParameter('language') || options.language || 'en';\n\tdata.caption = $sp.getParameter('caption') || options.caption;\n\tdata.sys_id = $sp.getParameter('sys_id');\n\tdata.mobile_scale = (options.mobile_show_scale=='true' || options.mobile_show_scale==true || options.mobile_show_scale=='1' || options.mobile_show_scale==1 )\n\tdata.record_state = false;\n\t\n\tdata.display_size = options.display_size;\n\t\n\tif(options.icons){\n\t\tdata.icons =  options.icons.split(',');\n\t}\n\t\n\tdata.process = {\n\t\tsteps : 0,\n\t  labels : []\n\t}\n\tif(options.default_icon=='empty'){\n\t\toptions.default_icon = 'check';\n\t}\n\t\n\tif(!data.table || !data.field){\n\t\treturn;\n\t}\n\tif(data.sys_id){\n\t\tvar grRec = new GlideRecordSecure(data.table);\n\t\tgrRec.get(data.sys_id);\n\t\tgrRec.query();\n\t\tif(grRec.next()){\n\t\t\tdata.record_state = grRec.getValue(data.field);\n\t\t}\n\t}\n\n\tvar grTable = new GlideRecord('sys_db_object');\n\tgrTable.addQuery('name','=',data.table);\n\tgrTable.query();\n\tif(grTable.next()){\n\t\tdata.extTable = grTable.getDisplayValue('super_class');\n\t}\n\t\n\tvar grProcess = new GlideRecord('sys_choice');\n\tgrProcess.addQuery('name','=',data.table);\n\tgrProcess.addQuery('element','=',data.field);\n\tgrProcess.addQuery('language','=',data.lang);\n\tif(options.invert_sequence =='true' ||\n\t\t options.invert_sequence =='t' ||\n\t\t options.invert_sequence == true ){\n\t grProcess.orderByDesc('sequence');\n\t}else{\n\t\tgrProcess.orderBy('sequence');\n\t}\n\tgrProcess.query();\n\t\n\twhile(grProcess.next()){\n\t\tvar icon = \"fa-\"+options.default_icon;\n\t\tif(data.icons &amp;&amp; data.icons[data.process.steps]){\n\t\t\ticon = data.icons[data.process.steps];\n\t\t}\n\t\t\n\t\tdata.process.labels.push({ display_value : grProcess.getDisplayValue('label'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: grProcess.getDisplayValue('value'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon: icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t });\n\t\tdata.process.steps = data.process.steps + 1;\n\t}\n\t\n\tif(data.process.steps==0 &amp;&amp; data.extTable){\n\t\tgrProcess = new GlideRecord('sys_choice');\n\t\tgrProcess.addQuery('name','=',data.extTable);\n\t\tgrProcess.addQuery('element','=',data.field);\n\t\tgrProcess.addQuery('language','=',data.lang);\n\t\tif(options.invert_sequence =='true' ||\n\t\t\t options.invert_sequence =='t' ||\n\t\t\t options.invert_sequence == true ){\n\t\t\tgrProcess.orderByDesc('sequence');\n\t\t}else{\n\t\t\tgrProcess.orderBy('sequence');\n\t\t}\n\t\tgrProcess.query();\n\n\t\twhile(grProcess.next()){\n\t\t\tvar icon = \"fa-\"+options.default_icon;\n\t\t\tif(data.icons &amp;&amp; data.icons[data.process.steps]){\n\t\t\t\ticon = data.icons[data.process.steps];\n\t\t\t}\n\n\t\t\tdata.process.labels.push({ display_value : grProcess.getDisplayValue('label'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: grProcess.getDisplayValue('value'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon: icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t });\n\t\t\tdata.process.steps = data.process.steps + 1;\n\t\t}\n\t}\n\t\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-18 12:52:24&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;caf0fb6a4f4eb70005be4d6e0210c7da&lt;/sys_id&gt;&lt;sys_mod_count&gt;179&lt;/sys_mod_count&gt;&lt;sys_name&gt;Business Process Visualizer&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_caf0fb6a4f4eb70005be4d6e0210c7da&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-21 15:23:12&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;section class=\"design-process-section\"&gt;\n  &lt;div class=\"panel panel-warning\" ng-if='show_panel === 0'&gt;\n    &lt;div class=\"panel-heading\"&gt;Widget Not Configured&lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;Please use the widget's Instance Options (Ctrl-RightClick) to configure this widget.&lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"panel panel-warning\" ng-if='show_panel === 1'&gt;\n    &lt;div class=\"panel-heading\"&gt;Invalid 'Choice' Field&lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;Field selected is not a 'choice' field and doesn't not meet the requirements for showing data.&lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"container\" ng-if='show_panel === 2'&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-md-12\"&gt; \n        &lt;div class='caption'&gt;{{::data.caption}}&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"row\" ng-if='data.record_state'&gt;\n      &lt;div class=\"col-md-12\"&gt; \n        &lt;ul class=\"nav nav-tabs process-model process-{{data.display_size}}\" role=\"tablist\" ng-if='wide_view'&gt;\n          &lt;li role=\"presentation\"\n              class='i-{{data.display_size}}'\n              ng-class=\"{ active : (data.record_state == item.value) }\" \n              ng-repeat='item in data.process.labels'&gt;&lt;i class=\"fa {{::item.icon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;p&gt;{{::item.display_value}}&lt;/p&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n        &lt;ul class=\"nav nav-tabs process-model process-{{data.display_size}}\" role=\"tablist\" ng-if='!wide_view'&gt;\n          &lt;li role=\"presentation\"\n              class='i-{{data.display_size}}'\n              ng-class=\"{ active : (data.record_state == item.value) }\"\n              ng-if='(data.record_state == item.value)'\n              ng-repeat='item in data.process.labels'&gt;&lt;i class=\"fa {{::item.icon}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;p&gt;{{::item.display_value}}&lt;/p&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"row\" ng-if='!data.record_state'&gt;\n      &lt;div class=\"col-md-12\"&gt;\n        &lt;div class='caption'&gt;\n          No Record Found.\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/section&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1764935708</payload_hash>\n<remote_update_set display_value=\"Business Process Visualizer\">01b17f6b4fc6bb0005be4d6e0210c71a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-06-21 15:27:38</sys_created_on>\n<sys_id>0db17f6b4fc6bb0005be4d6e0210c71a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7aa26aa30000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-06-21 15:27:38</sys_updated_on>\n<table/>\n<target_name>Business Process Visualizer</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>14b0ff673ec6bb00dc9b7ade101f9e77</update_guid>\n<update_guid_history>14b0ff673ec6bb00dc9b7ade101f9e77:-1764935708,1350332365c6bb00921964b5cfc7ade9:-1368119190,80503f2770c6bb007dce5919311fa369:316216603,cd67eb6f7586bb005caa83bd729ce8fe:-165986546,2345331fd08a7b003aa5cb3fe5699a74:-457962767,c0b1fb97de8a7b00bc395564d02399fd:1293859315,4f9177971b8a7b0030c882f4f2e025ef:-1753817392,61517797b68a7b00112cdf98e472e959:2099922052,d21177979a8a7b00c37eab66229a0f54:-1984623125,b2d03397aa8a7b00d2ddc4c85fd03ae8:1741438165,5bc03397db8a7b009f4c1d4114da7a7c:-1077956993,c18033976a8a7b00c54a1dcf68d6ecd8:1051392074,eb703397d48a7b00601638c3412b8175:-1147218698,35307b57708a7b00c4a5c1b17f2977b7:1058911780,9b0f2f177b8a7b0024583da6c9111fbd:1105545075,390ceb13878a7b007b48c5e81263e5c2:-1425228259,38dbeb13e38a7b002108c1dbbec3f6ba:-1158899457,bfab6b13c98a7b00074c8fdf056abf72:-1395367916,743b6fdf804a7b00961ac5bff54ead53:-372981655,d7aa6fdfbb4a7b00f09362b711737ae3:-1528281225,699a2fdf614a7b00802ef8c8d756f0b4:1489032481,c059675f564a7b0046d80240095660f6:-1009057741,93f86b1f984a7b00c8c6ca687cad550a:-664638136,4eb6631fe54a7b00aab072615303f454:724746250,bf96631fcc4a7b006016ccb796a46736:2080911360,8b0627dbd84a7b002173f3bd5b810773:1831438658,2c17e54f0f863b0073976453ea595e82:-468370852,ab36ad8b9a863b00c5eca96dd5dadeed:1222808391,82a3e14b50863b00ef6817f0fcdf2ad2:-1508340580,e5a221c701863b001a733900e5bb9318:-64987220,60922d87ab863b00416932023d37802c:-120996390,6d12e5476f863b00ceb24b859029c28a:196475525,ccfcd5cf21463b006e618ad877d46790:237062786,f3bcd18fe2463b00bff556145db277da:-780637360,6d3cdd4b9b463b00ad713b14a23019b0:1894004590,fd2cdd4bf0463b0076c62da5630962a9:1666513967,bb3b51cb79463b0078e0e8689c3f1ad1:2046099520,8c2bdd4b30463b007629a1b4c4b0cdd2:2054950539,58ea994b76463b004f0f0f0c098646f6:-1354430623,278a954b7a463b00f82fcdaa1423b596:136111598,562a914bc4463b0050c5ff0aa449a440:1429290075,ebd9d90b90463b009edd6976f9e1da6a:12292267,68e85587b9463b007dd65b3f52637b33:-722415298,aeb8914719463b009fcd7ab4db88b6be:-78810514,d75815c31c463b009d9ed3484c87cb7b:-1781813447,9727dd43db463b00f3b9718db2aaab6b:1062024024,9907994314463b0050df7a392372895d:932086414,ead69943dd463b00977626b097653556:1948408294,b1265d0377463b001f98673e2a4ff438:-549844527,1ef55503f5463b00d6cf91229e3fded8:-1974254277,81e5d1036d463b00e5fa113315d1c493:1503912441,27c5d10344463b00a4115ce625a9b68c:1942292310,4da51dcf7b063b0063a196b59bb1e8d1:2132688013,e5551dcf66063b00e00bf228b9b3110f:1648601570,01059d4fb5063b00c25a15e018d1d2d9:2106568997,35c41d4fb3063b005a6c0ec8b25c0615:1971436833,b5a41d4f51063b009a0e982105554c0b:1451687242,4a04514f93063b00647158ed7b7a091f:140021756,1c331dcbf6063b00d7dfbf0ea576b0cb:435876684,afe21dcbd0063b000d0076ddd90285c4:1333771404,20d215cb55063b003e5de18a2f1a3922:1036946831,447255cbbd063b00b27c3fedf610eb93:-1655210673,ed42558ba8063b00ef8e7de3e6a75717:-1152074969,43f1158b27063b003faafbc10dd493e5:-1939963296,53e1558b32063b00b7ea4d75d4c47711:-168928132,d4b1d18b57063b00d782d6410a40aaf6:1035648224,fd91d18bf9063b006bbeb541cbd1da91:-1055567458,1b715d0b21063b004d0aace417ccdd0b:-2098035492,f951514bc6063b00139cd6bf1b08b5ad:477385472,c541d5c7dd063b006e5333c68efd3dcd:-1942327591,f7f0590baf063b00bad195af43057a1a:-1866742895,63709d476f063b009e3eb738c47921a2:-1007275887,29305d8700063b00e720f8df80e77d09:2080933485,7bdf8d471a063b003834e222ceed57af:242320906,84af45873f063b00505e0456c06c69a5:352180115,5e6f4d472a063b0041f176ed84583b0a:-71238957,5a4f4947d3063b005dee24bb70cf3e71:615060045,943f4507c6063b00eeb8a81db9a432f3:-85814800,4dfe850721063b005c309480d4aa1e00:1469871761,fa9e8107f8063b00c69335f5de494a2b:-1592969015,9fbd41c3c6063b0010f97ce5d775407a:541030765,2e8d8d835a063b00662f1434cbbbf829:-1197307218,46ec45433e063b00535d7271067b5681:-1986491893,093c4103f6063b00371c1f566773cc3e:-16834611,1be8054f46c23b00ea89f9cdc21e0e77:1600409642,c8e8094f68c23b00da973590904f2f37:-789573483,a7b8814ff8c23b00c459c4c37c404c05:1500889118,86880d0f5bc23b008572faf21723c600:318622622,3318050fd0c23b008ccc388d40d0df23:-1596611617,34d749cbb2c23b0005c03466df99092b:-1558074425,18c749cb89c23b00ee785230519e7f24:-361871313,014705cbe5c23b009d06de1a8e9cac6b:1177974115,af658587c0c23b00c285dd34948f0eab:1587717492,ac61898780c23b0006f07dcdd36e1c79:1399325477,1a21818712c23b006c083314d064ad62:1339890609,67e0494793c23b00b6c13c986c11bb32:711407126,5530414730c23b00558681dddad46ede:1612801057,3120c14704c23b00757a710d7f10fb58:-378829394,ac100147cac23b0062580c67c30fe752:1008529981,edff3c0763c23b0040bd9478fea4c7ec:1594821696,f0cf3c077dc23b002faa7af4c988cce6:741996411,e1af740766c23b00e40ec8b40822d692:925233543,a75f30075ac23b00eb654212c1216190:-14355963,f52fbc8343c23b007cd7a07a12eaec6a:1438491484,4a0ff8c353c23b003d0c79fa98e10375:-2085521265,ebdebc8396c23b008957d872abd65b63:376377010,672ef843d1c23b0042c214857746ab6a:1298145810,5b1eb443ecc23b003b7cdbab80cc6158:934148556,d2bd78439cc23b00fa0bc3e100802c70:-2107919002,9b6d744384c23b00bafac8de03bc154d:-738052250,e45d304352c23b009a24293f6a7fca88:537419294,26bcfccf2c823b00691ee11783784cad:1873095711,ff4cb40345c23b00e9c98df300eb23ba:1913534731,082bf0cb95823b008b48975ded7f2500:-909855402,640b340f08823b005eadd1c35e6bb90b:-74429906,e599f0cbab823b00cd7b8a92efa9cf08:415085519,03193c8b33823b00cded42822e5a9854:1001903126,79c8704b0b823b002b8de693dbd2ccb0:-2004743968,d088fcc7a4823b008e8cc5d996d84c31:-1617846196,94787c8718823b00c276bdd853a6f218:97878430,dde77c873b823b00a140b25bddbe2394:-1199485203,383859f271c6f700d7f16c7f691603e2:-572611808,7df791f2d2c6f70058ea04ccf0fbef67:-1357031974,998711f2bfc6f700c3276b9245a93e1a:-343747051,a67795b2e6c6f70006765e55a4d4b3fd:1730646128,c52795febc86f700ba4faea9b0deb39f:2133959398,93e6593205c6f700cede4948186c239d:961054930,40665d3222c6f700f5b6565f26c9f9d2:725429573,fc555932cbc6f700389d9247a5968993:-1990625816,df055532c1c6f700b93dc3edd2fc9403:-2126980120,b1f4153254c6f700de38c79eb980250b:986023432,3cf3d1beb286f70034ee7f7de1161d13:1660381118,f5525dba7286f700597f3e33ae952872:477468155,d9225dba1786f700e9340267e4be196a:-624713791,d0d155ba8486f700312fbb129151b2ce:-1023242949,9d915d7a9d86f7007e212e865389830f:-696421221,3041517ae586f700dc8d32314b8a12f4:-1250748577,ecb0957a5886f700b9d22e520b6df302:-789680809,df30513a8586f700c1754ecad352a89f:691711339,c27f45f6c786f700fda21ec435ad2401:565913234,932f09f60d86f700bf17e565fdc3669a:-1190967268,741f05f6cd86f700fb93d517c3c13df7:2114111258,0ece8db64986f700b95f8f9e35f8d468:805107115,e81e01b62086f700e49bf882e551e9e8:-1185005777,19cd8976de86f700d0b4fbc656d12f17:-1054586512,3cbd81769886f700e41f495401113528:1181587039,dc6d8176b186f7005d1ddc0ba87b0421:-1446448910,c024cd3eaf46f70023266f70a3a39826:49046865,5a04093e2946f700b1355ea3f8b233ce:342109826,34f309fa4046f7001ea75048fa34fc65:-1808244702,cac209fa4546f7004d87095fe05c672b:-1635703369,bda201fa1d46f700736a2c20aa1b2c04:1491117192,d0724dba4146f700c4bf06ea2b6eb4a6:-1392849100,c142057a6f46f70046f48c228896aae2:2015682817,9e4e7476b846f700afa442c02729e45d:108645693,161ef0360c46f700adbbcf618ad69cb1:1956819534,8eedf0369b46f700d96624b7c2085346:-2076220652,65ecb0b21646f700b0d21715030392f8:1354249298,ed9cb872e846f700cf9f2d917da3532d:72094275,66bbf07e2506f700d2e99330ef63f9e2:306614191,84f9707e3306f700910e066117bd43a0:-1376329153,1998f4fa6c06f700e145e038886dfcf0:-743859478,6a88b0ba1706f7007b3ff2b05aa57195:957373795,1658b07aab06f70014ca5c1c32f2b467:1080853339,25e674b6ec06f700e2e98f556420d721:-1813455140,fcd2b83e8dc2f7000587b5d833793a7b:239212252,41e13c3a72c2f700b2887aaf657f6dae:633155201,55713876e4c2f700b50b23730bdc8e8e:-1264135709,a31f28fed382f70090fe7f9da6064c13:772237970,1e0f28fea982f700324295807bbcc980:-2100310534,58be64fe8182f70022b5a851f50dcba0:-1295838951,69de907a6c42f700919508981a242059:548224710,89de147a2442f700d562a61cccf47259:1146235521,5d8e58f62542f7006fa6efaa4dc5f0e5:-1558510986,8d55d8be77ceb7008ec5580822f8d7aa:642379165,654598be95ceb70047b00ff2f84d7f8b:2110826280,19e4d4be8aceb700e6eed1b70e79cf64:72490409,69d454bea3ceb7001ce120a52875ecef:1939070116,c9f13baacb4eb700066c1f7aa815306e:2064366681,0e6173aae84eb70019ac951f3bcac65f:170575640</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_9122bfaa4f4eb70005be4d6e0210c781</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance_table\"&gt;&lt;sp_instance_table action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;display_field&gt;state&lt;/display_field&gt;&lt;field_list/&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;maximum_entries&gt;5&lt;/maximum_entries&gt;&lt;order&gt;1&lt;/order&gt;&lt;order_by/&gt;&lt;order_direction&gt;asc&lt;/order_direction&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;23123faa4f4eb70005be4d6e0210c7d1&lt;/sp_column&gt;&lt;sp_page/&gt;&lt;sp_widget display_value=\"Business Process Visualizer\"&gt;caf0fb6a4f4eb70005be4d6e0210c7da&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance_table&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-18 12:55:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;9122bfaa4f4eb70005be4d6e0210c781&lt;/sys_id&gt;&lt;sys_mod_count&gt;51&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_table_9122bfaa4f4eb70005be4d6e0210c781&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-21 15:25:11&lt;/sys_updated_on&gt;&lt;table&gt;change_request&lt;/table&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"icons\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"default_icon\": {\n\t\t\"value\": \"check\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"invert_sequence\": {\n\t\t\"value\": \"false\",\n\t\t\"displayValue\": \"false\"\n\t},\n\t\"caption\": {\n\t\t\"value\": \"Ticket State\",\n\t\t\"displayValue\": \"Ticket State\"\n\t},\n\t\"mobile_show_scale\": {\n\t\t\"value\": \"false\",\n\t\t\"displayValue\": \"false\"\n\t},\n\t\"display_size\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"-- None --\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance_table&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=9122bfaa4f4eb70005be4d6e0210c781\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>982810802</payload_hash>\n<remote_update_set display_value=\"Business Process Visualizer\">01b17f6b4fc6bb0005be4d6e0210c71a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-06-21 15:27:38</sys_created_on>\n<sys_id>45b17f6b4fc6bb0005be4d6e0210c71a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7aa43bcd0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-06-21 15:27:38</sys_updated_on>\n<table>change_request</table>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>1521b7a728c6bb005e4ff28df4ebb941</update_guid>\n<update_guid_history>1521b7a728c6bb005e4ff28df4ebb941:982810802,85907f27cfc6bb00e2edf700d216c75a:144959332,2ca6efab0786bb0086e3d1977d2ce8d7:982810802,0256ebabd486bb006b8e12dcd69feec5:271253554,8f85335f0e8a7b008c3439671c8ec72f:1702155128,c6127bd7db8a7b0081f370757f7f6238:1855720104,912c6f53998a7b00ccca243252d76108:1466663380,2e87218f19863b00c3f5c4649f78780e:384059718,fe576d4fad863b00124ce8621b0cfe0b:-1907203208,c327ed8ba9863b00671e8d29ea1e4c12:798577130,b7d3a98b22863b006a5da868da22f856:1290370419,9863e14b57863b0094a1da9cd0d608cb:798577130,31d26d0b29863b004e5d8dbe691d612a:1290370419,00c2ed873a863b0092c9010638788aea:1436830745,3d52e5470e863b0093107b5a305f4091:-951591794,7032a9874d863b000d40a9d3127ed295:1004001595,a21dd5cf12463b0098edbc8128c724b8:-256199356,cd0d59cf4c463b00c2f307b3c204ec94:798577130,83dc95cf18463b00443738bc19a068d5:1004001595,039cd18f0d463b00a2ed61f92ec11131:1327056017,f95c910f95463b00e36fe1ccb9a8e1d7:-256199356,940b5d4b35463b002dc3985fa2f9a872:1004001595,92ba994b5c463b00ad829c4d64434f62:1327056017,a75a554b36463b001cf0bea5204339ad:538548242,824a9d0b5e463b00bb9f62c3539a567e:-256199356,0e89590bd3463b000cf4f090e74b490e:1004001595,a869550b79463b00aa6c3dfd794c626e:798577130,6af8918737463b00634ef20d76aff7f0:2087258667,40a89dc33e463b002da6e48febc00a9a:369545163,f4b759835a463b001f8e5d3f2edf9e13:1015518319,378719838c463b000697147d43606734:-1608671131,e754d54f81063b00b7fec59d4b76f9b8:2063471795,8383990f1a063b005f07e61fa42dbc8c:-1608671131,2a63d10f82063b001f270e334024b57c:2063471795,4a2d098314063b00e87388a01cff8d9f:-1041926776,d8fc8143b8063b00005c555b76410eb3:-1554901011,2b8db44311c23b00ce69c461c397ff75:-2021831869,2d0d3043f5c23b0024d343fe3497bb82:1671915269,addc7c03fdc23b00f117e0b7d86a2588:-1249311917,37a9b0cbd1823b003bb106295b48bafc:389468259,9a497c8bf4823b00142061edd2c4fbca:1785148001,60c3d1be2586f70086b0368c8adecb0d:-550453398,7ba351bea886f700ef49b431b354447e:2041301403,8a6359bae386f7000bf41774df7987cf:-1146718670,f5f259fac586f7009052d1f4603d0d75:-550453398,a370517a2d86f700395b772734791400:1225621888,80437c3eecc2f700f6cc14ad0d41e269:369545163,d0c17c766fc2f700193e2f220546999a:-910859485,c6a13c76fbc2f70048481eb13a43abf8:-2089887608</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-body-html-template.html",
    "content": "<section class=\"design-process-section\">\n  <div class=\"panel panel-warning\" ng-if='show_panel === 0'>\n    <div class=\"panel-heading\">Widget Not Configured</div>\n    <div class=\"panel-body\">Please use the widget's Instance Options (Ctrl-RightClick) to configure this widget.</div>\n  </div>\n  <div class=\"panel panel-warning\" ng-if='show_panel === 1'>\n    <div class=\"panel-heading\">Invalid 'Choice' Field</div>\n    <div class=\"panel-body\">Field selected is not a 'choice' field and doesn't not meet the requirements for showing data.</div>\n  </div>\n  <div class=\"container\" ng-if='show_panel === 2'>\n    <div class=\"row\">\n      <div class=\"col-md-12\"> \n        <div class='caption'>{{::data.caption}}</div>\n      </div>\n    </div>\n    <div class=\"row\" ng-if='data.record_state'>\n      <div class=\"col-md-12\"> \n        <ul class=\"nav nav-tabs process-model process-{{data.display_size}}\" role=\"tablist\" ng-if='wide_view'>\n          <li role=\"presentation\"\n              class='i-{{data.display_size}}'\n              ng-class=\"{ active : (data.record_state == item.value) }\" \n              ng-repeat='item in data.process.labels'><i class=\"fa {{::item.icon}}\" aria-hidden=\"true\"></i><p>{{::item.display_value}}</p></li>\n        </ul>\n        <ul class=\"nav nav-tabs process-model process-{{data.display_size}}\" role=\"tablist\" ng-if='!wide_view'>\n          <li role=\"presentation\"\n              class='i-{{data.display_size}}'\n              ng-class=\"{ active : (data.record_state == item.value) }\"\n              ng-if='(data.record_state == item.value)'\n              ng-repeat='item in data.process.labels'><i class=\"fa {{::item.icon}}\" aria-hidden=\"true\"></i><p>{{::item.display_value}}</p></li>\n        </ul>\n      </div>\n    </div>\n    <div class=\"row\" ng-if='!data.record_state'>\n      <div class=\"col-md-12\">\n        <div class='caption'>\n          No Record Found.\n        </div>\n      </div>\n    </div>\n  </div>\n</section>\n"
  },
  {
    "path": "src/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-client-script.js",
    "content": "function($scope,$window) {\n  /* widget controller */\n\tvar c = this;\n\tfunction isXSScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\t$scope.wide_view = true;\n\t$scope.show_panel = 0;\n\t\n\tif(isXSScreenSize()){\n\t\t$scope.wide_view = c.data.mobile_scale;\n\t\tc.data.display_size = 'small';\n\t}\n\t\n\tif(c.data.table && c.data.table.length>0){\n\t\tif(c.data.field && c.data.field.length>0){\n\t\t\tif(c.data.process && c.data.process.steps>0){\n\t\t\t\t$scope.show_panel = 2;\n\t\t\t}else{\n\t\t\t\t$scope.show_panel = 1;\n\t\t\t}\n\t\t}\n\t}\n\t\t\n}"
  },
  {
    "path": "src/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-css.css",
    "content": ".design-process-section .text-align-center {\n  line-height: 25px;\n  margin-bottom: 12px;\n}\n.container{\n  margin: 20px auto 20px;\n  width: 100% !important;\n}\n.caption{\n  text-align: center;\n  margin-bottom: 20px;\n  @media only screen and (max-width: 767px) {\n    margin-bottom: 10px;\n  }\n}\n.process-model {\n  list-style: none;\n  padding: 0;\n  position: relative;\n  display: grid;\n  grid-gap: 0px;\n  grid-auto-flow: column;\n  justify-items: center;\n  border: none;\n  z-index: 0;\n  text-align: center;\n  align-items: start;\n  justify-content: center;\n}\n.process-model li::after {\n  background: $text-color none repeat scroll 0 0;\n  bottom: 0;\n  content: \"\";\n  margin: 0 auto;\n  position: absolute;\n  right: -50%;\n  width: 100%;\n  z-index: -1;\n}\n.process-model li:last-child::after {\n  width: 0;\n}\n.process-model li {\n  text-align: center;\n  float: none;\n}\n.process-model li.active,\n.process-model li.visited {\n  color: $brand-success;\n}\n.process-model li p {\n  font-size: 14px;\n  width: 86%;\n  margin: 0 auto;\n  margin-top: 10px;\n  @media only screen and (max-width: 767px) {\n    color: transparent;\n  }\n}\n.process-model li.active p,\n.process-model li.visited p {\n  font-weight: 600;\n  @media only screen and (max-width: 767px) {\n    color: $brand-success;\n  }\n}\n.process-model li i {\n  display: block;\n  text-align: center;\n  margin: 0 auto;\n  background: #F5F5F5;\n  border: 2px solid $text-color;\n  border-radius: 50%;\n}\n.process-model li.i-large{\n  i{\n    height: 68px;\n    width: 68px;\n    font-size: 30px;\n    line-height: 65px;\n  }\n}\n.process-model li.i-medium{\n  i{\n    height: 51px;\n    width: 51px;\n    font-size: 21px;\n    line-height: 49px;\n  }\n}\n.process-model li.i-small{\n  i{\n    height: 34px;\n    width: 34px;\n    line-height: 32px;\n    font-size: 16px;\n  }\n  p{\n    font-size: 12px;\n    margin-top: 5px;\n  }\n}\n\n.process-model li.i-large::after{\n  top: 33px;\n  height: 4px;\n}\n.process-model li.i-medium::after{\n  top: 24px;\n  height: 3.5px;\n}\n.process-model li.i-small::after{\n  top: 15.5px;\n  height: 3px;\n}\n\n.process-large{\n  grid-auto-columns: minmax(100px,auto);\n}\n.process-medium{\n  grid-auto-columns: minmax(75px,auto);\n}\n.process-small{\n  grid-auto-columns: minmax(50px,auto);\n}\n\n.process-model li.active i, .process-model li.visited i  {\n  background: #fff;\n  border-color: $brand-success;\n}"
  },
  {
    "path": "src/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-link-script.js",
    "content": "function ($scope,$el,$attrs,$ctrl) {\n\n}"
  },
  {
    "path": "src/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-option-schema.json",
    "content": "[{\"hint\":\"Caption for the Widget\",\"name\":\"caption\",\"section\":\"Presentation\",\"label\":\"Caption\",\"type\":\"string\"},{\"name\":\"default_icon\",\"section\":\"Presentation\",\"default_value\":\"check\",\"label\":\"Default Icon\",\"type\":\"glyphicon\"},{\"name\":\"icons\",\"section\":\"Presentation\",\"label\":\"Icons\",\"type\":\"string\"},{\"name\":\"display_size\",\"section\":\"Presentation\",\"default_value\":\"large\",\"label\":\"Display Size\",\"type\":\"choice\",\"choices\":[{\"label\":\"large\",\"value\":\"large\"},{\"label\":\"medium\",\"value\":\"medium\"},{\"label\":\"small\",\"value\":\"small\"}]},{\"hint\":\"Show the full process scale on mobile devices\",\"name\":\"mobile_show_scale\",\"section\":\"Presentation\",\"default_value\":\"false\",\"label\":\"Mobile Show Scale\",\"type\":\"boolean\"},{\"name\":\"invert_sequence\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Invert Sequence\",\"type\":\"boolean\"}]"
  },
  {
    "path": "src/pe-business-process-visualizer/widget/pe-business-process-visualizer.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n\tdata.table = $sp.getParameter('t') || $sp.getParameter('table') || options.table;\n\tdata.extTable = undefined;\n\tdata.field = $sp.getParameter('f') || $sp.getParameter('field') || options.display_field;\n\tdata.lang = $sp.getParameter('l') || $sp.getParameter('language') || options.language || 'en';\n\tdata.caption = $sp.getParameter('caption') || options.caption;\n\tdata.sys_id = $sp.getParameter('sys_id');\n\tdata.mobile_scale = (options.mobile_show_scale=='true' || options.mobile_show_scale==true || options.mobile_show_scale=='1' || options.mobile_show_scale==1 )\n\tdata.record_state = false;\n\t\n\tdata.display_size = options.display_size;\n\t\n\tif(options.icons){\n\t\tdata.icons =  options.icons.split(',');\n\t}\n\t\n\tdata.process = {\n\t\tsteps : 0,\n\t  labels : []\n\t}\n\tif(options.default_icon=='empty'){\n\t\toptions.default_icon = 'check';\n\t}\n\t\n\tif(!data.table || !data.field){\n\t\treturn;\n\t}\n\tif(data.sys_id){\n\t\tvar grRec = new GlideRecordSecure(data.table);\n\t\tgrRec.get(data.sys_id);\n\t\tgrRec.query();\n\t\tif(grRec.next()){\n\t\t\tdata.record_state = grRec.getValue(data.field);\n\t\t}\n\t}\n\n\tvar grTable = new GlideRecord('sys_db_object');\n\tgrTable.addQuery('name','=',data.table);\n\tgrTable.query();\n\tif(grTable.next()){\n\t\tdata.extTable = grTable.getDisplayValue('super_class');\n\t}\n\t\n\tvar grProcess = new GlideRecord('sys_choice');\n\tgrProcess.addQuery('name','=',data.table);\n\tgrProcess.addQuery('element','=',data.field);\n\tgrProcess.addQuery('language','=',data.lang);\n\tif(options.invert_sequence =='true' ||\n\t\t options.invert_sequence =='t' ||\n\t\t options.invert_sequence == true ){\n\t grProcess.orderByDesc('sequence');\n\t}else{\n\t\tgrProcess.orderBy('sequence');\n\t}\n\tgrProcess.query();\n\t\n\twhile(grProcess.next()){\n\t\tvar icon = \"fa-\"+options.default_icon;\n\t\tif(data.icons && data.icons[data.process.steps]){\n\t\t\ticon = data.icons[data.process.steps];\n\t\t}\n\t\t\n\t\tdata.process.labels.push({ display_value : grProcess.getDisplayValue('label'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: grProcess.getDisplayValue('value'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon: icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t });\n\t\tdata.process.steps = data.process.steps + 1;\n\t}\n\t\n\tif(data.process.steps==0 && data.extTable){\n\t\tgrProcess = new GlideRecord('sys_choice');\n\t\tgrProcess.addQuery('name','=',data.extTable);\n\t\tgrProcess.addQuery('element','=',data.field);\n\t\tgrProcess.addQuery('language','=',data.lang);\n\t\tif(options.invert_sequence =='true' ||\n\t\t\t options.invert_sequence =='t' ||\n\t\t\t options.invert_sequence == true ){\n\t\t\tgrProcess.orderByDesc('sequence');\n\t\t}else{\n\t\t\tgrProcess.orderBy('sequence');\n\t\t}\n\t\tgrProcess.query();\n\n\t\twhile(grProcess.next()){\n\t\t\tvar icon = \"fa-\"+options.default_icon;\n\t\t\tif(data.icons && data.icons[data.process.steps]){\n\t\t\t\ticon = data.icons[data.process.steps];\n\t\t\t}\n\n\t\t\tdata.process.labels.push({ display_value : grProcess.getDisplayValue('label'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: grProcess.getDisplayValue('value'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon: icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t });\n\t\t\tdata.process.steps = data.process.steps + 1;\n\t\t}\n\t}\n\t\t\n})();"
  },
  {
    "path": "src/pe-card-scroll/README.md",
    "content": "# Card Scroll\n\n## Description\n\nThis widget can be used to quickly craft a card that scrolls on toggle to display hidden content.\n\n## Screenshots\n\n### Collapsed View\n\n![Card Scroll Collapsed](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-card-scroll/images/pe-card-scroll-1.png)\n\n### Expanded View\n\n![Card Scroll Expanded](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-card-scroll/images/pe-card-scroll-2.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-card-scroll.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-card-scroll/pe-card-scroll.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> None\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-theme-color: #1c2432 !default;\n$pe-header-color: #fff !default;\n$pe-anchor-color: #68acd8 !default;\n$pe-status-color-normal: #6ee520 !default;\n```"
  },
  {
    "path": "src/pe-card-scroll/angular-template/pe-card-scroll-svgs.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"carrot-up\">\n    <svg width=\"14px\" height=\"7px\" viewBox=\"0 0 14 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->\n      <title>Shape</title>\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.0---CISO-Dashboard:-collapsed\" transform=\"translate(-184.000000, -545.000000)\" stroke-width=\"0.800000012\" stroke=\"#FFFFFF\">\n          <g id=\"Group-4-Copy\" transform=\"translate(190.500000, 548.500000) rotate(-360.000000) translate(-190.500000, -548.500000) translate(178.000000, 536.000000)\">\n            <polyline id=\"Shape\" transform=\"translate(12.946429, 12.160714) rotate(-90.000000) translate(-12.946429, -12.160714) \" points=\"9.82142857 17.9642857 16.0714286 12.1642857 9.82142857 6.35714286\"></polyline>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"carrot-down\">\n    <svg width=\"14px\" height=\"7px\" viewBox=\"0 0 14 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->\n      <title>carrot</title>\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"carrot\" transform=\"translate(7.000000, 3.500000) rotate(-180.000000) translate(-7.000000, -3.500000) translate(1.000000, 0.000000)\"\n          stroke-width=\"0.800000012\" stroke=\"#FFFFFF\">\n          <g id=\"Security---SKO-2017\">\n            <g id=\"1.0---CISO-Dashboard:-collapsed\">\n              <g id=\"Group-4-Copy\" transform=\"translate(6.000000, 3.500000) rotate(0.000000) translate(-6.000000, -3.500000) \">\n                <polyline id=\"Shape\" transform=\"translate(5.946429, 3.160714) rotate(-90.000000) translate(-5.946429, -3.160714) \" points=\"2.82142926 8.96428584 9.07142929 3.16428584 2.82142926 -2.642857\"></polyline>\n              </g>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"up-arrow\">\n    <svg width=\"24px\" height=\"14px\" viewBox=\"0 0 24 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>84E545F8-AA58-420A-8E3A-35F9F2665BA1</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.0---CISO-Dashboard:-expanded\" transform=\"translate(-166.000000, -1062.000000)\" fill=\"#6EE520\">\n          <path d=\"M187.678007,1064.90414 L181.072658,1071.07298 L174.948074,1066.62701 L167.104545,1075.16352 L166,1074.14864 L174.747743,1064.62803 L180.952845,1069.13245 L186.594765,1063.86338 L180.40932,1064.58159 L180.236312,1063.0916 L189.637467,1062 L188.213463,1071.35269 L186.730553,1071.12691 L187.678007,1064.90414 Z\"\n            id=\"Combined-Shape-Copy-2\"></path>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"down-arrow\">\n    <svg width=\"24px\" height=\"14px\" viewBox=\"0 0 24 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>C3D144CE-ACAC-47DE-A699-3265DA536D09</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.0---CISO-Dashboard:-collapsed\" transform=\"translate(-159.000000, -445.000000)\" fill=\"#6EE520\">\n          <g id=\"Group-7\" transform=\"translate(20.000000, 342.000000)\">\n            <g id=\"Group-6-Copy-2\" transform=\"translate(139.000000, 92.000000)\">\n              <g id=\"Group-5\">\n                <path d=\"M21.6780067,13.9041436 L15.0726579,20.072985 L8.94807423,15.6270106 L1.10454508,24.163524 L0,23.1486447 L8.74774252,13.6280296 L14.9528454,18.1324548 L20.5947652,12.8633753 L14.4093196,13.5815863 L14.2363124,12.0915969 L23.637467,11 L22.2134634,20.3526881 L20.7305533,20.126906 L21.6780067,13.9041436 Z\"\n                  id=\"Combined-Shape\" transform=\"translate(11.818733, 17.581762) scale(1, -1) translate(-11.818733, -17.581762) \"></path>\n              </g>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "src/pe-card-scroll/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Status\",\n  \"common-name\": \"Card Scroll\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Steven Gregory\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"card\"\n  ],\n  \"name\": \"pe-card-scroll\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This widget can be used to quickly craft a card that scrolls on toggle to display hidden content.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-card-scroll/pe-card-scroll.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-17 03:19:36\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Card Scroll</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>35599f29dbe1f200b793f2b6ae96195b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-17 03:19:35</sys_created_on>\n<sys_id>fed91369dbe1f200b793f2b6ae961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-17 03:19:35</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_72df0adddb6db20062e479daae961927</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function CardScrollController($document, $timeout) {\n  var c = this;\n  var scrollSpeed = 700;\n  var scrollOffset = 30;\n  c.toggleTrends = toggleTrends;\n\n  c.$onInit = function() {\n    c.isToggled = false;\n    c.isVisible = false;\n  };\n\n  function scrollDown() {\n    var securityTrends = angular.element(document.getElementById('security-trends'));\n    $document.scrollTo(securityTrends, scrollOffset, scrollSpeed);\n    c.isToggled = true;\n  }\n\n  function scrollUp() {\n    var subHeader = angular.element(document.getElementById('sub-header'));\n    $document.scrollTo(subHeader, scrollOffset, scrollSpeed);\n    $timeout(function() {\n      c.isToggled = false;\n    }, scrollSpeed);\n  }\n\n  function toggleTrends() {\n    c.isVisible = !c.isVisible;\n    c.isToggled === true ? scrollUp() : scrollDown();\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-theme-color: #1c2432 !default;&amp;#13;\n$pe-header-color: #fff !default;&amp;#13;\n$pe-anchor-color: #68acd8 !default;&amp;#13;\n$pe-status-color-normal: #6ee520 !default;&amp;#13;\n&amp;#13;\n#security-trends {&amp;#13;\n  h2 {&amp;#13;\n    color: $pe-theme-color;&amp;#13;\n    font-size: 22px;&amp;#13;\n    font-weight: bold;&amp;#13;\n    height: 28px;&amp;#13;\n    margin: 0 0 10px 0;&amp;#13;\n  }&amp;#13;\n  a {&amp;#13;\n    color: $pe-anchor-color;&amp;#13;\n    cursor: pointer;&amp;#13;\n    font-size: 11px;&amp;#13;\n    margin: 0 0 10px 0;&amp;#13;\n    padding-top: 6px;&amp;#13;\n    text-align: right;&amp;#13;\n    text-transform: uppercase;&amp;#13;\n  }&amp;#13;\n  .status-circle {&amp;#13;\n    border-radius: 50%;&amp;#13;\n    content: '';&amp;#13;\n    height: 10px;&amp;#13;\n    margin-left: 5px;&amp;#13;\n    position: absolute;&amp;#13;\n    top: 9%;&amp;#13;\n    width: 10px;&amp;#13;\n  }&amp;#13;\n  .status-circle-normal {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        @extend .status-circle;&amp;#13;\n        background-color: $pe-status-color-normal;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .status-circle-normal-small {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:after {&amp;#13;\n        @extend .status-circle;&amp;#13;\n        background-color: $pe-status-color-normal;&amp;#13;\n        top: 14%;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .circle-toggle {&amp;#13;\n    border-radius: 100px;&amp;#13;\n    background-color: #202a3c;&amp;#13;\n    border: solid 1px #3e6a87;&amp;#13;\n    cursor: pointer;&amp;#13;\n    height: 25px;&amp;#13;\n    margin-left: 10px;&amp;#13;\n    padding-left: 4.5px;&amp;#13;\n    float: right;&amp;#13;\n    width: 25px;&amp;#13;\n    .arrow {&amp;#13;\n      margin-top: -4px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel {&amp;#13;\n    border: 0;&amp;#13;\n    color: $pe-header-color;&amp;#13;\n    background-color: transparent;&amp;#13;\n    .panel-heading {&amp;#13;\n      background-color: #283347;&amp;#13;\n      border-bottom: 0;&amp;#13;\n      color: $pe-header-color;&amp;#13;\n      padding: 14px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n    .panel-body {&amp;#13;\n      background-color: $pe-theme-color;&amp;#13;\n      color: $pe-header-color;&amp;#13;\n      h4 {&amp;#13;\n        font-size: 24px;&amp;#13;\n        margin-top: -5px;&amp;#13;\n      }&amp;#13;\n      i {&amp;#13;\n        float: left;&amp;#13;\n        margin-top: 2px;&amp;#13;\n      }&amp;#13;\n      .sub-text {&amp;#13;\n        color: $pe-anchor-color;&amp;#13;\n        font-size: 10px;&amp;#13;\n        margin: -5px 0 -5px 0;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n      }&amp;#13;\n      .status-header-small {&amp;#13;\n        font-size: 18px !important;&amp;#13;\n        padding-top: 6px !important;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .carrot-toggle {&amp;#13;\n    height: 7px;&amp;#13;\n    margin-bottom: 4px;&amp;#13;\n    width: 14px;&amp;#13;\n  }&amp;#13;\n  .down-arrow,&amp;#13;\n  .up-arrow {&amp;#13;\n    height: 14px;&amp;#13;\n    margin-right: -8px;&amp;#13;\n    width: 24px;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-card-scroll&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Card Scroll&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-16 03:23:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;72df0adddb6db20062e479daae961927&lt;/sys_id&gt;&lt;sys_mod_count&gt;27&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Card Scroll&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_72df0adddb6db20062e479daae961927&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-17 03:03:24&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-card-scroll-svgs'\"&gt;&lt;/div&gt;\n&lt;div class=\"row\" id=\"security-trends\"&gt;\n  &lt;div class=\"col-xs-12\"&gt;\n    &lt;h2 class=\"pull-left\" ng-click=\"c.toggleTrends()\"&gt;Security Trends\n      &lt;i class=\"circle-toggle\"&gt;\n        &lt;div ng-hide=\"c.isVisible === true\"&gt;\n          &lt;svg class=\"carrot-toggle\"&gt;\n            &lt;use xlink:href=\"#carrot-down\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n        &lt;/div&gt;\n        &lt;div ng-hide=\"c.isVisible === false\"&gt;\n          &lt;svg class=\"carrot-toggle\"&gt;\n            &lt;use xlink:href=\"#carrot-up\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n        &lt;/div&gt;\n      &lt;/i&gt;\n    &lt;/h2&gt;\n  &lt;/div&gt;\n  &lt;div class=\"col-xs-12\" ui-sref=\"trends\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;incident remediation&lt;/div&gt;\n      &lt;div class=\"panel-body\"&gt;\n        &lt;div class=\"row text-center\"&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;h4&gt;16h 4m&lt;/h4&gt;\n            &lt;p class=\"sub-text\"&gt;Avg Remediation Time&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;i class=\"icon\"&gt;\n              &lt;svg class=\"down-arrow\"&gt;\n                &lt;use xlink:href=\"#down-arrow\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n            &lt;/i&gt;\n            &lt;h4&gt;20%&lt;/h4&gt;\n            &lt;p class=\"sub-text\"&gt;Down Over&lt;br&gt;Last Week&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;div class=\"status-circle-normal\"&gt;\n              &lt;h4&gt;20 hrs&lt;/h4&gt;\n            &lt;/div&gt;\n            &lt;p class=\"sub-text\"&gt;SLA&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div ng-show=\"c.isToggled == true\"&gt;\n      &lt;div class=\"panel panel-default\"&gt;\n        &lt;div class=\"panel-heading\"&gt;incident backlog&lt;/div&gt;\n        &lt;div class=\"panel-body\"&gt;\n          &lt;div class=\"row text-center\"&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;h4&gt;14&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Incidents in&lt;br&gt;Backlog&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;i class=\"icon\"&gt;\n                &lt;svg class=\"down-arrow\"&gt;\n                  &lt;use xlink:href=\"#down-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/i&gt;\n              &lt;h4&gt;20%&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Down Over&lt;br&gt;Last Week&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;div class=\"status-circle-normal-small\"&gt;\n                &lt;h4 class=\"status-header-small\"&gt;medium&lt;/h4&gt;\n              &lt;/div&gt;\n              &lt;p class=\"sub-text\"&gt;Business&lt;br&gt;Exposure&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel panel-default\"&gt;\n        &lt;div class=\"panel-heading\"&gt;vulnerability backlog&lt;/div&gt;\n        &lt;div class=\"panel-body\"&gt;\n          &lt;div class=\"row text-center\"&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;h4&gt;968&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Vulnerabilities&lt;br&gt;in Backlog&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;i class=\"icon\"&gt;\n                &lt;svg class=\"down-arrow\"&gt;\n                  &lt;use xlink:href=\"#down-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/i&gt;\n              &lt;h4&gt;4%&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Down Over&lt;br&gt;Last Week&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;div class=\"status-circle-normal-small\"&gt;\n                &lt;h4 class=\"status-header-small\"&gt;low&lt;/h4&gt;\n              &lt;/div&gt;\n              &lt;p class=\"sub-text\"&gt;Vulnerability Exposure&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel panel-default\"&gt;\n        &lt;div class=\"panel-heading\"&gt;task orchestration&lt;/div&gt;\n        &lt;div class=\"panel-body\"&gt;\n          &lt;div class=\"row text-center\"&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;h4&gt;69.55%&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Security Task Automation&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;i class=\"icon\"&gt;\n                &lt;svg class=\"up-arrow\"&gt;\n                  &lt;use xlink:href=\"#up-arrow\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/i&gt;\n              &lt;h4&gt;8%&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Up Over&lt;br&gt;Last Week&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;h4&gt;95 hrs&lt;/h4&gt;\n              &lt;p class=\"sub-text\"&gt;Time Saved&lt;br&gt;Last Week&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Card Scroll\">fed91369dbe1f200b793f2b6ae961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-17 03:19:35</sys_created_on>\n<sys_id>36d91369dbe1f200b793f2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-17 03:19:35</sys_updated_on>\n<table/>\n<target_name>PE Card Scroll</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_2c008721dbe1f200b793f2b6ae961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>duScroll</module><name>angular-scroll</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-17 01:28:10</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2c008721dbe1f200b793f2b6ae961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-scroll</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_2c008721dbe1f200b793f2b6ae961942</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-17 01:28:10</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Card Scroll\">fed91369dbe1f200b793f2b6ae961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-17 03:19:35</sys_created_on>\n<sys_id>72d91369dbe1f200b793f2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-17 03:19:35</sys_updated_on>\n<table/>\n<target_name>angular-scroll</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b9df3621dbe1f200b793f2b6ae9619de</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;angular-scroll&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var duScrollDefaultEasing=function(e){\"use strict\";return.5&gt;e?Math.pow(2*e,2)/2:1-Math.pow(2*(1-e),2)/2},duScroll=angular.module(\"duScroll\",[\"duScroll.scrollspy\",\"duScroll.smoothScroll\",\"duScroll.scrollContainer\",\"duScroll.spyContext\",\"duScroll.scrollHelpers\"]).value(\"duScrollDuration\",350).value(\"duScrollSpyWait\",100).value(\"duScrollGreedy\",!1).value(\"duScrollOffset\",0).value(\"duScrollEasing\",duScrollDefaultEasing).value(\"duScrollCancelOnEvents\",\"scroll mousedown mousewheel touchmove keydown\").value(\"duScrollBottomSpy\",!1).value(\"duScrollActiveClass\",\"active\");\"undefined\"!=typeof module&amp;&amp;module&amp;&amp;module.exports&amp;&amp;(module.exports=duScroll),angular.module(\"duScroll.scrollHelpers\",[\"duScroll.requestAnimation\"]).run([\"$window\",\"$q\",\"cancelAnimation\",\"requestAnimation\",\"duScrollEasing\",\"duScrollDuration\",\"duScrollOffset\",\"duScrollCancelOnEvents\",function(e,t,n,r,o,l,u,c){\"use strict\";var i={},a=function(e){return\"undefined\"!=typeof HTMLDocument&amp;&amp;e instanceof HTMLDocument||e.nodeType&amp;&amp;e.nodeType===e.DOCUMENT_NODE},s=function(e){return\"undefined\"!=typeof HTMLElement&amp;&amp;e instanceof HTMLElement||e.nodeType&amp;&amp;e.nodeType===e.ELEMENT_NODE},d=function(e){return s(e)||a(e)?e:e[0]};i.duScrollTo=function(t,n,r,o){var l;if(angular.isElement(t)?l=this.duScrollToElement:angular.isDefined(r)&amp;&amp;(l=this.duScrollToAnimated),l)return l.apply(this,arguments);var u=d(this);return a(u)?e.scrollTo(t,n):(u.scrollLeft=t,void(u.scrollTop=n))};var f,m;i.duScrollToAnimated=function(e,l,u,i){u&amp;&amp;!i&amp;&amp;(i=o);var a=this.duScrollLeft(),s=this.duScrollTop(),d=Math.round(e-a),p=Math.round(l-s),S=null,g=0,v=this,h=function(e){(!e||g&amp;&amp;e.which&gt;0)&amp;&amp;(c&amp;&amp;v.unbind(c,h),n(f),m.reject(),f=null)};if(f&amp;&amp;h(),m=t.defer(),0===u||!d&amp;&amp;!p)return 0===u&amp;&amp;v.duScrollTo(e,l),m.resolve(),m.promise;var y=function(e){null===S&amp;&amp;(S=e),g=e-S;var t=g&gt;=u?1:i(g/u);v.scrollTo(a+Math.ceil(d*t),s+Math.ceil(p*t)),1&gt;t?f=r(y):(c&amp;&amp;v.unbind(c,h),f=null,m.resolve())};return v.duScrollTo(a,s),c&amp;&amp;v.bind(c,h),f=r(y),m.promise},i.duScrollToElement=function(e,t,n,r){var o=d(this);(!angular.isNumber(t)||isNaN(t))&amp;&amp;(t=u);var l=this.duScrollTop()+d(e).getBoundingClientRect().top-t;return s(o)&amp;&amp;(l-=o.getBoundingClientRect().top),this.duScrollTo(0,l,n,r)},i.duScrollLeft=function(t,n,r){if(angular.isNumber(t))return this.duScrollTo(t,this.duScrollTop(),n,r);var o=d(this);return a(o)?e.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:o.scrollLeft},i.duScrollTop=function(t,n,r){if(angular.isNumber(t))return this.duScrollTo(this.duScrollLeft(),t,n,r);var o=d(this);return a(o)?e.scrollY||document.documentElement.scrollTop||document.body.scrollTop:o.scrollTop},i.duScrollToElementAnimated=function(e,t,n,r){return this.duScrollToElement(e,t,n||l,r)},i.duScrollTopAnimated=function(e,t,n){return this.duScrollTop(e,t||l,n)},i.duScrollLeftAnimated=function(e,t,n){return this.duScrollLeft(e,t||l,n)},angular.forEach(i,function(e,t){angular.element.prototype[t]=e;var n=t.replace(/^duScroll/,\"scroll\");angular.isUndefined(angular.element.prototype[n])&amp;&amp;(angular.element.prototype[n]=e)})}]),angular.module(\"duScroll.polyfill\",[]).factory(\"polyfill\",[\"$window\",function(e){\"use strict\";var t=[\"webkit\",\"moz\",\"o\",\"ms\"];return function(n,r){if(e[n])return e[n];for(var o,l=n.substr(0,1).toUpperCase()+n.substr(1),u=0;u&lt;t.length;u++)if(o=t[u]+l,e[o])return e[o];return r}}]),angular.module(\"duScroll.requestAnimation\",[\"duScroll.polyfill\"]).factory(\"requestAnimation\",[\"polyfill\",\"$timeout\",function(e,t){\"use strict\";var n=0,r=function(e,r){var o=(new Date).getTime(),l=Math.max(0,16-(o-n)),u=t(function(){e(o+l)},l);return n=o+l,u};return e(\"requestAnimationFrame\",r)}]).factory(\"cancelAnimation\",[\"polyfill\",\"$timeout\",function(e,t){\"use strict\";var n=function(e){t.cancel(e)};return e(\"cancelAnimationFrame\",n)}]),angular.module(\"duScroll.spyAPI\",[\"duScroll.scrollContainerAPI\"]).factory(\"spyAPI\",[\"$rootScope\",\"$timeout\",\"$window\",\"$document\",\"scrollContainerAPI\",\"duScrollGreedy\",\"duScrollSpyWait\",\"duScrollBottomSpy\",\"duScrollActiveClass\",function(e,t,n,r,o,l,u,c,i){\"use strict\";var a=function(o){var a=!1,s=!1,d=function(){s=!1;var t,u=o.container,a=u[0],d=0;if(\"undefined\"!=typeof HTMLElement&amp;&amp;a instanceof HTMLElement||a.nodeType&amp;&amp;a.nodeType===a.ELEMENT_NODE)d=a.getBoundingClientRect().top,t=Math.round(a.scrollTop+a.clientHeight)&gt;=a.scrollHeight;else{var f=r[0].body.scrollHeight||r[0].documentElement.scrollHeight;t=Math.round(n.pageYOffset+n.innerHeight)&gt;=f}var m,p,S,g,v,h,y=c&amp;&amp;t?\"bottom\":\"top\";for(g=o.spies,p=o.currentlyActive,S=void 0,m=0;m&lt;g.length;m++)v=g[m],h=v.getTargetPosition(),h&amp;&amp;(c&amp;&amp;t||h.top+v.offset-d&lt;20&amp;&amp;(l||-1*h.top+d)&lt;h.height)&amp;&amp;(!S||S[y]&lt;h[y])&amp;&amp;(S={spy:v},S[y]=h[y]);S&amp;&amp;(S=S.spy),p===S||l&amp;&amp;!S||(p&amp;&amp;(p.$element.removeClass(i),e.$broadcast(\"duScrollspy:becameInactive\",p.$element,angular.element(p.getTargetElement()))),S&amp;&amp;(S.$element.addClass(i),e.$broadcast(\"duScrollspy:becameActive\",S.$element,angular.element(S.getTargetElement()))),o.currentlyActive=S)};return u?function(){a?s=!0:(d(),a=t(function(){a=!1,s&amp;&amp;d()},u,!1))}:d},s={},d=function(e){var t=e.$id,n={spies:[]};return n.handler=a(n),s[t]=n,e.$on(\"$destroy\",function(){f(e)}),t},f=function(e){var t=e.$id,n=s[t],r=n.container;r&amp;&amp;r.off(\"scroll\",n.handler),delete s[t]},m=d(e),p=function(e){return s[e.$id]?s[e.$id]:e.$parent?p(e.$parent):s[m]},S=function(e){var t,n,r=e.$scope;if(r)return p(r);for(n in s)if(t=s[n],-1!==t.spies.indexOf(e))return t},g=function(e){for(;e.parentNode;)if(e=e.parentNode,e===document)return!0;return!1},v=function(e){var t=S(e);t&amp;&amp;(t.spies.push(e),t.container&amp;&amp;g(t.container)||(t.container&amp;&amp;t.container.off(\"scroll\",t.handler),t.container=o.getContainer(e.$scope),t.container.on(\"scroll\",t.handler).triggerHandler(\"scroll\")))},h=function(t){var n=S(t);t===n.currentlyActive&amp;&amp;(e.$broadcast(\"duScrollspy:becameInactive\",n.currentlyActive.$element),n.currentlyActive=null);var r=n.spies.indexOf(t);-1!==r&amp;&amp;n.spies.splice(r,1),t.$element=null};return{addSpy:v,removeSpy:h,createContext:d,destroyContext:f,getContextForScope:p}}]),angular.module(\"duScroll.scrollContainerAPI\",[]).factory(\"scrollContainerAPI\",[\"$document\",function(e){\"use strict\";var t={},n=function(e,n){var r=e.$id;return t[r]=n,r},r=function(e){return t[e.$id]?e.$id:e.$parent?r(e.$parent):void 0},o=function(n){var o=r(n);return o?t[o]:e},l=function(e){var n=r(e);n&amp;&amp;delete t[n]};return{getContainerId:r,getContainer:o,setContainer:n,removeContainer:l}}]),angular.module(\"duScroll.smoothScroll\",[\"duScroll.scrollHelpers\",\"duScroll.scrollContainerAPI\"]).directive(\"duSmoothScroll\",[\"duScrollDuration\",\"duScrollOffset\",\"scrollContainerAPI\",function(e,t,n){\"use strict\";return{link:function(r,o,l){o.on(\"click\",function(o){if(l.href&amp;&amp;-1!==l.href.indexOf(\"#\")||\"\"!==l.duSmoothScroll){var u=l.href?l.href.replace(/.*(?=#[^\\s]+$)/,\"\").substring(1):l.duSmoothScroll,c=document.getElementById(u)||document.getElementsByName(u)[0];if(c&amp;&amp;c.getBoundingClientRect){o.stopPropagation&amp;&amp;o.stopPropagation(),o.preventDefault&amp;&amp;o.preventDefault();var i=l.offset?parseInt(l.offset,10):t,a=l.duration?parseInt(l.duration,10):e,s=n.getContainer(r);s.duScrollToElement(angular.element(c),isNaN(i)?0:i,isNaN(a)?0:a)}}})}}}]),angular.module(\"duScroll.spyContext\",[\"duScroll.spyAPI\"]).directive(\"duSpyContext\",[\"spyAPI\",function(e){\"use strict\";return{restrict:\"A\",scope:!0,compile:function(t,n,r){return{pre:function(t,n,r,o){e.createContext(t)}}}}}]),angular.module(\"duScroll.scrollContainer\",[\"duScroll.scrollContainerAPI\"]).directive(\"duScrollContainer\",[\"scrollContainerAPI\",function(e){\"use strict\";return{restrict:\"A\",scope:!0,compile:function(t,n,r){return{pre:function(t,n,r,o){r.$observe(\"duScrollContainer\",function(r){angular.isString(r)&amp;&amp;(r=document.getElementById(r)),r=angular.isElement(r)?angular.element(r):n,e.setContainer(t,r),t.$on(\"$destroy\",function(){e.removeContainer(t)})})}}}}}]),angular.module(\"duScroll.scrollspy\",[\"duScroll.spyAPI\"]).directive(\"duScrollspy\",[\"spyAPI\",\"duScrollOffset\",\"$timeout\",\"$rootScope\",function(e,t,n,r){\"use strict\";var o=function(e,t,n,r){angular.isElement(e)?this.target=e:angular.isString(e)&amp;&amp;(this.targetId=e),this.$scope=t,this.$element=n,this.offset=r};return o.prototype.getTargetElement=function(){return!this.target&amp;&amp;this.targetId&amp;&amp;(this.target=document.getElementById(this.targetId)||document.getElementsByName(this.targetId)[0]),this.target},o.prototype.getTargetPosition=function(){var e=this.getTargetElement();return e?e.getBoundingClientRect():void 0},o.prototype.flushTargetCache=function(){this.targetId&amp;&amp;(this.target=void 0)},{link:function(l,u,c){var i,a=c.ngHref||c.href;if(a&amp;&amp;-1!==a.indexOf(\"#\")?i=a.replace(/.*(?=#[^\\s]+$)/,\"\").substring(1):c.duScrollspy?i=c.duScrollspy:c.duSmoothScroll&amp;&amp;(i=c.duSmoothScroll),i){var s=n(function(){var n=new o(i,l,u,-(c.offset?parseInt(c.offset,10):t));e.addSpy(n),l.$on(\"$locationChangeSuccess\",n.flushTargetCache.bind(n));var a=r.$on(\"$stateChangeSuccess\",n.flushTargetCache.bind(n));l.$on(\"$destroy\",function(){e.removeSpy(n),a()})},0,!1);l.$on(\"$destroy\",function(){n.cancel(s)})}}}}]);\n//# sourceMappingURL=angular-scroll.min.js.map]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-17 01:26:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b9df3621dbe1f200b793f2b6ae9619de&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;angular-scroll&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b9df3621dbe1f200b793f2b6ae9619de&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-17 01:26:18&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Card Scroll\">fed91369dbe1f200b793f2b6ae961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-17 03:19:35</sys_created_on>\n<sys_id>76d91369dbe1f200b793f2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-17 03:19:35</sys_updated_on>\n<table/>\n<target_name>angular-scroll</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_89dc4b25dbe1f200b793f2b6ae961993</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular-scroll</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-17 02:22:58</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>89dc4b25dbe1f200b793f2b6ae961993</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-scroll</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"angular-scroll\">b9df3621dbe1f200b793f2b6ae9619de</sys_ui_script><sys_update_name>sp_js_include_89dc4b25dbe1f200b793f2b6ae961993</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-17 02:22:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Card Scroll\">fed91369dbe1f200b793f2b6ae961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-17 03:19:35</sys_created_on>\n<sys_id>b2d91369dbe1f200b793f2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-17 03:19:35</sys_updated_on>\n<table/>\n<target_name>angular-scroll</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_2d8683a1dbe1f200b793f2b6ae96198b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-card-scroll-svgs&lt;/id&gt;&lt;sp_widget display_value=\"PE Card Scroll\"&gt;72df0adddb6db20062e479daae961927&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-17 01:56:42&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2d8683a1dbe1f200b793f2b6ae96198b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-card-scroll-svgs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_2d8683a1dbe1f200b793f2b6ae96198b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-17 01:56:42&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"carrot-up\"&gt;\n    &lt;svg width=\"14px\" height=\"7px\" viewBox=\"0 0 14 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;Shape&lt;/title&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0---CISO-Dashboard:-collapsed\" transform=\"translate(-184.000000, -545.000000)\" stroke-width=\"0.800000012\" stroke=\"#FFFFFF\"&gt;\n          &lt;g id=\"Group-4-Copy\" transform=\"translate(190.500000, 548.500000) rotate(-360.000000) translate(-190.500000, -548.500000) translate(178.000000, 536.000000)\"&gt;\n            &lt;polyline id=\"Shape\" transform=\"translate(12.946429, 12.160714) rotate(-90.000000) translate(-12.946429, -12.160714) \" points=\"9.82142857 17.9642857 16.0714286 12.1642857 9.82142857 6.35714286\"&gt;&lt;/polyline&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"carrot-down\"&gt;\n    &lt;svg width=\"14px\" height=\"7px\" viewBox=\"0 0 14 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;carrot&lt;/title&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"carrot\" transform=\"translate(7.000000, 3.500000) rotate(-180.000000) translate(-7.000000, -3.500000) translate(1.000000, 0.000000)\"\n          stroke-width=\"0.800000012\" stroke=\"#FFFFFF\"&gt;\n          &lt;g id=\"Security---SKO-2017\"&gt;\n            &lt;g id=\"1.0---CISO-Dashboard:-collapsed\"&gt;\n              &lt;g id=\"Group-4-Copy\" transform=\"translate(6.000000, 3.500000) rotate(0.000000) translate(-6.000000, -3.500000) \"&gt;\n                &lt;polyline id=\"Shape\" transform=\"translate(5.946429, 3.160714) rotate(-90.000000) translate(-5.946429, -3.160714) \" points=\"2.82142926 8.96428584 9.07142929 3.16428584 2.82142926 -2.642857\"&gt;&lt;/polyline&gt;\n              &lt;/g&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"up-arrow\"&gt;\n    &lt;svg width=\"24px\" height=\"14px\" viewBox=\"0 0 24 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;84E545F8-AA58-420A-8E3A-35F9F2665BA1&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0---CISO-Dashboard:-expanded\" transform=\"translate(-166.000000, -1062.000000)\" fill=\"#6EE520\"&gt;\n          &lt;path d=\"M187.678007,1064.90414 L181.072658,1071.07298 L174.948074,1066.62701 L167.104545,1075.16352 L166,1074.14864 L174.747743,1064.62803 L180.952845,1069.13245 L186.594765,1063.86338 L180.40932,1064.58159 L180.236312,1063.0916 L189.637467,1062 L188.213463,1071.35269 L186.730553,1071.12691 L187.678007,1064.90414 Z\"\n            id=\"Combined-Shape-Copy-2\"&gt;&lt;/path&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"down-arrow\"&gt;\n    &lt;svg width=\"24px\" height=\"14px\" viewBox=\"0 0 24 14\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;C3D144CE-ACAC-47DE-A699-3265DA536D09&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0---CISO-Dashboard:-collapsed\" transform=\"translate(-159.000000, -445.000000)\" fill=\"#6EE520\"&gt;\n          &lt;g id=\"Group-7\" transform=\"translate(20.000000, 342.000000)\"&gt;\n            &lt;g id=\"Group-6-Copy-2\" transform=\"translate(139.000000, 92.000000)\"&gt;\n              &lt;g id=\"Group-5\"&gt;\n                &lt;path d=\"M21.6780067,13.9041436 L15.0726579,20.072985 L8.94807423,15.6270106 L1.10454508,24.163524 L0,23.1486447 L8.74774252,13.6280296 L14.9528454,18.1324548 L20.5947652,12.8633753 L14.4093196,13.5815863 L14.2363124,12.0915969 L23.637467,11 L22.2134634,20.3526881 L20.7305533,20.126906 L21.6780067,13.9041436 Z\"\n                  id=\"Combined-Shape\" transform=\"translate(11.818733, 17.581762) scale(1, -1) translate(-11.818733, -17.581762) \"&gt;&lt;/path&gt;\n              &lt;/g&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Card Scroll\">fed91369dbe1f200b793f2b6ae961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-17 03:19:35</sys_created_on>\n<sys_id>f2d91369dbe1f200b793f2b6ae961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-17 03:19:35</sys_updated_on>\n<table/>\n<target_name>pe-card-scroll-svgs</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-card-scroll/widget/pe-card-scroll.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-card-scroll-svgs'\"></div>\n<div class=\"row\" id=\"security-trends\" class=\"ninja\">\n  <div class=\"col-xs-12\">\n    <h2 class=\"pull-left\" ng-click=\"c.toggleTrends()\">Security Trends\n      <i class=\"circle-toggle\">\n        <div ng-hide=\"c.isVisible === true\">\n          <svg class=\"carrot-toggle\">\n            <use xlink:href=\"#carrot-down\"></use>\n          </svg>\n        </div>\n        <div ng-hide=\"c.isVisible === false\">\n          <svg class=\"carrot-toggle\">\n            <use xlink:href=\"#carrot-up\"></use>\n          </svg>\n        </div>\n      </i>\n    </h2>\n  </div>\n  <div class=\"col-xs-12\" ui-sref=\"trends\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading\">incident remediation</div>\n      <div class=\"panel-body\">\n        <div class=\"row text-center\">\n          <div class=\"col-xs-4\">\n            <h4>16h 4m</h4>\n            <p class=\"sub-text\">Avg Remediation Time</p>\n          </div>\n          <div class=\"col-xs-4\">\n            <i class=\"icon\">\n              <svg class=\"down-arrow\">\n                <use xlink:href=\"#down-arrow\"></use>\n              </svg>\n            </i>\n            <h4>20%</h4>\n            <p class=\"sub-text\">Down Over<br>Last Week</p>\n          </div>\n          <div class=\"col-xs-4\">\n            <div class=\"status-circle-normal\">\n              <h4>20 hrs</h4>\n            </div>\n            <p class=\"sub-text\">SLA</p>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div ng-show=\"c.isToggled == true\">\n      <div class=\"panel panel-default\">\n        <div class=\"panel-heading\">incident backlog</div>\n        <div class=\"panel-body\">\n          <div class=\"row text-center\">\n            <div class=\"col-xs-4\">\n              <h4>14</h4>\n              <p class=\"sub-text\">Incidents in<br>Backlog</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <i class=\"icon\">\n                <svg class=\"down-arrow\">\n                  <use xlink:href=\"#down-arrow\"></use>\n                </svg>\n              </i>\n              <h4>20%</h4>\n              <p class=\"sub-text\">Down Over<br>Last Week</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <div class=\"status-circle-normal-small\">\n                <h4 class=\"status-header-small\">medium</h4>\n              </div>\n              <p class=\"sub-text\">Business<br>Exposure</p>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class=\"panel panel-default\">\n        <div class=\"panel-heading\">vulnerability backlog</div>\n        <div class=\"panel-body\">\n          <div class=\"row text-center\">\n            <div class=\"col-xs-4\">\n              <h4>968</h4>\n              <p class=\"sub-text\">Vulnerabilities<br>in Backlog</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <i class=\"icon\">\n                <svg class=\"down-arrow\">\n                  <use xlink:href=\"#down-arrow\"></use>\n                </svg>\n              </i>\n              <h4>4%</h4>\n              <p class=\"sub-text\">Down Over<br>Last Week</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <div class=\"status-circle-normal-small\">\n                <h4 class=\"status-header-small\">low</h4>\n              </div>\n              <p class=\"sub-text\">Vulnerability Exposure</p>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class=\"panel panel-default\">\n        <div class=\"panel-heading\">task orchestration</div>\n        <div class=\"panel-body\">\n          <div class=\"row text-center\">\n            <div class=\"col-xs-4\">\n              <h4>69.55%</h4>\n              <p class=\"sub-text\">Security Task Automation</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <i class=\"icon\">\n                <svg class=\"up-arrow\">\n                  <use xlink:href=\"#up-arrow\"></use>\n                </svg>\n              </i>\n              <h4>8%</h4>\n              <p class=\"sub-text\">Up Over<br>Last Week</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <h4>95 hrs</h4>\n              <p class=\"sub-text\">Time Saved<br>Last Week</p>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-card-scroll/widget/pe-card-scroll.u-client-script.js",
    "content": "function CardScrollController($document, $timeout) {\n  var c = this;\n  var scrollSpeed = 700;\n  var scrollOffset = 30;\n  c.toggleTrends = toggleTrends;\n\n  c.$onInit = function() {\n    c.isToggled = false;\n    c.isVisible = false;\n  };\n\n  function scrollDown() {\n    var securityTrends = angular.element(document.getElementById('security-trends'));\n    $document.scrollTo(securityTrends, scrollOffset, scrollSpeed);\n    c.isToggled = true;\n  }\n\n  function scrollUp() {\n    var subHeader = angular.element(document.getElementById('sub-header'));\n    $document.scrollTo(subHeader, scrollOffset, scrollSpeed);\n    $timeout(function() {\n      c.isToggled = false;\n    }, scrollSpeed);\n  }\n\n  function toggleTrends() {\n    c.isVisible = !c.isVisible;\n    c.isToggled === true ? scrollUp() : scrollDown();\n  }\n}"
  },
  {
    "path": "src/pe-card-scroll/widget/pe-card-scroll.u-css.scss",
    "content": "$pe-theme-color: #1c2432 !default;\r\n$pe-header-color: #fff !default;\r\n$pe-anchor-color: #68acd8 !default;\r\n$pe-status-color-normal: #6ee520 !default;\r\n\r\n#security-trends {\r\n  h2 {\r\n    color: $pe-theme-color;\r\n    font-size: 22px;\r\n    font-weight: bold;\r\n    height: 28px;\r\n    margin: 0 0 10px 0;\r\n  }\r\n  a {\r\n    color: $pe-anchor-color;\r\n    cursor: pointer;\r\n    font-size: 11px;\r\n    margin: 0 0 10px 0;\r\n    padding-top: 6px;\r\n    text-align: right;\r\n    text-transform: uppercase;\r\n  }\r\n  .status-circle {\r\n    border-radius: 50%;\r\n    content: '';\r\n    height: 10px;\r\n    margin-left: 5px;\r\n    position: absolute;\r\n    top: 9%;\r\n    width: 10px;\r\n  }\r\n  .status-circle-normal {\r\n    h4 {\r\n      &:after {\r\n        @extend .status-circle;\r\n        background-color: $pe-status-color-normal;\r\n      }\r\n    }\r\n  }\r\n  .status-circle-normal-small {\r\n    h4 {\r\n      &:after {\r\n        @extend .status-circle;\r\n        background-color: $pe-status-color-normal;\r\n        top: 14%;\r\n      }\r\n    }\r\n  }\r\n  .circle-toggle {\r\n    border-radius: 100px;\r\n    background-color: #202a3c;\r\n    border: solid 1px #3e6a87;\r\n    cursor: pointer;\r\n    height: 25px;\r\n    margin-left: 10px;\r\n    padding-left: 4.5px;\r\n    float: right;\r\n    width: 25px;\r\n    .arrow {\r\n      margin-top: -4px;\r\n    }\r\n  }\r\n  .panel {\r\n    border: 0;\r\n    color: $pe-header-color;\r\n    background-color: transparent;\r\n    .panel-heading {\r\n      background-color: #283347;\r\n      border-bottom: 0;\r\n      color: $pe-header-color;\r\n      padding: 14px;\r\n      text-transform: uppercase;\r\n    }\r\n    .panel-body {\r\n      background-color: $pe-theme-color;\r\n      color: $pe-header-color;\r\n      h4 {\r\n        font-size: 24px;\r\n        margin-top: -5px;\r\n      }\r\n      i {\r\n        float: left;\r\n        margin-top: 2px;\r\n      }\r\n      .sub-text {\r\n        color: $pe-anchor-color;\r\n        font-size: 10px;\r\n        margin: -5px 0 -5px 0;\r\n        text-transform: uppercase;\r\n      }\r\n      .status-header-small {\r\n        font-size: 18px !important;\r\n        padding-top: 6px !important;\r\n      }\r\n    }\r\n  }\r\n  .carrot-toggle {\r\n    height: 7px;\r\n    margin-bottom: 4px;\r\n    width: 14px;\r\n  }\r\n  .down-arrow,\r\n  .up-arrow {\r\n    height: 14px;\r\n    margin-right: -8px;\r\n    width: 24px;\r\n  }\r\n}"
  },
  {
    "path": "src/pe-case-and-asset-map/README.md",
    "content": "# Case And Asset Map\n\n## Description\n\nThis widget displays your cases and apps on a Google Maps like interface. You can click on each to view more detailed information about the location, as well as see the list of cases and assets, and click on them for more information. You can also click on an option to be redirected to Google Maps and have coordinate information automatically put in.\n\n## Screenshot\n\n![Case And Asset Map](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-case-and-asset-map/images/pe-case-and-asset-map.png)\n\n## Additional Information/Notes\n\nBest used if tested through Julie Lewis. Cases and Assets are tied to the user's account.\n\n## Installation\n\nDownload and install update set **[pe-case-and-asset-map.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-case-and-asset-map/pe-case-and-asset-map.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/newyork-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> None\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-case-and-asset-map/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Data Presentation\",\n  \"common-name\": \"Case And Asset Map\",\n  \"compatibility\": [\"Madrid\"],\n  \"contributors\": [\"Brian Nguyen\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-case-and-asset-map\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This widget displays your cases and apps on a Google Maps like interface. You can click on each to view more detailed information about the location, as well as see the list of cases and assets, and click on them for more information. You can also click on an option to be redirected to Google Maps and have coordinate information automatically put in\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-case-and-asset-map/pe-case-and-asset-map.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-08-09 18:55:07\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<application_name>SP Asset Map</application_name>\n<application_scope>x_snc_sp_asset_map</application_scope>\n<application_version>1.0.0</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-case-and-asset-map</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>a307f8abdb8b3b409eb1d311ce961946</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>f517f8abdb8b3b409eb1d311ce9619af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_62a515fbdb15f7409eb1d311ce96190c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>awesome marker asset</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:57:49</sys_created_on><sys_id>62a515fbdb15f7409eb1d311ce96190c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>awesome marker asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_ui_script display_value=\"x_snc_sp_asset_map.Awesome Marker Asset \">70b555fbdb15f7409eb1d311ce96194f</sys_ui_script><sys_update_name>sp_js_include_62a515fbdb15f7409eb1d311ce96190c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:57:49</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1922257054</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>02177cabdb8b3b409eb1d311ce961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc36d01d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>awesome marker asset</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>e6c515fb2715f740cd65e6d827263ab8</update_guid>\n<update_guid_history>e6c515fb2715f740cd65e6d827263ab8:1922257054</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_ed9591fbdb15f7409eb1d311ce961924</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>awesome marker asset</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:57:11</sys_created_on><sys_id>ed9591fbdb15f7409eb1d311ce961924</sys_id><sys_mod_count>4</sys_mod_count><sys_name>awesome marker asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_dependency_ed9591fbdb15f7409eb1d311ce961924</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 21:16:21</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-584825695</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>06177cabdb8b3b409eb1d311ce961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abd5a6cb80000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>awesome marker asset</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>58be1e3f8559f7409e9fe35a3bc4b57c</update_guid>\n<update_guid_history>58be1e3f8559f7409e9fe35a3bc4b57c:-584825695,539ed63f0159f7407b01068cf0675ccc:-1276628483,0c689a776459f74071107521a8ab5f5e:-584825695,03285677d459f740118dd56fcef9512e:1408412166,4da591fb8f15f740e6f8321b2aaf1429:-584825695</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_2cc411bbdb15f7409eb1d311ce961991</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_sp_asset_map.leafletjs asset app&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Leaflet 1.0.3+ed36a04, a JS library for interactive maps. http://leafletjs.com\n (c) 2010-2016 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n*/\n!function(t,e,i){function n(){var e=t.L;o.noConflict=function(){return t.L=e,this},t.L=o}var o={version:\"1.0.3+ed36a04\"};\"object\"==typeof module&amp;&amp;\"object\"==typeof module.exports?module.exports=o:\"function\"==typeof define&amp;&amp;define.amd&amp;&amp;define(o),\"undefined\"!=typeof t&amp;&amp;n(),o.Util={extend:function(t){var e,i,n,o;for(i=1,n=arguments.length;i&lt;n;i++){o=arguments[i];for(e in o)t[e]=o[e]}return t},create:Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}(),bind:function(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var n=i.call(arguments,2);return function(){return t.apply(e,n.length?n.concat(i.call(arguments)):arguments)}},stamp:function(t){return t._leaflet_id=t._leaflet_id||++o.Util.lastId,t._leaflet_id},lastId:0,throttle:function(t,e,i){var n,o,s,r;return r=function(){n=!1,o&amp;&amp;(s.apply(i,o),o=!1)},s=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(r,e),n=!0)}},wrapNum:function(t,e,i){var n=e[1],o=e[0],s=n-o;return t===n&amp;&amp;i?t:((t-o)%s+s)%s+o},falseFn:function(){return!1},formatNum:function(t,e){var i=Math.pow(10,e||5);return Math.round(t*i)/i},trim:function(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")},splitWords:function(t){return o.Util.trim(t).split(/\\s+/)},setOptions:function(t,e){t.hasOwnProperty(\"options\")||(t.options=t.options?o.Util.create(t.options):{});for(var i in e)t.options[i]=e[i];return t.options},getParamString:function(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+\"=\"+encodeURIComponent(t[o]));return(e&amp;&amp;e.indexOf(\"?\")!==-1?\"&amp;\":\"?\")+n.join(\"&amp;\")},template:function(t,e){return t.replace(o.Util.templateRe,function(t,n){var o=e[n];if(o===i)throw new Error(\"No value provided for variable \"+t);return\"function\"==typeof o&amp;&amp;(o=o(e)),o})},templateRe:/\\{ *([\\w_\\-]+) *\\}/g,isArray:Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},indexOf:function(t,e){for(var i=0;i&lt;t.length;i++)if(t[i]===e)return i;return-1},emptyImageUrl:\"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=\"},function(){function e(e){return t[\"webkit\"+e]||t[\"moz\"+e]||t[\"ms\"+e]}function i(e){var i=+new Date,o=Math.max(0,16-(i-n));return n=i+o,t.setTimeout(e,o)}var n=0,s=t.requestAnimationFrame||e(\"RequestAnimationFrame\")||i,r=t.cancelAnimationFrame||e(\"CancelAnimationFrame\")||e(\"CancelRequestAnimationFrame\")||function(e){t.clearTimeout(e)};o.Util.requestAnimFrame=function(e,n,r){return r&amp;&amp;s===i?void e.call(n):s.call(t,o.bind(e,n))},o.Util.cancelAnimFrame=function(e){e&amp;&amp;r.call(t,e)}}(),o.extend=o.Util.extend,o.bind=o.Util.bind,o.stamp=o.Util.stamp,o.setOptions=o.Util.setOptions,o.Class=function(){},o.Class.extend=function(t){var e=function(){this.initialize&amp;&amp;this.initialize.apply(this,arguments),this.callInitHooks()},i=e.__super__=this.prototype,n=o.Util.create(i);n.constructor=e,e.prototype=n;for(var s in this)this.hasOwnProperty(s)&amp;&amp;\"prototype\"!==s&amp;&amp;(e[s]=this[s]);return t.statics&amp;&amp;(o.extend(e,t.statics),delete t.statics),t.includes&amp;&amp;(o.Util.extend.apply(null,[n].concat(t.includes)),delete t.includes),n.options&amp;&amp;(t.options=o.Util.extend(o.Util.create(n.options),t.options)),o.extend(n,t),n._initHooks=[],n.callInitHooks=function(){if(!this._initHooksCalled){i.callInitHooks&amp;&amp;i.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=n._initHooks.length;t&lt;e;t++)n._initHooks[t].call(this)}},e},o.Class.include=function(t){return o.extend(this.prototype,t),this},o.Class.mergeOptions=function(t){return o.extend(this.prototype.options,t),this},o.Class.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i=\"function\"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this},o.Evented=o.Class.extend({on:function(t,e,i){if(\"object\"==typeof t)for(var n in t)this._on(n,t[n],e);else{t=o.Util.splitWords(t);for(var s=0,r=t.length;s&lt;r;s++)this._on(t[s],e,i)}return this},off:function(t,e,i){if(t)if(\"object\"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=o.Util.splitWords(t);for(var s=0,r=t.length;s&lt;r;s++)this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var o=this._events[t];o||(o=[],this._events[t]=o),n===this&amp;&amp;(n=i);for(var s={fn:e,ctx:n},r=o,a=0,h=r.length;a&lt;h;a++)if(r[a].fn===e&amp;&amp;r[a].ctx===n)return;r.push(s)},_off:function(t,e,n){var s,r,a;if(this._events&amp;&amp;(s=this._events[t])){if(!e){for(r=0,a=s.length;r&lt;a;r++)s[r].fn=o.Util.falseFn;return void delete this._events[t]}if(n===this&amp;&amp;(n=i),s)for(r=0,a=s.length;r&lt;a;r++){var h=s[r];if(h.ctx===n&amp;&amp;h.fn===e)return h.fn=o.Util.falseFn,this._firingCount&amp;&amp;(this._events[t]=s=s.slice()),void s.splice(r,1)}}},fire:function(t,e,i){if(!this.listens(t,i))return this;var n=o.Util.extend({},e,{type:t,target:this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r&lt;a;r++){var h=s[r];h.fn.call(h.ctx||this,n)}this._firingCount--}}return i&amp;&amp;this._propagateEvent(n),this},listens:function(t,e){var i=this._events&amp;&amp;this._events[t];if(i&amp;&amp;i.length)return!0;if(e)for(var n in this._eventParents)if(this._eventParents[n].listens(t,e))return!0;return!1},once:function(t,e,i){if(\"object\"==typeof t){for(var n in t)this.once(n,t[n],e);return this}var s=o.bind(function(){this.off(t,e,i).off(t,s,i)},this);return this.on(t,e,i).on(t,s,i)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[o.stamp(t)]=t,this},removeEventParent:function(t){return this._eventParents&amp;&amp;delete this._eventParents[o.stamp(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,o.extend({layer:t.target},t),!0)}});var s=o.Evented.prototype;s.addEventListener=s.on,s.removeEventListener=s.clearAllEventListeners=s.off,s.addOneTimeEventListener=s.once,s.fireEvent=s.fire,s.hasEventListeners=s.listens,o.Mixin={Events:s},function(){var i=navigator.userAgent.toLowerCase(),n=e.documentElement,s=\"ActiveXObject\"in t,r=i.indexOf(\"webkit\")!==-1,a=i.indexOf(\"phantom\")!==-1,h=i.search(\"android [23]\")!==-1,l=i.indexOf(\"chrome\")!==-1,u=i.indexOf(\"gecko\")!==-1&amp;&amp;!r&amp;&amp;!t.opera&amp;&amp;!s,c=0===navigator.platform.indexOf(\"Win\"),d=\"undefined\"!=typeof orientation||i.indexOf(\"mobile\")!==-1,_=!t.PointerEvent&amp;&amp;t.MSPointerEvent,m=t.PointerEvent||_,p=s&amp;&amp;\"transition\"in n.style,f=\"WebKitCSSMatrix\"in t&amp;&amp;\"m11\"in new t.WebKitCSSMatrix&amp;&amp;!h,g=\"MozPerspective\"in n.style,v=\"OTransition\"in n.style,y=!t.L_NO_TOUCH&amp;&amp;(m||\"ontouchstart\"in t||t.DocumentTouch&amp;&amp;e instanceof t.DocumentTouch);o.Browser={ie:s,ielt9:s&amp;&amp;!e.addEventListener,edge:\"msLaunchUri\"in navigator&amp;&amp;!(\"documentMode\"in e),webkit:r,gecko:u,android:i.indexOf(\"android\")!==-1,android23:h,chrome:l,safari:!l&amp;&amp;i.indexOf(\"safari\")!==-1,win:c,ie3d:p,webkit3d:f,gecko3d:g,opera12:v,any3d:!t.L_DISABLE_3D&amp;&amp;(p||f||g)&amp;&amp;!v&amp;&amp;!a,mobile:d,mobileWebkit:d&amp;&amp;r,mobileWebkit3d:d&amp;&amp;f,mobileOpera:d&amp;&amp;t.opera,mobileGecko:d&amp;&amp;u,touch:!!y,msPointer:!!_,pointer:!!m,retina:(t.devicePixelRatio||t.screen.deviceXDPI/t.screen.logicalXDPI)&gt;1}}(),o.Point=function(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e},o.Point.prototype={clone:function(){return new o.Point(this.x,this.y)},add:function(t){return this.clone()._add(o.point(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(o.point(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new o.Point(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new o.Point(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},distanceTo:function(t){t=o.point(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=o.point(t),t.x===this.x&amp;&amp;t.y===this.y},contains:function(t){return t=o.point(t),Math.abs(t.x)&lt;=Math.abs(this.x)&amp;&amp;Math.abs(t.y)&lt;=Math.abs(this.y)},toString:function(){return\"Point(\"+o.Util.formatNum(this.x)+\", \"+o.Util.formatNum(this.y)+\")\"}},o.point=function(t,e,n){return t instanceof o.Point?t:o.Util.isArray(t)?new o.Point(t[0],t[1]):t===i||null===t?t:\"object\"==typeof t&amp;&amp;\"x\"in t&amp;&amp;\"y\"in t?new o.Point(t.x,t.y):new o.Point(t,e,n)},o.Bounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n&lt;o;n++)this.extend(i[n])},o.Bounds.prototype={extend:function(t){return t=o.point(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new o.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new o.Point(this.min.x,this.max.y)},getTopRight:function(){return new o.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return t=\"number\"==typeof t[0]||t instanceof o.Point?o.point(t):o.bounds(t),t instanceof o.Bounds?(e=t.min,i=t.max):e=i=t,e.x&gt;=this.min.x&amp;&amp;i.x&lt;=this.max.x&amp;&amp;e.y&gt;=this.min.y&amp;&amp;i.y&lt;=this.max.y},intersects:function(t){t=o.bounds(t);var e=this.min,i=this.max,n=t.min,s=t.max,r=s.x&gt;=e.x&amp;&amp;n.x&lt;=i.x,a=s.y&gt;=e.y&amp;&amp;n.y&lt;=i.y;return r&amp;&amp;a},overlaps:function(t){t=o.bounds(t);var e=this.min,i=this.max,n=t.min,s=t.max,r=s.x&gt;e.x&amp;&amp;n.x&lt;i.x,a=s.y&gt;e.y&amp;&amp;n.y&lt;i.y;return r&amp;&amp;a},isValid:function(){return!(!this.min||!this.max)}},o.bounds=function(t,e){return!t||t instanceof o.Bounds?t:new o.Bounds(t,e)},o.Transformation=function(t,e,i,n){this._a=t,this._b=e,this._c=i,this._d=n},o.Transformation.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new o.Point((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}},o.DomUtil={get:function(t){return\"string\"==typeof t?e.getElementById(t):t},getStyle:function(t,i){var n=t.style[i]||t.currentStyle&amp;&amp;t.currentStyle[i];if((!n||\"auto\"===n)&amp;&amp;e.defaultView){var o=e.defaultView.getComputedStyle(t,null);n=o?o[i]:null}return\"auto\"===n?null:n},create:function(t,i,n){var o=e.createElement(t);return o.className=i||\"\",n&amp;&amp;n.appendChild(o),o},remove:function(t){var e=t.parentNode;e&amp;&amp;e.removeChild(t)},empty:function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},toFront:function(t){t.parentNode.appendChild(t)},toBack:function(t){var e=t.parentNode;e.insertBefore(t,e.firstChild)},hasClass:function(t,e){if(t.classList!==i)return t.classList.contains(e);var n=o.DomUtil.getClass(t);return n.length&gt;0&amp;&amp;new RegExp(\"(^|\\\\s)\"+e+\"(\\\\s|$)\").test(n)},addClass:function(t,e){if(t.classList!==i)for(var n=o.Util.splitWords(e),s=0,r=n.length;s&lt;r;s++)t.classList.add(n[s]);else if(!o.DomUtil.hasClass(t,e)){var a=o.DomUtil.getClass(t);o.DomUtil.setClass(t,(a?a+\" \":\"\")+e)}},removeClass:function(t,e){t.classList!==i?t.classList.remove(e):o.DomUtil.setClass(t,o.Util.trim((\" \"+o.DomUtil.getClass(t)+\" \").replace(\" \"+e+\" \",\" \")))},setClass:function(t,e){t.className.baseVal===i?t.className=e:t.className.baseVal=e},getClass:function(t){return t.className.baseVal===i?t.className:t.className.baseVal},setOpacity:function(t,e){\"opacity\"in t.style?t.style.opacity=e:\"filter\"in t.style&amp;&amp;o.DomUtil._setOpacityIE(t,e)},_setOpacityIE:function(t,e){var i=!1,n=\"DXImageTransform.Microsoft.Alpha\";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=\" progid:\"+n+\"(opacity=\"+e+\")\"},testProp:function(t){for(var i=e.documentElement.style,n=0;n&lt;t.length;n++)if(t[n]in i)return t[n];return!1},setTransform:function(t,e,i){var n=e||new o.Point(0,0);t.style[o.DomUtil.TRANSFORM]=(o.Browser.ie3d?\"translate(\"+n.x+\"px,\"+n.y+\"px)\":\"translate3d(\"+n.x+\"px,\"+n.y+\"px,0)\")+(i?\" scale(\"+i+\")\":\"\")},setPosition:function(t,e){t._leaflet_pos=e,o.Browser.any3d?o.DomUtil.setTransform(t,e):(t.style.left=e.x+\"px\",t.style.top=e.y+\"px\")},getPosition:function(t){return t._leaflet_pos||new o.Point(0,0)}},function(){o.DomUtil.TRANSFORM=o.DomUtil.testProp([\"transform\",\"WebkitTransform\",\"OTransform\",\"MozTransform\",\"msTransform\"]);var i=o.DomUtil.TRANSITION=o.DomUtil.testProp([\"webkitTransition\",\"transition\",\"OTransition\",\"MozTransition\",\"msTransition\"]);if(o.DomUtil.TRANSITION_END=\"webkitTransition\"===i||\"OTransition\"===i?i+\"End\":\"transitionend\",\"onselectstart\"in e)o.DomUtil.disableTextSelection=function(){o.DomEvent.on(t,\"selectstart\",o.DomEvent.preventDefault)},o.DomUtil.enableTextSelection=function(){o.DomEvent.off(t,\"selectstart\",o.DomEvent.preventDefault)};else{var n=o.DomUtil.testProp([\"userSelect\",\"WebkitUserSelect\",\"OUserSelect\",\"MozUserSelect\",\"msUserSelect\"]);o.DomUtil.disableTextSelection=function(){if(n){var t=e.documentElement.style;this._userSelect=t[n],t[n]=\"none\"}},o.DomUtil.enableTextSelection=function(){n&amp;&amp;(e.documentElement.style[n]=this._userSelect,delete this._userSelect)}}o.DomUtil.disableImageDrag=function(){o.DomEvent.on(t,\"dragstart\",o.DomEvent.preventDefault)},o.DomUtil.enableImageDrag=function(){o.DomEvent.off(t,\"dragstart\",o.DomEvent.preventDefault)},o.DomUtil.preventOutline=function(e){for(;e.tabIndex===-1;)e=e.parentNode;e&amp;&amp;e.style&amp;&amp;(o.DomUtil.restoreOutline(),this._outlineElement=e,this._outlineStyle=e.style.outline,e.style.outline=\"none\",o.DomEvent.on(t,\"keydown\",o.DomUtil.restoreOutline,this))},o.DomUtil.restoreOutline=function(){this._outlineElement&amp;&amp;(this._outlineElement.style.outline=this._outlineStyle,delete this._outlineElement,delete this._outlineStyle,o.DomEvent.off(t,\"keydown\",o.DomUtil.restoreOutline,this))}}(),o.LatLng=function(t,e,n){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LatLng object: (\"+t+\", \"+e+\")\");this.lat=+t,this.lng=+e,n!==i&amp;&amp;(this.alt=+n)},o.LatLng.prototype={equals:function(t,e){if(!t)return!1;t=o.latLng(t);var n=Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng));return n&lt;=(e===i?1e-9:e)},toString:function(t){return\"LatLng(\"+o.Util.formatNum(this.lat,t)+\", \"+o.Util.formatNum(this.lng,t)+\")\"},distanceTo:function(t){return o.CRS.Earth.distance(this,o.latLng(t))},wrap:function(){return o.CRS.Earth.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return o.latLngBounds([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new o.LatLng(this.lat,this.lng,this.alt)}},o.latLng=function(t,e,n){return t instanceof o.LatLng?t:o.Util.isArray(t)&amp;&amp;\"object\"!=typeof t[0]?3===t.length?new o.LatLng(t[0],t[1],t[2]):2===t.length?new o.LatLng(t[0],t[1]):null:t===i||null===t?t:\"object\"==typeof t&amp;&amp;\"lat\"in t?new o.LatLng(t.lat,\"lng\"in t?t.lng:t.lon,t.alt):e===i?null:new o.LatLng(t,e,n)},o.LatLngBounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n&lt;o;n++)this.extend(i[n])},o.LatLngBounds.prototype={extend:function(t){var e,i,n=this._southWest,s=this._northEast;if(t instanceof o.LatLng)e=t,i=t;else{if(!(t instanceof o.LatLngBounds))return t?this.extend(o.latLng(t)||o.latLngBounds(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||s?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),s.lat=Math.max(i.lat,s.lat),s.lng=Math.max(i.lng,s.lng)):(this._southWest=new o.LatLng(e.lat,e.lng),this._northEast=new o.LatLng(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,s=Math.abs(e.lng-i.lng)*t;return new o.LatLngBounds(new o.LatLng(e.lat-n,e.lng-s),new o.LatLng(i.lat+n,i.lng+s))},getCenter:function(){return new o.LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new o.LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new o.LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=\"number\"==typeof t[0]||t instanceof o.LatLng||\"lat\"in t?o.latLng(t):o.latLngBounds(t);var e,i,n=this._southWest,s=this._northEast;return t instanceof o.LatLngBounds?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat&gt;=n.lat&amp;&amp;i.lat&lt;=s.lat&amp;&amp;e.lng&gt;=n.lng&amp;&amp;i.lng&lt;=s.lng},intersects:function(t){t=o.latLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast(),r=s.lat&gt;=e.lat&amp;&amp;n.lat&lt;=i.lat,a=s.lng&gt;=e.lng&amp;&amp;n.lng&lt;=i.lng;return r&amp;&amp;a},overlaps:function(t){t=o.latLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast(),r=s.lat&gt;e.lat&amp;&amp;n.lat&lt;i.lat,a=s.lng&gt;e.lng&amp;&amp;n.lng&lt;i.lng;return r&amp;&amp;a},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(\",\")},equals:function(t){return!!t&amp;&amp;(t=o.latLngBounds(t),this._southWest.equals(t.getSouthWest())&amp;&amp;this._northEast.equals(t.getNorthEast()))},isValid:function(){return!(!this._southWest||!this._northEast)}},o.latLngBounds=function(t,e){return t instanceof o.LatLngBounds?t:new o.LatLngBounds(t,e)},o.Projection={},o.Projection.LonLat={project:function(t){return new o.Point(t.lng,t.lat)},unproject:function(t){return new o.LatLng(t.y,t.x)},bounds:o.bounds([-180,-90],[180,90])},o.Projection.SphericalMercator={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),s=Math.sin(n*e);return new o.Point(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new o.LatLng((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return o.bounds([-t,-t],[t,t])}()},o.CRS={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t),n=this.transformation.transform(e.min,i),s=this.transformation.transform(e.max,i);return o.bounds(n,s)},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?o.Util.wrapNum(t.lng,this.wrapLng,!0):t.lng,i=this.wrapLat?o.Util.wrapNum(t.lat,this.wrapLat,!0):t.lat,n=t.alt;return o.latLng(i,e,n)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,s=e.lng-i.lng;if(0===n&amp;&amp;0===s)return t;var r=t.getSouthWest(),a=t.getNorthEast(),h=o.latLng({lat:r.lat-n,lng:r.lng-s}),l=o.latLng({lat:a.lat-n,lng:a.lng-s});return new o.LatLngBounds(h,l)}},o.CRS.Simple=o.extend({},o.CRS,{projection:o.Projection.LonLat,transformation:new o.Transformation(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0}),o.CRS.Earth=o.extend({},o.CRS,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin(n)*Math.sin(o)+Math.cos(n)*Math.cos(o)*Math.cos((e.lng-t.lng)*i);return this.R*Math.acos(Math.min(s,1))}}),o.CRS.EPSG3857=o.extend({},o.CRS.Earth,{code:\"EPSG:3857\",projection:o.Projection.SphericalMercator,transformation:function(){var t=.5/(Math.PI*o.Projection.SphericalMercator.R);return new o.Transformation(t,.5,-t,.5)}()}),o.CRS.EPSG900913=o.extend({},o.CRS.EPSG3857,{code:\"EPSG:900913\"}),o.CRS.EPSG4326=o.extend({},o.CRS.Earth,{code:\"EPSG:4326\",projection:o.Projection.LonLat,transformation:new o.Transformation(1/180,1,-1/180,.5)}),o.Map=o.Evented.extend({options:{crs:o.CRS.EPSG3857,center:i,zoom:i,minZoom:i,maxZoom:i,layers:[],maxBounds:i,renderer:i,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=o.setOptions(this,e),this._initContainer(t),this._initLayout(),this._onResize=o.bind(this._onResize,this),this._initEvents(),e.maxBounds&amp;&amp;this.setMaxBounds(e.maxBounds),e.zoom!==i&amp;&amp;(this._zoom=this._limitZoom(e.zoom)),e.center&amp;&amp;e.zoom!==i&amp;&amp;this.setView(o.latLng(e.center),e.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this.callInitHooks(),this._zoomAnimated=o.DomUtil.TRANSITION&amp;&amp;o.Browser.any3d&amp;&amp;!o.Browser.mobileOpera&amp;&amp;this.options.zoomAnimation,this._zoomAnimated&amp;&amp;(this._createAnimProxy(),o.DomEvent.on(this._proxy,o.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,n){if(e=e===i?this._zoom:this._limitZoom(e),t=this._limitCenter(o.latLng(t),e,this.options.maxBounds),n=n||{},this._stop(),this._loaded&amp;&amp;!n.reset&amp;&amp;n!==!0){n.animate!==i&amp;&amp;(n.zoom=o.extend({animate:n.animate},n.zoom),n.pan=o.extend({animate:n.animate,duration:n.duration},n.pan));var s=this._zoom!==e?this._tryAnimatedZoom&amp;&amp;this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan);if(s)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(o.Browser.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(o.Browser.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),s=this.getSize().divideBy(2),r=t instanceof o.Point?t:this.latLngToContainerPoint(t),a=r.subtract(s).multiplyBy(1-1/n),h=this.containerPointToLatLng(s.add(a));return this.setView(h,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():o.latLngBounds(t);var i=o.point(e.paddingTopLeft||e.padding||[0,0]),n=o.point(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,i.add(n));s=\"number\"==typeof e.maxZoom?Math.min(e.maxZoom,s):s;var r=n.subtract(i).divideBy(2),a=this.project(t.getSouthWest(),s),h=this.project(t.getNorthEast(),s),l=this.unproject(a.add(h).divideBy(2).add(r),s);return{center:l,zoom:s}},fitBounds:function(t,e){if(t=o.latLngBounds(t),!t.isValid())throw new Error(\"Bounds are not valid.\");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=o.point(t).round(),e=e||{},!t.x&amp;&amp;!t.y)return this.fire(\"moveend\");if(e.animate!==!0&amp;&amp;!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new o.PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire(\"movestart\"),e.animate!==!1){o.DomUtil.addClass(this._mapPane,\"leaflet-pan-anim\");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire(\"move\").fire(\"moveend\");return this},flyTo:function(t,e,n){function s(t){var e=t?-1:1,i=t?v:g,n=v*v-g*g+e*L*L*y*y,o=2*i*L*y,s=n/o,r=Math.sqrt(s*s+1)-s,a=r&lt;1e-9?-18:Math.log(r);return a}function r(t){return(Math.exp(t)-Math.exp(-t))/2}function a(t){return(Math.exp(t)+Math.exp(-t))/2}function h(t){return r(t)/a(t)}function l(t){return g*(a(x)/a(x+P*t))}function u(t){return g*(a(x)*h(x+P*t)-r(x))/L}function c(t){return 1-Math.pow(1-t,1.5)}function d(){var i=(Date.now()-w)/T,n=c(i)*b;i&lt;=1?(this._flyToFrame=o.Util.requestAnimFrame(d,this),this._move(this.unproject(_.add(m.subtract(_).multiplyBy(u(n)/y)),f),this.getScaleZoom(g/l(n),f),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}if(n=n||{},n.animate===!1||!o.Browser.any3d)return this.setView(t,e,n);this._stop();var _=this.project(this.getCenter()),m=this.project(t),p=this.getSize(),f=this._zoom;t=o.latLng(t),e=e===i?f:e;var g=Math.max(p.x,p.y),v=g*this.getZoomScale(f,e),y=m.distanceTo(_)||1,P=1.42,L=P*P,x=s(0),w=Date.now(),b=(s(1)-x)/P,T=n.duration?1e3*n.duration:1e3*b*.8;return this._moveStart(!0),d.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=o.latLngBounds(t),t.isValid()?(this.options.maxBounds&amp;&amp;this.off(\"moveend\",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&amp;&amp;this._panInsideMaxBounds(),this.on(\"moveend\",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off(\"moveend\",this._panInsideMaxBounds))},setMinZoom:function(t){return this.options.minZoom=t,this._loaded&amp;&amp;this.getZoom()&lt;this.options.minZoom?this.setZoom(t):this},setMaxZoom:function(t){return this.options.maxZoom=t,this._loaded&amp;&amp;this.getZoom()&gt;this.options.maxZoom?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,o.latLngBounds(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=o.extend({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),s=i.divideBy(2).round(),r=n.subtract(s);return r.x||r.y?(t.animate&amp;&amp;t.pan?this.panBy(r):(t.pan&amp;&amp;this._rawPanBy(r),this.fire(\"move\"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o.bind(this.fire,this,\"moveend\"),200)):this.fire(\"moveend\")),this.fire(\"resize\",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire(\"viewreset\"),this._stop()},locate:function(t){if(t=this._locateOptions=o.extend({timeout:1e4,watch:!1},t),!(\"geolocation\"in navigator))return this._handleGeolocationError({code:0,message:\"Geolocation not supported.\"}),this;var e=o.bind(this._handleGeolocationResponse,this),i=o.bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&amp;&amp;navigator.geolocation.clearWatch&amp;&amp;navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&amp;&amp;(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?\"permission denied\":2===e?\"position unavailable\":\"timeout\");this._locateOptions.setView&amp;&amp;!this._loaded&amp;&amp;this.fitWorld(),this.fire(\"locationerror\",{code:e,message:\"Geolocation error: \"+i+\".\"})},_handleGeolocationResponse:function(t){var e=t.coords.latitude,i=t.coords.longitude,n=new o.LatLng(e,i),s=n.toBounds(t.coords.accuracy),r=this._locateOptions;if(r.setView){var a=this.getBoundsZoom(s);this.setView(n,r.maxZoom?Math.min(a,r.maxZoom):a)}var h={latlng:n,bounds:s,timestamp:t.timestamp};for(var l in t.coords)\"number\"==typeof t.coords[l]&amp;&amp;(h[l]=t.coords[l]);this.fire(\"locationfound\",h)},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&amp;&amp;i.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error(\"Map container is being reused by another instance\");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=i,this._containerId=i}o.DomUtil.remove(this._mapPane),this._clearControlPos&amp;&amp;this._clearControlPos(),this._clearHandlers(),this._loaded&amp;&amp;this.fire(\"unload\");for(var t in this._layers)this._layers[t].remove();return this},createPane:function(t,e){var i=\"leaflet-pane\"+(t?\" leaflet-\"+t.replace(\"Pane\",\"\")+\"-pane\":\"\"),n=o.DomUtil.create(\"div\",i,e||this._mapPane);return t&amp;&amp;(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&amp;&amp;!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new o.LatLngBounds(e,i)},getMinZoom:function(){return this.options.minZoom===i?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===i?this._layersMaxZoom===i?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=o.latLngBounds(t),i=o.point(i||[0,0]);var n=this.getZoom()||0,s=this.getMinZoom(),r=this.getMaxZoom(),a=t.getNorthWest(),h=t.getSouthEast(),l=this.getSize().subtract(i),u=o.bounds(this.project(h,n),this.project(a,n)).getSize(),c=o.Browser.any3d?this.options.zoomSnap:1,d=Math.min(l.x/u.x,l.y/u.y);return n=this.getScaleZoom(d,n),c&amp;&amp;(n=Math.round(n/(c/100))*(c/100),n=e?Math.ceil(n/c)*c:Math.floor(n/c)*c),Math.max(s,Math.min(r,n))},getSize:function(){return this._size&amp;&amp;!this._sizeChanged||(this._size=new o.Point(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new o.Bounds(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===i?this.getZoom():t)},getPane:function(t){return\"string\"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=e===i?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs;e=e===i?this._zoom:e;var o=n.zoom(t*n.scale(e));return isNaN(o)?1/0:o},project:function(t,e){return e=e===i?this._zoom:e,this.options.crs.latLngToPoint(o.latLng(t),e)},unproject:function(t,e){return e=e===i?this._zoom:e,this.options.crs.pointToLatLng(o.point(t),e)},layerPointToLatLng:function(t){var e=o.point(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(o.latLng(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(o.latLng(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(o.latLngBounds(t))},distance:function(t,e){return this.options.crs.distance(o.latLng(t),o.latLng(e))},containerPointToLayerPoint:function(t){return o.point(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return o.point(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(o.point(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(o.latLng(t)))},mouseEventToContainerPoint:function(t){return o.DomEvent.getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=o.DomUtil.get(t);if(!e)throw new Error(\"Map container not found.\");if(e._leaflet_id)throw new Error(\"Map container is already initialized.\");o.DomEvent.addListener(e,\"scroll\",this._onScroll,this),this._containerId=o.Util.stamp(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&amp;&amp;o.Browser.any3d,\no.DomUtil.addClass(t,\"leaflet-container\"+(o.Browser.touch?\" leaflet-touch\":\"\")+(o.Browser.retina?\" leaflet-retina\":\"\")+(o.Browser.ielt9?\" leaflet-oldie\":\"\")+(o.Browser.safari?\" leaflet-safari\":\"\")+(this._fadeAnimated?\" leaflet-fade-anim\":\"\"));var e=o.DomUtil.getStyle(t,\"position\");\"absolute\"!==e&amp;&amp;\"relative\"!==e&amp;&amp;\"fixed\"!==e&amp;&amp;(t.style.position=\"relative\"),this._initPanes(),this._initControlPos&amp;&amp;this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane(\"mapPane\",this._container),o.DomUtil.setPosition(this._mapPane,new o.Point(0,0)),this.createPane(\"tilePane\"),this.createPane(\"shadowPane\"),this.createPane(\"overlayPane\"),this.createPane(\"markerPane\"),this.createPane(\"tooltipPane\"),this.createPane(\"popupPane\"),this.options.markerZoomAnimation||(o.DomUtil.addClass(t.markerPane,\"leaflet-zoom-hide\"),o.DomUtil.addClass(t.shadowPane,\"leaflet-zoom-hide\"))},_resetView:function(t,e){o.DomUtil.setPosition(this._mapPane,new o.Point(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire(\"viewprereset\");var n=this._zoom!==e;this._moveStart(n)._move(t,e)._moveEnd(n),this.fire(\"viewreset\"),i&amp;&amp;this.fire(\"load\")},_moveStart:function(t){return t&amp;&amp;this.fire(\"zoomstart\"),this.fire(\"movestart\")},_move:function(t,e,n){e===i&amp;&amp;(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(o||n&amp;&amp;n.pinch)&amp;&amp;this.fire(\"zoom\",n),this.fire(\"move\",n)},_moveEnd:function(t){return t&amp;&amp;this.fire(\"zoomend\"),this.fire(\"moveend\")},_stop:function(){return o.Util.cancelAnimFrame(this._flyToFrame),this._panAnim&amp;&amp;this._panAnim.stop(),this},_rawPanBy:function(t){o.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error(\"Set map center and zoom first.\")},_initEvents:function(e){if(o.DomEvent){this._targets={},this._targets[o.stamp(this._container)]=this;var i=e?\"off\":\"on\";o.DomEvent[i](this._container,\"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress\",this._handleDOMEvent,this),this.options.trackResize&amp;&amp;o.DomEvent[i](t,\"resize\",this._onResize,this),o.Browser.any3d&amp;&amp;this.options.transform3DLimit&amp;&amp;this[i](\"moveend\",this._onMoveEnd)}},_onResize:function(){o.Util.cancelAnimFrame(this._resizeRequest),this._resizeRequest=o.Util.requestAnimFrame(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))&gt;=this.options.transform3DLimit&amp;&amp;this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],s=\"mouseout\"===e||\"mouseover\"===e,r=t.target||t.srcElement,a=!1;r;){if(i=this._targets[o.stamp(r)],i&amp;&amp;(\"click\"===e||\"preclick\"===e)&amp;&amp;!t._simulated&amp;&amp;this._draggableMoved(i)){a=!0;break}if(i&amp;&amp;i.listens(e,!0)){if(s&amp;&amp;!o.DomEvent._isExternalTarget(r,t))break;if(n.push(i),s)break}if(r===this._container)break;r=r.parentNode}return n.length||a||s||!o.DomEvent._isExternalTarget(r,t)||(n=[this]),n},_handleDOMEvent:function(t){if(this._loaded&amp;&amp;!o.DomEvent._skipped(t)){var e=\"keypress\"===t.type&amp;&amp;13===t.keyCode?\"click\":t.type;\"mousedown\"===e&amp;&amp;o.DomUtil.preventOutline(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_fireDOMEvent:function(t,e,i){if(\"click\"===t.type){var n=o.Util.extend({},t);n.type=\"preclick\",this._fireDOMEvent(n,n.type,i)}if(!t._stopped&amp;&amp;(i=(i||[]).concat(this._findEventTargets(t,e)),i.length)){var s=i[0];\"contextmenu\"===e&amp;&amp;s.listens(e,!0)&amp;&amp;o.DomEvent.preventDefault(t);var r={originalEvent:t};if(\"keypress\"!==t.type){var a=s instanceof o.Marker;r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h&lt;i.length;h++)if(i[h].fire(e,r,!0),r.originalEvent._stopped||i[h].options.nonBubblingEvents&amp;&amp;o.Util.indexOf(i[h].options.nonBubblingEvents,e)!==-1)return}},_draggableMoved:function(t){return t=t.dragging&amp;&amp;t.dragging.enabled()?t:this,t.dragging&amp;&amp;t.dragging.moved()||this.boxZoom&amp;&amp;this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t&lt;e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on(\"load\",t,e),this},_getMapPanePos:function(){return o.DomUtil.getPosition(this._mapPane)||new o.Point(0,0)},_moved:function(){var t=this._getMapPanePos();return t&amp;&amp;!t.equals([0,0])},_getTopLeftPoint:function(t,e){var n=t&amp;&amp;e!==i?this._getNewPixelOrigin(t,e):this.getPixelOrigin();return n.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return o.bounds([this.project(t.getSouthWest(),e)._subtract(n),this.project(t.getNorthWest(),e)._subtract(n),this.project(t.getSouthEast(),e)._subtract(n),this.project(t.getNorthEast(),e)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),s=this.getSize().divideBy(2),r=new o.Bounds(n.subtract(s),n.add(s)),a=this._getBoundsOffset(r,i,e);return a.round().equals([0,0])?t:this.unproject(n.add(a),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new o.Bounds(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=o.bounds(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),s=n.min.subtract(t.min),r=n.max.subtract(t.max),a=this._rebound(s.x,-r.x),h=this._rebound(s.y,-r.y);return new o.Point(a,h)},_rebound:function(t,e){return t+e&gt;0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=o.Browser.any3d?this.options.zoomSnap:1;return n&amp;&amp;(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire(\"move\")},_onPanTransitionEnd:function(){o.DomUtil.removeClass(this._mapPane,\"leaflet-pan-anim\"),this.fire(\"moveend\")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._floor();return!((e&amp;&amp;e.animate)!==!0&amp;&amp;!this.getSize().contains(i))&amp;&amp;(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=o.DomUtil.create(\"div\",\"leaflet-proxy leaflet-zoom-animated\");this._panes.mapPane.appendChild(t),this.on(\"zoomanim\",function(e){var i=o.DomUtil.TRANSFORM,n=t.style[i];o.DomUtil.setTransform(t,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===t.style[i]&amp;&amp;this._animatingZoom&amp;&amp;this._onZoomTransitionEnd()},this),this.on(\"load moveend\",function(){var e=this.getCenter(),i=this.getZoom();o.DomUtil.setTransform(t,this.project(e,i),this.getZoomScale(i,1))},this)},_catchTransitionEnd:function(t){this._animatingZoom&amp;&amp;t.propertyName.indexOf(\"transform\")&gt;=0&amp;&amp;this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName(\"leaflet-zoom-animated\").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)&gt;this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/n);return!(i.animate!==!0&amp;&amp;!this.getSize().contains(s))&amp;&amp;(o.Util.requestAnimFrame(function(){this._moveStart(!0)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,n){i&amp;&amp;(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,o.DomUtil.addClass(this._mapPane,\"leaflet-zoom-anim\")),this.fire(\"zoomanim\",{center:t,zoom:e,noUpdate:n}),setTimeout(o.bind(this._onZoomTransitionEnd,this),250)},_onZoomTransitionEnd:function(){this._animatingZoom&amp;&amp;(o.DomUtil.removeClass(this._mapPane,\"leaflet-zoom-anim\"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),o.Util.requestAnimFrame(function(){this._moveEnd(!0)},this))}}),o.map=function(t,e){return new o.Map(t,e)},o.Layer=o.Evented.extend({options:{pane:\"overlayPane\",nonBubblingEvents:[],attribution:null},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&amp;&amp;t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[o.stamp(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[o.stamp(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once(\"remove\",function(){e.off(i,this)},this)}this.onAdd(e),this.getAttribution&amp;&amp;e.attributionControl&amp;&amp;e.attributionControl.addAttribution(this.getAttribution()),this.fire(\"add\"),e.fire(\"layeradd\",{layer:this})}}}),o.Map.include({addLayer:function(t){var e=o.stamp(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&amp;&amp;t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=o.stamp(t);return this._layers[e]?(this._loaded&amp;&amp;t.onRemove(this),t.getAttribution&amp;&amp;this.attributionControl&amp;&amp;this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&amp;&amp;(this.fire(\"layerremove\",{layer:t}),t.fire(\"remove\")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&amp;&amp;o.stamp(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?o.Util.isArray(t)?t:[t]:[];for(var e=0,i=t.length;e&lt;i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&amp;&amp;isNaN(t.options.minZoom)||(this._zoomBoundLayers[o.stamp(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=o.stamp(t);this._zoomBoundLayers[e]&amp;&amp;(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-(1/0),n=this._getZoomSpan();for(var o in this._zoomBoundLayers){var s=this._zoomBoundLayers[o].options;t=s.minZoom===i?t:Math.min(t,s.minZoom),e=s.maxZoom===i?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-(1/0)?i:e,this._layersMinZoom=t===1/0?i:t,n!==this._getZoomSpan()&amp;&amp;this.fire(\"zoomlevelschange\"),this.options.maxZoom===i&amp;&amp;this._layersMaxZoom&amp;&amp;this.getZoom()&gt;this._layersMaxZoom&amp;&amp;this.setZoom(this._layersMaxZoom),this.options.minZoom===i&amp;&amp;this._layersMinZoom&amp;&amp;this.getZoom()&lt;this._layersMinZoom&amp;&amp;this.setZoom(this._layersMinZoom)}});var r=\"_leaflet_events\";o.DomEvent={on:function(t,e,i,n){if(\"object\"==typeof e)for(var s in e)this._on(t,s,e[s],i);else{e=o.Util.splitWords(e);for(var r=0,a=e.length;r&lt;a;r++)this._on(t,e[r],i,n)}return this},off:function(t,e,i,n){if(\"object\"==typeof e)for(var s in e)this._off(t,s,e[s],i);else{e=o.Util.splitWords(e);for(var r=0,a=e.length;r&lt;a;r++)this._off(t,e[r],i,n)}return this},_on:function(e,i,n,s){var a=i+o.stamp(n)+(s?\"_\"+o.stamp(s):\"\");if(e[r]&amp;&amp;e[r][a])return this;var h=function(i){return n.call(s||e,i||t.event)},l=h;return o.Browser.pointer&amp;&amp;0===i.indexOf(\"touch\")?this.addPointerListener(e,i,h,a):!o.Browser.touch||\"dblclick\"!==i||!this.addDoubleTapListener||o.Browser.pointer&amp;&amp;o.Browser.chrome?\"addEventListener\"in e?\"mousewheel\"===i?e.addEventListener(\"onwheel\"in e?\"wheel\":\"mousewheel\",h,!1):\"mouseenter\"===i||\"mouseleave\"===i?(h=function(i){i=i||t.event,o.DomEvent._isExternalTarget(e,i)&amp;&amp;l(i)},e.addEventListener(\"mouseenter\"===i?\"mouseover\":\"mouseout\",h,!1)):(\"click\"===i&amp;&amp;o.Browser.android&amp;&amp;(h=function(t){return o.DomEvent._filterClick(t,l)}),e.addEventListener(i,h,!1)):\"attachEvent\"in e&amp;&amp;e.attachEvent(\"on\"+i,h):this.addDoubleTapListener(e,h,a),e[r]=e[r]||{},e[r][a]=h,this},_off:function(t,e,i,n){var s=e+o.stamp(i)+(n?\"_\"+o.stamp(n):\"\"),a=t[r]&amp;&amp;t[r][s];return a?(o.Browser.pointer&amp;&amp;0===e.indexOf(\"touch\")?this.removePointerListener(t,e,s):o.Browser.touch&amp;&amp;\"dblclick\"===e&amp;&amp;this.removeDoubleTapListener?this.removeDoubleTapListener(t,s):\"removeEventListener\"in t?\"mousewheel\"===e?t.removeEventListener(\"onwheel\"in t?\"wheel\":\"mousewheel\",a,!1):t.removeEventListener(\"mouseenter\"===e?\"mouseover\":\"mouseleave\"===e?\"mouseout\":e,a,!1):\"detachEvent\"in t&amp;&amp;t.detachEvent(\"on\"+e,a),t[r][s]=null,this):this},stopPropagation:function(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,o.DomEvent._skipped(t),this},disableScrollPropagation:function(t){return o.DomEvent.on(t,\"mousewheel\",o.DomEvent.stopPropagation)},disableClickPropagation:function(t){var e=o.DomEvent.stopPropagation;return o.DomEvent.on(t,o.Draggable.START.join(\" \"),e),o.DomEvent.on(t,{click:o.DomEvent._fakeStop,dblclick:e})},preventDefault:function(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this},stop:function(t){return o.DomEvent.preventDefault(t).stopPropagation(t)},getMousePosition:function(t,e){if(!e)return new o.Point(t.clientX,t.clientY);var i=e.getBoundingClientRect();return new o.Point(t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop)},_wheelPxFactor:o.Browser.win&amp;&amp;o.Browser.chrome?2:o.Browser.gecko?t.devicePixelRatio:1,getWheelDelta:function(t){return o.Browser.edge?t.wheelDeltaY/2:t.deltaY&amp;&amp;0===t.deltaMode?-t.deltaY/o.DomEvent._wheelPxFactor:t.deltaY&amp;&amp;1===t.deltaMode?20*-t.deltaY:t.deltaY&amp;&amp;2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&amp;&amp;Math.abs(t.detail)&lt;32765?20*-t.detail:t.detail?t.detail/-32765*60:0},_skipEvents:{},_fakeStop:function(t){o.DomEvent._skipEvents[t.type]=!0},_skipped:function(t){var e=this._skipEvents[t.type];return this._skipEvents[t.type]=!1,e},_isExternalTarget:function(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&amp;&amp;i!==t;)i=i.parentNode}catch(t){return!1}return i!==t},_filterClick:function(t,e){var i=t.timeStamp||t.originalEvent&amp;&amp;t.originalEvent.timeStamp,n=o.DomEvent._lastClick&amp;&amp;i-o.DomEvent._lastClick;return n&amp;&amp;n&gt;100&amp;&amp;n&lt;500||t.target._simulatedClick&amp;&amp;!t._simulated?void o.DomEvent.stop(t):(o.DomEvent._lastClick=i,void e(t))}},o.DomEvent.addListener=o.DomEvent.on,o.DomEvent.removeListener=o.DomEvent.off,o.PosAnimation=o.Evented.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=o.DomUtil.getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire(\"start\"),this._animate()},stop:function(){this._inProgress&amp;&amp;(this._step(!0),this._complete())},_animate:function(){this._animId=o.Util.requestAnimFrame(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e&lt;i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&amp;&amp;i._round(),o.DomUtil.setPosition(this._el,i),this.fire(\"step\")},_complete:function(){o.Util.cancelAnimFrame(this._animId),this._inProgress=!1,this.fire(\"end\")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),o.Projection.Mercator={R:6378137,R_MINOR:6356752.314245179,bounds:o.bounds([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,s=this.R_MINOR/i,r=Math.sqrt(1-s*s),a=r*Math.sin(n),h=Math.tan(Math.PI/4-n/2)/Math.pow((1-a)/(1+a),r/2);return n=-i*Math.log(Math.max(h,1e-10)),new o.Point(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,s=this.R_MINOR/n,r=Math.sqrt(1-s*s),a=Math.exp(-t.y/n),h=Math.PI/2-2*Math.atan(a),l=0,u=.1;l&lt;15&amp;&amp;Math.abs(u)&gt;1e-7;l++)e=r*Math.sin(h),e=Math.pow((1-e)/(1+e),r/2),u=Math.PI/2-2*Math.atan(a*e)-h,h+=u;return new o.LatLng(h*i,t.x*i/n)}},o.CRS.EPSG3395=o.extend({},o.CRS.Earth,{code:\"EPSG:3395\",projection:o.Projection.Mercator,transformation:function(){var t=.5/(Math.PI*o.Projection.Mercator.R);return new o.Transformation(t,.5,-t,.5)}()}),o.GridLayer=o.Layer.extend({options:{tileSize:256,opacity:1,updateWhenIdle:o.Browser.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:i,noWrap:!1,pane:\"tilePane\",className:\"\",keepBuffer:2},initialize:function(t){o.setOptions(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),o.DomUtil.remove(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=null},bringToFront:function(){return this._map&amp;&amp;(o.DomUtil.toFront(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&amp;&amp;(o.DomUtil.toBack(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&amp;&amp;(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=o.Util.throttle(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&amp;&amp;(t.zoomanim=this._animateZoom),t},createTile:function(){return e.createElement(\"div\")},getTileSize:function(){var t=this.options.tileSize;return t instanceof o.Point?t:new o.Point(t,t)},_updateZIndex:function(){this._container&amp;&amp;this.options.zIndex!==i&amp;&amp;null!==this.options.zIndex&amp;&amp;(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-(1/0),1/0),o=0,s=i.length;o&lt;s;o++)e=i[o].style.zIndex,i[o]!==this._container&amp;&amp;e&amp;&amp;(n=t(n,+e));isFinite(n)&amp;&amp;(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&amp;&amp;!o.Browser.ielt9){o.DomUtil.setOpacity(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var n in this._tiles){var s=this._tiles[n];if(s.current&amp;&amp;s.loaded){var r=Math.min(1,(t-s.loaded)/200);o.DomUtil.setOpacity(s.el,r),r&lt;1?e=!0:(s.active&amp;&amp;(i=!0),s.active=!0)}}i&amp;&amp;!this._noPrune&amp;&amp;this._pruneTiles(),e&amp;&amp;(o.Util.cancelAnimFrame(this._fadeFrame),this._fadeFrame=o.Util.requestAnimFrame(this._updateOpacity,this))}},_initContainer:function(){this._container||(this._container=o.DomUtil.create(\"div\",\"leaflet-layer \"+(this.options.className||\"\")),this._updateZIndex(),this.options.opacity&lt;1&amp;&amp;this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(t===i)return i;for(var n in this._levels)this._levels[n].el.children.length||n===t?this._levels[n].el.style.zIndex=e-Math.abs(t-n):(o.DomUtil.remove(this._levels[n].el),this._removeTilesAtZoom(n),delete this._levels[n]);var s=this._levels[t],r=this._map;return s||(s=this._levels[t]={},s.el=o.DomUtil.create(\"div\",\"leaflet-tile-container leaflet-zoom-animated\",this._container),s.el.style.zIndex=e,s.origin=r.project(r.unproject(r.getPixelOrigin()),t).round(),s.zoom=t,this._setZoomTransform(s,r.getCenter(),r.getZoom()),o.Util.falseFn(s.el.offsetWidth)),this._level=s,s},_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i&gt;this.options.maxZoom||i&lt;this.options.minZoom)return void this._removeAllTiles();for(t in this._tiles)e=this._tiles[t],e.retain=e.current;for(t in this._tiles)if(e=this._tiles[t],e.current&amp;&amp;!e.active){var n=e.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&amp;&amp;this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)o.DomUtil.remove(this._levels[t].el),delete this._levels[t];this._removeAllTiles(),this._tileZoom=null},_retainParent:function(t,e,i,n){var s=Math.floor(t/2),r=Math.floor(e/2),a=i-1,h=new o.Point(+s,+r);h.z=+a;var l=this._tileCoordsToKey(h),u=this._tiles[l];return u&amp;&amp;u.active?(u.retain=!0,!0):(u&amp;&amp;u.loaded&amp;&amp;(u.retain=!0),a&gt;n&amp;&amp;this._retainParent(s,r,a,n))},_retainChildren:function(t,e,i,n){for(var s=2*t;s&lt;2*t+2;s++)for(var r=2*e;r&lt;2*e+2;r++){var a=new o.Point(s,r);a.z=i+1;var h=this._tileCoordsToKey(a),l=this._tiles[h];l&amp;&amp;l.active?l.retain=!0:(l&amp;&amp;l.loaded&amp;&amp;(l.retain=!0),i+1&lt;n&amp;&amp;this._retainChildren(s,r,i+1,n))}},_resetView:function(t){var e=t&amp;&amp;(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_setView:function(t,e,n,o){var s=Math.round(e);(this.options.maxZoom!==i&amp;&amp;s&gt;this.options.maxZoom||this.options.minZoom!==i&amp;&amp;s&lt;this.options.minZoom)&amp;&amp;(s=i);var r=this.options.updateWhenZooming&amp;&amp;s!==this._tileZoom;o&amp;&amp;!r||(this._tileZoom=s,this._abortLoading&amp;&amp;this._abortLoading(),this._updateLevels(),this._resetGrid(),s!==i&amp;&amp;this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),s=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();o.Browser.any3d?o.DomUtil.setTransform(t.el,s,n):o.DomUtil.setPosition(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&amp;&amp;(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&amp;&amp;!this.options.noWrap&amp;&amp;[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&amp;&amp;!this.options.noWrap&amp;&amp;[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&amp;&amp;!this._map._animatingZoom&amp;&amp;this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),n=e.getZoomScale(i,this._tileZoom),s=e.project(t,this._tileZoom).floor(),r=e.getSize().divideBy(2*n);return new o.Bounds(s.subtract(r),s.add(r))},_update:function(t){var n=this._map;if(n){var s=n.getZoom();if(t===i&amp;&amp;(t=n.getCenter()),this._tileZoom!==i){var r=this._getTiledPixelBounds(t),a=this._pxBoundsToTileRange(r),h=a.getCenter(),l=[],u=this.options.keepBuffer,c=new o.Bounds(a.getBottomLeft().subtract([u,-u]),a.getTopRight().add([u,-u]));for(var d in this._tiles){var _=this._tiles[d].coords;_.z===this._tileZoom&amp;&amp;c.contains(o.point(_.x,_.y))||(this._tiles[d].current=!1)}if(Math.abs(s-this._tileZoom)&gt;1)return void this._setView(t,s);for(var m=a.min.y;m&lt;=a.max.y;m++)for(var p=a.min.x;p&lt;=a.max.x;p++){var f=new o.Point(p,m);if(f.z=this._tileZoom,this._isValidTile(f)){var g=this._tiles[this._tileCoordsToKey(f)];g?g.current=!0:l.push(f)}}if(l.sort(function(t,e){return t.distanceTo(h)-e.distanceTo(h)}),0!==l.length){this._loading||(this._loading=!0,this.fire(\"loading\"));var v=e.createDocumentFragment();for(p=0;p&lt;l.length;p++)this._addTile(l[p],v);this._level.el.appendChild(v)}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&amp;&amp;(t.x&lt;i.min.x||t.x&gt;i.max.x)||!e.wrapLat&amp;&amp;(t.y&lt;i.min.y||t.y&gt;i.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return o.latLngBounds(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToBounds:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),s=n.add(i),r=e.unproject(n,t.z),a=e.unproject(s,t.z),h=new o.LatLngBounds(r,a);return this.options.noWrap||e.wrapLatLngBounds(h),h},_tileCoordsToKey:function(t){return t.x+\":\"+t.y+\":\"+t.z},_keyToTileCoords:function(t){var e=t.split(\":\"),i=new o.Point(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&amp;&amp;(o.DomUtil.remove(e.el),delete this._tiles[t],this.fire(\"tileunload\",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){o.DomUtil.addClass(t,\"leaflet-tile\");var e=this.getTileSize();t.style.width=e.x+\"px\",t.style.height=e.y+\"px\",t.onselectstart=o.Util.falseFn,t.onmousemove=o.Util.falseFn,o.Browser.ielt9&amp;&amp;this.options.opacity&lt;1&amp;&amp;o.DomUtil.setOpacity(t,this.options.opacity),o.Browser.android&amp;&amp;!o.Browser.android23&amp;&amp;(t.style.WebkitBackfaceVisibility=\"hidden\")},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o.bind(this._tileReady,this,t));this._initTile(s),this.createTile.length&lt;2&amp;&amp;o.Util.requestAnimFrame(o.bind(this._tileReady,this,t,null,s)),o.DomUtil.setPosition(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire(\"tileloadstart\",{tile:s,coords:t})},_tileReady:function(t,e,i){if(this._map){e&amp;&amp;this.fire(\"tileerror\",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);i=this._tiles[n],i&amp;&amp;(i.loaded=+new Date,this._map._fadeAnimated?(o.DomUtil.setOpacity(i.el,0),o.Util.cancelAnimFrame(this._fadeFrame),this._fadeFrame=o.Util.requestAnimFrame(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(o.DomUtil.addClass(i.el,\"leaflet-tile-loaded\"),this.fire(\"tileload\",{tile:i.el,coords:t})),this._noTilesToLoad()&amp;&amp;(this._loading=!1,this.fire(\"load\"),o.Browser.ielt9||!this._map._fadeAnimated?o.Util.requestAnimFrame(this._pruneTiles,this):setTimeout(o.bind(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new o.Point(this._wrapX?o.Util.wrapNum(t.x,this._wrapX):t.x,this._wrapY?o.Util.wrapNum(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new o.Bounds(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),o.gridLayer=function(t){return new o.GridLayer(t)},o.TileLayer=o.GridLayer.extend({options:{minZoom:0,maxZoom:18,maxNativeZoom:null,minNativeZoom:null,subdomains:\"abc\",errorTileUrl:\"\",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,e=o.setOptions(this,e),e.detectRetina&amp;&amp;o.Browser.retina&amp;&amp;e.maxZoom&gt;0&amp;&amp;(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),\"string\"==typeof e.subdomains&amp;&amp;(e.subdomains=e.subdomains.split(\"\")),o.Browser.android||this.on(\"tileunload\",this._onTileRemove)},setUrl:function(t,e){return this._url=t,e||this.redraw(),this},createTile:function(t,i){var n=e.createElement(\"img\");return o.DomEvent.on(n,\"load\",o.bind(this._tileOnLoad,this,i,n)),o.DomEvent.on(n,\"error\",o.bind(this._tileOnError,this,i,n)),this.options.crossOrigin&amp;&amp;(n.crossOrigin=\"\"),n.alt=\"\",n.setAttribute(\"role\",\"presentation\"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:o.Browser.retina?\"@2x\":\"\",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&amp;&amp;!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&amp;&amp;(e.y=i),e[\"-y\"]=i}return o.Util.template(this._url,o.extend(e,this.options))},_tileOnLoad:function(t,e){o.Browser.ielt9?setTimeout(o.bind(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&amp;&amp;e.src!==n&amp;&amp;(e.src=n),t(i,e)},getTileSize:function(){var t=this._map,e=o.GridLayer.prototype.getTileSize.call(this),i=this._tileZoom+this.options.zoomOffset,n=this.options.minNativeZoom,s=this.options.maxNativeZoom;return null!==n&amp;&amp;i&lt;n?e.divideBy(t.getZoomScale(n,i)).round():null!==s&amp;&amp;i&gt;s?e.divideBy(t.getZoomScale(s,i)).round():e},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset,o=this.options.minNativeZoom,s=this.options.maxNativeZoom;return i&amp;&amp;(t=e-t),t+=n,null!==o&amp;&amp;t&lt;o?o:null!==s&amp;&amp;t&gt;s?s:t},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&amp;&amp;(e=this._tiles[t].el,e.onload=o.Util.falseFn,e.onerror=o.Util.falseFn,e.complete||(e.src=o.Util.emptyImageUrl,o.DomUtil.remove(e)))}}),o.tileLayer=function(t,e){return new o.TileLayer(t,e)},o.TileLayer.WMS=o.TileLayer.extend({defaultWmsParams:{service:\"WMS\",request:\"GetMap\",layers:\"\",styles:\"\",format:\"image/jpeg\",transparent:!1,version:\"1.1.1\"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=o.extend({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);e=o.setOptions(this,e),i.width=i.height=e.tileSize*(e.detectRetina&amp;&amp;o.Browser.retina?2:1),this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion&gt;=1.3?\"crs\":\"srs\";this.wmsParams[e]=this._crs.code,o.TileLayer.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToBounds(t),i=this._crs.project(e.getNorthWest()),n=this._crs.project(e.getSouthEast()),s=(this._wmsVersion&gt;=1.3&amp;&amp;this._crs===o.CRS.EPSG4326?[n.y,i.x,i.y,n.x]:[i.x,n.y,n.x,i.y]).join(\",\"),r=o.TileLayer.prototype.getTileUrl.call(this,t);return r+o.Util.getParamString(this.wmsParams,r,this.options.uppercase)+(this.options.uppercase?\"&amp;BBOX=\":\"&amp;bbox=\")+s},setParams:function(t,e){return o.extend(this.wmsParams,t),e||this.redraw(),this}}),o.tileLayer.wms=function(t,e){return new o.TileLayer.WMS(t,e)},o.ImageOverlay=o.Layer.extend({options:{opacity:1,alt:\"\",interactive:!1,crossOrigin:!1},initialize:function(t,e,i){this._url=t,this._bounds=o.latLngBounds(e),o.setOptions(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity&lt;1&amp;&amp;this._updateOpacity()),this.options.interactive&amp;&amp;(o.DomUtil.addClass(this._image,\"leaflet-interactive\"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){o.DomUtil.remove(this._image),this.options.interactive&amp;&amp;this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&amp;&amp;this._updateOpacity(),this},setStyle:function(t){return t.opacity&amp;&amp;this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&amp;&amp;o.DomUtil.toFront(this._image),this},bringToBack:function(){return this._map&amp;&amp;o.DomUtil.toBack(this._image),this},setUrl:function(t){return this._url=t,this._image&amp;&amp;(this._image.src=t),this},setBounds:function(t){return this._bounds=t,this._map&amp;&amp;this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&amp;&amp;(t.zoomanim=this._animateZoom),t},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._image=o.DomUtil.create(\"img\",\"leaflet-image-layer \"+(this._zoomAnimated?\"leaflet-zoom-animated\":\"\"));t.onselectstart=o.Util.falseFn,t.onmousemove=o.Util.falseFn,t.onload=o.bind(this.fire,this,\"load\"),this.options.crossOrigin&amp;&amp;(t.crossOrigin=\"\"),t.src=this._url,t.alt=this.options.alt},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;\no.DomUtil.setTransform(this._image,i,e)},_reset:function(){var t=this._image,e=new o.Bounds(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();o.DomUtil.setPosition(t,e.min),t.style.width=i.x+\"px\",t.style.height=i.y+\"px\"},_updateOpacity:function(){o.DomUtil.setOpacity(this._image,this.options.opacity)}}),o.imageOverlay=function(t,e,i){return new o.ImageOverlay(t,e,i)},o.Icon=o.Class.extend({initialize:function(t){o.setOptions(this,t)},createIcon:function(t){return this._createIcon(\"icon\",t)},createShadow:function(t){return this._createIcon(\"shadow\",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if(\"icon\"===t)throw new Error(\"iconUrl not set in Icon options (see the docs).\");return null}var n=this._createImg(i,e&amp;&amp;\"IMG\"===e.tagName?e:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,e){var i=this.options,n=i[e+\"Size\"];\"number\"==typeof n&amp;&amp;(n=[n,n]);var s=o.point(n),r=o.point(\"shadow\"===e&amp;&amp;i.shadowAnchor||i.iconAnchor||s&amp;&amp;s.divideBy(2,!0));t.className=\"leaflet-marker-\"+e+\" \"+(i.className||\"\"),r&amp;&amp;(t.style.marginLeft=-r.x+\"px\",t.style.marginTop=-r.y+\"px\"),s&amp;&amp;(t.style.width=s.x+\"px\",t.style.height=s.y+\"px\")},_createImg:function(t,i){return i=i||e.createElement(\"img\"),i.src=t,i},_getIconUrl:function(t){return o.Browser.retina&amp;&amp;this.options[t+\"RetinaUrl\"]||this.options[t+\"Url\"]}}),o.icon=function(t){return new o.Icon(t)},o.Icon.Default=o.Icon.extend({options:{iconUrl:\"marker-icon.png\",iconRetinaUrl:\"marker-icon-2x.png\",shadowUrl:\"marker-shadow.png\",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return o.Icon.Default.imagePath||(o.Icon.Default.imagePath=this._detectIconPath()),(this.options.imagePath||o.Icon.Default.imagePath)+o.Icon.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=o.DomUtil.create(\"div\",\"leaflet-default-icon-path\",e.body),i=o.DomUtil.getStyle(t,\"background-image\")||o.DomUtil.getStyle(t,\"backgroundImage\");return e.body.removeChild(t),0===i.indexOf(\"url\")?i.replace(/^url\\([\\\"\\']?/,\"\").replace(/marker-icon\\.png[\\\"\\']?\\)$/,\"\"):\"\"}}),o.Marker=o.Layer.extend({options:{icon:new o.Icon.Default,interactive:!0,draggable:!1,keyboard:!0,title:\"\",alt:\"\",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:\"markerPane\",nonBubblingEvents:[\"click\",\"dblclick\",\"mouseover\",\"mouseout\",\"contextmenu\"]},initialize:function(t,e){o.setOptions(this,e),this._latlng=o.latLng(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&amp;&amp;t.options.markerZoomAnimation,this._zoomAnimated&amp;&amp;t.on(\"zoomanim\",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&amp;&amp;this.dragging.enabled()&amp;&amp;(this.options.draggable=!0,this.dragging.removeHooks()),this._zoomAnimated&amp;&amp;t.off(\"zoomanim\",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=o.latLng(t),this.update(),this.fire(\"move\",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&amp;&amp;(this._initIcon(),this.update()),this._popup&amp;&amp;this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e=\"leaflet-zoom-\"+(this._zoomAnimated?\"animated\":\"hide\"),i=t.icon.createIcon(this._icon),n=!1;i!==this._icon&amp;&amp;(this._icon&amp;&amp;this._removeIcon(),n=!0,t.title&amp;&amp;(i.title=t.title),t.alt&amp;&amp;(i.alt=t.alt)),o.DomUtil.addClass(i,e),t.keyboard&amp;&amp;(i.tabIndex=\"0\"),this._icon=i,t.riseOnHover&amp;&amp;this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),r=!1;s!==this._shadow&amp;&amp;(this._removeShadow(),r=!0),s&amp;&amp;(o.DomUtil.addClass(s,e),s.alt=\"\"),this._shadow=s,t.opacity&lt;1&amp;&amp;this._updateOpacity(),n&amp;&amp;this.getPane().appendChild(this._icon),this._initInteraction(),s&amp;&amp;r&amp;&amp;this.getPane(\"shadowPane\").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&amp;&amp;this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),o.DomUtil.remove(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&amp;&amp;o.DomUtil.remove(this._shadow),this._shadow=null},_setPos:function(t){o.DomUtil.setPosition(this._icon,t),this._shadow&amp;&amp;o.DomUtil.setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&amp;&amp;(o.DomUtil.addClass(this._icon,\"leaflet-interactive\"),this.addInteractiveTarget(this._icon),o.Handler.MarkerDrag)){var t=this.options.draggable;this.dragging&amp;&amp;(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new o.Handler.MarkerDrag(this),t&amp;&amp;this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&amp;&amp;this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;o.DomUtil.setOpacity(this._icon,t),this._shadow&amp;&amp;o.DomUtil.setOpacity(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor||[0,0]},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor||[0,0]}}),o.marker=function(t,e){return new o.Marker(t,e)},o.DivIcon=o.Icon.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:\"leaflet-div-icon\"},createIcon:function(t){var i=t&amp;&amp;\"DIV\"===t.tagName?t:e.createElement(\"div\"),n=this.options;if(i.innerHTML=n.html!==!1?n.html:\"\",n.bgPos){var s=o.point(n.bgPos);i.style.backgroundPosition=-s.x+\"px \"+-s.y+\"px\"}return this._setIconStyles(i,\"icon\"),i},createShadow:function(){return null}}),o.divIcon=function(t){return new o.DivIcon(t)},o.DivOverlay=o.Layer.extend({options:{offset:[0,7],className:\"\",pane:\"popupPane\"},initialize:function(t,e){o.setOptions(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&amp;&amp;o.DomUtil.setOpacity(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&amp;&amp;o.DomUtil.setOpacity(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(o.DomUtil.setOpacity(this._container,0),this._removeTimeout=setTimeout(o.bind(o.DomUtil.remove,o.DomUtil,this._container),200)):o.DomUtil.remove(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=o.latLng(t),this._map&amp;&amp;(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&amp;&amp;(this._container.style.visibility=\"hidden\",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility=\"\",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&amp;&amp;(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&amp;&amp;this._map.hasLayer(this)},bringToFront:function(){return this._map&amp;&amp;o.DomUtil.toFront(this._container),this},bringToBack:function(){return this._map&amp;&amp;o.DomUtil.toBack(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e=\"function\"==typeof this._content?this._content(this._source||this):this._content;if(\"string\"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire(\"contentupdate\")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=o.point(this.options.offset),i=this._getAnchor();this._zoomAnimated?o.DomUtil.setPosition(this._container,t.add(i)):e=e.add(t).add(i);var n=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=n+\"px\",this._container.style.left=s+\"px\"}},_getAnchor:function(){return[0,0]}}),o.Popup=o.DivOverlay.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,className:\"\"},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){o.DivOverlay.prototype.onAdd.call(this,t),t.fire(\"popupopen\",{popup:this}),this._source&amp;&amp;(this._source.fire(\"popupopen\",{popup:this},!0),this._source instanceof o.Path||this._source.on(\"preclick\",o.DomEvent.stopPropagation))},onRemove:function(t){o.DivOverlay.prototype.onRemove.call(this,t),t.fire(\"popupclose\",{popup:this}),this._source&amp;&amp;(this._source.fire(\"popupclose\",{popup:this},!0),this._source instanceof o.Path||this._source.off(\"preclick\",o.DomEvent.stopPropagation))},getEvents:function(){var t=o.DivOverlay.prototype.getEvents.call(this);return(\"closeOnClick\"in this.options?this.options.closeOnClick:this._map.options.closePopupOnClick)&amp;&amp;(t.preclick=this._close),this.options.keepInView&amp;&amp;(t.moveend=this._adjustPan),t},_close:function(){this._map&amp;&amp;this._map.closePopup(this)},_initLayout:function(){var t=\"leaflet-popup\",e=this._container=o.DomUtil.create(\"div\",t+\" \"+(this.options.className||\"\")+\" leaflet-zoom-animated\");if(this.options.closeButton){var i=this._closeButton=o.DomUtil.create(\"a\",t+\"-close-button\",e);i.href=\"#close\",i.innerHTML=\"&amp;#215;\",o.DomEvent.on(i,\"click\",this._onCloseButtonClick,this)}var n=this._wrapper=o.DomUtil.create(\"div\",t+\"-content-wrapper\",e);this._contentNode=o.DomUtil.create(\"div\",t+\"-content\",n),o.DomEvent.disableClickPropagation(n).disableScrollPropagation(this._contentNode).on(n,\"contextmenu\",o.DomEvent.stopPropagation),this._tipContainer=o.DomUtil.create(\"div\",t+\"-tip-container\",e),this._tip=o.DomUtil.create(\"div\",t+\"-tip\",this._tipContainer)},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width=\"\",e.whiteSpace=\"nowrap\";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+\"px\",e.whiteSpace=\"\",e.height=\"\";var n=t.offsetHeight,s=this.options.maxHeight,r=\"leaflet-popup-scrolled\";s&amp;&amp;n&gt;s?(e.height=s+\"px\",o.DomUtil.addClass(t,r)):o.DomUtil.removeClass(t,r),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();o.DomUtil.setPosition(this._container,e.add(i))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&amp;&amp;this._map._panAnim._inProgress)){var t=this._map,e=parseInt(o.DomUtil.getStyle(this._container,\"marginBottom\"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,s=new o.Point(this._containerLeft,-i-this._containerBottom);s._add(o.DomUtil.getPosition(this._container));var r=t.layerPointToContainerPoint(s),a=o.point(this.options.autoPanPadding),h=o.point(this.options.autoPanPaddingTopLeft||a),l=o.point(this.options.autoPanPaddingBottomRight||a),u=t.getSize(),c=0,d=0;r.x+n+l.x&gt;u.x&amp;&amp;(c=r.x+n-u.x+l.x),r.x-c-h.x&lt;0&amp;&amp;(c=r.x-h.x),r.y+i+l.y&gt;u.y&amp;&amp;(d=r.y+i-u.y+l.y),r.y-d-h.y&lt;0&amp;&amp;(d=r.y-h.y),(c||d)&amp;&amp;t.fire(\"autopanstart\").panBy([c,d])}},_onCloseButtonClick:function(t){this._close(),o.DomEvent.stop(t)},_getAnchor:function(){return o.point(this._source&amp;&amp;this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),o.popup=function(t,e){return new o.Popup(t,e)},o.Map.mergeOptions({closePopupOnClick:!0}),o.Map.include({openPopup:function(t,e,i){return t instanceof o.Popup||(t=new o.Popup(i).setContent(t)),e&amp;&amp;t.setLatLng(e),this.hasLayer(t)?this:(this._popup&amp;&amp;this._popup.options.autoClose&amp;&amp;this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&amp;&amp;t!==this._popup||(t=this._popup,this._popup=null),t&amp;&amp;this.removeLayer(t),this}}),o.Layer.include({bindPopup:function(t,e){return t instanceof o.Popup?(o.setOptions(t,e),this._popup=t,t._source=this):(this._popup&amp;&amp;!e||(this._popup=new o.Popup(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&amp;&amp;(this.off({click:this._openPopup,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof o.Layer||(e=t,t=this),t instanceof o.FeatureGroup)for(var i in this._layers){t=this._layers[i];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&amp;&amp;this._map&amp;&amp;(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&amp;&amp;this._popup._close(),this},togglePopup:function(t){return this._popup&amp;&amp;(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&amp;&amp;this._popup.isOpen()},setPopupContent:function(t){return this._popup&amp;&amp;this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;if(this._popup&amp;&amp;this._map)return o.DomEvent.stop(t),e instanceof o.Path?void this.openPopup(t.layer||t.target,t.latlng):void(this._map.hasLayer(this._popup)&amp;&amp;this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)}}),o.Tooltip=o.DivOverlay.extend({options:{pane:\"tooltipPane\",offset:[0,0],direction:\"auto\",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){o.DivOverlay.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire(\"tooltipopen\",{tooltip:this}),this._source&amp;&amp;this._source.fire(\"tooltipopen\",{tooltip:this},!0)},onRemove:function(t){o.DivOverlay.prototype.onRemove.call(this,t),t.fire(\"tooltipclose\",{tooltip:this}),this._source&amp;&amp;this._source.fire(\"tooltipclose\",{tooltip:this},!0)},getEvents:function(){var t=o.DivOverlay.prototype.getEvents.call(this);return o.Browser.touch&amp;&amp;!this.options.permanent&amp;&amp;(t.preclick=this._close),t},_close:function(){this._map&amp;&amp;this._map.closeTooltip(this)},_initLayout:function(){var t=\"leaflet-tooltip\",e=t+\" \"+(this.options.className||\"\")+\" leaflet-zoom-\"+(this._zoomAnimated?\"animated\":\"hide\");this._contentNode=this._container=o.DomUtil.create(\"div\",e)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,i=this._container,n=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),r=this.options.direction,a=i.offsetWidth,h=i.offsetHeight,l=o.point(this.options.offset),u=this._getAnchor();\"top\"===r?t=t.add(o.point(-a/2+l.x,-h+l.y+u.y,!0)):\"bottom\"===r?t=t.subtract(o.point(a/2-l.x,-l.y,!0)):\"center\"===r?t=t.subtract(o.point(a/2+l.x,h/2-u.y+l.y,!0)):\"right\"===r||\"auto\"===r&amp;&amp;s.x&lt;n.x?(r=\"right\",t=t.add(o.point(l.x+u.x,u.y-h/2+l.y,!0))):(r=\"left\",t=t.subtract(o.point(a+u.x-l.x,h/2-u.y-l.y,!0))),o.DomUtil.removeClass(i,\"leaflet-tooltip-right\"),o.DomUtil.removeClass(i,\"leaflet-tooltip-left\"),o.DomUtil.removeClass(i,\"leaflet-tooltip-top\"),o.DomUtil.removeClass(i,\"leaflet-tooltip-bottom\"),o.DomUtil.addClass(i,\"leaflet-tooltip-\"+r),o.DomUtil.setPosition(i,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&amp;&amp;o.DomUtil.setOpacity(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return o.point(this._source&amp;&amp;this._source._getTooltipAnchor&amp;&amp;!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),o.tooltip=function(t,e){return new o.Tooltip(t,e)},o.Map.include({openTooltip:function(t,e,i){return t instanceof o.Tooltip||(t=new o.Tooltip(i).setContent(t)),e&amp;&amp;t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&amp;&amp;this.removeLayer(t),this}}),o.Layer.include({bindTooltip:function(t,e){return t instanceof o.Tooltip?(o.setOptions(t,e),this._tooltip=t,t._source=this):(this._tooltip&amp;&amp;!e||(this._tooltip=o.tooltip(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&amp;&amp;this._map&amp;&amp;this._map.hasLayer(this)&amp;&amp;this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&amp;&amp;(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?\"off\":\"on\",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,this._tooltip.options.sticky&amp;&amp;(i.mousemove=this._moveTooltip),o.Browser.touch&amp;&amp;(i.click=this._openTooltip)),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof o.Layer||(e=t,t=this),t instanceof o.FeatureGroup)for(var i in this._layers){t=this._layers[i];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&amp;&amp;this._map&amp;&amp;(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&amp;&amp;this._tooltip._container&amp;&amp;(o.DomUtil.addClass(this._tooltip._container,\"leaflet-clickable\"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&amp;&amp;(this._tooltip._close(),this._tooltip.options.interactive&amp;&amp;this._tooltip._container&amp;&amp;(o.DomUtil.removeClass(this._tooltip._container,\"leaflet-clickable\"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&amp;&amp;(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&amp;&amp;this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var e=t.layer||t.target;this._tooltip&amp;&amp;this._map&amp;&amp;this.openTooltip(e,this._tooltip.options.sticky?t.latlng:i)},_moveTooltip:function(t){var e,i,n=t.latlng;this._tooltip.options.sticky&amp;&amp;t.originalEvent&amp;&amp;(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),n=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(n)}}),o.LayerGroup=o.Layer.extend({initialize:function(t){this._layers={};var e,i;if(t)for(e=0,i=t.length;e&lt;i;e++)this.addLayer(t[e])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&amp;&amp;this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&amp;&amp;this._layers[e]&amp;&amp;this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&amp;&amp;(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){for(var t in this._layers)this.removeLayer(this._layers[t]);return this},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)i=this._layers[e],i[t]&amp;&amp;i[t].apply(i,n);return this},onAdd:function(t){for(var e in this._layers)t.addLayer(this._layers[e])},onRemove:function(t){for(var e in this._layers)t.removeLayer(this._layers[e])},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];for(var e in this._layers)t.push(this._layers[e]);return t},setZIndex:function(t){return this.invoke(\"setZIndex\",t)},getLayerId:function(t){return o.stamp(t)}}),o.layerGroup=function(t){return new o.LayerGroup(t)},o.FeatureGroup=o.LayerGroup.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),o.LayerGroup.prototype.addLayer.call(this,t),this.fire(\"layeradd\",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&amp;&amp;(t=this._layers[t]),t.removeEventParent(this),o.LayerGroup.prototype.removeLayer.call(this,t),this.fire(\"layerremove\",{layer:t})):this},setStyle:function(t){return this.invoke(\"setStyle\",t)},bringToFront:function(){return this.invoke(\"bringToFront\")},bringToBack:function(){return this.invoke(\"bringToBack\")},getBounds:function(){var t=new o.LatLngBounds;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),o.featureGroup=function(t){return new o.FeatureGroup(t)},o.Renderer=o.Layer.extend({options:{padding:.1},initialize:function(t){o.setOptions(this,t),o.stamp(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&amp;&amp;o.DomUtil.addClass(this._container,\"leaflet-zoom-animated\")),this.getPane().appendChild(this._container),this._update(),this.on(\"update\",this._updatePaths,this)},onRemove:function(){o.DomUtil.remove(this._container),this.off(\"update\",this._updatePaths,this)},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&amp;&amp;(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=o.DomUtil.getPosition(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),r=this._map.project(this._center,e),a=this._map.project(t,e),h=a.subtract(r),l=s.multiplyBy(-i).add(n).add(s).subtract(h);o.Browser.any3d?o.DomUtil.setTransform(this._container,l,i):o.DomUtil.setPosition(this._container,l)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new o.Bounds(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),o.Map.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this.options.preferCanvas&amp;&amp;o.canvas()||o.svg()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if(\"overlayPane\"===t||t===i)return!1;var e=this._paneRenderers[t];return e===i&amp;&amp;(e=o.SVG&amp;&amp;o.svg({pane:t})||o.Canvas&amp;&amp;o.canvas({pane:t}),this._paneRenderers[t]=e),e}}),o.Path=o.Layer.extend({options:{stroke:!0,color:\"#3388ff\",weight:3,opacity:1,lineCap:\"round\",lineJoin:\"round\",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:\"evenodd\",interactive:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&amp;&amp;this._renderer._updatePath(this),this},setStyle:function(t){return o.setOptions(this,t),this._renderer&amp;&amp;this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&amp;&amp;this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&amp;&amp;this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(o.Browser.touch?10:0)}}),o.LineUtil={simplify:function(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=this._reducePoints(t,i),t=this._simplifyDP(t,i)},pointToSegmentDistance:function(t,e,i){return Math.sqrt(this._sqClosestPointOnSegment(t,e,i,!0))},closestPointOnSegment:function(t,e,i){return this._sqClosestPointOnSegment(t,e,i)},_simplifyDP:function(t,e){var n=t.length,o=typeof Uint8Array!=i+\"\"?Uint8Array:Array,s=new o(n);s[0]=s[n-1]=1,this._simplifyDPStep(t,s,e,0,n-1);var r,a=[];for(r=0;r&lt;n;r++)s[r]&amp;&amp;a.push(t[r]);return a},_simplifyDPStep:function(t,e,i,n,o){var s,r,a,h=0;for(r=n+1;r&lt;=o-1;r++)a=this._sqClosestPointOnSegment(t[r],t[n],t[o],!0),a&gt;h&amp;&amp;(s=r,h=a);h&gt;i&amp;&amp;(e[s]=1,this._simplifyDPStep(t,e,i,n,s),this._simplifyDPStep(t,e,i,s,o))},_reducePoints:function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n&lt;s;n++)this._sqDist(t[n],t[o])&gt;e&amp;&amp;(i.push(t[n]),o=n);return o&lt;s-1&amp;&amp;i.push(t[s-1]),i},clipSegment:function(t,e,i,n,o){var s,r,a,h=n?this._lastCode:this._getBitCode(t,i),l=this._getBitCode(e,i);for(this._lastCode=l;;){if(!(h|l))return[t,e];if(h&amp;l)return!1;s=h||l,r=this._getEdgeIntersection(t,e,s,i,o),a=this._getBitCode(r,i),s===h?(t=r,h=a):(e=r,l=a)}},_getEdgeIntersection:function(t,e,i,n,s){var r,a,h=e.x-t.x,l=e.y-t.y,u=n.min,c=n.max;return 8&amp;i?(r=t.x+h*(c.y-t.y)/l,a=c.y):4&amp;i?(r=t.x+h*(u.y-t.y)/l,a=u.y):2&amp;i?(r=c.x,a=t.y+l*(c.x-t.x)/h):1&amp;i&amp;&amp;(r=u.x,a=t.y+l*(u.x-t.x)/h),new o.Point(r,a,s)},_getBitCode:function(t,e){var i=0;return t.x&lt;e.min.x?i|=1:t.x&gt;e.max.x&amp;&amp;(i|=2),t.y&lt;e.min.y?i|=4:t.y&gt;e.max.y&amp;&amp;(i|=8),i},_sqDist:function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},_sqClosestPointOnSegment:function(t,e,i,n){var s,r=e.x,a=e.y,h=i.x-r,l=i.y-a,u=h*h+l*l;return u&gt;0&amp;&amp;(s=((t.x-r)*h+(t.y-a)*l)/u,s&gt;1?(r=i.x,a=i.y):s&gt;0&amp;&amp;(r+=h*s,a+=l*s)),h=t.x-r,l=t.y-a,n?h*h+l*l:new o.Point(r,a)}},o.Polyline=o.Path.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){o.setOptions(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,n=1/0,s=null,r=o.LineUtil._sqClosestPointOnSegment,a=0,h=this._parts.length;a&lt;h;a++)for(var l=this._parts[a],u=1,c=l.length;u&lt;c;u++){e=l[u-1],i=l[u];var d=r(t,e,i,!0);d&lt;n&amp;&amp;(n=d,s=r(t,e,i))}return s&amp;&amp;(s.distance=Math.sqrt(n)),s},getCenter:function(){if(!this._map)throw new Error(\"Must add layer to map before using getCenter()\");var t,e,i,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(t=0,e=0;t&lt;h-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,n=0;t&lt;h-1;t++)if(o=a[t],s=a[t+1],i=o.distanceTo(s),n+=i,n&gt;e)return r=(n-e)/i,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=o.latLng(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new o.LatLngBounds,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return o.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=o.Polyline._flat(t),n=0,s=t.length;n&lt;s;n++)i?(e[n]=o.latLng(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new o.Bounds;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),i=new o.Point(e,e);this._bounds.isValid()&amp;&amp;t.isValid()&amp;&amp;(t.min._subtract(i),t.max._add(i),this._pxBounds=t)},_projectLatlngs:function(t,e,i){var n,s,r=t[0]instanceof o.LatLng,a=t.length;if(r){for(s=[],n=0;n&lt;a;n++)s[n]=this._map.latLngToLayerPoint(t[n]),i.extend(s[n]);e.push(s)}else for(n=0;n&lt;a;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&amp;&amp;this._pxBounds.intersects(t)){if(this.options.noClip)return void(this._parts=this._rings);var e,i,n,s,r,a,h,l=this._parts;for(e=0,n=0,s=this._rings.length;e&lt;s;e++)for(h=this._rings[e],i=0,r=h.length;i&lt;r-1;i++)a=o.LineUtil.clipSegment(h[i],h[i+1],t,i,!0),a&amp;&amp;(l[n]=l[n]||[],l[n].push(a[0]),a[1]===h[i+1]&amp;&amp;i!==r-2||(l[n].push(a[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i&lt;n;i++)t[i]=o.LineUtil.simplify(t[i],e)},_update:function(){this._map&amp;&amp;(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)}}),o.polyline=function(t,e){return new o.Polyline(t,e)},o.Polyline._flat=function(t){return!o.Util.isArray(t[0])||\"object\"!=typeof t[0][0]&amp;&amp;\"undefined\"!=typeof t[0][0]},o.PolyUtil={},o.PolyUtil.clipPolygon=function(t,e,i){var n,s,r,a,h,l,u,c,d,_=[1,4,2,8],m=o.LineUtil;for(s=0,u=t.length;s&lt;u;s++)t[s]._code=m._getBitCode(t[s],e);for(a=0;a&lt;4;a++){for(c=_[a],n=[],s=0,u=t.length,r=u-1;s&lt;u;r=s++)h=t[s],l=t[r],h._code&amp;c?l._code&amp;c||(d=m._getEdgeIntersection(l,h,c,e,i),d._code=m._getBitCode(d,e),n.push(d)):(l._code&amp;c&amp;&amp;(d=m._getEdgeIntersection(l,h,c,e,i),d._code=m._getBitCode(d,e),n.push(d)),n.push(h));t=n}return t},o.Polygon=o.Polyline.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error(\"Must add layer to map before using getCenter()\");var t,e,i,n,o,s,r,a,h,l=this._rings[0],u=l.length;if(!u)return null;for(s=r=a=0,t=0,e=u-1;t&lt;u;e=t++)i=l[t],n=l[e],o=i.y*n.x-n.y*i.x,r+=(i.x+n.x)*o,a+=(i.y+n.y)*o,s+=3*o;return h=0===s?l[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var e=o.Polyline.prototype._convertLatLngs.call(this,t),i=e.length;return i&gt;=2&amp;&amp;e[0]instanceof o.LatLng&amp;&amp;e[0].equals(e[i-1])&amp;&amp;e.pop(),e},_setLatLngs:function(t){o.Polyline.prototype._setLatLngs.call(this,t),o.Polyline._flat(this._latlngs)&amp;&amp;(this._latlngs=[this._latlngs])},_defaultShape:function(){return o.Polyline._flat(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new o.Point(e,e);if(t=new o.Bounds(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&amp;&amp;this._pxBounds.intersects(t)){if(this.options.noClip)return void(this._parts=this._rings);for(var n,s=0,r=this._rings.length;s&lt;r;s++)n=o.PolyUtil.clipPolygon(this._rings[s],t,!0),n.length&amp;&amp;this._parts.push(n)}},_updatePath:function(){this._renderer._updatePoly(this,!0)}}),o.polygon=function(t,e){return new o.Polygon(t,e)},o.Rectangle=o.Polygon.extend({initialize:function(t,e){o.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=o.latLngBounds(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}}),o.rectangle=function(t,e){return new o.Rectangle(t,e)},o.CircleMarker=o.Path.extend({options:{fill:!0,radius:10},initialize:function(t,e){o.setOptions(this,e),this._latlng=o.latLng(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=o.latLng(t),this.redraw(),this.fire(\"move\",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&amp;&amp;t.radius||this._radius;return o.Path.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),n=[t+i,e+i];this._pxBounds=new o.Bounds(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&amp;&amp;this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&amp;&amp;!this._renderer._bounds.intersects(this._pxBounds)}}),o.circleMarker=function(t,e){return new o.CircleMarker(t,e)},o.Circle=o.CircleMarker.extend({initialize:function(t,e,i){if(\"number\"==typeof e&amp;&amp;(e=o.extend({},i,{radius:e})),o.setOptions(this,e),this._latlng=o.latLng(t),isNaN(this.options.radius))throw new Error(\"Circle radius cannot be NaN\");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,\nthis.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new o.LatLngBounds(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:o.Path.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,n=i.options.crs;if(n.distance===o.CRS.Earth.distance){var s=Math.PI/180,r=this._mRadius/o.CRS.Earth.R/s,a=i.project([e+r,t]),h=i.project([e-r,t]),l=a.add(h).divideBy(2),u=i.unproject(l).lat,c=Math.acos((Math.cos(r*s)-Math.sin(e*s)*Math.sin(u*s))/(Math.cos(e*s)*Math.cos(u*s)))/s;(isNaN(c)||0===c)&amp;&amp;(c=r/Math.cos(Math.PI/180*e)),this._point=l.subtract(i.getPixelOrigin()),this._radius=isNaN(c)?0:Math.max(Math.round(l.x-i.project([u,t-c]).x),1),this._radiusY=Math.max(Math.round(l.y-a.y),1)}else{var d=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(d).x}this._updateBounds()}}),o.circle=function(t,e,i){return new o.Circle(t,e,i)},o.SVG=o.Renderer.extend({getEvents:function(){var t=o.Renderer.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=o.SVG.create(\"svg\"),this._container.setAttribute(\"pointer-events\",\"none\"),this._rootGroup=o.SVG.create(\"g\"),this._container.appendChild(this._rootGroup)},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){o.Renderer.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&amp;&amp;this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute(\"width\",e.x),i.setAttribute(\"height\",e.y)),o.DomUtil.setPosition(i,t.min),i.setAttribute(\"viewBox\",[t.min.x,t.min.y,e.x,e.y].join(\" \")),this.fire(\"update\")}},_initPath:function(t){var e=t._path=o.SVG.create(\"path\");t.options.className&amp;&amp;o.DomUtil.addClass(e,t.options.className),t.options.interactive&amp;&amp;o.DomUtil.addClass(e,\"leaflet-interactive\"),this._updateStyle(t),this._layers[o.stamp(t)]=t},_addPath:function(t){this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){o.DomUtil.remove(t._path),t.removeInteractiveTarget(t._path),delete this._layers[o.stamp(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&amp;&amp;(i.stroke?(e.setAttribute(\"stroke\",i.color),e.setAttribute(\"stroke-opacity\",i.opacity),e.setAttribute(\"stroke-width\",i.weight),e.setAttribute(\"stroke-linecap\",i.lineCap),e.setAttribute(\"stroke-linejoin\",i.lineJoin),i.dashArray?e.setAttribute(\"stroke-dasharray\",i.dashArray):e.removeAttribute(\"stroke-dasharray\"),i.dashOffset?e.setAttribute(\"stroke-dashoffset\",i.dashOffset):e.removeAttribute(\"stroke-dashoffset\")):e.setAttribute(\"stroke\",\"none\"),i.fill?(e.setAttribute(\"fill\",i.fillColor||i.color),e.setAttribute(\"fill-opacity\",i.fillOpacity),e.setAttribute(\"fill-rule\",i.fillRule||\"evenodd\")):e.setAttribute(\"fill\",\"none\"))},_updatePoly:function(t,e){this._setPath(t,o.SVG.pointsToPath(t._parts,e))},_updateCircle:function(t){var e=t._point,i=t._radius,n=t._radiusY||i,o=\"a\"+i+\",\"+n+\" 0 1,0 \",s=t._empty()?\"M0 0\":\"M\"+(e.x-i)+\",\"+e.y+o+2*i+\",0 \"+o+2*-i+\",0 \";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute(\"d\",e)},_bringToFront:function(t){o.DomUtil.toFront(t._path)},_bringToBack:function(t){o.DomUtil.toBack(t._path)}}),o.extend(o.SVG,{create:function(t){return e.createElementNS(\"http://www.w3.org/2000/svg\",t)},pointsToPath:function(t,e){var i,n,s,r,a,h,l=\"\";for(i=0,s=t.length;i&lt;s;i++){for(a=t[i],n=0,r=a.length;n&lt;r;n++)h=a[n],l+=(n?\"L\":\"M\")+h.x+\" \"+h.y;l+=e?o.Browser.svg?\"z\":\"x\":\"\"}return l||\"M0 0\"}}),o.Browser.svg=!(!e.createElementNS||!o.SVG.create(\"svg\").createSVGRect),o.svg=function(t){return o.Browser.svg||o.Browser.vml?new o.SVG(t):null},o.Browser.vml=!o.Browser.svg&amp;&amp;function(){try{var t=e.createElement(\"div\");t.innerHTML='&lt;v:shape adj=\"1\"/&gt;';var i=t.firstChild;return i.style.behavior=\"url(#default#VML)\",i&amp;&amp;\"object\"==typeof i.adj}catch(t){return!1}}(),o.SVG.include(o.Browser.vml?{_initContainer:function(){this._container=o.DomUtil.create(\"div\",\"leaflet-vml-container\")},_update:function(){this._map._animatingZoom||(o.Renderer.prototype._update.call(this),this.fire(\"update\"))},_initPath:function(t){var e=t._container=o.SVG.create(\"shape\");o.DomUtil.addClass(e,\"leaflet-vml-shape \"+(this.options.className||\"\")),e.coordsize=\"1 1\",t._path=o.SVG.create(\"path\"),e.appendChild(t._path),this._updateStyle(t),this._layers[o.stamp(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&amp;&amp;t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;o.DomUtil.remove(e),t.removeInteractiveTarget(e),delete this._layers[o.stamp(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,s=t._container;s.stroked=!!n.stroke,s.filled=!!n.fill,n.stroke?(e||(e=t._stroke=o.SVG.create(\"stroke\")),s.appendChild(e),e.weight=n.weight+\"px\",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=o.Util.isArray(n.dashArray)?n.dashArray.join(\" \"):n.dashArray.replace(/( *, *)/g,\" \"):e.dashStyle=\"\",e.endcap=n.lineCap.replace(\"butt\",\"flat\"),e.joinstyle=n.lineJoin):e&amp;&amp;(s.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=o.SVG.create(\"fill\")),s.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&amp;&amp;(s.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?\"M0 0\":\"AL \"+e.x+\",\"+e.y+\" \"+i+\",\"+n+\" 0,23592600\")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){o.DomUtil.toFront(t._container)},_bringToBack:function(t){o.DomUtil.toBack(t._container)}}:{}),o.Browser.vml&amp;&amp;(o.SVG.create=function(){try{return e.namespaces.add(\"lvml\",\"urn:schemas-microsoft-com:vml\"),function(t){return e.createElement(\"&lt;lvml:\"+t+' class=\"lvml\"&gt;')}}catch(t){return function(t){return e.createElement(\"&lt;\"+t+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"lvml\"&gt;')}}}()),o.Canvas=o.Renderer.extend({getEvents:function(){var t=o.Renderer.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){o.Renderer.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=e.createElement(\"canvas\");o.DomEvent.on(t,\"mousemove\",o.Util.throttle(this._onMouseMove,32,this),this).on(t,\"click dblclick mousedown mouseup contextmenu\",this._onClick,this).on(t,\"mouseout\",this._handleMouseOut,this),this._ctx=t.getContext(\"2d\")},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var e in this._layers)t=this._layers[e],t._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},o.Renderer.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=o.Browser.retina?2:1;o.DomUtil.setPosition(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+\"px\",e.style.height=i.y+\"px\",o.Browser.retina&amp;&amp;this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire(\"update\")}},_reset:function(){o.Renderer.prototype._reset.call(this),this._postponeUpdatePaths&amp;&amp;(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[o.stamp(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&amp;&amp;(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[o.stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var e,i=t.options.dashArray.split(\",\"),n=[];for(e=0;e&lt;i.length;e++)n.push(Number(i[e]));t.options._dashArray=n}},_requestRedraw:function(t){this._map&amp;&amp;(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||o.Util.requestAnimFrame(this._redraw,this))},_extendRedrawBounds:function(t){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new o.Bounds,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&amp;&amp;(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!e||t._pxBounds&amp;&amp;t._pxBounds.intersects(e))&amp;&amp;t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(this._drawnLayers[t._leaflet_id]=t,h.beginPath(),h.setLineDash&amp;&amp;h.setLineDash(t.options&amp;&amp;t.options._dashArray||[]),i=0;i&lt;a;i++){for(n=0,o=r[i].length;n&lt;o;n++)s=r[i][n],h[n?\"lineTo\":\"moveTo\"](s.x,s.y);e&amp;&amp;h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&amp;&amp;!t._empty()){var e=t._point,i=this._ctx,n=t._radius,o=(t._radiusY||n)/n;this._drawnLayers[t._leaflet_id]=t,1!==o&amp;&amp;(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!==o&amp;&amp;i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&amp;&amp;(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||\"evenodd\")),i.stroke&amp;&amp;0!==i.weight&amp;&amp;(t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)e=s.layer,e.options.interactive&amp;&amp;e._containsPoint(n)&amp;&amp;!this._map._draggableMoved(e)&amp;&amp;(i=e);i&amp;&amp;(o.DomEvent._fakeStop(t),this._fireEvent([i],t))},_onMouseMove:function(t){if(this._map&amp;&amp;!this._map.dragging.moving()&amp;&amp;!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&amp;&amp;(o.DomUtil.removeClass(this._container,\"leaflet-interactive\"),this._fireEvent([e],t,\"mouseout\"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var i,n,s=this._drawFirst;s;s=s.next)i=s.layer,i.options.interactive&amp;&amp;i._containsPoint(e)&amp;&amp;(n=i);n!==this._hoveredLayer&amp;&amp;(this._handleMouseOut(t),n&amp;&amp;(o.DomUtil.addClass(this._container,\"leaflet-interactive\"),this._fireEvent([n],t,\"mouseover\"),this._hoveredLayer=n)),this._hoveredLayer&amp;&amp;this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order,i=e.next,n=e.prev;i&amp;&amp;(i.prev=n,n?n.next=i:i&amp;&amp;(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))},_bringToBack:function(t){var e=t._order,i=e.next,n=e.prev;n&amp;&amp;(n.next=i,i?i.prev=n:n&amp;&amp;(this._drawLast=n),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}),o.Browser.canvas=function(){return!!e.createElement(\"canvas\").getContext}(),o.canvas=function(t){return o.Browser.canvas?new o.Canvas(t):null},o.Polyline.prototype._containsPoint=function(t,e){var i,n,s,r,a,h,l=this._clickTolerance();if(!this._pxBounds.contains(t))return!1;for(i=0,r=this._parts.length;i&lt;r;i++)for(h=this._parts[i],n=0,a=h.length,s=a-1;n&lt;a;s=n++)if((e||0!==n)&amp;&amp;o.LineUtil.pointToSegmentDistance(t,h[s],h[n])&lt;=l)return!0;return!1},o.Polygon.prototype._containsPoint=function(t){var e,i,n,s,r,a,h,l,u=!1;if(!this._pxBounds.contains(t))return!1;for(s=0,h=this._parts.length;s&lt;h;s++)for(e=this._parts[s],r=0,l=e.length,a=l-1;r&lt;l;a=r++)i=e[r],n=e[a],i.y&gt;t.y!=n.y&gt;t.y&amp;&amp;t.x&lt;(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&amp;&amp;(u=!u);return u||o.Polyline.prototype._containsPoint.call(this,t,!0)},o.CircleMarker.prototype._containsPoint=function(t){return t.distanceTo(this._point)&lt;=this._radius+this._clickTolerance()},o.GeoJSON=o.FeatureGroup.extend({initialize:function(t,e){o.setOptions(this,e),this._layers={},t&amp;&amp;this.addData(t)},addData:function(t){var e,i,n,s=o.Util.isArray(t)?t:t.features;if(s){for(e=0,i=s.length;e&lt;i;e++)n=s[e],(n.geometries||n.geometry||n.features||n.coordinates)&amp;&amp;this.addData(n);return this}var r=this.options;if(r.filter&amp;&amp;!r.filter(t))return this;var a=o.GeoJSON.geometryToLayer(t,r);return a?(a.feature=o.GeoJSON.asFeature(t),a.defaultOptions=a.options,this.resetStyle(a),r.onEachFeature&amp;&amp;r.onEachFeature(t,a),this.addLayer(a)):this},resetStyle:function(t){return t.options=o.Util.extend({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){\"function\"==typeof e&amp;&amp;(e=e(t.feature)),t.setStyle&amp;&amp;t.setStyle(e)}}),o.extend(o.GeoJSON,{geometryToLayer:function(t,e){var i,n,s,r,a=\"Feature\"===t.type?t.geometry:t,h=a?a.coordinates:null,l=[],u=e&amp;&amp;e.pointToLayer,c=e&amp;&amp;e.coordsToLatLng||this.coordsToLatLng;if(!h&amp;&amp;!a)return null;switch(a.type){case\"Point\":return i=c(h),u?u(t,i):new o.Marker(i);case\"MultiPoint\":for(s=0,r=h.length;s&lt;r;s++)i=c(h[s]),l.push(u?u(t,i):new o.Marker(i));return new o.FeatureGroup(l);case\"LineString\":case\"MultiLineString\":return n=this.coordsToLatLngs(h,\"LineString\"===a.type?0:1,c),new o.Polyline(n,e);case\"Polygon\":case\"MultiPolygon\":return n=this.coordsToLatLngs(h,\"Polygon\"===a.type?1:2,c),new o.Polygon(n,e);case\"GeometryCollection\":for(s=0,r=a.geometries.length;s&lt;r;s++){var d=this.geometryToLayer({geometry:a.geometries[s],type:\"Feature\",properties:t.properties},e);d&amp;&amp;l.push(d)}return new o.FeatureGroup(l);default:throw new Error(\"Invalid GeoJSON object.\")}},coordsToLatLng:function(t){return new o.LatLng(t[1],t[0],t[2])},coordsToLatLngs:function(t,e,i){for(var n,o=[],s=0,r=t.length;s&lt;r;s++)n=e?this.coordsToLatLngs(t[s],e-1,i):(i||this.coordsToLatLng)(t[s]),o.push(n);return o},latLngToCoords:function(t){return t.alt!==i?[t.lng,t.lat,t.alt]:[t.lng,t.lat]},latLngsToCoords:function(t,e,i){for(var n=[],s=0,r=t.length;s&lt;r;s++)n.push(e?o.GeoJSON.latLngsToCoords(t[s],e-1,i):o.GeoJSON.latLngToCoords(t[s]));return!e&amp;&amp;i&amp;&amp;n.push(n[0]),n},getFeature:function(t,e){return t.feature?o.extend({},t.feature,{geometry:e}):o.GeoJSON.asFeature(e)},asFeature:function(t){return\"Feature\"===t.type||\"FeatureCollection\"===t.type?t:{type:\"Feature\",properties:{},geometry:t}}});var a={toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:\"Point\",coordinates:o.GeoJSON.latLngToCoords(this.getLatLng())})}};o.Marker.include(a),o.Circle.include(a),o.CircleMarker.include(a),o.Polyline.prototype.toGeoJSON=function(){var t=!o.Polyline._flat(this._latlngs),e=o.GeoJSON.latLngsToCoords(this._latlngs,t?1:0);return o.GeoJSON.getFeature(this,{type:(t?\"Multi\":\"\")+\"LineString\",coordinates:e})},o.Polygon.prototype.toGeoJSON=function(){var t=!o.Polyline._flat(this._latlngs),e=t&amp;&amp;!o.Polyline._flat(this._latlngs[0]),i=o.GeoJSON.latLngsToCoords(this._latlngs,e?2:t?1:0,!0);return t||(i=[i]),o.GeoJSON.getFeature(this,{type:(e?\"Multi\":\"\")+\"Polygon\",coordinates:i})},o.LayerGroup.include({toMultiPoint:function(){var t=[];return this.eachLayer(function(e){t.push(e.toGeoJSON().geometry.coordinates)}),o.GeoJSON.getFeature(this,{type:\"MultiPoint\",coordinates:t})},toGeoJSON:function(){var t=this.feature&amp;&amp;this.feature.geometry&amp;&amp;this.feature.geometry.type;if(\"MultiPoint\"===t)return this.toMultiPoint();var e=\"GeometryCollection\"===t,i=[];return this.eachLayer(function(t){if(t.toGeoJSON){var n=t.toGeoJSON();i.push(e?n.geometry:o.GeoJSON.asFeature(n))}}),e?o.GeoJSON.getFeature(this,{geometries:i,type:\"GeometryCollection\"}):{type:\"FeatureCollection\",features:i}}}),o.geoJSON=function(t,e){return new o.GeoJSON(t,e)},o.geoJson=o.geoJSON,o.Draggable=o.Evented.extend({options:{clickTolerance:3},statics:{START:o.Browser.touch?[\"touchstart\",\"mousedown\"]:[\"mousedown\"],END:{mousedown:\"mouseup\",touchstart:\"touchend\",pointerdown:\"touchend\",MSPointerDown:\"touchend\"},MOVE:{mousedown:\"mousemove\",touchstart:\"touchmove\",pointerdown:\"touchmove\",MSPointerDown:\"touchmove\"}},initialize:function(t,e,i){this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(o.DomEvent.on(this._dragStartTarget,o.Draggable.START.join(\" \"),this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&amp;&amp;(o.Draggable._dragging===this&amp;&amp;this.finishDrag(),o.DomEvent.off(this._dragStartTarget,o.Draggable.START.join(\" \"),this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&amp;&amp;this._enabled&amp;&amp;(this._moved=!1,!o.DomUtil.hasClass(this._element,\"leaflet-zoom-anim\")&amp;&amp;!(o.Draggable._dragging||t.shiftKey||1!==t.which&amp;&amp;1!==t.button&amp;&amp;!t.touches||(o.Draggable._dragging=this,this._preventOutline&amp;&amp;o.DomUtil.preventOutline(this._element),o.DomUtil.disableImageDrag(),o.DomUtil.disableTextSelection(),this._moving)))){this.fire(\"down\");var i=t.touches?t.touches[0]:t;this._startPoint=new o.Point(i.clientX,i.clientY),o.DomEvent.on(e,o.Draggable.MOVE[t.type],this._onMove,this).on(e,o.Draggable.END[t.type],this._onUp,this)}},_onMove:function(i){if(!i._simulated&amp;&amp;this._enabled){if(i.touches&amp;&amp;i.touches.length&gt;1)return void(this._moved=!0);var n=i.touches&amp;&amp;1===i.touches.length?i.touches[0]:i,s=new o.Point(n.clientX,n.clientY),r=s.subtract(this._startPoint);(r.x||r.y)&amp;&amp;(Math.abs(r.x)+Math.abs(r.y)&lt;this.options.clickTolerance||(o.DomEvent.preventDefault(i),this._moved||(this.fire(\"dragstart\"),this._moved=!0,this._startPos=o.DomUtil.getPosition(this._element).subtract(r),o.DomUtil.addClass(e.body,\"leaflet-dragging\"),this._lastTarget=i.target||i.srcElement,t.SVGElementInstance&amp;&amp;this._lastTarget instanceof SVGElementInstance&amp;&amp;(this._lastTarget=this._lastTarget.correspondingUseElement),o.DomUtil.addClass(this._lastTarget,\"leaflet-drag-target\")),this._newPos=this._startPos.add(r),this._moving=!0,o.Util.cancelAnimFrame(this._animRequest),this._lastEvent=i,this._animRequest=o.Util.requestAnimFrame(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire(\"predrag\",t),o.DomUtil.setPosition(this._element,this._newPos),this.fire(\"drag\",t)},_onUp:function(t){!t._simulated&amp;&amp;this._enabled&amp;&amp;this.finishDrag()},finishDrag:function(){o.DomUtil.removeClass(e.body,\"leaflet-dragging\"),this._lastTarget&amp;&amp;(o.DomUtil.removeClass(this._lastTarget,\"leaflet-drag-target\"),this._lastTarget=null);for(var t in o.Draggable.MOVE)o.DomEvent.off(e,o.Draggable.MOVE[t],this._onMove,this).off(e,o.Draggable.END[t],this._onUp,this);o.DomUtil.enableImageDrag(),o.DomUtil.enableTextSelection(),this._moved&amp;&amp;this._moving&amp;&amp;(o.Util.cancelAnimFrame(this._animRequest),this.fire(\"dragend\",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,o.Draggable._dragging=!1}}),o.Handler=o.Class.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}}),o.Map.mergeOptions({dragging:!0,inertia:!o.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),o.Map.Drag=o.Handler.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new o.Draggable(t._mapPane,t._container),this._draggable.on({down:this._onDown,dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on(\"predrag\",this._onPreDragLimit,this),t.options.worldCopyJump&amp;&amp;(this._draggable.on(\"predrag\",this._onPreDragWrap,this),t.on(\"zoomend\",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}o.DomUtil.addClass(this._map._container,\"leaflet-grab leaflet-touch-drag\"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){o.DomUtil.removeClass(this._map._container,\"leaflet-grab\"),o.DomUtil.removeClass(this._map._container,\"leaflet-touch-drag\"),this._draggable.disable()},moved:function(){return this._draggable&amp;&amp;this._draggable._moved},moving:function(){return this._draggable&amp;&amp;this._draggable._moving},_onDown:function(){this._map._stop()},_onDragStart:function(){var t=this._map;if(this._map.options.maxBounds&amp;&amp;this._map.options.maxBoundsViscosity){var e=o.latLngBounds(this._map.options.maxBounds);this._offsetLimit=o.bounds(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire(\"movestart\").fire(\"dragstart\"),t.options.inertia&amp;&amp;(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),e-this._times[0]&gt;50&amp;&amp;(this._positions.shift(),this._times.shift())}this._map.fire(\"move\",t).fire(\"drag\",t)},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&amp;&amp;this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x&lt;e.min.x&amp;&amp;(t.x=this._viscousLimit(t.x,e.min.x)),t.y&lt;e.min.y&amp;&amp;(t.y=this._viscousLimit(t.y,e.min.y)),t.x&gt;e.max.x&amp;&amp;(t.x=this._viscousLimit(t.x,e.max.x)),t.y&gt;e.max.y&amp;&amp;(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)&lt;Math.abs(s+i)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,i=e.options,n=!i.inertia||this._times.length&lt;2;if(e.fire(\"dragend\",t),n)e.fire(\"moveend\");else{var s=this._lastPos.subtract(this._positions[0]),r=(this._lastTime-this._times[0])/1e3,a=i.easeLinearity,h=s.multiplyBy(a/r),l=h.distanceTo([0,0]),u=Math.min(i.inertiaMaxSpeed,l),c=h.multiplyBy(u/l),d=u/(i.inertiaDeceleration*a),_=c.multiplyBy(-d/2).round();_.x||_.y?(_=e._limitOffset(_,e.options.maxBounds),o.Util.requestAnimFrame(function(){e.panBy(_,{duration:d,easeLinearity:a,noMoveStart:!0,animate:!0})})):e.fire(\"moveend\")}}}),o.Map.addInitHook(\"addHandler\",\"dragging\",o.Map.Drag),o.Map.mergeOptions({doubleClickZoom:!0}),o.Map.DoubleClickZoom=o.Handler.extend({addHooks:function(){this._map.on(\"dblclick\",this._onDoubleClick,this)},removeHooks:function(){this._map.off(\"dblclick\",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;\"center\"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}}),o.Map.addInitHook(\"addHandler\",\"doubleClickZoom\",o.Map.DoubleClickZoom),o.Map.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),o.Map.ScrollWheelZoom=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,\"mousewheel\",this._onWheelScroll,this),this._delta=0},removeHooks:function(){o.DomEvent.off(this._map._container,\"mousewheel\",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=o.DomEvent.getWheelDelta(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(o.bind(this._performZoom,this),n),o.DomEvent.stop(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=i?Math.ceil(o/i)*i:o,r=t._limitZoom(e+(this._delta&gt;0?s:-s))-e;this._delta=0,this._startTime=null,r&amp;&amp;(\"center\"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}}),o.Map.addInitHook(\"addHandler\",\"scrollWheelZoom\",o.Map.ScrollWheelZoom),o.extend(o.DomEvent,{_touchstart:o.Browser.msPointer?\"MSPointerDown\":o.Browser.pointer?\"pointerdown\":\"touchstart\",_touchend:o.Browser.msPointer?\"MSPointerUp\":o.Browser.pointer?\"pointerup\":\"touchend\",addDoubleTapListener:function(t,e,i){function n(t){var e;if(o.Browser.pointer){if(!o.Browser.edge||\"mouse\"===t.pointerType)return;e=o.DomEvent._pointersCount}else e=t.touches.length;if(!(e&gt;1)){var i=Date.now(),n=i-(r||i);a=t.touches?t.touches[0]:t,h=n&gt;0&amp;&amp;n&lt;=l,r=i}}function s(t){if(h&amp;&amp;!a.cancelBubble){if(o.Browser.pointer){if(!o.Browser.edge||\"mouse\"===t.pointerType)return;var i,n,s={};for(n in a)i=a[n],s[n]=i&amp;&amp;i.bind?i.bind(a):i;a=s}a.type=\"dblclick\",e(a),r=null}}var r,a,h=!1,l=250,u=\"_leaflet_\",c=this._touchstart,d=this._touchend;return t[u+c+i]=n,t[u+d+i]=s,t[u+\"dblclick\"+i]=e,t.addEventListener(c,n,!1),t.addEventListener(d,s,!1),t.addEventListener(\"dblclick\",e,!1),this},removeDoubleTapListener:function(t,e){var i=\"_leaflet_\",n=t[i+this._touchstart+e],s=t[i+this._touchend+e],r=t[i+\"dblclick\"+e];return t.removeEventListener(this._touchstart,n,!1),t.removeEventListener(this._touchend,s,!1),o.Browser.edge||t.removeEventListener(\"dblclick\",r,!1),this}}),o.extend(o.DomEvent,{POINTER_DOWN:o.Browser.msPointer?\"MSPointerDown\":\"pointerdown\",POINTER_MOVE:o.Browser.msPointer?\"MSPointerMove\":\"pointermove\",POINTER_UP:o.Browser.msPointer?\"MSPointerUp\":\"pointerup\",POINTER_CANCEL:o.Browser.msPointer?\"MSPointerCancel\":\"pointercancel\",TAG_WHITE_LIST:[\"INPUT\",\"SELECT\",\"OPTION\"],_pointers:{},_pointersCount:0,addPointerListener:function(t,e,i,n){return\"touchstart\"===e?this._addPointerStart(t,i,n):\"touchmove\"===e?this._addPointerMove(t,i,n):\"touchend\"===e&amp;&amp;this._addPointerEnd(t,i,n),this},removePointerListener:function(t,e,i){var n=t[\"_leaflet_\"+e+i];return\"touchstart\"===e?t.removeEventListener(this.POINTER_DOWN,n,!1):\"touchmove\"===e?t.removeEventListener(this.POINTER_MOVE,n,!1):\"touchend\"===e&amp;&amp;(t.removeEventListener(this.POINTER_UP,n,!1),t.removeEventListener(this.POINTER_CANCEL,n,!1)),this},_addPointerStart:function(t,i,n){var s=o.bind(function(t){if(\"mouse\"!==t.pointerType&amp;&amp;t.MSPOINTER_TYPE_MOUSE&amp;&amp;t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(this.TAG_WHITE_LIST.indexOf(t.target.tagName)&lt;0))return;o.DomEvent.preventDefault(t)}this._handlePointer(t,i)},this);if(t[\"_leaflet_touchstart\"+n]=s,t.addEventListener(this.POINTER_DOWN,s,!1),!this._pointerDocListener){var r=o.bind(this._globalPointerUp,this);e.documentElement.addEventListener(this.POINTER_DOWN,o.bind(this._globalPointerDown,this),!0),e.documentElement.addEventListener(this.POINTER_MOVE,o.bind(this._globalPointerMove,this),!0),e.documentElement.addEventListener(this.POINTER_UP,r,!0),e.documentElement.addEventListener(this.POINTER_CANCEL,r,!0),this._pointerDocListener=!0}},_globalPointerDown:function(t){this._pointers[t.pointerId]=t,this._pointersCount++},_globalPointerMove:function(t){this._pointers[t.pointerId]&amp;&amp;(this._pointers[t.pointerId]=t)},_globalPointerUp:function(t){delete this._pointers[t.pointerId],this._pointersCount--},_handlePointer:function(t,e){t.touches=[];for(var i in this._pointers)t.touches.push(this._pointers[i]);t.changedTouches=[t],e(t)},_addPointerMove:function(t,e,i){var n=o.bind(function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&amp;&amp;\"mouse\"!==t.pointerType||0!==t.buttons)&amp;&amp;this._handlePointer(t,e)},this);t[\"_leaflet_touchmove\"+i]=n,t.addEventListener(this.POINTER_MOVE,n,!1)},_addPointerEnd:function(t,e,i){var n=o.bind(function(t){this._handlePointer(t,e)},this);t[\"_leaflet_touchend\"+i]=n,t.addEventListener(this.POINTER_UP,n,!1),t.addEventListener(this.POINTER_CANCEL,n,!1)}}),o.Map.mergeOptions({touchZoom:o.Browser.touch&amp;&amp;!o.Browser.android23,bounceAtZoomLimits:!0}),o.Map.TouchZoom=o.Handler.extend({addHooks:function(){o.DomUtil.addClass(this._map._container,\"leaflet-touch-zoom\"),o.DomEvent.on(this._map._container,\"touchstart\",this._onTouchStart,this)},removeHooks:function(){o.DomUtil.removeClass(this._map._container,\"leaflet-touch-zoom\"),o.DomEvent.off(this._map._container,\"touchstart\",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&amp;&amp;2===t.touches.length&amp;&amp;!i._animatingZoom&amp;&amp;!this._zooming){var n=i.mouseEventToContainerPoint(t.touches[0]),s=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),\"center\"!==i.options.touchZoom&amp;&amp;(this._pinchStartLatLng=i.containerPointToLatLng(n.add(s)._divideBy(2))),this._startDist=n.distanceTo(s),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),o.DomEvent.on(e,\"touchmove\",this._onTouchMove,this).on(e,\"touchend\",this._onTouchEnd,this),o.DomEvent.preventDefault(t)}},_onTouchMove:function(t){if(t.touches&amp;&amp;2===t.touches.length&amp;&amp;this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&amp;&amp;(this._zoom&lt;e.getMinZoom()&amp;&amp;s&lt;1||this._zoom&gt;e.getMaxZoom()&amp;&amp;s&gt;1)&amp;&amp;(this._zoom=e._limitZoom(this._zoom)),\"center\"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&amp;&amp;0===r.x&amp;&amp;0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0),this._moved=!0),o.Util.cancelAnimFrame(this._animRequest);var a=o.bind(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=o.Util.requestAnimFrame(a,this,!0),o.DomEvent.preventDefault(t)}},_onTouchEnd:function(){return this._moved&amp;&amp;this._zooming?(this._zooming=!1,o.Util.cancelAnimFrame(this._animRequest),o.DomEvent.off(e,\"touchmove\",this._onTouchMove).off(e,\"touchend\",this._onTouchEnd),void(this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom)))):void(this._zooming=!1)}}),o.Map.addInitHook(\"addHandler\",\"touchZoom\",o.Map.TouchZoom),o.Map.mergeOptions({tap:!0,tapTolerance:15}),o.Map.Tap=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,\"touchstart\",this._onDown,this)},removeHooks:function(){o.DomEvent.off(this._map._container,\"touchstart\",this._onDown,this)},_onDown:function(t){if(t.touches){if(o.DomEvent.preventDefault(t),this._fireClick=!0,t.touches.length&gt;1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new o.Point(i.clientX,i.clientY),n.tagName&amp;&amp;\"a\"===n.tagName.toLowerCase()&amp;&amp;o.DomUtil.addClass(n,\"leaflet-active\"),this._holdTimeout=setTimeout(o.bind(function(){this._isTapValid()&amp;&amp;(this._fireClick=!1,this._onUp(),this._simulateEvent(\"contextmenu\",i))},this),1e3),this._simulateEvent(\"mousedown\",i),o.DomEvent.on(e,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),o.DomEvent.off(e,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&amp;&amp;t&amp;&amp;t.changedTouches){var i=t.changedTouches[0],n=i.target;n&amp;&amp;n.tagName&amp;&amp;\"a\"===n.tagName.toLowerCase()&amp;&amp;o.DomUtil.removeClass(n,\"leaflet-active\"),this._simulateEvent(\"mouseup\",i),\nthis._isTapValid()&amp;&amp;this._simulateEvent(\"click\",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)&lt;=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new o.Point(e.clientX,e.clientY),this._simulateEvent(\"mousemove\",e)},_simulateEvent:function(i,n){var o=e.createEvent(\"MouseEvents\");o._simulated=!0,n.target._simulatedClick=!0,o.initMouseEvent(i,!0,!0,t,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(o)}}),o.Browser.touch&amp;&amp;!o.Browser.pointer&amp;&amp;o.Map.addInitHook(\"addHandler\",\"tap\",o.Map.Tap),o.Map.mergeOptions({boxZoom:!0}),o.Map.BoxZoom=o.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){o.DomEvent.on(this._container,\"mousedown\",this._onMouseDown,this)},removeHooks:function(){o.DomEvent.off(this._container,\"mousedown\",this._onMouseDown,this)},moved:function(){return this._moved},_resetState:function(){this._moved=!1},_onMouseDown:function(t){return!(!t.shiftKey||1!==t.which&amp;&amp;1!==t.button)&amp;&amp;(this._resetState(),o.DomUtil.disableTextSelection(),o.DomUtil.disableImageDrag(),this._startPoint=this._map.mouseEventToContainerPoint(t),void o.DomEvent.on(e,{contextmenu:o.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this))},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=o.DomUtil.create(\"div\",\"leaflet-zoom-box\",this._container),o.DomUtil.addClass(this._container,\"leaflet-crosshair\"),this._map.fire(\"boxzoomstart\")),this._point=this._map.mouseEventToContainerPoint(t);var e=new o.Bounds(this._point,this._startPoint),i=e.getSize();o.DomUtil.setPosition(this._box,e.min),this._box.style.width=i.x+\"px\",this._box.style.height=i.y+\"px\"},_finish:function(){this._moved&amp;&amp;(o.DomUtil.remove(this._box),o.DomUtil.removeClass(this._container,\"leaflet-crosshair\")),o.DomUtil.enableTextSelection(),o.DomUtil.enableImageDrag(),o.DomEvent.off(e,{contextmenu:o.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&amp;&amp;(this._finish(),this._moved)){setTimeout(o.bind(this._resetState,this),0);var e=new o.LatLngBounds(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire(\"boxzoomend\",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&amp;&amp;this._finish()}}),o.Map.addInitHook(\"addHandler\",\"boxZoom\",o.Map.BoxZoom),o.Map.mergeOptions({keyboard:!0,keyboardPanDelta:80}),o.Map.Keyboard=o.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex&lt;=0&amp;&amp;(t.tabIndex=\"0\"),o.DomEvent.on(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),o.DomEvent.off(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var i=e.body,n=e.documentElement,o=i.scrollTop||n.scrollTop,s=i.scrollLeft||n.scrollLeft;this._map._container.focus(),t.scrollTo(s,o)}},_onFocus:function(){this._focused=!0,this._map.fire(\"focus\")},_onBlur:function(){this._focused=!1,this._map.fire(\"blur\")},_setPanDelta:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;e&lt;i;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;e&lt;i;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;e&lt;i;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;e&lt;i;e++)n[o.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;e&lt;i;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;e&lt;i;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){o.DomEvent.on(e,\"keydown\",this._onKeyDown,this)},_removeHooks:function(){o.DomEvent.off(e,\"keydown\",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,n=this._map;if(i in this._panKeys){if(n._panAnim&amp;&amp;n._panAnim._inProgress)return;e=this._panKeys[i],t.shiftKey&amp;&amp;(e=o.point(e).multiplyBy(3)),n.panBy(e),n.options.maxBounds&amp;&amp;n.panInsideBounds(n.options.maxBounds)}else if(i in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i)return;n.closePopup()}o.DomEvent.stop(t)}}}),o.Map.addInitHook(\"addHandler\",\"keyboard\",o.Map.Keyboard),o.Handler.MarkerDrag=o.Handler.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new o.Draggable(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),o.DomUtil.addClass(t,\"leaflet-marker-draggable\")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&amp;&amp;o.DomUtil.removeClass(this._marker._icon,\"leaflet-marker-draggable\")},moved:function(){return this._draggable&amp;&amp;this._draggable._moved},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire(\"movestart\").fire(\"dragstart\")},_onDrag:function(t){var e=this._marker,i=e._shadow,n=o.DomUtil.getPosition(e._icon),s=e._map.layerPointToLatLng(n);i&amp;&amp;o.DomUtil.setPosition(i,n),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire(\"move\",t).fire(\"drag\",t)},_onDragEnd:function(t){delete this._oldLatLng,this._marker.fire(\"moveend\").fire(\"dragend\",t)}}),o.Control=o.Class.extend({options:{position:\"topright\"},initialize:function(t){o.setOptions(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&amp;&amp;e.removeControl(this),this.options.position=t,e&amp;&amp;e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return o.DomUtil.addClass(e,\"leaflet-control\"),i.indexOf(\"bottom\")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e),this},remove:function(){return this._map?(o.DomUtil.remove(this._container),this.onRemove&amp;&amp;this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&amp;&amp;t&amp;&amp;t.screenX&gt;0&amp;&amp;t.screenY&gt;0&amp;&amp;this._map.getContainer().focus()}}),o.control=function(t){return new o.Control(t)},o.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,s){var r=i+t+\" \"+i+s;e[t+s]=o.DomUtil.create(\"div\",r,n)}var e=this._controlCorners={},i=\"leaflet-\",n=this._controlContainer=o.DomUtil.create(\"div\",i+\"control-container\",this._container);t(\"top\",\"left\"),t(\"top\",\"right\"),t(\"bottom\",\"left\"),t(\"bottom\",\"right\")},_clearControlPos:function(){o.DomUtil.remove(this._controlContainer)}}),o.Control.Zoom=o.Control.extend({options:{position:\"topleft\",zoomInText:\"+\",zoomInTitle:\"Zoom in\",zoomOutText:\"-\",zoomOutTitle:\"Zoom out\"},onAdd:function(t){var e=\"leaflet-control-zoom\",i=o.DomUtil.create(\"div\",e+\" leaflet-bar\"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+\"-in\",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+\"-out\",i,this._zoomOut),this._updateDisabled(),t.on(\"zoomend zoomlevelschange\",this._updateDisabled,this),i},onRemove:function(t){t.off(\"zoomend zoomlevelschange\",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&amp;&amp;this._map._zoom&lt;this._map.getMaxZoom()&amp;&amp;this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&amp;&amp;this._map._zoom&gt;this._map.getMinZoom()&amp;&amp;this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,s){var r=o.DomUtil.create(\"a\",i,n);return r.innerHTML=t,r.href=\"#\",r.title=e,r.setAttribute(\"role\",\"button\"),r.setAttribute(\"aria-label\",e),o.DomEvent.on(r,\"mousedown dblclick\",o.DomEvent.stopPropagation).on(r,\"click\",o.DomEvent.stop).on(r,\"click\",s,this).on(r,\"click\",this._refocusOnMap,this),r},_updateDisabled:function(){var t=this._map,e=\"leaflet-disabled\";o.DomUtil.removeClass(this._zoomInButton,e),o.DomUtil.removeClass(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&amp;&amp;o.DomUtil.addClass(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&amp;&amp;o.DomUtil.addClass(this._zoomInButton,e)}}),o.Map.mergeOptions({zoomControl:!0}),o.Map.addInitHook(function(){this.options.zoomControl&amp;&amp;(this.zoomControl=new o.Control.Zoom,this.addControl(this.zoomControl))}),o.control.zoom=function(t){return new o.Control.Zoom(t)},o.Control.Attribution=o.Control.extend({options:{position:\"bottomright\",prefix:'&lt;a href=\"http://leafletjs.com\" title=\"A JS library for interactive maps\"&gt;Leaflet&lt;/a&gt;'},initialize:function(t){o.setOptions(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=o.DomUtil.create(\"div\",\"leaflet-control-attribution\"),o.DomEvent&amp;&amp;o.DomEvent.disableClickPropagation(this._container);for(var e in t._layers)t._layers[e].getAttribution&amp;&amp;this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&amp;&amp;(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&amp;&amp;t.push(e);var i=[];this.options.prefix&amp;&amp;i.push(this.options.prefix),t.length&amp;&amp;i.push(t.join(\", \")),this._container.innerHTML=i.join(\" | \")}}}),o.Map.mergeOptions({attributionControl:!0}),o.Map.addInitHook(function(){this.options.attributionControl&amp;&amp;(new o.Control.Attribution).addTo(this)}),o.control.attribution=function(t){return new o.Control.Attribution(t)},o.Control.Scale=o.Control.extend({options:{position:\"bottomleft\",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e=\"leaflet-control-scale\",i=o.DomUtil.create(\"div\",e),n=this.options;return this._addScales(n,e+\"-line\",i),t.on(n.updateWhenIdle?\"moveend\":\"move\",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?\"moveend\":\"move\",this._update,this)},_addScales:function(t,e,i){t.metric&amp;&amp;(this._mScale=o.DomUtil.create(\"div\",e,i)),t.imperial&amp;&amp;(this._iScale=o.DomUtil.create(\"div\",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&amp;&amp;t&amp;&amp;this._updateMetric(t),this.options.imperial&amp;&amp;t&amp;&amp;this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e&lt;1e3?e+\" m\":e/1e3+\" km\";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o&gt;5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+\" mi\",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+\" ft\",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+\"px\",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+\"\").length-1),i=t/e;return i=i&gt;=10?10:i&gt;=5?5:i&gt;=3?3:i&gt;=2?2:1,e*i}}),o.control.scale=function(t){return new o.Control.Scale(t)},o.Control.Layers=o.Control.extend({options:{collapsed:!0,position:\"topright\",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i&lt;n?-1:n&lt;i?1:0}},initialize:function(t,e,i){o.setOptions(this,i),this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){return this._initLayout(),this._update(),this._map=t,t.on(\"zoomend\",this._checkDisabledLayers,this),this._container},onRemove:function(){this._map.off(\"zoomend\",this._checkDisabledLayers,this);for(var t=0;t&lt;this._layers.length;t++)this._layers[t].layer.off(\"add remove\",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off(\"add remove\",this._onLayerChange,this);var e=this._getLayer(o.stamp(t));return e&amp;&amp;this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){o.DomUtil.addClass(this._container,\"leaflet-control-layers-expanded\"),this._form.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t&lt;this._form.clientHeight?(o.DomUtil.addClass(this._form,\"leaflet-control-layers-scrollbar\"),this._form.style.height=t+\"px\"):o.DomUtil.removeClass(this._form,\"leaflet-control-layers-scrollbar\"),this._checkDisabledLayers(),this},collapse:function(){return o.DomUtil.removeClass(this._container,\"leaflet-control-layers-expanded\"),this},_initLayout:function(){var t=\"leaflet-control-layers\",e=this._container=o.DomUtil.create(\"div\",t),i=this.options.collapsed;e.setAttribute(\"aria-haspopup\",!0),o.DomEvent.disableClickPropagation(e),o.Browser.touch||o.DomEvent.disableScrollPropagation(e);var n=this._form=o.DomUtil.create(\"form\",t+\"-list\");i&amp;&amp;(this._map.on(\"click\",this.collapse,this),o.Browser.android||o.DomEvent.on(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=o.DomUtil.create(\"a\",t+\"-toggle\",e);s.href=\"#\",s.title=\"Layers\",o.Browser.touch?o.DomEvent.on(s,\"click\",o.DomEvent.stop).on(s,\"click\",this.expand,this):o.DomEvent.on(s,\"focus\",this.expand,this),o.DomEvent.on(n,\"click\",function(){setTimeout(o.bind(this._onInputClick,this),0)},this),i||this.expand(),this._baseLayersList=o.DomUtil.create(\"div\",t+\"-base\",n),this._separator=o.DomUtil.create(\"div\",t+\"-separator\",n),this._overlaysList=o.DomUtil.create(\"div\",t+\"-overlays\",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e&lt;this._layers.length;e++)if(this._layers[e]&amp;&amp;o.stamp(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){t.on(\"add remove\",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&amp;&amp;this._layers.sort(o.bind(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&amp;&amp;t.setZIndex&amp;&amp;(this._lastZIndex++,t.setZIndex(this._lastZIndex))},_update:function(){if(!this._container)return this;o.DomUtil.empty(this._baseLayersList),o.DomUtil.empty(this._overlaysList);var t,e,i,n,s=0;for(i=0;i&lt;this._layers.length;i++)n=this._layers[i],this._addItem(n),e=e||n.overlay,t=t||!n.overlay,s+=n.overlay?0:1;return this.options.hideSingleBase&amp;&amp;(t=t&amp;&amp;s&gt;1,this._baseLayersList.style.display=t?\"\":\"none\"),this._separator.style.display=e&amp;&amp;t?\"\":\"none\",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(o.stamp(t.target)),i=e.overlay?\"add\"===t.type?\"overlayadd\":\"overlayremove\":\"add\"===t.type?\"baselayerchange\":null;i&amp;&amp;this._map.fire(i,e)},_createRadioElement:function(t,i){var n='&lt;input type=\"radio\" class=\"leaflet-control-layers-selector\" name=\"'+t+'\"'+(i?' checked=\"checked\"':\"\")+\"/&gt;\",o=e.createElement(\"div\");return o.innerHTML=n,o.firstChild},_addItem:function(t){var i,n=e.createElement(\"label\"),s=this._map.hasLayer(t.layer);t.overlay?(i=e.createElement(\"input\"),i.type=\"checkbox\",i.className=\"leaflet-control-layers-selector\",i.defaultChecked=s):i=this._createRadioElement(\"leaflet-base-layers\",s),i.layerId=o.stamp(t.layer),o.DomEvent.on(i,\"click\",this._onInputClick,this);var r=e.createElement(\"span\");r.innerHTML=\" \"+t.name;var a=e.createElement(\"div\");n.appendChild(a),a.appendChild(i),a.appendChild(r);var h=t.overlay?this._overlaysList:this._baseLayersList;return h.appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,i,n=this._form.getElementsByTagName(\"input\"),o=[],s=[];this._handlingClick=!0;for(var r=n.length-1;r&gt;=0;r--)t=n[r],e=this._getLayer(t.layerId).layer,i=this._map.hasLayer(e),t.checked&amp;&amp;!i?o.push(e):!t.checked&amp;&amp;i&amp;&amp;s.push(e);for(r=0;r&lt;s.length;r++)this._map.removeLayer(s[r]);for(r=0;r&lt;o.length;r++)this._map.addLayer(o[r]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._form.getElementsByTagName(\"input\"),o=this._map.getZoom(),s=n.length-1;s&gt;=0;s--)t=n[s],e=this._getLayer(t.layerId).layer,t.disabled=e.options.minZoom!==i&amp;&amp;o&lt;e.options.minZoom||e.options.maxZoom!==i&amp;&amp;o&gt;e.options.maxZoom},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),o.control.layers=function(t,e,i){return new o.Control.Layers(t,e,i)}}(window,document);]]&gt;&lt;/script&gt;&lt;script_name&gt;leafletjs asset app&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-15 15:54:14&lt;/sys_created_on&gt;&lt;sys_id&gt;2cc411bbdb15f7409eb1d311ce961991&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_sp_asset_map.leafletjs asset app&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Asset Map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_2cc411bbdb15f7409eb1d311ce961991&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-15 15:54:14&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1406205445</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>06177cabdb8b3b409eb1d311ce961939</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc3388d60000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>x_snc_sp_asset_map.leafletjs asset app</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>02f45d7bd115f7405fd084742925675b</update_guid>\n<update_guid_history>02f45d7bd115f7405fd084742925675b:1406205445</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_ad15e93fdb55f7409eb1d311ce96194b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>leaflet style asset</name><source>local</source><sp_css display_value=\"leaflet style bank\">a9256d3fdb55f7409eb1d311ce961935</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:05:05</sys_created_on><sys_id>ad15e93fdb55f7409eb1d311ce96194b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leaflet style asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_css_include_ad15e93fdb55f7409eb1d311ce96194b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:05:05</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>1557760986</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>0a177cabdb8b3b409eb1d311ce961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc7465bf0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>leaflet style asset</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>7f25693f0e55f7404929c8e83c7e20fa</update_guid>\n<update_guid_history>7f25693f0e55f7404929c8e83c7e20fa:1557760986</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_7e8fb308dba17b409eb1d311ce9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:57:59</sys_created_on><sys_id>7e8fb308dba17b409eb1d311ce9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sn_customerservice_case</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sys_scope_privilege_7e8fb308dba17b409eb1d311ce9619a0</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 22:57:59</sys_updated_on><target_name>sn_customerservice_case</target_name><target_scope display_value=\"Customer Service\">51d811fad7223100b7490ee60e61034f</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1473455107</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>0a177cabdb8b3b409eb1d311ce961938</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2ddd61e0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>sn_customerservice_case</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>328fb30877a17b402c043488895a9aa2</update_guid>\n<update_guid_history>328fb30877a17b402c043488895a9aa2:1473455107</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4a7a40abdb5d77409eb1d311ce9619e6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function MapPageController($scope, $rootScope, $window,$location, $anchorScroll, $timeout, leafletData, $q) {\n\t/* widget controller */\n\tvar c = this;\n\t$scope.firstFlip = true;\n\t$location.hash('ff');\n\t\n\t\n\n\tc.awesomeMarkerIconCurrentLocation = {\n\t\ttype: 'awesomeMarker',\n\t\ticon: 'user',\n\t\tmarkerColor: 'green',\n\t\tprefix: 'fa',\n\t\ticonColor: '#fff'\n\t};\n\tc.awesomeMarkerIconComputer = {\n\t\ttype: 'awesomeMarker',\n\t\ticon: 'desktop',\n\t\tmarkerColor: 'blue',\n\t\tprefix: 'fa',\n\t\ticonColor: '#fff'\n\t};\n\tc.awesomeMarkerIconConsumable = {\n\t\ttype: 'awesomeMarker',\n\t\ticon: 'keyboard',\n\t\tmarkerColor: 'blue',\n\t\tprefix: 'fa',\n\t\ticonColor: '#fff'\n\t};\n\tc.awesomeMarkerIconCase = {\n\t\ttype: 'awesomeMarker',\n\t\ticon: 'exclamation-circle',\n\t\tmarkerColor: 'blue',\n\t\tprefix: 'fa',\n\t\ticonColor: '#fff'\n\t};\n\n\t//Center of the USA\n\tc.centerLocation = {\n\t\tlat: 37.3382,\n\t\tlng: 121.8863,\n\t\tzoom: 3,\n\t\ticon: c.awesomeMarkerIconCurrentLocation\n\t}\n\tc.startLocation = {\n\t\tlat: 37.3382,\n\t\tlng: 121.8863,\n\t\tzoom: 3,\n\t\ticon: c.awesomeMarkerIconCurrentLocation\n\t}\n\tfunction getDeviceLocation() {\n\t\tvar defer = $q.defer();\n\t\t\n\t\tif(navigator.geolocation &amp;&amp; c.liveApp) {\n\t\t\tnavigator.geolocation.getCurrentPosition(function(location) {\n\t\t\t\tc.centerLocation.lat = location.coords.latitude;\n\t\t\t\tc.centerLocation.lng = location.coords.longitude;\n\t\t\t\tc.startLocation.lat = location.coords.latitude;\n\t\t\t\tc.startLocation.lng = location.coords.longitude;\n\t\t\t\tif(location.coords.accuracy &gt; 14){\n\t\t\t\t\tc.centerLocation.zoom = Math.round(location.coords.accuracy*0.25);\t\t\t\n\t\t\t\t\tc.startLocation.zoom = Math.round(location.coords.accuracy*0.25);\n\t\t\t\t}\n\t\t\t\tdefer.resolve();\n\t\t\t});\n\t\t}else{\n\t\t\t//Default to New York\n\t\t\tc.centerLocation = {\n\t\t\t\tlat: 37.3382,\n\t\t\t\tlng: -121.8863,\n\t\t\t\tzoom: 9,\n\t\t\t\ticon: c.awesomeMarkerIconCurrentLocation\n\t\t\t};\n\t\t\tangular.copy(c.centerLocation,c.startLocation);\n\t\t\tdefer.resolve();\n\t\t}\n\t\treturn defer.promise;\n\t}\n\n\tc.mapbox = {\n\t\tmapbox_layer: {\n\t\t\tname: 'Mapbox',\n\t\t\t\n\t\t\turl: 'https://api.mapbox.com/styles/v1/mapbox/streets-v10/tiles/256/{z}/{x}/{y}?access_token={apikey}',\n\t\t\ttype: 'xyz',\n\t\t\toptions: {\n\t\t\t\tapikey: c.data.apiKey,\n\t\t\t\tmapid: 'testing'\n\t\t\t}\n\t\t}\n\t};\n\n\tc.$onInit = function() {\n\t\t$rootScope.$broadcast('refreshFooterUrl');\n\n\t\tc.loading = true;\n\t\tc.liveApp = false;\n\t\tc.masterMarkers = [];\n\t\tc.markers = [];\t\n\t\tc.masterList = [];\n\t\tc.list = []\n\t\tc.searchObject = $location.search();\n\n\t\tc.tile = c.mapbox.mapbox_layer;\t\n\t\tgetDeviceLocation().then(function(){\n\t\t\t$timeout(function() {\n\t\t\t\tdemoMarkers();\n\t\t\t\tc.loading = false;\t\n\t\t\t}, 3000);\n\t\t});\n\t};\n\t\n\t$scope.$watch(\"c.loading\", function(value) {\n\t\tif (value === false) {\n\t\t\tleafletData.getMap().then(function(map) {\n\t\t\t\t$timeout(function() {\n\t\t\t\t\tmap.invalidateSize();\n\t\t\t\t}, 300);\n\t\t\t});\n\t\t}\n\t});\n\n\tfunction demoMarkers(){\n\t\tvar list = [];\n\t\tfor(var j = 0; j &lt; c.data.list.length; j++){\n\t\t\tlist[j] = {\n\t\t\t\tname: c.data.list[j].name,\n\t\t\t\taddress: c.data.list[j].street +' ' + c.data.list[j].city +', '+ c.data.list[j].state +' '+ c.data.list[j].zip,\n\t\t\t\ttypes: c.data.list[j].types,\n\t\t\t\tlat: c.data.list[j].lat,\n\t\t\t\tlng: c.data.list[j].lng,\n\t\t\t\tsysId: c.data.list[j].sysId,\n\t\t\t\tlocation: c.data.list[j].location\n\t\t\t};\n\n\t\t}\n\t\tvar markers = [];\n\t\tfor(var i = 0; i &lt; c.data.sites.length; i++){\n\t\t\tmarkers[i] = {\n\t\t\t\tname: '',\n\t\t\t\ticon: c.awesomeMarkerIconBank,\n\t\t\t\tmessage : '',\n\t\t\t\timage : '',\n\t\t\t\tlat: parseFloat(c.data.sites[i].lat),\n\t\t\t\tlng: parseFloat(c.data.sites[i].lng),\n\t\t\t\tgetMessageScope: function(){ return $scope; }\n\t\t\t};\n\t\t\t\n\t\t\tvar msg = [];\n\t\t\tmsg.push('&lt;div class=\"flex-it\"&gt;');\n\t\t\tif(c.data.sites[i].types.indexOf('Case')&gt;-1){\n\t\t\t\tif(c.data.sites[i].caseCount == 1){\n\t\t\t\tmarkers[i].name = c.data.sites[i].caseCount + ' Case';\n\t\t\t\t} else{\n\t\t\t\t\tmarkers[i].name = c.data.sites[i].caseCount + ' Cases';\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tmarkers[i].icon = c.awesomeMarkerIconCase;\n\t\t\t\tmarkers[i].type = 'Case';\n\t\t\t\tmarkers[i].address = c.data.sites[i].street +' ' + c.data.sites[i].city +', '+ c.data.sites[i].state +' '+ c.data.sites[i].zip;\n\n\t\t\t\t\tmsg.push('&lt;div&gt;&lt;div class=\"info-title\"&gt; # of Cases: '+ c.data.sites[i].caseCount +'&lt;/div&gt;');\n\t\t\t\tmsg.push('&lt;div&gt;&lt;div class=\"info-title\"&gt; # of my Assets: '+ c.data.sites[i].assetCount +'&lt;/div&gt;');\n\t\t\t\tmsg.push('&lt;div class=\"info\"&gt;'+ c.data.sites[i].street +'&lt;/div&gt;');\n\t\t\t\tmsg.push('&lt;div class=\"info\"&gt;'+ c.data.sites[i].city +', '+ c.data.sites[i].state +' '+ c.data.sites[i].zip +'&lt;/div&gt;');\n\t\t\t\tmsg.push(\"&lt;div class='redirect' ng-click='c.flipFilter(\" + '\"'+ c.data.sites[i].location+ '\"' + ',' + '\"' + markers[i].type + '\"' + \")'&gt; See the list of Cases&lt;/div&gt;\");\n\t\t\t\tmsg.push(\"&lt;div class='redirect' ng-click='c.flipFilter(\" + '\"'+ c.data.sites[i].location+ '\"' + ', \"Asset\"'+ \")'&gt; See the list of Assets&lt;/div&gt;\");\n\n\t\t\t}else\tif(c.data.sites[i].types.indexOf('Asset')&gt;-1){\n\t\t\t\n\t\t\t\t\n\t\t\t\tmarkers[i].icon = c.awesomeMarkerIconComputer;\n\t\t\t\tmarkers[i].name = c.data.sites[i].asset;\n\t\t\t\tmarkers[i].type = 'Asset';\n\t\t\t\tmarkers[i].address = c.data.sites[i].street +' ' + c.data.sites[i].city +', '+ c.data.sites[i].state +' '+ c.data.sites[i].zip;\n\t\t\t\tmsg.push('&lt;div&gt;&lt;div class=\"info-title\"&gt; # of my Assets: '+ c.data.sites[i].assetCount +'&lt;/div&gt;');\n\t\t\t\tmsg.push('&lt;div class=\"info\"&gt;'+ c.data.sites[i].street +'&lt;/div&gt;');\n\t\t\t\tmsg.push('&lt;div class=\"info\"&gt;'+ c.data.sites[i].city +', '+ c.data.sites[i].state +' '+ c.data.sites[i].zip +'&lt;/div&gt;');\n\t\t\t\tmsg.push(\"&lt;div class='redirect' ng-click='c.flipFilter(\" + '\"'+ c.data.sites[i].location+ '\"' + ',' + '\"' + markers[i].type + '\"' + \")'&gt; See the list of Assets&lt;/div&gt;\");\n\t\t\t}\n\t\t\tmsg.push('&lt;/div&gt;');\n\t\t\tmarkers[i].message = msg.join('');\n\t\t}\n\t\t\n\t\tmarkers[c.data.sites.length] = {\n\t\t\t\tname: '',\n\t\t\t\ticon: c.startLocation.icon,\n\t\t\t\tmessage : 'You are Here!',\n\t\t\t\timage : '',\n\t\t\t\tlat: c.startLocation.lat,\n\t\t\t\tlng: c.startLocation.lng\n\t\t\t};\n\t\tangular.copy(markers, c.markers);\n\t\tangular.copy(list, c.list);\n\t\tangular.copy(c.markers, c.masterMarkers);\n\t\tangular.copy(c.list, c.masterList);\n\t}\n\n\n\tfunction insertMarkers(markers) {\n\n\t\tfor (var i = 0; i &lt; markers.length; i++) {\n\t\t\tmarkers[i].message = '&lt;div class=\"flex-it\"&gt;';\n\t\t\tif (markers[i].type == 'ATM') {\n\t\t\t\tmarkers[i].icon = c.awesomeMarkerIconComputer;\n\t\t\t\tmarkers[i].message = markers[i].message; \n\n\t\t\t} else if (markers[i].type == 'Bank') {\n\t\t\t\tmarkers[i].name = markers[i].name + \" - Branch\"\n\t\t\t\tmarkers[i].icon = c.awesomeMarkerIconBank;\n\t\t\t\tmarkers[i].message = markers[i].message; \n\t\t\t} else {\n\t\t\t\tmarkers[i].name = '';\n\t\t\t\tmarkers[i].message = markers[i].message + 'You are Here!';\n\t\t\t\tmarkers[i].image = '';\n\t\t\t}\n\t\t\tmarkers[i].message = markers[i].message + '&lt;div&gt;&lt;div class=\"info-title\"&gt;'+ markers[i].name  +'&lt;/div&gt;';\n\t\t\tmarkers[i].message = markers[i].message + '&lt;div class=\"info\"&gt;M-F: 9AM - 5PM&lt;/div&gt;';\n\t\t\tmarkers[i].message = markers[i].message + '&lt;div class=\"info\"&gt;SAT: 9AM - 3PM&lt;/div&gt;';\n\t\t\tmarkers[i].message = markers[i].message + '&lt;/div&gt;&lt;/div&gt;';\n\t\t}\n\t\treturn markers;\n\t}\n\n\tc.filterMarkers = function(type) {\n\t\tvar tempArray = [];\n\t\tvar listArray = [];\n\t\tif(type == 'Case and Asset'){\n\t\t\tfor(var j = 0; j &lt; c.masterMarkers.length; j++){\n\t\t\t\ttempArray.push(c.masterMarkers[j]);\n\t\t\t\t\n\t\t\t}\n\t\t\tfor(var k = 0; k &lt; c.masterList.length; k++){\n\t\t\t\tlistArray.push(c.masterList[k]);\n\t\t\t}\n\t\t} else{\n\t\t\tfor (var i = 0; i &lt; c.masterMarkers.length; i++) {\n\t\t\t\tif (c.masterMarkers[i].type &amp;&amp; c.masterMarkers[i].type.indexOf(type)&gt;-1) {\n\t\t\t\t\ttempArray.push(c.masterMarkers[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(var x = 0; x &lt; c.masterList.length; x++){\n\t\t\t\tif(c.masterList[x].types == type){\n\t\t\t\t\tlistArray.push(c.masterList[x]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tc.markers = tempArray;\n\t\tc.list = listArray;\n\t\tc.list.splice(0,0,c.startLocation);\n\t\tc.markers.splice(0, 0, c.startLocation);\n\t}\n\n\tc.flipIt = function(){\n\t\t// Need to force the moving of the page to the top \n\t\t// because of scrolling on the back-part page\n\t\t$anchorScroll();\n\t\t$scope.flip();\n\t\tc.map = !c.map;\n\t}\n\tc.flipFilter = function(location, type){\n\t\t// Need to force the moving of the page to the top \n\t\t// because of scrolling on the back-part page\n\t\tvar listArray = []\n\t\tfor(var i = 0; i &lt; c.masterList.length; i++){\n\t\t\t\tif(c.masterList[i].location == location &amp;&amp; c.masterList[i].types == type){\n\t\t\t\t\tlistArray.push(c.masterList[i]);\n\t\t\t\t}\n\t\t\t}\n\t\tc.list = listArray;\n\t\t$anchorScroll();\n\t\t$scope.flip();\n\t\tc.map = !c.map;\n\t}\n\t$scope.$on('leafletDirectiveMarker.click', function(e, args) {\n\t\tvar marker = args.leafletObject.getLatLng();\n\t\tc.centerLocation.lat = marker.lat + 0.002;\n\t\tc.centerLocation.lng = marker.lng;\n\t});\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;#mapid {\n  height: 100vh;\n  width: 100vw;\n}\n.fa-stack-1x {\n  color: red;\n}\n.fa-exclamation-circle{\n  color: red;\n}\n.sk-spinner-pulse {\n  width: 60px;\n  height: 60px;\n  margin: 60px auto;\n  background-color: $bam-darkblue;\n  border-radius: 100%;\n  -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out;\n  animation: sk-pulseScaleOut 1s infinite ease-in-out;\n}\n\n@-webkit-keyframes sk-pulseScaleOut {\n  0% {\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n  100% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 0;\n  }\n}\n\n@keyframes sk-pulseScaleOut {\n  0% {\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n  100% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 0;\n  }\n}\n\n.flex-it {\n  display: flex;\n  //align-items: center;\n  .image {\n    width: 80px;\n    height: 80px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-position: center;\n    background-size: cover;\n    position: relative;\n    margin-right: 5px;\n  }\n  .info-title{\n    color: $bam-blue;\n    font-weight: 500;\n    display: block;\n  }\n  .info{\n    color: $bam-blue;\n    font-weight: 400;\n    display: block;\n  }\n}\n.redirect{\n    color: #0645AD;\n    font-weight: 400;\n    display: block;\n }\n.type-icons {\n  position: fixed;\n  right: 40px;\n  top: 100px;\n  z-index: 1200;\n  .each-type {\n    margin: 0px;\n    margin-top: 20px;\n  }\n  .exp {\n    width: 34px;\n    height: 34px;\n    background-color: white;\n    border-radius: 100%;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.54);\n    border: 0;\n    line-height: 80px;\n    text-align: center;\n    vertical-align: middle;\n    display: flex;\n    align-items: center;\n    color: $bam-white;\n    justify-content: center;\n    .fa {\n      color: $bam-blue;\n      font-size: 16px;\n    }\n  }\n}\n.map-icon {\n  fill: $bam-white;\n  stroke: $bam-blue;\n  object-fit: contain;\n  height: 20px;\n  width: 20px;\n}\n.near-by {\n  min-height: 100vh;\n  background: $brand-secondary;\n  margin-top: -10px;\n}\n\n.angular-leaflet-map {\n  margin-top: 20px;\n  height: 85vh;\n  width: 96vw;\n  .leaflet-popup-content p {\n    margin: 5px 0px !important;\n  }\n}\n\n.loading {\n  color: $brand-primary;\n  .loading-span {\n    padding-left: 10px;\n  }\n}\n\n.spinny {\n  position: absolute;\n  top: 50px;\n  margin-left: auto;\n  margin-right: auto;\n  left: 0;\n  right: 0;\n  z-index: 12000;\n}\n\n.back-part {\n  width: 100vw;\n  height: 100vh;\n  background: $bam-white;\n  color: $bam-dark-gray;\n  .each-marker {\n    background: $bam-white;\n    padding: 10px;\n    border-bottom: 1px solid #ddd;\n    h3 {\n      font-size: 20px;\n      font-weight: 400;\n    }\n    h4 {\n      font-size: 18px;\n      font-weight: 300;\n      margin-top: -4px;\n    }\n    a {\n      font-size: 14px;\n      color: %bam-blue;\n    }\n  }\n}\n\n/*******************leaflet overrides**********************/\n.leaflet-bar {\n  border: 0px solid transparent;\n  margin-left: 14px;\n}\n.leaflet-bar a,\n.leaflet-bar a:hover {\n  background-color: $bam-white;\n  width: 26px;\n  height: 26px;\n  line-height: 26px;\n  display: block;\n  text-align: center;\n  text-decoration: none;\n  color: $bam-black;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.54);\n  border: 0;\n  z-index: 810;\n}\n.leaflet-bar a,\n.leaflet-control-layers-toggle {\n  background-position: 50% 50%;\n  background-repeat: no-repeat;\n  display: block;\n}\n.leaflet-bar a:hover {\n  background-color: #f4f4f4;\n}\n.leaflet-bar a:first-child {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.leaflet-bar a:last-child {\n  border-bottom-left-radius: 4px;\n  border-bottom-right-radius: 4px;\n  \n}\n.leaflet-bar a.leaflet-disabled {\n  cursor: default;\n  background-color: #f4f4f4;\n  color: #bbb;\n}\n\n.leaflet-touch .leaflet-bar a {\n  border-radius: 50%;\n  background-color: $bam-white;\n  color: $bam-blue;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  width: 34px;\n  height: 34px;\n}\n\n\n/* zoom control */\n\n.leaflet-control-zoom-in,\n.leaflet-control-zoom-out {\n  font-family : 'SFUIDisplay','SourceSansPro', Helvetica, Arial, sans-serif !important;\n  font-size: 34px;\n  font-weight: 200;\n  text-indent: 0px;\n  padding-top: 1px;\n}\n.leaflet-control-zoom-out {\n  font-size: 36px;\n  padding-top: 2px;\n}\n\n.leaflet-touch .leaflet-control-zoom-in {\n  font-size: 34px;\n}\n.leaflet-touch .leaflet-control-zoom-out {\n  font-size: 36px;\n  padding-top: 2px;\n}\n\n\n\n/*******************flippy animations**********************/\n\nflippy {\n  float: left;\n  -webkit-perspective: 600px;\n  -moz-perspective: 600px;\n  -ms-perspective: 600px;\n  perspective: 600px;\n}\n\nflippy-front {\n  position: absolute;\n  z-index: 900;\n  width: inherit;\n  height: inherit;\n  -webkit-transform: rotate3d(0, 0, 0, 0deg);\n  -moz-transform: rotate3d(0, 0, 0, 0deg);\n  -ms-transform: rotate3d(0, 0, 0, 0deg);\n  transform: rotate3d(0, 0, 0, 0deg);\n  -webkit-transform-style: preserve-3d;\n  -moz-transform-style: preserve-3d;\n  -ms-transform-style: preserve-3d;\n  transform-style: preserve-3d;\n  -webkit-backface-visibility: hidden;\n  -moz-backface-visibility: hidden;\n  -ms-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\nflippy-back {\n  position: absolute;\n  z-index: 800;\n  width: inherit;\n  height: inherit;\n  -webkit-transform: rotate3d(0, 1, 0, -180deg);\n  -moz-transform: rotate3d(0, 1, 0, -180deg);\n  -ms-transform: rotate3d(0, 1, 0, -180deg);\n  transform: rotate3d(0, 1, 0, -180deg);\n  -webkit-transform-style: preserve-3d;\n  -moz-transform-style: preserve-3d;\n  -ms-transform-style: preserve-3d;\n  transform-style: preserve-3d;\n  -webkit-backface-visibility: hidden;\n  -moz-backface-visibility: hidden;\n  -ms-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\nflippy.flipped flippy-front {\n  z-index: 900;\n  -webkit-transform: rotate3d(0, 1, 0, 180deg);\n  -moz-transform: rotate3d(0, 1, 0, 180deg);\n  -ms-transform: rotate3d(0, 1, 0, 180deg);\n  transform: rotate3d(0, 1, 0, 180deg);\n  visibility: hidden;\n}\n\nflippy.flipped flippy-back {\n  z-index: 1000;\n  -webkit-transform: rotate3d(0, 0, 0, 0deg);\n  -moz-transform: rotate3d(0, 0, 0, 0deg);\n  -ms-transform: rotate3d(0, 0, 0, 0deg);\n  transform: rotate3d(0, 0, 0, 0deg);\n}\n\nflippy.fancy {\n  float: left;\n  margin: 0 10px 10px 0;\n  position: relative;\n  font-size: .8em;\n  cursor: pointer;\n}\n\nflippy.fancy img {\n  height: 100%;\n  width: ;\n}\n\nflippy.fancy flippy-front {\n  float: none;\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 900;\n  width: inherit;\n  height: inherit;\n}\n\nflippy.fancy flippy-front.flipped {\n  border-color: $bam-box-shadow;\n  box-shadow: 0 15px 50px $bam-box-shadow;\n}\n\nflippy.fancy flippy-back {\n  float: none;\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1800;\n  width: inherit;\n  height: inherit;\n}\n\nflippy.fancy flippy-back.flipped {\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;service_portal_asset_map&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Service Portal Asset Map&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"mapbox_apikey\",\"default_value\":\"pk.eyJ1Ijoic3VzaC1jaGFuZHJhc2hla2FyIiwiYSI6ImNqMnFwcnplZTAwMDEycWt6cm1yNDF0bzEifQ.krI_R9WCDI_GBKrfY6bf1g\",\"section\":\"other\",\"label\":\"Mapbox ApiKey\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n\tdata.apiKey = options.mapbox_apikey;\n\tvar currentUser = gs.getUserID();\n\n\tvar userAccount = '';\n\tvar user = new GlideRecord('customer_contact');\n\tuser.addQuery('sys_id', currentUser);\n\tuser.query();\n\tif(user.next()){\n\t\tuserAccount = user.account;\n\t}\n\tdata.sites = [];\n\tvar locations = [];\n\tdata.list = [];\n\tvar grSites = new GlideRecord('sn_customerservice_case');\n\tlatLonQuery = 'asset.locationISNOTEMPTY^assetISNOTEMPTY^contact=' + currentUser;//'locationISNOTEMPTY^location.latitudeISNOTEMPTY^location.longitudeISNOTEMPTY';\n\tgrSites.addEncodedQuery(latLonQuery);\n\tgrSites.query();\n\twhile (grSites.next()) {\n\t\tvar locationExists = locations.indexOf(grSites.asset.location.getDisplayValue())\n\t\tdata.list.push({\n\t\t\t\tsysId: grSites.sys_id.getDisplayValue(),\n\t\t\t\tname: grSites.getDisplayValue(),\n\t\t\t\tlocation: grSites.asset.location.getDisplayValue(),\n\t\t\t\tstreet : grSites.asset.location.street.getDisplayValue(),\n\t\t\t\tcity : grSites.asset.location.city.getDisplayValue(),\n\t\t\t\tstate : grSites.asset.location.state.getDisplayValue(),\n\t\t\t\tzip : grSites.asset.location.zip.getDisplayValue(),\n\t\t\t\tlat : grSites.asset.location.latitude.getDisplayValue(),\n\t\t\t\tlng : grSites.asset.location.longitude.getDisplayValue(),\n\t\t\t\ttypes: 'Case'\n\t\t\t});\n\t\tif(locationExists == -1){\n\t\t\tlocations.push(grSites.asset.location.getDisplayValue());\t\t\t\n\t\t\tdata.sites.push({\n\t\t\t\tasset: grSites.asset.getDisplayValue(),\n\t\t\t\tlocation: grSites.asset.location.getDisplayValue(),\n\t\t\t\tsys_id : grSites.asset.location.sys_id,\n\t\t\t\tstreet : grSites.asset.location.street.getDisplayValue(),\n\t\t\t\tcity : grSites.asset.location.city.getDisplayValue(),\n\t\t\t\tstate : grSites.asset.location.state.getDisplayValue(),\n\t\t\t\tzip : grSites.asset.location.zip.getDisplayValue(),\n\t\t\t\tphone : grSites.asset.location.phone.getDisplayValue(),\n\t\t\t\tlat : grSites.asset.location.latitude.getDisplayValue(),\n\t\t\t\tlng : grSites.asset.location.longitude.getDisplayValue(),\n\t\t\t\ttypes : 'Case',\n\t\t\t\tcaseCount : 1,\n\t\t\t\tassetCount : 0\n\t\t\t});\n\t\t} else{\n\t\t\tdata.sites[locationExists].caseCount++;\n\t\t}\n\t}\n\t\n\tvar grAssets = new GlideRecord('alm_asset');\n\tlatLonQuery = 'locationISNOTEMPTY^account=' + userAccount;\n\tgrAssets.addEncodedQuery(latLonQuery);\n\tgrAssets.query();\n\twhile (grAssets.next()) {\n\t\tdata.list.push({\n\t\t\t\tname: grAssets.getDisplayValue(),\n\t\t\tlocation: grAssets.location.getDisplayValue(),\n\t\t\t\tstreet : grAssets.location.street.getDisplayValue(),\n\t\t\t\tcity : grAssets.location.city.getDisplayValue(),\n\t\t\t\tstate : grAssets.location.state.getDisplayValue(),\n\t\t\t\tzip : grAssets.location.zip.getDisplayValue(),\n\t\t\t\tlat : grAssets.location.latitude.getDisplayValue(),\n\t\t\t\tlng : grAssets.location.longitude.getDisplayValue(),\n\t\t\t\ttypes: 'Asset'\n\t\t\t\n\t\t\t});\n\t\tvar assetLocationExists = locations.indexOf(grAssets.location.getDisplayValue())\n\t\tif(assetLocationExists == -1){\n\t\t\tlocations.push(grSites.asset.location.getDisplayValue());\n\t\t\tdata.sites.push({\n\t\t\t\tasset: grAssets.getDisplayValue(),\n\t\t\t\tsys_id : grAssets.location.sys_id,\n\t\t\t\tlocation: grAssets.location.getDisplayValue(),\n\t\t\t\tstreet : grAssets.location.street.getDisplayValue(),\n\t\t\t\tcity : grAssets.location.city.getDisplayValue(),\n\t\t\t\tstate : grAssets.location.state.getDisplayValue(),\n\t\t\t\tzip : grAssets.location.zip.getDisplayValue(),\n\t\t\t\tphone : grAssets.location.phone.getDisplayValue(),\n\t\t\t\tlat : grAssets.location.latitude.getDisplayValue(),\n\t\t\t\tlng : grAssets.location.longitude.getDisplayValue(),\n\t\t\t\ttypes : 'Asset',\n\t\t\t\tassetCount : 1\n\t\t\t});\n\t\t} else{\n\t\t\tdata.sites[assetLocationExists].assetCount++;\n\t\t}\n\t}\n\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-14 15:50:16&lt;/sys_created_on&gt;&lt;sys_id&gt;4a7a40abdb5d77409eb1d311ce9619e6&lt;/sys_id&gt;&lt;sys_mod_count&gt;188&lt;/sys_mod_count&gt;&lt;sys_name&gt;Service Portal Asset Map&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Asset Map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4a7a40abdb5d77409eb1d311ce9619e6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-08-09 18:54:00&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none;\"&gt;\n  &lt;symbol id=\"icon-flippy\" width=\"20\" height=\"12\" viewBox=\"0 0 20 12\"&gt;\n    &lt;g fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"&gt;\n        &lt;path d=\"M1 1h18M1 6h18M1 11h18\"/&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"row near-by\"&gt;\n    &lt;flippy class=\"fancy\" flip-duration=\"900\" timing-function=\"ease-in-out\"&gt;\n        &lt;flippy-front id='ff'&gt;\n            &lt;leaflet lf-center=\"c.centerLocation\" markers=\"c.markers\" tiles=\"c.tile\" defaults=\"defaults\"&gt;&lt;/leaflet&gt;\n        &lt;/flippy-front&gt;\n        &lt;flippy-back&gt;\n            &lt;div class=\"back-part\"&gt;\n                &lt;div class=\"each-marker\" ng-repeat=\"eachmarker in c.list\" ng-if='eachmarker.name.length&gt;0'&gt;\n                  &lt;a href=\"https://jhermann5demo.service-now.com/csm?id=csm_ticket&amp;table=sn_customerservice_case&amp;sys_id={{eachmarker.sysId}}&amp;view=csp\" ng-if=\"eachmarker.types == 'Case'\"&gt;  \n                    &lt;h3&gt;{{eachmarker.name}}&lt;/h3&gt;&lt;/a&gt;\n                  &lt;h3 ng-if=\"eachmarker.types == 'Asset'\"&gt;{{eachmarker.name}}&lt;/h3&gt;\n                  \t\n   \n                    &lt;a target=\"_blank\" href=\"https://www.google.com/maps/dir/?api=1&amp;destination={{eachmarker.lat}},{{eachmarker.lng}}\"&gt;&lt;h4&gt;{{eachmarker.address}}&lt;/h4&gt; Start Driving&lt;/a&gt;\n                &lt;/div&gt;\n            &lt;/div&gt;\n        &lt;/flippy-back&gt;\n    &lt;/flippy&gt;\n    &lt;div class=\"type-icons\"&gt;\n        &lt;span class=\"each-type exp\" ng-click=\"c.filterMarkers('Asset')\" name='Show ATMs'&gt;\n            &lt;i class=\"fa fa-desktop\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/span&gt;\n        &lt;span class=\"each-type exp\" ng-click=\"c.filterMarkers('Case')\"&gt;\n            &lt;i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/span&gt;\n      &lt;span class=\"each-type exp fa-stack fa-2x\" ng-click=\"c.filterMarkers('Case and Asset')\"&gt;\n        &lt;i class=\"fa fa-desktop fa-stack-2x\" aria-hidden=\"true\"&gt;&lt;/i&gt;    \n        &lt;i class=\"fa fa-exclamation fa-stack-1x\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/span&gt;\n        &lt;span class=\"each-type exp\" ng-click=\"c.flipIt()\" ng-if=\"!c.map\"&gt;\n          &lt;i class=\"fa fa-car\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/span&gt;\n      &lt;span class=\"each-type exp\" ng-click=\"c.flipIt()\" ng-if=\"c.map\"&gt;\n          &lt;i class=\"fa fa-globe\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div class=\"spinny\" ng-show=\"c.loading\"&gt;\n        &lt;div class=\"sk-spinner sk-spinner-pulse\"&gt;&lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-280724880</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>0e177cabdb8b3b409eb1d311ce961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16c77bb028c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>Service Portal Asset Map</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>e5d6f4ab298b3b40943970572edc0dab</update_guid>\n<update_guid_history>e5d6f4ab298b3b40943970572edc0dab:-280724880,afa6786beb8b3b40b835019904c9e81c:1458433423,98c4b8e75b8b3b4027ee81619f545c21:-288575810,2a03b867978b3b4041907a3bca89fb61:-1684503426,13f1b827688b3b40570b4f24de578f18:2016834774,67817ca3408b3b40a444b3c00c738d36:-1119589684,63df2063f08b3b40dd41a2ea6354c016:-384508464,5ccfe823df8b3b40992bc41421ef8833:499340569,349fb868cd69bb40b8a68c15097f0a40:95481725,a62ffc283869bb4075d87ed50b3d35f8:-1660642807,8bc9f4207869bb408ae243f6b68e94ea:-1695995173,48b9b4209c69bb40e80635b783a65b2e:1918852681,9779b0208c69bb4044e13e67a2219ad4:1942352469,c969f8ec0029bb405f79aedd12a26321:-1381698357,1709bc6c6929bb406055b05c45111240:1942352469,da08342c6929bb40c49ece0a5626fdc2:-1083020289,1ee7342c9c29bb40c38530b0f7589594:-1899250729,745434285c29bb40117a6aaad8a8eca4:1992286975,f5243028ee29bb408cffdf6143a576c5:-265339242,7422b0a46729bb40899e48bfeb01a225:1237170615,e09e2c60f129bb4025a7fbe0344fc50e:-1677384604,e95ee4601729bb4008a2925d3af64186:-1423015185,f81ee4208f29bb40f5b3be97c20a9721:-1458621375,f4bd2820f229bb403d128544812ff993:-1735457467,a26d24205429bb40390893b252b2c508:226229138,144de0209029bb4072736eb3e0fefeff:750239376,02fcececd1e5bb408b4cd7103fad9eb8:-763179138,4ddca8ec5ee5bb40979b820cbfbc2271:1538311255,eefb68ac9ee5bb40cd4236042757fae7:705313484,81fb24ac18e5bb402f2764148f324931:2054087492,69fa606c14e5bb40d75c8168743b3357:1194047960,e8aa206cede5bb40a336a1afbf174ed5:1600725322,ee9ae82cf0e5bb408a7cbf356f35cb2a:2138755115,0a7928e89fe5bb400803f8c4aafd04fa:591748266,7759a4e8f9e5bb40e14b5b56f1795280:2022394623,3f29a0e835e5bb409b0d4342cf01a8c4:-1232665315,c038ec6837e5bb408035d86f62187163:1048894770,a2f7ac2847e5bb40d4bc2c6ef45cecbc:-17899658,f5b76068d7e5bb40a6e3988f4117b5b7:1296327028,7043ac247ee5bb40552bb5509e55de47:-1005703962,d3236c24b4e5bb403531d9c2ba6dc0dd:-547593610,11f2a0241be5bb40c26f9f13471e9d09:-1084046664,3de2a024e9e5bb40ef4286c8fb722c2f:-1612568709,4792ace060e5bb408d487f62f98139b6:-421436019,0b62ace0bbe5bb4003ff25fe750dc114:-1673471942,80626ce008e5bb403f4e64cf836604ad:-1348472304,0952aca043e5bb40c80c7d3c5517bcd0:136581882,6d422c60aae5bb40c3b7fcf9ee6495ef:-930105191,d542a0600ee5bb40a49b55eb4e863b95:591424052,5f1164ec14a5bb405b5ee943f9b6fa83:-1870968909,e8e0acacd0a5bb40ff96370e403b63d7:1301323090,14a0e8ac33a5bb40fe5c97277aa8a507:-547525859,317028ac5aa5bb402d66fed2dc3abb6f:-1076031183,1a6024acc5a5bb408ac38a3fe7f5ce20:-1588168288,27cf9c6cfaa5bb4011a5f7a902a6bea8:-717115976,211580604265bb40aff155454c6fe71e:2139792314,650f3398e325bb40212a24e0b0024014:1619828523,2cfeff585325bb40c4bea9f81df07618:1632449963,11deff58c225bb40795a377f32941511:1889168075,e09ebb586a25bb404f7827fa8886ed1d:-1920534965,5d3e37588525bb4058353d58176f0d5d:1619828523,942eff186425bb40db3f81ef33ae3d13:-1772584155,f5edff183a25bb40639d5d8951ee050a:1528311558,786d73185d25bb40de089f9dc73d29dc:142587966,26fcbfd45325bb405cbebabe0661e0bb:1954906161,f9dcbfd42725bb4018b5be1bb6d81d2d:-588896884,6bbc7f947125bb404a12767d6a0193fe:-737704445,60db37940625bb409398d75a0d3c754f:1232588448,967b33949725bb40658cbe581a5e8d57:1401276699,d73bff540025bb401cce635fb65c38d1:-56592005,121b7f54e425bb402fa0991db1050e18:2132808222,e18a73542d25bb40103f78b30ac1a155:-1608502458,2c6abb145a25bb40e99f5790a25f0f23:-676157047,7aa87b90e725bb40f412f9ba917f9213:1214144925,9b57b3504d25bb4083ce7242f7a862df:1359182691,474733504d25bb40f11ac0a573bacaa8:290228035,2937fb10b525bb40b690a40a655a6199:-1459634749,31f67b103625bb401d0e8917ad4e1e7f:-184520862,fbb6f7107f25bb40ceafc5d219612b33:-389075712,e39677100325bb40e05dd1655cbe8111:-272407002,d396b3107825bb408641e5edadff7e8f:-628818165,20867fdc00e1bb4023173aa9010c0fb7:-501443328,17367fdc75e1bb40b816d37b981fa14b:1559534967,c606f7dc29e1bb40f006a734ac1e400d:1355861045,bd05bb5cdce1bb4021e31f6138391e55:242177749,70b23bd849e1bb406fb4b04e43c636ba:-1595379310,8532ff9817e1bb409a336f2e0894e5f5:910513490,7af17b98a6e1bb40467125021984c342:-741898290,88513b1850e1bb40b0ae066f534370c2:-1680602134,56e03b18bee1bb409efea5216ba6d481:767897044,99d0b7184de1bb405ac942c8f10f6978:-1454630505,311f67949ee1bb40a6b454e00bc6f242:-90785993,c3be235493e1bb404d1822af341a79f5:-670771317,328e6f1498e1bb40102c5817526cd321:241743792,d85ee714bbe1bb40d8727c3eea6c0546:-93381596,fc2e271409e1bb40efb5fb5470b0a9b2:104484481,920ee3143ee1bb40589ec78852e7bcb3:759391954,62ed631409e1bb40d517d0709fbf9444:-1218556904,75cd6bd0afe1bb401d60c01a456db285:-1089634088,e0ad6bd0f5e1bb40a1269071e5f5f3b3:-378342595,aa8de7d080e1bb40d0efdd77f89b3fbc:-312363223,4f6de3d07de1bb40508a133b8f2dd7fd:1299433205,e13d23d0aee1bb40d53071d1731873ab:-1519644044,952d63d0fbe1bb40677b2c41c44359e0:-974045953,767ce390f8e1bb40f1f63ee28339a966:24411446,893c6f50dce1bb4033671e9725893654:2015349608,a43cab5007e1bb407a3bcf03ab91b356:-1622116472,33fbab5083e1bb40f3a15db9c31d74d3:-54061492,94ebab50cbe1bb40f02bf91616c7c84c:282708396,71ab63dcffa1bb4038dd82617d3ee137:-54061492,064b63dca8a1bb40a303cbed5b3fb429:-1731543776,ad3bef9c97a1bb408e5f4393401ae3e4:1933200522,ebeae79cdca1bb40c3d1e18239c48c40:207194434,36ba279cf6a1bb40df140a000bd52741:-353274918,7c9aef5c03a1bb403e349eccf0b164e3:-1973134,c87ae75c89a1bb400eb1de126ae26cbb:1078752745,d32a6b5cc9a1bb400ef2494323c2667a:393540442,c6c9ef1cffa1bb40134964f6c3f32011:-1865251497,4eb9235c7aa1bb40148c91ea4b89a782:-1092808361,87d867d881a1bb40ea9470f3f4544cc1:330084470,a47867d879a1bb4090ed528e885cde4a:1294124732,d58ffbc40aa17b40b79d909fbe77b5a2:-1821069936,362ff7c49da17b405db8abac98796484:-116762383,ba2dff041ba17b4093d49e3e6a0ce0b0:2144050941,3efcfb0476a17b409b3979718ba7e2d5:-64587218,29ecfb0450a17b40cc2bc0e93cb9079d:240453234,7cbb77c01ea17b4022db34829ab13c3d:-64587218,565bbf80fca17b40745a5341933d0349:-202254797,fd4b7f80f3a17b4094f69f50834002f5:-1564069835,103bbf8050a17b4088bbb900bff16a3b:621044564,4d2b3b8000a17b408dcc5946412c1fcf:-1868700140,3b0bf78098a17b404d157884f7f9ce0c:1783148468,ccdab78009a17b407ba2b0196ea527e0:1877307065,b0ca378049a17b4007a266de4d7a7c3c:-152817160,43aaf3801ca17b4035d02178a5c0bdae:-677135881,1caab74044a17b40a26e8029cad55add:-1408285289,eff7070447ad3b404c73424b253e166e:-1918821734,9071fa73ffd9f74060064e65649ce3f3:732118330,8d617e734dd9f7408928a345e2fbfef6:528354068,e3513e739bd9f74017520d589213efad:489168633,05513e73a6d9f740dab94f5cfd7d6e16:-640164710,17413e73cfd9f7405cc07ec9dd7a8fa4:1415909972,00417a735bd9f740321cea47da081d91:1517205974,dd213a731ad9f7403b761a3b7b2ea522:1375552279,0e11f6733bd9f740ab93e9a42f0ece94:-1136354412,a20136735dd9f7406bf253e31a1bb296:236825434,04d072739ad9f740acdf455c87e537fe:642341480,bca07e3333d9f740db0658d51bac83ad:-917965800,e6903e3314d9f740796099586d43c59d:-1772340126,a97ceefb6999f74026e6cfb0edc0c5e6:-917965800,50c5d6b35559f74046f09149e1a26597:-411363147,7ab5d6b3f359f7402af59e67f6451a3f:-1588161835,041e753b1dd5f740261d4723c27413e0:19841701,165db9f707d5f740a8f728b42393a940:-1375291611,b4dcfdb73ed5f740b0c332bb765b4cf9:359781428,39bcfdb777d5f740c458e8a8bb166743:-1997443289,96acf9b7ebd5f740366ca77d9547d9f5:-1033765355,3c9c3db75cd5f740a72a0f8ddc0707d6:-1997443289,c18cf9b7dfd5f74022432f95fb6d7feb:-1432892918,057cb9b737d5f7400d48c47ee5d46752:-1205651064,5b5cb5b775d5f7404aa122e7d78ce011:-1863635252,dd5cf5b72cd5f7405d4a70b2f8bce2a3:-827943337,6b3c35b7dfd5f7405cab859a795a9e6b:-1872909075,c61cf1b77bd5f740b80770b06ee1513a:-444257576,470c31b76cd5f740cb6e053ea9a6faee:1175558584,44fbbd778dd5f740196181623908ff88:1448791020,34ebfd778cd5f7403aa488699a1c134d:-226008992,28dbbd7744d5f740e197bbc7a4dad51f:729226048,8bbb3d7741d5f740bbd3a832061c39f4:1448791020,9fab7977e7d5f740d8a311893aff5357:1024452044,f69bb977b9d5f74096de8e775d1c1f3f:1703476812,bb8bb5779ad5f740c456996fd5d11131:1448791020,f48b397725d5f740eaba69a81c53ca1b:-552445300,4d7b7577f7d5f7402e87365603eb2f20:1448791020,b26b7577b0d5f740c4a47bba93372b96:-1639266420,716b75772fd5f740e0fa383a04c06169:1448791020,6b5bfd37ced5f740ea0a40394478d31a:437042956,ceba79376ed5f740a745e41b16439502:1448791020,c0ba39376ed5f740266f2b8942e3a7ad:1038074926,e7aa3937a1d5f740096a9e27301690a5:-1653181648,2ff9f9f358d5f740e2e32ef26917ff70:81586248,b7b9b5f3f1d5f7400d6e0ffdd8d75641:-1655626975,4e5971f3e2d5f74028db68f3ead1d23d:1173185220,046da5b75295f740b8cc9c5f073f323f:-1616491772,8e4de5778e95f740cf788e83909a3a27:-1414581423,854d21b7f395f74025d645b29a8152f8:1714127773,3b00ddf37115f7405002f4564ef8c9a9:-1764881731,5f0fcdb3b015f74037128b73dc64c97e:536617008,827a40ab395d7740c95eb9c3c8e33fe8:-488487739</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_9274197bdb15f7409eb1d311ce96195e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"flippy\">e474597bdb15f7409eb1d311ce9619c3</sp_angular_provider><sp_widget display_value=\"Service Portal Asset Map\">4a7a40abdb5d77409eb1d311ce9619e6</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:52:05</sys_created_on><sys_id>9274197bdb15f7409eb1d311ce96195e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>flippy.Service Portal Asset Map</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_9274197bdb15f7409eb1d311ce96195e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:52:05</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>423449233</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>31177cabdb8b3b409eb1d311ce961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc318e150000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>flippy.Service Portal Asset Map</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>da74197b1b15f740a3e9e77cde06d55f</update_guid>\n<update_guid_history>da74197b1b15f740a3e9e77cde06d55f:423449233</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>db_image_448c64ecdbe5bb409eb1d311ce9619c2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>41</height><image>d28ca4ecdbe5bb409eb1d311ce96191a</image><name>marker-icon.png</name><size_bytes>1466</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:52:57</sys_created_on><sys_id>448c64ecdbe5bb409eb1d311ce9619c2</sys_id><sys_mod_count>2</sys_mod_count><sys_name>marker-icon.png</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>db_image_448c64ecdbe5bb409eb1d311ce9619c2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 20:53:03</sys_updated_on><thumbnail/><width>25</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#2e85cb</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height>41</image_height><image_width>25</image_width><size_bytes>1466</size_bytes><size_compressed>1489</size_compressed><state>pending</state><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:02</sys_created_on><sys_id>d28ca4ecdbe5bb409eb1d311ce96191a</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 20:53:03</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>448c64ecdbe5bb409eb1d311ce9619c2</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"d28ca4ecdbe5bb409eb1d311ce96191a\">d28ca4ecdbe5bb409eb1d311ce96191a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:02</sys_created_on><sys_id>168ca4ecdbe5bb409eb1d311ce96191a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AboFRfqJUE5HDQoaCgAAAA1JSERSAAAAGQAAACkIBgAAAMCTgs4AAAWBSURBVHgBrVcDkGNZFM3ahbXt3dhpm2vb3rYdTNsM2mOzNbbiZG3bynju/vOr9tdm2un+VadevffuPec8J7zk1zKmBIV26AKlbligMAxFogypGLpoqrkTdioNA7eoDCNVasPw1yr9EGnKR3yhlRv+Rom62jDyvVo/0gjRaYsosiwnK/XD+SrD0KHYxh0H77XY6fF579AzC9/j8OT8t+n+LifFNe06hDilbkCPvCmJyLUD16t0A3Y4frjHw5I/2PcW3dvtpaROD8Wb3WyJOtrR/2ifmxCv0g16MfoJRRSlq+MU2rUH45p2HGad9rxF8SY3xU0CxCE+oXnnEeQzPPeNKYKFZTp/v9dko0f736EEs4dijO4pA/HIw9QqStf8rS5ad8VokZLVA9G1mw4+2vc2xbS7KHo00I6RTdjP5tdtPcjwbfETkRcte0JdturAI73M9Bg9FNnm8gNcPtT7DusUMShRR/uJschHjLpstU9evPwlVkSqXXe2vHC57+4OK93d+RZFtLr8gDZsgPi6TRSkXU3youVsGVezgR7sctN9XWPngA+84OdJ85YGq0pW+OAsrMXlh0STl7BGQaUrSLfcSh999zsdPnqMPv/pT6ofcLHtIEs2e0flgg+84OfJ8hdlhFUM+qAe0uzkAEcPdjMu56ylvu3v0VjfgOMzCtWtxO7CVPnlgw+84GdGsnhVdN02di6Dm5wcsGMSm3fTvTUDdOz4cRrve7p1PcU1bB+Vjzp4wc+T5i76LqnNSlGtbtI0ODkkdHgpqmYzla/YTxN9xvUeiqocwdT65YMPvODnibPn/YFKeLOL1PUODhBBctOgY0KRvq1vU1T5ACUavX754AOvOGf+7xDZhmFBWVnn4IA62p9uGZpQJLV7M0VWbaKYNs+Y+eDnCbP6DCH6gcNx7R5S1Do4YMjJHS5SFSyg7e98OaaA57MfSZk3n3HswGL75YMvWD94SJTdq+WJ07rvVuQt/BvDldXY/w/OjTJ3Li3b/R67ffFhI4w4PyFN/gKsG0YxKhd88tyFf4nSu5J4/Dctl4rSO48ltjOuGQfSKjsHeTXriGIa9rCE4owuStAvJWlmDyscVbsTa4c4vzzwgE+U1nUU/Oy1Ikzr3h9avpHCm9wkrrT7QcIgtMHNksU120DMlqiHN7rRPyoHPKHlm46Dl7u7BCmmh8SZ/b74Ni+bJKoYG4pqJwXVuVCOG4d28Igy+nzCFNN9nMjtGV2nC1LMv4XX7CR1nZME5baAgXzw8FPMP+Cl5EQAwRvGclxokc0eunOOLSBAJLqF2QR5i30MX/ao9wQLxEzbwfCavex03KG3TRvIC63aTeC59Y22C04Q4UZTBxdY0Nt01umAEbES8qQ5CzGK8nHfeKjDRXDlLpJVOulWrXXKwDZGnuBN89+S1zrOG1cEEL5p1EuyF/qwbZF8c9nkQBzixVnzfII3TQWT/iSCC7jRlO8gSbmDbiq1TgqMGvH8FNMfyJ9UBIAbuAqudbEkNxTvHxfoRxzOGbejpiJy+wtdZ+HcKHVbSTzHSdcX7R8XGC3imHPxC/KmLAIIUoypcKepcTGOrXRt4f5RQDv6cbqZ0b8+7R/cuAVwauXazSQ02Omagn2jgHb0Iw7x0xPhDmjHy6K0Xp+qysk6vyqfA1tHO/qFKcbnA/7rgLuH2WnfSEo20p1aO12Ru48DX2cntPPfNH+JuABFuFvgCWFq9wF5uZMdwWXZ+9gSdbSjH3EzEoFLxu0n4qIRur3MDhG2FBcOE9rRP1MR7r2Ba6nBzq4FSmGq5eB/78WsiPB4dBLj+l24x7kRFQwdR33G/xlH3wLGRLgXafcRStRnXQRg3DsFab3HUaI+yyLcaCIZEMpZFhl9eU435181sz4aAjBh3AAAAABJRU5ErkJggrrbGIG6BQAA</data><length>1972</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"d28ca4ecdbe5bb409eb1d311ce96191a\">d28ca4ecdbe5bb409eb1d311ce96191a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:02</sys_created_on><sys_id>d68ca4ecdbe5bb409eb1d311ce96191a</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>763081612</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>3117f8abdb8b3b409eb1d311ce9619b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac791d0340000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>marker-icon.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>aa8ca4ec21e5bb404f90fea0b0b6797c</update_guid>\n<update_guid_history>aa8ca4ec21e5bb404f90fea0b0b6797c:763081612,ee8ca4ec0ce5bb40ffa7f635684cd720:-63486970,168ca4ec8fe5bb40f85cf5163fe7ca1e:-63486970,818c24ece0e5bb400e8728e640ff4669:256940490</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_2bb59ec8dba93b409eb1d311ce96194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"DELETE\"><order>100</order><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sp_js_include display_value=\"Marker\">27951ec8dba93b409eb1d311ce961922</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 15:15:44</sys_created_on><sys_id>2bb59ec8dba93b409eb1d311ce96194e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Leaflet NG.Marker</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_js_include_2bb59ec8dba93b409eb1d311ce96194e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 15:15:44</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>728250262</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>35177cabdb8b3b409eb1d311ce961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac1386dcf0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Leaflet NG.Marker</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>9c36da0c4aa93b401dab2d62d639a1ab</update_guid>\n<update_guid_history>9c36da0c4aa93b401dab2d62d639a1ab:728250262,afb59ec89ba93b408433edad27fb854f:78596642</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_6895657fdb55f7409eb1d311ce9619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"awesome marker asset css\">c175257fdb55f7409eb1d311ce9619c5</sp_css_include><sp_dependency display_value=\"awesome marker asset\">ed9591fbdb15f7409eb1d311ce961924</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:06:46</sys_created_on><sys_id>6895657fdb55f7409eb1d311ce9619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>awesome marker asset css.awesome marker asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_css_include_6895657fdb55f7409eb1d311ce9619de</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:06:46</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>1808329714</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>39177cabdb8b3b409eb1d311ce961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc75f0360000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>awesome marker asset css.awesome marker asset</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>a895657ff455f740c41141a59b9b24df</update_guid>\n<update_guid_history>a895657ff455f740c41141a59b9b24df:1808329714</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_b216ddfbdb15f7409eb1d311ce9619f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">fe16ddfbdb15f7409eb1d311ce9619f3</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:59:12</sys_created_on><sys_id>b216ddfbdb15f7409eb1d311ce9619f6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_column_b216ddfbdb15f7409eb1d311ce9619f6</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:59:12</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1198374514</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>3d177cabdb8b3b409eb1d311ce961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc3813dc0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>7616ddfb7e15f7408e98b5f6e31c67f7</update_guid>\n<update_guid_history>7616ddfb7e15f7408e98b5f6e31c67f7:1198374514</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_65d77f8cdb617b409eb1d311ce96194c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_css_include display_value=\"awesome marker asset css\">c175257fdb55f7409eb1d311ce9619c5</sp_css_include><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>lil.dicky</sys_created_by><sys_created_on>2019-05-16 22:24:18</sys_created_on><sys_id>65d77f8cdb617b409eb1d311ce96194c</sys_id><sys_mod_count>1</sys_mod_count><sys_name>awesome marker asset css.Leaflet NG</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_css_include_65d77f8cdb617b409eb1d311ce96194c</sys_update_name><sys_updated_by>lil.dicky</sys_updated_by><sys_updated_on>2019-05-16 22:24:25</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>-485134511</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>3d17f8abdb8b3b409eb1d311ce9619b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2bf1be80000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>awesome marker asset css.Leaflet NG</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>9fd77f8c70617b40f36b44d01782f569</update_guid>\n<update_guid_history>9fd77f8c70617b40f36b44d01782f569:-485134511,edd77f8cc9617b40ff52443fef6c294d:1208941746</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_1884d97bdb15f7409eb1d311ce96194b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>leaflet-directive-two</module><name>Leaflet NG</name><page_load>true</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:52:41</sys_created_on><sys_id>1884d97bdb15f7409eb1d311ce96194b</sys_id><sys_mod_count>7</sys_mod_count><sys_name>Leaflet NG</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_dependency_1884d97bdb15f7409eb1d311ce96194b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 20:35:59</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>947489956</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>42177cabdb8b3b409eb1d311ce961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac25bd4a50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>Leaflet NG</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>fe0fdb4ca0ed3b400257717071f60aaa</update_guid>\n<update_guid_history>fe0fdb4ca0ed3b400257717071f60aaa:947489956,5fd84f446bad3b40dabff33ac5b3af99:-804060851,c23e6e7f2a99f74007b143fb498c74d8:947489956,e42ea67f5c99f740e80b765f73493e27:-804060851,f5d816b70c59f74007a737fef7b119ae:947489956,fbc816b70659f7403d6eebd7f70bc1a7:-804060851,4e3aadb3b795f740d982429b52268f36:947489956,57941d7bc515f7401a36eeb93177f76e:-804060851</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_efd1f427db8b3b409eb1d311ce9619b3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-08-09 18:32:17</sys_created_on><sys_id>efd1f427db8b3b409eb1d311ce9619b3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>customer_contact</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sys_scope_privilege_efd1f427db8b3b409eb1d311ce9619b3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-08-09 18:32:17</sys_updated_on><target_name>customer_contact</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-2107169711</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>42177cabdb8b3b409eb1d311ce961939</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16c77a721110000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>customer_contact</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>27d1f427ce8b3b40181b872b8a1cbeb5</update_guid>\n<update_guid_history>27d1f427ce8b3b40181b872b8a1cbeb5:-2107169711</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_a9256d3fdb55f7409eb1d311ce961935</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/* required styles */&#13;\n&#13;\n.leaflet-pane,&#13;\n.leaflet-tile,&#13;\n.leaflet-marker-icon,&#13;\n.leaflet-marker-shadow,&#13;\n.leaflet-tile-container,&#13;\n.leaflet-pane &gt; svg,&#13;\n.leaflet-pane &gt; canvas,&#13;\n.leaflet-zoom-box,&#13;\n.leaflet-image-layer,&#13;\n.leaflet-layer {&#13;\n\tposition: absolute;&#13;\n\tleft: 0;&#13;\n\ttop: 0;&#13;\n\t}&#13;\n.leaflet-container {&#13;\n\toverflow: hidden;&#13;\n\t}&#13;\n.leaflet-tile,&#13;\n.leaflet-marker-icon,&#13;\n.leaflet-marker-shadow {&#13;\n\t-webkit-user-select: none;&#13;\n\t   -moz-user-select: none;&#13;\n\t        user-select: none;&#13;\n\t  -webkit-user-drag: none;&#13;\n\t}&#13;\n/* Safari renders non-retina tile on retina better with this, but Chrome is worse */&#13;\n.leaflet-safari .leaflet-tile {&#13;\n\timage-rendering: -webkit-optimize-contrast;&#13;\n\t}&#13;\n/* hack that prevents hw layers \"stretching\" when loading new tiles */&#13;\n.leaflet-safari .leaflet-tile-container {&#13;\n\twidth: 1600px;&#13;\n\theight: 1600px;&#13;\n\t-webkit-transform-origin: 0 0;&#13;\n\t}&#13;\n.leaflet-marker-icon,&#13;\n.leaflet-marker-shadow {&#13;\n\tdisplay: block;&#13;\n\t}&#13;\n/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */&#13;\n/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */&#13;\n.leaflet-container .leaflet-overlay-pane svg,&#13;\n.leaflet-container .leaflet-marker-pane img,&#13;\n.leaflet-container .leaflet-shadow-pane img,&#13;\n.leaflet-container .leaflet-tile-pane img,&#13;\n.leaflet-container img.leaflet-image-layer {&#13;\n\tmax-width: none !important;&#13;\n\t}&#13;\n&#13;\n.leaflet-container.leaflet-touch-zoom {&#13;\n\t-ms-touch-action: pan-x pan-y;&#13;\n\ttouch-action: pan-x pan-y;&#13;\n\t}&#13;\n.leaflet-container.leaflet-touch-drag {&#13;\n\t-ms-touch-action: pinch-zoom;&#13;\n\t}&#13;\n.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {&#13;\n\t-ms-touch-action: none;&#13;\n\ttouch-action: none;&#13;\n}&#13;\n.leaflet-tile {&#13;\n\tfilter: inherit;&#13;\n\tvisibility: hidden;&#13;\n\t}&#13;\n.leaflet-tile-loaded {&#13;\n\tvisibility: inherit;&#13;\n\t}&#13;\n.leaflet-zoom-box {&#13;\n\twidth: 0;&#13;\n\theight: 0;&#13;\n\t-moz-box-sizing: border-box;&#13;\n\t     box-sizing: border-box;&#13;\n\tz-index: 800;&#13;\n\t}&#13;\n/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */&#13;\n.leaflet-overlay-pane svg {&#13;\n\t-moz-user-select: none;&#13;\n\t}&#13;\n&#13;\n.leaflet-pane         { z-index: 400; }&#13;\n&#13;\n.leaflet-tile-pane    { z-index: 200; }&#13;\n.leaflet-overlay-pane { z-index: 400; }&#13;\n.leaflet-shadow-pane  { z-index: 500; }&#13;\n.leaflet-marker-pane  { z-index: 600; }&#13;\n.leaflet-tooltip-pane   { z-index: 650; }&#13;\n.leaflet-popup-pane   { z-index: 700; }&#13;\n&#13;\n.leaflet-map-pane canvas { z-index: 100; }&#13;\n.leaflet-map-pane svg    { z-index: 200; }&#13;\n&#13;\n.leaflet-vml-shape {&#13;\n\twidth: 1px;&#13;\n\theight: 1px;&#13;\n\t}&#13;\n.lvml {&#13;\n\tbehavior: url(#default#VML);&#13;\n\tdisplay: inline-block;&#13;\n\tposition: absolute;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* control positioning */&#13;\n&#13;\n.leaflet-control {&#13;\n\tposition: relative;&#13;\n\tz-index: 800;&#13;\n\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */&#13;\n\tpointer-events: auto;&#13;\n\t}&#13;\n.leaflet-top,&#13;\n.leaflet-bottom {&#13;\n\tposition: absolute;&#13;\n\tz-index: 1000;&#13;\n\tpointer-events: none;&#13;\n\t}&#13;\n.leaflet-top {&#13;\n\ttop: 0;&#13;\n\t}&#13;\n.leaflet-right {&#13;\n\tright: 0;&#13;\n\t}&#13;\n.leaflet-bottom {&#13;\n\tbottom: 0;&#13;\n\t}&#13;\n.leaflet-left {&#13;\n\tleft: 0;&#13;\n\t}&#13;\n.leaflet-control {&#13;\n\tfloat: left;&#13;\n\tclear: both;&#13;\n\t}&#13;\n.leaflet-right .leaflet-control {&#13;\n\tfloat: right;&#13;\n\t}&#13;\n.leaflet-top .leaflet-control {&#13;\n\tmargin-top: 10px;&#13;\n\t}&#13;\n.leaflet-bottom .leaflet-control {&#13;\n\tmargin-bottom: 10px;&#13;\n\t}&#13;\n.leaflet-left .leaflet-control {&#13;\n\tmargin-left: 10px;&#13;\n\t}&#13;\n.leaflet-right .leaflet-control {&#13;\n\tmargin-right: 10px;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* zoom and fade animations */&#13;\n&#13;\n.leaflet-fade-anim .leaflet-tile {&#13;\n\twill-change: opacity;&#13;\n\t}&#13;\n.leaflet-fade-anim .leaflet-popup {&#13;\n\topacity: 0;&#13;\n\t-webkit-transition: opacity 0.2s linear;&#13;\n\t   -moz-transition: opacity 0.2s linear;&#13;\n\t     -o-transition: opacity 0.2s linear;&#13;\n\t        transition: opacity 0.2s linear;&#13;\n\t}&#13;\n.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {&#13;\n\topacity: 1;&#13;\n\t}&#13;\n.leaflet-zoom-animated {&#13;\n\t-webkit-transform-origin: 0 0;&#13;\n\t    -ms-transform-origin: 0 0;&#13;\n\t        transform-origin: 0 0;&#13;\n\t}&#13;\n.leaflet-zoom-anim .leaflet-zoom-animated {&#13;\n\twill-change: transform;&#13;\n\t}&#13;\n.leaflet-zoom-anim .leaflet-zoom-animated {&#13;\n\t-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);&#13;\n\t   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);&#13;\n\t     -o-transition:      -o-transform 0.25s cubic-bezier(0,0,0.25,1);&#13;\n\t        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);&#13;\n\t}&#13;\n.leaflet-zoom-anim .leaflet-tile,&#13;\n.leaflet-pan-anim .leaflet-tile {&#13;\n\t-webkit-transition: none;&#13;\n\t   -moz-transition: none;&#13;\n\t     -o-transition: none;&#13;\n\t        transition: none;&#13;\n\t}&#13;\n&#13;\n.leaflet-zoom-anim .leaflet-zoom-hide {&#13;\n\tvisibility: hidden;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* cursors */&#13;\n&#13;\n.leaflet-interactive {&#13;\n\tcursor: pointer;&#13;\n\t}&#13;\n.leaflet-grab {&#13;\n\tcursor: -webkit-grab;&#13;\n\tcursor:    -moz-grab;&#13;\n\t}&#13;\n.leaflet-crosshair,&#13;\n.leaflet-crosshair .leaflet-interactive {&#13;\n\tcursor: crosshair;&#13;\n\t}&#13;\n.leaflet-popup-pane,&#13;\n.leaflet-control {&#13;\n\tcursor: auto;&#13;\n\t}&#13;\n.leaflet-dragging .leaflet-grab,&#13;\n.leaflet-dragging .leaflet-grab .leaflet-interactive,&#13;\n.leaflet-dragging .leaflet-marker-draggable {&#13;\n\tcursor: move;&#13;\n\tcursor: -webkit-grabbing;&#13;\n\tcursor:    -moz-grabbing;&#13;\n\t}&#13;\n&#13;\n/* marker &amp; overlays interactivity */&#13;\n.leaflet-marker-icon,&#13;\n.leaflet-marker-shadow,&#13;\n.leaflet-image-layer,&#13;\n.leaflet-pane &gt; svg path,&#13;\n.leaflet-tile-container {&#13;\n\tpointer-events: none;&#13;\n\t}&#13;\n&#13;\n.leaflet-marker-icon.leaflet-interactive,&#13;\n.leaflet-image-layer.leaflet-interactive,&#13;\n.leaflet-pane &gt; svg path.leaflet-interactive {&#13;\n\tpointer-events: visiblePainted; /* IE 9-10 doesn't have auto */&#13;\n\tpointer-events: auto;&#13;\n\t}&#13;\n&#13;\n/* visual tweaks */&#13;\n&#13;\n.leaflet-container {&#13;\n\tbackground: #ddd;&#13;\n\toutline: 0;&#13;\n\t}&#13;\n.leaflet-container a {&#13;\n\tcolor: #0078A8;&#13;\n\t}&#13;\n.leaflet-container a.leaflet-active {&#13;\n\toutline: 2px solid orange;&#13;\n\t}&#13;\n.leaflet-zoom-box {&#13;\n\tborder: 2px dotted #38f;&#13;\n\tbackground: rgba(255,255,255,0.5);&#13;\n\t}&#13;\n&#13;\n&#13;\n/* general typography */&#13;\n.leaflet-container {&#13;\n\tfont: 12px/1.5 \"Helvetica Neue\", Arial, Helvetica, sans-serif;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* general toolbar styles */&#13;\n&#13;\n.leaflet-bar {&#13;\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.65);&#13;\n\tborder-radius: 4px;&#13;\n\t}&#13;\n.leaflet-bar a,&#13;\n.leaflet-bar a:hover {&#13;\n\tbackground-color: #fff;&#13;\n\tborder-bottom: 1px solid #ccc;&#13;\n\twidth: 26px;&#13;\n\theight: 26px;&#13;\n\tline-height: 26px;&#13;\n\tdisplay: block;&#13;\n\ttext-align: center;&#13;\n\ttext-decoration: none;&#13;\n\tcolor: black;&#13;\n\t}&#13;\n.leaflet-bar a,&#13;\n.leaflet-control-layers-toggle {&#13;\n\tbackground-position: 50% 50%;&#13;\n\tbackground-repeat: no-repeat;&#13;\n\tdisplay: block;&#13;\n\t}&#13;\n.leaflet-bar a:hover {&#13;\n\tbackground-color: #f4f4f4;&#13;\n\t}&#13;\n.leaflet-bar a:first-child {&#13;\n\tborder-top-left-radius: 4px;&#13;\n\tborder-top-right-radius: 4px;&#13;\n\t}&#13;\n.leaflet-bar a:last-child {&#13;\n\tborder-bottom-left-radius: 4px;&#13;\n\tborder-bottom-right-radius: 4px;&#13;\n\tborder-bottom: none;&#13;\n\t}&#13;\n.leaflet-bar a.leaflet-disabled {&#13;\n\tcursor: default;&#13;\n\tbackground-color: #f4f4f4;&#13;\n\tcolor: #bbb;&#13;\n\t}&#13;\n&#13;\n.leaflet-touch .leaflet-bar a {&#13;\n\twidth: 30px;&#13;\n\theight: 30px;&#13;\n\tline-height: 30px;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* zoom control */&#13;\n&#13;\n.leaflet-control-zoom-in,&#13;\n.leaflet-control-zoom-out {&#13;\n\tfont: bold 18px 'Lucida Console', Monaco, monospace;&#13;\n\ttext-indent: 1px;&#13;\n\t}&#13;\n.leaflet-control-zoom-out {&#13;\n\tfont-size: 20px;&#13;\n\t}&#13;\n&#13;\n.leaflet-touch .leaflet-control-zoom-in {&#13;\n\tfont-size: 22px;&#13;\n\t}&#13;\n.leaflet-touch .leaflet-control-zoom-out {&#13;\n\tfont-size: 24px;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* layers control */&#13;\n&#13;\n.leaflet-control-layers {&#13;\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.4);&#13;\n\tbackground: #fff;&#13;\n\tborder-radius: 5px;&#13;\n\t}&#13;\n.leaflet-control-layers-toggle {&#13;\n\tbackground-image: url(/layers.png);&#13;\n\twidth: 36px;&#13;\n\theight: 36px;&#13;\n\t}&#13;\n.leaflet-retina .leaflet-control-layers-toggle {&#13;\n\tbackground-image: url(/layers-2x.png);&#13;\n\tbackground-size: 26px 26px;&#13;\n\t}&#13;\n.leaflet-touch .leaflet-control-layers-toggle {&#13;\n\twidth: 44px;&#13;\n\theight: 44px;&#13;\n\t}&#13;\n.leaflet-control-layers .leaflet-control-layers-list,&#13;\n.leaflet-control-layers-expanded .leaflet-control-layers-toggle {&#13;\n\tdisplay: none;&#13;\n\t}&#13;\n.leaflet-control-layers-expanded .leaflet-control-layers-list {&#13;\n\tdisplay: block;&#13;\n\tposition: relative;&#13;\n\t}&#13;\n.leaflet-control-layers-expanded {&#13;\n\tpadding: 6px 10px 6px 6px;&#13;\n\tcolor: #333;&#13;\n\tbackground: #fff;&#13;\n\t}&#13;\n.leaflet-control-layers-scrollbar {&#13;\n\toverflow-y: scroll;&#13;\n\tpadding-right: 5px;&#13;\n\t}&#13;\n.leaflet-control-layers-selector {&#13;\n\tmargin-top: 2px;&#13;\n\tposition: relative;&#13;\n\ttop: 1px;&#13;\n\t}&#13;\n.leaflet-control-layers label {&#13;\n\tdisplay: block;&#13;\n\t}&#13;\n.leaflet-control-layers-separator {&#13;\n\theight: 0;&#13;\n\tborder-top: 1px solid #ddd;&#13;\n\tmargin: 5px -10px 5px -6px;&#13;\n\t}&#13;\n&#13;\n/* Default icon URLs */&#13;\n.leaflet-default-icon-path {&#13;\n\tbackground-image: url(/marker-icon.png);&#13;\n\t}&#13;\n&#13;\n&#13;\n/* attribution and scale controls */&#13;\n&#13;\n.leaflet-container .leaflet-control-attribution {&#13;\n\tbackground: #fff;&#13;\n\tbackground: rgba(255, 255, 255, 0.7);&#13;\n\tmargin: 0;&#13;\n\t}&#13;\n.leaflet-control-attribution,&#13;\n.leaflet-control-scale-line {&#13;\n\tpadding: 0 5px;&#13;\n\tcolor: #333;&#13;\n\t}&#13;\n.leaflet-control-attribution a {&#13;\n\ttext-decoration: none;&#13;\n\t}&#13;\n.leaflet-control-attribution a:hover {&#13;\n\ttext-decoration: underline;&#13;\n\t}&#13;\n.leaflet-container .leaflet-control-attribution,&#13;\n.leaflet-container .leaflet-control-scale {&#13;\n\tfont-size: 11px;&#13;\n\t}&#13;\n.leaflet-left .leaflet-control-scale {&#13;\n\tmargin-left: 5px;&#13;\n\t}&#13;\n.leaflet-bottom .leaflet-control-scale {&#13;\n\tmargin-bottom: 5px;&#13;\n\t}&#13;\n.leaflet-control-scale-line {&#13;\n\tborder: 2px solid #777;&#13;\n\tborder-top: none;&#13;\n\tline-height: 1.1;&#13;\n\tpadding: 2px 5px 1px;&#13;\n\tfont-size: 11px;&#13;\n\twhite-space: nowrap;&#13;\n\toverflow: hidden;&#13;\n\t-moz-box-sizing: border-box;&#13;\n\t     box-sizing: border-box;&#13;\n&#13;\n\tbackground: #fff;&#13;\n\tbackground: rgba(255, 255, 255, 0.5);&#13;\n\t}&#13;\n.leaflet-control-scale-line:not(:first-child) {&#13;\n\tborder-top: 2px solid #777;&#13;\n\tborder-bottom: none;&#13;\n\tmargin-top: -2px;&#13;\n\t}&#13;\n.leaflet-control-scale-line:not(:first-child):not(:last-child) {&#13;\n\tborder-bottom: 2px solid #777;&#13;\n\t}&#13;\n&#13;\n.leaflet-touch .leaflet-control-attribution,&#13;\n.leaflet-touch .leaflet-control-layers,&#13;\n.leaflet-touch .leaflet-bar {&#13;\n\tbox-shadow: none;&#13;\n\t}&#13;\n.leaflet-touch .leaflet-control-layers,&#13;\n.leaflet-touch .leaflet-bar {&#13;\n\tborder: 2px solid rgba(0,0,0,0.2);&#13;\n\tbackground-clip: padding-box;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* popup */&#13;\n&#13;\n.leaflet-popup {&#13;\n\tposition: absolute;&#13;\n\ttext-align: center;&#13;\n\tmargin-bottom: 20px;&#13;\n\t}&#13;\n.leaflet-popup-content-wrapper {&#13;\n\tpadding: 1px;&#13;\n\ttext-align: left;&#13;\n\tborder-radius: 12px;&#13;\n\t}&#13;\n.leaflet-popup-content {&#13;\n\tmargin: 13px 19px;&#13;\n\tline-height: 1.4;&#13;\n\t}&#13;\n.leaflet-popup-content p {&#13;\n\tmargin: 18px 0;&#13;\n\t}&#13;\n.leaflet-popup-tip-container {&#13;\n\twidth: 40px;&#13;\n\theight: 20px;&#13;\n\tposition: absolute;&#13;\n\tleft: 50%;&#13;\n\tmargin-left: -20px;&#13;\n\toverflow: hidden;&#13;\n\tpointer-events: none;&#13;\n\t}&#13;\n.leaflet-popup-tip {&#13;\n\twidth: 17px;&#13;\n\theight: 17px;&#13;\n\tpadding: 1px;&#13;\n&#13;\n\tmargin: -10px auto 0;&#13;\n&#13;\n\t-webkit-transform: rotate(45deg);&#13;\n\t   -moz-transform: rotate(45deg);&#13;\n\t    -ms-transform: rotate(45deg);&#13;\n\t     -o-transform: rotate(45deg);&#13;\n\t        transform: rotate(45deg);&#13;\n\t}&#13;\n.leaflet-popup-content-wrapper,&#13;\n.leaflet-popup-tip {&#13;\n\tbackground: white;&#13;\n\tcolor: #333;&#13;\n\tbox-shadow: 0 3px 14px rgba(0,0,0,0.4);&#13;\n\t}&#13;\n.leaflet-container a.leaflet-popup-close-button {&#13;\n\tposition: absolute;&#13;\n\ttop: 0;&#13;\n\tright: 0;&#13;\n\tpadding: 4px 4px 0 0;&#13;\n\tborder: none;&#13;\n\ttext-align: center;&#13;\n\twidth: 18px;&#13;\n\theight: 14px;&#13;\n\tfont: 16px/14px Tahoma, Verdana, sans-serif;&#13;\n\tcolor: #c3c3c3;&#13;\n\ttext-decoration: none;&#13;\n\tfont-weight: bold;&#13;\n\tbackground: transparent;&#13;\n\t}&#13;\n.leaflet-container a.leaflet-popup-close-button:hover {&#13;\n\tcolor: #999;&#13;\n\t}&#13;\n.leaflet-popup-scrolled {&#13;\n\toverflow: auto;&#13;\n\tborder-bottom: 1px solid #ddd;&#13;\n\tborder-top: 1px solid #ddd;&#13;\n\t}&#13;\n&#13;\n.leaflet-oldie .leaflet-popup-content-wrapper {&#13;\n\tzoom: 1;&#13;\n\t}&#13;\n.leaflet-oldie .leaflet-popup-tip {&#13;\n\twidth: 24px;&#13;\n\tmargin: 0 auto;&#13;\n&#13;\n\t-ms-filter: \"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)\";&#13;\n\tfilter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);&#13;\n\t}&#13;\n.leaflet-oldie .leaflet-popup-tip-container {&#13;\n\tmargin-top: -1px;&#13;\n\t}&#13;\n&#13;\n.leaflet-oldie .leaflet-control-zoom,&#13;\n.leaflet-oldie .leaflet-control-layers,&#13;\n.leaflet-oldie .leaflet-popup-content-wrapper,&#13;\n.leaflet-oldie .leaflet-popup-tip {&#13;\n\tborder: 1px solid #999;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* div icon */&#13;\n&#13;\n.leaflet-div-icon {&#13;\n\tbackground: #fff;&#13;\n\tborder: 1px solid #666;&#13;\n\t}&#13;\n&#13;\n&#13;\n/* Tooltip */&#13;\n/* Base styles for the element that has a tooltip */&#13;\n.leaflet-tooltip {&#13;\n\tposition: absolute;&#13;\n\tpadding: 6px;&#13;\n\tbackground-color: #fff;&#13;\n\tborder: 1px solid #fff;&#13;\n\tborder-radius: 3px;&#13;\n\tcolor: #222;&#13;\n\twhite-space: nowrap;&#13;\n\t-webkit-user-select: none;&#13;\n\t-moz-user-select: none;&#13;\n\t-ms-user-select: none;&#13;\n\tuser-select: none;&#13;\n\tpointer-events: none;&#13;\n\tbox-shadow: 0 1px 3px rgba(0,0,0,0.4);&#13;\n\t}&#13;\n.leaflet-tooltip.leaflet-clickable {&#13;\n\tcursor: pointer;&#13;\n\tpointer-events: auto;&#13;\n\t}&#13;\n.leaflet-tooltip-top:before,&#13;\n.leaflet-tooltip-bottom:before,&#13;\n.leaflet-tooltip-left:before,&#13;\n.leaflet-tooltip-right:before {&#13;\n\tposition: absolute;&#13;\n\tpointer-events: none;&#13;\n\tborder: 6px solid transparent;&#13;\n\tbackground: transparent;&#13;\n\tcontent: \"\";&#13;\n\t}&#13;\n&#13;\n/* Directions */&#13;\n&#13;\n.leaflet-tooltip-bottom {&#13;\n\tmargin-top: 6px;&#13;\n}&#13;\n.leaflet-tooltip-top {&#13;\n\tmargin-top: -6px;&#13;\n}&#13;\n.leaflet-tooltip-bottom:before,&#13;\n.leaflet-tooltip-top:before {&#13;\n\tleft: 50%;&#13;\n\tmargin-left: -6px;&#13;\n\t}&#13;\n.leaflet-tooltip-top:before {&#13;\n\tbottom: 0;&#13;\n\tmargin-bottom: -12px;&#13;\n\tborder-top-color: #fff;&#13;\n\t}&#13;\n.leaflet-tooltip-bottom:before {&#13;\n\ttop: 0;&#13;\n\tmargin-top: -12px;&#13;\n\tmargin-left: -6px;&#13;\n\tborder-bottom-color: #fff;&#13;\n\t}&#13;\n.leaflet-tooltip-left {&#13;\n\tmargin-left: -6px;&#13;\n}&#13;\n.leaflet-tooltip-right {&#13;\n\tmargin-left: 6px;&#13;\n}&#13;\n.leaflet-tooltip-left:before,&#13;\n.leaflet-tooltip-right:before {&#13;\n\ttop: 50%;&#13;\n\tmargin-top: -6px;&#13;\n\t}&#13;\n.leaflet-tooltip-left:before {&#13;\n\tright: 0;&#13;\n\tmargin-right: -12px;&#13;\n\tborder-left-color: #fff;&#13;\n\t}&#13;\n.leaflet-tooltip-right:before {&#13;\n\tleft: 0;&#13;\n\tmargin-left: -12px;&#13;\n\tborder-right-color: #fff;&#13;\n\t}&#13;\n</css><name>leaflet style bank</name><sys_class_name>sp_css</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:05:03</sys_created_on><sys_id>a9256d3fdb55f7409eb1d311ce961935</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leaflet style bank</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_css_a9256d3fdb55f7409eb1d311ce961935</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:05:03</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>203820809</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>46177cabdb8b3b409eb1d311ce961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc745e160000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>leaflet style bank</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>df252d3f5755f740cedd61d76bf3e245</update_guid>\n<update_guid_history>df252d3f5755f740cedd61d76bf3e245:203820809</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_728fb308dba17b409eb1d311ce9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:57:59</sys_created_on><sys_id>728fb308dba17b409eb1d311ce9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ScopedGlideElement</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sys_scope_privilege_728fb308dba17b409eb1d311ce9619a3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 22:57:59</sys_updated_on><target_name>ScopedGlideElement</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1435590303</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>46177cabdb8b3b409eb1d311ce961938</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2ddd6560000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>ScopedGlideElement</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>7e8fb3086ca17b40c39fafb6166d4ca3</update_guid>\n<update_guid_history>7e8fb3086ca17b40c39fafb6166d4ca3:-1435590303</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_fe16ddfbdb15f7409eb1d311ce9619f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Asset Map - Container 1\">9516d9fbdb15f7409eb1d311ce961974</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:59:12</sys_created_on><sys_id>fe16ddfbdb15f7409eb1d311ce9619f3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_row_fe16ddfbdb15f7409eb1d311ce9619f3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:59:12</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1167256632</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>4a177cabdb8b3b409eb1d311ce961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc3813aa0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>7616ddfb3b15f7409b4267391645e2f5</update_guid>\n<update_guid_history>7616ddfb3b15f7409b4267391645e2f5:-1167256632</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_27951ec8dba93b409eb1d311ce961922</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Marker</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 15:15:44</sys_created_on><sys_id>27951ec8dba93b409eb1d311ce961922</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Marker</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_ui_script display_value=\"x_snc_sp_asset_map.Awesome Marker\">31a51ec8dba93b409eb1d311ce9619fb</sys_ui_script><sys_update_name>sp_js_include_27951ec8dba93b409eb1d311ce961922</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 15:15:44</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1507811303</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>4e177cabdb8b3b409eb1d311ce961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac136a1ff0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>Marker</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>ebb59ec879a93b40d3e0ab8eaa85c74d</update_guid>\n<update_guid_history>ebb59ec879a93b40d3e0ab8eaa85c74d:-1507811303</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_ab4559bbdb15f7409eb1d311ce9619d9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_sp_asset_map.Leaflet Directive Ass&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/**!\n * The MIT License\n *\n * Copyright (c) 2013 the angular-leaflet-directive Team, http://tombatossals.github.io/angular-leaflet-directive\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n * angular-leaflet-directive\n * https://github.com/tombatossals/angular-leaflet-directive\n *\n * @authors https://github.com/tombatossals/angular-leaflet-directive/graphs/contributors\n */\n\n/*!\n*  angular-leaflet-directive  2015-11-06\n*  angular-leaflet-directive - An AngularJS directive to easily interact with Leaflet maps\n*  git: https://github.com/tombatossals/angular-leaflet-directive\n*/\n(function(angular){\n'use strict';\nangular.module('leaflet-directive-two', []).directive('leaflet', [\"$q\", \"leafletData\", \"leafletMapDefaults\", \"leafletHelpers\", \"leafletMapEvents\", function($q, leafletData, leafletMapDefaults, leafletHelpers, leafletMapEvents) {\n  return {\n    restrict: 'EA',\n    replace: true,\n    scope: {\n      center: '=',\n      lfCenter: '=',\n      defaults: '=',\n      maxbounds: '=',\n      bounds: '=',\n      markers: '=',\n      legend: '=',\n      geojson: '=',\n      paths: '=',\n      tiles: '=',\n      layers: '=',\n      controls: '=',\n      decorations: '=',\n      eventBroadcast: '=',\n      markersWatchOptions: '=',\n      geojsonWatchOptions: '=',\n    },\n    transclude: true,\n    template: '&lt;div class=\"angular-leaflet-map\"&gt;&lt;div ng-transclude&gt;&lt;/div&gt;&lt;/div&gt;',\n    controller: [\"$scope\", function($scope) {\n      this._leafletMap = $q.defer();\n      this.getMap = function() {\n        return this._leafletMap.promise;\n      };\n\n      this.getLeafletScope = function() {\n        return $scope;\n      };\n    }],\n\n    link: function(scope, element, attrs, ctrl) {\n      var isDefined = leafletHelpers.isDefined;\n      var defaults  = leafletMapDefaults.setDefaults(scope.defaults, attrs.id);\n      var mapEvents = leafletMapEvents.getAvailableMapEvents();\n      var addEvents = leafletMapEvents.addEvents;\n\n      scope.mapId =  attrs.id;\n      leafletData.setDirectiveControls({}, attrs.id);\n\n      // Set width and height utility functions\n      function updateWidth() {\n        if (isNaN(attrs.width)) {\n          element.css('width', attrs.width);\n        } else {\n          element.css('width', attrs.width + 'px');\n        }\n      }\n\n      function updateHeight() {\n        if (isNaN(attrs.height)) {\n          element.css('height', attrs.height);\n        } else {\n          element.css('height', attrs.height + 'px');\n        }\n      }\n\n      // If the width attribute defined update css\n      // Then watch if bound property changes and update css\n      if (isDefined(attrs.width)) {\n        updateWidth();\n\n        scope.$watch(\n          function() {\n            return element[0].getAttribute('width');\n          },\n\n          function() {\n            updateWidth();\n            map.invalidateSize();\n          });\n      }\n\n      // If the height attribute defined update css\n      // Then watch if bound property changes and update css\n      if (isDefined(attrs.height)) {\n        updateHeight();\n\n        scope.$watch(\n          function() {\n            return element[0].getAttribute('height');\n          },\n\n          function() {\n            updateHeight();\n            map.invalidateSize();\n          });\n      }\n\n      // Create the Leaflet Map Object with the options\n      var map = new L.Map(element[0], leafletMapDefaults.getMapCreationDefaults(attrs.id));\n      ctrl._leafletMap.resolve(map);\n\n      if (!isDefined(attrs.center) &amp;&amp; !isDefined(attrs.lfCenter)) {\n        map.setView([defaults.center.lat, defaults.center.lng], defaults.center.zoom);\n      }\n\n      // If no layers nor tiles defined, set the default tileLayer\n      if (!isDefined(attrs.tiles) &amp;&amp; (!isDefined(attrs.layers))) {\n        var tileLayerObj = L.tileLayer(defaults.tileLayer, defaults.tileLayerOptions);\n        tileLayerObj.addTo(map);\n        leafletData.setTiles(tileLayerObj, attrs.id);\n      }\n\n      // Set zoom control configuration\n      if (isDefined(map.zoomControl) &amp;&amp;\n          isDefined(defaults.zoomControlPosition)) {\n        map.zoomControl.setPosition(defaults.zoomControlPosition);\n      }\n\n      if (isDefined(map.zoomControl) &amp;&amp; defaults.zoomControl === false) {\n        map.zoomControl.removeFrom(map);\n      }\n\n      if (isDefined(map.zoomsliderControl) &amp;&amp;\n          isDefined(defaults.zoomsliderControl) &amp;&amp;\n          defaults.zoomsliderControl === false) {\n        map.zoomsliderControl.removeFrom(map);\n      }\n\n      // if no event-broadcast attribute, all events are broadcasted\n      if (!isDefined(attrs.eventBroadcast)) {\n        var logic = 'broadcast';\n        addEvents(map, mapEvents, 'eventName', scope, logic);\n      }\n\n      // Resolve the map object to the promises\n      map.whenReady(function() {\n        leafletData.setMap(map, attrs.id);\n      });\n\n      scope.$on('$destroy', function() {\n        leafletMapDefaults.reset();\n        map.remove();\n        leafletData.unresolveMap(attrs.id);\n      });\n\n      //Handle request to invalidate the map size\n      //Up scope using $scope.$emit('invalidateSize')\n      //Down scope using $scope.$broadcast('invalidateSize')\n      scope.$on('invalidateSize', function() {\n\t\t  debugger;\n        map.invalidateSize();\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').factory('leafletBoundsHelpers', [\"$log\", \"leafletHelpers\", function($log, leafletHelpers) {\n\n  var isArray = leafletHelpers.isArray;\n  var isNumber = leafletHelpers.isNumber;\n  var isFunction = leafletHelpers.isFunction;\n  var isDefined = leafletHelpers.isDefined;\n\n  function _isValidBounds(bounds) {\n    return angular.isDefined(bounds) &amp;&amp; angular.isDefined(bounds.southWest) &amp;&amp;\n           angular.isDefined(bounds.northEast) &amp;&amp; angular.isNumber(bounds.southWest.lat) &amp;&amp;\n           angular.isNumber(bounds.southWest.lng) &amp;&amp; angular.isNumber(bounds.northEast.lat) &amp;&amp;\n           angular.isNumber(bounds.northEast.lng);\n  }\n\n  return {\n    createLeafletBounds: function(bounds) {\n      if (_isValidBounds(bounds)) {\n        return L.latLngBounds([bounds.southWest.lat, bounds.southWest.lng],\n                              [bounds.northEast.lat, bounds.northEast.lng]);\n      }\n    },\n\n    isValidBounds: _isValidBounds,\n\n    createBoundsFromArray: function(boundsArray) {\n      if (!(isArray(boundsArray) &amp;&amp; boundsArray.length === 2 &amp;&amp;\n            isArray(boundsArray[0]) &amp;&amp; isArray(boundsArray[1]) &amp;&amp;\n            boundsArray[0].length === 2 &amp;&amp; boundsArray[1].length === 2 &amp;&amp;\n            isNumber(boundsArray[0][0]) &amp;&amp; isNumber(boundsArray[0][1]) &amp;&amp;\n            isNumber(boundsArray[1][0]) &amp;&amp; isNumber(boundsArray[1][1]))) {\n        $log.error('[AngularJS - Leaflet] The bounds array is not valid.');\n        return;\n      }\n\n      return {\n        northEast: {\n          lat: boundsArray[0][0],\n          lng: boundsArray[0][1],\n        },\n        southWest: {\n          lat: boundsArray[1][0],\n          lng: boundsArray[1][1],\n        },\n      };\n    },\n\n    createBoundsFromLeaflet: function(lfBounds) {\n      if (!(isDefined(lfBounds) &amp;&amp; isFunction(lfBounds.getNorthEast) &amp;&amp; isFunction(lfBounds.getSouthWest))) {\n        $log.error('[AngularJS - Leaflet] The leaflet bounds is not valid object.');\n        return;\n      }\n\n      var northEast = lfBounds.getNorthEast();\n      var southWest = lfBounds.getSouthWest();\n\n      return {\n        northEast: {\n          lat: northEast.lat,\n          lng: northEast.lng,\n        },\n        southWest: {\n          lat: southWest.lat,\n          lng: southWest.lng,\n        },\n      };\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').factory('leafletControlHelpers', [\"$rootScope\", \"$log\", \"leafletHelpers\", \"leafletLayerHelpers\", \"leafletMapDefaults\", function($rootScope, $log, leafletHelpers, leafletLayerHelpers, leafletMapDefaults) {\n  var isDefined = leafletHelpers.isDefined;\n  var isObject = leafletHelpers.isObject;\n  var createLayer = leafletLayerHelpers.createLayer;\n  var _controls = {};\n  var errorHeader = leafletHelpers.errorHeader + ' [Controls] ';\n\n  var _controlLayersMustBeVisible = function(baselayers, overlays, mapId) {\n    var defaults = leafletMapDefaults.getDefaults(mapId);\n    if (!defaults.controls.layers.visible) {\n      return false;\n    }\n\n    var atLeastOneControlItemMustBeShown = false;\n\n    if (isObject(baselayers)) {\n      Object.keys(baselayers).forEach(function(key) {\n        var layer = baselayers[key];\n        if (!isDefined(layer.layerOptions) || layer.layerOptions.showOnSelector !== false) {\n          atLeastOneControlItemMustBeShown = true;\n        }\n      });\n    }\n\n    if (isObject(overlays)) {\n      Object.keys(overlays).forEach(function(key) {\n        var layer = overlays[key];\n        if (!isDefined(layer.layerParams) || layer.layerParams.showOnSelector !== false) {\n          atLeastOneControlItemMustBeShown = true;\n        }\n      });\n    }\n\n    return atLeastOneControlItemMustBeShown;\n  };\n\n  var _createLayersControl = function(mapId) {\n    var defaults = leafletMapDefaults.getDefaults(mapId);\n    var controlOptions = {\n      collapsed: defaults.controls.layers.collapsed,\n      position: defaults.controls.layers.position,\n      autoZIndex: false,\n    };\n\n    angular.extend(controlOptions, defaults.controls.layers.options);\n\n    var control;\n    if (defaults.controls.layers &amp;&amp; isDefined(defaults.controls.layers.control)) {\n      control = defaults.controls.layers.control.apply(this, [[], [], controlOptions]);\n    } else {\n      control = new L.control.layers([], [], controlOptions);\n    }\n\n    return control;\n  };\n\n  var controlTypes = {\n    draw: {\n      isPluginLoaded: function() {\n        if (!angular.isDefined(L.Control.Draw)) {\n          $log.error(errorHeader + ' Draw plugin is not loaded.');\n          return false;\n        }\n\n        return true;\n      },\n\n      checkValidParams: function(/* params */) {\n        return true;\n      },\n\n      createControl: function(params) {\n        return new L.Control.Draw(params);\n      },\n    },\n    scale: {\n      isPluginLoaded: function() {\n        return true;\n      },\n\n      checkValidParams: function(/* params */) {\n        return true;\n      },\n\n      createControl: function(params) {\n        return new L.control.scale(params);\n      },\n    },\n    fullscreen: {\n      isPluginLoaded: function() {\n        if (!angular.isDefined(L.Control.Fullscreen)) {\n          $log.error(errorHeader + ' Fullscreen plugin is not loaded.');\n          return false;\n        }\n\n        return true;\n      },\n\n      checkValidParams: function(/* params */) {\n        return true;\n      },\n\n      createControl: function(params) {\n        return new L.Control.Fullscreen(params);\n      },\n    },\n    search: {\n      isPluginLoaded: function() {\n        if (!angular.isDefined(L.Control.Search)) {\n          $log.error(errorHeader + ' Search plugin is not loaded.');\n          return false;\n        }\n\n        return true;\n      },\n\n      checkValidParams: function(/* params */) {\n        return true;\n      },\n\n      createControl: function(params) {\n        return new L.Control.Search(params);\n      },\n    },\n    custom: {},\n    minimap: {\n      isPluginLoaded: function() {\n        if (!angular.isDefined(L.Control.MiniMap)) {\n          $log.error(errorHeader + ' Minimap plugin is not loaded.');\n          return false;\n        }\n\n        return true;\n      },\n\n      checkValidParams: function(params) {\n        if (!isDefined(params.layer)) {\n          $log.warn(errorHeader + ' minimap \"layer\" option should be defined.');\n          return false;\n        }\n\n        return true;\n      },\n\n      createControl: function(params) {\n        var layer = createLayer(params.layer);\n\n        if (!isDefined(layer)) {\n          $log.warn(errorHeader + ' minimap control \"layer\" could not be created.');\n          return;\n        }\n\n        return new L.Control.MiniMap(layer, params);\n      },\n    },\n  };\n\n  return {\n    layersControlMustBeVisible: _controlLayersMustBeVisible,\n\n    isValidControlType: function(type) {\n      return Object.keys(controlTypes).indexOf(type) !== -1;\n    },\n\n    createControl: function(type, params) {\n      if (!controlTypes[type].checkValidParams(params)) {\n        return;\n      }\n\n      return controlTypes[type].createControl(params);\n    },\n\n    updateLayersControl: function(map, mapId, loaded, baselayers, overlays, leafletLayers) {\n      var i;\n      var _layersControl = _controls[mapId];\n      var mustBeLoaded = _controlLayersMustBeVisible(baselayers, overlays, mapId);\n\n      if (isDefined(_layersControl) &amp;&amp; loaded) {\n        for (i in leafletLayers.baselayers) {\n          _layersControl.removeLayer(leafletLayers.baselayers[i]);\n        }\n\n        for (i in leafletLayers.overlays) {\n          _layersControl.removeLayer(leafletLayers.overlays[i]);\n        }\n\n        map.removeControl(_layersControl);\n        delete _controls[mapId];\n      }\n\n      if (mustBeLoaded) {\n        _layersControl = _createLayersControl(mapId);\n        _controls[mapId] = _layersControl;\n        for (i in baselayers) {\n          var hideOnSelector = isDefined(baselayers[i].layerOptions) &amp;&amp;\n                               baselayers[i].layerOptions.showOnSelector === false;\n          if (!hideOnSelector &amp;&amp; isDefined(leafletLayers.baselayers[i])) {\n            _layersControl.addBaseLayer(leafletLayers.baselayers[i], baselayers[i].name);\n          }\n        }\n\n        for (i in overlays) {\n          var hideOverlayOnSelector = isDefined(overlays[i].layerParams) &amp;&amp;\n                      overlays[i].layerParams.showOnSelector === false;\n          if (!hideOverlayOnSelector &amp;&amp; isDefined(leafletLayers.overlays[i])) {\n            _layersControl.addOverlay(leafletLayers.overlays[i], overlays[i].name);\n          }\n        }\n\n        map.addControl(_layersControl);\n      }\n\n      return mustBeLoaded;\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').service('leafletData', [\"$log\", \"$q\", \"leafletHelpers\", function($log, $q, leafletHelpers) {\n  var getDefer = leafletHelpers.getDefer,\n      getUnresolvedDefer = leafletHelpers.getUnresolvedDefer,\n      setResolvedDefer = leafletHelpers.setResolvedDefer;\n\n  var _private = {};\n  var self = this;\n\n  var upperFirst = function(string) {\n    return string.charAt(0).toUpperCase() + string.slice(1);\n  };\n\n  var _privateItems = [\n      'map',\n      'tiles',\n      'layers',\n      'paths',\n      'markers',\n      'geoJSON',\n      'UTFGrid', //odd ball on naming convention keeping to not break\n      'decorations',\n      'directiveControls',];\n\n  //init\n  _privateItems.forEach(function(itemName) {\n    _private[itemName] = {};\n  });\n\n  this.unresolveMap = function(scopeId) {\n    var id = leafletHelpers.obtainEffectiveMapId(_private.map, scopeId);\n    _privateItems.forEach(function(itemName) {\n      _private[itemName][id] = undefined;\n    });\n  };\n\n  //int repetitive stuff (get and sets)\n  _privateItems.forEach(function(itemName) {\n    var name = upperFirst(itemName);\n    self['set' + name] = function(lObject, scopeId) {\n      var defer = getUnresolvedDefer(_private[itemName], scopeId);\n      defer.resolve(lObject);\n      setResolvedDefer(_private[itemName], scopeId);\n    };\n\n    self['get' + name] = function(scopeId) {\n      var defer = getDefer(_private[itemName], scopeId);\n      return defer.promise;\n    };\n  });\n}]);\n\nangular.module('leaflet-directive-two')\n.service('leafletDirectiveControlsHelpers', [\"$log\", \"leafletData\", \"leafletHelpers\", function($log, leafletData, leafletHelpers) {\n  var _isDefined = leafletHelpers.isDefined;\n  var _isString = leafletHelpers.isString;\n  var _isObject = leafletHelpers.isObject;\n  var _mainErrorHeader = leafletHelpers.errorHeader;\n\n  var _errorHeader = _mainErrorHeader + '[leafletDirectiveControlsHelpers';\n\n  var _extend = function(id, thingToAddName, createFn, cleanFn) {\n    var _fnHeader = _errorHeader + '.extend] ';\n    var extender = {};\n    if (!_isDefined(thingToAddName)) {\n      $log.error(_fnHeader + 'thingToAddName cannot be undefined');\n      return;\n    }\n\n    if (_isString(thingToAddName) &amp;&amp; _isDefined(createFn) &amp;&amp; _isDefined(cleanFn)) {\n      extender[thingToAddName] = {\n        create: createFn,\n        clean: cleanFn,\n      };\n    }    else if (_isObject(thingToAddName) &amp;&amp; !_isDefined(createFn) &amp;&amp; !_isDefined(cleanFn)) {\n      extender = thingToAddName;\n    }    else {\n      $log.error(_fnHeader + 'incorrect arguments');\n      return;\n    }\n\n    //add external control to create / destroy markers without a watch\n    leafletData.getDirectiveControls().then(function(controls) {\n      angular.extend(controls, extender);\n      leafletData.setDirectiveControls(controls, id);\n    });\n  };\n\n  return {\n    extend: _extend,\n  };\n}]);\n\nangular.module('leaflet-directive-two')\n.service('leafletGeoJsonHelpers', [\"leafletHelpers\", \"leafletIterators\", function(leafletHelpers, leafletIterators) {\n  var lHlp = leafletHelpers;\n  var lIt = leafletIterators;\n  var Point = function(lat, lng) {\n    this.lat = lat;\n    this.lng = lng;\n    return this;\n  };\n\n  var _getLat = function(value) {\n    if (Array.isArray(value) &amp;&amp; value.length === 2) {\n      return value[1];\n    } else if (lHlp.isDefined(value.type) &amp;&amp; value.type === 'Point') {\n      return +value.coordinates[1];\n    } else {\n      return +value.lat;\n    }\n  };\n\n  var _getLng = function(value) {\n    if (Array.isArray(value) &amp;&amp; value.length === 2) {\n      return value[0];\n    } else if (lHlp.isDefined(value.type) &amp;&amp; value.type === 'Point') {\n      return +value.coordinates[0];\n    } else {\n      return +value.lng;\n    }\n  };\n\n  var _validateCoords = function(coords) {\n    if (lHlp.isUndefined(coords)) {\n      return false;\n    }\n\n    if (lHlp.isArray(coords)) {\n      if (coords.length === 2 &amp;&amp; lHlp.isNumber(coords[0]) &amp;&amp; lHlp.isNumber(coords[1])) {\n        return true;\n      }\n    } else if (lHlp.isDefined(coords.type)) {\n      if (\n          coords.type === 'Point' &amp;&amp; lHlp.isArray(coords.coordinates) &amp;&amp;\n          coords.coordinates.length === 2  &amp;&amp;\n          lHlp.isNumber(coords.coordinates[0]) &amp;&amp;\n          lHlp.isNumber(coords.coordinates[1])) {\n        return true;\n      }\n    }\n\n    var ret = lIt.all(['lat', 'lng'], function(pos) {\n      return lHlp.isDefined(coords[pos]) &amp;&amp; lHlp.isNumber(coords[pos]);\n    });\n\n    return ret;\n  };\n\n  var _getCoords = function(value) {\n    if (!value || !_validateCoords(value)) {\n      return;\n    }\n\n    var p =  null;\n    if (Array.isArray(value) &amp;&amp; value.length === 2) {\n      p = new Point(value[1], value[0]);\n    } else if (lHlp.isDefined(value.type) &amp;&amp; value.type === 'Point') {\n      p = new Point(value.coordinates[1], value.coordinates[0]);\n    } else {\n      return value;\n    }\n\n    //note angular.merge is avail in angular 1.4.X we might want to fill it here\n    return angular.extend(value, p);//tap on lat, lng if it doesnt exist\n  };\n\n  return {\n    getLat: _getLat,\n    getLng: _getLng,\n    validateCoords: _validateCoords,\n    getCoords: _getCoords,\n  };\n}]);\n\nangular.module('leaflet-directive-two').service('leafletHelpers', [\"$q\", \"$log\", function($q, $log) {\n  var _errorHeader = '[AngularJS - Leaflet] ';\n  var _copy = angular.copy;\n  var _clone = _copy;\n  /*\n  For parsing paths to a field in an object\n\n  Example:\n  var obj = {\n      bike:{\n       1: 'hi'\n       2: 'foo'\n      }\n  };\n  _getObjectValue(obj,\"bike.1\") returns 'hi'\n  this is getPath in ui-gmap\n   */\n  var _getObjectValue = function(object, pathStr) {\n    var obj;\n    if (!object || !angular.isObject(object))\n        return;\n\n    //if the key is not a sting then we already have the value\n    if ((pathStr === null) || !angular.isString(pathStr)) {\n      return pathStr;\n    }\n\n    obj = object;\n    pathStr.split('.').forEach(function(value) {\n      if (obj) {\n        obj = obj[value];\n      }\n    });\n\n    return obj;\n  };\n\n  /*\n   Object Array Notation\n   _getObjectArrayPath(\"bike.one.two\")\n   returns:\n   'bike[\"one\"][\"two\"]'\n   */\n  var _getObjectArrayPath = function(pathStr) {\n    return pathStr.split('.').reduce(function(previous, current) {\n      return previous + '[\"' + current + '\"]';\n    });\n  };\n\n  /* Object Dot Notation\n   _getObjectPath([\"bike\",\"one\",\"two\"])\n   returns:\n   \"bike.one.two\"\n   */\n  var _getObjectDotPath = function(arrayOfStrings) {\n    return arrayOfStrings.reduce(function(previous, current) {\n      return previous + '.' + current;\n    });\n  };\n\n  function _obtainEffectiveMapId(d, mapId) {\n    var id;\n    var i;\n    if (!angular.isDefined(mapId)) {\n      if (Object.keys(d).length === 0) {\n        id = 'main';\n      } else if (Object.keys(d).length &gt;= 1) {\n        for (i in d) {\n          if (d.hasOwnProperty(i)) {\n            id = i;\n          }\n        }\n      } else {\n        $log.error(_errorHeader + '- You have more than 1 map on the DOM, you must provide the map ID to the leafletData.getXXX call');\n      }\n    } else {\n      id = mapId;\n    }\n\n    return id;\n  }\n\n  function _getUnresolvedDefer(d, mapId) {\n    var id = _obtainEffectiveMapId(d, mapId);\n    var defer;\n\n    if (!angular.isDefined(d[id]) || d[id].resolvedDefer === true) {\n      defer = $q.defer();\n      d[id] = {\n        defer: defer,\n        resolvedDefer: false,\n      };\n    } else {\n      defer = d[id].defer;\n    }\n\n    return defer;\n  }\n\n  var _isDefined = function(value) {\n    return angular.isDefined(value) &amp;&amp; value !== null;\n  };\n\n  var _isUndefined = function(value) {\n    return !_isDefined(value);\n  };\n\n  // BEGIN DIRECT PORT FROM AngularJS code base\n\n  var SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\n\n  var MOZ_HACK_REGEXP = /^moz([A-Z])/;\n\n  var PREFIX_REGEXP = /^((?:x|data)[\\:\\-_])/i;\n\n  /**\n  Converts snake_case to camelCase.\n  Also there is special case for Moz prefix starting with upper case letter.\n  @param name Name to normalize\n   */\n\n  var camelCase = function(name) {\n      return name.replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) {\n        if (offset) {\n          return letter.toUpperCase();\n        } else {\n          return letter;\n        }\n      }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n    };\n\n  /**\n  Converts all accepted directives format into proper directive name.\n  @param name Name to normalize\n   */\n\n  var directiveNormalize = function(name) {\n      return camelCase(name.replace(PREFIX_REGEXP, ''));\n    };\n\n  // END AngularJS port\n\n  return {\n    camelCase: camelCase,\n    directiveNormalize: directiveNormalize,\n    copy:_copy,\n    clone:_clone,\n    errorHeader: _errorHeader,\n    getObjectValue: _getObjectValue,\n    getObjectArrayPath:_getObjectArrayPath,\n    getObjectDotPath: _getObjectDotPath,\n    defaultTo: function(val, _default) {\n      return _isDefined(val) ? val : _default;\n    },\n\n    //mainly for checking attributes of directives lets keep this minimal (on what we accept)\n    isTruthy: function(val) {\n      return val === 'true' || val === true;\n    },\n\n    //Determine if a reference is {}\n    isEmpty: function(value) {\n      return Object.keys(value).length === 0;\n    },\n\n    //Determine if a reference is undefined or {}\n    isUndefinedOrEmpty: function(value) {\n      return (angular.isUndefined(value) || value === null) || Object.keys(value).length === 0;\n    },\n\n    // Determine if a reference is defined\n    isDefined: _isDefined,\n    isUndefined:_isUndefined,\n    isNumber: angular.isNumber,\n    isString: angular.isString,\n    isArray: angular.isArray,\n    isObject: angular.isObject,\n    isFunction: angular.isFunction,\n    equals: angular.equals,\n\n    isValidCenter: function(center) {\n      return angular.isDefined(center) &amp;&amp; angular.isNumber(center.lat) &amp;&amp;\n             angular.isNumber(center.lng) &amp;&amp; angular.isNumber(center.zoom);\n    },\n\n    isValidPoint: function(point) {\n      if (!angular.isDefined(point)) {\n        return false;\n      }\n\n      if (angular.isArray(point)) {\n        return point.length === 2 &amp;&amp; angular.isNumber(point[0]) &amp;&amp; angular.isNumber(point[1]);\n      }\n\n      return angular.isNumber(point.lat) &amp;&amp; angular.isNumber(point.lng);\n    },\n\n    isSameCenterOnMap: function(centerModel, map) {\n      var mapCenter = map.getCenter();\n      var zoom = map.getZoom();\n      if (centerModel.lat &amp;&amp; centerModel.lng &amp;&amp;\n          mapCenter.lat.toFixed(4) === centerModel.lat.toFixed(4) &amp;&amp;\n          mapCenter.lng.toFixed(4) === centerModel.lng.toFixed(4) &amp;&amp;\n          zoom === centerModel.zoom) {\n        return true;\n      }\n\n      return false;\n    },\n\n    safeApply: function($scope, fn) {\n      var phase = $scope.$root.$$phase;\n      if (phase === '$apply' || phase === '$digest') {\n        $scope.$eval(fn);\n      } else {\n        $scope.$evalAsync(fn);\n      }\n    },\n\n    obtainEffectiveMapId: _obtainEffectiveMapId,\n\n    getDefer: function(d, mapId) {\n      var id = _obtainEffectiveMapId(d, mapId);\n      var defer;\n      if (!angular.isDefined(d[id]) || d[id].resolvedDefer === false) {\n        defer = _getUnresolvedDefer(d, mapId);\n      } else {\n        defer = d[id].defer;\n      }\n\n      return defer;\n    },\n\n    getUnresolvedDefer: _getUnresolvedDefer,\n\n    setResolvedDefer: function(d, mapId) {\n      var id = _obtainEffectiveMapId(d, mapId);\n      d[id].resolvedDefer = true;\n    },\n\n    rangeIsSupported: function() {\n      var testrange = document.createElement('input');\n      testrange.setAttribute('type', 'range');\n      return testrange.type === 'range';\n    },\n\n    FullScreenControlPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.Control.Fullscreen);\n      },\n    },\n\n    MiniMapControlPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.Control.MiniMap);\n      },\n    },\n\n    AwesomeMarkersPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.AwesomeMarkers) &amp;&amp; angular.isDefined(L.AwesomeMarkers.Icon);\n      },\n\n      is: function(icon) {\n        if (this.isLoaded()) {\n          return icon instanceof L.AwesomeMarkers.Icon;\n        } else {\n          return false;\n        }\n      },\n\n      equal: function(iconA, iconB) {\n        if (!this.isLoaded()) {\n          return false;\n        }\n\n        if (this.is(iconA)) {\n          return angular.equals(iconA, iconB);\n        } else {\n          return false;\n        }\n      },\n    },\n\n    VectorMarkersPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.VectorMarkers) &amp;&amp; angular.isDefined(L.VectorMarkers.Icon);\n      },\n\n      is: function(icon) {\n        if (this.isLoaded()) {\n          return icon instanceof L.VectorMarkers.Icon;\n        } else {\n          return false;\n        }\n      },\n\n      equal: function(iconA, iconB) {\n        if (!this.isLoaded()) {\n          return false;\n        }\n\n        if (this.is(iconA)) {\n          return angular.equals(iconA, iconB);\n        } else {\n          return false;\n        }\n      },\n    },\n\n    DomMarkersPlugin: {\n      isLoaded: function() {\n        if (angular.isDefined(L.DomMarkers) &amp;&amp; angular.isDefined(L.DomMarkers.Icon)) {\n          return true;\n        } else {\n          return false;\n        }\n      },\n\n      is: function(icon) {\n        if (this.isLoaded()) {\n          return icon instanceof L.DomMarkers.Icon;\n        } else {\n          return false;\n        }\n      },\n\n      equal: function(iconA, iconB) {\n        if (!this.isLoaded()) {\n          return false;\n        }\n\n        if (this.is(iconA)) {\n          return angular.equals(iconA, iconB);\n        } else {\n          return false;\n        }\n      },\n    },\n\n    PolylineDecoratorPlugin: {\n      isLoaded: function() {\n        if (angular.isDefined(L.PolylineDecorator)) {\n          return true;\n        } else {\n          return false;\n        }\n      },\n\n      is: function(decoration) {\n        if (this.isLoaded()) {\n          return decoration instanceof L.PolylineDecorator;\n        } else {\n          return false;\n        }\n      },\n\n      equal: function(decorationA, decorationB) {\n        if (!this.isLoaded()) {\n          return false;\n        }\n\n        if (this.is(decorationA)) {\n          return angular.equals(decorationA, decorationB);\n        } else {\n          return false;\n        }\n      },\n    },\n\n    MakiMarkersPlugin: {\n      isLoaded: function() {\n        if (angular.isDefined(L.MakiMarkers) &amp;&amp; angular.isDefined(L.MakiMarkers.Icon)) {\n          return true;\n        } else {\n          return false;\n        }\n      },\n\n      is: function(icon) {\n        if (this.isLoaded()) {\n          return icon instanceof L.MakiMarkers.Icon;\n        } else {\n          return false;\n        }\n      },\n\n      equal: function(iconA, iconB) {\n        if (!this.isLoaded()) {\n          return false;\n        }\n\n        if (this.is(iconA)) {\n          return angular.equals(iconA, iconB);\n        } else {\n          return false;\n        }\n      },\n    },\n    ExtraMarkersPlugin: {\n      isLoaded: function() {\n        if (angular.isDefined(L.ExtraMarkers) &amp;&amp; angular.isDefined(L.ExtraMarkers.Icon)) {\n          return true;\n        } else {\n          return false;\n        }\n      },\n\n      is: function(icon) {\n        if (this.isLoaded()) {\n          return icon instanceof L.ExtraMarkers.Icon;\n        } else {\n          return false;\n        }\n      },\n\n      equal: function(iconA, iconB) {\n        if (!this.isLoaded()) {\n          return false;\n        }\n\n        if (this.is(iconA)) {\n          return angular.equals(iconA, iconB);\n        } else {\n          return false;\n        }\n      },\n    },\n    LabelPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.Label);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.MarkerClusterGroup;\n        } else {\n          return false;\n        }\n      },\n    },\n    MarkerClusterPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.MarkerClusterGroup);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.MarkerClusterGroup;\n        } else {\n          return false;\n        }\n      },\n    },\n    GoogleLayerPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.Google);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.Google;\n        } else {\n          return false;\n        }\n      },\n    },\n    LeafletProviderPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.TileLayer.Provider);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.TileLayer.Provider;\n        } else {\n          return false;\n        }\n      },\n    },\n    ChinaLayerPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.tileLayer.chinaProvider);\n      },\n    },\n    HeatLayerPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.heatLayer);\n      },\n    },\n    WebGLHeatMapLayerPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.TileLayer.WebGLHeatMap);\n      },\n    },\n    BingLayerPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.BingLayer);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.BingLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    WFSLayerPlugin: {\n      isLoaded: function() {\n        return L.GeoJSON.WFS !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.GeoJSON.WFS;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSBaseLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.basemapLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.basemapLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSLayerPlugin: {\n      isLoaded: function() {\n        return lvector !== undefined &amp;&amp; lvector.AGS !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof lvector.AGS;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSFeatureLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.featureLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.featureLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSTiledMapLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.tiledMapLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.tiledMapLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSDynamicMapLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.dynamicMapLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.dynamicMapLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSImageMapLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.imageMapLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.imageMapLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSClusteredLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.clusteredFeatureLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.clusteredFeatureLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    AGSHeatmapLayerPlugin: {\n      isLoaded: function() {\n        return L.esri !== undefined &amp;&amp; L.esri.heatmapFeatureLayer !== undefined;\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.esri.heatmapFeatureLayer;\n        } else {\n          return false;\n        }\n      },\n    },\n    YandexLayerPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.Yandex);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.Yandex;\n        } else {\n          return false;\n        }\n      },\n    },\n    GeoJSONPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.TileLayer.GeoJSON);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.TileLayer.GeoJSON;\n        } else {\n          return false;\n        }\n      },\n    },\n    UTFGridPlugin: {\n      isLoaded: function() {\n        return angular.isDefined(L.UtfGrid);\n      },\n\n      is: function(layer) {\n        if (this.isLoaded()) {\n          return layer instanceof L.UtfGrid;\n        } else {\n          $log.error('[AngularJS - Leaflet] No UtfGrid plugin found.');\n          return false;\n        }\n      },\n    },\n    CartoDB: {\n      isLoaded: function() {\n        return cartodb;\n      },\n\n      is: function(/*layer*/) {\n        return true;\n        /*\n        if (this.isLoaded()) {\n            return layer instanceof L.TileLayer.GeoJSON;\n        } else {\n            return false;\n        }*/\n      },\n    },\n    Leaflet: {\n      DivIcon: {\n        is: function(icon) {\n          return icon instanceof L.DivIcon;\n        },\n\n        equal: function(iconA, iconB) {\n          if (this.is(iconA)) {\n            return angular.equals(iconA, iconB);\n          } else {\n            return false;\n          }\n        },\n      },\n      Icon: {\n        is: function(icon) {\n          return icon instanceof L.Icon;\n        },\n\n        equal: function(iconA, iconB) {\n          if (this.is(iconA)) {\n            return angular.equals(iconA, iconB);\n          } else {\n            return false;\n          }\n        },\n      },\n    },\n    /*\n     watchOptions - object to set deep nested watches and turn off watches all together\n     (rely on control / functional updates)\n     watchOptions - Object\n         doWatch:boolean\n         isDeep:boolean (sets $watch(function,isDeep))\n         individual\n             doWatch:boolean\n             isDeep:boolean\n     */\n\n    //legacy defaults\n    watchOptions: {\n      doWatch:true,\n      isDeep: true,\n      individual:{\n        doWatch:true,\n        isDeep: true,\n      },\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').service('leafletIterators', [\"$log\", \"leafletHelpers\", function($log, leafletHelpers) {\n\n  var lHlp = leafletHelpers;\n  var errorHeader = leafletHelpers.errorHeader + 'leafletIterators: ';\n\n  //BEGIN COPY from underscore\n  var _keys = Object.keys;\n  var _isFunction = lHlp.isFunction;\n  var _isObject = lHlp.isObject;\n\n  // Helper for collection methods to determine whether a collection\n  // should be iterated as an array or as an object\n  // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n\n  var _isArrayLike = function(collection) {\n    var length = collection !== null &amp;&amp; collection.length;\n    return lHlp.isNumber(length) &amp;&amp; length &gt;= 0 &amp;&amp; length &lt;= MAX_ARRAY_INDEX;\n  };\n\n  // Keep the identity function around for default iteratees.\n  var _identity = function(value) {\n    return value;\n  };\n\n  var _property = function(key) {\n    return function(obj) {\n      return obj === null ? void 0 : obj[key];\n    };\n  };\n\n  // Internal function that returns an efficient (for current engines) version\n  // of the passed-in callback, to be repeatedly applied in other Underscore\n  // functions.\n  var optimizeCb = function(func, context, argCount) {\n    if (context === void 0) return func;\n    switch (argCount === null ? 3 : argCount) {\n      case 1: return function(value) {\n        return func.call(context, value);\n      };\n\n      case 2: return function(value, other) {\n        return func.call(context, value, other);\n      };\n\n      case 3: return function(value, index, collection) {\n        return func.call(context, value, index, collection);\n      };\n\n      case 4: return function(accumulator, value, index, collection) {\n        return func.call(context, accumulator, value, index, collection);\n      };\n    }\n    return function() {\n      return func.apply(context, arguments);\n    };\n  };\n\n  // An internal function for creating assigner functions.\n  var createAssigner = function(keysFunc, undefinedOnly) {\n    return function(obj) {\n      var length = arguments.length;\n      if (length &lt; 2 || obj === null) return obj;\n      for (var index = 1; index &lt; length; index++) {\n        var source = arguments[index];\n        var keys = keysFunc(source);\n        var l = keys.length;\n\n        for (var i = 0; i &lt; l; i++) {\n          var key = keys[i];\n          if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n        }\n      }\n\n      return obj;\n    };\n  };\n\n  // Assigns a given object with all the own properties in the passed-in object(s)\n  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n  var _extendOwn;\n  var _assign = null;\n  _extendOwn = _assign = createAssigner(_keys);\n\n  // Returns whether an object has a given set of `key:value` pairs.\n  var _isMatch = function(object, attrs) {\n    var keys = _keys(attrs);\n    var length = keys.length;\n    if (object === null) return !length;\n    var obj = Object(object);\n    for (var i = 0; i &lt; length; i++) {\n      var key = keys[i];\n      if (attrs[key] !== obj[key] || !(key in obj)) return false;\n    }\n\n    return true;\n  };\n\n  // Returns a predicate for checking whether an object has a given set of\n  // `key:value` pairs.\n  var _matcher;\n  var _matches = null;\n  _matcher = _matches = function(attrs) {\n    attrs = _extendOwn({}, attrs);\n    return function(obj) {\n      return _isMatch(obj, attrs);\n    };\n  };\n\n  // A mostly-internal function to generate callbacks that can be applied\n  // to each element in a collection, returning the desired result — either\n  // identity, an arbitrary callback, a property matcher, or a property accessor.\n  var cb = function(value, context, argCount) {\n    if (value === null) return _identity;\n    if (_isFunction(value)) return optimizeCb(value, context, argCount);\n    if (_isObject(value)) return _matcher(value);\n    return _property(value);\n  };\n\n  var _every;\n  var _all = null;\n  _every = _all = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = !_isArrayLike(obj) &amp;&amp; _keys(obj);\n    var length = (keys || obj).length;\n    for (var index = 0; index &lt; length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      if (!predicate(obj[currentKey], currentKey, obj)) return false;\n    }\n\n    return true;\n  };\n\n  //END COPY fron underscore\n\n  var _hasErrors = function(collection, cb, ignoreCollection, cbName) {\n    if (!ignoreCollection) {\n      if (!lHlp.isDefined(collection) || !lHlp.isDefined(cb)) {\n        return true;\n      }\n    }\n\n    if (!lHlp.isFunction(cb)) {\n      cbName = lHlp.defaultTo(cb, 'cb');\n      $log.error(errorHeader + cbName + ' is not a function');\n      return true;\n    }\n\n    return false;\n  };\n\n  var _iterate = function(collection, externalCb, internalCb) {\n    if (_hasErrors(undefined, internalCb, true, 'internalCb')) {\n      return;\n    }\n\n    if (!_hasErrors(collection, externalCb)) {\n      for (var key in collection) {\n        if (collection.hasOwnProperty(key)) {\n          internalCb(collection[key], key);\n        }\n      }\n    }\n  };\n\n  //see http://jsperf.com/iterators/3\n  //utilizing for in is way faster\n  var _each = function(collection, cb) {\n    _iterate(collection, cb, function(val, key) {\n      cb(val, key);\n    });\n  };\n\n  return {\n    each:_each,\n    forEach: _each,\n    every: _every,\n    all: _all,\n  };\n}]);\n\nangular.module('leaflet-directive-two')\n.factory('leafletLayerHelpers', [\"$rootScope\", \"$log\", \"$q\", \"leafletHelpers\", \"leafletIterators\", function($rootScope, $log, $q, leafletHelpers, leafletIterators) {\n  var Helpers = leafletHelpers;\n  var isString = leafletHelpers.isString;\n  var isObject = leafletHelpers.isObject;\n  var isArray = leafletHelpers.isArray;\n  var isDefined = leafletHelpers.isDefined;\n  var errorHeader = leafletHelpers.errorHeader;\n  var $it = leafletIterators;\n\n  var utfGridCreateLayer = function(params) {\n    if (!Helpers.UTFGridPlugin.isLoaded()) {\n      $log.error('[AngularJS - Leaflet] The UTFGrid plugin is not loaded.');\n      return;\n    }\n\n    var utfgrid = new L.UtfGrid(params.url, params.pluginOptions);\n\n    utfgrid.on('mouseover', function(e) {\n      $rootScope.$broadcast('leafletDirectiveMap.utfgridMouseover', e);\n    });\n\n    utfgrid.on('mouseout', function(e) {\n      $rootScope.$broadcast('leafletDirectiveMap.utfgridMouseout', e);\n    });\n\n    utfgrid.on('click', function(e) {\n      $rootScope.$broadcast('leafletDirectiveMap.utfgridClick', e);\n    });\n\n    utfgrid.on('mousemove', function(e) {\n      $rootScope.$broadcast('leafletDirectiveMap.utfgridMousemove', e);\n    });\n\n    return utfgrid;\n  };\n\n  var layerTypes = {\n    xyz: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        return L.tileLayer(params.url, params.options);\n      },\n    },\n    mapbox: {\n      mustHaveKey: true,\n      createLayer: function(params) {\n        var version = 3;\n        if (isDefined(params.options.version) &amp;&amp; params.options.version === 4) {\n          version = params.options.version;\n        }\n\n        var url = version === 3 ?\n            '//{s}.tiles.mapbox.com/v3/' + params.key + '/{z}/{x}/{y}.png' :\n            '//api.tiles.mapbox.com/v4/' + params.key + '/{z}/{x}/{y}.png?access_token=' + params.apiKey;\n        return L.tileLayer(url, params.options);\n      },\n    },\n    geoJSON: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.GeoJSONPlugin.isLoaded()) {\n          return;\n        }\n\n        return new L.TileLayer.GeoJSON(params.url, params.pluginOptions, params.options);\n      },\n    },\n    geoJSONShape: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        return new L.GeoJSON(params.data,\n            params.options);\n      },\n    },\n    geoJSONAwesomeMarker: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        return new L.geoJson(params.data, {\n          pointToLayer: function(feature, latlng) {\n            return L.marker(latlng, {icon: L.AwesomeMarkers.icon(params.icon)});\n          },\n        });\n      },\n    },\n    geoJSONVectorMarker: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        return new L.geoJson(params.data, {\n          pointToLayer: function(feature, latlng) {\n            return L.marker(latlng, {icon: L.VectorMarkers.icon(params.icon)});\n          },\n        });\n      },\n    },\n    utfGrid: {\n      mustHaveUrl: true,\n      createLayer: utfGridCreateLayer,\n    },\n    cartodbTiles: {\n      mustHaveKey: true,\n      createLayer: function(params) {\n        var url = '//' + params.user + '.cartodb.com/api/v1/map/' + params.key + '/{z}/{x}/{y}.png';\n        return L.tileLayer(url, params.options);\n      },\n    },\n    cartodbUTFGrid: {\n      mustHaveKey: true,\n      mustHaveLayer: true,\n      createLayer: function(params) {\n        params.url = '//' + params.user + '.cartodb.com/api/v1/map/' + params.key + '/' + params.layer + '/{z}/{x}/{y}.grid.json';\n        return utfGridCreateLayer(params);\n      },\n    },\n    cartodbInteractive: {\n      mustHaveKey: true,\n      mustHaveLayer: true,\n      createLayer: function(params) {\n        var tilesURL = '//' + params.user + '.cartodb.com/api/v1/map/' + params.key + '/{z}/{x}/{y}.png';\n        var tileLayer = L.tileLayer(tilesURL, params.options);\n        params.url = '//' + params.user + '.cartodb.com/api/v1/map/' + params.key + '/' + params.layer + '/{z}/{x}/{y}.grid.json';\n        var utfLayer = utfGridCreateLayer(params);\n        return L.layerGroup([tileLayer, utfLayer]);\n      },\n    },\n    wms: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        return L.tileLayer.wms(params.url, params.options);\n      },\n    },\n    wmts: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        return L.tileLayer.wmts(params.url, params.options);\n      },\n    },\n    wfs: {\n      mustHaveUrl: true,\n      mustHaveLayer: true,\n      createLayer: function(params) {\n        if (!Helpers.WFSLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        var options = angular.copy(params.options);\n        if (options.crs &amp;&amp; typeof options.crs === 'string') {\n          /*jshint -W061 */\n          options.crs = eval(options.crs);\n        }\n\n        return new L.GeoJSON.WFS(params.url, params.layer, options);\n      },\n    },\n    group: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        var lyrs = [];\n        $it.each(params.options.layers, function(l) {\n                  lyrs.push(createLayer(l));\n                });\n\n        params.options.loadedDefer = function() {\n          var defers = [];\n          if (isDefined(params.options.layers)) {\n            for (var i = 0; i &lt; params.options.layers.length; i++) {\n              var d = params.options.layers[i].layerOptions.loadedDefer;\n              if (isDefined(d)) {\n                defers.push(d);\n              }\n            }\n          }\n\n          return defers;\n        };\n\n        return L.layerGroup(lyrs);\n      },\n    },\n    featureGroup: {\n      mustHaveUrl: false,\n      createLayer: function() {\n        return L.featureGroup();\n      },\n    },\n    google: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        var type = params.type || 'SATELLITE';\n        if (!Helpers.GoogleLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        return new L.Google(type, params.options);\n      },\n    },\n    here: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        var provider = params.provider || 'HERE.terrainDay';\n        if (!Helpers.LeafletProviderPlugin.isLoaded()) {\n          return;\n        }\n\n        return new L.TileLayer.Provider(provider, params.options);\n      },\n    },\n    china:{\n      mustHaveUrl:false,\n      createLayer:function(params) {\n        var type = params.type || '';\n        if (!Helpers.ChinaLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        return L.tileLayer.chinaProvider(type, params.options);\n      },\n    },\n    agsBase: {\n      mustHaveLayer: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSBaseLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        return L.esri.basemapLayer(params.layer, params.options);\n      },\n    },\n    ags: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        var options = angular.copy(params.options);\n        angular.extend(options, {\n          url: params.url,\n        });\n        var layer = new lvector.AGS(options);\n        layer.onAdd = function(map) {\n          this.setMap(map);\n        };\n\n        layer.onRemove = function() {\n          this.setMap(null);\n        };\n\n        return layer;\n      },\n    },\n    agsFeature: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSFeatureLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The esri plugin is not loaded.');\n          return;\n        }\n\n        params.options.url = params.url;\n\n        var layer = L.esri.featureLayer(params.options);\n        var load = function() {\n          if (isDefined(params.options.loadedDefer)) {\n            params.options.loadedDefer.resolve();\n          }\n        };\n\n        layer.on('loading', function() {\n          params.options.loadedDefer = $q.defer();\n          layer.off('load', load);\n          layer.on('load', load);\n        });\n\n        return layer;\n      },\n    },\n    agsTiled: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSTiledMapLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The esri plugin is not loaded.');\n          return;\n        }\n\n        params.options.url = params.url;\n\n        return L.esri.tiledMapLayer(params.options);\n      },\n    },\n    agsDynamic: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSDynamicMapLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The esri plugin is not loaded.');\n          return;\n        }\n\n        params.options.url = params.url;\n\n        return L.esri.dynamicMapLayer(params.options);\n      },\n    },\n    agsImage: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSImageMapLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The esri plugin is not loaded.');\n          return;\n        }\n\n        params.options.url = params.url;\n\n        return L.esri.imageMapLayer(params.options);\n      },\n    },\n    agsClustered: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSClusteredLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The esri clustered layer plugin is not loaded.');\n          return;\n        }\n\n        if (!Helpers.MarkerClusterPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The markercluster plugin is not loaded.');\n          return;\n        }\n\n        return L.esri.clusteredFeatureLayer(params.url, params.options);\n      },\n    },\n    agsHeatmap: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        if (!Helpers.AGSHeatmapLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The esri heatmap layer plugin is not loaded.');\n          return;\n        }\n\n        if (!Helpers.HeatLayerPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The heatlayer plugin is not loaded.');\n          return;\n        }\n\n        return L.esri.heatmapFeatureLayer(params.url, params.options);\n      },\n    },\n    markercluster: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        if (!Helpers.MarkerClusterPlugin.isLoaded()) {\n          $log.warn(errorHeader + ' The markercluster plugin is not loaded.');\n          return;\n        }\n\n        return new L.MarkerClusterGroup(params.options);\n      },\n    },\n    bing: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        if (!Helpers.BingLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        return new L.BingLayer(params.key, params.options);\n      },\n    },\n    webGLHeatmap: {\n      mustHaveUrl: false,\n      mustHaveData: true,\n      createLayer: function(params) {\n        if (!Helpers.WebGLHeatMapLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        var layer = new L.TileLayer.WebGLHeatMap(params.options);\n        if (isDefined(params.data)) {\n          layer.setData(params.data);\n        }\n\n        return layer;\n      },\n    },\n    heat: {\n      mustHaveUrl: false,\n      mustHaveData: true,\n      createLayer: function(params) {\n        if (!Helpers.HeatLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        var layer = new L.heatLayer();\n\n        if (isArray(params.data)) {\n          layer.setLatLngs(params.data);\n        }\n\n        if (isObject(params.options)) {\n          layer.setOptions(params.options);\n        }\n\n        return layer;\n      },\n    },\n    yandex: {\n      mustHaveUrl: false,\n      createLayer: function(params) {\n        var type = params.type || 'map';\n        if (!Helpers.YandexLayerPlugin.isLoaded()) {\n          return;\n        }\n\n        return new L.Yandex(type, params.options);\n      },\n    },\n    imageOverlay: {\n      mustHaveUrl: true,\n      mustHaveBounds: true,\n      createLayer: function(params) {\n        return L.imageOverlay(params.url, params.bounds, params.options);\n      },\n    },\n    iip: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        return L.tileLayer.iip(params.url, params.options);\n      },\n    },\n\n    // This \"custom\" type is used to accept every layer that user want to define himself.\n    // We can wrap these custom layers like heatmap or yandex, but it means a lot of work/code to wrap the world,\n    // so we let user to define their own layer outside the directive,\n    // and pass it on \"createLayer\" result for next processes\n    custom: {\n      createLayer: function(params) {\n        if (params.layer instanceof L.Class) {\n          return angular.copy(params.layer);\n        }        else {\n          $log.error('[AngularJS - Leaflet] A custom layer must be a leaflet Class');\n        }\n      },\n    },\n    cartodb: {\n      mustHaveUrl: true,\n      createLayer: function(params) {\n        return cartodb.createLayer(params.map, params.url);\n      },\n    },\n  };\n\n  function isValidLayerType(layerDefinition) {\n    // Check if the baselayer has a valid type\n    if (!isString(layerDefinition.type)) {\n      $log.error('[AngularJS - Leaflet] A layer must have a valid type defined.');\n      return false;\n    }\n\n    if (Object.keys(layerTypes).indexOf(layerDefinition.type) === -1) {\n      $log.error('[AngularJS - Leaflet] A layer must have a valid type: ' + Object.keys(layerTypes));\n      return false;\n    }\n\n    // Check if the layer must have an URL\n    if (layerTypes[layerDefinition.type].mustHaveUrl &amp;&amp; !isString(layerDefinition.url)) {\n      $log.error('[AngularJS - Leaflet] A base layer must have an url');\n      return false;\n    }\n\n    if (layerTypes[layerDefinition.type].mustHaveData &amp;&amp; !isDefined(layerDefinition.data)) {\n      $log.error('[AngularJS - Leaflet] The base layer must have a \"data\" array attribute');\n      return false;\n    }\n\n    if (layerTypes[layerDefinition.type].mustHaveLayer &amp;&amp; !isDefined(layerDefinition.layer)) {\n      $log.error('[AngularJS - Leaflet] The type of layer ' + layerDefinition.type + ' must have an layer defined');\n      return false;\n    }\n\n    if (layerTypes[layerDefinition.type].mustHaveBounds &amp;&amp; !isDefined(layerDefinition.bounds)) {\n      $log.error('[AngularJS - Leaflet] The type of layer ' + layerDefinition.type + ' must have bounds defined');\n      return false;\n    }\n\n    if (layerTypes[layerDefinition.type].mustHaveKey &amp;&amp; !isDefined(layerDefinition.key)) {\n      $log.error('[AngularJS - Leaflet] The type of layer ' + layerDefinition.type + ' must have key defined');\n      return false;\n    }\n\n    return true;\n  }\n\n  function createLayer(layerDefinition) {\n    if (!isValidLayerType(layerDefinition)) {\n      return;\n    }\n\n    if (!isString(layerDefinition.name)) {\n      $log.error('[AngularJS - Leaflet] A base layer must have a name');\n      return;\n    }\n\n    if (!isObject(layerDefinition.layerParams)) {\n      layerDefinition.layerParams = {};\n    }\n\n    if (!isObject(layerDefinition.layerOptions)) {\n      layerDefinition.layerOptions = {};\n    }\n\n    // Mix the layer specific parameters with the general Leaflet options. Although this is an overhead\n    // the definition of a base layers is more 'clean' if the two types of parameters are differentiated\n    for (var attrname in layerDefinition.layerParams) {\n      layerDefinition.layerOptions[attrname] = layerDefinition.layerParams[attrname];\n    }\n\n    var params = {\n      url: layerDefinition.url,\n      data: layerDefinition.data,\n      options: layerDefinition.layerOptions,\n      layer: layerDefinition.layer,\n      icon: layerDefinition.icon,\n      type: layerDefinition.layerType,\n      bounds: layerDefinition.bounds,\n      key: layerDefinition.key,\n      apiKey: layerDefinition.apiKey,\n      pluginOptions: layerDefinition.pluginOptions,\n      user: layerDefinition.user,\n    };\n\n    //TODO Add $watch to the layer properties\n    return layerTypes[layerDefinition.type].createLayer(params);\n  }\n\n  function safeAddLayer(map, layer) {\n    if (layer &amp;&amp; typeof layer.addTo === 'function') {\n      layer.addTo(map);\n    } else {\n      map.addLayer(layer);\n    }\n  }\n\n  function safeRemoveLayer(map, layer, layerOptions) {\n    if (isDefined(layerOptions) &amp;&amp; isDefined(layerOptions.loadedDefer)) {\n      if (angular.isFunction(layerOptions.loadedDefer)) {\n        var defers = layerOptions.loadedDefer();\n        $log.debug('Loaded Deferred', defers);\n        var count = defers.length;\n        if (count &gt; 0) {\n          var resolve = function() {\n            count--;\n            if (count === 0) {\n              map.removeLayer(layer);\n            }\n          };\n\n          for (var i = 0; i &lt; defers.length; i++) {\n            defers[i].promise.then(resolve);\n          }\n        } else {\n          map.removeLayer(layer);\n        }\n      } else {\n        layerOptions.loadedDefer.promise.then(function() {\n          map.removeLayer(layer);\n        });\n      }\n    } else {\n      map.removeLayer(layer);\n    }\n  }\n\n  return {\n    createLayer: createLayer,\n    safeAddLayer: safeAddLayer,\n    safeRemoveLayer: safeRemoveLayer,\n  };\n}]);\n\nangular.module('leaflet-directive-two').factory('leafletLegendHelpers', function() {\n  var _updateLegend = function(div, legendData, type, url) {\n    div.innerHTML = '';\n    if (legendData.error) {\n      div.innerHTML += '&lt;div class=\"info-title alert alert-danger\"&gt;' + legendData.error.message + '&lt;/div&gt;';\n    } else {\n      if (type === 'arcgis') {\n        for (var i = 0; i &lt; legendData.layers.length; i++) {\n          var layer = legendData.layers[i];\n          div.innerHTML += '&lt;div class=\"info-title\" data-layerid=\"' + layer.layerId + '\"&gt;' + layer.layerName + '&lt;/div&gt;';\n          for (var j = 0; j &lt; layer.legend.length; j++) {\n            var leg = layer.legend[j];\n            div.innerHTML +=\n            '&lt;div class=\"inline\" data-layerid=\"' + layer.layerId + '\"&gt;&lt;img src=\"data:' + leg.contentType + ';base64,' + leg.imageData + '\" /&gt;&lt;/div&gt;' +\n            '&lt;div class=\"info-label\" data-layerid=\"' + layer.layerId + '\"&gt;' + leg.label + '&lt;/div&gt;';\n          }\n        }\n      }      else if (type === 'image') {\n        div.innerHTML = '&lt;img src=\"' + url + '\"/&gt;';\n      }\n    }\n  };\n\n  var _getOnAddLegend = function(legendData, legendClass, type, url) {\n    return function(/*map*/) {\n      var div = L.DomUtil.create('div', legendClass);\n\n      if (!L.Browser.touch) {\n        L.DomEvent.disableClickPropagation(div);\n        L.DomEvent.on(div, 'mousewheel', L.DomEvent.stopPropagation);\n      } else {\n        L.DomEvent.on(div, 'click', L.DomEvent.stopPropagation);\n      }\n\n      _updateLegend(div, legendData, type, url);\n      return div;\n    };\n  };\n\n  var _getOnAddArrayLegend = function(legend, legendClass) {\n    return function(/*map*/) {\n      var div = L.DomUtil.create('div', legendClass);\n      for (var i = 0; i &lt; legend.colors.length; i++) {\n        div.innerHTML +=\n            '&lt;div class=\"outline\"&gt;&lt;i style=\"background:' + legend.colors[i] + '\"&gt;&lt;/i&gt;&lt;/div&gt;' +\n            '&lt;div class=\"info-label\"&gt;' + legend.labels[i] + '&lt;/div&gt;';\n      }\n\n      if (!L.Browser.touch) {\n        L.DomEvent.disableClickPropagation(div);\n        L.DomEvent.on(div, 'mousewheel', L.DomEvent.stopPropagation);\n      } else {\n        L.DomEvent.on(div, 'click', L.DomEvent.stopPropagation);\n      }\n\n      return div;\n    };\n  };\n\n  return {\n    getOnAddLegend: _getOnAddLegend,\n    getOnAddArrayLegend: _getOnAddArrayLegend,\n    updateLegend: _updateLegend,\n  };\n});\n\nangular.module('leaflet-directive-two').factory('leafletMapDefaults', [\"$q\", \"leafletHelpers\", function($q, leafletHelpers) {\n  function _getDefaults() {\n    return {\n      keyboard: true,\n      dragging: true,\n      worldCopyJump: false,\n      doubleClickZoom: true,\n      scrollWheelZoom: true,\n      tap: true,\n      touchZoom: true,\n      zoomControl: true,\n      zoomsliderControl: false,\n      zoomControlPosition: 'topleft',\n      attributionControl: true,\n      controls: {\n        layers: {\n          visible: true,\n          position: 'topright',\n          collapsed: true,\n        },\n      },\n      nominatim: {\n        server: ' http://nominatim.openstreetmap.org/search',\n      },\n      crs: L.CRS.EPSG3857,\n      tileLayer: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n      tileLayerOptions: {\n        attribution: '&amp;copy; &lt;a href=\"http://www.openstreetmap.org/copyright\"&gt;OpenStreetMap&lt;/a&gt; contributors',\n      },\n      path: {\n        weight: 10,\n        opacity: 1,\n        color: '#0000ff',\n      },\n      center: {\n        lat: 0,\n        lng: 0,\n        zoom: 1,\n      },\n    };\n  }\n\n  var isDefined = leafletHelpers.isDefined;\n  var isObject = leafletHelpers.isObject;\n  var obtainEffectiveMapId = leafletHelpers.obtainEffectiveMapId;\n  var defaults = {};\n\n  // Get the _defaults dictionary, and override the properties defined by the user\n  return {\n    reset: function() {\n      defaults = {};\n    },\n\n    getDefaults: function(scopeId) {\n      var mapId = obtainEffectiveMapId(defaults, scopeId);\n      return defaults[mapId];\n    },\n\n    getMapCreationDefaults: function(scopeId) {\n      var mapId = obtainEffectiveMapId(defaults, scopeId);\n      var d = defaults[mapId];\n\n      var mapDefaults = {\n        maxZoom: d.maxZoom,\n        keyboard: d.keyboard,\n        dragging: d.dragging,\n        zoomControl: d.zoomControl,\n        doubleClickZoom: d.doubleClickZoom,\n        scrollWheelZoom: d.scrollWheelZoom,\n        tap: d.tap,\n        touchZoom: d.touchZoom,\n        attributionControl: d.attributionControl,\n        worldCopyJump: d.worldCopyJump,\n        crs: d.crs,\n      };\n\n      if (isDefined(d.minZoom)) {\n        mapDefaults.minZoom = d.minZoom;\n      }\n\n      if (isDefined(d.zoomAnimation)) {\n        mapDefaults.zoomAnimation = d.zoomAnimation;\n      }\n\n      if (isDefined(d.fadeAnimation)) {\n        mapDefaults.fadeAnimation = d.fadeAnimation;\n      }\n\n      if (isDefined(d.markerZoomAnimation)) {\n        mapDefaults.markerZoomAnimation = d.markerZoomAnimation;\n      }\n\n      if (d.map) {\n        for (var option in d.map) {\n          mapDefaults[option] = d.map[option];\n        }\n      }\n\n      return mapDefaults;\n    },\n\n    setDefaults: function(userDefaults, scopeId) {\n      var newDefaults = _getDefaults();\n\n      if (isDefined(userDefaults)) {\n        newDefaults.doubleClickZoom = isDefined(userDefaults.doubleClickZoom) ? userDefaults.doubleClickZoom : newDefaults.doubleClickZoom;\n        newDefaults.scrollWheelZoom = isDefined(userDefaults.scrollWheelZoom) ? userDefaults.scrollWheelZoom : newDefaults.doubleClickZoom;\n        newDefaults.tap = isDefined(userDefaults.tap) ? userDefaults.tap : newDefaults.tap;\n        newDefaults.touchZoom = isDefined(userDefaults.touchZoom) ? userDefaults.touchZoom : newDefaults.doubleClickZoom;\n        newDefaults.zoomControl = isDefined(userDefaults.zoomControl) ? userDefaults.zoomControl : newDefaults.zoomControl;\n        newDefaults.zoomsliderControl = isDefined(userDefaults.zoomsliderControl) ? userDefaults.zoomsliderControl : newDefaults.zoomsliderControl;\n        newDefaults.attributionControl = isDefined(userDefaults.attributionControl) ? userDefaults.attributionControl : newDefaults.attributionControl;\n        newDefaults.tileLayer = isDefined(userDefaults.tileLayer) ? userDefaults.tileLayer : newDefaults.tileLayer;\n        newDefaults.zoomControlPosition = isDefined(userDefaults.zoomControlPosition) ? userDefaults.zoomControlPosition : newDefaults.zoomControlPosition;\n        newDefaults.keyboard = isDefined(userDefaults.keyboard) ? userDefaults.keyboard : newDefaults.keyboard;\n        newDefaults.dragging = isDefined(userDefaults.dragging) ? userDefaults.dragging : newDefaults.dragging;\n\n        if (isDefined(userDefaults.controls)) {\n          angular.extend(newDefaults.controls, userDefaults.controls);\n        }\n\n        if (isObject(userDefaults.crs)) {\n          newDefaults.crs = userDefaults.crs;\n        } else if (isDefined(L.CRS[userDefaults.crs])) {\n          newDefaults.crs = L.CRS[userDefaults.crs];\n        }\n\n        if (isDefined(userDefaults.center)) {\n          angular.copy(userDefaults.center, newDefaults.center);\n        }\n\n        if (isDefined(userDefaults.tileLayerOptions)) {\n          angular.copy(userDefaults.tileLayerOptions, newDefaults.tileLayerOptions);\n        }\n\n        if (isDefined(userDefaults.maxZoom)) {\n          newDefaults.maxZoom = userDefaults.maxZoom;\n        }\n\n        if (isDefined(userDefaults.minZoom)) {\n          newDefaults.minZoom = userDefaults.minZoom;\n        }\n\n        if (isDefined(userDefaults.zoomAnimation)) {\n          newDefaults.zoomAnimation = userDefaults.zoomAnimation;\n        }\n\n        if (isDefined(userDefaults.fadeAnimation)) {\n          newDefaults.fadeAnimation = userDefaults.fadeAnimation;\n        }\n\n        if (isDefined(userDefaults.markerZoomAnimation)) {\n          newDefaults.markerZoomAnimation = userDefaults.markerZoomAnimation;\n        }\n\n        if (isDefined(userDefaults.worldCopyJump)) {\n          newDefaults.worldCopyJump = userDefaults.worldCopyJump;\n        }\n\n        if (isDefined(userDefaults.map)) {\n          newDefaults.map = userDefaults.map;\n        }\n\n        if (isDefined(userDefaults.path)) {\n          newDefaults.path = userDefaults.path;\n        }\n      }\n\n      var mapId = obtainEffectiveMapId(defaults, scopeId);\n      defaults[mapId] = newDefaults;\n      return newDefaults;\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').service('leafletMarkersHelpers', [\"$rootScope\", \"$timeout\", \"leafletHelpers\", \"$log\", \"$compile\", \"leafletGeoJsonHelpers\", function($rootScope, $timeout, leafletHelpers, $log, $compile, leafletGeoJsonHelpers) {\n  var isDefined = leafletHelpers.isDefined;\n  var defaultTo = leafletHelpers.defaultTo;\n  var MarkerClusterPlugin = leafletHelpers.MarkerClusterPlugin;\n  var AwesomeMarkersPlugin = leafletHelpers.AwesomeMarkersPlugin;\n  var VectorMarkersPlugin = leafletHelpers.VectorMarkersPlugin;\n  var MakiMarkersPlugin = leafletHelpers.MakiMarkersPlugin;\n  var ExtraMarkersPlugin = leafletHelpers.ExtraMarkersPlugin;\n  var DomMarkersPlugin = leafletHelpers.DomMarkersPlugin;\n  var safeApply = leafletHelpers.safeApply;\n  var Helpers = leafletHelpers;\n  var isString = leafletHelpers.isString;\n  var isNumber = leafletHelpers.isNumber;\n  var isObject = leafletHelpers.isObject;\n  var groups = {};\n  var geoHlp = leafletGeoJsonHelpers;\n  var errorHeader = leafletHelpers.errorHeader;\n\n  var _string = function(marker) {\n    //this exists since JSON.stringify barfs on cyclic\n    var retStr = '';\n    ['_icon', '_latlng', '_leaflet_id', '_map', '_shadow'].forEach(function(prop) {\n      retStr += prop + ': ' + defaultTo(marker[prop], 'undefined') + ' \\n';\n    });\n\n    return '[leafletMarker] : \\n' + retStr;\n  };\n\n  var _log = function(marker, useConsole) {\n    var logger = useConsole ? console : $log;\n    logger.debug(_string(marker));\n  };\n\n  var createLeafletIcon = function(iconData) {\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'awesomeMarker') {\n      if (!AwesomeMarkersPlugin.isLoaded()) {\n        $log.error(errorHeader + ' The AwesomeMarkers Plugin is not loaded.');\n      }\n\n      return new L.AwesomeMarkers.icon(iconData);\n    }\n\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'vectorMarker') {\n      if (!VectorMarkersPlugin.isLoaded()) {\n        $log.error(errorHeader + ' The VectorMarkers Plugin is not loaded.');\n      }\n\n      return new L.VectorMarkers.icon(iconData);\n    }\n\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'makiMarker') {\n      if (!MakiMarkersPlugin.isLoaded()) {\n        $log.error(errorHeader + 'The MakiMarkers Plugin is not loaded.');\n      }\n\n      return new L.MakiMarkers.icon(iconData);\n    }\n\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'extraMarker') {\n      if (!ExtraMarkersPlugin.isLoaded()) {\n        $log.error(errorHeader + 'The ExtraMarkers Plugin is not loaded.');\n      }\n\n      return new L.ExtraMarkers.icon(iconData);\n    }\n\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'div') {\n      return new L.divIcon(iconData);\n    }\n\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'dom') {\n      if (!DomMarkersPlugin.isLoaded()) {\n        $log.error(errorHeader + 'The DomMarkers Plugin is not loaded.');\n      }\n\n      var markerScope = angular.isFunction(iconData.getMarkerScope) ? iconData.getMarkerScope() : $rootScope;\n      var template = $compile(iconData.template)(markerScope);\n      var iconDataCopy = angular.copy(iconData);\n      iconDataCopy.element = template[0];\n      return new L.DomMarkers.icon(iconDataCopy);\n    }\n\n    // allow for any custom icon to be used... assumes the icon has already been initialized\n    if (isDefined(iconData) &amp;&amp; isDefined(iconData.type) &amp;&amp; iconData.type === 'icon') {\n      return iconData.icon;\n    }\n\n    var base64icon = 'marker-icon-2x.png';\n    var base64shadow = 'marker-shadow.png';\n\n    if (!isDefined(iconData) || !isDefined(iconData.iconUrl)) {\n      return new L.Icon.Default({\n        iconUrl: base64icon,\n        shadowUrl: 'marker-shadow.png',\n        iconSize: [25, 41],\n        iconAnchor: [12, 41],\n        popupAnchor: [1, -34],\n        shadowSize: [41, 41],\n      });\n    }\n\n    return new L.Icon(iconData);\n  };\n\n  var _resetMarkerGroup = function(groupName) {\n    if (isDefined(groups[groupName])) {\n      groups.splice(groupName, 1);\n    }\n  };\n\n  var _resetMarkerGroups = function() {\n    groups = {};\n  };\n\n  var _deleteMarker = function(marker, map, layers) {\n    marker.closePopup();\n\n    // There is no easy way to know if a marker is added to a layer, so we search for it\n    // if there are overlays\n    if (isDefined(layers) &amp;&amp; isDefined(layers.overlays)) {\n      for (var key in layers.overlays) {\n        if (layers.overlays[key] instanceof L.LayerGroup || layers.overlays[key] instanceof L.FeatureGroup) {\n          if (layers.overlays[key].hasLayer(marker)) {\n            layers.overlays[key].removeLayer(marker);\n            return;\n          }\n        }\n      }\n    }\n\n    if (isDefined(groups)) {\n      for (var groupKey in groups) {\n        if (groups[groupKey].hasLayer(marker)) {\n          groups[groupKey].removeLayer(marker);\n        }\n      }\n    }\n\n    if (map.hasLayer(marker)) {\n      map.removeLayer(marker);\n    }\n  };\n\n  var adjustPopupPan = function(marker, map) {\n    var containerHeight = marker._popup._container.offsetHeight;\n    var layerPos = new L.Point(marker._popup._containerLeft, -containerHeight - marker._popup._containerBottom);\n    var containerPos = map.layerPointToContainerPoint(layerPos);\n    if (containerPos !== null) {\n      marker._popup._adjustPan();\n    }\n  };\n\n  var compilePopup = function(marker, markerScope) {\n    $compile(marker._popup._contentNode)(markerScope);\n  };\n\n  var updatePopup = function(marker, markerScope, map) {\n    //The innerText should be more than 1 once angular has compiled.\n    //We need to keep trying until angular has compiled before we _updateLayout and _updatePosition\n    //This should take care of any scenario , eg ngincludes, whatever.\n    //Is there a better way to check for this?\n    var innerText = marker._popup._contentNode.innerText || marker._popup._contentNode.textContent;\n    if (innerText.length &lt; 1) {\n      $timeout(function() {\n        updatePopup(marker, markerScope, map);\n      });\n    }\n\n    //cause a reflow - this is also very important - if we don't do this then the widths are from before $compile\n    var reflow = marker._popup._contentNode.offsetWidth;\n\n    marker._popup._updateLayout();\n    marker._popup._updatePosition();\n\n    if (marker._popup.options.autoPan) {\n      adjustPopupPan(marker, map);\n    }\n\n    //using / returning reflow so jshint doesn't moan\n    return reflow;\n  };\n\n  var _manageOpenPopup = function(marker, markerData, map) {\n    // The marker may provide a scope returning function used to compile the message\n    // default to $rootScope otherwise\n    var markerScope = angular.isFunction(markerData.getMessageScope) ? markerData.getMessageScope() : $rootScope;\n    var compileMessage = isDefined(markerData.compileMessage) ? markerData.compileMessage : true;\n\n    if (compileMessage) {\n      if (!isDefined(marker._popup) || !isDefined(marker._popup._contentNode)) {\n        $log.error(errorHeader + 'Popup is invalid or does not have any content.');\n        return false;\n      }\n\n      compilePopup(marker, markerScope);\n      updatePopup(marker, markerData, map);\n    }\n  };\n\n  var _manageOpenLabel = function(marker, markerData) {\n    var markerScope = angular.isFunction(markerData.getMessageScope) ? markerData.getMessageScope() : $rootScope;\n    var labelScope = angular.isFunction(markerData.getLabelScope) ? markerData.getLabelScope() : markerScope;\n    var compileMessage = isDefined(markerData.compileMessage) ? markerData.compileMessage : true;\n\n    if (Helpers.LabelPlugin.isLoaded() &amp;&amp; isDefined(markerData.label)) {\n      if (isDefined(markerData.label.options) &amp;&amp; markerData.label.options.noHide === true) {\n        marker.showLabel();\n      }\n\n      if (compileMessage &amp;&amp; isDefined(marker.label)) {\n        $compile(marker.label._container)(labelScope);\n      }\n    }\n  };\n\n  var _updateMarker = function(markerData, oldMarkerData, marker, name, leafletScope, layers, map) {\n    if (!isDefined(oldMarkerData)) {\n      return;\n    }\n\n    // Update the lat-lng property (always present in marker properties)\n    if (!geoHlp.validateCoords(markerData)) {\n      $log.warn('There are problems with lat-lng data, please verify your marker model');\n      _deleteMarker(marker, map, layers);\n      return;\n    }\n\n    // watch is being initialized if old and new object is the same\n    var isInitializing = markerData === oldMarkerData;\n\n    // Update marker rotation\n    if (isDefined(markerData.iconAngle) &amp;&amp; oldMarkerData.iconAngle !== markerData.iconAngle) {\n      marker.setIconAngle(markerData.iconAngle);\n    }\n\n    // It is possible that the layer has been removed or the layer marker does not exist\n    // Update the layer group if present or move it to the map if not\n    if (!isString(markerData.layer)) {\n      // There is no layer information, we move the marker to the map if it was in a layer group\n      if (isString(oldMarkerData.layer)) {\n        // Remove from the layer group that is supposed to be\n        if (isDefined(layers.overlays[oldMarkerData.layer]) &amp;&amp; layers.overlays[oldMarkerData.layer].hasLayer(marker)) {\n          layers.overlays[oldMarkerData.layer].removeLayer(marker);\n          marker.closePopup();\n        }\n\n        // Test if it is not on the map and add it\n        if (!map.hasLayer(marker)) {\n          map.addLayer(marker);\n        }\n      }\n    }\n\n    if ((isNumber(markerData.opacity) || isNumber(parseFloat(markerData.opacity))) &amp;&amp; markerData.opacity !== oldMarkerData.opacity) {\n      // There was a different opacity so we update it\n      marker.setOpacity(markerData.opacity);\n    }\n\n    if (isString(markerData.layer) &amp;&amp; oldMarkerData.layer !== markerData.layer) {\n      // If it was on a layer group we have to remove it\n      if (isString(oldMarkerData.layer) &amp;&amp; isDefined(layers.overlays[oldMarkerData.layer]) &amp;&amp; layers.overlays[oldMarkerData.layer].hasLayer(marker)) {\n        layers.overlays[oldMarkerData.layer].removeLayer(marker);\n      }\n\n      marker.closePopup();\n\n      // Remove it from the map in case the new layer is hidden or there is an error in the new layer\n      if (map.hasLayer(marker)) {\n        map.removeLayer(marker);\n      }\n\n      // The markerData.layer is defined so we add the marker to the layer if it is different from the old data\n      if (!isDefined(layers.overlays[markerData.layer])) {\n        $log.error(errorHeader + 'You must use a name of an existing layer');\n        return;\n      }\n\n      // Is a group layer?\n      var layerGroup = layers.overlays[markerData.layer];\n      if (!(layerGroup instanceof L.LayerGroup || layerGroup instanceof L.FeatureGroup)) {\n        $log.error(errorHeader + 'A marker can only be added to a layer of type \"group\" or \"featureGroup\"');\n        return;\n      }\n\n      // The marker goes to a correct layer group, so first of all we add it\n      layerGroup.addLayer(marker);\n\n      // The marker is automatically added to the map depending on the visibility\n      // of the layer, so we only have to open the popup if the marker is in the map\n      if (map.hasLayer(marker) &amp;&amp; markerData.focus === true) {\n        marker.openPopup();\n      }\n    }\n\n    // Update the draggable property\n    if (markerData.draggable !== true &amp;&amp; oldMarkerData.draggable === true &amp;&amp; (isDefined(marker.dragging))) {\n      marker.dragging.disable();\n    }\n\n    if (markerData.draggable === true &amp;&amp; oldMarkerData.draggable !== true) {\n      // The markerData.draggable property must be true so we update if there wasn't a previous value or it wasn't true\n      if (marker.dragging) {\n        marker.dragging.enable();\n      } else {\n        if (L.Handler.MarkerDrag) {\n          marker.dragging = new L.Handler.MarkerDrag(marker);\n          marker.options.draggable = true;\n          marker.dragging.enable();\n        }\n      }\n    }\n\n    // Update the icon property\n    if (!isObject(markerData.icon)) {\n      // If there is no icon property or it's not an object\n      if (isObject(oldMarkerData.icon)) {\n        // If there was an icon before restore to the default\n        marker.setIcon(createLeafletIcon());\n        marker.closePopup();\n        marker.unbindPopup();\n        if (isString(markerData.message)) {\n          marker.bindPopup(markerData.message, markerData.popupOptions);\n        }\n      }\n    }\n\n    if (isObject(markerData.icon) &amp;&amp; isObject(oldMarkerData.icon) &amp;&amp; !angular.equals(markerData.icon, oldMarkerData.icon)) {\n      var dragG = false;\n      if (marker.dragging) {\n        dragG = marker.dragging.enabled();\n      }\n\n      marker.setIcon(createLeafletIcon(markerData.icon));\n      if (dragG) {\n        marker.dragging.enable();\n      }\n\n      marker.closePopup();\n      marker.unbindPopup();\n      if (isString(markerData.message)) {\n        marker.bindPopup(markerData.message, markerData.popupOptions);\n\n        // if marker has been already focused, reopen popup\n        if (map.hasLayer(marker) &amp;&amp; markerData.focus === true) {\n          marker.openPopup();\n        }\n      }\n    }\n\n    // Update the Popup message property\n    if (!isString(markerData.message) &amp;&amp; isString(oldMarkerData.message)) {\n      marker.closePopup();\n      marker.unbindPopup();\n    }\n\n    // Update the label content or bind a new label if the old one has been removed.\n    if (Helpers.LabelPlugin.isLoaded()) {\n      if (isDefined(markerData.label) &amp;&amp; isDefined(markerData.label.message)) {\n        if ('label' in oldMarkerData &amp;&amp; 'message' in oldMarkerData.label &amp;&amp; !angular.equals(markerData.label.message, oldMarkerData.label.message)) {\n          marker.updateLabelContent(markerData.label.message);\n        } else if (!angular.isFunction(marker.getLabel) || angular.isFunction(marker.getLabel) &amp;&amp; !isDefined(marker.getLabel())) {\n          marker.bindLabel(markerData.label.message, markerData.label.options);\n          _manageOpenLabel(marker, markerData);\n        } else {\n          _manageOpenLabel(marker, markerData);\n        }\n      } else if (!('label' in markerData &amp;&amp; !('message' in markerData.label))) {\n        if (angular.isFunction(marker.unbindLabel)) {\n          marker.unbindLabel();\n        }\n      }\n    }\n\n    // There is some text in the popup, so we must show the text or update existing\n    if (isString(markerData.message) &amp;&amp; !isString(oldMarkerData.message)) {\n      // There was no message before so we create it\n      marker.bindPopup(markerData.message, markerData.popupOptions);\n    }\n\n    if (isString(markerData.message) &amp;&amp; isString(oldMarkerData.message) &amp;&amp; markerData.message !== oldMarkerData.message) {\n      // There was a different previous message so we update it\n      marker.setPopupContent(markerData.message);\n    }\n\n    // Update the focus property\n    var updatedFocus = false;\n    if (markerData.focus !== true &amp;&amp; oldMarkerData.focus === true) {\n      // If there was a focus property and was true we turn it off\n      marker.closePopup();\n      updatedFocus = true;\n    }\n\n    // The markerData.focus property must be true so we update if there wasn't a previous value or it wasn't true\n    if (markerData.focus === true &amp;&amp; (!isDefined(oldMarkerData.focus) || oldMarkerData.focus === false) || (isInitializing &amp;&amp; markerData.focus === true)) {\n      // Reopen the popup when focus is still true\n      marker.openPopup();\n      updatedFocus = true;\n    }\n\n    // zIndexOffset adjustment\n    if (oldMarkerData.zIndexOffset !== markerData.zIndexOffset) {\n      marker.setZIndexOffset(markerData.zIndexOffset);\n    }\n\n    var markerLatLng = marker.getLatLng();\n    var isCluster = (isString(markerData.layer) &amp;&amp; Helpers.MarkerClusterPlugin.is(layers.overlays[markerData.layer]));\n\n    // If the marker is in a cluster it has to be removed and added to the layer when the location is changed\n    if (isCluster) {\n      // The focus has changed even by a user click or programatically\n      if (updatedFocus) {\n        // We only have to update the location if it was changed programatically, because it was\n        // changed by a user drag the marker data has already been updated by the internal event\n        // listened by the directive\n        if ((markerData.lat !== oldMarkerData.lat) || (markerData.lng !== oldMarkerData.lng)) {\n          layers.overlays[markerData.layer].removeLayer(marker);\n          marker.setLatLng([markerData.lat, markerData.lng]);\n          layers.overlays[markerData.layer].addLayer(marker);\n        }\n      } else {\n        // The marker has possibly moved. It can be moved by a user drag (marker location and data are equal but old\n        // data is diferent) or programatically (marker location and data are diferent)\n        if ((markerLatLng.lat !== markerData.lat) || (markerLatLng.lng !== markerData.lng)) {\n          // The marker was moved by a user drag\n          layers.overlays[markerData.layer].removeLayer(marker);\n          marker.setLatLng([markerData.lat, markerData.lng]);\n          layers.overlays[markerData.layer].addLayer(marker);\n        } else if ((markerData.lat !== oldMarkerData.lat) || (markerData.lng !== oldMarkerData.lng)) {\n          // The marker was moved programatically\n          layers.overlays[markerData.layer].removeLayer(marker);\n          marker.setLatLng([markerData.lat, markerData.lng]);\n          layers.overlays[markerData.layer].addLayer(marker);\n        } else if (isObject(markerData.icon) &amp;&amp; isObject(oldMarkerData.icon) &amp;&amp; !angular.equals(markerData.icon, oldMarkerData.icon)) {\n          layers.overlays[markerData.layer].removeLayer(marker);\n          layers.overlays[markerData.layer].addLayer(marker);\n        }\n      }\n    } else if (markerLatLng.lat !== markerData.lat || markerLatLng.lng !== markerData.lng) {\n      marker.setLatLng([markerData.lat, markerData.lng]);\n    }\n  };\n\n  return {\n    resetMarkerGroup: _resetMarkerGroup,\n\n    resetMarkerGroups: _resetMarkerGroups,\n\n    deleteMarker: _deleteMarker,\n\n    manageOpenPopup: _manageOpenPopup,\n\n    manageOpenLabel: _manageOpenLabel,\n\n    createMarker: function(markerData) {\n      if (!isDefined(markerData) || !geoHlp.validateCoords(markerData)) {\n        $log.error(errorHeader + 'The marker definition is not valid.');\n        return;\n      }\n\n      var coords = geoHlp.getCoords(markerData);\n\n      if (!isDefined(coords)) {\n        $log.error(errorHeader + 'Unable to get coordinates from markerData.');\n        return;\n      }\n\n      var markerOptions = {\n        icon: createLeafletIcon(markerData.icon),\n        title: isDefined(markerData.title) ? markerData.title : '',\n        draggable: isDefined(markerData.draggable) ? markerData.draggable : false,\n        clickable: isDefined(markerData.clickable) ? markerData.clickable : true,\n        riseOnHover: isDefined(markerData.riseOnHover) ? markerData.riseOnHover : false,\n        zIndexOffset: isDefined(markerData.zIndexOffset) ? markerData.zIndexOffset : 0,\n        iconAngle: isDefined(markerData.iconAngle) ? markerData.iconAngle : 0,\n      };\n\n      // Add any other options not added above to markerOptions\n      for (var markerDatum in markerData) {\n        if (markerData.hasOwnProperty(markerDatum) &amp;&amp; !markerOptions.hasOwnProperty(markerDatum)) {\n          markerOptions[markerDatum] = markerData[markerDatum];\n        }\n      }\n\n      var marker = new L.marker(coords, markerOptions);\n\n      if (!isString(markerData.message)) {\n        marker.unbindPopup();\n      }\n\n      return marker;\n    },\n\n    addMarkerToGroup: function(marker, groupName, groupOptions, map) {\n      if (!isString(groupName)) {\n        $log.error(errorHeader + 'The marker group you have specified is invalid.');\n        return;\n      }\n\n      if (!MarkerClusterPlugin.isLoaded()) {\n        $log.error(errorHeader + 'The MarkerCluster plugin is not loaded.');\n        return;\n      }\n\n      if (!isDefined(groups[groupName])) {\n        groups[groupName] = new L.MarkerClusterGroup(groupOptions);\n        map.addLayer(groups[groupName]);\n      }\n\n      groups[groupName].addLayer(marker);\n    },\n\n    listenMarkerEvents: function(marker, markerData, leafletScope, doWatch, map) {\n      marker.on('popupopen', function(/* event */) {\n        safeApply(leafletScope, function() {\n          if (isDefined(marker._popup) || isDefined(marker._popup._contentNode)) {\n            markerData.focus = true;\n            _manageOpenPopup(marker, markerData, map);//needed since markerData is now a copy\n          }\n        });\n      });\n\n      marker.on('popupclose', function(/* event */) {\n        safeApply(leafletScope, function() {\n          markerData.focus = false;\n        });\n      });\n\n      marker.on('add', function(/* event */) {\n        safeApply(leafletScope, function() {\n          if ('label' in markerData)\n              _manageOpenLabel(marker, markerData);\n        });\n      });\n    },\n\n    updateMarker: _updateMarker,\n\n    addMarkerWatcher: function(marker, name, leafletScope, layers, map, isDeepWatch) {\n      var markerWatchPath = Helpers.getObjectArrayPath('markers.' + name);\n      isDeepWatch = defaultTo(isDeepWatch, true);\n\n      var clearWatch = leafletScope.$watch(markerWatchPath, function(markerData, oldMarkerData) {\n        if (!isDefined(markerData)) {\n          _deleteMarker(marker, map, layers);\n          clearWatch();\n          return;\n        }\n\n        _updateMarker(markerData, oldMarkerData, marker, name, leafletScope, layers, map);\n      }, isDeepWatch);\n    },\n\n    string: _string,\n    log: _log,\n  };\n}]);\n\nangular.module('leaflet-directive-two').factory('leafletPathsHelpers', [\"$rootScope\", \"$log\", \"leafletHelpers\", function($rootScope, $log, leafletHelpers) {\n  var isDefined = leafletHelpers.isDefined;\n  var isArray = leafletHelpers.isArray;\n  var isNumber = leafletHelpers.isNumber;\n  var isValidPoint = leafletHelpers.isValidPoint;\n\n  var availableOptions = [\n\n      // Path options\n      'stroke', 'weight', 'color', 'opacity',\n      'fill', 'fillColor', 'fillOpacity',\n      'dashArray', 'lineCap', 'lineJoin', 'clickable',\n      'pointerEvents', 'className',\n\n      // Polyline options\n      'smoothFactor', 'noClip',\n  ];\n  function _convertToLeafletLatLngs(latlngs) {\n    return latlngs.filter(function(latlng) {\n      return isValidPoint(latlng);\n    }).map(function(latlng) {\n      return _convertToLeafletLatLng(latlng);\n    });\n  }\n\n  function _convertToLeafletLatLng(latlng) {\n    if (isArray(latlng)) {\n      return new L.LatLng(latlng[0], latlng[1]);\n    } else {\n      return new L.LatLng(latlng.lat, latlng.lng);\n    }\n  }\n\n  function _convertToLeafletMultiLatLngs(paths) {\n    return paths.map(function(latlngs) {\n      return _convertToLeafletLatLngs(latlngs);\n    });\n  }\n\n  function _getOptions(path, defaults) {\n    var options = {};\n    for (var i = 0; i &lt; availableOptions.length; i++) {\n      var optionName = availableOptions[i];\n\n      if (isDefined(path[optionName])) {\n        options[optionName] = path[optionName];\n      } else if (isDefined(defaults.path[optionName])) {\n        options[optionName] = defaults.path[optionName];\n      }\n    }\n\n    return options;\n  }\n\n  var _updatePathOptions = function(path, data) {\n    var updatedStyle = {};\n    for (var i = 0; i &lt; availableOptions.length; i++) {\n      var optionName = availableOptions[i];\n      if (isDefined(data[optionName])) {\n        updatedStyle[optionName] = data[optionName];\n      }\n    }\n\n    path.setStyle(data);\n  };\n\n  var _isValidPolyline = function(latlngs) {\n    if (!isArray(latlngs)) {\n      return false;\n    }\n\n    for (var i = 0; i &lt; latlngs.length; i++) {\n      var point = latlngs[i];\n      if (!isValidPoint(point)) {\n        return false;\n      }\n    }\n\n    return true;\n  };\n\n  var pathTypes = {\n    polyline: {\n      isValid: function(pathData) {\n        var latlngs = pathData.latlngs;\n        return _isValidPolyline(latlngs);\n      },\n\n      createPath: function(options) {\n        return new L.Polyline([], options);\n      },\n\n      setPath: function(path, data) {\n        path.setLatLngs(_convertToLeafletLatLngs(data.latlngs));\n        _updatePathOptions(path, data);\n        return;\n      },\n    },\n    multiPolyline: {\n      isValid: function(pathData) {\n        var latlngs = pathData.latlngs;\n        if (!isArray(latlngs)) {\n          return false;\n        }\n\n        for (var i in latlngs) {\n          var polyline = latlngs[i];\n          if (!_isValidPolyline(polyline)) {\n            return false;\n          }\n        }\n\n        return true;\n      },\n\n      createPath: function(options) {\n        return new L.multiPolyline([[[0, 0], [1, 1]]], options);\n      },\n\n      setPath: function(path, data) {\n        path.setLatLngs(_convertToLeafletMultiLatLngs(data.latlngs));\n        _updatePathOptions(path, data);\n        return;\n      },\n    },\n    polygon: {\n      isValid: function(pathData) {\n        var latlngs = pathData.latlngs;\n        return _isValidPolyline(latlngs);\n      },\n\n      createPath: function(options) {\n        return new L.Polygon([], options);\n      },\n\n      setPath: function(path, data) {\n        path.setLatLngs(_convertToLeafletLatLngs(data.latlngs));\n        _updatePathOptions(path, data);\n        return;\n      },\n    },\n    multiPolygon: {\n      isValid: function(pathData) {\n        var latlngs = pathData.latlngs;\n\n        if (!isArray(latlngs)) {\n          return false;\n        }\n\n        for (var i in latlngs) {\n          var polyline = latlngs[i];\n          if (!_isValidPolyline(polyline)) {\n            return false;\n          }\n        }\n\n        return true;\n      },\n\n      createPath: function(options) {\n        return new L.MultiPolygon([[[0, 0], [1, 1], [0, 1]]], options);\n      },\n\n      setPath: function(path, data) {\n        path.setLatLngs(_convertToLeafletMultiLatLngs(data.latlngs));\n        _updatePathOptions(path, data);\n        return;\n      },\n    },\n    rectangle: {\n      isValid: function(pathData) {\n        var latlngs = pathData.latlngs;\n\n        if (!isArray(latlngs) || latlngs.length !== 2) {\n          return false;\n        }\n\n        for (var i in latlngs) {\n          var point = latlngs[i];\n          if (!isValidPoint(point)) {\n            return false;\n          }\n        }\n\n        return true;\n      },\n\n      createPath: function(options) {\n        return new L.Rectangle([[0, 0], [1, 1]], options);\n      },\n\n      setPath: function(path, data) {\n        path.setBounds(new L.LatLngBounds(_convertToLeafletLatLngs(data.latlngs)));\n        _updatePathOptions(path, data);\n      },\n    },\n    circle: {\n      isValid: function(pathData) {\n        var point = pathData.latlngs;\n        return isValidPoint(point) &amp;&amp; isNumber(pathData.radius);\n      },\n\n      createPath: function(options) {\n        return new L.Circle([0, 0], 1, options);\n      },\n\n      setPath: function(path, data) {\n        path.setLatLng(_convertToLeafletLatLng(data.latlngs));\n        if (isDefined(data.radius)) {\n          path.setRadius(data.radius);\n        }\n\n        _updatePathOptions(path, data);\n      },\n    },\n    circleMarker: {\n      isValid: function(pathData) {\n        var point = pathData.latlngs;\n        return isValidPoint(point) &amp;&amp; isNumber(pathData.radius);\n      },\n\n      createPath: function(options) {\n        return new L.CircleMarker([0, 0], options);\n      },\n\n      setPath: function(path, data) {\n        path.setLatLng(_convertToLeafletLatLng(data.latlngs));\n        if (isDefined(data.radius)) {\n          path.setRadius(data.radius);\n        }\n\n        _updatePathOptions(path, data);\n      },\n    },\n  };\n\n  var _getPathData = function(path) {\n    var pathData = {};\n    if (path.latlngs) {\n      pathData.latlngs = path.latlngs;\n    }\n\n    if (path.radius) {\n      pathData.radius = path.radius;\n    }\n\n    return pathData;\n  };\n\n  return {\n    setPathOptions: function(leafletPath, pathType, data) {\n      if (!isDefined(pathType)) {\n        pathType = 'polyline';\n      }\n\n      pathTypes[pathType].setPath(leafletPath, data);\n    },\n\n    createPath: function(name, path, defaults) {\n      if (!isDefined(path.type)) {\n        path.type = 'polyline';\n      }\n\n      var options = _getOptions(path, defaults);\n      var pathData = _getPathData(path);\n\n      if (!pathTypes[path.type].isValid(pathData)) {\n        $log.error('[AngularJS - Leaflet] Invalid data passed to the ' + path.type + ' path');\n        return;\n      }\n\n      return pathTypes[path.type].createPath(options);\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two')\n.service('leafletWatchHelpers', function() {\n\n  var _maybe = function(scope, watchFunctionName, thingToWatchStr, watchOptions, initCb) {\n    //watchOptions.isDeep is/should be ignored in $watchCollection\n    var unWatch = scope[watchFunctionName](thingToWatchStr, function(newValue, oldValue) {\n      initCb(newValue, oldValue);\n      if (!watchOptions.doWatch)\n          unWatch();\n    }, watchOptions.isDeep);\n\n    return unWatch;\n  };\n\n  /*\n  @name: maybeWatch\n  @description: Utility to watch something once or forever.\n  @returns unWatch function\n  @param watchOptions - see markersWatchOptions and or derrivatives. This object is used\n  to set watching to once and its watch depth.\n  */\n  var _maybeWatch = function(scope, thingToWatchStr, watchOptions, initCb) {\n    return _maybe(scope, '$watch', thingToWatchStr, watchOptions, initCb);\n  };\n\n  /*\n  @name: _maybeWatchCollection\n  @description: Utility to watch something once or forever.\n  @returns unWatch function\n  @param watchOptions - see markersWatchOptions and or derrivatives. This object is used\n  to set watching to once and its watch depth.\n  */\n  var _maybeWatchCollection = function(scope, thingToWatchStr, watchOptions, initCb) {\n    return _maybe(scope, '$watchCollection', thingToWatchStr, watchOptions, initCb);\n  };\n\n  return {\n    maybeWatch: _maybeWatch,\n    maybeWatchCollection: _maybeWatchCollection,\n  };\n});\n\nangular.module('leaflet-directive-two').factory('nominatimService', [\"$q\", \"$http\", \"leafletHelpers\", \"leafletMapDefaults\", function($q, $http, leafletHelpers, leafletMapDefaults) {\n  var isDefined = leafletHelpers.isDefined;\n\n  return {\n    query: function(address, mapId) {\n      var defaults = leafletMapDefaults.getDefaults(mapId);\n      var url = defaults.nominatim.server;\n      var df = $q.defer();\n\n      $http.get(url, { params: { format: 'json', limit: 1, q: address } }).success(function(data) {\n        if (data.length &gt; 0 &amp;&amp; isDefined(data[0].boundingbox)) {\n          df.resolve(data[0]);\n        } else {\n          df.reject('[Nominatim] Invalid address');\n        }\n      });\n\n      return df.promise;\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('bounds', [\"$log\", \"$timeout\", \"$http\", \"leafletHelpers\", \"nominatimService\", \"leafletBoundsHelpers\", function($log, $timeout, $http, leafletHelpers, nominatimService, leafletBoundsHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: ['leaflet'],\n\n    link: function(scope, element, attrs, controller) {\n      var isDefined = leafletHelpers.isDefined;\n      var createLeafletBounds = leafletBoundsHelpers.createLeafletBounds;\n      var leafletScope = controller[0].getLeafletScope();\n      var mapController = controller[0];\n      var errorHeader = leafletHelpers.errorHeader + ' [Bounds] ';\n\n      var emptyBounds = function(bounds) {\n        return (bounds._southWest.lat === 0 &amp;&amp; bounds._southWest.lng === 0 &amp;&amp;\n                bounds._northEast.lat === 0 &amp;&amp; bounds._northEast.lng === 0);\n      };\n\n      mapController.getMap().then(function(map) {\n        leafletScope.$on('boundsChanged', function(event) {\n          var scope = event.currentScope;\n          var bounds = map.getBounds();\n\n          if (emptyBounds(bounds) || scope.settingBoundsFromScope) {\n            return;\n          }\n\n          scope.settingBoundsFromLeaflet = true;\n          var newScopeBounds = {\n            northEast: {\n              lat: bounds._northEast.lat,\n              lng: bounds._northEast.lng,\n            },\n            southWest: {\n              lat: bounds._southWest.lat,\n              lng: bounds._southWest.lng,\n            },\n            options: bounds.options,\n          };\n          if (!angular.equals(scope.bounds, newScopeBounds)) {\n            scope.bounds = newScopeBounds;\n          }\n\n          $timeout(function() {\n            scope.settingBoundsFromLeaflet = false;\n          });\n        });\n\n        var lastNominatimQuery;\n        leafletScope.$watch('bounds', function(bounds) {\n          if (scope.settingBoundsFromLeaflet)\n              return;\n          if (isDefined(bounds.address) &amp;&amp; bounds.address !== lastNominatimQuery) {\n            scope.settingBoundsFromScope = true;\n            nominatimService.query(bounds.address, attrs.id).then(function(data) {\n              var b = data.boundingbox;\n              var newBounds = [[b[0], b[2]], [b[1], b[3]]];\n              map.fitBounds(newBounds);\n            }, function(errMsg) {\n\n              $log.error(errorHeader + ' ' + errMsg + '.');\n            });\n\n            lastNominatimQuery = bounds.address;\n            $timeout(function() {\n              scope.settingBoundsFromScope = false;\n            });\n\n            return;\n          }\n\n          var leafletBounds = createLeafletBounds(bounds);\n          if (leafletBounds &amp;&amp; !map.getBounds().equals(leafletBounds)) {\n            scope.settingBoundsFromScope = true;\n            map.fitBounds(leafletBounds, bounds.options);\n            $timeout(function() {\n              scope.settingBoundsFromScope = false;\n            });\n          }\n        }, true);\n      });\n    },\n  };\n}]);\n\nvar centerDirectiveTypes = ['center', 'lfCenter'];\nvar centerDirectives = {};\n\ncenterDirectiveTypes.forEach(function(directiveName) {\n  centerDirectives[directiveName] = ['$log', '$q', '$location', '$timeout', 'leafletMapDefaults', 'leafletHelpers',\n      'leafletBoundsHelpers', 'leafletMapEvents',\n        function($log, $q, $location, $timeout, leafletMapDefaults, leafletHelpers,\n      leafletBoundsHelpers, leafletMapEvents) {\n\n      var isDefined = leafletHelpers.isDefined;\n      var isNumber = leafletHelpers.isNumber;\n      var isSameCenterOnMap = leafletHelpers.isSameCenterOnMap;\n      var safeApply = leafletHelpers.safeApply;\n      var isValidCenter = leafletHelpers.isValidCenter;\n      var isValidBounds = leafletBoundsHelpers.isValidBounds;\n      var isUndefinedOrEmpty = leafletHelpers.isUndefinedOrEmpty;\n      var errorHeader = leafletHelpers.errorHeader;\n\n      var shouldInitializeMapWithBounds = function(bounds, center) {\n        return isDefined(bounds) &amp;&amp; isValidBounds(bounds) &amp;&amp; isUndefinedOrEmpty(center);\n      };\n\n      var _leafletCenter;\n      return {\n        restrict: 'A',\n        scope: false,\n        replace: false,\n        require: 'leaflet',\n        controller: function() {\n          _leafletCenter = $q.defer();\n          this.getCenter = function() {\n            return _leafletCenter.promise;\n          };\n        },\n\n        link: function(scope, element, attrs, controller) {\n          var leafletScope = controller.getLeafletScope();\n          var centerModel = leafletScope[directiveName];\n\n          controller.getMap().then(function(map) {\n            var defaults = leafletMapDefaults.getDefaults(attrs.id);\n\n            if (attrs[directiveName].search('-') !== -1) {\n              $log.error(errorHeader + ' The \"center\" variable can\\'t use a \"-\" on its key name: \"' + attrs[directiveName] + '\".');\n              map.setView([defaults.center.lat, defaults.center.lng], defaults.center.zoom);\n              return;\n            } else if (shouldInitializeMapWithBounds(leafletScope.bounds, centerModel)) {\n              map.fitBounds(leafletBoundsHelpers.createLeafletBounds(leafletScope.bounds), leafletScope.bounds.options);\n              centerModel = map.getCenter();\n              safeApply(leafletScope, function(scope) {\n                angular.extend(scope[directiveName], {\n                  lat: map.getCenter().lat,\n                  lng: map.getCenter().lng,\n                  zoom: map.getZoom(),\n                  autoDiscover: false,\n                });\n              });\n\n              safeApply(leafletScope, function(scope) {\n                var mapBounds = map.getBounds();\n                scope.bounds = {\n                  northEast: {\n                    lat: mapBounds._northEast.lat,\n                    lng: mapBounds._northEast.lng,\n                  },\n                  southWest: {\n                    lat: mapBounds._southWest.lat,\n                    lng: mapBounds._southWest.lng,\n                  },\n                };\n              });\n            } else if (!isDefined(centerModel)) {\n              $log.error(errorHeader + ' The \"center\" property is not defined in the main scope');\n              map.setView([defaults.center.lat, defaults.center.lng], defaults.center.zoom);\n              return;\n            } else if (!(isDefined(centerModel.lat) &amp;&amp; isDefined(centerModel.lng)) &amp;&amp; !isDefined(centerModel.autoDiscover)) {\n              angular.copy(defaults.center, centerModel);\n            }\n\n            var urlCenterHash;\n            var mapReady;\n            if (attrs.urlHashCenter === 'yes') {\n              var extractCenterFromUrl = function() {\n                var search = $location.search();\n                var centerParam;\n                if (isDefined(search.c)) {\n                  var cParam = search.c.split(':');\n                  if (cParam.length === 3) {\n                    centerParam = {\n                      lat: parseFloat(cParam[0]),\n                      lng: parseFloat(cParam[1]),\n                      zoom: parseInt(cParam[2], 10),\n                    };\n                  }\n                }\n\n                return centerParam;\n              };\n\n              urlCenterHash = extractCenterFromUrl();\n\n              leafletScope.$on('$locationChangeSuccess', function(event) {\n                var scope = event.currentScope;\n\n                //$log.debug(\"updated location...\");\n                var urlCenter = extractCenterFromUrl();\n                if (isDefined(urlCenter) &amp;&amp; !isSameCenterOnMap(urlCenter, map)) {\n                  //$log.debug(\"updating center model...\", urlCenter);\n                  angular.extend(scope[directiveName], {\n                    lat: urlCenter.lat,\n                    lng: urlCenter.lng,\n                    zoom: urlCenter.zoom,\n                  });\n                }\n              });\n            }\n\n            leafletScope.$watch(directiveName, function(center) {\n              if (leafletScope.settingCenterFromLeaflet)\n                  return;\n\n              //$log.debug(\"updated center model...\");\n              // The center from the URL has priority\n              if (isDefined(urlCenterHash)) {\n                angular.copy(urlCenterHash, center);\n                urlCenterHash = undefined;\n              }\n\n              if (!isValidCenter(center) &amp;&amp; center.autoDiscover !== true) {\n                $log.warn(errorHeader + ' invalid \\'center\\'');\n\n                //map.setView([defaults.center.lat, defaults.center.lng], defaults.center.zoom);\n                return;\n              }\n\n              if (center.autoDiscover === true) {\n                if (!isNumber(center.zoom)) {\n                  map.setView([defaults.center.lat, defaults.center.lng], defaults.center.zoom);\n                }\n\n                if (isNumber(center.zoom) &amp;&amp; center.zoom &gt; defaults.center.zoom) {\n                  map.locate({\n                    setView: true,\n                    maxZoom: center.zoom,\n                  });\n                } else if (isDefined(defaults.maxZoom)) {\n                  map.locate({\n                    setView: true,\n                    maxZoom: defaults.maxZoom,\n                  });\n                } else {\n                  map.locate({\n                    setView: true,\n                  });\n                }\n\n                return;\n              }\n\n              if (mapReady &amp;&amp; isSameCenterOnMap(center, map)) {\n                //$log.debug(\"no need to update map again.\");\n                return;\n              }\n\n              //$log.debug(\"updating map center...\", center);\n              leafletScope.settingCenterFromScope = true;\n              map.setView([center.lat, center.lng], center.zoom);\n              leafletMapEvents.notifyCenterChangedToBounds(leafletScope, map);\n              $timeout(function() {\n                leafletScope.settingCenterFromScope = false;\n\n                //$log.debug(\"allow center scope updates\");\n              });\n            }, true);\n\n            map.whenReady(function() {\n              mapReady = true;\n            });\n\n            map.on('moveend', function(/* event */) {\n              // Resolve the center after the first map position\n              _leafletCenter.resolve();\n              leafletMapEvents.notifyCenterUrlHashChanged(leafletScope, map, attrs, $location.search());\n\n              //$log.debug(\"updated center on map...\");\n              if (isSameCenterOnMap(centerModel, map) || leafletScope.settingCenterFromScope) {\n                //$log.debug(\"same center in model, no need to update again.\");\n                return;\n              }\n\n              leafletScope.settingCenterFromLeaflet = true;\n              safeApply(leafletScope, function(scope) {\n                if (!leafletScope.settingCenterFromScope) {\n                  //$log.debug(\"updating center model...\", map.getCenter(), map.getZoom());\n                  angular.extend(scope[directiveName], {\n                    lat: map.getCenter().lat,\n                    lng: map.getCenter().lng,\n                    zoom: map.getZoom(),\n                    autoDiscover: false,\n                  });\n                }\n\n                leafletMapEvents.notifyCenterChangedToBounds(leafletScope, map);\n                $timeout(function() {\n                  leafletScope.settingCenterFromLeaflet = false;\n                });\n              });\n            });\n\n            if (centerModel.autoDiscover === true) {\n              map.on('locationerror', function() {\n                $log.warn(errorHeader + ' The Geolocation API is unauthorized on this page.');\n                if (isValidCenter(centerModel)) {\n                  map.setView([centerModel.lat, centerModel.lng], centerModel.zoom);\n                  leafletMapEvents.notifyCenterChangedToBounds(leafletScope, map);\n                } else {\n                  map.setView([defaults.center.lat, defaults.center.lng], defaults.center.zoom);\n                  leafletMapEvents.notifyCenterChangedToBounds(leafletScope, map);\n                }\n              });\n            }\n          });\n        },\n      };\n    },\n    ];\n});\n\ncenterDirectiveTypes.forEach(function(dirType) {\n  angular.module('leaflet-directive-two').directive(dirType, centerDirectives[dirType]);\n});\n\nangular.module('leaflet-directive-two').directive('controls', [\"$log\", \"leafletHelpers\", \"leafletControlHelpers\", function($log, leafletHelpers, leafletControlHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: '?^leaflet',\n\n    link: function(scope, element, attrs, controller) {\n      if (!controller) {\n        return;\n      }\n\n      var createControl = leafletControlHelpers.createControl;\n      var isValidControlType = leafletControlHelpers.isValidControlType;\n      var leafletScope  = controller.getLeafletScope();\n      var isDefined = leafletHelpers.isDefined;\n      var isArray = leafletHelpers.isArray;\n      var leafletControls = {};\n      var errorHeader = leafletHelpers.errorHeader + ' [Controls] ';\n\n      controller.getMap().then(function(map) {\n\n        leafletScope.$watchCollection('controls', function(newControls) {\n\n          // Delete controls from the array\n          for (var name in leafletControls) {\n            if (!isDefined(newControls[name])) {\n              if (map.hasControl(leafletControls[name])) {\n                map.removeControl(leafletControls[name]);\n              }\n\n              delete leafletControls[name];\n            }\n          }\n\n          for (var newName in newControls) {\n            var control;\n\n            var controlType = isDefined(newControls[newName].type) ? newControls[newName].type : newName;\n\n            if (!isValidControlType(controlType)) {\n              $log.error(errorHeader + ' Invalid control type: ' + controlType + '.');\n              return;\n            }\n\n            if (controlType !== 'custom') {\n              control = createControl(controlType, newControls[newName]);\n              map.addControl(control);\n              leafletControls[newName] = control;\n            } else {\n              var customControlValue = newControls[newName];\n              if (isArray(customControlValue)) {\n                for (var i in customControlValue) {\n                  var customControl = customControlValue[i];\n                  map.addControl(customControl);\n                  leafletControls[newName] = !isDefined(leafletControls[newName]) ? [customControl] : leafletControls[newName].concat([customControl]);\n                }\n              } else {\n                map.addControl(customControlValue);\n                leafletControls[newName] = customControlValue;\n              }\n            }\n          }\n\n        });\n\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('decorations', [\"$log\", \"leafletHelpers\", function($log, leafletHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n\n    link: function(scope, element, attrs, controller) {\n      var leafletScope = controller.getLeafletScope();\n      var PolylineDecoratorPlugin = leafletHelpers.PolylineDecoratorPlugin;\n      var isDefined = leafletHelpers.isDefined;\n      var leafletDecorations = {};\n\n      /* Creates an \"empty\" decoration with a set of coordinates, but no pattern. */\n      function createDecoration(options) {\n        if (isDefined(options) &amp;&amp; isDefined(options.coordinates)) {\n          if (!PolylineDecoratorPlugin.isLoaded()) {\n            $log.error('[AngularJS - Leaflet] The PolylineDecorator Plugin is not loaded.');\n          }\n        }\n\n        return L.polylineDecorator(options.coordinates);\n      }\n\n      /* Updates the path and the patterns for the provided decoration, and returns the decoration. */\n      function setDecorationOptions(decoration, options) {\n        if (isDefined(decoration) &amp;&amp; isDefined(options)) {\n          if (isDefined(options.coordinates) &amp;&amp; isDefined(options.patterns)) {\n            decoration.setPaths(options.coordinates);\n            decoration.setPatterns(options.patterns);\n            return decoration;\n          }\n        }\n      }\n\n      controller.getMap().then(function(map) {\n        leafletScope.$watch('decorations', function(newDecorations) {\n          for (var name in leafletDecorations) {\n            if (!isDefined(newDecorations[name]) || !angular.equals(newDecorations[name], leafletDecorations)) {\n              map.removeLayer(leafletDecorations[name]);\n              delete leafletDecorations[name];\n            }\n          }\n\n          for (var newName in newDecorations) {\n            var decorationData = newDecorations[newName];\n            var newDecoration = createDecoration(decorationData);\n\n            if (isDefined(newDecoration)) {\n              leafletDecorations[newName] = newDecoration;\n              map.addLayer(newDecoration);\n              setDecorationOptions(newDecoration, decorationData);\n            }\n          }\n        }, true);\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('eventBroadcast', [\"$log\", \"$rootScope\", \"leafletHelpers\", \"leafletMapEvents\", \"leafletIterators\", function($log, $rootScope, leafletHelpers, leafletMapEvents, leafletIterators) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n\n    link: function(scope, element, attrs, controller) {\n      var isObject = leafletHelpers.isObject;\n      var isDefined = leafletHelpers.isDefined;\n      var leafletScope  = controller.getLeafletScope();\n      var eventBroadcast = leafletScope.eventBroadcast;\n      var availableMapEvents = leafletMapEvents.getAvailableMapEvents();\n      var addEvents = leafletMapEvents.addEvents;\n\n      controller.getMap().then(function(map) {\n\n        var mapEvents = [];\n        var logic = 'broadcast';\n\n        // We have a possible valid object\n        if (!isDefined(eventBroadcast.map)) {\n          // We do not have events enable/disable do we do nothing (all enabled by default)\n          mapEvents = availableMapEvents;\n        } else if (!isObject(eventBroadcast.map)) {\n          // Not a valid object\n          $log.warn('[AngularJS - Leaflet] event-broadcast.map must be an object check your model.');\n        } else {\n          // We have a possible valid map object\n          // Event propadation logic\n          if (eventBroadcast.map.logic !== 'emit' &amp;&amp; eventBroadcast.map.logic !== 'broadcast') {\n            // This is an error\n            $log.warn('[AngularJS - Leaflet] Available event propagation logic are: \\'emit\\' or \\'broadcast\\'.');\n          } else {\n            logic = eventBroadcast.map.logic;\n          }\n\n          if (!(isObject(eventBroadcast.map.enable) &amp;&amp; eventBroadcast.map.enable.length &gt;= 0)) {\n            $log.warn('[AngularJS - Leaflet] event-broadcast.map.enable must be an object check your model.');\n          } else {\n            // Enable events\n            leafletIterators.each(eventBroadcast.map.enable, function(eventName) {\n              // Do we have already the event enabled?\n              if (mapEvents.indexOf(eventName) === -1 &amp;&amp; availableMapEvents.indexOf(eventName) !== -1) {\n                mapEvents.push(eventName);\n              }\n            });\n          }\n\n        }\n\n        // as long as the map is removed in the root leaflet directive we\n        // do not need ot clean up the events as leaflet does it itself\n        addEvents(map, mapEvents, 'eventName', leafletScope, logic);\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two')\n.directive('geojson', [\"$log\", \"$rootScope\", \"leafletData\", \"leafletHelpers\", \"leafletWatchHelpers\", \"leafletDirectiveControlsHelpers\", \"leafletIterators\", \"leafletGeoJsonEvents\", function($log, $rootScope, leafletData, leafletHelpers,\n    leafletWatchHelpers, leafletDirectiveControlsHelpers, leafletIterators, leafletGeoJsonEvents) {\n  var _maybeWatch = leafletWatchHelpers.maybeWatch;\n  var _watchOptions = leafletHelpers.watchOptions;\n  var _extendDirectiveControls = leafletDirectiveControlsHelpers.extend;\n  var hlp = leafletHelpers;\n  var $it = leafletIterators;\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n\n    link: function(scope, element, attrs, controller) {\n      var isDefined = leafletHelpers.isDefined;\n      var leafletScope  = controller.getLeafletScope();\n      var leafletGeoJSON = {};\n      var _hasSetLeafletData = false;\n\n      controller.getMap().then(function(map) {\n        var watchOptions = leafletScope.geojsonWatchOptions || _watchOptions;\n\n        var _hookUpEvents = function(geojson, maybeName) {\n          var onEachFeature;\n\n          if (angular.isFunction(geojson.onEachFeature)) {\n            onEachFeature = geojson.onEachFeature;\n          } else {\n            onEachFeature = function(feature, layer) {\n              if (leafletHelpers.LabelPlugin.isLoaded() &amp;&amp; isDefined(feature.properties.description)) {\n                layer.bindLabel(feature.properties.description);\n              }\n\n              leafletGeoJsonEvents.bindEvents(attrs.id, layer, null, feature,\n                  leafletScope, maybeName,\n                  {resetStyleOnMouseout: geojson.resetStyleOnMouseout,\n                  mapId: attrs.id, });\n            };\n          }\n\n          return onEachFeature;\n        };\n\n        var isNested = (hlp.isDefined(attrs.geojsonNested) &amp;&amp;\n            hlp.isTruthy(attrs.geojsonNested));\n\n        var _clean = function() {\n          if (!leafletGeoJSON)\n              return;\n          var _remove = function(lObject) {\n            if (isDefined(lObject) &amp;&amp; map.hasLayer(lObject)) {\n              map.removeLayer(lObject);\n            }\n          };\n\n          if (isNested) {\n            $it.each(leafletGeoJSON, function(lObject) {\n              _remove(lObject);\n            });\n\n            return;\n          }\n\n          _remove(leafletGeoJSON);\n        };\n\n        var _addGeojson = function(model, maybeName) {\n          var geojson = angular.copy(model);\n          if (!(isDefined(geojson) &amp;&amp; isDefined(geojson.data))) {\n            return;\n          }\n\n          var onEachFeature = _hookUpEvents(geojson, maybeName);\n\n          if (!isDefined(geojson.options)) {\n            //right here is why we use a clone / copy (we modify and thus)\n            //would kick of a watcher.. we need to be more careful everywhere\n            //for stuff like this\n            geojson.options = {\n              style: geojson.style,\n              filter: geojson.filter,\n              onEachFeature: onEachFeature,\n              pointToLayer: geojson.pointToLayer,\n            };\n          }\n\n          var lObject = L.geoJson(geojson.data, geojson.options);\n\n          if (maybeName &amp;&amp; hlp.isString(maybeName)) {\n            leafletGeoJSON[maybeName] = lObject;\n          }          else {\n            leafletGeoJSON = lObject;\n          }\n\n          lObject.addTo(map);\n\n          if (!_hasSetLeafletData) {//only do this once and play with the same ref forever\n            _hasSetLeafletData = true;\n            leafletData.setGeoJSON(leafletGeoJSON, attrs.id);\n          }\n        };\n\n        var _create = function(model) {\n          _clean();\n          if (isNested) {\n            if (!model || !Object.keys(model).length)\n                return;\n            $it.each(model, function(m, name) {\n              //name could be layerName and or groupName\n              //for now it is not tied to a layer\n              _addGeojson(m, name);\n            });\n\n            return;\n          }\n\n          _addGeojson(model);\n        };\n\n        _extendDirectiveControls(attrs.id, 'geojson', _create, _clean);\n\n        _maybeWatch(leafletScope, 'geojson', watchOptions, function(geojson) {\n          _create(geojson);\n        });\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('layercontrol', [\"$filter\", \"$log\", \"leafletData\", \"leafletHelpers\", function($filter, $log, leafletData, leafletHelpers) {\n\n  return {\n    restrict: 'E',\n    scope: {\n      icons: '=?',\n      autoHideOpacity: '=?', // Hide other opacity controls when one is activated.\n      showGroups: '=?', // Hide other opacity controls when one is activated.\n      title: '@',\n      baseTitle: '@',\n      overlaysTitle: '@',\n    },\n    replace: true,\n    transclude: false,\n    require: '^leaflet',\n    controller: [\"$scope\", \"$element\", \"$sce\", function($scope, $element, $sce) {\n      $log.debug('[Angular Directive - Layers] layers', $scope, $element);\n      var safeApply = leafletHelpers.safeApply;\n      var isDefined = leafletHelpers.isDefined;\n      angular.extend($scope, {\n        baselayer: '',\n        oldGroup: '',\n        layerProperties: {},\n        groupProperties: {},\n        rangeIsSupported: leafletHelpers.rangeIsSupported(),\n        changeBaseLayer: function(key, e) {\n          leafletHelpers.safeApply($scope, function(scp) {\n            scp.baselayer = key;\n            leafletData.getMap().then(function(map) {\n              leafletData.getLayers().then(function(leafletLayers) {\n                if (map.hasLayer(leafletLayers.baselayers[key])) {\n                  return;\n                }\n\n                for (var i in scp.layers.baselayers) {\n                  scp.layers.baselayers[i].icon = scp.icons.unradio;\n                  if (map.hasLayer(leafletLayers.baselayers[i])) {\n                    map.removeLayer(leafletLayers.baselayers[i]);\n                  }\n                }\n\n                map.addLayer(leafletLayers.baselayers[key]);\n                scp.layers.baselayers[key].icon = $scope.icons.radio;\n              });\n            });\n          });\n\n          e.preventDefault();\n        },\n\n        moveLayer: function(ly, newIndex, e) {\n          var delta = Object.keys($scope.layers.baselayers).length;\n          if (newIndex &gt;= (1 + delta) &amp;&amp; newIndex &lt;= ($scope.overlaysArray.length + delta)) {\n            var oldLy;\n            for (var key in $scope.layers.overlays) {\n              if ($scope.layers.overlays[key].index === newIndex) {\n                oldLy = $scope.layers.overlays[key];\n                break;\n              }\n            }\n\n            if (oldLy) {\n              safeApply($scope, function() {\n                oldLy.index = ly.index;\n                ly.index = newIndex;\n              });\n            }\n          }\n\n          e.stopPropagation();\n          e.preventDefault();\n        },\n\n        initIndex: function(layer, idx) {\n          var delta = Object.keys($scope.layers.baselayers).length;\n          layer.index = isDefined(layer.index) ? layer.index : idx + delta + 1;\n        },\n\n        initGroup: function(groupName) {\n          $scope.groupProperties[groupName] = $scope.groupProperties[groupName] ? $scope.groupProperties[groupName] : {};\n        },\n\n        toggleOpacity: function(e, layer) {\n          if (layer.visible) {\n            if ($scope.autoHideOpacity &amp;&amp; !$scope.layerProperties[layer.name].opacityControl) {\n              for (var k in $scope.layerProperties) {\n                $scope.layerProperties[k].opacityControl = false;\n              }\n            }\n\n            $scope.layerProperties[layer.name].opacityControl = !$scope.layerProperties[layer.name].opacityControl;\n          }\n\n          e.stopPropagation();\n          e.preventDefault();\n        },\n\n        toggleLegend: function(layer) {\n          $scope.layerProperties[layer.name].showLegend = !$scope.layerProperties[layer.name].showLegend;\n        },\n\n        showLegend: function(layer) {\n          return layer.legend &amp;&amp; $scope.layerProperties[layer.name].showLegend;\n        },\n\n        unsafeHTML: function(html) {\n          return $sce.trustAsHtml(html);\n        },\n\n        getOpacityIcon: function(layer) {\n          return layer.visible &amp;&amp; $scope.layerProperties[layer.name].opacityControl ? $scope.icons.close : $scope.icons.open;\n        },\n\n        getGroupIcon: function(group) {\n          return group.visible ? $scope.icons.check : $scope.icons.uncheck;\n        },\n\n        changeOpacity: function(layer) {\n          var op = $scope.layerProperties[layer.name].opacity;\n          leafletData.getMap().then(function(map) {\n            leafletData.getLayers().then(function(leafletLayers) {\n              var ly;\n              for (var k in $scope.layers.overlays) {\n                if ($scope.layers.overlays[k] === layer) {\n                  ly = leafletLayers.overlays[k];\n                  break;\n                }\n              }\n\n              if (map.hasLayer(ly)) {\n                if (ly.setOpacity) {\n                  ly.setOpacity(op / 100);\n                }\n\n                if (ly.getLayers &amp;&amp; ly.eachLayer) {\n                  ly.eachLayer(function(lay) {\n                    if (lay.setOpacity) {\n                      lay.setOpacity(op / 100);\n                    }\n                  });\n                }\n              }\n            });\n          });\n        },\n\n        changeGroupVisibility: function(groupName) {\n          if (!isDefined($scope.groupProperties[groupName])) {\n            return;\n          }\n\n          var visible = $scope.groupProperties[groupName].visible;\n          for (var k in $scope.layers.overlays) {\n            var layer = $scope.layers.overlays[k];\n            if (layer.group === groupName) {\n              layer.visible = visible;\n            }\n          }\n        },\n      });\n\n      var div = $element.get(0);\n      if (!L.Browser.touch) {\n        L.DomEvent.disableClickPropagation(div);\n        L.DomEvent.on(div, 'mousewheel', L.DomEvent.stopPropagation);\n      } else {\n        L.DomEvent.on(div, 'click', L.DomEvent.stopPropagation);\n      }\n    }],\n\n    template:\n    '&lt;div class=\"angular-leaflet-control-layers\" ng-show=\"overlaysArray.length\"&gt;' +\n        '&lt;h4 ng-if=\"title\"&gt;{{ title }}&lt;/h4&gt;' +\n        '&lt;div class=\"lf-baselayers\"&gt;' +\n            '&lt;h5 class=\"lf-title\" ng-if=\"baseTitle\"&gt;{{ baseTitle }}&lt;/h5&gt;' +\n            '&lt;div class=\"lf-row\" ng-repeat=\"(key, layer) in baselayersArray\"&gt;' +\n                '&lt;label class=\"lf-icon-bl\" ng-click=\"changeBaseLayer(key, $event)\"&gt;' +\n                    '&lt;input class=\"leaflet-control-layers-selector\" type=\"radio\" name=\"lf-radio\" ' +\n                        'ng-show=\"false\" ng-checked=\"baselayer === key\" ng-value=\"key\" /&gt; ' +\n                    '&lt;i class=\"lf-icon lf-icon-radio\" ng-class=\"layer.icon\"&gt;&lt;/i&gt;' +\n                    '&lt;div class=\"lf-text\"&gt;{{layer.name}}&lt;/div&gt;' +\n                '&lt;/label&gt;' +\n            '&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n        '&lt;div class=\"lf-overlays\"&gt;' +\n            '&lt;h5 class=\"lf-title\" ng-if=\"overlaysTitle\"&gt;{{ overlaysTitle }}&lt;/h5&gt;' +\n            '&lt;div class=\"lf-container\"&gt;' +\n                '&lt;div class=\"lf-row\" ng-repeat=\"layer in (o = (overlaysArray | orderBy:\\'index\\':order))\" ng-init=\"initIndex(layer, $index)\"&gt;' +\n                    '&lt;label class=\"lf-icon-ol-group\" ng-if=\"showGroups &amp;amp;&amp;amp; layer.group &amp;amp;&amp;amp; layer.group != o[$index-1].group\"&gt;' +\n                        '&lt;input class=\"lf-control-layers-selector\" type=\"checkbox\" ng-show=\"false\" ' +\n                            'ng-change=\"changeGroupVisibility(layer.group)\" ng-model=\"groupProperties[layer.group].visible\"/&gt; ' +\n                        '&lt;i class=\"lf-icon lf-icon-check\" ng-class=\"getGroupIcon(groupProperties[layer.group])\"&gt;&lt;/i&gt;' +\n                        '&lt;div class=\"lf-text\"&gt;{{ layer.group }}&lt;/div&gt;' +\n                    '&lt;/label&gt;' +\n                    '&lt;label class=\"lf-icon-ol\"&gt;' +\n                        '&lt;input class=\"lf-control-layers-selector\" type=\"checkbox\" ng-show=\"false\" ng-model=\"layer.visible\"/&gt; ' +\n                        '&lt;i class=\"lf-icon lf-icon-check\" ng-class=\"layer.icon\"&gt;&lt;/i&gt;' +\n                        '&lt;div class=\"lf-text\"&gt;{{layer.name}}&lt;/div&gt;' +\n                    '&lt;/label&gt;' +\n                    '&lt;div class=\"lf-icons\"&gt;' +\n                        '&lt;i class=\"lf-icon lf-up\" ng-class=\"icons.up\" ng-click=\"moveLayer(layer, layer.index - orderNumber, $event)\"&gt;&lt;/i&gt; ' +\n                        '&lt;i class=\"lf-icon lf-down\" ng-class=\"icons.down\" ng-click=\"moveLayer(layer, layer.index + orderNumber, $event)\"&gt;&lt;/i&gt; ' +\n                        '&lt;i class=\"lf-icon lf-toggle-legend\" ng-class=\"icons.toggleLegend\" ng-if=\"layer.legend\" ng-click=\"toggleLegend(layer)\"&gt;&lt;/i&gt; ' +\n                        '&lt;i class=\"lf-icon lf-open\" ng-class=\"getOpacityIcon(layer)\" ng-click=\"toggleOpacity($event, layer)\"&gt;&lt;/i&gt;' +\n                    '&lt;/div&gt;' +\n                    '&lt;div class=\"lf-legend\" ng-if=\"showLegend(layer)\" ng-bind-html=\"unsafeHTML(layer.legend)\"&gt;&lt;/div&gt;' +\n                    '&lt;div class=\"lf-opacity clearfix\" ng-if=\"layer.visible &amp;amp;&amp;amp; layerProperties[layer.name].opacityControl\"&gt;' +\n                        '&lt;label ng-if=\"rangeIsSupported\" class=\"pull-left\" style=\"width: 50%\"&gt;0&lt;/label&gt;' +\n                        '&lt;label ng-if=\"rangeIsSupported\" class=\"pull-left text-right\" style=\"width: 50%\"&gt;100&lt;/label&gt;' +\n                        '&lt;input ng-if=\"rangeIsSupported\" class=\"clearfix\" type=\"range\" min=\"0\" max=\"100\" class=\"lf-opacity-control\" ' +\n                            'ng-model=\"layerProperties[layer.name].opacity\" ng-change=\"changeOpacity(layer)\"/&gt;' +\n                        '&lt;h6 ng-if=\"!rangeIsSupported\"&gt;Range is not supported in this browser&lt;/h6&gt;' +\n                    '&lt;/div&gt;' +\n                '&lt;/div&gt;' +\n            '&lt;/div&gt;' +\n        '&lt;/div&gt;' +\n    '&lt;/div&gt;',\n    link: function(scope, element, attrs, controller) {\n      var isDefined = leafletHelpers.isDefined;\n      var leafletScope = controller.getLeafletScope();\n      var layers = leafletScope.layers;\n\n      scope.$watch('icons', function() {\n        var defaultIcons = {\n          uncheck: 'fa fa-square-o',\n          check: 'fa fa-check-square-o',\n          radio: 'fa fa-dot-circle-o',\n          unradio: 'fa fa-circle-o',\n          up: 'fa fa-angle-up',\n          down: 'fa fa-angle-down',\n          open: 'fa fa-angle-double-down',\n          close: 'fa fa-angle-double-up',\n          toggleLegend: 'fa fa-pencil-square-o',\n        };\n        if (isDefined(scope.icons)) {\n          angular.extend(defaultIcons, scope.icons);\n          angular.extend(scope.icons, defaultIcons);\n        } else {\n          scope.icons = defaultIcons;\n        }\n      });\n\n      // Setting layer stack order.\n      attrs.order = (isDefined(attrs.order) &amp;&amp; (attrs.order === 'normal' || attrs.order === 'reverse')) ? attrs.order : 'normal';\n      scope.order = attrs.order === 'normal';\n      scope.orderNumber = attrs.order === 'normal' ? -1 : 1;\n\n      scope.layers = layers;\n      controller.getMap().then(function(map) {\n        leafletScope.$watch('layers.baselayers', function(newBaseLayers) {\n          var baselayersArray = {};\n          leafletData.getLayers().then(function(leafletLayers) {\n            var key;\n            for (key in newBaseLayers) {\n              var layer = newBaseLayers[key];\n              layer.icon = scope.icons[map.hasLayer(leafletLayers.baselayers[key]) ? 'radio' : 'unradio'];\n              baselayersArray[key] = layer;\n            }\n\n            scope.baselayersArray = baselayersArray;\n          });\n        });\n\n        leafletScope.$watch('layers.overlays', function(newOverlayLayers) {\n          var overlaysArray = [];\n          var groupVisibleCount = {};\n          leafletData.getLayers().then(function(leafletLayers) {\n            var key;\n            for (key in newOverlayLayers) {\n              var layer = newOverlayLayers[key];\n              layer.icon = scope.icons[(layer.visible ? 'check' : 'uncheck')];\n              overlaysArray.push(layer);\n              if (!isDefined(scope.layerProperties[layer.name])) {\n                scope.layerProperties[layer.name] = {\n                  opacity: isDefined(layer.layerOptions.opacity) ? layer.layerOptions.opacity * 100 : 100,\n                  opacityControl: false,\n                  showLegend: true,\n                };\n              }\n\n              if (isDefined(layer.group)) {\n                if (!isDefined(scope.groupProperties[layer.group])) {\n                  scope.groupProperties[layer.group] = {\n                    visible: false,\n                  };\n                }\n\n                groupVisibleCount[layer.group] = isDefined(groupVisibleCount[layer.group]) ? groupVisibleCount[layer.group] : {\n                  count: 0,\n                  visibles: 0,\n                };\n                groupVisibleCount[layer.group].count++;\n                if (layer.visible) {\n                  groupVisibleCount[layer.group].visibles++;\n                }\n              }\n\n              if (isDefined(layer.index) &amp;&amp; leafletLayers.overlays[key].setZIndex) {\n                leafletLayers.overlays[key].setZIndex(newOverlayLayers[key].index);\n              }\n            }\n\n            for (key in groupVisibleCount) {\n              scope.groupProperties[key].visible = groupVisibleCount[key].visibles === groupVisibleCount[key].count;\n            }\n\n            scope.overlaysArray = overlaysArray;\n          });\n        }, true);\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('layers', [\"$log\", \"$q\", \"leafletData\", \"leafletHelpers\", \"leafletLayerHelpers\", \"leafletControlHelpers\", function($log, $q, leafletData, leafletHelpers, leafletLayerHelpers, leafletControlHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n    controller: [\"$scope\", function($scope) {\n      $scope._leafletLayers = $q.defer();\n      this.getLayers = function() {\n        return $scope._leafletLayers.promise;\n      };\n    }],\n\n    link: function(scope, element, attrs, controller) {\n      var isDefined = leafletHelpers.isDefined;\n      var leafletLayers = {};\n      var leafletScope  = controller.getLeafletScope();\n      var layers = leafletScope.layers;\n      var createLayer = leafletLayerHelpers.createLayer;\n      var safeAddLayer = leafletLayerHelpers.safeAddLayer;\n      var safeRemoveLayer = leafletLayerHelpers.safeRemoveLayer;\n      var updateLayersControl = leafletControlHelpers.updateLayersControl;\n      var isLayersControlVisible = false;\n\n      controller.getMap().then(function(map) {\n\n        // We have baselayers to add to the map\n        scope._leafletLayers.resolve(leafletLayers);\n        leafletData.setLayers(leafletLayers, attrs.id);\n\n        leafletLayers.baselayers = {};\n        leafletLayers.overlays = {};\n\n        var mapId = attrs.id;\n\n        // Setup all baselayers definitions\n        var oneVisibleLayer = false;\n        for (var layerName in layers.baselayers) {\n          var newBaseLayer = createLayer(layers.baselayers[layerName]);\n          if (!isDefined(newBaseLayer)) {\n            delete layers.baselayers[layerName];\n            continue;\n          }\n\n          leafletLayers.baselayers[layerName] = newBaseLayer;\n\n          // Only add the visible layer to the map, layer control manages the addition to the map\n          // of layers in its control\n          if (layers.baselayers[layerName].top === true) {\n            safeAddLayer(map, leafletLayers.baselayers[layerName]);\n            oneVisibleLayer = true;\n          }\n        }\n\n        // If there is no visible layer add first to the map\n        if (!oneVisibleLayer &amp;&amp; Object.keys(leafletLayers.baselayers).length &gt; 0) {\n          safeAddLayer(map, leafletLayers.baselayers[Object.keys(layers.baselayers)[0]]);\n        }\n\n        // Setup the Overlays\n        for (layerName in layers.overlays) {\n          //if (layers.overlays[layerName].type === 'cartodb') {\n          //\n          //}\n\n          var newOverlayLayer = createLayer(layers.overlays[layerName]);\n          if (!isDefined(newOverlayLayer)) {\n            delete layers.overlays[layerName];\n            continue;\n          }\n\n          leafletLayers.overlays[layerName] = newOverlayLayer;\n\n          // Only add the visible overlays to the map\n          if (layers.overlays[layerName].visible === true) {\n            safeAddLayer(map, leafletLayers.overlays[layerName]);\n          }\n        }\n\n        // Watch for the base layers\n        leafletScope.$watch('layers.baselayers', function(newBaseLayers, oldBaseLayers) {\n          if (angular.equals(newBaseLayers, oldBaseLayers)) {\n            isLayersControlVisible = updateLayersControl(map, mapId, isLayersControlVisible, newBaseLayers, layers.overlays, leafletLayers);\n            return true;\n          }\n\n          // Delete layers from the array\n          for (var name in leafletLayers.baselayers) {\n            if (!isDefined(newBaseLayers[name]) || newBaseLayers[name].doRefresh) {\n              // Remove from the map if it's on it\n              if (map.hasLayer(leafletLayers.baselayers[name])) {\n                map.removeLayer(leafletLayers.baselayers[name]);\n              }\n\n              delete leafletLayers.baselayers[name];\n\n              if (newBaseLayers[name] &amp;&amp; newBaseLayers[name].doRefresh) {\n                newBaseLayers[name].doRefresh = false;\n              }\n            }\n          }\n\n          // add new layers\n          for (var newName in newBaseLayers) {\n            if (!isDefined(leafletLayers.baselayers[newName])) {\n              var testBaseLayer = createLayer(newBaseLayers[newName]);\n              if (isDefined(testBaseLayer)) {\n                leafletLayers.baselayers[newName] = testBaseLayer;\n\n                // Only add the visible layer to the map\n                if (newBaseLayers[newName].top === true) {\n                  safeAddLayer(map, leafletLayers.baselayers[newName]);\n                }\n              }\n            } else {\n              if (newBaseLayers[newName].top === true &amp;&amp; !map.hasLayer(leafletLayers.baselayers[newName])) {\n                safeAddLayer(map, leafletLayers.baselayers[newName]);\n              } else if (newBaseLayers[newName].top === false &amp;&amp; map.hasLayer(leafletLayers.baselayers[newName])) {\n                map.removeLayer(leafletLayers.baselayers[newName]);\n              }\n            }\n          }\n\n          //we have layers, so we need to make, at least, one active\n          var found = false;\n\n          // search for an active layer\n          for (var key in leafletLayers.baselayers) {\n            if (map.hasLayer(leafletLayers.baselayers[key])) {\n              found = true;\n              break;\n            }\n          }\n\n          // If there is no active layer make one active\n          if (!found &amp;&amp; Object.keys(leafletLayers.baselayers).length &gt; 0) {\n            safeAddLayer(map, leafletLayers.baselayers[Object.keys(leafletLayers.baselayers)[0]]);\n          }\n\n          // Only show the layers switch selector control if we have more than one baselayer + overlay\n          isLayersControlVisible = updateLayersControl(map, mapId, isLayersControlVisible, newBaseLayers, layers.overlays, leafletLayers);\n        }, true);\n\n        // Watch for the overlay layers\n        leafletScope.$watch('layers.overlays', function(newOverlayLayers, oldOverlayLayers) {\n          if (angular.equals(newOverlayLayers, oldOverlayLayers)) {\n            isLayersControlVisible = updateLayersControl(map, mapId, isLayersControlVisible, layers.baselayers, newOverlayLayers, leafletLayers);\n            return true;\n          }\n\n          // Delete layers from the array\n          for (var name in leafletLayers.overlays) {\n            if (!isDefined(newOverlayLayers[name]) || newOverlayLayers[name].doRefresh) {\n              // Remove from the map if it's on it\n              if (map.hasLayer(leafletLayers.overlays[name])) {\n                // Safe remove when ArcGIS layers is loading.\n                var options = isDefined(newOverlayLayers[name]) ?\n                    newOverlayLayers[name].layerOptions : null;\n                safeRemoveLayer(map, leafletLayers.overlays[name], options);\n              }\n\n              // TODO: Depending on the layer type we will have to delete what's included on it\n              delete leafletLayers.overlays[name];\n\n              if (newOverlayLayers[name] &amp;&amp; newOverlayLayers[name].doRefresh) {\n                newOverlayLayers[name].doRefresh = false;\n              }\n            }\n          }\n\n          // add new overlays\n          for (var newName in newOverlayLayers) {\n            if (!isDefined(leafletLayers.overlays[newName])) {\n              var testOverlayLayer = createLayer(newOverlayLayers[newName]);\n              if (!isDefined(testOverlayLayer)) {\n                // If the layer creation fails, continue to the next overlay\n                continue;\n              }\n\n              leafletLayers.overlays[newName] = testOverlayLayer;\n              if (newOverlayLayers[newName].visible === true) {\n                safeAddLayer(map, leafletLayers.overlays[newName]);\n              }\n            } else {\n              // check for the .visible property to hide/show overLayers\n              if (newOverlayLayers[newName].visible &amp;&amp; !map.hasLayer(leafletLayers.overlays[newName])) {\n                safeAddLayer(map, leafletLayers.overlays[newName]);\n              } else if (newOverlayLayers[newName].visible === false &amp;&amp; map.hasLayer(leafletLayers.overlays[newName])) {\n                // Safe remove when ArcGIS layers is loading.\n                safeRemoveLayer(map, leafletLayers.overlays[newName], newOverlayLayers[newName].layerOptions);\n              }\n            }\n\n            //refresh heatmap data if present\n            if (newOverlayLayers[newName].visible &amp;&amp; map._loaded &amp;&amp; newOverlayLayers[newName].data &amp;&amp; newOverlayLayers[newName].type === 'heatmap') {\n              leafletLayers.overlays[newName].setData(newOverlayLayers[newName].data);\n              leafletLayers.overlays[newName].update();\n            }\n          }\n\n          // Only add the layers switch selector control if we have more than one baselayer + overlay\n          isLayersControlVisible = updateLayersControl(map, mapId, isLayersControlVisible, layers.baselayers, newOverlayLayers, leafletLayers);\n        }, true);\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('legend', [\"$log\", \"$http\", \"leafletHelpers\", \"leafletLegendHelpers\", function($log, $http, leafletHelpers, leafletLegendHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n\n    link: function(scope, element, attrs, controller) {\n\n      var isArray = leafletHelpers.isArray;\n      var isDefined = leafletHelpers.isDefined;\n      var isFunction = leafletHelpers.isFunction;\n      var leafletScope = controller.getLeafletScope();\n      var legend = leafletScope.legend;\n\n      var legendClass;\n      var position;\n      var leafletLegend;\n      var type;\n\n      leafletScope.$watch('legend', function(newLegend) {\n\n        if (isDefined(newLegend)) {\n\n          legendClass = newLegend.legendClass ? newLegend.legendClass : 'legend';\n\n          position = newLegend.position || 'bottomright';\n\n          // default to arcgis\n          type = newLegend.type || 'arcgis';\n        }\n\n      }, true);\n\n      controller.getMap().then(function(map) {\n\n        leafletScope.$watch('legend', function(newLegend) {\n\n          if (!isDefined(newLegend)) {\n\n            if (isDefined(leafletLegend)) {\n              leafletLegend.removeFrom(map);\n              leafletLegend = null;\n            }\n\n            return;\n          }\n\n          if (!isDefined(newLegend.url) &amp;&amp; (type === 'arcgis') &amp;&amp; (!isArray(newLegend.colors) || !isArray(newLegend.labels) || newLegend.colors.length !== newLegend.labels.length)) {\n\n            $log.warn('[AngularJS - Leaflet] legend.colors and legend.labels must be set.');\n\n            return;\n          }\n\n          if (isDefined(newLegend.url)) {\n\n            $log.info('[AngularJS - Leaflet] loading legend service.');\n\n            return;\n          }\n\n          if (isDefined(leafletLegend)) {\n            leafletLegend.removeFrom(map);\n            leafletLegend = null;\n          }\n\n          leafletLegend = L.control({\n            position: position,\n          });\n          if (type === 'arcgis') {\n            leafletLegend.onAdd = leafletLegendHelpers.getOnAddArrayLegend(newLegend, legendClass);\n          }\n\n          leafletLegend.addTo(map);\n\n        });\n\n        leafletScope.$watch('legend.url', function(newURL) {\n\n          if (!isDefined(newURL)) {\n            return;\n          }\n\n          $http.get(newURL)\n                            .success(function(legendData) {\n\n                              if (isDefined(leafletLegend)) {\n\n                                leafletLegendHelpers.updateLegend(leafletLegend.getContainer(), legendData, type, newURL);\n\n                              } else {\n\n                                leafletLegend = L.control({\n                                  position: position,\n                                });\n                                leafletLegend.onAdd = leafletLegendHelpers.getOnAddLegend(legendData, legendClass, type, newURL);\n                                leafletLegend.addTo(map);\n                              }\n\n                              if (isDefined(legend.loadedData) &amp;&amp; isFunction(legend.loadedData)) {\n                                legend.loadedData();\n                              }\n                            })\n                            .error(function() {\n                              $log.warn('[AngularJS - Leaflet] legend.url not loaded.');\n                            });\n        });\n\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('markers',\n    [\"$log\", \"$rootScope\", \"$q\", \"leafletData\", \"leafletHelpers\", \"leafletMapDefaults\", \"leafletMarkersHelpers\", \"leafletMarkerEvents\", \"leafletIterators\", \"leafletWatchHelpers\", \"leafletDirectiveControlsHelpers\", function($log, $rootScope, $q, leafletData, leafletHelpers, leafletMapDefaults,\n              leafletMarkersHelpers, leafletMarkerEvents, leafletIterators, leafletWatchHelpers,\n              leafletDirectiveControlsHelpers) {\n      //less terse vars to helpers\n      var isDefined = leafletHelpers.isDefined;\n      var errorHeader = leafletHelpers.errorHeader;\n      var Helpers = leafletHelpers;\n      var isString = leafletHelpers.isString;\n      var addMarkerWatcher = leafletMarkersHelpers.addMarkerWatcher;\n      var updateMarker = leafletMarkersHelpers.updateMarker;\n      var listenMarkerEvents = leafletMarkersHelpers.listenMarkerEvents;\n      var addMarkerToGroup = leafletMarkersHelpers.addMarkerToGroup;\n      var createMarker = leafletMarkersHelpers.createMarker;\n      var deleteMarker = leafletMarkersHelpers.deleteMarker;\n      var $it = leafletIterators;\n      var _markersWatchOptions = leafletHelpers.watchOptions;\n      var maybeWatch = leafletWatchHelpers.maybeWatch;\n      var extendDirectiveControls = leafletDirectiveControlsHelpers.extend;\n\n      var _getLMarker = function(leafletMarkers, name, maybeLayerName) {\n        if (!Object.keys(leafletMarkers).length) return;\n        if (maybeLayerName &amp;&amp; isString(maybeLayerName)) {\n          if (!leafletMarkers[maybeLayerName] || !Object.keys(leafletMarkers[maybeLayerName]).length)\n              return;\n          return leafletMarkers[maybeLayerName][name];\n        }\n\n        return leafletMarkers[name];\n      };\n\n      var _setLMarker = function(lObject, leafletMarkers, name, maybeLayerName) {\n        if (maybeLayerName &amp;&amp; isString(maybeLayerName)) {\n          if (!isDefined(leafletMarkers[maybeLayerName]))\n              leafletMarkers[maybeLayerName] = {};\n          leafletMarkers[maybeLayerName][name] = lObject;\n        } else\n            leafletMarkers[name] = lObject;\n        return lObject;\n      };\n\n      var _maybeAddMarkerToLayer = function(layerName, layers, model, marker, doIndividualWatch, map) {\n\n        if (!isString(layerName)) {\n          $log.error(errorHeader + ' A layername must be a string');\n          return false;\n        }\n\n        if (!isDefined(layers)) {\n          $log.error(errorHeader + ' You must add layers to the directive if the markers are going to use this functionality.');\n          return false;\n        }\n\n        if (!isDefined(layers.overlays) || !isDefined(layers.overlays[layerName])) {\n          $log.error(errorHeader + ' A marker can only be added to a layer of type \"group\"');\n          return false;\n        }\n\n        var layerGroup = layers.overlays[layerName];\n        if (!(layerGroup instanceof L.LayerGroup || layerGroup instanceof L.FeatureGroup)) {\n          $log.error(errorHeader + ' Adding a marker to an overlay needs a overlay of the type \"group\" or \"featureGroup\"');\n          return false;\n        }\n\n        // The marker goes to a correct layer group, so first of all we add it\n        layerGroup.addLayer(marker);\n\n        // The marker is automatically added to the map depending on the visibility\n        // of the layer, so we only have to open the popup if the marker is in the map\n        if (!doIndividualWatch &amp;&amp; map.hasLayer(marker) &amp;&amp; model.focus === true) {\n          marker.openPopup();\n        }\n\n        return true;\n      };\n\n      //TODO: move to leafletMarkersHelpers??? or make a new class/function file (leafletMarkersHelpers is large already)\n      var _addMarkers = function(mapId, markersToRender, oldModels, map, layers, leafletMarkers, leafletScope,\n                                 watchOptions, maybeLayerName, skips) {\n        for (var newName in markersToRender) {\n          if (skips[newName])\n              continue;\n\n          if (newName.search('-') !== -1) {\n            $log.error('The marker can\\'t use a \"-\" on his key name: \"' + newName + '\".');\n            continue;\n          }\n\n          var model = Helpers.copy(markersToRender[newName]);\n          var pathToMarker = Helpers.getObjectDotPath(maybeLayerName ? [maybeLayerName, newName] : [newName]);\n          var maybeLMarker = _getLMarker(leafletMarkers, newName, maybeLayerName);\n          if (!isDefined(maybeLMarker)) {\n            //(nmccready) very important to not have model changes when lObject is changed\n            //this might be desirable in some cases but it causes two-way binding to lObject which is not ideal\n            //if it is left as the reference then all changes from oldModel vs newModel are ignored\n            //see _destroy (where modelDiff becomes meaningless if we do not copy here)\n            var marker = createMarker(model);\n            var layerName = (model ? model.layer : undefined) || maybeLayerName; //original way takes pref\n            if (!isDefined(marker)) {\n              $log.error(errorHeader + ' Received invalid data on the marker ' + newName + '.');\n              continue;\n            }\n\n            _setLMarker(marker, leafletMarkers, newName, maybeLayerName);\n\n            // Bind message\n            if (isDefined(model.message)) {\n              marker.bindPopup(model.message, model.popupOptions);\n            }\n\n            // Add the marker to a cluster group if needed\n            if (isDefined(model.group)) {\n              var groupOptions = isDefined(model.groupOption) ? model.groupOption : null;\n              addMarkerToGroup(marker, model.group, groupOptions, map);\n            }\n\n            // Show label if defined\n            if (Helpers.LabelPlugin.isLoaded() &amp;&amp; isDefined(model.label) &amp;&amp; isDefined(model.label.message)) {\n              marker.bindLabel(model.label.message, model.label.options);\n            }\n\n            // Check if the marker should be added to a layer\n            if (isDefined(model) &amp;&amp; (isDefined(model.layer) || isDefined(maybeLayerName))) {\n\n              var pass = _maybeAddMarkerToLayer(layerName, layers, model, marker,\n                  watchOptions.individual.doWatch, map);\n              if (!pass)\n                  continue; //something went wrong move on in the loop\n            } else if (!isDefined(model.group)) {\n              // We do not have a layer attr, so the marker goes to the map layer\n              map.addLayer(marker);\n              if (!watchOptions.individual.doWatch &amp;&amp; model.focus === true) {\n                marker.openPopup();\n              }\n            }\n\n            if (watchOptions.individual.doWatch) {\n              addMarkerWatcher(marker, pathToMarker, leafletScope, layers, map,\n                  watchOptions.individual.isDeep);\n            }\n\n            listenMarkerEvents(marker, model, leafletScope, watchOptions.individual.doWatch, map);\n            leafletMarkerEvents.bindEvents(mapId, marker, pathToMarker, model, leafletScope, layerName);\n          }          else {\n            var oldModel = isDefined(oldModel) ? oldModels[newName] : undefined;\n            updateMarker(model, oldModel, maybeLMarker, pathToMarker, leafletScope, layers, map);\n          }\n        }\n      };\n\n      var _seeWhatWeAlreadyHave = function(markerModels, oldMarkerModels, lMarkers, isEqual, cb) {\n        var hasLogged = false;\n        var equals = false;\n        var oldMarker;\n        var newMarker;\n\n        var doCheckOldModel =  isDefined(oldMarkerModels);\n        for (var name in lMarkers) {\n          if (!hasLogged) {\n            $log.debug(errorHeader + '[markers] destroy: ');\n            hasLogged = true;\n          }\n\n          if (doCheckOldModel) {\n            //might want to make the option (in watch options) to disable deep checking\n            //ie the options to only check !== (reference check) instead of angular.equals (slow)\n            newMarker = markerModels[name];\n            oldMarker = oldMarkerModels[name];\n            equals = angular.equals(newMarker, oldMarker) &amp;&amp; isEqual;\n          }\n\n          if (!isDefined(markerModels) ||\n              !Object.keys(markerModels).length ||\n              !isDefined(markerModels[name]) ||\n              !Object.keys(markerModels[name]).length ||\n              equals) {\n            if (cb &amp;&amp; Helpers.isFunction(cb))\n                cb(newMarker, oldMarker, name);\n          }\n        }\n      };\n\n      var _destroy = function(markerModels, oldMarkerModels, lMarkers, map, layers) {\n        _seeWhatWeAlreadyHave(markerModels, oldMarkerModels, lMarkers, false,\n            function(newMarker, oldMarker, lMarkerName) {\n              $log.debug(errorHeader + '[marker] is deleting marker: ' + lMarkerName);\n              deleteMarker(lMarkers[lMarkerName], map, layers);\n              delete lMarkers[lMarkerName];\n            });\n      };\n\n      var _getNewModelsToSkipp =  function(newModels, oldModels, lMarkers) {\n        var skips = {};\n        _seeWhatWeAlreadyHave(newModels, oldModels, lMarkers, true,\n            function(newMarker, oldMarker, lMarkerName) {\n              $log.debug(errorHeader + '[marker] is already rendered, marker: ' + lMarkerName);\n              skips[lMarkerName] = newMarker;\n            });\n\n        return skips;\n      };\n\n      return {\n        restrict: 'A',\n        scope: false,\n        replace: false,\n        require: ['leaflet', '?layers'],\n\n        link: function(scope, element, attrs, controller) {\n          var mapController = controller[0];\n          var leafletScope  = mapController.getLeafletScope();\n\n          mapController.getMap().then(function(map) {\n            var leafletMarkers = {};\n            var getLayers;\n\n            // If the layers attribute is used, we must wait until the layers are created\n            if (isDefined(controller[1])) {\n              getLayers = controller[1].getLayers;\n            } else {\n              getLayers = function() {\n                var deferred = $q.defer();\n                deferred.resolve();\n                return deferred.promise;\n              };\n            }\n\n            var watchOptions = leafletScope.markersWatchOptions || _markersWatchOptions;\n\n            // backwards compat\n            if (isDefined(attrs.watchMarkers))\n                watchOptions.doWatch = watchOptions.individual.doWatch =\n                    (!isDefined(attrs.watchMarkers) || Helpers.isTruthy(attrs.watchMarkers));\n\n            var isNested = (isDefined(attrs.markersNested) &amp;&amp; Helpers.isTruthy(attrs.markersNested));\n\n            getLayers().then(function(layers) {\n              var _clean = function(models, oldModels) {\n                if (isNested) {\n                  $it.each(models, function(markerToMaybeDel, layerName) {\n                    var oldModel = isDefined(oldModel) ? oldModels[layerName] : undefined;\n                    _destroy(markerToMaybeDel, oldModel, leafletMarkers[layerName], map, layers);\n                  });\n\n                  return;\n                }\n\n                _destroy(models, oldModels, leafletMarkers, map, layers);\n              };\n\n              var _create = function(models, oldModels) {\n                _clean(models, oldModels);\n                var skips = null;\n                if (isNested) {\n                  $it.each(models, function(markersToAdd, layerName) {\n                    var oldModel = isDefined(oldModel) ? oldModels[layerName] : undefined;\n                    skips = _getNewModelsToSkipp(models[layerName], oldModel, leafletMarkers[layerName]);\n                    _addMarkers(attrs.id, markersToAdd, oldModels, map, layers, leafletMarkers, leafletScope,\n                        watchOptions, layerName, skips);\n                  });\n\n                  return;\n                }\n\n                skips = _getNewModelsToSkipp(models, oldModels, leafletMarkers);\n                _addMarkers(attrs.id, models, oldModels, map, layers, leafletMarkers, leafletScope,\n                    watchOptions, undefined, skips);\n              };\n\n              extendDirectiveControls(attrs.id, 'markers', _create, _clean);\n              leafletData.setMarkers(leafletMarkers, attrs.id);\n\n              maybeWatch(leafletScope, 'markers', watchOptions, function(newMarkers, oldMarkers) {\n                _create(newMarkers, oldMarkers);\n              });\n            });\n          });\n        },\n      };\n    }]);\n\nangular.module('leaflet-directive-two').directive('maxbounds', [\"$log\", \"leafletMapDefaults\", \"leafletBoundsHelpers\", \"leafletHelpers\", function($log, leafletMapDefaults, leafletBoundsHelpers, leafletHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n\n    link: function(scope, element, attrs, controller) {\n      var leafletScope  = controller.getLeafletScope();\n      var isValidBounds = leafletBoundsHelpers.isValidBounds;\n      var isNumber = leafletHelpers.isNumber;\n\n      controller.getMap().then(function(map) {\n        leafletScope.$watch('maxbounds', function(maxbounds) {\n          if (!isValidBounds(maxbounds)) {\n            // Unset any previous maxbounds\n            map.setMaxBounds();\n            return;\n          }\n\n          var leafletBounds = leafletBoundsHelpers.createLeafletBounds(maxbounds);\n          if (isNumber(maxbounds.pad)) {\n            leafletBounds = leafletBounds.pad(maxbounds.pad);\n          }\n\n          map.setMaxBounds(leafletBounds);\n          if (!attrs.center &amp;&amp; !attrs.lfCenter) {\n            map.fitBounds(leafletBounds);\n          }\n        });\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('paths', [\"$log\", \"$q\", \"leafletData\", \"leafletMapDefaults\", \"leafletHelpers\", \"leafletPathsHelpers\", \"leafletPathEvents\", function($log, $q, leafletData, leafletMapDefaults, leafletHelpers, leafletPathsHelpers, leafletPathEvents) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: ['leaflet', '?layers'],\n\n    link: function(scope, element, attrs, controller) {\n      var mapController = controller[0];\n      var isDefined = leafletHelpers.isDefined;\n      var isString = leafletHelpers.isString;\n      var leafletScope  = mapController.getLeafletScope();\n      var paths     = leafletScope.paths;\n      var createPath = leafletPathsHelpers.createPath;\n      var bindPathEvents = leafletPathEvents.bindPathEvents;\n      var setPathOptions = leafletPathsHelpers.setPathOptions;\n\n      mapController.getMap().then(function(map) {\n        var defaults = leafletMapDefaults.getDefaults(attrs.id);\n        var getLayers;\n\n        // If the layers attribute is used, we must wait until the layers are created\n        if (isDefined(controller[1])) {\n          getLayers = controller[1].getLayers;\n        } else {\n          getLayers = function() {\n            var deferred = $q.defer();\n            deferred.resolve();\n            return deferred.promise;\n          };\n        }\n\n        if (!isDefined(paths)) {\n          return;\n        }\n\n        getLayers().then(function(layers) {\n\n          var leafletPaths = {};\n          leafletData.setPaths(leafletPaths, attrs.id);\n\n          // Should we watch for every specific marker on the map?\n          var shouldWatch = (!isDefined(attrs.watchPaths) || attrs.watchPaths === 'true');\n\n          // Function for listening every single path once created\n          var watchPathFn = function(leafletPath, name) {\n            var clearWatch = leafletScope.$watch('paths[\"' + name + '\"]', function(pathData, old) {\n              if (!isDefined(pathData)) {\n                if (isDefined(old.layer)) {\n                  for (var i in layers.overlays) {\n                    var overlay = layers.overlays[i];\n                    overlay.removeLayer(leafletPath);\n                  }\n                }\n\n                map.removeLayer(leafletPath);\n                clearWatch();\n                return;\n              }\n\n              setPathOptions(leafletPath, pathData.type, pathData);\n            }, true);\n          };\n\n          leafletScope.$watchCollection('paths', function(newPaths) {\n\n            // Delete paths (by name) from the array\n            for (var name in leafletPaths) {\n              if (!isDefined(newPaths[name])) {\n                map.removeLayer(leafletPaths[name]);\n                delete leafletPaths[name];\n              }\n            }\n\n            // Create the new paths\n            for (var newName in newPaths) {\n              if (newName.search('\\\\$') === 0) {\n                continue;\n              }\n\n              if (newName.search('-') !== -1) {\n                $log.error('[AngularJS - Leaflet] The path name \"' + newName + '\" is not valid. It must not include \"-\" and a number.');\n                continue;\n              }\n\n              if (!isDefined(leafletPaths[newName])) {\n                var pathData = newPaths[newName];\n                var newPath = createPath(newName, newPaths[newName], defaults);\n\n                // bind popup if defined\n                if (isDefined(newPath) &amp;&amp; isDefined(pathData.message)) {\n                  newPath.bindPopup(pathData.message, pathData.popupOptions);\n                }\n\n                // Show label if defined\n                if (leafletHelpers.LabelPlugin.isLoaded() &amp;&amp; isDefined(pathData.label) &amp;&amp; isDefined(pathData.label.message)) {\n                  newPath.bindLabel(pathData.label.message, pathData.label.options);\n                }\n\n                // Check if the marker should be added to a layer\n                if (isDefined(pathData) &amp;&amp; isDefined(pathData.layer)) {\n\n                  if (!isString(pathData.layer)) {\n                    $log.error('[AngularJS - Leaflet] A layername must be a string');\n                    continue;\n                  }\n\n                  if (!isDefined(layers)) {\n                    $log.error('[AngularJS - Leaflet] You must add layers to the directive if the markers are going to use this functionality.');\n                    continue;\n                  }\n\n                  if (!isDefined(layers.overlays) || !isDefined(layers.overlays[pathData.layer])) {\n                    $log.error('[AngularJS - Leaflet] A path can only be added to a layer of type \"group\"');\n                    continue;\n                  }\n\n                  var layerGroup = layers.overlays[pathData.layer];\n                  if (!(layerGroup instanceof L.LayerGroup || layerGroup instanceof L.FeatureGroup)) {\n                    $log.error('[AngularJS - Leaflet] Adding a path to an overlay needs a overlay of the type \"group\" or \"featureGroup\"');\n                    continue;\n                  }\n\n                  // Listen for changes on the new path\n                  leafletPaths[newName] = newPath;\n\n                  // The path goes to a correct layer group, so first of all we add it\n                  layerGroup.addLayer(newPath);\n\n                  if (shouldWatch) {\n                    watchPathFn(newPath, newName);\n                  } else {\n                    setPathOptions(newPath, pathData.type, pathData);\n                  }\n                } else if (isDefined(newPath)) {\n                  // Listen for changes on the new path\n                  leafletPaths[newName] = newPath;\n                  map.addLayer(newPath);\n\n                  if (shouldWatch) {\n                    watchPathFn(newPath, newName);\n                  } else {\n                    setPathOptions(newPath, pathData.type, pathData);\n                  }\n                }\n\n                bindPathEvents(attrs.id, newPath, newName, pathData, leafletScope);\n              }\n            }\n          });\n        });\n      });\n    },\n  };\n}]);\n\nangular.module('leaflet-directive-two').directive('tiles', [\"$log\", \"leafletData\", \"leafletMapDefaults\", \"leafletHelpers\", function($log, leafletData, leafletMapDefaults, leafletHelpers) {\n\n  return {\n    restrict: 'A',\n    scope: false,\n    replace: false,\n    require: 'leaflet',\n\n    link: function(scope, element, attrs, controller) {\n      var isDefined = leafletHelpers.isDefined;\n      var leafletScope  = controller.getLeafletScope();\n      var tiles = leafletScope.tiles;\n\n      if (!isDefined(tiles) ||  !isDefined(tiles.url)) {\n        $log.warn('[AngularJS - Leaflet] The \\'tiles\\' definition doesn\\'t have the \\'url\\' property.');\n        return;\n      }\n\n      controller.getMap().then(function(map) {\n        var defaults = leafletMapDefaults.getDefaults(attrs.id);\n        var tileLayerObj;\n        leafletScope.$watch('tiles', function(tiles, oldtiles) {\n          var tileLayerOptions = defaults.tileLayerOptions;\n          var tileLayerUrl = defaults.tileLayer;\n\n          // If no valid tiles are in the scope, remove the last layer\n          if (!isDefined(tiles.url) &amp;&amp; isDefined(tileLayerObj)) {\n            map.removeLayer(tileLayerObj);\n            return;\n          }\n\n          // No leafletTiles object defined yet\n          if (!isDefined(tileLayerObj)) {\n            if (isDefined(tiles.options)) {\n              angular.copy(tiles.options, tileLayerOptions);\n            }\n\n            if (isDefined(tiles.url)) {\n              tileLayerUrl = tiles.url;\n            }\n\n            if (tiles.type === 'wms') {\n              tileLayerObj = L.tileLayer.wms(tileLayerUrl, tileLayerOptions);\n            } else {\n              tileLayerObj = L.tileLayer(tileLayerUrl, tileLayerOptions);\n            }\n\n            tileLayerObj.addTo(map);\n            leafletData.setTiles(tileLayerObj, attrs.id);\n            return;\n          }\n\n          // If the options of the tilelayer is changed, we need to redraw the layer\n          if (isDefined(tiles.url) &amp;&amp; isDefined(tiles.options) &amp;&amp;\n              (tiles.type !== oldtiles.type || !angular.equals(tiles.options, tileLayerOptions))) {\n            map.removeLayer(tileLayerObj);\n            tileLayerOptions = defaults.tileLayerOptions;\n            angular.copy(tiles.options, tileLayerOptions);\n            tileLayerUrl = tiles.url;\n\n            if (tiles.type === 'wms') {\n              tileLayerObj = L.tileLayer.wms(tileLayerUrl, tileLayerOptions);\n            } else {\n              tileLayerObj = L.tileLayer(tileLayerUrl, tileLayerOptions);\n            }\n\n            tileLayerObj.addTo(map);\n            leafletData.setTiles(tileLayerObj, attrs.id);\n            return;\n          }\n\n          // Only the URL of the layer is changed, update the tiles object\n          if (isDefined(tiles.url)) {\n            tileLayerObj.setUrl(tiles.url);\n          }\n        }, true);\n      });\n    },\n  };\n}]);\n\n/*\n    Create multiple similar directives for watchOptions to support directiveControl\n    instead. (when watches are disabled)\n    NgAnnotate does not work here due to the functional creation\n*/\n['markers', 'geojson'].forEach(function(name) {\n  angular.module('leaflet-directive-two').directive(name + 'WatchOptions', [\n      '$log', '$rootScope', '$q', 'leafletData', 'leafletHelpers',\n        function($log, $rootScope, $q, leafletData, leafletHelpers) {\n\n          var isDefined = leafletHelpers.isDefined,\n              errorHeader = leafletHelpers.errorHeader,\n              isObject = leafletHelpers.isObject,\n              _watchOptions = leafletHelpers.watchOptions;\n\n          return {\n            restrict: 'A',\n            scope: false,\n            replace: false,\n            require: ['leaflet'],\n\n            link: function(scope, element, attrs, controller) {\n              var mapController = controller[0],\n                  leafletScope = mapController.getLeafletScope();\n\n              mapController.getMap().then(function() {\n                if (isDefined(scope[name + 'WatchOptions'])) {\n                  if (isObject(scope[name + 'WatchOptions']))\n                      angular.extend(_watchOptions, scope[name + 'WatchOptions']);\n                  else\n                      $log.error(errorHeader + '[' + name + 'WatchOptions] is not an object');\n                  leafletScope[name + 'WatchOptions'] = _watchOptions;\n                }\n              });\n            },\n          };\n        },]);\n});\n\nangular.module('leaflet-directive-two')\n.factory('LeafletEventsHelpersFactory', [\"$rootScope\", \"$q\", \"$log\", \"leafletHelpers\", function($rootScope, $q, $log, leafletHelpers) {\n  var safeApply = leafletHelpers.safeApply;\n  var isDefined = leafletHelpers.isDefined;\n  var isObject = leafletHelpers.isObject;\n  var isArray = leafletHelpers.isArray;\n  var errorHeader = leafletHelpers.errorHeader;\n\n  var EventsHelper = function(rootBroadcastName, lObjectType) {\n    this.rootBroadcastName = rootBroadcastName;\n    $log.debug('LeafletEventsHelpersFactory: lObjectType: ' + lObjectType + 'rootBroadcastName: ' + rootBroadcastName);\n\n    //used to path/key out certain properties based on the type , \"markers\", \"geojson\"\n    this.lObjectType = lObjectType;\n  };\n\n  EventsHelper.prototype.getAvailableEvents = function() {return [];};\n\n  /*\n   argument: name: Note this can be a single string or dot notation\n   Example:\n   markerModel : {\n   m1: { lat:_, lon: _}\n   }\n   //would yield name of\n   name = \"m1\"\n\n   If nested:\n   markerModel : {\n   cars: {\n   m1: { lat:_, lon: _}\n   }\n   }\n   //would yield name of\n   name = \"cars.m1\"\n   */\n  EventsHelper.prototype.genDispatchEvent = function(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName, extra) {\n    var _this = this;\n\n    maybeMapId = maybeMapId || '';\n    if (maybeMapId)\n      maybeMapId = '.' + maybeMapId;\n\n    return function(e) {\n      var broadcastName = _this.rootBroadcastName + maybeMapId + '.' + eventName;\n      $log.debug(broadcastName);\n      _this.fire(leafletScope, broadcastName, logic, e, e.target || lObject, model, name, layerName, extra);\n    };\n  };\n\n  EventsHelper.prototype.fire = function(scope, broadcastName, logic, event, lObject, model, modelName, layerName) {\n    // Safely broadcast the event\n    safeApply(scope, function() {\n      var toSend = {\n        leafletEvent: event,\n        leafletObject: lObject,\n        modelName: modelName,\n        model: model,\n      };\n      if (isDefined(layerName))\n          angular.extend(toSend, {layerName: layerName});\n\n      if (logic === 'emit') {\n        scope.$emit(broadcastName, toSend);\n      } else {\n        $rootScope.$broadcast(broadcastName, toSend);\n      }\n    });\n  };\n\n  EventsHelper.prototype.bindEvents = function(maybeMapId, lObject, name, model, leafletScope, layerName, extra) {\n    var events = [];\n    var logic = 'emit';\n    var _this = this;\n\n    if (!isDefined(leafletScope.eventBroadcast)) {\n      // Backward compatibility, if no event-broadcast attribute, all events are broadcasted\n      events = this.getAvailableEvents();\n    } else if (!isObject(leafletScope.eventBroadcast)) {\n      // Not a valid object\n      $log.error(errorHeader + 'event-broadcast must be an object check your model.');\n    } else {\n      // We have a possible valid object\n      if (!isDefined(leafletScope.eventBroadcast[_this.lObjectType])) {\n        // We do not have events enable/disable do we do nothing (all enabled by default)\n        events = this.getAvailableEvents();\n      } else if (!isObject(leafletScope.eventBroadcast[_this.lObjectType])) {\n        // Not a valid object\n        $log.warn(errorHeader + 'event-broadcast.' + [_this.lObjectType]  + ' must be an object check your model.');\n      } else {\n        // We have a possible valid map object\n        // Event propadation logic\n        if (isDefined(leafletScope.eventBroadcast[this.lObjectType].logic)) {\n          // We take care of possible propagation logic\n          if (leafletScope.eventBroadcast[_this.lObjectType].logic !== 'emit' &amp;&amp;\n              leafletScope.eventBroadcast[_this.lObjectType].logic !== 'broadcast')\n                  $log.warn(errorHeader + 'Available event propagation logic are: \\'emit\\' or \\'broadcast\\'.');\n        }\n\n        // Enable / Disable\n        var eventsEnable = false;\n        var eventsDisable = false;\n        if (isDefined(leafletScope.eventBroadcast[_this.lObjectType].enable) &amp;&amp;\n            isArray(leafletScope.eventBroadcast[_this.lObjectType].enable))\n                eventsEnable = true;\n        if (isDefined(leafletScope.eventBroadcast[_this.lObjectType].disable) &amp;&amp;\n            isArray(leafletScope.eventBroadcast[_this.lObjectType].disable))\n                eventsDisable = true;\n\n        if (eventsEnable &amp;&amp; eventsDisable) {\n          // Both are active, this is an error\n          $log.warn(errorHeader + 'can not enable and disable events at the same time');\n        } else if (!eventsEnable &amp;&amp; !eventsDisable) {\n          // Both are inactive, this is an error\n          $log.warn(errorHeader + 'must enable or disable events');\n        } else {\n          // At this point the object is OK, lets enable or disable events\n          if (eventsEnable) {\n            // Enable events\n            leafletScope.eventBroadcast[this.lObjectType].enable.forEach(function(eventName) {\n              // Do we have already the event enabled?\n              if (events.indexOf(eventName) !== -1) {\n                // Repeated event, this is an error\n                $log.warn(errorHeader + 'This event ' + eventName + ' is already enabled');\n              } else {\n                // Does the event exists?\n                if (_this.getAvailableEvents().indexOf(eventName) === -1) {\n                  // The event does not exists, this is an error\n                  $log.warn(errorHeader + 'This event ' + eventName + ' does not exist');\n                } else {\n                  // All ok enable the event\n                  events.push(eventName);\n                }\n              }\n            });\n          } else {\n            // Disable events\n            events = this.getAvailableEvents();\n            leafletScope.eventBroadcast[_this.lObjectType].disable.forEach(function(eventName) {\n              var index = events.indexOf(eventName);\n              if (index === -1) {\n                // The event does not exist\n                $log.warn(errorHeader + 'This event ' + eventName + ' does not exist or has been already disabled');\n\n              } else {\n                events.splice(index, 1);\n              }\n            });\n          }\n        }\n      }\n    }\n\n    events.forEach(function(eventName) {\n      lObject.on(eventName, _this.genDispatchEvent(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName, extra));\n    });\n\n    return logic;\n  };\n\n  return EventsHelper;\n}])\n.service('leafletEventsHelpers', [\"LeafletEventsHelpersFactory\", function(LeafletEventsHelpersFactory) {\n  return new LeafletEventsHelpersFactory();\n}]);\n\nangular.module('leaflet-directive-two')\n.factory('leafletGeoJsonEvents', [\"$rootScope\", \"$q\", \"$log\", \"leafletHelpers\", \"LeafletEventsHelpersFactory\", \"leafletData\", function($rootScope, $q, $log, leafletHelpers,\n  LeafletEventsHelpersFactory, leafletData) {\n  var safeApply = leafletHelpers.safeApply;\n  var EventsHelper = LeafletEventsHelpersFactory;\n\n  var GeoJsonEvents = function() {\n      EventsHelper.call(this, 'leafletDirectiveGeoJson', 'geojson');\n    };\n\n  GeoJsonEvents.prototype =  new EventsHelper();\n\n  GeoJsonEvents.prototype.genDispatchEvent = function(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName, extra) {\n    var base = EventsHelper.prototype.genDispatchEvent.call(this, maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName);\n    var _this = this;\n\n    return function(e) {\n      if (eventName === 'mouseout') {\n        if (extra.resetStyleOnMouseout) {\n          leafletData.getGeoJSON(extra.mapId)\n                    .then(function(leafletGeoJSON) {\n                      //this is broken on nested needs to traverse or user layerName (nested)\n                      var lobj = layerName ? leafletGeoJSON[layerName] : leafletGeoJSON;\n                      lobj.resetStyle(e.target);\n                    });\n\n        }\n\n        safeApply(leafletScope, function() {\n          $rootScope.$broadcast(_this.rootBroadcastName + '.mouseout', e);\n        });\n      }\n\n      base(e); //common\n    };\n  };\n\n  GeoJsonEvents.prototype.getAvailableEvents = function() { return [\n      'click',\n      'dblclick',\n      'mouseover',\n      'mouseout',\n      ];\n  };\n\n  return new GeoJsonEvents();\n}]);\n\nangular.module('leaflet-directive-two')\n.factory('leafletLabelEvents', [\"$rootScope\", \"$q\", \"$log\", \"leafletHelpers\", \"LeafletEventsHelpersFactory\", function($rootScope, $q, $log, leafletHelpers, LeafletEventsHelpersFactory) {\n  var Helpers = leafletHelpers;\n  var EventsHelper = LeafletEventsHelpersFactory;\n\n  var LabelEvents = function() {\n          EventsHelper.call(this, 'leafletDirectiveLabel', 'markers');\n        };\n\n  LabelEvents.prototype =  new EventsHelper();\n\n  LabelEvents.prototype.genDispatchEvent = function(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName) {\n    var markerName = name.replace('markers.', '');\n    return EventsHelper.prototype\n        .genDispatchEvent.call(this, maybeMapId, eventName, logic, leafletScope, lObject, markerName, model, layerName);\n  };\n\n  LabelEvents.prototype.getAvailableEvents = function() {\n    return [\n        'click',\n        'dblclick',\n        'mousedown',\n        'mouseover',\n        'mouseout',\n        'contextmenu',\n    ];\n  };\n\n  LabelEvents.prototype.genEvents = function(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName) {\n    var _this = this;\n    var labelEvents = this.getAvailableEvents();\n    var scopeWatchName = Helpers.getObjectArrayPath('markers.' + name);\n    labelEvents.forEach(function(eventName) {\n      lObject.label.on(eventName, _this.genDispatchEvent(\n          maybeMapId, eventName, logic, leafletScope, lObject.label, scopeWatchName, model, layerName));\n    });\n  };\n\n  LabelEvents.prototype.bindEvents = function() {};\n\n  return new LabelEvents();\n}]);\n\nangular.module('leaflet-directive-two')\n.factory('leafletMapEvents', [\"$rootScope\", \"$q\", \"$log\", \"leafletHelpers\", \"leafletEventsHelpers\", \"leafletIterators\", function($rootScope, $q, $log, leafletHelpers, leafletEventsHelpers, leafletIterators) {\n  var isDefined = leafletHelpers.isDefined;\n  var fire = leafletEventsHelpers.fire;\n\n  var _getAvailableMapEvents = function() {\n    return [\n        'click',\n        'dblclick',\n        'mousedown',\n        'mouseup',\n        'mouseover',\n        'mouseout',\n        'mousemove',\n        'contextmenu',\n        'focus',\n        'blur',\n        'preclick',\n        'load',\n        'unload',\n        'viewreset',\n        'movestart',\n        'move',\n        'moveend',\n        'dragstart',\n        'drag',\n        'dragend',\n        'zoomstart',\n        'zoomanim',\n        'zoomend',\n        'zoomlevelschange',\n        'resize',\n        'autopanstart',\n        'layeradd',\n        'layerremove',\n        'baselayerchange',\n        'overlayadd',\n        'overlayremove',\n        'locationfound',\n        'locationerror',\n        'popupopen',\n        'popupclose',\n        'draw:created',\n        'draw:edited',\n        'draw:deleted',\n        'draw:drawstart',\n        'draw:drawstop',\n        'draw:editstart',\n        'draw:editstop',\n        'draw:deletestart',\n        'draw:deletestop',\n    ];\n  };\n\n  var _genDispatchMapEvent = function(scope, eventName, logic, maybeMapId) {\n    if (maybeMapId)\n      maybeMapId = maybeMapId + '.';\n    return function(e) {\n      // Put together broadcast name\n      var broadcastName = 'leafletDirectiveMap.' + maybeMapId + eventName;\n      $log.debug(broadcastName);\n\n      // Safely broadcast the event\n      fire(scope, broadcastName, logic, e, e.target, scope);\n    };\n  };\n\n  var _notifyCenterChangedToBounds = function(scope) {\n    scope.$broadcast('boundsChanged');\n  };\n\n  var _notifyCenterUrlHashChanged = function(scope, map, attrs, search) {\n    if (!isDefined(attrs.urlHashCenter)) {\n      return;\n    }\n\n    var center = map.getCenter();\n    var centerUrlHash = (center.lat).toFixed(4) + ':' + (center.lng).toFixed(4) + ':' + map.getZoom();\n    if (!isDefined(search.c) || search.c !== centerUrlHash) {\n      //$log.debug(\"notified new center...\");\n      scope.$emit('centerUrlHash', centerUrlHash);\n    }\n  };\n\n  var _addEvents =  function(map, mapEvents, contextName, scope, logic) {\n    leafletIterators.each(mapEvents, function(eventName) {\n      var context = {};\n      context[contextName] = eventName;\n      map.on(eventName, _genDispatchMapEvent(scope, eventName, logic, map._container.id || ''), context);\n    });\n  };\n\n  return {\n    getAvailableMapEvents: _getAvailableMapEvents,\n    genDispatchMapEvent: _genDispatchMapEvent,\n    notifyCenterChangedToBounds: _notifyCenterChangedToBounds,\n    notifyCenterUrlHashChanged: _notifyCenterUrlHashChanged,\n    addEvents: _addEvents,\n  };\n}]);\n\nangular.module('leaflet-directive-two')\n.factory('leafletMarkerEvents', [\"$rootScope\", \"$q\", \"$log\", \"leafletHelpers\", \"LeafletEventsHelpersFactory\", \"leafletLabelEvents\", function($rootScope, $q, $log, leafletHelpers, LeafletEventsHelpersFactory, leafletLabelEvents) {\n  var safeApply = leafletHelpers.safeApply;\n  var isDefined = leafletHelpers.isDefined;\n  var Helpers = leafletHelpers;\n  var lblHelp = leafletLabelEvents;\n  var EventsHelper = LeafletEventsHelpersFactory;\n\n  var MarkerEvents = function() {\n      EventsHelper.call(this, 'leafletDirectiveMarker', 'markers');\n    };\n\n  MarkerEvents.prototype = new EventsHelper();\n\n  MarkerEvents.prototype.genDispatchEvent = function(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName) {\n    var handle = EventsHelper.prototype\n        .genDispatchEvent.call(this, maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName);\n    return function(e) {\n      // Broadcast old marker click name for backwards compatibility\n      if (eventName === 'click') {\n        safeApply(leafletScope, function() {\n          $rootScope.$broadcast('leafletDirectiveMarkersClick', name);\n        });\n      } else if (eventName === 'dragend') {\n        safeApply(leafletScope, function() {\n          model.lat = lObject.getLatLng().lat;\n          model.lng = lObject.getLatLng().lng;\n        });\n\n        if (model.message &amp;&amp; model.focus === true) {\n          lObject.openPopup();\n        }\n      }\n\n      handle(e); //common\n    };\n  };\n\n  MarkerEvents.prototype.getAvailableEvents = function() { return [\n      'click',\n      'dblclick',\n      'mousedown',\n      'mouseover',\n      'mouseout',\n      'contextmenu',\n      'dragstart',\n      'drag',\n      'dragend',\n      'move',\n      'remove',\n      'popupopen',\n      'popupclose',\n      'touchend',\n      'touchstart',\n      'touchmove',\n      'touchcancel',\n      'touchleave',\n      ];\n  };\n\n  MarkerEvents.prototype.bindEvents = function(maybeMapId, lObject, name, model, leafletScope, layerName) {\n      var logic = EventsHelper.prototype.bindEvents.call(this, maybeMapId, lObject, name, model, leafletScope, layerName);\n\n      if (Helpers.LabelPlugin.isLoaded() &amp;&amp; isDefined(lObject.label)) {\n        lblHelp.genEvents(maybeMapId, name, logic, leafletScope, lObject, model, layerName);\n      }\n    };\n\n  return new MarkerEvents();\n}]);\n\nangular.module('leaflet-directive-two')\n.factory('leafletPathEvents', [\"$rootScope\", \"$q\", \"$log\", \"leafletHelpers\", \"leafletLabelEvents\", \"leafletEventsHelpers\", function($rootScope, $q, $log, leafletHelpers, leafletLabelEvents, leafletEventsHelpers) {\n  var isDefined = leafletHelpers.isDefined;\n  var isObject = leafletHelpers.isObject;\n  var Helpers = leafletHelpers;\n  var errorHeader = leafletHelpers.errorHeader;\n  var lblHelp = leafletLabelEvents;\n  var fire = leafletEventsHelpers.fire;\n\n  /*\n  TODO (nmccready) This EventsHelper needs to be derrived from leafletEventsHelpers to elminate copy and paste code.\n  */\n\n  var _genDispatchPathEvent = function(maybeMapId, eventName, logic, leafletScope, lObject, name, model, layerName) {\n    maybeMapId = maybeMapId || '';\n\n    if (maybeMapId)\n      maybeMapId = '.' + maybeMapId;\n\n    return function(e) {\n      var broadcastName = 'leafletDirectivePath' + maybeMapId + '.' + eventName;\n      $log.debug(broadcastName);\n      fire(leafletScope, broadcastName, logic, e, e.target || lObject, model, name, layerName);\n    };\n  };\n\n  var _bindPathEvents = function(maybeMapId, lObject, name, model, leafletScope) {\n    var pathEvents = [];\n    var i;\n    var eventName;\n    var logic = 'broadcast';\n\n    if (!isDefined(leafletScope.eventBroadcast)) {\n      // Backward compatibility, if no event-broadcast attribute, all events are broadcasted\n      pathEvents = _getAvailablePathEvents();\n    } else if (!isObject(leafletScope.eventBroadcast)) {\n      // Not a valid object\n      $log.error(errorHeader + 'event-broadcast must be an object check your model.');\n    } else {\n      // We have a possible valid object\n      if (!isDefined(leafletScope.eventBroadcast.path)) {\n        // We do not have events enable/disable do we do nothing (all enabled by default)\n        pathEvents = _getAvailablePathEvents();\n      } else if (isObject(leafletScope.eventBroadcast.paths)) {\n        // Not a valid object\n        $log.warn(errorHeader + 'event-broadcast.path must be an object check your model.');\n      } else {\n        // We have a possible valid map object\n        // Event propadation logic\n        if (leafletScope.eventBroadcast.path.logic !== undefined &amp;&amp; leafletScope.eventBroadcast.path.logic !== null) {\n          // We take care of possible propagation logic\n          if (leafletScope.eventBroadcast.path.logic !== 'emit' &amp;&amp; leafletScope.eventBroadcast.path.logic !== 'broadcast') {\n            // This is an error\n            $log.warn(errorHeader + 'Available event propagation logic are: \\'emit\\' or \\'broadcast\\'.');\n          } else if (leafletScope.eventBroadcast.path.logic === 'emit') {\n            logic = 'emit';\n          }\n        }\n\n        // Enable / Disable\n        var pathEventsEnable = false;\n        var pathEventsDisable = false;\n        if (leafletScope.eventBroadcast.path.enable !== undefined &amp;&amp; leafletScope.eventBroadcast.path.enable !== null) {\n          if (typeof leafletScope.eventBroadcast.path.enable === 'object') {\n            pathEventsEnable = true;\n          }\n        }\n\n        if (leafletScope.eventBroadcast.path.disable !== undefined &amp;&amp; leafletScope.eventBroadcast.path.disable !== null) {\n          if (typeof leafletScope.eventBroadcast.path.disable === 'object') {\n            pathEventsDisable = true;\n          }\n        }\n\n        if (pathEventsEnable &amp;&amp; pathEventsDisable) {\n          // Both are active, this is an error\n          $log.warn(errorHeader + 'can not enable and disable events at the same time');\n        } else if (!pathEventsEnable &amp;&amp; !pathEventsDisable) {\n          // Both are inactive, this is an error\n          $log.warn(errorHeader + 'must enable or disable events');\n        } else {\n          // At this point the path object is OK, lets enable or disable events\n          if (pathEventsEnable) {\n            // Enable events\n            for (i = 0; i &lt; leafletScope.eventBroadcast.path.enable.length; i++) {\n              eventName = leafletScope.eventBroadcast.path.enable[i];\n\n              // Do we have already the event enabled?\n              if (pathEvents.indexOf(eventName) !== -1) {\n                // Repeated event, this is an error\n                $log.warn(errorHeader + 'This event ' + eventName + ' is already enabled');\n              } else {\n                // Does the event exists?\n                if (_getAvailablePathEvents().indexOf(eventName) === -1) {\n                  // The event does not exists, this is an error\n                  $log.warn(errorHeader + 'This event ' + eventName + ' does not exist');\n                } else {\n                  // All ok enable the event\n                  pathEvents.push(eventName);\n                }\n              }\n            }\n          } else {\n            // Disable events\n            pathEvents = _getAvailablePathEvents();\n            for (i = 0; i &lt; leafletScope.eventBroadcast.path.disable.length; i++) {\n              eventName = leafletScope.eventBroadcast.path.disable[i];\n              var index = pathEvents.indexOf(eventName);\n              if (index === -1) {\n                // The event does not exist\n                $log.warn(errorHeader + 'This event ' + eventName + ' does not exist or has been already disabled');\n\n              } else {\n                pathEvents.splice(index, 1);\n              }\n            }\n          }\n        }\n      }\n    }\n\n    for (i = 0; i &lt; pathEvents.length; i++) {\n      eventName = pathEvents[i];\n      lObject.on(eventName, _genDispatchPathEvent(maybeMapId, eventName, logic, leafletScope, pathEvents, name));\n    }\n\n    if (Helpers.LabelPlugin.isLoaded() &amp;&amp; isDefined(lObject.label)) {\n      lblHelp.genEvents(maybeMapId, name, logic, leafletScope, lObject, model);\n    }\n  };\n\n  var _getAvailablePathEvents = function() {\n    return [\n        'click',\n        'dblclick',\n        'mousedown',\n        'mouseover',\n        'mouseout',\n        'contextmenu',\n        'add',\n        'remove',\n        'popupopen',\n        'popupclose',\n    ];\n  };\n\n  return {\n    getAvailablePathEvents: _getAvailablePathEvents,\n    bindPathEvents: _bindPathEvents,\n  };\n}]);\n\n}(angular));]]&gt;&lt;/script&gt;&lt;script_name&gt;Leaflet Directive Asset App&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-15 15:56:18&lt;/sys_created_on&gt;&lt;sys_id&gt;ab4559bbdb15f7409eb1d311ce9619d9&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_sp_asset_map.Leaflet Directive Ass&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Asset Map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_ab4559bbdb15f7409eb1d311ce9619d9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-15 21:28:00&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2052947239</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>4e177cabdb8b3b409eb1d311ce961939</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abd651a180000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>x_snc_sp_asset_map.Leaflet Directive Ass</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>c751e6ff5459f7404d890b44615d8a7d</update_guid>\n<update_guid_history>c751e6ff5459f7404d890b44615d8a7d:2052947239,015166ff5559f74022d6206e75270a1d:-779972301,ab21aebf4b59f740aa1e9e61a35886c5:-1434164287,d47559bb4615f7407317031115d6e0df:-779972301</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_29751dbbdb15f7409eb1d311ce961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sp_js_include display_value=\"leaflet asset directive\">e84519bbdb15f7409eb1d311ce9619fb</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:56:23</sys_created_on><sys_id>29751dbbdb15f7409eb1d311ce961949</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Leaflet NG.leaflet asset directive</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_js_include_29751dbbdb15f7409eb1d311ce961949</sys_update_name><sys_updated_by>lil.dicky</sys_updated_by><sys_updated_on>2019-05-16 22:23:24</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1570874344</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>71177cabdb8b3b409eb1d311ce961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2be2c710000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Leaflet NG.leaflet asset directive</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>d4a7b78c65617b406365c17501fd8dfc</update_guid>\n<update_guid_history>d4a7b78c65617b406365c17501fd8dfc:-1570874344,0197378c06617b40fc002f32c3d056fb:1432023543,8077b38cdb617b40228cd07e9eb26e21:-278804935,69751dbbe715f7409df577ef4341d24a:1013264474</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_e474597bdb15f7409eb1d311ce9619c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;flippy&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function flippy(){\n\t\t\treturn {\n\t\t\trestrict: 'EA',\n\t\t\tlink: function($scope, $elem, $attrs) {\n\n\t\t\t\tvar options = {\n\t\t\t\t\tflipDuration: ($attrs.flipDuration) ? $attrs.flipDuration : 400,\n\t\t\t\t\ttimingFunction: 'ease-in-out',\n\t\t\t\t};\n\n\t\t\t\t// setting flip options\n\t\t\t\tangular.forEach(['flippy-front', 'flippy-back'], function(name) {\n\t\t\t\t\tvar el = $elem.find(name);\n\t\t\t\t\tif (el.length == 1) {\n\t\t\t\t\t\tangular.forEach(['', '-ms-', '-webkit-'], function(prefix) {\n\t\t\t\t\t\t\tangular.element(el[0]).css(prefix + 'transition', 'all ' + options.flipDuration/1000 + 's ' + options.timingFunction);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t/**\n\t\t\t\t * behaviour for flipping effect.\n\t\t\t\t */\n\t\t\t\t$scope.flip = function() {\n\t\t\t\t\t$elem.toggleClass('flipped');\n\t\t\t\t}\n\n\t\t\t}\n\t\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-15 15:52:05&lt;/sys_created_on&gt;&lt;sys_id&gt;e474597bdb15f7409eb1d311ce9619c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;flippy&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Asset Map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_e474597bdb15f7409eb1d311ce9619c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-15 15:52:05&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2017291194</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>79177cabdb8b3b409eb1d311ce961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc318dc60000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>flippy</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid>5674197bc315f740d30c968e3270235d</update_guid>\n<update_guid_history>5674197bc315f740d30c968e3270235d:2017291194</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>db_image_e2787fccdb617b409eb1d311ce961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>16</height><image>a288bfccdb617b409eb1d311ce961968</image><name>markers-shadow.png</name><size_bytes>535</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:13</sys_created_on><sys_id>e2787fccdb617b409eb1d311ce961936</sys_id><sys_mod_count>2</sys_mod_count><sys_name>markers-shadow.png</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>db_image_e2787fccdb617b409eb1d311ce961936</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 22:27:23</sys_updated_on><thumbnail/><width>35</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#0</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height>16</image_height><image_width>35</image_width><size_bytes>535</size_bytes><size_compressed>558</size_compressed><state>pending</state><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:23</sys_created_on><sys_id>a288bfccdb617b409eb1d311ce961968</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 22:27:23</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>e2787fccdb617b409eb1d311ce961936</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"a288bfccdb617b409eb1d311ce961968\">a288bfccdb617b409eb1d311ce961968</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:23</sys_created_on><sys_id>e288bfccdb617b409eb1d311ce961968</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>ARcC6P2JUE5HDQoaCgAAAA1JSERSAAAAIwAAABAIBgAAAJw3xloAAAHeSURBVHjazdThR0NRHMbxzMxcmcnVXDNzpUlmNpkl2UyWlCwp2ZQU05SylFJKpSiV9B+v58X3xXHmbC/2psPHst3Oec7v/s6Z6Pf7/4ZrRAxRiSFu8GCaHMJDHDGJsgasYQXwJCFT4su0pCRA2pJxSCPFHFMEjFuB+AP8GCeEzyQzkpN5yUtBioaSQxEFyTNHyJz+YCB3kEBmmWxRqrIiDawO0eDZutRkmTlKbCikSslRYTxKmZMyE2/JrrRl39I2tHhuR5qyQbi6LBFmTrKskRgWJsYDGf6xwQIdOZOe5ULO+a3Lc8dyIHtsYo3qVCTPKw+oiseakWFhspS1yQLX8ijPhke5l1u5ItiJHFGlJlVZdlXEDMLRHgiTlJCy7rDzJ3mXb/mSD3kj1J1cyhlB9ghSN6oRSuA6RcY943hNhGHHLwT5lR/55LsHuaIih7JtVKMoOeby7f6AfekNNjC7WKABO+z+leq8EqJHiLZs0l+LVl9QCeOCs4bzBjaq43MEq5T9lL65IUSXk7TFEa5QiVkJzDvEblA+R4dhRI1XlZcai7awLesELQuN6eoJcY7RYSJMlrQuvgqLF0cGsMa4YaJGoJSkWTykYilC0JTunhg/DFjEQwKTVoAxBmHwBzw99sjNg8k7AAAAAElFTkSuQmCCmdD5OBcCAAA=</data><length>732</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"a288bfccdb617b409eb1d311ce961968\">a288bfccdb617b409eb1d311ce961968</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:23</sys_created_on><sys_id>a688bfccdb617b409eb1d311ce961968</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>482592376</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>7917f8abdb8b3b409eb1d311ce9619b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2c1d38b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>markers-shadow.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>b688bfccef617b405bd0e68f06a6a873</update_guid>\n<update_guid_history>b688bfccef617b405bd0e68f06a6a873:482592376,2e88bfcc30617b40b8ee7d35fc47946e:-1549224769,6288bfcce2617b405293ef32a56f226c:-1549224769,50883fcc92617b40c7360599e300db94:-83922176</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_f52595bbdb15f7409eb1d311ce961963</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sp_js_include display_value=\"leaflet asset app\">0ba49d7bdb15f7409eb1d311ce961997</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:55:03</sys_created_on><sys_id>f52595bbdb15f7409eb1d311ce961963</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Leaflet NG.leaflet asset app</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_js_include_f52595bbdb15f7409eb1d311ce961963</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:55:03</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-838374565</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>7d177cabdb8b3b409eb1d311ce961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc3445260000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Leaflet NG.leaflet asset app</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>3d2595bb5615f740937a7e2442d973ed</update_guid>\n<update_guid_history>3d2595bb5615f740937a7e2442d973ed:-838374565</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>db_image_2f8c64ecdbe5bb409eb1d311ce9619d2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>82</height><image>029ce4ecdbe5bb409eb1d311ce961908</image><name>marker-icon-2x.png</name><size_bytes>2586</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:12</sys_created_on><sys_id>2f8c64ecdbe5bb409eb1d311ce9619d2</sys_id><sys_mod_count>2</sys_mod_count><sys_name>marker-icon-2x.png</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>db_image_2f8c64ecdbe5bb409eb1d311ce9619d2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 20:53:18</sys_updated_on><thumbnail/><width>50</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#2e84cb</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height>82</image_height><image_width>50</image_width><size_bytes>2586</size_bytes><size_compressed>2518</size_compressed><state>pending</state><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:17</sys_created_on><sys_id>029ce4ecdbe5bb409eb1d311ce961908</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 20:53:18</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>2f8c64ecdbe5bb409eb1d311ce9619d2</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"029ce4ecdbe5bb409eb1d311ce961908\">029ce4ecdbe5bb409eb1d311ce961908</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:17</sys_created_on><sys_id>429ce4ecdbe5bb409eb1d311ce961908</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3344</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"029ce4ecdbe5bb409eb1d311ce961908\">029ce4ecdbe5bb409eb1d311ce961908</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:17</sys_created_on><sys_id>069ce4ecdbe5bb409eb1d311ce961908</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-1103680709</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>7d17f8abdb8b3b409eb1d311ce9619af</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac7920bae0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>marker-icon-2x.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>9a9c28ec85e5bb408f25cd92ace99c0a</update_guid>\n<update_guid_history>9a9c28ec85e5bb408f25cd92ace99c0a:-1103680709,169ce4ec21e5bb4062e8a7b3159bea0d:788350688,069ce4ec20e5bb40bc51f94dd0d99d0b:788350688,fc9ca4ecbfe5bb4037811a035097f883:216468384</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_6985a57fdb55f7409eb1d311ce961957</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/*&#13;\nAuthor: L. Voogdt&#13;\nLicense: MIT&#13;\nVersion: 1.0&#13;\n*/&#13;\n&#13;\n/* Marker setup */&#13;\n.awesome-marker {&#13;\n  background: url('markers-plain.png') no-repeat 0 0;&#13;\n  width: 35px;&#13;\n  height: 46px;&#13;\n  position:absolute;&#13;\n  left:0;&#13;\n  top:0;&#13;\n  display: block;&#13;\n  text-align: center;&#13;\n}&#13;\n&#13;\n.awesome-marker-shadow {&#13;\n  background: url('markers-shadow.png') no-repeat 0 0;&#13;\n  width: 36px;&#13;\n  height: 16px;&#13;\n}&#13;\n&#13;\n/* Retina displays */&#13;\n@media (min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),&#13;\n(-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx) {&#13;\n .awesome-marker {&#13;\n  background-image: url('markers-plain.png');&#13;\n  background-size: 360px 46px;&#13;\n }&#13;\n .awesome-marker-shadow {&#13;\n  background-image: url('markers-shadow@2x.png');&#13;\n  background-size: 35px 16px;&#13;\n }&#13;\n}&#13;\n&#13;\n.awesome-marker i {&#13;\n  color: #333;&#13;\n  margin-top: 10px;&#13;\n  display: inline-block;&#13;\n  font-size: 14px;&#13;\n}&#13;\n&#13;\n.awesome-marker .icon-white {&#13;\n  color: #fff;&#13;\n}&#13;\n&#13;\n/* Colors */&#13;\n.awesome-marker-icon-red {&#13;\n  background-position: 0 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-darkred {&#13;\n  background-position: -180px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-lightred {&#13;\n  background-position: -360px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-orange {&#13;\n  background-position: -36px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-beige {&#13;\n  background-position: -396px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-green {&#13;\n  background-position: -72px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-darkgreen {&#13;\n  background-position: -252px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-lightgreen {&#13;\n  background-position: -432px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-blue {&#13;\n  background-position: -108px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-darkblue {&#13;\n  background-position: -216px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-lightblue {&#13;\n  background-position: -468px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-purple {&#13;\n  background-position: -144px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-darkpurple {&#13;\n  background-position: -288px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-pink {&#13;\n  background-position: -504px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-cadetblue {&#13;\n  background-position: -324px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-white {&#13;\n  background-position: -574px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-gray {&#13;\n  background-position: -648px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-lightgray {&#13;\n  background-position: -612px 0;&#13;\n}&#13;\n&#13;\n.awesome-marker-icon-black {&#13;\n  background-position: -682px 0;&#13;\n}&#13;\n</css><name>Awesome Market Style</name><sys_class_name>sp_css</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:06:44</sys_created_on><sys_id>6985a57fdb55f7409eb1d311ce961957</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Awesome Market Style</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_css_6985a57fdb55f7409eb1d311ce961957</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:06:44</sys_updated_on></sp_css></record_update>]]></payload>\n<payload_hash>-637556038</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>82177cabdb8b3b409eb1d311ce961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc75e5880000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Awesome Market Style</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_guid>3f85a57f5155f740e8614b0027ed527d</update_guid>\n<update_guid_history>3f85a57f5155f740e8614b0027ed527d:-637556038</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_496da5b7db95f7409eb1d311ce9619d3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:40:56</sys_created_on><sys_id>496da5b7db95f7409eb1d311ce9619d3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>cmn_location</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sys_scope_privilege_496da5b7db95f7409eb1d311ce9619d3</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:40:56</sys_updated_on><target_name>cmn_location</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-946291087</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>82177cabdb8b3b409eb1d311ce961938</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc95383d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>cmn_location</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>0d6da5b7f995f740e62e711097a28fd4</update_guid>\n<update_guid_history>0d6da5b7f995f740e62e711097a28fd4:-946291087</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_9916d9fbdb15f7409eb1d311ce961971</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css>.container {\n  margin-left:30px;\n}</css><draft>false</draft><dynamic_title_structure/><id>asset_map</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:59:06</sys_created_on><sys_id>9916d9fbdb15f7409eb1d311ce961971</sys_id><sys_mod_count>2</sys_mod_count><sys_name>asset_map</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_page_9916d9fbdb15f7409eb1d311ce961971</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 22:35:37</sys_updated_on><title>Asset Map</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9916d9fbdb15f7409eb1d311ce961971\"/></record_update>]]></payload>\n<payload_hash>-998567392</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>86177cabdb8b3b409eb1d311ce961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abda2ff8b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>asset_map</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>e5d03273d3d9f740f55d92b59ad16967</update_guid>\n<update_guid_history>e5d03273d3d9f740f55d92b59ad16967:-998567392,3eb0be3382d9f740df0b9fb76834a761:36468194,5916d9fba615f7409e3a96d873d31773:2000126698</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_0ba49d7bdb15f7409eb1d311ce961997</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>leaflet asset app</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:55:03</sys_created_on><sys_id>0ba49d7bdb15f7409eb1d311ce961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leaflet asset app</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_ui_script display_value=\"x_snc_sp_asset_map.leafletjs asset app\">2cc411bbdb15f7409eb1d311ce961991</sys_ui_script><sys_update_name>sp_js_include_0ba49d7bdb15f7409eb1d311ce961997</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:55:03</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1136472210</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>8a177cabdb8b3b409eb1d311ce961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc3444cd0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>leaflet asset app</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>b92595bbf915f7409e670fcbecadde62</update_guid>\n<update_guid_history>b92595bbf915f7409e670fcbecadde62:-1136472210</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_70b555fbdb15f7409eb1d311ce96194f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_sp_asset_map.Awesome Marker Asset &lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n  Leaflet.AwesomeMarkers, a plugin that adds colorful iconic markers for Leaflet, based on the Font Awesome icons\n  (c) 2012-2013, Lennard Voogdt\n\n  http://leafletjs.com\n  https://github.com/lvoogdt\n*/\n\n/*global L*/\n\n(function (window, document, undefined) {\n    \"use strict\";\n    /*\n     * Leaflet.AwesomeMarkers assumes that you have already included the Leaflet library.\n     */\n    L.AwesomeMarkers = {};\n\n    L.AwesomeMarkers.version = '2.0.1';\n\n    L.AwesomeMarkers.Icon = L.Icon.extend({\n        options: {\n            iconSize: [35, 45],\n            iconAnchor:   [17, 42],\n            popupAnchor: [1, -32],\n            shadowAnchor: [10, 12],\n            shadowSize: [36, 16],\n            className: 'awesome-marker',\n            prefix: 'glyphicon',\n            spinClass: 'fa-spin',\n            extraClasses: '',\n            icon: 'home',\n            markerColor: 'blue',\n            iconColor: 'white'\n        },\n\n        initialize: function (options) {\n            options = L.Util.setOptions(this, options);\n        },\n\n        createIcon: function () {\n            var div = document.createElement('div'),\n                options = this.options;\n\n            if (options.icon) {\n                div.innerHTML = this._createInner();\n            }\n\n            if (options.bgPos) {\n                div.style.backgroundPosition =\n                    (-options.bgPos.x) + 'px ' + (-options.bgPos.y) + 'px';\n            }\n\n            this._setIconStyles(div, 'icon-' + options.markerColor);\n            return div;\n        },\n\n        _createInner: function() {\n            var iconClass, iconSpinClass = \"\", iconColorClass = \"\", iconColorStyle = \"\", options = this.options;\n\n            if(options.icon.slice(0,options.prefix.length+1) === options.prefix + \"-\") {\n                iconClass = options.icon;\n            } else {\n                iconClass = options.prefix + \"-\" + options.icon;\n            }\n\n            if(options.spin &amp;&amp; typeof options.spinClass === \"string\") {\n                iconSpinClass = options.spinClass;\n            }\n\n            if(options.iconColor) {\n                if(options.iconColor === 'white' || options.iconColor === 'black') {\n                    iconColorClass = \"icon-\" + options.iconColor;\n                } else {\n                    iconColorStyle = \"style='color: \" + options.iconColor + \"' \";\n                }\n            }\n\n            return \"&lt;i \" + iconColorStyle + \"class='\" + options.extraClasses + \" \" + options.prefix + \" \" + iconClass + \" \" + iconSpinClass + \" \" + iconColorClass + \"'&gt;&lt;/i&gt;\";\n        },\n\n        _setIconStyles: function (img, name) {\n            var options = this.options,\n                size = L.point(options[name === 'shadow' ? 'shadowSize' : 'iconSize']),\n                anchor;\n\n            if (name === 'shadow') {\n                anchor = L.point(options.shadowAnchor || options.iconAnchor);\n            } else {\n                anchor = L.point(options.iconAnchor);\n            }\n\n            if (!anchor &amp;&amp; size) {\n                anchor = size.divideBy(2, true);\n            }\n\n            img.className = 'awesome-marker-' + name + ' ' + options.className;\n\n            if (anchor) {\n                img.style.marginLeft = (-anchor.x) + 'px';\n                img.style.marginTop  = (-anchor.y) + 'px';\n            }\n\n            if (size) {\n                img.style.width  = size.x + 'px';\n                img.style.height = size.y + 'px';\n            }\n        },\n\n        createShadow: function () {\n            var div = document.createElement('div');\n\n            this._setIconStyles(div, 'shadow');\n            return div;\n      }\n    });\n        \n    L.AwesomeMarkers.icon = function (options) {\n        return new L.AwesomeMarkers.Icon(options);\n    };\n\n}(this, document));\n\n\n\n]]&gt;&lt;/script&gt;&lt;script_name&gt;Awesome Marker Asset app&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-15 15:57:46&lt;/sys_created_on&gt;&lt;sys_id&gt;70b555fbdb15f7409eb1d311ce96194f&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_sp_asset_map.Awesome Marker Asset &lt;/sys_name&gt;&lt;sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Asset Map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_70b555fbdb15f7409eb1d311ce96194f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-15 21:15:11&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-838047040</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>8a177cabdb8b3b409eb1d311ce961939</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abd595d3b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>x_snc_sp_asset_map.Awesome Marker Asset </target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>d76ed63fe459f740ca434e10c855f8fe</update_guid>\n<update_guid_history>d76ed63fe459f740ca434e10c855f8fe:-838047040,686ed63f9e59f740f0e451507b00b579:-1950344032,f107517fea15f7406e3daa94415b5bd4:-838047040,10f6dd3f8615f7403a8c4f996fc03cfd:1907300372,8ce65d3fc415f740e3c0e4f3fc4bd9b8:-1370508844,2cd65d3fc715f740379336c78226bc8e:-2050403737,29c595fb9d15f740774ef65554e02ad1:-1370508844</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_f4f5560cdba93b409eb1d311ce96197b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>Awesome Marker CSS</name><source>local</source><sp_css display_value=\"Awesome Market Style\">6985a57fdb55f7409eb1d311ce961957</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 15:16:52</sys_created_on><sys_id>f4f5560cdba93b409eb1d311ce96197b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Awesome Marker CSS</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_css_include_f4f5560cdba93b409eb1d311ce96197b</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 15:16:52</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>387965107</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>8e177cabdb8b3b409eb1d311ce961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac137abb60000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>Awesome Marker CSS</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>9806560c0ba93b404ac1be2aa3c9e281</update_guid>\n<update_guid_history>9806560c0ba93b404ac1be2aa3c9e281:387965107</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_ca36ddfbdb15f7409eb1d311ce961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:59:43</sys_created_on><sys_id>ca36ddfbdb15f7409eb1d311ce961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: properties</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sys_scope_privilege_ca36ddfbdb15f7409eb1d311ce961982</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:59:43</sys_updated_on><target_name>Glide API: properties</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1996019017</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>8e177cabdb8b3b409eb1d311ce961938</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc388b220000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>Glide API: properties</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>9236913fe015f740103ce9392a295a6e</update_guid>\n<update_guid_history>9236913fe015f740103ce9392a295a6e:1996019017</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_93941d7bdb15f7409eb1d311ce96196f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sp_widget display_value=\"Service Portal Asset Map\">4a7a40abdb5d77409eb1d311ce9619e6</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:52:41</sys_created_on><sys_id>93941d7bdb15f7409eb1d311ce96196f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Leaflet NG.Service Portal Asset Map</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_widget_dependency_93941d7bdb15f7409eb1d311ce96196f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:52:41</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-798900651</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>b5177cabdb8b3b409eb1d311ce961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc321c0c0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Leaflet NG.Service Portal Asset Map</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>db945d7be615f740cece9755c0204a50</update_guid>\n<update_guid_history>db945d7be615f740cece9755c0204a50:-798900651</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>db_image_cb9ce4ecdbe5bb409eb1d311ce961932</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>41</height><image>c6ac68ecdbe5bb409eb1d311ce9619b1</image><name>marker-shadow.png</name><size_bytes>618</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:28</sys_created_on><sys_id>cb9ce4ecdbe5bb409eb1d311ce961932</sys_id><sys_mod_count>2</sys_mod_count><sys_name>marker-shadow.png</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>db_image_cb9ce4ecdbe5bb409eb1d311ce961932</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 20:53:34</sys_updated_on><thumbnail/><width>41</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#0</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height>41</image_height><image_width>41</image_width><size_bytes>618</size_bytes><size_compressed>641</size_compressed><state>pending</state><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:34</sys_created_on><sys_id>c6ac68ecdbe5bb409eb1d311ce9619b1</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 20:53:34</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>cb9ce4ecdbe5bb409eb1d311ce961932</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"c6ac68ecdbe5bb409eb1d311ce9619b1\">c6ac68ecdbe5bb409eb1d311ce9619b1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:34</sys_created_on><sys_id>0aac68ecdbe5bb409eb1d311ce9619b1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AWoClf2JUE5HDQoaCgAAAA1JSERSAAAAKQAAACkIBAAAAAJpyH0AAAIxSURBVHgB7dKFjuNAEATQCjP9/38dMzOGDXOt0pSslt3H4p3acPxU251+wv9OH//93JA3ZMfp/fL8EakLfv2tX5L6qp60E7EiY1BcvwkICvZXiIxBccY0nF4J9leFJEFxAx++Q5ZR21/OUuAAQ2ZkNyajZNWa3w5IzZ5fEGncOMdIwW62pLtJuZ6bMGJH7GkoI1QhGR2SRjGECTIagG/JAUQkR5/BKaa8F8m4npoqopacCS8Zk5pldNSAWphQtY1IdRyRm5HUcgiKZQTG61HHDM4tE4gbi8qYIpC3friYiWFLLMB/Wb2UdkclmuUA4wzO1FGIqKan+ul0kNz0DCvLnFNkK17sUe25LzAmB5gat7HbzE1N3TzoOKTu9QyxxA5rzLgOga0IJKQAqU3CmA22mGOsLowgdSRHphbHGzpJznGqfbbaaYJEXMi3yUR0rH6KQK2D3WpLZanBV8F6UkKJAnC/OLF8j1zFlBaCJIl6UqfAESUpi0M5vYwVuGZSKBtF5AFXQKDj6oxdLFdLIZSfhRsXyX7up1IadMLRcsKZqEiBQcuEs6GlUK3DgLNhe8tBZBsk2bGgKw4oDFKAEmejvlq+iWRHDyIgAVyx1zTZ72LIJ3y0fCZ5JKgpOjAiC+xxIZlQ4Ds+4I3lvYFf2ZAztLTBiEw1TvjOCw8GPcdTvCC4B+fHGMVAYETqnA34aMwT3MdjvManzBXExKFhf01e8RYPcdvAl/iCI7gIUhDFdJwfX9Mz7TiSQGIAAAAASUVORK5CYILhjG1VagIAAA==</data><length>844</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"c6ac68ecdbe5bb409eb1d311ce9619b1\">c6ac68ecdbe5bb409eb1d311ce9619b1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 20:53:34</sys_created_on><sys_id>caac68ecdbe5bb409eb1d311ce9619b1</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>981720579</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>b517f8abdb8b3b409eb1d311ce9619b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac7924aa40000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>marker-shadow.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>46ac68eca3e5bb405887cd5907ae56bb</update_guid>\n<update_guid_history>46ac68eca3e5bb405887cd5907ae56bb:981720579,caac68ec0fe5bb40de26bfe42ac9e6b6:-929862140,caac68ec7ce5bb40ccd05e9a6de793b4:-929862140,bcac28ec89e5bb402ffddbe7a2fe0910:-690500356</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_e2c515fbdb15f7409eb1d311ce9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"awesome marker asset\">ed9591fbdb15f7409eb1d311ce961924</sp_dependency><sp_js_include display_value=\"awesome marker asset\">62a515fbdb15f7409eb1d311ce96190c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:57:49</sys_created_on><sys_id>e2c515fbdb15f7409eb1d311ce9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>awesome marker asset.awesome marker asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_js_include_e2c515fbdb15f7409eb1d311ce9619b9</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:57:49</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>940538017</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>b9177cabdb8b3b409eb1d311ce961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc36d06d0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>awesome marker asset.awesome marker asset</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>eac5d5fb7015f7409d0cde630d8c5d1b</update_guid>\n<update_guid_history>eac5d5fb7015f7409d0cde630d8c5d1b:940538017</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_d406560cdba93b409eb1d311ce961982</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"DELETE\"><order>100</order><sp_css_include display_value=\"Awesome Marker CSS\">f4f5560cdba93b409eb1d311ce96197b</sp_css_include><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 15:16:52</sys_created_on><sys_id>d406560cdba93b409eb1d311ce961982</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Awesome Marker CSS.Leaflet NG</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_css_include_d406560cdba93b409eb1d311ce961982</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 15:16:52</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>-1600205016</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>bd177cabdb8b3b409eb1d311ce961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac13899440000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Awesome Marker CSS.Leaflet NG</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>8f361e0c42a93b40c31a0f364570c26f</update_guid>\n<update_guid_history>8f361e0c42a93b40c31a0f364570c26f:-1600205016,1c06560c54a93b4031f384e0b9415983:1933488180</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_e84519bbdb15f7409eb1d311ce9619fb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>leaflet asset directive</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:56:23</sys_created_on><sys_id>e84519bbdb15f7409eb1d311ce9619fb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leaflet asset directive</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_ui_script display_value=\"x_snc_sp_asset_map.Leaflet  Directive As\">ab4559bbdb15f7409eb1d311ce9619d9</sys_ui_script><sys_update_name>sp_js_include_e84519bbdb15f7409eb1d311ce9619fb</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:56:23</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1139391220</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>c2177cabdb8b3b409eb1d311ce961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc357fe00000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>leaflet asset directive</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>2d751dbb9215f740d05f2cf630072348</update_guid>\n<update_guid_history>2d751dbb9215f740d05f2cf630072348:1139391220</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_0e36ddfbdb15f7409eb1d311ce96197c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">b216ddfbdb15f7409eb1d311ce9619f6</sp_column><sp_widget display_value=\"Service Portal Asset Map\">4a7a40abdb5d77409eb1d311ce9619e6</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:59:43</sys_created_on><sys_id>0e36ddfbdb15f7409eb1d311ce96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_instance_0e36ddfbdb15f7409eb1d311ce96197c</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:59:43</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=0e36ddfbdb15f7409eb1d311ce96197c\"/></record_update>]]></payload>\n<payload_hash>-591059620</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>c6177cabdb8b3b409eb1d311ce961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc388a140000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>4e36ddfbf815f74052326bd61869717e</update_guid>\n<update_guid_history>4e36ddfbf815f74052326bd61869717e:-591059620</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_31a51ec8dba93b409eb1d311ce9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_sp_asset_map.Awesome Marker&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n  Leaflet.AwesomeMarkers, a plugin that adds colorful iconic markers for Leaflet, based on the Font Awesome icons\n  (c) 2012-2013, Lennard Voogdt\n\n  http://leafletjs.com\n  https://github.com/lvoogdt\n*/\n\n/*global L*/\n\n(function (window, document, undefined) {\n    \"use strict\";\n    /*\n     * Leaflet.AwesomeMarkers assumes that you have already included the Leaflet library.\n     */\n    L.AwesomeMarkers = {};\n\n    L.AwesomeMarkers.version = '2.0.1';\n\n    L.AwesomeMarkers.Icon = L.Icon.extend({\n        options: {\n            iconSize: [35, 45],\n            iconAnchor:   [17, 42],\n            popupAnchor: [1, -32],\n            shadowAnchor: [10, 12],\n            shadowSize: [36, 16],\n            className: 'awesome-marker',\n            prefix: 'glyphicon',\n            spinClass: 'fa-spin',\n            extraClasses: '',\n            icon: 'home',\n            markerColor: 'blue',\n            iconColor: 'white'\n        },\n\n        initialize: function (options) {\n            options = L.Util.setOptions(this, options);\n        },\n\n        createIcon: function () {\n            var div = document.createElement('div'),\n                options = this.options;\n\n            if (options.icon) {\n                div.innerHTML = this._createInner();\n            }\n\n            if (options.bgPos) {\n                div.style.backgroundPosition =\n                    (-options.bgPos.x) + 'px ' + (-options.bgPos.y) + 'px';\n            }\n\n            this._setIconStyles(div, 'icon-' + options.markerColor);\n            return div;\n        },\n\n        _createInner: function() {\n            var iconClass, iconSpinClass = \"\", iconColorClass = \"\", iconColorStyle = \"\", options = this.options;\n\n            if(options.icon.slice(0,options.prefix.length+1) === options.prefix + \"-\") {\n                iconClass = options.icon;\n            } else {\n                iconClass = options.prefix + \"-\" + options.icon;\n            }\n\n            if(options.spin &amp;&amp; typeof options.spinClass === \"string\") {\n                iconSpinClass = options.spinClass;\n            }\n\n            if(options.iconColor) {\n                if(options.iconColor === 'white' || options.iconColor === 'black') {\n                    iconColorClass = \"icon-\" + options.iconColor;\n                } else {\n                    iconColorStyle = \"style='color: \" + options.iconColor + \"' \";\n                }\n            }\n\n            return \"&lt;i \" + iconColorStyle + \"class='\" + options.extraClasses + \" \" + options.prefix + \" \" + iconClass + \" \" + iconSpinClass + \" \" + iconColorClass + \"'&gt;&lt;/i&gt;\";\n        },\n\n        _setIconStyles: function (img, name) {\n            var options = this.options,\n                size = L.point(options[name === 'shadow' ? 'shadowSize' : 'iconSize']),\n                anchor;\n\n            if (name === 'shadow') {\n                anchor = L.point(options.shadowAnchor || options.iconAnchor);\n            } else {\n                anchor = L.point(options.iconAnchor);\n            }\n\n            if (!anchor &amp;&amp; size) {\n                anchor = size.divideBy(2, true);\n            }\n\n            img.className = 'awesome-marker-' + name + ' ' + options.className;\n\n            if (anchor) {\n                img.style.marginLeft = (-anchor.x) + 'px';\n                img.style.marginTop  = (-anchor.y) + 'px';\n            }\n\n            if (size) {\n                img.style.width  = size.x + 'px';\n                img.style.height = size.y + 'px';\n            }\n        },\n\n        createShadow: function () {\n            var div = document.createElement('div');\n\n            this._setIconStyles(div, 'shadow');\n            return div;\n      }\n    });\n        \n    L.AwesomeMarkers.icon = function (options) {\n        return new L.AwesomeMarkers.Icon(options);\n    };\n\n}(this, document));\n]]&gt;&lt;/script&gt;&lt;script_name&gt;Awesome Marker&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-16 15:15:39&lt;/sys_created_on&gt;&lt;sys_id&gt;31a51ec8dba93b409eb1d311ce9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_sp_asset_map.Awesome Marker&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Asset Map\"&gt;fd6a882bdb5d77409eb1d311ce961975&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_31a51ec8dba93b409eb1d311ce9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-16 15:15:39&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>980720269</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>c6177cabdb8b3b409eb1d311ce961939</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac1368e740000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>x_snc_sp_asset_map.Awesome Marker</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>9eb55ec80da93b409899b991bbab250e</update_guid>\n<update_guid_history>9eb55ec80da93b409899b991bbab250e:980720269</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_c175257fdb55f7409eb1d311ce9619c5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>awesome marker asset css</name><source>local</source><sp_css display_value=\"Awesome Market Style\">6985a57fdb55f7409eb1d311ce961957</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:06:46</sys_created_on><sys_id>c175257fdb55f7409eb1d311ce9619c5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>awesome marker asset css</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_css_include_c175257fdb55f7409eb1d311ce9619c5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:06:46</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<payload_hash>914414739</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>ca177cabdb8b3b409eb1d311ce961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc75f00b0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>awesome marker asset css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_guid>6c95657fcf55f740a6c05ee81eb624dd</update_guid>\n<update_guid_history>6c95657fcf55f740a6c05ee81eb624dd:914414739</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_c62da3d0dbe1bb409eb1d311ce96191d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-17 16:16:07</sys_created_on><sys_id>c62da3d0dbe1bb409eb1d311ce96191d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>alm_asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sys_scope_privilege_c62da3d0dbe1bb409eb1d311ce96191d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-17 16:16:07</sys_updated_on><target_name>alm_asset</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1586593057</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>ca177cabdb8b3b409eb1d311ce961938</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac69447760000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>alm_asset</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>0a2da3d05be1bb40733dc03f46bfc51e</update_guid>\n<update_guid_history>0a2da3d05be1bb40733dc03f46bfc51e:-1586593057</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_fd6a882bdb5d77409eb1d311ce961975</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>none</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Asset Map</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_snc_sp_asset_map</scope><scoped_administration>false</scoped_administration><short_description/><source>x_snc_sp_asset_map</source><store_correlation_id/><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-14 15:49:59</sys_created_on><sys_id>fd6a882bdb5d77409eb1d311ce961975</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-14 15:49:59</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n<payload_hash>1692039563</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:07</sys_created_on>\n<sys_id>ce177cabdb8b3b409eb1d311ce961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ab70948490000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:07</sys_updated_on>\n<table/>\n<target_name>SP Asset Map</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>426a00ab4c5d77409dc5102a01b26078</update_guid>\n<update_guid_history>426a00ab4c5d77409dc5102a01b26078:1692039563</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_49a591fbdb15f7409eb1d311ce96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"DELETE\"><sp_dependency display_value=\"awesome marker asset\">ed9591fbdb15f7409eb1d311ce961924</sp_dependency><sp_widget display_value=\"Service Portal Asset Map\">4a7a40abdb5d77409eb1d311ce9619e6</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:57:11</sys_created_on><sys_id>49a591fbdb15f7409eb1d311ce96192a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>awesome marker asset.Service Portal Asset Map</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_widget_dependency_49a591fbdb15f7409eb1d311ce96192a</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:57:11</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>1688750409</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>f1177cabdb8b3b409eb1d311ce961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2bf8ed50000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>awesome marker asset.Service Portal Asset Map</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>5af733cc50617b407172f5393094f560</update_guid>\n<update_guid_history>5af733cc50617b407172f5393094f560:1688750409,8da591fbc715f740f41ba26c086d8d2b:1350617813</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>db_image_88983fccdb617b409eb1d311ce9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>46</height><image>2a98bfccdb617b409eb1d311ce961993</image><name>markers-plain.png</name><size_bytes>6281</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:35</sys_created_on><sys_id>88983fccdb617b409eb1d311ce9619a2</sys_id><sys_mod_count>2</sys_mod_count><sys_name>markers-plain.png</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>db_image_88983fccdb617b409eb1d311ce9619a2</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 22:27:39</sys_updated_on><thumbnail/><width>360</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#0</average_image_color><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height>46</image_height><image_width>360</image_width><size_bytes>6281</size_bytes><size_compressed>6204</size_compressed><state>pending</state><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:39</sys_created_on><sys_id>2a98bfccdb617b409eb1d311ce961993</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-16 22:27:39</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>88983fccdb617b409eb1d311ce9619a2</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"2a98bfccdb617b409eb1d311ce961993\">2a98bfccdb617b409eb1d311ce961993</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:39</sys_created_on><sys_id>6a98bfccdb617b409eb1d311ce961993</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>8260</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"2a98bfccdb617b409eb1d311ce961993\">2a98bfccdb617b409eb1d311ce961993</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-16 22:27:39</sys_created_on><sys_id>2e98bfccdb617b409eb1d311ce961993</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>203832243</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>f117f8abdb8b3b409eb1d311ce9619b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2c212510000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>markers-plain.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>e698ffccf1617b40f19f66bea6ce8bbb</update_guid>\n<update_guid_history>e698ffccf1617b40f19f66bea6ce8bbb:203832243,6e98ffcc3f617b401d540229957a68b6:422466859,2e98bfccb5617b40261dbb1fa3774696:422466859,e9983fcc4b617b40c4f5a31f21bb77a6:-2123287434</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a277f38cdb617b409eb1d311ce961984</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sp_js_include display_value=\"awesome marker asset\">62a515fbdb15f7409eb1d311ce96190c</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>lil.dicky</sys_created_by><sys_created_on>2019-05-16 22:22:44</sys_created_on><sys_id>a277f38cdb617b409eb1d311ce961984</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Leaflet NG.awesome marker asset</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a277f38cdb617b409eb1d311ce961984</sys_update_name><sys_updated_by>lil.dicky</sys_updated_by><sys_updated_on>2019-05-16 22:23:20</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>543061056</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>f5177cabdb8b3b409eb1d311ce961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16ac2be1ccb0000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Leaflet NG.awesome marker asset</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>9b97378c15617b40f651c2b449dec51a</update_guid>\n<update_guid_history>9b97378c15617b40f651c2b449dec51a:543061056,bc87f38c53617b407d469cb377316c9c:444374367,2e77f38c5b617b404d0583040a62df85:641747745</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_bb25693fdb55f7409eb1d311ce9619fb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"leaflet style asset\">ad15e93fdb55f7409eb1d311ce96194b</sp_css_include><sp_dependency display_value=\"Leaflet NG\">1884d97bdb15f7409eb1d311ce96194b</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 17:05:05</sys_created_on><sys_id>bb25693fdb55f7409eb1d311ce9619fb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leaflet style asset.Leaflet NG</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>m2m_sp_dependency_css_include_bb25693fdb55f7409eb1d311ce9619fb</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 17:05:05</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<payload_hash>189739096</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>f9177cabdb8b3b409eb1d311ce961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc7466060000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>leaflet style asset.Leaflet NG</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>f325693fdf55f740671048d6c1c125fd</update_guid>\n<update_guid_history>f325693fdf55f740671048d6c1c125fd:189739096</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_9516d9fbdb15f7409eb1d311ce961974</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Asset Map - Container 1</name><order>1</order><sp_page display_value=\"asset_map\">9916d9fbdb15f7409eb1d311ce961971</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2019-05-15 15:59:07</sys_created_on><sys_id>9516d9fbdb15f7409eb1d311ce961974</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Asset Map - Container 1</sys_name><sys_package display_value=\"SP Asset Map\" source=\"x_snc_sp_asset_map\">fd6a882bdb5d77409eb1d311ce961975</sys_package><sys_policy/><sys_scope display_value=\"SP Asset Map\">fd6a882bdb5d77409eb1d311ce961975</sys_scope><sys_update_name>sp_container_9516d9fbdb15f7409eb1d311ce961974</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2019-05-15 15:59:07</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>-2043175784</payload_hash>\n<remote_update_set display_value=\"pe-case-and-asset-map\">f517f8abdb8b3b409eb1d311ce9619af</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2019-08-09 18:55:06</sys_created_on>\n<sys_id>fd177cabdb8b3b409eb1d311ce961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16abc37fe240000001</sys_recorded_at>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2019-08-09 18:55:06</sys_updated_on>\n<table/>\n<target_name>Asset Map - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>d916d9fbb215f7405a0b43757a602175</update_guid>\n<update_guid_history>d916d9fbb215f7405a0b43757a602175:-2043175784</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-case-and-asset-map/widget/pe-case-and-asset-map.u-body-html-template.html",
    "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"display:none;\">\n  <symbol id=\"icon-flippy\" width=\"20\" height=\"12\" viewBox=\"0 0 20 12\">\n    <g\n      fill=\"none\"\n      fill-rule=\"evenodd\"\n      stroke-linecap=\"round\"\n      stroke-linejoin=\"round\"\n      stroke-width=\"2\"\n    >\n      <path d=\"M1 1h18M1 6h18M1 11h18\" />\n    </g>\n  </symbol>\n</svg>\n<div class=\"row near-by\">\n  <flippy class=\"fancy\" flip-duration=\"900\" timing-function=\"ease-in-out\">\n    <flippy-front id=\"ff\">\n      <leaflet\n        lf-center=\"c.centerLocation\"\n        markers=\"c.markers\"\n        tiles=\"c.tile\"\n        defaults=\"defaults\"\n      ></leaflet>\n    </flippy-front>\n    <flippy-back>\n      <div class=\"back-part\">\n        <div class=\"each-marker\" ng-repeat=\"eachmarker in c.list\" ng-if=\"eachmarker.name.length>0\">\n          <a\n            href=\"https://jhermann5demo.service-now.com/csm?id=csm_ticket&table=sn_customerservice_case&sys_id={{\n              eachmarker.sysId\n            }}&view=csp\"\n            ng-if=\"eachmarker.types == 'Case'\"\n          >\n            <h3>{{ eachmarker.name }}</h3></a\n          >\n          <h3 ng-if=\"eachmarker.types == 'Asset'\">{{ eachmarker.name }}</h3>\n\n          <a\n            target=\"_blank\"\n            href=\"https://www.google.com/maps/dir/?api=1&destination={{ eachmarker.lat }},{{\n              eachmarker.lng\n            }}\"\n            ><h4>{{ eachmarker.address }}</h4>\n            Start Driving</a\n          >\n        </div>\n      </div>\n    </flippy-back>\n  </flippy>\n  <div class=\"type-icons\">\n    <span class=\"each-type exp\" ng-click=\"c.filterMarkers('Asset')\" name=\"Show ATMs\">\n      <i class=\"fa fa-desktop\" aria-hidden=\"true\"></i>\n    </span>\n    <span class=\"each-type exp\" ng-click=\"c.filterMarkers('Case')\">\n      <i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"></i>\n    </span>\n    <span class=\"each-type exp fa-stack fa-2x\" ng-click=\"c.filterMarkers('Case and Asset')\">\n      <i class=\"fa fa-desktop fa-stack-2x\" aria-hidden=\"true\"></i>\n      <i class=\"fa fa-exclamation fa-stack-1x\" aria-hidden=\"true\"></i>\n    </span>\n    <span class=\"each-type exp\" ng-click=\"c.flipIt()\" ng-if=\"!c.map\">\n      <i class=\"fa fa-car\" aria-hidden=\"true\"></i>\n    </span>\n    <span class=\"each-type exp\" ng-click=\"c.flipIt()\" ng-if=\"c.map\">\n      <i class=\"fa fa-globe\" aria-hidden=\"true\"></i>\n    </span>\n  </div>\n  <div class=\"spinny\" ng-show=\"c.loading\">\n    <div class=\"sk-spinner sk-spinner-pulse\"></div>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-case-and-asset-map/widget/pe-case-and-asset-map.u-client-script.js",
    "content": "function MapPageController(\n  $scope,\n  $rootScope,\n  $window,\n  $location,\n  $anchorScroll,\n  $timeout,\n  leafletData,\n  $q\n) {\n  var c = this;\n  $scope.firstFlip = true;\n  $location.hash('ff');\n\n  c.awesomeMarkerIconCurrentLocation = {\n    type: 'awesomeMarker',\n    icon: 'user',\n    markerColor: 'green',\n    prefix: 'fa',\n    iconColor: '#fff'\n  };\n  c.awesomeMarkerIconComputer = {\n    type: 'awesomeMarker',\n    icon: 'desktop',\n    markerColor: 'blue',\n    prefix: 'fa',\n    iconColor: '#fff'\n  };\n  c.awesomeMarkerIconConsumable = {\n    type: 'awesomeMarker',\n    icon: 'keyboard',\n    markerColor: 'blue',\n    prefix: 'fa',\n    iconColor: '#fff'\n  };\n  c.awesomeMarkerIconCase = {\n    type: 'awesomeMarker',\n    icon: 'exclamation-circle',\n    markerColor: 'blue',\n    prefix: 'fa',\n    iconColor: '#fff'\n  };\n\n  //Center of the USA\n  c.centerLocation = {\n    lat: 37.3382,\n    lng: 121.8863,\n    zoom: 3,\n    icon: c.awesomeMarkerIconCurrentLocation\n  };\n  c.startLocation = {\n    lat: 37.3382,\n    lng: 121.8863,\n    zoom: 3,\n    icon: c.awesomeMarkerIconCurrentLocation\n  };\n  function getDeviceLocation() {\n    var defer = $q.defer();\n\n    if (navigator.geolocation && c.liveApp) {\n      navigator.geolocation.getCurrentPosition(function(location) {\n        c.centerLocation.lat = location.coords.latitude;\n        c.centerLocation.lng = location.coords.longitude;\n        c.startLocation.lat = location.coords.latitude;\n        c.startLocation.lng = location.coords.longitude;\n        if (location.coords.accuracy > 14) {\n          c.centerLocation.zoom = Math.round(location.coords.accuracy * 0.25);\n          c.startLocation.zoom = Math.round(location.coords.accuracy * 0.25);\n        }\n        defer.resolve();\n      });\n    } else {\n      //Default to New York\n      c.centerLocation = {\n        lat: 37.3382,\n        lng: -121.8863,\n        zoom: 9,\n        icon: c.awesomeMarkerIconCurrentLocation\n      };\n      angular.copy(c.centerLocation, c.startLocation);\n      defer.resolve();\n    }\n    return defer.promise;\n  }\n\n  c.mapbox = {\n    mapbox_layer: {\n      name: 'Mapbox',\n\n      url:\n        'https://api.mapbox.com/styles/v1/mapbox/streets-v10/tiles/256/{z}/{x}/{y}?access_token={apikey}',\n      type: 'xyz',\n      options: {\n        apikey: c.data.apiKey,\n        mapid: 'testing'\n      }\n    }\n  };\n\n  c.$onInit = function() {\n    $rootScope.$broadcast('refreshFooterUrl');\n\n    c.loading = true;\n    c.liveApp = false;\n    c.masterMarkers = [];\n    c.markers = [];\n    c.masterList = [];\n    c.list = [];\n    c.searchObject = $location.search();\n\n    c.tile = c.mapbox.mapbox_layer;\n    getDeviceLocation().then(function() {\n      $timeout(function() {\n        demoMarkers();\n        c.loading = false;\n      }, 3000);\n    });\n  };\n\n  $scope.$watch('c.loading', function(value) {\n    if (value === false) {\n      leafletData.getMap().then(function(map) {\n        $timeout(function() {\n          map.invalidateSize();\n        }, 300);\n      });\n    }\n  });\n\n  function demoMarkers() {\n    var list = [];\n    for (var j = 0; j < c.data.list.length; j++) {\n      list[j] = {\n        name: c.data.list[j].name,\n        address:\n          c.data.list[j].street +\n          ' ' +\n          c.data.list[j].city +\n          ', ' +\n          c.data.list[j].state +\n          ' ' +\n          c.data.list[j].zip,\n        types: c.data.list[j].types,\n        lat: c.data.list[j].lat,\n        lng: c.data.list[j].lng,\n        sysId: c.data.list[j].sysId,\n        location: c.data.list[j].location\n      };\n    }\n    var markers = [];\n    for (var i = 0; i < c.data.sites.length; i++) {\n      markers[i] = {\n        name: '',\n        icon: c.awesomeMarkerIconBank,\n        message: '',\n        image: '',\n        lat: parseFloat(c.data.sites[i].lat),\n        lng: parseFloat(c.data.sites[i].lng),\n        getMessageScope: function() {\n          return $scope;\n        }\n      };\n\n      var msg = [];\n      msg.push('<div class=\"flex-it\">');\n      if (c.data.sites[i].types.indexOf('Case') > -1) {\n        if (c.data.sites[i].caseCount == 1) {\n          markers[i].name = c.data.sites[i].caseCount + ' Case';\n        } else {\n          markers[i].name = c.data.sites[i].caseCount + ' Cases';\n        }\n\n        markers[i].icon = c.awesomeMarkerIconCase;\n        markers[i].type = 'Case';\n        markers[i].address =\n          c.data.sites[i].street +\n          ' ' +\n          c.data.sites[i].city +\n          ', ' +\n          c.data.sites[i].state +\n          ' ' +\n          c.data.sites[i].zip;\n\n        msg.push(\n          '<div><div class=\"info-title\"> # of Cases: ' + c.data.sites[i].caseCount + '</div>'\n        );\n        msg.push(\n          '<div><div class=\"info-title\"> # of my Assets: ' + c.data.sites[i].assetCount + '</div>'\n        );\n        msg.push('<div class=\"info\">' + c.data.sites[i].street + '</div>');\n        msg.push(\n          '<div class=\"info\">' +\n            c.data.sites[i].city +\n            ', ' +\n            c.data.sites[i].state +\n            ' ' +\n            c.data.sites[i].zip +\n            '</div>'\n        );\n        msg.push(\n          '<div class=\\'redirect\\' ng-click=\\'c.flipFilter(' +\n            '\"' +\n            c.data.sites[i].location +\n            '\"' +\n            ',' +\n            '\"' +\n            markers[i].type +\n            '\"' +\n            ')\\'> See the list of Cases</div>'\n        );\n        msg.push(\n          '<div class=\\'redirect\\' ng-click=\\'c.flipFilter(' +\n            '\"' +\n            c.data.sites[i].location +\n            '\"' +\n            ', \"Asset\"' +\n            ')\\'> See the list of Assets</div>'\n        );\n      } else if (c.data.sites[i].types.indexOf('Asset') > -1) {\n        markers[i].icon = c.awesomeMarkerIconComputer;\n        markers[i].name = c.data.sites[i].asset;\n        markers[i].type = 'Asset';\n        markers[i].address =\n          c.data.sites[i].street +\n          ' ' +\n          c.data.sites[i].city +\n          ', ' +\n          c.data.sites[i].state +\n          ' ' +\n          c.data.sites[i].zip;\n        msg.push(\n          '<div><div class=\"info-title\"> # of my Assets: ' + c.data.sites[i].assetCount + '</div>'\n        );\n        msg.push('<div class=\"info\">' + c.data.sites[i].street + '</div>');\n        msg.push(\n          '<div class=\"info\">' +\n            c.data.sites[i].city +\n            ', ' +\n            c.data.sites[i].state +\n            ' ' +\n            c.data.sites[i].zip +\n            '</div>'\n        );\n        msg.push(\n          '<div class=\\'redirect\\' ng-click=\\'c.flipFilter(' +\n            '\"' +\n            c.data.sites[i].location +\n            '\"' +\n            ',' +\n            '\"' +\n            markers[i].type +\n            '\"' +\n            ')\\'> See the list of Assets</div>'\n        );\n      }\n      msg.push('</div>');\n      markers[i].message = msg.join('');\n    }\n\n    markers[c.data.sites.length] = {\n      name: '',\n      icon: c.startLocation.icon,\n      message: 'You are Here!',\n      image: '',\n      lat: c.startLocation.lat,\n      lng: c.startLocation.lng\n    };\n    angular.copy(markers, c.markers);\n    angular.copy(list, c.list);\n    angular.copy(c.markers, c.masterMarkers);\n    angular.copy(c.list, c.masterList);\n  }\n\n  function insertMarkers(markers) {\n    for (var i = 0; i < markers.length; i++) {\n      markers[i].message = '<div class=\"flex-it\">';\n      if (markers[i].type == 'ATM') {\n        markers[i].icon = c.awesomeMarkerIconComputer;\n        markers[i].message = markers[i].message;\n      } else if (markers[i].type == 'Bank') {\n        markers[i].name = markers[i].name + ' - Branch';\n        markers[i].icon = c.awesomeMarkerIconBank;\n        markers[i].message = markers[i].message;\n      } else {\n        markers[i].name = '';\n        markers[i].message = markers[i].message + 'You are Here!';\n        markers[i].image = '';\n      }\n      markers[i].message =\n        markers[i].message + '<div><div class=\"info-title\">' + markers[i].name + '</div>';\n      markers[i].message = markers[i].message + '<div class=\"info\">M-F: 9AM - 5PM</div>';\n      markers[i].message = markers[i].message + '<div class=\"info\">SAT: 9AM - 3PM</div>';\n      markers[i].message = markers[i].message + '</div></div>';\n    }\n    return markers;\n  }\n\n  c.filterMarkers = function(type) {\n    var tempArray = [];\n    var listArray = [];\n    if (type == 'Case and Asset') {\n      for (var j = 0; j < c.masterMarkers.length; j++) {\n        tempArray.push(c.masterMarkers[j]);\n      }\n      for (var k = 0; k < c.masterList.length; k++) {\n        listArray.push(c.masterList[k]);\n      }\n    } else {\n      for (var i = 0; i < c.masterMarkers.length; i++) {\n        if (c.masterMarkers[i].type && c.masterMarkers[i].type.indexOf(type) > -1) {\n          tempArray.push(c.masterMarkers[i]);\n        }\n      }\n      for (var x = 0; x < c.masterList.length; x++) {\n        if (c.masterList[x].types == type) {\n          listArray.push(c.masterList[x]);\n        }\n      }\n    }\n    c.markers = tempArray;\n    c.list = listArray;\n    c.list.splice(0, 0, c.startLocation);\n    c.markers.splice(0, 0, c.startLocation);\n  };\n\n  c.flipIt = function() {\n    // Need to force the moving of the page to the top\n    // because of scrolling on the back-part page\n    $anchorScroll();\n    $scope.flip();\n    c.map = !c.map;\n  };\n  c.flipFilter = function(location, type) {\n    // Need to force the moving of the page to the top\n    // because of scrolling on the back-part page\n    var listArray = [];\n    for (var i = 0; i < c.masterList.length; i++) {\n      if (c.masterList[i].location == location && c.masterList[i].types == type) {\n        listArray.push(c.masterList[i]);\n      }\n    }\n    c.list = listArray;\n    $anchorScroll();\n    $scope.flip();\n    c.map = !c.map;\n  };\n  $scope.$on('leafletDirectiveMarker.click', function(e, args) {\n    var marker = args.leafletObject.getLatLng();\n    c.centerLocation.lat = marker.lat + 0.002;\n    c.centerLocation.lng = marker.lng;\n  });\n}\n"
  },
  {
    "path": "src/pe-case-and-asset-map/widget/pe-case-and-asset-map.u-css.scss",
    "content": "#mapid {\n    height: 100vh;\n    width: 100vw;\n  }\n  .fa-stack-1x {\n    color: red;\n  }\n  .fa-exclamation-circle{\n    color: red;\n  }\n  .sk-spinner-pulse {\n    width: 60px;\n    height: 60px;\n    margin: 60px auto;\n    background-color: $bam-darkblue;\n    border-radius: 100%;\n    -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out;\n    animation: sk-pulseScaleOut 1s infinite ease-in-out;\n  }\n  \n  @-webkit-keyframes sk-pulseScaleOut {\n    0% {\n      -webkit-transform: scale(0);\n      transform: scale(0);\n    }\n    100% {\n      -webkit-transform: scale(1);\n      transform: scale(1);\n      opacity: 0;\n    }\n  }\n  \n  @keyframes sk-pulseScaleOut {\n    0% {\n      -webkit-transform: scale(0);\n      transform: scale(0);\n    }\n    100% {\n      -webkit-transform: scale(1);\n      transform: scale(1);\n      opacity: 0;\n    }\n  }\n  \n  .flex-it {\n    display: flex;\n    //align-items: center;\n    .image {\n      width: 80px;\n      height: 80px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background-position: center;\n      background-size: cover;\n      position: relative;\n      margin-right: 5px;\n    }\n    .info-title{\n      color: $bam-blue;\n      font-weight: 500;\n      display: block;\n    }\n    .info{\n      color: $bam-blue;\n      font-weight: 400;\n      display: block;\n    }\n  }\n  .redirect{\n      color: #0645AD;\n      font-weight: 400;\n      display: block;\n   }\n  .type-icons {\n    position: fixed;\n    right: 40px;\n    top: 100px;\n    z-index: 1200;\n    .each-type {\n      margin: 0px;\n      margin-top: 20px;\n    }\n    .exp {\n      width: 34px;\n      height: 34px;\n      background-color: white;\n      border-radius: 100%;\n      box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.54);\n      border: 0;\n      line-height: 80px;\n      text-align: center;\n      vertical-align: middle;\n      display: flex;\n      align-items: center;\n      color: $bam-white;\n      justify-content: center;\n      .fa {\n        color: $bam-blue;\n        font-size: 16px;\n      }\n    }\n  }\n  .map-icon {\n    fill: $bam-white;\n    stroke: $bam-blue;\n    object-fit: contain;\n    height: 20px;\n    width: 20px;\n  }\n  .near-by {\n    min-height: 100vh;\n    background: $brand-secondary;\n    margin-top: -10px;\n  }\n  \n  .angular-leaflet-map {\n    margin-top: 20px;\n    height: 85vh;\n    width: 96vw;\n    .leaflet-popup-content p {\n      margin: 5px 0px !important;\n    }\n  }\n  \n  .loading {\n    color: $brand-primary;\n    .loading-span {\n      padding-left: 10px;\n    }\n  }\n  \n  .spinny {\n    position: absolute;\n    top: 50px;\n    margin-left: auto;\n    margin-right: auto;\n    left: 0;\n    right: 0;\n    z-index: 12000;\n  }\n  \n  .back-part {\n    width: 100vw;\n    height: 100vh;\n    background: $bam-white;\n    color: $bam-dark-gray;\n    .each-marker {\n      background: $bam-white;\n      padding: 10px;\n      border-bottom: 1px solid #ddd;\n      h3 {\n        font-size: 20px;\n        font-weight: 400;\n      }\n      h4 {\n        font-size: 18px;\n        font-weight: 300;\n        margin-top: -4px;\n      }\n      a {\n        font-size: 14px;\n        color: %bam-blue;\n      }\n    }\n  }\n  \n  /*******************leaflet overrides**********************/\n  .leaflet-bar {\n    border: 0px solid transparent;\n    margin-left: 14px;\n  }\n  .leaflet-bar a,\n  .leaflet-bar a:hover {\n    background-color: $bam-white;\n    width: 26px;\n    height: 26px;\n    line-height: 26px;\n    display: block;\n    text-align: center;\n    text-decoration: none;\n    color: $bam-black;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.54);\n    border: 0;\n    z-index: 810;\n  }\n  .leaflet-bar a,\n  .leaflet-control-layers-toggle {\n    background-position: 50% 50%;\n    background-repeat: no-repeat;\n    display: block;\n  }\n  .leaflet-bar a:hover {\n    background-color: #f4f4f4;\n  }\n  .leaflet-bar a:first-child {\n    border-top-left-radius: 4px;\n    border-top-right-radius: 4px;\n  }\n  .leaflet-bar a:last-child {\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    \n  }\n  .leaflet-bar a.leaflet-disabled {\n    cursor: default;\n    background-color: #f4f4f4;\n    color: #bbb;\n  }\n  \n  .leaflet-touch .leaflet-bar a {\n    border-radius: 50%;\n    background-color: $bam-white;\n    color: $bam-blue;\n    margin-top: 10px;\n    margin-bottom: 10px;\n    width: 34px;\n    height: 34px;\n  }\n  \n  \n  /* zoom control */\n  \n  .leaflet-control-zoom-in,\n  .leaflet-control-zoom-out {\n    font-family : 'SFUIDisplay','SourceSansPro', Helvetica, Arial, sans-serif !important;\n    font-size: 34px;\n    font-weight: 200;\n    text-indent: 0px;\n    padding-top: 1px;\n  }\n  .leaflet-control-zoom-out {\n    font-size: 36px;\n    padding-top: 2px;\n  }\n  \n  .leaflet-touch .leaflet-control-zoom-in {\n    font-size: 34px;\n  }\n  .leaflet-touch .leaflet-control-zoom-out {\n    font-size: 36px;\n    padding-top: 2px;\n  }\n  \n  \n  \n  /*******************flippy animations**********************/\n  \n  flippy {\n    float: left;\n    -webkit-perspective: 600px;\n    -moz-perspective: 600px;\n    -ms-perspective: 600px;\n    perspective: 600px;\n  }\n  \n  flippy-front {\n    position: absolute;\n    z-index: 900;\n    width: inherit;\n    height: inherit;\n    -webkit-transform: rotate3d(0, 0, 0, 0deg);\n    -moz-transform: rotate3d(0, 0, 0, 0deg);\n    -ms-transform: rotate3d(0, 0, 0, 0deg);\n    transform: rotate3d(0, 0, 0, 0deg);\n    -webkit-transform-style: preserve-3d;\n    -moz-transform-style: preserve-3d;\n    -ms-transform-style: preserve-3d;\n    transform-style: preserve-3d;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    -ms-backface-visibility: hidden;\n    backface-visibility: hidden;\n  }\n  \n  flippy-back {\n    position: absolute;\n    z-index: 800;\n    width: inherit;\n    height: inherit;\n    -webkit-transform: rotate3d(0, 1, 0, -180deg);\n    -moz-transform: rotate3d(0, 1, 0, -180deg);\n    -ms-transform: rotate3d(0, 1, 0, -180deg);\n    transform: rotate3d(0, 1, 0, -180deg);\n    -webkit-transform-style: preserve-3d;\n    -moz-transform-style: preserve-3d;\n    -ms-transform-style: preserve-3d;\n    transform-style: preserve-3d;\n    -webkit-backface-visibility: hidden;\n    -moz-backface-visibility: hidden;\n    -ms-backface-visibility: hidden;\n    backface-visibility: hidden;\n  }\n  \n  flippy.flipped flippy-front {\n    z-index: 900;\n    -webkit-transform: rotate3d(0, 1, 0, 180deg);\n    -moz-transform: rotate3d(0, 1, 0, 180deg);\n    -ms-transform: rotate3d(0, 1, 0, 180deg);\n    transform: rotate3d(0, 1, 0, 180deg);\n    visibility: hidden;\n  }\n  \n  flippy.flipped flippy-back {\n    z-index: 1000;\n    -webkit-transform: rotate3d(0, 0, 0, 0deg);\n    -moz-transform: rotate3d(0, 0, 0, 0deg);\n    -ms-transform: rotate3d(0, 0, 0, 0deg);\n    transform: rotate3d(0, 0, 0, 0deg);\n  }\n  \n  flippy.fancy {\n    float: left;\n    margin: 0 10px 10px 0;\n    position: relative;\n    font-size: .8em;\n    cursor: pointer;\n  }\n  \n  flippy.fancy img {\n    height: 100%;\n    width: ;\n  }\n  \n  flippy.fancy flippy-front {\n    float: none;\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: 900;\n    width: inherit;\n    height: inherit;\n  }\n  \n  flippy.fancy flippy-front.flipped {\n    border-color: $bam-box-shadow;\n    box-shadow: 0 15px 50px $bam-box-shadow;\n  }\n  \n  flippy.fancy flippy-back {\n    float: none;\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: 1800;\n    width: inherit;\n    height: inherit;\n  }\n  \n  flippy.fancy flippy-back.flipped {\n  }"
  },
  {
    "path": "src/pe-case-and-asset-map/widget/pe-case-and-asset-map.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"mapbox_apikey\",\n    \"default_value\": \"pk.eyJ1Ijoic3VzaC1jaGFuZHJhc2hla2FyIiwiYSI6ImNqMnFwcnplZTAwMDEycWt6cm1yNDF0bzEifQ.krI_R9WCDI_GBKrfY6bf1g\",\n    \"section\": \"other\",\n    \"label\": \"Mapbox ApiKey\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-case-and-asset-map/widget/pe-case-and-asset-map.u-server-script.js",
    "content": "(function() {\n  data.apiKey = options.mapbox_apikey;\n  var currentUser = gs.getUserID();\n\n  var userAccount = '';\n  var user = new GlideRecord('customer_contact');\n  user.addQuery('sys_id', currentUser);\n  user.query();\n  if (user.next()) {\n    userAccount = user.account;\n  }\n  data.sites = [];\n  var locations = [];\n  data.list = [];\n  var grSites = new GlideRecord('sn_customerservice_case');\n  latLonQuery = 'asset.locationISNOTEMPTY^assetISNOTEMPTY^contact=' + currentUser; //'locationISNOTEMPTY^location.latitudeISNOTEMPTY^location.longitudeISNOTEMPTY';\n  grSites.addEncodedQuery(latLonQuery);\n  grSites.query();\n  while (grSites.next()) {\n    var locationExists = locations.indexOf(grSites.asset.location.getDisplayValue());\n    data.list.push({\n      sysId: grSites.sys_id.getDisplayValue(),\n      name: grSites.getDisplayValue(),\n      location: grSites.asset.location.getDisplayValue(),\n      street: grSites.asset.location.street.getDisplayValue(),\n      city: grSites.asset.location.city.getDisplayValue(),\n      state: grSites.asset.location.state.getDisplayValue(),\n      zip: grSites.asset.location.zip.getDisplayValue(),\n      lat: grSites.asset.location.latitude.getDisplayValue(),\n      lng: grSites.asset.location.longitude.getDisplayValue(),\n      types: 'Case'\n    });\n    if (locationExists == -1) {\n      locations.push(grSites.asset.location.getDisplayValue());\n      data.sites.push({\n        asset: grSites.asset.getDisplayValue(),\n        location: grSites.asset.location.getDisplayValue(),\n        sys_id: grSites.asset.location.sys_id,\n        street: grSites.asset.location.street.getDisplayValue(),\n        city: grSites.asset.location.city.getDisplayValue(),\n        state: grSites.asset.location.state.getDisplayValue(),\n        zip: grSites.asset.location.zip.getDisplayValue(),\n        phone: grSites.asset.location.phone.getDisplayValue(),\n        lat: grSites.asset.location.latitude.getDisplayValue(),\n        lng: grSites.asset.location.longitude.getDisplayValue(),\n        types: 'Case',\n        caseCount: 1,\n        assetCount: 0\n      });\n    } else {\n      data.sites[locationExists].caseCount++;\n    }\n  }\n\n  var grAssets = new GlideRecord('alm_asset');\n  latLonQuery = 'locationISNOTEMPTY^account=' + userAccount;\n  grAssets.addEncodedQuery(latLonQuery);\n  grAssets.query();\n  while (grAssets.next()) {\n    data.list.push({\n      name: grAssets.getDisplayValue(),\n      location: grAssets.location.getDisplayValue(),\n      street: grAssets.location.street.getDisplayValue(),\n      city: grAssets.location.city.getDisplayValue(),\n      state: grAssets.location.state.getDisplayValue(),\n      zip: grAssets.location.zip.getDisplayValue(),\n      lat: grAssets.location.latitude.getDisplayValue(),\n      lng: grAssets.location.longitude.getDisplayValue(),\n      types: 'Asset'\n    });\n    var assetLocationExists = locations.indexOf(grAssets.location.getDisplayValue());\n    if (assetLocationExists == -1) {\n      locations.push(grSites.asset.location.getDisplayValue());\n      data.sites.push({\n        asset: grAssets.getDisplayValue(),\n        sys_id: grAssets.location.sys_id,\n        location: grAssets.location.getDisplayValue(),\n        street: grAssets.location.street.getDisplayValue(),\n        city: grAssets.location.city.getDisplayValue(),\n        state: grAssets.location.state.getDisplayValue(),\n        zip: grAssets.location.zip.getDisplayValue(),\n        phone: grAssets.location.phone.getDisplayValue(),\n        lat: grAssets.location.latitude.getDisplayValue(),\n        lng: grAssets.location.longitude.getDisplayValue(),\n        types: 'Asset',\n        assetCount: 1\n      });\n    } else {\n      data.sites[assetLocationExists].assetCount++;\n    }\n  }\n})();\n"
  },
  {
    "path": "src/pe-cases-card/README.md",
    "content": "# Cases Card\n\n## Description\n\nA modern card widget that allows authorized users to visualize the details of active cases.\n\n## Screenshot\n\n![Cases Card](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-cases-card/images/pe-cases-card.png)\n\n## Additional Information/Notes\n\nPlease install the Customer Service plugin before uploading the Update Set.\n\n## Installation\n\nDownload and install update set **[pe-cases-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-cases-card/pe-cases-card.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Table` | This is for changing the table that the default user is pulled from. | sn_customerservice_case |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-cases-card/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Card\",\n  \"common-name\": \"Cases Card\",\n  \"compatibility\": [\"London\", \"Madrid\", \"New York\"],\n  \"contributors\": [\"Claudia Cruz\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-cases-card\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A modern card widget that allows users to visualize the details of active cases.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-cases-card/pe-cases-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-10-02 17:56:33\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-cases-card</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>a18b781fdbc4005087295275ca961984</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>668fe638db10c850ca1da0da4b96193c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_f07ef5dbdbcc005087295275ca961951</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">387ef5dbdbcc005087295275ca96194f</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:31:11</sys_created_on><sys_id>f07ef5dbdbcc005087295275ca961951</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_f07ef5dbdbcc005087295275ca961951</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:31:11</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-885860613</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>228fe638db10c850ca1da0da4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcd0590000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>224f715f60cc00509044c0124e9a70dd</update_guid>\n<update_guid_history>224f715f60cc00509044c0124e9a70dd:-885860613,fc7ef5dbb3cc0050df9ed4126e47d751:-622188320</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_5c5aec6e13c67740dd4e3192e144b068</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"angular.dirPagination\">554aa0ae13c67740dd4e3192e144b03e</sp_dependency><sp_widget display_value=\"Verizon Cards\">41c54c2d1382ff00dd4e3192e144b0c3</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>Claudita</sys_created_by><sys_created_on>2019-06-17 22:22:35</sys_created_on><sys_id>5c5aec6e13c67740dd4e3192e144b068</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular.dirPagination.Verizon Cards</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_5c5aec6e13c67740dd4e3192e144b068</sys_update_name><sys_updated_by>Claudita</sys_updated_by><sys_updated_on>2019-06-17 22:22:35</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1522665508</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>268fe638db10c850ca1da0da4b96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73cdc37d0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>angular.dirPagination.Verizon Cards</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>1c5ae0ae6fc677404ab75b9f4ff535b0</update_guid>\n<update_guid_history>1c5ae0ae6fc677404ab75b9f4ff535b0:-1522665508</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_77c68517db48005087295275ca9619c0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"CARD WIDGET EXAMPLE PAGE - Container 1\">7ec68dd3db48005087295275ca96193b</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 18:28:05</sys_created_on><sys_id>77c68517db48005087295275ca9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_77c68517db48005087295275ca9619c0</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 18:28:05</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1850790556</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>268fe638db10c850ca1da0da4b961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73fae48d0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>3fc68517cc480050555844d99bd1f8c1</update_guid>\n<update_guid_history>3fc68517cc480050555844d99bd1f8c1:1850790556</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_506a64ae13c67740dd4e3192e144b04a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular.dirPagination</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>Claudita</sys_created_by><sys_created_on>2019-06-17 22:24:58</sys_created_on><sys_id>506a64ae13c67740dd4e3192e144b04a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular.dirPagination</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"dirPagination.js\">858a28ae13c67740dd4e3192e144b01d</sys_ui_script><sys_update_name>sp_js_include_506a64ae13c67740dd4e3192e144b04a</sys_update_name><sys_updated_by>Claudita</sys_updated_by><sys_updated_on>2019-06-17 22:24:58</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1461598734</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>2a8fe638db10c850ca1da0da4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73cdc3c80000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>angular.dirPagination</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>93da28ae78c6774020c325910ed2810e</update_guid>\n<update_guid_history>93da28ae78c6774020c325910ed2810e:1461598734</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_f3edf19bdbcc005087295275ca9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>CARD WIDGET EXAMPLE PAGE - Container 1</name><order>1</order><sp_page display_value=\"card_widget_example_page\">bac68dd3db48005087295275ca961938</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:28:56</sys_created_on><sys_id>f3edf19bdbcc005087295275ca9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>CARD WIDGET EXAMPLE PAGE - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_f3edf19bdbcc005087295275ca9619b9</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:28:56</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>77046664</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>2e8fe638db10c850ca1da0da4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcbeac0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>CARD WIDGET EXAMPLE PAGE - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>514f715f1ccc0050939fa2b9651b731c</update_guid>\n<update_guid_history>514f715f1ccc0050939fa2b9651b731c:77046664,ffedf19baecc00503bb9bb3eede177ba:-427111916</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_387ef5dbdbcc005087295275ca96194f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>2</order><sp_column/><sp_container display_value=\"\">593e71dbdbcc005087295275ca96190b</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:31:11</sys_created_on><sys_id>387ef5dbdbcc005087295275ca96194f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_387ef5dbdbcc005087295275ca96194f</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:34:46</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1645299737</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>628fe638db10c850ca1da0da4b961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcd0800000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>ae4f715f29cc00504312afda8232dadf</update_guid>\n<update_guid_history>ae4f715f29cc00504312afda8232dadf:-1645299737,d94f715fbdcc005030809adba74eec20:866845227,b47ef5db80cc00503c2afff58223c550:1666612653</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_467e79dbdbcc005087295275ca9619c9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance_table\"><sp_instance_table action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><display_field/><field_list/><filter/><glyph/><id/><maximum_entries>5</maximum_entries><order>1</order><order_by/><order_direction>asc</order_direction><roles/><short_description/><size>md</size><sp_column display_value=\"\">ca7e79dbdbcc005087295275ca9619c7</sp_column><sp_page/><sp_widget display_value=\"Data Table from Instance Definition\">38058ff1cb11020000f8d856634c9c8c</sp_widget><sys_class_name>sp_instance_table</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:31:16</sys_created_on><sys_id>467e79dbdbcc005087295275ca9619c9</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_table_467e79dbdbcc005087295275ca9619c9</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:31:16</sys_updated_on><table/><title/><url/><widget_parameters/></sp_instance_table><sys_translated_text action=\"delete_multiple\" query=\"documentkey=467e79dbdbcc005087295275ca9619c9\"/></record_update>]]></payload>\n<payload_hash>401737856</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>668fe638db10c850ca1da0da4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dccf9c0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>ae4ffd1faccc0050cca5774f6c6aaa4a</update_guid>\n<update_guid_history>ae4ffd1faccc0050cca5774f6c6aaa4a:401737856,867e79db67cc00505710cb5086b10eca:58459505</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_7ec68dd3db48005087295275ca96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>CARD WIDGET EXAMPLE PAGE - Container 1</name><order>1</order><sp_page display_value=\"card_widget_example_page\">bac68dd3db48005087295275ca961938</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 18:28:02</sys_created_on><sys_id>7ec68dd3db48005087295275ca96193b</sys_id><sys_mod_count>6</sys_mod_count><sys_name>CARD WIDGET EXAMPLE PAGE - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_7ec68dd3db48005087295275ca96193b</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:35:02</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>-427111916</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>6a8fe638db10c850ca1da0da4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcfbd10000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>CARD WIDGET EXAMPLE PAGE - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>115ffd1f0dcc0050125c051f52d983c1</update_guid>\n<update_guid_history>115ffd1f0dcc0050125c051f52d983c1:-427111916,e24f715f70cc0050fe332193732fb0f0:-633143981,e14f715fdfcc0050d28f4d68573f4059:-839176046,bf2e31dba2cc0050138bf2895a8b1537:-633143981,e92e31db88cc0050ae9478d05e92b1f6:-427111916,37edf19b47cc0050b32e23d06dfc35bd:-633143981,83c68517c64800507c80ea3ed7af5fbe:-427111916</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_ca7e79dbdbcc005087295275ca9619c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">027e79dbdbcc005087295275ca9619c6</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:31:16</sys_created_on><sys_id>ca7e79dbdbcc005087295275ca9619c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_ca7e79dbdbcc005087295275ca9619c7</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:31:16</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>852035372</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>6e8fe638db10c850ca1da0da4b96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dccfd60000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>2a4f715fe6cc0050dc1faedecfda2ad4</update_guid>\n<update_guid_history>2a4f715fe6cc0050dc1faedecfda2ad4:852035372,c67e79dbf7cc0050708484a9dea779c8:1115707665</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_858a28ae13c67740dd4e3192e144b01d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;dirPagination.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/**\n * dirPagination - AngularJS module for paginating (almost) anything.\n *\n *\n * Credits\n * =======\n *\n * Daniel Tabuenca: https://groups.google.com/d/msg/angular/an9QpzqIYiM/r8v-3W1X5vcJ\n * for the idea on how to dynamically invoke the ng-repeat directive.\n *\n * I borrowed a couple of lines and a few attribute names from the AngularUI Bootstrap project:\n * https://github.com/angular-ui/bootstrap/blob/master/src/pagination/pagination.js\n *\n * Copyright 2014 Michael Bromley &lt;michael@michaelbromley.co.uk&gt;\n */\n\n(function() {\n\n    /**\n     * Config\n     */\n    var moduleName = 'angularUtils.directives.dirPagination';\n    var DEFAULT_ID = '__default';\n\n    /**\n     * Module\n     */\n    angular.module(moduleName, [])\n        .directive('dirPaginate', ['$compile', '$parse', 'paginationService', dirPaginateDirective])\n        .directive('dirPaginateNoCompile', noCompileDirective)\n        .directive('dirPaginationControls', ['paginationService', 'paginationTemplate', dirPaginationControlsDirective])\n        .filter('itemsPerPage', ['paginationService', itemsPerPageFilter])\n        .service('paginationService', paginationService)\n        .provider('paginationTemplate', paginationTemplateProvider)\n        .run(['$templateCache',dirPaginationControlsTemplateInstaller]);\n\n    function dirPaginateDirective($compile, $parse, paginationService) {\n\n        return  {\n            terminal: true,\n            multiElement: true,\n            priority: 100,\n            compile: dirPaginationCompileFn\n        };\n\n        function dirPaginationCompileFn(tElement, tAttrs){\n\n            var expression = tAttrs.dirPaginate;\n            // regex taken directly from https://github.com/angular/angular.js/blob/v1.4.x/src/ng/directive/ngRepeat.js#L339\n            var match = expression.match(/^\\s*([\\s\\S]+?)\\s+in\\s+([\\s\\S]+?)(?:\\s+as\\s+([\\s\\S]+?))?(?:\\s+track\\s+by\\s+([\\s\\S]+?))?\\s*$/);\n\n            var filterPattern = /\\|\\s*itemsPerPage\\s*:\\s*(.*\\(\\s*\\w*\\)|([^\\)]*?(?=\\s+as\\s+))|[^\\)]*)/;\n            if (match[2].match(filterPattern) === null) {\n                throw 'pagination directive: the \\'itemsPerPage\\' filter must be set.';\n            }\n            var itemsPerPageFilterRemoved = match[2].replace(filterPattern, '');\n            var collectionGetter = $parse(itemsPerPageFilterRemoved);\n\n            addNoCompileAttributes(tElement);\n\n            // If any value is specified for paginationId, we register the un-evaluated expression at this stage for the benefit of any\n            // dir-pagination-controls directives that may be looking for this ID.\n            var rawId = tAttrs.paginationId || DEFAULT_ID;\n            paginationService.registerInstance(rawId);\n\n            return function dirPaginationLinkFn(scope, element, attrs){\n\n                // Now that we have access to the `scope` we can interpolate any expression given in the paginationId attribute and\n                // potentially register a new ID if it evaluates to a different value than the rawId.\n                var paginationId = $parse(attrs.paginationId)(scope) || attrs.paginationId || DEFAULT_ID;\n                \n                // (TODO: this seems sound, but I'm reverting as many bug reports followed it's introduction in 0.11.0.\n                // Needs more investigation.)\n                // In case rawId != paginationId we deregister using rawId for the sake of general cleanliness\n                // before registering using paginationId\n                // paginationService.deregisterInstance(rawId);\n                paginationService.registerInstance(paginationId);\n\n                var repeatExpression = getRepeatExpression(expression, paginationId);\n                addNgRepeatToElement(element, attrs, repeatExpression);\n\n                removeTemporaryAttributes(element);\n                var compiled =  $compile(element);\n\n                var currentPageGetter = makeCurrentPageGetterFn(scope, attrs, paginationId);\n                paginationService.setCurrentPageParser(paginationId, currentPageGetter, scope);\n\n                if (typeof attrs.totalItems !== 'undefined') {\n                    paginationService.setAsyncModeTrue(paginationId);\n                    scope.$watch(function() {\n                        return $parse(attrs.totalItems)(scope);\n                    }, function (result) {\n                        if (0 &lt;= result) {\n                            paginationService.setCollectionLength(paginationId, result);\n                        }\n                    });\n                } else {\n                    paginationService.setAsyncModeFalse(paginationId);\n                    scope.$watchCollection(function() {\n                        return collectionGetter(scope);\n                    }, function(collection) {\n                        if (collection) {\n                            var collectionLength = (collection instanceof Array) ? collection.length : Object.keys(collection).length;\n                            paginationService.setCollectionLength(paginationId, collectionLength);\n                        }\n                    });\n                }\n\n                // Delegate to the link function returned by the new compilation of the ng-repeat\n                compiled(scope);\n                 \n                // (TODO: Reverting this due to many bug reports in v 0.11.0. Needs investigation as the\n                // principle is sound)\n                // When the scope is destroyed, we make sure to remove the reference to it in paginationService\n                // so that it can be properly garbage collected\n                // scope.$on('$destroy', function destroyDirPagination() {\n                //     paginationService.deregisterInstance(paginationId);\n                // });\n            };\n        }\n\n        /**\n         * If a pagination id has been specified, we need to check that it is present as the second argument passed to\n         * the itemsPerPage filter. If it is not there, we add it and return the modified expression.\n         *\n         * @param expression\n         * @param paginationId\n         * @returns {*}\n         */\n        function getRepeatExpression(expression, paginationId) {\n            var repeatExpression,\n                idDefinedInFilter = !!expression.match(/(\\|\\s*itemsPerPage\\s*:[^|]*:[^|]*)/);\n\n            if (paginationId !== DEFAULT_ID &amp;&amp; !idDefinedInFilter) {\n                repeatExpression = expression.replace(/(\\|\\s*itemsPerPage\\s*:\\s*[^|\\s]*)/, \"$1 : '\" + paginationId + \"'\");\n            } else {\n                repeatExpression = expression;\n            }\n\n            return repeatExpression;\n        }\n\n        /**\n         * Adds the ng-repeat directive to the element. In the case of multi-element (-start, -end) it adds the\n         * appropriate multi-element ng-repeat to the first and last element in the range.\n         * @param element\n         * @param attrs\n         * @param repeatExpression\n         */\n        function addNgRepeatToElement(element, attrs, repeatExpression) {\n            if (element[0].hasAttribute('dir-paginate-start') || element[0].hasAttribute('data-dir-paginate-start')) {\n                // using multiElement mode (dir-paginate-start, dir-paginate-end)\n                attrs.$set('ngRepeatStart', repeatExpression);\n                element.eq(element.length - 1).attr('ng-repeat-end', true);\n            } else {\n                attrs.$set('ngRepeat', repeatExpression);\n            }\n        }\n\n        /**\n         * Adds the dir-paginate-no-compile directive to each element in the tElement range.\n         * @param tElement\n         */\n        function addNoCompileAttributes(tElement) {\n            angular.forEach(tElement, function(el) {\n                if (el.nodeType === 1) {\n                    angular.element(el).attr('dir-paginate-no-compile', true);\n                }\n            });\n        }\n\n        /**\n         * Removes the variations on dir-paginate (data-, -start, -end) and the dir-paginate-no-compile directives.\n         * @param element\n         */\n        function removeTemporaryAttributes(element) {\n            angular.forEach(element, function(el) {\n                if (el.nodeType === 1) {\n                    angular.element(el).removeAttr('dir-paginate-no-compile');\n                }\n            });\n            element.eq(0).removeAttr('dir-paginate-start').removeAttr('dir-paginate').removeAttr('data-dir-paginate-start').removeAttr('data-dir-paginate');\n            element.eq(element.length - 1).removeAttr('dir-paginate-end').removeAttr('data-dir-paginate-end');\n        }\n\n        /**\n         * Creates a getter function for the current-page attribute, using the expression provided or a default value if\n         * no current-page expression was specified.\n         *\n         * @param scope\n         * @param attrs\n         * @param paginationId\n         * @returns {*}\n         */\n        function makeCurrentPageGetterFn(scope, attrs, paginationId) {\n            var currentPageGetter;\n            if (attrs.currentPage) {\n                currentPageGetter = $parse(attrs.currentPage);\n            } else {\n                // If the current-page attribute was not set, we'll make our own.\n                // Replace any non-alphanumeric characters which might confuse\n                // the $parse service and give unexpected results.\n                // See https://github.com/michaelbromley/angularUtils/issues/233\n                // Adding the '_' as a prefix resolves an issue where paginationId might be have a digit as its first char\n                // See https://github.com/michaelbromley/angularUtils/issues/400\n                var defaultCurrentPage = '_' + (paginationId + '__currentPage').replace(/\\W/g, '_');\n                scope[defaultCurrentPage] = 1;\n                currentPageGetter = $parse(defaultCurrentPage);\n            }\n            return currentPageGetter;\n        }\n    }\n\n    /**\n     * This is a helper directive that allows correct compilation when in multi-element mode (ie dir-paginate-start, dir-paginate-end).\n     * It is dynamically added to all elements in the dir-paginate compile function, and it prevents further compilation of\n     * any inner directives. It is then removed in the link function, and all inner directives are then manually compiled.\n     */\n    function noCompileDirective() {\n        return {\n            priority: 5000,\n            terminal: true\n        };\n    }\n\n    function dirPaginationControlsTemplateInstaller($templateCache) {\n        $templateCache.put('angularUtils.directives.dirPagination.template', '&lt;ul class=\"pagination\" ng-if=\"1 &lt; pages.length || !autoHide\"&gt;&lt;li ng-if=\"boundaryLinks\" ng-class=\"{ disabled : pagination.current == 1 }\"&gt;&lt;a href=\"\" ng-click=\"setCurrent(1)\"&gt;&amp;laquo;&lt;/a&gt;&lt;/li&gt;&lt;li ng-if=\"directionLinks\" ng-class=\"{ disabled : pagination.current == 1 }\"&gt;&lt;a href=\"\" ng-click=\"setCurrent(pagination.current - 1)\"&gt;&amp;lsaquo;&lt;/a&gt;&lt;/li&gt;&lt;li ng-repeat=\"pageNumber in pages track by tracker(pageNumber, $index)\" ng-class=\"{ active : pagination.current == pageNumber, disabled : pageNumber == \\'...\\' || ( ! autoHide &amp;&amp; pages.length === 1 ) }\"&gt;&lt;a href=\"\" ng-click=\"setCurrent(pageNumber)\"&gt;{{ pageNumber }}&lt;/a&gt;&lt;/li&gt;&lt;li ng-if=\"directionLinks\" ng-class=\"{ disabled : pagination.current == pagination.last }\"&gt;&lt;a href=\"\" ng-click=\"setCurrent(pagination.current + 1)\"&gt;&amp;rsaquo;&lt;/a&gt;&lt;/li&gt;&lt;li ng-if=\"boundaryLinks\"  ng-class=\"{ disabled : pagination.current == pagination.last }\"&gt;&lt;a href=\"\" ng-click=\"setCurrent(pagination.last)\"&gt;&amp;raquo;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;');\n    }\n\n    function dirPaginationControlsDirective(paginationService, paginationTemplate) {\n\n        var numberRegex = /^\\d+$/;\n\n        var DDO = {\n            restrict: 'AE',\n            scope: {\n                maxSize: '=?',\n                onPageChange: '&amp;?',\n                paginationId: '=?',\n                autoHide: '=?'\n            },\n            link: dirPaginationControlsLinkFn\n        };\n\n        // We need to check the paginationTemplate service to see whether a template path or\n        // string has been specified, and add the `template` or `templateUrl` property to\n        // the DDO as appropriate. The order of priority to decide which template to use is\n        // (highest priority first):\n        // 1. paginationTemplate.getString()\n        // 2. attrs.templateUrl\n        // 3. paginationTemplate.getPath()\n        var templateString = paginationTemplate.getString();\n        if (templateString !== undefined) {\n            DDO.template = templateString;\n        } else {\n            DDO.templateUrl = function(elem, attrs) {\n                return attrs.templateUrl || paginationTemplate.getPath();\n            };\n        }\n        return DDO;\n\n        function dirPaginationControlsLinkFn(scope, element, attrs) {\n\n            // rawId is the un-interpolated value of the pagination-id attribute. This is only important when the corresponding dir-paginate directive has\n            // not yet been linked (e.g. if it is inside an ng-if block), and in that case it prevents this controls directive from assuming that there is\n            // no corresponding dir-paginate directive and wrongly throwing an exception.\n            var rawId = attrs.paginationId ||  DEFAULT_ID;\n            var paginationId = scope.paginationId || attrs.paginationId ||  DEFAULT_ID;\n\n            if (!paginationService.isRegistered(paginationId) &amp;&amp; !paginationService.isRegistered(rawId)) {\n                var idMessage = (paginationId !== DEFAULT_ID) ? ' (id: ' + paginationId + ') ' : ' ';\n                if (window.console) {\n                    console.warn('Pagination directive: the pagination controls' + idMessage + 'cannot be used without the corresponding pagination directive, which was not found at link time.');\n                }\n            }\n\n            if (!scope.maxSize) { scope.maxSize = 9; }\n            scope.autoHide = scope.autoHide === undefined ? true : scope.autoHide;\n            scope.directionLinks = angular.isDefined(attrs.directionLinks) ? scope.$parent.$eval(attrs.directionLinks) : true;\n            scope.boundaryLinks = angular.isDefined(attrs.boundaryLinks) ? scope.$parent.$eval(attrs.boundaryLinks) : false;\n\n            var paginationRange = Math.max(scope.maxSize, 5);\n            scope.pages = [];\n            scope.pagination = {\n                last: 1,\n                current: 1\n            };\n            scope.range = {\n                lower: 1,\n                upper: 1,\n                total: 1\n            };\n\n            scope.$watch('maxSize', function(val) {\n                if (val) {\n                    paginationRange = Math.max(scope.maxSize, 5);\n                    generatePagination();\n                }\n            });\n\n            scope.$watch(function() {\n                if (paginationService.isRegistered(paginationId)) {\n                    return (paginationService.getCollectionLength(paginationId) + 1) * paginationService.getItemsPerPage(paginationId);\n                }\n            }, function(length) {\n                if (0 &lt; length) {\n                    generatePagination();\n                }\n            });\n\n            scope.$watch(function() {\n                if (paginationService.isRegistered(paginationId)) {\n                    return (paginationService.getItemsPerPage(paginationId));\n                }\n            }, function(current, previous) {\n                if (current != previous &amp;&amp; typeof previous !== 'undefined') {\n                    goToPage(scope.pagination.current);\n                }\n            });\n\n            scope.$watch(function() {\n                if (paginationService.isRegistered(paginationId)) {\n                    return paginationService.getCurrentPage(paginationId);\n                }\n            }, function(currentPage, previousPage) {\n                if (currentPage != previousPage) {\n                    goToPage(currentPage);\n                }\n            });\n\n            scope.setCurrent = function(num) {\n                if (paginationService.isRegistered(paginationId) &amp;&amp; isValidPageNumber(num)) {\n                    num = parseInt(num, 10);\n                    paginationService.setCurrentPage(paginationId, num);\n                }\n            };\n\n            /**\n             * Custom \"track by\" function which allows for duplicate \"...\" entries on long lists,\n             * yet fixes the problem of wrongly-highlighted links which happens when using\n             * \"track by $index\" - see https://github.com/michaelbromley/angularUtils/issues/153\n             * @param id\n             * @param index\n             * @returns {string}\n             */\n            scope.tracker = function(id, index) {\n                return id + '_' + index;\n            };\n\n            function goToPage(num) {\n                if (paginationService.isRegistered(paginationId) &amp;&amp; isValidPageNumber(num)) {\n                    var oldPageNumber = scope.pagination.current;\n\n                    scope.pages = generatePagesArray(num, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange);\n                    scope.pagination.current = num;\n                    updateRangeValues();\n\n                    // if a callback has been set, then call it with the page number as the first argument\n                    // and the previous page number as a second argument\n                    if (scope.onPageChange) {\n                        scope.onPageChange({\n                            newPageNumber : num,\n                            oldPageNumber : oldPageNumber\n                        });\n                    }\n                }\n            }\n\n            function generatePagination() {\n                if (paginationService.isRegistered(paginationId)) {\n                    var page = parseInt(paginationService.getCurrentPage(paginationId)) || 1;\n                    scope.pages = generatePagesArray(page, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange);\n                    scope.pagination.current = page;\n                    scope.pagination.last = scope.pages[scope.pages.length - 1];\n                    if (scope.pagination.last &lt; scope.pagination.current) {\n                        scope.setCurrent(scope.pagination.last);\n                    } else {\n                        updateRangeValues();\n                    }\n                }\n            }\n\n            /**\n             * This function updates the values (lower, upper, total) of the `scope.range` object, which can be used in the pagination\n             * template to display the current page range, e.g. \"showing 21 - 40 of 144 results\";\n             */\n            function updateRangeValues() {\n                if (paginationService.isRegistered(paginationId)) {\n                    var currentPage = paginationService.getCurrentPage(paginationId),\n                        itemsPerPage = paginationService.getItemsPerPage(paginationId),\n                        totalItems = paginationService.getCollectionLength(paginationId);\n\n                    scope.range.lower = (currentPage - 1) * itemsPerPage + 1;\n                    scope.range.upper = Math.min(currentPage * itemsPerPage, totalItems);\n                    scope.range.total = totalItems;\n                }\n            }\n            function isValidPageNumber(num) {\n                return (numberRegex.test(num) &amp;&amp; (0 &lt; num &amp;&amp; num &lt;= scope.pagination.last));\n            }\n        }\n\n        /**\n         * Generate an array of page numbers (or the '...' string) which is used in an ng-repeat to generate the\n         * links used in pagination\n         *\n         * @param currentPage\n         * @param rowsPerPage\n         * @param paginationRange\n         * @param collectionLength\n         * @returns {Array}\n         */\n        function generatePagesArray(currentPage, collectionLength, rowsPerPage, paginationRange) {\n            var pages = [];\n            var totalPages = Math.ceil(collectionLength / rowsPerPage);\n            var halfWay = Math.ceil(paginationRange / 2);\n            var position;\n\n            if (currentPage &lt;= halfWay) {\n                position = 'start';\n            } else if (totalPages - halfWay &lt; currentPage) {\n                position = 'end';\n            } else {\n                position = 'middle';\n            }\n\n            var ellipsesNeeded = paginationRange &lt; totalPages;\n            var i = 1;\n            while (i &lt;= totalPages &amp;&amp; i &lt;= paginationRange) {\n                var pageNumber = calculatePageNumber(i, currentPage, paginationRange, totalPages);\n\n                var openingEllipsesNeeded = (i === 2 &amp;&amp; (position === 'middle' || position === 'end'));\n                var closingEllipsesNeeded = (i === paginationRange - 1 &amp;&amp; (position === 'middle' || position === 'start'));\n                if (ellipsesNeeded &amp;&amp; (openingEllipsesNeeded || closingEllipsesNeeded)) {\n                    pages.push('...');\n                } else {\n                    pages.push(pageNumber);\n                }\n                i ++;\n            }\n            return pages;\n        }\n\n        /**\n         * Given the position in the sequence of pagination links [i], figure out what page number corresponds to that position.\n         *\n         * @param i\n         * @param currentPage\n         * @param paginationRange\n         * @param totalPages\n         * @returns {*}\n         */\n        function calculatePageNumber(i, currentPage, paginationRange, totalPages) {\n            var halfWay = Math.ceil(paginationRange/2);\n            if (i === paginationRange) {\n                return totalPages;\n            } else if (i === 1) {\n                return i;\n            } else if (paginationRange &lt; totalPages) {\n                if (totalPages - halfWay &lt; currentPage) {\n                    return totalPages - paginationRange + i;\n                } else if (halfWay &lt; currentPage) {\n                    return currentPage - halfWay + i;\n                } else {\n                    return i;\n                }\n            } else {\n                return i;\n            }\n        }\n    }\n\n    /**\n     * This filter slices the collection into pages based on the current page number and number of items per page.\n     * @param paginationService\n     * @returns {Function}\n     */\n    function itemsPerPageFilter(paginationService) {\n\n        return function(collection, itemsPerPage, paginationId) {\n            if (typeof (paginationId) === 'undefined') {\n                paginationId = DEFAULT_ID;\n            }\n            if (!paginationService.isRegistered(paginationId)) {\n                throw 'pagination directive: the itemsPerPage id argument (id: ' + paginationId + ') does not match a registered pagination-id.';\n            }\n            var end;\n            var start;\n            if (angular.isObject(collection)) {\n                itemsPerPage = parseInt(itemsPerPage) || 9999999999;\n                if (paginationService.isAsyncMode(paginationId)) {\n                    start = 0;\n                } else {\n                    start = (paginationService.getCurrentPage(paginationId) - 1) * itemsPerPage;\n                }\n                end = start + itemsPerPage;\n                paginationService.setItemsPerPage(paginationId, itemsPerPage);\n\n                if (collection instanceof Array) {\n                    // the array just needs to be sliced\n                    return collection.slice(start, end);\n                } else {\n                    // in the case of an object, we need to get an array of keys, slice that, then map back to\n                    // the original object.\n                    var slicedObject = {};\n                    angular.forEach(keys(collection).slice(start, end), function(key) {\n                        slicedObject[key] = collection[key];\n                    });\n                    return slicedObject;\n                }\n            } else {\n                return collection;\n            }\n        };\n    }\n\n    /**\n     * Shim for the Object.keys() method which does not exist in IE &lt; 9\n     * @param obj\n     * @returns {Array}\n     */\n    function keys(obj) {\n        if (!Object.keys) {\n            var objKeys = [];\n            for (var i in obj) {\n                if (obj.hasOwnProperty(i)) {\n                    objKeys.push(i);\n                }\n            }\n            return objKeys;\n        } else {\n            return Object.keys(obj);\n        }\n    }\n\n    /**\n     * This service allows the various parts of the module to communicate and stay in sync.\n     */\n    function paginationService() {\n\n        var instances = {};\n        var lastRegisteredInstance;\n\n        this.registerInstance = function(instanceId) {\n            if (typeof instances[instanceId] === 'undefined') {\n                instances[instanceId] = {\n                    asyncMode: false\n                };\n                lastRegisteredInstance = instanceId;\n            }\n        };\n\n        this.deregisterInstance = function(instanceId) {\n            delete instances[instanceId];\n        };\n        \n        this.isRegistered = function(instanceId) {\n            return (typeof instances[instanceId] !== 'undefined');\n        };\n\n        this.getLastInstanceId = function() {\n            return lastRegisteredInstance;\n        };\n\n        this.setCurrentPageParser = function(instanceId, val, scope) {\n            instances[instanceId].currentPageParser = val;\n            instances[instanceId].context = scope;\n        };\n        this.setCurrentPage = function(instanceId, val) {\n            instances[instanceId].currentPageParser.assign(instances[instanceId].context, val);\n        };\n        this.getCurrentPage = function(instanceId) {\n            var parser = instances[instanceId].currentPageParser;\n            return parser ? parser(instances[instanceId].context) : 1;\n        };\n\n        this.setItemsPerPage = function(instanceId, val) {\n            instances[instanceId].itemsPerPage = val;\n        };\n        this.getItemsPerPage = function(instanceId) {\n            return instances[instanceId].itemsPerPage;\n        };\n\n        this.setCollectionLength = function(instanceId, val) {\n            instances[instanceId].collectionLength = val;\n        };\n        this.getCollectionLength = function(instanceId) {\n            return instances[instanceId].collectionLength;\n        };\n\n        this.setAsyncModeTrue = function(instanceId) {\n            instances[instanceId].asyncMode = true;\n        };\n\n        this.setAsyncModeFalse = function(instanceId) {\n            instances[instanceId].asyncMode = false;\n        };\n\n        this.isAsyncMode = function(instanceId) {\n            return instances[instanceId].asyncMode;\n        };\n    }\n\n    /**\n     * This provider allows global configuration of the template path used by the dir-pagination-controls directive.\n     */\n    function paginationTemplateProvider() {\n\n        var templatePath = 'angularUtils.directives.dirPagination.template';\n        var templateString;\n\n        /**\n         * Set a templateUrl to be used by all instances of &lt;dir-pagination-controls&gt;\n         * @param {String} path\n         */\n        this.setPath = function(path) {\n            templatePath = path;\n        };\n\n        /**\n         * Set a string of HTML to be used as a template by all instances\n         * of &lt;dir-pagination-controls&gt;. If both a path *and* a string have been set,\n         * the string takes precedence.\n         * @param {String} str\n         */\n        this.setString = function(str) {\n            templateString = str;\n        };\n\n        this.$get = function() {\n            return {\n                getPath: function() {\n                    return templatePath;\n                },\n                getString: function() {\n                    return templateString;\n                }\n            };\n        };\n    }\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;Claudita&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-17 22:24:50&lt;/sys_created_on&gt;&lt;sys_id&gt;858a28ae13c67740dd4e3192e144b01d&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;dirPagination.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_858a28ae13c67740dd4e3192e144b01d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;Claudita&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-17 22:24:50&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1356787652</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>6e8fe638db10c850ca1da0da4b961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73cdc3bc0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>dirPagination.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>d9da28aea9c67740e9d4dc023292f908</update_guid>\n<update_guid_history>d9da28aea9c67740e9d4dc023292f908:-1356787652</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_30d68517db48005087295275ca9619f3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;bbc68517db48005087295275ca9619c2&lt;/sp_column&gt;&lt;sp_widget display_value=\"Cards Widget\"&gt;41c54c2d1382ff00dd4e3192e144b0c3&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;claudia.cruz&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-27 18:28:09&lt;/sys_created_on&gt;&lt;sys_id&gt;30d68517db48005087295275ca9619f3&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_30d68517db48005087295275ca9619f3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;claudia.cruz&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-10-02 17:55:02&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"src_table\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=30d68517db48005087295275ca9619f3\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1627640366</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>a28fe638db10c850ca1da0da4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d8d9c70230000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>e83f2af42910c8506de5e0edada00a03</update_guid>\n<update_guid_history>e83f2af42910c8506de5e0edada00a03:-1627640366,3f1f6af48510c8508e721bfbbed315b2:-730490834,f2b10a538700405006aa11e571b4367e:489361131,3ca10653e9004050d2b458c0818cae9a:1666787143,70d6851744480050420c080ad764bbf5:113756508</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_632e31dbdbcc005087295275ca961935</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>CARD WIDGET EXAMPLE PAGE - Container 1</name><order>1</order><sp_page display_value=\"card_widget_example_page\">bac68dd3db48005087295275ca961938</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:30:01</sys_created_on><sys_id>632e31dbdbcc005087295275ca961935</sys_id><sys_mod_count>2</sys_mod_count><sys_name>CARD WIDGET EXAMPLE PAGE - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_632e31dbdbcc005087295275ca961935</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:34:51</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>77046664</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>a68fe638db10c850ca1da0da4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dce1db0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>CARD WIDGET EXAMPLE PAGE - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>634fb15fc0cc0050e2b34cb247910151</update_guid>\n<update_guid_history>634fb15fc0cc0050e2b34cb247910151:77046664,ee4f715fd1cc0050576c9b25de228ded:-427111916,214f715f26cc005036fdd37c60549057:-633143981,232e31db97cc0050dd1c236593d33936:-427111916</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_bbc68517db48005087295275ca9619c2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">77c68517db48005087295275ca9619c0</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 18:28:05</sys_created_on><sys_id>bbc68517db48005087295275ca9619c2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_bbc68517db48005087295275ca9619c2</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 18:28:05</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1022928843</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>aa8fe638db10c850ca1da0da4b96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73fae4de0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>33c68517d5480050a60cc0dcd888f4c4</update_guid>\n<update_guid_history>33c68517d5480050a60cc0dcd888f4c4:-1022928843</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_41c54c2d1382ff00dd4e3192e144b0c3</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function CaseCardsController() {\n\tvar c = this;\n\tc.getColor = function(state) {\n\t\tswitch(state) {\n\t\t\tcase 'New': \n\t\t\t\treturn 'gray';\n\t\t\tcase 'Open':\n\t\t\t\treturn 'gray';\n\t\t\tcase 'Awaiting Info':\n\t\t\t\treturn 'blue';\n\t\t\tcase'Resolved':\n\t\t\t\treturn 'green';\n\t\t\tcase 'Closed':\n\t\t\t\treturn 'green';\n\t\t\tcase 'Cancelled':\n\t\t\t\treturn 'red';\n\t\t\tdefault:\n\t\t\t\treturn 'gray';\n\n\t\t}\n\t}\n\tc.pageSize = 12;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;\n.circle-green{\n  color: #33ab45;\n}\n.circle-red{\n  color: #d92912;\n}\n\n.circle-yellow{\n  color: #e0cc27;\n}\n.circle-blue{\n  color: #0085d2;\n}\n.circle-gray{\n  color: #dcd8d9;\n}\n\n.form-control-feedback {\n  color: #666;\n}\n\n.form-control:focus + .form-control-feedback {\n  color: #74ACBB;\n}\n\n.form-control {\n  border: 1px solid #74ACBB !important;\n}\n\n.search-cases{\n  float:right;\n}\n.container.search{\n  padding-bottom: 20px;\n  padding-top:20px;\n}\n\n\n//here new code\n.body{\n  font-family: \"Source Sans Pro script=all rev=2\", \"SourceSansPro\", \"Source Sans Pro\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857;\n  color: #666;\n}\n\n.card-wrapper{\n  display:flex;\n  align-items:center;\n  align-content:center;\n  flex-direction:column;\n}\n\n.card{\n  color: #293E40;\n  padding: 28px 28px 5px 28px;\n  width:32rem;\n  background-color: white;\n  display:flex;\n  flex-direction:column;\n  align-items:start;\n  justify-content:flex-start;\n  margin:2rem 0;\n  box-shadow: .5rem .5rem 3rem rgba(0,0,0,0.2);\n  .event-title{\n    margin: 0;\n    color: #293E40;\n    font-size: 20px;\n    font-weight: 600\n  }\n  h5{\n    display:inline;\n    color: #293E40 !important; \n    font-family: \"Source Sans Pro script=all rev=2\", \"SourceSansPro\", \"Source Sans Pro\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  }\n}\n\n\n@media screen and (min-width: 700px) { \n  .card-wrapper{\n    flex-direction: row;\n    flex-wrap: wrap;\n    justify-content: center;\n    align-items: center;\n  }\n  .card{\n    margin: 2rem;\n    transition:transform .5s;\n  }\n\n\n  .card:hover{\n    transform: scale(1.05); \n  }\n}\n\n.body-card{\n  margin-top:12px;\n  border-top: 1px solid #DBE1E7;\n  color: #666;\n  width:100%;\n  list-style:none;\n  display:flex;\n  justify-content:flex-start;\n  padding: 2rem 0;\n  margin-top: 1.5 rem;\n  text-decoration: none; \n\n}\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;cards-widget&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Cards Widget&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"src_table\",\"section\":\"other\",\"default_value\":\"sn_customerservice_case\",\"label\":\"Table\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar table = options.src_table || 'sn_customerservice_case';\n\tvar grCases = new GlideRecord(table)\n\tgrCases.query();\n\tdata.listItems = [];\n\twhile(grCases.next()){\n\t\tdata.listItems.push({\n\t\t\tnumber: grCases.number.getDisplayValue(),\n\t\t\tshort_description: grCases.short_description.getDisplayValue(),\n\t\t\tstate: grCases.state.getDisplayValue(),\n\t\t\towner:grCases.contact.getDisplayValue(),\n\t\t\tcreated_on:grCases.sys_created_on.getDisplayValue(),\n\t\t\tdue_date: grCases.due_date.getDisplayValue(),\n\t\t\tsys_id:grCases.getUniqueValue()\n\t\t})\t\t\n\t}\n})();\n\n\n\n\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;Claudita&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-14 17:08:58&lt;/sys_created_on&gt;&lt;sys_id&gt;41c54c2d1382ff00dd4e3192e144b0c3&lt;/sys_id&gt;&lt;sys_mod_count&gt;445&lt;/sys_mod_count&gt;&lt;sys_name&gt;Cards Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_41c54c2d1382ff00dd4e3192e144b0c3&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;claudia.cruz&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-10-02 17:54:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class =\"container search\"&gt;\n  &lt;div class=\"search-cases\"&gt;\n    &lt;div class=\"form-group has-feedback\"&gt;\n      &lt;input type=\"text\" class=\"form-control\" ng-model=\"keyword\" placeholder=\"Search\"&gt; \n      &lt;span class=\"glyphicon glyphicon-search form-control-feedback\"&gt;&lt;/span&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;div class=\"container\"&gt;\n  &lt;div class=\"card-wrapper\"&gt;\n    &lt;div class=\"card\" dir-paginate=\"item in data.listItems | filter:keyword | itemsPerPage:c.pageSize\"&gt;\n      &lt;div&gt;\n        &lt;h4 class=\"event-title\"&gt;{{item.number}}&lt;/h4&gt;\n        &lt;p class=\"\"&gt;{{item.short_description}} &lt;/p&gt;\n        &lt;span class='fa fa-circle circle-{{c.getColor(item.state)}}'&gt;\n          &lt;h5&gt;{{item.state}}&lt;/h5&gt;\n        &lt;/span&gt;\n      &lt;/div&gt;\n      &lt;u class=\"body-card\"&gt;\n        &lt;li&gt;\n          &lt;p&gt;${Owner: }{{item.owner}}&lt;/p&gt;\n          &lt;p&gt;${Created on: }{{item.created_on}}&lt;/p&gt;\n          &lt;p&gt;${Due on: }{{item.due_date}}&lt;/p&gt;\n          &lt;a href=\"?id=ticket&amp;table=sn_customerservice_case&amp;sys_id={{item.sys_id}}\"&gt;${View Details}&lt;/a&gt;\n        &lt;/li&gt;\n      &lt;/u&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;dir-pagination-controls&gt;&lt;/dir-pagination-controls&gt;\n&lt;/div&gt;\n\n\n\n\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1797929722</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>aa8fe638db10c850ca1da0da4b961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d8d9bc3c50000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>Cards Widget</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>390fa2f46010c850007d849aeb9d6aab</update_guid>\n<update_guid_history>390fa2f46010c850007d849aeb9d6aab:-1797929722,8baea6b47e10c85057e688fc4da0b570:-1375587162,c49eae742a10c850d8e9693f40b390af:615334367,986eae74dc10c850d1bab818d23b86a9:-1176253083,115e2a74c210c8501ca12855e35db153:1723219136,41854ed7110040505631ed18fc1522e1:615407609,42650ed78a0040502ba44cb399541376:1451290338,91e1ce53230040505c3b1db153f88c08:615407609,e3814253430040505bd9203a5336487f:-825222180,eb510e131000405059b1f0589d16ba64:-608235924,f7410a13ed00405020ba09612ab3c03b:1426607003,5d418a13a10040507ed1c07a16eeb5bb:802875848,f8210613e80040500ab2adb25b23e42a:-1556728887,c67046df04cc0050cd3acfaaf6f8a894:-778390186,df000a9faecc0050ce3ab91194ef35d9:1693947500,d27ff15f97cc0050b2bed29866e398a8:-127159409,532f7d1f3fcc0050fa4352fa612a3cfd:1693947500,28ad719b1dcc0050d851feb76901112b:990513737,a06df55bb4cc00503e8a373846073a06:812293961,704d7d1b27cc0050332d155c34318d97:854862012,538cfdd756cc005038d99a198fcfcb74:812293961,ddfb31d756cc0050950ff2ee3da3eb79:873427787,aebbf59781cc0050a01b64372961c15e:1409256991,dde939534ecc00504d6693dc0484ea62:-1371673974,69d9f91345cc00502de415c826cec8e0:-1683808217,b9b9bd137ecc00506a46e5dbe05995c6:-1912607892,bf493d9fc48c0050eae21c29a254c1e4:1494958300,f149f99f108c00507aaf1ac1da2213a2:725381022,9d39b59fec8c0050d6174fc4ab4e126a:1982226552,66f8bd5ff58c00507346dd0ad6825cfc:1808402886,53e87d5f3f8c0050cbf6030e011e09d2:-533828576,c9e87d5fd58c00501e189c5735af3f8a:-1886189152,c7c8795f078c0050b26711239160fe30:1588775164,b3b8315fd58c0050dc538919445a08e5:-1622084858,5e78f91f4a8c0050f0eb7408db593b1e:1667014556,b248f91f968c00504640e2c25dfeab17:674188798,3538391fad8c00509ce33ee79bc1b5f2:1780575520,4708f11fe88c00508c6a1164f70db9cb:674188798,70f7311f258c0050eba113d8a1df07d7:1780575520,19e7bddbda8c0050913193b4d1ca26f4:-1133744829,e3c77ddb118c005076dcc8f51bc3800d:-1437900233,c8c7b99bef8c005007fd02500cc38c54:503055959,72a779db978c0050c250a64eefc82d1b:1177237121,4b97f5db378c005048b50f85823e5c5b:-941950663,9c27b99ba58c00506ab45bce7f9acd26:1500937051,2ff6759b1e8c0050575f305ae8887619:-765033589,5905b597158c0050ddf3c80298e84f27:-1499083135,d6d43597438c0050ec1cfd7de071c0dc:-1743494498,a8b4fd577b8c00502f79cd54aecb2e96:1584824479,05447d178f8c005079734bb971de1a6f:1103817065,7dd37517468c0050095022ce0564b1b2:-434873508,b1c371177d8c00501df5451039a2c3e7:-438845096,c8a33117288c0050b165410799c51eac:171699414,a753f5931a8c0050ace7471c879c4414:1656649549,a282f1932f8c00502b25f7d6458e3016:1023149743,68827953708c0050c1fff2690b0f3573:-1677177169,872279535a8c00508a6eeca5b0f1fc5d:-1335601622,d2027553488c00507bdb761f50c870ec:-510138308,9ff13553378c0050fad63b87a7a50d29:29730752,64f1b153f38c00508be7dd2f35b89863:-510138308,14e17d13f88c005004f7a4f813672265:-100780262,8db1f513138c0050753ee2ab6de59067:-225920588,55a1f513928c005073d422b1753d99cc:656323381,1891bddf034c00500338edbe62c5baba:576574405,0071b113b18c005091fca30871c28bee:-879879558,5c51bddf814c0050d4b0d6ab589fc2b2:1625378956,3cb0f99f374c0050fd249261b5330377:1967738182,00a0b99fce4c0050c911fd3b8814a497:894292902,0a80f59f114c00506d308a526b8d57c1:-100780262,8440755f274c0050c454bd959bba6e09:-579871174,0c00355f3e4c0050d4ff0ca32ccc42a3:-2042228682,a9df615f5f4c0050d06182fc450d2b67:-579871174,dccfa51fcd4c00502dc242856624f1f1:-1294066027,4b7f691f264c00505c4ed58b9b90e48a:-2042228682,69fe69dba74c0050cd07151a63d4edb5:767948797,f89ee59b674c005022c224d58ea3c15f:-2116446301,834ea19be94c005081553296ee2405b7:1098851198,071eed1b454c00506d5a8fa26c5c5114:531548503,3fed695bb34c0050f7fa4e5b6811be44:963378625,cc7dad1bbc4c0050add6eb49afed8e84:-85632075,156d251b584c0050661eb6b14614f2fb:-1612398804,f4cca5d7624c00503c2487226cd173dd:-687712691,9e9c65d7b14c0050e13b7dcbf9768587:-1838831763,009c21d7054c0050f5cc345f53dcc530:-687712691,fa5ced97674c0050978887dcfddc3cb5:178731634,89fb6d57ed4c005015c799fb8b463d14:-612376615,53bb65571e4c00504fad169f20ad93e4:-934169733,8a5be117c64c0050d1315f5652e95c5e:192333222,74dae117e44c0050355c4224f26b9842:1122004366,34aa2dd3734c0050fc9b02021fb8e520:2038909173,33a96d535e4c0050873a2577be1d0e25:1075823462,4216211f9f0c0050e7a2c5fee16deb92:-350773459,2be3edd78d0c0050b442c19e323e95fb:522128562,7ec3edd7660c00501ad63b26bd8b5c74:-1181572250,f62325976c0c0050cc2e186d11904cf6:-145102700,7eb26197710c0050b6bd7b7215e99d72:-911514508,6a822517e70c00500c1a8bc08d6c8412:-1023272219,fc912dd3de0c0050231f348316edf210:-2008111974,e351e9d3cd0c0050f8146636d119a6ee:-1294144454,7a2165939b0c0050fb6e215850f54da8:1031510603,5440a953680c00506b72a3344740293b:-689232040,f110e1539f0c00501794744afacb4594:-235935859,73cfd913b90c005093385383a17235ac:966808138,edbf9ddf22c800506facd3d8c35de04a:938213630,6ade91df4bc80050bb3c2c7676baaf24:19774912,daae51dfa9c800503cf7dea02e7c680e:-2082602784,ba5e199fa8c80050297322b3327dec82:1681989759,55ed1d1f96c8005019085e1fd66750ff:-1550062858,541d951f0fc80050aeea15736b4b8e06:-1114331053,d05cd15bb6c80050fa41b867d7b5a129:-1566027838,edfb191bbac8005018e69103b5bb47c2:-478550058,4fdb951b32c80050b7f0d9e93f74ef79:649024961,2c8b55d707c80050f6f794a7cfca0d28:1437773999,dc0a895b77480050720f57d927782017:753387423,0b3585534f48005048869ba1c721cb06:2061822841,24050d1334480050170964ea9f7eb7f1:-182697075,5a84899ff30800501e6ee239a4107c71:2061822841,3e74099ffc0800504b140691dd7a499a:-498655092,edd0c51baf08005003f00300998d32ef:-909008607,9fb0811b970800502976627264432833:-1881448574,0220cd974d080050aace48b8fcdee9d5:1542989314,055f70979c080050ff3e3d1c134a7237:-717370809,794f3c570508005025114182cfd3a84e:1633122588,d53ffc571c080050cd873f5e0670e97f:1421953776,021ff4578c08005027b4883031c20d38:-2014411783,1877e88ded5ef300ad9ec960b3a5d0e2:-1434962755,b027e88d605ef30049b88cb68c44b1da:-110736030,3535ecc9b15ef300a718122329d6c612:-2125238605,3415e44d1b5ef300c14e0a6d44ff96e5:507709489,28d4acc9125ef300a3b4ee12a7d98c31:-466464126,5ea1a8c96c5ef300a33509e29b491675:-1959895736,429164c9365ef30072cfd676fbddfb1e:-582750252,9763a94b818e33009830d87d6b620085:-250821998,6133a54b1c8e3300f45f3f4a8e6a6fa5:1443565423,6613a54ba48e330041ef74bdfa389e9d:2114393807,42433c76fa42f740887111aaa02c1244:1536566611,6b1278f2f142f74069cfefb73d653dee:-217249802,bc0278f2e242f7407969d482ebd82fe4:406594990,63b17cb28642f7407449de0fc084ecf4:-108714358,dba1f8b25842f740c8364300032163a2:-1286619030,f74134b29d42f740b1334387419acac5:1723258044,f541f0b2ed42f740d1e7c348138712c3:1653069345,32117c72ca42f740bf93f4f980b9b480:713811723,e7d03c326642f740b6b5d9b69a80b3fd:-1626646099,5d7f2cbeca02f74007a73c347b997d9d:1507429234,585f20fef502f740d2be6dfd2dc03b34:1382967056,192f2cbe8702f7406d23e7ccf1de686a:1289116849,770fa8becf02f740139ab43b77014e5e:1662597463,17acecba0402f7402d77932c730ff162:1049004437,309c28bae602f740ef4daa0dd324ab5c:-1967939147,7538e4722102f7401c26180a97152972:859894972,820868325202f7400b69dbab8b6da670:1293371334,cfd720327202f7402a0032f5c4be7053:1227992761,8ec72cfe9eceb7402c9f9509b6c39095:-1672106963,76b72cfecdceb740a40585e42a0a4e8e:-1111564461,53d6287e67ceb7402f9ece69d56b68b9:-1263897422,dd46acbafaceb740f8edf48f3ecaeaba:-1489562618,370668badeceb740c8563cefc5962c34:1118719173,bcb5ac7a2cceb7400aa0f12f0ab0ecdc:689325231,8798dcf2c88eb740e994a21bab092b7a:-659864096,fb0854b2418eb74072405913c2517fb0:-1468375474,66f798b2878eb7405faa17f6d2b8c56f:413661679,05871472d38eb740c763b4600607b581:-2030588563,d14618fece4eb7403600907cd47e4d04:48007630,d51650fe4e4eb7402541b4eda756e8d9:221840988,67065cbe184eb7401aca00d91612ea8a:-515621776,19a454fa5d4eb7409350f72c7d6770d4:-1545327728,178490fa384eb740364dff1c78a95e48:1772462000,e24490ba154eb740df522a5c5bf322f7:443852592,a534dc7a184eb740368b1fa3d2ef3ca6:-1758222248,d514dc3a864eb74082b682728eaf59b4:-179634148,e6f3bc22a74a7740f987f810f0164bea:1040542872,39d3b022b24a774047b908f0e5106985:-615166987,4843f8ee590a7740c15f99f4e030f223:1763889200,2133f8eea40a77404b2078d240b6171c:776387896,092338ee220a77400cc379baa5598454:-2001460408,cfd2f8ae150a7740f3dd6a4d6ff02d20:776387896,519278ae3d0a7740b176e4c5fa3471c2:1905964298,dd72b4aef80a7740ab43383d65129a90:640389162,3152fc6e440a77405c5d5324a44c8bc8:-402167030,405234ae6f0a7740bb5d19e00c1715b5:1511488740,f142386e680a7740d251b04afd304318:1028356228,9c027c6ea20a7740f56030ab330a739d:-1050675170,7f81782e210a7740d5070549f94f0fe7:2076281107,9451302eca0a7740cb94fb6ff0c5e995:-1314441078,bb8f286a040a77405315b79ab33b0481:-948041002,5aeee8a60a0a7740f3aed1f362c09a44:-1063094712,67bea8a6a60a77402572f1a9804b9405:413412136,8e9e2826be0a7740e3d10585b21832c6:-1348666774,6dcd60e2e60a77402f6854b9cfe7ab65:688346986,1dbd24a2210a7740899ec5bcd19ceed3:223998858,b58de8a2de0a77401ac6cc48ba90ba75:-1935667358,d55dec620c0a7740c4f16d61d993ffb9:1941687986,c3fc6c62870a7740e4e091daba7aeaa7:-108610015,36cc6462f70a77401f22bca8e990b5bc:825646595,094ca822bc0a77408e83688bb729fd92:-108610015,c83c2022c30a77400320620ed46c9d96:825646595,a327a0aa28c6774056af586d26d49eeb:-352368552,7bf6a0aaa0c67740d3bc539d3bc6cde3:-753638708,e4f6a86a06c67740bb791d3d48d7b1e5:1872218220,f216ec2aa4c6774073fec5756c5b1d80:-510849960,e1842ca641c6774038b929d3ff324a01:-502674952,f36468a6d4c67740235086954d1ff2cc:-1651755464,1ef3ec6648c67740e741189a726c7628:-1304303797,8d7320268fc67740e91cb356fc505b02:544216683,9253a8e20ac677401eaa3a59bbe98b7f:-1015600725,4a4328e208c67740b8de2e9b65079b56:607861275,d22320e2afc6774054ca0a26c6cd9dbb:1782448253,90f26ca26dc677403468ceb4eeda56e7:111639710,0ce268a2eec677406176e892dd4052a7:-2091108041,a3116422e5c67740c00b5417edd28418:1974469179,18ee186ec0867740fa29175ae5a18ad1:-339485237,7d0d50eadb867740bbfd7572d46ff34b:-2105647886,99dc14ea92867740cc90492869e534a1:-1824475066,e9cc50ea3e867740b98c1204f0377efa:-618511138,96ac5caa06867740a82f085cac2adbfc:-218999921,a1ac50eab8867740c649ac0cf0a060f3:35025948,003c98aab0867740b52483d40df03856:725695865,570a54e6e28677408447ab7976136a86:1880209919,e0f9d0e6ae86774055764a28c627cc46:-99735770,06d8d0660386774043f2ba6537d5b82e:1838501483,be98946684867740d0bd3f6556894d01:599054039,8f5854661e867740b63341e61f127e35:869959277,014850663286774022930a59b8d808fa:-960027261,28385066e58677402aaba41190569606:1698648067,33089c26a086774042fcbff3a82579ce:371692972,a7c75426038677406c6c244c88101e4e:-1414413468,a8b7dce278867740e93579088b194c1d:-1238826712,587718e2cf8677406212175ca0184c7c:857413781,a4171ca22e867740a7b17a4bb1c9b818:1617088417,4ef65ca2f48677409963aed522daaab5:1360611244,fab618a2238677408730218a68beb39f:-1101559122,76a654a2128677405d3aae612e5ab3ed:897596243,3e9654a2c4867740a2eea84d5fcf66e5:905686882,2b761c628986774063b2f4c36aa920b1:639078852,4a0618620786774000a0e192617a4efc:1390524328,55f59462e7867740b70647a3c87c6e28:-145372057,3ee59062638677407137b5b1b2de5520:-257001135,74c5dc2280867740dca9f2be0153dcf8:-1765341474,8d65d422768677400e2e611e8d7c5517:784123441,ed5514228886774012fe1b35752f6ab2:-208420687,2e359cee74467740da7a1eb25346abe2:-563929121,86e418eef2467740dd6713405ea7c06b:784123441,f7d410eeb9467740f963af72cdfb69ff:725745219,8cc450eeb846774048b64007429fe11f:784123441,47b4d0ae25467740683d7de3dd5e98cd:-1402769423,c794d8ae52467740bc8f4aef7151316a:-1684555639,6e7454aec04677405939610c0a23f5d4:1700701556,9464d0aea34677403205868edc017fac:243668421,5f44906e43467740c58277a1ad833a71:1165131519,c2345c6ef04677400bde4ec1d95b471c:1892232257,6fb3142eb54677401aa5ef7335502da0:-1485450389,0be2102a1f46774015197483c6d06575:-459580845,9ac2d0e6a64677409f8f17ae1e3b7170:-963611366,c57250a6574677406f5c423494a5ec9e:-244387082,1e52586626467740c6224d81db25f1cf:556102471,b232dc2646467740bc90b299cc928b0f:-244387082,f022d46630467740e990a6c0d28b3dc9:796943436,621290667146774082c1717ead97aeb6:1288043896,b5c19826bb46774054c6ed5aec9d9451:1079282796,daa198267a46774099346eed0ae7f448:1483120486,d2905ca247467740287c688314bf3084:-736975453,d380d8a2f0467740e28e4c2b1d203b54:548751803,b970d8a21f467740fcb9b9a7120cb84c:337617273,956050a290467740837540f0f18a32e7:1495092621,734050a29d467740300a48ced1d00775:1757799793,3d4050a2e5467740520c912d022df0dc:1580607751,6d10d8622c4677409892c68512504bfd:-650479699,997f442267467740382870a5e3d2c484:-914708729,a12f8022744677401211dd4eb04aeb03:1203391602,ba1f8022f04677409d32e44f1053b1bb:980799411,92fe48eebc0677401bd8d79701fd5f23:-185097794,d19e40eeae06774008fa97e8926bdd34:1477216465,5a6e88ae6d067740dc555f432c3246fd:-1776104892,156eccae170677407acc014893941c2e:-721863612,424e88aef60677401b59623dce28e97f:2025401939,0b7dc86e7b067740952e736a46a6772c:-282915087,324d446e25067740a2cc7d80b233187c:56345069,09a8c0e6b2067740433edb5ec80f5e3b:-120177895,61184066100677406c69a613fe24998f:-2041417090,81b70866e7067740a5b4ee1030a2b115:-120177895,5e574066350677401767375cf8e29e53:-1306292511,0747406661067740d74a24ff3ee4474c:149076614,1b9608e2d006774002b36076825ebc8b:1285821790,f896002674067740c6b125dbc3bde289:1894434078,d9864ce221067740e312553a6abf50dc:1663531756,c806c862f806774057a07fca653aee94:1894434078,8e2500620d067740863d1639493254cd:2127224217,09f44062f7067740931d8684b333b4da:1219376744,75e44c2246067740586888787120ce98:-1591598812,aef63f1e06427740d1eb27b683f20559:-859103760,3ea6ffdabb427740d4d908c1bb4f3559:-327286879,6376f7da4b427740ced7c0218487e3d3:-612490113,ea66f7da33427740a0cc66061cf4865c:-1108056995,4246b3dafa427740dce445c550cec7f2:-852538555,e906ff9afa427740f95a1526e0a6fe63:-852645499,9015735af6427740e9d0ea02e0523d3b:667507281,aca4f31a274277407546a50e07142fdd:-1119417991,cba37f16fa427740efd0e701dee0673c:-480961996,1bf2ffd27a427740d79703541c9f0f75:-462462025,97b23792c54277406f3085771ce2fc5e:854171529,6071bf12e54277405c38690756ab1098:764547290,db51bb12424277401ecab43c058298ba:1662213164,7b313f9eb00277405f7fcd2c4f748eca:764547290,8780f31ea502774060f71c512938b334:-1239395037,ec803fda260277409bab99da069e33b9:1475216963,0070b3da87027740a952ffc58450a3d4:-1239395037,7f7f2f5a3b027740b68351950e46d394:-1967255980,a07fab5a1902774097639f887272955d:-1831293893,956feb1a610277405036a2c6fe6caed0:553041005,b83f6f1a320277406d00aeb06293aee3:-349263530,d45e67d6cb0277403a8768f57f1b856a:1905427586,27cde396ee027740c05dfbbc400dfccd:-1562739384,5cbdaf56b40277408431a72d9243f579:-700080361,8abe49ed068aff005877c93702673f96:880325600,93ae09ed558aff00b2bf6242fdced9e0:1005358080,94ed49ad7f8aff00a4d8e0ceb8aeb23e:880325600,19ddc1ade78aff000cd371e27e6ddd13:1432456478,278c892dd38aff0090797d3d28818a20:371341624,4a6c892d378aff00f1808bf095ba6017:-426139656,0b4c852de18aff0083ec17c17dab5b76:-473624273,613c85a95f8aff00e9ee53d5a74f15ef:1737967869,110c85a9fd8aff008407859787914b7b:-542313433,99eb81a9fb8aff00ca2c4bcedcf64c9e:-1492288295,aadb4569888aff00fb2bf344e80fc3f8:566203509,d0ea09651e8aff006c2089ab7884a0d7:-675353067,b5c94da12a8aff00b3196ffe3ac1b812:1212395170,e949c1a1ce8aff00584f43bc0192ced5:1692046288,6ce7c521778aff0061163d16001daf4c:1455070154,7fc7c521d48aff008ccfd50265807505:-183045588,48c7c121168aff0039ceff5e34fe574f:1149332473,eeb78121398aff007c111d47055c1f24:1259444810,93a74121f28aff00b0c006bf548e88b6:1263889630,aca78121238aff004b6954650ca2af1d:-282487157,7097cdedde4aff006c94103f43af7ef1:1547581117,c8d641edf14aff00a7d79856674f816c:58470911,c9c601ede94aff0077201e4f7a629eeb:-755433958,2cf541ad084aff00bd70fe4c296fe586:-1614680091,68c5496db64aff000051ff17e0e31c0c:-1708826821,42e445e9294aff009d7925fc9b3da73a:-743046851,ae2d3069780aff003512f96755cf56ee:-1157745903,5c0d78e51d0aff00641df4b1f271bea2:1034110428,93ec38e5ad0aff00354bcae8cc610bcc:978459393,08ecb4e56c0aff0069133a42d337549a:1034110428,0dbc78a5cc0aff00bb68d1b8a0279526:-1301797402,6bac3ca57f0aff003944656049de2af8:1193876872,b87cb0a5f00aff00d871c4d3b45c5c41:341842183,d93c30a5670aff0028ff075d1776afbe:989404389,c09bf065a90aff008ca1df830ba30904:1969746027,7b1bf425290aff00878de4dcb10c4a33:-546523929,29ea74251d0aff007ed55ab8bc007d83:-1912412257,c88a70e1340aff00298f9b32f5d72c03:-721597431,115a30e1370aff005e10b30d445a0ffc:143871505,a01ab4a1290aff0083d210f6fb9b0f42:974358696,9a497861060aff00cf50d7fc3790be6e:13261991,3e387421ac0aff0093866f5e60d3401a:-1146051759,72d6346d3bc6ff0059fc84d7d1c24bfb:17400436,c124f8a5b5c6ff00494150c9f23d7052:2031253407,ee14b8a52dc6ff008e3afc4ccf3d1c72:357100423,4a04b8a50bc6ff00663df756cdb7433b:-1101725300,600438a5bcc6ff007aa9676da7716936:-1200695280,05f378a533c6ff00f4f8768ec3dde926:17400436,31e3b4a59fc6ff00581a907295ba488a:-443498575,3b93b4656cc6ff0094684d437dfc81d1:-1196962075,d12d2c6d3086ff004c99baf59f70a8a1:17400436,7a4bece99a86ff0029bc8c12c761b3fc:1382805974,49c9e0a94986ff0019c1a7a1481db431:-2051580372,c9b96c69f986ff007993cd02240175be:936956524,b969a4297e86ff00f4d1a0502da7d03e:1021750232,0f88a0654986ff004825656156c521c3:214520055,a84824e15c86ff008e92cd335d1c8b39:-1821250510,6328a0e19686ff008305cda0cd39593a:-1268212909,d408aca1f486ff00530f3c608f52b4ec:-65085375,96e7a0a14d86ff00b4a5275fba3355f1:-389494254,dd77a0a15586ff00038bbc87553df9e7:-232479982,7367a0a1e086ff0040b8c681d0415360:-1324275368,1927e4613786ff0047584dca94d521dd:521520588,ab17e4615686ff007ba0817943e8aefd:-1869113844,3d17a4614786ff007d09762c683c6281:-449669461,c307a4615786ff00ba101fd2e674207a:1378131086,c9072461e086ff001ef75eda58d30605:-449669461,91f6e061db86ff00181c504103bffbfe:-1869113844,ccb620613a86ff00f92951f0a46f0859:908000263,95a6ac21d186ff0093e410e7dbfb773e:-731640171,4e966c21f686ff00ea01d51090c3840f:-902595995,07762c21bf86ff00e44393ddad32550a:-1696788392,7166e8213686ff004c19ae385534cf85:24374221,f5b568ed6c46ff008fb765d193675afd:1749425522,44a564ed3346ff00a407bce80bbb85f5:2022049842,3b85a4ed0946ff0042c990b07e564e52:933424706,c98564ed3f46ff00918ea744d5072dea:1749425522,b6456cadbc46ff007b0b0eed522a300f:-1368314181,1b33ece99046ff0091339d9dab910472:316069889,53a164a96646ff00cb151289a4807628:1153004669,4ca1ac69c446ff00fc863d007cdeae26:-1279221031,e3612c693e46ff00cf2490243a0a3fe1:-244735929,8c51e4693346ff0051d5c246684a0859:-1585732823,8c116069b546ff007c68f6c7bfaf620a:-1457160070,2b40a0299946ff00aabfc6cd0f7f233a:1121051302,37306029d546ff00fb3c5d67a164ed73:769517767,e120e8e5ca46ff006425304efefa1875:417984232,1a8dd0255146ff00ba23334bf9a7820b:732366993,921d18e17c46ff00ba9dcb8ca4d3c7af:1737236860,54fcd0e15046ff00bb780d50803a3495:1538072220,171cd4610f46ff005ee6511bf80abb53:1598535069,33fbd0617546ff00daf4fd72cd10fd23:-438060612,02fb90615d46ff00fdad7b3e1ad39b75:2915209,bbab5c215d46ff00e6e9d2748824039a:1668918700,4c6bd021e946ff00eed49e978fde2c5f:31096531,a5cad4edce06ff00b08f49f3309a90a2:-560863721,f7aa14edbd06ff008bf13b059152ee1c:226119433,cf9a14edcc06ff00ca5b036ab4779723:1215667413,5a6adcadc506ff00d0346fbc32f4ddd7:256638070,ee1a90ad9506ff00591809fb50f33963:427539977,fa0a90ad2e06ff00a40dfd49b117c058:-1800320439,4df95c6dcf06ff00a917eec65edb9b35:-686390231,7ab9546dc206ff00dfea8fff7e5dfc54:-1426943458,47695c2ddf06ff00d4fd2d632b34f409:31291185,f459582d0d06ff003cee52cdd7685ba1:1295157889,5849142d0106ff007ef015b0bedc381d:1935033285,ae09dce9de06ff0085c490d4fc815d38:-229854139,9ce858e96d06ff00f7390308ca334264:704052373,61d894e9f006ff0066d5a2d2d5ff80bf:778365400,2fc8d4e94d06ff0029bb66fa39681fc9:-115264814,f7b8d0e92306ff00b1b16d967eff240b:-330836674,f88890e96f06ff00d2d00d9455b44ae1:-641372934,fb58dca9c306ff0005d08f1673414e7d:-1032643584,ee585ca97e06ff0072b7eb4b27406b54:-2114140715,57481ca97806ff00d4c022fd3437d691:1962994389,a63858a93406ff0053ec1b6e7713acc9:-1566826166,7b2858a9f606ff00bf5592db13aa5108:146321790,6cf790a9f306ff00a9d2e0c4a42dd581:1613701930,f0275c29f206ff00aa268692ee0e7a61:189959589,f2171c29be06ff005ca5ed165f6dd02d:441709277,6b07d8294406ff00ad42d965714fab96:189959589,c8769ce51b06ff00e801c4c408a34a0c:507068802,6716d0e51406ff000902d7359078e460:-995926990,50e59ca5af06ff008f20e47d1b577e5c:759184989,d18518a5f706ff00151f4d223a5ec0a1:-2023991770,46a450656406ff005a82d1d66ba30b30:-427131590,fd0418251d06ff00974bfa2a1fc3942a:1967560638,18d314258806ff00529f400a4525ed47:-1142396133,56a3dce1f606ff00da2583f55425cb42:-652626717,2d00dc6d34c2ff00228332d9339702ba:-985850895,7dcf0c6da4c2ff003910574daef00ff7:1590987046,9dc5006d0582ff00a6527cb320c0c43e:-1891684114</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_027e79dbdbcc005087295275ca9619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"\">593e71dbdbcc005087295275ca96190b</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:31:16</sys_created_on><sys_id>027e79dbdbcc005087295275ca9619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_027e79dbdbcc005087295275ca9619c6</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:31:16</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1484987351</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>ae8fe638db10c850ca1da0da4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcd0060000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>a64f715f34cc0050f2ce776dc4dabfd7</update_guid>\n<update_guid_history>a64f715f34cc0050f2ce776dc4dabfd7:-1484987351,8e7e79db00cc0050497dda15860be2c6:1666612653</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_593e71dbdbcc005087295275ca96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>CARD WIDGET EXAMPLE PAGE - Container 1</name><order>1</order><sp_page display_value=\"card_widget_example_page\">bac68dd3db48005087295275ca961938</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:30:07</sys_created_on><sys_id>593e71dbdbcc005087295275ca96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>CARD WIDGET EXAMPLE PAGE - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_593e71dbdbcc005087295275ca96190b</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:30:07</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>77046664</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>e28fe638db10c850ca1da0da4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcd1350000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>CARD WIDGET EXAMPLE PAGE - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>2e4f715f04cc0050721a46642697a5eb</update_guid>\n<update_guid_history>2e4f715f04cc0050721a46642697a5eb:77046664,193e71dbc6cc00508753c679ec3dd40c:-427111916</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_685e35dbdbcc005087295275ca96197f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">ac5e35dbdbcc005087295275ca96197d</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:30:37</sys_created_on><sys_id>685e35dbdbcc005087295275ca96197f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_685e35dbdbcc005087295275ca96197f</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:30:37</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-817411224</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>e68fe638db10c850ca1da0da4b96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcd0df0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>6a4f715f88cc00500d66674d5f484ee5</update_guid>\n<update_guid_history>6a4f715f88cc00500d66674d5f484ee5:-817411224,645e35db7fcc0050204751942d6b4080:-553738931</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_ac5e35dbdbcc005087295275ca96197d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>3</order><sp_column/><sp_container display_value=\"\">593e71dbdbcc005087295275ca96190b</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 22:30:37</sys_created_on><sys_id>ac5e35dbdbcc005087295275ca96197d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>3</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_ac5e35dbdbcc005087295275ca96197d</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 22:34:47</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1805612123</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>e68fe638db10c850ca1da0da4b961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d74dcd1050000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>3</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>e64f715f4dcc0050fb0db1c70713e3e8</update_guid>\n<update_guid_history>e64f715f4dcc0050fb0db1c70713e3e8:-1805612123,ed4f715f06cc0050eb44af9aa1256622:67077801,2c5e35db7ecc005032e18a193975027e:1666612653</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5bdaecae13c67740dd4e3192e144b058</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"angular.dirPagination\">554aa0ae13c67740dd4e3192e144b03e</sp_dependency><sp_js_include display_value=\"angular.dirPagination\">506a64ae13c67740dd4e3192e144b04a</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>Claudita</sys_created_by><sys_created_on>2019-06-17 22:24:58</sys_created_on><sys_id>5bdaecae13c67740dd4e3192e144b058</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular.dirPagination.angular.dirPagination</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5bdaecae13c67740dd4e3192e144b058</sys_update_name><sys_updated_by>Claudita</sys_updated_by><sys_updated_on>2019-06-17 22:24:58</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1720149340</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>ea8fe638db10c850ca1da0da4b96193c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73cdc3d30000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>angular.dirPagination.angular.dirPagination</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>93daecae65c67740b081b0c70cb8335a</update_guid>\n<update_guid_history>93daecae65c67740b081b0c70cb8335a:1720149340</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_bac68dd3db48005087295275ca961938</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>card_widget_example_page</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-09-27 18:28:01</sys_created_on><sys_id>bac68dd3db48005087295275ca961938</sys_id><sys_mod_count>0</sys_mod_count><sys_name>card_widget_example_page</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_page_bac68dd3db48005087295275ca961938</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-09-27 18:28:01</sys_updated_on><title>CARD WIDGET EXAMPLE PAGE</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=bac68dd3db48005087295275ca961938\"/></record_update>]]></payload>\n<payload_hash>-1161467027</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>ea8fe638db10c850ca1da0da4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73fad7400000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>card_widget_example_page</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>bec68dd3124800507b66be6e5b8e253a</update_guid>\n<update_guid_history>bec68dd3124800507b66be6e5b8e253a:-1161467027</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_554aa0ae13c67740dd4e3192e144b03e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>angular.dirPagination</module><name>angular.dirPagination</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>Claudita</sys_created_by><sys_created_on>2019-06-17 22:22:35</sys_created_on><sys_id>554aa0ae13c67740dd4e3192e144b03e</sys_id><sys_mod_count>3</sys_mod_count><sys_name>angular.dirPagination</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_554aa0ae13c67740dd4e3192e144b03e</sys_update_name><sys_updated_by>Claudita</sys_updated_by><sys_updated_on>2019-06-17 22:33:58</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1148399102</payload_hash>\n<remote_update_set display_value=\"pe-cases-card\">668fe638db10c850ca1da0da4b96193c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>claudia.cruz</sys_created_by>\n<sys_created_on>2019-10-02 17:56:33</sys_created_on>\n<sys_id>ee8fe638db10c850ca1da0da4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73cdc3dc0000001</sys_recorded_at>\n<sys_updated_by>claudia.cruz</sys_updated_by>\n<sys_updated_on>2019-10-02 17:56:33</sys_updated_on>\n<table/>\n<target_name>angular.dirPagination</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>57eca8621b0a7740255130b9a860cd30</update_guid>\n<update_guid_history>57eca8621b0a7740255130b9a860cd30:1148399102,338cec22a20a7740edd3a61e1289f1fe:711520259,965ae0ae37c6774053bb45dcbc1f0eb4:1148399102,105aec6e19c67740d8ca14176d221868:211698905</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-cases-card/widget/pe-cases-card.u-body-html-template.html",
    "content": "<div class =\"container search\">\n  <div class=\"search-cases\">\n    <div class=\"form-group has-feedback\">\n      <input type=\"text\" class=\"form-control\" ng-model=\"keyword\" placeholder=\"Search\"> \n      <span class=\"glyphicon glyphicon-search form-control-feedback\"></span>\n    </div>\n  </div>\n</div>\n<div class=\"container\">\n  <div class=\"card-wrapper\">\n    <div class=\"card\" dir-paginate=\"item in data.listItems | filter:keyword | itemsPerPage:c.pageSize\">\n      <div>\n        <h4 class=\"event-title\">{{item.number}}</h4>\n        <p class=\"\">{{item.short_description}} </p>\n        <span class='fa fa-circle circle-{{c.getColor(item.state)}}'>\n          <h5>{{item.state}}</h5>\n        </span>\n      </div>\n      <u class=\"body-card\">\n        <li>\n          <p>${Owner: }{{item.owner}}</p>\n          <p>${Created on: }{{item.created_on}}</p>\n          <p>${Due on: }{{item.due_date}}</p>\n          <a href=\"?id=ticket&table=sn_customerservice_case&sys_id={{item.sys_id}}\">${View Details}</a>\n        </li>\n      </u>\n    </div>\n  </div>\n  <dir-pagination-controls></dir-pagination-controls>\n</div>\n\n\n\n\n"
  },
  {
    "path": "src/pe-cases-card/widget/pe-cases-card.u-client-script.js",
    "content": "function CaseCardsController() {\n  var c = this;\n\n  c.getColor = function(state) {\n    switch (state) {\n    case 'New':\n      return 'gray';\n    case 'Open':\n      return 'gray';\n    case 'Awaiting Info':\n      return 'blue';\n    case 'Resolved':\n      return 'green';\n    case 'Closed':\n      return 'green';\n    case 'Cancelled':\n      return 'red';\n    default:\n      return 'gray';\n    }\n  };\n  c.pageSize = 12;\n}\n"
  },
  {
    "path": "src/pe-cases-card/widget/pe-cases-card.u-css.scss",
    "content": ".circle-green {\n  color: #33ab45;\n}\n.circle-red {\n  color: #d92912;\n}\n\n.circle-yellow {\n  color: #e0cc27;\n}\n.circle-blue {\n  color: #0085d2;\n}\n.circle-gray {\n  color: #dcd8d9;\n}\n\n.form-control-feedback {\n  color: #666;\n}\n\n.form-control:focus + .form-control-feedback {\n  color: #74acbb;\n}\n\n.form-control {\n  border: 1px solid #74acbb !important;\n}\n\n.search-cases {\n  float: right;\n}\n.container.search {\n  padding-bottom: 20px;\n  padding-top: 20px;\n}\n\n.body {\n  font-family: 'Source Sans Pro script=all rev=2', 'SourceSansPro', 'Source Sans Pro',\n    'Helvetica Neue', Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857;\n  color: #666;\n}\n\n.card-wrapper {\n  display: flex;\n  align-items: center;\n  align-content: center;\n  flex-direction: column;\n}\n\n.card {\n  color: #293e40;\n  padding: 28px 28px 5px 28px;\n  width: 32rem;\n  background-color: white;\n  display: flex;\n  flex-direction: column;\n  align-items: start;\n  justify-content: flex-start;\n  margin: 2rem 0;\n  box-shadow: 0.5rem 0.5rem 3rem rgba(0, 0, 0, 0.2);\n  .event-title {\n    margin: 0;\n    color: #293e40;\n    font-size: 20px;\n    font-weight: 600;\n  }\n  h5 {\n    display: inline;\n    color: #293e40 !important;\n    font-family: 'Source Sans Pro script=all rev=2', 'SourceSansPro', 'Source Sans Pro',\n      'Helvetica Neue', Helvetica, Arial, sans-serif;\n  }\n}\n\n@media screen and (min-width: 700px) {\n  .card-wrapper {\n    flex-direction: row;\n    flex-wrap: wrap;\n    justify-content: center;\n    align-items: center;\n  }\n  .card {\n    margin: 2rem;\n    transition: transform 0.5s;\n  }\n\n  .card:hover {\n    transform: scale(1.05);\n  }\n}\n\n.body-card {\n  margin-top: 12px;\n  border-top: 1px solid #dbe1e7;\n  color: #666;\n  width: 100%;\n  list-style: none;\n  display: flex;\n  justify-content: flex-start;\n  padding: 2rem 0;\n  margin-top: 1.5 rem;\n  text-decoration: none;\n}\n"
  },
  {
    "path": "src/pe-cases-card/widget/pe-cases-card.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-cases-card/widget/pe-cases-card.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"src_table\",\n    \"section\": \"other\",\n    \"default_value\": \"sn_customerservice_case\",\n    \"label\": \"Table\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-cases-card/widget/pe-cases-card.u-server-script.js",
    "content": "(function() {\n  var table = options.src_table || 'sn_customerservice_case';\n  var grCases = new GlideRecord(table);\n  grCases.query();\n  data.listItems = [];\n  while (grCases.next()) {\n    data.listItems.push({\n      number: grCases.number.getDisplayValue(),\n      short_description: grCases.short_description.getDisplayValue(),\n      state: grCases.state.getDisplayValue(),\n      owner: grCases.contact.getDisplayValue(),\n      created_on: grCases.sys_created_on.getDisplayValue(),\n      due_date: grCases.due_date.getDisplayValue(),\n      sys_id: grCases.getUniqueValue()\n    });\n  }\n})();\n"
  },
  {
    "path": "src/pe-collapsible-form/README.md",
    "content": "# Collapsible Form\n\n## Description\n\nA direct alternative to Service Portal's Form widget, that adds Bootstrap collapse to each form section. Instead of requiring management of a completely reindexed form model by replacing input directives, this widget simply substitutes part of the Angular template HTML. Stylable indicators are added next to each section title.\n\n## Screenshots\n\n![Collapsible Form](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-collapsible-form/images/pe-collapsible-form.png)\n\n![Collapsible Form Styled](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-collapsible-form/images/pe-collapsible-form-styled.png)\n\n## Additional Information/Notes\n\nThe update set will also create a Portal page with id `form_collapsible`, containing the Collapsible Form widget.\n\nThe out-of-box form widget will receive some updates in the Madrid release family, so a new version of the Collapsible Form will be forthcoming to match. The current version is marked 'London' for clarity, but should be compatible in an upgraded instance, except for not reflecting some small style updates.\n\n## Installation\n\nDownload and install update set **[pe-collapsible-form.u-update-set.xml](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-collapsible-form/pe-collapsible-form.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nCurrently the styling of the indicators is based on Sass variables in the widget styles, and the icon hard-coded as a Font Awesome icon in the template markup. Currently these are not assignable by widget options.\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$collapse-indicator-size: 30px !default;\n$collapse-indicator-border-radius: $border-radius-base !default; // 50% for circles\n\n// replace context, or define other colors\n$collapse-indicator-bg: $panel-default-heading-bg !default;\n$collapse-indicator-border: $btn-default-border !default;\n$collapse-indicator-color: $btn-default-color !default;\n```\n"
  },
  {
    "path": "src/pe-collapsible-form/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Form\",\n  \"common-name\": \"Collapsible Form\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Jacob Shemkovitz\"\n  ],\n  \"keywords\": [\n    \"Widget\",\n    \"Form\"\n  ],\n  \"name\": \"pe-collapsible-form\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A modification to the Form widget adding section collapse.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.1.0\"\n}\n"
  },
  {
    "path": "src/pe-collapsible-form/pe-collapsible-form.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-06 18:47:29\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Collapsible Form London 1.1</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>8f1dd55913c87300d0f170a76144b087</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>055d995913c87300d0f170a76144b098</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_8c9cbe2fdbff2f003a50de01ce961997</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">049c7a2fdbff2f003a50de01ce96194a</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-01 15:14:11</sys_created_on><sys_id>8c9cbe2fdbff2f003a50de01ce961997</sys_id><sys_mod_count>4</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_8c9cbe2fdbff2f003a50de01ce961997</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 15:11:10</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1168499086</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>015d995913c87300d0f170a76144b099</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169494238bc0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>91a8126cf8843b00e4b1d735c1f1e53d</update_guid>\n<update_guid_history>91a8126cf8843b00e4b1d735c1f1e53d:1168499086,50a8126c0d843b004fba787dccf8c183:-587585032,89181a2c29843b00dfb174ed89a8e944:1168499086,dc181a2c3c843b008fd478fdf736c291:-587585032,009cbe2f06ff2f00ac6c0e225137fa99:1168499086</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_portal_81b75d3147032100ba13a5554ee4902b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_portal\"&gt;&lt;sp_portal action=\"INSERT_OR_UPDATE\"&gt;&lt;css_variables&gt;$grid-gutter-width: 15px !default;&lt;/css_variables&gt;&lt;default&gt;true&lt;/default&gt;&lt;homepage display_value=\"index\"&gt;46cc384147532100ba13a5554ee49009&lt;/homepage&gt;&lt;icon/&gt;&lt;kb_knowledge_base display_value=\"IT\"&gt;a7e8a78bff0221009b20ffffffffff17&lt;/kb_knowledge_base&gt;&lt;kb_knowledge_page display_value=\"kb_view2\"&gt;26c2e030d7201200a9addd173e24d437&lt;/kb_knowledge_page&gt;&lt;login_page display_value=\"landing\"&gt;36c61807cb31120000f8d856634c9ca9&lt;/login_page&gt;&lt;logo&gt;152d6aa8dbc43b00d7f8f88eaf9619f1&lt;/logo&gt;&lt;notfound_page display_value=\"404\"&gt;3c2c9063cb11020000f8d856634c9c1f&lt;/notfound_page&gt;&lt;quick_start_config&gt;&lt;![CDATA[[{\n  \"tagline\": {\n    \"table\" : \"sp_instance\",\n    \"sys_id\" : \"34fe3d96cb20020000f8d856634c9cf4\",\n    \"field\" : \"title\"\n  },\n  \"hero_background\": {\n    \"table\" : \"sp_container\",\n    \"sys_id\" : \"be98a8d2cb20020000f8d856634c9c63\",\n    \"field\" : \"background_image\"\n  },\n  \"readonly_variable_editor\": \"false\"\n}]]]&gt;&lt;/quick_start_config&gt;&lt;sc_catalog display_value=\"Service Catalog\"&gt;e0d08b13c3330100c8b837659bba8fb4&lt;/sc_catalog&gt;&lt;sc_catalog_page/&gt;&lt;sc_category_page/&gt;&lt;sp_chat_queue/&gt;&lt;sp_rectangle_menu display_value=\"SP Header Menu\"&gt;d150fd31cb10020000f8d856634c9ce6&lt;/sp_rectangle_menu&gt;&lt;sqanda_knowledge_base/&gt;&lt;sys_class_name&gt;sp_portal&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fredex&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2014-09-09 21:08:15&lt;/sys_created_on&gt;&lt;sys_id&gt;81b75d3147032100ba13a5554ee4902b&lt;/sys_id&gt;&lt;sys_mod_count&gt;183&lt;/sys_mod_count&gt;&lt;sys_name&gt;Service Portal &lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal for Enterprise Service Management\" source=\"com.glide.service-portal.esm\"&gt;9e8c060245c32300aadb28ef70de71a3&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_portal_81b75d3147032100ba13a5554ee4902b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-04 16:40:45&lt;/sys_updated_on&gt;&lt;theme display_value=\"Stock\"&gt;79315153cb33310000f8d856634c9c4b&lt;/theme&gt;&lt;title&gt;Service Portal &lt;/title&gt;&lt;url_suffix&gt;sp&lt;/url_suffix&gt;&lt;/sp_portal&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=81b75d3147032100ba13a5554ee4902b\"/&gt;&lt;sys_attachment action=\"INSERT_OR_UPDATE\"&gt;&lt;average_image_color&gt;#0&lt;/average_image_color&gt;&lt;chunk_size_bytes&gt;734003&lt;/chunk_size_bytes&gt;&lt;compressed&gt;true&lt;/compressed&gt;&lt;content_type&gt;image/png&lt;/content_type&gt;&lt;encryption_context/&gt;&lt;file_name&gt;logo&lt;/file_name&gt;&lt;image_height&gt;312&lt;/image_height&gt;&lt;image_width&gt;815&lt;/image_width&gt;&lt;size_bytes&gt;9633&lt;/size_bytes&gt;&lt;size_compressed&gt;7876&lt;/size_compressed&gt;&lt;state/&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-04 16:40:45&lt;/sys_created_on&gt;&lt;sys_id&gt;152d6aa8dbc43b00d7f8f88eaf9619f1&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-04 16:40:45&lt;/sys_updated_on&gt;&lt;table_name&gt;ZZ_YYsp_portal&lt;/table_name&gt;&lt;table_sys_id&gt;81b75d3147032100ba13a5554ee4902b&lt;/table_sys_id&gt;&lt;/sys_attachment&gt;&lt;sys_attachment_doc action=\"INSERT_OR_UPDATE\"&gt;&lt;data&gt;H4sIAAAAAAAAAA==&lt;/data&gt;&lt;length&gt;16&lt;/length&gt;&lt;position&gt;0&lt;/position&gt;&lt;sys_attachment display_value=\"logo\" sys_id=\"152d6aa8dbc43b00d7f8f88eaf9619f1\"&gt;152d6aa8dbc43b00d7f8f88eaf9619f1&lt;/sys_attachment&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-04 16:40:45&lt;/sys_created_on&gt;&lt;sys_id&gt;552d6aa8dbc43b00d7f8f88eaf9619f1&lt;/sys_id&gt;&lt;/sys_attachment_doc&gt;&lt;sys_attachment_doc action=\"INSERT_OR_UPDATE\"&gt;&lt;data&gt;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&lt;/data&gt;&lt;length&gt;10488&lt;/length&gt;&lt;position&gt;1&lt;/position&gt;&lt;sys_attachment display_value=\"logo\" sys_id=\"152d6aa8dbc43b00d7f8f88eaf9619f1\"&gt;152d6aa8dbc43b00d7f8f88eaf9619f1&lt;/sys_attachment&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-04 16:40:45&lt;/sys_created_on&gt;&lt;sys_id&gt;d52d6aa8dbc43b00d7f8f88eaf9619f1&lt;/sys_id&gt;&lt;/sys_attachment_doc&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1861562003</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>0d5d995913c87300d0f170a76144b099</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16949943e1b0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>Service Portal </target_name>\n<type>Service Portal</type>\n<update_domain>global</update_domain>\n<update_guid>e92d6ea812c43b000ee309483188f0ab</update_guid>\n<update_guid_history>e92d6ea812c43b000ee309483188f0ab:1861562003,612d6aa85fc43b005aa78cb82da256f4:-994579788</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_ce751ea8db843b00d7f8f88eaf961935</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;sp_platform&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n  $scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n  \n  $scope.data.f._sections[0].showCollapsibleForm = true;\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });   \n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n    if ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id))\n          $scope.submitting = false;\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n    $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n  \n  function _save() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  }\n  \n  function onListClick(evt, arg) {\n    loadForm(arg.table, arg.sys_id);\n  }\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n  \n  var g_form;\n  function initForm(gFormInstance) {\n    if (gFormInstance.getTableName() == $scope.data.f.table){\n      g_form = gFormInstance;\n      spNavStateManager.register($scope.data.table, _save, g_form);\n      $scope.isPageReady = true;\n      $timeout(function() {\n        $rootScope.$emit('spModel.gForm.rendered', g_form);\n      }, 175);\n    }\n  }\n  \n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n    initForm(gFormInstance);\n  });\n  \n  $scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n    initForm(gFormInstance);\n  });\n  \n  // update the comments or worknotes based on activity stream\n  $scope.$on(\"activity_stream_is_changed\", function(event, data) {\n    if (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n      g_form.setValue(data.fieldName, data.input);\n      if (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n        g_form.setValue(data.fieldToClear, \"\");\n    }\n  })\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n    $scope.$evalAsync(function() {\n      $scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n    });\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n    $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.btn-form-menu {\n  vertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n  font-weight: bold;\n  margin-top: 2px;\n  margin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n  background-image: none;\n  background-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n    outline: thin dotted;\n    outline: 5px auto -webkit-focus-ring-color;\n    outline-offset: -2px; \n  }\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}\n\n\n// COLLAPSE ELEMENTS\n\n// size and shape of tile/circle\n$collapse-indicator-size: 30px !default;\n$collapse-indicator-border-radius: $border-radius-base !default; // 50% for circles\n\n// replace context, or define other colors\n$collapse-indicator-bg: $panel-default-heading-bg !default;\n$collapse-indicator-border: $btn-default-border !default;\n$collapse-indicator-color: $btn-default-color !default;\n\n// these, and icon element, could/should be replaced with widget options.\n// better behavior might be 'accordion' where each section stands alone,\n// and ideally could be made aware of individual section validation/completion,\n// but we're limited without completely replacing form directive\n\n$collapse-additional-gutter: 5px !default; // added between indicators and form, along with Bootstrap gutter\n\n$computed-h4-btn-height: ($headings-line-height * $font-size-h4) + ($padding-base-vertical * 2) + 2px;\n\n.section-heading {\n  margin-left: $collapse-indicator-size/2;\n  border-left: 1px solid $collapse-indicator-border;\n}\n.section-heading button {\n  color: inherit;\n  position: relative;\n  top: -($computed-h4-btn-height/2);\n  margin-left: -($collapse-indicator-size/2 + $padding-base-horizontal + 1px);\n}\n.section-heading:first-of-type {\n  margin-top: $computed-h4-btn-height/2;\n}\n.section-heading:last-of-type {\n  border-left: 1px solid transparent;\n}\n.section-heading &amp;gt; button &amp;gt; legend {\n  margin: 0;\n}\n.section-heading &amp;gt; button &amp;gt; legend &amp;gt; .collapse-indicator {\n  font-size: $collapse-indicator-size/2;\n  border: 1px solid $collapse-indicator-border;\n  width: $collapse-indicator-size;\n  height: $collapse-indicator-size;\n  line-height: $collapse-indicator-size - 2px;\n  border-radius: $collapse-indicator-border-radius;\n  margin-right: ($grid-gutter-width/2) + $collapse-additional-gutter;\n  background-color: $collapse-indicator-bg;\n  color: $collapse-indicator-color;\n  vertical-align: middle;\n}\n.section-heading &amp;gt; button:hover &amp;gt; legend &amp;gt; .collapse-indicator {\n  background-color: darken($collapse-indicator-bg, 10%);\n  border-color: darken($collapse-indicator-border, 12%);\n}\n.section-form, .nav-continue {\n  margin-left: $collapse-indicator-size/2;\n  border-left: 1px solid $collapse-indicator-border;\n  padding-left: ($collapse-indicator-size/2) + $collapse-additional-gutter;\n}\n.section-heading:last-of-type ~ .section-form {\n  border-left: 1px solid transparent;\n}\n.nav-continue {\n  padding-left: ($collapse-indicator-size/2) + $collapse-additional-gutter + ($grid-gutter-width/2);\n  padding-bottom: $computed-h4-btn-height/2 + $form-group-margin-bottom;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-form-collapsible-london&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Collapsible Form London&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function($sp, input, data, options, gs) {\n  /* \"use strict\"; -linter issues */\n  // populate the 'data' variable\n  data.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n  data.recordAddedMsg = gs.getMessage(\"Record Added\");\n  data.updatedMsg = gs.getMessage(\"updated_uppercase\");\n  data.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n  data.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n  data.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n  data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n  if (isNaN(data.maxAttachmentSize))\n    data.maxAttachmentSize = 24;\n  data.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n  data.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n  \n  data.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n  data.emptyStateTemplate = options.empty_state_template;\n  data.disableUIActions = options.disableUIActions === \"true\";\n  data.hideRelatedLists = options.hideRelatedLists || false;\n\n  if (input) {\n    data.table = input.table;\n    data.sys_id = input.sys_id;\n    data.view = input.view;\n    var result = {};\n    if (input._fields) {\n      result = $sp.saveRecord(input.table, input.sys_id, input._fields);\n      data.sys_id = result.sys_id;\n    }\n\n    if (input.sys_id == '-1')\n      data.isNewRecord = true;\n  } else {\n    data.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n    data.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n    data.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n  }\n\n  data.query = $sp.getParameter(\"query\") || options.query || \"\";\n  data.f = {};\n  if (!data.table)\n    return;\n  \n  // Form widget is not a supported way to view an attachment\n  if (data.table == \"sys_attachment\") {\n    data.tableUnsupported = true;\n    return;\n  }\n\n  if (!GlideTableDescriptor.isValid(data.table))\n    return;\n\n  if (!data.sys_id)\n    return;\n\n  var rec = $sp.getRecord(data.table, data.sys_id);\n  data.isValid = rec.isValid() || data.sys_id == \"-1\";\n  if (!data.isValid)\n    return;\n\n  data.table = rec.getRecordClassName();\n  data.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n  data.canWrite = rec.canWrite();\n  var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n  data.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n  data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n  // Activity formatter is hardcoded to set specific options\n  for (var f in data.f._formatters) {\n    var fm = data.f._formatters[f];\n    if (fm.formatter == \"activity.xml\") {\n      fm.hardcoded = true;\n      fm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n                                {table: data.table,\n                                 sys_id: data.sys_id,\n                                 includeExtended: true,\n                                 title: \"${Activity}\",\n                                 use_dynamic_placeholder: true,\n                                 btnLabel: \"${Post}\"});\n    } else if(fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n      var qsConfig = $sp.getValue('quick_start_config');\n      if (qsConfig)\n        qsConfig = JSON.parse(qsConfig)[0];\n      fm.widgetInstance = $sp.getWidget(fm.widget, {table: data.table,\n                            sys_id: data.sys_id,\n                            readonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'});\n    } else\n      fm.widgetInstance = $sp.getWidget(fm.widget, data);\n  }\n})($sp, input, data, options, gs);]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-04 14:57:18&lt;/sys_created_on&gt;&lt;sys_id&gt;ce751ea8db843b00d7f8f88eaf961935&lt;/sys_id&gt;&lt;sys_mod_count&gt;18&lt;/sys_mod_count&gt;&lt;sys_name&gt;Collapsible Form London&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_ce751ea8db843b00d7f8f88eaf961935&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-06 18:41:06&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n        &lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n        &lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;span ng-repeat=\"rl in data.f._related_lists\" ng-if=\"rl.visible\"&gt;\n            &lt;a ng-if=\"rl.type != 'REL'\" ng-href=\"?id=lf&amp;table={{::rl.table}}&amp;filter={{rl.field}}%3D{{data.f.sys_id}}&amp;view={{data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', filter: '{{rl.field}}%3D{{data.f.sys_id}}'})\"&gt;{{rl.plural}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{::rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;a ng-if=\"::rl.type == 'REL'\" href=\"?id=lf&amp;table={{::rl.table}}&amp;relationship_id={{rl.relationship_id}}&amp;apply_to={{rl.apply_to}}&amp;apply_to_sys_id={{rl.apply_to_sys_id}}&amp;view={{::data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', apply_to: '{{rl.apply_to}}', apply_to_sys_id: '{{rl.apply_to_sys_id}}', relationship_id: '{{rl.relationship_id}}'})\"&gt;{{rl.label}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;span ng-if=\"!$last\" style=\"padding-left: .5em; padding-right: .5em;\" aria-hidden=\"true\"&gt; | &lt;/span&gt;\n          &lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;script type=\"text/ng-template\" id=\"empty-state-list-form.html\"&gt;\n&lt;div class=\"empty-state\"&gt;\n  &lt;div class=\"empty-state-content\"&gt;\n    &lt;div class=\"empty-state-badge fa fa-list-ul\" style=\"background-color: #31708f;\"&gt;&lt;/div&gt;\n    &lt;h3 class=\"empty-state-header\"&gt;${List and Form}&lt;/h3&gt;\n    &lt;p&gt;${Select a record from the list to view its details in this pane.}&lt;/p&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;/script&gt;\n&lt;script type=\"text/ng-template\" id=\"empty-state-page-editor.html\"&gt;\n&lt;div class=\"empty-state\"&gt;\n  &lt;div class=\"empty-state-content\"&gt;\n    &lt;div class=\"empty-state-badge fa fa-file\" style=\"background-color: #5cb85c;\"&gt;&lt;/div&gt;\n    &lt;h3 class=\"empty-state-header\"&gt;${Page Editor}&lt;/h3&gt;\n    &lt;p&gt;${Select a page above to view a map of the hierarchical structure of any page.}&lt;/p&gt;\n    &lt;p&gt;${From the map, you can select an element to expose it in a form below the page map.}&lt;/p&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;/script&gt;\n&lt;script type=\"text/ng-template\" id=\"empty-state-portal-edit.html\"&gt;\n&lt;div class=\"empty-state\"&gt;\n  &lt;div class=\"empty-state-content\"&gt;\n    &lt;div class=\"empty-state-badge fa fa-sitemap\" style=\"background-color: #f0ad4e;\"&gt;&lt;/div&gt;\n    &lt;h3 class=\"empty-state-header\"&gt;${Portal Editor}&lt;/h3&gt;\n    &lt;p&gt;${Select a portal above to view a map of the structure of any portal.}&lt;/p&gt;\n    &lt;p&gt;${From the map, you can select an element to expose it in a form below the portal map.}&lt;/p&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;/script&gt;\n\n&lt;script type=\"text/ng-template\" id=\"sp_variable_layout.xml\"&gt;\n&lt;style&gt;\n.nav-continue, .nav-continue.collapse { display: none; }\n/* show 'continue' nav when previous section is expanded */\n.collapse.in + .nav-continue { display: block; }\n&lt;/style&gt;\n\n&lt;!-- COLLAPSIBLE BY SECTION --&gt;\n\n&lt;div ng-if=\"containers[0].showCollapsibleForm\"&gt;\n\n&lt;nav ng-repeat-start=\"container in containers\" ng-if=\"container.id\" class=\"nav-continue\"&gt;\n  &lt;button ng-class=\"['btn btn-default', 'collapse', 'collapse-' + container.id, { 'in': !($first || (container._parent == containers[0].id) ) }]\"\n          type=\"button\" data-toggle=\"collapse\" data-target=\".collapse-{{container.id}}\" \n          aria-target=\"collapse-{{container.id}}\" aria-expanded=\"{{($first || (container._parent == containers[0].id) )}}\"&gt;\n    Continue\n  &lt;/button&gt;\n&lt;/nav&gt;\n\n&lt;div ng-if=\"container.id\" id=\"collapse-{{container.id}}\" class=\"section-heading\"&gt;\n  &lt;button ng-class=\"['btn btn-link', {'collapsed': !($first || (container._parent == containers[0].id) ) }]\"\n    type=\"button\" data-toggle=\"collapse\" data-target=\".collapse-{{container.id}}\" aria-expanded=\"{{($first || (container._parent == containers[0].id) )}}\" aria-target=\"collapse-{{container.id}}\"&gt;\n      &lt;legend class=\"h4\" id=\"heading-{{container.id}}\"&gt;&lt;i class=\"fa fa-align-left collapse-indicator\" aria-hidden=\"true\"&gt;&lt;/i&gt;{{container.captionDisplay || container.caption || 'Form Section'}}&lt;/legend&gt;\n  &lt;/button&gt;\n  &lt;sp-help-tag field=\"::formModel._fields[container.name]\"&gt;&lt;/sp-help-tag&gt;\n&lt;/div&gt;\n\n&lt;span ng-if=\"!container.id\" ng-init=\"containers[$index]._parent = containers[$index-1]._parent || containers[$index-1].id\"&gt;&lt;/span&gt;\n\n&lt;fieldset ng-repeat-end ng-show=\"paintForm(container)\" aria-labelledby=\"heading-{{container.id || container._parent}}\"\n          ng-class=\"['section-form', 'row', 'collapse-' + (container.id || container._parent), 'collapse', 'section-' + $index, {'in': ($first || (container._parent == containers[0].id))}]\"&gt;\n  &lt;div ng-repeat=\"column in container.columns\" class=\"col-md-{{::12 / container.columns.length }}\"&gt;\n    &lt;div ng-switch=\"::f.type\" ng-repeat=\"f in ::column.fields\" id=\"{{::getVarID(f)}}\" ng-class=\"::{'form-inline': isInlineForm === true }\"&gt;\n      &lt;div ng-switch-when=\"label\" ng-if=\"formModel._fields[f.name]\" ng-show=\"formModel._fields[f.name].isVisible()\"&gt;\n        &lt;label ng-bind=\"f.label\"&gt;&lt;/label&gt;\n        &lt;sp-help-tag field=\"::formModel._fields[f.name]\"&gt;&lt;/sp-help-tag&gt;\n        &lt;hr class=\"sp_label_hr\"&gt;&lt;/hr&gt;\n      &lt;/div&gt;\n      &lt;sp-form-field ng-switch-when=\"field\" ng-if=\"formModel._fields[f.name]\" form-model=\"formModel\" field=\"formModel._fields[f.name]\" glide-form=\"getGlideForm()\" ng-show=\"formModel._fields[f.name].isVisible()\" default-value-setter=\"setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)\"&gt;&lt;/sp-form-field&gt;\n      &lt;sp-variable-layout ng-switch-when=\"container\" ng-init=\"containers=[f]\"&gt;&lt;/sp-variable-layout&gt;\n      &lt;sp-checkbox-group ng-switch-when=\"checkbox_container\" name=\"f.name\" form-model=\"formModel\" containers=\"f.containers\" glide-form=\"getGlideForm()\" class=\"checkbox-container\"&gt;&lt;/sp-checkbox-group&gt;\n      &lt;sp-widget ng-switch-when=\"formatter\" ng-if=\"formModel._formatters[f.id].widgetInstance\" widget=\"formModel._formatters[f.id].widgetInstance\" page=\"{g_form: getGlideForm()}\"&gt;&lt;/sp-widget&gt;\n      &lt;hr ng-switch-when=\"break\" ng-show=\"formModel._fields[f.name].isVisible()\"&gt;&lt;/hr&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/fieldset&gt;\n\n&lt;/div&gt;\n\n&lt;fieldset ng-if=\"!containers[0].showCollapsibleForm\" ng-repeat=\"container in containers\" ng-show=\"paintForm(container)\"&gt;&lt;div ng-if=\"(container.caption || container.captionDisplay)\"&gt;&lt;legend class=\"h4\"&gt;{{container.captionDisplay || container.caption}}&lt;/legend&gt;&lt;p ng-if=\"::formModel._fields[container.name].help_text\" title=\"{{::formModel._fields[container.name].help_tag}}\" class=\"help-block\" ng-bind=\"::formModel._fields[container.name].help_text\"&gt;&lt;/p&gt;&lt;span ng-if=\"::formModel._fields[container.name].instructions\" ng-bind-html=\"::formModel._fields[container.name].instructions\"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=\"row\"&gt;&lt;div ng-repeat=\"column in container.columns\" class=\"col-md-{{::12 / container.columns.length }}\"&gt;&lt;div ng-switch=\"::f.type\" ng-repeat=\"f in ::column.fields\" id=\"{{::getVarID(f)}}\" ng-class=\"::{'form-inline': isInlineForm === true }\"&gt;&lt;div ng-switch-when=\"label\" ng-if=\"formModel._fields[f.name]\" ng-show=\"formModel._fields[f.name].isVisible()\"&gt;&lt;label ng-bind=\"f.label\"&gt;&lt;/label&gt;&lt;p ng-if=\"formModel._fields[f.name].help_text\" title=\"{{formModel._fields[f.name].help_tag}}\" class=\"help-block\" ng-bind=\"formModel._fields[f.name].help_text\"&gt;&lt;/p&gt;&lt;span ng-if=\"formModel._fields[f.name].instructions\" ng-bind-html=\"::trustedHTML(formModel._fields[f.name].instructions)\"&gt;&lt;/span&gt;&lt;hr class=\"sp_label_hr\"&gt;&lt;/hr&gt;&lt;/div&gt;&lt;sp-form-field ng-switch-when=\"field\" ng-if=\"formModel._fields[f.name]\" form-model=\"formModel\" field=\"formModel._fields[f.name]\" glide-form=\"getGlideForm()\" ng-show=\"formModel._fields[f.name].isVisible()\" default-value-setter=\"setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)\"&gt;&lt;/sp-form-field&gt;&lt;sp-variable-layout ng-switch-when=\"container\" ng-init=\"containers=[f]\"&gt;&lt;/sp-variable-layout&gt;&lt;sp-checkbox-group ng-switch-when=\"checkbox_container\" name=\"f.name\" form-model=\"formModel\" containers=\"f.containers\" glide-form=\"getGlideForm()\" class=\"checkbox-container\"&gt;&lt;/sp-checkbox-group&gt;&lt;sp-widget ng-switch-when=\"formatter\" ng-if=\"formModel._formatters[f.id].widgetInstance\" widget=\"formModel._formatters[f.id].widgetInstance\" page=\"{g_form: getGlideForm()}\"&gt;&lt;/sp-widget&gt;&lt;hr ng-switch-when=\"break\" ng-show=\"formModel._fields[f.name].isVisible()\"&gt;&lt;/hr&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/fieldset&gt;\n\n&lt;/script&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>925202222</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>455d995913c87300d0f170a76144b09a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169544f25630000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>Collapsible Form London</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>33db99d502c87300153686f13bd747be</update_guid>\n<update_guid_history>33db99d502c87300153686f13bd747be:925202222,b24a55d5cbc87300e7a4b4da99f62895:1646070192,10c9eae4cfc43b00993fe4005d82fa6f:600144965,fc5926e42ac43b00563c042966abc9c1:-1461749828,ecc76e64e2c43b001d3d341334ff04fa:-817286397,0637a2a4e5c43b00e1a7591edb846bfd:858572056,13a66e641ec43b003d26bfad074b31e6:1480697577,f9152624eec43b009bc6c3a5281d3d50:1511874069,ad9426246fc43b005af80295a34dce07:2012960731,fce322e04dc43b00c2c52339972aac8b:449120980,6f63aee076c43b00659b86298d14fef2:2012960731,b4e122e08fc43b00c867a2cc317d2507:-1468032476,95312aa04ec43b00419cd166f07f2eee:-174866274,15ee5260fec43b00ce4995f1e2ee5386:-1871822732,75e9de6c5a843b000711a0a633199e29:-1403470276,66d7562cc0843b0081a9ade5a0ed8c7f:-1407376938,10e6d2e856843b00e821e85b0e3f6267:-1646439338,31b55ea83f843b0041d6172758202ebd:1158550939,0a755ea8a1843b000d01a23fa0cf6da0:1259316831</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_c6755ea8db843b00d7f8f88eaf9619a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"spAttachmentManager\">06e836f0d722120023c84f80de6103a1</sp_angular_provider><sp_widget display_value=\"Copy of Form\">ce751ea8db843b00d7f8f88eaf961935</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-04 14:57:18</sys_created_on><sys_id>c6755ea8db843b00d7f8f88eaf9619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>spAttachmentManager.Copy of Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_c6755ea8db843b00d7f8f88eaf9619a1</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 14:57:18</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>1024909556</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>495d995913c87300d0f170a76144b098</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169493587610000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>spAttachmentManager.Copy of Form</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>8e755ea83c843b0002e589ead21781a2</update_guid>\n<update_guid_history>8e755ea83c843b0002e589ead21781a2:1024909556</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_889c7a2fdbff2f003a50de01ce961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>standard</category><css/><draft>false</draft><dynamic_title_structure/><id>form_collapsible</id><internal>false</internal><public>false</public><roles/><short_description>Record Form</short_description><sys_class_name>sp_page</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-01 15:14:11</sys_created_on><sys_id>889c7a2fdbff2f003a50de01ce961945</sys_id><sys_mod_count>6</sys_mod_count><sys_name>form_collapsible</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_page_889c7a2fdbff2f003a50de01ce961945</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 16:39:18</sys_updated_on><title>Form</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=889c7a2fdbff2f003a50de01ce961945\"/></record_update>]]></payload>\n<payload_hash>-1352310314</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>495d995913c87300d0f170a76144b099</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1694992e9910000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>form_collapsible</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>d8dce6a81ac43b00684948f9638d6465</update_guid>\n<update_guid_history>d8dce6a81ac43b00684948f9638d6465:-1352310314,72ac26a831c43b00c2c1f5353fd06e1c:265270707,dc581e2c8c843b0027891cd142b5ab73:-1352310314,fe48da2c0b843b00225fe0e3121d2759:-201592694,7ed4fe805144f700c063df57f924940c:-1352310314,f1bc326f87ff2f00c24289e4a9f36759:-1967749472,849c7a2f45ff2f00ed619cbf77b48947:-1980606924</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_049c7a2fdbff2f003a50de01ce96194a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Form - Container 1\">c09c7a2fdbff2f003a50de01ce961948</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-01 15:14:11</sys_created_on><sys_id>049c7a2fdbff2f003a50de01ce96194a</sys_id><sys_mod_count>4</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_049c7a2fdbff2f003a50de01ce96194a</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 15:11:01</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1250350912</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>815d995913c87300d0f170a76144b09a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1694942157a0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>8f98126cf4843b000873a56a514f9914</update_guid>\n<update_guid_history>8f98126cf4843b000873a56a514f9914:-1250350912,4a985e2cdd843b0013bdce572d057dc8:-728404534,f4285a2c6f843b00824a380b1ceb30bb:-1250350912,fb185a2cc8843b0020b2329dd32d85dc:-728404534,409cbe2f52ff2f007a35c9d1dd14e797:-1046296066</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_cc9cbe2fdbff2f003a50de01ce961999</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">8c9cbe2fdbff2f003a50de01ce961997</sp_column><sp_widget display_value=\"Collapsible Form London\">ce751ea8db843b00d7f8f88eaf961935</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-01 15:14:11</sys_created_on><sys_id>cc9cbe2fdbff2f003a50de01ce961999</sys_id><sys_mod_count>6</sys_mod_count><sys_name>Form</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_cc9cbe2fdbff2f003a50de01ce961999</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 16:37:44</sys_updated_on><title>Form</title><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=cc9cbe2fdbff2f003a50de01ce961999\"/></record_update>]]></payload>\n<payload_hash>113733962</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>855d995913c87300d0f170a76144b099</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16949917a400000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>Form</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>dd7ca2a815c43b005e3becc5aede5917</update_guid>\n<update_guid_history>dd7ca2a815c43b005e3becc5aede5917:113733962,955ceae45ec43b0001e51289023223b7:-1676838731,14b8526c73843b0071ade8f3622b6031:113733962,6ba8126ce0843b000c35f75f2c6ebe43:1647163169,3ba7922c5e843b00b7426b41180424d8:-1330053722,b5ccfe2f43ff2f00e0e070ae39869604:1531482632,c49cbe2fa4ff2f008ea48ed6b3a94b9b:1810535582</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_c09c7a2fdbff2f003a50de01ce961948</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name>form-parent</class_name><container_class_name>form-container</container_class_name><name>Form - Container 1</name><order>1</order><sp_page display_value=\"form_collapsible\">889c7a2fdbff2f003a50de01ce961945</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-01 15:14:11</sys_created_on><sys_id>c09c7a2fdbff2f003a50de01ce961948</sys_id><sys_mod_count>6</sys_mod_count><sys_name>Form - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_c09c7a2fdbff2f003a50de01ce961948</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 15:10:31</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1661586076</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>c15d995913c87300d0f170a76144b099</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16949419f070000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>Form - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>6f789e2c48843b0094ed5cbf876b7288</update_guid>\n<update_guid_history>6f789e2c48843b0094ed5cbf876b7288:1661586076,ee789e2caf843b004640cd1f0727f984:1661683270,ad38da2c46843b00c8af565492ee6b52:1661586076,8038da2c26843b00562e02afe7e20a44:1661683270,7ed4fe807e44f7009e07d42d2a2b6b08:1661586076,b5bc326f53ff2f00f3663dca1992a756:-145189107,849c7a2fa5ff2f002d1f62ebe6941d49:-764515291</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_ce755ea8db843b00d7f8f88eaf9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Copy of Form\">ce751ea8db843b00d7f8f88eaf961935</child><cloned>2019-03-04 14:57:18</cloned><last_validated>2019-03-04 14:57:18</last_validated><parent display_value=\"Form\">fd1f4ec347730200ba13a5554ee490c0</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;sp_platform&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n  $scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary &amp;&amp; action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });   \n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length &gt; 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&amp;landscape=\" + landscape + \"&amp;sys_id=\" + $scope.data.sys_id + \"&amp;sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n    if ($scope.data.disableUIActions &amp;&amp; !action.primary) {\n      return;\n    }\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id))\n          $scope.submitting = false;\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n    $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n  \n  function _save() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  }\n  \n  function onListClick(evt, arg) {\n    loadForm(arg.table, arg.sys_id);\n  }\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n  \n  var g_form;\n  function initForm(gFormInstance) {\n    if (gFormInstance.getTableName() == $scope.data.f.table){\n      g_form = gFormInstance;\n      spNavStateManager.register($scope.data.table, _save, g_form);\n      $scope.isPageReady = true;\n      $timeout(function() {\n        $rootScope.$emit('spModel.gForm.rendered', g_form);\n      }, 175);\n    }\n  }\n  \n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n    initForm(gFormInstance);\n  });\n  \n  $scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n    initForm(gFormInstance);\n  });\n  \n  // update the comments or worknotes based on activity stream\n  $scope.$on(\"activity_stream_is_changed\", function(event, data) {\n    if (g_form &amp;&amp; g_form.hasField(data.fieldName)) {\n      g_form.setValue(data.fieldName, data.input);\n      if (data.fieldToClear != \"\" &amp;&amp; g_form.hasField(data.fieldToClear))\n        g_form.setValue(data.fieldToClear, \"\");\n    }\n  })\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length &gt; 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n    $scope.$evalAsync(function() {\n      $scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n    });\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n    $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as/&gt;&lt;css&gt;.btn-form-menu {\n  vertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n  font-weight: bold;\n  margin-top: 2px;\n  margin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n  background-image: none;\n  background-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n    outline: thin dotted;\n    outline: 5px auto -webkit-focus-ring-color;\n    outline-offset: -2px; \n  }\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget-form&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Form&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"disableUIActions\",\"section\":\"Behavior\",\"label\":\"Disable UI Actions on Form\",\"type\":\"boolean\"},{\"name\":\"showFormView\",\"section\":\"Behavior\",\"label\":\"Display current form view\",\"type\":\"boolean\"},{\"name\":\"omitHeaderOptions\",\"section\":\"Behavior\",\"label\":\"Omit header options icon\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[// form functionality - URL parameter driven\n(function($sp, input, data, options, gs) {\n  /* \"use strict\"; -linter issues */\n  // populate the 'data' variable\n  data.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n  data.recordAddedMsg = gs.getMessage(\"Record Added\");\n  data.updatedMsg = gs.getMessage(\"updated_uppercase\");\n  data.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n  data.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n  data.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n  data.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n  if (isNaN(data.maxAttachmentSize))\n    data.maxAttachmentSize = 24;\n  data.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n  data.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n  \n  data.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n  data.emptyStateTemplate = options.empty_state_template;\n  data.disableUIActions = options.disableUIActions === \"true\";\n  data.hideRelatedLists = options.hideRelatedLists || false;\n\n  if (input) {\n    data.table = input.table;\n    data.sys_id = input.sys_id;\n    data.view = input.view;\n    var result = {};\n    if (input._fields) {\n      result = $sp.saveRecord(input.table, input.sys_id, input._fields);\n      data.sys_id = result.sys_id;\n    }\n\n    if (input.sys_id == '-1')\n      data.isNewRecord = true;\n  } else {\n    data.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n    data.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n    data.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n  }\n\n  data.query = $sp.getParameter(\"query\") || options.query || \"\";\n  data.f = {};\n  if (!data.table)\n    return;\n  \n  // Form widget is not a supported way to view an attachment\n  if (data.table == \"sys_attachment\") {\n    data.tableUnsupported = true;\n    return;\n  }\n\n  if (!GlideTableDescriptor.isValid(data.table))\n    return;\n\n  if (!data.sys_id)\n    return;\n\n  var rec = $sp.getRecord(data.table, data.sys_id);\n  data.isValid = rec.isValid() || data.sys_id == \"-1\";\n  if (!data.isValid)\n    return;\n\n  data.table = rec.getRecordClassName();\n  data.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n  data.canWrite = rec.canWrite();\n  var hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n  data.canAttach = hasRecordAccess &amp;&amp; gs.hasRole(gs.getProperty('glide.attachment.role')) &amp;&amp; !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n  data.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n  // Activity formatter is hardcoded to set specific options\n  for (var f in data.f._formatters) {\n    var fm = data.f._formatters[f];\n    if (fm.formatter == \"activity.xml\") {\n      fm.hardcoded = true;\n      fm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n                                {table: data.table,\n                                 sys_id: data.sys_id,\n                                 includeExtended: true,\n                                 title: \"${Activity}\",\n                                 use_dynamic_placeholder: true,\n                                 btnLabel: \"${Post}\"});\n    } else if(fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n      var qsConfig = $sp.getValue('quick_start_config');\n      if (qsConfig)\n        qsConfig = JSON.parse(qsConfig)[0];\n      fm.widgetInstance = $sp.getWidget(fm.widget, {table: data.table,\n                            sys_id: data.sys_id,\n                            readonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'});\n    } else\n      fm.widgetInstance = $sp.getWidget(fm.widget, data);\n  }\n})($sp, input, data, options, gs);]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-11-22 21:32:20&lt;/sys_created_on&gt;&lt;sys_id&gt;fd1f4ec347730200ba13a5554ee490c0&lt;/sys_id&gt;&lt;sys_mod_count&gt;971&lt;/sys_mod_count&gt;&lt;sys_name&gt;Form&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;568c060245c32300aadb28ef70de71a4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_fd1f4ec347730200ba13a5554ee490c0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-20 18:17:45&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"::!data.isValid &amp;&amp; !data.emptyStateTemplate\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n    &lt;span ng-if=\"!data.tableUnsupported\"&gt;${Record not found}&lt;/span&gt;\n    &lt;span ng-if=\"data.tableUnsupported\"&gt;${Form view not supported for requested table}&lt;/span&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isValid &amp;&amp; data.emptyStateTemplate\" class=\"panel-shift\"&gt;\n  &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isValid\" class=\"panel-shift\"&gt;\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; data.emptyStateTemplate\"&gt;\n    &lt;div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"\" ng-if=\"!data.f._view.length &amp;&amp; data.hideRelatedLists &amp;&amp; !data.emptyStateTemplate\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;&lt;span class=\"panel-title\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;&lt;/div&gt;\n      &lt;div class=\"panel-body wrapper-lg text-center\"&gt;\n        ${No elements to display}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" &gt;\n    &lt;div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\"&gt;\n        &lt;span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length &gt; 0) &amp;&amp; options.omitHeaderOptions != 'true'\"&gt;\n            &lt;button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\"&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Open in platform}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\" class=\"dropdown-header\"&gt;${Configure}&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f._sections[0].id}}&amp;sysparm_form=section&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Form Layout}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&amp;sysparm_list={{data.f.table}}&amp;sysparm_form=related_list&amp;sysparm_view={{data.f.view}}\" target=\"_blank\"&gt;${Related Lists}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_ui_policy&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${UI Policies} &lt;span class=\"badge pull-right\" ng-if=\"f.policy.length\"&gt;{{f.policy.length}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin\"&gt;&lt;a href=\"?id=lf&amp;table=sys_script_client&amp;filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\"&gt;${Client Scripts} &lt;span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\"&gt;{{adminMenu.getClientScriptCount()}}&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"getUIActions('context').length &gt; 0 &amp;&amp;  data.isAdmin\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li ng-repeat=\"action in getUIActions('context')\"&gt;&lt;a href=\"\" ng-click=\"triggerUIAction(action)\"&gt;{{action.name}}&lt;/a&gt;&lt;/li&gt;\n              &lt;li ng-if=\"::data.isAdmin || getUIActions('context').length &gt; 0\" role=\"separator\" class=\"divider\"&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF}&lt;/a&gt;&lt;/li&gt;\n              &lt;li&gt;&lt;a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&amp;landscape=true&amp;sys_id={{data.sys_id}}&amp;sysparm_view={{data.f.view}}\"&gt;${Export to PDF (landscape)}&lt;/a&gt;&lt;/li&gt;\n            &lt;/ul&gt;\n        &lt;/span&gt;\n      &lt;span class=\"panel-title\" aria-label=\"{{data.f.title}}\"&gt;{{data.f.title}}&lt;/span&gt; &lt;span ng-if=\"::options.showFormView == 'true' &amp;&amp; data.f.view != ''\"&gt;[{{data.f.view_title}} view]&lt;/span&gt;\n      &lt;div ng-if=\"::attachmentHandler &amp;&amp; data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\"&gt;\n        &lt;sp-attachment-button&gt;&lt;/sp-attachment-button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;!-- performance debug --&gt;\n      &lt;div ng-if=\"data.show_sql\"&gt;\n        &lt;div class=\"comment\"&gt;\n          &lt;span ng-if=\"data.f._perf.sql_count\"&gt;${SQL Statements {{data.f._perf.sql_count}}}, &lt;/span&gt;\n          &lt;span&gt;${Time {{data.f._perf.time}}}&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\"&gt;\n          {{s.statement}}\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- attachments --&gt;\n      &lt;sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"&gt;&lt;/sp-attachment-manager&gt;\n      &lt;!-- form --&gt;\n      &lt;div&gt;\n        &lt;sp-model form_model=\"data.f\" mandatory=\"mandatory\"&gt;&lt;/sp-model&gt;\n      &lt;/div&gt;\n      &lt;!-- UI Action Links --&gt;\n      &lt;div ng-if=\"getUIActions('link').length &gt; 0\"&gt;\n        &lt;label style=\"margin: 0;\"&gt;${Related Links}&lt;/label&gt;\n        &lt;div ng-repeat=\"action in getUIActions('link')\"&gt;\n          &lt;a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\"&gt;{{::action.name}}&lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;!-- related lists --&gt;\n      &lt;div ng-if=\"!data.hideRelatedLists\"&gt;\n        &lt;label style=\"margin: 0\"&gt;${Related Lists}&lt;/label&gt;\n        &lt;div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\"&gt;\n          &lt;span ng-repeat=\"rl in data.f._related_lists\" ng-if=\"rl.visible\"&gt;\n            &lt;a ng-if=\"rl.type != 'REL'\" ng-href=\"?id=lf&amp;table={{::rl.table}}&amp;filter={{rl.field}}%3D{{data.f.sys_id}}&amp;view={{data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', filter: '{{rl.field}}%3D{{data.f.sys_id}}'})\"&gt;{{rl.plural}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{::rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;a ng-if=\"::rl.type == 'REL'\" href=\"?id=lf&amp;table={{::rl.table}}&amp;relationship_id={{rl.relationship_id}}&amp;apply_to={{rl.apply_to}}&amp;apply_to_sys_id={{rl.apply_to_sys_id}}&amp;view={{::data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', apply_to: '{{rl.apply_to}}', apply_to_sys_id: '{{rl.apply_to_sys_id}}', relationship_id: '{{rl.relationship_id}}'})\"&gt;{{rl.label}}\n              &lt;span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\"&gt;{{rl.count}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;span ng-if=\"!$last\" style=\"padding-left: .5em; padding-right: .5em;\" aria-hidden=\"true\"&gt; | &lt;/span&gt;\n          &lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n\n    &lt;div class=\"panel-footer\"&gt;\n      &lt;button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\"&gt;{{action.name}}&lt;/button&gt;\n      &lt;span&gt;{{status}}&lt;/span&gt;\n      &lt;button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\"&gt;${Save} &lt;span ng-if=\"saveButtonSuffix\"&gt;(${{{saveButtonSuffix}}})&lt;/span&gt;&lt;/button&gt;\n      &lt;div style=\"clear: both;\"&gt;&lt;/div&gt;\n      &lt;div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\"&gt;\n        &lt;span ng-if=\"mandatory.length &gt; 0\"&gt;${Required information} &lt;/span&gt;\n        &lt;span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"&gt;&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-04 14:57:18</sys_created_on><sys_id>ce755ea8db843b00d7f8f88eaf9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ce751ea8db843b00d7f8f88eaf961935</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_ce755ea8db843b00d7f8f88eaf9619a3</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-04 14:57:18</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>-826056833</payload_hash>\n<remote_update_set display_value=\"Collapsible Form London 1.1\">055d995913c87300d0f170a76144b098</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-06 18:47:28</sys_created_on>\n<sys_id>cd5d995913c87300d0f170a76144b099</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169493587bf0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-06 18:47:28</sys_updated_on>\n<table/>\n<target_name>ce751ea8db843b00d7f8f88eaf961935</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>06755ea8ad843b00fdf25cc9b0b08ea5</update_guid>\n<update_guid_history>06755ea8ad843b00fdf25cc9b0b08ea5:-826056833</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-collapsible-form/widget/pe-collapsible-form.u-body-html-template.html",
    "content": "<div ng-if=\"::!data.isValid && !data.emptyStateTemplate\" class=\"panel panel-default\">\n  <div class=\"panel-body wrapper-lg text-center\">\n    <span ng-if=\"!data.tableUnsupported\">${Record not found}</span>\n    <span ng-if=\"data.tableUnsupported\">${Form view not supported for requested table}</span>\n  </div>\n</div>\n\n<div ng-if=\"!data.isValid && data.emptyStateTemplate\" class=\"panel-shift\">\n  <div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"></div>\n</div>\n\n<div ng-if=\"data.isValid\" class=\"panel-shift\">\n  <div class=\"\" ng-if=\"!data.f._view.length && data.hideRelatedLists && data.emptyStateTemplate\">\n    <div class=\"empty-state-wrapper panel panel-default\" ng-include=\"data.emptyStateTemplate\"></div>\n  </div>\n\n  <div class=\"\" ng-if=\"!data.f._view.length && data.hideRelatedLists && !data.emptyStateTemplate\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading\"><span class=\"panel-title\">{{data.f.title}}</span> <span ng-if=\"::options.showFormView == 'true' && data.f.view != ''\">[{{data.f.view_title}} view]</span></div>\n      <div class=\"panel-body wrapper-lg text-center\">\n        ${No elements to display}\n      </div>\n    </div>\n  </div>\n\n  <div ng-show=\"isPageReady\" class=\"panel panel-default\" ng-if=\"::data.f._view.length || !data.hideRelatedLists\" >\n    <div class=\"panel-heading\" ng-if=\"data.f.title.length\" sp-context-menu=\"getUIActionContextMenu(event)\">\n        <span class=\"dropdown m-r-xs\" ng-if=\"(data.isAdmin || getUIActions('context').length > 0) && options.omitHeaderOptions != 'true'\">\n            <button aria-label=\"${Form menu}\" class=\"btn btn-form-menu dropdown-toggle glyphicon glyphicon-menu-hamburger\" style=\"line-height: 1.4em\" id=\"adminMenu\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"></button>\n            <ul class=\"dropdown-menu\" aria-labelledby=\"adminMenu\">\n              <li ng-if=\"::data.isAdmin\"><a ng-href=\"/{{::data.f.table}}.do?sys_id={{data.f.sys_id}}&sysparm_view={{data.f.view}}\" target=\"_blank\">${Open in platform}</a></li>\n              <li ng-if=\"::data.isAdmin\" class=\"dropdown-header\">${Configure}</li>\n              <li ng-if=\"::data.isAdmin\"><a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&sysparm_list={{data.f._sections[0].id}}&sysparm_form=section&sysparm_view={{data.f.view}}\" target=\"_blank\">${Form Layout}</a></li>\n              <li ng-if=\"::data.isAdmin\"><a href=\"/slushbucket.do?sysparm_referring_url={{adminMenu.encodedPageUrl}}&sysparm_list={{data.f.table}}&sysparm_form=related_list&sysparm_view={{data.f.view}}\" target=\"_blank\">${Related Lists}</a></li>\n              <li ng-if=\"::data.isAdmin\"><a href=\"?id=lf&table=sys_ui_policy&filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id:'lf', table: 'sys_ui_policy', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\">${UI Policies} <span class=\"badge pull-right\" ng-if=\"f.policy.length\">{{f.policy.length}}</span></a></li>\n              <li ng-if=\"::data.isAdmin\"><a href=\"?id=lf&table=sys_script_client&filter=table%3D{{data.f.table}}%5EORtableIN{{data.tableHierarchy}}%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10\" ng-click=\"openRelatedList($event, {id: 'lf', table: 'sys_script_client', filter: 'table%3D{{data.f.table}}%5EORtableIN{{data.f.table}},sys_metadata%5Eactive%3Dtrue%5Eui_type%3D1%5EORui_type%3D10'})\">${Client Scripts} <span class=\"badge pull-right\" ng-if=\"adminMenu.getClientScriptCount()\">{{adminMenu.getClientScriptCount()}}</span></a></li>\n              <li ng-if=\"getUIActions('context').length > 0 &&  data.isAdmin\" role=\"separator\" class=\"divider\"></li>\n              <li ng-repeat=\"action in getUIActions('context')\"><a href=\"\" ng-click=\"triggerUIAction(action)\">{{action.name}}</a></li>\n              <li ng-if=\"::data.isAdmin || getUIActions('context').length > 0\" role=\"separator\" class=\"divider\"></li>\n              <li><a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&sys_id={{data.sys_id}}&sysparm_view={{data.f.view}}\">${Export to PDF}</a></li>\n              <li><a target=\"_new\" href=\"/{{data.f.table}}.do?PDF&landscape=true&sys_id={{data.sys_id}}&sysparm_view={{data.f.view}}\">${Export to PDF (landscape)}</a></li>\n            </ul>\n        </span>\n      <span class=\"panel-title\" aria-label=\"{{data.f.title}}\">{{data.f.title}}</span> <span ng-if=\"::options.showFormView == 'true' && data.f.view != ''\">[{{data.f.view_title}} view]</span>\n      <div ng-if=\"::attachmentHandler && data.canAttach\" title=\"{{::data.addAttachmentMsg}}\" class=\"pull-right attachment-button\">\n        <sp-attachment-button></sp-attachment-button>\n      </div>\n    </div>\n    <div class=\"panel-body\">\n      <!-- performance debug -->\n      <div ng-if=\"data.show_sql\">\n        <div class=\"comment\">\n          <span ng-if=\"data.f._perf.sql_count\">${SQL Statements {{data.f._perf.sql_count}}}, </span>\n          <span>${Time {{data.f._perf.time}}}</span>\n        </div>\n        <div ng-repeat=\"s in data.f._perf.sql\" class=\"{{s.type}}\">\n          {{s.statement}}\n        </div>\n      </div>\n      <!-- attachments -->\n      <sp-attachment-manager table=\"::data.table\" sys-id=\"data.f._attachmentGUID\" omit-edit=\"::!data.canAttach\"></sp-attachment-manager>\n      <!-- form -->\n      <div>\n        <sp-model form_model=\"data.f\" mandatory=\"mandatory\"></sp-model>\n      </div>\n      <!-- UI Action Links -->\n      <div ng-if=\"getUIActions('link').length > 0\">\n        <label style=\"margin: 0;\">${Related Links}</label>\n        <div ng-repeat=\"action in getUIActions('link')\">\n          <a href ng-click=\"triggerUIAction(action)\" gsft_id=\"{{::action.sys_id}}\">{{::action.name}}</a>\n        </div>\n      </div>\n      <!-- related lists -->\n      <div ng-if=\"!data.hideRelatedLists\">\n        <label style=\"margin: 0\">${Related Lists}</label>\n        <div style=\"margin-bottom: 7px; padding-bottom: 7px; border-bottom: 1px solid #f5f5f5;\">\n          <span ng-repeat=\"rl in data.f._related_lists\" ng-if=\"rl.visible\">\n            <a ng-if=\"rl.type != 'REL'\" ng-href=\"?id=lf&table={{::rl.table}}&filter={{rl.field}}%3D{{data.f.sys_id}}&view={{data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', filter: '{{rl.field}}%3D{{data.f.sys_id}}'})\">{{rl.plural}}\n              <span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\">{{::rl.count}}</span>\n            </a>\n            <a ng-if=\"::rl.type == 'REL'\" href=\"?id=lf&table={{::rl.table}}&relationship_id={{rl.relationship_id}}&apply_to={{rl.apply_to}}&apply_to_sys_id={{rl.apply_to_sys_id}}&view={{::data.f.view}}\" ng-click=\"openRelatedList($event, {id: 'lf', table: '{{::rl.table}}', apply_to: '{{rl.apply_to}}', apply_to_sys_id: '{{rl.apply_to_sys_id}}', relationship_id: '{{rl.relationship_id}}'})\">{{rl.label}}\n              <span class=\"label label-as-badge label-primary\" ng-if=\"rl.count\">{{rl.count}}</span>\n            </a>\n            <span ng-if=\"!$last\" style=\"padding-left: .5em; padding-right: .5em;\" aria-hidden=\"true\"> | </span>\n          </span>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"panel-footer\">\n      <button ng-click=\"triggerUIAction(action)\" ng-disabled=\"submitting\" ng-repeat=\"action in getUIActions('button')\" class=\"btn btn-default action-btn\" gsft_id=\"{{::action.sys_id}}\">{{action.name}}</button>\n      <span>{{status}}</span>\n      <button ng-if=\"getPrimaryAction()\" type=\"submit\" ng-click=\"triggerUIAction(getPrimaryAction())\" ng-disabled=\"submitting\" class=\"btn btn-primary action-btn pull-right\" gsft_id=\"{{::getPrimaryAction().sys_id ? getPrimaryAction().sys_id : ''}}\">${Save} <span ng-if=\"saveButtonSuffix\">(${{{saveButtonSuffix}}})</span></button>\n      <div style=\"clear: both;\"></div>\n      <div ng-if=\"mandatory.length\" class=\"alert alert-info\" style=\"margin-top: .5em\" aria-live=\"polite\" aria-atomic=\"true\">\n        <span ng-if=\"mandatory.length > 0\">${Required information} </span>\n        <span ng-repeat=\"f in mandatory\" class=\"label label-danger\" style=\"margin-right: .5em; display: inline-block;\" ng-bind=\"f.label\"></span>\n      </div>\n    </div>\n  </div>\n</div>\n\n<script type=\"text/ng-template\" id=\"empty-state-list-form.html\">\n<div class=\"empty-state\">\n  <div class=\"empty-state-content\">\n    <div class=\"empty-state-badge fa fa-list-ul\" style=\"background-color: #31708f;\"></div>\n    <h3 class=\"empty-state-header\">${List and Form}</h3>\n    <p>${Select a record from the list to view its details in this pane.}</p>\n  </div>\n</div>\n</script>\n<script type=\"text/ng-template\" id=\"empty-state-page-editor.html\">\n<div class=\"empty-state\">\n  <div class=\"empty-state-content\">\n    <div class=\"empty-state-badge fa fa-file\" style=\"background-color: #5cb85c;\"></div>\n    <h3 class=\"empty-state-header\">${Page Editor}</h3>\n    <p>${Select a page above to view a map of the hierarchical structure of any page.}</p>\n    <p>${From the map, you can select an element to expose it in a form below the page map.}</p>\n  </div>\n</div>\n</script>\n<script type=\"text/ng-template\" id=\"empty-state-portal-edit.html\">\n<div class=\"empty-state\">\n  <div class=\"empty-state-content\">\n    <div class=\"empty-state-badge fa fa-sitemap\" style=\"background-color: #f0ad4e;\"></div>\n    <h3 class=\"empty-state-header\">${Portal Editor}</h3>\n    <p>${Select a portal above to view a map of the structure of any portal.}</p>\n    <p>${From the map, you can select an element to expose it in a form below the portal map.}</p>\n  </div>\n</div>\n</script>\n\n<script type=\"text/ng-template\" id=\"sp_variable_layout.xml\">\n<style>\n.nav-continue, .nav-continue.collapse { display: none; }\n/* show 'continue' nav when previous section is expanded */\n.collapse.in + .nav-continue { display: block; }\n</style>\n\n<!-- COLLAPSIBLE BY SECTION -->\n\n<div ng-if=\"containers[0].showCollapsibleForm\">\n\n<nav ng-repeat-start=\"container in containers\" ng-if=\"container.id\" class=\"nav-continue\">\n  <button ng-class=\"['btn btn-default', 'collapse', 'collapse-' + container.id, { 'in': !($first || (container._parent == containers[0].id) ) }]\"\n          type=\"button\" data-toggle=\"collapse\" data-target=\".collapse-{{container.id}}\" \n          aria-target=\"collapse-{{container.id}}\" aria-expanded=\"{{($first || (container._parent == containers[0].id) )}}\">\n    Continue\n  </button>\n</nav>\n\n<div ng-if=\"container.id\" id=\"collapse-{{container.id}}\" class=\"section-heading\">\n  <button ng-class=\"['btn btn-link', {'collapsed': !($first || (container._parent == containers[0].id) ) }]\"\n    type=\"button\" data-toggle=\"collapse\" data-target=\".collapse-{{container.id}}\" aria-expanded=\"{{($first || (container._parent == containers[0].id) )}}\" aria-target=\"collapse-{{container.id}}\">\n      <legend class=\"h4\" id=\"heading-{{container.id}}\"><i class=\"fa fa-align-left collapse-indicator\" aria-hidden=\"true\"></i>{{container.captionDisplay || container.caption || 'Form Section'}}</legend>\n  </button>\n  <sp-help-tag field=\"::formModel._fields[container.name]\"></sp-help-tag>\n</div>\n\n<span ng-if=\"!container.id\" ng-init=\"containers[$index]._parent = containers[$index-1]._parent || containers[$index-1].id\"></span>\n\n<fieldset ng-repeat-end ng-show=\"paintForm(container)\" aria-labelledby=\"heading-{{container.id || container._parent}}\"\n          ng-class=\"['section-form', 'row', 'collapse-' + (container.id || container._parent), 'collapse', 'section-' + $index, {'in': ($first || (container._parent == containers[0].id))}]\">\n  <div ng-repeat=\"column in container.columns\" class=\"col-md-{{::12 / container.columns.length }}\">\n    <div ng-switch=\"::f.type\" ng-repeat=\"f in ::column.fields\" id=\"{{::getVarID(f)}}\" ng-class=\"::{'form-inline': isInlineForm === true }\">\n      <div ng-switch-when=\"label\" ng-if=\"formModel._fields[f.name]\" ng-show=\"formModel._fields[f.name].isVisible()\">\n        <label ng-bind=\"f.label\"></label>\n        <sp-help-tag field=\"::formModel._fields[f.name]\"></sp-help-tag>\n        <hr class=\"sp_label_hr\"></hr>\n      </div>\n      <sp-form-field ng-switch-when=\"field\" ng-if=\"formModel._fields[f.name]\" form-model=\"formModel\" field=\"formModel._fields[f.name]\" glide-form=\"getGlideForm()\" ng-show=\"formModel._fields[f.name].isVisible()\" default-value-setter=\"setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)\"></sp-form-field>\n      <sp-variable-layout ng-switch-when=\"container\" ng-init=\"containers=[f]\"></sp-variable-layout>\n      <sp-checkbox-group ng-switch-when=\"checkbox_container\" name=\"f.name\" form-model=\"formModel\" containers=\"f.containers\" glide-form=\"getGlideForm()\" class=\"checkbox-container\"></sp-checkbox-group>\n      <sp-widget ng-switch-when=\"formatter\" ng-if=\"formModel._formatters[f.id].widgetInstance\" widget=\"formModel._formatters[f.id].widgetInstance\" page=\"{g_form: getGlideForm()}\"></sp-widget>\n      <hr ng-switch-when=\"break\" ng-show=\"formModel._fields[f.name].isVisible()\"></hr>\n    </div>\n  </div>\n</fieldset>\n\n</div>\n\n<fieldset ng-if=\"!containers[0].showCollapsibleForm\" ng-repeat=\"container in containers\" ng-show=\"paintForm(container)\"><div ng-if=\"(container.caption || container.captionDisplay)\"><legend class=\"h4\">{{container.captionDisplay || container.caption}}</legend><p ng-if=\"::formModel._fields[container.name].help_text\" title=\"{{::formModel._fields[container.name].help_tag}}\" class=\"help-block\" ng-bind=\"::formModel._fields[container.name].help_text\"></p><span ng-if=\"::formModel._fields[container.name].instructions\" ng-bind-html=\"::formModel._fields[container.name].instructions\"></span></div><div class=\"row\"><div ng-repeat=\"column in container.columns\" class=\"col-md-{{::12 / container.columns.length }}\"><div ng-switch=\"::f.type\" ng-repeat=\"f in ::column.fields\" id=\"{{::getVarID(f)}}\" ng-class=\"::{'form-inline': isInlineForm === true }\"><div ng-switch-when=\"label\" ng-if=\"formModel._fields[f.name]\" ng-show=\"formModel._fields[f.name].isVisible()\"><label ng-bind=\"f.label\"></label><p ng-if=\"formModel._fields[f.name].help_text\" title=\"{{formModel._fields[f.name].help_tag}}\" class=\"help-block\" ng-bind=\"formModel._fields[f.name].help_text\"></p><span ng-if=\"formModel._fields[f.name].instructions\" ng-bind-html=\"::trustedHTML(formModel._fields[f.name].instructions)\"></span><hr class=\"sp_label_hr\"></hr></div><sp-form-field ng-switch-when=\"field\" ng-if=\"formModel._fields[f.name]\" form-model=\"formModel\" field=\"formModel._fields[f.name]\" glide-form=\"getGlideForm()\" ng-show=\"formModel._fields[f.name].isVisible()\" default-value-setter=\"setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)\"></sp-form-field><sp-variable-layout ng-switch-when=\"container\" ng-init=\"containers=[f]\"></sp-variable-layout><sp-checkbox-group ng-switch-when=\"checkbox_container\" name=\"f.name\" form-model=\"formModel\" containers=\"f.containers\" glide-form=\"getGlideForm()\" class=\"checkbox-container\"></sp-checkbox-group><sp-widget ng-switch-when=\"formatter\" ng-if=\"formModel._formatters[f.id].widgetInstance\" widget=\"formModel._formatters[f.id].widgetInstance\" page=\"{g_form: getGlideForm()}\"></sp-widget><hr ng-switch-when=\"break\" ng-show=\"formModel._fields[f.name].isVisible()\"></hr></div></div></div></fieldset>\n\n</script>"
  },
  {
    "path": "src/pe-collapsible-form/widget/pe-collapsible-form.u-client-script.js",
    "content": "function($rootScope, $scope, $timeout, $location, $log, $window, spUtil, nowAttachmentHandler, spAriaUtil, spNavStateManager) {\n  $scope.submitting = false;\n  $scope.mandatory = [];\n  $scope.errorMessages = [];\n  $scope.data.show_sql = false;\n  $scope.saveButtonSuffix = spUtil.getAccelerator('s');\n  $scope.isPageReady = false;\n  $scope.adminMenu = {\n    encodedPageUrl: encodeURIComponent($location.url()),\n    getClientScriptCount: function() {\n      var count = 0;\n      if ($scope.data.f.client_script) {\n        count += $scope.data.f.client_script.onChange.length;\n        count += $scope.data.f.client_script.onLoad.length;\n        count += $scope.data.f.client_script.onSubmit.length;\n      }\n      return count;\n    }\n  };\n  \n  $scope.data.f._sections[0].showCollapsibleForm = true;\n\n  $rootScope.$on('$sp.html.editor.progress', function(e, conf) {\n      $scope.submitting = conf.state;\n  });\n\n  $scope.getUIActions = function(type) {\n    if ($scope.data.disableUIActions)\n      return [];\n    if (type) {\n      return $scope.data.f._ui_actions.filter(function(action) {\n        //We handle the primary action button separately.\n        return !action.primary && action['is_' + type];\n      });\n    } else {\n      return $scope.data.f._ui_actions;\n    }\n  }\n\n  $scope.getPrimaryAction = function() {\n    var primaryActions = $scope.data.f._ui_actions.filter(function(action) {\n      return action.primary;\n    });   \n    return (primaryActions.length) ? primaryActions[0] : null;\n  }\n\n  $scope.getUIActionContextMenu = function(event) {\n    var menu = [];\n    if (event.ctrlKey)\n      return menu;\n\n    var contextActions = $scope.getUIActions('context');\n    contextActions.forEach(function(action) {\n      menu.push([action.name, function() {\n        $scope.triggerUIAction(action);\n      }]);\n    });\n\n    if (contextActions.length > 0)\n      menu.push(null);\n    menu.push([$scope.data.exportPDFMsg, function() {\n      exportPDF(\"\");\n    }]);\n    menu.push([$scope.data.exportPDFLandMsg, function() {\n      exportPDF('true');\n    }]);\n\n    return menu;\n  }\n\n  function exportPDF(landscape) {\n    $window.open(\"/\" + $scope.data.f.table + \".do?PDF&landscape=\" + landscape + \"&sys_id=\" + $scope.data.sys_id + \"&sysparm_view=\" + $scope.data.f.view);\n  }\n\n  //trigger the primary UI Action on save (if there is one)\n  var deregister = $scope.$on('$sp.save', function() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  });\n  $scope.$on('$destroy', function() {\n    deregister()\n  });\n\n  $scope.triggerUIAction = function(action) {\n    if ($scope.data.disableUIActions && !action.primary) {\n      return;\n    }\n\n    var activeElement = document.activeElement;\n    if (activeElement) {\n      activeElement.blur();\n    }\n\n    $scope.$evalAsync(function() {\n      if (g_form) {\n        $scope.submitting = true;\n        if (!g_form.submit(action.action_name || action.sys_id))\n          $scope.submitting = false;\n      }\n    });\n  }\n\n  $scope.$on(\"spModel.uiActionComplete\", function(evt, response) {\n    $scope.submitting = false;\n    var sysID = (response.isInsert) ? response.sys_id : $scope.data.sys_id;\n    loadForm($scope.data.table, sysID).then(constructResponseHandler(response));\n  });\n\n  function constructResponseHandler(response) {\n    return function() {\n    $rootScope.$broadcast(\"sp.form.submitted\", {sys_id: (response.isInsert) ? response.sys_id : $scope.data.sys_id});\n      var message;\n      var eventName = \"sp.form.record.updated\";\n      if (response.isInsert) {\n        message = $scope.data.recordAddedMsg;\n        var search = $location.search();\n        search.sys_id = response.sys_id;\n        search.spa = 1;\n        $location.search(search).replace();\n      } else\n        message = $scope.data.updatedMsg;\n\n      $scope.data.hideRelatedLists = hideRelatedLists();\n      $scope.$emit(eventName, $scope.data.f._fields);\n      $rootScope.$broadcast(eventName, $scope.data.f._fields);\n      $scope.status = message;\n      spUtil.addTrivialMessage(message);\n      $timeout(clearStatus, 2000);\n    }\n  }\n\n  var ctrl = this;\n  // switch forms\n  var unregister = $scope.$on('$sp.list.click', onListClick);\n  $scope.$on(\"$destroy\", function() {\n    unregister();\n  })\n  \n  function _save() {\n    var primaryAction = $scope.getPrimaryAction();\n    if (primaryAction)\n      $scope.triggerUIAction(primaryAction);\n  }\n  \n  function onListClick(evt, arg) {\n    loadForm(arg.table, arg.sys_id);\n  }\n\n  function loadForm(table, sys_id) {\n    var f = {};\n    $scope.data.table = f.table = table;\n    $scope.data.sys_id = f.sys_id = sys_id;\n    f.view = $scope.data.view;\n    return $scope.server.update().then(setupAttachmentHandler);\n  }\n\n  function openRelatedList(e, queryString) {\n    // todo: Open this in a modal\n    $location.search(queryString);\n    e.preventDefault();\n  }\n\n  $scope.$on('spModel.fields.rendered', function() {\n    if (ctrl.panels)\n      ctrl.panels.removeClass('shift-out').addClass('shift-in');\n  });\n  \n  var g_form;\n  function initForm(gFormInstance) {\n    if (gFormInstance.getTableName() == $scope.data.f.table){\n      g_form = gFormInstance;\n      spNavStateManager.register($scope.data.table, _save, g_form);\n      $scope.isPageReady = true;\n      $timeout(function() {\n        $rootScope.$emit('spModel.gForm.rendered', g_form);\n      }, 175);\n    }\n  }\n  \n  $scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n    initForm(gFormInstance);\n  });\n  \n  $scope.$on('spModel.gForm.env.created', function(e, gFormInstance) {\n    initForm(gFormInstance);\n  });\n  \n  // update the comments or worknotes based on activity stream\n  $scope.$on(\"activity_stream_is_changed\", function(event, data) {\n    if (g_form && g_form.hasField(data.fieldName)) {\n      g_form.setValue(data.fieldName, data.input);\n      if (data.fieldToClear != \"\" && g_form.hasField(data.fieldToClear))\n        g_form.setValue(data.fieldToClear, \"\");\n    }\n  })\n\n  // Show or hide related lists\n  $scope.$watch('data.f._related_lists', function() {\n    $scope.data.hideRelatedLists = hideRelatedLists();\n  }, true);\n\n  function hideRelatedLists() {\n    if (!$scope.data.f._related_lists)\n      return true;\n\n    if ($scope.options.hideRelatedLists == true)\n      return true;\n\n    if ($scope.data.sys_id == '-1')\n      return true;\n\n    // If all related lists are visible=false then hide\n    if ($scope.data.f._related_lists.length > 0) {\n      for (var i in $scope.data.f._related_lists) {\n        var list = $scope.data.f._related_lists[i];\n        if (list.visible) {\n          return false;\n        }\n      }\n    }\n    return true;\n  }\n\n  function clearStatus() {\n    $scope.status = \"\";\n  }\n\n  function setupAttachmentHandler() {\n    $scope.attachmentHandler = new nowAttachmentHandler(appendDone, appendError);\n\n    $scope.$evalAsync(function() {\n      $scope.attachmentHandler.setParams($scope.data.table, $scope.data.f._attachmentGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n    });\n\n    $scope.$on('dialog.upload_too_large.show', function(e) {\n      $log.error($scope.data.largeAttachmentMsg);\n      spUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n    });\n  }\n  setupAttachmentHandler();\n\n  function appendDone() {\n    // don't know here whether upload succeeded, so can't show msg either way\n    $scope.$broadcast(\"sp.attachments.update\", $scope.data.f._attachmentGUID);\n    spAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n  }\n\n  function appendError(error) {\n    $scope.errorMessages.push(error);\n    spUtil.addErrorMessage(error.msg + error.fileName);\n  }\n\n  if ($scope.data.f.title) {\n    $scope.$emit('sp.widget-modal.set-aria-label', $scope.data.f.title);\n  }\n}"
  },
  {
    "path": "src/pe-collapsible-form/widget/pe-collapsible-form.u-css.scss",
    "content": ".btn-form-menu {\n\tvertical-align: inherit;\n  padding: inherit;\n  background: none;\n}\n\n.panel-title {\n  word-wrap: break-word;\n}\n\n.panel-heading {\n  .dropdown-menu {\n    a {\n      white-space: normal;\n    }\n  }\n}\n\n.comment {\n\tfont-weight: bold;\n\tmargin-top: 2px;\n\tmargin-bottom: 2px;\n}\n.mce-panel, .mce-btn {\n\tbackground-image: none;\n\tbackground-color: #f0f3f4;\n}\n\n.action-btn {\n  margin-right: 5px;\n}\n\n.timeline-container {\n   max-height: 50vh;\n   height: 100%;\n   overflow-y: auto;\n}\n\n.panel .panel {\n    height: auto !important;\n}\n\n.attachment-button {\n  .glyphicon-paperclip {\n    font-size: 18px;\n  }\n}\n\n.dropdown {\n  .glyphicon-menu-hamburger:focus {\n \t\toutline: thin dotted;\n\t\toutline: 5px auto -webkit-focus-ring-color;\n\t\toutline-offset: -2px; \n\t}\n}\n\n.empty-state-wrapper {\n  width: 100%;\n  height: 100%;\n  align-items: center;\n  display: flex;\n  flex-direction: column;\n  padding: 10vh 20px 20px;\n\n  .empty-state {\n    border: 1px solid #e7e9eb;\n    border-radius: 10px;\n    max-width: 700px;\n    padding: 30px 40px 20px;\n    position: relative;\n\n    .empty-state-badge {\n      top: -36px;\n      left: 50%;\n      position: absolute;\n      height: 72px;\n      width: 72px;\n      -webkit-align-items: center;\n      -ms-flex-align: center;\n      align-items: center;\n      border-radius: 100%;\n      color: #ffffff;\n      display: -webkit-flex;\n      display: -ms-flexbox;\n      display: flex;\n      font-size: 40px;\n      -webkit-justify-content: center;\n      -ms-flex-pack: center;\n      justify-content: center;\n      margin-left: -36px;\n      text-align: center;\n    }\n\n    .empty-state-header {\n      font-size: 30px;\n      text-align: center;\n      color: #343d47;\n    }\n\n    .empty-state-content {\n      ul {\n        list-style: disc outside;\n        margin: 0 0 10px 0;\n        padding: 0 0 0 30px;\n      }\n    }\n  }\n}\n\n\n// COLLAPSE ELEMENTS\n\n// size and shape of tile/circle\n$collapse-indicator-size: 30px !default;\n$collapse-indicator-border-radius: $border-radius-base !default; // 50% for circles\n\n// replace context, or define other colors\n$collapse-indicator-bg: $panel-default-heading-bg !default;\n$collapse-indicator-border: $btn-default-border !default;\n$collapse-indicator-color: $btn-default-color !default;\n\n// these, and icon element, could/should be replaced with widget options.\n// better behavior might be 'accordion' where each section stands alone,\n// and ideally could be made aware of individual section validation/completion,\n// but we're limited without completely replacing form directive\n\n$collapse-additional-gutter: 5px !default; // added between indicators and form, along with Bootstrap gutter\n\n$computed-h4-btn-height: ($headings-line-height * $font-size-h4) + ($padding-base-vertical * 2) + 2px;\n\n.section-heading {\n  margin-left: $collapse-indicator-size/2;\n  border-left: 1px solid $collapse-indicator-border;\n}\n.section-heading button {\n  color: inherit;\n  position: relative;\n  top: -($computed-h4-btn-height/2);\n  margin-left: -($collapse-indicator-size/2 + $padding-base-horizontal + 1px);\n}\n.section-heading:first-of-type {\n  margin-top: $computed-h4-btn-height/2;\n}\n.section-heading:last-of-type {\n  border-left: 1px solid transparent;\n}\n.section-heading > button > legend {\n  margin: 0;\n}\n.section-heading > button > legend > .collapse-indicator {\n  font-size: $collapse-indicator-size/2;\n  border: 1px solid $collapse-indicator-border;\n  width: $collapse-indicator-size;\n  height: $collapse-indicator-size;\n  line-height: $collapse-indicator-size - 2px;\n  border-radius: $collapse-indicator-border-radius;\n  margin-right: ($grid-gutter-width/2) + $collapse-additional-gutter;\n  background-color: $collapse-indicator-bg;\n  color: $collapse-indicator-color;\n  vertical-align: middle;\n}\n.section-heading > button:hover > legend > .collapse-indicator {\n  background-color: darken($collapse-indicator-bg, 10%);\n  border-color: darken($collapse-indicator-border, 12%);\n}\n.section-form, .nav-continue {\n  margin-left: $collapse-indicator-size/2;\n  border-left: 1px solid $collapse-indicator-border;\n  padding-left: ($collapse-indicator-size/2) + $collapse-additional-gutter;\n}\n.section-heading:last-of-type ~ .section-form {\n  border-left: 1px solid transparent;\n}\n.nav-continue {\n  padding-left: ($collapse-indicator-size/2) + $collapse-additional-gutter + ($grid-gutter-width/2);\n  padding-bottom: $computed-h4-btn-height/2 + $form-group-margin-bottom;\n}"
  },
  {
    "path": "src/pe-collapsible-form/widget/pe-collapsible-form.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-collapsible-form/widget/pe-collapsible-form.u-option-schema.json",
    "content": ""
  },
  {
    "path": "src/pe-collapsible-form/widget/pe-collapsible-form.u-server-script.js",
    "content": "// form functionality - URL parameter driven\n(function($sp, input, data, options, gs) {\n  /* \"use strict\"; -linter issues */\n  // populate the 'data' variable\n\tdata.attachmentUploadSuccessMsg = gs.getMessage(\"Attachment upload was successful\");\n\tdata.recordAddedMsg = gs.getMessage(\"Record Added\");\n\tdata.updatedMsg = gs.getMessage(\"updated_uppercase\");\n\tdata.exportPDFMsg = gs.getMessage(\"Export to PDF\");\n\tdata.exportPDFLandMsg = gs.getMessage(\"Export to PDF (landscape)\");\n\tdata.addAttachmentMsg = gs.getMessage(\"Add an attachment\");\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tdata.isAdmin = gs.hasRightsTo('sp/configure.all/execute', null);\n\tdata.emptyStateTemplate = options.empty_state_template;\n\tdata.disableUIActions = options.disableUIActions === \"true\";\n\tdata.hideRelatedLists = options.hideRelatedLists || false;\n\n\tif (input) {\n\t\tdata.table = input.table;\n\t\tdata.sys_id = input.sys_id;\n\t\tdata.view = input.view;\n\t\tvar result = {};\n\t\tif (input._fields) {\n\t\t\tresult = $sp.saveRecord(input.table, input.sys_id, input._fields);\n\t\t\tdata.sys_id = result.sys_id;\n\t\t}\n\n\t\tif (input.sys_id == '-1')\n\t\t\tdata.isNewRecord = true;\n\t} else {\n\t\tdata.table = options.table || $sp.getParameter(\"t\") || $sp.getParameter(\"table\") || $sp.getParameter(\"sl_table\");\n\t\tdata.sys_id = options.sys_id || $sp.getParameter(\"sys_id\") || $sp.getParameter(\"sl_sys_id\");\n\t\tdata.view = options.view || $sp.getParameter(\"view\") || $sp.getParameter(\"v\"); // no default\n\t}\n\n\tdata.query = $sp.getParameter(\"query\") || options.query || \"\";\n\tdata.f = {};\n\tif (!data.table)\n\t\treturn;\n\t\n\t// Form widget is not a supported way to view an attachment\n\tif (data.table == \"sys_attachment\") {\n\t\tdata.tableUnsupported = true;\n\t\treturn;\n\t}\n\n\tif (!GlideTableDescriptor.isValid(data.table))\n\t\treturn;\n\n\tif (!data.sys_id)\n\t\treturn;\n\n\tvar rec = $sp.getRecord(data.table, data.sys_id);\n\tdata.isValid = rec.isValid() || data.sys_id == \"-1\";\n\tif (!data.isValid)\n\t\treturn;\n\n\tdata.table = rec.getRecordClassName();\n\tdata.tableHierarchy = GlideDBObjectManager.getTables(data.table).toArray().join();\n\tdata.canWrite = rec.canWrite();\n\tvar hasRecordAccess = data.sys_id == \"-1\" ? rec.canCreate() : data.canWrite;\n\tdata.canAttach = hasRecordAccess && gs.hasRole(gs.getProperty('glide.attachment.role')) && !GlideTableDescriptor.get(data.table).getED().getBooleanAttribute(\"no_attachment\");\n\tdata.f = $sp.getForm(data.table, data.sys_id, data.query, data.view);\n\n\t// Activity formatter is hardcoded to set specific options\n\tfor (var f in data.f._formatters) {\n\t\tvar fm = data.f._formatters[f];\n\t\tif (fm.formatter == \"activity.xml\") {\n\t\t\tfm.hardcoded = true;\n\t\t\tfm.widgetInstance = $sp.getWidget('widget-ticket-conversation',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{table: data.table,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t sys_id: data.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t includeExtended: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t title: \"${Activity}\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t use_dynamic_placeholder: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t btnLabel: \"${Post}\"});\n\t\t} else if(fm.formatter == \"com_glideapp_servicecatalog_veditor\" || fm.formatter == \"com_glideapp_questionset_default_question_editor\") {\n\t\t\tvar qsConfig = $sp.getValue('quick_start_config');\n\t\t\tif (qsConfig)\n\t\t\t\tqsConfig = JSON.parse(qsConfig)[0];\n\t\t\tfm.widgetInstance = $sp.getWidget(fm.widget, {table: data.table,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsys_id: data.sys_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treadonly_variable_editor: qsConfig ? qsConfig.readonly_variable_editor : 'false'});\n\t\t} else\n\t\t\tfm.widgetInstance = $sp.getWidget(fm.widget, data);\n\t}\n})($sp, input, data, options, gs);"
  },
  {
    "path": "src/pe-email-manage-attachment/README.md",
    "content": "# Email Manage Attachment\n\n## Description\n\nA simple widget to allow the management of attachments of a record and being able to email them from ServicePortal. The Update Set also contains a UI action that will copy all the attachments from a record and put them to an email attachment.\n\n## Screenshot\n\n![Email Manage Attachment](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-email-manage-attachment/images/pe-email-manage-attachment.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-email-manage-attachment.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-email-manage-attachment/pe-email-manage-attachment.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nInstall the Update Set and navigate to _Service Portal > Service Portal Configuration_ and select page editor. Find the _Ticket Form_ page in the reference picker and click on it. Now, select the _Edit Ticket Form (ticket) page in Designer_ link. Find the _Manage Attachments_ widget and drag it above the baseline _Ticket Attachments_ widget in the layout. Go to an open ticket in Service Portal and see the new widget. Add an attachment, then select the checkbox next to the attachments you would like to email outside of the platform if you wish to do so.\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-email-manage-attachment/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Content\",\n  \"common-name\": \"Email Manage Attachment\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Joe Wilmoth\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-email-manage-attachment\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A simple widget to allow the management of attachments of a record and being able to send them from ServicePortal. This also contains a UI action that will copy all the attachments from a record and put them to an email attachment.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-email-manage-attachment/pe-email-manage-attachment.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-26 21:05:40\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>A simple widget to allow the management of attachments of a record and being able to send them from ServicePortal. This also contains a UI action that will copy all the attachments from a record and put them to an email attachment.</description>\n<inserted/>\n<name>Email Attachments and Attachment Management Widget v1</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>6e4f11ea135c330068b5721a6144b013</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>a0ccf07f1394f30068b5721a6144b00a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_856303e90a0a0bc50164129959388444</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Email sending enabled</description><ignore_cache>false</ignore_cache><is_private>true</is_private><name>glide.email.smtp.active</name><read_roles/><suffix/><sys_class_name>sys_properties</sys_class_name><sys_created_by>glide.maint</sys_created_by><sys_created_on>2009-05-28 04:04:20</sys_created_on><sys_id>856303e90a0a0bc50164129959388444</sys_id><sys_mod_count>16</sys_mod_count><sys_name>glide.email.smtp.active</sys_name><sys_package display_value=\"System (apps/system2)\" source=\"apps/system2\">4ad7a23264232300aadba650cb85d4b2</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_properties_856303e90a0a0bc50164129959388444</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-26 20:51:14</sys_updated_on><type>boolean</type><value>true</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=856303e90a0a0bc50164129959388444\"/></record_update>]]></payload>\n<payload_hash>-38161757</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>20ccf07f1394f30068b5721a6144b00d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bbc579ed0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>glide.email.smtp.active</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>9979b0fb5394f3008c1efb7d5683a9d7</update_guid>\n<update_guid_history>9979b0fb5394f3008c1efb7d5683a9d7:-38161757,f7ba43028a10330070743732e32fd320:534706892,dbba4302861033002eac758240ab0403:-38161757</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4462a56e135c330068b5721a6144b0e2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function attachMate($scope, nowAttachmentHandler, $rootScope, spUtil, spModal, $log, spAriaUtil, $filter) {\n\tvar popupCurrent = undefined;\n\t$scope.errorMessages = [];\n\t$scope.attachmentHandler = new nowAttachmentHandler(setAttachments, appendError);\n\t$scope.data.action = \"\";\n\n\tspUtil.recordWatch($scope, \"sys_attachment\", \"table_sys_id=\" + $scope.data.sys_id, function(name, data) {\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t});\n\n\t$scope.$evalAsync(function() {\n\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.sys_id, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t})\n\n\t$scope.hasAttachments = function() {\n\t\treturn $scope.attachments &amp;&amp; $scope.attachments.length != 0;\n\t}\n\n\t$scope.canWrite = function() {\n\t\treturn $scope.data.canWrite;\n\t}\n\n\t$scope.confirmDeleteAttachment = function(attachment) {\n\t\tspModal.confirm(\"${Delete Attachment?}\").then(function() {\n\t\t\t$scope.attachmentHandler.deleteAttachment(attachment);\n\t\t})\n\t}\n\n\t$scope.$on('dialog.upload_too_large.show', function(e){\n\t\t$log.error($scope.data.largeAttachmentMsg);\n\t\tspUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n\t});\n\n\t$scope.$on('added_attachment', function(evt) {\n\t\t$scope.data.action = \"added\";\n\t\tspUtil.update($scope);\n\t});\n\n\t$scope.$on('sp.record.can_write', function(evt, answer) {\n\t\t$scope.data.canWrite = answer;\n\t});\n\t$scope.openEmailPopup = function(){\n\t\tclosePopup();\n\t\tvar width = 875;\n\t\tvar height = 575;\n\t\tvar url = \"/send_email_attachment.do?\";\n\t\turl += \"record_id=\" + $scope.data.sys_id;\n\t\turl += \"&amp;table_name=\" + $scope.data.table;\n\t\turl += \"&amp;attachments=\" + $filter('filter')($scope.attachments,{'selected':true}).map(function(attachment){\n\t\t\treturn attachment.sys_id.toString();\n\t\t});\n\t\tvar features = \"width=\" + width + \",height=\" + height + \",toolbar=no,status=no,directories=no,menubar=no,resizable=yes,scrollbars=1\";\n\t\tpopupCurrent = window.open(url,\"Email_Client\",features,false);\n\t}\n\tfunction closePopup(){\n\t\tif (!popupCurrent)\n\t\t\treturn;\n\t\ttry {\n\t\t\tif (!popupCurrent.closed)\n\t\t\t\tpopupCurrent.close();\n\t\t} catch (e) {}\n\t\tpopupCurrent = null;\n\t}\n\tfunction appendError(error) {\n\t\t$scope.errorMessages.push(error);\n\t\tspUtil.addErrorMessage(error.msg + error.fileName);\n\t}\n\n\tfunction setAttachments(attachments, action) {\n\t\tif ($scope.submitting == true)\n\t\t\treturn;\n\n\t\t$scope.attachments = attachments;\n\t\tif (!action)\n\t\t\treturn;\n\n\t\tif (action === \"added\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n\t\t}\n\n\t\t$scope.data.action = action;\n\t\tspUtil.update($scope);\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;si-manage-attachments&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Manage Attachments&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"ID of referenced record\",\"name\":\"record_id\",\"section\":\"Data\",\"label\":\"Record ID\",\"type\":\"string\"},{\"hint\":\"Table name of referenced record\",\"name\":\"record_table\",\"section\":\"Data\",\"label\":\"Record Table\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tdata.sys_id = (input &amp;&amp; input.sys_id) || options.record_id || $sp.getParameter(\"sys_id\");\n\tdata.table = (input &amp;&amp; input.table) || options.record_table || $sp.getParameter(\"table\");\n\tdata.table = _getActualTable(data.table, data.sys_id);\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tif (!data.table || !data.sys_id)\n\t\treturn;\n\n\tvar gr = new GlideRecord(data.table);\n\tif (!gr.isValid())\n\t\treturn;\n\t\n\tif (!gr.get(data.sys_id))\n\t\treturn;\n\n\tif (input &amp;&amp; input.action == \"deleted\") {\n\t\tgr.comments = input.action + \" an attachment\";\n\t\tgr.update();\n\t}\n\n\tdata.canWrite = gr.canWrite();\n\tdata.canAttach = gs.hasRole(gs.getProperty(\"glide.attachment.role\"));\n\tdata.canRead = gr.canRead();\n\n\tfunction _getActualTable(table, id) {\n\t\tif (!table)\n\t\t\treturn table;\n\t\t\n\t\tvar rec = new GlideRecord(table);\n\t\tif (!rec.isValid())\n\t\t\treturn table;\n\t\t\n\t\tif (rec.get(id) &amp;&amp; rec.getValue('sys_class_name')) {\n\t\t\treturn rec.getValue('sys_class_name');\n\t\t}\n\t\treturn table;\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;joe.wilmoth&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-23 02:37:37&lt;/sys_created_on&gt;&lt;sys_id&gt;4462a56e135c330068b5721a6144b0e2&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;Manage Attachments&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4462a56e135c330068b5721a6144b0e2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;joe.wilmoth&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-26 17:16:50&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"data.canRead\" class=\"panel\"&gt;\n  &lt;div class=\"panel-heading\"&gt;\n    &lt;h2 class=\"h4 sp-attachments-header panel-title pull-left\"&gt;\n      ${Attachments}\n    &lt;/h2&gt;\n    &lt;button id=\"email_button\" title=\"Send Email\" class=\"panel-button btn-link\" ng-click=\"openEmailPopup()\"&gt;\n      &lt;span class=\"glyphicon glyphicon-envelope\"&gt;&lt;/span&gt;\n    &lt;/button&gt;\n    &lt;sp-attachment-button ng-if=\"::(data.canWrite &amp;&amp; data.canAttach)\"&gt;&lt;/sp-attachment-button&gt;\n  &lt;/div&gt;\n  &lt;div class=\"clearfix\"&gt;&lt;/div&gt;\n  &lt;ul class=\"list-group\"&gt;\n    &lt;li ng-repeat=\"attachment in attachments | orderBy : 'file_name'\" class=\"list-group-item\"&gt;\n      &lt;div class=\"checkbox\"&gt;\n        &lt;label&gt;\n          &lt;input type=\"checkbox\" ng-model=\"attachment.selected\"&gt;\n          &lt;a ng-href=\"/sys_atachment.do?sys_id={{atachment.sys_id}}\"&gt;\n            {{attachment.file_name}}\n          &lt;/a&gt;\n          &lt;button id=\"remove_button\" title=\"Remove Attachments\" class=\"btn-link\" ng-click=\"confirmDeleteAttachment(attachment)\"&gt;\n            &lt;span class=\"glyphicon glyphicon-remove\"&gt;&lt;/span&gt;\n          &lt;/button&gt;\n        &lt;/label&gt;\n      &lt;/div&gt;\n    &lt;/li&gt;\n  &lt;/ul&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>780762147</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>24ccf07f1394f30068b5721a6144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bb012e1d0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>Manage Attachments</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>e86880332254f300f2251a4b4009f233</update_guid>\n<update_guid_history>e86880332254f300f2251a4b4009f233:780762147,47080cff5614f3008be2ff286fa18261:1971994206,3cc740ff6714f3007260bba513a85a44:1241585874,cb304cbb4514f3008b64f4b7a7b44c73:-672237885,0924adee9c5c33004ab911b29cbd2b16:-1930541731,d882e96e6f5c330062969e7fade68169:-1528922668,1f62a96e775c330069f831514445487c:1004450622,8862a56ee35c3300d3ca359aaafd77e3:-1449766786</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_80aafbe71314f30068b5721a6144b033</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>6</order><roles/><short_description/><size>md</size><sp_column display_value=\"2\">a77f3d50d7000200a9ad1e173e24d488</sp_column><sp_widget display_value=\"Ticket Attachments\">9ee37281d7033100a9ad1e173e24d457</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-26 16:16:44</sys_created_on><sys_id>80aafbe71314f30068b5721a6144b033</sys_id><sys_mod_count>1</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_80aafbe71314f30068b5721a6144b033</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-26 16:29:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=80aafbe71314f30068b5721a6144b033\"/></record_update>]]></payload>\n<payload_hash>1780751991</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>28ccf07f1394f30068b5721a6144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bad64fd70000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>a2adbb6bb214f3006176f4351952ea25</update_guid>\n<update_guid_history>a2adbb6bb214f3006176f4351952ea25:1780751991,6dadfb6be914f300df43bc080ddb30e5:-963160701,c4aafbe76014f300bb89104020429334:-1322575038</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_a5b2e96e135c330068b5721a6144b071</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Copy of Manage Attachments - Test Page (1) - Container 1\">e5b2e96e135c330068b5721a6144b06f</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-23 02:39:05</sys_created_on><sys_id>a5b2e96e135c330068b5721a6144b071</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_a5b2e96e135c330068b5721a6144b071</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-23 02:39:05</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-171151672</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>60ccf07f1394f30068b5721a6144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a86a80fb0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>a5b2e96e2b5c3300c4465b15accefc72</update_guid>\n<update_guid_history>a5b2e96e2b5c3300c4465b15accefc72:-171151672</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_31b26d6e135c330068b5721a6144b0e3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">e1b2e96e135c330068b5721a6144b073</sp_column><sp_widget display_value=\"Manage Attachments\">4462a56e135c330068b5721a6144b0e2</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-23 02:39:06</sys_created_on><sys_id>31b26d6e135c330068b5721a6144b0e3</sys_id><sys_mod_count>1</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_31b26d6e135c330068b5721a6144b0e3</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-23 02:41:17</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=31b26d6e135c330068b5721a6144b0e3\"/></record_update>]]></payload>\n<payload_hash>-1818541261</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>64ccf07f1394f30068b5721a6144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a86c84970000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>b53361ae335c33004bcfcea83d7bb3c1</update_guid>\n<update_guid_history>b53361ae335c33004bcfcea83d7bb3c1:-1818541261,b5b26d6eb75c33002cbcf26e03f444e4:-134049160</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_529f697d0a0a0b340065009d1473b094</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Email receiving enabled</description><ignore_cache>false</ignore_cache><is_private>true</is_private><name>glide.email.read.active</name><read_roles/><suffix/><sys_class_name>sys_properties</sys_class_name><sys_created_by>glide.maint</sys_created_by><sys_created_on>2009-08-25 17:34:22</sys_created_on><sys_id>529f697d0a0a0b340065009d1473b094</sys_id><sys_mod_count>5</sys_mod_count><sys_name>glide.email.read.active</sys_name><sys_package display_value=\"System (apps/system2)\" source=\"apps/system2\">4ad7a23264232300aadba650cb85d4b2</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_properties_529f697d0a0a0b340065009d1473b094</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-26 20:51:15</sys_updated_on><type>boolean</type><value>true</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=529f697d0a0a0b340065009d1473b094\"/></record_update>]]></payload>\n<payload_hash>1244237661</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>6cccf07f1394f30068b5721a6144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bbc57b260000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>glide.email.read.active</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>dd79b0fb4d94f30030a276acd72c9ce0</update_guid>\n<update_guid_history>dd79b0fb4d94f30030a276acd72c9ce0:1244237661,0dca4302771033008a258825dd1fbd30:1634383186,37ba430263103300c2bf65a90717e225:1244237661</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_e5b2e96e135c330068b5721a6144b06f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Manage Email Attachments - Test Page - Container 1</name><order>1</order><sp_page display_value=\"copy_of_manage_attachments_1\">e1b2e96e135c330068b5721a6144b06d</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-23 02:39:05</sys_created_on><sys_id>e5b2e96e135c330068b5721a6144b06f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Manage Email Attachments - Test Page - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_e5b2e96e135c330068b5721a6144b06f</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-23 02:40:04</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>787886793</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>a0ccf07f1394f30068b5721a6144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a86b684b0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>Manage Email Attachments - Test Page - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>4cf2ed6e735c33005bb03583c29ed6fb</update_guid>\n<update_guid_history>4cf2ed6e735c33005bb03583c29ed6fb:787886793,29b2e96efe5c330023569172e9b6cb70:1479175749</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_action_6c02ad2e135c330068b5721a6144b0cb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update sys_domain=\"global\" table=\"sys_ui_action\"&gt;&lt;sys_ui_action action=\"INSERT_OR_UPDATE\"&gt;&lt;action_name&gt;send_attachments&lt;/action_name&gt;&lt;active&gt;true&lt;/active&gt;&lt;client&gt;true&lt;/client&gt;&lt;client_script_v2/&gt;&lt;comments/&gt;&lt;condition&gt;!current.isNewRecord()&lt;/condition&gt;&lt;form_action&gt;true&lt;/form_action&gt;&lt;form_button&gt;true&lt;/form_button&gt;&lt;form_button_v2&gt;false&lt;/form_button_v2&gt;&lt;form_context_menu&gt;false&lt;/form_context_menu&gt;&lt;form_link&gt;false&lt;/form_link&gt;&lt;form_menu_button_v2&gt;false&lt;/form_menu_button_v2&gt;&lt;form_style/&gt;&lt;hint/&gt;&lt;isolate_script&gt;true&lt;/isolate_script&gt;&lt;list_action&gt;false&lt;/list_action&gt;&lt;list_banner_button&gt;false&lt;/list_banner_button&gt;&lt;list_button&gt;false&lt;/list_button&gt;&lt;list_choice&gt;false&lt;/list_choice&gt;&lt;list_context_menu&gt;false&lt;/list_context_menu&gt;&lt;list_link&gt;false&lt;/list_link&gt;&lt;list_save_with_form_button&gt;false&lt;/list_save_with_form_button&gt;&lt;list_style/&gt;&lt;name&gt;Send Email With Attachments&lt;/name&gt;&lt;onclick&gt;sendInfoToProcessor()&lt;/onclick&gt;&lt;order&gt;100&lt;/order&gt;&lt;script&gt;&lt;![CDATA[function sendInfoToProcessor(){\n\tvar url = new GlideURL(\"send_email_attachment.do\");\n\turl.addParam(\"record_id\",g_form.getUniqueValue());\n\turl.addParam(\"table_name\",\"incident\");\n\turl.addParam(\"attachments\",\"all\");\n\tpopupOpenEmailClient(url.getURL());\n}]]&gt;&lt;/script&gt;&lt;show_insert&gt;true&lt;/show_insert&gt;&lt;show_multiple_update&gt;false&lt;/show_multiple_update&gt;&lt;show_query&gt;false&lt;/show_query&gt;&lt;show_update&gt;true&lt;/show_update&gt;&lt;sys_class_name&gt;sys_ui_action&lt;/sys_class_name&gt;&lt;sys_created_by&gt;joe.wilmoth&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-23 02:36:01&lt;/sys_created_on&gt;&lt;sys_domain&gt;global&lt;/sys_domain&gt;&lt;sys_domain_path&gt;/&lt;/sys_domain_path&gt;&lt;sys_id&gt;6c02ad2e135c330068b5721a6144b0cb&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Send Email With Attachments&lt;/sys_name&gt;&lt;sys_overrides/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_action_6c02ad2e135c330068b5721a6144b0cb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;joe.wilmoth&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-26 16:43:48&lt;/sys_updated_on&gt;&lt;table&gt;incident&lt;/table&gt;&lt;ui11_compatible&gt;false&lt;/ui11_compatible&gt;&lt;ui16_compatible&gt;false&lt;/ui16_compatible&gt;&lt;/sys_ui_action&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1062206167</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>a4ccf07f1394f30068b5721a6144b00d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bae2ee1e0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table>incident</table>\n<target_name>Send Email With Attachments</target_name>\n<type>UI Action</type>\n<update_domain>global</update_domain>\n<update_guid>e4d088fb0314f300ab43832d5cd1dbf8</update_guid>\n<update_guid_history>e4d088fb0314f300ab43832d5cd1dbf8:1062206167,8532656e9c5c330009ec644bc61a1498:-1916162339,a402ad2e485c3300c83285b610a260cd:1127990804</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_0c0e36a8c61122760094b0caafe5f56e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Trusted domains when creating new users from incoming email (Ignore email from untrusted domains unless from an existing user; use * for all domains)</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.user.trusted_domain</name><read_roles/><suffix/><sys_class_name>sys_properties</sys_class_name><sys_created_by>glide.maint</sys_created_by><sys_created_on>2005-05-24 00:15:55</sys_created_on><sys_id>0c0e36a8c61122760094b0caafe5f56e</sys_id><sys_mod_count>11</sys_mod_count><sys_name>glide.user.trusted_domain</sys_name><sys_package display_value=\"Email Automatic User Creation\" source=\"com.glide.email_createuser\">dc6ceeba64e32300aadba650cb85d41e</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_properties_0c0e36a8c61122760094b0caafe5f56e</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-26 20:51:24</sys_updated_on><type>string</type><value>*</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=0c0e36a8c61122760094b0caafe5f56e\"/></record_update>]]></payload>\n<payload_hash>-978831323</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>a8ccf07f1394f30068b5721a6144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bbc5a2f90000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>glide.user.trusted_domain</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b379f0fb8694f300a75aeb54262744f0</update_guid>\n<update_guid_history>b379f0fb8694f300a75aeb54262744f0:-978831323,7379f0fb1b94f3002ab886b6d16bade7:2003764573</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_e1b2e96e135c330068b5721a6144b06d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>manage_email_attachments</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-23 02:39:05</sys_created_on><sys_id>e1b2e96e135c330068b5721a6144b06d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>manage_email_attachments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_page_e1b2e96e135c330068b5721a6144b06d</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-23 02:40:04</sys_updated_on><title>Manage Email Attachments - Test Page</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e1b2e96e135c330068b5721a6144b06d\"/></record_update>]]></payload>\n<payload_hash>-401713929</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>acccf07f1394f30068b5721a6144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a86b6abf0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>manage_email_attachments</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>14f2ed6e465c3300d33abbac73b382fe</update_guid>\n<update_guid_history>14f2ed6e465c3300d33abbac73b382fe:-401713929,a9b2e96ea25c3300d216c56488ccfc6e:1760412601</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_b1e0a52e135c330068b5721a6144b03e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.AttachmentEmailUtil&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;AttachmentEmailUtil&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var AttachmentEmailUtil = Class.create();\nAttachmentEmailUtil.prototype = {\n\tinitialize : function(recordID, tableName) {\n\t\tthis.recordID = recordID;\n\t\tthis.tableName = tableName;\n\t\tthis.recordGR = getRecord(recordID, tableName);\n\t},\n\n\tgetEmailClientURL : function(attachments){\n\t\tvar url = \"email_client.do?\";\n\t\tif(attachments.length != 0){\n\t\t\tvar emailID = this.createEmail(attachments);\n\t\t\turl += \"sysparm_email_id=\" + emailID + \"&amp;\";\n\t\t}\n\t\turl += \"sysparm_table=\" + this.tableName;\n\t\turl += \"&amp;sysparm_sys_id=\" + this.recordID; \n\t\turl += \"&amp;sysparm_target=\" + this.tableName;\n\t\turl += \"&amp;sys_target=\" + this.tableName;\n\t\turl += \"&amp;sys_uniqueValue=\" + this.recordID;\n\t\turl += \"&amp;sys_row=0&amp;sysparm_domain_restore=false&amp;sysparm_stack=no\";\n\t\treturn url;\n\t},\n\t\n\tcreateEmail : function(attachments){\n\t\tvar emailID = \"\";\n\t\tvar replyTo = getReplyTo();\n\t\tvar templateGR = getTemplateGR(this.tableName);\n\t\tvar emailGR = new GlideRecord('sys_email');\n\t\temailGR.initialize();\n\t\temailGR.instance = this.recordID;\n\t\temailGR.target_table = this.tableName;\n\t\temailGR.reply_to = replyTo;\n\t\temailGR.user = replyTo;\n\t\temailGR.type = \"send-ignored\";\n\t\temailGR.error_string = \"User did not press the Send button in Email Client\";\n\t\temailGR.headers = \"X-ServiceNow-Source: EmailClient\\nX-ServiceNow-SysEmail-Version: 2\";\n\t\temailGR.weight = -1;\n\t\tif(templateGR.next()){\n\t\t\temailGR.recipients = this.regexReplace(templateGR.recipients.toString());\n\t\t\temailGR.subject = this.regexReplace(templateGR.subject.toString());\n\t\t\temailGR.blind_copied = this.regexReplace(templateGR.blind_copied.toString());\n\t\t\temailGR.copied = this.regexReplace(templateGR.copied.toString());\n\t\t\temailGR.body = this.regexReplace(templateGR.content_type == \"text/html\" ? templateGR.body_html.toString() : templateGR.body.toString());\n\t\t}\n\t\temailID = emailGR.insert();\n\t\tif(attachments){\n\t\t\tcopyAttachments(emailGR,attachments);\n\t\t}\n\t\treturn emailID;\n\t},\n\t\n\tgetAttachments : function(idList){\n\t\tgs.log(\"ID List: \" + idList);\n\t\tvar attachmentList = [];\n\t\tvar attachmentGR = new GlideRecord(\"sys_attachment\");\n\t\tattachmentGR.addQuery(\"table_sys_id\",this.recordID);\n\t\tattachmentGR.addQuery(\"table_name\",this.tableName);\n\t\tif(idList){\n\t\t\tattachmentGR.addQuery(\"sys_id\",\"IN\",idList);\n\t\t}\n\t\tattachmentGR.query();\n\t\twhile(attachmentGR.next()){\n\t\t\tattachmentList.push({\n\t\t\t\tfile_name : attachmentGR.file_name.toString(),\n\t\t\t\tsys_id : attachmentGR.sys_id.toString(),\n\t\t\t\tcontent_type : attachmentGR.content_type.toString(),\n\t\t\t\tbase64 : getAttachmentBase64(attachmentGR),\n\t\t\t\tselected : true\n\t\t\t});\n\t\t}\n\t\tgs.log(\"AttachmentList Length: \" + attachmentList.length);\n\t\treturn attachmentList;\n\t},\n\t\n\twriteAttachmentBase64 : writeAttachmentBase64,\n\tregexReplace : function (textString){\n\t\tvar reg = new RegExp(/\\${(\\w*)}/g);\n\t\tvar regTest;\n\t\twhile ((regTest = reg.exec(textString)) !== null) {\n\t\t\tif (regTest.index === reg.lastIndex) {\n\t\t\t\treg.lastIndex++;\n\t\t\t}\n\t\t\ttextString = textString.replace(regTest[0].toString(),this.recordGR.getDisplayValue(regTest[1].toString()));\n\t\t}\n\t\treturn textString;\n\t},\n\ttype: 'AttachmentEmailUtil'\n};\n\n\n//Private\nfunction getAttachmentBase64 (attachmentGR){\n\tvar gsa = new GlideSysAttachment();\n\tvar binData = gsa.getBytes(attachmentGR);\n\treturn GlideStringUtil.base64Encode(binData);\n}\n\nfunction writeAttachmentBase64 (emailRecord, attachment, sa64){\n\tvar gsa = new GlideSysAttachment();\n\tgsa.write(emailRecord,attachment.file_name.toString(),attachment.content_type.toString(), GlideStringUtil.base64DecodeAsBytes(sa64));\n}\n\nfunction getRecord (recordID, tableName){\n\tvar recordGR = new GlideRecord(tableName);\n\trecordGR.get(recordID);\n\treturn recordGR;\n}\n\nfunction getReplyTo(){\n\tvar replyTo = gs.getProperty(\"glide.email.username\") + \" &lt;\" + gs.getProperty(\"glide.cs.email.case_queue_address\") + \"&gt;\"; \n\tvar emailAccountsGR = new GlideRecord(\"sys_email_account\");\n\temailAccountsGR.addQuery(\"type\",\"smtp\");\n\temailAccountsGR.addActiveQuery();\n\temailAccountsGR.query();\n\tif(emailAccountsGR.next()){\n\t\treplyTo = emailAccountsGR.email_user_label.toString() + \" &lt;\" +  emailAccountsGR.from.toString() + \"&gt;\";\n\t}\n\treturn replyTo;\n}\n\nfunction getTemplateGR(tableName){\n\tvar templateGR = new GlideRecord(\"sys_email_client_template\");\n\ttemplateGR.addQuery(\"name\",\"New Email\");\n\ttemplateGR.addQuery(\"table\",tableName);\n\ttemplateGR.query();\n\treturn templateGR;\n}\n\nfunction copyAttachments(emailRecord, attachments){\n\tfor(var i = 0; i != attachments.length; i++){\n\t\tcopyAttachment(emailRecord,attachments[i]);\n\t}\n}\n\nfunction copyAttachment(emailRecord, attachment){\n\tvar sa64 = attachment.base64 || getAttachmentBase64(getRecord(attachment.sys_id.toString(),\"sys_attachment\"));\n\tlog(sa64);\n\twriteAttachmentBase64(emailRecord, attachment, sa64);\n}\n\nfunction log(message){\n\tvar gdt = new GlideDateTime();\n\tgs.info(gdt.getNumericValue() + \"\\n\" + message);\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;joe.wilmoth&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-23 02:31:39&lt;/sys_created_on&gt;&lt;sys_id&gt;b1e0a52e135c330068b5721a6144b03e&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;AttachmentEmailUtil&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_b1e0a52e135c330068b5721a6144b03e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;joe.wilmoth&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-26 21:00:22&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1205786186</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>e0ccf07f1394f30068b5721a6144b00d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bbcdd67b0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>AttachmentEmailUtil</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>c38b383f0194f30035fb58490cc8f19a</update_guid>\n<update_guid_history>c38b383f0194f30035fb58490cc8f19a:1205786186,6aca703faa94f300a5e4aced28910943:-1038742236,3dc6903b9b54f300dd095d0916eb0ac7:-895252365,5d76903b3e54f300c6bf6cf63cf0ccbd:-795725593,cbb558f7f354f300a0c9ffce0245b85b:-2078936040,ef6558f7a554f3008a100b8d4bee9752:-993114248,e91314b7e154f3008561e951aacb44ad:1051920279,bcb25c771454f300464ea19f90d95d77:755637925,a8421c778454f300c82779e9464cafcd:722549770,41805c371b54f300bb37870571e2d010:1493149754,c6bf80370f54f300d25eb8317aad1f64:-1140261350,bd3f0037a854f300e0c453a2130967ad:1838331205,f7bc88b39c54f300403400f05adf87c2:-374519381,df1bc8738054f3007800ac13c5fc2976:-929068827,eb2a80732254f300c2661554f4a38084:1359802980,d0560cbf1114f3006569d4415bed7c68:669123101,79f5c8bfeb14f300f9247dce38aee820:1359802980,7aa508bf2c14f300107cc5da6cfdb710:-1118060021,589500bf7914f30058bc502f24cc37ff:2069010002,2c0500bfa214f300f95d6931d90bce4c:1682961290,cb928c3f4a14f30038a8294f0bbc677f:-80341925,e071c03f7f14f300c7720aba4da508a5:-1211312756,9e314cfb1014f300fe749d1efe21c1b2:-80341925,e56f3fabed14f3003e7bce0ccdb91737:-640758253,2001252e0e5c33001f2b946f1f88ab07:-1004796257</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_0062696e135c330068b5721a6144b0f4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"dialog-polyfill\">2eaf31f30b301200b0b02c6317673a84</sp_dependency><sp_widget display_value=\"Copy of Manage Attachments\">4462a56e135c330068b5721a6144b0e2</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-23 02:37:37</sys_created_on><sys_id>0062696e135c330068b5721a6144b0f4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dialog-polyfill.Copy of Manage Attachments</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_0062696e135c330068b5721a6144b0f4</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-23 02:37:37</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>1768844488</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>e4ccf07f1394f30068b5721a6144b00a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a869295c0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>dialog-polyfill.Copy of Manage Attachments</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>9462696efa5c330069e9a3dca6204ef5</update_guid>\n<update_guid_history>9462696efa5c330069e9a3dca6204ef5:1768844488</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_processor_c870612e135c330068b5721a6144b06e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_processor\"&gt;&lt;sys_processor action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;description/&gt;&lt;interactive&gt;false&lt;/interactive&gt;&lt;name&gt;AttachmentEmail&lt;/name&gt;&lt;parameters/&gt;&lt;params_endpoint/&gt;&lt;path&gt;send_email_attachment&lt;/path&gt;&lt;path_endpoint/&gt;&lt;require_csrf&gt;false&lt;/require_csrf&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function process(g_request, g_response, g_processor) {\n\tvar recordID = g_request.getParameter(\"record_id\").toString();\n\tvar tableName = g_request.getParameter(\"table_name\").toString();\n\tvar attachmentsIDs = g_request.getParameter(\"attachments\").toString();\n\tvar attachmentScript = new global.AttachmentEmailUtil(recordID, tableName);\n\tvar attachments = attachmentScript.getAttachments(attachmentsIDs == \"all\" ? false : attachmentsIDs);\n\t\n\tvar url = attachmentScript.getEmailClientURL(attachments);\n\tg_processor.redirect(url);\n})(g_request, g_response, g_processor);]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_processor&lt;/sys_class_name&gt;&lt;sys_created_by&gt;joe.wilmoth&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-23 02:30:00&lt;/sys_created_on&gt;&lt;sys_id&gt;c870612e135c330068b5721a6144b06e&lt;/sys_id&gt;&lt;sys_mod_count&gt;16&lt;/sys_mod_count&gt;&lt;sys_name&gt;AttachmentEmail&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_processor_c870612e135c330068b5721a6144b06e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;joe.wilmoth&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-26 18:24:08&lt;/sys_updated_on&gt;&lt;type&gt;script&lt;/type&gt;&lt;/sys_processor&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1735200066</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>e4ccf07f1394f30068b5721a6144b00c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bb3eccae0000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>AttachmentEmail</target_name>\n<type>Processor</type>\n<update_domain>global</update_domain>\n<update_guid>5ec79c3bb354f3006daa1cf93a113576</update_guid>\n<update_guid_history>5ec79c3bb354f3006daa1cf93a113576:-1735200066,ea47583b6f54f300a73762a64927d149:-1756831381,ce8318b79254f3007af2543db227d6f2:-1735200066,e75354b72254f300f0d27c937b3bfb46:-1756831381,99309437c954f30010ad739bbd141200:-1735200066,6adf8437b154f300cd5c58e1b2cadff0:-1756831381,74aa84734154f300a95264613b2a66fc:-1198172759,86e844330054f300048e43abf01e6b07:1379423236,bca80433c554f300c619a1dc1e682fb7:-1596202129,edc640ffce14f30054f610e792e8273e:-27335024,947044fbed14f300a0d0f1afcf5a6000:1832157190,4e7f7fab8b14f30051628aaf91f6ed50:670233484,6b3f77ab1114f300859ab22c1323efff:827225478,c76df76bd814f3002492a23130d4b779:54201165,7181e92ebe5c330036a8d94dd542b63a:827225478,d071e92e605c33002cc74b8377a68632:-1990914432,d0a0612ea75c3300456129a00f619975:1773107124</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_a9adfb6b1314f30068b5721a6144b0e1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>5</order><roles/><short_description/><size>md</size><sp_column display_value=\"2\">a77f3d50d7000200a9ad1e173e24d488</sp_column><sp_widget display_value=\"Manage Attachments\">30f129741358e7009e5e7f176144b07d</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-26 16:29:57</sys_created_on><sys_id>a9adfb6b1314f30068b5721a6144b0e1</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_a9adfb6b1314f30068b5721a6144b0e1</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-26 16:29:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a9adfb6b1314f30068b5721a6144b0e1\"/></record_update>]]></payload>\n<payload_hash>-453197284</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>e8ccf07f1394f30068b5721a6144b00b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169bb4ae6420000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>80da18bbad54f30073f35076841df16b</update_guid>\n<update_guid_history>80da18bbad54f30073f35076841df16b:-453197284,21adfb6b2f14f300f0b0f0a300f5d1e3:1097857320</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_e1b2e96e135c330068b5721a6144b073</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size/><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">a5b2e96e135c330068b5721a6144b071</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>joe.wilmoth</sys_created_by><sys_created_on>2019-03-23 02:39:06</sys_created_on><sys_id>e1b2e96e135c330068b5721a6144b073</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_e1b2e96e135c330068b5721a6144b073</sys_update_name><sys_updated_by>joe.wilmoth</sys_updated_by><sys_updated_on>2019-03-23 02:39:06</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1472617807</payload_hash>\n<remote_update_set display_value=\"Email Attachments and Attachment Management Widget v1\">a0ccf07f1394f30068b5721a6144b00a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>joe.wilmoth</sys_created_by>\n<sys_created_on>2019-03-26 21:05:40</sys_created_on>\n<sys_id>ecccf07f1394f30068b5721a6144b00a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a86a81400000001</sys_recorded_at>\n<sys_updated_by>joe.wilmoth</sys_updated_by>\n<sys_updated_on>2019-03-26 21:05:40</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>f1b2e96e6d5c3300cec998cc6ac31f74</update_guid>\n<update_guid_history>f1b2e96e6d5c3300cec998cc6ac31f74:1472617807</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-email-manage-attachment/script-include/pe-email-manage-attachment.helper.u-server-script.js",
    "content": "var AttachmentEmailUtil = Class.create();\nAttachmentEmailUtil.prototype = {\n\tinitialize : function(recordID, tableName) {\n\t\tthis.recordID = recordID;\n\t\tthis.tableName = tableName;\n\t\tthis.recordGR = getRecord(recordID, tableName);\n\t},\n\n\tgetEmailClientURL : function(attachments){\n\t\tvar url = \"email_client.do?\";\n\t\tif(attachments.length != 0){\n\t\t\tvar emailID = this.createEmail(attachments);\n\t\t\turl += \"sysparm_email_id=\" + emailID + \"&\";\n\t\t}\n\t\turl += \"sysparm_table=\" + this.tableName;\n\t\turl += \"&sysparm_sys_id=\" + this.recordID; \n\t\turl += \"&sysparm_target=\" + this.tableName;\n\t\turl += \"&sys_target=\" + this.tableName;\n\t\turl += \"&sys_uniqueValue=\" + this.recordID;\n\t\turl += \"&sys_row=0&sysparm_domain_restore=false&sysparm_stack=no\";\n\t\treturn url;\n\t},\n\t\n\tcreateEmail : function(attachments){\n\t\tvar emailID = \"\";\n\t\tvar replyTo = getReplyTo();\n\t\tvar templateGR = getTemplateGR(this.tableName);\n\t\tvar emailGR = new GlideRecord('sys_email');\n\t\temailGR.initialize();\n\t\temailGR.instance = this.recordID;\n\t\temailGR.target_table = this.tableName;\n\t\temailGR.reply_to = replyTo;\n\t\temailGR.user = replyTo;\n\t\temailGR.type = \"send-ignored\";\n\t\temailGR.error_string = \"User did not press the Send button in Email Client\";\n\t\temailGR.headers = \"X-ServiceNow-Source: EmailClient\\nX-ServiceNow-SysEmail-Version: 2\";\n\t\temailGR.weight = -1;\n\t\tif(templateGR.next()){\n\t\t\temailGR.recipients = this.regexReplace(templateGR.recipients.toString());\n\t\t\temailGR.subject = this.regexReplace(templateGR.subject.toString());\n\t\t\temailGR.blind_copied = this.regexReplace(templateGR.blind_copied.toString());\n\t\t\temailGR.copied = this.regexReplace(templateGR.copied.toString());\n\t\t\temailGR.body = this.regexReplace(templateGR.content_type == \"text/html\" ? templateGR.body_html.toString() : templateGR.body.toString());\n\t\t}\n\t\temailID = emailGR.insert();\n\t\tif(attachments){\n\t\t\tcopyAttachments(emailGR,attachments);\n\t\t}\n\t\treturn emailID;\n\t},\n\t\n\tgetAttachments : function(idList){\n\t\tgs.log(\"ID List: \" + idList);\n\t\tvar attachmentList = [];\n\t\tvar attachmentGR = new GlideRecord(\"sys_attachment\");\n\t\tattachmentGR.addQuery(\"table_sys_id\",this.recordID);\n\t\tattachmentGR.addQuery(\"table_name\",this.tableName);\n\t\tif(idList){\n\t\t\tattachmentGR.addQuery(\"sys_id\",\"IN\",idList);\n\t\t}\n\t\tattachmentGR.query();\n\t\twhile(attachmentGR.next()){\n\t\t\tattachmentList.push({\n\t\t\t\tfile_name : attachmentGR.file_name.toString(),\n\t\t\t\tsys_id : attachmentGR.sys_id.toString(),\n\t\t\t\tcontent_type : attachmentGR.content_type.toString(),\n\t\t\t\tbase64 : getAttachmentBase64(attachmentGR),\n\t\t\t\tselected : true\n\t\t\t});\n\t\t}\n\t\tgs.log(\"AttachmentList Length: \" + attachmentList.length);\n\t\treturn attachmentList;\n\t},\n\t\n\twriteAttachmentBase64 : writeAttachmentBase64,\n\tregexReplace : function (textString){\n\t\tvar reg = new RegExp(/\\${(\\w*)}/g);\n\t\tvar regTest;\n\t\twhile ((regTest = reg.exec(textString)) !== null) {\n\t\t\tif (regTest.index === reg.lastIndex) {\n\t\t\t\treg.lastIndex++;\n\t\t\t}\n\t\t\ttextString = textString.replace(regTest[0].toString(),this.recordGR.getDisplayValue(regTest[1].toString()));\n\t\t}\n\t\treturn textString;\n\t},\n\ttype: 'AttachmentEmailUtil'\n};\n\n\n//Private\nfunction getAttachmentBase64 (attachmentGR){\n\tvar gsa = new GlideSysAttachment();\n\tvar binData = gsa.getBytes(attachmentGR);\n\treturn GlideStringUtil.base64Encode(binData);\n}\n\nfunction writeAttachmentBase64 (emailRecord, attachment, sa64){\n\tvar gsa = new GlideSysAttachment();\n\tgsa.write(emailRecord,attachment.file_name.toString(),attachment.content_type.toString(), GlideStringUtil.base64DecodeAsBytes(sa64));\n}\n\nfunction getRecord (recordID, tableName){\n\tvar recordGR = new GlideRecord(tableName);\n\trecordGR.get(recordID);\n\treturn recordGR;\n}\n\nfunction getReplyTo(){\n\tvar replyTo = gs.getProperty(\"glide.email.username\") + \" <\" + gs.getProperty(\"glide.cs.email.case_queue_address\") + \">\"; \n\tvar emailAccountsGR = new GlideRecord(\"sys_email_account\");\n\temailAccountsGR.addQuery(\"type\",\"smtp\");\n\temailAccountsGR.addActiveQuery();\n\temailAccountsGR.query();\n\tif(emailAccountsGR.next()){\n\t\treplyTo = emailAccountsGR.email_user_label.toString() + \" <\" +  emailAccountsGR.from.toString() + \">\";\n\t}\n\treturn replyTo;\n}\n\nfunction getTemplateGR(tableName){\n\tvar templateGR = new GlideRecord(\"sys_email_client_template\");\n\ttemplateGR.addQuery(\"name\",\"New Email\");\n\ttemplateGR.addQuery(\"table\",tableName);\n\ttemplateGR.query();\n\treturn templateGR;\n}\n\nfunction copyAttachments(emailRecord, attachments){\n\tfor(var i = 0; i != attachments.length; i++){\n\t\tcopyAttachment(emailRecord,attachments[i]);\n\t}\n}\n\nfunction copyAttachment(emailRecord, attachment){\n\tvar sa64 = attachment.base64 || getAttachmentBase64(getRecord(attachment.sys_id.toString(),\"sys_attachment\"));\n\tlog(sa64);\n\twriteAttachmentBase64(emailRecord, attachment, sa64);\n}\n\nfunction log(message){\n\tvar gdt = new GlideDateTime();\n\tgs.info(gdt.getNumericValue() + \"\\n\" + message);\n}"
  },
  {
    "path": "src/pe-email-manage-attachment/widget/pe-email-manage-attachment.u-body-html-template.html",
    "content": "<div ng-if=\"data.canRead\" class=\"panel\">\n  <div class=\"panel-heading\">\n    <h2 class=\"h4 sp-attachments-header panel-title pull-left\">\n      ${Attachments}\n    </h2>\n    <button id=\"email_button\" title=\"Send Email\" class=\"panel-button btn-link\" ng-click=\"openEmailPopup()\">\n      <span class=\"glyphicon glyphicon-envelope\"></span>\n    </button>\n    <sp-attachment-button ng-if=\"::(data.canWrite && data.canAttach)\"></sp-attachment-button>\n  </div>\n  <div class=\"clearfix\"></div>\n  <ul class=\"list-group\">\n    <li ng-repeat=\"attachment in attachments | orderBy : 'file_name'\" class=\"list-group-item\">\n      <div class=\"checkbox\">\n        <label>\n          <input type=\"checkbox\" ng-model=\"attachment.selected\">\n          <a ng-href=\"/sys_atachment.do?sys_id={{atachment.sys_id}}\">\n            {{attachment.file_name}}\n          </a>\n          <button id=\"remove_button\" title=\"Remove Attachments\" class=\"btn-link\" ng-click=\"confirmDeleteAttachment(attachment)\">\n            <span class=\"glyphicon glyphicon-remove\"></span>\n          </button>\n        </label>\n      </div>\n    </li>\n  </ul>\n</div>\n"
  },
  {
    "path": "src/pe-email-manage-attachment/widget/pe-email-manage-attachment.u-client-script.js",
    "content": "function attachMate($scope, nowAttachmentHandler, $rootScope, spUtil, spModal, $log, spAriaUtil, $filter) {\n\tvar popupCurrent = undefined;\n\t$scope.errorMessages = [];\n\t$scope.attachmentHandler = new nowAttachmentHandler(setAttachments, appendError);\n\t$scope.data.action = \"\";\n\n\tspUtil.recordWatch($scope, \"sys_attachment\", \"table_sys_id=\" + $scope.data.sys_id, function(name, data) {\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t});\n\n\t$scope.$evalAsync(function() {\n\t\t$scope.attachmentHandler.setParams($scope.data.table, $scope.data.sys_id, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t$scope.attachmentHandler.getAttachmentList();\n\t})\n\n\t$scope.hasAttachments = function() {\n\t\treturn $scope.attachments && $scope.attachments.length != 0;\n\t}\n\n\t$scope.canWrite = function() {\n\t\treturn $scope.data.canWrite;\n\t}\n\n\t$scope.confirmDeleteAttachment = function(attachment) {\n\t\tspModal.confirm(\"${Delete Attachment?}\").then(function() {\n\t\t\t$scope.attachmentHandler.deleteAttachment(attachment);\n\t\t})\n\t}\n\n\t$scope.$on('dialog.upload_too_large.show', function(e){\n\t\t$log.error($scope.data.largeAttachmentMsg);\n\t\tspUtil.addErrorMessage($scope.data.largeAttachmentMsg);\n\t});\n\n\t$scope.$on('added_attachment', function(evt) {\n\t\t$scope.data.action = \"added\";\n\t\tspUtil.update($scope);\n\t});\n\n\t$scope.$on('sp.record.can_write', function(evt, answer) {\n\t\t$scope.data.canWrite = answer;\n\t});\n\t$scope.openEmailPopup = function(){\n\t\tclosePopup();\n\t\tvar width = 875;\n\t\tvar height = 575;\n\t\tvar url = \"/send_email_attachment.do?\";\n\t\turl += \"record_id=\" + $scope.data.sys_id;\n\t\turl += \"&table_name=\" + $scope.data.table;\n\t\turl += \"&attachments=\" + $filter('filter')($scope.attachments,{'selected':true}).map(function(attachment){\n\t\t\treturn attachment.sys_id.toString();\n\t\t});\n\t\tvar features = \"width=\" + width + \",height=\" + height + \",toolbar=no,status=no,directories=no,menubar=no,resizable=yes,scrollbars=1\";\n\t\tpopupCurrent = window.open(url,\"Email_Client\",features,false);\n\t}\n\tfunction closePopup(){\n\t\tif (!popupCurrent)\n\t\t\treturn;\n\t\ttry {\n\t\t\tif (!popupCurrent.closed)\n\t\t\t\tpopupCurrent.close();\n\t\t} catch (e) {}\n\t\tpopupCurrent = null;\n\t}\n\tfunction appendError(error) {\n\t\t$scope.errorMessages.push(error);\n\t\tspUtil.addErrorMessage(error.msg + error.fileName);\n\t}\n\n\tfunction setAttachments(attachments, action) {\n\t\tif ($scope.submitting == true)\n\t\t\treturn;\n\n\t\t$scope.attachments = attachments;\n\t\tif (!action)\n\t\t\treturn;\n\n\t\tif (action === \"added\") {\n\t\t\tspAriaUtil.sendLiveMessage($scope.data.attachmentSuccessMsg);\n\t\t}\n\n\t\t$scope.data.action = action;\n\t\tspUtil.update($scope);\n\t}\n}"
  },
  {
    "path": "src/pe-email-manage-attachment/widget/pe-email-manage-attachment.u-css.scss",
    "content": ""
  },
  {
    "path": "src/pe-email-manage-attachment/widget/pe-email-manage-attachment.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-email-manage-attachment/widget/pe-email-manage-attachment.u-option-schema.json",
    "content": "[{\"hint\":\"ID of referenced record\",\"name\":\"record_id\",\"section\":\"Data\",\"label\":\"Record ID\",\"type\":\"string\"},{\"hint\":\"Table name of referenced record\",\"name\":\"record_table\",\"section\":\"Data\",\"label\":\"Record Table\",\"type\":\"string\"}]"
  },
  {
    "path": "src/pe-email-manage-attachment/widget/pe-email-manage-attachment.u-server-script.js",
    "content": "(function() {\n\tdata.sys_id = (input && input.sys_id) || options.record_id || $sp.getParameter(\"sys_id\");\n\tdata.table = (input && input.table) || options.record_table || $sp.getParameter(\"table\");\n\tdata.table = _getActualTable(data.table, data.sys_id);\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tdata.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tdata.attachmentSuccessMsg = gs.getMessage(\"Attachment successfully uploaded\");\n\t\n\tif (!data.table || !data.sys_id)\n\t\treturn;\n\n\tvar gr = new GlideRecord(data.table);\n\tif (!gr.isValid())\n\t\treturn;\n\t\n\tif (!gr.get(data.sys_id))\n\t\treturn;\n\n\tif (input && input.action == \"deleted\") {\n\t\tgr.comments = input.action + \" an attachment\";\n\t\tgr.update();\n\t}\n\n\tdata.canWrite = gr.canWrite();\n\tdata.canAttach = gs.hasRole(gs.getProperty(\"glide.attachment.role\"));\n\tdata.canRead = gr.canRead();\n\n\tfunction _getActualTable(table, id) {\n\t\tif (!table)\n\t\t\treturn table;\n\t\t\n\t\tvar rec = new GlideRecord(table);\n\t\tif (!rec.isValid())\n\t\t\treturn table;\n\t\t\n\t\tif (rec.get(id) && rec.getValue('sys_class_name')) {\n\t\t\treturn rec.getValue('sys_class_name');\n\t\t}\n\t\treturn table;\n\t}\n})();"
  },
  {
    "path": "src/pe-enhanced-list/README.md",
    "content": "# Enhanced List\n\n## Description\n\nBring a more interactive and configurable presentation to showing the content of a table in a list format.  The Enhanced List widget brings several configurable options that give the user more options to view the data item. Additional capabilities include: Service Catalog links, Pagination of the content, View All and individual item Details link, Bootstrap Context assignement, and many more.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/default.png)\n### Configured - Bootstrap Context\n![Bootstrap Context](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/bootstrapcontext.png)\n### Item Dropdown Choices\n![Item Dropdown Choices](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/itemddlist.png)\n### Pagination\n![Pagination](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/pagination.png)\n### Missing Configuration\n![Missing Configuration](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/missingconfiguration.png)\n### Instance Options\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/options1.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/options2.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list/images/options3.png)\n\n## Additional Information/Notes\n\nThe Enhanced List widget provides the follow capabilities:\n * Choice of table, fields, View All link selection, individual item Details link\n * Links to Service Catalog items on the item's dropdown list.  \n * Provides Bootstrap Contexting of the UI Panel.\n * Pagination of the data presentation\n * MAX record count control\n\n---\n## Installation\nDownload and install update set **[pe-enhanced-list.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-enhanced-list/pe-enhanced-list.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Table** - Name of table to retrieve data from - e.g. task<br/>\n**Fields** - Recommended maximum of 4 fields, comma delimited, and order controls column presentation `Default: number,short_description,assigned_to` <br/>\n**Field Label Override** - comma delimited and order must match Field List order<br/>\n**Image Field** - Field name in table storing an image<br/>\n**Limit to User** - Limit query results to current user. Expects field named *assigned_to* existing in table<br/>\n**Additional Data Filter** - using Encoded Query format, e.g.  active=true^start_date=today<br/>\n**List Page Target** - Target Page for View All panel header link<br/>\n**Detail Page Target** - Detail page target for item menu 'View Details' link<br/>\n**Detail Page View** - View to use when target detail page is 'form', leave empty to use 'default' view<br/>\n**Order By Field** - Table field to use for sorting the data `Default: sys_created_on` <br/>\n**Use Order By in Descending Order** - Boolean toggle to change order by to descending order<br/>\n\n\n### Presentation\n**Service Catalog Menu Items** - Sys ID of catalog items as comma delimited, links added to item's action menu<br/>\n**Pass Item's Sys ID to Service Catalog Item** - Pass the Item's Sys ID as a parameter to the Catalog Item selected<br/>\n**Bootstrap Panel's Contextual alternatives** - changes the header and border to Bootstrap defined context colors<br/>\n**List Pagination** - Paginate the list in groups of 5,10,15,25,50, or 100 items<br/>\n**MAX Record Count** - Max number of records to return in query<br/>\n**Date/Time Formatting** - Show all Date/Time fields as 1 - 'MM/DD/YYYY', 2- 'hh:mm:ss' , 3- 'MM/DD/YYYY hh:mm:ss', or 4 - No Format<br/>\n\n### Behavior\n**Show Widget's Panel Header** - Show panel header element<br/>\n**User defined Panel Header Text** - Override the text for the Panel Header text<br/>\n**Show Panel Footer** - Show panel footer element<br/>\n\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n\n$heading-color: #717171 !default;<br/>\n$table-background: #ffffff !default;<br/>\n$title-color: $text-color !default;<br/>\n$wide-header-text-color: #4a4a4a !default;<br/>\n$wide-header-text-size: 16px !default;<br/>\n$details-color: $text-muted !default;<br/>\n$table-bg-hover: rgba(0,0,0,0.05);<br/>\n<br/>"
  },
  {
    "path": "src/pe-enhanced-list/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Action List\",\n  \"common-name\": \"Enhanced List\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"list\"\n  ],\n  \"name\": \"pe-enhanced-list\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Enhanced List widget brings several configurable options that give the user more options to view the data item\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-enhanced-list/pe-enhanced-list.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-04-03 15:50:30\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Enhanced List</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>c374b0544fefe70005be4d6e0210c743</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-04-03 15:50:29</sys_created_on>\n<sys_id>795185964f24f3808272ece24210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-04-03 15:50:29</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4ffb3d924f252b0005be4d6e0210c726</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function EnhancedList($scope,$location) {\n  /* widget controller */\n  var c = this;\n\n\t//Let's simplify the dataset in order to minimize the Angular coding in the HTML\n\tc.table = c.data.instance_table;\n\t\n\t//Some initilization\n\tc.$onInit = function(){\n\t\tc.currentPage = c.selectedItem = 1;\n\t\tc.itemsPerPage = c.table.viewby;\n\t};\n\t\n\t//What to do if the View All in the panel header is clicked\n\t$scope.headerMenu = function(){\n\t\t\t$location.url('?id='+ c.table.list_page + '&amp;t=' + c.table.name);\n\t};\n\t\n\t//Return the proper date/time format\n\t$scope.getFormat = function(val,type){\n\t\tvar d = moment(val);\n\t\tswitch(type){\n\t\t\tcase '1':\n\t\t\t\treturn d.format('MM/DD/YYYY');\n\t\t\tcase '2':\n\t\t\t\treturn d.format('hh:mm:ss');\n\t\t\tcase '3':\n\t\t\t\treturn d.format('MM/DD/YYYY hh:mm:ss');\n\t\t\tdefault:\n\t\t\t\treturn val;\n\t\t}\n\t};\n\t//What to do if an item's submenu choice is clicked\n\t$scope.itemMenu = function(item,choice,cat_item){\n\t\tif(choice=='view'){\n\t\t\t$scope.goItem(item);\n\t\t}\n\t\tif(choice=='sc'){\n\t\t\tif($scope.options.sc_item_id){\n\t\t\t\tcat_item = cat_item + '&amp;item_sysid=' + item;\n\t\t\t}\n\t\t\t$location.url('?id=sc_cat_item&amp;sys_id=' + cat_item);\n\t\t}\n\t};\n\t\n\t//What to do if the item is clicked\n\t$scope.goItem = function(item){\n\t\tvar location = '?id='+ c.table.detail_page;\n\t\t//Add the item sys_id\n\t\tlocation += '&amp;sys_id=' + item.sys_id.value;\n\t\t//Add the table\n\t\tlocation += '&amp;t=' + c.table.name;\n\t\t//Add the view\n\t\tlocation += '&amp;v=' + c.table.detail_view;\n\t\t$location.url( location );\n\t};\n\t\n\t//Function to determine the width of the widget and what to do about it\n\t$scope.ifWidth = function(size){\n\t\tvar rtn = false;\n\t\tvar el = angular.element(document.getElementById('x' + $scope.widget.rectangle_id));\n\t\tvar width = parseInt(el[0].clientWidth);\n\t\tswitch(size){\n\t\t\tcase 'xs'\t:\n\t\t\t\trtn = (width &lt;= 420);\n\t\t\t\tbreak;\n\t\t\tcase 'sm' :\n\t\t\t\trtn = ((width &gt; 420) &amp;&amp; (width &lt;= 768));\n\t\t\t\tbreak;\n\t\t\tcase 'md' :\n\t\t\t\trtn = ((width &gt; 768) &amp;&amp; (width &lt;= 1024));\n\t\t\t\tbreak;\n\t\t\tcase 'lg' :\n\t\t\t\trtn = (width &gt; 1024);\n\t\t\t\tbreak;\t\t\t\t\n\t\t\tdefault: \n\t\t\t\trtn = false;\n\t\t}\n\t\n\t\treturn rtn;\n\t};\n\t\n\t//Function to set the currently being view pagination page\n\t$scope.setPage = function() {\n\t\tc.currentPage = c.selectedItem;\n\t};\n\t\n\t//Function to control the page being viewed when the left/right pagination arrows are clicked\n\t$scope.setPageNext = function(inc) {\n\t\tc.currentPage = c.currentPage + inc;\n\t\tif((c.currentPage&lt;1) || (c.currentPage&gt;c.table.pages.length)){\n\t\t\tc.currentPage = 1;\n\t\t}\n\t\tc.selectedItem = c.currentPage;\n\t};\n\t\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$heading-color: #717171 !default;\n$table-background: #ffffff !default;\n$title-color: $text-color !default;\n$wide-header-text-color: #4a4a4a !default;\n$wide-header-text-size: 16px !default;\n$details-color: $text-muted !default;\n$table-bg-hover: rgba(0,0,0,0.05);\n\n.d-hide{\n  display: none;\n}\n.d-show{\n  display: block;\n  overflow-x: visible;\n}\n.panel-none {\n  background-color: transparent;\n  border-color: transparent;\n  box-shadow: unset !important;\n}\n.panel-none &amp;gt; .panel-heading {\n  color: $heading-color;\n  background-color: transparent;\n  border-color: transparent;\n}\n.panel-none &amp;gt; .panel-heading  + .panel-collapse &amp;gt; .panel-body {\n  border-top-color: transparent;\n}\n.panel-none &amp;gt; .panel-heading .badge {\n  color: $btn-default-bg;\n  background-color: transparent;\n}\n.panel-footer{\n  min-height: 39px;\n}\n.pagenav-footer{\n  min-height: 43px;\n}\n.panel-none &amp;gt; .panel-footer  + .panel-collapse &amp;gt; .panel-body {\n  border-bottom-color: transparent;\n}\n.panel-none &amp;gt; .panel-footer{\n  border-top-color: transparent;\n  border-bottom-color: transparent;\n  background-color: transparent;\n}\n.panel-none &amp;gt; .panel-heading {\n  word-wrap: break-word;\n}\n\n.panel-nopadding{\n  padding: 0;\n}\n.panel-menu{\n  cursor: pointer;\n  float: right;\n  position: relative;\n  top: 0;\n  display: inline-block;\n}\n.btn-menu{\n  border: unset !important;\n  background: transparent !important;\n}\n.btn-menu:focus{\n  outline: unset !important;\n}\n.btn-menu:active {\n  box-shadow: none;\n}\n.dropdown-menu-right{\n  border-radius: 4px;\n  right: 0px;\n  top: 20px;\n  color: $link-color;\n  line-height: 28px;\n  padding: 10px 0px;\n  li{\n    padding-left: 15px;\n  }\n  li:hover{\n    background-color: $table-bg-hover;\n  }\n}\n\n\n.data-item{\n  height: 5.5rem;\n  display: flex;\n  background-color: $table-background !important;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 20px;\n  .data-img{\n    display: inline-flex;\n    float: left;\n    margin-right: 6px;\n    margin-top: 2px;\n    img{\n      max-width: 40px;\n    \tmax-height: 40px;\n    }\n  }\n  .data-title{\n    width: 100%;\n    display: initial;\n    color: $title-color;\n    margin-bottom: 8px;\n    max-width: calc(100% - 35px);\n    a{\n      color: $link-color;\n    }\n  }\n  .data-details{\n    width: 100%;\n    color: $details-color !important;\n  }\n  .data-menu{\n    color: $title-color !important;\n    cursor: pointer;\n    float: right;\n  }\n}\n.data-item-sm{\n  height: 6.5rem;\n  padding: 0 5px;\n}\n.data-header-wide{\n  height: 4.5rem;\n  display: table-row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  border-bottom: 2px #c2c2c2 outset;\n  text-transform: capitalize;\n  color: $wide-header-text-color;\n  font-size: $wide-header-text-size;\n}\n.data-header-wide:hover{\n  background-color: transparent !important;\n}\n.data-item-wide{\n  display: table-row;\n  border-bottom: 1px #c2c2c2 solid;  \n  .data-title{\n    margin: 0;\n    a{\n      position: relative;\n    }\n  }\n  .data-img{\n    float: unset;\n    margin: 0 auto;\n  }\n  .data-menu-wide{\n    float: unset;\n    text-align: center;\n  }\n}\n\n.data-item-noborder{\n  border: unset;\n}\n\n.table {\n  margin: unset !important;\n  background-color: $table-background !important;\n}\n.table &amp;gt; thead &amp;gt; tr &amp;gt; th, .table &amp;gt; tbody &amp;gt; tr &amp;gt; th, .table &amp;gt; tbody &amp;gt; tr &amp;gt; td{\n  border: unset !important;\n  vertical-align: middle;\n  padding: 0 15px;\n}\n\n.data-item, .table-hover &amp;gt; tbody &amp;gt; tr{\n  box-shadow: unset;\n}\n.data-item:hover, .table-hover &amp;gt; tbody &amp;gt; tr:hover {\n  background-color: unset;\n  -webkit-box-shadow: 0 0px 28px rgba(0,0,0,0), 0 0px 10px rgba(0,0,0,0.22);\n  -moz-box-shadow: 0 0px 28px rgba(0,0,0,0), 0 0px 10px rgba(0,0,0,0.22);\n  box-shadow: 0 0px 28px rgba(0,0,0,0), 0 0px 10px rgba(0,0,0,0.22);\n}\n\n.data-tiles{\n  border: 1px solid #c2c2c2;\n  padding: 5px 10px;\n  margin-bottom: 8px;\n  border-radius: 4px;\n}\n.pagenav-padding{\n  padding-left: 3px;\n  padding-right: 3px;\n}\n.pagenav-select{\n  position: relative;\n  top: -2px;\n  select{\n    text-indent: 5px;\n    width: 45px;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;A more enhanced and feature rich version of the Simple List widget.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;enhanced-list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope,el,attrs,ctrl){\n}]]&gt;&lt;/link&gt;&lt;name&gt;Enhanced List&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Table\",\"hint\":\"Name of table to retrieve data from - e.g. task\",\"name\":\"table\",\"section\":\"Data\",\"label\":\"Table\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},{\"hint\":\"Fields to use and order controls column presentation order\",\"name\":\"fields\",\"section\":\"Data\",\"default_value\":\"number,short_description,assigned_to\",\"label\":\"Fields - Recommended maximum of 4 fields, comma delimited, in order of presentation\",\"type\":\"string\"},{\"hint\":\"User defined field labels in order of field list\",\"name\":\"field_labels\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Field Label Override - comma delimited and order must match Field order\",\"type\":\"string\"},{\"hint\":\"Field name in table for storing an image on the record\",\"name\":\"image_field\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Image Field\",\"type\":\"string\"},{\"hint\":\"Limit query results to current user. Expects field named - assigned_to\",\"name\":\"limit_to_user\",\"section\":\"Data\",\"default_value\":\"true\",\"label\":\"Limit to User - Limit query results to current user. Expects field named - assigned_to\",\"type\":\"boolean\"},{\"hint\":\"Additional query parameters to help reduce data set\",\"name\":\"encoded_query\",\"section\":\"Data\",\"label\":\"Additional Data Filter - using Encoded Query format, e.g.  active=true^start_date=today\",\"type\":\"string\"},{\"hint\":\"Service Portal target page to view data in a larger list\",\"name\":\"list_page\",\"section\":\"Data\",\"label\":\"List Page Target - Target Page for View All panel header link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"Service Portal target page to view or edit an individual item\",\"name\":\"detail_page\",\"section\":\"Data\",\"label\":\"Detail Page Target - Detail page target for item menu 'View Details' link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"View to use when target detail page is 'form', leave empty to use 'default' view\",\"name\":\"view\",\"section\":\"Data\",\"default_value\":\"default\",\"label\":\"Detail Page View - leave empty to use 'default' view\",\"type\":\"reference\",\"value\":\"sys_ui_view\",\"ed\":{\"reference\":\"sys_ui_view\"}},{\"hint\":\"Show the Panel's Header Div\",\"name\":\"show_panel_header\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Show Widget's Panel Header\",\"type\":\"boolean\"},{\"hint\":\"Text to display in the Panel's Header. Depends on Show Panel Header being True.\",\"name\":\"panel_header_text\",\"section\":\"Behavior\",\"default_value\":\"\",\"label\":\"User defined Panel Header Text\",\"type\":\"string\"},{\"hint\":\"Show the Panel's Footer Div\",\"name\":\"show_panel_footer\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Show Panel Footer\",\"type\":\"boolean\"},{\"hint\":\"Additional item menu links to Service Catalog\",\"name\":\"sc_cat_item\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Sys ID of Service Catalog Menu Items - comma delimited, links added to item's action menu\",\"type\":\"string\"},{\"hint\":\"Pass the Item's Sys ID as a parameter to the Catalog Item selected\",\"name\":\"sc_item_id\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Pass Item's Sys ID to Service Catalog Item\",\"type\":\"boolean\"},{\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"none\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},{\"hint\":\"Paginate the list\",\"name\":\"list_pagination\",\"section\":\"Behavior\",\"default_value\":\"0\",\"label\":\"List Pagination\",\"type\":\"choice\",\"choices\":[{\"label\":\"5\",\"value\":\"5\"},{\"label\":\"10\",\"value\":\"10\"},{\"label\":\"15\",\"value\":\"15\"},{\"label\":\"25\",\"value\":\"25\"},{\"label\":\"50\",\"value\":\"50\"},{\"label\":\"100\",\"value\":\"100\"}]},{\"name\":\"maxrecords\",\"section\":\"Behavior\",\"default_value\":\"500\",\"label\":\"MAX Record Count\",\"type\":\"string\"},{\"name\":\"order_by\",\"section\":\"Data\",\"default_value\":\"sys_created_on\",\"label\":\"Order By Field\",\"type\":\"string\"},{\"name\":\"order_by_direction\",\"section\":\"Data\",\"default_value\":\"false\",\"label\":\"Use Order By in Descending Order\",\"type\":\"boolean\",\"choices\":\"\"},{\"name\":\"show_date_time\",\"section\":\"Presentation\",\"default_value\":\"4\",\"label\":\"Show all Date/Time fields as 1 - 'MM/DD/YYYY', 2- 'hh:mm:ss' , 3- 'MM/DD/YYYY hh:mm:ss', or 4 - ''\",\"type\":\"choice\",\"choices\":[{\"label\":\"1\",\"value\":\"1\"},{\"label\":\"2\",\"value\":\"2\"},{\"label\":\"3\",\"value\":\"3\"},{\"label\":\"4\",\"value\":\"4\"}]}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/*\n\t\tWidget: Enhanced List\n\t\tVersion/Date: v1.0 - Nov 2018\n\t\tBy: Solution Innovation - Factory\n\t\tPurpose: Provide a flexible, enhanced feature set, and a more configurable version\n\t\t\t\t\t\t of the Service Portal Out of the Box Simple List widget.\n\t\t\n\t*/\n\t\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\t\n\t//Get Option (Instance) Schema Configuration values\n\toptions.list_pagination = parseInt(options.list_pagination);\n\toptions.show_panel_header = (options.show_panel_header=='true');\n\toptions.show_panel_footer = (options.show_panel_footer=='true');\n\toptions.limit_to_user = (options.limit_to_user=='true');\n\toptions.order_by_direction = (options.order_by_direction=='true');\n\toptions.sc_item_id = (options.sc_item_id=='true');\n\t\n\t\n\n\t/* 'q' - URL parameter for adding a filter to the dataset dynamically */\n\toptions.encoded_query = options.encoded_query || $sp.getParameter('q');\n\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tdata.instance_table = {\n\t\tcount: 0,\n\t\tdataSet : [],\n\t\tdateformat: options.show_date_time,\n\t\tdetail_page: undefined,\n\t\tdetail_view: undefined,\n\t\tdirection: options.order_by_direction,\n\t\tfieldLabels: [],\n\t\tfieldSplit: [],\n\t\tfields : options.fields || $sp.getParameter('f'),\n\t\timage: options.image_field,\n\t\tisValid : false,\n\t\titemMenu: [],\n\t\tlabel : undefined,\n\t\tlist_page: undefined,\n\t\tname : $sp.getParameter('t'), // - not sure we want to use the URL Param with this ??? \n\t\torder_by : options.order_by,\n\t\tpages: [],\n\t\tshowActions: false,\n\t\tsys_id: options.table,\n\t\tviewby: options.list_pagination\n\t};\n\n\ttry{\n\t\t/* Get the Panel's Header Text*/\n\t\tvar grTableMeta = new GlideRecordSecure('sys_db_object');\n\t\tif(data.instance_table.name){\n\t\t\tgrTableMeta.addQuery('name',data.instance_table.name);\t\n\t\t}else{\n\t\t\tgrTableMeta.addQuery('sys_id',data.instance_table.sys_id);\t\n\t\t}\n\t\t\n\t\tgrTableMeta.query();\n\t\t\n\t\tif(grTableMeta.next()){\n\t\t\tdata.instance_table.sys_id = grTableMeta.getUniqueValue();\n\t\t\tdata.instance_table.name = grTableMeta.getDisplayValue('name');\n\t\t\tdata.instance_table.label = grTableMeta.getDisplayValue('label');\n\t\t}else{\n\t\t\tdata.missingConfig = true;\n\t\t\treturn;\n\t\t}\n\n\t\toptions.panel_header_text = options.panel_header_text || data.instance_table.label;\n\n\t\t// If provided, get the sys_id of the List Page from the Option (Instance) Schema\n\t\tif (options.list_page) {\n\t\t\tvar list_page = GlideRecordSecure('sp_page');\n\t\t\tif (list_page.get(options.list_page))\n\t\t\t\tdata.instance_table.list_page = list_page.getDisplayValue('id');\n\t\t}\n\n\t\t// If provided, get the sys_id of the Detail Page from the Option (Instance) Schema\n\t\tif (options.detail_page) {\n\t\t\tvar detail_page = GlideRecordSecure('sp_page');\n\t\t\tif (detail_page.get(options.detail_page)){\n\t\t\t\tdata.instance_table.detail_page = detail_page.getDisplayValue('id');\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t\t// If provided, get the name of the View from the Option (Instance) Schema\n\t\tif (options.view) {\n\t\t\tvar view_name = GlideRecordSecure('sys_ui_view');\n\t\t\tif (view_name.get(options.view))\n\t\t\t\tdata.instance_table.detail_view = view_name.getDisplayValue('name');\n\t\t}\n\t\t\n\t\t/* Table to use */\n\t\t//grValid - Used for table and field validation only\n\t\tvar grValid = new GlideRecord(data.instance_table.name);\n\t\tvar grTable = new GlideRecordSecure(data.instance_table.name); // does ACL checking for us\n\n\t\t//Validate if table exists\n\t\tdata.instance_table.isValid = grValid.isValid();\n\t\tif(!data.instance_table.isValid){\n\t\t\tthrow('Missing Table Configuration');\n\t\t}\n\n\t\n\n\t\t// If select, limit the results to the current user based on the Option (Instance) Schema\n\t\tif(options.limit_to_user){\n\t\t\tgrTable.addQuery('assigned_to',currentUser.getID());\n\t\t}\n\n\t\t// If provided, append the additional filter criteria to the GlideRecord from the Option (Instance) Schema\n\t\tif(options.encoded_query){\n\t\t\tgrTable.addEncodedQuery(options.encoded_query);\n\t\t}\n\n\t\t// Lets figure out the fields we are going to need\n\t\tvar fields = data.instance_table.fields || \"\";\n\t\tfields = data.instance_table.fields.split(',');\n\n\t\t// Lets figure out how we are going to label the fields\n\t\tvar labels = options.field_labels;\n\t\tif(labels.length&gt;0){\n\t\t\tlabels = options.field_labels.split(',');\n\t\t}else{\n\t\t\tlabels = [null];\n\t\t}\n\n\t\t// If provided, lets figure out the image situation and push it as the first field in the data array\n\t\tif(data.instance_table.image){\n\t\t\tfields.splice(0,0,data.instance_table.image);\n\t\t\tlabels.splice(0,0,null);\n\t\t}else{\n\t\t\tfields.splice(0,0,null);\n\t\t\tlabels.splice(0,0,null);\n\t\t}\n\t\t\n\t\t// Lets fix all the labeling\n\t\tlabels.forEach(function(el,idx){ \n\t\t\tif(el != null &amp;&amp; el.length &gt; 0){\n\t\t\t\tlabels[idx] = el; \n\t\t\t}else if(el == null){\n\t\t\t\tlabels[idx] = null; \n\t\t\t}\n\t\t});\n\n\t\t// Stuff the fields and labels into the Instance Table data variable\n\t\tdata.instance_table.fieldLabels = labels;\n\t\tdata.instance_table.fieldSplit = fields;\n\n\t\t// Get the MAX Record count - to minimize and mitigate LARGE data pulls\n\t\tdata.maxCount = options.maxrecords;\n\t\tgrTable.setLimit(data.maxCount);\n\t\t\n\t\t// If provided, set the orderBy parameter of the GlideRecord from the Option (Instance) Schema\n\t\tif(grValid.isValidField(data.instance_table.order_by)){\n\t\t\tif(options.order_by_direction){\n\t\t\t\tgrTable.orderByDesc(data.instance_table.order_by);\t\n\t\t\t}else{\n\t\t\t\tgrTable.orderBy(data.instance_table.order_by);\n\t\t\t}\n\t\t}\n\t\t\n\t\t// LETS GO!\n\t\tgrTable.query();\n\t\twhile(grTable.next()){\n\t\t\t//Lets build our data set\n\t\t\tvar record = {};\n\t\t\trecord.sys_id = { displayValue: grTable.getUniqueValue(), value: grTable.getUniqueValue() };\n\n\t\t\t//Only need the fields based on the Option (Instance) Schema\n\t\t\tfor(var x=0;x&lt;fields.length;x++){\n\t\t\t\tif(fields[x] &amp;&amp; fields[x] !== null){\n\t\t\t\t\tvar f = getField(grTable,fields[x]);\n\t\t\t\t\tif(f.displayValue != ''){\n\t\t\t\t\t\tif(labels[x] &amp;&amp; labels[x]!==null){\n\t\t\t\t\t\t\tf.label = labels[x];\n\t\t\t\t\t\t}\n\t\t\t\t\t\trecord[fields[x]] = f;\n\t\t\t\t\t}else{\n\t\t\t\t\t\trecord[fields[x]] = { displayValue: undefined, value: undefined, type: undefined, label: fields[x]};\t\n\t\t\t\t\t}\t\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.instance_table.dataSet.push(record);\n\t\t}\n\n\t\tdata.instance_table.count = grTable.getRowCount();\n\t\t\n\t\t//Show message if the MAX record count was reached\n\t\tif(data.instance_table.count &gt;= data.maxCount){\n\t\t\tgs.addInfoMessage('MAX record count reached for Widget - '+ options.panel_header_text +'. MAX Records displayed: ' + data.maxCount);\n\t\t}\n\n\t\t//Lets figure out the pagination situation\n\t\tif(data.instance_table.viewby&gt;0 &amp;&amp; data.instance_table.count&gt;0){\n\t\t\tvar pages = parseInt(data.instance_table.count / options.list_pagination);\n\t\t\tvar last_page = data.instance_table.count % options.list_pagination;\n\t\t\tdata.pages_value = pages;\n\t\t\tif(pages &lt;= 0){\n\t\t\t\toptions.list_pagination = 0;\n\t\t\t}else{\n\t\t\t\toptions.show_panel_footer = true;\n\t\t\t\tfor(var m=0; m &lt; pages; m++){\n\t\t\t\t\tdata.instance_table.pages.push( m+1 );\n\t\t\t\t}\n\t\t\t\tif(last_page &gt; 0){\n\t\t\t\t\tdata.instance_table.pages.push( pages+1 );\n\t\t\t\t}\n\t\t\t}\n\t\t}else{\n\t\t\tdata.instance_table.viewby = data.instance_table.count;\n\t\t}\n\n\t\t//Lets append the catalog items to the individual item's submenu\n\t\tif(options.sc_cat_item){\n\t\t\tvar sc_items = new GlideRecordSecure('sc_cat_item');\n\t\t\tsc_items.addActiveQuery();\n\t\t\tsc_items.addEncodedQuery('sys_idIN'+options.sc_cat_item);\n\t\t\tsc_items.query();\n\t\t\tdata.instance_table.itemMenu = [];\n\t\t\twhile(sc_items.next()){\n\t\t\t\tdata.instance_table.itemMenu.push({\n\t\t\t\t\ttitle : sc_items.getDisplayValue('name'),\n\t\t\t\t\tsys_id : sc_items.getUniqueValue()\n\t\t\t\t});\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\tgs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n\t/* Function to Get our Field info */\n\tfunction getField(gr, name) {\n\t\tvar f = {};\n\t\tf.field = name;\n\t\tf.displayValue = gr.getDisplayValue(name);\n\t\tf.value = gr.getValue(name);\n\t\t\n\t\tvar ge = gr.getElement(name);\n\t\tif (ge == null)\n\t\t\treturn f;\n\n\t\tf.type = ge.getED().getInternalType();\n\t\tf.label = ge.getLabel();\n\t\treturn f;\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-05 16:59:14&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;4ffb3d924f252b0005be4d6e0210c726&lt;/sys_id&gt;&lt;sys_mod_count&gt;834&lt;/sys_mod_count&gt;&lt;sys_name&gt;Enhanced List&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4ffb3d924f252b0005be4d6e0210c726&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-13 16:50:44&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='panel panel-warning' ng-if='::c.data.missingConfig'&gt;\n  &lt;div class='panel-heading'&gt;\n    Missing Configuration\n  &lt;/div&gt;\n  &lt;div class='panel-body bg-warning'&gt;\n    &lt;div ng-if='::!c.table.isValid'&gt;\n      Please configure a table in the Instance Options (Ctrl+RightClick)\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;!-- your widget template --&gt;\n&lt;/div&gt;\n&lt;div class='panel panel-{{options.context}}' ng-if='::c.data.missingConfig==false'&gt;\n  &lt;div class='panel-heading' ng-if='::options.show_panel_header'&gt;\n    &lt;div class='panel-title'&gt;\n      {{options.panel_header_text}}\n      &lt;div class=\"panel-menu\" ng-if='c.table.list_page'&gt;\n        &lt;span ng-click='headerMenu()'&gt;View All&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class='panel-body bg-{{options.context}}' ng-if=\"c.table.dataSet.length &lt;= 0\" &gt;\n    No Data Available\n  &lt;/div&gt;\n  &lt;div class='panel-body panel-nopadding' ng-if=\"c.table.dataSet.length &gt; 0\" &gt;\n    &lt;!-- XS - 420px width or less --&gt;    \n    &lt;div class='d-hide' ng-class=\"{'d-show' : ifWidth('xs')}\"&gt;\n      &lt;div class='data-item data-item-sm' ng-repeat=\"item in c.table.dataSet.slice(((c.currentPage-1)*c.itemsPerPage), ((c.currentPage)*c.itemsPerPage)) track by item.sys_id.value\"&gt;\n        &lt;div class='col-xs-11 col-sm-11'&gt;\n          &lt;div class='data-img' ng-if='c.table.image &amp;&amp; item[c.table.image].displayValue'&gt;\n            &lt;img src='{{item[c.table.image].displayValue}}' ng-if='!options.list_page'/&gt;\n            &lt;a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.list_page'&gt;\n              &lt;img src='{{item[c.table.image].displayValue}}'/&gt;\n            &lt;/a&gt;\n          &lt;/div&gt;\n          &lt;div class=\"data-title\"&gt;\n            &lt;div&gt;\n              &lt;a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.list_page'&gt;\n                {{item[c.table.fieldSplit[1]].displayValue}}\n              &lt;/a&gt;  \n              &lt;span ng-if='!options.list_page'&gt;\n                {{item[c.table.fieldSplit[1]].displayValue}}\n              &lt;/span&gt;\n            &lt;/div&gt;\n            &lt;div class='data-details'&gt;\n              &lt;span ng-repeat=\"field in c.table.fieldSplit track by $index\" ng-if='$index&gt;1 &amp;&amp; field!=c.table.image'&gt;\n                &lt;span ng-switch=\"item[field].type\" title=\"{{::item[field].label}}\"&gt;\n                  &lt;span ng-switch-when=\"glide_date_time\"&gt;\n                    &lt;span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\"&gt;\n                      &lt;sn-time-ago timestamp=\"::item[field].value\" /&gt;\n                    &lt;/span&gt;\n\t\t\t\t\t\t\t\t\t\t&lt;span ng-if=\"c.table.dateformat!=='4'\"&gt;{{::getFormat(item[field].value,c.table.dateformat)}}&lt;/span&gt;\n                  &lt;/span&gt;\n                  \n                  &lt;span ng-switch-when=\"glide_date\"&gt;\n                    &lt;span ng-if='c.table.dateformat==4' title=\"{{::item[field].label}}\"&gt;\n                      &lt;sn-time-ago timestamp=\"::item[field].value\" /&gt;\n                    &lt;/span&gt;\n                    &lt;span ng-if='c.table.dateformat!=4'&gt;{{::getFormat(item[field].value,c.table.dateformat)}}&lt;/span&gt;\n                  &lt;/span&gt;\n                  \n                  &lt;span ng-switch-default=\"\"&gt;{{::item[field].displayValue}}&lt;/span&gt;\n                &lt;/span&gt;\n                &lt;span ng-if='!$last'&gt;&amp;nbsp;&amp;nbsp;&amp;bull;&amp;nbsp;&amp;nbsp;&lt;/span&gt;\n              &lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class='col-xs-1 col-sm-1' ng-if='c.table.showActions'&gt;\n          &lt;div class=\"data-menu btn-group\"&gt;\n            &lt;button class=\"btn btn-menu toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" aria-haspopup=\"true\"&gt;&lt;i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/button&gt;\n            &lt;ul class=\"dropdown-menu dropdown-menu-right\"&gt;\n              &lt;li ng-click='itemMenu(item,\"view\")'  ng-if='c.table.detail_page'&gt;View this Item&lt;/li&gt;\n              &lt;li ng-if='options.sc_cat_item' ng-repeat='menuItem in c.table.itemMenu' ng-click='itemMenu(item.sys_id.value,\"sc\",menuItem.sys_id)'&gt;{{menuItem.title}}&lt;/li&gt;\n            &lt;/ul&gt;\n          &lt;/div&gt;  \n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt; \n    &lt;!-- 421px width or greater --&gt;    \n    &lt;div class='table-responsive d-hide' ng-class=\"{'d-show' : !ifWidth('xs')}\"&gt;\n      &lt;table class='table table-hover'&gt;\n        &lt;thead&gt;\n          &lt;tr class='data-header-wide'&gt;\n            &lt;th class='col-xs-1' ng-if='options.image_field'&gt;\n              &amp;nbsp;\n            &lt;/th&gt;\n            &lt;th&gt;\n              {{c.table.dataSet[0][c.table.fieldSplit[1]].label}}\n            &lt;/th&gt;\n            &lt;th ng-repeat='field in c.table.fieldSplit track by $index' ng-if='$index &gt; 1'&gt;\n              {{c.table.dataSet[0][field].label}}\n            &lt;/th&gt;\n            &lt;th style='width:30px;text-align:center;' ng-if='c.table.showActions'&gt;\n              Actions\n            &lt;/th&gt;\n          &lt;/tr&gt;\n        &lt;/thead&gt;\n        &lt;tbody&gt;\n          &lt;tr class='data-item data-item-wide' ng-class=\"{ 'data-item-noborder' : $last }\" ng-repeat=\"item in c.table.dataSet.slice(((c.currentPage-1)*c.itemsPerPage), ((c.currentPage)*c.itemsPerPage)) track by item.sys_id.value\"&gt;\n            &lt;td style='text-align:center' ng-if='options.image_field'&gt;\n              &lt;span class='data-img' ng-if='c.table.image &amp;&amp; item[c.table.image].displayValue'&gt;\n                &lt;img src='{{item[c.table.image].displayValue}}' ng-if='!options.detail_page'/&gt;\n                &lt;a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.detail_page'&gt;\n                  &lt;img src='{{item[c.table.image].displayValue}}'/&gt;\n                &lt;/a&gt;\n              &lt;/span&gt;\n            &lt;/td&gt;\n            &lt;td&gt;\n              &lt;span class=\"data-title\"&gt;\n                &lt;a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.detail_page'&gt;\n                  {{item[c.table.fieldSplit[1]].displayValue}}\n                &lt;/a&gt;\n                &lt;span ng-if='!options.detail_page'&gt;\n                  {{item[c.table.fieldSplit[1]].displayValue}}\n                &lt;/span&gt;\n              &lt;/span&gt;\n            &lt;/td&gt;\n            &lt;td ng-repeat='field in c.table.fieldSplit track by $index' ng-if='$index &gt; 1'&gt;\n              &lt;span class='data-details'&gt;\n                &lt;span ng-switch=\"item[field].type\" title=\"{{::item[field].label}}\"&gt;\n                  &lt;span ng-switch-when=\"glide_date_time\"&gt;\n                    &lt;span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\"&gt;\n                      &lt;sn-time-ago timestamp=\"::item[field].value\" /&gt;\n                    &lt;/span&gt;\n\t\t\t\t\t\t\t\t\t\t&lt;span ng-if=\"c.table.dateformat!=='4'\"&gt;{{::getFormat(item[field].value,c.table.dateformat)}}&lt;/span&gt;\n                  &lt;/span&gt;\n                  \n                  &lt;span ng-switch-when=\"glide_date\"&gt;\n                    &lt;span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\"&gt;\n                      &lt;sn-time-ago timestamp=\"::item[field].value\" /&gt;\n                    &lt;/span&gt;\n                    &lt;span ng-if=\"c.table.dateformat!=='4'\"&gt;{{::getFormat(item[field].value,c.table.dateformat)}}&lt;/span&gt;\n                  &lt;/span&gt;\n                  \n                  &lt;span ng-switch-default=\"\"&gt;{{::item[field].displayValue}}&lt;/span&gt;\n                &lt;/span&gt;\n              &lt;/span&gt;\n            &lt;/td&gt;\n            &lt;td class=\"data-menu data-menu-wide\" ng-if='c.table.showActions'&gt;\n              &lt;div class=\"btn-group\"&gt;\n                &lt;button class=\"btn btn-menu toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" aria-haspopup=\"true\"&gt;&lt;i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/button&gt;\n                &lt;ul class=\"dropdown-menu dropdown-menu-right\"&gt;\n                  &lt;li ng-click='itemMenu(item,\"view\")' ng-if='options.detail_page'&gt;View this Item&lt;/li&gt;\n                  &lt;li ng-if='options.sc_cat_item' ng-repeat='menuItem in c.table.itemMenu' ng-click='itemMenu(item.sys_id.value,\"sc\",menuItem.sys_id)'&gt;{{menuItem.title}}&lt;/li&gt;\n                &lt;/ul&gt;\n              &lt;/div&gt;\n            &lt;/td&gt;\n          &lt;/tr&gt;\n        &lt;/tbody&gt;\n      &lt;/table&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class='panel-footer' ng-class=\"{ 'pagenav-footer' : (options.list_pagination != 0) }\" ng-if='::options.show_panel_footer'&gt;\n    &lt;div class='pull-right' ng-if='(options.list_pagination != 0)'&gt;\n      &lt;div ng-click='setPageNext(-1)' class='pagenav-padding pull-left'&gt;\n        &lt;i class=\"fa fa-step-backward\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n      &lt;div class='pagenav-padding pagenav-select pull-left'&gt;\n        &lt;select ng-change=\"setPage()\" ng-model='c.selectedItem' ng-options=\"page for page in c.table.pages track by page\"&gt;&lt;/select&gt;\n      &lt;/div&gt;\n      &lt;div ng-click='setPageNext(1)' class='pagenav-padding pull-right'&gt;\n        &lt;i class=\"fa fa-step-forward\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n\n\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1257877827</payload_hash>\n<remote_update_set display_value=\"Enhanced List\">795185964f24f3808272ece24210c7a7</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-04-03 15:50:29</sys_created_on>\n<sys_id>bd5185964f24f3808272ece24210c7a7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e7c48d980000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-04-03 15:50:29</sys_updated_on>\n<table/>\n<target_name>Enhanced List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>aa3970629967ef00ac99a581a30a4038</update_guid>\n<update_guid_history>aa3970629967ef00ac99a581a30a4038:1257877827,e013e06edce3ef001bae4960a8a69367:882427675,04e2606e22e3ef0025e67c3e894fc9fe:-1962960497,3cd2ec2ef2e3ef00544e620c10b423b9:1414091673,f5a2a02ec5e3ef0014067061fd90726a:1895715955,5e22a42ecee3ef006bf4469df5948a49:-1820075632,2802a02eb9e3ef00a58bdd4076dfe903:-907115509,d3b16caa85e3ef008ef0170e52ffc53c:-1182448975,169168ea60e3ef0052fa8b6a646957ff:-226328143,ff7164eac4e3ef00b65389fd6490b80e:-398150180,2f4f186ae2e3ef008288aab45fd27b30:1133700541,b8c9e510c4e32b00741edb8d1878682f:705633926,2e192110d3e32b006bd03658ec786734:150353597,b088e1dcb6a32b00d7dcb7a4aa301b1c:928317844,67d1ad5423a32b00ec0af273cf190867:-1082055337,c380a914e5a32b006e37ca37b6c2f3e3:-65916366,d370e914b4a32b0091919fc8efb37144:-966210648,e810e11442a32b00dba8f7795616c54e:-65916366,547fd1148fa32b0077615f9c7bfe5f3c:-1139260129,f90f5dd0dca32b00df8f4befb60600fc:247966672,e9be59d030a32b00f5b9f1276ed37d6d:701003067,fc2dd91051a32b0013bf1014b50523ce:395177727,86dbd59ccd632b007eab5f8e2b5f87eb:905769031,a9b9559ce1632b0041ab082c215d6d29:-284070154,9590cbefdb5b6700a04467696f96ce0f:1642627019,2332368928eee74028de0f3b993eec0f:-1634578285,1960d5186a9a2b00261eeae052ef3899:-1079668831,0f10d9d4a29a2b007beedd66dd8504b5:-1642808823,6d7fc9d42c9a2b008b79fa6b1b83050d:-1079668831,e3fc8954c69a2b000e6bc2bb64bce968:-133550921,277c0154969a2b001e539ee42312df71:-2078747783,073c0d148d9a2b0023d9266327f6c812:505433816,a4984950909a2b00daa1d2f4f16d06b0:-494273131,7c687f95bcc62300c3567fc24b081308:332541767,9da737958ec62300d25764a391969e87:-977485481,d090005151ca2b00e85a28a6d8cde455:-428383745,d10f334117ca2b00da33a4586afec8cd:-1215093743,23eebfcdd58a2b007490591321ae79e5:-966519291,ab4dbf0d60ce2f00f23bc8a8b116a52f:-1578194608,75fbf3c9c8ce2f00e3874267e8dcf085:539056413,b6db37c994ce2f002a0702664d7fa546:623876359,a07b7f892ece2f00c497de1c6f7029bb:-655785891,7d1b7f096ece2f00eb330200031f27f7:938536918,d9ea3f097dce2f0046f85e1d923cd2ea:-678645876,b3aa7309d1ce2f00dfa4e8611e983fb6:-1978929582,d81a3bc5dece2f00284c61c81263d93d:-490781060,39a937c5e9ce2f006063f730ae787cfe:-2058285535,1d5977c538ce2f008b98705ff592b1e6:-2051098581,eb19f3c5d7ce2f00d784b275ca3886d6:-1522265113,55f873c5b9ce2f0000e7c62383c7ba2d:-1096799836,f4c8bf8590ce2f0099566478300d7133:130176412,f7787b85b3ce2f00fe8451d5a4d686ba:-23452757,556837858cce2f00eb564fc853c050b3:-1571375054,13183785f6ce2f008c314038a861623f:-1856356486,01c73f45adce2f007a914c72c407c5d1:971958877,ec663f05d0ce2f000f73f9988433f6ac:511628660,7946f705b0ce2f00468250a8d37cd7bd:1427026976,caf5b7c1cece2f00c89fea70bd1d7668:-1531681740,15c5bf8106ce2f00eb14dc983d481ad7:-1565137804,66357f81efce2f00c69f4a458391b2ee:-282732182,3f257f815bce2f001ea71d98b18533a1:468800170,80f4ff4126ce2f002e5a3c5bbc2ae36b:1677408508,e0047b01ecce2f008ad7573498746cce:-1382991074,89137341f3ce2f00d9580328d8e7a95e:929649422,3472f701f4ce2f00c80d5290a802b62e:-2042250386,32223701aace2f005e77bcf934b66073:2131097882,bad1bfcd258e2f00c00763ab27ed8a52:-250739952,5c91ff0df88e2f00f652a1be6abd804f:-664564759,af70f74d078e2f009402c3dbcb33774e:961437102,f9ffaf0d928e2f002985d83af1b438f7:-1461815202,c1ef2fc97f8e2f003d328064c01e1342:-905525751,140d2b89648e2f00a862b65b020019e6:-397529684,beeb2f49648e2f00509ffd8584664377:961245784,ebeaef09878e2f00f165dc4f0a9beb9a:470270978,ebcaabc54f8e2f00cbe45e1e262b2595:293827505,2e7aaf459e8e2f00c6bd3bfb62eef4b0:1583815741,d3f96b45da8e2f002b9170bf9b4378af:-870099570,db89ef05058e2f00e5a40f6990f09032:1654146093,ff69ef05ac8e2f00e9d16c01aa36046c:-581500602,ff982b05f58e2f003f1d0c1fc983acd6:-913947706,0f38e3c1698e2f0070928b359e1cfa83:231686016,a9e7e3c1bb8e2f0059c47623ab27037b:-1113094975,95bd5749904e2f0051b873807024ec30:-1673325243,ab0bdb056a4e2f0048e908ff4a2ceacc:985975577,a90b5b45ed4e2f002a6530427226aec5:1427111605,729713c1304e2f00c441b96c71eaeeec:-546887725,71779781684e2f00c9fc8d671d335ee2:-534165420,5b0797815d4e2f0000467a85a9849eef:-546887725,c2f697815e4e2f00d224a274ecead5db:-611005891,31a653818d4e2f001666300c6efc9984:1839719946,fb46d741744e2f001058ca949b2b05e9:-1730181101,7cf5d7419d4e2f001065eb6733a7d7bd:-1278575700,9ea5db01934e2f00049daa706eb1a34c:419962133,3015db01094e2f00232b9fd25b933245:712512090,d5e49fcd310e2f001afbe6800ecbe678:693339155,0b749fcdba0e2f000214006003afde82:786152955,52f39bcdf60e2f000c0d793e818912d1:-1292259695,d6c3dbcdfc0e2f00c73363115f818d39:-571154575,abb35f8d8a0e2f005be95bdab5a54497:-1806871639,b8039f8d790e2f00a16938399a7df1b1:1007635939,9a22938d6c0e2f000092cb9786c00ab1:-702327395,3cf19b4df90e2f0079da4663b5ebade4:-1477397795,17c15b4d280e2f009c0f6544bbc652a4:-979341281,dba5e209608a2f00d4e8a05864d9d550:-304877598,8485eac5998a2f004c4de1a3e24deada:1851905198,bfd46ac5858a2f0045ee53064c69ab1a:-1790030718,c3612e05578a2f007261ac6f52fc402a:-1340241341,6750eac1ea8a2f0013edfdb8b94298cc:-1423432255,3040eac1bc8a2f00d10016aa7ac6aaad:-1276739615,20306ac1de8a2f004103eea222c79ecf:-637908714,1420a6c1718a2f00fcc35e0f1ac4b4b7:-34242762,c4591a4d034a2f00f30dfac6afbd6c39:-637908714,57295e0d3a4a2f003be93e828145eaa0:-724487976,44f8164d714a2f0052e45df5d881b6fa:1685186884,bc581e0d5e4a2f00ea53dd0941a37b4e:1489768196,fe381e89264a2f00261b1a076615ffeb:378173142,ecb65e895e4a2f009ac7ee34b1e1fc84:-348588270,e4369a89334a2f00116da320b9037c55:-1625487469,34a5d6498d4a2f008cb9c9eb668f226f:2076493044,98e35605c94a2f00c2be2597b44e5935:-1851017793,858b2909e1c62f004ef3e906b610eb7f:-2084035973,2e6b650952c62f008d653dbb5fee311a:1785855684,364b2509c6c62f00ecc823eb61897885:-2084035973,030b21098ec62f000a8482020bdd9604:1316029272,d4faedc5b3c62f00039189d719dc82f0:-1483229383,62ba2dc5fdc62f00b043863c2b763adf:1598439824,128aad85f4c62f00a35d1c5fde80069b:-1194801516,fe3aa145e9c62f009ba190f889823287:1125656525,f2382d458dc62f000b4b0f3f754654e6:-1140080069,7cd7214540c62f0006213d86c7c0d155:599125817,7207e905c8c62f00c8f2555653bd6361:84437311,13f621059fc62f0043c96ee9e3c1bf9c:909041089,c7366dc117c62f0090f28940467939ee:129048445,c91669c118c62f00f5e8c0bf9fe47a14:-1187791637,67b529c1fec62f007f718a4b33a21afd:-1595196731,5955ad819fc62f00c2de88c0b32fa9b7:-1797467895,86f4258155c62f005c0b0c15a32d4417:57909481,add4a981b4c62f0034ac4e001aa99d49:165054629,c64425811ac62f00d026be37f76f6c11:392301761,4983a5418ac62f000e64429a1ba7f739:-2054182258,eb92a90112c62f009da5c82f9904cb2c:318631314,e342290114c62f0079d37e5c931d2a16:1941717216,0721bc3f89f127004f391d420561272d:-1072750696,8fe0b83ff9f1270026784cabd728e911:1748707100,b81f64fbe1f1270048fd820af5d56c11:429143346,ea5e68bb49f127006a3eb60a9c0354d0:-1830132983,ab0d2cd361b9a30068d3d400699128f7:604153618,480d2cd3bfb9a3004fbcb1426f8f7ad1:-1219155565,a89ca4d324b9a300d7ce6b16658c5e1a:317073039,6b7ce0d353b9a300b5a898d97ad4b19e:-604856117,6f0ce893eeb9a3004b9eff63526d04d4:2072286509,2efb2c93bcb9a300c6223cf70832916a:-1665638170,e4dbe4934cb9a300e66c5f5b8a73e9e6:-2021580538,02d754936179a3009b66af64987aa470:-125483771,2367d0934179a300e6afa9b31ffcbb59:-363798933,0fa1185f0d39a300a9b3b60369567958:-1834327291,febec45b8c39a300f87529db3554cfff:172356506,a3fc0c1b2339a30050868be76bd8743b:-14941182,bb9b44d7d339a3000c49845943ea2d13:-1523629159,f71b4c97f639a30086d5ad9592df3cc7:1038555776,aaaa4c974939a3008e333f38f55aaeb4:274868085,949a88974139a3007f0bb1d84dee0e6c:-53532190,b87a48175a39a3001dfac90affaef8ba:-1850955249,135a0057dc39a3004ae1b0220f38220c:-577703894,c4e78017e739a30030da76464cc90a25:-973913088,4017c8d37639a3008e5ae40424682a2e:198589333,17d584936d39a3005b2d73e979fbcf4e:-624982830,0e7504930839a3003f6fcf397a1f7d6e:-1954475571,a5550493ff39a300f66322ff3ab27e67:1475224397,fc1500937c39a300bce2a30c696c40d9:-1046815534,e97488135e39a3007a687ef3abbf2dad:-626057427,91630813b839a3003c5c6d22d430cebf:-467760287,3b234413e539a300b8e1e7c759dd1696:2015954425,2de288df25f5a300a3cebc8c7e681c0a:604976411,13b2c4df57f5a300422d78b08ee889c6:-129325703,1262cc9f7af5a3008661e7fefa463b74:-271683054,0652c4dfc9f5a30006b7934517d46eb2:-518993238,28a1889fdef5a3002943d722ada772b0:-1581933841,1d51449fbbf5a300877aa695064b29b0:-125457108,f111c49f2cf5a300c8aa5165c232c8dc:-240534604,aaf0449f5cf5a3003646a8481dee199e:-419728280,68e0885faff5a3007d0f83ccc3eed2bb:-1707666489,80d0cc5f59f5a300e8a75775ba33ea58:476736271,3f80c85fe3f5a300d69d1227aa8a1be4:657874996,d550c85f79f5a30041b7798d8501e25b:54590187,0940045f12f5a300597309081b5f5b81:645926210,a110085ff9f5a30069979b96438d0a51:-1992902156,2ecff34f4af5a300c26af62a9291e7be:1724385974,3e2f770fd9f5a300546901e98dcdee67:-1356225994,5c203f8f5ab5a3009fab7955acb23fdc:-714648705,02c72b8b70b5a300cd9fc6de2f0d148a:1869787214,fa97a78bd2b5a3006e36b83c7090632a:-1211767035,f367678b28b5a30011cfe30922f8649b:-1479726862,f391a347f6b5a30081ca7bee26da8b87:-714648705,cc312f07c3b5a300fb0477db681d3474:905327225,0f01a3072db5a300b50d5bcd73796b51:-165273095,725023c359b5a30034405504f4c86672:215741099,8a3f93c32ab5a30058f292eede8b7729:905327225,cf1fdf835bb5a30005d9745b206787c8:-1634015510,b5ce978396b5a300f7e22520486e94bd:-1671779317,909e97839ab5a3000732654e0ff1d6b5:704981387,7bfd9f436db5a300e3a5856799c033ff:-476578250,23dd9b43f3b5a3007320d0d1e75c9592:1670753249,485d13432bb5a3007a5b190f2f4d823e:931053131,f62d1f0301b5a300af364cff4942d31a:-330050325,98bc134327b5a3005028fe3c029e6237:-2003633134,1a6c13cfc675a300cfc075a8445b886a:-2145258369,8bab530333b5a30023e8efc673eaf4e1:-1832558840,75fa17cfba75a3000bf2f73144fdd1be:-1721612857,deba13cff475a300b50838f1768fd05f:-847008184,546a9b8fd875a300e770f3796ed341b9:-911835391,950a9b8f5575a30092cff935bd12e3b2:1192668268,05d9178f3775a300136228030abc2141:-1915359231,e589538f9c75a300d0b5e207166e837b:1730976021,b1e8174f5d75a300756a3a828c83f41f:1511413692,9b68574fd775a30028e5aa3f051dad23:-208861885,9017d7cb3475a300dfabd4f2ffc64744:391096690,3b63174bcf75a30029e973e8d3e1fcaf:1611381202,b2a197c7af75a3008c1a5bf9cb16c2c6:675339608,0211c3cf4275a700253c6672224a7d5d:338103246,5011cfcff075a700ea328c4c26fc387e:1933926056,59e0cbcf5975a700f163b127d14f7520:-1567744098,2bff32cf6d75a700cb9ab59f16cd0dfa:558609802,efaf3e8fc175a70088e939d3a4cf5971:1171631882,289ffa8f9575a700e66f53a69fa45784:605291210,be7fb28fbf75a7005a370029330161a6:2117067402,7c3f724fed75a7005648c23a08c5015a:660206986,732fb28f4075a7004c734f82ab0f4ca0:-987313370,cc8d724fd775a7004863e5170678ba45:1097857132,8bac36cbfd75a700e277bbcab08c6798:-347615354,995c3e8b6d75a700aa862cdf677519e6:-2051500908,3b0c3e8b0375a700856dd7cd5ac6c70e:1760367924,77ebb68bfa75a700417b10a291b5ce7a:-73985101,f4bb728b7075a700a5f141ba7f142daa:-1217417613,cb4b728b0075a700bf09ca3fcef86b7a:1005646265,bc4b328b1075a700ad6e672b313953bd:1453870069,9eda3e0bb375a7005212160cde90bc25:-832430123,5b2a324b4575a700a50ae223307f0c13:-2094074389,ccd93e0bc175a700b2d479aa54b37e0a:440924361,d449720b3a75a70003d4a044d38a99f7:479768862,4e29720b2d75a700ed9359c34490f056:245550768,4ee8f2c7a075a700a3daec4855ad92da:-1248674884,24a87e879e75a7007f0c43286d923d8e:233744348,8c08fe871675a7005ca2a6d5b13444ce:-1248674884,b0d77e879275a7007ca84da601a5d20c:-1709742022,e9c73e87f575a700b767aea1f9cb411f:-1323780030,9d87b6878075a700d8e51607654d6da7:1452041014,cb47fe479f75a700151e242ae3349760:-412591454,6207fe472275a70093636e85d42583f3:357921412,68d6fe474a75a7004f7976152d472f26:95201148,6db63247bc75a7008d72875b9aeca58d:1217830600,22b53247bf75a7003a4e8eaa319b5a85:1371861593,84e37ac33f75a700a8665548a6adb219:-1591101814,b72332c33775a70086619e60f4bc841b:-1367036196,6122b6432a75a700564b03c498dfeec8:885519893,ae00facf3035a70002c7418726c8bcc2:-622222329,a1ff6acf0735a700f0e574a9b3cbb06d:1503062457,c9cde60fa235a700dc8b478c971652fa:1267641691,17ad2a0fbd35a7008cf7abcb13b4346c:-1040440843,ff2beacbca35a7006cc74fd71c639798:1471148867,a7cae20fed35a7003d661fafc2818f0c:524218419,93baaa8b9635a700043a3ae19120b2b1:1410910247,8ef8a68baa35a7003885c143a793d53e:342799304,8ed8668b7435a700e686bfef9f31d8cf:-762552472,b488e28b5535a7007fd660410f57e5a4:1734274404,e668e24b2635a7009aa8ef9ffba7d44f:-1293241487,e738e24b3335a700f07e2c66953fcbce:152190987,b028ae4b7635a700f00a2b9ddcd114ff:-691777747,40176a0b9f35a700f4753d351dd4a0a2:54145164,17e6ea87fe35a700ee8fd228a377270a:584389468,c6c3e647a735a700a22aa9a09ff29e72:699410256,5fd22a478b35a7000822150b63c43d3b:-389532608,ec922a471935a700cc796955d04a9733:-573618752,1e722e07a935a70096cb7fe7d1ea249e:1666244928,1f522207e035a700a97ad98be08df156:144496964,51916a07e935a7000712510eaf961060:-941343676,03712a073335a700d15834217058e5b7:-1638381277,f830a6c35335a70084968503cca5e8cf:-659453467,2e20a6c30735a7006e63730838b424c8:-1732030258,a5de9e43af35a7004c121eed48f3be60:-370061369,477dbeba30396700435e04a3b52bad0c:1938982559,84e276b2c3396700fbc02a7687a76e05:218155302,94a23ab2033967002e6dbb1de4144d71:-1220359356,a152f2b2433967003200c07724cd2c36:-2070082699,efe1f6722f39670095b1f27e0afe31e7:-1938974824,b2c13a72ca396700aa1cd36815ae4106:-1126563005,936176727c39670041a3fdd96eb74cbb:489586990,9061fa3253396700637b97a5f6cd1fcc:298845397,28903a327c39670026c108fa3159c2e7:1726593801,ce60b632e2396700a2876b041a20dd23:-1964426427,ac307232a63967005d40b239205246a4:310321222,6e103232de396700da9becdde66526c5:691399949,7b00323235396700ae0d5aa17a285e81:-292837621,18ef6efef4f5670050b8ae5ad1036a7c:-533738635,80bf6afe83f5670026d7439ea7a1a1c2:-1175859144,229f22fe78f5670065d69100503e1572:-913624818,0beeaebeb8f567009b2f134a2ec3d5af:1592443281,63de62be1df567005a01571572de5e87:1500106464,f0be667eeaf567000753027a21630f56:-2009384309,e5d9427257b567008242b6d857743cf3:-2020257217,912861763e356700d1ce9ea756349a85:1657245548,3dc7e136d73567004177dc758e376907:-1445152776,fea66136a23567002475fc0b61ce3f69:-1803454767,c69621360a356700bf94b7999e8ca6c8:956102395,928625721a3567003def2b7a6a9ac2ef:-977424245,0903217239356700992bc2b975c47d99:-1031747831,afa2e93241356700d9ee4d7ae48b9036:246904834,40c1253214356700892da5dee1999917:1746363340,0cb1e13248356700d04b60935584dd4e:1461874236,46a161329b3567009d977d296f3d0adf:1421285939,2891edfec8f16700913d669e04f93df2:1746363340,df61a9fe9bf16700e3ec3dbd22a00788:998764838,160129fe8ff16700f1c90aa1bb960dda:-2080682471,e6e0e1fe2ef167003d7a7b467d1ff088:847843200,0fcf55be42f16700bca499db708f3d76:-2080682471,5c9f15bed7f1670035428f92a57c5432:1963978573,737f15be6ff16700e3fe9378c8c36c2c:1422662585,f19ed13e2df16700f9285a9324941fbc:-1645179769,b1d7d13a1bf167003a2f57bed8d2985f:473469996,32c7d13a7bf16700d936eac94775b200:129168815,83b7113aeaf1670021dbb69fd1eb814f:265698967,6947d9f6a4f1670049ddef99c89b625e:473469996,9d17d1f61ff16700de047b9057414784:647783172,fcb615f6c7f16700754a77aca0bb6921:-1231208422,ab96ddb6c3f167008ecc25e2b4021196:885051874,dd56ddb632f1670057a421d838d9983a:-1971802857,00461db686f16700d056fe035c4e5221:1108847824,b43695b6a2f16700d9d4c08130c0f37e:1814274837,be1651b663f16700e6cec0a195aa9881:-1462913255,f145dd7605f167000304c0684102f903:-331933614,fc255d7661f16700f07ba680231626d1:-1798078143,c4155d76a3f16700d5057e6b58a607bc:815428512,a7b45976c3f1670040cc3ebe6f1da383:1874237835,44b4d176b3f167003c36b3236b491f76:-2023947805,fb049136a7f16700dfbd7c8934299d82:1874237835,2f7255f226f16700bf8b94b38420696d:844648818,4f62d1b24af16700c11d93e03c6fce97:646067872,ea6e246a5d3527006c5f4c2eee63ba0a:1887935612,4eed242a8f352700919c008e7b91d765:681159064,803d6ce6ef352700da963afdd665c490:1466397184,26bca8e6b235270079bc9ea2d305c73e:-809096131,de8c6ca6ce352700a7589790232a126d:-975185715,914ce0e60a352700bf1071d85d0fd632:492972146,590c2ca6a43527004a39e6f888076abb:-86304054,d8cb6ca657352700cf2eec4e7456294e:1738613345,f49b60a6dd352700dc51432b6e7b5821:1347745989,9b6b20a6e83527008e3875be264b6401:1086455605,11da2c26d1352700a90e94674e4c4a29:829346723,2a3aa026933527002e5f1ffeae61700d:-1794248396,fc2ae82641352700702d4feece1854d4:829346723,80d9ace2bb352700c213698544ba66ed:-914708072,b38920e2bf3527006895fee3a2c01a9c:-1596908978,88a868a2e135270088108a5cf1477766:1492730032,f898a8a20a352700f23349226fd3c1dc:1632586064,da28a8a2e5352700935ca516d260b5d5:1438835075,0408a0a218352700e3feb1c71e1115d6:710588874,e74768625035270097669f8f00323baa:887605554,6d172c626a3527002cac703400d7998d:-864694566,28d6ec2254352700dd098c73bd188b76:1445927322,ff06ec22273527006bb3f9a58d44f864:1428798269,03f568220435270056f280c54257a8d4:-1043050706,d99568228d35270000310f0bdb591207:-99778466,67556422c235270050fd7dce53cb7cab:1826792700,5a15e8eed7f12700d9534ce3e1008b58:114435996,098464ee7cf127003c06fc75372e933d:-143048350,201460ee3ef127003db8578994196953:-1126716839,c5e3acae57f127001d795fd888474a73:1539677045,145364aed4f12700ea162d6f39b564fd:-514114866,7112206e11f1270009315ae10bfb4329:1539677045,f2a1ec2ed4f12700e8668a2fa4fb3efb:1802667736,5911e42e50f12700d8432d1daeb764e2:1229933900,1780602e0bf12700cd6962b234a9272b:735549308,c900a8ea70f12700b3ba7432c35c58b4:2021219356,0e6f9caa97f12700958ecf1f1ba9cb1b:1892415805,354f10ea65f127005ac9c3a6a6e78dc0:-1631410893,6f0f1caa27f12700121e4876e93f6e82:737008774,9cfe18aa20f12700c5f3d8ebedadcdf0:-1056447781,a99edc2a44f127000322eaa7d41da07f:-1173050203,e61edc6aa9f1270083576933b1720c4a:-1086256222,0dfd9c6a4df12700162f8b1c4aad80ad:1310102731,e9dc106a0ef127000840c68025e8691a:-1510452817,e1cc982aecf12700ae6d3ab7df09c0ca:-1946383410,3c9c982ae3f12700bf7f1c2592fa2c3d:894816581,797c582a3ff127006c7d4ebba401d454:-1841513004,e06c182a12f12700a25d1e7579c237dd:-757668764,b8abd8a6b5f127008ec618b0a6162875:-1620919713,ed3a98a6a1f12700f17b990ffb03a6d6:2075116996,f1f954a68ff127008013e962dd70e93d:827715247,c2c990a624f1270081f50324f8783fe3:-1969453475,f6995c267df127009a6b08a1e8055e55:1037325075,93e89c2699f127007e3b6ef5b7ebb731:-275635799,eae75826e9f127002a8a3a5eaa637f79:39260205,61a75426aaf1270079e9af14356682ca:-1883030653,055790265af12700577c64ed818c736d:412242938,69079ce219f127003f665737790566b5:-681046730,d4e618e2f7f127007a52efb8aab0dea2:-1711620452,627690a231f127002f373620da33f55d:-584959747,e3622f3d6575a300c526cea09ac27cdc:-88592132,cd01abbd3275a30069e9760ccc9a28db:852561320,32c0237d7c75a3004dae58369f5bdb0f:377908841,0adedff9e375a3001c140ba6fcbad54d:-1440272094,439e573dc775a300fd1a8ffce1f69583:160118589,364e173dff75a300d45eb657ced60235:-1888749295,863e173d3075a30018b75f2cadbcbe2e:-110055473,09ed97f9e775a3007dec59089e8991d6:-610598290,2e4d97f92075a3003a40aa87ea2b3b92:-333004270,ae8c5bb91175a300817ba07ed2e2f839:-346246170,d25cd3b9f075a300c61dc8a713a5dbf3:267060885,4f2c57b96475a3008f350f8d31d8afb6:490206857,041c1b79f775a300702733924303f52d:1905702546,38db1b791b75a300243b54f27fcf4ce8:-1649485739,b28b97795b75a3006f0d18d399bd5be1:-1961650378,862b97795475a300f41b077a52917bd8:1340206182,79aa1b392775a300de53a73ab3acb22f:2096316942,ed891bf57475a3008e04e3a46d7d207e:1275265823,5f88d375a775a3000cb24bab17576ed2:-1081683486,843557f10175a30095bdfa348c563207:-374873288,02d29bb1e375a300cdaa86afbd17f3e8:647048035,86b19771ff75a30077fe0d4e12b6b63a:-192747647,1e619f719775a300c00f3f7e654c5a03:1146531603,cf41dffd9535a300acb2630d931152dd:-6635309,c3ae87bda635a300e5131744d11e2fc1:-1451834707,e52e07bd3035a300ea340658ea404a33:822230916,51fd43bd6435a300811600c70c75ac58:-1816114114,339c7631fd35a3002bbf5a58bb41edfb:-1859031828,fa4c7afd57f1a3004eaa13768a15c7f4:-1774053524,e22cb6bdfff1a30079d6718e14c2be52:893023190,5c2cbefd6cf1a300362117fc0090eab3:-1188835378,36abfebd80f1a300ffd5f2b9445953a6:-1658650912,f67a76bde4f1a30001b61e57af9453f0:-1452234276,f71af23da2f1a300bf2285dbc304b8fb:-660264860,501af27deaf1a30079c1950ffab7b3bb:804405999,63c8f27d3ef1a300d11c9aefed88a5b2:1406061681,62c7f23dbff1a300eb28a41e5e5308a2:-1274292228,2357bef93ff1a30058983b543aec6d42:-982793255,9ed63ef9a4f1a3001ed7e87327de03f4:736454492,0826a2fd8bb1a300c7ee7b2e950241e7:1795892709,10f522fddfb1a300e5c4a1df5fb0be3b:347050262,35b5aebd69b1a300f7ce8c16e958e954:507638480,93c4aa7d46b1a300ef00b3658007420e:-1509018418,87c3aa3dc0b1a30017dfb477b3f2c5a3:694366561,2713a23d8fb1a3006ccd5085f9150f9d:-1509018418,ab03aa3d37b1a30090dbb44c3b70779e:-1472724185,a8722af9d9b1a300606c84e0415f4eea:-817253745,b0c126f983b1a300d977e4a1892d1693:1354437685,6c71a6b92eb1a30056f035dc46a1d695:-1454693639,8c51eeb9e3b1a300ea04a19309424725:-421517959,560166b991b1a300c1b0caaef1b75808:-556437150,78e806758c71a3002ebcf0017514b401:987000616,f118ce355671a300b7c29f61753a98e1:-1373391113,0858a66814b5ef008226ec0702c4bd5f:295760614,12386668ceb5ef00759ba6d2f98ac3ce:1860535047,6cff56a0c9b5ef000f39f978b5c74ecd:865048649,bc7f56a0c8b5ef009efdf6c99fdd15c4:-637530380,4eee9a60d7b5ef00b97234c0ba3b53fa:-1008860453,74ae9a60efb5ef0020f7d76c1b7745d8:39263694,ec3e926042b5ef006dae2ec727a11da7:888589497,e4ed5e206db5ef004ca99bafa350ef92:-601037864,287d5e201db5ef003f74adb63dc7ad1a:-1613095428,78fc5620d2b5ef00083ebb7c1f2a1d44:-185471572,3b9cdeecd775ef001356999f121442e4:-1004519633,7a7c1eec7575ef00f89503cbdf07bd59:-1395748926,a25c9eec7475ef0068ee9c8c54e4169f:-1300536611,e7fbd66cd975ef00ddf9bdd91832bdec:-791973093,295a166ca475ef00051ae7e0f67cb275:279773435,9e4a5a682875ef0008d97f23657c8657:-1634290037,171452282b75ef005818ebca969a962b:2051858159,10c31ee48d75ef0022ea41d625582f6a:-1659716907,20835ae4cd75ef0065cbb5b09ab00468:-1687575458,18531ea42a75ef002baf5a8fe83c68fc:1513720095,f7c212e4ce75ef003cc5186b2f880437:-547424736,fa72daa48f75ef001ae8415ea3f403a9:1064364970,296212a47075ef00ebe42ac097d96df2:1031017598,dc3112208c75ef000944719dd66967c8:-156678280,dba092201075ef001a3c3f1c4a63dd5d:1554658980,4680daece335ef00be56812397d76565:1704006579,7c509eece035ef0029731f085f08273c:-1121183706,80cecaac0835ef0030b45bec09b39bf9:-883397316,115a02e84835ef00f85bc5dc4d00bc69:564811764,cd31a1e8bbb1ef0042f312c44b0164e0:-82367207,06a029a8d9b1ef00cddc70dcf5cd178c:-471815368,a660ada8a2b1ef0041c3a2bfe0cb0a3a:-994621955,f630ada8a7b1ef00b47d51ea94a7e332:-1122925912,0b5ad5a46db1ef0018d3032cf327a773:502491921,682a15a493b1ef004bb66caf4ef833c9:721820770,4de951a4c8b1ef00e2876ac5fe843695:-416266414,c1d99d6465b1ef00dedeb67fe54f18b0:281838155,ea499564b0b1ef0051c547ebfcd99ded:-534042601,2c39956414b1ef005e365446066938e6:-912973702,61885164aeb1ef007b7fc8c21ad4505b:257779090,1cc74dd86075af00a55190b0337bb22d:-1903084194,367789d8b375af00d2e98fb8084a4d73:11540254,3d078598de75af006cd0e9e0085d51a0:634441757,dbd64598c175af00ecf33760de35f144:310994015,0dc60598fc75af00129e1b7dbb171adc:94738005,3f8601988075af000c98a212af482322:-1705488685,cc564d585675af00888835a60a5b140f:406433939,26360d58c175af00f07a695feea01f2f:-555570381,530685586a75af00dbcd85ccb1e914ab:-118316933,37f5c5582c75af00130d74862e437501:1230812600,91c58558b975af0073b3531589ac9ea3:-1090827345</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-enhanced-list/widget/pe-enhanced-list-and-tiles.u-body-html-template.html",
    "content": "<div class='panel panel-warning' ng-if='::c.data.missingConfig'>\n  <div class='panel-heading'>\n    Missing Configuration\n  </div>\n  <div class='panel-body bg-warning'>\n    <div ng-if='::!c.table.isValid'>\n      Please configure a table in the Instance Options (Ctrl+RightClick)\n    </div>\n  </div>\n  <!-- your widget template -->\n</div>\n<div class='panel panel-{{options.context}}' ng-if='::c.data.missingConfig==false'>\n  <div class='panel-heading' ng-if='::options.show_panel_header'>\n    <div class='panel-title'>\n      {{options.panel_header_text}}\n      <div class=\"panel-menu\" ng-if='c.table.list_page'>\n        <span ng-click='headerMenu()'>View All</span>\n      </div>\n    </div>\n  </div>\n  <div class='panel-body bg-{{options.context}}' ng-if=\"c.table.dataSet.length <= 0\" >\n    No Data Available\n  </div>\n  <div class='panel-body panel-nopadding' ng-if=\"c.table.dataSet.length > 0\" >\n    <!-- XS - 420px width or less -->    \n    <div class='d-hide' ng-class=\"{'d-show' : ifWidth('xs')}\">\n      <div class='data-item data-item-sm' ng-repeat=\"item in c.table.dataSet.slice(((c.currentPage-1)*c.itemsPerPage), ((c.currentPage)*c.itemsPerPage)) track by item.sys_id.value\">\n        <div class='col-xs-11 col-sm-11'>\n          <div class='data-img' ng-if='c.table.image && item[c.table.image].displayValue'>\n            <img src='{{item[c.table.image].displayValue}}' ng-if='!options.list_page'/>\n            <a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.list_page'>\n              <img src='{{item[c.table.image].displayValue}}'/>\n            </a>\n          </div>\n          <div class=\"data-title\">\n            <div>\n              <a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.list_page'>\n                {{item[c.table.fieldSplit[1]].displayValue}}\n              </a>  \n              <span ng-if='!options.list_page'>\n                {{item[c.table.fieldSplit[1]].displayValue}}\n              </span>\n            </div>\n            <div class='data-details'>\n              <span ng-repeat=\"field in c.table.fieldSplit track by $index\" ng-if='$index>1 && field!=c.table.image'>\n                <span ng-switch=\"item[field].type\" title=\"{{::item[field].label}}\">\n                  <span ng-switch-when=\"glide_date_time\">\n                    <span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\">\n                      <sn-time-ago timestamp=\"::item[field].value\" />\n                    </span>\n\t\t\t\t\t\t\t\t\t\t<span ng-if=\"c.table.dateformat!=='4'\">{{::getFormat(item[field].value,c.table.dateformat)}}</span>\n                  </span>\n                  \n                  <span ng-switch-when=\"glide_date\">\n                    <span ng-if='c.table.dateformat==4' title=\"{{::item[field].label}}\">\n                      <sn-time-ago timestamp=\"::item[field].value\" />\n                    </span>\n                    <span ng-if='c.table.dateformat!=4'>{{::getFormat(item[field].value,c.table.dateformat)}}</span>\n                  </span>\n                  \n                  <span ng-switch-default=\"\">{{::item[field].displayValue}}</span>\n                </span>\n                <span ng-if='!$last'>&nbsp;&nbsp;&bull;&nbsp;&nbsp;</span>\n              </span>\n            </div>\n          </div>\n        </div>\n        <div class='col-xs-1 col-sm-1' ng-if='c.table.showActions'>\n          <div class=\"data-menu btn-group\">\n            <button class=\"btn btn-menu toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" aria-haspopup=\"true\"><i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i></button>\n            <ul class=\"dropdown-menu dropdown-menu-right\">\n              <li ng-click='itemMenu(item,\"view\")'  ng-if='c.table.detail_page'>View this Item</li>\n              <li ng-if='options.sc_cat_item' ng-repeat='menuItem in c.table.itemMenu' ng-click='itemMenu(item.sys_id.value,\"sc\",menuItem.sys_id)'>{{menuItem.title}}</li>\n            </ul>\n          </div>  \n        </div>\n      </div>\n    </div> \n    <!-- 421px width or greater -->    \n    <div class='table-responsive d-hide' ng-class=\"{'d-show' : !ifWidth('xs')}\">\n      <table class='table table-hover'>\n        <thead>\n          <tr class='data-header-wide'>\n            <th class='col-xs-1' ng-if='options.image_field'>\n              &nbsp;\n            </th>\n            <th>\n              {{c.table.dataSet[0][c.table.fieldSplit[1]].label}}\n            </th>\n            <th ng-repeat='field in c.table.fieldSplit track by $index' ng-if='$index > 1'>\n              {{c.table.dataSet[0][field].label}}\n            </th>\n            <th style='width:30px;text-align:center;' ng-if='c.table.showActions'>\n              Actions\n            </th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr class='data-item data-item-wide' ng-class=\"{ 'data-item-noborder' : $last }\" ng-repeat=\"item in c.table.dataSet.slice(((c.currentPage-1)*c.itemsPerPage), ((c.currentPage)*c.itemsPerPage)) track by item.sys_id.value\">\n            <td style='text-align:center' ng-if='options.image_field'>\n              <span class='data-img' ng-if='c.table.image && item[c.table.image].displayValue'>\n                <img src='{{item[c.table.image].displayValue}}' ng-if='!options.detail_page'/>\n                <a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.detail_page'>\n                  <img src='{{item[c.table.image].displayValue}}'/>\n                </a>\n              </span>\n            </td>\n            <td>\n              <span class=\"data-title\">\n                <a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.detail_page'>\n                  {{item[c.table.fieldSplit[1]].displayValue}}\n                </a>\n                <span ng-if='!options.detail_page'>\n                  {{item[c.table.fieldSplit[1]].displayValue}}\n                </span>\n              </span>\n            </td>\n            <td ng-repeat='field in c.table.fieldSplit track by $index' ng-if='$index > 1'>\n              <span class='data-details'>\n                <span ng-switch=\"item[field].type\" title=\"{{::item[field].label}}\">\n                  <span ng-switch-when=\"glide_date_time\">\n                    <span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\">\n                      <sn-time-ago timestamp=\"::item[field].value\" />\n                    </span>\n\t\t\t\t\t\t\t\t\t\t<span ng-if=\"c.table.dateformat!=='4'\">{{::getFormat(item[field].value,c.table.dateformat)}}</span>\n                  </span>\n                  \n                  <span ng-switch-when=\"glide_date\">\n                    <span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\">\n                      <sn-time-ago timestamp=\"::item[field].value\" />\n                    </span>\n                    <span ng-if=\"c.table.dateformat!=='4'\">{{::getFormat(item[field].value,c.table.dateformat)}}</span>\n                  </span>\n                  \n                  <span ng-switch-default=\"\">{{::item[field].displayValue}}</span>\n                </span>\n              </span>\n            </td>\n            <td class=\"data-menu data-menu-wide\" ng-if='c.table.showActions'>\n              <div class=\"btn-group\">\n                <button class=\"btn btn-menu toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" aria-haspopup=\"true\"><i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i></button>\n                <ul class=\"dropdown-menu dropdown-menu-right\">\n                  <li ng-click='itemMenu(item,\"view\")' ng-if='options.detail_page'>View this Item</li>\n                  <li ng-if='options.sc_cat_item' ng-repeat='menuItem in c.table.itemMenu' ng-click='itemMenu(item.sys_id.value,\"sc\",menuItem.sys_id)'>{{menuItem.title}}</li>\n                </ul>\n              </div>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </div>\n  <div class='panel-footer' ng-class=\"{ 'pagenav-footer' : (options.list_pagination != 0) }\" ng-if='::options.show_panel_footer'>\n    <div class='pull-right' ng-if='(options.list_pagination != 0)'>\n      <div ng-click='setPageNext(-1)' class='pagenav-padding pull-left'>\n        <i class=\"fa fa-step-backward\" aria-hidden=\"true\"></i>\n      </div>\n      <div class='pagenav-padding pagenav-select pull-left'>\n        <select ng-change=\"setPage()\" ng-model='c.selectedItem' ng-options=\"page for page in c.table.pages track by page\"></select>\n      </div>\n      <div ng-click='setPageNext(1)' class='pagenav-padding pull-right'>\n        <i class=\"fa fa-step-forward\" aria-hidden=\"true\"></i>\n      </div>\n    </div>\n  </div>\n</div>\n\n\n\n"
  },
  {
    "path": "src/pe-enhanced-list/widget/pe-enhanced-list-and-tiles.u-client-script.js",
    "content": "function EnhancedList($scope,$location) {\n  /* widget controller */\n  var c = this;\n\n\t//Let's simplify the dataset in order to minimize the Angular coding in the HTML\n\tc.table = c.data.instance_table;\n\t\n\t//Some initilization\n\tc.$onInit = function(){\n\t\tc.currentPage = c.selectedItem = 1;\n\t\tc.itemsPerPage = c.table.viewby;\n\t};\n\t\n\t//What to do if the View All in the panel header is clicked\n\t$scope.headerMenu = function(){\n\t\t\t$location.url('?id='+ c.table.list_page + '&t=' + c.table.name);\n\t};\n\t\n\t//Return the proper date/time format\n\t$scope.getFormat = function(val,type){\n\t\tvar d = moment(val);\n\t\tswitch(type){\n\t\t\tcase '1':\n\t\t\t\treturn d.format('MM/DD/YYYY');\n\t\t\tcase '2':\n\t\t\t\treturn d.format('hh:mm:ss');\n\t\t\tcase '3':\n\t\t\t\treturn d.format('MM/DD/YYYY hh:mm:ss');\n\t\t\tdefault:\n\t\t\t\treturn val;\n\t\t}\n\t};\n\t//What to do if an item's submenu choice is clicked\n\t$scope.itemMenu = function(item,choice,cat_item){\n\t\tif(choice=='view'){\n\t\t\t$scope.goItem(item);\n\t\t}\n\t\tif(choice=='sc'){\n\t\t\tif($scope.options.sc_item_id){\n\t\t\t\tcat_item = cat_item + '&item_sysid=' + item;\n\t\t\t}\n\t\t\t$location.url('?id=sc_cat_item&sys_id=' + cat_item);\n\t\t}\n\t};\n\t\n\t//What to do if the item is clicked\n\t$scope.goItem = function(item){\n\t\tvar location = '?id='+ c.table.detail_page;\n\t\t//Add the item sys_id\n\t\tlocation += '&sys_id=' + item.sys_id.value;\n\t\t//Add the table\n\t\tlocation += '&t=' + c.table.name;\n\t\t//Add the view\n\t\tlocation += '&v=' + c.table.detail_view;\n\t\t$location.url( location );\n\t};\n\t\n\t//Function to determine the width of the widget and what to do about it\n\t$scope.ifWidth = function(size){\n\t\tvar rtn = false;\n\t\tvar el = angular.element(document.getElementById('x' + $scope.widget.rectangle_id));\n\t\tvar width = parseInt(el[0].clientWidth);\n\t\tswitch(size){\n\t\t\tcase 'xs'\t:\n\t\t\t\trtn = (width <= 420);\n\t\t\t\tbreak;\n\t\t\tcase 'sm' :\n\t\t\t\trtn = ((width > 420) && (width <= 768));\n\t\t\t\tbreak;\n\t\t\tcase 'md' :\n\t\t\t\trtn = ((width > 768) && (width <= 1024));\n\t\t\t\tbreak;\n\t\t\tcase 'lg' :\n\t\t\t\trtn = (width > 1024);\n\t\t\t\tbreak;\t\t\t\t\n\t\t\tdefault: \n\t\t\t\trtn = false;\n\t\t}\n\t\n\t\treturn rtn;\n\t};\n\t\n\t//Function to set the currently being view pagination page\n\t$scope.setPage = function() {\n\t\tc.currentPage = c.selectedItem;\n\t};\n\t\n\t//Function to control the page being viewed when the left/right pagination arrows are clicked\n\t$scope.setPageNext = function(inc) {\n\t\tc.currentPage = c.currentPage + inc;\n\t\tif((c.currentPage<1) || (c.currentPage>c.table.pages.length)){\n\t\t\tc.currentPage = 1;\n\t\t}\n\t\tc.selectedItem = c.currentPage;\n\t};\n\t\n\t\n}"
  },
  {
    "path": "src/pe-enhanced-list/widget/pe-enhanced-list-and-tiles.u-css.css",
    "content": "$heading-color: #717171 !default;\n$table-background: #ffffff !default;\n$title-color: $text-color !default;\n$wide-header-text-color: #4a4a4a !default;\n$wide-header-text-size: 16px !default;\n$details-color: $text-muted !default;\n$table-bg-hover: rgba(0,0,0,0.05);\n\n.d-hide{\n  display: none;\n}\n.d-show{\n  display: block;\n  overflow-x: visible;\n}\n.panel-none {\n  background-color: transparent;\n  border-color: transparent;\n  box-shadow: unset !important;\n}\n.panel-none > .panel-heading {\n  color: $heading-color;\n  background-color: transparent;\n  border-color: transparent;\n}\n.panel-none > .panel-heading  + .panel-collapse > .panel-body {\n  border-top-color: transparent;\n}\n.panel-none > .panel-heading .badge {\n  color: $btn-default-bg;\n  background-color: transparent;\n}\n.panel-footer{\n  min-height: 39px;\n}\n.pagenav-footer{\n  min-height: 43px;\n}\n.panel-none > .panel-footer  + .panel-collapse > .panel-body {\n  border-bottom-color: transparent;\n}\n.panel-none > .panel-footer{\n  border-top-color: transparent;\n  border-bottom-color: transparent;\n  background-color: transparent;\n}\n.panel-none > .panel-heading {\n  word-wrap: break-word;\n}\n\n.panel-nopadding{\n  padding: 0;\n}\n.panel-menu{\n  cursor: pointer;\n  float: right;\n  position: relative;\n  top: 0;\n  display: inline-block;\n}\n.btn-menu{\n  border: unset !important;\n  background: transparent !important;\n}\n.btn-menu:focus{\n  outline: unset !important;\n}\n.btn-menu:active {\n  box-shadow: none;\n}\n.dropdown-menu-right{\n  border-radius: 4px;\n  right: 0px;\n  top: 20px;\n  color: $link-color;\n  line-height: 28px;\n  padding: 10px 0px;\n  li{\n    padding-left: 15px;\n  }\n  li:hover{\n    background-color: $table-bg-hover;\n  }\n}\n\n\n.data-item{\n  height: 5.5rem;\n  display: flex;\n  background-color: $table-background !important;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 20px;\n  .data-img{\n    display: inline-flex;\n    float: left;\n    margin-right: 6px;\n    margin-top: 2px;\n    img{\n      max-width: 40px;\n    \tmax-height: 40px;\n    }\n  }\n  .data-title{\n    width: 100%;\n    display: initial;\n    color: $title-color;\n    margin-bottom: 8px;\n    max-width: calc(100% - 35px);\n    a{\n      color: $link-color;\n    }\n  }\n  .data-details{\n    width: 100%;\n    color: $details-color !important;\n  }\n  .data-menu{\n    color: $title-color !important;\n    cursor: pointer;\n    float: right;\n  }\n}\n.data-item-sm{\n  height: 6.5rem;\n  padding: 0 5px;\n}\n.data-header-wide{\n  height: 4.5rem;\n  display: table-row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  border-bottom: 2px #c2c2c2 outset;\n  text-transform: capitalize;\n  color: $wide-header-text-color;\n  font-size: $wide-header-text-size;\n}\n.data-header-wide:hover{\n  background-color: transparent !important;\n}\n.data-item-wide{\n  display: table-row;\n  border-bottom: 1px #c2c2c2 solid;  \n  .data-title{\n    margin: 0;\n    a{\n      position: relative;\n    }\n  }\n  .data-img{\n    float: unset;\n    margin: 0 auto;\n  }\n  .data-menu-wide{\n    float: unset;\n    text-align: center;\n  }\n}\n\n.data-item-noborder{\n  border: unset;\n}\n\n.table {\n  margin: unset !important;\n  background-color: $table-background !important;\n}\n.table > thead > tr > th, .table > tbody > tr > th, .table > tbody > tr > td{\n  border: unset !important;\n  vertical-align: middle;\n  padding: 0 15px;\n}\n\n.data-item, .table-hover > tbody > tr{\n  box-shadow: unset;\n}\n.data-item:hover, .table-hover > tbody > tr:hover {\n  background-color: unset;\n  -webkit-box-shadow: 0 0px 28px rgba(0,0,0,0), 0 0px 10px rgba(0,0,0,0.22);\n  -moz-box-shadow: 0 0px 28px rgba(0,0,0,0), 0 0px 10px rgba(0,0,0,0.22);\n  box-shadow: 0 0px 28px rgba(0,0,0,0), 0 0px 10px rgba(0,0,0,0.22);\n}\n\n.data-tiles{\n  border: 1px solid #c2c2c2;\n  padding: 5px 10px;\n  margin-bottom: 8px;\n  border-radius: 4px;\n}\n.pagenav-padding{\n  padding-left: 3px;\n  padding-right: 3px;\n}\n.pagenav-select{\n  position: relative;\n  top: -2px;\n  select{\n    text-indent: 5px;\n    width: 45px;\n  }\n}"
  },
  {
    "path": "src/pe-enhanced-list/widget/pe-enhanced-list-and-tiles.u-link-script.js",
    "content": "function link(scope,el,attrs,ctrl){\n}"
  },
  {
    "path": "src/pe-enhanced-list/widget/pe-enhanced-list-and-tiles.u-option-schema.json",
    "content": "[{\"displayValue\":\"Table\",\"hint\":\"Name of table to retrieve data from - e.g. task\",\"name\":\"table\",\"section\":\"Data\",\"label\":\"Table used to query data\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},{\"hint\":\"Fields to Use - Order of fields control presentation order\",\"name\":\"fields\",\"section\":\"Data\",\"default_value\":\"number,short_description,assigned_to\",\"label\":\"Field List - Recommended maximum of 4 fields, comma delimited, in order of presentation\",\"type\":\"string\"},{\"hint\":\"User defined field labels in order of field list\",\"name\":\"field_labels\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Override Field Labels - comma delimited and order must match Field List order\",\"type\":\"string\"},{\"hint\":\"Field name in table for storing an image on the record\",\"name\":\"image_field\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Field name in table storing an image\",\"type\":\"string\"},{\"hint\":\"Limit query results to current user. Expects field named - assigned_to\",\"name\":\"limit_to_user\",\"section\":\"Data\",\"default_value\":\"true\",\"label\":\"Limit to User - Limit query results to current user. Expects field named - assigned_to\",\"type\":\"boolean\"},{\"hint\":\"Additional query parameters to help reduce data set\",\"name\":\"encoded_query\",\"section\":\"Data\",\"label\":\"Additional Data Filter - using Encoded Query format, e.g.  active=true^start_date=today\",\"type\":\"string\"},{\"hint\":\"Service Portal target page to view data in a larger list\",\"name\":\"list_page\",\"section\":\"Data\",\"label\":\"List Page Target - Target Page for View All panel header link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"Service Portal target page to view or edit an individual item\",\"name\":\"detail_page\",\"section\":\"Data\",\"label\":\"Detail Page Target - Detail page target for item menu 'View Details' link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"View to use when target detail page is a form\",\"name\":\"view\",\"section\":\"Data\",\"default_value\":\"default\",\"label\":\"View name used by Detail Page Target - leave empty to use default view\",\"type\":\"reference\",\"value\":\"sys_ui_view\",\"ed\":{\"reference\":\"sys_ui_view\"}},{\"hint\":\"Show the Panel's Header Div\",\"name\":\"show_panel_header\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Show Widget's Panel Header\",\"type\":\"boolean\"},{\"hint\":\"Text to display in the Panel's Header. Depends on Show Panel Header being True.\",\"name\":\"panel_header_text\",\"section\":\"Behavior\",\"default_value\":\"\",\"label\":\"User defined Panel Header Text\",\"type\":\"string\"},{\"hint\":\"Show the Panel's Footer Div\",\"name\":\"show_panel_footer\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Show Panel Footer\",\"type\":\"boolean\"},{\"hint\":\"Additional item menu links to Service Catalog\",\"name\":\"sc_cat_item\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Sys ID of Service Catalog Menu Items - comma delimited, links added to item's action menu\",\"type\":\"string\"},{\"hint\":\"Pass the Item's Sys ID as a parameter to the Catalog Item selected\",\"name\":\"sc_item_id\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Pass Item's Sys ID to Service Catalog Item\",\"type\":\"boolean\"},{\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"none\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},{\"hint\":\"Paginate the list\",\"name\":\"list_pagination\",\"section\":\"Behavior\",\"default_value\":\"0\",\"label\":\"List Pagination\",\"type\":\"choice\",\"choices\":[{\"label\":\"5\",\"value\":\"5\"},{\"label\":\"10\",\"value\":\"10\"},{\"label\":\"15\",\"value\":\"15\"},{\"label\":\"25\",\"value\":\"25\"},{\"label\":\"50\",\"value\":\"50\"},{\"label\":\"100\",\"value\":\"100\"}]},{\"name\":\"maxrecords\",\"section\":\"Behavior\",\"default_value\":\"500\",\"label\":\"MAX Record Count\",\"type\":\"string\"},{\"name\":\"order_by\",\"section\":\"Data\",\"default_value\":\"sys_created_on\",\"label\":\"Order By Field\",\"type\":\"string\"},{\"name\":\"order_by_direction\",\"section\":\"Data\",\"default_value\":\"false\",\"label\":\"Use Order By in Descending Order\",\"type\":\"boolean\",\"choices\":\"\"},{\"name\":\"show_date_time\",\"section\":\"Presentation\",\"default_value\":\"4\",\"label\":\"Show all Date/Time fields as\",\"type\":\"choice\",\"choices\":[{\"label\":\"Date Only\",\"value\":\"1\"},{\"label\":\"Time Only\",\"value\":\"2\"},{\"label\":\"Date and Time\",\"value\":\"3\"},{\"label\":\"Since Date - eg - 25d ago\",\"value\":\"4\"}]}]"
  },
  {
    "path": "src/pe-enhanced-list/widget/pe-enhanced-list-and-tiles.u-server-script.js",
    "content": "(function() {\n\t/*\n\t\tWidget: Enhanced List\n\t\tVersion/Date: v1.0 - Nov 2018\n\t\tBy: Solution Innovation - Factory\n\t\tPurpose: Provide a flexible, enhanced feature set, and a more configurable version\n\t\t\t\t\t\t of the Service Portal Out of the Box Simple List widget.\n\t\t\n\t*/\n\t\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\t\n\t//Get Option (Instance) Schema Configuration values\n\toptions.list_pagination = parseInt(options.list_pagination);\n\toptions.show_panel_header = (options.show_panel_header=='true');\n\toptions.show_panel_footer = (options.show_panel_footer=='true');\n\toptions.limit_to_user = (options.limit_to_user=='true');\n\toptions.order_by_direction = (options.order_by_direction=='true');\n\toptions.sc_item_id = (options.sc_item_id=='true');\n\t\n\n\t/* 'q' - URL parameter for adding a filter to the dataset dynamically */\n\toptions.encoded_query = options.encoded_query || $sp.getParameter('q');\n\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tdata.instance_table = {\n\t\tcount: 0,\n\t\tdataSet : [],\n\t\tdateformat: options.show_date_time,\n\t\tdetail_page: undefined,\n\t\tdetail_view: undefined,\n\t\tdirection: options.order_by_direction,\n\t\tfieldLabels: [],\n\t\tfieldSplit: [],\n\t\tfields : options.fields || $sp.getParameter('f'),\n\t\timage: options.image_field,\n\t\tisValid : false,\n\t\titemMenu: [],\n\t\tlabel : undefined,\n\t\tlist_page: undefined,\n\t\tname : $sp.getParameter('t'), // - not sure we want to use the URL Param with this ??? \n\t\torder_by : options.order_by,\n\t\tpages: [],\n\t\tshowActions: false,\n\t\tsys_id: options.table,\n\t\tviewby: options.list_pagination\n\t};\n\n\ttry{\n\t\t/* Get the Panel's Header Text*/\n\t\tvar grTableMeta = new GlideRecordSecure('sys_db_object');\n\t\tif(data.instance_table.name){\n\t\t\tgrTableMeta.addQuery('name',data.instance_table.name);\t\n\t\t}else{\n\t\t\tgrTableMeta.addQuery('sys_id',data.instance_table.sys_id);\t\n\t\t}\n\t\t\n\t\tgrTableMeta.query();\n\t\t\n\t\tif(grTableMeta.next()){\n\t\t\tdata.instance_table.sys_id = grTableMeta.getUniqueValue();\n\t\t\tdata.instance_table.name = grTableMeta.getDisplayValue('name');\n\t\t\tdata.instance_table.label = grTableMeta.getDisplayValue('label');\n\t\t}else{\n\t\t\tdata.missingConfig = true;\n\t\t\treturn;\n\t\t}\n\n\t\toptions.panel_header_text = options.panel_header_text || data.instance_table.label;\n\n\t\t\n\t\t// If provided, get the sys_id of the List Page from the Option (Instance) Schema\n\t\tif (options.list_page) {\n\t\t\tvar list_page = GlideRecordSecure('sp_page');\n\t\t\tif (list_page.get(options.list_page))\n\t\t\t\tdata.instance_table.list_page = list_page.getDisplayValue('id');\n\t\t}\n\n\t\t// If provided, get the sys_id of the Detail Page from the Option (Instance) Schema\n\t\tif (options.detail_page) {\n\t\t\tvar detail_page = GlideRecordSecure('sp_page');\n\t\t\tif (detail_page.get(options.detail_page)){\n\t\t\t\tdata.instance_table.detail_page = detail_page.getDisplayValue('id');\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t\t// If provided, get the name of the View from the Option (Instance) Schema\n\t\tif (options.view) {\n\t\t\tvar view_name = GlideRecordSecure('sys_ui_view');\n\t\t\tif (view_name.get(options.view))\n\t\t\t\tdata.instance_table.detail_view = view_name.getDisplayValue('name');\n\t\t}\n\t\t\n\t\t/* Table to use */\n\t\t//grValid - Used for table and field validation only\n\t\tvar grValid = new GlideRecord(data.instance_table.name);\n\t\tvar grTable = new GlideRecordSecure(data.instance_table.name); // does ACL checking for us\n\n\t\t//Validate if table exists\n\t\tdata.instance_table.isValid = grValid.isValid();\n\t\tif(!data.instance_table.isValid){\n\t\t\tthrow('Missing Table Configuration');\n\t\t}\n\n\t\n\n\t\t// If select, limit the results to the current user based on the Option (Instance) Schema\n\t\tif(options.limit_to_user){\n\t\t\tgrTable.addQuery('assigned_to',currentUser.getID());\n\t\t}\n\n\t\t// If provided, append the additional filter criteria to the GlideRecord from the Option (Instance) Schema\n\t\tif(options.encoded_query){\n\t\t\tgrTable.addEncodedQuery(options.encoded_query);\n\t\t}\n\n\t\t// Lets figure out the fields we are going to need\n\t\tvar fields = data.instance_table.fields || \"\";\n\t\tfields = data.instance_table.fields.split(',');\n\n\t\t// Lets figure out how we are going to label the fields\n\t\tvar labels = options.field_labels;\n\t\tif(labels.length>0){\n\t\t\tlabels = options.field_labels.split(',');\n\t\t}else{\n\t\t\tlabels = [null];\n\t\t}\n\n\t\t// If provided, lets figure out the image situation and push it as the first field in the data array\n\t\tif(data.instance_table.image){\n\t\t\tfields.splice(0,0,data.instance_table.image);\n\t\t\tlabels.splice(0,0,null);\n\t\t}else{\n\t\t\tfields.splice(0,0,null);\n\t\t\tlabels.splice(0,0,null);\n\t\t}\n\t\t\n\t\t// Lets fix all the labeling\n\t\tlabels.forEach(function(el,idx){ \n\t\t\tif(el != null && el.length > 0){\n\t\t\t\tlabels[idx] = el; \n\t\t\t}else if(el == null){\n\t\t\t\tlabels[idx] = null; \n\t\t\t}\n\t\t});\n\n\t\t// Stuff the fields and labels into the Instance Table data variable\n\t\tdata.instance_table.fieldLabels = labels;\n\t\tdata.instance_table.fieldSplit = fields;\n\n\t\t// Get the MAX Record count - to minimize and mitigate LARGE data pulls\n\t\tdata.maxCount = options.maxrecords;\n\t\tgrTable.setLimit(data.maxCount);\n\t\t\n\t\t// If provided, set the orderBy parameter of the GlideRecord from the Option (Instance) Schema\n\t\tif(grValid.isValidField(data.instance_table.order_by)){\n\t\t\tif(options.order_by_direction){\n\t\t\t\tgrTable.orderByDesc(data.instance_table.order_by);\t\n\t\t\t}else{\n\t\t\t\tgrTable.orderBy(data.instance_table.order_by);\n\t\t\t}\n\t\t}\n\t\t\n\t\t// LETS GO!\n\t\tgrTable.query();\n\t\twhile(grTable.next()){\n\t\t\t//Lets build our data set\n\t\t\tvar record = {};\n\t\t\trecord.sys_id = { displayValue: grTable.getUniqueValue(), value: grTable.getUniqueValue() };\n\n\t\t\t//Only need the fields based on the Option (Instance) Schema\n\t\t\tfor(var x=0;x<fields.length;x++){\n\t\t\t\tif(fields[x] && fields[x] !== null){\n\t\t\t\t\tvar f = getField(grTable,fields[x]);\n\t\t\t\t\tif(f.displayValue != ''){\n\t\t\t\t\t\tif(labels[x] && labels[x]!==null){\n\t\t\t\t\t\t\tf.label = labels[x];\n\t\t\t\t\t\t}\n\t\t\t\t\t\trecord[fields[x]] = f;\n\t\t\t\t\t}else{\n\t\t\t\t\t\trecord[fields[x]] = { displayValue: undefined, value: undefined, type: undefined, label: fields[x]};\t\n\t\t\t\t\t}\t\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.instance_table.dataSet.push(record);\n\t\t}\n\n\t\tdata.instance_table.count = grTable.getRowCount();\n\t\t\n\t\t//Show message if the MAX record count was reached\n\t\tif(data.instance_table.count >= data.maxCount){\n\t\t\tgs.addInfoMessage('MAX record count reached for Widget - '+ options.panel_header_text +'. MAX Records displayed: ' + data.maxCount);\n\t\t}\n\n\t\t//Lets figure out the pagination situation\n\t\tif(data.instance_table.viewby>0 && data.instance_table.count>0){\n\t\t\tvar pages = parseInt(data.instance_table.count / options.list_pagination);\n\t\t\tvar last_page = data.instance_table.count % options.list_pagination;\n\t\t\tdata.pages_value = pages;\n\t\t\tif(pages <= 0){\n\t\t\t\toptions.list_pagination = 0;\n\t\t\t}else{\n\t\t\t\toptions.show_panel_footer = true;\n\t\t\t\tfor(var m=0; m < pages; m++){\n\t\t\t\t\tdata.instance_table.pages.push( m+1 );\n\t\t\t\t}\n\t\t\t\tif(last_page > 0){\n\t\t\t\t\tdata.instance_table.pages.push( pages+1 );\n\t\t\t\t}\n\t\t\t}\n\t\t}else{\n\t\t\tdata.instance_table.viewby = data.instance_table.count;\n\t\t}\n\n\t\t//Lets append the catalog items to the individual item's submenu\n\t\tif(options.sc_cat_item){\n\t\t\tvar sc_items = new GlideRecordSecure('sc_cat_item');\n\t\t\tsc_items.addActiveQuery();\n\t\t\tsc_items.addEncodedQuery('sys_idIN'+options.sc_cat_item);\n\t\t\tsc_items.query();\n\t\t\tdata.instance_table.itemMenu = [];\n\t\t\twhile(sc_items.next()){\n\t\t\t\tdata.instance_table.itemMenu.push({\n\t\t\t\t\ttitle : sc_items.getDisplayValue('name'),\n\t\t\t\t\tsys_id : sc_items.getUniqueValue()\n\t\t\t\t});\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\tgs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n\t/* Function to Get our Field info */\n\tfunction getField(gr, name) {\n\t\tvar f = {};\n\t\tf.field = name;\n\t\tf.displayValue = gr.getDisplayValue(name);\n\t\tf.value = gr.getValue(name);\n\t\t\n\t\tvar ge = gr.getElement(name);\n\t\tif (ge == null)\n\t\t\treturn f;\n\n\t\tf.type = ge.getED().getInternalType();\n\t\tf.label = ge.getLabel();\n\t\treturn f;\n\t}\n})();"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/README.md",
    "content": "# Enhanced List as Tiles\n\n## Description\n\nBring a more interactive and configurable presentation to showing the content of a table formatted as individual tiles.  The Enhanced List as Tile widget brings a fresh tile format to the original Enhanced List which provides several configurable options giving the user more options to view the data item. Additional capabilities include: Service Catalog links, Pagination of the content, View All and individual item Details link, Bootstrap Context assignement, and many more.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/default.png)\n### Configured - Bootstrap Context\n![Bootstrap Context](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/bootstrapcontext.png)\n### Item Dropdown Choices\n![Item Dropdown Choices](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/itemddlist.png)\n### Pagination\n![Pagination](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/pagination.png)\n### Missing Configuration\n![Missing Configuration](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/missingconfiguration.png)\n### Instance Options\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/options1.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/options2.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-enhanced-list-as-tiles/images/options3.png)\n\n## Additional Information/Notes\n \nLike the Enhanced List widget, this version maintains the same capabilities to:\n * Choice of table, fields, View All link selection, individual item Details link\n * Links to Service Catalog items on the item's dropdown list.  \n * Provides Bootstrap Contexting of the UI Panel.\n * Pagination of the data presentation\n * MAX record count control\n\n---\n## Installation\nDownload and install update set **[pe-enhanced-list.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-enhanced-list/pe-enhanced-list.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Table** - Name of table to retrieve data from - e.g. task<br/>\n**Fields** - Recommended maximum of 4 fields, comma delimited, and order controls column presentation `Default: number,short_description,assigned_to` <br/>\n**Field Label Override** - comma delimited and order must match Field List order<br/>\n**Image Field** - Field name in table storing an image<br/>\n**Limit to User** - Limit query results to current user. Expects field named *assigned_to* existing in table<br/>\n**Additional Data Filter** - using Encoded Query format, e.g.  active=true^start_date=today<br/>\n**List Page Target** - Target Page for View All panel header link<br/>\n**Detail Page Target** - Detail page target for item menu 'View Details' link<br/>\n**Detail Page View** - View to use when target detail page is 'form', leave empty to use 'default' view<br/>\n**Order By Field** - Table field to use for sorting the data `Default: sys_created_on` <br/>\n**Use Order By in Descending Order** - Boolean toggle to change order by to descending order<br/>\n\n\n### Presentation\n**Service Catalog Menu Items** - Sys ID of catalog items as comma delimited, links added to item's action menu<br/>\n**Pass Item's Sys ID to Service Catalog Item** - Pass the Item's Sys ID as a parameter to the Catalog Item selected<br/>\n**Bootstrap Panel's Contextual alternatives** - changes the header and border to Bootstrap defined context colors<br/>\n**Tiles Pagination** - Paginate the tiles in groups of 2,3,4,6,8,9,12, or 16 tiles<br/>\n**MAX Record Count** - Max number of records to return in query<br/>\n**Date/Time Formatting** - Show all Date/Time fields as 1 - 'MM/DD/YYYY', 2- 'hh:mm:ss' , 3- 'MM/DD/YYYY hh:mm:ss', or 4 - No Format<br/>\n\n### Behavior\n**Show Widget's Panel Header** - Show panel header element<br/>\n**User defined Panel Header Text** - Override the text for the Panel Header text<br/>\n**Show Panel Footer** - Show panel footer element<br/>\n\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n\n$heading-color: #717171 !default;<br/>\n$table-background: #ffffff !default;<br/>\n$title-color: $text-color !default;<br/>\n$wide-header-text-color: #4a4a4a !default;<br/>\n$wide-header-text-size: 16px !default;<br/>\n$details-color: $text-muted !default;<br/>\n$table-bg-hover: rgba(0,0,0,0.05);<br/>\n<br/>"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Action List\",\n  \"common-name\": \"Enhanced List as Tiles\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"list\"\n  ],\n  \"name\": \"pe-enhanced-list-as-tiles\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Enhanced List as Tile widget brings a fresh tile format that provides several configurable options giving the user more options to view data items\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/pe-enhanced-list-and-tiles.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-13 17:03:29\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Enhanced List as Tiles</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>d76e9c2a4fe3ef0005be4d6e0210c783</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 17:03:28</sys_created_on>\n<sys_id>cd2cbc264f67ef0005be4d6e0210c718</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 17:03:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_116d24174fb9a30005be4d6e0210c7b2</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function EnhancedListTiles($scope,$location) {\n  /* widget controller */\n  var c = this;\n\tc.table = c.data.instance_table;\n\t\n\tc.$onInit = function(){\n\t\tc.currentPage = c.selectedItem = 1;\n\t\tc.itemsPerPage = c.table.viewby;\n\t};\n\t\n\t$scope.headerMenu = function(){\n\t\t\t$location.url('?id='+ c.table.list_page + '&amp;t=' + c.table.name);\n\t};\n\t\n\t//Return the proper date/time format\n\t$scope.getFormat = function(val,type){\n\t\tvar d = moment(val);\n\t\tswitch(type){\n\t\t\tcase '1':\n\t\t\t\treturn d.format('MM/DD/YYYY');\n\t\t\tcase '2':\n\t\t\t\treturn d.format('hh:mm:ss');\n\t\t\tcase '3':\n\t\t\t\treturn d.format('MM/DD/YYYY hh:mm:ss');\n\t\t\tdefault:\n\t\t\t\treturn val;\n\t\t}\n\t};\n\t$scope.itemMenu = function(item,choice,cat_item){\n\t\tif(choice=='view'){\n\t\t\t$scope.goItem(item);\n\t\t}\n\t\tif(choice=='sc'){\n\t\t\tif($scope.options.sc_item_id){\n\t\t\t\tcat_item = cat_item + '&amp;item_sysid=' + item;\n\t\t\t}\n\t\t\t$location.url('?id=sc_cat_item&amp;sys_id=' + cat_item);\n\t\t}\n\t};\n\t\n\t$scope.goItem = function(item){\n\t\tvar location = '?id='+ c.table.detail_page;\n\t\t//Add the item sys_id\n\t\tlocation += '&amp;sys_id=' + item.sys_id.value;\n\t\t//Add the table\n\t\tlocation += '&amp;t=' + c.table.name;\n\t\t//Add the view\n\t\tlocation += '&amp;v=' + c.table.detail_view;\n\t\t$location.url( location );\n\t};\n\t\n\t$scope.setPage = function() {\n\t\tc.currentPage = c.selectedItem;\n\t};\n\t\n\t$scope.setPageNext = function(inc) {\n\t\tc.currentPage = c.currentPage + inc;\n\t\tif((c.currentPage&lt;1) || (c.currentPage&gt;c.table.pages.length)){\n\t\t\tc.currentPage = 1;\n\t\t}\n\t\tc.selectedItem = c.currentPage;\n\t};\n\t\n\t$scope.ifWidth = function(size){\n\t\tvar rtn = false;\n\t\tvar el = angular.element(document.getElementById('x' + $scope.widget.rectangle_id));\n\t\tvar width = parseInt(el[0].clientWidth);\n\t\t\n\t\tswitch(size){\n\t\t\tcase 'xs'\t:\n\t\t\t\trtn = (width &lt; 360);\n\t\t\t\tbreak;\n\t\t\tcase 'sm' :\n\t\t\t\trtn = ((width &gt;= 360) &amp;&amp; (width &lt; 660));\n\t\t\t\tbreak;\n\t\t\tcase 'md' :\n\t\t\t\trtn = ((width &gt;= 660) &amp;&amp; (width &lt; 991));\n\t\t\t\tbreak;\n\t\t\tcase 'lg' :\n\t\t\t\trtn = (width &gt;= 991);\n\t\t\t\tbreak;\t\t\t\t\n\t\t\tdefault: \n\t\t\t\trtn = false;\n\t\t}\n\n\t\treturn rtn;\n\t};\n\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$heading-color: #717171 !default;\n$title-color: $text-color !default;\n$wide-header-text-color: #000 !default;\n$wide-header-text-size: 16px !default;\n$details-color: $text-muted !default;\n$details-label: #4a4a4a !default;\n$table-bg-hover: rgba(128,128,128,0.05);\n\n.d-hide{\n  display: none;\n}\n.d-show{\n  display: block;\n  overflow-x: visible;\n}\n.panel-none {\n  background-color: transparent;\n  border-color: transparent;\n  box-shadow: unset !important;\n}\n.panel-none &amp;gt; .panel-heading {\n  color: $heading-color;\n  background-color: transparent;\n  border-color: transparent;\n}\n.panel-none &amp;gt; .panel-heading  + .panel-collapse &amp;gt; .panel-body {\n  border-top-color: transparent;\n}\n.panel-none &amp;gt; .panel-heading .badge {\n  color: $btn-default-bg;\n  background-color: transparent;\n}\n.pagenav-footer{\n  min-height: 43px;\n}\n.panel-none &amp;gt; .panel-footer  + .panel-collapse &amp;gt; .panel-body {\n  border-bottom-color: transparent;\n}\n.panel-none &amp;gt; .panel-footer{\n  border-top-color: transparent;\n  border-bottom-color: transparent;\n  background-color: transparent;\n}\n.panel-none &amp;gt; .panel-heading {\n  word-wrap: break-word;\n}\n.panel-novertpadding{\n  padding-left: 0;\n  padding-right: 0;\n}\n.panel-nopadding{\n  padding: 0;\n}\n\n.panel-tile{\n  display: inline-block;\n  display: inline-grid;\n  display: inline-flex;\n  flex-flow: column;\n  margin: 8px;\n  width: 100%;\n  max-width: calc(25% - 16px);\n  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);\n  .panel-body{\n    background-color: #fff !important;\n  }\n  @media only screen and (max-width: 991px) {\n    max-width: calc(33% - 16px);\n  }\n  @media only screen and (max-width: 768px) {\n    max-width: calc(50% - 16px);\n  }\n  @media only screen and (max-width: 475px) {\n    max-width: calc(100% - 16px);\n  }\n}\n.panel-tile-md{\n  max-width: calc(33% - 16px);\n  @media only screen and (max-width: 768px) {\n    max-width: calc(50% - 16px);\n  }\n  @media only screen and (max-width: 475px) {\n    max-width: calc(100% - 16px);\n  }\n}\n.panel-tile-sm{\n  max-width: calc(50% - 16px);\n  @media only screen and (max-width: 475px) {\n    max-width: calc(100% - 16px);\n  }\n}\n.panel-tile-xs{\n  max-width: calc(100% - 16px);\n}\n.panel-full{\n  max-width: calc(100% - 16px);\n}\n\n.panel-tile:hover{\n  .panel-body{\n    background-color: #ffffff;\n  }\n\n  -webkit-box-shadow: 0 0px 10px rgba(0,0,0,0.22), 0 10px 10px rgba(0,0,0,0.22) !important;\n  -moz-box-shadow: 0 0px 10px rgba(0,0,0,0.22), 0 10px 10px rgba(0,0,0,0.22) !important;\n  box-shadow: 0 0px 10px rgba(0,0,0,0.22), 0 10px 10px rgba(0,0,0,0.22) !important;\n}\n\n.panel-menu{\n  cursor: pointer;\n  float: right;\n  position: relative;\n  top: 0;\n  display: inline-block;\n}\n.btn-menu{\n  border: unset !important;\n  background: transparent !important;\n}\n.btn-menu:focus{\n  outline: unset !important;\n}\n.btn-menu:active {\n  box-shadow: none;\n}\n.dropdown-menu-right{\n  border-radius: 4px;\n  right: 0px;\n  top: 20px;\n  color: $link-color;\n  line-height: 28px;\n  padding: 10px 0px;\n  li{\n    padding-left: 15px;\n  }\n  li:hover{\n    background-color: $table-bg-hover;\n  }\n}\n\n.data-item{\n  width: 100%;\n  display: block;\n  min-height: 131px;\n  .data-img{\n    display: inline-flex;\n    float: left;\n    margin-right: 12px;\n    margin-top: 2px;\n    img{\n      max-width: 60px;\n      max-height: 60px;\n    }\n  }\n  .data-title{\n    width: 100%;\n    font-weight: normal;\n    color: $title-color;\n    margin-bottom: 8px;\n    overflow: hidden;\n    white-space: nowrap;\n    font-size: 18px;\n    font-weight: normal;\n    line-height: 19.8px;\n    text-overflow: ellipsis;\n    a{\n      color: $link-color;\n    }\n  }\n  .data-details{\n    width: 100%;\n    color: $details-color !important;\n    font-size: 14px;\n    font-weight: normal;\n    height: 20px;\n    line-height: 20px;\n    span{\n      width: 100%;\n      overflow: hidden;\n      text-overflow: ellipsis;\n\t\t\tmax-width: calc(100% - 32px);\n    }\n    .details-label{\n      color: $details-label;\n    }\n  }\n}\n\n.data-panel-footer{\n  max-height: 39px;\n  padding: 10px !important;\n  .data-menu{\n    color: $title-color !important;\n    font-weight: normal;\n    cursor: pointer;\n    float: right;\n    top: -6px;\n  }\n  .data-menu-view{\n    color: $link-color;\n    white-space: nowrap;\n  }\n}\n\n.txt-capitalize{\n  text-transform: capitalize;\n}\n.panel-footer{\n  max-width: 100%;\n}\n.pagenav-padding{\n  padding-left: 3px;\n  padding-right: 3px;\n}\n.pagenav-select{\n  position: relative;\n  top: -2px;\n  select{\n    text-indent: 5px;\n    width: 45px;\n  }\n}\n\n\n\n\n\n\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;enhanced-list-tiles&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Enhanced List as Tiles&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Table\",\"hint\":\"Name of table to retrieve data from - e.g. task\",\"name\":\"table\",\"section\":\"Data\",\"label\":\"Table\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},{\"hint\":\"Fields to Use - Order of fields control column presentation order\",\"name\":\"fields\",\"section\":\"Data\",\"default_value\":\"number,short_description,assigned_to\",\"label\":\"Fields - Recommended maximum of 4 fields, comma delimited, and order controls column presentation\",\"type\":\"string\"},{\"hint\":\"User defined field labels in order of field list\",\"name\":\"field_labels\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Field Label Override - comma delimited and order must match Field List order\",\"type\":\"string\"},{\"hint\":\"Field name in table storing an image on the record\",\"name\":\"image_field\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Image Field\",\"type\":\"string\"},{\"hint\":\"Limit query results to current user. Expects field named - assigned_to\",\"name\":\"limit_to_user\",\"section\":\"Data\",\"default_value\":\"true\",\"label\":\"Limit to User - Limit query results to current user. Expects field named - assigned_to\",\"type\":\"boolean\"},{\"hint\":\"Additional query parameters to help reduce data set\",\"name\":\"encoded_query\",\"section\":\"Data\",\"label\":\"Additional Data Filter - using Encoded Query format, e.g.  active=true^start_date=today\",\"type\":\"string\"},{\"hint\":\"Service Portal target page to view data in a larger list\",\"name\":\"list_page\",\"section\":\"Data\",\"label\":\"List Page Target - Target Page for View All panel header link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"Service Portal target page to view or edit an individual item\",\"name\":\"detail_page\",\"section\":\"Data\",\"label\":\"Detail Page Target - Detail page target for item menu 'View Details' link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"View to use when target detail page is 'form', leave empty to use 'default' view\",\"name\":\"view\",\"section\":\"Data\",\"default_value\":\"default\",\"label\":\"Detail Page View - View to use when target detail page is 'form', leave empty to use 'default' view\",\"type\":\"reference\",\"value\":\"sys_ui_view\",\"ed\":{\"reference\":\"sys_ui_view\"}},{\"hint\":\"Show the Panel's Header Div\",\"name\":\"show_panel_header\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Show Widget's Panel Header\",\"type\":\"boolean\"},{\"hint\":\"Text to display in the Panel's Header. Depends on Show Panel Header being True.\",\"name\":\"panel_header_text\",\"section\":\"Behavior\",\"default_value\":\"\",\"label\":\"User defined Panel Header Text\",\"type\":\"string\"},{\"hint\":\"Show the Panel's Footer Div\",\"name\":\"show_panel_footer\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Show Panel Footer\",\"type\":\"boolean\"},{\"hint\":\"Additional item menu links to Service Catalog\",\"name\":\"sc_cat_item\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Service Catalog Menu Items - Sys ID of catalog items as comma delimited, links added to item's action menu\",\"type\":\"string\"},{\"hint\":\"Pass the Item's Sys ID as a parameter to the Catalog Item selected\",\"name\":\"sc_item_id\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Pass Item's Sys ID to Service Catalog Item\",\"type\":\"boolean\"},{\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"none\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},{\"hint\":\"Navigate tiles by using a page control\",\"name\":\"list_pagination\",\"section\":\"Behavior\",\"default_value\":\"0\",\"label\":\"Tiles Pagination - Tiles to display per Page\",\"type\":\"choice\",\"choices\":[{\"label\":\"2\",\"value\":\"2\"},{\"label\":\"3\",\"value\":\"3\"},{\"label\":\"4\",\"value\":\"4\"},{\"label\":\"6\",\"value\":\"6\"},{\"label\":\"8\",\"value\":\"8\"},{\"label\":\"9\",\"value\":\"9\"},{\"label\":\"12\",\"value\":\"12\"},{\"label\":\"16\",\"value\":\"16\"}]},{\"name\":\"maxrecords\",\"section\":\"Behavior\",\"default_value\":\"500\",\"label\":\"MAX Record Count\",\"type\":\"string\"},{\"name\":\"order_by\",\"section\":\"Data\",\"default_value\":\"sys_created_on\",\"label\":\"Order By Field\",\"type\":\"string\"},{\"name\":\"order_by_direction\",\"section\":\"Data\",\"default_value\":\"false\",\"label\":\"Use Order By in Descending Order\",\"type\":\"boolean\",\"choices\":\"\"},{\"hint\":\"Show all Date/Time fields as 1 - 'MM/DD/YYYY', 2- 'hh:mm:ss' , 3- 'MM/DD/YYYY hh:mm:ss', or 4 - No Format\",\"name\":\"show_date_time\",\"section\":\"Presentation\",\"default_value\":\"4\",\"label\":\"Date/Time Formatting - 1 - 'MM/DD/YYYY', 2- 'hh:mm:ss' , 3- 'MM/DD/YYYY hh:mm:ss', or 4 - No Format\",\"type\":\"choice\",\"choices\":[{\"label\":\"1\",\"value\":\"1\"},{\"label\":\"2\",\"value\":\"2\"},{\"label\":\"3\",\"value\":\"3\"},{\"label\":\"4\",\"value\":\"4\"}]}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/*\n\t\tWidget: Enhanced List\n\t\tVersion/Date: v1.0 - Nov 2018\n\t\tBy: Solution Innovation - Factory\n\t\tPurpose: Provide a flexible, enhanced feature set, and a more configurable version\n\t\t\t\t\t\t of the Service Portal Out of the Box Simple List widget.\n\t\t\n\t*/\n\t\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\t\n\t//Get Option (Instance) Schema Configuration values\n\toptions.list_pagination = parseInt(options.list_pagination);\n\toptions.show_panel_header = (options.show_panel_header=='true');\n\toptions.show_panel_footer = (options.show_panel_footer=='true');\n\toptions.limit_to_user = (options.limit_to_user=='true');\n\toptions.order_by_direction = (options.order_by_direction=='true');\n\toptions.sc_item_id = (options.sc_item_id=='true');\n\t\n\n\t/* 'q' - URL parameter for adding a filter to the dataset dynamically */\n\toptions.encoded_query = options.encoded_query || $sp.getParameter('q');\n\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tdata.instance_table = {\n\t\tcount: 0,\n\t\tdataSet : [],\n\t\tdateformat: options.show_date_time,\n\t\tdetail_page: undefined,\n\t\tdetail_view: undefined,\n\t\tdirection: options.order_by_direction,\n\t\tfieldLabels: [],\n\t\tfieldSplit: [],\n\t\tfields : options.fields || $sp.getParameter('f'),\n\t\timage: options.image_field,\n\t\tisValid : false,\n\t\titemMenu: [],\n\t\tlabel : undefined,\n\t\tlist_page: undefined,\n\t\tname : $sp.getParameter('t'), // - not sure we want to use the URL Param with this ??? \n\t\torder_by : options.order_by,\n\t\tpages: [],\n\t\tshowActions: false,\n\t\tsys_id: options.table,\n\t\tviewby: options.list_pagination\n\t};\n\n\ttry{\n\t\t/* Get the Panel's Header Text*/\n\t\tvar grTableMeta = new GlideRecordSecure('sys_db_object');\n\t\tif(data.instance_table.name){\n\t\t\tgrTableMeta.addQuery('name',data.instance_table.name);\t\n\t\t}else{\n\t\t\tgrTableMeta.addQuery('sys_id',data.instance_table.sys_id);\t\n\t\t}\n\t\t\n\t\tgrTableMeta.query();\n\t\t\n\t\tif(grTableMeta.next()){\n\t\t\tdata.instance_table.sys_id = grTableMeta.getUniqueValue();\n\t\t\tdata.instance_table.name = grTableMeta.getDisplayValue('name');\n\t\t\tdata.instance_table.label = grTableMeta.getDisplayValue('label');\n\t\t}else{\n\t\t\tdata.missingConfig = true;\n\t\t\treturn;\n\t\t}\n\n\t\toptions.panel_header_text = options.panel_header_text || data.instance_table.label;\n\n\t\t\n\t\t// If provided, get the sys_id of the List Page from the Option (Instance) Schema\n\t\tif (options.list_page) {\n\t\t\tvar list_page = GlideRecordSecure('sp_page');\n\t\t\tif (list_page.get(options.list_page))\n\t\t\t\tdata.instance_table.list_page = list_page.getDisplayValue('id');\n\t\t}\n\n\t\t// If provided, get the sys_id of the Detail Page from the Option (Instance) Schema\n\t\tif (options.detail_page) {\n\t\t\tvar detail_page = GlideRecordSecure('sp_page');\n\t\t\tif (detail_page.get(options.detail_page)){\n\t\t\t\tdata.instance_table.detail_page = detail_page.getDisplayValue('id');\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t\t// If provided, get the name of the View from the Option (Instance) Schema\n\t\tif (options.view) {\n\t\t\tvar view_name = GlideRecordSecure('sys_ui_view');\n\t\t\tif (view_name.get(options.view))\n\t\t\t\tdata.instance_table.detail_view = view_name.getDisplayValue('name');\n\t\t}\n\t\t\n\t\t/* Table to use */\n\t\t//grValid - Used for table and field validation only\n\t\tvar grValid = new GlideRecord(data.instance_table.name);\n\t\tvar grTable = new GlideRecordSecure(data.instance_table.name); // does ACL checking for us\n\n\t\t//Validate if table exists\n\t\tdata.instance_table.isValid = grValid.isValid();\n\t\tif(!data.instance_table.isValid){\n\t\t\tthrow('Missing Table Configuration');\n\t\t}\n\n\t\n\n\t\t// If select, limit the results to the current user based on the Option (Instance) Schema\n\t\tif(options.limit_to_user){\n\t\t\tgrTable.addQuery('assigned_to',currentUser.getID());\n\t\t}\n\n\t\t// If provided, append the additional filter criteria to the GlideRecord from the Option (Instance) Schema\n\t\tif(options.encoded_query){\n\t\t\tgrTable.addEncodedQuery(options.encoded_query);\n\t\t}\n\n\t\t// Lets figure out the fields we are going to need\n\t\tvar fields = data.instance_table.fields || \"\";\n\t\tfields = data.instance_table.fields.split(',');\n\n\t\t// Lets figure out how we are going to label the fields\n\t\tvar labels = options.field_labels;\n\t\tif(labels.length&gt;0){\n\t\t\tlabels = options.field_labels.split(',');\n\t\t}else{\n\t\t\tlabels = [null];\n\t\t}\n\n\t\t// If provided, lets figure out the image situation and push it as the first field in the data array\n\t\tif(data.instance_table.image){\n\t\t\tfields.splice(0,0,data.instance_table.image);\n\t\t\tlabels.splice(0,0,null);\n\t\t}else{\n\t\t\tfields.splice(0,0,null);\n\t\t\tlabels.splice(0,0,null);\n\t\t}\n\t\t\n\t\t// Lets fix all the labeling\n\t\tlabels.forEach(function(el,idx){ \n\t\t\tif(el != null &amp;&amp; el.length &gt; 0){\n\t\t\t\tlabels[idx] = el; \n\t\t\t}else if(el == null){\n\t\t\t\tlabels[idx] = null; \n\t\t\t}\n\t\t});\n\n\t\t// Stuff the fields and labels into the Instance Table data variable\n\t\tdata.instance_table.fieldLabels = labels;\n\t\tdata.instance_table.fieldSplit = fields;\n\n\t\t// Get the MAX Record count - to minimize and mitigate LARGE data pulls\n\t\tdata.maxCount = options.maxrecords;\n\t\tgrTable.setLimit(data.maxCount);\n\t\t\n\t\t// If provided, set the orderBy parameter of the GlideRecord from the Option (Instance) Schema\n\t\tif(grValid.isValidField(data.instance_table.order_by)){\n\t\t\tif(options.order_by_direction){\n\t\t\t\tgrTable.orderByDesc(data.instance_table.order_by);\t\n\t\t\t}else{\n\t\t\t\tgrTable.orderBy(data.instance_table.order_by);\n\t\t\t}\n\t\t}\n\t\t\n\t\t// LETS GO!\n\t\tgrTable.query();\n\t\twhile(grTable.next()){\n\t\t\t//Lets build our data set\n\t\t\tvar record = {};\n\t\t\trecord.sys_id = { displayValue: grTable.getUniqueValue(), value: grTable.getUniqueValue() };\n\n\t\t\t//Only need the fields based on the Option (Instance) Schema\n\t\t\tfor(var x=0;x&lt;fields.length;x++){\n\t\t\t\tif(fields[x] &amp;&amp; fields[x] !== null){\n\t\t\t\t\tvar f = getField(grTable,fields[x]);\n\t\t\t\t\tif(f.displayValue != ''){\n\t\t\t\t\t\tif(labels[x] &amp;&amp; labels[x]!==null){\n\t\t\t\t\t\t\tf.label = labels[x];\n\t\t\t\t\t\t}\n\t\t\t\t\t\trecord[fields[x]] = f;\n\t\t\t\t\t}else{\n\t\t\t\t\t\trecord[fields[x]] = { displayValue: undefined, value: undefined, type: undefined, label: fields[x]};\t\n\t\t\t\t\t}\t\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.instance_table.dataSet.push(record);\n\t\t}\n\n\t\tdata.instance_table.count = grTable.getRowCount();\n\t\t\n\t\t//Show message if the MAX record count was reached\n\t\tif(data.instance_table.count &gt;= data.maxCount){\n\t\t\tgs.addInfoMessage('MAX record count reached for Widget - '+ options.panel_header_text +'. MAX Records displayed: ' + data.maxCount);\n\t\t}\n\n\t\t//Lets figure out the pagination situation\n\t\tif(data.instance_table.viewby&gt;0 &amp;&amp; data.instance_table.count&gt;0){\n\t\t\tvar pages = parseInt(data.instance_table.count / options.list_pagination);\n\t\t\tvar last_page = data.instance_table.count % options.list_pagination;\n\t\t\tdata.pages_value = pages;\n\t\t\tif(pages &lt;= 0){\n\t\t\t\toptions.list_pagination = 0;\n\t\t\t}else{\n\t\t\t\toptions.show_panel_footer = true;\n\t\t\t\tfor(var m=0; m &lt; pages; m++){\n\t\t\t\t\tdata.instance_table.pages.push( m+1 );\n\t\t\t\t}\n\t\t\t\tif(last_page &gt; 0){\n\t\t\t\t\tdata.instance_table.pages.push( pages+1 );\n\t\t\t\t}\n\t\t\t}\n\t\t}else{\n\t\t\tdata.instance_table.viewby = data.instance_table.count;\n\t\t}\n\n\t\t//Lets append the catalog items to the individual item's submenu\n\t\tif(options.sc_cat_item){\n\t\t\tvar sc_items = new GlideRecordSecure('sc_cat_item');\n\t\t\tsc_items.addActiveQuery();\n\t\t\tsc_items.addEncodedQuery('sys_idIN'+options.sc_cat_item);\n\t\t\tsc_items.query();\n\t\t\tdata.instance_table.itemMenu = [];\n\t\t\twhile(sc_items.next()){\n\t\t\t\tdata.instance_table.itemMenu.push({\n\t\t\t\t\ttitle : sc_items.getDisplayValue('name'),\n\t\t\t\t\tsys_id : sc_items.getUniqueValue()\n\t\t\t\t});\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\tgs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n\t/* Function to Get our Field info */\n\tfunction getField(gr, name) {\n\t\tvar f = {};\n\t\tf.field = name;\n\t\tf.displayValue = gr.getDisplayValue(name);\n\t\tf.value = gr.getValue(name);\n\t\t\n\t\tvar ge = gr.getElement(name);\n\t\tif (ge == null)\n\t\t\treturn f;\n\n\t\tf.type = ge.getED().getInternalType();\n\t\tf.label = ge.getLabel();\n\t\treturn f;\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-21 00:05:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;116d24174fb9a30005be4d6e0210c7b2&lt;/sys_id&gt;&lt;sys_mod_count&gt;182&lt;/sys_mod_count&gt;&lt;sys_name&gt;Enhanced List as Tiles&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_116d24174fb9a30005be4d6e0210c7b2&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-13 17:01:15&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='panel panel-warning' ng-if='::c.data.missingConfig'&gt;\n  &lt;div class='panel-heading' aria-label='Missing Configuration'&gt;\n    Missing Configuration\n  &lt;/div&gt;\n  &lt;div class='panel-body bg-warning'&gt;\n    &lt;div ng-if='::!c.table.isValid'&gt;\n      Please configure a table in the Instance Options (Ctrl+RightClick)\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;!-- your widget template --&gt;\n&lt;/div&gt;\n&lt;div class='panel panel-{{options.context}}' ng-if='::c.data.missingConfig==false'&gt;\n  &lt;div class='panel-heading' ng-if='::options.show_panel_header'&gt;\n    &lt;div class='panel-title'&gt;\n      {{::options.panel_header_text}}\n      &lt;div class=\"panel-menu\" ng-if='c.table.list_page'&gt;\n        &lt;span ng-click='headerMenu()' title='View All' aria-label='View All'&gt;View All&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class='panel-body bg-{{options.context}}' ng-if=\"c.table.dataSet.length &lt;= 0\"&gt;\n    No Data Available\n  &lt;/div&gt;\n  &lt;div class='panel-body panel-nopadding' ng-if=\"c.table.dataSet.length &gt; 0\" &gt;\n    &lt;div class='panel-nopadding'&gt;\n      &lt;div class='panel panel-default panel-nopadding panel-tile' \n           ng-class=\"{'panel-tile-md':ifWidth('md'),'panel-tile-sm':ifWidth('sm'),'panel-tile-xs':ifWidth('xs'), 'panel-full' : $index==0 &amp;&amp; $last }\" \n           ng-repeat=\"item in c.table.dataSet.slice(((c.currentPage-1)*c.itemsPerPage), ((c.currentPage)*c.itemsPerPage)) track by item.sys_id.value\"&gt;\n        &lt;div class='panel-body data-item'&gt;\n          &lt;div class=\"data-title\"&gt;\n            &lt;a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.detail_page' title='{{::item[c.table.fieldSplit[1]].displayValue}}' aria-label='{{::item[c.table.fieldSplit[1]].displayValue}}'&gt;\n              {{::item[c.table.fieldSplit[1]].displayValue}}\n            &lt;/a&gt;  \n            &lt;span ng-if='!options.detail_page' title='{{::item[c.table.fieldSplit[1]].displayValue}}' aria-label='{{::item[c.table.fieldSplit[1]].displayValue}}'&gt;\n              {{::item[c.table.fieldSplit[1]].displayValue}}\n            &lt;/span&gt;\n          &lt;/div&gt;\n          &lt;div&gt;\n            &lt;div class='data-img' ng-if='c.table.image &amp;&amp; item[c.table.image].displayValue'&gt;\n              &lt;img src='{{::item[c.table.image].displayValue}}' ng-if='!options.detail_page'/&gt;\n              &lt;a href ng-click='goItem(item)' style='cursor:pointer;' ng-if='options.detail_page'&gt;\n                &lt;img src='{{::item[c.table.image].displayValue}}'/&gt;\n              &lt;/a&gt;\n            &lt;/div&gt;\n\n            &lt;div class='data-details'&gt;\n              &lt;div ng-repeat=\"field in c.table.fieldSplit track by $index\" ng-if='$index&gt;1 &amp;&amp; field!=c.table.image'&gt;\n                \n                &lt;span ng-switch=\"item[field].type\" title=\"{{::item[field].label}}\"&gt;\n                  &lt;span class='txt-capitalize' ng-if='!item[c.table.image].displayValue'&gt;&lt;span class='details-label'&gt;{{::item[field].label}} :&lt;/span&gt; &lt;/span&gt;\n                  &lt;span ng-switch-when=\"glide_date_time\"&gt;\n                    &lt;span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\"&gt;\n                      &lt;sn-time-ago timestamp=\"::item[field].value\" /&gt;\n                    &lt;/span&gt;\n                    &lt;span ng-if=\"c.table.dateformat!=='4'\"&gt;{{::getFormat(item[field].value,c.table.dateformat)}}&lt;/span&gt;\n                  &lt;/span&gt;\n\n                  &lt;span ng-switch-when=\"glide_date\"&gt;\n                    &lt;span ng-if=\"c.table.dateformat==='4'\" title=\"{{::item[field].label}}\"&gt;\n                      &lt;sn-time-ago timestamp=\"::item[field].value\" /&gt;\n                    &lt;/span&gt;\n                    &lt;span ng-if=\"c.table.dateformat!=='4'\"&gt;{{::getFormat(item[field].value,c.table.dateformat)}}&lt;/span&gt;\n                  &lt;/span&gt;\n\n                  &lt;span ng-switch-default=\"\"&gt;{{::item[field].displayValue}}&lt;/span&gt;\n                &lt;/span&gt;\n                &lt;br ng-if='!$last'/&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class='panel-footer data-panel-footer'&gt;\n          &lt;div class='pull-left data-menu-view' ng-click='itemMenu(item,\"view\")' ng-if='c.table.detail_page'&gt;View Details&lt;/div&gt;\n          &lt;div class='pull-right' ng-if='c.table.showActions'&gt;\n            &lt;div class=\"data-menu btn-group\"&gt;\n              &lt;button class=\"btn btn-menu toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" aria-haspopup=\"true\"&gt;&lt;i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/button&gt;\n              &lt;ul class=\"dropdown-menu dropdown-menu-right\"&gt;\n                &lt;li ng-if='options.sc_cat_item' ng-repeat='menuItem in c.table.itemMenu' ng-click='itemMenu(item.sys_id.value,\"sc\",menuItem.sys_id)'&gt;{{::menuItem.title}}&lt;/li&gt;\n              &lt;/ul&gt;\n            &lt;/div&gt;  \n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class='panel-footer' ng-class=\"{ 'pagenav-footer' : (options.list_pagination != 0) }\" ng-if='::options.show_panel_footer'&gt;\n    &lt;div class='pull-right' ng-if='(options.list_pagination != 0)'&gt;\n      &lt;div ng-click='setPageNext(-1)' class='pagenav-padding pull-left'&gt;\n        &lt;i class=\"fa fa-step-backward\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n      &lt;div class='pagenav-padding pagenav-select pull-left'&gt;\n        &lt;select ng-change=\"setPage()\" ng-model='c.selectedItem' ng-options=\"page for page in c.table.pages track by page\"&gt;&lt;/select&gt;\n      &lt;/div&gt;\n      &lt;div ng-click='setPageNext(1)' class='pagenav-padding pull-right'&gt;\n        &lt;i class=\"fa fa-step-forward\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n\n\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-268370793</payload_hash>\n<remote_update_set display_value=\"Enhanced List as Tiles\">cd2cbc264f67ef0005be4d6e0210c718</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 17:03:28</sys_created_on>\n<sys_id>052cbc264f67ef0005be4d6e0210c719</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e7ce2d020000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 17:03:28</sys_updated_on>\n<table/>\n<target_name>Enhanced List as Tiles</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>d4abb4262267ef000d77c57fe802fc32</update_guid>\n<update_guid_history>d4abb4262267ef000d77c57fe802fc32:-268370793,d5baa550a5e32b0040564b7391fd4c45:448535320,537ae150bde32b005141ef096b6daea7:-729540896,6345291c1da32b0040eb9b7f7907056d:-1675927733,92c4e51c99a32b00c5d39e159c2b3cc4:-1051348511,2622f2898feee7403059b49a4feb5765:-1835544239,d8481e4d3e6ee74002ea65bc6d1d0094:491393169,42289a4df86ee7407934874b1227d94d:704747209,e384da49a16ee740450bda23f58d8f47:491393169,6b445649346ee74066987beb7825b25d:600815821,055f45d4df9a2b00bb3b9931bf193a04:491393169,762f85d4049a2b00a461b6c35e19ffe3:-1023014263,4d0f41d4419a2b00764e204b2aa01c9a:724579405,f6ce8d94f59a2b001772642502193e04:570414067,a37e4194e99a2b003685cf1553a1f102:-921759478,8f4ec594709a2b0071daec97558f900f:-1063564297,fbed8594fb9a2b00353b0686ea7e70fe:-30899486,4b6d0194ce9a2b00b7a50c64b4f009ae:-1483072560,bc1c8914f39a2b0098672e5d90299902:124680891,80fb0d14199a2b00861f30263b2cee09:1258970130,238b8514e49a2b00beade11712ff7a8b:1919855662,95ea4d90e69a2b00b82e6aca4970e899:-152934912,10b98990529a2b001ee76cdf5d4d0db0:1665533505,aa798990489a2b001c7127cca9b695a5:370802880,e559c590999a2b007f6581e32ac5f106:-162712351,f2190590369a2b002bdc7b4c04b7977e:-1728125577,b1c88d50f29a2b0005f5cad43f4be861:-1142484377,468e8ccc199ae70074c2847c952707eb:-1868670539,e5c8f7d563c62300075917da050110e5:-687565104,ec030c1533026f00f973a3ad9f1a0185:-1499113623,96024cd1cf026f00822fc69b7c006c5f:-1387257126,6cf188d199026f0046a85ba09a9fc8f2:-1456912772,8cb0c4dd6fce2f000d1fd1a8ea6fea96:-1387257126,5350c8dd6fce2f00802e3266aa6be3ce:-1499113623,e15088ddeece2f0066a1f56740a9b3e1:-110019661,c82008dd84ce2f0075229d16c624435b:1741547105,46cf77cde9ce2f0011da7cc7726f5251:-1504279913,5cafff8d9bce2f00e612c23fe41bc515:-2128877568,d64fbf8d9ace2f00d89be7669a645f82:371959041,860fbb8da0ce2f00844de52ee9b3bcb1:-1389525461,817ebb4d04ce2f0041d683093eb9d44a:693261522,a8adf34dd3ce2f00b5633553babb9ca3:1189596620,242dbb0d47ce2f00f8bf4e8234e46a92:254419575,122176c15eca2f00ce54845024b2b566:-2131907693,94407a81e7ca2f00f0f237e5cf606ffd:-1782847598,65af62815dca2f00cd318a14ddcd63c8:-1364745902,199f2a41eaca2f00103488f7605194cf:1932450737,302fe24125ca2f009b5e97096e9edb70:-647831118,7e0fe241f5ca2f001bee2eb325bf2a84:-913120126,586e6e0122ca2f001b0256fea093aeeb:941538302,be4d6a8dcd8a2f009d24a9471d700e1a:1883974946,c51daecded8a2f00bb7a31710dbe34a7:-539354690,525ba28d008a2f00800657888195c058:-1676712366,d4daee0d4c8a2f009f16a0076239c1dc:-691368713,477a6689748a2f005d5dbfeeb6f4d658:737805721,87b7a2894a8a2f00efa892dbe469cfdc:1547290162,7b87a289368a2f00e8174d0b3e91ef97:146091417,c2376a494c8a2f00b20cbf865008b0a0:-784511091,4207ea49ae8a2f009c577b2042222910:1602694699,c9f66e09538a2f0080e44b08230fd73e:939219293,3b66ea09558a2f00530eda4c20cdb9a3:1860839301,d3162e09658a2f001776de0e0cd20a7b:1518746289,aa06ea09c78a2f0007d141be72c48a9c:2012729697,5ad5eac5c38a2f008c5e79b8102571e3:2132285183,c3b4a6c5c78a2f004d3ddc85ef844f43:-403470285,7e8422c5b28a2f003f4a1f87f310c92b:1345215209,7964ee857e8a2f00df67cb8b11a43940:509228308,52246e05838a2f00643251a53e0498d6:-458975223,c1816e05798a2f001586102a8b4d7d9b:1243409748,d5da1a8d514a2f00b9051ac852141088:926779837,324ad68d6d4a2f00b9e722cae0a51f4c:919426967,8e2a168db24a2f003778304d036e98b9:-634097984,88e99a4dc74a2f00cd4c7a6b48d4631c:1608461077,e4651a49ef4a2f0044fa5bda8f631922:1487033555,4f749249cd4a2f0094ca76533c292e4f:-1159633242,aa01bc3fd7f127002df8374703191028:432904228,00dd683b7ef12700b567d12cb5f8e8e7:-584115735,e7da28f789f127004195c5bdbbbc0faa:208397480,c50a6cb745f12700963991bc3d36d002:-206278874,cb59ec7706f1270038b34cf5d8888c99:1641499308,1039a0b76ef127007a6fef7ac8c4c8fc:-902400096,f0b8e877c7f1270055d488a28271ba02:-1019011068,ab933c2b7ff5e3007c5279ca70297826:1190956955,aba5e86b7bb5e30084318fd2e59debef:1402609777,4395686b7cb5e300a788bc07d15d26f0:-671465023,1645e46ba2b5e30077bfa003c5ce3763:1116179621,3cf4206b6bb5e300a2ece5cfbb218c52:1155905533,3a84e82bc1b5e3001ec67bc873e07651:-546695298,22bb14ef5675e3008bf6bc808c71d7bc:2124752786,548b98ebe175e3004d6bb54daa31e4a6:144478484,e807d0eb5a75e3007f682903afd63b91:422510896,acc618abfc75e300f240a653099d622c:2001154668,2da614ab5e75e3004fb3be371188cdca:566344176,8976d8abcd75e300eb4121f7e7735443:-378801762,8ff5dc6b4a75e3007cf4b4c1ee9b4734:1161750471,94959c6b2b75e30099ce11ca62eb2b8c:-647861368,0964582bab75e300b1c24f0532e93b48:-708712055,70f3582bad75e300941aeaf723a50e2b:2114077603,ea4290e7b875e300a634b045d2417ce9:136480135,fc32dca73d75e300c047c937ce86177c:-112182779,3412dca77975e300acc2460bf6ff9669:-1948433426,0a8118a7ea75e30057d563fad5941bdc:189528742,935190a70775e300d2cb6ec9ecffb25c:984579794,be0198674a75e300b34e117298021ad4:1781166546,038098673d75e30038866fe1bb33c13c:-212838762,5fbf4827e875e3009148c7717c2fd77a:-1869489404,b48f0427af75e300ce6a8ca5b89493ca:2114806453,e73f4427c475e3002e946b11df4ceb3b:-170580737,b02f4ce3e875e3008aae5cee87383095:-1527789940,657ec4e3f675e30028a2e9f1f189f8ac:1186882359,d50e84e39675e30049c55a506e1a8eb8:-893592539,ca5d0ca3f375e3005dc054ce7539b9ce:707399382,983dc4a3c675e30062e409d7c155c0c9:-1447218529,da0d48630775e300281ad5efac24a933:588127623,afdb8463c175e3001bd1a1bf42ea8715:-1468349526,b0ab4c23a175e300467dab4b7191bbf8:-179334373,860b8cef3a35e300ff8ee469ea682d63:1887590525,540a8cef7135e3001026b8a0e66f6c1e:-937825087,f696c06f0035e3008c24d25b7ecfca9c:-1329670277,108640eb4835e30037bcad05bc71eed4:1542084827,4ef3ccab6435e3007ce02afa8427e4c5:-749884229,9cd304ab4735e30032cfede60f1aeebd:1991553611,4213c0abd135e300eb9881f41724df59:870974287,8703c86b2c35e300829ed332ece964f2:-707798688,9ff2c86be435e3008b6e802a83dfc375:-1533343298,ba0ca7d7bff1e3004cd0b68f01f60975:1399647210,f2592757b2f1e3000f984403ff9d75b5:772354974,7f39e35794f1e300df702151ffddf528:-84558338,11a76f9344f1e3005a26ddcf22fdd57b:-540528494,7f672f93a5f1e3007422b10ca2d59e06:415214530,3bb6eb9364f1e300865adb0547477a7d:864255487,11762393b6f1e3002a56ce90b8cd8f84:1034362687,6ed5ef5329f1e300f48ee446e7704860:-330803663,d3a16b9f48b1e3007fa1bf59873f83f5:-1057333073,64a16b9f87b1e30086929d26ab14e6ee:1453663093,e351a79f32b1e300d2e750017067123c:611911575,e931279f75b1e300e379b0f3c55cc91a:1164149332,96d0af5fb4b1e300f26a41d08e96429a:-1458478200,d3b02f5fceb1e3006eb683ea80d956da:1573520370,30b02f5f20b1e300063412e3a8e8ef60:-264322797,879f5f1fa7b1e3000e181272cc7cb608:-147512660,e65f9b1f7fb1e300724f64f94e4975b2:-481323321,55ee9fdba9b1e300cc40f47acb972979:-804485654,1cbed31f0cb1e3001b850dd263f46928:-371547869,db8edfdbeab1e30033d7b9783925ad2f:1699766807,0f6e93db2ab1e300d5052a8ce7ff1ef3:719419684,078d9f9ba9b1e3007f97c023bd8b9332:996503611,af3bfc13faf9a3009b2880424b513cff:1172894267,396a38df79b9a300646ce866e748ea99:1527096486,d088389f82b9a3001046ef3d093dc3e8:-874288100,f878349f40b9a300199d1f7db3cea1ef:990125180,b148749fd9b9a30069cdac1147638fca:37603131,ab28345fe3b9a30037954c4508a8b0da:-823043456,9db6305f35b9a300677a53d410ed50b2:-517641713,f0a67c1f73b9a30069b25974f8fb6cb1:-353414637,0c06b01f7cb9a300f3cb8cdd6962e423:-1576714738,c395701f6db9a3001020332e9430697f:-474686697,80b430dbf9b9a30082b14f316f7ed024:-1023751580,368430db16b9a3006644f4261984a81d:-1003337487,1654f89b30b9a300f70b4730574a8c4f:405976950,d044f89b17b9a30035df49c43877b9e5:1354359440,14e3f89b9eb9a300818ea8a8b709d93c:-1713431007,0543b09bcab9a30087bb8e811eac77cc:-1942395917,3d13bc5be2b9a30078398092f6f900f7:589446540,67f2bc5beab9a300d680d69671f8eee8:1758773622,71e2f85bccb9a3004a0116fb2679dcb7:-80901431,f222b81b1bb9a300e3e2a8290010bd2b:-396136373,f9e1b41bc2b9a30035093e7fe1aa1392:-1368455996,08a17cd7a6b9a300c0b45d688c9c4d29:566462076,54517cd784b9a300d698a8df498e1e20:-905678129,3b01b8d793b9a300d55e9af470861a28:1466921320,b7d0bc9764b9a300f13903a148da207e:593853537,17c038d7dcb9a300b597959ead029f2c:351435834,9480f0d787b9a300fcefa94ab3ba6541:-1006528520,0970f0d70cb9a300db782aeb07f3253a:1919136536,8110f897f8b9a3003bf16c4425302379:255382559,c3dfe09791b9a300a7c8520b4b46a12a:-1484372583,7c4f6c57b8b9a30058abfa5a1ebed9ea:-212448439,ceeea45715b9a3002e4365fcf501cce9:2033206289,e1de2c57dab9a3007ee4acda107500bc:1922488954,47ed2c172fb9a30089034005eded3686:-836077476,20dd68170ab9a300924aad7c94a27276:-2063946626,288da4172cb9a3002adc3f6f9589430b:-1707101087</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/widget/pe-enhanced-list-and-tiles.u-body-html-template.html",
    "content": "<div class=\"fvpbtn-container\">\n  <div class=\"fvp fade\" \n       ng-class=\"{'open': $fvp.isWindowVisible}\">\n    <div class=\"fvp-outer-wrapper\">\n      <div class=\"fvp-wrapper loaded\">\n        <div class=\"fvp-container\">\n          <iframe id='fvpFrame' class=\"fvp-frame\"\n                  scrolling=\"no\"\n                  horizontalscrolling=\"no\"\n                  verticalscrolling=\"no\"\n                  frameborder=\"none\" \n                  ng-src=\"{{$fvp.source}}\">\n          </iframe>\n        </div>\n      </div>\n    </div>\n  </div>\n  <button aria-label=\"${$fvp.options.aria_button_label}\" \n          class=\"fvp-button\"\n          ng-style=\"{'background-color': options.button_color}\"\n          ng-attr-tabindex=\"0\"\n          ng-class=\"{'state-open': $fvp.isWindowVisible, 'state-unread': $fvp.hasUnreadMessages}\" \n          ng-click=\"$fvp.toggleWindow()\"\n          ng-attr-tabindex=\"0\">\n    <div class=\"hover-overlay\"></div>\n    <span aria-hidden=\"true\"\n          ng-class=\"$fvp.isWindowVisible ? 'fvp-icon icon-close icon-cross' : 'fvp-icon fa-icon'\"\n          ng-hide='$fvp.alt_icon'><i class='fa {{$fvp.options.fa_icon}}' aria-hidden='true' ng-hide='$fvp.isWindowVisible'></i></span>\n    <span aria-hidden=\"true\"\n          ng-class=\"$fvp.isWindowVisible ? 'fvp-icon icon-close icon-cross' : 'fvp-icon icon-open {{$fvp.options.retina_icon}}'\"\n          ng-hide='!$fvp.alt_icon'></span>\n  </button>  \n</div>"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/widget/pe-enhanced-list-and-tiles.u-client-script.js",
    "content": "function SPFloatingViewport($log, $scope, $element, $document, spModal, $q, $timeout, $window) {\n\t'use strict';\n\n\t/* widget controller */\n\tvar $fvp = this;\n\tvar $spContainer = $document.find('.sp-page-root');\n\tvar $widgetParent = $element.parent();\n\n\t$fvp.alt_icon = ($fvp.options.use_retina_icon=='true');\n\t$fvp.isWindowVisible = false;\n\t$fvp.hasUnreadMessages = false;\n\t$fvp.firstPress = false;\n\t$fvp.source = '';\n\t\n\t$fvp.toggleWindow = function() {\n\t\tif ($fvp.isWindowVisible) {\n\t\t\t$fvp.isWindowVisible = false;\n\t\t\t$timeout(function() {\n\t\t\t\tif (!$fvp.isWindowVisible) {\n\t\t\t\t\t$element.find('.fvp-container').css(\"display\", \"none\");\n\t\t\t\t\t$element.find('.fvp-outer-wrapper').css(\"display\", \"none\");\n\t\t\t\t\t$element.find('.fvp-wrapper').css(\"display\", \"none\");\n\n\t\t\t\t\t// ios overlay hacky fix.\n\t\t\t\t\t$document.find('.touch_scroll').css(\"-webkit-overflow-scrolling\", \"touch\");\n\t\t\t\t}\n\t\t\t}, 300);\n\t\t} else {\n\t\t\tif (!$fvp.firstPress) {\n\t\t\t\t$fvp.firstPress = true;\n\t\t\t\tif($fvp.options.is_sp_page=='true'){\n\t\t\t\t\t$fvp.source = '/' + $scope.portal.url_suffix + '?id='+ $fvp.options.embedded_page +'&sysparm_nostack=true&sysparm_stack=no' + $fvp.options.url_system_parameters;\n\t\t\t\t}else{\n\t\t\t\t\t$fvp.source = '/' + $fvp.options.embedded_page +'?sysparm_nostack=true&sysparm_stack=no' + $fvp.options.url_system_parameters;\n\t\t\t\t}\n\t\t\t}\n\t\t\t$fvp.hasUnreadMessages = false;\n\t\t\t$element.find('.fvp-container').css(\"display\", \"block\");\n\t\t\t$element.find('.fvp-outer-wrapper').css(\"display\", \"block\");\n\t\t\t$element.find('.fvp-wrapper').css(\"display\", \"block\");\n\t\t\tif($fvp.options.is_sp_page=='true'){\n\t\t\t\t//Let's pause for a brief moment to let the iframe start loading the page.\n\t\t\t\t//Then we are going to strip off the nav header from the page.\n\t\t\t\t$timeout(function(){\n\t\t\t\t\t$scope.$broadcast('suppressHeader','fvpFrame');\t\n\t\t\t\t\t$fvp.isWindowVisible = true;\n\t\t\t\t},500);\n\t\t\t}else{\n\t\t\t\t$fvp.isWindowVisible = true;\n\t\t\t}\n\n\t\t\t// ios overlay hacky fix.\n\t\t\t$document.find('.touch_scroll').css(\"-webkit-overflow-scrolling\", \"auto\");\n\t\t}\n\t};\n\n\t$window.addEventListener(\"message\", function(e) {\n\t\tif ($fvp.isWindowVisible === false) {\n\t\t\t$fvp.hasUnreadMessages = true;\n\t\t}\n\t});\n\n\t$element.find('.help-button').on(\"mouseup\", function(e) {\n\t\te.target.blur();\n\t\te.stopPropagation();\n\t});\n\n\t$element.find('.help-icon').on(\"mouseup\", function(e) {\n\t\te.target.blur();\n\t\te.stopPropagation();\n\t});\n\n\t$fvp.openWindow = function() {\n\t\t$fvp.isWindowVisible = true;\t\t\n\t\t// delay before clearing unread message indicator\n\t\t// in-case user opens and closes quickly\n\t\t$timeout(function() {\n\t\t\tif ($fvp.isWindowVisible) {\n\t\t\t\t$fvp.hasUnreadMessages = false;\t\t\t\t\t\t\t\n\t\t\t}\n\t\t}, 500);\n\t};\n\n\tvar _closeWindow = function() {\n\t\t$fvp.isWindowVisible = false;\n\t};\n}"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/widget/pe-enhanced-list-and-tiles.u-css.css",
    "content": "$window-width: 375px;\n$window-height: 600px;\n$button-height: 60px;\n$bottom-margin: 15px;\n\n//Used by SP Virtual Agent\n$sn-chatbot-animation-speed: 300ms;\n\n// OVERRIDE TO DISPLAY RECORD CARDS\n.sn-card-component_records {\n  display: block !important;\n}\n\n.fvpbtn-container {\n  position: fixed;\n  right: 30px;\n  bottom: 15px;\n  z-index: 20;\n\n  .fvp {\n    position: relative;\n    opacity: 0;\n    visibility: hidden;\n\n\n    &.open {\n      transition: $sn-chatbot-animation-speed ease-in opacity;\n      opacity: 1;\n      visibility: visible;\n\n    }\n  }\n\n\n  .fvp-button {\n    position: relative;\n    width: 60px;\n    color: #fff;\n    float: right;\n    border: none;\n    height: $button-height;\n    border-radius: 60px;\n    box-shadow: 0px 2px 11px #ababab;\n    -moz-box-shadow: 0px 2px 11px #ababab;\n    -o-box-shadow: 0px 2px 11px #ababab;\n    padding: 0;\n\n    &::before {\n      content: \"\";\n      width: 60px;\n      height: 60px;\n      border-radius: 50%;\n      position: absolute;\n      top: 0;\n      left: 0;\n    }\n\n    &:hover::before {\n      background-color: rgba(0,0,0,0.2);\n    }\n\n\n    &:focus {\n      outline: thin dotted;\n      outline-color: gray;\n      outline: 5px auto -webkit-focus-ring-color;\n      outline-offset: 2px;\n    }\n\n\n    &.state-unread {\n      & > span:after {\n        content: ' ';\n        position: absolute;\n        top: -17px;\n        right: -14px;\n        width: 16px;\n        height: 16px;\n        background-color: #ed6e5c;\n        border-radius: 25px;\n      }\n    }\n    .fvp-icon {\n      pointer-events: none;\n      position: relative;\n      top: 50%;\n      -webkit-transform: perspective(1px) translateY(-50%);\n      -ms-transform: perspective(1px) translateY(-50%);\n      transform: perspective(1px) translateY(-50%);\n    }\n\n    .icon-open {\n      font-size: 28px;\n      position: relative;\n      line-height: 1;\n      top: 3px;\n    }\n\n    .icon-close {\n      font-size: 20px;\n    }\n    .fa-icon {\n      font-size: 28px;\n      position: relative;\n    }\n  }\n}\n\n// window sizing\n.fvp-outer-wrapper {\n  position: relative;\n  bottom: 15px;\n  right: 0;\n  display: none;\n\n  .fvp-wrapper {\n    width: $window-width; \n    transition: \n      border-bottom: 1px solid #bdc0c4;\n    margin-right: 0;\n    right: 0;\n    box-shadow: 0px 2px 11px #ababab !important;\n    -moz-box-shadow: 0px 2px 11px #ababab !important;\n    -o-box-shadow: 0px 2px 11px #ababab !important;\n    transition: max-height 0s $sn-chatbot-animation-speed;\n    display: none;\n\n    .fvp-container {\n      height: 100%;\n      display: none;\n\n      .fvp-frame {\n        max-height: $window-height;\n        height: calc(100vh - $button-height - ($bottom-margin * 3));\n        width: $window-width;\n        margin-bottom: -5px;\n        border: none;\n        overflow: hidden;\n        background-color: #fff;\n      }\n\n      // Immediate div is autogenerated from serviceportal\n      & > div {\n        height: 100%;\n      }\n    }\n  }\n}\n\n// Mobile SCSS\n@media (max-width: 425px) {  \n  .fvpbtn-container {\n    right: 15px;\n  }\n  .fvp-outer-wrapper{\n    .fvp-wrapper {\n      position: fixed;\n      max-height: 100%;\n      width: 100%;\n      left: 0;\n      right: 0;\n      bottom: calc($button-height + 20px);\n      top: 0;\n\n      .fvp-container {\n        position: absolute;\n        max-height: 100%;\n        width: 100%;\n        height: 100%;\n        left: 0;\n        right: 0;\n        top: 0;\n        bottom: 0;\n\n        .fvp-frame {\n          position: absolute;\n          width: 100%;\n          max-height: calc(100vh + 60px);\n          height: 100%;\n          left: 0;\n          right: 0;\n          top: 0;\n          bottom: 0;\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/widget/pe-enhanced-list-and-tiles.u-link-script.js",
    "content": "function link(scope,el,attrs,ctrl){\n\n\tscope.$on('suppressHeader', function(action,data){\n\n\t\tvar iframe = document.getElementById(data).contentDocument;\n\t\tvar nav;\n\n\t\tvar wait = setInterval(function(){\n\t\t\tnav = iframe.getElementsByTagName('nav')[0];\t\n\t\t\tif(nav!=undefined){\n\t\t\t\ttry{\n\t\t\t\t\tnav.style.display = 'none';\n\t\t\t\t}catch(e){\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}\n\t\t\t\tclearInterval(wait);\n\t\t\t}\n\t\t});\n\n\t});\n}"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/widget/pe-enhanced-list-and-tiles.u-option-schema.json",
    "content": "[{\"hint\":\"The color of the floating button which opens the floating dialog page.\",\"name\":\"button_color\",\"section\":\"Presentation\",\"default_value\":\"#428bca\",\"label\":\"Floating Button Color\",\"type\":\"string\"},{\"hint\":\"Service Portal Page to embed in the floating dialog\",\"name\":\"embedded_page\",\"section\":\"Presentation\",\"label\":\"Embedded Page\",\"type\":\"string\"},{\"hint\":\"Text for populating the button's ARIA label property\",\"name\":\"aria_button_label\",\"section\":\"Data\",\"default_value\":\"Open the Dialog\",\"label\":\"ARIA Button Label\",\"type\":\"string\"},{\"hint\":\"String of any additional System Parameters (sysparm_#) needed to support the embedded page.  Must start with the ampersand '&'.\",\"name\":\"url_system_parameters\",\"section\":\"Data\",\"label\":\"Additional URL System Parameters\",\"type\":\"string\"},{\"name\":\"is_sp_page\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Embedded Page is a Service Portal Page\",\"type\":\"boolean\"},{\"hint\":\"Text name of Retina Icon listed on HI - https://hi.service-now.com/styles/retina_icons/retina_icons.html\",\"name\":\"retina_icon\",\"section\":\"Presentation\",\"default_value\":\"icon-collaboration\",\"label\":\"Button Open - Retina Icon\",\"type\":\"string\"},{\"hint\":\"Provide the FontAwesome icon name  based on the FontAwesome 4.7 list - https://fontawesome.com/v4.7.0/icons/ - e.g. fa-comments-o\",\"name\":\"fa_icon\",\"section\":\"Presentation\",\"default_value\":\"fa-comments-o\",\"label\":\"Button Open - Font Awesome Icon\",\"type\":\"string\"},{\"name\":\"use_retina_icon\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Use Retina Icon\",\"type\":\"boolean\"}]"
  },
  {
    "path": "src/pe-enhanced-list-as-tiles/widget/pe-enhanced-list-and-tiles.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\t\n\toptions.embedded_page = options.embedded_page || \"\";\n\toptions.url_system_parameters = options.url_system_parameters || \"\";\n\t\n})();"
  },
  {
    "path": "src/pe-gantt-chart/README.md",
    "content": "# Gantt Chart\n\n## Description\n\nThis is used to create a simple Gantt Chart.\n\n## Screenshots\n\n![Gantt Chart](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-gantt-chart/images/pe-gantt-chart.png)\n\n![Gantt Chart Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-gantt-chart/images/gantt-chart-options.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-gantt-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-gantt-chart/pe-gantt-chart.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nWidget Options Schema:\n\n| Option    | Description       | Default Value |\n| :-------- | :---------------- | :------------ |\n| `Project` | List of projects. |               |\n\n## API Dependencies\n\n_Dependencies are included and configured as part of the provided Update Set._\n\n- DHTMLX Gantt Chart API (v 6.1 - Recommended) w/Export and No Data plug-ins\n  <br/>Latest version(s) available from [DHTMLX Gantt](https://docs.dhtmlx.com/gantt/)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-gantt-chart/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Gantt Chart\",\n  \"compatibility\": [\"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Claudia Cruz\"],\n  \"keywords\": [\"Widget\", \"Chart\"],\n  \"name\": \"pe-gantt-chart\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This is used to create a simple Gantt Chart.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-gantt-chart/pe-gantt-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-06-03 22:36:18\">\n    <sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <application_name>Dhtmlx Gantt Chart</application_name>\n        <application_scope>x_snc_dhtmlx_gantt</application_scope>\n        <application_version>1.0.0</application_version>\n        <collisions/>\n        <commit_date/>\n        <deleted/>\n        <description>This is used to create a simple Gantt Chart.\n            \n        </description>\n        <inserted/>\n        <name>Dhtmlx Gantt Chart</name>\n        <origin_sys_id/>\n        <parent display_value=\"\"/>\n        <release_date/>\n        <remote_base_update_set display_value=\"\"/>\n        <remote_parent_id/>\n        <remote_sys_id>9e272c82db75bf0005cfd4f3ce9619a4</remote_sys_id>\n        <state>loaded</state>\n        <summary/>\n        <sys_class_name>sys_remote_update_set</sys_class_name>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>a037a882db75bf0005cfd4f3ce9619b6</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <update_set display_value=\"\"/>\n        <update_source display_value=\"\"/>\n        <updated/>\n    </sys_remote_update_set>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>DELETE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_container_931e9bf9dbbd7f0005cfd4f3ce96190d</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Gantt Page - Container 2</name><order>2</order><sp_page display_value=\"gantt_page\">c11e9bf9dbbd7f0005cfd4f3ce961923</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:16:58</sys_created_on><sys_id>931e9bf9dbbd7f0005cfd4f3ce96190d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Gantt Page - Container 2</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_container_931e9bf9dbbd7f0005cfd4f3ce96190d</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:16:58</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n        <payload_hash>1976304790</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>203760c2db75bf0005cfd4f3ce9619e9</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51cc0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>Gantt Page - Container 2</target_name>\n        <type>Container</type>\n        <update_domain>global</update_domain>\n        <update_guid>442e1f3d77bd7f00a1d869357814f16a</update_guid>\n        <update_guid_history>442e1f3d77bd7f00a1d869357814f16a:1976304790,931e9bf92bbd7f008f91b49d61a7160e:1662013730</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>m2m_sp_widget_dependency_8c1127b1dbfd7f0005cfd4f3ce9619c5</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"dhtmlx-gantt-chart-v.6.1.6\">888fdbfddbbd7f0005cfd4f3ce961900</sp_dependency><sp_widget display_value=\"Gantt Chart DHTMLX\">419a17b5dbbd7f0005cfd4f3ce961940</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:29:52</sys_created_on><sys_id>8c1127b1dbfd7f0005cfd4f3ce9619c5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt-chart-v.6.1.6.Gantt Chart DHTMLX</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>m2m_sp_widget_dependency_8c1127b1dbfd7f0005cfd4f3ce9619c5</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:29:52</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n        <payload_hash>-644507159</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>243760c2db75bf0005cfd4f3ce9619e8</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c548e0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-v.6.1.6.Gantt Chart DHTMLX</target_name>\n        <type>Widget Dependency</type>\n        <update_domain>global</update_domain>\n        <update_guid>c81127b126fd7f0040cda91a706972c7</update_guid>\n        <update_guid_history>c81127b126fd7f0040cda91a706972c7:-644507159</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sys_app_eed75f71dbbd7f0005cfd4f3ce961988</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>none</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>Dhtmlx Gantt Chart</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_snc_dhtmlx_gantt</scope><scoped_administration>false</scoped_administration><short_description/><source>x_snc_dhtmlx_gantt</source><store_correlation_id/><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 16:49:38</sys_created_on><sys_id>eed75f71dbbd7f0005cfd4f3ce961988</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 16:49:38</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n        <payload_hash>-1347949033</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>243760c2db75bf0005cfd4f3ce9619eb</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51500000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>Dhtmlx Gantt Chart</target_name>\n        <type>Custom Application</type>\n        <update_domain>global</update_domain>\n        <update_guid>bed7df713bbd7f00fab0455b554fa857</update_guid>\n        <update_guid_history>bed7df713bbd7f00fab0455b554fa857:-1347949033</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_page_c11e9bf9dbbd7f0005cfd4f3ce961923</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>gantt_page</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:16:50</sys_created_on><sys_id>c11e9bf9dbbd7f0005cfd4f3ce961923</sys_id><sys_mod_count>0</sys_mod_count><sys_name>gantt_page</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_page_c11e9bf9dbbd7f0005cfd4f3ce961923</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:16:50</sys_updated_on><title>Gantt Page</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c11e9bf9dbbd7f0005cfd4f3ce961923\"/></record_update>]]></payload>\n        <payload_hash>222177033</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>283760c2db75bf0005cfd4f3ce9619ea</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51a30000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>gantt_page</target_name>\n        <type>Page</type>\n        <update_domain>global</update_domain>\n        <update_guid>411e9bf94dbd7f0067442a965cd75c25</update_guid>\n        <update_guid_history>411e9bf94dbd7f0067442a965cd75c25:222177033</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>m2m_sp_dependency_css_include_3ab0eb71dbfd7f0005cfd4f3ce9619b1</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"dhtmlx-gantt-chart-css\">07a0eb71dbfd7f0005cfd4f3ce961980</sp_css_include><sp_dependency display_value=\"dhtmlx-gantt-chart-v.6.1.6\">888fdbfddbbd7f0005cfd4f3ce961900</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:28:25</sys_created_on><sys_id>3ab0eb71dbfd7f0005cfd4f3ce9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt-chart-css.dhtmlx-gantt-chart</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>m2m_sp_dependency_css_include_3ab0eb71dbfd7f0005cfd4f3ce9619b1</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:28:25</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n        <payload_hash>-120433076</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>2837a882db75bf0005cfd4f3ce9619b6</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c54550000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-css.dhtmlx-gantt-chart</target_name>\n        <type>Dependency CSS Includes</type>\n        <update_domain>global</update_domain>\n        <update_guid>feb0eb71b4fd7f00b7f339c75c9b06b2</update_guid>\n        <update_guid_history>feb0eb71b4fd7f00b7f339c75c9b06b2:-2133130872</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_dependency_888fdbfddbbd7f0005cfd4f3ce961900</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>dhtmlx-gantt-chart-v.6.1.6</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:23:14</sys_created_on><sys_id>888fdbfddbbd7f0005cfd4f3ce961900</sys_id><sys_mod_count>1</sys_mod_count><sys_name>dhtmlx-gantt-chart-v.6.1.6</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_dependency_888fdbfddbbd7f0005cfd4f3ce961900</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:29:07</sys_updated_on></sp_dependency></record_update>]]></payload>\n        <payload_hash>386182023</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>2c3760c2db75bf0005cfd4f3ce9619e9</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c54770000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-v.6.1.6</target_name>\n        <type>Widget Dependency</type>\n        <update_domain>global</update_domain>\n        <update_guid>41e0eb718ffd7f00aa6c3c0232b1d096</update_guid>\n        <update_guid_history>41e0eb718ffd7f00aa6c3c0232b1d096:386182023,ba8f5bfdb5bd7f00b62a973c8e48a0a4:-48189169</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>DELETE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>m2m_sp_widget_dependency_530c9f39dbbd7f0005cfd4f3ce9619a9</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"DELETE\"><sp_dependency display_value=\"dhtmlx-gantt\">6001d963c313120028d7d56bc3d3ae6b</sp_dependency><sp_widget display_value=\"Gantt Chart DHTMLX\">419a17b5dbbd7f0005cfd4f3ce961940</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:07:58</sys_created_on><sys_id>530c9f39dbbd7f0005cfd4f3ce9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt.Gantt Chart DHTMLX</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>m2m_sp_widget_dependency_530c9f39dbbd7f0005cfd4f3ce9619a9</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:07:58</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n        <payload_hash>811687933</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>603760c2db75bf0005cfd4f3ce9619e8</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c549d0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt.Gantt Chart DHTMLX</target_name>\n        <type>Widget Dependency</type>\n        <update_domain>global</update_domain>\n        <update_guid>1c1167b138fd7f00b0711fb194c94fbb</update_guid>\n        <update_guid_history>1c1167b138fd7f00b0711fb194c94fbb:811687933,530c9f39aebd7f00328b371eebda29ab:-1934912887</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_widget_419a17b5dbbd7f0005cfd4f3ce961940</name>\n        <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n            var c = this;\n            var demo = {\n            \"data\" : c.data.series\n            }\n            \n            gantt.config.readonly = true;\n            gantt.templates.task_text=function(start, end, task){\n            return '';\n            };\n            \n            gantt.config.columns=[\n            {name:\"text\",label:\"Task name\",  tree:true, width:\"*\", resize: true   },\n            {name:\"state\",      label:\"State\", align: \"center\", template:function(obj){\n            \n            //Closed Complete\n            if(obj.state == \"3\"){\n            return \"&lt;span class='fa fa-check-circle'&gt;&lt;/span&gt;\"\n            }\n            //Work in Progress\n            else if(obj.state == \"2\"){\n            return \"&lt;span class='fa fa-minus-circle'&gt;&lt;/span&gt;\"\n            }\n            //Close Incomplete\n            else{\n            return \"&lt;span class='fa fa-exclamation-circle'&gt;&lt;/span&gt;\"\n            }\n            }\n            }\n            ];\n            gantt.config.min_column = 50;\n            gantt.templates.task_class  = function(start, end, task){\n            if(task.parent != 0){\n            task.color = \"#b0e1ce\";\n            }\n            };\n            gantt.config.smart_scales = false;\n            gantt.config.min_column_width = 30;\n            \n            \n            \n            gantt.config.layout = {\n            css: \"gantt_container\",\n            cols: [\n            {\n            width:250,\n            min_width: 300,\n            rows:[\n            {view: \"grid\", scrollX: \"gridScroll\", scrollable: true, scrollY: \"scrollVer\"},\n            \n            // horizontal scrollbar for the grid\n            {view: \"scrollbar\", id: \"gridScroll\", group:\"horizontal\"}\n            ]\n            },\n            {resizer: true, width: 1},\n            {\n            rows:[\n            {view: \"timeline\", scrollX: \"scrollHor\", scrollY: \"scrollVer\"},\n            \n            // horizontal scrollbar for the timeline\n            {view: \"scrollbar\", id: \"scrollHor\", group:\"horizontal\"}\n            ]\n            },\n            {view: \"scrollbar\", id: \"scrollVer\"}\n            ]\n            };\n            \n            \n            gantt.config.subscales = [\n            {unit:\"year\", step:1, date:\"%Y\"}\n            ];\n            gantt.config.date_scale = \"%M\";\n            gantt.config.xml_date=\"%Y-%m-%d\";\n            gantt.config.autosize = \"xy\";\n            gantt.config.scale_unit = \"month\";\n            gantt.init(\"gantt_here\");\n            gantt.parse(demo);\n            }]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;html, body\n            {\n            height: 100%;\n            padding: 0px;\n            margin: 0px;\n            overflow: hidden;\n            }\n            \n            .fa.fa-check-circle{\n            color: #5cb85c;\n            }\n            \n            .fa.fa-minus-circle{\n            color:  #f0ad4e;\n            }\n            \n            .fa.fa-exclamation-circle{\n            color:  #d64f50;\n            }\n            &lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;gantt_chart_dhtmlx&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Gantt Chart DHTMLX&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Project\",\"name\":\"project_list\",\"display_value_list\":[],\"section\":\"Data\",\"label\":\"Project List\",\"type\":\"glide_list\",\"value\":\"pm_project\",\"ed\":{\"reference\":\"pm_project\"}}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n            /* populate the 'data' object */\n            /* e.g., data.table = $sp.getValue('table'); */\n            \n            //Collecting data from options\n            var rp = options.project_list.split(',') || [];\n            data.series = [];\n            data.categories = [];\n            var project = [];\n            for(var i=0; i &lt; rp.length; i++){\n            var grProject = new GlideRecord('pm_project');\n            grProject.addQuery('sys_id', rp[i]);\n            grProject.query();\n            while (grProject.next()) {\n            var start = new GlideDateTime(grProject.start_date.getDisplayValue());\n            var end = new GlideDateTime(grProject.end_date.getDisplayValue());\n            if(grProject.short_description &amp;&amp; grProject.start_date &amp;&amp; grProject.end_date != null){\n            data.series.push({\n            id: grProject.getUniqueValue(),\n            text: grProject.short_description.getDisplayValue(),\n            state:grProject.state + \"\",\n            start_date: start.getDate() + \"\",\n            end_date: end.getDate() + \"\"\n            })\n            }\n            \n            var grTask = new GlideRecord('pm_project_task');\n            grTask.addQuery('parent', grProject.getUniqueValue());\n            grTask.query();\n            var task = [];\n            while(grTask.next()){\n            var taskStart = new GlideDateTime(grTask.start_date.getDisplayValue());\n            var taskEnd = new GlideDateTime(grTask.end_date.getDisplayValue());\n            data.series.push({\n            parent: grTask.getValue('parent'),\n            text: grTask.short_description.getDisplayValue(),\n            state:grTask.state + \"\",\n            start:taskStart.getDate() + \"\",\n            end_date: taskStart.getDate() + \"\"\n            })\n            }\n            }\n            \n            }\n            \n            \n            })();\n            \n            ]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;claudia.cruz&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-03 17:01:32&lt;/sys_created_on&gt;&lt;sys_id&gt;419a17b5dbbd7f0005cfd4f3ce961940&lt;/sys_id&gt;&lt;sys_mod_count&gt;43&lt;/sys_mod_count&gt;&lt;sys_name&gt;Gantt Chart DHTMLX&lt;/sys_name&gt;&lt;sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\"&gt;eed75f71dbbd7f0005cfd4f3ce961988&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Dhtmlx Gantt Chart\"&gt;eed75f71dbbd7f0005cfd4f3ce961988&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_419a17b5dbbd7f0005cfd4f3ce961940&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;claudia.cruz&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-03 18:21:54&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div id=\"gantt_here\"&gt;\n            &lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n        <payload_hash>-1104953809</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>603760c2db75bf0005cfd4f3ce9619eb</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c54f20000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>Gantt Chart DHTMLX</target_name>\n        <type>Widget</type>\n        <update_domain>global</update_domain>\n        <update_guid>92fc6b353d31bf009be14e6f725f1405</update_guid>\n        <update_guid_history>92fc6b353d31bf009be14e6f725f1405:-1104953809,904c67354931bf0076804de7f60606b9:500543558,942c67359931bf00211d19944b579c8d:109776784,481ce335e731bf00c433184a1d01baf2:1142834126,edcb6ff15131bf00afae4cf380bffbed:1206947815,bbab2bf13731bf006bf7299b3c88fb58:1371247636,f18b67f1f731bf00842ff1fde9cfa7eb:1624263991,f76a23b15431bf002fd816a81619b286:977222310,5b0aa7711931bf0011d4b44459499e86:-307209353,ea88e7fd0cfd7f00fc1b6a651fd7f45b:-892721000,b378e3fdd2fd7f0020f6e839dbc19d23:2053600472,d45823fd14fd7f0048ea08b36ebd6253:-3668520,6b082bbd74fd7f00aad63db522fa9052:1123260786,94d6ab3d03fd7f00a0bc4785b6f01e17:840363383,aa166fb969fd7f00a066d6f9d8dd15ce:2137278679,ddf5e7b908fd7f002843ac86b0130b16:-1918225290,aad5af79a0fd7f005fb8b333d2869d03:170655407,10a5af7918fd7f00348fa910b22efe8e:-1124449978,a675eb79adfd7f000c7c6d7a3ca38bfd:137416519,8a55e779edfd7f008af4435e50a68c53:662304095,ce152379effd7f00e97ed729aa2ea587:-448242544,f2d4233945fd7f00072eead3371fe42b:2103816465,0d846bf59afd7f00e5b27f13ac88fbcd:-928145532,4054a3f5c9fd7f0022a1944b0aa1aa2b:1957502772,a434abb591fd7f00169e859c7106cee3:-928145532,00246fb57ffd7f008a45026c31acb60e:-2036713142,e7f3abb572fd7f00216baaa9a19bb555:1397064762,f8f3af756cfd7f002f119a68c0cd3b20:-830907163,fa936b755ffd7f00cffe5ab01c4d52e5:293828175,3e73e775cefd7f0067b023956d431398:1542186895,a9036b357cfd7f00dd56eaf2405cb155:1191730587,39f2eb35adfd7f0040ea360287ea477a:1549616444,cd42aff145fd7f0016829e36dc92d707:1191730587,1de12bf134fd7f00f9377e21eda0c31c:349691061,268163f1cffd7f0045937707c6a850a3:-1439844097,3481afb1cffd7f00347c5b46f25a33d8:-825982987,d531e7b109fd7f000a66786a47353a03:958238592,45be9b7d54bd7f00e40a420e1775b4ca:-84274642,82ae5b7dafbd7f00f7d2378de5e81f98:1021347150,48edd3f90ebd7f00bc430f5f595ca7d0:958238592,193d1bb997bd7f00ce91a4745fe5787c:-294118215,d43cdf39efbd7f00b567a727b6ed6aa5:1794719368,2dfbdfb5bebd7f00860385e96bb7d2c5:780518303,5d9a17b535bd7f0039d90ad65c9e0b41:339549018</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_js_include_46efd331dbfd7f0005cfd4f3ce9619c9</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>dhtmlx-gantt-chart-js-include</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:25:25</sys_created_on><sys_id>46efd331dbfd7f0005cfd4f3ce9619c9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>dhtmlx-gantt-chart-js-include</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_ui_script display_value=\"x_snc_dhtmlx_gantt.dhtmlx-gantt-chart-v.\">89bfdffddbbd7f0005cfd4f3ce9619d6</sys_ui_script><sys_update_name>sp_js_include_46efd331dbfd7f0005cfd4f3ce9619c9</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:26:40</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n        <payload_hash>-1129353788</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>643760c2db75bf0005cfd4f3ce9619ea</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c53df0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-js-include</target_name>\n        <type>JS Include</type>\n        <update_domain>global</update_domain>\n        <update_guid>dd50ab3167fd7f00366a5589c494fb1f</update_guid>\n        <update_guid_history>dd50ab3167fd7f00366a5589c494fb1f:-1129353788,fe002731edfd7f008c26ddf1e01b5961:-731527431</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_css_include_faa0eb71dbfd7f0005cfd4f3ce96197b</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>dhtmlx-gantt-chart-style-sheet</name><source>local</source><sp_css display_value=\"dhtmlx-gantt-chart-style-sheet\">a1802b71dbfd7f0005cfd4f3ce96194b</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:28:09</sys_created_on><sys_id>faa0eb71dbfd7f0005cfd4f3ce96197b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt-chart-style-sheet</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_css_include_faa0eb71dbfd7f0005cfd4f3ce96197b</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:28:09</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n        <payload_hash>-1860310212</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>683760c2db75bf0005cfd4f3ce9619e9</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c543d0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-style-sheet</target_name>\n        <type>CSS Include</type>\n        <update_domain>global</update_domain>\n        <update_guid>b2a0eb711bfd7f00496bb5312223d57d</update_guid>\n        <update_guid_history>b2a0eb711bfd7f00496bb5312223d57d:-1860310212</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_container_8d1e9bf9dbbd7f0005cfd4f3ce961925</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Gantt Page - Container 1</name><order>1</order><sp_page display_value=\"gantt_page\">c11e9bf9dbbd7f0005cfd4f3ce961923</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:16:50</sys_created_on><sys_id>8d1e9bf9dbbd7f0005cfd4f3ce961925</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Gantt Page - Container 1</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_container_8d1e9bf9dbbd7f0005cfd4f3ce961925</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:16:50</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n        <payload_hash>545781027</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>6c3760c2db75bf0005cfd4f3ce9619e8</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51b70000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>Gantt Page - Container 1</target_name>\n        <type>Container</type>\n        <update_domain>global</update_domain>\n        <update_guid>051e9bf904bd7f003223c741584c3d27</update_guid>\n        <update_guid_history>051e9bf904bd7f003223c741584c3d27:545781027</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sys_ui_script_89bfdffddbbd7f0005cfd4f3ce9619d6</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_script\"><sys_ui_script action=\"INSERT_OR_UPDATE\"><active>true</active><description/><global>false</global><name>x_snc_dhtmlx_gantt.dhtmlx-gantt-chart-v.</name><script>/*&#13;\n            @license&#13;\n            &#13;\n            dhtmlxGantt v.6.1.6 Standard&#13;\n            This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited.&#13;\n            &#13;\n            (c) Dinamenta, UAB.&#13;\n            &#13;\n            */&#13;\n            !function(t,e){if(\"object\"==typeof exports&amp;&amp;\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&amp;&amp;define.amd)define([],e);else{var i=e();for(var n in i)(\"object\"==typeof exports?exports:t)[n]=i[n]}}(window,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){\"undefined\"!=typeof Symbol&amp;&amp;Symbol.toStringTag&amp;&amp;Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&amp;e&amp;&amp;(t=i(t)),8&amp;e)return t;if(4&amp;e&amp;&amp;\"object\"==typeof t&amp;&amp;t&amp;&amp;t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&amp;e&amp;&amp;\"string\"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&amp;&amp;t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"/codebase/\",i(i.s=145)}([function(t,e,i){var n,r=i(3);t.exports={copy:function t(e){var i,n;if(e&amp;&amp;\"object\"==typeof e)switch(!0){case r.isDate(e):n=new Date(e);break;case r.isArray(e):for(n=new Array(e.length),i=0;i&lt;e.length;i++)n[i]=t(e[i]);break;case r.isStringObject(e):n=new String(e);break;case r.isNumberObject(e):n=new Number(e);break;case r.isBooleanObject(e):n=new Boolean(e);break;default:for(i in n={},e)Object.prototype.hasOwnProperty.apply(e,[i])&amp;&amp;(n[i]=t(e[i]))}return n||e},defined:function(t){return void 0!==t},mixin:function(t,e,i){for(var n in e)(void 0===t[n]||i)&amp;&amp;(t[n]=e[n]);return t},uid:function(){return n||(n=(new Date).valueOf()),++n},bind:function(t,e){return t.bind?t.bind(e):function(){return t.apply(e,arguments)}},event:function(t,e,i,n){t.addEventListener?t.addEventListener(e,i,void 0!==n&amp;&amp;n):t.attachEvent&amp;&amp;t.attachEvent(\"on\"+e,i)},eventRemove:function(t,e,i,n){t.removeEventListener?t.removeEventListener(e,i,void 0!==n&amp;&amp;n):t.detachEvent&amp;&amp;t.detachEvent(\"on\"+e,i)}}},function(t,e){function i(t){var e=0,i=0,n=0,r=0;if(t.getBoundingClientRect){var a=t.getBoundingClientRect(),o=document.body,s=document.documentElement||document.body.parentNode||document.body,l=window.pageYOffset||s.scrollTop||o.scrollTop,c=window.pageXOffset||s.scrollLeft||o.scrollLeft,u=s.clientTop||o.clientTop||0,d=s.clientLeft||o.clientLeft||0;e=a.top+l-u,i=a.left+c-d,n=document.body.offsetWidth-a.right,r=document.body.offsetHeight-a.bottom}else{for(;t;)e+=parseInt(t.offsetTop,10),i+=parseInt(t.offsetLeft,10),t=t.offsetParent;n=document.body.offsetWidth-t.offsetWidth-i,r=document.body.offsetHeight-t.offsetHeight-e}return{y:Math.round(e),x:Math.round(i),width:t.offsetWidth,height:t.offsetHeight,right:Math.round(n),bottom:Math.round(r)}}function n(t){var e=!1,i=!1;if(window.getComputedStyle){var n=window.getComputedStyle(t,null);e=n.display,i=n.visibility}else t.currentStyle&amp;&amp;(e=t.currentStyle.display,i=t.currentStyle.visibility);return\"none\"!=e&amp;&amp;\"hidden\"!=i}function r(t){return!isNaN(t.getAttribute(\"tabindex\"))&amp;&amp;1*t.getAttribute(\"tabindex\")&gt;=0}function a(t){return!{a:!0,area:!0}[t.nodeName.loLowerCase()]||!!t.getAttribute(\"href\")}function o(t){return!{input:!0,select:!0,textarea:!0,button:!0,object:!0}[t.nodeName.toLowerCase()]||!t.hasAttribute(\"disabled\")}function s(t){if(!t)return\"\";var e=t.className||\"\";return e.baseVal&amp;&amp;(e=e.baseVal),e.indexOf||(e=\"\"),u(e)}var l=document.createElement(\"div\");function c(t){return t.tagName?t:(t=t||window.event).target||t.srcElement}function u(t){return(String.prototype.trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")}).apply(t)}t.exports={getNodePosition:i,getFocusableNodes:function(t){for(var e=t.querySelectorAll([\"a[href]\",\"area[href]\",\"input\",\"select\",\"textarea\",\"button\",\"iframe\",\"object\",\"embed\",\"[tabindex]\",\"[contenteditable]\"].join(\", \")),i=Array.prototype.slice.call(e,0),s=0;s&lt;i.length;s++){var l=i[s];(r(l)||o(l)||a(l))&amp;&amp;n(l)||(i.splice(s,1),s--)}return i},getScrollSize:function(){var t=document.createElement(\"div\");t.style.cssText=\"visibility:hidden;position:absolute;left:-1000px;width:100px;padding:0px;margin:0px;height:110px;min-height:100px;overflow-y:scroll;\",document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},getClassName:s,addClassName:function(t,e){e&amp;&amp;-1===t.className.indexOf(e)&amp;&amp;(t.className+=\" \"+e)},removeClassName:function(t,e){e=e.split(\" \");for(var i=0;i&lt;e.length;i++){var n=new RegExp(\"\\\\s?\\\\b\"+e[i]+\"\\\\b(?![-_.])\",\"\");t.className=t.className.replace(n,\"\")}},insertNode:function(t,e){l.innerHTML=e;var i=l.firstChild;return t.appendChild(i),i},removeNode:function(t){t&amp;&amp;t.parentNode&amp;&amp;t.parentNode.removeChild(t)},getChildNodes:function(t,e){for(var i=t.childNodes,n=i.length,r=[],a=0;a&lt;n;a++){var o=i[a];o.className&amp;&amp;-1!==o.className.indexOf(e)&amp;&amp;r.push(o)}return r},toNode:function(t){return\"string\"==typeof t?document.getElementById(t)||document.querySelector(t)||document.body:t||document.body},locateClassName:function(t,e,i){var n=c(t),r=\"\";for(void 0===i&amp;&amp;(i=!0);n;){if(r=s(n)){var a=r.indexOf(e);if(a&gt;=0){if(!i)return n;var o=0===a||!u(r.charAt(a-1)),l=a+e.length&gt;=r.length||!u(r.charAt(a+e.length));if(o&amp;&amp;l)return n}}n=n.parentNode}return null},locateAttribute:function(t,e){if(e){for(var i=c(t);i;){if(i.getAttribute&amp;&amp;i.getAttribute(e))return i;i=i.parentNode}return null}},getTargetNode:c,getRelativeEventPosition:function(t,e){var n=document.documentElement,r=i(e);return{x:t.clientX+n.scrollLeft-n.clientLeft-r.x+e.scrollLeft,y:t.clientY+n.scrollTop-n.clientTop-r.y+e.scrollTop}},isChildOf:function(t,e){if(!t||!e)return!1;for(;t&amp;&amp;t!=e;)t=t.parentNode;return t===e},hasClass:function(t,e){return\"classList\"in t?t.classList.contains(e):new RegExp(\"\\\\b\"+e+\"\\\\b\").test(t.className)},closest:function(t,e){if(t.closest)return t.closest(e);if(t.matches||t.msMatchesSelector||t.webkitMatchesSelector){var i=t;if(!document.documentElement.contains(i))return null;do{if((i.matches||i.msMatchesSelector||i.webkitMatchesSelector).call(i,e))return i;i=i.parentElement||i.parentNode}while(null!==i&amp;&amp;1===i.nodeType);return null}return console.error(\"Your browser is not supported\"),null}}},function(t,e){t.exports=function(t,e){for(var i in e)e.hasOwnProperty(i)&amp;&amp;(t[i]=e[i]);function n(){this.constructor=t}t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}},function(t,e){var i={second:1,minute:60,hour:3600,day:86400,week:604800,month:2592e3,quarter:7776e3,year:31536e3};function n(t,e){var i=[];if(t.filter)return t.filter(e);for(var n=0;n&lt;t.length;n++)e(t[n],n)&amp;&amp;(i[i.length]=t[n]);return i}t.exports={getSecondsInUnit:function(t){return i[t]||i.hour},forEach:function(t,e){if(t.forEach)t.forEach(e);else for(var i=t.slice(),n=0;n&lt;i.length;n++)e(i[n],n)},arrayMap:function(t,e){if(t.map)return t.map(e);for(var i=t.slice(),n=[],r=0;r&lt;i.length;r++)n.push(e(i[r],r));return n},arrayFind:function(t,e){if(t.find)return t.find(e);for(var i=0;i&lt;t.length;i++)if(e(t[i],i))return t[i]},arrayFilter:n,arrayDifference:function(t,e){return n(t,function(t,i){return!e(t,i)})},arraySome:function(t,e){if(0===t.length)return!1;for(var i=0;i&lt;t.length;i++)if(e(t[i],i,t))return!0;return!1},hashToArray:function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&amp;&amp;e.push(t[i]);return e},sortArrayOfHash:function(t,e,i){var n=function(t,e){return t&lt;e};t.sort(function(t,r){return t[e]===r[e]?0:i?n(t[e],r[e]):n(r[e],t[e])})},throttle:function(t,e){var i=!1;return function(){i||(t.apply(null,arguments),i=!0,setTimeout(function(){i=!1},e))}},isArray:function(t){return Array.isArray?Array.isArray(t):t&amp;&amp;void 0!==t.length&amp;&amp;t.pop&amp;&amp;t.push},isDate:function(t){return!(!t||\"object\"!=typeof t||!(t.getFullYear&amp;&amp;t.getMonth&amp;&amp;t.getDate))},isStringObject:function(t){return t&amp;&amp;\"object\"==typeof t&amp;&amp;\"function String() { [native code] }\"===Function.prototype.toString.call(t.constructor)},isNumberObject:function(t){return t&amp;&amp;\"object\"==typeof t&amp;&amp;\"function Number() { [native code] }\"===Function.prototype.toString.call(t.constructor)},isBooleanObject:function(t){return t&amp;&amp;\"object\"==typeof t&amp;&amp;\"function Boolean() { [native code] }\"===Function.prototype.toString.call(t.constructor)},delay:function(t,e){var i,n=function(){n.$cancelTimeout(),t.$pending=!0;var r=Array.prototype.slice.call(arguments);i=setTimeout(function(){t.apply(this,r),n.$pending=!1},e)};return n.$pending=!1,n.$cancelTimeout=function(){clearTimeout(i),t.$pending=!1},n.$execute=function(){t(),t.$cancelTimeout()},n},objectKeys:function(t){if(Object.keys)return Object.keys(t);var e,i=[];for(e in t)Object.prototype.hasOwnProperty.call(t,e)&amp;&amp;i.push(e);return i}}},function(t,e){var i=function(){this._connected=[],this._silent_mode=!1};i.prototype={_silentStart:function(){this._silent_mode=!0},_silentEnd:function(){this._silent_mode=!1}};var n=function(t){var e=[],i=function(){for(var i=!0,n=0;n&lt;e.length;n++)if(e[n]){var r=e[n].apply(t,arguments);i=i&amp;&amp;r}return i};return i.addEvent=function(t){return\"function\"==typeof t&amp;&amp;e.push(t)-1},i.removeEvent=function(t){e[t]=null},i};t.exports=function(t){var e=new i;t.attachEvent=function(t,i,r){return t=\"ev_\"+t.toLowerCase(),e[t]||(e[t]=n(r||this)),t+\":\"+e[t].addEvent(i)},t.attachAll=function(t,e){this.attachEvent(\"listen_all\",t,e)},t.callEvent=function(t,i,n){if(e._silent_mode)return!0;var r=\"ev_\"+t.toLowerCase();return e.ev_listen_all&amp;&amp;e.ev_listen_all.apply(n||this,[t].concat(i)),!e[r]||e[r].apply(n||this,i)},t.checkEvent=function(t){return!!e[\"ev_\"+t.toLowerCase()]},t.detachEvent=function(t){if(t){var i=t.split(\":\");e[i[0]].removeEvent(i[1])}},t.detachAllEvents=function(){for(var t in e)0===t.indexOf(\"ev_\")&amp;&amp;delete e[t]}}},function(t,e){function i(){console.log(\"Method is not implemented.\")}function n(){}n.prototype.render=i,n.prototype.set_value=i,n.prototype.get_value=i,n.prototype.focus=i,t.exports=function(t){return n}},function(t,e){t.exports=function(t){var e=function(){};return e.prototype={show:function(t,e,i,n){},hide:function(){},set_value:function(t,e,i,n){this.get_input(n).value=t},get_value:function(t,e,i){return this.get_input(i).value||\"\"},is_changed:function(t,e,i,n){var r=this.get_value(e,i,n);return r&amp;&amp;t&amp;&amp;r.valueOf&amp;&amp;t.valueOf?r.valueOf()!=t.valueOf():r!=t},is_valid:function(t,e,i,n){return!0},save:function(t,e,i){},get_input:function(t){return t.querySelector(\"input\")},focus:function(t){var e=this.get_input(t);e&amp;&amp;(e.focus&amp;&amp;e.focus(),e.select&amp;&amp;e.select())}},e}},function(t,e,i){var n=i(0),r=i(4),a=i(1),o=function(){\"use strict\";function t(t,e,i,o){t&amp;&amp;(this.$container=a.toNode(t),this.$parent=t),this.$config=n.mixin(e,{headerHeight:33}),this.$gantt=o,this.$domEvents=o._createDomEventScope(),this.$id=e.id||\"c\"+n.uid(),this.$name=\"cell\",this.$factory=i,r(this)}return t.prototype.destructor=function(){this.$parent=this.$container=this.$view=null,this.$gantt.$services.getService(\"mouseEvents\").detach(\"click\",\"gantt_header_arrow\",this._headerClickHandler),this.$domEvents.detachAll(),this.callEvent(\"onDestroy\",[]),this.detachAllEvents()},t.prototype.cell=function(t){return null},t.prototype.scrollTo=function(t,e){1*t==t&amp;&amp;(this.$view.scrollLeft=t),1*e==e&amp;&amp;(this.$view.scrollTop=e)},t.prototype.clear=function(){this.getNode().innerHTML=\"\",this.getNode().className=\"gantt_layout_content\",this.getNode().style.padding=\"0\"},t.prototype.resize=function(t){if(this.$parent)return this.$parent.resize(t);!1===t&amp;&amp;(this.$preResize=!0);var e=this.$container,i=e.offsetWidth,n=e.offsetHeight,r=this.getSize();e===document.body&amp;&amp;(i=document.body.offsetWidth,n=document.body.offsetHeight),i&lt;r.minWidth&amp;&amp;(i=r.minWidth),i&gt;r.maxWidth&amp;&amp;(i=r.maxWidth),n&lt;r.minHeight&amp;&amp;(n=r.minHeight),n&gt;r.maxHeight&amp;&amp;(n=r.maxHeight),this.setSize(i,n),this.$preResize,this.$preResize=!1},t.prototype.hide=function(){this._hide(!0),this.resize()},t.prototype.show=function(t){this._hide(!1),t&amp;&amp;this.$parent&amp;&amp;this.$parent.show(),this.resize()},t.prototype._hide=function(t){if(!0===t&amp;&amp;this.$view.parentNode)this.$view.parentNode.removeChild(this.$view);else if(!1===t&amp;&amp;!this.$view.parentNode){var e=this.$parent.cellIndex(this.$id);this.$parent.moveView(this,e)}this.$config.hidden=t},t.prototype.$toHTML=function(t,e){void 0===t&amp;&amp;(t=\"\"),e=[e||\"\",this.$config.css||\"\"].join(\" \");var i=this.$config,n=\"\";i.raw?t=\"string\"==typeof i.raw?i.raw:\"\":(t||(t=\"&lt;div class='gantt_layout_content' \"+(e?\" class='\"+e+\"' \":\"\")+\" &gt;\"+(i.html||\"\")+\"&lt;/div&gt;\"),i.header&amp;&amp;(n=\"&lt;div class='gantt_layout_header'&gt;\"+(i.canCollapse?\"&lt;div class='gantt_layout_header_arrow'&gt;&lt;/div&gt;\":\"\")+\"&lt;div class='gantt_layout_header_content'&gt;\"+i.header+\"&lt;/div&gt;&lt;/div&gt;\"));return\"&lt;div class='gantt_layout_cell \"+e+\"' data-cell-id='\"+this.$id+\"'&gt;\"+n+t+\"&lt;/div&gt;\"},t.prototype.$fill=function(t,e){this.$view=t,this.$parent=e,this.init()},t.prototype.getNode=function(){return this.$view.querySelector(\"gantt_layout_cell\")||this.$view},t.prototype.init=function(){var t=this;this._headerClickHandler=function(e){a.locateAttribute(e,\"data-cell-id\")==t.$id&amp;&amp;t.toggle()},this.$gantt.$services.getService(\"mouseEvents\").delegate(\"click\",\"gantt_header_arrow\",this._headerClickHandler),this.callEvent(\"onReady\",[])},t.prototype.toggle=function(){this.$config.collapsed=!this.$config.collapsed,this.resize()},t.prototype.getSize=function(){var t={height:this.$config.height||0,width:this.$config.width||0,gravity:this.$config.gravity||1,minHeight:this.$config.minHeight||0,minWidth:this.$config.minWidth||0,maxHeight:this.$config.maxHeight||1e5,maxWidth:this.$config.maxWidth||1e5};if(this.$config.collapsed){var e=\"x\"===this.$config.mode;t[e?\"width\":\"height\"]=t[e?\"maxWidth\":\"maxHeight\"]=this.$config.headerHeight}return t},t.prototype.getContentSize=function(){var t=this.$lastSize.contentX;t!==1*t&amp;&amp;(t=this.$lastSize.width);var e=this.$lastSize.contentY;return e!==1*e&amp;&amp;(e=this.$lastSize.height),{width:t,height:e}},t.prototype._getBorderSizes=function(){var t={top:0,right:0,bottom:0,left:0,horizontal:0,vertical:0};return this._currentBorders&amp;&amp;(this._currentBorders[this._borders.left]&amp;&amp;(t.left=1,t.horizontal++),this._currentBorders[this._borders.right]&amp;&amp;(t.right=1,t.horizontal++),this._currentBorders[this._borders.top]&amp;&amp;(t.top=1,t.vertical++),this._currentBorders[this._borders.bottom]&amp;&amp;(t.bottom=1,t.vertical++)),t},t.prototype.setSize=function(t,e){this.$view.style.width=t+\"px\",this.$view.style.height=e+\"px\";var i=this._getBorderSizes(),n=e-i.vertical,r=t-i.horizontal;this.$lastSize={x:t,y:e,contentX:r,contentY:n},this.$config.header?this._sizeHeader():this._sizeContent()},t.prototype._borders={left:\"gantt_layout_cell_border_left\",right:\"gantt_layout_cell_border_right\",top:\"gantt_layout_cell_border_top\",bottom:\"gantt_layout_cell_border_bottom\"},t.prototype._setBorders=function(t,e){e||(e=this);var i=e.$view;for(var n in this._borders)a.removeClassName(i,this._borders[n]);\"string\"==typeof t&amp;&amp;(t=[t]);var r={};for(n=0;n&lt;t.length;n++)a.addClassName(i,t[n]),r[t[n]]=!0;e._currentBorders=r},t.prototype._sizeContent=function(){var t=this.$view.childNodes[0];t&amp;&amp;\"gantt_layout_content\"==t.className&amp;&amp;(t.style.height=this.$lastSize.contentY+\"px\")},t.prototype._sizeHeader=function(){var t=this.$lastSize;t.contentY-=this.$config.headerHeight;var e=this.$view.childNodes[0],i=this.$view.childNodes[1],n=\"x\"===this.$config.mode;if(this.$config.collapsed)if(i.style.display=\"none\",n){e.className=\"gantt_layout_header collapsed_x\",e.style.width=t.y+\"px\";var r=Math.floor(t.y/2-t.x/2);e.style.transform=\"rotate(90deg) translate(\"+r+\"px, \"+r+\"px)\",i.style.display=\"none\"}else e.className=\"gantt_layout_header collapsed_y\";else e.className=n?\"gantt_layout_header\":\"gantt_layout_header vertical\",e.style.width=\"auto\",e.style.transform=\"\",i.style.display=\"\",i.style.height=t.contentY+\"px\";e.style.height=this.$config.headerHeight+\"px\"},t}();t.exports=o},function(t,e,i){var n=i(2),r=i(17);t.exports=function(t){var e=i(5)(t);function a(){return e.apply(this,arguments)||this}return n(a,e),a.prototype.render=function(t){var e=\"&lt;div class='gantt_cal_ltext' style='height:\"+((t.height||\"23\")+\"px\")+\";'&gt;\";return e+=r.getHtmlSelect(t.options,[{key:\"style\",value:\"width:100%;\"}]),e+=\"&lt;/div&gt;\"},a.prototype.set_value=function(t,e,i,n){var r=t.firstChild;!r._dhx_onchange&amp;&amp;n.onchange&amp;&amp;(r.onchange=n.onchange,r._dhx_onchange=!0),void 0===e&amp;&amp;(e=(r.options[0]||{}).value),r.value=e||\"\"},a.prototype.get_value=function(t){return t.firstChild.value},a.prototype.focus=function(e){var i=e.firstChild;t._focus(i,!0)},a}},function(t,e,i){var n=i(0);t.exports={createDropTargetObject:function(t){var e={targetParent:null,targetIndex:0,targetId:null,child:!1,nextSibling:!1,prevSibling:!1};return t&amp;&amp;n.mixin(e,t,!0),e},nextSiblingTarget:function(t,e,i){var n=this.createDropTargetObject();return n.targetId=e,n.nextSibling=!0,n.targetParent=i.getParent(n.targetId),n.targetIndex=i.getBranchIndex(n.targetId),(i.getParent(t)!=n.targetParent||n.targetIndex&lt;i.getBranchIndex(t))&amp;&amp;(n.targetIndex+=1),n},prevSiblingTarget:function(t,e,i){var n=this.createDropTargetObject();return n.targetId=e,n.prevSibling=!0,n.targetParent=i.getParent(n.targetId),n.targetIndex=i.getBranchIndex(n.targetId),i.getParent(t)==n.targetParent&amp;&amp;n.targetIndex&gt;i.getBranchIndex(t)&amp;&amp;(n.targetIndex-=1),n},firstChildTarget:function(t,e,i){var n=this.createDropTargetObject();return n.targetId=e,n.targetParent=n.targetId,n.targetIndex=0,n.child=!0,n},lastChildTarget:function(t,e,i){var n=i.getChildren(e),r=this.createDropTargetObject();return r.targetId=n[n.length-1],r.targetParent=e,r.targetIndex=n.length,r.nextSibling=!0,r}}},function(t,e){t.exports=function(t){var e=[];return{delegate:function(i,n,r,a){e.push([i,n,r,a]),t.$services.getService(\"mouseEvents\").delegate(i,n,r,a)},destructor:function(){for(var i=t.$services.getService(\"mouseEvents\"),n=0;n&lt;e.length;n++){var r=e[n];i.detach(r[0],r[1],r[2],r[3])}e=[]}}}},function(t,e,i){var n=i(26),r=i(4),a=i(0),o=i(25),s=i(116),l=function(t,e,i,o){this.$config=a.mixin({},e||{}),this.$scaleHelper=new n(o),this.$gantt=o,r(this)};function c(t,e){for(var i,n,r,a=0,o=t.length-1;a&lt;=o;)if(n=+t[i=Math.floor((a+o)/2)],r=+t[i-1],n&lt;e)a=i+1;else{if(!(n&gt;e)){for(;+t[i]==+t[i+1];)i++;return i}if(!isNaN(r)&amp;&amp;r&lt;e)return i-1;o=i-1}return t.length-1}l.prototype={init:function(t){t.innerHTML+=\"&lt;div class='gantt_task' style='width:inherit;height:inherit;'&gt;&lt;/div&gt;\",this.$task=t.childNodes[0],this.$task.innerHTML=\"&lt;div class='gantt_task_scale'&gt;&lt;/div&gt;&lt;div class='gantt_data_area'&gt;&lt;/div&gt;\",this.$task_scale=this.$task.childNodes[0],this.$task_data=this.$task.childNodes[1],this.$task_data.innerHTML=\"&lt;div class='gantt_task_bg'&gt;&lt;/div&gt;&lt;div class='gantt_links_area'&gt;&lt;/div&gt;&lt;div class='gantt_bars_area'&gt;&lt;/div&gt;\",this.$task_bg=this.$task_data.childNodes[0],this.$task_links=this.$task_data.childNodes[1],this.$task_bars=this.$task_data.childNodes[2],this._tasks={col_width:0,width:[],full_width:0,trace_x:[],rendered:{}};var e=this.$getConfig(),i=e[this.$config.bind+\"_attribute\"],n=e[this.$config.bindLinks+\"_attribute\"];!i&amp;&amp;this.$config.bind&amp;&amp;(i=this.$config.bind+\"_id\"),!n&amp;&amp;this.$config.bindLinks&amp;&amp;(n=this.$config.bindLinks+\"_id\"),this.$config.item_attribute=i||null,this.$config.link_attribute=n||null;var r=this._createLayerConfig();this.$config.layers||(this.$config.layers=r.tasks),this.$config.linkLayers||(this.$config.linkLayers=r.links),this._attachLayers(this.$gantt),this.callEvent(\"onReady\",[])},setSize:function(t,e){var i=this.$getConfig();if(1*t===t&amp;&amp;(this.$config.width=t),1*e===e){this.$config.height=e;var n=Math.max(this.$config.height-i.scale_height);this.$task_data.style.height=n+\"px\"}if(this.refresh(),this.$task_bg.style.backgroundImage=\"\",i.smart_rendering&amp;&amp;this.$config.rowStore){var r=this.$config.rowStore;this.$task_bg.style.height=i.row_height*r.countVisible()+\"px\"}else this.$task_bg.style.height=\"\";for(var a=this._tasks,o=this.$task_data.childNodes,s=0,l=o.length;s&lt;l;s++){var c=o[s];c.hasAttribute(\"data-layer\")&amp;&amp;c.style&amp;&amp;(c.style.width=a.full_width+\"px\")}},isVisible:function(){return this.$parent&amp;&amp;this.$parent.$config?!this.$parent.$config.hidden:this.$task.offsetWidth},getSize:function(){var t=this.$getConfig(),e=this.$config.rowStore,i=e?t.row_height*e.countVisible():0,n=this.isVisible()?this._tasks.full_width:0;return{x:this.isVisible()?this.$config.width:0,y:this.isVisible()?this.$config.height:0,contentX:this.isVisible()?n:0,contentY:this.isVisible()?t.scale_height+i:0,scrollHeight:this.isVisible()?i:0,scrollWidth:this.isVisible()?n:0}},scrollTo:function(t,e){this.isVisible()&amp;&amp;(1*e===e&amp;&amp;(this.$config.scrollTop=e,this.$task_data.scrollTop=this.$config.scrollTop),1*t===t&amp;&amp;(this.$task.scrollLeft=t,this.$config.scrollLeft=this.$task.scrollLeft,this._refreshScales()))},_refreshScales:function(){if(this.isVisible()&amp;&amp;this.$getConfig().smart_scales){var t=this.$config.scrollLeft,e=this.$config.width,i=this._scales;this.$task_scale.innerHTML=this._getScaleChunkHtml(i,t,t+e)}},_createLayerConfig:function(){var t=this,e=function(){return t.isVisible()};return{tasks:[{expose:!0,renderer:this.$gantt.$ui.layers.taskBar,container:this.$task_bars,filter:[e]},{renderer:this.$gantt.$ui.layers.taskSplitBar,filter:[e],container:this.$task_bars,append:!0},{renderer:this.$gantt.$ui.layers.taskBg,container:this.$task_bg,filter:[function(){return!t.$getConfig().static_background},e]}],links:[{expose:!0,renderer:this.$gantt.$ui.layers.link,container:this.$task_links,filter:[e]}]}},_attachLayers:function(t){this._taskLayers=[],this._linkLayers=[];var e=this,i=this.$gantt.$services.getService(\"layers\");if(this.$config.bind){e.$config.rowStore=e.$gantt.getDatastore(e.$config.bind);var n=i.getDataRender(this.$config.bind);n||(n=i.createDataRender({name:this.$config.bind,defaultContainer:function(){return e.$task_data}})),n.container=function(){return e.$task_data};for(var r=this.$config.layers,a=0;r&amp;&amp;a&lt;r.length;a++){\"string\"==typeof(c=r[a])&amp;&amp;(c=this.$gantt.$ui.layers[c]),\"function\"==typeof c&amp;&amp;(c={renderer:c}),c.host=this;var o=n.addLayer(c);this._taskLayers.push(o),c.expose&amp;&amp;(this._taskRenderer=n.getLayer(o))}this._initStaticBackgroundRender()}if(this.$config.bindLinks){e.$config.linkStore=e.$gantt.getDatastore(e.$config.bindLinks);var s=i.getDataRender(this.$config.bindLinks);s||(s=i.createDataRender({name:this.$config.bindLinks,defaultContainer:function(){return e.$task_data}}));var l=this.$config.linkLayers;for(a=0;l&amp;&amp;a&lt;l.length;a++){var c;\"string\"==typeof c&amp;&amp;(c=this.$gantt.$ui.layers[c]),(c=l[a]).host=this;var u=s.addLayer(c);this._taskLayers.push(u),l[a].expose&amp;&amp;(this._linkRenderer=s.getLayer(u))}}},_initStaticBackgroundRender:function(){var t=this,e=s.create(),i=t.$config.rowStore;i&amp;&amp;(this._staticBgHandler=i.attachEvent(\"onStoreUpdated\",function(i,n,r){if(null===i&amp;&amp;t.isVisible()){var a=t.$getConfig();if(a.static_background){var o=t.$gantt.getDatastore(t.$config.bind);o&amp;&amp;e.render(t.$task_bg,a,t.getScale(),a.row_height*o.countVisible())}}}),this.attachEvent(\"onDestroy\",function(){e.destroy()}),this._initStaticBackgroundRender=function(){})},_clearLayers:function(t){var e=this.$gantt.$services.getService(\"layers\"),i=e.getDataRender(this.$config.bind),n=e.getDataRender(this.$config.bindLinks);if(this._taskLayers)for(var r=0;r&lt;this._taskLayers.length;r++)i.removeLayer(this._taskLayers[r]);if(this._linkLayers)for(r=0;r&lt;this._linkLayers.length;r++)n.removeLayer(this._linkLayers[r]);this._linkLayers=[],this._taskLayers=[]},_render_tasks_scales:function(){var t=this.$getConfig(),e=\"\",i=0,n=0,r=this.$gantt.getState();if(this.isVisible()){var a=this.$scaleHelper,o=this._getScales();n=t.scale_height;var s=this.$config.width;\"x\"!=t.autosize&amp;&amp;\"xy\"!=t.autosize||(s=Math.max(t.autosize_min_width,0));var l=a.prepareConfigs(o,t.min_column_width,s,n-1,r.min_date,r.max_date,t.rtl),c=this._tasks=l[l.length-1];this._scales=l,e=this._getScaleChunkHtml(l,0,this.$config.width),i=c.full_width+\"px\",n+=\"px\"}this.$task_scale.style.height=n,this.$task_data.style.width=this.$task_scale.style.width=i,this.$task_scale.innerHTML=e},_getScaleChunkHtml:function(t,e,i){for(var n=[],r=this.$gantt.$services.templates().scale_row_class,a=0;a&lt;t.length;a++){var o=\"gantt_scale_line\",s=r(t[a]);s&amp;&amp;(o+=\" \"+s),n.push('&lt;div class=\"'+o+'\" style=\"height:'+t[a].height+\"px;position:relative;line-height:\"+t[a].height+'px\"&gt;'+this._prepareScaleHtml(t[a],e,i)+\"&lt;/div&gt;\")}return n.join(\"\")},_prepareScaleHtml:function(t,e,i){var n=this.$getConfig(),r=this.$gantt.$services.templates(),a=[],o=null,s=null,l=null;(t.template||t.date)&amp;&amp;(s=t.template||this.$gantt.date.date_to_str(t.date));var u=0,d=t.count;!n.smart_scales||isNaN(e)||isNaN(i)||(u=c(t.left,e),d=c(t.left,i)+1),l=t.css||function(){},!t.css&amp;&amp;n.inherit_scale_class&amp;&amp;(l=r.scale_cell_class);for(var h=u;h&lt;d&amp;&amp;t.trace_x[h];h++){o=new Date(t.trace_x[h]);var f=s.call(this,o),_=t.width[h],g=t.height,p=t.left[h],v=\"\",m=\"\",y=\"\";if(_){v=\"width:\"+_+\"px;height:\"+g+\"px;\"+(n.smart_scales?\"position:absolute;left:\"+p+\"px\":\"\"),y=\"gantt_scale_cell\"+(h==t.count-1?\" gantt_last_cell\":\"\"),(m=l.call(this,o))&amp;&amp;(y+=\" \"+m);var b=\"&lt;div class='\"+y+\"'\"+this.$gantt._waiAria.getTimelineCellAttr(f)+\" style='\"+v+\"'&gt;\"+f+\"&lt;/div&gt;\";a.push(b)}}return a.join(\"\")},dateFromPos:function(t){var e=this._tasks;if(t&lt;0||t&gt;e.full_width||!e.full_width)return null;var i=c(this._tasks.left,t),n=this._tasks.left[i],r=e.width[i]||e.col_width,a=0;r&amp;&amp;(a=(t-n)/r,e.rtl&amp;&amp;(a=1-a));var o=0;return a&amp;&amp;(o=this._getColumnDuration(e,e.trace_x[i])),new Date(e.trace_x[i].valueOf()+Math.round(a*o))},posFromDate:function(t){if(!this.isVisible())return 0;var e=this.columnIndexByDate(t);this.$gantt.assert(e&gt;=0,\"Invalid day index\");var i=Math.floor(e),n=e%1,r=this._tasks.left[Math.min(i,this._tasks.width.length-1)];return i==this._tasks.width.length&amp;&amp;(r+=this._tasks.width[this._tasks.width.length-1]),n&amp;&amp;(i&lt;this._tasks.width.length?r+=this._tasks.width[i]*(n%1):r+=1),Math.round(r)},_getNextVisibleColumn:function(t,e,i){for(var n=+e[t],r=t;i[n];)n=+e[++r];return r},_getPrevVisibleColumn:function(t,e,i){for(var n=+e[t],r=t;i[n];)n=+e[--r];return r},_getClosestVisibleColumn:function(t,e,i){var n=this._getNextVisibleColumn(t,e,i);return e[n]||(n=this._getPrevVisibleColumn(t,e,i)),n},columnIndexByDate:function(t){var e=new Date(t).valueOf(),i=this._tasks.trace_x_ascending,n=this._tasks.ignore_x,r=this.$gantt.getState();if(e&lt;=r.min_date)return this._tasks.rtl?i.length:0;if(e&gt;=r.max_date)return this._tasks.rtl?0:i.length;var a=c(i,e),o=this._getClosestVisibleColumn(a,i,n),s=i[o],l=this._tasks.trace_index_transition;if(!s)return l?l[0]:0;var u=(t-i[o])/this._getColumnDuration(this._tasks,i[o]);return l?l[o]+(1-u):o+u},getItemPosition:function(t,e,i){var n,r,a;return this._tasks.rtl?(r=this.posFromDate(e||t.start_date),n=this.posFromDate(i||t.end_date)):(n=this.posFromDate(e||t.start_date),r=this.posFromDate(i||t.end_date)),a=Math.max(r-n,0),{left:n,top:this.getItemTop(t.id),height:this.getItemHeight(),width:a}},getItemHeight:function(){var t=this.$getConfig(),e=t.task_height;if(\"full\"==e){var i=t.task_height_offset||5;e=t.row_height-i}return e=Math.min(e,t.row_height),Math.max(e,0)},getScale:function(){return this._tasks},_getScales:function(){var t=this.$getConfig(),e=this.$scaleHelper,i=[e.primaryScale()].concat(t.subscales);return e.sortScales(i),i},_getColumnDuration:function(t,e){return this.$gantt.date.add(e,t.step,t.unit)-e},refresh:function(){this.$config.bind&amp;&amp;(this.$config.rowStore=this.$gantt.getDatastore(this.$config.bind)),this.$config.bindLinks&amp;&amp;(this.$config.linkStore=this.$gantt.getDatastore(this.$config.bindLinks)),this._initStaticBackgroundRender(),this._render_tasks_scales()},destructor:function(){var t=this.$gantt;this._clearLayers(t),this.$task=null,this.$task_scale=null,this.$task_data=null,this.$task_bg=null,this.$task_links=null,this.$task_bars=null,this.$gantt=null,this.$config.rowStore&amp;&amp;(this.$config.rowStore.detachEvent(this._staticBgHandler),this.$config.rowStore=null),this.$config.linkStore&amp;&amp;(this.$config.linkStore=null),this.callEvent(\"onDestroy\",[]),this.detachAllEvents()}},a.mixin(l.prototype,o()),t.exports=l},function(t,e){var i;i=function(){return this}();try{i=i||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&amp;&amp;(i=window)}t.exports=i},function(t,e){var i={isIE:navigator.userAgent.indexOf(\"MSIE\")&gt;=0||navigator.userAgent.indexOf(\"Trident\")&gt;=0,isIE6:!window.XMLHttpRequest&amp;&amp;navigator.userAgent.indexOf(\"MSIE\")&gt;=0,isIE7:navigator.userAgent.indexOf(\"MSIE 7.0\")&gt;=0&amp;&amp;navigator.userAgent.indexOf(\"Trident\")&lt;0,isIE8:navigator.userAgent.indexOf(\"MSIE 8.0\")&gt;=0&amp;&amp;navigator.userAgent.indexOf(\"Trident\")&gt;=0,isOpera:navigator.userAgent.indexOf(\"Opera\")&gt;=0,isChrome:navigator.userAgent.indexOf(\"Chrome\")&gt;=0,isKHTML:navigator.userAgent.indexOf(\"Safari\")&gt;=0||navigator.userAgent.indexOf(\"Konqueror\")&gt;=0,isFF:navigator.userAgent.indexOf(\"Firefox\")&gt;=0,isIPad:navigator.userAgent.search(/iPad/gi)&gt;=0,isEdge:-1!=navigator.userAgent.indexOf(\"Edge\")};t.exports=i},,function(t,e,i){},function(t,e,i){var n=i(0);t.exports=function t(e,i){e=e||n.event,i=i||n.eventRemove;var r=[],a={attach:function(t,i,n,a){r.push({element:t,event:i,callback:n,capture:a}),e(t,i,n,a)},detach:function(t,e,n,a){i(t,e,n,a);for(var o=0;o&lt;r.length;o++){var s=r[o];s.element===t&amp;&amp;s.event===e&amp;&amp;s.callback===n&amp;&amp;s.capture===a&amp;&amp;(r.splice(o,1),o--)}},detachAll:function(){for(var t=r.slice(),e=0;e&lt;t.length;e++){var i=t[e];a.detach(i.element,i.event,i.callback,i.capture),a.detach(i.element,i.event,i.callback,void 0),a.detach(i.element,i.event,i.callback,!1),a.detach(i.element,i.event,i.callback,!0)}r.splice(0,r.length)},extend:function(){return t(this.event,this.eventRemove)}};return window.scopes||(window.scopes=[]),window.scopes.push(r),a}},function(t,e,i){var n=i(3),r={getHtmlSelect:function(t,e,i){var r=\"\",o=this;return t=t||[],n.forEach(t,function(t){var e=[{key:\"value\",value:t.key}];i==t.key&amp;&amp;(e[e.length]={key:\"selected\",value:\"selected\"}),t.attributes&amp;&amp;(e=e.concat(t.attributes)),r+=o.getHtmlOption({innerHTML:t.label},e)}),a(\"select\",{innerHTML:r},e)},getHtmlOption:function(t,e){return a(\"option\",t,e)},getHtmlButton:function(t,e){return a(\"button\",t,e)},getHtmlDiv:function(t,e){return a(\"div\",t,e)},getHtmlLabel:function(t,e){return a(\"label\",t,e)},getHtmlInput:function(t){return\"&lt;input\"+o(t||[])+\"&gt;\"}};function a(t,e,i){return e=e||[],\"&lt;\"+t+o(i||[])+\"&gt;\"+(e.innerHTML||\"\")+\"&lt;/\"+t+\"&gt;\"}function o(t){var e=\"\";return n.forEach(t,function(t){e+=\" \"+t.key+\"='\"+t.value+\"'\"}),e}t.exports=r},function(t,e,i){var n=i(0),r=i(3);function a(t,e,i,n,r){return this.date=t,this.unit=e,this.task=i,this.id=n,this.calendar=r,this}function o(t,e,i,n,r,a){return this.date=t,this.dir=e,this.unit=i,this.task=n,this.id=r,this.calendar=a,this}function s(t,e,i,n,r,a,o){return this.start_date=t,this.duration=e,this.unit=i,this.step=n,this.task=r,this.id=a,this.calendar=o,this}function l(t,e,i,n){return this.start_date=t,this.end_date=e,this.task=i,this.calendar=n,this.unit=null,this.step=null,this}t.exports=function(t){return{getWorkHoursArguments:function(){var t=arguments[0];return t=r.isDate(t)?{date:t}:n.mixin({},t)},setWorkTimeArguments:function(){return arguments[0]},unsetWorkTimeArguments:function(){return arguments[0]},isWorkTimeArguments:function(){var e,i=arguments[0];return i instanceof a?i:((e=i.date?new a(i.date,i.unit,i.task,null,i.calendar):new a(arguments[0],arguments[1],arguments[2],null,arguments[3])).unit=e.unit||t.config.duration_unit,e)},getClosestWorkTimeArguments:function(e){var i,n=arguments[0];return n instanceof o?n:(i=r.isDate(n)?new o(n):new o(n.date,n.dir,n.unit,n.task,null,n.calendar),n.id&amp;&amp;(i.task=n),i.dir=n.dir||\"any\",i.unit=n.unit||t.config.duration_unit,i)},_getStartEndConfig:function(e){var i,n=l;return e instanceof n?e:(r.isDate(e)?i=new n(arguments[0],arguments[1],arguments[2],arguments[3]):(i=new n(e.start_date,e.end_date,e.task),e.id&amp;&amp;(i.task=e)),i.unit=i.unit||t.config.duration_unit,i.step=i.step||t.config.duration_step,i.start_date=i.start_date||i.start||i.date,i)},getDurationArguments:function(t,e,i,n){return this._getStartEndConfig.apply(this,arguments)},hasDurationArguments:function(t,e,i,n){return this._getStartEndConfig.apply(this,arguments)},calculateEndDateArguments:function(e,i,n,a){var o,l=arguments[0];return l instanceof s?l:(o=r.isDate(l)?new s(arguments[0],arguments[1],arguments[2],void 0,arguments[3],void 0,arguments[4]):new s(l.start_date,l.duration,l.unit,l.step,l.task,null,l.calendar),l.id&amp;&amp;(o.task=l),o.unit=o.unit||t.config.duration_unit,o.step=o.step||t.config.duration_step,o)}}}},function(t,e){function i(t,e,i){for(var n=0;n&lt;e.length;n++)t.isLinkExists(e[n])&amp;&amp;(i[e[n]]=t.getLink(e[n]))}function n(t,e,n){i(t,e.$source,n),i(t,e.$target,n)}t.exports={getSubtreeLinks:function(t,e){var i={};return t.isTaskExists(e)&amp;&amp;n(t,t.getTask(e),i),t.eachTask(function(e){n(t,e,i)},e),i},getSubtreeTasks:function(t,e){var i={};return t.eachTask(function(t){i[t.id]=t},e),i}}},function(t,e,i){var n=i(26);function r(t){var e=function(t){var e=t.config.scale_unit,i=t.config.step;if(t.config.scale_offset_minimal){var r=new n(t),a=[r.primaryScale()].concat(t.config.subscales);r.sortScales(a),e=a[a.length-1].unit,i=a[a.length-1].step||1}return{unit:e,step:i}}(t),i=e.unit,r=e.step,a=function(t,e){var i={start_date:null,end_date:null};if(e.config.start_date&amp;&amp;e.config.end_date){i.start_date=e.date[t+\"_start\"](new Date(e.config.start_date));var n=new Date(e.config.end_date),r=e.date[t+\"_start\"](new Date(n));n=+n!=+r?e.date.add(r,1,t):r,i.end_date=n}return i}(i,t);a.start_date&amp;&amp;a.end_date||((a=function(t){return t.getSubtaskDates()}(t)).start_date&amp;&amp;a.end_date||(a={start_date:new Date,end_date:new Date}),a.start_date=t.date[i+\"_start\"](a.start_date),a.start_date=t.calculateEndDate({start_date:t.date[i+\"_start\"](a.start_date),duration:-1,unit:i,step:r}),a.end_date=t.date[i+\"_start\"](a.end_date),a.end_date=t.calculateEndDate({start_date:a.end_date,duration:2,unit:i,step:r})),t._min_date=a.start_date,t._max_date=a.end_date}t.exports=function(t){r(t),function(t){if(t.config.fit_tasks){var e=+t._min_date,i=+t._max_date;if(+t._min_date!=e||+t._max_date!=i)return t.render(),t.callEvent(\"onScaleAdjusted\",[]),!0}}(t)}},function(t,e,i){var n=i(0),r={$create:function(t){return n.mixin(t||[],this)},$removeAt:function(t,e){t&gt;=0&amp;&amp;this.splice(t,e||1)},$remove:function(t){this.$removeAt(this.$find(t))},$insertAt:function(t,e){if(e||0===e){var i=this.splice(e,this.length-e);this[e]=t,this.push.apply(this,i)}else this.push(t)},$find:function(t){for(var e=0;e&lt;this.length;e++)if(t==this[e])return e;return-1},$each:function(t,e){for(var i=0;i&lt;this.length;i++)t.call(e||this,this[i])},$map:function(t,e){for(var i=0;i&lt;this.length;i++)this[i]=t.call(e||this,this[i]);return this},$filter:function(t,e){for(var i=0;i&lt;this.length;i++)t.call(e||this,this[i])||(this.splice(i,1),i--);return this}};t.exports=r},function(t,e,i){var n=i(21),r=i(0),a=i(4),o=function(t){return this.pull={},this.$initItem=t.initItem,this.visibleOrder=n.$create(),this.fullOrder=n.$create(),this._skip_refresh=!1,this._filterRule=null,this._searchVisibleOrder={},this.$config=t,a(this),this};o.prototype={_parseInner:function(t){for(var e=null,i=[],n=0,r=t.length;n&lt;r;n++)e=t[n],this.$initItem&amp;&amp;(e=this.$initItem(e)),this.callEvent(\"onItemLoading\",[e])&amp;&amp;(this.pull.hasOwnProperty(e.id)||(this.fullOrder.push(e.id),i.push(e)),this.pull[e.id]=e);return i},parse:function(t){this.callEvent(\"onBeforeParse\",[t]);var e=this._parseInner(t);this.refresh(),this.callEvent(\"onParse\",[e])},getItem:function(t){return this.pull[t]},_updateOrder:function(t){t.call(this.visibleOrder),t.call(this.fullOrder)},updateItem:function(t,e){if(r.defined(e)||(e=this.getItem(t)),!this._skip_refresh&amp;&amp;!1===this.callEvent(\"onBeforeUpdate\",[e.id,e]))return!1;this.pull[t]=e,this._skip_refresh||(this.callEvent(\"onAfterUpdate\",[e.id,e]),this.callEvent(\"onStoreUpdated\",[e.id,e,\"update\"]))},_removeItemInner:function(t){this._updateOrder(function(){this.$remove(t)}),delete this.pull[t]},removeItem:function(t){var e=this.getItem(t);if(!this._skip_refresh&amp;&amp;!1===this.callEvent(\"onBeforeDelete\",[e.id,e]))return!1;this._removeItemInner(t),this._skip_refresh||(this.filter(),this.callEvent(\"onAfterDelete\",[e.id,e]),this.callEvent(\"onStoreUpdated\",[e.id,e,\"delete\"]))},_addItemInner:function(t,e){if(this.exists(t.id))this.silent(function(){this.updateItem(t.id,t)});else{var i=this.visibleOrder,n=i.length;(!r.defined(e)||e&lt;0)&amp;&amp;(e=n),e&gt;n&amp;&amp;(e=Math.min(i.length,e))}this.pull[t.id]=t,this._skip_refresh||this._updateOrder(function(){-1===this.$find(t.id)&amp;&amp;this.$insertAt(t.id,e)}),this.filter()},isVisible:function(t){return this.visibleOrder.$find(t)&gt;-1},getVisibleItems:function(){return this.getIndexRange()},addItem:function(t,e){return r.defined(t.id)||(t.id=r.uid()),this.$initItem&amp;&amp;(t=this.$initItem(t)),!(!this._skip_refresh&amp;&amp;!1===this.callEvent(\"onBeforeAdd\",[t.id,t]))&amp;&amp;(this._addItemInner(t,e),this._skip_refresh||(this.callEvent(\"onAfterAdd\",[t.id,t]),this.callEvent(\"onStoreUpdated\",[t.id,t,\"add\"])),t.id)},_changeIdInner:function(t,e){this.pull[t]&amp;&amp;(this.pull[e]=this.pull[t]);var i=this._searchVisibleOrder[t];this.pull[e].id=e,this._updateOrder(function(){this[this.$find(t)]=e}),this._searchVisibleOrder[e]=i,delete this._searchVisibleOrder[t],delete this.pull[t]},changeId:function(t,e){this._changeIdInner(t,e),this.callEvent(\"onIdChange\",[t,e])},exists:function(t){return!!this.pull[t]},_moveInner:function(t,e){var i=this.getIdByIndex(t);this._updateOrder(function(){this.$removeAt(t),this.$insertAt(i,Math.min(this.length,e))})},move:function(t,e){var i=this.getIdByIndex(t),n=this.getItem(i);this._moveInner(t,e),this._skip_refresh||this.callEvent(\"onStoreUpdated\",[n.id,n,\"move\"])},clearAll:function(){this.pull={},this.visibleOrder=n.$create(),this.fullOrder=n.$create(),this._skip_refresh||(this.callEvent(\"onClearAll\",[]),this.refresh())},silent:function(t,e){this._skip_refresh=!0,t.call(e||this),this._skip_refresh=!1},arraysEqual:function(t,e){if(t.length!==e.length)return!1;for(var i=0;i&lt;t.length;i++)if(t[i]!==e[i])return!1;return!0},refresh:function(t,e){var i;if(!this._skip_refresh&amp;&amp;(i=t?[t,this.pull[t],\"paint\"]:[null,null,null],!1!==this.callEvent(\"onBeforeStoreUpdate\",i))){if(t){if(!e){var n=this.visibleOrder;this.filter(),this.arraysEqual(n,this.visibleOrder)||(t=void 0)}}else this.filter();i=t?[t,this.pull[t],\"paint\"]:[null,null,null],this.callEvent(\"onStoreUpdated\",i)}},count:function(){return this.fullOrder.length},countVisible:function(){return this.visibleOrder.length},sort:function(t){},serialize:function(){},eachItem:function(t){for(var e=0;e&lt;this.fullOrder.length;e++){var i=this.pull[this.fullOrder[e]];t.call(this,i)}},filter:function(t){var e=n.$create();this.eachItem(function(t){this.callEvent(\"onFilterItem\",[t.id,t])&amp;&amp;e.push(t.id)}),this.visibleOrder=e,this._searchVisibleOrder={};for(var i=0;i&lt;this.visibleOrder.length;i++)this._searchVisibleOrder[this.visibleOrder[i]]=i},getIndexRange:function(t,e){e=Math.min(e||1/0,this.countVisible()-1);for(var i=[],n=t||0;n&lt;=e;n++)i.push(this.getItem(this.visibleOrder[n]));return i},getItems:function(){var t=[];for(var e in this.pull)t.push(this.pull[e]);return t},getIdByIndex:function(t){return this.visibleOrder[t]},getIndexById:function(t){var e=this._searchVisibleOrder[t];return void 0===e&amp;&amp;(e=-1),e},_getNullIfUndefined:function(t){return void 0===t?null:t},getFirst:function(){return this._getNullIfUndefined(this.visibleOrder[0])},getLast:function(){return this._getNullIfUndefined(this.visibleOrder[this.visibleOrder.length-1])},getNext:function(t){return this._getNullIfUndefined(this.visibleOrder[this.getIndexById(t)+1])},getPrev:function(t){return this._getNullIfUndefined(this.visibleOrder[this.getIndexById(t)-1])},destructor:function(){this.detachAllEvents(),this.pull=null,this.$initItem=null,this.visibleOrder=null,this.fullOrder=null,this._skip_refresh=null,this._filterRule=null,this._searchVisibleOrder=null}},t.exports=o},function(t,e){t.exports=function(t){function e(e,a){if(!t._isAllowedUnscheduledTask(e)){var o=a.getItemPosition(e),s=a.$getConfig(),l=a.$getTemplates(),c=a.getItemHeight(),u=t.getTaskType(e.type),d=Math.floor((t.config.row_height-c)/2);u==s.types.milestone&amp;&amp;s.link_line_width&gt;1&amp;&amp;(d+=1),u==s.types.milestone&amp;&amp;(o.left-=Math.round(c/2),o.width=c);var h=document.createElement(\"div\"),f=Math.round(o.width);a.$config.item_attribute&amp;&amp;h.setAttribute(a.$config.item_attribute,e.id),s.show_progress&amp;&amp;u!=s.types.milestone&amp;&amp;function(e,i,n,r,a){var o=1*e.progress||0;n=Math.max(n-2,0);var s=document.createElement(\"div\"),l=Math.round(n*o);l=Math.min(n,l),e.progressColor&amp;&amp;(s.style.backgroundColor=e.progressColor,s.style.opacity=1),s.style.width=l+\"px\",s.className=\"gantt_task_progress\",s.innerHTML=a.progress_text(e.start_date,e.end_date,e),r.rtl&amp;&amp;(s.style.position=\"absolute\",s.style.right=\"0px\");var c=document.createElement(\"div\");if(c.className=\"gantt_task_progress_wrapper\",c.appendChild(s),i.appendChild(c),t.config.drag_progress&amp;&amp;!t.isReadonly(e)){var u=document.createElement(\"div\"),d=l;r.rtl&amp;&amp;(d=n-l),u.style.left=d+\"px\",u.className=\"gantt_task_progress_drag\",s.appendChild(u),i.appendChild(u)}}(e,h,f,s,l);var _=function(e,i,n){var r=document.createElement(\"div\");return t.getTaskType(e.type)!=t.config.types.milestone&amp;&amp;(r.innerHTML=n.task_text(e.start_date,e.end_date,e)),r.className=\"gantt_task_content\",r}(e,0,l);e.textColor&amp;&amp;(_.style.color=e.textColor),h.appendChild(_);var g=function(e,i,n,r){var a=r.$getConfig(),o=[e];i&amp;&amp;o.push(i);var s=t.getState(),l=t.getTask(n);if(t.getTaskType(l.type)==a.types.milestone?o.push(\"gantt_milestone\"):t.getTaskType(l.type)==a.types.project&amp;&amp;o.push(\"gantt_project\"),o.push(\"gantt_bar_\"+t.getTaskType(l.type)),t.isSummaryTask(l)&amp;&amp;o.push(\"gantt_dependent_task\"),t.isSplitTask(l)&amp;&amp;o.push(\"gantt_split_parent\"),a.select_task&amp;&amp;n==s.selected_task&amp;&amp;o.push(\"gantt_selected\"),n==s.drag_id&amp;&amp;(o.push(\"gantt_drag_\"+s.drag_mode),s.touch_drag&amp;&amp;o.push(\"gantt_touch_\"+s.drag_mode)),s.link_source_id==n&amp;&amp;o.push(\"gantt_link_source\"),s.link_target_id==n&amp;&amp;o.push(\"gantt_link_target\"),a.highlight_critical_path&amp;&amp;t.isCriticalTask&amp;&amp;t.isCriticalTask(l)&amp;&amp;o.push(\"gantt_critical_task\"),s.link_landing_area&amp;&amp;s.link_target_id&amp;&amp;s.link_source_id&amp;&amp;s.link_target_id!=s.link_source_id){var c=s.link_source_id,u=s.link_from_start,d=s.link_to_start,h=t.isLinkAllowed(c,n,u,d),f=\"\";f=h?d?\"link_start_allow\":\"link_finish_allow\":d?\"link_start_deny\":\"link_finish_deny\",o.push(f)}return o.join(\" \")}(\"gantt_task_line\",l.task_class(e.start_date,e.end_date,e),e.id,a);(e.color||e.progressColor||e.textColor)&amp;&amp;(g+=\" gantt_task_inline_color\"),h.className=g;var p=[\"left:\"+o.left+\"px\",\"top:\"+(d+o.top)+\"px\",\"height:\"+c+\"px\",\"line-height:\"+Math.max(c&lt;30?c-2:c,0)+\"px\",\"width:\"+f+\"px\"];e.color&amp;&amp;p.push(\"background-color:\"+e.color),e.textColor&amp;&amp;p.push(\"color:\"+e.textColor),h.style.cssText=p.join(\";\");var v=function(t,e,r){var a=\"gantt_left \"+n(!e.rtl,t);return i(t,r.leftside_text,a)}(e,s,l);v&amp;&amp;h.appendChild(v),(v=function(t,e,r){var a=\"gantt_right \"+n(!!e.rtl,t);return i(t,r.rightside_text,a)}(e,s,l))&amp;&amp;h.appendChild(v),t._waiAria.setTaskBarAttr(e,h);var m=t.getState();return t.isReadonly(e)||(s.drag_resize&amp;&amp;!t.isSummaryTask(e)&amp;&amp;u!=s.types.milestone&amp;&amp;r(h,\"gantt_task_drag\",e,function(t){var e=document.createElement(\"div\");return e.className=t,e},s),s.drag_links&amp;&amp;s.show_links&amp;&amp;r(h,\"gantt_link_control\",e,function(t){var e=document.createElement(\"div\");e.className=t,e.style.cssText=[\"height:\"+c+\"px\",\"line-height:\"+c+\"px\"].join(\";\");var i=document.createElement(\"div\");i.className=\"gantt_link_point\";var n=!1;return m.link_source_id&amp;&amp;s.touch&amp;&amp;(n=!0),i.style.display=n?\"block\":\"\",e.appendChild(i),e},s)),h}}function i(t,e,i){if(!e)return null;var n=e(t.start_date,t.end_date,t);if(!n)return null;var r=document.createElement(\"div\");return r.className=\"gantt_side_content \"+i,r.innerHTML=n,r}function n(e,i){var n=function(e){return e?{$source:[t.config.links.start_to_start],$target:[t.config.links.start_to_start,t.config.links.finish_to_start]}:{$source:[t.config.links.finish_to_start,t.config.links.finish_to_finish],$target:[t.config.links.finish_to_finish]}}(e);for(var r in n)for(var a=i[r],o=0;o&lt;a.length;o++)for(var s=t.getLink(a[o]),l=0;l&lt;n[r].length;l++)if(s.type==n[r][l])return\"gantt_link_crossing\";return\"\"}function r(e,i,n,r,a){var o,s=t.getState();+n.start_date&gt;=+s.min_date&amp;&amp;((o=r([i,a.rtl?\"task_right\":\"task_left\",\"task_start_date\"].join(\" \"))).setAttribute(\"data-bind-property\",\"start_date\"),e.appendChild(o)),+n.end_date&lt;=+s.max_date&amp;&amp;((o=r([i,a.rtl?\"task_left\":\"task_right\",\"task_end_date\"].join(\" \"))).setAttribute(\"data-bind-property\",\"end_date\"),e.appendChild(o))}return function(i,n){var r=n.$getConfig().type_renderers[t.getTaskType(i.type)],a=e;return r?r.call(t,i,function(e){return a.call(t,e,n)},n):a.call(t,i,n)}}},function(t,e,i){var n=i(1),r=i(0),a=i(4),o=i(115),s=i(25),l=function(t,e,i,n){this.$config=r.mixin({},e||{}),this.$gantt=n,this.$parent=t,a(this),this.$state={}};l.prototype={init:function(t){var e=this.$gantt,n=e._waiAria.gridAttrString(),r=e._waiAria.gridDataAttrString();t.innerHTML=\"&lt;div class='gantt_grid' style='height:inherit;width:inherit;' \"+n+\"&gt;&lt;/div&gt;\",this.$grid=t.childNodes[0],this.$grid.innerHTML=\"&lt;div class='gantt_grid_scale' \"+e._waiAria.gridScaleRowAttrString()+\"&gt;&lt;/div&gt;&lt;div class='gantt_grid_data' \"+r+\"&gt;&lt;/div&gt;\",this.$grid_scale=this.$grid.childNodes[0],this.$grid_data=this.$grid.childNodes[1];var a=this.$getConfig()[this.$config.bind+\"_attribute\"];if(!a&amp;&amp;this.$config.bind&amp;&amp;(a=this.$config.bind+\"_id\"),this.$config.item_attribute=a||null,!this.$config.layers){var s=this._createLayerConfig();this.$config.layers=s}var l=o(e,this);l.init(),this._renderHeaderResizers=l.doOnRender,this._mouseDelegates=i(10)(e),this._addLayers(this.$gantt),this._initEvents(),this.callEvent(\"onReady\",[])},_validateColumnWidth:function(t,e){var i=t[e];if(i&amp;&amp;\"*\"!=i){var n=this.$gantt,r=1*i;isNaN(r)?n.assert(!1,\"Wrong \"+e+\" value of column \"+t.name):t[e]=r}},setSize:function(t,e){this.$config.width=this.$state.width=t,this.$state.height=e;for(var i,n=this.getGridColumns(),r=0,a=0,o=n.length;a&lt;o;a++)this._validateColumnWidth(n[a],\"min_width\"),this._validateColumnWidth(n[a],\"max_width\"),this._validateColumnWidth(n[a],\"width\"),r+=1*n[a].width;!isNaN(r)&amp;&amp;this.$config.scrollable||(r=i=this._setColumnsWidth(t+1)),this.$config.scrollable?(this.$grid_scale.style.width=r+\"px\",this.$grid_data.style.width=r+\"px\"):(this.$grid_scale.style.width=\"inherit\",this.$grid_data.style.width=\"inherit\"),this.$config.width-=1;var s=this.$getConfig();i!==t&amp;&amp;(s.grid_width=i,this.$config.width=i-1);var l=Math.max(this.$state.height-s.scale_height,0);this.$grid_data.style.height=l+\"px\",this.refresh()},getSize:function(){var t=this.$getConfig(),e=this.$config.rowStore,i=e?t.row_height*e.countVisible():0,n=this._getGridWidth();return{x:this.$state.width,y:this.$state.height,contentX:this.isVisible()?n:0,contentY:this.isVisible()?t.scale_height+i:0,scrollHeight:this.isVisible()?i:0,scrollWidth:this.isVisible()?n:0}},refresh:function(){this.$config.bind&amp;&amp;(this.$config.rowStore=this.$gantt.getDatastore(this.$config.bind)),this._initSmartRenderingPlaceholder(),this._calculateGridWidth(),this._renderGridHeader()},scrollTo:function(t,e){this.isVisible()&amp;&amp;(1*t==t&amp;&amp;(this.$state.scrollLeft=this.$grid.scrollLeft=t),1*e==e&amp;&amp;(this.$state.scrollTop=this.$grid_data.scrollTop=e))},getColumnIndex:function(t){for(var e=this.$getConfig().columns,i=0;i&lt;e.length;i++)if(e[i].name==t)return i;return null},getColumn:function(t){var e=this.getColumnIndex(t);return null===e?null:this.$getConfig().columns[e]},getGridColumns:function(){return this.$getConfig().columns.slice()},isVisible:function(){return this.$parent&amp;&amp;this.$parent.$config?!this.$parent.$config.hidden:this.$grid.offsetWidth},getItemHeight:function(){return this.$getConfig().row_height},_createLayerConfig:function(){var t=this;return[{renderer:this.$gantt.$ui.layers.gridLine,container:this.$grid_data,filter:[function(){return t.isVisible()}]}]},_addLayers:function(t){if(this.$config.bind){this._taskLayers=[];var e=this,i=this.$gantt.$services.getService(\"layers\"),n=i.getDataRender(this.$config.bind);n||(n=i.createDataRender({name:this.$config.bind,defaultContainer:function(){return e.$grid_data}}));for(var r=this.$config.layers,a=0;r&amp;&amp;a&lt;r.length;a++){var o=r[a];o.host=this;var s=n.addLayer(o);this._taskLayers.push(s)}this.$config.bind&amp;&amp;(this.$config.rowStore=this.$gantt.getDatastore(this.$config.bind)),this._initSmartRenderingPlaceholder()}},_refreshPlaceholderOnStoreUpdate:function(t){var e=this.$getConfig(),i=this.$config.rowStore;if(i&amp;&amp;null===t&amp;&amp;this.isVisible()&amp;&amp;e.smart_rendering){var n;if(this.$config.scrollY){var r=this.$gantt.$ui.getView(this.$config.scrollY);r&amp;&amp;(n=r.getScrollState().scrollSize)}if(n||(n=i?e.row_height*i.countVisible():0),n){this.$rowsPlaceholder&amp;&amp;this.$rowsPlaceholder.parentNode&amp;&amp;this.$rowsPlaceholder.parentNode.removeChild(this.$rowsPlaceholder);var a=this.$rowsPlaceholder=document.createElement(\"div\");a.style.visibility=\"hidden\",a.style.height=n+\"px\",a.style.width=\"1px\",this.$grid_data.appendChild(a)}}},_initSmartRenderingPlaceholder:function(){var t=this.$config.rowStore;t&amp;&amp;(this._initSmartRenderingPlaceholder=function(){},this._staticBgHandler=t.attachEvent(\"onStoreUpdated\",r.bind(this._refreshPlaceholderOnStoreUpdate,this)))},_initEvents:function(){var t=this.$gantt;this._mouseDelegates.delegate(\"click\",\"gantt_close\",t.bind(function(t,e,i){var r=this.$config.rowStore;if(!r)return!0;var a=n.locateAttribute(t,this.$config.item_attribute);return a&amp;&amp;r.close(a.getAttribute(this.$config.item_attribute)),!1},this),this.$grid),this._mouseDelegates.delegate(\"click\",\"gantt_open\",t.bind(function(t,e,i){var r=this.$config.rowStore;if(!r)return!0;var a=n.locateAttribute(t,this.$config.item_attribute);return a&amp;&amp;r.open(a.getAttribute(this.$config.item_attribute)),!1},this),this.$grid)},_clearLayers:function(t){var e=this.$gantt.$services.getService(\"layers\").getDataRender(this.$config.bind);if(this._taskLayers)for(var i=0;i&lt;this._taskLayers.length;i++)e.removeLayer(this._taskLayers[i]);this._taskLayers=[]},_getColumnWidth:function(t,e,i){var n=t.min_width||e.min_grid_column_width,r=Math.max(i,n||10);return t.max_width&amp;&amp;(r=Math.min(r,t.max_width)),r},_getGridWidthLimits:function(){for(var t=this.$getConfig(),e=this.getGridColumns(),i=0,n=0,r=0;r&lt;e.length;r++)i+=e[r].min_width?e[r].min_width:t.min_grid_column_width,void 0!==n&amp;&amp;(n=e[r].max_width?n+e[r].max_width:void 0);return[i,n]},_setColumnsWidth:function(t,e){var i=this.$getConfig(),n=this.getGridColumns(),r=0,a=t;e=window.isNaN(e)?-1:e;for(var o=0,s=n.length;o&lt;s;o++)r+=1*n[o].width;if(window.isNaN(r)){this._calculateGridWidth(),r=0;for(o=0,s=n.length;o&lt;s;o++)r+=1*n[o].width}var l=a-r,c=0;for(o=0;o&lt;e+1;o++)c+=n[o].width;r-=c;for(o=e+1;o&lt;n.length;o++){var u=n[o],d=Math.round(l*(u.width/r));l&lt;0?u.min_width&amp;&amp;u.width+d&lt;u.min_width?d=u.min_width-u.width:!u.min_width&amp;&amp;i.min_grid_column_width&amp;&amp;u.width+d&lt;i.min_grid_column_width&amp;&amp;(d=i.min_grid_column_width-u.width):u.max_width&amp;&amp;u.width+d&gt;u.max_width&amp;&amp;(d=u.max_width-u.width),r-=u.width,u.width+=d,l-=d}for(var h=l&gt;0?1:-1;l&gt;0&amp;&amp;1===h||l&lt;0&amp;&amp;-1===h;){var f=l;for(o=e+1;o&lt;n.length;o++){var _;if((_=n[o].width+h)==this._getColumnWidth(n[o],i,_)&amp;&amp;(l-=h,n[o].width=_),!l)break}if(f==l)break}l&amp;&amp;e&gt;-1&amp;&amp;((_=n[e].width+l)==this._getColumnWidth(n[e],i,_)&amp;&amp;(n[e].width=_));return this._getColsTotalWidth()},_getColsTotalWidth:function(){for(var t=this.getGridColumns(),e=0,i=0;i&lt;t.length;i++){var n=parseFloat(t[i].width);if(window.isNaN(n))return!1;e+=n}return e},_calculateGridWidth:function(){for(var t=this.$getConfig(),e=this.getGridColumns(),i=0,n=[],r=[],a=0;a&lt;e.length;a++){var o=parseFloat(e[a].width);window.isNaN(o)&amp;&amp;(o=t.min_grid_column_width||10,n.push(a)),r[a]=o,i+=o}var s=this._getGridWidth()+1;if(t.autofit||n.length){var l=s-i;if(t.autofit)for(a=0;a&lt;r.length;a++){var c=Math.round(l/(r.length-a));r[a]+=c,(u=this._getColumnWidth(e[a],t,r[a]))!=r[a]&amp;&amp;(c=u-r[a],r[a]=u),l-=c}else if(n.length)for(a=0;a&lt;n.length;a++){c=Math.round(l/(n.length-a));var u,d=n[a];r[d]+=c,(u=this._getColumnWidth(e[d],t,r[d]))!=r[d]&amp;&amp;(c=u-r[d],r[d]=u),l-=c}for(a=0;a&lt;r.length;a++)e[a].width=r[a]}else{var h=s!=i;this.$config.width=i-1,t.grid_width=i,h&amp;&amp;this.$parent._setContentSize(this.$config.width,this.$config.height)}},_renderGridHeader:function(){var t=this.$gantt,e=this.$getConfig(),i=this.$gantt.locale,n=this.$gantt.templates,r=this.getGridColumns();e.rtl&amp;&amp;(r=r.reverse());for(var a=[],o=0,s=i.labels,l=e.scale_height-1,c=0;c&lt;r.length;c++){var u=c==r.length-1,d=r[c];d.name||(d.name=t.uid()+\"\");var h=1*d.width,f=this._getGridWidth();u&amp;&amp;f&gt;o+h&amp;&amp;(d.width=h=f-o),o+=h;var _=t._sort&amp;&amp;d.name==t._sort.name?\"&lt;div class='gantt_sort gantt_\"+t._sort.direction+\"'&gt;&lt;/div&gt;\":\"\",g=[\"gantt_grid_head_cell\",\"gantt_grid_head_\"+d.name,u?\"gantt_last_cell\":\"\",n.grid_header_class(d.name,d)].join(\" \"),p=\"width:\"+(h-(u?1:0))+\"px;\",v=d.label||s[\"column_\"+d.name]||s[d.name];v=v||\"\";var m=\"&lt;div class='\"+g+\"' style='\"+p+\"' \"+t._waiAria.gridScaleCellAttrString(d,v)+\" data-column-id='\"+d.name+\"' column_id='\"+d.name+\"'&gt;\"+v+_+\"&lt;/div&gt;\";a.push(m)}this.$grid_scale.style.height=e.scale_height+\"px\",this.$grid_scale.style.lineHeight=l+\"px\",this.$grid_scale.innerHTML=a.join(\"\"),this._renderHeaderResizers&amp;&amp;this._renderHeaderResizers()},_getGridWidth:function(){return this.$config.width},destructor:function(){this._clearLayers(this.$gantt),this._mouseDelegates&amp;&amp;(this._mouseDelegates.destructor(),this._mouseDelegates=null),this.$grid=null,this.$grid_scale=null,this.$grid_data=null,this.$gantt=null,this.$config.rowStore&amp;&amp;(this.$config.rowStore.detachEvent(this._staticBgHandler),this.$config.rowStore=null),this.callEvent(\"onDestroy\",[]),this.detachAllEvents()}},r.mixin(l.prototype,s()),t.exports=l},function(t,e){t.exports=function(){return{getRowTop:function(t){return t*this.$getConfig().row_height},getItemTop:function(t){if(this.$config.rowStore){var e=this.$config.rowStore;if(!e)return 0;var i=e.getIndexById(t);if(-1===i&amp;&amp;e.getParent&amp;&amp;e.exists(t)){var n=e.getParent(t);if(e.exists(n)){var r=e.getItem(n);if(this.$gantt.isSplitTask(r))return this.getRowTop(e.getIndexById(r.id))}}return this.getRowTop(i)}return 0}}}},function(t,e,i){var n=i(0);t.exports=function(t){var e=t.date,i=t.$services;return{getSum:function(t,e,i){void 0===i&amp;&amp;(i=t.length-1),void 0===e&amp;&amp;(e=0);for(var n=0,r=e;r&lt;=i;r++)n+=t[r];return n},setSumWidth:function(t,e,i,n){var r=e.width;void 0===n&amp;&amp;(n=r.length-1),void 0===i&amp;&amp;(i=0);var a=n-i+1;if(!(i&gt;r.length-1||a&lt;=0||n&gt;r.length-1)){var o=t-this.getSum(r,i,n);this.adjustSize(o,r,i,n),this.adjustSize(-o,r,n+1),e.full_width=this.getSum(r)}},splitSize:function(t,e){for(var i=[],n=0;n&lt;e;n++)i[n]=0;return this.adjustSize(t,i),i},adjustSize:function(t,e,i,n){i||(i=0),void 0===n&amp;&amp;(n=e.length-1);for(var r=n-i+1,a=this.getSum(e,i,n),o=i;o&lt;=n;o++){var s=Math.floor(t*(a?e[o]/a:1/r));a-=e[o],t-=s,r--,e[o]+=s}e[e.length-1]+=t},sortScales:function(t){function i(t,i){var n=new Date(1970,0,1);return e.add(n,i,t)-n}t.sort(function(t,e){return i(t.unit,t.step)&lt;i(e.unit,e.step)?1:i(t.unit,t.step)&gt;i(e.unit,e.step)?-1:0});for(var n=0;n&lt;t.length;n++)t[n].index=n},primaryScale:function(){return i.getService(\"templateLoader\").initTemplate(\"date_scale\",void 0,void 0,i.config(),i.templates()),{unit:i.config().scale_unit,step:i.config().step,template:i.templates().date_scale,date:i.config().date_scale,css:i.templates().scale_cell_class}},prepareConfigs:function(t,e,i,n,r,a,o){for(var s=this.splitSize(n,t.length),l=i,c=[],u=t.length-1;u&gt;=0;u--){var d=u==t.length-1,h=this.initScaleConfig(t[u],r,a);d&amp;&amp;this.processIgnores(h),this.initColSizes(h,e,l,s[u]),this.limitVisibleRange(h),d&amp;&amp;(l=h.full_width),c.unshift(h)}for(u=0;u&lt;c.length-1;u++)this.alineScaleColumns(c[c.length-1],c[u]);for(u=0;u&lt;c.length;u++)o&amp;&amp;this.reverseScale(c[u]),this.setPosSettings(c[u]);return c},reverseScale:function(t){t.width=t.width.reverse(),t.trace_x=t.trace_x.reverse();var e=t.trace_indexes;t.trace_indexes={},t.trace_index_transition={},t.rtl=!0;for(var i=0;i&lt;t.trace_x.length;i++)t.trace_indexes[t.trace_x[i].valueOf()]=i,t.trace_index_transition[e[t.trace_x[i].valueOf()]]=i;return t},setPosSettings:function(t){for(var e=0,i=t.trace_x.length;e&lt;i;e++)t.left.push((t.width[e-1]||0)+(t.left[e-1]||0))},_ignore_time_config:function(t,n){if(i.config().skip_off_time){for(var r=!0,a=t,o=0;o&lt;n.step;o++)o&amp;&amp;(a=e.add(t,o,n.unit)),r=r&amp;&amp;!this.isWorkTime(a,n.unit);return r}return!1},processIgnores:function(t){t.ignore_x={},t.display_count=t.count},initColSizes:function(t,i,n,r){var a=n;t.height=r;var o=void 0===t.display_count?t.count:t.display_count;o||(o=1),t.col_width=Math.floor(a/o),i&amp;&amp;t.col_width&lt;i&amp;&amp;(t.col_width=i,a=t.col_width*o),t.width=[];for(var s=t.ignore_x||{},l=0;l&lt;t.trace_x.length;l++)if(s[t.trace_x[l].valueOf()]||t.display_count==t.count)t.width[l]=0;else{var c=1;\"month\"==t.unit&amp;&amp;(c=Math.round((e.add(t.trace_x[l],t.step,t.unit)-t.trace_x[l])/864e5)),t.width[l]=c}this.adjustSize(a-this.getSum(t.width),t.width),t.full_width=this.getSum(t.width)},initScaleConfig:function(t,e,i){var r=n.mixin({count:0,col_width:0,full_width:0,height:0,width:[],left:[],trace_x:[],trace_indexes:{},min_date:new Date(e),max_date:new Date(i)},t);return this.eachColumn(t.unit,t.step,e,i,function(t){r.count++,r.trace_x.push(new Date(t)),r.trace_indexes[t.valueOf()]=r.trace_x.length-1}),r.trace_x_ascending=r.trace_x.slice(),r},iterateScales:function(t,e,i,n,r){for(var a=e.trace_x,o=t.trace_x,s=i||0,l=n||o.length-1,c=0,u=1;u&lt;a.length;u++){var d=t.trace_indexes[+a[u]];void 0!==d&amp;&amp;d&lt;=l&amp;&amp;(r&amp;&amp;r.apply(this,[c,u,s,d]),s=d,c=u)}},alineScaleColumns:function(t,e,i,n){this.iterateScales(t,e,i,n,function(i,n,r,a){var o=this.getSum(t.width,r,a-1);this.getSum(e.width,i,n-1)!=o&amp;&amp;this.setSumWidth(o,e,i,n-1)})},eachColumn:function(i,n,r,a,o){var s=new Date(r),l=new Date(a);e[i+\"_start\"]&amp;&amp;(s=e[i+\"_start\"](s));var c=new Date(s);for(+c&gt;=+l&amp;&amp;(l=e.add(c,n,i));+c&lt;+l;){o.call(this,new Date(c));var u=c.getTimezoneOffset();c=e.add(c,n,i),c=t._correct_dst_change(c,u,n,i),e[i+\"_start\"]&amp;&amp;(c=e[i+\"_start\"](c))}},limitVisibleRange:function(t){var i=t.trace_x,n=t.width.length-1,r=0;if(+i[0]&lt;+t.min_date&amp;&amp;0!=n){var a=Math.floor(t.width[0]*((i[1]-t.min_date)/(i[1]-i[0])));r+=t.width[0]-a,t.width[0]=a,i[0]=new Date(t.min_date)}var o=i.length-1,s=i[o],l=e.add(s,t.step,t.unit);if(+l&gt;+t.max_date&amp;&amp;o&gt;0&amp;&amp;(a=t.width[o]-Math.floor(t.width[o]*((l-t.max_date)/(l-s))),r+=t.width[o]-a,t.width[o]=a),r){for(var c=this.getSum(t.width),u=0,d=0;d&lt;t.width.length;d++){var h=Math.floor(r*(t.width[d]/c));t.width[d]+=h,u+=h}this.adjustSize(r-u,t.width)}}}}},function(t,e,i){var n=i(2),r=i(1),a=function(t){\"use strict\";function e(e,i,n){var r=t.apply(this,arguments)||this;return e&amp;&amp;(r.$root=!0),r._parseConfig(i),r.$name=\"layout\",r}return n(e,t),e.prototype.destructor=function(){this.$container&amp;&amp;this.$view&amp;&amp;r.removeNode(this.$view);for(var e=0;e&lt;this.$cells.length;e++){this.$cells[e].destructor()}this.$cells=[],t.prototype.destructor.call(this)},e.prototype._resizeScrollbars=function(t,e){var i,n=!1,r=[],a=[];function o(t){t.$parent.show(),n=!0,r.push(t)}function s(t){t.$parent.hide(),n=!0,a.push(t)}for(var l=0;l&lt;e.length;l++)t[(i=e[l]).$config.scroll]?s(i):i.shouldHide()?s(i):i.shouldShow()?o(i):i.isVisible()?r.push(i):a.push(i);var c={};for(l=0;l&lt;r.length;l++)r[l].$config.group&amp;&amp;(c[r[l].$config.group]=!0);for(l=0;l&lt;a.length;l++)(i=a[l]).$config.group&amp;&amp;c[i.$config.group]&amp;&amp;o(i);return n},e.prototype._syncCellSizes=function(t,e){if(t){var i={};return this._eachChild(function(t){t.$config.group&amp;&amp;\"scrollbar\"!=t.$name&amp;&amp;\"resizer\"!=t.$name&amp;&amp;(i[t.$config.group]||(i[t.$config.group]=[]),i[t.$config.group].push(t))}),i[t]&amp;&amp;this._syncGroupSize(i[t],e),i[t]}},e.prototype._syncGroupSize=function(t,e){if(t.length)for(var i=t[0].$parent._xLayout?\"width\":\"height\",n=t[0].$parent.getNextSibling(t[0].$id)?1:-1,r=0;r&lt;t.length;r++){var a=t[r].getSize(),o=n&gt;0?t[r].$parent.getNextSibling(t[r].$id):t[r].$parent.getPrevSibling(t[r].$id);\"resizer\"==o.$name&amp;&amp;(o=n&gt;0?o.$parent.getNextSibling(o.$id):o.$parent.getPrevSibling(o.$id));var s=o.getSize();if(o[i]){var l=a.gravity+s.gravity,c=a[i]+s[i],u=l/c;t[r].$config.gravity=u*e,o.$config[i]=c-e,o.$config.gravity=l-u*e}else t[r].$config[i]=e;var d=this.$gantt.$ui.getView(\"grid\");d&amp;&amp;t[r].$content===d&amp;&amp;!d.$config.scrollable&amp;&amp;(this.$gantt.config.grid_width=e)}},e.prototype.resize=function(e){var i=!1;if(this.$root&amp;&amp;!this._resizeInProgress&amp;&amp;(this.callEvent(\"onBeforeResize\",[]),i=!0,this._resizeInProgress=!0),t.prototype.resize.call(this,!0),t.prototype.resize.call(this,!1),i){var n=[];n=(n=(n=n.concat(this.getCellsByType(\"viewCell\"))).concat(this.getCellsByType(\"viewLayout\"))).concat(this.getCellsByType(\"hostCell\"));for(var r=this.getCellsByType(\"scroller\"),a=0;a&lt;n.length;a++)n[a].$config.hidden||n[a].setContentSize();var o=this._getAutosizeMode(this.$config.autosize),s=this._resizeScrollbars(o,r);if(this.$config.autosize&amp;&amp;(this.autosize(this.$config.autosize),s=!0),s){this.resize();for(a=0;a&lt;n.length;a++)n[a].$config.hidden||n[a].setContentSize()}this.callEvent(\"onResize\",[])}i&amp;&amp;(this._resizeInProgress=!1)},e.prototype._eachChild=function(t,e){if(t(e=e||this),e.$cells)for(var i=0;i&lt;e.$cells.length;i++)this._eachChild(t,e.$cells[i])},e.prototype.isChild=function(t){var e=!1;return this._eachChild(function(i){i!==t&amp;&amp;i.$content!==t||(e=!0)}),e},e.prototype.getCellsByType=function(t){var i=[];if(t===this.$name&amp;&amp;i.push(this),this.$content&amp;&amp;this.$content.$name==t&amp;&amp;i.push(this.$content),this.$cells)for(var n=0;n&lt;this.$cells.length;n++){var r=e.prototype.getCellsByType.call(this.$cells[n],t);r.length&amp;&amp;i.push.apply(i,r)}return i},e.prototype.getNextSibling=function(t){var e=this.cellIndex(t);return e&gt;=0&amp;&amp;this.$cells[e+1]?this.$cells[e+1]:null},e.prototype.getPrevSibling=function(t){var e=this.cellIndex(t);return e&gt;=0&amp;&amp;this.$cells[e-1]?this.$cells[e-1]:null},e.prototype.cell=function(t){for(var e=0;e&lt;this.$cells.length;e++){var i=this.$cells[e];if(i.$id===t)return i;var n=i.cell(t);if(n)return n}},e.prototype.cellIndex=function(t){for(var e=0;e&lt;this.$cells.length;e++)if(this.$cells[e].$id===t)return e;return-1},e.prototype.moveView=function(t,e){if(this.$cells[e]!==t)return window.alert(\"Not implemented\");e+=this.$config.header?1:0;var i=this.$view;e&gt;=i.childNodes.length?i.appendChild(t.$view):i.insertBefore(t.$view,i.childNodes[e])},e.prototype._parseConfig=function(t){this.$cells=[],this._xLayout=!t.rows;for(var e=t.rows||t.cols||t.views,i=0;i&lt;e.length;i++){var n=e[i];n.mode=this._xLayout?\"x\":\"y\";var r=this.$factory.initUI(n,this);r?(r.$parent=this,this.$cells.push(r)):(e.splice(i,1),i--)}},e.prototype.getCells=function(){return this.$cells},e.prototype.render=function(){var t=r.insertNode(this.$container,this.$toHTML());this.$fill(t,null),this.callEvent(\"onReady\",[]),this.resize(),this.render=this.resize},e.prototype.$fill=function(t,e){this.$view=t,this.$parent=e;for(var i=r.getChildNodes(t,\"gantt_layout_cell\"),n=i.length-1;n&gt;=0;n--){var a=this.$cells[n];a.$fill(i[n],this),a.$config.hidden&amp;&amp;a.$view.parentNode.removeChild(a.$view)}},e.prototype.$toHTML=function(){for(var e=this._xLayout?\"x\":\"y\",i=[],n=0;n&lt;this.$cells.length;n++)i.push(this.$cells[n].$toHTML());return t.prototype.$toHTML.call(this,i.join(\"\"),(this.$root?\"gantt_layout_root \":\"\")+\"gantt_layout gantt_layout_\"+e)},e.prototype.getContentSize=function(t){for(var e,i,n,r=0,a=0,o=0;o&lt;this.$cells.length;o++)(i=this.$cells[o]).$config.hidden||(e=i.getContentSize(t),\"scrollbar\"===i.$config.view&amp;&amp;t[i.$config.scroll]&amp;&amp;(e.height=0,e.width=0),i.$config.resizer&amp;&amp;(this._xLayout?e.height=0:e.width=0),n=i._getBorderSizes(),this._xLayout?(r+=e.width+n.horizontal,a=Math.max(a,e.height+n.vertical)):(r=Math.max(r,e.width+n.horizontal),a+=e.height+n.vertical));return r+=(n=this._getBorderSizes()).horizontal,a+=n.vertical,this.$root&amp;&amp;(r+=1,a+=1),{width:r,height:a}},e.prototype._cleanElSize=function(t){return 1*(t||\"\").toString().replace(\"px\",\"\")||0},e.prototype._getBoxStyles=function(t){var e=null,i=[\"width\",\"height\",\"paddingTop\",\"paddingBottom\",\"paddingLeft\",\"paddingRight\",\"borderLeftWidth\",\"borderRightWidth\",\"borderTopWidth\",\"borderBottomWidth\"],n={boxSizing:\"border-box\"==(e=window.getComputedStyle?window.getComputedStyle(t,null):{width:t.clientWidth,height:t.clientHeight}).boxSizing};e.MozBoxSizing&amp;&amp;(n.boxSizing=\"border-box\"==e.MozBoxSizing);for(var r=0;r&lt;i.length;r++)n[i[r]]=e[i[r]]?this._cleanElSize(e[i[r]]):0;var a={horPaddings:n.paddingLeft+n.paddingRight+n.borderLeftWidth+n.borderRightWidth,vertPaddings:n.paddingTop+n.paddingBottom+n.borderTopWidth+n.borderBottomWidth,borderBox:n.boxSizing,innerWidth:n.width,innerHeight:n.height,outerWidth:n.width,outerHeight:n.height};return a.borderBox?(a.innerWidth-=a.horPaddings,a.innerHeight-=a.vertPaddings):(a.outerWidth+=a.horPaddings,a.outerHeight+=a.vertPaddings),a},e.prototype._getAutosizeMode=function(t){var e={x:!1,y:!1};return\"xy\"===t?e.x=e.y=!0:\"y\"===t||!0===t?e.y=!0:\"x\"===t&amp;&amp;(e.x=!0),e},e.prototype.autosize=function(t){var e=this._getAutosizeMode(t),i=this._getBoxStyles(this.$container),n=this.getContentSize(t),r=this.$container;e.x&amp;&amp;(i.borderBox&amp;&amp;(n.width+=i.horPaddings),r.style.width=n.width+\"px\"),e.y&amp;&amp;(i.borderBox&amp;&amp;(n.height+=i.vertPaddings),r.style.height=n.height+\"px\")},e.prototype.getSize=function(){this._sizes=[];for(var e=0,i=0,n=1e5,r=0,a=1e5,o=0,s=0;s&lt;this.$cells.length;s++){var l=this._sizes[s]=this.$cells[s].getSize();this.$cells[s].$config.hidden||(this._xLayout?(!l.width&amp;&amp;l.minWidth?e+=l.minWidth:e+=l.width,n+=l.maxWidth,i+=l.minWidth,r=Math.max(r,l.height),a=Math.min(a,l.maxHeight),o=Math.max(o,l.minHeight)):(!l.height&amp;&amp;l.minHeight?r+=l.minHeight:r+=l.height,a+=l.maxHeight,o+=l.minHeight,e=Math.max(e,l.width),n=Math.min(n,l.maxWidth),i=Math.max(i,l.minWidth)))}var c=t.prototype.getSize.call(this);return c.maxWidth&gt;=1e5&amp;&amp;(c.maxWidth=n),c.maxHeight&gt;=1e5&amp;&amp;(c.maxHeight=a),c.minWidth=c.minWidth!=c.minWidth?0:c.minWidth,c.minHeight=c.minHeight!=c.minHeight?0:c.minHeight,this._xLayout?(c.minWidth+=this.$config.margin*this.$cells.length||0,c.minWidth+=2*this.$config.padding||0,c.minHeight+=2*this.$config.padding||0):(c.minHeight+=this.$config.margin*this.$cells.length||0,c.minHeight+=2*this.$config.padding||0),c},e.prototype._calcFreeSpace=function(t,e,i){var n=i?e.minWidth:e.minHeight,r=e.maxWidth,a=t;return a?(a&gt;r&amp;&amp;(a=r),a&lt;n&amp;&amp;(a=n),this._free-=a):((a=Math.floor(this._free/this._gravity*e.gravity))&gt;r&amp;&amp;(a=r,this._free-=a,this._gravity-=e.gravity),a&lt;n&amp;&amp;(a=n,this._free-=a,this._gravity-=e.gravity)),a},e.prototype._calcSize=function(t,e,i){var n=t,r=i?e.minWidth:e.minHeight,a=i?e.maxWidth:e.maxHeight;return n||(n=Math.floor(this._free/this._gravity*e.gravity)),n&gt;a&amp;&amp;(n=a),n&lt;r&amp;&amp;(n=r),n},e.prototype._configureBorders=function(){this.$root&amp;&amp;this._setBorders([this._borders.left,this._borders.top,this._borders.right,this._borders.bottom],this);for(var t=this._xLayout?this._borders.right:this._borders.bottom,e=this.$cells,i=e.length-1,n=i;n&gt;=0;n--)if(!e[n].$config.hidden){i=n;break}for(n=0;n&lt;e.length;n++)if(!e[n].$config.hidden){var r=n&gt;=i,a=\"\";!r&amp;&amp;e[n+1]&amp;&amp;\"scrollbar\"==e[n+1].$config.view&amp;&amp;(this._xLayout?r=!0:a=\"gantt_layout_cell_border_transparent\"),this._setBorders(r?[]:[t,a],e[n])}},e.prototype._updateCellVisibility=function(){for(var t,e=this._visibleCells||{},i=!this._visibleCells,n={},r=0;r&lt;this._sizes.length;r++)t=this.$cells[r],!i&amp;&amp;t.$config.hidden&amp;&amp;e[t.$id]?t._hide(!0):t.$config.hidden||e[t.$id]||t._hide(!1),t.$config.hidden||(n[t.$id]=!0);this._visibleCells=n},e.prototype.setSize=function(e,i){this._configureBorders(),t.prototype.setSize.call(this,e,i),i=this.$lastSize.contentY,e=this.$lastSize.contentX;var n,r,a=this.$config.padding||0;this.$view.style.padding=a+\"px\",this._gravity=0,this._free=this._xLayout?e:i,this._free-=2*a,this._updateCellVisibility();for(var o=0;o&lt;this._sizes.length;o++)if(!(n=this.$cells[o]).$config.hidden){var s=this.$config.margin||0;\"resizer\"!=n.$name||s||(s=-1);var l=n.$view,c=this._xLayout?\"marginRight\":\"marginBottom\";o!==this.$cells.length-1&amp;&amp;(l.style[c]=s+\"px\",this._free-=s),r=this._sizes[o],this._xLayout?r.width||(this._gravity+=r.gravity):r.height||(this._gravity+=r.gravity)}for(o=0;o&lt;this._sizes.length;o++)if(!(n=this.$cells[o]).$config.hidden){var u=(r=this._sizes[o]).width,d=r.height;this._xLayout?this._calcFreeSpace(u,r,!0):this._calcFreeSpace(d,r,!1)}for(o=0;o&lt;this.$cells.length;o++)if(!(n=this.$cells[o]).$config.hidden){r=this._sizes[o];var h=void 0,f=void 0;this._xLayout?(h=this._calcSize(r.width,r,!0),f=i-2*a):(h=e-2*a,f=this._calcSize(r.height,r,!1)),n.setSize(h,f)}},e}(i(7));t.exports=a},function(t,e){var i,n,r=t.exports={};function a(){throw new Error(\"setTimeout has not been defined\")}function o(){throw new Error(\"clearTimeout has not been defined\")}function s(t){if(i===setTimeout)return setTimeout(t,0);if((i===a||!i)&amp;&amp;setTimeout)return i=setTimeout,setTimeout(t,0);try{return i(t,0)}catch(e){try{return i.call(null,t,0)}catch(e){return i.call(this,t,0)}}}!function(){try{i=\"function\"==typeof setTimeout?setTimeout:a}catch(t){i=a}try{n=\"function\"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var l,c=[],u=!1,d=-1;function h(){u&amp;&amp;l&amp;&amp;(u=!1,l.length?c=l.concat(c):d=-1,c.length&amp;&amp;f())}function f(){if(!u){var t=s(h);u=!0;for(var e=c.length;e;){for(l=c,c=[];++d&lt;e;)l&amp;&amp;l[d].run();d=-1,e=c.length}l=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&amp;&amp;clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function _(t,e){this.fun=t,this.array=e}function g(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length&gt;1)for(var i=1;i&lt;arguments.length;i++)e[i-1]=arguments[i];c.push(new _(t,e)),1!==c.length||u||s(f)},_.prototype.run=function(){this.fun.apply(null,this.array)},r.title=\"browser\",r.browser=!0,r.env={},r.argv=[],r.version=\"\",r.versions={},r.on=g,r.addListener=g,r.once=g,r.off=g,r.removeListener=g,r.removeAllListeners=g,r.emit=g,r.prependListener=g,r.prependOnceListener=g,r.listeners=function(t){return[]},r.binding=function(t){throw new Error(\"process.binding is not supported\")},r.cwd=function(){return\"/\"},r.chdir=function(t){throw new Error(\"process.chdir is not supported\")},r.umask=function(){return 0}},function(t,e){t.exports=function(t,e){if(!e)return!0;if(t._on_timeout)return!1;var i=Math.ceil(1e3/e);return i&lt;2||(setTimeout(function(){delete t._on_timeout},i),t._on_timeout=!0,!0)}},function(t,e){t.exports=function(t){t.destructor=function(){for(var e in t.callEvent(\"onDestroy\",[]),this.clearAll(),this.$root&amp;&amp;delete this.$root.gantt,this._eventRemoveAll(),this.$layout&amp;&amp;this.$layout.destructor(),this.resetLightbox(),this._dp&amp;&amp;this._dp.destructor&amp;&amp;this._dp.destructor(),this.$services.destructor(),this.detachAllEvents(),this)0===e.indexOf(\"$\")&amp;&amp;delete this[e]}}},function(t,e){t.exports=function(t){return function(e,i){e||t.config.show_errors&amp;&amp;!1!==t.callEvent(\"onError\",[i])&amp;&amp;t.message({type:\"error\",text:i,expire:-1})}}},function(t,e,i){var n=i(1),r=i(3);t.exports=function(t){var e=i(20);function a(t,e){var i;t.event(e,\"resize\",function(){clearTimeout(i),i=setTimeout(function(){t.render()},300)})}t.assert=i(31)(t),t.init=function(t,e,i){e&amp;&amp;i&amp;&amp;(this.config.start_date=this._min_date=new Date(e),this.config.end_date=this._max_date=new Date(i)),this.date.init(),this.config.scroll_size||(this.config.scroll_size=n.getScrollSize()||1),this.init=function(t){this.$container&amp;&amp;this.$container.parentNode&amp;&amp;(this.$container.parentNode.removeChild(this.$container),this.$container=null),this.$layout&amp;&amp;this.$layout.clear(),this._reinit(t)},this._reinit(t)},t._reinit=function(i){this.callEvent(\"onBeforeGanttReady\",[]),this._eventRemoveAll(),this.$mouseEvents.reset(),this.resetLightbox(),this._update_flags(),this.$services.getService(\"templateLoader\").initTemplates(this),this._clearTaskLayers(),this._clearLinkLayers(),this.$layout&amp;&amp;(this.$layout.destructor(),this.$ui.reset()),this.$root=n.toNode(i),this.$root&amp;&amp;(this.$root.innerHTML=\"\"),this.$root.gantt=this,e(this),this.config.layout.id=\"main\",this.$layout=this.$ui.createView(\"layout\",i,this.config.layout),this.$layout.attachEvent(\"onBeforeResize\",function(){for(var e=t.$services.getService(\"datastores\"),i=0;i&lt;e.length;i++)t.getDatastore(e[i]).filter()}),this.$layout.attachEvent(\"onResize\",function(){t.refreshData()}),this.callEvent(\"onGanttLayoutReady\",[]),this.$layout.render(),t.$container=this.$layout.$container.firstChild,function(t){\"static\"==window.getComputedStyle(t.$root).getPropertyValue(\"position\")&amp;&amp;(t.$root.style.position=\"relative\");var e=document.createElement(\"iframe\");e.className=\"gantt_container_resize_watcher\",e.tabIndex=-1,t.$root.appendChild(e),e.contentWindow?a(t,e.contentWindow):(t.$root.removeChild(e),a(t,window))}(t),this.callEvent(\"onTemplatesReady\",[]),this.$mouseEvents.reset(this.$root),this.callEvent(\"onGanttReady\",[]),this.render()},t.$click={buttons:{edit:function(e){t.showLightbox(e)},delete:function(e){var i=t.locale.labels.confirm_deleting,n=t.locale.labels.confirm_deleting_title;t._dhtmlx_confirm(i,n,function(){t.isTaskExists(e)?(t.getTask(e).$new?(t.silent(function(){t.deleteTask(e,!0)}),t.refreshData()):t.deleteTask(e),t.hideLightbox()):t.hideLightbox()})}}},t.render=function(){this.callEvent(\"onBeforeGanttRender\",[]),!this.config.sort&amp;&amp;this._sort&amp;&amp;(this._sort=void 0);var i=this.getScrollState(),n=i?i.x:0;this._getHorizontalScrollbar()&amp;&amp;(n=this._getHorizontalScrollbar().$config.codeScrollLeft||n||0);var r=null;if(n&amp;&amp;(r=t.dateFromPos(n+this.config.task_scroll_offset)),e(this),this.$layout.$config.autosize=this.config.autosize,this.$layout.resize(),this.config.preserve_scroll&amp;&amp;i&amp;&amp;n){var a=t.getScrollState();+r==+t.dateFromPos(a.x)&amp;&amp;a.y==i.y||(r&amp;&amp;this.showDate(r),i.y&amp;&amp;t.scrollTo(void 0,i.y))}this.callEvent(\"onGanttRender\",[])},t.setSizes=t.render,t.locate=function(t){var e=n.getTargetNode(t);if((n.getClassName(e)||\"\").indexOf(\"gantt_task_cell\")&gt;=0)return null;var i=arguments[1]||this.config.task_attribute,r=n.locateAttribute(e,i);return r?r.getAttribute(i):null},t._locate_css=function(t,e,i){return n.locateClassName(t,e,i)},t._locateHTML=function(t,e){return n.locateAttribute(t,e||this.config.task_attribute)},t.getTaskRowNode=function(t){for(var e=this.$grid_data.childNodes,i=this.config.task_attribute,n=0;n&lt;e.length;n++){if(e[n].getAttribute)if(e[n].getAttribute(i)==t)return e[n]}return null},t.changeLightboxType=function(e){if(this.getLightboxType()==e)return!0;t._silent_redraw_lightbox(e)},t._get_link_type=function(e,i){var n=null;return e&amp;&amp;i?n=t.config.links.start_to_start:!e&amp;&amp;i?n=t.config.links.finish_to_start:e||i?e&amp;&amp;!i&amp;&amp;(n=t.config.links.start_to_finish):n=t.config.links.finish_to_finish,n},t.isLinkAllowed=function(t,e,i,n){var r=null;if(!(r=\"object\"==typeof t?t:{source:t,target:e,type:this._get_link_type(i,n)}))return!1;if(!(r.source&amp;&amp;r.target&amp;&amp;r.type))return!1;if(r.source==r.target)return!1;var a=!0;return this.checkEvent(\"onLinkValidation\")&amp;&amp;(a=this.callEvent(\"onLinkValidation\",[r])),a},t._correct_dst_change=function(e,i,n,a){var o=r.getSecondsInUnit(a)*n;if(o&gt;3600&amp;&amp;o&lt;86400){var s=e.getTimezoneOffset()-i;s&amp;&amp;(e=t.date.add(e,s,\"minute\"))}return e},t.isSplitTask=function(e){return t.assert(e&amp;&amp;e instanceof Object,\"Invalid argument &lt;b&gt;task&lt;/b&gt;=\"+e+\" of gantt.isSplitTask. Task object was expected\"),this.$data.tasksStore._isSplitItem(e)},t._is_icon_open_click=function(t){if(!t)return!1;var e=t.target||t.srcElement;if(!e||!e.className)return!1;var i=n.getClassName(e);return-1!==i.indexOf(\"gantt_tree_icon\")&amp;&amp;(-1!==i.indexOf(\"gantt_close\")||-1!==i.indexOf(\"gantt_open\"))}}},function(t,e){t.exports=function(t){t.locale={date:{month_full:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],month_short:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],day_full:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],day_short:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]},labels:{new_task:\"New task\",icon_save:\"Save\",icon_cancel:\"Cancel\",icon_details:\"Details\",icon_edit:\"Edit\",icon_delete:\"Delete\",confirm_closing:\"\",confirm_deleting:\"Task will be deleted permanently, are you sure?\",section_description:\"Description\",section_time:\"Time period\",section_type:\"Type\",column_wbs:\"WBS\",column_text:\"Task name\",column_start_date:\"Start time\",column_duration:\"Duration\",column_add:\"\",link:\"Link\",confirm_link_deleting:\"will be deleted\",link_start:\" (start)\",link_end:\" (end)\",type_task:\"Task\",type_project:\"Project\",type_milestone:\"Milestone\",minutes:\"Minutes\",hours:\"Hours\",days:\"Days\",weeks:\"Week\",months:\"Months\",years:\"Years\",message_ok:\"OK\",message_cancel:\"Cancel\",section_constraint:\"Constraint\",constraint_type:\"Constraint type\",constraint_date:\"Constraint date\",asap:\"As Soon As Possible\",alap:\"As Late As Possible\",snet:\"Start No Earlier Than\",snlt:\"Start No Later Than\",fnet:\"Finish No Earlier Than\",fnlt:\"Finish No Later Than\",mso:\"Must Start On\",mfo:\"Must Finish On\",resources_filter_placeholder:\"type to filter\",resources_filter_label:\"hide empty\"}}}},function(t,e){t.exports=function(t){function e(){var e;return t.$ui.getView(\"timeline\")&amp;&amp;(e=t.$ui.getView(\"timeline\")._tasks_dnd),e}t.config.touch_drag=500,t.config.touch=!0,t.config.touch_feedback=!0,t.config.touch_feedback_duration=1,t._prevent_touch_scroll=!1,t._touch_feedback=function(){t.config.touch_feedback&amp;&amp;navigator.vibrate&amp;&amp;navigator.vibrate(t.config.touch_feedback_duration)},t.attachEvent(\"onGanttReady\",t.bind(function(){if(\"force\"!=this.config.touch&amp;&amp;(this.config.touch=this.config.touch&amp;&amp;(-1!=navigator.userAgent.indexOf(\"Mobile\")||-1!=navigator.userAgent.indexOf(\"iPad\")||-1!=navigator.userAgent.indexOf(\"Android\")||-1!=navigator.userAgent.indexOf(\"Touch\"))),this.config.touch){var t=!0;try{document.createEvent(\"TouchEvent\")}catch(e){t=!1}t?this._touch_events([\"touchmove\",\"touchstart\",\"touchend\"],function(t){return t.touches&amp;&amp;t.touches.length&gt;1?null:t.touches[0]?{target:t.target,pageX:t.touches[0].pageX,pageY:t.touches[0].pageY,clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}:t},function(){return!1}):window.navigator.pointerEnabled?this._touch_events([\"pointermove\",\"pointerdown\",\"pointerup\"],function(t){return\"mouse\"==t.pointerType?null:t},function(t){return!t||\"mouse\"==t.pointerType}):window.navigator.msPointerEnabled&amp;&amp;this._touch_events([\"MSPointerMove\",\"MSPointerDown\",\"MSPointerUp\"],function(t){return t.pointerType==t.MSPOINTER_TYPE_MOUSE?null:t},function(t){return!t||t.pointerType==t.MSPOINTER_TYPE_MOUSE})}},t));var i=[];t._touch_events=function(n,r,a){for(var o,s=0,l=!1,c=!1,u=null,d=null,h=null,f=0;f&lt;i.length;f++)t.eventRemove(i[f][0],i[f][1],i[f][2]);(i=[]).push([t.$container,n[0],function(i){var n=e();if(!a(i)&amp;&amp;l){d&amp;&amp;clearTimeout(d);var h=r(i);if(n&amp;&amp;(n.drag.id||n.drag.start_drag))return n.on_mouse_move(h),i.preventDefault&amp;&amp;i.preventDefault(),i.cancelBubble=!0,!1;if(!t._prevent_touch_scroll){if(h&amp;&amp;u){var f=u.pageX-h.pageX,g=u.pageY-h.pageY;if(!c&amp;&amp;(Math.abs(f)&gt;5||Math.abs(g)&gt;5)&amp;&amp;(t._touch_scroll_active=c=!0,s=0,o=t.getScrollState()),c){t.scrollTo(o.x+f,o.y+g);var p=t.getScrollState();if(o.x!=p.x&amp;&amp;g&gt;2*f||o.y!=p.y&amp;&amp;f&gt;2*g)return _(i)}}return _(i)}return!0}}]),i.push([this.$container,\"contextmenu\",function(t){if(l)return _(t)}]),i.push([this.$container,n[1],function(i){if(!a(i))if(i.touches&amp;&amp;i.touches.length&gt;1)l=!1;else{u=r(i),t._locate_css(u,\"gantt_hor_scroll\")||t._locate_css(u,\"gantt_ver_scroll\")||(l=!0);var n=e();d=setTimeout(function(){var e=t.locate(u);n&amp;&amp;e&amp;&amp;!t._locate_css(u,\"gantt_link_control\")&amp;&amp;!t._locate_css(u,\"gantt_grid_data\")&amp;&amp;(n.on_mouse_down(u),n.drag&amp;&amp;n.drag.start_drag&amp;&amp;(!function(e){var i=t._getTaskLayers(),n=t.getTask(e);if(n&amp;&amp;t.isTaskVisible(e))for(var r=0;r&lt;i.length;r++)if((n=i[r].rendered[e])&amp;&amp;n.getAttribute(t.config.task_attribute)&amp;&amp;n.getAttribute(t.config.task_attribute)==e){var a=n.cloneNode(!0);h=n,i[r].rendered[e]=a,n.style.display=\"none\",a.className+=\" gantt_drag_move \",n.parentNode.appendChild(a)}}(e),n._start_dnd(u),t._touch_drag=!0,t.refreshTask(e),t._touch_feedback())),d=null},t.config.touch_drag)}}]),i.push([this.$container,n[2],function(i){if(!a(i)){d&amp;&amp;clearTimeout(d),t._touch_drag=!1,l=!1;var n=r(i),o=e();if(o&amp;&amp;o.on_mouse_up(n),h&amp;&amp;(t.refreshTask(t.locate(h)),h.parentNode&amp;&amp;(h.parentNode.removeChild(h),t._touch_feedback())),t._touch_scroll_active=l=c=!1,h=null,u&amp;&amp;s){var f=new Date;if(f-s&lt;500)t.$services.getService(\"mouseEvents\").onDoubleClick(u),_(i);else s=f}else s=new Date}}]);for(f=0;f&lt;i.length;f++)t.event(i[f][0],i[f][1],i[f][2]);function _(t){return t&amp;&amp;t.preventDefault&amp;&amp;t.preventDefault(),(t||event).cancelBubble=!0,!1}}}},function(t,e){t.exports=function(t){t.skins.contrast_white={config:{grid_width:360,row_height:35,scale_height:35,link_line_width:2,link_arrow_size:6,lightbox_additional_height:75},_second_column_width:100,_third_column_width:80}}},function(t,e){t.exports=function(t){t.skins.contrast_black={config:{grid_width:360,row_height:35,scale_height:35,link_line_width:2,link_arrow_size:6,lightbox_additional_height:75},_second_column_width:100,_third_column_width:80}}},function(t,e){t.exports=function(t){t.skins.material={config:{grid_width:411,row_height:34,task_height_offset:6,scale_height:36,link_line_width:2,link_arrow_size:6,lightbox_additional_height:80},_second_column_width:110,_third_column_width:75,_redefine_lightbox_buttons:{buttons_left:[\"dhx_delete_btn\"],buttons_right:[\"dhx_save_btn\",\"dhx_cancel_btn\"]}},t.attachEvent(\"onAfterTaskDrag\",function(e){var i=t.getTaskNode(e);i&amp;&amp;(i.className+=\" gantt_drag_animation\",setTimeout(function(){var t=i.className.indexOf(\" gantt_drag_animation\");t&gt;-1&amp;&amp;(i.className=i.className.slice(0,t))},200))})}},function(t,e){t.exports=function(t){t.skins.broadway={config:{grid_width:360,row_height:35,scale_height:35,link_line_width:1,link_arrow_size:7,lightbox_additional_height:86},_second_column_width:90,_third_column_width:80,_lightbox_template:\"&lt;div class='gantt_cal_ltitle'&gt;&lt;span class='gantt_mark'&gt;&amp;nbsp;&lt;/span&gt;&lt;span class='gantt_time'&gt;&lt;/span&gt;&lt;span class='gantt_title'&gt;&lt;/span&gt;&lt;div class='gantt_cancel_btn'&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class='gantt_cal_larea'&gt;&lt;/div&gt;\",_config_buttons_left:{},_config_buttons_right:{gantt_delete_btn:\"icon_delete\",gantt_save_btn:\"icon_save\"}}}},function(t,e){t.exports=function(t){t.skins.terrace={config:{grid_width:360,row_height:35,scale_height:35,link_line_width:2,link_arrow_size:6,lightbox_additional_height:75},_second_column_width:90,_third_column_width:70}}},function(t,e){t.exports=function(t){t.skins.meadow={config:{grid_width:350,row_height:27,scale_height:30,link_line_width:2,link_arrow_size:6,lightbox_additional_height:72},_second_column_width:95,_third_column_width:80}}},function(t,e){t.exports=function(t){t.skins.skyblue={config:{grid_width:350,row_height:27,scale_height:27,link_line_width:1,link_arrow_size:8,lightbox_additional_height:75},_second_column_width:95,_third_column_width:80}}},function(t,e){function i(t,e){var i=e.skin;if(!i||t)for(var n=document.getElementsByTagName(\"link\"),r=0;r&lt;n.length;r++){var a=n[r].href.match(\"dhtmlxgantt_([a-z_]+).css\");if(a&amp;&amp;(e.skins[a[1]]||!i)){i=a[1];break}}e.skin=i||\"terrace\";var o=e.skins[e.skin]||e.skins.terrace;!function(t,e,i){for(var n in e)(void 0===t[n]||i)&amp;&amp;(t[n]=e[n])}(e.config,o.config,t);var s=e.getGridColumns();s[1]&amp;&amp;!e.defined(s[1].width)&amp;&amp;(s[1].width=o._second_column_width),s[2]&amp;&amp;!e.defined(s[2].width)&amp;&amp;(s[2].width=o._third_column_width);for(r=0;r&lt;s.length;r++){var l=s[r];\"add\"==l.name&amp;&amp;(l.width||(l.width=44),e.defined(l.min_width)&amp;&amp;e.defined(l.max_width)||(l.min_width=l.min_width||l.width,l.max_width=l.max_width||l.width),l.min_width&amp;&amp;(l.min_width=+l.min_width),l.max_width&amp;&amp;(l.max_width=+l.max_width),l.width&amp;&amp;(l.width=+l.width,l.width=l.min_width&amp;&amp;l.min_width&gt;l.width?l.min_width:l.width,l.width=l.max_width&amp;&amp;l.max_width&lt;l.width?l.max_width:l.width))}o.config.task_height&amp;&amp;(e.config.task_height=o.config.task_height||\"full\"),o._lightbox_template&amp;&amp;(e._lightbox_template=o._lightbox_template),o._redefine_lightbox_buttons&amp;&amp;(e.config.buttons_right=o._redefine_lightbox_buttons.buttons_right,e.config.buttons_left=o._redefine_lightbox_buttons.buttons_left),e.resetLightbox()}t.exports=function(t){t.resetSkin||(t.resetSkin=function(){this.skin=\"\",i(!0,this)},t.skins={},t.attachEvent(\"onGanttLayoutReady\",function(){i(!1,this)}))}},function(t,e){t.exports=function(t){function e(){return t._cached_functions.update_if_changed(t),t._cached_functions.active||t._cached_functions.activate(),!0}t._cached_functions={cache:{},mode:!1,critical_path_mode:!1,wrap_methods:function(t,e){if(e._prefetch_originals)for(var i in e._prefetch_originals)e[i]=e._prefetch_originals[i];e._prefetch_originals={};for(i=0;i&lt;t.length;i++)this.prefetch(t[i],e)},prefetch:function(t,e){var i=e[t];if(i){var n=this;e._prefetch_originals[t]=i,e[t]=function(){for(var e=new Array(arguments.length),r=0,a=arguments.length;r&lt;a;r++)e[r]=arguments[r];if(n.active){var o=n.get_arguments_hash(Array.prototype.slice.call(e));n.cache[t]||(n.cache[t]={});var s=n.cache[t];if(n.has_cached_value(s,o))return n.get_cached_value(s,o);var l=i.apply(this,e);return n.cache_value(s,o,l),l}return i.apply(this,e)}}return i},cache_value:function(t,e,i){this.is_date(i)&amp;&amp;(i=new Date(i)),t[e]=i},has_cached_value:function(t,e){return t.hasOwnProperty(e)},get_cached_value:function(t,e){var i=t[e];return this.is_date(i)&amp;&amp;(i=new Date(i)),i},is_date:function(t){return t&amp;&amp;t.getUTCDate},get_arguments_hash:function(t){for(var e=[],i=0;i&lt;t.length;i++)e.push(this.stringify_argument(t[i]));return\"(\"+e.join(\";\")+\")\"},stringify_argument:function(t){return(t.id?t.id:this.is_date(t)?t.valueOf():t)+\"\"},activate:function(){this.clear(),this.active=!0},deactivate:function(){this.clear(),this.active=!1},clear:function(){this.cache={}},setup:function(t){var e=[],i=[\"_isProjectEnd\",\"_getProjectEnd\",\"_getSlack\"];\"auto\"==this.mode?t.config.highlight_critical_path&amp;&amp;(e=i):!0===this.mode&amp;&amp;(e=i),this.wrap_methods(e,t)},update_if_changed:function(t){(this.critical_path_mode!=t.config.highlight_critical_path||this.mode!==t.config.optimize_render)&amp;&amp;(this.critical_path_mode=t.config.highlight_critical_path,this.mode=t.config.optimize_render,this.setup(t))}},t.attachEvent(\"onBeforeGanttRender\",e),t.attachEvent(\"onBeforeDataRender\",e),t.attachEvent(\"onBeforeSmartRender\",function(){e()}),t.attachEvent(\"onBeforeParse\",e),t.attachEvent(\"onDataRender\",function(){t._cached_functions.deactivate()});var i=null;t.attachEvent(\"onSmartRender\",function(){i&amp;&amp;clearTimeout(i),i=setTimeout(function(){t._cached_functions.deactivate()},1e3)}),t.attachEvent(\"onBeforeGanttReady\",function(){return t._cached_functions.update_if_changed(t),!0})}},function(t,e){t.exports=function(t){t.getTaskType=function(t){return\"task\"}}},function(t,e){t.exports=function(t){t._extend_to_optional=function(e){var i=e,n={render:i.render,focus:i.focus,set_value:function(e,r,a,o){var s=t._resolve_default_mapping(o);if(!a[s.start_date]||\"start_date\"==s.start_date&amp;&amp;this._isAllowedUnscheduledTask(a)){n.disable(e,o);var l={};for(var c in s)l[s[c]]=a[c];return i.set_value.call(t,e,r,l,o)}return n.enable(e,o),i.set_value.call(t,e,r,a,o)},get_value:function(e,n,r){return r.disabled?{start_date:null}:i.get_value.call(t,e,n,r)},update_block:function(e,i){if(t.callEvent(\"onSectionToggle\",[t._lightbox_id,i]),e.style.display=i.disabled?\"none\":\"block\",i.button){var n=e.previousSibling.querySelector(\".gantt_custom_button_label\"),r=t.locale.labels,a=i.disabled?r[i.name+\"_enable_button\"]:r[i.name+\"_disable_button\"];n.innerHTML=a}t.resizeLightbox()},disable:function(t,e){e.disabled=!0,n.update_block(t,e)},enable:function(t,e){e.disabled=!1,n.update_block(t,e)},button_click:function(e,i,r,a){if(!1!==t.callEvent(\"onSectionButton\",[t._lightbox_id,r])){var o=t._get_typed_lightbox_config()[e];o.disabled?n.enable(a,o):n.disable(a,o)}}};return n},t.form_blocks.duration_optional=t._extend_to_optional(t.form_blocks.duration),t.form_blocks.time_optional=t._extend_to_optional(t.form_blocks.time)}},function(t,e,i){var n=i(2),r=i(17);t.exports=function(t){var e=i(5)(t);function a(){return e.apply(this,arguments)||this}function o(e){return!e||e===t.config.constraint_types.ASAP||e===t.config.constraint_types.ALAP}function s(t,e){for(var i=o(e),n=0;n&lt;t.length;n++)t[n].disabled=i}return n(a,e),a.prototype.render=function(e){var i=(e.height||30)+\"px\",n=\"&lt;div class='gantt_cal_ltext gantt_section_\"+e.name+\"' style='height:\"+i+\";'&gt;\",a=[];for(var o in t.config.constraint_types)a.push({key:t.config.constraint_types[o],label:t.locale.labels[t.config.constraint_types[o]]});return e.options=e.options||a,n+=\"&lt;span data-constraint-type-select&gt;\"+r.getHtmlSelect(e.options,[{key:\"data-type\",value:\"constraint-type\"}])+\"&lt;/span&gt;\",n+=\"&lt;label data-constraint-time-select&gt;\"+(t.locale.labels.constraint_date||\"Constraint date\")+\": \"+t.form_blocks.getTimePicker.call(this,e)+\"&lt;/label&gt;\",n+=\"&lt;/div&gt;\"},a.prototype.set_value=function(e,i,n,r){var a=e.querySelector(\"[data-constraint-type-select] select\"),o=e.querySelectorAll(\"[data-constraint-time-select] select\"),l=r._time_format_order,c=t._resolve_default_mapping(r);a._eventsInitialized||(a.addEventListener(\"input\",function(t){s(o,t.target.value)}),a._eventsInitialized=!0);var u=n[c.constraint_date]||new Date;t.form_blocks._fill_lightbox_select(o,0,u,l,r);var d=n[c.constraint_type]||t.getConstraintType(n);a.value=d,s(o,d)},a.prototype.get_value=function(e,i,n){var r=e.querySelector(\"[data-constraint-type-select] select\"),a=e.querySelectorAll(\"[data-constraint-time-select] select\"),s=r.value,l=null;return o(s)||(l=t.form_blocks.getTimePickerValue(a,n)),{constraint_type:s,constraint_date:l}},a.prototype.focus=function(e){t._focus(e.querySelector(\"select\"))},a}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(8)(t);function r(){return e.apply(this,arguments)||this}function a(e,i){var n=[],r=[];i&amp;&amp;(n=t.getTaskByTime(),e.allow_root&amp;&amp;n.unshift({id:t.config.root_id,text:e.root_label||\"\"}),n=function(e,i,n){var r=i.filter||function(){return!0};e=e.slice(0);for(var a=0;a&lt;e.length;a++){var o=e[a];(o.id==n||t.isChildOf(o.id,n)||!1===r(o.id,o))&amp;&amp;(e.splice(a,1),a--)}return e}(n,e,i),e.sort&amp;&amp;n.sort(e.sort));for(var a=e.template||t.templates.task_text,o=0;o&lt;n.length;o++){var s=a.apply(t,[n[o].start_date,n[o].end_date,n[o]]);void 0===s&amp;&amp;(s=\"\"),r.push({key:n[o].id,label:s})}return e.options=r,e.map_to=e.map_to||\"parent\",t.form_blocks.select.render.apply(this,arguments)}return n(r,e),r.prototype.render=function(t){return a(t,!1)},r.prototype.set_value=function(e,i,n,r){var o=document.createElement(\"div\");o.innerHTML=a(r,n.id);var s=o.removeChild(o.firstChild);return e.onselect=null,e.parentNode.replaceChild(s,e),t.form_blocks.select.set_value.apply(t,[s,i,n,r])},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}function a(e,i){var n=e.getElementsByTagName(\"select\"),r=i._time_format_order,a=0,o=0;if(t.defined(r[3])){var s=n[r[3]],l=parseInt(s.value,10);isNaN(l)&amp;&amp;s.hasAttribute(\"data-value\")&amp;&amp;(l=parseInt(s.getAttribute(\"data-value\"),10)),a=Math.floor(l/60),o=l%60}return new Date(n[r[2]].value,n[r[1]].value,n[r[0]].value,a,o)}function o(t){var e=t.getElementsByTagName(\"input\")[1];return(e=parseInt(e.value,10))&amp;&amp;!window.isNaN(e)||(e=1),e&lt;0&amp;&amp;(e*=-1),e}return n(r,e),r.prototype.render=function(e){var i=\"&lt;div class='gantt_time_selects'&gt;\"+t.form_blocks.getTimePicker.call(this,e)+\"&lt;/div&gt;\",n=t.locale.labels[t.config.duration_unit+\"s\"],r=e.single_date?\" style='display:none'\":\"\",a=e.readonly?\" disabled='disabled'\":\"\",o=\"&lt;div class='gantt_duration' \"+r+\"&gt;&lt;input type='button' class='gantt_duration_dec' value='âˆ''\"+a+\"&gt;&lt;input type='text' value='5' class='gantt_duration_value'\"+a+\" \"+t._waiAria.lightboxDurationInputAttrString(e)+\"&gt;&lt;input type='button' class='gantt_duration_inc' value='+'\"+a+\"&gt; \"+n+\" &lt;span&gt;&lt;/span&gt;&lt;/div&gt;\";return\"&lt;div style='height:\"+(e.height||30)+\"px;padding-top:0px;font-size:inherit;' class='gantt_section_time'&gt;\"+i+\" \"+o+\"&lt;/div&gt;\"},r.prototype.set_value=function(e,i,n,r){var s,l,c,u,d=r,h=e.getElementsByTagName(\"select\"),f=e.getElementsByTagName(\"input\"),_=f[1],g=[f[0],f[2]],p=e.getElementsByTagName(\"span\")[0],v=r._time_format_order;function m(){var i=a.call(t,e,r),s=o.call(t,e,r),l=t.calculateEndDate({start_date:i,duration:s,task:n});p.innerHTML=t.templates.task_date(l)}function y(t){var e=_.value;e=parseInt(e,10),window.isNaN(e)&amp;&amp;(e=0),(e+=t)&lt;1&amp;&amp;(e=1),_.value=e,m()}g[0].onclick=t.bind(function(){y(-1*t.config.duration_step)},this),g[1].onclick=t.bind(function(){y(1*t.config.duration_step)},this),h[0].onchange=m,h[1].onchange=m,h[2].onchange=m,h[3]&amp;&amp;(h[3].onchange=m),_.onkeydown=t.bind(function(e){var i;return(i=(e=e||window.event).charCode||e.keyCode||e.which)==t.constants.KEY_CODES.DOWN?(y(-1*t.config.duration_step),!1):i==t.constants.KEY_CODES.UP?(y(1*t.config.duration_step),!1):void window.setTimeout(m,1)},this),_.onchange=t.bind(m,this),\"string\"==typeof(s=t._resolve_default_mapping(r))&amp;&amp;(s={start_date:s}),l=n[s.start_date]||new Date,c=n[s.end_date]||t.calculateEndDate({start_date:l,duration:1,task:n}),u=Math.round(n[s.duration])||t.calculateDuration({start_date:l,end_date:c,task:n}),t.form_blocks._fill_lightbox_select(h,0,l,v,d),_.value=u,m()},r.prototype.get_value=function(e,i,n){var r=a(e,n),s=o(e),l=t.calculateEndDate({start_date:r,duration:s,task:i});return\"string\"==typeof t._resolve_default_mapping(n)?r:{start_date:r,end_date:l,duration:s}},r.prototype.focus=function(e){t._focus(e.getElementsByTagName(\"select\")[0])},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(t){var e=\"&lt;div class='gantt_cal_ltext' style='height:\"+((t.height||\"23\")+\"px\")+\";'&gt;\";if(t.options&amp;&amp;t.options.length)for(var i=0;i&lt;t.options.length;i++)e+=\"&lt;label&gt;&lt;input type='radio' value='\"+t.options[i].key+\"' name='\"+t.name+\"'&gt;\"+t.options[i].label+\"&lt;/label&gt;\";return e+=\"&lt;/div&gt;\"},r.prototype.set_value=function(t,e,i,n){var r;n.options&amp;&amp;n.options.length&amp;&amp;(r=t.querySelector(\"input[type=radio][value='\"+e+\"']\")||t.querySelector(\"input[type=radio][value='\"+n.default_value+\"']\"))&amp;&amp;(!t._dhx_onchange&amp;&amp;n.onchange&amp;&amp;(t.onchange=n.onchange,t._dhx_onchange=!0),r.checked=!0)},r.prototype.get_value=function(t,e){var i=t.querySelector(\"input[type=radio]:checked\");return i?i.value:\"\"},r.prototype.focus=function(e){t._focus(e.querySelector(\"input[type=radio]\"))},r}},function(t,e,i){var n=i(3),r=i(2);t.exports=function(t){var e=i(5)(t);function a(){return e.apply(this,arguments)||this}return r(a,e),a.prototype.render=function(t){var e=\"&lt;div class='gantt_cal_ltext' style='height:\"+((t.height||\"23\")+\"px\")+\";'&gt;\";if(t.options&amp;&amp;t.options.length)for(var i=0;i&lt;t.options.length;i++)e+=\"&lt;label&gt;&lt;input type='checkbox' value='\"+t.options[i].key+\"' name='\"+t.name+\"'&gt;\"+t.options[i].label+\"&lt;/label&gt;\";return e+=\"&lt;/div&gt;\"},a.prototype.set_value=function(t,e,i,r){var a=Array.prototype.slice.call(t.querySelectorAll(\"input[type=checkbox]\"));!t._dhx_onchange&amp;&amp;r.onchange&amp;&amp;(t.onchange=r.onchange,t._dhx_onchange=!0),n.forEach(a,function(t){t.checked=!!e&amp;&amp;e.indexOf(t.value)&gt;=0})},a.prototype.get_value=function(t){return n.arrayMap(Array.prototype.slice.call(t.querySelectorAll(\"input[type=checkbox]:checked\")),function(t){return t.value})},a.prototype.focus=function(e){t._focus(e.querySelector(\"input[type=checkbox]\"))},a}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(e){var i=t.form_blocks.getTimePicker.call(this,e),n=\"&lt;div style='height:\"+(e.height||30)+\"px;padding-top:0px;font-size:inherit;text-align:center;' class='gantt_section_time'&gt;\";return n+=i,e.single_date?(i=t.form_blocks.getTimePicker.call(this,e,!0),n+=\"&lt;span&gt;&lt;/span&gt;\"):n+=\"&lt;span style='font-weight:normal; font-size:10pt;'&gt; &amp;nbsp;&amp;ndash;&amp;nbsp; &lt;/span&gt;\",n+=i,n+=\"&lt;/div&gt;\"},r.prototype.set_value=function(e,i,n,r){var a=r,o=e.getElementsByTagName(\"select\"),s=r._time_format_order;if(a.auto_end_date)for(var l=function(){d=new Date(o[s[2]].value,o[s[1]].value,o[s[0]].value,0,0),h=t.calculateEndDate({start_date:d,duration:1,task:n}),t.form_blocks._fill_lightbox_select(o,s.size,h,s,a)},c=0;c&lt;4;c++)o[c].onchange=l;var u=t._resolve_default_mapping(r);\"string\"==typeof u&amp;&amp;(u={start_date:u});var d=n[u.start_date]||new Date,h=n[u.end_date]||t.calculateEndDate({start_date:d,duration:1,task:n});t.form_blocks._fill_lightbox_select(o,0,d,s,a),t.form_blocks._fill_lightbox_select(o,s.size,h,s,a)},r.prototype.get_value=function(e,i,n){var r,a=e.getElementsByTagName(\"select\"),o=n._time_format_order;return r=t.form_blocks.getTimePickerValue(a,n),\"string\"==typeof t._resolve_default_mapping(n)?r:{start_date:r,end_date:function(e,i,r){var a=t.form_blocks.getTimePickerValue(e,n,i.size);return a&lt;=r?t.date.add(r,t._get_timepicker_step(),\"minute\"):a}(a,o,r)}},r.prototype.focus=function(e){t._focus(e.getElementsByTagName(\"select\")[0])},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(t){return\"&lt;div class='gantt_cal_ltext' style='height:\"+((t.height||\"130\")+\"px\")+\";'&gt;&lt;textarea&gt;&lt;/textarea&gt;&lt;/div&gt;\"},r.prototype.set_value=function(e,i){t.form_blocks.textarea._get_input(e).value=i||\"\"},r.prototype.get_value=function(e){return t.form_blocks.textarea._get_input(e).value},r.prototype.focus=function(e){var i=t.form_blocks.textarea._get_input(e);t._focus(i,!0)},r.prototype._get_input=function(t){return t.querySelector(\"textarea\")},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(t){return\"&lt;div class='gantt_cal_ltext gantt_cal_template' style='height:\"+((t.height||\"30\")+\"px\")+\";'&gt;&lt;/div&gt;\"},r.prototype.set_value=function(t,e){t.innerHTML=e||\"\"},r.prototype.get_value=function(t){return t.innerHTML||\"\"},r.prototype.focus=function(){},r}},function(t,e,i){t.exports=function(t){var e=i(1),n=i(3),r=i(53)(t),a=i(52)(t),o=i(51)(t),s=i(8)(t),l=i(50)(t),c=i(49)(t),u=i(48)(t),d=i(47)(t),h=i(8)(t),f=i(46)(t);function _(e,i){var n,r,a=\"\";for(r=0;r&lt;e.length;r++)n=t.config._migrate_buttons[e[r]]?t.config._migrate_buttons[e[r]]:e[r],a+=\"&lt;div \"+t._waiAria.lightboxButtonAttrString(n)+\" class='gantt_btn_set gantt_left_btn_set \"+n+\"_set'\"+(i?\" style='float:right;'\":\"\")+\"&gt;&lt;div dhx_button='1' data-dhx-button='1' class='\"+n+\"'&gt;&lt;/div&gt;&lt;div&gt;\"+t.locale.labels[n]+\"&lt;/div&gt;&lt;/div&gt;\";return a}function g(e,i,n){var r,a,o,s,l,c,u=\"\";switch(n.timeFormat[i]){case\"%Y\":for(e._time_format_order[2]=i,e._time_format_order.size++,e.year_range&amp;&amp;(isNaN(e.year_range)?e.year_range.push&amp;&amp;(o=e.year_range[0],s=e.year_range[1]):r=e.year_range),r=r||10,a=a||Math.floor(r/2),o=o||n.date.getFullYear()-a,s=s||o+r,l=o;l&lt;s;l++)u+=\"&lt;option value='\"+l+\"'&gt;\"+l+\"&lt;/option&gt;\";break;case\"%m\":for(e._time_format_order[1]=i,e._time_format_order.size++,l=0;l&lt;12;l++)u+=\"&lt;option value='\"+l+\"'&gt;\"+t.locale.date.month_full[l]+\"&lt;/option&gt;\";break;case\"%d\":for(e._time_format_order[0]=i,e._time_format_order.size++,l=1;l&lt;32;l++)u+=\"&lt;option value='\"+l+\"'&gt;\"+l+\"&lt;/option&gt;\";break;case\"%H:%i\":for(e._time_format_order[3]=i,e._time_format_order.size++,l=n.first,c=n.date.getDate(),e._time_values=[];l&lt;n.last;)u+=\"&lt;option value='\"+l+\"'&gt;\"+t.templates.time_picker(n.date)+\"&lt;/option&gt;\",e._time_values.push(l),n.date.setTime(n.date.valueOf()+60*t._get_timepicker_step()*1e3),l=24*(n.date.getDate()!=c?1:0)*60+60*n.date.getHours()+n.date.getMinutes()}return u}t._lightbox_methods={},t._lightbox_template=\"&lt;div class='gantt_cal_ltitle'&gt;&lt;span class='gantt_mark'&gt;&amp;nbsp;&lt;/span&gt;&lt;span class='gantt_time'&gt;&lt;/span&gt;&lt;span class='gantt_title'&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class='gantt_cal_larea'&gt;&lt;/div&gt;\",t.$services.getService(\"state\").registerProvider(\"lightbox\",function(){return{lightbox:t._lightbox_id}}),t.showLightbox=function(e){if(e&amp;&amp;!t.isReadonly(this.getTask(e))&amp;&amp;this.callEvent(\"onBeforeLightbox\",[e])){var i=this.getTask(e),n=this.getLightbox(this.getTaskType(i.type));this._center_lightbox(n),this.showCover(),this._fill_lightbox(e,n),this._waiAria.lightboxVisibleAttr(n),this.callEvent(\"onLightbox\",[e])}},t._get_timepicker_step=function(){if(this.config.round_dnd_dates){var e;if(function(t){var e=t.$ui.getView(\"timeline\");return!(!e||!e.isVisible())}(this)){var i=t.getScale();e=n.getSecondsInUnit(i.unit)*i.step/60}return(!e||e&gt;=1440)&amp;&amp;(e=this.config.time_step),e}return this.config.time_step},t.getLabel=function(t,e){for(var i=this._get_typed_lightbox_config(),n=0;n&lt;i.length;n++)if(i[n].map_to==t)for(var r=i[n].options,a=0;a&lt;r.length;a++)if(r[a].key==e)return r[a].label;return\"\"},t.updateCollection=function(e,i){i=i.slice(0);var n=t.serverList(e);if(!n)return!1;n.splice(0,n.length),n.push.apply(n,i||[]),t.resetLightbox()},t.getLightboxType=function(){return this.getTaskType(this._lightbox_type)},t.getLightbox=function(e){var i,n,r,a,o=\"\";return void 0===e&amp;&amp;(e=this.getLightboxType()),this._lightbox&amp;&amp;this.getLightboxType()==this.getTaskType(e)||(this._lightbox_type=this.getTaskType(e),i=document.createElement(\"div\"),o=\"gantt_cal_light\",n=this._is_lightbox_timepicker(),(t.config.wide_form||n)&amp;&amp;(o+=\" gantt_cal_light_wide\"),n&amp;&amp;(t.config.wide_form=!0,o+=\" gantt_cal_light_full\"),i.className=o,i.style.visibility=\"hidden\",r=this._lightbox_template,r+=_(this.config.buttons_left),r+=_(this.config.buttons_right,!0),i.innerHTML=r,t._waiAria.lightboxAttr(i),t.config.drag_lightbox&amp;&amp;(i.firstChild.onmousedown=t._ready_to_dnd,i.firstChild.onselectstart=function(){return!1},i.firstChild.style.cursor=\"pointer\",t._init_dnd_events()),document.body.insertBefore(i,document.body.firstChild),this._lightbox=i,a=this._get_typed_lightbox_config(e),r=this._render_sections(a),i.querySelector(\"div.gantt_cal_larea\").innerHTML=r,function(e){var i,n,r,a,o,s;for(s=0;s&lt;e.length;s++)i=e[s],r=document.getElementById(i.id),i.id&amp;&amp;r&amp;&amp;(n=r.querySelector(\"label\"),(a=r.nextSibling)&amp;&amp;(o=a.querySelector(\"input, select, textarea\"))&amp;&amp;(o.id=o.id||\"input_\"+t.uid(),i.inputId=o.id,n.setAttribute(\"for\",i.inputId)))}(a),this.resizeLightbox(),this._init_lightbox_events(this),i.style.display=\"none\",i.style.visibility=\"visible\"),this._lightbox},t._render_sections=function(t){for(var e=\"\",i=0;i&lt;t.length;i++){var n=this.form_blocks[t[i].type];if(n){t[i].id=\"area_\"+this.uid();var r=t[i].hidden?\" style='display:none'\":\"\",a=\"\";t[i].button&amp;&amp;(a=\"&lt;div class='gantt_custom_button' data-index='\"+i+\"'&gt;&lt;div class='gantt_custom_button_\"+t[i].button+\"'&gt;&lt;/div&gt;&lt;div class='gantt_custom_button_label'&gt;\"+this.locale.labels[\"button_\"+t[i].button]+\"&lt;/div&gt;&lt;/div&gt;\"),this.config.wide_form&amp;&amp;(e+=\"&lt;div class='gantt_wrap_section' \"+r+\"&gt;\"),e+=\"&lt;div id='\"+t[i].id+\"' class='gantt_cal_lsection'&gt;&lt;label&gt;\"+a+this.locale.labels[\"section_\"+t[i].name]+\"&lt;/label&gt;&lt;/div&gt;\"+n.render.call(this,t[i]),e+=\"&lt;/div&gt;\"}}return e},t.resizeLightbox=function(){if(this._lightbox){var t=this._lightbox.childNodes[1];t.style.height=\"0px\",t.style.height=t.scrollHeight+\"px\",this._lightbox.style.height=t.scrollHeight+this.config.lightbox_additional_height+\"px\",t.style.height=t.scrollHeight+\"px\"}},t._center_lightbox=function(t){if(t){t.style.display=\"block\";var e=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,n=window.innerHeight||document.documentElement.clientHeight;t.style.top=e?Math.round(e+Math.max((n-t.offsetHeight)/2,0))+\"px\":Math.round(Math.max((n-t.offsetHeight)/2,0)+9)+\"px\",document.documentElement.scrollWidth&gt;document.body.offsetWidth?t.style.left=Math.round(i+(document.body.offsetWidth-t.offsetWidth)/2)+\"px\":t.style.left=Math.round((document.body.offsetWidth-t.offsetWidth)/2)+\"px\"}},t.showCover=function(){if(!this._cover){this._cover=document.createElement(\"DIV\"),this._cover.className=\"gantt_cal_cover\";var t=void 0!==document.height?document.height:document.body.offsetHeight,e=document.documentElement?document.documentElement.scrollHeight:0;this._cover.style.height=Math.max(t,e)+\"px\",document.body.appendChild(this._cover)}},t._init_lightbox_events=function(){t.lightbox_events={},t.lightbox_events.gantt_save_btn=function(){t._save_lightbox()},t.lightbox_events.gantt_delete_btn=function(){t.callEvent(\"onLightboxDelete\",[t._lightbox_id])&amp;&amp;(t.isTaskExists(t._lightbox_id)?t.$click.buttons.delete(t._lightbox_id):t.hideLightbox())},t.lightbox_events.gantt_cancel_btn=function(){t._cancel_lightbox()},t.lightbox_events.default=function(i,n){if(n.getAttribute(\"data-dhx-button\"))t.callEvent(\"onLightboxButton\",[n.className,n,i]);else{var r,a,o=e.getClassName(n);if(-1!=o.indexOf(\"gantt_custom_button\"))if(-1!=o.indexOf(\"gantt_custom_button_\"))for(r=n.parentNode.getAttribute(\"data-index\"),a=n;a&amp;&amp;-1==e.getClassName(a).indexOf(\"gantt_cal_lsection\");)a=a.parentNode;else r=n.getAttribute(\"data-index\"),a=n.parentNode,n=n.firstChild;var s=t._get_typed_lightbox_config();r&amp;&amp;(r*=1,t.form_blocks[s[1*r].type].button_click(r,n,a,a.nextSibling))}},this.event(t.getLightbox(),\"click\",function(i){var n=(i=i||window.event).target?i.target:i.srcElement,r=e.getClassName(n);return r||(n=n.previousSibling,r=e.getClassName(n)),n&amp;&amp;r&amp;&amp;0===r.indexOf(\"gantt_btn_set\")&amp;&amp;(n=n.firstChild,r=e.getClassName(n)),!(!n||!r)&amp;&amp;(t.defined(t.lightbox_events[n.className])?t.lightbox_events[n.className]:t.lightbox_events.default)(i,n)}),t.getLightbox().onkeydown=function(i){var n=i||window.event,r=i.target||i.srcElement,a=e.getClassName(r).indexOf(\"gantt_btn_set\")&gt;-1;switch((i||n).keyCode){case t.constants.KEY_CODES.SPACE:if((i||n).shiftKey)return;a&amp;&amp;r.click&amp;&amp;r.click();break;case t.keys.edit_save:if((i||n).shiftKey)return;a&amp;&amp;r.click?r.click():t._save_lightbox();break;case t.keys.edit_cancel:t._cancel_lightbox()}}},t._cancel_lightbox=function(){var e=this.getLightboxValues();this.callEvent(\"onLightboxCancel\",[this._lightbox_id,e.$new]),t.isTaskExists(e.id)&amp;&amp;e.$new&amp;&amp;this.silent(function(){t.$data.tasksStore.removeItem(e.id),t._update_flags(e.id,null)}),this.refreshData(),this.hideLightbox()},t._save_lightbox=function(){var t=this.getLightboxValues();this.callEvent(\"onLightboxSave\",[this._lightbox_id,t,!!t.$new])&amp;&amp;(t.$new?(delete t.$new,this.addTask(t,t.parent,this.getTaskIndex(t.id))):this.isTaskExists(t.id)&amp;&amp;(this.mixin(this.getTask(t.id),t,!0),this.refreshTask(t.id),this.updateTask(t.id)),this.refreshData(),this.hideLightbox())},t._resolve_default_mapping=function(t){var e=t.map_to;return!{time:!0,time_optional:!0,duration:!0,duration_optional:!0}[t.type]?\"constraint\"===t.type&amp;&amp;(t.map_to&amp;&amp;\"string\"!=typeof t.map_to||(e={constraint_type:\"constraint_type\",constraint_date:\"constraint_date\"})):\"auto\"==t.map_to?e={start_date:\"start_date\",end_date:\"end_date\",duration:\"duration\"}:\"string\"==typeof t.map_to&amp;&amp;(e={start_date:t.map_to}),e},t.getLightboxValues=function(){var e={};t.isTaskExists(this._lightbox_id)&amp;&amp;(e=this.mixin({},this.getTask(this._lightbox_id)));for(var i=this._get_typed_lightbox_config(),n=0;n&lt;i.length;n++){var r=document.getElementById(i[n].id);r=r?r.nextSibling:r;var a=this.form_blocks[i[n].type];if(a){var o=a.get_value.call(this,r,e,i[n]),s=t._resolve_default_mapping(i[n]);if(\"string\"==typeof s&amp;&amp;\"auto\"!=s)e[s]=o;else if(\"object\"==typeof s)for(var l in s)s[l]&amp;&amp;(e[s[l]]=o[l])}}return e},t.hideLightbox=function(){var t=this.getLightbox();t&amp;&amp;(t.style.display=\"none\"),this._waiAria.lightboxHiddenAttr(t),this._lightbox_id=null,this.hideCover(),this.callEvent(\"onAfterLightbox\",[])},t.hideCover=function(){this._cover&amp;&amp;this._cover.parentNode.removeChild(this._cover),this._cover=null},t.resetLightbox=function(){t._lightbox&amp;&amp;!t._custom_lightbox&amp;&amp;t._lightbox.parentNode.removeChild(t._lightbox),t._lightbox=null,t.hideCover()},t._set_lightbox_values=function(e,i){var n=e,r=i.getElementsByTagName(\"span\"),a=[];t.templates.lightbox_header?(a.push(\"\"),a.push(t.templates.lightbox_header(n.start_date,n.end_date,n)),r[1].innerHTML=\"\",r[2].innerHTML=t.templates.lightbox_header(n.start_date,n.end_date,n)):(a.push(this.templates.task_time(n.start_date,n.end_date,n)),a.push(String(this.templates.task_text(n.start_date,n.end_date,n)||\"\").substr(0,70)),r[1].innerHTML=this.templates.task_time(n.start_date,n.end_date,n),r[2].innerHTML=String(this.templates.task_text(n.start_date,n.end_date,n)||\"\").substr(0,70)),r[1].innerHTML=a[0],r[2].innerHTML=a[1],t._waiAria.lightboxHeader(i,a.join(\" \"));for(var o=this._get_typed_lightbox_config(this.getLightboxType()),s=0;s&lt;o.length;s++){var l=o[s];if(this.form_blocks[l.type]){var c=document.getElementById(l.id).nextSibling,u=this.form_blocks[l.type],d=t._resolve_default_mapping(o[s]),h=this.defined(n[d])?n[d]:l.default_value;u.set_value.call(t,c,h,n,l),l.focus&amp;&amp;u.focus.call(t,c)}}e.id&amp;&amp;(t._lightbox_id=e.id)},t._fill_lightbox=function(t,e){var i=this.getTask(t);this._set_lightbox_values(i,e)},t.getLightboxSection=function(e){for(var i=this._get_typed_lightbox_config(),n=0;n&lt;i.length&amp;&amp;i[n].name!=e;n++);var r=i[n];if(!r)return null;this._lightbox||this.getLightbox();var a=document.getElementById(r.id),o=a.nextSibling,s={section:r,header:a,node:o,getValue:function(e){return t.form_blocks[r.type].get_value.call(t,o,e||{},r)},setValue:function(e,i){return t.form_blocks[r.type].set_value.call(t,o,e,i||{},r)}},l=this._lightbox_methods[\"get_\"+r.type+\"_control\"];return l?l(s):s},t._lightbox_methods.get_template_control=function(t){return t.control=t.node,t},t._lightbox_methods.get_select_control=function(t){return t.control=t.node.getElementsByTagName(\"select\")[0],t},t._lightbox_methods.get_textarea_control=function(t){return t.control=t.node.getElementsByTagName(\"textarea\")[0],t},t._lightbox_methods.get_time_control=function(t){return t.control=t.node.getElementsByTagName(\"select\"),t},t._init_dnd_events=function(){this.event(document.body,\"mousemove\",t._move_while_dnd),this.event(document.body,\"mouseup\",t._finish_dnd),t._init_dnd_events=function(){}},t._move_while_dnd=function(e){if(t._dnd_start_lb){document.gantt_unselectable||(document.body.className+=\" gantt_unselectable\",document.gantt_unselectable=!0);var i=t.getLightbox(),n=e&amp;&amp;e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY];i.style.top=t._lb_start[1]+n[1]-t._dnd_start_lb[1]+\"px\",i.style.left=t._lb_start[0]+n[0]-t._dnd_start_lb[0]+\"px\"}},t._ready_to_dnd=function(e){var i=t.getLightbox();t._lb_start=[parseInt(i.style.left,10),parseInt(i.style.top,10)],t._dnd_start_lb=e&amp;&amp;e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY]},t._finish_dnd=function(){t._lb_start&amp;&amp;(t._lb_start=t._dnd_start_lb=!1,document.body.className=document.body.className.replace(\" gantt_unselectable\",\"\"),document.gantt_unselectable=!1)},t._focus=function(e,i){if(e&amp;&amp;e.focus)if(t.config.touch);else try{i&amp;&amp;e.select&amp;&amp;e.select(),e.focus()}catch(t){}},t.form_blocks={getTimePicker:function(e,i){var r,a,o,s=\"\",l=this.config,c={first:0,last:1440,date:this.date.date_part(new Date(t._min_date.valueOf())),timeFormat:function(e){var i,r,a;if(e.time_format)return e.time_format;a=[\"%d\",\"%m\",\"%Y\"],i=t.getScale(),r=i?i.unit:t.config.duration_unit,n.getSecondsInUnit(r)&lt;n.getSecondsInUnit(\"day\")&amp;&amp;a.push(\"%H:%i\");return a}(e)};for(e._time_format_order={size:0},t.config.limit_time_select&amp;&amp;(c.first=60*l.first_hour,c.last=60*l.last_hour+1,c.date.setHours(l.first_hour)),r=0;r&lt;c.timeFormat.length;r++)r&gt;0&amp;&amp;(s+=\" \"),(a=g(e,r,c))&amp;&amp;(o=t._waiAria.lightboxSelectAttrString(c.timeFormat[r]),s+=\"&lt;select \"+(e.readonly?\"disabled='disabled'\":\"\")+(i?\" style='display:none' \":\"\")+o+\"&gt;\"+a+\"&lt;/select&gt;\");return s},getTimePickerValue:function(e,i,n){var r,a=i._time_format_order,o=t.defined(a[3]),s=0,l=0,c=n||0;return o&amp;&amp;(r=parseInt(e[a[3]+c].value,10),s=Math.floor(r/60),l=r%60),new Date(e[a[2]+c].value,e[a[1]+c].value,e[a[0]+c].value,s,l)},_fill_lightbox_select:function(e,i,n,r){if(e[i+r[0]].value=n.getDate(),e[i+r[1]].value=n.getMonth(),e[i+r[2]].value=n.getFullYear(),t.defined(r[3])){var a=60*n.getHours()+n.getMinutes();a=Math.round(a/t._get_timepicker_step())*t._get_timepicker_step();var o=e[i+r[3]];o.value=a,o.setAttribute(\"data-value\",a)}},template:new r,textarea:new a,select:new s,time:new o,duration:new u,parent:new d,radio:new c,checkbox:new l,resources:new h,constraint:new f},t._is_lightbox_timepicker=function(){for(var t=this._get_typed_lightbox_config(),e=0;e&lt;t.length;e++)if(\"time\"==t[e].name&amp;&amp;\"time\"==t[e].type)return!0;return!1},t._dhtmlx_confirm=function(e,i,n,r){if(!e)return n();var a={text:e};i&amp;&amp;(a.title=i),r&amp;&amp;(a.ok=r),n&amp;&amp;(a.callback=function(t){t&amp;&amp;n()}),t.confirm(a)},t._get_typed_lightbox_config=function(e){void 0===e&amp;&amp;(e=this.getLightboxType());var i=function(t){for(var e in this.config.types)if(this.config.types[e]==t)return e;return\"task\"}.call(this,e);return t.config.lightbox[i+\"_sections\"]?t.config.lightbox[i+\"_sections\"]:t.config.lightbox.sections},t._silent_redraw_lightbox=function(t){var e=this.getLightboxType();if(this.getState().lightbox){var i=this.getState().lightbox,n=this.getLightboxValues(),r=this.copy(this.getTask(i));this.resetLightbox();var a=this.mixin(r,n,!0),o=this.getLightbox(t||void 0);this._center_lightbox(this.getLightbox()),this._set_lightbox_values(a,o)}else this.resetLightbox(),this.getLightbox(t||void 0);this.callEvent(\"onLightboxChange\",[e,this.getLightboxType()])}}},function(t,e,i){var n=i(3);t.exports=function(t){t.isUnscheduledTask=function(e){return t.assert(e&amp;&amp;e instanceof Object,\"Invalid argument &lt;b&gt;task&lt;/b&gt;=\"+e+\" of gantt.isUnscheduledTask. Task object was expected\"),!!e.unscheduled||!e.start_date},t._isAllowedUnscheduledTask=function(e){return!(!e.unscheduled||!t.config.show_unscheduled)},t.isTaskVisible=function(e){if(!this.isTaskExists(e))return!1;var i=this.getTask(e),n=i.start_date?i.start_date.valueOf():null,r=i.end_date?i.end_date.valueOf():null;return!!(t._isAllowedUnscheduledTask(i)||n&amp;&amp;r&amp;&amp;n&lt;=this._max_date.valueOf()&amp;&amp;r&gt;=this._min_date.valueOf())&amp;&amp;!!(t.getGlobalTaskIndex(e)&gt;=0)},t._getProjectEnd=function(){if(t.config.project_end)return t.config.project_end;var e=t.getTaskByTime();return(e=e.sort(function(t,e){return+t.end_date&gt;+e.end_date?1:-1})).length?e[e.length-1].end_date:null},t._getProjectStart=function(){if(t.config.project_start)return t.config.project_start;if(t.config.start_date)return t.config.start_date;if(t.getState().min_date)return t.getState().min_date;var e=t.getTaskByTime();return(e=e.sort(function(t,e){return+t.start_date&gt;+e.start_date?1:-1})).length?e[0].start_date:null},t._defaultTaskDate=function(e,i){var n=!(!i||i==t.config.root_id)&amp;&amp;t.getTask(i),r=null;if(n)r=t.config.schedule_from_end?t.calculateEndDate({start_date:n.end_date,duration:-t.config.duration_step,task:e}):n.start_date;else if(t.config.schedule_from_end)r=t.calculateEndDate({start_date:t._getProjectEnd(),duration:-t.config.duration_step,task:e});else{var a=t.getTaskByIndex(0);r=a?a.start_date?a.start_date:a.end_date?t.calculateEndDate({start_date:a.end_date,duration:-t.config.duration_step,task:e}):null:t.config.start_date||t.getState().min_date}return t.assert(r,\"Invalid dates\"),new Date(r)},t._set_default_task_timing=function(e){e.start_date=e.start_date||t._defaultTaskDate(e,t.getParent(e)),e.duration=e.duration||t.config.duration_step,e.end_date=e.end_date||t.calculateEndDate(e)},t.createTask=function(e,i,n){(e=e||{},t.defined(e.id)||(e.id=t.uid()),e.start_date||(e.start_date=t._defaultTaskDate(e,i)),void 0===e.text&amp;&amp;(e.text=t.locale.labels.new_task),void 0===e.duration&amp;&amp;(e.duration=1),this.isTaskExists(i))&amp;&amp;(this.setParent(e,i,!0),this.getTask(i).$open=!0);return this.callEvent(\"onTaskCreated\",[e])?(this.config.details_on_create?(e.$new=!0,this.silent(function(){t.$data.tasksStore.addItem(e,n)}),this.selectTask(e.id),this.refreshData(),this.showLightbox(e.id)):this.addTask(e,i,n)&amp;&amp;(this.showTask(e.id),this.selectTask(e.id)),e.id):null},t._update_flags=function(e,i){var n=t.$data.tasksStore;void 0===e?(this._lightbox_id=null,n.silent(function(){n.unselect()}),this._tasks_dnd&amp;&amp;this._tasks_dnd.drag&amp;&amp;(this._tasks_dnd.drag.id=null)):(this._lightbox_id==e&amp;&amp;(this._lightbox_id=i),n.getSelectedId()==e&amp;&amp;n.silent(function(){n.unselect(e),n.select(i)}),this._tasks_dnd&amp;&amp;this._tasks_dnd.drag&amp;&amp;this._tasks_dnd.drag.id==e&amp;&amp;(this._tasks_dnd.drag.id=i))},t._get_task_timing_mode=function(t,e){var i=this.getTaskType(t.type),n={type:i,$no_start:!1,$no_end:!1};return e||i!=t.$rendered_type?(i==this.config.types.project?n.$no_end=n.$no_start=!0:i!=this.config.types.milestone&amp;&amp;(n.$no_end=!(t.end_date||t.duration),n.$no_start=!t.start_date,this._isAllowedUnscheduledTask(t)&amp;&amp;(n.$no_end=n.$no_start=!1)),n):(n.$no_start=t.$no_start,n.$no_end=t.$no_end,n)},t._init_task_timing=function(e){var i=t._get_task_timing_mode(e,!0),n=e.$rendered_type!=i.type,r=i.type;n&amp;&amp;(e.$no_start=i.$no_start,e.$no_end=i.$no_end,e.$rendered_type=i.type),n&amp;&amp;r!=this.config.types.milestone&amp;&amp;r==this.config.types.project&amp;&amp;this._set_default_task_timing(e),r==this.config.types.milestone&amp;&amp;(e.end_date=e.start_date),e.start_date&amp;&amp;e.end_date&amp;&amp;(e.duration=this.calculateDuration(e)),e.end_date||(e.end_date=e.start_date),e.duration=e.duration||0},t.isSummaryTask=function(e){t.assert(e&amp;&amp;e instanceof Object,\"Invalid argument &lt;b&gt;task&lt;/b&gt;=\"+e+\" of gantt.isSummaryTask. Task object was expected\");var i=t._get_task_timing_mode(e);return!(!i.$no_end&amp;&amp;!i.$no_start)},t.resetProjectDates=function(t){var e=this._get_task_timing_mode(t);if(e.$no_end||e.$no_start){var i=this.getSubtaskDates(t.id);this._assign_project_dates(t,i.start_date,i.end_date)}},t.getSubtaskDuration=function(e){var i=0,n=void 0!==e?e:t.config.root_id;return this.eachTask(function(e){this.getTaskType(e.type)==t.config.types.project||this.isUnscheduledTask(e)||(i+=e.duration)},n),i},t.getSubtaskDates=function(e){var i=null,n=null,r=void 0!==e?e:t.config.root_id;return this.eachTask(function(e){this.getTaskType(e.type)==t.config.types.project||this.isUnscheduledTask(e)||(e.start_date&amp;&amp;!e.$no_start&amp;&amp;(!i||i&gt;e.start_date.valueOf())&amp;&amp;(i=e.start_date.valueOf()),e.end_date&amp;&amp;!e.$no_end&amp;&amp;(!n||n&lt;e.end_date.valueOf())&amp;&amp;(n=e.end_date.valueOf()))},r),{start_date:i?new Date(i):null,end_date:n?new Date(n):null}},t._assign_project_dates=function(t,e,i){var n=this._get_task_timing_mode(t);n.$no_start&amp;&amp;(t.start_date=e&amp;&amp;e!=1/0?new Date(e):this._defaultTaskDate(t,this.getParent(t))),n.$no_end&amp;&amp;(t.end_date=i&amp;&amp;i!=-1/0?new Date(i):this.calculateEndDate({start_date:t.start_date,duration:this.config.duration_step,task:t})),(n.$no_start||n.$no_end)&amp;&amp;this._init_task_timing(t)},t._update_parents=function(e,i){if(e){var n=this.getTask(e),r=this.getParent(n),a=this._get_task_timing_mode(n),o=!0;if(a.$no_start||a.$no_end){var s=n.start_date.valueOf(),l=n.end_date.valueOf();t.resetProjectDates(n),s==n.start_date.valueOf()&amp;&amp;l==n.end_date.valueOf()&amp;&amp;(o=!1),o&amp;&amp;!i&amp;&amp;this.refreshTask(n.id,!0)}o&amp;&amp;r&amp;&amp;this.isTaskExists(r)&amp;&amp;this._update_parents(r,i)}},t.roundDate=function(e){var i=t.getScale();n.isDate(e)&amp;&amp;(e={date:e,unit:i?i.unit:t.config.duration_unit,step:i?i.step:t.config.duration_step});var r,a,o,s=e.date,l=e.step,c=e.unit;if(!i)return s;if(c==i.unit&amp;&amp;l==i.step&amp;&amp;+s&gt;=+i.min_date&amp;&amp;+s&lt;=+i.max_date)o=Math.floor(t.columnIndexByDate(s)),i.trace_x[o]||(o-=1,i.rtl&amp;&amp;(o=0)),a=new Date(i.trace_x[o]),r=t.date.add(a,l,c);else{for(o=Math.floor(t.columnIndexByDate(s)),r=t.date[c+\"_start\"](new Date(i.min_date)),i.trace_x[o]&amp;&amp;(r=t.date[c+\"_start\"](i.trace_x[o]));+r&lt;+s;){var u=(r=t.date[c+\"_start\"](t.date.add(r,l,c))).getTimezoneOffset();r=t._correct_dst_change(r,u,r,c),t.date[c+\"_start\"]&amp;&amp;(r=t.date[c+\"_start\"](r))}a=t.date.add(r,-1*l,c)}return e.dir&amp;&amp;\"future\"==e.dir?r:e.dir&amp;&amp;\"past\"==e.dir?a:Math.abs(s-a)&lt;Math.abs(r-s)?a:r},t.correctTaskWorkTime=function(e){t.config.work_time&amp;&amp;t.config.correct_work_time&amp;&amp;(this.isWorkTime(e.start_date,void 0,e)?this.isWorkTime(new Date(+e.end_date-1),void 0,e)||(e.end_date=this.calculateEndDate(e)):(e.start_date=this.getClosestWorkTime({date:e.start_date,dir:\"future\",task:e}),e.end_date=this.calculateEndDate(e)))},t.attachEvent(\"onBeforeTaskUpdate\",function(e,i){return t._init_task_timing(i),!0}),t.attachEvent(\"onBeforeTaskAdd\",function(e,i){return t._init_task_timing(i),!0})}},function(t,e,i){var n=i(0);t.exports={create:function(t,e){return{getWorkHours:function(t){return e.getWorkHours(t)},setWorkTime:function(t){return e.setWorkTime(t)},unsetWorkTime:function(t){e.unsetWorkTime(t)},isWorkTime:function(t,i,n){return e.isWorkTime(t,i,n)},getClosestWorkTime:function(t){return e.getClosestWorkTime(t)},calculateDuration:function(t,i,n){return e.calculateDuration(t,i,n)},_hasDuration:function(t,i,n){return e.hasDuration(t,i,n)},calculateEndDate:function(t,i,n,r){return e.calculateEndDate(t,i,n,r)},createCalendar:n.bind(t.createCalendar,t),addCalendar:n.bind(t.addCalendar,t),getCalendar:n.bind(t.getCalendar,t),getCalendars:n.bind(t.getCalendars,t),getTaskCalendar:n.bind(t.getTaskCalendar,t),deleteCalendar:n.bind(t.deleteCalendar,t)}}}},function(t,e){function i(t,e){this.argumentsHelper=e,this.$gantt=t}i.prototype={getWorkHours:function(){return[0,24]},setWorkTime:function(){return!0},unsetWorkTime:function(){return!0},isWorkTime:function(){return!0},getClosestWorkTime:function(t){return this.argumentsHelper.getClosestWorkTimeArguments.apply(this.argumentsHelper,arguments).date},calculateDuration:function(){var t=this.argumentsHelper.getDurationArguments.apply(this.argumentsHelper,arguments),e=t.start_date,i=t.end_date,n=t.unit,r=t.step;return this._calculateDuration(e,i,n,r)},_calculateDuration:function(t,e,i,n){var r=this.$gantt.date,a={week:6048e5,day:864e5,hour:36e5,minute:6e4},o=0;if(a[i])o=Math.round((e-t)/(n*a[i]));else{for(var s=new Date(t),l=new Date(e);s.valueOf()&lt;l.valueOf();)o+=1,s=r.add(s,n,i);s.valueOf()!=e.valueOf()&amp;&amp;(o+=(l-s)/(r.add(s,n,i)-s))}return Math.round(o)},hasDuration:function(){var t=this.argumentsHelper.getDurationArguments.apply(this.argumentsHelper,arguments),e=t.start_date,i=t.end_date;return!!t.unit&amp;&amp;(e=new Date(e),i=new Date(i),e.valueOf()&lt;i.valueOf())},calculateEndDate:function(){var t=this.argumentsHelper.calculateEndDateArguments.apply(this.argumentsHelper,arguments),e=t.start_date,i=t.duration,n=t.unit,r=t.step;return this.$gantt.date.add(e,r*i,n)}},t.exports=i},function(t,e,i){var n=i(18),r=i(57);function a(t){this.$gantt=t.$gantt,this.argumentsHelper=n(this.$gantt),this.calendarManager=t,this.$disabledCalendar=new r(this.$gantt,this.argumentsHelper)}a.prototype={_getCalendar:function(t){var e;if(this.$gantt.$services.config().work_time){var i=this.calendarManager;t.task?e=i.getTaskCalendar(t.task):t.id?e=i.getTaskCalendar(t):t.calendar&amp;&amp;(e=t.calendar),e||(e=i.getTaskCalendar())}else e=this.$disabledCalendar;return e},getWorkHours:function(t){return t=this.argumentsHelper.getWorkHoursArguments.apply(this.argumentsHelper,arguments),this._getCalendar(t).getWorkHours(t.date)},setWorkTime:function(t,e){return t=this.argumentsHelper.setWorkTimeArguments.apply(this.argumentsHelper,arguments),e||(e=this.calendarManager.getCalendar()),e.setWorkTime(t)},unsetWorkTime:function(t,e){return t=this.argumentsHelper.unsetWorkTimeArguments.apply(this.argumentsHelper,arguments),e||(e=this.calendarManager.getCalendar()),e.unsetWorkTime(t)},isWorkTime:function(t,e,i,n){var r=this.argumentsHelper.isWorkTimeArguments.apply(this.argumentsHelper,arguments);return this._getCalendar(r).isWorkTime(r)},getClosestWorkTime:function(t){return t=this.argumentsHelper.getClosestWorkTimeArguments.apply(this.argumentsHelper,arguments),this._getCalendar(t).getClosestWorkTime(t)},calculateDuration:function(){var t=this.argumentsHelper.getDurationArguments.apply(this.argumentsHelper,arguments);return this._getCalendar(t).calculateDuration(t)},hasDuration:function(){var t=this.argumentsHelper.hasDurationArguments.apply(this.argumentsHelper,arguments);return this._getCalendar(t).hasDuration(t)},calculateEndDate:function(t){t=this.argumentsHelper.calculateEndDateArguments.apply(this.argumentsHelper,arguments);return this._getCalendar(t).calculateEndDate(t)}},t.exports=a},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){this.clear()}return t.prototype.getItem=function(t,e){var i=this._cache;if(i&amp;&amp;i[t]){var n=i[t];if(void 0!==n[e])return n[e]}return-1},t.prototype.setItem=function(t,e,i){if(t&amp;&amp;e){var n=this._cache;n&amp;&amp;(n[t]||(n[t]={}),n[t][e]=i)}},t.prototype.clear=function(){this._cache={}},t}();e.WorkUnitsObjectCache=n},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(){this.clear()}return t.prototype.getItem=function(t,e){if(this._cache.has(t)){var i=this._cache.get(t);if(i.has(e))return i.get(e)}return-1},t.prototype.setItem=function(t,e,i){if(t&amp;&amp;e){var n,r=this._cache;r.has(t)?n=r.get(t):(n=new Map,r.set(t,n)),n.set(e,i)}},t.prototype.clear=function(){this._cache=new Map},t}();e.WorkUnitsMapCache=n},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=i(60),r=i(59);e.createCacheObject=function(){return\"undefined\"!=typeof Map?new n.WorkUnitsMapCache:new r.WorkUnitsObjectCache}},function(t,e,i){var n=i(61),r=i(0);function a(t,e){this.argumentsHelper=e,this.$gantt=t,this._workingUnitsCache=n.createCacheObject()}a.prototype={units:[\"year\",\"month\",\"week\",\"day\",\"hour\",\"minute\"],_getUnitOrder:function(t){for(var e=0,i=this.units.length;e&lt;i;e++)if(this.units[e]==t)return e},_timestamp:function(t){var e=null;return t.day||0===t.day?e=t.day:t.date&amp;&amp;(e=Date.UTC(t.date.getFullYear(),t.date.getMonth(),t.date.getDate())),e},_checkIfWorkingUnit:function(t,e,i){return void 0===i&amp;&amp;(i=this._getUnitOrder(e)),void 0===i||!(i&amp;&amp;!this._isWorkTime(t,this.units[i-1],i-1))&amp;&amp;(!this[\"_is_work_\"+e]||this[\"_is_work_\"+e](t))},_is_work_day:function(t){var e=this._getWorkHours(t);return e instanceof Array&amp;&amp;e.length&gt;0},_is_work_hour:function(t){for(var e=this._getWorkHours(t),i=t.getHours(),n=0;n&lt;e.length;n+=2){if(void 0===e[n+1])return e[n]==i;if(i&gt;=e[n]&amp;&amp;i&lt;e[n+1])return!0}return!1},_internDatesPull:{},_nextDate:function(t,e,i){return this.$gantt.date.add(t,i,e)},_getWorkUnitsBetweenGeneric:function(t,e,i,n){var r=this.$gantt.date,a=new Date(t),o=new Date(e);n=n||1;var s,l,c=0,u=null,d=!1;(s=r[i+\"_start\"](new Date(a))).valueOf()!=a.valueOf()&amp;&amp;(d=!0);var h=!1;(l=r[i+\"_start\"](new Date(e))).valueOf()!=e.valueOf()&amp;&amp;(h=!0);for(var f=!1;a.valueOf()&lt;o.valueOf();)f=(u=this._nextDate(a,i,n)).valueOf()&gt;o.valueOf(),this._isWorkTime(a,i)&amp;&amp;((d||h&amp;&amp;f)&amp;&amp;(s=r[i+\"_start\"](new Date(a)),l=r.add(s,n,i)),d?(d=!1,u=this._nextDate(s,i,n),c+=(l.valueOf()-a.valueOf())/(l.valueOf()-s.valueOf())):h&amp;&amp;f?(h=!1,c+=(o.valueOf()-a.valueOf())/(l.valueOf()-s.valueOf())):c++),a=u;return c},_getMinutesPerDay:function(t){return 60*this._getHoursPerDay(t)},_getHoursPerDay:function(t){for(var e=this._getWorkHours(t),i=0,n=0;n&lt;e.length;n+=2)i+=e[n+1]-e[n]||0;return i},_getWorkUnitsForRange:function(t,e,i,n){var a,o=0,s=new Date(t),l=new Date(e);for(a=\"minute\"==i?r.bind(this._getMinutesPerDay,this):r.bind(this._getHoursPerDay,this);s.valueOf()&lt;l.valueOf();)this._isWorkTime(s,\"day\")&amp;&amp;(o+=a(s)),s=this._nextDate(s,\"day\",1);return o/n},_getWorkUnitsBetweenQuick:function(t,e,i,n){var r=new Date(t),a=new Date(e);n=n||1;var o=new Date(r),s=this.$gantt.date.add(this.$gantt.date.day_start(new Date(r)),1,\"day\");if(a.valueOf()&lt;=s.valueOf())return this._getWorkUnitsBetweenGeneric(t,e,i,n);var l=this.$gantt.date.day_start(new Date(a)),c=a,u=this._getWorkUnitsBetweenGeneric(o,s,i,n),d=this._getWorkUnitsBetweenGeneric(l,c,i,n);return u+this._getWorkUnitsForRange(s,l,i,n)+d},_getCalendar:function(){return this.worktime},_setCalendar:function(t){this.worktime=t},_tryChangeCalendarSettings:function(t){var e=JSON.stringify(this._getCalendar());return t(),!this._isEmptyCalendar(this._getCalendar())||(this.$gantt.assert(!1,\"Invalid calendar settings, no worktime available\"),this._setCalendar(JSON.parse(e)),this._workingUnitsCache.clear(),!1)},_isEmptyCalendar:function(t){var e=!1,i=[],n=!0;for(var r in t.dates)e|=!!t.dates[r],i.push(r);var a=[];for(r=0;r&lt;i.length;r++)i[r]&lt;10&amp;&amp;a.push(i[r]);a.sort();for(r=0;r&lt;7;r++)a[r]!=r&amp;&amp;(n=!1);return n?!e:!(e||t.hours)},getWorkHours:function(){var t=this.argumentsHelper.getWorkHoursArguments.apply(this.argumentsHelper,arguments);return this._getWorkHours(t.date)},_getWorkHours:function(t){var e=this._timestamp({date:t}),i=!0,n=this._getCalendar();return void 0!==n.dates[e]?i=n.dates[e]:void 0!==n.dates[t.getDay()]&amp;&amp;(i=n.dates[t.getDay()]),!0===i?n.hours:i||[]},setWorkTime:function(t){return this._tryChangeCalendarSettings(r.bind(function(){var e=void 0===t.hours||t.hours,i=this._timestamp(t);null!==i?this._getCalendar().dates[i]=e:this._getCalendar().hours=e,this._workingUnitsCache.clear()},this))},unsetWorkTime:function(t){return this._tryChangeCalendarSettings(r.bind(function(){if(t){var e=this._timestamp(t);null!==e&amp;&amp;delete this._getCalendar().dates[e]}else this.reset_calendar();this._workingUnitsCache.clear()},this))},_isWorkTime:function(t,e,i){var n=String(t.valueOf()),r=this._workingUnitsCache.getItem(e,n);return-1==r&amp;&amp;(r=this._checkIfWorkingUnit(t,e,i),this._workingUnitsCache.setItem(e,n,r)),r},isWorkTime:function(){var t=this.argumentsHelper.isWorkTimeArguments.apply(this.argumentsHelper,arguments);return this._isWorkTime(t.date,t.unit)},calculateDuration:function(){var t=this.argumentsHelper.getDurationArguments.apply(this.argumentsHelper,arguments);return!!t.unit&amp;&amp;this._calculateDuration(t.start_date,t.end_date,t.unit,t.step)},_calculateDuration:function(t,e,i,n){var r=0;return r=\"hour\"==i||\"minute\"==i?this._getWorkUnitsBetweenQuick(t,e,i,n):this._getWorkUnitsBetweenGeneric(t,e,i,n),Math.round(r)},hasDuration:function(){var t=this.argumentsHelper.getDurationArguments.apply(this.argumentsHelper,arguments),e=t.start_date,i=t.end_date,n=t.unit,r=t.step;if(!n)return!1;var a=new Date(e),o=new Date(i);for(r=r||1;a.valueOf()&lt;o.valueOf();){if(this._isWorkTime(a,n))return!0;a=this._nextDate(a,n,r)}return!1},calculateEndDate:function(){var t=this.argumentsHelper.calculateEndDateArguments.apply(this.argumentsHelper,arguments),e=t.start_date,i=t.duration,n=t.unit,r=t.step;if(!n)return!1;var a=t.duration&gt;=0?1:-1;return i=Math.abs(1*i),this._calculateEndDate(e,i,n,r*a)},_calculateEndDate:function(t,e,i,n){return!!i&amp;&amp;(1==n&amp;&amp;\"minute\"==i?this._calculateMinuteEndDate(t,e,n):1==n&amp;&amp;\"hour\"==i?this._calculateHourEndDate(t,e,n):this._addInterval(t,e,i,n,null).end)},_addInterval:function(t,e,i,n,r){for(var a=0,o=t;a&lt;e&amp;&amp;(!r||!r(o));){var s=this._nextDate(o,i,n);this._isWorkTime(n&gt;0?new Date(s.valueOf()-1):new Date(s.valueOf()+1),i)&amp;&amp;a++,o=s}return{end:o,satrt:t,added:a}},_calculateHourEndDate:function(t,e,i){var n=new Date(t),r=0;i=i||1,e=Math.abs(1*e);var a=this._addInterval(n,e,\"hour\",i,function(t){return!(t.getHours()||t.getMinutes()||t.getSeconds()||t.getMilliseconds())});if(r=a.added,n=a.end,(c=e-r)&amp;&amp;c&gt;24){for(var o=n;r&lt;e;){var s=this._nextDate(o,\"day\",i);if(this._isWorkTime(i&gt;0?new Date(s.valueOf()-1):new Date(s.valueOf()+1),\"day\")){var l=this._getHoursPerDay(o);if(r+l&gt;=e)break;r+=l}o=s}n=o}if(r&lt;e){var c=e-r;n=(a=this._addInterval(n,c,\"hour\",i,null)).end}return n},_calculateMinuteEndDate:function(t,e,i){var n=new Date(t),r=0;i=i||1,e=Math.abs(1*e);var a=this._addInterval(n,e,\"minute\",i,function(t){return!(t.getMinutes()||t.getSeconds()||t.getMilliseconds())});if(r=a.added,n=a.end,r&lt;e){var o=e-r,s=Math.floor(o/60);s&amp;&amp;(n=this._calculateEndDate(n,s,\"hour\",i&gt;0?1:-1),r+=60*s)}if(r&lt;e){var l=e-r;n=(a=this._addInterval(n,l,\"minute\",i,null)).end}return n},getClosestWorkTime:function(){var t=this.argumentsHelper.getClosestWorkTimeArguments.apply(this.argumentsHelper,arguments);return this._getClosestWorkTime(t.date,t.unit,t.dir)},_getClosestWorkTime:function(t,e,i){var n=new Date(t);if(this._isWorkTime(n,e))return n;if(n=this.$gantt.date[e+\"_start\"](n),\"any\"!=i&amp;&amp;i)n=\"past\"==i?this._getClosestWorkTimePast(n,e):this._getClosestWorkTimeFuture(n,e);else{var r=this._getClosestWorkTimeFuture(n,e),a=this._getClosestWorkTimePast(n,e);n=Math.abs(r-t)&lt;=Math.abs(t-a)?r:a}return n},_getClosestWorkTimeFuture:function(t,e){return this._getClosestWorkTimeGeneric(t,e,1)},_getClosestWorkTimePast:function(t,e){var i=this._getClosestWorkTimeGeneric(t,e,-1);return this.$gantt.date.add(i,1,e)},_getClosestWorkTimeGeneric:function(t,e,i){for(var n=this._getUnitOrder(e),r=this.units[n-1],a=t,o=0;!this._isWorkTime(a,e)&amp;&amp;(!r||this._isWorkTime(a,r)||(a=this._getClosestWorkTimeGeneric(a,r,i),!this._isWorkTime(a,e)));){if(++o&gt;3e3)return this.$gantt.assert(!1,\"Invalid working time check\"),!1;var s=a.getTimezoneOffset();a=this.$gantt.date.add(a,i,e),a=this.$gantt._correct_dst_change(a,s,i,e),this.$gantt.date[e+\"_start\"]&amp;&amp;(a=this.$gantt.date[e+\"_start\"](a))}return a}},t.exports=a},function(t,e,i){var n=i(0),r=i(18),a=i(62);function o(t){this.$gantt=t,this._calendars={}}o.prototype={_calendars:{},_getDayHoursForMultiple:function(t,e){for(var i=[],n=!0,r=0,a=this.$gantt.date.day_start(new Date(e)),o=0;o&lt;24;o++)t.reduce(function(t,e){return t&amp;&amp;e._is_work_hour(a)},!0)?(n?(i[r]=o,i[r+1]=o+1,r+=2):i[r-1]+=1,n=!1):n||(n=!0),a=this.$gantt.date.add(a,1,\"hour\");return i.length||(i=!1),i},mergeCalendars:function(){var t,e=this.createCalendar(),i=[],n=Array.prototype.slice.call(arguments,0);e.worktime.hours=[0,24],e.worktime.dates={};var r=this.$gantt.date.day_start(new Date(2592e5));for(t=0;t&lt;7;t++)i=this._getDayHoursForMultiple(n,r),e.worktime.dates[t]=i,r=this.$gantt.date.add(r,1,\"day\");for(var a=0;a&lt;n.length;a++)for(var o in n[a].worktime.dates)+o&gt;1e4&amp;&amp;(i=this._getDayHoursForMultiple(n,new Date(+o)),e.worktime.dates[o]=i);return e},_convertWorktimeSettings:function(t){var e=t.days;if(e){t.dates=t.dates||{};for(var i=0;i&lt;e.length;i++)t.dates[i]=e[i],e[i]instanceof Array||(t.dates[i]=!!e[i]);delete t.days}return t},createCalendar:function(t){var e;t||(t={}),e=t.worktime?n.copy(t.worktime):n.copy(t);var i=n.copy(this.defaults.fulltime.worktime);n.mixin(e,i);var o={id:n.uid()+\"\",worktime:this._convertWorktimeSettings(e)},s=new a(this.$gantt,r(this.$gantt));return n.mixin(s,o),s._tryChangeCalendarSettings(function(){})?s:null},getCalendar:function(t){return t=t||\"global\",this.createDefaultCalendars(),this._calendars[t]},getCalendars:function(){var t=[];for(var e in this._calendars)t.push(this.getCalendar(e));return t},_getOwnCalendar:function(t){var e=this.$gantt.config;if(t[e.calendar_property])return this.getCalendar(t[e.calendar_property]);if(e.resource_calendars)for(var i in e.resource_calendars){var n=e.resource_calendars[i];if(t[i]){var r=n[t[i]];if(r)return this.getCalendar(r)}}return null},getTaskCalendar:function(t){if(!t)return this.getCalendar();var e=this._getOwnCalendar(t),i=this.$gantt;if(!e&amp;&amp;i.config.inherit_calendar&amp;&amp;i.isTaskExists(t.parent)){var n=!1;i.eachParent(function(t){n||i.isSummaryTask(t)&amp;&amp;(e=this._getOwnCalendar(t))&amp;&amp;(n=!0)},t.id,this)}return e||this.getCalendar()},addCalendar:function(t){if(!(t instanceof a)){var e=t.id;(t=this.createCalendar(t)).id=e}var i=this.$gantt.config;return t.id=t.id||n.uid(),this._calendars[t.id]=t,i.worktimes||(i.worktimes={}),i.worktimes[t.id]=t.worktime,t.id},deleteCalendar:function(t){var e=this.$gantt.config;return!!t&amp;&amp;(!!this._calendars[t]&amp;&amp;(delete this._calendars[t],e.worktimes&amp;&amp;e.worktimes[t]&amp;&amp;delete e.worktimes[t],!0))},restoreConfigCalendars:function(t){for(var e in t)if(!this._calendars[e]){var i=t[e],n=this.createCalendar(i);n.id=e,this.addCalendar(n)}},defaults:{global:{id:\"global\",worktime:{hours:[8,17],days:[0,1,1,1,1,1,0]}},fulltime:{id:\"fulltime\",worktime:{hours:[0,24],days:[1,1,1,1,1,1,1]}}},createDefaultCalendars:function(){var t=this.$gantt.config;this.restoreConfigCalendars(this.defaults),this.restoreConfigCalendars(t.worktimes)}},t.exports=o},function(t,e,i){var n=i(63),r=i(58),a=i(56),o=i(0);t.exports=function(t){var e=new n(t),i=new r(e),s=a.create(e,i);o.mixin(t,s)}},function(t,e,i){var n=i(3);t.exports=function(t){t.load=function(e,i,n){this._load_url=e,this.assert(arguments.length,\"Invalid load arguments\");var r=\"json\",a=null;return arguments.length&gt;=3?(r=i,a=n):\"string\"==typeof arguments[1]?r=arguments[1]:\"function\"==typeof arguments[1]&amp;&amp;(a=arguments[1]),this._load_type=r,this.callEvent(\"onLoadStart\",[e,r]),this.ajax.get(e,t.bind(function(t){this.on_load(t,r),this.callEvent(\"onLoadEnd\",[e,r]),\"function\"==typeof a&amp;&amp;a.call(this)},this))},t.parse=function(t,e){this.on_load({xmlDoc:{responseText:t}},e)},t.serialize=function(t){return this[t=t||\"json\"].serialize()},t.on_load=function(t,e){this.callEvent(\"onBeforeParse\",[]),e||(e=\"json\"),this.assert(this[e],\"Invalid data type:'\"+e+\"'\");var i=t.xmlDoc.responseText,n=this[e].parse(i,t);this._process_loading(n)},t._process_loading=function(t){t.collections&amp;&amp;this._load_collections(t.collections),this.$data.tasksStore.parse(t.data);var e=t.links||(t.collections?t.collections.links:[]);if(this.$data.linksStore.parse(e),this.callEvent(\"onParse\",[]),this.render(),this.config.initial_scroll){var i=this.getTaskByIndex(0),n=i?i.id:this.config.root_id;this.isTaskExists(n)&amp;&amp;this.showTask(n)}},t._load_collections=function(t){var e=!1;for(var i in t)if(t.hasOwnProperty(i)){e=!0;var n=t[i],r=this.serverList[i];if(!r)continue;r.splice(0,r.length);for(var a=0;a&lt;n.length;a++){var o=n[a],s=this.copy(o);for(var l in s.key=s.value,o)if(o.hasOwnProperty(l)){if(\"value\"==l||\"label\"==l)continue;s[l]=o[l]}r.push(s)}}e&amp;&amp;this.callEvent(\"onOptionsLoad\",[])},t.attachEvent(\"onBeforeTaskDisplay\",function(t,e){return!e.$ignore}),t.json={parse:function(e){return t.assert(e,\"Invalid data\"),\"string\"==typeof e&amp;&amp;(window.JSON?e=JSON.parse(e):t.assert(!1,\"JSON is not supported\")),e.dhx_security&amp;&amp;(t.security_key=e.dhx_security),e},serializeTask:function(t){return this._copyObject(t)},serializeLink:function(t){return this._copyLink(t)},_copyLink:function(t){var e={};for(var i in t)e[i]=t[i];return e},_copyObject:function(e){var i={};for(var r in e)\"$\"!=r.charAt(0)&amp;&amp;(i[r]=e[r],n.isDate(i[r])&amp;&amp;(i[r]=t.templates.xml_format(i[r])));return i},serialize:function(){var e=[],i=[];t.eachTask(function(i){t.resetProjectDates(i),e.push(this.serializeTask(i))},t.config.root_id,this);for(var n=t.getLinks(),r=0;r&lt;n.length;r++)i.push(this.serializeLink(n[r]));return{data:e,links:i}}},t.xml={_xmlNodeToJSON:function(t,e){for(var i={},n=0;n&lt;t.attributes.length;n++)i[t.attributes[n].name]=t.attributes[n].value;if(!e){for(n=0;n&lt;t.childNodes.length;n++){var r=t.childNodes[n];1==r.nodeType&amp;&amp;(i[r.tagName]=r.firstChild?r.firstChild.nodeValue:\"\")}i.text||(i.text=t.firstChild?t.firstChild.nodeValue:\"\")}return i},_getCollections:function(e){for(var i={},n=t.ajax.xpath(\"//coll_options\",e),r=0;r&lt;n.length;r++)for(var a=i[n[r].getAttribute(\"for\")]=[],o=t.ajax.xpath(\".//item\",n[r]),s=0;s&lt;o.length;s++){for(var l=o[s].attributes,c={key:o[s].getAttribute(\"value\"),label:o[s].getAttribute(\"label\")},u=0;u&lt;l.length;u++){var d=l[u];\"value\"!=d.nodeName&amp;&amp;\"label\"!=d.nodeName&amp;&amp;(c[d.nodeName]=d.nodeValue)}a.push(c)}return i},_getXML:function(e,i,n){n=n||\"data\",i.getXMLTopNode||(i=t.ajax.parse(i));var r=t.ajax.xmltop(n,i.xmlDoc);if(!r||r.tagName!=n)throw\"Invalid XML data\";var a=r.getAttribute(\"dhx_security\");return a&amp;&amp;(t.security_key=a),r},parse:function(e,i){i=this._getXML(e,i);for(var n={},r=n.data=[],a=t.ajax.xpath(\"//task\",i),o=0;o&lt;a.length;o++)r[o]=this._xmlNodeToJSON(a[o]);return n.collections=this._getCollections(i),n},_copyLink:function(t){return\"&lt;item id='\"+t.id+\"' source='\"+t.source+\"' target='\"+t.target+\"' type='\"+t.type+\"' /&gt;\"},_copyObject:function(t){return\"&lt;task id='\"+t.id+\"' parent='\"+(t.parent||\"\")+\"' start_date='\"+t.start_date+\"' duration='\"+t.duration+\"' open='\"+!!t.open+\"' progress='\"+t.progress+\"' end_date='\"+t.end_date+\"'&gt;&lt;![CDATA[\"+t.text+\"]]&gt;&lt;/task&gt;\"},serialize:function(){for(var e=[],i=[],n=t.json.serialize(),r=0,a=n.data.length;r&lt;a;r++)e.push(this._copyObject(n.data[r]));for(r=0,a=n.links.length;r&lt;a;r++)i.push(this._copyLink(n.links[r]));return\"&lt;data&gt;\"+e.join(\"\")+\"&lt;coll_options for='links'&gt;\"+i.join(\"\")+\"&lt;/coll_options&gt;&lt;/data&gt;\"}},t.oldxml={parse:function(e,i){i=t.xml._getXML(e,i,\"projects\");for(var n={collections:{links:[]}},r=n.data=[],a=t.ajax.xpath(\"//task\",i),o=0;o&lt;a.length;o++){r[o]=t.xml._xmlNodeToJSON(a[o]);var s=a[o].parentNode;\"project\"==s.tagName?r[o].parent=\"project-\"+s.getAttribute(\"id\"):r[o].parent=s.parentNode.getAttribute(\"id\")}a=t.ajax.xpath(\"//project\",i);for(o=0;o&lt;a.length;o++){(l=t.xml._xmlNodeToJSON(a[o],!0)).id=\"project-\"+l.id,r.push(l)}for(o=0;o&lt;r.length;o++){var l;(l=r[o]).start_date=l.startdate||l.est,l.end_date=l.enddate,l.text=l.name,l.duration=l.duration/8,l.open=1,l.duration||l.end_date||(l.duration=1),l.predecessortasks&amp;&amp;n.collections.links.push({target:l.id,source:l.predecessortasks,type:t.config.links.finish_to_start})}return n},serialize:function(){t.message(\"Serialization to 'old XML' is not implemented\")}},t.serverList=function(t,e){return e?this.serverList[t]=e.slice(0):this.serverList[t]||(this.serverList[t]=[]),this.serverList[t]}}},function(t,e){t.exports=function(t){t.isReadonly=function(t){return(!t||!t[this.config.editable_property])&amp;&amp;(t&amp;&amp;t[this.config.readonly_property]||this.config.readonly)}}},function(t,e){t.exports=function(t){var e=new RegExp(\"&lt;(?:.|\\n)*?&gt;\",\"gm\"),i=new RegExp(\" +\",\"gm\");function n(t){return(t+\"\").replace(e,\" \").replace(i,\" \")}var r=new RegExp(\"'\",\"gm\");function a(t){return(t+\"\").replace(r,\"&amp;#39;\")}for(var o in t._waiAria={getAttributeString:function(t){var e=[\" \"];for(var i in t){var r=a(n(t[i]));e.push(i+\"='\"+r+\"'\")}return e.push(\" \"),e.join(\" \")},getTimelineCellAttr:function(e){return t._waiAria.getAttributeString({\"aria-label\":e})},_taskCommonAttr:function(e,i){e.start_date&amp;&amp;e.end_date&amp;&amp;(i.setAttribute(\"aria-label\",n(t.templates.tooltip_text(e.start_date,e.end_date,e))),t.isReadonly(e)&amp;&amp;i.setAttribute(\"aria-readonly\",!0),e.$dataprocessor_class&amp;&amp;i.setAttribute(\"aria-busy\",!0),i.setAttribute(\"aria-selected\",t.getState().selected_task==e.id||t.isSelectedTask&amp;&amp;t.isSelectedTask(e.id)?\"true\":\"false\"))},setTaskBarAttr:function(e,i){this._taskCommonAttr(e,i),!t.isReadonly(e)&amp;&amp;t.config.drag_move&amp;&amp;(e.id!=t.getState().drag_id?i.setAttribute(\"aria-grabbed\",!1):i.setAttribute(\"aria-grabbed\",!0))},taskRowAttr:function(e,i){this._taskCommonAttr(e,i),!t.isReadonly(e)&amp;&amp;t.config.order_branch&amp;&amp;i.setAttribute(\"aria-grabbed\",!1),i.setAttribute(\"role\",\"row\"),i.setAttribute(\"aria-level\",e.$level),t.hasChild(e.id)&amp;&amp;i.setAttribute(\"aria-expanded\",e.$open?\"true\":\"false\")},linkAttr:function(e,i){var r=t.config.links,a=e.type==r.finish_to_start||e.type==r.start_to_start,o=e.type==r.start_to_start||e.type==r.start_to_finish,s=t.locale.labels.link+\" \"+t.templates.drag_link(e.source,o,e.target,a);i.setAttribute(\"aria-label\",n(s)),t.isReadonly(e)&amp;&amp;i.setAttribute(\"aria-readonly\",!0)},gridSeparatorAttr:function(t){t.setAttribute(\"role\",\"separator\")},lightboxHiddenAttr:function(t){t.setAttribute(\"aria-hidden\",\"true\")},lightboxVisibleAttr:function(t){t.setAttribute(\"aria-hidden\",\"false\")},lightboxAttr:function(t){t.setAttribute(\"role\",\"dialog\"),t.setAttribute(\"aria-hidden\",\"true\"),t.firstChild.setAttribute(\"role\",\"heading\")},lightboxButtonAttrString:function(e){return this.getAttributeString({role:\"button\",\"aria-label\":t.locale.labels[e],tabindex:\"0\"})},lightboxHeader:function(t,e){t.setAttribute(\"aria-label\",e)},lightboxSelectAttrString:function(e){var i=\"\";switch(e){case\"%Y\":i=t.locale.labels.years;break;case\"%m\":i=t.locale.labels.months;break;case\"%d\":i=t.locale.labels.days;break;case\"%H:%i\":i=t.locale.labels.hours+t.locale.labels.minutes}return t._waiAria.getAttributeString({\"aria-label\":i})},lightboxDurationInputAttrString:function(e){return this.getAttributeString({\"aria-label\":t.locale.labels.column_duration,\"aria-valuemin\":\"0\"})},gridAttrString:function(){return[\" role='treegrid'\",t.config.multiselect?\"aria-multiselectable='true'\":\"aria-multiselectable='false'\",\" \"].join(\" \")},gridScaleRowAttrString:function(){return\"role='row'\"},gridScaleCellAttrString:function(e,i){var n=\"\";if(\"add\"==e.name)n=this.getAttributeString({role:\"button\",\"aria-label\":t.locale.labels.new_task});else{var r={role:\"columnheader\",\"aria-label\":i};t._sort&amp;&amp;t._sort.name==e.name&amp;&amp;(\"asc\"==t._sort.direction?r[\"aria-sort\"]=\"ascending\":r[\"aria-sort\"]=\"descending\"),n=this.getAttributeString(r)}return n},gridDataAttrString:function(){return\"role='rowgroup'\"},gridCellAttrString:function(t,e){return this.getAttributeString({role:\"gridcell\",\"aria-label\":e})},gridAddButtonAttrString:function(e){return this.getAttributeString({role:\"button\",\"aria-label\":t.locale.labels.new_task})},messageButtonAttrString:function(t){return\"tabindex='0' role='button' aria-label='\"+t+\"'\"},messageInfoAttr:function(t){t.setAttribute(\"role\",\"alert\")},messageModalAttr:function(t,e){t.setAttribute(\"role\",\"dialog\"),e&amp;&amp;t.setAttribute(\"aria-labelledby\",e)},quickInfoAttr:function(t){t.setAttribute(\"role\",\"dialog\")},quickInfoHeaderAttrString:function(){return\" role='heading' \"},quickInfoHeader:function(t,e){t.setAttribute(\"aria-label\",e)},quickInfoButtonAttrString:function(e){return t._waiAria.getAttributeString({role:\"button\",\"aria-label\":e,tabindex:\"0\"})},tooltipAttr:function(t){t.setAttribute(\"role\",\"tooltip\")},tooltipVisibleAttr:function(t){t.setAttribute(\"aria-hidden\",\"false\")},tooltipHiddenAttr:function(t){t.setAttribute(\"aria-hidden\",\"true\")}},t._waiAria)t._waiAria[o]=function(e){return function(){return t.config.wai_aria_attributes?e.apply(this,arguments):\"\"}}(t._waiAria[o])}},function(t,e){t.exports=function(t){t.getGridColumn=function(e){for(var i=t.config.columns,n=0;n&lt;i.length;n++)if(i[n].name==e)return i[n];return null},t.getGridColumns=function(){return t.config.columns.slice()}}},function(t,e){t.exports=function(t){}},function(t,e){t.exports=function(t){function e(e){return function(){return!t.config.auto_types||t.getTaskType(t.config.types.project)!=t.config.types.project||e.apply(this,arguments)}}function i(e){t.batchUpdate(function(){!function e(i){!function(e){e=e.id||e;var i=t.getTask(e),n=a(i);!1!==n&amp;&amp;r(i,n)}(i);var n=t.getParent(i);n!=t.config.root_id&amp;&amp;e(n)}(e)})}var n;function r(e,i){e.type=i,t.updateTask(e.id)}function a(e){var i=t.config.types,n=t.hasChild(e.id),r=t.getTaskType(e.type);return n&amp;&amp;r===i.task?i.project:!n&amp;&amp;r===i.project&amp;&amp;i.task}var o,s,l=!0;function c(e){e!=t.config.root_id&amp;&amp;t.isTaskExists(e)&amp;&amp;i(e)}t.attachEvent(\"onParse\",e(function(){l=!1,t.batchUpdate(function(){t.eachTask(function(t){var e=a(t);!1!==e&amp;&amp;r(t,e)})}),l=!0})),t.attachEvent(\"onAfterTaskAdd\",e(function(t){l&amp;&amp;i(t)})),t.attachEvent(\"onAfterTaskUpdate\",e(function(t){l&amp;&amp;i(t)})),t.attachEvent(\"onBeforeTaskDelete\",e(function(e,i){return n=t.getParent(e),!0})),t.attachEvent(\"onAfterTaskDelete\",e(function(t,e){c(n)})),t.attachEvent(\"onRowDragStart\",e(function(e,i,n){return o=t.getParent(e),!0})),t.attachEvent(\"onRowDragEnd\",e(function(t,e){c(o),i(t)})),t.attachEvent(\"onBeforeTaskMove\",e(function(e,i,n){return s=t.getParent(e),!0})),t.attachEvent(\"onAfterTaskMove\",e(function(t,e,n){document.querySelector(\".gantt_drag_marker\")||(c(s),i(t))}))}},function(t,e){t.exports=function(t){function e(e){return function(){return!t.config.placeholder_task||e.apply(this,arguments)}}function i(){var e=t.getTaskBy(\"type\",t.config.types.placeholder);if(!e.length||!t.isTaskExists(e[0].id)){var i={unscheduled:!0,type:t.config.types.placeholder,duration:0,text:t.locale.labels.new_task};if(!1===t.callEvent(\"onTaskCreated\",[i]))return;t.addTask(i)}}function n(e){var i=t.getTask(e);i.type==t.config.types.placeholder&amp;&amp;(i.start_date&amp;&amp;i.end_date&amp;&amp;i.unscheduled&amp;&amp;(i.unscheduled=!1),t.batchUpdate(function(){var e=t.copy(i);t.silent(function(){t.deleteTask(i.id)}),delete e[\"!nativeeditor_status\"],e.type=t.config.types.task,e.id=t.uid(),t.addTask(e)}))}t.config.types.placeholder=\"placeholder\",t.attachEvent(\"onDataProcessorReady\",e(function(i){i&amp;&amp;!i._silencedPlaceholder&amp;&amp;(i._silencedPlaceholder=!0,i.attachEvent(\"onBeforeUpdate\",e(function(e,n,r){return r.type!=t.config.types.placeholder||(i.setUpdated(e,!1),!1)})))}));var r=!1;t.attachEvent(\"onGanttReady\",function(){r||(r=!0,t.attachEvent(\"onAfterTaskUpdate\",e(n)),t.attachEvent(\"onAfterTaskAdd\",e(function(e,n){n.type!=t.config.types.placeholder&amp;&amp;(t.getTaskBy(\"type\",t.config.types.placeholder).forEach(function(e){t.silent(function(){t.isTaskExists(e.id)&amp;&amp;t.deleteTask(e.id)})}),i())})),t.attachEvent(\"onParse\",e(i)))}),t.attachEvent(\"onBeforeUndoStack\",function(e){for(var i=0;i&lt;e.commands.length;i++){var n=e.commands[i];\"task\"===n.entity&amp;&amp;n.value.type===t.config.types.placeholder&amp;&amp;(e.commands.splice(i,1),i--)}return!0})}},function(t,e,i){var n=i(3);function r(t){var e={};function i(e,i){return\"function\"==typeof e?function(e){var i=[];return t.eachTask(function(t){e(t)&amp;&amp;i.push(t)}),i}(e):n.isArray(i)?r(e,i):r(e,[i])}function r(i,r){for(var a,o=r.join(\"_\")+\"_\"+i,s={},l=0;l&lt;r.length;l++)s[r[l]]=!0;return e[o]?a=e[o]:(a=e[o]=[],t.eachTask(function(e){var r;e.type!=t.config.types.project&amp;&amp;(r=n.isArray(e[i])?e[i]:[e[i]],n.forEach(r,function(t){t&amp;&amp;(s[t]||s[t.resource_id])&amp;&amp;a.push(e)}))})),a}function a(n,r,a,o){var s=n.id+\"_\"+r+\"_\"+a.unit+\"_\"+a.step;return e[s]?e[s]:e[s]=function(e,n,r,a){g=\"task\"==e.$role?[]:i(n,e.id);for(var o=r.unit,s={},l=0;l&lt;g.length;l++)for(var c=g[l],u=t.date[o+\"_start\"](new Date(c.start_date));u&lt;c.end_date;){var d=u;if(u=t.date.add(u,1,o),t.isWorkTime({date:d,task:c,unit:o})){var h=d.valueOf();s[h]||(s[h]=[]),s[h].push(c)}}for(var f,_,g,p=[],v=a.$getConfig(),l=0;l&lt;r.trace_x.length;l++)f=new Date(r.trace_x[l]),_=t.date.add(f,1,o),((g=s[f.valueOf()]||[]).length||v.resource_render_empty_cells)&amp;&amp;p.push({start_date:f,end_date:_,tasks:g});return p}(n,r,a,o)}function o(t,e,i,n){var r=100*(1-(1*t||0)),a=n.posFromDate(e),o=n.posFromDate(i),s=document.createElement(\"div\");return s.className=\"gantt_histogram_hor_bar\",s.style.top=r+\"%\",s.style.left=a+\"px\",s.style.width=o-a+1+\"px\",s}function s(t,e,i){if(t===e)return null;var n=1-Math.max(t,e),r=Math.abs(t-e),a=document.createElement(\"div\");return a.className=\"gantt_histogram_vert_bar\",a.style.top=100*n+\"%\",a.style.height=100*r+\"%\",a.style.left=i+\"px\",a}function l(e,i,n){var r=t.config.resource_property,a=[];if(t.getDatastore(\"task\").exists(i)){var o=t.getTask(i);a=o[r]||[]}Array.isArray(a)||(a=[a]);for(var s=0;s&lt;a.length;s++)a[s].resource_id==e&amp;&amp;n.push({task_id:o.id,resource_id:a[s].resource_id,value:a[s].value})}return t.$data.tasksStore.attachEvent(\"onStoreUpdated\",function(){e={}}),{renderLine:function(t,e){for(var i=e.$getConfig(),n=e.$getTemplates(),r=a(t,i.resource_property,e.getScale(),e),o=[],s=0;s&lt;r.length;s++){var l=r[s],c=n.resource_cell_class(l.start_date,l.end_date,t,l.tasks),u=n.resource_cell_value(l.start_date,l.end_date,t,l.tasks);if(c||u){var d=e.getItemPosition(t,l.start_date,l.end_date),h=document.createElement(\"div\");h.className=[\"gantt_resource_marker\",c].join(\" \"),h.style.cssText=[\"left:\"+d.left+\"px\",\"width:\"+d.width+\"px\",\"height:\"+(i.row_height-1)+\"px\",\"line-height:\"+(i.row_height-1)+\"px\",\"top:\"+d.top+\"px\"].join(\";\"),u&amp;&amp;(h.innerHTML=u),o.push(h)}}var f=null;if(o.length)for(f=document.createElement(\"div\"),s=0;s&lt;o.length;s++)f.appendChild(o[s]);return f},renderHistogram:function(e,i){for(var n=i.$getConfig(),r=i.$getTemplates(),l=a(e,n.resource_property,i.getScale(),i),c=[],u={},d=e.capacity||i.$config.capacity||24,h=0;h&lt;l.length;h++){var f=l[h],_=r.histogram_cell_class(f.start_date,f.end_date,e,f.tasks),g=r.histogram_cell_label(f.start_date,f.end_date,e,f.tasks),p=r.histogram_cell_allocated(f.start_date,f.end_date,e,f.tasks),v=r.histogram_cell_capacity(f.start_date,f.end_date,e,f.tasks);if(u[f.start_date.valueOf()]=v||0,_||g){var m=i.getItemPosition(e,f.start_date,f.end_date),y=document.createElement(\"div\");y.className=[\"gantt_histogram_cell\",_].join(\" \"),y.style.cssText=[\"left:\"+m.left+\"px\",\"width:\"+m.width+\"px\",\"height:\"+(n.row_height-1)+\"px\",\"line-height:\"+(n.row_height-1)+\"px\",\"top:\"+(m.top+1)+\"px\"].join(\";\"),g&amp;&amp;(g=\"&lt;div class='gantt_histogram_label'&gt;\"+g+\"&lt;/div&gt;\"),p&amp;&amp;(g=\"&lt;div class='gantt_histogram_fill' style='height:\"+100*Math.min(p/d||0,1)+\"%;'&gt;&lt;/div&gt;\"+g),g&amp;&amp;(y.innerHTML=g),c.push(y)}}var b=null;if(c.length){for(b=document.createElement(\"div\"),h=0;h&lt;c.length;h++)b.appendChild(c[h]);var k=function(e,i,n){for(var r=i.getScale(),a=document.createElement(\"div\"),l=0;l&lt;r.trace_x.length;l++){var c=r.trace_x[l],u=r.trace_x[l+1]||t.date.add(c,r.step,r.unit),d=r.trace_x[l].valueOf(),h=Math.min(e[d]/n,1)||0;if(h&lt;0)return null;var f=Math.min(e[u.valueOf()]/n,1)||0,_=o(h,c,u,i);_&amp;&amp;a.appendChild(_);var g=s(h,f,i.posFromDate(u));g&amp;&amp;a.appendChild(g)}return a}(u,i,d);k&amp;&amp;(k.setAttribute(\"data-resource-id\",e.id),k.style.position=\"absolute\",k.style.top=m.top+1+\"px\",k.style.height=n.row_height-1+\"px\",k.style.left=0,b.appendChild(k))}return b},filterTasks:i,getResourceAssignments:function(e,i){var n=[],r=t.config.resource_property;return void 0!==i?l(e,i,n):t.getTaskBy(r,e).forEach(function(t){l(e,t.id,n)}),n}}}t.exports=function(t){var e=r(t);t.getTaskBy=e.filterTasks,t.getResourceAssignments=e.getResourceAssignments,t.$ui.layers.resourceRow=e.renderLine,t.$ui.layers.resourceHistogram=e.renderHistogram,t.config.resource_property=\"owner_id\",t.config.resource_store=\"resource\",t.config.resource_render_empty_cells=!1,t.templates.histogram_cell_class=function(t,e,i,n){},t.templates.histogram_cell_label=function(t,e,i,n){return n.length+\"/3\"},t.templates.histogram_cell_allocated=function(t,e,i,n){return n.length/3},t.templates.histogram_cell_capacity=function(t,e,i,n){return 0},t.templates.resource_cell_class=function(t,e,i,n){return n.length&lt;=1?\"gantt_resource_marker_ok\":\"gantt_resource_marker_overtime\"},t.templates.resource_cell_value=function(t,e,i,n){return 8*n.length}}},function(t,e){window.dhtmlx&amp;&amp;(window.dhtmlx.attaches||(window.dhtmlx.attaches={}),window.dhtmlx.attaches.attachGantt=function(t,e,i){var n=document.createElement(\"DIV\");i=i||window.gantt,n.id=\"gantt_\"+i.uid(),n.style.width=\"100%\",n.style.height=\"100%\",n.cmp=\"grid\",document.body.appendChild(n),this.attachObject(n.id),this.dataType=\"gantt\",this.dataObj=i;var r=this.vs[this.av];r.grid=i,i.init(n.id,t,e),n.firstChild.style.border=\"none\",r.gridId=n.id,r.gridObj=n;return this.vs[this._viewRestore()].grid}),void 0!==window.dhtmlXCellObject&amp;&amp;(window.dhtmlXCellObject.prototype.attachGantt=function(t,e,i){i=i||window.gantt;var n=document.createElement(\"DIV\");return n.id=\"gantt_\"+i.uid(),n.style.width=\"100%\",n.style.height=\"100%\",n.cmp=\"grid\",document.body.appendChild(n),this.attachObject(n.id),this.dataType=\"gantt\",this.dataObj=i,i.init(n.id,t,e),n.firstChild.style.border=\"none\",n=null,this.callEvent(\"_onContentAttach\",[]),this.dataObj}),t.exports=null},function(t,e){window.jQuery&amp;&amp;function(t){var e=[];t.fn.dhx_gantt=function(i){if(\"string\"!=typeof(i=i||{})){var n=[];return this.each(function(){if(this&amp;&amp;this.getAttribute)if(this.gantt||window.gantt.$root==this)n.push(\"object\"==typeof this.gantt?this.gantt:window.gantt);else{var t=window.gantt.$container&amp;&amp;window.Gantt?window.Gantt.getGanttInstance():window.gantt;for(var e in i)\"data\"!=e&amp;&amp;(t.config[e]=i[e]);t.init(this),i.data&amp;&amp;t.parse(i.data),n.push(t)}}),1===n.length?n[0]:n}if(e[i])return e[i].apply(this,[]);t.error(\"Method \"+i+\" does not exist on jQuery.dhx_gantt\")}}(window.jQuery),t.exports=null},function(t,e){t.exports=function(t){var e=function(t){return{_needRecalc:!0,reset:function(){this._needRecalc=!0},_isRecalcNeeded:function(){return!this._isGroupSort()&amp;&amp;this._needRecalc},_isGroupSort:function(){return!(!t._groups||!t._groups.is_active())},_getWBSCode:function(t){return t?(this._isRecalcNeeded()&amp;&amp;this._calcWBS(),t.$virtual?\"\":this._isGroupSort()?t.$wbs||\"\":(t.$wbs||(this.reset(),this._calcWBS()),t.$wbs)):\"\"},_setWBSCode:function(t,e){t.$wbs=e},getWBSCode:function(t){return this._getWBSCode(t)},getByWBSCode:function(e){for(var i=e.split(\".\"),n=t.config.root_id,r=0;r&lt;i.length;r++){var a=t.getChildren(n),o=1*i[r]-1;if(!t.isTaskExists(a[o]))return null;n=a[o]}return t.isTaskExists(n)?t.getTask(n):null},_calcWBS:function(){if(this._isRecalcNeeded()){var e=!0;t.eachTask(function(i){if(e)return e=!1,void this._setWBSCode(i,\"1\");var n=t.getPrevSibling(i.id);if(null!==n){var r=t.getTask(n).$wbs;r&amp;&amp;((r=r.split(\".\"))[r.length-1]++,this._setWBSCode(i,r.join(\".\")))}else{var a=t.getParent(i.id);this._setWBSCode(i,t.getTask(a).$wbs+\".1\")}},t.config.root_id,this),this._needRecalc=!1}}}}(t);function i(){return e.reset(),!0}t.getWBSCode=function(t){return e.getWBSCode(t)},t.getTaskByWBSCode=function(t){return e.getByWBSCode(t)},t.attachEvent(\"onAfterTaskMove\",i),t.attachEvent(\"onBeforeParse\",i),t.attachEvent(\"onAfterTaskDelete\",i),t.attachEvent(\"onAfterTaskAdd\",i),t.attachEvent(\"onAfterSort\",i)}},function(t,e){function i(t){var e={},i=!1;function n(t,i){i=\"function\"==typeof i?i:function(){},e[t]||(e[t]=this[t],this[t]=i)}function r(t){e[t]&amp;&amp;(this[t]=e[t],e[t]=null)}function a(){for(var t in e)r.call(this,t)}function o(t){try{t()}catch(t){window.console.error(t)}}return t.$services.getService(\"state\").registerProvider(\"batchUpdate\",function(){return{batch_update:i}},!0),function(t,e){if(i)o(t);else{var r,s=this._dp&amp;&amp;\"off\"!=this._dp.updateMode;s&amp;&amp;(r=this._dp.updateMode,this._dp.setUpdateMode(\"off\"));var l={},c={render:!0,refreshData:!0,refreshTask:!0,refreshLink:!0,resetProjectDates:function(t){l[t.id]=t}};for(var u in function(t){for(var e in t)n.call(this,e,t[e])}.call(this,c),i=!0,this.callEvent(\"onBeforeBatchUpdate\",[]),o(t),this.callEvent(\"onAfterBatchUpdate\",[]),a.call(this),l)this.resetProjectDates(l[u]);i=!1,e||this.render(),s&amp;&amp;(this._dp.setUpdateMode(r),this._dp.setGanttMode(\"task\"),this._dp.sendData(),this._dp.setGanttMode(\"link\"),this._dp.sendData())}}}t.exports=function(t){t.batchUpdate=i(t)}},function(t,e,i){var n=i(1);t.exports=function(t){var e=50,i=30,r=10,a=50,o=null,s=!1,l=null,c={started:!1},u={};function d(){var e=!!document.querySelector(\".gantt_drag_marker\"),i=!!document.querySelector(\".gantt_drag_marker.gantt_grid_resize_area\"),n=!!document.querySelector(\".gantt_link_direction\");return s=e&amp;&amp;!i&amp;&amp;!n,!(!t.getState().drag_mode&amp;&amp;!e||i)}function h(e){if(l&amp;&amp;(clearTimeout(l),l=null),e){var i=t.config.autoscroll_speed;i&amp;&amp;i&lt;10&amp;&amp;(i=10),l=setTimeout(function(){o=setInterval(g,i||a)},t.config.autoscroll_delay||r)}}function f(t){t?(h(!0),c.started||(c.x=u.x,c.y=u.y,c.started=!0)):(o&amp;&amp;(clearInterval(o),o=null),h(!1),c.started=!1)}function _(e){var i=d();if(!o&amp;&amp;!l||i||f(!1),!t.config.autoscroll||!i)return!1;u={x:e.clientX,y:e.clientY},!o&amp;&amp;i&amp;&amp;f(!0)}function g(){if(!d())return f(!1),!1;var e=n.getNodePosition(t.$task||t.$grid||t.$root),r=u.x-e.x,a=u.y-e.y,o=s?0:p(r,e.width,c.x-e.x),l=p(a,e.height,c.y-e.y),h=t.getScrollState(),_=h.y,g=h.inner_height,v=h.height,m=h.x,y=h.inner_width,b=h.width;l&amp;&amp;!g?l=0:l&lt;0&amp;&amp;!_?l=0:l&gt;0&amp;&amp;_+g&gt;=v+2&amp;&amp;(l=0),o&amp;&amp;!y?o=0:o&lt;0&amp;&amp;!m?o=0:o&gt;0&amp;&amp;m+y&gt;=b&amp;&amp;(o=0);var k=t.config.autoscroll_step;k&amp;&amp;k&lt;2&amp;&amp;(k=2),o*=k||i,l*=k||i,(o||l)&amp;&amp;function(e,i){var n=t.getScrollState(),r=null,a=null;e&amp;&amp;(r=n.x+e,r=Math.min(n.width,r),r=Math.max(0,r));i&amp;&amp;(a=n.y+i,a=Math.min(n.height,a),a=Math.max(0,a));t.scrollTo(r,a)}(o,l)}function p(t,i,n){return t-e&lt;0&amp;&amp;t&lt;n?-1:t&gt;i-e&amp;&amp;t&gt;n?1:0}t.attachEvent(\"onGanttReady\",function(){t.eventRemove(document.body,\"mousemove\",_),t.event(document.body,\"mousemove\",_)})}},function(t,e,i){t.exports=function(t){for(var e=[i(77),i(76),i(75),i(74),i(73),i(72),i(71),i(70)],n=0;n&lt;e.length;n++)e[n]&amp;&amp;e[n](t)}},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function(t,e){t.getUserData=function(t,e){return this.userdata||(this.userdata={}),this.userdata[t]&amp;&amp;this.userdata[t][e]?this.userdata[t][e]:\"\"},t.setUserData=function(t,e,i){this.userdata||(this.userdata={}),this.userdata[t]||(this.userdata[t]={}),this.userdata[t][e]=i},t._change_id=function(t,e){\"task\"!==this._dp._ganttMode?this.changeLinkId(t,e):this.changeTaskId(t,e)},t._row_style=function(e,i){\"task\"===this._dp._ganttMode&amp;&amp;t.isTaskExists(e)&amp;&amp;(t.getTask(e).$dataprocessor_class=i,t.refreshTask(e))},t._delete_task=function(t,e){},t._sendTaskOrder=function(t,e){e.$drop_target&amp;&amp;(this._dp.setGanttMode(\"task\"),this.getTask(t).target=e.$drop_target,this._dp.setUpdated(t,!0,\"order\"),delete this.getTask(t).$drop_target)},t.setDp=function(){this._dp=e},t.setDp()}},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=i(3),r=function(){function t(t,e){this.$gantt=t,this.$dp=e,this._dataProcessorHandlers=[]}return t.prototype.attach=function(){var t=this.$dp,e=this.$gantt,n=i(19),r={};function a(i){for(var n=t.updatedRows.slice(),r=!1,a=0;a&lt;n.length&amp;&amp;!t._in_progress[i];a++)n[a]===i&amp;&amp;(\"inserted\"===e.getUserData(i,\"!nativeeditor_status\")&amp;&amp;(r=!0),t.setUpdated(i,!1));return r}this._dataProcessorHandlers.push(e.attachEvent(\"onAfterTaskAdd\",function(i,n){e.isTaskExists(i)&amp;&amp;(t.setGanttMode(\"tasks\"),t.setUpdated(i,!0,\"inserted\"))})),this._dataProcessorHandlers.push(e.attachEvent(\"onAfterTaskUpdate\",function(i,n){e.isTaskExists(i)&amp;&amp;(t.setGanttMode(\"tasks\"),t.setUpdated(i,!0),e._sendTaskOrder(i,n))})),this._dataProcessorHandlers.push(e.attachEvent(\"onBeforeTaskDelete\",function(t,i){return!e.config.cascade_delete||(r[t]={tasks:n.getSubtreeTasks(e,t),links:n.getSubtreeLinks(e,t)},!0)})),this._dataProcessorHandlers.push(e.attachEvent(\"onAfterTaskDelete\",function(i,n){if(t.setGanttMode(\"tasks\"),!a(i)){if(e.config.cascade_delete&amp;&amp;r[i]){var o=t.updateMode;t.setUpdateMode(\"off\");var s=r[i];for(var l in s.tasks)a(l)||t.setUpdated(l,!0,\"deleted\");for(var l in t.setGanttMode(\"links\"),s.links)a(l)||t.setUpdated(l,!0,\"deleted\");r[i]=null,\"off\"!==o&amp;&amp;t.sendAllData(),t.setGanttMode(\"tasks\"),t.setUpdateMode(o)}t.setUpdated(i,!0,\"deleted\"),\"off\"===t.updateMode||t._tSend||t.sendAllData()}})),this._dataProcessorHandlers.push(e.attachEvent(\"onAfterLinkUpdate\",function(i,n){e.isLinkExists(i)&amp;&amp;(t.setGanttMode(\"links\"),t.setUpdated(i,!0))})),this._dataProcessorHandlers.push(e.attachEvent(\"onAfterLinkAdd\",function(i,n){e.isLinkExists(i)&amp;&amp;(t.setGanttMode(\"links\"),t.setUpdated(i,!0,\"inserted\"))})),this._dataProcessorHandlers.push(e.attachEvent(\"onAfterLinkDelete\",function(e,i){t.setGanttMode(\"links\"),!a(e)&amp;&amp;t.setUpdated(e,!0,\"deleted\")})),this._dataProcessorHandlers.push(e.attachEvent(\"onRowDragEnd\",function(t,i){e._sendTaskOrder(t,e.getTask(t))}));var o=null,s=null;this._dataProcessorHandlers.push(e.attachEvent(\"onTaskIdChange\",function(i,n){if(t._waitMode){var r=e.getChildren(n);if(r.length){o=o||{};for(var a=0;a&lt;r.length;a++){var l=this.getTask(r[a]);o[l.id]=l}}var c=function(t){var e=[];return t.$source&amp;&amp;(e=e.concat(t.$source)),t.$target&amp;&amp;(e=e.concat(t.$target)),e}(this.getTask(n));if(c.length){s=s||{};for(a=0;a&lt;c.length;a++){var u=this.getLink(c[a]);s[u.id]=u}}}})),t.attachEvent(\"onAfterUpdateFinish\",function(){(o||s)&amp;&amp;(e.batchUpdate(function(){for(var t in o)e.updateTask(o[t].id);for(var t in s)e.updateLink(s[t].id);o=null,s=null}),o?e._dp.setGanttMode(\"tasks\"):e._dp.setGanttMode(\"links\"))}),t.attachEvent(\"onBeforeDataSending\",function(){if(\"CUSTOM\"===this._tMode)return!0;var t=this._serverProcessor;if(\"REST-JSON\"===this._tMode||\"REST\"===this._tMode){var i=this._ganttMode;t=t.substring(0,t.indexOf(\"?\")&gt;-1?t.indexOf(\"?\"):t.length),this.serverProcessor=t+(\"/\"===t.slice(-1)?\"\":\"/\")+i}else{var n=this._ganttMode+\"s\";this.serverProcessor=t+e.ajax.urlSeparator(t)+\"gantt_mode=\"+n}return!0}),t.attachEvent(\"insertCallback\",function(t,i,n,r){var a=t.data||e.xml._xmlNodeToJSON(t.firstChild),o={add:e.addTask,isExist:e.isTaskExists};\"links\"===r&amp;&amp;(o.add=e.addLink,o.isExist=e.isLinkExists),o.isExist.call(e,i)||(a.id=i,o.add.call(e,a))}),t.attachEvent(\"updateCallback\",function(t,i){var n=t.data||e.xml._xmlNodeToJSON(t.firstChild);if(e.isTaskExists(i)){var r=e.getTask(i);for(var a in n){var o=n[a];switch(a){case\"id\":continue;case\"start_date\":case\"end_date\":o=e.templates.xml_date(o);break;case\"duration\":r.end_date=e.calculateEndDate({start_date:r.start_date,duration:o,task:r})}r[a]=o}e.updateTask(i),e.refreshData()}}),t.attachEvent(\"deleteCallback\",function(t,i,n,r){var a={delete:e.deleteTask,isExist:e.isTaskExists};\"links\"===r&amp;&amp;(a.delete=e.deleteLink,a.isExist=e.isLinkExists),a.isExist.call(e,i)&amp;&amp;a.delete.call(e,i)})},t.prototype.detach=function(){var t=this;n.forEach(this._dataProcessorHandlers,function(e){t.$gantt.detachEvent(e)}),this._dataProcessorHandlers=[]},t}();e.default=r},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=i(4),r=i(3),a=i(0),o=i(80),s=i(79);e.createDataProcessor=function(t){var e,i;t instanceof Function?e=t:t.hasOwnProperty(\"router\")?e=t.router:t.hasOwnProperty(\"link\")&amp;&amp;t.hasOwnProperty(\"task\")&amp;&amp;(e=t),i=e?\"CUSTOM\":t.mode||\"REST-JSON\";var n=new l(t.url);return n.init(this),n.setTransactionMode({mode:i,router:e},t.batchUpdate),n};var l=function(){function t(t){this.serverProcessor=t,this.action_param=\"!nativeeditor_status\",this.object=null,this.updatedRows=[],this.autoUpdate=!0,this.updateMode=\"cell\",this._headers=null,this._payload=null,this._postDelim=\"_\",this._waitMode=0,this._in_progress={},this._invalid={},this.mandatoryFields=[],this.messages=[],this.styles={updated:\"font-weight:bold;\",inserted:\"font-weight:bold;\",deleted:\"text-decoration : line-through;\",invalid:\"background-color:FFE0E0;\",invalid_cell:\"border-bottom:2px solid red;\",error:\"color:red;\",clear:\"font-weight:normal;text-decoration:none;\"},this.enableUTFencoding(!0),n(this)}return t.prototype.setTransactionMode=function(t,e){\"object\"==typeof t?(this._tMode=t.mode||this._tMode,a.defined(t.headers)&amp;&amp;(this._headers=t.headers),a.defined(t.payload)&amp;&amp;(this._payload=t.payload)):(this._tMode=t,this._tSend=e),\"REST\"===this._tMode&amp;&amp;(this._tSend=!1,this._endnm=!0),\"JSON\"!==this._tMode&amp;&amp;\"REST-JSON\"!==this._tMode||(this._tSend=!1,this._endnm=!0,this._serializeAsJson=!0,this._headers=this._headers||{},this._headers[\"Content-type\"]=\"application/json\"),\"CUSTOM\"===this._tMode&amp;&amp;(this._tSend=!1,this._endnm=!0,this._router=t.router)},t.prototype.escape=function(t){return this._utf?encodeURIComponent(t):escape(t)},t.prototype.enableUTFencoding=function(t){this._utf=!!t},t.prototype.setDataColumns=function(t){this._columns=\"string\"==typeof t?t.split(\",\"):t},t.prototype.getSyncState=function(){return!this.updatedRows.length},t.prototype.enableDataNames=function(t){this._endnm=!!t},t.prototype.enablePartialDataSend=function(t){this._changed=!!t},t.prototype.setUpdateMode=function(t,e){this.autoUpdate=\"cell\"===t,this.updateMode=t,this.dnd=e},t.prototype.ignore=function(t,e){this._silent_mode=!0,t.call(e||window),this._silent_mode=!1},t.prototype.setUpdated=function(t,e,i){if(!this._silent_mode){var n=this.findRow(t);i=i||\"updated\";var r=this.$gantt.getUserData(t,this.action_param);r&amp;&amp;\"updated\"===i&amp;&amp;(i=r),e?(this.set_invalid(t,!1),this.updatedRows[n]=t,this.$gantt.setUserData(t,this.action_param,i),this._in_progress[t]&amp;&amp;(this._in_progress[t]=\"wait\")):this.is_invalid(t)||(this.updatedRows.splice(n,1),this.$gantt.setUserData(t,this.action_param,\"\")),this.markRow(t,e,i),e&amp;&amp;this.autoUpdate&amp;&amp;this.sendData(t)}},t.prototype.markRow=function(t,e,i){var n=\"\",r=this.is_invalid(t);if(r&amp;&amp;(n=this.styles[r],e=!0),this.callEvent(\"onRowMark\",[t,e,i,r])&amp;&amp;(n=this.styles[e?i:\"clear\"]+n,this.$gantt[this._methods[0]](t,n),r&amp;&amp;r.details)){n+=this.styles[r+\"_cell\"];for(var a=0;a&lt;r.details.length;a++)r.details[a]&amp;&amp;this.$gantt[this._methods[1]](t,a,n)}},t.prototype.getActionByState=function(t){return\"inserted\"===t?\"create\":\"updated\"===t?\"update\":\"deleted\"===t?\"delete\":\"update\"},t.prototype.getState=function(t){return this.$gantt.getUserData(t,this.action_param)},t.prototype.is_invalid=function(t){return this._invalid[t]},t.prototype.set_invalid=function(t,e,i){i&amp;&amp;(e={value:e,details:i,toString:function(){return this.value.toString()}}),this._invalid[t]=e},t.prototype.checkBeforeUpdate=function(t){return!0},t.prototype.sendData=function(t){if(!this._waitMode||\"tree\"!==this.$gantt.mytype&amp;&amp;!this.$gantt._h2){if(this.$gantt.editStop&amp;&amp;this.$gantt.editStop(),void 0===t||this._tSend)return this.sendAllData();if(this._in_progress[t])return!1;if(this.messages=[],!this.checkBeforeUpdate(t)&amp;&amp;this.callEvent(\"onValidationError\",[t,this.messages]))return!1;this._beforeSendData(this._getRowData(t),t)}},t.prototype._beforeSendData=function(t,e){if(!this.callEvent(\"onBeforeUpdate\",[e,this.getState(e),t]))return!1;this._sendData(t,e)},t.prototype.serialize=function(t,e){if(this._serializeAsJson)return this._serializeAsJSON(t);if(\"string\"==typeof t)return t;if(void 0!==e)return this.serialize_one(t,\"\");var i=[],n=[];for(var r in t)t.hasOwnProperty(r)&amp;&amp;(i.push(this.serialize_one(t[r],r+this._postDelim)),n.push(r));return i.push(\"ids=\"+this.escape(n.join(\",\"))),this.$gantt.security_key&amp;&amp;i.push(\"dhx_security=\"+this.$gantt.security_key),i.join(\"&amp;\")},t.prototype._serializeAsJSON=function(t){if(\"string\"==typeof t)return t;var e=a.copy(t);return\"REST-JSON\"===this._tMode&amp;&amp;(delete e.id,delete e[this.action_param]),JSON.stringify(e)},t.prototype.serialize_one=function(t,e){if(\"string\"==typeof t)return t;var i=[],n=\"\";for(var r in t)if(t.hasOwnProperty(r)){if((\"id\"===r||r==this.action_param)&amp;&amp;\"REST\"===this._tMode)continue;n=\"string\"==typeof t[r]||\"number\"==typeof t[r]?t[r]:JSON.stringify(t[r]),i.push(this.escape((e||\"\")+r)+\"=\"+this.escape(n))}return i.join(\"&amp;\")},t.prototype._applyPayload=function(t){var e=this.$gantt.ajax;if(this._payload)for(var i in this._payload)t=t+e.urlSeparator(t)+this.escape(i)+\"=\"+this.escape(this._payload[i]);return t},t.prototype._sendData=function(t,e){var i=this;if(t){if(!this.callEvent(\"onBeforeDataSending\",e?[e,this.getState(e),t]:[null,null,t]))return!1;e&amp;&amp;(this._in_progress[e]=(new Date).valueOf());var n=this.$gantt.ajax;if(\"CUSTOM\"!==this._tMode){var r;r={callback:function(n){var r=[];if(e)r.push(e);else if(t)for(var a in t)r.push(a);return i.afterUpdate(i,n,r)},headers:this._headers};var a,o=this.serverProcessor+(this._user?n.urlSeparator(this.serverProcessor)+[\"dhx_user=\"+this._user,\"dhx_version=\"+this.$gantt.getUserData(0,\"version\")].join(\"&amp;\"):\"\"),s=this._applyPayload(o);switch(this._tMode){case\"GET\":r.url=s+n.urlSeparator(s)+this.serialize(t,e),r.method=\"GET\";break;case\"POST\":r.url=s,r.method=\"POST\",r.data=this.serialize(t,e);break;case\"JSON\":for(var l in a={},t)l!==this.action_param&amp;&amp;\"id\"!==l&amp;&amp;\"gr_id\"!==l&amp;&amp;(a[l]=t[l]);r.url=s,r.method=\"POST\",r.data=JSON.stringify({id:e,action:t[this.action_param],data:a});break;case\"REST\":case\"REST-JSON\":switch(s=o.replace(/(&amp;|\\?)editing=true/,\"\"),a=\"\",this.getState(e)){case\"inserted\":r.method=\"POST\",r.data=this.serialize(t,e);break;case\"deleted\":r.method=\"DELETE\",s=s+(\"/\"===s.slice(-1)?\"\":\"/\")+e;break;default:r.method=\"PUT\",r.data=this.serialize(t,e),s=s+(\"/\"===s.slice(-1)?\"\":\"/\")+e}r.url=this._applyPayload(s)}return this._waitMode++,n.query(r)}var c=this.getState(e),u=this.getActionByState(c),d=this.getGanttMode(),h=function(t){var n=c||\"updated\",r=e,a=e;t&amp;&amp;(n=t.action||c,r=t.sid||r,a=t.id||t.tid||a),i.afterUpdateCallback(r,a,n,t)},f=void 0;if(this._router instanceof Function)f=this._router(d,u,t,e);else if(this._router[d]instanceof Function)f=this._router[d](u,t,e);else switch(c){case\"inserted\":f=this._router[d].create(t);break;case\"deleted\":f=this._router[d].delete(e);break;default:f=this._router[d].update(t,e)}if(f){if(!f.then&amp;&amp;void 0===f.id&amp;&amp;void 0===f.tid)throw new Error(\"Incorrect router return value. A Promise or a response object is expected\");f.then?f.then(h):h(f)}else h(null)}},t.prototype._forEachUpdatedRow=function(t){for(var e=this.updatedRows.slice(),i=0;i&lt;e.length;i++){var n=e[i];this.$gantt.getUserData(n,this.action_param)&amp;&amp;t.call(this,n)}},t.prototype.sendAllData=function(){if(this.updatedRows.length){this.messages=[];var t=!0;if(this._forEachUpdatedRow(function(e){t=t&amp;&amp;this.checkBeforeUpdate(e)}),!t&amp;&amp;!this.callEvent(\"onValidationError\",[\"\",this.messages]))return!1;if(this._tSend)this._sendData(this._getAllData());else{var e=!1;this._forEachUpdatedRow(function(t){if(!e&amp;&amp;!this._in_progress[t]){if(this.is_invalid(t))return;this._beforeSendData(this._getRowData(t),t),this._waitMode&amp;&amp;(\"tree\"===this.$gantt.mytype||this.$gantt._h2)&amp;&amp;(e=!0)}})}}},t.prototype._getAllData=function(){var t={},e=!1;return this._forEachUpdatedRow(function(i){if(!this._in_progress[i]&amp;&amp;!this.is_invalid(i)){var n=this._getRowData(i);this.callEvent(\"onBeforeUpdate\",[i,this.getState(i),n])&amp;&amp;(t[i]=n,e=!0,this._in_progress[i]=(new Date).valueOf())}}),e?t:null},t.prototype.setVerificator=function(t,e){this.mandatoryFields[t]=e||function(t){return\"\"!==t}},t.prototype.clearVerificator=function(t){this.mandatoryFields[t]=!1},t.prototype.findRow=function(t){var e=0;for(e=0;e&lt;this.updatedRows.length&amp;&amp;t!=this.updatedRows[e];e++);return e},t.prototype.defineAction=function(t,e){this._uActions||(this._uActions={}),this._uActions[t]=e},t.prototype.afterUpdateCallback=function(t,e,i,n){var r=t,a=\"error\"!==i&amp;&amp;\"invalid\"!==i;if(a||this.set_invalid(t,i),this._uActions&amp;&amp;this._uActions[i]&amp;&amp;!this._uActions[i](n))return delete this._in_progress[r];\"wait\"!==this._in_progress[r]&amp;&amp;this.setUpdated(t,!1);var o=t;switch(i){case\"inserted\":case\"insert\":e!=t&amp;&amp;(this.setUpdated(t,!1),this.$gantt[this._methods[2]](t,e),t=e);break;case\"delete\":case\"deleted\":return this.$gantt.setUserData(t,this.action_param,\"true_deleted\"),this.$gantt[this._methods[3]](t),delete this._in_progress[r],this.callEvent(\"onAfterUpdate\",[t,i,e,n])}\"wait\"!==this._in_progress[r]?(a&amp;&amp;this.$gantt.setUserData(t,this.action_param,\"\"),delete this._in_progress[r]):(delete this._in_progress[r],this.setUpdated(e,!0,this.$gantt.getUserData(t,this.action_param))),this.callEvent(\"onAfterUpdate\",[o,i,e,n])},t.prototype.afterUpdate=function(t,e,i){var n;n=3===arguments.length?arguments[1]:arguments[4];var r=this.getGanttMode(),a=n.filePath||n.url;r=\"REST\"!==this._tMode&amp;&amp;\"REST-JSON\"!==this._tMode?-1!==a.indexOf(\"gantt_mode=links\")?\"link\":\"task\":a.indexOf(\"/link\")&gt;a.indexOf(\"/task\")?\"link\":\"task\",this.setGanttMode(r);var o=this.$gantt.ajax;if(window.JSON){var s=void 0;try{s=JSON.parse(e.xmlDoc.responseText)}catch(t){e.xmlDoc.responseText.length||(s={})}if(s){var l=s.action||this.getState(i)||\"updated\",c=s.sid||i[0],u=s.tid||i[0];return t.afterUpdateCallback(c,u,l,s),t.finalizeUpdate(),void this.setGanttMode(r)}}var d=o.xmltop(\"data\",e.xmlDoc);if(!d)return this.cleanUpdate(i);var h=o.xpath(\"//data/action\",d);if(!h.length)return this.cleanUpdate(i);for(var f=0;f&lt;h.length;f++){var _=h[f];l=_.getAttribute(\"type\"),c=_.getAttribute(\"sid\"),u=_.getAttribute(\"tid\");t.afterUpdateCallback(c,u,l,_)}t.finalizeUpdate()},t.prototype.cleanUpdate=function(t){if(t)for(var e=0;e&lt;t.length;e++)delete this._in_progress[t[e]]},t.prototype.finalizeUpdate=function(){this._waitMode&amp;&amp;this._waitMode--,(\"tree\"===this.$gantt.mytype||this.$gantt._h2)&amp;&amp;this.updatedRows.length&amp;&amp;this.sendData(),this.callEvent(\"onAfterUpdateFinish\",[]),this.updatedRows.length||this.callEvent(\"onFullSync\",[])},t.prototype.init=function(t){if(!this._initialized){this.$gantt=t,this.$gantt._dp_init&amp;&amp;this.$gantt._dp_init(this),this._setDefaultTransactionMode(),this.styles={updated:\"gantt_updated\",order:\"gantt_updated\",inserted:\"gantt_inserted\",deleted:\"gantt_deleted\",invalid:\"gantt_invalid\",error:\"gantt_error\",clear:\"\"},this._methods=[\"_row_style\",\"setCellTextStyle\",\"_change_id\",\"_delete_task\"],s.default(this.$gantt,this);var e=new o.default(this.$gantt,this);e.attach(),this.attachEvent(\"onDestroy\",function(){delete this.setGanttMode,delete this._getRowData,delete this.$gantt._dp,delete this.$gantt._change_id,delete this.$gantt._row_style,delete this.$gantt._delete_task,delete this.$gantt._sendTaskOrder,delete this.$gantt,e.detach()}),this.$gantt.callEvent(\"onDataProcessorReady\",[this]),this._initialized=!0}},t.prototype._setDefaultTransactionMode=function(){this.serverProcessor&amp;&amp;(this.setTransactionMode(\"POST\",!0),this.serverProcessor+=(-1!==this.serverProcessor.indexOf(\"?\")?\"&amp;\":\"?\")+\"editing=true\",this._serverProcessor=this.serverProcessor)},t.prototype.setOnAfterUpdate=function(t){this.attachEvent(\"onAfterUpdate\",t)},t.prototype.enableDebug=function(t){},t.prototype.setOnBeforeUpdateHandler=function(t){this.attachEvent(\"onBeforeDataSending\",t)},t.prototype.setAutoUpdate=function(t,e){var i=this;t=t||2e3,this._user=e||(new Date).valueOf(),this._needUpdate=!1,this._updateBusy=!1,this.attachEvent(\"onAfterUpdate\",this.afterAutoUpdate),this.attachEvent(\"onFullSync\",this.fullSync),window.setInterval(function(){i.loadUpdate()},t)},t.prototype.afterAutoUpdate=function(t,e,i,n){return\"collision\"!==e||(this._needUpdate=!0,!1)},t.prototype.fullSync=function(){return this._needUpdate&amp;&amp;(this._needUpdate=!1,this.loadUpdate()),!0},t.prototype.getUpdates=function(t,e){var i=this.$gantt.ajax;if(this._updateBusy)return!1;this._updateBusy=!0,i.get(t,e)},t.prototype._v=function(t){return t.firstChild?t.firstChild.nodeValue:\"\"},t.prototype._a=function(t){for(var e=[],i=0;i&lt;t.length;i++)e[i]=this._v(t[i]);return e},t.prototype.loadUpdate=function(){var t=this,e=this.$gantt.ajax,i=this.$gantt.getUserData(0,\"version\"),n=this.serverProcessor+e.urlSeparator(this.serverProcessor)+[\"dhx_user=\"+this._user,\"dhx_version=\"+i].join(\"&amp;\");n=n.replace(\"editing=true&amp;\",\"\"),this.getUpdates(n,function(i){var n=e.xpath(\"//userdata\",i);t.obj.setUserData(0,\"version\",t._v(n[0]));var r=e.xpath(\"//update\",i);if(r.length){t._silent_mode=!0;for(var a=0;a&lt;r.length;a++){var o=r[a].getAttribute(\"status\"),s=r[a].getAttribute(\"id\"),l=r[a].getAttribute(\"parent\");switch(o){case\"inserted\":t.callEvent(\"insertCallback\",[r[a],s,l]);break;case\"updated\":t.callEvent(\"updateCallback\",[r[a],s,l]);break;case\"deleted\":t.callEvent(\"deleteCallback\",[r[a],s,l])}}t._silent_mode=!1}t._updateBusy=!1})},t.prototype.destructor=function(){this.callEvent(\"onDestroy\",[]),this.detachAllEvents(),this.updatedRows=[],this._in_progress={},this._invalid={},this._headers=null,this._payload=null,delete this._initialized},t.prototype.setGanttMode=function(t){\"tasks\"===t?t=\"task\":\"links\"===t&amp;&amp;(t=\"link\");var e=this.modes||{},i=this.getGanttMode();i&amp;&amp;(e[i]={_in_progress:this._in_progress,_invalid:this._invalid,updatedRows:this.updatedRows});var n=e[t];n||(n=e[t]={_in_progress:{},_invalid:{},updatedRows:[]}),this._in_progress=n._in_progress,this._invalid=n._invalid,this.updatedRows=n.updatedRows,this.modes=e,this._ganttMode=t},t.prototype.getGanttMode=function(){return this._ganttMode},t.prototype._getRowData=function(t){var e;e=\"task\"===this.getGanttMode()?this.$gantt.isTaskExists(t)?this.$gantt.getTask(t):{id:t}:this.$gantt.isLinkExists(t)?this.$gantt.getLink(t):{id:t},e=this.$gantt.copy(e);var i={};for(var n in e)if(\"$\"!==n.substr(0,1)){var a=e[n];r.isDate(a)?i[n]=this.$gantt.templates.xml_format(a):i[n]=null===a?\"\":a}var o=this.$gantt._get_task_timing_mode(e);return o.$no_start&amp;&amp;(e.start_date=\"\",e.duration=\"\"),o.$no_end&amp;&amp;(e.end_date=\"\",e.duration=\"\"),i[this.action_param]=this.$gantt.getUserData(t,this.action_param),i},t.prototype._isFetchResult=function(t){return t.body instanceof ReadableStream},t.prototype.setSerializeAsJSON=function(t){this._serializeAsJson=t},t}();e.DataProcessor=l},function(t,e,i){var n=i(81);t.exports={DEPRECATED_api:function(t){return new n.DataProcessor(t)},createDataProcessor:n.createDataProcessor,getDataProcessorModes:n.getAvailableModes}},function(t,e){t.exports={bindDataStore:function(t,e){var i=e.getDatastore(t),n=function(t,e){var n=e.getLayers(),r=i.getItem(t);if(r&amp;&amp;i.isVisible(t))for(var a=0;a&lt;n.length;a++)n[a].render_item(r)},r=function(t){for(var e=t.getLayers(),n=0;n&lt;e.length;n++)e[n].clear();var r=i.getVisibleItems();for(n=0;n&lt;e.length;n++)e[n].render_items(r)};function a(t){return!!t.$services.getService(\"state\").getState(\"batchUpdate\").batch_update}i.attachEvent(\"onStoreUpdated\",function(o,s,l){if(!a(e)){var c=e.$services.getService(\"layers\").getDataRender(t);c&amp;&amp;(o&amp;&amp;\"move\"!=l&amp;&amp;\"delete\"!=l?(i.callEvent(\"onBeforeRefreshItem\",[s.id]),n(s.id,c),i.callEvent(\"onAfterRefreshItem\",[s.id])):(i.callEvent(\"onBeforeRefreshAll\",[]),r(c),i.callEvent(\"onAfterRefreshAll\",[])))}}),i.attachEvent(\"onItemOpen\",function(){e.render()}),i.attachEvent(\"onItemClose\",function(){e.render()}),i.attachEvent(\"onIdChange\",function(r,o){if(i.callEvent(\"onBeforeIdChange\",[r,o]),!a(e)){var s=e.$services.getService(\"layers\").getDataRender(t);!function(t,e,i,n){for(var r=0;r&lt;t.length;r++)t[r].change_id(e,i)}(s.getLayers(),r,o,i.getItem(o)),n(o,s)}})}}},function(t,e){t.exports=function(t){var e=null,i=t._removeItemInner;function n(t){e=null,this.callEvent(\"onAfterUnselect\",[t])}return t._removeItemInner=function(t){return e==t&amp;&amp;n.call(this,t),e&amp;&amp;this.eachItem&amp;&amp;this.eachItem(function(t){t.id==e&amp;&amp;n.call(this,t.id)},t),i.apply(this,arguments)},t.attachEvent(\"onIdChange\",function(e,i){t.getSelectedId()==e&amp;&amp;t.silent(function(){t.unselect(e),t.select(i)})}),{select:function(t){if(t){if(e==t)return e;if(!this._skip_refresh&amp;&amp;!this.callEvent(\"onBeforeSelect\",[t]))return!1;this.unselect(),e=t,this._skip_refresh||(this.refresh(t),this.callEvent(\"onAfterSelect\",[t]))}return e},getSelectedId:function(){return e},unselect:function(t){(t=t||e)&amp;&amp;(e=null,this._skip_refresh||(this.refresh(t),n.call(this,t)))}}}},function(t,e,i){var n=i(21),r=i(0),a=i(22),o=function(t){return a.apply(this,[t]),this._branches={},this.pull={},this.$initItem=t.initItem,this.$parentProperty=t.parentProperty||\"parent\",\"function\"!=typeof t.rootId?this.$getRootId=function(t){return function(){return t}}(t.rootId||0):this.$getRootId=t.rootId,this.$openInitially=t.openInitially,this.visibleOrder=n.$create(),this.fullOrder=n.$create(),this._searchVisibleOrder={},this._skip_refresh=!1,this.attachEvent(\"onFilterItem\",function(t,e){var i=!0;return this.eachParent(function(t){i=i&amp;&amp;t.$open&amp;&amp;!this._isSplitItem(t)},e),!!i}),this};o.prototype=r.mixin({_buildTree:function(t){for(var e=null,i=this.$getRootId(),n=0,a=t.length;n&lt;a;n++)e=t[n],this.setParent(e,this.getParent(e)||i);for(n=0,a=t.length;n&lt;a;n++)e=t[n],this._add_branch(e),e.$level=this.calculateItemLevel(e),r.defined(e.$open)||(e.$open=r.defined(e.open)?e.open:this.$openInitially());this._updateOrder()},_isSplitItem:function(t){return\"split\"==t.render&amp;&amp;this.hasChild(t.id)},parse:function(t){this.callEvent(\"onBeforeParse\",[t]);var e=this._parseInner(t);this._buildTree(e),this.filter(),this.callEvent(\"onParse\",[e])},_addItemInner:function(t,e){var i=this.getParent(t);r.defined(i)||(i=this.$getRootId(),this.setParent(t,i));var n=this.getIndexById(i)+Math.min(Math.max(e,0),this.visibleOrder.length);1*n!==n&amp;&amp;(n=void 0),a.prototype._addItemInner.call(this,t,n),this.setParent(t,i),t.hasOwnProperty(\"$rendered_parent\")&amp;&amp;this._move_branch(t,t.$rendered_parent),this._add_branch(t,e)},_changeIdInner:function(t,e){var i=this.getChildren(t),n=this._searchVisibleOrder[t];a.prototype._changeIdInner.call(this,t,e);var r=this.getParent(e);this._replace_branch_child(r,t,e);for(var o=0;o&lt;i.length;o++)this.setParent(this.getItem(i[o]),e);this._searchVisibleOrder[e]=n,delete this._branches[t]},_traverseBranches:function(t,e){e=e||this.$getRootId();var i=this._branches[e];if(i)for(var n=0;n&lt;i.length;n++){var r=i[n];t.call(this,r),this._branches[r]&amp;&amp;this._traverseBranches(t,r)}},_updateOrder:function(t){this.fullOrder=n.$create(),this._traverseBranches(function(t){this.fullOrder.push(t)}),t&amp;&amp;a.prototype._updateOrder.call(this,t)},_removeItemInner:function(t){var e=[];this.eachItem(function(t){e.push(t)},t),e.push(this.getItem(t));for(var i=0;i&lt;e.length;i++)this._move_branch(e[i],this.getParent(e[i]),null),a.prototype._removeItemInner.call(this,e[i].id),this._move_branch(e[i],this.getParent(e[i]),null)},move:function(t,e,i){var n=arguments[3];if(n){if(n===t)return;i=this.getParent(n),e=this.getBranchIndex(n)}if(t!=i){i=i||this.$getRootId();var r=this.getItem(t),a=this.getParent(r.id),o=this.getChildren(i);if(-1==e&amp;&amp;(e=o.length+1),a==i)if(this.getBranchIndex(t)==e)return;if(!1!==this.callEvent(\"onBeforeItemMove\",[t,i,e])){this._replace_branch_child(a,t),(o=this.getChildren(i))[e]?o=o.slice(0,e).concat([t]).concat(o.slice(e)):o.push(t),this.setParent(r,i),this._branches[i]=o;var s=this.calculateItemLevel(r)-r.$level;r.$level+=s,this.eachItem(function(t){t.$level+=s},r.id,this),this._moveInner(this.getIndexById(t),this.getIndexById(i)+e),this.callEvent(\"onAfterItemMove\",[t,i,e]),this.refresh()}}},getBranchIndex:function(t){for(var e=this.getChildren(this.getParent(t)),i=0;i&lt;e.length;i++)if(e[i]==t)return i;return-1},hasChild:function(t){return r.defined(this._branches[t])&amp;&amp;this._branches[t].length},getChildren:function(t){return r.defined(this._branches[t])?this._branches[t]:n.$create()},isChildOf:function(t,e){if(!this.exists(t))return!1;if(e===this.$getRootId())return!0;if(!this.hasChild(e))return!1;var i=this.getItem(t),n=this.getParent(t);if(this.getItem(e).$level&gt;=i.$level)return!1;for(;i&amp;&amp;this.exists(n);){if((i=this.getItem(n))&amp;&amp;i.id==e)return!0;n=this.getParent(i)}return!1},getSiblings:function(t){if(!this.exists(t))return n.$create();var e=this.getParent(t);return this.getChildren(e)},getNextSibling:function(t){for(var e=this.getSiblings(t),i=0,n=e.length;i&lt;n;i++)if(e[i]==t)return e[i+1]||null;return null},getPrevSibling:function(t){for(var e=this.getSiblings(t),i=0,n=e.length;i&lt;n;i++)if(e[i]==t)return e[i-1]||null;return null},getParent:function(t){var e=null;return(e=void 0!==t.id?t:this.getItem(t))?e[this.$parentProperty]:this.$getRootId()},clearAll:function(){this._branches={},a.prototype.clearAll.call(this)},calculateItemLevel:function(t){var e=0;return this.eachParent(function(){e++},t),e},_setParentInner:function(t,e,i){i||(t.hasOwnProperty(\"$rendered_parent\")?this._move_branch(t,t.$rendered_parent,e):this._move_branch(t,t[this.$parentProperty],e))},setParent:function(t,e,i){this._setParentInner(t,e,i),t[this.$parentProperty]=e},eachItem:function(t,e){e=e||this.$getRootId();var i=this.getChildren(e);if(i)for(var n=0;n&lt;i.length;n++){var r=this.pull[i[n]];t.call(this,r),this.hasChild(r.id)&amp;&amp;this.eachItem(t,r.id)}},eachParent:function(t,e){for(var i={},n=e,r=this.getParent(n);this.exists(r);){if(i[r])throw new Error(\"Invalid tasks tree. Cyclic reference has been detected on task \"+r);i[r]=!0,n=this.getItem(r),t.call(this,n),r=this.getParent(n)}},_add_branch:function(t,e,i){var r=void 0===i?this.getParent(t):i;this.hasChild(r)||(this._branches[r]=n.$create());for(var a=this.getChildren(r),o=!1,s=0,l=a.length;s&lt;l;s++)if(a[s]==t.id){o=!0;break}o||(1*e==e?a.splice(e,0,t.id):a.push(t.id),t.$rendered_parent=r)},_move_branch:function(t,e,i){this._replace_branch_child(e,t.id),this.exists(i)||i==this.$getRootId()?this._add_branch(t,void 0,i):delete this._branches[t.id],t.$level=this.calculateItemLevel(t),this.eachItem(function(t){t.$level=this.calculateItemLevel(t)},t.id)},_replace_branch_child:function(t,e,i){var r=this.getChildren(t);if(r&amp;&amp;void 0!==t){for(var a=n.$create(),o=0;o&lt;r.length;o++)r[o]!=e?a.push(r[o]):i&amp;&amp;a.push(i);this._branches[t]=a}},sort:function(t,e,i){this.exists(i)||(i=this.$getRootId()),t||(t=\"order\");var n=\"string\"==typeof t?function(e,i){return e[t]==i[t]?0:e[t]&gt;i[t]?1:-1}:t;if(e){var r=n;n=function(t,e){return r(e,t)}}var a=this.getChildren(i);if(a){for(var o=[],s=a.length-1;s&gt;=0;s--)o[s]=this.getItem(a[s]);o.sort(n);for(s=0;s&lt;o.length;s++)a[s]=o[s].id,this.sort(t,e,a[s])}},filter:function(t){for(var e in this.pull)this.pull[e].$rendered_parent!==this.getParent(this.pull[e])&amp;&amp;this._move_branch(this.pull[e],this.pull[e].$rendered_parent,this.getParent(this.pull[e]));return a.prototype.filter.apply(this,arguments)},open:function(t){this.exists(t)&amp;&amp;(this.getItem(t).$open=!0,this.callEvent(\"onItemOpen\",[t]))},close:function(t){this.exists(t)&amp;&amp;(this.getItem(t).$open=!1,this.callEvent(\"onItemClose\",[t]))},destructor:function(){a.prototype.destructor.call(this),this._branches=null}},a.prototype),t.exports=o},function(t,e,i){var n=i(0);t.exports=function(){return{getLinkCount:function(){return this.$data.linksStore.count()},getLink:function(t){return this.$data.linksStore.getItem(t)},getLinks:function(){return this.$data.linksStore.getItems()},isLinkExists:function(t){return this.$data.linksStore.exists(t)},addLink:function(t){return this.$data.linksStore.addItem(t)},updateLink:function(t,e){n.defined(e)||(e=this.getLink(t)),this.$data.linksStore.updateItem(t,e)},deleteLink:function(t){return this.$data.linksStore.removeItem(t)},changeLinkId:function(t,e){return this.$data.linksStore.changeId(t,e)}}}},function(t,e,i){var n=i(0);t.exports=function(){return{getTask:function(t){this.assert(t,\"Invalid argument for gantt.getTask\");var e=this.$data.tasksStore.getItem(t);return this.assert(e,\"Task not found id=\"+t),e},getTaskByTime:function(t,e){var i=this.$data.tasksStore.getItems(),n=[];if(t||e){t=+t||-1/0,e=+e||1/0;for(var r=0;r&lt;i.length;r++){var a=i[r];+a.start_date&lt;e&amp;&amp;+a.end_date&gt;t&amp;&amp;n.push(a)}}else n=i;return n},isTaskExists:function(t){return this.$data.tasksStore.exists(t)},updateTask:function(t,e){n.defined(e)||(e=this.getTask(t)),this.$data.tasksStore.updateItem(t,e),this.isTaskExists(t)&amp;&amp;this.refreshTask(t)},addTask:function(t,e,i){return n.defined(t.id)||(t.id=n.uid()),n.defined(e)||(e=this.getParent(t)||0),this.isTaskExists(e)||(e=this.config.root_id),this.setParent(t,e),this.$data.tasksStore.addItem(t,i,e)},deleteTask:function(t){return this.$data.tasksStore.removeItem(t)},getTaskCount:function(){return this.$data.tasksStore.count()},getVisibleTaskCount:function(){return this.$data.tasksStore.countVisible()},getTaskIndex:function(t){return this.$data.tasksStore.getBranchIndex(t)},getGlobalTaskIndex:function(t){return this.assert(t,\"Invalid argument\"),this.$data.tasksStore.getIndexById(t)},eachTask:function(t,e,i){return this.$data.tasksStore.eachItem(n.bind(t,i||this),e)},eachParent:function(t,e,i){return this.$data.tasksStore.eachParent(n.bind(t,i||this),e)},changeTaskId:function(t,e){this.$data.tasksStore.changeId(t,e);var i=this.$data.tasksStore.getItem(e),n=[];i.$source&amp;&amp;(n=n.concat(i.$source)),i.$target&amp;&amp;(n=n.concat(i.$target));for(var r=0;r&lt;n.length;r++){var a=this.getLink(n[r]);a.source==t&amp;&amp;(a.source=e),a.target==t&amp;&amp;(a.target=e)}},calculateTaskLevel:function(t){return this.$data.tasksStore.calculateItemLevel(t)},getNext:function(t){return this.$data.tasksStore.getNext(t)},getPrev:function(t){return this.$data.tasksStore.getPrev(t)},getParent:function(t){return this.$data.tasksStore.getParent(t)},setParent:function(t,e,i){return this.$data.tasksStore.setParent(t,e,i)},getSiblings:function(t){return this.$data.tasksStore.getSiblings(t).slice()},getNextSibling:function(t){return this.$data.tasksStore.getNextSibling(t)},getPrevSibling:function(t){return this.$data.tasksStore.getPrevSibling(t)},getTaskByIndex:function(t){var e=this.$data.tasksStore.getIdByIndex(t);return this.isTaskExists(e)?this.getTask(e):null},getChildren:function(t){return this.hasChild(t)?this.$data.tasksStore.getChildren(t).slice():[]},hasChild:function(t){return this.$data.tasksStore.hasChild(t)},open:function(t){this.$data.tasksStore.open(t)},close:function(t){this.$data.tasksStore.close(t)},moveTask:function(t,e,i){this.$data.tasksStore.move.apply(this.$data.tasksStore,arguments)},sort:function(t,e,i,n){var r=!n;this.$data.tasksStore.sort(t,e,i),r&amp;&amp;this.render(),this.callEvent(\"onAfterSort\",[t,e,i])}}}},function(t,e,i){var n=i(0),r=i(87),a=i(86),o=i(22),s=i(85),l=i(84),c=i(83);function u(){for(var t=this.$services.getService(\"datastores\"),e=[],i=0;i&lt;t.length;i++)e.push(this.getDatastore(t[i]));return e}var d=function(){return{createDatastore:function(t){var e=\"treedatastore\"==(t.type||\"\").toLowerCase()?s:o;if(t){var i=this;t.openInitially=function(){return i.config.open_tree_initially}}var n=new e(t);if(this.mixin(n,l(n)),t.name){this.$services.dropService(\"datastore:\"+t.name),this.$services.setService(\"datastore:\"+t.name,function(){return n});var r=this.$services.getService(\"datastores\");r?r.indexOf(t.name)&lt;0&amp;&amp;r.push(t.name):(r=[],this.$services.setService(\"datastores\",function(){return r}),r.push(t.name)),c.bindDataStore(t.name,this)}return n},getDatastore:function(t){return this.$services.getService(\"datastore:\"+t)},refreshData:function(){var t=this.getScrollState();this.callEvent(\"onBeforeDataRender\",[]);for(var e=u.call(this),i=0;i&lt;e.length;i++)e[i].refresh();(t.x||t.y)&amp;&amp;this.scrollTo(t.x,t.y),this.callEvent(\"onDataRender\",[])},isChildOf:function(t,e){return this.$data.tasksStore.isChildOf(t,e)},refreshTask:function(t,e){var i=this.getTask(t);if(i&amp;&amp;this.isTaskVisible(t)){if(this.$data.tasksStore.refresh(t,!!this.getState().drag_id),void 0!==e&amp;&amp;!e)return;for(var n=0;n&lt;i.$source.length;n++)this.refreshLink(i.$source[n]);for(n=0;n&lt;i.$target.length;n++)this.refreshLink(i.$target[n])}else this.isTaskExists(t)&amp;&amp;this.isTaskExists(this.getParent(t))&amp;&amp;this.refreshTask(this.getParent(t))},refreshLink:function(t){this.$data.linksStore.refresh(t,!!this.getState().drag_id)},silent:function(t){var e=this;e.$data.tasksStore.silent(function(){e.$data.linksStore.silent(function(){t()})})},clearAll:function(){for(var t=u.call(this),e=0;e&lt;t.length;e++)t[e].clearAll();this._update_flags(),this.userdata={},this.callEvent(\"onClear\",[]),this.render()},_clear_data:function(){this.$data.tasksStore.clearAll(),this.$data.linksStore.clearAll(),this._update_flags(),this.userdata={}},selectTask:function(t){var e=this.$data.tasksStore;return!!this.config.select_task&amp;&amp;(t&amp;&amp;e.select(t),e.getSelectedId())},unselectTask:function(t){this.$data.tasksStore.unselect(t)},getSelectedId:function(){return this.$data.tasksStore.getSelectedId()}}};t.exports={create:function(){var t=n.mixin({},d());return n.mixin(t,r()),n.mixin(t,a()),t}}},function(t,e,i){var n=i(0),r=i(88),a=i(20);t.exports=function(t){var e=r.create();n.mixin(t,e);var o=t.createDatastore({name:\"task\",type:\"treeDatastore\",rootId:function(){return t.config.root_id},initItem:n.bind(function(e){this.defined(e.id)||(e.id=this.uid()),e.start_date&amp;&amp;(e.start_date=t.date.parseDate(e.start_date,\"xml_date\")),e.end_date&amp;&amp;(e.end_date=t.date.parseDate(e.end_date,\"xml_date\"));var i=null;return(e.duration||0===e.duration)&amp;&amp;(e.duration=i=1*e.duration),i&amp;&amp;(e.start_date&amp;&amp;!e.end_date?e.end_date=this.calculateEndDate(e):!e.start_date&amp;&amp;e.end_date&amp;&amp;(e.start_date=this.calculateEndDate({start_date:e.end_date,duration:-e.duration,task:e}))),e.progress=Number(e.progress)||0,this._isAllowedUnscheduledTask(e)&amp;&amp;this._set_default_task_timing(e),this._init_task_timing(e),e.start_date&amp;&amp;e.end_date&amp;&amp;this.correctTaskWorkTime(e),e.$source=[],e.$target=[],void 0===e.parent&amp;&amp;this.setParent(e,this.config.root_id),e},t)}),s=t.createDatastore({name:\"link\",initItem:n.bind(function(t){return this.defined(t.id)||(t.id=this.uid()),t},t)});function l(e){var i=t.isTaskVisible(e);if(!i&amp;&amp;t.isTaskExists(e)){var n=t.getParent(e);t.isTaskExists(n)&amp;&amp;t.isTaskVisible(n)&amp;&amp;(n=t.getTask(n),t.isSplitTask(n)&amp;&amp;(i=!0))}return i}function c(e){if(t.isTaskExists(e.source)){var i=t.getTask(e.source);i.$source=i.$source||[],i.$source.push(e.id)}if(t.isTaskExists(e.target)){var n=t.getTask(e.target);n.$target=n.$target||[],n.$target.push(e.id)}}function u(e){if(t.isTaskExists(e.source))for(var i=t.getTask(e.source),n=0;n&lt;i.$source.length;n++)if(i.$source[n]==e.id){i.$source.splice(n,1);break}if(t.isTaskExists(e.target)){var r=t.getTask(e.target);for(n=0;n&lt;r.$target.length;n++)if(r.$target[n]==e.id){r.$target.splice(n,1);break}}}function d(){for(var e=null,i=t.$data.tasksStore.getItems(),n=0,r=i.length;n&lt;r;n++)(e=i[n]).$source=[],e.$target=[];var a=t.$data.linksStore.getItems();for(n=0,r=a.length;n&lt;r;n++)c(a[n])}function h(t){var e=t.source,i=t.target;for(var n in t.events)!function(t,n){e.attachEvent(t,function(){return i.callEvent(n,Array.prototype.slice.call(arguments))},n)}(n,t.events[n])}o.attachEvent(\"onBeforeRefreshAll\",function(){for(var e=o.getVisibleItems(),i=0;i&lt;e.length;i++){var n=e[i];n.$index=i,t.resetProjectDates(n)}}),o.attachEvent(\"onFilterItem\",function(e,i){var n=null,r=null;if(t.config.start_date&amp;&amp;t.config.end_date){if(t._isAllowedUnscheduledTask(i))return!0;if(n=t.config.start_date.valueOf(),r=t.config.end_date.valueOf(),+i.start_date&gt;r||+i.end_date&lt;+n)return!1}return!0}),o.attachEvent(\"onIdChange\",function(e,i){t._update_flags(e,i)}),o.attachEvent(\"onAfterUpdate\",function(e){if(t._update_parents(e),t.getState(\"batchUpdate\").batch_update)return!0;for(var i=o.getItem(e),n=0;n&lt;i.$source.length;n++)s.refresh(i.$source[n]);for(n=0;n&lt;i.$target.length;n++)s.refresh(i.$target[n])}),o.attachEvent(\"onAfterItemMove\",function(e,i,n){var r=t.getTask(e);null!==this.getNextSibling(e)?r.$drop_target=this.getNextSibling(e):null!==this.getPrevSibling(e)?r.$drop_target=\"next:\"+this.getPrevSibling(e):r.$drop_target=\"next:null\"}),o.attachEvent(\"onStoreUpdated\",function(e,i,n){if(\"delete\"==n&amp;&amp;t._update_flags(e,null),!t.$services.getService(\"state\").getState(\"batchUpdate\").batch_update){if(t.config.fit_tasks&amp;&amp;\"paint\"!==n){var r=t.getState();a(t);var o=t.getState();if(+r.min_date!=+o.min_date||+r.max_date!=+o.max_date)return t.render(),t.callEvent(\"onScaleAdjusted\",[]),!0}\"add\"==n||\"move\"==n||\"delete\"==n?t.$layout.resize():e||s.refresh()}}),s.attachEvent(\"onAfterAdd\",function(t,e){c(e)}),s.attachEvent(\"onAfterUpdate\",function(t,e){d()}),s.attachEvent(\"onAfterDelete\",function(t,e){u(e)}),s.attachEvent(\"onBeforeIdChange\",function(e,i){u(t.mixin({id:e},t.$data.linksStore.getItem(i))),c(t.$data.linksStore.getItem(i))}),s.attachEvent(\"onFilterItem\",function(e,i){if(!t.config.show_links)return!1;var n=l(i.source),r=l(i.target);return!(!n||!r||t._isAllowedUnscheduledTask(t.getTask(i.source))||t._isAllowedUnscheduledTask(t.getTask(i.target)))&amp;&amp;t.callEvent(\"onBeforeLinkDisplay\",[e,i])}),function(){var e=i(19),n={};t.attachEvent(\"onBeforeTaskDelete\",function(i,r){return n[i]=e.getSubtreeLinks(t,i),!0}),t.attachEvent(\"onAfterTaskDelete\",function(e,i){n[e]&amp;&amp;t.$data.linksStore.silent(function(){for(var i in n[e])t.$data.linksStore.removeItem(i),u(n[e][i]);n[e]=null})})}(),t.attachEvent(\"onAfterLinkDelete\",function(e,i){t.refreshTask(i.source),t.refreshTask(i.target)}),t.attachEvent(\"onParse\",d),h({source:s,target:t,events:{onItemLoading:\"onLinkLoading\",onBeforeAdd:\"onBeforeLinkAdd\",onAfterAdd:\"onAfterLinkAdd\",onBeforeUpdate:\"onBeforeLinkUpdate\",onAfterUpdate:\"onAfterLinkUpdate\",onBeforeDelete:\"onBeforeLinkDelete\",onAfterDelete:\"onAfterLinkDelete\",onIdChange:\"onLinkIdChange\"}}),h({source:o,target:t,events:{onItemLoading:\"onTaskLoading\",onBeforeAdd:\"onBeforeTaskAdd\",onAfterAdd:\"onAfterTaskAdd\",onBeforeUpdate:\"onBeforeTaskUpdate\",onAfterUpdate:\"onAfterTaskUpdate\",onBeforeDelete:\"onBeforeTaskDelete\",onAfterDelete:\"onAfterTaskDelete\",onIdChange:\"onTaskIdChange\",onBeforeItemMove:\"onBeforeTaskMove\",onAfterItemMove:\"onAfterTaskMove\",onFilterItem:\"onBeforeTaskDisplay\",onItemOpen:\"onTaskOpened\",onItemClose:\"onTaskClosed\",onBeforeSelect:\"onBeforeTaskSelected\",onAfterSelect:\"onTaskSelected\",onAfterUnselect:\"onTaskUnselected\"}}),t.$data={tasksStore:o,linksStore:s}}},function(t,e){t.exports=function(){function t(t){return t.$ui.getView(\"timeline\")}function e(t){return t.$ui.getView(\"grid\")}function i(t){return t.$ui.getView(\"scrollVer\")}function n(t){return t.$ui.getView(\"scrollHor\")}var r=\"DEFAULT_VALUE\";function a(t,e,i,n){var a=t(this);return a&amp;&amp;a.isVisible()?a[e].apply(a,i):n?n():r}return{getColumnIndex:function(t){var i=a.call(this,e,\"getColumnIndex\",[t]);return i===r?0:i},dateFromPos:function(e){var i=a.call(this,t,\"dateFromPos\",Array.prototype.slice.call(arguments));return i===r?this.getState().min_date:i},posFromDate:function(e){var i=a.call(this,t,\"posFromDate\",[e]);return i===r?0:i},getRowTop:function(i){var n=this,o=a.call(n,t,\"getRowTop\",[i],function(){return a.call(n,e,\"getRowTop\",[i])});return o===r?0:o},getTaskTop:function(i){var n=this,o=a.call(n,t,\"getItemTop\",[i],function(){return a.call(n,e,\"getItemTop\",[i])});return o===r?0:o},getTaskPosition:function(e,i,n){var o=a.call(this,t,\"getItemPosition\",[e,i,n]);return o===r?{left:0,top:this.getTaskTop(e.id),height:this.getTaskHeight(),width:0}:o},getTaskHeight:function(){var i=this,n=a.call(i,t,\"getItemHeight\",[],function(){return a.call(i,e,\"getItemHeight\",[])});return n===r?0:n},columnIndexByDate:function(e){var i=a.call(this,t,\"columnIndexByDate\",[e]);return i===r?0:i},roundTaskDates:function(){a.call(this,t,\"roundTaskDates\",[])},getScale:function(){var e=a.call(this,t,\"getScale\",[]);return e===r?null:e},getTaskNode:function(e){var i=t(this);return i&amp;&amp;i.isVisible()?i._taskRenderer.rendered[e]:null},getLinkNode:function(e){var i=t(this);return i.isVisible()?i._linkRenderer.rendered[e]:null},scrollTo:function(t,e){var r=i(this),a=n(this),o={position:0},s={position:0};r&amp;&amp;(s=r.getScrollState()),a&amp;&amp;(o=a.getScrollState()),a&amp;&amp;1*t==t&amp;&amp;a.scroll(t),r&amp;&amp;1*e==e&amp;&amp;r.scroll(e);var l={position:0},c={position:0};r&amp;&amp;(l=r.getScrollState()),a&amp;&amp;(c=a.getScrollState()),this.callEvent(\"onGanttScroll\",[o.position,s.position,c.position,l.position])},showDate:function(t){var e=this.posFromDate(t),i=Math.max(e-this.config.task_scroll_offset,0);this.scrollTo(i)},showTask:function(t){var e,i=this.getTaskPosition(this.getTask(t)),n=Math.max(i.left-this.config.task_scroll_offset,0),r=this._scroll_state().y;e=r?i.top-(r-this.config.row_height)/2:i.top,this.scrollTo(n,e)},_scroll_state:function(){var t={x:!1,y:!1,x_pos:0,y_pos:0,scroll_size:this.config.scroll_size+1,x_inner:0,y_inner:0},e=i(this),r=n(this);if(r){var a=r.getScrollState();a.visible&amp;&amp;(t.x=a.size,t.x_inner=a.scrollSize),t.x_pos=a.position||0}if(e){var o=e.getScrollState();o.visible&amp;&amp;(t.y=o.size,t.y_inner=o.scrollSize),t.y_pos=o.position||0}return t},getScrollState:function(){var t=this._scroll_state();return{x:t.x_pos,y:t.y_pos,inner_width:t.x,inner_height:t.y,width:t.x_inner,height:t.y_inner}}}}},function(t,e){t.exports=function(t){delete t.addTaskLayer,delete t.addLinkLayer}},function(t,e,i){var n=i(1),r=function(t){return{getVerticalScrollbar:function(){return t.$ui.getView(\"scrollVer\")},getHorizontalScrollbar:function(){return t.$ui.getView(\"scrollHor\")},_legacyGridResizerClass:function(t){for(var e=t.getCellsByType(\"resizer\"),i=0;i&lt;e.length;i++){var n=e[i],r=!1,a=n.$parent.getPrevSibling(n.$id);if(a&amp;&amp;a.$config&amp;&amp;\"grid\"===a.$config.id)r=!0;else{var o=n.$parent.getNextSibling(n.$id);o&amp;&amp;o.$config&amp;&amp;\"grid\"===o.$config.id&amp;&amp;(r=!0)}r&amp;&amp;(n.$config.css=(n.$config.css?n.$config.css+\" \":\"\")+\"gantt_grid_resize_wrap\")}},onCreated:function(e){var i=!0;this._legacyGridResizerClass(e),e.attachEvent(\"onBeforeResize\",function(){var r=t.$ui.getView(\"timeline\");r&amp;&amp;(r.$config.hidden=r.$parent.$config.hidden=!t.config.show_chart);var a=t.$ui.getView(\"grid\");if(a){var o=t.config.show_grid;if(i){var s=a._getColsTotalWidth();!1!==s&amp;&amp;(t.config.grid_width=s),o=o&amp;&amp;!!t.config.grid_width,t.config.show_grid=o}if(a.$config.hidden=a.$parent.$config.hidden=!o,!a.$config.hidden){var l=a._getGridWidthLimits();if(l[0]&amp;&amp;t.config.grid_width&lt;l[0]&amp;&amp;(t.config.grid_width=l[0]),l[1]&amp;&amp;t.config.grid_width&gt;l[1]&amp;&amp;(t.config.grid_width=l[1]),r&amp;&amp;t.config.show_chart)if(a.$config.width=t.config.grid_width-1,i)a.$parent.$config.width=t.config.grid_width,a.$parent.$config.group&amp;&amp;t.$layout._syncCellSizes(a.$parent.$config.group,a.$parent.$config.width);else if(r&amp;&amp;!n.isChildOf(r.$task,e.$view)){if(!a.$config.original_grid_width){var c=t.skins[t.skin];c&amp;&amp;c.config&amp;&amp;c.config.grid_width?a.$config.original_grid_width=c.config.grid_width:a.$config.original_grid_width=0}t.config.grid_width=a.$config.original_grid_width,a.$parent.$config.width=t.config.grid_width}else a.$parent._setContentSize(a.$config.width,a.$config.height),t.$layout._syncCellSizes(a.$parent.$config.group,t.config.grid_width);else r&amp;&amp;n.isChildOf(r.$task,e.$view)&amp;&amp;(a.$config.original_grid_width=t.config.grid_width),i||(a.$parent.$config.width=0)}i=!1}}),this._initScrollStateEvents(e)},_initScrollStateEvents:function(e){t._getVerticalScrollbar=this.getVerticalScrollbar,t._getHorizontalScrollbar=this.getHorizontalScrollbar;var i=this.getVerticalScrollbar(),n=this.getHorizontalScrollbar();i&amp;&amp;i.attachEvent(\"onScroll\",function(e,i,n){var r=t.getScrollState();t.callEvent(\"onGanttScroll\",[r.x,e,r.x,i])}),n&amp;&amp;n.attachEvent(\"onScroll\",function(e,i,n){var r=t.getScrollState();t.callEvent(\"onGanttScroll\",[e,r.y,i,r.y])}),e.attachEvent(\"onResize\",function(){i&amp;&amp;!t.$scroll_ver&amp;&amp;(t.$scroll_ver=i.$scroll_ver),n&amp;&amp;!t.$scroll_hor&amp;&amp;(t.$scroll_hor=n.$scroll_hor)})},_findGridResizer:function(t,e){for(var i,n=t.getCellsByType(\"resizer\"),r=!0,a=0;a&lt;n.length;a++){var o=n[a];o._getSiblings();var s=o._behind,l=o._front;if(s&amp;&amp;s.$content===e||s.isChild&amp;&amp;s.isChild(e)){i=o,r=!0;break}if(l&amp;&amp;l.$content===e||l.isChild&amp;&amp;l.isChild(e)){i=o,r=!1;break}}return{resizer:i,gridFirst:r}},onInitialized:function(e){var i=t.$ui.getView(\"grid\"),n=this._findGridResizer(e,i);if(n.resizer){var r,a=n.gridFirst,o=n.resizer;o.attachEvent(\"onResizeStart\",function(e,i){var n=t.$ui.getView(\"grid\"),o=n?n.$parent:null;if(o){var s=n._getGridWidthLimits();n.$config.scrollable||(o.$config.minWidth=s[0]),o.$config.maxWidth=s[1]}return r=a?e:i,t.callEvent(\"onGridResizeStart\",[r])}),o.attachEvent(\"onResize\",function(e,i){var n=a?e:i;return t.callEvent(\"onGridResize\",[r,n])}),o.attachEvent(\"onResizeEnd\",function(e,i,n,r){var o=a?e:i,s=a?n:r,l=t.$ui.getView(\"grid\"),c=l?l.$parent:null;c&amp;&amp;(c.$config.minWidth=void 0);var u=t.callEvent(\"onGridResizeEnd\",[o,s]);return u&amp;&amp;(t.config.grid_width=s),u})}},onDestroyed:function(t){}}};t.exports=r},function(t,e,i){var n=i(1),r=function(t,e){var i,r,a,o,s;function l(){return{link_source_id:o,link_target_id:r,link_from_start:s,link_to_start:a,link_landing_area:i}}var c=e.$services,u=c.getService(\"state\"),d=c.getService(\"dnd\");u.registerProvider(\"linksDnD\",l);var h=new d(t.$task_bars,{sensitivity:0,updates_per_second:60});function f(i,n,r,a,o){var s=function(i,n,r){var a=n(i),o={x:a.left,y:a.top,width:a.width,height:a.height};r.rtl?(o.xEnd=o.x,o.x=o.xEnd+o.width):o.xEnd=o.x+o.width;if(o.yEnd=o.y+o.height,e.getTaskType(i.type)==e.config.types.milestone){var s=function(){var e=t.getItemHeight();return Math.round(Math.sqrt(2*e*e))-2}();o.x+=(r.rtl?1:-1)*(s/2),o.xEnd+=(r.rtl?-1:1)*(s/2),o.width=a.xEnd-a.x}return o}(i,function(t){return e.getTaskPosition(t)},a),l={x:s.x,y:s.y};n||(l.x=s.xEnd),l.y+=e.config.row_height/2;var c=function(t){return e.getTaskType(t.type)==e.config.types.milestone}(i)&amp;&amp;o?2:0;return r=r||0,a.rtl&amp;&amp;(r*=-1),l.x+=(n?-1:1)*r-c,l}function _(t){var i=l(),n=[\"gantt_link_tooltip\"];i.link_source_id&amp;&amp;i.link_target_id&amp;&amp;(e.isLinkAllowed(i.link_source_id,i.link_target_id,i.link_from_start,i.link_to_start)?n.push(\"gantt_allowed_link\"):n.push(\"gantt_invalid_link\"));var r=e.templates.drag_link_class(i.link_source_id,i.link_from_start,i.link_target_id,i.link_to_start);r&amp;&amp;n.push(r);var a=\"&lt;div class='\"+r+\"'&gt;\"+e.templates.drag_link(i.link_source_id,i.link_from_start,i.link_target_id,i.link_to_start)+\"&lt;/div&gt;\";t.innerHTML=a}function g(){o=s=r=null,a=!0}function p(t,e,i,n){return e&gt;=t?n&lt;=i?1:4:n&lt;=i?2:3}h.attachEvent(\"onBeforeDragStart\",e.bind(function(i,r){var a=r.target||r.srcElement;if(g(),e.getState().drag_id)return!1;if(n.locateClassName(a,\"gantt_link_point\")){n.locateClassName(a,\"task_start_date\")&amp;&amp;(s=!0);var l=e.locate(r);o=l;var c=e.getTask(l);if(e.isReadonly(c))return g(),!1;return this._dir_start=f(c,!!s,0,t.$getConfig(),!0),!0}return!1},this)),h.attachEvent(\"onAfterDragStart\",e.bind(function(t,i){e.config.touch&amp;&amp;e.refreshData(),_(h.config.marker)},this)),h.attachEvent(\"onDragMove\",e.bind(function(o,s){var c=h.config,u=h.getPosition(s);!function(t,e){t.style.left=e.x+5+\"px\",t.style.top=e.y+5+\"px\"}(c.marker,u);var d=!!n.locateClassName(s,\"gantt_link_control\"),g=r,v=i,m=a,y=e.locate(s),b=!0;if(n.isChildOf(s.target||s.srcElement,e.$root)||(d=!1,y=null),d&amp;&amp;(b=!n.locateClassName(s,\"task_end_date\"),d=!!y),r=y,i=d,a=b,d){var k=e.getTask(y),w=t.$getConfig(),x=n.locateClassName(s,\"gantt_link_control\"),$=0;x&amp;&amp;($=Math.floor(x.offsetWidth/2)),this._dir_end=f(k,!!a,$,w)}else this._dir_end=n.getRelativeEventPosition(s,t.$task_data);var T=!(v==d&amp;&amp;g==y&amp;&amp;m==b);return T&amp;&amp;(g&amp;&amp;e.refreshTask(g,!1),y&amp;&amp;e.refreshTask(y,!1)),T&amp;&amp;_(c.marker),function(i,n,r,a){var o=function(){h._direction||(h._direction=document.createElement(\"div\"),t.$task_links.appendChild(h._direction));return h._direction}(),s=l(),c=[\"gantt_link_direction\"];e.templates.link_direction_class&amp;&amp;c.push(e.templates.link_direction_class(s.link_source_id,s.link_from_start,s.link_target_id,s.link_to_start));var u=Math.sqrt(Math.pow(r-i,2)+Math.pow(a-n,2));if(!(u=Math.max(0,u-3)))return;o.className=c.join(\" \");var d=(a-n)/(r-i),f=Math.atan(d);2==p(i,r,n,a)?f+=Math.PI:3==p(i,r,n,a)&amp;&amp;(f-=Math.PI);var _=Math.sin(f),g=Math.cos(f),v=Math.round(n),m=Math.round(i),y=[\"-webkit-transform: rotate(\"+f+\"rad)\",\"-moz-transform: rotate(\"+f+\"rad)\",\"-ms-transform: rotate(\"+f+\"rad)\",\"-o-transform: rotate(\"+f+\"rad)\",\"transform: rotate(\"+f+\"rad)\",\"width:\"+Math.round(u)+\"px\"];if(-1!=window.navigator.userAgent.indexOf(\"MSIE 8.0\")){y.push('-ms-filter: \"'+function(t,e){return\"progid:DXImageTransform.Microsoft.Matrix(M11 = \"+e+\",M12 = -\"+t+\",M21 = \"+t+\",M22 = \"+e+\",SizingMethod = 'auto expand')\"}(_,g)+'\"');var b=Math.abs(Math.round(i-r)),k=Math.abs(Math.round(a-n));switch(p(i,r,n,a)){case 1:v-=k;break;case 2:m-=b,v-=k;break;case 3:m-=b}}y.push(\"top:\"+v+\"px\"),y.push(\"left:\"+m+\"px\"),o.style.cssText=y.join(\";\")}(this._dir_start.x,this._dir_start.y,this._dir_end.x,this._dir_end.y),!0},this)),h.attachEvent(\"onDragEnd\",e.bind(function(){var t=l();if(t.link_source_id&amp;&amp;t.link_target_id&amp;&amp;t.link_source_id!=t.link_target_id){var i=e._get_link_type(t.link_from_start,t.link_to_start),n={source:t.link_source_id,target:t.link_target_id,type:i};n.type&amp;&amp;e.isLinkAllowed(n)&amp;&amp;e.addLink(n)}g(),e.config.touch?e.refreshData():(t.link_source_id&amp;&amp;e.refreshTask(t.link_source_id,!1),t.link_target_id&amp;&amp;e.refreshTask(t.link_target_id,!1)),h._direction&amp;&amp;(h._direction.parentNode&amp;&amp;h._direction.parentNode.removeChild(h._direction),h._direction=null)},this))};t.exports={createLinkDND:function(){return{init:r}}}},function(t,e,i){var n=i(1),r=i(0),a=i(29);t.exports={createTaskDND:function(){var t;return{extend:function(e){e.roundTaskDates=function(e){t.round_task_dates(e)}},init:function(e,i){return t=function(t,e){var i=e.$services;return{drag:null,dragMultiple:{},_events:{before_start:{},before_finish:{},after_finish:{}},_handlers:{},init:function(){this._domEvents=e._createDomEventScope(),this.clear_drag_state();var t=e.config.drag_mode;this.set_actions(),i.getService(\"state\").registerProvider(\"tasksDnd\",r.bind(function(){return{drag_id:this.drag?this.drag.id:void 0,drag_mode:this.drag?this.drag.mode:void 0,drag_from_start:this.drag?this.drag.left:void 0}},this));var n={before_start:\"onBeforeTaskDrag\",before_finish:\"onBeforeTaskChanged\",after_finish:\"onAfterTaskDrag\"};for(var a in this._events)for(var o in t)this._events[a][o]=n[a];this._handlers[t.move]=this._move,this._handlers[t.resize]=this._resize,this._handlers[t.progress]=this._resize_progress},set_actions:function(){var i=t.$task_data;this._domEvents.attach(i,\"mousemove\",e.bind(function(t){this.on_mouse_move(t||event)},this)),this._domEvents.attach(i,\"mousedown\",e.bind(function(t){this.on_mouse_down(t||event)},this)),this._domEvents.attach(i,\"mouseup\",e.bind(function(t){this.on_mouse_up(t||event)},this))},clear_drag_state:function(){this.drag={id:null,mode:null,pos:null,start_x:null,start_y:null,obj:null,left:null},this.dragMultiple={}},_resize:function(i,n,r){var a=t.$getConfig(),o=this._drag_task_coords(i,r);r.left?(i.start_date=e.dateFromPos(o.start+n),i.start_date||(i.start_date=new Date(e.getState().min_date))):(i.end_date=e.dateFromPos(o.end+n),i.end_date||(i.end_date=new Date(e.getState().max_date))),i.end_date-i.start_date&lt;a.min_duration&amp;&amp;(r.left?i.start_date=e.calculateEndDate({start_date:i.end_date,duration:-1,task:i}):i.end_date=e.calculateEndDate({start_date:i.start_date,duration:1,task:i})),e._init_task_timing(i)},_resize_progress:function(e,i,n){var r=this._drag_task_coords(e,n),a=t.$getConfig().rtl?r.start-n.pos.x:n.pos.x-r.start,o=Math.max(0,a);e.progress=Math.min(1,o/Math.abs(r.end-r.start))},_find_max_shift:function(t,i){var n;for(var r in t){var a=t[r],o=e.getTask(a.id),s=this._drag_task_coords(o,a),l=e.posFromDate(new Date(e.getState().min_date)),c=e.posFromDate(new Date(e.getState().max_date));if(s.end+i&gt;c){var u=c-s.end;(u&lt;n||void 0===n)&amp;&amp;(n=u)}else if(s.start+i&lt;l){var d=l-s.start;(d&lt;n||void 0===n)&amp;&amp;(n=d)}}return n},_move:function(t,i,n){var r=this._drag_task_coords(t,n),a=e.dateFromPos(r.start+i),o=e.dateFromPos(r.end+i);a?o?(t.start_date=a,t.end_date=o):(t.end_date=new Date(e.getState().max_date),t.start_date=e.dateFromPos(e.posFromDate(t.end_date)-(r.end-r.start))):(t.start_date=new Date(e.getState().min_date),t.end_date=e.dateFromPos(e.posFromDate(t.start_date)+(r.end-r.start)))},_drag_task_coords:function(t,i){return{start:i.obj_s_x=i.obj_s_x||e.posFromDate(t.start_date),end:i.obj_e_x=i.obj_e_x||e.posFromDate(t.end_date)}},_mouse_position_change:function(t,e){var i=t.x-e.x,n=t.y-e.y;return Math.sqrt(i*i+n*n)},_is_number:function(t){return!isNaN(parseFloat(t))&amp;&amp;isFinite(t)},on_mouse_move:function(t){if(this.drag.start_drag){var i=n.getRelativeEventPosition(t,e.$task_data),r=this.drag.start_drag.start_x,o=this.drag.start_drag.start_y;(Date.now()-this.drag.timestamp&gt;50||this._is_number(r)&amp;&amp;this._is_number(o)&amp;&amp;this._mouse_position_change({x:r,y:o},i)&gt;20)&amp;&amp;this._start_dnd(t)}if(this.drag.mode){if(!a(this,40))return;this._update_on_move(t)}},_update_item_on_move:function(t,i,n,r,a){var o=e.getTask(i),s=e.mixin({},o),l=e.mixin({},o);this._handlers[n].apply(this,[l,t,r]),e.mixin(o,l,!0),e.callEvent(\"onTaskDrag\",[o.id,n,l,s,a]),e.mixin(o,l,!0),e.refreshTask(i)},_update_on_move:function(i){var a=this.drag,o=t.$getConfig();if(a.mode){var s=n.getRelativeEventPosition(i,t.$task_data);if(a.pos&amp;&amp;a.pos.x==s.x)return;a.pos=s;var l=e.dateFromPos(s.x);if(!l||isNaN(l.getTime()))return;var c=s.x-a.start_x,u=e.getTask(a.id);if(this._handlers[a.mode]){if(e.isSummaryTask(u)&amp;&amp;e.config.drag_project&amp;&amp;a.mode==o.drag_mode.move){var d={};d[a.id]=r.copy(a);var h=this._find_max_shift(r.mixin(d,this.dragMultiple),c);for(var f in void 0!==h&amp;&amp;(c=h),this._update_item_on_move(c,a.id,a.mode,a,i),this.dragMultiple){var _=this.dragMultiple[f];this._update_item_on_move(c,_.id,_.mode,_,i)}}else this._update_item_on_move(c,a.id,a.mode,a,i);e._update_parents(a.id)}}},on_mouse_down:function(i,r){if(2!=i.button||void 0===i.button){var a=t.$getConfig(),o=e.locate(i),s=null;if(e.isTaskExists(o)&amp;&amp;(s=e.getTask(o)),!e.isReadonly(s)&amp;&amp;!this.drag.mode){this.clear_drag_state(),r=r||i.target||i.srcElement;var l=n.getClassName(r),c=this._get_drag_mode(l,r);if(!l||!c)return r.parentNode?this.on_mouse_down(i,r.parentNode):void 0;if(c)if(c.mode&amp;&amp;c.mode!=a.drag_mode.ignore&amp;&amp;a[\"drag_\"+c.mode]){if(o=e.locate(r),s=e.copy(e.getTask(o)||{}),e.isReadonly(s))return this.clear_drag_state(),!1;if(e.isSummaryTask(s)&amp;&amp;!a.drag_project&amp;&amp;c.mode!=a.drag_mode.progress)return void this.clear_drag_state();c.id=o;var u=n.getRelativeEventPosition(i,e.$task_data);c.start_x=u.x,c.start_y=u.y,c.obj=s,this.drag.start_drag=c,this.drag.timestamp=Date.now()}else this.clear_drag_state();else if(e.checkEvent(\"onMouseDown\")&amp;&amp;e.callEvent(\"onMouseDown\",[l.split(\" \")[0]])&amp;&amp;r.parentNode)return this.on_mouse_down(i,r.parentNode)}}},_fix_dnd_scale_time:function(i,n){var r=t.$getConfig(),a=e.getScale().unit,o=e.getScale().step;function s(i){if(e.config.correct_work_time){var n=t.$getConfig();e.isWorkTime(i.start_date,void 0,i)||(i.start_date=e.calculateEndDate({start_date:i.start_date,duration:-1,unit:n.duration_unit,task:i}))}}r.round_dnd_dates||(a=\"minute\",o=r.time_step),n.mode==r.drag_mode.resize?n.left?(i.start_date=e.roundDate({date:i.start_date,unit:a,step:o}),s(i)):(i.end_date=e.roundDate({date:i.end_date,unit:a,step:o}),function(i){if(e.config.correct_work_time){var n=t.$getConfig();e.isWorkTime(new Date(i.end_date-1),void 0,i)||(i.end_date=e.calculateEndDate({start_date:i.end_date,duration:1,unit:n.duration_unit,task:i}))}}(i)):n.mode==r.drag_mode.move&amp;&amp;(i.start_date=e.roundDate({date:i.start_date,unit:a,step:o}),s(i),i.end_date=e.calculateEndDate(i))},_fix_working_times:function(i,n){var r=t.$getConfig();(n=n||{mode:r.drag_mode.move}).mode==r.drag_mode.resize?n.left?i.start_date=e.getClosestWorkTime({date:i.start_date,dir:\"future\",task:i}):i.end_date=e.getClosestWorkTime({date:i.end_date,dir:\"past\",task:i}):n.mode==r.drag_mode.move&amp;&amp;e.correctTaskWorkTime(i)},_finalize_mouse_up:function(t,i,n,r){var a=e.getTask(t);if(i.work_time&amp;&amp;i.correct_work_time&amp;&amp;this._fix_working_times(a,n),this._fix_dnd_scale_time(a,n),this._fireEvent(\"before_finish\",n.mode,[t,n.mode,e.copy(n.obj),r])){var o=t;e._init_task_timing(a),this.clear_drag_state(),e.updateTask(a.id),this._fireEvent(\"after_finish\",n.mode,[o,n.mode,r])}else this.clear_drag_state(),t==n.id&amp;&amp;(n.obj._dhx_changed=!1,e.mixin(a,n.obj,!0)),e.refreshTask(a.id)},on_mouse_up:function(i){var n=this.drag;if(n.mode&amp;&amp;n.id){var r=t.$getConfig(),a=e.getTask(n.id),o=this.dragMultiple;if(e.isSummaryTask(a)&amp;&amp;r.drag_project&amp;&amp;n.mode==r.drag_mode.move)for(var s in o)this._finalize_mouse_up(o[s].id,r,o[s],i);this._finalize_mouse_up(n.id,r,n,i)}this.clear_drag_state()},_get_drag_mode:function(e,i){var n=t.$getConfig().drag_mode,r={mode:null,left:null};switch((e||\"\").split(\" \")[0]){case\"gantt_task_line\":case\"gantt_task_content\":r.mode=n.move;break;case\"gantt_task_drag\":r.mode=n.resize;var a=i.getAttribute(\"data-bind-property\");r.left=\"start_date\"==a;break;case\"gantt_task_progress_drag\":r.mode=n.progress;break;case\"gantt_link_control\":case\"gantt_link_point\":r.mode=n.ignore;break;default:r=null}return r},_start_dnd:function(i){var n=this.drag=this.drag.start_drag;delete n.start_drag;var r=t.$getConfig(),a=n.id;if(r[\"drag_\"+n.mode]&amp;&amp;e.callEvent(\"onBeforeDrag\",[a,n.mode,i])&amp;&amp;this._fireEvent(\"before_start\",n.mode,[a,n.mode,i])){delete n.start_drag;var o=e.getTask(a);e.isSummaryTask(o)&amp;&amp;e.config.drag_project&amp;&amp;n.mode==r.drag_mode.move&amp;&amp;e.eachTask(function(t){this.dragMultiple[t.id]=e.mixin({id:t.id,obj:t},this.drag)},o.id,this),e.callEvent(\"onTaskDragStart\",[])}else this.clear_drag_state()},_fireEvent:function(t,i,n){e.assert(this._events[t],\"Invalid stage:{\"+t+\"}\");var r=this._events[t][i];return e.assert(r,\"Unknown after drop mode:{\"+i+\"}\"),e.assert(n,\"Invalid event arguments\"),!e.checkEvent(r)||e.callEvent(r,n)},round_task_dates:function(e){var i=this.drag,n=t.$getConfig();i||(i={mode:n.drag_mode.move}),this._fix_dnd_scale_time(e,i)},destructor:function(){this._domEvents.detachAll()}}}(e,i),e._tasks_dnd=t,t.init(i)},destructor:function(){t&amp;&amp;(t.destructor(),t=null)}}}}},function(t,e,i){var n=i(0),r=i(94),a=i(93),o=i(1),s=function(t){var e=t.$services;return{onCreated:function(e){var o=e.$config;o.bind=n.defined(o.bind)?o.bind:\"task\",o.bindLinks=n.defined(o.bindLinks)?o.bindLinks:\"link\",e._linksDnD=a.createLinkDND(),e._tasksDnD=r.createTaskDND(),e._tasksDnD.extend(e),this._mouseDelegates=i(10)(t)},onInitialized:function(e){this._attachDomEvents(t),this._attachStateProvider(t,e),e._tasksDnD.init(e,t),e._linksDnD.init(e,t),\"timeline\"==e.$config.id&amp;&amp;this.extendDom(e)},onDestroyed:function(e){this._clearDomEvents(t),this._clearStateProvider(t),e._tasksDnD&amp;&amp;e._tasksDnD.destructor()},extendDom:function(e){t.$task=e.$task,t.$task_scale=e.$task_scale,t.$task_data=e.$task_data,t.$task_bg=e.$task_bg,t.$task_links=e.$task_links,t.$task_bars=e.$task_bars},_clearDomEvents:function(){this._mouseDelegates.destructor(),this._mouseDelegates=null},_attachDomEvents:function(t){function e(e,i){if(e&amp;&amp;this.callEvent(\"onLinkDblClick\",[e,i])){var n=this.getLink(e);if(this.isReadonly(n))return;var r=this.locale.labels.link+\" \"+this.templates.link_description(this.getLink(e))+\" \"+this.locale.labels.confirm_link_deleting;window.setTimeout(function(){t._dhtmlx_confirm(r,\"\",function(){t.deleteLink(e)})},this.config.touch?300:1)}}this._mouseDelegates.delegate(\"click\",\"gantt_task_link\",t.bind(function(t,e){var i=this.locate(t,this.config.link_attribute);i&amp;&amp;this.callEvent(\"onLinkClick\",[i,t])},t),this.$task),this._mouseDelegates.delegate(\"click\",\"gantt_scale_cell\",t.bind(function(e,i){var n=o.getRelativeEventPosition(e,t.$task_data),r=t.dateFromPos(n.x),a=Math.floor(t.columnIndexByDate(r)),s=t.getScale().trace_x[a];t.callEvent(\"onScaleClick\",[e,s])},t),this.$task),this._mouseDelegates.delegate(\"doubleclick\",\"gantt_task_link\",t.bind(function(i,n,r){n=this.locate(i,t.config.link_attribute),e.call(this,n,i)},t),this.$task),this._mouseDelegates.delegate(\"doubleclick\",\"gantt_link_point\",t.bind(function(t,i,n){i=this.locate(t);var r=this.getTask(i),a=null;return n.parentNode&amp;&amp;o.getClassName(n.parentNode)&amp;&amp;(a=o.getClassName(n.parentNode).indexOf(\"_left\")&gt;-1?r.$target[0]:r.$source[0]),a&amp;&amp;e.call(this,a,t),!1},t),this.$task)},_attachStateProvider:function(t,i){var n=i;e.getService(\"state\").registerProvider(\"tasksTimeline\",function(){return{scale_unit:n._tasks?n._tasks.unit:void 0,scale_step:n._tasks?n._tasks.step:void 0}})},_clearStateProvider:function(){e.getService(\"state\").unregisterProvider(\"tasksTimeline\")}}};t.exports=s},function(t,e,i){var n=i(1);function r(t,e){var i=n.getNodePosition(e.$grid_data);return t.x+=i.x-e.$grid.scrollLeft,t.y+=i.y-e.$grid_data.scrollTop,t}t.exports={removeLineHighlight:function(t){t.markerLine&amp;&amp;t.markerLine.parentNode&amp;&amp;t.markerLine.parentNode.removeChild(t.markerLine),t.markerLine=null},highlightPosition:function(t,e,i){var a=function(t,e){var i=n.getNodePosition(e.$grid_data),r=n.getRelativeEventPosition(t,e.$grid_data),a=e.$config.rowStore,o=i.x,s=r.y-10,l=e.$getConfig();s&lt;i.y&amp;&amp;(s=i.y);var c=a.countVisible()*l.row_height;return s&gt;i.y+c-l.row_height&amp;&amp;(s=i.y+c-l.row_height),i.x=o,i.y=s,i}(t,i);e.marker.style.left=a.x+9+\"px\",e.marker.style.top=a.y+\"px\";var o=e.markerLine;o||((o=document.createElement(\"div\")).className=\"gantt_drag_marker gantt_grid_dnd_marker\",o.innerHTML=\"&lt;div class='gantt_grid_dnd_marker_line'&gt;&lt;/div&gt;\",o.style.pointerEvents=\"none\",document.body.appendChild(o),e.markerLine=o),t.child?function(t,e,i){var n=t.targetParent,a=r({x:0,y:i.getItemTop(n)},i);e.innerHTML=\"&lt;div class='gantt_grid_dnd_marker_folder'&gt;&lt;/div&gt;\",e.style.width=i.$grid_data.offsetWidth+\"px\",e.style.top=a.y+\"px\",e.style.left=a.x+\"px\",e.style.height=i.getItemHeight(n)+\"px\"}(t,o,i):function(t,e,i){var n=function(t,e){var i=e.$config.rowStore,n={x:0,y:0},a=e.$grid_data.querySelector(\".gantt_tree_indent\"),o=15,s=0;if(a&amp;&amp;(o=a.offsetWidth),t.targetId!==i.$getRootId()){var l=e.getItemTop(t.targetId),c=e.getItemHeight(t.targetId);if(s=i.exists(t.targetId)?i.calculateItemLevel(i.getItem(t.targetId)):0,t.prevSibling)n.y=l;else if(t.nextSibling){var u=0;i.eachItem(function(t){-1!==i.getIndexById(t.id)&amp;&amp;u++},t.targetId),n.y=l+c+u*c}else n.y=l+c,s+=1}return n.x=40+s*o,n.width=Math.max(e.$grid_data.offsetWidth-n.x,0),r(n,e)}(t,i);e.innerHTML=\"&lt;div class='gantt_grid_dnd_marker_line'&gt;&lt;/div&gt;\",e.style.left=n.x+\"px\",e.style.height=\"4px\",e.style.top=n.y-2+\"px\",e.style.width=n.width+\"px\"}(t,o,i)}}},function(t,e,i){var n=i(9);t.exports=function(t,e,i,r,a){var o;if(e!==a.$getRootId())o=i&lt;.25?n.prevSiblingTarget(t,e,a):!(i&gt;.6)||a.hasChild(e)&amp;&amp;a.getItem(e).$open?n.firstChildTarget(t,e,a):n.nextSiblingTarget(t,e,a);else{var s=a.$getRootId();o=a.hasChild(s)&amp;&amp;r&gt;=0?n.lastChildTarget(t,s,a):n.firstChildTarget(t,s,a)}return o}},function(t,e,i){var n=i(9);function r(t,e,i,r,a){for(var o=e;r.exists(o);){var s=r.calculateItemLevel(r.getItem(o));if((s===i||s===i-1)&amp;&amp;r.getBranchIndex(o)&gt;-1)break;o=a?r.getPrev(o):r.getNext(o)}return r.exists(o)?r.calculateItemLevel(r.getItem(o))===i?a?n.nextSiblingTarget(t,o,r):n.prevSiblingTarget(t,o,r):n.firstChildTarget(t,o,r):null}function a(t,e,i,n){return r(t,e,i,n,!0)}function o(t,e,i,n){return r(t,e,i,n,!1)}t.exports=function(t,e,i,r,s,l){var c;if(e!==s.$getRootId())i&lt;.5?s.calculateItemLevel(s.getItem(e))===l?c=s.getPrevSibling(e)?n.nextSiblingTarget(t,s.getPrevSibling(e),s):n.prevSiblingTarget(t,e,s):(c=a(t,e,l,s))&amp;&amp;(c=o(t,e,l,s)):s.calculateItemLevel(s.getItem(e))===l?c=n.nextSiblingTarget(t,e,s):(c=o(t,e,l,s))&amp;&amp;(c=a(t,e,l,s));else{var u=s.$getRootId(),d=s.getChildren(u);c=n.createDropTargetObject(),c=d.length&amp;&amp;r&gt;=0?a(t,function(t){for(var e=t.getNext();t.exists(e);){var i=t.getNext(e);if(!t.exists(i))return e;e=i}return null}(s),l,s):o(t,u,l,s)}return c}},function(t,e,i){var n=i(1),r=i(9),a=i(98),o=i(97),s=i(96);t.exports={init:function(t,e){var i=t.$services.getService(\"dnd\");if(e.$config.bind&amp;&amp;t.getDatastore(e.$config.bind)){var l=new i(e.$grid_data,{updates_per_second:60});t.defined(e.$getConfig().dnd_sensitivity)&amp;&amp;(l.config.sensitivity=e.$getConfig().dnd_sensitivity),l.attachEvent(\"onBeforeDragStart\",t.bind(function(i,r){var a=c(r);if(!a)return!1;if(t.hideQuickInfo&amp;&amp;t._hideQuickInfo(),n.closest(r.target,\".gantt_grid_editor_placeholder\"))return!1;var o=a.getAttribute(e.$config.item_attribute),s=e.$config.rowStore.getItem(o);return!t.isReadonly(s)&amp;&amp;(l.config.initial_open_state=s.$open,!!t.callEvent(\"onRowDragStart\",[o,r.target||r.srcElement,r])&amp;&amp;void 0)},t)),l.attachEvent(\"onAfterDragStart\",t.bind(function(t,i){var n=c(i);l.config.marker.innerHTML=n.outerHTML;var a=l.config.marker.firstChild;a&amp;&amp;(l.config.marker.style.opacity=.4,a.style.position=\"static\",a.style.pointerEvents=\"none\"),l.config.id=n.getAttribute(e.$config.item_attribute);var o=e.$config.rowStore,s=o.getItem(l.config.id);l.config.level=o.calculateItemLevel(s),l.config.drop_target=r.createDropTargetObject({targetParent:o.getParent(s.id),targetIndex:o.getBranchIndex(s.id),targetId:s.id,nextSibling:!0}),s.$open=!1,s.$transparent=!0,this.refreshData()},t)),l.attachEvent(\"onDragMove\",t.bind(function(i,n){var a=u(n);return a&amp;&amp;!1!==t.callEvent(\"onBeforeRowDragMove\",[l.config.id,a.targetParent,a.targetIndex])||(a=r.createDropTargetObject(l.config.drop_target)),s.highlightPosition(a,l.config,e),l.config.drop_target=a,this.callEvent(\"onRowDragMove\",[l.config.id,a.targetParent,a.targetIndex]),!0},t)),l.attachEvent(\"onDragEnd\",t.bind(function(){var t=e.$config.rowStore,i=t.getItem(l.config.id);s.removeLineHighlight(l.config),i.$transparent=!1,i.$open=l.config.initial_open_state;var n=l.config.drop_target;!1===this.callEvent(\"onBeforeRowDragEnd\",[l.config.id,n.targetParent,n.targetIndex])?i.$drop_target=null:(t.move(l.config.id,n.targetIndex,n.targetParent),this.callEvent(\"onRowDragEnd\",[l.config.id,n.targetParent,n.targetIndex])),t.refresh(i.id)},t))}function c(t){return n.locateAttribute(t,e.$config.item_attribute)}function u(t){var i=function(t){var i=n.getRelativeEventPosition(t,e.$grid_data).y,r=e.$config.rowStore;if((i=i||0)&lt;0)return r.$getRootId();var a=Math.floor(i/e.getItemHeight());return a&gt;r.countVisible()-1?r.$getRootId():r.getIdByIndex(a)}(t),r=null,s=e.$config.rowStore,c=!e.$getConfig().order_branch_free,u=n.getRelativeEventPosition(t,e.$grid_data).y;return i!==s.$getRootId()&amp;&amp;(r=(u-e.getItemTop(i))/e.getItemHeight()),c?a(l.config.id,i,r,u,s,l.config.level):o(l.config.id,i,r,u,s)}}}},function(t,e,i){var n=i(1);t.exports={init:function(t,e){var i=t.$services.getService(\"dnd\");if(e.$config.bind&amp;&amp;t.getDatastore(e.$config.bind)){var r=new i(e.$grid_data,{updates_per_second:60});t.defined(e.$getConfig().dnd_sensitivity)&amp;&amp;(r.config.sensitivity=e.$getConfig().dnd_sensitivity),r.attachEvent(\"onBeforeDragStart\",t.bind(function(i,s){var l=a(s);if(!l)return!1;if(t.hideQuickInfo&amp;&amp;t._hideQuickInfo(),n.closest(s.target,\".gantt_grid_editor_placeholder\"))return!1;var c=l.getAttribute(e.$config.item_attribute),u=o().getItem(c);return!t.isReadonly(u)&amp;&amp;(r.config.initial_open_state=u.$open,!!t.callEvent(\"onRowDragStart\",[c,s.target||s.srcElement,s])&amp;&amp;void 0)},t)),r.attachEvent(\"onAfterDragStart\",t.bind(function(t,i){var n=a(i);r.config.marker.innerHTML=n.outerHTML;var s=r.config.marker.firstChild;s&amp;&amp;(s.style.position=\"static\"),r.config.id=n.getAttribute(e.$config.item_attribute);var l=o(),c=l.getItem(r.config.id);r.config.index=l.getBranchIndex(r.config.id),r.config.parent=c.parent,c.$open=!1,c.$transparent=!0,this.refreshData()},t)),r.lastTaskOfLevel=function(t){for(var e=null,i=o().getItems(),n=0,r=i.length;n&lt;r;n++)i[n].$level==t&amp;&amp;(e=i[n]);return e?e.id:null},r._getGridPos=t.bind(function(t){var i=n.getNodePosition(e.$grid_data),r=o(),a=i.x,s=t.pos.y-10,l=e.$getConfig();s&lt;i.y&amp;&amp;(s=i.y);var c=r.countVisible()*l.row_height;return s&gt;i.y+c-l.row_height&amp;&amp;(s=i.y+c-l.row_height),i.x=a,i.y=s,i},t),r._getTargetY=t.bind(function(t){var i=n.getNodePosition(e.$grid_data),r=t.pageY-i.y+(e.$state.scrollTop||0);return r&lt;0&amp;&amp;(r=0),r},t),r._getTaskByY=t.bind(function(t,i){var n=e.$getConfig(),r=o();t=t||0;var a=Math.floor(t/n.row_height);return(a=i&lt;a?a-1:a)&gt;r.countVisible()-1?null:r.getIdByIndex(a)},t),r.attachEvent(\"onDragMove\",t.bind(function(t,i){var n=r.config,a=r._getGridPos(i),s=e.$getConfig(),l=o();n.marker.style.left=a.x+10+\"px\",n.marker.style.top=a.y+\"px\";var c=l.getItem(r.config.id),u=r._getTargetY(i),d=r._getTaskByY(u,l.getIndexById(c.id));function h(t,e){return!l.isChildOf(f.id,e.id)&amp;&amp;(t.$level==e.$level||s.order_branch_free)}if(l.exists(d)||(d=r.lastTaskOfLevel(s.order_branch_free?c.$level:0))==r.config.id&amp;&amp;(d=null),l.exists(d)){var f=l.getItem(d);if(l.getIndexById(f.id)*s.row_height+s.row_height/2&lt;u){var _=l.getIndexById(f.id),g=l.getNext(f.id),p=l.getItem(g);if(p){if(p.id==c.id)return s.order_branch_free&amp;&amp;l.isChildOf(c.id,f.id)&amp;&amp;1==l.getChildren(f.id).length?void l.move(c.id,l.getBranchIndex(f.id)+1,l.getParent(f.id)):void 0;f=p}else if(g=l.getIdByIndex(_),h(p=l.getItem(g),c)&amp;&amp;p.id!=c.id)return void l.move(c.id,-1,l.getParent(p.id))}else if(s.order_branch_free&amp;&amp;f.id!=c.id&amp;&amp;h(f,c)){if(!l.hasChild(f.id))return f.$open=!0,void l.move(c.id,-1,f.id);if(l.getIndexById(f.id)||s.row_height/3&lt;u)return}_=l.getIndexById(f.id);for(var v=l.getIdByIndex(_-1),m=l.getItem(v),y=1;(!m||m.id==f.id)&amp;&amp;_-y&gt;=0;)v=l.getIdByIndex(_-y),m=l.getItem(v),y++;if(c.id==f.id)return;h(f,c)&amp;&amp;c.id!=f.id?l.move(c.id,0,0,f.id):f.$level!=c.$level-1||l.getChildren(f.id).length?m&amp;&amp;h(m,c)&amp;&amp;c.id!=m.id&amp;&amp;l.move(c.id,-1,l.getParent(m.id)):l.move(c.id,0,f.id)}return!0},t)),r.attachEvent(\"onDragEnd\",t.bind(function(){var t=o(),e=t.getItem(r.config.id);e.$transparent=!1,e.$open=r.config.initial_open_state,!1===this.callEvent(\"onBeforeRowDragEnd\",[r.config.id,r.config.parent,r.config.index])?(t.move(r.config.id,r.config.index,r.config.parent),e.$drop_target=null):this.callEvent(\"onRowDragEnd\",[r.config.id,e.$drop_target]),this.refreshData()},t))}function a(t){return n.locateAttribute(t,e.$config.item_attribute)}function o(){return t.getDatastore(e.$config.bind)}}}},function(t,e,i){var n=i(0),r=i(100),a=i(99),o=function(t){return{onCreated:function(e){e.$config=n.mixin(e.$config,{bind:\"task\"}),\"grid\"==e.$config.id&amp;&amp;(this.extendGantt(e),t.ext.inlineEditors=t.ext._inlineEditors.createEditors(e),t.ext.inlineEditors.init()),this._mouseDelegates=i(10)(t)},onInitialized:function(e){var i=e.$getConfig();i.order_branch&amp;&amp;(\"marker\"==i.order_branch?a.init(e.$gantt,e):r.init(e.$gantt,e)),this.initEvents(e,t),\"grid\"==e.$config.id&amp;&amp;this.extendDom(e)},onDestroyed:function(e){\"grid\"==e.$config.id&amp;&amp;t.ext.inlineEditors.destructor(),this.clearEvents(e,t)},initEvents:function(t,e){this._mouseDelegates.delegate(\"click\",\"gantt_row\",e.bind(function(i,n,r){var a=t.$getConfig();if(null!==n){var o=this.getTask(n);a.scroll_on_click&amp;&amp;!e._is_icon_open_click(i)&amp;&amp;this.showDate(o.start_date),e.callEvent(\"onTaskRowClick\",[n,r])}},e),t.$grid),this._mouseDelegates.delegate(\"click\",\"gantt_grid_head_cell\",e.bind(function(i,n,r){var a=r.getAttribute(\"data-column-id\");if(e.callEvent(\"onGridHeaderClick\",[a,i])){var o=t.$getConfig();if(\"add\"!=a){if(o.sort){for(var s,l=a,c=0;c&lt;o.columns.length;c++)if(o.columns[c].name==a){s=o.columns[c];break}if(s&amp;&amp;void 0!==s.sort&amp;&amp;!0!==s.sort&amp;&amp;!(l=s.sort))return;var u=this._sort&amp;&amp;this._sort.direction&amp;&amp;this._sort.name==a?this._sort.direction:\"desc\";u=\"desc\"==u?\"asc\":\"desc\",this._sort={name:a,direction:u},this.sort(l,\"desc\"==u)}}else e.$services.getService(\"mouseEvents\").callHandler(\"click\",\"gantt_add\",t.$grid,[i,o.root_id])}},e),t.$grid),this._mouseDelegates.delegate(\"click\",\"gantt_add\",e.bind(function(i,n,r){if(!t.$getConfig().readonly)return this.createTask({},n||e.config.root_id),!1},e),t.$grid)},clearEvents:function(t,e){this._mouseDelegates.destructor(),this._mouseDelegates=null},extendDom:function(e){t.$grid=e.$grid,t.$grid_scale=e.$grid_scale,t.$grid_data=e.$grid_data},extendGantt:function(e){t.getGridColumns=t.bind(e.getGridColumns,e),e.attachEvent(\"onColumnResizeStart\",function(){return t.callEvent(\"onColumnResizeStart\",arguments)}),e.attachEvent(\"onColumnResize\",function(){return t.callEvent(\"onColumnResize\",arguments)}),e.attachEvent(\"onColumnResizeEnd\",function(){return t.callEvent(\"onColumnResizeEnd\",arguments)}),e.attachEvent(\"onColumnResizeComplete\",function(e,i){t.config.grid_width=i})}}};t.exports=o},function(t,e,i){var n=i(3);t.exports=function(t){return function(e,i){var r=i.getGridColumns(),a=i.$getConfig(),o=i.$getTemplates(),s=i.$config.rowStore;a.rtl&amp;&amp;(r=r.reverse());for(var l=[],c=0;c&lt;r.length;c++){var u,d,h,f=c==r.length-1,_=r[c];\"add\"==_.name?(d=\"&lt;div \"+(y=t._waiAria.gridAddButtonAttrString(_))+\" class='gantt_add'&gt;&lt;/div&gt;\",h=\"\"):(d=_.template?_.template(e):e[_.name],n.isDate(d)&amp;&amp;(d=o.date_grid(d,e)),h=d,d=\"&lt;div class='gantt_tree_content'&gt;\"+d+\"&lt;/div&gt;\");var g=\"gantt_cell\"+(f?\" gantt_last_cell\":\"\"),p=[];if(_.tree){for(var v=0;v&lt;e.$level;v++)p.push(o.grid_indent(e));s.hasChild(e.id)&amp;&amp;!t.isSplitTask(e)?(p.push(o.grid_open(e)),p.push(o.grid_folder(e))):(p.push(o.grid_blank(e)),p.push(o.grid_file(e)))}var m=\"width:\"+(_.width-(f?1:0))+\"px;\";this.defined(_.align)&amp;&amp;(m+=\"text-align:\"+_.align+\";\");var y=t._waiAria.gridCellAttrString(_,h);p.push(d),a.rtl&amp;&amp;(p=p.reverse()),u=\"&lt;div class='\"+g+\"' data-column-index='\"+c+\"' data-column-name='\"+_.name+\"' style='\"+m+\"' \"+y+\"&gt;\"+p.join(\"\")+\"&lt;/div&gt;\",l.push(u)}if(g=t.getGlobalTaskIndex(e.id)%2==0?\"\":\" odd\",g+=e.$transparent?\" gantt_transparent\":\"\",g+=e.$dataprocessor_class?\" \"+e.$dataprocessor_class:\"\",o.grid_row_class){var b=o.grid_row_class.call(t,e.start_date,e.end_date,e);b&amp;&amp;(g+=\" \"+b)}s.getSelectedId()==e.id&amp;&amp;(g+=\" gantt_selected\");var k=document.createElement(\"div\");k.className=\"gantt_row\"+g+\" gantt_row_\"+t.getTaskType(e.type);var w=i.getItemHeight();return k.style.height=w+\"px\",k.style.lineHeight=w+\"px\",a.smart_rendering&amp;&amp;(k.style.position=\"absolute\",k.style.left=\"0px\",k.style.top=i.getItemTop(e.id)+\"px\"),i.$config.item_attribute&amp;&amp;k.setAttribute(i.$config.item_attribute,e.id),t._waiAria.taskRowAttr(e,k),k.innerHTML=l.join(\"\"),k}}},function(t,e){t.exports=function(t){var e={current_pos:null,dirs:{left:\"left\",right:\"right\",up:\"up\",down:\"down\"},path:[],clear:function(){this.current_pos=null,this.path=[]},point:function(e){this.current_pos=t.copy(e)},get_lines:function(t){this.clear(),this.point(t[0]);for(var e=1;e&lt;t.length;e++)this.line_to(t[e]);return this.get_path()},line_to:function(e){var i=t.copy(e),n=this.current_pos,r=this._get_line(n,i);this.path.push(r),this.current_pos=i},get_path:function(){return this.path},get_wrapper_sizes:function(t,e){var i,n=e.$getConfig(),r=n.link_wrapper_width,a=t.y+(n.row_height-r)/2;switch(t.direction){case this.dirs.left:i={top:a,height:r,lineHeight:r,left:t.x-t.size-r/2,width:t.size+r};break;case this.dirs.right:i={top:a,lineHeight:r,height:r,left:t.x-r/2,width:t.size+r};break;case this.dirs.up:i={top:a-t.size,lineHeight:t.size+r,height:t.size+r,left:t.x-r/2,width:r};break;case this.dirs.down:i={top:a,lineHeight:t.size+r,height:t.size+r,left:t.x-r/2,width:r}}return i},get_line_sizes:function(t,e){var i,n=e.$getConfig(),r=n.link_line_width,a=n.link_wrapper_width,o=t.size+r;switch(t.direction){case this.dirs.left:case this.dirs.right:i={height:r,width:o,marginTop:(a-r)/2,marginLeft:(a-r)/2};break;case this.dirs.up:case this.dirs.down:i={height:o,width:r,marginTop:(a-r)/2,marginLeft:(a-r)/2}}return i},render_line:function(t,e,i){var n=this.get_wrapper_sizes(t,i),r=document.createElement(\"div\");r.style.cssText=[\"top:\"+n.top+\"px\",\"left:\"+n.left+\"px\",\"height:\"+n.height+\"px\",\"width:\"+n.width+\"px\"].join(\";\"),r.className=\"gantt_line_wrapper\";var a=this.get_line_sizes(t,i),o=document.createElement(\"div\");return o.style.cssText=[\"height:\"+a.height+\"px\",\"width:\"+a.width+\"px\",\"margin-top:\"+a.marginTop+\"px\",\"margin-left:\"+a.marginLeft+\"px\"].join(\";\"),o.className=\"gantt_link_line_\"+t.direction,r.appendChild(o),r},_get_line:function(t,e){var i=this.get_direction(t,e),n={x:t.x,y:t.y,direction:this.get_direction(t,e)};return i==this.dirs.left||i==this.dirs.right?n.size=Math.abs(t.x-e.x):n.size=Math.abs(t.y-e.y),n},get_direction:function(t,e){return e.x&lt;t.x?this.dirs.left:e.x&gt;t.x?this.dirs.right:e.y&gt;t.y?this.dirs.down:this.dirs.up}},i={path:[],clear:function(){this.path=[]},current:function(){return this.path[this.path.length-1]},point:function(e){return e?(this.path.push(t.copy(e)),e):this.current()},point_to:function(i,n,r){r=r?{x:r.x,y:r.y}:t.copy(this.point());var a=e.dirs;switch(i){case a.left:r.x-=n;break;case a.right:r.x+=n;break;case a.up:r.y-=n;break;case a.down:r.y+=n}return this.point(r)},get_points:function(i,n){var r=this.get_endpoint(i,n),a=t.config,o=r.e_y-r.y,s=r.e_x-r.x,l=e.dirs;this.clear(),this.point({x:r.x,y:r.y});var c=2*a.link_arrow_size,u=this.get_line_type(i,n.$getConfig()),d=r.e_x&gt;r.x;if(u.from_start&amp;&amp;u.to_start)this.point_to(l.left,c),d?(this.point_to(l.down,o),this.point_to(l.right,s)):(this.point_to(l.right,s),this.point_to(l.down,o)),this.point_to(l.right,c);else if(!u.from_start&amp;&amp;u.to_start)if(d=r.e_x&gt;r.x+2*c,this.point_to(l.right,c),d)s-=c,this.point_to(l.down,o),this.point_to(l.right,s);else{s-=2*c;var h=o&gt;0?1:-1;this.point_to(l.down,h*(a.row_height/2)),this.point_to(l.right,s),this.point_to(l.down,h*(Math.abs(o)-a.row_height/2)),this.point_to(l.right,c)}else u.from_start||u.to_start?u.from_start&amp;&amp;!u.to_start&amp;&amp;(d=r.e_x&gt;r.x-2*c,this.point_to(l.left,c),d?(s+=2*c,h=o&gt;0?1:-1,this.point_to(l.down,h*(a.row_height/2)),this.point_to(l.right,s),this.point_to(l.down,h*(Math.abs(o)-a.row_height/2)),this.point_to(l.left,c)):(s+=c,this.point_to(l.down,o),this.point_to(l.right,s))):(this.point_to(l.right,c),d?(this.point_to(l.right,s),this.point_to(l.down,o)):(this.point_to(l.down,o),this.point_to(l.right,s)),this.point_to(l.left,c));return this.path},get_line_type:function(e,i){var n=i.links,r=!1,a=!1;return e.type==n.start_to_start?r=a=!0:e.type==n.finish_to_finish?r=a=!1:e.type==n.finish_to_start?(r=!1,a=!0):e.type==n.start_to_finish?(r=!0,a=!1):t.assert(!1,\"Invalid link type\"),i.rtl&amp;&amp;(r=!r,a=!a),{from_start:r,to_start:a}},get_endpoint:function(e,i){var r=i.$getConfig(),a=this.get_line_type(e,r),o=a.from_start,s=a.to_start,l=t.getTask(e.source),c=t.getTask(e.target),u=n(l,i),d=n(c,i);return{x:o?u.left:u.left+u.width,e_x:s?d.left:d.left+d.width,y:u.top,e_y:d.top}}};function n(e,i){var n=i.$getConfig(),r=i.getItemPosition(e);if(t.getTaskType(e.type)==n.types.milestone){var a=t.getTaskHeight(),o=Math.sqrt(2*a*a);r.left-=o/2,r.width=o}return r}return function(n,r){var a=r.$getConfig(),o=i.get_endpoint(n,r),s=o.e_y-o.y;if(!(o.e_x-o.x||s))return null;var l=i.get_points(n,r),c=e.get_lines(l,r),u=document.createElement(\"div\"),d=\"gantt_task_link\";n.color&amp;&amp;(d+=\" gantt_link_inline_color\");var h=t.templates.link_class?t.templates.link_class(n):\"\";h&amp;&amp;(d+=\" \"+h),a.highlight_critical_path&amp;&amp;t.isCriticalLink&amp;&amp;t.isCriticalLink(n)&amp;&amp;(d+=\" gantt_critical_link\"),u.className=d,r.$config.link_attribute&amp;&amp;u.setAttribute(r.$config.link_attribute,n.id);for(var f=0;f&lt;c.length;f++){f==c.length-1&amp;&amp;(c[f].size-=a.link_arrow_size);var _=e.render_line(c[f],c[f+1],r);n.color&amp;&amp;(_.firstChild.style.backgroundColor=n.color),u.appendChild(_)}var g=c[c.length-1].direction,p=function(t,i,n){var r=n.$getConfig(),a=document.createElement(\"div\"),o=t.y,s=t.x,l=r.link_arrow_size,c=r.row_height,u=\"gantt_link_arrow gantt_link_arrow_\"+i;switch(i){case e.dirs.right:o-=(l-c)/2,s-=l;break;case e.dirs.left:o-=(l-c)/2;break;case e.dirs.up:s-=l;break;case e.dirs.down:o+=2*l,s-=l}return a.style.cssText=[\"top:\"+o+\"px\",\"left:\"+s+\"px\"].join(\";\"),a.className=u,a}(l[l.length-1],g,r);return n.color&amp;&amp;(p.style.borderColor=n.color),u.appendChild(p),t._waiAria.linkAttr(n,u),u}}},function(t,e){t.exports=function(t){return function(e,i){var n=i.$getConfig(),r=i.$getTemplates(),a=i.getScale(),o=a.count,s=document.createElement(\"div\");if(n.show_task_cells)for(var l=0;l&lt;o;l++){var c=a.width[l],u=\"\";if(c&gt;0){var d=document.createElement(\"div\");d.style.width=c+\"px\",u=\"gantt_task_cell\"+(l==o-1?\" gantt_last_cell\":\"\"),(f=r.task_cell_class(e,a.trace_x[l]))&amp;&amp;(u+=\" \"+f),d.className=u,s.appendChild(d)}}var h=t.getGlobalTaskIndex(e.id)%2!=0,f=r.task_row_class(e.start_date,e.end_date,e),_=\"gantt_task_row\"+(h?\" odd\":\"\")+(f?\" \"+f:\"\");return i.$config.rowStore.getSelectedId()==e.id&amp;&amp;(_+=\" gantt_selected\"),s.className=_,n.smart_rendering&amp;&amp;(s.style.position=\"absolute\",s.style.top=i.getItemTop(e.id)+\"px\",s.style.width=\"100%\"),s.style.height=n.row_height+\"px\",i.$config.item_attribute&amp;&amp;s.setAttribute(i.$config.item_attribute,e.id),s}}},function(t,e,i){t.exports=function(t){var e=i(23)(t);return function(i,n){if(t.isSplitTask(i)){for(var r=document.createElement(\"div\"),a=t.getTaskPosition(i),o=t.getChildren(i.id),s=0;s&lt;o.length;s++){var l=t.getTask(o[s]),c=e(l,n);if(c){var u=Math.floor((t.config.row_height-a.height)/2);c.style.top=a.top+u+\"px\",c.className+=\" gantt_split_child\",r.appendChild(c)}}return r}return!1}}},function(t,e,i){t.exports=function(t){var e=i(6)(t),n=i(0);function r(){return e.apply(this,arguments)||this}function a(t,e){for(var i=(t||\"\").split(e.delimiter||\",\"),n=0;n&lt;i.length;n++){var r=i[n].trim();r?i[n]=r:(i.splice(n,1),n--)}return i.sort(),i}function o(t,e,i){for(var n=t.$target,r=[],a=0;a&lt;n.length;a++){var o=i.getLink(n[a]),s=i.getTask(o.source);r.push(i.getWBSCode(s))}return r.join((e.delimiter||\",\")+\" \")}function s(e,i){var n=function(e,i){var n=[];return i.forEach(function(i){var r=t.getTaskByWBSCode(i);if(r){var a={source:r.id,target:e,type:t.config.links.finish_to_start,lag:0};t.isLinkAllowed(a)&amp;&amp;n.push(a)}}),n}(e.id,i),r={};e.$target.forEach(function(e){var i=t.getLink(e);r[i.source+\"_\"+i.target]=i.id});var a=[];n.forEach(function(t){var e=t.source+\"_\"+t.target;r[e]?delete r[e]:a.push(t)});var o=[];for(var s in r)o.push(r[s]);return{add:a,remove:o}}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){var r=\"&lt;div&gt;&lt;input type='text' name='\"+e.name+\"'&gt;&lt;/div&gt;\";n.innerHTML=r},hide:function(){},set_value:function(e,i,n,r){this.get_input(r).value=o(e,n.editor,t)},get_value:function(t,e,i){return a(this.get_input(i).value||\"\",e.editor)},save:function(e,i,n){var r=s(t.getTask(e),this.get_value(e,i,n));(r.add.length||r.remove.length)&amp;&amp;t.batchUpdate(function(){r.add.forEach(function(e){t.addLink(e)}),r.remove.forEach(function(e){t.deleteLink(e)}),t.autoSchedule&amp;&amp;t.autoSchedule()})},is_changed:function(e,i,n,r){var s=this.get_value(i,n,r),l=a(o(e,n.editor,t),n.editor);return s.join()!==l.join()}},!0),r}},function(t,e,i){t.exports=function(t){var e=i(6)(t),n=i(0),r=\"%Y-%m-%d\",a=null,o=null;function s(){return e.apply(this,arguments)||this}return i(2)(s,e),n.mixin(s.prototype,{show:function(e,i,n,s){a||(a=t.date.date_to_str(r)),o||(o=t.date.str_to_date(r));var l=\"&lt;div style='width:140px'&gt;&lt;input type='date' min='\"+a(n.min||t.getState().min_date)+\"' max='\"+a(n.max||t.getState().max_date)+\"' name='\"+i.name+\"'&gt;&lt;/div&gt;\";s.innerHTML=l},set_value:function(t,e,i,n){t&amp;&amp;t.getFullYear?this.get_input(n).value=a(t):this.get_input(n).value=t},is_valid:function(t,e,i,n){return!(!t||isNaN(t.getTime()))},get_value:function(t,e,i){var n;try{n=o(this.get_input(i).value||\"\")}catch(t){n=null}return n}},!0),s}},function(t,e,i){t.exports=function(t){var e=i(6)(t),n=i(0);function r(){return e.apply(this,arguments)||this}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){for(var r=\"&lt;div&gt;&lt;select name='\"+e.name+\"'&gt;\",a=[],o=i.options||[],s=0;s&lt;o.length;s++)a.push(\"&lt;option value='\"+i.options[s].key+\"'&gt;\"+o[s].label+\"&lt;/option&gt;\");r+=a.join(\"\")+\"&lt;/select&gt;&lt;/div&gt;\",n.innerHTML=r},get_input:function(t){return t.querySelector(\"select\")}},!0),r}},function(t,e,i){t.exports=function(t){var e=i(6)(t),n=i(0);function r(){return e.apply(this,arguments)||this}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){var r=\"&lt;div&gt;&lt;input type='number' min='\"+(i.min||0)+\"' max='\"+(i.max||100)+\"' name='\"+e.name+\"'&gt;&lt;/div&gt;\";n.innerHTML=r},get_value:function(t,e,i){return this.get_input(i).value||\"\"},is_valid:function(t,e,i,n){return!isNaN(parseInt(t,10))}},!0),r}},function(t,e,i){t.exports=function(t){var e=i(6)(t),n=i(0);function r(){return e.apply(this,arguments)||this}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){var r=\"&lt;div&gt;&lt;input type='text' name='\"+e.name+\"'&gt;&lt;/div&gt;\";n.innerHTML=r}},!0),r}},function(t,e){t.exports={init:function(t,e){var i=t,n=e.$gantt,r=null,a=n.ext.keyboardNavigation;a.attachEvent(\"onBeforeFocus\",function(e){var n=t.locateCell(e);if(clearTimeout(r),n){var a=n.columnName,o=n.id,s=i.getState();if(i.isVisible()&amp;&amp;s.id==o&amp;&amp;s.columnName===a)return!1}return!0}),a.attachEvent(\"onFocus\",function(e){var n=t.locateCell(e),a=t.getState();return clearTimeout(r),!n||n.id==a.id&amp;&amp;n.columnName==a.columnName||i.isVisible()&amp;&amp;i.save(),!0}),t.attachEvent(\"onHide\",function(){clearTimeout(r)}),a.attachEvent(\"onBlur\",function(){return r=setTimeout(function(){i.save()}),!0}),n.attachEvent(\"onTaskDblClick\",function(e,i){var n=t.getState(),r=t.locateCell(i.target);return!r||!t.isVisible()||r.columnName!=n.columnName}),n.attachEvent(\"onTaskClick\",function(e,i){if(n._is_icon_open_click(i))return!0;var r=t.getState(),a=t.locateCell(i.target);return!a||!t.getEditorConfig(a.columnName)||(t.isVisible()&amp;&amp;r.id==a.id&amp;&amp;r.columnName==a.columnName||t.startEdit(a.id,a.columnName),!1)}),n.attachEvent(\"onEmptyClick\",function(){return i.save(),!0}),a.attachEvent(\"onKeyDown\",function(e,r){var o=t.locateCell(r.target),s=!!o&amp;&amp;t.getEditorConfig(o.columnName),l=t.getState(),c=n.constants.KEY_CODES,u=r.keyCode,d=!1;switch(u){case c.ENTER:t.isVisible()?(t.save(),r.preventDefault(),d=!0):s&amp;&amp;!(r.ctrlKey||r.metaKey||r.shiftKey)&amp;&amp;(i.startEdit(o.id,o.columnName),r.preventDefault(),d=!0);break;case c.ESC:t.isVisible()&amp;&amp;(t.hide(),r.preventDefault(),d=!0);break;case c.UP:case c.DOWN:break;case c.LEFT:case c.RIGHT:\"date\"===l.editorType&amp;&amp;(d=!0);break;case c.SPACE:t.isVisible()&amp;&amp;(d=!0),s&amp;&amp;!t.isVisible()&amp;&amp;(i.startEdit(o.id,o.columnName),r.preventDefault(),d=!0);break;case c.DELETE:s&amp;&amp;!t.isVisible()&amp;&amp;(i.startEdit(o.id,o.columnName),d=!0);break;case c.TAB:if(t.isVisible()){r.shiftKey?t.editPrevCell(!0):t.editNextCell(!0);var h=t.getState();h.id&amp;&amp;a.focus({type:\"taskCell\",id:h.id,column:h.columnName}),r.preventDefault(),d=!0}break;default:if(t.isVisible())d=!0;else if(u&gt;=48&amp;&amp;u&lt;=57||u&gt;95&amp;&amp;u&lt;112||u&gt;=64&amp;&amp;u&lt;=91||u&gt;185&amp;&amp;u&lt;193||u&gt;218&amp;&amp;u&lt;223){var f=e.modifiers,_=f.alt||f.ctrl||f.meta||f.shift;f.alt||_&amp;&amp;a.getCommandHandler(e,\"taskCell\")||s&amp;&amp;!t.isVisible()&amp;&amp;(i.startEdit(o.id,o.columnName),d=!0)}}return!d})},onShow:function(t,e,i){},onHide:function(t,e,i){i.$gantt.focus()},destroy:function(){}}},function(t,e){t.exports={init:function(t,e){var i=e.$gantt;i.attachEvent(\"onTaskClick\",function(e,n){if(i._is_icon_open_click(n))return!0;var r=t.getState(),a=t.locateCell(n.target);return!a||!t.getEditorConfig(a.columnName)||(t.isVisible()&amp;&amp;r.id==a.id&amp;&amp;r.columnName==a.columnName||t.startEdit(a.id,a.columnName),!1)}),i.attachEvent(\"onEmptyClick\",function(){return t.isVisible()&amp;&amp;t.isChanged()?t.save():t.hide(),!0}),i.attachEvent(\"onTaskDblClick\",function(e,i){var n=t.getState(),r=t.locateCell(i.target);return!r||!t.isVisible()||r.columnName!=n.columnName})},onShow:function(t,e,i){if(!i.$getConfig().keyboard_navigation){var n=i.$gantt;e.onkeydown=function(e){e=e||window.event;var i=n.constants.KEY_CODES;if(!(e.defaultPrevented||e.shiftKey&amp;&amp;e.keyCode!=i.TAB)){var r=!0;switch(e.keyCode){case n.keys.edit_save:t.save();break;case n.keys.edit_cancel:t.hide();break;case i.TAB:e.shiftKey?t.editPrevCell(!0):t.editNextCell(!0);break;default:r=!1}r&amp;&amp;e.preventDefault()}}}},onHide:function(){},destroy:function(){}}},function(t,e,i){var n=i(112),r=i(111);t.exports=function(t){var e=null;return{setMapping:function(t){e=t},getMapping:function(){return e||(t.config.keyboard_navigation_cells?r:n)}}}},function(t,e,i){var n=i(113),r=i(110),a=i(109),o=i(108),s=i(107),l=i(106),c=i(0),u=i(1),d=i(4);function h(t){t.config.editor_types={text:new(r(t)),number:new(a(t)),select:new(o(t)),date:new(s(t)),predecessor:new(l(t))}}t.exports=function(t){var e=n(t),i={};d(i);var r={init:h,createEditors:function(n){function r(t,e){var i=function(t,e){for(var i=n.getItemTop(t),r=n.getItemHeight(t),a=n.getGridColumns(),o=0,s=0,l=0;l&lt;a.length;l++){if(a[l].name==e){s=a[l].width;break}o+=a[l].width}return{top:i,left:o,height:r,width:s}}(t,e),r=document.createElement(\"div\");r.className=\"gantt_grid_editor_placeholder\",r.setAttribute(n.$config.item_attribute,t),r.setAttribute(\"data-column-name\",e);var a=function(t,e){for(var i=t.getGridColumns(),n=0;n&lt;i.length;n++)if(i[n].name==e)return n;return 0}(n,e);return r.setAttribute(\"data-column-index\",a),r.style.cssText=[\"top:\"+i.top+\"px\",\"left:\"+i.left+\"px\",\"width:\"+i.width+\"px\",\"height:\"+i.height+\"px\"].join(\";\"),r}var a=[],o=null,s={_itemId:null,_columnName:null,_editor:null,_editorType:null,_placeholder:null,locateCell:function(t){if(!u.isChildOf(t,n.$grid))return null;var e=u.locateAttribute(t,n.$config.item_attribute),i=u.locateAttribute(t,\"data-column-name\");if(i){var r=i.getAttribute(\"data-column-name\");return{id:e.getAttribute(n.$config.item_attribute),columnName:r}}return null},getEditorConfig:function(t){return n.getColumn(t).editor},init:function(){var t=e.getMapping();t.init&amp;&amp;t.init(this,n),o=n.$gantt.getDatastore(n.$config.bind);var i=this;a.push(o.attachEvent(\"onIdChange\",function(t,e){i._itemId==t&amp;&amp;(i._itemId=e)})),a.push(o.attachEvent(\"onStoreUpdated\",function(){n.$gantt.getState(\"batchUpdate\").batch_update||i.isVisible()&amp;&amp;!o.isVisible(i._itemId)&amp;&amp;i.hide()})),this.init=function(){}},getState:function(){return{editor:this._editor,editorType:this._editorType,placeholder:this._placeholder,id:this._itemId,columnName:this._columnName}},startEdit:function(e,i){if(this.isVisible()&amp;&amp;this.save(),o.exists(e)){var n={id:e,columnName:i};t.isReadonly(o.getItem(e))?this.callEvent(\"onEditPrevent\",[n]):!1!==this.callEvent(\"onBeforeEditStart\",[n])?(this.show(n.id,n.columnName),this.setValue(),this.callEvent(\"onEditStart\",[n])):this.callEvent(\"onEditPrevent\",[n])}},isVisible:function(){return!(!this._editor||!u.isChildOf(this._placeholder,document.body))},show:function(t,i){this.isVisible()&amp;&amp;this.save();var a={id:t,columnName:i},o=n.getColumn(a.columnName),s=this.getEditorConfig(o.name);if(s){var l=n.$getConfig().editor_types[s.type],c=r(a.id,a.columnName);n.$grid_data.appendChild(c),l.show(a.id,o,s,c),this._editor=l,this._placeholder=c,this._itemId=a.id,this._columnName=a.columnName,this._editorType=s.type;var u=e.getMapping();u.onShow&amp;&amp;u.onShow(this,c,n)}},setValue:function(){var t=this.getState(),e=t.id,i=t.columnName,r=n.getColumn(i),a=o.getItem(e),s=this.getEditorConfig(i);if(s){var l=a[s.map_to];\"auto\"==s.map_to&amp;&amp;(l=o.getItem(e)),this._editor.set_value(l,e,r,this._placeholder),this.focus()}},focus:function(){this._editor.focus(this._placeholder)},getValue:function(){var t=n.getColumn(this._columnName);return this._editor.get_value(this._itemId,t,this._placeholder)},_getItemValue:function(){var e=this.getEditorConfig(this._columnName);if(e){var i=t.getTask(this._itemId)[e.map_to];return\"auto\"==e.map_to&amp;&amp;(i=o.getItem(this._itemId)),i}},isChanged:function(){var t=n.getColumn(this._columnName),e=this._getItemValue();return this._editor.is_changed(e,this._itemId,t,this._placeholder)},hide:function(){if(this._itemId){var t=this._itemId,i=this._columnName,r=e.getMapping();r.onHide&amp;&amp;r.onHide(this,this._placeholder,n),this._itemId=null,this._columnName=null,this._editorType=null,this._placeholder&amp;&amp;(this._editor&amp;&amp;this._editor.hide(this._placeholder),this._editor=null,this._placeholder.parentNode&amp;&amp;this._placeholder.parentNode.removeChild(this._placeholder),this._placeholder=null,this.callEvent(\"onEditEnd\",[{id:t,columnName:i}]))}},save:function(){if(this.isVisible()&amp;&amp;o.exists(this._itemId)&amp;&amp;this.isChanged()){var e=this._itemId,i=this._columnName;if(o.exists(e)){var r=o.getItem(e),a=this.getEditorConfig(i),s={id:e,columnName:i,newValue:this.getValue(),oldValue:this._getItemValue()};if(!1!==this.callEvent(\"onBeforeSave\",[s])&amp;&amp;this._editor.is_valid(s.newValue,s.id,s.columnName,this._placeholder)){var l=a.map_to,c=s.newValue;\"auto\"!=l?(r[l]=c,\"duration\"==l?r.end_date=t.calculateEndDate(r):\"end_date\"==l?r.start_date=t.calculateEndDate({start_date:r.end_date,duration:-r.duration,task:r}):\"start_date\"==l&amp;&amp;(r.end_date=t.calculateEndDate(r)),o.updateItem(e)):this._editor.save(e,n.getColumn(i),this._placeholder),this.callEvent(\"onSave\",[s])}this.hide()}}else this.hide()},_findEditableCell:function(t,e){var i=t,r=n.getGridColumns()[i],a=r?r.name:null;if(a){for(;a&amp;&amp;!this.getEditorConfig(a);)a=this._findEditableCell(t+e,e);return a}return null},getNextCell:function(t){return this._findEditableCell(n.getColumnIndex(this._columnName)+t,t)},getFirstCell:function(){return this._findEditableCell(0,1)},getLastCell:function(){return this._findEditableCell(n.getGridColumns().length-1,-1)},editNextCell:function(t){var e=this.getNextCell(1);if(e){var i=this.getNextCell(1);i&amp;&amp;this.getEditorConfig(i)&amp;&amp;this.startEdit(this._itemId,i)}else if(t&amp;&amp;this.moveRow(1)){var n=this.moveRow(1);(e=this.getFirstCell())&amp;&amp;this.getEditorConfig(e)&amp;&amp;this.startEdit(n,e)}},editPrevCell:function(t){var e=this.getNextCell(-1);if(e){var i=this.getNextCell(-1);i&amp;&amp;this.getEditorConfig(i)&amp;&amp;this.startEdit(this._itemId,i)}else if(t&amp;&amp;this.moveRow(-1)){var n=this.moveRow(-1);(e=this.getLastCell())&amp;&amp;this.getEditorConfig(e)&amp;&amp;this.startEdit(n,e)}},moveRow:function(e){for(var i=e&gt;0?t.getNext:t.getPrev,n=(i=t.bind(i,t))(this._itemId);t.isTaskExists(n)&amp;&amp;t.isReadonly(t.getTask(n));)n=i(n);return n},editNextRow:function(){var t=this.getNextCell(1);t&amp;&amp;this.startEdit(t,this._columnName)},editPrevRow:function(){var t=this.getNextCell(-1);t&amp;&amp;this.startEdit(t,this._columnName)},destructor:function(){a.forEach(function(t){o.detachEvent(t)}),o=null,this.hide(),this.detachAllEvents()}};return c.mixin(s,e),c.mixin(s,i),s}};return c.mixin(r,e),c.mixin(r,i),r}},function(t,e){t.exports=function(t,e){return{init:function(){},doOnRender:function(){}}}},function(t,e){t.exports={create:function(){return{render:function(){},destroy:function(){}}}}},function(t,e,i){var n=i(2),r=i(1),a=i(0),o=i(13),s=function(t){\"use strict\";function e(e,i,n,r){var o=t.apply(this,arguments)||this;this.$config=a.mixin(i,{scroll:\"x\"}),o._scrollHorizontalHandler=a.bind(o._scrollHorizontalHandler,o),o._scrollVerticalHandler=a.bind(o._scrollVerticalHandler,o),o._outerScrollVerticalHandler=a.bind(o._outerScrollVerticalHandler,o),o._outerScrollHorizontalHandler=a.bind(o._outerScrollHorizontalHandler,o),o._mouseWheelHandler=a.bind(o._mouseWheelHandler,o),this.$config.hidden=!0;var s=r.config.scroll_size;return r.env.isIE&amp;&amp;(s+=1),this._isHorizontal()?(o.$config.height=s,o.$parent.$config.height=s):(o.$config.width=s,o.$parent.$config.width=s),this.$config.scrollPosition=0,o.$name=\"scroller\",o}return n(e,t),e.prototype.init=function(t){t.innerHTML=this.$toHTML(),this.$view=t.firstChild,this.$view||this.init(),this._isVertical()?this._initVertical():this._initHorizontal(),this._initMouseWheel(),this._initLinkedViews()},e.prototype.$toHTML=function(){return\"&lt;div class='gantt_layout_cell \"+(this._isHorizontal()?\"gantt_hor_scroll\":\"gantt_ver_scroll\")+\"'&gt;&lt;div style='\"+(this._isHorizontal()?\"width:2000px\":\"height:2000px\")+\"'&gt;&lt;/div&gt;&lt;/div&gt;\"},e.prototype._getRootParent=function(){for(var t=this.$parent;t&amp;&amp;t.$parent;)t=t.$parent;if(t)return t},e.prototype._eachView=function(){var t=[];return function t(e,i){if(i.push(e),e.$cells)for(var n=0;n&lt;e.$cells.length;n++)t(e.$cells[n],i)}(this._getRootParent(),t),t},e.prototype._getLinkedViews=function(){for(var t=this._eachView(),e=[],i=0;i&lt;t.length;i++)t[i].$config&amp;&amp;(this._isVertical()&amp;&amp;t[i].$config.scrollY==this.$id||this._isHorizontal()&amp;&amp;t[i].$config.scrollX==this.$id)&amp;&amp;e.push(t[i]);return e},e.prototype._initHorizontal=function(){this.$scroll_hor=this.$view,this.$domEvents.attach(this.$view,\"scroll\",this._scrollHorizontalHandler)},e.prototype._initLinkedViews=function(){for(var t=this._getLinkedViews(),e=this._isVertical()?\"gantt_layout_outer_scroll gantt_layout_outer_scroll_vertical\":\"gantt_layout_outer_scroll gantt_layout_outer_scroll_horizontal\",i=0;i&lt;t.length;i++)r.addClassName(t[i].$view||t[i].getNode(),e)},e.prototype._initVertical=function(){this.$scroll_ver=this.$view,this.$domEvents.attach(this.$view,\"scroll\",this._scrollVerticalHandler)},e.prototype._updateLinkedViews=function(){},e.prototype._initMouseWheel=function(){o.isFF?this.$domEvents.attach(this._getRootParent().$view,\"wheel\",this._mouseWheelHandler):this.$domEvents.attach(this._getRootParent().$view,\"mousewheel\",this._mouseWheelHandler)},e.prototype.scrollHorizontally=function(t){if(!this._scrolling){this._scrolling=!0,this.$scroll_hor.scrollLeft=t,this.$config.codeScrollLeft=t,t=this.$scroll_hor.scrollLeft;for(var e=this._getLinkedViews(),i=0;i&lt;e.length;i++)e[i].scrollTo&amp;&amp;e[i].scrollTo(t,void 0);var n=this.$config.scrollPosition;this.$config.scrollPosition=t,this.callEvent(\"onScroll\",[n,t,this.$config.scroll]),this._scrolling=!1}},e.prototype.scrollVertically=function(t){if(!this._scrolling){this._scrolling=!0,this.$scroll_ver.scrollTop=t,t=this.$scroll_ver.scrollTop;for(var e=this._getLinkedViews(),i=0;i&lt;e.length;i++)e[i].scrollTo&amp;&amp;e[i].scrollTo(void 0,t);var n=this.$config.scrollPosition;this.$config.scrollPosition=t,this.callEvent(\"onScroll\",[n,t,this.$config.scroll]),this._scrolling=!1}},e.prototype._isVertical=function(){return\"y\"==this.$config.scroll},e.prototype._isHorizontal=function(){return\"x\"==this.$config.scroll},e.prototype._scrollHorizontalHandler=function(t){if(!this._isVertical()&amp;&amp;!this._scrolling){if(new Date-(this._wheel_time||0)&lt;100)return!0;if(!this.$gantt._touch_scroll_active){var e=this.$scroll_hor.scrollLeft;this.scrollHorizontally(e),this._oldLeft=this.$scroll_hor.scrollLeft}}},e.prototype._outerScrollHorizontalHandler=function(t){this._isVertical()},e.prototype.show=function(){this.$parent.show()},e.prototype.hide=function(){this.$parent.hide()},e.prototype._getScrollSize=function(){for(var t,e=0,i=0,n=this._isHorizontal(),r=this._getLinkedViews(),a=n?\"scrollWidth\":\"scrollHeight\",o=n?\"contentX\":\"contentY\",s=n?\"x\":\"y\",l=this._getScrollOffset(),c=0;c&lt;r.length;c++)if((t=r[c])&amp;&amp;t.$content&amp;&amp;t.$content.getSize&amp;&amp;!t.$config.hidden){var u,d=t.$content.getSize();if(u=d.hasOwnProperty(a)?d[a]:d[o],l)d[o]&gt;d[s]&amp;&amp;d[o]&gt;e&amp;&amp;u&gt;d[s]-l+2&amp;&amp;(e=u+(n?0:2),i=d[s]);else{var h=Math.max(d[o]-u,0);(u+=h)&gt;Math.max(d[s]-h,0)&amp;&amp;u&gt;e&amp;&amp;(e=u,i=d[s])}}return{outerScroll:i,innerScroll:e}},e.prototype.scroll=function(t){this._isHorizontal()?this.scrollHorizontally(t):this.scrollVertically(t)},e.prototype.getScrollState=function(){return{visible:this.isVisible(),direction:this.$config.scroll,size:this.$config.outerSize,scrollSize:this.$config.scrollSize||0,position:this.$config.scrollPosition||0}},e.prototype.setSize=function(e,i){t.prototype.setSize.apply(this,arguments);var n=this._getScrollSize(),r=(this._isVertical()?i:e)-this._getScrollOffset()+(this._isHorizontal()?1:0);n.innerScroll&amp;&amp;r&gt;n.outerScroll&amp;&amp;(n.innerScroll+=r-n.outerScroll),this.$config.scrollSize=n.innerScroll,this.$config.width=e,this.$config.height=i,this._setScrollSize(n.innerScroll)},e.prototype.isVisible=function(){return!(!this.$parent||!this.$parent.$view.parentNode)},e.prototype.shouldShow=function(){var t=this._getScrollSize();return!(!t.innerScroll&amp;&amp;this.$parent&amp;&amp;this.$parent.$view.parentNode)&amp;&amp;!(!t.innerScroll||this.$parent&amp;&amp;this.$parent.$view.parentNode)},e.prototype.shouldHide=function(){return!(this._getScrollSize().innerScroll||!this.$parent||!this.$parent.$view.parentNode)},e.prototype.toggleVisibility=function(){this.shouldHide()?this.hide():this.shouldShow()&amp;&amp;this.show()},e.prototype._getScaleOffset=function(t){var e=0;return!t||\"timeline\"!=t.$config.view&amp;&amp;\"grid\"!=t.$config.view||(e=t.$content.$getConfig().scale_height),e},e.prototype._getScrollOffset=function(){var t=0;if(this._isVertical()){var e=this.$parent.$parent;t=Math.max(this._getScaleOffset(e.getPrevSibling(this.$parent.$id)),this._getScaleOffset(e.getNextSibling(this.$parent.$id)))}else for(var i=this._getLinkedViews(),n=0;n&lt;i.length;n++){var r=i[n].$parent.$cells,a=r[r.length-1];if(a&amp;&amp;\"scrollbar\"==a.$config.view&amp;&amp;!1===a.$config.hidden){t=a.$config.width;break}}return t||0},e.prototype._setScrollSize=function(t){var e=this._isHorizontal()?\"width\":\"height\",i=this._isHorizontal()?this.$scroll_hor:this.$scroll_ver,n=this._getScrollOffset(),a=i.firstChild;n?this._isVertical()?(this.$config.outerSize=this.$config.height-n+3,i.style.height=this.$config.outerSize+\"px\",i.style.top=n-1+\"px\",r.addClassName(i,this.$parent._borders.top),r.addClassName(i.parentNode,\"gantt_task_vscroll\")):(this.$config.outerSize=this.$config.width-n+1,i.style.width=this.$config.outerSize+\"px\"):(i.style.top=\"auto\",r.removeClassName(i,this.$parent._borders.top),r.removeClassName(i.parentNode,\"gantt_task_vscroll\"),this.$config.outerSize=this.$config.height),a.style[e]=t+\"px\"},e.prototype._scrollVerticalHandler=function(t){if(!this._scrollHorizontalHandler()&amp;&amp;!this._scrolling&amp;&amp;!this.$gantt._touch_scroll_active){var e=this.$scroll_ver.scrollTop;e!=this._oldTop&amp;&amp;(this.scrollVertically(e),this._oldTop=this.$scroll_ver.scrollTop)}},e.prototype._outerScrollVerticalHandler=function(t){this._scrollHorizontalHandler()},e.prototype._checkWheelTarget=function(t){for(var e=this._getLinkedViews().concat(this),i=0;i&lt;e.length;i++){var n=e[i].$view;if(r.isChildOf(t,n))return!0}return!1},e.prototype._mouseWheelHandler=function(t){var e=t.target||t.srcElement;if(this._checkWheelTarget(e)){this._wheel_time=new Date;var i={},n=o.isFF,r=n?-20*t.deltaX:2*t.wheelDeltaX,a=n?-40*t.deltaY:t.wheelDelta;if(!t.shiftKey||t.deltaX||t.wheelDeltaX||(r=2*a,a=0),r&amp;&amp;Math.abs(r)&gt;Math.abs(a)){if(this._isVertical())return;if(i.x)return!0;if(!this.$scroll_hor||!this.$scroll_hor.offsetWidth)return!0;var s=r/-40,l=this._oldLeft,c=l+30*s;if(this.scrollHorizontally(c),this.$scroll_hor.scrollLeft=c,l==this.$scroll_hor.scrollLeft)return!0;this._oldLeft=this.$scroll_hor.scrollLeft}else{if(this._isHorizontal())return;if(i.y)return!0;if(!this.$scroll_ver||!this.$scroll_ver.offsetHeight)return!0;s=a/-40;void 0===a&amp;&amp;(s=t.detail);var u=this._oldTop,d=this.$scroll_ver.scrollTop+30*s;if(this.scrollVertically(d),this.$scroll_ver.scrollTop=d,u==this.$scroll_ver.scrollTop)return!0;this._oldTop=this.$scroll_ver.scrollTop}return t.preventDefault&amp;&amp;t.preventDefault(),t.cancelBubble=!0,!1}},e}(i(7));t.exports=s},function(t,e){t.exports=null},function(t,e,i){var n=i(2),r=i(0),a=function(t){\"use strict\";function e(e,i,n){var a=t.apply(this,arguments)||this;if(i.view){i.id&amp;&amp;(this.$id=r.uid());var o=r.copy(i);if(delete o.config,delete o.templates,this.$content=this.$factory.createView(i.view,this,o,this),!this.$content)return!1}return a.$name=\"viewCell\",a}return n(e,t),e.prototype.destructor=function(){this.clear(),t.prototype.destructor.call(this)},e.prototype.clear=function(){if(this.$initialized=!1,this.$content){var e=this.$content.unload||this.$content.destructor;e&amp;&amp;e.call(this.$content)}t.prototype.clear.call(this)},e.prototype.scrollTo=function(e,i){this.$content&amp;&amp;this.$content.scrollTo?this.$content.scrollTo(e,i):t.prototype.scrollTo.call(this,e,i)},e.prototype._setContentSize=function(t,e){var i=this._getBorderSizes(),n=t+i.horizontal,r=e+i.vertical;this.$config.width=n,this.$config.height=r},e.prototype.setSize=function(e,i){if(t.prototype.setSize.call(this,e,i),!this.$preResize&amp;&amp;this.$content&amp;&amp;!this.$initialized){this.$initialized=!0;var n=this.$view.childNodes[0],r=this.$view.childNodes[1];r||(r=n),this.$content.init(r)}},e.prototype.setContentSize=function(){!this.$preResize&amp;&amp;this.$content&amp;&amp;this.$initialized&amp;&amp;this.$content.setSize(this.$lastSize.contentX,this.$lastSize.contentY)},e.prototype.getContentSize=function(){var e=t.prototype.getContentSize.call(this);if(this.$content&amp;&amp;this.$initialized){var i=this.$content.getSize();e.width=void 0===i.contentX?i.width:i.contentX,e.height=void 0===i.contentY?i.height:i.contentY}var n=this._getBorderSizes();return e.width+=n.horizontal,e.height+=n.vertical,e},e}(i(7));t.exports=a},function(t,e,i){var n=i(2),r=i(27),a=i(7),o=function(t){\"use strict\";function e(e,i,n){for(var r=t.apply(this,arguments)||this,a=0;a&lt;r.$cells.length;a++)r.$cells[a].$config.hidden=0!==a;return r.$cell=r.$cells[0],r.$name=\"viewLayout\",r}return n(e,t),e.prototype.cell=function(e){var i=t.prototype.cell.call(this,e);return i.$view||this.$fill(null,this),i},e.prototype.moveView=function(t){var e=this.$view;this.$cell&amp;&amp;(this.$cell.$config.hidden=!0,e.removeChild(this.$cell.$view)),this.$cell=t,e.appendChild(t.$view)},e.prototype.setSize=function(t,e){a.prototype.setSize.call(this,t,e)},e.prototype.setContentSize=function(){var t=this.$lastSize;this.$cell.setSize(t.contentX,t.contentY)},e.prototype.getSize=function(){var e=t.prototype.getSize.call(this);if(this.$cell){var i=this.$cell.getSize();if(this.$config.byMaxSize)for(var n=0;n&lt;this.$cells.length;n++){var r=this.$cells[n].getSize();for(var a in i)i[a]=Math.max(i[a],r[a])}for(var o in e)e[o]=e[o]||i[o];e.gravity=Math.max(e.gravity,i.gravity)}return e},e}(r);t.exports=o},function(t,e){t.exports=function(t){var e=t.$services,i={},n={};function r(r,a,o){if(n[r])return n[r];a.renderer||t.assert(!1,\"Invalid renderer call\");var s=a.filter;return o&amp;&amp;o.setAttribute(e.config().layer_attribute,!0),n[r]={render_item:function(e,i){if(i=i||o,!s||s(e)){var n=function(t){return a.renderer.call(this,t,a.host)}.call(t,e);this.append(e,n,i)}else this.remove_item(e.id)},clear:function(t){this.rendered=i[r]={},a.append||this.clear_container(t)},clear_container:function(t){(t=t||o)&amp;&amp;(t.innerHTML=\"\")},render_items:function(t,e){e=e||o;var i=document.createDocumentFragment();this.clear(e);for(var n=0,r=t.length;n&lt;r;n++)this.render_item(t[n],i);e.appendChild(i)},append:function(t,e,i){e?(this.rendered[t.id]&amp;&amp;this.rendered[t.id].parentNode?this.replace_item(t.id,e):i.appendChild(e),this.rendered[t.id]=e):this.rendered[t.id]&amp;&amp;this.remove_item(t.id)},replace_item:function(t,e){var i=this.rendered[t];i&amp;&amp;i.parentNode&amp;&amp;i.parentNode.replaceChild(e,i),this.rendered[t]=e},remove_item:function(t){this.hide(t),delete this.rendered[t]},hide:function(t){var e=this.rendered[t];e&amp;&amp;e.parentNode&amp;&amp;e.parentNode.removeChild(e)},restore:function(t){var e=this.rendered[t.id];e?e.parentNode||this.append(t,e,o):this.render_item(t,o)},change_id:function(t,e){this.rendered[e]=this.rendered[t],delete this.rendered[t]},rendered:i[r],node:o,destructor:function(){this.clear(),delete n[r],delete i[r]}},n[r]}return{getRenderer:r,clearRenderers:function(){for(var t in n)r(t).destructor()}}}},function(t,e,i){var n=i(121),r=i(0),a=i(1);function o(t){return t instanceof Array||(t=Array.prototype.slice.call(arguments,0)),function(e){for(var i=!0,n=0,r=t.length;n&lt;r;n++){var a=t[n];a&amp;&amp;(i=i&amp;&amp;!1!==a(e.id,e))}return i}}t.exports=function(t){var e=n(t);return{createGroup:function(i,n,s){var l={tempCollection:[],renderers:{},container:i,filters:[],getLayers:function(){this._add();var t=[];for(var e in this.renderers)t.push(this.renderers[e]);return t},getLayer:function(t){return this.renderers[t]},_add:function(t){t&amp;&amp;(t.id=t.id||r.uid(),this.tempCollection.push(t));for(var i=this.container(),o=this.tempCollection,s=0;s&lt;o.length;s++)if(t=o[s],this.container()||t&amp;&amp;t.container&amp;&amp;a.isChildOf(t.container,document.body)){var l=t.container,c=t.id,u=t.topmost;if(!l.parentNode)if(u)i.appendChild(l);else{var d=n?n():i.firstChild;d?i.insertBefore(l,d):i.appendChild(l)}this.renderers[c]=e.getRenderer(c,t,l),this.tempCollection.splice(s,1),s--}},addLayer:function(t){return t&amp;&amp;(\"function\"==typeof t&amp;&amp;(t={renderer:t}),void 0===t.filter?t.filter=o(s||[]):t.filter instanceof Array&amp;&amp;(t.filter.push(s),t.filter=o(t.filter)),t.container||(t.container=document.createElement(\"div\"))),this._add(t),t?t.id:void 0},eachLayer:function(t){for(var e in this.renderers)t(this.renderers[e])},removeLayer:function(t){this.renderers[t]&amp;&amp;(this.renderers[t].destructor(),delete this.renderers[t])},clear:function(){for(var t in this.renderers)this.renderers[t].destructor();this.renderers={}}};return t.attachEvent(\"onDestroy\",function(){l.clear(),l=null}),l}}}},function(t,e,i){var n=i(122);t.exports=function(t){var e=n(t);return{getDataRender:function(e){return t.$services.getService(\"layer:\"+e)||null},createDataRender:function(i){var n=i.name,r=i.defaultContainer,a=i.defaultContainerSibling,o=e.createGroup(r,a,function(t,e){if(!o.filters)return!0;for(var i=0;i&lt;o.filters.length;i++)if(!1===o.filters[i](t,e))return!1});return t.$services.setService(\"layer:\"+n,function(){return o}),t.attachEvent(\"onGanttReady\",function(){o.addLayer()}),o},init:function(){var e=this.createDataRender({name:\"task\",defaultContainer:function(){return t.$task_data?t.$task_data:t.$ui.getView(\"timeline\")?t.$ui.getView(\"timeline\").$task_data:void 0},defaultContainerSibling:function(){return t.$task_links?t.$task_links:t.$ui.getView(\"timeline\")?t.$ui.getView(\"timeline\").$task_links:void 0},filter:function(t){}},t),i=this.createDataRender({name:\"link\",defaultContainer:function(){return t.$task_data?t.$task_data:t.$ui.getView(\"timeline\")?t.$ui.getView(\"timeline\").$task_data:void 0}},t);return{addTaskLayer:function(t){return e.addLayer(t)},_getTaskLayers:function(){return e.getLayers()},removeTaskLayer:function(t){e.removeLayer(t)},_clearTaskLayers:function(){e.clear()},addLinkLayer:function(t){return i.addLayer(t)},_getLinkLayers:function(){return i.getLayers()},removeLinkLayer:function(t){i.removeLayer(t)},_clearLinkLayers:function(){i.clear()}}}}}},function(t,e,i){var n=function(t){return function(e){var i={click:{},doubleclick:{},contextMenu:{}};function n(t,e,n,r){i[t][e]||(i[t][e]=[]),i[t][e].push({handler:n,root:r})}function r(t){t=t||window.event;var n=e.locate(t),r=o(t,i.click),a=!0;if(null!==n?a=!e.checkEvent(\"onTaskClick\")||e.callEvent(\"onTaskClick\",[n,t]):e.callEvent(\"onEmptyClick\",[t]),a){if(!s(r,t,n))return;n&amp;&amp;e.getTask(n)&amp;&amp;e.config.select_task&amp;&amp;!e.config.multiselect&amp;&amp;e.selectTask(n)}}function a(t){var i=(t=t||window.event).target||t.srcElement,n=e.locate(i),r=e.locate(i,e.config.link_attribute),a=!e.checkEvent(\"onContextMenu\")||e.callEvent(\"onContextMenu\",[n,r,t]);return a||(t.preventDefault?t.preventDefault():t.returnValue=!1),a}function o(e,i){for(var n=e.target||e.srcElement,r=[];n;){var a=t.getClassName(n);if(a){a=a.split(\" \");for(var o=0;o&lt;a.length;o++)if(a[o]&amp;&amp;i[a[o]])for(var s=i[a[o]],l=0;l&lt;s.length;l++)s[l].root&amp;&amp;!t.isChildOf(n,s[l].root)||r.push(s[l].handler)}n=n.parentNode}return r}function s(t,i,n){for(var r=!0,a=0;a&lt;t.length;a++){var o=t[a].call(e,i,n,i.target||i.srcElement);r=r&amp;&amp;!(void 0!==o&amp;&amp;!0!==o)}return r}function l(t){t=t||window.event;var n=e.locate(t),r=o(t,i.doubleclick),a=!e.checkEvent(\"onTaskDblClick\")||null===n||e.callEvent(\"onTaskDblClick\",[n,t]);if(a){if(!s(r,t,n))return;null!==n&amp;&amp;e.getTask(n)&amp;&amp;a&amp;&amp;e.config.details_on_dblclick&amp;&amp;e.showLightbox(n)}}function c(t){if(e.checkEvent(\"onMouseMove\")){var i=e.locate(t);e._last_move_event=t,e.callEvent(\"onMouseMove\",[i,t])}}var u=e._createDomEventScope();function d(t){u.detachAll(),t&amp;&amp;(u.attach(t,\"click\",r),u.attach(t,\"dblclick\",l),u.attach(t,\"mousemove\",c),u.attach(t,\"contextmenu\",a))}return{reset:d,global:function(t,e,i){n(t,e,i,null)},delegate:n,detach:function(t,e,n,r){if(i[t]&amp;&amp;i[t][e]){for(var a=i[t],o=a[e],s=0;s&lt;o.length;s++)o[s].root==r&amp;&amp;(o.splice(s,1),s--);o.length||delete a[e]}},callHandler:function(t,e,n,r){var a=i[t][e];if(a)for(var o=0;o&lt;a.length;o++)(n||a[o].root)&amp;&amp;a[o].root!==n||a[o].handler.apply(this,r)},onDoubleClick:l,onMouseMove:c,onContextMenu:a,onClick:r,destructor:function(){d(),i=null,u=null}}}}(i(1));t.exports={init:n}},function(t,e,i){var n=i(0);function r(t){n.mixin(this,t,!0)}function a(t,e){var i=this.$config[t];return i?i instanceof r?i:(r.prototype=e,this.$config[t]=new r(i),this.$config[t]):e}t.exports=function(t,e){n.mixin(t,function(t){var e,i;return{$getConfig:function(){return e||(e=t?t.$getConfig():this.$gantt.config),a.call(this,\"config\",e)},$getTemplates:function(){return i||(i=t?t.$getTemplates():this.$gantt.templates),a.call(this,\"templates\",i)}}}(e))}},function(t,e,i){var n=i(0),r=i(125);t.exports={createFactory:function(t){var e={};var i={};function a(a,o,s,l){var c=e[a];if(!c||!c.create)return!1;\"resizer\"!=a||s.mode||(l.$config.cols?s.mode=\"x\":s.mode=\"y\"),\"viewcell\"!=a||\"scrollbar\"!=s.view||s.scroll||(l.$config.cols?s.scroll=\"y\":s.scroll=\"x\"),(s=n.copy(s)).id||i[s.view]||(s.id=s.view),s.id&amp;&amp;!s.css&amp;&amp;(s.css=s.id+\"_cell\");var u=new c.create(o,s,this,t);return c.configure&amp;&amp;c.configure(u),r(u,l),u.$id||(u.$id=s.id||t.uid()),u.$parent||\"object\"!=typeof o||(u.$parent=o),u.$config||(u.$config=s),i[u.$id]&amp;&amp;(u.$id=t.uid()),i[u.$id]=u,u}return{initUI:function(t,e){var i=\"cell\";return t.view?i=\"viewcell\":t.resizer?i=\"resizer\":t.rows||t.cols?i=\"layout\":t.views&amp;&amp;(i=\"multiview\"),a.call(this,i,null,t,e)},reset:function(){i={}},registerView:function(t,i,n){e[t]={create:i,configure:n}},createView:a,getView:function(t){return i[t]}}}}},function(t,e,i){var n=i(126),r=i(124),a=i(123),o=i(7),s=i(27),l=i(120),c=i(119),u=i(118),d=i(117),h=i(11),f=i(24),_=i(24),g=i(11),p=i(11),v=i(114),m=i(23),y=i(105),b=i(104),k=i(103),w=i(102),x=i(101),$=i(95),T=i(92);t.exports={init:function(t){function e(e,i){var n=i(t);n.onCreated&amp;&amp;n.onCreated(e),e.attachEvent(\"onReady\",function(){n.onInitialized&amp;&amp;n.onInitialized(e)}),e.attachEvent(\"onDestroy\",function(){n.onDestroyed&amp;&amp;n.onDestroyed(e)})}var i=n.createFactory(t);i.registerView(\"cell\",o),i.registerView(\"resizer\",u),i.registerView(\"scrollbar\",d),i.registerView(\"layout\",s,function(t){\"main\"===(t.$config?t.$config.id:null)&amp;&amp;e(t,T)}),i.registerView(\"viewcell\",c),i.registerView(\"multiview\",l),i.registerView(\"timeline\",h,function(t){\"timeline\"!==(t.$config?t.$config.id:null)&amp;&amp;\"task\"!=t.$config.bind||e(t,$)}),i.registerView(\"grid\",f,function(t){\"grid\"!==(t.$config?t.$config.id:null)&amp;&amp;\"task\"!=t.$config.bind||e(t,x)}),i.registerView(\"resourceGrid\",_),i.registerView(\"resourceTimeline\",g),i.registerView(\"resourceHistogram\",p);var S=a(t),C=v(t);return t.ext.inlineEditors=C,t.ext._inlineEditors=C,C.init(t),{factory:i,mouseEvents:r.init(t),layersApi:S.init(),render:{gridLine:w(t),taskBg:b(t),taskBar:m(t),taskSplitBar:y(t),link:k(t)},layersService:{getDataRender:function(e){return S.getDataRender(e,t)},createDataRender:function(e){return S.createDataRender(e,t)}}}}}},function(t,e,i){var n=i(0),r=i(1);t.exports=function(t){var e=\"data-dhxbox\",i=null;function a(t,e){var n=t.callback;g.hide(t.box),i=t.box=null,n&amp;&amp;n(e)}function o(t){if(i){var e=(t=t||event).which||event.keyCode,n=!1;if(p.keyboard){if(13==e||32==e){var o=t.target||t.srcElement;r.getClassName(o).indexOf(\"gantt_popup_button\")&gt;-1&amp;&amp;o.click?o.click():(a(i,!0),n=!0)}27==e&amp;&amp;(a(i,!1),n=!0)}return n?(t.preventDefault&amp;&amp;t.preventDefault(),!(t.cancelBubble=!0)):void 0}}function s(t){s.cover||(s.cover=document.createElement(\"div\"),s.cover.onkeydown=o,s.cover.className=\"dhx_modal_cover\",document.body.appendChild(s.cover)),s.cover.style.display=t?\"inline-block\":\"none\"}function l(e,i,n){var r=t._waiAria.messageButtonAttrString(e),a=i.toLowerCase().replace(/ /g,\"_\");return\"&lt;div \"+r+\" class='gantt_popup_button dhtmlx_popup_button \"+(\"gantt_\"+a+\"_button dhtmlx_\"+a+\"_button\")+\"' data-result='\"+n+\"' result='\"+n+\"' &gt;&lt;div&gt;\"+e+\"&lt;/div&gt;&lt;/div&gt;\"}function c(){for(var t=[].slice.apply(arguments,[0]),e=0;e&lt;t.length;e++)if(t[e])return t[e]}function u(r,u,d){var h=r.tagName?r:function(r,o,s){var u=document.createElement(\"div\"),d=n.uid();t._waiAria.messageModalAttr(u,d),u.className=\" gantt_modal_box dhtmlx_modal_box gantt-\"+r.type+\" dhtmlx-\"+r.type,u.setAttribute(e,1);var h=\"\";if(r.width&amp;&amp;(u.style.width=r.width),r.height&amp;&amp;(u.style.height=r.height),r.title&amp;&amp;(h+='&lt;div class=\"gantt_popup_title dhtmlx_popup_title\"&gt;'+r.title+\"&lt;/div&gt;\"),h+='&lt;div class=\"gantt_popup_text dhtmlx_popup_text\" id=\"'+d+'\"&gt;&lt;span&gt;'+(r.content?\"\":r.text)+'&lt;/span&gt;&lt;/div&gt;&lt;div  class=\"gantt_popup_controls dhtmlx_popup_controls\"&gt;',o&amp;&amp;(h+=l(c(r.ok,t.locale.labels.message_ok,\"OK\"),\"ok\",!0)),s&amp;&amp;(h+=l(c(r.cancel,t.locale.labels.message_cancel,\"Cancel\"),\"cancel\",!1)),r.buttons)for(var f=0;f&lt;r.buttons.length;f++){var _=r.buttons[f];h+=\"object\"==typeof _?l(_.label,_.css||\"gantt_\"+_.label.toLowerCase()+\"_button dhtmlx_\"+_.label.toLowerCase()+\"_button\",_.value||f):l(_,_,f)}if(h+=\"&lt;/div&gt;\",u.innerHTML=h,r.content){var g=r.content;\"string\"==typeof g&amp;&amp;(g=document.getElementById(g)),\"none\"==g.style.display&amp;&amp;(g.style.display=\"\"),u.childNodes[r.title?1:0].appendChild(g)}return u.onclick=function(t){var e=(t=t||event).target||t.srcElement;if(e.className||(e=e.parentNode),\"gantt_popup_button\"==e.className.split(\" \")[0]){var i=e.getAttribute(\"data-result\");a(r,i=\"true\"==i||\"false\"!=i&amp;&amp;i)}},r.box=u,(o||s)&amp;&amp;(i=r),u}(r,u,d);r.hidden||s(!0),document.body.appendChild(h);var f=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-h.offsetWidth)/2)),_=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-h.offsetHeight)/2));return\"top\"==r.position?h.style.top=\"-3px\":h.style.top=_+\"px\",h.style.left=f+\"px\",h.onkeydown=o,g.focus(h),r.hidden&amp;&amp;g.hide(h),t.callEvent(\"onMessagePopup\",[h]),h}function d(t){return u(t,!0,!1)}function h(t){return u(t,!0,!0)}function f(t){return u(t)}function _(t,e,i){return\"object\"!=typeof t&amp;&amp;(\"function\"==typeof e&amp;&amp;(i=e,e=\"\"),t={text:t,type:e,callback:i}),t}t.event(document,\"keydown\",o,!0);var g=function(){var t=_.apply(this,arguments);return t.type=t.type||\"alert\",f(t)};g.hide=function(i){for(;i&amp;&amp;i.getAttribute&amp;&amp;!i.getAttribute(e);)i=i.parentNode;i&amp;&amp;(i.parentNode.removeChild(i),s(!1),t.callEvent(\"onAfterMessagePopup\",[i]))},g.focus=function(t){setTimeout(function(){var e=r.getFocusableNodes(t);e.length&amp;&amp;e[0].focus&amp;&amp;e[0].focus()},1)};var p=function(e,i,r,a){switch((e=function(t,e,i,r){return\"object\"!=typeof t&amp;&amp;(t={text:t,type:e,expire:i,id:r}),t.id=t.id||n.uid(),t.expire=t.expire||p.expire,t}.apply(this,arguments)).type=e.type||\"info\",e.type.split(\"-\")[0]){case\"alert\":return d(e);case\"confirm\":return h(e);case\"modalbox\":return f(e);default:return function(e){p.area||(p.area=document.createElement(\"div\"),p.area.className=\"gantt_message_area dhtmlx_message_area\",p.area.style[p.position]=\"5px\",document.body.appendChild(p.area)),p.hide(e.id);var i=document.createElement(\"div\");return i.innerHTML=\"&lt;div&gt;\"+e.text+\"&lt;/div&gt;\",i.className=\"gantt-info dhtmlx-info gantt-\"+e.type+\" dhtmlx-\"+e.type,i.onclick=function(){p.hide(e.id),e=null},t._waiAria.messageInfoAttr(i),\"bottom\"==p.position&amp;&amp;p.area.firstChild?p.area.insertBefore(i,p.area.firstChild):p.area.appendChild(i),e.expire&gt;0&amp;&amp;(p.timers[e.id]=window.setTimeout(function(){p.hide(e.id)},e.expire)),p.pull[e.id]=i,i=null,e.id}(e)}};p.seed=(new Date).valueOf(),p.uid=n.uid,p.expire=4e3,p.keyboard=!0,p.position=\"top\",p.pull={},p.timers={},p.hideAll=function(){for(var t in p.pull)p.hide(t)},p.hide=function(t){var e=p.pull[t];e&amp;&amp;e.parentNode&amp;&amp;(window.setTimeout(function(){e.parentNode.removeChild(e),e=null},2e3),e.className+=\" hidden\",p.timers[t]&amp;&amp;window.clearTimeout(p.timers[t]),delete p.pull[t])};var v=[];return t.attachEvent(\"onMessagePopup\",function(t){v.push(t)}),t.attachEvent(\"onAfterMessagePopup\",function(t){for(var e=0;e&lt;v.length;e++)v[e]===t&amp;&amp;(v.splice(e,1),e--)}),t.attachEvent(\"onDestroy\",function(){s.cover&amp;&amp;s.cover.parentNode&amp;&amp;s.cover.parentNode.removeChild(s.cover);for(var t=0;t&lt;v.length;t++)v[t].parentNode&amp;&amp;v[t].parentNode.removeChild(v[t]);v=null,p.area&amp;&amp;p.area.parentNode&amp;&amp;p.area.parentNode.removeChild(p.area),p=null}),{alert:function(){var t=_.apply(this,arguments);return t.type=t.type||\"confirm\",d(t)},confirm:function(){var t=_.apply(this,arguments);return t.type=t.type||\"alert\",h(t)},message:p,modalbox:g}}},function(t,e,i){(function(t,e){!function(t,i){\"use strict\";if(!t.setImmediate){var n,r=1,a={},o=!1,s=t.document,l=Object.getPrototypeOf&amp;&amp;Object.getPrototypeOf(t);l=l&amp;&amp;l.setTimeout?l:t,\"[object process]\"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&amp;&amp;!t.importScripts){var e=!0,i=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage(\"\",\"*\"),t.onmessage=i,e}}()?function(){var e=\"setImmediate$\"+Math.random()+\"$\",i=function(i){i.source===t&amp;&amp;\"string\"==typeof i.data&amp;&amp;0===i.data.indexOf(e)&amp;&amp;u(+i.data.slice(e.length))};t.addEventListener?t.addEventListener(\"message\",i,!1):t.attachEvent(\"onmessage\",i),n=function(i){t.postMessage(e+i,\"*\")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},n=function(e){t.port2.postMessage(e)}}():s&amp;&amp;\"onreadystatechange\"in s.createElement(\"script\")?function(){var t=s.documentElement;n=function(e){var i=s.createElement(\"script\");i.onreadystatechange=function(){u(e),i.onreadystatechange=null,t.removeChild(i),i=null},t.appendChild(i)}}():n=function(t){setTimeout(u,0,t)},l.setImmediate=function(t){\"function\"!=typeof t&amp;&amp;(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),i=0;i&lt;e.length;i++)e[i]=arguments[i+1];var o={callback:t,args:e};return a[r]=o,n(r),r++},l.clearImmediate=c}function c(t){delete a[t]}function u(t){if(o)setTimeout(u,0,t);else{var e=a[t];if(e){o=!0;try{!function(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(i,n)}}(e)}finally{c(t),o=!1}}}}}(\"undefined\"==typeof self?void 0===t?this:t:self)}).call(this,i(12),i(28))},function(t,e,i){(function(t){var n=void 0!==t&amp;&amp;t||\"undefined\"!=typeof self&amp;&amp;self||window,r=Function.prototype.apply;function a(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new a(r.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new a(r.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&amp;&amp;t.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e&gt;=0&amp;&amp;(t._idleTimeoutId=setTimeout(function(){t._onTimeout&amp;&amp;t._onTimeout()},e))},i(129),e.setImmediate=\"undefined\"!=typeof self&amp;&amp;self.setImmediate||void 0!==t&amp;&amp;t.setImmediate||this&amp;&amp;this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&amp;&amp;self.clearImmediate||void 0!==t&amp;&amp;t.clearImmediate||this&amp;&amp;this.clearImmediate}).call(this,i(12))},function(t,e,i){(function(e,i,n){t.exports=function(){var t,r,a;return function t(e,i,n){function r(o,s){if(!i[o]){if(!e[o]){var l=\"function\"==typeof _dereq_&amp;&amp;_dereq_;if(!s&amp;&amp;l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=i[o]={exports:{}};e[o][0].call(u.exports,function(t){var i=e[o][1][t];return r(i||t)},u,u.exports,t,e,i,n)}return i[o].exports}for(var a=\"function\"==typeof _dereq_&amp;&amp;_dereq_,o=0;o&lt;n.length;o++)r(n[o]);return r}({1:[function(t,e,i){\"use strict\";e.exports=function(t){var e=t._SomePromiseArray;function i(t){var i=new e(t),n=i.promise();return i.setHowMany(1),i.setUnwrap(),i.init(),n}t.any=function(t){return i(t)},t.prototype.any=function(){return i(this)}}},{}],2:[function(t,i,n){\"use strict\";var r;try{throw new Error}catch(t){r=t}var a=t(\"./schedule\"),o=t(\"./queue\"),s=t(\"./util\");function l(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new o(16),this._normalQueue=new o(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=a}function c(t,e,i){this._lateQueue.push(t,e,i),this._queueTick()}function u(t,e,i){this._normalQueue.push(t,e,i),this._queueTick()}function d(t){this._normalQueue._pushOne(t),this._queueTick()}function h(t){for(;t.length()&gt;0;)f(t)}function f(t){var e=t.shift();if(\"function\"!=typeof e)e._settlePromises();else{var i=t.shift(),n=t.shift();e.call(i,n)}}l.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},l.prototype.hasCustomScheduler=function(){return this._customScheduler},l.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},l.prototype.disableTrampolineIfNecessary=function(){s.hasDevTools&amp;&amp;(this._trampolineEnabled=!1)},l.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},l.prototype.fatalError=function(t,i){i?(e.stderr.write(\"Fatal \"+(t instanceof Error?t.stack:t)+\"\\n\"),e.exit(2)):this.throwLater(t)},l.prototype.throwLater=function(t,e){if(1===arguments.length&amp;&amp;(e=t,t=function(){throw e}),\"undefined\"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error(\"No async scheduler available\\n\\n    See http://goo.gl/MqrFmX\\n\")}},s.hasDevTools?(l.prototype.invokeLater=function(t,e,i){this._trampolineEnabled?c.call(this,t,e,i):this._schedule(function(){setTimeout(function(){t.call(e,i)},100)})},l.prototype.invoke=function(t,e,i){this._trampolineEnabled?u.call(this,t,e,i):this._schedule(function(){t.call(e,i)})},l.prototype.settlePromises=function(t){this._trampolineEnabled?d.call(this,t):this._schedule(function(){t._settlePromises()})}):(l.prototype.invokeLater=c,l.prototype.invoke=u,l.prototype.settlePromises=d),l.prototype._drainQueues=function(){h(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,h(this._lateQueue)},l.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},l.prototype._reset=function(){this._isTickUsed=!1},i.exports=l,i.exports.firstLineError=r},{\"./queue\":26,\"./schedule\":29,\"./util\":36}],3:[function(t,e,i){\"use strict\";e.exports=function(t,e,i,n){var r=!1,a=function(t,e){this._reject(e)},o=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(a,a,null,this,t)},s=function(t,e){0==(50397184&amp;this._bitField)&amp;&amp;this._resolveCallback(e.target)},l=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(a){r||(r=!0,t.prototype._propagateFrom=n.propagateFromFunction(),t.prototype._boundValue=n.boundValueFunction());var c=i(a),u=new t(e);u._propagateFrom(this,1);var d=this._target();if(u._setBoundTo(c),c instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:d,bindingPromise:c};d._then(e,o,void 0,u,h),c._then(s,l,void 0,u,h),u._setOnCancel(c)}else u._resolveCallback(d);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&amp;this._bitField},t.prototype._isBound=function(){return 2097152==(2097152&amp;this._bitField)},t.bind=function(e,i){return t.resolve(i).bind(e)}}},{}],4:[function(t,e,i){\"use strict\";var n;\"undefined\"!=typeof Promise&amp;&amp;(n=Promise);var r=t(\"./promise\")();r.noConflict=function(){try{Promise===r&amp;&amp;(Promise=n)}catch(t){}return r},e.exports=r},{\"./promise\":22}],5:[function(t,e,i){\"use strict\";var n=Object.create;if(n){var r=n(null),a=n(null);r[\" size\"]=a[\" size\"]=0}e.exports=function(e){var i=t(\"./util\"),n=i.canEvaluate;function r(t){var n=this.pop(),r=function(t,n){var r;if(null!=t&amp;&amp;(r=t[n]),\"function\"!=typeof r){var a=\"Object \"+i.classString(t)+\" has no method '\"+i.toString(n)+\"'\";throw new e.TypeError(a)}return r}(t,n);return r.apply(t,this)}function a(t){return t[this]}function o(t){var e=+this;return e&lt;0&amp;&amp;(e=Math.max(0,e+t.length)),t[e]}i.isIdentifier,e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,i=\"number\"==typeof t;if(i)e=o;else if(n){var r=(void 0)(t);e=null!==r?r:a}else e=a;return this._then(e,void 0,void 0,t,void 0)}}},{\"./util\":36}],6:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r){var a=t(\"./util\"),o=a.tryCatch,s=a.errorObj,l=e._async;e.prototype.break=e.prototype.cancel=function(){if(!r.cancellation())return this._warn(\"cancellation is disabled\");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var i=t._cancellationParent;if(null==i||!i._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&amp;&amp;t._followee().cancel(),t._setWillBeCancelled(),e=t,t=i}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel&lt;=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&amp;&amp;(this._invokeOnCancel(),!0))},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&amp;&amp;this._cancel()},e.prototype._cancel=function(){this._isCancellable()&amp;&amp;(this._setCancelled(),l.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()&gt;0&amp;&amp;this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype._isCancellable=function(){return this.isPending()&amp;&amp;!this._isCancelled()},e.prototype.isCancellable=function(){return this.isPending()&amp;&amp;!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(a.isArray(t))for(var i=0;i&lt;t.length;++i)this._doInvokeOnCancel(t[i],e);else if(void 0!==t)if(\"function\"==typeof t){if(!e){var n=o(t).call(this._boundValue());n===s&amp;&amp;(this._attachExtraTrace(n.e),l.throwLater(n.e))}}else t._resultCancelled(this)},e.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),l.invoke(this._doInvokeOnCancel,this,t)},e.prototype._invokeInternalOnCancel=function(){this._isCancellable()&amp;&amp;(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},e.prototype._resultCancelled=function(){this.cancel()}}},{\"./util\":36}],7:[function(t,e,i){\"use strict\";e.exports=function(e){var i=t(\"./util\"),n=t(\"./es5\").keys,r=i.tryCatch,a=i.errorObj;return function(t,o,s){return function(l){var c=s._boundValue();t:for(var u=0;u&lt;t.length;++u){var d=t[u];if(d===Error||null!=d&amp;&amp;d.prototype instanceof Error){if(l instanceof d)return r(o).call(c,l)}else if(\"function\"==typeof d){var h=r(d).call(c,l);if(h===a)return h;if(h)return r(o).call(c,l)}else if(i.isObject(l)){for(var f=n(d),_=0;_&lt;f.length;++_){var g=f[_];if(d[g]!=l[g])continue t}return r(o).call(c,l)}}return e}}}},{\"./es5\":13,\"./util\":36}],8:[function(t,e,i){\"use strict\";e.exports=function(t){var e=!1,i=[];function n(){this._trace=new n.CapturedTrace(r())}function r(){var t=i.length-1;if(t&gt;=0)return i[t]}return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},n.prototype._pushContext=function(){void 0!==this._trace&amp;&amp;(this._trace._promiseCreated=null,i.push(this._trace))},n.prototype._popContext=function(){if(void 0!==this._trace){var t=i.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},n.CapturedTrace=null,n.create=function(){if(e)return new n},n.deactivateLongStackTraces=function(){},n.activateLongStackTraces=function(){var i=t.prototype._pushContext,a=t.prototype._popContext,o=t._peekContext,s=t.prototype._peekContext,l=t.prototype._promiseCreated;n.deactivateLongStackTraces=function(){t.prototype._pushContext=i,t.prototype._popContext=a,t._peekContext=o,t.prototype._peekContext=s,t.prototype._promiseCreated=l,e=!1},e=!0,t.prototype._pushContext=n.prototype._pushContext,t.prototype._popContext=n.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&amp;&amp;null==t._promiseCreated&amp;&amp;(t._promiseCreated=this)}},n}},{}],9:[function(t,i,n){\"use strict\";i.exports=function(i,n){var r,a,o,s=i._getDomain,l=i._async,c=t(\"./errors\").Warning,u=t(\"./util\"),d=t(\"./es5\"),h=u.canAttachTrace,f=/[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/,_=/\\((?:timers\\.js):\\d+:\\d+\\)/,g=/[\\/&lt;\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/,p=null,v=null,m=!1,y=!(0==u.env(\"BLUEBIRD_DEBUG\")),b=!(0==u.env(\"BLUEBIRD_WARNINGS\")||!y&amp;&amp;!u.env(\"BLUEBIRD_WARNINGS\")),k=!(0==u.env(\"BLUEBIRD_LONG_STACK_TRACES\")||!y&amp;&amp;!u.env(\"BLUEBIRD_LONG_STACK_TRACES\")),w=0!=u.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\")&amp;&amp;(b||!!u.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));i.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&amp;t._bitField|524288},i.prototype._ensurePossibleRejectionHandled=function(){if(0==(524288&amp;this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},i.prototype._notifyUnhandledRejectionIsHandled=function(){W(\"rejectionHandled\",r,void 0,this)},i.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},i.prototype._returnedNonUndefined=function(){return 0!=(268435456&amp;this._bitField)},i.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),W(\"unhandledRejection\",a,t,this)}},i.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},i.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&amp;this._bitField},i.prototype._isUnhandledRejectionNotified=function(){return(262144&amp;this._bitField)&gt;0},i.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},i.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&amp;this._bitField,this._isUnhandledRejectionNotified()&amp;&amp;(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},i.prototype._isRejectionUnhandled=function(){return(1048576&amp;this._bitField)&gt;0},i.prototype._warn=function(t,e,i){return F(t,e,i||this)},i.onPossiblyUnhandledRejection=function(t){var e=s();a=\"function\"==typeof t?null===e?t:u.domainBind(e,t):void 0},i.onUnhandledRejectionHandled=function(t){var e=s();r=\"function\"==typeof t?null===e?t:u.domainBind(e,t):void 0};var x=function(){};i.longStackTraces=function(){if(l.haveItemsQueued()&amp;&amp;!Z.longStackTraces)throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n    See http://goo.gl/MqrFmX\\n\");if(!Z.longStackTraces&amp;&amp;Y()){var t=i.prototype._captureStackTrace,e=i.prototype._attachExtraTrace,r=i.prototype._dereferenceTrace;Z.longStackTraces=!0,x=function(){if(l.haveItemsQueued()&amp;&amp;!Z.longStackTraces)throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n    See http://goo.gl/MqrFmX\\n\");i.prototype._captureStackTrace=t,i.prototype._attachExtraTrace=e,i.prototype._dereferenceTrace=r,n.deactivateLongStackTraces(),l.enableTrampoline(),Z.longStackTraces=!1},i.prototype._captureStackTrace=R,i.prototype._attachExtraTrace=H,i.prototype._dereferenceTrace=z,n.activateLongStackTraces(),l.disableTrampolineIfNecessary()}},i.hasLongStackTraces=function(){return Z.longStackTraces&amp;&amp;Y()};var $=function(){try{if(\"function\"==typeof CustomEvent){var t=new CustomEvent(\"CustomEvent\");return u.global.dispatchEvent(t),function(t,e){var i={detail:e,cancelable:!0};d.defineProperty(i,\"promise\",{value:e.promise}),d.defineProperty(i,\"reason\",{value:e.reason});var n=new CustomEvent(t.toLowerCase(),i);return!u.global.dispatchEvent(n)}}if(\"function\"==typeof Event){var t=new Event(\"CustomEvent\");return u.global.dispatchEvent(t),function(t,e){var i=new Event(t.toLowerCase(),{cancelable:!0});return i.detail=e,d.defineProperty(i,\"promise\",{value:e.promise}),d.defineProperty(i,\"reason\",{value:e.reason}),!u.global.dispatchEvent(i)}}var t=document.createEvent(\"CustomEvent\");return t.initCustomEvent(\"testingtheevent\",!1,!0,{}),u.global.dispatchEvent(t),function(t,e){var i=document.createEvent(\"CustomEvent\");return i.initCustomEvent(t.toLowerCase(),!1,!0,e),!u.global.dispatchEvent(i)}}catch(t){}return function(){return!1}}(),T=u.isNode?function(){return e.emit.apply(e,arguments)}:u.global?function(t){var e=\"on\"+t.toLowerCase(),i=u.global[e];return!!i&amp;&amp;(i.apply(u.global,[].slice.call(arguments,1)),!0)}:function(){return!1};function S(t,e){return{promise:e}}var C={promiseCreated:S,promiseFulfilled:S,promiseRejected:S,promiseResolved:S,promiseCancelled:S,promiseChained:function(t,e,i){return{promise:e,child:i}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,i){return{reason:e,promise:i}},rejectionHandled:S},E=function(t){var e=!1;try{e=T.apply(null,arguments)}catch(t){l.throwLater(t),e=!0}var i=!1;try{i=$(t,C[t].apply(null,arguments))}catch(t){l.throwLater(t),i=!0}return i||e};function D(){return!1}function I(t,e,i){var n=this;try{t(e,i,function(t){if(\"function\"!=typeof t)throw new TypeError(\"onCancel must be a function, got: \"+u.toString(t));n._attachCancellationCallback(t)})}catch(t){return t}}function A(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?u.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function P(){return this._onCancelField}function O(t){this._onCancelField=t}function M(){this._cancellationParent=void 0,this._onCancelField=void 0}function L(t,e){if(0!=(1&amp;e)){this._cancellationParent=t;var i=t._branchesRemainingToCancel;void 0===i&amp;&amp;(i=0),t._branchesRemainingToCancel=i+1}0!=(2&amp;e)&amp;&amp;t._isBound()&amp;&amp;this._setBoundTo(t._boundTo)}i.config=function(t){if(\"longStackTraces\"in(t=Object(t))&amp;&amp;(t.longStackTraces?i.longStackTraces():!t.longStackTraces&amp;&amp;i.hasLongStackTraces()&amp;&amp;x()),\"warnings\"in t){var e=t.warnings;Z.warnings=!!e,w=Z.warnings,u.isObject(e)&amp;&amp;\"wForgottenReturn\"in e&amp;&amp;(w=!!e.wForgottenReturn)}if(\"cancellation\"in t&amp;&amp;t.cancellation&amp;&amp;!Z.cancellation){if(l.haveItemsQueued())throw new Error(\"cannot enable cancellation after promises are in use\");i.prototype._clearCancellationData=M,i.prototype._propagateFrom=L,i.prototype._onCancel=P,i.prototype._setOnCancel=O,i.prototype._attachCancellationCallback=A,i.prototype._execute=I,N=L,Z.cancellation=!0}return\"monitoring\"in t&amp;&amp;(t.monitoring&amp;&amp;!Z.monitoring?(Z.monitoring=!0,i.prototype._fireEvent=E):!t.monitoring&amp;&amp;Z.monitoring&amp;&amp;(Z.monitoring=!1,i.prototype._fireEvent=D)),i},i.prototype._fireEvent=D,i.prototype._execute=function(t,e,i){try{t(e,i)}catch(t){return t}},i.prototype._onCancel=function(){},i.prototype._setOnCancel=function(t){},i.prototype._attachCancellationCallback=function(t){},i.prototype._captureStackTrace=function(){},i.prototype._attachExtraTrace=function(){},i.prototype._dereferenceTrace=function(){},i.prototype._clearCancellationData=function(){},i.prototype._propagateFrom=function(t,e){};var N=function(t,e){0!=(2&amp;e)&amp;&amp;t._isBound()&amp;&amp;this._setBoundTo(t._boundTo)};function j(){var t=this._boundTo;return void 0!==t&amp;&amp;t instanceof i?t.isFulfilled()?t.value():void 0:t}function R(){this._trace=new K(this._peekContext())}function H(t,e){if(h(t)){var i=this._trace;if(void 0!==i&amp;&amp;e&amp;&amp;(i=i._parent),void 0!==i)i.attachExtraTrace(t);else if(!t.__stackCleaned__){var n=V(t);u.notEnumerableProp(t,\"stack\",n.message+\"\\n\"+n.stack.join(\"\\n\")),u.notEnumerableProp(t,\"__stackCleaned__\",!0)}}}function z(){this._trace=void 0}function F(t,e,n){if(Z.warnings){var r,a=new c(t);if(e)n._attachExtraTrace(a);else if(Z.longStackTraces&amp;&amp;(r=i._peekContext()))r.attachExtraTrace(a);else{var o=V(a);a.stack=o.message+\"\\n\"+o.stack.join(\"\\n\")}E(\"warning\",a)||U(a,\"\",!0)}}function B(t){for(var e=[],i=0;i&lt;t.length;++i){var n=t[i],r=\"    (No stack trace)\"===n||p.test(n),a=r&amp;&amp;q(n);r&amp;&amp;!a&amp;&amp;(m&amp;&amp;\" \"!==n.charAt(0)&amp;&amp;(n=\"    \"+n),e.push(n))}return e}function V(t){var e=t.stack,i=t.toString();return e=\"string\"==typeof e&amp;&amp;e.length&gt;0?function(t){for(var e=t.stack.replace(/\\s+$/g,\"\").split(\"\\n\"),i=0;i&lt;e.length;++i){var n=e[i];if(\"    (No stack trace)\"===n||p.test(n))break}return i&gt;0&amp;&amp;\"SyntaxError\"!=t.name&amp;&amp;(e=e.slice(i)),e}(t):[\"    (No stack trace)\"],{message:i,stack:\"SyntaxError\"==t.name?e:B(e)}}function U(t,e,i){if(\"undefined\"!=typeof console){var n;if(u.isObject(t)){var r=t.stack;n=e+v(r,t)}else n=e+String(t);\"function\"==typeof o?o(n,i):\"function\"!=typeof console.log&amp;&amp;\"object\"!=typeof console.log||console.log(n)}}function W(t,e,i,n){var r=!1;try{\"function\"==typeof e&amp;&amp;(r=!0,\"rejectionHandled\"===t?e(n):e(i,n))}catch(t){l.throwLater(t)}\"unhandledRejection\"===t?E(t,i,n)||r||U(i,\"Unhandled rejection \"):E(t,n)}function G(t){var e;if(\"function\"==typeof t)e=\"[function \"+(t.name||\"anonymous\")+\"]\";else{if(e=t&amp;&amp;\"function\"==typeof t.toString?t.toString():u.toString(t),/\\[object [a-zA-Z0-9$_]+\\]/.test(e))try{var i=JSON.stringify(t);e=i}catch(t){}0===e.length&amp;&amp;(e=\"(empty array)\")}return\"(&lt;\"+function(t){return t.length&lt;41?t:t.substr(0,38)+\"...\"}(e)+\"&gt;, no stack trace)\"}function Y(){return\"function\"==typeof Q}var q=function(){return!1},X=/[\\/&lt;\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;function J(t){var e=t.match(X);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function K(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);Q(this,K),e&gt;32&amp;&amp;this.uncycle()}u.inherits(K,Error),n.CapturedTrace=K,K.prototype.uncycle=function(){var t=this._length;if(!(t&lt;2)){for(var e=[],i={},n=0,r=this;void 0!==r;++n)e.push(r),r=r._parent;for(var n=(t=this._length=n)-1;n&gt;=0;--n){var a=e[n].stack;void 0===i[a]&amp;&amp;(i[a]=n)}for(var n=0;n&lt;t;++n){var o=e[n].stack,s=i[o];if(void 0!==s&amp;&amp;s!==n){s&gt;0&amp;&amp;(e[s-1]._parent=void 0,e[s-1]._length=1),e[n]._parent=void 0,e[n]._length=1;var l=n&gt;0?e[n-1]:this;s&lt;t-1?(l._parent=e[s+1],l._parent.uncycle(),l._length=l._parent._length+1):(l._parent=void 0,l._length=1);for(var c=l._length+1,u=n-2;u&gt;=0;--u)e[u]._length=c,c++;return}}}},K.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=V(t),i=e.message,n=[e.stack],r=this;void 0!==r;)n.push(B(r.stack.split(\"\\n\"))),r=r._parent;!function(t){for(var e=t[0],i=1;i&lt;t.length;++i){for(var n=t[i],r=e.length-1,a=e[r],o=-1,s=n.length-1;s&gt;=0;--s)if(n[s]===a){o=s;break}for(var s=o;s&gt;=0;--s){var l=n[s];if(e[r]!==l)break;e.pop(),r--}e=n}}(n),function(t){for(var e=0;e&lt;t.length;++e)(0===t[e].length||e+1&lt;t.length&amp;&amp;t[e][0]===t[e+1][0])&amp;&amp;(t.splice(e,1),e--)}(n),u.notEnumerableProp(t,\"stack\",function(t,e){for(var i=0;i&lt;e.length-1;++i)e[i].push(\"From previous event:\"),e[i]=e[i].join(\"\\n\");return i&lt;e.length&amp;&amp;(e[i]=e[i].join(\"\\n\")),t+\"\\n\"+e.join(\"\\n\")}(i,n)),u.notEnumerableProp(t,\"__stackCleaned__\",!0)}};var Q=function(){var t=/^\\s*at\\s*/,e=function(t,e){return\"string\"==typeof t?t:void 0!==e.name&amp;&amp;void 0!==e.message?e.toString():G(e)};if(\"number\"==typeof Error.stackTraceLimit&amp;&amp;\"function\"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,p=t,v=e;var i=Error.captureStackTrace;return q=function(t){return f.test(t)},function(t,e){Error.stackTraceLimit+=6,i(t,e),Error.stackTraceLimit-=6}}var n,r=new Error;if(\"string\"==typeof r.stack&amp;&amp;r.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\")&gt;=0)return p=/@/,v=e,m=!0,function(t){t.stack=(new Error).stack};try{throw new Error}catch(t){n=\"stack\"in t}return\"stack\"in r||!n||\"number\"!=typeof Error.stackTraceLimit?(v=function(t,e){return\"string\"==typeof t?t:\"object\"!=typeof e&amp;&amp;\"function\"!=typeof e||void 0===e.name||void 0===e.message?G(e):e.toString()},null):(p=t,v=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}();\"undefined\"!=typeof console&amp;&amp;void 0!==console.warn&amp;&amp;(o=function(t){console.warn(t)},u.isNode&amp;&amp;e.stderr.isTTY?o=function(t,e){var i=e?\"[33m\":\"[31m\";console.warn(i+t+\"[0m\\n\")}:u.isNode||\"string\"!=typeof(new Error).stack||(o=function(t,e){console.warn(\"%c\"+t,e?\"color: darkorange\":\"color: red\")}));var Z={warnings:b,longStackTraces:!1,cancellation:!1,monitoring:!1};return k&amp;&amp;i.longStackTraces(),{longStackTraces:function(){return Z.longStackTraces},warnings:function(){return Z.warnings},cancellation:function(){return Z.cancellation},monitoring:function(){return Z.monitoring},propagateFromFunction:function(){return N},boundValueFunction:function(){return j},checkForgottenReturns:function(t,e,i,n,r){if(void 0===t&amp;&amp;null!==e&amp;&amp;w){if(void 0!==r&amp;&amp;r._returnedNonUndefined())return;if(0==(65535&amp;n._bitField))return;i&amp;&amp;(i+=\" \");var a=\"\",o=\"\";if(e._trace){for(var s=e._trace.stack.split(\"\\n\"),l=B(s),c=l.length-1;c&gt;=0;--c){var u=l[c];if(!_.test(u)){var d=u.match(g);d&amp;&amp;(a=\"at \"+d[1]+\":\"+d[2]+\":\"+d[3]+\" \");break}}if(l.length&gt;0)for(var h=l[0],c=0;c&lt;s.length;++c)if(s[c]===h){c&gt;0&amp;&amp;(o=\"\\n\"+s[c-1]);break}}var f=\"a promise was created in a \"+i+\"handler \"+a+\"but was not returned from it, see http://goo.gl/rRqMUw\"+o;n._warn(f,!0,e)}},setBounds:function(t,e){if(Y()){for(var i,n,r=t.stack.split(\"\\n\"),a=e.stack.split(\"\\n\"),o=-1,s=-1,l=0;l&lt;r.length;++l){var c=J(r[l]);if(c){i=c.fileName,o=c.line;break}}for(var l=0;l&lt;a.length;++l){var c=J(a[l]);if(c){n=c.fileName,s=c.line;break}}o&lt;0||s&lt;0||!i||!n||i!==n||o&gt;=s||(q=function(t){if(f.test(t))return!0;var e=J(t);return!!(e&amp;&amp;e.fileName===i&amp;&amp;o&lt;=e.line&amp;&amp;e.line&lt;=s)})}},warn:F,deprecated:function(t,e){var i=t+\" is deprecated and will be removed in a future version.\";return e&amp;&amp;(i+=\" Use \"+e+\" instead.\"),F(i)},CapturedTrace:K,fireDomEvent:$,fireGlobalEvent:T}}},{\"./errors\":12,\"./es5\":13,\"./util\":36}],10:[function(t,e,i){\"use strict\";e.exports=function(t){function e(){return this.value}function i(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(i){return i instanceof t&amp;&amp;i.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:i},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(i,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length&lt;=1)return this._then(void 0,i,void 0,{reason:t},void 0);var e=arguments[1];return this.caught(t,function(){throw e})},t.prototype.catchReturn=function(i){if(arguments.length&lt;=1)return i instanceof t&amp;&amp;i.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:i},void 0);var n=arguments[1];return n instanceof t&amp;&amp;n.suppressUnhandledRejections(),this.caught(i,function(){return n})}}},{}],11:[function(t,e,i){\"use strict\";e.exports=function(t,e){var i=t.reduce,n=t.all;function r(){return n(this)}t.prototype.each=function(t){return i(this,t,e,0)._then(r,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,n){return i(t,n,e,0)._then(r,void 0,void 0,t,void 0)},t.mapSeries=function(t,n){return i(t,n,e,e)}}},{}],12:[function(t,e,i){\"use strict\";var n,r,a=t(\"./es5\"),o=a.freeze,s=t(\"./util\"),l=s.inherits,c=s.notEnumerableProp;function u(t,e){function i(n){if(!(this instanceof i))return new i(n);c(this,\"message\",\"string\"==typeof n?n:e),c(this,\"name\",t),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this)}return l(i,Error),i}var d=u(\"Warning\",\"warning\"),h=u(\"CancellationError\",\"cancellation error\"),f=u(\"TimeoutError\",\"timeout error\"),_=u(\"AggregateError\",\"aggregate error\");try{n=TypeError,r=RangeError}catch(t){n=u(\"TypeError\",\"type error\"),r=u(\"RangeError\",\"range error\")}for(var g=\"join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse\".split(\" \"),p=0;p&lt;g.length;++p)\"function\"==typeof Array.prototype[g[p]]&amp;&amp;(_.prototype[g[p]]=Array.prototype[g[p]]);a.defineProperty(_.prototype,\"length\",{value:0,configurable:!1,writable:!0,enumerable:!0}),_.prototype.isOperational=!0;var v=0;function m(t){if(!(this instanceof m))return new m(t);c(this,\"name\",\"OperationalError\"),c(this,\"message\",t),this.cause=t,this.isOperational=!0,t instanceof Error?(c(this,\"message\",t.message),c(this,\"stack\",t.stack)):Error.captureStackTrace&amp;&amp;Error.captureStackTrace(this,this.constructor)}_.prototype.toString=function(){var t=Array(4*v+1).join(\" \"),e=\"\\n\"+t+\"AggregateError of:\\n\";v++,t=Array(4*v+1).join(\" \");for(var i=0;i&lt;this.length;++i){for(var n=this[i]===this?\"[Circular AggregateError]\":this[i]+\"\",r=n.split(\"\\n\"),a=0;a&lt;r.length;++a)r[a]=t+r[a];n=r.join(\"\\n\"),e+=n+\"\\n\"}return v--,e},l(m,Error);var y=Error.__BluebirdErrorTypes__;y||(y=o({CancellationError:h,TimeoutError:f,OperationalError:m,RejectionError:m,AggregateError:_}),a.defineProperty(Error,\"__BluebirdErrorTypes__\",{value:y,writable:!1,enumerable:!1,configurable:!1})),e.exports={Error:Error,TypeError:n,RangeError:r,CancellationError:y.CancellationError,OperationalError:y.OperationalError,TimeoutError:y.TimeoutError,AggregateError:y.AggregateError,Warning:d}},{\"./es5\":13,\"./util\":36}],13:[function(t,e,i){var n=function(){\"use strict\";return void 0===this}();if(n)e.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:n,propertyIsWritable:function(t,e){var i=Object.getOwnPropertyDescriptor(t,e);return!(i&amp;&amp;!i.writable&amp;&amp;!i.set)}};else{var r={}.hasOwnProperty,a={}.toString,o={}.constructor.prototype,s=function(t){var e=[];for(var i in t)r.call(t,i)&amp;&amp;e.push(i);return e};e.exports={isArray:function(t){try{return\"[object Array]\"===a.call(t)}catch(t){return!1}},keys:s,names:s,defineProperty:function(t,e,i){return t[e]=i.value,t},getDescriptor:function(t,e){return{value:t[e]}},freeze:function(t){return t},getPrototypeOf:function(t){try{return Object(t).constructor.prototype}catch(t){return o}},isES5:n,propertyIsWritable:function(){return!0}}}},{}],14:[function(t,e,i){\"use strict\";e.exports=function(t,e){var i=t.map;t.prototype.filter=function(t,n){return i(this,t,n,e)},t.filter=function(t,n,r){return i(t,n,r,e)}}},{}],15:[function(t,e,i){\"use strict\";e.exports=function(e,i,n){var r=t(\"./util\"),a=e.CancellationError,o=r.errorObj,s=t(\"./catch_filter\")(n);function l(t,e,i){this.promise=t,this.type=e,this.handler=i,this.called=!1,this.cancelPromise=null}function c(t){this.finallyHandler=t}function u(t,e){return null!=t.cancelPromise&amp;&amp;(arguments.length&gt;1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function d(){return f.call(this,this.promise._target()._settledValue())}function h(t){if(!u(this,t))return o.e=t,o}function f(t){var r=this.promise,s=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?s.call(r._boundValue()):s.call(r._boundValue(),t);if(l===n)return l;if(void 0!==l){r._setReturnedNonUndefined();var f=i(l,r);if(f instanceof e){if(null!=this.cancelPromise){if(f._isCancelled()){var _=new a(\"late cancellation observer\");return r._attachExtraTrace(_),o.e=_,o}f.isPending()&amp;&amp;f._attachCancellationCallback(new c(this))}return f._then(d,h,void 0,this,void 0)}}}return r.isRejected()?(u(this),o.e=t,o):(u(this),t)}return l.prototype.isFinallyHandler=function(){return 0===this.type},c.prototype._resultCancelled=function(){u(this.finallyHandler)},e.prototype._passThrough=function(t,e,i,n){return\"function\"!=typeof t?this.then():this._then(i,n,void 0,new l(this,e,t),void 0)},e.prototype.lastly=e.prototype.finally=function(t){return this._passThrough(t,0,f,f)},e.prototype.tap=function(t){return this._passThrough(t,1,f)},e.prototype.tapCatch=function(t){var i=arguments.length;if(1===i)return this._passThrough(t,1,void 0,f);var n,a=new Array(i-1),o=0;for(n=0;n&lt;i-1;++n){var l=arguments[n];if(!r.isObject(l))return e.reject(new TypeError(\"tapCatch statement predicate: expecting an object but got \"+r.classString(l)));a[o++]=l}a.length=o;var c=arguments[n];return this._passThrough(s(a,c,this),1,void 0,f)},l}},{\"./catch_filter\":7,\"./util\":36}],16:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a,o){var s=t(\"./errors\"),l=s.TypeError,c=t(\"./util\"),u=c.errorObj,d=c.tryCatch,h=[];function f(t,i,r,a){if(o.cancellation()){var s=new e(n),l=this._finallyPromise=new e(n);this._promise=s.lastly(function(){return l}),s._captureStackTrace(),s._setOnCancel(this)}else{var c=this._promise=new e(n);c._captureStackTrace()}this._stack=a,this._generatorFunction=t,this._receiver=i,this._generator=void 0,this._yieldHandlers=\"function\"==typeof r?[r].concat(h):h,this._yieldedPromise=null,this._cancellationPhase=!1}c.inherits(f,a),f.prototype._isResolved=function(){return null===this._promise},f.prototype._cleanup=function(){this._promise=this._generator=null,o.cancellation()&amp;&amp;null!==this._finallyPromise&amp;&amp;(this._finallyPromise._fulfill(),this._finallyPromise=null)},f.prototype._promiseCancelled=function(){if(!this._isResolved()){var t,i=void 0!==this._generator.return;if(i)this._promise._pushContext(),t=d(this._generator.return).call(this._generator,void 0),this._promise._popContext();else{var n=new e.CancellationError(\"generator .return() sentinel\");e.coroutine.returnSentinel=n,this._promise._attachExtraTrace(n),this._promise._pushContext(),t=d(this._generator.throw).call(this._generator,n),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(t)}},f.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=d(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},f.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=d(this._generator.throw).call(this._generator,t);this._promise._popContext(),this._continue(e)},f.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof e){var t=this._yieldedPromise;this._yieldedPromise=null,t.cancel()}},f.prototype.promise=function(){return this._promise},f.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},f.prototype._continue=function(t){var i=this._promise;if(t===u)return this._cleanup(),this._cancellationPhase?i.cancel():i._rejectCallback(t.e,!1);var n=t.value;if(!0===t.done)return this._cleanup(),this._cancellationPhase?i.cancel():i._resolveCallback(n);var a=r(n,this._promise);if(a instanceof e||null!==(a=function(t,i,n){for(var a=0;a&lt;i.length;++a){n._pushContext();var o=d(i[a])(t);if(n._popContext(),o===u){n._pushContext();var s=e.reject(u.e);return n._popContext(),s}var l=r(o,n);if(l instanceof e)return l}return null}(a,this._yieldHandlers,this._promise))){var o=(a=a._target())._bitField;0==(50397184&amp;o)?(this._yieldedPromise=a,a._proxy(this,null)):0!=(33554432&amp;o)?e._async.invoke(this._promiseFulfilled,this,a._value()):0!=(16777216&amp;o)?e._async.invoke(this._promiseRejected,this,a._reason()):this._promiseCancelled()}else this._promiseRejected(new l(\"A value %s was yielded that could not be treated as a promise\\n\\n    See http://goo.gl/MqrFmX\\n\\n\".replace(\"%s\",String(n))+\"From coroutine:\\n\"+this._stack.split(\"\\n\").slice(1,-7).join(\"\\n\")))},e.coroutine=function(t,e){if(\"function\"!=typeof t)throw new l(\"generatorFunction must be a function\\n\\n    See http://goo.gl/MqrFmX\\n\");var i=Object(e).yieldHandler,n=f,r=(new Error).stack;return function(){var e=t.apply(this,arguments),a=new n(void 0,void 0,i,r),o=a.promise();return a._generator=e,a._promiseFulfilled(void 0),o}},e.coroutine.addYieldHandler=function(t){if(\"function\"!=typeof t)throw new l(\"expecting a function but got \"+c.classString(t));h.push(t)},e.spawn=function(t){if(o.deprecated(\"Promise.spawn()\",\"Promise.coroutine()\"),\"function\"!=typeof t)return i(\"generatorFunction must be a function\\n\\n    See http://goo.gl/MqrFmX\\n\");var n=new f(t,this),r=n.promise();return n._run(e.spawn),r}}},{\"./errors\":12,\"./util\":36}],17:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a,o){var s=t(\"./util\");s.canEvaluate,s.tryCatch,s.errorObj,e.join=function(){var t,e=arguments.length-1;e&gt;0&amp;&amp;\"function\"==typeof arguments[e]&amp;&amp;(t=arguments[e]);var n=[].slice.call(arguments);t&amp;&amp;n.pop();var r=new i(n).promise();return void 0!==t?r.spread(t):r}}},{\"./util\":36}],18:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a,o){var s=e._getDomain,l=t(\"./util\"),c=l.tryCatch,u=l.errorObj,d=e._async;function h(t,e,i,n){this.constructor$(t),this._promise._captureStackTrace();var r=s();this._callback=null===r?e:l.domainBind(r,e),this._preservedValues=n===a?new Array(this.length()):null,this._limit=i,this._inFlight=0,this._queue=[],d.invoke(this._asyncInit,this,void 0)}function f(t,i,r,a){if(\"function\"!=typeof i)return n(\"expecting a function but got \"+l.classString(i));var o=0;if(void 0!==r){if(\"object\"!=typeof r||null===r)return e.reject(new TypeError(\"options argument must be an object but it is \"+l.classString(r)));if(\"number\"!=typeof r.concurrency)return e.reject(new TypeError(\"'concurrency' must be a number but it is \"+l.classString(r.concurrency)));o=r.concurrency}return o=\"number\"==typeof o&amp;&amp;isFinite(o)&amp;&amp;o&gt;=1?o:0,new h(t,i,o,a).promise()}l.inherits(h,i),h.prototype._asyncInit=function(){this._init$(void 0,-2)},h.prototype._init=function(){},h.prototype._promiseFulfilled=function(t,i){var n=this._values,a=this.length(),s=this._preservedValues,l=this._limit;if(i&lt;0){if(n[i=-1*i-1]=t,l&gt;=1&amp;&amp;(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(l&gt;=1&amp;&amp;this._inFlight&gt;=l)return n[i]=t,this._queue.push(i),!1;null!==s&amp;&amp;(s[i]=t);var d=this._promise,h=this._callback,f=d._boundValue();d._pushContext();var _=c(h).call(f,t,i,a),g=d._popContext();if(o.checkForgottenReturns(_,g,null!==s?\"Promise.filter\":\"Promise.map\",d),_===u)return this._reject(_.e),!0;var p=r(_,this._promise);if(p instanceof e){var v=(p=p._target())._bitField;if(0==(50397184&amp;v))return l&gt;=1&amp;&amp;this._inFlight++,n[i]=p,p._proxy(this,-1*(i+1)),!1;if(0==(33554432&amp;v))return 0!=(16777216&amp;v)?(this._reject(p._reason()),!0):(this._cancel(),!0);_=p._value()}n[i]=_}var m=++this._totalResolved;return m&gt;=a&amp;&amp;(null!==s?this._filter(n,s):this._resolve(n),!0)},h.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,i=this._values;t.length&gt;0&amp;&amp;this._inFlight&lt;e;){if(this._isResolved())return;var n=t.pop();this._promiseFulfilled(i[n],n)}},h.prototype._filter=function(t,e){for(var i=e.length,n=new Array(i),r=0,a=0;a&lt;i;++a)t[a]&amp;&amp;(n[r++]=e[a]);n.length=r,this._resolve(n)},h.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return f(this,t,e,null)},e.map=function(t,e,i,n){return f(t,e,i,n)}}},{\"./util\":36}],19:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a){var o=t(\"./util\"),s=o.tryCatch;e.method=function(t){if(\"function\"!=typeof t)throw new e.TypeError(\"expecting a function but got \"+o.classString(t));return function(){var n=new e(i);n._captureStackTrace(),n._pushContext();var r=s(t).apply(this,arguments),o=n._popContext();return a.checkForgottenReturns(r,o,\"Promise.method\",n),n._resolveFromSyncValue(r),n}},e.attempt=e.try=function(t){if(\"function\"!=typeof t)return r(\"expecting a function but got \"+o.classString(t));var n,l=new e(i);if(l._captureStackTrace(),l._pushContext(),arguments.length&gt;1){a.deprecated(\"calling Promise.try with more than 1 argument\");var c=arguments[1],u=arguments[2];n=o.isArray(c)?s(t).apply(u,c):s(t).call(u,c)}else n=s(t)();var d=l._popContext();return a.checkForgottenReturns(n,d,\"Promise.try\",l),l._resolveFromSyncValue(n),l},e.prototype._resolveFromSyncValue=function(t){t===o.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{\"./util\":36}],20:[function(t,e,i){\"use strict\";var n=t(\"./util\"),r=n.maybeWrapAsError,a=t(\"./errors\"),o=a.OperationalError,s=t(\"./es5\"),l=/^(?:name|message|stack|cause)$/;function c(t){var e;if(function(t){return t instanceof Error&amp;&amp;s.getPrototypeOf(t)===Error.prototype}(t)){(e=new o(t)).name=t.name,e.message=t.message,e.stack=t.stack;for(var i=s.keys(t),r=0;r&lt;i.length;++r){var a=i[r];l.test(a)||(e[a]=t[a])}return e}return n.markAsOriginatingFromRejection(t),t}e.exports=function(t,e){return function(i,n){if(null!==t){if(i){var a=c(r(i));t._attachExtraTrace(a),t._reject(a)}else if(e){var o=[].slice.call(arguments,1);t._fulfill(o)}else t._fulfill(n);t=null}}}},{\"./errors\":12,\"./es5\":13,\"./util\":36}],21:[function(t,e,i){\"use strict\";e.exports=function(e){var i=t(\"./util\"),n=e._async,r=i.tryCatch,a=i.errorObj;function o(t,e){if(!i.isArray(t))return s.call(this,t,e);var o=r(e).apply(this._boundValue(),[null].concat(t));o===a&amp;&amp;n.throwLater(o.e)}function s(t,e){var i=this._boundValue(),o=void 0===t?r(e).call(i,null):r(e).call(i,null,t);o===a&amp;&amp;n.throwLater(o.e)}function l(t,e){if(!t){var i=new Error(t+\"\");i.cause=t,t=i}var o=r(e).call(this._boundValue(),t);o===a&amp;&amp;n.throwLater(o.e)}e.prototype.asCallback=e.prototype.nodeify=function(t,e){if(\"function\"==typeof t){var i=s;void 0!==e&amp;&amp;Object(e).spread&amp;&amp;(i=o),this._then(i,l,void 0,this,t)}return this}}},{\"./util\":36}],22:[function(t,i,n){\"use strict\";i.exports=function(){var n=function(){return new _(\"circular promise resolution chain\\n\\n    See http://goo.gl/MqrFmX\\n\")},r=function(){return new D.PromiseInspection(this._target())},a=function(t){return D.reject(new _(t))};function o(){}var s,l={},c=t(\"./util\");s=c.isNode?function(){var t=e.domain;return void 0===t&amp;&amp;(t=null),t}:function(){return null},c.notEnumerableProp(D,\"_getDomain\",s);var u=t(\"./es5\"),d=t(\"./async\"),h=new d;u.defineProperty(D,\"_async\",{value:h});var f=t(\"./errors\"),_=D.TypeError=f.TypeError;D.RangeError=f.RangeError;var g=D.CancellationError=f.CancellationError;D.TimeoutError=f.TimeoutError,D.OperationalError=f.OperationalError,D.RejectionError=f.OperationalError,D.AggregateError=f.AggregateError;var p=function(){},v={},m={},y=t(\"./thenables\")(D,p),b=t(\"./promise_array\")(D,p,y,a,o),k=t(\"./context\")(D),w=k.create,x=t(\"./debuggability\")(D,k),$=(x.CapturedTrace,t(\"./finally\")(D,y,m)),T=t(\"./catch_filter\")(m),S=t(\"./nodeback\"),C=c.errorObj,E=c.tryCatch;function D(t){t!==p&amp;&amp;function(t,e){if(null==t||t.constructor!==D)throw new _(\"the promise constructor cannot be invoked directly\\n\\n    See http://goo.gl/MqrFmX\\n\");if(\"function\"!=typeof e)throw new _(\"expecting a function but got \"+c.classString(e))}(this,t),this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(t),this._promiseCreated(),this._fireEvent(\"promiseCreated\",this)}function I(t){this.promise._resolveCallback(t)}function A(t){this.promise._rejectCallback(t,!1)}function P(t){var e=new D(p);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}return D.prototype.toString=function(){return\"[object Promise]\"},D.prototype.caught=D.prototype.catch=function(t){var e=arguments.length;if(e&gt;1){var i,n=new Array(e-1),r=0;for(i=0;i&lt;e-1;++i){var o=arguments[i];if(!c.isObject(o))return a(\"Catch statement predicate: expecting an object but got \"+c.classString(o));n[r++]=o}return n.length=r,t=arguments[i],this.then(void 0,T(n,t,this))}return this.then(void 0,t)},D.prototype.reflect=function(){return this._then(r,r,void 0,this,void 0)},D.prototype.then=function(t,e){if(x.warnings()&amp;&amp;arguments.length&gt;0&amp;&amp;\"function\"!=typeof t&amp;&amp;\"function\"!=typeof e){var i=\".then() only accepts functions but was passed: \"+c.classString(t);arguments.length&gt;1&amp;&amp;(i+=\", \"+c.classString(e)),this._warn(i)}return this._then(t,e,void 0,void 0,void 0)},D.prototype.done=function(t,e){var i=this._then(t,e,void 0,void 0,void 0);i._setIsFinal()},D.prototype.spread=function(t){return\"function\"!=typeof t?a(\"expecting a function but got \"+c.classString(t)):this.all()._then(t,void 0,void 0,v,void 0)},D.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&amp;&amp;(t.rejectionReason=this.reason(),t.isRejected=!0),t},D.prototype.all=function(){return arguments.length&gt;0&amp;&amp;this._warn(\".all() was passed arguments but it does not take any\"),new b(this).promise()},D.prototype.error=function(t){return this.caught(c.originatesFromRejection,t)},D.getNewLibraryCopy=i.exports,D.is=function(t){return t instanceof D},D.fromNode=D.fromCallback=function(t){var e=new D(p);e._captureStackTrace();var i=arguments.length&gt;1&amp;&amp;!!Object(arguments[1]).multiArgs,n=E(t)(S(e,i));return n===C&amp;&amp;e._rejectCallback(n.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},D.all=function(t){return new b(t).promise()},D.cast=function(t){var e=y(t);return e instanceof D||((e=new D(p))._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},D.resolve=D.fulfilled=D.cast,D.reject=D.rejected=function(t){var e=new D(p);return e._captureStackTrace(),e._rejectCallback(t,!0),e},D.setScheduler=function(t){if(\"function\"!=typeof t)throw new _(\"expecting a function but got \"+c.classString(t));return h.setScheduler(t)},D.prototype._then=function(t,e,i,n,r){var a=void 0!==r,o=a?r:new D(p),l=this._target(),u=l._bitField;a||(o._propagateFrom(this,3),o._captureStackTrace(),void 0===n&amp;&amp;0!=(2097152&amp;this._bitField)&amp;&amp;(n=0!=(50397184&amp;u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent(\"promiseChained\",this,o));var d=s();if(0!=(50397184&amp;u)){var f,_,v=l._settlePromiseCtx;0!=(33554432&amp;u)?(_=l._rejectionHandler0,f=t):0!=(16777216&amp;u)?(_=l._fulfillmentHandler0,f=e,l._unsetRejectionIsUnhandled()):(v=l._settlePromiseLateCancellationObserver,_=new g(\"late cancellation observer\"),l._attachExtraTrace(_),f=e),h.invoke(v,l,{handler:null===d?f:\"function\"==typeof f&amp;&amp;c.domainBind(d,f),promise:o,receiver:n,value:_})}else l._addCallbacks(t,e,o,n,d);return o},D.prototype._length=function(){return 65535&amp;this._bitField},D.prototype._isFateSealed=function(){return 0!=(117506048&amp;this._bitField)},D.prototype._isFollowing=function(){return 67108864==(67108864&amp;this._bitField)},D.prototype._setLength=function(t){this._bitField=-65536&amp;this._bitField|65535&amp;t},D.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent(\"promiseFulfilled\",this)},D.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent(\"promiseRejected\",this)},D.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent(\"promiseResolved\",this)},D.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},D.prototype._isFinal=function(){return(4194304&amp;this._bitField)&gt;0},D.prototype._unsetCancelled=function(){this._bitField=-65537&amp;this._bitField},D.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent(\"promiseCancelled\",this)},D.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},D.prototype._setAsyncGuaranteed=function(){h.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},D.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==l)return void 0===e&amp;&amp;this._isBound()?this._boundValue():e},D.prototype._promiseAt=function(t){return this[4*t-4+2]},D.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},D.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},D.prototype._boundValue=function(){},D.prototype._migrateCallback0=function(t){t._bitField;var e=t._fulfillmentHandler0,i=t._rejectionHandler0,n=t._promise0,r=t._receiverAt(0);void 0===r&amp;&amp;(r=l),this._addCallbacks(e,i,n,r,null)},D.prototype._migrateCallbackAt=function(t,e){var i=t._fulfillmentHandlerAt(e),n=t._rejectionHandlerAt(e),r=t._promiseAt(e),a=t._receiverAt(e);void 0===a&amp;&amp;(a=l),this._addCallbacks(i,n,r,a,null)},D.prototype._addCallbacks=function(t,e,i,n,r){var a=this._length();if(a&gt;=65531&amp;&amp;(a=0,this._setLength(0)),0===a)this._promise0=i,this._receiver0=n,\"function\"==typeof t&amp;&amp;(this._fulfillmentHandler0=null===r?t:c.domainBind(r,t)),\"function\"==typeof e&amp;&amp;(this._rejectionHandler0=null===r?e:c.domainBind(r,e));else{var o=4*a-4;this[o+2]=i,this[o+3]=n,\"function\"==typeof t&amp;&amp;(this[o+0]=null===r?t:c.domainBind(r,t)),\"function\"==typeof e&amp;&amp;(this[o+1]=null===r?e:c.domainBind(r,e))}return this._setLength(a+1),a},D.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},D.prototype._resolveCallback=function(t,e){if(0==(117506048&amp;this._bitField)){if(t===this)return this._rejectCallback(n(),!1);var i=y(t,this);if(!(i instanceof D))return this._fulfill(t);e&amp;&amp;this._propagateFrom(i,2);var r=i._target();if(r!==this){var a=r._bitField;if(0==(50397184&amp;a)){var o=this._length();o&gt;0&amp;&amp;r._migrateCallback0(this);for(var s=1;s&lt;o;++s)r._migrateCallbackAt(this,s);this._setFollowing(),this._setLength(0),this._setFollowee(r)}else if(0!=(33554432&amp;a))this._fulfill(r._value());else if(0!=(16777216&amp;a))this._reject(r._reason());else{var l=new g(\"late cancellation observer\");r._attachExtraTrace(l),this._reject(l)}}else this._reject(n())}},D.prototype._rejectCallback=function(t,e,i){var n=c.ensureErrorObject(t),r=n===t;if(!r&amp;&amp;!i&amp;&amp;x.warnings()){var a=\"a promise was rejected with a non-error: \"+c.classString(t);this._warn(a,!0)}this._attachExtraTrace(n,!!e&amp;&amp;r),this._reject(t)},D.prototype._resolveFromExecutor=function(t){if(t!==p){var e=this;this._captureStackTrace(),this._pushContext();var i=!0,n=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,i)});i=!1,this._popContext(),void 0!==n&amp;&amp;e._rejectCallback(n,!0)}},D.prototype._settlePromiseFromHandler=function(t,e,i,n){var r=n._bitField;if(0==(65536&amp;r)){var a;n._pushContext(),e===v?i&amp;&amp;\"number\"==typeof i.length?a=E(t).apply(this._boundValue(),i):(a=C).e=new _(\"cannot .spread() a non-array: \"+c.classString(i)):a=E(t).call(e,i);var o=n._popContext();0==(65536&amp;(r=n._bitField))&amp;&amp;(a===m?n._reject(i):a===C?n._rejectCallback(a.e,!1):(x.checkForgottenReturns(a,o,\"\",n,this),n._resolveCallback(a)))}},D.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},D.prototype._followee=function(){return this._rejectionHandler0},D.prototype._setFollowee=function(t){this._rejectionHandler0=t},D.prototype._settlePromise=function(t,e,i,n){var a=t instanceof D,s=this._bitField,l=0!=(134217728&amp;s);0!=(65536&amp;s)?(a&amp;&amp;t._invokeInternalOnCancel(),i instanceof $&amp;&amp;i.isFinallyHandler()?(i.cancelPromise=t,E(e).call(i,n)===C&amp;&amp;t._reject(C.e)):e===r?t._fulfill(r.call(i)):i instanceof o?i._promiseCancelled(t):a||t instanceof b?t._cancel():i.cancel()):\"function\"==typeof e?a?(l&amp;&amp;t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,i,n,t)):e.call(i,n,t):i instanceof o?i._isResolved()||(0!=(33554432&amp;s)?i._promiseFulfilled(n,t):i._promiseRejected(n,t)):a&amp;&amp;(l&amp;&amp;t._setAsyncGuaranteed(),0!=(33554432&amp;s)?t._fulfill(n):t._reject(n))},D.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,i=t.promise,n=t.receiver,r=t.value;\"function\"==typeof e?i instanceof D?this._settlePromiseFromHandler(e,n,r,i):e.call(n,r,i):i instanceof D&amp;&amp;i._reject(r)},D.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},D.prototype._settlePromise0=function(t,e,i){var n=this._promise0,r=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(n,t,r,e)},D.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},D.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&amp;e)&gt;&gt;&gt;16)){if(t===this){var i=n();return this._attachExtraTrace(i),this._reject(i)}this._setFulfilled(),this._rejectionHandler0=t,(65535&amp;e)&gt;0&amp;&amp;(0!=(134217728&amp;e)?this._settlePromises():h.settlePromises(this),this._dereferenceTrace())}},D.prototype._reject=function(t){var e=this._bitField;if(!((117506048&amp;e)&gt;&gt;&gt;16)){if(this._setRejected(),this._fulfillmentHandler0=t,this._isFinal())return h.fatalError(t,c.isNode);(65535&amp;e)&gt;0?h.settlePromises(this):this._ensurePossibleRejectionHandled()}},D.prototype._fulfillPromises=function(t,e){for(var i=1;i&lt;t;i++){var n=this._fulfillmentHandlerAt(i),r=this._promiseAt(i),a=this._receiverAt(i);this._clearCallbackDataAtIndex(i),this._settlePromise(r,n,a,e)}},D.prototype._rejectPromises=function(t,e){for(var i=1;i&lt;t;i++){var n=this._rejectionHandlerAt(i),r=this._promiseAt(i),a=this._receiverAt(i);this._clearCallbackDataAtIndex(i),this._settlePromise(r,n,a,e)}},D.prototype._settlePromises=function(){var t=this._bitField,e=65535&amp;t;if(e&gt;0){if(0!=(16842752&amp;t)){var i=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,i,t),this._rejectPromises(e,i)}else{var n=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,n,t),this._fulfillPromises(e,n)}this._setLength(0)}this._clearCancellationData()},D.prototype._settledValue=function(){var t=this._bitField;return 0!=(33554432&amp;t)?this._rejectionHandler0:0!=(16777216&amp;t)?this._fulfillmentHandler0:void 0},D.defer=D.pending=function(){x.deprecated(\"Promise.defer\",\"new Promise\");var t=new D(p);return{promise:t,resolve:I,reject:A}},c.notEnumerableProp(D,\"_makeSelfResolutionError\",n),t(\"./method\")(D,p,y,a,x),t(\"./bind\")(D,p,y,x),t(\"./cancel\")(D,b,a,x),t(\"./direct_resolve\")(D),t(\"./synchronous_inspection\")(D),t(\"./join\")(D,b,y,p,h,s),D.Promise=D,D.version=\"3.5.4\",t(\"./map.js\")(D,b,a,y,p,x),t(\"./call_get.js\")(D),t(\"./using.js\")(D,a,y,w,p,x),t(\"./timers.js\")(D,p,x),t(\"./generators.js\")(D,a,p,y,o,x),t(\"./nodeify.js\")(D),t(\"./promisify.js\")(D,p),t(\"./props.js\")(D,b,y,a),t(\"./race.js\")(D,p,y,a),t(\"./reduce.js\")(D,b,a,y,p,x),t(\"./settle.js\")(D,b,x),t(\"./some.js\")(D,b,a),t(\"./filter.js\")(D,p),t(\"./each.js\")(D,p),t(\"./any.js\")(D),c.toFastProperties(D),c.toFastProperties(D.prototype),P({a:1}),P({b:2}),P({c:3}),P(1),P(function(){}),P(void 0),P(!1),P(new D(p)),x.setBounds(d.firstLineError,c.lastLineError),D}},{\"./any.js\":1,\"./async\":2,\"./bind\":3,\"./call_get.js\":5,\"./cancel\":6,\"./catch_filter\":7,\"./context\":8,\"./debuggability\":9,\"./direct_resolve\":10,\"./each.js\":11,\"./errors\":12,\"./es5\":13,\"./filter.js\":14,\"./finally\":15,\"./generators.js\":16,\"./join\":17,\"./map.js\":18,\"./method\":19,\"./nodeback\":20,\"./nodeify.js\":21,\"./promise_array\":23,\"./promisify.js\":24,\"./props.js\":25,\"./race.js\":27,\"./reduce.js\":28,\"./settle.js\":30,\"./some.js\":31,\"./synchronous_inspection\":32,\"./thenables\":33,\"./timers.js\":34,\"./using.js\":35,\"./util\":36}],23:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a){var o=t(\"./util\");function s(t){var n=this._promise=new e(i);t instanceof e&amp;&amp;n._propagateFrom(t,3),n._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}return o.isArray,o.inherits(s,a),s.prototype.length=function(){return this._length},s.prototype.promise=function(){return this._promise},s.prototype._init=function t(i,a){var s=n(this._values,this._promise);if(s instanceof e){var l=(s=s._target())._bitField;if(this._values=s,0==(50397184&amp;l))return this._promise._setAsyncGuaranteed(),s._then(t,this._reject,void 0,this,a);if(0==(33554432&amp;l))return 0!=(16777216&amp;l)?this._reject(s._reason()):this._cancel();s=s._value()}if(null!==(s=o.asArray(s)))0!==s.length?this._iterate(s):-5===a?this._resolveEmptyArray():this._resolve(function(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}(a));else{var c=r(\"expecting an array or an iterable object but got \"+o.classString(s)).reason();this._promise._rejectCallback(c,!1)}},s.prototype._iterate=function(t){var i=this.getActualLength(t.length);this._length=i,this._values=this.shouldCopyValues()?new Array(i):this._values;for(var r=this._promise,a=!1,o=null,s=0;s&lt;i;++s){var l=n(t[s],r);l instanceof e?(l=l._target(),o=l._bitField):o=null,a?null!==o&amp;&amp;l.suppressUnhandledRejections():null!==o?0==(50397184&amp;o)?(l._proxy(this,s),this._values[s]=l):a=0!=(33554432&amp;o)?this._promiseFulfilled(l._value(),s):0!=(16777216&amp;o)?this._promiseRejected(l._reason(),s):this._promiseCancelled(s):a=this._promiseFulfilled(l,s)}a||r._setAsyncGuaranteed()},s.prototype._isResolved=function(){return null===this._values},s.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},s.prototype._cancel=function(){!this._isResolved()&amp;&amp;this._promise._isCancellable()&amp;&amp;(this._values=null,this._promise._cancel())},s.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},s.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var i=++this._totalResolved;return i&gt;=this._length&amp;&amp;(this._resolve(this._values),!0)},s.prototype._promiseCancelled=function(){return this._cancel(),!0},s.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},s.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var i=0;i&lt;t.length;++i)t[i]instanceof e&amp;&amp;t[i].cancel()}},s.prototype.shouldCopyValues=function(){return!0},s.prototype.getActualLength=function(t){return t},s}},{\"./util\":36}],24:[function(t,e,i){\"use strict\";e.exports=function(e,i){var n={},r=t(\"./util\"),a=t(\"./nodeback\"),o=r.withAppended,s=r.maybeWrapAsError,l=r.canEvaluate,c=t(\"./errors\").TypeError,u={__isPromisified__:!0},d=new RegExp(\"^(?:\"+[\"arity\",\"length\",\"name\",\"arguments\",\"caller\",\"callee\",\"prototype\",\"__isPromisified__\"].join(\"|\")+\")$\"),h=function(t){return r.isIdentifier(t)&amp;&amp;\"_\"!==t.charAt(0)&amp;&amp;\"constructor\"!==t};function f(t){return!d.test(t)}function _(t){try{return!0===t.__isPromisified__}catch(t){return!1}}function g(t,e,i){var n=r.getDataPropertyOrDefault(t,e+i,u);return!!n&amp;&amp;_(n)}function p(t,e,i,n){for(var a=r.inheritedDataKeys(t),o=[],s=0;s&lt;a.length;++s){var l=a[s],u=t[l],d=n===h||h(l,u,t);\"function\"!=typeof u||_(u)||g(t,l,e)||!n(l,u,t,d)||o.push(l,u)}return function(t,e,i){for(var n=0;n&lt;t.length;n+=2){var r=t[n];if(i.test(r))for(var a=r.replace(i,\"\"),o=0;o&lt;t.length;o+=2)if(t[o]===a)throw new c(\"Cannot promisify an API that has normal methods with '%s'-suffix\\n\\n    See http://goo.gl/MqrFmX\\n\".replace(\"%s\",e))}}(o,e,i),o}var v=function(t){return t.replace(/([$])/,\"\\\\$\")},m=l?void 0:function(t,l,c,u,d,h){var f=function(){return this}(),_=t;function g(){var r=l;l===n&amp;&amp;(r=this);var c=new e(i);c._captureStackTrace();var u=\"string\"==typeof _&amp;&amp;this!==f?this[_]:t,d=a(c,h);try{u.apply(r,o(arguments,d))}catch(t){c._rejectCallback(s(t),!0,!0)}return c._isFateSealed()||c._setAsyncGuaranteed(),c}return\"string\"==typeof _&amp;&amp;(t=u),r.notEnumerableProp(g,\"__isPromisified__\",!0),g};function y(t,e,i,a,o){for(var s=new RegExp(v(e)+\"$\"),l=p(t,e,s,i),c=0,u=l.length;c&lt;u;c+=2){var d=l[c],h=l[c+1],f=d+e;if(a===m)t[f]=m(d,n,d,h,e,o);else{var _=a(h,function(){return m(d,n,d,h,e,o)});r.notEnumerableProp(_,\"__isPromisified__\",!0),t[f]=_}}return r.toFastProperties(t),t}e.promisify=function(t,e){if(\"function\"!=typeof t)throw new c(\"expecting a function but got \"+r.classString(t));if(_(t))return t;var i=void 0===(e=Object(e)).context?n:e.context,a=!!e.multiArgs,o=function(t,e,i){return m(t,e,void 0,t,null,i)}(t,i,a);return r.copyDescriptors(t,o,f),o},e.promisifyAll=function(t,e){if(\"function\"!=typeof t&amp;&amp;\"object\"!=typeof t)throw new c(\"the target of promisifyAll must be an object or a function\\n\\n    See http://goo.gl/MqrFmX\\n\");var i=!!(e=Object(e)).multiArgs,n=e.suffix;\"string\"!=typeof n&amp;&amp;(n=\"Async\");var a=e.filter;\"function\"!=typeof a&amp;&amp;(a=h);var o=e.promisifier;if(\"function\"!=typeof o&amp;&amp;(o=m),!r.isIdentifier(n))throw new RangeError(\"suffix must be a valid identifier\\n\\n    See http://goo.gl/MqrFmX\\n\");for(var s=r.inheritedDataKeys(t),l=0;l&lt;s.length;++l){var u=t[s[l]];\"constructor\"!==s[l]&amp;&amp;r.isClass(u)&amp;&amp;(y(u.prototype,n,a,o,i),y(u,n,a,o,i))}return y(t,n,a,o,i)}}},{\"./errors\":12,\"./nodeback\":20,\"./util\":36}],25:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r){var a,o=t(\"./util\"),s=o.isObject,l=t(\"./es5\");\"function\"==typeof Map&amp;&amp;(a=Map);var c=function(){var t=0,e=0;function i(i,n){this[t]=i,this[t+e]=n,t++}return function(n){e=n.size,t=0;var r=new Array(2*n.size);return n.forEach(i,r),r}}();function u(t){var e,i=!1;if(void 0!==a&amp;&amp;t instanceof a)e=c(t),i=!0;else{var n=l.keys(t),r=n.length;e=new Array(2*r);for(var o=0;o&lt;r;++o){var s=n[o];e[o]=t[s],e[o+r]=s}}this.constructor$(e),this._isMap=i,this._init$(void 0,i?-6:-3)}function d(t){var i,a=n(t);return s(a)?(i=a instanceof e?a._then(e.props,void 0,void 0,void 0,void 0):new u(a).promise(),a instanceof e&amp;&amp;i._propagateFrom(a,2),i):r(\"cannot await properties of a non-object\\n\\n    See http://goo.gl/MqrFmX\\n\")}o.inherits(u,i),u.prototype._init=function(){},u.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var i=++this._totalResolved;if(i&gt;=this._length){var n;if(this._isMap)n=function(t){for(var e=new a,i=t.length/2|0,n=0;n&lt;i;++n){var r=t[i+n],o=t[n];e.set(r,o)}return e}(this._values);else{n={};for(var r=this.length(),o=0,s=this.length();o&lt;s;++o)n[this._values[o+r]]=this._values[o]}return this._resolve(n),!0}return!1},u.prototype.shouldCopyValues=function(){return!1},u.prototype.getActualLength=function(t){return t&gt;&gt;1},e.prototype.props=function(){return d(this)},e.props=function(t){return d(t)}}},{\"./es5\":13,\"./util\":36}],26:[function(t,e,i){\"use strict\";function n(t){this._capacity=t,this._length=0,this._front=0}n.prototype._willBeOverCapacity=function(t){return this._capacity&lt;t},n.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var i=this._front+e&amp;this._capacity-1;this[i]=t,this._length=e+1},n.prototype.push=function(t,e,i){var n=this.length()+3;if(this._willBeOverCapacity(n))return this._pushOne(t),this._pushOne(e),void this._pushOne(i);var r=this._front+n-3;this._checkCapacity(n);var a=this._capacity-1;this[r+0&amp;a]=t,this[r+1&amp;a]=e,this[r+2&amp;a]=i,this._length=n},n.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&amp;this._capacity-1,this._length--,e},n.prototype.length=function(){return this._length},n.prototype._checkCapacity=function(t){this._capacity&lt;t&amp;&amp;this._resizeTo(this._capacity&lt;&lt;1)},n.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var i=this._front,n=this._length,r=i+n&amp;e-1;!function(t,e,i,n,r){for(var a=0;a&lt;r;++a)i[a+n]=t[a+e],t[a+e]=void 0}(this,0,this,e,r)},e.exports=n},{}],27:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r){var a=t(\"./util\"),o=function(t){return t.then(function(e){return s(e,t)})};function s(t,s){var l=n(t);if(l instanceof e)return o(l);if(null===(t=a.asArray(t)))return r(\"expecting an array or an iterable object but got \"+a.classString(t));var c=new e(i);void 0!==s&amp;&amp;c._propagateFrom(s,3);for(var u=c._fulfill,d=c._reject,h=0,f=t.length;h&lt;f;++h){var _=t[h];(void 0!==_||h in t)&amp;&amp;e.cast(_)._then(u,d,void 0,c,null)}return c}e.race=function(t){return s(t,void 0)},e.prototype.race=function(){return s(this,void 0)}}},{\"./util\":36}],28:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a,o){var s=e._getDomain,l=t(\"./util\"),c=l.tryCatch;function u(t,i,n,r){this.constructor$(t);var o=s();this._fn=null===o?i:l.domainBind(o,i),void 0!==n&amp;&amp;(n=e.resolve(n))._attachCancellationCallback(this),this._initialValue=n,this._currentCancellable=null,this._eachValues=r===a?Array(this._length):0===r?null:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function d(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function h(t,e,i,r){if(\"function\"!=typeof e)return n(\"expecting a function but got \"+l.classString(e));var a=new u(t,e,i,r);return a.promise()}function f(t){this.accum=t,this.array._gotAccum(t);var i=r(this.value,this.array._promise);return i instanceof e?(this.array._currentCancellable=i,i._then(_,void 0,void 0,this,void 0)):_.call(this,i)}function _(t){var i,n=this.array,r=n._promise,a=c(n._fn);r._pushContext(),(i=void 0!==n._eachValues?a.call(r._boundValue(),t,this.index,this.length):a.call(r._boundValue(),this.accum,t,this.index,this.length))instanceof e&amp;&amp;(n._currentCancellable=i);var s=r._popContext();return o.checkForgottenReturns(i,s,void 0!==n._eachValues?\"Promise.each\":\"Promise.reduce\",r),i}l.inherits(u,i),u.prototype._gotAccum=function(t){void 0!==this._eachValues&amp;&amp;null!==this._eachValues&amp;&amp;t!==a&amp;&amp;this._eachValues.push(t)},u.prototype._eachComplete=function(t){return null!==this._eachValues&amp;&amp;this._eachValues.push(t),this._eachValues},u.prototype._init=function(){},u.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},u.prototype.shouldCopyValues=function(){return!1},u.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},u.prototype._resultCancelled=function(t){if(t===this._initialValue)return this._cancel();this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&amp;&amp;this._currentCancellable.cancel(),this._initialValue instanceof e&amp;&amp;this._initialValue.cancel())},u.prototype._iterate=function(t){var i,n;this._values=t;var r=t.length;if(void 0!==this._initialValue?(i=this._initialValue,n=0):(i=e.resolve(t[0]),n=1),this._currentCancellable=i,!i.isRejected())for(;n&lt;r;++n){var a={accum:null,value:t[n],index:n,length:r,array:this};i=i._then(f,void 0,void 0,a,void 0)}void 0!==this._eachValues&amp;&amp;(i=i._then(this._eachComplete,void 0,void 0,this,void 0)),i._then(d,d,void 0,i,this)},e.prototype.reduce=function(t,e){return h(this,t,e,null)},e.reduce=function(t,e,i,n){return h(t,e,i,n)}}},{\"./util\":36}],29:[function(t,r,a){\"use strict\";var o,s=t(\"./util\"),l=s.getNativePromise();if(s.isNode&amp;&amp;\"undefined\"==typeof MutationObserver){var c=i.setImmediate,u=e.nextTick;o=s.isRecentNode?function(t){c.call(i,t)}:function(t){u.call(e,t)}}else if(\"function\"==typeof l&amp;&amp;\"function\"==typeof l.resolve){var d=l.resolve();o=function(t){d.then(t)}}else o=\"undefined\"==typeof MutationObserver||\"undefined\"!=typeof window&amp;&amp;window.navigator&amp;&amp;(window.navigator.standalone||window.cordova)?void 0!==n?function(t){n(t)}:\"undefined\"!=typeof setTimeout?function(t){setTimeout(t,0)}:function(){throw new Error(\"No async scheduler available\\n\\n    See http://goo.gl/MqrFmX\\n\")}:function(){var t=document.createElement(\"div\"),e={attributes:!0},i=!1,n=document.createElement(\"div\"),r=new MutationObserver(function(){t.classList.toggle(\"foo\"),i=!1});return r.observe(n,e),function(r){var a=new MutationObserver(function(){a.disconnect(),r()});a.observe(t,e),i||(i=!0,n.classList.toggle(\"foo\"))}}();r.exports=o},{\"./util\":36}],30:[function(t,e,i){\"use strict\";e.exports=function(e,i,n){var r=e.PromiseInspection,a=t(\"./util\");function o(t){this.constructor$(t)}a.inherits(o,i),o.prototype._promiseResolved=function(t,e){this._values[t]=e;var i=++this._totalResolved;return i&gt;=this._length&amp;&amp;(this._resolve(this._values),!0)},o.prototype._promiseFulfilled=function(t,e){var i=new r;return i._bitField=33554432,i._settledValueField=t,this._promiseResolved(e,i)},o.prototype._promiseRejected=function(t,e){var i=new r;return i._bitField=16777216,i._settledValueField=t,this._promiseResolved(e,i)},e.settle=function(t){return n.deprecated(\".settle()\",\".reflect()\"),new o(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{\"./util\":36}],31:[function(t,e,i){\"use strict\";e.exports=function(e,i,n){var r=t(\"./util\"),a=t(\"./errors\").RangeError,o=t(\"./errors\").AggregateError,s=r.isArray,l={};function c(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function u(t,e){if((0|e)!==e||e&lt;0)return n(\"expecting a positive integer\\n\\n    See http://goo.gl/MqrFmX\\n\");var i=new c(t),r=i.promise();return i.setHowMany(e),i.init(),r}r.inherits(c,i),c.prototype._init=function(){if(this._initialized)if(0!==this._howMany){this._init$(void 0,-5);var t=s(this._values);!this._isResolved()&amp;&amp;t&amp;&amp;this._howMany&gt;this._canPossiblyFulfill()&amp;&amp;this._reject(this._getRangeError(this.length()))}else this._resolve([])},c.prototype.init=function(){this._initialized=!0,this._init()},c.prototype.setUnwrap=function(){this._unwrap=!0},c.prototype.howMany=function(){return this._howMany},c.prototype.setHowMany=function(t){this._howMany=t},c.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&amp;&amp;(this._values.length=this.howMany(),1===this.howMany()&amp;&amp;this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},c.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},c.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(l),this._checkOutcome())},c.prototype._checkOutcome=function(){if(this.howMany()&gt;this._canPossiblyFulfill()){for(var t=new o,e=this.length();e&lt;this._values.length;++e)this._values[e]!==l&amp;&amp;t.push(this._values[e]);return t.length&gt;0?this._reject(t):this._cancel(),!0}return!1},c.prototype._fulfilled=function(){return this._totalResolved},c.prototype._rejected=function(){return this._values.length-this.length()},c.prototype._addRejected=function(t){this._values.push(t)},c.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},c.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},c.prototype._getRangeError=function(t){var e=\"Input array must contain at least \"+this._howMany+\" items but contains only \"+t+\" items\";return new a(e)},c.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return u(t,e)},e.prototype.some=function(t){return u(this,t)},e._SomePromiseArray=c}},{\"./errors\":12,\"./util\":36}],32:[function(t,e,i){\"use strict\";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var i=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\n\\n    See http://goo.gl/MqrFmX\\n\");return this._settledValue()},n=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\n\\n    See http://goo.gl/MqrFmX\\n\");return this._settledValue()},r=e.prototype.isFulfilled=function(){return 0!=(33554432&amp;this._bitField)},a=e.prototype.isRejected=function(){return 0!=(16777216&amp;this._bitField)},o=e.prototype.isPending=function(){return 0==(50397184&amp;this._bitField)},s=e.prototype.isResolved=function(){return 0!=(50331648&amp;this._bitField)};e.prototype.isCancelled=function(){return 0!=(8454144&amp;this._bitField)},t.prototype.__isCancelled=function(){return 65536==(65536&amp;this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!=(8454144&amp;this._target()._bitField)},t.prototype.isPending=function(){return o.call(this._target())},t.prototype.isRejected=function(){return a.call(this._target())},t.prototype.isFulfilled=function(){return r.call(this._target())},t.prototype.isResolved=function(){return s.call(this._target())},t.prototype.value=function(){return i.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),n.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,i){\"use strict\";e.exports=function(e,i){var n=t(\"./util\"),r=n.errorObj,a=n.isObject,o={}.hasOwnProperty;return function(t,s){if(a(t)){if(t instanceof e)return t;var l=function(t){try{return function(t){return t.then}(t)}catch(t){return r.e=t,r}}(t);if(l===r){s&amp;&amp;s._pushContext();var c=e.reject(l.e);return s&amp;&amp;s._popContext(),c}if(\"function\"==typeof l){if(function(t){try{return o.call(t,\"_promise0\")}catch(t){return!1}}(t)){var c=new e(i);return t._then(c._fulfill,c._reject,void 0,c,null),c}return function(t,a,o){var s=new e(i),l=s;o&amp;&amp;o._pushContext(),s._captureStackTrace(),o&amp;&amp;o._popContext();var c=!0,u=n.tryCatch(a).call(t,function(t){s&amp;&amp;(s._resolveCallback(t),s=null)},function(t){s&amp;&amp;(s._rejectCallback(t,c,!0),s=null)});return c=!1,s&amp;&amp;u===r&amp;&amp;(s._rejectCallback(u.e,!0,!0),s=null),l}(t,l,s)}}return t}}},{\"./util\":36}],34:[function(t,e,i){\"use strict\";e.exports=function(e,i,n){var r=t(\"./util\"),a=e.TimeoutError;function o(t){this.handle=t}o.prototype._resultCancelled=function(){clearTimeout(this.handle)};var s=function(t){return l(+this).thenReturn(t)},l=e.delay=function(t,r){var a,l;return void 0!==r?(a=e.resolve(r)._then(s,null,null,t,void 0),n.cancellation()&amp;&amp;r instanceof e&amp;&amp;a._setOnCancel(r)):(a=new e(i),l=setTimeout(function(){a._fulfill()},+t),n.cancellation()&amp;&amp;a._setOnCancel(new o(l)),a._captureStackTrace()),a._setAsyncGuaranteed(),a};function c(t){return clearTimeout(this.handle),t}function u(t){throw clearTimeout(this.handle),t}e.prototype.delay=function(t){return l(t,this)},e.prototype.timeout=function(t,e){var i,s;t=+t;var l=new o(setTimeout(function(){i.isPending()&amp;&amp;function(t,e,i){var n;n=\"string\"!=typeof e?e instanceof Error?e:new a(\"operation timed out\"):new a(e),r.markAsOriginatingFromRejection(n),t._attachExtraTrace(n),t._reject(n),null!=i&amp;&amp;i.cancel()}(i,e,s)},t));return n.cancellation()?(s=this.then(),(i=s._then(c,u,void 0,l,void 0))._setOnCancel(l)):i=this._then(c,u,void 0,l,void 0),i}}},{\"./util\":36}],35:[function(t,e,i){\"use strict\";e.exports=function(e,i,n,r,a,o){var s=t(\"./util\"),l=t(\"./errors\").TypeError,c=t(\"./util\").inherits,u=s.errorObj,d=s.tryCatch,h={};function f(t){setTimeout(function(){throw t},0)}function _(t,i){var r=0,o=t.length,s=new e(a);return function a(){if(r&gt;=o)return s._fulfill();var l=function(t){var e=n(t);return e!==t&amp;&amp;\"function\"==typeof t._isDisposable&amp;&amp;\"function\"==typeof t._getDisposer&amp;&amp;t._isDisposable()&amp;&amp;e._setDisposable(t._getDisposer()),e}(t[r++]);if(l instanceof e&amp;&amp;l._isDisposable()){try{l=n(l._getDisposer().tryDispose(i),t.promise)}catch(t){return f(t)}if(l instanceof e)return l._then(a,f,null,null,null)}a()}(),s}function g(t,e,i){this._data=t,this._promise=e,this._context=i}function p(t,e,i){this.constructor$(t,e,i)}function v(t){return g.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function m(t){this.length=t,this.promise=null,this[t-1]=null}g.prototype.data=function(){return this._data},g.prototype.promise=function(){return this._promise},g.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():h},g.prototype.tryDispose=function(t){var e=this.resource(),i=this._context;void 0!==i&amp;&amp;i._pushContext();var n=e!==h?this.doDispose(e,t):null;return void 0!==i&amp;&amp;i._popContext(),this._promise._unsetDisposable(),this._data=null,n},g.isDisposer=function(t){return null!=t&amp;&amp;\"function\"==typeof t.resource&amp;&amp;\"function\"==typeof t.tryDispose},c(p,g),p.prototype.doDispose=function(t,e){var i=this.data();return i.call(t,t,e)},m.prototype._resultCancelled=function(){for(var t=this.length,i=0;i&lt;t;++i){var n=this[i];n instanceof e&amp;&amp;n.cancel()}},e.using=function(){var t=arguments.length;if(t&lt;2)return i(\"you must pass at least 2 arguments to Promise.using\");var r,a=arguments[t-1];if(\"function\"!=typeof a)return i(\"expecting a function but got \"+s.classString(a));var l=!0;2===t&amp;&amp;Array.isArray(arguments[0])?(r=arguments[0],t=r.length,l=!1):(r=arguments,t--);for(var c=new m(t),h=0;h&lt;t;++h){var f=r[h];if(g.isDisposer(f)){var p=f;(f=f.promise())._setDisposable(p)}else{var y=n(f);y instanceof e&amp;&amp;(f=y._then(v,null,null,{resources:c,index:h},void 0))}c[h]=f}for(var b=new Array(c.length),h=0;h&lt;b.length;++h)b[h]=e.resolve(c[h]).reflect();var k=e.all(b).then(function(t){for(var e=0;e&lt;t.length;++e){var i=t[e];if(i.isRejected())return u.e=i.error(),u;if(!i.isFulfilled())return void k.cancel();t[e]=i.value()}w._pushContext(),a=d(a);var n=l?a.apply(void 0,t):a(t),r=w._popContext();return o.checkForgottenReturns(n,r,\"Promise.using\",w),n}),w=k.lastly(function(){var t=new e.PromiseInspection(k);return _(c,t)});return c.promise=w,w._setOnCancel(c),w},e.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},e.prototype._isDisposable=function(){return(131072&amp;this._bitField)&gt;0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&amp;this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if(\"function\"==typeof t)return new p(t,this,r());throw new l}}},{\"./errors\":12,\"./util\":36}],36:[function(t,n,r){\"use strict\";var a=t(\"./es5\"),o=\"undefined\"==typeof navigator,s={e:{}},l,c=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==i?i:void 0!==this?this:null;function u(){try{var t=l;return l=null,t.apply(this,arguments)}catch(t){return s.e=t,s}}function d(t){return l=t,u}var h=function(t,e){var i={}.hasOwnProperty;function n(){for(var n in this.constructor=t,this.constructor$=e,e.prototype)i.call(e.prototype,n)&amp;&amp;\"$\"!==n.charAt(n.length-1)&amp;&amp;(this[n+\"$\"]=e.prototype[n])}return n.prototype=e.prototype,t.prototype=new n,t.prototype};function f(t){return null==t||!0===t||!1===t||\"string\"==typeof t||\"number\"==typeof t}function _(t){return\"function\"==typeof t||\"object\"==typeof t&amp;&amp;null!==t}function g(t){return f(t)?new Error(C(t)):t}function p(t,e){var i,n=t.length,r=new Array(n+1);for(i=0;i&lt;n;++i)r[i]=t[i];return r[i]=e,r}function v(t,e,i){if(!a.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var n=Object.getOwnPropertyDescriptor(t,e);return null!=n?null==n.get&amp;&amp;null==n.set?n.value:i:void 0}function m(t,e,i){if(f(t))return t;var n={value:i,configurable:!0,enumerable:!1,writable:!0};return a.defineProperty(t,e,n),t}function y(t){throw t}var b=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var i=0;i&lt;t.length;++i)if(t[i]===e)return!0;return!1};if(a.isES5){var i=Object.getOwnPropertyNames;return function(t){for(var n=[],r=Object.create(null);null!=t&amp;&amp;!e(t);){var o;try{o=i(t)}catch(t){return n}for(var s=0;s&lt;o.length;++s){var l=o[s];if(!r[l]){r[l]=!0;var c=Object.getOwnPropertyDescriptor(t,l);null!=c&amp;&amp;null==c.get&amp;&amp;null==c.set&amp;&amp;n.push(l)}}t=a.getPrototypeOf(t)}return n}}var n={}.hasOwnProperty;return function(i){if(e(i))return[];var r=[];t:for(var a in i)if(n.call(i,a))r.push(a);else{for(var o=0;o&lt;t.length;++o)if(n.call(t[o],a))continue t;r.push(a)}return r}}(),k=/this\\s*\\.\\s*\\S+\\s*=/;function w(t){try{if(\"function\"==typeof t){var e=a.names(t.prototype),i=a.isES5&amp;&amp;e.length&gt;1,n=e.length&gt;0&amp;&amp;!(1===e.length&amp;&amp;\"constructor\"===e[0]),r=k.test(t+\"\")&amp;&amp;a.names(t).length&gt;0;if(i||n||r)return!0}return!1}catch(t){return!1}}function x(t){function e(){}e.prototype=t;var i=new e;function n(){return typeof i.foo}return n(),n(),t}var $=/^[a-z$_][a-z$_0-9]*$/i;function T(t){return $.test(t)}function S(t,e,i){for(var n=new Array(t),r=0;r&lt;t;++r)n[r]=e+r+i;return n}function C(t){try{return t+\"\"}catch(t){return\"[no string representation]\"}}function E(t){return t instanceof Error||null!==t&amp;&amp;\"object\"==typeof t&amp;&amp;\"string\"==typeof t.message&amp;&amp;\"string\"==typeof t.name}function D(t){try{m(t,\"isOperational\",!0)}catch(t){}}function I(t){return null!=t&amp;&amp;(t instanceof Error.__BluebirdErrorTypes__.OperationalError||!0===t.isOperational)}function A(t){return E(t)&amp;&amp;a.propertyIsWritable(t,\"stack\")}var P=\"stack\"in new Error?function(t){return A(t)?t:new Error(C(t))}:function(t){if(A(t))return t;try{throw new Error(C(t))}catch(t){return t}};function O(t){return{}.toString.call(t)}function M(t,e,i){for(var n=a.names(t),r=0;r&lt;n.length;++r){var o=n[r];if(i(o))try{a.defineProperty(e,o,a.getDescriptor(t,o))}catch(t){}}}var L=function(t){return a.isArray(t)?t:null};if(\"undefined\"!=typeof Symbol&amp;&amp;Symbol.iterator){var N=\"function\"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,i=[],n=t[Symbol.iterator]();!(e=n.next()).done;)i.push(e.value);return i};L=function(t){return a.isArray(t)?t:null!=t&amp;&amp;\"function\"==typeof t[Symbol.iterator]?N(t):null}}var j=void 0!==e&amp;&amp;\"[object process]\"===O(e).toLowerCase(),R=void 0!==e&amp;&amp;void 0!==e.env;function H(t){return R?e.env[t]:void 0}function z(){if(\"function\"==typeof Promise)try{var t=new Promise(function(){});if(\"[object Promise]\"==={}.toString.call(t))return Promise}catch(t){}}function F(t,e){return t.bind(e)}var B={isClass:w,isIdentifier:T,inheritedDataKeys:b,getDataPropertyOrDefault:v,thrower:y,isArray:a.isArray,asArray:L,notEnumerableProp:m,isPrimitive:f,isObject:_,isError:E,canEvaluate:o,errorObj:s,tryCatch:d,inherits:h,withAppended:p,maybeWrapAsError:g,toFastProperties:x,filledRange:S,toString:C,canAttachTrace:A,ensureErrorObject:P,originatesFromRejection:I,markAsOriginatingFromRejection:D,classString:O,copyDescriptors:M,hasDevTools:\"undefined\"!=typeof chrome&amp;&amp;chrome&amp;&amp;\"function\"==typeof chrome.loadTimes,isNode:j,hasEnvVariables:R,env:H,global:c,getNativePromise:z,domainBind:F};B.isRecentNode=B.isNode&amp;&amp;function(){var t;return e.versions&amp;&amp;e.versions.node?t=e.versions.node.split(\".\").map(Number):e.version&amp;&amp;(t=e.version.split(\".\").map(Number)),0===t[0]&amp;&amp;t[1]&gt;10||t[0]&gt;0}(),B.isNode&amp;&amp;B.toFastProperties(e);try{throw new Error}catch(t){B.lastLineError=t}n.exports=B},{\"./es5\":13}]},{},[4])(4)}(),\"undefined\"!=typeof window&amp;&amp;null!==window?window.P=window.Promise:\"undefined\"!=typeof self&amp;&amp;null!==self&amp;&amp;(self.P=self.Promise)}).call(this,i(28),i(12),i(130).setImmediate)},function(t,e,i){t.exports=i(131)},function(t,e,i){var n=i(0);t.exports=function(){var t={};return{getState:function(e){if(e)return t[e].method();var i={};for(var r in t)t[r].internal||n.mixin(i,t[r].method(),!0);return i},registerProvider:function(e,i,n){t[e]={method:i,internal:n}},unregisterProvider:function(e){delete t[e]}}}},function(t,e){t.exports=function(t){var e={};function i(i,n,r){r=r||i;var a=t.config,o=t.templates;t.config[i]&amp;&amp;e[r]!=a[i]&amp;&amp;(n&amp;&amp;o[r]||(o[r]=t.date.date_to_str(a[i]),e[r]=a[i]))}return{initTemplates:function(){var e=t.locale.labels;e.gantt_save_btn=e.icon_save,e.gantt_cancel_btn=e.icon_cancel,e.gantt_delete_btn=e.icon_delete;var n=t.date,r=n.date_to_str,a=t.config;i(\"date_scale\",!0,void 0,t.config,t.templates),i(\"date_grid\",!0,\"grid_date_format\",t.config,t.templates),i(\"task_date\",!0,void 0,t.config,t.templates),t.mixin(t.templates,{xml_date:n.str_to_date(a.xml_date,a.server_utc),xml_format:r(a.xml_date,a.server_utc),api_date:n.str_to_date(a.api_date),progress_text:function(t,e,i){return\"\"},grid_header_class:function(t,e){return\"\"},task_text:function(t,e,i){return i.text},task_class:function(t,e,i){return\"\"},grid_row_class:function(t,e,i){return\"\"},task_row_class:function(t,e,i){return\"\"},task_cell_class:function(t,e){return\"\"},scale_cell_class:function(t){return\"\"},scale_row_class:function(t){return\"\"},grid_indent:function(t){return\"&lt;div class='gantt_tree_indent'&gt;&lt;/div&gt;\"},grid_folder:function(t){return\"&lt;div class='gantt_tree_icon gantt_folder_\"+(t.$open?\"open\":\"closed\")+\"'&gt;&lt;/div&gt;\"},grid_file:function(t){return\"&lt;div class='gantt_tree_icon gantt_file'&gt;&lt;/div&gt;\"},grid_open:function(t){return\"&lt;div class='gantt_tree_icon gantt_\"+(t.$open?\"close\":\"open\")+\"'&gt;&lt;/div&gt;\"},grid_blank:function(t){return\"&lt;div class='gantt_tree_icon gantt_blank'&gt;&lt;/div&gt;\"},date_grid:function(e,i){return i&amp;&amp;t.isUnscheduledTask(i)&amp;&amp;t.config.show_unscheduled?t.templates.task_unscheduled_time(i):t.templates.grid_date_format(e)},task_time:function(e,i,n){return t.isUnscheduledTask(n)&amp;&amp;t.config.show_unscheduled?t.templates.task_unscheduled_time(n):t.templates.task_date(e)+\" - \"+t.templates.task_date(i)},task_unscheduled_time:function(t){return\"\"},time_picker:r(a.time_picker),link_class:function(t){return\"\"},link_description:function(e){var i=t.getTask(e.source),n=t.getTask(e.target);return\"&lt;b&gt;\"+i.text+\"&lt;/b&gt; &amp;ndash;  &lt;b&gt;\"+n.text+\"&lt;/b&gt;\"},drag_link:function(e,i,n,r){e=t.getTask(e);var a=t.locale.labels,o=\"&lt;b&gt;\"+e.text+\"&lt;/b&gt; \"+(i?a.link_start:a.link_end)+\"&lt;br/&gt;\";return n&amp;&amp;(o+=\"&lt;b&gt; \"+(n=t.getTask(n)).text+\"&lt;/b&gt; \"+(r?a.link_start:a.link_end)+\"&lt;br/&gt;\"),o},drag_link_class:function(e,i,n,r){var a=\"\";return e&amp;&amp;n&amp;&amp;(a=\" \"+(t.isLinkAllowed(e,n,i,r)?\"gantt_link_allow\":\"gantt_link_deny\")),\"gantt_link_tooltip\"+a},tooltip_date_format:n.date_to_str(\"%Y-%m-%d\"),tooltip_text:function(e,i,n){return\"&lt;b&gt;Task:&lt;/b&gt; \"+n.text+\"&lt;br/&gt;&lt;b&gt;Start date:&lt;/b&gt; \"+t.templates.tooltip_date_format(e)+\"&lt;br/&gt;&lt;b&gt;End date:&lt;/b&gt; \"+t.templates.tooltip_date_format(i)}})},initTemplate:i}}},function(t,e,i){var n=i(4),r=i(0),a=i(29);t.exports=function(t){function e(t){return{target:t.target||t.srcElement,pageX:t.pageX,pageY:t.pageY,clientX:t.clientX,clientY:t.clientY,metaKey:t.metaKey,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey}}function i(i,a){this._obj=i,this._settings=a||{},n(this);var o=this.getInputMethods();this._drag_start_timer=null,t.attachEvent(\"onGanttScroll\",r.bind(function(t,e){this.clearDragTimer()},this));for(var s=0;s&lt;o.length;s++)r.bind(function(n){t.event(i,n.down,r.bind(function(a){n.accessor(a)&amp;&amp;(this._settings.original_target=e(a),t.config.touch?(this.clearDragTimer(),this._drag_start_timer=setTimeout(r.bind(function(){this.dragStart(i,a,n)},this),t.config.touch_drag)):this.dragStart(i,a,n))},this)),t.event(document.body,n.up,r.bind(function(t){n.accessor(t)&amp;&amp;this.clearDragTimer()},this))},this)(o[s])}return i.prototype={traceDragEvents:function(e,i){var n=r.bind(function(t){return this.dragMove(e,t,i.accessor)},this);r.bind(function(t){return this.dragScroll(e,t)},this);var o=r.bind(function(t){if(!this.config.started||!r.defined(this.config.updates_per_second)||a(this,this.config.updates_per_second)){var e=n(t);return e&amp;&amp;(t&amp;&amp;t.preventDefault&amp;&amp;t.preventDefault(),t.cancelBubble=!0),e}},this),s=r.bind(function(n){return t.eventRemove(document.body,i.move,o),t.eventRemove(document.body,i.up,s),this.dragEnd(e)},this);t.event(document.body,i.move,o),t.event(document.body,i.up,s)},checkPositionChange:function(t){var e=t.x-this.config.pos.x,i=t.y-this.config.pos.y;return Math.sqrt(Math.pow(Math.abs(e),2)+Math.pow(Math.abs(i),2))&gt;this.config.sensitivity},initDnDMarker:function(){var t=this.config.marker=document.createElement(\"div\");t.className=\"gantt_drag_marker\",t.innerHTML=\"Dragging object\",document.body.appendChild(t)},backupEventTarget:function(i,n){if(t.config.touch){var r=n(i),a=r.target||r.srcElement,o=a.cloneNode(!0);this.config.original_target=e(r),this.config.original_target.target=o,this.config.backup_element=a,a.parentNode.appendChild(o),a.style.display=\"none\",document.body.appendChild(a)}},getInputMethods:function(){var e=[];if(e.push({move:\"mousemove\",down:\"mousedown\",up:\"mouseup\",accessor:function(t){return t}}),t.config.touch){var i=!0;try{document.createEvent(\"TouchEvent\")}catch(t){i=!1}i?e.push({move:\"touchmove\",down:\"touchstart\",up:\"touchend\",accessor:function(t){return t.touches&amp;&amp;t.touches.length&gt;1?null:t.touches[0]?{target:document.elementFromPoint(t.touches[0].clientX,t.touches[0].clientY),pageX:t.touches[0].pageX,pageY:t.touches[0].pageY,clientX:t.touches[0].clientX,clientY:t.touches[0].clientY}:t}}):window.navigator.pointerEnabled?e.push({move:\"pointermove\",down:\"pointerdown\",up:\"pointerup\",accessor:function(t){return\"mouse\"==t.pointerType?null:t}}):window.navigator.msPointerEnabled&amp;&amp;e.push({move:\"MSPointerMove\",down:\"MSPointerDown\",up:\"MSPointerUp\",accessor:function(t){return t.pointerType==t.MSPOINTER_TYPE_MOUSE?null:t}})}return e},clearDragTimer:function(){this._drag_start_timer&amp;&amp;(clearTimeout(this._drag_start_timer),this._drag_start_timer=null)},dragStart:function(e,i,n){this.config&amp;&amp;this.config.started||(this.config={obj:e,marker:null,started:!1,pos:this.getPosition(i),sensitivity:4},this._settings&amp;&amp;r.mixin(this.config,this._settings,!0),this.traceDragEvents(e,n),t._prevent_touch_scroll=!0,document.body.className+=\" gantt_noselect\",t.config.touch&amp;&amp;this.dragMove(e,i,n.accessor))},dragMove:function(e,i,n){var r=n(i);if(!r)return!1;if(!this.config.marker&amp;&amp;!this.config.started){var a=this.getPosition(r);if(t.config.touch||this.checkPositionChange(a)){if(this.config.started=!0,this.config.ignore=!1,!1===this.callEvent(\"onBeforeDragStart\",[e,this.config.original_target]))return this.config.ignore=!0,!1;this.backupEventTarget(i,n),this.initDnDMarker(),t._touch_feedback(),this.callEvent(\"onAfterDragStart\",[e,this.config.original_target])}else this.config.ignore=!0}return!this.config.ignore&amp;&amp;(r.pos=this.getPosition(r),this.config.marker.style.left=r.pos.x+\"px\",this.config.marker.style.top=r.pos.y+\"px\",this.callEvent(\"onDragMove\",[e,r]),!0)},dragEnd:function(e){var i=this.config.backup_element;i&amp;&amp;i.parentNode&amp;&amp;i.parentNode.removeChild(i),t._prevent_touch_scroll=!1,this.config.marker&amp;&amp;(this.config.marker.parentNode.removeChild(this.config.marker),this.config.marker=null,this.callEvent(\"onDragEnd\",[])),this.config.started=!1,document.body.className=document.body.className.replace(\" gantt_noselect\",\"\")},getPosition:function(t){var e=0,i=0;return(t=t||window.event).pageX||t.pageY?(e=t.pageX,i=t.pageY):(t.clientX||t.clientY)&amp;&amp;(e=t.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=t.clientY+document.body.scrollTop+document.documentElement.scrollTop),{x:e,y:i}}},i}},function(t,e){t.exports=function(t){var e={init:function(){for(var e=t.locale,i=e.date.month_short,n=e.date.month_short_hash={},r=0;r&lt;i.length;r++)n[i[r]]=r;for(i=e.date.month_full,n=e.date.month_full_hash={},r=0;r&lt;i.length;r++)n[i[r]]=r},date_part:function(t){var e=new Date(t);return t.setHours(0),this.hour_start(t),t.getHours()&amp;&amp;(t.getDate()&lt;e.getDate()||t.getMonth()&lt;e.getMonth()||t.getFullYear()&lt;e.getFullYear())&amp;&amp;t.setTime(t.getTime()+36e5*(24-t.getHours())),t},time_part:function(t){return(t.valueOf()/1e3-60*t.getTimezoneOffset())%86400},week_start:function(e){var i=e.getDay();return t.config.start_on_monday&amp;&amp;(0===i?i=6:i--),this.date_part(this.add(e,-1*i,\"day\"))},month_start:function(t){return t.setDate(1),this.date_part(t)},quarter_start:function(t){this.month_start(t);var e,i=t.getMonth();return e=i&gt;=9?9:i&gt;=6?6:i&gt;=3?3:0,t.setMonth(e),t},year_start:function(t){return t.setMonth(0),this.month_start(t)},day_start:function(t){return this.date_part(t)},hour_start:function(t){return t.getMinutes()&amp;&amp;t.setMinutes(0),this.minute_start(t),t},minute_start:function(t){return t.getSeconds()&amp;&amp;t.setSeconds(0),t.getMilliseconds()&amp;&amp;t.setMilliseconds(0),t},_add_days:function(t,e){var i=new Date(t.valueOf());return i.setDate(i.getDate()+e),e&gt;=0&amp;&amp;!t.getHours()&amp;&amp;i.getHours()&amp;&amp;(i.getDate()&lt;=t.getDate()||i.getMonth()&lt;t.getMonth()||i.getFullYear()&lt;t.getFullYear())&amp;&amp;i.setTime(i.getTime()+36e5*(24-i.getHours())),i},add:function(t,e,i){var n=new Date(t.valueOf());switch(i){case\"day\":n=this._add_days(n,e);break;case\"week\":n=this._add_days(n,7*e);break;case\"month\":n.setMonth(n.getMonth()+e);break;case\"year\":n.setYear(n.getFullYear()+e);break;case\"hour\":n.setTime(n.getTime()+60*e*60*1e3);break;case\"minute\":n.setTime(n.getTime()+60*e*1e3);break;default:return this[\"add_\"+i](t,e,i)}return n},add_quarter:function(t,e){return this.add(t,3*e,\"month\")},to_fixed:function(t){return t&lt;10?\"0\"+t:t},copy:function(t){return new Date(t.valueOf())},date_to_str:function(i,n){i=i.replace(/%[a-zA-Z]/g,function(t){switch(t){case\"%d\":return'\"+to_fixed(date.getDate())+\"';case\"%m\":return'\"+to_fixed((date.getMonth()+1))+\"';case\"%j\":return'\"+date.getDate()+\"';case\"%n\":return'\"+(date.getMonth()+1)+\"';case\"%y\":return'\"+to_fixed(date.getFullYear()%100)+\"';case\"%Y\":return'\"+date.getFullYear()+\"';case\"%D\":return'\"+locale.date.day_short[date.getDay()]+\"';case\"%l\":return'\"+locale.date.day_full[date.getDay()]+\"';case\"%M\":return'\"+locale.date.month_short[date.getMonth()]+\"';case\"%F\":return'\"+locale.date.month_full[date.getMonth()]+\"';case\"%h\":return'\"+to_fixed((date.getHours()+11)%12+1)+\"';case\"%g\":return'\"+((date.getHours()+11)%12+1)+\"';case\"%G\":return'\"+date.getHours()+\"';case\"%H\":return'\"+to_fixed(date.getHours())+\"';case\"%i\":return'\"+to_fixed(date.getMinutes())+\"';case\"%a\":return'\"+(date.getHours()&gt;11?\"pm\":\"am\")+\"';case\"%A\":return'\"+(date.getHours()&gt;11?\"PM\":\"AM\")+\"';case\"%s\":return'\"+to_fixed(date.getSeconds())+\"';case\"%W\":return'\"+to_fixed(getISOWeek(date))+\"';case\"%w\":return'\"+to_fixed(getWeek(date))+\"';default:return t}}),n&amp;&amp;(i=i.replace(/date\\.get/g,\"date.getUTC\"));var r=new Function(\"date\",\"to_fixed\",\"locale\",\"getISOWeek\",\"getWeek\",'return \"'+i+'\";');return function(i){return r(i,e.to_fixed,t.locale,e.getISOWeek,e.getWeek)}},str_to_date:function(e,i){for(var n=\"var temp=date.match(/[a-zA-Z]+|[0-9]+/g);\",r=e.match(/%[a-zA-Z]/g),a=0;a&lt;r.length;a++)switch(r[a]){case\"%j\":case\"%d\":n+=\"set[2]=temp[\"+a+\"]||1;\";break;case\"%n\":case\"%m\":n+=\"set[1]=(temp[\"+a+\"]||1)-1;\";break;case\"%y\":n+=\"set[0]=temp[\"+a+\"]*1+(temp[\"+a+\"]&gt;50?1900:2000);\";break;case\"%g\":case\"%G\":case\"%h\":case\"%H\":n+=\"set[3]=temp[\"+a+\"]||0;\";break;case\"%i\":n+=\"set[4]=temp[\"+a+\"]||0;\";break;case\"%Y\":n+=\"set[0]=temp[\"+a+\"]||0;\";break;case\"%a\":case\"%A\":n+=\"set[3]=set[3]%12+((temp[\"+a+\"]||'').toLowerCase()=='am'?0:12);\";break;case\"%s\":n+=\"set[5]=temp[\"+a+\"]||0;\";break;case\"%M\":n+=\"set[1]=locale.date.month_short_hash[temp[\"+a+\"]]||0;\";break;case\"%F\":n+=\"set[1]=locale.date.month_full_hash[temp[\"+a+\"]]||0;\"}var o=\"set[0],set[1],set[2],set[3],set[4],set[5]\";i&amp;&amp;(o=\" Date.UTC(\"+o+\")\");var s=new Function(\"date\",\"locale\",\"var set=[0,0,1,0,0,0]; \"+n+\" return new Date(\"+o+\");\");return function(e){return s(e,t.locale)}},getISOWeek:function(e){return t.date._getWeekNumber(e,!0)},_getWeekNumber:function(t,e){if(!t)return!1;var i=t.getDay();e&amp;&amp;0===i&amp;&amp;(i=7);var n=new Date(t.valueOf());n.setDate(t.getDate()+(4-i));var r=n.getFullYear(),a=Math.round((n.getTime()-new Date(r,0,1).getTime())/864e5);return 1+Math.floor(a/7)},getWeek:function(e){return t.date._getWeekNumber(e,t.config.start_on_monday)},getUTCISOWeek:function(e){return t.date.getISOWeek(e)},convert_to_utc:function(t){return new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())},parseDate:function(e,i){return e&amp;&amp;!e.getFullYear&amp;&amp;(\"function\"!=typeof i&amp;&amp;(i=\"string\"==typeof i?t.defined(t.templates[i])?t.templates[i]:t.date.str_to_date(i):t.templates.xml_date),e=e?i(e):null),e}};return e}},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function(t){if(\"string\"==typeof t||\"number\"==typeof t)return t;var e=\"\";for(var i in t){var n=\"\";t.hasOwnProperty(i)&amp;&amp;(n=i+\"=\"+(n=\"string\"==typeof t[i]?encodeURIComponent(t[i]):\"number\"==typeof t[i]?t[i]:encodeURIComponent(JSON.stringify(t[i]))),e.length&amp;&amp;(n=\"&amp;\"+n),e+=n)}return e}},function(t,e,i){var n=i(13),r=i(137).default;function a(t,e){var i={method:t};if(0===e.length)throw new Error(\"Arguments list of query is wrong.\");if(1===e.length)return\"string\"==typeof e[0]?(i.url=e[0],i.async=!0):(i.url=e[0].url,i.async=e[0].async||!0,i.callback=e[0].callback,i.headers=e[0].headers),e[0].data?\"string\"!=typeof e[0].data?i.data=r(e[0].data):i.data=e[0].data:i.data=\"\",i;switch(i.url=e[0],t){case\"GET\":case\"DELETE\":i.callback=e[1],i.headers=e[2];break;case\"POST\":case\"PUT\":e[1]?\"string\"!=typeof e[1]?i.data=r(e[1]):i.data=e[1]:i.data=\"\",i.callback=e[2],i.headers=e[3]}return i}t.exports=function(t){return{cache:!0,method:\"get\",parse:function(t){return\"string\"!=typeof t?t:(t=t.replace(/^[\\s]+/,\"\"),window.DOMParser&amp;&amp;!n.isIE?e=(new window.DOMParser).parseFromString(t,\"text/xml\"):window.ActiveXObject!==window.undefined&amp;&amp;((e=new window.ActiveXObject(\"Microsoft.XMLDOM\")).async=\"false\",e.loadXML(t)),e);var e},xmltop:function(e,i,n){if(void 0===i.status||i.status&lt;400){var r=i.responseXML?i.responseXML||i:this.parse(i.responseText||i);if(r&amp;&amp;null!==r.documentElement&amp;&amp;!r.getElementsByTagName(\"parsererror\").length)return r.getElementsByTagName(e)[0]}return-1!==n&amp;&amp;t.callEvent(\"onLoadXMLError\",[\"Incorrect XML\",arguments[1],n]),document.createElement(\"DIV\")},xpath:function(t,e){if(e.nodeName||(e=e.responseXML||e),n.isIE)return e.selectNodes(t)||[];for(var i,r=[],a=(e.ownerDocument||e).evaluate(t,e,null,XPathResult.ANY_TYPE,null);i=a.iterateNext();)r.push(i);return r},query:function(t){return this._call(t.method||\"GET\",t.url,t.data||\"\",t.async||!0,t.callback,t.headers)},get:function(t,e,i){var n=a(\"GET\",arguments);return this.query(n)},getSync:function(t,e){var i=a(\"GET\",arguments);return i.async=!1,this.query(i)},put:function(t,e,i,n){var r=a(\"PUT\",arguments);return this.query(r)},del:function(t,e,i){var n=a(\"DELETE\",arguments);return this.query(n)},post:function(t,e,i,n){1==arguments.length?e=\"\":2!=arguments.length||\"function\"!=typeof e&amp;&amp;\"function\"!=typeof window[e]||(e,e=\"\");var r=a(\"POST\",arguments);return this.query(r)},postSync:function(t,e,i){e=null===e?\"\":String(e);var n=a(\"POST\",arguments);return n.async=!1,this.query(n)},_call:function(e,i,r,a,o,s){return new t.Promise(function(l,c){var u=window.XMLHttpRequest&amp;&amp;!n.isIE?new XMLHttpRequest:new window.ActiveXObject(\"Microsoft.XMLHTTP\"),d=null!==navigator.userAgent.match(/AppleWebKit/)&amp;&amp;null!==navigator.userAgent.match(/Qt/)&amp;&amp;null!==navigator.userAgent.match(/Safari/);if(a&amp;&amp;(u.onreadystatechange=function(){if(4==u.readyState||d&amp;&amp;3==u.readyState){if((200!=u.status||\"\"===u.responseText)&amp;&amp;!t.callEvent(\"onAjaxError\",[u]))return;window.setTimeout(function(){\"function\"==typeof o&amp;&amp;o.apply(window,[{xmlDoc:u,filePath:i}]),l(u),\"function\"==typeof o&amp;&amp;(o=null,u=null)},0)}}),\"GET\"!=e||this.cache||(i+=(i.indexOf(\"?\")&gt;=0?\"&amp;\":\"?\")+\"dhxr\"+(new Date).getTime()+\"=1\"),u.open(e,i,a),s)for(var h in s)u.setRequestHeader(h,s[h]);else\"POST\"==e.toUpperCase()||\"PUT\"==e||\"DELETE\"==e?u.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"):\"GET\"==e&amp;&amp;(r=null);if(u.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),u.send(r),!a)return{xmlDoc:u,filePath:i}})},urlSeparator:function(t){return-1!=t.indexOf(\"?\")?\"&amp;\":\"?\"}}}},function(t,e){t.exports=function(){return{layout:{css:\"gantt_container\",rows:[{cols:[{view:\"grid\",scrollX:\"scrollHor\",scrollY:\"scrollVer\"},{resizer:!0,width:1},{view:\"timeline\",scrollX:\"scrollHor\",scrollY:\"scrollVer\"},{view:\"scrollbar\",id:\"scrollVer\"}]},{view:\"scrollbar\",id:\"scrollHor\",height:20}]},links:{finish_to_start:\"0\",start_to_start:\"1\",finish_to_finish:\"2\",start_to_finish:\"3\"},types:{task:\"task\",project:\"project\",milestone:\"milestone\"},auto_types:!1,duration_unit:\"day\",work_time:!1,correct_work_time:!1,skip_off_time:!1,cascade_delete:!0,autosize:!1,autosize_min_width:0,autoscroll:!0,autoscroll_speed:30,show_links:!0,show_task_cells:!0,static_background:!1,branch_loading:!1,branch_loading_property:\"$has_child\",show_loading:!1,show_chart:!0,show_grid:!0,min_duration:36e5,xml_date:\"%d-%m-%Y %H:%i\",api_date:\"%d-%m-%Y %H:%i\",start_on_monday:!0,server_utc:!1,show_progress:!0,fit_tasks:!1,select_task:!0,scroll_on_click:!0,preserve_scroll:!0,readonly:!1,date_grid:\"%Y-%m-%d\",drag_links:!0,drag_progress:!0,drag_resize:!0,drag_project:!1,drag_move:!0,drag_mode:{resize:\"resize\",progress:\"progress\",move:\"move\",ignore:\"ignore\"},round_dnd_dates:!0,link_wrapper_width:20,root_id:0,autofit:!1,columns:[{name:\"text\",tree:!0,width:\"*\",resize:!0},{name:\"start_date\",align:\"center\",resize:!0},{name:\"duration\",align:\"center\"},{name:\"add\",width:44}],step:1,scale_unit:\"day\",scale_offset_minimal:!0,subscales:[],inherit_scale_class:!1,time_step:60,duration_step:1,date_scale:\"%d %M\",task_date:\"%d %F %Y\",time_picker:\"%H:%i\",task_attribute:\"task_id\",link_attribute:\"link_id\",layer_attribute:\"data-layer\",buttons_left:[\"gantt_save_btn\",\"gantt_cancel_btn\"],_migrate_buttons:{dhx_save_btn:\"gantt_save_btn\",dhx_cancel_btn:\"gantt_cancel_btn\",dhx_delete_btn:\"gantt_delete_btn\"},buttons_right:[\"gantt_delete_btn\"],lightbox:{sections:[{name:\"description\",height:70,map_to:\"text\",type:\"textarea\",focus:!0},{name:\"time\",type:\"duration\",map_to:\"auto\"}],project_sections:[{name:\"description\",height:70,map_to:\"text\",type:\"textarea\",focus:!0},{name:\"type\",type:\"typeselect\",map_to:\"type\"},{name:\"time\",type:\"duration\",readonly:!0,map_to:\"auto\"}],milestone_sections:[{name:\"description\",height:70,map_to:\"text\",type:\"textarea\",focus:!0},{name:\"type\",type:\"typeselect\",map_to:\"type\"},{name:\"time\",type:\"duration\",single_date:!0,map_to:\"auto\"}]},drag_lightbox:!0,sort:!1,details_on_create:!0,details_on_dblclick:!0,initial_scroll:!0,task_scroll_offset:100,order_branch:!1,order_branch_free:!1,task_height:\"full\",min_column_width:70,min_grid_column_width:70,grid_resizer_column_attribute:\"column_index\",grid_resizer_attribute:\"grid_resizer\",keep_grid_width:!1,grid_resize:!1,show_unscheduled:!0,readonly_property:\"readonly\",editable_property:\"editable\",calendar_property:\"calendar_id\",resource_calendars:{},inherit_calendar:!1,type_renderers:{},open_tree_initially:!1,optimize_render:!0,prevent_default_scroll:!1,show_errors:!0,wai_aria_attributes:!0,smart_scales:!0,rtl:!1,placeholder_task:!1}}},function(t,e){t.exports=function(){var t={};return{services:{config:\"config\",templates:\"templates\",locale:\"locale\"},setService:function(e,i){t[e]=i},getService:function(e){return t[e]?t[e]():null},dropService:function(e){t[e]&amp;&amp;delete t[e]},config:function(){return this.getService(\"config\")},templates:function(){return this.getService(\"templates\")},locale:function(){return this.getService(\"locale\")},destructor:function(){for(var e in t)if(t[e]){var i=t[e];i&amp;&amp;i.destructor&amp;&amp;i.destructor()}t=null}}}},function(t,e){t.exports=function(t){t.$inject=function(t){return t(this.$services)}}},function(t,e){t.exports={KEY_CODES:{UP:38,DOWN:40,LEFT:37,RIGHT:39,SPACE:32,ENTER:13,DELETE:46,ESC:27,TAB:9}}},function(t,e,i){i(15),t.exports=function(){var t=new function(){this.constants=i(142),this.version=\"6.1.6\",this.templates={},this.ext={},this.keys={edit_save:this.constants.KEY_CODES.ENTER,edit_cancel:this.constants.KEY_CODES.ESC}};i(141)(t),t.$services=t.$inject(i(140)),t.config=t.$inject(i(139)),t.ajax=i(138)(t),t.date=i(136)(t);var e=i(135)(t);t.$services.setService(\"dnd\",function(){return e}),t.$services.setService(\"config\",function(){return t.config}),t.$services.setService(\"date\",function(){return t.date}),t.$services.setService(\"locale\",function(){return t.locale}),t.$services.setService(\"templates\",function(){return t.templates});var n=i(134)(t);t.$services.setService(\"templateLoader\",function(){return n}),i(4)(t);var r=new(i(133));r.registerProvider(\"global\",function(){return{min_date:t._min_date,max_date:t._max_date,selected_task:t.$data.tasksStore.getSelectedId()}}),t.getState=r.getState,t.$services.setService(\"state\",function(){return r});var a=i(0);a.mixin(t,a),t.Promise=i(132),t.env=i(13);var o=i(1);t.utils={dom:{getNodePosition:o.getNodePosition,getRelativeEventPosition:o.getRelativeEventPosition,isChildOf:o.isChildOf,hasClass:o.hasClass,closest:o.closest}};var s=i(16)();t.event=s.attach,t.eventRemove=s.detach,t._eventRemoveAll=s.detachAll,t._createDomEventScope=s.extend,a.mixin(t,i(128)(t));var l=i(127).init(t);t.$ui=l.factory,t.$ui.layers=l.render,t.$mouseEvents=l.mouseEvents,t.$services.setService(\"mouseEvents\",function(){return t.$mouseEvents}),t.mixin(t,l.layersApi),i(91)(t),t.$services.setService(\"layers\",function(){return l.layersService});var c=i(90);t.mixin(t,c()),i(89)(t);var u=i(82);return t.dataProcessor=u.DEPRECATED_api,t.createDataProcessor=u.createDataProcessor,i(78)(t),i(69)(t),i(68)(t),i(67)(t),i(66)(t),i(65)(t),i(64)(t),i(55)(t),i(54)(t),i(45)(t),i(44)(t),i(43)(t),i(42)(t),i(41)(t),i(40)(t),i(39)(t),i(38)(t),i(37)(t),i(36)(t),i(35)(t),i(34)(t),i(33)(t),i(32)(t),i(30)(t),t}},function(t,e){t.exports=function(t){}},function(t,e,i){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=i(144),r=i(143),a=window.gantt=r();e.gantt=a,n(a),e.default=a}])});&#13;\n            //# sourceMappingURL=dhtmlxgantt.js.map</script><script_name>dhtmlx-gantt-chart-v.6.1.6</script_name><sys_class_name>sys_ui_script</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:24:29</sys_created_on><sys_id>89bfdffddbbd7f0005cfd4f3ce9619d6</sys_id><sys_mod_count>1</sys_mod_count><sys_name>x_snc_dhtmlx_gantt.dhtmlx-gantt-chart-v.</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sys_ui_script_89bfdffddbbd7f0005cfd4f3ce9619d6</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:24:47</sys_updated_on><ui_type>0</ui_type><use_scoped_format>false</use_scoped_format></sys_ui_script></record_update>]]></payload>\n        <payload_hash>-2104996106</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>6c3760c2db75bf0005cfd4f3ce9619eb</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c53820000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>x_snc_dhtmlx_gantt.dhtmlx-gantt-chart-v.</target_name>\n        <type>UI Script</type>\n        <update_domain>global</update_domain>\n        <update_guid>29efd331b7fd7f00c7d973605b40d74d</update_guid>\n        <update_guid_history>29efd331b7fd7f00c7d973605b40d74d:-2104996106,59dfdffdb5bd7f00a6d493a4b5f48632:1889347812</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>DELETE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_instance_8c4e137ddbbd7f0005cfd4f3ce9619dd</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"\">9a1e9bf9dbbd7f0005cfd4f3ce961909</sp_column><sp_widget display_value=\"Dhtmlx-Gantt\">c12426540b132200b7d0c32c15673ad4</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:17:35</sys_created_on><sys_id>8c4e137ddbbd7f0005cfd4f3ce9619dd</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_instance_8c4e137ddbbd7f0005cfd4f3ce9619dd</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:17:35</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=8c4e137ddbbd7f0005cfd4f3ce9619dd\"/></record_update>]]></payload>\n        <payload_hash>-862252520</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>a03760c2db75bf0005cfd4f3ce9619ea</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51ee0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name/>\n        <type>Instance</type>\n        <update_domain>global</update_domain>\n        <update_guid>805ed37d73bd7f00f38ab4bcbc2dd143</update_guid>\n        <update_guid_history>805ed37d73bd7f00f38ab4bcbc2dd143:-862252520,c84e137da5bd7f005b6174353932a2df:-1189764853</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>m2m_sp_dependency_js_include_3e002731dbfd7f0005cfd4f3ce961962</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"dhtmlx-gantt-chart-v.6.1.6\">888fdbfddbbd7f0005cfd4f3ce961900</sp_dependency><sp_js_include display_value=\"dhtmlx-gantt-chart-js-include\">46efd331dbfd7f0005cfd4f3ce9619c9</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:25:25</sys_created_on><sys_id>3e002731dbfd7f0005cfd4f3ce961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt-chart.</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>m2m_sp_dependency_js_include_3e002731dbfd7f0005cfd4f3ce961962</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:25:25</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n        <payload_hash>1161975803</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>a037a882db75bf0005cfd4f3ce9619b7</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c53c60000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart.</target_name>\n        <type>Dependency JS Includes</type>\n        <update_domain>global</update_domain>\n        <update_guid>070027319cfd7f009e33dfc644fe3664</update_guid>\n        <update_guid_history>070027319cfd7f009e33dfc644fe3664:-1162644953</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_css_include_07a0eb71dbfd7f0005cfd4f3ce961980</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>dhtmlx-gantt-chart-css</name><source>local</source><sp_css display_value=\"dhtmlx-gantt-chart-style-sheet\">a1802b71dbfd7f0005cfd4f3ce96194b</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:28:25</sys_created_on><sys_id>07a0eb71dbfd7f0005cfd4f3ce961980</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt-chart-css</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_css_include_07a0eb71dbfd7f0005cfd4f3ce961980</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:28:25</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n        <payload_hash>-397581636</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>a43760c2db75bf0005cfd4f3ce9619e9</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c54690000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-css</target_name>\n        <type>CSS Include</type>\n        <update_domain>global</update_domain>\n        <update_guid>3eb0eb7173fd7f0008444a384e85e9b0</update_guid>\n        <update_guid_history>3eb0eb7173fd7f0008444a384e85e9b0:-397581636</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>DELETE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_column_9a1e9bf9dbbd7f0005cfd4f3ce961909</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">d61e9bf9dbbd7f0005cfd4f3ce961907</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:16:55</sys_created_on><sys_id>9a1e9bf9dbbd7f0005cfd4f3ce961909</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_column_9a1e9bf9dbbd7f0005cfd4f3ce961909</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:16:55</sys_updated_on></sp_column></record_update>]]></payload>\n        <payload_hash>-2050439953</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>a83760c2db75bf0005cfd4f3ce9619e8</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51d90000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>1</target_name>\n        <type>Column</type>\n        <update_domain>global</update_domain>\n        <update_guid>445ed37d10bd7f00522532c1a0169a46</update_guid>\n        <update_guid_history>445ed37d10bd7f00522532c1a0169a46:-2050439953,9e1e9bf921bd7f00186646da7f48200a:1095941859</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sys_scope_privilege_aefbdbf5dbbd7f0005cfd4f3ce961932</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:07:39</sys_created_on><sys_id>aefbdbf5dbbd7f0005cfd4f3ce961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pm_project</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sys_scope_privilege_aefbdbf5dbbd7f0005cfd4f3ce961932</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:07:39</sys_updated_on><target_name>pm_project</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n        <payload_hash>1049263889</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>a83760c2db75bf0005cfd4f3ce9619eb</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51750000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>pm_project</target_name>\n        <type>Cross scope privilege</type>\n        <update_domain>global</update_domain>\n        <update_guid>22fb5f3953bd7f00581b4e02305b729e</update_guid>\n        <update_guid_history>22fb5f3953bd7f00581b4e02305b729e:1049263889</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>DELETE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_row_d61e9bf9dbbd7f0005cfd4f3ce961907</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Gantt Page - Container 1\">8d1e9bf9dbbd7f0005cfd4f3ce961925</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:16:55</sys_created_on><sys_id>d61e9bf9dbbd7f0005cfd4f3ce961907</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_row_d61e9bf9dbbd7f0005cfd4f3ce961907</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:16:55</sys_updated_on></sp_row></record_update>]]></payload>\n        <payload_hash>-1222350062</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>ac3760c2db75bf0005cfd4f3ce9619ea</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51fa0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>1</target_name>\n        <type>Row</type>\n        <update_domain>global</update_domain>\n        <update_guid>d45ed37d75bd7f00e76063ad4b3a404d</update_guid>\n        <update_guid_history>d45ed37d75bd7f00e76063ad4b3a404d:-1222350062,5e1e9bf940bd7f005f20a702dc999c08:2002621190</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_css_a1802b71dbfd7f0005cfd4f3ce96194b</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>.gridHoverStyle,.gridSelection,.timelineSelection{background-color:#fff3a1}.gantt_grid_scale .gantt_grid_head_cell{color:#a6a6a6;border-top:none!important;border-right:none!important}.gantt_grid_data .gantt_cell{border-right:none;color:#454545}.gantt_task_link .gantt_link_arrow_right{border-width:6px;margin-top:-3px}.gantt_task_link .gantt_link_arrow_left{border-width:6px;margin-left:-6px;margin-top:-3px}.gantt_task_link .gantt_link_arrow_down,.gantt_task_link .gantt_link_arrow_up{border-width:6px}.gantt_task_line .gantt_task_progress_drag{bottom:-4px;height:10px;margin-left:-8px;width:16px}.chartHeaderBg{background-color:#fff}.gantt_task .gantt_task_scale .gantt_scale_cell{color:#a6a6a6;border-right:1px solid #ebebeb}.gantt_row.gantt_project,.gantt_row.odd.gantt_project{background-color:#edffef}.gantt_task_row.gantt_project,.gantt_task_row.odd.gantt_project{background-color:#f5fff6}.gantt_task_line.gantt_project{background-color:#65c16f;border:1px solid #3c9445}.gantt_task_line.gantt_project .gantt_task_progress{background-color:#46ad51}.buttonBg{background:#fff}.gantt_cal_light .gantt_btn_set{margin:5px 10px}.gantt_btn_set.gantt_cancel_btn_set{background:#fff;color:#454545;border:1px solid #cecece}.gantt_btn_set.gantt_save_btn_set{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff}.gantt_btn_set.gantt_delete_btn_set{text-shadow:0 -1px 0 #6f6f6f;background:#ec8e00;text-shadow:0 -1px 0 #a60;color:#fff}.gantt_cal_light_wide{padding-left:0!important;padding-right:0!important}.gantt_cal_light_wide .gantt_cal_larea{border-left:none!important;border-right:none!important}.gantt_popup_button.gantt_ok_button{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff;font-weight:700;border-width:0}.gantt_popup_button.gantt_cancel_button{font-weight:700;color:#454544}.gantt_popup_title{background-color:#fff}.gantt_popup_shadow{box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_qi_big_icon.icon_edit{color:#454545;background:#fff}.gantt_qi_big_icon.icon_delete{text-shadow:0 -1px 0 #a60;background:#ec8e00;color:#fff;border-width:0}.gantt_tooltip{box-shadow:3px 3px 3px rgba(0,0,0,.07);border-left:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);font-size:8pt;color:#454545}.gantt_container,.gantt_tooltip{background-color:#fff;font-family:Arial}.gantt_container{font-size:13px;border:1px solid #cecece;position:relative;white-space:nowrap;overflow-x:hidden;overflow-y:hidden}.gantt_task_scroll{overflow-x:scroll}.gantt_grid,.gantt_task{position:relative;overflow-x:hidden;overflow-y:hidden;display:inline-block;vertical-align:top}.gantt_grid_scale,.gantt_task_scale{color:#6b6b6b;font-size:12px;border-bottom:1px solid #cecece;box-sizing:border-box}.gantt_grid_scale,.gantt_task_scale,.gantt_task_vscroll{background-color:#fff}.gantt_scale_line{box-sizing:border-box;-moz-box-sizing:border-box;border-top:1px solid #cecece}.gantt_scale_line:first-child{border-top:none}.gantt_grid_head_cell{display:inline-block;vertical-align:top;border-right:1px solid #cecece;text-align:center;position:relative;cursor:default;height:100%;box-sizing:border-box;-moz-box-sizing:border-box;line-height:33px;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none;overflow:hidden}.gantt_scale_line{clear:both}.gantt_grid_data{width:100%;overflow:hidden;position:relative}.gantt_row{position:relative;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_add,.gantt_grid_head_add{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTQ3MjMyMENDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTQ3MjMyMERDNkI0MTFFMjk4MTI5QTg3MDhFNDVDQTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1NDcyMzIwQUM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1NDcyMzIwQkM2QjQxMUUyOTgxMjlBODcwOEU0NUNBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshZT8UAAABbSURBVHjaYrTdeZmBEsCER+4wEP+H4sPkGGCDg020ARR7gb4GIAcYDKMDdPnDyAbYkGG5DVW9cIQMvUdBBAuUY4vDz8iAcZinA2zgCHqAYQMseAywJcYFAAEGAM+UFGuohFczAAAAAElFTkSuQmCC);background-position:50%;background-repeat:no-repeat;cursor:pointer;position:relative;-moz-opacity:.3;opacity:.3}.gantt_grid_head_cell.gantt_grid_head_add{-moz-opacity:.6;opacity:.6;top:0}.gantt_grid_head_cell.gantt_grid_head_add:hover{-moz-opacity:1;opacity:1}.gantt_grid_data .gantt_row.odd:hover,.gantt_grid_data .gantt_row:hover{background-color:#fff3a1}.gantt_grid_data .gantt_row.odd:hover .gantt_add,.gantt_grid_data .gantt_row:hover .gantt_add{-moz-opacity:1;opacity:1}.gantt_row,.gantt_task_row{border-bottom:1px solid #ebebeb;background-color:#fff}.gantt_row.odd,.gantt_task_row.odd{background-color:#fff}.gantt_cell,.gantt_grid_head_cell,.gantt_row,.gantt_scale_cell,.gantt_task_cell,.gantt_task_row{box-sizing:border-box;-moz-box-sizing:border-box}.gantt_grid_head_cell,.gantt_scale_cell{line-height:inherit}.gantt_grid_scale .gantt_grid_column_resize_wrap{cursor:col-resize;position:absolute;width:13px;margin-left:-7px}.gantt_grid_column_resize_wrap .gantt_grid_column_resize{background-color:#cecece;height:100%;width:1px;margin:0 auto}.gantt_drag_marker.gantt_grid_resize_area{background-color:hsla(0,0%,91%,.5);border-left:1px solid #cecece;border-right:1px solid #cecece;height:100%;width:100%;box-sizing:border-box}.gantt_cell{display:inline-block;vertical-align:top;border-right:1px solid #ebebeb;padding-left:6px;padding-right:6px;height:100%;overflow:hidden;white-space:nowrap;font-size:13px}.gantt_grid_data .gantt_last_cell,.gantt_grid_scale .gantt_last_cell,.gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell,.gantt_task_bg .gantt_last_cell{border-right-width:0}.gantt_task .gantt_task_scale .gantt_scale_cell.gantt_last_cell{border-right-width:1px}.gantt_task_bg{overflow:hidden}.gantt_scale_cell{display:inline-block;white-space:nowrap;overflow:hidden;border-right:1px solid #cecece;text-align:center;height:100%}.gantt_task_cell{display:inline-block;height:100%;border-right:1px solid #ebebeb}.gantt_layout_cell.gantt_ver_scroll{width:0;background-color:transparent;height:1px;overflow-x:hidden;overflow-y:scroll;position:absolute;right:0;z-index:1}.gantt_ver_scroll&gt;div{width:1px;height:1px}.gantt_hor_scroll{height:0;background-color:transparent;width:100%;clear:both;overflow-x:scroll;overflow-y:hidden}.gantt_layout_cell .gantt_hor_scroll{position:absolute}.gantt_hor_scroll&gt;div{width:5000px;height:1px}.gantt_tree_indent{width:15px;height:100%;display:inline-block}.gantt_tree_content,.gantt_tree_icon{vertical-align:top}.gantt_tree_icon{width:28px;background-repeat:no-repeat;background-position:50%}.gantt_tree_content,.gantt_tree_icon{height:100%;display:inline-block}.gantt_tree_icon.gantt_open{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAArklEQVQ4T2NkoBJgpJI5DEPAoFOnTv0/c+YMQR+bmJgwmJmZwX2E4bVp06b9j4yMZODg4MBp2I8fPxiWL1/OkJWVNUAGcXJyMnz//h3uQrJdRLFBIAPQAchlJLsIFuCMjIwM////B5sJMoRkg2CuIdtrQcHBDOxsbHBfCQgIMHz48AHO//nrF8O6tWsJR7+7uzsDIxMTznT0/98/hp07d+I3iGopm2DewKFg8OV+AJWkfRMrTobLAAAAAElFTkSuQmCC);width:18px;cursor:pointer}.gantt_tree_icon.gantt_close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAkUlEQVQ4T2NkoBJgpJI5DEPAoFOnTv0/c+YMQR+bmJgwmJmZwX2E4bVp06b9j4yMZODg4MBp2I8fPxiWL1/OkJWVNeIN4uTkxAin79+/M5AcRtgCHGQIyQbhijaiDQoKDmZgZ2PDGf0/f/1iWLd2LeHod3d3Z2BkYsJp0P9//xh27tyJ3yCqpWyCeQOHgsGX+wEZpW4T5LCxKwAAAABJRU5ErkJggg==);width:18px;cursor:pointer}.gantt_tree_icon.gantt_blank{width:18px}.gantt_tree_icon.gantt_folder_open{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAs0lEQVQ4T62T0Q2EIBBEpQlzuaaMsQoqooqLsSljbMLLmMxmUXBR4U+Qt7Mzi2sqLVeJ00SgEMKWAnvvzYLyAyHfT5sU2fXDJSwCAXK8MI0/UTkva7IIFJsg3NSwnKdFoKtAWOQ1CN7CEqeTotE5L7QyJhmBcklZM4ZgTiAr3iOU3kD93ppO5SkMjB1EeXdBWoSkRql3YeIRe+cGvktS056JR9wsmeBUkujCfNXWCPC8GugPqn5ii/hV+FoAAAAASUVORK5CYII=)}.gantt_tree_icon.gantt_folder_closed{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAfElEQVQ4T2NkoBJgpJI5DCgGTZ8+/T82gzMzMwlaCFcAM0RKQgyrI/0Dg/EahmIQyBB0DRvXr4W78tmLV1gtAbmYoEEgnciG4QpTogzCFyEwSyg2CBS2oCAZNQh3cA+hMAJ5AlcKxuVBlOgnNgVjMwyUrQjmamKLGaoZBAAOTFyLnFFW4wAAAABJRU5ErkJggg==)}.gantt_tree_icon.gantt_file{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAeElEQVQ4T2NkoBJgRDZn+vTp/wmZm5mZiaIHph7DICkJMUJmMfgHBmMYhtUgbAo3rl+L4lp0NUQbBPI2umuRDaPIIFAYwAyjv0HoMQALM5JdhG4QLMxGDcKdyIdoGIE89OzFK4KZF5Rl8EY/QROQFGA1iBQD0NUCAJVjcxO0naAQAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort{position:absolute;right:5px;top:8px;width:7px;height:13px;background-repeat:no-repeat;background-position:50%}.gantt_grid_head_cell .gantt_sort.gantt_asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR4nGNgQAKGxib/GbABkIS7b8B/DAUwCRiGK0CXwFBAb1DfP/U/LszwHwi2X7qFgUEArBtdAVwCBmAKMCSQFSDzAWXXaOHsXeqkAAAAAElFTkSuQmCC)}.gantt_grid_head_cell .gantt_sort.gantt_desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAANCAYAAABlyXS1AAAARUlEQVR42mNgQAL1/VP/M2ADIIntF2/9x1AAlrh0C47hCmA60DFYwX88gIFGwNDY5D8uDFbg7hvwHx2jmIBTAlkB0e4BAEjlaNtBWJPnAAAAAElFTkSuQmCC)}.gantt_inserted,.gantt_updated{font-weight:700}.gantt_deleted{text-decoration:line-through}.gantt_invalid{background-color:#ffe0e0}.gantt_error{color:red}.gantt_status{right:1px;padding:5px 10px;background:hsla(0,0%,61%,.1);position:absolute;top:1px;transition:opacity .2s;opacity:0}.gantt_status.gantt_status_visible{opacity:1}#gantt_ajax_dots span{transition:opacity .2s;background-repeat:no-repeat;opacity:0}#gantt_ajax_dots span.gantt_dot_visible{opacity:1}.gantt_message_area{position:fixed;right:5px;width:250px;z-index:1000}.gantt-info{min-width:120px;padding:4px 4px 4px 20px;font-family:Arial;z-index:10000;margin:5px;margin-bottom:10px;transition:all .5s ease}.gantt-info.hidden{height:0;padding:0;border-width:0;margin:0;overflow:hidden}.gantt_modal_box{overflow:hidden;display:inline-block;min-width:250px;width:250px;text-align:center;position:fixed;z-index:20000;box-shadow:3px 3px 3px rgba(0,0,0,.07);font-family:Arial;border-radius:6px;border:1px solid #cecece;background:#fff}.gantt_popup_title{border-top-left-radius:6px;border-top-right-radius:6px;border-width:0}.gantt_button,.gantt_popup_button{border:1px solid #cecece;height:30px;line-height:30px;display:inline-block;margin:0 5px;border-radius:4px;background:#fff}.gantt-info,.gantt_button,.gantt_popup_button{user-select:none;-webkit-user-select:none;-moz-user-select:-moz-none;cursor:pointer}.gantt_popup_text{overflow:hidden}.gantt_popup_controls{border-radius:6px;padding:10px}.gantt_popup_button{min-width:100px}div.dhx_modal_cover{background-color:#000;cursor:default;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);opacity:.2;position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1}.gantt-info img,.gantt_modal_box img{float:left;margin-right:20px}.gantt-alert-error,.gantt-confirm-error{border:1px solid red}.gantt_button input,.gantt_popup_button div{border-radius:4px;font-size:14px;box-sizing:content-box;padding:0;margin:0;vertical-align:top}.gantt_popup_title{border-bottom:1px solid #cecece;height:40px;line-height:40px;font-size:20px}.gantt_popup_text{margin:15px 15px 5px;font-size:14px;color:#000;min-height:30px;border-radius:6px}.gantt-error,.gantt-info{font-size:14px;color:#000;box-shadow:3px 3px 3px rgba(0,0,0,.07);padding:0;background-color:#fff;border-radius:3px;border:1px solid #fff}.gantt-info div{padding:5px 10px;background-color:#fff;border-radius:3px;border:1px solid #cecece}.gantt-error{background-color:#d81b1b;border:1px solid #ff3c3c}.gantt-error div{background-color:#d81b1b;border:1px solid #940000;color:#fff}.gantt-warning{background-color:#ff9000;border:1px solid #ffa633}.gantt-warning div{background-color:#ff9000;border:1px solid #b36500;color:#fff}.gantt_data_area div,.gantt_grid div{-ms-touch-action:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.gantt_data_area{position:relative;overflow-x:hidden;overflow-y:hidden;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none}.gantt_links_area{position:absolute;left:0;top:0}.gantt_side_content,.gantt_task_content,.gantt_task_progress{line-height:inherit;overflow:hidden;height:100%}.gantt_task_content{font-size:12px;color:#fff;width:100%;top:0;cursor:pointer;position:absolute;white-space:nowrap;text-align:center}.gantt_task_progress{text-align:center;z-index:0;background:#299cb4}.gantt_task_progress_wrapper{border-radius:inherit;position:relative;width:100%;height:100%;overflow:hidden}.gantt_task_line{border-radius:2px;position:absolute;box-sizing:border-box;background-color:#3db9d3;border:1px solid #2898b0;-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_task_line.gantt_drag_move div{cursor:move}.gantt_touch_move,.gantt_touch_progress .gantt_touch_resize{transform:scale(1.02,1.1);transform-origin:50%}.gantt_touch_progress .gantt_task_progress_drag,.gantt_touch_resize .gantt_task_drag{transform:scaleY(1.3);transform-origin:50%}.gantt_side_content{position:absolute;white-space:nowrap;color:#6e6e6e;top:0;font-size:11px}.gantt_side_content.gantt_left{right:100%;padding-right:20px}.gantt_side_content.gantt_right{left:100%;padding-left:20px}.gantt_side_content.gantt_link_crossing{bottom:8.75px;top:auto}.gantt_link_arrow,.gantt_task_link .gantt_line_wrapper{position:absolute;cursor:pointer}.gantt_line_wrapper div{background-color:#ffa011}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #ffa011}.gantt_task_link div.gantt_link_arrow{background-color:transparent;border-style:solid;width:0;height:0}.gantt_link_control{position:absolute;width:20px;top:0}.gantt_link_control div{display:none;cursor:pointer;box-sizing:border-box;position:relative;top:50%;margin-top:-7.5px;vertical-align:middle;border:1px solid #929292;border-radius:6.5px;height:13px;width:13px;background-color:#f0f0f0}.gantt_link_control.task_right div.gantt_link_point{margin-left:7px}.gantt_link_control div:hover{background-color:#fff}.gantt_link_control.task_left{left:-20px}.gantt_link_control.task_right{right:-20px}.gantt_link_target .gantt_link_control div,.gantt_task_line.gantt_drag_move .gantt_link_control div,.gantt_task_line.gantt_drag_move .gantt_task_drag,.gantt_task_line.gantt_drag_move .gantt_task_progress_drag,.gantt_task_line.gantt_drag_progress .gantt_link_control div,.gantt_task_line.gantt_drag_progress .gantt_task_drag,.gantt_task_line.gantt_drag_progress .gantt_task_progress_drag,.gantt_task_line.gantt_drag_resize .gantt_link_control div,.gantt_task_line.gantt_drag_resize .gantt_task_drag,.gantt_task_line.gantt_drag_resize .gantt_task_progress_drag,.gantt_task_line.gantt_selected .gantt_link_control div,.gantt_task_line.gantt_selected .gantt_task_drag,.gantt_task_line.gantt_selected .gantt_task_progress_drag,.gantt_task_line:hover .gantt_link_control div,.gantt_task_line:hover .gantt_task_drag,.gantt_task_line:hover .gantt_task_progress_drag{display:block}.gantt_link_source,.gantt_link_target{box-shadow:0 0 3px #3db9d3}.gantt_link_target.link_finish_allow,.gantt_link_target.link_start_allow{box-shadow:0 0 3px #ffbf5e}.gantt_link_target.link_finish_deny,.gantt_link_target.link_start_deny{box-shadow:0 0 3px #e87e7b}.link_finish_allow .gantt_link_control.task_end_date div,.link_start_allow .gantt_link_control.task_start_date div{background-color:#ffbf5e;border-color:#ffa011}.link_finish_deny .gantt_link_control.task_end_date div,.link_start_deny .gantt_link_control.task_start_date div{background-color:#e87e7b;border-color:#dd3e3a}.gantt_link_arrow_right{border-width:4px 0 4px 6px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:#ffa011;margin-top:-1px}.gantt_link_arrow_left{border-width:4px 6px 4px 0;margin-top:-1px;border-top-color:transparent!important;border-right-color:#ffa011;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_link_arrow_up{border-width:0 4px 6px;border-color:transparent transparent #ffa011;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:#ffa011;border-left-color:transparent!important}.gantt_link_arrow_down{border-width:4px 6px 0 4px;border-top-color:#ffa011;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}.gantt_task_drag,.gantt_task_progress_drag{cursor:ew-resize;display:none;position:absolute}.gantt_task_drag.task_right{cursor:e-resize}.gantt_task_drag.task_left{cursor:w-resize}.gantt_task_drag{height:100%;width:8px;z-index:1;top:-1px}.gantt_task_drag.task_left{left:-7px}.gantt_task_drag.task_right{right:-7px}.gantt_task_progress_drag{height:8px;width:8px;bottom:-4px;margin-left:-4px;background-position:bottom;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkY3Rjk0RUVDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkY3Rjk0RUZDMkYzMTFFMkI1OThEQTA3ODU0OTkzMEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjdGOTRFQ0MyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjdGOTRFREMyRjMxMUUyQjU5OERBMDc4NTQ5OTMwQSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PobPBzIAAADkSURBVHjaYpk2bRoDDsAExL1QdjEQ/8OmiAWHZk4gXqymqhQM4ty6fU8OSMUA8XdiDBAB4k0a6iqWRga6EKcwMQXduHlnL5DpB8Rv0J2JDFSA+JiOtgZcMwiA2CAxkBxUDVYDLEAKgIpV9XQ0MZwFEgPJAZnHoWpRDAgC4n2W5saiQKfjClQGkBxQDciL+6B6wAbkA/EqJwdrTkUFOQZCAKQGpBbIXA3SCzJggo+XK7OEuBgDsQCkFqgHrBfsBT5eHgZSAUwP2IBfv36TbABMDygdtK1Zv6UESLORaAbIhG6AAAMAKN8wE24DXWcAAAAASUVORK5CYII=);background-repeat:no-repeat;z-index:1}.gantt_task_progress_drag:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAs0lEQVQoz6WMPW7CQBgFJxZaiZ60qcgdwjVMmzu8gpwhDULabXyBdHAGuzRHivQiQZovigS2+Jtu95t5T03TMITtCtjEc5VSOgx5k5F4CnxJWgKUUl5sv6eUvk/daiCeAe1fDCCpBtq4jQ/YngO9pMWpGH99OOcDtt8ifmWEuO3D/R+wXQOdpGcuIGkGdNFQ2RawlTTlSsLd2RY55+O95JyPFQ/y8MAE+CylfADpxvYHWP8CXj+JR4wdKHYAAAAASUVORK5CYII=)}.gantt_link_tooltip{box-shadow:3px 3px 3px #888;background-color:#fff;border-left:1px dotted #cecece;border-top:1px dotted #cecece;font-family:Tahoma;font-size:8pt;color:#444;padding:6px;line-height:20px}.gantt_link_direction{height:0;border:0 none #ffa011;border-bottom-style:dashed;border-bottom-width:2px;transform-origin:0 0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;z-index:2;margin-left:1px;position:absolute}.gantt_grid_data .gantt_row.gantt_selected,.gantt_grid_data .gantt_row.odd.gantt_selected,.gantt_task_row.gantt_selected{background-color:#fff3a1}.gantt_task_row.gantt_selected .gantt_task_cell{border-right-color:#ffec6e}.gantt_task_line.gantt_selected{box-shadow:0 0 5px #299cb4}.gantt_task_line.gantt_project.gantt_selected{box-shadow:0 0 5px #46ad51}.gantt_task_line.gantt_milestone{visibility:hidden;background-color:#d33daf;border:0 solid #61164f;box-sizing:content-box;-moz-box-sizing:content-box}.gantt_task_line.gantt_milestone div{visibility:visible}.gantt_task_line.gantt_milestone .gantt_task_content{background:inherit;border:inherit;border-width:1px;border-radius:inherit;box-sizing:border-box;-moz-box-sizing:border-box;transform:rotate(45deg)}.gantt_task_line.gantt_task_inline_color{border-color:#999}.gantt_task_line.gantt_task_inline_color .gantt_task_progress{background-color:#363636;opacity:.2}.gantt_task_line.gantt_task_inline_color.gantt_project.gantt_selected,.gantt_task_line.gantt_task_inline_color.gantt_selected{box-shadow:0 0 5px #999}.gantt_task_link.gantt_link_inline_color:hover .gantt_line_wrapper div{box-shadow:0 0 5px 0 #999}.gantt_critical_task{background-color:#e63030;border-color:#9d3a3a}.gantt_critical_task .gantt_task_progress{background-color:rgba(0,0,0,.4)}.gantt_critical_link .gantt_line_wrapper&gt;div{background-color:#e63030}.gantt_critical_link .gantt_link_arrow{border-color:#e63030}.gantt_btn_set:focus,.gantt_cell:focus,.gantt_grid_head_cell:focus,.gantt_popup_button:focus,.gantt_qi_big_icon:focus,.gantt_row:focus{box-shadow:inset 0 0 1px 1px #4d90fe}.gantt_split_parent{opacity:.1;pointer-events:none}.gantt_unselectable,.gantt_unselectable div{-webkit-user-select:none;-moz-user-select:none;-moz-user-select:-moz-none}.gantt_cal_light{-webkit-tap-highlight-color:transparent;background:#fff;border-radius:6px;font-family:Arial;font-size:13px;border:1px solid #cecece;color:#6b6b6b;font-size:12px;position:absolute;z-index:10001;width:550px;height:250px;box-shadow:3px 3px 3px rgba(0,0,0,.07)}.gantt_cal_light_wide{width:650px}.gantt_cal_light select{font-family:Arial;border:1px solid #cecece;font-size:13px;padding:2px;margin:0}.gantt_cal_ltitle{padding:7px 10px;overflow:hidden;-webkit-border-top-left-radius:6px;-webkit-border-bottom-left-radius:0;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-top-left-radius:6px;border-bottom-left-radius:0;border-top-right-radius:6px;border-bottom-right-radius:0}.gantt_cal_ltitle,.gantt_cal_ltitle span{white-space:nowrap}.gantt_cal_lsection{color:#727272;font-weight:700;padding:12px 0 5px 10px}.gantt_cal_lsection .gantt_fullday{float:right;margin-right:5px;font-size:12px;font-weight:400;line-height:20px;vertical-align:top;cursor:pointer}.gantt_cal_lsection{font-size:13px}.gantt_cal_ltext{padding:2px 10px;overflow:hidden}.gantt_cal_ltext textarea{overflow-y:auto;overflow-x:hidden;font-family:Arial;font-size:13px;box-sizing:border-box;border:1px solid #cecece;height:100%;width:100%;outline:none!important;resize:none}.gantt_section_constraint [data-constraint-time-select]{margin-left:20px}.gantt_time{font-weight:700}.gantt_cal_light .gantt_title{padding-left:10px}.gantt_cal_larea{border:1px solid #cecece;border-left:none;border-right:none;background-color:#fff;overflow:hidden;height:1px}.gantt_btn_set{margin:10px 7px 5px 10px;padding:5px 15px 5px 10px;float:left;border-radius:4px;border:0 solid #cecece;height:32px;font-weight:700;background:#fff;box-sizing:border-box;cursor:pointer}.gantt_hidden{display:none}.gantt_btn_set div{float:left;font-size:13px;height:22px;line-height:22px;background-repeat:no-repeat;vertical-align:middle}.gantt_save_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTk1OUU5RDFDMzA0MTFFMkExMUZBQTdDNDAzOUE5RjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTk1OUU5RDJDMzA0MTFFMkExMUZBQTdDNDAzOUE5RjMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxOTU5RTlDRkMzMDQxMUUyQTExRkFBN0M0MDM5QTlGMyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxOTU5RTlEMEMzMDQxMUUyQTExRkFBN0M0MDM5QTlGMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjDroXYAAAEXSURBVHjaYvz//z8DJYCRUgPIAUxAbAnEHiAHMIBcQCwGaRYXF3e6evXqoffv39/dv38/CymaGSUkJBzv3LlzCsj///fv3wdAihkkIQnEvkAshU8zLy+v7a1bt06ANP/79+87kDIAy505cybq06dPr3p7ezuwGQLTfOPGjWP/ESAZLg8kPKBO+g01RBJNszWyZqC6uSgWgIg/f/4shxnS2dnZBjMEqNkSFGBImi8CKTYMA4BYCGjIczRDHC5dunQQSfN7IKWI4UUkjjdMMdCwnw8ePLjwHxV4Yw1gZA5Q47z/2EELzhhCE+ABGvIQWSeQvwcU38QaAML2wHj+C/X3MyAlijeB4ZBoBOIPQGxJKIVSnBsBAgwABddBclWfcZUAAAAASUVORK5CYII=);margin-top:2px;width:21px}.gantt_cancel_btn{margin-top:2px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDkzMDA3MzlDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDkzMDA3M0FDMzA0MTFFMjg2QTVFMzFEQzgwRkJERDYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowOTMwMDczN0MzMDQxMUUyODZBNUUzMURDODBGQkRENiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowOTMwMDczOEMzMDQxMUUyODZBNUUzMURDODBGQkRENiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmYuYOUAAAEdSURBVHjaYvz//z8DJYAFXWDlypU8QKoIiD2A2AwqfAqIdwBxX3h4+Bdk9YzILgBqtgdS84FYEYeF94E4EWjIQZgAE5LmQCB1AKoZZKMPEAtAMYh9GSp3AKjWD8UFQAEhIPshEIOc3wHENUBb/qJ57SyQMoJyPwKxElDNO1gYFEE17wMKVmIJlzNQzeegrjaA6qmBecEbSvfh0GwMxGeBhoPoemQ9MAO0kEIbl2YTqPAFKK2IbMB3AjabYIkRZmQD7kNpMyI0G0PpO8gGbIUFJj7NQDk2INWIrIcJKfBAKcwJqvkcDs0TgFgXGo19KCkRmpDWQdWDEk0NUoCBoq0FqhkE/IEWbKJKUmZEz43QzFSKIzN1481M5ACAAAMAlfl/lCwRpagAAAAASUVORK5CYII=);width:20px}.gantt_delete_btn{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=);margin-top:2px;width:20px}.gantt_cal_cover{width:100%;height:100%;position:absolute;z-index:10000;top:0;left:0;background-color:#000;opacity:.1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=10)}.gantt_custom_button{padding:0 3px;font-family:Arial;font-size:13px;font-weight:400;margin-right:10px;margin-top:-5px;cursor:pointer;float:right;height:21px;width:90px;border:1px solid #cecece;text-align:center;border-radius:4px}.gantt_custom_button div{cursor:pointer;float:none;height:21px;line-height:21px;vertical-align:middle}.gantt_custom_button div:first-child{display:none}.gantt_cal_light_wide{width:580px;padding:2px 4px}.gantt_cal_light_wide .gantt_cal_larea{box-sizing:border-box;border:1px solid #cecece}.gantt_cal_light_wide .gantt_cal_lsection{border:0;float:left;text-align:right;width:80px;height:20px;padding:5px 10px 0 0}.gantt_cal_light_wide .gantt_wrap_section{position:relative;padding:10px 0;overflow:hidden;border-bottom:1px solid #ebebeb}.gantt_cal_light_wide .gantt_section_time{overflow:hidden;padding-top:2px!important;padding-right:0;height:20px!important}.gantt_cal_light_wide .gantt_cal_ltext{padding-right:0}.gantt_cal_light_wide .gantt_cal_larea{padding:0 10px;width:100%}.gantt_cal_light_wide .gantt_section_time{background:transparent}.gantt_cal_light_wide .gantt_cal_checkbox label{padding-left:0}.gantt_cal_light_wide .gantt_cal_lsection .gantt_fullday{float:none;margin-right:0;font-weight:700;cursor:pointer}.gantt_cal_light_wide .gantt_custom_button{position:absolute;top:0;right:0;margin-top:2px}.gantt_cal_light_wide .gantt_repeat_right{margin-right:55px}.gantt_cal_light_wide.gantt_cal_light_full{width:738px}.gantt_cal_wide_checkbox input{margin-top:8px;margin-left:14px}.gantt_cal_light input{font-size:13px}.gantt_section_time{background-color:#fff;white-space:nowrap;padding:2px 10px 5px;padding-top:2px!important}.gantt_section_time .gantt_time_selects{float:left;height:25px}.gantt_section_time .gantt_time_selects select{height:23px;padding:2px;border:1px solid #cecece}.gantt_duration{width:100px;height:23px;float:left;white-space:nowrap;margin-left:20px;line-height:23px}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc,.gantt_duration .gantt_duration_value{box-sizing:border-box;text-align:center;vertical-align:top;height:100%;border:1px solid #cecece}.gantt_duration .gantt_duration_value{width:40px;padding:3px 4px;border-left-width:0;border-right-width:0}.gantt_duration .gantt_duration_dec,.gantt_duration .gantt_duration_inc{width:20px;padding:1px;padding-bottom:1px;background:#fff}.gantt_duration .gantt_duration_dec{-moz-border-top-left-radius:4px;-moz-border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;border-top-left-radius:4px;border-bottom-left-radius:4px}.gantt_duration .gantt_duration_inc{margin-right:4px;-moz-border-top-right-radius:4px;-moz-border-bottom-right-radius:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px}.gantt_resources{max-height:150px;height:auto;overflow-y:auto}.gantt_resource_row{display:block;padding:10px 0;border-bottom:1px solid #ebebeb;cursor:pointer}.gantt_resource_row input[type=checkbox]:not(:checked),.gantt_resource_row input[type=checkbox]:not(:checked)~div{opacity:.5}.gantt_resource_toggle{vertical-align:middle}.gantt_resources_filter .gantt_resources_filter_input{padding:1px 2px;box-sizing:border-box}.gantt_resources_filter .switch_unsetted{vertical-align:middle}.gantt_resource_cell{display:inline-block}.gantt_resource_cell.gantt_resource_cell_checkbox{width:24px;max-width:24px;min-width:24px;vertical-align:middle}.gantt_resource_cell.gantt_resource_cell_label{width:40%;max-width:40%;vertical-align:middle}.gantt_resource_cell.gantt_resource_cell_value{width:30%;max-width:30%;vertical-align:middle}.gantt_resource_cell.gantt_resource_cell_value input,.gantt_resource_cell.gantt_resource_cell_value select{width:80%;vertical-align:middle;padding:1px 2px;box-sizing:border-box}.gantt_resource_cell.gantt_resource_cell_unit{width:10%;max-width:10%;vertical-align:middle}.gantt_resource_early_value{opacity:.8;font-size:.9em}.gantt_cal_quick_info{border:1px solid #cecece;border-radius:6px;position:absolute;z-index:300;box-shadow:3px 3px 3px rgba(0,0,0,.07);background-color:#fff;width:300px;transition:left .5s ease,right .5s;-moz-transition:left .5s ease,right .5s;-webkit-transition:left .5s ease,right .5s;-o-transition:left .5s ease,right .5s}.gantt_no_animate{transition:none;-moz-transition:none;-webkit-transition:none;-o-transition:none}.gantt_cal_quick_info.gantt_qi_left .gantt_qi_big_icon{float:right}.gantt_cal_qi_title{-webkit-border-top-left-radius:6px;-webkit-border-bottom-left-radius:0;-webkit-border-top-right-radius:6px;-webkit-border-bottom-right-radius:0;-moz-border-radius-topleft:6px;-moz-border-radius-bottomleft:0;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:0;border-top-left-radius:6px;border-bottom-left-radius:0;border-top-right-radius:6px;border-bottom-right-radius:0;padding:5px 0 8px 12px;color:#454545;background-color:#fff;border-bottom:1px solid #cecece}.gantt_cal_qi_tdate{font-size:14px;font-weight:700}.gantt_cal_qi_tcontent{font-size:13px}.gantt_cal_qi_content{padding:16px 8px;font-size:13px;color:#454545;overflow:hidden}.gantt_cal_qi_controls{-webkit-border-top-left-radius:0;-webkit-border-bottom-left-radius:6px;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:6px;-moz-border-radius-topleft:0;-moz-border-radius-bottomleft:6px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:6px;border-top-left-radius:0;border-bottom-left-radius:6px;border-top-right-radius:0;border-bottom-right-radius:6px;padding-left:7px}.gantt_cal_qi_controls .gantt_menu_icon{margin-top:6px;background-repeat:no-repeat}.gantt_cal_qi_controls .gantt_menu_icon.icon_edit{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QYFCjI5ZQj5bAAAAFNJREFUOMvt0zEOACAIA0DkwTymH8bJTRTKZGJXyaWEKPKTCQAH4Ls37cItcDUzsxHNDLZNhCq7Gt1wh9ErV7EjyGAhyGLphlnsClWuS32rn0czAV+vNGrM/LBtAAAAAElFTkSuQmCC)}.gantt_cal_qi_controls .gantt_menu_icon.icon_delete{width:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFENzI3NUNDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFENzI3NURDMzA0MTFFMjhBNjJGQTc3MUIyQzYzNEYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMUQ3Mjc1QUMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyMUQ3Mjc1QkMzMDQxMUUyOEE2MkZBNzcxQjJDNjM0RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmUD0gAAAABvSURBVHjaYvz//z8DIyMjAxYQicReji4J0ofKQNP8HwmgGQbXB8IsWGwDSSwDuioKjY9uBthVjFAXYHUGAQA2kYmBUoAUBpGk0LAwgBvwH+YX4mkwptgLowYMRgOITUyYKRFIN/wnDjQgJySAAAMApryKzL8wjfUAAAAASUVORK5CYII=)}.gantt_qi_big_icon{font-size:13px;border-radius:4px;font-weight:700;background:#fff;margin:5px 9px 8px 0;min-width:60px;line-height:32px;vertical-align:middle;padding:0 10px 0 5px;cursor:pointer;border:1px solid #cecece}.gantt_cal_qi_controls div{float:left;height:32px;text-align:center;line-height:32px}.gantt_tooltip{padding:10px;position:absolute;z-index:50;white-space:nowrap}.gantt_resource_marker{position:absolute;text-align:center;font-size:14px;color:#fff}.gantt_resource_marker_ok{background:rgba(78,208,134,.75)}.gantt_resource_marker_overtime{background:hsla(0,100%,76%,.69)}.gantt_histogram_label{width:100%;height:100%;position:absolute;z-index:1;font-weight:700;font-size:13px}.gantt_histogram_fill{background-color:rgba(41,157,180,.2);width:100%;position:absolute;bottom:0}.gantt_histogram_hor_bar{height:1px;margin-top:-1px}.gantt_histogram_hor_bar,.gantt_histogram_vert_bar{position:absolute;background:#299db4;margin-left:-1px}.gantt_histogram_vert_bar{width:1px}.gantt_histogram_cell{position:absolute;text-align:center;font-size:13px;color:#000}.gantt_marker{height:100%;width:2px;top:0;position:absolute;text-align:center;background-color:rgba(255,0,0,.4);box-sizing:border-box}.gantt_marker .gantt_marker_content{padding:5px;background:inherit;color:#fff;position:absolute;font-size:12px;line-height:12px;opacity:.8}.gantt_marker_area{position:absolute;top:0;left:0}.gantt_grid_editor_placeholder{position:absolute}.gantt_grid_editor_placeholder&gt;div,.gantt_grid_editor_placeholder input,.gantt_grid_editor_placeholder select{width:100%;height:100%;box-sizing:border-box}.gantt_row_placeholder div{opacity:.5}.gantt_row_placeholder .gantt_add,.gantt_row_placeholder .gantt_file{display:none}.gantt_drag_marker.gantt_grid_dnd_marker{background-color:transparent;transition:all .1s ease}.gantt_grid_dnd_marker_line{height:4px;width:100%;background-color:#3498db}.gantt_grid_dnd_marker_line:before{background:#fff;width:12px;height:12px;box-sizing:border-box;border:3px solid #3498db;border-radius:6px;content:\"\";line-height:1px;display:block;position:absolute;margin-left:-11px;margin-top:-4px;pointer-events:none}.gantt_grid_dnd_marker_folder{height:100%;width:100%;position:absolute;pointer-events:none;box-sizing:border-box;box-shadow:inset 0 0 0 2px #3f98db;background:transparent}.gantt_overlay_area{display:none}.gantt_overlay,.gantt_overlay_area{position:absolute;height:inherit;width:inherit;top:0;left:0}.gantt_layout_content{width:100%;overflow:auto;box-sizing:border-box}.gantt_layout_cell{position:relative;box-sizing:border-box}.gantt_layout_cell&gt;.gantt_layout_header{background:#33aae8;color:#fff;font-size:17px;padding:5px 10px;box-sizing:border-box}.gantt_layout_header.collapsed_x{background:#a9a9a9}.gantt_layout_header.collapsed_x .gantt_header_arrow:before{content:\"\\21E7\"}.gantt_layout_header.collapsed_y{background:#a9a9a9}.gantt_layout_header.collapsed_y .gantt_header_arrow:before{content:\"\\21E9\"}.gantt_layout_header{cursor:pointer}.gantt_layout_header .gantt_header_arrow{float:right;text-align:right}.gantt_layout_header .gantt_header_arrow:before{content:\"\\21E6\"}.gantt_layout_header.vertical .gantt_header_arrow:before{content:\"\\21E7\"}.gantt_layout_outer_scroll_vertical .gantt_layout_content{overflow-y:hidden}.gantt_layout_outer_scroll_horizontal .gantt_layout_content{overflow-x:hidden}.gantt_layout_x&gt;.gantt_layout_cell{display:inline-block;vertical-align:top}.gantt_layout_x{white-space:nowrap}.gantt_resizing{opacity:.7;background:#f2f2f2}.gantt_layout_cell_border_right.gantt_resizer{overflow:visible;border-right:0}.gantt_resizer{cursor:e-resize;position:relative}.gantt_resizer_y{cursor:n-resize}.gantt_resizer_stick{background:#33aae8;z-index:9999;position:absolute;top:0;width:100%}.gantt_resizer_x .gantt_resizer_x{position:absolute;width:20px;height:100%;margin-left:-10px;top:0;left:0;z-index:1}.gantt_resizer_y .gantt_resizer_y{position:absolute;height:20px;width:100%;top:-10px;left:0;z-index:1}.gantt_resizer_error{background:#cd5c5c!important}.gantt_layout_cell_border_left{border-left:1px solid #cecece}.gantt_layout_cell_border_right{border-right:1px solid #cecece}.gantt_layout_cell_border_top{border-top:1px solid #cecece}.gantt_layout_cell_border_bottom{border-bottom:1px solid #cecece}.gantt_layout_cell_border_transparent{border-color:transparent}.gantt_window{position:absolute;top:50%;left:50%;z-index:999999999;background:#fff}.gantt_window_content{position:relative}.gantt_window_content_header{background:#39c;color:#fff;height:33px;padding:10px 10px 0;border-bottom:2px solid #fff;position:relative}.gantt_window_content_header_text{padding-left:10%}.gantt_window_content_header_buttons{position:absolute;top:10px;right:10px}.gantt_window_content_header_buttons:hover{color:#000;cursor:pointer}.gantt_window_content_resizer{position:absolute;width:15px;height:15px;bottom:0;line-height:15px;right:-1px;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABZJREFUeAFjIAUwUshlpJDLSIhLGAAACQ4AFk79JaMAAAAASUVORK5CYII=);cursor:nw-resize;z-index:999}.gantt_window_content_frame{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.1);z-index:9999}.gantt_window_drag{cursor:pointer!important}.gantt_window_resizing{overflow:visible}.gantt_window_resizing_body{overflow:hidden!important}.gantt_window_modal{background:rgba(0,0,0,.1);z-index:9999;top:0;left:0;width:100%;height:100%;position:fixed}.gantt_cal_light,.gantt_cal_quick_info,.gantt_container,.gantt_message_area,.gantt_modal_box,.gantt_tooltip{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.gantt_noselect{-moz-user-select:-moz-none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.gantt_drag_marker{position:absolute;top:-1000px;left:-1000px;font-family:Arial;font-size:13px}.gantt_drag_marker .gantt_tree_icon.gantt_blank,.gantt_drag_marker .gantt_tree_icon.gantt_close,.gantt_drag_marker .gantt_tree_icon.gantt_open,.gantt_drag_marker .gantt_tree_indent{display:none}.gantt_drag_marker,.gantt_drag_marker .gantt_row.odd{background-color:#fff}.gantt_drag_marker .gantt_row{border-left:1px solid #d2d2d2;border-top:1px solid #d2d2d2}.gantt_drag_marker .gantt_cell{border-color:#d2d2d2}.gantt_row.gantt_over,.gantt_task_row.gantt_over{background-color:#0070fe}.gantt_row.gantt_transparent .gantt_cell{opacity:.7}.gantt_task_row.gantt_transparent{background-color:#f8fdfd}.gantt_popup_button.gantt_delete_button{background:#3db9d3;text-shadow:0 -1px 0 #248a9f;color:#fff;font-weight:700;border-width:0}.gantt_container_resize_watcher{background:transparent;width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1;pointer-events:none;border:0;box-sizing:border-box;opacity:0}</css><name>dhtmlx-gantt-chart-style-sheet</name><sys_class_name>sp_css</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:28:09</sys_created_on><sys_id>a1802b71dbfd7f0005cfd4f3ce96194b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>dhtmlx-gantt-chart-style-sheet</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_css_a1802b71dbfd7f0005cfd4f3ce96194b</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:28:09</sys_updated_on></sp_css></record_update>]]></payload>\n        <payload_hash>-1340413445</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>e03760c2db75bf0005cfd4f3ce9619e9</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c54210000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>dhtmlx-gantt-chart-style-sheet</target_name>\n        <type>Style Sheet</type>\n        <update_domain>global</update_domain>\n        <update_guid>f2a0eb7178fd7f00ff43098156cb057e</update_guid>\n        <update_guid_history>f2a0eb7178fd7f00ff43098156cb057e:-1340413445</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_column_495ed37ddbbd7f0005cfd4f3ce961952</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">8d5ed37ddbbd7f0005cfd4f3ce961950</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:17:55</sys_created_on><sys_id>495ed37ddbbd7f0005cfd4f3ce961952</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_column_495ed37ddbbd7f0005cfd4f3ce961952</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:17:55</sys_updated_on></sp_column></record_update>]]></payload>\n        <payload_hash>961939021</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>e43760c2db75bf0005cfd4f3ce9619e8</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c520d0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>1</target_name>\n        <type>Column</type>\n        <update_domain>global</update_domain>\n        <update_guid>855ed37dfebd7f004b12b17f49f28353</update_guid>\n        <update_guid_history>855ed37dfebd7f004b12b17f49f28353:961939021</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sys_scope_privilege_2c3c9379dbbd7f0005cfd4f3ce961903</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:08:36</sys_created_on><sys_id>2c3c9379dbbd7f0005cfd4f3ce961903</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pm_project_task</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sys_scope_privilege_2c3c9379dbbd7f0005cfd4f3ce961903</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:08:36</sys_updated_on><target_name>pm_project_task</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n        <payload_hash>2059959815</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>e43760c2db75bf0005cfd4f3ce9619eb</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c51810000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>pm_project_task</target_name>\n        <type>Cross scope privilege</type>\n        <update_domain>global</update_domain>\n        <update_guid>e83c937956bd7f00c6b1516cb9cd7104</update_guid>\n        <update_guid_history>e83c937956bd7f00c6b1516cb9cd7104:2059959815</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_row_8d5ed37ddbbd7f0005cfd4f3ce961950</name>\n        <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Gantt Page - Container 1\">8d1e9bf9dbbd7f0005cfd4f3ce961925</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>claudia.cruz</sys_created_by><sys_created_on>2019-06-03 17:17:55</sys_created_on><sys_id>8d5ed37ddbbd7f0005cfd4f3ce961950</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\">eed75f71dbbd7f0005cfd4f3ce961988</sys_package><sys_policy/><sys_scope display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</sys_scope><sys_update_name>sp_row_8d5ed37ddbbd7f0005cfd4f3ce961950</sys_update_name><sys_updated_by>claudia.cruz</sys_updated_by><sys_updated_on>2019-06-03 17:17:55</sys_updated_on></sp_row></record_update>]]></payload>\n        <payload_hash>2002621190</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>e83760c2db75bf0005cfd4f3ce9619ea</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c52260000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name>1</target_name>\n        <type>Row</type>\n        <update_domain>global</update_domain>\n        <update_guid>4d5ed37d86bd7f006e173e117e2b4951</update_guid>\n        <update_guid_history>4d5ed37d86bd7f006e173e117e2b4951:2002621190</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n    <sys_update_xml action=\"INSERT_OR_UPDATE\">\n        <action>INSERT_OR_UPDATE</action>\n        <application display_value=\"Dhtmlx Gantt Chart\">eed75f71dbbd7f0005cfd4f3ce961988</application>\n        <category>customer</category>\n        <comments/>\n        <name>sp_instance_035e937ddbbd7f0005cfd4f3ce961958</name>\n        <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;495ed37ddbbd7f0005cfd4f3ce961952&lt;/sp_column&gt;&lt;sp_widget display_value=\"Gantt Chart DHTMLX\"&gt;419a17b5dbbd7f0005cfd4f3ce961940&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;claudia.cruz&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-03 17:18:03&lt;/sys_created_on&gt;&lt;sys_id&gt;035e937ddbbd7f0005cfd4f3ce961958&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Dhtmlx Gantt Chart\" source=\"x_snc_dhtmlx_gantt\"&gt;eed75f71dbbd7f0005cfd4f3ce961988&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Dhtmlx Gantt Chart\"&gt;eed75f71dbbd7f0005cfd4f3ce961988&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_035e937ddbbd7f0005cfd4f3ce961958&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;claudia.cruz&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-03 18:12:50&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n            \"projects\": {\n            \"value\": \"f58b242c4f310200ef4eb485f110c7ae,6bf85e90535113004e77ddeeff7b1296,92fe521453d113004e77ddeeff7b1284\",\n            \"displayValue\": \"Campaign Management for SmartTv , Corporate Carrier Change, Europe DC Expansion\"\n            },\n            \"project_list\": {\n            \"value\": \"6229b7ea4fc92200720674828110c76b,60be169053d113004e77ddeeff7b1292,3ea3a69c531513004e77ddeeff7b12c8,1ba56ad4535513004e77ddeeff7b12a1,2b40eed853d113004e77ddeeff7b1260\",\n            \"displayValue\": \"IT Asset Management Rollout,   Backup Network Link for Singapore DC,   Fire safety audit in HQ,  HIPPA Compliance,  Online Orientation for Mid-Levels \"\n            }\n            }]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=035e937ddbbd7f0005cfd4f3ce961958\"/&gt;&lt;/record_update&gt;</payload>\n        <payload_hash>2086430642</payload_hash>\n        <remote_update_set display_value=\"Dhtmlx Gantt Chart\">a037a882db75bf0005cfd4f3ce9619b6</remote_update_set>\n        <replace_on_upgrade>false</replace_on_upgrade>\n        <sys_created_by>claudia.cruz</sys_created_by>\n        <sys_created_on>2019-06-03 22:36:17</sys_created_on>\n        <sys_id>ec3760c2db75bf0005cfd4f3ce9619e9</sys_id>\n        <sys_mod_count>0</sys_mod_count>\n        <sys_recorded_at>16b1f7c54cf0000001</sys_recorded_at>\n        <sys_updated_by>claudia.cruz</sys_updated_by>\n        <sys_updated_on>2019-06-03 22:36:17</sys_updated_on>\n        <table/>\n        <target_name/>\n        <type>Instance</type>\n        <update_domain>global</update_domain>\n        <update_guid>a5eaebb16531bf00988912ace0ea7f98</update_guid>\n        <update_guid_history>a5eaebb16531bf00988912ace0ea7f98:2086430642,bd9a23b14731bf0083fd08f8faa338fe:-1598397068,1c2a6b71f331bf00ca445e4fa4f29e4c:-1427105528,d347e77d04fd7f00ec8604f6a5600d10:1939218903,a507ab3dd9fd7f0067c14c53d8769467:-286585431,7ef6ab3d08fd7f0030ebfae70352305d:687207030,b4c6673d31fd7f0032cddd82d93fd1e1:-1240636816,9b532f35f7fd7f008ceacbfc710714e1:230546997,dcb127f17afd7f00ea78087dfdab3780:-1093177502,e0612fb1c7fd7f00b3f200c6efd21dcd:1196660233,475e937d07bd7f008fa7b2650905d359:1566966632</update_guid_history>\n        <update_set display_value=\"\"/>\n        <view/>\n    </sys_update_xml>\n</unload>\n\n"
  },
  {
    "path": "src/pe-gantt-chart/widget/pe-gantt-chart.u-body-html-template.html",
    "content": "<div id=\"gantt_here\">\n</div>"
  },
  {
    "path": "src/pe-gantt-chart/widget/pe-gantt-chart.u-client-script.js",
    "content": "function GanttChartController() {\n  var c = this;\n  var demo = {\n    \"data\": c.data.series\n  }\n\n  gantt.config.readonly = true;\n  gantt.templates.task_text = function (start, end, task) {\n    return '';\n  };\n\n  gantt.config.columns = [\n    { name: \"text\", label: \"Task name\", tree: true, width: \"*\", resize: true },\n    {\n      name: \"state\", label: \"State\", align: \"center\", template: function (obj) {\n        //Closed Complete\n        if (obj.state == \"3\") {\n          return \"<span class='fa fa-check-circle'></span>\"\n        }\n        //Work in Progress\n        else if (obj.state == \"2\") {\n          return \"<span class='fa fa-minus-circle'></span>\"\n        }\n        //Close Incomplete\n        else {\n          return \"<span class='fa fa-exclamation-circle'></span>\"\n        }\n      }\n    }\n  ];\n  gantt.config.min_column = 50;\n  gantt.templates.task_class = function (start, end, task) {\n    if (task.parent != 0) {\n      task.color = \"#b0e1ce\";\n    }\n  };\n  gantt.config.smart_scales = false;\n  gantt.config.min_column_width = 30;\n\n\n\n  gantt.config.layout = {\n    css: \"gantt_container\",\n    cols: [\n      {\n        width: 250,\n        min_width: 300,\n        rows: [\n          { view: \"grid\", scrollX: \"gridScroll\", scrollable: true, scrollY: \"scrollVer\" },\n\n          // horizontal scrollbar for the grid\n          { view: \"scrollbar\", id: \"gridScroll\", group: \"horizontal\" }\n        ]\n      },\n      { resizer: true, width: 1 },\n      {\n        rows: [\n          { view: \"timeline\", scrollX: \"scrollHor\", scrollY: \"scrollVer\" },\n\n          // horizontal scrollbar for the timeline\n          { view: \"scrollbar\", id: \"scrollHor\", group: \"horizontal\" }\n        ]\n      },\n      { view: \"scrollbar\", id: \"scrollVer\" }\n    ]\n  };\n\n\n  gantt.config.subscales = [\n    { unit: \"year\", step: 1, date: \"%Y\" }\n  ];\n  gantt.config.date_scale = \"%M\";\n  gantt.config.xml_date = \"%Y-%m-%d\";\n  gantt.config.autosize = \"xy\";\n  gantt.config.scale_unit = \"month\";\n  gantt.init(\"gantt_here\");\n  gantt.parse(demo);\n}\n"
  },
  {
    "path": "src/pe-gantt-chart/widget/pe-gantt-chart.u-css.scss",
    "content": "html, body\n{\n  height: 100%;\n  padding: 0px;\n  margin: 0px;\n  overflow: hidden;\n}\n\n.fa.fa-check-circle{\n  color: #5cb85c;\n}\n\n.fa.fa-minus-circle{\n  color:  #f0ad4e;\n}\n\n.fa.fa-exclamation-circle{\n  color:  #d64f50;\n}\n"
  },
  {
    "path": "src/pe-gantt-chart/widget/pe-gantt-chart.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-gantt-chart/widget/pe-gantt-chart.u-option-schema.json",
    "content": "[\n  {\n    \"displayValue\": \"Project\",\n    \"name\": \"project_list\",\n    \"display_value_list\": [],\n    \"section\": \"Data\",\n    \"label\": \"Project List\",\n    \"type\": \"glide_list\",\n    \"value\": \"pm_project\",\n    \"ed\": { \"reference\": \"pm_project\" }\n  }\n]\n"
  },
  {
    "path": "src/pe-gantt-chart/widget/pe-gantt-chart.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n  //Collecting data from options\n  var rp = options.project_list.split(',') || [];\n  data.series = [];\n  data.categories = [];\n  var project = [];\n  for (var i = 0; i < rp.length; i++) {\n    var grProject = new GlideRecord('pm_project');\n    grProject.addQuery('sys_id', rp[i]);\n    grProject.query();\n    while (grProject.next()) {\n      var start = new GlideDateTime(grProject.start_date.getDisplayValue());\n      var end = new GlideDateTime(grProject.end_date.getDisplayValue());\n      if (grProject.short_description && grProject.start_date && grProject.end_date != null) {\n        data.series.push({\n          id: grProject.getUniqueValue(),\n          text: grProject.short_description.getDisplayValue(),\n          state: grProject.state + \"\",\n          start_date: start.getDate() + \"\",\n          end_date: end.getDate() + \"\"\n        })\n      }\n\n      var grTask = new GlideRecord('pm_project_task');\n      grTask.addQuery('parent', grProject.getUniqueValue());\n      grTask.query();\n      var task = [];\n      while (grTask.next()) {\n        var taskStart = new GlideDateTime(grTask.start_date.getDisplayValue());\n        var taskEnd = new GlideDateTime(grTask.end_date.getDisplayValue());\n        data.series.push({\n          parent: grTask.getValue('parent'),\n          text: grTask.short_description.getDisplayValue(),\n          state: grTask.state + \"\",\n          start: taskStart.getDate() + \"\",\n          end_date: taskStart.getDate() + \"\"\n        })\n      }\n    }\n\n  }\n\n\n})();\n\n"
  },
  {
    "path": "src/pe-group-by-donut/README.md",
    "content": "# Group By Donut\n\n## Description\n\nA simple donut chart used to easily visualize groupings of records at a glance.\n\n## Screenshot\n\n![Group By Donut](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-group-by-donut/images/pe-group-by-donut.png)\n\n## Additional Information/Notes\n\nThe colors displayed are the portal brand/theme colors.\n\n## Installation\n\nDownload and install update set **[pe-group-by-donut.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-group-by-donut/pe-group-by-donut.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Usage\n\nThe Group By Donut Widget requires a table and a field to group by.\n\n### Widget Option Schema\n\n| Option | Default Value |\n| :--- | :--- |\n| `Table` | sn_customerservice_case |\n| `Filter` | active=true |\n| `Field` | priority |\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n* [Highcharts JS v5.0.14](https://www.highcharts.com)\n* [highcharts-ng](https://github.com/pablojim/highcharts-ng)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-chart-title: #777 !default;\n```\n"
  },
  {
    "path": "src/pe-group-by-donut/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Group By Donut\",\n  \"compatibility\": [\n    \"London\",\n    \"Madrid\"\n  ],\n  \"contributors\": [\n    \"Trevor Roberts\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-group-by-donut\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A simple donut chart used to easily visualize groupings of records at a glance.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-group-by-donut/pe-group-by-donut.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-05-07 17:17:43\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Group By Donut</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>dcb26449db95fb40120e7b931f961966</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>fa5bd411dbd53f40120e7b931f96197f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_284e1005db95fb40120e7b931f9619af</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"High-new\">e6e6ac77dbf7eb00d1a151735e9619cc</sp_dependency><sp_js_include display_value=\"highnew\">a81760b7dbf7eb00d1a151735e9619f3</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>trevor.roberts</sys_created_by><sys_created_on>2019-05-06 22:51:55</sys_created_on><sys_id>284e1005db95fb40120e7b931f9619af</sys_id><sys_mod_count>0</sys_mod_count><sys_name>High-new.highnew</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_284e1005db95fb40120e7b931f9619af</sys_update_name><sys_updated_by>trevor.roberts</sys_updated_by><sys_updated_on>2019-05-06 22:51:55</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>871667818</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>325bd411dbd53f40120e7b931f961980</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a8f58b1670000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table/>\n<target_name>High-new.highnew</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>e04e10051595fb403db86875ff53c5b1</update_guid>\n<update_guid_history>e04e10051595fb403db86875ff53c5b1:871667818</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>retrieved</category>\n<comments/>\n<name>sys_ui_script_83a7e76fdbffab00d1a151735e96192e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;highcharts-ng.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA['use strict';\n\nangular.module('highcharts-ng', [])\n    .directive('highchart', function () {\n        var seriesId = 0;\n        var ensureIds = function (series) {\n            series.forEach(function (s) {\n                if (!angular.isDefined(s.id)) {\n                    s.id = \"series-\" + seriesId++;\n                }\n            });\n        }\n\n        var getMergedOptions = function (element, options, series) {\n            var defaultOptions = {\n                chart: {\n                    renderTo: element[0]\n                },\n                title: {},\n                series: []\n            }\n            var mergedOptions = {}\n            if (options) {\n                mergedOptions = $.extend(true, {}, defaultOptions, options);\n            } else {\n                mergedOptions = defaultOptions;\n            }\n            if(series) {\n              mergedOptions.series = series\n            }\n            return mergedOptions\n        }\n\n        return {\n            restrict: 'EC',\n            replace: false,\n            scope: {\n                series: '=',\n                options: '=',\n                title: '='\n            },\n            link: function (scope, element, attrs) {\n\n                var mergedOptions = getMergedOptions(element, scope.options, scope.series);\n                var chart = new Highcharts.Chart(mergedOptions);\n\n                scope.$watch(\"series\", function (newSeries, oldSeries) {\n                    //do nothing when called on registration\n                    if (newSeries === oldSeries) return;\n                    if (newSeries) {\n                        ensureIds(newSeries);\n                        var ids = []\n\n                        //Find series to add or update\n                        newSeries.forEach(function (s) {\n                          ids.push(s.id)\n                          var chartSeries = chart.get(s.id);\n                          if (chartSeries) {\n                            chartSeries.update(angular.copy(s), false);\n                          } else {\n                            chart.addSeries(angular.copy(s), false)\n                          }\n                        });\n                        //Now remove any missing series\n                        chart.series.forEach(function (s) {\n                          if (ids.indexOf(s.options.id) &lt; 0) {\n                            s.remove(false);\n                          }\n                        });\n                        chart.redraw();\n                    }\n\n\n                }, true);\n                scope.$watch(\"title\", function (newTitle) {\n                    chart.setTitle(newTitle, true);\n                }, true);\n                scope.$watch(\"options\", function (newOptions, oldOptions, scope) {\n                    //do nothing when called on registration\n                    if (newOptions === oldOptions) return;\n                    chart.destroy()\n                    var mergedOptions = getMergedOptions(element, newOptions);\n                    chart = new Highcharts.Chart(mergedOptions);\n                    chart.setTitle(scope.title, true);\n                    ensureIds(scope.series);\n                    scope.series.forEach(function (s) {\n                        chart.addSeries(angular.copy(s), false)\n                    });\n                    chart.redraw()\n\n                }, true);\n            }\n        }\n    });]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;Allisa.Liberto&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-01 18:23:07&lt;/sys_created_on&gt;&lt;sys_id&gt;83a7e76fdbffab00d1a151735e96192e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;highcharts-ng.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_83a7e76fdbffab00d1a151735e96192e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;Allisa.Liberto&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-01 18:23:07&lt;/sys_updated_on&gt;&lt;ui_type&gt;10&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1100316287</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>325bd411dbd53f40120e7b931f961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1693a7ee2e90000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table>sn_customerservice_case</table>\n<target_name>highcharts-ng.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>6fc76b6fa7ffab00bdeb1408b9a102d2</update_guid>\n<update_guid_history>6fc76b6fa7ffab00bdeb1408b9a102d2:-1100316287</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_e6e6ac77dbf7eb00d1a151735e9619cc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>Highcharts 5.0.14</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-03-01 22:58:57</sys_created_on><sys_id>e6e6ac77dbf7eb00d1a151735e9619cc</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts 5.0.14</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_e6e6ac77dbf7eb00d1a151735e9619cc</sys_update_name><sys_updated_by>trevor.roberts</sys_updated_by><sys_updated_on>2019-05-06 22:55:33</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>2062454745</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>365bd411dbd53f40120e7b931f961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a8f5c04fd0000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table/>\n<target_name>Highcharts 5.0.14</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>bd1f90451295fb404f49805d73c39ca2</update_guid>\n<update_guid_history>bd1f90451295fb404f49805d73c39ca2:2062454745,d0f66c7710f7eb0071c1c10061202dd8:-1749858455</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>retrieved</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_ae18af6fdbffab00d1a151735e96197c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"highcharts-ng\">c6356fe7dbffab00d1a151735e961920</sp_dependency><sp_js_include display_value=\"highchartsNg.js\">3bc7ab6fdbffab00d1a151735e96190a</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>Allisa.Liberto</sys_created_by><sys_created_on>2019-03-01 18:24:25</sys_created_on><sys_id>ae18af6fdbffab00d1a151735e96197c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts-ng.highchartsNg.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_ae18af6fdbffab00d1a151735e96197c</sys_update_name><sys_updated_by>Allisa.Liberto</sys_updated_by><sys_updated_on>2019-03-01 18:24:25</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1617669783</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>3a5bd411dbd53f40120e7b931f961980</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1693a80101c0000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table>sn_customerservice_case</table>\n<target_name>highcharts-ng.highchartsNg.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>a618af6fc4ffab00b4d16cb51bf9797e</update_guid>\n<update_guid_history>a618af6fc4ffab00b4d16cb51bf9797e:1617669783</update_guid_history>\n<update_set display_value=\"\"/>\n<view>RPTa38b3864db7be740d1a151735e961950</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>retrieved</category>\n<comments/>\n<name>sp_dependency_c6356fe7dbffab00d1a151735e961920</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>highcharts-ng</module><name>highcharts-ng</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>Allisa.Liberto</sys_created_by><sys_created_on>2019-03-01 18:13:50</sys_created_on><sys_id>c6356fe7dbffab00d1a151735e961920</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts-ng</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c6356fe7dbffab00d1a151735e961920</sys_update_name><sys_updated_by>Allisa.Liberto</sys_updated_by><sys_updated_on>2019-03-01 18:13:50</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1135204906</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>725bd411dbd53f40120e7b931f961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1693a7661a20000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table>sn_customerservice_case</table>\n<target_name>highcharts-ng</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>23a56fe798ffab0045e8109841977726</update_guid>\n<update_guid_history>23a56fe798ffab0045e8109841977726:1135204906</update_guid_history>\n<update_set display_value=\"\"/>\n<view>bt_create_case</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c2d56a93dbfb6b00d1a151735e9619df</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function GroupByDonutController($scope, $rootScope) {\n  var c = this;\n\n  var dataLabels = { enabled: true };\n  if (c.data.labelLength &lt;= 2) {\n    dataLabels = {\n      enabled: true,\n      formatter: function() {\n        if (this.point.percentage &gt; 4) {\n          return c.data.prefix + this.point.key;\n        }\n        return '';\n      },\n      distance: -25,\n      style: {\n        color: 'white',\n        fontSize: '18px',\n        fontWeight: 'bold',\n        textOutline: '0px'\n      }\n    };\n  }\n\n  var chartOptions = {\n    chart: {\n      type: 'pie'\n    },\n    xAxis: {\n      title: {\n        text: null\n      },\n      labels: {\n        rotation: 0\n      }\n    },\n    credits: {\n      enabled: false\n    },\n    yAxis: {\n      min: 0,\n      title: {\n        text: null\n      }\n    },\n    plotOptions: {\n      pie: {\n        shadow: false,\n        dataLabels: dataLabels\n      },\n      series: {\n        innerSize: '60%',\n        cursor: 'pointer'\n      }\n    },\n    title: {\n      align: 'center',\n      verticalAlign: 'middle',\n      y: 10,\n      style: {\n        fontSize: '28px',\n        fontWeight: 'bold',\n        color: null // allow theming\n      }\n    },\n    tooltip: {\n      formatter: function() {\n        return this.key + ' ' + c.data.pluralTableName + ': &lt;b&gt;' + this.y + '&lt;/b&gt;';\n      }\n    }\n  };\n\n  buildChart(c.data.title, chartOptions, c.data.series[0].data);\n\n  $scope.$on('sublime.tab.clicked', function(event, tabClicked) {\n    c.server.get({\n      tabClicked: tabClicked,\n      seriesData: c.data.series[0].data.map(function(s) { return { value: s.key, name: s.name }; })\n    }).then(function(r) {\n      buildChart(r.data.title, chartOptions, r.data.series[0].data);\n    });\n  });\n\n  function buildChart(title, options, seriesData) {\n    $scope.chart = {\n      test: true,\n      options: options,\n      series: [{\n        data: seriesData\n      }]\n    };\n    $scope.chart.options.title.text = title;\n\n    // Create drilldowns\n    $scope.chart.series[0].data.forEach(function(point) {\n      point.events = {\n        click: function(event) {\n          $rootScope.$broadcast('sublime.query.selected', { query: point.q, title: point.t });\n        }\n      };\n    });\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-chart-title: #777 !default;\n\nhighchart {\n  width: 100%;\n  height: 300px;\n  display: block;\n\n  .highcharts-title {\n    fill: $pe-chart-title;\n  }\n\n  .highcharts-point.highcharts-color-0,\n  .highcharts-halo.highcharts-color-0 {\n    fill: $brand-danger;\n  }\n  .highcharts-data-label-connector.highcharts-color-0,\n  .highcharts-tooltip.highcharts-color-0 &amp;gt; .highcharts-tooltip-box {\n    stroke: $brand-danger;\n  }\n  \n  .highcharts-point.highcharts-color-1,\n  .highcharts-halo.highcharts-color-1 {\n    fill: $brand-warning;\n  }\n  .highcharts-data-label-connector.highcharts-color-1,\n  .highcharts-tooltip.highcharts-color-1 &amp;gt; .highcharts-tooltip-box {\n    stroke: $brand-warning;\n  }\n\n  .highcharts-point.highcharts-color-2,\n  .highcharts-halo.highcharts-color-2 {\n    fill: $brand-primary;\n  }\n  .highcharts-data-label-connector.highcharts-color-2,\n  .highcharts-tooltip.highcharts-color-2 &amp;gt; .highcharts-tooltip-box {\n    stroke: $brand-primary;\n  }\n  \n  .highcharts-point.highcharts-color-3,\n  .highcharts-halo.highcharts-color-3 {\n    fill: $brand-info;\n  }\n  .highcharts-data-label-connector.highcharts-color-3,\n  .highcharts-tooltip.highcharts-color-3 &amp;gt; .highcharts-tooltip-box {\n    stroke: $brand-info;\n  }\n  \n  .highcharts-point.highcharts-color-4,\n  .highcharts-halo.highcharts-color-4 {\n    fill: $brand-success;\n  }\n  .highcharts-data-label-connector.highcharts-color-4,\n  .highcharts-tooltip.highcharts-color-4 &amp;gt; .highcharts-tooltip-box {\n    stroke: $brand-success;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;table,filter,field_list&lt;/field_list&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;group-by-donut&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Group By Donut&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var filter = options.filter || input.filter || 'active=true^EQ';\n  var table = options.table || input.table || 'sn_customerservice_case';\n  var groupBy = 'priority';\n  if (options &amp;&amp; options.field_list || input &amp;&amp; input.field_list) {\n    groupBy = options.field_list.split(',')[0] || input.field_list.split(',')[0];\n  }\n  data.prefix = groupBy.charAt(0).toUpperCase();\n\n  var aggregates = [];\n  var total = 0;\n\n  var ga = new GlideAggregate(table);\n  data.pluralTableName = ga.getED().getPlural();\n  ga.addEncodedQuery(filter);\n  ga.addAggregate('COUNT');\n\n  if (input &amp;&amp; input.tabClicked == 'my_records') {\n    ga.addQuery('assigned_to', gs.getUserID());\n  }\n\n  ga.groupBy(groupBy);\n  ga.orderBy(groupBy);\n  ga.query();\n\n  while (ga.next()) {\n    var count = ga.getAggregate('COUNT') * 1;\n    aggregates.push({\n      value: ga.getValue(groupBy) + '',\n      name: ga.getDisplayValue(groupBy) + '' || '(empty)',\n      count: count\n    });\n    total += count;\n  }\n\n  // Prepare output objects\n  data.title = total;\n  data.series = [{\n    name: data.pluralTableName,\n    data: []\n  }];\n\n  if (input &amp;&amp; input.seriesData) {\n    // If aggregates does not contain value from seriesData then add it\n    input.seriesData.forEach(function(series, i) {\n      if (!aggregates.some(function(a) { return a.value == series.value; })) {\n        aggregates.splice(i, 0, series);\n      }\n    });\n  }\n\n  aggregates.forEach(function(aggregate) {\n    var q = 'active=true';\n    if (aggregate.name != '(empty)') {\n      q += '^' + groupBy + '=' + aggregate.value;\n    }\n    if (input &amp;&amp; input.tabClicked == 'my_records') {\n      q += '^assigned_to=' + gs.getUserID();\n    }\n    q += '^EQ';\n\n    var t = input &amp;&amp; input.tabClicked == 'my_records' ? 'My ' : 'All ';\n    if (aggregate.name != '(empty)') {\n      t += aggregate.name + ' ';\n    }\n    t += data.pluralTableName;\n\n    data.labelLength = Math.max(data.labelLength || 0, aggregate.value.length);\n\n    data.series[0].data.push({\n      name: aggregate.name,\n      y: aggregate.count || 0,\n      key: aggregate.value,\n      q: q,\n      t: t\n    });\n  });\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;Allisa.Liberto&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-28 18:56:27&lt;/sys_created_on&gt;&lt;sys_id&gt;c2d56a93dbfb6b00d1a151735e9619df&lt;/sys_id&gt;&lt;sys_mod_count&gt;453&lt;/sys_mod_count&gt;&lt;sys_name&gt;Group By Donut&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c2d56a93dbfb6b00d1a151735e9619df&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;trevor.roberts&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-07 17:12:16&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;highchart class=\"chart\" id=\"group-by-donut\" series=\"chart.series\" title=\"\" options=\"chart.options\"&gt;&lt;/highchart&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-281963133</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>7e5bd411dbd53f40120e7b931f961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a934818480000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table/>\n<target_name>Group By Donut</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>031a5c9d50953f4074c9a49cd0d9c22c</update_guid>\n<update_guid_history>031a5c9d50953f4074c9a49cd0d9c22c:-281963133,72e95c9d6e953f40ffafb406303c3c28:-2138470042,0f499455c5953f40aae7c14fda7bb000:-1985243278,8cd818d919953f4048130c92c5aa3177:1125776411,4e68545541953f40c548781052e4e6fb:-581857657,8e9754d94a953f40f91d07c90077608e:79727011,ed879cd945953f40c0b6363fc5c3f5d3:299522350,bb66d89904953f40bdc9d31b421e2c8b:1653297574,65565c5968953f40612409538c491213:1279212082,54255859ba953f407c6c5c91399da4e6:-1639157976,9cd498190d953f404d24caf6a42ecb5f:188524446,8514941976953f40dc60b6040e53924c:132218490,ebd314197f953f40cafb5d55c69f7b86:129036526,63b310199d953f408e79c53f145ff6dc:-1355549266,d0b3101962953f4008b1648f833662d5:1106798924,c193d8d5eb953f4010b146c5d61363c9:352949442,e1198c994e553f40ad9c0ecb12ff18f7:458737627,f8164459ab553f4079ff7ecb8d870179:985340791,0b95081994553f4010cf8b0ae69fe5f5:-1121728925,90858019b6553f40662b29624faf202d:1035661746,14d488d5ae553f40b4c140393e7db090:-590358563,f9618c51e4553f401ef7daa7ef0cc1fb:409737940,8d514c510a553f40f2572d691f832554:-1420638479,1ce04c11dc553f408fff14544879cbeb:1389788538,7b508811dc553f4080739d34c8a9bc37:-1135094517,2d20881188553f400081832a94186c30:-1268545686,26104411f0553f4024f2ff4fa136cd6b:-558973836,04bff7cd1c153f40bc6a6f8fae39f7bf:-26974718,a59f37cdd2153f40b10a6871f27da90c:-264828672,587fff8d1a153f409b3395bcdbd870d6:-26974718,4722a409a695fb40d165ac90b0f377cb:-1400221527,39c1e009ea95fb40d1ff2c55c1bb63ee:107158743,e0b998cded55fb40c1b5e1ea57664c12:1280828205,e6999c0d8f55fb40449fed4b9fbbae13:1782937316,a337540d1655fb401d73cfd8ad6b42e7:1594826763,03079c0d3755fb40986dd728e866ba0e:1722389911,30a6d4891455fb40ff679ef912e3729c:1610192557,91369cc92855fb4082ea6ddb735aeb9e:-935950492,73c5d4895255fb40ba86114ed02cd998:-925430468,189514499655fb40b8b4425e8dfd25ab:1744656463,680514495d55fb40e22b39ef9130d2a7:507913500,9ef41489de55fb40a6a2a7e3feb6284b:2091473172,82e4d4894d55fb40bb075b9102811a94:-777478818,62c414895455fb401857333aee9c6248:-500249872,f8949849be55fb40fee4d4426816e093:1350130375,5c5498494a55fb40bf6eb6e050320b8e:-1514877979,ff44d0cd6515fb40056c213598b5a9d9:-480209130,181414490055fb4029b3b278d7d245a2:-1827040273,4af258011255fb401f45cbc92e0aef92:1988970151,ade2584d9415fb404e8fd062d062d63b:-377098835,587d48010a55fb4094e784a4b9c4608b:-1509886449,f48b08c92415fb401e34e73f93087a19:580977894,ffaac0cd1d15fb400cb0e1e0ccd1c0d2:-484551828,8b9a08c9aa15fb402b851e47f6a90c15:2079095133,4c998c85f715fb409129a47a2a99fcbc:1396149857,f5f70889d615fb4033a7aa2ad7560527:-1294328333,ca8708c98415fb40d4bb84bc79fad30f:1571689410,c5f28485aa15fb4010ee920459777fd3:378301156,76224481f915fb4062d33a43030a3643:-1353523906,9b318401cb15fb4042ebc1743fd24b59:196174816,75af77b07715fb4067a622208032f73c:11598455,237b7f7c9fd1fb40942ca3a806498b4a:-545094480,9e6bfbb82dd1fb402b71cd1e95cfa060:150327492,e03b3b7ca0d1fb4008eee65c01fa1648:35564130,512bbff835d1fb402358ff8b42852247:-450196604,141bbff873d1fb403c928d2f82bcae43:-491104211,d3aa33f45ed1fb403d5c1e20d42cebf9:1893900266,c8aa73f8ecd1fb40b1971cc475986d09:-705123571,96a9bff81ad1fb40f92ad67cbde2753e:-1996899075,fef8fbb81cd1fb40aac5be9356ba5e5b:37852272,70de8fb42a11fb40268648b1a0e48226:175775600,45bc4b747d11fb40ea36a54246e2b0ba:-308429712,fd8c4730ae11fb403bdaa1ce936fcf97:1274324454,0b7c4b74aa11fb400896d0217f003cb6:-1803394997,407c0378ecddbb4061fcb8a6145639da:852730378,cacb0bf0be11fb40e4bb96927c3b1427:-1082050937,0acbcbf0c211fb40d91afe813705f3da:96945404,49cacbf0c911fb402a401a37c52c8bd4:-2122461835,ac8a0bf0ea11fb4020479fdc5ba71323:825951691,127943302511fb40c7ac7e7d8ca0655f:742227744,e17943300a11fb4059da9ee5d40d9b5b:156260217,33f80f702411fb4090c0fc0125156bdd:-280309888,f2c80f700b11fb405aa7f26b30c092d9:-1117659762,b7b80f708711fb4027c6c3d6acfa6dd5:1272316270,ff684730c211fb40fd402b1b04ac8f90:-1517478024,9327cbf836ddbb4021cf19170d452129:-392686813,d3274330be11fb4078486ded31d8ff54:-1011959915,04d6cbf809ddbb404ee46e3dd675ab24:-354545489,ce514f7817ddbb4072f9c5bab3bb98c8:-1471164401,015103b4bdddbb407722c2463a1764fd:-1179521576,2d31037896ddbb40d30264ca248f97d3:-92744689,a8010f34cdddbb40d43eb3e5fabee100:-2046476604,d0e003b471ddbb40f1b5bf921afc32f9:-1586951743,cea00378b3ddbb40786ccda3379283cf:-1986316634,75200ff464ddbb40771f94d64dd58b02:655004552,c5c24dc0da95f740abfb44b1b83e55fe:812993914,79210d083995f7408c0e774cecd17b0c:-192281016,0eee34409195f740f544738cbb278514:-100727651,71ec30c03095f7407cf3e65f76662f59:746128414,9adc3c00c595f7407a82e5ae17a23a71:1222753661,058c30c0be95f7404c6875d71024ba55:1170044073,f71b30c0eb95f740a6686b8a440c4151:1706315398,2f5934401c95f740780e3039f393640d:-287202803,6159bc00f295f74073174221332a094b:-32207605,fd393440bd95f7406c39df6b88cf7a09:-287202803,11293040a695f7405fdd4e0fa1d72fd0:-1260331122,c429fc002895f74009bf915427bfac81:-1506828976,ba19fc007a95f7404259719e7eea7a7d:-1999824684,e2093040b595f74039638a69f8cae8cc:-2123073611,950930404695f740751e5d6ab86afec8:-1149945292,0409bc005095f7403e6f934b57ebb247:1198765366,5df8fc000d95f7408e36d6bbbda1fe79:2142279573,48f83c003895f740621032df83b91ae1:-1179559404,2ee83c008d95f740c163b2d253845edd:1739825553,95e8bc002795f7406a5aa40f815c4c42:815439182,fbd83c00f395f7402780900cd15a286b:-1582013424,dfc83c005495f7409f6a770f1def1fd9:-1020426417,e5c878006a95f740f54a4e290f39163f:-510749904,42b83cccc755f740460194654acc615e:-1735188482,a8b878005295f74032695d07f77dbf3b:2145693249,7ea878009d95f740b13cc7c20904ca37:-1256150796,38a8fccc8d55f74041111ef22b17d022:1536332220,32987800cd95f740a376b6858fec1a34:-826971101,e888bc8cde55f74011ad2242800f0d78:-1708964306,15183ccc0155f740e8bd869045d1805a:-1510922641,a818fccc2e55f740dd0c6c7ce9ba021e:45005616,4f08f8ccd055f7405c2f971a9ca360d2:-1510922641,0108f8cc4155f7402779d6b789b135cf:-2056229456,6ef7fccc3655f74013999295324a031a:-1510922641,d6c73ccc0955f740ca0db1b3743b4656:-1092535257,3bb7b08ccb55f74038af9073496ab149:-161458239,99b7348c1c55f7407c49c9a286e3bbf3:371091041,fba7b08c7755f74093bdba9de738fb45:-1724742040,5f27b08ce855f740762a981a98a7e640:1495135418,7f17340cfb55f7401978b99c0b21db98:1334588689,2f07bc8c9255f740b8478a31f49bf672:-2120792245,ccf6bc8c8f55f740bebb195f6f47156e:-1884300396,88b6b04cec55f74034fc29fe32b915d2:1659949912,1c96348cff55f740950403135e080bee:-764011592,fd76348c4255f7404cf1fece30bb5aea:142511256,fa4634407555f74017864345db0ea618:1126926640,7726f40c0855f74082c53cdb0d07f09b:142511256,0e06b04c5655f7408317e77c73bcd1cd:459042564,09c5f40cee55f740e9ee852783a78497:1912193355,b59578881755f740ba64ad3254ec498a:144240529,2155340cb555f740415db2b61da62f95:-1227507177,4155340cc955f7406bcde80b195d6d91:1924480848,e5457888ee55f7409f198e2387cc5b86:-1586073707,1905f40cfd55f7409bb216d72a3a9992:-333323901,46e47440c655f740b4b037ad2f9f5f1d:-1738590848,34d4b8805e55f74098108604d0a5f963:1587365710,2a8478885055f74068429f5b6d54e782:1121375503,ff1da0804955f7405133f1a39fadb2e4:1279937331,035ba0802f55f740670c880f7b9cc7e1:769319523,954ba4402d55f7402f3357e0e361df85:-1549228766,5a2bec8c1815f740cf8d002df68eff81:919055618,a3ba6440cc55f740f0574ae6bd951e15:2023611984,e58aa4400355f7401b69ba0c489e7b81:-1474615860,526aa4407955f740b78a98e46eef7e7d:-1253602555,8d5a60005e55f74067b3593764c5c97c:-663941684,864a24401055f740a2d9c7cdb8716e0d:-1696666525,153a20406d55f740953f5f1bc2eac903:-1182373786,6b0aec8c2115f740451b3581c63fd97c:269993784,8d89ac4caf15f740ce6991fb70668a41:-2114521747,ff496000e455f740170714fb4787c078:-1315914115,332960006b55f7404f55fef1653edd75:-1624690088,531960004455f740790ffc6b16a42871:1105898792,6909e48cc115f7405f698d4c165daad2:-1321602672,a9f8e48cd715f7408c1a5b80f9d61dce:1822771355,dcb7ac4c6e15f7403b5ccdc6286a263d:696910406,f997e48c5215f740899279f9e7d2fcca:-1093717195,03e6ac4c2115f740343e336ae196ab3a:-2003639305,00c6e04ca715f740d58722818ad7b907:-1859762514,bea62c883715f74086783631594d768c:624772654,5096e04cb815f740a7c8f152625acd03:1487747406,1486acc04015f74068d2515c2e8907b4:20483374,9e362c882a15f74095845c83c9b49f87:1047905231,b036a04ccf15f740cf27c8c322211bff:526551443,b4cc18c04115f740d13e4f1642d626a8:-1297111770,7fbc54040bd1f740a5524964b31458d1:291147854,89eb98801415f7400e724990b573859d:-2033869027,2edc4cc0bed1f7401b94a2a4da70a446:-1117134112,d9cb8c00bad1f740114c9d304290916c:595937198,fc8a8044fa91f740080f2f243477008b:-367912418,de0a8c006ad1f740a693a5aacfce2b64:322182655,7f43c32678c97340c129f45017f2ae6a:590343061,2d5c3a6e3e897340ec68501827f93044:146730187,504c766e2e8973405472dc121b9469b6:1471903897,c33c766e3c897340484bf03923ecc2af:-334199434,a2eb7e2e0f8973407e3ef9cbdb5f7ed5:-1902545579,0cdbfa2e6a89734038919945b0dc30dc:2106026723,8cbbfa2e718973401e5aef6ab9f949d4:-1540581932,d29bba2ef5897340214256effd2e976c:-1990391756,ff8538c62941ff000608fdbc2ed575e0:-1056476488,5765f4c6c241ff00baec4891dc87a69c:1229462781,145574c60241ff00de9525e3d6f786b0:463033373,184574c65141ff00dd360741ac99b4a7:-1568704004,4435f0c60d41ff008ff372f38d26b726:2130904476,c425f0c6ec41ff0074b6cdbfb33eb91f:560643000,2b05fc868341ff00ad90158ad16fa92e:-2075982218,2bf430c6b041ff008cc5d50bd17abcb4:-170909098,0ee4fc862f41ff00bd5f695685a73225:515519867,d8b434864141ff00c0bbbe76f86ebd9d:-897184873,7514f406e541ff00feb59e36b7ccbb71:-1875620873,52f234066f41ff0095cb0537bfdbaa16:1139446903,0dc238069e41ff00578fe1f00656b9e7:-1894706505,b2a2b406f641ff00943e4e327bc61e46:-1713545956,4892fcc24d41ff00bd5879d63d4fd478:-104255367,6649bef53a49bf009dfe3396a24c3287:-2002774212,da097af59b49bf0086f3378a42e396bb:1610745250,3ee8f2f5cf49bf00ce4ade75505c7e25:-1842510646,aaa8f2f5bf49bf00d9d1bec1a784a81d:1285642289,74b7b2b52649bf002618511a021566ef:2084099388,a487fe750f49bf00888ab77fe4cba44d:-1895435872,cc273a757249bf007c5d00a3332868ef:43515714,3fa672754549bf006b4f510131a55a04:-379125689,0936b6355f49bf00671458fa99fdaceb:577065991,b51636359549bf00a061610b5149b605:-430426784,d2f57ef1f649bf007f3774bdef2c54bd:986458379,bf65baf10549bf0026d32a443cc944c1:-1115158845,f9227231af49bf00c176474c6c31b968:-1695084968,28f1befda109bf00ca5a23b1f282bc18:-1729601417,83c17efd6209bf00ab2c37ce36966fbf:58849086,31913afdf509bf00d9315ec20ca79feb:1489499359,0b7176fdfc09bf001d1dbe422da952bf:-1944737429,ac71f6fd2e09bf0006615f4a8eedc879:1489499359,ef5136fd3609bf00c18f2ad8157cd858:-252169376,1a41f6bd6f09bf00671493ac0c4c06ce:-237472704,5290ba795009bf003288dbc5c8d8dee8:634138317,e18076bdeb09bf0082710f7473ada2a5:-705821873,cacea2f97709bf00ca2cfd3390f615ae:-1359969598,88bee6b9a309bf009daab49b09a006b3:-204729392,79f27db98e05bf00686566c51c64b30c:1344431758,d8c271b91105bf00f04abd4edc0ade4f:-1359969598,172271b99405bf00b2495722d546c2e1:-932537214,9f12bd79e005bf00dad4dd2553efa4ca:1482543937,23f1bd790705bf001628121d1a7400c4:-932537214,9cf1b139af05bf00041d1a23bcfb9e2c:298328150,e4c1f9793805bf00785dbe009ba788e2:1300683730,b77139797d05bf00e12a271086eb2719:1745228062,e66075397b05bf00402f125a2fb971e1:-114921318,27afe5f52905bf00255fe36a99534ea0:-876978341,b81dbc352141bf007ac806adfbf4d745:146929851,7cec7c35cd41bf00bf0a2cae770ceda6:-903696119,f89c38352e41bf00eddef818ce5aa937:-1207397299,681cfcf1c841bf0058f5ff0a8df2fd78:210785404,02abf0f1ca41bf0057b11507098f89bb:133525434,c03bf8b1da41bf00816ea886e9d407f7:-408709816,63baf8b1ac41bf003e22aeaa7776e3ed:448055849,3caaf8316241bf001db6b3a1942dbe9d:2116278985,e0863c7dd501bf007bdd9b3ea6d2fe4b:448055849,d776b0bdb701bf00f79e506b173a18a2:-320102418,09a5f87d7701bf0029a33ecb71afa4b2:-1213953528,9a85f87de501bf004b001d50882702ab:-1875175152,fd8378f9b501bf003e51107bb3029f38:832655032,bb53b4f93a01bf0059722452dbdc99b5:-1534138128,bed2f0b9be01bf00e5a3c15f18a021ea:226573780,94600ba601e8bb808119eab1502da06f:-921853030,d1753eaadaa8bb804603aff92dcbf63f:-984355502,67653eaaefa8bb80697cf8bff66ac438:1015636594,9a55b2aa37a8bb8046f6d1cf9d9ae6b0:-984355502,2fc4ba6ad9a8bb80cc8012bdbd780b6d:-750597298,94c4f66a58a8bb80987637f6fd63ffa7:890627996,06647a6a1fa8bb804fc31e24e94b45f8:-750597298,3544366a70a8bb80fa78dd038258b1ab:-1310178572,1fc37e2aaea8bb801cab13823941cda1:-1885241436,08c37a2adba8bb80e9be23b58818d29f:-195003388,6583fee640a8bb80aed878b459087ac2:-2030662137,fe73fee68ea8bb8016e5e15f1218c3ee:1168371380,d334621e61287b807fc8ab169797c26f:-2030662137,75e3621e09287b80e6297602e03f1d68:162533218,bed3221e3d287b809c2ca3b1a4f019a2:1167713229,21a36eda3a287b8021a4ffc75e5efb17:1313397296,4d936ada88287b80d20104bfbea21a99:-571246608,e41b00f715d0bf40f50c26bb7c79e59e:162533218,4e6ad0a789d07f40ebdd72f6aa048bf3:1463248535,672ad0a7c2d07f40d4174029707a3877:-77313217,c51a90a760d07f402c15cac6e4860cef:1682257503,db0a10a73ed07f40781f4d3e250159fd:-86484353,780a90a7c4d07f400211c35c83683ee3:97804927,6ce910a7fbd07f40789705d50b240af1:1682257503,cdd9d86718d07f403854d8c12a248246:1551975264,1ebb8867de907f40fb4dd993a616f871:-992406515,70bbc867ee907f40f28ce99c4b28d39e:-198626451,50abc46727907f409514306d988150cd:-1590518680,d38bc46733907f4028162527dc9839c6:682776898,716b046798907f407c7e81bae76253c6:159244816,8d5b806752907f400502e8cd5ecc39ec:1818777208,560b4c276c907f40b220633835ffb2ed:1999060934,53dac427e3907f405e6f3d4be9460dd1:190438980,e0aa4ce3fe907f40b9d96bd46bb28154:-508669303,f619c8a330907f40d1fd7dcc75651b1a:2091534694,66c504ef68507f407c8424ffe35c4f6b:1258820697,e6b500ef18507f40470d98315666a315:478563434,ec8588aff9507f403addd7bc6a2d6ae4:-1008235949,36554cafec507f406bb4b33d8ef32a89:1293239311,724588afc6507f4033c1811a033925de:-1271428157,922548afa8507f40cc3b1fd5a9166ef1:-834283598,180584af88507f40ffdc542a8207cf88:-552909985,dfe444afe0507f40de3696d5a0f98e42:192099774,ba63c42f94507f40fd1dd3d6969399c8:700133496,cba24ceb3a507f40c34d644449bc7e8e:583640784,77ed364119847300e1fb64b5ce04b201:-928617239,bb70fe81404473000c18e6a89f216240:442021804,e8d0bc89c10c33009e0b28067cb29c57:-1007270437,897eacc5300c330037f42a7e3e239def:382180625,6666e4cd9ac8330024d233807086b57c:1825218284,9616ec8db5c83300c998d0a3e51ff7c9:1629370357,01506009aec83300c40319eb0cf12c54:-1805900668,04cf1c8594c83300efb23c504cef6e5c:-752630802,302f90c503c83300a297d7ad11bf8b04:700771559,3fbed88549c8330032830b1542c6648a:-250121972,dd7d5c05e6c8330089b2d006342499fe:1338187036,e59a984109c83300f3cbe8a5970f1342:-2087243758,8d6a5041b2c83300abbc4d214aa036d4:1416246384,00591001e6c83300c3449bc287f6cb19:-1733679043,7ec8dccd0c8833007f78506189af17d8:1075638016,8275d80ded88330007b696b01bf80179:-1664213945,e865580d01883300ff6e91c1ecf254ab:236469434,47d494c9468833003878527317380bbb:-1664213945,afc49cc98b88330075b87b6c62684f7d:1504195111,f4541c89db88330040fce663b6800874:494047915,2473d409188833004b0d8627d9accba5:1504195111,229fc005f9883300b34bde9e43872187:-2069028193,d48f08c1598833002d02b9fee87c58f8:1565829034,b2e8bb3409083300d44cc0d846895aae:-497113103,43d8eb6c7084ff00b843354b58e00fc1:1878430059,99d82f6ccd84ff0028183ad294ca5e29:1680881264,a3c8ab6c9684ff00707904dda9c4cedf:1601861746,b1c86b6ceb84ff00117495e66a22aa78:-1542517607,46a8ef2c0384ff002c2100978efd2f44:-1384478571,9e282f2ccf84ff00d224819fdee70fb2:1211257681,1a182f2cee84ff00aad74a5665013023:1543272405,d4186f2cc384ff00f6ac6698de4fc5bc:359461708,1508eb2cd584ff00fd8897e8a76c4ec7:-541899217,1bf7a72ce584ff0006219f36e21119c4:-612511660,61f76b2c4f84ff00bdf4ad58abc5077b:-1405849367,3c27a7e8f984ff00918b622fcc127c28:1901056343,06e2abe42c84ff007aa229fe92d82af5:583642201,25d267e4d584ff0019a7a3812e816ca0:440617613,d34edba00384ff009ebefe2ffc55589f:175634516,d35c9b201984ff009d4c42f09a48dc14:-201924272,25879fa88a44ff0028a6d6a59a5aa8a7:-1770548988,00f40b64e904ff00df02626e574ead54:313889386,4fc447641c04ff009b140327c16f99cc:-483751173,aa32c7a08804ff00041be54f6dda29f0:313889386,0132c7a02204ff0023169cf6f668864c:740489630,5391cb600104ff0011a6ca9632ddd477:1198879904,a7718b604004ff00683f0d1255142163:-1638170326,9d714760e704ff00f398157527680fcd:-1569244997,216147603504ff0080384b58c0828ec7:-721007647,c83107602504ff0058771d16badee37f:-1036073931,582007208104ff00e81bcfee134ba4ab:1610359507,5b100fec48c0ff00bbf58465df08f554:-157313520,892f32ec73c0ff007f49993c532a4edc:-887046967,679ebeac5fc0ff006b9e9ad26b493981:2074742299,005e36aca7c0ff00d37147f2a406beee:715553718,f5fdb26c1ac0ff00ce73f23db3be4881:318884277,7c9cfa2ce1c0ff007e81727f74765321:1404165268,f8cbf2e80bc0ff00dfbd5f52ac7a9841:-1139143656,38e97e685dc0ff00fc636b6e185a8628:-211709588,5bc93e681bc0ff0076520a3fbc0d2a13:1711720020,65d77c7f357beb00189706e54894aed8:-1272593798,6db7387f617beb008fa75de361ea5d25:-1305594773,03a7b87fbb7beb003f4305c90aa00205:945574669,cf87f47fc67beb00d6f2da0f1a290b07:-1459128544,6f77707f227beb007d441242673bfbee:1319536334,f977307fe87beb00779b095d900b6bb3:-1459128544,2e57347f037beb004387128b4c164a3c:687300807,4272f0b7d07beb0060523f8871a200ef:1319536334,baa17c37fa7beb00b3a6cc53cfef769f:1346935773,e170b873a37beb00ab8539d7884051a4:-1811638098,b8e8a4f3b03beb00d0d9bdd6758a238b:-1472211562,96c8ec7f80f7eb006d489a688acbf050:-1030801611,a988607febf7eb0043557a1ee20ea97a:-1162535067,21786c3f48f7eb002a158c48a5a99e91:-686159067,e318e43f19f7eb00aad1938d9128dc20:789874456,b22164fbb8b7eb00d660dee12cc70def:-91140894,d0306877a7b7eb004d3ba7b8b3dc5e6e:1547699752,f6c0183f5037eb00bdce00bf43c94283:1278101957,1638483f7ab3eb005b73cc357f939ed4:-983079798,95978cfbc8b3eb00599156eb7dbb5173:218623713,a757ccbba2b3eb0032eb9828ccfb937f:-1767440703,1496443b99b3eb0013d13ef709cc0d6e:1655437037,435688f702b3eb003e5667a4088ac642:1272517350,b3e444b76ab3eb002cb7e0fe66896e21:354210101,3ea440b7ceb3eb009a066c4a2f4fefbd:425341751,67840c7783b3eb00e88449e3414f4ccf:1213847031,c7934c3701b3eb005f160b997e2a348b:-1290574741,0b830c3798b3eb0082b400167e8da412:512702763,fc23043705b3eb00110f95c14bc8355a:-529443420,2a0348f383b3eb00303d68f26238b041:-2011254012,215204f331b3eb0079443a02d7816ef3:-2109166066,7f110c73f1b3eb001ad73e2b34f2e73d:-1945568235,4201487317b3eb00c822da4c49a98aec:-2140261515,34f048731cb3eb0010d586aef19ee85c:-1856230775,dbc0807354b3eb0018d9f637dc5a7b3c:-1915730972,bec04473b9b3eb00abe1869bd00c9ab8:1512812303,92904073f7b3eb009f8e8529936267ad:-1513487496,21bf7323c7b3eb00d4498faf770d17a1:-1856230775,2caf3323a8b3eb0069c12ea6fb066211:-398797073,609f7fefda73eb002c31385c2ab68bb8:-1986654869,a93fb3ef7b73eb00c29d307cd44536e3:-1856230775,512fb3effb73eb00768f4cb24db2df2c:-1751453791,271fffaffe73eb00b07d590997672dca:-335992605,66fdf32f2973eb00052ee486befcef42:-1856230775,09fdb32f2873eb001e89c243e9c5b294:2073327913,017df7ebb973eb00acc180aea8076791:329192393,448a3fe37073eb00d7582a3a809ff451:-998636992,020a37e3dc73eb009c971e2732629696:1052093597,9268ff63a673eb00d550b197256ea5ca:1106408784,e4d77f233873eb00150351f19377f149:-85097427,f0943b2fa033eb00c02b5d6e9dec02da:-1569763475,6fa27bab1733eb00dfe2d0047e9384cd:966994280,ff00bb6b7c33eb00f44594716e07c6f0:-781652492,aaef276b9933eb004b5c0962779ab4a8:755834823,bdaf2b2b0f33eb00d4893553c578b223:-2056443782,1e9eefe72a33eb00ce3541b297e8de5c:557021707,619eafe77f33eb00142d08612edf49e1:-1899361141,aaedafa7f833eb005670133d2a7350c1:950021264,3dbd27670433eb0036395d01cfeb2cfb:-2018465446,c94d27e31233eb006328a6e4b0891e35:-865524696,9313ebef06bfab00a03f3384dd35adc9:1712926884,a802abef7dbfab00eed02d131fef4294:1376060796,12e127ef76bfab007a4a6f9ecc4d17d5:-1088860222,b6d127ef0ebfab00b638f24e8520a965:1111681655,5ca1e3ef94bfab0005e11517273258c6:174821066,e391e3efedbfab00736734508b09c286:-1859124054,c291e3efecbfab00b58c9ac921d0e870:-2027321983,bb70af6f2dbfab00ba601eccde6f3723:1547699752,8240e76f12bfab007639c85e5f4774c4:-80872813,802bd32b3ebfab00354ba9521081f143:-1514422130,96aad3e759bfab001cd119fd608fc2d5:-1076719476,7879eb1bb0ff6b00b21cc603f7b6eb4e:-586479282,b5696b1b7cff6b009f80409c42fbd426:-985021680,0b596b1b9eff6b0059ad3663b368a39a:-1683624891,cd592b1b4bff6b001c3ae7efe1b06a51:747915507,3249a71b7eff6b00b6f3174ecfcdf3f4:369540977,5539a71ba7ff6b00b86317c6055f1eae:626742778,8b29a71b25ff6b007ba962acfdf4b70b:-561740616,f429e31bb7ff6b00e57f7299a1231d6b:-1750224010,a309e31b08ff6b00a59f22e870133662:-692374588,3409231be7ff6b00ea2661cb3875680f:-827650005,cfe8231b63ff6b000acfcb00c017917b:-692374588,01e8abd7a4ff6b00d73001117a1bd8f6:677683938,b398abd7a3ff6b0017493016773ba6ef:-1271280557,bf87a797e8ff6b002976154760d740d3:2030962852,de77a79727ff6b00ae774d4db1b889b9:2126767359,6be66f57b5ff6b006b5524427dc2411c:1639807020,f2c6e757feff6b00252c8de2e42ca8e3:2117851267,6486a35748ff6b008720a1d4e1431c02:-1128696964,5726635793ff6b00c577a56e857284ed:-343109560,93852b17f1ff6b00031737749d3e539a:-1179837188,fe45e317bcff6b00c76be872aa4ab197:1079644088,7c35afd354ff6b0040d4a6be21fb0a5b:-124800460,ff0523d361ff6b003c07b78c28ea8a49:-1344948147,c7e4a7d383ff6b007c1830e1a95aed8c:-45183543,c5336393bfff6b005f8eee658a390389:929882971,f623639301ff6b00fc5931499ebb9a01:1269598320,1413ef5358ff6b0028a40891b1d47eaf:929882971,cae26f53d6ff6b009959b4a55841f05c:1060609694,de926753bdff6b00e2f218bd1bb5bf80:-538835322,72722353d1ff6b0011109d5ad9e596e6:-1794277569,4e62235300ff6b0044371f7673cf015f:-439536839,2b02235328ff6b00a674065cd9ce8356:926068070,16916b1386ff6b003575e6d596feda72:-1408327230,bf31a31338ff6b007e381e4553e2e5be:2104634130,1421a31392ff6b00c993b7920c1adbb0:1156967256,7111efdf4abf6b00bbbf5e955276cb68:-1548997757,0cf0efdfe7bf6b007f76b834ef443c60:-1988894601,ea706bdfadbf6b006bff10a505560f50:-474452098,6960a3df95bf6b007947876172c47765:1557493534,1bef5b9f71bf6b00f0ca327038f2548b:2118254988,998f5f5f0dbf6b00af90347934ddc65a:537481438,6a5f5b9f4abf6b003368c5a656f84054:-1878576336,bc9e5f5fdabf6b002e57ec362e446439:-685982554,570e931f29bf6b00f1d9630b8fbb5032:-1239362309,649b979bb3bf6b00ce4c2c348e37ccad:-146674568,532b139ba3bf6b00fa4707092ee7f391:537991866,502b539b0fbf6b00f0931dbc6d535751:-1203849829,c21b139b64bf6b006db730076bbc548a:-2015133735,6e69971b35bf6b001e7f8a93fbfafdb2:1513907423,c9871f57b5bf6b009c244b5988edbc03:-1606105591,6c17db57fbbf6b004e99fc695da6ecd9:1368383615,15261357a1bf6b00d19144c543c8a4e9:1417906132,22e51f1768bf6b007f9b0d39d4659907:779933674,91c51f1796bf6b0038e640b70342ed00:-1619984970,1aa59b1702bf6b008dda25b59e5f1143:1417906132,b205dbd364bf6b00e85b6afc00aa848a:1701221012,d6a49f93ffbf6b00f4a8e2ed26a56d1c:-1970068557,6a9493d3c2bf6b002597123af4ebbe33:-57232724,f3c21b13e2bf6b00e56f65c04639c137:-1671986957,b1c2df13d5bf6b002814d4418773866f:259907774,beb11fdfa87f6b007ea3f8a2ae070909:-1360372814,641f4bdb987f6b005e7d541af4a9ec91:-830012613,b78ec3db2c7f6b00eb02e42c9a07321b:-1630210252,548e0b9bf47f6b00f6b9ff6a78a603ed:387950058,ae464f938e7f6b00fabdd46109fb3966:-1497794270,bdf5c793a27f6b0069b1efe64ca124bc:1273922604,78f54793fc7f6b0037f1114baf4134ac:519551020,8049669726fb6b0015b2919858801dab:1273922604</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_a81760b7dbf7eb00d1a151735e9619f3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Highcharts 5.0.14</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-03-01 22:59:41</sys_created_on><sys_id>a81760b7dbf7eb00d1a151735e9619f3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Highcharts 5.0.14</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"Highcharts JS v5.0.14\">bef620b7dbf7eb00d1a151735e961985</sys_ui_script><sys_update_name>sp_js_include_a81760b7dbf7eb00d1a151735e9619f3</sys_update_name><sys_updated_by>trevor.roberts</sys_updated_by><sys_updated_on>2019-05-06 22:55:04</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1863664007</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>ba5bd411dbd53f40120e7b931f961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a8f5b92c80000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table/>\n<target_name>Highcharts 5.0.14</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>aafe50452395fb4000d85baf50beb75d</update_guid>\n<update_guid_history>aafe50452395fb4000d85baf50beb75d:1863664007,7617a0b7eef7eb0034b1324d9de01e18:-1816057909</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>retrieved</category>\n<comments/>\n<name>m2m_sp_widget_dependency_42a86c7fdbf7eb00d1a151735e9619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"High-new\">e6e6ac77dbf7eb00d1a151735e9619cc</sp_dependency><sp_widget display_value=\"highchart1\">c2d56a93dbfb6b00d1a151735e9619df</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-03-01 23:06:27</sys_created_on><sys_id>42a86c7fdbf7eb00d1a151735e9619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name>High-new.highchart1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_42a86c7fdbf7eb00d1a151735e9619ea</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2019-03-01 23:06:27</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1388965948</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>be5bd411dbd53f40120e7b931f961980</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1693b8247f90000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table>sn_customerservice_case</table>\n<target_name>High-new.highchart1</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>cea86c7fe3f7eb0039a566fa0bb9a3eb</update_guid>\n<update_guid_history>cea86c7fe3f7eb0039a566fa0bb9a3eb:-1388965948</update_guid_history>\n<update_set display_value=\"\"/>\n<view>RPTa38b3864db7be740d1a151735e961950</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_bef620b7dbf7eb00d1a151735e961985</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description&gt;Highcharts JS v5.0.14 (2017-07-28)&amp;#13;\n&amp;#13;\n (c) 2009-2016 Torstein Honsi&amp;#13;\n&amp;#13;\n License: www.highcharts.com/license&lt;/description&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;Highcharts JS v5.0.14&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*\n Highcharts JS v5.0.14 (2017-07-28)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M,S){\"object\"===typeof module&amp;&amp;module.exports?module.exports=M.document?S(M):S:M.Highcharts=S(M)})(\"undefined\"!==typeof window?window:this,function(M){M=function(){var a=window,C=a.document,A=a.navigator&amp;&amp;a.navigator.userAgent||\"\",F=C&amp;&amp;C.createElementNS&amp;&amp;!!C.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\").createSVGRect,E=/(edge|msie|trident)/i.test(A)&amp;&amp;!window.opera,m=!F,f=/Firefox/.test(A),l=f&amp;&amp;4&gt;parseInt(A.split(\"Firefox/\")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:\"Highcharts\",\nversion:\"5.0.14\",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:l,hasTouch:C&amp;&amp;void 0!==C.documentElement.ontouchstart,isMS:E,isWebKit:/AppleWebKit/.test(A),isFirefox:f,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:\"http://www.w3.org/2000/svg\",chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,vml:m,win:a,marginNames:[\"plotTop\",\"marginRight\",\"marginBottom\",\"plotLeft\"],noop:function(){},charts:[]}}();(function(a){var C=[],A=a.charts,F=a.doc,E=a.win;a.error=function(m,f){m=a.isNumber(m)?\"Highcharts error #\"+\nm+\": www.highcharts.com/errors/\"+m:m;if(f)throw Error(m);E.console&amp;&amp;console.log(m)};a.Fx=function(a,f,l){this.options=f;this.elem=a;this.prop=l};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],l=[],r=this.now,u=a.length,t;if(1===r)l=this.toD;else if(u===f.length&amp;&amp;1&gt;r)for(;u--;)t=parseFloat(a[u]),l[u]=isNaN(t)?a[u]:r*parseFloat(f[u]-t)+t;else l=f;this.elem.attr(\"d\",l,null,!0)},update:function(){var a=this.elem,f=this.prop,l=this.now,r=this.options.step;if(this[f+\"Setter\"])this[f+\n\"Setter\"]();else a.attr?a.element&amp;&amp;a.attr(f,l,null,!0):a.style[f]=l+this.unit;r&amp;&amp;r.call(a,l,this)},run:function(a,f,l){var r=this,m=function(a){return m.stopped?!1:r.step(a)},t;this.startTime=+new Date;this.start=a;this.end=f;this.unit=l;this.now=this.start;this.pos=0;m.elem=this.elem;m.prop=this.prop;m()&amp;&amp;1===C.push(m)&amp;&amp;(m.timerId=setInterval(function(){for(t=0;t&lt;C.length;t++)C[t]()||C.splice(t--,1);C.length||clearInterval(m.timerId)},13))},step:function(m){var f=+new Date,l,r=this.options,u=this.elem,\nt=r.complete,g=r.duration,d=r.curAnim;u.attr&amp;&amp;!u.element?m=!1:m||f&gt;=g+this.startTime?(this.now=this.end,this.pos=1,this.update(),l=d[this.prop]=!0,a.objectEach(d,function(a){!0!==a&amp;&amp;(l=!1)}),l&amp;&amp;t&amp;&amp;t.call(u),m=!1):(this.pos=r.easing((f-this.startTime)/g),this.now=this.start+(this.end-this.start)*this.pos,this.update(),m=!0);return m},initPath:function(m,f,l){function r(a){var c,e;for(n=a.length;n--;)c=\"M\"===a[n]||\"L\"===a[n],e=/[a-zA-Z]/.test(a[n+3]),c&amp;&amp;e&amp;&amp;a.splice(n+1,0,a[n+1],a[n+2],a[n+1],a[n+2])}\nfunction u(a,c){for(;a.length&lt;v;){a[0]=c[v-a.length];var b=a.slice(0,e);[].splice.apply(a,[0,0].concat(b));D&amp;&amp;(b=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(b)),n--)}a[0]=\"M\"}function t(a,c){for(var q=(v-a.length)/e;0&lt;q&amp;&amp;q--;)y=a.slice().splice(a.length/J-e,e*J),y[0]=c[v-e-q*e],b&amp;&amp;(y[e-6]=y[e-2],y[e-5]=y[e-1]),[].splice.apply(a,[a.length/J,0].concat(y)),D&amp;&amp;q--}f=f||\"\";var g,d=m.startX,k=m.endX,b=-1&lt;f.indexOf(\"C\"),e=b?7:3,v,y,n;f=f.split(\" \");l=l.slice();var D=m.isArea,J=D?2:1,c;b&amp;&amp;(r(f),\nr(l));if(d&amp;&amp;k){for(n=0;n&lt;d.length;n++)if(d[n]===k[0]){g=n;break}else if(d[0]===k[k.length-d.length+n]){g=n;c=!0;break}void 0===g&amp;&amp;(f=[])}f.length&amp;&amp;a.isNumber(g)&amp;&amp;(v=l.length+g*J*e,c?(u(f,l),t(l,f)):(u(l,f),t(f,l)));return[f,l]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.extend=function(a,f){var m;a||(a={});for(m in f)a[m]=f[m];return a};a.merge=function(){var m,f=arguments,l,r={},u=\nfunction(f,g){\"object\"!==typeof f&amp;&amp;(f={});a.objectEach(g,function(d,k){!a.isObject(d,!0)||a.isClass(d)||a.isDOMElement(d)?f[k]=g[k]:f[k]=u(f[k]||{},d)});return f};!0===f[0]&amp;&amp;(r=f[1],f=Array.prototype.slice.call(f,2));l=f.length;for(m=0;m&lt;l;m++)r=u(r,f[m]);return r};a.pInt=function(a,f){return parseInt(a,f||10)};a.isString=function(a){return\"string\"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return\"[object Array]\"===a||\"[object Array Iterator]\"===a};a.isObject=function(m,\nf){return!!m&amp;&amp;\"object\"===typeof m&amp;&amp;(!f||!a.isArray(m))};a.isDOMElement=function(m){return a.isObject(m)&amp;&amp;\"number\"===typeof m.nodeType};a.isClass=function(m){var f=m&amp;&amp;m.constructor;return!(!a.isObject(m,!0)||a.isDOMElement(m)||!f||!f.name||\"Object\"===f.name)};a.isNumber=function(a){return\"number\"===typeof a&amp;&amp;!isNaN(a)};a.erase=function(a,f){for(var m=a.length;m--;)if(a[m]===f){a.splice(m,1);break}};a.defined=function(a){return void 0!==a&amp;&amp;null!==a};a.attr=function(m,f,l){var r;a.isString(f)?a.defined(l)?\nm.setAttribute(f,l):m&amp;&amp;m.getAttribute&amp;&amp;(r=m.getAttribute(f)):a.defined(f)&amp;&amp;a.isObject(f)&amp;&amp;a.objectEach(f,function(a,f){m.setAttribute(f,a)});return r};a.splat=function(m){return a.isArray(m)?m:[m]};a.syncTimeout=function(a,f,l){if(f)return setTimeout(a,f,l);a.call(0,l)};a.pick=function(){var a=arguments,f,l,r=a.length;for(f=0;f&lt;r;f++)if(l=a[f],void 0!==l&amp;&amp;null!==l)return l};a.css=function(m,f){a.isMS&amp;&amp;!a.svg&amp;&amp;f&amp;&amp;void 0!==f.opacity&amp;&amp;(f.filter=\"alpha(opacity\\x3d\"+100*f.opacity+\")\");a.extend(m.style,\nf)};a.createElement=function(m,f,l,r,u){m=F.createElement(m);var t=a.css;f&amp;&amp;a.extend(m,f);u&amp;&amp;t(m,{padding:0,border:\"none\",margin:0});l&amp;&amp;t(m,l);r&amp;&amp;r.appendChild(m);return m};a.extendClass=function(m,f){var l=function(){};l.prototype=new m;a.extend(l.prototype,f);return l};a.pad=function(a,f,l){return Array((f||2)+1-String(a).length).join(l||0)+a};a.relativeLength=function(a,f,l){return/%$/.test(a)?f*parseFloat(a)/100+(l||0):parseFloat(a)};a.wrap=function(a,f,l){var r=a[f];a[f]=function(){var a=Array.prototype.slice.call(arguments),\nf=arguments,g=this;g.proceed=function(){r.apply(g,arguments.length?arguments:f)};a.unshift(r);a=l.apply(this,a);g.proceed=null;return a}};a.getTZOffset=function(m){var f=a.Date;return 6E4*(f.hcGetTimezoneOffset&amp;&amp;f.hcGetTimezoneOffset(m)||f.hcTimezoneOffset||0)};a.dateFormat=function(m,f,l){if(!a.defined(f)||isNaN(f))return a.defaultOptions.lang.invalidDate||\"\";m=a.pick(m,\"%Y-%m-%d %H:%M:%S\");var r=a.Date,u=new r(f-a.getTZOffset(f)),t=u[r.hcGetHours](),g=u[r.hcGetDay](),d=u[r.hcGetDate](),k=u[r.hcGetMonth](),\nb=u[r.hcGetFullYear](),e=a.defaultOptions.lang,v=e.weekdays,y=e.shortWeekdays,n=a.pad,r=a.extend({a:y?y[g]:v[g].substr(0,3),A:v[g],d:n(d),e:n(d,2,\" \"),w:g,b:e.shortMonths[k],B:e.months[k],m:n(k+1),y:b.toString().substr(2,2),Y:b,H:n(t),k:t,I:n(t%12||12),l:t%12||12,M:n(u[r.hcGetMinutes]()),p:12&gt;t?\"AM\":\"PM\",P:12&gt;t?\"am\":\"pm\",S:n(u.getSeconds()),L:n(Math.round(f%1E3),3)},a.dateFormats);a.objectEach(r,function(a,e){for(;-1!==m.indexOf(\"%\"+e);)m=m.replace(\"%\"+e,\"function\"===typeof a?a(f):a)});return l?m.substr(0,\n1).toUpperCase()+m.substr(1):m};a.formatSingle=function(m,f){var l=/\\.([0-9])/,r=a.defaultOptions.lang;/f$/.test(m)?(l=(l=m.match(l))?l[1]:-1,null!==f&amp;&amp;(f=a.numberFormat(f,l,r.decimalPoint,-1&lt;m.indexOf(\",\")?r.thousandsSep:\"\"))):f=a.dateFormat(m,f);return f};a.format=function(m,f){for(var l=\"{\",r=!1,u,t,g,d,k=[],b;m;){l=m.indexOf(l);if(-1===l)break;u=m.slice(0,l);if(r){u=u.split(\":\");t=u.shift().split(\".\");d=t.length;b=f;for(g=0;g&lt;d;g++)b=b[t[g]];u.length&amp;&amp;(b=a.formatSingle(u.join(\":\"),b));k.push(b)}else k.push(u);\nm=m.slice(l+1);l=(r=!r)?\"}\":\"{\"}k.push(m);return k.join(\"\")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(m,f,l,r,u){var t,g=m;l=a.pick(l,1);t=m/l;f||(f=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&amp;&amp;(1===l?f=a.grep(f,function(a){return 0===a%1}):.1&gt;=l&amp;&amp;(f=[1/l])));for(r=0;r&lt;f.length&amp;&amp;!(g=f[r],u&amp;&amp;g*l&gt;=m||!u&amp;&amp;t&lt;=(f[r]+(f[r+1]||f[r]))/2);r++);return g=a.correctFloat(g*l,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=\nfunction(a,f){var l=a.length,r,m;for(m=0;m&lt;l;m++)a[m].safeI=m;a.sort(function(a,g){r=f(a,g);return 0===r?a.safeI-g.safeI:r});for(m=0;m&lt;l;m++)delete a[m].safeI};a.arrayMin=function(a){for(var f=a.length,l=a[0];f--;)a[f]&lt;l&amp;&amp;(l=a[f]);return l};a.arrayMax=function(a){for(var f=a.length,l=a[0];f--;)a[f]&gt;l&amp;&amp;(l=a[f]);return l};a.destroyObjectProperties=function(m,f){a.objectEach(m,function(a,r){a&amp;&amp;a!==f&amp;&amp;a.destroy&amp;&amp;a.destroy();delete m[r]})};a.discardElement=function(m){var f=a.garbageBin;f||(f=a.createElement(\"div\"));\nm&amp;&amp;f.appendChild(m);f.innerHTML=\"\"};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=function(m,f){f.renderer.globalAnimation=a.pick(m,f.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,f,l,r){m=+m||0;f=+f;var u=a.defaultOptions.lang,t=(m.toString().split(\".\")[1]||\"\").split(\"e\")[0].length,\ng,d,k=m.toString().split(\"e\");-1===f?f=Math.min(t,20):a.isNumber(f)||(f=2);d=(Math.abs(k[1]?k[0]:m)+Math.pow(10,-Math.max(f,t)-1)).toFixed(f);t=String(a.pInt(d));g=3&lt;t.length?t.length%3:0;l=a.pick(l,u.decimalPoint);r=a.pick(r,u.thousandsSep);m=(0&gt;m?\"-\":\"\")+(g?t.substr(0,g)+r:\"\");m+=t.substr(g).replace(/(\\d{3})(?=\\d)/g,\"$1\"+r);f&amp;&amp;(m+=l+d.slice(-f));k[1]&amp;&amp;(m+=\"e\"+k[1]);return m};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(m,f,l){if(\"width\"===f)return Math.min(m.offsetWidth,\nm.scrollWidth)-a.getStyle(m,\"padding-left\")-a.getStyle(m,\"padding-right\");if(\"height\"===f)return Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,\"padding-top\")-a.getStyle(m,\"padding-bottom\");if(m=E.getComputedStyle(m,void 0))m=m.getPropertyValue(f),a.pick(l,!0)&amp;&amp;(m=a.pInt(m));return m};a.inArray=function(a,f){return f.indexOf?f.indexOf(a):[].indexOf.call(f,a)};a.grep=function(a,f){return[].filter.call(a,f)};a.find=function(a,f){return[].find.call(a,f)};a.map=function(a,f){for(var l=[],r=0,m=\na.length;r&lt;m;r++)l[r]=f.call(a[r],a[r],r,a);return l};a.offset=function(a){var f=F.documentElement;a=a.getBoundingClientRect();return{top:a.top+(E.pageYOffset||f.scrollTop)-(f.clientTop||0),left:a.left+(E.pageXOffset||f.scrollLeft)-(f.clientLeft||0)}};a.stop=function(a,f){for(var l=C.length;l--;)C[l].elem!==a||f&amp;&amp;f!==C[l].prop||(C[l].stopped=!0)};a.each=function(a,f,l){return Array.prototype.forEach.call(a,f,l)};a.objectEach=function(a,f,l){for(var r in a)a.hasOwnProperty(r)&amp;&amp;f.call(l,a[r],r,a)};\na.addEvent=function(m,f,l){function r(a){a.target=a.srcElement||E;l.call(m,a)}var u=m.hcEvents=m.hcEvents||{};m.addEventListener?m.addEventListener(f,l,!1):m.attachEvent&amp;&amp;(m.hcEventsIE||(m.hcEventsIE={}),l.hcGetKey||(l.hcGetKey=a.uniqueKey()),m.hcEventsIE[l.hcGetKey]=r,m.attachEvent(\"on\"+f,r));u[f]||(u[f]=[]);u[f].push(l);return function(){a.removeEvent(m,f,l)}};a.removeEvent=function(m,f,l){function r(a,b){m.removeEventListener?m.removeEventListener(a,b,!1):m.attachEvent&amp;&amp;(b=m.hcEventsIE[b.hcGetKey],\nm.detachEvent(\"on\"+a,b))}function u(){var d,b;m.nodeName&amp;&amp;(f?(d={},d[f]=!0):d=g,a.objectEach(d,function(a,d){if(g[d])for(b=g[d].length;b--;)r(d,g[d][b])}))}var t,g=m.hcEvents,d;g&amp;&amp;(f?(t=g[f]||[],l?(d=a.inArray(l,t),-1&lt;d&amp;&amp;(t.splice(d,1),g[f]=t),r(f,l)):(u(),g[f]=[])):(u(),m.hcEvents={}))};a.fireEvent=function(m,f,l,r){var u;u=m.hcEvents;var t,g;l=l||{};if(F.createEvent&amp;&amp;(m.dispatchEvent||m.fireEvent))u=F.createEvent(\"Events\"),u.initEvent(f,!0,!0),a.extend(u,l),m.dispatchEvent?m.dispatchEvent(u):m.fireEvent(f,\nu);else if(u)for(u=u[f]||[],t=u.length,l.target||a.extend(l,{preventDefault:function(){l.defaultPrevented=!0},target:m,type:f}),f=0;f&lt;t;f++)(g=u[f])&amp;&amp;!1===g.call(m,l)&amp;&amp;l.preventDefault();r&amp;&amp;!l.defaultPrevented&amp;&amp;r(l)};a.animate=function(m,f,l){var r,u=\"\",t,g,d;a.isObject(l)||(d=arguments,l={duration:d[2],easing:d[3],complete:d[4]});a.isNumber(l.duration)||(l.duration=400);l.easing=\"function\"===typeof l.easing?l.easing:Math[l.easing]||Math.easeInOutSine;l.curAnim=a.merge(f);a.objectEach(f,function(d,\nb){a.stop(m,b);g=new a.Fx(m,l,b);t=null;\"d\"===b?(g.paths=g.initPath(m,m.d,f.d),g.toD=f.d,r=0,t=1):m.attr?r=m.attr(b):(r=parseFloat(a.getStyle(m,b))||0,\"opacity\"!==b&amp;&amp;(u=\"px\"));t||(t=d);t&amp;&amp;t.match&amp;&amp;t.match(\"px\")&amp;&amp;(t=t.replace(/px/g,\"\"));g.run(r,t,u)})};a.seriesType=function(m,f,l,r,u){var t=a.getOptions(),g=a.seriesTypes;t.plotOptions[m]=a.merge(t.plotOptions[f],l);g[m]=a.extendClass(g[f]||function(){},r);g[m].prototype.type=m;u&amp;&amp;(g[m].prototype.pointClass=a.extendClass(a.Point,u));return g[m]};a.uniqueKey=\nfunction(){var a=Math.random().toString(36).substring(2,9),f=0;return function(){return\"highcharts-\"+a+\"-\"+f++}}();E.jQuery&amp;&amp;(E.jQuery.fn.highcharts=function(){var m=[].slice.call(arguments);if(this[0])return m[0]?(new (a[a.isString(m[0])?m.shift():\"Chart\"])(this[0],m[0],m[1]),this):A[a.attr(this[0],\"data-highcharts-chart\")]});F&amp;&amp;!F.defaultView&amp;&amp;(a.getStyle=function(m,f){var l={width:\"clientWidth\",height:\"clientHeight\"}[f];if(m.style[f])return a.pInt(m.style[f]);\"opacity\"===f&amp;&amp;(f=\"filter\");if(l)return m.style.zoom=\n1,Math.max(m[l]-2*a.getStyle(m,\"padding\"),0);m=m.currentStyle[f.replace(/\\-(\\w)/g,function(a,f){return f.toUpperCase()})];\"filter\"===f&amp;&amp;(m=m.replace(/alpha\\(opacity=([0-9]+)\\)/,function(a,f){return f/100}));return\"\"===m?1:a.pInt(m)});Array.prototype.forEach||(a.each=function(a,f,l){for(var r=0,m=a.length;r&lt;m;r++)if(!1===f.call(l,a[r],r,a))return r});Array.prototype.indexOf||(a.inArray=function(a,f){var l,r=0;if(f)for(l=f.length;r&lt;l;r++)if(f[r]===a)return r;return-1});Array.prototype.filter||(a.grep=\nfunction(a,f){for(var l=[],r=0,m=a.length;r&lt;m;r++)f(a[r],r)&amp;&amp;l.push(a[r]);return l});Array.prototype.find||(a.find=function(a,f){var l,r=a.length;for(l=0;l&lt;r;l++)if(f(a[l],l))return a[l]})})(M);(function(a){var C=a.each,A=a.isNumber,F=a.map,E=a.merge,m=a.pInt;a.Color=function(f){if(!(this instanceof a.Color))return new a.Color(f);this.init(f)};a.Color.prototype={parsers:[{regex:/rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,parse:function(a){return[m(a[1]),\nm(a[2]),m(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,parse:function(a){return[m(a[1]),m(a[2]),m(a[3]),1]}}],names:{none:\"rgba(255,255,255,0)\",white:\"#ffffff\",black:\"#000000\"},init:function(f){var l,r,m,t;if((this.input=f=this.names[f&amp;&amp;f.toLowerCase?f.toLowerCase():\"\"]||f)&amp;&amp;f.stops)this.stops=F(f.stops,function(g){return new a.Color(g[1])});else if(f&amp;&amp;\"#\"===f.charAt()&amp;&amp;(l=f.length,f=parseInt(f.substr(1),16),7===l?r=[(f&amp;16711680)&gt;&gt;16,(f&amp;65280)&gt;&gt;\n8,f&amp;255,1]:4===l&amp;&amp;(r=[(f&amp;3840)&gt;&gt;4|(f&amp;3840)&gt;&gt;8,(f&amp;240)&gt;&gt;4|f&amp;240,(f&amp;15)&lt;&lt;4|f&amp;15,1])),!r)for(m=this.parsers.length;m--&amp;&amp;!r;)t=this.parsers[m],(l=t.regex.exec(f))&amp;&amp;(r=t.parse(l));this.rgba=r||[]},get:function(a){var f=this.input,r=this.rgba,m;this.stops?(m=E(f),m.stops=[].concat(m.stops),C(this.stops,function(f,g){m.stops[g]=[m.stops[g][0],f.get(a)]})):m=r&amp;&amp;A(r[0])?\"rgb\"===a||!a&amp;&amp;1===r[3]?\"rgb(\"+r[0]+\",\"+r[1]+\",\"+r[2]+\")\":\"a\"===a?r[3]:\"rgba(\"+r.join(\",\")+\")\":f;return m},brighten:function(a){var f,r=this.rgba;\nif(this.stops)C(this.stops,function(f){f.brighten(a)});else if(A(a)&amp;&amp;0!==a)for(f=0;3&gt;f;f++)r[f]+=m(255*a),0&gt;r[f]&amp;&amp;(r[f]=0),255&lt;r[f]&amp;&amp;(r[f]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,l){var f,m;a.rgba.length?(f=this.rgba,a=a.rgba,m=1!==a[3]||1!==f[3],a=(m?\"rgba(\":\"rgb(\")+Math.round(a[0]+(f[0]-a[0])*(1-l))+\",\"+Math.round(a[1]+(f[1]-a[1])*(1-l))+\",\"+Math.round(a[2]+(f[2]-a[2])*(1-l))+(m?\",\"+(a[3]+(f[3]-a[3])*(1-l)):\"\")+\")\"):a=a.input||\"none\";return a}};a.color=\nfunction(f){return new a.Color(f)}})(M);(function(a){var C,A,F=a.addEvent,E=a.animate,m=a.attr,f=a.charts,l=a.color,r=a.css,u=a.createElement,t=a.defined,g=a.deg2rad,d=a.destroyObjectProperties,k=a.doc,b=a.each,e=a.extend,v=a.erase,y=a.grep,n=a.hasTouch,D=a.inArray,J=a.isArray,c=a.isFirefox,G=a.isMS,q=a.isObject,B=a.isString,K=a.isWebKit,p=a.merge,z=a.noop,I=a.objectEach,L=a.pick,h=a.pInt,w=a.removeEvent,P=a.stop,H=a.svg,O=a.SVG_NS,Q=a.symbolSizes,R=a.win;C=a.SVGElement=function(){return this};e(C.prototype,\n{opacity:1,SVG_NS:O,textProps:\"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline\".split(\" \"),init:function(a,h){this.element=\"span\"===h?u(h):k.createElementNS(this.SVG_NS,h);this.renderer=a},animate:function(x,h,c){h=a.animObject(L(h,this.renderer.globalAnimation,!0));0!==h.duration?(c&amp;&amp;(h.complete=c),E(this,x,h)):(this.attr(x,null,c),h.step&amp;&amp;h.step.call(this));return this},colorGradient:function(x,h,c){var w=this.renderer,\ne,q,N,d,n,g,k,H,G,v,z=[],f;x.radialGradient?q=\"radialGradient\":x.linearGradient&amp;&amp;(q=\"linearGradient\");q&amp;&amp;(N=x[q],n=w.gradients,k=x.stops,v=c.radialReference,J(N)&amp;&amp;(x[q]=N={x1:N[0],y1:N[1],x2:N[2],y2:N[3],gradientUnits:\"userSpaceOnUse\"}),\"radialGradient\"===q&amp;&amp;v&amp;&amp;!t(N.gradientUnits)&amp;&amp;(d=N,N=p(N,w.getRadialAttr(v,d),{gradientUnits:\"userSpaceOnUse\"})),I(N,function(a,x){\"id\"!==x&amp;&amp;z.push(x,a)}),I(k,function(a){z.push(a)}),z=z.join(\",\"),n[z]?v=n[z].attr(\"id\"):(N.id=v=a.uniqueKey(),n[z]=g=w.createElement(q).attr(N).add(w.defs),\ng.radAttr=d,g.stops=[],b(k,function(x){0===x[1].indexOf(\"rgba\")?(e=a.color(x[1]),H=e.get(\"rgb\"),G=e.get(\"a\")):(H=x[1],G=1);x=w.createElement(\"stop\").attr({offset:x[0],\"stop-color\":H,\"stop-opacity\":G}).add(g);g.stops.push(x)})),f=\"url(\"+w.url+\"#\"+v+\")\",c.setAttribute(h,f),c.gradient=z,x.toString=function(){return f})},applyTextOutline:function(x){var h=this.element,c,w,p,e,q;-1!==x.indexOf(\"contrast\")&amp;&amp;(x=x.replace(/contrast/g,this.renderer.getContrast(h.style.fill)));x=x.split(\" \");w=x[x.length-1];\nif((p=x[0])&amp;&amp;\"none\"!==p&amp;&amp;a.svg){this.fakeTS=!0;x=[].slice.call(h.getElementsByTagName(\"tspan\"));this.ySetter=this.xSetter;p=p.replace(/(^[\\d\\.]+)(.*?)$/g,function(a,x,h){return 2*x+h});for(q=x.length;q--;)c=x[q],\"highcharts-text-outline\"===c.getAttribute(\"class\")&amp;&amp;v(x,h.removeChild(c));e=h.firstChild;b(x,function(a,x){0===x&amp;&amp;(a.setAttribute(\"x\",h.getAttribute(\"x\")),x=h.getAttribute(\"y\"),a.setAttribute(\"y\",x||0),null===x&amp;&amp;h.setAttribute(\"y\",0));a=a.cloneNode(1);m(a,{\"class\":\"highcharts-text-outline\",\nfill:w,stroke:w,\"stroke-width\":p,\"stroke-linejoin\":\"round\"});h.insertBefore(a,e)})}},attr:function(a,h,c,w){var x,p=this.element,e,q=this,b,N;\"string\"===typeof a&amp;&amp;void 0!==h&amp;&amp;(x=a,a={},a[x]=h);\"string\"===typeof a?q=(this[a+\"Getter\"]||this._defaultGetter).call(this,a,p):(I(a,function(x,h){b=!1;w||P(this,h);this.symbolName&amp;&amp;/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(h)&amp;&amp;(e||(this.symbolAttr(a),e=!0),b=!0);!this.rotation||\"x\"!==h&amp;&amp;\"y\"!==h||(this.doTransform=!0);b||(N=this[h+\"Setter\"]||\nthis._defaultSetter,N.call(this,x,h,p),this.shadows&amp;&amp;/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(h)&amp;&amp;this.updateShadows(h,x,N))},this),this.afterSetters());c&amp;&amp;c();return q},afterSetters:function(){this.doTransform&amp;&amp;(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,h,c){for(var x=this.shadows,w=x.length;w--;)c.call(x[w],\"height\"===a?Math.max(h-(x[w].cutHeight||0),0):\"d\"===a?this.d:h,a,x[w])},addClass:function(a,h){var x=this.attr(\"class\")||\"\";-1===x.indexOf(a)&amp;&amp;\n(h||(a=(x+(x?\" \":\"\")+a).replace(\"  \",\" \")),this.attr(\"class\",a));return this},hasClass:function(a){return-1!==D(a,(this.attr(\"class\")||\"\").split(\" \"))},removeClass:function(a){return this.attr(\"class\",(this.attr(\"class\")||\"\").replace(a,\"\"))},symbolAttr:function(a){var x=this;b(\"x y r start end width height innerR anchorX anchorY\".split(\" \"),function(h){x[h]=L(a[h],x[h])});x.attr({d:x.renderer.symbols[x.symbolName](x.x,x.y,x.width,x.height,x)})},clip:function(a){return this.attr(\"clip-path\",a?\"url(\"+\nthis.renderer.url+\"#\"+a.id+\")\":\"none\")},crisp:function(a,h){var x=this,c={},w;h=h||a.strokeWidth||0;w=Math.round(h)%2/2;a.x=Math.floor(a.x||x.x||0)+w;a.y=Math.floor(a.y||x.y||0)+w;a.width=Math.floor((a.width||x.width||0)-2*w);a.height=Math.floor((a.height||x.height||0)-2*w);t(a.strokeWidth)&amp;&amp;(a.strokeWidth=h);I(a,function(a,h){x[h]!==a&amp;&amp;(x[h]=c[h]=a)});return c},css:function(a){var x=this.styles,c={},w=this.element,p,q=\"\",b,d=!x,n=[\"textOutline\",\"textOverflow\",\"width\"];a&amp;&amp;a.color&amp;&amp;(a.fill=a.color);\nx&amp;&amp;I(a,function(a,h){a!==x[h]&amp;&amp;(c[h]=a,d=!0)});d&amp;&amp;(x&amp;&amp;(a=e(x,c)),p=this.textWidth=a&amp;&amp;a.width&amp;&amp;\"auto\"!==a.width&amp;&amp;\"text\"===w.nodeName.toLowerCase()&amp;&amp;h(a.width),this.styles=a,p&amp;&amp;!H&amp;&amp;this.renderer.forExport&amp;&amp;delete a.width,G&amp;&amp;!H?r(this.element,a):(b=function(a,x){return\"-\"+x.toLowerCase()},I(a,function(a,x){-1===D(x,n)&amp;&amp;(q+=x.replace(/([A-Z])/g,b)+\":\"+a+\";\")}),q&amp;&amp;m(w,\"style\",q)),this.added&amp;&amp;(\"text\"===this.element.nodeName&amp;&amp;this.renderer.buildText(this),a&amp;&amp;a.textOutline&amp;&amp;this.applyTextOutline(a.textOutline)));\nreturn this},strokeWidth:function(){return this[\"stroke-width\"]||0},on:function(a,h){var x=this,c=x.element;n&amp;&amp;\"click\"===a?(c.ontouchstart=function(a){x.touchEventFired=Date.now();a.preventDefault();h.call(c,a)},c.onclick=function(a){(-1===R.navigator.userAgent.indexOf(\"Android\")||1100&lt;Date.now()-(x.touchEventFired||0))&amp;&amp;h.call(c,a)}):c[\"on\"+a]=h;return this},setRadialReference:function(a){var x=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;x&amp;&amp;x.radAttr&amp;&amp;x.animate(this.renderer.getRadialAttr(a,\nx.radAttr));return this},translate:function(a,h){return this.attr({translateX:a,translateY:h})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,h=this.translateY||0,c=this.scaleX,w=this.scaleY,p=this.inverted,e=this.rotation,q=this.element;p&amp;&amp;(a+=this.width,h+=this.height);a=[\"translate(\"+a+\",\"+h+\")\"];p?a.push(\"rotate(90) scale(-1,1)\"):e&amp;&amp;a.push(\"rotate(\"+e+\" \"+(q.getAttribute(\"x\")||0)+\" \"+(q.getAttribute(\"y\")||0)+\")\");(t(c)||\nt(w))&amp;&amp;a.push(\"scale(\"+L(c,1)+\" \"+L(w,1)+\")\");a.length&amp;&amp;q.setAttribute(\"transform\",a.join(\" \"))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,h,c){var x,w,p,e,q={};w=this.renderer;p=w.alignedObjects;var b,d;if(a){if(this.alignOptions=a,this.alignByTranslate=h,!c||B(c))this.alignTo=x=c||\"renderer\",v(p,this),p.push(this),c=null}else a=this.alignOptions,h=this.alignByTranslate,x=this.alignTo;c=L(c,w[x],w);x=a.align;w=a.verticalAlign;p=(c.x||0)+(a.x||\n0);e=(c.y||0)+(a.y||0);\"right\"===x?b=1:\"center\"===x&amp;&amp;(b=2);b&amp;&amp;(p+=(c.width-(a.width||0))/b);q[h?\"translateX\":\"x\"]=Math.round(p);\"bottom\"===w?d=1:\"middle\"===w&amp;&amp;(d=2);d&amp;&amp;(e+=(c.height-(a.height||0))/d);q[h?\"translateY\":\"y\"]=Math.round(e);this[this.placed?\"animate\":\"attr\"](q);this.placed=!0;this.alignAttr=q;return this},getBBox:function(a,h){var x,c=this.renderer,w,p=this.element,q=this.styles,d,n=this.textStr,k,N=c.cache,H=c.cacheKeys,G;h=L(h,this.rotation);w=h*g;d=q&amp;&amp;q.fontSize;void 0!==n&amp;&amp;(G=n.toString(),\n-1===G.indexOf(\"\\x3c\")&amp;&amp;(G=G.replace(/[0-9]/g,\"0\")),G+=[\"\",h||0,d,q&amp;&amp;q.width,q&amp;&amp;q.textOverflow].join());G&amp;&amp;!a&amp;&amp;(x=N[G]);if(!x){if(p.namespaceURI===this.SVG_NS||c.forExport){try{(k=this.fakeTS&amp;&amp;function(a){b(p.querySelectorAll(\".highcharts-text-outline\"),function(x){x.style.display=a})})&amp;&amp;k(\"none\"),x=p.getBBox?e({},p.getBBox()):{width:p.offsetWidth,height:p.offsetHeight},k&amp;&amp;k(\"\")}catch(W){}if(!x||0&gt;x.width)x={width:0,height:0}}else x=this.htmlGetBBox();c.isSVG&amp;&amp;(a=x.width,c=x.height,q&amp;&amp;\"11px\"===q.fontSize&amp;&amp;\n17===Math.round(c)&amp;&amp;(x.height=c=14),h&amp;&amp;(x.width=Math.abs(c*Math.sin(w))+Math.abs(a*Math.cos(w)),x.height=Math.abs(c*Math.cos(w))+Math.abs(a*Math.sin(w))));if(G&amp;&amp;0&lt;x.height){for(;250&lt;H.length;)delete N[H.shift()];N[G]||H.push(G);N[G]=x}}return x},show:function(a){return this.attr({visibility:a?\"inherit\":\"visible\"})},hide:function(){return this.attr({visibility:\"hidden\"})},fadeOut:function(a){var x=this;x.animate({opacity:0},{duration:a||150,complete:function(){x.attr({y:-9999})}})},add:function(a){var x=\nthis.renderer,h=this.element,c;a&amp;&amp;(this.parentGroup=a);this.parentInverted=a&amp;&amp;a.inverted;void 0!==this.textStr&amp;&amp;x.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)c=this.zIndexSetter();c||(a?a.element:x.box).appendChild(h);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var x=a.parentNode;x&amp;&amp;x.removeChild(a)},destroy:function(){var a=this,h=a.element||{},c=a.renderer.isSVG&amp;&amp;\"SPAN\"===h.nodeName&amp;&amp;a.parentGroup,w=h.ownerSVGElement;h.onclick=h.onmouseout=h.onmouseover=h.onmousemove=\nh.point=null;P(a);a.clipPath&amp;&amp;w&amp;&amp;(b(w.querySelectorAll(\"[clip-path]\"),function(x){-1&lt;x.getAttribute(\"clip-path\").indexOf(a.clipPath.element.id+\")\")&amp;&amp;x.removeAttribute(\"clip-path\")}),a.clipPath=a.clipPath.destroy());if(a.stops){for(w=0;w&lt;a.stops.length;w++)a.stops[w]=a.stops[w].destroy();a.stops=null}a.safeRemoveChild(h);for(a.destroyShadows();c&amp;&amp;c.div&amp;&amp;0===c.div.childNodes.length;)h=c.parentGroup,a.safeRemoveChild(c.div),delete c.div,c=h;a.alignTo&amp;&amp;v(a.renderer.alignedObjects,a);I(a,function(x,h){delete a[h]});\nreturn null},shadow:function(a,h,c){var x=[],w,p,q=this.element,e,b,d,n;if(!a)this.destroyShadows();else if(!this.shadows){b=L(a.width,3);d=(a.opacity||.15)/b;n=this.parentInverted?\"(-1,-1)\":\"(\"+L(a.offsetX,1)+\", \"+L(a.offsetY,1)+\")\";for(w=1;w&lt;=b;w++)p=q.cloneNode(0),e=2*b+1-2*w,m(p,{isShadow:\"true\",stroke:a.color||\"#000000\",\"stroke-opacity\":d*w,\"stroke-width\":e,transform:\"translate\"+n,fill:\"none\"}),c&amp;&amp;(m(p,\"height\",Math.max(m(p,\"height\")-e,0)),p.cutHeight=e),h?h.element.appendChild(p):q.parentNode.insertBefore(p,\nq),x.push(p);this.shadows=x}return this},destroyShadows:function(){b(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){\"circle\"===this.element.nodeName&amp;&amp;(\"x\"===a?a=\"cx\":\"y\"===a&amp;&amp;(a=\"cy\"));return this._defaultGetter(a)},_defaultGetter:function(a){a=L(this[a],this.element?this.element.getAttribute(a):null,0);/^[\\-0-9\\.]+$/.test(a)&amp;&amp;(a=parseFloat(a));return a},dSetter:function(a,h,c){a&amp;&amp;a.join&amp;&amp;(a=a.join(\" \"));/(NaN| {2}|^$)/.test(a)&amp;&amp;(a=\"M 0 0\");this[h]!==\na&amp;&amp;(c.setAttribute(h,a),this[h]=a)},dashstyleSetter:function(a){var x,c=this[\"stroke-width\"];\"inherit\"===c&amp;&amp;(c=1);if(a=a&amp;&amp;a.toLowerCase()){a=a.replace(\"shortdashdotdot\",\"3,1,1,1,1,1,\").replace(\"shortdashdot\",\"3,1,1,1\").replace(\"shortdot\",\"1,1,\").replace(\"shortdash\",\"3,1,\").replace(\"longdash\",\"8,3,\").replace(/dot/g,\"1,3,\").replace(\"dash\",\"4,3,\").replace(/,$/,\"\").split(\",\");for(x=a.length;x--;)a[x]=h(a[x])*c;a=a.join(\",\").replace(/NaN/g,\"none\");this.element.setAttribute(\"stroke-dasharray\",a)}},alignSetter:function(a){this.element.setAttribute(\"text-anchor\",\n{left:\"start\",center:\"middle\",right:\"end\"}[a])},opacitySetter:function(a,h,c){this[h]=a;c.setAttribute(h,a)},titleSetter:function(a){var h=this.element.getElementsByTagName(\"title\")[0];h||(h=k.createElementNS(this.SVG_NS,\"title\"),this.element.appendChild(h));h.firstChild&amp;&amp;h.removeChild(h.firstChild);h.appendChild(k.createTextNode(String(L(a),\"\").replace(/&lt;[^&gt;]*&gt;/g,\"\")))},textSetter:function(a){a!==this.textStr&amp;&amp;(delete this.bBox,this.textStr=a,this.added&amp;&amp;this.renderer.buildText(this))},fillSetter:function(a,\nh,c){\"string\"===typeof a?c.setAttribute(h,a):a&amp;&amp;this.colorGradient(a,h,c)},visibilitySetter:function(a,h,c){\"inherit\"===a?c.removeAttribute(h):this[h]!==a&amp;&amp;c.setAttribute(h,a);this[h]=a},zIndexSetter:function(a,c){var x=this.renderer,w=this.parentGroup,p=(w||x).element||x.box,q,e=this.element,b;q=this.added;var d;t(a)&amp;&amp;(e.zIndex=a,a=+a,this[c]===a&amp;&amp;(q=!1),this[c]=a);if(q){(a=this.zIndex)&amp;&amp;w&amp;&amp;(w.handleZ=!0);c=p.childNodes;for(d=0;d&lt;c.length&amp;&amp;!b;d++)w=c[d],q=w.zIndex,w!==e&amp;&amp;(h(q)&gt;a||!t(a)&amp;&amp;t(q)||0&gt;\na&amp;&amp;!t(q)&amp;&amp;p!==x.box)&amp;&amp;(p.insertBefore(e,w),b=!0);b||p.appendChild(e)}return b},_defaultSetter:function(a,h,c){c.setAttribute(h,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=function(a,h){this[h]=a;this.doTransform=!0};C.prototype[\"stroke-widthSetter\"]=C.prototype.strokeSetter=function(a,h,c){this[h]=a;this.stroke&amp;&amp;this[\"stroke-width\"]?\n(C.prototype.fillSetter.call(this,this.stroke,\"stroke\",c),c.setAttribute(\"stroke-width\",this[\"stroke-width\"]),this.hasStroke=!0):\"stroke-width\"===h&amp;&amp;0===a&amp;&amp;this.hasStroke&amp;&amp;(c.removeAttribute(\"stroke\"),this.hasStroke=!1)};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(A.prototype,{Element:C,SVG_NS:O,init:function(a,h,w,p,q,e){var x;p=this.createElement(\"svg\").attr({version:\"1.1\",\"class\":\"highcharts-root\"}).css(this.getStyle(p));x=p.element;a.appendChild(x);-1===a.innerHTML.indexOf(\"xmlns\")&amp;&amp;\nm(x,\"xmlns\",this.SVG_NS);this.isSVG=!0;this.box=x;this.boxWrapper=p;this.alignedObjects=[];this.url=(c||K)&amp;&amp;k.getElementsByTagName(\"base\").length?R.location.href.replace(/#.*?$/,\"\").replace(/&lt;[^&gt;]*&gt;/g,\"\").replace(/([\\('\\)])/g,\"\\\\$1\").replace(/ /g,\"%20\"):\"\";this.createElement(\"desc\").add().element.appendChild(k.createTextNode(\"Created with Highcharts 5.0.14\"));this.defs=this.createElement(\"defs\").add();this.allowHTML=e;this.forExport=q;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=\n0;this.setSize(h,w,!1);var b;c&amp;&amp;a.getBoundingClientRect&amp;&amp;(h=function(){r(a,{left:0,top:0});b=a.getBoundingClientRect();r(a,{left:Math.ceil(b.left)-b.left+\"px\",top:Math.ceil(b.top)-b.top+\"px\"})},h(),this.unSubPixelFix=F(R,\"resize\",h))},getStyle:function(a){return this.style=e({fontFamily:'\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',fontSize:\"12px\"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=\nthis.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&amp;&amp;(this.defs=a.destroy());this.unSubPixelFix&amp;&amp;this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var h=new this.Element;h.init(this,a);return h},draw:z,getRadialAttr:function(a,h){return{cx:a[0]-a[2]/2+h.cx*a[2],cy:a[1]-a[2]/2+h.cy*a[2],r:h.r*a[2]}},getSpanWidth:function(a,h){var c=a.getBBox(!0).width;!H&amp;&amp;this.forExport&amp;&amp;(c=this.measureSpanWidth(h.firstChild.data,\na.styles));return c},applyEllipsis:function(a,h,c,w){var x=a.rotation,p=c,q,e=0,b=c.length,d=function(a){h.removeChild(h.firstChild);a&amp;&amp;h.appendChild(k.createTextNode(a))},n;a.rotation=0;p=this.getSpanWidth(a,h);if(n=p&gt;w){for(;e&lt;=b;)q=Math.ceil((e+b)/2),p=c.substring(0,q)+\"\\u2026\",d(p),p=this.getSpanWidth(a,h),e===b?e=b+1:p&gt;w?b=q-1:e=q;0===b&amp;&amp;d(\"\")}a.rotation=x;return n},buildText:function(a){var c=a.element,w=this,x=w.forExport,p=L(a.textStr,\"\").toString(),q=-1!==p.indexOf(\"\\x3c\"),e=c.childNodes,\nd,n,g,G,v=m(c,\"x\"),z=a.styles,f=a.textWidth,I=z&amp;&amp;z.lineHeight,B=z&amp;&amp;z.textOutline,D=z&amp;&amp;\"ellipsis\"===z.textOverflow,l=z&amp;&amp;\"nowrap\"===z.whiteSpace,P=z&amp;&amp;z.fontSize,t,J,u=e.length,z=f&amp;&amp;!a.added&amp;&amp;this.box,K=function(a){var x;x=/(px|em)$/.test(a&amp;&amp;a.style.fontSize)?a.style.fontSize:P||w.style.fontSize||12;return I?h(I):w.fontMetrics(x,a.getAttribute(\"style\")?a:c).h};t=[p,D,l,I,B,P,f].join();if(t!==a.textCache){for(a.textCache=t;u--;)c.removeChild(e[u]);q||B||D||f||-1!==p.indexOf(\" \")?(d=/&lt;.*class=\"([^\"]+)\".*&gt;/,\nn=/&lt;.*style=\"([^\"]+)\".*&gt;/,g=/&lt;.*href=\"([^\"]+)\".*&gt;/,z&amp;&amp;z.appendChild(c),p=q?p.replace(/&lt;(b|strong)&gt;/g,'\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/&lt;(i|em)&gt;/g,'\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/&lt;a/g,\"\\x3cspan\").replace(/&lt;\\/(b|strong|i|em|a)&gt;/g,\"\\x3c/span\\x3e\").split(/&lt;br.*?&gt;/g):[p],p=y(p,function(a){return\"\"!==a}),b(p,function(h,p){var q,e=0;h=h.replace(/^\\s+|\\s+$/g,\"\").replace(/&lt;span/g,\"|||\\x3cspan\").replace(/&lt;\\/span&gt;/g,\"\\x3c/span\\x3e|||\");q=h.split(\"|||\");b(q,function(h){if(\"\"!==\nh||1===q.length){var b={},z=k.createElementNS(w.SVG_NS,\"tspan\"),y,I;d.test(h)&amp;&amp;(y=h.match(d)[1],m(z,\"class\",y));n.test(h)&amp;&amp;(I=h.match(n)[1].replace(/(;| |^)color([ :])/,\"$1fill$2\"),m(z,\"style\",I));g.test(h)&amp;&amp;!x&amp;&amp;(m(z,\"onclick\",'location.href\\x3d\"'+h.match(g)[1]+'\"'),r(z,{cursor:\"pointer\"}));h=(h.replace(/&lt;(.|\\n)*?&gt;/g,\"\")||\" \").replace(/&amp;lt;/g,\"\\x3c\").replace(/&amp;gt;/g,\"\\x3e\");if(\" \"!==h){z.appendChild(k.createTextNode(h));e?b.dx=0:p&amp;&amp;null!==v&amp;&amp;(b.x=v);m(z,b);c.appendChild(z);!e&amp;&amp;J&amp;&amp;(!H&amp;&amp;x&amp;&amp;r(z,{display:\"block\"}),\nm(z,\"dy\",K(z)));if(f){b=h.replace(/([^\\^])-/g,\"$1- \").split(\" \");y=1&lt;q.length||p||1&lt;b.length&amp;&amp;!l;var B=[],N,P=K(z),t=a.rotation;for(D&amp;&amp;(G=w.applyEllipsis(a,z,h,f));!D&amp;&amp;y&amp;&amp;(b.length||B.length);)a.rotation=0,N=w.getSpanWidth(a,z),h=N&gt;f,void 0===G&amp;&amp;(G=h),h&amp;&amp;1!==b.length?(z.removeChild(z.firstChild),B.unshift(b.pop())):(b=B,B=[],b.length&amp;&amp;!l&amp;&amp;(z=k.createElementNS(O,\"tspan\"),m(z,{dy:P,x:v}),I&amp;&amp;m(z,\"style\",I),c.appendChild(z)),N&gt;f&amp;&amp;(f=N)),b.length&amp;&amp;z.appendChild(k.createTextNode(b.join(\" \").replace(/- /g,\n\"-\")));a.rotation=t}e++}}});J=J||c.childNodes.length}),G&amp;&amp;a.attr(\"title\",a.textStr),z&amp;&amp;z.removeChild(c),B&amp;&amp;a.applyTextOutline&amp;&amp;a.applyTextOutline(B)):c.appendChild(k.createTextNode(p.replace(/&amp;lt;/g,\"\\x3c\").replace(/&amp;gt;/g,\"\\x3e\")))}},getContrast:function(a){a=l(a).rgba;return 510&lt;a[0]+a[1]+a[2]?\"#000000\":\"#FFFFFF\"},button:function(a,h,c,w,q,b,d,n,g){var x=this.label(a,h,c,g,null,null,null,null,\"button\"),k=0;x.attr(p({padding:8,r:2},q));var z,H,v,f;q=p({fill:\"#f7f7f7\",stroke:\"#cccccc\",\"stroke-width\":1,\nstyle:{color:\"#333333\",cursor:\"pointer\",fontWeight:\"normal\"}},q);z=q.style;delete q.style;b=p(q,{fill:\"#e6e6e6\"},b);H=b.style;delete b.style;d=p(q,{fill:\"#e6ebf5\",style:{color:\"#000000\",fontWeight:\"bold\"}},d);v=d.style;delete d.style;n=p(q,{style:{color:\"#cccccc\"}},n);f=n.style;delete n.style;F(x.element,G?\"mouseover\":\"mouseenter\",function(){3!==k&amp;&amp;x.setState(1)});F(x.element,G?\"mouseout\":\"mouseleave\",function(){3!==k&amp;&amp;x.setState(k)});x.setState=function(a){1!==a&amp;&amp;(x.state=k=a);x.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\"+\n[\"normal\",\"hover\",\"pressed\",\"disabled\"][a||0]);x.attr([q,b,d,n][a||0]).css([z,H,v,f][a||0])};x.attr(q).css(e({cursor:\"default\"},z));return x.on(\"click\",function(a){3!==k&amp;&amp;w.call(x,a)})},crispLine:function(a,h){a[1]===a[4]&amp;&amp;(a[1]=a[4]=Math.round(a[1])-h%2/2);a[2]===a[5]&amp;&amp;(a[2]=a[5]=Math.round(a[2])+h%2/2);return a},path:function(a){var h={fill:\"none\"};J(a)?h.d=a:q(a)&amp;&amp;e(h,a);return this.createElement(\"path\").attr(h)},circle:function(a,h,c){a=q(a)?a:{x:a,y:h,r:c};h=this.createElement(\"circle\");h.xSetter=\nh.ySetter=function(a,h,c){c.setAttribute(\"c\"+h,a)};return h.attr(a)},arc:function(a,h,c,w,p,b){q(a)?(w=a,h=w.y,c=w.r,a=w.x):w={innerR:w,start:p,end:b};a=this.symbol(\"arc\",a,h,c,c,w);a.r=c;return a},rect:function(a,h,c,w,p,b){p=q(a)?a.r:p;var x=this.createElement(\"rect\");a=q(a)?a:void 0===a?{}:{x:a,y:h,width:Math.max(c,0),height:Math.max(w,0)};void 0!==b&amp;&amp;(a.strokeWidth=b,a=x.crisp(a));a.fill=\"none\";p&amp;&amp;(a.r=p);x.rSetter=function(a,h,c){m(c,{rx:a,ry:a})};return x.attr(a)},setSize:function(a,h,c){var w=\nthis.alignedObjects,p=w.length;this.width=a;this.height=h;for(this.boxWrapper.animate({width:a,height:h},{step:function(){this.attr({viewBox:\"0 0 \"+this.attr(\"width\")+\" \"+this.attr(\"height\")})},duration:L(c,!0)?void 0:0});p--;)w[p].align()},g:function(a){var h=this.createElement(\"g\");return a?h.attr({\"class\":\"highcharts-\"+a}):h},image:function(a,h,c,w,p){var x={preserveAspectRatio:\"none\"};1&lt;arguments.length&amp;&amp;e(x,{x:h,y:c,width:w,height:p});x=this.createElement(\"image\").attr(x);x.element.setAttributeNS?\nx.element.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",a):x.element.setAttribute(\"hc-svg-href\",a);return x},symbol:function(a,h,c,w,p,q){var x=this,d,n=/^url\\((.*?)\\)$/,g=n.test(a),z=!g&amp;&amp;(this.symbols[a]?a:\"circle\"),G=z&amp;&amp;this.symbols[z],H=t(h)&amp;&amp;G&amp;&amp;G.call(this.symbols,Math.round(h),Math.round(c),w,p,q),v,y;G?(d=this.path(H),d.attr(\"fill\",\"none\"),e(d,{symbolName:z,x:h,y:c,width:w,height:p}),q&amp;&amp;e(d,q)):g&amp;&amp;(v=a.match(n)[1],d=this.image(v),d.imgwidth=L(Q[v]&amp;&amp;Q[v].width,q&amp;&amp;q.width),d.imgheight=\nL(Q[v]&amp;&amp;Q[v].height,q&amp;&amp;q.height),y=function(){d.attr({width:d.width,height:d.height})},b([\"width\",\"height\"],function(a){d[a+\"Setter\"]=function(a,h){var c={},w=this[\"img\"+h],p=\"width\"===h?\"translateX\":\"translateY\";this[h]=a;t(w)&amp;&amp;(this.element&amp;&amp;this.element.setAttribute(h,w),this.alignByTranslate||(c[p]=((this[h]||0)-w)/2,this.attr(c)))}}),t(h)&amp;&amp;d.attr({x:h,y:c}),d.isImg=!0,t(d.imgwidth)&amp;&amp;t(d.imgheight)?y():(d.attr({width:0,height:0}),u(\"img\",{onload:function(){var a=f[x.chartIndex];0===this.width&amp;&amp;\n(r(this,{position:\"absolute\",top:\"-999em\"}),k.body.appendChild(this));Q[v]={width:this.width,height:this.height};d.imgwidth=this.width;d.imgheight=this.height;d.element&amp;&amp;y();this.parentNode&amp;&amp;this.parentNode.removeChild(this);x.imgCount--;if(!x.imgCount&amp;&amp;a&amp;&amp;a.onload)a.onload()},src:v}),this.imgCount++));return d},symbols:{circle:function(a,h,c,w){return this.arc(a+c/2,h+w/2,c/2,w/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,h,c,w){return[\"M\",a,h,\"L\",a+c,h,a+c,h+w,a,h+w,\"Z\"]},triangle:function(a,\nh,c,w){return[\"M\",a+c/2,h,\"L\",a+c,h+w,a,h+w,\"Z\"]},\"triangle-down\":function(a,h,c,w){return[\"M\",a,h,\"L\",a+c,h,a+c/2,h+w,\"Z\"]},diamond:function(a,h,c,w){return[\"M\",a+c/2,h,\"L\",a+c,h+w/2,a+c/2,h+w,a,h+w/2,\"Z\"]},arc:function(a,h,c,w,p){var q=p.start,b=p.r||c,x=p.r||w||c,e=p.end-.001;c=p.innerR;w=L(p.open,.001&gt;Math.abs(p.end-p.start-2*Math.PI));var d=Math.cos(q),n=Math.sin(q),g=Math.cos(e),e=Math.sin(e);p=.001&gt;p.end-q-Math.PI?0:1;b=[\"M\",a+b*d,h+x*n,\"A\",b,x,0,p,1,a+b*g,h+x*e];t(c)&amp;&amp;b.push(w?\"M\":\"L\",a+c*\ng,h+c*e,\"A\",c,c,0,p,0,a+c*d,h+c*n);b.push(w?\"\":\"Z\");return b},callout:function(a,h,c,w,p){var q=Math.min(p&amp;&amp;p.r||0,c,w),b=q+6,e=p&amp;&amp;p.anchorX;p=p&amp;&amp;p.anchorY;var d;d=[\"M\",a+q,h,\"L\",a+c-q,h,\"C\",a+c,h,a+c,h,a+c,h+q,\"L\",a+c,h+w-q,\"C\",a+c,h+w,a+c,h+w,a+c-q,h+w,\"L\",a+q,h+w,\"C\",a,h+w,a,h+w,a,h+w-q,\"L\",a,h+q,\"C\",a,h,a,h,a+q,h];e&amp;&amp;e&gt;c?p&gt;h+b&amp;&amp;p&lt;h+w-b?d.splice(13,3,\"L\",a+c,p-6,a+c+6,p,a+c,p+6,a+c,h+w-q):d.splice(13,3,\"L\",a+c,w/2,e,p,a+c,w/2,a+c,h+w-q):e&amp;&amp;0&gt;e?p&gt;h+b&amp;&amp;p&lt;h+w-b?d.splice(33,3,\"L\",a,p+6,a-6,p,a,p-6,\na,h+q):d.splice(33,3,\"L\",a,w/2,e,p,a,w/2,a,h+q):p&amp;&amp;p&gt;w&amp;&amp;e&gt;a+b&amp;&amp;e&lt;a+c-b?d.splice(23,3,\"L\",e+6,h+w,e,h+w+6,e-6,h+w,a+q,h+w):p&amp;&amp;0&gt;p&amp;&amp;e&gt;a+b&amp;&amp;e&lt;a+c-b&amp;&amp;d.splice(3,3,\"L\",e-6,h,e,h-6,e+6,h,c-q,h);return d}},clipRect:function(h,c,w,p){var q=a.uniqueKey(),b=this.createElement(\"clipPath\").attr({id:q}).add(this.defs);h=this.rect(h,c,w,p,0).add(b);h.id=q;h.clipPath=b;h.count=0;return h},text:function(a,h,c,w){var p=!H&amp;&amp;this.forExport,q={};if(w&amp;&amp;(this.allowHTML||!this.forExport))return this.html(a,h,c);q.x=Math.round(h||\n0);c&amp;&amp;(q.y=Math.round(c));if(a||0===a)q.text=a;a=this.createElement(\"text\").attr(q);p&amp;&amp;a.css({position:\"absolute\"});w||(a.xSetter=function(a,h,c){var w=c.getElementsByTagName(\"tspan\"),p,q=c.getAttribute(h),b;for(b=0;b&lt;w.length;b++)p=w[b],p.getAttribute(h)===q&amp;&amp;p.setAttribute(h,a);c.setAttribute(h,a)});return a},fontMetrics:function(a,c){a=a||c&amp;&amp;c.style&amp;&amp;c.style.fontSize||this.style&amp;&amp;this.style.fontSize;a=/px/.test(a)?h(a):/em/.test(a)?parseFloat(a)*(c?this.fontMetrics(null,c.parentNode).f:16):12;\nc=24&gt;a?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a,h,c){var w=a;h&amp;&amp;c&amp;&amp;(w=Math.max(w*Math.cos(h*g),4));return{x:-a/3*Math.sin(h*g),y:w}},label:function(h,c,q,d,n,g,k,z,G){var x=this,H=x.g(\"button\"!==G&amp;&amp;\"label\"),v=H.text=x.text(\"\",0,0,k).attr({zIndex:1}),f,y,I=0,B=3,D=0,r,l,P,m,J,O={},L,u,N=/^url\\((.*?)\\)$/.test(d),K=N,U,T,Q,R;G&amp;&amp;H.addClass(\"highcharts-\"+G);K=N;U=function(){return(L||0)%2/2};T=function(){var a=v.element.style,h={};y=(void 0===r||void 0===l||J)&amp;&amp;t(v.textStr)&amp;&amp;\nv.getBBox();H.width=(r||y.width||0)+2*B+D;H.height=(l||y.height||0)+2*B;u=B+x.fontMetrics(a&amp;&amp;a.fontSize,v).b;K&amp;&amp;(f||(H.box=f=x.symbols[d]||N?x.symbol(d):x.rect(),f.addClass((\"button\"===G?\"\":\"highcharts-label-box\")+(G?\" highcharts-\"+G+\"-box\":\"\")),f.add(H),a=U(),h.x=a,h.y=(z?-u:0)+a),h.width=Math.round(H.width),h.height=Math.round(H.height),f.attr(e(h,O)),O={})};Q=function(){var a=D+B,h;h=z?0:u;t(r)&amp;&amp;y&amp;&amp;(\"center\"===J||\"right\"===J)&amp;&amp;(a+={center:.5,right:1}[J]*(r-y.width));if(a!==v.x||h!==v.y)v.attr(\"x\",\na),void 0!==h&amp;&amp;v.attr(\"y\",h);v.x=a;v.y=h};R=function(a,h){f?f.attr(a,h):O[a]=h};H.onAdd=function(){v.add(H);H.attr({text:h||0===h?h:\"\",x:c,y:q});f&amp;&amp;t(n)&amp;&amp;H.attr({anchorX:n,anchorY:g})};H.widthSetter=function(h){r=a.isNumber(h)?h:null};H.heightSetter=function(a){l=a};H[\"text-alignSetter\"]=function(a){J=a};H.paddingSetter=function(a){t(a)&amp;&amp;a!==B&amp;&amp;(B=H.padding=a,Q())};H.paddingLeftSetter=function(a){t(a)&amp;&amp;a!==D&amp;&amp;(D=a,Q())};H.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==I&amp;&amp;(I=a,y&amp;&amp;H.attr({x:P}))};\nH.textSetter=function(a){void 0!==a&amp;&amp;v.textSetter(a);T();Q()};H[\"stroke-widthSetter\"]=function(a,h){a&amp;&amp;(K=!0);L=this[\"stroke-width\"]=a;R(h,a)};H.strokeSetter=H.fillSetter=H.rSetter=function(a,h){\"r\"!==h&amp;&amp;(\"fill\"===h&amp;&amp;a&amp;&amp;(K=!0),H[h]=a);R(h,a)};H.anchorXSetter=function(a,h){n=H.anchorX=a;R(h,Math.round(a)-U()-P)};H.anchorYSetter=function(a,h){g=H.anchorY=a;R(h,a-m)};H.xSetter=function(a){H.x=a;I&amp;&amp;(a-=I*((r||y.width)+2*B));P=Math.round(a);H.attr(\"translateX\",P)};H.ySetter=function(a){m=H.y=Math.round(a);\nH.attr(\"translateY\",m)};var V=H.css;return e(H,{css:function(a){if(a){var h={};a=p(a);b(H.textProps,function(c){void 0!==a[c]&amp;&amp;(h[c]=a[c],delete a[c])});v.css(h)}return V.call(H,a)},getBBox:function(){return{width:y.width+2*B,height:y.height+2*B,x:y.x-B,y:y.y-B}},shadow:function(a){a&amp;&amp;(T(),f&amp;&amp;f.shadow(a));return H},destroy:function(){w(H.element,\"mouseenter\");w(H.element,\"mouseleave\");v&amp;&amp;(v=v.destroy());f&amp;&amp;(f=f.destroy());C.prototype.destroy.call(H);H=x=T=Q=R=null}})}});a.Renderer=A})(M);(function(a){var C=\na.attr,A=a.createElement,F=a.css,E=a.defined,m=a.each,f=a.extend,l=a.isFirefox,r=a.isMS,u=a.isWebKit,t=a.pInt,g=a.SVGRenderer,d=a.win,k=a.wrap;f(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&amp;&amp;\"SPAN\"===b.tagName&amp;&amp;a.width)delete a.width,this.textWidth=b,this.updateTransform();a&amp;&amp;\"ellipsis\"===a.textOverflow&amp;&amp;(a.whiteSpace=\"nowrap\",a.overflow=\"hidden\");this.styles=f(this.styles,a);F(this.element,a);return this},htmlGetBBox:function(){var a=this.element;\"text\"===a.nodeName&amp;&amp;(a.style.position=\n\"absolute\");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,e=this.element,d=this.translateX||0,g=this.translateY||0,n=this.x||0,k=this.y||0,f=this.textAlign||\"left\",c={left:0,center:.5,right:1}[f],G=this.styles;F(e,{marginLeft:d,marginTop:g});this.shadows&amp;&amp;m(this.shadows,function(a){F(a,{marginLeft:d+1,marginTop:g+1})});this.inverted&amp;&amp;m(e.childNodes,function(c){a.invertChild(c,e)});if(\"SPAN\"===e.tagName){var q=\nthis.rotation,B=t(this.textWidth),r=G&amp;&amp;G.whiteSpace,p=[q,f,e.innerHTML,this.textWidth,this.textAlign].join();p!==this.cTT&amp;&amp;(G=a.fontMetrics(e.style.fontSize).b,E(q)&amp;&amp;this.setSpanRotation(q,c,G),F(e,{width:\"\",whiteSpace:r||\"nowrap\"}),e.offsetWidth&gt;B&amp;&amp;/[ \\-]/.test(e.textContent||e.innerText)&amp;&amp;F(e,{width:B+\"px\",display:\"block\",whiteSpace:r||\"normal\"}),this.getSpanCorrection(e.offsetWidth,G,c,q,f));F(e,{left:n+(this.xCorr||0)+\"px\",top:k+(this.yCorr||0)+\"px\"});u&amp;&amp;(G=e.offsetHeight);this.cTT=p}}else this.alignOnAdd=\n!0},setSpanRotation:function(a,e,g){var b={},n=r?\"-ms-transform\":u?\"-webkit-transform\":l?\"MozTransform\":d.opera?\"-o-transform\":\"\";b[n]=b.transform=\"rotate(\"+a+\"deg)\";b[n+(l?\"Origin\":\"-origin\")]=b.transformOrigin=100*e+\"% \"+g+\"px\";F(this.element,b)},getSpanCorrection:function(a,e,d){this.xCorr=-a*d;this.yCorr=-e}});f(g.prototype,{html:function(a,e,d){var b=this.createElement(\"span\"),n=b.element,g=b.renderer,v=g.isSVG,c=function(a,c){m([\"opacity\",\"visibility\"],function(q){k(a,q+\"Setter\",function(a,\np,q,b){a.call(this,p,q,b);c[q]=p})})};b.textSetter=function(a){a!==n.innerHTML&amp;&amp;delete this.bBox;n.innerHTML=this.textStr=a;b.htmlUpdateTransform()};v&amp;&amp;c(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,c){\"align\"===c&amp;&amp;(c=\"textAlign\");b[c]=a;b.htmlUpdateTransform()};b.attr({text:a,x:Math.round(e),y:Math.round(d)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:\"absolute\"});n.style.whiteSpace=\"nowrap\";b.css=b.htmlCss;v&amp;&amp;(b.add=function(a){var q,\ne=g.box.parentNode,d=[];if(this.parentGroup=a){if(q=a.div,!q){for(;a;)d.push(a),a=a.parentGroup;m(d.reverse(),function(a){var p,n=C(a.element,\"class\");n&amp;&amp;(n={className:n});q=a.div=a.div||A(\"div\",n,{position:\"absolute\",left:(a.translateX||0)+\"px\",top:(a.translateY||0)+\"px\",display:a.display,opacity:a.opacity,pointerEvents:a.styles&amp;&amp;a.styles.pointerEvents},q||e);p=q.style;f(a,{classSetter:function(a){this.element.setAttribute(\"class\",a);q.className=a},on:function(){d[0].div&amp;&amp;b.on.apply({element:d[0].div},\narguments);return a},translateXSetter:function(c,h){p.left=c+\"px\";a[h]=c;a.doTransform=!0},translateYSetter:function(c,h){p.top=c+\"px\";a[h]=c;a.doTransform=!0}});c(a,p)})}}else q=e;q.appendChild(n);b.added=!0;b.alignOnAdd&amp;&amp;b.htmlUpdateTransform();return b});return b}})})(M);(function(a){var C,A,F=a.createElement,E=a.css,m=a.defined,f=a.deg2rad,l=a.discardElement,r=a.doc,u=a.each,t=a.erase,g=a.extend;C=a.extendClass;var d=a.isArray,k=a.isNumber,b=a.isObject,e=a.merge;A=a.noop;var v=a.pick,y=a.pInt,\nn=a.SVGElement,D=a.SVGRenderer,J=a.win;a.svg||(A={docMode8:r&amp;&amp;8===r.documentMode,init:function(a,b){var c=[\"\\x3c\",b,' filled\\x3d\"f\" stroked\\x3d\"f\"'],e=[\"position: \",\"absolute\",\";\"],d=\"div\"===b;(\"shape\"===b||d)&amp;&amp;e.push(\"left:0;top:0;width:1px;height:1px;\");e.push(\"visibility: \",d?\"hidden\":\"visible\");c.push(' style\\x3d\"',e.join(\"\"),'\"/\\x3e');b&amp;&amp;(c=d||\"span\"===b||\"img\"===b?c.join(\"\"):a.prepVML(c),this.element=F(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,e=c.box,d=a&amp;&amp;a.inverted,\ne=a?a.element||a:e;a&amp;&amp;(this.parentGroup=a);d&amp;&amp;c.invertChild(b,e);e.appendChild(b);this.added=!0;this.alignOnAdd&amp;&amp;!this.deferUpdateTransform&amp;&amp;this.updateTransform();if(this.onAdd)this.onAdd();this.className&amp;&amp;this.attr(\"class\",this.className);return this},updateTransform:n.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*f),q=Math.sin(a*f);E(this.element,{filter:a?[\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\",b,\", M12\\x3d\",-q,\", M21\\x3d\",q,\", M22\\x3d\",\nb,\", sizingMethod\\x3d'auto expand')\"].join(\"\"):\"none\"})},getSpanCorrection:function(a,b,q,e,d){var c=e?Math.cos(e*f):1,n=e?Math.sin(e*f):0,g=v(this.elemHeight,this.element.offsetHeight),k;this.xCorr=0&gt;c&amp;&amp;-a;this.yCorr=0&gt;n&amp;&amp;-g;k=0&gt;c*n;this.xCorr+=n*b*(k?1-q:q);this.yCorr-=c*b*(e?k?q:1-q:1);d&amp;&amp;\"left\"!==d&amp;&amp;(this.xCorr-=a*q*(0&gt;c?-1:1),e&amp;&amp;(this.yCorr-=g*q*(0&gt;n?-1:1)),E(this.element,{textAlign:d}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)k(a[c])?b[c]=Math.round(10*a[c])-5:\"Z\"===a[c]?b[c]=\"x\":\n(b[c]=a[c],!a.isArc||\"wa\"!==a[c]&amp;&amp;\"at\"!==a[c]||(b[c+5]===b[c+7]&amp;&amp;(b[c+7]+=a[c+7]&gt;a[c+5]?1:-1),b[c+6]===b[c+8]&amp;&amp;(b[c+8]+=a[c+8]&gt;a[c+6]?1:-1)));return b.join(\" \")||\"x\"},clip:function(a){var c=this,b;a?(b=a.members,t(b,c),b.push(c),c.destroyClip=function(){t(b,c)},a=a.getCSS(c)):(c.destroyClip&amp;&amp;c.destroyClip(),a={clip:c.docMode8?\"inherit\":\"rect(auto)\"});return c.css(a)},css:n.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&amp;&amp;l(a)},destroy:function(){this.destroyClip&amp;&amp;this.destroyClip();return n.prototype.destroy.apply(this)},\non:function(a,b){this.element[\"on\"+a]=function(){var a=J.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=y(a[c-2])-10*b;return a.join(\" \")},shadow:function(a,b,e){var c=[],q,p=this.element,d=this.renderer,n,g=p.style,h,w=p.path,k,H,f,D;w&amp;&amp;\"string\"!==typeof w.value&amp;&amp;(w=\"x\");H=w;if(a){f=v(a.width,3);D=(a.opacity||.15)/f;for(q=1;3&gt;=q;q++)k=2*f+1-2*q,e&amp;&amp;(H=this.cutOffPath(w.value,k+.5)),h=['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"',\nk,'\" filled\\x3d\"false\" path\\x3d\"',H,'\" coordsize\\x3d\"10 10\" style\\x3d\"',p.style.cssText,'\" /\\x3e'],n=F(d.prepVML(h),null,{left:y(g.left)+v(a.offsetX,1),top:y(g.top)+v(a.offsetY,1)}),e&amp;&amp;(n.cutOff=k+1),h=['\\x3cstroke color\\x3d\"',a.color||\"#000000\",'\" opacity\\x3d\"',D*q,'\"/\\x3e'],F(d.prepVML(h),null,null,n),b?b.element.appendChild(n):p.parentNode.insertBefore(n,p),c.push(n);this.shadows=c}return this},updateShadows:A,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},\nclassSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,e){(e.getElementsByTagName(\"stroke\")[0]||F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]),null,null,e))[b]=a||\"solid\";this[b]=a},dSetter:function(a,b,e){var c=this.shadows;a=a||[];this.d=a.join&amp;&amp;a.join(\" \");e.path=a=this.pathToVML(a);if(c)for(e=c.length;e--;)c[e].path=c[e].cutOff?this.cutOffPath(a,c[e].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,e){var c=e.nodeName;\"SPAN\"===c?e.style.color=a:\"IMG\"!==\nc&amp;&amp;(e.filled=\"none\"!==a,this.setAttr(\"fillcolor\",this.renderer.color(a,e,b,this)))},\"fill-opacitySetter\":function(a,b,e){F(this.renderer.prepVML([\"\\x3c\",b.split(\"-\")[0],' opacity\\x3d\"',a,'\"/\\x3e']),null,null,e)},opacitySetter:A,rotationSetter:function(a,b,e){e=e.style;this[b]=e[b]=a;e.left=-Math.round(Math.sin(a*f)+1)+\"px\";e.top=Math.round(Math.cos(a*f))+\"px\"},strokeSetter:function(a,b,e){this.setAttr(\"strokecolor\",this.renderer.color(a,e,b,this))},\"stroke-widthSetter\":function(a,b,e){e.stroked=!!a;\nthis[b]=a;k(a)&amp;&amp;(a+=\"px\");this.setAttr(\"strokeweight\",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,e){\"inherit\"===a&amp;&amp;(a=\"visible\");this.shadows&amp;&amp;u(this.shadows,function(c){c.style[b]=a});\"DIV\"===e.nodeName&amp;&amp;(a=\"hidden\"===a?\"-999em\":0,this.docMode8||(e.style[b]=a?\"visible\":\"hidden\"),b=\"top\");e.style[b]=a},xSetter:function(a,b,e){this[b]=a;\"x\"===b?b=\"left\":\"y\"===b&amp;&amp;(b=\"top\");this.updateClipping?(this[b]=a,this.updateClipping()):e.style[b]=a},zIndexSetter:function(a,\nb,e){e.style[b]=a}},A[\"stroke-opacitySetter\"]=A[\"fill-opacitySetter\"],a.VMLElement=A=C(n,A),A.prototype.ySetter=A.prototype.widthSetter=A.prototype.heightSetter=A.prototype.xSetter,A={Element:A,isIE8:-1&lt;J.navigator.userAgent.indexOf(\"MSIE 8.0\"),init:function(a,b,e){var c,d;this.alignedObjects=[];c=this.createElement(\"div\").css({position:\"relative\"});d=c.element;a.appendChild(c.element);this.isVML=!0;this.box=d;this.boxWrapper=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,\ne,!1);if(!r.namespaces.hcv){r.namespaces.add(\"hcv\",\"urn:schemas-microsoft-com:vml\");try{r.createStyleSheet().cssText=\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"}catch(p){r.styleSheets[0].cssText+=\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,e,d,n){var c=this.createElement(),p=b(a);return g(c,{members:[],\ncount:0,left:(p?a.x:a)+1,top:(p?a.y:e)+1,width:(p?a.width:d)-1,height:(p?a.height:n)-1,getCSS:function(a){var c=a.element,b=c.nodeName,h=a.inverted,w=this.top-(\"shape\"===b?c.offsetTop:0),p=this.left,c=p+this.width,e=w+this.height,w={clip:\"rect(\"+Math.round(h?p:w)+\"px,\"+Math.round(h?e:c)+\"px,\"+Math.round(h?c:e)+\"px,\"+Math.round(h?w:p)+\"px)\"};!h&amp;&amp;a.docMode8&amp;&amp;\"DIV\"===b&amp;&amp;g(w,{width:c+\"px\",height:e+\"px\"});return w},updateClipping:function(){u(c.members,function(a){a.element&amp;&amp;a.css(c.getCSS(a))})}})},color:function(c,\nb,e,d){var q=this,p,n=/^rgba/,g,k,h=\"none\";c&amp;&amp;c.linearGradient?k=\"gradient\":c&amp;&amp;c.radialGradient&amp;&amp;(k=\"pattern\");if(k){var w,v,H=c.linearGradient||c.radialGradient,f,D,y,x,r,B=\"\";c=c.stops;var l,G=[],m=function(){g=['\\x3cfill colors\\x3d\"'+G.join(\",\")+'\" opacity\\x3d\"',y,'\" o:opacity2\\x3d\"',D,'\" type\\x3d\"',k,'\" ',B,'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'];F(q.prepVML(g),null,null,b)};f=c[0];l=c[c.length-1];0&lt;f[0]&amp;&amp;c.unshift([0,f[1]]);1&gt;l[0]&amp;&amp;c.push([1,l[1]]);u(c,function(h,c){n.test(h[1])?(p=a.color(h[1]),\nw=p.get(\"rgb\"),v=p.get(\"a\")):(w=h[1],v=1);G.push(100*h[0]+\"% \"+w);c?(y=v,x=w):(D=v,r=w)});if(\"fill\"===e)if(\"gradient\"===k)e=H.x1||H[0]||0,c=H.y1||H[1]||0,f=H.x2||H[2]||0,H=H.y2||H[3]||0,B='angle\\x3d\"'+(90-180*Math.atan((H-c)/(f-e))/Math.PI)+'\"',m();else{var h=H.r,t=2*h,J=2*h,A=H.cx,C=H.cy,E=b.radialReference,M,h=function(){E&amp;&amp;(M=d.getBBox(),A+=(E[0]-M.x)/M.width-.5,C+=(E[1]-M.y)/M.height-.5,t*=E[2]/M.width,J*=E[2]/M.height);B='src\\x3d\"'+a.getOptions().global.VMLRadialGradientURL+'\" size\\x3d\"'+t+\",\"+\nJ+'\" origin\\x3d\"0.5,0.5\" position\\x3d\"'+A+\",\"+C+'\" color2\\x3d\"'+r+'\" ';m()};d.added?h():d.onAdd=h;h=x}else h=w}else n.test(c)&amp;&amp;\"IMG\"!==b.tagName?(p=a.color(c),d[e+\"-opacitySetter\"](p.get(\"a\"),e,b),h=p.get(\"rgb\")):(h=b.getElementsByTagName(e),h.length&amp;&amp;(h[0].opacity=1,h[0].type=\"solid\"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(\"\");c?(a=a.replace(\"/\\x3e\",' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'),a=-1===a.indexOf('style\\x3d\"')?a.replace(\"/\\x3e\",' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e'):\na.replace('style\\x3d\"','style\\x3d\"display:inline-block;behavior:url(#default#VML);')):a=a.replace(\"\\x3c\",\"\\x3chcv:\");return a},text:D.prototype.html,path:function(a){var c={coordsize:\"10 10\"};d(a)?c.d=a:b(a)&amp;&amp;g(c,a);return this.createElement(\"shape\").attr(c)},circle:function(a,e,d){var c=this.symbol(\"circle\");b(a)&amp;&amp;(d=a.r,e=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:e})},g:function(a){var c;a&amp;&amp;(c={className:\"highcharts-\"+a,\"class\":\"highcharts-\"+a});return this.createElement(\"div\").attr(c)},\nimage:function(a,b,e,d,n){var c=this.createElement(\"img\").attr({src:a});1&lt;arguments.length&amp;&amp;c.attr({x:b,y:e,width:d,height:n});return c},createElement:function(a){return\"rect\"===a?this.symbol(a):D.prototype.createElement.call(this,a)},invertChild:function(a,b){var c=this;b=b.style;var e=\"IMG\"===a.tagName&amp;&amp;a.style;E(a,{flip:\"x\",left:y(b.width)-(e?y(e.top):1),top:y(b.height)-(e?y(e.left):1),rotation:-90});u(a.childNodes,function(b){c.invertChild(b,a)})},symbols:{arc:function(a,b,e,d,n){var c=n.start,\nq=n.end,g=n.r||e||d;e=n.innerR;d=Math.cos(c);var k=Math.sin(c),h=Math.cos(q),w=Math.sin(q);if(0===q-c)return[\"x\"];c=[\"wa\",a-g,b-g,a+g,b+g,a+g*d,b+g*k,a+g*h,b+g*w];n.open&amp;&amp;!e&amp;&amp;c.push(\"e\",\"M\",a,b);c.push(\"at\",a-e,b-e,a+e,b+e,a+e*h,b+e*w,a+e*d,b+e*k,\"x\",\"e\");c.isArc=!0;return c},circle:function(a,b,e,d,n){n&amp;&amp;m(n.r)&amp;&amp;(e=d=2*n.r);n&amp;&amp;n.isCircle&amp;&amp;(a-=e/2,b-=d/2);return[\"wa\",a,b,a+e,b+d,a+e,b+d/2,a+e,b+d/2,\"e\"]},rect:function(a,b,e,d,n){return D.prototype.symbols[m(n)&amp;&amp;n.r?\"callout\":\"square\"].call(0,a,b,\ne,d,n)}}},a.VMLRenderer=C=function(){this.init.apply(this,arguments)},C.prototype=e(D.prototype,A),a.Renderer=C);D.prototype.measureSpanWidth=function(a,b){var c=r.createElement(\"span\");a=r.createTextNode(a);c.appendChild(a);E(c,b);this.box.appendChild(c);b=c.offsetWidth;l(c);return b}})(M);(function(a){function C(){var f=a.defaultOptions.global,l=r.moment;if(f.timezone){if(l)return function(a){return-l.tz(a,f.timezone).utcOffset()};a.error(25)}return f.useUTC&amp;&amp;f.getTimezoneOffset}function A(){var f=\na.defaultOptions.global,t,g=f.useUTC,d=g?\"getUTC\":\"get\",k=g?\"setUTC\":\"set\";a.Date=t=f.Date||r.Date;t.hcTimezoneOffset=g&amp;&amp;f.timezoneOffset;t.hcGetTimezoneOffset=C();t.hcMakeTime=function(a,e,d,k,n,f){var b;g?(b=t.UTC.apply(0,arguments),b+=m(b)):b=(new t(a,e,l(d,1),l(k,0),l(n,0),l(f,0))).getTime();return b};E(\"Minutes Hours Day Date Month FullYear\".split(\" \"),function(a){t[\"hcGet\"+a]=d+a});E(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"),function(a){t[\"hcSet\"+a]=k+a})}var F=a.color,\nE=a.each,m=a.getTZOffset,f=a.merge,l=a.pick,r=a.win;a.defaultOptions={colors:\"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),symbols:[\"circle\",\"diamond\",\"square\",\"triangle\",\"triangle-down\"],lang:{loading:\"Loading...\",months:\"January February March April May June July August September October November December\".split(\" \"),shortMonths:\"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),weekdays:\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\ndecimalPoint:\".\",numericSymbols:\"kMGTPE\".split(\"\"),resetZoom:\"Reset zoom\",resetZoomTitle:\"Reset zoom level 1:1\",thousandsSep:\" \"},global:{useUTC:!0,VMLRadialGradientURL:\"http://code.highcharts.com/5.0.14/gfx/vml-radial-gradient.png\"},chart:{borderRadius:0,defaultSeriesType:\"line\",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:\"right\",x:-10,y:10}},width:null,height:null,borderColor:\"#335cad\",backgroundColor:\"#ffffff\",plotBorderColor:\"#cccccc\"},title:{text:\"Chart title\",\nalign:\"center\",margin:15,widthAdjust:-44},subtitle:{text:\"\",align:\"center\",widthAdjust:-44},plotOptions:{},labels:{style:{position:\"absolute\",color:\"#333333\"}},legend:{enabled:!0,align:\"center\",layout:\"horizontal\",labelFormatter:function(){return this.name},borderColor:\"#999999\",borderRadius:0,navigation:{activeColor:\"#003399\",inactiveColor:\"#cccccc\"},itemStyle:{color:\"#333333\",fontSize:\"12px\",fontWeight:\"bold\",textOverflow:\"ellipsis\"},itemHoverStyle:{color:\"#000000\"},itemHiddenStyle:{color:\"#cccccc\"},\nshadow:!1,itemCheckboxStyle:{position:\"absolute\",width:\"13px\",height:\"13px\"},squareSymbol:!0,symbolPadding:5,verticalAlign:\"bottom\",x:0,y:0,title:{style:{fontWeight:\"bold\"}}},loading:{labelStyle:{fontWeight:\"bold\",position:\"relative\",top:\"45%\"},style:{position:\"absolute\",backgroundColor:\"#ffffff\",opacity:.5,textAlign:\"center\"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:\"%A, %b %e, %H:%M:%S.%L\",second:\"%A, %b %e, %H:%M:%S\",minute:\"%A, %b %e, %H:%M\",hour:\"%A, %b %e, %H:%M\",\nday:\"%A, %b %e, %Y\",week:\"Week from %A, %b %e, %Y\",month:\"%B %Y\",year:\"%Y\"},footerFormat:\"\",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:F(\"#f7f7f7\").setOpacity(.85).get(),borderWidth:1,headerFormat:'\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',pointFormat:'\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',shadow:!0,style:{color:\"#333333\",cursor:\"default\",fontSize:\"12px\",pointerEvents:\"none\",\nwhiteSpace:\"nowrap\"}},credits:{enabled:!0,href:\"http://www.highcharts.com\",position:{align:\"right\",x:-10,verticalAlign:\"bottom\",y:-5},style:{cursor:\"pointer\",color:\"#999999\",fontSize:\"9px\"},text:\"Highcharts.com\"}};a.setOptions=function(r){a.defaultOptions=f(!0,a.defaultOptions,r);A();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;A()})(M);(function(a){var C=a.correctFloat,A=a.defined,F=a.destroyObjectProperties,E=a.isNumber,\nm=a.merge,f=a.pick,l=a.deg2rad;a.Tick=function(a,f,l,g){this.axis=a;this.pos=f;this.type=l||\"\";this.isNewLabel=this.isNew=!0;l||g||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,l=a.options,t=a.chart,g=a.categories,d=a.names,k=this.pos,b=l.labels,e=a.tickPositions,v=k===e[0],y=k===e[e.length-1],d=g?f(g[k],d[k],k):k,g=this.label,e=e.info,n;a.isDatetimeAxis&amp;&amp;e&amp;&amp;(n=l.dateTimeLabelFormats[e.higherRanks[k]||e.unitName]);this.isFirst=v;this.isLast=y;l=a.labelFormatter.call({axis:a,\nchart:t,isFirst:v,isLast:y,dateTimeLabelFormat:n,value:a.isLog?C(a.lin2log(d)):d,pos:k});A(g)?g&amp;&amp;g.attr({text:l}):(this.labelLength=(this.label=g=A(l)&amp;&amp;b.enabled?t.renderer.text(l,0,0,b.useHTML).css(m(b.style)).add(a.labelGroup):null)&amp;&amp;g.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?\"height\":\"width\"]:0},handleOverflow:function(a){var r=this.axis,m=a.x,g=r.chart.chartWidth,d=r.chart.spacing,k=f(r.labelLeft,Math.min(r.pos,d[3])),d=f(r.labelRight,\nMath.max(r.pos+r.len,g-d[1])),b=this.label,e=this.rotation,v={left:0,center:.5,right:1}[r.labelAlign],y=b.getBBox().width,n=r.getSlotWidth(),D=n,J=1,c,G={};if(e)0&gt;e&amp;&amp;m-v*y&lt;k?c=Math.round(m/Math.cos(e*l)-k):0&lt;e&amp;&amp;m+v*y&gt;d&amp;&amp;(c=Math.round((g-m)/Math.cos(e*l)));else if(g=m+(1-v)*y,m-v*y&lt;k?D=a.x+D*(1-v)-k:g&gt;d&amp;&amp;(D=d-a.x+D*v,J=-1),D=Math.min(n,D),D&lt;n&amp;&amp;\"center\"===r.labelAlign&amp;&amp;(a.x+=J*(n-D-v*(n-Math.min(y,D)))),y&gt;D||r.autoRotation&amp;&amp;(b.styles||{}).width)c=D;c&amp;&amp;(G.width=c,(r.options.labels.style||{}).textOverflow||\n(G.textOverflow=\"ellipsis\"),b.css(G))},getPosition:function(a,f,l,g){var d=this.axis,k=d.chart,b=g&amp;&amp;k.oldChartHeight||k.chartHeight;return{x:a?d.translate(f+l,null,null,g)+d.transB:d.left+d.offset+(d.opposite?(g&amp;&amp;k.oldChartWidth||k.chartWidth)-d.right-d.left:0),y:a?b-d.bottom+d.offset-(d.opposite?d.height:0):b-d.translate(f+l,null,null,g)-d.transB}},getLabelPosition:function(a,f,m,g,d,k,b,e){var v=this.axis,y=v.transA,n=v.reversed,D=v.staggerLines,r=v.tickRotCorr||{x:0,y:0},c=d.y;A(c)||(c=0===v.side?\nm.rotation?-8:-m.getBBox().height:2===v.side?r.y+8:Math.cos(m.rotation*l)*(r.y-m.getBBox(!1,0).height/2));a=a+d.x+r.x-(k&amp;&amp;g?k*y*(n?-1:1):0);f=f+c-(k&amp;&amp;!g?k*y*(n?1:-1):0);D&amp;&amp;(m=b/(e||1)%D,v.opposite&amp;&amp;(m=D-m-1),f+=v.labelOffset/D*m);return{x:a,y:Math.round(f)}},getMarkPath:function(a,f,l,g,d,k){return k.crispLine([\"M\",a,f,\"L\",a+(d?0:-l),f+(d?l:0)],g)},renderGridLine:function(a,f,l){var g=this.axis,d=g.options,k=this.gridLine,b={},e=this.pos,v=this.type,y=g.tickmarkOffset,n=g.chart.renderer,D=v?v+\"Grid\":\n\"grid\",r=d[D+\"LineWidth\"],c=d[D+\"LineColor\"],d=d[D+\"LineDashStyle\"];k||(b.stroke=c,b[\"stroke-width\"]=r,d&amp;&amp;(b.dashstyle=d),v||(b.zIndex=1),a&amp;&amp;(b.opacity=0),this.gridLine=k=n.path().attr(b).addClass(\"highcharts-\"+(v?v+\"-\":\"\")+\"grid-line\").add(g.gridGroup));if(!a&amp;&amp;k&amp;&amp;(a=g.getPlotLinePath(e+y,k.strokeWidth()*l,a,!0)))k[this.isNew?\"attr\":\"animate\"]({d:a,opacity:f})},renderMark:function(a,l,m){var g=this.axis,d=g.options,k=g.chart.renderer,b=this.type,e=b?b+\"Tick\":\"tick\",v=g.tickSize(e),y=this.mark,n=!y,\nD=a.x;a=a.y;var r=f(d[e+\"Width\"],!b&amp;&amp;g.isXAxis?1:0),d=d[e+\"Color\"];v&amp;&amp;(g.opposite&amp;&amp;(v[0]=-v[0]),n&amp;&amp;(this.mark=y=k.path().addClass(\"highcharts-\"+(b?b+\"-\":\"\")+\"tick\").add(g.axisGroup),y.attr({stroke:d,\"stroke-width\":r})),y[n?\"attr\":\"animate\"]({d:this.getMarkPath(D,a,v[0],y.strokeWidth()*m,g.horiz,k),opacity:l}))},renderLabel:function(a,l,m,g){var d=this.axis,k=d.horiz,b=d.options,e=this.label,v=b.labels,y=v.step,n=d.tickmarkOffset,D=!0,r=a.x;a=a.y;e&amp;&amp;E(r)&amp;&amp;(e.xy=a=this.getLabelPosition(r,a,e,k,v,n,\ng,y),this.isFirst&amp;&amp;!this.isLast&amp;&amp;!f(b.showFirstLabel,1)||this.isLast&amp;&amp;!this.isFirst&amp;&amp;!f(b.showLastLabel,1)?D=!1:!k||d.isRadial||v.step||v.rotation||l||0===m||this.handleOverflow(a),y&amp;&amp;g%y&amp;&amp;(D=!1),D&amp;&amp;E(a.y)?(a.opacity=m,e[this.isNewLabel?\"attr\":\"animate\"](a),this.isNewLabel=!1):(e.attr(\"y\",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(a,l,m){var g=this.axis,d=g.horiz,k=this.getPosition(d,this.pos,g.tickmarkOffset,l),b=k.x,e=k.y,g=d&amp;&amp;b===g.pos+g.len||!d&amp;&amp;e===g.pos?-1:1;m=f(m,1);this.isActive=\n!0;this.renderGridLine(l,m,g);this.renderMark(k,m,g);this.renderLabel(k,l,m,a)},destroy:function(){F(this,this.axis)}}})(M);var S=function(a){var C=a.addEvent,A=a.animObject,F=a.arrayMax,E=a.arrayMin,m=a.color,f=a.correctFloat,l=a.defaultOptions,r=a.defined,u=a.deg2rad,t=a.destroyObjectProperties,g=a.each,d=a.extend,k=a.fireEvent,b=a.format,e=a.getMagnitude,v=a.grep,y=a.inArray,n=a.isArray,D=a.isNumber,J=a.isString,c=a.merge,G=a.normalizeTickInterval,q=a.objectEach,B=a.pick,K=a.removeEvent,p=a.splat,\nz=a.syncTimeout,I=a.Tick,L=function(){this.init.apply(this,arguments)};a.extend(L.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:\"%H:%M:%S.%L\",second:\"%H:%M:%S\",minute:\"%H:%M\",hour:\"%H:%M\",day:\"%e. %b\",week:\"%e. %b\",month:\"%b '%y\",year:\"%Y\"},endOnTick:!1,labels:{enabled:!0,style:{color:\"#666666\",cursor:\"default\",fontSize:\"11px\"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:\"outside\",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:\"between\",tickPixelInterval:100,\ntickPosition:\"outside\",title:{align:\"middle\",style:{color:\"#666666\"}},type:\"linear\",minorGridLineColor:\"#f2f2f2\",minorGridLineWidth:1,minorTickColor:\"#999999\",lineColor:\"#ccd6eb\",lineWidth:1,gridLineColor:\"#e6e6e6\",tickColor:\"#ccd6eb\"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:\"Values\"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},\nstyle:{fontSize:\"11px\",fontWeight:\"bold\",color:\"#000000\",textOutline:\"1px contrast\"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var h=c.isX,b=this;b.chart=a;b.horiz=a.inverted&amp;&amp;!b.isZAxis?!h:h;b.isXAxis=h;b.coll=b.coll||(h?\n\"xAxis\":\"yAxis\");b.opposite=c.opposite;b.side=c.side||(b.horiz?b.opposite?0:2:b.opposite?1:3);b.setOptions(c);var w=this.options,e=w.type;b.labelFormatter=w.labels.formatter||b.defaultLabelFormatter;b.userOptions=c;b.minPixelPadding=0;b.reversed=w.reversed;b.visible=!1!==w.visible;b.zoomEnabled=!1!==w.zoomEnabled;b.hasNames=\"category\"===e||!0===w.categories;b.categories=w.categories||b.hasNames;b.names=b.names||[];b.plotLinesAndBandsGroups={};b.isLog=\"logarithmic\"===e;b.isDatetimeAxis=\"datetime\"===\ne;b.positiveValuesOnly=b.isLog&amp;&amp;!b.allowNegativeLog;b.isLinked=r(w.linkedTo);b.ticks={};b.labelEdge=[];b.minorTicks={};b.plotLinesAndBands=[];b.alternateBands={};b.len=0;b.minRange=b.userMinRange=w.minRange||w.maxZoom;b.range=w.range;b.offset=w.offset||0;b.stacks={};b.oldStacks={};b.stacksTouched=0;b.max=null;b.min=null;b.crosshair=B(w.crosshair,p(a.options.tooltip.crosshairs)[h?0:1],!1);c=b.options.events;-1===y(b,a.axes)&amp;&amp;(h?a.axes.splice(a.xAxis.length,0,b):a.axes.push(b),a[b.coll].push(b));b.series=\nb.series||[];a.inverted&amp;&amp;!b.isZAxis&amp;&amp;h&amp;&amp;void 0===b.reversed&amp;&amp;(b.reversed=!0);q(c,function(a,h){C(b,h,a)});b.lin2log=w.linearToLogConverter||b.lin2log;b.isLog&amp;&amp;(b.val2lin=b.log2lin,b.lin2val=b.lin2log)},setOptions:function(a){this.options=c(this.defaultOptions,\"yAxis\"===this.coll&amp;&amp;this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],c(l[this.coll],a))},defaultLabelFormatter:function(){var h=this.axis,\nc=this.value,e=h.categories,p=this.dateTimeLabelFormat,d=l.lang,n=d.numericSymbols,d=d.numericSymbolMagnitude||1E3,q=n&amp;&amp;n.length,x,g=h.options.labels.format,h=h.isLog?Math.abs(c):h.tickInterval;if(g)x=b(g,this);else if(e)x=c;else if(p)x=a.dateFormat(p,c);else if(q&amp;&amp;1E3&lt;=h)for(;q--&amp;&amp;void 0===x;)e=Math.pow(d,q+1),h&gt;=e&amp;&amp;0===10*c%e&amp;&amp;null!==n[q]&amp;&amp;0!==c&amp;&amp;(x=a.numberFormat(c/e,-1)+n[q]);void 0===x&amp;&amp;(x=1E4&lt;=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,\"\"));return x},getSeriesExtremes:function(){var a=\nthis,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&amp;&amp;a.buildStacks();g(a.series,function(h){if(h.visible||!b.options.chart.ignoreHiddenSeries){var c=h.options,w=c.threshold,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&amp;&amp;0&gt;=w&amp;&amp;(w=null);if(a.isXAxis)c=h.xData,c.length&amp;&amp;(h=E(c),D(h)||h instanceof Date||(c=v(c,function(a){return D(a)}),h=E(c)),a.dataMin=Math.min(B(a.dataMin,c[0]),h),a.dataMax=Math.max(B(a.dataMax,c[0]),F(c)));else if(h.getExtremes(),\ne=h.dataMax,h=h.dataMin,r(h)&amp;&amp;r(e)&amp;&amp;(a.dataMin=Math.min(B(a.dataMin,h),h),a.dataMax=Math.max(B(a.dataMax,e),e)),r(w)&amp;&amp;(a.threshold=w),!c.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,b,c,e,p,d){var h=this.linkedParent||this,w=1,n=0,q=e?h.oldTransA:h.transA;e=e?h.oldMin:h.min;var g=h.minPixelPadding;p=(h.isOrdinal||h.isBroken||h.isLog&amp;&amp;p)&amp;&amp;h.lin2val;q||(q=h.transA);c&amp;&amp;(w*=-1,n=h.len);h.reversed&amp;&amp;(w*=-1,n-=w*(h.sector||h.len));b?(a=(a*w+n-g)/q+e,p&amp;&amp;(a=h.lin2val(a))):\n(p&amp;&amp;(a=h.val2lin(a)),a=w*(a-e)*q+n+w*g+(D(d)?q*d:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,e,p){var h=this.chart,w=this.left,d=this.top,n,q,g=c&amp;&amp;h.oldChartHeight||h.chartHeight,k=c&amp;&amp;h.oldChartWidth||h.chartWidth,f;n=this.transB;var v=function(a,h,b){if(a&lt;h||a&gt;b)e?a=Math.min(Math.max(h,a),b):f=!0;return a};p=B(p,this.translate(a,\nnull,null,c));a=c=Math.round(p+n);n=q=Math.round(g-p-n);D(p)?this.horiz?(n=d,q=g-this.bottom,a=c=v(a,w,w+this.width)):(a=w,c=k-this.right,n=q=v(n,d,d+this.height)):f=!0;return f&amp;&amp;!e?null:h.renderer.crispLine([\"M\",a,n,\"L\",c,q],b||1)},getLinearTickPositions:function(a,b,c){var h,w=f(Math.floor(b/a)*a);c=f(Math.ceil(c/a)*a);var e=[];if(this.single)return[b];for(b=w;b&lt;=c;){e.push(b);b=f(b+a);if(b===h)break;h=b}return e},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,e=a.minorTickInterval,\np=[],d=a.pointRangePadding||0,n=a.min-d,d=a.max+d,q=d-n;if(q&amp;&amp;q/e&lt;a.len/3)if(a.isLog)g(this.paddedTicks,function(h,b,c){b&amp;&amp;p.push.apply(p,a.getLogTickPositions(e,c[b-1],c[b],!0))});else if(a.isDatetimeAxis&amp;&amp;\"auto\"===b.minorTickInterval)p=p.concat(a.getTimeTicks(a.normalizeTimeTickInterval(e),n,d,b.startOfWeek));else for(b=n+(c[0]-n)%e;b&lt;=d&amp;&amp;b!==p[0];b+=e)p.push(b);0!==p.length&amp;&amp;a.trimTicks(p);return p},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,e,p,d,n,q,k,f,v;this.isXAxis&amp;&amp;\nvoid 0===this.minRange&amp;&amp;!this.isLog&amp;&amp;(r(a.min)||r(a.max)?this.minRange=null:(g(this.series,function(a){k=a.xData;for(n=f=a.xIncrement?1:k.length-1;0&lt;n;n--)if(q=k[n]-k[n-1],void 0===d||q&lt;d)d=q}),this.minRange=Math.min(5*d,this.dataMax-this.dataMin)));c-b&lt;this.minRange&amp;&amp;(p=this.dataMax-this.dataMin&gt;=this.minRange,v=this.minRange,e=(v-c+b)/2,e=[b-e,B(a.min,b-e)],p&amp;&amp;(e[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=F(e),c=[b+v,B(a.max,b+v)],p&amp;&amp;(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),\nc=E(c),c-b&lt;v&amp;&amp;(e[0]=c-v,e[1]=B(a.min,c-v),b=F(e)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:g(this.series,function(h){var b=h.closestPointRange,c=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&amp;&amp;r(b)&amp;&amp;c&amp;&amp;(a=r(a)?Math.min(a,b):b)});return a},nameToX:function(a){var h=n(this.categories),b=h?this.categories:this.names,c=a.options.x,e;a.series.requireSorting=!1;r(c)||(c=!1===this.options.uniqueNames?a.series.autoIncrement():y(a.name,b));-1===c?h||\n(e=b.length):e=c;void 0!==e&amp;&amp;(this.names[e]=a.name);return e},updateNames:function(){var a=this;0&lt;this.names.length&amp;&amp;(this.names.length=0,this.minRange=this.userMinRange,g(this.series||[],function(h){h.xIncrement=null;if(!h.points||h.isDirtyData)h.processData(),h.generatePoints();g(h.points,function(b,c){var e;b.options&amp;&amp;(e=a.nameToX(b),void 0!==e&amp;&amp;e!==b.x&amp;&amp;(b.x=e,h.xData[c]=e))})}))},setAxisTranslation:function(a){var h=this,b=h.max-h.min,c=h.axisPointRange||0,e,p=0,d=0,n=h.linkedParent,q=!!h.categories,\nk=h.transA,f=h.isXAxis;if(f||q||c)e=h.getClosest(),n?(p=n.minPointOffset,d=n.pointRangePadding):g(h.series,function(a){var b=q?1:f?B(a.options.pointRange,e,0):h.axisPointRange||0;a=a.options.pointPlacement;c=Math.max(c,b);h.single||(p=Math.max(p,J(a)?0:b/2),d=Math.max(d,\"on\"===a?0:b))}),n=h.ordinalSlope&amp;&amp;e?h.ordinalSlope/e:1,h.minPointOffset=p*=n,h.pointRangePadding=d*=n,h.pointRange=Math.min(c,b),f&amp;&amp;(h.closestPointRange=e);a&amp;&amp;(h.oldTransA=k);h.translationSlope=h.transA=k=h.options.staticScale||h.len/\n(b+d||1);h.transB=h.horiz?h.left:h.bottom;h.minPixelPadding=k*p},minFromRange:function(){return this.max-this.range},setTickInterval:function(h){var b=this,c=b.chart,p=b.options,d=b.isLog,n=b.log2lin,q=b.isDatetimeAxis,x=b.isXAxis,v=b.isLinked,z=p.maxPadding,y=p.minPadding,l=p.tickInterval,I=p.tickPixelInterval,m=b.categories,J=b.threshold,t=b.softThreshold,L,u,K,A;q||m||v||this.getTickAmount();K=B(b.userMin,p.min);A=B(b.userMax,p.max);v?(b.linkedParent=c[b.coll][p.linkedTo],c=b.linkedParent.getExtremes(),\nb.min=B(c.min,c.dataMin),b.max=B(c.max,c.dataMax),p.type!==b.linkedParent.options.type&amp;&amp;a.error(11,1)):(!t&amp;&amp;r(J)&amp;&amp;(b.dataMin&gt;=J?(L=J,y=0):b.dataMax&lt;=J&amp;&amp;(u=J,z=0)),b.min=B(K,L,b.dataMin),b.max=B(A,u,b.dataMax));d&amp;&amp;(b.positiveValuesOnly&amp;&amp;!h&amp;&amp;0&gt;=Math.min(b.min,B(b.dataMin,b.min))&amp;&amp;a.error(10,1),b.min=f(n(b.min),15),b.max=f(n(b.max),15));b.range&amp;&amp;r(b.max)&amp;&amp;(b.userMin=b.min=K=Math.max(b.dataMin,b.minFromRange()),b.userMax=A=b.max,b.range=null);k(b,\"foundExtremes\");b.beforePadding&amp;&amp;b.beforePadding();b.adjustForMinRange();\n!(m||b.axisPointRange||b.usePercentage||v)&amp;&amp;r(b.min)&amp;&amp;r(b.max)&amp;&amp;(n=b.max-b.min)&amp;&amp;(!r(K)&amp;&amp;y&amp;&amp;(b.min-=n*y),!r(A)&amp;&amp;z&amp;&amp;(b.max+=n*z));D(p.softMin)&amp;&amp;(b.min=Math.min(b.min,p.softMin));D(p.softMax)&amp;&amp;(b.max=Math.max(b.max,p.softMax));D(p.floor)&amp;&amp;(b.min=Math.max(b.min,p.floor));D(p.ceiling)&amp;&amp;(b.max=Math.min(b.max,p.ceiling));t&amp;&amp;r(b.dataMin)&amp;&amp;(J=J||0,!r(K)&amp;&amp;b.min&lt;J&amp;&amp;b.dataMin&gt;=J?b.min=J:!r(A)&amp;&amp;b.max&gt;J&amp;&amp;b.dataMax&lt;=J&amp;&amp;(b.max=J));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:v&amp;&amp;!l&amp;&amp;I===b.linkedParent.options.tickPixelInterval?\nl=b.linkedParent.tickInterval:B(l,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,m?1:(b.max-b.min)*I/Math.max(b.len,I));x&amp;&amp;!h&amp;&amp;g(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&amp;&amp;b.beforeSetTickPositions();b.postProcessTickInterval&amp;&amp;(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&amp;&amp;!l&amp;&amp;(b.tickInterval=Math.max(b.pointRange,b.tickInterval));h=B(p.minTickInterval,b.isDatetimeAxis&amp;&amp;b.closestPointRange);\n!l&amp;&amp;b.tickInterval&lt;h&amp;&amp;(b.tickInterval=h);q||d||l||(b.tickInterval=G(b.tickInterval,null,e(b.tickInterval),B(p.allowDecimals,!(.5&lt;b.tickInterval&amp;&amp;5&gt;b.tickInterval&amp;&amp;1E3&lt;b.max&amp;&amp;9999&gt;b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,e=a.tickPositioner,p=a.startOnTick,d=a.endOnTick;this.tickmarkOffset=this.categories&amp;&amp;\"between\"===a.tickmarkPlacement&amp;&amp;1===this.tickInterval?.5:0;this.minorTickInterval=\n\"auto\"===a.minorTickInterval&amp;&amp;this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&amp;&amp;r(this.min)&amp;&amp;!this.tickAmount&amp;&amp;(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&amp;&amp;c.slice();!b&amp;&amp;(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,\nthis.min,this.max),b.length&gt;this.len&amp;&amp;(b=[b[0],b.pop()]),this.tickPositions=b,e&amp;&amp;(e=e.apply(this,[this.min,this.max])))&amp;&amp;(this.tickPositions=b=e);this.paddedTicks=b.slice(0);this.trimTicks(b,p,d);this.isLinked||(this.single&amp;&amp;2&gt;b.length&amp;&amp;(this.min-=.5,this.max+=.5),c||e||this.adjustTickAmount())},trimTicks:function(a,b,c){var h=a[0],e=a[a.length-1],p=this.minPointOffset||0;if(!this.isLinked){if(b&amp;&amp;-Infinity!==h)this.min=h;else for(;this.min-p&gt;a[0];)a.shift();if(c)this.max=e;else for(;this.max+p&lt;a[a.length-\n1];)a.pop();0===a.length&amp;&amp;r(h)&amp;&amp;a.push((e+h)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||this.isLog||g(this.chart[this.coll],function(h){var c=h.options,c=[h.horiz?c.left:c.top,c.width,c.height,c.pane].join();h.series.length&amp;&amp;(a[c]?b=!0:a[c]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!r(a.tickInterval)&amp;&amp;this.len&lt;c&amp;&amp;!this.isRadial&amp;&amp;!this.isLog&amp;&amp;a.startOnTick&amp;&amp;a.endOnTick&amp;&amp;(b=\n2);!b&amp;&amp;this.alignToOthers()&amp;&amp;(b=Math.ceil(this.len/c)+1);4&gt;b&amp;&amp;(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,e=this.finalTickAmt,p=b&amp;&amp;b.length;if(p&lt;c){for(;b.length&lt;c;)b.push(f(b[b.length-1]+a));this.transA*=(p-1)/(c-1);this.max=b[b.length-1]}else p&gt;c&amp;&amp;(this.tickInterval*=2,this.setTickPositions());if(r(e)){for(a=c=b.length;a--;)(3===e&amp;&amp;1===a%2||2&gt;=e&amp;&amp;0&lt;a&amp;&amp;a&lt;c-1)&amp;&amp;b.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,\nb;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;g(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&amp;&amp;this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||\n(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&amp;&amp;this.cleanStacks()},setExtremes:function(a,b,c,e,p){var h=this,n=h.chart;c=B(c,!0);g(h.series,function(a){delete a.kdTree});p=d(p,{min:a,max:b});k(h,\"setExtremes\",p,function(){h.userMin=a;h.userMax=b;h.eventArgs=p;c&amp;&amp;n.redraw(e)})},zoom:function(a,b){var h=this.dataMin,c=this.dataMax,e=this.options,p=Math.min(h,B(e.min,h)),e=Math.max(c,B(e.max,c));if(a!==this.min||b!==this.max)this.allowZoomOutside||(r(h)&amp;&amp;(a&lt;p&amp;&amp;(a=\np),a&gt;e&amp;&amp;(a=e)),r(c)&amp;&amp;(b&lt;p&amp;&amp;(b=p),b&gt;e&amp;&amp;(b=e))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:\"zoom\"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,e=c.offsets||[0,0,0,0],p=this.horiz,d=this.width=Math.round(a.relativeLength(B(c.width,b.plotWidth-e[3]+e[1]),b.plotWidth)),n=this.height=Math.round(a.relativeLength(B(c.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),q=this.top=Math.round(a.relativeLength(B(c.top,b.plotTop+e[0]),b.plotHeight,b.plotTop)),\nc=this.left=Math.round(a.relativeLength(B(c.left,b.plotLeft+e[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-n-q;this.right=b.chartWidth-d-c;this.len=Math.max(p?d:n,0);this.pos=p?c:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?f(b(this.min)):this.min,max:a?f(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,h=this.lin2log,c=b?h(this.min):this.min,b=b?h(this.max):this.max;\nnull===a?a=c:c&gt;a?a=c:b&lt;a&amp;&amp;(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(B(a,0)-90*this.side+720)%360;return 15&lt;a&amp;&amp;165&gt;a?\"right\":195&lt;a&amp;&amp;345&gt;a?\"left\":\"center\"},tickSize:function(a){var b=this.options,h=b[a+\"Length\"],c=B(b[a+\"Width\"],\"tick\"===a&amp;&amp;this.isXAxis?1:0);if(c&amp;&amp;h)return\"inside\"===b[a+\"Position\"]&amp;&amp;(h=-h),[h,c]},labelMetrics:function(){var a=this.tickPositions&amp;&amp;this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&amp;&amp;this.options.labels.style.fontSize,\nthis.ticks[a]&amp;&amp;this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,e=c,p=this.len/(((this.categories?1:0)+this.max-this.min)/c),d,n=a.rotation,q=this.labelMetrics(),k,f=Number.MAX_VALUE,v,z=function(a){a/=p||1;a=1&lt;a?Math.ceil(a):1;return a*c};b?(v=!a.staggerLines&amp;&amp;!a.step&amp;&amp;(r(n)?[n]:p&lt;B(a.autoRotationLimit,80)&amp;&amp;a.autoRotation))&amp;&amp;g(v,function(a){var b;if(a===n||a&amp;&amp;-90&lt;=a&amp;&amp;90&gt;=a)k=z(Math.abs(q.h/Math.sin(u*a))),b=k+Math.abs(a/360),b&lt;f&amp;&amp;(f=b,d=a,e=k)}):\na.step||(e=z(q.h));this.autoRotation=v;this.labelRotation=B(d,n);return e},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),p=a.margin[3];return b&amp;&amp;2&gt;(c.step||0)&amp;&amp;!c.rotation&amp;&amp;(this.staggerLines||1)*this.len/e||!b&amp;&amp;(p&amp;&amp;p-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,e=this.tickPositions,p=this.ticks,d=this.options.labels,n=this.horiz,q=this.getSlotWidth(),k=Math.max(1,\nMath.round(q-2*(d.padding||5))),f={},v=this.labelMetrics(),z=d.style&amp;&amp;d.style.textOverflow,D,y=0,l,I;J(d.rotation)||(f.rotation=d.rotation||0);g(e,function(a){(a=p[a])&amp;&amp;a.labelLength&gt;y&amp;&amp;(y=a.labelLength)});this.maxLabelLength=y;if(this.autoRotation)y&gt;k&amp;&amp;y&gt;v.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(q&amp;&amp;(D={width:k+\"px\"},!z))for(D.textOverflow=\"clip\",l=e.length;!n&amp;&amp;l--;)if(I=e[l],k=p[I].label)k.styles&amp;&amp;\"ellipsis\"===k.styles.textOverflow?k.css({textOverflow:\"clip\"}):p[I].labelLength&gt;\nq&amp;&amp;k.css({width:q+\"px\"}),k.getBBox().height&gt;this.len/e.length-(v.h-v.f)&amp;&amp;(k.specCss={textOverflow:\"ellipsis\"});f.rotation&amp;&amp;(D={width:(y&gt;.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+\"px\"},z||(D.textOverflow=\"ellipsis\"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;g(e,function(a){var b=(a=p[a])&amp;&amp;a.label;b&amp;&amp;(b.attr(f),D&amp;&amp;b.css(c(D,b.specCss)),delete b.specCss,a.rotation=f.rotation)});this.tickRotCorr=b.rotCorr(v.b,this.labelRotation||0,0!==this.side)},\nhasData:function(){return this.hasVisibleSeries||r(this.min)&amp;&amp;r(this.max)&amp;&amp;!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,h=this.opposite,e=this.options.title,p;this.axisTitle||((p=e.textAlign)||(p=(c?{low:\"left\",middle:\"center\",high:\"right\"}:{low:h?\"right\":\"left\",middle:\"center\",high:h?\"left\":\"right\"})[e.align]),this.axisTitle=b.text(e.text,0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation||0,align:p}).addClass(\"highcharts-axis-title\").css(e.style).add(this.axisGroup),\nthis.axisTitle.isNew=!0);e.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?\"show\":\"hide\"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new I(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,p=a.tickPositions,d=a.ticks,n=a.horiz,k=a.side,f=b.inverted&amp;&amp;!a.isZAxis?[1,0,3,2][k]:k,v,z,D=0,y,l=0,I=e.title,m=e.labels,G=0,J=b.axisOffset,b=b.clipOffset,t=[-1,1,1,-1][k],L=e.className,u=a.axisParent,K=this.tickSize(\"tick\");\nv=a.hasData();a.showAxis=z=v||B(e.showEmpty,!0);a.staggerLines=a.horiz&amp;&amp;m.staggerLines;a.axisGroup||(a.gridGroup=c.g(\"grid\").attr({zIndex:e.gridZIndex||1}).addClass(\"highcharts-\"+this.coll.toLowerCase()+\"-grid \"+(L||\"\")).add(u),a.axisGroup=c.g(\"axis\").attr({zIndex:e.zIndex||2}).addClass(\"highcharts-\"+this.coll.toLowerCase()+\" \"+(L||\"\")).add(u),a.labelGroup=c.g(\"axis-labels\").attr({zIndex:m.zIndex||7}).addClass(\"highcharts-\"+a.coll.toLowerCase()+\"-labels \"+(L||\"\")).add(u));v||a.isLinked?(g(p,function(b,\nc){a.generateTick(b,c)}),a.renderUnsquish(),!1===m.reserveSpace||0!==k&amp;&amp;2!==k&amp;&amp;{1:\"left\",3:\"right\"}[k]!==a.labelAlign&amp;&amp;\"center\"!==a.labelAlign||g(p,function(a){G=Math.max(d[a].getLabelSize(),G)}),a.staggerLines&amp;&amp;(G*=a.staggerLines,a.labelOffset=G*(a.opposite?-1:1))):q(d,function(a,b){a.destroy();delete d[b]});I&amp;&amp;I.text&amp;&amp;!1!==I.enabled&amp;&amp;(a.addTitle(z),z&amp;&amp;!1!==I.reserveSpace&amp;&amp;(a.titleOffset=D=a.axisTitle.getBBox()[n?\"height\":\"width\"],y=I.offset,l=r(y)?0:B(I.margin,n?5:10)));a.renderLine();a.offset=\nt*B(e.offset,J[k]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===k?-a.labelMetrics().h:2===k?a.tickRotCorr.y:0;l=Math.abs(G)+l;G&amp;&amp;(l=l-c+t*(n?B(m.y,a.tickRotCorr.y+8*t):m.x));a.axisTitleMargin=B(y,l);J[k]=Math.max(J[k],a.axisTitleMargin+D+t*a.offset,l,v&amp;&amp;p.length&amp;&amp;K?K[0]+t*a.offset:0);p=2*Math.floor(a.axisLine.strokeWidth()/2);0&lt;e.offset&amp;&amp;(p-=2*e.offset);b[f]=Math.max(b[f]||p,p)},getLinePath:function(a){var b=this.chart,c=this.opposite,h=this.offset,e=this.horiz,p=this.left+(c?this.width:0)+h,h=b.chartHeight-\nthis.bottom-(c?this.height:0)+h;c&amp;&amp;(a*=-1);return b.renderer.crispLine([\"M\",e?this.left:p,e?h:this.top,\"L\",e?b.chartWidth-this.right:p,e?h:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,\"stroke-width\":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,p=this.options.title,\nd=a?b:c,n=this.opposite,q=this.offset,k=p.x||0,g=p.y||0,f=this.axisTitle,v=this.chart.renderer.fontMetrics(p.style&amp;&amp;p.style.fontSize,f),f=Math.max(f.getBBox(null,0).height-v.h-1,0),e={low:d+(a?0:e),middle:d+e/2,high:d+(a?e:0)}[p.align],b=(a?c+this.height:b)+(a?1:-1)*(n?-1:1)*this.axisTitleMargin+[-f,f,v.f,-f][this.side];return{x:a?e+k:b+(n?this.width:0)+q+k,y:a?b+g-(n?this.height:0)+q:e+g}},renderMinorTick:function(a){var b=this.chart.hasRendered&amp;&amp;D(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new I(this,\na,\"minor\"));b&amp;&amp;c[a].isNew&amp;&amp;c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,e=this.ticks,h=this.chart.hasRendered&amp;&amp;D(this.oldMin);if(!c||a&gt;=this.min&amp;&amp;a&lt;=this.max)e[a]||(e[a]=new I(this,a)),h&amp;&amp;e[a].isNew&amp;&amp;e[a].render(b,!0,.1),e[a].render(b)},render:function(){var b=this,c=b.chart,e=b.options,p=b.isLog,d=b.lin2log,n=b.isLinked,k=b.tickPositions,f=b.axisTitle,v=b.ticks,y=b.minorTicks,l=b.alternateBands,m=e.stackLabels,r=e.alternateGridColor,B=b.tickmarkOffset,\nG=b.axisLine,J=b.showAxis,t=A(c.renderer.globalAnimation),L,u;b.labelEdge.length=0;b.overlap=!1;g([v,y,l],function(a){q(a,function(a){a.isActive=!1})});if(b.hasData()||n)b.minorTickInterval&amp;&amp;!b.categories&amp;&amp;g(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),k.length&amp;&amp;(g(k,function(a,c){b.renderTick(a,c)}),B&amp;&amp;(0===b.min||b.single)&amp;&amp;(v[-1]||(v[-1]=new I(b,-1,null,!0)),v[-1].render(-1))),r&amp;&amp;g(k,function(e,h){u=void 0!==k[h+1]?k[h+1]+B:b.max-B;0===h%2&amp;&amp;e&lt;b.max&amp;&amp;u&lt;=b.max+(c.polar?-B:B)&amp;&amp;(l[e]||\n(l[e]=new a.PlotLineOrBand(b)),L=e+B,l[e].options={from:p?d(L):L,to:p?d(u):u,color:r},l[e].render(),l[e].isActive=!0)}),b._addedPlotLB||(g((e.plotLines||[]).concat(e.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);g([v,y,l],function(a){var b,e=[],h=t.duration;q(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,e.push(b))});z(function(){for(b=e.length;b--;)a[e[b]]&amp;&amp;!a[e[b]].isActive&amp;&amp;(a[e[b]].destroy(),delete a[e[b]])},a!==l&amp;&amp;c.hasRendered&amp;&amp;h?h:0)});G&amp;&amp;(G[G.isPlaced?\n\"animate\":\"attr\"]({d:this.getLinePath(G.strokeWidth())}),G.isPlaced=!0,G[J?\"show\":\"hide\"](!0));f&amp;&amp;J&amp;&amp;(e=b.getTitlePosition(),D(e.y)?(f[f.isNew?\"attr\":\"animate\"](e),f.isNew=!1):(f.attr(\"y\",-9999),f.isNew=!0));m&amp;&amp;m.enabled&amp;&amp;b.renderStackTotals();b.isDirty=!1},redraw:function(){this.visible&amp;&amp;(this.render(),g(this.plotLinesAndBands,function(a){a.render()}));g(this.series,function(a){a.isDirty=!0})},keepProps:\"extKey hcEvents names series userMax userMin\".split(\" \"),destroy:function(a){var b=this,c=b.stacks,\ne=b.plotLinesAndBands,h;a||K(b);q(c,function(a,b){t(a);c[b]=null});g([b.ticks,b.minorTicks,b.alternateBands],function(a){t(a)});if(e)for(a=e.length;a--;)e[a].destroy();g(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),function(a){b[a]&amp;&amp;(b[a]=b[a].destroy())});for(h in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[h]=b.plotLinesAndBandsGroups[h].destroy();q(b,function(a,c){-1===y(c,b.keepProps)&amp;&amp;delete b[c]})},drawCrosshair:function(a,b){var c,e=this.crosshair,\nh=B(e.snap,!0),p,d=this.cross;a||(a=this.cross&amp;&amp;this.cross.e);this.crosshair&amp;&amp;!1!==(r(b)||!h)?(h?r(b)&amp;&amp;(p=this.isXAxis?b.plotX:this.len-b.plotY):p=a&amp;&amp;(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),r(p)&amp;&amp;(c=this.getPlotLinePath(b&amp;&amp;(this.isXAxis?b.x:B(b.stackY,b.y)),null,null,null,p)||null),r(c)?(b=this.categories&amp;&amp;!this.isRadial,d||(this.cross=d=this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\"+(b?\"category \":\"thin \")+e.className).attr({zIndex:B(e.zIndex,2)}).add(),\nd.attr({stroke:e.color||(b?m(\"#ccd6eb\").setOpacity(.25).get():\"#cccccc\"),\"stroke-width\":B(e.width,1)}),e.dashStyle&amp;&amp;d.attr({dashstyle:e.dashStyle})),d.show().attr({d:c}),b&amp;&amp;!e.width&amp;&amp;d.attr({\"stroke-width\":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&amp;&amp;this.cross.hide()}});return a.Axis=L}(M);(function(a){var C=a.Axis,A=a.Date,F=a.dateFormat,E=a.defaultOptions,m=a.defined,f=a.each,l=a.extend,r=a.getMagnitude,u=a.getTZOffset,t=a.normalizeTickInterval,\ng=a.pick,d=a.timeUnits;C.prototype.getTimeTicks=function(a,b,e,v){var k=[],n={},D=E.global.useUTC,r,c=new A(b-Math.max(u(b),u(e))),G=A.hcMakeTime,q=a.unitRange,B=a.count,t,p;if(m(b)){c[A.hcSetMilliseconds](q&gt;=d.second?0:B*Math.floor(c.getMilliseconds()/B));if(q&gt;=d.second)c[A.hcSetSeconds](q&gt;=d.minute?0:B*Math.floor(c.getSeconds()/B));if(q&gt;=d.minute)c[A.hcSetMinutes](q&gt;=d.hour?0:B*Math.floor(c[A.hcGetMinutes]()/B));if(q&gt;=d.hour)c[A.hcSetHours](q&gt;=d.day?0:B*Math.floor(c[A.hcGetHours]()/B));if(q&gt;=d.day)c[A.hcSetDate](q&gt;=\nd.month?1:B*Math.floor(c[A.hcGetDate]()/B));q&gt;=d.month&amp;&amp;(c[A.hcSetMonth](q&gt;=d.year?0:B*Math.floor(c[A.hcGetMonth]()/B)),r=c[A.hcGetFullYear]());if(q&gt;=d.year)c[A.hcSetFullYear](r-r%B);if(q===d.week)c[A.hcSetDate](c[A.hcGetDate]()-c[A.hcGetDay]()+g(v,1));r=c[A.hcGetFullYear]();v=c[A.hcGetMonth]();var z=c[A.hcGetDate](),I=c[A.hcGetHours]();if(A.hcTimezoneOffset||A.hcGetTimezoneOffset)p=(!D||!!A.hcGetTimezoneOffset)&amp;&amp;(e-b&gt;4*d.month||u(b)!==u(e)),c=c.getTime(),t=u(c),c=new A(c+t);D=c.getTime();for(b=1;D&lt;\ne;)k.push(D),D=q===d.year?G(r+b*B,0):q===d.month?G(r,v+b*B):!p||q!==d.day&amp;&amp;q!==d.week?p&amp;&amp;q===d.hour?G(r,v,z,I+b*B,0,0,t)-t:D+q*B:G(r,v,z+b*B*(q===d.day?1:7)),b++;k.push(D);q&lt;=d.hour&amp;&amp;1E4&gt;k.length&amp;&amp;f(k,function(a){0===a%18E5&amp;&amp;\"000000000\"===F(\"%H%M%S%L\",a)&amp;&amp;(n[a]=\"day\")})}k.info=l(a,{higherRanks:n,totalRange:q*B});return k};C.prototype.normalizeTimeTickInterval=function(a,b){var e=b||[[\"millisecond\",[1,2,5,10,20,25,50,100,200,500]],[\"second\",[1,2,5,10,15,30]],[\"minute\",[1,2,5,10,15,30]],[\"hour\",[1,\n2,3,4,6,8,12]],[\"day\",[1,2]],[\"week\",[1,2]],[\"month\",[1,2,3,4,6]],[\"year\",null]];b=e[e.length-1];var k=d[b[0]],g=b[1],n;for(n=0;n&lt;e.length&amp;&amp;!(b=e[n],k=d[b[0]],g=b[1],e[n+1]&amp;&amp;a&lt;=(k*g[g.length-1]+d[e[n+1][0]])/2);n++);k===d.year&amp;&amp;a&lt;5*k&amp;&amp;(g=[1,2,5]);a=t(a/k,g,\"year\"===b[0]?Math.max(r(a/k),1):1);return{unitRange:k,count:a,unitName:b[0]}}})(M);(function(a){var C=a.Axis,A=a.getMagnitude,F=a.map,E=a.normalizeTickInterval,m=a.pick;C.prototype.getLogTickPositions=function(a,l,r,u){var f=this.options,g=this.len,\nd=this.lin2log,k=this.log2lin,b=[];u||(this._minorAutoInterval=null);if(.5&lt;=a)a=Math.round(a),b=this.getLinearTickPositions(a,l,r);else if(.08&lt;=a)for(var g=Math.floor(l),e,v,y,n,D,f=.3&lt;a?[1,2,4]:.15&lt;a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];g&lt;r+1&amp;&amp;!D;g++)for(v=f.length,e=0;e&lt;v&amp;&amp;!D;e++)y=k(d(g)*f[e]),y&gt;l&amp;&amp;(!u||n&lt;=r)&amp;&amp;void 0!==n&amp;&amp;b.push(n),n&gt;r&amp;&amp;(D=!0),n=y;else l=d(l),r=d(r),a=f[u?\"minorTickInterval\":\"tickInterval\"],a=m(\"auto\"===a?null:a,this._minorAutoInterval,f.tickPixelInterval/(u?5:1)*(r-l)/((u?g/this.tickPositions.length:\ng)||1)),a=E(a,null,A(a)),b=F(this.getLinearTickPositions(a,l,r),k),u||(this._minorAutoInterval=a/5);u||(this.tickInterval=a);return b};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}})(M);(function(a,C){var A=a.arrayMax,F=a.arrayMin,E=a.defined,m=a.destroyObjectProperties,f=a.each,l=a.erase,r=a.merge,u=a.pick;a.PlotLineOrBand=function(a,g){this.axis=a;g&amp;&amp;(this.options=g,this.id=g.id)};a.PlotLineOrBand.prototype={render:function(){var f=\nthis,g=f.axis,d=g.horiz,k=f.options,b=k.label,e=f.label,v=k.to,l=k.from,n=k.value,D=E(l)&amp;&amp;E(v),m=E(n),c=f.svgElem,G=!c,q=[],B=k.color,K=u(k.zIndex,0),p=k.events,q={\"class\":\"highcharts-plot-\"+(D?\"band \":\"line \")+(k.className||\"\")},z={},I=g.chart.renderer,L=D?\"bands\":\"lines\",h=g.log2lin;g.isLog&amp;&amp;(l=h(l),v=h(v),n=h(n));m?(q={stroke:B,\"stroke-width\":k.width},k.dashStyle&amp;&amp;(q.dashstyle=k.dashStyle)):D&amp;&amp;(B&amp;&amp;(q.fill=B),k.borderWidth&amp;&amp;(q.stroke=k.borderColor,q[\"stroke-width\"]=k.borderWidth));z.zIndex=K;L+=\n\"-\"+K;(B=g.plotLinesAndBandsGroups[L])||(g.plotLinesAndBandsGroups[L]=B=I.g(\"plot-\"+L).attr(z).add());G&amp;&amp;(f.svgElem=c=I.path().attr(q).add(B));if(m)q=g.getPlotLinePath(n,c.strokeWidth());else if(D)q=g.getPlotBandPath(l,v,k);else return;G&amp;&amp;q&amp;&amp;q.length?(c.attr({d:q}),p&amp;&amp;a.objectEach(p,function(a,b){c.on(b,function(a){p[b].apply(f,[a])})})):c&amp;&amp;(q?(c.show(),c.animate({d:q})):(c.hide(),e&amp;&amp;(f.label=e=e.destroy())));b&amp;&amp;E(b.text)&amp;&amp;q&amp;&amp;q.length&amp;&amp;0&lt;g.width&amp;&amp;0&lt;g.height&amp;&amp;!q.flat?(b=r({align:d&amp;&amp;D&amp;&amp;\"center\",x:d?\n!D&amp;&amp;4:10,verticalAlign:!d&amp;&amp;D&amp;&amp;\"middle\",y:d?D?16:10:D?6:-4,rotation:d&amp;&amp;!D&amp;&amp;90},b),this.renderLabel(b,q,D,K)):e&amp;&amp;e.hide();return f},renderLabel:function(a,g,d,k){var b=this.label,e=this.axis.chart.renderer;b||(b={align:a.textAlign||a.align,rotation:a.rotation,\"class\":\"highcharts-plot-\"+(d?\"band\":\"line\")+\"-label \"+(a.className||\"\")},b.zIndex=k,this.label=b=e.text(a.text,0,0,a.useHTML).attr(b).add(),b.css(a.style));k=[g[1],g[4],d?g[6]:g[1]];g=[g[2],g[5],d?g[7]:g[2]];d=F(k);e=F(g);b.align(a,!1,{x:d,y:e,\nwidth:A(k)-d,height:A(g)-e});b.show()},destroy:function(){l(this.axis.plotLinesAndBands,this);delete this.axis;m(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,g){var d=this.getPlotLinePath(g,null,null,!0),k=this.getPlotLinePath(a,null,null,!0),b=this.horiz,e=1;a=a&lt;this.min&amp;&amp;g&lt;this.min||a&gt;this.max&amp;&amp;g&gt;this.max;k&amp;&amp;d?(a&amp;&amp;(k.flat=k.toString()===d.toString(),e=0),k.push(b&amp;&amp;d[4]===k[4]?d[4]+e:d[4],b||d[5]!==k[5]?d[5]:d[5]+e,b&amp;&amp;d[1]===k[1]?d[1]+e:d[1],b||d[2]!==k[2]?d[2]:d[2]+e)):k=null;return k},\naddPlotBand:function(a){return this.addPlotBandOrLine(a,\"plotBands\")},addPlotLine:function(a){return this.addPlotBandOrLine(a,\"plotLines\")},addPlotBandOrLine:function(f,g){var d=(new a.PlotLineOrBand(this,f)).render(),k=this.userOptions;d&amp;&amp;(g&amp;&amp;(k[g]=k[g]||[],k[g].push(f)),this.plotLinesAndBands.push(d));return d},removePlotBandOrLine:function(a){for(var g=this.plotLinesAndBands,d=this.options,k=this.userOptions,b=g.length;b--;)g[b].id===a&amp;&amp;g[b].destroy();f([d.plotLines||[],k.plotLines||[],d.plotBands||\n[],k.plotBands||[]],function(e){for(b=e.length;b--;)e[b].id===a&amp;&amp;l(e,e[b])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(M,S);(function(a){var C=a.dateFormat,A=a.each,F=a.extend,E=a.format,m=a.isNumber,f=a.map,l=a.merge,r=a.pick,u=a.splat,t=a.syncTimeout,g=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,k){this.chart=a;this.options=k;this.crosshairs=[];this.now={x:0,y:0};\nthis.isHidden=!0;this.split=k.split&amp;&amp;!a.inverted;this.shared=k.shared||this.split},cleanSplit:function(a){A(this.chart.series,function(d){var b=d&amp;&amp;d.tt;b&amp;&amp;(!b.isActive||a?d.tt=b.destroy():b.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,k=this.options;this.label||(this.split?this.label=a.g(\"tooltip\"):(this.label=a.label(\"\",0,0,k.shape||\"callout\",null,null,k.useHTML,null,\"tooltip\").attr({padding:k.padding,r:k.borderRadius}),this.label.attr({fill:k.backgroundColor,\"stroke-width\":k.borderWidth}).css(k.style).shadow(k.shadow)),\nthis.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();l(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,l(!0,this.options,a))},destroy:function(){this.label&amp;&amp;(this.label=this.label.destroy());this.split&amp;&amp;this.tt&amp;&amp;(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,k,b,e){var d=this,g=d.now,n=!1!==d.options.animation&amp;&amp;!d.isHidden&amp;&amp;(1&lt;Math.abs(a-g.x)||1&lt;Math.abs(k-\ng.y)),f=d.followPointer||1&lt;d.len;F(g,{x:n?(2*g.x+a)/3:a,y:n?(g.y+k)/2:k,anchorX:f?void 0:n?(2*g.anchorX+b)/3:b,anchorY:f?void 0:n?(g.anchorY+e)/2:e});d.getLabel().attr(g);n&amp;&amp;(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){d&amp;&amp;d.move(a,k,b,e)},32))},hide:function(a){var d=this;clearTimeout(this.hideTimer);a=r(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=t(function(){d.getLabel()[a?\"fadeOut\":\"hide\"]();d.isHidden=!0},a))},getAnchor:function(a,k){var b,e=this.chart,\nd=e.inverted,g=e.plotTop,n=e.plotLeft,l=0,m=0,c,r;a=u(a);b=a[0].tooltipPos;this.followPointer&amp;&amp;k&amp;&amp;(void 0===k.chartX&amp;&amp;(k=e.pointer.normalize(k)),b=[k.chartX-e.plotLeft,k.chartY-g]);b||(A(a,function(a){c=a.series.yAxis;r=a.series.xAxis;l+=a.plotX+(!d&amp;&amp;r?r.left-n:0);m+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!d&amp;&amp;c?c.top-g:0)}),l/=a.length,m/=a.length,b=[d?e.plotWidth-m:l,this.shared&amp;&amp;!d&amp;&amp;1&lt;a.length&amp;&amp;k?k.chartY-g:d?e.plotHeight-l:m]);return f(b,Math.round)},getPosition:function(a,g,b){var e=this.chart,\nd=this.distance,k={},n=b.h||0,f,l=[\"y\",e.chartHeight,g,b.plotY+e.plotTop,e.plotTop,e.plotTop+e.plotHeight],c=[\"x\",e.chartWidth,a,b.plotX+e.plotLeft,e.plotLeft,e.plotLeft+e.plotWidth],m=!this.followPointer&amp;&amp;r(b.ttBelow,!e.inverted===!!b.negative),q=function(a,b,c,e,p,q){var h=c&lt;e-d,g=e+d+c&lt;b,f=e-d-c;e+=d;if(m&amp;&amp;g)k[a]=e;else if(!m&amp;&amp;h)k[a]=f;else if(h)k[a]=Math.min(q-c,0&gt;f-n?f:f-n);else if(g)k[a]=Math.max(p,e+n+c&gt;b?e:e+n);else return!1},B=function(a,b,c,e){var h;e&lt;d||e&gt;b-d?h=!1:k[a]=e&lt;c/2?1:e&gt;b-c/2?\nb-c-2:e-c/2;return h},t=function(a){var b=l;l=c;c=b;f=a},p=function(){!1!==q.apply(0,l)?!1!==B.apply(0,c)||f||(t(!0),p()):f?k.x=k.y=0:(t(!0),p())};(e.inverted||1&lt;this.len)&amp;&amp;t();p();return k},defaultFormatter:function(a){var d=this.points||u(this),b;b=[a.tooltipFooterHeaderFormatter(d[0])];b=b.concat(a.bodyFormatter(d));b.push(a.tooltipFooterHeaderFormatter(d[0],!0));return b},refresh:function(a,g){var b,e=this.options,d,k=a,n,f={},l=[];b=e.formatter||this.defaultFormatter;var f=this.shared,c;e.enabled&amp;&amp;\n(clearTimeout(this.hideTimer),this.followPointer=u(k)[0].series.tooltipOptions.followPointer,n=this.getAnchor(k,g),g=n[0],d=n[1],!f||k.series&amp;&amp;k.series.noSharedTooltip?f=k.getLabelConfig():(A(k,function(a){a.setState(\"hover\");l.push(a.getLabelConfig())}),f={x:k[0].category,y:k[0].y},f.points=l,k=k[0]),this.len=l.length,f=b.call(f,this),c=k.series,this.distance=r(c.tooltipOptions.distance,16),!1===f?this.hide():(b=this.getLabel(),this.isHidden&amp;&amp;b.attr({opacity:1}).show(),this.split?this.renderSplit(f,\na):(e.style.width||b.css({width:this.chart.spacingBox.width}),b.attr({text:f&amp;&amp;f.join?f.join(\"\"):f}),b.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\"+r(k.colorIndex,c.colorIndex)),b.attr({stroke:e.borderColor||k.color||c.color||\"#666666\"}),this.updatePosition({plotX:g,plotY:d,negative:k.negative,ttBelow:k.ttBelow,h:n[2]||0})),this.isHidden=!1))},renderSplit:function(d,k){var b=this,e=[],g=this.chart,f=g.renderer,n=!0,l=this.options,m=0,c=this.getLabel();A(d.slice(0,k.length+1),\nfunction(a,d){if(!1!==a){d=k[d-1]||{isHeader:!0,plotX:k[0].plotX};var q=d.series||b,v=q.tt,p=d.series||{},z=\"highcharts-color-\"+r(d.colorIndex,p.colorIndex,\"none\");v||(q.tt=v=f.label(null,null,null,\"callout\").addClass(\"highcharts-tooltip-box \"+z).attr({padding:l.padding,r:l.borderRadius,fill:l.backgroundColor,stroke:l.borderColor||d.color||p.color||\"#333333\",\"stroke-width\":l.borderWidth}).add(c));v.isActive=!0;v.attr({text:a});v.css(l.style).shadow(l.shadow);a=v.getBBox();p=a.width+v.strokeWidth();\nd.isHeader?(m=a.height,p=Math.max(0,Math.min(d.plotX+g.plotLeft-p/2,g.chartWidth-p))):p=d.plotX+g.plotLeft-r(l.distance,16)-p;0&gt;p&amp;&amp;(n=!1);a=(d.series&amp;&amp;d.series.yAxis&amp;&amp;d.series.yAxis.pos)+(d.plotY||0);a-=g.plotTop;e.push({target:d.isHeader?g.plotHeight+m:a,rank:d.isHeader?1:0,size:q.tt.getBBox().height+1,point:d,x:p,tt:v})}});this.cleanSplit();a.distribute(e,g.plotHeight+m);A(e,function(a){var b=a.point,c=b.series;a.tt.attr({visibility:void 0===a.pos?\"hidden\":\"inherit\",x:n||b.isHeader?a.x:b.plotX+\ng.plotLeft+r(l.distance,16),y:a.pos+g.plotTop,anchorX:b.isHeader?b.plotX+g.plotLeft:b.plotX+c.xAxis.pos,anchorY:b.isHeader?a.pos+g.plotTop-15:b.plotY+c.yAxis.pos})})},updatePosition:function(a){var d=this.chart,b=this.getLabel(),b=(this.options.positioner||this.getPosition).call(this,b.width,b.height,a);this.move(Math.round(b.x),Math.round(b.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,k,b,e){var d=C(\"%m-%d %H:%M:%S.%L\",k),f,n,l={millisecond:15,second:12,minute:9,hour:6,day:3},\nm=\"millisecond\";for(n in g){if(a===g.week&amp;&amp;+C(\"%w\",k)===b&amp;&amp;\"00:00:00.000\"===d.substr(6)){n=\"week\";break}if(g[n]&gt;a){n=m;break}if(l[n]&amp;&amp;d.substr(l[n])!==\"01-01 00:00:00.000\".substr(l[n]))break;\"week\"!==n&amp;&amp;(m=n)}n&amp;&amp;(f=e[n]);return f},getXDateFormat:function(a,g,b){g=g.dateTimeLabelFormats;var e=b&amp;&amp;b.closestPointRange;return(e?this.getDateFormat(e,a.x,b.options.startOfWeek,g):g.day)||g.year},tooltipFooterHeaderFormatter:function(a,g){var b=g?\"footer\":\"header\";g=a.series;var e=g.tooltipOptions,d=e.xDateFormat,\nk=g.xAxis,n=k&amp;&amp;\"datetime\"===k.options.type&amp;&amp;m(a.key),b=e[b+\"Format\"];n&amp;&amp;!d&amp;&amp;(d=this.getXDateFormat(a,e,k));n&amp;&amp;d&amp;&amp;(b=b.replace(\"{point.key}\",\"{point.key:\"+d+\"}\"));return E(b,{point:a,series:g})},bodyFormatter:function(a){return f(a,function(a){var b=a.series.tooltipOptions;return(b.pointFormatter||a.point.tooltipFormatter).call(a.point,b.pointFormat)})}}})(M);(function(a){var C=a.addEvent,A=a.attr,F=a.charts,E=a.color,m=a.css,f=a.defined,l=a.each,r=a.extend,u=a.find,t=a.fireEvent,g=a.isObject,d=a.offset,\nk=a.pick,b=a.removeEvent,e=a.splat,v=a.Tooltip,y=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&amp;&amp;!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};v&amp;&amp;(a.tooltip=new v(a,b.tooltip),this.followTouchMove=k(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,e=b.options.chart,c=e.zoomType||\"\",b=b.inverted;/touch/.test(a.type)&amp;&amp;(c=k(e.pinchType,c));\nthis.zoomX=a=/x/.test(c);this.zoomY=c=/y/.test(c);this.zoomHor=a&amp;&amp;!b||c&amp;&amp;b;this.zoomVert=c&amp;&amp;!b||a&amp;&amp;b;this.hasZoom=a||c},normalize:function(a,b){var e,c;a=a||y.event;a.target||(a.target=a.srcElement);c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=d(this.chart.container));void 0===c.pageX?(e=Math.max(a.x,a.clientX-b.left),b=a.y):(e=c.pageX-b.left,b=c.pageY-b.top);return r(a,{chartX:Math.round(e),chartY:Math.round(b)})},getCoordinates:function(a){var b=\n{xAxis:[],yAxis:[]};l(this.chart.axes,function(e){b[e.isXAxis?\"xAxis\":\"yAxis\"].push({axis:e,value:e.toValue(a[e.horiz?\"chartX\":\"chartY\"])})});return b},findNearestKDPoint:function(a,b,e){var c;l(a,function(a){var d=!(a.noSharedTooltip&amp;&amp;b)&amp;&amp;0&gt;a.options.findNearestPointBy.indexOf(\"y\");a=a.searchPoint(e,d);if((d=g(a,!0))&amp;&amp;!(d=!g(c,!0)))var d=c.distX-a.distX,n=c.dist-a.dist,k=(a.series.group&amp;&amp;a.series.group.zIndex)-(c.series.group&amp;&amp;c.series.group.zIndex),d=0&lt;(0!==d&amp;&amp;b?d:0!==n?n:0!==k?k:c.series.index&gt;\na.series.index?-1:1);d&amp;&amp;(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&amp;&amp;!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var e=a.series,c=e.xAxis,e=e.yAxis;if(c&amp;&amp;e)return b?{chartX:c.len+c.pos-a.clientX,chartY:e.len+e.pos-a.plotY}:{chartX:a.clientX+c.pos,chartY:a.plotY+e.pos}},getHoverData:function(b,e,d,c,f,q){var n,v=[];c=!(!c||!b);var p=e&amp;&amp;!e.stickyTracking?[e]:a.grep(d,function(a){return a.visible&amp;&amp;!(!f&amp;&amp;a.directTouch)&amp;&amp;k(a.options.enableMouseTracking,\n!0)&amp;&amp;a.stickyTracking});e=(n=c?b:this.findNearestKDPoint(p,f,q))&amp;&amp;n.series;n&amp;&amp;(f&amp;&amp;!e.noSharedTooltip?(p=a.grep(d,function(a){return a.visible&amp;&amp;!(!f&amp;&amp;a.directTouch)&amp;&amp;k(a.options.enableMouseTracking,!0)&amp;&amp;!a.noSharedTooltip}),l(p,function(a){a=u(a.points,function(a){return a.x===n.x});g(a)&amp;&amp;!a.isNull&amp;&amp;v.push(a)})):v.push(n));return{hoverPoint:n,hoverSeries:e,hoverPoints:v}},runPointActions:function(b,e){var d=this.chart,c=d.tooltip,g=c?c.shared:!1,n=e||d.hoverPoint,f=n&amp;&amp;n.series||d.hoverSeries,f=this.getHoverData(n,\nf,d.series,!!e||f&amp;&amp;f.directTouch&amp;&amp;this.isDirectTouch,g,b),v,n=f.hoverPoint;v=f.hoverPoints;e=(f=f.hoverSeries)&amp;&amp;f.tooltipOptions.followPointer;g=g&amp;&amp;f&amp;&amp;!f.noSharedTooltip;if(n&amp;&amp;(n!==d.hoverPoint||c&amp;&amp;c.isHidden)){l(d.hoverPoints||[],function(b){-1===a.inArray(b,v)&amp;&amp;b.setState()});l(v||[],function(a){a.setState(\"hover\")});if(d.hoverSeries!==f)f.onMouseOver();d.hoverPoint&amp;&amp;d.hoverPoint.firePointEvent(\"mouseOut\");n.firePointEvent(\"mouseOver\");d.hoverPoints=v;d.hoverPoint=n;c&amp;&amp;c.refresh(g?v:n,b)}else e&amp;&amp;\nc&amp;&amp;!c.isHidden&amp;&amp;(n=c.getAnchor([{}],b),c.updatePosition({plotX:n[0],plotY:n[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(d.container.ownerDocument,\"mousemove\",function(b){var c=F[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));l(d.axes,function(c){var e=k(c.crosshair.snap,!0),p=e?a.find(v,function(a){return a.series[c.coll]===c}):void 0;p||!e?c.drawCrosshair(b,p):c.hideCrosshair()})},reset:function(a,b){var d=this.chart,c=d.hoverSeries,g=d.hoverPoint,n=d.hoverPoints,f=d.tooltip,k=\nf&amp;&amp;f.shared?n:g;a&amp;&amp;k&amp;&amp;l(e(k),function(b){b.series.isCartesian&amp;&amp;void 0===b.plotX&amp;&amp;(a=!1)});if(a)f&amp;&amp;k&amp;&amp;(f.refresh(k),g&amp;&amp;(g.setState(g.state,!0),l(d.axes,function(a){a.crosshair&amp;&amp;a.drawCrosshair(null,g)})));else{if(g)g.onMouseOut();n&amp;&amp;l(n,function(a){a.setState()});if(c)c.onMouseOut();f&amp;&amp;f.hide(b);this.unDocMouseMove&amp;&amp;(this.unDocMouseMove=this.unDocMouseMove());l(d.axes,function(a){a.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}},scaleGroups:function(a,b){var e=this.chart,c;l(e.series,\nfunction(d){c=a||d.getPlotBox();d.xAxis&amp;&amp;d.xAxis.zoomEnabled&amp;&amp;d.group&amp;&amp;(d.group.attr(c),d.markerGroup&amp;&amp;(d.markerGroup.attr(c),d.markerGroup.clip(b?e.clipRect:null)),d.dataLabelsGroup&amp;&amp;d.dataLabelsGroup.attr(c))});e.clipRect.attr(b||e.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,e=b.options.chart,c=a.chartX,d=a.chartY,g=this.zoomHor,n=this.zoomVert,\nf=b.plotLeft,p=b.plotTop,k=b.plotWidth,v=b.plotHeight,l,h=this.selectionMarker,w=this.mouseDownX,m=this.mouseDownY,r=e.panKey&amp;&amp;a[e.panKey+\"Key\"];h&amp;&amp;h.touch||(c&lt;f?c=f:c&gt;f+k&amp;&amp;(c=f+k),d&lt;p?d=p:d&gt;p+v&amp;&amp;(d=p+v),this.hasDragged=Math.sqrt(Math.pow(w-c,2)+Math.pow(m-d,2)),10&lt;this.hasDragged&amp;&amp;(l=b.isInsidePlot(w-f,m-p),b.hasCartesianSeries&amp;&amp;(this.zoomX||this.zoomY)&amp;&amp;l&amp;&amp;!r&amp;&amp;!h&amp;&amp;(this.selectionMarker=h=b.renderer.rect(f,p,g?1:k,n?1:v,0).attr({fill:e.selectionMarkerFill||E(\"#335cad\").setOpacity(.25).get(),\"class\":\"highcharts-selection-marker\",\nzIndex:7}).add()),h&amp;&amp;g&amp;&amp;(c-=w,h.attr({width:Math.abs(c),x:(0&lt;c?0:c)+w})),h&amp;&amp;n&amp;&amp;(c=d-m,h.attr({height:Math.abs(c),y:(0&lt;c?0:c)+m})),l&amp;&amp;!h&amp;&amp;e.panning&amp;&amp;b.pan(a,e.panning)))},drop:function(a){var b=this,e=this.chart,c=this.hasPinched;if(this.selectionMarker){var d={originalEvent:a,xAxis:[],yAxis:[]},g=this.selectionMarker,n=g.attr?g.attr(\"x\"):g.x,k=g.attr?g.attr(\"y\"):g.y,p=g.attr?g.attr(\"width\"):g.width,v=g.attr?g.attr(\"height\"):g.height,I;if(this.hasDragged||c)l(e.axes,function(e){if(e.zoomEnabled&amp;&amp;f(e.min)&amp;&amp;\n(c||b[{xAxis:\"zoomX\",yAxis:\"zoomY\"}[e.coll]])){var h=e.horiz,g=\"touchend\"===a.type?e.minPixelPadding:0,q=e.toValue((h?n:k)+g),h=e.toValue((h?n+p:k+v)-g);d[e.coll].push({axis:e,min:Math.min(q,h),max:Math.max(q,h)});I=!0}}),I&amp;&amp;t(e,\"selection\",d,function(a){e.zoom(r(a,c?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();c&amp;&amp;this.scaleGroups()}e&amp;&amp;(m(e.container,{cursor:e._cursor}),e.cancelClick=10&lt;this.hasDragged,e.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=\n[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&amp;&amp;a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(b){F[a.hoverChartIndex]&amp;&amp;F[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,e=this.chartPosition;a=this.normalize(a,e);!e||this.inClass(a.target,\"highcharts-tracker\")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var e=F[a.hoverChartIndex];e&amp;&amp;(b.relatedTarget||\nb.toElement)&amp;&amp;(e.pointer.reset(),e.pointer.chartPosition=null)},onContainerMouseMove:function(b){var e=this.chart;f(a.hoverChartIndex)&amp;&amp;F[a.hoverChartIndex]&amp;&amp;F[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=e.index);b=this.normalize(b);b.returnValue=!1;\"mousedown\"===e.mouseIsDown&amp;&amp;this.drag(b);!this.inClass(b.target,\"highcharts-tracker\")&amp;&amp;!e.isInsidePlot(b.chartX-e.plotLeft,b.chartY-e.plotTop)||e.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var e;a;){if(e=A(a,\"class\")){if(-1!==\ne.indexOf(b))return!0;if(-1!==e.indexOf(\"highcharts-container\"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,\"highcharts-tooltip\")||this.inClass(a,\"highcharts-series-\"+b.index)&amp;&amp;this.inClass(a,\"highcharts-tracker\")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,e=b.hoverPoint,c=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||(e&amp;&amp;this.inClass(a.target,\n\"highcharts-tracker\")?(t(e.series,\"click\",r(a,{point:e})),b.hoverPoint&amp;&amp;e.firePointEvent(\"click\",a)):(r(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-c,a.chartY-d)&amp;&amp;t(b,\"click\",a)))},setDOMEvents:function(){var b=this,e=b.chart.container,d=e.ownerDocument;e.onmousedown=function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};C(e,\"mouseleave\",b.onContainerMouseLeave);1===a.chartCount&amp;&amp;C(d,\"mouseup\",b.onDocumentMouseUp);\na.hasTouch&amp;&amp;(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&amp;&amp;C(d,\"touchend\",b.onDocumentTouchEnd))},destroy:function(){var e=this,d=this.chart.container.ownerDocument;e.unDocMouseMove&amp;&amp;e.unDocMouseMove();b(e.chart.container,\"mouseleave\",e.onContainerMouseLeave);a.chartCount||(b(d,\"mouseup\",e.onDocumentMouseUp),a.hasTouch&amp;&amp;b(d,\"touchend\",e.onDocumentTouchEnd));clearInterval(e.tooltipTimeout);a.objectEach(e,function(a,b){e[b]=\nnull})}}})(M);(function(a){var C=a.charts,A=a.each,F=a.extend,E=a.map,m=a.noop,f=a.pick;F(a.Pointer.prototype,{pinchTranslate:function(a,f,m,t,g,d){this.zoomHor&amp;&amp;this.pinchTranslateDirection(!0,a,f,m,t,g,d);this.zoomVert&amp;&amp;this.pinchTranslateDirection(!1,a,f,m,t,g,d)},pinchTranslateDirection:function(a,f,m,t,g,d,k,b){var e=this.chart,v=a?\"x\":\"y\",l=a?\"X\":\"Y\",n=\"chart\"+l,r=a?\"width\":\"height\",u=e[\"plot\"+(a?\"Left\":\"Top\")],c,G,q=b||1,B=e.inverted,K=e.bounds[a?\"h\":\"v\"],p=1===f.length,z=f[0][n],I=m[0][n],\nL=!p&amp;&amp;f[1][n],h=!p&amp;&amp;m[1][n],w;m=function(){!p&amp;&amp;20&lt;Math.abs(z-L)&amp;&amp;(q=b||Math.abs(I-h)/Math.abs(z-L));G=(u-I)/q+z;c=e[\"plot\"+(a?\"Width\":\"Height\")]/q};m();f=G;f&lt;K.min?(f=K.min,w=!0):f+c&gt;K.max&amp;&amp;(f=K.max-c,w=!0);w?(I-=.8*(I-k[v][0]),p||(h-=.8*(h-k[v][1])),m()):k[v]=[I,h];B||(d[v]=G-u,d[r]=c);d=B?1/q:q;g[r]=c;g[v]=f;t[B?a?\"scaleY\":\"scaleX\":\"scale\"+l]=q;t[\"translate\"+l]=d*u+(I-d*z)},pinch:function(a){var l=this,u=l.chart,t=l.pinchDown,g=a.touches,d=g.length,k=l.lastValidTouch,b=l.hasZoom,e=l.selectionMarker,\nv={},y=1===d&amp;&amp;(l.inClass(a.target,\"highcharts-tracker\")&amp;&amp;u.runTrackerClick||l.runChartClick),n={};1&lt;d&amp;&amp;(l.initiated=!0);b&amp;&amp;l.initiated&amp;&amp;!y&amp;&amp;a.preventDefault();E(g,function(a){return l.normalize(a)});\"touchstart\"===a.type?(A(g,function(a,b){t[b]={chartX:a.chartX,chartY:a.chartY}}),k.x=[t[0].chartX,t[1]&amp;&amp;t[1].chartX],k.y=[t[0].chartY,t[1]&amp;&amp;t[1].chartY],A(u.axes,function(a){if(a.zoomEnabled){var b=u.bounds[a.horiz?\"h\":\"v\"],e=a.minPixelPadding,d=a.toPixels(f(a.options.min,a.dataMin)),g=a.toPixels(f(a.options.max,\na.dataMax)),k=Math.max(d,g);b.min=Math.min(a.pos,Math.min(d,g)-e);b.max=Math.max(a.pos+a.len,k+e)}}),l.res=!0):l.followTouchMove&amp;&amp;1===d?this.runPointActions(l.normalize(a)):t.length&amp;&amp;(e||(l.selectionMarker=e=F({destroy:m,touch:!0},u.plotBox)),l.pinchTranslate(t,g,v,e,n,k),l.hasPinched=b,l.scaleGroups(v,n),l.res&amp;&amp;(l.res=!1,this.reset(!1,0)))},touch:function(l,m){var r=this.chart,t,g;if(r.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=r.index;1===l.touches.length?\n(l=this.normalize(l),(g=r.isInsidePlot(l.chartX-r.plotLeft,l.chartY-r.plotTop))&amp;&amp;!r.openMenu?(m&amp;&amp;this.runPointActions(l),\"touchmove\"===l.type&amp;&amp;(m=this.pinchDown,t=m[0]?4&lt;=Math.sqrt(Math.pow(m[0].chartX-l.chartX,2)+Math.pow(m[0].chartY-l.chartY,2)):!1),f(t,!0)&amp;&amp;this.pinch(l)):m&amp;&amp;this.reset()):2===l.touches.length&amp;&amp;this.pinch(l)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(f){C[a.hoverChartIndex]&amp;&amp;\nC[a.hoverChartIndex].pointer.drop(f)}})})(M);(function(a){var C=a.addEvent,A=a.charts,F=a.css,E=a.doc,m=a.extend,f=a.noop,l=a.Pointer,r=a.removeEvent,u=a.win,t=a.wrap;if(!a.hasTouch&amp;&amp;(u.PointerEvent||u.MSPointerEvent)){var g={},d=!!u.PointerEvent,k=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(g,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},b=function(b,d,g,n){\"touch\"!==b.pointerType&amp;&amp;b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!A[a.hoverChartIndex]||\n(n(b),n=A[a.hoverChartIndex].pointer,n[d]({type:g,target:b.currentTarget,preventDefault:f,touches:k()}))};m(l.prototype,{onContainerPointerDown:function(a){b(a,\"onContainerTouchStart\",\"touchstart\",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){b(a,\"onContainerTouchMove\",\"touchmove\",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY};g[a.pointerId].target||(g[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){b(a,\n\"onDocumentTouchEnd\",\"touchend\",function(a){delete g[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,d?\"pointerdown\":\"MSPointerDown\",this.onContainerPointerDown);a(this.chart.container,d?\"pointermove\":\"MSPointerMove\",this.onContainerPointerMove);a(E,d?\"pointerup\":\"MSPointerUp\",this.onDocumentPointerUp)}});t(l.prototype,\"init\",function(a,b,d){a.call(this,b,d);this.hasZoom&amp;&amp;F(b.container,{\"-ms-touch-action\":\"none\",\"touch-action\":\"none\"})});t(l.prototype,\"setDOMEvents\",function(a){a.apply(this);\n(this.hasZoom||this.followTouchMove)&amp;&amp;this.batchMSEvents(C)});t(l.prototype,\"destroy\",function(a){this.batchMSEvents(r);a.call(this)})}})(M);(function(a){var C=a.addEvent,A=a.css,F=a.discardElement,E=a.defined,m=a.each,f=a.isFirefox,l=a.marginNames,r=a.merge,u=a.pick,t=a.setAnimation,g=a.stableSort,d=a.win,k=a.wrap;a.Legend=function(a,e){this.init(a,e)};a.Legend.prototype={init:function(a,e){this.chart=a;this.setOptions(e);e.enabled&amp;&amp;(this.render(),C(this.chart,\"endResize\",function(){this.legend.positionCheckboxes()}))},\nsetOptions:function(a){var b=u(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=r(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=u(a.symbolWidth,16);this.pages=[]},update:function(a,e){var b=this.chart;this.setOptions(r(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;u(e,!0)&amp;&amp;b.redraw()},colorizeItem:function(a,e){a.legendGroup[e?\"removeClass\":\n\"addClass\"](\"highcharts-legend-item-hidden\");var b=this.options,d=a.legendItem,g=a.legendLine,f=a.legendSymbol,k=this.itemHiddenStyle.color,b=e?b.itemStyle.color:k,c=e?a.color||k:k,l=a.options&amp;&amp;a.options.marker,q={fill:c};d&amp;&amp;d.css({fill:b,color:b});g&amp;&amp;g.attr({stroke:c});f&amp;&amp;(l&amp;&amp;f.isMarker&amp;&amp;(q=a.pointAttribs(),e||(q.stroke=q.fill=k)),f.attr(q))},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,g=a._legendItemPos,f=g[0],g=g[1],k=a.checkbox;(a=a.legendGroup)&amp;&amp;a.element&amp;&amp;a.translate(b?\nf:this.legendWidth-f-2*d-4,g);k&amp;&amp;(k.x=f,k.y=g)},destroyItem:function(a){var b=a.checkbox;m([\"legendItem\",\"legendLine\",\"legendSymbol\",\"legendGroup\"],function(b){a[b]&amp;&amp;(a[b]=a[b].destroy())});b&amp;&amp;F(a.checkbox)},destroy:function(){function a(a){this[a]&amp;&amp;(this[a]=this[a].destroy())}m(this.getAllItems(),function(b){m([\"legendItem\",\"legendGroup\"],a,b)});m(\"clipRect up down pager nav box title group\".split(\" \"),a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&amp;&amp;this.group.alignAttr,\nd,g=this.clipHeight||this.legendHeight,f=this.titleHeight;b&amp;&amp;(d=b.translateY,m(this.allItems,function(e){var k=e.checkbox,c;k&amp;&amp;(c=d+f+k.y+(a||0)+3,A(k,{left:b.translateX+e.checkboxOffset+k.x-20+\"px\",top:c+\"px\",display:c&gt;d-6&amp;&amp;c&lt;d+g-6?\"\":\"none\"}))}))},renderTitle:function(){var a=this.options,e=this.padding,d=a.title,g=0;d.text&amp;&amp;(this.title||(this.title=this.chart.renderer.label(d.text,e-3,e-4,null,null,null,a.useHTML,null,\"legend-title\").attr({zIndex:1}).css(d.style).add(this.group)),a=this.title.getBBox(),\ng=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:g}));this.titleHeight=g},setText:function(b){var e=this.options;b.legendItem.attr({text:e.labelFormat?a.format(e.labelFormat,b):e.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,d=b.renderer,g=this.options,f=\"horizontal\"===g.layout,k=this.symbolWidth,l=g.symbolPadding,c=this.itemStyle,m=this.itemHiddenStyle,q=this.padding,B=f?u(g.itemDistance,20):0,t=!g.rtl,p=g.width,z=g.itemMarginBottom||0,I=this.itemMarginTop,\nL=a.legendItem,h=!a.series,w=!h&amp;&amp;a.series.drawLegendSymbol?a.series:a,P=w.options,H=this.createCheckboxForItem&amp;&amp;P&amp;&amp;P.showCheckbox,P=k+l+B+(H?20:0),O=g.useHTML,A=a.options.className;L||(a.legendGroup=d.g(\"legend-item\").addClass(\"highcharts-\"+w.type+\"-series highcharts-color-\"+a.colorIndex+(A?\" \"+A:\"\")+(h?\" highcharts-series-\"+a.index:\"\")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=L=d.text(\"\",t?k+l:-l,this.baseline||0,O).css(r(a.visible?c:m)).attr({align:t?\"left\":\"right\",zIndex:2}).add(a.legendGroup),\nthis.baseline||(k=c.fontSize,this.fontMetrics=d.fontMetrics(k,L),this.baseline=this.fontMetrics.f+3+I,L.attr(\"y\",this.baseline)),this.symbolHeight=g.symbolHeight||this.fontMetrics.f,w.drawLegendSymbol(this,a),this.setItemEvents&amp;&amp;this.setItemEvents(a,L,O),H&amp;&amp;this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);c.width||L.css({width:(g.itemWidth||g.width||b.spacingBox.width)-P});this.setText(a);d=L.getBBox();c=a.checkboxOffset=g.itemWidth||a.legendItemWidth||d.width+P;this.itemHeight=d=Math.round(a.legendItemHeight||\nd.height||this.symbolHeight);f&amp;&amp;this.itemX-q+c&gt;(p||b.spacingBox.width-2*q-g.x)&amp;&amp;(this.itemX=q,this.itemY+=I+this.lastLineHeight+z,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=I+this.itemY+z;this.lastLineHeight=Math.max(d,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=I+d+z,this.lastLineHeight=d);this.offsetWidth=p||Math.max((f?this.itemX-q-(a.checkbox?0:B):c)+q,this.offsetWidth)},getAllItems:function(){var a=[];m(this.chart.series,\nfunction(b){var e=b&amp;&amp;b.options;b&amp;&amp;u(e.showInLegend,E(e.linkedTo)?!1:void 0,!0)&amp;&amp;(a=a.concat(b.legendItems||(\"point\"===e.legendType?b.data:b)))});return a},adjustMargins:function(a,e){var b=this.chart,d=this.options,g=d.align.charAt(0)+d.verticalAlign.charAt(0)+d.layout.charAt(0);d.floating||m([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,k){f.test(g)&amp;&amp;!E(a[k])&amp;&amp;(b[l[k]]=Math.max(b[l[k]],b.legend[(k+1)%2?\"legendHeight\":\"legendWidth\"]+[1,-1,-1,1][k]*d[k%2?\"x\":\"y\"]+u(d.margin,\n12)+e[k]))})},render:function(){var a=this,e=a.chart,d=e.renderer,f=a.group,k,l,t,c,u=a.box,q=a.options,B=a.padding;a.itemX=B;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;f||(a.group=f=d.g(\"legend\").attr({zIndex:7}).add(),a.contentGroup=d.g().attr({zIndex:1}).add(f),a.scrollGroup=d.g().add(a.contentGroup));a.renderTitle();k=a.getAllItems();g(k,function(a,b){return(a.options&amp;&amp;a.options.legendIndex||0)-(b.options&amp;&amp;b.options.legendIndex||0)});q.reversed&amp;&amp;k.reverse();a.allItems=k;a.display=l=\n!!k.length;a.lastLineHeight=0;m(k,function(b){a.renderItem(b)});t=(q.width||a.offsetWidth)+B;c=a.lastItemY+a.lastLineHeight+a.titleHeight;c=a.handleOverflow(c);c+=B;u||(a.box=u=d.rect().addClass(\"highcharts-legend-box\").attr({r:q.borderRadius}).add(f),u.isNew=!0);u.attr({stroke:q.borderColor,\"stroke-width\":q.borderWidth||0,fill:q.backgroundColor||\"none\"}).shadow(q.shadow);0&lt;t&amp;&amp;0&lt;c&amp;&amp;(u[u.isNew?\"attr\":\"animate\"](u.crisp({x:0,y:0,width:t,height:c},u.strokeWidth())),u.isNew=!1);u[l?\"show\":\"hide\"]();a.legendWidth=\nt;a.legendHeight=c;m(k,function(b){a.positionItem(b)});l&amp;&amp;f.align(r(q,{width:t,height:c}),!0,\"spacingBox\");e.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,d=this.chart,g=d.renderer,f=this.options,k=f.y,l=this.padding,d=d.spacingBox.height+(\"top\"===f.verticalAlign?-k:k)-l,k=f.maxHeight,c,r=this.clipRect,q=f.navigation,B=u(q.animation,!0),t=q.arrowSize||12,p=this.nav,z=this.pages,I,L=this.allItems,h=function(a){\"number\"===typeof a?r.attr({height:a}):r&amp;&amp;(b.clipRect=r.destroy(),\nb.contentGroup.clip());b.contentGroup.div&amp;&amp;(b.contentGroup.div.style.clip=a?\"rect(\"+l+\"px,9999px,\"+(l+a)+\"px,0)\":\"auto\")};\"horizontal\"!==f.layout||\"middle\"===f.verticalAlign||f.floating||(d/=2);k&amp;&amp;(d=Math.min(d,k));z.length=0;a&gt;d&amp;&amp;!1!==q.enabled?(this.clipHeight=c=Math.max(d-20-this.titleHeight-l,0),this.currentPage=u(this.currentPage,1),this.fullHeight=a,m(L,function(a,b){var e=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=z.length;if(!d||e-z[d-1]&gt;c&amp;&amp;(I||e)!==z[d-1])z.push(I||\ne),d++;b===L.length-1&amp;&amp;e+a-z[d-1]&gt;c&amp;&amp;z.push(e);e!==I&amp;&amp;(I=e)}),r||(r=b.clipRect=g.clipRect(0,l,9999,0),b.contentGroup.clip(r)),h(c),p||(this.nav=p=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol(\"triangle\",0,0,t,t).on(\"click\",function(){b.scroll(-1,B)}).add(p),this.pager=g.text(\"\",15,10).addClass(\"highcharts-legend-navigation\").css(q.style).add(p),this.down=g.symbol(\"triangle-down\",0,0,t,t).on(\"click\",function(){b.scroll(1,B)}).add(p)),b.scroll(0),a=d):p&amp;&amp;(h(),this.nav=p.destroy(),this.scrollGroup.attr({translateY:1}),\nthis.clipHeight=0);return a},scroll:function(a,e){var b=this.pages,d=b.length;a=this.currentPage+a;var g=this.clipHeight,f=this.options.navigation,k=this.pager,c=this.padding;a&gt;d&amp;&amp;(a=d);0&lt;a&amp;&amp;(void 0!==e&amp;&amp;t(e,this.chart),this.nav.attr({translateX:c,translateY:g+this.padding+7+this.titleHeight,visibility:\"visible\"}),this.up.attr({\"class\":1===a?\"highcharts-legend-nav-inactive\":\"highcharts-legend-nav-active\"}),k.attr({text:a+\"/\"+d}),this.down.attr({x:18+this.pager.getBBox().width,\"class\":a===d?\"highcharts-legend-nav-inactive\":\n\"highcharts-legend-nav-active\"}),this.up.attr({fill:1===a?f.inactiveColor:f.activeColor}).css({cursor:1===a?\"default\":\"pointer\"}),this.down.attr({fill:a===d?f.inactiveColor:f.activeColor}).css({cursor:a===d?\"default\":\"pointer\"}),e=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:e}),this.currentPage=a,this.positionCheckboxes(e))}};a.LegendSymbolMixin={drawRectangle:function(a,e){var b=a.symbolHeight,d=a.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-b)/\n2:0,a.baseline-b+1,d?b:a.symbolWidth,b,u(a.options.symbolRadius,b/2)).addClass(\"highcharts-point\").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(a){var b=this.options,d=b.marker,g=a.symbolWidth,f=a.symbolHeight,k=f/2,l=this.chart.renderer,c=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var m;m={\"stroke-width\":b.lineWidth||0};b.dashStyle&amp;&amp;(m.dashstyle=b.dashStyle);this.legendLine=l.path([\"M\",0,a,\"L\",g,a]).addClass(\"highcharts-graph\").attr(m).add(c);d&amp;&amp;!1!==d.enabled&amp;&amp;\n(b=Math.min(u(d.radius,k),k),0===this.symbol.indexOf(\"url\")&amp;&amp;(d=r(d,{width:f,height:f}),b=0),this.legendSymbol=d=l.symbol(this.symbol,g/2-b,a-b,2*b,2*b,d).addClass(\"highcharts-point\").add(c),d.isMarker=!0)}};(/Trident\\/7\\.0/.test(d.navigator.userAgent)||f)&amp;&amp;k(a.Legend.prototype,\"positionItem\",function(a,e){var b=this,d=function(){e._legendItemPos&amp;&amp;a.call(b,e)};d();setTimeout(d)})})(M);(function(a){var C=a.addEvent,A=a.animate,F=a.animObject,E=a.attr,m=a.doc,f=a.Axis,l=a.createElement,r=a.defaultOptions,\nu=a.discardElement,t=a.charts,g=a.css,d=a.defined,k=a.each,b=a.extend,e=a.find,v=a.fireEvent,y=a.getStyle,n=a.grep,D=a.isNumber,J=a.isObject,c=a.isString,G=a.Legend,q=a.marginNames,B=a.merge,K=a.objectEach,p=a.Pointer,z=a.pick,I=a.pInt,L=a.removeEvent,h=a.seriesTypes,w=a.splat,P=a.svg,H=a.syncTimeout,O=a.win,Q=a.Renderer,R=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new R(a,b,c)};b(R.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);\nif(c(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var e,d,h=b.series,p=b.plotOptions||{};b.series=null;e=B(r,b);for(d in e.plotOptions)e.plotOptions[d].tooltip=p[d]&amp;&amp;B(p[d].tooltip)||void 0;e.tooltip.userOptions=b.chart&amp;&amp;b.chart.forExport&amp;&amp;b.tooltip.userOptions||b.tooltip;e.series=b.series=h;this.userOptions=b;b=e.chart;d=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=c;this.isResizing=0;this.options=e;this.axes=[];this.series=\n[];this.hasCartesianSeries=b.showAxes;var g=this;g.index=t.length;t.push(g);a.chartCount++;d&amp;&amp;K(d,function(a,b){C(g,b,a)});g.xAxis=[];g.yAxis=[];g.pointCount=g.colorCounter=g.symbolCounter=0;g.firstRender()},initSeries:function(b){var c=this.options.chart;(c=h[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a&lt;b.length;a++)b[a]&amp;&amp;(b[a].index=a,b[a].name=b[a].name||\"Series \"+(b[a].index+1))},isInsidePlot:function(a,\nb,c){var e=c?b:a;a=c?a:b;return 0&lt;=e&amp;&amp;e&lt;=this.plotWidth&amp;&amp;0&lt;=a&amp;&amp;a&lt;=this.plotHeight},redraw:function(c){var e=this.axes,d=this.series,h=this.pointer,p=this.legend,g=this.isDirtyLegend,f,q,l=this.hasCartesianSeries,n=this.isDirtyBox,z,m=this.renderer,x=m.isHidden(),w=[];this.setResponsive&amp;&amp;this.setResponsive(!1);a.setAnimation(c,this);x&amp;&amp;this.temporaryDisplay();this.layOutTitles();for(c=d.length;c--;)if(z=d[c],z.options.stacking&amp;&amp;(f=!0,z.isDirty)){q=!0;break}if(q)for(c=d.length;c--;)z=d[c],z.options.stacking&amp;&amp;\n(z.isDirty=!0);k(d,function(a){a.isDirty&amp;&amp;\"point\"===a.options.legendType&amp;&amp;(a.updateTotals&amp;&amp;a.updateTotals(),g=!0);a.isDirtyData&amp;&amp;v(a,\"updatedData\")});g&amp;&amp;p.options.enabled&amp;&amp;(p.render(),this.isDirtyLegend=!1);f&amp;&amp;this.getStacks();l&amp;&amp;k(e,function(a){a.updateNames();a.setScale()});this.getMargins();l&amp;&amp;(k(e,function(a){a.isDirty&amp;&amp;(n=!0)}),k(e,function(a){var c=a.min+\",\"+a.max;a.extKey!==c&amp;&amp;(a.extKey=c,w.push(function(){v(a,\"afterSetExtremes\",b(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(n||f)&amp;&amp;\na.redraw()}));n&amp;&amp;this.drawChartBox();v(this,\"predraw\");k(d,function(a){(n||a.isDirty)&amp;&amp;a.visible&amp;&amp;a.redraw();a.isDirtyData=!1});h&amp;&amp;h.reset(!0);m.draw();v(this,\"redraw\");v(this,\"render\");x&amp;&amp;this.temporaryDisplay(!0);k(w,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&amp;&amp;b.options.id===a}var c,d=this.series,h;c=e(this.axes,b)||e(this.series,b);for(h=0;!c&amp;&amp;h&lt;d.length;h++)c=e(d[h].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=w(b.xAxis||\n{}),b=b.yAxis=w(b.yAxis||{});k(c,function(a,b){a.index=b;a.isX=!0});k(b,function(a,b){a.index=b});c=c.concat(b);k(c,function(b){new f(a,b)})},getSelectedPoints:function(){var a=[];k(this.series,function(b){a=a.concat(n(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return n(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var e=this,d=e.options,h;h=d.title=B({style:{color:\"#333333\",fontSize:d.isStock?\"16px\":\"18px\"}},d.title,a);d=d.subtitle=\nB({style:{color:\"#666666\"}},d.subtitle,b);k([[\"title\",a,h],[\"subtitle\",b,d]],function(a,b){var c=a[0],d=e[c],h=a[1];a=a[2];d&amp;&amp;h&amp;&amp;(e[c]=d=d.destroy());a&amp;&amp;a.text&amp;&amp;!d&amp;&amp;(e[c]=e.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,\"class\":\"highcharts-\"+c,zIndex:a.zIndex||4}).add(),e[c].update=function(a){e.setTitle(!b&amp;&amp;a,b&amp;&amp;a)},e[c].css(a.style))});e.layOutTitles(c)},layOutTitles:function(a){var c=0,e,d=this.renderer,h=this.spacingBox;k([\"title\",\"subtitle\"],function(a){var e=this[a],p=this.options[a];\na=\"title\"===a?-3:p.verticalAlign?0:c+2;var g;e&amp;&amp;(g=p.style.fontSize,g=d.fontMetrics(g,e).b,e.css({width:(p.width||h.width+p.widthAdjust)+\"px\"}).align(b({y:a+g},p),!1,\"spacingBox\"),p.floating||p.verticalAlign||(c=Math.ceil(c+e.getBBox(p.useHTML).height)))},this);e=this.titleOffset!==c;this.titleOffset=c;!this.isDirtyBox&amp;&amp;e&amp;&amp;(this.isDirtyBox=e,this.hasRendered&amp;&amp;z(a,!0)&amp;&amp;this.isDirtyBox&amp;&amp;this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,e=this.renderTo;d(c)||(this.containerWidth=\ny(e,\"width\"));d(b)||(this.containerHeight=y(e,\"height\"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||this.containerHeight||400)},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&amp;&amp;c.style;)c.hcOrigStyle&amp;&amp;(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&amp;&amp;(m.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&amp;&amp;c.style;){m.body.contains(c)||(c.hcOrigDetached=!0,m.body.appendChild(c));\nif(\"none\"===y(c,\"display\",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:\"block\",overflow:\"hidden\"},c!==this.renderTo&amp;&amp;(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty(\"display\",\"block\",\"important\");c=c.parentNode;if(c===m.body)break}},setClassName:function(a){this.container.className=\"highcharts-container \"+(a||\"\")},getContainer:function(){var e,d=this.options,h=d.chart,p,g;e=this.renderTo;var f=a.uniqueKey(),k;e||\n(this.renderTo=e=h.renderTo);c(e)&amp;&amp;(this.renderTo=e=m.getElementById(e));e||a.error(13,!0);p=I(E(e,\"data-highcharts-chart\"));D(p)&amp;&amp;t[p]&amp;&amp;t[p].hasRendered&amp;&amp;t[p].destroy();E(e,\"data-highcharts-chart\",this.index);e.innerHTML=\"\";h.skipClone||e.offsetWidth||this.temporaryDisplay();this.getChartSize();p=this.chartWidth;g=this.chartHeight;k=b({position:\"relative\",overflow:\"hidden\",width:p+\"px\",height:g+\"px\",textAlign:\"left\",lineHeight:\"normal\",zIndex:0,\"-webkit-tap-highlight-color\":\"rgba(0,0,0,0)\"},h.style);\nthis.container=e=l(\"div\",{id:f},k,e);this._cursor=e.style.cursor;this.renderer=new (a[h.renderer]||Q)(e,p,g,null,h.forExport,d.exporting&amp;&amp;d.exporting.allowHTML);this.setClassName(h.className);this.renderer.setStyle(h.style);this.renderer.chartIndex=this.index},getMargins:function(a){var b=this.spacing,c=this.margin,e=this.titleOffset;this.resetMargins();e&amp;&amp;!d(c[0])&amp;&amp;(this.plotTop=Math.max(this.plotTop,e+this.options.title.margin+b[0]));this.legend.display&amp;&amp;this.legend.adjustMargins(c,b);this.extraMargin&amp;&amp;\n(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);this.extraTopMargin&amp;&amp;(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&amp;&amp;k(a.axes,function(a){a.visible&amp;&amp;a.getOffset()});k(q,function(e,h){d(c[h])||(a[e]+=b[h])});a.setChartSize()},reflow:function(a){var b=this,c=b.options.chart,e=b.renderTo,h=d(c.width)&amp;&amp;d(c.height),p=c.width||y(e,\"width\"),c=c.height||y(e,\"height\"),\ne=a?a.target:O;if(!h&amp;&amp;!b.isPrinting&amp;&amp;p&amp;&amp;c&amp;&amp;(e===O||e===m)){if(p!==b.containerWidth||c!==b.containerHeight)clearTimeout(b.reflowTimeout),b.reflowTimeout=H(function(){b.container&amp;&amp;b.setSize(void 0,void 0,!1)},a?100:0);b.containerWidth=p;b.containerHeight=c}},initReflow:function(){var a=this,b;b=C(O,\"resize\",function(b){a.reflow(b)});C(a,\"destroy\",b)},setSize:function(b,c,e){var d=this,h=d.renderer;d.isResizing+=1;a.setAnimation(e,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;void 0!==\nb&amp;&amp;(d.options.chart.width=b);void 0!==c&amp;&amp;(d.options.chart.height=c);d.getChartSize();b=h.globalAnimation;(b?A:g)(d.container,{width:d.chartWidth+\"px\",height:d.chartHeight+\"px\"},b);d.setChartSize(!0);h.setSize(d.chartWidth,d.chartHeight,e);k(d.axes,function(a){a.isDirty=!0;a.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(e);d.oldChartHeight=null;v(d,\"resize\");H(function(){d&amp;&amp;v(d,\"endResize\",null,function(){--d.isResizing})},F(b).duration)},setChartSize:function(a){function b(a){a=\nf[a]||0;return Math.max(m||a,a)/2}var c=this.inverted,e=this.renderer,d=this.chartWidth,h=this.chartHeight,p=this.options.chart,g=this.spacing,f=this.clipOffset,q,n,l,z,m;this.plotLeft=q=Math.round(this.plotLeft);this.plotTop=n=Math.round(this.plotTop);this.plotWidth=l=Math.max(0,Math.round(d-q-this.marginRight));this.plotHeight=z=Math.max(0,Math.round(h-n-this.marginBottom));this.plotSizeX=c?z:l;this.plotSizeY=c?l:z;this.plotBorderWidth=p.plotBorderWidth||0;this.spacingBox=e.spacingBox={x:g[3],y:g[0],\nwidth:d-g[3]-g[1],height:h-g[0]-g[2]};this.plotBox=e.plotBox={x:q,y:n,width:l,height:z};m=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(b(3));e=Math.ceil(b(0));this.clipBox={x:c,y:e,width:Math.floor(this.plotSizeX-b(1)-c),height:Math.max(0,Math.floor(this.plotSizeY-b(2)-e))};a||k(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,b=a.options.chart;k([\"margin\",\"spacing\"],function(c){var e=b[c],d=J(e)?e:[e,e,e,e];k([\"Top\",\"Right\",\"Bottom\",\"Left\"],function(e,\nh){a[c][h]=z(b[c+e],d[h])})});k(q,function(b,c){a[b]=z(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,e=this.chartHeight,d=this.chartBackground,h=this.plotBackground,p=this.plotBorder,g,f=this.plotBGImage,k=a.backgroundColor,q=a.plotBackgroundColor,l=a.plotBackgroundImage,n,z=this.plotLeft,m=this.plotTop,w=this.plotWidth,I=this.plotHeight,v=this.plotBox,r=this.clipRect,B=this.clipBox,y=\"animate\";\nd||(this.chartBackground=d=b.rect().addClass(\"highcharts-background\").add(),y=\"attr\");g=a.borderWidth||0;n=g+(a.shadow?8:0);k={fill:k||\"none\"};if(g||d[\"stroke-width\"])k.stroke=a.borderColor,k[\"stroke-width\"]=g;d.attr(k).shadow(a.shadow);d[y]({x:n/2,y:n/2,width:c-n-g%2,height:e-n-g%2,r:a.borderRadius});y=\"animate\";h||(y=\"attr\",this.plotBackground=h=b.rect().addClass(\"highcharts-plot-background\").add());h[y](v);h.attr({fill:q||\"none\"}).shadow(a.plotShadow);l&amp;&amp;(f?f.animate(v):this.plotBGImage=b.image(l,\nz,m,w,I).add());r?r.animate({width:B.width,height:B.height}):this.clipRect=b.clipRect(B);y=\"animate\";p||(y=\"attr\",this.plotBorder=p=b.rect().addClass(\"highcharts-plot-border\").attr({zIndex:1}).add());p.attr({stroke:a.plotBorderColor,\"stroke-width\":a.plotBorderWidth||0,fill:\"none\"});p[y](p.crisp({x:z,y:m,width:w,height:I},-p.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,d,p;k([\"inverted\",\"angular\",\"polar\"],function(g){c=h[b.type||b.defaultSeriesType];\np=b[g]||c&amp;&amp;c.prototype[g];for(d=e&amp;&amp;e.length;!p&amp;&amp;d--;)(c=h[e[d].type])&amp;&amp;c.prototype[g]&amp;&amp;(p=!0);a[g]=p})},linkSeries:function(){var a=this,b=a.series;k(b,function(a){a.linkedSeries.length=0});k(b,function(b){var e=b.options.linkedTo;c(e)&amp;&amp;(e=\":previous\"===e?a.series[b.index-1]:a.get(e))&amp;&amp;e.linkedParent!==b&amp;&amp;(e.linkedSeries.push(b),b.linkedParent=e,b.visible=z(b.options.visible,e.options.visible,b.visible))})},renderSeries:function(){k(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=\nthis,c=a.options.labels;c.items&amp;&amp;k(c.items,function(e){var d=b(c.style,e.style),h=I(d.left)+a.plotLeft,p=I(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(e.html,h,p).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,e,d,h;this.setTitle();this.legend=new G(this,c.legend);this.getStacks&amp;&amp;this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;e=this.plotHeight-=21;k(a,function(a){a.setScale()});this.getAxisMargins();d=\n1.1&lt;c/this.plotWidth;h=1.05&lt;e/this.plotHeight;if(d||h)k(a,function(a){(a.horiz&amp;&amp;d||!a.horiz&amp;&amp;h)&amp;&amp;a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&amp;&amp;k(a,function(a){a.visible&amp;&amp;a.render()});this.seriesGroup||(this.seriesGroup=b.g(\"series-group\").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&amp;&amp;this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=B(!0,this.options.credits,a);a.enabled&amp;&amp;!this.credits&amp;&amp;\n(this.credits=this.renderer.text(a.text+(this.mapCredits||\"\"),0,0).addClass(\"highcharts-credits\").on(\"click\",function(){a.href&amp;&amp;(O.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,e=b.series,d=b.container,h,p=d&amp;&amp;d.parentNode;v(b,\"destroy\");b.renderer.forExport?a.erase(t,b):t[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute(\"data-highcharts-chart\");\nL(b);for(h=c.length;h--;)c[h]=c[h].destroy();this.scroller&amp;&amp;this.scroller.destroy&amp;&amp;this.scroller.destroy();for(h=e.length;h--;)e[h]=e[h].destroy();k(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"),function(a){var c=b[a];c&amp;&amp;c.destroy&amp;&amp;(b[a]=c.destroy())});d&amp;&amp;(d.innerHTML=\"\",L(d),p&amp;&amp;u(d));K(b,function(a,c){delete b[c]})},isReadyToRender:function(){var a=this;return P||O!=O.top||\n\"complete\"===m.readyState?!0:(m.attachEvent(\"onreadystatechange\",function(){m.detachEvent(\"onreadystatechange\",a.firstRender);\"complete\"===m.readyState&amp;&amp;a.firstRender()}),!1)},firstRender:function(){var a=this,b=a.options;if(a.isReadyToRender()){a.getContainer();v(a,\"init\");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();k(b.series||[],function(b){a.initSeries(b)});a.linkSeries();v(a,\"beforeRender\");p&amp;&amp;(a.pointer=new p(a,b));a.render();if(!a.renderer.imgCount&amp;&amp;a.onload)a.onload();\na.temporaryDisplay(!0)}},onload:function(){k([this.callback].concat(this.callbacks),function(a){a&amp;&amp;void 0!==this.index&amp;&amp;a.apply(this,[this])},this);v(this,\"load\");v(this,\"render\");d(this.index)&amp;&amp;!1!==this.options.chart.reflow&amp;&amp;this.initReflow();this.onload=null}})})(M);(function(a){var C,A=a.each,F=a.extend,E=a.erase,m=a.fireEvent,f=a.format,l=a.isArray,r=a.isNumber,u=a.pick,t=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,d,f){this.series=a;this.color=a.color;this.applyOptions(d,\nf);a.options.colorByPoint?(d=a.options.colors||a.chart.options.colors,this.color=this.color||d[a.colorCounter],d=d.length,f=a.colorCounter,a.colorCounter++,a.colorCounter===d&amp;&amp;(a.colorCounter=0)):f=a.colorIndex;this.colorIndex=u(this.colorIndex,f);a.chart.pointCount++;return this},applyOptions:function(a,d){var g=this.series,b=g.options.pointValKey||g.pointValKey;a=C.prototype.optionsToObject.call(this,a);F(this,a);this.options=this.options?F(this.options,a):a;a.group&amp;&amp;delete this.group;b&amp;&amp;(this.y=\nthis[b]);this.isNull=u(this.isValid&amp;&amp;!this.isValid(),null===this.x||!r(this.y,!0));this.selected&amp;&amp;(this.state=\"select\");\"name\"in this&amp;&amp;void 0===d&amp;&amp;g.xAxis&amp;&amp;g.xAxis.hasNames&amp;&amp;(this.x=g.xAxis.nameToX(this));void 0===this.x&amp;&amp;g&amp;&amp;(this.x=void 0===d?g.autoIncrement(this):d);return this},optionsToObject:function(a){var d={},g=this.series,b=g.options.keys,e=b||g.pointArrayMap||[\"y\"],f=e.length,m=0,n=0;if(r(a)||null===a)d[e[0]]=a;else if(l(a))for(!b&amp;&amp;a.length&gt;f&amp;&amp;(g=typeof a[0],\"string\"===g?d.name=a[0]:\"number\"===\ng&amp;&amp;(d.x=a[0]),m++);n&lt;f;)b&amp;&amp;void 0===a[m]||(d[e[n]]=a[m]),m++,n++;else\"object\"===typeof a&amp;&amp;(d=a,a.dataLabels&amp;&amp;(g._hasPointLabels=!0),a.marker&amp;&amp;(g._hasPointMarkers=!0));return d},getClassName:function(){return\"highcharts-point\"+(this.selected?\" highcharts-point-select\":\"\")+(this.negative?\" highcharts-negative\":\"\")+(this.isNull?\" highcharts-null-point\":\"\")+(void 0!==this.colorIndex?\" highcharts-color-\"+this.colorIndex:\"\")+(this.options.className?\" \"+this.options.className:\"\")+(this.zone&amp;&amp;this.zone.className?\n\" \"+this.zone.className.replace(\"highcharts-negative\",\"\"):\"\")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||\"y\",f=0,b;for(b=d[f];this[a]&gt;=b.value;)b=d[++f];b&amp;&amp;b.color&amp;&amp;!this.options.color&amp;&amp;(this.color=b.color);return b},destroy:function(){var a=this.series.chart,d=a.hoverPoints,f;a.pointCount--;d&amp;&amp;(this.setState(),E(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)t(this),this.destroyElements();this.legendItem&amp;&amp;a.legend.destroyItem(this);\nfor(f in this)this[f]=null},destroyElements:function(){for(var a=[\"graphic\",\"dataLabel\",\"dataLabelUpper\",\"connector\",\"shadowGroup\"],d,f=6;f--;)d=a[f],this[d]&amp;&amp;(this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,g=d.tooltipOptions,b=u(g.valueDecimals,\"\"),\ne=g.valuePrefix||\"\",l=g.valueSuffix||\"\";A(d.pointArrayMap||[\"y\"],function(d){d=\"{point.\"+d;if(e||l)a=a.replace(d+\"}\",e+d+\"}\"+l);a=a.replace(d+\"}\",d+\":,.\"+b+\"f}\")});return f(a,{point:this,series:this.series})},firePointEvent:function(a,d,f){var b=this,e=this.series.options;(e.point.events[a]||b.options&amp;&amp;b.options.events&amp;&amp;b.options.events[a])&amp;&amp;this.importEvents();\"click\"===a&amp;&amp;e.allowPointSelect&amp;&amp;(f=function(a){b.select&amp;&amp;b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});m(this,a,d,f)},visible:!0}})(M);\n(function(a){var C=a.addEvent,A=a.animObject,F=a.arrayMax,E=a.arrayMin,m=a.correctFloat,f=a.Date,l=a.defaultOptions,r=a.defaultPlotOptions,u=a.defined,t=a.each,g=a.erase,d=a.extend,k=a.fireEvent,b=a.grep,e=a.isArray,v=a.isNumber,y=a.isString,n=a.merge,D=a.objectEach,J=a.pick,c=a.removeEvent,G=a.splat,q=a.SVGElement,B=a.syncTimeout,K=a.win;a.Series=a.seriesType(\"line\",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:\"#ffffff\",radius:4,\nstates:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:\"#cccccc\",lineColor:\"#000000\",lineWidth:2}}},point:{events:{}},dataLabels:{align:\"center\",formatter:function(){return null===this.y?\"\":a.numberFormat(this.y,-1)},style:{fontSize:\"11px\",fontWeight:\"bold\",color:\"contrast\",textOutline:\"1px contrast\"},verticalAlign:\"bottom\",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},\nhalo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:\"x\"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:[\"xAxis\",\"yAxis\"],colorCounter:0,parallelArrays:[\"x\",\"y\"],coll:\"series\",init:function(a,b){var c=this,e,h=a.series,p;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();d(c,{name:b.name,state:\"\",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;D(e,function(a,b){C(c,b,a)});if(e&amp;&amp;\ne.click||b.point&amp;&amp;b.point.events&amp;&amp;b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();t(c.parallelArrays,function(a){c[a+\"Data\"]=[]});c.setData(b.data,!1);c.isCartesian&amp;&amp;(a.hasCartesianSeries=!0);h.length&amp;&amp;(p=h[h.length-1]);c._i=J(p&amp;&amp;p._i,-1)+1;a.orderSeries(this.insert(h))},insert:function(a){var b=this.options.index,c;if(v(b)){for(c=a.length;c--;)if(b&gt;=J(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&amp;&amp;a.unshift(this);c+=1}else a.push(this);return J(c,\na.length-1)},bindAxes:function(){var b=this,c=b.options,e=b.chart,d;t(b.axisTypes||[],function(h){t(e[h],function(a){d=a.options;if(c[h]===d.index||void 0!==c[h]&amp;&amp;c[h]===d.id||void 0===c[h]&amp;&amp;0===d.index)b.insert(a.series),b[h]=a,a.isDirty=!0});b[h]||b.optionalAxis===h||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,d=v(b)?function(e){var d=\"y\"===e&amp;&amp;c.toYData?c.toYData(a):a[e];c[e+\"Data\"][b]=d}:function(a){Array.prototype[b].apply(c[a+\"Data\"],Array.prototype.slice.call(e,\n2))};t(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,e=a.pointIntervalUnit,b=J(b,a.pointStart,0);this.pointInterval=c=J(this.pointInterval,a.pointInterval,1);e&amp;&amp;(a=new f(b),\"day\"===e?a=+a[f.hcSetDate](a[f.hcGetDate]()+c):\"month\"===e?a=+a[f.hcSetMonth](a[f.hcGetMonth]()+c):\"year\"===e&amp;&amp;(a=+a[f.hcSetFullYear](a[f.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options,e=c.plotOptions,d=(b.userOptions||{}).plotOptions||\n{},p=e[this.type];this.userOptions=a;b=n(p,e.series,a);this.tooltipOptions=n(l.tooltip,l.plotOptions.series&amp;&amp;l.plotOptions.series.tooltip,l.plotOptions[this.type].tooltip,c.tooltip.userOptions,e.series&amp;&amp;e.series.tooltip,e[this.type].tooltip,a.tooltip);this.stickyTracking=J(a.stickyTracking,d[this.type]&amp;&amp;d[this.type].stickyTracking,d.series&amp;&amp;d.series.stickyTracking,this.tooltipOptions.shared&amp;&amp;!this.noSharedTooltip?!0:b.stickyTracking);null===p.marker&amp;&amp;delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=\n(b.zones||[]).slice();!b.negativeColor&amp;&amp;!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+\"Threshold\"]||b.threshold||0,className:\"highcharts-negative\",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&amp;&amp;u(a[a.length-1].value)&amp;&amp;a.push({color:this.color,fillColor:this.fillColor});return b},getCyclic:function(a,b,c){var e,d=this.chart,p=this.userOptions,f=a+\"Index\",g=a+\"Counter\",k=c?c.length:J(d.options.chart[a+\"Count\"],d[a+\"Count\"]);b||(e=J(p[f],p[\"_\"+f]),u(e)||(d.series.length||\n(d[g]=0),p[\"_\"+f]=e=d[g]%k,d[g]+=1),c&amp;&amp;(b=c[e]));void 0!==e&amp;&amp;(this[f]=e);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic(\"color\",this.options.color||r[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic(\"symbol\",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(b,c,d,f){var h=this,p=h.points,g=p&amp;&amp;p.length||0,k,q=h.options,l=h.chart,n=null,m=h.xAxis,\nz=q.turboThreshold,r=this.xData,B=this.yData,I=(k=h.pointArrayMap)&amp;&amp;k.length;b=b||[];k=b.length;c=J(c,!0);if(!1!==f&amp;&amp;k&amp;&amp;g===k&amp;&amp;!h.cropped&amp;&amp;!h.hasGroupedData&amp;&amp;h.visible)t(b,function(a,b){p[b].update&amp;&amp;a!==q.data[b]&amp;&amp;p[b].update(a,!1,null,!1)});else{h.xIncrement=null;h.colorCounter=0;t(this.parallelArrays,function(a){h[a+\"Data\"].length=0});if(z&amp;&amp;k&gt;z){for(d=0;null===n&amp;&amp;d&lt;k;)n=b[d],d++;if(v(n))for(d=0;d&lt;k;d++)r[d]=this.autoIncrement(),B[d]=b[d];else if(e(n))if(I)for(d=0;d&lt;k;d++)n=b[d],r[d]=n[0],B[d]=n.slice(1,\nI+1);else for(d=0;d&lt;k;d++)n=b[d],r[d]=n[0],B[d]=n[1];else a.error(12)}else for(d=0;d&lt;k;d++)void 0!==b[d]&amp;&amp;(n={series:h},h.pointClass.prototype.applyOptions.apply(n,[b[d]]),h.updateParallelArrays(n,d));y(B[0])&amp;&amp;a.error(14,!0);h.data=[];h.options.data=h.userOptions.data=b;for(d=g;d--;)p[d]&amp;&amp;p[d].destroy&amp;&amp;p[d].destroy();m&amp;&amp;(m.minRange=m.userMinRange);h.isDirty=l.isDirtyBox=!0;h.isDirtyData=!!p;d=!1}\"point\"===q.legendType&amp;&amp;(this.processData(),this.generatePoints());c&amp;&amp;l.redraw(d)},processData:function(b){var c=\nthis.xData,e=this.yData,d=c.length,h;h=0;var p,f,g=this.xAxis,k,q=this.options;k=q.cropThreshold;var n=this.getExtremesFromAll||q.getExtremesFromAll,l=this.isCartesian,q=g&amp;&amp;g.val2lin,m=g&amp;&amp;g.isLog,v,r;if(l&amp;&amp;!this.isDirty&amp;&amp;!g.isDirty&amp;&amp;!this.yAxis.isDirty&amp;&amp;!b)return!1;g&amp;&amp;(b=g.getExtremes(),v=b.min,r=b.max);if(l&amp;&amp;this.sorted&amp;&amp;!n&amp;&amp;(!k||d&gt;k||this.forceCrop))if(c[d-1]&lt;v||c[0]&gt;r)c=[],e=[];else if(c[0]&lt;v||c[d-1]&gt;r)h=this.cropData(this.xData,this.yData,v,r),c=h.xData,e=h.yData,h=h.start,p=!0;for(k=c.length||\n1;--k;)d=m?q(c[k])-q(c[k-1]):c[k]-c[k-1],0&lt;d&amp;&amp;(void 0===f||d&lt;f)?f=d:0&gt;d&amp;&amp;this.requireSorting&amp;&amp;a.error(15);this.cropped=p;this.cropStart=h;this.processedXData=c;this.processedYData=e;this.closestPointRange=f},cropData:function(a,b,c,e){var d=a.length,p=0,g=d,f=J(this.cropShoulder,1),k;for(k=0;k&lt;d;k++)if(a[k]&gt;=c){p=Math.max(0,k-f);break}for(c=k;c&lt;d;c++)if(a[c]&gt;e){g=c+f;break}return{xData:a.slice(p,g),yData:b.slice(p,g),start:p,end:g}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,\ne,d=this.processedXData,g=this.processedYData,f=this.pointClass,k=d.length,q=this.cropStart||0,n,l=this.hasGroupedData,a=a.keys,m,v=[],r;c||l||(c=[],c.length=b.length,c=this.data=c);a&amp;&amp;l&amp;&amp;(this.options.keys=!1);for(r=0;r&lt;k;r++)n=q+r,l?(m=(new f).init(this,[d[r]].concat(G(g[r]))),m.dataGroup=this.groupMap[r]):(m=c[n])||void 0===b[n]||(c[n]=m=(new f).init(this,b[n],d[r])),m&amp;&amp;(m.index=n,v[r]=m);this.options.keys=a;if(c&amp;&amp;(k!==(e=c.length)||l))for(r=0;r&lt;e;r++)r!==q||l||(r+=k),c[r]&amp;&amp;(c[r].destroyElements(),\nc[r].plotX=void 0);this.data=c;this.points=v},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,h=[],p=0;d=this.xAxis.getExtremes();var g=d.min,f=d.max,k,q,n,l;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(l=0;l&lt;d;l++)if(q=c[l],n=a[l],k=(v(n,!0)||e(n))&amp;&amp;(!b.positiveValuesOnly||n.length||0&lt;n),q=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[l]||q)&gt;=g&amp;&amp;(c[l]||q)&lt;=f,k&amp;&amp;q)if(k=n.length)for(;k--;)null!==n[k]&amp;&amp;(h[p++]=n[k]);else h[p++]=n;this.dataMin=\nE(h);this.dataMax=F(h)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,d=this.yAxis,g=this.points,f=g.length,k=!!this.modifyValue,q=a.pointPlacement,n=\"between\"===q||v(q),l=a.threshold,r=a.startFromThreshold?l:0,B,y,t,G,D=Number.MAX_VALUE;\"between\"===q&amp;&amp;(q=.5);v(q)&amp;&amp;(q*=J(a.pointRange||c.pointRange));for(a=0;a&lt;f;a++){var K=g[a],A=K.x,C=K.y;y=K.low;var E=b&amp;&amp;d.stacks[(this.negStacks&amp;&amp;C&lt;(r?0:l)?\"-\":\"\")+this.stackKey],\nF;d.positiveValuesOnly&amp;&amp;null!==C&amp;&amp;0&gt;=C&amp;&amp;(K.isNull=!0);K.plotX=B=m(Math.min(Math.max(-1E5,c.translate(A,0,0,0,1,q,\"flags\"===this.type)),1E5));b&amp;&amp;this.visible&amp;&amp;!K.isNull&amp;&amp;E&amp;&amp;E[A]&amp;&amp;(G=this.getStackIndicator(G,A,this.index),F=E[A],C=F.points[G.key],y=C[0],C=C[1],y===r&amp;&amp;G.key===E[A].base&amp;&amp;(y=J(l,d.min)),d.positiveValuesOnly&amp;&amp;0&gt;=y&amp;&amp;(y=null),K.total=K.stackTotal=F.total,K.percentage=F.total&amp;&amp;K.y/F.total*100,K.stackY=C,F.setOffset(this.pointXOffset||0,this.barW||0));K.yBottom=u(y)?d.translate(y,0,1,0,1):\nnull;k&amp;&amp;(C=this.modifyValue(C,K));K.plotY=y=\"number\"===typeof C&amp;&amp;Infinity!==C?Math.min(Math.max(-1E5,d.translate(C,0,1,0,1)),1E5):void 0;K.isInside=void 0!==y&amp;&amp;0&lt;=y&amp;&amp;y&lt;=d.len&amp;&amp;0&lt;=B&amp;&amp;B&lt;=c.len;K.clientX=n?m(c.translate(A,0,0,0,1,q)):B;K.negative=K.y&lt;(l||0);K.category=e&amp;&amp;void 0!==e[K.x]?e[K.x]:K.x;K.isNull||(void 0!==t&amp;&amp;(D=Math.min(D,Math.abs(B-t))),t=B);K.zone=this.zones.length&amp;&amp;K.getZone()}this.closestPointRangePx=D},getValidPoints:function(a,c){var e=this.chart;return b(a||this.points||[],function(a){return c&amp;&amp;\n!e.isInsidePlot(a.plotX,a.plotY,e.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,e=b.renderer,d=b.inverted,p=this.clipBox,g=p||b.clipBox,f=this.sharedClipKey||[\"_sharedClip\",a&amp;&amp;a.duration,a&amp;&amp;a.easing,g.height,c.xAxis,c.yAxis].join(),k=b[f],q=b[f+\"m\"];k||(a&amp;&amp;(g.width=0,b[f+\"m\"]=q=e.clipRect(-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[f]=k=e.clipRect(g),k.count={length:0});a&amp;&amp;!k.count[this.index]&amp;&amp;(k.count[this.index]=!0,k.count.length+=1);!1!==c.clip&amp;&amp;\n(this.group.clip(a||p?k:b.clipRect),this.markerGroup.clip(q),this.sharedClipKey=f);a||(k.count[this.index]&amp;&amp;(delete k.count[this.index],--k.count.length),0===k.count.length&amp;&amp;f&amp;&amp;b[f]&amp;&amp;(p||(b[f]=b[f].destroy()),b[f+\"m\"]&amp;&amp;(b[f+\"m\"]=b[f+\"m\"].destroy())))},animate:function(a){var b=this.chart,c=A(this.options.animation),e;a?this.setClip(c):(e=this.sharedClipKey,(a=b[e])&amp;&amp;a.animate({width:b.plotSizeX},c),b[e+\"m\"]&amp;&amp;b[e+\"m\"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();\nk(this,\"afterAnimate\");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,e,d,f,g=this.options.marker,k,q,n,l,m=this[this.specialGroup]||this.markerGroup,r=J(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx&gt;=2*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(e=0;e&lt;a.length;e++)d=a[e],c=d.plotY,f=d.graphic,k=d.marker||{},q=!!d.marker,n=r&amp;&amp;void 0===k.enabled||k.enabled,l=d.isInside,n&amp;&amp;v(c)&amp;&amp;null!==d.y?(c=J(k.symbol,this.symbol),d.hasImage=0===c.indexOf(\"url\"),\nn=this.markerAttribs(d,d.selected&amp;&amp;\"select\"),f?f[l?\"show\":\"hide\"](!0).animate(n):l&amp;&amp;(0&lt;n.width||d.hasImage)&amp;&amp;(d.graphic=f=b.renderer.symbol(c,n.x,n.y,n.width,n.height,q?k:g).add(m)),f&amp;&amp;f.attr(this.pointAttribs(d,d.selected&amp;&amp;\"select\")),f&amp;&amp;f.addClass(d.getClassName(),!0)):f&amp;&amp;(d.graphic=f.destroy())},markerAttribs:function(a,b){var c=this.options.marker,e=a.marker||{},d=J(e.radius,c.radius);b&amp;&amp;(c=c.states[b],b=e.states&amp;&amp;e.states[b],d=J(b&amp;&amp;b.radius,c&amp;&amp;c.radius,d+(c&amp;&amp;c.radiusPlus||0)));a.hasImage&amp;&amp;(d=\n0);a={x:Math.floor(a.plotX)-d,y:a.plotY-d};d&amp;&amp;(a.width=a.height=2*d);return a},pointAttribs:function(a,b){var c=this.options.marker,e=a&amp;&amp;a.options,d=e&amp;&amp;e.marker||{},f=this.color,g=e&amp;&amp;e.color,p=a&amp;&amp;a.color,e=J(d.lineWidth,c.lineWidth);a=a&amp;&amp;a.zone&amp;&amp;a.zone.color;f=g||a||p||f;a=d.fillColor||c.fillColor||f;f=d.lineColor||c.lineColor||f;b&amp;&amp;(c=c.states[b],b=d.states&amp;&amp;d.states[b]||{},e=J(b.lineWidth,c.lineWidth,e+J(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||a,f=b.lineColor||c.lineColor||\nf);return{stroke:f,\"stroke-width\":e,fill:a}},destroy:function(){var a=this,b=a.chart,e=/AppleWebKit\\/533/.test(K.navigator.userAgent),d,h,f=a.data||[],n,l;k(a,\"destroy\");c(a);t(a.axisTypes||[],function(b){(l=a[b])&amp;&amp;l.series&amp;&amp;(g(l.series,a),l.isDirty=l.forceRedraw=!0)});a.legendItem&amp;&amp;a.chart.legend.destroyItem(a);for(h=f.length;h--;)(n=f[h])&amp;&amp;n.destroy&amp;&amp;n.destroy();a.points=null;clearTimeout(a.animationTimeout);D(a,function(a,b){a instanceof q&amp;&amp;!a.survive&amp;&amp;(d=e&amp;&amp;\"group\"===b?\"hide\":\"destroy\",a[d]())});\nb.hoverSeries===a&amp;&amp;(b.hoverSeries=null);g(b.series,a);b.orderSeries();D(a,function(b,c){delete a[c]})},getGraphPath:function(a,b,c){var e=this,d=e.options,f=d.step,g,p=[],k=[],q;a=a||e.points;(g=a.reversed)&amp;&amp;a.reverse();(f={right:1,center:2}[f]||f&amp;&amp;3)&amp;&amp;g&amp;&amp;(f=4-f);!d.connectNulls||b||c||(a=this.getValidPoints(a));t(a,function(h,g){var n=h.plotX,l=h.plotY,m=a[g-1];(h.leftCliff||m&amp;&amp;m.rightCliff)&amp;&amp;!c&amp;&amp;(q=!0);h.isNull&amp;&amp;!u(b)&amp;&amp;0&lt;g?q=!d.connectNulls:h.isNull&amp;&amp;!b?q=!0:(0===g||q?g=[\"M\",h.plotX,h.plotY]:e.getPointSpline?\ng=e.getPointSpline(a,h,g):f?(g=1===f?[\"L\",m.plotX,l]:2===f?[\"L\",(m.plotX+n)/2,m.plotY,\"L\",(m.plotX+n)/2,l]:[\"L\",n,m.plotY],g.push(\"L\",n,l)):g=[\"L\",n,l],k.push(h.x),f&amp;&amp;k.push(h.x),p.push.apply(p,g),q=!1)});p.xMap=k;return e.graphPath=p},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=[[\"graph\",\"highcharts-graph\",b.lineColor||this.color,b.dashStyle]];t(this.zones,function(c,d){e.push([\"zone-graph-\"+d,\"highcharts-graph highcharts-zone-graph-\"+d+\" \"+\n(c.className||\"\"),c.color||a.color,c.dashStyle||b.dashStyle])});t(e,function(e,d){var h=e[0],f=a[h];f?(f.endX=c.xMap,f.animate({d:c})):c.length&amp;&amp;(a[h]=a.chart.renderer.path(c).addClass(e[1]).attr({zIndex:1}).add(a.group),f={stroke:e[2],\"stroke-width\":b.lineWidth,fill:a.fillGraph&amp;&amp;a.color||\"none\"},e[3]?f.dashstyle=e[3]:\"square\"!==b.linecap&amp;&amp;(f[\"stroke-linecap\"]=f[\"stroke-linejoin\"]=\"round\"),f=a[h].attr(f).shadow(2&gt;d&amp;&amp;b.shadow));f&amp;&amp;(f.startX=c.xMap,f.isArea=c.isArea)})},applyZones:function(){var a=\nthis,b=this.chart,c=b.renderer,e=this.zones,d,f,g=this.clips||[],k,q=this.graph,n=this.area,l=Math.max(b.chartWidth,b.chartHeight),m=this[(this.zoneAxis||\"y\")+\"Axis\"],r,v,B=b.inverted,y,u,G,D,K=!1;e.length&amp;&amp;(q||n)&amp;&amp;m&amp;&amp;void 0!==m.min&amp;&amp;(v=m.reversed,y=m.horiz,q&amp;&amp;q.hide(),n&amp;&amp;n.hide(),r=m.getExtremes(),t(e,function(e,h){d=v?y?b.plotWidth:0:y?0:m.toPixels(r.min);d=Math.min(Math.max(J(f,d),0),l);f=Math.min(Math.max(Math.round(m.toPixels(J(e.value,r.max),!0)),0),l);K&amp;&amp;(d=f=m.toPixels(r.max));u=Math.abs(d-\nf);G=Math.min(d,f);D=Math.max(d,f);m.isXAxis?(k={x:B?D:G,y:0,width:u,height:l},y||(k.x=b.plotHeight-k.x)):(k={x:0,y:B?D:G,width:l,height:u},y&amp;&amp;(k.y=b.plotWidth-k.y));B&amp;&amp;c.isVML&amp;&amp;(k=m.isXAxis?{x:0,y:v?G:D,height:k.width,width:b.chartWidth}:{x:k.y-b.plotLeft-b.spacingBox.x,y:0,width:k.height,height:b.chartHeight});g[h]?g[h].animate(k):(g[h]=c.clipRect(k),q&amp;&amp;a[\"zone-graph-\"+h].clip(g[h]),n&amp;&amp;a[\"zone-area-\"+h].clip(g[h]));K=e.value&gt;r.max}),this.clips=g)},invertGroups:function(a){function b(){t([\"group\",\n\"markerGroup\"],function(b){c[b]&amp;&amp;(e.renderer.isVML&amp;&amp;c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,e=c.chart,d;c.xAxis&amp;&amp;(d=C(e,\"resize\",b),C(c,\"destroy\",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,e,d){var h=this[a],f=!h;f&amp;&amp;(this[a]=h=this.chart.renderer.g().attr({zIndex:e||.1}).add(d));h.addClass(\"highcharts-\"+b+\" highcharts-series-\"+this.index+\" highcharts-\"+this.type+\"-series highcharts-color-\"+this.colorIndex+\n\" \"+(this.options.className||\"\"),!0);h.attr({visibility:c})[f?\"attr\":\"animate\"](this.getPlotBox());return h},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&amp;&amp;(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,e=a.options,d=!!a.animate&amp;&amp;b.renderer.isSVG&amp;&amp;A(e.animation).duration,f=a.visible?\"inherit\":\"hidden\",g=e.zIndex,k=a.hasRendered,q=b.seriesGroup,n=b.inverted;c=a.plotGroup(\"group\",\n\"series\",f,g,q);a.markerGroup=a.plotGroup(\"markerGroup\",\"markers\",f,g,q);d&amp;&amp;a.animate(!0);c.inverted=a.isCartesian?n:!1;a.drawGraph&amp;&amp;(a.drawGraph(),a.applyZones());a.drawDataLabels&amp;&amp;a.drawDataLabels();a.visible&amp;&amp;a.drawPoints();a.drawTracker&amp;&amp;!1!==a.options.enableMouseTracking&amp;&amp;a.drawTracker();a.invertGroups(n);!1===e.clip||a.sharedClipKey||k||c.clip(b.clipRect);d&amp;&amp;a.animate();k||(a.animationTimeout=B(function(){a.afterAnimate()},d));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,\nb=this.isDirty||this.isDirtyData,c=this.group,e=this.xAxis,d=this.yAxis;c&amp;&amp;(a.inverted&amp;&amp;c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:J(e&amp;&amp;e.left,a.plotLeft),translateY:J(d&amp;&amp;d.top,a.plotTop)}));this.translate();this.render();b&amp;&amp;delete this.kdTree},kdAxisArray:[\"clientX\",\"plotY\"],searchPoint:function(a,b){var c=this.xAxis,e=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:d?e.len-a.chartX+e.pos:a.chartY-e.pos},b)},\nbuildKDTree:function(){function a(c,e,d){var h,f;if(f=c&amp;&amp;c.length)return h=b.kdAxisArray[e%d],c.sort(function(a,b){return a[h]-b[h]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),e+1,d),right:a(c.slice(f+1),e+1,d)}}this.buildingKdTree=!0;var b=this,c=-1&lt;b.options.findNearestPointBy.indexOf(\"y\")?2:1;delete b.kdTree;B(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,k){var p=b.point,q=e.kdAxisArray[h%\nk],n,l,m=p;l=u(a[d])&amp;&amp;u(p[d])?Math.pow(a[d]-p[d],2):null;n=u(a[f])&amp;&amp;u(p[f])?Math.pow(a[f]-p[f],2):null;n=(l||0)+(n||0);p.dist=u(n)?Math.sqrt(n):Number.MAX_VALUE;p.distX=u(l)?Math.sqrt(l):Number.MAX_VALUE;q=a[q]-p[q];n=0&gt;q?\"left\":\"right\";l=0&gt;q?\"right\":\"left\";b[n]&amp;&amp;(n=c(a,b[n],h+1,k),m=n[g]&lt;m[g]?n:p);b[l]&amp;&amp;Math.sqrt(q*q)&lt;m[g]&amp;&amp;(a=c(a,b[l],h+1,k),m=a[g]&lt;m[g]?a:m);return m}var e=this,d=this.kdAxisArray[0],f=this.kdAxisArray[1],g=b?\"distX\":\"dist\";b=-1&lt;e.options.findNearestPointBy.indexOf(\"y\")?2:1;this.kdTree||\nthis.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(M);(function(a){var C=a.Axis,A=a.Chart,F=a.correctFloat,E=a.defined,m=a.destroyObjectProperties,f=a.each,l=a.format,r=a.objectEach,u=a.pick,t=a.Series;a.StackItem=function(a,d,f,b,e){var g=a.chart.inverted;this.axis=a;this.isNegative=f;this.options=d;this.x=b;this.total=null;this.points={};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:d.align||(g?f?\"left\":\"right\":\"center\"),verticalAlign:d.verticalAlign||\n(g?\"middle\":f?\"bottom\":\"top\"),y:u(d.y,g?4:f?14:-6),x:u(d.x,g?f?-6:6:0)};this.textAlign=d.textAlign||(g?f?\"right\":\"left\":\"center\")};a.StackItem.prototype={destroy:function(){m(this,this.axis)},render:function(a){var d=this.options,f=d.format,f=f?l(f,this):d.formatter.call(this);this.label?this.label.attr({text:f,visibility:\"hidden\"}):this.label=this.axis.chart.renderer.text(f,null,null,d.useHTML).css(d.style).attr({align:this.textAlign,rotation:d.rotation,visibility:\"hidden\"}).add(a)},setOffset:function(a,\nd){var f=this.axis,b=f.chart,e=f.translate(f.usePercentage?100:this.total,0,0,0,1),f=f.translate(0),f=Math.abs(e-f);a=b.xAxis[0].translate(this.x)+a;e=this.getStackBox(b,this,a,e,d,f);if(d=this.label)d.align(this.alignOptions,null,e),e=d.alignAttr,d[!1===this.options.crop||b.isInsidePlot(e.x,e.y)?\"show\":\"hide\"](!0)},getStackBox:function(a,d,f,b,e,l){var g=d.axis.reversed,k=a.inverted;a=a.plotHeight;d=d.isNegative&amp;&amp;!g||!d.isNegative&amp;&amp;g;return{x:k?d?b:b-l:f,y:k?a-f-e:d?a-b-l:a-b,width:k?l:e,height:k?\ne:l}}};A.prototype.getStacks=function(){var a=this;f(a.yAxis,function(a){a.stacks&amp;&amp;a.hasVisibleSeries&amp;&amp;(a.oldStacks=a.stacks)});f(a.series,function(d){!d.options.stacking||!0!==d.visible&amp;&amp;!1!==a.options.chart.ignoreHiddenSeries||(d.stackKey=d.type+u(d.options.stack,\"\"))})};C.prototype.buildStacks=function(){var a=this.series,d=u(this.options.reversedStacks,!0),f=a.length,b;if(!this.isXAxis){this.usePercentage=!1;for(b=f;b--;)a[d?b:f-b-1].setStackedPoints();if(this.usePercentage)for(b=0;b&lt;f;b++)a[b].setPercentStacks()}};\nC.prototype.renderStackTotals=function(){var a=this.chart,d=a.renderer,f=this.stacks,b=this.stackTotalGroup;b||(this.stackTotalGroup=b=d.g(\"stack-labels\").attr({visibility:\"visible\",zIndex:6}).add());b.translate(a.plotLeft,a.plotTop);r(f,function(a){r(a,function(a){a.render(b)})})};C.prototype.resetStacks=function(){var a=this,d=a.stacks;a.isXAxis||r(d,function(d){r(d,function(b,e){b.touched&lt;a.stacksTouched?(b.destroy(),delete d[e]):(b.total=null,b.cum=null)})})};C.prototype.cleanStacks=function(){var a;\nthis.isXAxis||(this.oldStacks&amp;&amp;(a=this.stacks=this.oldStacks),r(a,function(a){r(a,function(a){a.cum=a.total})}))};t.prototype.setStackedPoints=function(){if(this.options.stacking&amp;&amp;(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var f=this.processedXData,d=this.processedYData,k=[],b=d.length,e=this.options,l=e.threshold,m=e.startFromThreshold?l:0,n=e.stack,e=e.stacking,r=this.stackKey,t=\"-\"+r,c=this.negStacks,G=this.yAxis,q=G.stacks,B=G.oldStacks,K,p,z,I,A,h,w;G.stacksTouched+=\n1;for(A=0;A&lt;b;A++)h=f[A],w=d[A],K=this.getStackIndicator(K,h,this.index),I=K.key,z=(p=c&amp;&amp;w&lt;(m?0:l))?t:r,q[z]||(q[z]={}),q[z][h]||(B[z]&amp;&amp;B[z][h]?(q[z][h]=B[z][h],q[z][h].total=null):q[z][h]=new a.StackItem(G,G.options.stackLabels,p,h,n)),z=q[z][h],null!==w&amp;&amp;(z.points[I]=z.points[this.index]=[u(z.cum,m)],E(z.cum)||(z.base=I),z.touched=G.stacksTouched,0&lt;K.index&amp;&amp;!1===this.singleStacks&amp;&amp;(z.points[I][0]=z.points[this.index+\",\"+h+\",0\"][0])),\"percent\"===e?(p=p?r:t,c&amp;&amp;q[p]&amp;&amp;q[p][h]?(p=q[p][h],z.total=p.total=\nMath.max(p.total,z.total)+Math.abs(w)||0):z.total=F(z.total+(Math.abs(w)||0))):z.total=F(z.total+(w||0)),z.cum=u(z.cum,m)+(w||0),null!==w&amp;&amp;(z.points[I].push(z.cum),k[A]=z.cum);\"percent\"===e&amp;&amp;(G.usePercentage=!0);this.stackedYData=k;G.oldStacks={}}};t.prototype.setPercentStacks=function(){var a=this,d=a.stackKey,k=a.yAxis.stacks,b=a.processedXData,e;f([d,\"-\"+d],function(d){for(var f=b.length,g,l;f--;)if(g=b[f],e=a.getStackIndicator(e,g,a.index,d),g=(l=k[d]&amp;&amp;k[d][g])&amp;&amp;l.points[e.key])l=l.total?100/\nl.total:0,g[0]=F(g[0]*l),g[1]=F(g[1]*l),a.stackedYData[f]=g[1]})};t.prototype.getStackIndicator=function(a,d,f,b){!E(a)||a.x!==d||b&amp;&amp;a.key!==b?a={x:d,index:0,key:b}:a.index++;a.key=[f,d,a.index].join();return a}})(M);(function(a){var C=a.addEvent,A=a.animate,F=a.Axis,E=a.createElement,m=a.css,f=a.defined,l=a.each,r=a.erase,u=a.extend,t=a.fireEvent,g=a.inArray,d=a.isNumber,k=a.isObject,b=a.isArray,e=a.merge,v=a.objectEach,y=a.pick,n=a.Point,D=a.Series,J=a.seriesTypes,c=a.setAnimation,G=a.splat;u(a.Chart.prototype,\n{addSeries:function(a,b,c){var e,d=this;a&amp;&amp;(b=y(b,!0),t(d,\"addSeries\",{options:a},function(){e=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();b&amp;&amp;d.redraw(c)}));return e},addAxis:function(a,b,c,d){var f=b?\"xAxis\":\"yAxis\",g=this.options;a=e(a,{index:this[f].length,isX:b});b=new F(this,a);g[f]=G(g[f]||{});g[f].push(a);y(c,!0)&amp;&amp;this.redraw(d);return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,d=c.loading,f=function(){e&amp;&amp;m(e,{left:b.plotLeft+\"px\",top:b.plotTop+\"px\",width:b.plotWidth+\n\"px\",height:b.plotHeight+\"px\"})};e||(b.loadingDiv=e=E(\"div\",{className:\"highcharts-loading highcharts-loading-hidden\"},null,b.container),b.loadingSpan=E(\"span\",{className:\"highcharts-loading-inner\"},null,e),C(b,\"redraw\",f));e.className=\"highcharts-loading\";b.loadingSpan.innerHTML=a||c.lang.loading;m(e,u(d.style,{zIndex:10}));m(b.loadingSpan,d.labelStyle);b.loadingShown||(m(e,{opacity:0,display:\"\"}),A(e,{opacity:d.style.opacity||.5},{duration:d.showDuration||0}));b.loadingShown=!0;f()},hideLoading:function(){var a=\nthis.options,b=this.loadingDiv;b&amp;&amp;(b.className=\"highcharts-loading highcharts-loading-hidden\",A(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){m(b,{display:\"none\"})}}));this.loadingShown=!1},propsRequireDirtyBox:\"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\npropsRequireUpdateSeries:\"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions tooltip\".split(\" \"),update:function(a,b,c){var k=this,n={credits:\"addCredits\",title:\"setTitle\",subtitle:\"setSubtitle\"},q=a.chart,m,h,r=[];if(q){e(!0,k.options.chart,q);\"className\"in q&amp;&amp;k.setClassName(q.className);if(\"inverted\"in q||\"polar\"in q)k.propFromSeries(),m=!0;\"alignTicks\"in q&amp;&amp;(m=!0);v(q,function(a,b){-1!==g(\"chart.\"+b,k.propsRequireUpdateSeries)&amp;&amp;(h=!0);-1!==g(b,k.propsRequireDirtyBox)&amp;&amp;\n(k.isDirtyBox=!0)});\"style\"in q&amp;&amp;k.renderer.setStyle(q.style)}a.colors&amp;&amp;(this.options.colors=a.colors);a.plotOptions&amp;&amp;e(!0,this.options.plotOptions,a.plotOptions);v(a,function(a,b){if(k[b]&amp;&amp;\"function\"===typeof k[b].update)k[b].update(a,!1);else if(\"function\"===typeof k[n[b]])k[n[b]](a);\"chart\"!==b&amp;&amp;-1!==g(b,k.propsRequireUpdateSeries)&amp;&amp;(h=!0)});l(\"xAxis yAxis zAxis series colorAxis pane\".split(\" \"),function(b){a[b]&amp;&amp;(l(G(a[b]),function(a,e){(e=f(a.id)&amp;&amp;k.get(a.id)||k[b][e])&amp;&amp;e.coll===b&amp;&amp;(e.update(a,\n!1),c&amp;&amp;(e.touched=!0));if(!e&amp;&amp;c)if(\"series\"===b)k.addSeries(a,!1).touched=!0;else if(\"xAxis\"===b||\"yAxis\"===b)k.addAxis(a,\"xAxis\"===b,!1).touched=!0}),c&amp;&amp;l(k[b],function(a){a.touched?delete a.touched:r.push(a)}))});l(r,function(a){a.remove(!1)});m&amp;&amp;l(k.axes,function(a){a.update({},!1)});h&amp;&amp;l(k.series,function(a){a.update({},!1)});a.loading&amp;&amp;e(!0,k.options.loading,a.loading);m=q&amp;&amp;q.width;q=q&amp;&amp;q.height;d(m)&amp;&amp;m!==k.chartWidth||d(q)&amp;&amp;q!==k.chartHeight?k.setSize(m,q):y(b,!0)&amp;&amp;k.redraw()},setSubtitle:function(a){this.setTitle(void 0,\na)}});u(n.prototype,{update:function(a,b,c,e){function d(){f.applyOptions(a);null===f.y&amp;&amp;h&amp;&amp;(f.graphic=h.destroy());k(a,!0)&amp;&amp;(h&amp;&amp;h.element&amp;&amp;a&amp;&amp;a.marker&amp;&amp;void 0!==a.marker.symbol&amp;&amp;(f.graphic=h.destroy()),a&amp;&amp;a.dataLabels&amp;&amp;f.dataLabel&amp;&amp;(f.dataLabel=f.dataLabel.destroy()));p=f.index;g.updateParallelArrays(f,p);q.data[p]=k(q.data[p],!0)||k(a,!0)?f.options:a;g.isDirty=g.isDirtyData=!0;!g.fixedBox&amp;&amp;g.hasCartesianSeries&amp;&amp;(l.isDirtyBox=!0);\"point\"===q.legendType&amp;&amp;(l.isDirtyLegend=!0);b&amp;&amp;l.redraw(c)}var f=\nthis,g=f.series,h=f.graphic,p,l=g.chart,q=g.options;b=y(b,!0);!1===e?d():f.firePointEvent(\"update\",{options:a},d)},remove:function(a,b){this.series.removePoint(g(this,this.series.data),a,b)}});u(D.prototype,{addPoint:function(a,b,c,e){var d=this.options,f=this.data,g=this.chart,h=this.xAxis,h=h&amp;&amp;h.hasNames&amp;&amp;h.names,k=d.data,p,l,q=this.xData,n,m;b=y(b,!0);p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);m=p.x;n=q.length;if(this.requireSorting&amp;&amp;m&lt;q[n-1])for(l=!0;n&amp;&amp;q[n-1]&gt;m;)n--;\nthis.updateParallelArrays(p,\"splice\",n,0,0);this.updateParallelArrays(p,n);h&amp;&amp;p.name&amp;&amp;(h[m]=p.name);k.splice(n,0,a);l&amp;&amp;(this.data.splice(n,0,null),this.processData());\"point\"===d.legendType&amp;&amp;this.generatePoints();c&amp;&amp;(f[0]&amp;&amp;f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(p,\"shift\"),k.shift()));this.isDirtyData=this.isDirty=!0;b&amp;&amp;g.redraw(e)},removePoint:function(a,b,e){var d=this,f=d.data,g=f[a],k=d.points,h=d.chart,l=function(){k&amp;&amp;k.length===f.length&amp;&amp;k.splice(a,1);f.splice(a,1);\nd.options.data.splice(a,1);d.updateParallelArrays(g||{series:d},\"splice\",a,1);g&amp;&amp;g.destroy();d.isDirty=!0;d.isDirtyData=!0;b&amp;&amp;h.redraw()};c(e,h);b=y(b,!0);g?g.firePointEvent(\"remove\",null,l):l()},remove:function(a,b,c){function e(){d.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();y(a,!0)&amp;&amp;f.redraw(b)}var d=this,f=d.chart;!1!==c?t(d,\"remove\",null,e):e()},update:function(a,b){var c=this,d=c.chart,f=c.userOptions,g=c.oldType||c.type,k=a.type||f.type||d.options.chart.type,h=J[g].prototype,n,\nq=[\"group\",\"markerGroup\",\"dataLabelsGroup\",\"navigatorSeries\",\"baseSeries\"],m=c.finishedAnimating&amp;&amp;{animation:!1};if(Object.keys&amp;&amp;\"data\"===Object.keys(a).toString())return this.setData(a.data,b);if(k&amp;&amp;k!==g||void 0!==a.zIndex)q.length=0;l(q,function(a){q[a]=c[a];delete c[a]});a=e(f,m,{index:c.index,pointStart:c.xData[0]},{data:c.options.data},a);c.remove(!1,null,!1);for(n in h)c[n]=void 0;u(c,J[k||g].prototype);l(q,function(a){c[a]=q[a]});c.init(d,a);c.oldType=g;d.linkSeries();y(b,!0)&amp;&amp;d.redraw(!1)}});\nu(F.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=e(this.userOptions,a);this.destroy(!0);this.init(c,u(a,{events:void 0}));c.isDirtyBox=!0;y(b,!0)&amp;&amp;c.redraw()},remove:function(a){for(var c=this.chart,e=this.coll,d=this.series,f=d.length;f--;)d[f]&amp;&amp;d[f].remove(!1);r(c.axes,this);r(c[e],this);b(c.options[e])?c.options[e].splice(this.options.index,1):delete c.options[e];l(c[e],function(a,b){a.options.index=b});this.destroy();c.isDirtyBox=!0;y(a,!0)&amp;&amp;c.redraw()},\nsetTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(M);(function(a){var C=a.color,A=a.each,F=a.map,E=a.pick,m=a.Series,f=a.seriesType;f(\"area\",\"line\",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(f){var l=[],m=[],t=this.xAxis,g=this.yAxis,d=g.stacks[this.stackKey],k={},b=this.index,e=g.series,v=e.length,y,n=E(g.options.reversedStacks,!0)?1:-1,D;f=f||this.points;if(this.options.stacking){for(D=0;D&lt;f.length;D++)k[f[D].x]=\nf[D];a.objectEach(d,function(a,b){null!==a.total&amp;&amp;m.push(b)});m.sort(function(a,b){return a-b});y=F(e,function(){return this.visible});A(m,function(a,c){var e=0,f,r;if(k[a]&amp;&amp;!k[a].isNull)l.push(k[a]),A([-1,1],function(e){var g=1===e?\"rightNull\":\"leftNull\",l=0,q=d[m[c+e]];if(q)for(D=b;0&lt;=D&amp;&amp;D&lt;v;)f=q.points[D],f||(D===b?k[a][g]=!0:y[D]&amp;&amp;(r=d[a].points[D])&amp;&amp;(l-=r[1]-r[0])),D+=n;k[a][1===e?\"rightCliff\":\"leftCliff\"]=l});else{for(D=b;0&lt;=D&amp;&amp;D&lt;v;){if(f=d[a].points[D]){e=f[1];break}D+=n}e=g.translate(e,0,\n1,0,1);l.push({isNull:!0,plotX:t.translate(a,0,0,0,1),x:a,plotY:e,yBottom:e})}})}return l},getGraphPath:function(a){var f=m.prototype.getGraphPath,l=this.options,t=l.stacking,g=this.yAxis,d,k,b=[],e=[],v=this.index,y,n=g.stacks[this.stackKey],D=l.threshold,A=g.getThreshold(l.threshold),c,l=l.connectNulls||\"percent\"===t,G=function(c,d,f){var k=a[c];c=t&amp;&amp;n[k.x].points[v];var l=k[f+\"Null\"]||0;f=k[f+\"Cliff\"]||0;var q,m,k=!0;f||l?(q=(l?c[0]:c[1])+f,m=c[0]+f,k=!!l):!t&amp;&amp;a[d]&amp;&amp;a[d].isNull&amp;&amp;(q=m=D);void 0!==\nq&amp;&amp;(e.push({plotX:y,plotY:null===q?A:g.getThreshold(q),isNull:k,isCliff:!0}),b.push({plotX:y,plotY:null===m?A:g.getThreshold(m),doCurve:!1}))};a=a||this.points;t&amp;&amp;(a=this.getStackPoints(a));for(d=0;d&lt;a.length;d++)if(k=a[d].isNull,y=E(a[d].rectPlotX,a[d].plotX),c=E(a[d].yBottom,A),!k||l)l||G(d,d-1,\"left\"),k&amp;&amp;!t&amp;&amp;l||(e.push(a[d]),b.push({x:d,plotX:y,plotY:c})),l||G(d,d+1,\"right\");d=f.call(this,e,!0,!0);b.reversed=!0;k=f.call(this,b,!0,!0);k.length&amp;&amp;(k[0]=\"L\");k=d.concat(k);f=f.call(this,e,!1,l);k.xMap=\nd.xMap;this.areaPath=k;return f},drawGraph:function(){this.areaPath=[];m.prototype.drawGraph.apply(this);var a=this,f=this.areaPath,u=this.options,t=[[\"area\",\"highcharts-area\",this.color,u.fillColor]];A(this.zones,function(f,d){t.push([\"zone-area-\"+d,\"highcharts-area highcharts-zone-area-\"+d+\" \"+f.className,f.color||a.color,f.fillColor||u.fillColor])});A(t,function(g){var d=g[0],k=a[d];k?(k.endX=f.xMap,k.animate({d:f})):(k=a[d]=a.chart.renderer.path(f).addClass(g[1]).attr({fill:E(g[3],C(g[2]).setOpacity(E(u.fillOpacity,\n.75)).get()),zIndex:0}).add(a.group),k.isArea=!0);k.startX=f.xMap;k.shiftUnit=u.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(M);(function(a){var C=a.pick;a=a.seriesType;a(\"spline\",\"line\",{},{getPointSpline:function(a,F,E){var m=F.plotX,f=F.plotY,l=a[E-1];E=a[E+1];var r,u,t,g;if(l&amp;&amp;!l.isNull&amp;&amp;!1!==l.doCurve&amp;&amp;!F.isCliff&amp;&amp;E&amp;&amp;!E.isNull&amp;&amp;!1!==E.doCurve&amp;&amp;!F.isCliff){a=l.plotY;t=E.plotX;E=E.plotY;var d=0;r=(1.5*m+l.plotX)/2.5;u=(1.5*f+a)/2.5;t=(1.5*m+t)/2.5;g=(1.5*f+E)/2.5;t!==r&amp;&amp;(d=\n(g-u)*(t-m)/(t-r)+f-g);u+=d;g+=d;u&gt;a&amp;&amp;u&gt;f?(u=Math.max(a,f),g=2*f-u):u&lt;a&amp;&amp;u&lt;f&amp;&amp;(u=Math.min(a,f),g=2*f-u);g&gt;E&amp;&amp;g&gt;f?(g=Math.max(E,f),u=2*f-g):g&lt;E&amp;&amp;g&lt;f&amp;&amp;(g=Math.min(E,f),u=2*f-g);F.rightContX=t;F.rightContY=g}F=[\"C\",C(l.rightContX,l.plotX),C(l.rightContY,l.plotY),C(r,m),C(u,f),m,f];l.rightContX=l.rightContY=null;return F}})})(M);(function(a){var C=a.seriesTypes.area.prototype,A=a.seriesType;A(\"areaspline\",\"spline\",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,getGraphPath:C.getGraphPath,\ndrawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(M);(function(a){var C=a.animObject,A=a.color,F=a.each,E=a.extend,m=a.isNumber,f=a.merge,l=a.pick,r=a.Series,u=a.seriesType,t=a.svg;u(\"column\",\"line\",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1},select:{color:\"#cccccc\",borderColor:\"#000000\",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},\nsoftThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:\"#ffffff\"},{cropShoulder:0,directTouch:!0,trackerGroups:[\"group\",\"dataLabelsGroup\"],negStacks:!0,init:function(){r.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&amp;&amp;F(d.series,function(d){d.type===a.type&amp;&amp;(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,f=a.xAxis,b=a.yAxis,e=f.reversed,m,r={},n=0;!1===d.grouping?n=1:F(a.chart.series,function(c){var e=c.options,\nd=c.yAxis,f;c.type!==a.type||!c.visible&amp;&amp;a.chart.options.chart.ignoreHiddenSeries||b.len!==d.len||b.pos!==d.pos||(e.stacking?(m=c.stackKey,void 0===r[m]&amp;&amp;(r[m]=n++),f=r[m]):!1!==e.grouping&amp;&amp;(f=n++),c.columnIndex=f)});var t=Math.min(Math.abs(f.transA)*(f.ordinalSlope||d.pointRange||f.closestPointRange||f.tickInterval||1),f.len),u=t*d.groupPadding,c=(t-2*u)/(n||1),d=Math.min(d.maxPointWidth||f.len,l(d.pointWidth,c*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(c-d)/2+(u+((a.columnIndex||0)+\n(e?1:0))*c-t/2)*(e?-1:1)};return a.columnMetrics},crispCol:function(a,d,f,b){var e=this.chart,g=this.borderWidth,k=-(g%2?.5:0),g=g%2?.5:1;e.inverted&amp;&amp;e.renderer.isVML&amp;&amp;(g+=1);this.options.crisp&amp;&amp;(f=Math.round(a+f)+k,a=Math.round(a)+k,f-=a);b=Math.round(d+b)+g;k=.5&gt;=Math.abs(d)&amp;&amp;.5&lt;b;d=Math.round(d)+g;b-=d;k&amp;&amp;b&amp;&amp;(--d,b+=1);return{x:a,y:d,width:f,height:b}},translate:function(){var a=this,d=a.chart,f=a.options,b=a.dense=2&gt;a.closestPointRange*a.xAxis.transA,b=a.borderWidth=l(f.borderWidth,b?0:1),e=a.yAxis,\nm=a.translatedThreshold=e.getThreshold(f.threshold),t=l(f.minPointLength,5),n=a.getColumnMetrics(),u=n.width,A=a.barW=Math.max(u,1+2*b),c=a.pointXOffset=n.offset;d.inverted&amp;&amp;(m-=.5);f.pointPadding&amp;&amp;(A=Math.ceil(A));r.prototype.translate.apply(a);F(a.points,function(b){var f=l(b.yBottom,m),g=999+Math.abs(f),g=Math.min(Math.max(-g,b.plotY),e.len+g),k=b.plotX+c,n=A,r=Math.min(g,f),v,y=Math.max(g,f)-r;Math.abs(y)&lt;t&amp;&amp;t&amp;&amp;(y=t,v=!e.reversed&amp;&amp;!b.negative||e.reversed&amp;&amp;b.negative,r=Math.abs(r-m)&gt;t?f-t:m-(v?\nt:0));b.barX=k;b.pointWidth=u;b.tooltipPos=d.inverted?[e.len+e.pos-d.plotLeft-g,a.xAxis.len-k-n/2,y]:[k+n/2,g+e.pos-d.plotTop,y];b.shapeType=\"rect\";b.shapeArgs=a.crispCol.apply(a,b.isNull?[k,m,n,0]:[k,r,n,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?\"addClass\":\"removeClass\"](\"highcharts-dense-data\")},pointAttribs:function(a,d){var g=this.options,b,e=this.pointAttrToOptions||{};b=e.stroke||\"borderColor\";var l=e[\"stroke-width\"]||\n\"borderWidth\",m=a&amp;&amp;a.color||this.color,n=a[b]||g[b]||this.color||m,r=a[l]||g[l]||this[l]||0,e=g.dashStyle;a&amp;&amp;this.zones.length&amp;&amp;(m=a.getZone(),m=a.options.color||m&amp;&amp;m.color||this.color);d&amp;&amp;(a=f(g.states[d],a.options.states&amp;&amp;a.options.states[d]||{}),d=a.brightness,m=a.color||void 0!==d&amp;&amp;A(m).brighten(a.brightness).get()||m,n=a[b]||n,r=a[l]||r,e=a.dashStyle||e);b={fill:m,stroke:n,\"stroke-width\":r};e&amp;&amp;(b.dashstyle=e);return b},drawPoints:function(){var a=this,d=this.chart,k=a.options,b=d.renderer,e=\nk.animationLimit||250,l;F(a.points,function(g){var n=g.graphic;if(m(g.plotY)&amp;&amp;null!==g.y){l=g.shapeArgs;if(n)n[d.pointCount&lt;e?\"animate\":\"attr\"](f(l));else g.graphic=n=b[g.shapeType](l).add(g.group||a.group);k.borderRadius&amp;&amp;n.attr({r:k.borderRadius});n.attr(a.pointAttribs(g,g.selected&amp;&amp;\"select\")).shadow(k.shadow,null,k.stacking&amp;&amp;!k.borderRadius);n.addClass(g.getClassName(),!0)}else n&amp;&amp;(g.graphic=n.destroy())})},animate:function(a){var d=this,f=this.yAxis,b=d.options,e=this.chart.inverted,g={};t&amp;&amp;(a?\n(g.scaleY=.001,a=Math.min(f.pos+f.len,Math.max(f.pos,f.toPixels(b.threshold))),e?g.translateX=a-f.len:g.translateY=a,d.group.attr(g)):(g[e?\"translateX\":\"translateY\"]=f.pos,d.group.animate(g,E(C(d.options.animation),{step:function(a,b){d.group.attr({scaleY:Math.max(.001,b.pos)})}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&amp;&amp;F(d.series,function(d){d.type===a.type&amp;&amp;(d.isDirty=!0)});r.prototype.remove.apply(a,arguments)}})})(M);(function(a){a=a.seriesType;a(\"bar\",\"column\",\nnull,{inverted:!0})})(M);(function(a){var C=a.Series;a=a.seriesType;a(\"scatter\",\"line\",{lineWidth:0,findNearestPointBy:\"xy\",marker:{enabled:!0},tooltip:{headerFormat:'\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',pointFormat:\"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:[\"group\",\"markerGroup\",\"dataLabelsGroup\"],\ntakeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&amp;&amp;C.prototype.drawGraph.call(this)}})})(M);(function(a){var C=a.pick,A=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,E=this.chart,m=2*(a.slicedOffset||0),f=E.plotWidth-2*m,E=E.plotHeight-2*m,l=a.center,l=[C(l[0],\"50%\"),C(l[1],\"50%\"),a.size||\"100%\",a.innerSize||0],r=Math.min(f,E),u,t;for(u=0;4&gt;u;++u)t=l[u],a=2&gt;u||2===u&amp;&amp;/%$/.test(t),l[u]=A(t,[f,E,r,l[2]][u])+(a?m:0);l[3]&gt;l[2]&amp;&amp;(l[3]=l[2]);return l}}})(M);\n(function(a){var C=a.addEvent,A=a.defined,F=a.each,E=a.extend,m=a.inArray,f=a.noop,l=a.pick,r=a.Point,u=a.Series,t=a.seriesType,g=a.setAnimation;t(\"pie\",\"line\",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:\"point\",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:\"#ffffff\",borderWidth:1,states:{hover:{brightness:.1,\nshadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:[\"group\",\"dataLabelsGroup\"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var d=this,b=d.points,e=d.startAngleRad;a||(F(b,function(a){var b=a.graphic,f=a.shapeArgs;b&amp;&amp;(b.attr({r:a.startR||d.center[3]/2,start:e,end:e}),b.animate({r:f.r,start:f.start,end:f.end},d.options.animation))}),d.animate=null)},updateTotals:function(){var a,f=0,b=this.points,e=b.length,g,\nl=this.options.ignoreHiddenPoint;for(a=0;a&lt;e;a++)g=b[a],f+=l&amp;&amp;!g.visible?0:g.isNull?0:g.y;this.total=f;for(a=0;a&lt;e;a++)g=b[a],g.percentage=0&lt;f&amp;&amp;(g.visible||!l)?g.y/f*100:0,g.total=f},generatePoints:function(){u.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();var d=0,b=this.options,e=b.slicedOffset,f=e+(b.borderWidth||0),g,n,m,r=b.startAngle||0,c=this.startAngleRad=Math.PI/180*(r-90),r=(this.endAngleRad=Math.PI/180*(l(b.endAngle,r+360)-90))-c,t=\nthis.points,q,B=b.dataLabels.distance,b=b.ignoreHiddenPoint,u,p=t.length,z;a||(this.center=a=this.getCenter());this.getX=function(b,c,e){m=Math.asin(Math.min((b-a[1])/(a[2]/2+e.labelDistance),1));return a[0]+(c?-1:1)*Math.cos(m)*(a[2]/2+e.labelDistance)};for(u=0;u&lt;p;u++){z=t[u];z.labelDistance=l(z.options.dataLabels&amp;&amp;z.options.dataLabels.distance,B);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,z.labelDistance);g=c+d*r;if(!b||z.visible)d+=z.percentage/100;n=c+d*r;z.shapeType=\"arc\";z.shapeArgs=\n{x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*g)/1E3,end:Math.round(1E3*n)/1E3};m=(n+g)/2;m&gt;1.5*Math.PI?m-=2*Math.PI:m&lt;-Math.PI/2&amp;&amp;(m+=2*Math.PI);z.slicedTranslation={translateX:Math.round(Math.cos(m)*e),translateY:Math.round(Math.sin(m)*e)};n=Math.cos(m)*a[2]/2;q=Math.sin(m)*a[2]/2;z.tooltipPos=[a[0]+.7*n,a[1]+.7*q];z.half=m&lt;-Math.PI/2||m&gt;Math.PI/2?1:0;z.angle=m;g=Math.min(f,z.labelDistance/5);z.labelPos=[a[0]+n+Math.cos(m)*z.labelDistance,a[1]+q+Math.sin(m)*z.labelDistance,a[0]+n+Math.cos(m)*\ng,a[1]+q+Math.sin(m)*g,a[0]+n,a[1]+q,0&gt;z.labelDistance?\"center\":z.half?\"right\":\"left\",m]}},drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,b,e,g,l,n=a.options.shadow;n&amp;&amp;!a.shadowGroup&amp;&amp;(a.shadowGroup=f.g(\"shadow\").add(a.group));F(a.points,function(d){if(!d.isNull){e=d.graphic;l=d.shapeArgs;b=d.getTranslate();var k=d.shadowGroup;n&amp;&amp;!k&amp;&amp;(k=d.shadowGroup=f.g(\"shadow\").add(a.shadowGroup));k&amp;&amp;k.attr(b);g=a.pointAttribs(d,d.selected&amp;&amp;\"select\");e?e.setRadialReference(a.center).attr(g).animate(E(l,\nb)):(d.graphic=e=f[d.shapeType](l).setRadialReference(a.center).attr(b).add(a.group),d.visible||e.attr({visibility:\"hidden\"}),e.attr(g).attr({\"stroke-linejoin\":\"round\"}).shadow(n,k));e.addClass(d.getClassName())}})},searchPoint:f,sortByAngle:function(a,f){a.sort(function(a,e){return void 0!==a.angle&amp;&amp;(e.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:f},{init:function(){r.prototype.init.apply(this,arguments);var a=this,f;a.name=\nl(a.name,\"Slice\");f=function(b){a.slice(\"select\"===b.type)};C(a,\"select\",f);C(a,\"unselect\",f);return a},isValid:function(){return a.isNumber(this.y,!0)&amp;&amp;0&lt;=this.y},setVisible:function(a,f){var b=this,e=b.series,d=e.chart,g=e.options.ignoreHiddenPoint;f=l(f,g);a!==b.visible&amp;&amp;(b.visible=b.options.visible=a=void 0===a?!b.visible:a,e.options.data[m(b,e.data)]=b.options,F([\"graphic\",\"dataLabel\",\"connector\",\"shadowGroup\"],function(e){if(b[e])b[e][a?\"show\":\"hide\"](!0)}),b.legendItem&amp;&amp;d.legend.colorizeItem(b,\na),a||\"hover\"!==b.state||b.setState(\"\"),g&amp;&amp;(e.isDirty=!0),f&amp;&amp;d.redraw())},slice:function(a,f,b){var e=this.series;g(b,e.chart);l(f,!0);this.sliced=this.options.sliced=A(a)?a:!this.sliced;e.options.data[m(this,e.data)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&amp;&amp;this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var d=this.shapeArgs;return this.sliced||!this.visible?\n[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:this.shapeArgs.r,start:d.start,end:d.end})}})})(M);(function(a){var C=a.addEvent,A=a.arrayMax,F=a.defined,E=a.each,m=a.extend,f=a.format,l=a.map,r=a.merge,u=a.noop,t=a.pick,g=a.relativeLength,d=a.Series,k=a.seriesTypes,b=a.stableSort;a.distribute=function(a,d){function e(a,b){return a.target-b.target}var f,g=!0,k=a,c=[],m;m=0;for(f=a.length;f--;)m+=a[f].size;if(m&gt;d){b(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(m=f=0;m&lt;=\nd;)m+=a[f].size,f++;c=a.splice(f-1,a.length)}b(a,e);for(a=l(a,function(a){return{size:a.size,targets:[a.target]}});g;){for(f=a.length;f--;)g=a[f],m=(Math.min.apply(0,g.targets)+Math.max.apply(0,g.targets))/2,g.pos=Math.min(Math.max(0,m-g.size/2),d-g.size);f=a.length;for(g=!1;f--;)0&lt;f&amp;&amp;a[f-1].pos+a[f-1].size&gt;a[f].pos&amp;&amp;(a[f-1].size+=a[f].size,a[f-1].targets=a[f-1].targets.concat(a[f].targets),a[f-1].pos+a[f-1].size&gt;d&amp;&amp;(a[f-1].pos=d-a[f-1].size),a.splice(f,1),g=!0)}f=0;E(a,function(a){var b=0;E(a.targets,\nfunction(){k[f].pos=a.pos+b;b+=k[f].size;f++})});k.push.apply(k,c);b(k,e)};d.prototype.drawDataLabels=function(){var b=this,d=b.options,g=d.dataLabels,k=b.points,l,m,c=b.hasRendered||0,u,q,B=t(g.defer,!!d.animation),A=b.chart.renderer;if(g.enabled||b._hasPointLabels)b.dlProcessOptions&amp;&amp;b.dlProcessOptions(g),q=b.plotGroup(\"dataLabelsGroup\",\"data-labels\",B&amp;&amp;!c?\"hidden\":\"visible\",g.zIndex||6),B&amp;&amp;(q.attr({opacity:+c}),c||C(b,\"afterAnimate\",function(){b.visible&amp;&amp;q.show(!0);q[d.animation?\"animate\":\"attr\"]({opacity:1},\n{duration:200})})),m=g,E(k,function(c){var e,k=c.dataLabel,n,h,p=c.connector,v=!k,B;l=c.dlOptions||c.options&amp;&amp;c.options.dataLabels;if(e=t(l&amp;&amp;l.enabled,m.enabled)&amp;&amp;null!==c.y)g=r(m,l),n=c.getLabelConfig(),u=g.format?f(g.format,n):g.formatter.call(n,g),B=g.style,n=g.rotation,B.color=t(g.color,B.color,b.color,\"#000000\"),\"contrast\"===B.color&amp;&amp;(c.contrastColor=A.getContrast(c.color||b.color),B.color=g.inside||0&gt;t(c.labelDistance,g.distance)||d.stacking?c.contrastColor:\"#000000\"),d.cursor&amp;&amp;(B.cursor=d.cursor),\nh={fill:g.backgroundColor,stroke:g.borderColor,\"stroke-width\":g.borderWidth,r:g.borderRadius||0,rotation:n,padding:g.padding,zIndex:1},a.objectEach(h,function(a,b){void 0===a&amp;&amp;delete h[b]});!k||e&amp;&amp;F(u)?e&amp;&amp;F(u)&amp;&amp;(k?h.text=u:(k=c.dataLabel=A[n?\"text\":\"label\"](u,0,-9999,g.shape,null,null,g.useHTML,null,\"data-label\"),k.addClass(\"highcharts-data-label-color-\"+c.colorIndex+\" \"+(g.className||\"\")+(g.useHTML?\"highcharts-tracker\":\"\"))),k.attr(h),k.css(B).shadow(g.shadow),k.added||k.add(q),b.alignDataLabel(c,\nk,g,null,v)):(c.dataLabel=k=k.destroy(),p&amp;&amp;(c.connector=p.destroy()))})};d.prototype.alignDataLabel=function(a,b,d,f,g){var e=this.chart,c=e.inverted,k=t(a.plotX,-9999),l=t(a.plotY,-9999),n=b.getBBox(),r,p=d.rotation,v=d.align,u=this.visible&amp;&amp;(a.series.forceDL||e.isInsidePlot(k,Math.round(l),c)||f&amp;&amp;e.isInsidePlot(k,c?f.x+1:f.y+f.height-1,c)),y=\"justify\"===t(d.overflow,\"justify\");if(u&amp;&amp;(r=d.style.fontSize,r=e.renderer.fontMetrics(r,b).b,f=m({x:c?this.yAxis.len-l:k,y:Math.round(c?this.xAxis.len-k:l),\nwidth:0,height:0},f),m(d,{width:n.width,height:n.height}),p?(y=!1,k=e.renderer.rotCorr(r,p),k={x:f.x+d.x+f.width/2+k.x,y:f.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*f.height},b[g?\"attr\":\"animate\"](k).attr({align:v}),l=(p+720)%360,l=180&lt;l&amp;&amp;360&gt;l,\"left\"===v?k.y-=l?n.height:0:\"center\"===v?(k.x-=n.width/2,k.y-=n.height/2):\"right\"===v&amp;&amp;(k.x-=n.width,k.y-=l?0:n.height)):(b.align(d,null,f),k=b.alignAttr),y?a.isLabelJustified=this.justifyDataLabel(b,d,k,n,f,g):t(d.crop,!0)&amp;&amp;(u=e.isInsidePlot(k.x,\nk.y)&amp;&amp;e.isInsidePlot(k.x+n.width,k.y+n.height)),d.shape&amp;&amp;!p))b[g?\"attr\":\"animate\"]({anchorX:c?e.plotWidth-a.plotY:a.plotX,anchorY:c?e.plotHeight-a.plotX:a.plotY});u||(b.attr({y:-9999}),b.placed=!1)};d.prototype.justifyDataLabel=function(a,b,d,f,g,k){var c=this.chart,e=b.align,l=b.verticalAlign,m,n,p=a.box?0:a.padding||0;m=d.x+p;0&gt;m&amp;&amp;(\"right\"===e?b.align=\"left\":b.x=-m,n=!0);m=d.x+f.width-p;m&gt;c.plotWidth&amp;&amp;(\"left\"===e?b.align=\"right\":b.x=c.plotWidth-m,n=!0);m=d.y+p;0&gt;m&amp;&amp;(\"bottom\"===l?b.verticalAlign=\n\"top\":b.y=-m,n=!0);m=d.y+f.height-p;m&gt;c.plotHeight&amp;&amp;(\"top\"===l?b.verticalAlign=\"bottom\":b.y=c.plotHeight-m,n=!0);n&amp;&amp;(a.placed=!k,a.align(b,null,g));return n};k.pie&amp;&amp;(k.pie.prototype.drawDataLabels=function(){var b=this,f=b.data,g,k=b.chart,l=b.options.dataLabels,m=t(l.connectorPadding,10),c=t(l.connectorWidth,1),r=k.plotWidth,q=k.plotHeight,u,C=b.center,p=C[2]/2,z=C[1],I,L,h,w,M=[[],[]],H,O,Q,R,x=[0,0,0,0];b.visible&amp;&amp;(l.enabled||b._hasPointLabels)&amp;&amp;(E(f,function(a){a.dataLabel&amp;&amp;a.visible&amp;&amp;a.dataLabel.shortened&amp;&amp;\n(a.dataLabel.attr({width:\"auto\"}).css({width:\"auto\",textOverflow:\"clip\"}),a.dataLabel.shortened=!1)}),d.prototype.drawDataLabels.apply(b),E(f,function(a){a.dataLabel&amp;&amp;a.visible&amp;&amp;(M[a.half].push(a),a.dataLabel._pos=null)}),E(M,function(c,d){var e,f,n=c.length,v=[],u;if(n)for(b.sortByAngle(c,d-.5),0&lt;b.maxLabelDistance&amp;&amp;(e=Math.max(0,z-p-b.maxLabelDistance),f=Math.min(z+p+b.maxLabelDistance,k.plotHeight),E(c,function(a){0&lt;a.labelDistance&amp;&amp;a.dataLabel&amp;&amp;(a.top=Math.max(0,z-p-a.labelDistance),a.bottom=\nMath.min(z+p+a.labelDistance,k.plotHeight),u=a.dataLabel.getBBox().height||21,a.positionsIndex=v.push({target:a.labelPos[1]-a.top+u/2,size:u,rank:a.y})-1)}),a.distribute(v,f+u-e)),R=0;R&lt;n;R++)g=c[R],f=g.positionsIndex,h=g.labelPos,I=g.dataLabel,Q=!1===g.visible?\"hidden\":\"inherit\",e=h[1],v&amp;&amp;F(v[f])?void 0===v[f].pos?Q=\"hidden\":(w=v[f].size,O=g.top+v[f].pos):O=e,delete g.positionIndex,H=l.justify?C[0]+(d?-1:1)*(p+g.labelDistance):b.getX(O&lt;g.top+2||O&gt;g.bottom-2?e:O,d,g),I._attr={visibility:Q,align:h[6]},\nI._pos={x:H+l.x+({left:m,right:-m}[h[6]]||0),y:O+l.y-10},h.x=H,h.y=O,t(l.crop,!0)&amp;&amp;(L=I.getBBox().width,e=null,H-L&lt;m?(e=Math.round(L-H+m),x[3]=Math.max(e,x[3])):H+L&gt;r-m&amp;&amp;(e=Math.round(H+L-r+m),x[1]=Math.max(e,x[1])),0&gt;O-w/2?x[0]=Math.max(Math.round(-O+w/2),x[0]):O+w/2&gt;q&amp;&amp;(x[2]=Math.max(Math.round(O+w/2-q),x[2])),I.sideOverflow=e)}),0===A(x)||this.verifyDataLabelOverflow(x))&amp;&amp;(this.placeDataLabels(),c&amp;&amp;E(this.points,function(a){var e;u=a.connector;if((I=a.dataLabel)&amp;&amp;I._pos&amp;&amp;a.visible&amp;&amp;0&lt;a.labelDistance){Q=\nI._attr.visibility;if(e=!u)a.connector=u=k.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\"+a.colorIndex).add(b.dataLabelsGroup),u.attr({\"stroke-width\":c,stroke:l.connectorColor||a.color||\"#666666\"});u[e?\"attr\":\"animate\"]({d:b.connectorPath(a.labelPos)});u.attr(\"visibility\",Q)}else u&amp;&amp;(a.connector=u.destroy())}))},k.pie.prototype.connectorPath=function(a){var b=a.x,d=a.y;return t(this.options.dataLabels.softConnector,!0)?[\"M\",b+(\"left\"===a[6]?5:-5),d,\"C\",b,d,2*a[2]-a[4],\n2*a[3]-a[5],a[2],a[3],\"L\",a[4],a[5]]:[\"M\",b+(\"left\"===a[6]?5:-5),d,\"L\",a[2],a[3],\"L\",a[4],a[5]]},k.pie.prototype.placeDataLabels=function(){E(this.points,function(a){var b=a.dataLabel;b&amp;&amp;a.visible&amp;&amp;((a=b._pos)?(b.sideOverflow&amp;&amp;(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+\"px\",textOverflow:\"ellipsis\"}),b.shortened=!0),b.attr(b._attr),b[b.moved?\"animate\":\"attr\"](a),b.moved=!0):b&amp;&amp;b.attr({y:-9999}))},this)},k.pie.prototype.alignDataLabel=u,k.pie.prototype.verifyDataLabelOverflow=\nfunction(a){var b=this.center,d=this.options,e=d.center,f=d.minSize||80,k,c=null!==d.size;c||(null!==e[0]?k=Math.max(b[2]-Math.max(a[1],a[3]),f):(k=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/2),null!==e[1]?k=Math.max(Math.min(k,b[2]-Math.max(a[0],a[2])),f):(k=Math.max(Math.min(k,b[2]-a[0]-a[2]),f),b[1]+=(a[0]-a[2])/2),k&lt;b[2]?(b[2]=k,b[3]=Math.min(g(d.innerSize||0,k),k),this.translate(b),this.drawDataLabels&amp;&amp;this.drawDataLabels()):c=!0);return c});k.column&amp;&amp;(k.column.prototype.alignDataLabel=function(a,\nb,f,g,k){var e=this.chart.inverted,c=a.series,l=a.dlBox||a.shapeArgs,m=t(a.below,a.plotY&gt;t(this.translatedThreshold,c.yAxis.len)),n=t(f.inside,!!this.options.stacking);l&amp;&amp;(g=r(l),0&gt;g.y&amp;&amp;(g.height+=g.y,g.y=0),l=g.y+g.height-c.yAxis.len,0&lt;l&amp;&amp;(g.height-=l),e&amp;&amp;(g={x:c.yAxis.len-g.y-g.height,y:c.xAxis.len-g.x-g.width,width:g.height,height:g.width}),n||(e?(g.x+=m?0:g.width,g.width=0):(g.y+=m?g.height:0,g.height=0)));f.align=t(f.align,!e||n?\"center\":m?\"right\":\"left\");f.verticalAlign=t(f.verticalAlign,e||\nn?\"middle\":m?\"top\":\"bottom\");d.prototype.alignDataLabel.call(this,a,b,f,g,k);a.isLabelJustified&amp;&amp;a.contrastColor&amp;&amp;a.dataLabel.css({color:a.contrastColor})})})(M);(function(a){var C=a.Chart,A=a.each,F=a.objectEach,E=a.pick,m=a.addEvent;C.prototype.callbacks.push(function(a){function f(){var f=[];A(a.yAxis||[],function(a){a.options.stackLabels&amp;&amp;!a.options.stackLabels.allowOverlap&amp;&amp;F(a.stacks,function(a){F(a,function(a){f.push(a.label)})})});A(a.series||[],function(a){var l=a.options.dataLabels,g=a.dataLabelCollections||\n[\"dataLabel\"];(l.enabled||a._hasPointLabels)&amp;&amp;!l.allowOverlap&amp;&amp;a.visible&amp;&amp;A(g,function(d){A(a.points,function(a){a[d]&amp;&amp;(a[d].labelrank=E(a.labelrank,a.shapeArgs&amp;&amp;a.shapeArgs.height),f.push(a[d]))})})});a.hideOverlappingLabels(f)}f();m(a,\"redraw\",f)});C.prototype.hideOverlappingLabels=function(a){var f=a.length,m,u,t,g,d,k,b,e,v,y=function(a,b,d,c,e,f,g,k){return!(e&gt;a+d||e+g&lt;a||f&gt;b+c||f+k&lt;b)};for(u=0;u&lt;f;u++)if(m=a[u])m.oldOpacity=m.opacity,m.newOpacity=1,m.width||(t=m.getBBox(),m.width=t.width,m.height=\nt.height);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(u=0;u&lt;f;u++)for(t=a[u],m=u+1;m&lt;f;++m)if(g=a[m],t&amp;&amp;g&amp;&amp;t!==g&amp;&amp;t.placed&amp;&amp;g.placed&amp;&amp;0!==t.newOpacity&amp;&amp;0!==g.newOpacity&amp;&amp;(d=t.alignAttr,k=g.alignAttr,b=t.parentGroup,e=g.parentGroup,v=2*(t.box?0:t.padding||0),d=y(d.x+b.translateX,d.y+b.translateY,t.width-v,t.height-v,k.x+e.translateX,k.y+e.translateY,g.width-v,g.height-v)))(t.labelrank&lt;g.labelrank?t:g).newOpacity=0;A(a,function(a){var b,d;a&amp;&amp;(d=a.newOpacity,a.oldOpacity!==d&amp;&amp;\na.placed&amp;&amp;(d?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=d,a[a.isOld?\"animate\":\"attr\"](a.alignAttr,null,b)),a.isOld=!0)})}})(M);(function(a){var C=a.addEvent,A=a.Chart,F=a.createElement,E=a.css,m=a.defaultOptions,f=a.defaultPlotOptions,l=a.each,r=a.extend,u=a.fireEvent,t=a.hasTouch,g=a.inArray,d=a.isObject,k=a.Legend,b=a.merge,e=a.pick,v=a.Point,y=a.Series,n=a.seriesTypes,D=a.svg,J;J=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,d=function(a){var c=b.getPointFromEvent(a);\nvoid 0!==c&amp;&amp;(b.isDirectTouch=!0,c.onMouseOver(a))};l(a.points,function(a){a.graphic&amp;&amp;(a.graphic.element.point=a);a.dataLabel&amp;&amp;(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(l(a.trackerGroups,function(c){if(a[c]){a[c].addClass(\"highcharts-tracker\").on(\"mouseover\",d).on(\"mouseout\",function(a){b.onTrackerMouseOut(a)});if(t)a[c].on(\"touchstart\",d);a.options.cursor&amp;&amp;a[c].css(E).css({cursor:a.options.cursor})}}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=\nthis,b=a.options,d=b.trackByArea,e=[].concat(d?a.areaPath:a.graphPath),f=e.length,g=a.chart,k=g.pointer,m=g.renderer,n=g.options.tooltip.snap,h=a.tracker,r,u=function(){if(g.hoverSeries!==a)a.onMouseOver()},v=\"rgba(192,192,192,\"+(D?.0001:.002)+\")\";if(f&amp;&amp;!d)for(r=f+1;r--;)\"M\"===e[r]&amp;&amp;e.splice(r+1,0,e[r+1]-n,e[r+2],\"L\"),(r&amp;&amp;\"M\"===e[r]||r===f)&amp;&amp;e.splice(r,0,\"L\",e[r-2]+n,e[r-1]);h?h.attr({d:e}):a.graph&amp;&amp;(a.tracker=m.path(e).attr({\"stroke-linejoin\":\"round\",visibility:a.visible?\"visible\":\"hidden\",stroke:v,\nfill:d?v:\"none\",\"stroke-width\":a.graph.strokeWidth()+(d?0:2*n),zIndex:2}).add(a.group),l([a.tracker,a.markerGroup],function(a){a.addClass(\"highcharts-tracker\").on(\"mouseover\",u).on(\"mouseout\",function(a){k.onTrackerMouseOut(a)});b.cursor&amp;&amp;a.css({cursor:b.cursor});if(t)a.on(\"touchstart\",u)}))}};n.column&amp;&amp;(n.column.prototype.drawTracker=J.drawTrackerPoint);n.pie&amp;&amp;(n.pie.prototype.drawTracker=J.drawTrackerPoint);n.scatter&amp;&amp;(n.scatter.prototype.drawTracker=J.drawTrackerPoint);r(k.prototype,{setItemEvents:function(a,\nd,e){var c=this,f=c.chart.renderer.boxWrapper,g=\"highcharts-legend-\"+(a.series?\"point\":\"series\")+\"-active\";(e?d:a.legendGroup).on(\"mouseover\",function(){a.setState(\"hover\");f.addClass(g);d.css(c.options.itemHoverStyle)}).on(\"mouseout\",function(){d.css(b(a.visible?c.itemStyle:c.itemHiddenStyle));f.removeClass(g);a.setState()}).on(\"click\",function(b){var c=function(){a.setVisible&amp;&amp;a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent(\"legendItemClick\",b,c):u(a,\"legendItemClick\",b,c)})},\ncreateCheckboxForItem:function(a){a.checkbox=F(\"input\",{type:\"checkbox\",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,\"click\",function(b){u(a.series||a,\"checkboxClick\",{checked:b.target.checked,item:a},function(){a.select()})})}});m.legend.itemStyle.cursor=\"pointer\";r(A.prototype,{showResetZoom:function(){var a=this,b=m.lang,d=a.options.chart.resetZoomButton,e=d.theme,f=e.states,g=\"chart\"===d.relativeTo?null:\"plotBox\";this.resetZoomButton=\na.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},e,f&amp;&amp;f.hover).attr({align:d.position.align,title:b.resetZoomTitle}).addClass(\"highcharts-reset-zoom\").add().align(d.position,!1,g)},zoomOut:function(){var a=this;u(a,\"selection\",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,c=this.pointer,f=!1,g;!a||a.resetSelection?(l(this.axes,function(a){b=a.zoom()}),c.initiated=!1):l(a.xAxis.concat(a.yAxis),function(a){var d=a.axis;c[d.isXAxis?\"zoomX\":\"zoomY\"]&amp;&amp;(b=d.zoom(a.min,\na.max),d.displayBtn&amp;&amp;(f=!0))});g=this.resetZoomButton;f&amp;&amp;!g?this.showResetZoom():!f&amp;&amp;d(g)&amp;&amp;(this.resetZoomButton=g.destroy());b&amp;&amp;this.redraw(e(this.options.chart.animation,a&amp;&amp;a.animation,100&gt;this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&amp;&amp;l(d,function(a){a.setState()});l(\"xy\"===b?[1,0]:[1],function(b){b=c[b?\"xAxis\":\"yAxis\"][0];var d=b.horiz,f=a[d?\"chartX\":\"chartY\"],d=d?\"mouseDownX\":\"mouseDownY\",g=c[d],h=(b.pointRange||0)/2,k=b.getExtremes(),l=b.toValue(g-f,!0)+h,h=b.toValue(g+\nb.len-f,!0)-h,m=h&lt;l,g=m?h:l,l=m?l:h,h=Math.min(k.dataMin,b.toValue(b.toPixels(k.min)-b.minPixelPadding)),m=Math.max(k.dataMax,b.toValue(b.toPixels(k.max)+b.minPixelPadding)),n;n=h-g;0&lt;n&amp;&amp;(l+=n,g=h);n=l-m;0&lt;n&amp;&amp;(l=m,g-=n);b.series.length&amp;&amp;g!==k.min&amp;&amp;l!==k.max&amp;&amp;(b.setExtremes(g,l,!1,!1,{trigger:\"pan\"}),e=!0);c[d]=f});e&amp;&amp;c.redraw(!1);E(c.container,{cursor:\"move\"})}});r(v.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);c.firePointEvent(a?\"select\":\"unselect\",{accumulate:b},\nfunction(){c.selected=c.options.selected=a;d.options.data[g(c,d.data)]=c.options;c.setState(a&amp;&amp;\"select\");b||l(f.getSelectedPoints(),function(a){a.selected&amp;&amp;a!==c&amp;&amp;(a.selected=a.options.selected=!1,d.options.data[g(a,d.data)]=a.options,a.setState(\"\"),a.firePointEvent(\"unselect\"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent(\"mouseOut\");\nl(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var c=this,d=b(c.series.options.point,c.options).events;c.events=d;a.objectEach(d,function(a,b){C(c,b,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,g=this.series,k=g.options.states[a]||{},l=f[g.type].marker&amp;&amp;g.options.marker,m=l&amp;&amp;!1===l.enabled,n=l&amp;&amp;l.states&amp;&amp;l.states[a]||{},h=!1===n.enabled,t=g.stateMarkerGraphic,u=\nthis.marker||{},v=g.chart,y=g.halo,A,C=l&amp;&amp;g.markerAttribs;a=a||\"\";if(!(a===this.state&amp;&amp;!b||this.selected&amp;&amp;\"select\"!==a||!1===k.enabled||a&amp;&amp;(h||m&amp;&amp;!1===n.enabled)||a&amp;&amp;u.states&amp;&amp;u.states[a]&amp;&amp;!1===u.states[a].enabled)){C&amp;&amp;(A=g.markerAttribs(this,a));if(this.graphic)this.state&amp;&amp;this.graphic.removeClass(\"highcharts-point-\"+this.state),a&amp;&amp;this.graphic.addClass(\"highcharts-point-\"+a),this.graphic.animate(g.pointAttribs(this,a),e(v.options.chart.animation,k.animation)),A&amp;&amp;this.graphic.animate(A,e(v.options.chart.animation,\nn.animation,l.animation)),t&amp;&amp;t.hide();else{if(a&amp;&amp;n){l=u.symbol||g.symbol;t&amp;&amp;t.currentSymbol!==l&amp;&amp;(t=t.destroy());if(t)t[b?\"animate\":\"attr\"]({x:A.x,y:A.y});else l&amp;&amp;(g.stateMarkerGraphic=t=v.renderer.symbol(l,A.x,A.y,A.width,A.height).add(g.markerGroup),t.currentSymbol=l);t&amp;&amp;t.attr(g.pointAttribs(this,a))}t&amp;&amp;(t[a&amp;&amp;v.isInsidePlot(c,d,v.inverted)?\"show\":\"hide\"](),t.element.point=this)}(c=k.halo)&amp;&amp;c.size?(y||(g.halo=y=v.renderer.path().add((this.graphic||t).parentGroup)),y[b?\"animate\":\"attr\"]({d:this.haloPath(c.size)}),\ny.attr({\"class\":\"highcharts-halo highcharts-color-\"+e(this.colorIndex,g.colorIndex)}),y.point=this,y.attr(r({fill:this.color||g.color,\"fill-opacity\":c.opacity,zIndex:-1},c.attributes))):y&amp;&amp;y.point&amp;&amp;y.point.haloPath&amp;&amp;y.animate({d:y.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});r(y.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&amp;&amp;b!==this)b.onMouseOut();this.options.events.mouseOver&amp;&amp;\nu(this,\"mouseOver\");this.setState(\"hover\");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&amp;&amp;a.events.mouseOut&amp;&amp;u(this,\"mouseOut\");!d||this.stickyTracking||d.shared&amp;&amp;!this.noSharedTooltip||d.hide();this.setState()},setState:function(a){var b=this,c=b.options,d=b.graph,f=c.states,g=c.lineWidth,c=0;a=a||\"\";if(b.state!==a&amp;&amp;(l([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&amp;&amp;(b.state&amp;&amp;c.removeClass(\"highcharts-series-\"+\nb.state),a&amp;&amp;c.addClass(\"highcharts-series-\"+a))}),b.state=a,!f[a]||!1!==f[a].enabled)&amp;&amp;(a&amp;&amp;(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0)),d&amp;&amp;!d.dashstyle))for(g={\"stroke-width\":g},d.animate(g,e(b.chart.options.chart.animation,f[a]&amp;&amp;f[a].animation));b[\"zone-graph-\"+c];)b[\"zone-graph-\"+c].attr(g),c+=1},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,k=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!k:a)?\"show\":\"hide\";l([\"group\",\n\"dataLabelsGroup\",\"markerGroup\",\"tracker\",\"tt\"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&amp;&amp;d.hoverPoint.series)===c)c.onMouseOut();e&amp;&amp;d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&amp;&amp;l(d.series,function(a){a.options.stacking&amp;&amp;a.visible&amp;&amp;(a.isDirty=!0)});l(c.linkedSeries,function(b){b.setVisible(a,!1)});g&amp;&amp;(d.isDirtyBox=!0);!1!==b&amp;&amp;d.redraw();u(c,f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===\na?!this.selected:a;this.checkbox&amp;&amp;(this.checkbox.checked=a);u(this,a?\"select\":\"unselect\")},drawTracker:J.drawTrackerGraph})})(M);(function(a){var C=a.Chart,A=a.each,F=a.inArray,E=a.isArray,m=a.isObject,f=a.pick,l=a.splat;C.prototype.setResponsive=function(f){var l=this.options.responsive,m=[],g=this.currentResponsive;l&amp;&amp;l.rules&amp;&amp;A(l.rules,function(d){void 0===d._id&amp;&amp;(d._id=a.uniqueKey());this.matchResponsiveRule(d,m,f)},this);var d=a.merge.apply(0,a.map(m,function(d){return a.find(l.rules,function(a){return a._id===\nd}).chartOptions})),m=m.toString()||void 0;m!==(g&amp;&amp;g.ruleIds)&amp;&amp;(g&amp;&amp;this.update(g.undoOptions,f),m?(this.currentResponsive={ruleIds:m,mergedOptions:d,undoOptions:this.currentOptions(d)},this.update(d,f)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,l){var m=a.condition;(m.callback||function(){return this.chartWidth&lt;=f(m.maxWidth,Number.MAX_VALUE)&amp;&amp;this.chartHeight&lt;=f(m.maxHeight,Number.MAX_VALUE)&amp;&amp;this.chartWidth&gt;=f(m.minWidth,0)&amp;&amp;this.chartHeight&gt;=f(m.minHeight,0)}).call(this)&amp;&amp;\nl.push(a._id)};C.prototype.currentOptions=function(f){function r(f,d,k,b){var e;a.objectEach(f,function(a,g){if(!b&amp;&amp;-1&lt;F(g,[\"series\",\"xAxis\",\"yAxis\"]))for(f[g]=l(f[g]),k[g]=[],e=0;e&lt;f[g].length;e++)d[g][e]&amp;&amp;(k[g][e]={},r(a[e],d[g][e],k[g][e],b+1));else m(a)?(k[g]=E(a)?[]:{},r(a,d[g]||{},k[g],b+1)):k[g]=d[g]||null})}var t={};r(f,this.options,t,0);return t}})(M);return M});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-01 22:59:31&lt;/sys_created_on&gt;&lt;sys_id&gt;bef620b7dbf7eb00d1a151735e961985&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Highcharts JS v5.0.14&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_bef620b7dbf7eb00d1a151735e961985&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;trevor.roberts&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-06 22:52:39&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2065926442</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>f25bd411dbd53f40120e7b931f961982</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a8f595cfe0000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table/>\n<target_name>Highcharts JS v5.0.14</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>576e5405d895fb40fb508c560548e5b2</update_guid>\n<update_guid_history>576e5405d895fb40fb508c560548e5b2:-2065926442,581720b776f7eb006574a19e260cf38d:155399974</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>retrieved</category>\n<comments/>\n<name>sp_js_include_3bc7ab6fdbffab00d1a151735e96190a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>highcharts-ng.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>Allisa.Liberto</sys_created_by><sys_created_on>2019-03-01 18:24:25</sys_created_on><sys_id>3bc7ab6fdbffab00d1a151735e96190a</sys_id><sys_mod_count>1</sys_mod_count><sys_name>highcharts-ng.js</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"highcharts-ng.js\">83a7e76fdbffab00d1a151735e96192e</sys_ui_script><sys_update_name>sp_js_include_3bc7ab6fdbffab00d1a151735e96190a</sys_update_name><sys_updated_by>Allisa.Liberto</sys_updated_by><sys_updated_on>2019-03-01 18:25:06</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-724076173</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>f65bd411dbd53f40120e7b931f961981</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1693a80b0f30000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table>sn_customerservice_case</table>\n<target_name>highcharts-ng.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>a048ab6fd4ffab00790efe6eeb6c8f47</update_guid>\n<update_guid_history>a048ab6fd4ffab00790efe6eeb6c8f47:-724076173,6218e76f6dffab0012a2318403446b7d:340300951</update_guid_history>\n<update_set display_value=\"\"/>\n<view>RPTa38b3864db7be740d1a151735e961950</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>retrieved</category>\n<comments/>\n<name>m2m_sp_widget_dependency_0ea86c7fdbf7eb00d1a151735e9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"highcharts-ng\">c6356fe7dbffab00d1a151735e961920</sp_dependency><sp_widget display_value=\"highchart1\">c2d56a93dbfb6b00d1a151735e9619df</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-03-01 23:06:27</sys_created_on><sys_id>0ea86c7fdbf7eb00d1a151735e9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>highcharts-ng.highchart1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_0ea86c7fdbf7eb00d1a151735e9619ec</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2019-03-01 23:06:27</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>1487783296</payload_hash>\n<remote_update_set display_value=\"Group By Donut\">fa5bd411dbd53f40120e7b931f96197f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>trevor.roberts</sys_created_by>\n<sys_created_on>2019-05-07 17:17:43</sys_created_on>\n<sys_id>fa5bd411dbd53f40120e7b931f961980</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1693b82482d0000001</sys_recorded_at>\n<sys_updated_by>trevor.roberts</sys_updated_by>\n<sys_updated_on>2019-05-07 17:17:43</sys_updated_on>\n<table>sp_instance_vlist</table>\n<target_name>highcharts-ng.highchart1</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>02a86c7f6ff7eb0052265045c31732ee</update_guid>\n<update_guid_history>02a86c7f6ff7eb0052265045c31732ee:1487783296</update_guid_history>\n<update_set display_value=\"\"/>\n<view>RPTa38b3864db7be740d1a151735e961950</view>\n</sys_update_xml>\n</unload>"
  },
  {
    "path": "src/pe-group-by-donut/ui-script/pe-group-by-donut.module.u-client-script.js",
    "content": "'use strict';\n\nangular.module('highcharts-ng', [])\n  .directive('highchart', function () {\n    var seriesId = 0;\n    var ensureIds = function (series) {\n      series.forEach(function (s) {\n        if (!angular.isDefined(s.id)) {\n          s.id = 'series-' + seriesId++;\n        }\n      });\n    };\n\n    var getMergedOptions = function (element, options, series) {\n      var defaultOptions = {\n        chart: {\n          renderTo: element[0]\n        },\n        title: {},\n        series: []\n      };\n      var mergedOptions = {};\n      if (options) {\n        mergedOptions = $.extend(true, {}, defaultOptions, options);\n      } else {\n        mergedOptions = defaultOptions;\n      }\n      if(series) {\n        mergedOptions.series = series;\n      }\n      return mergedOptions;\n    };\n\n    return {\n      restrict: 'EC',\n      replace: false,\n      scope: {\n        series: '=',\n        options: '=',\n        title: '='\n      },\n      link: function (scope, element, attrs) {\n\n        var mergedOptions = getMergedOptions(element, scope.options, scope.series);\n        var chart = new Highcharts.Chart(mergedOptions);\n\n        scope.$watch('series', function (newSeries, oldSeries) {\n          //do nothing when called on registration\n          if (newSeries === oldSeries) return;\n          if (newSeries) {\n            ensureIds(newSeries);\n            var ids = [];\n\n            //Find series to add or update\n            newSeries.forEach(function (s) {\n              ids.push(s.id);\n              var chartSeries = chart.get(s.id);\n              if (chartSeries) {\n                chartSeries.update(angular.copy(s), false);\n              } else {\n                chart.addSeries(angular.copy(s), false);\n              }\n            });\n            //Now remove any missing series\n            chart.series.forEach(function (s) {\n              if (ids.indexOf(s.options.id) < 0) {\n                s.remove(false);\n              }\n            });\n            chart.redraw();\n          }\n\n\n        }, true);\n        scope.$watch('title', function (newTitle) {\n          chart.setTitle(newTitle, true);\n        }, true);\n        scope.$watch('options', function (newOptions, oldOptions, scope) {\n          //do nothing when called on registration\n          if (newOptions === oldOptions) return;\n          chart.destroy();\n          var mergedOptions = getMergedOptions(element, newOptions);\n          chart = new Highcharts.Chart(mergedOptions);\n          chart.setTitle(scope.title, true);\n          ensureIds(scope.series);\n          scope.series.forEach(function (s) {\n            chart.addSeries(angular.copy(s), false);\n          });\n          chart.redraw();\n\n        }, true);\n      }\n    };\n  });"
  },
  {
    "path": "src/pe-group-by-donut/ui-script/pe-group-by-donut.ui-script.js",
    "content": "/*\n Highcharts JS v5.0.14 (2017-07-28)\n\n (c) 2009-2016 Torstein Honsi\n\n License: www.highcharts.com/license\n*/\n(function(M,S){\"object\"===typeof module&&module.exports?module.exports=M.document?S(M):S:M.Highcharts=S(M)})(\"undefined\"!==typeof window?window:this,function(M){M=function(){var a=window,C=a.document,A=a.navigator&&a.navigator.userAgent||\"\",F=C&&C.createElementNS&&!!C.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\").createSVGRect,E=/(edge|msie|trident)/i.test(A)&&!window.opera,m=!F,f=/Firefox/.test(A),l=f&&4>parseInt(A.split(\"Firefox/\")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:\"Highcharts\",\nversion:\"5.0.14\",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:l,hasTouch:C&&void 0!==C.documentElement.ontouchstart,isMS:E,isWebKit:/AppleWebKit/.test(A),isFirefox:f,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:\"http://www.w3.org/2000/svg\",chartCount:0,seriesTypes:{},symbolSizes:{},svg:F,vml:m,win:a,marginNames:[\"plotTop\",\"marginRight\",\"marginBottom\",\"plotLeft\"],noop:function(){},charts:[]}}();(function(a){var C=[],A=a.charts,F=a.doc,E=a.win;a.error=function(m,f){m=a.isNumber(m)?\"Highcharts error #\"+\nm+\": www.highcharts.com/errors/\"+m:m;if(f)throw Error(m);E.console&&console.log(m)};a.Fx=function(a,f,l){this.options=f;this.elem=a;this.prop=l};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],l=[],r=this.now,u=a.length,t;if(1===r)l=this.toD;else if(u===f.length&&1>r)for(;u--;)t=parseFloat(a[u]),l[u]=isNaN(t)?a[u]:r*parseFloat(f[u]-t)+t;else l=f;this.elem.attr(\"d\",l,null,!0)},update:function(){var a=this.elem,f=this.prop,l=this.now,r=this.options.step;if(this[f+\"Setter\"])this[f+\n\"Setter\"]();else a.attr?a.element&&a.attr(f,l,null,!0):a.style[f]=l+this.unit;r&&r.call(a,l,this)},run:function(a,f,l){var r=this,m=function(a){return m.stopped?!1:r.step(a)},t;this.startTime=+new Date;this.start=a;this.end=f;this.unit=l;this.now=this.start;this.pos=0;m.elem=this.elem;m.prop=this.prop;m()&&1===C.push(m)&&(m.timerId=setInterval(function(){for(t=0;t<C.length;t++)C[t]()||C.splice(t--,1);C.length||clearInterval(m.timerId)},13))},step:function(m){var f=+new Date,l,r=this.options,u=this.elem,\nt=r.complete,g=r.duration,d=r.curAnim;u.attr&&!u.element?m=!1:m||f>=g+this.startTime?(this.now=this.end,this.pos=1,this.update(),l=d[this.prop]=!0,a.objectEach(d,function(a){!0!==a&&(l=!1)}),l&&t&&t.call(u),m=!1):(this.pos=r.easing((f-this.startTime)/g),this.now=this.start+(this.end-this.start)*this.pos,this.update(),m=!0);return m},initPath:function(m,f,l){function r(a){var c,e;for(n=a.length;n--;)c=\"M\"===a[n]||\"L\"===a[n],e=/[a-zA-Z]/.test(a[n+3]),c&&e&&a.splice(n+1,0,a[n+1],a[n+2],a[n+1],a[n+2])}\nfunction u(a,c){for(;a.length<v;){a[0]=c[v-a.length];var b=a.slice(0,e);[].splice.apply(a,[0,0].concat(b));D&&(b=a.slice(a.length-e),[].splice.apply(a,[a.length,0].concat(b)),n--)}a[0]=\"M\"}function t(a,c){for(var q=(v-a.length)/e;0<q&&q--;)y=a.slice().splice(a.length/J-e,e*J),y[0]=c[v-e-q*e],b&&(y[e-6]=y[e-2],y[e-5]=y[e-1]),[].splice.apply(a,[a.length/J,0].concat(y)),D&&q--}f=f||\"\";var g,d=m.startX,k=m.endX,b=-1<f.indexOf(\"C\"),e=b?7:3,v,y,n;f=f.split(\" \");l=l.slice();var D=m.isArea,J=D?2:1,c;b&&(r(f),\nr(l));if(d&&k){for(n=0;n<d.length;n++)if(d[n]===k[0]){g=n;break}else if(d[0]===k[k.length-d.length+n]){g=n;c=!0;break}void 0===g&&(f=[])}f.length&&a.isNumber(g)&&(v=l.length+g*J*e,c?(u(f,l),t(l,f)):(u(l,f),t(f,l)));return[f,l]}};a.Fx.prototype.fillSetter=a.Fx.prototype.strokeSetter=function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)};a.extend=function(a,f){var m;a||(a={});for(m in f)a[m]=f[m];return a};a.merge=function(){var m,f=arguments,l,r={},u=\nfunction(f,g){\"object\"!==typeof f&&(f={});a.objectEach(g,function(d,k){!a.isObject(d,!0)||a.isClass(d)||a.isDOMElement(d)?f[k]=g[k]:f[k]=u(f[k]||{},d)});return f};!0===f[0]&&(r=f[1],f=Array.prototype.slice.call(f,2));l=f.length;for(m=0;m<l;m++)r=u(r,f[m]);return r};a.pInt=function(a,f){return parseInt(a,f||10)};a.isString=function(a){return\"string\"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return\"[object Array]\"===a||\"[object Array Iterator]\"===a};a.isObject=function(m,\nf){return!!m&&\"object\"===typeof m&&(!f||!a.isArray(m))};a.isDOMElement=function(m){return a.isObject(m)&&\"number\"===typeof m.nodeType};a.isClass=function(m){var f=m&&m.constructor;return!(!a.isObject(m,!0)||a.isDOMElement(m)||!f||!f.name||\"Object\"===f.name)};a.isNumber=function(a){return\"number\"===typeof a&&!isNaN(a)};a.erase=function(a,f){for(var m=a.length;m--;)if(a[m]===f){a.splice(m,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(m,f,l){var r;a.isString(f)?a.defined(l)?\nm.setAttribute(f,l):m&&m.getAttribute&&(r=m.getAttribute(f)):a.defined(f)&&a.isObject(f)&&a.objectEach(f,function(a,f){m.setAttribute(f,a)});return r};a.splat=function(m){return a.isArray(m)?m:[m]};a.syncTimeout=function(a,f,l){if(f)return setTimeout(a,f,l);a.call(0,l)};a.pick=function(){var a=arguments,f,l,r=a.length;for(f=0;f<r;f++)if(l=a[f],void 0!==l&&null!==l)return l};a.css=function(m,f){a.isMS&&!a.svg&&f&&void 0!==f.opacity&&(f.filter=\"alpha(opacity\\x3d\"+100*f.opacity+\")\");a.extend(m.style,\nf)};a.createElement=function(m,f,l,r,u){m=F.createElement(m);var t=a.css;f&&a.extend(m,f);u&&t(m,{padding:0,border:\"none\",margin:0});l&&t(m,l);r&&r.appendChild(m);return m};a.extendClass=function(m,f){var l=function(){};l.prototype=new m;a.extend(l.prototype,f);return l};a.pad=function(a,f,l){return Array((f||2)+1-String(a).length).join(l||0)+a};a.relativeLength=function(a,f,l){return/%$/.test(a)?f*parseFloat(a)/100+(l||0):parseFloat(a)};a.wrap=function(a,f,l){var r=a[f];a[f]=function(){var a=Array.prototype.slice.call(arguments),\nf=arguments,g=this;g.proceed=function(){r.apply(g,arguments.length?arguments:f)};a.unshift(r);a=l.apply(this,a);g.proceed=null;return a}};a.getTZOffset=function(m){var f=a.Date;return 6E4*(f.hcGetTimezoneOffset&&f.hcGetTimezoneOffset(m)||f.hcTimezoneOffset||0)};a.dateFormat=function(m,f,l){if(!a.defined(f)||isNaN(f))return a.defaultOptions.lang.invalidDate||\"\";m=a.pick(m,\"%Y-%m-%d %H:%M:%S\");var r=a.Date,u=new r(f-a.getTZOffset(f)),t=u[r.hcGetHours](),g=u[r.hcGetDay](),d=u[r.hcGetDate](),k=u[r.hcGetMonth](),\nb=u[r.hcGetFullYear](),e=a.defaultOptions.lang,v=e.weekdays,y=e.shortWeekdays,n=a.pad,r=a.extend({a:y?y[g]:v[g].substr(0,3),A:v[g],d:n(d),e:n(d,2,\" \"),w:g,b:e.shortMonths[k],B:e.months[k],m:n(k+1),y:b.toString().substr(2,2),Y:b,H:n(t),k:t,I:n(t%12||12),l:t%12||12,M:n(u[r.hcGetMinutes]()),p:12>t?\"AM\":\"PM\",P:12>t?\"am\":\"pm\",S:n(u.getSeconds()),L:n(Math.round(f%1E3),3)},a.dateFormats);a.objectEach(r,function(a,e){for(;-1!==m.indexOf(\"%\"+e);)m=m.replace(\"%\"+e,\"function\"===typeof a?a(f):a)});return l?m.substr(0,\n1).toUpperCase()+m.substr(1):m};a.formatSingle=function(m,f){var l=/\\.([0-9])/,r=a.defaultOptions.lang;/f$/.test(m)?(l=(l=m.match(l))?l[1]:-1,null!==f&&(f=a.numberFormat(f,l,r.decimalPoint,-1<m.indexOf(\",\")?r.thousandsSep:\"\"))):f=a.dateFormat(m,f);return f};a.format=function(m,f){for(var l=\"{\",r=!1,u,t,g,d,k=[],b;m;){l=m.indexOf(l);if(-1===l)break;u=m.slice(0,l);if(r){u=u.split(\":\");t=u.shift().split(\".\");d=t.length;b=f;for(g=0;g<d;g++)b=b[t[g]];u.length&&(b=a.formatSingle(u.join(\":\"),b));k.push(b)}else k.push(u);\nm=m.slice(l+1);l=(r=!r)?\"}\":\"{\"}k.push(m);return k.join(\"\")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(m,f,l,r,u){var t,g=m;l=a.pick(l,1);t=m/l;f||(f=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(1===l?f=a.grep(f,function(a){return 0===a%1}):.1>=l&&(f=[1/l])));for(r=0;r<f.length&&!(g=f[r],u&&g*l>=m||!u&&t<=(f[r]+(f[r+1]||f[r]))/2);r++);return g=a.correctFloat(g*l,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=\nfunction(a,f){var l=a.length,r,m;for(m=0;m<l;m++)a[m].safeI=m;a.sort(function(a,g){r=f(a,g);return 0===r?a.safeI-g.safeI:r});for(m=0;m<l;m++)delete a[m].safeI};a.arrayMin=function(a){for(var f=a.length,l=a[0];f--;)a[f]<l&&(l=a[f]);return l};a.arrayMax=function(a){for(var f=a.length,l=a[0];f--;)a[f]>l&&(l=a[f]);return l};a.destroyObjectProperties=function(m,f){a.objectEach(m,function(a,r){a&&a!==f&&a.destroy&&a.destroy();delete m[r]})};a.discardElement=function(m){var f=a.garbageBin;f||(f=a.createElement(\"div\"));\nm&&f.appendChild(m);f.innerHTML=\"\"};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||14))};a.setAnimation=function(m,f){f.renderer.globalAnimation=a.pick(m,f.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,f,l,r){m=+m||0;f=+f;var u=a.defaultOptions.lang,t=(m.toString().split(\".\")[1]||\"\").split(\"e\")[0].length,\ng,d,k=m.toString().split(\"e\");-1===f?f=Math.min(t,20):a.isNumber(f)||(f=2);d=(Math.abs(k[1]?k[0]:m)+Math.pow(10,-Math.max(f,t)-1)).toFixed(f);t=String(a.pInt(d));g=3<t.length?t.length%3:0;l=a.pick(l,u.decimalPoint);r=a.pick(r,u.thousandsSep);m=(0>m?\"-\":\"\")+(g?t.substr(0,g)+r:\"\");m+=t.substr(g).replace(/(\\d{3})(?=\\d)/g,\"$1\"+r);f&&(m+=l+d.slice(-f));k[1]&&(m+=\"e\"+k[1]);return m};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(m,f,l){if(\"width\"===f)return Math.min(m.offsetWidth,\nm.scrollWidth)-a.getStyle(m,\"padding-left\")-a.getStyle(m,\"padding-right\");if(\"height\"===f)return Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,\"padding-top\")-a.getStyle(m,\"padding-bottom\");if(m=E.getComputedStyle(m,void 0))m=m.getPropertyValue(f),a.pick(l,!0)&&(m=a.pInt(m));return m};a.inArray=function(a,f){return f.indexOf?f.indexOf(a):[].indexOf.call(f,a)};a.grep=function(a,f){return[].filter.call(a,f)};a.find=function(a,f){return[].find.call(a,f)};a.map=function(a,f){for(var l=[],r=0,m=\na.length;r<m;r++)l[r]=f.call(a[r],a[r],r,a);return l};a.offset=function(a){var f=F.documentElement;a=a.getBoundingClientRect();return{top:a.top+(E.pageYOffset||f.scrollTop)-(f.clientTop||0),left:a.left+(E.pageXOffset||f.scrollLeft)-(f.clientLeft||0)}};a.stop=function(a,f){for(var l=C.length;l--;)C[l].elem!==a||f&&f!==C[l].prop||(C[l].stopped=!0)};a.each=function(a,f,l){return Array.prototype.forEach.call(a,f,l)};a.objectEach=function(a,f,l){for(var r in a)a.hasOwnProperty(r)&&f.call(l,a[r],r,a)};\na.addEvent=function(m,f,l){function r(a){a.target=a.srcElement||E;l.call(m,a)}var u=m.hcEvents=m.hcEvents||{};m.addEventListener?m.addEventListener(f,l,!1):m.attachEvent&&(m.hcEventsIE||(m.hcEventsIE={}),l.hcGetKey||(l.hcGetKey=a.uniqueKey()),m.hcEventsIE[l.hcGetKey]=r,m.attachEvent(\"on\"+f,r));u[f]||(u[f]=[]);u[f].push(l);return function(){a.removeEvent(m,f,l)}};a.removeEvent=function(m,f,l){function r(a,b){m.removeEventListener?m.removeEventListener(a,b,!1):m.attachEvent&&(b=m.hcEventsIE[b.hcGetKey],\nm.detachEvent(\"on\"+a,b))}function u(){var d,b;m.nodeName&&(f?(d={},d[f]=!0):d=g,a.objectEach(d,function(a,d){if(g[d])for(b=g[d].length;b--;)r(d,g[d][b])}))}var t,g=m.hcEvents,d;g&&(f?(t=g[f]||[],l?(d=a.inArray(l,t),-1<d&&(t.splice(d,1),g[f]=t),r(f,l)):(u(),g[f]=[])):(u(),m.hcEvents={}))};a.fireEvent=function(m,f,l,r){var u;u=m.hcEvents;var t,g;l=l||{};if(F.createEvent&&(m.dispatchEvent||m.fireEvent))u=F.createEvent(\"Events\"),u.initEvent(f,!0,!0),a.extend(u,l),m.dispatchEvent?m.dispatchEvent(u):m.fireEvent(f,\nu);else if(u)for(u=u[f]||[],t=u.length,l.target||a.extend(l,{preventDefault:function(){l.defaultPrevented=!0},target:m,type:f}),f=0;f<t;f++)(g=u[f])&&!1===g.call(m,l)&&l.preventDefault();r&&!l.defaultPrevented&&r(l)};a.animate=function(m,f,l){var r,u=\"\",t,g,d;a.isObject(l)||(d=arguments,l={duration:d[2],easing:d[3],complete:d[4]});a.isNumber(l.duration)||(l.duration=400);l.easing=\"function\"===typeof l.easing?l.easing:Math[l.easing]||Math.easeInOutSine;l.curAnim=a.merge(f);a.objectEach(f,function(d,\nb){a.stop(m,b);g=new a.Fx(m,l,b);t=null;\"d\"===b?(g.paths=g.initPath(m,m.d,f.d),g.toD=f.d,r=0,t=1):m.attr?r=m.attr(b):(r=parseFloat(a.getStyle(m,b))||0,\"opacity\"!==b&&(u=\"px\"));t||(t=d);t&&t.match&&t.match(\"px\")&&(t=t.replace(/px/g,\"\"));g.run(r,t,u)})};a.seriesType=function(m,f,l,r,u){var t=a.getOptions(),g=a.seriesTypes;t.plotOptions[m]=a.merge(t.plotOptions[f],l);g[m]=a.extendClass(g[f]||function(){},r);g[m].prototype.type=m;u&&(g[m].prototype.pointClass=a.extendClass(a.Point,u));return g[m]};a.uniqueKey=\nfunction(){var a=Math.random().toString(36).substring(2,9),f=0;return function(){return\"highcharts-\"+a+\"-\"+f++}}();E.jQuery&&(E.jQuery.fn.highcharts=function(){var m=[].slice.call(arguments);if(this[0])return m[0]?(new (a[a.isString(m[0])?m.shift():\"Chart\"])(this[0],m[0],m[1]),this):A[a.attr(this[0],\"data-highcharts-chart\")]});F&&!F.defaultView&&(a.getStyle=function(m,f){var l={width:\"clientWidth\",height:\"clientHeight\"}[f];if(m.style[f])return a.pInt(m.style[f]);\"opacity\"===f&&(f=\"filter\");if(l)return m.style.zoom=\n1,Math.max(m[l]-2*a.getStyle(m,\"padding\"),0);m=m.currentStyle[f.replace(/\\-(\\w)/g,function(a,f){return f.toUpperCase()})];\"filter\"===f&&(m=m.replace(/alpha\\(opacity=([0-9]+)\\)/,function(a,f){return f/100}));return\"\"===m?1:a.pInt(m)});Array.prototype.forEach||(a.each=function(a,f,l){for(var r=0,m=a.length;r<m;r++)if(!1===f.call(l,a[r],r,a))return r});Array.prototype.indexOf||(a.inArray=function(a,f){var l,r=0;if(f)for(l=f.length;r<l;r++)if(f[r]===a)return r;return-1});Array.prototype.filter||(a.grep=\nfunction(a,f){for(var l=[],r=0,m=a.length;r<m;r++)f(a[r],r)&&l.push(a[r]);return l});Array.prototype.find||(a.find=function(a,f){var l,r=a.length;for(l=0;l<r;l++)if(f(a[l],l))return a[l]})})(M);(function(a){var C=a.each,A=a.isNumber,F=a.map,E=a.merge,m=a.pInt;a.Color=function(f){if(!(this instanceof a.Color))return new a.Color(f);this.init(f)};a.Color.prototype={parsers:[{regex:/rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,parse:function(a){return[m(a[1]),\nm(a[2]),m(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,parse:function(a){return[m(a[1]),m(a[2]),m(a[3]),1]}}],names:{none:\"rgba(255,255,255,0)\",white:\"#ffffff\",black:\"#000000\"},init:function(f){var l,r,m,t;if((this.input=f=this.names[f&&f.toLowerCase?f.toLowerCase():\"\"]||f)&&f.stops)this.stops=F(f.stops,function(g){return new a.Color(g[1])});else if(f&&\"#\"===f.charAt()&&(l=f.length,f=parseInt(f.substr(1),16),7===l?r=[(f&16711680)>>16,(f&65280)>>\n8,f&255,1]:4===l&&(r=[(f&3840)>>4|(f&3840)>>8,(f&240)>>4|f&240,(f&15)<<4|f&15,1])),!r)for(m=this.parsers.length;m--&&!r;)t=this.parsers[m],(l=t.regex.exec(f))&&(r=t.parse(l));this.rgba=r||[]},get:function(a){var f=this.input,r=this.rgba,m;this.stops?(m=E(f),m.stops=[].concat(m.stops),C(this.stops,function(f,g){m.stops[g]=[m.stops[g][0],f.get(a)]})):m=r&&A(r[0])?\"rgb\"===a||!a&&1===r[3]?\"rgb(\"+r[0]+\",\"+r[1]+\",\"+r[2]+\")\":\"a\"===a?r[3]:\"rgba(\"+r.join(\",\")+\")\":f;return m},brighten:function(a){var f,r=this.rgba;\nif(this.stops)C(this.stops,function(f){f.brighten(a)});else if(A(a)&&0!==a)for(f=0;3>f;f++)r[f]+=m(255*a),0>r[f]&&(r[f]=0),255<r[f]&&(r[f]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,l){var f,m;a.rgba.length?(f=this.rgba,a=a.rgba,m=1!==a[3]||1!==f[3],a=(m?\"rgba(\":\"rgb(\")+Math.round(a[0]+(f[0]-a[0])*(1-l))+\",\"+Math.round(a[1]+(f[1]-a[1])*(1-l))+\",\"+Math.round(a[2]+(f[2]-a[2])*(1-l))+(m?\",\"+(a[3]+(f[3]-a[3])*(1-l)):\"\")+\")\"):a=a.input||\"none\";return a}};a.color=\nfunction(f){return new a.Color(f)}})(M);(function(a){var C,A,F=a.addEvent,E=a.animate,m=a.attr,f=a.charts,l=a.color,r=a.css,u=a.createElement,t=a.defined,g=a.deg2rad,d=a.destroyObjectProperties,k=a.doc,b=a.each,e=a.extend,v=a.erase,y=a.grep,n=a.hasTouch,D=a.inArray,J=a.isArray,c=a.isFirefox,G=a.isMS,q=a.isObject,B=a.isString,K=a.isWebKit,p=a.merge,z=a.noop,I=a.objectEach,L=a.pick,h=a.pInt,w=a.removeEvent,P=a.stop,H=a.svg,O=a.SVG_NS,Q=a.symbolSizes,R=a.win;C=a.SVGElement=function(){return this};e(C.prototype,\n{opacity:1,SVG_NS:O,textProps:\"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline\".split(\" \"),init:function(a,h){this.element=\"span\"===h?u(h):k.createElementNS(this.SVG_NS,h);this.renderer=a},animate:function(x,h,c){h=a.animObject(L(h,this.renderer.globalAnimation,!0));0!==h.duration?(c&&(h.complete=c),E(this,x,h)):(this.attr(x,null,c),h.step&&h.step.call(this));return this},colorGradient:function(x,h,c){var w=this.renderer,\ne,q,N,d,n,g,k,H,G,v,z=[],f;x.radialGradient?q=\"radialGradient\":x.linearGradient&&(q=\"linearGradient\");q&&(N=x[q],n=w.gradients,k=x.stops,v=c.radialReference,J(N)&&(x[q]=N={x1:N[0],y1:N[1],x2:N[2],y2:N[3],gradientUnits:\"userSpaceOnUse\"}),\"radialGradient\"===q&&v&&!t(N.gradientUnits)&&(d=N,N=p(N,w.getRadialAttr(v,d),{gradientUnits:\"userSpaceOnUse\"})),I(N,function(a,x){\"id\"!==x&&z.push(x,a)}),I(k,function(a){z.push(a)}),z=z.join(\",\"),n[z]?v=n[z].attr(\"id\"):(N.id=v=a.uniqueKey(),n[z]=g=w.createElement(q).attr(N).add(w.defs),\ng.radAttr=d,g.stops=[],b(k,function(x){0===x[1].indexOf(\"rgba\")?(e=a.color(x[1]),H=e.get(\"rgb\"),G=e.get(\"a\")):(H=x[1],G=1);x=w.createElement(\"stop\").attr({offset:x[0],\"stop-color\":H,\"stop-opacity\":G}).add(g);g.stops.push(x)})),f=\"url(\"+w.url+\"#\"+v+\")\",c.setAttribute(h,f),c.gradient=z,x.toString=function(){return f})},applyTextOutline:function(x){var h=this.element,c,w,p,e,q;-1!==x.indexOf(\"contrast\")&&(x=x.replace(/contrast/g,this.renderer.getContrast(h.style.fill)));x=x.split(\" \");w=x[x.length-1];\nif((p=x[0])&&\"none\"!==p&&a.svg){this.fakeTS=!0;x=[].slice.call(h.getElementsByTagName(\"tspan\"));this.ySetter=this.xSetter;p=p.replace(/(^[\\d\\.]+)(.*?)$/g,function(a,x,h){return 2*x+h});for(q=x.length;q--;)c=x[q],\"highcharts-text-outline\"===c.getAttribute(\"class\")&&v(x,h.removeChild(c));e=h.firstChild;b(x,function(a,x){0===x&&(a.setAttribute(\"x\",h.getAttribute(\"x\")),x=h.getAttribute(\"y\"),a.setAttribute(\"y\",x||0),null===x&&h.setAttribute(\"y\",0));a=a.cloneNode(1);m(a,{\"class\":\"highcharts-text-outline\",\nfill:w,stroke:w,\"stroke-width\":p,\"stroke-linejoin\":\"round\"});h.insertBefore(a,e)})}},attr:function(a,h,c,w){var x,p=this.element,e,q=this,b,N;\"string\"===typeof a&&void 0!==h&&(x=a,a={},a[x]=h);\"string\"===typeof a?q=(this[a+\"Getter\"]||this._defaultGetter).call(this,a,p):(I(a,function(x,h){b=!1;w||P(this,h);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(h)&&(e||(this.symbolAttr(a),e=!0),b=!0);!this.rotation||\"x\"!==h&&\"y\"!==h||(this.doTransform=!0);b||(N=this[h+\"Setter\"]||\nthis._defaultSetter,N.call(this,x,h,p),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(h)&&this.updateShadows(h,x,N))},this),this.afterSetters());c&&c();return q},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,h,c){for(var x=this.shadows,w=x.length;w--;)c.call(x[w],\"height\"===a?Math.max(h-(x[w].cutHeight||0),0):\"d\"===a?this.d:h,a,x[w])},addClass:function(a,h){var x=this.attr(\"class\")||\"\";-1===x.indexOf(a)&&\n(h||(a=(x+(x?\" \":\"\")+a).replace(\"  \",\" \")),this.attr(\"class\",a));return this},hasClass:function(a){return-1!==D(a,(this.attr(\"class\")||\"\").split(\" \"))},removeClass:function(a){return this.attr(\"class\",(this.attr(\"class\")||\"\").replace(a,\"\"))},symbolAttr:function(a){var x=this;b(\"x y r start end width height innerR anchorX anchorY\".split(\" \"),function(h){x[h]=L(a[h],x[h])});x.attr({d:x.renderer.symbols[x.symbolName](x.x,x.y,x.width,x.height,x)})},clip:function(a){return this.attr(\"clip-path\",a?\"url(\"+\nthis.renderer.url+\"#\"+a.id+\")\":\"none\")},crisp:function(a,h){var x=this,c={},w;h=h||a.strokeWidth||0;w=Math.round(h)%2/2;a.x=Math.floor(a.x||x.x||0)+w;a.y=Math.floor(a.y||x.y||0)+w;a.width=Math.floor((a.width||x.width||0)-2*w);a.height=Math.floor((a.height||x.height||0)-2*w);t(a.strokeWidth)&&(a.strokeWidth=h);I(a,function(a,h){x[h]!==a&&(x[h]=c[h]=a)});return c},css:function(a){var x=this.styles,c={},w=this.element,p,q=\"\",b,d=!x,n=[\"textOutline\",\"textOverflow\",\"width\"];a&&a.color&&(a.fill=a.color);\nx&&I(a,function(a,h){a!==x[h]&&(c[h]=a,d=!0)});d&&(x&&(a=e(x,c)),p=this.textWidth=a&&a.width&&\"auto\"!==a.width&&\"text\"===w.nodeName.toLowerCase()&&h(a.width),this.styles=a,p&&!H&&this.renderer.forExport&&delete a.width,G&&!H?r(this.element,a):(b=function(a,x){return\"-\"+x.toLowerCase()},I(a,function(a,x){-1===D(x,n)&&(q+=x.replace(/([A-Z])/g,b)+\":\"+a+\";\")}),q&&m(w,\"style\",q)),this.added&&(\"text\"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));\nreturn this},strokeWidth:function(){return this[\"stroke-width\"]||0},on:function(a,h){var x=this,c=x.element;n&&\"click\"===a?(c.ontouchstart=function(a){x.touchEventFired=Date.now();a.preventDefault();h.call(c,a)},c.onclick=function(a){(-1===R.navigator.userAgent.indexOf(\"Android\")||1100<Date.now()-(x.touchEventFired||0))&&h.call(c,a)}):c[\"on\"+a]=h;return this},setRadialReference:function(a){var x=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;x&&x.radAttr&&x.animate(this.renderer.getRadialAttr(a,\nx.radAttr));return this},translate:function(a,h){return this.attr({translateX:a,translateY:h})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,h=this.translateY||0,c=this.scaleX,w=this.scaleY,p=this.inverted,e=this.rotation,q=this.element;p&&(a+=this.width,h+=this.height);a=[\"translate(\"+a+\",\"+h+\")\"];p?a.push(\"rotate(90) scale(-1,1)\"):e&&a.push(\"rotate(\"+e+\" \"+(q.getAttribute(\"x\")||0)+\" \"+(q.getAttribute(\"y\")||0)+\")\");(t(c)||\nt(w))&&a.push(\"scale(\"+L(c,1)+\" \"+L(w,1)+\")\");a.length&&q.setAttribute(\"transform\",a.join(\" \"))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,h,c){var x,w,p,e,q={};w=this.renderer;p=w.alignedObjects;var b,d;if(a){if(this.alignOptions=a,this.alignByTranslate=h,!c||B(c))this.alignTo=x=c||\"renderer\",v(p,this),p.push(this),c=null}else a=this.alignOptions,h=this.alignByTranslate,x=this.alignTo;c=L(c,w[x],w);x=a.align;w=a.verticalAlign;p=(c.x||0)+(a.x||\n0);e=(c.y||0)+(a.y||0);\"right\"===x?b=1:\"center\"===x&&(b=2);b&&(p+=(c.width-(a.width||0))/b);q[h?\"translateX\":\"x\"]=Math.round(p);\"bottom\"===w?d=1:\"middle\"===w&&(d=2);d&&(e+=(c.height-(a.height||0))/d);q[h?\"translateY\":\"y\"]=Math.round(e);this[this.placed?\"animate\":\"attr\"](q);this.placed=!0;this.alignAttr=q;return this},getBBox:function(a,h){var x,c=this.renderer,w,p=this.element,q=this.styles,d,n=this.textStr,k,N=c.cache,H=c.cacheKeys,G;h=L(h,this.rotation);w=h*g;d=q&&q.fontSize;void 0!==n&&(G=n.toString(),\n-1===G.indexOf(\"\\x3c\")&&(G=G.replace(/[0-9]/g,\"0\")),G+=[\"\",h||0,d,q&&q.width,q&&q.textOverflow].join());G&&!a&&(x=N[G]);if(!x){if(p.namespaceURI===this.SVG_NS||c.forExport){try{(k=this.fakeTS&&function(a){b(p.querySelectorAll(\".highcharts-text-outline\"),function(x){x.style.display=a})})&&k(\"none\"),x=p.getBBox?e({},p.getBBox()):{width:p.offsetWidth,height:p.offsetHeight},k&&k(\"\")}catch(W){}if(!x||0>x.width)x={width:0,height:0}}else x=this.htmlGetBBox();c.isSVG&&(a=x.width,c=x.height,q&&\"11px\"===q.fontSize&&\n17===Math.round(c)&&(x.height=c=14),h&&(x.width=Math.abs(c*Math.sin(w))+Math.abs(a*Math.cos(w)),x.height=Math.abs(c*Math.cos(w))+Math.abs(a*Math.sin(w))));if(G&&0<x.height){for(;250<H.length;)delete N[H.shift()];N[G]||H.push(G);N[G]=x}}return x},show:function(a){return this.attr({visibility:a?\"inherit\":\"visible\"})},hide:function(){return this.attr({visibility:\"hidden\"})},fadeOut:function(a){var x=this;x.animate({opacity:0},{duration:a||150,complete:function(){x.attr({y:-9999})}})},add:function(a){var x=\nthis.renderer,h=this.element,c;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&x.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)c=this.zIndexSetter();c||(a?a.element:x.box).appendChild(h);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var x=a.parentNode;x&&x.removeChild(a)},destroy:function(){var a=this,h=a.element||{},c=a.renderer.isSVG&&\"SPAN\"===h.nodeName&&a.parentGroup,w=h.ownerSVGElement;h.onclick=h.onmouseout=h.onmouseover=h.onmousemove=\nh.point=null;P(a);a.clipPath&&w&&(b(w.querySelectorAll(\"[clip-path]\"),function(x){-1<x.getAttribute(\"clip-path\").indexOf(a.clipPath.element.id+\")\")&&x.removeAttribute(\"clip-path\")}),a.clipPath=a.clipPath.destroy());if(a.stops){for(w=0;w<a.stops.length;w++)a.stops[w]=a.stops[w].destroy();a.stops=null}a.safeRemoveChild(h);for(a.destroyShadows();c&&c.div&&0===c.div.childNodes.length;)h=c.parentGroup,a.safeRemoveChild(c.div),delete c.div,c=h;a.alignTo&&v(a.renderer.alignedObjects,a);I(a,function(x,h){delete a[h]});\nreturn null},shadow:function(a,h,c){var x=[],w,p,q=this.element,e,b,d,n;if(!a)this.destroyShadows();else if(!this.shadows){b=L(a.width,3);d=(a.opacity||.15)/b;n=this.parentInverted?\"(-1,-1)\":\"(\"+L(a.offsetX,1)+\", \"+L(a.offsetY,1)+\")\";for(w=1;w<=b;w++)p=q.cloneNode(0),e=2*b+1-2*w,m(p,{isShadow:\"true\",stroke:a.color||\"#000000\",\"stroke-opacity\":d*w,\"stroke-width\":e,transform:\"translate\"+n,fill:\"none\"}),c&&(m(p,\"height\",Math.max(m(p,\"height\")-e,0)),p.cutHeight=e),h?h.element.appendChild(p):q.parentNode.insertBefore(p,\nq),x.push(p);this.shadows=x}return this},destroyShadows:function(){b(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){\"circle\"===this.element.nodeName&&(\"x\"===a?a=\"cx\":\"y\"===a&&(a=\"cy\"));return this._defaultGetter(a)},_defaultGetter:function(a){a=L(this[a],this.element?this.element.getAttribute(a):null,0);/^[\\-0-9\\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,h,c){a&&a.join&&(a=a.join(\" \"));/(NaN| {2}|^$)/.test(a)&&(a=\"M 0 0\");this[h]!==\na&&(c.setAttribute(h,a),this[h]=a)},dashstyleSetter:function(a){var x,c=this[\"stroke-width\"];\"inherit\"===c&&(c=1);if(a=a&&a.toLowerCase()){a=a.replace(\"shortdashdotdot\",\"3,1,1,1,1,1,\").replace(\"shortdashdot\",\"3,1,1,1\").replace(\"shortdot\",\"1,1,\").replace(\"shortdash\",\"3,1,\").replace(\"longdash\",\"8,3,\").replace(/dot/g,\"1,3,\").replace(\"dash\",\"4,3,\").replace(/,$/,\"\").split(\",\");for(x=a.length;x--;)a[x]=h(a[x])*c;a=a.join(\",\").replace(/NaN/g,\"none\");this.element.setAttribute(\"stroke-dasharray\",a)}},alignSetter:function(a){this.element.setAttribute(\"text-anchor\",\n{left:\"start\",center:\"middle\",right:\"end\"}[a])},opacitySetter:function(a,h,c){this[h]=a;c.setAttribute(h,a)},titleSetter:function(a){var h=this.element.getElementsByTagName(\"title\")[0];h||(h=k.createElementNS(this.SVG_NS,\"title\"),this.element.appendChild(h));h.firstChild&&h.removeChild(h.firstChild);h.appendChild(k.createTextNode(String(L(a),\"\").replace(/<[^>]*>/g,\"\")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,\nh,c){\"string\"===typeof a?c.setAttribute(h,a):a&&this.colorGradient(a,h,c)},visibilitySetter:function(a,h,c){\"inherit\"===a?c.removeAttribute(h):this[h]!==a&&c.setAttribute(h,a);this[h]=a},zIndexSetter:function(a,c){var x=this.renderer,w=this.parentGroup,p=(w||x).element||x.box,q,e=this.element,b;q=this.added;var d;t(a)&&(e.zIndex=a,a=+a,this[c]===a&&(q=!1),this[c]=a);if(q){(a=this.zIndex)&&w&&(w.handleZ=!0);c=p.childNodes;for(d=0;d<c.length&&!b;d++)w=c[d],q=w.zIndex,w!==e&&(h(q)>a||!t(a)&&t(q)||0>\na&&!t(q)&&p!==x.box)&&(p.insertBefore(e,w),b=!0);b||p.appendChild(e)}return b},_defaultSetter:function(a,h,c){c.setAttribute(h,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=function(a,h){this[h]=a;this.doTransform=!0};C.prototype[\"stroke-widthSetter\"]=C.prototype.strokeSetter=function(a,h,c){this[h]=a;this.stroke&&this[\"stroke-width\"]?\n(C.prototype.fillSetter.call(this,this.stroke,\"stroke\",c),c.setAttribute(\"stroke-width\",this[\"stroke-width\"]),this.hasStroke=!0):\"stroke-width\"===h&&0===a&&this.hasStroke&&(c.removeAttribute(\"stroke\"),this.hasStroke=!1)};A=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(A.prototype,{Element:C,SVG_NS:O,init:function(a,h,w,p,q,e){var x;p=this.createElement(\"svg\").attr({version:\"1.1\",\"class\":\"highcharts-root\"}).css(this.getStyle(p));x=p.element;a.appendChild(x);-1===a.innerHTML.indexOf(\"xmlns\")&&\nm(x,\"xmlns\",this.SVG_NS);this.isSVG=!0;this.box=x;this.boxWrapper=p;this.alignedObjects=[];this.url=(c||K)&&k.getElementsByTagName(\"base\").length?R.location.href.replace(/#.*?$/,\"\").replace(/<[^>]*>/g,\"\").replace(/([\\('\\)])/g,\"\\\\$1\").replace(/ /g,\"%20\"):\"\";this.createElement(\"desc\").add().element.appendChild(k.createTextNode(\"Created with Highcharts 5.0.14\"));this.defs=this.createElement(\"defs\").add();this.allowHTML=e;this.forExport=q;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=\n0;this.setSize(h,w,!1);var b;c&&a.getBoundingClientRect&&(h=function(){r(a,{left:0,top:0});b=a.getBoundingClientRect();r(a,{left:Math.ceil(b.left)-b.left+\"px\",top:Math.ceil(b.top)-b.top+\"px\"})},h(),this.unSubPixelFix=F(R,\"resize\",h))},getStyle:function(a){return this.style=e({fontFamily:'\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif',fontSize:\"12px\"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=\nthis.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var h=new this.Element;h.init(this,a);return h},draw:z,getRadialAttr:function(a,h){return{cx:a[0]-a[2]/2+h.cx*a[2],cy:a[1]-a[2]/2+h.cy*a[2],r:h.r*a[2]}},getSpanWidth:function(a,h){var c=a.getBBox(!0).width;!H&&this.forExport&&(c=this.measureSpanWidth(h.firstChild.data,\na.styles));return c},applyEllipsis:function(a,h,c,w){var x=a.rotation,p=c,q,e=0,b=c.length,d=function(a){h.removeChild(h.firstChild);a&&h.appendChild(k.createTextNode(a))},n;a.rotation=0;p=this.getSpanWidth(a,h);if(n=p>w){for(;e<=b;)q=Math.ceil((e+b)/2),p=c.substring(0,q)+\"\\u2026\",d(p),p=this.getSpanWidth(a,h),e===b?e=b+1:p>w?b=q-1:e=q;0===b&&d(\"\")}a.rotation=x;return n},buildText:function(a){var c=a.element,w=this,x=w.forExport,p=L(a.textStr,\"\").toString(),q=-1!==p.indexOf(\"\\x3c\"),e=c.childNodes,\nd,n,g,G,v=m(c,\"x\"),z=a.styles,f=a.textWidth,I=z&&z.lineHeight,B=z&&z.textOutline,D=z&&\"ellipsis\"===z.textOverflow,l=z&&\"nowrap\"===z.whiteSpace,P=z&&z.fontSize,t,J,u=e.length,z=f&&!a.added&&this.box,K=function(a){var x;x=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:P||w.style.fontSize||12;return I?h(I):w.fontMetrics(x,a.getAttribute(\"style\")?a:c).h};t=[p,D,l,I,B,P,f].join();if(t!==a.textCache){for(a.textCache=t;u--;)c.removeChild(e[u]);q||B||D||f||-1!==p.indexOf(\" \")?(d=/<.*class=\"([^\"]+)\".*>/,\nn=/<.*style=\"([^\"]+)\".*>/,g=/<.*href=\"([^\"]+)\".*>/,z&&z.appendChild(c),p=q?p.replace(/<(b|strong)>/g,'\\x3cspan style\\x3d\"font-weight:bold\"\\x3e').replace(/<(i|em)>/g,'\\x3cspan style\\x3d\"font-style:italic\"\\x3e').replace(/<a/g,\"\\x3cspan\").replace(/<\\/(b|strong|i|em|a)>/g,\"\\x3c/span\\x3e\").split(/<br.*?>/g):[p],p=y(p,function(a){return\"\"!==a}),b(p,function(h,p){var q,e=0;h=h.replace(/^\\s+|\\s+$/g,\"\").replace(/<span/g,\"|||\\x3cspan\").replace(/<\\/span>/g,\"\\x3c/span\\x3e|||\");q=h.split(\"|||\");b(q,function(h){if(\"\"!==\nh||1===q.length){var b={},z=k.createElementNS(w.SVG_NS,\"tspan\"),y,I;d.test(h)&&(y=h.match(d)[1],m(z,\"class\",y));n.test(h)&&(I=h.match(n)[1].replace(/(;| |^)color([ :])/,\"$1fill$2\"),m(z,\"style\",I));g.test(h)&&!x&&(m(z,\"onclick\",'location.href\\x3d\"'+h.match(g)[1]+'\"'),r(z,{cursor:\"pointer\"}));h=(h.replace(/<(.|\\n)*?>/g,\"\")||\" \").replace(/&lt;/g,\"\\x3c\").replace(/&gt;/g,\"\\x3e\");if(\" \"!==h){z.appendChild(k.createTextNode(h));e?b.dx=0:p&&null!==v&&(b.x=v);m(z,b);c.appendChild(z);!e&&J&&(!H&&x&&r(z,{display:\"block\"}),\nm(z,\"dy\",K(z)));if(f){b=h.replace(/([^\\^])-/g,\"$1- \").split(\" \");y=1<q.length||p||1<b.length&&!l;var B=[],N,P=K(z),t=a.rotation;for(D&&(G=w.applyEllipsis(a,z,h,f));!D&&y&&(b.length||B.length);)a.rotation=0,N=w.getSpanWidth(a,z),h=N>f,void 0===G&&(G=h),h&&1!==b.length?(z.removeChild(z.firstChild),B.unshift(b.pop())):(b=B,B=[],b.length&&!l&&(z=k.createElementNS(O,\"tspan\"),m(z,{dy:P,x:v}),I&&m(z,\"style\",I),c.appendChild(z)),N>f&&(f=N)),b.length&&z.appendChild(k.createTextNode(b.join(\" \").replace(/- /g,\n\"-\")));a.rotation=t}e++}}});J=J||c.childNodes.length}),G&&a.attr(\"title\",a.textStr),z&&z.removeChild(c),B&&a.applyTextOutline&&a.applyTextOutline(B)):c.appendChild(k.createTextNode(p.replace(/&lt;/g,\"\\x3c\").replace(/&gt;/g,\"\\x3e\")))}},getContrast:function(a){a=l(a).rgba;return 510<a[0]+a[1]+a[2]?\"#000000\":\"#FFFFFF\"},button:function(a,h,c,w,q,b,d,n,g){var x=this.label(a,h,c,g,null,null,null,null,\"button\"),k=0;x.attr(p({padding:8,r:2},q));var z,H,v,f;q=p({fill:\"#f7f7f7\",stroke:\"#cccccc\",\"stroke-width\":1,\nstyle:{color:\"#333333\",cursor:\"pointer\",fontWeight:\"normal\"}},q);z=q.style;delete q.style;b=p(q,{fill:\"#e6e6e6\"},b);H=b.style;delete b.style;d=p(q,{fill:\"#e6ebf5\",style:{color:\"#000000\",fontWeight:\"bold\"}},d);v=d.style;delete d.style;n=p(q,{style:{color:\"#cccccc\"}},n);f=n.style;delete n.style;F(x.element,G?\"mouseover\":\"mouseenter\",function(){3!==k&&x.setState(1)});F(x.element,G?\"mouseout\":\"mouseleave\",function(){3!==k&&x.setState(k)});x.setState=function(a){1!==a&&(x.state=k=a);x.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(\"highcharts-button-\"+\n[\"normal\",\"hover\",\"pressed\",\"disabled\"][a||0]);x.attr([q,b,d,n][a||0]).css([z,H,v,f][a||0])};x.attr(q).css(e({cursor:\"default\"},z));return x.on(\"click\",function(a){3!==k&&w.call(x,a)})},crispLine:function(a,h){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-h%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+h%2/2);return a},path:function(a){var h={fill:\"none\"};J(a)?h.d=a:q(a)&&e(h,a);return this.createElement(\"path\").attr(h)},circle:function(a,h,c){a=q(a)?a:{x:a,y:h,r:c};h=this.createElement(\"circle\");h.xSetter=\nh.ySetter=function(a,h,c){c.setAttribute(\"c\"+h,a)};return h.attr(a)},arc:function(a,h,c,w,p,b){q(a)?(w=a,h=w.y,c=w.r,a=w.x):w={innerR:w,start:p,end:b};a=this.symbol(\"arc\",a,h,c,c,w);a.r=c;return a},rect:function(a,h,c,w,p,b){p=q(a)?a.r:p;var x=this.createElement(\"rect\");a=q(a)?a:void 0===a?{}:{x:a,y:h,width:Math.max(c,0),height:Math.max(w,0)};void 0!==b&&(a.strokeWidth=b,a=x.crisp(a));a.fill=\"none\";p&&(a.r=p);x.rSetter=function(a,h,c){m(c,{rx:a,ry:a})};return x.attr(a)},setSize:function(a,h,c){var w=\nthis.alignedObjects,p=w.length;this.width=a;this.height=h;for(this.boxWrapper.animate({width:a,height:h},{step:function(){this.attr({viewBox:\"0 0 \"+this.attr(\"width\")+\" \"+this.attr(\"height\")})},duration:L(c,!0)?void 0:0});p--;)w[p].align()},g:function(a){var h=this.createElement(\"g\");return a?h.attr({\"class\":\"highcharts-\"+a}):h},image:function(a,h,c,w,p){var x={preserveAspectRatio:\"none\"};1<arguments.length&&e(x,{x:h,y:c,width:w,height:p});x=this.createElement(\"image\").attr(x);x.element.setAttributeNS?\nx.element.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",a):x.element.setAttribute(\"hc-svg-href\",a);return x},symbol:function(a,h,c,w,p,q){var x=this,d,n=/^url\\((.*?)\\)$/,g=n.test(a),z=!g&&(this.symbols[a]?a:\"circle\"),G=z&&this.symbols[z],H=t(h)&&G&&G.call(this.symbols,Math.round(h),Math.round(c),w,p,q),v,y;G?(d=this.path(H),d.attr(\"fill\",\"none\"),e(d,{symbolName:z,x:h,y:c,width:w,height:p}),q&&e(d,q)):g&&(v=a.match(n)[1],d=this.image(v),d.imgwidth=L(Q[v]&&Q[v].width,q&&q.width),d.imgheight=\nL(Q[v]&&Q[v].height,q&&q.height),y=function(){d.attr({width:d.width,height:d.height})},b([\"width\",\"height\"],function(a){d[a+\"Setter\"]=function(a,h){var c={},w=this[\"img\"+h],p=\"width\"===h?\"translateX\":\"translateY\";this[h]=a;t(w)&&(this.element&&this.element.setAttribute(h,w),this.alignByTranslate||(c[p]=((this[h]||0)-w)/2,this.attr(c)))}}),t(h)&&d.attr({x:h,y:c}),d.isImg=!0,t(d.imgwidth)&&t(d.imgheight)?y():(d.attr({width:0,height:0}),u(\"img\",{onload:function(){var a=f[x.chartIndex];0===this.width&&\n(r(this,{position:\"absolute\",top:\"-999em\"}),k.body.appendChild(this));Q[v]={width:this.width,height:this.height};d.imgwidth=this.width;d.imgheight=this.height;d.element&&y();this.parentNode&&this.parentNode.removeChild(this);x.imgCount--;if(!x.imgCount&&a&&a.onload)a.onload()},src:v}),this.imgCount++));return d},symbols:{circle:function(a,h,c,w){return this.arc(a+c/2,h+w/2,c/2,w/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,h,c,w){return[\"M\",a,h,\"L\",a+c,h,a+c,h+w,a,h+w,\"Z\"]},triangle:function(a,\nh,c,w){return[\"M\",a+c/2,h,\"L\",a+c,h+w,a,h+w,\"Z\"]},\"triangle-down\":function(a,h,c,w){return[\"M\",a,h,\"L\",a+c,h,a+c/2,h+w,\"Z\"]},diamond:function(a,h,c,w){return[\"M\",a+c/2,h,\"L\",a+c,h+w/2,a+c/2,h+w,a,h+w/2,\"Z\"]},arc:function(a,h,c,w,p){var q=p.start,b=p.r||c,x=p.r||w||c,e=p.end-.001;c=p.innerR;w=L(p.open,.001>Math.abs(p.end-p.start-2*Math.PI));var d=Math.cos(q),n=Math.sin(q),g=Math.cos(e),e=Math.sin(e);p=.001>p.end-q-Math.PI?0:1;b=[\"M\",a+b*d,h+x*n,\"A\",b,x,0,p,1,a+b*g,h+x*e];t(c)&&b.push(w?\"M\":\"L\",a+c*\ng,h+c*e,\"A\",c,c,0,p,0,a+c*d,h+c*n);b.push(w?\"\":\"Z\");return b},callout:function(a,h,c,w,p){var q=Math.min(p&&p.r||0,c,w),b=q+6,e=p&&p.anchorX;p=p&&p.anchorY;var d;d=[\"M\",a+q,h,\"L\",a+c-q,h,\"C\",a+c,h,a+c,h,a+c,h+q,\"L\",a+c,h+w-q,\"C\",a+c,h+w,a+c,h+w,a+c-q,h+w,\"L\",a+q,h+w,\"C\",a,h+w,a,h+w,a,h+w-q,\"L\",a,h+q,\"C\",a,h,a,h,a+q,h];e&&e>c?p>h+b&&p<h+w-b?d.splice(13,3,\"L\",a+c,p-6,a+c+6,p,a+c,p+6,a+c,h+w-q):d.splice(13,3,\"L\",a+c,w/2,e,p,a+c,w/2,a+c,h+w-q):e&&0>e?p>h+b&&p<h+w-b?d.splice(33,3,\"L\",a,p+6,a-6,p,a,p-6,\na,h+q):d.splice(33,3,\"L\",a,w/2,e,p,a,w/2,a,h+q):p&&p>w&&e>a+b&&e<a+c-b?d.splice(23,3,\"L\",e+6,h+w,e,h+w+6,e-6,h+w,a+q,h+w):p&&0>p&&e>a+b&&e<a+c-b&&d.splice(3,3,\"L\",e-6,h,e,h-6,e+6,h,c-q,h);return d}},clipRect:function(h,c,w,p){var q=a.uniqueKey(),b=this.createElement(\"clipPath\").attr({id:q}).add(this.defs);h=this.rect(h,c,w,p,0).add(b);h.id=q;h.clipPath=b;h.count=0;return h},text:function(a,h,c,w){var p=!H&&this.forExport,q={};if(w&&(this.allowHTML||!this.forExport))return this.html(a,h,c);q.x=Math.round(h||\n0);c&&(q.y=Math.round(c));if(a||0===a)q.text=a;a=this.createElement(\"text\").attr(q);p&&a.css({position:\"absolute\"});w||(a.xSetter=function(a,h,c){var w=c.getElementsByTagName(\"tspan\"),p,q=c.getAttribute(h),b;for(b=0;b<w.length;b++)p=w[b],p.getAttribute(h)===q&&p.setAttribute(h,a);c.setAttribute(h,a)});return a},fontMetrics:function(a,c){a=a||c&&c.style&&c.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?h(a):/em/.test(a)?parseFloat(a)*(c?this.fontMetrics(null,c.parentNode).f:16):12;\nc=24>a?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}},rotCorr:function(a,h,c){var w=a;h&&c&&(w=Math.max(w*Math.cos(h*g),4));return{x:-a/3*Math.sin(h*g),y:w}},label:function(h,c,q,d,n,g,k,z,G){var x=this,H=x.g(\"button\"!==G&&\"label\"),v=H.text=x.text(\"\",0,0,k).attr({zIndex:1}),f,y,I=0,B=3,D=0,r,l,P,m,J,O={},L,u,N=/^url\\((.*?)\\)$/.test(d),K=N,U,T,Q,R;G&&H.addClass(\"highcharts-\"+G);K=N;U=function(){return(L||0)%2/2};T=function(){var a=v.element.style,h={};y=(void 0===r||void 0===l||J)&&t(v.textStr)&&\nv.getBBox();H.width=(r||y.width||0)+2*B+D;H.height=(l||y.height||0)+2*B;u=B+x.fontMetrics(a&&a.fontSize,v).b;K&&(f||(H.box=f=x.symbols[d]||N?x.symbol(d):x.rect(),f.addClass((\"button\"===G?\"\":\"highcharts-label-box\")+(G?\" highcharts-\"+G+\"-box\":\"\")),f.add(H),a=U(),h.x=a,h.y=(z?-u:0)+a),h.width=Math.round(H.width),h.height=Math.round(H.height),f.attr(e(h,O)),O={})};Q=function(){var a=D+B,h;h=z?0:u;t(r)&&y&&(\"center\"===J||\"right\"===J)&&(a+={center:.5,right:1}[J]*(r-y.width));if(a!==v.x||h!==v.y)v.attr(\"x\",\na),void 0!==h&&v.attr(\"y\",h);v.x=a;v.y=h};R=function(a,h){f?f.attr(a,h):O[a]=h};H.onAdd=function(){v.add(H);H.attr({text:h||0===h?h:\"\",x:c,y:q});f&&t(n)&&H.attr({anchorX:n,anchorY:g})};H.widthSetter=function(h){r=a.isNumber(h)?h:null};H.heightSetter=function(a){l=a};H[\"text-alignSetter\"]=function(a){J=a};H.paddingSetter=function(a){t(a)&&a!==B&&(B=H.padding=a,Q())};H.paddingLeftSetter=function(a){t(a)&&a!==D&&(D=a,Q())};H.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==I&&(I=a,y&&H.attr({x:P}))};\nH.textSetter=function(a){void 0!==a&&v.textSetter(a);T();Q()};H[\"stroke-widthSetter\"]=function(a,h){a&&(K=!0);L=this[\"stroke-width\"]=a;R(h,a)};H.strokeSetter=H.fillSetter=H.rSetter=function(a,h){\"r\"!==h&&(\"fill\"===h&&a&&(K=!0),H[h]=a);R(h,a)};H.anchorXSetter=function(a,h){n=H.anchorX=a;R(h,Math.round(a)-U()-P)};H.anchorYSetter=function(a,h){g=H.anchorY=a;R(h,a-m)};H.xSetter=function(a){H.x=a;I&&(a-=I*((r||y.width)+2*B));P=Math.round(a);H.attr(\"translateX\",P)};H.ySetter=function(a){m=H.y=Math.round(a);\nH.attr(\"translateY\",m)};var V=H.css;return e(H,{css:function(a){if(a){var h={};a=p(a);b(H.textProps,function(c){void 0!==a[c]&&(h[c]=a[c],delete a[c])});v.css(h)}return V.call(H,a)},getBBox:function(){return{width:y.width+2*B,height:y.height+2*B,x:y.x-B,y:y.y-B}},shadow:function(a){a&&(T(),f&&f.shadow(a));return H},destroy:function(){w(H.element,\"mouseenter\");w(H.element,\"mouseleave\");v&&(v=v.destroy());f&&(f=f.destroy());C.prototype.destroy.call(H);H=x=T=Q=R=null}})}});a.Renderer=A})(M);(function(a){var C=\na.attr,A=a.createElement,F=a.css,E=a.defined,m=a.each,f=a.extend,l=a.isFirefox,r=a.isMS,u=a.isWebKit,t=a.pInt,g=a.SVGRenderer,d=a.win,k=a.wrap;f(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&\"SPAN\"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&\"ellipsis\"===a.textOverflow&&(a.whiteSpace=\"nowrap\",a.overflow=\"hidden\");this.styles=f(this.styles,a);F(this.element,a);return this},htmlGetBBox:function(){var a=this.element;\"text\"===a.nodeName&&(a.style.position=\n\"absolute\");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,e=this.element,d=this.translateX||0,g=this.translateY||0,n=this.x||0,k=this.y||0,f=this.textAlign||\"left\",c={left:0,center:.5,right:1}[f],G=this.styles;F(e,{marginLeft:d,marginTop:g});this.shadows&&m(this.shadows,function(a){F(a,{marginLeft:d+1,marginTop:g+1})});this.inverted&&m(e.childNodes,function(c){a.invertChild(c,e)});if(\"SPAN\"===e.tagName){var q=\nthis.rotation,B=t(this.textWidth),r=G&&G.whiteSpace,p=[q,f,e.innerHTML,this.textWidth,this.textAlign].join();p!==this.cTT&&(G=a.fontMetrics(e.style.fontSize).b,E(q)&&this.setSpanRotation(q,c,G),F(e,{width:\"\",whiteSpace:r||\"nowrap\"}),e.offsetWidth>B&&/[ \\-]/.test(e.textContent||e.innerText)&&F(e,{width:B+\"px\",display:\"block\",whiteSpace:r||\"normal\"}),this.getSpanCorrection(e.offsetWidth,G,c,q,f));F(e,{left:n+(this.xCorr||0)+\"px\",top:k+(this.yCorr||0)+\"px\"});u&&(G=e.offsetHeight);this.cTT=p}}else this.alignOnAdd=\n!0},setSpanRotation:function(a,e,g){var b={},n=r?\"-ms-transform\":u?\"-webkit-transform\":l?\"MozTransform\":d.opera?\"-o-transform\":\"\";b[n]=b.transform=\"rotate(\"+a+\"deg)\";b[n+(l?\"Origin\":\"-origin\")]=b.transformOrigin=100*e+\"% \"+g+\"px\";F(this.element,b)},getSpanCorrection:function(a,e,d){this.xCorr=-a*d;this.yCorr=-e}});f(g.prototype,{html:function(a,e,d){var b=this.createElement(\"span\"),n=b.element,g=b.renderer,v=g.isSVG,c=function(a,c){m([\"opacity\",\"visibility\"],function(q){k(a,q+\"Setter\",function(a,\np,q,b){a.call(this,p,q,b);c[q]=p})})};b.textSetter=function(a){a!==n.innerHTML&&delete this.bBox;n.innerHTML=this.textStr=a;b.htmlUpdateTransform()};v&&c(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,c){\"align\"===c&&(c=\"textAlign\");b[c]=a;b.htmlUpdateTransform()};b.attr({text:a,x:Math.round(e),y:Math.round(d)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:\"absolute\"});n.style.whiteSpace=\"nowrap\";b.css=b.htmlCss;v&&(b.add=function(a){var q,\ne=g.box.parentNode,d=[];if(this.parentGroup=a){if(q=a.div,!q){for(;a;)d.push(a),a=a.parentGroup;m(d.reverse(),function(a){var p,n=C(a.element,\"class\");n&&(n={className:n});q=a.div=a.div||A(\"div\",n,{position:\"absolute\",left:(a.translateX||0)+\"px\",top:(a.translateY||0)+\"px\",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},q||e);p=q.style;f(a,{classSetter:function(a){this.element.setAttribute(\"class\",a);q.className=a},on:function(){d[0].div&&b.on.apply({element:d[0].div},\narguments);return a},translateXSetter:function(c,h){p.left=c+\"px\";a[h]=c;a.doTransform=!0},translateYSetter:function(c,h){p.top=c+\"px\";a[h]=c;a.doTransform=!0}});c(a,p)})}}else q=e;q.appendChild(n);b.added=!0;b.alignOnAdd&&b.htmlUpdateTransform();return b});return b}})})(M);(function(a){var C,A,F=a.createElement,E=a.css,m=a.defined,f=a.deg2rad,l=a.discardElement,r=a.doc,u=a.each,t=a.erase,g=a.extend;C=a.extendClass;var d=a.isArray,k=a.isNumber,b=a.isObject,e=a.merge;A=a.noop;var v=a.pick,y=a.pInt,\nn=a.SVGElement,D=a.SVGRenderer,J=a.win;a.svg||(A={docMode8:r&&8===r.documentMode,init:function(a,b){var c=[\"\\x3c\",b,' filled\\x3d\"f\" stroked\\x3d\"f\"'],e=[\"position: \",\"absolute\",\";\"],d=\"div\"===b;(\"shape\"===b||d)&&e.push(\"left:0;top:0;width:1px;height:1px;\");e.push(\"visibility: \",d?\"hidden\":\"visible\");c.push(' style\\x3d\"',e.join(\"\"),'\"/\\x3e');b&&(c=d||\"span\"===b||\"img\"===b?c.join(\"\"):a.prepVML(c),this.element=F(c));this.renderer=a},add:function(a){var c=this.renderer,b=this.element,e=c.box,d=a&&a.inverted,\ne=a?a.element||a:e;a&&(this.parentGroup=a);d&&c.invertChild(b,e);e.appendChild(b);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr(\"class\",this.className);return this},updateTransform:n.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*f),q=Math.sin(a*f);E(this.element,{filter:a?[\"progid:DXImageTransform.Microsoft.Matrix(M11\\x3d\",b,\", M12\\x3d\",-q,\", M21\\x3d\",q,\", M22\\x3d\",\nb,\", sizingMethod\\x3d'auto expand')\"].join(\"\"):\"none\"})},getSpanCorrection:function(a,b,q,e,d){var c=e?Math.cos(e*f):1,n=e?Math.sin(e*f):0,g=v(this.elemHeight,this.element.offsetHeight),k;this.xCorr=0>c&&-a;this.yCorr=0>n&&-g;k=0>c*n;this.xCorr+=n*b*(k?1-q:q);this.yCorr-=c*b*(e?k?q:1-q:1);d&&\"left\"!==d&&(this.xCorr-=a*q*(0>c?-1:1),e&&(this.yCorr-=g*q*(0>n?-1:1)),E(this.element,{textAlign:d}))},pathToVML:function(a){for(var c=a.length,b=[];c--;)k(a[c])?b[c]=Math.round(10*a[c])-5:\"Z\"===a[c]?b[c]=\"x\":\n(b[c]=a[c],!a.isArc||\"wa\"!==a[c]&&\"at\"!==a[c]||(b[c+5]===b[c+7]&&(b[c+7]+=a[c+7]>a[c+5]?1:-1),b[c+6]===b[c+8]&&(b[c+8]+=a[c+8]>a[c+6]?1:-1)));return b.join(\" \")||\"x\"},clip:function(a){var c=this,b;a?(b=a.members,t(b,c),b.push(c),c.destroyClip=function(){t(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(),a={clip:c.docMode8?\"inherit\":\"rect(auto)\"});return c.css(a)},css:n.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&l(a)},destroy:function(){this.destroyClip&&this.destroyClip();return n.prototype.destroy.apply(this)},\non:function(a,b){this.element[\"on\"+a]=function(){var a=J.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c;a=a.split(/[ ,]/);c=a.length;if(9===c||11===c)a[c-4]=a[c-2]=y(a[c-2])-10*b;return a.join(\" \")},shadow:function(a,b,e){var c=[],q,p=this.element,d=this.renderer,n,g=p.style,h,w=p.path,k,H,f,D;w&&\"string\"!==typeof w.value&&(w=\"x\");H=w;if(a){f=v(a.width,3);D=(a.opacity||.15)/f;for(q=1;3>=q;q++)k=2*f+1-2*q,e&&(H=this.cutOffPath(w.value,k+.5)),h=['\\x3cshape isShadow\\x3d\"true\" strokeweight\\x3d\"',\nk,'\" filled\\x3d\"false\" path\\x3d\"',H,'\" coordsize\\x3d\"10 10\" style\\x3d\"',p.style.cssText,'\" /\\x3e'],n=F(d.prepVML(h),null,{left:y(g.left)+v(a.offsetX,1),top:y(g.top)+v(a.offsetY,1)}),e&&(n.cutOff=k+1),h=['\\x3cstroke color\\x3d\"',a.color||\"#000000\",'\" opacity\\x3d\"',D*q,'\"/\\x3e'],F(d.prepVML(h),null,null,n),b?b.element.appendChild(n):p.parentNode.insertBefore(n,p),c.push(n);this.shadows=c}return this},updateShadows:A,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},\nclassSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,e){(e.getElementsByTagName(\"stroke\")[0]||F(this.renderer.prepVML([\"\\x3cstroke/\\x3e\"]),null,null,e))[b]=a||\"solid\";this[b]=a},dSetter:function(a,b,e){var c=this.shadows;a=a||[];this.d=a.join&&a.join(\" \");e.path=a=this.pathToVML(a);if(c)for(e=c.length;e--;)c[e].path=c[e].cutOff?this.cutOffPath(a,c[e].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,e){var c=e.nodeName;\"SPAN\"===c?e.style.color=a:\"IMG\"!==\nc&&(e.filled=\"none\"!==a,this.setAttr(\"fillcolor\",this.renderer.color(a,e,b,this)))},\"fill-opacitySetter\":function(a,b,e){F(this.renderer.prepVML([\"\\x3c\",b.split(\"-\")[0],' opacity\\x3d\"',a,'\"/\\x3e']),null,null,e)},opacitySetter:A,rotationSetter:function(a,b,e){e=e.style;this[b]=e[b]=a;e.left=-Math.round(Math.sin(a*f)+1)+\"px\";e.top=Math.round(Math.cos(a*f))+\"px\"},strokeSetter:function(a,b,e){this.setAttr(\"strokecolor\",this.renderer.color(a,e,b,this))},\"stroke-widthSetter\":function(a,b,e){e.stroked=!!a;\nthis[b]=a;k(a)&&(a+=\"px\");this.setAttr(\"strokeweight\",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,e){\"inherit\"===a&&(a=\"visible\");this.shadows&&u(this.shadows,function(c){c.style[b]=a});\"DIV\"===e.nodeName&&(a=\"hidden\"===a?\"-999em\":0,this.docMode8||(e.style[b]=a?\"visible\":\"hidden\"),b=\"top\");e.style[b]=a},xSetter:function(a,b,e){this[b]=a;\"x\"===b?b=\"left\":\"y\"===b&&(b=\"top\");this.updateClipping?(this[b]=a,this.updateClipping()):e.style[b]=a},zIndexSetter:function(a,\nb,e){e.style[b]=a}},A[\"stroke-opacitySetter\"]=A[\"fill-opacitySetter\"],a.VMLElement=A=C(n,A),A.prototype.ySetter=A.prototype.widthSetter=A.prototype.heightSetter=A.prototype.xSetter,A={Element:A,isIE8:-1<J.navigator.userAgent.indexOf(\"MSIE 8.0\"),init:function(a,b,e){var c,d;this.alignedObjects=[];c=this.createElement(\"div\").css({position:\"relative\"});d=c.element;a.appendChild(c.element);this.isVML=!0;this.box=d;this.boxWrapper=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,\ne,!1);if(!r.namespaces.hcv){r.namespaces.add(\"hcv\",\"urn:schemas-microsoft-com:vml\");try{r.createStyleSheet().cssText=\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"}catch(p){r.styleSheets[0].cssText+=\"hcv\\\\:fill, hcv\\\\:path, hcv\\\\:shape, hcv\\\\:stroke{ behavior:url(#default#VML); display: inline-block; } \"}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,e,d,n){var c=this.createElement(),p=b(a);return g(c,{members:[],\ncount:0,left:(p?a.x:a)+1,top:(p?a.y:e)+1,width:(p?a.width:d)-1,height:(p?a.height:n)-1,getCSS:function(a){var c=a.element,b=c.nodeName,h=a.inverted,w=this.top-(\"shape\"===b?c.offsetTop:0),p=this.left,c=p+this.width,e=w+this.height,w={clip:\"rect(\"+Math.round(h?p:w)+\"px,\"+Math.round(h?e:c)+\"px,\"+Math.round(h?c:e)+\"px,\"+Math.round(h?w:p)+\"px)\"};!h&&a.docMode8&&\"DIV\"===b&&g(w,{width:c+\"px\",height:e+\"px\"});return w},updateClipping:function(){u(c.members,function(a){a.element&&a.css(c.getCSS(a))})}})},color:function(c,\nb,e,d){var q=this,p,n=/^rgba/,g,k,h=\"none\";c&&c.linearGradient?k=\"gradient\":c&&c.radialGradient&&(k=\"pattern\");if(k){var w,v,H=c.linearGradient||c.radialGradient,f,D,y,x,r,B=\"\";c=c.stops;var l,G=[],m=function(){g=['\\x3cfill colors\\x3d\"'+G.join(\",\")+'\" opacity\\x3d\"',y,'\" o:opacity2\\x3d\"',D,'\" type\\x3d\"',k,'\" ',B,'focus\\x3d\"100%\" method\\x3d\"any\" /\\x3e'];F(q.prepVML(g),null,null,b)};f=c[0];l=c[c.length-1];0<f[0]&&c.unshift([0,f[1]]);1>l[0]&&c.push([1,l[1]]);u(c,function(h,c){n.test(h[1])?(p=a.color(h[1]),\nw=p.get(\"rgb\"),v=p.get(\"a\")):(w=h[1],v=1);G.push(100*h[0]+\"% \"+w);c?(y=v,x=w):(D=v,r=w)});if(\"fill\"===e)if(\"gradient\"===k)e=H.x1||H[0]||0,c=H.y1||H[1]||0,f=H.x2||H[2]||0,H=H.y2||H[3]||0,B='angle\\x3d\"'+(90-180*Math.atan((H-c)/(f-e))/Math.PI)+'\"',m();else{var h=H.r,t=2*h,J=2*h,A=H.cx,C=H.cy,E=b.radialReference,M,h=function(){E&&(M=d.getBBox(),A+=(E[0]-M.x)/M.width-.5,C+=(E[1]-M.y)/M.height-.5,t*=E[2]/M.width,J*=E[2]/M.height);B='src\\x3d\"'+a.getOptions().global.VMLRadialGradientURL+'\" size\\x3d\"'+t+\",\"+\nJ+'\" origin\\x3d\"0.5,0.5\" position\\x3d\"'+A+\",\"+C+'\" color2\\x3d\"'+r+'\" ';m()};d.added?h():d.onAdd=h;h=x}else h=w}else n.test(c)&&\"IMG\"!==b.tagName?(p=a.color(c),d[e+\"-opacitySetter\"](p.get(\"a\"),e,b),h=p.get(\"rgb\")):(h=b.getElementsByTagName(e),h.length&&(h[0].opacity=1,h[0].type=\"solid\"),h=c);return h},prepVML:function(a){var c=this.isIE8;a=a.join(\"\");c?(a=a.replace(\"/\\x3e\",' xmlns\\x3d\"urn:schemas-microsoft-com:vml\" /\\x3e'),a=-1===a.indexOf('style\\x3d\"')?a.replace(\"/\\x3e\",' style\\x3d\"display:inline-block;behavior:url(#default#VML);\" /\\x3e'):\na.replace('style\\x3d\"','style\\x3d\"display:inline-block;behavior:url(#default#VML);')):a=a.replace(\"\\x3c\",\"\\x3chcv:\");return a},text:D.prototype.html,path:function(a){var c={coordsize:\"10 10\"};d(a)?c.d=a:b(a)&&g(c,a);return this.createElement(\"shape\").attr(c)},circle:function(a,e,d){var c=this.symbol(\"circle\");b(a)&&(d=a.r,e=a.y,a=a.x);c.isCircle=!0;c.r=d;return c.attr({x:a,y:e})},g:function(a){var c;a&&(c={className:\"highcharts-\"+a,\"class\":\"highcharts-\"+a});return this.createElement(\"div\").attr(c)},\nimage:function(a,b,e,d,n){var c=this.createElement(\"img\").attr({src:a});1<arguments.length&&c.attr({x:b,y:e,width:d,height:n});return c},createElement:function(a){return\"rect\"===a?this.symbol(a):D.prototype.createElement.call(this,a)},invertChild:function(a,b){var c=this;b=b.style;var e=\"IMG\"===a.tagName&&a.style;E(a,{flip:\"x\",left:y(b.width)-(e?y(e.top):1),top:y(b.height)-(e?y(e.left):1),rotation:-90});u(a.childNodes,function(b){c.invertChild(b,a)})},symbols:{arc:function(a,b,e,d,n){var c=n.start,\nq=n.end,g=n.r||e||d;e=n.innerR;d=Math.cos(c);var k=Math.sin(c),h=Math.cos(q),w=Math.sin(q);if(0===q-c)return[\"x\"];c=[\"wa\",a-g,b-g,a+g,b+g,a+g*d,b+g*k,a+g*h,b+g*w];n.open&&!e&&c.push(\"e\",\"M\",a,b);c.push(\"at\",a-e,b-e,a+e,b+e,a+e*h,b+e*w,a+e*d,b+e*k,\"x\",\"e\");c.isArc=!0;return c},circle:function(a,b,e,d,n){n&&m(n.r)&&(e=d=2*n.r);n&&n.isCircle&&(a-=e/2,b-=d/2);return[\"wa\",a,b,a+e,b+d,a+e,b+d/2,a+e,b+d/2,\"e\"]},rect:function(a,b,e,d,n){return D.prototype.symbols[m(n)&&n.r?\"callout\":\"square\"].call(0,a,b,\ne,d,n)}}},a.VMLRenderer=C=function(){this.init.apply(this,arguments)},C.prototype=e(D.prototype,A),a.Renderer=C);D.prototype.measureSpanWidth=function(a,b){var c=r.createElement(\"span\");a=r.createTextNode(a);c.appendChild(a);E(c,b);this.box.appendChild(c);b=c.offsetWidth;l(c);return b}})(M);(function(a){function C(){var f=a.defaultOptions.global,l=r.moment;if(f.timezone){if(l)return function(a){return-l.tz(a,f.timezone).utcOffset()};a.error(25)}return f.useUTC&&f.getTimezoneOffset}function A(){var f=\na.defaultOptions.global,t,g=f.useUTC,d=g?\"getUTC\":\"get\",k=g?\"setUTC\":\"set\";a.Date=t=f.Date||r.Date;t.hcTimezoneOffset=g&&f.timezoneOffset;t.hcGetTimezoneOffset=C();t.hcMakeTime=function(a,e,d,k,n,f){var b;g?(b=t.UTC.apply(0,arguments),b+=m(b)):b=(new t(a,e,l(d,1),l(k,0),l(n,0),l(f,0))).getTime();return b};E(\"Minutes Hours Day Date Month FullYear\".split(\" \"),function(a){t[\"hcGet\"+a]=d+a});E(\"Milliseconds Seconds Minutes Hours Date Month FullYear\".split(\" \"),function(a){t[\"hcSet\"+a]=k+a})}var F=a.color,\nE=a.each,m=a.getTZOffset,f=a.merge,l=a.pick,r=a.win;a.defaultOptions={colors:\"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1\".split(\" \"),symbols:[\"circle\",\"diamond\",\"square\",\"triangle\",\"triangle-down\"],lang:{loading:\"Loading...\",months:\"January February March April May June July August September October November December\".split(\" \"),shortMonths:\"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \"),weekdays:\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),\ndecimalPoint:\".\",numericSymbols:\"kMGTPE\".split(\"\"),resetZoom:\"Reset zoom\",resetZoomTitle:\"Reset zoom level 1:1\",thousandsSep:\" \"},global:{useUTC:!0,VMLRadialGradientURL:\"http://code.highcharts.com/5.0.14/gfx/vml-radial-gradient.png\"},chart:{borderRadius:0,defaultSeriesType:\"line\",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:\"right\",x:-10,y:10}},width:null,height:null,borderColor:\"#335cad\",backgroundColor:\"#ffffff\",plotBorderColor:\"#cccccc\"},title:{text:\"Chart title\",\nalign:\"center\",margin:15,widthAdjust:-44},subtitle:{text:\"\",align:\"center\",widthAdjust:-44},plotOptions:{},labels:{style:{position:\"absolute\",color:\"#333333\"}},legend:{enabled:!0,align:\"center\",layout:\"horizontal\",labelFormatter:function(){return this.name},borderColor:\"#999999\",borderRadius:0,navigation:{activeColor:\"#003399\",inactiveColor:\"#cccccc\"},itemStyle:{color:\"#333333\",fontSize:\"12px\",fontWeight:\"bold\",textOverflow:\"ellipsis\"},itemHoverStyle:{color:\"#000000\"},itemHiddenStyle:{color:\"#cccccc\"},\nshadow:!1,itemCheckboxStyle:{position:\"absolute\",width:\"13px\",height:\"13px\"},squareSymbol:!0,symbolPadding:5,verticalAlign:\"bottom\",x:0,y:0,title:{style:{fontWeight:\"bold\"}}},loading:{labelStyle:{fontWeight:\"bold\",position:\"relative\",top:\"45%\"},style:{position:\"absolute\",backgroundColor:\"#ffffff\",opacity:.5,textAlign:\"center\"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:\"%A, %b %e, %H:%M:%S.%L\",second:\"%A, %b %e, %H:%M:%S\",minute:\"%A, %b %e, %H:%M\",hour:\"%A, %b %e, %H:%M\",\nday:\"%A, %b %e, %Y\",week:\"Week from %A, %b %e, %Y\",month:\"%B %Y\",year:\"%Y\"},footerFormat:\"\",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:F(\"#f7f7f7\").setOpacity(.85).get(),borderWidth:1,headerFormat:'\\x3cspan style\\x3d\"font-size: 10px\"\\x3e{point.key}\\x3c/span\\x3e\\x3cbr/\\x3e',pointFormat:'\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e {series.name}: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e',shadow:!0,style:{color:\"#333333\",cursor:\"default\",fontSize:\"12px\",pointerEvents:\"none\",\nwhiteSpace:\"nowrap\"}},credits:{enabled:!0,href:\"http://www.highcharts.com\",position:{align:\"right\",x:-10,verticalAlign:\"bottom\",y:-5},style:{cursor:\"pointer\",color:\"#999999\",fontSize:\"9px\"},text:\"Highcharts.com\"}};a.setOptions=function(r){a.defaultOptions=f(!0,a.defaultOptions,r);A();return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;A()})(M);(function(a){var C=a.correctFloat,A=a.defined,F=a.destroyObjectProperties,E=a.isNumber,\nm=a.merge,f=a.pick,l=a.deg2rad;a.Tick=function(a,f,l,g){this.axis=a;this.pos=f;this.type=l||\"\";this.isNewLabel=this.isNew=!0;l||g||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,l=a.options,t=a.chart,g=a.categories,d=a.names,k=this.pos,b=l.labels,e=a.tickPositions,v=k===e[0],y=k===e[e.length-1],d=g?f(g[k],d[k],k):k,g=this.label,e=e.info,n;a.isDatetimeAxis&&e&&(n=l.dateTimeLabelFormats[e.higherRanks[k]||e.unitName]);this.isFirst=v;this.isLast=y;l=a.labelFormatter.call({axis:a,\nchart:t,isFirst:v,isLast:y,dateTimeLabelFormat:n,value:a.isLog?C(a.lin2log(d)):d,pos:k});A(g)?g&&g.attr({text:l}):(this.labelLength=(this.label=g=A(l)&&b.enabled?t.renderer.text(l,0,0,b.useHTML).css(m(b.style)).add(a.labelGroup):null)&&g.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?\"height\":\"width\"]:0},handleOverflow:function(a){var r=this.axis,m=a.x,g=r.chart.chartWidth,d=r.chart.spacing,k=f(r.labelLeft,Math.min(r.pos,d[3])),d=f(r.labelRight,\nMath.max(r.pos+r.len,g-d[1])),b=this.label,e=this.rotation,v={left:0,center:.5,right:1}[r.labelAlign],y=b.getBBox().width,n=r.getSlotWidth(),D=n,J=1,c,G={};if(e)0>e&&m-v*y<k?c=Math.round(m/Math.cos(e*l)-k):0<e&&m+v*y>d&&(c=Math.round((g-m)/Math.cos(e*l)));else if(g=m+(1-v)*y,m-v*y<k?D=a.x+D*(1-v)-k:g>d&&(D=d-a.x+D*v,J=-1),D=Math.min(n,D),D<n&&\"center\"===r.labelAlign&&(a.x+=J*(n-D-v*(n-Math.min(y,D)))),y>D||r.autoRotation&&(b.styles||{}).width)c=D;c&&(G.width=c,(r.options.labels.style||{}).textOverflow||\n(G.textOverflow=\"ellipsis\"),b.css(G))},getPosition:function(a,f,l,g){var d=this.axis,k=d.chart,b=g&&k.oldChartHeight||k.chartHeight;return{x:a?d.translate(f+l,null,null,g)+d.transB:d.left+d.offset+(d.opposite?(g&&k.oldChartWidth||k.chartWidth)-d.right-d.left:0),y:a?b-d.bottom+d.offset-(d.opposite?d.height:0):b-d.translate(f+l,null,null,g)-d.transB}},getLabelPosition:function(a,f,m,g,d,k,b,e){var v=this.axis,y=v.transA,n=v.reversed,D=v.staggerLines,r=v.tickRotCorr||{x:0,y:0},c=d.y;A(c)||(c=0===v.side?\nm.rotation?-8:-m.getBBox().height:2===v.side?r.y+8:Math.cos(m.rotation*l)*(r.y-m.getBBox(!1,0).height/2));a=a+d.x+r.x-(k&&g?k*y*(n?-1:1):0);f=f+c-(k&&!g?k*y*(n?1:-1):0);D&&(m=b/(e||1)%D,v.opposite&&(m=D-m-1),f+=v.labelOffset/D*m);return{x:a,y:Math.round(f)}},getMarkPath:function(a,f,l,g,d,k){return k.crispLine([\"M\",a,f,\"L\",a+(d?0:-l),f+(d?l:0)],g)},renderGridLine:function(a,f,l){var g=this.axis,d=g.options,k=this.gridLine,b={},e=this.pos,v=this.type,y=g.tickmarkOffset,n=g.chart.renderer,D=v?v+\"Grid\":\n\"grid\",r=d[D+\"LineWidth\"],c=d[D+\"LineColor\"],d=d[D+\"LineDashStyle\"];k||(b.stroke=c,b[\"stroke-width\"]=r,d&&(b.dashstyle=d),v||(b.zIndex=1),a&&(b.opacity=0),this.gridLine=k=n.path().attr(b).addClass(\"highcharts-\"+(v?v+\"-\":\"\")+\"grid-line\").add(g.gridGroup));if(!a&&k&&(a=g.getPlotLinePath(e+y,k.strokeWidth()*l,a,!0)))k[this.isNew?\"attr\":\"animate\"]({d:a,opacity:f})},renderMark:function(a,l,m){var g=this.axis,d=g.options,k=g.chart.renderer,b=this.type,e=b?b+\"Tick\":\"tick\",v=g.tickSize(e),y=this.mark,n=!y,\nD=a.x;a=a.y;var r=f(d[e+\"Width\"],!b&&g.isXAxis?1:0),d=d[e+\"Color\"];v&&(g.opposite&&(v[0]=-v[0]),n&&(this.mark=y=k.path().addClass(\"highcharts-\"+(b?b+\"-\":\"\")+\"tick\").add(g.axisGroup),y.attr({stroke:d,\"stroke-width\":r})),y[n?\"attr\":\"animate\"]({d:this.getMarkPath(D,a,v[0],y.strokeWidth()*m,g.horiz,k),opacity:l}))},renderLabel:function(a,l,m,g){var d=this.axis,k=d.horiz,b=d.options,e=this.label,v=b.labels,y=v.step,n=d.tickmarkOffset,D=!0,r=a.x;a=a.y;e&&E(r)&&(e.xy=a=this.getLabelPosition(r,a,e,k,v,n,\ng,y),this.isFirst&&!this.isLast&&!f(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!f(b.showLastLabel,1)?D=!1:!k||d.isRadial||v.step||v.rotation||l||0===m||this.handleOverflow(a),y&&g%y&&(D=!1),D&&E(a.y)?(a.opacity=m,e[this.isNewLabel?\"attr\":\"animate\"](a),this.isNewLabel=!1):(e.attr(\"y\",-9999),this.isNewLabel=!0),this.isNew=!1)},render:function(a,l,m){var g=this.axis,d=g.horiz,k=this.getPosition(d,this.pos,g.tickmarkOffset,l),b=k.x,e=k.y,g=d&&b===g.pos+g.len||!d&&e===g.pos?-1:1;m=f(m,1);this.isActive=\n!0;this.renderGridLine(l,m,g);this.renderMark(k,m,g);this.renderLabel(k,l,m,a)},destroy:function(){F(this,this.axis)}}})(M);var S=function(a){var C=a.addEvent,A=a.animObject,F=a.arrayMax,E=a.arrayMin,m=a.color,f=a.correctFloat,l=a.defaultOptions,r=a.defined,u=a.deg2rad,t=a.destroyObjectProperties,g=a.each,d=a.extend,k=a.fireEvent,b=a.format,e=a.getMagnitude,v=a.grep,y=a.inArray,n=a.isArray,D=a.isNumber,J=a.isString,c=a.merge,G=a.normalizeTickInterval,q=a.objectEach,B=a.pick,K=a.removeEvent,p=a.splat,\nz=a.syncTimeout,I=a.Tick,L=function(){this.init.apply(this,arguments)};a.extend(L.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:\"%H:%M:%S.%L\",second:\"%H:%M:%S\",minute:\"%H:%M\",hour:\"%H:%M\",day:\"%e. %b\",week:\"%e. %b\",month:\"%b '%y\",year:\"%Y\"},endOnTick:!1,labels:{enabled:!0,style:{color:\"#666666\",cursor:\"default\",fontSize:\"11px\"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:\"outside\",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:\"between\",tickPixelInterval:100,\ntickPosition:\"outside\",title:{align:\"middle\",style:{color:\"#666666\"}},type:\"linear\",minorGridLineColor:\"#f2f2f2\",minorGridLineWidth:1,minorTickColor:\"#999999\",lineColor:\"#ccd6eb\",lineWidth:1,gridLineColor:\"#e6e6e6\",tickColor:\"#ccd6eb\"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:\"Values\"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},\nstyle:{fontSize:\"11px\",fontWeight:\"bold\",color:\"#000000\",textOutline:\"1px contrast\"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,c){var h=c.isX,b=this;b.chart=a;b.horiz=a.inverted&&!b.isZAxis?!h:h;b.isXAxis=h;b.coll=b.coll||(h?\n\"xAxis\":\"yAxis\");b.opposite=c.opposite;b.side=c.side||(b.horiz?b.opposite?0:2:b.opposite?1:3);b.setOptions(c);var w=this.options,e=w.type;b.labelFormatter=w.labels.formatter||b.defaultLabelFormatter;b.userOptions=c;b.minPixelPadding=0;b.reversed=w.reversed;b.visible=!1!==w.visible;b.zoomEnabled=!1!==w.zoomEnabled;b.hasNames=\"category\"===e||!0===w.categories;b.categories=w.categories||b.hasNames;b.names=b.names||[];b.plotLinesAndBandsGroups={};b.isLog=\"logarithmic\"===e;b.isDatetimeAxis=\"datetime\"===\ne;b.positiveValuesOnly=b.isLog&&!b.allowNegativeLog;b.isLinked=r(w.linkedTo);b.ticks={};b.labelEdge=[];b.minorTicks={};b.plotLinesAndBands=[];b.alternateBands={};b.len=0;b.minRange=b.userMinRange=w.minRange||w.maxZoom;b.range=w.range;b.offset=w.offset||0;b.stacks={};b.oldStacks={};b.stacksTouched=0;b.max=null;b.min=null;b.crosshair=B(w.crosshair,p(a.options.tooltip.crosshairs)[h?0:1],!1);c=b.options.events;-1===y(b,a.axes)&&(h?a.axes.splice(a.xAxis.length,0,b):a.axes.push(b),a[b.coll].push(b));b.series=\nb.series||[];a.inverted&&!b.isZAxis&&h&&void 0===b.reversed&&(b.reversed=!0);q(c,function(a,h){C(b,h,a)});b.lin2log=w.linearToLogConverter||b.lin2log;b.isLog&&(b.val2lin=b.log2lin,b.lin2val=b.lin2log)},setOptions:function(a){this.options=c(this.defaultOptions,\"yAxis\"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],c(l[this.coll],a))},defaultLabelFormatter:function(){var h=this.axis,\nc=this.value,e=h.categories,p=this.dateTimeLabelFormat,d=l.lang,n=d.numericSymbols,d=d.numericSymbolMagnitude||1E3,q=n&&n.length,x,g=h.options.labels.format,h=h.isLog?Math.abs(c):h.tickInterval;if(g)x=b(g,this);else if(e)x=c;else if(p)x=a.dateFormat(p,c);else if(q&&1E3<=h)for(;q--&&void 0===x;)e=Math.pow(d,q+1),h>=e&&0===10*c%e&&null!==n[q]&&0!==c&&(x=a.numberFormat(c/e,-1)+n[q]);void 0===x&&(x=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,\"\"));return x},getSeriesExtremes:function(){var a=\nthis,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();g(a.series,function(h){if(h.visible||!b.options.chart.ignoreHiddenSeries){var c=h.options,w=c.threshold,e;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=w&&(w=null);if(a.isXAxis)c=h.xData,c.length&&(h=E(c),D(h)||h instanceof Date||(c=v(c,function(a){return D(a)}),h=E(c)),a.dataMin=Math.min(B(a.dataMin,c[0]),h),a.dataMax=Math.max(B(a.dataMax,c[0]),F(c)));else if(h.getExtremes(),\ne=h.dataMax,h=h.dataMin,r(h)&&r(e)&&(a.dataMin=Math.min(B(a.dataMin,h),h),a.dataMax=Math.max(B(a.dataMax,e),e)),r(w)&&(a.threshold=w),!c.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,b,c,e,p,d){var h=this.linkedParent||this,w=1,n=0,q=e?h.oldTransA:h.transA;e=e?h.oldMin:h.min;var g=h.minPixelPadding;p=(h.isOrdinal||h.isBroken||h.isLog&&p)&&h.lin2val;q||(q=h.transA);c&&(w*=-1,n=h.len);h.reversed&&(w*=-1,n-=w*(h.sector||h.len));b?(a=(a*w+n-g)/q+e,p&&(a=h.lin2val(a))):\n(p&&(a=h.val2lin(a)),a=w*(a-e)*q+n+w*g+(D(d)?q*d:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,e,p){var h=this.chart,w=this.left,d=this.top,n,q,g=c&&h.oldChartHeight||h.chartHeight,k=c&&h.oldChartWidth||h.chartWidth,f;n=this.transB;var v=function(a,h,b){if(a<h||a>b)e?a=Math.min(Math.max(h,a),b):f=!0;return a};p=B(p,this.translate(a,\nnull,null,c));a=c=Math.round(p+n);n=q=Math.round(g-p-n);D(p)?this.horiz?(n=d,q=g-this.bottom,a=c=v(a,w,w+this.width)):(a=w,c=k-this.right,n=q=v(n,d,d+this.height)):f=!0;return f&&!e?null:h.renderer.crispLine([\"M\",a,n,\"L\",c,q],b||1)},getLinearTickPositions:function(a,b,c){var h,w=f(Math.floor(b/a)*a);c=f(Math.ceil(c/a)*a);var e=[];if(this.single)return[b];for(b=w;b<=c;){e.push(b);b=f(b+a);if(b===h)break;h=b}return e},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,e=a.minorTickInterval,\np=[],d=a.pointRangePadding||0,n=a.min-d,d=a.max+d,q=d-n;if(q&&q/e<a.len/3)if(a.isLog)g(this.paddedTicks,function(h,b,c){b&&p.push.apply(p,a.getLogTickPositions(e,c[b-1],c[b],!0))});else if(a.isDatetimeAxis&&\"auto\"===b.minorTickInterval)p=p.concat(a.getTimeTicks(a.normalizeTimeTickInterval(e),n,d,b.startOfWeek));else for(b=n+(c[0]-n)%e;b<=d&&b!==p[0];b+=e)p.push(b);0!==p.length&&a.trimTicks(p);return p},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,e,p,d,n,q,k,f,v;this.isXAxis&&\nvoid 0===this.minRange&&!this.isLog&&(r(a.min)||r(a.max)?this.minRange=null:(g(this.series,function(a){k=a.xData;for(n=f=a.xIncrement?1:k.length-1;0<n;n--)if(q=k[n]-k[n-1],void 0===d||q<d)d=q}),this.minRange=Math.min(5*d,this.dataMax-this.dataMin)));c-b<this.minRange&&(p=this.dataMax-this.dataMin>=this.minRange,v=this.minRange,e=(v-c+b)/2,e=[b-e,B(a.min,b-e)],p&&(e[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=F(e),c=[b+v,B(a.max,b+v)],p&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),\nc=E(c),c-b<v&&(e[0]=c-v,e[1]=B(a.min,c-v),b=F(e)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:g(this.series,function(h){var b=h.closestPointRange,c=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&&r(b)&&c&&(a=r(a)?Math.min(a,b):b)});return a},nameToX:function(a){var h=n(this.categories),b=h?this.categories:this.names,c=a.options.x,e;a.series.requireSorting=!1;r(c)||(c=!1===this.options.uniqueNames?a.series.autoIncrement():y(a.name,b));-1===c?h||\n(e=b.length):e=c;void 0!==e&&(this.names[e]=a.name);return e},updateNames:function(){var a=this;0<this.names.length&&(this.names.length=0,this.minRange=this.userMinRange,g(this.series||[],function(h){h.xIncrement=null;if(!h.points||h.isDirtyData)h.processData(),h.generatePoints();g(h.points,function(b,c){var e;b.options&&(e=a.nameToX(b),void 0!==e&&e!==b.x&&(b.x=e,h.xData[c]=e))})}))},setAxisTranslation:function(a){var h=this,b=h.max-h.min,c=h.axisPointRange||0,e,p=0,d=0,n=h.linkedParent,q=!!h.categories,\nk=h.transA,f=h.isXAxis;if(f||q||c)e=h.getClosest(),n?(p=n.minPointOffset,d=n.pointRangePadding):g(h.series,function(a){var b=q?1:f?B(a.options.pointRange,e,0):h.axisPointRange||0;a=a.options.pointPlacement;c=Math.max(c,b);h.single||(p=Math.max(p,J(a)?0:b/2),d=Math.max(d,\"on\"===a?0:b))}),n=h.ordinalSlope&&e?h.ordinalSlope/e:1,h.minPointOffset=p*=n,h.pointRangePadding=d*=n,h.pointRange=Math.min(c,b),f&&(h.closestPointRange=e);a&&(h.oldTransA=k);h.translationSlope=h.transA=k=h.options.staticScale||h.len/\n(b+d||1);h.transB=h.horiz?h.left:h.bottom;h.minPixelPadding=k*p},minFromRange:function(){return this.max-this.range},setTickInterval:function(h){var b=this,c=b.chart,p=b.options,d=b.isLog,n=b.log2lin,q=b.isDatetimeAxis,x=b.isXAxis,v=b.isLinked,z=p.maxPadding,y=p.minPadding,l=p.tickInterval,I=p.tickPixelInterval,m=b.categories,J=b.threshold,t=b.softThreshold,L,u,K,A;q||m||v||this.getTickAmount();K=B(b.userMin,p.min);A=B(b.userMax,p.max);v?(b.linkedParent=c[b.coll][p.linkedTo],c=b.linkedParent.getExtremes(),\nb.min=B(c.min,c.dataMin),b.max=B(c.max,c.dataMax),p.type!==b.linkedParent.options.type&&a.error(11,1)):(!t&&r(J)&&(b.dataMin>=J?(L=J,y=0):b.dataMax<=J&&(u=J,z=0)),b.min=B(K,L,b.dataMin),b.max=B(A,u,b.dataMax));d&&(b.positiveValuesOnly&&!h&&0>=Math.min(b.min,B(b.dataMin,b.min))&&a.error(10,1),b.min=f(n(b.min),15),b.max=f(n(b.max),15));b.range&&r(b.max)&&(b.userMin=b.min=K=Math.max(b.dataMin,b.minFromRange()),b.userMax=A=b.max,b.range=null);k(b,\"foundExtremes\");b.beforePadding&&b.beforePadding();b.adjustForMinRange();\n!(m||b.axisPointRange||b.usePercentage||v)&&r(b.min)&&r(b.max)&&(n=b.max-b.min)&&(!r(K)&&y&&(b.min-=n*y),!r(A)&&z&&(b.max+=n*z));D(p.softMin)&&(b.min=Math.min(b.min,p.softMin));D(p.softMax)&&(b.max=Math.max(b.max,p.softMax));D(p.floor)&&(b.min=Math.max(b.min,p.floor));D(p.ceiling)&&(b.max=Math.min(b.max,p.ceiling));t&&r(b.dataMin)&&(J=J||0,!r(K)&&b.min<J&&b.dataMin>=J?b.min=J:!r(A)&&b.max>J&&b.dataMax<=J&&(b.max=J));b.tickInterval=b.min===b.max||void 0===b.min||void 0===b.max?1:v&&!l&&I===b.linkedParent.options.tickPixelInterval?\nl=b.linkedParent.tickInterval:B(l,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,m?1:(b.max-b.min)*I/Math.max(b.len,I));x&&!h&&g(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!l&&(b.tickInterval=Math.max(b.pointRange,b.tickInterval));h=B(p.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);\n!l&&b.tickInterval<h&&(b.tickInterval=h);q||d||l||(b.tickInterval=G(b.tickInterval,null,e(b.tickInterval),B(p.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,e=a.tickPositioner,p=a.startOnTick,d=a.endOnTick;this.tickmarkOffset=this.categories&&\"between\"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval=\n\"auto\"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&&r(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,\nthis.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=b=e);this.paddedTicks=b.slice(0);this.trimTicks(b,p,d);this.isLinked||(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),c||e||this.adjustTickAmount())},trimTicks:function(a,b,c){var h=a[0],e=a[a.length-1],p=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==h)this.min=h;else for(;this.min-p>a[0];)a.shift();if(c)this.max=e;else for(;this.max+p<a[a.length-\n1];)a.pop();0===a.length&&r(h)&&a.push((e+h)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||this.isLog||g(this.chart[this.coll],function(h){var c=h.options,c=[h.horiz?c.left:c.top,c.width,c.height,c.pane].join();h.series.length&&(a[c]?b=!0:a[c]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!r(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=\n2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,e=this.finalTickAmt,p=b&&b.length;if(p<c){for(;b.length<c;)b.push(f(b[b.length-1]+a));this.transA*=(p-1)/(c-1);this.max=b[b.length-1]}else p>c&&(this.tickInterval*=2,this.setTickPositions());if(r(e)){for(a=c=b.length;a--;)(3===e&&1===a%2||2>=e&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,\nb;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;g(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||\n(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(a,b,c,e,p){var h=this,n=h.chart;c=B(c,!0);g(h.series,function(a){delete a.kdTree});p=d(p,{min:a,max:b});k(h,\"setExtremes\",p,function(){h.userMin=a;h.userMax=b;h.eventArgs=p;c&&n.redraw(e)})},zoom:function(a,b){var h=this.dataMin,c=this.dataMax,e=this.options,p=Math.min(h,B(e.min,h)),e=Math.max(c,B(e.max,c));if(a!==this.min||b!==this.max)this.allowZoomOutside||(r(h)&&(a<p&&(a=\np),a>e&&(a=e)),r(c)&&(b<p&&(b=p),b>e&&(b=e))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:\"zoom\"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,e=c.offsets||[0,0,0,0],p=this.horiz,d=this.width=Math.round(a.relativeLength(B(c.width,b.plotWidth-e[3]+e[1]),b.plotWidth)),n=this.height=Math.round(a.relativeLength(B(c.height,b.plotHeight-e[0]+e[2]),b.plotHeight)),q=this.top=Math.round(a.relativeLength(B(c.top,b.plotTop+e[0]),b.plotHeight,b.plotTop)),\nc=this.left=Math.round(a.relativeLength(B(c.left,b.plotLeft+e[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-n-q;this.right=b.chartWidth-d-c;this.len=Math.max(p?d:n,0);this.pos=p?c:q},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?f(b(this.min)):this.min,max:a?f(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,h=this.lin2log,c=b?h(this.min):this.min,b=b?h(this.max):this.max;\nnull===a?a=c:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(B(a,0)-90*this.side+720)%360;return 15<a&&165>a?\"right\":195<a&&345>a?\"left\":\"center\"},tickSize:function(a){var b=this.options,h=b[a+\"Length\"],c=B(b[a+\"Width\"],\"tick\"===a&&this.isXAxis?1:0);if(c&&h)return\"inside\"===b[a+\"Position\"]&&(h=-h),[h,c]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,\nthis.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,e=c,p=this.len/(((this.categories?1:0)+this.max-this.min)/c),d,n=a.rotation,q=this.labelMetrics(),k,f=Number.MAX_VALUE,v,z=function(a){a/=p||1;a=1<a?Math.ceil(a):1;return a*c};b?(v=!a.staggerLines&&!a.step&&(r(n)?[n]:p<B(a.autoRotationLimit,80)&&a.autoRotation))&&g(v,function(a){var b;if(a===n||a&&-90<=a&&90>=a)k=z(Math.abs(q.h/Math.sin(u*a))),b=k+Math.abs(a/360),b<f&&(f=b,d=a,e=k)}):\na.step||(e=z(q.h));this.autoRotation=v;this.labelRotation=B(d,n);return e},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,e=Math.max(this.tickPositions.length-(this.categories?0:1),1),p=a.margin[3];return b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/e||!b&&(p&&p-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,e=this.tickPositions,p=this.ticks,d=this.options.labels,n=this.horiz,q=this.getSlotWidth(),k=Math.max(1,\nMath.round(q-2*(d.padding||5))),f={},v=this.labelMetrics(),z=d.style&&d.style.textOverflow,D,y=0,l,I;J(d.rotation)||(f.rotation=d.rotation||0);g(e,function(a){(a=p[a])&&a.labelLength>y&&(y=a.labelLength)});this.maxLabelLength=y;if(this.autoRotation)y>k&&y>v.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(q&&(D={width:k+\"px\"},!z))for(D.textOverflow=\"clip\",l=e.length;!n&&l--;)if(I=e[l],k=p[I].label)k.styles&&\"ellipsis\"===k.styles.textOverflow?k.css({textOverflow:\"clip\"}):p[I].labelLength>\nq&&k.css({width:q+\"px\"}),k.getBBox().height>this.len/e.length-(v.h-v.f)&&(k.specCss={textOverflow:\"ellipsis\"});f.rotation&&(D={width:(y>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+\"px\"},z||(D.textOverflow=\"ellipsis\"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;g(e,function(a){var b=(a=p[a])&&a.label;b&&(b.attr(f),D&&b.css(c(D,b.specCss)),delete b.specCss,a.rotation=f.rotation)});this.tickRotCorr=b.rotCorr(v.b,this.labelRotation||0,0!==this.side)},\nhasData:function(){return this.hasVisibleSeries||r(this.min)&&r(this.max)&&!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,h=this.opposite,e=this.options.title,p;this.axisTitle||((p=e.textAlign)||(p=(c?{low:\"left\",middle:\"center\",high:\"right\"}:{low:h?\"right\":\"left\",middle:\"center\",high:h?\"left\":\"right\"})[e.align]),this.axisTitle=b.text(e.text,0,0,e.useHTML).attr({zIndex:7,rotation:e.rotation||0,align:p}).addClass(\"highcharts-axis-title\").css(e.style).add(this.axisGroup),\nthis.axisTitle.isNew=!0);e.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?\"show\":\"hide\"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new I(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,p=a.tickPositions,d=a.ticks,n=a.horiz,k=a.side,f=b.inverted&&!a.isZAxis?[1,0,3,2][k]:k,v,z,D=0,y,l=0,I=e.title,m=e.labels,G=0,J=b.axisOffset,b=b.clipOffset,t=[-1,1,1,-1][k],L=e.className,u=a.axisParent,K=this.tickSize(\"tick\");\nv=a.hasData();a.showAxis=z=v||B(e.showEmpty,!0);a.staggerLines=a.horiz&&m.staggerLines;a.axisGroup||(a.gridGroup=c.g(\"grid\").attr({zIndex:e.gridZIndex||1}).addClass(\"highcharts-\"+this.coll.toLowerCase()+\"-grid \"+(L||\"\")).add(u),a.axisGroup=c.g(\"axis\").attr({zIndex:e.zIndex||2}).addClass(\"highcharts-\"+this.coll.toLowerCase()+\" \"+(L||\"\")).add(u),a.labelGroup=c.g(\"axis-labels\").attr({zIndex:m.zIndex||7}).addClass(\"highcharts-\"+a.coll.toLowerCase()+\"-labels \"+(L||\"\")).add(u));v||a.isLinked?(g(p,function(b,\nc){a.generateTick(b,c)}),a.renderUnsquish(),!1===m.reserveSpace||0!==k&&2!==k&&{1:\"left\",3:\"right\"}[k]!==a.labelAlign&&\"center\"!==a.labelAlign||g(p,function(a){G=Math.max(d[a].getLabelSize(),G)}),a.staggerLines&&(G*=a.staggerLines,a.labelOffset=G*(a.opposite?-1:1))):q(d,function(a,b){a.destroy();delete d[b]});I&&I.text&&!1!==I.enabled&&(a.addTitle(z),z&&!1!==I.reserveSpace&&(a.titleOffset=D=a.axisTitle.getBBox()[n?\"height\":\"width\"],y=I.offset,l=r(y)?0:B(I.margin,n?5:10)));a.renderLine();a.offset=\nt*B(e.offset,J[k]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===k?-a.labelMetrics().h:2===k?a.tickRotCorr.y:0;l=Math.abs(G)+l;G&&(l=l-c+t*(n?B(m.y,a.tickRotCorr.y+8*t):m.x));a.axisTitleMargin=B(y,l);J[k]=Math.max(J[k],a.axisTitleMargin+D+t*a.offset,l,v&&p.length&&K?K[0]+t*a.offset:0);p=2*Math.floor(a.axisLine.strokeWidth()/2);0<e.offset&&(p-=2*e.offset);b[f]=Math.max(b[f]||p,p)},getLinePath:function(a){var b=this.chart,c=this.opposite,h=this.offset,e=this.horiz,p=this.left+(c?this.width:0)+h,h=b.chartHeight-\nthis.bottom-(c?this.height:0)+h;c&&(a*=-1);return b.renderer.crispLine([\"M\",e?this.left:p,e?h:this.top,\"L\",e?b.chartWidth-this.right:p,e?h:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass(\"highcharts-axis-line\").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,\"stroke-width\":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,p=this.options.title,\nd=a?b:c,n=this.opposite,q=this.offset,k=p.x||0,g=p.y||0,f=this.axisTitle,v=this.chart.renderer.fontMetrics(p.style&&p.style.fontSize,f),f=Math.max(f.getBBox(null,0).height-v.h-1,0),e={low:d+(a?0:e),middle:d+e/2,high:d+(a?e:0)}[p.align],b=(a?c+this.height:b)+(a?1:-1)*(n?-1:1)*this.axisTitleMargin+[-f,f,v.f,-f][this.side];return{x:a?e+k:b+(n?this.width:0)+q+k,y:a?b+g-(n?this.height:0)+q:e+g}},renderMinorTick:function(a){var b=this.chart.hasRendered&&D(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new I(this,\na,\"minor\"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,e=this.ticks,h=this.chart.hasRendered&&D(this.oldMin);if(!c||a>=this.min&&a<=this.max)e[a]||(e[a]=new I(this,a)),h&&e[a].isNew&&e[a].render(b,!0,.1),e[a].render(b)},render:function(){var b=this,c=b.chart,e=b.options,p=b.isLog,d=b.lin2log,n=b.isLinked,k=b.tickPositions,f=b.axisTitle,v=b.ticks,y=b.minorTicks,l=b.alternateBands,m=e.stackLabels,r=e.alternateGridColor,B=b.tickmarkOffset,\nG=b.axisLine,J=b.showAxis,t=A(c.renderer.globalAnimation),L,u;b.labelEdge.length=0;b.overlap=!1;g([v,y,l],function(a){q(a,function(a){a.isActive=!1})});if(b.hasData()||n)b.minorTickInterval&&!b.categories&&g(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),k.length&&(g(k,function(a,c){b.renderTick(a,c)}),B&&(0===b.min||b.single)&&(v[-1]||(v[-1]=new I(b,-1,null,!0)),v[-1].render(-1))),r&&g(k,function(e,h){u=void 0!==k[h+1]?k[h+1]+B:b.max-B;0===h%2&&e<b.max&&u<=b.max+(c.polar?-B:B)&&(l[e]||\n(l[e]=new a.PlotLineOrBand(b)),L=e+B,l[e].options={from:p?d(L):L,to:p?d(u):u,color:r},l[e].render(),l[e].isActive=!0)}),b._addedPlotLB||(g((e.plotLines||[]).concat(e.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);g([v,y,l],function(a){var b,e=[],h=t.duration;q(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,e.push(b))});z(function(){for(b=e.length;b--;)a[e[b]]&&!a[e[b]].isActive&&(a[e[b]].destroy(),delete a[e[b]])},a!==l&&c.hasRendered&&h?h:0)});G&&(G[G.isPlaced?\n\"animate\":\"attr\"]({d:this.getLinePath(G.strokeWidth())}),G.isPlaced=!0,G[J?\"show\":\"hide\"](!0));f&&J&&(e=b.getTitlePosition(),D(e.y)?(f[f.isNew?\"attr\":\"animate\"](e),f.isNew=!1):(f.attr(\"y\",-9999),f.isNew=!0));m&&m.enabled&&b.renderStackTotals();b.isDirty=!1},redraw:function(){this.visible&&(this.render(),g(this.plotLinesAndBands,function(a){a.render()}));g(this.series,function(a){a.isDirty=!0})},keepProps:\"extKey hcEvents names series userMax userMin\".split(\" \"),destroy:function(a){var b=this,c=b.stacks,\ne=b.plotLinesAndBands,h;a||K(b);q(c,function(a,b){t(a);c[b]=null});g([b.ticks,b.minorTicks,b.alternateBands],function(a){t(a)});if(e)for(a=e.length;a--;)e[a].destroy();g(\"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross\".split(\" \"),function(a){b[a]&&(b[a]=b[a].destroy())});for(h in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[h]=b.plotLinesAndBandsGroups[h].destroy();q(b,function(a,c){-1===y(c,b.keepProps)&&delete b[c]})},drawCrosshair:function(a,b){var c,e=this.crosshair,\nh=B(e.snap,!0),p,d=this.cross;a||(a=this.cross&&this.cross.e);this.crosshair&&!1!==(r(b)||!h)?(h?r(b)&&(p=this.isXAxis?b.plotX:this.len-b.plotY):p=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),r(p)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:B(b.stackY,b.y)),null,null,null,p)||null),r(c)?(b=this.categories&&!this.isRadial,d||(this.cross=d=this.chart.renderer.path().addClass(\"highcharts-crosshair highcharts-crosshair-\"+(b?\"category \":\"thin \")+e.className).attr({zIndex:B(e.zIndex,2)}).add(),\nd.attr({stroke:e.color||(b?m(\"#ccd6eb\").setOpacity(.25).get():\"#cccccc\"),\"stroke-width\":B(e.width,1)}),e.dashStyle&&d.attr({dashstyle:e.dashStyle})),d.show().attr({d:c}),b&&!e.width&&d.attr({\"stroke-width\":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=L}(M);(function(a){var C=a.Axis,A=a.Date,F=a.dateFormat,E=a.defaultOptions,m=a.defined,f=a.each,l=a.extend,r=a.getMagnitude,u=a.getTZOffset,t=a.normalizeTickInterval,\ng=a.pick,d=a.timeUnits;C.prototype.getTimeTicks=function(a,b,e,v){var k=[],n={},D=E.global.useUTC,r,c=new A(b-Math.max(u(b),u(e))),G=A.hcMakeTime,q=a.unitRange,B=a.count,t,p;if(m(b)){c[A.hcSetMilliseconds](q>=d.second?0:B*Math.floor(c.getMilliseconds()/B));if(q>=d.second)c[A.hcSetSeconds](q>=d.minute?0:B*Math.floor(c.getSeconds()/B));if(q>=d.minute)c[A.hcSetMinutes](q>=d.hour?0:B*Math.floor(c[A.hcGetMinutes]()/B));if(q>=d.hour)c[A.hcSetHours](q>=d.day?0:B*Math.floor(c[A.hcGetHours]()/B));if(q>=d.day)c[A.hcSetDate](q>=\nd.month?1:B*Math.floor(c[A.hcGetDate]()/B));q>=d.month&&(c[A.hcSetMonth](q>=d.year?0:B*Math.floor(c[A.hcGetMonth]()/B)),r=c[A.hcGetFullYear]());if(q>=d.year)c[A.hcSetFullYear](r-r%B);if(q===d.week)c[A.hcSetDate](c[A.hcGetDate]()-c[A.hcGetDay]()+g(v,1));r=c[A.hcGetFullYear]();v=c[A.hcGetMonth]();var z=c[A.hcGetDate](),I=c[A.hcGetHours]();if(A.hcTimezoneOffset||A.hcGetTimezoneOffset)p=(!D||!!A.hcGetTimezoneOffset)&&(e-b>4*d.month||u(b)!==u(e)),c=c.getTime(),t=u(c),c=new A(c+t);D=c.getTime();for(b=1;D<\ne;)k.push(D),D=q===d.year?G(r+b*B,0):q===d.month?G(r,v+b*B):!p||q!==d.day&&q!==d.week?p&&q===d.hour?G(r,v,z,I+b*B,0,0,t)-t:D+q*B:G(r,v,z+b*B*(q===d.day?1:7)),b++;k.push(D);q<=d.hour&&1E4>k.length&&f(k,function(a){0===a%18E5&&\"000000000\"===F(\"%H%M%S%L\",a)&&(n[a]=\"day\")})}k.info=l(a,{higherRanks:n,totalRange:q*B});return k};C.prototype.normalizeTimeTickInterval=function(a,b){var e=b||[[\"millisecond\",[1,2,5,10,20,25,50,100,200,500]],[\"second\",[1,2,5,10,15,30]],[\"minute\",[1,2,5,10,15,30]],[\"hour\",[1,\n2,3,4,6,8,12]],[\"day\",[1,2]],[\"week\",[1,2]],[\"month\",[1,2,3,4,6]],[\"year\",null]];b=e[e.length-1];var k=d[b[0]],g=b[1],n;for(n=0;n<e.length&&!(b=e[n],k=d[b[0]],g=b[1],e[n+1]&&a<=(k*g[g.length-1]+d[e[n+1][0]])/2);n++);k===d.year&&a<5*k&&(g=[1,2,5]);a=t(a/k,g,\"year\"===b[0]?Math.max(r(a/k),1):1);return{unitRange:k,count:a,unitName:b[0]}}})(M);(function(a){var C=a.Axis,A=a.getMagnitude,F=a.map,E=a.normalizeTickInterval,m=a.pick;C.prototype.getLogTickPositions=function(a,l,r,u){var f=this.options,g=this.len,\nd=this.lin2log,k=this.log2lin,b=[];u||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),b=this.getLinearTickPositions(a,l,r);else if(.08<=a)for(var g=Math.floor(l),e,v,y,n,D,f=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];g<r+1&&!D;g++)for(v=f.length,e=0;e<v&&!D;e++)y=k(d(g)*f[e]),y>l&&(!u||n<=r)&&void 0!==n&&b.push(n),n>r&&(D=!0),n=y;else l=d(l),r=d(r),a=f[u?\"minorTickInterval\":\"tickInterval\"],a=m(\"auto\"===a?null:a,this._minorAutoInterval,f.tickPixelInterval/(u?5:1)*(r-l)/((u?g/this.tickPositions.length:\ng)||1)),a=E(a,null,A(a)),b=F(this.getLinearTickPositions(a,l,r),k),u||(this._minorAutoInterval=a/5);u||(this.tickInterval=a);return b};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}})(M);(function(a,C){var A=a.arrayMax,F=a.arrayMin,E=a.defined,m=a.destroyObjectProperties,f=a.each,l=a.erase,r=a.merge,u=a.pick;a.PlotLineOrBand=function(a,g){this.axis=a;g&&(this.options=g,this.id=g.id)};a.PlotLineOrBand.prototype={render:function(){var f=\nthis,g=f.axis,d=g.horiz,k=f.options,b=k.label,e=f.label,v=k.to,l=k.from,n=k.value,D=E(l)&&E(v),m=E(n),c=f.svgElem,G=!c,q=[],B=k.color,K=u(k.zIndex,0),p=k.events,q={\"class\":\"highcharts-plot-\"+(D?\"band \":\"line \")+(k.className||\"\")},z={},I=g.chart.renderer,L=D?\"bands\":\"lines\",h=g.log2lin;g.isLog&&(l=h(l),v=h(v),n=h(n));m?(q={stroke:B,\"stroke-width\":k.width},k.dashStyle&&(q.dashstyle=k.dashStyle)):D&&(B&&(q.fill=B),k.borderWidth&&(q.stroke=k.borderColor,q[\"stroke-width\"]=k.borderWidth));z.zIndex=K;L+=\n\"-\"+K;(B=g.plotLinesAndBandsGroups[L])||(g.plotLinesAndBandsGroups[L]=B=I.g(\"plot-\"+L).attr(z).add());G&&(f.svgElem=c=I.path().attr(q).add(B));if(m)q=g.getPlotLinePath(n,c.strokeWidth());else if(D)q=g.getPlotBandPath(l,v,k);else return;G&&q&&q.length?(c.attr({d:q}),p&&a.objectEach(p,function(a,b){c.on(b,function(a){p[b].apply(f,[a])})})):c&&(q?(c.show(),c.animate({d:q})):(c.hide(),e&&(f.label=e=e.destroy())));b&&E(b.text)&&q&&q.length&&0<g.width&&0<g.height&&!q.flat?(b=r({align:d&&D&&\"center\",x:d?\n!D&&4:10,verticalAlign:!d&&D&&\"middle\",y:d?D?16:10:D?6:-4,rotation:d&&!D&&90},b),this.renderLabel(b,q,D,K)):e&&e.hide();return f},renderLabel:function(a,g,d,k){var b=this.label,e=this.axis.chart.renderer;b||(b={align:a.textAlign||a.align,rotation:a.rotation,\"class\":\"highcharts-plot-\"+(d?\"band\":\"line\")+\"-label \"+(a.className||\"\")},b.zIndex=k,this.label=b=e.text(a.text,0,0,a.useHTML).attr(b).add(),b.css(a.style));k=[g[1],g[4],d?g[6]:g[1]];g=[g[2],g[5],d?g[7]:g[2]];d=F(k);e=F(g);b.align(a,!1,{x:d,y:e,\nwidth:A(k)-d,height:A(g)-e});b.show()},destroy:function(){l(this.axis.plotLinesAndBands,this);delete this.axis;m(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,g){var d=this.getPlotLinePath(g,null,null,!0),k=this.getPlotLinePath(a,null,null,!0),b=this.horiz,e=1;a=a<this.min&&g<this.min||a>this.max&&g>this.max;k&&d?(a&&(k.flat=k.toString()===d.toString(),e=0),k.push(b&&d[4]===k[4]?d[4]+e:d[4],b||d[5]!==k[5]?d[5]:d[5]+e,b&&d[1]===k[1]?d[1]+e:d[1],b||d[2]!==k[2]?d[2]:d[2]+e)):k=null;return k},\naddPlotBand:function(a){return this.addPlotBandOrLine(a,\"plotBands\")},addPlotLine:function(a){return this.addPlotBandOrLine(a,\"plotLines\")},addPlotBandOrLine:function(f,g){var d=(new a.PlotLineOrBand(this,f)).render(),k=this.userOptions;d&&(g&&(k[g]=k[g]||[],k[g].push(f)),this.plotLinesAndBands.push(d));return d},removePlotBandOrLine:function(a){for(var g=this.plotLinesAndBands,d=this.options,k=this.userOptions,b=g.length;b--;)g[b].id===a&&g[b].destroy();f([d.plotLines||[],k.plotLines||[],d.plotBands||\n[],k.plotBands||[]],function(e){for(b=e.length;b--;)e[b].id===a&&l(e,e[b])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(M,S);(function(a){var C=a.dateFormat,A=a.each,F=a.extend,E=a.format,m=a.isNumber,f=a.map,l=a.merge,r=a.pick,u=a.splat,t=a.syncTimeout,g=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,k){this.chart=a;this.options=k;this.crosshairs=[];this.now={x:0,y:0};\nthis.isHidden=!0;this.split=k.split&&!a.inverted;this.shared=k.shared||this.split},cleanSplit:function(a){A(this.chart.series,function(d){var b=d&&d.tt;b&&(!b.isActive||a?d.tt=b.destroy():b.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,k=this.options;this.label||(this.split?this.label=a.g(\"tooltip\"):(this.label=a.label(\"\",0,0,k.shape||\"callout\",null,null,k.useHTML,null,\"tooltip\").attr({padding:k.padding,r:k.borderRadius}),this.label.attr({fill:k.backgroundColor,\"stroke-width\":k.borderWidth}).css(k.style).shadow(k.shadow)),\nthis.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();l(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,l(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,k,b,e){var d=this,g=d.now,n=!1!==d.options.animation&&!d.isHidden&&(1<Math.abs(a-g.x)||1<Math.abs(k-\ng.y)),f=d.followPointer||1<d.len;F(g,{x:n?(2*g.x+a)/3:a,y:n?(g.y+k)/2:k,anchorX:f?void 0:n?(2*g.anchorX+b)/3:b,anchorY:f?void 0:n?(g.anchorY+e)/2:e});d.getLabel().attr(g);n&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){d&&d.move(a,k,b,e)},32))},hide:function(a){var d=this;clearTimeout(this.hideTimer);a=r(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=t(function(){d.getLabel()[a?\"fadeOut\":\"hide\"]();d.isHidden=!0},a))},getAnchor:function(a,k){var b,e=this.chart,\nd=e.inverted,g=e.plotTop,n=e.plotLeft,l=0,m=0,c,r;a=u(a);b=a[0].tooltipPos;this.followPointer&&k&&(void 0===k.chartX&&(k=e.pointer.normalize(k)),b=[k.chartX-e.plotLeft,k.chartY-g]);b||(A(a,function(a){c=a.series.yAxis;r=a.series.xAxis;l+=a.plotX+(!d&&r?r.left-n:0);m+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!d&&c?c.top-g:0)}),l/=a.length,m/=a.length,b=[d?e.plotWidth-m:l,this.shared&&!d&&1<a.length&&k?k.chartY-g:d?e.plotHeight-l:m]);return f(b,Math.round)},getPosition:function(a,g,b){var e=this.chart,\nd=this.distance,k={},n=b.h||0,f,l=[\"y\",e.chartHeight,g,b.plotY+e.plotTop,e.plotTop,e.plotTop+e.plotHeight],c=[\"x\",e.chartWidth,a,b.plotX+e.plotLeft,e.plotLeft,e.plotLeft+e.plotWidth],m=!this.followPointer&&r(b.ttBelow,!e.inverted===!!b.negative),q=function(a,b,c,e,p,q){var h=c<e-d,g=e+d+c<b,f=e-d-c;e+=d;if(m&&g)k[a]=e;else if(!m&&h)k[a]=f;else if(h)k[a]=Math.min(q-c,0>f-n?f:f-n);else if(g)k[a]=Math.max(p,e+n+c>b?e:e+n);else return!1},B=function(a,b,c,e){var h;e<d||e>b-d?h=!1:k[a]=e<c/2?1:e>b-c/2?\nb-c-2:e-c/2;return h},t=function(a){var b=l;l=c;c=b;f=a},p=function(){!1!==q.apply(0,l)?!1!==B.apply(0,c)||f||(t(!0),p()):f?k.x=k.y=0:(t(!0),p())};(e.inverted||1<this.len)&&t();p();return k},defaultFormatter:function(a){var d=this.points||u(this),b;b=[a.tooltipFooterHeaderFormatter(d[0])];b=b.concat(a.bodyFormatter(d));b.push(a.tooltipFooterHeaderFormatter(d[0],!0));return b},refresh:function(a,g){var b,e=this.options,d,k=a,n,f={},l=[];b=e.formatter||this.defaultFormatter;var f=this.shared,c;e.enabled&&\n(clearTimeout(this.hideTimer),this.followPointer=u(k)[0].series.tooltipOptions.followPointer,n=this.getAnchor(k,g),g=n[0],d=n[1],!f||k.series&&k.series.noSharedTooltip?f=k.getLabelConfig():(A(k,function(a){a.setState(\"hover\");l.push(a.getLabelConfig())}),f={x:k[0].category,y:k[0].y},f.points=l,k=k[0]),this.len=l.length,f=b.call(f,this),c=k.series,this.distance=r(c.tooltipOptions.distance,16),!1===f?this.hide():(b=this.getLabel(),this.isHidden&&b.attr({opacity:1}).show(),this.split?this.renderSplit(f,\na):(e.style.width||b.css({width:this.chart.spacingBox.width}),b.attr({text:f&&f.join?f.join(\"\"):f}),b.removeClass(/highcharts-color-[\\d]+/g).addClass(\"highcharts-color-\"+r(k.colorIndex,c.colorIndex)),b.attr({stroke:e.borderColor||k.color||c.color||\"#666666\"}),this.updatePosition({plotX:g,plotY:d,negative:k.negative,ttBelow:k.ttBelow,h:n[2]||0})),this.isHidden=!1))},renderSplit:function(d,k){var b=this,e=[],g=this.chart,f=g.renderer,n=!0,l=this.options,m=0,c=this.getLabel();A(d.slice(0,k.length+1),\nfunction(a,d){if(!1!==a){d=k[d-1]||{isHeader:!0,plotX:k[0].plotX};var q=d.series||b,v=q.tt,p=d.series||{},z=\"highcharts-color-\"+r(d.colorIndex,p.colorIndex,\"none\");v||(q.tt=v=f.label(null,null,null,\"callout\").addClass(\"highcharts-tooltip-box \"+z).attr({padding:l.padding,r:l.borderRadius,fill:l.backgroundColor,stroke:l.borderColor||d.color||p.color||\"#333333\",\"stroke-width\":l.borderWidth}).add(c));v.isActive=!0;v.attr({text:a});v.css(l.style).shadow(l.shadow);a=v.getBBox();p=a.width+v.strokeWidth();\nd.isHeader?(m=a.height,p=Math.max(0,Math.min(d.plotX+g.plotLeft-p/2,g.chartWidth-p))):p=d.plotX+g.plotLeft-r(l.distance,16)-p;0>p&&(n=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=g.plotTop;e.push({target:d.isHeader?g.plotHeight+m:a,rank:d.isHeader?1:0,size:q.tt.getBBox().height+1,point:d,x:p,tt:v})}});this.cleanSplit();a.distribute(e,g.plotHeight+m);A(e,function(a){var b=a.point,c=b.series;a.tt.attr({visibility:void 0===a.pos?\"hidden\":\"inherit\",x:n||b.isHeader?a.x:b.plotX+\ng.plotLeft+r(l.distance,16),y:a.pos+g.plotTop,anchorX:b.isHeader?b.plotX+g.plotLeft:b.plotX+c.xAxis.pos,anchorY:b.isHeader?a.pos+g.plotTop-15:b.plotY+c.yAxis.pos})})},updatePosition:function(a){var d=this.chart,b=this.getLabel(),b=(this.options.positioner||this.getPosition).call(this,b.width,b.height,a);this.move(Math.round(b.x),Math.round(b.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,k,b,e){var d=C(\"%m-%d %H:%M:%S.%L\",k),f,n,l={millisecond:15,second:12,minute:9,hour:6,day:3},\nm=\"millisecond\";for(n in g){if(a===g.week&&+C(\"%w\",k)===b&&\"00:00:00.000\"===d.substr(6)){n=\"week\";break}if(g[n]>a){n=m;break}if(l[n]&&d.substr(l[n])!==\"01-01 00:00:00.000\".substr(l[n]))break;\"week\"!==n&&(m=n)}n&&(f=e[n]);return f},getXDateFormat:function(a,g,b){g=g.dateTimeLabelFormats;var e=b&&b.closestPointRange;return(e?this.getDateFormat(e,a.x,b.options.startOfWeek,g):g.day)||g.year},tooltipFooterHeaderFormatter:function(a,g){var b=g?\"footer\":\"header\";g=a.series;var e=g.tooltipOptions,d=e.xDateFormat,\nk=g.xAxis,n=k&&\"datetime\"===k.options.type&&m(a.key),b=e[b+\"Format\"];n&&!d&&(d=this.getXDateFormat(a,e,k));n&&d&&(b=b.replace(\"{point.key}\",\"{point.key:\"+d+\"}\"));return E(b,{point:a,series:g})},bodyFormatter:function(a){return f(a,function(a){var b=a.series.tooltipOptions;return(b.pointFormatter||a.point.tooltipFormatter).call(a.point,b.pointFormat)})}}})(M);(function(a){var C=a.addEvent,A=a.attr,F=a.charts,E=a.color,m=a.css,f=a.defined,l=a.each,r=a.extend,u=a.find,t=a.fireEvent,g=a.isObject,d=a.offset,\nk=a.pick,b=a.removeEvent,e=a.splat,v=a.Tooltip,y=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};v&&(a.tooltip=new v(a,b.tooltip),this.followTouchMove=k(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,e=b.options.chart,c=e.zoomType||\"\",b=b.inverted;/touch/.test(a.type)&&(c=k(e.pinchType,c));\nthis.zoomX=a=/x/.test(c);this.zoomY=c=/y/.test(c);this.zoomHor=a&&!b||c&&b;this.zoomVert=c&&!b||a&&b;this.hasZoom=a||c},normalize:function(a,b){var e,c;a=a||y.event;a.target||(a.target=a.srcElement);c=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=d(this.chart.container));void 0===c.pageX?(e=Math.max(a.x,a.clientX-b.left),b=a.y):(e=c.pageX-b.left,b=c.pageY-b.top);return r(a,{chartX:Math.round(e),chartY:Math.round(b)})},getCoordinates:function(a){var b=\n{xAxis:[],yAxis:[]};l(this.chart.axes,function(e){b[e.isXAxis?\"xAxis\":\"yAxis\"].push({axis:e,value:e.toValue(a[e.horiz?\"chartX\":\"chartY\"])})});return b},findNearestKDPoint:function(a,b,e){var c;l(a,function(a){var d=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf(\"y\");a=a.searchPoint(e,d);if((d=g(a,!0))&&!(d=!g(c,!0)))var d=c.distX-a.distX,n=c.dist-a.dist,k=(a.series.group&&a.series.group.zIndex)-(c.series.group&&c.series.group.zIndex),d=0<(0!==d&&b?d:0!==n?n:0!==k?k:c.series.index>\na.series.index?-1:1);d&&(c=a)});return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var e=a.series,c=e.xAxis,e=e.yAxis;if(c&&e)return b?{chartX:c.len+c.pos-a.clientX,chartY:e.len+e.pos-a.plotY}:{chartX:a.clientX+c.pos,chartY:a.plotY+e.pos}},getHoverData:function(b,e,d,c,f,q){var n,v=[];c=!(!c||!b);var p=e&&!e.stickyTracking?[e]:a.grep(d,function(a){return a.visible&&!(!f&&a.directTouch)&&k(a.options.enableMouseTracking,\n!0)&&a.stickyTracking});e=(n=c?b:this.findNearestKDPoint(p,f,q))&&n.series;n&&(f&&!e.noSharedTooltip?(p=a.grep(d,function(a){return a.visible&&!(!f&&a.directTouch)&&k(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),l(p,function(a){a=u(a.points,function(a){return a.x===n.x});g(a)&&!a.isNull&&v.push(a)})):v.push(n));return{hoverPoint:n,hoverSeries:e,hoverPoints:v}},runPointActions:function(b,e){var d=this.chart,c=d.tooltip,g=c?c.shared:!1,n=e||d.hoverPoint,f=n&&n.series||d.hoverSeries,f=this.getHoverData(n,\nf,d.series,!!e||f&&f.directTouch&&this.isDirectTouch,g,b),v,n=f.hoverPoint;v=f.hoverPoints;e=(f=f.hoverSeries)&&f.tooltipOptions.followPointer;g=g&&f&&!f.noSharedTooltip;if(n&&(n!==d.hoverPoint||c&&c.isHidden)){l(d.hoverPoints||[],function(b){-1===a.inArray(b,v)&&b.setState()});l(v||[],function(a){a.setState(\"hover\")});if(d.hoverSeries!==f)f.onMouseOver();d.hoverPoint&&d.hoverPoint.firePointEvent(\"mouseOut\");n.firePointEvent(\"mouseOver\");d.hoverPoints=v;d.hoverPoint=n;c&&c.refresh(g?v:n,b)}else e&&\nc&&!c.isHidden&&(n=c.getAnchor([{}],b),c.updatePosition({plotX:n[0],plotY:n[1]}));this.unDocMouseMove||(this.unDocMouseMove=C(d.container.ownerDocument,\"mousemove\",function(b){var c=F[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));l(d.axes,function(c){var e=k(c.crosshair.snap,!0),p=e?a.find(v,function(a){return a.series[c.coll]===c}):void 0;p||!e?c.drawCrosshair(b,p):c.hideCrosshair()})},reset:function(a,b){var d=this.chart,c=d.hoverSeries,g=d.hoverPoint,n=d.hoverPoints,f=d.tooltip,k=\nf&&f.shared?n:g;a&&k&&l(e(k),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&k&&(f.refresh(k),g&&(g.setState(g.state,!0),l(d.axes,function(a){a.crosshair&&a.drawCrosshair(null,g)})));else{if(g)g.onMouseOut();n&&l(n,function(a){a.setState()});if(c)c.onMouseOut();f&&f.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());l(d.axes,function(a){a.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}},scaleGroups:function(a,b){var e=this.chart,c;l(e.series,\nfunction(d){c=a||d.getPlotBox();d.xAxis&&d.xAxis.zoomEnabled&&d.group&&(d.group.attr(c),d.markerGroup&&(d.markerGroup.attr(c),d.markerGroup.clip(b?e.clipRect:null)),d.dataLabelsGroup&&d.dataLabelsGroup.attr(c))});e.clipRect.attr(b||e.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,e=b.options.chart,c=a.chartX,d=a.chartY,g=this.zoomHor,n=this.zoomVert,\nf=b.plotLeft,p=b.plotTop,k=b.plotWidth,v=b.plotHeight,l,h=this.selectionMarker,w=this.mouseDownX,m=this.mouseDownY,r=e.panKey&&a[e.panKey+\"Key\"];h&&h.touch||(c<f?c=f:c>f+k&&(c=f+k),d<p?d=p:d>p+v&&(d=p+v),this.hasDragged=Math.sqrt(Math.pow(w-c,2)+Math.pow(m-d,2)),10<this.hasDragged&&(l=b.isInsidePlot(w-f,m-p),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!r&&!h&&(this.selectionMarker=h=b.renderer.rect(f,p,g?1:k,n?1:v,0).attr({fill:e.selectionMarkerFill||E(\"#335cad\").setOpacity(.25).get(),\"class\":\"highcharts-selection-marker\",\nzIndex:7}).add()),h&&g&&(c-=w,h.attr({width:Math.abs(c),x:(0<c?0:c)+w})),h&&n&&(c=d-m,h.attr({height:Math.abs(c),y:(0<c?0:c)+m})),l&&!h&&e.panning&&b.pan(a,e.panning)))},drop:function(a){var b=this,e=this.chart,c=this.hasPinched;if(this.selectionMarker){var d={originalEvent:a,xAxis:[],yAxis:[]},g=this.selectionMarker,n=g.attr?g.attr(\"x\"):g.x,k=g.attr?g.attr(\"y\"):g.y,p=g.attr?g.attr(\"width\"):g.width,v=g.attr?g.attr(\"height\"):g.height,I;if(this.hasDragged||c)l(e.axes,function(e){if(e.zoomEnabled&&f(e.min)&&\n(c||b[{xAxis:\"zoomX\",yAxis:\"zoomY\"}[e.coll]])){var h=e.horiz,g=\"touchend\"===a.type?e.minPixelPadding:0,q=e.toValue((h?n:k)+g),h=e.toValue((h?n+p:k+v)-g);d[e.coll].push({axis:e,min:Math.min(q,h),max:Math.max(q,h)});I=!0}}),I&&t(e,\"selection\",d,function(a){e.zoom(r(a,c?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();c&&this.scaleGroups()}e&&(m(e.container,{cursor:e._cursor}),e.cancelClick=10<this.hasDragged,e.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=\n[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(b){F[a.hoverChartIndex]&&F[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,e=this.chartPosition;a=this.normalize(a,e);!e||this.inClass(a.target,\"highcharts-tracker\")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var e=F[a.hoverChartIndex];e&&(b.relatedTarget||\nb.toElement)&&(e.pointer.reset(),e.pointer.chartPosition=null)},onContainerMouseMove:function(b){var e=this.chart;f(a.hoverChartIndex)&&F[a.hoverChartIndex]&&F[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=e.index);b=this.normalize(b);b.returnValue=!1;\"mousedown\"===e.mouseIsDown&&this.drag(b);!this.inClass(b.target,\"highcharts-tracker\")&&!e.isInsidePlot(b.chartX-e.plotLeft,b.chartY-e.plotTop)||e.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var e;a;){if(e=A(a,\"class\")){if(-1!==\ne.indexOf(b))return!0;if(-1!==e.indexOf(\"highcharts-container\"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,\"highcharts-tooltip\")||this.inClass(a,\"highcharts-series-\"+b.index)&&this.inClass(a,\"highcharts-tracker\")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,e=b.hoverPoint,c=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||(e&&this.inClass(a.target,\n\"highcharts-tracker\")?(t(e.series,\"click\",r(a,{point:e})),b.hoverPoint&&e.firePointEvent(\"click\",a)):(r(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-c,a.chartY-d)&&t(b,\"click\",a)))},setDOMEvents:function(){var b=this,e=b.chart.container,d=e.ownerDocument;e.onmousedown=function(a){b.onContainerMouseDown(a)};e.onmousemove=function(a){b.onContainerMouseMove(a)};e.onclick=function(a){b.onContainerClick(a)};C(e,\"mouseleave\",b.onContainerMouseLeave);1===a.chartCount&&C(d,\"mouseup\",b.onDocumentMouseUp);\na.hasTouch&&(e.ontouchstart=function(a){b.onContainerTouchStart(a)},e.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&C(d,\"touchend\",b.onDocumentTouchEnd))},destroy:function(){var e=this,d=this.chart.container.ownerDocument;e.unDocMouseMove&&e.unDocMouseMove();b(e.chart.container,\"mouseleave\",e.onContainerMouseLeave);a.chartCount||(b(d,\"mouseup\",e.onDocumentMouseUp),a.hasTouch&&b(d,\"touchend\",e.onDocumentTouchEnd));clearInterval(e.tooltipTimeout);a.objectEach(e,function(a,b){e[b]=\nnull})}}})(M);(function(a){var C=a.charts,A=a.each,F=a.extend,E=a.map,m=a.noop,f=a.pick;F(a.Pointer.prototype,{pinchTranslate:function(a,f,m,t,g,d){this.zoomHor&&this.pinchTranslateDirection(!0,a,f,m,t,g,d);this.zoomVert&&this.pinchTranslateDirection(!1,a,f,m,t,g,d)},pinchTranslateDirection:function(a,f,m,t,g,d,k,b){var e=this.chart,v=a?\"x\":\"y\",l=a?\"X\":\"Y\",n=\"chart\"+l,r=a?\"width\":\"height\",u=e[\"plot\"+(a?\"Left\":\"Top\")],c,G,q=b||1,B=e.inverted,K=e.bounds[a?\"h\":\"v\"],p=1===f.length,z=f[0][n],I=m[0][n],\nL=!p&&f[1][n],h=!p&&m[1][n],w;m=function(){!p&&20<Math.abs(z-L)&&(q=b||Math.abs(I-h)/Math.abs(z-L));G=(u-I)/q+z;c=e[\"plot\"+(a?\"Width\":\"Height\")]/q};m();f=G;f<K.min?(f=K.min,w=!0):f+c>K.max&&(f=K.max-c,w=!0);w?(I-=.8*(I-k[v][0]),p||(h-=.8*(h-k[v][1])),m()):k[v]=[I,h];B||(d[v]=G-u,d[r]=c);d=B?1/q:q;g[r]=c;g[v]=f;t[B?a?\"scaleY\":\"scaleX\":\"scale\"+l]=q;t[\"translate\"+l]=d*u+(I-d*z)},pinch:function(a){var l=this,u=l.chart,t=l.pinchDown,g=a.touches,d=g.length,k=l.lastValidTouch,b=l.hasZoom,e=l.selectionMarker,\nv={},y=1===d&&(l.inClass(a.target,\"highcharts-tracker\")&&u.runTrackerClick||l.runChartClick),n={};1<d&&(l.initiated=!0);b&&l.initiated&&!y&&a.preventDefault();E(g,function(a){return l.normalize(a)});\"touchstart\"===a.type?(A(g,function(a,b){t[b]={chartX:a.chartX,chartY:a.chartY}}),k.x=[t[0].chartX,t[1]&&t[1].chartX],k.y=[t[0].chartY,t[1]&&t[1].chartY],A(u.axes,function(a){if(a.zoomEnabled){var b=u.bounds[a.horiz?\"h\":\"v\"],e=a.minPixelPadding,d=a.toPixels(f(a.options.min,a.dataMin)),g=a.toPixels(f(a.options.max,\na.dataMax)),k=Math.max(d,g);b.min=Math.min(a.pos,Math.min(d,g)-e);b.max=Math.max(a.pos+a.len,k+e)}}),l.res=!0):l.followTouchMove&&1===d?this.runPointActions(l.normalize(a)):t.length&&(e||(l.selectionMarker=e=F({destroy:m,touch:!0},u.plotBox)),l.pinchTranslate(t,g,v,e,n,k),l.hasPinched=b,l.scaleGroups(v,n),l.res&&(l.res=!1,this.reset(!1,0)))},touch:function(l,m){var r=this.chart,t,g;if(r.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=r.index;1===l.touches.length?\n(l=this.normalize(l),(g=r.isInsidePlot(l.chartX-r.plotLeft,l.chartY-r.plotTop))&&!r.openMenu?(m&&this.runPointActions(l),\"touchmove\"===l.type&&(m=this.pinchDown,t=m[0]?4<=Math.sqrt(Math.pow(m[0].chartX-l.chartX,2)+Math.pow(m[0].chartY-l.chartY,2)):!1),f(t,!0)&&this.pinch(l)):m&&this.reset()):2===l.touches.length&&this.pinch(l)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(f){C[a.hoverChartIndex]&&\nC[a.hoverChartIndex].pointer.drop(f)}})})(M);(function(a){var C=a.addEvent,A=a.charts,F=a.css,E=a.doc,m=a.extend,f=a.noop,l=a.Pointer,r=a.removeEvent,u=a.win,t=a.wrap;if(!a.hasTouch&&(u.PointerEvent||u.MSPointerEvent)){var g={},d=!!u.PointerEvent,k=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(g,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},b=function(b,d,g,n){\"touch\"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!A[a.hoverChartIndex]||\n(n(b),n=A[a.hoverChartIndex].pointer,n[d]({type:g,target:b.currentTarget,preventDefault:f,touches:k()}))};m(l.prototype,{onContainerPointerDown:function(a){b(a,\"onContainerTouchStart\",\"touchstart\",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){b(a,\"onContainerTouchMove\",\"touchmove\",function(a){g[a.pointerId]={pageX:a.pageX,pageY:a.pageY};g[a.pointerId].target||(g[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){b(a,\n\"onDocumentTouchEnd\",\"touchend\",function(a){delete g[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,d?\"pointerdown\":\"MSPointerDown\",this.onContainerPointerDown);a(this.chart.container,d?\"pointermove\":\"MSPointerMove\",this.onContainerPointerMove);a(E,d?\"pointerup\":\"MSPointerUp\",this.onDocumentPointerUp)}});t(l.prototype,\"init\",function(a,b,d){a.call(this,b,d);this.hasZoom&&F(b.container,{\"-ms-touch-action\":\"none\",\"touch-action\":\"none\"})});t(l.prototype,\"setDOMEvents\",function(a){a.apply(this);\n(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});t(l.prototype,\"destroy\",function(a){this.batchMSEvents(r);a.call(this)})}})(M);(function(a){var C=a.addEvent,A=a.css,F=a.discardElement,E=a.defined,m=a.each,f=a.isFirefox,l=a.marginNames,r=a.merge,u=a.pick,t=a.setAnimation,g=a.stableSort,d=a.win,k=a.wrap;a.Legend=function(a,e){this.init(a,e)};a.Legend.prototype={init:function(a,e){this.chart=a;this.setOptions(e);e.enabled&&(this.render(),C(this.chart,\"endResize\",function(){this.legend.positionCheckboxes()}))},\nsetOptions:function(a){var b=u(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=r(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=u(a.symbolWidth,16);this.pages=[]},update:function(a,e){var b=this.chart;this.setOptions(r(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;u(e,!0)&&b.redraw()},colorizeItem:function(a,e){a.legendGroup[e?\"removeClass\":\n\"addClass\"](\"highcharts-legend-item-hidden\");var b=this.options,d=a.legendItem,g=a.legendLine,f=a.legendSymbol,k=this.itemHiddenStyle.color,b=e?b.itemStyle.color:k,c=e?a.color||k:k,l=a.options&&a.options.marker,q={fill:c};d&&d.css({fill:b,color:b});g&&g.attr({stroke:c});f&&(l&&f.isMarker&&(q=a.pointAttribs(),e||(q.stroke=q.fill=k)),f.attr(q))},positionItem:function(a){var b=this.options,d=b.symbolPadding,b=!b.rtl,g=a._legendItemPos,f=g[0],g=g[1],k=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?\nf:this.legendWidth-f-2*d-4,g);k&&(k.x=f,k.y=g)},destroyItem:function(a){var b=a.checkbox;m([\"legendItem\",\"legendLine\",\"legendSymbol\",\"legendGroup\"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&F(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}m(this.getAllItems(),function(b){m([\"legendItem\",\"legendGroup\"],a,b)});m(\"clipRect up down pager nav box title group\".split(\" \"),a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,\nd,g=this.clipHeight||this.legendHeight,f=this.titleHeight;b&&(d=b.translateY,m(this.allItems,function(e){var k=e.checkbox,c;k&&(c=d+f+k.y+(a||0)+3,A(k,{left:b.translateX+e.checkboxOffset+k.x-20+\"px\",top:c+\"px\",display:c>d-6&&c<d+g-6?\"\":\"none\"}))}))},renderTitle:function(){var a=this.options,e=this.padding,d=a.title,g=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,e-3,e-4,null,null,null,a.useHTML,null,\"legend-title\").attr({zIndex:1}).css(d.style).add(this.group)),a=this.title.getBBox(),\ng=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:g}));this.titleHeight=g},setText:function(b){var e=this.options;b.legendItem.attr({text:e.labelFormat?a.format(e.labelFormat,b):e.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,d=b.renderer,g=this.options,f=\"horizontal\"===g.layout,k=this.symbolWidth,l=g.symbolPadding,c=this.itemStyle,m=this.itemHiddenStyle,q=this.padding,B=f?u(g.itemDistance,20):0,t=!g.rtl,p=g.width,z=g.itemMarginBottom||0,I=this.itemMarginTop,\nL=a.legendItem,h=!a.series,w=!h&&a.series.drawLegendSymbol?a.series:a,P=w.options,H=this.createCheckboxForItem&&P&&P.showCheckbox,P=k+l+B+(H?20:0),O=g.useHTML,A=a.options.className;L||(a.legendGroup=d.g(\"legend-item\").addClass(\"highcharts-\"+w.type+\"-series highcharts-color-\"+a.colorIndex+(A?\" \"+A:\"\")+(h?\" highcharts-series-\"+a.index:\"\")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=L=d.text(\"\",t?k+l:-l,this.baseline||0,O).css(r(a.visible?c:m)).attr({align:t?\"left\":\"right\",zIndex:2}).add(a.legendGroup),\nthis.baseline||(k=c.fontSize,this.fontMetrics=d.fontMetrics(k,L),this.baseline=this.fontMetrics.f+3+I,L.attr(\"y\",this.baseline)),this.symbolHeight=g.symbolHeight||this.fontMetrics.f,w.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,L,O),H&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);c.width||L.css({width:(g.itemWidth||g.width||b.spacingBox.width)-P});this.setText(a);d=L.getBBox();c=a.checkboxOffset=g.itemWidth||a.legendItemWidth||d.width+P;this.itemHeight=d=Math.round(a.legendItemHeight||\nd.height||this.symbolHeight);f&&this.itemX-q+c>(p||b.spacingBox.width-2*q-g.x)&&(this.itemX=q,this.itemY+=I+this.lastLineHeight+z,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,c);this.lastItemY=I+this.itemY+z;this.lastLineHeight=Math.max(d,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=c:(this.itemY+=I+d+z,this.lastLineHeight=d);this.offsetWidth=p||Math.max((f?this.itemX-q-(a.checkbox?0:B):c)+q,this.offsetWidth)},getAllItems:function(){var a=[];m(this.chart.series,\nfunction(b){var e=b&&b.options;b&&u(e.showInLegend,E(e.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||(\"point\"===e.legendType?b.data:b)))});return a},adjustMargins:function(a,e){var b=this.chart,d=this.options,g=d.align.charAt(0)+d.verticalAlign.charAt(0)+d.layout.charAt(0);d.floating||m([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,k){f.test(g)&&!E(a[k])&&(b[l[k]]=Math.max(b[l[k]],b.legend[(k+1)%2?\"legendHeight\":\"legendWidth\"]+[1,-1,-1,1][k]*d[k%2?\"x\":\"y\"]+u(d.margin,\n12)+e[k]))})},render:function(){var a=this,e=a.chart,d=e.renderer,f=a.group,k,l,t,c,u=a.box,q=a.options,B=a.padding;a.itemX=B;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;f||(a.group=f=d.g(\"legend\").attr({zIndex:7}).add(),a.contentGroup=d.g().attr({zIndex:1}).add(f),a.scrollGroup=d.g().add(a.contentGroup));a.renderTitle();k=a.getAllItems();g(k,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});q.reversed&&k.reverse();a.allItems=k;a.display=l=\n!!k.length;a.lastLineHeight=0;m(k,function(b){a.renderItem(b)});t=(q.width||a.offsetWidth)+B;c=a.lastItemY+a.lastLineHeight+a.titleHeight;c=a.handleOverflow(c);c+=B;u||(a.box=u=d.rect().addClass(\"highcharts-legend-box\").attr({r:q.borderRadius}).add(f),u.isNew=!0);u.attr({stroke:q.borderColor,\"stroke-width\":q.borderWidth||0,fill:q.backgroundColor||\"none\"}).shadow(q.shadow);0<t&&0<c&&(u[u.isNew?\"attr\":\"animate\"](u.crisp({x:0,y:0,width:t,height:c},u.strokeWidth())),u.isNew=!1);u[l?\"show\":\"hide\"]();a.legendWidth=\nt;a.legendHeight=c;m(k,function(b){a.positionItem(b)});l&&f.align(r(q,{width:t,height:c}),!0,\"spacingBox\");e.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,d=this.chart,g=d.renderer,f=this.options,k=f.y,l=this.padding,d=d.spacingBox.height+(\"top\"===f.verticalAlign?-k:k)-l,k=f.maxHeight,c,r=this.clipRect,q=f.navigation,B=u(q.animation,!0),t=q.arrowSize||12,p=this.nav,z=this.pages,I,L=this.allItems,h=function(a){\"number\"===typeof a?r.attr({height:a}):r&&(b.clipRect=r.destroy(),\nb.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?\"rect(\"+l+\"px,9999px,\"+(l+a)+\"px,0)\":\"auto\")};\"horizontal\"!==f.layout||\"middle\"===f.verticalAlign||f.floating||(d/=2);k&&(d=Math.min(d,k));z.length=0;a>d&&!1!==q.enabled?(this.clipHeight=c=Math.max(d-20-this.titleHeight-l,0),this.currentPage=u(this.currentPage,1),this.fullHeight=a,m(L,function(a,b){var e=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=z.length;if(!d||e-z[d-1]>c&&(I||e)!==z[d-1])z.push(I||\ne),d++;b===L.length-1&&e+a-z[d-1]>c&&z.push(e);e!==I&&(I=e)}),r||(r=b.clipRect=g.clipRect(0,l,9999,0),b.contentGroup.clip(r)),h(c),p||(this.nav=p=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol(\"triangle\",0,0,t,t).on(\"click\",function(){b.scroll(-1,B)}).add(p),this.pager=g.text(\"\",15,10).addClass(\"highcharts-legend-navigation\").css(q.style).add(p),this.down=g.symbol(\"triangle-down\",0,0,t,t).on(\"click\",function(){b.scroll(1,B)}).add(p)),b.scroll(0),a=d):p&&(h(),this.nav=p.destroy(),this.scrollGroup.attr({translateY:1}),\nthis.clipHeight=0);return a},scroll:function(a,e){var b=this.pages,d=b.length;a=this.currentPage+a;var g=this.clipHeight,f=this.options.navigation,k=this.pager,c=this.padding;a>d&&(a=d);0<a&&(void 0!==e&&t(e,this.chart),this.nav.attr({translateX:c,translateY:g+this.padding+7+this.titleHeight,visibility:\"visible\"}),this.up.attr({\"class\":1===a?\"highcharts-legend-nav-inactive\":\"highcharts-legend-nav-active\"}),k.attr({text:a+\"/\"+d}),this.down.attr({x:18+this.pager.getBBox().width,\"class\":a===d?\"highcharts-legend-nav-inactive\":\n\"highcharts-legend-nav-active\"}),this.up.attr({fill:1===a?f.inactiveColor:f.activeColor}).css({cursor:1===a?\"default\":\"pointer\"}),this.down.attr({fill:a===d?f.inactiveColor:f.activeColor}).css({cursor:a===d?\"default\":\"pointer\"}),e=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:e}),this.currentPage=a,this.positionCheckboxes(e))}};a.LegendSymbolMixin={drawRectangle:function(a,e){var b=a.symbolHeight,d=a.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-b)/\n2:0,a.baseline-b+1,d?b:a.symbolWidth,b,u(a.options.symbolRadius,b/2)).addClass(\"highcharts-point\").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(a){var b=this.options,d=b.marker,g=a.symbolWidth,f=a.symbolHeight,k=f/2,l=this.chart.renderer,c=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var m;m={\"stroke-width\":b.lineWidth||0};b.dashStyle&&(m.dashstyle=b.dashStyle);this.legendLine=l.path([\"M\",0,a,\"L\",g,a]).addClass(\"highcharts-graph\").attr(m).add(c);d&&!1!==d.enabled&&\n(b=Math.min(u(d.radius,k),k),0===this.symbol.indexOf(\"url\")&&(d=r(d,{width:f,height:f}),b=0),this.legendSymbol=d=l.symbol(this.symbol,g/2-b,a-b,2*b,2*b,d).addClass(\"highcharts-point\").add(c),d.isMarker=!0)}};(/Trident\\/7\\.0/.test(d.navigator.userAgent)||f)&&k(a.Legend.prototype,\"positionItem\",function(a,e){var b=this,d=function(){e._legendItemPos&&a.call(b,e)};d();setTimeout(d)})})(M);(function(a){var C=a.addEvent,A=a.animate,F=a.animObject,E=a.attr,m=a.doc,f=a.Axis,l=a.createElement,r=a.defaultOptions,\nu=a.discardElement,t=a.charts,g=a.css,d=a.defined,k=a.each,b=a.extend,e=a.find,v=a.fireEvent,y=a.getStyle,n=a.grep,D=a.isNumber,J=a.isObject,c=a.isString,G=a.Legend,q=a.marginNames,B=a.merge,K=a.objectEach,p=a.Pointer,z=a.pick,I=a.pInt,L=a.removeEvent,h=a.seriesTypes,w=a.splat,P=a.svg,H=a.syncTimeout,O=a.win,Q=a.Renderer,R=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new R(a,b,c)};b(R.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);\nif(c(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var e,d,h=b.series,p=b.plotOptions||{};b.series=null;e=B(r,b);for(d in e.plotOptions)e.plotOptions[d].tooltip=p[d]&&B(p[d].tooltip)||void 0;e.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;e.series=b.series=h;this.userOptions=b;b=e.chart;d=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=c;this.isResizing=0;this.options=e;this.axes=[];this.series=\n[];this.hasCartesianSeries=b.showAxes;var g=this;g.index=t.length;t.push(g);a.chartCount++;d&&K(d,function(a,b){C(g,b,a)});g.xAxis=[];g.yAxis=[];g.pointCount=g.colorCounter=g.symbolCounter=0;g.firstRender()},initSeries:function(b){var c=this.options.chart;(c=h[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].name||\"Series \"+(b[a].index+1))},isInsidePlot:function(a,\nb,c){var e=c?b:a;a=c?a:b;return 0<=e&&e<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){var e=this.axes,d=this.series,h=this.pointer,p=this.legend,g=this.isDirtyLegend,f,q,l=this.hasCartesianSeries,n=this.isDirtyBox,z,m=this.renderer,x=m.isHidden(),w=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);x&&this.temporaryDisplay();this.layOutTitles();for(c=d.length;c--;)if(z=d[c],z.options.stacking&&(f=!0,z.isDirty)){q=!0;break}if(q)for(c=d.length;c--;)z=d[c],z.options.stacking&&\n(z.isDirty=!0);k(d,function(a){a.isDirty&&\"point\"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),g=!0);a.isDirtyData&&v(a,\"updatedData\")});g&&p.options.enabled&&(p.render(),this.isDirtyLegend=!1);f&&this.getStacks();l&&k(e,function(a){a.updateNames();a.setScale()});this.getMargins();l&&(k(e,function(a){a.isDirty&&(n=!0)}),k(e,function(a){var c=a.min+\",\"+a.max;a.extKey!==c&&(a.extKey=c,w.push(function(){v(a,\"afterSetExtremes\",b(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(n||f)&&\na.redraw()}));n&&this.drawChartBox();v(this,\"predraw\");k(d,function(a){(n||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});h&&h.reset(!0);m.draw();v(this,\"redraw\");v(this,\"render\");x&&this.temporaryDisplay(!0);k(w,function(a){a.call()})},get:function(a){function b(b){return b.id===a||b.options&&b.options.id===a}var c,d=this.series,h;c=e(this.axes,b)||e(this.series,b);for(h=0;!c&&h<d.length;h++)c=e(d[h].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=w(b.xAxis||\n{}),b=b.yAxis=w(b.yAxis||{});k(c,function(a,b){a.index=b;a.isX=!0});k(b,function(a,b){a.index=b});c=c.concat(b);k(c,function(b){new f(a,b)})},getSelectedPoints:function(){var a=[];k(this.series,function(b){a=a.concat(n(b.data||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return n(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var e=this,d=e.options,h;h=d.title=B({style:{color:\"#333333\",fontSize:d.isStock?\"16px\":\"18px\"}},d.title,a);d=d.subtitle=\nB({style:{color:\"#666666\"}},d.subtitle,b);k([[\"title\",a,h],[\"subtitle\",b,d]],function(a,b){var c=a[0],d=e[c],h=a[1];a=a[2];d&&h&&(e[c]=d=d.destroy());a&&a.text&&!d&&(e[c]=e.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,\"class\":\"highcharts-\"+c,zIndex:a.zIndex||4}).add(),e[c].update=function(a){e.setTitle(!b&&a,b&&a)},e[c].css(a.style))});e.layOutTitles(c)},layOutTitles:function(a){var c=0,e,d=this.renderer,h=this.spacingBox;k([\"title\",\"subtitle\"],function(a){var e=this[a],p=this.options[a];\na=\"title\"===a?-3:p.verticalAlign?0:c+2;var g;e&&(g=p.style.fontSize,g=d.fontMetrics(g,e).b,e.css({width:(p.width||h.width+p.widthAdjust)+\"px\"}).align(b({y:a+g},p),!1,\"spacingBox\"),p.floating||p.verticalAlign||(c=Math.ceil(c+e.getBBox(p.useHTML).height)))},this);e=this.titleOffset!==c;this.titleOffset=c;!this.isDirtyBox&&e&&(this.isDirtyBox=e,this.hasRendered&&z(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,e=this.renderTo;d(c)||(this.containerWidth=\ny(e,\"width\"));d(b)||(this.containerHeight=y(e,\"height\"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||this.containerHeight||400)},temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(m.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){m.body.contains(c)||(c.hcOrigDetached=!0,m.body.appendChild(c));\nif(\"none\"===y(c,\"display\",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:\"block\",overflow:\"hidden\"},c!==this.renderTo&&(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty(\"display\",\"block\",\"important\");c=c.parentNode;if(c===m.body)break}},setClassName:function(a){this.container.className=\"highcharts-container \"+(a||\"\")},getContainer:function(){var e,d=this.options,h=d.chart,p,g;e=this.renderTo;var f=a.uniqueKey(),k;e||\n(this.renderTo=e=h.renderTo);c(e)&&(this.renderTo=e=m.getElementById(e));e||a.error(13,!0);p=I(E(e,\"data-highcharts-chart\"));D(p)&&t[p]&&t[p].hasRendered&&t[p].destroy();E(e,\"data-highcharts-chart\",this.index);e.innerHTML=\"\";h.skipClone||e.offsetWidth||this.temporaryDisplay();this.getChartSize();p=this.chartWidth;g=this.chartHeight;k=b({position:\"relative\",overflow:\"hidden\",width:p+\"px\",height:g+\"px\",textAlign:\"left\",lineHeight:\"normal\",zIndex:0,\"-webkit-tap-highlight-color\":\"rgba(0,0,0,0)\"},h.style);\nthis.container=e=l(\"div\",{id:f},k,e);this._cursor=e.style.cursor;this.renderer=new (a[h.renderer]||Q)(e,p,g,null,h.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(h.className);this.renderer.setStyle(h.style);this.renderer.chartIndex=this.index},getMargins:function(a){var b=this.spacing,c=this.margin,e=this.titleOffset;this.resetMargins();e&&!d(c[0])&&(this.plotTop=Math.max(this.plotTop,e+this.options.title.margin+b[0]));this.legend.display&&this.legend.adjustMargins(c,b);this.extraMargin&&\n(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&k(a.axes,function(a){a.visible&&a.getOffset()});k(q,function(e,h){d(c[h])||(a[e]+=b[h])});a.setChartSize()},reflow:function(a){var b=this,c=b.options.chart,e=b.renderTo,h=d(c.width)&&d(c.height),p=c.width||y(e,\"width\"),c=c.height||y(e,\"height\"),\ne=a?a.target:O;if(!h&&!b.isPrinting&&p&&c&&(e===O||e===m)){if(p!==b.containerWidth||c!==b.containerHeight)clearTimeout(b.reflowTimeout),b.reflowTimeout=H(function(){b.container&&b.setSize(void 0,void 0,!1)},a?100:0);b.containerWidth=p;b.containerHeight=c}},initReflow:function(){var a=this,b;b=C(O,\"resize\",function(b){a.reflow(b)});C(a,\"destroy\",b)},setSize:function(b,c,e){var d=this,h=d.renderer;d.isResizing+=1;a.setAnimation(e,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;void 0!==\nb&&(d.options.chart.width=b);void 0!==c&&(d.options.chart.height=c);d.getChartSize();b=h.globalAnimation;(b?A:g)(d.container,{width:d.chartWidth+\"px\",height:d.chartHeight+\"px\"},b);d.setChartSize(!0);h.setSize(d.chartWidth,d.chartHeight,e);k(d.axes,function(a){a.isDirty=!0;a.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(e);d.oldChartHeight=null;v(d,\"resize\");H(function(){d&&v(d,\"endResize\",null,function(){--d.isResizing})},F(b).duration)},setChartSize:function(a){function b(a){a=\nf[a]||0;return Math.max(m||a,a)/2}var c=this.inverted,e=this.renderer,d=this.chartWidth,h=this.chartHeight,p=this.options.chart,g=this.spacing,f=this.clipOffset,q,n,l,z,m;this.plotLeft=q=Math.round(this.plotLeft);this.plotTop=n=Math.round(this.plotTop);this.plotWidth=l=Math.max(0,Math.round(d-q-this.marginRight));this.plotHeight=z=Math.max(0,Math.round(h-n-this.marginBottom));this.plotSizeX=c?z:l;this.plotSizeY=c?l:z;this.plotBorderWidth=p.plotBorderWidth||0;this.spacingBox=e.spacingBox={x:g[3],y:g[0],\nwidth:d-g[3]-g[1],height:h-g[0]-g[2]};this.plotBox=e.plotBox={x:q,y:n,width:l,height:z};m=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(b(3));e=Math.ceil(b(0));this.clipBox={x:c,y:e,width:Math.floor(this.plotSizeX-b(1)-c),height:Math.max(0,Math.floor(this.plotSizeY-b(2)-e))};a||k(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,b=a.options.chart;k([\"margin\",\"spacing\"],function(c){var e=b[c],d=J(e)?e:[e,e,e,e];k([\"Top\",\"Right\",\"Bottom\",\"Left\"],function(e,\nh){a[c][h]=z(b[c+e],d[h])})});k(q,function(b,c){a[b]=z(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,e=this.chartHeight,d=this.chartBackground,h=this.plotBackground,p=this.plotBorder,g,f=this.plotBGImage,k=a.backgroundColor,q=a.plotBackgroundColor,l=a.plotBackgroundImage,n,z=this.plotLeft,m=this.plotTop,w=this.plotWidth,I=this.plotHeight,v=this.plotBox,r=this.clipRect,B=this.clipBox,y=\"animate\";\nd||(this.chartBackground=d=b.rect().addClass(\"highcharts-background\").add(),y=\"attr\");g=a.borderWidth||0;n=g+(a.shadow?8:0);k={fill:k||\"none\"};if(g||d[\"stroke-width\"])k.stroke=a.borderColor,k[\"stroke-width\"]=g;d.attr(k).shadow(a.shadow);d[y]({x:n/2,y:n/2,width:c-n-g%2,height:e-n-g%2,r:a.borderRadius});y=\"animate\";h||(y=\"attr\",this.plotBackground=h=b.rect().addClass(\"highcharts-plot-background\").add());h[y](v);h.attr({fill:q||\"none\"}).shadow(a.plotShadow);l&&(f?f.animate(v):this.plotBGImage=b.image(l,\nz,m,w,I).add());r?r.animate({width:B.width,height:B.height}):this.clipRect=b.clipRect(B);y=\"animate\";p||(y=\"attr\",this.plotBorder=p=b.rect().addClass(\"highcharts-plot-border\").attr({zIndex:1}).add());p.attr({stroke:a.plotBorderColor,\"stroke-width\":a.plotBorderWidth||0,fill:\"none\"});p[y](p.crisp({x:z,y:m,width:w,height:I},-p.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,e=a.options.series,d,p;k([\"inverted\",\"angular\",\"polar\"],function(g){c=h[b.type||b.defaultSeriesType];\np=b[g]||c&&c.prototype[g];for(d=e&&e.length;!p&&d--;)(c=h[e[d].type])&&c.prototype[g]&&(p=!0);a[g]=p})},linkSeries:function(){var a=this,b=a.series;k(b,function(a){a.linkedSeries.length=0});k(b,function(b){var e=b.options.linkedTo;c(e)&&(e=\":previous\"===e?a.series[b.index-1]:a.get(e))&&e.linkedParent!==b&&(e.linkedSeries.push(b),b.linkedParent=e,b.visible=z(b.options.visible,e.options.visible,b.visible))})},renderSeries:function(){k(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=\nthis,c=a.options.labels;c.items&&k(c.items,function(e){var d=b(c.style,e.style),h=I(d.left)+a.plotLeft,p=I(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(e.html,h,p).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,e,d,h;this.setTitle();this.legend=new G(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;e=this.plotHeight-=21;k(a,function(a){a.setScale()});this.getAxisMargins();d=\n1.1<c/this.plotWidth;h=1.05<e/this.plotHeight;if(d||h)k(a,function(a){(a.horiz&&d||!a.horiz&&h)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&k(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g(\"series-group\").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=B(!0,this.options.credits,a);a.enabled&&!this.credits&&\n(this.credits=this.renderer.text(a.text+(this.mapCredits||\"\"),0,0).addClass(\"highcharts-credits\").on(\"click\",function(){a.href&&(O.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,e=b.series,d=b.container,h,p=d&&d.parentNode;v(b,\"destroy\");b.renderer.forExport?a.erase(t,b):t[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute(\"data-highcharts-chart\");\nL(b);for(h=c.length;h--;)c[h]=c[h].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(h=e.length;h--;)e[h]=e[h].destroy();k(\"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer\".split(\" \"),function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});d&&(d.innerHTML=\"\",L(d),p&&u(d));K(b,function(a,c){delete b[c]})},isReadyToRender:function(){var a=this;return P||O!=O.top||\n\"complete\"===m.readyState?!0:(m.attachEvent(\"onreadystatechange\",function(){m.detachEvent(\"onreadystatechange\",a.firstRender);\"complete\"===m.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,b=a.options;if(a.isReadyToRender()){a.getContainer();v(a,\"init\");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();k(b.series||[],function(b){a.initSeries(b)});a.linkSeries();v(a,\"beforeRender\");p&&(a.pointer=new p(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();\na.temporaryDisplay(!0)}},onload:function(){k([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);v(this,\"load\");v(this,\"render\");d(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}})})(M);(function(a){var C,A=a.each,F=a.extend,E=a.erase,m=a.fireEvent,f=a.format,l=a.isArray,r=a.isNumber,u=a.pick,t=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,d,f){this.series=a;this.color=a.color;this.applyOptions(d,\nf);a.options.colorByPoint?(d=a.options.colors||a.chart.options.colors,this.color=this.color||d[a.colorCounter],d=d.length,f=a.colorCounter,a.colorCounter++,a.colorCounter===d&&(a.colorCounter=0)):f=a.colorIndex;this.colorIndex=u(this.colorIndex,f);a.chart.pointCount++;return this},applyOptions:function(a,d){var g=this.series,b=g.options.pointValKey||g.pointValKey;a=C.prototype.optionsToObject.call(this,a);F(this,a);this.options=this.options?F(this.options,a):a;a.group&&delete this.group;b&&(this.y=\nthis[b]);this.isNull=u(this.isValid&&!this.isValid(),null===this.x||!r(this.y,!0));this.selected&&(this.state=\"select\");\"name\"in this&&void 0===d&&g.xAxis&&g.xAxis.hasNames&&(this.x=g.xAxis.nameToX(this));void 0===this.x&&g&&(this.x=void 0===d?g.autoIncrement(this):d);return this},optionsToObject:function(a){var d={},g=this.series,b=g.options.keys,e=b||g.pointArrayMap||[\"y\"],f=e.length,m=0,n=0;if(r(a)||null===a)d[e[0]]=a;else if(l(a))for(!b&&a.length>f&&(g=typeof a[0],\"string\"===g?d.name=a[0]:\"number\"===\ng&&(d.x=a[0]),m++);n<f;)b&&void 0===a[m]||(d[e[n]]=a[m]),m++,n++;else\"object\"===typeof a&&(d=a,a.dataLabels&&(g._hasPointLabels=!0),a.marker&&(g._hasPointMarkers=!0));return d},getClassName:function(){return\"highcharts-point\"+(this.selected?\" highcharts-point-select\":\"\")+(this.negative?\" highcharts-negative\":\"\")+(this.isNull?\" highcharts-null-point\":\"\")+(void 0!==this.colorIndex?\" highcharts-color-\"+this.colorIndex:\"\")+(this.options.className?\" \"+this.options.className:\"\")+(this.zone&&this.zone.className?\n\" \"+this.zone.className.replace(\"highcharts-negative\",\"\"):\"\")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||\"y\",f=0,b;for(b=d[f];this[a]>=b.value;)b=d[++f];b&&b.color&&!this.options.color&&(this.color=b.color);return b},destroy:function(){var a=this.series.chart,d=a.hoverPoints,f;a.pointCount--;d&&(this.setState(),E(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)t(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);\nfor(f in this)this[f]=null},destroyElements:function(){for(var a=[\"graphic\",\"dataLabel\",\"dataLabelUpper\",\"connector\",\"shadowGroup\"],d,f=6;f--;)d=a[f],this[d]&&(this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,g=d.tooltipOptions,b=u(g.valueDecimals,\"\"),\ne=g.valuePrefix||\"\",l=g.valueSuffix||\"\";A(d.pointArrayMap||[\"y\"],function(d){d=\"{point.\"+d;if(e||l)a=a.replace(d+\"}\",e+d+\"}\"+l);a=a.replace(d+\"}\",d+\":,.\"+b+\"f}\")});return f(a,{point:this,series:this.series})},firePointEvent:function(a,d,f){var b=this,e=this.series.options;(e.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();\"click\"===a&&e.allowPointSelect&&(f=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});m(this,a,d,f)},visible:!0}})(M);\n(function(a){var C=a.addEvent,A=a.animObject,F=a.arrayMax,E=a.arrayMin,m=a.correctFloat,f=a.Date,l=a.defaultOptions,r=a.defaultPlotOptions,u=a.defined,t=a.each,g=a.erase,d=a.extend,k=a.fireEvent,b=a.grep,e=a.isArray,v=a.isNumber,y=a.isString,n=a.merge,D=a.objectEach,J=a.pick,c=a.removeEvent,G=a.splat,q=a.SVGElement,B=a.syncTimeout,K=a.win;a.Series=a.seriesType(\"line\",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:\"#ffffff\",radius:4,\nstates:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:\"#cccccc\",lineColor:\"#000000\",lineWidth:2}}},point:{events:{}},dataLabels:{align:\"center\",formatter:function(){return null===this.y?\"\":a.numberFormat(this.y,-1)},style:{fontSize:\"11px\",fontWeight:\"bold\",color:\"contrast\",textOutline:\"1px contrast\"},verticalAlign:\"bottom\",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},\nhalo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:\"x\"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:[\"xAxis\",\"yAxis\"],colorCounter:0,parallelArrays:[\"x\",\"y\"],coll:\"series\",init:function(a,b){var c=this,e,h=a.series,p;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();d(c,{name:b.name,state:\"\",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;D(e,function(a,b){C(c,b,a)});if(e&&\ne.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();t(c.parallelArrays,function(a){c[a+\"Data\"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);h.length&&(p=h[h.length-1]);c._i=J(p&&p._i,-1)+1;a.orderSeries(this.insert(h))},insert:function(a){var b=this.options.index,c;if(v(b)){for(c=a.length;c--;)if(b>=J(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return J(c,\na.length-1)},bindAxes:function(){var b=this,c=b.options,e=b.chart,d;t(b.axisTypes||[],function(h){t(e[h],function(a){d=a.options;if(c[h]===d.index||void 0!==c[h]&&c[h]===d.id||void 0===c[h]&&0===d.index)b.insert(a.series),b[h]=a,a.isDirty=!0});b[h]||b.optionalAxis===h||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,e=arguments,d=v(b)?function(e){var d=\"y\"===e&&c.toYData?c.toYData(a):a[e];c[e+\"Data\"][b]=d}:function(a){Array.prototype[b].apply(c[a+\"Data\"],Array.prototype.slice.call(e,\n2))};t(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,e=a.pointIntervalUnit,b=J(b,a.pointStart,0);this.pointInterval=c=J(this.pointInterval,a.pointInterval,1);e&&(a=new f(b),\"day\"===e?a=+a[f.hcSetDate](a[f.hcGetDate]()+c):\"month\"===e?a=+a[f.hcSetMonth](a[f.hcGetMonth]()+c):\"year\"===e&&(a=+a[f.hcSetFullYear](a[f.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options,e=c.plotOptions,d=(b.userOptions||{}).plotOptions||\n{},p=e[this.type];this.userOptions=a;b=n(p,e.series,a);this.tooltipOptions=n(l.tooltip,l.plotOptions.series&&l.plotOptions.series.tooltip,l.plotOptions[this.type].tooltip,c.tooltip.userOptions,e.series&&e.series.tooltip,e[this.type].tooltip,a.tooltip);this.stickyTracking=J(a.stickyTracking,d[this.type]&&d[this.type].stickyTracking,d.series&&d.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:b.stickyTracking);null===p.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=\n(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+\"Threshold\"]||b.threshold||0,className:\"highcharts-negative\",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&u(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return b},getCyclic:function(a,b,c){var e,d=this.chart,p=this.userOptions,f=a+\"Index\",g=a+\"Counter\",k=c?c.length:J(d.options.chart[a+\"Count\"],d[a+\"Count\"]);b||(e=J(p[f],p[\"_\"+f]),u(e)||(d.series.length||\n(d[g]=0),p[\"_\"+f]=e=d[g]%k,d[g]+=1),c&&(b=c[e]));void 0!==e&&(this[f]=e);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic(\"color\",this.options.color||r[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic(\"symbol\",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(b,c,d,f){var h=this,p=h.points,g=p&&p.length||0,k,q=h.options,l=h.chart,n=null,m=h.xAxis,\nz=q.turboThreshold,r=this.xData,B=this.yData,I=(k=h.pointArrayMap)&&k.length;b=b||[];k=b.length;c=J(c,!0);if(!1!==f&&k&&g===k&&!h.cropped&&!h.hasGroupedData&&h.visible)t(b,function(a,b){p[b].update&&a!==q.data[b]&&p[b].update(a,!1,null,!1)});else{h.xIncrement=null;h.colorCounter=0;t(this.parallelArrays,function(a){h[a+\"Data\"].length=0});if(z&&k>z){for(d=0;null===n&&d<k;)n=b[d],d++;if(v(n))for(d=0;d<k;d++)r[d]=this.autoIncrement(),B[d]=b[d];else if(e(n))if(I)for(d=0;d<k;d++)n=b[d],r[d]=n[0],B[d]=n.slice(1,\nI+1);else for(d=0;d<k;d++)n=b[d],r[d]=n[0],B[d]=n[1];else a.error(12)}else for(d=0;d<k;d++)void 0!==b[d]&&(n={series:h},h.pointClass.prototype.applyOptions.apply(n,[b[d]]),h.updateParallelArrays(n,d));y(B[0])&&a.error(14,!0);h.data=[];h.options.data=h.userOptions.data=b;for(d=g;d--;)p[d]&&p[d].destroy&&p[d].destroy();m&&(m.minRange=m.userMinRange);h.isDirty=l.isDirtyBox=!0;h.isDirtyData=!!p;d=!1}\"point\"===q.legendType&&(this.processData(),this.generatePoints());c&&l.redraw(d)},processData:function(b){var c=\nthis.xData,e=this.yData,d=c.length,h;h=0;var p,f,g=this.xAxis,k,q=this.options;k=q.cropThreshold;var n=this.getExtremesFromAll||q.getExtremesFromAll,l=this.isCartesian,q=g&&g.val2lin,m=g&&g.isLog,v,r;if(l&&!this.isDirty&&!g.isDirty&&!this.yAxis.isDirty&&!b)return!1;g&&(b=g.getExtremes(),v=b.min,r=b.max);if(l&&this.sorted&&!n&&(!k||d>k||this.forceCrop))if(c[d-1]<v||c[0]>r)c=[],e=[];else if(c[0]<v||c[d-1]>r)h=this.cropData(this.xData,this.yData,v,r),c=h.xData,e=h.yData,h=h.start,p=!0;for(k=c.length||\n1;--k;)d=m?q(c[k])-q(c[k-1]):c[k]-c[k-1],0<d&&(void 0===f||d<f)?f=d:0>d&&this.requireSorting&&a.error(15);this.cropped=p;this.cropStart=h;this.processedXData=c;this.processedYData=e;this.closestPointRange=f},cropData:function(a,b,c,e){var d=a.length,p=0,g=d,f=J(this.cropShoulder,1),k;for(k=0;k<d;k++)if(a[k]>=c){p=Math.max(0,k-f);break}for(c=k;c<d;c++)if(a[c]>e){g=c+f;break}return{xData:a.slice(p,g),yData:b.slice(p,g),start:p,end:g}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,\ne,d=this.processedXData,g=this.processedYData,f=this.pointClass,k=d.length,q=this.cropStart||0,n,l=this.hasGroupedData,a=a.keys,m,v=[],r;c||l||(c=[],c.length=b.length,c=this.data=c);a&&l&&(this.options.keys=!1);for(r=0;r<k;r++)n=q+r,l?(m=(new f).init(this,[d[r]].concat(G(g[r]))),m.dataGroup=this.groupMap[r]):(m=c[n])||void 0===b[n]||(c[n]=m=(new f).init(this,b[n],d[r])),m&&(m.index=n,v[r]=m);this.options.keys=a;if(c&&(k!==(e=c.length)||l))for(r=0;r<e;r++)r!==q||l||(r+=k),c[r]&&(c[r].destroyElements(),\nc[r].plotX=void 0);this.data=c;this.points=v},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,h=[],p=0;d=this.xAxis.getExtremes();var g=d.min,f=d.max,k,q,n,l;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(l=0;l<d;l++)if(q=c[l],n=a[l],k=(v(n,!0)||e(n))&&(!b.positiveValuesOnly||n.length||0<n),q=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[l]||q)>=g&&(c[l]||q)<=f,k&&q)if(k=n.length)for(;k--;)null!==n[k]&&(h[p++]=n[k]);else h[p++]=n;this.dataMin=\nE(h);this.dataMax=F(h)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,e=c.categories,d=this.yAxis,g=this.points,f=g.length,k=!!this.modifyValue,q=a.pointPlacement,n=\"between\"===q||v(q),l=a.threshold,r=a.startFromThreshold?l:0,B,y,t,G,D=Number.MAX_VALUE;\"between\"===q&&(q=.5);v(q)&&(q*=J(a.pointRange||c.pointRange));for(a=0;a<f;a++){var K=g[a],A=K.x,C=K.y;y=K.low;var E=b&&d.stacks[(this.negStacks&&C<(r?0:l)?\"-\":\"\")+this.stackKey],\nF;d.positiveValuesOnly&&null!==C&&0>=C&&(K.isNull=!0);K.plotX=B=m(Math.min(Math.max(-1E5,c.translate(A,0,0,0,1,q,\"flags\"===this.type)),1E5));b&&this.visible&&!K.isNull&&E&&E[A]&&(G=this.getStackIndicator(G,A,this.index),F=E[A],C=F.points[G.key],y=C[0],C=C[1],y===r&&G.key===E[A].base&&(y=J(l,d.min)),d.positiveValuesOnly&&0>=y&&(y=null),K.total=K.stackTotal=F.total,K.percentage=F.total&&K.y/F.total*100,K.stackY=C,F.setOffset(this.pointXOffset||0,this.barW||0));K.yBottom=u(y)?d.translate(y,0,1,0,1):\nnull;k&&(C=this.modifyValue(C,K));K.plotY=y=\"number\"===typeof C&&Infinity!==C?Math.min(Math.max(-1E5,d.translate(C,0,1,0,1)),1E5):void 0;K.isInside=void 0!==y&&0<=y&&y<=d.len&&0<=B&&B<=c.len;K.clientX=n?m(c.translate(A,0,0,0,1,q)):B;K.negative=K.y<(l||0);K.category=e&&void 0!==e[K.x]?e[K.x]:K.x;K.isNull||(void 0!==t&&(D=Math.min(D,Math.abs(B-t))),t=B);K.zone=this.zones.length&&K.getZone()}this.closestPointRangePx=D},getValidPoints:function(a,c){var e=this.chart;return b(a||this.points||[],function(a){return c&&\n!e.isInsidePlot(a.plotX,a.plotY,e.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,e=b.renderer,d=b.inverted,p=this.clipBox,g=p||b.clipBox,f=this.sharedClipKey||[\"_sharedClip\",a&&a.duration,a&&a.easing,g.height,c.xAxis,c.yAxis].join(),k=b[f],q=b[f+\"m\"];k||(a&&(g.width=0,b[f+\"m\"]=q=e.clipRect(-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[f]=k=e.clipRect(g),k.count={length:0});a&&!k.count[this.index]&&(k.count[this.index]=!0,k.count.length+=1);!1!==c.clip&&\n(this.group.clip(a||p?k:b.clipRect),this.markerGroup.clip(q),this.sharedClipKey=f);a||(k.count[this.index]&&(delete k.count[this.index],--k.count.length),0===k.count.length&&f&&b[f]&&(p||(b[f]=b[f].destroy()),b[f+\"m\"]&&(b[f+\"m\"]=b[f+\"m\"].destroy())))},animate:function(a){var b=this.chart,c=A(this.options.animation),e;a?this.setClip(c):(e=this.sharedClipKey,(a=b[e])&&a.animate({width:b.plotSizeX},c),b[e+\"m\"]&&b[e+\"m\"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();\nk(this,\"afterAnimate\");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,e,d,f,g=this.options.marker,k,q,n,l,m=this[this.specialGroup]||this.markerGroup,r=J(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(e=0;e<a.length;e++)d=a[e],c=d.plotY,f=d.graphic,k=d.marker||{},q=!!d.marker,n=r&&void 0===k.enabled||k.enabled,l=d.isInside,n&&v(c)&&null!==d.y?(c=J(k.symbol,this.symbol),d.hasImage=0===c.indexOf(\"url\"),\nn=this.markerAttribs(d,d.selected&&\"select\"),f?f[l?\"show\":\"hide\"](!0).animate(n):l&&(0<n.width||d.hasImage)&&(d.graphic=f=b.renderer.symbol(c,n.x,n.y,n.width,n.height,q?k:g).add(m)),f&&f.attr(this.pointAttribs(d,d.selected&&\"select\")),f&&f.addClass(d.getClassName(),!0)):f&&(d.graphic=f.destroy())},markerAttribs:function(a,b){var c=this.options.marker,e=a.marker||{},d=J(e.radius,c.radius);b&&(c=c.states[b],b=e.states&&e.states[b],d=J(b&&b.radius,c&&c.radius,d+(c&&c.radiusPlus||0)));a.hasImage&&(d=\n0);a={x:Math.floor(a.plotX)-d,y:a.plotY-d};d&&(a.width=a.height=2*d);return a},pointAttribs:function(a,b){var c=this.options.marker,e=a&&a.options,d=e&&e.marker||{},f=this.color,g=e&&e.color,p=a&&a.color,e=J(d.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;f=g||a||p||f;a=d.fillColor||c.fillColor||f;f=d.lineColor||c.lineColor||f;b&&(c=c.states[b],b=d.states&&d.states[b]||{},e=J(b.lineWidth,c.lineWidth,e+J(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||a,f=b.lineColor||c.lineColor||\nf);return{stroke:f,\"stroke-width\":e,fill:a}},destroy:function(){var a=this,b=a.chart,e=/AppleWebKit\\/533/.test(K.navigator.userAgent),d,h,f=a.data||[],n,l;k(a,\"destroy\");c(a);t(a.axisTypes||[],function(b){(l=a[b])&&l.series&&(g(l.series,a),l.isDirty=l.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(h=f.length;h--;)(n=f[h])&&n.destroy&&n.destroy();a.points=null;clearTimeout(a.animationTimeout);D(a,function(a,b){a instanceof q&&!a.survive&&(d=e&&\"group\"===b?\"hide\":\"destroy\",a[d]())});\nb.hoverSeries===a&&(b.hoverSeries=null);g(b.series,a);b.orderSeries();D(a,function(b,c){delete a[c]})},getGraphPath:function(a,b,c){var e=this,d=e.options,f=d.step,g,p=[],k=[],q;a=a||e.points;(g=a.reversed)&&a.reverse();(f={right:1,center:2}[f]||f&&3)&&g&&(f=4-f);!d.connectNulls||b||c||(a=this.getValidPoints(a));t(a,function(h,g){var n=h.plotX,l=h.plotY,m=a[g-1];(h.leftCliff||m&&m.rightCliff)&&!c&&(q=!0);h.isNull&&!u(b)&&0<g?q=!d.connectNulls:h.isNull&&!b?q=!0:(0===g||q?g=[\"M\",h.plotX,h.plotY]:e.getPointSpline?\ng=e.getPointSpline(a,h,g):f?(g=1===f?[\"L\",m.plotX,l]:2===f?[\"L\",(m.plotX+n)/2,m.plotY,\"L\",(m.plotX+n)/2,l]:[\"L\",n,m.plotY],g.push(\"L\",n,l)):g=[\"L\",n,l],k.push(h.x),f&&k.push(h.x),p.push.apply(p,g),q=!1)});p.xMap=k;return e.graphPath=p},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=[[\"graph\",\"highcharts-graph\",b.lineColor||this.color,b.dashStyle]];t(this.zones,function(c,d){e.push([\"zone-graph-\"+d,\"highcharts-graph highcharts-zone-graph-\"+d+\" \"+\n(c.className||\"\"),c.color||a.color,c.dashStyle||b.dashStyle])});t(e,function(e,d){var h=e[0],f=a[h];f?(f.endX=c.xMap,f.animate({d:c})):c.length&&(a[h]=a.chart.renderer.path(c).addClass(e[1]).attr({zIndex:1}).add(a.group),f={stroke:e[2],\"stroke-width\":b.lineWidth,fill:a.fillGraph&&a.color||\"none\"},e[3]?f.dashstyle=e[3]:\"square\"!==b.linecap&&(f[\"stroke-linecap\"]=f[\"stroke-linejoin\"]=\"round\"),f=a[h].attr(f).shadow(2>d&&b.shadow));f&&(f.startX=c.xMap,f.isArea=c.isArea)})},applyZones:function(){var a=\nthis,b=this.chart,c=b.renderer,e=this.zones,d,f,g=this.clips||[],k,q=this.graph,n=this.area,l=Math.max(b.chartWidth,b.chartHeight),m=this[(this.zoneAxis||\"y\")+\"Axis\"],r,v,B=b.inverted,y,u,G,D,K=!1;e.length&&(q||n)&&m&&void 0!==m.min&&(v=m.reversed,y=m.horiz,q&&q.hide(),n&&n.hide(),r=m.getExtremes(),t(e,function(e,h){d=v?y?b.plotWidth:0:y?0:m.toPixels(r.min);d=Math.min(Math.max(J(f,d),0),l);f=Math.min(Math.max(Math.round(m.toPixels(J(e.value,r.max),!0)),0),l);K&&(d=f=m.toPixels(r.max));u=Math.abs(d-\nf);G=Math.min(d,f);D=Math.max(d,f);m.isXAxis?(k={x:B?D:G,y:0,width:u,height:l},y||(k.x=b.plotHeight-k.x)):(k={x:0,y:B?D:G,width:l,height:u},y&&(k.y=b.plotWidth-k.y));B&&c.isVML&&(k=m.isXAxis?{x:0,y:v?G:D,height:k.width,width:b.chartWidth}:{x:k.y-b.plotLeft-b.spacingBox.x,y:0,width:k.height,height:b.chartHeight});g[h]?g[h].animate(k):(g[h]=c.clipRect(k),q&&a[\"zone-graph-\"+h].clip(g[h]),n&&a[\"zone-area-\"+h].clip(g[h]));K=e.value>r.max}),this.clips=g)},invertGroups:function(a){function b(){t([\"group\",\n\"markerGroup\"],function(b){c[b]&&(e.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,e=c.chart,d;c.xAxis&&(d=C(e,\"resize\",b),C(c,\"destroy\",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,e,d){var h=this[a],f=!h;f&&(this[a]=h=this.chart.renderer.g().attr({zIndex:e||.1}).add(d));h.addClass(\"highcharts-\"+b+\" highcharts-series-\"+this.index+\" highcharts-\"+this.type+\"-series highcharts-color-\"+this.colorIndex+\n\" \"+(this.options.className||\"\"),!0);h.attr({visibility:c})[f?\"attr\":\"animate\"](this.getPlotBox());return h},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,e=a.options,d=!!a.animate&&b.renderer.isSVG&&A(e.animation).duration,f=a.visible?\"inherit\":\"hidden\",g=e.zIndex,k=a.hasRendered,q=b.seriesGroup,n=b.inverted;c=a.plotGroup(\"group\",\n\"series\",f,g,q);a.markerGroup=a.plotGroup(\"markerGroup\",\"markers\",f,g,q);d&&a.animate(!0);c.inverted=a.isCartesian?n:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(n);!1===e.clip||a.sharedClipKey||k||c.clip(b.clipRect);d&&a.animate();k||(a.animationTimeout=B(function(){a.afterAnimate()},d));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,\nb=this.isDirty||this.isDirtyData,c=this.group,e=this.xAxis,d=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:J(e&&e.left,a.plotLeft),translateY:J(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:[\"clientX\",\"plotY\"],searchPoint:function(a,b){var c=this.xAxis,e=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:d?e.len-a.chartX+e.pos:a.chartY-e.pos},b)},\nbuildKDTree:function(){function a(c,e,d){var h,f;if(f=c&&c.length)return h=b.kdAxisArray[e%d],c.sort(function(a,b){return a[h]-b[h]}),f=Math.floor(f/2),{point:c[f],left:a(c.slice(0,f),e+1,d),right:a(c.slice(f+1),e+1,d)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf(\"y\")?2:1;delete b.kdTree;B(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,h,k){var p=b.point,q=e.kdAxisArray[h%\nk],n,l,m=p;l=u(a[d])&&u(p[d])?Math.pow(a[d]-p[d],2):null;n=u(a[f])&&u(p[f])?Math.pow(a[f]-p[f],2):null;n=(l||0)+(n||0);p.dist=u(n)?Math.sqrt(n):Number.MAX_VALUE;p.distX=u(l)?Math.sqrt(l):Number.MAX_VALUE;q=a[q]-p[q];n=0>q?\"left\":\"right\";l=0>q?\"right\":\"left\";b[n]&&(n=c(a,b[n],h+1,k),m=n[g]<m[g]?n:p);b[l]&&Math.sqrt(q*q)<m[g]&&(a=c(a,b[l],h+1,k),m=a[g]<m[g]?a:m);return m}var e=this,d=this.kdAxisArray[0],f=this.kdAxisArray[1],g=b?\"distX\":\"dist\";b=-1<e.options.findNearestPointBy.indexOf(\"y\")?2:1;this.kdTree||\nthis.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(M);(function(a){var C=a.Axis,A=a.Chart,F=a.correctFloat,E=a.defined,m=a.destroyObjectProperties,f=a.each,l=a.format,r=a.objectEach,u=a.pick,t=a.Series;a.StackItem=function(a,d,f,b,e){var g=a.chart.inverted;this.axis=a;this.isNegative=f;this.options=d;this.x=b;this.total=null;this.points={};this.stack=e;this.rightCliff=this.leftCliff=0;this.alignOptions={align:d.align||(g?f?\"left\":\"right\":\"center\"),verticalAlign:d.verticalAlign||\n(g?\"middle\":f?\"bottom\":\"top\"),y:u(d.y,g?4:f?14:-6),x:u(d.x,g?f?-6:6:0)};this.textAlign=d.textAlign||(g?f?\"right\":\"left\":\"center\")};a.StackItem.prototype={destroy:function(){m(this,this.axis)},render:function(a){var d=this.options,f=d.format,f=f?l(f,this):d.formatter.call(this);this.label?this.label.attr({text:f,visibility:\"hidden\"}):this.label=this.axis.chart.renderer.text(f,null,null,d.useHTML).css(d.style).attr({align:this.textAlign,rotation:d.rotation,visibility:\"hidden\"}).add(a)},setOffset:function(a,\nd){var f=this.axis,b=f.chart,e=f.translate(f.usePercentage?100:this.total,0,0,0,1),f=f.translate(0),f=Math.abs(e-f);a=b.xAxis[0].translate(this.x)+a;e=this.getStackBox(b,this,a,e,d,f);if(d=this.label)d.align(this.alignOptions,null,e),e=d.alignAttr,d[!1===this.options.crop||b.isInsidePlot(e.x,e.y)?\"show\":\"hide\"](!0)},getStackBox:function(a,d,f,b,e,l){var g=d.axis.reversed,k=a.inverted;a=a.plotHeight;d=d.isNegative&&!g||!d.isNegative&&g;return{x:k?d?b:b-l:f,y:k?a-f-e:d?a-b-l:a-b,width:k?l:e,height:k?\ne:l}}};A.prototype.getStacks=function(){var a=this;f(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});f(a.series,function(d){!d.options.stacking||!0!==d.visible&&!1!==a.options.chart.ignoreHiddenSeries||(d.stackKey=d.type+u(d.options.stack,\"\"))})};C.prototype.buildStacks=function(){var a=this.series,d=u(this.options.reversedStacks,!0),f=a.length,b;if(!this.isXAxis){this.usePercentage=!1;for(b=f;b--;)a[d?b:f-b-1].setStackedPoints();if(this.usePercentage)for(b=0;b<f;b++)a[b].setPercentStacks()}};\nC.prototype.renderStackTotals=function(){var a=this.chart,d=a.renderer,f=this.stacks,b=this.stackTotalGroup;b||(this.stackTotalGroup=b=d.g(\"stack-labels\").attr({visibility:\"visible\",zIndex:6}).add());b.translate(a.plotLeft,a.plotTop);r(f,function(a){r(a,function(a){a.render(b)})})};C.prototype.resetStacks=function(){var a=this,d=a.stacks;a.isXAxis||r(d,function(d){r(d,function(b,e){b.touched<a.stacksTouched?(b.destroy(),delete d[e]):(b.total=null,b.cum=null)})})};C.prototype.cleanStacks=function(){var a;\nthis.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),r(a,function(a){r(a,function(a){a.cum=a.total})}))};t.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var f=this.processedXData,d=this.processedYData,k=[],b=d.length,e=this.options,l=e.threshold,m=e.startFromThreshold?l:0,n=e.stack,e=e.stacking,r=this.stackKey,t=\"-\"+r,c=this.negStacks,G=this.yAxis,q=G.stacks,B=G.oldStacks,K,p,z,I,A,h,w;G.stacksTouched+=\n1;for(A=0;A<b;A++)h=f[A],w=d[A],K=this.getStackIndicator(K,h,this.index),I=K.key,z=(p=c&&w<(m?0:l))?t:r,q[z]||(q[z]={}),q[z][h]||(B[z]&&B[z][h]?(q[z][h]=B[z][h],q[z][h].total=null):q[z][h]=new a.StackItem(G,G.options.stackLabels,p,h,n)),z=q[z][h],null!==w&&(z.points[I]=z.points[this.index]=[u(z.cum,m)],E(z.cum)||(z.base=I),z.touched=G.stacksTouched,0<K.index&&!1===this.singleStacks&&(z.points[I][0]=z.points[this.index+\",\"+h+\",0\"][0])),\"percent\"===e?(p=p?r:t,c&&q[p]&&q[p][h]?(p=q[p][h],z.total=p.total=\nMath.max(p.total,z.total)+Math.abs(w)||0):z.total=F(z.total+(Math.abs(w)||0))):z.total=F(z.total+(w||0)),z.cum=u(z.cum,m)+(w||0),null!==w&&(z.points[I].push(z.cum),k[A]=z.cum);\"percent\"===e&&(G.usePercentage=!0);this.stackedYData=k;G.oldStacks={}}};t.prototype.setPercentStacks=function(){var a=this,d=a.stackKey,k=a.yAxis.stacks,b=a.processedXData,e;f([d,\"-\"+d],function(d){for(var f=b.length,g,l;f--;)if(g=b[f],e=a.getStackIndicator(e,g,a.index,d),g=(l=k[d]&&k[d][g])&&l.points[e.key])l=l.total?100/\nl.total:0,g[0]=F(g[0]*l),g[1]=F(g[1]*l),a.stackedYData[f]=g[1]})};t.prototype.getStackIndicator=function(a,d,f,b){!E(a)||a.x!==d||b&&a.key!==b?a={x:d,index:0,key:b}:a.index++;a.key=[f,d,a.index].join();return a}})(M);(function(a){var C=a.addEvent,A=a.animate,F=a.Axis,E=a.createElement,m=a.css,f=a.defined,l=a.each,r=a.erase,u=a.extend,t=a.fireEvent,g=a.inArray,d=a.isNumber,k=a.isObject,b=a.isArray,e=a.merge,v=a.objectEach,y=a.pick,n=a.Point,D=a.Series,J=a.seriesTypes,c=a.setAnimation,G=a.splat;u(a.Chart.prototype,\n{addSeries:function(a,b,c){var e,d=this;a&&(b=y(b,!0),t(d,\"addSeries\",{options:a},function(){e=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();b&&d.redraw(c)}));return e},addAxis:function(a,b,c,d){var f=b?\"xAxis\":\"yAxis\",g=this.options;a=e(a,{index:this[f].length,isX:b});b=new F(this,a);g[f]=G(g[f]||{});g[f].push(a);y(c,!0)&&this.redraw(d);return b},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,d=c.loading,f=function(){e&&m(e,{left:b.plotLeft+\"px\",top:b.plotTop+\"px\",width:b.plotWidth+\n\"px\",height:b.plotHeight+\"px\"})};e||(b.loadingDiv=e=E(\"div\",{className:\"highcharts-loading highcharts-loading-hidden\"},null,b.container),b.loadingSpan=E(\"span\",{className:\"highcharts-loading-inner\"},null,e),C(b,\"redraw\",f));e.className=\"highcharts-loading\";b.loadingSpan.innerHTML=a||c.lang.loading;m(e,u(d.style,{zIndex:10}));m(b.loadingSpan,d.labelStyle);b.loadingShown||(m(e,{opacity:0,display:\"\"}),A(e,{opacity:d.style.opacity||.5},{duration:d.showDuration||0}));b.loadingShown=!0;f()},hideLoading:function(){var a=\nthis.options,b=this.loadingDiv;b&&(b.className=\"highcharts-loading highcharts-loading-hidden\",A(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){m(b,{display:\"none\"})}}));this.loadingShown=!1},propsRequireDirtyBox:\"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow\".split(\" \"),\npropsRequireUpdateSeries:\"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions tooltip\".split(\" \"),update:function(a,b,c){var k=this,n={credits:\"addCredits\",title:\"setTitle\",subtitle:\"setSubtitle\"},q=a.chart,m,h,r=[];if(q){e(!0,k.options.chart,q);\"className\"in q&&k.setClassName(q.className);if(\"inverted\"in q||\"polar\"in q)k.propFromSeries(),m=!0;\"alignTicks\"in q&&(m=!0);v(q,function(a,b){-1!==g(\"chart.\"+b,k.propsRequireUpdateSeries)&&(h=!0);-1!==g(b,k.propsRequireDirtyBox)&&\n(k.isDirtyBox=!0)});\"style\"in q&&k.renderer.setStyle(q.style)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&e(!0,this.options.plotOptions,a.plotOptions);v(a,function(a,b){if(k[b]&&\"function\"===typeof k[b].update)k[b].update(a,!1);else if(\"function\"===typeof k[n[b]])k[n[b]](a);\"chart\"!==b&&-1!==g(b,k.propsRequireUpdateSeries)&&(h=!0)});l(\"xAxis yAxis zAxis series colorAxis pane\".split(\" \"),function(b){a[b]&&(l(G(a[b]),function(a,e){(e=f(a.id)&&k.get(a.id)||k[b][e])&&e.coll===b&&(e.update(a,\n!1),c&&(e.touched=!0));if(!e&&c)if(\"series\"===b)k.addSeries(a,!1).touched=!0;else if(\"xAxis\"===b||\"yAxis\"===b)k.addAxis(a,\"xAxis\"===b,!1).touched=!0}),c&&l(k[b],function(a){a.touched?delete a.touched:r.push(a)}))});l(r,function(a){a.remove(!1)});m&&l(k.axes,function(a){a.update({},!1)});h&&l(k.series,function(a){a.update({},!1)});a.loading&&e(!0,k.options.loading,a.loading);m=q&&q.width;q=q&&q.height;d(m)&&m!==k.chartWidth||d(q)&&q!==k.chartHeight?k.setSize(m,q):y(b,!0)&&k.redraw()},setSubtitle:function(a){this.setTitle(void 0,\na)}});u(n.prototype,{update:function(a,b,c,e){function d(){f.applyOptions(a);null===f.y&&h&&(f.graphic=h.destroy());k(a,!0)&&(h&&h.element&&a&&a.marker&&void 0!==a.marker.symbol&&(f.graphic=h.destroy()),a&&a.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy()));p=f.index;g.updateParallelArrays(f,p);q.data[p]=k(q.data[p],!0)||k(a,!0)?f.options:a;g.isDirty=g.isDirtyData=!0;!g.fixedBox&&g.hasCartesianSeries&&(l.isDirtyBox=!0);\"point\"===q.legendType&&(l.isDirtyLegend=!0);b&&l.redraw(c)}var f=\nthis,g=f.series,h=f.graphic,p,l=g.chart,q=g.options;b=y(b,!0);!1===e?d():f.firePointEvent(\"update\",{options:a},d)},remove:function(a,b){this.series.removePoint(g(this,this.series.data),a,b)}});u(D.prototype,{addPoint:function(a,b,c,e){var d=this.options,f=this.data,g=this.chart,h=this.xAxis,h=h&&h.hasNames&&h.names,k=d.data,p,l,q=this.xData,n,m;b=y(b,!0);p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);m=p.x;n=q.length;if(this.requireSorting&&m<q[n-1])for(l=!0;n&&q[n-1]>m;)n--;\nthis.updateParallelArrays(p,\"splice\",n,0,0);this.updateParallelArrays(p,n);h&&p.name&&(h[m]=p.name);k.splice(n,0,a);l&&(this.data.splice(n,0,null),this.processData());\"point\"===d.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(p,\"shift\"),k.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(e)},removePoint:function(a,b,e){var d=this,f=d.data,g=f[a],k=d.points,h=d.chart,l=function(){k&&k.length===f.length&&k.splice(a,1);f.splice(a,1);\nd.options.data.splice(a,1);d.updateParallelArrays(g||{series:d},\"splice\",a,1);g&&g.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&h.redraw()};c(e,h);b=y(b,!0);g?g.firePointEvent(\"remove\",null,l):l()},remove:function(a,b,c){function e(){d.destroy();f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();y(a,!0)&&f.redraw(b)}var d=this,f=d.chart;!1!==c?t(d,\"remove\",null,e):e()},update:function(a,b){var c=this,d=c.chart,f=c.userOptions,g=c.oldType||c.type,k=a.type||f.type||d.options.chart.type,h=J[g].prototype,n,\nq=[\"group\",\"markerGroup\",\"dataLabelsGroup\",\"navigatorSeries\",\"baseSeries\"],m=c.finishedAnimating&&{animation:!1};if(Object.keys&&\"data\"===Object.keys(a).toString())return this.setData(a.data,b);if(k&&k!==g||void 0!==a.zIndex)q.length=0;l(q,function(a){q[a]=c[a];delete c[a]});a=e(f,m,{index:c.index,pointStart:c.xData[0]},{data:c.options.data},a);c.remove(!1,null,!1);for(n in h)c[n]=void 0;u(c,J[k||g].prototype);l(q,function(a){c[a]=q[a]});c.init(d,a);c.oldType=g;d.linkSeries();y(b,!0)&&d.redraw(!1)}});\nu(F.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=e(this.userOptions,a);this.destroy(!0);this.init(c,u(a,{events:void 0}));c.isDirtyBox=!0;y(b,!0)&&c.redraw()},remove:function(a){for(var c=this.chart,e=this.coll,d=this.series,f=d.length;f--;)d[f]&&d[f].remove(!1);r(c.axes,this);r(c[e],this);b(c.options[e])?c.options[e].splice(this.options.index,1):delete c.options[e];l(c[e],function(a,b){a.options.index=b});this.destroy();c.isDirtyBox=!0;y(a,!0)&&c.redraw()},\nsetTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(M);(function(a){var C=a.color,A=a.each,F=a.map,E=a.pick,m=a.Series,f=a.seriesType;f(\"area\",\"line\",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(f){var l=[],m=[],t=this.xAxis,g=this.yAxis,d=g.stacks[this.stackKey],k={},b=this.index,e=g.series,v=e.length,y,n=E(g.options.reversedStacks,!0)?1:-1,D;f=f||this.points;if(this.options.stacking){for(D=0;D<f.length;D++)k[f[D].x]=\nf[D];a.objectEach(d,function(a,b){null!==a.total&&m.push(b)});m.sort(function(a,b){return a-b});y=F(e,function(){return this.visible});A(m,function(a,c){var e=0,f,r;if(k[a]&&!k[a].isNull)l.push(k[a]),A([-1,1],function(e){var g=1===e?\"rightNull\":\"leftNull\",l=0,q=d[m[c+e]];if(q)for(D=b;0<=D&&D<v;)f=q.points[D],f||(D===b?k[a][g]=!0:y[D]&&(r=d[a].points[D])&&(l-=r[1]-r[0])),D+=n;k[a][1===e?\"rightCliff\":\"leftCliff\"]=l});else{for(D=b;0<=D&&D<v;){if(f=d[a].points[D]){e=f[1];break}D+=n}e=g.translate(e,0,\n1,0,1);l.push({isNull:!0,plotX:t.translate(a,0,0,0,1),x:a,plotY:e,yBottom:e})}})}return l},getGraphPath:function(a){var f=m.prototype.getGraphPath,l=this.options,t=l.stacking,g=this.yAxis,d,k,b=[],e=[],v=this.index,y,n=g.stacks[this.stackKey],D=l.threshold,A=g.getThreshold(l.threshold),c,l=l.connectNulls||\"percent\"===t,G=function(c,d,f){var k=a[c];c=t&&n[k.x].points[v];var l=k[f+\"Null\"]||0;f=k[f+\"Cliff\"]||0;var q,m,k=!0;f||l?(q=(l?c[0]:c[1])+f,m=c[0]+f,k=!!l):!t&&a[d]&&a[d].isNull&&(q=m=D);void 0!==\nq&&(e.push({plotX:y,plotY:null===q?A:g.getThreshold(q),isNull:k,isCliff:!0}),b.push({plotX:y,plotY:null===m?A:g.getThreshold(m),doCurve:!1}))};a=a||this.points;t&&(a=this.getStackPoints(a));for(d=0;d<a.length;d++)if(k=a[d].isNull,y=E(a[d].rectPlotX,a[d].plotX),c=E(a[d].yBottom,A),!k||l)l||G(d,d-1,\"left\"),k&&!t&&l||(e.push(a[d]),b.push({x:d,plotX:y,plotY:c})),l||G(d,d+1,\"right\");d=f.call(this,e,!0,!0);b.reversed=!0;k=f.call(this,b,!0,!0);k.length&&(k[0]=\"L\");k=d.concat(k);f=f.call(this,e,!1,l);k.xMap=\nd.xMap;this.areaPath=k;return f},drawGraph:function(){this.areaPath=[];m.prototype.drawGraph.apply(this);var a=this,f=this.areaPath,u=this.options,t=[[\"area\",\"highcharts-area\",this.color,u.fillColor]];A(this.zones,function(f,d){t.push([\"zone-area-\"+d,\"highcharts-area highcharts-zone-area-\"+d+\" \"+f.className,f.color||a.color,f.fillColor||u.fillColor])});A(t,function(g){var d=g[0],k=a[d];k?(k.endX=f.xMap,k.animate({d:f})):(k=a[d]=a.chart.renderer.path(f).addClass(g[1]).attr({fill:E(g[3],C(g[2]).setOpacity(E(u.fillOpacity,\n.75)).get()),zIndex:0}).add(a.group),k.isArea=!0);k.startX=f.xMap;k.shiftUnit=u.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(M);(function(a){var C=a.pick;a=a.seriesType;a(\"spline\",\"line\",{},{getPointSpline:function(a,F,E){var m=F.plotX,f=F.plotY,l=a[E-1];E=a[E+1];var r,u,t,g;if(l&&!l.isNull&&!1!==l.doCurve&&!F.isCliff&&E&&!E.isNull&&!1!==E.doCurve&&!F.isCliff){a=l.plotY;t=E.plotX;E=E.plotY;var d=0;r=(1.5*m+l.plotX)/2.5;u=(1.5*f+a)/2.5;t=(1.5*m+t)/2.5;g=(1.5*f+E)/2.5;t!==r&&(d=\n(g-u)*(t-m)/(t-r)+f-g);u+=d;g+=d;u>a&&u>f?(u=Math.max(a,f),g=2*f-u):u<a&&u<f&&(u=Math.min(a,f),g=2*f-u);g>E&&g>f?(g=Math.max(E,f),u=2*f-g):g<E&&g<f&&(g=Math.min(E,f),u=2*f-g);F.rightContX=t;F.rightContY=g}F=[\"C\",C(l.rightContX,l.plotX),C(l.rightContY,l.plotY),C(r,m),C(u,f),m,f];l.rightContX=l.rightContY=null;return F}})})(M);(function(a){var C=a.seriesTypes.area.prototype,A=a.seriesType;A(\"areaspline\",\"spline\",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,getGraphPath:C.getGraphPath,\ndrawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(M);(function(a){var C=a.animObject,A=a.color,F=a.each,E=a.extend,m=a.isNumber,f=a.merge,l=a.pick,r=a.Series,u=a.seriesType,t=a.svg;u(\"column\",\"line\",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1},select:{color:\"#cccccc\",borderColor:\"#000000\",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},\nsoftThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:\"#ffffff\"},{cropShoulder:0,directTouch:!0,trackerGroups:[\"group\",\"dataLabelsGroup\"],negStacks:!0,init:function(){r.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&F(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options,f=a.xAxis,b=a.yAxis,e=f.reversed,m,r={},n=0;!1===d.grouping?n=1:F(a.chart.series,function(c){var e=c.options,\nd=c.yAxis,f;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||b.len!==d.len||b.pos!==d.pos||(e.stacking?(m=c.stackKey,void 0===r[m]&&(r[m]=n++),f=r[m]):!1!==e.grouping&&(f=n++),c.columnIndex=f)});var t=Math.min(Math.abs(f.transA)*(f.ordinalSlope||d.pointRange||f.closestPointRange||f.tickInterval||1),f.len),u=t*d.groupPadding,c=(t-2*u)/(n||1),d=Math.min(d.maxPointWidth||f.len,l(d.pointWidth,c*(1-2*d.pointPadding)));a.columnMetrics={width:d,offset:(c-d)/2+(u+((a.columnIndex||0)+\n(e?1:0))*c-t/2)*(e?-1:1)};return a.columnMetrics},crispCol:function(a,d,f,b){var e=this.chart,g=this.borderWidth,k=-(g%2?.5:0),g=g%2?.5:1;e.inverted&&e.renderer.isVML&&(g+=1);this.options.crisp&&(f=Math.round(a+f)+k,a=Math.round(a)+k,f-=a);b=Math.round(d+b)+g;k=.5>=Math.abs(d)&&.5<b;d=Math.round(d)+g;b-=d;k&&b&&(--d,b+=1);return{x:a,y:d,width:f,height:b}},translate:function(){var a=this,d=a.chart,f=a.options,b=a.dense=2>a.closestPointRange*a.xAxis.transA,b=a.borderWidth=l(f.borderWidth,b?0:1),e=a.yAxis,\nm=a.translatedThreshold=e.getThreshold(f.threshold),t=l(f.minPointLength,5),n=a.getColumnMetrics(),u=n.width,A=a.barW=Math.max(u,1+2*b),c=a.pointXOffset=n.offset;d.inverted&&(m-=.5);f.pointPadding&&(A=Math.ceil(A));r.prototype.translate.apply(a);F(a.points,function(b){var f=l(b.yBottom,m),g=999+Math.abs(f),g=Math.min(Math.max(-g,b.plotY),e.len+g),k=b.plotX+c,n=A,r=Math.min(g,f),v,y=Math.max(g,f)-r;Math.abs(y)<t&&t&&(y=t,v=!e.reversed&&!b.negative||e.reversed&&b.negative,r=Math.abs(r-m)>t?f-t:m-(v?\nt:0));b.barX=k;b.pointWidth=u;b.tooltipPos=d.inverted?[e.len+e.pos-d.plotLeft-g,a.xAxis.len-k-n/2,y]:[k+n/2,g+e.pos-d.plotTop,y];b.shapeType=\"rect\";b.shapeArgs=a.crispCol.apply(a,b.isNull?[k,m,n,0]:[k,r,n,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?\"addClass\":\"removeClass\"](\"highcharts-dense-data\")},pointAttribs:function(a,d){var g=this.options,b,e=this.pointAttrToOptions||{};b=e.stroke||\"borderColor\";var l=e[\"stroke-width\"]||\n\"borderWidth\",m=a&&a.color||this.color,n=a[b]||g[b]||this.color||m,r=a[l]||g[l]||this[l]||0,e=g.dashStyle;a&&this.zones.length&&(m=a.getZone(),m=a.options.color||m&&m.color||this.color);d&&(a=f(g.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,m=a.color||void 0!==d&&A(m).brighten(a.brightness).get()||m,n=a[b]||n,r=a[l]||r,e=a.dashStyle||e);b={fill:m,stroke:n,\"stroke-width\":r};e&&(b.dashstyle=e);return b},drawPoints:function(){var a=this,d=this.chart,k=a.options,b=d.renderer,e=\nk.animationLimit||250,l;F(a.points,function(g){var n=g.graphic;if(m(g.plotY)&&null!==g.y){l=g.shapeArgs;if(n)n[d.pointCount<e?\"animate\":\"attr\"](f(l));else g.graphic=n=b[g.shapeType](l).add(g.group||a.group);k.borderRadius&&n.attr({r:k.borderRadius});n.attr(a.pointAttribs(g,g.selected&&\"select\")).shadow(k.shadow,null,k.stacking&&!k.borderRadius);n.addClass(g.getClassName(),!0)}else n&&(g.graphic=n.destroy())})},animate:function(a){var d=this,f=this.yAxis,b=d.options,e=this.chart.inverted,g={};t&&(a?\n(g.scaleY=.001,a=Math.min(f.pos+f.len,Math.max(f.pos,f.toPixels(b.threshold))),e?g.translateX=a-f.len:g.translateY=a,d.group.attr(g)):(g[e?\"translateX\":\"translateY\"]=f.pos,d.group.animate(g,E(C(d.options.animation),{step:function(a,b){d.group.attr({scaleY:Math.max(.001,b.pos)})}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&F(d.series,function(d){d.type===a.type&&(d.isDirty=!0)});r.prototype.remove.apply(a,arguments)}})})(M);(function(a){a=a.seriesType;a(\"bar\",\"column\",\nnull,{inverted:!0})})(M);(function(a){var C=a.Series;a=a.seriesType;a(\"scatter\",\"line\",{lineWidth:0,findNearestPointBy:\"xy\",marker:{enabled:!0},tooltip:{headerFormat:'\\x3cspan style\\x3d\"color:{point.color}\"\\x3e\\u25cf\\x3c/span\\x3e \\x3cspan style\\x3d\"font-size: 0.85em\"\\x3e {series.name}\\x3c/span\\x3e\\x3cbr/\\x3e',pointFormat:\"x: \\x3cb\\x3e{point.x}\\x3c/b\\x3e\\x3cbr/\\x3ey: \\x3cb\\x3e{point.y}\\x3c/b\\x3e\\x3cbr/\\x3e\"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:[\"group\",\"markerGroup\",\"dataLabelsGroup\"],\ntakeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)}})})(M);(function(a){var C=a.pick,A=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,E=this.chart,m=2*(a.slicedOffset||0),f=E.plotWidth-2*m,E=E.plotHeight-2*m,l=a.center,l=[C(l[0],\"50%\"),C(l[1],\"50%\"),a.size||\"100%\",a.innerSize||0],r=Math.min(f,E),u,t;for(u=0;4>u;++u)t=l[u],a=2>u||2===u&&/%$/.test(t),l[u]=A(t,[f,E,r,l[2]][u])+(a?m:0);l[3]>l[2]&&(l[3]=l[2]);return l}}})(M);\n(function(a){var C=a.addEvent,A=a.defined,F=a.each,E=a.extend,m=a.inArray,f=a.noop,l=a.pick,r=a.Point,u=a.Series,t=a.seriesType,g=a.setAnimation;t(\"pie\",\"line\",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:\"point\",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:\"#ffffff\",borderWidth:1,states:{hover:{brightness:.1,\nshadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:[\"group\",\"dataLabelsGroup\"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var d=this,b=d.points,e=d.startAngleRad;a||(F(b,function(a){var b=a.graphic,f=a.shapeArgs;b&&(b.attr({r:a.startR||d.center[3]/2,start:e,end:e}),b.animate({r:f.r,start:f.start,end:f.end},d.options.animation))}),d.animate=null)},updateTotals:function(){var a,f=0,b=this.points,e=b.length,g,\nl=this.options.ignoreHiddenPoint;for(a=0;a<e;a++)g=b[a],f+=l&&!g.visible?0:g.isNull?0:g.y;this.total=f;for(a=0;a<e;a++)g=b[a],g.percentage=0<f&&(g.visible||!l)?g.y/f*100:0,g.total=f},generatePoints:function(){u.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();var d=0,b=this.options,e=b.slicedOffset,f=e+(b.borderWidth||0),g,n,m,r=b.startAngle||0,c=this.startAngleRad=Math.PI/180*(r-90),r=(this.endAngleRad=Math.PI/180*(l(b.endAngle,r+360)-90))-c,t=\nthis.points,q,B=b.dataLabels.distance,b=b.ignoreHiddenPoint,u,p=t.length,z;a||(this.center=a=this.getCenter());this.getX=function(b,c,e){m=Math.asin(Math.min((b-a[1])/(a[2]/2+e.labelDistance),1));return a[0]+(c?-1:1)*Math.cos(m)*(a[2]/2+e.labelDistance)};for(u=0;u<p;u++){z=t[u];z.labelDistance=l(z.options.dataLabels&&z.options.dataLabels.distance,B);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,z.labelDistance);g=c+d*r;if(!b||z.visible)d+=z.percentage/100;n=c+d*r;z.shapeType=\"arc\";z.shapeArgs=\n{x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*g)/1E3,end:Math.round(1E3*n)/1E3};m=(n+g)/2;m>1.5*Math.PI?m-=2*Math.PI:m<-Math.PI/2&&(m+=2*Math.PI);z.slicedTranslation={translateX:Math.round(Math.cos(m)*e),translateY:Math.round(Math.sin(m)*e)};n=Math.cos(m)*a[2]/2;q=Math.sin(m)*a[2]/2;z.tooltipPos=[a[0]+.7*n,a[1]+.7*q];z.half=m<-Math.PI/2||m>Math.PI/2?1:0;z.angle=m;g=Math.min(f,z.labelDistance/5);z.labelPos=[a[0]+n+Math.cos(m)*z.labelDistance,a[1]+q+Math.sin(m)*z.labelDistance,a[0]+n+Math.cos(m)*\ng,a[1]+q+Math.sin(m)*g,a[0]+n,a[1]+q,0>z.labelDistance?\"center\":z.half?\"right\":\"left\",m]}},drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,b,e,g,l,n=a.options.shadow;n&&!a.shadowGroup&&(a.shadowGroup=f.g(\"shadow\").add(a.group));F(a.points,function(d){if(!d.isNull){e=d.graphic;l=d.shapeArgs;b=d.getTranslate();var k=d.shadowGroup;n&&!k&&(k=d.shadowGroup=f.g(\"shadow\").add(a.shadowGroup));k&&k.attr(b);g=a.pointAttribs(d,d.selected&&\"select\");e?e.setRadialReference(a.center).attr(g).animate(E(l,\nb)):(d.graphic=e=f[d.shapeType](l).setRadialReference(a.center).attr(b).add(a.group),d.visible||e.attr({visibility:\"hidden\"}),e.attr(g).attr({\"stroke-linejoin\":\"round\"}).shadow(n,k));e.addClass(d.getClassName())}})},searchPoint:f,sortByAngle:function(a,f){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*f})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:f},{init:function(){r.prototype.init.apply(this,arguments);var a=this,f;a.name=\nl(a.name,\"Slice\");f=function(b){a.slice(\"select\"===b.type)};C(a,\"select\",f);C(a,\"unselect\",f);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,f){var b=this,e=b.series,d=e.chart,g=e.options.ignoreHiddenPoint;f=l(f,g);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,e.options.data[m(b,e.data)]=b.options,F([\"graphic\",\"dataLabel\",\"connector\",\"shadowGroup\"],function(e){if(b[e])b[e][a?\"show\":\"hide\"](!0)}),b.legendItem&&d.legend.colorizeItem(b,\na),a||\"hover\"!==b.state||b.setState(\"\"),g&&(e.isDirty=!0),f&&d.redraw())},slice:function(a,f,b){var e=this.series;g(b,e.chart);l(f,!0);this.sliced=this.options.sliced=A(a)?a:!this.sliced;e.options.data[m(this,e.data)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var d=this.shapeArgs;return this.sliced||!this.visible?\n[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:this.shapeArgs.r,start:d.start,end:d.end})}})})(M);(function(a){var C=a.addEvent,A=a.arrayMax,F=a.defined,E=a.each,m=a.extend,f=a.format,l=a.map,r=a.merge,u=a.noop,t=a.pick,g=a.relativeLength,d=a.Series,k=a.seriesTypes,b=a.stableSort;a.distribute=function(a,d){function e(a,b){return a.target-b.target}var f,g=!0,k=a,c=[],m;m=0;for(f=a.length;f--;)m+=a[f].size;if(m>d){b(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(m=f=0;m<=\nd;)m+=a[f].size,f++;c=a.splice(f-1,a.length)}b(a,e);for(a=l(a,function(a){return{size:a.size,targets:[a.target]}});g;){for(f=a.length;f--;)g=a[f],m=(Math.min.apply(0,g.targets)+Math.max.apply(0,g.targets))/2,g.pos=Math.min(Math.max(0,m-g.size/2),d-g.size);f=a.length;for(g=!1;f--;)0<f&&a[f-1].pos+a[f-1].size>a[f].pos&&(a[f-1].size+=a[f].size,a[f-1].targets=a[f-1].targets.concat(a[f].targets),a[f-1].pos+a[f-1].size>d&&(a[f-1].pos=d-a[f-1].size),a.splice(f,1),g=!0)}f=0;E(a,function(a){var b=0;E(a.targets,\nfunction(){k[f].pos=a.pos+b;b+=k[f].size;f++})});k.push.apply(k,c);b(k,e)};d.prototype.drawDataLabels=function(){var b=this,d=b.options,g=d.dataLabels,k=b.points,l,m,c=b.hasRendered||0,u,q,B=t(g.defer,!!d.animation),A=b.chart.renderer;if(g.enabled||b._hasPointLabels)b.dlProcessOptions&&b.dlProcessOptions(g),q=b.plotGroup(\"dataLabelsGroup\",\"data-labels\",B&&!c?\"hidden\":\"visible\",g.zIndex||6),B&&(q.attr({opacity:+c}),c||C(b,\"afterAnimate\",function(){b.visible&&q.show(!0);q[d.animation?\"animate\":\"attr\"]({opacity:1},\n{duration:200})})),m=g,E(k,function(c){var e,k=c.dataLabel,n,h,p=c.connector,v=!k,B;l=c.dlOptions||c.options&&c.options.dataLabels;if(e=t(l&&l.enabled,m.enabled)&&null!==c.y)g=r(m,l),n=c.getLabelConfig(),u=g.format?f(g.format,n):g.formatter.call(n,g),B=g.style,n=g.rotation,B.color=t(g.color,B.color,b.color,\"#000000\"),\"contrast\"===B.color&&(c.contrastColor=A.getContrast(c.color||b.color),B.color=g.inside||0>t(c.labelDistance,g.distance)||d.stacking?c.contrastColor:\"#000000\"),d.cursor&&(B.cursor=d.cursor),\nh={fill:g.backgroundColor,stroke:g.borderColor,\"stroke-width\":g.borderWidth,r:g.borderRadius||0,rotation:n,padding:g.padding,zIndex:1},a.objectEach(h,function(a,b){void 0===a&&delete h[b]});!k||e&&F(u)?e&&F(u)&&(k?h.text=u:(k=c.dataLabel=A[n?\"text\":\"label\"](u,0,-9999,g.shape,null,null,g.useHTML,null,\"data-label\"),k.addClass(\"highcharts-data-label-color-\"+c.colorIndex+\" \"+(g.className||\"\")+(g.useHTML?\"highcharts-tracker\":\"\"))),k.attr(h),k.css(B).shadow(g.shadow),k.added||k.add(q),b.alignDataLabel(c,\nk,g,null,v)):(c.dataLabel=k=k.destroy(),p&&(c.connector=p.destroy()))})};d.prototype.alignDataLabel=function(a,b,d,f,g){var e=this.chart,c=e.inverted,k=t(a.plotX,-9999),l=t(a.plotY,-9999),n=b.getBBox(),r,p=d.rotation,v=d.align,u=this.visible&&(a.series.forceDL||e.isInsidePlot(k,Math.round(l),c)||f&&e.isInsidePlot(k,c?f.x+1:f.y+f.height-1,c)),y=\"justify\"===t(d.overflow,\"justify\");if(u&&(r=d.style.fontSize,r=e.renderer.fontMetrics(r,b).b,f=m({x:c?this.yAxis.len-l:k,y:Math.round(c?this.xAxis.len-k:l),\nwidth:0,height:0},f),m(d,{width:n.width,height:n.height}),p?(y=!1,k=e.renderer.rotCorr(r,p),k={x:f.x+d.x+f.width/2+k.x,y:f.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*f.height},b[g?\"attr\":\"animate\"](k).attr({align:v}),l=(p+720)%360,l=180<l&&360>l,\"left\"===v?k.y-=l?n.height:0:\"center\"===v?(k.x-=n.width/2,k.y-=n.height/2):\"right\"===v&&(k.x-=n.width,k.y-=l?0:n.height)):(b.align(d,null,f),k=b.alignAttr),y?a.isLabelJustified=this.justifyDataLabel(b,d,k,n,f,g):t(d.crop,!0)&&(u=e.isInsidePlot(k.x,\nk.y)&&e.isInsidePlot(k.x+n.width,k.y+n.height)),d.shape&&!p))b[g?\"attr\":\"animate\"]({anchorX:c?e.plotWidth-a.plotY:a.plotX,anchorY:c?e.plotHeight-a.plotX:a.plotY});u||(b.attr({y:-9999}),b.placed=!1)};d.prototype.justifyDataLabel=function(a,b,d,f,g,k){var c=this.chart,e=b.align,l=b.verticalAlign,m,n,p=a.box?0:a.padding||0;m=d.x+p;0>m&&(\"right\"===e?b.align=\"left\":b.x=-m,n=!0);m=d.x+f.width-p;m>c.plotWidth&&(\"left\"===e?b.align=\"right\":b.x=c.plotWidth-m,n=!0);m=d.y+p;0>m&&(\"bottom\"===l?b.verticalAlign=\n\"top\":b.y=-m,n=!0);m=d.y+f.height-p;m>c.plotHeight&&(\"top\"===l?b.verticalAlign=\"bottom\":b.y=c.plotHeight-m,n=!0);n&&(a.placed=!k,a.align(b,null,g));return n};k.pie&&(k.pie.prototype.drawDataLabels=function(){var b=this,f=b.data,g,k=b.chart,l=b.options.dataLabels,m=t(l.connectorPadding,10),c=t(l.connectorWidth,1),r=k.plotWidth,q=k.plotHeight,u,C=b.center,p=C[2]/2,z=C[1],I,L,h,w,M=[[],[]],H,O,Q,R,x=[0,0,0,0];b.visible&&(l.enabled||b._hasPointLabels)&&(E(f,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&\n(a.dataLabel.attr({width:\"auto\"}).css({width:\"auto\",textOverflow:\"clip\"}),a.dataLabel.shortened=!1)}),d.prototype.drawDataLabels.apply(b),E(f,function(a){a.dataLabel&&a.visible&&(M[a.half].push(a),a.dataLabel._pos=null)}),E(M,function(c,d){var e,f,n=c.length,v=[],u;if(n)for(b.sortByAngle(c,d-.5),0<b.maxLabelDistance&&(e=Math.max(0,z-p-b.maxLabelDistance),f=Math.min(z+p+b.maxLabelDistance,k.plotHeight),E(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,z-p-a.labelDistance),a.bottom=\nMath.min(z+p+a.labelDistance,k.plotHeight),u=a.dataLabel.getBBox().height||21,a.positionsIndex=v.push({target:a.labelPos[1]-a.top+u/2,size:u,rank:a.y})-1)}),a.distribute(v,f+u-e)),R=0;R<n;R++)g=c[R],f=g.positionsIndex,h=g.labelPos,I=g.dataLabel,Q=!1===g.visible?\"hidden\":\"inherit\",e=h[1],v&&F(v[f])?void 0===v[f].pos?Q=\"hidden\":(w=v[f].size,O=g.top+v[f].pos):O=e,delete g.positionIndex,H=l.justify?C[0]+(d?-1:1)*(p+g.labelDistance):b.getX(O<g.top+2||O>g.bottom-2?e:O,d,g),I._attr={visibility:Q,align:h[6]},\nI._pos={x:H+l.x+({left:m,right:-m}[h[6]]||0),y:O+l.y-10},h.x=H,h.y=O,t(l.crop,!0)&&(L=I.getBBox().width,e=null,H-L<m?(e=Math.round(L-H+m),x[3]=Math.max(e,x[3])):H+L>r-m&&(e=Math.round(H+L-r+m),x[1]=Math.max(e,x[1])),0>O-w/2?x[0]=Math.max(Math.round(-O+w/2),x[0]):O+w/2>q&&(x[2]=Math.max(Math.round(O+w/2-q),x[2])),I.sideOverflow=e)}),0===A(x)||this.verifyDataLabelOverflow(x))&&(this.placeDataLabels(),c&&E(this.points,function(a){var e;u=a.connector;if((I=a.dataLabel)&&I._pos&&a.visible&&0<a.labelDistance){Q=\nI._attr.visibility;if(e=!u)a.connector=u=k.renderer.path().addClass(\"highcharts-data-label-connector highcharts-color-\"+a.colorIndex).add(b.dataLabelsGroup),u.attr({\"stroke-width\":c,stroke:l.connectorColor||a.color||\"#666666\"});u[e?\"attr\":\"animate\"]({d:b.connectorPath(a.labelPos)});u.attr(\"visibility\",Q)}else u&&(a.connector=u.destroy())}))},k.pie.prototype.connectorPath=function(a){var b=a.x,d=a.y;return t(this.options.dataLabels.softConnector,!0)?[\"M\",b+(\"left\"===a[6]?5:-5),d,\"C\",b,d,2*a[2]-a[4],\n2*a[3]-a[5],a[2],a[3],\"L\",a[4],a[5]]:[\"M\",b+(\"left\"===a[6]?5:-5),d,\"L\",a[2],a[3],\"L\",a[4],a[5]]},k.pie.prototype.placeDataLabels=function(){E(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+\"px\",textOverflow:\"ellipsis\"}),b.shortened=!0),b.attr(b._attr),b[b.moved?\"animate\":\"attr\"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},k.pie.prototype.alignDataLabel=u,k.pie.prototype.verifyDataLabelOverflow=\nfunction(a){var b=this.center,d=this.options,e=d.center,f=d.minSize||80,k,c=null!==d.size;c||(null!==e[0]?k=Math.max(b[2]-Math.max(a[1],a[3]),f):(k=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/2),null!==e[1]?k=Math.max(Math.min(k,b[2]-Math.max(a[0],a[2])),f):(k=Math.max(Math.min(k,b[2]-a[0]-a[2]),f),b[1]+=(a[0]-a[2])/2),k<b[2]?(b[2]=k,b[3]=Math.min(g(d.innerSize||0,k),k),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):c=!0);return c});k.column&&(k.column.prototype.alignDataLabel=function(a,\nb,f,g,k){var e=this.chart.inverted,c=a.series,l=a.dlBox||a.shapeArgs,m=t(a.below,a.plotY>t(this.translatedThreshold,c.yAxis.len)),n=t(f.inside,!!this.options.stacking);l&&(g=r(l),0>g.y&&(g.height+=g.y,g.y=0),l=g.y+g.height-c.yAxis.len,0<l&&(g.height-=l),e&&(g={x:c.yAxis.len-g.y-g.height,y:c.xAxis.len-g.x-g.width,width:g.height,height:g.width}),n||(e?(g.x+=m?0:g.width,g.width=0):(g.y+=m?g.height:0,g.height=0)));f.align=t(f.align,!e||n?\"center\":m?\"right\":\"left\");f.verticalAlign=t(f.verticalAlign,e||\nn?\"middle\":m?\"top\":\"bottom\");d.prototype.alignDataLabel.call(this,a,b,f,g,k);a.isLabelJustified&&a.contrastColor&&a.dataLabel.css({color:a.contrastColor})})})(M);(function(a){var C=a.Chart,A=a.each,F=a.objectEach,E=a.pick,m=a.addEvent;C.prototype.callbacks.push(function(a){function f(){var f=[];A(a.yAxis||[],function(a){a.options.stackLabels&&!a.options.stackLabels.allowOverlap&&F(a.stacks,function(a){F(a,function(a){f.push(a.label)})})});A(a.series||[],function(a){var l=a.options.dataLabels,g=a.dataLabelCollections||\n[\"dataLabel\"];(l.enabled||a._hasPointLabels)&&!l.allowOverlap&&a.visible&&A(g,function(d){A(a.points,function(a){a[d]&&(a[d].labelrank=E(a.labelrank,a.shapeArgs&&a.shapeArgs.height),f.push(a[d]))})})});a.hideOverlappingLabels(f)}f();m(a,\"redraw\",f)});C.prototype.hideOverlappingLabels=function(a){var f=a.length,m,u,t,g,d,k,b,e,v,y=function(a,b,d,c,e,f,g,k){return!(e>a+d||e+g<a||f>b+c||f+k<b)};for(u=0;u<f;u++)if(m=a[u])m.oldOpacity=m.opacity,m.newOpacity=1,m.width||(t=m.getBBox(),m.width=t.width,m.height=\nt.height);a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(u=0;u<f;u++)for(t=a[u],m=u+1;m<f;++m)if(g=a[m],t&&g&&t!==g&&t.placed&&g.placed&&0!==t.newOpacity&&0!==g.newOpacity&&(d=t.alignAttr,k=g.alignAttr,b=t.parentGroup,e=g.parentGroup,v=2*(t.box?0:t.padding||0),d=y(d.x+b.translateX,d.y+b.translateY,t.width-v,t.height-v,k.x+e.translateX,k.y+e.translateY,g.width-v,g.height-v)))(t.labelrank<g.labelrank?t:g).newOpacity=0;A(a,function(a){var b,d;a&&(d=a.newOpacity,a.oldOpacity!==d&&\na.placed&&(d?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=d,a[a.isOld?\"animate\":\"attr\"](a.alignAttr,null,b)),a.isOld=!0)})}})(M);(function(a){var C=a.addEvent,A=a.Chart,F=a.createElement,E=a.css,m=a.defaultOptions,f=a.defaultPlotOptions,l=a.each,r=a.extend,u=a.fireEvent,t=a.hasTouch,g=a.inArray,d=a.isObject,k=a.Legend,b=a.merge,e=a.pick,v=a.Point,y=a.Series,n=a.seriesTypes,D=a.svg,J;J=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,d=function(a){var c=b.getPointFromEvent(a);\nvoid 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};l(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(l(a.trackerGroups,function(c){if(a[c]){a[c].addClass(\"highcharts-tracker\").on(\"mouseover\",d).on(\"mouseout\",function(a){b.onTrackerMouseOut(a)});if(t)a[c].on(\"touchstart\",d);a.options.cursor&&a[c].css(E).css({cursor:a.options.cursor})}}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=\nthis,b=a.options,d=b.trackByArea,e=[].concat(d?a.areaPath:a.graphPath),f=e.length,g=a.chart,k=g.pointer,m=g.renderer,n=g.options.tooltip.snap,h=a.tracker,r,u=function(){if(g.hoverSeries!==a)a.onMouseOver()},v=\"rgba(192,192,192,\"+(D?.0001:.002)+\")\";if(f&&!d)for(r=f+1;r--;)\"M\"===e[r]&&e.splice(r+1,0,e[r+1]-n,e[r+2],\"L\"),(r&&\"M\"===e[r]||r===f)&&e.splice(r,0,\"L\",e[r-2]+n,e[r-1]);h?h.attr({d:e}):a.graph&&(a.tracker=m.path(e).attr({\"stroke-linejoin\":\"round\",visibility:a.visible?\"visible\":\"hidden\",stroke:v,\nfill:d?v:\"none\",\"stroke-width\":a.graph.strokeWidth()+(d?0:2*n),zIndex:2}).add(a.group),l([a.tracker,a.markerGroup],function(a){a.addClass(\"highcharts-tracker\").on(\"mouseover\",u).on(\"mouseout\",function(a){k.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(t)a.on(\"touchstart\",u)}))}};n.column&&(n.column.prototype.drawTracker=J.drawTrackerPoint);n.pie&&(n.pie.prototype.drawTracker=J.drawTrackerPoint);n.scatter&&(n.scatter.prototype.drawTracker=J.drawTrackerPoint);r(k.prototype,{setItemEvents:function(a,\nd,e){var c=this,f=c.chart.renderer.boxWrapper,g=\"highcharts-legend-\"+(a.series?\"point\":\"series\")+\"-active\";(e?d:a.legendGroup).on(\"mouseover\",function(){a.setState(\"hover\");f.addClass(g);d.css(c.options.itemHoverStyle)}).on(\"mouseout\",function(){d.css(b(a.visible?c.itemStyle:c.itemHiddenStyle));f.removeClass(g);a.setState()}).on(\"click\",function(b){var c=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent(\"legendItemClick\",b,c):u(a,\"legendItemClick\",b,c)})},\ncreateCheckboxForItem:function(a){a.checkbox=F(\"input\",{type:\"checkbox\",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,\"click\",function(b){u(a.series||a,\"checkboxClick\",{checked:b.target.checked,item:a},function(){a.select()})})}});m.legend.itemStyle.cursor=\"pointer\";r(A.prototype,{showResetZoom:function(){var a=this,b=m.lang,d=a.options.chart.resetZoomButton,e=d.theme,f=e.states,g=\"chart\"===d.relativeTo?null:\"plotBox\";this.resetZoomButton=\na.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},e,f&&f.hover).attr({align:d.position.align,title:b.resetZoomTitle}).addClass(\"highcharts-reset-zoom\").add().align(d.position,!1,g)},zoomOut:function(){var a=this;u(a,\"selection\",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,c=this.pointer,f=!1,g;!a||a.resetSelection?(l(this.axes,function(a){b=a.zoom()}),c.initiated=!1):l(a.xAxis.concat(a.yAxis),function(a){var d=a.axis;c[d.isXAxis?\"zoomX\":\"zoomY\"]&&(b=d.zoom(a.min,\na.max),d.displayBtn&&(f=!0))});g=this.resetZoomButton;f&&!g?this.showResetZoom():!f&&d(g)&&(this.resetZoomButton=g.destroy());b&&this.redraw(e(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&l(d,function(a){a.setState()});l(\"xy\"===b?[1,0]:[1],function(b){b=c[b?\"xAxis\":\"yAxis\"][0];var d=b.horiz,f=a[d?\"chartX\":\"chartY\"],d=d?\"mouseDownX\":\"mouseDownY\",g=c[d],h=(b.pointRange||0)/2,k=b.getExtremes(),l=b.toValue(g-f,!0)+h,h=b.toValue(g+\nb.len-f,!0)-h,m=h<l,g=m?h:l,l=m?l:h,h=Math.min(k.dataMin,b.toValue(b.toPixels(k.min)-b.minPixelPadding)),m=Math.max(k.dataMax,b.toValue(b.toPixels(k.max)+b.minPixelPadding)),n;n=h-g;0<n&&(l+=n,g=h);n=l-m;0<n&&(l=m,g-=n);b.series.length&&g!==k.min&&l!==k.max&&(b.setExtremes(g,l,!1,!1,{trigger:\"pan\"}),e=!0);c[d]=f});e&&c.redraw(!1);E(c.container,{cursor:\"move\"})}});r(v.prototype,{select:function(a,b){var c=this,d=c.series,f=d.chart;a=e(a,!c.selected);c.firePointEvent(a?\"select\":\"unselect\",{accumulate:b},\nfunction(){c.selected=c.options.selected=a;d.options.data[g(c,d.data)]=c.options;c.setState(a&&\"select\");b||l(f.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[g(a,d.data)]=a.options,a.setState(\"\"),a.firePointEvent(\"unselect\"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent(\"mouseOut\");\nl(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var c=this,d=b(c.series.options.point,c.options).events;c.events=d;a.objectEach(d,function(a,b){C(c,b,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,g=this.series,k=g.options.states[a]||{},l=f[g.type].marker&&g.options.marker,m=l&&!1===l.enabled,n=l&&l.states&&l.states[a]||{},h=!1===n.enabled,t=g.stateMarkerGraphic,u=\nthis.marker||{},v=g.chart,y=g.halo,A,C=l&&g.markerAttribs;a=a||\"\";if(!(a===this.state&&!b||this.selected&&\"select\"!==a||!1===k.enabled||a&&(h||m&&!1===n.enabled)||a&&u.states&&u.states[a]&&!1===u.states[a].enabled)){C&&(A=g.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass(\"highcharts-point-\"+this.state),a&&this.graphic.addClass(\"highcharts-point-\"+a),this.graphic.animate(g.pointAttribs(this,a),e(v.options.chart.animation,k.animation)),A&&this.graphic.animate(A,e(v.options.chart.animation,\nn.animation,l.animation)),t&&t.hide();else{if(a&&n){l=u.symbol||g.symbol;t&&t.currentSymbol!==l&&(t=t.destroy());if(t)t[b?\"animate\":\"attr\"]({x:A.x,y:A.y});else l&&(g.stateMarkerGraphic=t=v.renderer.symbol(l,A.x,A.y,A.width,A.height).add(g.markerGroup),t.currentSymbol=l);t&&t.attr(g.pointAttribs(this,a))}t&&(t[a&&v.isInsidePlot(c,d,v.inverted)?\"show\":\"hide\"](),t.element.point=this)}(c=k.halo)&&c.size?(y||(g.halo=y=v.renderer.path().add((this.graphic||t).parentGroup)),y[b?\"animate\":\"attr\"]({d:this.haloPath(c.size)}),\ny.attr({\"class\":\"highcharts-halo highcharts-color-\"+e(this.colorIndex,g.colorIndex)}),y.point=this,y.attr(r({fill:this.color||g.color,\"fill-opacity\":c.opacity,zIndex:-1},c.attributes))):y&&y.point&&y.point.haloPath&&y.animate({d:y.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});r(y.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&\nu(this,\"mouseOver\");this.setState(\"hover\");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,e=b.hoverPoint;b.hoverSeries=null;if(e)e.onMouseOut();this&&a.events.mouseOut&&u(this,\"mouseOut\");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();this.setState()},setState:function(a){var b=this,c=b.options,d=b.graph,f=c.states,g=c.lineWidth,c=0;a=a||\"\";if(b.state!==a&&(l([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass(\"highcharts-series-\"+\nb.state),a&&c.addClass(\"highcharts-series-\"+a))}),b.state=a,!f[a]||!1!==f[a].enabled)&&(a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0)),d&&!d.dashstyle))for(g={\"stroke-width\":g},d.animate(g,e(b.chart.options.chart.animation,f[a]&&f[a].animation));b[\"zone-graph-\"+c];)b[\"zone-graph-\"+c].attr(g),c+=1},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,k=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!k:a)?\"show\":\"hide\";l([\"group\",\n\"dataLabelsGroup\",\"markerGroup\",\"tracker\",\"tt\"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&l(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});l(c.linkedSeries,function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=!0);!1!==b&&d.redraw();u(c,f)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===\na?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);u(this,a?\"select\":\"unselect\")},drawTracker:J.drawTrackerGraph})})(M);(function(a){var C=a.Chart,A=a.each,F=a.inArray,E=a.isArray,m=a.isObject,f=a.pick,l=a.splat;C.prototype.setResponsive=function(f){var l=this.options.responsive,m=[],g=this.currentResponsive;l&&l.rules&&A(l.rules,function(d){void 0===d._id&&(d._id=a.uniqueKey());this.matchResponsiveRule(d,m,f)},this);var d=a.merge.apply(0,a.map(m,function(d){return a.find(l.rules,function(a){return a._id===\nd}).chartOptions})),m=m.toString()||void 0;m!==(g&&g.ruleIds)&&(g&&this.update(g.undoOptions,f),m?(this.currentResponsive={ruleIds:m,mergedOptions:d,undoOptions:this.currentOptions(d)},this.update(d,f)):this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,l){var m=a.condition;(m.callback||function(){return this.chartWidth<=f(m.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=f(m.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=f(m.minWidth,0)&&this.chartHeight>=f(m.minHeight,0)}).call(this)&&\nl.push(a._id)};C.prototype.currentOptions=function(f){function r(f,d,k,b){var e;a.objectEach(f,function(a,g){if(!b&&-1<F(g,[\"series\",\"xAxis\",\"yAxis\"]))for(f[g]=l(f[g]),k[g]=[],e=0;e<f[g].length;e++)d[g][e]&&(k[g][e]={},r(a[e],d[g][e],k[g][e],b+1));else m(a)?(k[g]=E(a)?[]:{},r(a,d[g]||{},k[g],b+1)):k[g]=d[g]||null})}var t={};r(f,this.options,t,0);return t}})(M);return M});"
  },
  {
    "path": "src/pe-group-by-donut/widget/pe-group-by-donut.u-body-html-template.html",
    "content": "<highchart class=\"chart\" id=\"group-by-donut\" series=\"chart.series\" title=\"\" options=\"chart.options\"></highchart>"
  },
  {
    "path": "src/pe-group-by-donut/widget/pe-group-by-donut.u-client-script.js",
    "content": "function GroupByDonutController($scope, $rootScope) {\n  var c = this;\n\n  var dataLabels = { enabled: true };\n  if (c.data.labelLength <= 2) {\n    dataLabels = {\n      enabled: true,\n      formatter: function() {\n        if (this.point.percentage > 4) {\n          return c.data.prefix + this.point.key;\n        }\n        return '';\n      },\n      distance: -25,\n      style: {\n        color: 'white',\n        fontSize: '18px',\n        fontWeight: 'bold',\n        textOutline: '0px'\n      }\n    };\n  }\n\n  var chartOptions = {\n    chart: {\n      type: 'pie'\n    },\n    xAxis: {\n      title: {\n        text: null\n      },\n      labels: {\n        rotation: 0\n      }\n    },\n    credits: {\n      enabled: false\n    },\n    yAxis: {\n      min: 0,\n      title: {\n        text: null\n      }\n    },\n    plotOptions: {\n      pie: {\n        shadow: false,\n        dataLabels: dataLabels\n      },\n      series: {\n        innerSize: '60%',\n        cursor: 'pointer'\n      }\n    },\n    title: {\n      align: 'center',\n      verticalAlign: 'middle',\n      y: 10,\n      style: {\n        fontSize: '28px',\n        fontWeight: 'bold',\n        color: null // allow theming\n      }\n    },\n    tooltip: {\n      formatter: function() {\n        return this.key + ' ' + c.data.pluralTableName + ': <b>' + this.y + '</b>';\n      }\n    }\n  };\n\n  buildChart(c.data.title, chartOptions, c.data.series[0].data);\n\n  $scope.$on('sublime.tab.clicked', function(event, tabClicked) {\n    c.server.get({\n      tabClicked: tabClicked,\n      seriesData: c.data.series[0].data.map(function(s) { return { value: s.key, name: s.name }; })\n    }).then(function(r) {\n      buildChart(r.data.title, chartOptions, r.data.series[0].data);\n    });\n  });\n\n  function buildChart(title, options, seriesData) {\n    $scope.chart = {\n      test: true,\n      options: options,\n      series: [{\n        data: seriesData\n      }]\n    };\n    $scope.chart.options.title.text = title;\n\n    // Create drilldowns\n    $scope.chart.series[0].data.forEach(function(point) {\n      point.events = {\n        click: function(event) {\n          $rootScope.$broadcast('sublime.query.selected', { query: point.q, title: point.t });\n        }\n      };\n    });\n  }\n}"
  },
  {
    "path": "src/pe-group-by-donut/widget/pe-group-by-donut.u-css.scss",
    "content": "$pe-chart-title: #777 !default;\n\nhighchart {\n  width: 100%;\n  height: 300px;\n  display: block;\n\n  .highcharts-title {\n    fill: $pe-chart-title;\n  }\n\n  .highcharts-point.highcharts-color-0,\n  .highcharts-halo.highcharts-color-0 {\n    fill: $brand-danger;\n  }\n  .highcharts-data-label-connector.highcharts-color-0,\n  .highcharts-tooltip.highcharts-color-0 > .highcharts-tooltip-box {\n    stroke: $brand-danger;\n  }\n  \n  .highcharts-point.highcharts-color-1,\n  .highcharts-halo.highcharts-color-1 {\n    fill: $brand-warning;\n  }\n  .highcharts-data-label-connector.highcharts-color-1,\n  .highcharts-tooltip.highcharts-color-1 > .highcharts-tooltip-box {\n    stroke: $brand-warning;\n  }\n\n  .highcharts-point.highcharts-color-2,\n  .highcharts-halo.highcharts-color-2 {\n    fill: $brand-primary;\n  }\n  .highcharts-data-label-connector.highcharts-color-2,\n  .highcharts-tooltip.highcharts-color-2 > .highcharts-tooltip-box {\n    stroke: $brand-primary;\n  }\n  \n  .highcharts-point.highcharts-color-3,\n  .highcharts-halo.highcharts-color-3 {\n    fill: $brand-info;\n  }\n  .highcharts-data-label-connector.highcharts-color-3,\n  .highcharts-tooltip.highcharts-color-3 > .highcharts-tooltip-box {\n    stroke: $brand-info;\n  }\n  \n  .highcharts-point.highcharts-color-4,\n  .highcharts-halo.highcharts-color-4 {\n    fill: $brand-success;\n  }\n  .highcharts-data-label-connector.highcharts-color-4,\n  .highcharts-tooltip.highcharts-color-4 > .highcharts-tooltip-box {\n    stroke: $brand-success;\n  }\n}"
  },
  {
    "path": "src/pe-group-by-donut/widget/pe-group-by-donut.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-group-by-donut/widget/pe-group-by-donut.u-option-schema.json",
    "content": ""
  },
  {
    "path": "src/pe-group-by-donut/widget/pe-group-by-donut.u-server-script.js",
    "content": "(function() {\n  var filter = options.filter || input.filter || 'active=true^EQ';\n  var table = options.table || input.table || 'sn_customerservice_case';\n  var groupBy = 'priority';\n  if (options && options.field_list || input && input.field_list) {\n    groupBy = options.field_list.split(',')[0] || input.field_list.split(',')[0];\n  }\n  data.prefix = groupBy.charAt(0).toUpperCase();\n\n  var aggregates = [];\n  var total = 0;\n\n  var ga = new GlideAggregate(table);\n  data.pluralTableName = ga.getED().getPlural();\n  ga.addEncodedQuery(filter);\n  ga.addAggregate('COUNT');\n\n  if (input && input.tabClicked == 'my_records') {\n    ga.addQuery('assigned_to', gs.getUserID());\n  }\n\n  ga.groupBy(groupBy);\n  ga.orderBy(groupBy);\n  ga.query();\n\n  while (ga.next()) {\n    var count = ga.getAggregate('COUNT') * 1;\n    aggregates.push({\n      value: ga.getValue(groupBy) + '',\n      name: ga.getDisplayValue(groupBy) + '' || '(empty)',\n      count: count\n    });\n    total += count;\n  }\n\n  // Prepare output objects\n  data.title = total;\n  data.series = [{\n    name: data.pluralTableName,\n    data: []\n  }];\n\n  if (input && input.seriesData) {\n    // If aggregates does not contain value from seriesData then add it\n    input.seriesData.forEach(function(series, i) {\n      if (!aggregates.some(function(a) { return a.value == series.value; })) {\n        aggregates.splice(i, 0, series);\n      }\n    });\n  }\n\n  aggregates.forEach(function(aggregate) {\n    var q = 'active=true';\n    if (aggregate.name != '(empty)') {\n      q += '^' + groupBy + '=' + aggregate.value;\n    }\n    if (input && input.tabClicked == 'my_records') {\n      q += '^assigned_to=' + gs.getUserID();\n    }\n    q += '^EQ';\n\n    var t = input && input.tabClicked == 'my_records' ? 'My ' : 'All ';\n    if (aggregate.name != '(empty)') {\n      t += aggregate.name + ' ';\n    }\n    t += data.pluralTableName;\n\n    data.labelLength = Math.max(data.labelLength || 0, aggregate.value.length);\n\n    data.series[0].data.push({\n      name: aggregate.name,\n      y: aggregate.count || 0,\n      key: aggregate.value,\n      q: q,\n      t: t\n    });\n  });\n})();"
  },
  {
    "path": "src/pe-highlight-user-assets/README.md",
    "content": "# Highlight User Assets\n\n## Description\n\nThe widget is configurable to display data from any table as either large buttons with a image/picture as the primary focus of the presentation.  However, the widget can be configured to show the data as buttons with just text about the item.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-highlight-user-assets/images/default.png)\n### Configured - As Panel Buttons\n![As Panel Buttons](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-highlight-user-assets/images/panelbuttons.png)\n### Missing Configuration\n![Missing Configuration](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-highlight-user-assets/images/missingconfiguration.png)\n### Instance Options\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-highlight-user-assets/images/options1.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-highlight-user-assets/images/options2.png)\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\nDownload and install update set **[pe-highlight-user-assets.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-highlight-user-assets/pe-highlight-user-assets.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Table used to query data** - Name of table to retrieve data from - e.g. task<br/>\n**Field name in table to use for the image caption** - Field name to use for the image caption<br/>\n**Field name in table to use for the image sub-caption** - Additional text for sub-caption - e.g. Expiration Date<br/>\n**Field name in table  to use for the image** - Field name in table for storing an image on the record<br/>\n**Limit to User** - Limit query results to current user. Expects field named - assigned_to<br/>\n**Additional Data Filter** - Additional query parameters to help reduce data set using Encoded Query format, e.g.  active=true^start_date=today <br/>\n**List Page Target** - Target Page for View All panel header link<br/>\n**Detail Page Target** - Detail page target for item menu 'View Details' link<br/>\n**View name used by Detail Page Target** -leave empty to use default view <br/>\n\n### Presentation\n**Bootstrap Panel's Contextual alternatives** - changes the header and border to Bootstrap defined context colors<br/>\n**Show as items as clickable panel button** - transform the content into a smaller button style<br/>\n**Clickable Panel Button context** - Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors<br/>\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None\n"
  },
  {
    "path": "src/pe-highlight-user-assets/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Content\",\n  \"common-name\": \"Highlight User Assets\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"content\",\n    \"user assets\"\n  ],\n  \"name\": \"pe-highlight-user-assets\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Configurable widget to show data/content as picture buttons\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-highlight-user-assets/pe-highlight-user-assets.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-04-03 13:57:56\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Highlight User Assets</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>b7c1f8d04fefe70005be4d6e0210c726</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-04-03 13:57:56</sys_created_on>\n<sys_id>389720524fe0f3808272ece24210c786</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-04-03 13:57:56</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a1e0b6234f5b670005be4d6e0210c725</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($scope,$location) {\n\t/* widget controller */\n\tvar c = this;\n\t\n\t$scope.goPanel = function(item){\n\t\tvar href = '?id='+ $scope.data.instance_table.detail_page +'&amp;table='+ $scope.data.instance_table.name +'&amp;sys_id=' + item.sys_id.value;\n\t\t$location.url(href);\n\t}\n\n\t//Change the expiry date format\n\t$scope.data.instance_table.dataSet.forEach(function(item) {\n\t\tif (item.expires !== '') {\n\t\t\titem.expires = moment(item.expires).format('MMM D YYYY');\n\t\t}\n\t});\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$link-font-color: $brand-warning !default;\n\n.sassvars {\n  --title-color: $text-color;\n  --annotation-color: $text-color;\n\n  --bs-context-default: $brand-default;\n  --bs-context-primary: $brand-primary;\n  --bs-context-success: $brand-success;\n  --bs-context-warning: $brand-warning;\n  --bs-context-danger: $brand-danger;\n  --bs-context-info: $brand-info;\n}\n.panel-{\n  background-color: transparent !important;\n}\n.panel{\n  padding-top: 15px;\n  padding-bottom: 15px;\n  border: unset !important;\n  border-radius: unset !important;\n  box-shadow: unset !important;\n}\n.panel-body{\n  margin: 25px 0 25px 0;\n}\n.panel-warning{\n  max-width: 50%;\n  margin:0 auto;\n  background-color: unset !important;\n  .panel-body{\n    margin: 0 !important;\n    padding: 15px !important;\n    color: #B33A3A;\n  }\n}\n.item-header {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 18px;\n\tfont-size: 30px;\n\tfont-weight: bold;\n\tletter-spacing: -0.51px;\n\tline-height: 50px;\n\ttext-align: center;\n}\n\n.item-link {\n  display: flex;\n  font-weight: normal;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 20px;\n  a{\n    color: $link-font-color;\n    font-size: 21px;\n    font-weight: normal;\n    height: 27px;\n    letter-spacing: -0.3px;\n  }\n}\n\n.item-devices {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-end;\n  justify-content: space-evenly;\n  max-height: 265px;\n  .panel{\n    max-width: 315px;\n    height: 180px;\n    //padding: 0px 25px;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: flex-end;\n    justify-content: space-evenly;\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n    .item-panel{\n      display: flex;\n      flex-wrap: wrap;\n      align-items: flex-end;\n      justify-content: space-evenly;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n      padding: 15px;\n      img{\n        max-height: 92px;\n        height: 100%;\n        width: auto;\n        float: left;\n        display: inline-flex;\n      }\n      .item-text{\n        min-width: 155px;\n        max-width: calc( 33% - 112px );\n        width: 100%;\n        display: inline-flex;\n        margin-left: 15px;\n        text-align: left;\n        .device-name {\n          font-size: 21px;\n          span {\n            display: inline-block;\n            text-align: left;\n            width: 100%;\n            white-space: normal;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            margin: 0;\n          }\n        }\n      }\n    }\n  }\n}\n/* Child directive styles */\n.device-container {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  img{\n    min-height: 150px;\n    max-height: 175px;\n    width: auto;\n    height: 100%;\n  }\n}\n\n.device-name {\n  font-size: 21px;\n\n  span {\n    display: inline-block;\n    text-align: center;\n    width: 250px;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    margin: 0 32px;\n  }\n\n}\n\n.device-subcaption {\n  color: $text-muted;\n  font-size: 16px;\n  min-height: 25px;\n}\n\ndevice-card {\n  flex: 1 0;\n\n  a {\n    display: contents;\n  }\n\n  img {\n    max-width: 310px;\n    max-height: 240px;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;highlight-assets&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link($scope,$el,$attrs,$ctrl){\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.title_color &amp;&amp; $scope.options.title_color.length &gt; 0){\n\t\tsass.style.setProperty('--title-color', $scope.options.title_color);\n\t}\n\tif($scope.options.annotation_color &amp;&amp; $scope.options.annotation_color.length &gt; 0){\n\t\tsass.style.setProperty('--annotation-color', $scope.options.annotation_color);\n\t}\n\t\n}\n]]&gt;&lt;/link&gt;&lt;name&gt;Highlight Assets&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Table\",\"hint\":\"Name of table to retrieve data from - e.g. task\",\"name\":\"table\",\"section\":\"Data\",\"label\":\"Table used to query data\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},{\"hint\":\"Field name to use for the image caption\",\"name\":\"name_field\",\"section\":\"Data\",\"default_value\":\"short_description\",\"label\":\"Field name in table to use for the image caption\",\"type\":\"string\"},{\"hint\":\"Additional text for sub-caption - e.g. Expiration Date\",\"name\":\"subcaption_field\",\"section\":\"Data\",\"label\":\"Field name in table to use for the image sub-caption\",\"type\":\"string\"},{\"hint\":\"Field name in table for storing an image on the record\",\"name\":\"image_field\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Field name in table  to use for the image\",\"type\":\"string\"},{\"hint\":\"Limit query results to current user. Expects field named - assigned_to\",\"name\":\"limit_to_user\",\"section\":\"Data\",\"default_value\":\"true\",\"label\":\"Limit to User - Limit query results to current user. Expects field named - assigned_to\",\"type\":\"boolean\"},{\"hint\":\"Additional query parameters to help reduce data set\",\"name\":\"encoded_query\",\"section\":\"Data\",\"label\":\"Additional Data Filter - using Encoded Query format, e.g.  active=true^start_date=today\",\"type\":\"string\"},{\"hint\":\"Service Portal target page to view data in a larger list\",\"name\":\"list_page\",\"section\":\"Data\",\"label\":\"List Page Target - Target Page for View All panel header link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"Service Portal target page to view or edit an individual item\",\"name\":\"detail_page\",\"section\":\"Data\",\"label\":\"Detail Page Target - Detail page target for item menu 'View Details' link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},{\"hint\":\"View to use when target detail page is a form\",\"name\":\"view\",\"section\":\"Data\",\"default_value\":\"default\",\"label\":\"View name used by Detail Page Target - leave empty to use default view\",\"type\":\"reference\",\"value\":\"sys_ui_view\",\"ed\":{\"reference\":\"sys_ui_view\"}},{\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},{\"name\":\"panel_button\",\"section\":\"Presentation\",\"default_value\":\"false\",\"label\":\"Show as items as clickable panel button\",\"type\":\"boolean\"},{\"name\":\"panel_button_context\",\"section\":\"Presentation\",\"default_value\":\"default\",\"label\":\"Clickable Panel Button context - Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\n\tdata.title = options.title;\n\toptions.limit_to_user = (options.limit_to_user=='true');\n\tdata.panel_button = (options.panel_button=='true');\n\t\n\t/* 'q' - URL parameter for adding a filter to the dataset dynamically */\n\toptions.encoded_query = options.encoded_query || $sp.getParameter('q');\n\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tdata.instance_table = {\n\t\treadable: true,\n\t\tcount: 0,\n\t\tdataSet : [],\n\t\tdetail_page: undefined,\n\t\tdetail_view: undefined,\n\t\timage: options.image_field,\n\t\tisValid : false,\n\t\titemMenu: [],\n\t\tlabel : undefined,\n\t\tlist_page: undefined,\n\t\tpages: [],\n\t\tshowActions: false,\n\t\tsys_id: options.table\n\t};\n\n\ttry{\n\t\tvar grTableMeta = new GlideRecord('sys_db_object');\n\t\tif(data.instance_table.table){\n\t\t\tgrTableMeta.addQuery('name',data.instance_table.table);\t\n\t\t}else{\n\t\t\tgrTableMeta.addQuery('sys_id',data.instance_table.sys_id);\t\n\t\t}\n\t\t\n\t\tgrTableMeta.query();\n\t\t\n\t\tif(grTableMeta.next()){\n\t\t\tdata.instance_table.sys_id = grTableMeta.getUniqueValue();\n\t\t\tdata.instance_table.name = grTableMeta.getDisplayValue('name');\n\t\t\tdata.instance_table.label = grTableMeta.getDisplayValue('label');\n\t\t}else{\n\t\t\tdata.missingConfig = true;\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t// If provided, get the sys_id of the List Page from the Option (Instance) Schema\n\t\tif (options.list_page) {\n\t\t\tvar list_page = new GlideRecordSecure('sp_page');\n\t\t\tif (list_page.get(options.list_page))\n\t\t\t\tdata.instance_table.list_page = list_page.getDisplayValue('id');\n\t\t}\n\n\t\t// If provided, get the sys_id of the Detail Page from the Option (Instance) Schema\n\t\tif (options.detail_page) {\n\t\t\tvar detail_page = new GlideRecordSecure('sp_page');\n\t\t\tif (detail_page.get(options.detail_page)){\n\t\t\t\tdata.instance_table.detail_page = detail_page.getDisplayValue('id');\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t\t// If provided, get the name of the View from the Option (Instance) Schema\n\t\tif (options.view) {\n\t\t\tvar view_name = new GlideRecordSecure('sys_ui_view');\n\t\t\tif (view_name.get(options.view))\n\t\t\t\tdata.instance_table.detail_view = view_name.getDisplayValue('name');\n\t\t}\n\t\t\n\t\t/* Table to use */\n\t\t//grValid - Used for table and field validation only\n\t\tvar grValid = new GlideRecord(data.instance_table.name);\n\t\tvar grTable = new GlideRecordSecure(data.instance_table.name); // does ACL checking for us\n\t\tdata.instance_table.readable = grTable.canRead();\n\t\t\n\t\tif(data.instance_table.readable){\n\t\t\t//Validate if table exists\n\t\t\tdata.instance_table.isValid = grValid.isValid();\n\t\t\tif(!data.instance_table.isValid){\n\t\t\t\tthrow('Missing Table Configuration');\n\t\t\t}\n\n\t\t\t// If select, limit the results to the current user based on the Option (Instance) Schema\n\t\t\tif(options.limit_to_user){\n\t\t\t\tgrTable.addQuery('assigned_to',currentUser.getID());\n\t\t\t}\n\n\t\t\t// If provided, append the additional filter criteria to the GlideRecord from the Option (Instance) Schema\n\t\t\tif(options.encoded_query){\n\t\t\t\tgrTable.addEncodedQuery(options.encoded_query);\n\t\t\t}\n\n\t\t\t// LETS GO!\n\t\t\tgrTable.query();\n\t\t\twhile(grTable.next()){\n\t\t\t\t//Lets build our data set\n\t\t\t\tvar record = {};\n\t\t\t\trecord.sys_id = { displayValue: grTable.getUniqueValue(), value: grTable.getUniqueValue() };\n\n\n\t\t\t\tif(options.name_field){\n\t\t\t\t\trecord.name = { displayValue: grTable.getDisplayValue(options.name_field), value: grTable.getValue(options.name_field) };\t\n\t\t\t\t}\n\t\t\t\tif(options.image_field){\n\t\t\t\t\trecord.image = { displayValue: grTable.getDisplayValue(options.image_field), value: grTable.getValue(options.image_field) };\t\n\t\t\t\t}\n\t\t\t\tif(options.subcaption){\n\t\t\t\t\trecord.subcaption = { displayValue: grTable.getDisplayValue(options.subcaption_field), value: grTable.getValue(options.subcaption_field) };\t\n\t\t\t\t}\n\n\t\t\t\tdata.instance_table.dataSet.push(record);\n\t\t\t}\n\n\t\t\tdata.instance_table.count = grTable.getRowCount();\n\t\t\t\n\t\t\tif(data.instance_table.count&lt;=0){\n\t\t\t\tdata.instance_table.readable = false;\n\t\t\t}\n\t\t}\n\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\tgs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n\t/* Function to Get our Field info */\n\tfunction getField(gr, name) {\n\t\tvar f = {};\n\t\tf.field = name;\n\t\tf.displayValue = gr.getDisplayValue(name);\n\t\tf.value = gr.getValue(name);\n\t\t\n\t\tvar ge = gr.getElement(name);\n\t\tif (ge == null)\n\t\t\treturn f;\n\n\t\tf.type = ge.getED().getInternalType();\n\t\tf.label = ge.getLabel();\n\t\treturn f;\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-04 17:51:50&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;a1e0b6234f5b670005be4d6e0210c725&lt;/sys_id&gt;&lt;sys_mod_count&gt;124&lt;/sys_mod_count&gt;&lt;sys_name&gt;Highlight Assets&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a1e0b6234f5b670005be4d6e0210c725&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-03 13:56:57&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"sassvars panel panel-{{options.context}}\"&gt;\n  &lt;div class=\"panel-body\" ng-if='data.instance_table.readable'&gt;\n    &lt;div class=\"item-header\"&gt;\n      &lt;span id=\"header-title\"&gt;{{::data.title}}&lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div class=\"item-link\" ng-if='::data.instance_table.list_page'&gt;\n      &lt;a ng-href=\"?id={{data.instance_table.list_page}}&amp;t={{data.instance_table.name}}\"&gt;View all &gt;&lt;/a&gt;\n    &lt;/div&gt;\n    &lt;div class=\"item-devices\" ng-if='::(data.missingConfig==false &amp;&amp; !data.panel_button)'&gt;\n      &lt;a ng-repeat=\"item in data.instance_table.dataSet\" href ng-click='goPanel(item)'&gt;\n        &lt;div class=\"device-container\"&gt;\n          &lt;img ng-if=\"item.image.displayValue!=''\" src=\"{{item.image.displayValue}}\"/&gt;\n          &lt;img ng-if=\"item.image.displayValue==''\" src=\"not-found.png\"/&gt;\n          &lt;div class=\"device-name\"&gt;&lt;span&gt;{{item.name.displayValue}}&lt;/span&gt;&lt;/div&gt;\n          &lt;div ng-if=\"item.subcaption\" class=\"device-subcaption\"&gt;&lt;span ng-if=\"item.subcaption\"&gt;{{item.subcaption.displayValue}}&lt;/span&gt;&lt;/div&gt;  \n        &lt;/div&gt;\n      &lt;/a&gt;\n    &lt;/div&gt;\n    &lt;div class=\"item-devices\" ng-if='::(data.missingConfig==false &amp;&amp; data.panel_button)'&gt;\n      &lt;div class='panel panel-{{options.panel_button_context}}' ng-repeat=\"item in data.instance_table.dataSet\" ng-click='goPanel(item)'&gt;\n        &lt;div class='panel-body item-panel'&gt;\n          &lt;img ng-if=\"item.image.displayValue!=''\" src=\"{{item.image.displayValue}}\"/&gt;\n          &lt;img ng-if=\"item.image.displayValue==''\" src=\"not-found.png\"/&gt;\n          &lt;div class='item-text'&gt;\n            &lt;div class=\"device-name\"&gt;&lt;span&gt;{{item.name.displayValue}}&lt;/span&gt;&lt;/div&gt;\n            &lt;div ng-if=\"item.subcaption\" class=\"device-subcaption\"&gt;&lt;span ng-if=\"item.subcaption\"&gt;{{item.subcaption.displayValue}}&lt;/span&gt;&lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class='panel panel-warning' ng-if='::data.missingConfig'&gt;\n      &lt;div class='panel-heading'&gt;\n        Missing Configuration\n      &lt;/div&gt;\n      &lt;div class='panel-body bg-warning'&gt;\n        &lt;div ng-if='::!c.table.isValid'&gt;\n          Please configure a table in the Instance Options (Ctrl+RightClick)\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>165766910</payload_hash>\n<remote_update_set display_value=\"Highlight User Assets\">389720524fe0f3808272ece24210c786</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-04-03 13:57:56</sys_created_on>\n<sys_id>bc9720524fe0f3808272ece24210c786</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e37d0d690000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-04-03 13:57:56</sys_updated_on>\n<table/>\n<target_name>Highlight Assets</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a6572c1261e0f3809eec02fd27a8ed2d</update_guid>\n<update_guid_history>a6572c1261e0f3809eec02fd27a8ed2d:165766910,30b4bdb9a0ef2f00a5e9810846681b00:-1814641538,cf347939e0ef2f00177004cc1929d622:941761302,cbf335398bef2f00ed40a2345b301ba3:-1537644746,92d33539c5ef2f0053cbcfae11eb4317:84479095,3ac3f5f573ef2f00c07f46998660eeb5:-1630160999,2ca3fdf522ef2f0041b2a1c99f6c6ddd:-585381768,4b3339b57eef2f000b21d3878b57e2a8:1093137797,f0d1bd75a3ef2f00182576a32dc9f00a:1525733061,8ca17d3547ef2f00dd917a1b2fa656d3:-1992154457,e891797529ef2f006ee1d368c0987af5:1138035857,8801757536ef2f00e052bec2c41e47b8:767021111,c34e21f1e7ef2f005a8cd40159f6b225:-422116270,ae7255d40a632b0052c4a59f1f59c07c:1413128361,172291d4b3632b00211182e78afe5c86:704574177,052e49507e632b004a69b999d608ce67:820049742,4b0e055012632b0022cab181383511dd:1375025016,54ed815075632b004cf845a4770f5b70:1535232323,2edaabfff91fa70084c9e5d27ad2f925:-2007522178,295a63ff961fa700f787c6e0fb47c34e:-688901619,202a6fbf691fa70077d1374c9914fa87:-139632819,2ae9e3bf7a1fa70012e36875b1078990:1575826570,dd69ef7fd81fa700fe1681314e4a2c33:1809124750,3639eb7f6e1fa70077a03d0f62e20ade:1226141613,96096b7f501fa70056b030eacd544d36:-1783962219,6788a37fb31fa700904e24d8b1e1ab96:-1296734429,2588eb3fe51fa700860417f60e6f6cb9:-1491638391,5337a33b211fa700a71ec0d61570ab52:-1653606852,4e07233b6f1fa700c23f976b4c973f2c:1679664734,bd7627f7981fa700482280f0fb70952d:1238442562,33f5ef77441fa700b92ea9f6dd9027df:-1564347586,4985af77ae1fa7002bdacc3442696ca3:-1881093152,fa942bb3c11fa70036ae5ae3247c2638:1328221931,d92463333a1fa700808d6dcccdd94d07:-2056404605,d7732fff30dba7006617260ed0123407:-678575696,252367ff1edba700c8eebd13354d403b:-1915107658,f2ef6c33e753a7004d348bfca1bf89a6:2031952502,accc20fbff13a70035d9b0ed50a5e40c:-267227122,3caca8bb6a13a7008e181998d9bf20df:-1855845577,e76c28bb4213a7006efd76f29d77bbf0:52146043,145c28bb1013a700e4fd75d656208faa:-280971276,163ca0bb3813a7009918d3053b225d2e:936058594,b83ce4bb5e13a700c82759e50f5b9a01:1021260855,0e3ba03b3f13a7007eedabefb37e5ec8:1198640375,680ba03bb313a700d2fa6c3a43ee7365:-557124700,bfdaa03be113a7009653e01800a8dfc1:1653081178,9adaa03bb513a7006134c255c420635e:991362946,40aaecf7f013a700bf752c8cb2b3d152:2003344747,4b7ae8f72513a700913d92ebea1401d4:1415383277,725ae8f7ff13a7008eece8245f922db8:-1802578393,efe920b79d13a70087d9a9ce9b96beca:1414840080,aca9a0b7e013a70002d56b3d6aaf7068:-1194220767,588920b78513a7004b8a5b69944429c0:-1713024028,b839a4b33113a700905f2e9336d45f7a:-593196677,c519a4b37a13a700bc122c8dc4639bdd:289694744,25a8a4b3bb13a700657a30f93b8f894e:-1039486036,262824733913a700b9129f812e5ced2b:-484803097,424760737013a7001e8195bd1ae268eb:721721056,e7176073e013a7006230936b66df514f:1361212692,37076cff95df6700bb2b2b0332721d46:1607769858,a8c6e433d013a700232f09ffcfd007ec:-446109696,9876a033ad13a700870e36aaf6fb169c:-1154898229,bc166cff52df6700da742d6256e124e6:-1731292989,75b5e8bf70df67001cfee6f91269419a:-1763421267,6e85a8ff7fdf67005d48b6b7fdc4c5dd:1982250504,de54e8bf15df67006a35cc9ce950448f:-314408939,05f364bfcbdf6700bb40443736b9415d:1771272264,39d364bf4cdf6700a84cd501734a7102:-925093046,d9e1287b97df670049208d7460348ccb:1720909826,2861e0f712df67002d49ce9f588f01d9:-635926004,7911e4b708df6700ed0f361799d08e56:-1220451895,3e0124b73fdf67001280a6099c1b0d55:-1054502063,9ce06077d3df6700782765948a286ae0:1131799222,32c0607795df67007d63d6bbf49e01da:1778525496,3020683701df6700a7f2024c49b9c629:-1277543040,9000a43703df670097bf3f64dedd57a4:1464124989,3fef94374ddf67009be2c45b3dd0e494:913899904,accf50376bdf6700b41c02a590efab5a:-1170607550,338f5cf303df67008ed52664112516d1:1231206398,f2fe90f33ddf670026942ead92000a7e:-2028692926,183e9473e1df670034ba74ce8c387202:917322087,17bcd473a6df6700b79fb9d360bf8783:254447711,7a9c903f6c9f67003486873206474f07:-1330500991,4f4a18ff8d9f6700c763e3f6b4e6869b:1577690721,22533befec1f6700439057725a686335:1836683541,0443f3ef1f1f670061bd019c04aa9942:146328785,fe13b7ef1c1f67008b67329be2b12e17:1168336400,1b03f3efd01f67002fb8061ab0a048a3:-1410573148,92e27bafec1f67003e8e5f15587f2997:1168336400,46a27faf191f67003ce6b6ae8714c62f:-1704192157,3c627baf8a1f67006780b25677804a3e:-818349770,5c223baf081f6700f1dd1e080308c9e1:-1806258469,0801fb2fea1f670084dd6b7cb3bfdc40:-1684836044,e712d3e398db6700dbfd7274825fba8a:-1273409367,c7f1dfa37ddb670067040f493561b3b9:792812027,d6a113a35edb6700b529610ebe96cda2:-1133503915,a78483e3039b670077a15dd8af364a21:761270897,fbb387a3c79b670003a588322193ef89:801004886,4f62cf23259b67000daf705d2a1a7fb2:1012559302,d852cf23c99b670018ffef4fb6e8803a:1968519788,cc220f236a9b67004681353573be0cb4:-1074376483,68f10f23499b6700cd419d7367d5e5aa:375596478,76d1cb233a9b6700c92955162e948c39:1688571659,93d00fefcc5b670044c22ef32653caa7:-327744828,b43007ef395b670079ae8afd8616581e:-1822958621,f40003ef675b670076ba547332c55537:248483207,b2ff32ef175b67005febbff8c76d0184:580282268,91bfbeaf6e5b6700f34fdc1b41ab9316:1854027034,4a9fbeaf8d5b6700d9a167acbb5bf904:-2053756352,a03ff6af7c5b67000548a6f831d758cb:-861749941,f21ffe6f575b6700bcf1436da6c93d9f:118807941,bbed7aeb585b6700f727db63d39088ec:844876540,a8dc36eb3a5b67002f54f105214a26b1:-1871666660,d6bcf2abb65b6700d257a39f37f780d9:-1204936196,8f9c3e6b855b67004def8c1136c9d390:-396413433,5e8cfe6bf75b670020f5a8b52fc09aec:-889116754,5f5cfe6b5f5b6700ff17477bf0e2dbe5:1434131431,031c366b965b6700a99294761cd75a51:965285186,6bcab62b055b6700bc57a106879039a0:2113165276,7faab6a72f5b6700300d664992309232:331108328,8c12ba63665b670049118b80903ddc61:1272900319,aaa13263455b6700be7f38de7687614e:703664865,5641fa23135b67005cf727b0489a7df6:-893796715,e5e0b623c35b67005821375a7e48a326:1011905584</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-body-html-template.html",
    "content": "<div class=\"sassvars panel panel-{{options.context}}\">\n  <div class=\"panel-body\" ng-if='data.instance_table.readable'>\n    <div class=\"item-header\">\n      <span id=\"header-title\">{{::data.title}}</span>\n    </div>\n    <div class=\"item-link\" ng-if='::data.instance_table.list_page'>\n      <a ng-href=\"?id={{data.instance_table.list_page}}&t={{data.instance_table.name}}\">View all ></a>\n    </div>\n    <div class=\"item-devices\" ng-if='::(data.missingConfig==false && !data.panel_button)'>\n      <a ng-repeat=\"item in data.instance_table.dataSet\" href ng-click='goPanel(item)'>\n        <div class=\"device-container\">\n          <img ng-if=\"item.image.displayValue!=''\" src=\"{{item.image.displayValue}}\"/>\n          <img ng-if=\"item.image.displayValue==''\" src=\"not-found.png\"/>\n          <div class=\"device-name\"><span>{{item.name.displayValue}}</span></div>\n          <div ng-if=\"item.subcaption\" class=\"device-subcaption\"><span ng-if=\"item.subcaption\">{{item.subcaption.displayValue}}</span></div>  \n        </div>\n      </a>\n    </div>\n    <div class=\"item-devices\" ng-if='::(data.missingConfig==false && data.panel_button)'>\n      <div class='panel panel-{{options.panel_button_context}}' ng-repeat=\"item in data.instance_table.dataSet\" ng-click='goPanel(item)'>\n        <div class='panel-body item-panel'>\n          <img ng-if=\"item.image.displayValue!=''\" src=\"{{item.image.displayValue}}\"/>\n          <img ng-if=\"item.image.displayValue==''\" src=\"not-found.png\"/>\n          <div class='item-text'>\n            <div class=\"device-name\"><span>{{item.name.displayValue}}</span></div>\n            <div ng-if=\"item.subcaption\" class=\"device-subcaption\"><span ng-if=\"item.subcaption\">{{item.subcaption.displayValue}}</span></div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class='panel panel-warning' ng-if='::data.missingConfig'>\n      <div class='panel-heading'>\n        Missing Configuration\n      </div>\n      <div class='panel-body bg-warning'>\n        <div ng-if='::!c.table.isValid'>\n          Please configure a table in the Instance Options (Ctrl+RightClick)\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-client-script.js",
    "content": "function($scope,$location) {\n\t/* widget controller */\n\tvar c = this;\n\t\n\t$scope.goPanel = function(item){\n\t\tvar href = '?id='+ $scope.data.instance_table.detail_page +'&table='+ $scope.data.instance_table.name +'&sys_id=' + item.sys_id.value;\n\t\t$location.url(href);\n\t}\n\n\t//Change the expiry date format\n\t$scope.data.instance_table.dataSet.forEach(function(item) {\n\t\tif (item.expires !== '') {\n\t\t\titem.expires = moment(item.expires).format('MMM D YYYY');\n\t\t}\n\t});\n}"
  },
  {
    "path": "src/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-css.css",
    "content": "$link-font-color: $brand-warning !default;\n\n.sassvars {\n  --title-color: $text-color;\n  --annotation-color: $text-color;\n\n  --bs-context-default: $brand-default;\n  --bs-context-primary: $brand-primary;\n  --bs-context-success: $brand-success;\n  --bs-context-warning: $brand-warning;\n  --bs-context-danger: $brand-danger;\n  --bs-context-info: $brand-info;\n}\n.panel-{\n  background-color: transparent !important;\n}\n.panel{\n  padding-top: 15px;\n  padding-bottom: 15px;\n  border: unset !important;\n  border-radius: unset !important;\n  box-shadow: unset !important;\n}\n.panel-body{\n  margin: 25px 0 25px 0;\n}\n.panel-warning{\n  max-width: 50%;\n  margin:0 auto;\n  background-color: unset !important;\n  .panel-body{\n    margin: 0 !important;\n    padding: 15px !important;\n    color: #B33A3A;\n  }\n}\n.item-header {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 18px;\n\tfont-size: 30px;\n\tfont-weight: bold;\n\tletter-spacing: -0.51px;\n\tline-height: 50px;\n\ttext-align: center;\n}\n\n.item-link {\n  display: flex;\n  font-weight: normal;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 20px;\n  a{\n    color: $link-font-color;\n    font-size: 21px;\n    font-weight: normal;\n    height: 27px;\n    letter-spacing: -0.3px;\n  }\n}\n\n.item-devices {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-end;\n  justify-content: space-evenly;\n  max-height: 265px;\n  .panel{\n    max-width: 315px;\n    height: 180px;\n    //padding: 0px 25px;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: flex-end;\n    justify-content: space-evenly;\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n    .item-panel{\n      display: flex;\n      flex-wrap: wrap;\n      align-items: flex-end;\n      justify-content: space-evenly;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n      padding: 15px;\n      img{\n        max-height: 92px;\n        height: 100%;\n        width: auto;\n        float: left;\n        display: inline-flex;\n      }\n      .item-text{\n        min-width: 155px;\n        max-width: calc( 33% - 112px );\n        width: 100%;\n        display: inline-flex;\n        margin-left: 15px;\n        text-align: left;\n        .device-name {\n          font-size: 21px;\n          span {\n            display: inline-block;\n            text-align: left;\n            width: 100%;\n            white-space: normal;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            margin: 0;\n          }\n        }\n      }\n    }\n  }\n}\n/* Child directive styles */\n.device-container {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  img{\n    min-height: 150px;\n    max-height: 175px;\n    width: auto;\n    height: 100%;\n  }\n}\n\n.device-name {\n  font-size: 21px;\n\n  span {\n    display: inline-block;\n    text-align: center;\n    width: 250px;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    margin: 0 32px;\n  }\n\n}\n\n.device-subcaption {\n  color: $text-muted;\n  font-size: 16px;\n  min-height: 25px;\n}\n\ndevice-card {\n  flex: 1 0;\n\n  a {\n    display: contents;\n  }\n\n  img {\n    max-width: 310px;\n    max-height: 240px;\n  }\n}"
  },
  {
    "path": "src/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-link-script.js",
    "content": "function link($scope,$el,$attrs,$ctrl){\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.title_color && $scope.options.title_color.length > 0){\n\t\tsass.style.setProperty('--title-color', $scope.options.title_color);\n\t}\n\tif($scope.options.annotation_color && $scope.options.annotation_color.length > 0){\n\t\tsass.style.setProperty('--annotation-color', $scope.options.annotation_color);\n\t}\n\t\n}\n"
  },
  {
    "path": "src/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-option-schema.json",
    "content": "[\n    {\"displayValue\":\"Table\",\"hint\":\"Name of table to retrieve data from - e.g. task\",\"name\":\"table\",\"section\":\"Data\",\"label\":\"Table used to query data\",\"type\":\"reference\",\"value\":\"sys_db_object\",\"ed\":{\"reference\":\"sys_db_object\"}},\n    {\"hint\":\"Field name to use for the image caption\",\"name\":\"name_field\",\"section\":\"Data\",\"default_value\":\"short_description\",\"label\":\"Field name in table to use for the image caption\",\"type\":\"string\"},\n    {\"hint\":\"Additional text for sub-caption - e.g. Expiration Date\",\"name\":\"subcaption_field\",\"section\":\"Data\",\"label\":\"Field name in table to use for the image sub-caption\",\"type\":\"string\"},\n    {\"hint\":\"Field name in table for storing an image on the record\",\"name\":\"image_field\",\"section\":\"Data\",\"default_value\":\"\",\"label\":\"Field name in table  to use for the image\",\"type\":\"string\"},\n    {\"hint\":\"Limit query results to current user. Expects field named - assigned_to\",\"name\":\"limit_to_user\",\"section\":\"Data\",\"default_value\":\"true\",\"label\":\"Limit to User - Limit query results to current user. Expects field named - assigned_to\",\"type\":\"boolean\"},\n    {\"hint\":\"Additional query parameters to help reduce data set\",\"name\":\"encoded_query\",\"section\":\"Data\",\"label\":\"Additional Data Filter - using Encoded Query format, e.g.  active=true^start_date=today\",\"type\":\"string\"},\n    {\"hint\":\"Service Portal target page to view data in a larger list\",\"name\":\"list_page\",\"section\":\"Data\",\"label\":\"List Page Target - Target Page for View All panel header link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},\n    {\"hint\":\"Service Portal target page to view or edit an individual item\",\"name\":\"detail_page\",\"section\":\"Data\",\"label\":\"Detail Page Target - Detail page target for item menu 'View Details' link\",\"type\":\"reference\",\"value\":\"sp_page\",\"ed\":{\"reference\":\"sp_page\"}},\n    {\"hint\":\"View to use when target detail page is a form\",\"name\":\"view\",\"section\":\"Data\",\"default_value\":\"default\",\"label\":\"View name used by Detail Page Target - leave empty to use default view\",\"type\":\"reference\",\"value\":\"sys_ui_view\",\"ed\":{\"reference\":\"sys_ui_view\"}},\n    {\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the header and border to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},\n    {\"name\":\"panel_button\",\"section\":\"Presentation\",\"default_value\":\"false\",\"label\":\"Show as items as clickable panel button\",\"type\":\"boolean\"},\n    {\"name\":\"panel_button_context\",\"section\":\"Presentation\",\"default_value\":\"default\",\"label\":\"Clickable Panel Button context - Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]}\n]"
  },
  {
    "path": "src/pe-highlight-user-assets/widget/pe-highlight-user-assets.u-server-script.js",
    "content": "(function() {\n\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\n\tdata.title = options.title;\n\toptions.limit_to_user = (options.limit_to_user=='true');\n\tdata.panel_button = (options.panel_button=='true');\n\t\n\t/* 'q' - URL parameter for adding a filter to the dataset dynamically */\n\toptions.encoded_query = options.encoded_query || $sp.getParameter('q');\n\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tdata.instance_table = {\n\t\treadable: true,\n\t\tcount: 0,\n\t\tdataSet : [],\n\t\tdetail_page: undefined,\n\t\tdetail_view: undefined,\n\t\timage: options.image_field,\n\t\tisValid : false,\n\t\titemMenu: [],\n\t\tlabel : undefined,\n\t\tlist_page: undefined,\n\t\tpages: [],\n\t\tshowActions: false,\n\t\tsys_id: options.table\n\t};\n\n\ttry{\n\t\tvar grTableMeta = new GlideRecord('sys_db_object');\n\t\tif(data.instance_table.table){\n\t\t\tgrTableMeta.addQuery('name',data.instance_table.table);\t\n\t\t}else{\n\t\t\tgrTableMeta.addQuery('sys_id',data.instance_table.sys_id);\t\n\t\t}\n\t\t\n\t\tgrTableMeta.query();\n\t\t\n\t\tif(grTableMeta.next()){\n\t\t\tdata.instance_table.sys_id = grTableMeta.getUniqueValue();\n\t\t\tdata.instance_table.name = grTableMeta.getDisplayValue('name');\n\t\t\tdata.instance_table.label = grTableMeta.getDisplayValue('label');\n\t\t}else{\n\t\t\tdata.missingConfig = true;\n\t\t\treturn;\n\t\t}\n\t\t\n\t\t// If provided, get the sys_id of the List Page from the Option (Instance) Schema\n\t\tif (options.list_page) {\n\t\t\tvar list_page = new GlideRecordSecure('sp_page');\n\t\t\tif (list_page.get(options.list_page))\n\t\t\t\tdata.instance_table.list_page = list_page.getDisplayValue('id');\n\t\t}\n\n\t\t// If provided, get the sys_id of the Detail Page from the Option (Instance) Schema\n\t\tif (options.detail_page) {\n\t\t\tvar detail_page = new GlideRecordSecure('sp_page');\n\t\t\tif (detail_page.get(options.detail_page)){\n\t\t\t\tdata.instance_table.detail_page = detail_page.getDisplayValue('id');\n\t\t\t\tdata.instance_table.showActions = true;\n\t\t\t}\n\t\t}\n\n\t\t// If provided, get the name of the View from the Option (Instance) Schema\n\t\tif (options.view) {\n\t\t\tvar view_name = new GlideRecordSecure('sys_ui_view');\n\t\t\tif (view_name.get(options.view))\n\t\t\t\tdata.instance_table.detail_view = view_name.getDisplayValue('name');\n\t\t}\n\t\t\n\t\t/* Table to use */\n\t\t//grValid - Used for table and field validation only\n\t\tvar grValid = new GlideRecord(data.instance_table.name);\n\t\tvar grTable = new GlideRecordSecure(data.instance_table.name); // does ACL checking for us\n\t\tdata.instance_table.readable = grTable.canRead();\n\t\t\n\t\tif(data.instance_table.readable){\n\t\t\t//Validate if table exists\n\t\t\tdata.instance_table.isValid = grValid.isValid();\n\t\t\tif(!data.instance_table.isValid){\n\t\t\t\tthrow('Missing Table Configuration');\n\t\t\t}\n\n\t\t\t// If select, limit the results to the current user based on the Option (Instance) Schema\n\t\t\tif(options.limit_to_user){\n\t\t\t\tgrTable.addQuery('assigned_to',currentUser.getID());\n\t\t\t}\n\n\t\t\t// If provided, append the additional filter criteria to the GlideRecord from the Option (Instance) Schema\n\t\t\tif(options.encoded_query){\n\t\t\t\tgrTable.addEncodedQuery(options.encoded_query);\n\t\t\t}\n\n\t\t\t// LETS GO!\n\t\t\tgrTable.query();\n\t\t\twhile(grTable.next()){\n\t\t\t\t//Lets build our data set\n\t\t\t\tvar record = {};\n\t\t\t\trecord.sys_id = { displayValue: grTable.getUniqueValue(), value: grTable.getUniqueValue() };\n\n\n\t\t\t\tif(options.name_field){\n\t\t\t\t\trecord.name = { displayValue: grTable.getDisplayValue(options.name_field), value: grTable.getValue(options.name_field) };\t\n\t\t\t\t}\n\t\t\t\tif(options.image_field){\n\t\t\t\t\trecord.image = { displayValue: grTable.getDisplayValue(options.image_field), value: grTable.getValue(options.image_field) };\t\n\t\t\t\t}\n\t\t\t\tif(options.subcaption){\n\t\t\t\t\trecord.subcaption = { displayValue: grTable.getDisplayValue(options.subcaption_field), value: grTable.getValue(options.subcaption_field) };\t\n\t\t\t\t}\n\n\t\t\t\tdata.instance_table.dataSet.push(record);\n\t\t\t}\n\n\t\t\tdata.instance_table.count = grTable.getRowCount();\n\t\t\t\n\t\t\tif(data.instance_table.count<=0){\n\t\t\t\tdata.instance_table.readable = false;\n\t\t\t}\n\t\t}\n\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\tgs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n\t/* Function to Get our Field info */\n\tfunction getField(gr, name) {\n\t\tvar f = {};\n\t\tf.field = name;\n\t\tf.displayValue = gr.getDisplayValue(name);\n\t\tf.value = gr.getValue(name);\n\t\t\n\t\tvar ge = gr.getElement(name);\n\t\tif (ge == null)\n\t\t\treturn f;\n\n\t\tf.type = ge.getED().getInternalType();\n\t\tf.label = ge.getLabel();\n\t\treturn f;\n\t}\n})();"
  },
  {
    "path": "src/pe-icon-link-watson-translator/README.md",
    "content": "# Icon Link Watson Translator\n\n## Description\n\nAn extension of the [Icon Link](https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/build/service-portal/concept/icon-link-widget.html) out-of-box widget that uses [IBM Watson](https://www.ibm.com/watson) to perform language translation.\n\n## Screenshots\n\n### Source Language: English\n\n![Source Language: English](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-icon-link-watson-translator/images/source-language-english.png)\n\n### Target Language: Korean\n\n![Target Language: Korean](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-icon-link-watson-translator/images/target-language-korean.png)\n\n## Additional Information/Notes\n\nThis widget utilizes the IBM Watson [Language Translator](https://www.ibm.com/watson/services/language-translator/) service that uses deep learning to programmatically translate text from one language to another. Simply choose the target language in the widget options to perform translations.\n\n## Installation\n\nDownload and install update set **[pe-icon-link-watson-translator.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-icon-link-watson-translator/pe-icon-link-watson-translator.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/madrid-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### IBM Watson Setup\n\nSign up for an [IBM Cloud account](https://dataplatform.cloud.ibm.com/registration/stepone) or simply log in. After that, create a service for the [Language Translator](https://www.ibm.com/watson/services/language-translator/). Then get the API Key that will be needed for authentication in your ServiceNow instance. A basic auth profile will need to be added for the Watson Language Translator REST Message provided in the update set; with _apikey_ as the username and the actual API Key as the password.\n\n### Widget Option Schema\n\nSee the [Icon Link](https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/build/service-portal/concept/icon-link-widget.html) widget for more information on instance options. This extension provides a new option for language translation: `Translate to`.\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Card\",\n  \"common-name\": \"Icon Link Watson Translator\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Steven Gregory\"],\n  \"keywords\": [\"Watson\", \"Language Translator\", \"Widget\"],\n  \"name\": \"pe-icon-link-watson-translator\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"An extension of the Icon Link out-of-box widget that uses IBM Watson to perform language translation.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/pe-icon-link-watson-translator.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-04-05 01:25:56\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Icon Link Watson Translator</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>6e66e212dbe0ff0093b79cb8db961939</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>68ae8cbadb24374057a7f03d0f961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_4a3ca616dbe0ff0093b79cb8db961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message\"><sys_rest_message action=\"INSERT_OR_UPDATE\"><access>package_private</access><authentication_type>no_authentication</authentication_type><basic_auth_password/><basic_auth_profile/><basic_auth_user/><description/><name>Watson Language Translator</name><oauth2_profile/><protocol_name/><rest_endpoint>https://gateway.watsonplatform.net/language-translator/api/v3/translate?version=2018-05-01</rest_endpoint><sys_class_name>sys_rest_message</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-04-03 23:37:46</sys_created_on><sys_id>4a3ca616dbe0ff0093b79cb8db961949</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Watson Language Translator</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_4a3ca616dbe0ff0093b79cb8db961949</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-04-03 23:38:22</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mutual_auth>false</use_mutual_auth></sys_rest_message></record_update>]]></payload>\n<payload_hash>1633507133</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>20ae8cbadb24374057a7f03d0f961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e5915dac0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>Watson Language Translator</target_name>\n<type>REST Message</type>\n<update_domain>global</update_domain>\n<update_guid>136c6a1646e0ff00ed2154b9acbc754a</update_guid>\n<update_guid_history>136c6a1646e0ff00ed2154b9acbc754a:1633507133,624c2a1678e0ff006da271e8b14fe617:838899573</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_headers_fdbcae16dbe0ff0093b79cb8db9619a7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_headers\"><sys_rest_message_fn_headers action=\"INSERT_OR_UPDATE\"><name>Content-Type</name><rest_message_function display_value=\"Translate\">e47cea16dbe0ff0093b79cb8db961986</rest_message_function><sys_class_name>sys_rest_message_fn_headers</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-04-03 23:40:22</sys_created_on><sys_id>fdbcae16dbe0ff0093b79cb8db9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Content-Type</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_headers_fdbcae16dbe0ff0093b79cb8db9619a7</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-04-03 23:40:22</sys_updated_on><value>application/json</value></sys_rest_message_fn_headers></record_update>]]></payload>\n<payload_hash>-1815914203</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>2cae8cbadb24374057a7f03d0f961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e59331ca0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>Content-Type</target_name>\n<type>HTTP Headers</type>\n<update_domain>global</update_domain>\n<update_guid>28ecee16d7e0ff007d329d451066bdf3</update_guid>\n<update_guid_history>28ecee16d7e0ff007d329d451066bdf3:-1815914203</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_headers_ccbcae16dbe0ff0093b79cb8db9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_headers\"><sys_rest_message_fn_headers action=\"INSERT_OR_UPDATE\"><name>Accept</name><rest_message_function display_value=\"Translate\">e47cea16dbe0ff0093b79cb8db961986</rest_message_function><sys_class_name>sys_rest_message_fn_headers</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-04-03 23:40:22</sys_created_on><sys_id>ccbcae16dbe0ff0093b79cb8db9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Accept</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_headers_ccbcae16dbe0ff0093b79cb8db9619b9</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-04-03 23:40:22</sys_updated_on><value>application/json</value></sys_rest_message_fn_headers></record_update>]]></payload>\n<payload_hash>1779922481</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>68ae8cbadb24374057a7f03d0f961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e593319f0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>Accept</target_name>\n<type>HTTP Headers</type>\n<update_domain>global</update_domain>\n<update_guid>ececee169ce0ff0048b882a7ee4463f1</update_guid>\n<update_guid_history>ececee169ce0ff0048b882a7ee4463f1:1779922481</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4cc6a612dbe0ff0093b79cb8db96191c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;standard&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function IconLinkTranslatorController() {\n  var c = this;\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.iconlink a label,h2 {\n  display: block;\n  font-size: 2.5rem;\n  font-weight: 300;\n  line-height: 1.1;\n  padding: 0;\n  margin: 0 0 10px 0;\n}\n\n/* TOP ICON ---------- */\n\na.top_icon {\n  display: block;\n  padding: 20px;\n  text-align: center;\n}\n\na.top_icon .fa {\n  display: block;\n  text-align: center;\n}\n\n/* CIRCLE ICON ---------- */\n\na.circle_icon {\n  display: block;\n  padding: 20px 0px 20px 70px;\n  position: relative;\n}\n\na.circle_icon .fa {\n  position:absolute;\n  left: 0px;\n  top: 10px;\n}\n\n/* COLOR BOX ---------- */\n\na.color_box {\n  display: block;\n  position: relative;\n  padding: 20px 20px 20px 82px;\n  border-radius: 4px;\n  margin-bottom: 20px;\n}\n\na.color_box .fa {\n  position:absolute;\n  left: 20px;\n  top: 20px;\n  width:42px;\n  text-align: center;\n}\n\n.icon-link-background-primary {\n  background-color: $brand-primary;\n}\n\n.icon-link-background-info {\n  background-color: $brand-info;\n}\n\n.icon-link-background-success {\n  background-color: $brand-success;\n}\n\n.icon-link-background-warning {\n  background-color: $brand-warning;\n}\n\n.icon-link-background-danger {\n  background-color: $brand-danger;\n}\n\n.icon-link-background-default {\n  background-color: $brand-primary;\n}\n\n.text-primary {\n  color: $brand-primary;\n\n  &amp;amp;:hover {\n    color: darken($brand-primary, 20%);\n  }\n}\n\n.text-info {\n  color: $brand-info;\n\n  &amp;amp;:hover {\n    color: darken($brand-info, 20%);\n  }\n}\n\n.text-success {\n  color: $brand-success;\n\n  &amp;amp;:hover {\n    color: darken($brand-success, 20%);\n  }\n}\n\n.text-warning {\n  color: $brand-warning;\n\n  &amp;amp;:hover {\n    color: darken($brand-warning, 20%);\n  }\n}\n\n.text-danger {\n  color: $brand-danger;\n\n  &amp;amp;:hover {\n    color: darken($brand-danger, 20%);\n  }\n}\n\n.text-default {\n  color: $brand-primary;\n\n  &amp;amp;:hover {\n    color: darken($brand-primary, 20%);\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance_link&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;type,url,sc_category,sc_cat_item,kb_topic,kb_article,kb_category,sp_page,title,short_description,color,class_name,glyph&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;icon-link-watson-translator&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Icon Link Watson Translator&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"link_template\",\"section\":\"Presentation\",\"label\":\"Template\",\"type\":\"choice\",\"choices\":[{\"label\":\"Top Icon\",\"value\":\"Top Icon\"},{\"label\":\"Circle Icon\",\"value\":\"Circle Icon\"},{\"label\":\"Color Box\",\"value\":\"Color Box\"}]},{\"name\":\"language\",\"section\":\"other\",\"default_value\":\"English\",\"label\":\"Translate to\",\"type\":\"choice\",\"choices\":[{\"label\":\"Arabic\",\"value\":\"Arabic\"},{\"label\":\"Chinese\",\"value\":\"Chinese\"},{\"label\":\"Czech\",\"value\":\"Czech\"},{\"label\":\"Danish\",\"value\":\"Danish\"},{\"label\":\"Dutch\",\"value\":\"Dutch\"},{\"label\":\"French\",\"value\":\"French\"},{\"label\":\"German\",\"value\":\"German\"},{\"label\":\"Hindi\",\"value\":\"Hindi\"},{\"label\":\"Italian\",\"value\":\"Italian\"},{\"label\":\"Japanese\",\"value\":\"Japanese\"},{\"label\":\"Korean\",\"value\":\"Korean\"},{\"label\":\"Polish\",\"value\":\"Polish\"},{\"label\":\"Portuguese\",\"value\":\"Portuguese\"},{\"label\":\"Russian\",\"value\":\"Russian\"},{\"label\":\"Spanish\",\"value\":\"Spanish\"},{\"label\":\"Swedish\",\"value\":\"Swedish\"},{\"label\":\"Turkish\",\"value\":\"Turkish\"}]}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var watson = new LanguageService();\n  var source = 'English';\n  data.title =\n    options.language === source ? options.title : watson.translate(options.title, options.language);\n  data.shortDescription =\n    options.language === source\n      ? options.short_description\n      : watson.translate(options.short_description, options.language);\n\n  var gr = $sp.getInstanceRecord();\n  data.href = $sp.getMenuHREF(gr);\n  data.target = options.target || '';\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-04-03 23:13:35&lt;/sys_created_on&gt;&lt;sys_id&gt;4cc6a612dbe0ff0093b79cb8db96191c&lt;/sys_id&gt;&lt;sys_mod_count&gt;23&lt;/sys_mod_count&gt;&lt;sys_name&gt;Icon Link Watson Translator&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4cc6a612dbe0ff0093b79cb8db96191c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-05 01:24:13&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"iconlink\"&gt;\n  &lt;!--// Top Icon --&gt;\n  &lt;a ng-if=\"::(options.link_template == 'Top Icon' || !options.link_template)\" ng-href=\"{{::data.href}}\" class=\"top_icon {{::options.class_name}}\" target=\"{{::data.target}}\"&gt;\n    &lt;div class=\"m-b fa fa-{{::options.glyph}} fa-4x {{::options.class_name}} text-{{::options.color}}\"&gt;&lt;/div&gt;\n    &lt;h2&gt;{{::c.data.title}}&lt;/h2&gt;\n    &lt;span class=\"text-muted\"&gt;{{::c.data.shortDescription}}&lt;/span&gt;\n  &lt;/a&gt;\n\n  &lt;!--// Circle Icon --&gt;\n  &lt;a ng-if=\"::(options.link_template == 'Circle Icon')\" ng-href=\"{{::data.href}}\" class=\"circle_icon {{::options.class_name}} text-{{::options.color}}\" target=\"{{::data.target}}\"&gt;\n    &lt;span class=\"fa fa-stack fa-2x\"&gt;\n      &lt;i class=\"fa fa-circle fa-stack-2x\"&gt;&lt;/i&gt;\n      &lt;i class=\"fa fa-{{::options.glyph}} fa-stack-1x fa-inverse\"&gt;&lt;/i&gt;\n    &lt;/span&gt;\n    &lt;h2&gt;{{::c.data.title}}&lt;/h2&gt;\n    &lt;span class=\"text-muted\"&gt;{{::c.data.shortDescription}}&lt;/span&gt;\n  &lt;/a&gt;\n\n  &lt;!--// Color Box --&gt;\n  &lt;a ng-if=\"::(options.link_template == 'Color Box')\" ng-href=\"{{::data.href}}\" class=\"color_box {{::options.class_name}} icon-link-background-{{::options.color}} text-white\" target=\"{{::data.target}}\"&gt;\n    &lt;div class=\"fa fa-{{::options.glyph}} fa-3x {{::options.class_name}}\"&gt;&lt;/div&gt;\n    &lt;h2&gt;{{::c.data.title}}&lt;/h2&gt;\n    &lt;span&gt;{{::c.data.shortDescription}}&lt;/span&gt;\n  &lt;/a&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>201250463</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>6cae8cbadb24374057a7f03d0f961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169eb189f620000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>Icon Link Watson Translator</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>273e08ba3a2437401fe2f1f84afe78a3</update_guid>\n<update_guid_history>273e08ba3a2437401fe2f1f84afe78a3:201250463,ffcdc0ba8c243740440adcfd56047796:-295362527,e8cd80bac6243740621fa6d466c20124:-1771460912,abad8c7a19243740a5088c75f5f13c37:-383676971,5a5c007abd24374072c2a00709a2bc09:606950906,02fb083a46243740311c44d027dba3c8:-698726392,d89b843aa0243740c65869e3f3b798b4:-735255310,bac2fbaaa5e03740c63e01fd1f489bbe:584917433,fe60266a052cff00043af6051a5956e4:197924849,83a10aa6bde8ff0037a22dcb75145faf:2014492721,175186a6afe8ff000271cb1dcb60ff05:-658166214,4c704a6639e8ff00d0ae73e27fa58688:863510457,136efde2d0e8ff000125d31fe634ea3e:-2085455632,05dbf962cfe8ff001b71781b1edd8f59:-1682964407,c6ca7d6234e8ff007b09f69bee1df7d9:1234677854,037ab962dde8ff00f453c07ff827c7ef:-2051766418,9199bd22ade8ff00b6f8ed7c38dc9444:-1047129568,3329b92228e8ff00923931caf1a15200:-1085397435,ed0036d666e0ff000fa839df1e8073ee:590293369,5d9a22d218e0ff007d15e65045756a52:610716156,f30a6292b0e0ff00e8550738e651bb76:1732554341,6ba92e526ee0ff00c2bc11f7fa4dc21e:148234501,02482a5213e0ff00fd12e9ee2a645639:-1534209830,8cc6a6129ae0ff00fad2c97c1cfeb71d:1496463538</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_e47cea16dbe0ff0093b79cb8db961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn\"><sys_rest_message_fn action=\"INSERT_OR_UPDATE\"><authentication_type>inherit_from_parent</authentication_type><basic_auth_password/><basic_auth_profile/><basic_auth_user>steven.gregory</basic_auth_user><content>{&#13;\n  \"text\": \"${text}\", &#13;\n  \"model_id\": \"${model_id}\"&#13;\n}</content><function_name>Translate</function_name><http_method>post</http_method><lock>false</lock><oauth2_profile/><protocol_name/><qualified_name>Watson Language Translator [ Translate ]</qualified_name><rest_endpoint>https://gateway.watsonplatform.net/language-translator/api/v3/translate?version=2018-05-01</rest_endpoint><rest_message display_value=\"Watson Language Translator\">4a3ca616dbe0ff0093b79cb8db961949</rest_message><sys_class_name>sys_rest_message_fn</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-04-03 23:38:53</sys_created_on><sys_id>e47cea16dbe0ff0093b79cb8db961986</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Translate</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_e47cea16dbe0ff0093b79cb8db961986</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-04-03 23:40:34</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mid_server/><use_mutual_auth>false</use_mutual_auth></sys_rest_message_fn></record_update>]]></payload>\n<payload_hash>-617488766</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>a4ae8cbadb24374057a7f03d0f961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e5935fbd0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>Translate</target_name>\n<type>HTTP Method</type>\n<update_domain>global</update_domain>\n<update_guid>efec2256c3e0ff008895a7fcb88e7e2e</update_guid>\n<update_guid_history>efec2256c3e0ff008895a7fcb88e7e2e:-617488766,3e8cea1649e0ff0024f528205543c1a0:-759325163</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_224c2a16dbe0ff0093b79cb8db961915</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn\"><sys_rest_message_fn action=\"INSERT_OR_UPDATE\"><authentication_type>inherit_from_parent</authentication_type><basic_auth_password/><basic_auth_profile/><basic_auth_user/><content/><function_name>Default GET</function_name><http_method>get</http_method><lock>false</lock><oauth2_profile/><protocol_name/><qualified_name>Watson Language Translator [ Default GET ]</qualified_name><rest_endpoint>steven.gregory</rest_endpoint><rest_message display_value=\"Watson Language Translator\">4a3ca616dbe0ff0093b79cb8db961949</rest_message><sys_class_name>sys_rest_message_fn</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-04-03 23:37:46</sys_created_on><sys_id>224c2a16dbe0ff0093b79cb8db961915</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Default GET</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_224c2a16dbe0ff0093b79cb8db961915</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-04-03 23:37:46</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mid_server/><use_mutual_auth>false</use_mutual_auth></sys_rest_message_fn></record_update>]]></payload>\n<payload_hash>-1271600893</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>e0ae8cbadb24374057a7f03d0f961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e590d0490000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>Default GET</target_name>\n<type>HTTP Method</type>\n<update_domain>global</update_domain>\n<update_guid>624c2a16cbe0ff0016d260f67de97816</update_guid>\n<update_guid_history>624c2a16cbe0ff0016d260f67de97816:-1271600893</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_5668aa52dbe0ff0093b79cb8db961986</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.LanguageService&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;LanguageService&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var LanguageService = Class.create();\nLanguageService.prototype = {\n  initialize: function() {},\n  getModel: function(model) {\n    var language;\n    var languages = {\n      Arabic: function() {\n        language = 'ar';\n      },\n      Chinese: function() {\n        language = 'zh';\n      },\n      Czech: function() {\n        language = 'cs';\n      },\n      Danish: function() {\n        language = 'da';\n      },\n      Dutch: function() {\n        language = 'nl';\n      },\n      French: function() {\n        language = 'fr';\n      },\n      German: function() {\n        language = 'de';\n      },\n      Hindi: function() {\n        language = 'hi';\n      },\n      Italian: function() {\n        language = 'it';\n      },\n      Japanese: function() {\n        language = 'ja';\n      },\n      Korean: function() {\n        language = 'ko';\n      },\n      Polish: function() {\n        language = 'pl';\n      },\n      Portuguese: function() {\n        language = 'pt';\n      },\n      Russian: function() {\n        language = 'ru';\n      },\n      Spanish: function() {\n        language = 'es';\n      },\n      Swedish: function() {\n        language = 'sv';\n      },\n      Turkish: function() {\n        language = 'tr';\n      }\n    };\n    (languages[model] || languages['default'])();\n    return language;\n  },\n  translate: function(text, target) {\n    var model = 'en' + '-' + this.getModel(target);\n    try {\n      var r = new sn_ws.RESTMessageV2('Watson Language Translator', 'Translate');\n      r.setStringParameterNoEscape('text', text);\n      r.setStringParameterNoEscape('model_id', model);\n      var response = r.execute();\n      var responseBody = response.getBody();\n      var result = JSON.parse(responseBody);\n      return result.translations[0].translation;\n    } catch (ex) {\n      console.log(ex);\n    }\n  },\n\n  type: 'LanguageService'\n};\n]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-04-03 23:21:32&lt;/sys_created_on&gt;&lt;sys_id&gt;5668aa52dbe0ff0093b79cb8db961986&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;LanguageService&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_5668aa52dbe0ff0093b79cb8db961986&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-04 14:56:47&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1466545492</payload_hash>\n<remote_update_set display_value=\"Icon Link Watson Translator\">68ae8cbadb24374057a7f03d0f961990</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-05 01:25:56</sys_created_on>\n<sys_id>ecae8cbadb24374057a7f03d0f961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e8da302b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-05 01:25:56</sys_updated_on>\n<table/>\n<target_name>LanguageService</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>64ae752667e8ff0079ad3030e0e802e4</update_guid>\n<update_guid_history>64ae752667e8ff0079ad3030e0e802e4:1466545492,0dfb39a2cce8ff0093798c851936722c:436060290,892af562b8e8ff00654bfe39b92d2a7d:-1070336158,3b107ad65ae0ff00a4177f8374a1a8eb:351743184,edafe2d651e0ff003c56d6f6653ef7d2:-804216570,d04ee2963ce0ff0001c039784cc8034a:-2044953571,ac982e52f0e0ff00f68e4168124f7817:1162961873</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/script-include/pe-icon-link-watson-translator.u-server-script.js",
    "content": "var LanguageService = Class.create();\nLanguageService.prototype = {\n  initialize: function() {},\n  getModel: function(model) {\n    var language;\n    var languages = {\n      Arabic: function() {\n        language = 'ar';\n      },\n      Chinese: function() {\n        language = 'zh';\n      },\n      Czech: function() {\n        language = 'cs';\n      },\n      Danish: function() {\n        language = 'da';\n      },\n      Dutch: function() {\n        language = 'nl';\n      },\n      French: function() {\n        language = 'fr';\n      },\n      German: function() {\n        language = 'de';\n      },\n      Hindi: function() {\n        language = 'hi';\n      },\n      Italian: function() {\n        language = 'it';\n      },\n      Japanese: function() {\n        language = 'ja';\n      },\n      Korean: function() {\n        language = 'ko';\n      },\n      Polish: function() {\n        language = 'pl';\n      },\n      Portuguese: function() {\n        language = 'pt';\n      },\n      Russian: function() {\n        language = 'ru';\n      },\n      Spanish: function() {\n        language = 'es';\n      },\n      Swedish: function() {\n        language = 'sv';\n      },\n      Turkish: function() {\n        language = 'tr';\n      }\n    };\n    (languages[model] || languages['default'])();\n    return language;\n  },\n  translate: function(text, target) {\n    var model = 'en' + '-' + this.getModel(target);\n    try {\n      var r = new sn_ws.RESTMessageV2('Watson Language Translator', 'Translate');\n      r.setStringParameterNoEscape('text', text);\n      r.setStringParameterNoEscape('model_id', model);\n      var response = r.execute();\n      var responseBody = response.getBody();\n      var result = JSON.parse(responseBody);\n      return result.translations[0].translation;\n    } catch (ex) {\n      console.log(ex);\n    }\n  },\n\n  type: 'LanguageService'\n};\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/widget/pe-icon-link-watson-translator.u-body-html-template.html",
    "content": "<div class=\"iconlink\">\n  <!--// Top Icon -->\n  <a ng-if=\"::(options.link_template == 'Top Icon' || !options.link_template)\" ng-href=\"{{::data.href}}\" class=\"top_icon {{::options.class_name}}\" target=\"{{::data.target}}\">\n    <div class=\"m-b fa fa-{{::options.glyph}} fa-4x {{::options.class_name}} text-{{::options.color}}\"></div>\n    <h2>{{::c.data.title}}</h2>\n    <span class=\"text-muted\">{{::c.data.shortDescription}}</span>\n  </a>\n\n  <!--// Circle Icon -->\n  <a ng-if=\"::(options.link_template == 'Circle Icon')\" ng-href=\"{{::data.href}}\" class=\"circle_icon {{::options.class_name}} text-{{::options.color}}\" target=\"{{::data.target}}\">\n    <span class=\"fa fa-stack fa-2x\">\n      <i class=\"fa fa-circle fa-stack-2x\"></i>\n      <i class=\"fa fa-{{::options.glyph}} fa-stack-1x fa-inverse\"></i>\n    </span>\n    <h2>{{::c.data.title}}</h2>\n    <span class=\"text-muted\">{{::c.data.shortDescription}}</span>\n  </a>\n\n  <!--// Color Box -->\n  <a ng-if=\"::(options.link_template == 'Color Box')\" ng-href=\"{{::data.href}}\" class=\"color_box {{::options.class_name}} icon-link-background-{{::options.color}} text-white\" target=\"{{::data.target}}\">\n    <div class=\"fa fa-{{::options.glyph}} fa-3x {{::options.class_name}}\"></div>\n    <h2>{{::c.data.title}}</h2>\n    <span>{{::c.data.shortDescription}}</span>\n  </a>\n</div>"
  },
  {
    "path": "src/pe-icon-link-watson-translator/widget/pe-icon-link-watson-translator.u-client-script.js",
    "content": "function IconLinkTranslatorController() {\n  var c = this;\n}\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/widget/pe-icon-link-watson-translator.u-css.scss",
    "content": ".iconlink a label,h2 {\n  display: block;\n  font-size: 2.5rem;\n  font-weight: 300;\n  line-height: 1.1;\n  padding: 0;\n  margin: 0 0 10px 0;\n}\n\n/* TOP ICON ---------- */\n\na.top_icon {\n  display: block;\n  padding: 20px;\n  text-align: center;\n}\n\na.top_icon .fa {\n  display: block;\n  text-align: center;\n}\n\n/* CIRCLE ICON ---------- */\n\na.circle_icon {\n  display: block;\n  padding: 20px 0px 20px 70px;\n  position: relative;\n}\n\na.circle_icon .fa {\n  position:absolute;\n  left: 0px;\n  top: 10px;\n}\n\n/* COLOR BOX ---------- */\n\na.color_box {\n  display: block;\n  position: relative;\n  padding: 20px 20px 20px 82px;\n  border-radius: 4px;\n  margin-bottom: 20px;\n}\n\na.color_box .fa {\n  position:absolute;\n  left: 20px;\n  top: 20px;\n  width:42px;\n  text-align: center;\n}\n\n.icon-link-background-primary {\n  background-color: $brand-primary;\n}\n\n.icon-link-background-info {\n  background-color: $brand-info;\n}\n\n.icon-link-background-success {\n  background-color: $brand-success;\n}\n\n.icon-link-background-warning {\n  background-color: $brand-warning;\n}\n\n.icon-link-background-danger {\n  background-color: $brand-danger;\n}\n\n.icon-link-background-default {\n  background-color: $brand-primary;\n}\n\n.text-primary {\n  color: $brand-primary;\n\n  &:hover {\n    color: darken($brand-primary, 20%);\n  }\n}\n\n.text-info {\n  color: $brand-info;\n\n  &:hover {\n    color: darken($brand-info, 20%);\n  }\n}\n\n.text-success {\n  color: $brand-success;\n\n  &:hover {\n    color: darken($brand-success, 20%);\n  }\n}\n\n.text-warning {\n  color: $brand-warning;\n\n  &:hover {\n    color: darken($brand-warning, 20%);\n  }\n}\n\n.text-danger {\n  color: $brand-danger;\n\n  &:hover {\n    color: darken($brand-danger, 20%);\n  }\n}\n\n.text-default {\n  color: $brand-primary;\n\n  &:hover {\n    color: darken($brand-primary, 20%);\n  }\n}\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/widget/pe-icon-link-watson-translator.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"link_template\",\n    \"section\": \"Presentation\",\n    \"label\": \"Template\",\n    \"type\": \"choice\",\n    \"choices\": [\n      { \"label\": \"Top Icon\", \"value\": \"Top Icon\" },\n      { \"label\": \"Circle Icon\", \"value\": \"Circle Icon\" },\n      { \"label\": \"Color Box\", \"value\": \"Color Box\" }\n    ]\n  },\n  {\n    \"name\": \"language\",\n    \"section\": \"other\",\n    \"default_value\": \"English\",\n    \"label\": \"Translate to\",\n    \"type\": \"choice\",\n    \"choices\": [\n      { \"label\": \"Arabic\", \"value\": \"Arabic\" },\n      { \"label\": \"Chinese\", \"value\": \"Chinese\" },\n      { \"label\": \"Czech\", \"value\": \"Czech\" },\n      { \"label\": \"Danish\", \"value\": \"Danish\" },\n      { \"label\": \"Dutch\", \"value\": \"Dutch\" },\n      { \"label\": \"French\", \"value\": \"French\" },\n      { \"label\": \"German\", \"value\": \"German\" },\n      { \"label\": \"Hindi\", \"value\": \"Hindi\" },\n      { \"label\": \"Italian\", \"value\": \"Italian\" },\n      { \"label\": \"Japanese\", \"value\": \"Japanese\" },\n      { \"label\": \"Korean\", \"value\": \"Korean\" },\n      { \"label\": \"Polish\", \"value\": \"Polish\" },\n      { \"label\": \"Portuguese\", \"value\": \"Portuguese\" },\n      { \"label\": \"Russian\", \"value\": \"Russian\" },\n      { \"label\": \"Spanish\", \"value\": \"Spanish\" },\n      { \"label\": \"Swedish\", \"value\": \"Swedish\" },\n      { \"label\": \"Turkish\", \"value\": \"Turkish\" }\n    ]\n  }\n]\n"
  },
  {
    "path": "src/pe-icon-link-watson-translator/widget/pe-icon-link-watson-translator.u-server-script.js",
    "content": "(function() {\n  var watson = new LanguageService();\n  var source = 'English';\n  data.title =\n    options.language === source ? options.title : watson.translate(options.title, options.language);\n  data.shortDescription =\n    options.language === source\n      ? options.short_description\n      : watson.translate(options.short_description, options.language);\n\n  var gr = $sp.getInstanceRecord();\n  data.href = $sp.getMenuHREF(gr);\n  data.target = options.target || '';\n})();\n"
  },
  {
    "path": "src/pe-image-link/README.md",
    "content": "# Image Link\n\n## Description\n\nThe behavior of this widget is identical to that of the out of box \"Icon Link\" widget, only that it shows an image, custom text, and has a hover effect.\n\n## Screenshot\n\n![Image Link](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-image-link/images/pe-image-link.jpg)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-image-link.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-image-link/pe-image-link.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n* **Type:** The type of link, e.g. \"KB Article\". Will reveal another option to select the relevant record (e.g. an actual KB Article to link to)\n* **Page:** The page that the user should be taken to after clicking the link\n* **Image URL:** The URL of the image to use as the background of the box.\n* **Image Position:** The position of the background image. See MDN documentation on [background-position](https://developer.mozilla.org/en-US/docs/Web/CSS/background-position) for values.\n* **Title:** The text to show in the box.\n* **Order:** The order the boxes will be shown in, if there are multiple widgets in the same container.\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n| Variable Name          | Description                                           | Default Value                                                                  |\n|------------------------|-------------------------------------------------------|--------------------------------------------------------------------------------|\n| `$peil-color`          | The colour of the text                                | `white`                                                                          |\n| `$peil-border-radius`  | The rounding of the box                               | `4px`                                                                           |\n| `$peil-gradient`       | The subtle black shading that appears over the image  | `linear-gradient(0deg, rgba(0,0,0,0.71) 0%, rgba(0,0,0,0) 50%)`               |\n| `$peil-gradient-hover` | Same as above, but on hover (default will get darker) | `linear-gradient(0deg, rgba(0,0,0,2) 0%,rgba(0,0,0,0.3) 25%, rgba(0,0,0,0) 80%)` |\n| `$peil-shadow`         | The shadow under the box                              | `0 0 6px 0 rgba(0, 0, 0, .06)`                                                   |\n| `$peil-height`         | The height of the box                                 | `120px  `                                                                        |\n| `$peil-max-width`      | The maximum width that the box will expand to         |` auto `                                                                          |"
  },
  {
    "path": "src/pe-image-link/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Navigation\",\n  \"common-name\": \"Image Link\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Dylan Lindgren\"\n  ],\n  \"keywords\": [\n    \"widget\"\n  ],\n  \"name\": \"pe-image-link\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"The behavior of this widget is identical to that of the out of box \\\"Icon Link\\\" widget, only that it shows an image, custom text, and has a hover effect.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-image-link/pe-image-link.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-12-21 06:02:47\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>(PE) Image Link Widget</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>d63cb7df4fc7cf00a1af5a701310c76e</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dylan.lindgren</sys_created_by>\n<sys_created_on>2017-12-21 06:02:47</sys_created_on>\n<sys_id>3dc2b0ef4f4bcf00a1af5a701310c729</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dylan.lindgren</sys_updated_by>\n<sys_updated_on>2017-12-21 06:02:47</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_e59cfbdf4fc7cf00a1af5a701310c705</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ImageLinkController($location) {\n\n  var c = this;\n\n\tc.go = function () {\n\n\t\tif (c.options.type === 'url') {\n\t\t\twindow.location.href = c.data.href;\n\t\t} else {\n\t\t\t$location.url(c.data.href);\n\t\t}\n\t}\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$peil-color: white !default;\n$peil-border-radius: 4px;\n$peil-gradient: linear-gradient(0deg, rgba(0,0,0,0.71) 0%, rgba(0,0,0,0) 50%) !default;\n$peil-gradient-hover: linear-gradient(0deg, rgba(0,0,0,2) 0%,rgba(0,0,0,0.3) 25%, rgba(0,0,0,0) 80%) !default;\n$peil-shadow: 0 0 6px 0 rgba(0, 0, 0, .06);\n$peil-height: 120px !default;\n$peil-max-width: auto !default;\n\n.pe-image-link {\n  padding-bottom: 10px;\n}\n\n.peil-elem {\n  height: $peil-height;\n  background-color: grey;\n  border-radius: $peil-border-radius;\n  position: relative;\n  background-size: cover;\n  background-repeat: no-repeat;\n  box-shadow: $peil-shadow;\n  cursor: pointer;\n  max-width: $peil-max-width;\n  margin: 0px auto;\n}\n\n.peil-label {\n  color: $peil-color;\n  font-size: 25px;\n  font-weight: 600;\n  position: absolute;\n  bottom: 10px;\n  left: 15px;\n}\n\n.peil-shadow {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border-radius: 4px;\n  background: $peil-gradient;\n}\n\n.peil-elem:hover .peil-shadow {\n  background: $peil-gradient-hover;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_link&lt;/data_table&gt;&lt;demo_data&gt;{\"options\": &amp;#13;\n\t{&amp;#13;\n\t\t\"title\": \"Link title\",&amp;#13;\n\t\t\"image_url\": \"https://images.unsplash.com/photo-1490806843957-31f4c9a91c65?auto=format&amp;amp;fit=crop&amp;amp;w=750&amp;amp;q=80\",&amp;#13;\n\t\t\"image_pos\": \"center bottom\"&amp;#13;\n\t}&amp;#13;\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;type,sp_page,url,sc_category,sc_cat_item,kb_article,kb_category,kb_topic,order&lt;/field_list&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-image-link&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function peImageLinkLink(scope, elem, attr) {\n\n\tscope.style = {\n\t\t'background-image': 'url(' + scope.options.image_url + ')',\n\t\t'background-position': scope.options.image_pos || 'center'\n\t};\n\n}]]&gt;&lt;/link&gt;&lt;name&gt;PE Image Link&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"The URL of the image to use as the background of the box\",\"name\":\"image_url\",\"section\":\"Presentation\",\"default_value\":\"https://images.unsplash.com/photo-1490806843957-31f4c9a91c65?auto=format&amp;amp;fit=crop&amp;amp;w=750&amp;amp;q=80\",\"label\":\"Image URL\",\"type\":\"string\"},{\"hint\":\"Position of the image in the box. See https://developer.mozilla.org/en-US/docs/Web/CSS/background-position\",\"name\":\"image_pos\",\"section\":\"Presentation\",\"default_value\":\"center\",\"label\":\"Image Position\",\"type\":\"string\"},{\"hint\":\"The text for the link\",\"name\":\"title\",\"section\":\"Presentation\",\"default_value\":\"Link title\",\"label\":\"Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\n\tvar gr = $sp.getInstanceRecord();\n\tdata.href = $sp.getMenuHREF(gr);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dylan.lindgren&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-12-21 02:06:16&lt;/sys_created_on&gt;&lt;sys_id&gt;e59cfbdf4fc7cf00a1af5a701310c705&lt;/sys_id&gt;&lt;sys_mod_count&gt;103&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Image Link&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_e59cfbdf4fc7cf00a1af5a701310c705&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dylan.lindgren&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-12-21 05:55:49&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"pe-image-link\"&gt;\n  &lt;div class=\"peil-elem\" ng-style=\"::style\" ng-click=\"c.go()\"&gt;\n    &lt;div class=\"peil-shadow\"&gt;\n      &lt;div class=\"peil-label\"&gt;\n        {{::c.options.title}}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-994959835</payload_hash>\n<remote_update_set display_value=\"(PE) Image Link Widget\">3dc2b0ef4f4bcf00a1af5a701310c729</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dylan.lindgren</sys_created_by>\n<sys_created_on>2017-12-21 06:02:47</sys_created_on>\n<sys_id>fdc2b0ef4f4bcf00a1af5a701310c729</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16077a45fd00000001</sys_recorded_at>\n<sys_updated_by>dylan.lindgren</sys_updated_by>\n<sys_updated_on>2017-12-21 06:02:47</sys_updated_on>\n<table/>\n<target_name>PE Image Link</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>ef21b4afca4bcf004e717855a106d8c1</update_guid>\n<update_guid_history>ef21b4afca4bcf004e717855a106d8c1:-994959835,4721b4afa24bcf00023d6f0e89105306:-1272953650,a6d0fc6f644bcf0021d07a16fbf3e05d:-994959835,77a0b0afca4bcf003e11e7aaa7a3e1ca:-397880768,c2a0fc6fff4bcf00b2563131ac277ace:818726821,17ceec2fd94bcf0055ad3f354dbd0267:65635163,87596c6bbc4bcf0013a88e5188b9254e:1294793537,b039a86b884bcf0080a55115eaf08a79:-1222176748,1219a46be14bcf00ac09a3a6e549fb7e:-1152859148,5f88a06be94bcf007ce42b272183a01e:-1693785531,a167e42bb04bcf00115dafeebd2c954d:-1570018463,6947642bb74bcf009c56d25ced5b84a0:1153705849,c947642b2f4bcf00cea5af57b3b9c4c1:-1601708510,e4e6202bab4bcf00e975a44a7679aeb0:1153705849,ebb62ce73b4bcf00ec770f96018d611c:304624500,2a962ce7a24bcf00dd6da4c5e595ed7f:1759848315,53862ce75d4bcf0092c82c43d7201046:-726766795,f65668e7b44bcf00422d818da847a1e5:-2038427647,00f5a4e7184bcf008de411ed3428d045:733971606,8ae5e0e79e4bcf00ce8367758b37408f:1436982793,80e564e77f4bcf003e53d944a31d3431:452925507,8fb4e8a7354bcf00b3af711dc8424445:2111969986,f87bd0a3844bcf00464a00c5c6a7dffe:-1553577747,474b50a3cd4bcf00cc6817d073c282ad:-32917953,fb3bdc63f14bcf0021a31aa72dcb4d2c:-23140746,68ba1863b84bcf00ee3855d8faa5e008:-117795861,746a1863fb4bcf00bb5c55edde006700:-1972187024,062a5463764bcf0099a1eba6c8081280:1565491406,f4b89023704bcf00b8ae60d46657e434:1320131149,373894ef680bcf000532bef1f1921d36:-1272637105,2a5714ef6a0bcf00c4e77141956b283d:1916329596,8c5790efe70bcf00b5a2ff3613509d7d:-1639595557,ad2790ef480bcf00169d19cb352bc563:50493947,45e6d8eb040bcf000757d5479d885161:1456181321,4ba6186fb50bcf006460279883702db5:-1334478622,027700e7ea0bcf007bf830dbf7163c27:694870599,5df64ca7ab0bcf008926f8d77e26ba12:1214983258,02e60ca7c60bcf003a5a15121c13d020:2113830680,55e60ca71f0bcf00fe667a4ee02e3b1a:-501558266,8cd688a7670bcf0034d8b9c542887db7:-398171329,efc648a73d0bcf00ec4cc7dfa48957f0:-243841436,14c6c4a7bf0bcf000ce5fa627d7529f4:-398171329,8eb648a7b00bcf00e202a067ffe0846f:-1520562178,81b604a73e0bcf0064a6996e260ba04f:512069435,8ba6c4a7600bcf000ecfb6bd1b8846fb:-386777987,bf96c4a7a10bcf0094bfad790311f8eb:-1188157803,7f8684a7080bcf00f73627c704a57d93:906308503,937604a7e10bcf0020daed437c878083:237352237,f2e500a7580bcf005f7fab8d5d7da70d:-455379702,82e5cc67cf0bcf00e9fdf7e54bb83c92:-1948562682,cde58c67290bcf009392cf2d0ebf4a6a:-455379702,3cc50c67680bcf004da4e0eae2e97f6b:-1125274547,194548673e0bcf00925102e50152495f:498852677,32254867ee0bcf006f1d911ba388ae4d:-1098125106,121508675e0bcf00ba91eb6036b886c4:-751837716,2c150867120bcf00d58e807cdae0323e:1948181298,47058c27ef0bcf005d04fd223eacbd11:-90190933,4fd38c27690bcf0043409b1dcf5b0409:1569724320,6a230827920bcf0004c643698458c422:1940351335,b613c4279e0bcf00a8bc57027364f534:773682226,7513c427760bcf001aaa437a15e0d372:-1595214238,8813c427610bcf0018c250fbee66cc6c:1556033433,92030027ff0bcf00d39ae44d848510a6:-1012882370,99030027290bcf00a9c32ae683d693e3:-1599642280,28034027a10bcf0027094ddf3669fe18:293760512,d732cce3f10bcf00ba397c9a13395df8:-625723895,70124ce3540bcf0014f6f1427389544b:-1535660736,aff14ce3de0bcf0064fe39f417d98ff1:623955550,cde10ce3fe0bcf005d21c9fd42eea876:1958727870,f8e148e3850bcf0010279b084c726a5e:1951028873,8f8148e3050bcf00ab4969a30e07390a:-104908304,5e8108e3f40bcf0029e05e86bc6f86b6:108934809,d18108e3430bcf00b397a7b1e9186e99:-1963649062,3d4184e3010bcf00c9e8a85dd8c1282d:-44681074,df2104e3a30bcf004faf9dfb9ddb3413:-1679577181,8a1104e3290bcf00a0443b6ffce89b0b:501113042,fb0140e3970bcf000bc531012a795aec:1746125930,71900ca3ce0bcf009c1700d862b0c22e:-1414721594,5d900ca3570bcf00ecb34c53aa533524:-121542029,d280c8a3530bcf0026b2ab163824e150:-1414721594,f24008a3c80bcf00bcc94eb5b984915d:-177487247,d30008a3b10bcf00163f8a4223c32c36:696561035,ffff3b93210bcf008b63bec537055392:-1649288335,aeff3b93770bcf007ac488fef57e922d:705774318,2bef77939f0bcf003cc9eccf18e4e6ad:689456080,2caf7793b40bcf00fd4b1ec904ad90a7:726875508,459f3793e50bcf00206aaa1463255836:-627150390,6a8f3793d90bcf00973bcbb5b0ef97a3:726875508,e58ff393750bcf00e4f91458f01dac5a:1501212298,a37f3793440bcf000a412c21f6099c15:-627150390,727f3793d10bcf007d2b7d811853320f:726875508,b17ff393520bcf002865ca07b6f657f3:2050586933,bc7fff53170bcf00624bdf14420ef546:-1286547425,096f33937e0bcf001561334603aaed22:30652061,a6cefb53190bcf009e7386c1c93eff3e:-976416557,ebbebf53630bcf000afdc077c9685d50:-95943563,235ef7538f0bcf00e655166c9030cec8:154927701,733e7753470bcf0096fc47549b6913d8:2107966712,d72e3b53200bcf008caaf87635648b52:323366227,731e3b530c0bcf007ab72520e58f024c:1748557338,c81ef753590bcf00cdab09e4bf06adc1:-948896024,ef1d3bdfe8c7cf00b5a9277100b03acc:-1251658047,711d3bdfb4c7cf0086a69cc8fc1bc2c8:1809712708,cdacbfdff2c7cf007b96ae3ee32f850f:90138560</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-image-link/widget/pe-image-link.u-body-html-template.html",
    "content": "<div class=\"pe-image-link\">\n  <div class=\"peil-elem\" ng-style=\"::style\" ng-click=\"c.go()\">\n    <div class=\"peil-shadow\">\n      <div class=\"peil-label\">{{::c.options.title}}</div>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-image-link/widget/pe-image-link.u-client-script.js",
    "content": "function ImageLinkController($location) {\n  var c = this;\n\n  c.go = function() {\n    if (c.options.type === 'url') {\n      window.location.href = c.data.href;\n    } else {\n      $location.url(c.data.href);\n    }\n  };\n}\n"
  },
  {
    "path": "src/pe-image-link/widget/pe-image-link.u-css.scss",
    "content": "$peil-color: white !default;\n$peil-border-radius: 4px;\n$peil-gradient: linear-gradient(0deg, rgba(0, 0, 0, 0.71) 0%, rgba(0, 0, 0, 0) 50%) !default;\n$peil-gradient-hover: linear-gradient(\n  0deg,\n  rgba(0, 0, 0, 2) 0%,\n  rgba(0, 0, 0, 0.3) 25%,\n  rgba(0, 0, 0, 0) 80%\n) !default;\n$peil-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.06);\n$peil-height: 120px !default;\n$peil-max-width: auto !default;\n\n.pe-image-link {\n  padding-bottom: 10px;\n}\n\n.peil-elem {\n  height: $peil-height;\n  background-color: grey;\n  border-radius: $peil-border-radius;\n  position: relative;\n  background-size: cover;\n  background-repeat: no-repeat;\n  box-shadow: $peil-shadow;\n  cursor: pointer;\n  max-width: $peil-max-width;\n  margin: 0px auto;\n}\n\n.peil-label {\n  color: $peil-color;\n  font-size: 25px;\n  font-weight: 600;\n  position: absolute;\n  bottom: 10px;\n  left: 15px;\n}\n\n.peil-shadow {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border-radius: 4px;\n  background: $peil-gradient;\n}\n\n.peil-elem:hover .peil-shadow {\n  background: $peil-gradient-hover;\n}\n"
  },
  {
    "path": "src/pe-image-link/widget/pe-image-link.u-link-script.js",
    "content": "function ImageLink(scope, elem, attr) {\n  scope.style = {\n    'background-image': 'url(' + scope.options.image_url + ')',\n    'background-position': scope.options.image_pos || 'center'\n  };\n}\n"
  },
  {
    "path": "src/pe-image-link/widget/pe-image-link.u-server-script.js",
    "content": "(function() {\n  var gr = $sp.getInstanceRecord();\n  data.href = $sp.getMenuHREF(gr);\n})();\n"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/README.md",
    "content": "# Multi-Screen Catalog Item\n\n## Description\n\nThe Multi-Screen Catalog Item Widget allows catalog items to be broken up into smaller sections enabling a better user experience for your requestors. Walk your users slowly and painlessly through a larger catalog items instead of bombarding them with tens of variables at once! The widget applies a clean, modern look and retains all of the core functionality of the out-of-box widget.\n\n## Screenshots\n\n![Multi Screen Catalog Item](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-multi-screen-catalog-item/images/demo_low.gif)\n\n![Multi Screen Catalog Item](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-multi-screen-catalog-item/images/main-screen-blue.png)\n\n![Multi Screen Catalog Item](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-multi-screen-catalog-item/images/main-screen-red.png)\n\n## Additional Information/Notes\n\nThe widget works with standard catalog items as well as record producers. Upon opening any catalog item, the user will be presented with a display screen (picture, short description, and description) for the item before being prompted to fill in the item variables.\n\nThe widget is easily configurable with instance options and the colors can easily be change to meet any company palette with the use of SASS variables.\n\n## Installation\n\nDownload and install update set **[pe-multi-screen-catalog-item.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-multi-screen-catalog-item/pe-multi-screen-catalog-item.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/madrid-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Usage\n\nTo use the Multi-Screen Catalog Item Widget for one of your catalog items:\n\n1. Add a high definition image to the Picture field of the catalog item you are using.\n\n1. Make sure that the catalog item has a filled-out Short Description and Description.\n\n1. Add Container Start and Container End variables around groups of variables. This will form the different screens of variables in the widget.\n\n1. Make sure that the Container Start variables all display a title. These will be the headings for each screen in the widget.\n\n1. Point the user to the catalog item using the multicat Service Portal page with the following url: https://your-instance.service-now.com/sp?id=multicat&sys_id=sys_id-of-your-cat-item\n\n### Widget Option Schema\n\n| Option | Default Value |\n| :--- | :--- |\n| `Show Add Cart Button` | true |\n| `Show Delivery Time` | true |\n| `Show Price` | true |\n| `Redirect Page on Order Now` | sc_request |\n| `Redirect Page on Submit` | ticket |\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$si-mc-dark-color: #2d2b5d;\n$si-mc-light-text-color: #ffffff;\n$si-mc-action-background-color: #dddddd;\n$si-mc-max-height: 700px;\n$si-mc-background-color: #ffffff;\n$si-mc-indicator-background-color: #eeeeee;\n$si-mc-indicator-background-color-active: $si-mc-dark-color !default;\n$si-mc-field-label-color: $si-mc-dark-color !default;\n$si-mc-title-color: $si-mc-dark-color !default;\n$si-mc-indicator-color: $si-mc-dark-color !default;\n$si-mc-indicator-color-active: $si-mc-light-text-color !default;\n$si-mc-attachment-color: $si-mc-dark-color !default;\n$si-mc-attachment-btn-background-color: $si-mc-dark-color !default;\n$si-mc-attachment-pill-background-color: #eeeeee;\n$si-mc-attachment-btn-color: $si-mc-light-text-color !default;\n$si-mc-border-radius: 3px !default;\n$si-mc-action-bar-background-color: $si-mc-action-background-color;\n$si-mc-image-height: auto;\n$si-mc-image-width: auto;\n```\n"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"\",\n  \"common-name\": \"Multi-Screen Catalog Item\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"James Tandy\"],\n  \"keywords\": [\"Widget\", \"Catalog\", \"Catalog Item\"],\n  \"name\": \"pe-multi-screen-catalog-item\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"The Multi-Screen Catalog Item Widget allows catalog items to be broken up into smaller sections enabling a better user experience for your requestors. Walk your users slowly and painlessly through a larger catalog items instead of bombarding them with tens of variables at once! The widget applies a clean, modern look and retains all of the core functionality of the out-of-box widget.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/pe-multi-screen-catalog-item.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-05-01 04:28:47\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<application_name>Multi-Screen Catalog Item</application_name>\n<application_scope>x_snc_multicat</application_scope>\n<application_version>1.0.0</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description> </description>\n<inserted/>\n<name>Multi-Screen Catalog Item</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>32c1fe83db0d77001c3e35a27a9619e4</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>20d1b2c3db0d77001c3e35a27a9619d5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_e9efb7b2db71670074f7f2353a961999</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"McUtil\">dbf2673edbfd270074f7f2353a961928</sp_dependency><sp_js_include display_value=\"Service.McUtilContainers\">b4126ffadbfd270074f7f2353a9619a1</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 02:07:23</sys_created_on><sys_id>e9efb7b2db71670074f7f2353a961999</sys_id><sys_mod_count>1</sys_mod_count><sys_name>McUtil.Service.McUtilContainers</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_e9efb7b2db71670074f7f2353a961999</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 02:10:17</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>767996561</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>20d1b2c3db0d77001c3e35a27a9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7830000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>McUtil.Service.McUtilContainers</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_e2e1e7fadbfd270074f7f2353a961903</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Module.McUtil</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-19 23:56:52</sys_created_on><sys_id>e2e1e7fadbfd270074f7f2353a961903</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Module.McUtil</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_ui_script display_value=\"x_snc_multicat.Module.McUtil\">0fc063fadbfd270074f7f2353a9619c1</sys_ui_script><sys_update_name>sp_js_include_e2e1e7fadbfd270074f7f2353a961903</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-19 23:56:52</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>20890884</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>20d1b2c3db0d77001c3e35a27a9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d6f30000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Module.McUtil</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_eee2007edb326300f530c6fc3496193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy</sys_created_by><sys_created_on>2019-01-08 00:44:51</sys_created_on><sys_id>eee2007edb326300f530c6fc3496193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>VariablePoolQuestionSetJS.setCartID</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_eee2007edb326300f530c6fc3496193b</sys_update_name><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2019-01-08 00:44:51</sys_updated_on><target_name>VariablePoolQuestionSetJS.setCartID</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1343052289</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>20d1b2c3db0d77001c3e35a27a9619dc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d80f0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>VariablePoolQuestionSetJS.setCartID</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_dbf2673edbfd270074f7f2353a961928</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>McUtil</module><name>McUtil</name><page_load>true</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:01:27</sys_created_on><sys_id>dbf2673edbfd270074f7f2353a961928</sys_id><sys_mod_count>0</sys_mod_count><sys_name>McUtil</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sp_dependency_dbf2673edbfd270074f7f2353a961928</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:01:27</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1425837608</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>24d1b2c3db0d77001c3e35a27a9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7070000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>McUtil</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_7e91722bdbb16700eb6a2f94059619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy</sys_created_by><sys_created_on>2018-11-22 04:20:43</sys_created_on><sys_id>7e91722bdbb16700eb6a2f94059619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Workflow</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_7e91722bdbb16700eb6a2f94059619ea</sys_update_name><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2018-11-22 04:20:43</sys_updated_on><target_name>Workflow</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_script_include</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1141451368</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>24d1b2c3db0d77001c3e35a27a9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7b70000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Workflow</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_3444e77edbfd270074f7f2353a9619eb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;siMcButtonUpload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function siMcButtonUpload ($document, McUtilUpload, $window) {\n\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** Create an input element */\n\t\tvar fileInput = $window.angular.element('&lt;input/&gt;');\n\t\tfileInput.attr('type', 'file');\n\t\tfileInput.attr('multiple', '');\n\n\t\t/** when clicking the DOM element this directive is attached to... */\n\t\telem.on('click', function () {\n\t\t\t/** ... click the input element */\n\t\t\tfileInput.click();\n\t\t});\n\n\t\t/** When a file is selected */\n\t\tfileInput.on('change', function (event) {\n\n\t\t\t/** Upload the file */\n\t\t\tMcUtilUpload.upload(fileInput[0].files).then(function (data) {\n\t\t\t\tscope.$broadcast('sp.attachments.update', data.config.params.sys_id);\n\t\t\t});\n\t\t});\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:06:46&lt;/sys_created_on&gt;&lt;sys_id&gt;3444e77edbfd270074f7f2353a9619eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;siMcButtonUpload&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_3444e77edbfd270074f7f2353a9619eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:06:46&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1393145821</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>28d1b2c3db0d77001c3e35a27a9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7200000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcButtonUpload</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_81381b32dbfd270074f7f2353a9619d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>Multi-Screen Catalog Item</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_snc_multicat</scope><scoped_administration>false</scoped_administration><short_description/><source>x_snc_multicat</source><store_correlation_id/><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-19 23:13:57</sys_created_on><sys_id>81381b32dbfd270074f7f2353a9619d4</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2018-11-23 05:20:07</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n<payload_hash>2052282898</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>28d1b2c3db0d77001c3e35a27a9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d6e40000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Multi-Screen Catalog Item</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_fd646b7edbfd270074f7f2353a9619a9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"siMcDragDropUpload\">32646b7edbfd270074f7f2353a9619c4</sp_angular_provider><sp_widget display_value=\"Multi-Screen Catalog Item\">947027badbfd270074f7f2353a96195c</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:07:26</sys_created_on><sys_id>fd646b7edbfd270074f7f2353a9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>siMcDragDropUpload.Multi-Screen Catalog Item</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_fd646b7edbfd270074f7f2353a9619a9</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:07:26</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-722713457</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>2cd1b2c3db0d77001c3e35a27a9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7400000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcDragDropUpload.Multi-Screen Catalog Item</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_fce3637edbfd270074f7f2353a9619f6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;si-mc-order-now-screen&lt;/id&gt;&lt;sp_widget display_value=\"Multi-Screen Catalog Item\"&gt;947027badbfd270074f7f2353a96195c&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:05:14&lt;/sys_created_on&gt;&lt;sys_id&gt;fce3637edbfd270074f7f2353a9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;21&lt;/sys_mod_count&gt;&lt;sys_name&gt;si-mc-order-now-screen&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_fce3637edbfd270074f7f2353a9619f6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-07 04:48:09&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;!-- Detail section with a picture --&gt;\n&lt;div class=\"si-mc-extra-detail\"&gt;\n  &lt;div class=\"si-mc-detail-flex-shrink si-mc-item-img\" ng-if=\"c.hasImage()\"&gt;\n    &lt;img alt=\"{{::data.sc_cat_item.name}}\" ng-src=\"{{::data.sc_cat_item.picture}}?t=medium\" /&gt;\n  &lt;/div&gt;\n  &lt;div class=\"si-mc-detail-flex-grow\" ng-if=\"!c.isCheckingOut()\"&gt;\n    &lt;!-- Title --&gt;\n    &lt;div class=\"si-mc-title\"&gt;\n      &lt;h1&gt;{{c.getCurrentTitle(c.data.sc_cat_item.sys_class_name)}}&lt;/h1&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-short-desc\"&gt;\n      &lt;h4&gt;{{::data.sc_cat_item.short_description}}&lt;/h4&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-checkout-data\" ng-if=\"data.showPrices &amp;&amp; (data.sc_cat_item.price || data.sc_cat_item.recurring_price)\"&gt;\n      &lt;label&gt;${Price}:&lt;/label&gt; {{data.sc_cat_item.price}}\n      &lt;em ng-if=\"data.sc_cat_item.recurring_price\" class=\"cat_item_price\"&gt; + {{data.sc_cat_item.recurring_price + ' ' + data.sc_cat_item.recurring_price_frequency}}&lt;/em&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-checkout-data\" ng-if=\"data.sc_cat_item.estimated_delivery_time\"&gt;\n      &lt;label&gt;${Delivery Time}:&lt;/label&gt; {{::data.sc_cat_item.estimated_delivery_time}}\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-checkout-data\" id=\"quantitySelectorBox\"&gt;\n      &lt;lable for=\"quantitySelector\" id=\"quantitySelectorLabel\" class=\"align-middle\"&gt;\n        &lt;label id=\"quantityLabelText\"&gt;${Quantity}&amp;nbsp;&lt;/label&gt;\n      &lt;/lable&gt;\n      &lt;select ng-model=\"c.quantity\" id=\"quantitySelector\"&gt;\n        &lt;option ng-repeat=\"num in data.choiceListQuantity\" value={{::num.value}}&gt;{{::num.label}}&lt;/option&gt;\n      &lt;/select&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-checkout-data\"&gt;\n      &lt;label for=\"requested-for\"&gt;${Request For}\n        &lt;i class=\"fa fa-info-circle\" uib-tooltip=\"${Request for yourself or on behalf of another person}\" tooltip-placement=\"right\"\n          tooltip-append-to-body=\"true\"&gt;&lt;/i&gt;\n      &lt;/label&gt;\n      &lt;sn-record-picker id=\"requested-for\" field=\"c.requestedFor\" table=\"'sys_user'\" display-field=\"'name'\" display-fields=\"c.options.reqForDispCols\"\n        value-field=\"'sys_id'\" search-fields=\"c.options.reqForSearchCols\" default-query=\"c.options.reqForQuery\" page-size=\"100\"\n        options=\"{allowClear : false}\" sn-disabled=\"!c.options.disable_req_for\"&gt;\n      &lt;/sn-record-picker&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-checkout-data\"&gt;\n      &lt;label for=\"deliver-to\" tabindex=\"0\"&gt;${Delivery Information}\n        &lt;span class=\"text-muted\"&gt; ${(Optional)}&lt;/span&gt;\n      &lt;/label&gt;\n      &lt;textarea class=\"form-control\" ng-model=\"c.deliverTo\" id=\"deliver-to\" rows=\"2\"&gt;&lt;/textarea&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-checkout-data\"&gt;\n      &lt;label for=\"special-instructions\" tabindex=\"0\"&gt;${Special Instructions}\n        &lt;span class=\"text-muted\"&gt; ${(Optional)}&lt;/span&gt;\n      &lt;/label&gt;\n      &lt;textarea class=\"form-control\" ng-model=\"c.special_instructions\" id=\"special-instructions\" rows=\"2\"&gt;&lt;/textarea&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-attachments-mobile\"&gt;\n      &lt;div class=\"si-mc-label\"&gt;\n        &lt;span&gt;Attachments&lt;/span&gt;\n        &lt;button class=\"si-cm-add\" si-mc-button-upload&gt;\n          &lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/button&gt;\n      &lt;/div&gt;\n      &lt;si-mc-attachment-manager table=\"::c.data._attachmentTable\" sys-id=\"::c.data._generatedItemGUID\" omit-edit=\"false\"&gt;&lt;/si-mc-attachment-manager&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>6546750</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>2cd1b2c3db0d77001c3e35a27a9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7c70000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>si-mc-order-now-screen</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_5ee08aefdb79a70074f7f2353a9619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Multi-Screen Catalog Item - Container 1</name><order>1</order><sp_page display_value=\"multicat\">82b4eb7edbfd270074f7f2353a96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-22 00:47:59</sys_created_on><sys_id>5ee08aefdb79a70074f7f2353a9619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Multi-Screen Catalog Item - Container 1</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sp_container_5ee08aefdb79a70074f7f2353a9619bf</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-22 00:47:59</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>223423041</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>60d1b2c3db0d77001c3e35a27a9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7970000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Multi-Screen Catalog Item - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_67282f32db31670074f7f2353a961977</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:23:45</sys_created_on><sys_id>67282f32db31670074f7f2353a961977</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: string utilities</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_67282f32db31670074f7f2353a961977</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:23:45</sys_updated_on><target_name>Glide API: string utilities</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1458318209</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>60d1b2c3db0d77001c3e35a27a9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d75b0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Glide API: string utilities</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_65efb7b2db71670074f7f2353a96199b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"McUtil\">dbf2673edbfd270074f7f2353a961928</sp_dependency><sp_js_include display_value=\"Service.McUtilUpload\">2a72233edbfd270074f7f2353a9619ba</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 02:07:23</sys_created_on><sys_id>65efb7b2db71670074f7f2353a96199b</sys_id><sys_mod_count>2</sys_mod_count><sys_name>McUtil.Service.McUtilUpload</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_65efb7b2db71670074f7f2353a96199b</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 02:18:29</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-2057772610</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>64d1b2c3db0d77001c3e35a27a9619d5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7890000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>McUtil.Service.McUtilUpload</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_32646b7edbfd270074f7f2353a9619c4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;siMcDragDropUpload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function siMcDragDropUpload($http, $document, McUtilUpload) {\n\n\t'use strict';\n\n\treturn {\n\t\tlink: link\n\t};\n\n\tfunction link (scope, elem, attrs) {\n\n\t\t/** Grab the \"upload mask\" element */\n\t\tvar mask = elem.find('.si-mc-drag-drop-mask');\n\n\t\t/** Stop the default behaviour of dragging */\n\t\telem.on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t});\n\n\t\t/** When a file is dragged over, show the \"upload mask\" */\n\t\telem.on('dragover dragenter', function (e) {\n\t\t\telem.addClass('is-dragover');\n\t\t});\n\n\t\t/** Hide the \"upload mask\" when the dragging stops, file is dropped, or mouse leaves */\n\t\tmask.on('dragleave dragend drop', function (e) {\n\t\t\telem.removeClass('is-dragover');\n\t\t});\n\n\t\t/** When a file/files are dropped... */\n\t\tmask.on('drop', function (e) {\n\n\t\t\t/** ... get the files... */\n\t\t\tvar files = e.originalEvent.dataTransfer.files;\n\n\t\t\t/** ... and upload them */\n\t\t\tMcUtilUpload.upload(files).then(function (data) {\n\t\t\t\tscope.$broadcast('sp.attachments.update', data.config.params.sys_id);\n\t\t\t});\n\t\t});\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:07:25&lt;/sys_created_on&gt;&lt;sys_id&gt;32646b7edbfd270074f7f2353a9619c4&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;siMcDragDropUpload&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_32646b7edbfd270074f7f2353a9619c4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:07:25&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-571813959</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>64d1b2c3db0d77001c3e35a27a9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d73a0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcDragDropUpload</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_947027badbfd270074f7f2353a96195c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, $location, nowAttachmentHandler, spScUtil, spUtil, spModal, McUtilUpload, McUtilContainers) {\n  var c = this;\n  var DEFAULT_RECORD_PRODUCER_REDIRECT_PAGE = 'ticket';\n\n\n  c.isFirstScreen = McUtilContainers.isFirstScreen;\n  c.isLastScreen = McUtilContainers.isLastScreen;\n  c.next = McUtilContainers.next;\n  c.previous = McUtilContainers.previous;\n  c.getCurrentScreenTitle = McUtilContainers.getCurrentScreenTitle;\n  c.getScreenCountAsArray = McUtilContainers.getScreenCountAsArray;\n  c.getCurrentScreen = McUtilContainers.getCurrentScreen;\n  c.goToScreen = McUtilContainers.goToScreen;\n  c.getScreenOfField = McUtilContainers.getScreenOfField;\n\n\t$scope.isSelect2 = false;\n\n  c.$onInit = function () {\n    McUtilContainers.init(c.data.sc_cat_item._sections, c.data.sc_cat_item.sys_class_name);\n\n    c.requestedFor = {\n      displayValue: c.data.requestedFor.displayValue,\n      value: c.data.requestedFor.value,\n      name: 'requested_for'\n    }\n\n    c.quantity = c.data.quantity ? c.data.quantity + \"\" : \"1\";\n  }\n\n  c.cancel = function() {\n    c.setCheckingOut(false);\n  }\n\n  c.getCurrentTitle = function(sys_class_name) {\n    if(c.getCurrentScreen() == 0) {\n      return c.data.sc_cat_item.name;\n    } else if (c.isLastScreen() &amp;&amp; !c.isRecordProducer()) {\n      return c.options.checkoutTitle || 'Order Confirmation';\n    } else {\n      return c.getCurrentScreenTitle(sys_class_name, c.data.sc_cat_item.name);\n    }\n  }\n\n  c.isRecordProducer = function(){\n    return c.data.sc_cat_item.sys_class_name === 'sc_cat_item_producer';\n  }\n\n  c.confirmOrder = function() {\n    c.confirmed = 'asking';\n    spModal.open({\n      title: 'Confirm Order?',\n      message: 'Please confirm your order to proceed.'\n    }).then(function(confirmed) {\n      if (confirmed.label == 'OK') {\n        c.triggerOnSubmit();\n      }\n    });\n  }\n\n  c.triggerOnSubmit = function(){\n    if (validateMandatoryFields()) {\n      $scope.data.sc_cat_item.quantity = c.quantity;\n      $scope.data.sc_cat_item.item_action = \"order\";\n      if (g_form)\n        return g_form.submit();\n      return false;\n    }\n  }\n\n  c.triggerAddToCart = function () {\n    if (validateMandatoryFields()) {\n      $scope.data.sc_cat_item.item_action = \"add_to_cart\";\n      $scope.data.sc_cat_item.quantity = c.quantity;\n      if (g_form)\n        return g_form.submit();\n      return false;\n    }\n  }\n\n  c.triggerUpdateCart = function() {\n\t\t$scope.data.sc_cat_item.item_action = \"update_cart\";\n\t\t$scope.data.sc_cat_item.quantity = c.quantity;\n\t\tif (g_form)\n\t\t\treturn g_form.submit();\n\t\treturn false;\n\t}\n\n  c.hasImage = function() {\n    return c.data.sc_cat_item.picture != '';\n  }\n\n  c.isCartItem = function() {\n    return c.data.is_cart_item;\n  }\n\n  function validateMandatoryFields() {\n    var fieldNames = g_form.getFieldNames();\n    var mandatoryFieldsWithoutValue = fieldNames.filter(function(field) {\n      return g_form.isMandatory(field) &amp;&amp; !hasValue(field, g_form);\n    });\n    if (mandatoryFieldsWithoutValue.length &gt; 0) {\n      notifyUserOfMandFieldsWithoutValue(mandatoryFieldsWithoutValue);\n      c.goToScreen(c.getScreenOfField(mandatoryFieldsWithoutValue[0]));\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  function notifyUserOfMandFieldsWithoutValue(fieldNames) {\n    g_form.addErrorMessage('Some fields are incomplete');\n    fieldNames.forEach(function(fieldName) {\n      g_form.showFieldMsg(fieldName, \"This field must be completed\", 'error');\n    });\n  }\n\n  /**\n   * Check whether a particular field on a form has a value\n   * Copied from /scripts/sn/common/clientScript/glideFormFieldFactory.js\n   * @param  {String}  fieldName     The name of the field to check\n   * @param  {Object}  gFormInstance The GlideForm of the form with the field\n   * @return {Boolean}               Whether the field has a value\n   */\n  function hasValue(fieldName, gFormInstance) {\n\n    var field = gFormInstance.getField(fieldName);\n    var value = gFormInstance.getValue(fieldName);\n\n    switch (field.type) {\n      case 'boolean_confirm':\n        return value === 'true';\n      case 'boolean':\n        return true;\n      case 'currency':\n        var currencyValues = value.split(';');\n        return currencyValues[1] &amp;&amp; currencyValues[1].length;\n    }\n\n    if (value === null) {\n      return false;\n    }\n\n    if (typeof value === 'undefined') {\n      return false;\n    }\n\n    var trimmed = String(value).trim();\n    return trimmed.length &gt; 0;\n  }\n\n  /* Setup attachment handler */\n  $scope.attachmentHandler = new nowAttachmentHandler(function appendDone () {\n    $scope.$broadcast(\"sp.attachments.update\", c.data.form._attachmentGUID);\n  }, function appendError () {\n    /* $scope.errorMessages.push(error); */\n    /* spUtil.addErrorMessage(error.msg + error.fileName); */\n  });\n  $scope.$evalAsync(function() {\n    $scope.attachmentHandler.setParams($scope.data._attachmentTable, $scope.data._generatedItemGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n  });\n\n  // Initialize the McUtilUpload service\n  McUtilUpload.init($scope.data._attachmentTable, $scope.data._generatedItemGUID);\n\n\n  c.getItemId = function () {\n\t\treturn $scope.data.sc_cat_item ? $scope.data.sc_cat_item.sys_id : -1;\n  };\n\n  function getOne() {\n    $scope.server.get({\n\t\t\taction: 'log_request',\n\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id,\n\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n    });\n    if ($scope.data.sc_cat_item.sys_class_name == \"sc_cat_item_producer\") {\n      postCatalogFormRequest().then(function (response) {\n        var a = response.data.result;\n        handleRedirect(a.table, a.sys_id);\n      });\n    } else {\n      if (c.data.sys_properties.twostep) {\n        // Set additional parameters and add them to orderNow function\n        var additionalParms = {\n          sysparm_requested_for: c.requestedFor.value,\n          special_instructions: c.special_instructions,\n          delivery_address: c.deliverTo\n        };\n        spScUtil.orderNow($scope.data.sc_cat_item.sys_id, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID, additionalParms).then(function (response) {\n          var a = response.data.result;\n          $location.search('id=sc_request&amp;is_new_order=true&amp;table=sc_request&amp;sys_id=' + a.sys_id);\n        });\n      } else {\n        spScUtil.orderNow($scope.data.sc_cat_item.sys_id, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID).then(function (response) {\n          var a = response.data.result;\n          $location.search('id=sc_request&amp;is_new_order=true&amp;table=sc_request&amp;sys_id=' + a.sys_id);\n        });\n      }\n    }\n  }\n\n  function handleRedirect(table, sys_id) {\n    var page = '';\n    if (c.isRecordProducer())\n      page = c.options.record_producer_redirect_page || DEFAULT_RECORD_PRODUCER_REDIRECT_PAGE;\n    $location.search(formatRedirectUrl(page, table, sys_id));\n  }\n\n  function formatRedirectUrl(page, table, sys_id) {\n\t\tvar url;\n\t\tvar paramObj = {page: page, table: table, sys_id: sys_id};\n\t\turl = spUtil.format(c.options.url, paramObj);\n\t\treturn url;\n\t}\n\n  function getVarData(fields) {\n\t\tvar reqData = {};\n\t\tfor(var obj in fields)\n\t\t\treqData[fields[obj].name] = fields[obj].value;\n\t\treturn reqData;\n\t}\n\n  function postCatalogFormRequest() {\n\t\tif ($scope.data.sc_cat_item.sys_class_name === \"sc_cat_item_producer\")\n\t\t\treturn spScUtil.submitProducer($scope.data.sc_cat_item.sys_id, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID/*, $scope.data.workspaceParams*/);\n    else if ($scope.data.sc_cat_item.item_action === \"add_to_cart\")\n      return spScUtil.addToCart($scope.data.sc_cat_item.sys_id, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID);\n    else if ($scope.data.is_cart_item)\n\t\t\treturn spScUtil.updateCart($scope.data._generatedItemGUID, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields));\n  }\n\n  function addToCart() {\n    $scope.server.get({\n\t\t\taction: 'log_request',\n\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id,\n\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n    });\n    postCatalogFormRequest().then(function(response) {\n      $rootScope.$broadcast(\"$sp.service_catalog.cart.add_item\");\n      $rootScope.$broadcast(\"$sp.service_catalog.cart.update\");\n      $scope.$emit(\"$sp.sc_cat_item.add_to_cart\", $scope.data._generatedItemGUID);\n      spUtil.addInfoMessage('Your item has been added to your Cart.');\n      // Refresh the server data so that we won't get a duplicate order\n      $scope.server.refresh();\n    });\n  }\n\n  function updateCart() {\n\t\tpostCatalogFormRequest().then(function(response) {\n\t\t\t$location.search('id=sc_cart');\n\t\t})\n\t}\n\n\tvar g_form;\n\t$scope.$on('spModel.gForm.initialized', function(e, gFormInstance){\n    if (gFormInstance.getSysId() != -1 &amp;&amp; gFormInstance.getSysId() != c.getItemId())\n\t\t\treturn;\n    g_form = gFormInstance;\n    // This runs after all onSubmit scripts have executed\n\t\tg_form.$private.events.on('submitted', function(){\n\t\t\tif ($scope.data.sc_cat_item.item_action === \"order\")\n        getOne();\n      else if ($scope.data.sc_cat_item.item_action === \"add_to_cart\")\n        addToCart();\n      else if ($scope.data.sc_cat_item.item_action == \"update_cart\")\n\t\t\t\tupdateCart();\n\t\t});\n\t});\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;/* SCSS Variables and Mixins*/\n$si-mc-dark-color: #2D2B5D;\n$si-mc-light-text-color: #FFFFFF;\n$si-mc-action-background-color: #DDDDDD;\n\n$si-mc-max-height: 700px;\n$si-mc-background-color: #FFFFFF;\n$si-mc-indicator-background-color: #EEEEEE;\n$si-mc-indicator-background-color-active: $si-mc-dark-color !default;\n$si-mc-field-label-color: $si-mc-dark-color !default;\n$si-mc-title-color: $si-mc-dark-color !default;\n$si-mc-indicator-color: $si-mc-dark-color !default;\n$si-mc-indicator-color-active: $si-mc-light-text-color !default;\n$si-mc-attachment-color: $si-mc-dark-color !default;\n$si-mc-attachment-btn-background-color: $si-mc-dark-color !default;\n$si-mc-attachment-pill-background-color: #EEEEEE;\n$si-mc-attachment-btn-color: $si-mc-light-text-color !default;\n$si-mc-border-radius: 3px !default;\n$si-mc-action-bar-background-color: $si-mc-action-background-color;\n$si-mc-image-height: auto;\n$si-mc-image-width: auto;\n\n@mixin title-pack {\n  font-size: 40px;\n  color: $si-mc-title-color;\n  letter-spacing: -0.5px;\n}\n\n@mixin label-pack {\n  font-size: 16px;\n  color: $si-mc-field-label-color;\n  line-height: 24px;\n}\n\n/** SCSS Styles **/\n\n// Drag-drop styles\n\n.si-mc-drag-drop-overlay {\n  display: none;\n}\n\n.is-dragover .si-mc-drag-drop-overlay {\n  display: flex;\n}\n\n.si-mc-drag-drop-overlay {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: radial-gradient(rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0.5) 80%);\n  border-radius: $si-mc-border-radius;\n  top: 0;\n  left: 0;\n  z-index: 20;\n  justify-content: center;\n  align-items: center;\n  font-size: 80px;\n  color: #ccc;\n  text-align: center;\n  font-weight: bold;\n  text-transform: uppercase;\n  border: 10px dashed #ccc;\n}\n\n.si-mc-drag-drop-mask {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  z-index: 21;\n  cursor: default;\n}\n\n/* Main Content */\n\n.si-multicat-main {\n  width: 100%;\n  height: 100%;\n  min-height: 540px;\n  max-height: $si-mc-max-height;\n}\n\n.si-mc-content {\n  background-color: $si-mc-background-color;\n  border-radius: $si-mc-border-radius;\n  display: grid;\n  grid-template-rows: 100px auto 15%;\n  grid-template-areas:\n  \"header\"\n  \"content\"\n  \"footer\";\n}\n\n/* Header */\n\n.si-mc-head {\n  grid-area: header;\n  display: flex;\n  justify-content: flex-end;\n  align-items: center;\n  padding-right: 40px;\n}\n\n.si-mc-indicators {\n  display: flex;\n  justify-content: flex-end;\n\n  font-size: 18px;\n\n  div {\n    flex: 0 0 30px;\n    width: 30px;\n    height: 30px;\n    border-radius: 15px;\n    background-color: $si-mc-indicator-background-color;\n    margin-left: 5px;\n    color: $si-mc-indicator-color;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .si-mc-active {\n    background-color: $si-mc-indicator-background-color-active;\n    color: $si-mc-indicator-color-active;\n  }\n}\n\n.si-mc-attachments, .si-mc-attachments-mobile {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-size: 13px;\n  border-radius: $si-mc-border-radius;\n  color: $si-mc-attachment-color;\n\n  div {\n    height: 30px;\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0 5px;\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n  }\n\n  li {\n    background-color: $si-mc-attachment-pill-background-color;\n    color: $si-mc-attachment-color;\n    border-radius: $si-mc-border-radius;\n    padding: 3px 5px;\n    cursor: pointer;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    max-width: 170px;\n    margin: 3px 0 3px 5px;\n\n    a, a:hover, a:visited, a:focus {\n      color: $si-mc-attachment-color;\n    }\n\n  }\n\n  .si-mc-label {\n    margin-right: 5px;\n    padding-top: 6px;\n  }\n\n  button {\n    height: 23px;\n    width: 23px;\n    border-radius: $si-mc-border-radius;\n    border: none;\n    background-color: $si-mc-attachment-btn-background-color;\n    color: $si-mc-attachment-btn-color;\n    position: relative;\n  }\n\n  i {\n    position: absolute;\n    top: 25%;\n    left: 28%;\n  }\n\n  li:last-of-type {\n    margin-right: 0;\n  }\n}\n\n.si-mc-attachments-mobile {\n  display: none;\n}\n\n/* Main Body */\n.si-mc-mainbody {\n  grid-area: content;\n  margin-bottom: 40px;\n}\n\n.si-mc-intro-screen {\n  display: flex;\n\n  h1 {\n    @include title-pack;\n    margin-top: 0px !important;\n  }\n}\n\n.si-mc-item-img {\n  display: flex;\n  justify-content: center;\n  align-items: flex-start;\n  min-width: 300px;\n  margin: 0px 20px 0px 60px;\n}\n\n.si-mc-cust-desc {\n  margin: 30px 10px 30px 10px;\n}\n\n.si-mc-cust-desc-no-pic {\n    margin: 30px 40px;\n}\n\n.si-mc-short-desc {\n  font-size: 16px;\n  color: #979797;\n  line-height: 20px;\n  margin-bottom: 30px !important;\n}\n\n.si-mc-form {\n  margin: 0 60px 0 60px;\n\n  legend {\n    @include title-pack;\n    margin-bottom: 30px;\n  }\n\n  label {\n    @include label-pack;\n  }\n}\n\n.si-mc-extra-detail {\n  display: flex;\n  flex-wrap: wrap;\n}\n\n.si-mc-detail-flex-shrink {\n  flex: 0 1;\n}\n\n.si-mc-detail-flex-grow {\n  flex: 1 0;\n  margin: 0 60px 0 0;\n\n  h1 {\n    @include title-pack;\n    margin-top: 0px !important;\n  }\n\n  label {\n    @include label-pack;\n  }\n}\n\n.si-mc-checkout-data {\n  margin-bottom: 10px;\n}\n\n.si-mc-checkout-data:last-of-type {\n  margin-bottom: 0;\n}\n\n/* Footer */\n.si-mc-actions {\n  grid-area: footer;\n  height: 100%;\n}\n\n.si-mc-action-bar {\n  min-height: 80px;\n  border-bottom-left-radius: $si-mc-border-radius;\n  border-bottom-right-radius: $si-mc-border-radius;\n  background-color: $si-mc-action-bar-background-color;\n  display: flex;\n  align-items: center;\n\n  button {\n    height: 44px;\n    padding: 10px 30px 10px 30px;\n    border-radius: $si-mc-border-radius;\n  }\n}\n\n.si-mc-primary {\n  flex: 1 0;\n\n  .action-group {\n    float: right;\n  }\n\n  .action-group:last-child {\n    margin-right: 20px;\n  }\n\n\n  button {\n    background-color: $si-mc-dark-color;\n    border: 0px;\n    font-size: 18px;\n    color: $si-mc-light-text-color;\n  }\n}\n\n.si-mc-secondary {\n  flex: 1 0;\n\n  button {\n    background-color: transparent;\n    border: 2px solid $si-mc-dark-color;\n    color: $si-mc-dark-color;\n    font-size: 16px;\n    margin-left: 20px;\n  }\n}\n\n\n/* Media Queries */\n@media (min-width: 320px) and (max-width: 480px) {\n    .container-fluid {\n        padding: 0 !important;\n    }\n\n    .si-mc-mainbody {\n        margin-top: 40px;\n        margin-bottom: 0;\n    }\n\n    .si-mc-cust-desc, .si-mc-cust-desc-no-pic {\n        margin: 30px 20px;\n    }\n\n  .si-mc-content {\n    background-color: $si-mc-background-color;\n    border-radius: $si-mc-border-radius;\n    display: grid;\n    grid-template-rows: auto 15%;\n    grid-template-areas:\n    \"content\"\n    \"footer\";\n  }\n\n  .si-mc-head {\n    display: none;\n  }\n\n  .si-mc-intro-screen {\n      flex-wrap: wrap;\n      min-height: 300px;\n  }\n\n  .si-mc-item-img {\n      margin: 0px 20px 0px 20px;\n  }\n\n  .si-mc-form {\n    margin: 0px 20px;\n\n    legend {\n      font-size: 30px;\n    }\n  }\n\n  .si-mc-detail-flex-grow {\n    margin: 20px 20px 40px 20px;\n  }\n\n  .si-mc-action-bar {\n    min-height: 0px;\n    border-bottom-left-radius: $si-mc-border-radius;\n    border-bottom-right-radius: $si-mc-border-radius;\n    background-color: $si-mc-action-bar-background-color;\n    display: flex;\n    flex-direction: column;\n\n    button {\n      height: 44px;\n      width: 100%;\n      padding: 10px 0 10px 0;\n      margin: 10px 0 0 0;\n      border-radius: $si-mc-border-radius;\n    }\n  }\n\n  .si-mc-action-bar &amp;gt; div {\n    width: 100%;\n    flex: 0 1;\n    padding-left: 20px;\n    padding-right: 20px;\n  }\n\n  .action-group {\n    width: 100%;\n  }\n\n  .action-group:last-child {\n    margin-right: 0 !important;\n    margin-bottom: 10px;\n  }\n\n  .si-mc-attachments {\n    display: none;\n  }\n\n  .si-mc-attachments-mobile {\n    display: flex;\n\n    ul {\n      flex-direction: column;\n    }\n\n    .si-mc-label {\n      position: relative;\n      flex: 1 0;\n      align-self: flex-start;\n\n      span {\n        position: relative;\n        bottom: 5px;\n      }\n    }\n  }\n\n  .si-mc-indicators {\n    display: none;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;multicat&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, elem) {\n\n\tvar $timeout = $injector.get('$timeout');\n\n\tscope.implementSelect2 = function() {\n\t\t$timeout(function() {\n\t\t\tvar qs = elem.find('#quantitySelector');\n\t\t\tqs.select2();\n\t\t\tscope.isSelect2 = true;\n\t\t});\n\t}\n\n}]]&gt;&lt;/link&gt;&lt;name&gt;Multi-Screen Catalog Item&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"show_add_cart_button\",\"section\":\"Behavior\",\"default_value\":\"true\",\"label\":\"Show Add Cart Button\",\"type\":\"boolean\"},{\"name\":\"show_delivery_time\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Show Delivery Time\",\"type\":\"boolean\"},{\"name\":\"show_price\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Show Price\",\"type\":\"boolean\"},{\"name\":\"redirect_page_on_order_now\",\"section\":\"Behavior\",\"default_value\":\"sc_request\",\"label\":\"Redirect Page on Order Now\",\"type\":\"string\"},{\"name\":\"redirect_page_on_submit\",\"section\":\"Behavior\",\"default_value\":\"ticket\",\"label\":\"Redirect Page on Submit\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// populate the 'data' variable with catalog item, variables, and variable view\n(function () {\n\n  options.url = options.url || 'id={page}&amp;is_new_order=true&amp;table={table}&amp;sys_id={sys_id}';\n  options.disable_req_for = options.disable_req_for || true;\n  // Comma separated fields to display in snRecordPicker directive\n  options.reqForDispCols = options.reqForDispCols || 'name';\n  options.reqForQuery = options.reqForQuery || 'active=true';\n  // Comma separated fields to search for in snRecordPicker directive\n  options.reqForSearchCols = options.reqForSearchCols || 'name';\n\n  if (input &amp;&amp; input.action === 'log_request') {\n    $sp.logStat('Cat Item Request', input.itemDetails.sys_class_name, input.itemDetails.sys_id, input.itemDetails.name);\n    return;\n  }\n\n  // Are we using a two-step checkout process?\n  data.sys_properties = {\n    twostep: gs.getProperty(\"glide.sc.sp.twostep\", \"true\") == 'true'\n    //twostep: false\n  };\n\n  // Define our initial set of choices and value for the quantity field\n  var clGenerator = new GlideChoiceList();\n  var choiceListQuantity = clGenerator.getChoiceList(\"sc_cart_item\", \"quantity\");\n  var choicelistQuantityData = [];\n  //Function call changed from size() to getSize() for ScopedChoiceList\n  for (var i = 0; i &lt; choiceListQuantity.getSize(); i++) {\n    //Function call changed from get() to getChoice() for ScopedChoiceList\n    var choice = choiceListQuantity.getChoice(i);\n    if (!isNaN(choice.getValue()))\n      choicelistQuantityData.push({ value: parseInt(choice.getValue()), label: choice.getLabel() });\n  }\n  data.choiceListQuantity = choicelistQuantityData;\n  data.quantity = choicelistQuantityData[0].value;\n\n  // Are we editing an item from the cart? If so, populate our data based on the original item\n  var edit_parm = $sp.getParameter('edit');\n  data.is_cart_item = edit_parm == 'cart';\n\n  var cartName = data.is_cart_item ? 'DEFAULT' : 'saved_items';\n  var cart = new sn_sc.CartJS(cartName);\n  data.requestedFor = {value: gs.getUser().getID(), displayValue: gs.getUser().getDisplayName()};\n\n\n  if (edit_parm) {\n    var cart_item_id = $sp.getParameter(\"sys_id\");\n    var gr = new GlideRecord(\"sc_cart_item\");\n    if (!gr.get(cart_item_id) || gr.cart != cart.getCartID()) {\n      data.recordFound = false;\n      return;\n    }\n\n    var catItemData = {};\n    catItemData.sys_id = gr.getValue('cat_item');\n    catItemData.cart_item_id = gr.getUniqueValue();\n    catItemData.table = \"sc_cart_item\";\n    catItemData.is_ordering = true;\n\n    data.sc_cat_item = $sp.getCatalogItem(catItemData.sys_id);\n    data.sc_cat_item.isCartItem = true;\n    var values = getValues(cart_item_id);\n\n    for (var f in data.sc_cat_item._fields) {\n      // Put the values into the cat item fields\n      var field = data.sc_cat_item._fields[f];\n      if (typeof values[f] != \"undefined\" &amp;&amp; typeof values[f].value != \"undefined\") {\n        if (values[f].type == 9 || values[f].type == 10)\n          field.value = values[f].displayValue;\n        else if (values[f].type == 25)\n          field.value = values[f].decrypted_value;\n        else\n          field.value = values[f].value;\n        field.displayValue = values[f].displayValue;\n        field.display_value_list = values[f].display_value_list;\n      }\n      updatePriceOnField(field);\n    }\n\n    data._generatedItemGUID = cart_item_id;\n    data.quantity = '' + gr.quantity;\n\n  } else {\n    data.sys_id = $sp.getParameter('sys_id');\n    data.sc_cat_item = $sp.getCatalogItem(data.sys_id, true);\n    data._generatedItemGUID = gs.generateGUID();\n  }\n\n  data._attachmentTable = 'sc_cart_item';\n\n\n  data.showPrices = $sp.showCatalogPrices();\n\n  data.maxAttachmentSize = parseInt(gs.getProperty('com.glide.attachment.max_size', 1024));\n  if (isNaN(data.maxAttachmentSize))\n    data.maxAttachmentSize = 24;\n\n  function getValues(sys_id) {\n    var qs = new sn_sc.VariablePoolQuestionSetJS();\n    qs.setCartID(sys_id);\n    qs.load();\n    var values = {};\n    var questions = qs.getFlatQuestions();\n    for (var i = 0; i &lt; questions.length; i++) {\n      var qKey = questions[i].name;\n      if (typeof qKey == 'undefined' || qKey == '')\n        qKey = \"IO:\" + questions[i].sys_id;\n      values[qKey] = questions[i];\n    }\n    return values;\n  }\n\n  // Pricing utility functions\n  function setPrice(field, p, rp) {\n    if (p != undefined)\n      field.price = p;\n    if (rp != undefined)\n      field.recurring_price = rp;\n  }\n\n  function updatePriceForReferenceTable(field) {\n    var tableName = field.refTable + '';\n    if (tableName != undefined &amp;&amp; tableName != null &amp;&amp; tableName != '') {\n      var gr = new GlideRecord(tableName);\n      if (gr.isValid()) {\n        if (gr.get(field.value) &amp;&amp; gr.isValidRecord()) {\n          updatePrice(gr, field);\n          updateRecurringPrice(gr, field);\n        }\n      }\n    }\n  }\n\n  function updatePriceForListCollector(field) {\n    var tableName = field.refTable + '';\n    if (tableName != undefined &amp;&amp; tableName != null &amp;&amp; tableName != '') {\n      var gr = new GlideRecord(tableName);\n      if (gr.isValid()) {\n        var values = field.value.split(',');\n        gr.addQuery('sys_id', values);\n        gr.query();\n        var p = 0.0;\n        var rp = 0.0;\n        var price_value_list = [];\n        while (gr.next()) {\n          var price_field = {};\n          updatePrice(gr, price_field);\n          updateRecurringPrice(gr, price_field);\n          if (price_field.price)\n            p += Number(price_field.price);\n          else\n            price_field.price = 0.0;\n          if (price_field.recurring_price)\n            rp += Number(price_field.recurring_price);\n          else\n            price_field.recurring_price = 0.0;\n          price_value_list.push(price_field);\n        }\n        field.price = p;\n        field.recurring_price = rp;\n        field.price_value_list = price_value_list;\n      }\n    }\n  }\n\n  function updatePrice(gr, field) {\n    if (gr.isValidField('price'))\n      field.price = gr.getValue('price');\n    else if (gr.isValidField('u_price'))\n      field.price = gr.getValue('u_price');\n  }\n\n  function updateRecurringPrice(gr, field) {\n    if (gr.isValidField('recurring_price'))\n      field.recurring_price = gr.getValue('recurring_price');\n    else if (gr.isValidField('u_recurring_price'))\n      field.recurring_price = gr.getValue('u_recurring_price');\n  }\n\n  function updatePriceOnField(field) {\n    if (field.type == 'boolean' || field.type == 'boolean_confirm') {\n      if (field.value == 'true' || field.value == true)\n        setPrice(field, field._pricing.price_if_checked, field._pricing.recurring_price_if_checked);\n      else\n        setPrice(field, 0, 0);\n    } else if (field.choices) {\n      field.choices.forEach(function (choice) {\n        if (choice.value + '' == field.value + '')\n          setPrice(field, choice.price, choice.recurring_price);\n      });\n    } else if (field._pricing &amp;&amp; field._pricing.pricing_implications === true) {\n      if (field.type == 'reference')\n        updatePriceForReferenceTable(field);\n      else if (field.type == 'glide_list')\n        updatePriceForListCollector(field);\n    }\n  }\n})()]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-19 23:49:56&lt;/sys_created_on&gt;&lt;sys_id&gt;947027badbfd270074f7f2353a96195c&lt;/sys_id&gt;&lt;sys_mod_count&gt;286&lt;/sys_mod_count&gt;&lt;sys_name&gt;Multi-Screen Catalog Item&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_947027badbfd270074f7f2353a96195c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-08 00:41:23&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"si-multicat-main\" si-mc-drag-drop-upload&gt;\n\n  &lt;!-- Drag and drop overlay --&gt;\n  &lt;div class=\"si-mc-drag-drop-overlay\"&gt;\n    &lt;div class=\"si-mc-drag-drop-mask\"&gt;&lt;/div&gt;\n    &lt;div&gt;\n      &lt;i class=\"fa fa-upload\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;br/&gt; ${Upload}\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"si-mc-content\"&gt;\n    &lt;!-- Header --&gt;\n    &lt;div class=\"si-mc-head\"&gt;\n\n      &lt;div class=\"si-mc-attachments\"&gt;\n        &lt;div class=\"si-mc-label\"&gt;${Attachments}&lt;/div&gt;\n        &lt;button si-mc-button-upload&gt;\n          &lt;i class=\"fa fa-plus\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n        &lt;/button&gt;\n        &lt;si-mc-attachment-manager table=\"::c.data._attachmentTable\" sys-id=\"::c.data._generatedItemGUID\" omit-edit=\"false\"&gt;&lt;/si-mc-attachment-manager&gt;\n      &lt;/div&gt;\n\n\n\n      &lt;!-- Indicators --&gt;\n      &lt;div class=\"si-mc-indicators\"&gt;\n        &lt;div ng-repeat=\"i in c.getScreenCountAsArray() track by $index\" ng-class=\"{'si-mc-active': c.getCurrentScreen() === $index}\"\n          ng-click=\"c.goToScreen($index)\"&gt;{{$index + 1}}&lt;/div&gt;\n      &lt;/div&gt;\n\n    &lt;/div&gt;\n\n    &lt;!-- Main body --&gt;\n    &lt;div class=\"si-mc-mainbody\"&gt;\n\n      &lt;!-- Intro screen --&gt;\n      &lt;div ng-include=\"'si-mc-intro-screen'\" ng-if=\"c.getCurrentScreen() == 0\"&gt;&lt;/div&gt;\n\n      &lt;!-- Form Screens --&gt;\n      &lt;div class=\"si-mc-form\"&gt;\n        &lt;!-- spCatItem directive manages price changes for the catalog item --&gt;\n        &lt;sp-cat-item item=\"::data.sc_cat_item\" &gt;&lt;/sp-cat-item&gt;\n        &lt;div class=\"si-mc-mainform container-fluid\"&gt;\n          &lt;sp-model form-model=\"::data.sc_cat_item\" template-url=\"si-mc-form\" mandatory=\"c.mandatory\"&gt;&lt;/sp-model&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n\n      &lt;!-- Order Now Screen --&gt;\n      &lt;div ng-if=\"c.isLastScreen() &amp;&amp; !c.isRecordProducer()\"&gt;\n        &lt;div ng-include=\"'si-mc-order-now-screen'\" onload=\"implementSelect2()\" &gt;&lt;/div&gt;\n      &lt;/div&gt;\n\n    &lt;/div&gt;\n    &lt;!-- Actions --&gt;\n    &lt;div class=\"si-mc-actions\"&gt;\n      &lt;div class=\"si-mc-action-bar\"&gt;\n        &lt;!-- Left side (secondary) --&gt;\n        &lt;div class=\"si-mc-secondary\"&gt;\n          &lt;button ng-click=\"c.previous()\" ng-if=\"c.getCurrentScreen() &gt; 0\"&gt;\n            ${PREVIOUS}\n          &lt;/button&gt;\n        &lt;/div&gt;\n\n        &lt;!-- Right side (primary) --&gt;\n        &lt;div class=\"si-mc-primary\"&gt;\n          &lt;div class=\"action-group\"&gt;\n            &lt;button ng-click=\"c.next()\" ng-if=\"!c.isLastScreen()\"&gt;\n              ${NEXT}\n            &lt;/button&gt;\n            &lt;button ng-click=\"c.triggerOnSubmit()\" ng-if=\"c.isLastScreen() &amp;&amp; c.isRecordProducer()\"&gt;\n              ${SUBMIT}\n            &lt;/button&gt;\n            &lt;button ng-if=\"c.isLastScreen() &amp;&amp; !c.isRecordProducer() &amp;&amp; !c.isCartItem()\" ng-click=\"c.triggerAddToCart()\"&gt;\n              &lt;i class=\"fa fa fa-shopping-cart\"&gt;&lt;/i&gt;\n              &amp;ensp;${ADD TO CART}\n            &lt;/button&gt;\n            &lt;button ng-if=\"c.isLastScreen() &amp;&amp; !c.isRecordProducer() &amp;&amp; c.isCartItem()\" ng-click=\"c.triggerUpdateCart()\"&gt;\n              &lt;i class=\"fa fa fa-shopping-cart\"&gt;&lt;/i&gt;\n              &amp;ensp;${UPDATE CART}\n            &lt;/button&gt;\n            &lt;button ng-if=\"c.isLastScreen() &amp;&amp; !c.isRecordProducer()\" ng-click=\"c.confirmOrder()\"&gt;\n              ${ORDER NOW}\n            &lt;/button&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-507490588</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>64d1b2c3db0d77001c3e35a27a9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7e50000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Multi-Screen Catalog Item</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_f734277edbfd270074f7f2353a9619cb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"siMcButtonUpload\">3444e77edbfd270074f7f2353a9619eb</sp_angular_provider><sp_widget display_value=\"Multi-Screen Catalog Item\">947027badbfd270074f7f2353a96195c</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:06:48</sys_created_on><sys_id>f734277edbfd270074f7f2353a9619cb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>siMcButtonUpload.Multi-Screen Catalog Item</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_f734277edbfd270074f7f2353a9619cb</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:06:48</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-976392667</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>68d1b2c3db0d77001c3e35a27a9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7280000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcButtonUpload.Multi-Screen Catalog Item</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_ac93af3edbfd270074f7f2353a9619b0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;si-mc-attachment-manager&lt;/id&gt;&lt;sp_widget display_value=\"Multi-Screen Catalog Item\"&gt;947027badbfd270074f7f2353a96195c&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:04:04&lt;/sys_created_on&gt;&lt;sys_id&gt;ac93af3edbfd270074f7f2353a9619b0&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;si-mc-attachment-manager&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_ac93af3edbfd270074f7f2353a9619b0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:30:25&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;ul&gt;\n  &lt;li class=\"attached-file\" ng-repeat=\"attachment in attachments\"&gt;\n    &lt;a ng-href=\"{{getAttachmentURL(attachment)}}\" target=\"_blank\"&gt;\n      &lt;span class=\"fa {{getIcon(attachment.content_type, attachment.ext)}}\"&gt;&lt;/span&gt;\n      {{attachment.file_name}}&lt;/a&gt;\n  &lt;/li&gt;\n&lt;/ul&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1019707202</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>68d1b2c3db0d77001c3e35a27a9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7610000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>si-mc-attachment-manager</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_db31e3fadbfd270074f7f2353a961950</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_multicat.Service.McUtilUpload&lt;/name&gt;&lt;script&gt;&lt;![CDATA[McUtil.service('McUtilUpload', function McUtilUpload ($http, $q, $window) {\n\n\t'use strict';\n\t//console.log(McUtil);\n\n\tvar attachmentGuid;\n\tvar tableName;\n\n\treturn {\n\t\tupload: upload,\n\t\tinit: init\n\t};\n\n\tfunction init(table, sysId) {\n\t\tattachmentGuid = sysId;\n\t\ttableName = table;\n\t}\n\n\tfunction upload(files) {\n\t\treturn $q(function (success, failure) {\n\n\t\t\tArray.prototype.forEach.call(files, function(file) {\n\n\t\t\t\tvar fd = new $window.FormData();\n\t\t\t\tfd.append('attachments_modified', true);\n\t\t\t\tfd.append('sysparm_table', tableName);\n\t\t\t\tfd.append('sysparm_sys_id', attachmentGuid);\n\t\t\t\tfd.append('sysparm_nostack', 'yes');\n\t\t\t\tfd.append('sysparm_encryption_context', '');\n\t\t\t\tfd.append('sysparm_ck', $window.g_ck);\n\t\t\t\tfd.append('attachFile', file);\n\n\t\t\t\t$http.post('/angular.do', fd, {\n\t\t\t\t\ttransformRequest: $window.angular.identity,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\t'sysparm_type': 'ngk_attachments',\n\t\t\t\t\t\t'table': tableName,\n\t\t\t\t\t\t'sys_id': attachmentGuid,\n\t\t\t\t\t\t'action': 'add'\n\t\t\t\t\t},\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-UserToken' : $window.g_ck,\n\t\t\t\t\t\t'Content-Type': undefined\n\t\t\t\t\t}\n\t\t\t\t}).then(function (response) {\n\t\t\t\t\tsuccess(response);\n\t\t\t\t});\n\n\t\t\t});\n\n\t\t});\n\t}\n});]]&gt;&lt;/script&gt;&lt;script_name&gt;Service.McUtilUpload&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-19 23:53:59&lt;/sys_created_on&gt;&lt;sys_id&gt;db31e3fadbfd270074f7f2353a961950&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_multicat.Service.McUtilUpload&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_db31e3fadbfd270074f7f2353a961950&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 02:21:10&lt;/sys_updated_on&gt;&lt;ui_type&gt;1&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>120933728</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>68d1b2c3db0d77001c3e35a27a9619dc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7900000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>x_snc_multicat.Service.McUtilUpload</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a5efb7b2db71670074f7f2353a961997</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"McUtil\">dbf2673edbfd270074f7f2353a961928</sp_dependency><sp_js_include display_value=\"Module.McUtil\">e2e1e7fadbfd270074f7f2353a961903</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 02:07:23</sys_created_on><sys_id>a5efb7b2db71670074f7f2353a961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>McUtil.Module.McUtil</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a5efb7b2db71670074f7f2353a961997</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 02:07:23</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1716579141</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>6cd1b2c3db0d77001c3e35a27a9619d5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7780000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>McUtil.Module.McUtil</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b4126ffadbfd270074f7f2353a9619a1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Service.McUtilContainers</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-19 23:58:39</sys_created_on><sys_id>b4126ffadbfd270074f7f2353a9619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service.McUtilContainers</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_ui_script display_value=\"x_snc_multicat.Service.McUtilContainers\">5c01e3fadbfd270074f7f2353a96194a</sys_ui_script><sys_update_name>sp_js_include_b4126ffadbfd270074f7f2353a9619a1</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-19 23:58:39</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1622915071</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>6cd1b2c3db0d77001c3e35a27a9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d6fa0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Service.McUtilContainers</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_aae2007edb326300f530c6fc34961938</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy</sys_created_by><sys_created_on>2019-01-08 00:44:51</sys_created_on><sys_id>aae2007edb326300f530c6fc34961938</sys_id><sys_mod_count>0</sys_mod_count><sys_name>CartJS.getCartID</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_aae2007edb326300f530c6fc34961938</sys_update_name><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2019-01-08 00:44:51</sys_updated_on><target_name>CartJS.getCartID</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1351057613</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>6cd1b2c3db0d77001c3e35a27a9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d8050000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>CartJS.getCartID</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_0114677edbfd270074f7f2353a9619c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;siMcAttachmentManager&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function siMcAttachmentManager (i18n) {\n\n\t'use strict';\n\n\treturn {\n\t\ttemplateUrl: 'si-mc-attachment-manager',\n\t\trestrict: 'E',\n\t\treplace: true,\n\t\tscope: {\n\t\t\ttable: \"=\",\n\t\t\tsysId: \"=\",\n\t\t\tomitEdit: \"=\"\n\t\t},\n\t\tlink: function(scope, elem, attr) {\n\t\t\ti18n.getMessages(['Attachment',\n\t\t\t\t\t\t\t  'Enable edit mode on attachments',\n\t\t\t\t\t\t\t  'Finish editing attachments',\n\t\t\t\t\t\t\t  'Edit',\n\t\t\t\t\t\t\t  'Done',\n\t\t\t\t\t\t\t  'Attachments',\n\t\t\t\t\t\t\t  'Delete'], function(msgArr){\n\t\t\t\tscope.translations = msgArr;\n\t\t\t});\n\t\t},\n\t\tcontroller: function($scope, snAttachmentHandler) {\n\t\t\tvar cacheMap = {};\n\n\t\t\t$scope.attachments = [];\n\t\t\t$scope.translations = [];\n\t\t\tvar attachmentHandler;\n\n\t\t\tfunction initializeAttachmentHandler() {\n\n\t\t\t\t$scope.editMode = false;\n\n\t\t\t\tvar key = $scope.table + '.' + $scope.sysId;\n\n\t\t\t\tvar cached = cacheMap[key];\n\n\t\t\t\tif(cached) {\n\t\t\t\t\tattachmentHandler = cached.handler;\n\t\t\t\t\t$scope.attachments = cached.attachments;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tattachmentHandler = snAttachmentHandler.create($scope.table, $scope.sysId);\n\n\t\t\t\tattachmentHandler.getAttachments().then(function(response) {\n\t\t\t\t\t$scope.attachments = response;\n\t\t\t\t});\n\n\t\t\t\tcacheMap[key] = {\n\t\t\t\t\thandler: attachmentHandler,\n\t\t\t\t\tattachments: $scope.attachments\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t$scope.getAttachmentURL = function(attachment) {\n\t\t\t\treturn (attachment.isImage) ? attachment.sys_id + \".iix\" : snAttachmentHandler.getViewUrl(attachment.sys_id);\n\t\t\t};\n\n\t\t\t$scope.removeAttachment = function(e, attachment) {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\n\t\t\t\tattachmentHandler.deleteAttachment(attachment).then(function() {\n\t\t\t\t\tif ($scope.attachments.length === 0)\n\t\t\t\t\t\t$scope.editMode = false;\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t$scope.$watch(\"sysId\", initializeAttachmentHandler);\n\n\t\t\t$scope.$on(\"sp.attachments.update\", function(e, recordID) {\n\t\t\t\tif (recordID !== $scope.sysId)\n\t\t\t\t\treturn;\n\n\t\t\t\tattachmentHandler.getAttachments().then(function(response) {\n\t\t\t\t\t$scope.attachments = response;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tvar extIconMap = {\n\t\t\t\t'ppt': 'fa-file-powerpoint-o',\n\t\t\t\t'pptx': 'fa-file-powerpoint-o',\n\t\t\t\t'doc': 'fa-file-word-o',\n\t\t\t\t'docx': 'fa-file-word-o',\n\t\t\t\t'xls': 'fa-file-excel-o',\n\t\t\t\t'xlsx': 'fa-file-excel-o'\n\t\t\t};\n\n\t\t\tvar fileIconMap = {\n\t\t\t\t'image/jpeg': 'fa-file-image-o',\n\t\t\t\t'image/pjpeg': 'fa-file-image-o',\n\t\t\t\t'image/tiff': 'fa-file-image-o',\n\t\t\t\t'image/png': 'fa-file-image-o',\n\t\t\t\t'image/gif': 'fa-file-image-o',\n\t\t\t\t'application/zip': 'fa-file-archive-o',\n\t\t\t\t'application/x-compressed': 'fa-file-archive-o',\n\t\t\t\t'application/x-zip-compressed': 'fa-file-archive-o',\n\t\t\t\t'application/pdf': 'fa-file-pdf-o',\n\t\t\t\t'application/vnd.openxmlformats-officedoc': 'fa-file-word-o',\n\t\t\t\t'application/msword': 'fa-file-word-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'fa-file-word-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.template': 'fa-file-word-o',\n\t\t\t\t'application/excel': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.ms-excel': 'fa-file-excel-o',\n\t\t\t\t'application/x-excel': 'fa-file-excel-o',\n\t\t\t\t'application/x-msexcel': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'fa-file-excel-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.template': 'fa-file-excel-o',\n\t\t\t\t'application/powerpoint': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.ms-powerpoint': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.template': 'fa-file-powerpoint-o',\n\t\t\t\t'application/vnd.openxmlformats-officedocument.presentationml.slideshow': 'fa-file-powerpoint-o'\n\t\t\t};\n\n\t\t\t$scope.getIcon = function(contentType, ext) {\n\t\t\t\treturn extIconMap[ext] || fileIconMap[contentType] || \"fa-file-o\";\n\t\t\t};\n\n\t\t\tinitializeAttachmentHandler();\n\t\t}\n\t};\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:06:23&lt;/sys_created_on&gt;&lt;sys_id&gt;0114677edbfd270074f7f2353a9619c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;siMcAttachmentManager&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_0114677edbfd270074f7f2353a9619c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:06:23&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1365506349</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a0d1b2c3db0d77001c3e35a27a9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d70f0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcAttachmentManager</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f3e04eefdb79a70074f7f2353a9619fc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Multi-Screen Catalog Item - Container 1\">5ee08aefdb79a70074f7f2353a9619bf</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-22 00:48:06</sys_created_on><sys_id>f3e04eefdb79a70074f7f2353a9619fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sp_row_f3e04eefdb79a70074f7f2353a9619fc</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-22 00:48:06</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1709713101</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a0d1b2c3db0d77001c3e35a27a9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7a30000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_9504277edbfd270074f7f2353a9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"siMcAttachmentManager\">0114677edbfd270074f7f2353a9619c9</sp_angular_provider><sp_widget display_value=\"Multi-Screen Catalog Item\">947027badbfd270074f7f2353a96195c</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:06:31</sys_created_on><sys_id>9504277edbfd270074f7f2353a9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>siMcAttachmentManager.Multi-Screen Catalog Item</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_9504277edbfd270074f7f2353a9619f8</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:06:31</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>715770546</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a4d1b2c3db0d77001c3e35a27a9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7160000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcAttachmentManager.Multi-Screen Catalog Item</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_40b3ef3edbfd270074f7f2353a96199e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;si-mc-form&lt;/id&gt;&lt;sp_widget display_value=\"Multi-Screen Catalog Item\"&gt;947027badbfd270074f7f2353a96195c&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:04:27&lt;/sys_created_on&gt;&lt;sys_id&gt;40b3ef3edbfd270074f7f2353a96199e&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;si-mc-form&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_40b3ef3edbfd270074f7f2353a96199e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:32:31&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div si-mc-containers&gt;\n  &lt;fieldset&gt;\n    &lt;div ng-repeat=\"container in getContainers()\"&gt;\n      &lt;div class=\"si-mc-body container-fluid\"&gt;\n        &lt;sp-variable-layout ng-init=\"containers=[container]\"&gt;&lt;/sp-variable-layout&gt;\n      &lt;/div&gt;\n     &lt;/div&gt;\n  &lt;/fieldset&gt;\n  &lt;div ng-init=\"execItemScripts()\"&gt;&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>23297234</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a4d1b2c3db0d77001c3e35a27a9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7670000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>si-mc-form</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5c01e3fadbfd270074f7f2353a96194a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_multicat.Service.McUtilContainers&lt;/name&gt;&lt;script&gt;&lt;![CDATA[McUtil.service('McUtilContainers', function McUtilContainers(){\n\t'use strict';\n\n\t//console.log(McUtil);\n\n  var form_containers = [];\n  var totalScreenCount = 0;\n  var currentScreen = 0;\n  var checkingOut = false;\n\n\n\treturn {\n    init: init,\n    next: next,\n    previous: previous,\n    getCurrentScreen: getCurrentScreen,\n    isFirstScreen: isFirstScreen,\n    isLastScreen: isLastScreen,\n    getContainers: getContainers,\n    getCurrentScreenTitle: getCurrentScreenTitle,\n    getScreenCountAsArray: getScreenCountAsArray,\n    getScreenOfField: getScreenOfField,\n    goToScreen: goToScreen,\n    setCheckingOut: setCheckingOut,\n    isCheckingOut: isCheckingOut\n  };\n\n  function getCurrentScreen() {\n    return currentScreen;\n  }\n\n  function goToScreen(newScreenNum) {\n    if (isCheckingOut())\n      setCheckingOut(false);\n    currentScreen = newScreenNum;\n  }\n\n  function setCheckingOut(newBooleanValue) {\n    checkingOut = newBooleanValue;\n  }\n\n  function isCheckingOut() {\n    return checkingOut;\n  }\n\n  /**\n   * Get the title of the screen we are currently on\n   * @return {String}  The screen title\n   */\n  function getCurrentScreenTitle(sys_class_name, name) {\n    if (sys_class_name == 'sc_cat_item_producer') {\n      if (form_containers.length != 0 &amp;&amp; !isFirstScreen()) {\n        if(!form_containers[currentScreen][0].caption) {\n          return name + ' (cont...)'\n        } else {\n          return form_containers[currentScreen][0].caption;\n        }\n      }\n    } else if (form_containers.length != 0 &amp;&amp; !isFirstScreen() &amp;&amp; !isLastScreen()) {\n      return form_containers[currentScreen][0].caption;\n    } else {\n      return '';\n    }\n  }\n\n  function getScreenCountAsArray() {\n    return new Array(totalScreenCount);\n  }\n\n  function setTotalScreenCount(newScreenCount) {\n    totalScreenCount = newScreenCount;\n  }\n\n  function isFirstScreen() {\n    return currentScreen === 0;\n  }\n\n  function isLastScreen() {\n    return currentScreen === totalScreenCount - 1;\n  }\n\n\n\tfunction next() {\n    currentScreen++;\n  }\n\n  function previous() {\n    currentScreen--;\n  }\n\n  function getScreenOfField(fieldName) {\n    function findFieldNameMatch(screen) {\n      for(var i = 0; i &lt; screen.length; i++) {\n        if(screen[i].columns){\n          for (var j = 0; j &lt; screen[i].columns.length; j++) {\n            for (var y = 0; y &lt; screen[i].columns[j].fields.length; y++) {\n              if(screen[i].columns[j].fields[y].name == fieldName) {\n                return true;\n              }\n            }\n          }\n        }\n      }\n      // Searched through all containers of this screen without a match\n      return false;\n    }\n    return _.findIndex(form_containers, findFieldNameMatch);\n  }\n\n  /**\n   * Group containers that do not have caption with the\n   * previous container.\n   * @param {array} c\n   */\n\tfunction regroupContainers(c, sys_class_name) {\n\t\tvar newCGroupings = c.reduce(function(acc, cv, ci, arr) {\n      /**\n       * Allow the first section not to have a caption.\n       * The name of the item visually acts as the caption.\n       */\n\t\t\tif(!cv.caption &amp;&amp; !cv.captionDisplay &amp;&amp; ci !== 0) {\n\t\t\t\tacc[acc.length - 1].push(cv);\n\t\t\t} else {\n\t\t\t\tacc.push([cv]);\n\t\t\t}\n\t\t\treturn acc;\n    }, []);\n    // Add in two empty arrays as place markers for the intro and final screens\n    newCGroupings.splice(0,0,[]);\n    if (sys_class_name != 'sc_cat_item_producer')\n      newCGroupings.splice(newCGroupings.length,0,[]);\n    setTotalScreenCount(newCGroupings.length);\n\t\treturn newCGroupings;\n\t}\n\n\tfunction init(containers, sys_class_name) {\n        form_containers = regroupContainers(containers, sys_class_name);\n        // Reset the currentScreen variable to zero to prevent state from persisting\n        currentScreen = 0;\n\t}\n\n\tfunction getContainers() {\n\t\treturn form_containers[currentScreen];\n\t}\n});]]&gt;&lt;/script&gt;&lt;script_name&gt;Service.McUtilContainers&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-19 23:53:19&lt;/sys_created_on&gt;&lt;sys_id&gt;5c01e3fadbfd270074f7f2353a96194a&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_multicat.Service.McUtilContainers&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5c01e3fadbfd270074f7f2353a96194a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-07 23:47:45&lt;/sys_updated_on&gt;&lt;ui_type&gt;1&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-911025076</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a4d1b2c3db0d77001c3e35a27a9619dc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7cf0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>x_snc_multicat.Service.McUtilContainers</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_2a72233edbfd270074f7f2353a9619ba</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Service.McUtilUpload</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-19 23:59:28</sys_created_on><sys_id>2a72233edbfd270074f7f2353a9619ba</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Service.McUtilUpload</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_ui_script display_value=\"x_snc_multicat.Service.McUtilUpload\">db31e3fadbfd270074f7f2353a961950</sys_ui_script><sys_update_name>sp_js_include_2a72233edbfd270074f7f2353a9619ba</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-19 23:59:28</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1211515125</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a8d1b2c3db0d77001c3e35a27a9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7010000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Service.McUtilUpload</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_a6e2007edb326300f530c6fc3496193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy</sys_created_by><sys_created_on>2019-01-08 00:44:51</sys_created_on><sys_id>a6e2007edb326300f530c6fc3496193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>VariablePoolQuestionSetJS.load</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_a6e2007edb326300f530c6fc3496193d</sys_update_name><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2019-01-08 00:44:51</sys_updated_on><target_name>VariablePoolQuestionSetJS.load</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1365051287</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>a8d1b2c3db0d77001c3e35a27a9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7fe0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>VariablePoolQuestionSetJS.load</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_7fe04eefdb79a70074f7f2353a9619fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f3e04eefdb79a70074f7f2353a9619fc</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-22 00:48:06</sys_created_on><sys_id>7fe04eefdb79a70074f7f2353a9619fd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sp_column_7fe04eefdb79a70074f7f2353a9619fd</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-22 00:48:06</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-434421363</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>acd1b2c3db0d77001c3e35a27a9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d79d0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_62e2007edb326300f530c6fc3496193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy</sys_created_by><sys_created_on>2019-01-08 00:44:51</sys_created_on><sys_id>62e2007edb326300f530c6fc3496193f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>VariablePoolQuestionSetJS.getFlatQuestions</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_62e2007edb326300f530c6fc3496193f</sys_update_name><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2019-01-08 00:44:51</sys_updated_on><target_name>VariablePoolQuestionSetJS.getFlatQuestions</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-332638809</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>acd1b2c3db0d77001c3e35a27a9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7f40000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>VariablePoolQuestionSetJS.getFlatQuestions</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_34542b7edbfd270074f7f2353a961901</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"siMcContainers\">c6542b7edbfd270074f7f2353a96199e</sp_angular_provider><sp_widget display_value=\"Multi-Screen Catalog Item\">947027badbfd270074f7f2353a96195c</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:07:08</sys_created_on><sys_id>34542b7edbfd270074f7f2353a961901</sys_id><sys_mod_count>0</sys_mod_count><sys_name>siMcContainers.Multi-Screen Catalog Item</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_34542b7edbfd270074f7f2353a961901</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:07:08</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-758091357</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e0d1b2c3db0d77001c3e35a27a9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7340000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcContainers.Multi-Screen Catalog Item</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_11c3637edbfd270074f7f2353a9619fe</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;si-mc-intro-screen&lt;/id&gt;&lt;sp_widget display_value=\"Multi-Screen Catalog Item\"&gt;947027badbfd270074f7f2353a96195c&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:04:51&lt;/sys_created_on&gt;&lt;sys_id&gt;11c3637edbfd270074f7f2353a9619fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;8&lt;/sys_mod_count&gt;&lt;sys_name&gt;si-mc-intro-screen&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_11c3637edbfd270074f7f2353a9619fe&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-07 03:33:18&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;!-- Detail section with a picture --&gt;\n&lt;div class=\"si-mc-intro-screen\"&gt;\n  &lt;div class=\"si-mc-item-img\" ng-if=\"data.sc_cat_item.picture\"&gt;\n    &lt;img class=\"img-responsive\" alt=\"{{::data.sc_cat_item.name}}\" ng-src=\"{{::data.sc_cat_item.picture}}?t=medium\" /&gt;\n  &lt;/div&gt;\n  &lt;div ng-class=\"data.sc_cat_item.picture ? 'si-mc-cust-desc' : 'si-mc-cust-desc-no-pic'\" ng-if=\"c.data.sc_cat_item.description\"&gt;\n    &lt;!-- Title --&gt;\n    &lt;div class=\"si-mc-title\"&gt;\n      &lt;h1&gt;{{c.getCurrentTitle(c.data.sc_cat_item.sys_class_name)}}&lt;/h1&gt;\n    &lt;/div&gt;\n    &lt;div class=\"si-mc-short-desc\"&gt;\n      &lt;h4&gt;{{::data.sc_cat_item.short_description}}&lt;/h4&gt;\n    &lt;/div&gt;\n    &lt;div ng-bind-html=\"::data.sc_cat_item.description\"&gt;&lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>889750667</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e0d1b2c3db0d77001c3e35a27a9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7bd0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>si-mc-intro-screen</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_0fc063fadbfd270074f7f2353a9619c1</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_snc_multicat.Module.McUtil&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var McUtil = angular.module('McUtil', []);\n]]&gt;&lt;/script&gt;&lt;script_name&gt;Module.McUtil&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-19 23:52:14&lt;/sys_created_on&gt;&lt;sys_id&gt;0fc063fadbfd270074f7f2353a9619c1&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_snc_multicat.Module.McUtil&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_0fc063fadbfd270074f7f2353a9619c1&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:53:25&lt;/sys_updated_on&gt;&lt;ui_type&gt;1&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-477648426</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e0d1b2c3db0d77001c3e35a27a9619dc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d76c0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>x_snc_multicat.Module.McUtil</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9df04223dbb9a70074f7f2353a9619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">7fe04eefdb79a70074f7f2353a9619fd</sp_column><sp_widget display_value=\"Multi-Screen Catalog Item\">947027badbfd270074f7f2353a96195c</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-22 00:48:11</sys_created_on><sys_id>9df04223dbb9a70074f7f2353a9619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sp_instance_9df04223dbb9a70074f7f2353a9619de</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-22 00:48:11</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9df04223dbb9a70074f7f2353a9619de\"/></record_update>]]></payload>\n<payload_hash>1851885552</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e4d1b2c3db0d77001c3e35a27a9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7ad0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_85e46bbedbfd270074f7f2353a961993</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:09:22</sys_created_on><sys_id>85e46bbedbfd270074f7f2353a961993</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: properties</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_85e46bbedbfd270074f7f2353a961993</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:09:22</sys_updated_on><target_name>Glide API: properties</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1595839233</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e4d1b2c3db0d77001c3e35a27a9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7550000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>Glide API: properties</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_angular_provider_c6542b7edbfd270074f7f2353a96199e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_angular_provider\"&gt;&lt;sp_angular_provider action=\"INSERT_OR_UPDATE\"&gt;&lt;name&gt;siMcContainers&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function siMcContainers(McUtilContainers) {\n\t'use strict';\n\n\treturn {\n\t\tcontroller: siMcContainersCtrl\n\t};\n\n\tfunction siMcContainersCtrl($scope, McUtilContainers) {\n\t\t$scope.getContainers = McUtilContainers.getContainers;\n\t}\n}]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sp_angular_provider&lt;/sys_class_name&gt;&lt;sys_created_by&gt;james.tandy@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-20 00:07:06&lt;/sys_created_on&gt;&lt;sys_id&gt;c6542b7edbfd270074f7f2353a96199e&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;siMcContainers&lt;/sys_name&gt;&lt;sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Multi-Screen Catalog Item\"&gt;81381b32dbfd270074f7f2353a9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_angular_provider_c6542b7edbfd270074f7f2353a96199e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;james.tandy@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-20 00:07:06&lt;/sys_updated_on&gt;&lt;type&gt;directive&lt;/type&gt;&lt;/sp_angular_provider&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-162435666</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e8d1b2c3db0d77001c3e35a27a9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d72e0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>siMcContainers</target_name>\n<type>Widget Angular Provider</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_2ae2007edb326300f530c6fc34961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>james.tandy</sys_created_by><sys_created_on>2019-01-08 00:44:51</sys_created_on><sys_id>2ae2007edb326300f530c6fc34961936</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sc_cart_item</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sys_scope_privilege_2ae2007edb326300f530c6fc34961936</sys_update_name><sys_updated_by>james.tandy</sys_updated_by><sys_updated_on>2019-01-08 00:44:51</sys_updated_on><target_name>sc_cart_item</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>143392851</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>e8d1b2c3db0d77001c3e35a27a9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7ed0000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>sc_cart_item</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_9110f33adb31670074f7f2353a961998</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"McUtil\">dbf2673edbfd270074f7f2353a961928</sp_dependency><sp_widget display_value=\"Multi-Screen Catalog Item\">947027badbfd270074f7f2353a96195c</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:58:16</sys_created_on><sys_id>9110f33adb31670074f7f2353a961998</sys_id><sys_mod_count>0</sys_mod_count><sys_name>McUtil.Multi-Screen Catalog Item</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>m2m_sp_widget_dependency_9110f33adb31670074f7f2353a961998</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:58:16</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1928916454</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>ecd1b2c3db0d77001c3e35a27a9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7720000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>McUtil.Multi-Screen Catalog Item</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_82b4eb7edbfd270074f7f2353a96191c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>multicat</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>james.tandy@snc</sys_created_by><sys_created_on>2018-11-20 00:08:37</sys_created_on><sys_id>82b4eb7edbfd270074f7f2353a96191c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>multicat</sys_name><sys_package display_value=\"Multi-Screen Catalog Item\" source=\"x_snc_multicat\">81381b32dbfd270074f7f2353a9619d4</sys_package><sys_policy/><sys_scope display_value=\"Multi-Screen Catalog Item\">81381b32dbfd270074f7f2353a9619d4</sys_scope><sys_update_name>sp_page_82b4eb7edbfd270074f7f2353a96191c</sys_update_name><sys_updated_by>james.tandy@snc</sys_updated_by><sys_updated_on>2018-11-20 00:08:37</sys_updated_on><title>Multi-Screen Catalog Item</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=82b4eb7edbfd270074f7f2353a96191c\"/></record_update>]]></payload>\n<payload_hash>-1021596938</payload_hash>\n<remote_update_set display_value=\"Multi-Screen Catalog Item\">20d1b2c3db0d77001c3e35a27a9619d5</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>james.tandy</sys_created_by>\n<sys_created_on>2019-05-01 04:28:46</sys_created_on>\n<sys_id>ecd1b2c3db0d77001c3e35a27a9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a71a6d7490000001</sys_recorded_at>\n<sys_updated_by>james.tandy</sys_updated_by>\n<sys_updated_on>2019-05-01 04:28:46</sys_updated_on>\n<table/>\n<target_name>multicat</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-body-html-template.html",
    "content": "<div class=\"si-multicat-main\" si-mc-drag-drop-upload>\n\n  <!-- Drag and drop overlay -->\n  <div class=\"si-mc-drag-drop-overlay\">\n    <div class=\"si-mc-drag-drop-mask\"></div>\n    <div>\n      <i class=\"fa fa-upload\" aria-hidden=\"true\"></i>\n      <br/> ${Upload}\n    </div>\n  </div>\n\n  <div class=\"si-mc-content\">\n    <!-- Header -->\n    <div class=\"si-mc-head\">\n\n      <div class=\"si-mc-attachments\">\n        <div class=\"si-mc-label\">${Attachments}</div>\n        <button si-mc-button-upload>\n          <i class=\"fa fa-plus\" aria-hidden=\"true\"></i>\n        </button>\n        <si-mc-attachment-manager table=\"::c.data._attachmentTable\" sys-id=\"::c.data._generatedItemGUID\" omit-edit=\"false\"></si-mc-attachment-manager>\n      </div>\n\n\n\n      <!-- Indicators -->\n      <div class=\"si-mc-indicators\">\n        <div ng-repeat=\"i in c.getScreenCountAsArray() track by $index\" ng-class=\"{'si-mc-active': c.getCurrentScreen() === $index}\"\n          ng-click=\"c.goToScreen($index)\">{{$index + 1}}</div>\n      </div>\n\n    </div>\n\n    <!-- Main body -->\n    <div class=\"si-mc-mainbody\">\n\n      <!-- Intro screen -->\n      <div ng-include=\"'si-mc-intro-screen'\" ng-if=\"c.getCurrentScreen() == 0\"></div>\n\n      <!-- Form Screens -->\n      <div class=\"si-mc-form\">\n        <!-- spCatItem directive manages price changes for the catalog item -->\n        <sp-cat-item item=\"::data.sc_cat_item\" ></sp-cat-item>\n        <div class=\"si-mc-mainform container-fluid\">\n          <sp-model form-model=\"::data.sc_cat_item\" template-url=\"si-mc-form\" mandatory=\"c.mandatory\"></sp-model>\n        </div>\n      </div>\n\n      <!-- Order Now Screen -->\n      <div ng-if=\"c.isLastScreen() && !c.isRecordProducer()\">\n        <div ng-include=\"'si-mc-order-now-screen'\" onload=\"implementSelect2()\" ></div>\n      </div>\n\n    </div>\n    <!-- Actions -->\n    <div class=\"si-mc-actions\">\n      <div class=\"si-mc-action-bar\">\n        <!-- Left side (secondary) -->\n        <div class=\"si-mc-secondary\">\n          <button ng-click=\"c.previous()\" ng-if=\"c.getCurrentScreen() > 0\">\n            ${PREVIOUS}\n          </button>\n        </div>\n\n        <!-- Right side (primary) -->\n        <div class=\"si-mc-primary\">\n          <div class=\"action-group\">\n            <button ng-click=\"c.next()\" ng-if=\"!c.isLastScreen()\">\n              ${NEXT}\n            </button>\n            <button ng-click=\"c.triggerOnSubmit()\" ng-if=\"c.isLastScreen() && c.isRecordProducer()\">\n              ${SUBMIT}\n            </button>\n            <button ng-if=\"c.isLastScreen() && !c.isRecordProducer() && !c.isCartItem()\" ng-click=\"c.triggerAddToCart()\">\n              <i class=\"fa fa fa-shopping-cart\"></i>\n              &ensp;${ADD TO CART}\n            </button>\n            <button ng-if=\"c.isLastScreen() && !c.isRecordProducer() && c.isCartItem()\" ng-click=\"c.triggerUpdateCart()\">\n              <i class=\"fa fa fa-shopping-cart\"></i>\n              &ensp;${UPDATE CART}\n            </button>\n            <button ng-if=\"c.isLastScreen() && !c.isRecordProducer()\" ng-click=\"c.confirmOrder()\">\n              ${ORDER NOW}\n            </button>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-client-script.js",
    "content": "function ($scope, $location, nowAttachmentHandler, spScUtil, spUtil, spModal, McUtilUpload, McUtilContainers) {\n  var c = this;\n  var DEFAULT_RECORD_PRODUCER_REDIRECT_PAGE = 'ticket';\n\n\n  c.isFirstScreen = McUtilContainers.isFirstScreen;\n  c.isLastScreen = McUtilContainers.isLastScreen;\n  c.next = McUtilContainers.next;\n  c.previous = McUtilContainers.previous;\n  c.getCurrentScreenTitle = McUtilContainers.getCurrentScreenTitle;\n  c.getScreenCountAsArray = McUtilContainers.getScreenCountAsArray;\n  c.getCurrentScreen = McUtilContainers.getCurrentScreen;\n  c.goToScreen = McUtilContainers.goToScreen;\n  c.getScreenOfField = McUtilContainers.getScreenOfField;\n\n\t$scope.isSelect2 = false;\n\n  c.$onInit = function () {\n    McUtilContainers.init(c.data.sc_cat_item._sections, c.data.sc_cat_item.sys_class_name);\n\n    c.requestedFor = {\n      displayValue: c.data.requestedFor.displayValue,\n      value: c.data.requestedFor.value,\n      name: 'requested_for'\n    }\n\n    c.quantity = c.data.quantity ? c.data.quantity + \"\" : \"1\";\n  }\n\n  c.cancel = function() {\n    c.setCheckingOut(false);\n  }\n\n  c.getCurrentTitle = function(sys_class_name) {\n    if(c.getCurrentScreen() == 0) {\n      return c.data.sc_cat_item.name;\n    } else if (c.isLastScreen() && !c.isRecordProducer()) {\n      return c.options.checkoutTitle || 'Order Confirmation';\n    } else {\n      return c.getCurrentScreenTitle(sys_class_name, c.data.sc_cat_item.name);\n    }\n  }\n\n  c.isRecordProducer = function(){\n    return c.data.sc_cat_item.sys_class_name === 'sc_cat_item_producer';\n  }\n\n  c.confirmOrder = function() {\n    c.confirmed = 'asking';\n    spModal.open({\n      title: 'Confirm Order?',\n      message: 'Please confirm your order to proceed.'\n    }).then(function(confirmed) {\n      if (confirmed.label == 'OK') {\n        c.triggerOnSubmit();\n      }\n    });\n  }\n\n  c.triggerOnSubmit = function(){\n    if (validateMandatoryFields()) {\n      $scope.data.sc_cat_item.quantity = c.quantity;\n      $scope.data.sc_cat_item.item_action = \"order\";\n      if (g_form)\n        return g_form.submit();\n      return false;\n    }\n  }\n\n  c.triggerAddToCart = function () {\n    if (validateMandatoryFields()) {\n      $scope.data.sc_cat_item.item_action = \"add_to_cart\";\n      $scope.data.sc_cat_item.quantity = c.quantity;\n      if (g_form)\n        return g_form.submit();\n      return false;\n    }\n  }\n\n  c.triggerUpdateCart = function() {\n\t\t$scope.data.sc_cat_item.item_action = \"update_cart\";\n\t\t$scope.data.sc_cat_item.quantity = c.quantity;\n\t\tif (g_form)\n\t\t\treturn g_form.submit();\n\t\treturn false;\n\t}\n\n  c.hasImage = function() {\n    return c.data.sc_cat_item.picture != '';\n  }\n\n  c.isCartItem = function() {\n    return c.data.is_cart_item;\n  }\n\n  function validateMandatoryFields() {\n    var fieldNames = g_form.getFieldNames();\n    var mandatoryFieldsWithoutValue = fieldNames.filter(function(field) {\n      return g_form.isMandatory(field) && !hasValue(field, g_form);\n    });\n    if (mandatoryFieldsWithoutValue.length > 0) {\n      notifyUserOfMandFieldsWithoutValue(mandatoryFieldsWithoutValue);\n      c.goToScreen(c.getScreenOfField(mandatoryFieldsWithoutValue[0]));\n      return false;\n    } else {\n      return true;\n    }\n  }\n\n  function notifyUserOfMandFieldsWithoutValue(fieldNames) {\n    g_form.addErrorMessage('Some fields are incomplete');\n    fieldNames.forEach(function(fieldName) {\n      g_form.showFieldMsg(fieldName, \"This field must be completed\", 'error');\n    });\n  }\n\n  /**\n   * Check whether a particular field on a form has a value\n   * Copied from /scripts/sn/common/clientScript/glideFormFieldFactory.js\n   * @param  {String}  fieldName     The name of the field to check\n   * @param  {Object}  gFormInstance The GlideForm of the form with the field\n   * @return {Boolean}               Whether the field has a value\n   */\n  function hasValue(fieldName, gFormInstance) {\n\n    var field = gFormInstance.getField(fieldName);\n    var value = gFormInstance.getValue(fieldName);\n\n    switch (field.type) {\n      case 'boolean_confirm':\n        return value === 'true';\n      case 'boolean':\n        return true;\n      case 'currency':\n        var currencyValues = value.split(';');\n        return currencyValues[1] && currencyValues[1].length;\n    }\n\n    if (value === null) {\n      return false;\n    }\n\n    if (typeof value === 'undefined') {\n      return false;\n    }\n\n    var trimmed = String(value).trim();\n    return trimmed.length > 0;\n  }\n\n  /* Setup attachment handler */\n  $scope.attachmentHandler = new nowAttachmentHandler(function appendDone () {\n    $scope.$broadcast(\"sp.attachments.update\", c.data.form._attachmentGUID);\n  }, function appendError () {\n    /* $scope.errorMessages.push(error); */\n    /* spUtil.addErrorMessage(error.msg + error.fileName); */\n  });\n  $scope.$evalAsync(function() {\n    $scope.attachmentHandler.setParams($scope.data._attachmentTable, $scope.data._generatedItemGUID, 1024 * 1024 * $scope.data.maxAttachmentSize);\n  });\n\n  // Initialize the McUtilUpload service\n  McUtilUpload.init($scope.data._attachmentTable, $scope.data._generatedItemGUID);\n\n\n  c.getItemId = function () {\n\t\treturn $scope.data.sc_cat_item ? $scope.data.sc_cat_item.sys_id : -1;\n  };\n\n  function getOne() {\n    $scope.server.get({\n\t\t\taction: 'log_request',\n\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id,\n\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n    });\n    if ($scope.data.sc_cat_item.sys_class_name == \"sc_cat_item_producer\") {\n      postCatalogFormRequest().then(function (response) {\n        var a = response.data.result;\n        handleRedirect(a.table, a.sys_id);\n      });\n    } else {\n      if (c.data.sys_properties.twostep) {\n        // Set additional parameters and add them to orderNow function\n        var additionalParms = {\n          sysparm_requested_for: c.requestedFor.value,\n          special_instructions: c.special_instructions,\n          delivery_address: c.deliverTo\n        };\n        spScUtil.orderNow($scope.data.sc_cat_item.sys_id, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID, additionalParms).then(function (response) {\n          var a = response.data.result;\n          $location.search('id=sc_request&is_new_order=true&table=sc_request&sys_id=' + a.sys_id);\n        });\n      } else {\n        spScUtil.orderNow($scope.data.sc_cat_item.sys_id, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID).then(function (response) {\n          var a = response.data.result;\n          $location.search('id=sc_request&is_new_order=true&table=sc_request&sys_id=' + a.sys_id);\n        });\n      }\n    }\n  }\n\n  function handleRedirect(table, sys_id) {\n    var page = '';\n    if (c.isRecordProducer())\n      page = c.options.record_producer_redirect_page || DEFAULT_RECORD_PRODUCER_REDIRECT_PAGE;\n    $location.search(formatRedirectUrl(page, table, sys_id));\n  }\n\n  function formatRedirectUrl(page, table, sys_id) {\n\t\tvar url;\n\t\tvar paramObj = {page: page, table: table, sys_id: sys_id};\n\t\turl = spUtil.format(c.options.url, paramObj);\n\t\treturn url;\n\t}\n\n  function getVarData(fields) {\n\t\tvar reqData = {};\n\t\tfor(var obj in fields)\n\t\t\treqData[fields[obj].name] = fields[obj].value;\n\t\treturn reqData;\n\t}\n\n  function postCatalogFormRequest() {\n\t\tif ($scope.data.sc_cat_item.sys_class_name === \"sc_cat_item_producer\")\n\t\t\treturn spScUtil.submitProducer($scope.data.sc_cat_item.sys_id, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID/*, $scope.data.workspaceParams*/);\n    else if ($scope.data.sc_cat_item.item_action === \"add_to_cart\")\n      return spScUtil.addToCart($scope.data.sc_cat_item.sys_id, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields), $scope.data._generatedItemGUID);\n    else if ($scope.data.is_cart_item)\n\t\t\treturn spScUtil.updateCart($scope.data._generatedItemGUID, $scope.data.sc_cat_item.quantity, getVarData($scope.data.sc_cat_item._fields));\n  }\n\n  function addToCart() {\n    $scope.server.get({\n\t\t\taction: 'log_request',\n\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id,\n\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n    });\n    postCatalogFormRequest().then(function(response) {\n      $rootScope.$broadcast(\"$sp.service_catalog.cart.add_item\");\n      $rootScope.$broadcast(\"$sp.service_catalog.cart.update\");\n      $scope.$emit(\"$sp.sc_cat_item.add_to_cart\", $scope.data._generatedItemGUID);\n      spUtil.addInfoMessage('Your item has been added to your Cart.');\n      // Refresh the server data so that we won't get a duplicate order\n      $scope.server.refresh();\n    });\n  }\n\n  function updateCart() {\n\t\tpostCatalogFormRequest().then(function(response) {\n\t\t\t$location.search('id=sc_cart');\n\t\t})\n\t}\n\n\tvar g_form;\n\t$scope.$on('spModel.gForm.initialized', function(e, gFormInstance){\n    if (gFormInstance.getSysId() != -1 && gFormInstance.getSysId() != c.getItemId())\n\t\t\treturn;\n    g_form = gFormInstance;\n    // This runs after all onSubmit scripts have executed\n\t\tg_form.$private.events.on('submitted', function(){\n\t\t\tif ($scope.data.sc_cat_item.item_action === \"order\")\n        getOne();\n      else if ($scope.data.sc_cat_item.item_action === \"add_to_cart\")\n        addToCart();\n      else if ($scope.data.sc_cat_item.item_action == \"update_cart\")\n\t\t\t\tupdateCart();\n\t\t});\n\t});\n}"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-css.scss",
    "content": "/* SCSS Variables and Mixins*/\n$si-mc-dark-color: #2D2B5D;\n$si-mc-light-text-color: #FFFFFF;\n$si-mc-action-background-color: #DDDDDD;\n\n$si-mc-max-height: 700px;\n$si-mc-background-color: #FFFFFF;\n$si-mc-indicator-background-color: #EEEEEE;\n$si-mc-indicator-background-color-active: $si-mc-dark-color !default;\n$si-mc-field-label-color: $si-mc-dark-color !default;\n$si-mc-title-color: $si-mc-dark-color !default;\n$si-mc-indicator-color: $si-mc-dark-color !default;\n$si-mc-indicator-color-active: $si-mc-light-text-color !default;\n$si-mc-attachment-color: $si-mc-dark-color !default;\n$si-mc-attachment-btn-background-color: $si-mc-dark-color !default;\n$si-mc-attachment-pill-background-color: #EEEEEE;\n$si-mc-attachment-btn-color: $si-mc-light-text-color !default;\n$si-mc-border-radius: 3px !default;\n$si-mc-action-bar-background-color: $si-mc-action-background-color;\n$si-mc-image-height: auto;\n$si-mc-image-width: auto;\n\n@mixin title-pack {\n  font-size: 40px;\n  color: $si-mc-title-color;\n  letter-spacing: -0.5px;\n}\n\n@mixin label-pack {\n  font-size: 16px;\n  color: $si-mc-field-label-color;\n  line-height: 24px;\n}\n\n/** SCSS Styles **/\n\n// Drag-drop styles\n\n.si-mc-drag-drop-overlay {\n  display: none;\n}\n\n.is-dragover .si-mc-drag-drop-overlay {\n  display: flex;\n}\n\n.si-mc-drag-drop-overlay {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  background: radial-gradient(rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0.5) 80%);\n  border-radius: $si-mc-border-radius;\n  top: 0;\n  left: 0;\n  z-index: 20;\n  justify-content: center;\n  align-items: center;\n  font-size: 80px;\n  color: #ccc;\n  text-align: center;\n  font-weight: bold;\n  text-transform: uppercase;\n  border: 10px dashed #ccc;\n}\n\n.si-mc-drag-drop-mask {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n  z-index: 21;\n  cursor: default;\n}\n\n/* Main Content */\n\n.si-multicat-main {\n  width: 100%;\n  height: 100%;\n  min-height: 540px;\n  max-height: $si-mc-max-height;\n}\n\n.si-mc-content {\n  background-color: $si-mc-background-color;\n  border-radius: $si-mc-border-radius;\n  display: grid;\n  grid-template-rows: 100px auto 15%;\n  grid-template-areas:\n  \"header\"\n  \"content\"\n  \"footer\";\n}\n\n/* Header */\n\n.si-mc-head {\n  grid-area: header;\n  display: flex;\n  justify-content: flex-end;\n  align-items: center;\n  padding-right: 40px;\n}\n\n.si-mc-indicators {\n  display: flex;\n  justify-content: flex-end;\n\n  font-size: 18px;\n\n  div {\n    flex: 0 0 30px;\n    width: 30px;\n    height: 30px;\n    border-radius: 15px;\n    background-color: $si-mc-indicator-background-color;\n    margin-left: 5px;\n    color: $si-mc-indicator-color;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .si-mc-active {\n    background-color: $si-mc-indicator-background-color-active;\n    color: $si-mc-indicator-color-active;\n  }\n}\n\n.si-mc-attachments, .si-mc-attachments-mobile {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-size: 13px;\n  border-radius: $si-mc-border-radius;\n  color: $si-mc-attachment-color;\n\n  div {\n    height: 30px;\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0 5px;\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-end;\n  }\n\n  li {\n    background-color: $si-mc-attachment-pill-background-color;\n    color: $si-mc-attachment-color;\n    border-radius: $si-mc-border-radius;\n    padding: 3px 5px;\n    cursor: pointer;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    max-width: 170px;\n    margin: 3px 0 3px 5px;\n\n    a, a:hover, a:visited, a:focus {\n      color: $si-mc-attachment-color;\n    }\n\n  }\n\n  .si-mc-label {\n    margin-right: 5px;\n    padding-top: 6px;\n  }\n\n  button {\n    height: 23px;\n    width: 23px;\n    border-radius: $si-mc-border-radius;\n    border: none;\n    background-color: $si-mc-attachment-btn-background-color;\n    color: $si-mc-attachment-btn-color;\n    position: relative;\n  }\n\n  i {\n    position: absolute;\n    top: 25%;\n    left: 28%;\n  }\n\n  li:last-of-type {\n    margin-right: 0;\n  }\n}\n\n.si-mc-attachments-mobile {\n  display: none;\n}\n\n/* Main Body */\n.si-mc-mainbody {\n  grid-area: content;\n  margin-bottom: 40px;\n}\n\n.si-mc-intro-screen {\n  display: flex;\n\n  h1 {\n    @include title-pack;\n    margin-top: 0px !important;\n  }\n}\n\n.si-mc-item-img {\n  display: flex;\n  justify-content: center;\n  align-items: flex-start;\n  min-width: 300px;\n  margin: 0px 20px 0px 60px;\n}\n\n.si-mc-cust-desc {\n  margin: 30px 10px 30px 10px;\n}\n\n.si-mc-cust-desc-no-pic {\n    margin: 30px 40px;\n}\n\n.si-mc-short-desc {\n  font-size: 16px;\n  color: #979797;\n  line-height: 20px;\n  margin-bottom: 30px !important;\n}\n\n.si-mc-form {\n  margin: 0 60px 0 60px;\n\n  legend {\n    @include title-pack;\n    margin-bottom: 30px;\n  }\n\n  label {\n    @include label-pack;\n  }\n}\n\n.si-mc-extra-detail {\n  display: flex;\n  flex-wrap: wrap;\n}\n\n.si-mc-detail-flex-shrink {\n  flex: 0 1;\n}\n\n.si-mc-detail-flex-grow {\n  flex: 1 0;\n  margin: 0 60px 0 0;\n\n  h1 {\n    @include title-pack;\n    margin-top: 0px !important;\n  }\n\n  label {\n    @include label-pack;\n  }\n}\n\n.si-mc-checkout-data {\n  margin-bottom: 10px;\n}\n\n.si-mc-checkout-data:last-of-type {\n  margin-bottom: 0;\n}\n\n/* Footer */\n.si-mc-actions {\n  grid-area: footer;\n  height: 100%;\n}\n\n.si-mc-action-bar {\n  min-height: 80px;\n  border-bottom-left-radius: $si-mc-border-radius;\n  border-bottom-right-radius: $si-mc-border-radius;\n  background-color: $si-mc-action-bar-background-color;\n  display: flex;\n  align-items: center;\n\n  button {\n    height: 44px;\n    padding: 10px 30px 10px 30px;\n    border-radius: $si-mc-border-radius;\n  }\n}\n\n.si-mc-primary {\n  flex: 1 0;\n\n  .action-group {\n    float: right;\n  }\n\n  .action-group:last-child {\n    margin-right: 20px;\n  }\n\n\n  button {\n    background-color: $si-mc-dark-color;\n    border: 0px;\n    font-size: 18px;\n    color: $si-mc-light-text-color;\n  }\n}\n\n.si-mc-secondary {\n  flex: 1 0;\n\n  button {\n    background-color: transparent;\n    border: 2px solid $si-mc-dark-color;\n    color: $si-mc-dark-color;\n    font-size: 16px;\n    margin-left: 20px;\n  }\n}\n\n\n/* Media Queries */\n@media (min-width: 320px) and (max-width: 480px) {\n    .container-fluid {\n        padding: 0 !important;\n    }\n\n    .si-mc-mainbody {\n        margin-top: 40px;\n        margin-bottom: 0;\n    }\n\n    .si-mc-cust-desc, .si-mc-cust-desc-no-pic {\n        margin: 30px 20px;\n    }\n\n  .si-mc-content {\n    background-color: $si-mc-background-color;\n    border-radius: $si-mc-border-radius;\n    display: grid;\n    grid-template-rows: auto 15%;\n    grid-template-areas:\n    \"content\"\n    \"footer\";\n  }\n\n  .si-mc-head {\n    display: none;\n  }\n\n  .si-mc-intro-screen {\n      flex-wrap: wrap;\n      min-height: 300px;\n  }\n\n  .si-mc-item-img {\n      margin: 0px 20px 0px 20px;\n  }\n\n  .si-mc-form {\n    margin: 0px 20px;\n\n    legend {\n      font-size: 30px;\n    }\n  }\n\n  .si-mc-detail-flex-grow {\n    margin: 20px 20px 40px 20px;\n  }\n\n  .si-mc-action-bar {\n    min-height: 0px;\n    border-bottom-left-radius: $si-mc-border-radius;\n    border-bottom-right-radius: $si-mc-border-radius;\n    background-color: $si-mc-action-bar-background-color;\n    display: flex;\n    flex-direction: column;\n\n    button {\n      height: 44px;\n      width: 100%;\n      padding: 10px 0 10px 0;\n      margin: 10px 0 0 0;\n      border-radius: $si-mc-border-radius;\n    }\n  }\n\n  .si-mc-action-bar > div {\n    width: 100%;\n    flex: 0 1;\n    padding-left: 20px;\n    padding-right: 20px;\n  }\n\n  .action-group {\n    width: 100%;\n  }\n\n  .action-group:last-child {\n    margin-right: 0 !important;\n    margin-bottom: 10px;\n  }\n\n  .si-mc-attachments {\n    display: none;\n  }\n\n  .si-mc-attachments-mobile {\n    display: flex;\n\n    ul {\n      flex-direction: column;\n    }\n\n    .si-mc-label {\n      position: relative;\n      flex: 1 0;\n      align-self: flex-start;\n\n      span {\n        position: relative;\n        bottom: 5px;\n      }\n    }\n  }\n\n  .si-mc-indicators {\n    display: none;\n  }\n}"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-link-script.js",
    "content": "function(scope, elem) {\n\n\tvar $timeout = $injector.get('$timeout');\n\n\tscope.implementSelect2 = function() {\n\t\t$timeout(function() {\n\t\t\tvar qs = elem.find('#quantitySelector');\n\t\t\tqs.select2();\n\t\t\tscope.isSelect2 = true;\n\t\t});\n\t}\n\n}"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"show_add_cart_button\",\n    \"section\": \"Behavior\",\n    \"default_value\": \"true\",\n    \"label\": \"Show Add Cart Button\",\n    \"type\": \"boolean\"\n  },\n  {\n    \"name\": \"show_delivery_time\",\n    \"section\": \"Presentation\",\n    \"default_value\": \"true\",\n    \"label\": \"Show Delivery Time\",\n    \"type\": \"boolean\"\n  },\n  {\n    \"name\": \"show_price\",\n    \"section\": \"Presentation\",\n    \"default_value\": \"true\",\n    \"label\": \"Show Price\",\n    \"type\": \"boolean\"\n  },\n  {\n    \"name\": \"redirect_page_on_order_now\",\n    \"section\": \"Behavior\",\n    \"default_value\": \"sc_request\",\n    \"label\": \"Redirect Page on Order Now\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"redirect_page_on_submit\",\n    \"section\": \"Behavior\",\n    \"default_value\": \"ticket\",\n    \"label\": \"Redirect Page on Submit\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-multi-screen-catalog-item/widget/pe-multi-screen-catalog-item.u-server-script.js",
    "content": "// populate the 'data' variable with catalog item, variables, and variable view\n(function () {\n\n  options.url = options.url || 'id={page}&is_new_order=true&table={table}&sys_id={sys_id}';\n  options.disable_req_for = options.disable_req_for || true;\n  // Comma separated fields to display in snRecordPicker directive\n  options.reqForDispCols = options.reqForDispCols || 'name';\n  options.reqForQuery = options.reqForQuery || 'active=true';\n  // Comma separated fields to search for in snRecordPicker directive\n  options.reqForSearchCols = options.reqForSearchCols || 'name';\n\n  if (input && input.action === 'log_request') {\n    $sp.logStat('Cat Item Request', input.itemDetails.sys_class_name, input.itemDetails.sys_id, input.itemDetails.name);\n    return;\n  }\n\n  // Are we using a two-step checkout process?\n  data.sys_properties = {\n    twostep: gs.getProperty(\"glide.sc.sp.twostep\", \"true\") == 'true'\n    //twostep: false\n  };\n\n  // Define our initial set of choices and value for the quantity field\n  var clGenerator = new GlideChoiceList();\n  var choiceListQuantity = clGenerator.getChoiceList(\"sc_cart_item\", \"quantity\");\n  var choicelistQuantityData = [];\n  //Function call changed from size() to getSize() for ScopedChoiceList\n  for (var i = 0; i < choiceListQuantity.getSize(); i++) {\n    //Function call changed from get() to getChoice() for ScopedChoiceList\n    var choice = choiceListQuantity.getChoice(i);\n    if (!isNaN(choice.getValue()))\n      choicelistQuantityData.push({ value: parseInt(choice.getValue()), label: choice.getLabel() });\n  }\n  data.choiceListQuantity = choicelistQuantityData;\n  data.quantity = choicelistQuantityData[0].value;\n\n  // Are we editing an item from the cart? If so, populate our data based on the original item\n  var edit_parm = $sp.getParameter('edit');\n  data.is_cart_item = edit_parm == 'cart';\n\n  var cartName = data.is_cart_item ? 'DEFAULT' : 'saved_items';\n  var cart = new sn_sc.CartJS(cartName);\n  data.requestedFor = {value: gs.getUser().getID(), displayValue: gs.getUser().getDisplayName()};\n\n\n  if (edit_parm) {\n    var cart_item_id = $sp.getParameter(\"sys_id\");\n    var gr = new GlideRecord(\"sc_cart_item\");\n    if (!gr.get(cart_item_id) || gr.cart != cart.getCartID()) {\n      data.recordFound = false;\n      return;\n    }\n\n    var catItemData = {};\n    catItemData.sys_id = gr.getValue('cat_item');\n    catItemData.cart_item_id = gr.getUniqueValue();\n    catItemData.table = \"sc_cart_item\";\n    catItemData.is_ordering = true;\n\n    data.sc_cat_item = $sp.getCatalogItem(catItemData.sys_id);\n    data.sc_cat_item.isCartItem = true;\n    var values = getValues(cart_item_id);\n\n    for (var f in data.sc_cat_item._fields) {\n      // Put the values into the cat item fields\n      var field = data.sc_cat_item._fields[f];\n      if (typeof values[f] != \"undefined\" && typeof values[f].value != \"undefined\") {\n        if (values[f].type == 9 || values[f].type == 10)\n          field.value = values[f].displayValue;\n        else if (values[f].type == 25)\n          field.value = values[f].decrypted_value;\n        else\n          field.value = values[f].value;\n        field.displayValue = values[f].displayValue;\n        field.display_value_list = values[f].display_value_list;\n      }\n      updatePriceOnField(field);\n    }\n\n    data._generatedItemGUID = cart_item_id;\n    data.quantity = '' + gr.quantity;\n\n  } else {\n    data.sys_id = $sp.getParameter('sys_id');\n    data.sc_cat_item = $sp.getCatalogItem(data.sys_id, true);\n    data._generatedItemGUID = gs.generateGUID();\n  }\n\n  data._attachmentTable = 'sc_cart_item';\n\n\n  data.showPrices = $sp.showCatalogPrices();\n\n  data.maxAttachmentSize = parseInt(gs.getProperty('com.glide.attachment.max_size', 1024));\n  if (isNaN(data.maxAttachmentSize))\n    data.maxAttachmentSize = 24;\n\n  function getValues(sys_id) {\n    var qs = new sn_sc.VariablePoolQuestionSetJS();\n    qs.setCartID(sys_id);\n    qs.load();\n    var values = {};\n    var questions = qs.getFlatQuestions();\n    for (var i = 0; i < questions.length; i++) {\n      var qKey = questions[i].name;\n      if (typeof qKey == 'undefined' || qKey == '')\n        qKey = \"IO:\" + questions[i].sys_id;\n      values[qKey] = questions[i];\n    }\n    return values;\n  }\n\n  // Pricing utility functions\n  function setPrice(field, p, rp) {\n    if (p != undefined)\n      field.price = p;\n    if (rp != undefined)\n      field.recurring_price = rp;\n  }\n\n  function updatePriceForReferenceTable(field) {\n    var tableName = field.refTable + '';\n    if (tableName != undefined && tableName != null && tableName != '') {\n      var gr = new GlideRecord(tableName);\n      if (gr.isValid()) {\n        if (gr.get(field.value) && gr.isValidRecord()) {\n          updatePrice(gr, field);\n          updateRecurringPrice(gr, field);\n        }\n      }\n    }\n  }\n\n  function updatePriceForListCollector(field) {\n    var tableName = field.refTable + '';\n    if (tableName != undefined && tableName != null && tableName != '') {\n      var gr = new GlideRecord(tableName);\n      if (gr.isValid()) {\n        var values = field.value.split(',');\n        gr.addQuery('sys_id', values);\n        gr.query();\n        var p = 0.0;\n        var rp = 0.0;\n        var price_value_list = [];\n        while (gr.next()) {\n          var price_field = {};\n          updatePrice(gr, price_field);\n          updateRecurringPrice(gr, price_field);\n          if (price_field.price)\n            p += Number(price_field.price);\n          else\n            price_field.price = 0.0;\n          if (price_field.recurring_price)\n            rp += Number(price_field.recurring_price);\n          else\n            price_field.recurring_price = 0.0;\n          price_value_list.push(price_field);\n        }\n        field.price = p;\n        field.recurring_price = rp;\n        field.price_value_list = price_value_list;\n      }\n    }\n  }\n\n  function updatePrice(gr, field) {\n    if (gr.isValidField('price'))\n      field.price = gr.getValue('price');\n    else if (gr.isValidField('u_price'))\n      field.price = gr.getValue('u_price');\n  }\n\n  function updateRecurringPrice(gr, field) {\n    if (gr.isValidField('recurring_price'))\n      field.recurring_price = gr.getValue('recurring_price');\n    else if (gr.isValidField('u_recurring_price'))\n      field.recurring_price = gr.getValue('u_recurring_price');\n  }\n\n  function updatePriceOnField(field) {\n    if (field.type == 'boolean' || field.type == 'boolean_confirm') {\n      if (field.value == 'true' || field.value == true)\n        setPrice(field, field._pricing.price_if_checked, field._pricing.recurring_price_if_checked);\n      else\n        setPrice(field, 0, 0);\n    } else if (field.choices) {\n      field.choices.forEach(function (choice) {\n        if (choice.value + '' == field.value + '')\n          setPrice(field, choice.price, choice.recurring_price);\n      });\n    } else if (field._pricing && field._pricing.pricing_implications === true) {\n      if (field.type == 'reference')\n        updatePriceForReferenceTable(field);\n      else if (field.type == 'glide_list')\n        updatePriceForListCollector(field);\n    }\n  }\n})()"
  },
  {
    "path": "src/pe-my-weather/README.md",
    "content": "# My Weather\n\n## Description\n\nEnhanced weather widget that follows you. Gets your current location using browser when given access. If not, falls back to the user location in sys_user table.\n\n## Screenshot\n\n![My Weather](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-my-weather/images/pe-my-weather.png)\n\n## Additional Information/Notes\n\n- This has a simple integration to [https://openweathermap.org/](https://openweathermap.org/).\n- When the widget loads, your browser will ask your permission to access current location.\n\n![browser_location](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-my-weather/images/browser_location.png)\n\n- Once you grant access, widget will show weather info using your browser location.\n- If you choose not to grant access, the widget will use location in sys_user table to fetch the weather\n\n## Installation\n\nDownload and install update set **[pe-my-weather.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-my-weather/pe-my-weather.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n- I have included a demo API key for use as part of the update set. It is advised to sign up and get your own API key from here [https://openweathermap.org/api'](https://openweathermap.org/api)\n- Once you have your own API key, you can switch out the demo key by changing the System property called **openweathermap.apikey**\n\n![openweathermap.apikey](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-my-weather/images/sys_property.png)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-my-weather/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"My Weather\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\"],\n  \"contributors\": [\"Sushruth Chandrashek\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-my-weather\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Enhanced weather widget that follows you. Gets your current location using browser when given access. If not, falls back to the user location in sys_user table.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-my-weather/pe-my-weather.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-27 19:14:55\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>My Weather</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>90d0c702db58330040dff7b51d9619d3</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-03-27 19:14:55</sys_created_on>\n<sys_id>f3fc2544db6c770040dff7b51d9619e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-03-27 19:14:55</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_e3d00b02db58330040dff7b51d961970</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function MyWeatherController() {\n\tvar c = this;\n\tc.$onInit = function () {\n\t\tc.getWeather = getWeather;\n\t\tc.getWeather();\n\t};\n\t\n\tfunction getWeather(){\n\t\tif (navigator.geolocation) {\n\t\t\tvar location_timeout = setTimeout(\"geolocFail()\", 10000);\n\t\t\t\n\t\t\tnavigator.geolocation.getCurrentPosition(function(position) {\n\t\t\t\tclearTimeout(location_timeout);\n\t\t\t\tc.server.get({\n\t\t\t\t\tbrowserLocation: true,\n\t\t\t\t\tlat:position.coords.latitude,\n\t\t\t\t\tlng:position.coords.longitude\n\t\t\t\t}).then(function(r) {\n\t\t\t\t\tc.weather = r.data;\n\t\t\t\t});\n\t\t\t}, function(error) {\n\t\t\t\tclearTimeout(location_timeout);\n\t\t\t\tgeolocFail();\n\t\t\t});\n\t\t} else {\n\t\t\t// Fallback for no geolocation\n\t\t\tgeolocFail();\n\t\t}\n\t\t\n\t}\n\t\n\tfunction geolocFail(){\n\t\tc.server.get({\n\t\t\tbrowserLocation: false\n\t\t}).then(function(r) {\n\t\t\tc.weather = r.data;\n\t\t});\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.my-weather{&amp;#13;\npadding:10px;&amp;#13;\n  .city{&amp;#13;\n  \tfont-weight:bold;&amp;#13;\n    font-size:16px;&amp;#13;\n  }  &amp;#13;\n  .weather-deets{&amp;#13;\n    .temp{&amp;#13;\n    font-weight:bold;&amp;#13;\n    }&amp;#13;\n    .max-min{&amp;#13;\n    \tmargin-left:10px;&amp;#13;\n    }&amp;#13;\n    .max{&amp;#13;\n    \tmargin-left:5px;&amp;#13;\n      &amp;#13;\n    }&amp;#13;\n    .min{&amp;#13;\n    margin-left:5px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;my_weather&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;My Weather&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\tvar apikey = gs.getProperty('openweathermap.apikey');\n\t\n\t\n\tif(input){\n\t\tif(input.browserLocation){\n\t\t\tvar ws = new GlideHTTPRequest\n\t\t\t(\"https://api.openweathermap.org/data/2.5/weather?lat=\"+input.lat+\"&amp;lon=\"+input.lng+\"&amp;appid=\"+apikey+\"&amp;units=imperial\");\n\t\t\t\n\t\t\tvar response = ws.get();\n\t\t\tif (response) {\n\t\t\t\tvar responseBody = JSON.parse(response.getBody());\n\t\t\t\t$sp.log(responseBody);\n\t\t\t\tif (response != null) {\n\t\t\t\t\tdata.errorMessage = false;\n\t\t\t\t\tdata.channel = responseBody;\n\t\t\t\t\tdata.IconUrl = \"https://openweathermap.org/img/w/\" +\n\t\t\t\t\tdata.channel.weather[0].icon + \".png\";\n\t\t\t\t\tdata.code = responseBody.sys.country;\n\t\t\t\t\tdata.main = responseBody.main;\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tdata.errorMessage = gs.getMessage(\"Can't find weather\") + \": \" + input.place;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata.errorMessage = gs.getMessage(\"An error occurred while making the requested connection\");\n\t\t\t}\n\t\t}\n\t\tif(!input.browserLocation){\n\t\t\tvar rec = new GlideRecord('sys_user');\n\t\t\trec.get(gs.getUserID());\n\t\t\tif(rec.location){\n\t\t\t\tdata.location = rec.location.city.replaceAll(' ', '%20');\n\t\t\t}\n\t\t\t\n\t\t\t$sp.log(data.location);\n\t\t\tvar ws = new GlideHTTPRequest\n\t\t\t(\"https://api.openweathermap.org/data/2.5/weather?q=\"+data.location+\"&amp;appid=\"+apikey+\"&amp;units=imperial\");\n\t\t\t\n\t\t\tvar response = ws.get();\n\t\t\tif (response) {\n\t\t\t\tvar responseBody = JSON.parse(response.getBody());\n\t\t\t\t$sp.log(responseBody);\n\t\t\t\tif (response != null) {\n\t\t\t\t\tdata.errorMessage = false;\n\t\t\t\t\tdata.channel = responseBody;\n\t\t\t\t\tdata.IconUrl = \"https://openweathermap.org/img/w/\" +\n\t\t\t\t\tdata.channel.weather[0].icon + \".png\";\n\t\t\t\t\tdata.code = responseBody.sys.country;\n\t\t\t\t\tdata.main = responseBody.main;\n\t\t\t\t} else {\n\t\t\t\t\tdata.errorMessage = gs.getMessage(\"Can't find weather\") + \": \" + input.place;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata.errorMessage = gs.getMessage(\"An error occurred while making the requested connection\");\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-21 20:13:30&lt;/sys_created_on&gt;&lt;sys_id&gt;e3d00b02db58330040dff7b51d961970&lt;/sys_id&gt;&lt;sys_mod_count&gt;34&lt;/sys_mod_count&gt;&lt;sys_name&gt;My Weather&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_e3d00b02db58330040dff7b51d961970&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-27 19:13:28&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"my-weather\"&gt;\n  &lt;p class=\"city\"&gt;Current Weather in {{c.weather.channel.name}}&lt;/p&gt;\n  &lt;p class=\"weather-deets\"&gt;\n    &lt;span class=\"icon\"&gt;&lt;img src=\"{{c.weather.IconUrl}}\"/&gt;&lt;/span&gt;\n    &lt;span class=\"temp\"&gt;{{c.weather.main.temp}}F, &lt;/span&gt;\n    &lt;span class=\"max-min\"&gt;Today's Max:&lt;span class=\"max temp\"&gt;{{c.weather.main.temp_max}}F&lt;/span&gt; and Min:&lt;span class=\"min temp\"&gt;{{c.weather.main.temp_min}}F&lt;/span&gt;  &lt;/span&gt;\n  &lt;/p&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>313620254</payload_hash>\n<remote_update_set display_value=\"My Weather\">f3fc2544db6c770040dff7b51d9619e8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-03-27 19:14:55</sys_created_on>\n<sys_id>3bfc2544db6c770040dff7b51d9619e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169c092500b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-03-27 19:14:55</sys_updated_on>\n<table/>\n<target_name>My Weather</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>a6ac21440f6c7700f6865de2fd903b5b</update_guid>\n<update_guid_history>a6ac21440f6c7700f6865de2fd903b5b:313620254,bf1c69040d6c77001e2e1a890f93bb91:-240288301,3046e5007a6c770009534233bd780271:635112315,ade5a100256c7700a2de4d7585cea7ac:-1906912589,c9d561003e6c770006c2948f886f3ccd:1946620528,66c2e90c2d2c7700dd5345ba14fa21b9:365197694,8202e9c8122c7700fbd88ac40ac6d9ed:1403714975,15c1e588eb2c7700767b64043c0530a5:2003711663,61a12dc4b22c7700971c0855d734ea29:354183951,8dba1904f82c770077a90074f5947674:-1575599711,958a59c4c1e87700cabdc3d364755c05:230648493,42874d8463e87700cfdf08d0de688fe3:1099887000,47cd8176ec54b3002b761e08f84ea79f:675007767,fc9dcd36f554b30038ddfec9c9e60449:1101735353,0e5d45364354b300b51dae344879a9f5:-998163197,a3ec170e7e983300ea1a8f98cc65fcb1:-1043805639,c8cc130e0f98330076122e6c28a4c5f3:1066977513,e59ecb42f6983300843e561241dcdacd:-1850920963,e81bc30e44583300e4d1d98293719a6a:-2041144365,899acfca7a58330039ce0bce98ac9056:-1936268011,167a8bcab85833009add761f5f9b2da7:1400639783,a22a03caf6583300ba16dcb000730380:-756006697,e3c9cb8a2f5833000e23425acceefc86:999157725,c2498b4a2d583300d628009ade8eeb9e:177737411,db088b4a7e583300534b1cfbd60c4798:-1297560587,a787c34a1f583300e65988630698a6e6:-443721163,7ec5cf06b6583300a1cf66dc34c46546:549703305,45048f06e7583300391ba65f8427adab:-1717664391,b5728fc2c2583300079006fc0d11c383:1515442494,aa22c3c251583300d10c358e9eae80ae:2034731967,b4d14f82a25833002154da4bff248e0d:27383805,dd81c782935833004ac7dd49a638a3df:-824435166,0c11cb02dd58330064559833a6731855:1262022507,1c018b02eb583300194570003ae23b90:470788936,67d00b02df5833007230dfdfe0327571:-1878643254</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_701cc78edb58330040dff7b51d96191a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description/><ignore_cache>false</ignore_cache><is_private>false</is_private><name>openweathermap.apikey</name><read_roles/><suffix/><sys_class_name>sys_properties</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-03-21 21:02:46</sys_created_on><sys_id>701cc78edb58330040dff7b51d96191a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>openweathermap.apikey</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_properties_701cc78edb58330040dff7b51d96191a</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2019-03-21 21:02:46</sys_updated_on><type>string</type><value>b550f506252e8d0992bf21fa0769686a</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=701cc78edb58330040dff7b51d96191a\"/></record_update>]]></payload>\n<payload_hash>838045114</payload_hash>\n<remote_update_set display_value=\"My Weather\">f3fc2544db6c770040dff7b51d9619e8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-03-27 19:14:55</sys_created_on>\n<sys_id>fffc2544db6c770040dff7b51d9619e8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169a210428a0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-03-27 19:14:55</sys_updated_on>\n<table/>\n<target_name>openweathermap.apikey</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a92c0b8eb9583300e2f6ecab38ab151a</update_guid>\n<update_guid_history>a92c0b8eb9583300e2f6ecab38ab151a:838045114</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-my-weather/widget/pe-my-weather.u-body-html-template.html",
    "content": "<div class=\"my-weather\">\n    <p class=\"city\">Current Weather in {{c.weather.channel.name}}</p>\n    <p class=\"weather-deets\">\n      <span class=\"icon\"><img src=\"{{c.weather.IconUrl}}\"/></span>\n      <span class=\"temp\">{{c.weather.main.temp}}F, </span>\n      <span class=\"max-min\">Today's Max:<span class=\"max temp\">{{c.weather.main.temp_max}}F</span> and Min:<span class=\"min temp\">{{c.weather.main.temp_min}}F</span>  </span>\n    </p>\n  </div>"
  },
  {
    "path": "src/pe-my-weather/widget/pe-my-weather.u-client-script.js",
    "content": "function MyWeatherController() {\n\tvar c = this;\n\tc.$onInit = function () {\n\t\tc.getWeather = getWeather;\n\t\tc.getWeather();\n\t};\n\n\tfunction getWeather(){\n\t\tif (navigator.geolocation) {\n\t\t\tvar location_timeout = setTimeout(\"geolocFail()\", 10000);\n\n\t\t\tnavigator.geolocation.getCurrentPosition(function(position) {\n\t\t\t\tclearTimeout(location_timeout);\n\t\t\t\tc.server.get({\n\t\t\t\t\tbrowserLocation: true,\n\t\t\t\t\tlat:position.coords.latitude,\n\t\t\t\t\tlng:position.coords.longitude\n\t\t\t\t}).then(function(r) {\n\t\t\t\t\tc.weather = r.data;\n\t\t\t\t});\n\t\t\t}, function(error) {\n\t\t\t\tclearTimeout(location_timeout);\n\t\t\t\tgeolocFail();\n\t\t\t});\n\t\t} else {\n\t\t\t// Fallback for no geolocation\n\t\t\tgeolocFail();\n\t\t}\n\n\t}\n\n\tfunction geolocFail(){\n\t\tc.server.get({\n\t\t\tbrowserLocation: false\n\t\t}).then(function(r) {\n\t\t\tc.weather = r.data;\n\t\t});\n\t}\n}"
  },
  {
    "path": "src/pe-my-weather/widget/pe-my-weather.u-css.scss",
    "content": ".my-weather{\n  padding:10px;\n    .city{\n      font-weight:bold;\n      font-size:16px;\n    }\n    .weather-deets{\n      .temp{\n      font-weight:bold;\n      }\n      .max-min{\n        margin-left:10px;\n      }\n      .max{\n        margin-left:5px;\n\n      }\n      .min{\n      margin-left:5px;\n      }\n    }\n  }"
  },
  {
    "path": "src/pe-my-weather/widget/pe-my-weather.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-my-weather/widget/pe-my-weather.u-option-schema.json",
    "content": ""
  },
  {
    "path": "src/pe-my-weather/widget/pe-my-weather.u-server-script.js",
    "content": "(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\tvar apikey = gs.getProperty('openweathermap.apikey');\n\n\n\tif(input){\n\t\tif(input.browserLocation){\n\t\t\tvar ws = new GlideHTTPRequest\n\t\t\t(\"https://api.openweathermap.org/data/2.5/weather?lat=\"+input.lat+\"&lon=\"+input.lng+\"&appid=\"+apikey+\"&units=imperial\");\n\n\t\t\tvar response = ws.get();\n\t\t\tif (response) {\n\t\t\t\tvar responseBody = JSON.parse(response.getBody());\n\t\t\t\t$sp.log(responseBody);\n\t\t\t\tif (response != null) {\n\t\t\t\t\tdata.errorMessage = false;\n\t\t\t\t\tdata.channel = responseBody;\n\t\t\t\t\tdata.IconUrl = \"https://openweathermap.org/img/w/\" +\n\t\t\t\t\tdata.channel.weather[0].icon + \".png\";\n\t\t\t\t\tdata.code = responseBody.sys.country;\n\t\t\t\t\tdata.main = responseBody.main;\n\n\t\t\t\t} else {\n\t\t\t\t\tdata.errorMessage = gs.getMessage(\"Can't find weather\") + \": \" + input.place;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata.errorMessage = gs.getMessage(\"An error occurred while making the requested connection\");\n\t\t\t}\n\t\t}\n\t\tif(!input.browserLocation){\n\t\t\tvar rec = new GlideRecord('sys_user');\n\t\t\trec.get(gs.getUserID());\n\t\t\tif(rec.location){\n\t\t\t\tdata.location = rec.location.city.replaceAll(' ', '%20');\n\t\t\t}\n\n\t\t\t$sp.log(data.location);\n\t\t\tvar ws = new GlideHTTPRequest\n\t\t\t(\"https://api.openweathermap.org/data/2.5/weather?q=\"+data.location+\"&appid=\"+apikey+\"&units=imperial\");\n\n\t\t\tvar response = ws.get();\n\t\t\tif (response) {\n\t\t\t\tvar responseBody = JSON.parse(response.getBody());\n\t\t\t\t$sp.log(responseBody);\n\t\t\t\tif (response != null) {\n\t\t\t\t\tdata.errorMessage = false;\n\t\t\t\t\tdata.channel = responseBody;\n\t\t\t\t\tdata.IconUrl = \"https://openweathermap.org/img/w/\" +\n\t\t\t\t\tdata.channel.weather[0].icon + \".png\";\n\t\t\t\t\tdata.code = responseBody.sys.country;\n\t\t\t\t\tdata.main = responseBody.main;\n\t\t\t\t} else {\n\t\t\t\t\tdata.errorMessage = gs.getMessage(\"Can't find weather\") + \": \" + input.place;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata.errorMessage = gs.getMessage(\"An error occurred while making the requested connection\");\n\t\t\t}\n\n\t\t}\n\n\t}\n})();"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/README.md",
    "content": "# Typeahead Search (Collapsing) - For Header Widgets\n\n## Description\n\nThe Typeahead Search widget is intended to be used within the Header widget for a portal. However, it is not coded for exclusively within a Header.  The widget can be used anywhere you would like to have a Typeahead Search that collapses into just the Search icon when not being used.\n\n## Screenshots\n### Expanded\n![Expanded](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-nav-typeahead-search-collapsed/images/default.png)\n### Collapsed\n![Collapsed](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-nav-typeahead-search-collapsed/images/collapsed.png)\n\n## Additional Information/Notes\n\nWithin the Header widget, the following HTML notation is to be used.\n\nFind the HTML DIV that identifies the navbar region that encapsulates the menu and user avatar.\nThe DIV opening string may look something like this:\n```\n<div sp-navbar-toggle=\"\" class=\"collapse navbar-collapse navbar-right\" id=\"sp-nav-bar\">\n```\n\nYou will then want to add the following HTML block within the DIV at the location where you will want the Search to be located.\nIt is recommended that you add it **immediately** after the DIV's opening statement. This should put the widget as the first item (at the far left of the menu choices) in the list of menu items.\n```\n  <!-- search -->\n  <ul ng-if=\"user.logged_in\" class=\"nav navbar-nav\" role=\"menubar\">\n    <li role=\"presentation\" class='menuitem'><sp-widget widget=\"data.typeahead\" /></li>\n  </ul>\n```\n\nThere are no specific CSS or Client script notations that need to be added.\n\nHowever, the widget does need to be brought into existence by adding the following line to the Server script block.\nIt can be placed anywhere, however; it is recommended to be added as the last line before the function closing brace.\n\n```\ndata.typeahead = $sp.getWidget('typeahead-search-for-header');\n```\n\nAdditionally, if you would like to configure the search with unique icon, change the placeholder text, or other Option Schema options then add the following JSON Object string to the $sp.getWidget() statement.\n```\ndata.typeahead = $sp.getWidget('typeahead-search-for-header',{\"refresh_page_on_search_submission\":false, \"title\":\"How may we help you?\", \"glyph\":\"star\", \"size\":\"sm\", \"limit\":\"5\",\"contextual_search_sources\":\"c6170ae86721220023c82e08f585efe6,c96eb1686721220023c82e08f585efff\"});\n```\n<br/>\n\n---\n## Installation\nDownload and install update set **[pe-nav-typeahead-search-collapsed.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-nav-typeahead-search-collapsed/pe-nav-typeahead-search-collapsed.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Presentation\n**title** - Change the placeholder text inside the input field that greets the user when the control is displayed/opened - Default: Search <br/>\n**glyph** - FontAwesome (v4.0.7) reference of a glyph to show as the Search icon - Default: search  **NOTE:** it is just the portion after the 'fa-' <br/>\n**size** - Quick way to adjust the size of the widget control.  Valid values are 'sm' or 'lrg'<br/>\n\n### Behavior\n**limit** - The limit of results to show in the search dropdown list. Default: 5<br/>\n**contextual_search_sources** - Restrict the search results to specific Service Catalogs or Knowledge Bases. **IF NOT** configured then the search will use the Search Sources associated with the Portal configuration.  Use the Sys_ID for the respective Service Catalog or Knowledge Base. e.g. of valid values: c6170ae86721220023c82e08f585efe6,c96eb1686721220023c82e08f585efff<br/>\n**refresh_page_on_search_submission** - Typically not necessary, but this will force the page to reload after the search source has been activated.<br/>\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\nFollowing variables can be set used to change the presentation of the widget:\n\n$search-text-color: #f4f4f4  !default; <br/>\n$search-placeholder-color: $text-muted !default;<br/>\n\n$search-bg: rgba(0, 0, 0, .25) !default;<br/>\n$search-height: 40px !default;<br/>\n$search-font-size: 14px !default;<br/>\n$search-showing-width: 250px !default;<br/>\n$search-dropdown-border-radius: 4px !default;<br/>\n"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/angular-template/nav-typeahead-popup.u-body-html-template.html",
    "content": "<ul class=\"dropdown-menu\" ng-show=\"isOpen() && !moveInProgress\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\">\n    <li role='option' aria-hidden='true' style='display: none'></li>    \n  \t<li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" \n        ng-mouseenter=\"selectActive($index)\" \n        ng-click=\"selectMatch($index, $event)\" \n        role=\"option\" id=\"{{::match.id}}\">\n        <div uib-typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"></div>\n    </li>\n</ul>"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/angular-template/nav-typeahead.u-body-html-template.html",
    "content": "<a class=\"ta-item\" ng-href=\"{{match.model.target != '_blank' ? match.model.url : ''}}\" target=\"{{match.model.target}}\">\n  <div ng-if=\"!match.model.templateID\">\n    <i class=\"ta-icon fa fa-{{match.model.glyph}}\" ng-if=\"match.model.glyph\"></i>\n    <span ng-bind-html=\"match.label | uibTypeaheadHighlight:query\"></span>\n  </div>\n  <div ng-if=\"match.model.templateID\" ng-include=\"match.model.templateID\"></div>\n</a>"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Search\",\n  \"common-name\": \"Search - For Headers\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"search\"\n  ],\n  \"name\": \"pe-nav-typeahead-search-collapsed\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Search widget that collapses to just an icon and to be used in the Header widget for a portal.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/pe-nav-typeahead-search-collapsed.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-28 21:13:14\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Typeahead for Header</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>2aff15df4f77e7008272ece24210c755</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-28 21:13:13</sys_created_on>\n<sys_id>f12583974f7fe7008272ece24210c74f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-28 21:13:13</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_7fe53c744ff3a74005be4d6e0210c794</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;nav-typeahead.html&lt;/id&gt;&lt;sp_widget display_value=\"Typeahead Search for Header\"&gt;396534744ff3a74005be4d6e0210c731&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-20 16:22:57&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;7fe53c744ff3a74005be4d6e0210c794&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;nav-typeahead.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_7fe53c744ff3a74005be4d6e0210c794&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-20 16:22:57&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a class=\"ta-item\" ng-href=\"{{match.model.target != '_blank' ? match.model.url : ''}}\" target=\"{{match.model.target}}\"&gt;\n  &lt;div ng-if=\"!match.model.templateID\"&gt;\n    &lt;i class=\"ta-icon fa fa-{{match.model.glyph}}\" ng-if=\"match.model.glyph\"&gt;&lt;/i&gt;\n    &lt;span ng-bind-html=\"match.label | uibTypeaheadHighlight:query\"&gt;&lt;/span&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"match.model.templateID\" ng-include=\"match.model.templateID\"&gt;&lt;/div&gt;\n&lt;/a&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-738482752</payload_hash>\n<remote_update_set display_value=\"Typeahead for Header\">f12583974f7fe7008272ece24210c74f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-28 21:13:13</sys_created_on>\n<sys_id>312583974f7fe7008272ece24210c750</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169346070aa0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-28 21:13:13</sys_updated_on>\n<table/>\n<target_name>nav-typeahead.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>fc30e5df5c77e700e08f6fd90cd1c899</update_guid>\n<update_guid_history>fc30e5df5c77e700e08f6fd90cd1c899:-738482752,b3f5f474f8f3a74053ec3eafc46d2af7:-738482752</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_0306bc744ff3a74005be4d6e0210c770</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;nav-typeahead-popup.html&lt;/id&gt;&lt;sp_widget display_value=\"Typeahead Search for Header\"&gt;396534744ff3a74005be4d6e0210c731&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-20 16:23:20&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;0306bc744ff3a74005be4d6e0210c770&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;nav-typeahead-popup.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_0306bc744ff3a74005be4d6e0210c770&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-28 19:39:38&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;ul class=\"dropdown-menu\" ng-show=\"isOpen() &amp;&amp; !moveInProgress\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\"&gt;\n    &lt;li role='option' aria-hidden='true' style='display: none'&gt;&lt;/li&gt;    \n  \t&lt;li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" \n        ng-mouseenter=\"selectActive($index)\" \n        ng-click=\"selectMatch($index, $event)\" \n        role=\"option\" id=\"{{::match.id}}\"&gt;\n        &lt;div uib-typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"&gt;&lt;/div&gt;\n    &lt;/li&gt;\n&lt;/ul&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-297222036</payload_hash>\n<remote_update_set display_value=\"Typeahead for Header\">f12583974f7fe7008272ece24210c74f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-28 21:13:13</sys_created_on>\n<sys_id>792583974f7fe7008272ece24210c74f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169359e94b30000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-28 21:13:13</sys_updated_on>\n<table/>\n<target_name>nav-typeahead-popup.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>c7bf6e5f75bbe70011bbd1d42f5f5fb4</update_guid>\n<update_guid_history>c7bf6e5f75bbe70011bbd1d42f5f5fb4:-297222036,5116bc740ef3a740b17e7d7388c0577e:-1962845954</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_396534744ff3a74005be4d6e0210c731</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($http, $filter, $location,spAriaUtil, $window, $scope, spAriaFocusManager,$timeout) {\n\tvar c = this;\n\t\n\tc.options.glyph = c.options.glyph || 'search';\n\tc.options.title = c.options.title || c.data.searchMsg;\n\tc.searchTerm = c.data.q;\n\tc.showSearch = false;\n\t\n\tc.$onInit = function(){\n\t\t$timeout(function(){\n\t\t\tvar nav = angular.element(document.querySelector('nav'));\n\t\t\tc.dynamicHeight = nav[0].offsetHeight;\n\t\t});\n\t}\n\t\n\tc.onSelect = function($item, $model, $label) {\n\t\tc.searchTerm = \"\"; // prevents unexpected result if user quickly clicks search button after selecting\n\t\tc.showSearch = false;\n\t\tif ($item.target)\n\t\t\twindow.open($item.url, $item.target);\n\t\telse {\n\t\t\tvar newUrl = $location.url($item.url);\n\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t}\n\t};\n\n\tc.getResults = function(query) {\n\t\tvar payload = {\n\t\t\t\"query\": query,\n\t\t\t\"portal\": c.data.portalID,\n\t\t\t\"source\": c.data.searchSources,\n\t\t\t\"include_facets\": false,\n\t\t\t\"searchType\": \"typeahead\"\n\t\t};\n\t\tif (c.options.limit || c.options.limit == 0)\n\t\t\tpayload.count = c.options.limit;\n\n\t\treturn $http.post(\"/api/now/sp/search\", payload).then(function(response) {\n\n\t\t\t// Prevents typeahead from displaying suggestions if queries from page and input are the same\n\t\t\tif ($location.search().q == query)\n\t\t\t\treturn;\n\n\t\t\tvar result = response.data.result;\n\t\t\tspAriaUtil.sendLiveMessage(result.results.length + \" \" +\n\t\t\t\t\t\t\t\t\t   c.data.resultMsg + \" \" +\n\t\t\t\t\t\t\t\t\t   c.data.navigationMsg +\n\t\t\t\t\t\t\t\t\t   getNavigationKeys());\n\t\t\treturn result.results.map(function(item) {\n\t\t\t\tvar config = c.data.searchSourceConfiguration[item.__search_source_id__];\n\t\t\t\tif (config.type == \"ADVANCED\") {\n\t\t\t\t\titem.templateID = config.template;\n\t\t\t\t} else {\n\t\t\t\t\titem.glyph = config.glyph;\n\t\t\t\t\tif (!item.url &amp;&amp; config.linkToPage) {\n\t\t\t\t\t\titem.url = \"?id=\" + config.linkToPage;\n\t\t\t\t\t\tif (item.sys_id)\n\t\t\t\t\t\t\titem.url += \"&amp;sys_id=\" + item.sys_id;\n\t\t\t\t\t\tif (item.table)\n\t\t\t\t\t\t\titem.url += \"&amp;table=\" + item.table\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t\t});\n\t}\n\n\tc.searchType = c.data.searchType;\n\n\tc.toggleSearch = function(){\n\t\tc.showSearch = !c.showSearch;\n\t\tvar el = angular.element(document.getElementsByClassName(\"btn-search\"));\n\t\tif(c.showSearch){\n\t\t\tdocument.getElementById(\"nav-typeahead\").focus();\n\t\t\tel.addClass('active');\n\t\t}else{\n\t\t\tel.removeClass('active').blur();\n\t\t}\n\t}\n\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tc.showSearch = false;\n\t\tvar el = angular.element(document.getElementsByClassName(\"btn-search\"));\n\t\tel.removeClass('active').blur();\n\t\t\n\t\tif(searchSourceChanged(newUrl, oldUrl)) {\n\t\t\tvar newUrlParams = newUrl.match(/t=.+/);\n\t\t\tif(!newUrlParams) {\n\t\t\t\tc.searchType = null;\n\t\t\t} else {\n\t\t\t\tc.searchType = newUrlParams[0].split(\"&amp;\")[0].substring(2);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction searchSourceChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/t=.+/),\n\t\t\toldUrlParams = oldUrl.match(/t=.+/);\n\n\t\tif(!newUrlParams &amp;&amp; !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams &amp;&amp; oldUrlParams) || (newUrlParams &amp;&amp; !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&amp;\")[0] !== oldUrlParams[0].split(\"&amp;\")[0];\n\t}\n\n\tc.submitSearch = function() {\n\n\t\tif(c.searchTerm===null || c.searchTerm===''){\n\t\t\tc.toggleSearch();\n\t\t\treturn;\n\t\t}else{\n\t\t\tvar shouldReloadPage = c.data.refreshPageOnSearch &amp;&amp; $location.search().id === 'search';\n\n\t\t\tif (c.searchTerm) {\n\t\t\t\tvar newUrl = $location.search({\n\t\t\t\t\tid: 'search',\n\t\t\t\t\tspa: '1',\n\t\t\t\t\tt: c.searchType,\n\t\t\t\t\tq: c.searchTerm\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tif (shouldReloadPage)\n\t\t\t\t\t$scope.$emit(\"sp.page.reload\");\n\n\t\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t\t\tc.searchTerm='';\n\t\t\t\tc.toggleSearch();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getNavigationKeys() {\n\t\tif($window.navigator.userAgent.indexOf(\"Mac OS X\") &gt; -1)\n\t\t\treturn '⌘';\n\t\treturn 'Control';\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$search-text-color: #f4f4f4  !default;\n$search-placeholder-color: $text-muted !default;\n\n$search-bg: rgba(0, 0, 0, .25) !default;\n$search-height: 40px !default;\n$search-font-size: 14px !default;\n$search-showing-width: 250px !default;\n$search-dropdown-border-radius: 4px !default;\n\n.nav-search{\n  display: flex;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  .search-toggle{\n    height: 34px;\n    width: 36px;\n    z-index: 1;\n    padding-left: 8px;\n    display: none; //flex;\n\t\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n  }\n  .toggle-show{\n    display: none;\n  }\n  .nav-search-container{\n    border-radius: 0;\n    background-color: transparent;\n    form{\n\n    }\n    ul.dropdown-menu {\n      margin:0px;\n      border-radius: $search-dropdown-border-radius;\n      min-width: max-content;\n      margin-right: calc( $search-height / 2 );\n    }\n\n    ul.dropdown-menu a.ta-item {\n      line-height: 20px;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    ul.dropdown-menu i.ta-icon, i.ta-img {\n      width: 20px;\n      height: 20px;\n      background-size: contain;\n      display: inline-block;\n      background-repeat: no-repeat;\n      background-position: center center;\n      text-align: center;\n      line-height: 20px;\n      float:left;\n      margin-right: 8px;\n    }\n    .btn-search{\n      border: 0 solid transparent;\n      background-color: transparent;\n      color: $navbar-inverse-link-color;\n      font-size: calc( $search-font-size + 4px );\n      height: unset;\n    }\n\n    .btn-search:active,\n    .btn-search:focus,\n    .btn-search:visited,\n    .btn-search:hover{\n      color: $navbar-inverse-link-hover-color;\n      outline:0;\n    }\n    .active{\n      color: $navbar-inverse-link-hover-color;\n    }\n    .input-group{\n      display: flex;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n\n      .input-showing {\n        color: $search-text-color;\n        border: 0 solid transparent;\n        box-shadow: unset;\n        background-color: transparent;\n        overflow: hidden;\n        max-width: 0px;\n        width: $search-showing-width;\n        font-size: $search-font-size;\n        padding: 0;\n      }\n      .input-slide{\n        display: block;\n        max-width: $search-showing-width;\n        transition: max-width 1s;\n        padding-left: calc($search-height / 2);\n      }\n    }\n  }\n  .show-bg{\n    border-radius: calc($search-height / 2);\n    background-color: $search-bg;\n  }\n}\n\n::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */\n  color: $search-placeholder-color;\n  opacity: 1; /* Firefox */\n}\n\n:-ms-input-placeholder { /* Internet Explorer 10-11 */\n  color: $search-placeholder-color;\n}\n\n::-ms-input-placeholder { /* Microsoft Edge */\n  color: $search-placeholder-color;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;typeahead-search-for-header&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function ($scope,$el,$attrs,$ctrl) {\n\tvar lazyLoader = $injector.get(\"lazyLoader\");\n\tlazyLoader.putTemplates($scope.data.typeaheadTemplates);\n\t\n}]]&gt;&lt;/link&gt;&lt;name&gt;Typeahead Search for Header&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"section\":\"Presentation\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"glyph\",\"section\":\"Presentation\",\"label\":\"glyph\",\"type\":\"string\"},\t{\"name\":\"size\",\"section\":\"Presentation\",\"label\":\"Size\",\"type\":\"string\"},{\"hint\":\"Number of typeahead search results returned (default 15)\",\"name\":\"limit\",\"section\":\"Behavior\",\"label\":\"Limit\",\"type\":\"integer\"},{\"displayValue\":\"Search Source\",\"hint\":\"If provided, limit the scope of the typeahead search to the given search sources\",\"name\":\"contextual_search_sources\",\"display_value_list\":[],\"section\":\"Behavior\",\"label\":\"Contextual Search Sources\",\"type\":\"glide_list\",\"value\":\"sp_search_source\",\"ed\":{\"reference\":\"sp_search_source\"}}]&amp;#13;\n\t&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t\n/*\nNeed to implement the OPTIONS variables\n*/\n\tif (options.title) {\n\t\toptions.title = gs.getMessage(options.title);\n\t}\n\n\tif (options.refresh_page_on_search_submission == undefined)\n\t\tdata.refreshPageOnSearch = true;\n\telse\n\t\tdata.refreshPageOnSearch = options.refresh_page_on_search_submission;\n\n\tdata.resultMsg = gs.getMessage(\"Search results\");\n\tdata.navigationMsg = gs.getMessage(\"To navigate, use up and down arrow keys while holding \");\n\tdata.portalID = $sp.getPortalRecord().getUniqueValue();\n\tdata.searchMsg = gs.getMessage(\"Search\");\n\tdata.q = $sp.getParameter('q');\n\n\tvar searchSources;\n\tdata.searchType = null;\n\tdata.searchSources = [];\n\tif ($sp.getParameter(\"id\") == \"search\" &amp;&amp; $sp.getParameter(\"t\")) {\n\t\tdata.searchType = $sp.getParameter(\"t\");\n\t\tsearchSources = $sp.getSearchSources(data.portalID);\n\t} else {\n\t\tvar contextualSearchSourceIDs = options.contextual_search_sources || null;\n\t\tsearchSources = $sp.getSearchSources(data.portalID, contextualSearchSourceIDs);\n\t\tif (searchSources.length == 1) {\n\t\t\tdata.searchType = searchSources[0].id;\n\t\t}\n\t}\n\n\tdata.typeaheadTemplates = {};\n\tdata.searchSourceConfiguration = {};\n\tsearchSources.forEach(function(source) {\n\t\tif (source.isTypeaheadEnabled) {\n\t\t\tdata.searchSources.push(source.id);\n\t\t}\n\t\tvar sourceTemplateConfiguration = {};\n\t\tif (source.isAdvancedTypeaheadConfig) {\n\t\t\tsourceTemplateConfiguration.type = \"ADVANCED\";\n\t\t\tsourceTemplateConfiguration.template = \"nav-typeahead-\" + source.id + \".html\";\n\t\t\tdata.typeaheadTemplates[\"nav-typeahead-\" + source.id + \".html\"] = $sp.translateTemplate(source.typeaheadTemplate);\n\t\t} else {\n\t\t\tsourceTemplateConfiguration.type = \"SIMPLE\";\n\t\t\tsourceTemplateConfiguration.glyph = source.typeaheadGlyph;\n\t\t\tsourceTemplateConfiguration.linkToPage = source.typeaheadPage;\n\t\t\tif (!sourceTemplateConfiguration.linkToPage)\n\t\t\t\tconsole.log(\"Warning: No typeahead page or URL provided for search source \" + source.name);\n\t\t}\n\t\tdata.searchSourceConfiguration[source.id] = sourceTemplateConfiguration;\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-20 16:21:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;396534744ff3a74005be4d6e0210c731&lt;/sys_id&gt;&lt;sys_mod_count&gt;95&lt;/sys_mod_count&gt;&lt;sys_name&gt;Typeahead Search for Header&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_396534744ff3a74005be4d6e0210c731&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-28 21:12:34&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='nav-search' ng-style='{ \"min-height\" : c.dynamicHeight }'&gt;\n  &lt;div class='nav-search-container' ng-class=\"{'show-bg': c.showSearch}\"&gt;\n    &lt;form ng-submit=\"c.submitSearch()\"&gt;\n      &lt;input type=\"hidden\" name=\"id\" value=\"search\"/&gt;\n      &lt;input type=\"hidden\" name=\"t\" value=\"{{c.searchType}}\"/&gt;\n      &lt;div class=\"input-group input-group-{{::c.options.size}}\"&gt;\n        &lt;!-- uses ui.bootstrap.typeahead --&gt;\n        &lt;input name=\"q\" type=\"text\" placeholder=\"{{::c.options.title}}\" ng-model=\"c.searchTerm\"\n               id=\"nav-typeahead\"\n               autocomplete=\"off\"\n               uib-typeahead=\"item as item.primary for item in c.getResults($viewValue)\"\n               typeahead-wait-ms=\"250\"\n               typeahead-min-length=\"2\"\n               typeahead-focus-first=\"false\"\n               typeahead-on-select=\"c.onSelect($item, $model, $label)\"\n               typeahead-template-url=\"nav-typeahead.html\"\n               typeahead-popup-template-url=\"nav-typeahead-popup.html\"\n               class=\"form-control input-typeahead input-hidden input-showing\"\n               ng-class=\"{'input-slide': c.showSearch}\"\n               role=\"textbox\"\n               aria-label=\"{{::c.options.title}}\" tabindex=\"0\" aria-haspopup=\"true\"&gt;\n        &lt;span class=\"input-group-btn\"&gt;\n          &lt;button name=\"search\" type=\"submit\" class=\"btn btn-search\" title=\"{{::c.data.searchMsg}}\" aria-label=\"{{::c.data.searchMsg}}\"&gt;&lt;i ng-if=\"::c.options.glyph\" class=\"fa fa-{{::c.options.glyph}}\"&gt;&lt;/i&gt;&lt;/button&gt;\n        &lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/form&gt;    \n  &lt;/div&gt;\n\n  &lt;div role='button' class='search-toggle' ng-click='c.toggleSearch()' ng-class=\"{'toggle-show': c.showSearch}\"&gt;\n    &lt;i ng-if=\"::c.options.glyph\" class=\"fa fa-{{::c.options.glyph}}\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1244635983</payload_hash>\n<remote_update_set display_value=\"Typeahead for Header\">f12583974f7fe7008272ece24210c74f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-28 21:13:13</sys_created_on>\n<sys_id>f12583974f7fe7008272ece24210c750</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16935f3a63e0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-28 21:13:13</sys_updated_on>\n<table/>\n<target_name>Typeahead Search for Header</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>80050397297fe700ba026a1b7c2b3f9d</update_guid>\n<update_guid_history>80050397297fe700ba026a1b7c2b3f9d:-1244635983,f3c307d3367fe700a946ff115137f879:539117752,91928fdfaa3fe700937d2f5293244a85:-1423728259,2c604f9b5c3fe700021a51a335c27461:747652222,b0308f9b653fe7008620a7d73445137b:-192857753,5a108b9b753fe700e40584f60737429d:441457487,c8eff65b1c3fe70092f1cd7ded4f2346:1902430021,70af3a5b8a3fe700017f2c709ed5396a:177374427,aa8f365b043fe700c971017f48bd71b0:2064382895,4e5ff25b513fe7000214b3f9f58635f3:649797131,394ffa1b653fe700b48f24eef92ac577:-1275730122,0c2f325bd93fe700adf3d35b057ce971:1500850931,5ecef61bfc3fe700c10df19c8a09fcee:1668273322,7a8ef21bde3fe7007e396b00f7def710:72264099,2e4d7697333fe700e10e15db36ea7db8:-1094896978,263d7697623fe7005fb7dce11ad7a9a7:855892576,05ac3a57913fe700acca67bc06fd5cab:1797427442,22a8fa93ba3fe7005a7d0470e77df27d:2106395950,6f787a93ea3fe70083c1d47b9766488a:-1693543249,09d77e530e3fe700ac8fec4f0eef3281:-1535117699,5e77be13cd3fe7009b943c1c468b4c53:-491695647,db57b653573fe700622f3137902bfa40:619653634,0f56bedf02fbe700b1154cc3c0c9e322:411296032,f7c5fe5f65fbe70054331fb23859a7d7:1419819589,19a53e1f8dfbe700b2b7636421976c7a:-1170700406,8185fa1f54fbe7000b4cccd8acf0116d:-1190560052,e075fa1f5ffbe700dda6da62f7022c4d:1492101783,e755ba1f5dfbe700eca0fa774c360147:1756442643,b035f61f5efbe700f38573b9042361c1:218566171,0825b21f63fbe70099aea8672113b3ba:1679435092,c5d4bedbfbfbe7003c1d403543245e62:197617974,ee843adbf7fbe70050f160b62939467a:154617039,0604729bfbfbe700e58b57743807dfdc:2007567873,be93fe1b32fbe7001502ef33f34c74fa:1589282188,ec83361b2bfbe70042b8d0529e9b89de:61377365,6303b6d797fbe7007ac3c3eb126a3073:-1483023680,e4e2ba97e9fbe70070754612c30f8596:1490563816,34a2ba97c2fbe700cfbac0586fbaa78e:-2043095083,b372b2972bfbe7008d3dc5d4038fd88e:1539016853,5ef1ba93d9fbe70077cf82da330f6caf:492131997,33b1729380fbe700e4da5ff553fa2509:232082904,fd71765399fbe70024dde82ca2187fe5:-105794722,f741fadf04bbe700752b646e2f1624ea:1799834818,38a0f2df9cbbe700abdbc5c9146274b2:-1638537246,4620f2df0cbbe700d3e9a216691c0c65:1188507304,7800fe9f5ebbe700650cec1ac045f07d:-1499890853,8f3f229f0ebbe70060ccea54d9877393:-1317504167,7a76969b7a7be700de563603b19e8443:-588483078,e656169b9c7be700a8080dbf4640dd69:2009606516,4b46d29b597be700414ed97e1c0ef62c:1959931192,a236529bbb7be70082a9086aa8092fd7:502780154,46835e97727be700474ec40c5b75d33e:579265972,a84352d7077be7003f104121d6926cd3:1895779130,c8821297e87be70031b8681926bae2fd:1916882211,3581d2570e7be700b8705fd1394e19bf:-821500540,3a61da17b67be7009f3f5621bd904275:564200478,d40e8a13197be7000c9744f12e36ec1b:-118311546,014d86df553be70062de741987f113d7:284651803,8d1d06df983be70010274ee119f67df2:179785558,c8fc06df083be700e55dc5c9624339b7:-542140472,187c4a9f373be70078a3f9df3c7b10ab:-1450433023,7f2c4a9f2a3be70024e8dfae64ab3e70:1503522082,5afbce5f103be700c3e7311317b01878:176894949,a37b8e5fbb3be7008270af0870476aee:658912839,f07b4a5fd93be70022d1190957cfda26:2039331356,f93b4a5f5e3be7004f0b3886b38b2b33:-1300829240,dcdace1f313be7004cbef2e268313df4:1613629432,768a4e1fe43be7005ab4b9faa303eb6c:1818413825,30d0f51315f7e700c203d85e1cdc1aaf:-420924789,2920711f18b7e700f0a86ceb998f696d:2028989845,fedeed9b1db7e700141b495e9df69da1:-425460597,8c5ca15b7eb7e700e31617af2f66bc5f:1402345699,86dbe91b16b7e7006e81c791c7faa6c7:-556693936,555be91be6b7e700c1589d887b22eca9:1717744058,b11b291bf3b7e7000a12a8042b8f081e:-1212838679,b0aa611b85b7e7004cd13f142e2bb3ea:-355081478,438a211b03b7e700c7a804253667db40:169718072,4e6aedd751b7e70020ab944e3abb388e:344561529,bcf965d7acb7e7008c248d5175420e50:1743826396,1fa96d979bb7e700ab758fecc382528f:1394866972,f0092d9780b7e700bcddff1b92f8e1cf:-1214222923,be47a55701b7e700af94c17d50d04712:-1795008986,abe6659316b7e7007e3755a2702fd0bd:460526353,3b8cd54137b3e740af0fa7b2b0cbe0da:1220584833,ca5691743877a7407d2120e9d09060dd:-1967425543,da5781b4b137a7402dba525e15adc18c:1996417956,7fa649740c37a740fa0fcf035ea7bda5:-1116300982,3236c1742c37a74069f102bfd7ed20d2:-8262607,5f16c174ee37a740301c3a55cdd381c8:1740535097,7ebef0fcc5f3a7409ace217cd88a354a:498871883,913ef0bc66f3a740e4bb2ddab0fb185b:2080471632,18cdfc7c7cf3a74026a2cb4a719d04a8:-1601715783,203db4f858f3a740282b905e81411529:1028756102,9d0ab8b8a4f3a7406b8fee0a10e0a2a7:228848542,ede5f8743bf3a7407e7326a5eabca094:203949442,eb95347466f3a74099e9336cc30d7e8a:539217634</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-body-html-template.html",
    "content": "<div class='nav-search' ng-style='{ \"min-height\" : c.dynamicHeight }'>\n  <div class='nav-search-container' ng-class=\"{'show-bg': c.showSearch}\">\n    <form ng-submit=\"c.submitSearch()\">\n      <input type=\"hidden\" name=\"id\" value=\"search\"/>\n      <input type=\"hidden\" name=\"t\" value=\"{{c.searchType}}\"/>\n      <div class=\"input-group input-group-{{::c.options.size}}\">\n        <!-- uses ui.bootstrap.typeahead -->\n        <input name=\"q\" type=\"text\" placeholder=\"{{::c.options.title}}\" ng-model=\"c.searchTerm\"\n               id=\"nav-typeahead\"\n               autocomplete=\"off\"\n               uib-typeahead=\"item as item.primary for item in c.getResults($viewValue)\"\n               typeahead-wait-ms=\"250\"\n               typeahead-min-length=\"2\"\n               typeahead-focus-first=\"false\"\n               typeahead-on-select=\"c.onSelect($item, $model, $label)\"\n               typeahead-template-url=\"nav-typeahead.html\"\n               typeahead-popup-template-url=\"nav-typeahead-popup.html\"\n               class=\"form-control input-typeahead input-hidden input-showing\"\n               ng-class=\"{'input-slide': c.showSearch}\"\n               role=\"textbox\"\n               aria-label=\"{{::c.options.title}}\" tabindex=\"0\" aria-haspopup=\"true\">\n        <span class=\"input-group-btn\">\n          <button name=\"search\" type=\"submit\" class=\"btn btn-search\" title=\"{{::c.data.searchMsg}}\" aria-label=\"{{::c.data.searchMsg}}\"><i ng-if=\"::c.options.glyph\" class=\"fa fa-{{::c.options.glyph}}\"></i></button>\n        </span>\n      </div>\n    </form>    \n  </div>\n\n  <div role='button' class='search-toggle' ng-click='c.toggleSearch()' ng-class=\"{'toggle-show': c.showSearch}\">\n    <i ng-if=\"::c.options.glyph\" class=\"fa fa-{{::c.options.glyph}}\"></i>\n  </div>\n</div>\n\n"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-client-script.js",
    "content": "function ($http, $filter, $location,spAriaUtil, $window, $scope, spAriaFocusManager,$timeout) {\n\tvar c = this;\n\t\n\tc.options.glyph = c.options.glyph || 'search';\n\tc.options.title = c.options.title || c.data.searchMsg;\n\tc.searchTerm = c.data.q;\n\tc.showSearch = false;\n\t\n\tc.$onInit = function(){\n\t\t$timeout(function(){\n\t\t\tvar nav = angular.element(document.querySelector('nav'));\n\t\t\tc.dynamicHeight = nav[0].offsetHeight;\n\t\t});\n\t}\n\t\n\tc.onSelect = function($item, $model, $label) {\n\t\tc.searchTerm = \"\"; // prevents unexpected result if user quickly clicks search button after selecting\n\t\tc.showSearch = false;\n\t\tif ($item.target)\n\t\t\twindow.open($item.url, $item.target);\n\t\telse {\n\t\t\tvar newUrl = $location.url($item.url);\n\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t}\n\t};\n\n\tc.getResults = function(query) {\n\t\tvar payload = {\n\t\t\t\"query\": query,\n\t\t\t\"portal\": c.data.portalID,\n\t\t\t\"source\": c.data.searchSources,\n\t\t\t\"include_facets\": false,\n\t\t\t\"searchType\": \"typeahead\"\n\t\t};\n\t\tif (c.options.limit || c.options.limit == 0)\n\t\t\tpayload.count = c.options.limit;\n\n\t\treturn $http.post(\"/api/now/sp/search\", payload).then(function(response) {\n\n\t\t\t// Prevents typeahead from displaying suggestions if queries from page and input are the same\n\t\t\tif ($location.search().q == query)\n\t\t\t\treturn;\n\n\t\t\tvar result = response.data.result;\n\t\t\tspAriaUtil.sendLiveMessage(result.results.length + \" \" +\n\t\t\t\t\t\t\t\t\t   c.data.resultMsg + \" \" +\n\t\t\t\t\t\t\t\t\t   c.data.navigationMsg +\n\t\t\t\t\t\t\t\t\t   getNavigationKeys());\n\t\t\treturn result.results.map(function(item) {\n\t\t\t\tvar config = c.data.searchSourceConfiguration[item.__search_source_id__];\n\t\t\t\tif (config.type == \"ADVANCED\") {\n\t\t\t\t\titem.templateID = config.template;\n\t\t\t\t} else {\n\t\t\t\t\titem.glyph = config.glyph;\n\t\t\t\t\tif (!item.url && config.linkToPage) {\n\t\t\t\t\t\titem.url = \"?id=\" + config.linkToPage;\n\t\t\t\t\t\tif (item.sys_id)\n\t\t\t\t\t\t\titem.url += \"&sys_id=\" + item.sys_id;\n\t\t\t\t\t\tif (item.table)\n\t\t\t\t\t\t\titem.url += \"&table=\" + item.table\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t\t});\n\t}\n\n\tc.searchType = c.data.searchType;\n\n\tc.toggleSearch = function(){\n\t\tc.showSearch = !c.showSearch;\n\t\tvar el = angular.element(document.getElementsByClassName(\"btn-search\"));\n\t\tif(c.showSearch){\n\t\t\tdocument.getElementById(\"nav-typeahead\").focus();\n\t\t\tel.addClass('active');\n\t\t}else{\n\t\t\tel.removeClass('active').blur();\n\t\t}\n\t}\n\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tc.showSearch = false;\n\t\tvar el = angular.element(document.getElementsByClassName(\"btn-search\"));\n\t\tel.removeClass('active').blur();\n\t\t\n\t\tif(searchSourceChanged(newUrl, oldUrl)) {\n\t\t\tvar newUrlParams = newUrl.match(/t=.+/);\n\t\t\tif(!newUrlParams) {\n\t\t\t\tc.searchType = null;\n\t\t\t} else {\n\t\t\t\tc.searchType = newUrlParams[0].split(\"&\")[0].substring(2);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction searchSourceChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/t=.+/),\n\t\t\toldUrlParams = oldUrl.match(/t=.+/);\n\n\t\tif(!newUrlParams && !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams && oldUrlParams) || (newUrlParams && !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&\")[0] !== oldUrlParams[0].split(\"&\")[0];\n\t}\n\n\tc.submitSearch = function() {\n\n\t\tif(c.searchTerm===null || c.searchTerm===''){\n\t\t\tc.toggleSearch();\n\t\t\treturn;\n\t\t}else{\n\t\t\tvar shouldReloadPage = c.data.refreshPageOnSearch && $location.search().id === 'search';\n\n\t\t\tif (c.searchTerm) {\n\t\t\t\tvar newUrl = $location.search({\n\t\t\t\t\tid: 'search',\n\t\t\t\t\tspa: '1',\n\t\t\t\t\tt: c.searchType,\n\t\t\t\t\tq: c.searchTerm\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tif (shouldReloadPage)\n\t\t\t\t\t$scope.$emit(\"sp.page.reload\");\n\n\t\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t\t\tc.searchTerm='';\n\t\t\t\tc.toggleSearch();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getNavigationKeys() {\n\t\tif($window.navigator.userAgent.indexOf(\"Mac OS X\") > -1)\n\t\t\treturn '⌘';\n\t\treturn 'Control';\n\t}\n}"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-css.css",
    "content": "$search-text-color: #f4f4f4  !default;\n$search-placeholder-color: $text-muted !default;\n\n$search-bg: rgba(0, 0, 0, .25) !default;\n$search-height: 40px !default;\n$search-font-size: 14px !default;\n$search-showing-width: 250px !default;\n$search-dropdown-border-radius: 4px !default;\n\n.nav-search{\n  display: flex;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  .search-toggle{\n    height: 34px;\n    width: 36px;\n    z-index: 1;\n    padding-left: 8px;\n    display: none; //flex;\n\t\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n  }\n  .toggle-show{\n    display: none;\n  }\n  .nav-search-container{\n    border-radius: 0;\n    background-color: transparent;\n    form{\n\n    }\n    ul.dropdown-menu {\n      margin:0px;\n      border-radius: $search-dropdown-border-radius;\n      min-width: max-content;\n      margin-right: calc( $search-height / 2 );\n    }\n\n    ul.dropdown-menu a.ta-item {\n      line-height: 20px;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }\n\n    ul.dropdown-menu i.ta-icon, i.ta-img {\n      width: 20px;\n      height: 20px;\n      background-size: contain;\n      display: inline-block;\n      background-repeat: no-repeat;\n      background-position: center center;\n      text-align: center;\n      line-height: 20px;\n      float:left;\n      margin-right: 8px;\n    }\n    .btn-search{\n      border: 0 solid transparent;\n      background-color: transparent;\n      color: $navbar-inverse-link-color;\n      font-size: calc( $search-font-size + 4px );\n      height: unset;\n    }\n\n    .btn-search:active,\n    .btn-search:focus,\n    .btn-search:visited,\n    .btn-search:hover{\n      color: $navbar-inverse-link-hover-color;\n      outline:0;\n    }\n    .active{\n      color: $navbar-inverse-link-hover-color;\n    }\n    .input-group{\n      display: flex;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n\n      .input-showing {\n        color: $search-text-color;\n        border: 0 solid transparent;\n        box-shadow: unset;\n        background-color: transparent;\n        overflow: hidden;\n        max-width: 0px;\n        width: $search-showing-width;\n        font-size: $search-font-size;\n        padding: 0;\n      }\n      .input-slide{\n        display: block;\n        max-width: $search-showing-width;\n        transition: max-width 1s;\n        padding-left: calc($search-height / 2);\n      }\n    }\n  }\n  .show-bg{\n    border-radius: calc($search-height / 2);\n    background-color: $search-bg;\n  }\n}\n\n::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */\n  color: $search-placeholder-color;\n  opacity: 1; /* Firefox */\n}\n\n:-ms-input-placeholder { /* Internet Explorer 10-11 */\n  color: $search-placeholder-color;\n}\n\n::-ms-input-placeholder { /* Microsoft Edge */\n  color: $search-placeholder-color;\n}"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-link-script.js",
    "content": "function ($scope,$el,$attrs,$ctrl) {\n\tvar lazyLoader = $injector.get(\"lazyLoader\");\n\tlazyLoader.putTemplates($scope.data.typeaheadTemplates);\n\t\n}"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-option-schema.json",
    "content": "[{\"name\":\"title\",\"section\":\"Presentation\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"glyph\",\"section\":\"Presentation\",\"label\":\"glyph\",\"type\":\"string\"},\t{\"name\":\"size\",\"section\":\"Presentation\",\"label\":\"Size\",\"type\":\"string\"},{\"hint\":\"Number of typeahead search results returned (default 15)\",\"name\":\"limit\",\"section\":\"Behavior\",\"label\":\"Limit\",\"type\":\"integer\"},{\"displayValue\":\"Search Source\",\"hint\":\"If provided, limit the scope of the typeahead search to the given search sources\",\"name\":\"contextual_search_sources\",\"display_value_list\":[],\"section\":\"Behavior\",\"label\":\"Contextual Search Sources\",\"type\":\"glide_list\",\"value\":\"sp_search_source\",\"ed\":{\"reference\":\"sp_search_source\"}}]\n"
  },
  {
    "path": "src/pe-nav-typeahead-search-collapsed/widget/pe-nav-typeahead-search-collapsed.u-server-script.js",
    "content": "(function() {\n\t\n/*\nNeed to implement the OPTIONS variables\n*/\n\tif (options.title) {\n\t\toptions.title = gs.getMessage(options.title);\n\t}\n\n\tif (options.refresh_page_on_search_submission == undefined)\n\t\tdata.refreshPageOnSearch = true;\n\telse\n\t\tdata.refreshPageOnSearch = options.refresh_page_on_search_submission;\n\n\tdata.resultMsg = gs.getMessage(\"Search results\");\n\tdata.navigationMsg = gs.getMessage(\"To navigate, use up and down arrow keys while holding \");\n\tdata.portalID = $sp.getPortalRecord().getUniqueValue();\n\tdata.searchMsg = gs.getMessage(\"Search\");\n\tdata.q = $sp.getParameter('q');\n\n\tvar searchSources;\n\tdata.searchType = null;\n\tdata.searchSources = [];\n\tif ($sp.getParameter(\"id\") == \"search\" && $sp.getParameter(\"t\")) {\n\t\tdata.searchType = $sp.getParameter(\"t\");\n\t\tsearchSources = $sp.getSearchSources(data.portalID);\n\t} else {\n\t\tvar contextualSearchSourceIDs = options.contextual_search_sources || null;\n\t\tsearchSources = $sp.getSearchSources(data.portalID, contextualSearchSourceIDs);\n\t\tif (searchSources.length == 1) {\n\t\t\tdata.searchType = searchSources[0].id;\n\t\t}\n\t}\n\n\tdata.typeaheadTemplates = {};\n\tdata.searchSourceConfiguration = {};\n\tsearchSources.forEach(function(source) {\n\t\tif (source.isTypeaheadEnabled) {\n\t\t\tdata.searchSources.push(source.id);\n\t\t}\n\t\tvar sourceTemplateConfiguration = {};\n\t\tif (source.isAdvancedTypeaheadConfig) {\n\t\t\tsourceTemplateConfiguration.type = \"ADVANCED\";\n\t\t\tsourceTemplateConfiguration.template = \"nav-typeahead-\" + source.id + \".html\";\n\t\t\tdata.typeaheadTemplates[\"nav-typeahead-\" + source.id + \".html\"] = $sp.translateTemplate(source.typeaheadTemplate);\n\t\t} else {\n\t\t\tsourceTemplateConfiguration.type = \"SIMPLE\";\n\t\t\tsourceTemplateConfiguration.glyph = source.typeaheadGlyph;\n\t\t\tsourceTemplateConfiguration.linkToPage = source.typeaheadPage;\n\t\t\tif (!sourceTemplateConfiguration.linkToPage)\n\t\t\t\tconsole.log(\"Warning: No typeahead page or URL provided for search source \" + source.name);\n\t\t}\n\t\tdata.searchSourceConfiguration[source.id] = sourceTemplateConfiguration;\n\t});\n})();"
  },
  {
    "path": "src/pe-navigation-left-collapsible/README.md",
    "content": "# Navigation - Left Collapsible\n\n## Description\n\nThe Navigation - Left Collapsible is a Header/Footer Widget that is applied to a portal's Theme record like any other Header widget.  However, with this widget it is positioned to the Left edge of the browser.  Additionally, a Secondary Menu can be configured which renders across the top of the browser like a standard navigation header.  See Additional Information/Notes below for more detailed info about the widget's configuration possibilities and more.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-navigation-left-collapsible/images/default.png)\n### Configured - w/Secondary Menu\n![Secondary Menu](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-navigation-left-collapsible/images/default2.png)\n### Theme Record - Configuration\n![Theme Record - Configuration](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-navigation-left-collapsible/images/themeconfig.png)\n\n### Collapsed\n![Collapsed](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-navigation-left-collapsible/images/collapsed.png)\n![Collapsed](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-navigation-left-collapsible/images/collapsed2.png)\n\n\n---\n## Configuration\n\nPortal record's 'Quick start config':\n\n```\n[{\n\t\"auto_menu\": true,\n\t\"secondaryMenu\": {\"sys_id\": \"53616d1e3b013200367aee1234efc439\"},\n    \"isCSM\":true,\n\t\"default_interaction_queue\": \"0e4d82d0738513000f4012562ef6a772\"\n}]\n```\n\n## Additional Information/Notes\n\n* __Auto Menu__ - if you do not have a Service Portal Menu and would like to have menu options for the Portal Record's Knowledge Base and Catalog pages generate, then add the following to the 'Quick start config'.\n```\n[{\n\t\"auto_menu\": true\n}]\n```\n\n* __Secondary Menu__ - There can be a 'top' navigation header that functions as a second menu.  To configure the Secondary Menu use the following syntax in the 'Quick start config' of the Portal record.\n```\n[{\n\t\"secondaryMenu\": {\"sys_id\": \"53616d1e3b013200367aee1234efc439\"}\n}]\n```\n\n* __CSM Virtual Agent vs Live Connect__ -   The Virtual Agent will only launch if the Portal Record's 'Quick start config' is configured with a Secondary Menu.  If a Secondary Menu is not present then the Live Chat will still show in the left navigation list, however; it will only launch the Live Connect at this time. __Note__: the 'Chat Queue' for the portal must also be configured.  Example 'Quick start config':\n```\n[{\n\t\"secondaryMenu\": {\"sys_id\": \"53616d1e3b013200367aee1234efc439\"},\n\t\"isCSM\":true,\n\t\"default_interaction_queue\": \"0e4d82d0738513000f4012562ef6a772\"\n}]\n```\n\n---\n## Installation\nDownload and install update set **[pe-navigation-left-collapsible.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-navigation-left-collapsible/pe-navigation-left-collapsible.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n\n**Override and control multiple aspects of the widget:**\n\n//SN Branding Editor<br/>\n$nav-header-bg-color: $navbar-inverse-bg !default;<br/>\n<br/>\n//Bootstrap Variables<br/>\n$nav-pills-border-radius: $border-radius-base !default;<br/>\n$nav-pills-active-link-hover-bg : $component-active-bg !default;<br/>\n$nav-pills-active-link-hover-color: $component-active-color !default;<br/>\n<br/>\n// Widget Unique Variables Defaults<br/>\n$nav-width: 235px !default;<br/>\n$nav-width-collapsed: 80px !default;<br/>\n$nav-header-height: 60px !default;<br/>\n$nav-mobile-logo-maxwidth: 150px !default;<br/>\n<br/>\n$nav-pills-link-color: $navbar-inverse-link-color !default;<br/>\n$nav-pills-link-bg: transparent !default;<br/>\n$nav-pills-font-size: 16px !default;<br/>\n$nav-pills-line-height: 20px !default;<br/>\n$nav-pills-padding: 15px !default;<br/>\n$nav-pills-icon-default: fa-square !default;<br/>\n<br/>\n$nav-secondary-height: $nav-header-height !default;<br/>\n$nav-secondary-bg: transparent !default;<br/>\n$nav-secondary-bottom-padding: 0px !default;<br/>\n$nav-secondary-font-size: 16px !default;<br/>\n$nav-secondary-line-height: 18px !default;<br/>\n$nav-secondary-color: $text-muted !default;<br/>\n$nav-secondary-active-link-hover-color: $text-color !default;<br/>\n<br/>\n$nav-stacked-gap: 6px !default;<br/>"
  },
  {
    "path": "src/pe-navigation-left-collapsible/angular-template/item-added-tooltip-leftnav.html.u-body-html-template.html",
    "content": "<div ng-click=\"toggleCart()\" class=\"item-added-tooltip\">${Item has been added to your cart.}</div>"
  },
  {
    "path": "src/pe-navigation-left-collapsible/angular-template/loginleftNavTemplate.u-body-html-template.html",
    "content": "<div class=\"login_widget\">\n  <sp-widget widget=\"data.loginWidget\"></sp-widget>\n  <style>\n    .modal-content { border: 0px solid transparent; }\n  </style>\n</div>"
  },
  {
    "path": "src/pe-navigation-left-collapsible/angular-template/visibleItemsLeftNavTemplate.u-body-html-template.html",
    "content": "<a href ng-click=\"menuItemClicked(item)\" ng-if=\"item.items.length == 0 && !item.scriptedItems\" \n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" role=\"menuitem\" \n   ng-class=\"{'anchor-expanded': navExpanded}\" >\n  <i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length>0 && item.glyph!=\"empty\"'/>\n  <i class='fa {{navpilldefaulticon}}' ng-if='item.glyph.length<=0 || item.glyph==\"empty\"'/>\n  <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"::item.label\"></span>\n</a>\n<a href ng-if=\"item.items.length > 0\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" ng-click='toggleSubMenu($event,item.sys_id)'\n   class=\"sp-menu-has-items\" ng-class=\"{'anchor-expanded': navExpanded}\" role=\"menuitem\">\n  <i class='fa fa-caret-down'/>\n  <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"::item.label\"></span>\n</a>\n<ul id=\"{{::item.sys_id}}\" class='nav navbar-nav nav-pills nav-stacked submenu' ng-class=\"{ submenushow : xsScreenSize }\" ng-if=\"item.items.length > 0\">\n  <li ng-repeat=\"item in item.items\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" />\n</ul>\n<a href id=\"scripted-dropdown\" ng-if=\"item.scriptedItems.count > 0\" aria-haspopup=\"true\" \n   data-toggle=\"dropdown\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\" \n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.hint}} : {{item.scriptedItems.count}}\" role=\"menuitem\"\n   ng-class=\"{'anchor-expanded': navExpanded}\" >\n  <i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length>0 && item.glyph!=\"empty\"'/>\n  <i class='fa {{navpilldefaulticon}}' ng-if='item.glyph.length<=0 || item.glyph==\"empty\"'/>\n  <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"::item.label\"></span>\n  <span ng-if=\"!item.scriptedItems.omitBadge && navExpanded\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{item.scriptedItems.count}}</span>\n</a>\n<ul ng-if=\"item.scriptedItems.count > 0\" class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\" >\n  <li role=\"presentation\" ng-repeat=\"mi in item.scriptedItems.items\"\n      class=\"ng-scope dropdown-menu-line\">\n    <a role=\"menuitem\" href title=\"{{::mi.title}}\" target=\"{{::mi.target}}\" ng-click=\"menuItemClicked(mi)\">\n      <span ng-if='mi.number'>{{::mi.number | characters:60}}</span>\n      <span ng-if='mi.title'>{{::mi.title | characters:60}}</span>\n      <span ng-if='!mi.title'>{{::mi.short_description | characters:60}}</span>\n    </a>\n  </li>\n</ul>"
  },
  {
    "path": "src/pe-navigation-left-collapsible/angular-template/visibleItemsSecondaryNavTemplate.u-body-html-template.html",
    "content": "<a ng-href='{{::item.href}}' target='{{::item.url_target}}' ng-if=\"item.items.length == 0 && !item.scriptedItems\" \n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" role=\"menuitem\" >\n  <i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length>0'/>\n  <span ng-bind-html=\"::item.label\"></span>\n</a>\n<a href ng-if=\"item.items.length > 0\" class=\"dropdown-toggle sp-menu-has-items\" data-toggle=\"dropdown\" \n   aria-controls=\"menu-apply\" aria-haspopup=\"true\"\n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" role=\"menuitem\" >\n  <i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length>0'/>\n  <span ng-bind-html=\"::item.label\"></span> <span class=\"caret\"></span>\n</a>\n<ul ng-if=\"item.items.length > 0\" class=\"dropdown-menu\" role=\"group\" id=\"menu-apply\">\n  <li ng-repeat=\"item in item.items\" ng-include=\"'visibleItemsSecondaryNavTemplate'\" />\n</ul>\n<a href ng-if=\"item.scriptedItems.count > 0\" aria-haspopup=\"true\"\n   data-toggle=\"dropdown\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\"\n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.hint}} : {{item.scriptedItems.count}}\" role=\"menuitem\" >\n  <i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length>0'/>\n  <span ng-bind-html=\"::item.label\"></span>\n  <span ng-if=\"::!item.scriptedItems.omitBadge\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{item.scriptedItems.count}}</span>\n</a>\n<ul ng-if=\"item.scriptedItems.count > 0\" class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\" >\n  <li role=\"presentation\" ng-repeat=\"mi in item.scriptedItems.items\"\n      class=\"ng-scope dropdown-menu-line\">\n    <a role=\"menuitem\" href title=\"{{::mi.title}}\" target=\"{{::mi.target}}\" ng-click=\"menuItemClicked(mi)\">\n      <span ng-if='mi.number'>{{::mi.number | characters:60}}</span>\n      <span ng-if='mi.title'>{{::mi.title | characters:60}}</span>\n      <span ng-if='!mi.title'>{{::mi.short_description | characters:60}}</span>\n    </a>\n  </li>\n</ul>"
  },
  {
    "path": "src/pe-navigation-left-collapsible/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Header\",\n  \"common-name\": \"Navigation - Left Collapsible\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\",\n    \"Madrid\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"header\",\n    \"navigation\",\n    \"collabsible\"\n  ],\n  \"name\": \"pe-navigation-left-collapsible\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A portal header that renders to the left of the page and collapsible.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-navigation-left-collapsible/dependencies/leftNavSlider.js",
    "content": "angular.module('leftNavSlider', [])\n\t.directive('main', function (leftNavSideBar) {\n\t\n\treturn {\n\t\t\n\t\tlink: function (scope, elem, array) {\n\t\t\t\n\t\t\tif (leftNavSideBar.isExpanded()) {\n\t\t\t\telem.addClass('leftnav-expanded');\n\t\t\t}\n\t\t\t\n\t\t\t//leftNavSideBar\n\t\t\t\n\t\t\tscope.$on('leftnavSideBarToggled', function (e, expanded) {\n\t\t\t\tif (expanded) {\n\t\t\t\t\telem.addClass('leftnav-expanded');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\telem.removeClass('leftnav-expanded');\n\t\t\t\treturn;\n\t\t\t});\n\t\t}\n\t\t\n\t};\n\t\n\t\n\n})\n\t.service('leftNavSideBar', function ($rootScope, $window) {\n\t\n\tvar lsVal = $window.localStorage.getItem('leftnav-expanded');\n\n\tvar expanded = lsVal === null ? true : lsVal == 'true';\n\tvar visible = true;\n\t\n\tfunction isExpanded () {\n\t\treturn expanded;\n\t}\n\t\n\tfunction isVisible () {\n\t\treturn visible;\n\t}\n\t\n\tfunction toggleExpanded () {\n\t\texpanded = !expanded;\n\t\t$window.localStorage.setItem('leftnav-expanded', expanded);\n\n\t\t$rootScope.$broadcast('leftnavSideBarToggled', isExpanded());\n\t\treturn expanded;\n\t}\n\n\treturn {\n\t\tisExpanded: isExpanded,\n\t\tisVisible: isVisible,\n\t\ttoggleExpanded: toggleExpanded\n\t};\n\n});"
  },
  {
    "path": "src/pe-navigation-left-collapsible/pe-navigation-left-collapsible.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-22 13:14:09\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Navigation Left - Collapsible</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>d0a9d07d4f9be74005be4d6e0210c7c3</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>adfd16914f3763008272ece24210c734</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_c07d5e514f3763008272ece24210c788</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"leftNavSlider\">4e5639714f0beb0005be4d6e0210c7a5</sp_dependency><sp_js_include display_value=\"leftNavSlider\">d5b6fd714f0beb0005be4d6e0210c7f2</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-22 13:11:51</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>c07d5e514f3763008272ece24210c788</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leftNavSlider.leftNavSlider</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_c07d5e514f3763008272ece24210c788</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-02-22 13:11:51</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-586283200</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>25fd16914f3763008272ece24210c735</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169155564fc0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>leftNavSlider.leftNavSlider</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c87d5e5154376300681e4ec6eeeea289</update_guid>\n<update_guid_history>c87d5e5154376300681e4ec6eeeea289:-586283200</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_c4694f734f9ba70005be4d6e0210c701</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;loginleftNavTemplate&lt;/id&gt;&lt;sp_widget display_value=\"Navigation Left - Collapsible\"&gt;3af9be6a4f3e630005be4d6e0210c7a4&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-05 14:17:39&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;c4694f734f9ba70005be4d6e0210c701&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;loginleftNavTemplate&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_c4694f734f9ba70005be4d6e0210c701&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-05 14:17:39&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"login_widget\"&gt;\n  &lt;sp-widget widget=\"data.loginWidget\"&gt;&lt;/sp-widget&gt;\n  &lt;style&gt;\n    .modal-content { border: 0px solid transparent; }\n  &lt;/style&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>775703149</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>25fd16914f3763008272ece24210c737</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b5baec0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>loginleftNavTemplate</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>d585f0d47defe70083ca39700f508b23</update_guid>\n<update_guid_history>d585f0d47defe70083ca39700f508b23:775703149,39798f734c9ba7004965cfa1ff801a84:775703149</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_header_footer_3af9be6a4f3e630005be4d6e0210c7a4</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_header_footer\"&gt;&lt;sp_header_footer action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($rootScope, $scope, $window, $location, $interval, $timeout, $uibModal, cabrillo, spUtil, spAriaUtil) {\n/* widget controller */\n\t\n\ttry{\n\t\t $injector.get('spGtd');\n\t}catch(e){\n\t\tconsole.log('Prior to London Guided Tours did not exist.')\n\t}\n\tvar c = this;\n\n\t//~~ Controller Functions\n\tfunction isXSScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\tfunction renderPage(){\n\t\t\t//window.dispatchEvent(new Event('onload'));\n\t\t\tvar html = document.getElementsByTagName(\"html\");\n\t\t\tvar htmlClass = $(html)[0].className.split(\" \")[0];\n\t\t\tif($scope.htmlClass!=htmlClass){\n\t\t\t\tvar x = 0;\n\t\t\t\tvar wait = $interval(function(){\n\t\t\t\t\tif(!$scope.loadingIndicator){\n\t\t\t\t\t\t$scope.navExpanded = $scope.expanded();\n\t\t\t\t\t\t$scope.$emit('renderPage');\n\t\t\t\t\t\t$scope.showXSAvatar = isXSScreenSize();\n\t\t\t\t\t\t$scope.showAvatar = !isXSScreenSize();\n\t\t\t\t\t\t$interval.cancel(wait);\n\t\t\t\t\t\twait = undefined;\n\t\t\t\t\t}\n\t\t\t\t},250,10);\n\t\t\t}\n\t}\n\t$scope.xsScreenSize = isXSScreenSize();\n\n\t//~~ Scope Variables\n\t$scope.loadingIndicator = $rootScope.loadingIndicator;\n\t$scope.showXSAvatar = isXSScreenSize();\n\t$scope.showAvatar = !isXSScreenSize();\n\n\t$scope.options.nav_secondary = ($scope.data.secondaryMenu!=undefined);\n\n\t$scope.cartItemCount = 0;\n\t$scope.wishlistItemCount = 0;\n\t$scope.itemAddedTooltipOpen = false;\n\t$scope.accessibilityEnabled = spAriaUtil.g_accessibility === \"true\";\n\n\t$scope.avatarProfile = {\n\t\tuserID: $scope.user.sys_id,\n\t\tname: $scope.user.name,\n\t\tinitials: $window.NOW.user_initials\n\t};\n\tif ($window.NOW.user_avatar) {\n\t\t$scope.avatarProfile.userImage = $window.NOW.user_avatar;\n\t}\n\n\tif (cabrillo.isNative()){\n\t\t$scope.isViewNative = true;\n\t}\n\n\t//~~ Scope Functions\n\t$scope.goMobile = function(home_page){\n\t\t$location.url('?id='+home_page);\n\t\t$('.collapse').collapse('hide');\n\t}\n\n\t$scope.menuItemClicked = function(menuitem,href){\n\n\t\tif(href){\n\t\t\t$location.url(menuitem);\n\t\t}else{\n\t\t\tif(menuitem.__table &amp;&amp; menuitem.sys_id){\n\t\t\t\t$location.url('?id=form&amp;table='+menuitem.__table+'&amp;sys_id='+menuitem.sys_id)\n\t\t\t}\t\n\t\t\tif(menuitem.url){\n\t\t\t\tif(menuitem.url.startsWith('?id=')){\n\t\t\t\t\t$location.url(menuitem.url);\n\t\t\t\t}else{\n\t\t\t\t\tif(menuitem.url_target.length==0){\n\t\t\t\t\t\twindow.open(menuitem.url,'_self');\n\t\t\t\t\t}else{\n\t\t\t\t\t\twindow.open(menuitem.url,menuitem.url_target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tif(menuitem.href){\n\t\t\t\t\t$location.url(menuitem.href);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif($scope.xsScreenSize){\n\t\t\t$('.collapse').collapse('hide');\n\t\t}\n\n\t}\n\t\n\t$scope.checkActive = function(href){\n\t\tif(!href || href === '?id='){\n\t\t\treturn false;\n\t\t}else{\n\t\t\treturn (parseInt($location.url().indexOf(href))&gt;0);\n\t\t}\n\t};\n\t\n\t$scope.dynamicOpenPopUp = function() {\n\t\tif ($scope.data.useChatWidgetForCSM) {\n\t\t\t$scope.toggleChat();\n\t\t} else {\n\t\t\t$scope.openPopUp();\n\t\t}\n\t};\n\t\n\t//Show VA Chat\n\tvar MOBILE_DEVICE_SCREEN_WIDTH = 767;\n\t$scope.mobileDevice = $scope.data.isMobile || ($(window).width() &lt; MOBILE_DEVICE_SCREEN_WIDTH);\n\t$scope.showChat = $scope.mobileDevice;\n\t$scope.toggleChat = function () {\n\t\t$scope.showChat = !$scope.showChat;\n\t\t$('a#va_chat').toggleClass('inactive-chat active-chat');\n\t\tif($scope.showChat &amp;&amp; $('div.conversation-region.open').length&lt;=0){\n\t\t\t$scope.$$postDigest(function(){\n\t\t\t\t$('div.conversation-button-container button.help-button').trigger('click');\n\t\t\t});\n\t\t}\n\t};\n\t$scope.openPopUp = function() {\n\t\tvar url = \"$chat_support.do?queueID=\" + $scope.data.connect_support_queue_id;\n\t\tvar popup = window.open(url, \"popup\", \"width=900, height=600\");\n\t};\n\t\n\t$scope.openLogin = function () {\n\t\t$scope.modalInstance = $uibModal.open({\n\t\t\ttemplateUrl: 'loginleftNavTemplate',\n\t\t\tscope: $scope\n\t\t});\n\t};\n\n\t$scope.isHomepage = function() {\n\t\tif (!$scope.page.id){\n\t\t\treturn true;\n\t\t}\n\t\tif ($scope.page.id == $scope.portal.homepage_dv){\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\t\n\t$scope.toggleCart = function() {\n\t\t$timeout.cancel(cancelTooltipPromise);\n\t\t$scope.itemAddedTooltipOpen = false;\n\t\t$timeout(function() {\n\t\t\t$(\"#cart-dropdown\").dropdown(\"toggle\");\n\t\t});\n\t};\n\t\n\t//~~ Scope ON Events\n\t$scope.$on('$locationChangeSuccess', function(event){\n\t\trenderPage();\n\t});\n\t\n\t$scope.$on('sp_loading_indicator', function(e, value) {\n\t\t$scope.loadingIndicator = value;\n\t});\n\n\t$rootScope.$on('sp.avatar_changed', function() {\n\t\t$scope.userID = \"\";\n\t\t$timeout(function(){\n\t\t\t$scope.userID = $scope.user.sys_id;\n\t\t});\n\t});\n\n\t$scope.$on(\"$sp.service_catalog.cart.count\", function($evt, count) {\n\t\t$scope.cartItemCount = count;\n\t});\n\t\n\t$scope.$on(\"$sp.service_catalog.wishlist.count\", function($evt, count) {\n\t\t$scope.wishlistItemCount = count;\n\t});\n\t\n\tvar cancelTooltipPromise;\n\t$scope.$on(\"$sp.service_catalog.cart.add_item\", function() {\n\t\t$timeout.cancel(cancelTooltipPromise);\n\t\t$scope.itemAddedTooltipOpen = true;\n\t\tcancelTooltipPromise = $timeout(function() {\n\t\t\t$scope.itemAddedTooltipOpen = false;\n\t\t}, 3000);\n\t});\n\t\n\t$scope.$on('sp-menu-update-tours', function(event, tours) {\n\t\t$scope.data.showTours = $scope.data.showTours &amp;&amp; !spUtil.isMobile();\n\t\tif ($scope.data.showTours === false) return;\n\t\tvar guidedToursLabel = 'Guided Tours';\n\t\t$scope.data.guidedTours = {\n\t\t\tlabel: guidedToursLabel,\n\t\t\tcollection: []\n\t\t};\n\t\tif (tours.length &gt; 0) {\n\t\t\t$scope.data.guidedTours.collection = tours.map(function(t) {\n\t\t\t\treturn {\n\t\t\t\t\ttitle:  t.name,\n\t\t\t\t\tid: t.id,\n\t\t\t\t\tclicked: function() {\n\t\t\t\t\t\tspGtd.launch(t.id);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t});\n\n\t// PRB1108244: visibleItems array is used to improve keyboard nav\n\t// in menu, refresh it as needed\n\tif($scope.data.menu.data){\n\t\t$scope.$watch('data.menu.data.menu.items', function() {\n\t\t\t$scope.visibleItems = [];\n\t\t\tif ($scope.data.menu.data.menu.items) {\n\t\t\t\tfor (var i in $scope.data.menu.data.menu.items) {\n\t\t\t\t\tvar item = $scope.data.menu.data.menu.items[i];\n\t\t\t\t\tif (item.items || (item.scriptedItems &amp;&amp; item.scriptedItems.count != 0)){\n\t\t\t\t\t\t$scope.visibleItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, true);\n\t\t// Get list of record watchers\n\t\tvar record_watchers = [];\n\t\tif ($scope.data.menu.data.menu.items) {\n\t\t\tfor(var i in $scope.data.menu.data.menu.items) {\n\t\t\t\tvar item = $scope.data.menu.data.menu.items[i];\n\t\t\t\tif (item.type == 'scripted') {\n\t\t\t\t\tif (item.scriptedItems.record_watchers)\n\t\t\t\t\t\trecord_watchers = record_watchers.concat(item.scriptedItems.record_watchers);\n\t\t\t\t}\n\t\t\t\tif (item.type == 'filtered') {\n\t\t\t\t\trecord_watchers.push({'table':item.table,'filter':item.filter});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Init record watchers\n\tfor (var y in record_watchers){\n\t\tvar watcher = record_watchers[y];\n\t\tspUtil.recordWatch($scope, watcher.table, watcher.filter);\n\t}\n\t$rootScope.$broadcast('sp-header-loaded');\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;//SN Branding Editor&amp;#13;\n$nav-header-bg-color: $navbar-inverse-bg !default;&amp;#13;\n&amp;#13;\n//Bootstrap Variables&amp;#13;\n$nav-pills-border-radius: $border-radius-base !default;&amp;#13;\n$nav-pills-active-link-hover-bg : $component-active-bg !default;&amp;#13;\n$nav-pills-active-link-hover-color: $component-active-color !default;&amp;#13;\n&amp;#13;\n// Widget Unique Variables Defaults&amp;#13;\n$nav-width: 235px !default;&amp;#13;\n$nav-width-collapsed: 80px !default;&amp;#13;\n$nav-header-height: 60px !default;&amp;#13;\n$nav-mobile-logo-maxwidth: 150px !default;&amp;#13;\n&amp;#13;\n$nav-pills-link-color: $navbar-inverse-link-color !default;&amp;#13;\n$nav-pills-link-bg: transparent !default;&amp;#13;\n$nav-pills-font-size: 16px !default;&amp;#13;\n$nav-pills-line-height: 20px !default;&amp;#13;\n$nav-pills-padding: 15px !default;&amp;#13;\n$nav-pills-icon-default: fa-square !default;&amp;#13;\n&amp;#13;\n$nav-secondary-height: $nav-header-height !default;&amp;#13;\n$nav-secondary-bg: transparent !default;&amp;#13;\n$nav-secondary-bottom-padding: 0px !default;&amp;#13;\n$nav-secondary-font-size: 16px !default;&amp;#13;\n$nav-secondary-line-height: 18px !default;&amp;#13;\n$nav-secondary-color: $text-muted !default;&amp;#13;\n$nav-secondary-active-link-hover-color: $text-color !default;&amp;#13;\n&amp;#13;\n$nav-stacked-gap: 6px !default;&amp;#13;\n&amp;#13;\n.navsass{&amp;#13;\n  --nav-pills-icon-default: $nav-pills-icon-default;&amp;#13;\n  --nav-width: $nav-width;&amp;#13;\n  --nav-width-collapsed: $nav-width-collapsed;&amp;#13;\n  --nav-mobile-logo-maxwidth: $nav-mobile-logo-maxwidth;&amp;#13;\n  --nav-padding: 0px 15px;&amp;#13;\n  --nav-padding-top-bottom: 0px;&amp;#13;\n  --nav-padding-left-right: 15px;&amp;#13;\n  --nav-header-height: $nav-header-height;&amp;#13;\n  --nav-secondary-height: $nav-secondary-height;&amp;#13;\n  --nav-secondary-padding: 10px 15px;&amp;#13;\n  --page-scrollWidth: 0px;&amp;#13;\n  --page-margin-top: $nav-secondary-bottom-padding;&amp;#13;\n}&amp;#13;\n.primary{&amp;#13;\n  z-index: 5000;&amp;#13;\n}&amp;#13;\n.secondary{&amp;#13;\n  z-index: 4999;&amp;#13;\n  .header{&amp;#13;\n    position: static;&amp;#13;\n    top: 0;&amp;#13;\n    margin: 0;&amp;#13;\n\t\tmin-width: calc( 100vw - #{var(--page-scrollWidth)} - (calc( #{var(--nav-width)} + calc( #{var(--nav-padding-left-right)} * 2 ) )));&amp;#13;\n\t\tleft: calc( #{var(--nav-width)} - 1px + calc( #{var(--nav-padding-left-right)} * 2 ) );&amp;#13;\n\t\theight: var(--nav-secondary-height);&amp;#13;\n\t\tmin-height: var(--nav-secondary-height);&amp;#13;\n\t\tpadding: var(--nav-secondary-padding);&amp;#13;\n\t\tbackground-color: $nav-secondary-bg;&amp;#13;\n\t\t.nav &amp;gt; li,&amp;#13;\n\t\t.links{&amp;#13;\n      display: inline-block;&amp;#13;\n      position: relative;&amp;#13;\n\t\t  a{&amp;#13;\n    \t\tfont-size: $nav-secondary-font-size;&amp;#13;\n    \t\tline-height: $nav-secondary-line-height;&amp;#13;\n    \t\tcolor: $nav-secondary-color;&amp;#13;\n    \t\tbackground-color: transparent;&amp;#13;\n  \t\t}&amp;#13;\n  \t\ta:hover {&amp;#13;\n    \t\tcolor: $nav-secondary-active-link-hover-color;&amp;#13;\n    \t\tbackground-color: transparent;&amp;#13;\n  \t\t}&amp;#13;\n\t\t}&amp;#13;\n\t}&amp;#13;\n}&amp;#13;\n&amp;#13;\n.fa{&amp;#13;\n  font-size: $nav-pills-font-size;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n//Mobile&amp;#13;\n@media (max-width: 767px) {&amp;#13;\n  .navsass{&amp;#13;\n    .header-loader {&amp;#13;\n      float: left;&amp;#13;\n      width: 24px;&amp;#13;\n      position: relative;&amp;#13;\n      top: 24px;&amp;#13;\n    }&amp;#13;\n    .navbar{&amp;#13;\n      margin-bottom: unset;&amp;#13;\n    }&amp;#13;\n    .navbar-header{&amp;#13;\n      height: var(--nav-header-height);&amp;#13;\n      background-color: $nav-header-bg-color;&amp;#13;\n    }&amp;#13;\n    .mobile-nav-scroll{&amp;#13;\n      //height: calc( 100vh + 200px );&amp;#13;\n      overflow: hidden;&amp;#13;\n    }&amp;#13;\n    .scrollable-dropdown{&amp;#13;\n      height: 100vh;&amp;#13;\n      overflow-y: scroll;&amp;#13;\n      -webkit-overflow-scrolling: touch;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .navbar-toggle{&amp;#13;\n      height: 60px;&amp;#13;\n      margin: 0;&amp;#13;\n      margin-right: 10px;&amp;#13;\n    }&amp;#13;\n    .navbar-pills{&amp;#13;\n      margin:0;&amp;#13;\n      margin-top: 30px;&amp;#13;\n    }&amp;#13;\n    .navbar-brand{&amp;#13;\n    }&amp;#13;\n    .navbar-brand-logo{&amp;#13;\n      display: flex;&amp;#13;\n      height: var(--nav-header-height);&amp;#13;\n\t\t\t&amp;#13;\n      -webkit-box-pack: justify;&amp;#13;\n      -moz-box-pack: justify;&amp;#13;\n      -ms-flex-pack: justify;&amp;#13;\n      -webkit-box-align: center;&amp;#13;\n      -webkit-align-items: center;&amp;#13;\n      -moz-box-align: center;&amp;#13;\n      -ms-flex-align: center;&amp;#13;\n      align-items: center;&amp;#13;\n      img {&amp;#13;\n        display: flex;&amp;#13;\n        max-width: var(--nav-mobile-logo-maxwidth);&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; a,&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; div{&amp;#13;\n      font-size: $nav-pills-font-size;&amp;#13;\n      padding: $nav-pills-padding;&amp;#13;\n      line-height: $nav-pills-line-height;&amp;#13;\n      color: $nav-pills-link-color;&amp;#13;\n      border-radius: $nav-pills-border-radius;&amp;#13;\n      background-color: $nav-pills-link-bg;&amp;#13;\n      text-align: center;&amp;#13;\n    }&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; a,&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; div{&amp;#13;\n      text-align: left;&amp;#13;\n    }&amp;#13;\n    .linktext{&amp;#13;\n      margin-left: 8px;&amp;#13;\n    }&amp;#13;\n    .submenu{&amp;#13;\n      margin-left: 8px;&amp;#13;\n      display: none;&amp;#13;\n      li{&amp;#13;\n        margin-left: 8px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .submenushow{&amp;#13;\n      display: inherit;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n//Desktop&amp;#13;\n@media (min-width: 768px) {&amp;#13;\n  .navsass{&amp;#13;\n    .header-loader-secondary {&amp;#13;\n      float: left;&amp;#13;\n      width: 24px;&amp;#13;\n      position: relative;&amp;#13;\n      top: 24px;&amp;#13;\n    }&amp;#13;\n    .header-loader {&amp;#13;\n      display: flex;&amp;#13;\n      -webkit-box-pack: justify;&amp;#13;\n      -moz-box-pack: justify;&amp;#13;\n      -ms-flex-pack: justify;&amp;#13;\n      -webkit-box-align: center;&amp;#13;\n      -webkit-align-items: center;&amp;#13;\n      -moz-box-align: center;&amp;#13;\n      -ms-flex-align: center;&amp;#13;\n      align-items: center;&amp;#13;\n      justify-content: center;&amp;#13;\n      position: relative;&amp;#13;\n      top: 6px;&amp;#13;\n      height: 8px;&amp;#13;\n&amp;#13;\n    }&amp;#13;\n    .nav-scroll{&amp;#13;\n      //overflow-y: scroll;&amp;#13;\n    }&amp;#13;\n    .navhide-toggle{&amp;#13;\n      height: 50px;&amp;#13;\n      width: 100%;&amp;#13;\n      border-top: 1px solid rgba(255,255,255,0.3);&amp;#13;\n      color: white;&amp;#13;\n      display: flex;&amp;#13;\n      align-items: center;&amp;#13;\n      justify-content: center;&amp;#13;\n    }&amp;#13;\n    .navhide-toggle-expanded{&amp;#13;\n      justify-content: flex-end;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .fa-float-right{&amp;#13;\n      float: right;&amp;#13;\n    }&amp;#13;\n    .linktext{&amp;#13;\n      margin-left: 8px;&amp;#13;\n    }&amp;#13;\n    .navbar-header,&amp;#13;\n    .navbar-nav,&amp;#13;\n    .navbar-right,&amp;#13;\n    .navbar-nav &amp;gt; li{&amp;#13;\n      float: initial !important;&amp;#13;\n    }&amp;#13;\n    .collapse{}&amp;#13;\n    .navbar-collapse{&amp;#13;\n      margin: 0 auto;&amp;#13;\n      padding: 0;&amp;#13;\n      padding-left: 20px;&amp;#13;\n      padding-right: 20px;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .navbar {&amp;#13;\n      position: absolute;&amp;#13;\n      min-height: 100vh;&amp;#13;\n      margin-bottom: unset;&amp;#13;\n      padding-left: var(--nav-padding-left-right);&amp;#13;\n      padding-right: var(--nav-padding-left-right);&amp;#13;\n      border: unset;&amp;#13;\n      transition: 250ms opacity ease-in-out;&amp;#13;\n      -webkit-transition: 250ms opacity ease-in-out;&amp;#13;\n      border: 0;&amp;#13;\n      border-radius: initial;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .navbar-fade {&amp;#13;\n      opacity: 0.4;&amp;#13;\n    }&amp;#13;\n    .navbar-header{&amp;#13;\n      width: var(--nav-width-collapsed);&amp;#13;\n      height: var(--nav-header-height);&amp;#13;\n      background-color: $nav-header-bg-color;&amp;#13;\n      transition: width 125ms ease-in-out;&amp;#13;\n      display: flex;&amp;#13;\n      -webkit-box-pack: justify;&amp;#13;\n      -moz-box-pack: justify;&amp;#13;\n      -ms-flex-pack: justify;&amp;#13;\n      -webkit-box-align: center;&amp;#13;\n      -webkit-align-items: center;&amp;#13;\n      -moz-box-align: center;&amp;#13;\n      -ms-flex-align: center;&amp;#13;\n      align-items: center;&amp;#13;\n&amp;#13;\n    }&amp;#13;\n    .navbar-expanded{&amp;#13;\n      width: var(--nav-width);&amp;#13;\n    }&amp;#13;\n    .navbar-pills{&amp;#13;\n      margin:0;&amp;#13;\n      margin-top: 15px;&amp;#13;\n    }&amp;#13;\n    .navbar-pills-collapsed{&amp;#13;\n      margin-top: 0px;&amp;#13;\n    }&amp;#13;\n    .navbar-brand{&amp;#13;\n      padding: unset;&amp;#13;\n      float: unset;&amp;#13;\n      line-height: unset;&amp;#13;\n      display: flex;&amp;#13;\n      -webkit-box-pack: justify;&amp;#13;\n      -moz-box-pack: justify;&amp;#13;\n      -ms-flex-pack: justify;&amp;#13;\n      -webkit-box-align: center;&amp;#13;\n      -webkit-align-items: center;&amp;#13;\n      -moz-box-align: center;&amp;#13;\n      -ms-flex-align: center;&amp;#13;\n      align-items: center;&amp;#13;\n      height: var(--nav-header-height);&amp;#13;\n    }&amp;#13;\n    .navbar-brand-logo{&amp;#13;\n      display: flex;&amp;#13;\n      margin: 0 auto;&amp;#13;\n    }&amp;#13;\n    .navbar-brand-logo img {&amp;#13;\n      max-width: 100%;&amp;#13;\n      max-height: 40px;&amp;#13;\n      display: flex;&amp;#13;\n    }&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; a,&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; div{&amp;#13;\n      font-size: $nav-pills-font-size;&amp;#13;\n      padding: $nav-pills-padding;&amp;#13;\n      line-height: $nav-pills-line-height;&amp;#13;\n      color: $nav-pills-link-color;&amp;#13;\n      border-radius: $nav-pills-border-radius;&amp;#13;\n      background-color: $nav-pills-link-bg;&amp;#13;\n      text-align: center;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; a:hover,&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; div:hover {&amp;#13;\n      color: $nav-pills-active-link-hover-color;&amp;#13;\n      background-color: $nav-pills-active-link-hover-bg;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .nav-pills &amp;gt; li.active &amp;gt; a,&amp;#13;\n    .nav-pills &amp;gt; li.active &amp;gt; a:hover,&amp;#13;\n    .nav-pills &amp;gt; li.active &amp;gt; a:focus,&amp;#13;\n    .nav-pills &amp;gt; li.active &amp;gt; div,&amp;#13;\n    .nav-pills &amp;gt; li.active &amp;gt; div:hover,&amp;#13;\n    .nav-pills &amp;gt; li.active &amp;gt; div:focus {&amp;#13;\n      color: $nav-pills-active-link-hover-color;&amp;#13;\n      background-color: $nav-pills-active-link-hover-bg;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; a.anchor-expanded,&amp;#13;\n    .nav-pills &amp;gt; li &amp;gt; div.anchor-expanded{&amp;#13;\n      text-align: left;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .nav-stacked &amp;gt; li {&amp;#13;\n      float: none;&amp;#13;\n    }&amp;#13;\n    .nav-stacked &amp;gt; li  + li {&amp;#13;\n      margin-top: $nav-stacked-gap;&amp;#13;\n&amp;#13;\n    }&amp;#13;\n    .submenu{&amp;#13;\n      margin-left: 8px;&amp;#13;\n      display: none;&amp;#13;\n      li{&amp;#13;\n        margin-left: 8px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .submenushow{&amp;#13;\n      display: inherit;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n.nav-pills &amp;gt; li &amp;gt; a.avatarlink {&amp;#13;\n  text-align: left;&amp;#13;\n  .avatar-small-medium {&amp;#13;\n    height: 3rem;&amp;#13;\n    width: 3rem;&amp;#13;\n    float: left;&amp;#13;\n    margin-left: -8px;&amp;#13;\n    margin-top: -6px;&amp;#13;\n    margin-right: 6px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.cart-dropdown, .wishlist-menu, .gtd-dropdown-container .empty-dropdown {&amp;#13;\n  width: 350px;&amp;#13;\n  padding: 0;&amp;#13;\n  z-index: 1000;&amp;#13;\n  border-top-left-radius: 4px !important;&amp;#13;\n  border-top-right-radius: 4px !important;&amp;#13;\n&amp;#13;\n  ul {&amp;#13;\n    max-height: 300px;&amp;#13;\n    overflow: auto;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .subtotal {&amp;#13;\n    display: block;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .item-image {&amp;#13;\n    padding: 0;&amp;#13;\n    margin: 0;&amp;#13;\n    text-align: center;&amp;#13;\n    max-width:100%;&amp;#13;\n    height:auto;&amp;#13;\n  }&amp;#13;\n  label, p {&amp;#13;\n    padding: 0;&amp;#13;\n    margin: 0;&amp;#13;\n  }&amp;#13;\n  .media {&amp;#13;\n    padding: 0;&amp;#13;\n    margin: 0;&amp;#13;\n  }&amp;#13;\n  .media-left &amp;gt; a {&amp;#13;\n    display: block;&amp;#13;\n    width: 48px;&amp;#13;\n    max-width: 48px;&amp;#13;\n  }&amp;#13;\n  .media-body {&amp;#13;\n    label {&amp;#13;\n      font-weight: bold;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  li.media {&amp;#13;\n    border-top: 1px solid #cccccc;&amp;#13;\n    padding: 1rem;&amp;#13;\n  }&amp;#13;\n  .panel {&amp;#13;\n    margin: 0;&amp;#13;\n  }&amp;#13;\n  .panel .panel-body {&amp;#13;\n    padding: 0;&amp;#13;\n  }&amp;#13;\n  .btn-clear {&amp;#13;\n    color: #333;&amp;#13;\n    background-color: #fff;&amp;#13;\n  }&amp;#13;\n  p.quantity-price {&amp;#13;\n    padding-top: 0.5rem;&amp;#13;\n    span {&amp;#13;\n      color: $text-muted;&amp;#13;\n      padding-right: 0.5rem;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .align-right {&amp;#13;\n    text-align: right;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n.item-added-tooltip, wishlist-item-added-tooltip {&amp;#13;\n  width: 184px;&amp;#13;\n  font-size: 14px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.gtd-dropdown-container {&amp;#13;\n  .empty-tour-content{&amp;#13;\n    text-align: center;&amp;#13;\n    margin:40px 20px;&amp;#13;\n  }&amp;#13;\n  .dropdown-menu li {&amp;#13;\n    a {&amp;#13;\n      cursor: pointer;&amp;#13;\n    }&amp;#13;\n    min-width: 20em;&amp;#13;\n  }&amp;#13;\n  .label-as-badge{&amp;#13;\n    width: 12px;&amp;#13;\n    height: 12px;&amp;#13;\n    display: inline-block;&amp;#13;\n    padding: 0px;&amp;#13;\n    padding-top: 2px;&amp;#13;\n  }&amp;#13;\n  .badge-container {&amp;#13;\n    display: inline-block;&amp;#13;\n    width: 12px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance_menu&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;navigation-left-collapsible&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function ($scope,$el,$attrs,$ctrl) {\n\t\n\t/*\n\tNeed to reposition #uiNotificationContainer so it is in the main page space\n\t*/\n\t\n\tvar $window = $injector.get('$window');\n\tvar leftNavSideBar = $injector.get('leftNavSideBar');\n\t\n\tvar $interval = $injector.get('$interval');\n\tvar $location = $injector.get('$location');\n\t\n\tvar body, section, header, main, nav, footer;\n\t\n\tfunction updatePage(data){\n\t\t\n\t\tvar sass = document.querySelector('.navsass');\n\n\t\tvar sassv = window.getComputedStyle(sass);\n\t\t$scope.options.nav_width = sassv.getPropertyValue('--nav-width').trim();\n\t\t$scope.options.nav_height = sassv.getPropertyValue('--nav-header-height').trim();\n\t\t$scope.options.nav_width_collapsed = sassv.getPropertyValue('--nav-width-collapsed').trim();\n\t\t$scope.options.nav_gutter = sassv.getPropertyValue('--nav-padding-left-right').trim();\n\t\t$scope.options.page_top = sassv.getPropertyValue('--page-margin-top').trim();\n\t\t$scope.options.nav_secondary_height = sassv.getPropertyValue('--nav-secondary-height').trim();\n\n\t\tbody = document.getElementsByTagName(\"body\");\n\t\tsection = document.getElementsByTagName(\"section\");\n\t\theader = document.getElementsByTagName(\"header\");\n\t\tmain = document.getElementsByTagName(\"main\");\n\t\tnav = document.getElementsByTagName(\"nav\");\n\t\tfooter = document.getElementsByTagName(\"footer\");\n\t\tuinotif = document.getElementById(\"uiNotificationContainer\");\n\n\t\t$scope.navpilldefaulticon = sassv.getPropertyValue('--nav-pills-icon-default').trim();\n\t\t\n\t\tvar wait = $interval(function(){\n\n\t\t\tif(header!=undefined &amp;&amp; footer!=undefined){\n\t\t\t\tvar containers,breadcrumbs,headercontainers;\n\t\t\t\tvar expanded = $scope.expanded();\n\t\t\t\ttry{\n\n\t\t\t\t\t$(header).css('z-index','100');\n\t\t\t\t\t$(main).css('z-index','0');\n\n\t\t\t\t\tvar w = $(main).width();\n\n\t\t\t\t\tif( w &gt; 767){\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar marginLeft = 'calc(' + $scope.options.nav_width_collapsed + ' + calc(' + $scope.options.nav_gutter + ' * 2) )';\n\t\t\t\t\t\tvar marginLeftContainers = 'calc( 100% - calc(' + $scope.options.nav_width_collapsed + ' / 2) )';\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(expanded){\n\t\t\t\t\t\t\tmarginLeft = 'calc(' + $scope.options.nav_width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )';\n\t\t\t\t\t\t\tmarginLeftContainers = 'calc( 100% - calc(' + $scope.options.nav_width + ' / 2) )';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$(section).css('overflow','auto');\n\t\t\t\t\t\t\n\t\t\t\t\t\t$(main).css('overflow','unset').css('margin-left', marginLeft );\n\t\t\t\t\t\t\n\t\t\t\t\t\t$(uinotif).css('margin-left', marginLeft);\n\t\t\t\t\t\t\n\t\t\t\t\t\t$(footer).css('margin-left', marginLeft);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($scope.options.nav_secondary){\n\t\t\t\t\t\t\t$(nav).css('margin-top', 'calc( -1 * calc(' + $scope.options.nav_secondary_height + '))');\n\t\t\t\t\t\t\t$(body).css('overflow','hidden');\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$(main).css('margin-top', $scope.options.page_top);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcontainers = $(main).find(\".container\");\n\t\t\t\t\t\tfor (var x=0;x&lt;containers.length;x++){\n\t\t\t\t\t\t\t$(containers[x]).css('width',marginLeftContainers);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(data &amp;&amp; data.bc){\n\t\t\t\t\t\t\tdata.bc.css('margin-left', marginLeft );\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tbreadcrumbs = $(header).find(\".breadcrumbs-container\");\n\t\t\t\t\t\t\tif(breadcrumbs){\n\t\t\t\t\t\t\t\tfor (var z=0;z&lt;breadcrumbs.length;z++){\n\t\t\t\t\t\t\t\t\t$(breadcrumbs[z]).css('margin-left', marginLeft );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\theadercontainers = $(header).find(\".container\");\n\t\t\t\t\t\tif(headercontainers){\n\t\t\t\t\t\t\tfor (var y=0;y&lt;headercontainers.length;y++){\n\t\t\t\t\t\t\t\t\t$(headercontainers[y]).css('width', marginLeftContainers);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\t//Mobile\n\t\t\t\t\t\t$(header).css('height',$scope.options.nav_height);\n\t\t\t\t\t\t\n\t\t\t\t\t\t/*\n\t\t\t\t\t\tif( w &gt; 767){\n\n\t\t\t\t\t\t\tvar width = 'calc('+$scope.options.nav_width+' / 2 )';\n\t\t\t\t\t\t\tsass.style.setProperty('--nav-width', width);\t\n\n\t\t\t\t\t\t\t$(section).css('overflow','hidden');\n\t\t\t\t\t\t\t$(main).css('overflow-x','auto').css('margin-left', 'calc(' + width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )' );\n\n\t\t\t\t\t\t\tif($scope.options.nav_secondary){\n\t\t\t\t\t\t\t\t$(nav).css('margin-top', 'calc( -1 * calc(' + $scope.options.nav_secondary_height + '))');\n\t\t\t\t\t\t\t\t$(body).css('overflow','hidden');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar containers = $(main).find(\".container\");\n\t\t\t\t\t\t\tfor (var x=0;x&lt;containers.length;x++){\n\t\t\t\t\t\t\t\t$(containers[x]).css('width','calc( 100% - calc(' + $scope.options.nav_width + ' / 2) )');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar breadcrumbs = $(header).find(\".breadcrumbs-container\");\n\t\t\t\t\t\t\tif(breadcrumbs){\n\t\t\t\t\t\t\t\t$(breadcrumbs).css('margin-left', 'calc(' + $scope.options.nav_width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )' );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar headercontainers = $(header).find(\".container\");\n\t\t\t\t\t\t\tfor (var y=0;y&lt;headercontainers.length;y++){\n\t\t\t\t\t\t\t\t$(headercontainers[y]).css('width','calc( 100% - calc(' + $scope.options.nav_width + ' / 2) )');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$(footer).css('margin-left',  'calc(' + width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )');\n\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t*/\n\t\t\t\t\t}\n\n\t\t\t\t\twindow.dispatchEvent(new Event('resize'));\n\t\t\t\t}catch(e){\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}\n\n\t\t\t\t$interval.cancel(wait);\n\t\t\t\twait = undefined;\n\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t\n\tfunction setHeaderByScroll(){\n\t\tvar sass = document.querySelector('.navsass');\n\n\t\tvar footer = document.getElementsByTagName(\"footer\");\t\n\t\tvar main = document.getElementsByTagName(\"main\");\n\t\tvar body = document.getElementsByTagName(\"body\");\n\n\t\tvar mainHeight = parseInt($(main).innerHeight())+parseInt($scope.options.nav_secondary_height)+parseInt($(footer).innerHeight());\n\t\tvar bodyHeight = parseInt($(body).innerHeight());\n\t\tvar scrollBarWidth = getScrollbarWidth() + 'px';\n\t\tif(mainHeight &gt; bodyHeight){\n\t\t\tsass.style.setProperty('--page-scrollWidth', scrollBarWidth);\t\n\t\t}else{\n\t\t\tsass.style.setProperty('--page-scrollWidth', '0px');\n\t\t}\n\t}\n\n\tfunction getScrollbarWidth() {\n\t\tvar outer = document.createElement(\"div\");\n\t\touter.style.visibility = \"hidden\";\n\t\touter.style.width = \"100px\";\n\t\tdocument.body.appendChild(outer);\n\n\t\tvar widthNoScroll = outer.offsetWidth;\n\t\t// force scrollbars\n\t\touter.style.overflow = \"scroll\";\n\n\t\t// add innerdiv\n\t\tvar inner = document.createElement(\"div\");\n\t\tinner.style.width = \"100%\";\n\t\touter.appendChild(inner);        \n\n\t\tvar widthWithScroll = inner.offsetWidth;\n\n\t\t// remove divs\n\t\touter.parentNode.removeChild(outer);\n\n\t\treturn widthNoScroll - widthWithScroll;\n\t}\n\t\n\t$scope.width = $window.innerWidth;\n\t$scope.expanded = leftNavSideBar.isExpanded;\n\t\n\t$scope.toggle = function () {\n\t\tleftNavSideBar.toggleExpanded();\n\n\t\tupdatePage();\n\t}\n\n\t$scope.toggleSubMenu = function(e,id){\n\t\tvar submenus = document.getElementsByClassName(\"submenu\");\n//\t\tangular.element(submenus).removeClass('submenushow');\n//console.log(submenus)\n\t\tvar el = angular.element(\"#\"+id);\n\t\tel.toggleClass('submenushow');\n//\t\tel.parent().toggleClass('submenushow')\n//console.log(el.parent())\t\t\n\t\t\n//Need to figure out why this is not working on mobile\n//Remove --  ng-class=\"{ submenushow : xsScreenSize }\"\n//- from visibileItemsLeftNavTemplate once fixed\n\t\t\n\t\te.stopPropagation();\n    e.preventDefault();\n\t};\n\n\tangular.element($window).bind('resize', function(){\n\t\t$scope.width = $window.innerWidth;\n\t\tsetHeaderByScroll();\n\t\t$scope.navExpanded = $scope.expanded();\n\t\tif($scope.xsScreenSize){\n\t\t\t$scope.navExpanded = true;\n\t\t}\n\t});\n\n\t$(document).keyup(function(event) {\n\t\tif (event.which == 9) { //tab key handler + arrow keys\n\t\t\tif ($(event.target).parents(\".dropdown-menu\").length == 0) { //if we are NOT inside a dropdown...\n\t\t\t\t//close the dropdowns\n\t\t\t\t$(\".dropdown\").removeClass(\"open\");\n\t\t\t\t$(\"[data-toggle='dropdown']\").attr(\"aria-expanded\", \"false\");\n\t\t\t}\n\t\t}\n\t});\n\n\t$scope.$on('renderPage',function(action,data){\n\t\tupdatePage(data);\n\t});\n\n\t$($el).on('click.a','click.nav','.navbar-collapse.in',function(e) {\n\n\t\tvar target = $(e.target);\n\t\t\n\t\tif (target.is('a')||target.is('span')) {\n\t\t\tif (target.hasClass('sp-menu-has-items'))\n\t\t\t\treturn; // menu item has a submenu, so just toggle it\n\t\t\t\n\t\t\t// collapse mobile nav if clicked an anchor\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\tif (target.parent().hasClass(\"toggle-dropdown\")) {\n\t\t\t// collapse mobile nav if parent has toggle-dropdown class\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\t// if neither target nor parent is an anchor, do nothing\n\t\tif (!target.parent().is('a'))\n\t\t\treturn;\n\n\t\t// collapse mobile nav if target is part of a submenu\n\t\tif (target.parents(\"ul.dropdown-menu\").length &gt; 0)\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t});\n\t\n\tupdatePage();\n\t\n//console.log('~~~ Link Function ~~~')\t\n//console.log($scope)\n}]]&gt;&lt;/link&gt;&lt;name&gt;Navigation Left - Collapsible&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t\n\t/** TBD **/\n\t/**\n\t\tNeed to review HR header and add support for the HR menu items\n\t**/\n\t\n\tdata.login_page = $sp.getValue('login_page');\n\n\t/*Location Functions*/\t\n\tfunction getMenu(id){\n\t\tvar menu = {};\n\t\tif(id){\n\t\t\tmenu = $sp.getWidgetFromInstance(id);\n\n\t\t\tif(menu.data.menu){\n\t\t\t\tmenu.isWidget = true;\n\t\t\t}else{\n\t\t\t\tmenu.isWidget = false;\n\t\t\t\tmenu.data = {\n\t\t\t\t\tmenu: {\n\t\t\t\t\t\titems: $sp.getMenuItems(id)\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\tmenu.data.replace = true;\n\t\t\t// Hide login if menu already has link to login\n\t\t\tdata.hasLogin = false;\n\t\t\tif (menu.data.menu.items) {\n\t\t\t\tfor(var i in menu.data.menu.items) {\n\t\t\t\t\tvar item = menu.data.menu.items[i];\n\t\t\t\t\tif (item.type == 'page' &amp;&amp; item.sp_page == data.login_page)\n\t\t\t\t\t\tdata.hasLogin = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn menu;\n\t}\n\n\t/* Variables Local and Client */\n\tvar session = gs.getSession();\n\n\t//Get Quick Start Config for the Portal\n\tvar qsConfig = $sp.getValue(\"quick_start_config\");\n\tvar qsConfigJson = qsConfig ? JSON.parse(qsConfig)[0] : {};\n\tdata.qsConfig = qsConfigJson;\n\n\tif(!data.qsConfig.chatIcon){\n\t\tdata.qsConfig.chatIcon = 'fa-commenting';\n\t}\n\n\t//Get Menu for Left Nav Panel\n\tdata.menu = {\n\t\titems : []\n\t};\n\tvar menu = $sp.getValue(\"sp_rectangle_menu\");\n\tif(menu){\n\t\tdata.menu = getMenu(menu);\n\t}\n\n\t//Portal Configuration for a Menu when there is not one identified by the Portal 'Main menu'\n\tif(!data.menu &amp;&amp; (data.qsConfig.auto_menu == true || data.qsConfig.auto_menu == 'true' || data.qsConfig.auto_menu == 1 || data.qsConfig.auto_menu == '1')){\n\t\tdata.menu = {\n\t\t\titems : []\n\t\t};\n\t\tif($sp.getValue(\"kb_knowledge_page\")){\n\t\t\tdata.menu.items.push({\n\t\t\t\tglyph: 'book',\n\t\t\t\tlabel: 'Knowledge Base',\n\t\t\t\thref: '?id=' + $sp.getDisplayValue(\"kb_knowledge_page\"),\n\t\t\t\tsys_id: $sp.getValue(\"kb_knowledge_page\"),\n\t\t\t\turl_target: '_self',\n\t\t\t\titems : []\n\t\t\t});\n\t\t}\n\t\tif($sp.getValue(\"sc_catalog_page\")){\n\t\t\tdata.menu.items.push({\n\t\t\t\tglyph: 'th-large',\n\t\t\t\tlabel: 'Service Catalog',\n\t\t\t\thref: '?id=' + $sp.getDisplayValue(\"sc_catalog_page\"),\n\t\t\t\tsys_id: $sp.getValue(\"sc_catalog_page\"),\n\t\t\t\turl_target: '_self',\n\t\t\t\titems : []\n\t\t\t});\n\t\t}\n\t}\n\n\t//Get Menu for Top Nav Panel\n\tvar secondaryMenuInstance = qsConfigJson.secondaryMenu ? qsConfigJson.secondaryMenu.sys_id : undefined;\n\tif(secondaryMenuInstance){\n\t\tdata.secondaryMenu = getMenu(secondaryMenuInstance);\n\t}\n\n\n\tdata.images = {};\n\n\t//data.isLoggedIn = session.isLoggedIn();\n\tdata.isLoggedIn = GlideSession.get().isLoggedIn();\n\t// Show tours only if gtd's sp sys property is set\n\tdata.showTours = (gs.getProperty('com.snc.guided_tours.sp.enable') === 'true') &amp;&amp; data.isLoggedIn;\n\n\n\tvar catalogArr = ($sp.getCatalogs().value + \"\").split(\",\");\n\tcatalogArr.forEach(function(catalog) {\n\t\tif(data.menu.data &amp;&amp; !data.menu.data.showWishlist){\n\t\t\tdata.menu.data.showWishlist = new sn_sc.Catalog(catalog).isWishlistEnabled();\n\t\t}\n\t});\n\n\tif (data.isLoggedIn) {\n\t\tif(data.menu.data){\n\t\t\tif (data.menu.data.showWishlist){\n\t\t\t\tdata.menu.data.wishlistWidget = $sp.getWidget(\"sc_wishlist_cart\", {wishlistTemplate: \"small_wishlist.html\", auto_update_wishlist:options.auto_update_wishlist});\n\t\t\t}\n\t\t\tif (gs.getProperty(\"glide.sc.portal.use_cart_v2_header\", \"false\") === \"true\"){\n\t\t\t\tdata.menu.data.cartWidget = $sp.getWidget(\"sc-shopping-cart-v2\", {cartTemplate: \"small_shopping_cart_v2.html\", auto_update_cart:options.auto_update_cart});\n\t\t\t}else{\n\t\t\t\tdata.menu.data.cartWidget = $sp.getWidget(\"sc-shopping-cart\", {cartTemplate: \"small_shopping_cart.html\", auto_update_cart:options.auto_update_cart});\n\t\t\t}\n\t\t}\n\t}\n\n\t// Defines the support queue ID that will be linked to by the Live Chat link in header\n\tdata.connect_support_queue_id = $sp.getValue('sp_chat_queue');\n\tdata.profileBtnMsg = gs.getMessage(\"User options\");\n\n\tdata.loginWidget = $sp.getWidgetFromInstance('login-modal');\n\n\t/** CSM Chat Support **/\n\t\n\t\n\tif(data.qsConfig.isCSM &amp;&amp; ((data.qsConfig.isCSM === true)||(data.qsConfig.isCSM==='true'))){\n\t\tdata.queueType = \"connect\";\n\t\tvar liveAgent = new GlideRecord(\"sys_cs_live_agent_setup\");\n\n\t\tliveAgent.query();\n\t\tif (liveAgent.next()) {\n\t\t\tdata.queueType = liveAgent.getValue(\"csm_fulfiller\");\n\t\t}\n\t\tdata.isVAActive = GlidePluginManager.isActive('com.glide.cs.chatbot');\n\n\t\t// changes data.live_agent_only to true to allow only live agent\n\t\tdata.live_agent_only = false;\n\t\tif (!data.live_agent_only) {\n\t\t\tdata.live_agent_only = !data.isVAActive;\n\t\t}\n\n\t\tdata.useChatWidgetForCSM = false;\n\n\t\tvar chatW = new GlideRecord(\"sp_widget\");\n\t\tchatW.addQuery(\"id\", \"sn-va-sp-widget\");\n\t\tchatW.query();\n\t\tif (chatW.next()){\n\t\t\tvar contactUrl = \"\";\n\t\t\tvar accountUrl = \"\";\n\n\t\t\tdata.useChatWidgetForCSM = true;\n\t\t\tvar cc = new GlideRecord('customer_contact');\n\t\t\tcc.addQuery(\"sys_id\", gs.getUserID());\n\t\t\tcc.query();\n\t\t\tif (cc.next()) {\n\t\t\t\tcontactUrl = \"&amp;sysparm_liveagent_interaction_contact=\" + cc.getUniqueValue();\n\t\t\t\taccountUrl = \"&amp;sysparm_liveagent_interaction_account=\" + cc.getValue(\"account\");\n\t\t\t}\n\t\t\tvar liveAgentUrl = data.live_agent_only ? \"&amp;sysparm_live_agent_only=true\":\"\";\n\t\t\tvar csmQueue;\n\t\t\tif (data.queueType == 'connect') {\n\t\t\t\tcsmQueue = data.connect_support_queue_id;\n\t\t\t} else {\n\t\t\t\tcsmQueue = data.interaction_queue_id;\n\t\t\t}\n\t\t\tvar va_parms = \"sysparm_liveagent_application=csm&amp;sysparm_liveagent_queue=\"+csmQueue+contactUrl+accountUrl+liveAgentUrl;\n\n\t\t\tdata.va_chat = $sp.getWidget('sn-va-sp-widget',{\n\t\t\t\tva_url_params:va_parms\n\t\t\t});\n\t\t}\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_header_footer&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-01-07 19:26:12&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;3af9be6a4f3e630005be4d6e0210c7a4&lt;/sys_id&gt;&lt;sys_mod_count&gt;728&lt;/sys_mod_count&gt;&lt;sys_name&gt;Navigation Left - Collapsible&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Headers\" source=\"com.snc.spenh.headers\"&gt;7dba5ce94f99eb008272ece24210c714&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_header_footer_3af9be6a4f3e630005be4d6e0210c7a4&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-20 14:45:42&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='navsass hidden-xs secondary' ng-if='data.secondaryMenu'&gt;\n  &lt;div class='header'&gt;\n    &lt;ul ng-if=\"::(!user.logged_in &amp;&amp; page.id != portal.login_page_dv &amp;&amp; !data.hasLogin)\" class=\"nav pull-right\" role=\"presentation\"&gt;\n      &lt;li role=\"presentation\"&gt;&lt;a href ng-click=\"openLogin()\"&gt;${Login}&lt;/a&gt;&lt;/li&gt;\n    &lt;/ul&gt;\n    &lt;ul ng-if=\"::user.logged_in\" class='nav pull-right' role=\"menubar\"&gt;\n      \n      &lt;li ng-if=\"::data.connect_support_queue_id\"&gt;\n        &lt;a href ng-click=\"dynamicOpenPopUp()\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" name='${Live Chat}' title=\"${Live Chat}\" role=\"menuitem\" &gt;\n          &lt;i class='fa {{data.qsConfig.chatIcon}}'/&gt;\n          &lt;span&gt;${Live Chat}&lt;/span&gt;\n        &lt;/a&gt;\n        &lt;div ng-if=\"!data.isMobile\" ng-show=\"showChat\"&gt;\n          &lt;sp-widget widget=\"::data.va_chat\"&gt;&lt;/sp-widget&gt;\n        &lt;/div&gt;\n      &lt;/li&gt;\n      &lt;!-- chat, avatar, and logout --&gt;\n      &lt;li ng-if=\"showAvatar\" class=\"hidden-xs dropdown\" role=\"presentation\"&gt;\n        &lt;a href class=\"toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\"\n           uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n           title=\"{{::data.profileBtnMsg}}\" aria-label=\"{{::data.profileBtnMsg}}: {{::user.name}}\" id=\"profile-dropdown\"  role=\"menuitem\" aria-haspopup=\"true\"&gt;\n          &lt;span class=\"navbar-avatar\" aria-hidden=\"true\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;\n          &lt;span class=\"visible-lg-inline\"&gt;{{::user.name}}&lt;/span&gt;\n        &lt;/a&gt;\n        &lt;ul class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::data.profileBtnMsg}}\"&gt;\n          &lt;li role=\"presentation\"&gt;&lt;a tabindex=\"-1\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\" role=\"menuitem\"&gt;${Profile}&lt;/a&gt;&lt;/li&gt;\n          &lt;li ng-if=\"::!isViewNative\" role=\"presentation\"&gt;&lt;a tabindex=\"-1\" href=\"{{::portal.logoutUrl}}\" role=\"menuitem\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/li&gt;\n      &lt;li ng-if=\"showXSAvatar\" class=\"visible-xs-block\" role=\"presentation\"&gt;&lt;a role=\"menuitem\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\"&gt;\n        &lt;span class=\"navbar-avatar\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;{{::user.name}}&lt;/a&gt;\n      &lt;/li&gt;\n      &lt;li ng-if=\"::!isViewNative\" class=\"visible-xs-block\" role=\"presentation\"&gt;\n        &lt;a role=\"menuitem\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" name='Logout' title=\"Logout\" href=\"{{::portal.logoutUrl}}\"&gt;${Logout}&lt;/a&gt;\n      &lt;/li&gt;\n    &lt;/ul&gt;\n    &lt;ul class='nav pull-right' role='menubar'&gt;\n      &lt;li ng-repeat=\"item in data.secondaryMenu.data.menu.items\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsSecondaryNavTemplate'\" role=\"presentation\"&gt;&lt;/li&gt;\n    &lt;/ul&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n&lt;div class='navsass hidden-xs primary'&gt;\n  &lt;nav class=\"navbar navbar-inverse\" role=\"navigation\"&gt;\n    &lt;div class=\"navbar-header\" ng-class=\"{'navbar-expanded': navExpanded}\"&gt;\n      &lt;a class=\"navbar-brand\" ng-if=\"::!portal.logo\" href=\"?id={{::portal.homepage_dv}}\"&gt;&lt;span&gt;{{::portal.title}}&lt;/span&gt;&lt;/a&gt;\n      &lt;a class=\"navbar-brand navbar-brand-logo\" ng-if=\"::portal.logo\" href=\"?id={{::portal.homepage_dv}}\" aria-label=\"${Go to homepage}\"&gt;\n        &lt;img ng-if='(navExpanded)' ng-src=\"{{::portal.logo}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" /&gt;\n        &lt;img ng-if='(!navExpanded) &amp;&amp; portal.icon.length&gt;0'ng-src=\"{{::portal.icon}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" /&gt;\n        &lt;img ng-if='(!navExpanded) &amp;&amp; (portal.icon.length==0)' ng-src=\"{{::portal.logo}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" /&gt;\n      &lt;/a&gt;\n    &lt;/div&gt;\n    &lt;div class=\"header-loader\"&gt;\n      &lt;div class=\"sp-loading-indicator la-sm\" ng-show=\"loadingIndicator\"&gt;\n        &lt;div&gt;&lt;/div&gt;\n        &lt;div&gt;&lt;/div&gt;\n        &lt;div&gt;&lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class='navbar-pills' ng-class=\"{ 'navbar-pills-collapsed' : !navExpanded }\"&gt;\n      &lt;!-- Begin Login --&gt;\n      &lt;ul ng-if=\"::user.logged_in\" class='nav navbar-nav nav-pills nav-stacked' role=\"menubar\" ng-if='!data.secondaryMenu'&gt;\n        &lt;li ng-if=\"( navExpanded )\" class=\"dropdown\" role=\"presentation\"&gt;\n          &lt;a href class=\"avatarlink toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" title=\"{{::data.profileBtnMsg}}\" aria-label=\"{{::data.profileBtnMsg}}: {{::user.name}}\" id=\"profile-dropdown\"  role=\"menuitem\" aria-haspopup=\"true\"&gt;\n            &lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;{{::user.name}}\n            &lt;!--&lt;span class=\"navbar-avatar\" aria-hidden=\"true\"&gt;&lt;/span&gt;&lt;span class=\"visible-lg-inline\"&gt;&lt;/span&gt;--&gt;\n          &lt;/a&gt;\n          &lt;ul class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::data.profileBtnMsg}}\"&gt;\n            &lt;li role=\"presentation\"&gt;&lt;a tabindex=\"-1\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\" role=\"menuitem\"&gt;${Profile}&lt;/a&gt;&lt;/li&gt;\n            &lt;li ng-if=\"::!isViewNative\" role=\"presentation\"&gt;&lt;a tabindex=\"-1\" href=\"{{::portal.logoutUrl}}\" role=\"menuitem\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n          &lt;/ul&gt;\n        &lt;/li&gt;\n        &lt;li ng-if=\"( !navExpanded )\" role=\"presentation\"&gt;&lt;a role=\"menuitem\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\"&gt;\n          &lt;span ng-class=\"{'navbar-avatar': navExpanded}\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;&lt;/a&gt;\n        &lt;/li&gt;\n      &lt;/ul&gt;\n      &lt;!-- End Login --&gt;      \n      &lt;!-- Check if there are any menu items --&gt;\n      &lt;div class='nav-scroll' ng-if=\"::data.menu.data.menu.items.length &gt; 0\"&gt;\n        &lt;ul class='nav navbar-nav nav-pills nav-stacked'&gt;\n          &lt;li ng-repeat=\"item in visibleItems\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" role=\"presentation\"&gt;&lt;/li&gt;\n          &lt;!-- Wishlist menu --&gt;\n          &lt;li ng-if=\"data.menu.options.enable_wishlist &amp;&amp; data.isLoggedIn &amp;&amp; data.menu.data.showWishlist\" ng-show=\"!accessibilityEnabled\" class=\"dropdown\" ng-class='{ active : checkActive(item.href) }' role=\"presentation\"&gt;\n            &lt;a role=\"menuitem\" href=\"javascript:void(0)\"\n               data-toggle=\"dropdown\"\n               id=\"wishlist-menu\"\n               title=\"${Your Wish List currently has} {{wishlistItemCount}} ${items}\"\n               aria-label=\"${Wish List}\"\n               ng-class=\"{'anchor-expanded': navExpanded}\"&gt;\n              &lt;i class='fa fa-list' /&gt;\n              &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Wish List}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span ng-if=\"wishlistItemCount &gt; 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{wishlistItemCount}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;div class=\"dropdown-menu wishlist-menu\"&gt;\n              &lt;sp-widget widget=\"data.menu.data.wishlistWidget\"&gt;&lt;/sp-widget&gt;\n            &lt;/div&gt;\n          &lt;/li&gt;\n          &lt;li ng-if=\"data.menu.options.enable_wishlist &amp;&amp; data.isLoggedIn &amp;&amp; data.menu.data.showWishlist\" class=\"dropdown\" ng-class=\"{active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\" role=\"presentation\"&gt;\n            &lt;a href=\"?id=sc_wishlist\"\n               title=\"${Wish List}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your Wish List currently has} {{wishlistItemCount}} ${items}\"\n               ng-class=\"{'anchor-expanded': navExpanded}\"&gt;\n              &lt;i class='fa fa-list' /&gt;\n              &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Wish List}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span ng-if=\"wishlistItemCount &gt; 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{wishlistItemCount}}&lt;/span&gt;\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;!-- Shopping cart stuff --&gt;\n          &lt;li ng-if=\"data.menu.options.enable_cart &amp;&amp; data.isLoggedIn\" ng-class=\"{ active : checkActive(item.href)}\" class=\"dropdown\" role=\"presentation\"&gt;\n            &lt;a href\n               data-toggle=\"dropdown\"\n               id=\"cart-dropdown\"\n               uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\"\n               tooltip-placement=\"bottom\"\n               tooltip-trigger=\"'none'\"\n               tooltip-is-open=\"$parent.itemAddedTooltipOpen\"\n               title=\"${Your shopping cart currently has} {{cartItemCount}} ${items}\"\n               aria-label=\"${Shopping cart}\"\n               role=\"menuitem\"\n               ng-class=\"{'anchor-expanded': navExpanded}\"&gt;\n              &lt;i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n              &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Cart}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span ng-if=\"cartItemCount &gt; 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{cartItemCount}}&lt;/span&gt;\n            &lt;/a&gt;\n            &lt;div class=\"dropdown-menu cart-dropdown\"&gt;\n              &lt;sp-widget widget=\"data.menu.data.cartWidget\"&gt;&lt;/sp-widget&gt;\n            &lt;/div&gt;\n          &lt;/li&gt;\n          &lt;li ng-if=\"data.menu.options.enable_cart &amp;&amp; data.isLoggedIn\" class=\"dropdown\" ng-class=\"{ active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\"  role=\"presentation\"&gt;\n            &lt;a ng-href=\"?id=sc_cart\"\n               ng-click=\"collapse()\"\n               title=\"${Cart}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your shopping cart currently has} {{cartItemCount}} ${items}\"&gt;\n              &lt;i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n              &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Cart}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span ng-if=\"cartItemCount &gt; 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{cartItemCount}}&lt;/span&gt;\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;li ng-if=\"data.isLoggedIn &amp;&amp; data.guidedTours &amp;&amp; data.guidedTours.collection.length &gt; 0\" ng-class=\"{ active : checkActive(item.href)}\" class=\"dropdown\" role=\"presentation\"&gt;\n            &lt;a href\n               data-toggle=\"dropdown\"\n               id=\"tour-dropdown\"\n               tooltip-placement=\"bottom\"\n               tooltip-trigger=\"'none'\"\n               title=\"${This page currently has {{data.guidedTours.collection.length}} tours}\"\n               aria-label=\"{{data.guidedTours.label}}\"\n               role=\"menuitem\"\n               ng-class=\"{'anchor-expanded': navExpanded}\" &gt;\n              &lt;i class=\"fa fa-map-signs\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n              &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Tours}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span class='badge-container' ng-if=\"(navExpanded &amp;&amp; data.guidedTours.collection.length &gt; 0)\"&gt;\n                &lt;span aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;\n                  {{data.guidedTours.collection.length}}\n                &lt;/span&gt;\n              &lt;/span&gt;\n            &lt;/a&gt;\n            &lt;div ng-if=\"data.guidedTours.collection.length &lt; 1\" class=\"dropdown-menu empty-dropdown\"&gt;\n              &lt;div class=\"panel ng-scope\"&gt;\n                &lt;div class=\"panel-body\" aria-hidden=\"false\"&gt;\n                  &lt;div class=\"empty-tour-content\"&gt;\n                    &lt;div class=\"h4\"&gt;${You have no tours on this page}&lt;/div&gt;\n                    &lt;p&gt;${Tours appear when your administrator creates them on specific pages}&lt;/p&gt;\n                  &lt;/div&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;ul ng-if=\"data.guidedTours.collection.length &gt; 0\" class=\"dropdown-menu\"\n                role=\"menu\" aria-label=\"${Tours}\"&gt;\n              &lt;li role=\"presentation\" ng-repeat=\"mi in data.guidedTours.collection\"\n                  class=\"ng-scope dropdown-menu-line\"&gt;\n                &lt;a role=\"menuitem\" href title=\"{{::mi.title}}\" target=\"{{::mi.target}}\" ng-click=\"mi.clicked()\"&gt;\n                  {{::mi.title | characters:60}}\n                &lt;/a&gt;\n              &lt;/li&gt;\n            &lt;/ul&gt;\n          &lt;/li&gt;  \n          &lt;li ng-if='(!data.secondaryMenu &amp;&amp; data.connect_support_queue_id)' ng-class=\"{ active : checkActive(item.href)}\" role=\"presentation\"&gt;\n            &lt;a href ng-click=\"openPopUp()\"  uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n               name='${Live Chat}' title=\"${Live Chat}\" role=\"menuitem\" ng-class=\"{'anchor-expanded': navExpanded}\" &gt;\n              &lt;i class='fa {{data.qsConfig.chatIcon}}'/&gt;\n              &lt;span class='linktext' ng-if='(navExpanded)'&gt;${Live Chat}&lt;/span&gt;\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;li ng-if=\"(!data.secondaryMenu &amp;&amp; !user.logged_in &amp;&amp; page.id != portal.login_page_dv &amp;&amp; !data.hasLogin)\" role=\"presentation\"&gt;\n            &lt;a role=\"menuitem\" href uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" name='Login' title=\"Login\" ng-click=\"openLogin()\"&gt;\n            &lt;i class=\"fa fa-sign-in\" aria-hidden=\"true\"/&gt;&lt;span class='linktext' ng-if='(navExpanded)'&gt;${Login}&lt;/span&gt;&lt;/a&gt;\n          &lt;/li&gt;\n          &lt;li ng-if=\"(!data.secondaryMenu &amp;&amp; user.logged_in &amp;&amp; !navExpanded)\" role=\"presentation\"&gt;\n            &lt;a role=\"menuitem\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" \n               name='Logout' title=\"Logout\" href=\"{{::portal.logoutUrl}}\"&gt;\n            &lt;i class=\"fa fa-sign-out\" aria-hidden=\"true\"/&gt;&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n      &lt;div class=\"navhide-toggle\" ng-click=\"toggle()\" ng-class=\"{'navhide-toggle-expanded': navExpanded}\"&gt;\n        &lt;i class=\"fa\" ng-class=\"{'fa-caret-square-o-left': navExpanded, 'fa-caret-square-o-right': !navExpanded}\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/nav&gt;\n&lt;/div&gt;\n&lt;div class='navsass visible-xs primary'&gt;\n  &lt;nav class=\"navbar navbar-inverse\" role=\"navigation\"&gt;\n    &lt;div class=\"navbar-header\"&gt;\n      &lt;a class=\"navbar-brand\" ng-if=\"::!portal.logo\" href=\"?id={{::portal.homepage_dv}}\"&gt;&lt;span&gt;{{::portal.title}}&lt;/span&gt;&lt;/a&gt;\n      &lt;a class=\"navbar-brand navbar-brand-logo\" ng-if=\"::portal.logo\" href ng-click=\"goMobile(portal.homepage_dv)\" aria-label=\"${Go to homepage}\"&gt;\n        &lt;img ng-src=\"{{::portal.logo}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" /&gt;\n      &lt;/a&gt;\n      &lt;div class=\"header-loader\"&gt;\n        &lt;div class=\"sp-loading-indicator la-sm\" ng-show=\"loadingIndicator\"&gt;\n          &lt;div&gt;&lt;/div&gt;\n          &lt;div&gt;&lt;/div&gt;\n          &lt;div&gt;&lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#sp-nav-bar\"&gt;\n        &lt;span class=\"sr-only\"&gt;${Toggle navigation}&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n    \n    &lt;div sp-navbar-toggle=\"\" class=\"collapse navbar-collapse navbar-right scrollable-dropdown\" id=\"sp-nav-bar\"&gt;\n      &lt;div class='mobile-nav-scroll'&gt;\n        &lt;ul class=\"nav navbar-nav\" ng-if=\"::(!user.logged_in &amp;&amp; page.id != portal.login_page_dv &amp;&amp; !data.hasLogin)\" role=\"menubar\"&gt;\n          &lt;li role=\"presentation\"&gt;&lt;a href ng-click=\"openLogin()\"&gt;${Login}&lt;/a&gt;&lt;/li&gt;\n        &lt;/ul&gt;\n        &lt;ul class='nav navbar-nav nav-pills nav-stacked' ng-if=\"::user.logged_in\" role=\"menubar\"&gt;\n          &lt;li role=\"presentation\"&gt;\n            &lt;a class=\"avatarlink toggle-dropdown\" role=\"menuitem\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\"&gt;\n              &lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;{{::user.name}}&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n        &lt;ul class='nav navbar-nav nav-pills nav-stacked' ng-if=\"data.menu.data.menu.items.length &gt; 0\" role=\"menubar\"&gt;\n          &lt;li ng-repeat=\"item in visibleItems\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" role=\"presentation\"&gt;&lt;/li&gt;\n          &lt;li ng-repeat=\"item in data.secondaryMenu.data.menu.items\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" role=\"presentation\"&gt;&lt;/li&gt;\n          \n          &lt;!-- Wishlist menu --&gt;\n          &lt;li ng-if=\"data.menu.options.enable_wishlist &amp;&amp; data.isLoggedIn &amp;&amp; data.menu.data.showWishlist\" class=\"dropdown\" ng-class=\"{active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\" role=\"presentation\"&gt;\n            &lt;a href ng-click=\"menuItemClicked('?id=sc_wishlist',true)\"\n               title=\"${Wish List}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your Wish List currently has} {{wishlistItemCount}} ${items}\"\n               ng-class=\"{'anchor-expanded': navExpanded}\"&gt;\n              &lt;i class='fa fa-list' /&gt;\n              &lt;span class='linktext' ng-bind-html=\"'${Wish List}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span ng-if=\"wishlistItemCount &gt; 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{wishlistItemCount}}&lt;/span&gt;\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;!-- Shopping cart stuff --&gt;\n          &lt;li ng-if=\"data.menu.options.enable_cart &amp;&amp; data.isLoggedIn\" class=\"dropdown\" ng-class=\"{ active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\"  role=\"presentation\"&gt;\n            &lt;a href ng-click=\"menuItemClicked('?id=sc_cart',true)\"\n               title=\"${Cart}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your shopping cart currently has} {{cartItemCount}} ${items}\"&gt;\n              &lt;i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n              &lt;span class='linktext' ng-bind-html=\"'${Cart}'\" aria-hidden=\"true\"&gt;&lt;/span&gt;\n              &lt;span ng-if=\"cartItemCount &gt; 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{cartItemCount}}&lt;/span&gt;\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;!--No Tours as they are not visible on Mobile Devices--&gt;\n          &lt;li ng-if='!data.secondaryMenu &amp;&amp; data.connect_support_queue_id' ng-class=\"{ active : checkActive(item.href)}\" role=\"presentation\"&gt;\n            &lt;a href ng-click=\"openPopUp()\"  uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n               name='${Live Chat}' title=\"${Live Chat}\" role=\"menuitem\" ng-class=\"{'anchor-expanded': navExpanded}\" &gt;\n              &lt;i class='fa fa-commenting'/&gt;\n              &lt;span class='linktext'&gt;${Live Chat}&lt;/span&gt;\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;li ng-if=\"data.isLoggedIn\" style='margin-bottom:90px;' role=\"presentation\"&gt;&lt;a role=\"menuitem\" href ng-click=\"menuItemClicked(portal.logoutUrl,true)\"&gt;\n            &lt;i class=\"fa fa-sign-out\" aria-hidden=\"true\"/&gt;&lt;span class='linktext'&gt;${Logout}&lt;/span&gt;&lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/nav&gt;\n&lt;/div&gt;\n\n\n]]&gt;&lt;/template&gt;&lt;/sp_header_footer&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-36628006</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>29fd16914f3763008272ece24210c736</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1690b5e97780000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>Navigation Left - Collapsible</target_name>\n<type>Header | Footer</type>\n<update_domain>global</update_domain>\n<update_guid>87bf54b4057f27402f05d127d8af5cf9</update_guid>\n<update_guid_history>87bf54b4057f27402f05d127d8af5cf9:-36628006,83bf54b4627f274044e9338485ed4ef8:-36628006,55af14b4077f27400c63d1a2f35b95aa:1152500473,c0e3ccdab227af00706219be40fbd4b2:-2088567253,e17f7db975236f00cc347f94153bb6ff:-1783147468,37468fd41de72b00a5b72b5a17d62bec:-879306544,06d54fd459e72b0042e6f95f5a6da00c:-1754265105,fe2e29889c27e700e25aa0d3253b8e40:-2068754051,f82d21485927e700b0da400e96507a81:-1225576460,840d61485c27e700b623d3365d835a09:-1677949065,15eca9082b27e70002aeff1dbb509e0f:8306007,adbc6d087e27e700a174cd02be5282f6:-1686834157,05aca908b427e700cdaa2ea2e1984fd6:1010944627,c47ce5084427e700ca86171c83489cce:1601680913,644c2508a027e700001d7dc5f742935d:-321709487,f32c2dc44f27e700748ff6f796e089cb:-2101652522,311ca1088327e70026a9a39303a9a7bd:81018062,8b8b65c4b427e700bbf5dc08fa57ce73:756324372,b02ba1c42b27e700472a22b00830137a:-57337876,0feaa1c46127e7003c1f2c274a95a96c:-1721581155,51ca2d84fe27e7002592ce302793bf91:1487765256,879a6d848227e7005c0801f4816c9b82:-2102272900,5f8a69842e27e7000f4e26d06ddeef44:604617295,045a69841927e7005ccf11ec7e58012f:-1027997914,804ae5848e27e700c3274f87b4b4bbec:-963777656,05a96d442827e700a07bfb2869db67cf:260114082,a78969442d27e70044fdb60ae59428df:323890337,f569a1443027e70094b729c58c26afd9:881490366,072921447f27e700db1b363e84334951:2049794787,22f8a5041a27e700948979661cc2fa84:1031400597,776821041427e700fe0765ed85d8c561:494187036,e458a5c06f27e7007f827bf820415c14:-1348475008,5918e1809b27e700e4d2fe210a79f9f7:-22311456,14e7e5406a27e7002eb9a36a217876a3:-967106158,2e77e5405c27e7001be9ab6e03bc3955:-1186596111,fc1cfc8c7c63e700b017350a533c2c17:-89723026,8bdbfc8cd163e7002249387a09062977:-1214938688,edcbbc8c5f63e70035e538b83116fcc3:2005066230,d8bab84c4a63e7009c141b5fe7870bc7:1969763241,24a63c48fb63e700693a81006313dee6:-1816586072,d2595ff35edba7004e0b26f781822dc9:-541361958,8ea813f341dba7003e91609a21f7ebb6:-1490329922,c3c49fbff79ba700a054b68ccd276233:-1783603586,c4a49fbfc59ba7006c50b4becdfa054a:-1382261257,94b3d37f0d9ba7004d222be4333fc5f4:-1226451859,c263d37f059ba700af5320f22351c8ed:367932991,f903df3f439ba7007a8a3806123d299a:327578712,0d42933f1c9ba7008d0a1a4c0893d6e7:1756316163,6122933fea9ba700686190efe85d3b6e:1215573107,acd1933f329ba7006e56c5dcb2bfac65:48144576,49a1dffbff9ba70064bf4770e3e89c02:783052318,d2719ffb499ba7001f79ce62f6fe586b:-375943724,844c4fb7f59ba7009184d191f2f0b1d0:1584683500,4acb47b7929ba7003f506497504364ce:-1135115767,e76b8b775e9ba70008d6d56d5af207a7:-847420149,f0b903b3d29ba700b06e8a250dc5047c:-897370513,e1e887736f9ba7000bb227a78d6f2305:1268674630,138883735f9ba700eb44965641ef7263:1115396828,ec5647bf125ba700c822b63d34ab79e4:730648481,99640bfbf35ba7007911eb447fccc339:845905125,0d348fbba15ba70073dafac744bd0db1:-1033810882,dbc303fb3e5ba7009235951ccb81a9de:-186342074,a229cbebe79b6700ebe3826af4d82062:991054943,2ebf9aa3731b670050fbfeaecd09ea34:-1494964424,c1fe1223be1b6700b6377651463d73c4:-677653347,e6de9eaf08d767000dfff8e408f8c4f3:-461710069,e9addeaf4ed767006e502db7636107c7:973187125,d99d9eaf05d767001fb113593188d565:1784110103,fd8d9e6fd2d7670040292dd9c959360d:1840587085,34ab522f73d76700e6c23c3a0153da39:1561022863,e81b126be2d767008f3895fa916023c6:-1028232657,e39a5e2b4ad76700b2a7822b28cb4a87:274907590,748ad62b3ed7670045bac8185b59514f:884560931,446a1ea751d76700b902c79e9631af5a:1050186836,ed4a562b56d76700b5e586211dab9a07:31215435,5a1a522bd6d76700e65c083c12f7bd4d:2046115477,8028daa785d76700fe8c47fabb3f4d39:-1377286009,9a08d6a74ad76700241a1b3055b38d02:2075271185,eb87d2a79bd767000e371fc9ff608a31:-547458287,647752a7f1d76700c33a156542922af9:1233342951,f737da27f8d767002e4dda81f03b3b19:-1950960495,9ce616e3a2d767008d6b463762ba3d70:1988931555,3cd61ea3a7d76700e9bf759759ae7de7:-139262544,2c665aa34cd76700e965a897f9627aec:643334152,83261a6335d76700aacf66ef4e8f82e2:-1474999768,0e5592ef3a976700bbe4c36b5c183d1f:856423989,4f05daaf5b97670007842121791e8f92:-1157327884,7ce496af7e976700cee506035866797b:-5040012,0800daabe6976700c91aed6d3849cca4:1372566522,f4efc2ab489767005c252bb589759727:-767027235,7dbf02ab7f9767004048de02b8ef8a64:1885303486,6f7f02ab8597670062291a09d0b4be2b:733499102,ab8d462b2097670019c0b26ec0c25be4:1834321001,bd3d022be297670087b86568fa8deb1b:687613550,731d4ea79d976700e6066ef155e91045:2138197321,f418ce238197670020ff46994aea7f1f:1834321001,c7d78e2391976700e19f521c308eeeb8:-1052437421,5ac7c2230f9767002fc49d39271a0341:1841238290,01f6caef39576700b3313c054b2dbb7c:-1213006349,638582efb257670024f1d5eacd20adae:2133585027,9a15c6af5757670015ef8156aa072960:-37312098,8ab446af9f576700b6e510b70ef946a3:399720204,00a446af0b576700b50d68c3ad149c99:-1509688588,437442af5b576700526b17414a9e3ca4:182166732,0e54ce6f245767003e32ed105871e248:1086531883,9b83826f73576700fbba321b636f7277:1733069899,f0734a2f66576700202af4f29d17a605:1831578560,2433062f9357670036ea7d26e5335b69:-1064354651,0bc28aabed576700c40b0f0c34a30fa4:959622742,af8f396b2d576700d4e5f62d0bee03a5:-1284743037,ed2ff92b32576700db9520c7b8657fd6:-1551366612,7dbeb52b7b576700c26dafb383681e80:-376232625,254e75e7aa576700dd7e3d9ec25c3d8c:-1114564413,798d3da744576700b83a0b239b4796ca:-2137389537,2f5cf1a715576700138395f08cbd3e2d:1613271312,415c75a7a857670037e605984e7e27b2:1316183691,47eb756754576700cd76c2710173ead3:-665311504,417b71670c576700ba534544815ba224:-1867661922,82da3d273557670052af58609dcddc2c:1375132674,29aa3527d2576700485fd751cc71250b:-1709077812,485a31273957670086f7537427caad4a:2098212093,a7b9b9e39c576700b217661bced3e6c1:-1805675723,8399b9e3c9576700e1db4319374f31a6:-2027292480,0469f1e39e57670072aff8b08ab7cecf:-1805675723,ec09bda3c6576700b921c1073f6da8ee:536457845,5ac8f5a337576700d91d1ec555fda2b5:1563625991,1fb8b9a399576700cfd95a4d7a27badb:1775726907,ad58b5a33b5767003be0b01bc5d3f354:-1715315499,e128fd6373576700ce9cd9182771e246:426248073,36c7b163ff576700d5760807d604e64d:686142473,2617b163fe5767009bf0462a77a6dd42:1565653888,b1073163dd5767008efb543bc8d189ed:986358836,daf63163e6576700ba44a2bff1402c77:1145992835,4cd6bd23bf5767003fe6098cc905000e:-205045511,e9c6bd232d5767002c18e4a39940bc07:-888127684,acb6f923055767000b1fe36871fa33d0:-418995208,a7a63d23c9576700364ee9f7f807ecd3:-1372198815,bd763923515767007dc729a436042440:-835437646,0c363523d45767002bb07de76ea1c8a7:597291489,4f16b9ef06176700f3b9d53375093258:216638459,bcf531231e576700dd6195494c351af8:233774464,b094f5afd1176700445ae2b0e8ee0455:578474259,4564f1afad176700f200fb3446b96874:1034312620,de143d6fca176700fa956d803c578277:1234004111,22c3796f7d1767009123e859425a43aa:-704454138,9c93f9ebea17670004b421a5ebaf6917:-1802186169,c871f9abf0176700a0700480cc24e05e:-327293072,ba9d429bb05b270084ad2c874592cec1:-1911966638,a99d8e5b515b2700614d8fd4a5cefd04:1892117860,fd7d029bc75b27000de19625a9253409:-2055365395,125d0e5bbd5b27007852d7ca3108bda4:-329230731,f21d065b0d5b270087e8bf7476573bf5:1367433269,ffbc025bba5b2700b35ec905b6bb5061:198381516,196cca1bc25b2700003c29f897c8f554:-1003700744,e54cc61b2d5b270037361ee411c9906e:860680495,1efa8a97335b2700cdbd4050d404574e:-232708449,426a0a97325b270080119b74bdd13e21:1809935233,fd3a0297675b2700c0645a58ba3839b3:590027198,1dc90297f05b27008a73d64b4c20d5ab:-1195272204,2429c657a25b270060483b39fbefd130:463011158,1d09c257645b2700a2fdfdcf115d7125:-1265571272,bae84617025b2700ab89de552c63d8b9:1199325813,9f884a173b5b2700c2acfc2b89cb026b:-540720561,c0884a176a5b27007e34290043b5ca74:621226054,75480a17a25b2700667b5bef11dffbac:2023568129,08f70ed3ce5b270089108b495c5d480d:1459233388,0f27c6d3405b270021c0af79ba443547:1910857687,b81782d3305b2700bd2d708f9af60ad0:-1014827721,f1c68e935e5b2700ea826250a6066181:-727973360,62a68e93915b27005a34f7db106c3d7a:-409890807,50364693ac5b2700c0ce2cd43b599d1d:2007855538,84a48253045b2700cd9705533d0ff236:-409890807,40644a13465b2700b6f5503cc741e666:-1523741315,65f2c2df071b27005b83a402b27ac0c4:-1999365159,02c242df141b2700049767a6d76d8b6b:-103750375,cc42ca9f7d1b2700b51e56e49187324a:-922074004,b9e14e5f671b27009af5c7fbf45c6011:-688946285,5df0c65f341b27005d24eab2302d653a:1028481209,bce0425f551b270064df4cb409a61499:602205273,aa20c61fc61b2700dcb3853a048e3e8a:1028481209,a6cf311f4b1b2700bb2bb3561a0eff60:231206754,ab9ffddb9b1b27000e524037aa836527:1313169922,6e8f35db061b2700e500066d732f02fe:-93270483,0f5fb9db9d1b2700aaedb0d8964337ff:-1304504717,503f35db6d1b2700fa66fe0a857c1984:-530713263,dc1f35db9f1b270034e4586164d3de7c:-799918702,2c0ff1dbb31b2700fc0ec4d96cd5d445:-530713263,8cfe31db5e1b27005994690af0ac157d:2117896242,5cdefd9b4d1b2700f3a267d498bdfd4e:1602239083,d8cefd9bb51b27003a39ea59c2028147:-1313960019,4b8e719b601b27002be0fcafcbf88f42:-1743941513,bc3ef19b811b27008000816124af2a70:1569862744,1bfd7d5b591b270078e79f128419bbad:-495896732,61ddf51b2f1b27000d0a5677086b8b92:1954767172,824d351b9f1b2700386aa7f7b0a94c8c:1559399632,681df11ba41b270071094a8be5a5db49:-1029957161,47fcb11b871b2700f9c35e410fbc6ebc:-443200201,b79c7dd7af1b270045cddb0f677c8b94:-1029957161,9e5b79d3c01b2700bf406e05c9f32a3a:-1569278760,954b39d34b1b27006c5994f7d62f2a59:-687274450,35393d53341b27005a157f76c273da0e:342832331,ae1f6593b7d72700a8a39a68cf107d81:-1573796893,b916615702972700c0de3092777fcf6f:-1835546516,0185a517b29727007b74dfe79100dfe5:1244783134,eff2251fae572700ce6bb38625e9117f:-56160728,d1e22ddb885727006b0ab4b00b8debe3:-795138180,73a22ddb3c572700b71a35094bda4ca2:-1296433905,7f82ed9bfa5727002a2883e40ac09940:1696152508,acd1ad9b8157270035ea4b87a8a7bcef:-126191512,9581a99b575727003477833460020084:1486291222,2071699b9b572700249fc2fbc2a6f54b:-2103106707,b151a55bf6572700840ab11c69622262:-1064744140,2021a55ba75727005a198891babd145b:1451349051,63f0255bf3572700e3a2a039db6a0d67:-1908814621,7ee06d1b3d572700315120e1ce020479:1325637284,42c0ed1b3f57270027e9bb4e4f12b793:-1070121754,17906d1b925727002f7c1a5922831d6d:-812408442,a0806d1b29572700a936a678af5f4f66:-1070121754,a650251bb55727004bb4bfc91c5489d8:-1459390900,de7f9d57285727001109e1ba1b7fff89:908811062,056f1d576f572700baf7b39b4554ce1e:-196048746,642fd557fb5727007f2c5486868ed706:1195230261,36ee9557465727006023d5d7fdd2f19c:-346765104,28ae991775572700ab0a82607989379e:-1059636495,684ed11796572700f7d682c7b5f6047d:-1459390900,14ad19d3d257270007bf5bd90af89b1e:1052857718,06fc51d3fb572700afc95245ddf5f866:235559898,06db55931c572700eafec7b8cd12a1d4:-1389193982,560bd5532e5727002f57819357d99feb:1455834390,e0ea1153b2572700e6b0f091c257b6b5:-237603990,5cdad9132c572700804874f38ce7de20:459361659,eeaa99137f572700f7961019865180e4:1188671505,138ad513db572700a6d9e7ec631b34b2:1939450227,8a5a5ddf511727004f70a705b9dbf924:132416243,cda991df931727007ebde47cda1548a6:630010548,0439d1dfc3172700f64299df9e3f446b:-2111743116,ae0991dfb3172700e1c784261aac0f2e:-1860251565,f698dd5fe51727009db12cc36a1734bb:2119954286,66875d5f57172700bdc94161fb6c967b:-388199767,6853199bc71727006448970d8a9a3861:-981980342,99239d5b73172700c7e37afc2a4c3c88:-674932264,53a29d5b85172700d1a280b257562a25:-1303602348,7b52595b7817270000241baf576b858e:-2137434940,fa32555b8a17270050fc91e9693e71da:-171758939,bf22155b2a172700b6451d1eac0b3cab:-1836549379,2702555b821727009a32a37ad80e7baf:-297315334,2fe15d1bbe172700a1c9fdf26b08ea8d:1171644165,b2b1d91bc017270038865171f255bc45:-1071260568,f781d91bf1172700dcacc4722c55342d:-581778306,b951d51bcf172700a32214af8485b4d5:-591385831,6531d11b85172700ec474995bf92723a:2046809834,050159d7aa1727007ea7c1cbb22460e8:-365944734,58b0d9d741172700491d206bd652f2c1:1216531068,2e8019d7c617270071e6b88ee06a1d81:-1573853228,9d6019d7f517270020920d1239677574:1640952396,dc5019d7141727003823dcc113c1eb6d:-1431093503,162091d7161727000e16b87512a2baa9:-1105411287,b1ef81d78417270063a1eb8ff32ac983:-1513869191,278f89972217270013be1901163d5c78:523938506,1c5f0d5784172700b340115a9b51aa18:455184653,57ee459758172700d49de8351757e788:-798207715,2ede059703172700923a132f7c9c3bcb:-302516866,2ece4197391727001d9cb5e9cb5bbcf1:-1903414569,934e09171d17270053f5454717bcf8d9:397275670,b2cccddff2d32700e77c61e78813e892:-108802178,f74c09df79d327006163062fc763e087:1788510249,61bb09df20d32700775cb6e753e52736:759595891,709b85df09d32700d3bd33d93422dd6c:-1002903846,825b099f6ed327002cdc2dbb245a21d5:1853179171,6dda019f6dd327004a8e472455e0634d:-1223337693,2249c55f82d327003e7ff87efe1829ac:373274119,a939855f83d3270009aa9ae6c864b67e:1593770472,000885d70bd32700b3ea81fa647739b3:-902342747,ee56c197cad32700839a6a7e138e49a6:1674294519,5d9bbbb609d3e30054c9e92ae00cdd05:853343678,d4da7bb648d3e300c29a6b29c72446e4:1006994887,e5ca6b22f157a3000f23aa6f1a579005:63445415,89c963aa1217a3006e4a646ab08996d9:-287109678,b75923aa8617a300c887978cc3772913:-2090325640,5a4923aac017a3008ce280d72aa8300b:818615554,09296b6a0e17a3002b7e21d37ac094c8:1233843970,08e7a3a6fa17a3004c751ba4c6ae94b2:-2090325640,df96a7a2f717a300a34b9c3c2144c9c4:1606867176,fba4a3ae02d3a3005ea0494a0a39bf40:1346028474,84732f2ed9d3a300224b2d97e59a307f:-1921816644,8e532feaaad3a30077136ac4fafbd21e:-133196564,ab7f9f2ae1d3a300a168ab4bc4e4b728:1644105720,b2fe17e6c2d3a300053dec181dec3db1:-1934061258,98cd17e6cbd3a3006f16f316062e59c7:1826907787,ca4ddfa62ed3a30085411abc9140001c:462065046,1aacdba6d2d3a30006243009bb57aefb:866306358,718cdba605d3a300fd0aa640577d25ed:892604993,507c53a638d3a3006758f9d27dc32738:710015905,7f9b53a602d3a300e63b98dceff00f20:1373245631,275b176637d3a3002c3bb0500c96f962:-832992939,be9a936648d3a300023df1ab0276bb21:1818970506,528a9366b4d3a300064d273aacccaac2:941318752,a56a136607d3a300535df163edbf8350:-480168995,c03a1f265ed3a3006d2374f9410d40a3:985649194,eb0a5fe232d3a300f3ba07bc1fdee75a:-1572232488,31f9dfe2a1d3a3008785b055f81303a0:1746916497,ebe857e2b2d3a300375f26b35d5f57d0:-1242037121,975857e24cd3a300f376b4b0a4e957be:202926376,50671ba214d3a3007830c0939921340a:-363598176,485793a26dd3a300591c855e8e494b22:-661670262,a12717a221d3a300ea70c93864e3865d:2063965708,ea8653ae1493a30043fdb484d8c41abd:-1839175193,7c769f6ea693a3006bb052556ce1a89e:-1180063999,b2f41b2e4293a300ba0abb947708081b:-370673924,fe449fea0593a300c9fb5b77f3ab16c8:-1397876814,bfb3132e7c93a30011e5dd2f2d58c592:-24760302,5ea29baa3d93a30086f573d8ec8fc015:-1410207326,9a9293ea5893a3002c42bb5a83e0a566:1375530300,b68293ea3c93a300a7e24d88a6906807:-1281848866,9ce11baaca93a30062f9ff2d57a00b1b:190686934,f9a157aad593a300425f4a5152153cfb:-1451251779,f48113aa1893a300b236d8e942153ab5:1090523541,0dc0176ac993a300389d4da5298115b4:-455707116,8570d36a8693a300992494b1798dac4d:-1191333642,5e309fe60093a30059468f0af8b7845e:1771002284,70ed47e6a793a3002a3e201de0cfe80f:2132614368,615d0fa6b293a300d415de1c96fb8ec2:-68741248,843dcba69b93a30036369055e655951a:1166634880,281c47666d93a300a32ec15bd63e34f5:1870671648,9c9b4fe2cc93a300299e64529bb19245:-795787655,ad5b4766d993a300d3784987927f977d:1600998974,645987e2e493a300519714f2fd2c0936:839441418,b4c88fa2a993a300f8e0713fe7e60588:-1345602202,8e984b62da93a30013f39ade45546599:-1147676144,83380b62ca93a300aa75abe026a7b74f:2007181601,39f74362a193a3006131e6003888a598:-1218406837,1cc70feed353a3002f70388e8513daff:1060128484,63378b220e93a3000912d14627fbe876:-1370465886,e9368bee4e53a300f8f390a12ed82869:1432438544,7cc583eee253a300e611c29a376f80ec:-541487983,d77543ee2c53a300d98faf8a6d721cd5:-1007204704,6c04cb2e8b53a300824f30ea55fa863e:128200713,0bd3476e7853a300cf578a26f3872b34:951222028,10e436621a53a3003f7d7dfa188b03c3:-1973556917,6d84b2622853a3005149e843b5deef7f:673873506,3db17a2e5713a300226033a3e704ecf4:867708599,f581faaa0813a300ecdbbd9a013e7d5e:1616249828,fe60322ad513a3005d4615e0b72c5cfc:-1497925832,eb407ee69e13a300e74bb20d5a021c2e:77853669,9c207ee68613a300ae376a0933857626:-1613136006,25ae6626ed13a300cc5c3c57fe4b7e8c:-1425373346,73ece6a24f13a3000c30e664d4baa317:-1628628283,309ae2625513a300b26e956c8d05ccfa:1184326924,788a22620413a300199b8967271c0f4a:-1433032942,ba3a22628a13a300efc9d9021d3dd938:540567356,4ac92aee76df6300c5f435dbcf8c7f4a:-355170772,1a79e2eec9df6300bc12ef7d2a9d5a47:-625801348,4219e2ee41df6300132bab7dee1fb238:199549202,2cc82a6ec9df6300fb094857a67f3c7b:482835472,e4a8626e42df630081524422d9373289:1871923764,32b7a25adbd36300627855ba6798e25c:-1087064729,3767ae1a65d36300db21d2a5f240a38d:1132983491,5e57ea1a15d36300699e1adba24e3c16:1663513587,27d6621a23d36300fe25bce7a065a5de:-2037315255,bd242e56d1d36300ce19bc81cf26a7e2:-2128421139,73f3e656b8d3630032d118735c37e3e1:-226886137,8623e216b6d36300edd3e75cf39dff42:-272552387,2b82aad291d36300a5cfa2f34410a0b6:589453173,39126e92f5d363007c26623eb516dc01:-3043209,6ae12e92e8d3630035af6baa545ba7df:867963045,1b61a292c3d363001d7b4a90503f4845:732692133,7141e6929bd36300f93e2ca0d2b0e8e2:-689955486,26d06e52b5d36300ed53b74466636210:1083752848,c6a06a5209d36300327402d6f0ee94a7:-322215643,8180225242d3630056ac4c9b8584b801:-742230077,f8cf9612e2d3630047dda8c7fa1e3b88:350282870,aaaf961244d36300551f92d6ddbda481:-701706051,068f521220d36300116377281ff3ddfe:-1183050657,86fed6dee593630038334421b6c35196:689196291,4a2e9a9e9a9363001eb219226a2b29b7:1873332864,9dbdda5eba9363006c1c7082c0328a7b:-607028412,c7fc165e0793630097f7c4a67f14b22f:1169266080,78ac1a5aed936300e894b13ea3e4fa7e:1982265490,a348165ae8936300c4ed2f532c8f5f83:-245548071,0048d65a9693630096424a0a566847ec:-1789939623,9ae7125acf936300f68845c7e1cac6e1:304164200,ae9756d639936300062418591c4772a5:-1892742647,bf96da966193630018a04825b6b855bc:-1244614429,cd0612967d936300b920de0c124fa622:-1723300419,17551a562093630018de6f7ac82ef94f:1790619980,3d351a564b936300a0822761e4771672:-525279267,57e45656e09363007403a0459b69e911:829678784,a6a49e169d936300675d66adce526b65:1377694616,4b545616f2936300913707c5c965eb44:-1114106099,82e356164293630061d989f6ce243423:-621397114,ee6112929b936300a814cf6947520d8c:-968130892,c6401252a19363002321e51ed6f9b421:-1209715131,384e46dec55363008865ef9502b5a46b:999926536,b8784a9a55536300d4cbccdbc36d24bf:50171567,81580e1a91536300208ba8b433d74510:-103986136,06480e1a2f536300cd8e796bd74d261c:-23144144,0216ca1a8053630032316322d9848505:284296622,a8f5861a87536300baf5b3b476fea67f:-845865096,93e44ad60853630001a235a09de5cac7:1619167932,13feed56bd1363001634ed8eaf61318a:1599617004,baae69569e13630086c1a821da5f2351:-219643553,6d6ea51669136300a37b8dbedeb4d62d:-1566442732,c6dda59288136300bc8c4e6966fcb0b1:-244544374,d1cdad52151363004e7b370c2d27efa6:-2013310313,2d5de952ce136300d58e092092e88eb7:-1236841158,54bc2912421363009bce2124f86cabc3:424564739,9a0c21ded5df230046261f47c89b1299:918834649,167aed9e4ddf23003c781e48ec87bbc0:-1797618502,eaf9e55eb7df2300ecee0a9642299195:211387696,70e9ad1e1bdf23002023f32571d69995:1698687588,0939e9daa2df23009f10e61222c661a8:2122379358,ef65695a43df2300f65948d633e1db01:-1880129934,e625295a69df2300c506ef83180d1a60:106238527,3fd4a15abddf2300339fbe08090495b7:1864752287,bb47591ecb9f2300a8024f001ac4cbb0:322000114,7596511ea69f2300eb964eb16f769d65:-205483542,3246951e449f2300736a4b44b91a2be4:-1771195357,0f06151ed99f2300ed0cc758601dcf6b:609772316,706519da1e9f23002578c94bbe0933d3:1816477818,da0519da9f9f230039416a2dc58ba9b7:-1764476992,7074159ae29f230021161a1191eaf90f:1775352976,dc645d5aa19f2300d8eefe0e63b9e0e2:1798573809,9b34959ac99f230056aec1640c453985:1174500337,29e3159af79f230024c0a7c7a060dc04:-1068579582,6da35d5a059f2300409a901a17ebeed9:1888316251,f253dd1a0a9f230038e1fa97df1fb4e1:486490156,89f2115aff9f2300c8f0332d6a2d7303:1932909766,1361d9d6d59f2300a020b1c3049e2bf0:-594443300,d2519596e49f2300314e4cb0ccb91d00:523873394,fd80d596e79f2300cb351eba0307d45b:-1063968034,afffc596e89f230006d464c7c2775954:-1238434504,daef4596da9f2300109d02396e83b1ee:-1871524997,05df0596d59f2300f649caee3ebaa49c:-1238434504,ab0fc556339f2300f19766235137665a:1434080216,05de8d16c39f23008453eb9a5812f0d0:1420411291,5f90ff8a3e1b23000435e2671dc49822:-1771320810,5e10fb8ac51b23001811cfbf65993853:-161082585,373f6f4a6f1b2300c651aba65084e833:-342763354,535e674a211b230043876c50828955f2:1690023423,cc2ea34ad01b2300be43e623fceab858:1221298883,94fdab0aaf1b2300d20a85cfe50e1503:-346803457,7eadeb0a2b1b2300febf94cdf888ae98:285698810,cb6da70aa61b2300f349e5b8dc618ab7:240873174,6b4da70adc1b2300c11f623ea501eb45:-386069617,214da30a971b2300b29271a1d77f150e:-1669669692,49dcefc67c1b230025c57f7dc53ff3d5:-1663931648,90bcafc6cd1b230083da4478ff090a56:-2005956547,9e7cebc6a91b23009518c130018ba390:-635781063,565c6bc6a61b2300c3fe3554eabbe7ba:494703677,cd4c27c6231b23009c568a45297cde40:-1174553529,9fdb6b866e1b23004d1c6a5692a93908:974947369,21bba746bb1b23008a18cf976be424ba:513588393,0f4b6b86761b23009256f4d362b4d20f:-1565536766,b69a2746db1b23007f3b73b11f59406f:-1447281227,ba6a6746951b230024fb7f052eb87041:1323990486,9e5923c23f1b2300b6f6c3eb957caf7c:2099637767,7f1823c2ec1b2300b019adfac7e39e3a:252303405,f0f7eb82a11b2300e7cdba7003d8e296:773153495,8957af02ff1b2300c498eceea4eef612:947121637,09d667023f1b230010737d390c47d3d6:-434290131,6ba5678eb8d7230095c54d438c3b8504:997735619,8475638e4ad72300c84b1116baaae0a4:1427416330,7745638ec6d72300cb166dbbaef67040:572790074,3025ab4e90d72300da5af7513c6de1e9:-406327496,f4b4e34ee1d723000a5e716f229b5e4c:572790074,9d14230e9bd72300c39d27981933d4f5:-1425463974,c7e0e34683d72300058fe19b71324fe3:572790074,9a2067063bd72300e083af471df98107:-384742014,c7ff9fc2fbd72300fb671dbaaff713e1:-1512149035,897f1b8246d72300238589e0edeba587:-983716998,9c0f1bc214d723001023ed8b0ba06f87:-1972403749,18ee17c28ed72300a1bdac42b3dea7b2:1249692844,78bedf828fd72300407e381c25b5e9a8:-2085037322,07ae9b82d2d7230082b74f5688ec4462:-919540982,d50e9f0223d723006b108d4789ec2fd2:1405667989,eb1b170e7e9723000eab65b73ad53afb:1950608199,f0ea570eeb972300e1687454fedbc676:-682194576,094adf4aab972300e955b8e14abdc2c3:506958413,4a3a1f4a339723002871428f6200514e:-878175724,812a1f4a9b972300c261650ff9911f8b:506958413,1ef9db4a919723003164c6d95449d1f1:-1235957957,5a195f0a0197230029ce61422838a5a1:-302572567,a3d8db0a0a972300d36042932aa7630c:-425214564,41c6538669972300ebca3ea655f810f8:-1636959347,fce553868697230088bb4d9e75c4e8ef:-2045459484,ceb55f46e09723003f7f0b11b8cd87aa:-1687310556,c7e4d306a69723005ce46bf1e50b109b:-2014816797,68941f067b972300e61006fd59fda0b2:2084269959,4704d30631972300d0d2d61b9690a892:-2129434265,09f393c2bb972300af40741f603c9ba3:674007181,035393c23a97230057ed346643dd959b:-1157270094,75f7ca0a1a532300c644831901407ca8:-1420695238,7e474a86ce5323002a7b8076a929371c:1499405166,7f07c206745323000cc28434f8df6093:-194839887,2c428a020e9f2b40ffdaf6ba698da656:1842343572,f670ce8e9f5f2b4089d50cc5d04792e7:-280267206,159ffd46b25f2b405d748940c788c888:754414067,a6ee35420d5f2b40ab22fe3208781de4:-279428806,a4d97502e95f2b40e7c1baa6c6cc5154:-1604738243,dd69bdce0c1f2b409beb466d30a5ac79:529052344,4488754ed41f2b407626dfd447dbfdc6:-1285889211</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_e5c6bd714f0beb0005be4d6e0210c7ef</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency/><sp_js_include display_value=\"leftNavSlider\">d5b6fd714f0beb0005be4d6e0210c7f2</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-01-17 16:52:49</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e5c6bd714f0beb0005be4d6e0210c7ef</sys_id><sys_mod_count>3</sys_mod_count><sys_name>.leftNavSlider</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_e5c6bd714f0beb0005be4d6e0210c7ef</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-02-22 13:11:35</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1417316983</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>2dfd16914f3763008272ece24210c735</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1691555259b0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>.leftNavSlider</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c06dda51ca376300cac82102499ca52c</update_guid>\n<update_guid_history>c06dda51ca376300cac82102499ca52c:1417316983,8a5d5a5105376300335730ef87399b6b:-586283200,744d5a5144376300eb9ea9eeb3f6e1ed:252130279,edc6bd71690beb00a85915432bb8c8f0:-586283200</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_4e65214e4fdb2b4005be4d6e0210c7fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;item-added-tooltip-leftnav.html&lt;/id&gt;&lt;sp_widget display_value=\"Navigation Left - Collapsible\"&gt;3af9be6a4f3e630005be4d6e0210c7a4&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-01-30 20:31:41&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;4e65214e4fdb2b4005be4d6e0210c7fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;item-added-tooltip-leftnav.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_4e65214e4fdb2b4005be4d6e0210c7fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-30 20:31:41&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-click=\"toggleCart()\" class=\"item-added-tooltip\"&gt;${Item has been added to your cart.}&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1325562667</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>61fd16914f3763008272ece24210c737</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b5bac40000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>item-added-tooltip-leftnav.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>1585f0d47eefe700926523d117fa7b22</update_guid>\n<update_guid_history>1585f0d47eefe700926523d117fa7b22:1325562667,2285614e9fdb2b40f617daaa8e581e16:1325562667</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_4e5639714f0beb0005be4d6e0210c7a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>leftNavSlider</module><name>leftNavSlider</name><page_load>true</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-01-17 16:52:18</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>4e5639714f0beb0005be4d6e0210c7a5</sys_id><sys_mod_count>4</sys_mod_count><sys_name>leftNavSlider</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_4e5639714f0beb0005be4d6e0210c7a5</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-02-22 13:10:15</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1474286943</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>65fd16914f3763008272ece24210c736</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1691555834c0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>leftNavSlider</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>f57d1e51153763007c98dc0044bd31ff</update_guid>\n<update_guid_history>f57d1e51153763007c98dc0044bd31ff:-1474286943,a41d9651a337630065d2f858afa1d121:-1474286943,9c0d1651a03763007a91c4817855ea64:399101268,39fd028238872f006166a39c3c5a34f9:-1474286943,f0eb020e9a472f00cbc12affce7789be:-408014554,c6a6b971c40beb00f0cf32c29f82a13c:-1474286943</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_e33b52424f0b2f0005be4d6e0210c77b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"leftNavSlider\">4e5639714f0beb0005be4d6e0210c7a5</sp_dependency><sp_widget display_value=\"Navigation Left - Collapsible\">3af9be6a4f3e630005be4d6e0210c7a4</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-01-18 14:10:38</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e33b52424f0b2f0005be4d6e0210c77b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>leftNavSlider.Navigation Left - Simple</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_e33b52424f0b2f0005be4d6e0210c77b</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-01-18 14:10:38</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>405274925</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>a1fd16914f3763008272ece24210c736</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b5e61e0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>leftNavSlider.Navigation Left - Simple</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4895b0d452efe7003fcba2a5010e28dc</update_guid>\n<update_guid_history>4895b0d452efe7003fcba2a5010e28dc:405274925,6bbb97ced3972300d84d125b49ebc01e:405274925,a33b5242c10b2f001972f45680c29f7d:-1072351951</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_ebc671b14f0beb0005be4d6e0210c78b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description&gt;Left Nav Slider Service and Directive&lt;/description&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;leftNavSlider&lt;/name&gt;&lt;script&gt;&lt;![CDATA[angular.module('leftNavSlider', [])\n\t.directive('main', function (leftNavSideBar) {\n\t\n\treturn {\n\t\t\n\t\tlink: function (scope, elem, array) {\n\t\t\t\n\t\t\tif (leftNavSideBar.isExpanded()) {\n\t\t\t\telem.addClass('leftnav-expanded');\n\t\t\t}\n\t\t\t\n\t\t\t//leftNavSideBar\n\t\t\t\n\t\t\tscope.$on('leftnavSideBarToggled', function (e, expanded) {\n\t\t\t\tif (expanded) {\n\t\t\t\t\telem.addClass('leftnav-expanded');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\telem.removeClass('leftnav-expanded');\n\t\t\t\treturn;\n\t\t\t});\n\t\t}\n\t\t\n\t};\n\t\n\t\n\n})\n\t.service('leftNavSideBar', function ($rootScope, $window) {\n\t\n\tvar lsVal = $window.localStorage.getItem('leftnav-expanded');\n\n\tvar expanded = lsVal === null ? true : lsVal == 'true';\n\tvar visible = true;\n\t\n\tfunction isExpanded () {\n\t\treturn expanded;\n\t}\n\t\n\tfunction isVisible () {\n\t\treturn visible;\n\t}\n\t\n\tfunction toggleExpanded () {\n\t\texpanded = !expanded;\n\t\t$window.localStorage.setItem('leftnav-expanded', expanded);\n\n\t\t$rootScope.$broadcast('leftnavSideBarToggled', isExpanded());\n\t\treturn expanded;\n\t}\n\n\treturn {\n\t\tisExpanded: isExpanded,\n\t\tisVisible: isVisible,\n\t\ttoggleExpanded: toggleExpanded\n\t};\n\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-01-17 16:53:30&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;ebc671b14f0beb0005be4d6e0210c78b&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;leftNavSlider&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_ebc671b14f0beb0005be4d6e0210c78b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-06 15:42:52&lt;/sys_updated_on&gt;&lt;ui_type&gt;10&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>149519947</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>a9fd16914f3763008272ece24210c737</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b65d3a0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>leftNavSlider</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>d7a5b4d45befe700324c79111c769465</update_guid>\n<update_guid_history>d7a5b4d45befe700324c79111c769465:149519947,449660d82cafe700063c3d590421a461:149519947,f020251b03572700f30fbb802e787bd1:1094370239,ec395e4a21c72f00cc609b390c3f6686:-1872442589,1d68d28678c72f00b6437ea182d211cd:-1627364505,f58d4a027f872f00d702cf56007453c7:674391110,8d5d8602ca872f0015b056a7c36b11aa:1698420953,356f7d39480beb008bfe7da732fbe846:674391110,6be6fd71d20beb00354893ecff355dd5:467942793</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_32a4a50e4fdb2b4005be4d6e0210c7b5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;visibleItemsLeftNavTemplate&lt;/id&gt;&lt;sp_widget display_value=\"Navigation Left - Collapsible\"&gt;3af9be6a4f3e630005be4d6e0210c7a4&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-01-30 20:28:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;32a4a50e4fdb2b4005be4d6e0210c7b5&lt;/sys_id&gt;&lt;sys_mod_count&gt;75&lt;/sys_mod_count&gt;&lt;sys_name&gt;visibleItemsLeftNavTemplate&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_32a4a50e4fdb2b4005be4d6e0210c7b5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-04 16:02:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a href ng-click=\"menuItemClicked(item)\" ng-if=\"item.items.length == 0 &amp;&amp; !item.scriptedItems\" \n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" role=\"menuitem\" \n   ng-class=\"{'anchor-expanded': navExpanded}\" &gt;\n  &lt;i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length&gt;0 &amp;&amp; item.glyph!=\"empty\"'/&gt;\n  &lt;i class='fa {{navpilldefaulticon}}' ng-if='item.glyph.length&lt;=0 || item.glyph==\"empty\"'/&gt;\n  &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"::item.label\"&gt;&lt;/span&gt;\n&lt;/a&gt;\n&lt;a href ng-if=\"item.items.length &gt; 0\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" ng-click='toggleSubMenu($event,item.sys_id)'\n   class=\"sp-menu-has-items\" ng-class=\"{'anchor-expanded': navExpanded}\" role=\"menuitem\"&gt;\n  &lt;i class='fa fa-caret-down'/&gt;\n  &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"::item.label\"&gt;&lt;/span&gt;\n&lt;/a&gt;\n&lt;ul id=\"{{::item.sys_id}}\" class='nav navbar-nav nav-pills nav-stacked submenu' ng-class=\"{ submenushow : xsScreenSize }\" ng-if=\"item.items.length &gt; 0\"&gt;\n  &lt;li ng-repeat=\"item in item.items\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" /&gt;\n&lt;/ul&gt;\n&lt;a href id=\"scripted-dropdown\" ng-if=\"item.scriptedItems.count &gt; 0\" aria-haspopup=\"true\" \n   data-toggle=\"dropdown\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\" \n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.hint}} : {{item.scriptedItems.count}}\" role=\"menuitem\"\n   ng-class=\"{'anchor-expanded': navExpanded}\" &gt;\n  &lt;i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length&gt;0 &amp;&amp; item.glyph!=\"empty\"'/&gt;\n  &lt;i class='fa {{navpilldefaulticon}}' ng-if='item.glyph.length&lt;=0 || item.glyph==\"empty\"'/&gt;\n  &lt;span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"::item.label\"&gt;&lt;/span&gt;\n  &lt;span ng-if=\"!item.scriptedItems.omitBadge &amp;&amp; navExpanded\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{item.scriptedItems.count}}&lt;/span&gt;\n&lt;/a&gt;\n&lt;ul ng-if=\"item.scriptedItems.count &gt; 0\" class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\" &gt;\n  &lt;li role=\"presentation\" ng-repeat=\"mi in item.scriptedItems.items\"\n      class=\"ng-scope dropdown-menu-line\"&gt;\n    &lt;a role=\"menuitem\" href title=\"{{::mi.title}}\" target=\"{{::mi.target}}\" ng-click=\"menuItemClicked(mi)\"&gt;\n      &lt;span ng-if='mi.number'&gt;{{::mi.number | characters:60}}&lt;/span&gt;\n      &lt;span ng-if='mi.title'&gt;{{::mi.title | characters:60}}&lt;/span&gt;\n      &lt;span ng-if='!mi.title'&gt;{{::mi.short_description | characters:60}}&lt;/span&gt;\n    &lt;/a&gt;\n  &lt;/li&gt;\n&lt;/ul&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1472227975</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>adfd16914f3763008272ece24210c736</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b5bb000000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>visibleItemsLeftNavTemplate</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>5985f0d491efe7007a646842815f8924</update_guid>\n<update_guid_history>5985f0d491efe7007a646842815f8924:-1472227975,7bd796a71dd767008053d8c9e27ed1c5:-1472227975,1bf41aafd097670035b23e5752c651ce:-318233768,f0e496af759767008187247f1481027e:112877464,5d344e6fe0576700beb0be75d3d92c10:-1199285788,5a334a2f4f576700b33db74013c8784e:-1880454673,5d03062fb1576700a2fb25a16c04935e:1296821,0c95b9ef0417670077ec151646c9034f:210342047,d075fdafb817670088dd9e1fdd76d69a:1112020757,48f4f9afbc176700583c5a08d3679bf4:210342047,66c3796faa176700711132858f408fac:2001372040,1c93f52fce176700c4f4058ad8952b7d:-521273674,2172bdab731767004425702545c33307:578427341,4871f9aba517670037f7f67feb236961:-1750840184,52fa8a97085b270058ec13c1d4c9ce51:-159247275,6628c6170a5b2700a720ba6af805c1cb:-1596851014,db474ad39a5b270058035e7ecd738d1c:-2073086336,31468a93b55b2700fadff4dfe4470811:-2109163138,26068e53155b2700ed4c76ecb3e91f6c:-4042178,a995ca53b65b2700a944f5afd73623f1:1408736982,29758e533c5b2700114b4f993dc48132:1549701499,9d3582535a5b2700e3cccff6524bca91:-1123018928,b0244a13a25b2700bc08ebf8b64fca5f:1408736982,0af30a139d5b27000ebcb65281ff30bc:96283927,8a5342dff61b27004883914d2306f272:190387492,d05342dfeb1b27001415b25f4d200b7a:-1675136312,fde14e5f7c1b2700dcf0e0b9e61fb713:1824923724,dd80821f2e1b2700b197d5f9e233defe:310486026,fb9c7dd7d01b2700283575f46954a696:1824923724,de1af993191b2700df57c6d17c5e6fc5:1297869930,aad971938b1b2700718ac241f97311b2:-465782395,8f997593b41b270053fd4ad62b2b951f:-295462998,8df87d9f97d727009fd3b9c209b9ad85:-515232087,2fe27997f2d72700630f2d7b0774fc15:-2088650128,6d52b55724d727006e2372880d67c936:-1238080025,5661f91777d727004cced9ea872741e2:590937663,82f03dd370d72700eaf12fd8b1804118:-1958689587,bf20f9d38dd7270019a1403bdc192dfb:-239612628,aeffe5d308d72700ab418ab850b5c8bd:1998049936,bfcfe1d3bbd727004d96813366609086:281445266,348fed937ad72700c36fc998fd5afd7e:-1787450672,066f29939fd727004b671f07a13e82bd:-821253906,a5de619367d727007968f3efe9a582e9:840553960,55ae655363d7270035685d5ec8a30704:-234195250,c3fd2553b0d72700b54edc8ba8bcc781:840553960,8bace113f5d72700708cb931bd2196d7:-1834215061,e6dba1dff3972700b22731898312b1c2:2046544777,f52a615f08972700a305044539d17ca9:-260905845,a8c96d1f9e972700cae947ec31a77a5f:2046544777,ba18655b3797270082c88adb89f50315:-2085774542,95893b36bbd3e300a839962b34ee16ff:-1110536887,1369f73630d3e3008622f24a85927fa4:-2085774542,9859b736cbd3e300d725547439e5f70c:-2014466913,9ab8bff236d3e300b5e33cc5ae6fd8f1:-2085774542,ab4eaee2f413a300dc30e00a7f5825be:-1110536887,4bcd6ee27513a30075e9fc39f83384c4:-2085774542,a3bd6ee2c713a300ad7f8cf19830305a:-1604140278,3b7ce6a20b13a300d8978658b53cd33e:1529088167,c62b2e626d13a30055306df44be51dc3:587548695,4497eb82551b23002f9b23f500d03e8e:1815188202,12b22f8603d723003ff60a68f9418249:-101687080,2b822b860ed72300a27db190e39d8da9:838918088,7d32e38683d72300b3a5f1d390a1af0f:-1637865201,b65b9f8ed997230007431f71dc9cc79e:-1395028454,c4359746479723008e720ec2b7072f45:-633768532,9544398a431f2b40a0cc93a5b393a631:1425158285,19733d4a721f2b4056afa5a36da28987:2060038239,9852310aa31f2b400543cae2b9109616:1123930255,ee6079c6e11f2b4013a6c973c035c41b:257431535,ef0f6586bf1f2b403a1706af42ac492d:-1879945353,67fc6d06211f2b40324d5bad3e802530:623531811,cd2ce1060a1f2b4036fa5dce53ec4485:1297701899,4d1c2106e41f2b403884e875b96a3e69:1114070553,63eba5c2791f2b406702d1301778b6ec:1895585322,cbf6a58e96db2b40de92521815903fc0:1723626979,a316ad4ea8db2b403ea277e733de245d:1895585322,44d4650e8ddb2b409126fc336a4fd6bf:1723626979</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_d363eaaa4fdf630005be4d6e0210c783</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;visibleItemsSecondaryNavTemplate&lt;/id&gt;&lt;sp_widget display_value=\"Navigation Left - Collapsible\"&gt;3af9be6a4f3e630005be4d6e0210c7a4&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-01 14:19:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;d363eaaa4fdf630005be4d6e0210c783&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;visibleItemsSecondaryNavTemplate&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_d363eaaa4fdf630005be4d6e0210c783&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-01 14:56:42&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a ng-href='{{::item.href}}' target='{{::item.url_target}}' ng-if=\"item.items.length == 0 &amp;&amp; !item.scriptedItems\" \n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" role=\"menuitem\" &gt;\n  &lt;i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length&gt;0'/&gt;\n  &lt;span ng-bind-html=\"::item.label\"&gt;&lt;/span&gt;\n&lt;/a&gt;\n&lt;a href ng-if=\"item.items.length &gt; 0\" class=\"dropdown-toggle sp-menu-has-items\" data-toggle=\"dropdown\" \n   aria-controls=\"menu-apply\" aria-haspopup=\"true\"\n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.label}}\" role=\"menuitem\" &gt;\n  &lt;i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length&gt;0'/&gt;\n  &lt;span ng-bind-html=\"::item.label\"&gt;&lt;/span&gt; &lt;span class=\"caret\"&gt;&lt;/span&gt;\n&lt;/a&gt;\n&lt;ul ng-if=\"item.items.length &gt; 0\" class=\"dropdown-menu\" role=\"group\" id=\"menu-apply\"&gt;\n  &lt;li ng-repeat=\"item in item.items\" ng-include=\"'visibleItemsSecondaryNavTemplate'\" /&gt;\n&lt;/ul&gt;\n&lt;a href ng-if=\"item.scriptedItems.count &gt; 0\" aria-haspopup=\"true\"\n   data-toggle=\"dropdown\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\"\n   uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n   name='{{::item.label}}' title=\"{{::item.hint}} : {{item.scriptedItems.count}}\" role=\"menuitem\" &gt;\n  &lt;i class='fa fa-{{::item.glyph}}' ng-if='item.glyph.length&gt;0'/&gt;\n  &lt;span ng-bind-html=\"::item.label\"&gt;&lt;/span&gt;\n  &lt;span ng-if=\"::!item.scriptedItems.omitBadge\" class=\"label label-as-badge label-primary sp-navbar-badge-count\"&gt;{{item.scriptedItems.count}}&lt;/span&gt;\n&lt;/a&gt;\n&lt;ul ng-if=\"item.scriptedItems.count &gt; 0\" class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::item.label}} : {{item.scriptedItems.count}}\" &gt;\n  &lt;li role=\"presentation\" ng-repeat=\"mi in item.scriptedItems.items\"\n      class=\"ng-scope dropdown-menu-line\"&gt;\n    &lt;a role=\"menuitem\" href title=\"{{::mi.title}}\" target=\"{{::mi.target}}\" ng-click=\"menuItemClicked(mi)\"&gt;\n      &lt;span ng-if='mi.number'&gt;{{::mi.number | characters:60}}&lt;/span&gt;\n      &lt;span ng-if='mi.title'&gt;{{::mi.title | characters:60}}&lt;/span&gt;\n      &lt;span ng-if='!mi.title'&gt;{{::mi.short_description | characters:60}}&lt;/span&gt;\n    &lt;/a&gt;\n  &lt;/li&gt;\n&lt;/ul&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>628721928</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>e5fd16914f3763008272ece24210c737</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b5bb140000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>visibleItemsSecondaryNavTemplate</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>d985f0d49eefe700c745760fb113b725</update_guid>\n<update_guid_history>d985f0d49eefe700c745760fb113b725:628721928,830c2e623913a3003f6a6c5b94ebfacb:628721928,6ca86eae4bdf63009ccd3422fe08f9a0:385709587,bc936eaa2fdf630053df3416384701a5:-1482104758,3483eaaa98df6300ab9175324d9ad388:1112297610</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_d5b6fd714f0beb0005be4d6e0210c7f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>leftNavSlider</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-01-17 16:52:49</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>d5b6fd714f0beb0005be4d6e0210c7f2</sys_id><sys_mod_count>1</sys_mod_count><sys_name>leftNavSlider</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"leftNavSlider\">ebc671b14f0beb0005be4d6e0210c78b</sys_ui_script><sys_update_name>sp_js_include_d5b6fd714f0beb0005be4d6e0210c7f2</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-01-17 16:53:41</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1050555971</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>e9fd16914f3763008272ece24210c736</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b642890000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>leftNavSlider</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>f5a5b4d424efe700809db80c20d77951</update_guid>\n<update_guid_history>f5a5b4d424efe700809db80c20d77951:-1050555971,daf6f1b1880beb00863b8d8246379883:-1050555971,a9c6bd71000beb008ec528c72120d9ee:1695410161</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_541cdd024fdb2b4005be4d6e0210c7a9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"angular-truncate\">09e1f1416712220023c82e08f585ef1e</sp_dependency><sp_widget display_value=\"Navigation Left - Collapsible\">3af9be6a4f3e630005be4d6e0210c7a4</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-01-30 19:50:19</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>541cdd024fdb2b4005be4d6e0210c7a9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-truncate.Navigation Left - Collapsible</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_541cdd024fdb2b4005be4d6e0210c7a9</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-01-30 19:50:19</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>1412787479</payload_hash>\n<remote_update_set display_value=\"Navigation Left - Collapsible\">adfd16914f3763008272ece24210c734</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-22 13:14:09</sys_created_on>\n<sys_id>edfd16914f3763008272ece24210c735</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3b5e5fa0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-22 13:14:09</sys_updated_on>\n<table/>\n<target_name>angular-truncate.Navigation Left - Collapsible</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4495b0d4acefe700808bd943578b34db</update_guid>\n<update_guid_history>4495b0d4acefe700808bd943578b34db:1412787479,141cdd02fedb2b402b86fae353b596ab:1412787479</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-body-html-template.html",
    "content": "<div class='navsass hidden-xs secondary' ng-if='data.secondaryMenu'>\n  <div class='header'>\n    <ul ng-if=\"::(!user.logged_in && page.id != portal.login_page_dv && !data.hasLogin)\" class=\"nav pull-right\" role=\"presentation\">\n      <li role=\"presentation\"><a href ng-click=\"openLogin()\">${Login}</a></li>\n    </ul>\n    <ul ng-if=\"::user.logged_in\" class='nav pull-right' role=\"menubar\">\n      \n      <li ng-if=\"::data.connect_support_queue_id\">\n        <a href ng-click=\"dynamicOpenPopUp()\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" name='${Live Chat}' title=\"${Live Chat}\" role=\"menuitem\" >\n          <i class='fa {{data.qsConfig.chatIcon}}'/>\n          <span>${Live Chat}</span>\n        </a>\n        <div ng-if=\"!data.isMobile\" ng-show=\"showChat\">\n          <sp-widget widget=\"::data.va_chat\"></sp-widget>\n        </div>\n      </li>\n      <!-- chat, avatar, and logout -->\n      <li ng-if=\"showAvatar\" class=\"hidden-xs dropdown\" role=\"presentation\">\n        <a href class=\"toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\"\n           uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n           title=\"{{::data.profileBtnMsg}}\" aria-label=\"{{::data.profileBtnMsg}}: {{::user.name}}\" id=\"profile-dropdown\"  role=\"menuitem\" aria-haspopup=\"true\">\n          <span class=\"navbar-avatar\" aria-hidden=\"true\"><sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /></span>\n          <span class=\"visible-lg-inline\">{{::user.name}}</span>\n        </a>\n        <ul class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::data.profileBtnMsg}}\">\n          <li role=\"presentation\"><a tabindex=\"-1\" ng-href=\"?id=user_profile&sys_id={{::user.sys_id}}\" role=\"menuitem\">${Profile}</a></li>\n          <li ng-if=\"::!isViewNative\" role=\"presentation\"><a tabindex=\"-1\" href=\"{{::portal.logoutUrl}}\" role=\"menuitem\">${Logout}</a></li>\n        </ul>\n      </li>\n      <li ng-if=\"showXSAvatar\" class=\"visible-xs-block\" role=\"presentation\"><a role=\"menuitem\" ng-href=\"?id=user_profile&sys_id={{::user.sys_id}}\">\n        <span class=\"navbar-avatar\"><sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /></span>{{::user.name}}</a>\n      </li>\n      <li ng-if=\"::!isViewNative\" class=\"visible-xs-block\" role=\"presentation\">\n        <a role=\"menuitem\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" name='Logout' title=\"Logout\" href=\"{{::portal.logoutUrl}}\">${Logout}</a>\n      </li>\n    </ul>\n    <ul class='nav pull-right' role='menubar'>\n      <li ng-repeat=\"item in data.secondaryMenu.data.menu.items\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsSecondaryNavTemplate'\" role=\"presentation\"></li>\n    </ul>\n  </div>\n</div>\n<div class='navsass hidden-xs primary'>\n  <nav class=\"navbar navbar-inverse\" role=\"navigation\">\n    <div class=\"navbar-header\" ng-class=\"{'navbar-expanded': navExpanded}\">\n      <a class=\"navbar-brand\" ng-if=\"::!portal.logo\" href=\"?id={{::portal.homepage_dv}}\"><span>{{::portal.title}}</span></a>\n      <a class=\"navbar-brand navbar-brand-logo\" ng-if=\"::portal.logo\" href=\"?id={{::portal.homepage_dv}}\" aria-label=\"${Go to homepage}\">\n        <img ng-if='(navExpanded)' ng-src=\"{{::portal.logo}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" />\n        <img ng-if='(!navExpanded) && portal.icon.length>0'ng-src=\"{{::portal.icon}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" />\n        <img ng-if='(!navExpanded) && (portal.icon.length==0)' ng-src=\"{{::portal.logo}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" />\n      </a>\n    </div>\n    <div class=\"header-loader\">\n      <div class=\"sp-loading-indicator la-sm\" ng-show=\"loadingIndicator\">\n        <div></div>\n        <div></div>\n        <div></div>\n      </div>\n    </div>\n    <div class='navbar-pills' ng-class=\"{ 'navbar-pills-collapsed' : !navExpanded }\">\n      <!-- Begin Login -->\n      <ul ng-if=\"::user.logged_in\" class='nav navbar-nav nav-pills nav-stacked' role=\"menubar\" ng-if='!data.secondaryMenu'>\n        <li ng-if=\"( navExpanded )\" class=\"dropdown\" role=\"presentation\">\n          <a href class=\"avatarlink toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" title=\"{{::data.profileBtnMsg}}\" aria-label=\"{{::data.profileBtnMsg}}: {{::user.name}}\" id=\"profile-dropdown\"  role=\"menuitem\" aria-haspopup=\"true\">\n            <sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" />{{::user.name}}\n            <!--<span class=\"navbar-avatar\" aria-hidden=\"true\"></span><span class=\"visible-lg-inline\"></span>-->\n          </a>\n          <ul class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::data.profileBtnMsg}}\">\n            <li role=\"presentation\"><a tabindex=\"-1\" ng-href=\"?id=user_profile&sys_id={{::user.sys_id}}\" role=\"menuitem\">${Profile}</a></li>\n            <li ng-if=\"::!isViewNative\" role=\"presentation\"><a tabindex=\"-1\" href=\"{{::portal.logoutUrl}}\" role=\"menuitem\">${Logout}</a></li>\n          </ul>\n        </li>\n        <li ng-if=\"( !navExpanded )\" role=\"presentation\"><a role=\"menuitem\" ng-href=\"?id=user_profile&sys_id={{::user.sys_id}}\">\n          <span ng-class=\"{'navbar-avatar': navExpanded}\"><sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /></span></a>\n        </li>\n      </ul>\n      <!-- End Login -->      \n      <!-- Check if there are any menu items -->\n      <div class='nav-scroll' ng-if=\"::data.menu.data.menu.items.length > 0\">\n        <ul class='nav navbar-nav nav-pills nav-stacked'>\n          <li ng-repeat=\"item in visibleItems\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" role=\"presentation\"></li>\n          <!-- Wishlist menu -->\n          <li ng-if=\"data.menu.options.enable_wishlist && data.isLoggedIn && data.menu.data.showWishlist\" ng-show=\"!accessibilityEnabled\" class=\"dropdown\" ng-class='{ active : checkActive(item.href) }' role=\"presentation\">\n            <a role=\"menuitem\" href=\"javascript:void(0)\"\n               data-toggle=\"dropdown\"\n               id=\"wishlist-menu\"\n               title=\"${Your Wish List currently has} {{wishlistItemCount}} ${items}\"\n               aria-label=\"${Wish List}\"\n               ng-class=\"{'anchor-expanded': navExpanded}\">\n              <i class='fa fa-list' />\n              <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Wish List}'\" aria-hidden=\"true\"></span>\n              <span ng-if=\"wishlistItemCount > 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{wishlistItemCount}}</span>\n            </a>\n            <div class=\"dropdown-menu wishlist-menu\">\n              <sp-widget widget=\"data.menu.data.wishlistWidget\"></sp-widget>\n            </div>\n          </li>\n          <li ng-if=\"data.menu.options.enable_wishlist && data.isLoggedIn && data.menu.data.showWishlist\" class=\"dropdown\" ng-class=\"{active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\" role=\"presentation\">\n            <a href=\"?id=sc_wishlist\"\n               title=\"${Wish List}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your Wish List currently has} {{wishlistItemCount}} ${items}\"\n               ng-class=\"{'anchor-expanded': navExpanded}\">\n              <i class='fa fa-list' />\n              <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Wish List}'\" aria-hidden=\"true\"></span>\n              <span ng-if=\"wishlistItemCount > 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{wishlistItemCount}}</span>\n            </a>\n          </li>\n          <!-- Shopping cart stuff -->\n          <li ng-if=\"data.menu.options.enable_cart && data.isLoggedIn\" ng-class=\"{ active : checkActive(item.href)}\" class=\"dropdown\" role=\"presentation\">\n            <a href\n               data-toggle=\"dropdown\"\n               id=\"cart-dropdown\"\n               uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\"\n               tooltip-placement=\"bottom\"\n               tooltip-trigger=\"'none'\"\n               tooltip-is-open=\"$parent.itemAddedTooltipOpen\"\n               title=\"${Your shopping cart currently has} {{cartItemCount}} ${items}\"\n               aria-label=\"${Shopping cart}\"\n               role=\"menuitem\"\n               ng-class=\"{'anchor-expanded': navExpanded}\">\n              <i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i>\n              <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Cart}'\" aria-hidden=\"true\"></span>\n              <span ng-if=\"cartItemCount > 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{cartItemCount}}</span>\n            </a>\n            <div class=\"dropdown-menu cart-dropdown\">\n              <sp-widget widget=\"data.menu.data.cartWidget\"></sp-widget>\n            </div>\n          </li>\n          <li ng-if=\"data.menu.options.enable_cart && data.isLoggedIn\" class=\"dropdown\" ng-class=\"{ active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\"  role=\"presentation\">\n            <a ng-href=\"?id=sc_cart\"\n               ng-click=\"collapse()\"\n               title=\"${Cart}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your shopping cart currently has} {{cartItemCount}} ${items}\">\n              <i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i>\n              <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Cart}'\" aria-hidden=\"true\"></span>\n              <span ng-if=\"cartItemCount > 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{cartItemCount}}</span>\n            </a>\n          </li>\n          <li ng-if=\"data.isLoggedIn && data.guidedTours && data.guidedTours.collection.length > 0\" ng-class=\"{ active : checkActive(item.href)}\" class=\"dropdown\" role=\"presentation\">\n            <a href\n               data-toggle=\"dropdown\"\n               id=\"tour-dropdown\"\n               tooltip-placement=\"bottom\"\n               tooltip-trigger=\"'none'\"\n               title=\"${This page currently has {{data.guidedTours.collection.length}} tours}\"\n               aria-label=\"{{data.guidedTours.label}}\"\n               role=\"menuitem\"\n               ng-class=\"{'anchor-expanded': navExpanded}\" >\n              <i class=\"fa fa-map-signs\" aria-hidden=\"true\"></i>\n              <span class='linktext' ng-if='(navExpanded)' ng-bind-html=\"'${Tours}'\" aria-hidden=\"true\"></span>\n              <span class='badge-container' ng-if=\"(navExpanded && data.guidedTours.collection.length > 0)\">\n                <span aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">\n                  {{data.guidedTours.collection.length}}\n                </span>\n              </span>\n            </a>\n            <div ng-if=\"data.guidedTours.collection.length < 1\" class=\"dropdown-menu empty-dropdown\">\n              <div class=\"panel ng-scope\">\n                <div class=\"panel-body\" aria-hidden=\"false\">\n                  <div class=\"empty-tour-content\">\n                    <div class=\"h4\">${You have no tours on this page}</div>\n                    <p>${Tours appear when your administrator creates them on specific pages}</p>\n                  </div>\n                </div>\n              </div>\n            </div>\n            <ul ng-if=\"data.guidedTours.collection.length > 0\" class=\"dropdown-menu\"\n                role=\"menu\" aria-label=\"${Tours}\">\n              <li role=\"presentation\" ng-repeat=\"mi in data.guidedTours.collection\"\n                  class=\"ng-scope dropdown-menu-line\">\n                <a role=\"menuitem\" href title=\"{{::mi.title}}\" target=\"{{::mi.target}}\" ng-click=\"mi.clicked()\">\n                  {{::mi.title | characters:60}}\n                </a>\n              </li>\n            </ul>\n          </li>  \n          <li ng-if='(!data.secondaryMenu && data.connect_support_queue_id)' ng-class=\"{ active : checkActive(item.href)}\" role=\"presentation\">\n            <a href ng-click=\"openPopUp()\"  uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n               name='${Live Chat}' title=\"${Live Chat}\" role=\"menuitem\" ng-class=\"{'anchor-expanded': navExpanded}\" >\n              <i class='fa {{data.qsConfig.chatIcon}}'/>\n              <span class='linktext' ng-if='(navExpanded)'>${Live Chat}</span>\n            </a>\n          </li>\n          <li ng-if=\"(!data.secondaryMenu && !user.logged_in && page.id != portal.login_page_dv && !data.hasLogin)\" role=\"presentation\">\n            <a role=\"menuitem\" href uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" name='Login' title=\"Login\" ng-click=\"openLogin()\">\n            <i class=\"fa fa-sign-in\" aria-hidden=\"true\"/><span class='linktext' ng-if='(navExpanded)'>${Login}</span></a>\n          </li>\n          <li ng-if=\"(!data.secondaryMenu && user.logged_in && !navExpanded)\" role=\"presentation\">\n            <a role=\"menuitem\" uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\" \n               name='Logout' title=\"Logout\" href=\"{{::portal.logoutUrl}}\">\n            <i class=\"fa fa-sign-out\" aria-hidden=\"true\"/></a>\n          </li>\n        </ul>\n      </div>\n      <div class=\"navhide-toggle\" ng-click=\"toggle()\" ng-class=\"{'navhide-toggle-expanded': navExpanded}\">\n        <i class=\"fa\" ng-class=\"{'fa-caret-square-o-left': navExpanded, 'fa-caret-square-o-right': !navExpanded}\"></i>\n      </div>\n    </div>\n  </nav>\n</div>\n<div class='navsass visible-xs primary'>\n  <nav class=\"navbar navbar-inverse\" role=\"navigation\">\n    <div class=\"navbar-header\">\n      <a class=\"navbar-brand\" ng-if=\"::!portal.logo\" href=\"?id={{::portal.homepage_dv}}\"><span>{{::portal.title}}</span></a>\n      <a class=\"navbar-brand navbar-brand-logo\" ng-if=\"::portal.logo\" href ng-click=\"goMobile(portal.homepage_dv)\" aria-label=\"${Go to homepage}\">\n        <img ng-src=\"{{::portal.logo}}\" title=\"{{::portal.title}}\" role=\"presentation\" alt=\"${Portal Logo}\" />\n      </a>\n      <div class=\"header-loader\">\n        <div class=\"sp-loading-indicator la-sm\" ng-show=\"loadingIndicator\">\n          <div></div>\n          <div></div>\n          <div></div>\n        </div>\n      </div>\n      <button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#sp-nav-bar\">\n        <span class=\"sr-only\">${Toggle navigation}</span>\n        <span class=\"icon-bar\"></span>\n        <span class=\"icon-bar\"></span>\n        <span class=\"icon-bar\"></span>\n      </button>\n    </div>\n    \n    <div sp-navbar-toggle=\"\" class=\"collapse navbar-collapse navbar-right scrollable-dropdown\" id=\"sp-nav-bar\">\n      <div class='mobile-nav-scroll'>\n        <ul class=\"nav navbar-nav\" ng-if=\"::(!user.logged_in && page.id != portal.login_page_dv && !data.hasLogin)\" role=\"menubar\">\n          <li role=\"presentation\"><a href ng-click=\"openLogin()\">${Login}</a></li>\n        </ul>\n        <ul class='nav navbar-nav nav-pills nav-stacked' ng-if=\"::user.logged_in\" role=\"menubar\">\n          <li role=\"presentation\">\n            <a class=\"avatarlink toggle-dropdown\" role=\"menuitem\" ng-href=\"?id=user_profile&sys_id={{::user.sys_id}}\">\n              <sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" />{{::user.name}}</a>\n          </li>\n        </ul>\n        <ul class='nav navbar-nav nav-pills nav-stacked' ng-if=\"data.menu.data.menu.items.length > 0\" role=\"menubar\">\n          <li ng-repeat=\"item in visibleItems\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" role=\"presentation\"></li>\n          <li ng-repeat=\"item in data.secondaryMenu.data.menu.items\" ng-class='{ active : checkActive(item.href) }' ng-include=\"'visibleItemsLeftNavTemplate'\" role=\"presentation\"></li>\n          \n          <!-- Wishlist menu -->\n          <li ng-if=\"data.menu.options.enable_wishlist && data.isLoggedIn && data.menu.data.showWishlist\" class=\"dropdown\" ng-class=\"{active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\" role=\"presentation\">\n            <a href ng-click=\"menuItemClicked('?id=sc_wishlist',true)\"\n               title=\"${Wish List}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your Wish List currently has} {{wishlistItemCount}} ${items}\"\n               ng-class=\"{'anchor-expanded': navExpanded}\">\n              <i class='fa fa-list' />\n              <span class='linktext' ng-bind-html=\"'${Wish List}'\" aria-hidden=\"true\"></span>\n              <span ng-if=\"wishlistItemCount > 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{wishlistItemCount}}</span>\n            </a>\n          </li>\n          <!-- Shopping cart stuff -->\n          <li ng-if=\"data.menu.options.enable_cart && data.isLoggedIn\" class=\"dropdown\" ng-class=\"{ active : checkActive(item.href), 'visible-xs': !accessibilityEnabled}\"  role=\"presentation\">\n            <a href ng-click=\"menuItemClicked('?id=sc_cart',true)\"\n               title=\"${Cart}\"\n               class=\"toggle-dropdown\"\n               role=\"menuitem\"\n               aria-label=\"${Your shopping cart currently has} {{cartItemCount}} ${items}\">\n              <i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i>\n              <span class='linktext' ng-bind-html=\"'${Cart}'\" aria-hidden=\"true\"></span>\n              <span ng-if=\"cartItemCount > 0\" aria-hidden=\"true\" class=\"label label-as-badge label-primary sp-navbar-badge-count\">{{cartItemCount}}</span>\n            </a>\n          </li>\n          <!--No Tours as they are not visible on Mobile Devices-->\n          <li ng-if='!data.secondaryMenu && data.connect_support_queue_id' ng-class=\"{ active : checkActive(item.href)}\" role=\"presentation\">\n            <a href ng-click=\"openPopUp()\"  uib-tooltip-template=\"'item-added-tooltip-leftnav.html'\" tooltip-placement=\"bottom\" tooltip-trigger=\"'none'\"\n               name='${Live Chat}' title=\"${Live Chat}\" role=\"menuitem\" ng-class=\"{'anchor-expanded': navExpanded}\" >\n              <i class='fa fa-commenting'/>\n              <span class='linktext'>${Live Chat}</span>\n            </a>\n          </li>\n          <li ng-if=\"data.isLoggedIn\" style='margin-bottom:90px;' role=\"presentation\"><a role=\"menuitem\" href ng-click=\"menuItemClicked(portal.logoutUrl,true)\">\n            <i class=\"fa fa-sign-out\" aria-hidden=\"true\"/><span class='linktext'>${Logout}</span></a>\n          </li>\n        </ul>\n      </div>\n    </div>\n  </nav>\n</div>"
  },
  {
    "path": "src/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-client-script.js",
    "content": "function($rootScope, $scope, $window, $location, $interval, $timeout, $uibModal, cabrillo, spUtil, spAriaUtil) {\n/* widget controller */\n\t\n\ttry{\n\t\t $injector.get('spGtd');\n\t}catch(e){\n\t\tconsole.log('Prior to London Guided Tours did not exist.')\n\t}\n\tvar c = this;\n\n\t//~~ Controller Functions\n\tfunction isXSScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\tfunction renderPage(){\n\t\t\t//window.dispatchEvent(new Event('onload'));\n\t\t\tvar html = document.getElementsByTagName(\"html\");\n\t\t\tvar htmlClass = $(html)[0].className.split(\" \")[0];\n\t\t\tif($scope.htmlClass!=htmlClass){\n\t\t\t\tvar x = 0;\n\t\t\t\tvar wait = $interval(function(){\n\t\t\t\t\tif(!$scope.loadingIndicator){\n\t\t\t\t\t\t$scope.navExpanded = $scope.expanded();\n\t\t\t\t\t\t$scope.$emit('renderPage');\n\t\t\t\t\t\t$scope.showXSAvatar = isXSScreenSize();\n\t\t\t\t\t\t$scope.showAvatar = !isXSScreenSize();\n\t\t\t\t\t\t$interval.cancel(wait);\n\t\t\t\t\t\twait = undefined;\n\t\t\t\t\t}\n\t\t\t\t},250,10);\n\t\t\t}\n\t}\n\t$scope.xsScreenSize = isXSScreenSize();\n\n\t//~~ Scope Variables\n\t$scope.loadingIndicator = $rootScope.loadingIndicator;\n\t$scope.showXSAvatar = isXSScreenSize();\n\t$scope.showAvatar = !isXSScreenSize();\n\n\t$scope.options.nav_secondary = ($scope.data.secondaryMenu!=undefined);\n\n\t$scope.cartItemCount = 0;\n\t$scope.wishlistItemCount = 0;\n\t$scope.itemAddedTooltipOpen = false;\n\t$scope.accessibilityEnabled = spAriaUtil.g_accessibility === \"true\";\n\n\t$scope.avatarProfile = {\n\t\tuserID: $scope.user.sys_id,\n\t\tname: $scope.user.name,\n\t\tinitials: $window.NOW.user_initials\n\t};\n\tif ($window.NOW.user_avatar) {\n\t\t$scope.avatarProfile.userImage = $window.NOW.user_avatar;\n\t}\n\n\tif (cabrillo.isNative()){\n\t\t$scope.isViewNative = true;\n\t}\n\n\t//~~ Scope Functions\n\t$scope.goMobile = function(home_page){\n\t\t$location.url('?id='+home_page);\n\t\t$('.collapse').collapse('hide');\n\t}\n\n\t$scope.menuItemClicked = function(menuitem,href){\n\n\t\tif(href){\n\t\t\t$location.url(menuitem);\n\t\t}else{\n\t\t\tif(menuitem.__table && menuitem.sys_id){\n\t\t\t\t$location.url('?id=form&table='+menuitem.__table+'&sys_id='+menuitem.sys_id)\n\t\t\t}\t\n\t\t\tif(menuitem.url){\n\t\t\t\tif(menuitem.url.startsWith('?id=')){\n\t\t\t\t\t$location.url(menuitem.url);\n\t\t\t\t}else{\n\t\t\t\t\tif(menuitem.url_target.length==0){\n\t\t\t\t\t\twindow.open(menuitem.url,'_self');\n\t\t\t\t\t}else{\n\t\t\t\t\t\twindow.open(menuitem.url,menuitem.url_target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tif(menuitem.href){\n\t\t\t\t\t$location.url(menuitem.href);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tif($scope.xsScreenSize){\n\t\t\t$('.collapse').collapse('hide');\n\t\t}\n\n\t}\n\t\n\t$scope.checkActive = function(href){\n\t\tif(!href || href === '?id='){\n\t\t\treturn false;\n\t\t}else{\n\t\t\treturn (parseInt($location.url().indexOf(href))>0);\n\t\t}\n\t};\n\t\n\t$scope.dynamicOpenPopUp = function() {\n\t\tif ($scope.data.useChatWidgetForCSM) {\n\t\t\t$scope.toggleChat();\n\t\t} else {\n\t\t\t$scope.openPopUp();\n\t\t}\n\t};\n\t\n\t//Show VA Chat\n\tvar MOBILE_DEVICE_SCREEN_WIDTH = 767;\n\t$scope.mobileDevice = $scope.data.isMobile || ($(window).width() < MOBILE_DEVICE_SCREEN_WIDTH);\n\t$scope.showChat = $scope.mobileDevice;\n\t$scope.toggleChat = function () {\n\t\t$scope.showChat = !$scope.showChat;\n\t\t$('a#va_chat').toggleClass('inactive-chat active-chat');\n\t\tif($scope.showChat && $('div.conversation-region.open').length<=0){\n\t\t\t$scope.$$postDigest(function(){\n\t\t\t\t$('div.conversation-button-container button.help-button').trigger('click');\n\t\t\t});\n\t\t}\n\t};\n\t$scope.openPopUp = function() {\n\t\tvar url = \"$chat_support.do?queueID=\" + $scope.data.connect_support_queue_id;\n\t\tvar popup = window.open(url, \"popup\", \"width=900, height=600\");\n\t};\n\t\n\t$scope.openLogin = function () {\n\t\t$scope.modalInstance = $uibModal.open({\n\t\t\ttemplateUrl: 'loginleftNavTemplate',\n\t\t\tscope: $scope\n\t\t});\n\t};\n\n\t$scope.isHomepage = function() {\n\t\tif (!$scope.page.id){\n\t\t\treturn true;\n\t\t}\n\t\tif ($scope.page.id == $scope.portal.homepage_dv){\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\t\n\t$scope.toggleCart = function() {\n\t\t$timeout.cancel(cancelTooltipPromise);\n\t\t$scope.itemAddedTooltipOpen = false;\n\t\t$timeout(function() {\n\t\t\t$(\"#cart-dropdown\").dropdown(\"toggle\");\n\t\t});\n\t};\n\t\n\t//~~ Scope ON Events\n\t$scope.$on('$locationChangeSuccess', function(event){\n\t\trenderPage();\n\t});\n\t\n\t$scope.$on('sp_loading_indicator', function(e, value) {\n\t\t$scope.loadingIndicator = value;\n\t});\n\n\t$rootScope.$on('sp.avatar_changed', function() {\n\t\t$scope.userID = \"\";\n\t\t$timeout(function(){\n\t\t\t$scope.userID = $scope.user.sys_id;\n\t\t});\n\t});\n\n\t$scope.$on(\"$sp.service_catalog.cart.count\", function($evt, count) {\n\t\t$scope.cartItemCount = count;\n\t});\n\t\n\t$scope.$on(\"$sp.service_catalog.wishlist.count\", function($evt, count) {\n\t\t$scope.wishlistItemCount = count;\n\t});\n\t\n\tvar cancelTooltipPromise;\n\t$scope.$on(\"$sp.service_catalog.cart.add_item\", function() {\n\t\t$timeout.cancel(cancelTooltipPromise);\n\t\t$scope.itemAddedTooltipOpen = true;\n\t\tcancelTooltipPromise = $timeout(function() {\n\t\t\t$scope.itemAddedTooltipOpen = false;\n\t\t}, 3000);\n\t});\n\t\n\t$scope.$on('sp-menu-update-tours', function(event, tours) {\n\t\t$scope.data.showTours = $scope.data.showTours && !spUtil.isMobile();\n\t\tif ($scope.data.showTours === false) return;\n\t\tvar guidedToursLabel = 'Guided Tours';\n\t\t$scope.data.guidedTours = {\n\t\t\tlabel: guidedToursLabel,\n\t\t\tcollection: []\n\t\t};\n\t\tif (tours.length > 0) {\n\t\t\t$scope.data.guidedTours.collection = tours.map(function(t) {\n\t\t\t\treturn {\n\t\t\t\t\ttitle:  t.name,\n\t\t\t\t\tid: t.id,\n\t\t\t\t\tclicked: function() {\n\t\t\t\t\t\tspGtd.launch(t.id);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t});\n\n\t// PRB1108244: visibleItems array is used to improve keyboard nav\n\t// in menu, refresh it as needed\n\tif($scope.data.menu.data){\n\t\t$scope.$watch('data.menu.data.menu.items', function() {\n\t\t\t$scope.visibleItems = [];\n\t\t\tif ($scope.data.menu.data.menu.items) {\n\t\t\t\tfor (var i in $scope.data.menu.data.menu.items) {\n\t\t\t\t\tvar item = $scope.data.menu.data.menu.items[i];\n\t\t\t\t\tif (item.items || (item.scriptedItems && item.scriptedItems.count != 0)){\n\t\t\t\t\t\t$scope.visibleItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, true);\n\t\t// Get list of record watchers\n\t\tvar record_watchers = [];\n\t\tif ($scope.data.menu.data.menu.items) {\n\t\t\tfor(var i in $scope.data.menu.data.menu.items) {\n\t\t\t\tvar item = $scope.data.menu.data.menu.items[i];\n\t\t\t\tif (item.type == 'scripted') {\n\t\t\t\t\tif (item.scriptedItems.record_watchers)\n\t\t\t\t\t\trecord_watchers = record_watchers.concat(item.scriptedItems.record_watchers);\n\t\t\t\t}\n\t\t\t\tif (item.type == 'filtered') {\n\t\t\t\t\trecord_watchers.push({'table':item.table,'filter':item.filter});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Init record watchers\n\tfor (var y in record_watchers){\n\t\tvar watcher = record_watchers[y];\n\t\tspUtil.recordWatch($scope, watcher.table, watcher.filter);\n\t}\n\t$rootScope.$broadcast('sp-header-loaded');\n\n}"
  },
  {
    "path": "src/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-css.css",
    "content": "//SN Branding Editor\n$nav-header-bg-color: $navbar-inverse-bg !default;\n\n//Bootstrap Variables\n$nav-pills-border-radius: $border-radius-base !default;\n$nav-pills-active-link-hover-bg : $component-active-bg !default;\n$nav-pills-active-link-hover-color: $component-active-color !default;\n\n// Widget Unique Variables Defaults\n$nav-width: 235px !default;\n$nav-width-collapsed: 80px !default;\n$nav-header-height: 60px !default;\n$nav-mobile-logo-maxwidth: 150px !default;\n\n$nav-pills-link-color: $navbar-inverse-link-color !default;\n$nav-pills-link-bg: transparent !default;\n$nav-pills-font-size: 16px !default;\n$nav-pills-line-height: 20px !default;\n$nav-pills-padding: 15px !default;\n$nav-pills-icon-default: fa-square !default;\n\n$nav-secondary-height: $nav-header-height !default;\n$nav-secondary-bg: transparent !default;\n$nav-secondary-bottom-padding: 0px !default;\n$nav-secondary-font-size: 16px !default;\n$nav-secondary-line-height: 18px !default;\n$nav-secondary-color: $text-muted !default;\n$nav-secondary-active-link-hover-color: $text-color !default;\n\n$nav-stacked-gap: 6px !default;\n\n.navsass{\n  --nav-pills-icon-default: $nav-pills-icon-default;\n  --nav-width: $nav-width;\n  --nav-width-collapsed: $nav-width-collapsed;\n  --nav-mobile-logo-maxwidth: $nav-mobile-logo-maxwidth;\n  --nav-padding: 0px 15px;\n  --nav-padding-top-bottom: 0px;\n  --nav-padding-left-right: 15px;\n  --nav-header-height: $nav-header-height;\n  --nav-secondary-height: $nav-secondary-height;\n  --nav-secondary-padding: 10px 15px;\n  --page-scrollWidth: 0px;\n  --page-margin-top: $nav-secondary-bottom-padding;\n}\n.primary{\n  z-index: 5000;\n}\n.secondary{\n  z-index: 4999;\n  .header{\n    position: static;\n    top: 0;\n    margin: 0;\n\t\tmin-width: calc( 100vw - #{var(--page-scrollWidth)} - (calc( #{var(--nav-width)} + calc( #{var(--nav-padding-left-right)} * 2 ) )));\n\t\tleft: calc( #{var(--nav-width)} - 1px + calc( #{var(--nav-padding-left-right)} * 2 ) );\n\t\theight: var(--nav-secondary-height);\n\t\tmin-height: var(--nav-secondary-height);\n\t\tpadding: var(--nav-secondary-padding);\n\t\tbackground-color: $nav-secondary-bg;\n\t\t.nav > li,\n\t\t.links{\n      display: inline-block;\n      position: relative;\n\t\t  a{\n    \t\tfont-size: $nav-secondary-font-size;\n    \t\tline-height: $nav-secondary-line-height;\n    \t\tcolor: $nav-secondary-color;\n    \t\tbackground-color: transparent;\n  \t\t}\n  \t\ta:hover {\n    \t\tcolor: $nav-secondary-active-link-hover-color;\n    \t\tbackground-color: transparent;\n  \t\t}\n\t\t}\n\t}\n}\n\n.fa{\n  font-size: $nav-pills-font-size;\n}\n\n\n//Mobile\n@media (max-width: 767px) {\n  .navsass{\n    .header-loader {\n      float: left;\n      width: 24px;\n      position: relative;\n      top: 24px;\n    }\n    .navbar{\n      margin-bottom: unset;\n    }\n    .navbar-header{\n      height: var(--nav-header-height);\n      background-color: $nav-header-bg-color;\n    }\n    .mobile-nav-scroll{\n      //height: calc( 100vh + 200px );\n      overflow: hidden;\n    }\n    .scrollable-dropdown{\n      height: 100vh;\n      overflow-y: scroll;\n      -webkit-overflow-scrolling: touch;\n    }\n\n    .navbar-toggle{\n      height: 60px;\n      margin: 0;\n      margin-right: 10px;\n    }\n    .navbar-pills{\n      margin:0;\n      margin-top: 30px;\n    }\n    .navbar-brand{\n    }\n    .navbar-brand-logo{\n      display: flex;\n      height: var(--nav-header-height);\n\t\t\t\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n      img {\n        display: flex;\n        max-width: var(--nav-mobile-logo-maxwidth);\n      }\n    }\n    .nav-pills > li > a,\n    .nav-pills > li > div{\n      font-size: $nav-pills-font-size;\n      padding: $nav-pills-padding;\n      line-height: $nav-pills-line-height;\n      color: $nav-pills-link-color;\n      border-radius: $nav-pills-border-radius;\n      background-color: $nav-pills-link-bg;\n      text-align: center;\n    }\n    .nav-pills > li > a,\n    .nav-pills > li > div{\n      text-align: left;\n    }\n    .linktext{\n      margin-left: 8px;\n    }\n    .submenu{\n      margin-left: 8px;\n      display: none;\n      li{\n        margin-left: 8px;\n      }\n    }\n    .submenushow{\n      display: inherit;\n    }\n  }\n}\n//Desktop\n@media (min-width: 768px) {\n  .navsass{\n    .header-loader-secondary {\n      float: left;\n      width: 24px;\n      position: relative;\n      top: 24px;\n    }\n    .header-loader {\n      display: flex;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n      justify-content: center;\n      position: relative;\n      top: 6px;\n      height: 8px;\n\n    }\n    .nav-scroll{\n      //overflow-y: scroll;\n    }\n    .navhide-toggle{\n      height: 50px;\n      width: 100%;\n      border-top: 1px solid rgba(255,255,255,0.3);\n      color: white;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n    .navhide-toggle-expanded{\n      justify-content: flex-end;\n    }\n\n    .fa-float-right{\n      float: right;\n    }\n    .linktext{\n      margin-left: 8px;\n    }\n    .navbar-header,\n    .navbar-nav,\n    .navbar-right,\n    .navbar-nav > li{\n      float: initial !important;\n    }\n    .collapse{}\n    .navbar-collapse{\n      margin: 0 auto;\n      padding: 0;\n      padding-left: 20px;\n      padding-right: 20px;\n    }\n\n    .navbar {\n      position: absolute;\n      min-height: 100vh;\n      margin-bottom: unset;\n      padding-left: var(--nav-padding-left-right);\n      padding-right: var(--nav-padding-left-right);\n      border: unset;\n      transition: 250ms opacity ease-in-out;\n      -webkit-transition: 250ms opacity ease-in-out;\n      border: 0;\n      border-radius: initial;\n    }\n\n    .navbar-fade {\n      opacity: 0.4;\n    }\n    .navbar-header{\n      width: var(--nav-width-collapsed);\n      height: var(--nav-header-height);\n      background-color: $nav-header-bg-color;\n      transition: width 125ms ease-in-out;\n      display: flex;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n\n    }\n    .navbar-expanded{\n      width: var(--nav-width);\n    }\n    .navbar-pills{\n      margin:0;\n      margin-top: 15px;\n    }\n    .navbar-pills-collapsed{\n      margin-top: 0px;\n    }\n    .navbar-brand{\n      padding: unset;\n      float: unset;\n      line-height: unset;\n      display: flex;\n      -webkit-box-pack: justify;\n      -moz-box-pack: justify;\n      -ms-flex-pack: justify;\n      -webkit-box-align: center;\n      -webkit-align-items: center;\n      -moz-box-align: center;\n      -ms-flex-align: center;\n      align-items: center;\n      height: var(--nav-header-height);\n    }\n    .navbar-brand-logo{\n      display: flex;\n      margin: 0 auto;\n    }\n    .navbar-brand-logo img {\n      max-width: 100%;\n      max-height: 40px;\n      display: flex;\n    }\n    .nav-pills > li > a,\n    .nav-pills > li > div{\n      font-size: $nav-pills-font-size;\n      padding: $nav-pills-padding;\n      line-height: $nav-pills-line-height;\n      color: $nav-pills-link-color;\n      border-radius: $nav-pills-border-radius;\n      background-color: $nav-pills-link-bg;\n      text-align: center;\n    }\n\n    .nav-pills > li > a:hover,\n    .nav-pills > li > div:hover {\n      color: $nav-pills-active-link-hover-color;\n      background-color: $nav-pills-active-link-hover-bg;\n    }\n\n    .nav-pills > li.active > a,\n    .nav-pills > li.active > a:hover,\n    .nav-pills > li.active > a:focus,\n    .nav-pills > li.active > div,\n    .nav-pills > li.active > div:hover,\n    .nav-pills > li.active > div:focus {\n      color: $nav-pills-active-link-hover-color;\n      background-color: $nav-pills-active-link-hover-bg;\n    }\n\n    .nav-pills > li > a.anchor-expanded,\n    .nav-pills > li > div.anchor-expanded{\n      text-align: left;\n    }\n\n    .nav-stacked > li {\n      float: none;\n    }\n    .nav-stacked > li  + li {\n      margin-top: $nav-stacked-gap;\n\n    }\n    .submenu{\n      margin-left: 8px;\n      display: none;\n      li{\n        margin-left: 8px;\n      }\n    }\n    .submenushow{\n      display: inherit;\n    }\n  }\n}\n.nav-pills > li > a.avatarlink {\n  text-align: left;\n  .avatar-small-medium {\n    height: 3rem;\n    width: 3rem;\n    float: left;\n    margin-left: -8px;\n    margin-top: -6px;\n    margin-right: 6px;\n  }\n}\n\n.cart-dropdown, .wishlist-menu, .gtd-dropdown-container .empty-dropdown {\n  width: 350px;\n  padding: 0;\n  z-index: 1000;\n  border-top-left-radius: 4px !important;\n  border-top-right-radius: 4px !important;\n\n  ul {\n    max-height: 300px;\n    overflow: auto;\n  }\n\n  .subtotal {\n    display: block;\n  }\n\n  .item-image {\n    padding: 0;\n    margin: 0;\n    text-align: center;\n    max-width:100%;\n    height:auto;\n  }\n  label, p {\n    padding: 0;\n    margin: 0;\n  }\n  .media {\n    padding: 0;\n    margin: 0;\n  }\n  .media-left > a {\n    display: block;\n    width: 48px;\n    max-width: 48px;\n  }\n  .media-body {\n    label {\n      font-weight: bold;\n    }\n  }\n  li.media {\n    border-top: 1px solid #cccccc;\n    padding: 1rem;\n  }\n  .panel {\n    margin: 0;\n  }\n  .panel .panel-body {\n    padding: 0;\n  }\n  .btn-clear {\n    color: #333;\n    background-color: #fff;\n  }\n  p.quantity-price {\n    padding-top: 0.5rem;\n    span {\n      color: $text-muted;\n      padding-right: 0.5rem;\n    }\n  }\n  .align-right {\n    text-align: right;\n  }\n}\n\n\n\n.item-added-tooltip, wishlist-item-added-tooltip {\n  width: 184px;\n  font-size: 14px;\n}\n\n.gtd-dropdown-container {\n  .empty-tour-content{\n    text-align: center;\n    margin:40px 20px;\n  }\n  .dropdown-menu li {\n    a {\n      cursor: pointer;\n    }\n    min-width: 20em;\n  }\n  .label-as-badge{\n    width: 12px;\n    height: 12px;\n    display: inline-block;\n    padding: 0px;\n    padding-top: 2px;\n  }\n  .badge-container {\n    display: inline-block;\n    width: 12px;\n  }\n}\n"
  },
  {
    "path": "src/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-link-script.js",
    "content": "function ($scope,$el,$attrs,$ctrl) {\n\t\n\t/*\n\tNeed to reposition #uiNotificationContainer so it is in the main page space\n\t*/\n\t\n\tvar $window = $injector.get('$window');\n\tvar leftNavSideBar = $injector.get('leftNavSideBar');\n\t\n\tvar $interval = $injector.get('$interval');\n\tvar $location = $injector.get('$location');\n\t\n\tvar body, section, header, main, nav, footer;\n\t\n\tfunction updatePage(data){\n\t\t\n\t\tvar sass = document.querySelector('.navsass');\n\n\t\tvar sassv = window.getComputedStyle(sass);\n\t\t$scope.options.nav_width = sassv.getPropertyValue('--nav-width').trim();\n\t\t$scope.options.nav_height = sassv.getPropertyValue('--nav-header-height').trim();\n\t\t$scope.options.nav_width_collapsed = sassv.getPropertyValue('--nav-width-collapsed').trim();\n\t\t$scope.options.nav_gutter = sassv.getPropertyValue('--nav-padding-left-right').trim();\n\t\t$scope.options.page_top = sassv.getPropertyValue('--page-margin-top').trim();\n\t\t$scope.options.nav_secondary_height = sassv.getPropertyValue('--nav-secondary-height').trim();\n\n\t\tbody = document.getElementsByTagName(\"body\");\n\t\tsection = document.getElementsByTagName(\"section\");\n\t\theader = document.getElementsByTagName(\"header\");\n\t\tmain = document.getElementsByTagName(\"main\");\n\t\tnav = document.getElementsByTagName(\"nav\");\n\t\tfooter = document.getElementsByTagName(\"footer\");\n\t\tuinotif = document.getElementById(\"uiNotificationContainer\");\n\n\t\t$scope.navpilldefaulticon = sassv.getPropertyValue('--nav-pills-icon-default').trim();\n\t\t\n\t\tvar wait = $interval(function(){\n\n\t\t\tif(header!=undefined && footer!=undefined){\n\t\t\t\tvar containers,breadcrumbs,headercontainers;\n\t\t\t\tvar expanded = $scope.expanded();\n\t\t\t\ttry{\n\n\t\t\t\t\t$(header).css('z-index','100');\n\t\t\t\t\t$(main).css('z-index','0');\n\n\t\t\t\t\tvar w = $(main).width();\n\n\t\t\t\t\tif( w > 767){\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar marginLeft = 'calc(' + $scope.options.nav_width_collapsed + ' + calc(' + $scope.options.nav_gutter + ' * 2) )';\n\t\t\t\t\t\tvar marginLeftContainers = 'calc( 100% - calc(' + $scope.options.nav_width_collapsed + ' / 2) )';\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(expanded){\n\t\t\t\t\t\t\tmarginLeft = 'calc(' + $scope.options.nav_width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )';\n\t\t\t\t\t\t\tmarginLeftContainers = 'calc( 100% - calc(' + $scope.options.nav_width + ' / 2) )';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$(section).css('overflow','auto');\n\t\t\t\t\t\t\n\t\t\t\t\t\t$(main).css('overflow','unset').css('margin-left', marginLeft );\n\t\t\t\t\t\t\n\t\t\t\t\t\t$(uinotif).css('margin-left', marginLeft);\n\t\t\t\t\t\t\n\t\t\t\t\t\t$(footer).css('margin-left', marginLeft);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif($scope.options.nav_secondary){\n\t\t\t\t\t\t\t$(nav).css('margin-top', 'calc( -1 * calc(' + $scope.options.nav_secondary_height + '))');\n\t\t\t\t\t\t\t$(body).css('overflow','hidden');\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t$(main).css('margin-top', $scope.options.page_top);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcontainers = $(main).find(\".container\");\n\t\t\t\t\t\tfor (var x=0;x<containers.length;x++){\n\t\t\t\t\t\t\t$(containers[x]).css('width',marginLeftContainers);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(data && data.bc){\n\t\t\t\t\t\t\tdata.bc.css('margin-left', marginLeft );\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tbreadcrumbs = $(header).find(\".breadcrumbs-container\");\n\t\t\t\t\t\t\tif(breadcrumbs){\n\t\t\t\t\t\t\t\tfor (var z=0;z<breadcrumbs.length;z++){\n\t\t\t\t\t\t\t\t\t$(breadcrumbs[z]).css('margin-left', marginLeft );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\theadercontainers = $(header).find(\".container\");\n\t\t\t\t\t\tif(headercontainers){\n\t\t\t\t\t\t\tfor (var y=0;y<headercontainers.length;y++){\n\t\t\t\t\t\t\t\t\t$(headercontainers[y]).css('width', marginLeftContainers);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}else{\n\t\t\t\t\t\t//Mobile\n\t\t\t\t\t\t$(header).css('height',$scope.options.nav_height);\n\t\t\t\t\t\t\n\t\t\t\t\t\t/*\n\t\t\t\t\t\tif( w > 767){\n\n\t\t\t\t\t\t\tvar width = 'calc('+$scope.options.nav_width+' / 2 )';\n\t\t\t\t\t\t\tsass.style.setProperty('--nav-width', width);\t\n\n\t\t\t\t\t\t\t$(section).css('overflow','hidden');\n\t\t\t\t\t\t\t$(main).css('overflow-x','auto').css('margin-left', 'calc(' + width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )' );\n\n\t\t\t\t\t\t\tif($scope.options.nav_secondary){\n\t\t\t\t\t\t\t\t$(nav).css('margin-top', 'calc( -1 * calc(' + $scope.options.nav_secondary_height + '))');\n\t\t\t\t\t\t\t\t$(body).css('overflow','hidden');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar containers = $(main).find(\".container\");\n\t\t\t\t\t\t\tfor (var x=0;x<containers.length;x++){\n\t\t\t\t\t\t\t\t$(containers[x]).css('width','calc( 100% - calc(' + $scope.options.nav_width + ' / 2) )');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar breadcrumbs = $(header).find(\".breadcrumbs-container\");\n\t\t\t\t\t\t\tif(breadcrumbs){\n\t\t\t\t\t\t\t\t$(breadcrumbs).css('margin-left', 'calc(' + $scope.options.nav_width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )' );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvar headercontainers = $(header).find(\".container\");\n\t\t\t\t\t\t\tfor (var y=0;y<headercontainers.length;y++){\n\t\t\t\t\t\t\t\t$(headercontainers[y]).css('width','calc( 100% - calc(' + $scope.options.nav_width + ' / 2) )');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$(footer).css('margin-left',  'calc(' + width + ' + calc(' + $scope.options.nav_gutter + ' * 2) )');\n\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t*/\n\t\t\t\t\t}\n\n\t\t\t\t\twindow.dispatchEvent(new Event('resize'));\n\t\t\t\t}catch(e){\n\t\t\t\t\tconsole.log(e);\n\t\t\t\t}\n\n\t\t\t\t$interval.cancel(wait);\n\t\t\t\twait = undefined;\n\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\t\n\tfunction setHeaderByScroll(){\n\t\tvar sass = document.querySelector('.navsass');\n\n\t\tvar footer = document.getElementsByTagName(\"footer\");\t\n\t\tvar main = document.getElementsByTagName(\"main\");\n\t\tvar body = document.getElementsByTagName(\"body\");\n\n\t\tvar mainHeight = parseInt($(main).innerHeight())+parseInt($scope.options.nav_secondary_height)+parseInt($(footer).innerHeight());\n\t\tvar bodyHeight = parseInt($(body).innerHeight());\n\t\tvar scrollBarWidth = getScrollbarWidth() + 'px';\n\t\tif(mainHeight > bodyHeight){\n\t\t\tsass.style.setProperty('--page-scrollWidth', scrollBarWidth);\t\n\t\t}else{\n\t\t\tsass.style.setProperty('--page-scrollWidth', '0px');\n\t\t}\n\t}\n\n\tfunction getScrollbarWidth() {\n\t\tvar outer = document.createElement(\"div\");\n\t\touter.style.visibility = \"hidden\";\n\t\touter.style.width = \"100px\";\n\t\tdocument.body.appendChild(outer);\n\n\t\tvar widthNoScroll = outer.offsetWidth;\n\t\t// force scrollbars\n\t\touter.style.overflow = \"scroll\";\n\n\t\t// add innerdiv\n\t\tvar inner = document.createElement(\"div\");\n\t\tinner.style.width = \"100%\";\n\t\touter.appendChild(inner);        \n\n\t\tvar widthWithScroll = inner.offsetWidth;\n\n\t\t// remove divs\n\t\touter.parentNode.removeChild(outer);\n\n\t\treturn widthNoScroll - widthWithScroll;\n\t}\n\t\n\t$scope.width = $window.innerWidth;\n\t$scope.expanded = leftNavSideBar.isExpanded;\n\t\n\t$scope.toggle = function () {\n\t\tleftNavSideBar.toggleExpanded();\n\n\t\tupdatePage();\n\t}\n\n\t$scope.toggleSubMenu = function(e,id){\n\t\tvar submenus = document.getElementsByClassName(\"submenu\");\n//\t\tangular.element(submenus).removeClass('submenushow');\n//console.log(submenus)\n\t\tvar el = angular.element(\"#\"+id);\n\t\tel.toggleClass('submenushow');\n//\t\tel.parent().toggleClass('submenushow')\n//console.log(el.parent())\t\t\n\t\t\n//Need to figure out why this is not working on mobile\n//Remove --  ng-class=\"{ submenushow : xsScreenSize }\"\n//- from visibileItemsLeftNavTemplate once fixed\n\t\t\n\t\te.stopPropagation();\n    e.preventDefault();\n\t};\n\n\tangular.element($window).bind('resize', function(){\n\t\t$scope.width = $window.innerWidth;\n\t\tsetHeaderByScroll();\n\t\t$scope.navExpanded = $scope.expanded();\n\t\tif($scope.xsScreenSize){\n\t\t\t$scope.navExpanded = true;\n\t\t}\n\t});\n\n\t$(document).keyup(function(event) {\n\t\tif (event.which == 9) { //tab key handler + arrow keys\n\t\t\tif ($(event.target).parents(\".dropdown-menu\").length == 0) { //if we are NOT inside a dropdown...\n\t\t\t\t//close the dropdowns\n\t\t\t\t$(\".dropdown\").removeClass(\"open\");\n\t\t\t\t$(\"[data-toggle='dropdown']\").attr(\"aria-expanded\", \"false\");\n\t\t\t}\n\t\t}\n\t});\n\n\t$scope.$on('renderPage',function(action,data){\n\t\tupdatePage(data);\n\t});\n\n\t$($el).on('click.a','click.nav','.navbar-collapse.in',function(e) {\n\n\t\tvar target = $(e.target);\n\t\t\n\t\tif (target.is('a')||target.is('span')) {\n\t\t\tif (target.hasClass('sp-menu-has-items'))\n\t\t\t\treturn; // menu item has a submenu, so just toggle it\n\t\t\t\n\t\t\t// collapse mobile nav if clicked an anchor\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\tif (target.parent().hasClass(\"toggle-dropdown\")) {\n\t\t\t// collapse mobile nav if parent has toggle-dropdown class\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\t// if neither target nor parent is an anchor, do nothing\n\t\tif (!target.parent().is('a'))\n\t\t\treturn;\n\n\t\t// collapse mobile nav if target is part of a submenu\n\t\tif (target.parents(\"ul.dropdown-menu\").length > 0)\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t});\n\t\n\tupdatePage();\n\t\n//console.log('~~~ Link Function ~~~')\t\n//console.log($scope)\n}"
  },
  {
    "path": "src/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-option-schema.json",
    "content": ""
  },
  {
    "path": "src/pe-navigation-left-collapsible/widget/pe-navigation-left-collapsible.u-server-script.js",
    "content": "(function() {\n\t\n\t/** TBD **/\n\t/**\n\t\tNeed to review HR header and add support for the HR menu items\n\t**/\n\t\n\tdata.login_page = $sp.getValue('login_page');\n\n\t/*Location Functions*/\t\n\tfunction getMenu(id){\n\t\tvar menu = {};\n\t\tif(id){\n\t\t\tmenu = $sp.getWidgetFromInstance(id);\n\n\t\t\tif(menu.data.menu){\n\t\t\t\tmenu.isWidget = true;\n\t\t\t}else{\n\t\t\t\tmenu.isWidget = false;\n\t\t\t\tmenu.data = {\n\t\t\t\t\tmenu: {\n\t\t\t\t\t\titems: $sp.getMenuItems(id)\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\tmenu.data.replace = true;\n\t\t\t// Hide login if menu already has link to login\n\t\t\tdata.hasLogin = false;\n\t\t\tif (menu.data.menu.items) {\n\t\t\t\tfor(var i in menu.data.menu.items) {\n\t\t\t\t\tvar item = menu.data.menu.items[i];\n\t\t\t\t\tif (item.type == 'page' && item.sp_page == data.login_page)\n\t\t\t\t\t\tdata.hasLogin = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn menu;\n\t}\n\n\t/* Variables Local and Client */\n\tvar session = gs.getSession();\n\n\t//Get Quick Start Config for the Portal\n\tvar qsConfig = $sp.getValue(\"quick_start_config\");\n\tvar qsConfigJson = qsConfig ? JSON.parse(qsConfig)[0] : {};\n\tdata.qsConfig = qsConfigJson;\n\n\tif(!data.qsConfig.chatIcon){\n\t\tdata.qsConfig.chatIcon = 'fa-commenting';\n\t}\n\n\t//Get Menu for Left Nav Panel\n\tdata.menu = {\n\t\titems : []\n\t};\n\tvar menu = $sp.getValue(\"sp_rectangle_menu\");\n\tif(menu){\n\t\tdata.menu = getMenu(menu);\n\t}\n\n\t//Portal Configuration for a Menu when there is not one identified by the Portal 'Main menu'\n\tif(!data.menu && (data.qsConfig.auto_menu == true || data.qsConfig.auto_menu == 'true' || data.qsConfig.auto_menu == 1 || data.qsConfig.auto_menu == '1')){\n\t\tdata.menu = {\n\t\t\titems : []\n\t\t};\n\t\tif($sp.getValue(\"kb_knowledge_page\")){\n\t\t\tdata.menu.items.push({\n\t\t\t\tglyph: 'book',\n\t\t\t\tlabel: 'Knowledge Base',\n\t\t\t\thref: '?id=' + $sp.getDisplayValue(\"kb_knowledge_page\"),\n\t\t\t\tsys_id: $sp.getValue(\"kb_knowledge_page\"),\n\t\t\t\turl_target: '_self',\n\t\t\t\titems : []\n\t\t\t});\n\t\t}\n\t\tif($sp.getValue(\"sc_catalog_page\")){\n\t\t\tdata.menu.items.push({\n\t\t\t\tglyph: 'th-large',\n\t\t\t\tlabel: 'Service Catalog',\n\t\t\t\thref: '?id=' + $sp.getDisplayValue(\"sc_catalog_page\"),\n\t\t\t\tsys_id: $sp.getValue(\"sc_catalog_page\"),\n\t\t\t\turl_target: '_self',\n\t\t\t\titems : []\n\t\t\t});\n\t\t}\n\t}\n\n\t//Get Menu for Top Nav Panel\n\tvar secondaryMenuInstance = qsConfigJson.secondaryMenu ? qsConfigJson.secondaryMenu.sys_id : undefined;\n\tif(secondaryMenuInstance){\n\t\tdata.secondaryMenu = getMenu(secondaryMenuInstance);\n\t}\n\n\n\tdata.images = {};\n\n\t//data.isLoggedIn = session.isLoggedIn();\n\tdata.isLoggedIn = GlideSession.get().isLoggedIn();\n\t// Show tours only if gtd's sp sys property is set\n\tdata.showTours = (gs.getProperty('com.snc.guided_tours.sp.enable') === 'true') && data.isLoggedIn;\n\n\n\tvar catalogArr = ($sp.getCatalogs().value + \"\").split(\",\");\n\tcatalogArr.forEach(function(catalog) {\n\t\tif(data.menu.data && !data.menu.data.showWishlist){\n\t\t\tdata.menu.data.showWishlist = new sn_sc.Catalog(catalog).isWishlistEnabled();\n\t\t}\n\t});\n\n\tif (data.isLoggedIn) {\n\t\tif(data.menu.data){\n\t\t\tif (data.menu.data.showWishlist){\n\t\t\t\tdata.menu.data.wishlistWidget = $sp.getWidget(\"sc_wishlist_cart\", {wishlistTemplate: \"small_wishlist.html\", auto_update_wishlist:options.auto_update_wishlist});\n\t\t\t}\n\t\t\tif (gs.getProperty(\"glide.sc.portal.use_cart_v2_header\", \"false\") === \"true\"){\n\t\t\t\tdata.menu.data.cartWidget = $sp.getWidget(\"sc-shopping-cart-v2\", {cartTemplate: \"small_shopping_cart_v2.html\", auto_update_cart:options.auto_update_cart});\n\t\t\t}else{\n\t\t\t\tdata.menu.data.cartWidget = $sp.getWidget(\"sc-shopping-cart\", {cartTemplate: \"small_shopping_cart.html\", auto_update_cart:options.auto_update_cart});\n\t\t\t}\n\t\t}\n\t}\n\n\t// Defines the support queue ID that will be linked to by the Live Chat link in header\n\tdata.connect_support_queue_id = $sp.getValue('sp_chat_queue');\n\tdata.profileBtnMsg = gs.getMessage(\"User options\");\n\n\tdata.loginWidget = $sp.getWidgetFromInstance('login-modal');\n\n\t/** CSM Chat Support **/\n\t\n\t\n\tif(data.qsConfig.isCSM && ((data.qsConfig.isCSM === true)||(data.qsConfig.isCSM==='true'))){\n\t\tdata.queueType = \"connect\";\n\t\tvar liveAgent = new GlideRecord(\"sys_cs_live_agent_setup\");\n\n\t\tliveAgent.query();\n\t\tif (liveAgent.next()) {\n\t\t\tdata.queueType = liveAgent.getValue(\"csm_fulfiller\");\n\t\t}\n\t\tdata.isVAActive = GlidePluginManager.isActive('com.glide.cs.chatbot');\n\n\t\t// changes data.live_agent_only to true to allow only live agent\n\t\tdata.live_agent_only = false;\n\t\tif (!data.live_agent_only) {\n\t\t\tdata.live_agent_only = !data.isVAActive;\n\t\t}\n\n\t\tdata.useChatWidgetForCSM = false;\n\n\t\tvar chatW = new GlideRecord(\"sp_widget\");\n\t\tchatW.addQuery(\"id\", \"sn-va-sp-widget\");\n\t\tchatW.query();\n\t\tif (chatW.next()){\n\t\t\tvar contactUrl = \"\";\n\t\t\tvar accountUrl = \"\";\n\n\t\t\tdata.useChatWidgetForCSM = true;\n\t\t\tvar cc = new GlideRecord('customer_contact');\n\t\t\tcc.addQuery(\"sys_id\", gs.getUserID());\n\t\t\tcc.query();\n\t\t\tif (cc.next()) {\n\t\t\t\tcontactUrl = \"&sysparm_liveagent_interaction_contact=\" + cc.getUniqueValue();\n\t\t\t\taccountUrl = \"&sysparm_liveagent_interaction_account=\" + cc.getValue(\"account\");\n\t\t\t}\n\t\t\tvar liveAgentUrl = data.live_agent_only ? \"&sysparm_live_agent_only=true\":\"\";\n\t\t\tvar csmQueue;\n\t\t\tif (data.queueType == 'connect') {\n\t\t\t\tcsmQueue = data.connect_support_queue_id;\n\t\t\t} else {\n\t\t\t\tcsmQueue = data.interaction_queue_id;\n\t\t\t}\n\t\t\tvar va_parms = \"sysparm_liveagent_application=csm&sysparm_liveagent_queue=\"+csmQueue+contactUrl+accountUrl+liveAgentUrl;\n\n\t\t\tdata.va_chat = $sp.getWidget('sn-va-sp-widget',{\n\t\t\t\tva_url_params:va_parms\n\t\t\t});\n\t\t}\n\t}\n})();"
  },
  {
    "path": "src/pe-ng-line-chart/README.md",
    "content": "# Angular Line Chart\n\n## Description\n\nA simple and responsive line chart widget built using Angular Chart.\n\n## Screenshot\n\n![Angular Line Chart](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-ng-line-chart/images/pe-angular-line-chart.png)\n\n## Additional Information/Notes\n\nUse out-of-box for a two series line chart with random data or customize as needed.\n\n## Installation\n\nDownload and install update set **[pe-ng-line-chart.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-ng-line-chart/pe-ng-line-chart.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/newyork-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> None\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n## Dependencies\n\n- [Chart.js](http://www.chartjs.org/)\n- [Angular Chart](http://jtblin.github.io/angular-chart.js/)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-ng-line-chart/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Angular Line Chart\",\n  \"compatibility\": [\"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Steven Gregory\"],\n  \"keywords\": [\"Widget\", \"Chart\"],\n  \"name\": \"pe-ng-line-chart\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A simple and responsive line chart widget built using Angular Chart.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.1\"\n}\n"
  },
  {
    "path": "src/pe-ng-line-chart/pe-ng-line-chart.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2018-10-24 19:31:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Angular Line Chart</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>a7e494ea13d5e340e5843192e144b01c</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>e3dbe0e61319e340e5843192e144b09b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_3129e4261319e340e5843192e144b03d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>Angular Chart</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-24 19:19:50</sys_created_on><sys_id>3129e4261319e340e5843192e144b03d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Angular Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_3129e4261319e340e5843192e144b03d</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-24 19:19:50</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1255780871</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>23dbe0e61319e340e5843192e144b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a784cc7a0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>Angular Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>964964267919e340b62a221a988e6f22</update_guid>\n<update_guid_history>964964267919e340b62a221a988e6f22:-1255780871</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_163aa4661319e340e5843192e144b051</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;angular-chart.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*!\n * angular-chart.js - An angular.js wrapper for Chart.js\n * http://jtblin.github.io/angular-chart.js/\n * Version: 1.1.1\n *\n * Copyright 2016 Jerome Touffe-Blin\n * Released under the BSD-2-Clause license\n * https://github.com/jtblin/angular-chart.js/blob/master/LICENSE\n */\n!function(t){\"use strict\";if(\"object\"==typeof exports)module.exports=t(\"undefined\"!=typeof angular?angular:require(\"angular\"),\"undefined\"!=typeof Chart?Chart:require(\"chart.js\"));else if(\"function\"==typeof define&amp;&amp;define.amd)define([\"angular\",\"chart\"],t);else{if(\"undefined\"==typeof angular)throw new Error(\"AngularJS framework needs to be included, see https://angularjs.org/\");if(\"undefined\"==typeof Chart)throw new Error(\"Chart.js library needs to be included, see http://jtblin.github.io/angular-chart.js/\");t(angular,Chart)}}(function(t,r){\"use strict\";function e(){var e={responsive:!0},a={Chart:r,getOptions:function(r){var a=r&amp;&amp;e[r]||{};return t.extend({},e,a)}};this.setOptions=function(r,n){n?e[r]=t.merge(e[r]||{},n):(n=r,e=t.merge(e,n)),t.merge(a.Chart.defaults,e)},this.$get=function(){return a}}function a(e,a){function o(t,r,a){var n=D(t,r);if(C(r)&amp;&amp;k(t,r,a,n)){var o=a[0],c=o.getContext(\"2d\");r.chartGetColor=y(r);var i=b(t,r);F(r),r.chart=new e.Chart(c,{type:t,data:i,options:n}),r.$emit(\"chart-create\",r.chart),A(o,r)}}function c(t,r){return!!(t&amp;&amp;r&amp;&amp;t.length&amp;&amp;r.length)&amp;&amp;(Array.isArray(t[0])?t.length===r.length&amp;&amp;t.every(function(t,e){return t.length===r[e].length}):r.reduce(i,0)&gt;0&amp;&amp;t.length===r.length)}function i(t,r){return t+r}function u(r,e,a){var n={point:void 0,points:void 0};return function(o){var c=r.chart.getElementAtEvent||r.chart.getPointAtEvent,i=r.chart.getElementsAtEvent||r.chart.getPointsAtEvent;if(i){var u=i.call(r.chart,o),l=c?c.call(r.chart,o)[0]:void 0;a!==!1&amp;&amp;(t.equals(n.points,u)||t.equals(n.point,l))||(n.point=l,n.points=u,r[e](u,o,l))}}}function l(a,n){for(var o=t.copy(n.chartColors||e.getOptions(a).chartColors||r.defaults.global.colors),c=o.length&lt;n.chartData.length;o.length&lt;n.chartData.length;)o.push(n.chartGetColor());return c&amp;&amp;(n.chartColors=o),o.map(h)}function h(t){return\"string\"==typeof t&amp;&amp;\"r\"===t[0]?f(v(t)):\"string\"==typeof t&amp;&amp;\"#\"===t[0]?f(p(t.substr(1))):\"object\"==typeof t&amp;&amp;null!==t?t:s()}function s(){var t=[d(0,255),d(0,255),d(0,255)];return f(t)}function f(t){var r=t[3]||1;return t=t.slice(0,3),{backgroundColor:g(t,.2),pointBackgroundColor:g(t,r),pointHoverBackgroundColor:g(t,.8),borderColor:g(t,r),pointBorderColor:\"#fff\",pointHoverBorderColor:g(t,r)}}function d(t,r){return Math.floor(Math.random()*(r-t+1))+t}function g(t,r){return n?\"rgb(\"+t.join(\",\")+\")\":\"rgba(\"+t.concat(r).join(\",\")+\")\"}function p(t){var r=parseInt(t,16),e=r&gt;&gt;16&amp;255,a=r&gt;&gt;8&amp;255,n=255&amp;r;return[e,a,n]}function v(t){var r=t.match(/^rgba?\\(([\\d,.]+)\\)$/);if(!r)throw new Error(\"Cannot parse rgb value\");return t=r[1].split(\",\"),t.map(Number)}function C(t){return t.chartData&amp;&amp;t.chartData.length}function y(t){return\"function\"==typeof t.chartGetColor?t.chartGetColor:s}function b(t,r){var e=l(t,r);return Array.isArray(r.chartData[0])?m(r.chartLabels,r.chartData,r.chartSeries||[],e,r.chartDatasetOverride):w(r.chartLabels,r.chartData,e,r.chartDatasetOverride)}function m(r,e,a,n,o){return{labels:r,datasets:e.map(function(r,e){var c=t.extend({},n[e],{label:a[e],data:r});return o&amp;&amp;o.length&gt;=e&amp;&amp;t.merge(c,o[e]),c})}}function w(r,e,a,n){var o={labels:r,datasets:[{data:e,backgroundColor:a.map(function(t){return t.pointBackgroundColor}),hoverBackgroundColor:a.map(function(t){return t.backgroundColor})}]};return n&amp;&amp;t.merge(o.datasets[0],n),o}function D(r,a){return t.extend({},e.getOptions(r),a.chartOptions)}function A(r,e){r.onclick=e.chartClick?u(e,\"chartClick\",!1):t.noop,r.onmousemove=e.chartHover?u(e,\"chartHover\",!0):t.noop}function B(t,r){Array.isArray(r.chartData[0])?r.chart.data.datasets.forEach(function(r,e){r.data=t[e]}):r.chart.data.datasets[0].data=t,r.chart.update(),r.$emit(\"chart-update\",r.chart)}function $(t){return!t||Array.isArray(t)&amp;&amp;!t.length||\"object\"==typeof t&amp;&amp;!Object.keys(t).length}function k(t,r,e,n){return!n.responsive||0!==e[0].clientHeight||(a(function(){o(t,r,e)},50,!1),!1)}function F(t){t.chart&amp;&amp;(t.chart.destroy(),t.$emit(\"chart-destroy\",t.chart))}return function(r){return{restrict:\"CA\",scope:{chartGetColor:\"=?\",chartType:\"=\",chartData:\"=?\",chartLabels:\"=?\",chartOptions:\"=?\",chartSeries:\"=?\",chartColors:\"=?\",chartClick:\"=?\",chartHover:\"=?\",chartDatasetOverride:\"=?\"},link:function(e,a){function i(t,n){if(!t||!t.length||Array.isArray(t[0])&amp;&amp;!t[0].length)return void F(e);var i=r||e.chartType;if(i)return e.chart&amp;&amp;c(t,n)?B(t,e):void o(i,e,a)}function u(n,c){if(!$(n)&amp;&amp;!t.equals(n,c)){var i=r||e.chartType;i&amp;&amp;o(i,e,a)}}function l(r,n){$(r)||t.equals(r,n)||o(r,e,a)}n&amp;&amp;window.G_vmlCanvasManager.initElement(a[0]),e.$watch(\"chartData\",i,!0),e.$watch(\"chartSeries\",u,!0),e.$watch(\"chartLabels\",u,!0),e.$watch(\"chartOptions\",u,!0),e.$watch(\"chartColors\",u,!0),e.$watch(\"chartDatasetOverride\",u,!0),e.$watch(\"chartType\",l,!1),e.$on(\"$destroy\",function(){F(e)}),e.$on(\"$resize\",function(){e.chart&amp;&amp;e.chart.resize()})}}}}r.defaults.global.multiTooltipTemplate=\"&lt;%if (datasetLabel){%&gt;&lt;%=datasetLabel%&gt;: &lt;%}%&gt;&lt;%= value %&gt;\",r.defaults.global.tooltips.mode=\"label\",r.defaults.global.elements.line.borderWidth=2,r.defaults.global.elements.rectangle.borderWidth=2,r.defaults.global.legend.display=!1,r.defaults.global.colors=[\"#97BBCD\",\"#DCDCDC\",\"#F7464A\",\"#46BFBD\",\"#FDB45C\",\"#949FB1\",\"#4D5360\"];var n=\"object\"==typeof window.G_vmlCanvasManager&amp;&amp;null!==window.G_vmlCanvasManager&amp;&amp;\"function\"==typeof window.G_vmlCanvasManager.initElement;return n&amp;&amp;(r.defaults.global.animation=!1),t.module(\"chart.js\",[]).provider(\"ChartJs\",e).factory(\"ChartJsFactory\",[\"ChartJs\",\"$timeout\",a]).directive(\"chartBase\",[\"ChartJsFactory\",function(t){return new t}]).directive(\"chartLine\",[\"ChartJsFactory\",function(t){return new t(\"line\")}]).directive(\"chartBar\",[\"ChartJsFactory\",function(t){return new t(\"bar\")}]).directive(\"chartHorizontalBar\",[\"ChartJsFactory\",function(t){return new t(\"horizontalBar\")}]).directive(\"chartRadar\",[\"ChartJsFactory\",function(t){return new t(\"radar\")}]).directive(\"chartDoughnut\",[\"ChartJsFactory\",function(t){return new t(\"doughnut\")}]).directive(\"chartPie\",[\"ChartJsFactory\",function(t){return new t(\"pie\")}]).directive(\"chartPolarArea\",[\"ChartJsFactory\",function(t){return new t(\"polarArea\")}]).directive(\"chartBubble\",[\"ChartJsFactory\",function(t){return new t(\"bubble\")}]).name});\n//# sourceMappingURL=angular-chart.min.js.map]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-24 19:24:05&lt;/sys_created_on&gt;&lt;sys_id&gt;163aa4661319e340e5843192e144b051&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;angular-chart.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_163aa4661319e340e5843192e144b051&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-24 19:24:05&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1567696697</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>2fdbe0e61319e340e5843192e144b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a788b2a00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>angular-chart.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>3c4aa466bf19e340b0eb5b281b542a55</update_guid>\n<update_guid_history>3c4aa466bf19e340b0eb5b281b542a55:1567696697</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_de5ae4661319e340e5843192e144b0f5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function LineChartController() {\n  var c = this;\n\n  c.$onInit = function() {\n    setChartOptions();\n  };\n\n  function setChartOptions() {\n    c.labels = c.data.chartLabels;\n    c.series = c.data.chartSeries;\n    c.data = c.data.dataset;\n    c.datasetOverride = c.data.chartOverrides;\n    c.options = c.data.chartOptions;\n  }\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css/&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-angular-line-chart&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Angular Line Chart&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  data.chartLabels = getChartLabels();\n  data.chartOptions = getChartOptions();\n  data.chartOverrides = getChartOverrides();\n  data.chartSeries = getChartSeries();\n  data.dataset = getDataSet();\n\n  function dataSet(length, max) {\n    return [randomData(length, max), randomData(length, max)];\n  }\n\n  function getChartLabels() {\n    return ['January', 'February', 'March', 'April', 'May', 'June', 'July'];\n  }\n\n  function getChartOverrides() {\n    return [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }];\n  }\n\n  function getChartSeries() {\n    return ['Series A', 'Series B'];\n  }\n\n  function getDataSet() {\n    return dataSet(getChartLabels().length, 100);\n  }\n\n  function getChartOptions() {\n    return {\n      scales: {\n        yAxes: [\n          {\n            id: 'y-axis-1',\n            type: 'linear',\n            display: true,\n            position: 'left'\n          },\n          {\n            id: 'y-axis-2',\n            type: 'linear',\n            display: true,\n            position: 'right'\n          }\n        ]\n      }\n    };\n  }\n\n  function randomData(length, max) {\n    return Array.apply(null, Array(length)).map(randomNumber(max));\n  }\n\n  function randomNumber(max) {\n    return function() {\n      return Math.floor(Math.random() * max);\n    };\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-24 19:26:04&lt;/sys_created_on&gt;&lt;sys_id&gt;de5ae4661319e340e5843192e144b0f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Angular Line Chart&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_de5ae4661319e340e5843192e144b0f5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-24 19:27:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;canvas id=\"line\" class=\"chart chart-line\" chart-data=\"c.data\" chart-labels=\"c.labels\" chart-series=\"c.series\"\n  chart-options=\"c.options\" chart-dataset-override=\"c.datasetOverride\"&gt;\n&lt;/canvas&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1059677138</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>6bdbe0e61319e340e5843192e144b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a78be08d0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>PE Angular Line Chart</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>630ba8a66619e34079101c848313400b</update_guid>\n<update_guid_history>630ba8a66619e34079101c848313400b:-1059677138,f1bae466e819e340646d07228e4e1051:-1061383614</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_45da2c661319e340e5843192e144b03a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Angular Chart\">3129e4261319e340e5843192e144b03d</sp_dependency><sp_widget display_value=\"PE Angular Line Chart\">de5ae4661319e340e5843192e144b0f5</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-24 19:26:34</sys_created_on><sys_id>45da2c661319e340e5843192e144b03a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Angular Chart.PE Angular Line Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_45da2c661319e340e5843192e144b03a</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-24 19:26:34</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>738785545</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>6fdbe0e61319e340e5843192e144b09b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a78af78c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>Angular Chart.PE Angular Line Chart</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>4dda2c66dc19e3409b317ed70c81b3dd</update_guid>\n<update_guid_history>4dda2c66dc19e3409b317ed70c81b3dd:738785545</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_e95968261319e340e5843192e144b01a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Chart</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-24 19:21:17</sys_created_on><sys_id>e95968261319e340e5843192e144b01a</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"chart.js\">76f9ac261319e340e5843192e144b04f</sys_ui_script><sys_update_name>sp_js_include_e95968261319e340e5843192e144b01a</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-24 19:23:28</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1999598398</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>a7dbe0e61319e340e5843192e144b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a78821010000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>Chart</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>6f1aac263e19e340e79578f46c735954</update_guid>\n<update_guid_history>6f1aac263e19e340e79578f46c735954:-1999598398,ff99e4265319e3407f8bd37ec0c5ff18:-1108321989</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_b9a968261319e340e5843192e144b020</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"Angular Chart\">3129e4261319e340e5843192e144b03d</sp_dependency><sp_js_include display_value=\"Angular Chart\">e0a928261319e340e5843192e144b0cc</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-24 19:21:25</sys_created_on><sys_id>b9a968261319e340e5843192e144b020</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Angular Chart.Angular Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_b9a968261319e340e5843192e144b020</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-24 19:21:32</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1899356496</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>abdbe0e61319e340e5843192e144b09b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a7865dd40000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>Angular Chart.Angular Chart</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>afa9e8268319e340114499ad75f7c189</update_guid>\n<update_guid_history>afa9e8268319e340114499ad75f7c189:1899356496,f9a968265619e340cfa66caf737c9621:-1149702863</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_e0a928261319e340e5843192e144b0cc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Angular Chart</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-24 19:21:25</sys_created_on><sys_id>e0a928261319e340e5843192e144b0cc</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Angular Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"angular-chart.js\">163aa4661319e340e5843192e144b051</sys_ui_script><sys_update_name>sp_js_include_e0a928261319e340e5843192e144b0cc</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-24 19:24:10</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1491729481</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>e3dbe0e61319e340e5843192e144b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a788c5f40000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>Angular Chart</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>4a4a2066d019e340df5b1ffef4789dd7</update_guid>\n<update_guid_history>4a4a2066d019e340df5b1ffef4789dd7:1491729481,fda968261219e340b1044744773dbb1f:554118911</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_7799e8261319e340e5843192e144b047</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Angular Chart\">3129e4261319e340e5843192e144b03d</sp_dependency><sp_js_include display_value=\"Chart\">e95968261319e340e5843192e144b01a</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2018-10-24 19:21:18</sys_created_on><sys_id>7799e8261319e340e5843192e144b047</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Angular Chart.Chart</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_7799e8261319e340e5843192e144b047</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-10-24 19:21:18</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-548464332</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>e7dbe0e61319e340e5843192e144b09b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a78623e90000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>Angular Chart.Chart</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>7f99e8261b19e3407be4c24af3afc548</update_guid>\n<update_guid_history>7f99e8261b19e3407be4c24af3afc548:-548464332</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_76f9ac261319e340e5843192e144b04f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;chart.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*!\n * Chart.js\n * http://chartjs.org/\n * Version: 2.7.2\n *\n * Copyright 2018 Chart.js Contributors\n * Released under the MIT license\n * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md\n */\n(function(f){if(typeof exports===\"object\"&amp;&amp;typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&amp;&amp;define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Chart = f()}})(function(){var define,module,exports;return (function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&amp;&amp;require;if(!u&amp;&amp;a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&amp;&amp;require;for(var o=0;o&lt;r.length;o++)s(r[o]);return s}return e})()({1:[function(require,module,exports){\n/* MIT license */\nvar colorNames = require(5);\n\nmodule.exports = {\n   getRgba: getRgba,\n   getHsla: getHsla,\n   getRgb: getRgb,\n   getHsl: getHsl,\n   getHwb: getHwb,\n   getAlpha: getAlpha,\n\n   hexString: hexString,\n   rgbString: rgbString,\n   rgbaString: rgbaString,\n   percentString: percentString,\n   percentaString: percentaString,\n   hslString: hslString,\n   hslaString: hslaString,\n   hwbString: hwbString,\n   keyword: keyword\n}\n\nfunction getRgba(string) {\n   if (!string) {\n      return;\n   }\n   var abbr =  /^#([a-fA-F0-9]{3})$/i,\n       hex =  /^#([a-fA-F0-9]{6})$/i,\n       rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n       per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n       keyword = /(\\w+)/;\n\n   var rgb = [0, 0, 0],\n       a = 1,\n       match = string.match(abbr);\n   if (match) {\n      match = match[1];\n      for (var i = 0; i &lt; rgb.length; i++) {\n         rgb[i] = parseInt(match[i] + match[i], 16);\n      }\n   }\n   else if (match = string.match(hex)) {\n      match = match[1];\n      for (var i = 0; i &lt; rgb.length; i++) {\n         rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n      }\n   }\n   else if (match = string.match(rgba)) {\n      for (var i = 0; i &lt; rgb.length; i++) {\n         rgb[i] = parseInt(match[i + 1]);\n      }\n      a = parseFloat(match[4]);\n   }\n   else if (match = string.match(per)) {\n      for (var i = 0; i &lt; rgb.length; i++) {\n         rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n      }\n      a = parseFloat(match[4]);\n   }\n   else if (match = string.match(keyword)) {\n      if (match[1] == \"transparent\") {\n         return [0, 0, 0, 0];\n      }\n      rgb = colorNames[match[1]];\n      if (!rgb) {\n         return;\n      }\n   }\n\n   for (var i = 0; i &lt; rgb.length; i++) {\n      rgb[i] = scale(rgb[i], 0, 255);\n   }\n   if (!a &amp;&amp; a != 0) {\n      a = 1;\n   }\n   else {\n      a = scale(a, 0, 1);\n   }\n   rgb[3] = a;\n   return rgb;\n}\n\nfunction getHsla(string) {\n   if (!string) {\n      return;\n   }\n   var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n   var match = string.match(hsl);\n   if (match) {\n      var alpha = parseFloat(match[4]);\n      var h = scale(parseInt(match[1]), 0, 360),\n          s = scale(parseFloat(match[2]), 0, 100),\n          l = scale(parseFloat(match[3]), 0, 100),\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n      return [h, s, l, a];\n   }\n}\n\nfunction getHwb(string) {\n   if (!string) {\n      return;\n   }\n   var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n   var match = string.match(hwb);\n   if (match) {\n    var alpha = parseFloat(match[4]);\n      var h = scale(parseInt(match[1]), 0, 360),\n          w = scale(parseFloat(match[2]), 0, 100),\n          b = scale(parseFloat(match[3]), 0, 100),\n          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n      return [h, w, b, a];\n   }\n}\n\nfunction getRgb(string) {\n   var rgba = getRgba(string);\n   return rgba &amp;&amp; rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n  var hsla = getHsla(string);\n  return hsla &amp;&amp; hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n   var vals = getRgba(string);\n   if (vals) {\n      return vals[3];\n   }\n   else if (vals = getHsla(string)) {\n      return vals[3];\n   }\n   else if (vals = getHwb(string)) {\n      return vals[3];\n   }\n}\n\n// generators\nfunction hexString(rgb) {\n   return \"#\" + hexDouble(rgb[0]) + hexDouble(rgb[1])\n              + hexDouble(rgb[2]);\n}\n\nfunction rgbString(rgba, alpha) {\n   if (alpha &lt; 1 || (rgba[3] &amp;&amp; rgba[3] &lt; 1)) {\n      return rgbaString(rgba, alpha);\n   }\n   return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n   if (alpha === undefined) {\n      alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n   }\n   return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n           + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n   if (alpha &lt; 1 || (rgba[3] &amp;&amp; rgba[3] &lt; 1)) {\n      return percentaString(rgba, alpha);\n   }\n   var r = Math.round(rgba[0]/255 * 100),\n       g = Math.round(rgba[1]/255 * 100),\n       b = Math.round(rgba[2]/255 * 100);\n\n   return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n   var r = Math.round(rgba[0]/255 * 100),\n       g = Math.round(rgba[1]/255 * 100),\n       b = Math.round(rgba[2]/255 * 100);\n   return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n   if (alpha &lt; 1 || (hsla[3] &amp;&amp; hsla[3] &lt; 1)) {\n      return hslaString(hsla, alpha);\n   }\n   return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n   if (alpha === undefined) {\n      alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n   }\n   return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n           + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) &amp; hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional &amp; 1 is default value)\nfunction hwbString(hwb, alpha) {\n   if (alpha === undefined) {\n      alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n   }\n   return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n           + (alpha !== undefined &amp;&amp; alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n  return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n   return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n  var str = num.toString(16).toUpperCase();\n  return (str.length &lt; 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorNames) {\n   reverseNames[colorNames[name]] = name;\n}\n\n},{\"5\":5}],2:[function(require,module,exports){\n/* MIT license */\nvar convert = require(4);\nvar string = require(1);\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = string.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = string.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = string.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val &lt; 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn string.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn string.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn string.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn string.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn string.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn string.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn string.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn string.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] &lt;&lt; 16) | (rgb[1] &lt;&lt; 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i &lt; rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan &lt;= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 &gt; lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio &gt;= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio &gt;= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq &lt; 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i &lt; 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue &lt; 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i &lt; space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i &lt; space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i &lt; space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i &lt; space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = convert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nmodule.exports = Color;\n\n},{\"1\":1,\"4\":4}],3:[function(require,module,exports){\n/* MIT license */\n\nmodule.exports = {\n  rgb2hsl: rgb2hsl,\n  rgb2hsv: rgb2hsv,\n  rgb2hwb: rgb2hwb,\n  rgb2cmyk: rgb2cmyk,\n  rgb2keyword: rgb2keyword,\n  rgb2xyz: rgb2xyz,\n  rgb2lab: rgb2lab,\n  rgb2lch: rgb2lch,\n\n  hsl2rgb: hsl2rgb,\n  hsl2hsv: hsl2hsv,\n  hsl2hwb: hsl2hwb,\n  hsl2cmyk: hsl2cmyk,\n  hsl2keyword: hsl2keyword,\n\n  hsv2rgb: hsv2rgb,\n  hsv2hsl: hsv2hsl,\n  hsv2hwb: hsv2hwb,\n  hsv2cmyk: hsv2cmyk,\n  hsv2keyword: hsv2keyword,\n\n  hwb2rgb: hwb2rgb,\n  hwb2hsl: hwb2hsl,\n  hwb2hsv: hwb2hsv,\n  hwb2cmyk: hwb2cmyk,\n  hwb2keyword: hwb2keyword,\n\n  cmyk2rgb: cmyk2rgb,\n  cmyk2hsl: cmyk2hsl,\n  cmyk2hsv: cmyk2hsv,\n  cmyk2hwb: cmyk2hwb,\n  cmyk2keyword: cmyk2keyword,\n\n  keyword2rgb: keyword2rgb,\n  keyword2hsl: keyword2hsl,\n  keyword2hsv: keyword2hsv,\n  keyword2hwb: keyword2hwb,\n  keyword2cmyk: keyword2cmyk,\n  keyword2lab: keyword2lab,\n  keyword2xyz: keyword2xyz,\n\n  xyz2rgb: xyz2rgb,\n  xyz2lab: xyz2lab,\n  xyz2lch: xyz2lch,\n\n  lab2xyz: lab2xyz,\n  lab2rgb: lab2rgb,\n  lab2lch: lab2lch,\n\n  lch2lab: lch2lab,\n  lch2xyz: lch2xyz,\n  lch2rgb: lch2rgb\n}\n\n\nfunction rgb2hsl(rgb) {\n  var r = rgb[0]/255,\n      g = rgb[1]/255,\n      b = rgb[2]/255,\n      min = Math.min(r, g, b),\n      max = Math.max(r, g, b),\n      delta = max - min,\n      h, s, l;\n\n  if (max == min)\n    h = 0;\n  else if (r == max)\n    h = (g - b) / delta;\n  else if (g == max)\n    h = 2 + (b - r) / delta;\n  else if (b == max)\n    h = 4 + (r - g)/ delta;\n\n  h = Math.min(h * 60, 360);\n\n  if (h &lt; 0)\n    h += 360;\n\n  l = (min + max) / 2;\n\n  if (max == min)\n    s = 0;\n  else if (l &lt;= 0.5)\n    s = delta / (max + min);\n  else\n    s = delta / (2 - max - min);\n\n  return [h, s * 100, l * 100];\n}\n\nfunction rgb2hsv(rgb) {\n  var r = rgb[0],\n      g = rgb[1],\n      b = rgb[2],\n      min = Math.min(r, g, b),\n      max = Math.max(r, g, b),\n      delta = max - min,\n      h, s, v;\n\n  if (max == 0)\n    s = 0;\n  else\n    s = (delta/max * 1000)/10;\n\n  if (max == min)\n    h = 0;\n  else if (r == max)\n    h = (g - b) / delta;\n  else if (g == max)\n    h = 2 + (b - r) / delta;\n  else if (b == max)\n    h = 4 + (r - g) / delta;\n\n  h = Math.min(h * 60, 360);\n\n  if (h &lt; 0)\n    h += 360;\n\n  v = ((max / 255) * 1000) / 10;\n\n  return [h, s, v];\n}\n\nfunction rgb2hwb(rgb) {\n  var r = rgb[0],\n      g = rgb[1],\n      b = rgb[2],\n      h = rgb2hsl(rgb)[0],\n      w = 1/255 * Math.min(r, Math.min(g, b)),\n      b = 1 - 1/255 * Math.max(r, Math.max(g, b));\n\n  return [h, w * 100, b * 100];\n}\n\nfunction rgb2cmyk(rgb) {\n  var r = rgb[0] / 255,\n      g = rgb[1] / 255,\n      b = rgb[2] / 255,\n      c, m, y, k;\n\n  k = Math.min(1 - r, 1 - g, 1 - b);\n  c = (1 - r - k) / (1 - k) || 0;\n  m = (1 - g - k) / (1 - k) || 0;\n  y = (1 - b - k) / (1 - k) || 0;\n  return [c * 100, m * 100, y * 100, k * 100];\n}\n\nfunction rgb2keyword(rgb) {\n  return reverseKeywords[JSON.stringify(rgb)];\n}\n\nfunction rgb2xyz(rgb) {\n  var r = rgb[0] / 255,\n      g = rgb[1] / 255,\n      b = rgb[2] / 255;\n\n  // assume sRGB\n  r = r &gt; 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n  g = g &gt; 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n  b = b &gt; 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n  var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n  var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n  var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n  return [x * 100, y *100, z * 100];\n}\n\nfunction rgb2lab(rgb) {\n  var xyz = rgb2xyz(rgb),\n        x = xyz[0],\n        y = xyz[1],\n        z = xyz[2],\n        l, a, b;\n\n  x /= 95.047;\n  y /= 100;\n  z /= 108.883;\n\n  x = x &gt; 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);\n  y = y &gt; 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);\n  z = z &gt; 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);\n\n  l = (116 * y) - 16;\n  a = 500 * (x - y);\n  b = 200 * (y - z);\n\n  return [l, a, b];\n}\n\nfunction rgb2lch(args) {\n  return lab2lch(rgb2lab(args));\n}\n\nfunction hsl2rgb(hsl) {\n  var h = hsl[0] / 360,\n      s = hsl[1] / 100,\n      l = hsl[2] / 100,\n      t1, t2, t3, rgb, val;\n\n  if (s == 0) {\n    val = l * 255;\n    return [val, val, val];\n  }\n\n  if (l &lt; 0.5)\n    t2 = l * (1 + s);\n  else\n    t2 = l + s - l * s;\n  t1 = 2 * l - t2;\n\n  rgb = [0, 0, 0];\n  for (var i = 0; i &lt; 3; i++) {\n    t3 = h + 1 / 3 * - (i - 1);\n    t3 &lt; 0 &amp;&amp; t3++;\n    t3 &gt; 1 &amp;&amp; t3--;\n\n    if (6 * t3 &lt; 1)\n      val = t1 + (t2 - t1) * 6 * t3;\n    else if (2 * t3 &lt; 1)\n      val = t2;\n    else if (3 * t3 &lt; 2)\n      val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n    else\n      val = t1;\n\n    rgb[i] = val * 255;\n  }\n\n  return rgb;\n}\n\nfunction hsl2hsv(hsl) {\n  var h = hsl[0],\n      s = hsl[1] / 100,\n      l = hsl[2] / 100,\n      sv, v;\n\n  if(l === 0) {\n      // no need to do calc on black\n      // also avoids divide by 0 error\n      return [0, 0, 0];\n  }\n\n  l *= 2;\n  s *= (l &lt;= 1) ? l : 2 - l;\n  v = (l + s) / 2;\n  sv = (2 * s) / (l + s);\n  return [h, sv * 100, v * 100];\n}\n\nfunction hsl2hwb(args) {\n  return rgb2hwb(hsl2rgb(args));\n}\n\nfunction hsl2cmyk(args) {\n  return rgb2cmyk(hsl2rgb(args));\n}\n\nfunction hsl2keyword(args) {\n  return rgb2keyword(hsl2rgb(args));\n}\n\n\nfunction hsv2rgb(hsv) {\n  var h = hsv[0] / 60,\n      s = hsv[1] / 100,\n      v = hsv[2] / 100,\n      hi = Math.floor(h) % 6;\n\n  var f = h - Math.floor(h),\n      p = 255 * v * (1 - s),\n      q = 255 * v * (1 - (s * f)),\n      t = 255 * v * (1 - (s * (1 - f))),\n      v = 255 * v;\n\n  switch(hi) {\n    case 0:\n      return [v, t, p];\n    case 1:\n      return [q, v, p];\n    case 2:\n      return [p, v, t];\n    case 3:\n      return [p, q, v];\n    case 4:\n      return [t, p, v];\n    case 5:\n      return [v, p, q];\n  }\n}\n\nfunction hsv2hsl(hsv) {\n  var h = hsv[0],\n      s = hsv[1] / 100,\n      v = hsv[2] / 100,\n      sl, l;\n\n  l = (2 - s) * v;\n  sl = s * v;\n  sl /= (l &lt;= 1) ? l : 2 - l;\n  sl = sl || 0;\n  l /= 2;\n  return [h, sl * 100, l * 100];\n}\n\nfunction hsv2hwb(args) {\n  return rgb2hwb(hsv2rgb(args))\n}\n\nfunction hsv2cmyk(args) {\n  return rgb2cmyk(hsv2rgb(args));\n}\n\nfunction hsv2keyword(args) {\n  return rgb2keyword(hsv2rgb(args));\n}\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nfunction hwb2rgb(hwb) {\n  var h = hwb[0] / 360,\n      wh = hwb[1] / 100,\n      bl = hwb[2] / 100,\n      ratio = wh + bl,\n      i, v, f, n;\n\n  // wh + bl cant be &gt; 1\n  if (ratio &gt; 1) {\n    wh /= ratio;\n    bl /= ratio;\n  }\n\n  i = Math.floor(6 * h);\n  v = 1 - bl;\n  f = 6 * h - i;\n  if ((i &amp; 0x01) != 0) {\n    f = 1 - f;\n  }\n  n = wh + f * (v - wh);  // linear interpolation\n\n  switch (i) {\n    default:\n    case 6:\n    case 0: r = v; g = n; b = wh; break;\n    case 1: r = n; g = v; b = wh; break;\n    case 2: r = wh; g = v; b = n; break;\n    case 3: r = wh; g = n; b = v; break;\n    case 4: r = n; g = wh; b = v; break;\n    case 5: r = v; g = wh; b = n; break;\n  }\n\n  return [r * 255, g * 255, b * 255];\n}\n\nfunction hwb2hsl(args) {\n  return rgb2hsl(hwb2rgb(args));\n}\n\nfunction hwb2hsv(args) {\n  return rgb2hsv(hwb2rgb(args));\n}\n\nfunction hwb2cmyk(args) {\n  return rgb2cmyk(hwb2rgb(args));\n}\n\nfunction hwb2keyword(args) {\n  return rgb2keyword(hwb2rgb(args));\n}\n\nfunction cmyk2rgb(cmyk) {\n  var c = cmyk[0] / 100,\n      m = cmyk[1] / 100,\n      y = cmyk[2] / 100,\n      k = cmyk[3] / 100,\n      r, g, b;\n\n  r = 1 - Math.min(1, c * (1 - k) + k);\n  g = 1 - Math.min(1, m * (1 - k) + k);\n  b = 1 - Math.min(1, y * (1 - k) + k);\n  return [r * 255, g * 255, b * 255];\n}\n\nfunction cmyk2hsl(args) {\n  return rgb2hsl(cmyk2rgb(args));\n}\n\nfunction cmyk2hsv(args) {\n  return rgb2hsv(cmyk2rgb(args));\n}\n\nfunction cmyk2hwb(args) {\n  return rgb2hwb(cmyk2rgb(args));\n}\n\nfunction cmyk2keyword(args) {\n  return rgb2keyword(cmyk2rgb(args));\n}\n\n\nfunction xyz2rgb(xyz) {\n  var x = xyz[0] / 100,\n      y = xyz[1] / 100,\n      z = xyz[2] / 100,\n      r, g, b;\n\n  r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n  g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n  b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n  // assume sRGB\n  r = r &gt; 0.0031308 ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n    : r = (r * 12.92);\n\n  g = g &gt; 0.0031308 ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n    : g = (g * 12.92);\n\n  b = b &gt; 0.0031308 ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n    : b = (b * 12.92);\n\n  r = Math.min(Math.max(0, r), 1);\n  g = Math.min(Math.max(0, g), 1);\n  b = Math.min(Math.max(0, b), 1);\n\n  return [r * 255, g * 255, b * 255];\n}\n\nfunction xyz2lab(xyz) {\n  var x = xyz[0],\n      y = xyz[1],\n      z = xyz[2],\n      l, a, b;\n\n  x /= 95.047;\n  y /= 100;\n  z /= 108.883;\n\n  x = x &gt; 0.008856 ? Math.pow(x, 1/3) : (7.787 * x) + (16 / 116);\n  y = y &gt; 0.008856 ? Math.pow(y, 1/3) : (7.787 * y) + (16 / 116);\n  z = z &gt; 0.008856 ? Math.pow(z, 1/3) : (7.787 * z) + (16 / 116);\n\n  l = (116 * y) - 16;\n  a = 500 * (x - y);\n  b = 200 * (y - z);\n\n  return [l, a, b];\n}\n\nfunction xyz2lch(args) {\n  return lab2lch(xyz2lab(args));\n}\n\nfunction lab2xyz(lab) {\n  var l = lab[0],\n      a = lab[1],\n      b = lab[2],\n      x, y, z, y2;\n\n  if (l &lt;= 8) {\n    y = (l * 100) / 903.3;\n    y2 = (7.787 * (y / 100)) + (16 / 116);\n  } else {\n    y = 100 * Math.pow((l + 16) / 116, 3);\n    y2 = Math.pow(y / 100, 1/3);\n  }\n\n  x = x / 95.047 &lt;= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);\n\n  z = z / 108.883 &lt;= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);\n\n  return [x, y, z];\n}\n\nfunction lab2lch(lab) {\n  var l = lab[0],\n      a = lab[1],\n      b = lab[2],\n      hr, h, c;\n\n  hr = Math.atan2(b, a);\n  h = hr * 360 / 2 / Math.PI;\n  if (h &lt; 0) {\n    h += 360;\n  }\n  c = Math.sqrt(a * a + b * b);\n  return [l, c, h];\n}\n\nfunction lab2rgb(args) {\n  return xyz2rgb(lab2xyz(args));\n}\n\nfunction lch2lab(lch) {\n  var l = lch[0],\n      c = lch[1],\n      h = lch[2],\n      a, b, hr;\n\n  hr = h / 360 * 2 * Math.PI;\n  a = c * Math.cos(hr);\n  b = c * Math.sin(hr);\n  return [l, a, b];\n}\n\nfunction lch2xyz(args) {\n  return lab2xyz(lch2lab(args));\n}\n\nfunction lch2rgb(args) {\n  return lab2rgb(lch2lab(args));\n}\n\nfunction keyword2rgb(keyword) {\n  return cssKeywords[keyword];\n}\n\nfunction keyword2hsl(args) {\n  return rgb2hsl(keyword2rgb(args));\n}\n\nfunction keyword2hsv(args) {\n  return rgb2hsv(keyword2rgb(args));\n}\n\nfunction keyword2hwb(args) {\n  return rgb2hwb(keyword2rgb(args));\n}\n\nfunction keyword2cmyk(args) {\n  return rgb2cmyk(keyword2rgb(args));\n}\n\nfunction keyword2lab(args) {\n  return rgb2lab(keyword2rgb(args));\n}\n\nfunction keyword2xyz(args) {\n  return rgb2xyz(keyword2rgb(args));\n}\n\nvar cssKeywords = {\n  aliceblue:  [240,248,255],\n  antiquewhite: [250,235,215],\n  aqua: [0,255,255],\n  aquamarine: [127,255,212],\n  azure:  [240,255,255],\n  beige:  [245,245,220],\n  bisque: [255,228,196],\n  black:  [0,0,0],\n  blanchedalmond: [255,235,205],\n  blue: [0,0,255],\n  blueviolet: [138,43,226],\n  brown:  [165,42,42],\n  burlywood:  [222,184,135],\n  cadetblue:  [95,158,160],\n  chartreuse: [127,255,0],\n  chocolate:  [210,105,30],\n  coral:  [255,127,80],\n  cornflowerblue: [100,149,237],\n  cornsilk: [255,248,220],\n  crimson:  [220,20,60],\n  cyan: [0,255,255],\n  darkblue: [0,0,139],\n  darkcyan: [0,139,139],\n  darkgoldenrod:  [184,134,11],\n  darkgray: [169,169,169],\n  darkgreen:  [0,100,0],\n  darkgrey: [169,169,169],\n  darkkhaki:  [189,183,107],\n  darkmagenta:  [139,0,139],\n  darkolivegreen: [85,107,47],\n  darkorange: [255,140,0],\n  darkorchid: [153,50,204],\n  darkred:  [139,0,0],\n  darksalmon: [233,150,122],\n  darkseagreen: [143,188,143],\n  darkslateblue:  [72,61,139],\n  darkslategray:  [47,79,79],\n  darkslategrey:  [47,79,79],\n  darkturquoise:  [0,206,209],\n  darkviolet: [148,0,211],\n  deeppink: [255,20,147],\n  deepskyblue:  [0,191,255],\n  dimgray:  [105,105,105],\n  dimgrey:  [105,105,105],\n  dodgerblue: [30,144,255],\n  firebrick:  [178,34,34],\n  floralwhite:  [255,250,240],\n  forestgreen:  [34,139,34],\n  fuchsia:  [255,0,255],\n  gainsboro:  [220,220,220],\n  ghostwhite: [248,248,255],\n  gold: [255,215,0],\n  goldenrod:  [218,165,32],\n  gray: [128,128,128],\n  green:  [0,128,0],\n  greenyellow:  [173,255,47],\n  grey: [128,128,128],\n  honeydew: [240,255,240],\n  hotpink:  [255,105,180],\n  indianred:  [205,92,92],\n  indigo: [75,0,130],\n  ivory:  [255,255,240],\n  khaki:  [240,230,140],\n  lavender: [230,230,250],\n  lavenderblush:  [255,240,245],\n  lawngreen:  [124,252,0],\n  lemonchiffon: [255,250,205],\n  lightblue:  [173,216,230],\n  lightcoral: [240,128,128],\n  lightcyan:  [224,255,255],\n  lightgoldenrodyellow: [250,250,210],\n  lightgray:  [211,211,211],\n  lightgreen: [144,238,144],\n  lightgrey:  [211,211,211],\n  lightpink:  [255,182,193],\n  lightsalmon:  [255,160,122],\n  lightseagreen:  [32,178,170],\n  lightskyblue: [135,206,250],\n  lightslategray: [119,136,153],\n  lightslategrey: [119,136,153],\n  lightsteelblue: [176,196,222],\n  lightyellow:  [255,255,224],\n  lime: [0,255,0],\n  limegreen:  [50,205,50],\n  linen:  [250,240,230],\n  magenta:  [255,0,255],\n  maroon: [128,0,0],\n  mediumaquamarine: [102,205,170],\n  mediumblue: [0,0,205],\n  mediumorchid: [186,85,211],\n  mediumpurple: [147,112,219],\n  mediumseagreen: [60,179,113],\n  mediumslateblue:  [123,104,238],\n  mediumspringgreen:  [0,250,154],\n  mediumturquoise:  [72,209,204],\n  mediumvioletred:  [199,21,133],\n  midnightblue: [25,25,112],\n  mintcream:  [245,255,250],\n  mistyrose:  [255,228,225],\n  moccasin: [255,228,181],\n  navajowhite:  [255,222,173],\n  navy: [0,0,128],\n  oldlace:  [253,245,230],\n  olive:  [128,128,0],\n  olivedrab:  [107,142,35],\n  orange: [255,165,0],\n  orangered:  [255,69,0],\n  orchid: [218,112,214],\n  palegoldenrod:  [238,232,170],\n  palegreen:  [152,251,152],\n  paleturquoise:  [175,238,238],\n  palevioletred:  [219,112,147],\n  papayawhip: [255,239,213],\n  peachpuff:  [255,218,185],\n  peru: [205,133,63],\n  pink: [255,192,203],\n  plum: [221,160,221],\n  powderblue: [176,224,230],\n  purple: [128,0,128],\n  rebeccapurple: [102, 51, 153],\n  red:  [255,0,0],\n  rosybrown:  [188,143,143],\n  royalblue:  [65,105,225],\n  saddlebrown:  [139,69,19],\n  salmon: [250,128,114],\n  sandybrown: [244,164,96],\n  seagreen: [46,139,87],\n  seashell: [255,245,238],\n  sienna: [160,82,45],\n  silver: [192,192,192],\n  skyblue:  [135,206,235],\n  slateblue:  [106,90,205],\n  slategray:  [112,128,144],\n  slategrey:  [112,128,144],\n  snow: [255,250,250],\n  springgreen:  [0,255,127],\n  steelblue:  [70,130,180],\n  tan:  [210,180,140],\n  teal: [0,128,128],\n  thistle:  [216,191,216],\n  tomato: [255,99,71],\n  turquoise:  [64,224,208],\n  violet: [238,130,238],\n  wheat:  [245,222,179],\n  white:  [255,255,255],\n  whitesmoke: [245,245,245],\n  yellow: [255,255,0],\n  yellowgreen:  [154,205,50]\n};\n\nvar reverseKeywords = {};\nfor (var key in cssKeywords) {\n  reverseKeywords[JSON.stringify(cssKeywords[key])] = key;\n}\n\n},{}],4:[function(require,module,exports){\nvar conversions = require(3);\n\nvar convert = function() {\n   return new Converter();\n}\n\nfor (var func in conversions) {\n  // export Raw versions\n  convert[func + \"Raw\"] =  (function(func) {\n    // accept array or plain args\n    return function(arg) {\n      if (typeof arg == \"number\")\n        arg = Array.prototype.slice.call(arguments);\n      return conversions[func](arg);\n    }\n  })(func);\n\n  var pair = /(\\w+)2(\\w+)/.exec(func),\n      from = pair[1],\n      to = pair[2];\n\n  // export rgb2hsl and [\"rgb\"][\"hsl\"]\n  convert[from] = convert[from] || {};\n\n  convert[from][to] = convert[func] = (function(func) { \n    return function(arg) {\n      if (typeof arg == \"number\")\n        arg = Array.prototype.slice.call(arguments);\n      \n      var val = conversions[func](arg);\n      if (typeof val == \"string\" || val === undefined)\n        return val; // keyword\n\n      for (var i = 0; i &lt; val.length; i++)\n        val[i] = Math.round(val[i]);\n      return val;\n    }\n  })(func);\n}\n\n\n/* Converter does lazy conversion and caching */\nvar Converter = function() {\n   this.convs = {};\n};\n\n/* Either get the values for a space or\n  set the values for a space, depending on args */\nConverter.prototype.routeSpace = function(space, args) {\n   var values = args[0];\n   if (values === undefined) {\n      // color.rgb()\n      return this.getValues(space);\n   }\n   // color.rgb(10, 10, 10)\n   if (typeof values == \"number\") {\n      values = Array.prototype.slice.call(args);        \n   }\n\n   return this.setValues(space, values);\n};\n  \n/* Set the values for a space, invalidating cache */\nConverter.prototype.setValues = function(space, values) {\n   this.space = space;\n   this.convs = {};\n   this.convs[space] = values;\n   return this;\n};\n\n/* Get the values for a space. If there's already\n  a conversion for the space, fetch it, otherwise\n  compute it */\nConverter.prototype.getValues = function(space) {\n   var vals = this.convs[space];\n   if (!vals) {\n      var fspace = this.space,\n          from = this.convs[fspace];\n      vals = convert[fspace][space](from);\n\n      this.convs[space] = vals;\n   }\n  return vals;\n};\n\n[\"rgb\", \"hsl\", \"hsv\", \"cmyk\", \"keyword\"].forEach(function(space) {\n   Converter.prototype[space] = function(vals) {\n      return this.routeSpace(space, arguments);\n   }\n});\n\nmodule.exports = convert;\n},{\"3\":3}],5:[function(require,module,exports){\n'use strict'\n\nmodule.exports = {\n\t\"aliceblue\": [240, 248, 255],\n\t\"antiquewhite\": [250, 235, 215],\n\t\"aqua\": [0, 255, 255],\n\t\"aquamarine\": [127, 255, 212],\n\t\"azure\": [240, 255, 255],\n\t\"beige\": [245, 245, 220],\n\t\"bisque\": [255, 228, 196],\n\t\"black\": [0, 0, 0],\n\t\"blanchedalmond\": [255, 235, 205],\n\t\"blue\": [0, 0, 255],\n\t\"blueviolet\": [138, 43, 226],\n\t\"brown\": [165, 42, 42],\n\t\"burlywood\": [222, 184, 135],\n\t\"cadetblue\": [95, 158, 160],\n\t\"chartreuse\": [127, 255, 0],\n\t\"chocolate\": [210, 105, 30],\n\t\"coral\": [255, 127, 80],\n\t\"cornflowerblue\": [100, 149, 237],\n\t\"cornsilk\": [255, 248, 220],\n\t\"crimson\": [220, 20, 60],\n\t\"cyan\": [0, 255, 255],\n\t\"darkblue\": [0, 0, 139],\n\t\"darkcyan\": [0, 139, 139],\n\t\"darkgoldenrod\": [184, 134, 11],\n\t\"darkgray\": [169, 169, 169],\n\t\"darkgreen\": [0, 100, 0],\n\t\"darkgrey\": [169, 169, 169],\n\t\"darkkhaki\": [189, 183, 107],\n\t\"darkmagenta\": [139, 0, 139],\n\t\"darkolivegreen\": [85, 107, 47],\n\t\"darkorange\": [255, 140, 0],\n\t\"darkorchid\": [153, 50, 204],\n\t\"darkred\": [139, 0, 0],\n\t\"darksalmon\": [233, 150, 122],\n\t\"darkseagreen\": [143, 188, 143],\n\t\"darkslateblue\": [72, 61, 139],\n\t\"darkslategray\": [47, 79, 79],\n\t\"darkslategrey\": [47, 79, 79],\n\t\"darkturquoise\": [0, 206, 209],\n\t\"darkviolet\": [148, 0, 211],\n\t\"deeppink\": [255, 20, 147],\n\t\"deepskyblue\": [0, 191, 255],\n\t\"dimgray\": [105, 105, 105],\n\t\"dimgrey\": [105, 105, 105],\n\t\"dodgerblue\": [30, 144, 255],\n\t\"firebrick\": [178, 34, 34],\n\t\"floralwhite\": [255, 250, 240],\n\t\"forestgreen\": [34, 139, 34],\n\t\"fuchsia\": [255, 0, 255],\n\t\"gainsboro\": [220, 220, 220],\n\t\"ghostwhite\": [248, 248, 255],\n\t\"gold\": [255, 215, 0],\n\t\"goldenrod\": [218, 165, 32],\n\t\"gray\": [128, 128, 128],\n\t\"green\": [0, 128, 0],\n\t\"greenyellow\": [173, 255, 47],\n\t\"grey\": [128, 128, 128],\n\t\"honeydew\": [240, 255, 240],\n\t\"hotpink\": [255, 105, 180],\n\t\"indianred\": [205, 92, 92],\n\t\"indigo\": [75, 0, 130],\n\t\"ivory\": [255, 255, 240],\n\t\"khaki\": [240, 230, 140],\n\t\"lavender\": [230, 230, 250],\n\t\"lavenderblush\": [255, 240, 245],\n\t\"lawngreen\": [124, 252, 0],\n\t\"lemonchiffon\": [255, 250, 205],\n\t\"lightblue\": [173, 216, 230],\n\t\"lightcoral\": [240, 128, 128],\n\t\"lightcyan\": [224, 255, 255],\n\t\"lightgoldenrodyellow\": [250, 250, 210],\n\t\"lightgray\": [211, 211, 211],\n\t\"lightgreen\": [144, 238, 144],\n\t\"lightgrey\": [211, 211, 211],\n\t\"lightpink\": [255, 182, 193],\n\t\"lightsalmon\": [255, 160, 122],\n\t\"lightseagreen\": [32, 178, 170],\n\t\"lightskyblue\": [135, 206, 250],\n\t\"lightslategray\": [119, 136, 153],\n\t\"lightslategrey\": [119, 136, 153],\n\t\"lightsteelblue\": [176, 196, 222],\n\t\"lightyellow\": [255, 255, 224],\n\t\"lime\": [0, 255, 0],\n\t\"limegreen\": [50, 205, 50],\n\t\"linen\": [250, 240, 230],\n\t\"magenta\": [255, 0, 255],\n\t\"maroon\": [128, 0, 0],\n\t\"mediumaquamarine\": [102, 205, 170],\n\t\"mediumblue\": [0, 0, 205],\n\t\"mediumorchid\": [186, 85, 211],\n\t\"mediumpurple\": [147, 112, 219],\n\t\"mediumseagreen\": [60, 179, 113],\n\t\"mediumslateblue\": [123, 104, 238],\n\t\"mediumspringgreen\": [0, 250, 154],\n\t\"mediumturquoise\": [72, 209, 204],\n\t\"mediumvioletred\": [199, 21, 133],\n\t\"midnightblue\": [25, 25, 112],\n\t\"mintcream\": [245, 255, 250],\n\t\"mistyrose\": [255, 228, 225],\n\t\"moccasin\": [255, 228, 181],\n\t\"navajowhite\": [255, 222, 173],\n\t\"navy\": [0, 0, 128],\n\t\"oldlace\": [253, 245, 230],\n\t\"olive\": [128, 128, 0],\n\t\"olivedrab\": [107, 142, 35],\n\t\"orange\": [255, 165, 0],\n\t\"orangered\": [255, 69, 0],\n\t\"orchid\": [218, 112, 214],\n\t\"palegoldenrod\": [238, 232, 170],\n\t\"palegreen\": [152, 251, 152],\n\t\"paleturquoise\": [175, 238, 238],\n\t\"palevioletred\": [219, 112, 147],\n\t\"papayawhip\": [255, 239, 213],\n\t\"peachpuff\": [255, 218, 185],\n\t\"peru\": [205, 133, 63],\n\t\"pink\": [255, 192, 203],\n\t\"plum\": [221, 160, 221],\n\t\"powderblue\": [176, 224, 230],\n\t\"purple\": [128, 0, 128],\n\t\"rebeccapurple\": [102, 51, 153],\n\t\"red\": [255, 0, 0],\n\t\"rosybrown\": [188, 143, 143],\n\t\"royalblue\": [65, 105, 225],\n\t\"saddlebrown\": [139, 69, 19],\n\t\"salmon\": [250, 128, 114],\n\t\"sandybrown\": [244, 164, 96],\n\t\"seagreen\": [46, 139, 87],\n\t\"seashell\": [255, 245, 238],\n\t\"sienna\": [160, 82, 45],\n\t\"silver\": [192, 192, 192],\n\t\"skyblue\": [135, 206, 235],\n\t\"slateblue\": [106, 90, 205],\n\t\"slategray\": [112, 128, 144],\n\t\"slategrey\": [112, 128, 144],\n\t\"snow\": [255, 250, 250],\n\t\"springgreen\": [0, 255, 127],\n\t\"steelblue\": [70, 130, 180],\n\t\"tan\": [210, 180, 140],\n\t\"teal\": [0, 128, 128],\n\t\"thistle\": [216, 191, 216],\n\t\"tomato\": [255, 99, 71],\n\t\"turquoise\": [64, 224, 208],\n\t\"violet\": [238, 130, 238],\n\t\"wheat\": [245, 222, 179],\n\t\"white\": [255, 255, 255],\n\t\"whitesmoke\": [245, 245, 245],\n\t\"yellow\": [255, 255, 0],\n\t\"yellowgreen\": [154, 205, 50]\n};\n\n},{}],6:[function(require,module,exports){\n//! moment.js\n//! version : 2.20.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n    typeof exports === 'object' &amp;&amp; typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' &amp;&amp; define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\nvar hookCallback;\n\nfunction hooks () {\n    return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback (callback) {\n    hookCallback = callback;\n}\n\nfunction isArray(input) {\n    return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction isObject(input) {\n    // IE8 will treat undefined and null as object if it wasn't for\n    // input != null\n    return input != null &amp;&amp; Object.prototype.toString.call(input) === '[object Object]';\n}\n\nfunction isObjectEmpty(obj) {\n    if (Object.getOwnPropertyNames) {\n        return (Object.getOwnPropertyNames(obj).length === 0);\n    } else {\n        var k;\n        for (k in obj) {\n            if (obj.hasOwnProperty(k)) {\n                return false;\n            }\n        }\n        return true;\n    }\n}\n\nfunction isUndefined(input) {\n    return input === void 0;\n}\n\nfunction isNumber(input) {\n    return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n    return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction map(arr, fn) {\n    var res = [], i;\n    for (i = 0; i &lt; arr.length; ++i) {\n        res.push(fn(arr[i], i));\n    }\n    return res;\n}\n\nfunction hasOwnProp(a, b) {\n    return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction extend(a, b) {\n    for (var i in b) {\n        if (hasOwnProp(b, i)) {\n            a[i] = b[i];\n        }\n    }\n\n    if (hasOwnProp(b, 'toString')) {\n        a.toString = b.toString;\n    }\n\n    if (hasOwnProp(b, 'valueOf')) {\n        a.valueOf = b.valueOf;\n    }\n\n    return a;\n}\n\nfunction createUTC (input, format, locale, strict) {\n    return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n    // We need to deep clone this object.\n    return {\n        empty           : false,\n        unusedTokens    : [],\n        unusedInput     : [],\n        overflow        : -2,\n        charsLeftOver   : 0,\n        nullInput       : false,\n        invalidMonth    : null,\n        invalidFormat   : false,\n        userInvalidated : false,\n        iso             : false,\n        parsedDateParts : [],\n        meridiem        : null,\n        rfc2822         : false,\n        weekdayMismatch : false\n    };\n}\n\nfunction getParsingFlags(m) {\n    if (m._pf == null) {\n        m._pf = defaultParsingFlags();\n    }\n    return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n    some = Array.prototype.some;\n} else {\n    some = function (fun) {\n        var t = Object(this);\n        var len = t.length &gt;&gt;&gt; 0;\n\n        for (var i = 0; i &lt; len; i++) {\n            if (i in t &amp;&amp; fun.call(this, t[i], i, t)) {\n                return true;\n            }\n        }\n\n        return false;\n    };\n}\n\nfunction isValid(m) {\n    if (m._isValid == null) {\n        var flags = getParsingFlags(m);\n        var parsedParts = some.call(flags.parsedDateParts, function (i) {\n            return i != null;\n        });\n        var isNowValid = !isNaN(m._d.getTime()) &amp;&amp;\n            flags.overflow &lt; 0 &amp;&amp;\n            !flags.empty &amp;&amp;\n            !flags.invalidMonth &amp;&amp;\n            !flags.invalidWeekday &amp;&amp;\n            !flags.weekdayMismatch &amp;&amp;\n            !flags.nullInput &amp;&amp;\n            !flags.invalidFormat &amp;&amp;\n            !flags.userInvalidated &amp;&amp;\n            (!flags.meridiem || (flags.meridiem &amp;&amp; parsedParts));\n\n        if (m._strict) {\n            isNowValid = isNowValid &amp;&amp;\n                flags.charsLeftOver === 0 &amp;&amp;\n                flags.unusedTokens.length === 0 &amp;&amp;\n                flags.bigHour === undefined;\n        }\n\n        if (Object.isFrozen == null || !Object.isFrozen(m)) {\n            m._isValid = isNowValid;\n        }\n        else {\n            return isNowValid;\n        }\n    }\n    return m._isValid;\n}\n\nfunction createInvalid (flags) {\n    var m = createUTC(NaN);\n    if (flags != null) {\n        extend(getParsingFlags(m), flags);\n    }\n    else {\n        getParsingFlags(m).userInvalidated = true;\n    }\n\n    return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction copyConfig(to, from) {\n    var i, prop, val;\n\n    if (!isUndefined(from._isAMomentObject)) {\n        to._isAMomentObject = from._isAMomentObject;\n    }\n    if (!isUndefined(from._i)) {\n        to._i = from._i;\n    }\n    if (!isUndefined(from._f)) {\n        to._f = from._f;\n    }\n    if (!isUndefined(from._l)) {\n        to._l = from._l;\n    }\n    if (!isUndefined(from._strict)) {\n        to._strict = from._strict;\n    }\n    if (!isUndefined(from._tzm)) {\n        to._tzm = from._tzm;\n    }\n    if (!isUndefined(from._isUTC)) {\n        to._isUTC = from._isUTC;\n    }\n    if (!isUndefined(from._offset)) {\n        to._offset = from._offset;\n    }\n    if (!isUndefined(from._pf)) {\n        to._pf = getParsingFlags(from);\n    }\n    if (!isUndefined(from._locale)) {\n        to._locale = from._locale;\n    }\n\n    if (momentProperties.length &gt; 0) {\n        for (i = 0; i &lt; momentProperties.length; i++) {\n            prop = momentProperties[i];\n            val = from[prop];\n            if (!isUndefined(val)) {\n                to[prop] = val;\n            }\n        }\n    }\n\n    return to;\n}\n\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction Moment(config) {\n    copyConfig(this, config);\n    this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n    if (!this.isValid()) {\n        this._d = new Date(NaN);\n    }\n    // Prevent infinite loop in case updateOffset creates new moment\n    // objects.\n    if (updateInProgress === false) {\n        updateInProgress = true;\n        hooks.updateOffset(this);\n        updateInProgress = false;\n    }\n}\n\nfunction isMoment (obj) {\n    return obj instanceof Moment || (obj != null &amp;&amp; obj._isAMomentObject != null);\n}\n\nfunction absFloor (number) {\n    if (number &lt; 0) {\n        // -0 -&gt; 0\n        return Math.ceil(number) || 0;\n    } else {\n        return Math.floor(number);\n    }\n}\n\nfunction toInt(argumentForCoercion) {\n    var coercedNumber = +argumentForCoercion,\n        value = 0;\n\n    if (coercedNumber !== 0 &amp;&amp; isFinite(coercedNumber)) {\n        value = absFloor(coercedNumber);\n    }\n\n    return value;\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n    var len = Math.min(array1.length, array2.length),\n        lengthDiff = Math.abs(array1.length - array2.length),\n        diffs = 0,\n        i;\n    for (i = 0; i &lt; len; i++) {\n        if ((dontConvert &amp;&amp; array1[i] !== array2[i]) ||\n            (!dontConvert &amp;&amp; toInt(array1[i]) !== toInt(array2[i]))) {\n            diffs++;\n        }\n    }\n    return diffs + lengthDiff;\n}\n\nfunction warn(msg) {\n    if (hooks.suppressDeprecationWarnings === false &amp;&amp;\n            (typeof console !==  'undefined') &amp;&amp; console.warn) {\n        console.warn('Deprecation warning: ' + msg);\n    }\n}\n\nfunction deprecate(msg, fn) {\n    var firstTime = true;\n\n    return extend(function () {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(null, msg);\n        }\n        if (firstTime) {\n            var args = [];\n            var arg;\n            for (var i = 0; i &lt; arguments.length; i++) {\n                arg = '';\n                if (typeof arguments[i] === 'object') {\n                    arg += '\\n[' + i + '] ';\n                    for (var key in arguments[0]) {\n                        arg += key + ': ' + arguments[0][key] + ', ';\n                    }\n                    arg = arg.slice(0, -2); // Remove trailing comma and space\n                } else {\n                    arg = arguments[i];\n                }\n                args.push(arg);\n            }\n            warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n            firstTime = false;\n        }\n        return fn.apply(this, arguments);\n    }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n    if (hooks.deprecationHandler != null) {\n        hooks.deprecationHandler(name, msg);\n    }\n    if (!deprecations[name]) {\n        warn(msg);\n        deprecations[name] = true;\n    }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n    return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction set (config) {\n    var prop, i;\n    for (i in config) {\n        prop = config[i];\n        if (isFunction(prop)) {\n            this[i] = prop;\n        } else {\n            this['_' + i] = prop;\n        }\n    }\n    this._config = config;\n    // Lenient ordinal parsing accepts just a number in addition to\n    // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n    // TODO: Remove \"ordinalParse\" fallback in next major release.\n    this._dayOfMonthOrdinalParseLenient = new RegExp(\n        (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n            '|' + (/\\d{1,2}/).source);\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n    var res = extend({}, parentConfig), prop;\n    for (prop in childConfig) {\n        if (hasOwnProp(childConfig, prop)) {\n            if (isObject(parentConfig[prop]) &amp;&amp; isObject(childConfig[prop])) {\n                res[prop] = {};\n                extend(res[prop], parentConfig[prop]);\n                extend(res[prop], childConfig[prop]);\n            } else if (childConfig[prop] != null) {\n                res[prop] = childConfig[prop];\n            } else {\n                delete res[prop];\n            }\n        }\n    }\n    for (prop in parentConfig) {\n        if (hasOwnProp(parentConfig, prop) &amp;&amp;\n                !hasOwnProp(childConfig, prop) &amp;&amp;\n                isObject(parentConfig[prop])) {\n            // make sure changes to properties don't modify parent config\n            res[prop] = extend({}, res[prop]);\n        }\n    }\n    return res;\n}\n\nfunction Locale(config) {\n    if (config != null) {\n        this.set(config);\n    }\n}\n\nvar keys;\n\nif (Object.keys) {\n    keys = Object.keys;\n} else {\n    keys = function (obj) {\n        var i, res = [];\n        for (i in obj) {\n            if (hasOwnProp(obj, i)) {\n                res.push(i);\n            }\n        }\n        return res;\n    };\n}\n\nvar defaultCalendar = {\n    sameDay : '[Today at] LT',\n    nextDay : '[Tomorrow at] LT',\n    nextWeek : 'dddd [at] LT',\n    lastDay : '[Yesterday at] LT',\n    lastWeek : '[Last] dddd [at] LT',\n    sameElse : 'L'\n};\n\nfunction calendar (key, mom, now) {\n    var output = this._calendar[key] || this._calendar['sameElse'];\n    return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar defaultLongDateFormat = {\n    LTS  : 'h:mm:ss A',\n    LT   : 'h:mm A',\n    L    : 'MM/DD/YYYY',\n    LL   : 'MMMM D, YYYY',\n    LLL  : 'MMMM D, YYYY h:mm A',\n    LLLL : 'dddd, MMMM D, YYYY h:mm A'\n};\n\nfunction longDateFormat (key) {\n    var format = this._longDateFormat[key],\n        formatUpper = this._longDateFormat[key.toUpperCase()];\n\n    if (format || !formatUpper) {\n        return format;\n    }\n\n    this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n        return val.slice(1);\n    });\n\n    return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n    return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n    return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n    future : 'in %s',\n    past   : '%s ago',\n    s  : 'a few seconds',\n    ss : '%d seconds',\n    m  : 'a minute',\n    mm : '%d minutes',\n    h  : 'an hour',\n    hh : '%d hours',\n    d  : 'a day',\n    dd : '%d days',\n    M  : 'a month',\n    MM : '%d months',\n    y  : 'a year',\n    yy : '%d years'\n};\n\nfunction relativeTime (number, withoutSuffix, string, isFuture) {\n    var output = this._relativeTime[string];\n    return (isFunction(output)) ?\n        output(number, withoutSuffix, string, isFuture) :\n        output.replace(/%d/i, number);\n}\n\nfunction pastFuture (diff, output) {\n    var format = this._relativeTime[diff &gt; 0 ? 'future' : 'past'];\n    return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n    var lowerCase = unit.toLowerCase();\n    aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n    return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n    var normalizedInput = {},\n        normalizedProp,\n        prop;\n\n    for (prop in inputObject) {\n        if (hasOwnProp(inputObject, prop)) {\n            normalizedProp = normalizeUnits(prop);\n            if (normalizedProp) {\n                normalizedInput[normalizedProp] = inputObject[prop];\n            }\n        }\n    }\n\n    return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n    priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n    var units = [];\n    for (var u in unitsObj) {\n        units.push({unit: u, priority: priorities[u]});\n    }\n    units.sort(function (a, b) {\n        return a.priority - b.priority;\n    });\n    return units;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n    var absNumber = '' + Math.abs(number),\n        zerosToFill = targetLength - absNumber.length,\n        sign = number &gt;= 0;\n    return (sign ? (forceSign ? '+' : '') : '-') +\n        Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n}\n\nvar formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token:    'M'\n// padded:   ['MM', 2]\n// ordinal:  'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken (token, padded, ordinal, callback) {\n    var func = callback;\n    if (typeof callback === 'string') {\n        func = function () {\n            return this[callback]();\n        };\n    }\n    if (token) {\n        formatTokenFunctions[token] = func;\n    }\n    if (padded) {\n        formatTokenFunctions[padded[0]] = function () {\n            return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n        };\n    }\n    if (ordinal) {\n        formatTokenFunctions[ordinal] = function () {\n            return this.localeData().ordinal(func.apply(this, arguments), token);\n        };\n    }\n}\n\nfunction removeFormattingTokens(input) {\n    if (input.match(/\\[[\\s\\S]/)) {\n        return input.replace(/^\\[|\\]$/g, '');\n    }\n    return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n    var array = format.match(formattingTokens), i, length;\n\n    for (i = 0, length = array.length; i &lt; length; i++) {\n        if (formatTokenFunctions[array[i]]) {\n            array[i] = formatTokenFunctions[array[i]];\n        } else {\n            array[i] = removeFormattingTokens(array[i]);\n        }\n    }\n\n    return function (mom) {\n        var output = '', i;\n        for (i = 0; i &lt; length; i++) {\n            output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n        }\n        return output;\n    };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n    if (!m.isValid()) {\n        return m.localeData().invalidDate();\n    }\n\n    format = expandFormat(format, m.localeData());\n    formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n    return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n    var i = 5;\n\n    function replaceLongDateFormatTokens(input) {\n        return locale.longDateFormat(input) || input;\n    }\n\n    localFormattingTokens.lastIndex = 0;\n    while (i &gt;= 0 &amp;&amp; localFormattingTokens.test(format)) {\n        format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n        localFormattingTokens.lastIndex = 0;\n        i -= 1;\n    }\n\n    return format;\n}\n\nvar match1         = /\\d/;            //       0 - 9\nvar match2         = /\\d\\d/;          //      00 - 99\nvar match3         = /\\d{3}/;         //     000 - 999\nvar match4         = /\\d{4}/;         //    0000 - 9999\nvar match6         = /[+-]?\\d{6}/;    // -999999 - 999999\nvar match1to2      = /\\d\\d?/;         //       0 - 99\nvar match3to4      = /\\d\\d\\d\\d?/;     //     999 - 9999\nvar match5to6      = /\\d\\d\\d\\d\\d\\d?/; //   99999 - 999999\nvar match1to3      = /\\d{1,3}/;       //       0 - 999\nvar match1to4      = /\\d{1,4}/;       //       0 - 9999\nvar match1to6      = /[+-]?\\d{1,6}/;  // -999999 - 999999\n\nvar matchUnsigned  = /\\d+/;           //       0 - inf\nvar matchSigned    = /[+-]?\\d+/;      //    -inf - inf\n\nvar matchOffset    = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n// any word (or two) characters or numbers including two/three word month in arabic.\n// includes scottish gaelic two word and hyphenated months\nvar matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n    regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n        return (isStrict &amp;&amp; strictRegex) ? strictRegex : regex;\n    };\n}\n\nfunction getParseRegexForToken (token, config) {\n    if (!hasOwnProp(regexes, token)) {\n        return new RegExp(unescapeFormat(token));\n    }\n\n    return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n    return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n        return p1 || p2 || p3 || p4;\n    }));\n}\n\nfunction regexEscape(s) {\n    return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&amp;');\n}\n\nvar tokens = {};\n\nfunction addParseToken (token, callback) {\n    var i, func = callback;\n    if (typeof token === 'string') {\n        token = [token];\n    }\n    if (isNumber(callback)) {\n        func = function (input, array) {\n            array[callback] = toInt(input);\n        };\n    }\n    for (i = 0; i &lt; token.length; i++) {\n        tokens[token[i]] = func;\n    }\n}\n\nfunction addWeekParseToken (token, callback) {\n    addParseToken(token, function (input, array, config, token) {\n        config._w = config._w || {};\n        callback(input, config._w, config, token);\n    });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n    if (input != null &amp;&amp; hasOwnProp(tokens, token)) {\n        tokens[token](input, config._a, config, token);\n    }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n    var y = this.year();\n    return y &lt;= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n    return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY',   4],       0, 'year');\naddFormatToken(0, ['YYYYY',  5],       0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y',      matchSigned);\naddRegexToken('YY',     match1to2, match2);\naddRegexToken('YYYY',   match1to4, match4);\naddRegexToken('YYYYY',  match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n    array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n    array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n    array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n    return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n    return (year % 4 === 0 &amp;&amp; year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n    return toInt(input) + (toInt(input) &gt; 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n    return isLeapYear(this.year());\n}\n\nfunction makeGetSet (unit, keepTime) {\n    return function (value) {\n        if (value != null) {\n            set$1(this, unit, value);\n            hooks.updateOffset(this, keepTime);\n            return this;\n        } else {\n            return get(this, unit);\n        }\n    };\n}\n\nfunction get (mom, unit) {\n    return mom.isValid() ?\n        mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction set$1 (mom, unit, value) {\n    if (mom.isValid() &amp;&amp; !isNaN(value)) {\n        if (unit === 'FullYear' &amp;&amp; isLeapYear(mom.year()) &amp;&amp; mom.month() === 1 &amp;&amp; mom.date() === 29) {\n            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n        }\n        else {\n            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n        }\n    }\n}\n\n// MOMENTS\n\nfunction stringGet (units) {\n    units = normalizeUnits(units);\n    if (isFunction(this[units])) {\n        return this[units]();\n    }\n    return this;\n}\n\n\nfunction stringSet (units, value) {\n    if (typeof units === 'object') {\n        units = normalizeObjectUnits(units);\n        var prioritized = getPrioritizedUnits(units);\n        for (var i = 0; i &lt; prioritized.length; i++) {\n            this[prioritized[i].unit](units[prioritized[i].unit]);\n        }\n    } else {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units](value);\n        }\n    }\n    return this;\n}\n\nfunction mod(n, x) {\n    return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n    indexOf = Array.prototype.indexOf;\n} else {\n    indexOf = function (o) {\n        // I know\n        var i;\n        for (i = 0; i &lt; this.length; ++i) {\n            if (this[i] === o) {\n                return i;\n            }\n        }\n        return -1;\n    };\n}\n\nfunction daysInMonth(year, month) {\n    if (isNaN(year) || isNaN(month)) {\n        return NaN;\n    }\n    var modMonth = mod(month, 12);\n    year += (month - modMonth) / 12;\n    return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n    return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n    return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n    return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M',    match1to2);\naddRegexToken('MM',   match1to2, match2);\naddRegexToken('MMM',  function (isStrict, locale) {\n    return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n    return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n    array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n    var month = config._locale.monthsParse(input, token, config._strict);\n    // if we didn't find a month name, mark the date as invalid.\n    if (month != null) {\n        array[MONTH] = month;\n    } else {\n        getParsingFlags(config).invalidMonth = input;\n    }\n});\n\n// LOCALES\n\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction localeMonths (m, format) {\n    if (!m) {\n        return isArray(this._months) ? this._months :\n            this._months['standalone'];\n    }\n    return isArray(this._months) ? this._months[m.month()] :\n        this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction localeMonthsShort (m, format) {\n    if (!m) {\n        return isArray(this._monthsShort) ? this._monthsShort :\n            this._monthsShort['standalone'];\n    }\n    return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n        this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n    var i, ii, mom, llc = monthName.toLocaleLowerCase();\n    if (!this._monthsParse) {\n        // this is not used\n        this._monthsParse = [];\n        this._longMonthsParse = [];\n        this._shortMonthsParse = [];\n        for (i = 0; i &lt; 12; ++i) {\n            mom = createUTC([2000, i]);\n            this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n            this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n        }\n    }\n\n    if (strict) {\n        if (format === 'MMM') {\n            ii = indexOf.call(this._shortMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._longMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    } else {\n        if (format === 'MMM') {\n            ii = indexOf.call(this._shortMonthsParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._longMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._longMonthsParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._shortMonthsParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    }\n}\n\nfunction localeMonthsParse (monthName, format, strict) {\n    var i, mom, regex;\n\n    if (this._monthsParseExact) {\n        return handleStrictParse.call(this, monthName, format, strict);\n    }\n\n    if (!this._monthsParse) {\n        this._monthsParse = [];\n        this._longMonthsParse = [];\n        this._shortMonthsParse = [];\n    }\n\n    // TODO: add sorting\n    // Sorting makes sure if one month (or abbr) is a prefix of another\n    // see sorting in computeMonthsParse\n    for (i = 0; i &lt; 12; i++) {\n        // make the regex if we don't have it already\n        mom = createUTC([2000, i]);\n        if (strict &amp;&amp; !this._longMonthsParse[i]) {\n            this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n            this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n        }\n        if (!strict &amp;&amp; !this._monthsParse[i]) {\n            regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n            this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n        }\n        // test the regex\n        if (strict &amp;&amp; format === 'MMMM' &amp;&amp; this._longMonthsParse[i].test(monthName)) {\n            return i;\n        } else if (strict &amp;&amp; format === 'MMM' &amp;&amp; this._shortMonthsParse[i].test(monthName)) {\n            return i;\n        } else if (!strict &amp;&amp; this._monthsParse[i].test(monthName)) {\n            return i;\n        }\n    }\n}\n\n// MOMENTS\n\nfunction setMonth (mom, value) {\n    var dayOfMonth;\n\n    if (!mom.isValid()) {\n        // No op\n        return mom;\n    }\n\n    if (typeof value === 'string') {\n        if (/^\\d+$/.test(value)) {\n            value = toInt(value);\n        } else {\n            value = mom.localeData().monthsParse(value);\n            // TODO: Another silent failure?\n            if (!isNumber(value)) {\n                return mom;\n            }\n        }\n    }\n\n    dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n    mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n    return mom;\n}\n\nfunction getSetMonth (value) {\n    if (value != null) {\n        setMonth(this, value);\n        hooks.updateOffset(this, true);\n        return this;\n    } else {\n        return get(this, 'Month');\n    }\n}\n\nfunction getDaysInMonth () {\n    return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction monthsShortRegex (isStrict) {\n    if (this._monthsParseExact) {\n        if (!hasOwnProp(this, '_monthsRegex')) {\n            computeMonthsParse.call(this);\n        }\n        if (isStrict) {\n            return this._monthsShortStrictRegex;\n        } else {\n            return this._monthsShortRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_monthsShortRegex')) {\n            this._monthsShortRegex = defaultMonthsShortRegex;\n        }\n        return this._monthsShortStrictRegex &amp;&amp; isStrict ?\n            this._monthsShortStrictRegex : this._monthsShortRegex;\n    }\n}\n\nvar defaultMonthsRegex = matchWord;\nfunction monthsRegex (isStrict) {\n    if (this._monthsParseExact) {\n        if (!hasOwnProp(this, '_monthsRegex')) {\n            computeMonthsParse.call(this);\n        }\n        if (isStrict) {\n            return this._monthsStrictRegex;\n        } else {\n            return this._monthsRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_monthsRegex')) {\n            this._monthsRegex = defaultMonthsRegex;\n        }\n        return this._monthsStrictRegex &amp;&amp; isStrict ?\n            this._monthsStrictRegex : this._monthsRegex;\n    }\n}\n\nfunction computeMonthsParse () {\n    function cmpLenRev(a, b) {\n        return b.length - a.length;\n    }\n\n    var shortPieces = [], longPieces = [], mixedPieces = [],\n        i, mom;\n    for (i = 0; i &lt; 12; i++) {\n        // make the regex if we don't have it already\n        mom = createUTC([2000, i]);\n        shortPieces.push(this.monthsShort(mom, ''));\n        longPieces.push(this.months(mom, ''));\n        mixedPieces.push(this.months(mom, ''));\n        mixedPieces.push(this.monthsShort(mom, ''));\n    }\n    // Sorting makes sure if one month (or abbr) is a prefix of another it\n    // will match the longer piece.\n    shortPieces.sort(cmpLenRev);\n    longPieces.sort(cmpLenRev);\n    mixedPieces.sort(cmpLenRev);\n    for (i = 0; i &lt; 12; i++) {\n        shortPieces[i] = regexEscape(shortPieces[i]);\n        longPieces[i] = regexEscape(longPieces[i]);\n    }\n    for (i = 0; i &lt; 24; i++) {\n        mixedPieces[i] = regexEscape(mixedPieces[i]);\n    }\n\n    this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n    this._monthsShortRegex = this._monthsRegex;\n    this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n    this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n}\n\nfunction createDate (y, m, d, h, M, s, ms) {\n    // can't just apply() to create a date:\n    // https://stackoverflow.com/q/181348\n    var date = new Date(y, m, d, h, M, s, ms);\n\n    // the date constructor remaps years 0-99 to 1900-1999\n    if (y &lt; 100 &amp;&amp; y &gt;= 0 &amp;&amp; isFinite(date.getFullYear())) {\n        date.setFullYear(y);\n    }\n    return date;\n}\n\nfunction createUTCDate (y) {\n    var date = new Date(Date.UTC.apply(null, arguments));\n\n    // the Date.UTC function remaps years 0-99 to 1900-1999\n    if (y &lt; 100 &amp;&amp; y &gt;= 0 &amp;&amp; isFinite(date.getUTCFullYear())) {\n        date.setUTCFullYear(y);\n    }\n    return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n    var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n        fwd = 7 + dow - doy,\n        // first-week day local weekday -- which local weekday is fwd\n        fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n    return -fwdlw + fwd - 1;\n}\n\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n    var localWeekday = (7 + weekday - dow) % 7,\n        weekOffset = firstWeekOffset(year, dow, doy),\n        dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n        resYear, resDayOfYear;\n\n    if (dayOfYear &lt;= 0) {\n        resYear = year - 1;\n        resDayOfYear = daysInYear(resYear) + dayOfYear;\n    } else if (dayOfYear &gt; daysInYear(year)) {\n        resYear = year + 1;\n        resDayOfYear = dayOfYear - daysInYear(year);\n    } else {\n        resYear = year;\n        resDayOfYear = dayOfYear;\n    }\n\n    return {\n        year: resYear,\n        dayOfYear: resDayOfYear\n    };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n    var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n        week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n        resWeek, resYear;\n\n    if (week &lt; 1) {\n        resYear = mom.year() - 1;\n        resWeek = week + weeksInYear(resYear, dow, doy);\n    } else if (week &gt; weeksInYear(mom.year(), dow, doy)) {\n        resWeek = week - weeksInYear(mom.year(), dow, doy);\n        resYear = mom.year() + 1;\n    } else {\n        resYear = mom.year();\n        resWeek = week;\n    }\n\n    return {\n        week: resWeek,\n        year: resYear\n    };\n}\n\nfunction weeksInYear(year, dow, doy) {\n    var weekOffset = firstWeekOffset(year, dow, doy),\n        weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n    return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w',  match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W',  match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n    week[token.substr(0, 1)] = toInt(input);\n});\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek (mom) {\n    return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n    dow : 0, // Sunday is the first day of the week.\n    doy : 6  // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n    return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n    return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n    var week = this.localeData().week(this);\n    return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek (input) {\n    var week = weekOfYear(this, 1, 4).week;\n    return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n    return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n    return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n    return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d',    match1to2);\naddRegexToken('e',    match1to2);\naddRegexToken('E',    match1to2);\naddRegexToken('dd',   function (isStrict, locale) {\n    return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd',   function (isStrict, locale) {\n    return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd',   function (isStrict, locale) {\n    return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n    var weekday = config._locale.weekdaysParse(input, token, config._strict);\n    // if we didn't get a weekday name, mark the date as invalid\n    if (weekday != null) {\n        week.d = weekday;\n    } else {\n        getParsingFlags(config).invalidWeekday = input;\n    }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n    week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n    if (typeof input !== 'string') {\n        return input;\n    }\n\n    if (!isNaN(input)) {\n        return parseInt(input, 10);\n    }\n\n    input = locale.weekdaysParse(input);\n    if (typeof input === 'number') {\n        return input;\n    }\n\n    return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n    if (typeof input === 'string') {\n        return locale.weekdaysParse(input) % 7 || 7;\n    }\n    return isNaN(input) ? null : input;\n}\n\n// LOCALES\n\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n    if (!m) {\n        return isArray(this._weekdays) ? this._weekdays :\n            this._weekdays['standalone'];\n    }\n    return isArray(this._weekdays) ? this._weekdays[m.day()] :\n        this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n    return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n    return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n    var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n    if (!this._weekdaysParse) {\n        this._weekdaysParse = [];\n        this._shortWeekdaysParse = [];\n        this._minWeekdaysParse = [];\n\n        for (i = 0; i &lt; 7; ++i) {\n            mom = createUTC([2000, 1]).day(i);\n            this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n            this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n            this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n        }\n    }\n\n    if (strict) {\n        if (format === 'dddd') {\n            ii = indexOf.call(this._weekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else if (format === 'ddd') {\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    } else {\n        if (format === 'dddd') {\n            ii = indexOf.call(this._weekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else if (format === 'ddd') {\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._weekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        } else {\n            ii = indexOf.call(this._minWeekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._weekdaysParse, llc);\n            if (ii !== -1) {\n                return ii;\n            }\n            ii = indexOf.call(this._shortWeekdaysParse, llc);\n            return ii !== -1 ? ii : null;\n        }\n    }\n}\n\nfunction localeWeekdaysParse (weekdayName, format, strict) {\n    var i, mom, regex;\n\n    if (this._weekdaysParseExact) {\n        return handleStrictParse$1.call(this, weekdayName, format, strict);\n    }\n\n    if (!this._weekdaysParse) {\n        this._weekdaysParse = [];\n        this._minWeekdaysParse = [];\n        this._shortWeekdaysParse = [];\n        this._fullWeekdaysParse = [];\n    }\n\n    for (i = 0; i &lt; 7; i++) {\n        // make the regex if we don't have it already\n\n        mom = createUTC([2000, 1]).day(i);\n        if (strict &amp;&amp; !this._fullWeekdaysParse[i]) {\n            this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n            this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n            this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n        }\n        if (!this._weekdaysParse[i]) {\n            regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n            this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n        }\n        // test the regex\n        if (strict &amp;&amp; format === 'dddd' &amp;&amp; this._fullWeekdaysParse[i].test(weekdayName)) {\n            return i;\n        } else if (strict &amp;&amp; format === 'ddd' &amp;&amp; this._shortWeekdaysParse[i].test(weekdayName)) {\n            return i;\n        } else if (strict &amp;&amp; format === 'dd' &amp;&amp; this._minWeekdaysParse[i].test(weekdayName)) {\n            return i;\n        } else if (!strict &amp;&amp; this._weekdaysParse[i].test(weekdayName)) {\n            return i;\n        }\n    }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek (input) {\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n    var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n    if (input != null) {\n        input = parseWeekday(input, this.localeData());\n        return this.add(input - day, 'd');\n    } else {\n        return day;\n    }\n}\n\nfunction getSetLocaleDayOfWeek (input) {\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n    var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n    return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek (input) {\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n\n    // behaves the same as moment#day except\n    // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n    // as a setter, sunday should belong to the previous week.\n\n    if (input != null) {\n        var weekday = parseIsoWeekday(input, this.localeData());\n        return this.day(this.day() % 7 ? weekday : weekday - 7);\n    } else {\n        return this.day() || 7;\n    }\n}\n\nvar defaultWeekdaysRegex = matchWord;\nfunction weekdaysRegex (isStrict) {\n    if (this._weekdaysParseExact) {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            computeWeekdaysParse.call(this);\n        }\n        if (isStrict) {\n            return this._weekdaysStrictRegex;\n        } else {\n            return this._weekdaysRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            this._weekdaysRegex = defaultWeekdaysRegex;\n        }\n        return this._weekdaysStrictRegex &amp;&amp; isStrict ?\n            this._weekdaysStrictRegex : this._weekdaysRegex;\n    }\n}\n\nvar defaultWeekdaysShortRegex = matchWord;\nfunction weekdaysShortRegex (isStrict) {\n    if (this._weekdaysParseExact) {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            computeWeekdaysParse.call(this);\n        }\n        if (isStrict) {\n            return this._weekdaysShortStrictRegex;\n        } else {\n            return this._weekdaysShortRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n            this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n        }\n        return this._weekdaysShortStrictRegex &amp;&amp; isStrict ?\n            this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n    }\n}\n\nvar defaultWeekdaysMinRegex = matchWord;\nfunction weekdaysMinRegex (isStrict) {\n    if (this._weekdaysParseExact) {\n        if (!hasOwnProp(this, '_weekdaysRegex')) {\n            computeWeekdaysParse.call(this);\n        }\n        if (isStrict) {\n            return this._weekdaysMinStrictRegex;\n        } else {\n            return this._weekdaysMinRegex;\n        }\n    } else {\n        if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n            this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n        }\n        return this._weekdaysMinStrictRegex &amp;&amp; isStrict ?\n            this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n    }\n}\n\n\nfunction computeWeekdaysParse () {\n    function cmpLenRev(a, b) {\n        return b.length - a.length;\n    }\n\n    var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n        i, mom, minp, shortp, longp;\n    for (i = 0; i &lt; 7; i++) {\n        // make the regex if we don't have it already\n        mom = createUTC([2000, 1]).day(i);\n        minp = this.weekdaysMin(mom, '');\n        shortp = this.weekdaysShort(mom, '');\n        longp = this.weekdays(mom, '');\n        minPieces.push(minp);\n        shortPieces.push(shortp);\n        longPieces.push(longp);\n        mixedPieces.push(minp);\n        mixedPieces.push(shortp);\n        mixedPieces.push(longp);\n    }\n    // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n    // will match the longer piece.\n    minPieces.sort(cmpLenRev);\n    shortPieces.sort(cmpLenRev);\n    longPieces.sort(cmpLenRev);\n    mixedPieces.sort(cmpLenRev);\n    for (i = 0; i &lt; 7; i++) {\n        shortPieces[i] = regexEscape(shortPieces[i]);\n        longPieces[i] = regexEscape(longPieces[i]);\n        mixedPieces[i] = regexEscape(mixedPieces[i]);\n    }\n\n    this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n    this._weekdaysShortRegex = this._weekdaysRegex;\n    this._weekdaysMinRegex = this._weekdaysRegex;\n\n    this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n    this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n    this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n}\n\n// FORMATTING\n\nfunction hFormat() {\n    return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n    return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n        zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n    return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n    return '' + this.hours() + zeroFill(this.minutes(), 2) +\n        zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n    addFormatToken(token, 0, 0, function () {\n        return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n    });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n    return locale._meridiemParse;\n}\n\naddRegexToken('a',  matchMeridiem);\naddRegexToken('A',  matchMeridiem);\naddRegexToken('H',  match1to2);\naddRegexToken('h',  match1to2);\naddRegexToken('k',  match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n    var kInput = toInt(input);\n    array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n    config._isPm = config._locale.isPM(input);\n    config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n    array[HOUR] = toInt(input);\n    getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n    var pos = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos));\n    array[MINUTE] = toInt(input.substr(pos));\n    getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n    var pos1 = input.length - 4;\n    var pos2 = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos1));\n    array[MINUTE] = toInt(input.substr(pos1, 2));\n    array[SECOND] = toInt(input.substr(pos2));\n    getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n    var pos = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos));\n    array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n    var pos1 = input.length - 4;\n    var pos2 = input.length - 2;\n    array[HOUR] = toInt(input.substr(0, pos1));\n    array[MINUTE] = toInt(input.substr(pos1, 2));\n    array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM (input) {\n    // IE8 Quirks Mode &amp; IE7 Standards Mode do not allow accessing strings like arrays\n    // Using charAt should be more compatible.\n    return ((input + '').toLowerCase().charAt(0) === 'p');\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction localeMeridiem (hours, minutes, isLower) {\n    if (hours &gt; 11) {\n        return isLower ? 'pm' : 'PM';\n    } else {\n        return isLower ? 'am' : 'AM';\n    }\n}\n\n\n// MOMENTS\n\n// Setting the hour should keep the time, because the user explicitly\n// specified which hour he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\n// months\n// week\n// weekdays\n// meridiem\nvar baseConfig = {\n    calendar: defaultCalendar,\n    longDateFormat: defaultLongDateFormat,\n    invalidDate: defaultInvalidDate,\n    ordinal: defaultOrdinal,\n    dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n    relativeTime: defaultRelativeTime,\n\n    months: defaultLocaleMonths,\n    monthsShort: defaultLocaleMonthsShort,\n\n    week: defaultLocaleWeek,\n\n    weekdays: defaultLocaleWeekdays,\n    weekdaysMin: defaultLocaleWeekdaysMin,\n    weekdaysShort: defaultLocaleWeekdaysShort,\n\n    meridiemParse: defaultLocaleMeridiemParse\n};\n\n// internal storage for locale config files\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction normalizeLocale(key) {\n    return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n    var i = 0, j, next, locale, split;\n\n    while (i &lt; names.length) {\n        split = normalizeLocale(names[i]).split('-');\n        j = split.length;\n        next = normalizeLocale(names[i + 1]);\n        next = next ? next.split('-') : null;\n        while (j &gt; 0) {\n            locale = loadLocale(split.slice(0, j).join('-'));\n            if (locale) {\n                return locale;\n            }\n            if (next &amp;&amp; next.length &gt;= j &amp;&amp; compareArrays(split, next, true) &gt;= j - 1) {\n                //the next array item is better than a shallower substring of this one\n                break;\n            }\n            j--;\n        }\n        i++;\n    }\n    return null;\n}\n\nfunction loadLocale(name) {\n    var oldLocale = null;\n    // TODO: Find a better way to register and load all the locales in Node\n    if (!locales[name] &amp;&amp; (typeof module !== 'undefined') &amp;&amp;\n            module &amp;&amp; module.exports) {\n        try {\n            oldLocale = globalLocale._abbr;\n            var aliasedRequire = require;\n            aliasedRequire('./locale/' + name);\n            getSetGlobalLocale(oldLocale);\n        } catch (e) {}\n    }\n    return locales[name];\n}\n\n// This function will load locale and then set the global locale.  If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale (key, values) {\n    var data;\n    if (key) {\n        if (isUndefined(values)) {\n            data = getLocale(key);\n        }\n        else {\n            data = defineLocale(key, values);\n        }\n\n        if (data) {\n            // moment.duration._locale = moment._locale = data;\n            globalLocale = data;\n        }\n    }\n\n    return globalLocale._abbr;\n}\n\nfunction defineLocale (name, config) {\n    if (config !== null) {\n        var parentConfig = baseConfig;\n        config.abbr = name;\n        if (locales[name] != null) {\n            deprecateSimple('defineLocaleOverride',\n                    'use moment.updateLocale(localeName, config) to change ' +\n                    'an existing locale. moment.defineLocale(localeName, ' +\n                    'config) should only be used for creating a new locale ' +\n                    'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n            parentConfig = locales[name]._config;\n        } else if (config.parentLocale != null) {\n            if (locales[config.parentLocale] != null) {\n                parentConfig = locales[config.parentLocale]._config;\n            } else {\n                if (!localeFamilies[config.parentLocale]) {\n                    localeFamilies[config.parentLocale] = [];\n                }\n                localeFamilies[config.parentLocale].push({\n                    name: name,\n                    config: config\n                });\n                return null;\n            }\n        }\n        locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n        if (localeFamilies[name]) {\n            localeFamilies[name].forEach(function (x) {\n                defineLocale(x.name, x.config);\n            });\n        }\n\n        // backwards compat for now: also set the locale\n        // make sure we set the locale AFTER all child locales have been\n        // created, so we won't end up with the child locale set.\n        getSetGlobalLocale(name);\n\n\n        return locales[name];\n    } else {\n        // useful for testing\n        delete locales[name];\n        return null;\n    }\n}\n\nfunction updateLocale(name, config) {\n    if (config != null) {\n        var locale, tmpLocale, parentConfig = baseConfig;\n        // MERGE\n        tmpLocale = loadLocale(name);\n        if (tmpLocale != null) {\n            parentConfig = tmpLocale._config;\n        }\n        config = mergeConfigs(parentConfig, config);\n        locale = new Locale(config);\n        locale.parentLocale = locales[name];\n        locales[name] = locale;\n\n        // backwards compat for now: also set the locale\n        getSetGlobalLocale(name);\n    } else {\n        // pass null for config to unupdate, useful for tests\n        if (locales[name] != null) {\n            if (locales[name].parentLocale != null) {\n                locales[name] = locales[name].parentLocale;\n            } else if (locales[name] != null) {\n                delete locales[name];\n            }\n        }\n    }\n    return locales[name];\n}\n\n// returns locale data\nfunction getLocale (key) {\n    var locale;\n\n    if (key &amp;&amp; key._locale &amp;&amp; key._locale._abbr) {\n        key = key._locale._abbr;\n    }\n\n    if (!key) {\n        return globalLocale;\n    }\n\n    if (!isArray(key)) {\n        //short-circuit everything else\n        locale = loadLocale(key);\n        if (locale) {\n            return locale;\n        }\n        key = [key];\n    }\n\n    return chooseLocale(key);\n}\n\nfunction listLocales() {\n    return keys(locales);\n}\n\nfunction checkOverflow (m) {\n    var overflow;\n    var a = m._a;\n\n    if (a &amp;&amp; getParsingFlags(m).overflow === -2) {\n        overflow =\n            a[MONTH]       &lt; 0 || a[MONTH]       &gt; 11  ? MONTH :\n            a[DATE]        &lt; 1 || a[DATE]        &gt; daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n            a[HOUR]        &lt; 0 || a[HOUR]        &gt; 24 || (a[HOUR] === 24 &amp;&amp; (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n            a[MINUTE]      &lt; 0 || a[MINUTE]      &gt; 59  ? MINUTE :\n            a[SECOND]      &lt; 0 || a[SECOND]      &gt; 59  ? SECOND :\n            a[MILLISECOND] &lt; 0 || a[MILLISECOND] &gt; 999 ? MILLISECOND :\n            -1;\n\n        if (getParsingFlags(m)._overflowDayOfYear &amp;&amp; (overflow &lt; YEAR || overflow &gt; DATE)) {\n            overflow = DATE;\n        }\n        if (getParsingFlags(m)._overflowWeeks &amp;&amp; overflow === -1) {\n            overflow = WEEK;\n        }\n        if (getParsingFlags(m)._overflowWeekday &amp;&amp; overflow === -1) {\n            overflow = WEEKDAY;\n        }\n\n        getParsingFlags(m).overflow = overflow;\n    }\n\n    return m;\n}\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n    if (a != null) {\n        return a;\n    }\n    if (b != null) {\n        return b;\n    }\n    return c;\n}\n\nfunction currentDateArray(config) {\n    // hooks is actually the exported moment object\n    var nowValue = new Date(hooks.now());\n    if (config._useUTC) {\n        return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n    }\n    return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray (config) {\n    var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n    if (config._d) {\n        return;\n    }\n\n    currentDate = currentDateArray(config);\n\n    //compute day of the year from weeks and weekdays\n    if (config._w &amp;&amp; config._a[DATE] == null &amp;&amp; config._a[MONTH] == null) {\n        dayOfYearFromWeekInfo(config);\n    }\n\n    //if the day of the year is set, figure out what it is\n    if (config._dayOfYear != null) {\n        yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n        if (config._dayOfYear &gt; daysInYear(yearToUse) || config._dayOfYear === 0) {\n            getParsingFlags(config)._overflowDayOfYear = true;\n        }\n\n        date = createUTCDate(yearToUse, 0, config._dayOfYear);\n        config._a[MONTH] = date.getUTCMonth();\n        config._a[DATE] = date.getUTCDate();\n    }\n\n    // Default to current date.\n    // * if no year, month, day of month are given, default to today\n    // * if day of month is given, default month and year\n    // * if month is given, default only year\n    // * if year is given, don't default anything\n    for (i = 0; i &lt; 3 &amp;&amp; config._a[i] == null; ++i) {\n        config._a[i] = input[i] = currentDate[i];\n    }\n\n    // Zero out whatever was not defaulted, including time\n    for (; i &lt; 7; i++) {\n        config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n    }\n\n    // Check for 24:00:00.000\n    if (config._a[HOUR] === 24 &amp;&amp;\n            config._a[MINUTE] === 0 &amp;&amp;\n            config._a[SECOND] === 0 &amp;&amp;\n            config._a[MILLISECOND] === 0) {\n        config._nextDay = true;\n        config._a[HOUR] = 0;\n    }\n\n    config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n    expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n    // Apply timezone offset from input. The actual utcOffset can be changed\n    // with parseZone.\n    if (config._tzm != null) {\n        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n    }\n\n    if (config._nextDay) {\n        config._a[HOUR] = 24;\n    }\n\n    // check for mismatching day of week\n    if (config._w &amp;&amp; typeof config._w.d !== 'undefined' &amp;&amp; config._w.d !== expectedWeekday) {\n        getParsingFlags(config).weekdayMismatch = true;\n    }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n    var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n    w = config._w;\n    if (w.GG != null || w.W != null || w.E != null) {\n        dow = 1;\n        doy = 4;\n\n        // TODO: We need to take the current isoWeekYear, but that depends on\n        // how we interpret now (local, utc, fixed offset). So create\n        // a now version of current config (take local/utc/offset flags, and\n        // create now).\n        weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n        week = defaults(w.W, 1);\n        weekday = defaults(w.E, 1);\n        if (weekday &lt; 1 || weekday &gt; 7) {\n            weekdayOverflow = true;\n        }\n    } else {\n        dow = config._locale._week.dow;\n        doy = config._locale._week.doy;\n\n        var curWeek = weekOfYear(createLocal(), dow, doy);\n\n        weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n        // Default to current week.\n        week = defaults(w.w, curWeek.week);\n\n        if (w.d != null) {\n            // weekday -- low day numbers are considered next week\n            weekday = w.d;\n            if (weekday &lt; 0 || weekday &gt; 6) {\n                weekdayOverflow = true;\n            }\n        } else if (w.e != null) {\n            // local weekday -- counting starts from begining of week\n            weekday = w.e + dow;\n            if (w.e &lt; 0 || w.e &gt; 6) {\n                weekdayOverflow = true;\n            }\n        } else {\n            // default to begining of week\n            weekday = dow;\n        }\n    }\n    if (week &lt; 1 || week &gt; weeksInYear(weekYear, dow, doy)) {\n        getParsingFlags(config)._overflowWeeks = true;\n    } else if (weekdayOverflow != null) {\n        getParsingFlags(config)._overflowWeekday = true;\n    } else {\n        temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n        config._a[YEAR] = temp.year;\n        config._dayOfYear = temp.dayOfYear;\n    }\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\nvar basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar isoDates = [\n    ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n    ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n    ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n    ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n    ['YYYY-DDD', /\\d{4}-\\d{3}/],\n    ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n    ['YYYYYYMMDD', /[+-]\\d{10}/],\n    ['YYYYMMDD', /\\d{8}/],\n    // YYYYMM is NOT allowed by the standard\n    ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n    ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n    ['YYYYDDD', /\\d{7}/]\n];\n\n// iso time formats and regexes\nvar isoTimes = [\n    ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n    ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n    ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n    ['HH:mm', /\\d\\d:\\d\\d/],\n    ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n    ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n    ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n    ['HHmm', /\\d\\d\\d\\d/],\n    ['HH', /\\d\\d/]\n];\n\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction configFromISO(config) {\n    var i, l,\n        string = config._i,\n        match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n        allowTime, dateFormat, timeFormat, tzFormat;\n\n    if (match) {\n        getParsingFlags(config).iso = true;\n\n        for (i = 0, l = isoDates.length; i &lt; l; i++) {\n            if (isoDates[i][1].exec(match[1])) {\n                dateFormat = isoDates[i][0];\n                allowTime = isoDates[i][2] !== false;\n                break;\n            }\n        }\n        if (dateFormat == null) {\n            config._isValid = false;\n            return;\n        }\n        if (match[3]) {\n            for (i = 0, l = isoTimes.length; i &lt; l; i++) {\n                if (isoTimes[i][1].exec(match[3])) {\n                    // match[2] should be 'T' or space\n                    timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                    break;\n                }\n            }\n            if (timeFormat == null) {\n                config._isValid = false;\n                return;\n            }\n        }\n        if (!allowTime &amp;&amp; timeFormat != null) {\n            config._isValid = false;\n            return;\n        }\n        if (match[4]) {\n            if (tzRegex.exec(match[4])) {\n                tzFormat = 'Z';\n            } else {\n                config._isValid = false;\n                return;\n            }\n        }\n        config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n        configFromStringAndFormat(config);\n    } else {\n        config._isValid = false;\n    }\n}\n\n// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\nvar rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\nfunction extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n    var result = [\n        untruncateYear(yearStr),\n        defaultLocaleMonthsShort.indexOf(monthStr),\n        parseInt(dayStr, 10),\n        parseInt(hourStr, 10),\n        parseInt(minuteStr, 10)\n    ];\n\n    if (secondStr) {\n        result.push(parseInt(secondStr, 10));\n    }\n\n    return result;\n}\n\nfunction untruncateYear(yearStr) {\n    var year = parseInt(yearStr, 10);\n    if (year &lt;= 49) {\n        return 2000 + year;\n    } else if (year &lt;= 999) {\n        return 1900 + year;\n    }\n    return year;\n}\n\nfunction preprocessRFC2822(s) {\n    // Remove comments and folding whitespace and replace multiple-spaces with a single space\n    return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').trim();\n}\n\nfunction checkWeekday(weekdayStr, parsedInput, config) {\n    if (weekdayStr) {\n        // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n        var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n            weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n        if (weekdayProvided !== weekdayActual) {\n            getParsingFlags(config).weekdayMismatch = true;\n            config._isValid = false;\n            return false;\n        }\n    }\n    return true;\n}\n\nvar obsOffsets = {\n    UT: 0,\n    GMT: 0,\n    EDT: -4 * 60,\n    EST: -5 * 60,\n    CDT: -5 * 60,\n    CST: -6 * 60,\n    MDT: -6 * 60,\n    MST: -7 * 60,\n    PDT: -7 * 60,\n    PST: -8 * 60\n};\n\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\n    if (obsOffset) {\n        return obsOffsets[obsOffset];\n    } else if (militaryOffset) {\n        // the only allowed military tz is Z\n        return 0;\n    } else {\n        var hm = parseInt(numOffset, 10);\n        var m = hm % 100, h = (hm - m) / 100;\n        return h * 60 + m;\n    }\n}\n\n// date and time from ref 2822 format\nfunction configFromRFC2822(config) {\n    var match = rfc2822.exec(preprocessRFC2822(config._i));\n    if (match) {\n        var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n        if (!checkWeekday(match[1], parsedArray, config)) {\n            return;\n        }\n\n        config._a = parsedArray;\n        config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n        config._d = createUTCDate.apply(null, config._a);\n        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n        getParsingFlags(config).rfc2822 = true;\n    } else {\n        config._isValid = false;\n    }\n}\n\n// date from iso format or fallback\nfunction configFromString(config) {\n    var matched = aspNetJsonRegex.exec(config._i);\n\n    if (matched !== null) {\n        config._d = new Date(+matched[1]);\n        return;\n    }\n\n    configFromISO(config);\n    if (config._isValid === false) {\n        delete config._isValid;\n    } else {\n        return;\n    }\n\n    configFromRFC2822(config);\n    if (config._isValid === false) {\n        delete config._isValid;\n    } else {\n        return;\n    }\n\n    // Final attempt, use Input Fallback\n    hooks.createFromInputFallback(config);\n}\n\nhooks.createFromInputFallback = deprecate(\n    'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n    'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n    'discouraged and will be removed in an upcoming major release. Please refer to ' +\n    'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n    function (config) {\n        config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n    }\n);\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n    // TODO: Move this to another part of the creation flow to prevent circular deps\n    if (config._f === hooks.ISO_8601) {\n        configFromISO(config);\n        return;\n    }\n    if (config._f === hooks.RFC_2822) {\n        configFromRFC2822(config);\n        return;\n    }\n    config._a = [];\n    getParsingFlags(config).empty = true;\n\n    // This array is used to make a Date, either with `new Date` or `Date.UTC`\n    var string = '' + config._i,\n        i, parsedInput, tokens, token, skipped,\n        stringLength = string.length,\n        totalParsedInputLength = 0;\n\n    tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n    for (i = 0; i &lt; tokens.length; i++) {\n        token = tokens[i];\n        parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n        // console.log('token', token, 'parsedInput', parsedInput,\n        //         'regex', getParseRegexForToken(token, config));\n        if (parsedInput) {\n            skipped = string.substr(0, string.indexOf(parsedInput));\n            if (skipped.length &gt; 0) {\n                getParsingFlags(config).unusedInput.push(skipped);\n            }\n            string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n            totalParsedInputLength += parsedInput.length;\n        }\n        // don't parse if it's not a known token\n        if (formatTokenFunctions[token]) {\n            if (parsedInput) {\n                getParsingFlags(config).empty = false;\n            }\n            else {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n            addTimeToArrayFromToken(token, parsedInput, config);\n        }\n        else if (config._strict &amp;&amp; !parsedInput) {\n            getParsingFlags(config).unusedTokens.push(token);\n        }\n    }\n\n    // add remaining unparsed input length to the string\n    getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n    if (string.length &gt; 0) {\n        getParsingFlags(config).unusedInput.push(string);\n    }\n\n    // clear _12h flag if hour is &lt;= 12\n    if (config._a[HOUR] &lt;= 12 &amp;&amp;\n        getParsingFlags(config).bigHour === true &amp;&amp;\n        config._a[HOUR] &gt; 0) {\n        getParsingFlags(config).bigHour = undefined;\n    }\n\n    getParsingFlags(config).parsedDateParts = config._a.slice(0);\n    getParsingFlags(config).meridiem = config._meridiem;\n    // handle meridiem\n    config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n    configFromArray(config);\n    checkOverflow(config);\n}\n\n\nfunction meridiemFixWrap (locale, hour, meridiem) {\n    var isPm;\n\n    if (meridiem == null) {\n        // nothing to do\n        return hour;\n    }\n    if (locale.meridiemHour != null) {\n        return locale.meridiemHour(hour, meridiem);\n    } else if (locale.isPM != null) {\n        // Fallback\n        isPm = locale.isPM(meridiem);\n        if (isPm &amp;&amp; hour &lt; 12) {\n            hour += 12;\n        }\n        if (!isPm &amp;&amp; hour === 12) {\n            hour = 0;\n        }\n        return hour;\n    } else {\n        // this is not supposed to happen\n        return hour;\n    }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n    var tempConfig,\n        bestMoment,\n\n        scoreToBeat,\n        i,\n        currentScore;\n\n    if (config._f.length === 0) {\n        getParsingFlags(config).invalidFormat = true;\n        config._d = new Date(NaN);\n        return;\n    }\n\n    for (i = 0; i &lt; config._f.length; i++) {\n        currentScore = 0;\n        tempConfig = copyConfig({}, config);\n        if (config._useUTC != null) {\n            tempConfig._useUTC = config._useUTC;\n        }\n        tempConfig._f = config._f[i];\n        configFromStringAndFormat(tempConfig);\n\n        if (!isValid(tempConfig)) {\n            continue;\n        }\n\n        // if there is any input that was not parsed add a penalty for that format\n        currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n        //or tokens\n        currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n        getParsingFlags(tempConfig).score = currentScore;\n\n        if (scoreToBeat == null || currentScore &lt; scoreToBeat) {\n            scoreToBeat = currentScore;\n            bestMoment = tempConfig;\n        }\n    }\n\n    extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n    if (config._d) {\n        return;\n    }\n\n    var i = normalizeObjectUnits(config._i);\n    config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n        return obj &amp;&amp; parseInt(obj, 10);\n    });\n\n    configFromArray(config);\n}\n\nfunction createFromConfig (config) {\n    var res = new Moment(checkOverflow(prepareConfig(config)));\n    if (res._nextDay) {\n        // Adding is smart enough around DST\n        res.add(1, 'd');\n        res._nextDay = undefined;\n    }\n\n    return res;\n}\n\nfunction prepareConfig (config) {\n    var input = config._i,\n        format = config._f;\n\n    config._locale = config._locale || getLocale(config._l);\n\n    if (input === null || (format === undefined &amp;&amp; input === '')) {\n        return createInvalid({nullInput: true});\n    }\n\n    if (typeof input === 'string') {\n        config._i = input = config._locale.preparse(input);\n    }\n\n    if (isMoment(input)) {\n        return new Moment(checkOverflow(input));\n    } else if (isDate(input)) {\n        config._d = input;\n    } else if (isArray(format)) {\n        configFromStringAndArray(config);\n    } else if (format) {\n        configFromStringAndFormat(config);\n    }  else {\n        configFromInput(config);\n    }\n\n    if (!isValid(config)) {\n        config._d = null;\n    }\n\n    return config;\n}\n\nfunction configFromInput(config) {\n    var input = config._i;\n    if (isUndefined(input)) {\n        config._d = new Date(hooks.now());\n    } else if (isDate(input)) {\n        config._d = new Date(input.valueOf());\n    } else if (typeof input === 'string') {\n        configFromString(config);\n    } else if (isArray(input)) {\n        config._a = map(input.slice(0), function (obj) {\n            return parseInt(obj, 10);\n        });\n        configFromArray(config);\n    } else if (isObject(input)) {\n        configFromObject(config);\n    } else if (isNumber(input)) {\n        // from milliseconds\n        config._d = new Date(input);\n    } else {\n        hooks.createFromInputFallback(config);\n    }\n}\n\nfunction createLocalOrUTC (input, format, locale, strict, isUTC) {\n    var c = {};\n\n    if (locale === true || locale === false) {\n        strict = locale;\n        locale = undefined;\n    }\n\n    if ((isObject(input) &amp;&amp; isObjectEmpty(input)) ||\n            (isArray(input) &amp;&amp; input.length === 0)) {\n        input = undefined;\n    }\n    // object construction must be done this way.\n    // https://github.com/moment/moment/issues/1423\n    c._isAMomentObject = true;\n    c._useUTC = c._isUTC = isUTC;\n    c._l = locale;\n    c._i = input;\n    c._f = format;\n    c._strict = strict;\n\n    return createFromConfig(c);\n}\n\nfunction createLocal (input, format, locale, strict) {\n    return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n    'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n    function () {\n        var other = createLocal.apply(null, arguments);\n        if (this.isValid() &amp;&amp; other.isValid()) {\n            return other &lt; this ? this : other;\n        } else {\n            return createInvalid();\n        }\n    }\n);\n\nvar prototypeMax = deprecate(\n    'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n    function () {\n        var other = createLocal.apply(null, arguments);\n        if (this.isValid() &amp;&amp; other.isValid()) {\n            return other &gt; this ? this : other;\n        } else {\n            return createInvalid();\n        }\n    }\n);\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n    var res, i;\n    if (moments.length === 1 &amp;&amp; isArray(moments[0])) {\n        moments = moments[0];\n    }\n    if (!moments.length) {\n        return createLocal();\n    }\n    res = moments[0];\n    for (i = 1; i &lt; moments.length; ++i) {\n        if (!moments[i].isValid() || moments[i][fn](res)) {\n            res = moments[i];\n        }\n    }\n    return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min () {\n    var args = [].slice.call(arguments, 0);\n\n    return pickBy('isBefore', args);\n}\n\nfunction max () {\n    var args = [].slice.call(arguments, 0);\n\n    return pickBy('isAfter', args);\n}\n\nvar now = function () {\n    return Date.now ? Date.now() : +(new Date());\n};\n\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\nfunction isDurationValid(m) {\n    for (var key in m) {\n        if (!(indexOf.call(ordering, key) !== -1 &amp;&amp; (m[key] == null || !isNaN(m[key])))) {\n            return false;\n        }\n    }\n\n    var unitHasDecimal = false;\n    for (var i = 0; i &lt; ordering.length; ++i) {\n        if (m[ordering[i]]) {\n            if (unitHasDecimal) {\n                return false; // only allow non-integers for smallest unit\n            }\n            if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                unitHasDecimal = true;\n            }\n        }\n    }\n\n    return true;\n}\n\nfunction isValid$1() {\n    return this._isValid;\n}\n\nfunction createInvalid$1() {\n    return createDuration(NaN);\n}\n\nfunction Duration (duration) {\n    var normalizedInput = normalizeObjectUnits(duration),\n        years = normalizedInput.year || 0,\n        quarters = normalizedInput.quarter || 0,\n        months = normalizedInput.month || 0,\n        weeks = normalizedInput.week || 0,\n        days = normalizedInput.day || 0,\n        hours = normalizedInput.hour || 0,\n        minutes = normalizedInput.minute || 0,\n        seconds = normalizedInput.second || 0,\n        milliseconds = normalizedInput.millisecond || 0;\n\n    this._isValid = isDurationValid(normalizedInput);\n\n    // representation for dateAddRemove\n    this._milliseconds = +milliseconds +\n        seconds * 1e3 + // 1000\n        minutes * 6e4 + // 1000 * 60\n        hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n    // Because of dateAddRemove treats 24 hours as different from a\n    // day when working around DST, we need to store them separately\n    this._days = +days +\n        weeks * 7;\n    // It is impossible to translate months into days without knowing\n    // which months you are are talking about, so we have to store\n    // it separately.\n    this._months = +months +\n        quarters * 3 +\n        years * 12;\n\n    this._data = {};\n\n    this._locale = getLocale();\n\n    this._bubble();\n}\n\nfunction isDuration (obj) {\n    return obj instanceof Duration;\n}\n\nfunction absRound (number) {\n    if (number &lt; 0) {\n        return Math.round(-1 * number) * -1;\n    } else {\n        return Math.round(number);\n    }\n}\n\n// FORMATTING\n\nfunction offset (token, separator) {\n    addFormatToken(token, 0, 0, function () {\n        var offset = this.utcOffset();\n        var sign = '+';\n        if (offset &lt; 0) {\n            offset = -offset;\n            sign = '-';\n        }\n        return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n    });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z',  matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n    config._useUTC = true;\n    config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' &gt; ['10',  '00']\n// '-1530'  &gt; ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n    var matches = (string || '').match(matcher);\n\n    if (matches === null) {\n        return null;\n    }\n\n    var chunk   = matches[matches.length - 1] || [];\n    var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n    var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n    return minutes === 0 ?\n      0 :\n      parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n    var res, diff;\n    if (model._isUTC) {\n        res = model.clone();\n        diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n        // Use low-level api, because this fn is low-level api.\n        res._d.setTime(res._d.valueOf() + diff);\n        hooks.updateOffset(res, false);\n        return res;\n    } else {\n        return createLocal(input).local();\n    }\n}\n\nfunction getDateOffset (m) {\n    // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n    // https://github.com/moment/moment/pull/1871\n    return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--&gt;\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset (input, keepLocalTime, keepMinutes) {\n    var offset = this._offset || 0,\n        localAdjust;\n    if (!this.isValid()) {\n        return input != null ? this : NaN;\n    }\n    if (input != null) {\n        if (typeof input === 'string') {\n            input = offsetFromString(matchShortOffset, input);\n            if (input === null) {\n                return this;\n            }\n        } else if (Math.abs(input) &lt; 16 &amp;&amp; !keepMinutes) {\n            input = input * 60;\n        }\n        if (!this._isUTC &amp;&amp; keepLocalTime) {\n            localAdjust = getDateOffset(this);\n        }\n        this._offset = input;\n        this._isUTC = true;\n        if (localAdjust != null) {\n            this.add(localAdjust, 'm');\n        }\n        if (offset !== input) {\n            if (!keepLocalTime || this._changeInProgress) {\n                addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n            } else if (!this._changeInProgress) {\n                this._changeInProgress = true;\n                hooks.updateOffset(this, true);\n                this._changeInProgress = null;\n            }\n        }\n        return this;\n    } else {\n        return this._isUTC ? offset : getDateOffset(this);\n    }\n}\n\nfunction getSetZone (input, keepLocalTime) {\n    if (input != null) {\n        if (typeof input !== 'string') {\n            input = -input;\n        }\n\n        this.utcOffset(input, keepLocalTime);\n\n        return this;\n    } else {\n        return -this.utcOffset();\n    }\n}\n\nfunction setOffsetToUTC (keepLocalTime) {\n    return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal (keepLocalTime) {\n    if (this._isUTC) {\n        this.utcOffset(0, keepLocalTime);\n        this._isUTC = false;\n\n        if (keepLocalTime) {\n            this.subtract(getDateOffset(this), 'm');\n        }\n    }\n    return this;\n}\n\nfunction setOffsetToParsedOffset () {\n    if (this._tzm != null) {\n        this.utcOffset(this._tzm, false, true);\n    } else if (typeof this._i === 'string') {\n        var tZone = offsetFromString(matchOffset, this._i);\n        if (tZone != null) {\n            this.utcOffset(tZone);\n        }\n        else {\n            this.utcOffset(0, true);\n        }\n    }\n    return this;\n}\n\nfunction hasAlignedHourOffset (input) {\n    if (!this.isValid()) {\n        return false;\n    }\n    input = input ? createLocal(input).utcOffset() : 0;\n\n    return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime () {\n    return (\n        this.utcOffset() &gt; this.clone().month(0).utcOffset() ||\n        this.utcOffset() &gt; this.clone().month(5).utcOffset()\n    );\n}\n\nfunction isDaylightSavingTimeShifted () {\n    if (!isUndefined(this._isDSTShifted)) {\n        return this._isDSTShifted;\n    }\n\n    var c = {};\n\n    copyConfig(c, this);\n    c = prepareConfig(c);\n\n    if (c._a) {\n        var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n        this._isDSTShifted = this.isValid() &amp;&amp;\n            compareArrays(c._a, other.toArray()) &gt; 0;\n    } else {\n        this._isDSTShifted = false;\n    }\n\n    return this._isDSTShifted;\n}\n\nfunction isLocal () {\n    return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n    return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n    return this.isValid() ? this._isUTC &amp;&amp; this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n// and further modified to allow for strings containing both week and day\nvar isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\nfunction createDuration (input, key) {\n    var duration = input,\n        // matching against regexp is expensive, do it on demand\n        match = null,\n        sign,\n        ret,\n        diffRes;\n\n    if (isDuration(input)) {\n        duration = {\n            ms : input._milliseconds,\n            d  : input._days,\n            M  : input._months\n        };\n    } else if (isNumber(input)) {\n        duration = {};\n        if (key) {\n            duration[key] = input;\n        } else {\n            duration.milliseconds = input;\n        }\n    } else if (!!(match = aspNetRegex.exec(input))) {\n        sign = (match[1] === '-') ? -1 : 1;\n        duration = {\n            y  : 0,\n            d  : toInt(match[DATE])                         * sign,\n            h  : toInt(match[HOUR])                         * sign,\n            m  : toInt(match[MINUTE])                       * sign,\n            s  : toInt(match[SECOND])                       * sign,\n            ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n        };\n    } else if (!!(match = isoRegex.exec(input))) {\n        sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;\n        duration = {\n            y : parseIso(match[2], sign),\n            M : parseIso(match[3], sign),\n            w : parseIso(match[4], sign),\n            d : parseIso(match[5], sign),\n            h : parseIso(match[6], sign),\n            m : parseIso(match[7], sign),\n            s : parseIso(match[8], sign)\n        };\n    } else if (duration == null) {// checks for null or undefined\n        duration = {};\n    } else if (typeof duration === 'object' &amp;&amp; ('from' in duration || 'to' in duration)) {\n        diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n        duration = {};\n        duration.ms = diffRes.milliseconds;\n        duration.M = diffRes.months;\n    }\n\n    ret = new Duration(duration);\n\n    if (isDuration(input) &amp;&amp; hasOwnProp(input, '_locale')) {\n        ret._locale = input._locale;\n    }\n\n    return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction parseIso (inp, sign) {\n    // We'd normally use ~~inp for this, but unfortunately it also\n    // converts floats to ints.\n    // inp may be undefined, so careful calling replace on it.\n    var res = inp &amp;&amp; parseFloat(inp.replace(',', '.'));\n    // apply sign while we're at it\n    return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n    var res = {milliseconds: 0, months: 0};\n\n    res.months = other.month() - base.month() +\n        (other.year() - base.year()) * 12;\n    if (base.clone().add(res.months, 'M').isAfter(other)) {\n        --res.months;\n    }\n\n    res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n    return res;\n}\n\nfunction momentsDifference(base, other) {\n    var res;\n    if (!(base.isValid() &amp;&amp; other.isValid())) {\n        return {milliseconds: 0, months: 0};\n    }\n\n    other = cloneWithOffset(other, base);\n    if (base.isBefore(other)) {\n        res = positiveMomentsDifference(base, other);\n    } else {\n        res = positiveMomentsDifference(other, base);\n        res.milliseconds = -res.milliseconds;\n        res.months = -res.months;\n    }\n\n    return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n    return function (val, period) {\n        var dur, tmp;\n        //invert the arguments, but complain about it\n        if (period !== null &amp;&amp; !isNaN(+period)) {\n            deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n            'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n            tmp = val; val = period; period = tmp;\n        }\n\n        val = typeof val === 'string' ? +val : val;\n        dur = createDuration(val, period);\n        addSubtract(this, dur, direction);\n        return this;\n    };\n}\n\nfunction addSubtract (mom, duration, isAdding, updateOffset) {\n    var milliseconds = duration._milliseconds,\n        days = absRound(duration._days),\n        months = absRound(duration._months);\n\n    if (!mom.isValid()) {\n        // No op\n        return;\n    }\n\n    updateOffset = updateOffset == null ? true : updateOffset;\n\n    if (months) {\n        setMonth(mom, get(mom, 'Month') + months * isAdding);\n    }\n    if (days) {\n        set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n    }\n    if (milliseconds) {\n        mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n    }\n    if (updateOffset) {\n        hooks.updateOffset(mom, days || months);\n    }\n}\n\nvar add      = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction getCalendarFormat(myMoment, now) {\n    var diff = myMoment.diff(now, 'days', true);\n    return diff &lt; -6 ? 'sameElse' :\n            diff &lt; -1 ? 'lastWeek' :\n            diff &lt; 0 ? 'lastDay' :\n            diff &lt; 1 ? 'sameDay' :\n            diff &lt; 2 ? 'nextDay' :\n            diff &lt; 7 ? 'nextWeek' : 'sameElse';\n}\n\nfunction calendar$1 (time, formats) {\n    // We want to compare the start of today, vs this.\n    // Getting start-of-today depends on whether we're local/utc/offset or not.\n    var now = time || createLocal(),\n        sod = cloneWithOffset(now, this).startOf('day'),\n        format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n    var output = formats &amp;&amp; (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n    return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n}\n\nfunction clone () {\n    return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n    var localInput = isMoment(input) ? input : createLocal(input);\n    if (!(this.isValid() &amp;&amp; localInput.isValid())) {\n        return false;\n    }\n    units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n    if (units === 'millisecond') {\n        return this.valueOf() &gt; localInput.valueOf();\n    } else {\n        return localInput.valueOf() &lt; this.clone().startOf(units).valueOf();\n    }\n}\n\nfunction isBefore (input, units) {\n    var localInput = isMoment(input) ? input : createLocal(input);\n    if (!(this.isValid() &amp;&amp; localInput.isValid())) {\n        return false;\n    }\n    units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n    if (units === 'millisecond') {\n        return this.valueOf() &lt; localInput.valueOf();\n    } else {\n        return this.clone().endOf(units).valueOf() &lt; localInput.valueOf();\n    }\n}\n\nfunction isBetween (from, to, units, inclusivity) {\n    inclusivity = inclusivity || '()';\n    return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &amp;&amp;\n        (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction isSame (input, units) {\n    var localInput = isMoment(input) ? input : createLocal(input),\n        inputMs;\n    if (!(this.isValid() &amp;&amp; localInput.isValid())) {\n        return false;\n    }\n    units = normalizeUnits(units || 'millisecond');\n    if (units === 'millisecond') {\n        return this.valueOf() === localInput.valueOf();\n    } else {\n        inputMs = localInput.valueOf();\n        return this.clone().startOf(units).valueOf() &lt;= inputMs &amp;&amp; inputMs &lt;= this.clone().endOf(units).valueOf();\n    }\n}\n\nfunction isSameOrAfter (input, units) {\n    return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n    return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction diff (input, units, asFloat) {\n    var that,\n        zoneDelta,\n        delta, output;\n\n    if (!this.isValid()) {\n        return NaN;\n    }\n\n    that = cloneWithOffset(input, this);\n\n    if (!that.isValid()) {\n        return NaN;\n    }\n\n    zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n    units = normalizeUnits(units);\n\n    switch (units) {\n        case 'year': output = monthDiff(this, that) / 12; break;\n        case 'month': output = monthDiff(this, that); break;\n        case 'quarter': output = monthDiff(this, that) / 3; break;\n        case 'second': output = (this - that) / 1e3; break; // 1000\n        case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n        case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n        case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n        case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n        default: output = this - that;\n    }\n\n    return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff (a, b) {\n    // difference in months\n    var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n        // b is in (anchor - 1 month, anchor + 1 month)\n        anchor = a.clone().add(wholeMonthDiff, 'months'),\n        anchor2, adjust;\n\n    if (b - anchor &lt; 0) {\n        anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n        // linear across the month\n        adjust = (b - anchor) / (anchor - anchor2);\n    } else {\n        anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n        // linear across the month\n        adjust = (b - anchor) / (anchor2 - anchor);\n    }\n\n    //check for negative zero, return zero if negative zero\n    return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n    return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString(keepOffset) {\n    if (!this.isValid()) {\n        return null;\n    }\n    var utc = keepOffset !== true;\n    var m = utc ? this.clone().utc() : this;\n    if (m.year() &lt; 0 || m.year() &gt; 9999) {\n        return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n    }\n    if (isFunction(Date.prototype.toISOString)) {\n        // native implementation is ~50x faster, use it when we can\n        if (utc) {\n            return this.toDate().toISOString();\n        } else {\n            return new Date(this._d.valueOf()).toISOString().replace('Z', formatMoment(m, 'Z'));\n        }\n    }\n    return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect () {\n    if (!this.isValid()) {\n        return 'moment.invalid(/* ' + this._i + ' */)';\n    }\n    var func = 'moment';\n    var zone = '';\n    if (!this.isLocal()) {\n        func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n        zone = 'Z';\n    }\n    var prefix = '[' + func + '(\"]';\n    var year = (0 &lt;= this.year() &amp;&amp; this.year() &lt;= 9999) ? 'YYYY' : 'YYYYYY';\n    var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n    var suffix = zone + '[\")]';\n\n    return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format (inputString) {\n    if (!inputString) {\n        inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n    }\n    var output = formatMoment(this, inputString);\n    return this.localeData().postformat(output);\n}\n\nfunction from (time, withoutSuffix) {\n    if (this.isValid() &amp;&amp;\n            ((isMoment(time) &amp;&amp; time.isValid()) ||\n             createLocal(time).isValid())) {\n        return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n    } else {\n        return this.localeData().invalidDate();\n    }\n}\n\nfunction fromNow (withoutSuffix) {\n    return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to (time, withoutSuffix) {\n    if (this.isValid() &amp;&amp;\n            ((isMoment(time) &amp;&amp; time.isValid()) ||\n             createLocal(time).isValid())) {\n        return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n    } else {\n        return this.localeData().invalidDate();\n    }\n}\n\nfunction toNow (withoutSuffix) {\n    return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance.  Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale (key) {\n    var newLocaleData;\n\n    if (key === undefined) {\n        return this._locale._abbr;\n    } else {\n        newLocaleData = getLocale(key);\n        if (newLocaleData != null) {\n            this._locale = newLocaleData;\n        }\n        return this;\n    }\n}\n\nvar lang = deprecate(\n    'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n    function (key) {\n        if (key === undefined) {\n            return this.localeData();\n        } else {\n            return this.locale(key);\n        }\n    }\n);\n\nfunction localeData () {\n    return this._locale;\n}\n\nfunction startOf (units) {\n    units = normalizeUnits(units);\n    // the following switch intentionally omits break keywords\n    // to utilize falling through the cases.\n    switch (units) {\n        case 'year':\n            this.month(0);\n            /* falls through */\n        case 'quarter':\n        case 'month':\n            this.date(1);\n            /* falls through */\n        case 'week':\n        case 'isoWeek':\n        case 'day':\n        case 'date':\n            this.hours(0);\n            /* falls through */\n        case 'hour':\n            this.minutes(0);\n            /* falls through */\n        case 'minute':\n            this.seconds(0);\n            /* falls through */\n        case 'second':\n            this.milliseconds(0);\n    }\n\n    // weeks are a special case\n    if (units === 'week') {\n        this.weekday(0);\n    }\n    if (units === 'isoWeek') {\n        this.isoWeekday(1);\n    }\n\n    // quarters are also special\n    if (units === 'quarter') {\n        this.month(Math.floor(this.month() / 3) * 3);\n    }\n\n    return this;\n}\n\nfunction endOf (units) {\n    units = normalizeUnits(units);\n    if (units === undefined || units === 'millisecond') {\n        return this;\n    }\n\n    // 'date' is an alias for 'day', so it should be considered as such.\n    if (units === 'date') {\n        units = 'day';\n    }\n\n    return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n    return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n    return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n    return new Date(this.valueOf());\n}\n\nfunction toArray () {\n    var m = this;\n    return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction toObject () {\n    var m = this;\n    return {\n        years: m.year(),\n        months: m.month(),\n        date: m.date(),\n        hours: m.hours(),\n        minutes: m.minutes(),\n        seconds: m.seconds(),\n        milliseconds: m.milliseconds()\n    };\n}\n\nfunction toJSON () {\n    // new Date(NaN).toJSON() === null\n    return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2 () {\n    return isValid(this);\n}\n\nfunction parsingFlags () {\n    return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n    return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n    return {\n        input: this._i,\n        format: this._f,\n        locale: this._locale,\n        isUTC: this._isUTC,\n        strict: this._strict\n    };\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n    return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n    return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n    addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg',     'weekYear');\naddWeekYearFormatToken('ggggg',    'weekYear');\naddWeekYearFormatToken('GGGG',  'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G',      matchSigned);\naddRegexToken('g',      matchSigned);\naddRegexToken('GG',     match1to2, match2);\naddRegexToken('gg',     match1to2, match2);\naddRegexToken('GGGG',   match1to4, match4);\naddRegexToken('gggg',   match1to4, match4);\naddRegexToken('GGGGG',  match1to6, match6);\naddRegexToken('ggggg',  match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n    week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n    week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear (input) {\n    return getSetWeekYearHelper.call(this,\n            input,\n            this.week(),\n            this.weekday(),\n            this.localeData()._week.dow,\n            this.localeData()._week.doy);\n}\n\nfunction getSetISOWeekYear (input) {\n    return getSetWeekYearHelper.call(this,\n            input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n    return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n    var weekInfo = this.localeData()._week;\n    return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n    var weeksTarget;\n    if (input == null) {\n        return weekOfYear(this, dow, doy).year;\n    } else {\n        weeksTarget = weeksInYear(input, dow, doy);\n        if (week &gt; weeksTarget) {\n            week = weeksTarget;\n        }\n        return setWeekAll.call(this, input, week, weekday, dow, doy);\n    }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n    var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n        date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n    this.year(date.getUTCFullYear());\n    this.month(date.getUTCMonth());\n    this.date(date.getUTCDate());\n    return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n    array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter (input) {\n    return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D',  match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n    // TODO: Remove \"ordinalParse\" fallback in next major release.\n    return isStrict ?\n      (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n      locale._dayOfMonthOrdinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n    array[DATE] = toInt(input.match(match1to2)[0]);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD',  match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n    config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear (input) {\n    var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n    return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m',  match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s',  match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n    return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n    return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n    return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n    return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n    return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n    return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n    return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n    return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S',    match1to3, match1);\naddRegexToken('SS',   match1to3, match2);\naddRegexToken('SSS',  match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length &lt;= 9; token += 'S') {\n    addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n    array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length &lt;= 9; token += 'S') {\n    addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z',  0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n    return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n    return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add               = add;\nproto.calendar          = calendar$1;\nproto.clone             = clone;\nproto.diff              = diff;\nproto.endOf             = endOf;\nproto.format            = format;\nproto.from              = from;\nproto.fromNow           = fromNow;\nproto.to                = to;\nproto.toNow             = toNow;\nproto.get               = stringGet;\nproto.invalidAt         = invalidAt;\nproto.isAfter           = isAfter;\nproto.isBefore          = isBefore;\nproto.isBetween         = isBetween;\nproto.isSame            = isSame;\nproto.isSameOrAfter     = isSameOrAfter;\nproto.isSameOrBefore    = isSameOrBefore;\nproto.isValid           = isValid$2;\nproto.lang              = lang;\nproto.locale            = locale;\nproto.localeData        = localeData;\nproto.max               = prototypeMax;\nproto.min               = prototypeMin;\nproto.parsingFlags      = parsingFlags;\nproto.set               = stringSet;\nproto.startOf           = startOf;\nproto.subtract          = subtract;\nproto.toArray           = toArray;\nproto.toObject          = toObject;\nproto.toDate            = toDate;\nproto.toISOString       = toISOString;\nproto.inspect           = inspect;\nproto.toJSON            = toJSON;\nproto.toString          = toString;\nproto.unix              = unix;\nproto.valueOf           = valueOf;\nproto.creationData      = creationData;\n\n// Year\nproto.year       = getSetYear;\nproto.isLeapYear = getIsLeapYear;\n\n// Week Year\nproto.weekYear    = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\n\n// Quarter\nproto.quarter = proto.quarters = getSetQuarter;\n\n// Month\nproto.month       = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\n\n// Week\nproto.week           = proto.weeks        = getSetWeek;\nproto.isoWeek        = proto.isoWeeks     = getSetISOWeek;\nproto.weeksInYear    = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\n\n// Day\nproto.date       = getSetDayOfMonth;\nproto.day        = proto.days             = getSetDayOfWeek;\nproto.weekday    = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear  = getSetDayOfYear;\n\n// Hour\nproto.hour = proto.hours = getSetHour;\n\n// Minute\nproto.minute = proto.minutes = getSetMinute;\n\n// Second\nproto.second = proto.seconds = getSetSecond;\n\n// Millisecond\nproto.millisecond = proto.milliseconds = getSetMillisecond;\n\n// Offset\nproto.utcOffset            = getSetOffset;\nproto.utc                  = setOffsetToUTC;\nproto.local                = setOffsetToLocal;\nproto.parseZone            = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST                = isDaylightSavingTime;\nproto.isLocal              = isLocal;\nproto.isUtcOffset          = isUtcOffset;\nproto.isUtc                = isUtc;\nproto.isUTC                = isUtc;\n\n// Timezone\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\n\n// Deprecations\nproto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n    return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n    return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n    return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar        = calendar;\nproto$1.longDateFormat  = longDateFormat;\nproto$1.invalidDate     = invalidDate;\nproto$1.ordinal         = ordinal;\nproto$1.preparse        = preParsePostFormat;\nproto$1.postformat      = preParsePostFormat;\nproto$1.relativeTime    = relativeTime;\nproto$1.pastFuture      = pastFuture;\nproto$1.set             = set;\n\n// Month\nproto$1.months            =        localeMonths;\nproto$1.monthsShort       =        localeMonthsShort;\nproto$1.monthsParse       =        localeMonthsParse;\nproto$1.monthsRegex       = monthsRegex;\nproto$1.monthsShortRegex  = monthsShortRegex;\n\n// Week\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n// Day of Week\nproto$1.weekdays       =        localeWeekdays;\nproto$1.weekdaysMin    =        localeWeekdaysMin;\nproto$1.weekdaysShort  =        localeWeekdaysShort;\nproto$1.weekdaysParse  =        localeWeekdaysParse;\n\nproto$1.weekdaysRegex       =        weekdaysRegex;\nproto$1.weekdaysShortRegex  =        weekdaysShortRegex;\nproto$1.weekdaysMinRegex    =        weekdaysMinRegex;\n\n// Hours\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1 (format, index, field, setter) {\n    var locale = getLocale();\n    var utc = createUTC().set(setter, index);\n    return locale[field](utc, format);\n}\n\nfunction listMonthsImpl (format, index, field) {\n    if (isNumber(format)) {\n        index = format;\n        format = undefined;\n    }\n\n    format = format || '';\n\n    if (index != null) {\n        return get$1(format, index, field, 'month');\n    }\n\n    var i;\n    var out = [];\n    for (i = 0; i &lt; 12; i++) {\n        out[i] = get$1(format, i, field, 'month');\n    }\n    return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl (localeSorted, format, index, field) {\n    if (typeof localeSorted === 'boolean') {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n    } else {\n        format = localeSorted;\n        index = format;\n        localeSorted = false;\n\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n    }\n\n    var locale = getLocale(),\n        shift = localeSorted ? locale._week.dow : 0;\n\n    if (index != null) {\n        return get$1(format, (index + shift) % 7, field, 'day');\n    }\n\n    var i;\n    var out = [];\n    for (i = 0; i &lt; 7; i++) {\n        out[i] = get$1(format, (i + shift) % 7, field, 'day');\n    }\n    return out;\n}\n\nfunction listMonths (format, index) {\n    return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n    return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n    return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n    dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n    ordinal : function (number) {\n        var b = number % 10,\n            output = (toInt(number % 100 / 10) === 1) ? 'th' :\n            (b === 1) ? 'st' :\n            (b === 2) ? 'nd' :\n            (b === 3) ? 'rd' : 'th';\n        return number + output;\n    }\n});\n\n// Side effect imports\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction abs () {\n    var data           = this._data;\n\n    this._milliseconds = mathAbs(this._milliseconds);\n    this._days         = mathAbs(this._days);\n    this._months       = mathAbs(this._months);\n\n    data.milliseconds  = mathAbs(data.milliseconds);\n    data.seconds       = mathAbs(data.seconds);\n    data.minutes       = mathAbs(data.minutes);\n    data.hours         = mathAbs(data.hours);\n    data.months        = mathAbs(data.months);\n    data.years         = mathAbs(data.years);\n\n    return this;\n}\n\nfunction addSubtract$1 (duration, input, value, direction) {\n    var other = createDuration(input, value);\n\n    duration._milliseconds += direction * other._milliseconds;\n    duration._days         += direction * other._days;\n    duration._months       += direction * other._months;\n\n    return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1 (input, value) {\n    return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1 (input, value) {\n    return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n    if (number &lt; 0) {\n        return Math.floor(number);\n    } else {\n        return Math.ceil(number);\n    }\n}\n\nfunction bubble () {\n    var milliseconds = this._milliseconds;\n    var days         = this._days;\n    var months       = this._months;\n    var data         = this._data;\n    var seconds, minutes, hours, years, monthsFromDays;\n\n    // if we have a mix of positive and negative values, bubble down first\n    // check: https://github.com/moment/moment/issues/2166\n    if (!((milliseconds &gt;= 0 &amp;&amp; days &gt;= 0 &amp;&amp; months &gt;= 0) ||\n            (milliseconds &lt;= 0 &amp;&amp; days &lt;= 0 &amp;&amp; months &lt;= 0))) {\n        milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n        days = 0;\n        months = 0;\n    }\n\n    // The following code bubbles up values, see the tests for\n    // examples of what that means.\n    data.milliseconds = milliseconds % 1000;\n\n    seconds           = absFloor(milliseconds / 1000);\n    data.seconds      = seconds % 60;\n\n    minutes           = absFloor(seconds / 60);\n    data.minutes      = minutes % 60;\n\n    hours             = absFloor(minutes / 60);\n    data.hours        = hours % 24;\n\n    days += absFloor(hours / 24);\n\n    // convert days to months\n    monthsFromDays = absFloor(daysToMonths(days));\n    months += monthsFromDays;\n    days -= absCeil(monthsToDays(monthsFromDays));\n\n    // 12 months -&gt; 1 year\n    years = absFloor(months / 12);\n    months %= 12;\n\n    data.days   = days;\n    data.months = months;\n    data.years  = years;\n\n    return this;\n}\n\nfunction daysToMonths (days) {\n    // 400 years have 146097 days (taking into account leap year rules)\n    // 400 years have 12 months === 4800\n    return days * 4800 / 146097;\n}\n\nfunction monthsToDays (months) {\n    // the reverse of daysToMonths\n    return months * 146097 / 4800;\n}\n\nfunction as (units) {\n    if (!this.isValid()) {\n        return NaN;\n    }\n    var days;\n    var months;\n    var milliseconds = this._milliseconds;\n\n    units = normalizeUnits(units);\n\n    if (units === 'month' || units === 'year') {\n        days   = this._days   + milliseconds / 864e5;\n        months = this._months + daysToMonths(days);\n        return units === 'month' ? months : months / 12;\n    } else {\n        // handle milliseconds separately because of floating point math errors (issue #1867)\n        days = this._days + Math.round(monthsToDays(this._months));\n        switch (units) {\n            case 'week'   : return days / 7     + milliseconds / 6048e5;\n            case 'day'    : return days         + milliseconds / 864e5;\n            case 'hour'   : return days * 24    + milliseconds / 36e5;\n            case 'minute' : return days * 1440  + milliseconds / 6e4;\n            case 'second' : return days * 86400 + milliseconds / 1000;\n            // Math.floor prevents floating point math errors here\n            case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n            default: throw new Error('Unknown unit ' + units);\n        }\n    }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1 () {\n    if (!this.isValid()) {\n        return NaN;\n    }\n    return (\n        this._milliseconds +\n        this._days * 864e5 +\n        (this._months % 12) * 2592e6 +\n        toInt(this._months / 12) * 31536e6\n    );\n}\n\nfunction makeAs (alias) {\n    return function () {\n        return this.as(alias);\n    };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds      = makeAs('s');\nvar asMinutes      = makeAs('m');\nvar asHours        = makeAs('h');\nvar asDays         = makeAs('d');\nvar asWeeks        = makeAs('w');\nvar asMonths       = makeAs('M');\nvar asYears        = makeAs('y');\n\nfunction clone$1 () {\n    return createDuration(this);\n}\n\nfunction get$2 (units) {\n    units = normalizeUnits(units);\n    return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n    return function () {\n        return this.isValid() ? this._data[name] : NaN;\n    };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds      = makeGetter('seconds');\nvar minutes      = makeGetter('minutes');\nvar hours        = makeGetter('hours');\nvar days         = makeGetter('days');\nvar months       = makeGetter('months');\nvar years        = makeGetter('years');\n\nfunction weeks () {\n    return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar thresholds = {\n    ss: 44,         // a few seconds to seconds\n    s : 45,         // seconds to minute\n    m : 45,         // minutes to hour\n    h : 22,         // hours to day\n    d : 26,         // days to month\n    M : 11          // months to year\n};\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n    return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n    var duration = createDuration(posNegDuration).abs();\n    var seconds  = round(duration.as('s'));\n    var minutes  = round(duration.as('m'));\n    var hours    = round(duration.as('h'));\n    var days     = round(duration.as('d'));\n    var months   = round(duration.as('M'));\n    var years    = round(duration.as('y'));\n\n    var a = seconds &lt;= thresholds.ss &amp;&amp; ['s', seconds]  ||\n            seconds &lt; thresholds.s   &amp;&amp; ['ss', seconds] ||\n            minutes &lt;= 1             &amp;&amp; ['m']           ||\n            minutes &lt; thresholds.m   &amp;&amp; ['mm', minutes] ||\n            hours   &lt;= 1             &amp;&amp; ['h']           ||\n            hours   &lt; thresholds.h   &amp;&amp; ['hh', hours]   ||\n            days    &lt;= 1             &amp;&amp; ['d']           ||\n            days    &lt; thresholds.d   &amp;&amp; ['dd', days]    ||\n            months  &lt;= 1             &amp;&amp; ['M']           ||\n            months  &lt; thresholds.M   &amp;&amp; ['MM', months]  ||\n            years   &lt;= 1             &amp;&amp; ['y']           || ['yy', years];\n\n    a[2] = withoutSuffix;\n    a[3] = +posNegDuration &gt; 0;\n    a[4] = locale;\n    return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding (roundingFunction) {\n    if (roundingFunction === undefined) {\n        return round;\n    }\n    if (typeof(roundingFunction) === 'function') {\n        round = roundingFunction;\n        return true;\n    }\n    return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold (threshold, limit) {\n    if (thresholds[threshold] === undefined) {\n        return false;\n    }\n    if (limit === undefined) {\n        return thresholds[threshold];\n    }\n    thresholds[threshold] = limit;\n    if (threshold === 's') {\n        thresholds.ss = limit - 1;\n    }\n    return true;\n}\n\nfunction humanize (withSuffix) {\n    if (!this.isValid()) {\n        return this.localeData().invalidDate();\n    }\n\n    var locale = this.localeData();\n    var output = relativeTime$1(this, !withSuffix, locale);\n\n    if (withSuffix) {\n        output = locale.pastFuture(+this, output);\n    }\n\n    return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n    return ((x &gt; 0) - (x &lt; 0)) || +x;\n}\n\nfunction toISOString$1() {\n    // for ISO strings we do not use the normal bubbling rules:\n    //  * milliseconds bubble up until they become hours\n    //  * days do not bubble at all\n    //  * months bubble up until they become years\n    // This is because there is no context-free conversion between hours and days\n    // (think of clock changes)\n    // and also not between days and months (28-31 days per month)\n    if (!this.isValid()) {\n        return this.localeData().invalidDate();\n    }\n\n    var seconds = abs$1(this._milliseconds) / 1000;\n    var days         = abs$1(this._days);\n    var months       = abs$1(this._months);\n    var minutes, hours, years;\n\n    // 3600 seconds -&gt; 60 minutes -&gt; 1 hour\n    minutes           = absFloor(seconds / 60);\n    hours             = absFloor(minutes / 60);\n    seconds %= 60;\n    minutes %= 60;\n\n    // 12 months -&gt; 1 year\n    years  = absFloor(months / 12);\n    months %= 12;\n\n\n    // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n    var Y = years;\n    var M = months;\n    var D = days;\n    var h = hours;\n    var m = minutes;\n    var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n    var total = this.asSeconds();\n\n    if (!total) {\n        // this is the same as C#'s (Noda) and python (isodate)...\n        // but not other JS (goog.date)\n        return 'P0D';\n    }\n\n    var totalSign = total &lt; 0 ? '-' : '';\n    var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n    var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n    var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n    return totalSign + 'P' +\n        (Y ? ymSign + Y + 'Y' : '') +\n        (M ? ymSign + M + 'M' : '') +\n        (D ? daysSign + D + 'D' : '') +\n        ((h || m || s) ? 'T' : '') +\n        (h ? hmsSign + h + 'H' : '') +\n        (m ? hmsSign + m + 'M' : '') +\n        (s ? hmsSign + s + 'S' : '');\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid        = isValid$1;\nproto$2.abs            = abs;\nproto$2.add            = add$1;\nproto$2.subtract       = subtract$1;\nproto$2.as             = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds      = asSeconds;\nproto$2.asMinutes      = asMinutes;\nproto$2.asHours        = asHours;\nproto$2.asDays         = asDays;\nproto$2.asWeeks        = asWeeks;\nproto$2.asMonths       = asMonths;\nproto$2.asYears        = asYears;\nproto$2.valueOf        = valueOf$1;\nproto$2._bubble        = bubble;\nproto$2.clone          = clone$1;\nproto$2.get            = get$2;\nproto$2.milliseconds   = milliseconds;\nproto$2.seconds        = seconds;\nproto$2.minutes        = minutes;\nproto$2.hours          = hours;\nproto$2.days           = days;\nproto$2.weeks          = weeks;\nproto$2.months         = months;\nproto$2.years          = years;\nproto$2.humanize       = humanize;\nproto$2.toISOString    = toISOString$1;\nproto$2.toString       = toISOString$1;\nproto$2.toJSON         = toISOString$1;\nproto$2.locale         = locale;\nproto$2.localeData     = localeData;\n\n// Deprecations\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n    config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n    config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.20.1';\n\nsetHookCallback(createLocal);\n\nhooks.fn                    = proto;\nhooks.min                   = min;\nhooks.max                   = max;\nhooks.now                   = now;\nhooks.utc                   = createUTC;\nhooks.unix                  = createUnix;\nhooks.months                = listMonths;\nhooks.isDate                = isDate;\nhooks.locale                = getSetGlobalLocale;\nhooks.invalid               = createInvalid;\nhooks.duration              = createDuration;\nhooks.isMoment              = isMoment;\nhooks.weekdays              = listWeekdays;\nhooks.parseZone             = createInZone;\nhooks.localeData            = getLocale;\nhooks.isDuration            = isDuration;\nhooks.monthsShort           = listMonthsShort;\nhooks.weekdaysMin           = listWeekdaysMin;\nhooks.defineLocale          = defineLocale;\nhooks.updateLocale          = updateLocale;\nhooks.locales               = listLocales;\nhooks.weekdaysShort         = listWeekdaysShort;\nhooks.normalizeUnits        = normalizeUnits;\nhooks.relativeTimeRounding  = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat        = getCalendarFormat;\nhooks.prototype             = proto;\n\n// currently HTML5 input type only supports 24-hour formats\nhooks.HTML5_FMT = {\n    DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // &lt;input type=\"datetime-local\" /&gt;\n    DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // &lt;input type=\"datetime-local\" step=\"1\" /&gt;\n    DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // &lt;input type=\"datetime-local\" step=\"0.001\" /&gt;\n    DATE: 'YYYY-MM-DD',                             // &lt;input type=\"date\" /&gt;\n    TIME: 'HH:mm',                                  // &lt;input type=\"time\" /&gt;\n    TIME_SECONDS: 'HH:mm:ss',                       // &lt;input type=\"time\" step=\"1\" /&gt;\n    TIME_MS: 'HH:mm:ss.SSS',                        // &lt;input type=\"time\" step=\"0.001\" /&gt;\n    WEEK: 'YYYY-[W]WW',                             // &lt;input type=\"week\" /&gt;\n    MONTH: 'YYYY-MM'                                // &lt;input type=\"month\" /&gt;\n};\n\nreturn hooks;\n\n})));\n\n},{}],7:[function(require,module,exports){\n/**\n * @namespace Chart\n */\nvar Chart = require(29)();\n\nChart.helpers = require(45);\n\n// @todo dispatch these helpers into appropriated helpers/helpers.* file and write unit tests!\nrequire(27)(Chart);\n\nChart.defaults = require(25);\nChart.Element = require(26);\nChart.elements = require(40);\nChart.Interaction = require(28);\nChart.layouts = require(30);\nChart.platform = require(48);\nChart.plugins = require(31);\nChart.Ticks = require(34);\n\nrequire(22)(Chart);\nrequire(23)(Chart);\nrequire(24)(Chart);\nrequire(33)(Chart);\nrequire(32)(Chart);\nrequire(35)(Chart);\n\nrequire(55)(Chart);\nrequire(53)(Chart);\nrequire(54)(Chart);\nrequire(56)(Chart);\nrequire(57)(Chart);\nrequire(58)(Chart);\n\n// Controllers must be loaded after elements\n// See Chart.core.datasetController.dataElementType\nrequire(15)(Chart);\nrequire(16)(Chart);\nrequire(17)(Chart);\nrequire(18)(Chart);\nrequire(19)(Chart);\nrequire(20)(Chart);\nrequire(21)(Chart);\n\nrequire(8)(Chart);\nrequire(9)(Chart);\nrequire(10)(Chart);\nrequire(11)(Chart);\nrequire(12)(Chart);\nrequire(13)(Chart);\nrequire(14)(Chart);\n\n// Loading built-it plugins\nvar plugins = require(49);\nfor (var k in plugins) {\n\tif (plugins.hasOwnProperty(k)) {\n\t\tChart.plugins.register(plugins[k]);\n\t}\n}\n\nChart.platform.initialize();\n\nmodule.exports = Chart;\nif (typeof window !== 'undefined') {\n\twindow.Chart = Chart;\n}\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, not available anymore\n * @namespace Chart.Legend\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.Legend = plugins.legend._element;\n\n/**\n * Provided for backward compatibility, not available anymore\n * @namespace Chart.Title\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.Title = plugins.title._element;\n\n/**\n * Provided for backward compatibility, use Chart.plugins instead\n * @namespace Chart.pluginService\n * @deprecated since version 2.1.5\n * @todo remove at version 3\n * @private\n */\nChart.pluginService = Chart.plugins;\n\n/**\n * Provided for backward compatibility, inheriting from Chart.PlugingBase has no\n * effect, instead simply create/register plugins via plain JavaScript objects.\n * @interface Chart.PluginBase\n * @deprecated since version 2.5.0\n * @todo remove at version 3\n * @private\n */\nChart.PluginBase = Chart.Element.extend({});\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas instead.\n * @namespace Chart.canvasHelpers\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nChart.canvasHelpers = Chart.helpers.canvas;\n\n/**\n * Provided for backward compatibility, use Chart.layouts instead.\n * @namespace Chart.layoutService\n * @deprecated since version 2.8.0\n * @todo remove at version 3\n * @private\n */\nChart.layoutService = Chart.layouts;\n\n},{\"10\":10,\"11\":11,\"12\":12,\"13\":13,\"14\":14,\"15\":15,\"16\":16,\"17\":17,\"18\":18,\"19\":19,\"20\":20,\"21\":21,\"22\":22,\"23\":23,\"24\":24,\"25\":25,\"26\":26,\"27\":27,\"28\":28,\"29\":29,\"30\":30,\"31\":31,\"32\":32,\"33\":33,\"34\":34,\"35\":35,\"40\":40,\"45\":45,\"48\":48,\"49\":49,\"53\":53,\"54\":54,\"55\":55,\"56\":56,\"57\":57,\"58\":58,\"8\":8,\"9\":9}],8:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bar = function(context, config) {\n\t\tconfig.type = 'bar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n},{}],9:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Bubble = function(context, config) {\n\t\tconfig.type = 'bubble';\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n},{}],10:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Doughnut = function(context, config) {\n\t\tconfig.type = 'doughnut';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n},{}],11:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Line = function(context, config) {\n\t\tconfig.type = 'line';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n},{}],12:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.PolarArea = function(context, config) {\n\t\tconfig.type = 'polarArea';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n},{}],13:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\tChart.Radar = function(context, config) {\n\t\tconfig.type = 'radar';\n\n\t\treturn new Chart(context, config);\n\t};\n\n};\n\n},{}],14:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\tChart.Scatter = function(context, config) {\n\t\tconfig.type = 'scatter';\n\t\treturn new Chart(context, config);\n\t};\n};\n\n},{}],15:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('bar', {\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\n\t\t\t// Specific to Bar Controller\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9,\n\n\t\t\t// offset settings\n\t\t\toffset: true,\n\n\t\t\t// grid line settings\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\ttype: 'linear'\n\t\t}]\n\t}\n});\n\ndefaults._set('horizontalBar', {\n\thover: {\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'bottom'\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\tposition: 'left',\n\t\t\ttype: 'category',\n\n\t\t\t// Specific to Horizontal Bar Controller\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9,\n\n\t\t\t// offset settings\n\t\t\toffset: true,\n\n\t\t\t// grid line settings\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}]\n\t},\n\n\telements: {\n\t\trectangle: {\n\t\t\tborderSkipped: 'left'\n\t\t}\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function(item, data) {\n\t\t\t\t// Pick first xLabel for now\n\t\t\t\tvar title = '';\n\n\t\t\t\tif (item.length &gt; 0) {\n\t\t\t\t\tif (item[0].yLabel) {\n\t\t\t\t\t\ttitle = item[0].yLabel;\n\t\t\t\t\t} else if (data.labels.length &gt; 0 &amp;&amp; item[0].index &lt; data.labels.length) {\n\t\t\t\t\t\ttitle = data.labels[item[0].index];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn title;\n\t\t\t},\n\n\t\t\tlabel: function(item, data) {\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\n\t\t\t\treturn datasetLabel + ': ' + item.xLabel;\n\t\t\t}\n\t\t},\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t}\n});\n\n/**\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\n * @private\n */\nfunction computeMinSampleSize(scale, pixels) {\n\tvar min = scale.isHorizontal() ? scale.width : scale.height;\n\tvar ticks = scale.getTicks();\n\tvar prev, curr, i, ilen;\n\n\tfor (i = 1, ilen = pixels.length; i &lt; ilen; ++i) {\n\t\tmin = Math.min(min, pixels[i] - pixels[i - 1]);\n\t}\n\n\tfor (i = 0, ilen = ticks.length; i &lt; ilen; ++i) {\n\t\tcurr = scale.getPixelForTick(i);\n\t\tmin = i &gt; 0 ? Math.min(min, curr - prev) : min;\n\t\tprev = curr;\n\t}\n\n\treturn min;\n}\n\n/**\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\n * @private\n */\nfunction computeFitCategoryTraits(index, ruler, options) {\n\tvar thickness = options.barThickness;\n\tvar count = ruler.stackCount;\n\tvar curr = ruler.pixels[index];\n\tvar size, ratio;\n\n\tif (helpers.isNullOrUndef(thickness)) {\n\t\tsize = ruler.min * options.categoryPercentage;\n\t\tratio = options.barPercentage;\n\t} else {\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\n\t\tsize = thickness * count;\n\t\tratio = 1;\n\t}\n\n\treturn {\n\t\tchunk: size / count,\n\t\tratio: ratio,\n\t\tstart: curr - (size / 2)\n\t};\n}\n\n/**\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\n * percentage options are 1), based on the previous and following categories. This mode\n * generates bars with different widths when data are not evenly spaced.\n * @private\n */\nfunction computeFlexCategoryTraits(index, ruler, options) {\n\tvar pixels = ruler.pixels;\n\tvar curr = pixels[index];\n\tvar prev = index &gt; 0 ? pixels[index - 1] : null;\n\tvar next = index &lt; pixels.length - 1 ? pixels[index + 1] : null;\n\tvar percent = options.categoryPercentage;\n\tvar start, size;\n\n\tif (prev === null) {\n\t\t// first data: its size is double based on the next point or,\n\t\t// if it's also the last data, we use the scale end extremity.\n\t\tprev = curr - (next === null ? ruler.end - curr : next - curr);\n\t}\n\n\tif (next === null) {\n\t\t// last data: its size is also double based on the previous point.\n\t\tnext = curr + curr - prev;\n\t}\n\n\tstart = curr - ((curr - prev) / 2) * percent;\n\tsize = ((next - prev) / 2) * percent;\n\n\treturn {\n\t\tchunk: size / ruler.stackCount,\n\t\tratio: options.barPercentage,\n\t\tstart: start\n\t};\n}\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.bar = Chart.DatasetController.extend({\n\n\t\tdataElementType: elements.Rectangle,\n\n\t\tinitialize: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta;\n\n\t\t\tChart.DatasetController.prototype.initialize.apply(me, arguments);\n\n\t\t\tmeta = me.getMeta();\n\t\t\tmeta.stack = me.getDataset().stack;\n\t\t\tmeta.bar = true;\n\t\t},\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar rects = me.getMeta().data;\n\t\t\tvar i, ilen;\n\n\t\t\tme._ruler = me.getRuler();\n\n\t\t\tfor (i = 0, ilen = rects.length; i &lt; ilen; ++i) {\n\t\t\t\tme.updateElement(rects[i], i, reset);\n\t\t\t}\n\t\t},\n\n\t\tupdateElement: function(rectangle, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar rectangleOptions = chart.options.elements.rectangle;\n\n\t\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\n\t\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\n\t\t\trectangle._datasetIndex = me.index;\n\t\t\trectangle._index = index;\n\n\t\t\trectangle._model = {\n\t\t\t\tdatasetLabel: dataset.label,\n\t\t\t\tlabel: chart.data.labels[index],\n\t\t\t\tborderSkipped: custom.borderSkipped ? custom.borderSkipped : rectangleOptions.borderSkipped,\n\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleOptions.backgroundColor),\n\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleOptions.borderColor),\n\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleOptions.borderWidth)\n\t\t\t};\n\n\t\t\tme.updateElementGeometry(rectangle, index, reset);\n\n\t\t\trectangle.pivot();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tupdateElementGeometry: function(rectangle, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar model = rectangle._model;\n\t\t\tvar vscale = me.getValueScale();\n\t\t\tvar base = vscale.getBasePixel();\n\t\t\tvar horizontal = vscale.isHorizontal();\n\t\t\tvar ruler = me._ruler || me.getRuler();\n\t\t\tvar vpixels = me.calculateBarValuePixels(me.index, index);\n\t\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler);\n\n\t\t\tmodel.horizontal = horizontal;\n\t\t\tmodel.base = reset ? base : vpixels.base;\n\t\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\n\t\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\n\t\t\tmodel.height = horizontal ? ipixels.size : undefined;\n\t\t\tmodel.width = horizontal ? undefined : ipixels.size;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScaleId: function() {\n\t\t\treturn this.getMeta().yAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScaleId: function() {\n\t\t\treturn this.getMeta().xAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScale: function() {\n\t\t\treturn this.getScaleForId(this.getValueScaleId());\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScale: function() {\n\t\t\treturn this.getScaleForId(this.getIndexScaleId());\n\t\t},\n\n\t\t/**\n\t\t * Returns the stacks based on groups and bar visibility.\n\t\t * @param {Number} [last] - The dataset index\n\t\t * @returns {Array} The stack list\n\t\t * @private\n\t\t */\n\t\t_getStacks: function(last) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar scale = me.getIndexScale();\n\t\t\tvar stacked = scale.options.stacked;\n\t\t\tvar ilen = last === undefined ? chart.data.datasets.length : last + 1;\n\t\t\tvar stacks = [];\n\t\t\tvar i, meta;\n\n\t\t\tfor (i = 0; i &lt; ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tif (meta.bar &amp;&amp; chart.isDatasetVisible(i) &amp;&amp;\n\t\t\t\t\t(stacked === false ||\n\t\t\t\t\t(stacked === true &amp;&amp; stacks.indexOf(meta.stack) === -1) ||\n\t\t\t\t\t(stacked === undefined &amp;&amp; (meta.stack === undefined || stacks.indexOf(meta.stack) === -1)))) {\n\t\t\t\t\tstacks.push(meta.stack);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn stacks;\n\t\t},\n\n\t\t/**\n\t\t * Returns the effective number of stacks based on groups and bar visibility.\n\t\t * @private\n\t\t */\n\t\tgetStackCount: function() {\n\t\t\treturn this._getStacks().length;\n\t\t},\n\n\t\t/**\n\t\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t\t * @param {Number} [datasetIndex] - The dataset index\n\t\t * @param {String} [name] - The stack name to find\n\t\t * @returns {Number} The stack index\n\t\t * @private\n\t\t */\n\t\tgetStackIndex: function(datasetIndex, name) {\n\t\t\tvar stacks = this._getStacks(datasetIndex);\n\t\t\tvar index = (name !== undefined)\n\t\t\t\t? stacks.indexOf(name)\n\t\t\t\t: -1; // indexOf returns -1 if element is not present\n\n\t\t\treturn (index === -1)\n\t\t\t\t? stacks.length - 1\n\t\t\t\t: index;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetRuler: function() {\n\t\t\tvar me = this;\n\t\t\tvar scale = me.getIndexScale();\n\t\t\tvar stackCount = me.getStackCount();\n\t\t\tvar datasetIndex = me.index;\n\t\t\tvar isHorizontal = scale.isHorizontal();\n\t\t\tvar start = isHorizontal ? scale.left : scale.top;\n\t\t\tvar end = start + (isHorizontal ? scale.width : scale.height);\n\t\t\tvar pixels = [];\n\t\t\tvar i, ilen, min;\n\n\t\t\tfor (i = 0, ilen = me.getMeta().data.length; i &lt; ilen; ++i) {\n\t\t\t\tpixels.push(scale.getPixelForValue(null, i, datasetIndex));\n\t\t\t}\n\n\t\t\tmin = helpers.isNullOrUndef(scale.options.barThickness)\n\t\t\t\t? computeMinSampleSize(scale, pixels)\n\t\t\t\t: -1;\n\n\t\t\treturn {\n\t\t\t\tmin: min,\n\t\t\t\tpixels: pixels,\n\t\t\t\tstart: start,\n\t\t\t\tend: end,\n\t\t\t\tstackCount: stackCount,\n\t\t\t\tscale: scale\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Note: pixel values are not clamped to the scale area.\n\t\t * @private\n\t\t */\n\t\tcalculateBarValuePixels: function(datasetIndex, index) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar scale = me.getValueScale();\n\t\t\tvar datasets = chart.data.datasets;\n\t\t\tvar value = scale.getRightValue(datasets[datasetIndex].data[index]);\n\t\t\tvar stacked = scale.options.stacked;\n\t\t\tvar stack = meta.stack;\n\t\t\tvar start = 0;\n\t\t\tvar i, imeta, ivalue, base, head, size;\n\n\t\t\tif (stacked || (stacked === undefined &amp;&amp; stack !== undefined)) {\n\t\t\t\tfor (i = 0; i &lt; datasetIndex; ++i) {\n\t\t\t\t\timeta = chart.getDatasetMeta(i);\n\n\t\t\t\t\tif (imeta.bar &amp;&amp;\n\t\t\t\t\t\timeta.stack === stack &amp;&amp;\n\t\t\t\t\t\timeta.controller.getValueScaleId() === scale.id &amp;&amp;\n\t\t\t\t\t\tchart.isDatasetVisible(i)) {\n\n\t\t\t\t\t\tivalue = scale.getRightValue(datasets[i].data[index]);\n\t\t\t\t\t\tif ((value &lt; 0 &amp;&amp; ivalue &lt; 0) || (value &gt;= 0 &amp;&amp; ivalue &gt; 0)) {\n\t\t\t\t\t\t\tstart += ivalue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbase = scale.getPixelForValue(start);\n\t\t\thead = scale.getPixelForValue(start + value);\n\t\t\tsize = (head - base) / 2;\n\n\t\t\treturn {\n\t\t\t\tsize: size,\n\t\t\t\tbase: base,\n\t\t\t\thead: head,\n\t\t\t\tcenter: head + size / 2\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tcalculateBarIndexPixels: function(datasetIndex, index, ruler) {\n\t\t\tvar me = this;\n\t\t\tvar options = ruler.scale.options;\n\t\t\tvar range = options.barThickness === 'flex'\n\t\t\t\t? computeFlexCategoryTraits(index, ruler, options)\n\t\t\t\t: computeFitCategoryTraits(index, ruler, options);\n\n\t\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\n\t\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n\t\t\tvar size = Math.min(\n\t\t\t\thelpers.valueOrDefault(options.maxBarThickness, Infinity),\n\t\t\t\trange.chunk * range.ratio);\n\n\t\t\treturn {\n\t\t\t\tbase: center - size / 2,\n\t\t\t\thead: center + size / 2,\n\t\t\t\tcenter: center,\n\t\t\t\tsize: size\n\t\t\t};\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar scale = me.getValueScale();\n\t\t\tvar rects = me.getMeta().data;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar ilen = rects.length;\n\t\t\tvar i = 0;\n\n\t\t\thelpers.canvas.clipArea(chart.ctx, chart.chartArea);\n\n\t\t\tfor (; i &lt; ilen; ++i) {\n\t\t\t\tif (!isNaN(scale.getRightValue(dataset.data[i]))) {\n\t\t\t\t\trects[i].draw();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\n\t\t},\n\n\t\tsetHoverStyle: function(rectangle) {\n\t\t\tvar dataset = this.chart.data.datasets[rectangle._datasetIndex];\n\t\t\tvar index = rectangle._index;\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar model = rectangle._model;\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.hoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.hoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(rectangle) {\n\t\t\tvar dataset = this.chart.data.datasets[rectangle._datasetIndex];\n\t\t\tvar index = rectangle._index;\n\t\t\tvar custom = rectangle.custom || {};\n\t\t\tvar model = rectangle._model;\n\t\t\tvar rectangleElementOptions = this.chart.options.elements.rectangle;\n\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.backgroundColor, index, rectangleElementOptions.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.borderColor, index, rectangleElementOptions.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.borderWidth, index, rectangleElementOptions.borderWidth);\n\t\t}\n\t});\n\n\tChart.controllers.horizontalBar = Chart.controllers.bar.extend({\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetValueScaleId: function() {\n\t\t\treturn this.getMeta().xAxisID;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetIndexScaleId: function() {\n\t\t\treturn this.getMeta().yAxisID;\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],16:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('bubble', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\n\t\t\tposition: 'bottom',\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.bubble = Chart.DatasetController.extend({\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tdataElementType: elements.Point,\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data;\n\n\t\t\t// Update Points\n\t\t\thelpers.each(points, function(point, index) {\n\t\t\t\tme.updateElement(point, index, reset);\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar options = me._resolveElementOptions(point, index);\n\t\t\tvar data = me.getDataset().data[index];\n\t\t\tvar dsIndex = me.index;\n\n\t\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\n\t\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\n\n\t\t\tpoint._xScale = xScale;\n\t\t\tpoint._yScale = yScale;\n\t\t\tpoint._options = options;\n\t\t\tpoint._datasetIndex = dsIndex;\n\t\t\tpoint._index = index;\n\t\t\tpoint._model = {\n\t\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\t\tborderColor: options.borderColor,\n\t\t\t\tborderWidth: options.borderWidth,\n\t\t\t\thitRadius: options.hitRadius,\n\t\t\t\tpointStyle: options.pointStyle,\n\t\t\t\tradius: reset ? 0 : options.radius,\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t};\n\n\t\t\tpoint.pivot();\n\t\t},\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tsetHoverStyle: function(point) {\n\t\t\tvar model = point._model;\n\t\t\tvar options = point._options;\n\n\t\t\tmodel.backgroundColor = helpers.valueOrDefault(options.hoverBackgroundColor, helpers.getHoverColor(options.backgroundColor));\n\t\t\tmodel.borderColor = helpers.valueOrDefault(options.hoverBorderColor, helpers.getHoverColor(options.borderColor));\n\t\t\tmodel.borderWidth = helpers.valueOrDefault(options.hoverBorderWidth, options.borderWidth);\n\t\t\tmodel.radius = options.radius + options.hoverRadius;\n\t\t},\n\n\t\t/**\n\t\t * @protected\n\t\t */\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar model = point._model;\n\t\t\tvar options = point._options;\n\n\t\t\tmodel.backgroundColor = options.backgroundColor;\n\t\t\tmodel.borderColor = options.borderColor;\n\t\t\tmodel.borderWidth = options.borderWidth;\n\t\t\tmodel.radius = options.radius;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\t_resolveElementOptions: function(point, index) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar datasets = chart.data.datasets;\n\t\t\tvar dataset = datasets[me.index];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar options = chart.options.elements.point;\n\t\t\tvar resolve = helpers.options.resolve;\n\t\t\tvar data = dataset.data[index];\n\t\t\tvar values = {};\n\t\t\tvar i, ilen, key;\n\n\t\t\t// Scriptable options\n\t\t\tvar context = {\n\t\t\t\tchart: chart,\n\t\t\t\tdataIndex: index,\n\t\t\t\tdataset: dataset,\n\t\t\t\tdatasetIndex: me.index\n\t\t\t};\n\n\t\t\tvar keys = [\n\t\t\t\t'backgroundColor',\n\t\t\t\t'borderColor',\n\t\t\t\t'borderWidth',\n\t\t\t\t'hoverBackgroundColor',\n\t\t\t\t'hoverBorderColor',\n\t\t\t\t'hoverBorderWidth',\n\t\t\t\t'hoverRadius',\n\t\t\t\t'hitRadius',\n\t\t\t\t'pointStyle'\n\t\t\t];\n\n\t\t\tfor (i = 0, ilen = keys.length; i &lt; ilen; ++i) {\n\t\t\t\tkey = keys[i];\n\t\t\t\tvalues[key] = resolve([\n\t\t\t\t\tcustom[key],\n\t\t\t\t\tdataset[key],\n\t\t\t\t\toptions[key]\n\t\t\t\t], context, index);\n\t\t\t}\n\n\t\t\t// Custom radius resolution\n\t\t\tvalues.radius = resolve([\n\t\t\t\tcustom.radius,\n\t\t\t\tdata ? data.r : undefined,\n\t\t\t\tdataset.radius,\n\t\t\t\toptions.radius\n\t\t\t], context, index);\n\n\t\t\treturn values;\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],17:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('doughnut', {\n\tanimation: {\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\n\t\tanimateRotate: true,\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\n\t\tanimateScale: false\n\t},\n\thover: {\n\t\tmode: 'single'\n\t},\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('&lt;ul class=\"' + chart.id + '-legend\"&gt;');\n\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\n\t\tif (datasets.length) {\n\t\t\tfor (var i = 0; i &lt; datasets[0].data.length; ++i) {\n\t\t\t\ttext.push('&lt;li&gt;&lt;span style=\"background-color:' + datasets[0].backgroundColor[i] + '\"&gt;&lt;/span&gt;');\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\ttext.push(labels[i]);\n\t\t\t\t}\n\t\t\t\ttext.push('&lt;/li&gt;');\n\t\t\t}\n\t\t}\n\n\t\ttext.push('&lt;/ul&gt;');\n\t\treturn text.join('');\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length &amp;&amp; data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar ds = data.datasets[0];\n\t\t\t\t\t\tvar arc = meta.data[i];\n\t\t\t\t\t\tvar custom = arc &amp;&amp; arc.custom || {};\n\t\t\t\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\n\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\n\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: fill,\n\t\t\t\t\t\t\tstrokeStyle: stroke,\n\t\t\t\t\t\t\tlineWidth: bw,\n\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i &lt; ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t// toggle visibility of index if exists\n\t\t\t\tif (meta.data[index]) {\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// The percentage of the chart that we cut out of the middle.\n\tcutoutPercentage: 50,\n\n\t// The rotation of the chart, where the first data arc begins.\n\trotation: Math.PI * -0.5,\n\n\t// The total circumference of the chart.\n\tcircumference: Math.PI * 2.0,\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n\n\t\t\t\tif (helpers.isArray(dataLabel)) {\n\t\t\t\t\t// show value on first line of multiline label\n\t\t\t\t\t// need to clone because we are changing the value\n\t\t\t\t\tdataLabel = dataLabel.slice();\n\t\t\t\t\tdataLabel[0] += value;\n\t\t\t\t} else {\n\t\t\t\t\tdataLabel += value;\n\t\t\t\t}\n\n\t\t\t\treturn dataLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\ndefaults._set('pie', helpers.clone(defaults.doughnut));\ndefaults._set('pie', {\n\tcutoutPercentage: 0\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.doughnut = Chart.controllers.pie = Chart.DatasetController.extend({\n\n\t\tdataElementType: elements.Arc,\n\n\t\tlinkScales: helpers.noop,\n\n\t\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\n\t\tgetRingIndex: function(datasetIndex) {\n\t\t\tvar ringIndex = 0;\n\n\t\t\tfor (var j = 0; j &lt; datasetIndex; ++j) {\n\t\t\t\tif (this.chart.isDatasetVisible(j)) {\n\t\t\t\t\t++ringIndex;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn ringIndex;\n\t\t},\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar opts = chart.options;\n\t\t\tvar arcOpts = opts.elements.arc;\n\t\t\tvar availableWidth = chartArea.right - chartArea.left - arcOpts.borderWidth;\n\t\t\tvar availableHeight = chartArea.bottom - chartArea.top - arcOpts.borderWidth;\n\t\t\tvar minSize = Math.min(availableWidth, availableHeight);\n\t\t\tvar offset = {x: 0, y: 0};\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar cutoutPercentage = opts.cutoutPercentage;\n\t\t\tvar circumference = opts.circumference;\n\n\t\t\t// If the chart's circumference isn't a full circle, calculate minSize as a ratio of the width/height of the arc\n\t\t\tif (circumference &lt; Math.PI * 2.0) {\n\t\t\t\tvar startAngle = opts.rotation % (Math.PI * 2.0);\n\t\t\t\tstartAngle += Math.PI * 2.0 * (startAngle &gt;= Math.PI ? -1 : startAngle &lt; -Math.PI ? 1 : 0);\n\t\t\t\tvar endAngle = startAngle + circumference;\n\t\t\t\tvar start = {x: Math.cos(startAngle), y: Math.sin(startAngle)};\n\t\t\t\tvar end = {x: Math.cos(endAngle), y: Math.sin(endAngle)};\n\t\t\t\tvar contains0 = (startAngle &lt;= 0 &amp;&amp; endAngle &gt;= 0) || (startAngle &lt;= Math.PI * 2.0 &amp;&amp; Math.PI * 2.0 &lt;= endAngle);\n\t\t\t\tvar contains90 = (startAngle &lt;= Math.PI * 0.5 &amp;&amp; Math.PI * 0.5 &lt;= endAngle) || (startAngle &lt;= Math.PI * 2.5 &amp;&amp; Math.PI * 2.5 &lt;= endAngle);\n\t\t\t\tvar contains180 = (startAngle &lt;= -Math.PI &amp;&amp; -Math.PI &lt;= endAngle) || (startAngle &lt;= Math.PI &amp;&amp; Math.PI &lt;= endAngle);\n\t\t\t\tvar contains270 = (startAngle &lt;= -Math.PI * 0.5 &amp;&amp; -Math.PI * 0.5 &lt;= endAngle) || (startAngle &lt;= Math.PI * 1.5 &amp;&amp; Math.PI * 1.5 &lt;= endAngle);\n\t\t\t\tvar cutout = cutoutPercentage / 100.0;\n\t\t\t\tvar min = {x: contains180 ? -1 : Math.min(start.x * (start.x &lt; 0 ? 1 : cutout), end.x * (end.x &lt; 0 ? 1 : cutout)), y: contains270 ? -1 : Math.min(start.y * (start.y &lt; 0 ? 1 : cutout), end.y * (end.y &lt; 0 ? 1 : cutout))};\n\t\t\t\tvar max = {x: contains0 ? 1 : Math.max(start.x * (start.x &gt; 0 ? 1 : cutout), end.x * (end.x &gt; 0 ? 1 : cutout)), y: contains90 ? 1 : Math.max(start.y * (start.y &gt; 0 ? 1 : cutout), end.y * (end.y &gt; 0 ? 1 : cutout))};\n\t\t\t\tvar size = {width: (max.x - min.x) * 0.5, height: (max.y - min.y) * 0.5};\n\t\t\t\tminSize = Math.min(availableWidth / size.width, availableHeight / size.height);\n\t\t\t\toffset = {x: (max.x + min.x) * -0.5, y: (max.y + min.y) * -0.5};\n\t\t\t}\n\n\t\t\tchart.borderWidth = me.getMaxBorderWidth(meta.data);\n\t\t\tchart.outerRadius = Math.max((minSize - chart.borderWidth) / 2, 0);\n\t\t\tchart.innerRadius = Math.max(cutoutPercentage ? (chart.outerRadius / 100) * (cutoutPercentage) : 0, 0);\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\t\t\tchart.offsetX = offset.x * chart.outerRadius;\n\t\t\tchart.offsetY = offset.y * chart.outerRadius;\n\n\t\t\tmeta.total = me.calculateTotal();\n\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.getRingIndex(me.index));\n\t\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength, 0);\n\n\t\t\thelpers.each(meta.data, function(arc, index) {\n\t\t\t\tme.updateElement(arc, index, reset);\n\t\t\t});\n\t\t},\n\n\t\tupdateElement: function(arc, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar opts = chart.options;\n\t\t\tvar animationOpts = opts.animation;\n\t\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\n\t\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\n\t\t\tvar startAngle = opts.rotation; // non reset case handled later\n\t\t\tvar endAngle = opts.rotation; // non reset case handled later\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar circumference = reset &amp;&amp; animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / (2.0 * Math.PI));\n\t\t\tvar innerRadius = reset &amp;&amp; animationOpts.animateScale ? 0 : me.innerRadius;\n\t\t\tvar outerRadius = reset &amp;&amp; animationOpts.animateScale ? 0 : me.outerRadius;\n\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n\t\t\thelpers.extend(arc, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: centerX + chart.offsetX,\n\t\t\t\t\ty: centerY + chart.offsetY,\n\t\t\t\t\tstartAngle: startAngle,\n\t\t\t\t\tendAngle: endAngle,\n\t\t\t\t\tcircumference: circumference,\n\t\t\t\t\touterRadius: outerRadius,\n\t\t\t\t\tinnerRadius: innerRadius,\n\t\t\t\t\tlabel: valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar model = arc._model;\n\t\t\t// Resets the visual styles\n\t\t\tthis.removeHoverStyle(arc);\n\n\t\t\t// Set correct angles if not resetting\n\t\t\tif (!reset || !animationOpts.animateRotate) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\tmodel.startAngle = opts.rotation;\n\t\t\t\t} else {\n\t\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\n\t\t\t\t}\n\n\t\t\t\tmodel.endAngle = model.startAngle + model.circumference;\n\t\t\t}\n\n\t\t\tarc.pivot();\n\t\t},\n\n\t\tremoveHoverStyle: function(arc) {\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);\n\t\t},\n\n\t\tcalculateTotal: function() {\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar total = 0;\n\t\t\tvar value;\n\n\t\t\thelpers.each(meta.data, function(element, index) {\n\t\t\t\tvalue = dataset.data[index];\n\t\t\t\tif (!isNaN(value) &amp;&amp; !element.hidden) {\n\t\t\t\t\ttotal += Math.abs(value);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t/* if (total === 0) {\n\t\t\t\ttotal = NaN;\n\t\t\t}*/\n\n\t\t\treturn total;\n\t\t},\n\n\t\tcalculateCircumference: function(value) {\n\t\t\tvar total = this.getMeta().total;\n\t\t\tif (total &gt; 0 &amp;&amp; !isNaN(value)) {\n\t\t\t\treturn (Math.PI * 2.0) * (Math.abs(value) / total);\n\t\t\t}\n\t\t\treturn 0;\n\t\t},\n\n\t\t// gets the max border or hover width to properly scale pie charts\n\t\tgetMaxBorderWidth: function(arcs) {\n\t\t\tvar max = 0;\n\t\t\tvar index = this.index;\n\t\t\tvar length = arcs.length;\n\t\t\tvar borderWidth;\n\t\t\tvar hoverWidth;\n\n\t\t\tfor (var i = 0; i &lt; length; i++) {\n\t\t\t\tborderWidth = arcs[i]._model ? arcs[i]._model.borderWidth : 0;\n\t\t\t\thoverWidth = arcs[i]._chart ? arcs[i]._chart.config.data.datasets[index].hoverBorderWidth : 0;\n\n\t\t\t\tmax = borderWidth &gt; max ? borderWidth : max;\n\t\t\t\tmax = hoverWidth &gt; max ? hoverWidth : max;\n\t\t\t}\n\t\t\treturn max;\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],18:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('line', {\n\tshowLines: true,\n\tspanGaps: false,\n\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\tid: 'x-axis-0'\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tfunction lineEnabled(dataset, options) {\n\t\treturn helpers.valueOrDefault(dataset.showLine, options.showLines);\n\t}\n\n\tChart.controllers.line = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: elements.Line,\n\n\t\tdataElementType: elements.Point,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data || [];\n\t\t\tvar options = me.chart.options;\n\t\t\tvar lineElementOptions = options.elements.line;\n\t\t\tvar scale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar i, ilen, custom;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar showLine = lineEnabled(dataset, options);\n\n\t\t\t// Update Line\n\t\t\tif (showLine) {\n\t\t\t\tcustom = line.custom || {};\n\n\t\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\t\tif ((dataset.tension !== undefined) &amp;&amp; (dataset.lineTension === undefined)) {\n\t\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t\t}\n\n\t\t\t\t// Utility\n\t\t\t\tline._scale = scale;\n\t\t\t\tline._datasetIndex = me.index;\n\t\t\t\t// Data\n\t\t\t\tline._children = points;\n\t\t\t\t// Model\n\t\t\t\tline._model = {\n\t\t\t\t\t// Appearance\n\t\t\t\t\t// The default behavior of lines is to break at null values, according\n\t\t\t\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n\t\t\t\t\t// This option gives lines the ability to span gaps\n\t\t\t\t\tspanGaps: dataset.spanGaps ? dataset.spanGaps : options.spanGaps,\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tsteppedLine: custom.steppedLine ? custom.steppedLine : helpers.valueOrDefault(dataset.steppedLine, lineElementOptions.stepped),\n\t\t\t\t\tcubicInterpolationMode: custom.cubicInterpolationMode ? custom.cubicInterpolationMode : helpers.valueOrDefault(dataset.cubicInterpolationMode, lineElementOptions.cubicInterpolationMode),\n\t\t\t\t};\n\n\t\t\t\tline.pivot();\n\t\t\t}\n\n\t\t\t// Update Points\n\t\t\tfor (i = 0, ilen = points.length; i &lt; ilen; ++i) {\n\t\t\t\tme.updateElement(points[i], i, reset);\n\t\t\t}\n\n\t\t\tif (showLine &amp;&amp; line._model.tension !== 0) {\n\t\t\t\tme.updateBezierControlPoints();\n\t\t\t}\n\n\t\t\t// Now pivot the point for animation\n\t\t\tfor (i = 0, ilen = points.length; i &lt; ilen; ++i) {\n\t\t\t\tpoints[i].pivot();\n\t\t\t}\n\t\t},\n\n\t\tgetPointBackgroundColor: function(point, index) {\n\t\t\tvar backgroundColor = this.chart.options.elements.point.backgroundColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.backgroundColor) {\n\t\t\t\tbackgroundColor = custom.backgroundColor;\n\t\t\t} else if (dataset.pointBackgroundColor) {\n\t\t\t\tbackgroundColor = helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, backgroundColor);\n\t\t\t} else if (dataset.backgroundColor) {\n\t\t\t\tbackgroundColor = dataset.backgroundColor;\n\t\t\t}\n\n\t\t\treturn backgroundColor;\n\t\t},\n\n\t\tgetPointBorderColor: function(point, index) {\n\t\t\tvar borderColor = this.chart.options.elements.point.borderColor;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (custom.borderColor) {\n\t\t\t\tborderColor = custom.borderColor;\n\t\t\t} else if (dataset.pointBorderColor) {\n\t\t\t\tborderColor = helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, borderColor);\n\t\t\t} else if (dataset.borderColor) {\n\t\t\t\tborderColor = dataset.borderColor;\n\t\t\t}\n\n\t\t\treturn borderColor;\n\t\t},\n\n\t\tgetPointBorderWidth: function(point, index) {\n\t\t\tvar borderWidth = this.chart.options.elements.point.borderWidth;\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar custom = point.custom || {};\n\n\t\t\tif (!isNaN(custom.borderWidth)) {\n\t\t\t\tborderWidth = custom.borderWidth;\n\t\t\t} else if (!isNaN(dataset.pointBorderWidth) || helpers.isArray(dataset.pointBorderWidth)) {\n\t\t\t\tborderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);\n\t\t\t} else if (!isNaN(dataset.borderWidth)) {\n\t\t\t\tborderWidth = dataset.borderWidth;\n\t\t\t}\n\n\t\t\treturn borderWidth;\n\t\t},\n\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar datasetIndex = me.index;\n\t\t\tvar value = dataset.data[index];\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\t\tvar pointOptions = me.chart.options.elements.point;\n\t\t\tvar x, y;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) &amp;&amp; (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) &amp;&amp; (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\n\t\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n\t\t\t// Utility\n\t\t\tpoint._xScale = xScale;\n\t\t\tpoint._yScale = yScale;\n\t\t\tpoint._datasetIndex = datasetIndex;\n\t\t\tpoint._index = index;\n\n\t\t\t// Desired view properties\n\t\t\tpoint._model = {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t\t// Appearance\n\t\t\t\tradius: custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointOptions.radius),\n\t\t\t\tpointStyle: custom.pointStyle || helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointOptions.pointStyle),\n\t\t\t\tbackgroundColor: me.getPointBackgroundColor(point, index),\n\t\t\t\tborderColor: me.getPointBorderColor(point, index),\n\t\t\t\tborderWidth: me.getPointBorderWidth(point, index),\n\t\t\t\ttension: meta.dataset._model ? meta.dataset._model.tension : 0,\n\t\t\t\tsteppedLine: meta.dataset._model ? meta.dataset._model.steppedLine : false,\n\t\t\t\t// Tooltip\n\t\t\t\thitRadius: custom.hitRadius || helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointOptions.hitRadius)\n\t\t\t};\n\t\t},\n\n\t\tcalculatePointY: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\t\tvar sumPos = 0;\n\t\t\tvar sumNeg = 0;\n\t\t\tvar i, ds, dsMeta;\n\n\t\t\tif (yScale.options.stacked) {\n\t\t\t\tfor (i = 0; i &lt; datasetIndex; i++) {\n\t\t\t\t\tds = chart.data.datasets[i];\n\t\t\t\t\tdsMeta = chart.getDatasetMeta(i);\n\t\t\t\t\tif (dsMeta.type === 'line' &amp;&amp; dsMeta.yAxisID === yScale.id &amp;&amp; chart.isDatasetVisible(i)) {\n\t\t\t\t\t\tvar stackedRightValue = Number(yScale.getRightValue(ds.data[index]));\n\t\t\t\t\t\tif (stackedRightValue &lt; 0) {\n\t\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsumPos += stackedRightValue || 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar rightValue = Number(yScale.getRightValue(value));\n\t\t\t\tif (rightValue &lt; 0) {\n\t\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\n\t\t\t\t}\n\t\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\n\t\t\t}\n\n\t\t\treturn yScale.getPixelForValue(value);\n\t\t},\n\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar area = me.chart.chartArea;\n\t\t\tvar points = (meta.data || []);\n\t\t\tvar i, ilen, point, model, controlPoints;\n\n\t\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\t\tif (meta.dataset._model.spanGaps) {\n\t\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\t\treturn !pt._model.skip;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tfunction capControlPoint(pt, min, max) {\n\t\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t\t}\n\n\t\t\tif (meta.dataset._model.cubicInterpolationMode === 'monotone') {\n\t\t\t\thelpers.splineCurveMonotone(points);\n\t\t\t} else {\n\t\t\t\tfor (i = 0, ilen = points.length; i &lt; ilen; ++i) {\n\t\t\t\t\tpoint = points[i];\n\t\t\t\t\tmodel = point._model;\n\t\t\t\t\tcontrolPoints = helpers.splineCurve(\n\t\t\t\t\t\thelpers.previousItem(points, i)._model,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\thelpers.nextItem(points, i)._model,\n\t\t\t\t\t\tmeta.dataset._model.tension\n\t\t\t\t\t);\n\t\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\n\t\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\n\t\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\n\t\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.chart.options.elements.line.capBezierPoints) {\n\t\t\t\tfor (i = 0, ilen = points.length; i &lt; ilen; ++i) {\n\t\t\t\t\tmodel = points[i]._model;\n\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar points = meta.data || [];\n\t\t\tvar area = chart.chartArea;\n\t\t\tvar ilen = points.length;\n\t\t\tvar i = 0;\n\n\t\t\thelpers.canvas.clipArea(chart.ctx, area);\n\n\t\t\tif (lineEnabled(me.getDataset(), chart.options)) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\thelpers.canvas.unclipArea(chart.ctx);\n\n\t\t\t// Draw the points\n\t\t\tfor (; i &lt; ilen; ++i) {\n\t\t\t\tpoints[i].draw(area);\n\t\t\t}\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\tmodel.radius = custom.hoverRadius || helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth || helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.chart.data.datasets[point._datasetIndex];\n\t\t\tvar index = point._index;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar model = point._model;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) &amp;&amp; (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\n\t\t\tmodel.radius = custom.radius || helpers.valueAtIndexOrDefault(dataset.pointRadius, index, me.chart.options.elements.point.radius);\n\t\t\tmodel.backgroundColor = me.getPointBackgroundColor(point, index);\n\t\t\tmodel.borderColor = me.getPointBorderColor(point, index);\n\t\t\tmodel.borderWidth = me.getPointBorderWidth(point, index);\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],19:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('polarArea', {\n\tscale: {\n\t\ttype: 'radialLinear',\n\t\tangleLines: {\n\t\t\tdisplay: false\n\t\t},\n\t\tgridLines: {\n\t\t\tcircular: true\n\t\t},\n\t\tpointLabels: {\n\t\t\tdisplay: false\n\t\t},\n\t\tticks: {\n\t\t\tbeginAtZero: true\n\t\t}\n\t},\n\n\t// Boolean - Whether to animate the rotation of the chart\n\tanimation: {\n\t\tanimateRotate: true,\n\t\tanimateScale: true\n\t},\n\n\tstartAngle: -0.5 * Math.PI,\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('&lt;ul class=\"' + chart.id + '-legend\"&gt;');\n\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\n\t\tif (datasets.length) {\n\t\t\tfor (var i = 0; i &lt; datasets[0].data.length; ++i) {\n\t\t\t\ttext.push('&lt;li&gt;&lt;span style=\"background-color:' + datasets[0].backgroundColor[i] + '\"&gt;&lt;/span&gt;');\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\ttext.push(labels[i]);\n\t\t\t\t}\n\t\t\t\ttext.push('&lt;/li&gt;');\n\t\t\t}\n\t\t}\n\n\t\ttext.push('&lt;/ul&gt;');\n\t\treturn text.join('');\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length &amp;&amp; data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar ds = data.datasets[0];\n\t\t\t\t\t\tvar arc = meta.data[i];\n\t\t\t\t\t\tvar custom = arc.custom || {};\n\t\t\t\t\t\tvar valueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\t\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\t\t\t\tvar fill = custom.backgroundColor ? custom.backgroundColor : valueAtIndexOrDefault(ds.backgroundColor, i, arcOpts.backgroundColor);\n\t\t\t\t\t\tvar stroke = custom.borderColor ? custom.borderColor : valueAtIndexOrDefault(ds.borderColor, i, arcOpts.borderColor);\n\t\t\t\t\t\tvar bw = custom.borderWidth ? custom.borderWidth : valueAtIndexOrDefault(ds.borderWidth, i, arcOpts.borderWidth);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: fill,\n\t\t\t\t\t\t\tstrokeStyle: stroke,\n\t\t\t\t\t\t\tlineWidth: bw,\n\t\t\t\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i &lt; ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.polarArea = Chart.DatasetController.extend({\n\n\t\tdataElementType: elements.Arc,\n\n\t\tlinkScales: helpers.noop,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar chartArea = chart.chartArea;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar opts = chart.options;\n\t\t\tvar arcOpts = opts.elements.arc;\n\t\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\t\t\tchart.outerRadius = Math.max((minSize - arcOpts.borderWidth / 2) / 2, 0);\n\t\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n\t\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\n\t\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\n\t\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\n\n\t\t\tmeta.count = me.countVisibleElements();\n\n\t\t\thelpers.each(meta.data, function(arc, index) {\n\t\t\t\tme.updateElement(arc, index, reset);\n\t\t\t});\n\t\t},\n\n\t\tupdateElement: function(arc, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar opts = chart.options;\n\t\t\tvar animationOpts = opts.animation;\n\t\t\tvar scale = chart.scale;\n\t\t\tvar labels = chart.data.labels;\n\n\t\t\tvar circumference = me.calculateCircumference(dataset.data[index]);\n\t\t\tvar centerX = scale.xCenter;\n\t\t\tvar centerY = scale.yCenter;\n\n\t\t\t// If there is NaN data before us, we need to calculate the starting angle correctly.\n\t\t\t// We could be way more efficient here, but its unlikely that the polar area chart will have a lot of data\n\t\t\tvar visibleCount = 0;\n\t\t\tvar meta = me.getMeta();\n\t\t\tfor (var i = 0; i &lt; index; ++i) {\n\t\t\t\tif (!isNaN(dataset.data[i]) &amp;&amp; !meta.data[i].hidden) {\n\t\t\t\t\t++visibleCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// var negHalfPI = -0.5 * Math.PI;\n\t\t\tvar datasetStartAngle = opts.startAngle;\n\t\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\t\tvar startAngle = datasetStartAngle + (circumference * visibleCount);\n\t\t\tvar endAngle = startAngle + (arc.hidden ? 0 : circumference);\n\n\t\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\n\t\t\thelpers.extend(arc, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\t\t\t\t_scale: scale,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: centerX,\n\t\t\t\t\ty: centerY,\n\t\t\t\t\tinnerRadius: 0,\n\t\t\t\t\touterRadius: reset ? resetRadius : distance,\n\t\t\t\t\tstartAngle: reset &amp;&amp; animationOpts.animateRotate ? datasetStartAngle : startAngle,\n\t\t\t\t\tendAngle: reset &amp;&amp; animationOpts.animateRotate ? datasetStartAngle : endAngle,\n\t\t\t\t\tlabel: helpers.valueAtIndexOrDefault(labels, index, labels[index])\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Apply border and fill style\n\t\t\tme.removeHoverStyle(arc);\n\n\t\t\tarc.pivot();\n\t\t},\n\n\t\tremoveHoverStyle: function(arc) {\n\t\t\tChart.DatasetController.prototype.removeHoverStyle.call(this, arc, this.chart.options.elements.arc);\n\t\t},\n\n\t\tcountVisibleElements: function() {\n\t\t\tvar dataset = this.getDataset();\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar count = 0;\n\n\t\t\thelpers.each(meta.data, function(element, index) {\n\t\t\t\tif (!isNaN(dataset.data[index]) &amp;&amp; !element.hidden) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn count;\n\t\t},\n\n\t\tcalculateCircumference: function(value) {\n\t\t\tvar count = this.getMeta().count;\n\t\t\tif (count &gt; 0 &amp;&amp; !isNaN(value)) {\n\t\t\t\treturn (2 * Math.PI) / count;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],20:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('radar', {\n\tscale: {\n\t\ttype: 'radialLinear'\n\t},\n\telements: {\n\t\tline: {\n\t\t\ttension: 0 // no bezier in radar\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.controllers.radar = Chart.DatasetController.extend({\n\n\t\tdatasetElementType: elements.Line,\n\n\t\tdataElementType: elements.Point,\n\n\t\tlinkScales: helpers.noop,\n\n\t\tupdate: function(reset) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar line = meta.dataset;\n\t\t\tvar points = meta.data;\n\t\t\tvar custom = line.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar lineElementOptions = me.chart.options.elements.line;\n\t\t\tvar scale = me.chart.scale;\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.tension !== undefined) &amp;&amp; (dataset.lineTension === undefined)) {\n\t\t\t\tdataset.lineTension = dataset.tension;\n\t\t\t}\n\n\t\t\thelpers.extend(meta.dataset, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_scale: scale,\n\t\t\t\t// Data\n\t\t\t\t_children: points,\n\t\t\t\t_loop: true,\n\t\t\t\t// Model\n\t\t\t\t_model: {\n\t\t\t\t\t// Appearance\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, lineElementOptions.tension),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : (dataset.backgroundColor || lineElementOptions.backgroundColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : (dataset.borderWidth || lineElementOptions.borderWidth),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : (dataset.borderColor || lineElementOptions.borderColor),\n\t\t\t\t\tfill: custom.fill ? custom.fill : (dataset.fill !== undefined ? dataset.fill : lineElementOptions.fill),\n\t\t\t\t\tborderCapStyle: custom.borderCapStyle ? custom.borderCapStyle : (dataset.borderCapStyle || lineElementOptions.borderCapStyle),\n\t\t\t\t\tborderDash: custom.borderDash ? custom.borderDash : (dataset.borderDash || lineElementOptions.borderDash),\n\t\t\t\t\tborderDashOffset: custom.borderDashOffset ? custom.borderDashOffset : (dataset.borderDashOffset || lineElementOptions.borderDashOffset),\n\t\t\t\t\tborderJoinStyle: custom.borderJoinStyle ? custom.borderJoinStyle : (dataset.borderJoinStyle || lineElementOptions.borderJoinStyle),\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmeta.dataset.pivot();\n\n\t\t\t// Update Points\n\t\t\thelpers.each(points, function(point, index) {\n\t\t\t\tme.updateElement(point, index, reset);\n\t\t\t}, me);\n\n\t\t\t// Update bezier control points\n\t\t\tme.updateBezierControlPoints();\n\t\t},\n\t\tupdateElement: function(point, index, reset) {\n\t\t\tvar me = this;\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar scale = me.chart.scale;\n\t\t\tvar pointElementOptions = me.chart.options.elements.point;\n\t\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\n\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif ((dataset.radius !== undefined) &amp;&amp; (dataset.pointRadius === undefined)) {\n\t\t\t\tdataset.pointRadius = dataset.radius;\n\t\t\t}\n\t\t\tif ((dataset.hitRadius !== undefined) &amp;&amp; (dataset.pointHitRadius === undefined)) {\n\t\t\t\tdataset.pointHitRadius = dataset.hitRadius;\n\t\t\t}\n\n\t\t\thelpers.extend(point, {\n\t\t\t\t// Utility\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index,\n\t\t\t\t_scale: scale,\n\n\t\t\t\t// Desired view properties\n\t\t\t\t_model: {\n\t\t\t\t\tx: reset ? scale.xCenter : pointPosition.x, // value not used in dataset scale, but we want a consistent API between scales\n\t\t\t\t\ty: reset ? scale.yCenter : pointPosition.y,\n\n\t\t\t\t\t// Appearance\n\t\t\t\t\ttension: custom.tension ? custom.tension : helpers.valueOrDefault(dataset.lineTension, me.chart.options.elements.line.tension),\n\t\t\t\t\tradius: custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius),\n\t\t\t\t\tbackgroundColor: custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor),\n\t\t\t\t\tborderColor: custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor),\n\t\t\t\t\tborderWidth: custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth),\n\t\t\t\t\tpointStyle: custom.pointStyle ? custom.pointStyle : helpers.valueAtIndexOrDefault(dataset.pointStyle, index, pointElementOptions.pointStyle),\n\n\t\t\t\t\t// Tooltip\n\t\t\t\t\thitRadius: custom.hitRadius ? custom.hitRadius : helpers.valueAtIndexOrDefault(dataset.pointHitRadius, index, pointElementOptions.hitRadius)\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tpoint._model.skip = custom.skip ? custom.skip : (isNaN(point._model.x) || isNaN(point._model.y));\n\t\t},\n\t\tupdateBezierControlPoints: function() {\n\t\t\tvar chartArea = this.chart.chartArea;\n\t\t\tvar meta = this.getMeta();\n\n\t\t\thelpers.each(meta.data, function(point, index) {\n\t\t\t\tvar model = point._model;\n\t\t\t\tvar controlPoints = helpers.splineCurve(\n\t\t\t\t\thelpers.previousItem(meta.data, index, true)._model,\n\t\t\t\t\tmodel,\n\t\t\t\t\thelpers.nextItem(meta.data, index, true)._model,\n\t\t\t\t\tmodel.tension\n\t\t\t\t);\n\n\t\t\t\t// Prevent the bezier going outside of the bounds of the graph\n\t\t\t\tmodel.controlPointPreviousX = Math.max(Math.min(controlPoints.previous.x, chartArea.right), chartArea.left);\n\t\t\t\tmodel.controlPointPreviousY = Math.max(Math.min(controlPoints.previous.y, chartArea.bottom), chartArea.top);\n\n\t\t\t\tmodel.controlPointNextX = Math.max(Math.min(controlPoints.next.x, chartArea.right), chartArea.left);\n\t\t\t\tmodel.controlPointNextY = Math.max(Math.min(controlPoints.next.y, chartArea.bottom), chartArea.top);\n\n\t\t\t\t// Now pivot the point for animation\n\t\t\t\tpoint.pivot();\n\t\t\t});\n\t\t},\n\n\t\tsetHoverStyle: function(point) {\n\t\t\t// Point\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar index = point._index;\n\t\t\tvar model = point._model;\n\n\t\t\tmodel.radius = custom.hoverRadius ? custom.hoverRadius : helpers.valueAtIndexOrDefault(dataset.pointHoverRadius, index, this.chart.options.elements.point.hoverRadius);\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor, index, helpers.getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor, index, helpers.getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\tremoveHoverStyle: function(point) {\n\t\t\tvar dataset = this.chart.data.datasets[point._datasetIndex];\n\t\t\tvar custom = point.custom || {};\n\t\t\tvar index = point._index;\n\t\t\tvar model = point._model;\n\t\t\tvar pointElementOptions = this.chart.options.elements.point;\n\n\t\t\tmodel.radius = custom.radius ? custom.radius : helpers.valueAtIndexOrDefault(dataset.pointRadius, index, pointElementOptions.radius);\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor, index, pointElementOptions.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : helpers.valueAtIndexOrDefault(dataset.pointBorderColor, index, pointElementOptions.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, pointElementOptions.borderWidth);\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],21:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\n\ndefaults._set('scatter', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\tid: 'x-axis-1',    // need an ID so datasets can reference the scale\n\t\t\ttype: 'linear',    // scatter should not use a category axis\n\t\t\tposition: 'bottom'\n\t\t}],\n\t\tyAxes: [{\n\t\t\tid: 'y-axis-1',\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left'\n\t\t}]\n\t},\n\n\tshowLines: false,\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';     // doesn't make sense for scatter since data are formatted as a point\n\t\t\t},\n\t\t\tlabel: function(item) {\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\t// Scatter charts use line controllers\n\tChart.controllers.scatter = Chart.controllers.line;\n\n};\n\n},{\"25\":25}],22:[function(require,module,exports){\n/* global window: false */\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\n\ndefaults._set('global', {\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'easeOutQuart',\n\t\tonProgress: helpers.noop,\n\t\tonComplete: helpers.noop\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\tChart.Animation = Element.extend({\n\t\tchart: null, // the animation associated chart instance\n\t\tcurrentStep: 0, // the current animation step\n\t\tnumSteps: 60, // default number of steps\n\t\teasing: '', // the easing to use for this animation\n\t\trender: null, // render function used by the animation service\n\n\t\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\n\t\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\n\t});\n\n\tChart.animationService = {\n\t\tframeDuration: 17,\n\t\tanimations: [],\n\t\tdropFrames: 0,\n\t\trequest: null,\n\n\t\t/**\n\t\t * @param {Chart} chart - The chart to animate.\n\t\t * @param {Chart.Animation} animation - The animation that we will animate.\n\t\t * @param {Number} duration - The animation duration in ms.\n\t\t * @param {Boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\n\t\t */\n\t\taddAnimation: function(chart, animation, duration, lazy) {\n\t\t\tvar animations = this.animations;\n\t\t\tvar i, ilen;\n\n\t\t\tanimation.chart = chart;\n\n\t\t\tif (!lazy) {\n\t\t\t\tchart.animating = true;\n\t\t\t}\n\n\t\t\tfor (i = 0, ilen = animations.length; i &lt; ilen; ++i) {\n\t\t\t\tif (animations[i].chart === chart) {\n\t\t\t\t\tanimations[i] = animation;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tanimations.push(animation);\n\n\t\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\n\t\t\tif (animations.length === 1) {\n\t\t\t\tthis.requestAnimationFrame();\n\t\t\t}\n\t\t},\n\n\t\tcancelAnimation: function(chart) {\n\t\t\tvar index = helpers.findIndex(this.animations, function(animation) {\n\t\t\t\treturn animation.chart === chart;\n\t\t\t});\n\n\t\t\tif (index !== -1) {\n\t\t\t\tthis.animations.splice(index, 1);\n\t\t\t\tchart.animating = false;\n\t\t\t}\n\t\t},\n\n\t\trequestAnimationFrame: function() {\n\t\t\tvar me = this;\n\t\t\tif (me.request === null) {\n\t\t\t\t// Skip animation frame requests until the active one is executed.\n\t\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\n\t\t\t\t// and 'mouseout' events will trigger multiple renders.\n\t\t\t\tme.request = helpers.requestAnimFrame.call(window, function() {\n\t\t\t\t\tme.request = null;\n\t\t\t\t\tme.startDigest();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tstartDigest: function() {\n\t\t\tvar me = this;\n\t\t\tvar startTime = Date.now();\n\t\t\tvar framesToDrop = 0;\n\n\t\t\tif (me.dropFrames &gt; 1) {\n\t\t\t\tframesToDrop = Math.floor(me.dropFrames);\n\t\t\t\tme.dropFrames = me.dropFrames % 1;\n\t\t\t}\n\n\t\t\tme.advance(1 + framesToDrop);\n\n\t\t\tvar endTime = Date.now();\n\n\t\t\tme.dropFrames += (endTime - startTime) / me.frameDuration;\n\n\t\t\t// Do we have more stuff to animate?\n\t\t\tif (me.animations.length &gt; 0) {\n\t\t\t\tme.requestAnimationFrame();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tadvance: function(count) {\n\t\t\tvar animations = this.animations;\n\t\t\tvar animation, chart;\n\t\t\tvar i = 0;\n\n\t\t\twhile (i &lt; animations.length) {\n\t\t\t\tanimation = animations[i];\n\t\t\t\tchart = animation.chart;\n\n\t\t\t\tanimation.currentStep = (animation.currentStep || 0) + count;\n\t\t\t\tanimation.currentStep = Math.min(animation.currentStep, animation.numSteps);\n\n\t\t\t\thelpers.callback(animation.render, [chart, animation], chart);\n\t\t\t\thelpers.callback(animation.onAnimationProgress, [animation], chart);\n\n\t\t\t\tif (animation.currentStep &gt;= animation.numSteps) {\n\t\t\t\t\thelpers.callback(animation.onAnimationComplete, [animation], chart);\n\t\t\t\t\tchart.animating = false;\n\t\t\t\t\tanimations.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\t++i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Provided for backward compatibility, use Chart.Animation instead\n\t * @prop Chart.Animation#animationObject\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\tObject.defineProperty(Chart.Animation.prototype, 'animationObject', {\n\t\tget: function() {\n\t\t\treturn this;\n\t\t}\n\t});\n\n\t/**\n\t * Provided for backward compatibility, use Chart.Animation#chart instead\n\t * @prop Chart.Animation#chartInstance\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t */\n\tObject.defineProperty(Chart.Animation.prototype, 'chartInstance', {\n\t\tget: function() {\n\t\t\treturn this.chart;\n\t\t},\n\t\tset: function(value) {\n\t\t\tthis.chart = value;\n\t\t}\n\t});\n\n};\n\n},{\"25\":25,\"26\":26,\"45\":45}],23:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar helpers = require(45);\nvar Interaction = require(28);\nvar layouts = require(30);\nvar platform = require(48);\nvar plugins = require(31);\n\nmodule.exports = function(Chart) {\n\n\t// Create a dictionary of chart types, to allow for extension of existing types\n\tChart.types = {};\n\n\t// Store a reference to each instance - allowing us to globally resize chart instances on window resize.\n\t// Destroy method on the chart will remove the instance of the chart from this reference.\n\tChart.instances = {};\n\n\t// Controllers available for dataset visualization eg. bar, line, slice, etc.\n\tChart.controllers = {};\n\n\t/**\n\t * Initializes the given config with global and chart default values.\n\t */\n\tfunction initConfig(config) {\n\t\tconfig = config || {};\n\n\t\t// Do NOT use configMerge() for the data object because this method merges arrays\n\t\t// and so would change references to labels and datasets, preventing data updates.\n\t\tvar data = config.data = config.data || {};\n\t\tdata.datasets = data.datasets || [];\n\t\tdata.labels = data.labels || [];\n\n\t\tconfig.options = helpers.configMerge(\n\t\t\tdefaults.global,\n\t\t\tdefaults[config.type],\n\t\t\tconfig.options || {});\n\n\t\treturn config;\n\t}\n\n\t/**\n\t * Updates the config of the chart\n\t * @param chart {Chart} chart to update the options for\n\t */\n\tfunction updateConfig(chart) {\n\t\tvar newOptions = chart.options;\n\n\t\thelpers.each(chart.scales, function(scale) {\n\t\t\tlayouts.removeBox(chart, scale);\n\t\t});\n\n\t\tnewOptions = helpers.configMerge(\n\t\t\tChart.defaults.global,\n\t\t\tChart.defaults[chart.config.type],\n\t\t\tnewOptions);\n\n\t\tchart.options = chart.config.options = newOptions;\n\t\tchart.ensureScalesHaveIDs();\n\t\tchart.buildOrUpdateScales();\n\t\t// Tooltip\n\t\tchart.tooltip._options = newOptions.tooltips;\n\t\tchart.tooltip.initialize();\n\t}\n\n\tfunction positionIsHorizontal(position) {\n\t\treturn position === 'top' || position === 'bottom';\n\t}\n\n\thelpers.extend(Chart.prototype, /** @lends Chart */ {\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tconstruct: function(item, config) {\n\t\t\tvar me = this;\n\n\t\t\tconfig = initConfig(config);\n\n\t\t\tvar context = platform.acquireContext(item, config);\n\t\t\tvar canvas = context &amp;&amp; context.canvas;\n\t\t\tvar height = canvas &amp;&amp; canvas.height;\n\t\t\tvar width = canvas &amp;&amp; canvas.width;\n\n\t\t\tme.id = helpers.uid();\n\t\t\tme.ctx = context;\n\t\t\tme.canvas = canvas;\n\t\t\tme.config = config;\n\t\t\tme.width = width;\n\t\t\tme.height = height;\n\t\t\tme.aspectRatio = height ? width / height : null;\n\t\t\tme.options = config.options;\n\t\t\tme._bufferedRender = false;\n\n\t\t\t/**\n\t\t\t * Provided for backward compatibility, Chart and Chart.Controller have been merged,\n\t\t\t * the \"instance\" still need to be defined since it might be called from plugins.\n\t\t\t * @prop Chart#chart\n\t\t\t * @deprecated since version 2.6.0\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tme.chart = me;\n\t\t\tme.controller = me; // chart.chart.controller #inception\n\n\t\t\t// Add the chart instance to the global namespace\n\t\t\tChart.instances[me.id] = me;\n\n\t\t\t// Define alias to the config data: `chart.data === chart.config.data`\n\t\t\tObject.defineProperty(me, 'data', {\n\t\t\t\tget: function() {\n\t\t\t\t\treturn me.config.data;\n\t\t\t\t},\n\t\t\t\tset: function(value) {\n\t\t\t\t\tme.config.data = value;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!context || !canvas) {\n\t\t\t\t// The given item is not a compatible context2d element, let's return before finalizing\n\t\t\t\t// the chart initialization but after setting basic chart / controller properties that\n\t\t\t\t// can help to figure out that the chart is not valid (e.g chart.canvas !== null);\n\t\t\t\t// https://github.com/chartjs/Chart.js/issues/2807\n\t\t\t\tconsole.error(\"Failed to create chart: can't acquire context from the given item\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tme.initialize();\n\t\t\tme.update();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinitialize: function() {\n\t\t\tvar me = this;\n\n\t\t\t// Before init plugin notification\n\t\t\tplugins.notify(me, 'beforeInit');\n\n\t\t\thelpers.retinaScale(me, me.options.devicePixelRatio);\n\n\t\t\tme.bindEvents();\n\n\t\t\tif (me.options.responsive) {\n\t\t\t\t// Initial resize before chart draws (must be silent to preserve initial animations).\n\t\t\t\tme.resize(true);\n\t\t\t}\n\n\t\t\t// Make sure scales have IDs and are built before we build any controllers.\n\t\t\tme.ensureScalesHaveIDs();\n\t\t\tme.buildOrUpdateScales();\n\t\t\tme.initToolTip();\n\n\t\t\t// After init plugin notification\n\t\t\tplugins.notify(me, 'afterInit');\n\n\t\t\treturn me;\n\t\t},\n\n\t\tclear: function() {\n\t\t\thelpers.canvas.clear(this);\n\t\t\treturn this;\n\t\t},\n\n\t\tstop: function() {\n\t\t\t// Stops any current animation loop occurring\n\t\t\tChart.animationService.cancelAnimation(this);\n\t\t\treturn this;\n\t\t},\n\n\t\tresize: function(silent) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar canvas = me.canvas;\n\t\t\tvar aspectRatio = (options.maintainAspectRatio &amp;&amp; me.aspectRatio) || null;\n\n\t\t\t// the canvas render width and height will be casted to integers so make sure that\n\t\t\t// the canvas display style uses the same integer values to avoid blurring effect.\n\n\t\t\t// Set to 0 instead of canvas.size because the size defaults to 300x150 if the element is collased\n\t\t\tvar newWidth = Math.max(0, Math.floor(helpers.getMaximumWidth(canvas)));\n\t\t\tvar newHeight = Math.max(0, Math.floor(aspectRatio ? newWidth / aspectRatio : helpers.getMaximumHeight(canvas)));\n\n\t\t\tif (me.width === newWidth &amp;&amp; me.height === newHeight) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcanvas.width = me.width = newWidth;\n\t\t\tcanvas.height = me.height = newHeight;\n\t\t\tcanvas.style.width = newWidth + 'px';\n\t\t\tcanvas.style.height = newHeight + 'px';\n\n\t\t\thelpers.retinaScale(me, options.devicePixelRatio);\n\n\t\t\tif (!silent) {\n\t\t\t\t// Notify any plugins about the resize\n\t\t\t\tvar newSize = {width: newWidth, height: newHeight};\n\t\t\t\tplugins.notify(me, 'resize', [newSize]);\n\n\t\t\t\t// Notify of resize\n\t\t\t\tif (me.options.onResize) {\n\t\t\t\t\tme.options.onResize(me, newSize);\n\t\t\t\t}\n\n\t\t\t\tme.stop();\n\t\t\t\tme.update(me.options.responsiveAnimationDuration);\n\t\t\t}\n\t\t},\n\n\t\tensureScalesHaveIDs: function() {\n\t\t\tvar options = this.options;\n\t\t\tvar scalesOptions = options.scales || {};\n\t\t\tvar scaleOptions = options.scale;\n\n\t\t\thelpers.each(scalesOptions.xAxes, function(xAxisOptions, index) {\n\t\t\t\txAxisOptions.id = xAxisOptions.id || ('x-axis-' + index);\n\t\t\t});\n\n\t\t\thelpers.each(scalesOptions.yAxes, function(yAxisOptions, index) {\n\t\t\t\tyAxisOptions.id = yAxisOptions.id || ('y-axis-' + index);\n\t\t\t});\n\n\t\t\tif (scaleOptions) {\n\t\t\t\tscaleOptions.id = scaleOptions.id || 'scale';\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Builds a map of scale ID to scale object for future lookup.\n\t\t */\n\t\tbuildOrUpdateScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar scales = me.scales || {};\n\t\t\tvar items = [];\n\t\t\tvar updated = Object.keys(scales).reduce(function(obj, id) {\n\t\t\t\tobj[id] = false;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\n\t\t\tif (options.scales) {\n\t\t\t\titems = items.concat(\n\t\t\t\t\t(options.scales.xAxes || []).map(function(xAxisOptions) {\n\t\t\t\t\t\treturn {options: xAxisOptions, dtype: 'category', dposition: 'bottom'};\n\t\t\t\t\t}),\n\t\t\t\t\t(options.scales.yAxes || []).map(function(yAxisOptions) {\n\t\t\t\t\t\treturn {options: yAxisOptions, dtype: 'linear', dposition: 'left'};\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (options.scale) {\n\t\t\t\titems.push({\n\t\t\t\t\toptions: options.scale,\n\t\t\t\t\tdtype: 'radialLinear',\n\t\t\t\t\tisDefault: true,\n\t\t\t\t\tdposition: 'chartArea'\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thelpers.each(items, function(item) {\n\t\t\t\tvar scaleOptions = item.options;\n\t\t\t\tvar id = scaleOptions.id;\n\t\t\t\tvar scaleType = helpers.valueOrDefault(scaleOptions.type, item.dtype);\n\n\t\t\t\tif (positionIsHorizontal(scaleOptions.position) !== positionIsHorizontal(item.dposition)) {\n\t\t\t\t\tscaleOptions.position = item.dposition;\n\t\t\t\t}\n\n\t\t\t\tupdated[id] = true;\n\t\t\t\tvar scale = null;\n\t\t\t\tif (id in scales &amp;&amp; scales[id].type === scaleType) {\n\t\t\t\t\tscale = scales[id];\n\t\t\t\t\tscale.options = scaleOptions;\n\t\t\t\t\tscale.ctx = me.ctx;\n\t\t\t\t\tscale.chart = me;\n\t\t\t\t} else {\n\t\t\t\t\tvar scaleClass = Chart.scaleService.getScaleConstructor(scaleType);\n\t\t\t\t\tif (!scaleClass) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tscale = new scaleClass({\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\ttype: scaleType,\n\t\t\t\t\t\toptions: scaleOptions,\n\t\t\t\t\t\tctx: me.ctx,\n\t\t\t\t\t\tchart: me\n\t\t\t\t\t});\n\t\t\t\t\tscales[scale.id] = scale;\n\t\t\t\t}\n\n\t\t\t\tscale.mergeTicksOptions();\n\n\t\t\t\t// TODO(SB): I think we should be able to remove this custom case (options.scale)\n\t\t\t\t// and consider it as a regular scale part of the \"scales\"\" map only! This would\n\t\t\t\t// make the logic easier and remove some useless? custom code.\n\t\t\t\tif (item.isDefault) {\n\t\t\t\t\tme.scale = scale;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// clear up discarded scales\n\t\t\thelpers.each(updated, function(hasUpdated, id) {\n\t\t\t\tif (!hasUpdated) {\n\t\t\t\t\tdelete scales[id];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tme.scales = scales;\n\n\t\t\tChart.scaleService.addScalesToLayout(this);\n\t\t},\n\n\t\tbuildOrUpdateControllers: function() {\n\t\t\tvar me = this;\n\t\t\tvar types = [];\n\t\t\tvar newControllers = [];\n\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tvar meta = me.getDatasetMeta(datasetIndex);\n\t\t\t\tvar type = dataset.type || me.config.type;\n\n\t\t\t\tif (meta.type &amp;&amp; meta.type !== type) {\n\t\t\t\t\tme.destroyDatasetMeta(datasetIndex);\n\t\t\t\t\tmeta = me.getDatasetMeta(datasetIndex);\n\t\t\t\t}\n\t\t\t\tmeta.type = type;\n\n\t\t\t\ttypes.push(meta.type);\n\n\t\t\t\tif (meta.controller) {\n\t\t\t\t\tmeta.controller.updateIndex(datasetIndex);\n\t\t\t\t\tmeta.controller.linkScales();\n\t\t\t\t} else {\n\t\t\t\t\tvar ControllerClass = Chart.controllers[meta.type];\n\t\t\t\t\tif (ControllerClass === undefined) {\n\t\t\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\n\t\t\t\t\t}\n\n\t\t\t\t\tmeta.controller = new ControllerClass(me, datasetIndex);\n\t\t\t\t\tnewControllers.push(meta.controller);\n\t\t\t\t}\n\t\t\t}, me);\n\n\t\t\treturn newControllers;\n\t\t},\n\n\t\t/**\n\t\t * Reset the elements of all datasets\n\t\t * @private\n\t\t */\n\t\tresetElements: function() {\n\t\t\tvar me = this;\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.reset();\n\t\t\t}, me);\n\t\t},\n\n\t\t/**\n\t\t* Resets the chart back to it's state before the initial animation\n\t\t*/\n\t\treset: function() {\n\t\t\tthis.resetElements();\n\t\t\tthis.tooltip.initialize();\n\t\t},\n\n\t\tupdate: function(config) {\n\t\t\tvar me = this;\n\n\t\t\tif (!config || typeof config !== 'object') {\n\t\t\t\t// backwards compatibility\n\t\t\t\tconfig = {\n\t\t\t\t\tduration: config,\n\t\t\t\t\tlazy: arguments[1]\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tupdateConfig(me);\n\n\t\t\t// plugins options references might have change, let's invalidate the cache\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n\t\t\tplugins._invalidate(me);\n\n\t\t\tif (plugins.notify(me, 'beforeUpdate') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In case the entire data object changed\n\t\t\tme.tooltip._data = me.data;\n\n\t\t\t// Make sure dataset controllers are updated and new controllers are reset\n\t\t\tvar newControllers = me.buildOrUpdateControllers();\n\n\t\t\t// Make sure all dataset controllers have correct meta data counts\n\t\t\thelpers.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tme.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements();\n\t\t\t}, me);\n\n\t\t\tme.updateLayout();\n\n\t\t\t// Can only reset the new controllers after the scales have been updated\n\t\t\tif (me.options.animation &amp;&amp; me.options.animation.duration) {\n\t\t\t\thelpers.each(newControllers, function(controller) {\n\t\t\t\t\tcontroller.reset();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme.updateDatasets();\n\n\t\t\t// Need to reset tooltip in case it is displayed with elements that are removed\n\t\t\t// after update.\n\t\t\tme.tooltip.initialize();\n\n\t\t\t// Last active contains items that were previously in the tooltip.\n\t\t\t// When we reset the tooltip, we need to clear it\n\t\t\tme.lastActive = [];\n\n\t\t\t// Do this before render so that any plugins that need final scale updates can use it\n\t\t\tplugins.notify(me, 'afterUpdate');\n\n\t\t\tif (me._bufferedRender) {\n\t\t\t\tme._bufferedRequest = {\n\t\t\t\t\tduration: config.duration,\n\t\t\t\t\teasing: config.easing,\n\t\t\t\t\tlazy: config.lazy\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tme.render(config);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Updates the chart layout unless a plugin returns `false` to the `beforeLayout`\n\t\t * hook, in which case, plugins will not be called on `afterLayout`.\n\t\t * @private\n\t\t */\n\t\tupdateLayout: function() {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeLayout') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlayouts.update(this, this.width, this.height);\n\n\t\t\t/**\n\t\t\t * Provided for backward compatibility, use `afterLayout` instead.\n\t\t\t * @method IPlugin#afterScaleUpdate\n\t\t\t * @deprecated since version 2.5.0\n\t\t\t * @todo remove at version 3\n\t\t\t * @private\n\t\t\t */\n\t\t\tplugins.notify(me, 'afterScaleUpdate');\n\t\t\tplugins.notify(me, 'afterLayout');\n\t\t},\n\n\t\t/**\n\t\t * Updates all datasets unless a plugin returns `false` to the `beforeDatasetsUpdate`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsUpdate`.\n\t\t * @private\n\t\t */\n\t\tupdateDatasets: function() {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetsUpdate') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, ilen = me.data.datasets.length; i &lt; ilen; ++i) {\n\t\t\t\tme.updateDataset(i);\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterDatasetsUpdate');\n\t\t},\n\n\t\t/**\n\t\t * Updates dataset at index unless a plugin returns `false` to the `beforeDatasetUpdate`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetUpdate`.\n\t\t * @private\n\t\t */\n\t\tupdateDataset: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getDatasetMeta(index);\n\t\t\tvar args = {\n\t\t\t\tmeta: meta,\n\t\t\t\tindex: index\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetUpdate', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmeta.controller.update();\n\n\t\t\tplugins.notify(me, 'afterDatasetUpdate', [args]);\n\t\t},\n\n\t\trender: function(config) {\n\t\t\tvar me = this;\n\n\t\t\tif (!config || typeof config !== 'object') {\n\t\t\t\t// backwards compatibility\n\t\t\t\tconfig = {\n\t\t\t\t\tduration: config,\n\t\t\t\t\tlazy: arguments[1]\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar duration = config.duration;\n\t\t\tvar lazy = config.lazy;\n\n\t\t\tif (plugins.notify(me, 'beforeRender') === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar animationOptions = me.options.animation;\n\t\t\tvar onComplete = function(animation) {\n\t\t\t\tplugins.notify(me, 'afterRender');\n\t\t\t\thelpers.callback(animationOptions &amp;&amp; animationOptions.onComplete, [animation], me);\n\t\t\t};\n\n\t\t\tif (animationOptions &amp;&amp; ((typeof duration !== 'undefined' &amp;&amp; duration !== 0) || (typeof duration === 'undefined' &amp;&amp; animationOptions.duration !== 0))) {\n\t\t\t\tvar animation = new Chart.Animation({\n\t\t\t\t\tnumSteps: (duration || animationOptions.duration) / 16.66, // 60 fps\n\t\t\t\t\teasing: config.easing || animationOptions.easing,\n\n\t\t\t\t\trender: function(chart, animationObject) {\n\t\t\t\t\t\tvar easingFunction = helpers.easing.effects[animationObject.easing];\n\t\t\t\t\t\tvar currentStep = animationObject.currentStep;\n\t\t\t\t\t\tvar stepDecimal = currentStep / animationObject.numSteps;\n\n\t\t\t\t\t\tchart.draw(easingFunction(stepDecimal), stepDecimal, currentStep);\n\t\t\t\t\t},\n\n\t\t\t\t\tonAnimationProgress: animationOptions.onProgress,\n\t\t\t\t\tonAnimationComplete: onComplete\n\t\t\t\t});\n\n\t\t\t\tChart.animationService.addAnimation(me, animation, duration, lazy);\n\t\t\t} else {\n\t\t\t\tme.draw();\n\n\t\t\t\t// See https://github.com/chartjs/Chart.js/issues/3781\n\t\t\t\tonComplete(new Chart.Animation({numSteps: 0, chart: me}));\n\t\t\t}\n\n\t\t\treturn me;\n\t\t},\n\n\t\tdraw: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tme.clear();\n\n\t\t\tif (helpers.isNullOrUndef(easingValue)) {\n\t\t\t\teasingValue = 1;\n\t\t\t}\n\n\t\t\tme.transition(easingValue);\n\n\t\t\tif (plugins.notify(me, 'beforeDraw', [easingValue]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Draw all the scales\n\t\t\thelpers.each(me.boxes, function(box) {\n\t\t\t\tbox.draw(me.chartArea);\n\t\t\t}, me);\n\n\t\t\tif (me.scale) {\n\t\t\t\tme.scale.draw();\n\t\t\t}\n\n\t\t\tme.drawDatasets(easingValue);\n\t\t\tme._drawTooltip(easingValue);\n\n\t\t\tplugins.notify(me, 'afterDraw', [easingValue]);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\ttransition: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tfor (var i = 0, ilen = (me.data.datasets || []).length; i &lt; ilen; ++i) {\n\t\t\t\tif (me.isDatasetVisible(i)) {\n\t\t\t\t\tme.getDatasetMeta(i).controller.transition(easingValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.tooltip.transition(easingValue);\n\t\t},\n\n\t\t/**\n\t\t * Draws all datasets unless a plugin returns `false` to the `beforeDatasetsDraw`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetsDraw`.\n\t\t * @private\n\t\t */\n\t\tdrawDatasets: function(easingValue) {\n\t\t\tvar me = this;\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetsDraw', [easingValue]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Draw datasets reversed to support proper line stacking\n\t\t\tfor (var i = (me.data.datasets || []).length - 1; i &gt;= 0; --i) {\n\t\t\t\tif (me.isDatasetVisible(i)) {\n\t\t\t\t\tme.drawDataset(i, easingValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterDatasetsDraw', [easingValue]);\n\t\t},\n\n\t\t/**\n\t\t * Draws dataset at index unless a plugin returns `false` to the `beforeDatasetDraw`\n\t\t * hook, in which case, plugins will not be called on `afterDatasetDraw`.\n\t\t * @private\n\t\t */\n\t\tdrawDataset: function(index, easingValue) {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getDatasetMeta(index);\n\t\t\tvar args = {\n\t\t\t\tmeta: meta,\n\t\t\t\tindex: index,\n\t\t\t\teasingValue: easingValue\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeDatasetDraw', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tmeta.controller.draw(easingValue);\n\n\t\t\tplugins.notify(me, 'afterDatasetDraw', [args]);\n\t\t},\n\n\t\t/**\n\t\t * Draws tooltip unless a plugin returns `false` to the `beforeTooltipDraw`\n\t\t * hook, in which case, plugins will not be called on `afterTooltipDraw`.\n\t\t * @private\n\t\t */\n\t\t_drawTooltip: function(easingValue) {\n\t\t\tvar me = this;\n\t\t\tvar tooltip = me.tooltip;\n\t\t\tvar args = {\n\t\t\t\ttooltip: tooltip,\n\t\t\t\teasingValue: easingValue\n\t\t\t};\n\n\t\t\tif (plugins.notify(me, 'beforeTooltipDraw', [args]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\ttooltip.draw();\n\n\t\t\tplugins.notify(me, 'afterTooltipDraw', [args]);\n\t\t},\n\n\t\t// Get the single element that was clicked on\n\t\t// @return : An object containing the dataset index and element index of the matching element. Also contains the rectangle that was draw\n\t\tgetElementAtEvent: function(e) {\n\t\t\treturn Interaction.modes.single(this, e);\n\t\t},\n\n\t\tgetElementsAtEvent: function(e) {\n\t\t\treturn Interaction.modes.label(this, e, {intersect: true});\n\t\t},\n\n\t\tgetElementsAtXAxis: function(e) {\n\t\t\treturn Interaction.modes['x-axis'](this, e, {intersect: true});\n\t\t},\n\n\t\tgetElementsAtEventForMode: function(e, mode, options) {\n\t\t\tvar method = Interaction.modes[mode];\n\t\t\tif (typeof method === 'function') {\n\t\t\t\treturn method(this, e, options);\n\t\t\t}\n\n\t\t\treturn [];\n\t\t},\n\n\t\tgetDatasetAtEvent: function(e) {\n\t\t\treturn Interaction.modes.dataset(this, e, {intersect: true});\n\t\t},\n\n\t\tgetDatasetMeta: function(datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.data.datasets[datasetIndex];\n\t\t\tif (!dataset._meta) {\n\t\t\t\tdataset._meta = {};\n\t\t\t}\n\n\t\t\tvar meta = dataset._meta[me.id];\n\t\t\tif (!meta) {\n\t\t\t\tmeta = dataset._meta[me.id] = {\n\t\t\t\t\ttype: null,\n\t\t\t\t\tdata: [],\n\t\t\t\t\tdataset: null,\n\t\t\t\t\tcontroller: null,\n\t\t\t\t\thidden: null,\t\t\t// See isDatasetVisible() comment\n\t\t\t\t\txAxisID: null,\n\t\t\t\t\tyAxisID: null\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn meta;\n\t\t},\n\n\t\tgetVisibleDatasetCount: function() {\n\t\t\tvar count = 0;\n\t\t\tfor (var i = 0, ilen = this.data.datasets.length; i &lt; ilen; ++i) {\n\t\t\t\tif (this.isDatasetVisible(i)) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn count;\n\t\t},\n\n\t\tisDatasetVisible: function(datasetIndex) {\n\t\t\tvar meta = this.getDatasetMeta(datasetIndex);\n\n\t\t\t// meta.hidden is a per chart dataset hidden flag override with 3 states: if true or false,\n\t\t\t// the dataset.hidden value is ignored, else if null, the dataset hidden state is returned.\n\t\t\treturn typeof meta.hidden === 'boolean' ? !meta.hidden : !this.data.datasets[datasetIndex].hidden;\n\t\t},\n\n\t\tgenerateLegend: function() {\n\t\t\treturn this.options.legendCallback(this);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tdestroyDatasetMeta: function(datasetIndex) {\n\t\t\tvar id = this.id;\n\t\t\tvar dataset = this.data.datasets[datasetIndex];\n\t\t\tvar meta = dataset._meta &amp;&amp; dataset._meta[id];\n\n\t\t\tif (meta) {\n\t\t\t\tmeta.controller.destroy();\n\t\t\t\tdelete dataset._meta[id];\n\t\t\t}\n\t\t},\n\n\t\tdestroy: function() {\n\t\t\tvar me = this;\n\t\t\tvar canvas = me.canvas;\n\t\t\tvar i, ilen;\n\n\t\t\tme.stop();\n\n\t\t\t// dataset controllers need to cleanup associated data\n\t\t\tfor (i = 0, ilen = me.data.datasets.length; i &lt; ilen; ++i) {\n\t\t\t\tme.destroyDatasetMeta(i);\n\t\t\t}\n\n\t\t\tif (canvas) {\n\t\t\t\tme.unbindEvents();\n\t\t\t\thelpers.canvas.clear(me);\n\t\t\t\tplatform.releaseContext(me.ctx);\n\t\t\t\tme.canvas = null;\n\t\t\t\tme.ctx = null;\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'destroy');\n\n\t\t\tdelete Chart.instances[me.id];\n\t\t},\n\n\t\ttoBase64Image: function() {\n\t\t\treturn this.canvas.toDataURL.apply(this.canvas, arguments);\n\t\t},\n\n\t\tinitToolTip: function() {\n\t\t\tvar me = this;\n\t\t\tme.tooltip = new Chart.Tooltip({\n\t\t\t\t_chart: me,\n\t\t\t\t_chartInstance: me, // deprecated, backward compatibility\n\t\t\t\t_data: me.data,\n\t\t\t\t_options: me.options.tooltips\n\t\t\t}, me);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tbindEvents: function() {\n\t\t\tvar me = this;\n\t\t\tvar listeners = me._listeners = {};\n\t\t\tvar listener = function() {\n\t\t\t\tme.eventHandler.apply(me, arguments);\n\t\t\t};\n\n\t\t\thelpers.each(me.options.events, function(type) {\n\t\t\t\tplatform.addEventListener(me, type, listener);\n\t\t\t\tlisteners[type] = listener;\n\t\t\t});\n\n\t\t\t// Elements used to detect size change should not be injected for non responsive charts.\n\t\t\t// See https://github.com/chartjs/Chart.js/issues/2210\n\t\t\tif (me.options.responsive) {\n\t\t\t\tlistener = function() {\n\t\t\t\t\tme.resize();\n\t\t\t\t};\n\n\t\t\t\tplatform.addEventListener(me, 'resize', listener);\n\t\t\t\tlisteners.resize = listener;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tunbindEvents: function() {\n\t\t\tvar me = this;\n\t\t\tvar listeners = me._listeners;\n\t\t\tif (!listeners) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdelete me._listeners;\n\t\t\thelpers.each(listeners, function(listener, type) {\n\t\t\t\tplatform.removeEventListener(me, type, listener);\n\t\t\t});\n\t\t},\n\n\t\tupdateHoverStyle: function(elements, mode, enabled) {\n\t\t\tvar method = enabled ? 'setHoverStyle' : 'removeHoverStyle';\n\t\t\tvar element, i, ilen;\n\n\t\t\tfor (i = 0, ilen = elements.length; i &lt; ilen; ++i) {\n\t\t\t\telement = elements[i];\n\t\t\t\tif (element) {\n\t\t\t\t\tthis.getDatasetMeta(element._datasetIndex).controller[method](element);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\teventHandler: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar tooltip = me.tooltip;\n\n\t\t\tif (plugins.notify(me, 'beforeEvent', [e]) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Buffer any update calls so that renders do not occur\n\t\t\tme._bufferedRender = true;\n\t\t\tme._bufferedRequest = null;\n\n\t\t\tvar changed = me.handleEvent(e);\n\t\t\t// for smooth tooltip animations issue #4989\n\t\t\t// the tooltip should be the source of change\n\t\t\t// Animation check workaround:\n\t\t\t// tooltip._start will be null when tooltip isn't animating\n\t\t\tif (tooltip) {\n\t\t\t\tchanged = tooltip._start\n\t\t\t\t\t? tooltip.handleEvent(e)\n\t\t\t\t\t: changed | tooltip.handleEvent(e);\n\t\t\t}\n\n\t\t\tplugins.notify(me, 'afterEvent', [e]);\n\n\t\t\tvar bufferedRequest = me._bufferedRequest;\n\t\t\tif (bufferedRequest) {\n\t\t\t\t// If we have an update that was triggered, we need to do a normal render\n\t\t\t\tme.render(bufferedRequest);\n\t\t\t} else if (changed &amp;&amp; !me.animating) {\n\t\t\t\t// If entering, leaving, or changing elements, animate the change via pivot\n\t\t\t\tme.stop();\n\n\t\t\t\t// We only need to render at this point. Updating will cause scales to be\n\t\t\t\t// recomputed generating flicker &amp; using more memory than necessary.\n\t\t\t\tme.render(me.options.hover.animationDuration, true);\n\t\t\t}\n\n\t\t\tme._bufferedRender = false;\n\t\t\tme._bufferedRequest = null;\n\n\t\t\treturn me;\n\t\t},\n\n\t\t/**\n\t\t * Handle an event\n\t\t * @private\n\t\t * @param {IEvent} event the event to handle\n\t\t * @return {Boolean} true if the chart needs to re-render\n\t\t */\n\t\thandleEvent: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options || {};\n\t\t\tvar hoverOptions = options.hover;\n\t\t\tvar changed = false;\n\n\t\t\tme.lastActive = me.lastActive || [];\n\n\t\t\t// Find Active Elements for hover and tooltips\n\t\t\tif (e.type === 'mouseout') {\n\t\t\t\tme.active = [];\n\t\t\t} else {\n\t\t\t\tme.active = me.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions);\n\t\t\t}\n\n\t\t\t// Invoke onHover hook\n\t\t\t// Need to call with native event here to not break backwards compatibility\n\t\t\thelpers.callback(options.onHover || options.hover.onHover, [e.native, me.active], me);\n\n\t\t\tif (e.type === 'mouseup' || e.type === 'click') {\n\t\t\t\tif (options.onClick) {\n\t\t\t\t\t// Use e.native here for backwards compatibility\n\t\t\t\t\toptions.onClick.call(me, e.native, me.active);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove styling for last active (even if it may still be active)\n\t\t\tif (me.lastActive.length) {\n\t\t\t\tme.updateHoverStyle(me.lastActive, hoverOptions.mode, false);\n\t\t\t}\n\n\t\t\t// Built in hover styling\n\t\t\tif (me.active.length &amp;&amp; hoverOptions.mode) {\n\t\t\t\tme.updateHoverStyle(me.active, hoverOptions.mode, true);\n\t\t\t}\n\n\t\t\tchanged = !helpers.arrayEquals(me.active, me.lastActive);\n\n\t\t\t// Remember Last Actives\n\t\t\tme.lastActive = me.active;\n\n\t\t\treturn changed;\n\t\t}\n\t});\n\n\t/**\n\t * Provided for backward compatibility, use Chart instead.\n\t * @class Chart.Controller\n\t * @deprecated since version 2.6.0\n\t * @todo remove at version 3\n\t * @private\n\t */\n\tChart.Controller = Chart;\n};\n\n},{\"25\":25,\"28\":28,\"30\":30,\"31\":31,\"45\":45,\"48\":48}],24:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\n\nmodule.exports = function(Chart) {\n\n\tvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\n\t/**\n\t * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n\t * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n\t * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\n\t */\n\tfunction listenArrayEvents(array, listener) {\n\t\tif (array._chartjs) {\n\t\t\tarray._chartjs.listeners.push(listener);\n\t\t\treturn;\n\t\t}\n\n\t\tObject.defineProperty(array, '_chartjs', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: {\n\t\t\t\tlisteners: [listener]\n\t\t\t}\n\t\t});\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\n\t\t\tvar base = array[key];\n\n\t\t\tObject.defineProperty(array, key, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: function() {\n\t\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\t\tvar res = base.apply(this, args);\n\n\t\t\t\t\thelpers.each(array._chartjs.listeners, function(object) {\n\t\t\t\t\t\tif (typeof object[method] === 'function') {\n\t\t\t\t\t\t\tobject[method].apply(object, args);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Removes the given array event listener and cleanup extra attached properties (such as\n\t * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n\t */\n\tfunction unlistenArrayEvents(array, listener) {\n\t\tvar stub = array._chartjs;\n\t\tif (!stub) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar listeners = stub.listeners;\n\t\tvar index = listeners.indexOf(listener);\n\t\tif (index !== -1) {\n\t\t\tlisteners.splice(index, 1);\n\t\t}\n\n\t\tif (listeners.length &gt; 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tarrayEvents.forEach(function(key) {\n\t\t\tdelete array[key];\n\t\t});\n\n\t\tdelete array._chartjs;\n\t}\n\n\t// Base class for all dataset controllers (line, bar, etc)\n\tChart.DatasetController = function(chart, datasetIndex) {\n\t\tthis.initialize(chart, datasetIndex);\n\t};\n\n\thelpers.extend(Chart.DatasetController.prototype, {\n\n\t\t/**\n\t\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdatasetElementType: null,\n\n\t\t/**\n\t\t * Element type used to generate a meta data (e.g. Chart.element.Point).\n\t\t * @type {Chart.core.element}\n\t\t */\n\t\tdataElementType: null,\n\n\t\tinitialize: function(chart, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tme.chart = chart;\n\t\t\tme.index = datasetIndex;\n\t\t\tme.linkScales();\n\t\t\tme.addElements();\n\t\t},\n\n\t\tupdateIndex: function(datasetIndex) {\n\t\t\tthis.index = datasetIndex;\n\t\t},\n\n\t\tlinkScales: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar dataset = me.getDataset();\n\n\t\t\tif (meta.xAxisID === null || !(meta.xAxisID in me.chart.scales)) {\n\t\t\t\tmeta.xAxisID = dataset.xAxisID || me.chart.options.scales.xAxes[0].id;\n\t\t\t}\n\t\t\tif (meta.yAxisID === null || !(meta.yAxisID in me.chart.scales)) {\n\t\t\t\tmeta.yAxisID = dataset.yAxisID || me.chart.options.scales.yAxes[0].id;\n\t\t\t}\n\t\t},\n\n\t\tgetDataset: function() {\n\t\t\treturn this.chart.data.datasets[this.index];\n\t\t},\n\n\t\tgetMeta: function() {\n\t\t\treturn this.chart.getDatasetMeta(this.index);\n\t\t},\n\n\t\tgetScaleForId: function(scaleID) {\n\t\t\treturn this.chart.scales[scaleID];\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.update(true);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tdestroy: function() {\n\t\t\tif (this._data) {\n\t\t\t\tunlistenArrayEvents(this._data, this);\n\t\t\t}\n\t\t},\n\n\t\tcreateMetaDataset: function() {\n\t\t\tvar me = this;\n\t\t\tvar type = me.datasetElementType;\n\t\t\treturn type &amp;&amp; new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index\n\t\t\t});\n\t\t},\n\n\t\tcreateMetaData: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar type = me.dataElementType;\n\t\t\treturn type &amp;&amp; new type({\n\t\t\t\t_chart: me.chart,\n\t\t\t\t_datasetIndex: me.index,\n\t\t\t\t_index: index\n\t\t\t});\n\t\t},\n\n\t\taddElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data || [];\n\t\t\tvar metaData = meta.data;\n\t\t\tvar i, ilen;\n\n\t\t\tfor (i = 0, ilen = data.length; i &lt; ilen; ++i) {\n\t\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\n\t\t\t}\n\n\t\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\n\t\t},\n\n\t\taddElementAndReset: function(index) {\n\t\t\tvar element = this.createMetaData(index);\n\t\t\tthis.getMeta().data.splice(index, 0, element);\n\t\t\tthis.updateElement(element, index, true);\n\t\t},\n\n\t\tbuildOrUpdateElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar dataset = me.getDataset();\n\t\t\tvar data = dataset.data || (dataset.data = []);\n\n\t\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\n\t\t\t// real-time charts), we need to monitor these data modifications and synchronize\n\t\t\t// the internal meta data accordingly.\n\t\t\tif (me._data !== data) {\n\t\t\t\tif (me._data) {\n\t\t\t\t\t// This case happens when the user replaced the data array instance.\n\t\t\t\t\tunlistenArrayEvents(me._data, me);\n\t\t\t\t}\n\n\t\t\t\tlistenArrayEvents(data, me);\n\t\t\t\tme._data = data;\n\t\t\t}\n\n\t\t\t// Re-sync meta data in case the user replaced the data array or if we missed\n\t\t\t// any updates and so make sure that we handle number of datapoints changing.\n\t\t\tme.resyncElements();\n\t\t},\n\n\t\tupdate: helpers.noop,\n\n\t\ttransition: function(easingValue) {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i &lt; ilen; ++i) {\n\t\t\t\telements[i].transition(easingValue);\n\t\t\t}\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.transition(easingValue);\n\t\t\t}\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar meta = this.getMeta();\n\t\t\tvar elements = meta.data || [];\n\t\t\tvar ilen = elements.length;\n\t\t\tvar i = 0;\n\n\t\t\tif (meta.dataset) {\n\t\t\t\tmeta.dataset.draw();\n\t\t\t}\n\n\t\t\tfor (; i &lt; ilen; ++i) {\n\t\t\t\telements[i].draw();\n\t\t\t}\n\t\t},\n\n\t\tremoveHoverStyle: function(element, elementOpts) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\t\tvar index = element._index;\n\t\t\tvar custom = element.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar model = element._model;\n\n\t\t\tmodel.backgroundColor = custom.backgroundColor ? custom.backgroundColor : valueOrDefault(dataset.backgroundColor, index, elementOpts.backgroundColor);\n\t\t\tmodel.borderColor = custom.borderColor ? custom.borderColor : valueOrDefault(dataset.borderColor, index, elementOpts.borderColor);\n\t\t\tmodel.borderWidth = custom.borderWidth ? custom.borderWidth : valueOrDefault(dataset.borderWidth, index, elementOpts.borderWidth);\n\t\t},\n\n\t\tsetHoverStyle: function(element) {\n\t\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\t\tvar index = element._index;\n\t\t\tvar custom = element.custom || {};\n\t\t\tvar valueOrDefault = helpers.valueAtIndexOrDefault;\n\t\t\tvar getHoverColor = helpers.getHoverColor;\n\t\t\tvar model = element._model;\n\n\t\t\tmodel.backgroundColor = custom.hoverBackgroundColor ? custom.hoverBackgroundColor : valueOrDefault(dataset.hoverBackgroundColor, index, getHoverColor(model.backgroundColor));\n\t\t\tmodel.borderColor = custom.hoverBorderColor ? custom.hoverBorderColor : valueOrDefault(dataset.hoverBorderColor, index, getHoverColor(model.borderColor));\n\t\t\tmodel.borderWidth = custom.hoverBorderWidth ? custom.hoverBorderWidth : valueOrDefault(dataset.hoverBorderWidth, index, model.borderWidth);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tresyncElements: function() {\n\t\t\tvar me = this;\n\t\t\tvar meta = me.getMeta();\n\t\t\tvar data = me.getDataset().data;\n\t\t\tvar numMeta = meta.data.length;\n\t\t\tvar numData = data.length;\n\n\t\t\tif (numData &lt; numMeta) {\n\t\t\t\tmeta.data.splice(numData, numMeta - numData);\n\t\t\t} else if (numData &gt; numMeta) {\n\t\t\t\tme.insertElements(numMeta, numData - numMeta);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tinsertElements: function(start, count) {\n\t\t\tfor (var i = 0; i &lt; count; ++i) {\n\t\t\t\tthis.addElementAndReset(start + i);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPush: function() {\n\t\t\tthis.insertElements(this.getDataset().data.length - 1, arguments.length);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataPop: function() {\n\t\t\tthis.getMeta().data.pop();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataShift: function() {\n\t\t\tthis.getMeta().data.shift();\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataSplice: function(start, count) {\n\t\t\tthis.getMeta().data.splice(start, count);\n\t\t\tthis.insertElements(start, arguments.length - 2);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tonDataUnshift: function() {\n\t\t\tthis.insertElements(0, arguments.length);\n\t\t}\n\t});\n\n\tChart.DatasetController.extend = helpers.inherits;\n};\n\n},{\"45\":45}],25:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\n\nmodule.exports = {\n\t/**\n\t * @private\n\t */\n\t_set: function(scope, values) {\n\t\treturn helpers.merge(this[scope] || (this[scope] = {}), values);\n\t}\n};\n\n},{\"45\":45}],26:[function(require,module,exports){\n'use strict';\n\nvar color = require(2);\nvar helpers = require(45);\n\nfunction interpolate(start, view, model, ease) {\n\tvar keys = Object.keys(model);\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\n\n\tfor (i = 0, ilen = keys.length; i &lt; ilen; ++i) {\n\t\tkey = keys[i];\n\n\t\ttarget = model[key];\n\n\t\t// if a value is added to the model after pivot() has been called, the view\n\t\t// doesn't contain it, so let's initialize the view to the target value.\n\t\tif (!view.hasOwnProperty(key)) {\n\t\t\tview[key] = target;\n\t\t}\n\n\t\tactual = view[key];\n\n\t\tif (actual === target || key[0] === '_') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!start.hasOwnProperty(key)) {\n\t\t\tstart[key] = actual;\n\t\t}\n\n\t\torigin = start[key];\n\n\t\ttype = typeof target;\n\n\t\tif (type === typeof origin) {\n\t\t\tif (type === 'string') {\n\t\t\t\tc0 = color(origin);\n\t\t\t\tif (c0.valid) {\n\t\t\t\t\tc1 = color(target);\n\t\t\t\t\tif (c1.valid) {\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (type === 'number' &amp;&amp; isFinite(origin) &amp;&amp; isFinite(target)) {\n\t\t\t\tview[key] = origin + (target - origin) * ease;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tview[key] = target;\n\t}\n}\n\nvar Element = function(configuration) {\n\thelpers.extend(this, configuration);\n\tthis.initialize.apply(this, arguments);\n};\n\nhelpers.extend(Element.prototype, {\n\n\tinitialize: function() {\n\t\tthis.hidden = false;\n\t},\n\n\tpivot: function() {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\tme._view = helpers.clone(me._model);\n\t\t}\n\t\tme._start = {};\n\t\treturn me;\n\t},\n\n\ttransition: function(ease) {\n\t\tvar me = this;\n\t\tvar model = me._model;\n\t\tvar start = me._start;\n\t\tvar view = me._view;\n\n\t\t// No animation -&gt; No Transition\n\t\tif (!model || ease === 1) {\n\t\t\tme._view = model;\n\t\t\tme._start = null;\n\t\t\treturn me;\n\t\t}\n\n\t\tif (!view) {\n\t\t\tview = me._view = {};\n\t\t}\n\n\t\tif (!start) {\n\t\t\tstart = me._start = {};\n\t\t}\n\n\t\tinterpolate(start, view, model, ease);\n\n\t\treturn me;\n\t},\n\n\ttooltipPosition: function() {\n\t\treturn {\n\t\t\tx: this._model.x,\n\t\t\ty: this._model.y\n\t\t};\n\t},\n\n\thasValue: function() {\n\t\treturn helpers.isNumber(this._model.x) &amp;&amp; helpers.isNumber(this._model.y);\n\t}\n});\n\nElement.extend = helpers.inherits;\n\nmodule.exports = Element;\n\n},{\"2\":2,\"45\":45}],27:[function(require,module,exports){\n/* global window: false */\n/* global document: false */\n'use strict';\n\nvar color = require(2);\nvar defaults = require(25);\nvar helpers = require(45);\n\nmodule.exports = function(Chart) {\n\n\t// -- Basic js utility methods\n\n\thelpers.configMerge = function(/* objects ... */) {\n\t\treturn helpers.merge(helpers.clone(arguments[0]), [].slice.call(arguments, 1), {\n\t\t\tmerger: function(key, target, source, options) {\n\t\t\t\tvar tval = target[key] || {};\n\t\t\t\tvar sval = source[key];\n\n\t\t\t\tif (key === 'scales') {\n\t\t\t\t\t// scale config merging is complex. Add our own function here for that\n\t\t\t\t\ttarget[key] = helpers.scaleMerge(tval, sval);\n\t\t\t\t} else if (key === 'scale') {\n\t\t\t\t\t// used in polar area &amp; radar charts since there is only one scale\n\t\t\t\t\ttarget[key] = helpers.merge(tval, [Chart.scaleService.getScaleDefaults(sval.type), sval]);\n\t\t\t\t} else {\n\t\t\t\t\thelpers._merger(key, target, source, options);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\thelpers.scaleMerge = function(/* objects ... */) {\n\t\treturn helpers.merge(helpers.clone(arguments[0]), [].slice.call(arguments, 1), {\n\t\t\tmerger: function(key, target, source, options) {\n\t\t\t\tif (key === 'xAxes' || key === 'yAxes') {\n\t\t\t\t\tvar slen = source[key].length;\n\t\t\t\t\tvar i, type, scale;\n\n\t\t\t\t\tif (!target[key]) {\n\t\t\t\t\t\ttarget[key] = [];\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (i = 0; i &lt; slen; ++i) {\n\t\t\t\t\t\tscale = source[key][i];\n\t\t\t\t\t\ttype = helpers.valueOrDefault(scale.type, key === 'xAxes' ? 'category' : 'linear');\n\n\t\t\t\t\t\tif (i &gt;= target[key].length) {\n\t\t\t\t\t\t\ttarget[key].push({});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!target[key][i].type || (scale.type &amp;&amp; scale.type !== target[key][i].type)) {\n\t\t\t\t\t\t\t// new/untyped scale or type changed: let's apply the new defaults\n\t\t\t\t\t\t\t// then merge source scale to correctly overwrite the defaults.\n\t\t\t\t\t\t\thelpers.merge(target[key][i], [Chart.scaleService.getScaleDefaults(type), scale]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// scales type are the same\n\t\t\t\t\t\t\thelpers.merge(target[key][i], scale);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\thelpers._merger(key, target, source, options);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\thelpers.where = function(collection, filterCallback) {\n\t\tif (helpers.isArray(collection) &amp;&amp; Array.prototype.filter) {\n\t\t\treturn collection.filter(filterCallback);\n\t\t}\n\t\tvar filtered = [];\n\n\t\thelpers.each(collection, function(item) {\n\t\t\tif (filterCallback(item)) {\n\t\t\t\tfiltered.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn filtered;\n\t};\n\thelpers.findIndex = Array.prototype.findIndex ?\n\t\tfunction(array, callback, scope) {\n\t\t\treturn array.findIndex(callback, scope);\n\t\t} :\n\t\tfunction(array, callback, scope) {\n\t\t\tscope = scope === undefined ? array : scope;\n\t\t\tfor (var i = 0, ilen = array.length; i &lt; ilen; ++i) {\n\t\t\t\tif (callback.call(scope, array[i], i, array)) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t};\n\thelpers.findNextWhere = function(arrayToSearch, filterCallback, startIndex) {\n\t\t// Default to start of the array\n\t\tif (helpers.isNullOrUndef(startIndex)) {\n\t\t\tstartIndex = -1;\n\t\t}\n\t\tfor (var i = startIndex + 1; i &lt; arrayToSearch.length; i++) {\n\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\tif (filterCallback(currentItem)) {\n\t\t\t\treturn currentItem;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.findPreviousWhere = function(arrayToSearch, filterCallback, startIndex) {\n\t\t// Default to end of the array\n\t\tif (helpers.isNullOrUndef(startIndex)) {\n\t\t\tstartIndex = arrayToSearch.length;\n\t\t}\n\t\tfor (var i = startIndex - 1; i &gt;= 0; i--) {\n\t\t\tvar currentItem = arrayToSearch[i];\n\t\t\tif (filterCallback(currentItem)) {\n\t\t\t\treturn currentItem;\n\t\t\t}\n\t\t}\n\t};\n\n\t// -- Math methods\n\thelpers.isNumber = function(n) {\n\t\treturn !isNaN(parseFloat(n)) &amp;&amp; isFinite(n);\n\t};\n\thelpers.almostEquals = function(x, y, epsilon) {\n\t\treturn Math.abs(x - y) &lt; epsilon;\n\t};\n\thelpers.almostWhole = function(x, epsilon) {\n\t\tvar rounded = Math.round(x);\n\t\treturn (((rounded - epsilon) &lt; x) &amp;&amp; ((rounded + epsilon) &gt; x));\n\t};\n\thelpers.max = function(array) {\n\t\treturn array.reduce(function(max, value) {\n\t\t\tif (!isNaN(value)) {\n\t\t\t\treturn Math.max(max, value);\n\t\t\t}\n\t\t\treturn max;\n\t\t}, Number.NEGATIVE_INFINITY);\n\t};\n\thelpers.min = function(array) {\n\t\treturn array.reduce(function(min, value) {\n\t\t\tif (!isNaN(value)) {\n\t\t\t\treturn Math.min(min, value);\n\t\t\t}\n\t\t\treturn min;\n\t\t}, Number.POSITIVE_INFINITY);\n\t};\n\thelpers.sign = Math.sign ?\n\t\tfunction(x) {\n\t\t\treturn Math.sign(x);\n\t\t} :\n\t\tfunction(x) {\n\t\t\tx = +x; // convert to a number\n\t\t\tif (x === 0 || isNaN(x)) {\n\t\t\t\treturn x;\n\t\t\t}\n\t\t\treturn x &gt; 0 ? 1 : -1;\n\t\t};\n\thelpers.log10 = Math.log10 ?\n\t\tfunction(x) {\n\t\t\treturn Math.log10(x);\n\t\t} :\n\t\tfunction(x) {\n\t\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\n\t\t\t// Check for whole powers of 10,\n\t\t\t// which due to floating point rounding error should be corrected.\n\t\t\tvar powerOf10 = Math.round(exponent);\n\t\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\n\n\t\t\treturn isPowerOf10 ? powerOf10 : exponent;\n\t\t};\n\thelpers.toRadians = function(degrees) {\n\t\treturn degrees * (Math.PI / 180);\n\t};\n\thelpers.toDegrees = function(radians) {\n\t\treturn radians * (180 / Math.PI);\n\t};\n\t// Gets the angle from vertical upright to the point about a centre.\n\thelpers.getAngleFromPoint = function(centrePoint, anglePoint) {\n\t\tvar distanceFromXCenter = anglePoint.x - centrePoint.x;\n\t\tvar distanceFromYCenter = anglePoint.y - centrePoint.y;\n\t\tvar radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n\n\t\tvar angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n\n\t\tif (angle &lt; (-0.5 * Math.PI)) {\n\t\t\tangle += 2.0 * Math.PI; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n\t\t}\n\n\t\treturn {\n\t\t\tangle: angle,\n\t\t\tdistance: radialDistanceFromCenter\n\t\t};\n\t};\n\thelpers.distanceBetweenPoints = function(pt1, pt2) {\n\t\treturn Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n\t};\n\thelpers.aliasPixel = function(pixelWidth) {\n\t\treturn (pixelWidth % 2 === 0) ? 0 : 0.5;\n\t};\n\thelpers.splineCurve = function(firstPoint, middlePoint, afterPoint, t) {\n\t\t// Props to Rob Spencer at scaled innovation for his post on splining between points\n\t\t// http://scaledinnovation.com/analytics/splines/aboutSplines.html\n\n\t\t// This function must also respect \"skipped\" points\n\n\t\tvar previous = firstPoint.skip ? middlePoint : firstPoint;\n\t\tvar current = middlePoint;\n\t\tvar next = afterPoint.skip ? middlePoint : afterPoint;\n\n\t\tvar d01 = Math.sqrt(Math.pow(current.x - previous.x, 2) + Math.pow(current.y - previous.y, 2));\n\t\tvar d12 = Math.sqrt(Math.pow(next.x - current.x, 2) + Math.pow(next.y - current.y, 2));\n\n\t\tvar s01 = d01 / (d01 + d12);\n\t\tvar s12 = d12 / (d01 + d12);\n\n\t\t// If all points are the same, s01 &amp; s02 will be inf\n\t\ts01 = isNaN(s01) ? 0 : s01;\n\t\ts12 = isNaN(s12) ? 0 : s12;\n\n\t\tvar fa = t * s01; // scaling factor for triangle Ta\n\t\tvar fb = t * s12;\n\n\t\treturn {\n\t\t\tprevious: {\n\t\t\t\tx: current.x - fa * (next.x - previous.x),\n\t\t\t\ty: current.y - fa * (next.y - previous.y)\n\t\t\t},\n\t\t\tnext: {\n\t\t\t\tx: current.x + fb * (next.x - previous.x),\n\t\t\t\ty: current.y + fb * (next.y - previous.y)\n\t\t\t}\n\t\t};\n\t};\n\thelpers.EPSILON = Number.EPSILON || 1e-14;\n\thelpers.splineCurveMonotone = function(points) {\n\t\t// This function calculates BÃ©zier control points in a similar way than |splineCurve|,\n\t\t// but preserves monotonicity of the provided data and ensures no local extremums are added\n\t\t// between the dataset discrete points due to the interpolation.\n\t\t// See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n\n\t\tvar pointsWithTangents = (points || []).map(function(point) {\n\t\t\treturn {\n\t\t\t\tmodel: point._model,\n\t\t\t\tdeltaK: 0,\n\t\t\t\tmK: 0\n\t\t\t};\n\t\t});\n\n\t\t// Calculate slopes (deltaK) and initialize tangents (mK)\n\t\tvar pointsLen = pointsWithTangents.length;\n\t\tvar i, pointBefore, pointCurrent, pointAfter;\n\t\tfor (i = 0; i &lt; pointsLen; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tif (pointCurrent.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpointBefore = i &gt; 0 ? pointsWithTangents[i - 1] : null;\n\t\t\tpointAfter = i &lt; pointsLen - 1 ? pointsWithTangents[i + 1] : null;\n\t\t\tif (pointAfter &amp;&amp; !pointAfter.model.skip) {\n\t\t\t\tvar slopeDeltaX = (pointAfter.model.x - pointCurrent.model.x);\n\n\t\t\t\t// In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n\t\t\t\tpointCurrent.deltaK = slopeDeltaX !== 0 ? (pointAfter.model.y - pointCurrent.model.y) / slopeDeltaX : 0;\n\t\t\t}\n\n\t\t\tif (!pointBefore || pointBefore.model.skip) {\n\t\t\t\tpointCurrent.mK = pointCurrent.deltaK;\n\t\t\t} else if (!pointAfter || pointAfter.model.skip) {\n\t\t\t\tpointCurrent.mK = pointBefore.deltaK;\n\t\t\t} else if (this.sign(pointBefore.deltaK) !== this.sign(pointCurrent.deltaK)) {\n\t\t\t\tpointCurrent.mK = 0;\n\t\t\t} else {\n\t\t\t\tpointCurrent.mK = (pointBefore.deltaK + pointCurrent.deltaK) / 2;\n\t\t\t}\n\t\t}\n\n\t\t// Adjust tangents to ensure monotonic properties\n\t\tvar alphaK, betaK, tauK, squaredMagnitude;\n\t\tfor (i = 0; i &lt; pointsLen - 1; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tpointAfter = pointsWithTangents[i + 1];\n\t\t\tif (pointCurrent.model.skip || pointAfter.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (helpers.almostEquals(pointCurrent.deltaK, 0, this.EPSILON)) {\n\t\t\t\tpointCurrent.mK = pointAfter.mK = 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\talphaK = pointCurrent.mK / pointCurrent.deltaK;\n\t\t\tbetaK = pointAfter.mK / pointCurrent.deltaK;\n\t\t\tsquaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n\t\t\tif (squaredMagnitude &lt;= 9) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ttauK = 3 / Math.sqrt(squaredMagnitude);\n\t\t\tpointCurrent.mK = alphaK * tauK * pointCurrent.deltaK;\n\t\t\tpointAfter.mK = betaK * tauK * pointCurrent.deltaK;\n\t\t}\n\n\t\t// Compute control points\n\t\tvar deltaX;\n\t\tfor (i = 0; i &lt; pointsLen; ++i) {\n\t\t\tpointCurrent = pointsWithTangents[i];\n\t\t\tif (pointCurrent.model.skip) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpointBefore = i &gt; 0 ? pointsWithTangents[i - 1] : null;\n\t\t\tpointAfter = i &lt; pointsLen - 1 ? pointsWithTangents[i + 1] : null;\n\t\t\tif (pointBefore &amp;&amp; !pointBefore.model.skip) {\n\t\t\t\tdeltaX = (pointCurrent.model.x - pointBefore.model.x) / 3;\n\t\t\t\tpointCurrent.model.controlPointPreviousX = pointCurrent.model.x - deltaX;\n\t\t\t\tpointCurrent.model.controlPointPreviousY = pointCurrent.model.y - deltaX * pointCurrent.mK;\n\t\t\t}\n\t\t\tif (pointAfter &amp;&amp; !pointAfter.model.skip) {\n\t\t\t\tdeltaX = (pointAfter.model.x - pointCurrent.model.x) / 3;\n\t\t\t\tpointCurrent.model.controlPointNextX = pointCurrent.model.x + deltaX;\n\t\t\t\tpointCurrent.model.controlPointNextY = pointCurrent.model.y + deltaX * pointCurrent.mK;\n\t\t\t}\n\t\t}\n\t};\n\thelpers.nextItem = function(collection, index, loop) {\n\t\tif (loop) {\n\t\t\treturn index &gt;= collection.length - 1 ? collection[0] : collection[index + 1];\n\t\t}\n\t\treturn index &gt;= collection.length - 1 ? collection[collection.length - 1] : collection[index + 1];\n\t};\n\thelpers.previousItem = function(collection, index, loop) {\n\t\tif (loop) {\n\t\t\treturn index &lt;= 0 ? collection[collection.length - 1] : collection[index - 1];\n\t\t}\n\t\treturn index &lt;= 0 ? collection[0] : collection[index - 1];\n\t};\n\t// Implementation of the nice number algorithm used in determining where axis labels will go\n\thelpers.niceNum = function(range, round) {\n\t\tvar exponent = Math.floor(helpers.log10(range));\n\t\tvar fraction = range / Math.pow(10, exponent);\n\t\tvar niceFraction;\n\n\t\tif (round) {\n\t\t\tif (fraction &lt; 1.5) {\n\t\t\t\tniceFraction = 1;\n\t\t\t} else if (fraction &lt; 3) {\n\t\t\t\tniceFraction = 2;\n\t\t\t} else if (fraction &lt; 7) {\n\t\t\t\tniceFraction = 5;\n\t\t\t} else {\n\t\t\t\tniceFraction = 10;\n\t\t\t}\n\t\t} else if (fraction &lt;= 1.0) {\n\t\t\tniceFraction = 1;\n\t\t} else if (fraction &lt;= 2) {\n\t\t\tniceFraction = 2;\n\t\t} else if (fraction &lt;= 5) {\n\t\t\tniceFraction = 5;\n\t\t} else {\n\t\t\tniceFraction = 10;\n\t\t}\n\n\t\treturn niceFraction * Math.pow(10, exponent);\n\t};\n\t// Request animation polyfill - http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/\n\thelpers.requestAnimFrame = (function() {\n\t\tif (typeof window === 'undefined') {\n\t\t\treturn function(callback) {\n\t\t\t\tcallback();\n\t\t\t};\n\t\t}\n\t\treturn window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\twindow.oRequestAnimationFrame ||\n\t\t\twindow.msRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000 / 60);\n\t\t\t};\n\t}());\n\t// -- DOM methods\n\thelpers.getRelativePosition = function(evt, chart) {\n\t\tvar mouseX, mouseY;\n\t\tvar e = evt.originalEvent || evt;\n\t\tvar canvas = evt.currentTarget || evt.srcElement;\n\t\tvar boundingRect = canvas.getBoundingClientRect();\n\n\t\tvar touches = e.touches;\n\t\tif (touches &amp;&amp; touches.length &gt; 0) {\n\t\t\tmouseX = touches[0].clientX;\n\t\t\tmouseY = touches[0].clientY;\n\n\t\t} else {\n\t\t\tmouseX = e.clientX;\n\t\t\tmouseY = e.clientY;\n\t\t}\n\n\t\t// Scale mouse coordinates into canvas coordinates\n\t\t// by following the pattern laid out by 'jerryj' in the comments of\n\t\t// http://www.html5canvastutorials.com/advanced/html5-canvas-mouse-coordinates/\n\t\tvar paddingLeft = parseFloat(helpers.getStyle(canvas, 'padding-left'));\n\t\tvar paddingTop = parseFloat(helpers.getStyle(canvas, 'padding-top'));\n\t\tvar paddingRight = parseFloat(helpers.getStyle(canvas, 'padding-right'));\n\t\tvar paddingBottom = parseFloat(helpers.getStyle(canvas, 'padding-bottom'));\n\t\tvar width = boundingRect.right - boundingRect.left - paddingLeft - paddingRight;\n\t\tvar height = boundingRect.bottom - boundingRect.top - paddingTop - paddingBottom;\n\n\t\t// We divide by the current device pixel ratio, because the canvas is scaled up by that amount in each direction. However\n\t\t// the backend model is in unscaled coordinates. Since we are going to deal with our model coordinates, we go back here\n\t\tmouseX = Math.round((mouseX - boundingRect.left - paddingLeft) / (width) * canvas.width / chart.currentDevicePixelRatio);\n\t\tmouseY = Math.round((mouseY - boundingRect.top - paddingTop) / (height) * canvas.height / chart.currentDevicePixelRatio);\n\n\t\treturn {\n\t\t\tx: mouseX,\n\t\t\ty: mouseY\n\t\t};\n\n\t};\n\n\t// Private helper function to convert max-width/max-height values that may be percentages into a number\n\tfunction parseMaxStyle(styleValue, node, parentProperty) {\n\t\tvar valueInPixels;\n\t\tif (typeof styleValue === 'string') {\n\t\t\tvalueInPixels = parseInt(styleValue, 10);\n\n\t\t\tif (styleValue.indexOf('%') !== -1) {\n\t\t\t\t// percentage * size in dimension\n\t\t\t\tvalueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n\t\t\t}\n\t\t} else {\n\t\t\tvalueInPixels = styleValue;\n\t\t}\n\n\t\treturn valueInPixels;\n\t}\n\n\t/**\n\t * Returns if the given value contains an effective constraint.\n\t * @private\n\t */\n\tfunction isConstrainedValue(value) {\n\t\treturn value !== undefined &amp;&amp; value !== null &amp;&amp; value !== 'none';\n\t}\n\n\t// Private helper to get a constraint dimension\n\t// @param domNode : the node to check the constraint on\n\t// @param maxStyle : the style that defines the maximum for the direction we are using (maxWidth / maxHeight)\n\t// @param percentageProperty : property of parent to use when calculating width as a percentage\n\t// @see http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser\n\tfunction getConstraintDimension(domNode, maxStyle, percentageProperty) {\n\t\tvar view = document.defaultView;\n\t\tvar parentNode = domNode.parentNode;\n\t\tvar constrainedNode = view.getComputedStyle(domNode)[maxStyle];\n\t\tvar constrainedContainer = view.getComputedStyle(parentNode)[maxStyle];\n\t\tvar hasCNode = isConstrainedValue(constrainedNode);\n\t\tvar hasCContainer = isConstrainedValue(constrainedContainer);\n\t\tvar infinity = Number.POSITIVE_INFINITY;\n\n\t\tif (hasCNode || hasCContainer) {\n\t\t\treturn Math.min(\n\t\t\t\thasCNode ? parseMaxStyle(constrainedNode, domNode, percentageProperty) : infinity,\n\t\t\t\thasCContainer ? parseMaxStyle(constrainedContainer, parentNode, percentageProperty) : infinity);\n\t\t}\n\n\t\treturn 'none';\n\t}\n\t// returns Number or undefined if no constraint\n\thelpers.getConstraintWidth = function(domNode) {\n\t\treturn getConstraintDimension(domNode, 'max-width', 'clientWidth');\n\t};\n\t// returns Number or undefined if no constraint\n\thelpers.getConstraintHeight = function(domNode) {\n\t\treturn getConstraintDimension(domNode, 'max-height', 'clientHeight');\n\t};\n\thelpers.getMaximumWidth = function(domNode) {\n\t\tvar container = domNode.parentNode;\n\t\tif (!container) {\n\t\t\treturn domNode.clientWidth;\n\t\t}\n\n\t\tvar paddingLeft = parseInt(helpers.getStyle(container, 'padding-left'), 10);\n\t\tvar paddingRight = parseInt(helpers.getStyle(container, 'padding-right'), 10);\n\t\tvar w = container.clientWidth - paddingLeft - paddingRight;\n\t\tvar cw = helpers.getConstraintWidth(domNode);\n\t\treturn isNaN(cw) ? w : Math.min(w, cw);\n\t};\n\thelpers.getMaximumHeight = function(domNode) {\n\t\tvar container = domNode.parentNode;\n\t\tif (!container) {\n\t\t\treturn domNode.clientHeight;\n\t\t}\n\n\t\tvar paddingTop = parseInt(helpers.getStyle(container, 'padding-top'), 10);\n\t\tvar paddingBottom = parseInt(helpers.getStyle(container, 'padding-bottom'), 10);\n\t\tvar h = container.clientHeight - paddingTop - paddingBottom;\n\t\tvar ch = helpers.getConstraintHeight(domNode);\n\t\treturn isNaN(ch) ? h : Math.min(h, ch);\n\t};\n\thelpers.getStyle = function(el, property) {\n\t\treturn el.currentStyle ?\n\t\t\tel.currentStyle[property] :\n\t\t\tdocument.defaultView.getComputedStyle(el, null).getPropertyValue(property);\n\t};\n\thelpers.retinaScale = function(chart, forceRatio) {\n\t\tvar pixelRatio = chart.currentDevicePixelRatio = forceRatio || window.devicePixelRatio || 1;\n\t\tif (pixelRatio === 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar canvas = chart.canvas;\n\t\tvar height = chart.height;\n\t\tvar width = chart.width;\n\n\t\tcanvas.height = height * pixelRatio;\n\t\tcanvas.width = width * pixelRatio;\n\t\tchart.ctx.scale(pixelRatio, pixelRatio);\n\n\t\t// If no style has been set on the canvas, the render size is used as display size,\n\t\t// making the chart visually bigger, so let's enforce it to the \"correct\" values.\n\t\t// See https://github.com/chartjs/Chart.js/issues/3575\n\t\tif (!canvas.style.height &amp;&amp; !canvas.style.width) {\n\t\t\tcanvas.style.height = height + 'px';\n\t\t\tcanvas.style.width = width + 'px';\n\t\t}\n\t};\n\t// -- Canvas methods\n\thelpers.fontString = function(pixelSize, fontStyle, fontFamily) {\n\t\treturn fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n\t};\n\thelpers.longestText = function(ctx, font, arrayOfThings, cache) {\n\t\tcache = cache || {};\n\t\tvar data = cache.data = cache.data || {};\n\t\tvar gc = cache.garbageCollect = cache.garbageCollect || [];\n\n\t\tif (cache.font !== font) {\n\t\t\tdata = cache.data = {};\n\t\t\tgc = cache.garbageCollect = [];\n\t\t\tcache.font = font;\n\t\t}\n\n\t\tctx.font = font;\n\t\tvar longest = 0;\n\t\thelpers.each(arrayOfThings, function(thing) {\n\t\t\t// Undefined strings and arrays should not be measured\n\t\t\tif (thing !== undefined &amp;&amp; thing !== null &amp;&amp; helpers.isArray(thing) !== true) {\n\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, thing);\n\t\t\t} else if (helpers.isArray(thing)) {\n\t\t\t\t// if it is an array lets measure each element\n\t\t\t\t// to do maybe simplify this function a bit so we can do this more recursively?\n\t\t\t\thelpers.each(thing, function(nestedThing) {\n\t\t\t\t\t// Undefined strings and arrays should not be measured\n\t\t\t\t\tif (nestedThing !== undefined &amp;&amp; nestedThing !== null &amp;&amp; !helpers.isArray(nestedThing)) {\n\t\t\t\t\t\tlongest = helpers.measureText(ctx, data, gc, longest, nestedThing);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tvar gcLen = gc.length / 2;\n\t\tif (gcLen &gt; arrayOfThings.length) {\n\t\t\tfor (var i = 0; i &lt; gcLen; i++) {\n\t\t\t\tdelete data[gc[i]];\n\t\t\t}\n\t\t\tgc.splice(0, gcLen);\n\t\t}\n\t\treturn longest;\n\t};\n\thelpers.measureText = function(ctx, data, gc, longest, string) {\n\t\tvar textWidth = data[string];\n\t\tif (!textWidth) {\n\t\t\ttextWidth = data[string] = ctx.measureText(string).width;\n\t\t\tgc.push(string);\n\t\t}\n\t\tif (textWidth &gt; longest) {\n\t\t\tlongest = textWidth;\n\t\t}\n\t\treturn longest;\n\t};\n\thelpers.numberOfLabelLines = function(arrayOfThings) {\n\t\tvar numberOfLines = 1;\n\t\thelpers.each(arrayOfThings, function(thing) {\n\t\t\tif (helpers.isArray(thing)) {\n\t\t\t\tif (thing.length &gt; numberOfLines) {\n\t\t\t\t\tnumberOfLines = thing.length;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\treturn numberOfLines;\n\t};\n\n\thelpers.color = !color ?\n\t\tfunction(value) {\n\t\t\tconsole.error('Color.js not found!');\n\t\t\treturn value;\n\t\t} :\n\t\tfunction(value) {\n\t\t\t/* global CanvasGradient */\n\t\t\tif (value instanceof CanvasGradient) {\n\t\t\t\tvalue = defaults.global.defaultColor;\n\t\t\t}\n\n\t\t\treturn color(value);\n\t\t};\n\n\thelpers.getHoverColor = function(colorValue) {\n\t\t/* global CanvasPattern */\n\t\treturn (colorValue instanceof CanvasPattern) ?\n\t\t\tcolorValue :\n\t\t\thelpers.color(colorValue).saturate(0.5).darken(0.1).rgbString();\n\t};\n};\n\n},{\"2\":2,\"25\":25,\"45\":45}],28:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\n\n/**\n * Helper function to get relative position for an event\n * @param {Event|IEvent} event - The event to get the position for\n * @param {Chart} chart - The chart\n * @returns {Point} the event position\n */\nfunction getRelativePosition(e, chart) {\n\tif (e.native) {\n\t\treturn {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t};\n\t}\n\n\treturn helpers.getRelativePosition(e, chart);\n}\n\n/**\n * Helper function to traverse all of the visible elements in the chart\n * @param chart {chart} the chart\n * @param handler {Function} the callback to execute for each visible item\n */\nfunction parseVisibleItems(chart, handler) {\n\tvar datasets = chart.data.datasets;\n\tvar meta, i, j, ilen, jlen;\n\n\tfor (i = 0, ilen = datasets.length; i &lt; ilen; ++i) {\n\t\tif (!chart.isDatasetVisible(i)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tmeta = chart.getDatasetMeta(i);\n\t\tfor (j = 0, jlen = meta.data.length; j &lt; jlen; ++j) {\n\t\t\tvar element = meta.data[j];\n\t\t\tif (!element._view.skip) {\n\t\t\t\thandler(element);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Helper function to get the items that intersect the event position\n * @param items {ChartElement[]} elements to filter\n * @param position {Point} the point to be nearest to\n * @return {ChartElement[]} the nearest items\n */\nfunction getIntersectItems(chart, position) {\n\tvar elements = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (element.inRange(position.x, position.y)) {\n\t\t\telements.push(element);\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\n * @param chart {Chart} the chart to look at elements from\n * @param position {Point} the point to be nearest to\n * @param intersect {Boolean} if true, only consider items that intersect the position\n * @param distanceMetric {Function} function to provide the distance between points\n * @return {ChartElement[]} the nearest items\n */\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\n\tvar minDistance = Number.POSITIVE_INFINITY;\n\tvar nearestItems = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (intersect &amp;&amp; !element.inRange(position.x, position.y)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar center = element.getCenterPoint();\n\t\tvar distance = distanceMetric(position, center);\n\n\t\tif (distance &lt; minDistance) {\n\t\t\tnearestItems = [element];\n\t\t\tminDistance = distance;\n\t\t} else if (distance === minDistance) {\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\n\t\t\tnearestItems.push(element);\n\t\t}\n\t});\n\n\treturn nearestItems;\n}\n\n/**\n * Get a distance metric function for two points based on the\n * axis mode setting\n * @param {String} axis the axis mode. x|y|xy\n */\nfunction getDistanceMetricForAxis(axis) {\n\tvar useX = axis.indexOf('x') !== -1;\n\tvar useY = axis.indexOf('y') !== -1;\n\n\treturn function(pt1, pt2) {\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n\t};\n}\n\nfunction indexMode(chart, e, options) {\n\tvar position = getRelativePosition(e, chart);\n\t// Default axis for index mode is 'x' to match old behaviour\n\toptions.axis = options.axis || 'x';\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\tvar elements = [];\n\n\tif (!items.length) {\n\t\treturn [];\n\t}\n\n\tchart.data.datasets.forEach(function(dataset, datasetIndex) {\n\t\tif (chart.isDatasetVisible(datasetIndex)) {\n\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\tvar element = meta.data[items[0]._index];\n\n\t\t\t// don't count items that are skipped (null data)\n\t\t\tif (element &amp;&amp; !element._view.skip) {\n\t\t\t\telements.push(element);\n\t\t\t}\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * @interface IInteractionOptions\n */\n/**\n * If true, only consider items that intersect the point\n * @name IInterfaceOptions#boolean\n * @type Boolean\n */\n\n/**\n * Contains interaction related functions\n * @namespace Chart.Interaction\n */\nmodule.exports = {\n\t// Helper function for different modes\n\tmodes: {\n\t\tsingle: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar elements = [];\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\telements.push(element);\n\t\t\t\t\treturn elements;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn elements.slice(0, 1);\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.label\n\t\t * @deprecated since version 2.4.0\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\tlabel: indexMode,\n\n\t\t/**\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t * @function Chart.Interaction.modes.index\n\t\t * @since v2.4.0\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tindex: indexMode,\n\n\t\t/**\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t * @function Chart.Interaction.modes.dataset\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tdataset: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\n\t\t\tif (items.length &gt; 0) {\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\n\t\t\t}\n\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.x-axis\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\t'x-axis': function(chart, e) {\n\t\t\treturn indexMode(chart, e, {intersect: false});\n\t\t},\n\n\t\t/**\n\t\t * Point mode returns all elements that hit test based on the event position\n\t\t * of the event\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tpoint: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\treturn getIntersectItems(chart, position);\n\t\t},\n\n\t\t/**\n\t\t * nearest mode returns the element closest to the point\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tnearest: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\tvar nearestItems = getNearestItems(chart, position, options.intersect, distanceMetric);\n\n\t\t\t// We have multiple items at the same distance from the event. Now sort by smallest\n\t\t\tif (nearestItems.length &gt; 1) {\n\t\t\t\tnearestItems.sort(function(a, b) {\n\t\t\t\t\tvar sizeA = a.getArea();\n\t\t\t\t\tvar sizeB = b.getArea();\n\t\t\t\t\tvar ret = sizeA - sizeB;\n\n\t\t\t\t\tif (ret === 0) {\n\t\t\t\t\t\t// if equal sort by dataset index\n\t\t\t\t\t\tret = a._datasetIndex - b._datasetIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ret;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Return only 1 item\n\t\t\treturn nearestItems.slice(0, 1);\n\t\t},\n\n\t\t/**\n\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t * @function Chart.Interaction.modes.x\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tx: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inXRange(position.x)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect &amp;&amp; !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t * @function Chart.Interaction.modes.y\n\t\t * @param chart {chart} the chart we are returning items from\n\t\t * @param e {Event} the event we are find things at\n\t\t * @param options {IInteractionOptions} options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\ty: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inYRange(position.y)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect &amp;&amp; !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t}\n\t}\n};\n\n},{\"45\":45}],29:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\n\ndefaults._set('global', {\n\tresponsive: true,\n\tresponsiveAnimationDuration: 0,\n\tmaintainAspectRatio: true,\n\tevents: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'],\n\thover: {\n\t\tonHover: null,\n\t\tmode: 'nearest',\n\t\tintersect: true,\n\t\tanimationDuration: 400\n\t},\n\tonClick: null,\n\tdefaultColor: 'rgba(0,0,0,0.1)',\n\tdefaultFontColor: '#666',\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\tdefaultFontSize: 12,\n\tdefaultFontStyle: 'normal',\n\tshowLines: true,\n\n\t// Element defaults defined in element extensions\n\telements: {},\n\n\t// Layout options such as padding\n\tlayout: {\n\t\tpadding: {\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0\n\t\t}\n\t}\n});\n\nmodule.exports = function() {\n\n\t// Occupy the global variable of Chart, and create a simple base class\n\tvar Chart = function(item, config) {\n\t\tthis.construct(item, config);\n\t\treturn this;\n\t};\n\n\tChart.Chart = Chart;\n\n\treturn Chart;\n};\n\n},{\"25\":25}],30:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\n\nfunction filterByPosition(array, position) {\n\treturn helpers.where(array, function(v) {\n\t\treturn v.position === position;\n\t});\n}\n\nfunction sortByWeight(array, reverse) {\n\tarray.forEach(function(v, i) {\n\t\tv._tmpIndex_ = i;\n\t\treturn v;\n\t});\n\tarray.sort(function(a, b) {\n\t\tvar v0 = reverse ? b : a;\n\t\tvar v1 = reverse ? a : b;\n\t\treturn v0.weight === v1.weight ?\n\t\t\tv0._tmpIndex_ - v1._tmpIndex_ :\n\t\t\tv0.weight - v1.weight;\n\t});\n\tarray.forEach(function(v) {\n\t\tdelete v._tmpIndex_;\n\t});\n}\n\n/**\n * @interface ILayoutItem\n * @prop {String} position - The position of the item in the chart layout. Possible values are\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\n * @prop {Number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n * @prop {Boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\n * @prop {Function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n * @prop {Function} update - Takes two parameters: width and height. Returns size of item\n * @prop {Function} getPadding -  Returns an object with padding on the edges\n * @prop {Number} width - Width of item. Must be valid after update()\n * @prop {Number} height - Height of item. Must be valid after update()\n * @prop {Number} left - Left edge of the item. Set by layout system and cannot be used in update\n * @prop {Number} top - Top edge of the item. Set by layout system and cannot be used in update\n * @prop {Number} right - Right edge of the item. Set by layout system and cannot be used in update\n * @prop {Number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n */\n\n// The layout service is very self explanatory.  It's responsible for the layout within a chart.\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n// It is this service's responsibility of carrying out that layout.\nmodule.exports = {\n\tdefaults: {},\n\n\t/**\n\t * Register a box to a chart.\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t * @param {Chart} chart - the chart to use\n\t * @param {ILayoutItem} item - the item to add to be layed out\n\t */\n\taddBox: function(chart, item) {\n\t\tif (!chart.boxes) {\n\t\t\tchart.boxes = [];\n\t\t}\n\n\t\t// initialize item with default values\n\t\titem.fullWidth = item.fullWidth || false;\n\t\titem.position = item.position || 'top';\n\t\titem.weight = item.weight || 0;\n\n\t\tchart.boxes.push(item);\n\t},\n\n\t/**\n\t * Remove a layoutItem from a chart\n\t * @param {Chart} chart - the chart to remove the box from\n\t * @param {Object} layoutItem - the item to remove from the layout\n\t */\n\tremoveBox: function(chart, layoutItem) {\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n\t\tif (index !== -1) {\n\t\t\tchart.boxes.splice(index, 1);\n\t\t}\n\t},\n\n\t/**\n\t * Sets (or updates) options on the given `item`.\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t * @param {Object} item - the item to configure with the given options\n\t * @param {Object} options - the new item options.\n\t */\n\tconfigure: function(chart, item, options) {\n\t\tvar props = ['fullWidth', 'position', 'weight'];\n\t\tvar ilen = props.length;\n\t\tvar i = 0;\n\t\tvar prop;\n\n\t\tfor (; i &lt; ilen; ++i) {\n\t\t\tprop = props[i];\n\t\t\tif (options.hasOwnProperty(prop)) {\n\t\t\t\titem[prop] = options[prop];\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t * then running a fitting algorithm\n\t * @param {Chart} chart - the chart\n\t * @param {Number} width - the width to fit into\n\t * @param {Number} height - the height to fit into\n\t */\n\tupdate: function(chart, width, height) {\n\t\tif (!chart) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar layoutOptions = chart.options.layout || {};\n\t\tvar padding = helpers.options.toPadding(layoutOptions.padding);\n\t\tvar leftPadding = padding.left;\n\t\tvar rightPadding = padding.right;\n\t\tvar topPadding = padding.top;\n\t\tvar bottomPadding = padding.bottom;\n\n\t\tvar leftBoxes = filterByPosition(chart.boxes, 'left');\n\t\tvar rightBoxes = filterByPosition(chart.boxes, 'right');\n\t\tvar topBoxes = filterByPosition(chart.boxes, 'top');\n\t\tvar bottomBoxes = filterByPosition(chart.boxes, 'bottom');\n\t\tvar chartAreaBoxes = filterByPosition(chart.boxes, 'chartArea');\n\n\t\t// Sort boxes by weight. A higher weight is further away from the chart area\n\t\tsortByWeight(leftBoxes, true);\n\t\tsortByWeight(rightBoxes, false);\n\t\tsortByWeight(topBoxes, true);\n\t\tsortByWeight(bottomBoxes, false);\n\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\n\t\t// Our canvas looks like the following.\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n\t\t// B1 is the bottom axis\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n\t\t// an error will be thrown.\n\t\t//\n\t\t// |----------------------------------------------------|\n\t\t// |                  T1 (Full Width)                   |\n\t\t// |----------------------------------------------------|\n\t\t// |    |    |                 T2                  |    |\n\t\t// |    |----|-------------------------------------|----|\n\t\t// |    |    | C1 |                           | C2 |    |\n\t\t// |    |    |----|                           |----|    |\n\t\t// |    |    |                                     |    |\n\t\t// | L1 | L2 |           ChartArea (C0)            | R1 |\n\t\t// |    |    |                                     |    |\n\t\t// |    |    |----|                           |----|    |\n\t\t// |    |    | C3 |                           | C4 |    |\n\t\t// |    |----|-------------------------------------|----|\n\t\t// |    |    |                 B1                  |    |\n\t\t// |----------------------------------------------------|\n\t\t// |                  B2 (Full Width)                   |\n\t\t// |----------------------------------------------------|\n\t\t//\n\t\t// What we do to find the best sizing, we do the following\n\t\t// 1. Determine the minimum size of the chart area.\n\t\t// 2. Split the remaining width equally between each vertical axis\n\t\t// 3. Split the remaining height equally between each horizontal axis\n\t\t// 4. Give each layout the maximum size it can be. The layout will return it's minimum size\n\t\t// 5. Adjust the sizes of each axis based on it's minimum reported size.\n\t\t// 6. Refit each axis\n\t\t// 7. Position each axis in the final location\n\t\t// 8. Tell the chart the final location of the chart area\n\t\t// 9. Tell any axes that overlay the chart area the positions of the chart area\n\n\t\t// Step 1\n\t\tvar chartWidth = width - leftPadding - rightPadding;\n\t\tvar chartHeight = height - topPadding - bottomPadding;\n\t\tvar chartAreaWidth = chartWidth / 2; // min 50%\n\t\tvar chartAreaHeight = chartHeight / 2; // min 50%\n\n\t\t// Step 2\n\t\tvar verticalBoxWidth = (width - chartAreaWidth) / (leftBoxes.length + rightBoxes.length);\n\n\t\t// Step 3\n\t\tvar horizontalBoxHeight = (height - chartAreaHeight) / (topBoxes.length + bottomBoxes.length);\n\n\t\t// Step 4\n\t\tvar maxChartAreaWidth = chartWidth;\n\t\tvar maxChartAreaHeight = chartHeight;\n\t\tvar minBoxSizes = [];\n\n\t\tfunction getMinimumBoxSize(box) {\n\t\t\tvar minSize;\n\t\t\tvar isHorizontal = box.isHorizontal();\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tminSize = box.update(box.fullWidth ? chartWidth : maxChartAreaWidth, horizontalBoxHeight);\n\t\t\t\tmaxChartAreaHeight -= minSize.height;\n\t\t\t} else {\n\t\t\t\tminSize = box.update(verticalBoxWidth, maxChartAreaHeight);\n\t\t\t\tmaxChartAreaWidth -= minSize.width;\n\t\t\t}\n\n\t\t\tminBoxSizes.push({\n\t\t\t\thorizontal: isHorizontal,\n\t\t\t\tminSize: minSize,\n\t\t\t\tbox: box,\n\t\t\t});\n\t\t}\n\n\t\thelpers.each(leftBoxes.concat(rightBoxes, topBoxes, bottomBoxes), getMinimumBoxSize);\n\n\t\t// If a horizontal box has padding, we move the left boxes over to avoid ugly charts (see issue #2478)\n\t\tvar maxHorizontalLeftPadding = 0;\n\t\tvar maxHorizontalRightPadding = 0;\n\t\tvar maxVerticalTopPadding = 0;\n\t\tvar maxVerticalBottomPadding = 0;\n\n\t\thelpers.each(topBoxes.concat(bottomBoxes), function(horizontalBox) {\n\t\t\tif (horizontalBox.getPadding) {\n\t\t\t\tvar boxPadding = horizontalBox.getPadding();\n\t\t\t\tmaxHorizontalLeftPadding = Math.max(maxHorizontalLeftPadding, boxPadding.left);\n\t\t\t\tmaxHorizontalRightPadding = Math.max(maxHorizontalRightPadding, boxPadding.right);\n\t\t\t}\n\t\t});\n\n\t\thelpers.each(leftBoxes.concat(rightBoxes), function(verticalBox) {\n\t\t\tif (verticalBox.getPadding) {\n\t\t\t\tvar boxPadding = verticalBox.getPadding();\n\t\t\t\tmaxVerticalTopPadding = Math.max(maxVerticalTopPadding, boxPadding.top);\n\t\t\t\tmaxVerticalBottomPadding = Math.max(maxVerticalBottomPadding, boxPadding.bottom);\n\t\t\t}\n\t\t});\n\n\t\t// At this point, maxChartAreaHeight and maxChartAreaWidth are the size the chart area could\n\t\t// be if the axes are drawn at their minimum sizes.\n\t\t// Steps 5 &amp; 6\n\t\tvar totalLeftBoxesWidth = leftPadding;\n\t\tvar totalRightBoxesWidth = rightPadding;\n\t\tvar totalTopBoxesHeight = topPadding;\n\t\tvar totalBottomBoxesHeight = bottomPadding;\n\n\t\t// Function to fit a box\n\t\tfunction fitBox(box) {\n\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minBox) {\n\t\t\t\treturn minBox.box === box;\n\t\t\t});\n\n\t\t\tif (minBoxSize) {\n\t\t\t\tif (box.isHorizontal()) {\n\t\t\t\t\tvar scaleMargin = {\n\t\t\t\t\t\tleft: Math.max(totalLeftBoxesWidth, maxHorizontalLeftPadding),\n\t\t\t\t\t\tright: Math.max(totalRightBoxesWidth, maxHorizontalRightPadding),\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\tbottom: 0\n\t\t\t\t\t};\n\n\t\t\t\t\t// Don't use min size here because of label rotation. When the labels are rotated, their rotation highly depends\n\t\t\t\t\t// on the margin. Sometimes they need to increase in size slightly\n\t\t\t\t\tbox.update(box.fullWidth ? chartWidth : maxChartAreaWidth, chartHeight / 2, scaleMargin);\n\t\t\t\t} else {\n\t\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update, and calculate the left and right margins for the horizontal boxes\n\t\thelpers.each(leftBoxes.concat(rightBoxes), fitBox);\n\n\t\thelpers.each(leftBoxes, function(box) {\n\t\t\ttotalLeftBoxesWidth += box.width;\n\t\t});\n\n\t\thelpers.each(rightBoxes, function(box) {\n\t\t\ttotalRightBoxesWidth += box.width;\n\t\t});\n\n\t\t// Set the Left and Right margins for the horizontal boxes\n\t\thelpers.each(topBoxes.concat(bottomBoxes), fitBox);\n\n\t\t// Figure out how much margin is on the top and bottom of the vertical boxes\n\t\thelpers.each(topBoxes, function(box) {\n\t\t\ttotalTopBoxesHeight += box.height;\n\t\t});\n\n\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\ttotalBottomBoxesHeight += box.height;\n\t\t});\n\n\t\tfunction finalFitVerticalBox(box) {\n\t\t\tvar minBoxSize = helpers.findNextWhere(minBoxSizes, function(minSize) {\n\t\t\t\treturn minSize.box === box;\n\t\t\t});\n\n\t\t\tvar scaleMargin = {\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: totalTopBoxesHeight,\n\t\t\t\tbottom: totalBottomBoxesHeight\n\t\t\t};\n\n\t\t\tif (minBoxSize) {\n\t\t\t\tbox.update(minBoxSize.minSize.width, maxChartAreaHeight, scaleMargin);\n\t\t\t}\n\t\t}\n\n\t\t// Let the left layout know the final margin\n\t\thelpers.each(leftBoxes.concat(rightBoxes), finalFitVerticalBox);\n\n\t\t// Recalculate because the size of each layout might have changed slightly due to the margins (label rotation for instance)\n\t\ttotalLeftBoxesWidth = leftPadding;\n\t\ttotalRightBoxesWidth = rightPadding;\n\t\ttotalTopBoxesHeight = topPadding;\n\t\ttotalBottomBoxesHeight = bottomPadding;\n\n\t\thelpers.each(leftBoxes, function(box) {\n\t\t\ttotalLeftBoxesWidth += box.width;\n\t\t});\n\n\t\thelpers.each(rightBoxes, function(box) {\n\t\t\ttotalRightBoxesWidth += box.width;\n\t\t});\n\n\t\thelpers.each(topBoxes, function(box) {\n\t\t\ttotalTopBoxesHeight += box.height;\n\t\t});\n\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\ttotalBottomBoxesHeight += box.height;\n\t\t});\n\n\t\t// We may be adding some padding to account for rotated x axis labels\n\t\tvar leftPaddingAddition = Math.max(maxHorizontalLeftPadding - totalLeftBoxesWidth, 0);\n\t\ttotalLeftBoxesWidth += leftPaddingAddition;\n\t\ttotalRightBoxesWidth += Math.max(maxHorizontalRightPadding - totalRightBoxesWidth, 0);\n\n\t\tvar topPaddingAddition = Math.max(maxVerticalTopPadding - totalTopBoxesHeight, 0);\n\t\ttotalTopBoxesHeight += topPaddingAddition;\n\t\ttotalBottomBoxesHeight += Math.max(maxVerticalBottomPadding - totalBottomBoxesHeight, 0);\n\n\t\t// Figure out if our chart area changed. This would occur if the dataset layout label rotation\n\t\t// changed due to the application of the margins in step 6. Since we can only get bigger, this is safe to do\n\t\t// without calling `fit` again\n\t\tvar newMaxChartAreaHeight = height - totalTopBoxesHeight - totalBottomBoxesHeight;\n\t\tvar newMaxChartAreaWidth = width - totalLeftBoxesWidth - totalRightBoxesWidth;\n\n\t\tif (newMaxChartAreaWidth !== maxChartAreaWidth || newMaxChartAreaHeight !== maxChartAreaHeight) {\n\t\t\thelpers.each(leftBoxes, function(box) {\n\t\t\t\tbox.height = newMaxChartAreaHeight;\n\t\t\t});\n\n\t\t\thelpers.each(rightBoxes, function(box) {\n\t\t\t\tbox.height = newMaxChartAreaHeight;\n\t\t\t});\n\n\t\t\thelpers.each(topBoxes, function(box) {\n\t\t\t\tif (!box.fullWidth) {\n\t\t\t\t\tbox.width = newMaxChartAreaWidth;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\thelpers.each(bottomBoxes, function(box) {\n\t\t\t\tif (!box.fullWidth) {\n\t\t\t\t\tbox.width = newMaxChartAreaWidth;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmaxChartAreaHeight = newMaxChartAreaHeight;\n\t\t\tmaxChartAreaWidth = newMaxChartAreaWidth;\n\t\t}\n\n\t\t// Step 7 - Position the boxes\n\t\tvar left = leftPadding + leftPaddingAddition;\n\t\tvar top = topPadding + topPaddingAddition;\n\n\t\tfunction placeBox(box) {\n\t\t\tif (box.isHorizontal()) {\n\t\t\t\tbox.left = box.fullWidth ? leftPadding : totalLeftBoxesWidth;\n\t\t\t\tbox.right = box.fullWidth ? width - rightPadding : totalLeftBoxesWidth + maxChartAreaWidth;\n\t\t\t\tbox.top = top;\n\t\t\t\tbox.bottom = top + box.height;\n\n\t\t\t\t// Move to next point\n\t\t\t\ttop = box.bottom;\n\n\t\t\t} else {\n\n\t\t\t\tbox.left = left;\n\t\t\t\tbox.right = left + box.width;\n\t\t\t\tbox.top = totalTopBoxesHeight;\n\t\t\t\tbox.bottom = totalTopBoxesHeight + maxChartAreaHeight;\n\n\t\t\t\t// Move to next point\n\t\t\t\tleft = box.right;\n\t\t\t}\n\t\t}\n\n\t\thelpers.each(leftBoxes.concat(topBoxes), placeBox);\n\n\t\t// Account for chart width and height\n\t\tleft += maxChartAreaWidth;\n\t\ttop += maxChartAreaHeight;\n\n\t\thelpers.each(rightBoxes, placeBox);\n\t\thelpers.each(bottomBoxes, placeBox);\n\n\t\t// Step 8\n\t\tchart.chartArea = {\n\t\t\tleft: totalLeftBoxesWidth,\n\t\t\ttop: totalTopBoxesHeight,\n\t\t\tright: totalLeftBoxesWidth + maxChartAreaWidth,\n\t\t\tbottom: totalTopBoxesHeight + maxChartAreaHeight\n\t\t};\n\n\t\t// Step 9\n\t\thelpers.each(chartAreaBoxes, function(box) {\n\t\t\tbox.left = chart.chartArea.left;\n\t\t\tbox.top = chart.chartArea.top;\n\t\t\tbox.right = chart.chartArea.right;\n\t\t\tbox.bottom = chart.chartArea.bottom;\n\n\t\t\tbox.update(maxChartAreaWidth, maxChartAreaHeight);\n\t\t});\n\t}\n};\n\n},{\"45\":45}],31:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar helpers = require(45);\n\ndefaults._set('global', {\n\tplugins: {}\n});\n\n/**\n * The plugin service singleton\n * @namespace Chart.plugins\n * @since 2.1.0\n */\nmodule.exports = {\n\t/**\n\t * Globally registered plugins.\n\t * @private\n\t */\n\t_plugins: [],\n\n\t/**\n\t * This identifier is used to invalidate the descriptors cache attached to each chart\n\t * when a global plugin is registered or unregistered. In this case, the cache ID is\n\t * incremented and descriptors are regenerated during following API calls.\n\t * @private\n\t */\n\t_cacheId: 0,\n\n\t/**\n\t * Registers the given plugin(s) if not already registered.\n\t * @param {Array|Object} plugins plugin instance(s).\n\t */\n\tregister: function(plugins) {\n\t\tvar p = this._plugins;\n\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\tif (p.indexOf(plugin) === -1) {\n\t\t\t\tp.push(plugin);\n\t\t\t}\n\t\t});\n\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Unregisters the given plugin(s) only if registered.\n\t * @param {Array|Object} plugins plugin instance(s).\n\t */\n\tunregister: function(plugins) {\n\t\tvar p = this._plugins;\n\t\t([]).concat(plugins).forEach(function(plugin) {\n\t\t\tvar idx = p.indexOf(plugin);\n\t\t\tif (idx !== -1) {\n\t\t\t\tp.splice(idx, 1);\n\t\t\t}\n\t\t});\n\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Remove all registered plugins.\n\t * @since 2.1.5\n\t */\n\tclear: function() {\n\t\tthis._plugins = [];\n\t\tthis._cacheId++;\n\t},\n\n\t/**\n\t * Returns the number of registered plugins?\n\t * @returns {Number}\n\t * @since 2.1.5\n\t */\n\tcount: function() {\n\t\treturn this._plugins.length;\n\t},\n\n\t/**\n\t * Returns all registered plugin instances.\n\t * @returns {Array} array of plugin objects.\n\t * @since 2.1.5\n\t */\n\tgetAll: function() {\n\t\treturn this._plugins;\n\t},\n\n\t/**\n\t * Calls enabled plugins for `chart` on the specified hook and with the given args.\n\t * This method immediately returns as soon as a plugin explicitly returns false. The\n\t * returned value can be used, for instance, to interrupt the current action.\n\t * @param {Object} chart - The chart instance for which plugins should be called.\n\t * @param {String} hook - The name of the plugin method to call (e.g. 'beforeUpdate').\n\t * @param {Array} [args] - Extra arguments to apply to the hook call.\n\t * @returns {Boolean} false if any of the plugins return false, else returns true.\n\t */\n\tnotify: function(chart, hook, args) {\n\t\tvar descriptors = this.descriptors(chart);\n\t\tvar ilen = descriptors.length;\n\t\tvar i, descriptor, plugin, params, method;\n\n\t\tfor (i = 0; i &lt; ilen; ++i) {\n\t\t\tdescriptor = descriptors[i];\n\t\t\tplugin = descriptor.plugin;\n\t\t\tmethod = plugin[hook];\n\t\t\tif (typeof method === 'function') {\n\t\t\t\tparams = [chart].concat(args || []);\n\t\t\t\tparams.push(descriptor.options);\n\t\t\t\tif (method.apply(plugin, params) === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns descriptors of enabled plugins for the given chart.\n\t * @returns {Array} [{ plugin, options }]\n\t * @private\n\t */\n\tdescriptors: function(chart) {\n\t\tvar cache = chart.$plugins || (chart.$plugins = {});\n\t\tif (cache.id === this._cacheId) {\n\t\t\treturn cache.descriptors;\n\t\t}\n\n\t\tvar plugins = [];\n\t\tvar descriptors = [];\n\t\tvar config = (chart &amp;&amp; chart.config) || {};\n\t\tvar options = (config.options &amp;&amp; config.options.plugins) || {};\n\n\t\tthis._plugins.concat(config.plugins || []).forEach(function(plugin) {\n\t\t\tvar idx = plugins.indexOf(plugin);\n\t\t\tif (idx !== -1) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar id = plugin.id;\n\t\t\tvar opts = options[id];\n\t\t\tif (opts === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (opts === true) {\n\t\t\t\topts = helpers.clone(defaults.global.plugins[id]);\n\t\t\t}\n\n\t\t\tplugins.push(plugin);\n\t\t\tdescriptors.push({\n\t\t\t\tplugin: plugin,\n\t\t\t\toptions: opts || {}\n\t\t\t});\n\t\t});\n\n\t\tcache.descriptors = descriptors;\n\t\tcache.id = this._cacheId;\n\t\treturn descriptors;\n\t},\n\n\t/**\n\t * Invalidates cache for the given chart: descriptors hold a reference on plugin option,\n\t * but in some cases, this reference can be changed by the user when updating options.\n\t * https://github.com/chartjs/Chart.js/issues/5111#issuecomment-355934167\n\t * @private\n\t */\n\t_invalidate: function(chart) {\n\t\tdelete chart.$plugins;\n\t}\n};\n\n/**\n * Plugin extension hooks.\n * @interface IPlugin\n * @since 2.1.0\n */\n/**\n * @method IPlugin#beforeInit\n * @desc Called before initializing `chart`.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#afterInit\n * @desc Called after `chart` has been initialized and before the first update.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeUpdate\n * @desc Called before updating `chart`. If any plugin returns `false`, the update\n * is cancelled (and thus subsequent render(s)) until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart update.\n */\n/**\n * @method IPlugin#afterUpdate\n * @desc Called after `chart` has been updated and before rendering. Note that this\n * hook will not be called if the chart update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetsUpdate\n * @desc Called before updating the `chart` datasets. If any plugin returns `false`,\n * the datasets update is cancelled until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} false to cancel the datasets update.\n * @since version 2.1.5\n*/\n/**\n * @method IPlugin#afterDatasetsUpdate\n * @desc Called after the `chart` datasets have been updated. Note that this hook\n * will not be called if the datasets update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @since version 2.1.5\n */\n/**\n * @method IPlugin#beforeDatasetUpdate\n * @desc Called before updating the `chart` dataset at the given `args.index`. If any plugin\n * returns `false`, the datasets update is cancelled until another `update` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetUpdate\n * @desc Called after the `chart` datasets at the given `args.index` has been updated. Note\n * that this hook will not be called if the datasets update has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeLayout\n * @desc Called before laying out `chart`. If any plugin returns `false`,\n * the layout update is cancelled until another `update` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart layout.\n */\n/**\n * @method IPlugin#afterLayout\n * @desc Called after the `chart` has been layed out. Note that this hook will not\n * be called if the layout update has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeRender\n * @desc Called before rendering `chart`. If any plugin returns `false`,\n * the rendering is cancelled until another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart rendering.\n */\n/**\n * @method IPlugin#afterRender\n * @desc Called after the `chart` has been fully rendered (and animation completed). Note\n * that this hook will not be called if the rendering has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDraw\n * @desc Called before drawing `chart` at every animation frame specified by the given\n * easing value. If any plugin returns `false`, the frame drawing is cancelled until\n * another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart drawing.\n */\n/**\n * @method IPlugin#afterDraw\n * @desc Called after the `chart` has been drawn for the specific easing value. Note\n * that this hook will not be called if the drawing has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetsDraw\n * @desc Called before drawing the `chart` datasets. If any plugin returns `false`,\n * the datasets drawing is cancelled until another `render` is triggered.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetsDraw\n * @desc Called after the `chart` datasets have been drawn. Note that this hook\n * will not be called if the datasets drawing has been previously cancelled.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeDatasetDraw\n * @desc Called before drawing the `chart` dataset at the given `args.index` (datasets\n * are drawn in the reverse order). If any plugin returns `false`, the datasets drawing\n * is cancelled until another `render` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart datasets drawing.\n */\n/**\n * @method IPlugin#afterDatasetDraw\n * @desc Called after the `chart` datasets at the given `args.index` have been drawn\n * (datasets are drawn in the reverse order). Note that this hook will not be called\n * if the datasets drawing has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Number} args.index - The dataset index.\n * @param {Object} args.meta - The dataset metadata.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeTooltipDraw\n * @desc Called before drawing the `tooltip`. If any plugin returns `false`,\n * the tooltip drawing is cancelled until another `render` is triggered.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Object} args.tooltip - The tooltip.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n * @returns {Boolean} `false` to cancel the chart tooltip drawing.\n */\n/**\n * @method IPlugin#afterTooltipDraw\n * @desc Called after drawing the `tooltip`. Note that this hook will not\n * be called if the tooltip drawing has been previously cancelled.\n * @param {Chart} chart - The chart instance.\n * @param {Object} args - The call arguments.\n * @param {Object} args.tooltip - The tooltip.\n * @param {Number} args.easingValue - The current animation value, between 0.0 and 1.0.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#beforeEvent\n * @desc Called before processing the specified `event`. If any plugin returns `false`,\n * the event will be discarded.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {IEvent} event - The event object.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#afterEvent\n * @desc Called after the `event` has been consumed. Note that this hook\n * will not be called if the `event` has been previously discarded.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {IEvent} event - The event object.\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#resize\n * @desc Called after the chart as been resized.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Number} size - The new canvas display size (eq. canvas.style width &amp; height).\n * @param {Object} options - The plugin options.\n */\n/**\n * @method IPlugin#destroy\n * @desc Called after the chart as been destroyed.\n * @param {Chart.Controller} chart - The chart instance.\n * @param {Object} options - The plugin options.\n */\n\n},{\"25\":25,\"45\":45}],32:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\nvar Ticks = require(34);\n\ndefaults._set('scale', {\n\tdisplay: true,\n\tposition: 'left',\n\toffset: false,\n\n\t// grid line settings\n\tgridLines: {\n\t\tdisplay: true,\n\t\tcolor: 'rgba(0, 0, 0, 0.1)',\n\t\tlineWidth: 1,\n\t\tdrawBorder: true,\n\t\tdrawOnChartArea: true,\n\t\tdrawTicks: true,\n\t\ttickMarkLength: 10,\n\t\tzeroLineWidth: 1,\n\t\tzeroLineColor: 'rgba(0,0,0,0.25)',\n\t\tzeroLineBorderDash: [],\n\t\tzeroLineBorderDashOffset: 0.0,\n\t\toffsetGridLines: false,\n\t\tborderDash: [],\n\t\tborderDashOffset: 0.0\n\t},\n\n\t// scale label\n\tscaleLabel: {\n\t\t// display property\n\t\tdisplay: false,\n\n\t\t// actual label\n\t\tlabelString: '',\n\n\t\t// line height\n\t\tlineHeight: 1.2,\n\n\t\t// top/bottom padding\n\t\tpadding: {\n\t\t\ttop: 4,\n\t\t\tbottom: 4\n\t\t}\n\t},\n\n\t// label settings\n\tticks: {\n\t\tbeginAtZero: false,\n\t\tminRotation: 0,\n\t\tmaxRotation: 50,\n\t\tmirror: false,\n\t\tpadding: 0,\n\t\treverse: false,\n\t\tdisplay: true,\n\t\tautoSkip: true,\n\t\tautoSkipPadding: 0,\n\t\tlabelOffset: 0,\n\t\t// We pass through arrays to be rendered as multiline labels, we convert Others to strings here.\n\t\tcallback: Ticks.formatters.values,\n\t\tminor: {},\n\t\tmajor: {}\n\t}\n});\n\nfunction labelsFromTicks(ticks) {\n\tvar labels = [];\n\tvar i, ilen;\n\n\tfor (i = 0, ilen = ticks.length; i &lt; ilen; ++i) {\n\t\tlabels.push(ticks[i].label);\n\t}\n\n\treturn labels;\n}\n\nfunction getLineValue(scale, index, offsetGridLines) {\n\tvar lineValue = scale.getPixelForTick(index);\n\n\tif (offsetGridLines) {\n\t\tif (index === 0) {\n\t\t\tlineValue -= (scale.getPixelForTick(1) - lineValue) / 2;\n\t\t} else {\n\t\t\tlineValue -= (lineValue - scale.getPixelForTick(index - 1)) / 2;\n\t\t}\n\t}\n\treturn lineValue;\n}\n\nmodule.exports = function(Chart) {\n\n\tfunction computeTextSize(context, tick, font) {\n\t\treturn helpers.isArray(tick) ?\n\t\t\thelpers.longestText(context, font, tick) :\n\t\t\tcontext.measureText(tick).width;\n\t}\n\n\tfunction parseFontOptions(options) {\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar globalDefaults = defaults.global;\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\n\t\tvar style = valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle);\n\t\tvar family = valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily);\n\n\t\treturn {\n\t\t\tsize: size,\n\t\t\tstyle: style,\n\t\t\tfamily: family,\n\t\t\tfont: helpers.fontString(size, style, family)\n\t\t};\n\t}\n\n\tfunction parseLineHeight(options) {\n\t\treturn helpers.options.toLineHeight(\n\t\t\thelpers.valueOrDefault(options.lineHeight, 1.2),\n\t\t\thelpers.valueOrDefault(options.fontSize, defaults.global.defaultFontSize));\n\t}\n\n\tChart.Scale = Element.extend({\n\t\t/**\n\t\t * Get the padding needed for the scale\n\t\t * @method getPadding\n\t\t * @private\n\t\t * @returns {Padding} the necessary padding\n\t\t */\n\t\tgetPadding: function() {\n\t\t\tvar me = this;\n\t\t\treturn {\n\t\t\t\tleft: me.paddingLeft || 0,\n\t\t\t\ttop: me.paddingTop || 0,\n\t\t\t\tright: me.paddingRight || 0,\n\t\t\t\tbottom: me.paddingBottom || 0\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Returns the scale tick objects ({label, major})\n\t\t * @since 2.7\n\t\t */\n\t\tgetTicks: function() {\n\t\t\treturn this._ticks;\n\t\t},\n\n\t\t// These methods are ordered by lifecyle. Utilities then follow.\n\t\t// Any function defined here is inherited by all scale types.\n\t\t// Any function can be extended by the scale type\n\n\t\tmergeTicksOptions: function() {\n\t\t\tvar ticks = this.options.ticks;\n\t\t\tif (ticks.minor === false) {\n\t\t\t\tticks.minor = {\n\t\t\t\t\tdisplay: false\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (ticks.major === false) {\n\t\t\t\tticks.major = {\n\t\t\t\t\tdisplay: false\n\t\t\t\t};\n\t\t\t}\n\t\t\tfor (var key in ticks) {\n\t\t\t\tif (key !== 'major' &amp;&amp; key !== 'minor') {\n\t\t\t\t\tif (typeof ticks.minor[key] === 'undefined') {\n\t\t\t\t\t\tticks.minor[key] = ticks[key];\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof ticks.major[key] === 'undefined') {\n\t\t\t\t\t\tticks.major[key] = ticks[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tbeforeUpdate: function() {\n\t\t\thelpers.callback(this.options.beforeUpdate, [this]);\n\t\t},\n\t\tupdate: function(maxWidth, maxHeight, margins) {\n\t\t\tvar me = this;\n\t\t\tvar i, ilen, labels, label, ticks, tick;\n\n\t\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\t\tme.beforeUpdate();\n\n\t\t\t// Absorb the master measurements\n\t\t\tme.maxWidth = maxWidth;\n\t\t\tme.maxHeight = maxHeight;\n\t\t\tme.margins = helpers.extend({\n\t\t\t\tleft: 0,\n\t\t\t\tright: 0,\n\t\t\t\ttop: 0,\n\t\t\t\tbottom: 0\n\t\t\t}, margins);\n\t\t\tme.longestTextCache = me.longestTextCache || {};\n\n\t\t\t// Dimensions\n\t\t\tme.beforeSetDimensions();\n\t\t\tme.setDimensions();\n\t\t\tme.afterSetDimensions();\n\n\t\t\t// Data min/max\n\t\t\tme.beforeDataLimits();\n\t\t\tme.determineDataLimits();\n\t\t\tme.afterDataLimits();\n\n\t\t\t// Ticks - `this.ticks` is now DEPRECATED!\n\t\t\t// Internal ticks are now stored as objects in the PRIVATE `this._ticks` member\n\t\t\t// and must not be accessed directly from outside this class. `this.ticks` being\n\t\t\t// around for long time and not marked as private, we can't change its structure\n\t\t\t// without unexpected breaking changes. If you need to access the scale ticks,\n\t\t\t// use scale.getTicks() instead.\n\n\t\t\tme.beforeBuildTicks();\n\n\t\t\t// New implementations should return an array of objects but for BACKWARD COMPAT,\n\t\t\t// we still support no return (`this.ticks` internally set by calling this method).\n\t\t\tticks = me.buildTicks() || [];\n\n\t\t\tme.afterBuildTicks();\n\n\t\t\tme.beforeTickToLabelConversion();\n\n\t\t\t// New implementations should return the formatted tick labels but for BACKWARD\n\t\t\t// COMPAT, we still support no return (`this.ticks` internally changed by calling\n\t\t\t// this method and supposed to contain only string values).\n\t\t\tlabels = me.convertTicksToLabels(ticks) || me.ticks;\n\n\t\t\tme.afterTickToLabelConversion();\n\n\t\t\tme.ticks = labels;   // BACKWARD COMPATIBILITY\n\n\t\t\t// IMPORTANT: from this point, we consider that `this.ticks` will NEVER change!\n\n\t\t\t// BACKWARD COMPAT: synchronize `_ticks` with labels (so potentially `this.ticks`)\n\t\t\tfor (i = 0, ilen = labels.length; i &lt; ilen; ++i) {\n\t\t\t\tlabel = labels[i];\n\t\t\t\ttick = ticks[i];\n\t\t\t\tif (!tick) {\n\t\t\t\t\tticks.push(tick = {\n\t\t\t\t\t\tlabel: label,\n\t\t\t\t\t\tmajor: false\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttick.label = label;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme._ticks = ticks;\n\n\t\t\t// Tick Rotation\n\t\t\tme.beforeCalculateTickRotation();\n\t\t\tme.calculateTickRotation();\n\t\t\tme.afterCalculateTickRotation();\n\t\t\t// Fit\n\t\t\tme.beforeFit();\n\t\t\tme.fit();\n\t\t\tme.afterFit();\n\t\t\t//\n\t\t\tme.afterUpdate();\n\n\t\t\treturn me.minSize;\n\n\t\t},\n\t\tafterUpdate: function() {\n\t\t\thelpers.callback(this.options.afterUpdate, [this]);\n\t\t},\n\n\t\t//\n\n\t\tbeforeSetDimensions: function() {\n\t\t\thelpers.callback(this.options.beforeSetDimensions, [this]);\n\t\t},\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.width = me.maxWidth;\n\t\t\t\tme.left = 0;\n\t\t\t\tme.right = me.width;\n\t\t\t} else {\n\t\t\t\tme.height = me.maxHeight;\n\n\t\t\t\t// Reset position before calculating rotation\n\t\t\t\tme.top = 0;\n\t\t\t\tme.bottom = me.height;\n\t\t\t}\n\n\t\t\t// Reset padding\n\t\t\tme.paddingLeft = 0;\n\t\t\tme.paddingTop = 0;\n\t\t\tme.paddingRight = 0;\n\t\t\tme.paddingBottom = 0;\n\t\t},\n\t\tafterSetDimensions: function() {\n\t\t\thelpers.callback(this.options.afterSetDimensions, [this]);\n\t\t},\n\n\t\t// Data limits\n\t\tbeforeDataLimits: function() {\n\t\t\thelpers.callback(this.options.beforeDataLimits, [this]);\n\t\t},\n\t\tdetermineDataLimits: helpers.noop,\n\t\tafterDataLimits: function() {\n\t\t\thelpers.callback(this.options.afterDataLimits, [this]);\n\t\t},\n\n\t\t//\n\t\tbeforeBuildTicks: function() {\n\t\t\thelpers.callback(this.options.beforeBuildTicks, [this]);\n\t\t},\n\t\tbuildTicks: helpers.noop,\n\t\tafterBuildTicks: function() {\n\t\t\thelpers.callback(this.options.afterBuildTicks, [this]);\n\t\t},\n\n\t\tbeforeTickToLabelConversion: function() {\n\t\t\thelpers.callback(this.options.beforeTickToLabelConversion, [this]);\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\t// Convert ticks to strings\n\t\t\tvar tickOpts = me.options.ticks;\n\t\t\tme.ticks = me.ticks.map(tickOpts.userCallback || tickOpts.callback, this);\n\t\t},\n\t\tafterTickToLabelConversion: function() {\n\t\t\thelpers.callback(this.options.afterTickToLabelConversion, [this]);\n\t\t},\n\n\t\t//\n\n\t\tbeforeCalculateTickRotation: function() {\n\t\t\thelpers.callback(this.options.beforeCalculateTickRotation, [this]);\n\t\t},\n\t\tcalculateTickRotation: function() {\n\t\t\tvar me = this;\n\t\t\tvar context = me.ctx;\n\t\t\tvar tickOpts = me.options.ticks;\n\t\t\tvar labels = labelsFromTicks(me._ticks);\n\n\t\t\t// Get the width of each grid by calculating the difference\n\t\t\t// between x offsets between 0 and 1.\n\t\t\tvar tickFont = parseFontOptions(tickOpts);\n\t\t\tcontext.font = tickFont.font;\n\n\t\t\tvar labelRotation = tickOpts.minRotation || 0;\n\n\t\t\tif (labels.length &amp;&amp; me.options.display &amp;&amp; me.isHorizontal()) {\n\t\t\t\tvar originalLabelWidth = helpers.longestText(context, tickFont.font, labels, me.longestTextCache);\n\t\t\t\tvar labelWidth = originalLabelWidth;\n\t\t\t\tvar cosRotation, sinRotation;\n\n\t\t\t\t// Allow 3 pixels x2 padding either side for label readability\n\t\t\t\tvar tickWidth = me.getPixelForTick(1) - me.getPixelForTick(0) - 6;\n\n\t\t\t\t// Max label rotation can be set or default to 90 - also act as a loop counter\n\t\t\t\twhile (labelWidth &gt; tickWidth &amp;&amp; labelRotation &lt; tickOpts.maxRotation) {\n\t\t\t\t\tvar angleRadians = helpers.toRadians(labelRotation);\n\t\t\t\t\tcosRotation = Math.cos(angleRadians);\n\t\t\t\t\tsinRotation = Math.sin(angleRadians);\n\n\t\t\t\t\tif (sinRotation * originalLabelWidth &gt; me.maxHeight) {\n\t\t\t\t\t\t// go back one step\n\t\t\t\t\t\tlabelRotation--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tlabelRotation++;\n\t\t\t\t\tlabelWidth = cosRotation * originalLabelWidth;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.labelRotation = labelRotation;\n\t\t},\n\t\tafterCalculateTickRotation: function() {\n\t\t\thelpers.callback(this.options.afterCalculateTickRotation, [this]);\n\t\t},\n\n\t\t//\n\n\t\tbeforeFit: function() {\n\t\t\thelpers.callback(this.options.beforeFit, [this]);\n\t\t},\n\t\tfit: function() {\n\t\t\tvar me = this;\n\t\t\t// Reset\n\t\t\tvar minSize = me.minSize = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t};\n\n\t\t\tvar labels = labelsFromTicks(me._ticks);\n\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar scaleLabelOpts = opts.scaleLabel;\n\t\t\tvar gridLineOpts = opts.gridLines;\n\t\t\tvar display = opts.display;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tvar tickFont = parseFontOptions(tickOpts);\n\t\t\tvar tickMarkLength = opts.gridLines.tickMarkLength;\n\n\t\t\t// Width\n\t\t\tif (isHorizontal) {\n\t\t\t\t// subtract the margins to line up with the chartArea if we are a full width scale\n\t\t\t\tminSize.width = me.isFullWidth() ? me.maxWidth - me.margins.left - me.margins.right : me.maxWidth;\n\t\t\t} else {\n\t\t\t\tminSize.width = display &amp;&amp; gridLineOpts.drawTicks ? tickMarkLength : 0;\n\t\t\t}\n\n\t\t\t// height\n\t\t\tif (isHorizontal) {\n\t\t\t\tminSize.height = display &amp;&amp; gridLineOpts.drawTicks ? tickMarkLength : 0;\n\t\t\t} else {\n\t\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t\t}\n\n\t\t\t// Are we showing a title for the scale?\n\t\t\tif (scaleLabelOpts.display &amp;&amp; display) {\n\t\t\t\tvar scaleLabelLineHeight = parseLineHeight(scaleLabelOpts);\n\t\t\t\tvar scaleLabelPadding = helpers.options.toPadding(scaleLabelOpts.padding);\n\t\t\t\tvar deltaHeight = scaleLabelLineHeight + scaleLabelPadding.height;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tminSize.height += deltaHeight;\n\t\t\t\t} else {\n\t\t\t\t\tminSize.width += deltaHeight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Don't bother fitting the ticks if we are not showing them\n\t\t\tif (tickOpts.display &amp;&amp; display) {\n\t\t\t\tvar largestTextWidth = helpers.longestText(me.ctx, tickFont.font, labels, me.longestTextCache);\n\t\t\t\tvar tallestLabelHeightInLines = helpers.numberOfLabelLines(labels);\n\t\t\t\tvar lineSpace = tickFont.size * 0.5;\n\t\t\t\tvar tickPadding = me.options.ticks.padding;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\t// A horizontal axis is more constrained by the height.\n\t\t\t\t\tme.longestLabelWidth = largestTextWidth;\n\n\t\t\t\t\tvar angleRadians = helpers.toRadians(me.labelRotation);\n\t\t\t\t\tvar cosRotation = Math.cos(angleRadians);\n\t\t\t\t\tvar sinRotation = Math.sin(angleRadians);\n\n\t\t\t\t\t// TODO - improve this calculation\n\t\t\t\t\tvar labelHeight = (sinRotation * largestTextWidth)\n\t\t\t\t\t\t+ (tickFont.size * tallestLabelHeightInLines)\n\t\t\t\t\t\t+ (lineSpace * (tallestLabelHeightInLines - 1))\n\t\t\t\t\t\t+ lineSpace; // padding\n\n\t\t\t\t\tminSize.height = Math.min(me.maxHeight, minSize.height + labelHeight + tickPadding);\n\n\t\t\t\t\tme.ctx.font = tickFont.font;\n\t\t\t\t\tvar firstLabelWidth = computeTextSize(me.ctx, labels[0], tickFont.font);\n\t\t\t\t\tvar lastLabelWidth = computeTextSize(me.ctx, labels[labels.length - 1], tickFont.font);\n\n\t\t\t\t\t// Ensure that our ticks are always inside the canvas. When rotated, ticks are right aligned\n\t\t\t\t\t// which means that the right padding is dominated by the font height\n\t\t\t\t\tif (me.labelRotation !== 0) {\n\t\t\t\t\t\tme.paddingLeft = opts.position === 'bottom' ? (cosRotation * firstLabelWidth) + 3 : (cosRotation * lineSpace) + 3; // add 3 px to move away from canvas edges\n\t\t\t\t\t\tme.paddingRight = opts.position === 'bottom' ? (cosRotation * lineSpace) + 3 : (cosRotation * lastLabelWidth) + 3;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tme.paddingLeft = firstLabelWidth / 2 + 3; // add 3 px to move away from canvas edges\n\t\t\t\t\t\tme.paddingRight = lastLabelWidth / 2 + 3;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// A vertical axis is more constrained by the width. Labels are the\n\t\t\t\t\t// dominant factor here, so get that length first and account for padding\n\t\t\t\t\tif (tickOpts.mirror) {\n\t\t\t\t\t\tlargestTextWidth = 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// use lineSpace for consistency with horizontal axis\n\t\t\t\t\t\t// tickPadding is not implemented for horizontal\n\t\t\t\t\t\tlargestTextWidth += tickPadding + lineSpace;\n\t\t\t\t\t}\n\n\t\t\t\t\tminSize.width = Math.min(me.maxWidth, minSize.width + largestTextWidth);\n\n\t\t\t\t\tme.paddingTop = tickFont.size / 2;\n\t\t\t\t\tme.paddingBottom = tickFont.size / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.handleMargins();\n\n\t\t\tme.width = minSize.width;\n\t\t\tme.height = minSize.height;\n\t\t},\n\n\t\t/**\n\t\t * Handle margins and padding interactions\n\t\t * @private\n\t\t */\n\t\thandleMargins: function() {\n\t\t\tvar me = this;\n\t\t\tif (me.margins) {\n\t\t\t\tme.paddingLeft = Math.max(me.paddingLeft - me.margins.left, 0);\n\t\t\t\tme.paddingTop = Math.max(me.paddingTop - me.margins.top, 0);\n\t\t\t\tme.paddingRight = Math.max(me.paddingRight - me.margins.right, 0);\n\t\t\t\tme.paddingBottom = Math.max(me.paddingBottom - me.margins.bottom, 0);\n\t\t\t}\n\t\t},\n\n\t\tafterFit: function() {\n\t\t\thelpers.callback(this.options.afterFit, [this]);\n\t\t},\n\n\t\t// Shared Methods\n\t\tisHorizontal: function() {\n\t\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\n\t\t},\n\t\tisFullWidth: function() {\n\t\t\treturn (this.options.fullWidth);\n\t\t},\n\n\t\t// Get the correct value. NaN bad inputs, If the value type is object get the x or y based on whether we are horizontal or not\n\t\tgetRightValue: function(rawValue) {\n\t\t\t// Null and undefined values first\n\t\t\tif (helpers.isNullOrUndef(rawValue)) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\t\t\t// isNaN(object) returns true, so make sure NaN is checking for a number; Discard Infinite values\n\t\t\tif (typeof rawValue === 'number' &amp;&amp; !isFinite(rawValue)) {\n\t\t\t\treturn NaN;\n\t\t\t}\n\t\t\t// If it is in fact an object, dive in one more level\n\t\t\tif (rawValue) {\n\t\t\t\tif (this.isHorizontal()) {\n\t\t\t\t\tif (rawValue.x !== undefined) {\n\t\t\t\t\t\treturn this.getRightValue(rawValue.x);\n\t\t\t\t\t}\n\t\t\t\t} else if (rawValue.y !== undefined) {\n\t\t\t\t\treturn this.getRightValue(rawValue.y);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Value is good, return it\n\t\t\treturn rawValue;\n\t\t},\n\n\t\t/**\n\t\t * Used to get the value to display in the tooltip for the data at the given index\n\t\t * @param index\n\t\t * @param datasetIndex\n\t\t */\n\t\tgetLabelForIndex: helpers.noop,\n\n\t\t/**\n\t\t * Returns the location of the given data point. Value can either be an index or a numerical value\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t\t * @param value\n\t\t * @param index\n\t\t * @param datasetIndex\n\t\t */\n\t\tgetPixelForValue: helpers.noop,\n\n\t\t/**\n\t\t * Used to get the data value from a given pixel. This is the inverse of getPixelForValue\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t\t * @param pixel\n\t\t */\n\t\tgetValueForPixel: helpers.noop,\n\n\t\t/**\n\t\t * Returns the location of the tick at the given index\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t\t */\n\t\tgetPixelForTick: function(index) {\n\t\t\tvar me = this;\n\t\t\tvar offset = me.options.offset;\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\n\t\t\t\tvar tickWidth = innerWidth / Math.max((me._ticks.length - (offset ? 0 : 1)), 1);\n\t\t\t\tvar pixel = (tickWidth * index) + me.paddingLeft;\n\n\t\t\t\tif (offset) {\n\t\t\t\t\tpixel += tickWidth / 2;\n\t\t\t\t}\n\n\t\t\t\tvar finalVal = me.left + Math.round(pixel);\n\t\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\n\t\t\t\treturn finalVal;\n\t\t\t}\n\t\t\tvar innerHeight = me.height - (me.paddingTop + me.paddingBottom);\n\t\t\treturn me.top + (index * (innerHeight / (me._ticks.length - 1)));\n\t\t},\n\n\t\t/**\n\t\t * Utility for getting the pixel location of a percentage of scale\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t\t */\n\t\tgetPixelForDecimal: function(decimal) {\n\t\t\tvar me = this;\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar innerWidth = me.width - (me.paddingLeft + me.paddingRight);\n\t\t\t\tvar valueOffset = (innerWidth * decimal) + me.paddingLeft;\n\n\t\t\t\tvar finalVal = me.left + Math.round(valueOffset);\n\t\t\t\tfinalVal += me.isFullWidth() ? me.margins.left : 0;\n\t\t\t\treturn finalVal;\n\t\t\t}\n\t\t\treturn me.top + (decimal * me.height);\n\t\t},\n\n\t\t/**\n\t\t * Returns the pixel for the minimum chart value\n\t\t * The coordinate (0, 0) is at the upper-left corner of the canvas\n\t\t */\n\t\tgetBasePixel: function() {\n\t\t\treturn this.getPixelForValue(this.getBaseValue());\n\t\t},\n\n\t\tgetBaseValue: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\n\t\t\treturn me.beginAtZero ? 0 :\n\t\t\t\tmin &lt; 0 &amp;&amp; max &lt; 0 ? max :\n\t\t\t\tmin &gt; 0 &amp;&amp; max &gt; 0 ? min :\n\t\t\t\t0;\n\t\t},\n\n\t\t/**\n\t\t * Returns a subset of ticks to be plotted to avoid overlapping labels.\n\t\t * @private\n\t\t */\n\t\t_autoSkip: function(ticks) {\n\t\t\tvar skipRatio;\n\t\t\tvar me = this;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar optionTicks = me.options.ticks.minor;\n\t\t\tvar tickCount = ticks.length;\n\t\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\n\t\t\tvar cosRotation = Math.cos(labelRotationRadians);\n\t\t\tvar longestRotatedLabel = me.longestLabelWidth * cosRotation;\n\t\t\tvar result = [];\n\t\t\tvar i, tick, shouldSkip;\n\n\t\t\t// figure out the maximum number of gridlines to show\n\t\t\tvar maxTicks;\n\t\t\tif (optionTicks.maxTicksLimit) {\n\t\t\t\tmaxTicks = optionTicks.maxTicksLimit;\n\t\t\t}\n\n\t\t\tif (isHorizontal) {\n\t\t\t\tskipRatio = false;\n\n\t\t\t\tif ((longestRotatedLabel + optionTicks.autoSkipPadding) * tickCount &gt; (me.width - (me.paddingLeft + me.paddingRight))) {\n\t\t\t\t\tskipRatio = 1 + Math.floor(((longestRotatedLabel + optionTicks.autoSkipPadding) * tickCount) / (me.width - (me.paddingLeft + me.paddingRight)));\n\t\t\t\t}\n\n\t\t\t\t// if they defined a max number of optionTicks,\n\t\t\t\t// increase skipRatio until that number is met\n\t\t\t\tif (maxTicks &amp;&amp; tickCount &gt; maxTicks) {\n\t\t\t\t\tskipRatio = Math.max(skipRatio, Math.floor(tickCount / maxTicks));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i &lt; tickCount; i++) {\n\t\t\t\ttick = ticks[i];\n\n\t\t\t\t// Since we always show the last tick,we need may need to hide the last shown one before\n\t\t\t\tshouldSkip = (skipRatio &gt; 1 &amp;&amp; i % skipRatio &gt; 0) || (i % skipRatio === 0 &amp;&amp; i + skipRatio &gt;= tickCount);\n\t\t\t\tif (shouldSkip &amp;&amp; i !== tickCount - 1) {\n\t\t\t\t\t// leave tick in place but make sure it's not displayed (#4635)\n\t\t\t\t\tdelete tick.label;\n\t\t\t\t}\n\t\t\t\tresult.push(tick);\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\n\t\t// Actually draw the scale on the canvas\n\t\t// @param {rectangle} chartArea : the area of the chart to draw full grid lines on\n\t\tdraw: function(chartArea) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tif (!options.display) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar context = me.ctx;\n\t\t\tvar globalDefaults = defaults.global;\n\t\t\tvar optionTicks = options.ticks.minor;\n\t\t\tvar optionMajorTicks = options.ticks.major || optionTicks;\n\t\t\tvar gridLines = options.gridLines;\n\t\t\tvar scaleLabel = options.scaleLabel;\n\n\t\t\tvar isRotated = me.labelRotation !== 0;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tvar ticks = optionTicks.autoSkip ? me._autoSkip(me.getTicks()) : me.getTicks();\n\t\t\tvar tickFontColor = helpers.valueOrDefault(optionTicks.fontColor, globalDefaults.defaultFontColor);\n\t\t\tvar tickFont = parseFontOptions(optionTicks);\n\t\t\tvar majorTickFontColor = helpers.valueOrDefault(optionMajorTicks.fontColor, globalDefaults.defaultFontColor);\n\t\t\tvar majorTickFont = parseFontOptions(optionMajorTicks);\n\n\t\t\tvar tl = gridLines.drawTicks ? gridLines.tickMarkLength : 0;\n\n\t\t\tvar scaleLabelFontColor = helpers.valueOrDefault(scaleLabel.fontColor, globalDefaults.defaultFontColor);\n\t\t\tvar scaleLabelFont = parseFontOptions(scaleLabel);\n\t\t\tvar scaleLabelPadding = helpers.options.toPadding(scaleLabel.padding);\n\t\t\tvar labelRotationRadians = helpers.toRadians(me.labelRotation);\n\n\t\t\tvar itemsToDraw = [];\n\n\t\t\tvar axisWidth = me.options.gridLines.lineWidth;\n\t\t\tvar xTickStart = options.position === 'right' ? me.right : me.right - axisWidth - tl;\n\t\t\tvar xTickEnd = options.position === 'right' ? me.right + tl : me.right;\n\t\t\tvar yTickStart = options.position === 'bottom' ? me.top + axisWidth : me.bottom - tl - axisWidth;\n\t\t\tvar yTickEnd = options.position === 'bottom' ? me.top + axisWidth + tl : me.bottom + axisWidth;\n\n\t\t\thelpers.each(ticks, function(tick, index) {\n\t\t\t\t// autoskipper skipped this tick (#4635)\n\t\t\t\tif (helpers.isNullOrUndef(tick.label)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar label = tick.label;\n\t\t\t\tvar lineWidth, lineColor, borderDash, borderDashOffset;\n\t\t\t\tif (index === me.zeroLineIndex &amp;&amp; options.offset === gridLines.offsetGridLines) {\n\t\t\t\t\t// Draw the first index specially\n\t\t\t\t\tlineWidth = gridLines.zeroLineWidth;\n\t\t\t\t\tlineColor = gridLines.zeroLineColor;\n\t\t\t\t\tborderDash = gridLines.zeroLineBorderDash;\n\t\t\t\t\tborderDashOffset = gridLines.zeroLineBorderDashOffset;\n\t\t\t\t} else {\n\t\t\t\t\tlineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, index);\n\t\t\t\t\tlineColor = helpers.valueAtIndexOrDefault(gridLines.color, index);\n\t\t\t\t\tborderDash = helpers.valueOrDefault(gridLines.borderDash, globalDefaults.borderDash);\n\t\t\t\t\tborderDashOffset = helpers.valueOrDefault(gridLines.borderDashOffset, globalDefaults.borderDashOffset);\n\t\t\t\t}\n\n\t\t\t\t// Common properties\n\t\t\t\tvar tx1, ty1, tx2, ty2, x1, y1, x2, y2, labelX, labelY;\n\t\t\t\tvar textAlign = 'middle';\n\t\t\t\tvar textBaseline = 'middle';\n\t\t\t\tvar tickPadding = optionTicks.padding;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tvar labelYOffset = tl + tickPadding;\n\n\t\t\t\t\tif (options.position === 'bottom') {\n\t\t\t\t\t\t// bottom\n\t\t\t\t\t\ttextBaseline = !isRotated ? 'top' : 'middle';\n\t\t\t\t\t\ttextAlign = !isRotated ? 'center' : 'right';\n\t\t\t\t\t\tlabelY = me.top + labelYOffset;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// top\n\t\t\t\t\t\ttextBaseline = !isRotated ? 'bottom' : 'middle';\n\t\t\t\t\t\ttextAlign = !isRotated ? 'center' : 'left';\n\t\t\t\t\t\tlabelY = me.bottom - labelYOffset;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar xLineValue = getLineValue(me, index, gridLines.offsetGridLines &amp;&amp; ticks.length &gt; 1);\n\t\t\t\t\tif (xLineValue &lt; me.left) {\n\t\t\t\t\t\tlineColor = 'rgba(0,0,0,0)';\n\t\t\t\t\t}\n\t\t\t\t\txLineValue += helpers.aliasPixel(lineWidth);\n\n\t\t\t\t\tlabelX = me.getPixelForTick(index) + optionTicks.labelOffset; // x values for optionTicks (need to consider offsetLabel option)\n\n\t\t\t\t\ttx1 = tx2 = x1 = x2 = xLineValue;\n\t\t\t\t\tty1 = yTickStart;\n\t\t\t\t\tty2 = yTickEnd;\n\t\t\t\t\ty1 = chartArea.top;\n\t\t\t\t\ty2 = chartArea.bottom + axisWidth;\n\t\t\t\t} else {\n\t\t\t\t\tvar isLeft = options.position === 'left';\n\t\t\t\t\tvar labelXOffset;\n\n\t\t\t\t\tif (optionTicks.mirror) {\n\t\t\t\t\t\ttextAlign = isLeft ? 'left' : 'right';\n\t\t\t\t\t\tlabelXOffset = tickPadding;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttextAlign = isLeft ? 'right' : 'left';\n\t\t\t\t\t\tlabelXOffset = tl + tickPadding;\n\t\t\t\t\t}\n\n\t\t\t\t\tlabelX = isLeft ? me.right - labelXOffset : me.left + labelXOffset;\n\n\t\t\t\t\tvar yLineValue = getLineValue(me, index, gridLines.offsetGridLines &amp;&amp; ticks.length &gt; 1);\n\t\t\t\t\tif (yLineValue &lt; me.top) {\n\t\t\t\t\t\tlineColor = 'rgba(0,0,0,0)';\n\t\t\t\t\t}\n\t\t\t\t\tyLineValue += helpers.aliasPixel(lineWidth);\n\n\t\t\t\t\tlabelY = me.getPixelForTick(index) + optionTicks.labelOffset;\n\n\t\t\t\t\ttx1 = xTickStart;\n\t\t\t\t\ttx2 = xTickEnd;\n\t\t\t\t\tx1 = chartArea.left;\n\t\t\t\t\tx2 = chartArea.right + axisWidth;\n\t\t\t\t\tty1 = ty2 = y1 = y2 = yLineValue;\n\t\t\t\t}\n\n\t\t\t\titemsToDraw.push({\n\t\t\t\t\ttx1: tx1,\n\t\t\t\t\tty1: ty1,\n\t\t\t\t\ttx2: tx2,\n\t\t\t\t\tty2: ty2,\n\t\t\t\t\tx1: x1,\n\t\t\t\t\ty1: y1,\n\t\t\t\t\tx2: x2,\n\t\t\t\t\ty2: y2,\n\t\t\t\t\tlabelX: labelX,\n\t\t\t\t\tlabelY: labelY,\n\t\t\t\t\tglWidth: lineWidth,\n\t\t\t\t\tglColor: lineColor,\n\t\t\t\t\tglBorderDash: borderDash,\n\t\t\t\t\tglBorderDashOffset: borderDashOffset,\n\t\t\t\t\trotation: -1 * labelRotationRadians,\n\t\t\t\t\tlabel: label,\n\t\t\t\t\tmajor: tick.major,\n\t\t\t\t\ttextBaseline: textBaseline,\n\t\t\t\t\ttextAlign: textAlign\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Draw all of the tick labels, tick marks, and grid lines at the correct places\n\t\t\thelpers.each(itemsToDraw, function(itemToDraw) {\n\t\t\t\tif (gridLines.display) {\n\t\t\t\t\tcontext.save();\n\t\t\t\t\tcontext.lineWidth = itemToDraw.glWidth;\n\t\t\t\t\tcontext.strokeStyle = itemToDraw.glColor;\n\t\t\t\t\tif (context.setLineDash) {\n\t\t\t\t\t\tcontext.setLineDash(itemToDraw.glBorderDash);\n\t\t\t\t\t\tcontext.lineDashOffset = itemToDraw.glBorderDashOffset;\n\t\t\t\t\t}\n\n\t\t\t\t\tcontext.beginPath();\n\n\t\t\t\t\tif (gridLines.drawTicks) {\n\t\t\t\t\t\tcontext.moveTo(itemToDraw.tx1, itemToDraw.ty1);\n\t\t\t\t\t\tcontext.lineTo(itemToDraw.tx2, itemToDraw.ty2);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (gridLines.drawOnChartArea) {\n\t\t\t\t\t\tcontext.moveTo(itemToDraw.x1, itemToDraw.y1);\n\t\t\t\t\t\tcontext.lineTo(itemToDraw.x2, itemToDraw.y2);\n\t\t\t\t\t}\n\n\t\t\t\t\tcontext.stroke();\n\t\t\t\t\tcontext.restore();\n\t\t\t\t}\n\n\t\t\t\tif (optionTicks.display) {\n\t\t\t\t\t// Make sure we draw text in the correct color and font\n\t\t\t\t\tcontext.save();\n\t\t\t\t\tcontext.translate(itemToDraw.labelX, itemToDraw.labelY);\n\t\t\t\t\tcontext.rotate(itemToDraw.rotation);\n\t\t\t\t\tcontext.font = itemToDraw.major ? majorTickFont.font : tickFont.font;\n\t\t\t\t\tcontext.fillStyle = itemToDraw.major ? majorTickFontColor : tickFontColor;\n\t\t\t\t\tcontext.textBaseline = itemToDraw.textBaseline;\n\t\t\t\t\tcontext.textAlign = itemToDraw.textAlign;\n\n\t\t\t\t\tvar label = itemToDraw.label;\n\t\t\t\t\tif (helpers.isArray(label)) {\n\t\t\t\t\t\tvar lineCount = label.length;\n\t\t\t\t\t\tvar lineHeight = tickFont.size * 1.5;\n\t\t\t\t\t\tvar y = me.isHorizontal() ? 0 : -lineHeight * (lineCount - 1) / 2;\n\n\t\t\t\t\t\tfor (var i = 0; i &lt; lineCount; ++i) {\n\t\t\t\t\t\t\t// We just make sure the multiline element is a string here..\n\t\t\t\t\t\t\tcontext.fillText('' + label[i], 0, y);\n\t\t\t\t\t\t\t// apply same lineSpacing as calculated @ L#320\n\t\t\t\t\t\t\ty += lineHeight;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.fillText(label, 0, 0);\n\t\t\t\t\t}\n\t\t\t\t\tcontext.restore();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (scaleLabel.display) {\n\t\t\t\t// Draw the scale label\n\t\t\t\tvar scaleLabelX;\n\t\t\t\tvar scaleLabelY;\n\t\t\t\tvar rotation = 0;\n\t\t\t\tvar halfLineHeight = parseLineHeight(scaleLabel) / 2;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tscaleLabelX = me.left + ((me.right - me.left) / 2); // midpoint of the width\n\t\t\t\t\tscaleLabelY = options.position === 'bottom'\n\t\t\t\t\t\t? me.bottom - halfLineHeight - scaleLabelPadding.bottom\n\t\t\t\t\t\t: me.top + halfLineHeight + scaleLabelPadding.top;\n\t\t\t\t} else {\n\t\t\t\t\tvar isLeft = options.position === 'left';\n\t\t\t\t\tscaleLabelX = isLeft\n\t\t\t\t\t\t? me.left + halfLineHeight + scaleLabelPadding.top\n\t\t\t\t\t\t: me.right - halfLineHeight - scaleLabelPadding.top;\n\t\t\t\t\tscaleLabelY = me.top + ((me.bottom - me.top) / 2);\n\t\t\t\t\trotation = isLeft ? -0.5 * Math.PI : 0.5 * Math.PI;\n\t\t\t\t}\n\n\t\t\t\tcontext.save();\n\t\t\t\tcontext.translate(scaleLabelX, scaleLabelY);\n\t\t\t\tcontext.rotate(rotation);\n\t\t\t\tcontext.textAlign = 'center';\n\t\t\t\tcontext.textBaseline = 'middle';\n\t\t\t\tcontext.fillStyle = scaleLabelFontColor; // render in correct colour\n\t\t\t\tcontext.font = scaleLabelFont.font;\n\t\t\t\tcontext.fillText(scaleLabel.labelString, 0, 0);\n\t\t\t\tcontext.restore();\n\t\t\t}\n\n\t\t\tif (gridLines.drawBorder) {\n\t\t\t\t// Draw the line at the edge of the axis\n\t\t\t\tcontext.lineWidth = helpers.valueAtIndexOrDefault(gridLines.lineWidth, 0);\n\t\t\t\tcontext.strokeStyle = helpers.valueAtIndexOrDefault(gridLines.color, 0);\n\t\t\t\tvar x1 = me.left;\n\t\t\t\tvar x2 = me.right + axisWidth;\n\t\t\t\tvar y1 = me.top;\n\t\t\t\tvar y2 = me.bottom + axisWidth;\n\n\t\t\t\tvar aliasPixel = helpers.aliasPixel(context.lineWidth);\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\ty1 = y2 = options.position === 'top' ? me.bottom : me.top;\n\t\t\t\t\ty1 += aliasPixel;\n\t\t\t\t\ty2 += aliasPixel;\n\t\t\t\t} else {\n\t\t\t\t\tx1 = x2 = options.position === 'left' ? me.right : me.left;\n\t\t\t\t\tx1 += aliasPixel;\n\t\t\t\t\tx2 += aliasPixel;\n\t\t\t\t}\n\n\t\t\t\tcontext.beginPath();\n\t\t\t\tcontext.moveTo(x1, y1);\n\t\t\t\tcontext.lineTo(x2, y2);\n\t\t\t\tcontext.stroke();\n\t\t\t}\n\t\t}\n\t});\n};\n\n},{\"25\":25,\"26\":26,\"34\":34,\"45\":45}],33:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar helpers = require(45);\nvar layouts = require(30);\n\nmodule.exports = function(Chart) {\n\n\tChart.scaleService = {\n\t\t// Scale registration object. Extensions can register new scale types (such as log or DB scales) and then\n\t\t// use the new chart options to grab the correct scale\n\t\tconstructors: {},\n\t\t// Use a registration function so that we can move to an ES6 map when we no longer need to support\n\t\t// old browsers\n\n\t\t// Scale config defaults\n\t\tdefaults: {},\n\t\tregisterScaleType: function(type, scaleConstructor, scaleDefaults) {\n\t\t\tthis.constructors[type] = scaleConstructor;\n\t\t\tthis.defaults[type] = helpers.clone(scaleDefaults);\n\t\t},\n\t\tgetScaleConstructor: function(type) {\n\t\t\treturn this.constructors.hasOwnProperty(type) ? this.constructors[type] : undefined;\n\t\t},\n\t\tgetScaleDefaults: function(type) {\n\t\t\t// Return the scale defaults merged with the global settings so that we always use the latest ones\n\t\t\treturn this.defaults.hasOwnProperty(type) ? helpers.merge({}, [defaults.scale, this.defaults[type]]) : {};\n\t\t},\n\t\tupdateScaleDefaults: function(type, additions) {\n\t\t\tvar me = this;\n\t\t\tif (me.defaults.hasOwnProperty(type)) {\n\t\t\t\tme.defaults[type] = helpers.extend(me.defaults[type], additions);\n\t\t\t}\n\t\t},\n\t\taddScalesToLayout: function(chart) {\n\t\t\t// Adds each scale to the chart.boxes array to be sized accordingly\n\t\t\thelpers.each(chart.scales, function(scale) {\n\t\t\t\t// Set ILayoutItem parameters for backwards compatibility\n\t\t\t\tscale.fullWidth = scale.options.fullWidth;\n\t\t\t\tscale.position = scale.options.position;\n\t\t\t\tscale.weight = scale.options.weight;\n\t\t\t\tlayouts.addBox(chart, scale);\n\t\t\t});\n\t\t}\n\t};\n};\n\n},{\"25\":25,\"30\":30,\"45\":45}],34:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\n\n/**\n * Namespace to hold static tick generation functions\n * @namespace Chart.Ticks\n */\nmodule.exports = {\n\t/**\n\t * Namespace to hold formatters for different types of ticks\n\t * @namespace Chart.Ticks.formatters\n\t */\n\tformatters: {\n\t\t/**\n\t\t * Formatter for value labels\n\t\t * @method Chart.Ticks.formatters.values\n\t\t * @param value the value to display\n\t\t * @return {String|Array} the label to display\n\t\t */\n\t\tvalues: function(value) {\n\t\t\treturn helpers.isArray(value) ? value : '' + value;\n\t\t},\n\n\t\t/**\n\t\t * Formatter for linear numeric ticks\n\t\t * @method Chart.Ticks.formatters.linear\n\t\t * @param tickValue {Number} the value to be formatted\n\t\t * @param index {Number} the position of the tickValue parameter in the ticks array\n\t\t * @param ticks {Array&lt;Number&gt;} the list of ticks being converted\n\t\t * @return {String} string representation of the tickValue parameter\n\t\t */\n\t\tlinear: function(tickValue, index, ticks) {\n\t\t\t// If we have lots of ticks, don't use the ones\n\t\t\tvar delta = ticks.length &gt; 3 ? ticks[2] - ticks[1] : ticks[1] - ticks[0];\n\n\t\t\t// If we have a number like 2.5 as the delta, figure out how many decimal places we need\n\t\t\tif (Math.abs(delta) &gt; 1) {\n\t\t\t\tif (tickValue !== Math.floor(tickValue)) {\n\t\t\t\t\t// not an integer\n\t\t\t\t\tdelta = tickValue - Math.floor(tickValue);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar logDelta = helpers.log10(Math.abs(delta));\n\t\t\tvar tickString = '';\n\n\t\t\tif (tickValue !== 0) {\n\t\t\t\tvar numDecimal = -1 * Math.floor(logDelta);\n\t\t\t\tnumDecimal = Math.max(Math.min(numDecimal, 20), 0); // toFixed has a max of 20 decimal places\n\t\t\t\ttickString = tickValue.toFixed(numDecimal);\n\t\t\t} else {\n\t\t\t\ttickString = '0'; // never show decimal places for 0\n\t\t\t}\n\n\t\t\treturn tickString;\n\t\t},\n\n\t\tlogarithmic: function(tickValue, index, ticks) {\n\t\t\tvar remain = tickValue / (Math.pow(10, Math.floor(helpers.log10(tickValue))));\n\n\t\t\tif (tickValue === 0) {\n\t\t\t\treturn '0';\n\t\t\t} else if (remain === 1 || remain === 2 || remain === 5 || index === 0 || index === ticks.length - 1) {\n\t\t\t\treturn tickValue.toExponential();\n\t\t\t}\n\t\t\treturn '';\n\t\t}\n\t}\n};\n\n},{\"45\":45}],35:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\n\ndefaults._set('global', {\n\ttooltips: {\n\t\tenabled: true,\n\t\tcustom: null,\n\t\tmode: 'nearest',\n\t\tposition: 'average',\n\t\tintersect: true,\n\t\tbackgroundColor: 'rgba(0,0,0,0.8)',\n\t\ttitleFontStyle: 'bold',\n\t\ttitleSpacing: 2,\n\t\ttitleMarginBottom: 6,\n\t\ttitleFontColor: '#fff',\n\t\ttitleAlign: 'left',\n\t\tbodySpacing: 2,\n\t\tbodyFontColor: '#fff',\n\t\tbodyAlign: 'left',\n\t\tfooterFontStyle: 'bold',\n\t\tfooterSpacing: 2,\n\t\tfooterMarginTop: 6,\n\t\tfooterFontColor: '#fff',\n\t\tfooterAlign: 'left',\n\t\tyPadding: 6,\n\t\txPadding: 6,\n\t\tcaretPadding: 2,\n\t\tcaretSize: 5,\n\t\tcornerRadius: 6,\n\t\tmultiKeyBackground: '#fff',\n\t\tdisplayColors: true,\n\t\tborderColor: 'rgba(0,0,0,0)',\n\t\tborderWidth: 0,\n\t\tcallbacks: {\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeTitle: helpers.noop,\n\t\t\ttitle: function(tooltipItems, data) {\n\t\t\t\t// Pick first xLabel for now\n\t\t\t\tvar title = '';\n\t\t\t\tvar labels = data.labels;\n\t\t\t\tvar labelCount = labels ? labels.length : 0;\n\n\t\t\t\tif (tooltipItems.length &gt; 0) {\n\t\t\t\t\tvar item = tooltipItems[0];\n\n\t\t\t\t\tif (item.xLabel) {\n\t\t\t\t\t\ttitle = item.xLabel;\n\t\t\t\t\t} else if (labelCount &gt; 0 &amp;&amp; item.index &lt; labelCount) {\n\t\t\t\t\t\ttitle = labels[item.index];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn title;\n\t\t\t},\n\t\t\tafterTitle: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeBody: helpers.noop,\n\n\t\t\t// Args are: (tooltipItem, data)\n\t\t\tbeforeLabel: helpers.noop,\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar label = data.datasets[tooltipItem.datasetIndex].label || '';\n\n\t\t\t\tif (label) {\n\t\t\t\t\tlabel += ': ';\n\t\t\t\t}\n\t\t\t\tlabel += tooltipItem.yLabel;\n\t\t\t\treturn label;\n\t\t\t},\n\t\t\tlabelColor: function(tooltipItem, chart) {\n\t\t\t\tvar meta = chart.getDatasetMeta(tooltipItem.datasetIndex);\n\t\t\t\tvar activeElement = meta.data[tooltipItem.index];\n\t\t\t\tvar view = activeElement._view;\n\t\t\t\treturn {\n\t\t\t\t\tborderColor: view.borderColor,\n\t\t\t\t\tbackgroundColor: view.backgroundColor\n\t\t\t\t};\n\t\t\t},\n\t\t\tlabelTextColor: function() {\n\t\t\t\treturn this._options.bodyFontColor;\n\t\t\t},\n\t\t\tafterLabel: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tafterBody: helpers.noop,\n\n\t\t\t// Args are: (tooltipItems, data)\n\t\t\tbeforeFooter: helpers.noop,\n\t\t\tfooter: helpers.noop,\n\t\t\tafterFooter: helpers.noop\n\t\t}\n\t}\n});\n\nmodule.exports = function(Chart) {\n\n\t/**\n \t * Helper method to merge the opacity into a color\n \t */\n\tfunction mergeOpacity(colorString, opacity) {\n\t\tvar color = helpers.color(colorString);\n\t\treturn color.alpha(opacity * color.alpha()).rgbaString();\n\t}\n\n\t// Helper to push or concat based on if the 2nd parameter is an array or not\n\tfunction pushOrConcat(base, toPush) {\n\t\tif (toPush) {\n\t\t\tif (helpers.isArray(toPush)) {\n\t\t\t\t// base = base.concat(toPush);\n\t\t\t\tArray.prototype.push.apply(base, toPush);\n\t\t\t} else {\n\t\t\t\tbase.push(toPush);\n\t\t\t}\n\t\t}\n\n\t\treturn base;\n\t}\n\n\t// Private helper to create a tooltip item model\n\t// @param element : the chart element (point, arc, bar) to create the tooltip item for\n\t// @return : new tooltip item\n\tfunction createTooltipItem(element) {\n\t\tvar xScale = element._xScale;\n\t\tvar yScale = element._yScale || element._scale; // handle radar || polarArea charts\n\t\tvar index = element._index;\n\t\tvar datasetIndex = element._datasetIndex;\n\n\t\treturn {\n\t\t\txLabel: xScale ? xScale.getLabelForIndex(index, datasetIndex) : '',\n\t\t\tyLabel: yScale ? yScale.getLabelForIndex(index, datasetIndex) : '',\n\t\t\tindex: index,\n\t\t\tdatasetIndex: datasetIndex,\n\t\t\tx: element._model.x,\n\t\t\ty: element._model.y\n\t\t};\n\t}\n\n\t/**\n\t * Helper to get the reset model for the tooltip\n\t * @param tooltipOpts {Object} the tooltip options\n\t */\n\tfunction getBaseModel(tooltipOpts) {\n\t\tvar globalDefaults = defaults.global;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\n\t\treturn {\n\t\t\t// Positioning\n\t\t\txPadding: tooltipOpts.xPadding,\n\t\t\tyPadding: tooltipOpts.yPadding,\n\t\t\txAlign: tooltipOpts.xAlign,\n\t\t\tyAlign: tooltipOpts.yAlign,\n\n\t\t\t// Body\n\t\t\tbodyFontColor: tooltipOpts.bodyFontColor,\n\t\t\t_bodyFontFamily: valueOrDefault(tooltipOpts.bodyFontFamily, globalDefaults.defaultFontFamily),\n\t\t\t_bodyFontStyle: valueOrDefault(tooltipOpts.bodyFontStyle, globalDefaults.defaultFontStyle),\n\t\t\t_bodyAlign: tooltipOpts.bodyAlign,\n\t\t\tbodyFontSize: valueOrDefault(tooltipOpts.bodyFontSize, globalDefaults.defaultFontSize),\n\t\t\tbodySpacing: tooltipOpts.bodySpacing,\n\n\t\t\t// Title\n\t\t\ttitleFontColor: tooltipOpts.titleFontColor,\n\t\t\t_titleFontFamily: valueOrDefault(tooltipOpts.titleFontFamily, globalDefaults.defaultFontFamily),\n\t\t\t_titleFontStyle: valueOrDefault(tooltipOpts.titleFontStyle, globalDefaults.defaultFontStyle),\n\t\t\ttitleFontSize: valueOrDefault(tooltipOpts.titleFontSize, globalDefaults.defaultFontSize),\n\t\t\t_titleAlign: tooltipOpts.titleAlign,\n\t\t\ttitleSpacing: tooltipOpts.titleSpacing,\n\t\t\ttitleMarginBottom: tooltipOpts.titleMarginBottom,\n\n\t\t\t// Footer\n\t\t\tfooterFontColor: tooltipOpts.footerFontColor,\n\t\t\t_footerFontFamily: valueOrDefault(tooltipOpts.footerFontFamily, globalDefaults.defaultFontFamily),\n\t\t\t_footerFontStyle: valueOrDefault(tooltipOpts.footerFontStyle, globalDefaults.defaultFontStyle),\n\t\t\tfooterFontSize: valueOrDefault(tooltipOpts.footerFontSize, globalDefaults.defaultFontSize),\n\t\t\t_footerAlign: tooltipOpts.footerAlign,\n\t\t\tfooterSpacing: tooltipOpts.footerSpacing,\n\t\t\tfooterMarginTop: tooltipOpts.footerMarginTop,\n\n\t\t\t// Appearance\n\t\t\tcaretSize: tooltipOpts.caretSize,\n\t\t\tcornerRadius: tooltipOpts.cornerRadius,\n\t\t\tbackgroundColor: tooltipOpts.backgroundColor,\n\t\t\topacity: 0,\n\t\t\tlegendColorBackground: tooltipOpts.multiKeyBackground,\n\t\t\tdisplayColors: tooltipOpts.displayColors,\n\t\t\tborderColor: tooltipOpts.borderColor,\n\t\t\tborderWidth: tooltipOpts.borderWidth\n\t\t};\n\t}\n\n\t/**\n\t * Get the size of the tooltip\n\t */\n\tfunction getTooltipSize(tooltip, model) {\n\t\tvar ctx = tooltip._chart.ctx;\n\n\t\tvar height = model.yPadding * 2; // Tooltip Padding\n\t\tvar width = 0;\n\n\t\t// Count of all lines in the body\n\t\tvar body = model.body;\n\t\tvar combinedBodyLength = body.reduce(function(count, bodyItem) {\n\t\t\treturn count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length;\n\t\t}, 0);\n\t\tcombinedBodyLength += model.beforeBody.length + model.afterBody.length;\n\n\t\tvar titleLineCount = model.title.length;\n\t\tvar footerLineCount = model.footer.length;\n\t\tvar titleFontSize = model.titleFontSize;\n\t\tvar bodyFontSize = model.bodyFontSize;\n\t\tvar footerFontSize = model.footerFontSize;\n\n\t\theight += titleLineCount * titleFontSize; // Title Lines\n\t\theight += titleLineCount ? (titleLineCount - 1) * model.titleSpacing : 0; // Title Line Spacing\n\t\theight += titleLineCount ? model.titleMarginBottom : 0; // Title's bottom Margin\n\t\theight += combinedBodyLength * bodyFontSize; // Body Lines\n\t\theight += combinedBodyLength ? (combinedBodyLength - 1) * model.bodySpacing : 0; // Body Line Spacing\n\t\theight += footerLineCount ? model.footerMarginTop : 0; // Footer Margin\n\t\theight += footerLineCount * (footerFontSize); // Footer Lines\n\t\theight += footerLineCount ? (footerLineCount - 1) * model.footerSpacing : 0; // Footer Line Spacing\n\n\t\t// Title width\n\t\tvar widthPadding = 0;\n\t\tvar maxLineWidth = function(line) {\n\t\t\twidth = Math.max(width, ctx.measureText(line).width + widthPadding);\n\t\t};\n\n\t\tctx.font = helpers.fontString(titleFontSize, model._titleFontStyle, model._titleFontFamily);\n\t\thelpers.each(model.title, maxLineWidth);\n\n\t\t// Body width\n\t\tctx.font = helpers.fontString(bodyFontSize, model._bodyFontStyle, model._bodyFontFamily);\n\t\thelpers.each(model.beforeBody.concat(model.afterBody), maxLineWidth);\n\n\t\t// Body lines may include some extra width due to the color box\n\t\twidthPadding = model.displayColors ? (bodyFontSize + 2) : 0;\n\t\thelpers.each(body, function(bodyItem) {\n\t\t\thelpers.each(bodyItem.before, maxLineWidth);\n\t\t\thelpers.each(bodyItem.lines, maxLineWidth);\n\t\t\thelpers.each(bodyItem.after, maxLineWidth);\n\t\t});\n\n\t\t// Reset back to 0\n\t\twidthPadding = 0;\n\n\t\t// Footer width\n\t\tctx.font = helpers.fontString(footerFontSize, model._footerFontStyle, model._footerFontFamily);\n\t\thelpers.each(model.footer, maxLineWidth);\n\n\t\t// Add padding\n\t\twidth += 2 * model.xPadding;\n\n\t\treturn {\n\t\t\twidth: width,\n\t\t\theight: height\n\t\t};\n\t}\n\n\t/**\n\t * Helper to get the alignment of a tooltip given the size\n\t */\n\tfunction determineAlignment(tooltip, size) {\n\t\tvar model = tooltip._model;\n\t\tvar chart = tooltip._chart;\n\t\tvar chartArea = tooltip._chart.chartArea;\n\t\tvar xAlign = 'center';\n\t\tvar yAlign = 'center';\n\n\t\tif (model.y &lt; size.height) {\n\t\t\tyAlign = 'top';\n\t\t} else if (model.y &gt; (chart.height - size.height)) {\n\t\t\tyAlign = 'bottom';\n\t\t}\n\n\t\tvar lf, rf; // functions to determine left, right alignment\n\t\tvar olf, orf; // functions to determine if left/right alignment causes tooltip to go outside chart\n\t\tvar yf; // function to get the y alignment if the tooltip goes outside of the left or right edges\n\t\tvar midX = (chartArea.left + chartArea.right) / 2;\n\t\tvar midY = (chartArea.top + chartArea.bottom) / 2;\n\n\t\tif (yAlign === 'center') {\n\t\t\tlf = function(x) {\n\t\t\t\treturn x &lt;= midX;\n\t\t\t};\n\t\t\trf = function(x) {\n\t\t\t\treturn x &gt; midX;\n\t\t\t};\n\t\t} else {\n\t\t\tlf = function(x) {\n\t\t\t\treturn x &lt;= (size.width / 2);\n\t\t\t};\n\t\t\trf = function(x) {\n\t\t\t\treturn x &gt;= (chart.width - (size.width / 2));\n\t\t\t};\n\t\t}\n\n\t\tolf = function(x) {\n\t\t\treturn x + size.width + model.caretSize + model.caretPadding &gt; chart.width;\n\t\t};\n\t\torf = function(x) {\n\t\t\treturn x - size.width - model.caretSize - model.caretPadding &lt; 0;\n\t\t};\n\t\tyf = function(y) {\n\t\t\treturn y &lt;= midY ? 'top' : 'bottom';\n\t\t};\n\n\t\tif (lf(model.x)) {\n\t\t\txAlign = 'left';\n\n\t\t\t// Is tooltip too wide and goes over the right side of the chart.?\n\t\t\tif (olf(model.x)) {\n\t\t\t\txAlign = 'center';\n\t\t\t\tyAlign = yf(model.y);\n\t\t\t}\n\t\t} else if (rf(model.x)) {\n\t\t\txAlign = 'right';\n\n\t\t\t// Is tooltip too wide and goes outside left edge of canvas?\n\t\t\tif (orf(model.x)) {\n\t\t\t\txAlign = 'center';\n\t\t\t\tyAlign = yf(model.y);\n\t\t\t}\n\t\t}\n\n\t\tvar opts = tooltip._options;\n\t\treturn {\n\t\t\txAlign: opts.xAlign ? opts.xAlign : xAlign,\n\t\t\tyAlign: opts.yAlign ? opts.yAlign : yAlign\n\t\t};\n\t}\n\n\t/**\n\t * @Helper to get the location a tooltip needs to be placed at given the initial position (via the vm) and the size and alignment\n\t */\n\tfunction getBackgroundPoint(vm, size, alignment, chart) {\n\t\t// Background Position\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\n\t\tvar caretSize = vm.caretSize;\n\t\tvar caretPadding = vm.caretPadding;\n\t\tvar cornerRadius = vm.cornerRadius;\n\t\tvar xAlign = alignment.xAlign;\n\t\tvar yAlign = alignment.yAlign;\n\t\tvar paddingAndSize = caretSize + caretPadding;\n\t\tvar radiusAndPadding = cornerRadius + caretPadding;\n\n\t\tif (xAlign === 'right') {\n\t\t\tx -= size.width;\n\t\t} else if (xAlign === 'center') {\n\t\t\tx -= (size.width / 2);\n\t\t\tif (x + size.width &gt; chart.width) {\n\t\t\t\tx = chart.width - size.width;\n\t\t\t}\n\t\t\tif (x &lt; 0) {\n\t\t\t\tx = 0;\n\t\t\t}\n\t\t}\n\n\t\tif (yAlign === 'top') {\n\t\t\ty += paddingAndSize;\n\t\t} else if (yAlign === 'bottom') {\n\t\t\ty -= size.height + paddingAndSize;\n\t\t} else {\n\t\t\ty -= (size.height / 2);\n\t\t}\n\n\t\tif (yAlign === 'center') {\n\t\t\tif (xAlign === 'left') {\n\t\t\t\tx += paddingAndSize;\n\t\t\t} else if (xAlign === 'right') {\n\t\t\t\tx -= paddingAndSize;\n\t\t\t}\n\t\t} else if (xAlign === 'left') {\n\t\t\tx -= radiusAndPadding;\n\t\t} else if (xAlign === 'right') {\n\t\t\tx += radiusAndPadding;\n\t\t}\n\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t}\n\n\tChart.Tooltip = Element.extend({\n\t\tinitialize: function() {\n\t\t\tthis._model = getBaseModel(this._options);\n\t\t\tthis._lastActive = [];\n\t\t},\n\n\t\t// Get the title\n\t\t// Args are: (tooltipItem, data)\n\t\tgetTitle: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me._options;\n\t\t\tvar callbacks = opts.callbacks;\n\n\t\t\tvar beforeTitle = callbacks.beforeTitle.apply(me, arguments);\n\t\t\tvar title = callbacks.title.apply(me, arguments);\n\t\t\tvar afterTitle = callbacks.afterTitle.apply(me, arguments);\n\n\t\t\tvar lines = [];\n\t\t\tlines = pushOrConcat(lines, beforeTitle);\n\t\t\tlines = pushOrConcat(lines, title);\n\t\t\tlines = pushOrConcat(lines, afterTitle);\n\n\t\t\treturn lines;\n\t\t},\n\n\t\t// Args are: (tooltipItem, data)\n\t\tgetBeforeBody: function() {\n\t\t\tvar lines = this._options.callbacks.beforeBody.apply(this, arguments);\n\t\t\treturn helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];\n\t\t},\n\n\t\t// Args are: (tooltipItem, data)\n\t\tgetBody: function(tooltipItems, data) {\n\t\t\tvar me = this;\n\t\t\tvar callbacks = me._options.callbacks;\n\t\t\tvar bodyItems = [];\n\n\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\n\t\t\t\tvar bodyItem = {\n\t\t\t\t\tbefore: [],\n\t\t\t\t\tlines: [],\n\t\t\t\t\tafter: []\n\t\t\t\t};\n\t\t\t\tpushOrConcat(bodyItem.before, callbacks.beforeLabel.call(me, tooltipItem, data));\n\t\t\t\tpushOrConcat(bodyItem.lines, callbacks.label.call(me, tooltipItem, data));\n\t\t\t\tpushOrConcat(bodyItem.after, callbacks.afterLabel.call(me, tooltipItem, data));\n\n\t\t\t\tbodyItems.push(bodyItem);\n\t\t\t});\n\n\t\t\treturn bodyItems;\n\t\t},\n\n\t\t// Args are: (tooltipItem, data)\n\t\tgetAfterBody: function() {\n\t\t\tvar lines = this._options.callbacks.afterBody.apply(this, arguments);\n\t\t\treturn helpers.isArray(lines) ? lines : lines !== undefined ? [lines] : [];\n\t\t},\n\n\t\t// Get the footer and beforeFooter and afterFooter lines\n\t\t// Args are: (tooltipItem, data)\n\t\tgetFooter: function() {\n\t\t\tvar me = this;\n\t\t\tvar callbacks = me._options.callbacks;\n\n\t\t\tvar beforeFooter = callbacks.beforeFooter.apply(me, arguments);\n\t\t\tvar footer = callbacks.footer.apply(me, arguments);\n\t\t\tvar afterFooter = callbacks.afterFooter.apply(me, arguments);\n\n\t\t\tvar lines = [];\n\t\t\tlines = pushOrConcat(lines, beforeFooter);\n\t\t\tlines = pushOrConcat(lines, footer);\n\t\t\tlines = pushOrConcat(lines, afterFooter);\n\n\t\t\treturn lines;\n\t\t},\n\n\t\tupdate: function(changed) {\n\t\t\tvar me = this;\n\t\t\tvar opts = me._options;\n\n\t\t\t// Need to regenerate the model because its faster than using extend and it is necessary due to the optimization in Chart.Element.transition\n\t\t\t// that does _view = _model if ease === 1. This causes the 2nd tooltip update to set properties in both the view and model at the same time\n\t\t\t// which breaks any animations.\n\t\t\tvar existingModel = me._model;\n\t\t\tvar model = me._model = getBaseModel(opts);\n\t\t\tvar active = me._active;\n\n\t\t\tvar data = me._data;\n\n\t\t\t// In the case where active.length === 0 we need to keep these at existing values for good animations\n\t\t\tvar alignment = {\n\t\t\t\txAlign: existingModel.xAlign,\n\t\t\t\tyAlign: existingModel.yAlign\n\t\t\t};\n\t\t\tvar backgroundPoint = {\n\t\t\t\tx: existingModel.x,\n\t\t\t\ty: existingModel.y\n\t\t\t};\n\t\t\tvar tooltipSize = {\n\t\t\t\twidth: existingModel.width,\n\t\t\t\theight: existingModel.height\n\t\t\t};\n\t\t\tvar tooltipPosition = {\n\t\t\t\tx: existingModel.caretX,\n\t\t\t\ty: existingModel.caretY\n\t\t\t};\n\n\t\t\tvar i, len;\n\n\t\t\tif (active.length) {\n\t\t\t\tmodel.opacity = 1;\n\n\t\t\t\tvar labelColors = [];\n\t\t\t\tvar labelTextColors = [];\n\t\t\t\ttooltipPosition = Chart.Tooltip.positioners[opts.position].call(me, active, me._eventPosition);\n\n\t\t\t\tvar tooltipItems = [];\n\t\t\t\tfor (i = 0, len = active.length; i &lt; len; ++i) {\n\t\t\t\t\ttooltipItems.push(createTooltipItem(active[i]));\n\t\t\t\t}\n\n\t\t\t\t// If the user provided a filter function, use it to modify the tooltip items\n\t\t\t\tif (opts.filter) {\n\t\t\t\t\ttooltipItems = tooltipItems.filter(function(a) {\n\t\t\t\t\t\treturn opts.filter(a, data);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// If the user provided a sorting function, use it to modify the tooltip items\n\t\t\t\tif (opts.itemSort) {\n\t\t\t\t\ttooltipItems = tooltipItems.sort(function(a, b) {\n\t\t\t\t\t\treturn opts.itemSort(a, b, data);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// Determine colors for boxes\n\t\t\t\thelpers.each(tooltipItems, function(tooltipItem) {\n\t\t\t\t\tlabelColors.push(opts.callbacks.labelColor.call(me, tooltipItem, me._chart));\n\t\t\t\t\tlabelTextColors.push(opts.callbacks.labelTextColor.call(me, tooltipItem, me._chart));\n\t\t\t\t});\n\n\n\t\t\t\t// Build the Text Lines\n\t\t\t\tmodel.title = me.getTitle(tooltipItems, data);\n\t\t\t\tmodel.beforeBody = me.getBeforeBody(tooltipItems, data);\n\t\t\t\tmodel.body = me.getBody(tooltipItems, data);\n\t\t\t\tmodel.afterBody = me.getAfterBody(tooltipItems, data);\n\t\t\t\tmodel.footer = me.getFooter(tooltipItems, data);\n\n\t\t\t\t// Initial positioning and colors\n\t\t\t\tmodel.x = Math.round(tooltipPosition.x);\n\t\t\t\tmodel.y = Math.round(tooltipPosition.y);\n\t\t\t\tmodel.caretPadding = opts.caretPadding;\n\t\t\t\tmodel.labelColors = labelColors;\n\t\t\t\tmodel.labelTextColors = labelTextColors;\n\n\t\t\t\t// data points\n\t\t\t\tmodel.dataPoints = tooltipItems;\n\n\t\t\t\t// We need to determine alignment of the tooltip\n\t\t\t\ttooltipSize = getTooltipSize(this, model);\n\t\t\t\talignment = determineAlignment(this, tooltipSize);\n\t\t\t\t// Final Size and Position\n\t\t\t\tbackgroundPoint = getBackgroundPoint(model, tooltipSize, alignment, me._chart);\n\t\t\t} else {\n\t\t\t\tmodel.opacity = 0;\n\t\t\t}\n\n\t\t\tmodel.xAlign = alignment.xAlign;\n\t\t\tmodel.yAlign = alignment.yAlign;\n\t\t\tmodel.x = backgroundPoint.x;\n\t\t\tmodel.y = backgroundPoint.y;\n\t\t\tmodel.width = tooltipSize.width;\n\t\t\tmodel.height = tooltipSize.height;\n\n\t\t\t// Point where the caret on the tooltip points to\n\t\t\tmodel.caretX = tooltipPosition.x;\n\t\t\tmodel.caretY = tooltipPosition.y;\n\n\t\t\tme._model = model;\n\n\t\t\tif (changed &amp;&amp; opts.custom) {\n\t\t\t\topts.custom.call(me, model);\n\t\t\t}\n\n\t\t\treturn me;\n\t\t},\n\t\tdrawCaret: function(tooltipPoint, size) {\n\t\t\tvar ctx = this._chart.ctx;\n\t\t\tvar vm = this._view;\n\t\t\tvar caretPosition = this.getCaretPosition(tooltipPoint, size, vm);\n\n\t\t\tctx.lineTo(caretPosition.x1, caretPosition.y1);\n\t\t\tctx.lineTo(caretPosition.x2, caretPosition.y2);\n\t\t\tctx.lineTo(caretPosition.x3, caretPosition.y3);\n\t\t},\n\t\tgetCaretPosition: function(tooltipPoint, size, vm) {\n\t\t\tvar x1, x2, x3, y1, y2, y3;\n\t\t\tvar caretSize = vm.caretSize;\n\t\t\tvar cornerRadius = vm.cornerRadius;\n\t\t\tvar xAlign = vm.xAlign;\n\t\t\tvar yAlign = vm.yAlign;\n\t\t\tvar ptX = tooltipPoint.x;\n\t\t\tvar ptY = tooltipPoint.y;\n\t\t\tvar width = size.width;\n\t\t\tvar height = size.height;\n\n\t\t\tif (yAlign === 'center') {\n\t\t\t\ty2 = ptY + (height / 2);\n\n\t\t\t\tif (xAlign === 'left') {\n\t\t\t\t\tx1 = ptX;\n\t\t\t\t\tx2 = x1 - caretSize;\n\t\t\t\t\tx3 = x1;\n\n\t\t\t\t\ty1 = y2 + caretSize;\n\t\t\t\t\ty3 = y2 - caretSize;\n\t\t\t\t} else {\n\t\t\t\t\tx1 = ptX + width;\n\t\t\t\t\tx2 = x1 + caretSize;\n\t\t\t\t\tx3 = x1;\n\n\t\t\t\t\ty1 = y2 - caretSize;\n\t\t\t\t\ty3 = y2 + caretSize;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (xAlign === 'left') {\n\t\t\t\t\tx2 = ptX + cornerRadius + (caretSize);\n\t\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\t\tx3 = x2 + caretSize;\n\t\t\t\t} else if (xAlign === 'right') {\n\t\t\t\t\tx2 = ptX + width - cornerRadius - caretSize;\n\t\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\t\tx3 = x2 + caretSize;\n\t\t\t\t} else {\n\t\t\t\t\tx2 = vm.caretX;\n\t\t\t\t\tx1 = x2 - caretSize;\n\t\t\t\t\tx3 = x2 + caretSize;\n\t\t\t\t}\n\t\t\t\tif (yAlign === 'top') {\n\t\t\t\t\ty1 = ptY;\n\t\t\t\t\ty2 = y1 - caretSize;\n\t\t\t\t\ty3 = y1;\n\t\t\t\t} else {\n\t\t\t\t\ty1 = ptY + height;\n\t\t\t\t\ty2 = y1 + caretSize;\n\t\t\t\t\ty3 = y1;\n\t\t\t\t\t// invert drawing order\n\t\t\t\t\tvar tmp = x3;\n\t\t\t\t\tx3 = x1;\n\t\t\t\t\tx1 = tmp;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {x1: x1, x2: x2, x3: x3, y1: y1, y2: y2, y3: y3};\n\t\t},\n\t\tdrawTitle: function(pt, vm, ctx, opacity) {\n\t\t\tvar title = vm.title;\n\n\t\t\tif (title.length) {\n\t\t\t\tctx.textAlign = vm._titleAlign;\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\tvar titleFontSize = vm.titleFontSize;\n\t\t\t\tvar titleSpacing = vm.titleSpacing;\n\n\t\t\t\tctx.fillStyle = mergeOpacity(vm.titleFontColor, opacity);\n\t\t\t\tctx.font = helpers.fontString(titleFontSize, vm._titleFontStyle, vm._titleFontFamily);\n\n\t\t\t\tvar i, len;\n\t\t\t\tfor (i = 0, len = title.length; i &lt; len; ++i) {\n\t\t\t\t\tctx.fillText(title[i], pt.x, pt.y);\n\t\t\t\t\tpt.y += titleFontSize + titleSpacing; // Line Height and spacing\n\n\t\t\t\t\tif (i + 1 === title.length) {\n\t\t\t\t\t\tpt.y += vm.titleMarginBottom - titleSpacing; // If Last, add margin, remove spacing\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tdrawBody: function(pt, vm, ctx, opacity) {\n\t\t\tvar bodyFontSize = vm.bodyFontSize;\n\t\t\tvar bodySpacing = vm.bodySpacing;\n\t\t\tvar body = vm.body;\n\n\t\t\tctx.textAlign = vm._bodyAlign;\n\t\t\tctx.textBaseline = 'top';\n\t\t\tctx.font = helpers.fontString(bodyFontSize, vm._bodyFontStyle, vm._bodyFontFamily);\n\n\t\t\t// Before Body\n\t\t\tvar xLinePadding = 0;\n\t\t\tvar fillLineOfText = function(line) {\n\t\t\t\tctx.fillText(line, pt.x + xLinePadding, pt.y);\n\t\t\t\tpt.y += bodyFontSize + bodySpacing;\n\t\t\t};\n\n\t\t\t// Before body lines\n\t\t\tctx.fillStyle = mergeOpacity(vm.bodyFontColor, opacity);\n\t\t\thelpers.each(vm.beforeBody, fillLineOfText);\n\n\t\t\tvar drawColorBoxes = vm.displayColors;\n\t\t\txLinePadding = drawColorBoxes ? (bodyFontSize + 2) : 0;\n\n\t\t\t// Draw body lines now\n\t\t\thelpers.each(body, function(bodyItem, i) {\n\t\t\t\tvar textColor = mergeOpacity(vm.labelTextColors[i], opacity);\n\t\t\t\tctx.fillStyle = textColor;\n\t\t\t\thelpers.each(bodyItem.before, fillLineOfText);\n\n\t\t\t\thelpers.each(bodyItem.lines, function(line) {\n\t\t\t\t\t// Draw Legend-like boxes if needed\n\t\t\t\t\tif (drawColorBoxes) {\n\t\t\t\t\t\t// Fill a white rect so that colours merge nicely if the opacity is &lt; 1\n\t\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.legendColorBackground, opacity);\n\t\t\t\t\t\tctx.fillRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\n\n\t\t\t\t\t\t// Border\n\t\t\t\t\t\tctx.lineWidth = 1;\n\t\t\t\t\t\tctx.strokeStyle = mergeOpacity(vm.labelColors[i].borderColor, opacity);\n\t\t\t\t\t\tctx.strokeRect(pt.x, pt.y, bodyFontSize, bodyFontSize);\n\n\t\t\t\t\t\t// Inner square\n\t\t\t\t\t\tctx.fillStyle = mergeOpacity(vm.labelColors[i].backgroundColor, opacity);\n\t\t\t\t\t\tctx.fillRect(pt.x + 1, pt.y + 1, bodyFontSize - 2, bodyFontSize - 2);\n\t\t\t\t\t\tctx.fillStyle = textColor;\n\t\t\t\t\t}\n\n\t\t\t\t\tfillLineOfText(line);\n\t\t\t\t});\n\n\t\t\t\thelpers.each(bodyItem.after, fillLineOfText);\n\t\t\t});\n\n\t\t\t// Reset back to 0 for after body\n\t\t\txLinePadding = 0;\n\n\t\t\t// After body lines\n\t\t\thelpers.each(vm.afterBody, fillLineOfText);\n\t\t\tpt.y -= bodySpacing; // Remove last body spacing\n\t\t},\n\t\tdrawFooter: function(pt, vm, ctx, opacity) {\n\t\t\tvar footer = vm.footer;\n\n\t\t\tif (footer.length) {\n\t\t\t\tpt.y += vm.footerMarginTop;\n\n\t\t\t\tctx.textAlign = vm._footerAlign;\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\tctx.fillStyle = mergeOpacity(vm.footerFontColor, opacity);\n\t\t\t\tctx.font = helpers.fontString(vm.footerFontSize, vm._footerFontStyle, vm._footerFontFamily);\n\n\t\t\t\thelpers.each(footer, function(line) {\n\t\t\t\t\tctx.fillText(line, pt.x, pt.y);\n\t\t\t\t\tpt.y += vm.footerFontSize + vm.footerSpacing;\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdrawBackground: function(pt, vm, ctx, tooltipSize, opacity) {\n\t\t\tctx.fillStyle = mergeOpacity(vm.backgroundColor, opacity);\n\t\t\tctx.strokeStyle = mergeOpacity(vm.borderColor, opacity);\n\t\t\tctx.lineWidth = vm.borderWidth;\n\t\t\tvar xAlign = vm.xAlign;\n\t\t\tvar yAlign = vm.yAlign;\n\t\t\tvar x = pt.x;\n\t\t\tvar y = pt.y;\n\t\t\tvar width = tooltipSize.width;\n\t\t\tvar height = tooltipSize.height;\n\t\t\tvar radius = vm.cornerRadius;\n\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x + radius, y);\n\t\t\tif (yAlign === 'top') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x + width - radius, y);\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n\t\t\tif (yAlign === 'center' &amp;&amp; xAlign === 'right') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x + width, y + height - radius);\n\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n\t\t\tif (yAlign === 'bottom') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x + radius, y + height);\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n\t\t\tif (yAlign === 'center' &amp;&amp; xAlign === 'left') {\n\t\t\t\tthis.drawCaret(pt, tooltipSize);\n\t\t\t}\n\t\t\tctx.lineTo(x, y + radius);\n\t\t\tctx.quadraticCurveTo(x, y, x + radius, y);\n\t\t\tctx.closePath();\n\n\t\t\tctx.fill();\n\n\t\t\tif (vm.borderWidth &gt; 0) {\n\t\t\t\tctx.stroke();\n\t\t\t}\n\t\t},\n\t\tdraw: function() {\n\t\t\tvar ctx = this._chart.ctx;\n\t\t\tvar vm = this._view;\n\n\t\t\tif (vm.opacity === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar tooltipSize = {\n\t\t\t\twidth: vm.width,\n\t\t\t\theight: vm.height\n\t\t\t};\n\t\t\tvar pt = {\n\t\t\t\tx: vm.x,\n\t\t\t\ty: vm.y\n\t\t\t};\n\n\t\t\t// IE11/Edge does not like very small opacities, so snap to 0\n\t\t\tvar opacity = Math.abs(vm.opacity &lt; 1e-3) ? 0 : vm.opacity;\n\n\t\t\t// Truthy/falsey value for empty tooltip\n\t\t\tvar hasTooltipContent = vm.title.length || vm.beforeBody.length || vm.body.length || vm.afterBody.length || vm.footer.length;\n\n\t\t\tif (this._options.enabled &amp;&amp; hasTooltipContent) {\n\t\t\t\t// Draw Background\n\t\t\t\tthis.drawBackground(pt, vm, ctx, tooltipSize, opacity);\n\n\t\t\t\t// Draw Title, Body, and Footer\n\t\t\t\tpt.x += vm.xPadding;\n\t\t\t\tpt.y += vm.yPadding;\n\n\t\t\t\t// Titles\n\t\t\t\tthis.drawTitle(pt, vm, ctx, opacity);\n\n\t\t\t\t// Body\n\t\t\t\tthis.drawBody(pt, vm, ctx, opacity);\n\n\t\t\t\t// Footer\n\t\t\t\tthis.drawFooter(pt, vm, ctx, opacity);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle an event\n\t\t * @private\n\t\t * @param {IEvent} event - The event to handle\n\t\t * @returns {Boolean} true if the tooltip changed\n\t\t */\n\t\thandleEvent: function(e) {\n\t\t\tvar me = this;\n\t\t\tvar options = me._options;\n\t\t\tvar changed = false;\n\n\t\t\tme._lastActive = me._lastActive || [];\n\n\t\t\t// Find Active Elements for tooltips\n\t\t\tif (e.type === 'mouseout') {\n\t\t\t\tme._active = [];\n\t\t\t} else {\n\t\t\t\tme._active = me._chart.getElementsAtEventForMode(e, options.mode, options);\n\t\t\t}\n\n\t\t\t// Remember Last Actives\n\t\t\tchanged = !helpers.arrayEquals(me._active, me._lastActive);\n\n\t\t\t// Only handle target event on tooltip change\n\t\t\tif (changed) {\n\t\t\t\tme._lastActive = me._active;\n\n\t\t\t\tif (options.enabled || options.custom) {\n\t\t\t\t\tme._eventPosition = {\n\t\t\t\t\t\tx: e.x,\n\t\t\t\t\t\ty: e.y\n\t\t\t\t\t};\n\n\t\t\t\t\tme.update(true);\n\t\t\t\t\tme.pivot();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn changed;\n\t\t}\n\t});\n\n\t/**\n\t * @namespace Chart.Tooltip.positioners\n\t */\n\tChart.Tooltip.positioners = {\n\t\t/**\n\t\t * Average mode places the tooltip at the average position of the elements shown\n\t\t * @function Chart.Tooltip.positioners.average\n\t\t * @param elements {ChartElement[]} the elements being displayed in the tooltip\n\t\t * @returns {Point} tooltip position\n\t\t */\n\t\taverage: function(elements) {\n\t\t\tif (!elements.length) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tvar i, len;\n\t\t\tvar x = 0;\n\t\t\tvar y = 0;\n\t\t\tvar count = 0;\n\n\t\t\tfor (i = 0, len = elements.length; i &lt; len; ++i) {\n\t\t\t\tvar el = elements[i];\n\t\t\t\tif (el &amp;&amp; el.hasValue()) {\n\t\t\t\t\tvar pos = el.tooltipPosition();\n\t\t\t\t\tx += pos.x;\n\t\t\t\t\ty += pos.y;\n\t\t\t\t\t++count;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: Math.round(x / count),\n\t\t\t\ty: Math.round(y / count)\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Gets the tooltip position nearest of the item nearest to the event position\n\t\t * @function Chart.Tooltip.positioners.nearest\n\t\t * @param elements {Chart.Element[]} the tooltip elements\n\t\t * @param eventPosition {Point} the position of the event in canvas coordinates\n\t\t * @returns {Point} the tooltip position\n\t\t */\n\t\tnearest: function(elements, eventPosition) {\n\t\t\tvar x = eventPosition.x;\n\t\t\tvar y = eventPosition.y;\n\t\t\tvar minDistance = Number.POSITIVE_INFINITY;\n\t\t\tvar i, len, nearestElement;\n\n\t\t\tfor (i = 0, len = elements.length; i &lt; len; ++i) {\n\t\t\t\tvar el = elements[i];\n\t\t\t\tif (el &amp;&amp; el.hasValue()) {\n\t\t\t\t\tvar center = el.getCenterPoint();\n\t\t\t\t\tvar d = helpers.distanceBetweenPoints(eventPosition, center);\n\n\t\t\t\t\tif (d &lt; minDistance) {\n\t\t\t\t\t\tminDistance = d;\n\t\t\t\t\t\tnearestElement = el;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (nearestElement) {\n\t\t\t\tvar tp = nearestElement.tooltipPosition();\n\t\t\t\tx = tp.x;\n\t\t\t\ty = tp.y;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tx: x,\n\t\t\t\ty: y\n\t\t\t};\n\t\t}\n\t};\n};\n\n},{\"25\":25,\"26\":26,\"45\":45}],36:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\n\ndefaults._set('global', {\n\telements: {\n\t\tarc: {\n\t\t\tbackgroundColor: defaults.global.defaultColor,\n\t\t\tborderColor: '#fff',\n\t\t\tborderWidth: 2\n\t\t}\n\t}\n});\n\nmodule.exports = Element.extend({\n\tinLabelRange: function(mouseX) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) &lt; Math.pow(vm.radius + vm.hoverRadius, 2));\n\t\t}\n\t\treturn false;\n\t},\n\n\tinRange: function(chartX, chartY) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\tvar pointRelativePosition = helpers.getAngleFromPoint(vm, {x: chartX, y: chartY});\n\t\t\tvar\tangle = pointRelativePosition.angle;\n\t\t\tvar distance = pointRelativePosition.distance;\n\n\t\t\t// Sanitise angle range\n\t\t\tvar startAngle = vm.startAngle;\n\t\t\tvar endAngle = vm.endAngle;\n\t\t\twhile (endAngle &lt; startAngle) {\n\t\t\t\tendAngle += 2.0 * Math.PI;\n\t\t\t}\n\t\t\twhile (angle &gt; endAngle) {\n\t\t\t\tangle -= 2.0 * Math.PI;\n\t\t\t}\n\t\t\twhile (angle &lt; startAngle) {\n\t\t\t\tangle += 2.0 * Math.PI;\n\t\t\t}\n\n\t\t\t// Check if within the range of the open/close angle\n\t\t\tvar betweenAngles = (angle &gt;= startAngle &amp;&amp; angle &lt;= endAngle);\n\t\t\tvar withinRadius = (distance &gt;= vm.innerRadius &amp;&amp; distance &lt;= vm.outerRadius);\n\n\t\t\treturn (betweenAngles &amp;&amp; withinRadius);\n\t\t}\n\t\treturn false;\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\n\t\treturn {\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\n\n\t\treturn {\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\n\t\t};\n\t},\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar sA = vm.startAngle;\n\t\tvar eA = vm.endAngle;\n\n\t\tctx.beginPath();\n\n\t\tctx.arc(vm.x, vm.y, vm.outerRadius, sA, eA);\n\t\tctx.arc(vm.x, vm.y, vm.innerRadius, eA, sA, true);\n\n\t\tctx.closePath();\n\t\tctx.strokeStyle = vm.borderColor;\n\t\tctx.lineWidth = vm.borderWidth;\n\n\t\tctx.fillStyle = vm.backgroundColor;\n\n\t\tctx.fill();\n\t\tctx.lineJoin = 'bevel';\n\n\t\tif (vm.borderWidth) {\n\t\t\tctx.stroke();\n\t\t}\n\t}\n});\n\n},{\"25\":25,\"26\":26,\"45\":45}],37:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\n\nvar globalDefaults = defaults.global;\n\ndefaults._set('global', {\n\telements: {\n\t\tline: {\n\t\t\ttension: 0.4,\n\t\t\tbackgroundColor: globalDefaults.defaultColor,\n\t\t\tborderWidth: 3,\n\t\t\tborderColor: globalDefaults.defaultColor,\n\t\t\tborderCapStyle: 'butt',\n\t\t\tborderDash: [],\n\t\t\tborderDashOffset: 0.0,\n\t\t\tborderJoinStyle: 'miter',\n\t\t\tcapBezierPoints: true,\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\n\t\t}\n\t}\n});\n\nmodule.exports = Element.extend({\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar vm = me._view;\n\t\tvar ctx = me._chart.ctx;\n\t\tvar spanGaps = vm.spanGaps;\n\t\tvar points = me._children.slice(); // clone array\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\n\t\tvar lastDrawnIndex = -1;\n\t\tvar index, current, previous, currentVM;\n\n\t\t// If we are looping, adding the first point again\n\t\tif (me._loop &amp;&amp; points.length) {\n\t\t\tpoints.push(points[0]);\n\t\t}\n\n\t\tctx.save();\n\n\t\t// Stroke Line Options\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\n\n\t\t// IE 9 and 10 do not support line dash\n\t\tif (ctx.setLineDash) {\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\n\t\t}\n\n\t\tctx.lineDashOffset = vm.borderDashOffset || globalOptionLineElements.borderDashOffset;\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\n\t\tctx.lineWidth = vm.borderWidth || globalOptionLineElements.borderWidth;\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\n\n\t\t// Stroke Line\n\t\tctx.beginPath();\n\t\tlastDrawnIndex = -1;\n\n\t\tfor (index = 0; index &lt; points.length; ++index) {\n\t\t\tcurrent = points[index];\n\t\t\tprevious = helpers.previousItem(points, index);\n\t\t\tcurrentVM = current._view;\n\n\t\t\t// First point moves to it's starting position no matter what\n\t\t\tif (index === 0) {\n\t\t\t\tif (!currentVM.skip) {\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t\tlastDrawnIndex = index;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tprevious = lastDrawnIndex === -1 ? previous : points[lastDrawnIndex];\n\n\t\t\t\tif (!currentVM.skip) {\n\t\t\t\t\tif ((lastDrawnIndex !== (index - 1) &amp;&amp; !spanGaps) || lastDrawnIndex === -1) {\n\t\t\t\t\t\t// There was a gap and this is the first point after the gap\n\t\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Line to next point\n\t\t\t\t\t\thelpers.canvas.lineTo(ctx, previous._view, current._view);\n\t\t\t\t\t}\n\t\t\t\t\tlastDrawnIndex = index;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.restore();\n\t}\n});\n\n},{\"25\":25,\"26\":26,\"45\":45}],38:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\n\nvar defaultColor = defaults.global.defaultColor;\n\ndefaults._set('global', {\n\telements: {\n\t\tpoint: {\n\t\t\tradius: 3,\n\t\t\tpointStyle: 'circle',\n\t\t\tbackgroundColor: defaultColor,\n\t\t\tborderColor: defaultColor,\n\t\t\tborderWidth: 1,\n\t\t\t// Hover\n\t\t\thitRadius: 1,\n\t\t\thoverRadius: 4,\n\t\t\thoverBorderWidth: 1\n\t\t}\n\t}\n});\n\nfunction xRange(mouseX) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseX - vm.x) &lt; vm.radius + vm.hitRadius) : false;\n}\n\nfunction yRange(mouseY) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseY - vm.y) &lt; vm.radius + vm.hitRadius) : false;\n}\n\nmodule.exports = Element.extend({\n\tinRange: function(mouseX, mouseY) {\n\t\tvar vm = this._view;\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) &lt; Math.pow(vm.hitRadius + vm.radius, 2)) : false;\n\t},\n\n\tinLabelRange: xRange,\n\tinXRange: xRange,\n\tinYRange: yRange,\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y,\n\t\t\tpadding: vm.radius + vm.borderWidth\n\t\t};\n\t},\n\n\tdraw: function(chartArea) {\n\t\tvar vm = this._view;\n\t\tvar model = this._model;\n\t\tvar ctx = this._chart.ctx;\n\t\tvar pointStyle = vm.pointStyle;\n\t\tvar radius = vm.radius;\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\t\tvar color = helpers.color;\n\t\tvar errMargin = 1.01; // 1.01 is margin for Accumulated error. (Especially Edge, IE.)\n\t\tvar ratio = 0;\n\n\t\tif (vm.skip) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.strokeStyle = vm.borderColor || defaultColor;\n\t\tctx.lineWidth = helpers.valueOrDefault(vm.borderWidth, defaults.global.elements.point.borderWidth);\n\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\n\n\t\t// Cliping for Points.\n\t\t// going out from inner charArea?\n\t\tif ((chartArea !== undefined) &amp;&amp; ((model.x &lt; chartArea.left) || (chartArea.right * errMargin &lt; model.x) || (model.y &lt; chartArea.top) || (chartArea.bottom * errMargin &lt; model.y))) {\n\t\t\t// Point fade out\n\t\t\tif (model.x &lt; chartArea.left) {\n\t\t\t\tratio = (x - model.x) / (chartArea.left - model.x);\n\t\t\t} else if (chartArea.right * errMargin &lt; model.x) {\n\t\t\t\tratio = (model.x - x) / (model.x - chartArea.right);\n\t\t\t} else if (model.y &lt; chartArea.top) {\n\t\t\t\tratio = (y - model.y) / (chartArea.top - model.y);\n\t\t\t} else if (chartArea.bottom * errMargin &lt; model.y) {\n\t\t\t\tratio = (model.y - y) / (model.y - chartArea.bottom);\n\t\t\t}\n\t\t\tratio = Math.round(ratio * 100) / 100;\n\t\t\tctx.strokeStyle = color(ctx.strokeStyle).alpha(ratio).rgbString();\n\t\t\tctx.fillStyle = color(ctx.fillStyle).alpha(ratio).rgbString();\n\t\t}\n\n\t\thelpers.canvas.drawPoint(ctx, pointStyle, radius, x, y);\n\t}\n});\n\n},{\"25\":25,\"26\":26,\"45\":45}],39:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\n\ndefaults._set('global', {\n\telements: {\n\t\trectangle: {\n\t\t\tbackgroundColor: defaults.global.defaultColor,\n\t\t\tborderColor: defaults.global.defaultColor,\n\t\t\tborderSkipped: 'bottom',\n\t\t\tborderWidth: 0\n\t\t}\n\t}\n});\n\nfunction isVertical(bar) {\n\treturn bar._view.width !== undefined;\n}\n\n/**\n * Helper function to get the bounds of the bar regardless of the orientation\n * @param bar {Chart.Element.Rectangle} the bar\n * @return {Bounds} bounds of the bar\n * @private\n */\nfunction getBarBounds(bar) {\n\tvar vm = bar._view;\n\tvar x1, x2, y1, y2;\n\n\tif (isVertical(bar)) {\n\t\t// vertical\n\t\tvar halfWidth = vm.width / 2;\n\t\tx1 = vm.x - halfWidth;\n\t\tx2 = vm.x + halfWidth;\n\t\ty1 = Math.min(vm.y, vm.base);\n\t\ty2 = Math.max(vm.y, vm.base);\n\t} else {\n\t\t// horizontal bar\n\t\tvar halfHeight = vm.height / 2;\n\t\tx1 = Math.min(vm.x, vm.base);\n\t\tx2 = Math.max(vm.x, vm.base);\n\t\ty1 = vm.y - halfHeight;\n\t\ty2 = vm.y + halfHeight;\n\t}\n\n\treturn {\n\t\tleft: x1,\n\t\ttop: y1,\n\t\tright: x2,\n\t\tbottom: y2\n\t};\n}\n\nmodule.exports = Element.extend({\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar left, right, top, bottom, signX, signY, borderSkipped;\n\t\tvar borderWidth = vm.borderWidth;\n\n\t\tif (!vm.horizontal) {\n\t\t\t// bar\n\t\t\tleft = vm.x - vm.width / 2;\n\t\t\tright = vm.x + vm.width / 2;\n\t\t\ttop = vm.y;\n\t\t\tbottom = vm.base;\n\t\t\tsignX = 1;\n\t\t\tsignY = bottom &gt; top ? 1 : -1;\n\t\t\tborderSkipped = vm.borderSkipped || 'bottom';\n\t\t} else {\n\t\t\t// horizontal bar\n\t\t\tleft = vm.base;\n\t\t\tright = vm.x;\n\t\t\ttop = vm.y - vm.height / 2;\n\t\t\tbottom = vm.y + vm.height / 2;\n\t\t\tsignX = right &gt; left ? 1 : -1;\n\t\t\tsignY = 1;\n\t\t\tborderSkipped = vm.borderSkipped || 'left';\n\t\t}\n\n\t\t// Canvas doesn't allow us to stroke inside the width so we can\n\t\t// adjust the sizes to fit if we're setting a stroke on the line\n\t\tif (borderWidth) {\n\t\t\t// borderWidth shold be less than bar width and bar height.\n\t\t\tvar barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n\t\t\tborderWidth = borderWidth &gt; barSize ? barSize : borderWidth;\n\t\t\tvar halfStroke = borderWidth / 2;\n\t\t\t// Adjust borderWidth when bar top position is near vm.base(zero).\n\t\t\tvar borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\n\t\t\tvar borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\n\t\t\tvar borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\n\t\t\tvar borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\n\t\t\t// not become a vertical line?\n\t\t\tif (borderLeft !== borderRight) {\n\t\t\t\ttop = borderTop;\n\t\t\t\tbottom = borderBottom;\n\t\t\t}\n\t\t\t// not become a horizontal line?\n\t\t\tif (borderTop !== borderBottom) {\n\t\t\t\tleft = borderLeft;\n\t\t\t\tright = borderRight;\n\t\t\t}\n\t\t}\n\n\t\tctx.beginPath();\n\t\tctx.fillStyle = vm.backgroundColor;\n\t\tctx.strokeStyle = vm.borderColor;\n\t\tctx.lineWidth = borderWidth;\n\n\t\t// Corner points, from bottom-left to bottom-right clockwise\n\t\t// | 1 2 |\n\t\t// | 0 3 |\n\t\tvar corners = [\n\t\t\t[left, bottom],\n\t\t\t[left, top],\n\t\t\t[right, top],\n\t\t\t[right, bottom]\n\t\t];\n\n\t\t// Find first (starting) corner with fallback to 'bottom'\n\t\tvar borders = ['bottom', 'left', 'top', 'right'];\n\t\tvar startCorner = borders.indexOf(borderSkipped, 0);\n\t\tif (startCorner === -1) {\n\t\t\tstartCorner = 0;\n\t\t}\n\n\t\tfunction cornerAt(index) {\n\t\t\treturn corners[(startCorner + index) % 4];\n\t\t}\n\n\t\t// Draw rectangle from 'startCorner'\n\t\tvar corner = cornerAt(0);\n\t\tctx.moveTo(corner[0], corner[1]);\n\n\t\tfor (var i = 1; i &lt; 4; i++) {\n\t\t\tcorner = cornerAt(i);\n\t\t\tctx.lineTo(corner[0], corner[1]);\n\t\t}\n\n\t\tctx.fill();\n\t\tif (borderWidth) {\n\t\t\tctx.stroke();\n\t\t}\n\t},\n\n\theight: function() {\n\t\tvar vm = this._view;\n\t\treturn vm.base - vm.y;\n\t},\n\n\tinRange: function(mouseX, mouseY) {\n\t\tvar inRange = false;\n\n\t\tif (this._view) {\n\t\t\tvar bounds = getBarBounds(this);\n\t\t\tinRange = mouseX &gt;= bounds.left &amp;&amp; mouseX &lt;= bounds.right &amp;&amp; mouseY &gt;= bounds.top &amp;&amp; mouseY &lt;= bounds.bottom;\n\t\t}\n\n\t\treturn inRange;\n\t},\n\n\tinLabelRange: function(mouseX, mouseY) {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar inRange = false;\n\t\tvar bounds = getBarBounds(me);\n\n\t\tif (isVertical(me)) {\n\t\t\tinRange = mouseX &gt;= bounds.left &amp;&amp; mouseX &lt;= bounds.right;\n\t\t} else {\n\t\t\tinRange = mouseY &gt;= bounds.top &amp;&amp; mouseY &lt;= bounds.bottom;\n\t\t}\n\n\t\treturn inRange;\n\t},\n\n\tinXRange: function(mouseX) {\n\t\tvar bounds = getBarBounds(this);\n\t\treturn mouseX &gt;= bounds.left &amp;&amp; mouseX &lt;= bounds.right;\n\t},\n\n\tinYRange: function(mouseY) {\n\t\tvar bounds = getBarBounds(this);\n\t\treturn mouseY &gt;= bounds.top &amp;&amp; mouseY &lt;= bounds.bottom;\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar x, y;\n\t\tif (isVertical(this)) {\n\t\t\tx = vm.x;\n\t\t\ty = (vm.y + vm.base) / 2;\n\t\t} else {\n\t\t\tx = (vm.x + vm.base) / 2;\n\t\t\ty = vm.y;\n\t\t}\n\n\t\treturn {x: x, y: y};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\t\treturn vm.width * Math.abs(vm.y - vm.base);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t}\n});\n\n},{\"25\":25,\"26\":26}],40:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {};\nmodule.exports.Arc = require(36);\nmodule.exports.Line = require(37);\nmodule.exports.Point = require(38);\nmodule.exports.Rectangle = require(39);\n\n},{\"36\":36,\"37\":37,\"38\":38,\"39\":39}],41:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(42);\n\n/**\n * @namespace Chart.helpers.canvas\n */\nvar exports = module.exports = {\n\t/**\n\t * Clears the entire canvas associated to the given `chart`.\n\t * @param {Chart} chart - The chart for which to clear the canvas.\n\t */\n\tclear: function(chart) {\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\n\t},\n\n\t/**\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\n\t * given size (width, height) and the same `radius` for all corners.\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\n\t * @param {Number} x - The x axis of the coordinate for the rectangle starting point.\n\t * @param {Number} y - The y axis of the coordinate for the rectangle starting point.\n\t * @param {Number} width - The rectangle's width.\n\t * @param {Number} height - The rectangle's height.\n\t * @param {Number} radius - The rounded amount (in pixels) for the four corners.\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\n\t */\n\troundedRect: function(ctx, x, y, width, height, radius) {\n\t\tif (radius) {\n\t\t\tvar rx = Math.min(radius, width / 2);\n\t\t\tvar ry = Math.min(radius, height / 2);\n\n\t\t\tctx.moveTo(x + rx, y);\n\t\t\tctx.lineTo(x + width - rx, y);\n\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + ry);\n\t\t\tctx.lineTo(x + width, y + height - ry);\n\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - rx, y + height);\n\t\t\tctx.lineTo(x + rx, y + height);\n\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - ry);\n\t\t\tctx.lineTo(x, y + ry);\n\t\t\tctx.quadraticCurveTo(x, y, x + rx, y);\n\t\t} else {\n\t\t\tctx.rect(x, y, width, height);\n\t\t}\n\t},\n\n\tdrawPoint: function(ctx, style, radius, x, y) {\n\t\tvar type, edgeLength, xOffset, yOffset, height, size;\n\n\t\tif (style &amp;&amp; typeof style === 'object') {\n\t\t\ttype = style.toString();\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n\t\t\t\tctx.drawImage(style, x - style.width / 2, y - style.height / 2, style.width, style.height);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (isNaN(radius) || radius &lt;= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (style) {\n\t\t// Default includes circle\n\t\tdefault:\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(x, y, radius, 0, Math.PI * 2);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'triangle':\n\t\t\tctx.beginPath();\n\t\t\tedgeLength = 3 * radius / Math.sqrt(3);\n\t\t\theight = edgeLength * Math.sqrt(3) / 2;\n\t\t\tctx.moveTo(x - edgeLength / 2, y + height / 3);\n\t\t\tctx.lineTo(x + edgeLength / 2, y + height / 3);\n\t\t\tctx.lineTo(x, y - 2 * height / 3);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'rect':\n\t\t\tsize = 1 / Math.SQRT2 * radius;\n\t\t\tctx.beginPath();\n\t\t\tctx.fillRect(x - size, y - size, 2 * size, 2 * size);\n\t\t\tctx.strokeRect(x - size, y - size, 2 * size, 2 * size);\n\t\t\tbreak;\n\t\tcase 'rectRounded':\n\t\t\tvar offset = radius / Math.SQRT2;\n\t\t\tvar leftX = x - offset;\n\t\t\tvar topY = y - offset;\n\t\t\tvar sideSize = Math.SQRT2 * radius;\n\t\t\tctx.beginPath();\n\t\t\tthis.roundedRect(ctx, leftX, topY, sideSize, sideSize, radius / 2);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'rectRot':\n\t\t\tsize = 1 / Math.SQRT2 * radius;\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x - size, y);\n\t\t\tctx.lineTo(x, y + size);\n\t\t\tctx.lineTo(x + size, y);\n\t\t\tctx.lineTo(x, y - size);\n\t\t\tctx.closePath();\n\t\t\tctx.fill();\n\t\t\tbreak;\n\t\tcase 'cross':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x, y + radius);\n\t\t\tctx.lineTo(x, y - radius);\n\t\t\tctx.moveTo(x - radius, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'crossRot':\n\t\t\tctx.beginPath();\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x - xOffset, y + yOffset);\n\t\t\tctx.lineTo(x + xOffset, y - yOffset);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'star':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x, y + radius);\n\t\t\tctx.lineTo(x, y - radius);\n\t\t\tctx.moveTo(x - radius, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\txOffset = Math.cos(Math.PI / 4) * radius;\n\t\t\tyOffset = Math.sin(Math.PI / 4) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x - xOffset, y + yOffset);\n\t\t\tctx.lineTo(x + xOffset, y - yOffset);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'line':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x - radius, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'dash':\n\t\t\tctx.beginPath();\n\t\t\tctx.moveTo(x, y);\n\t\t\tctx.lineTo(x + radius, y);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\t}\n\n\t\tctx.stroke();\n\t},\n\n\tclipArea: function(ctx, area) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n\t\tctx.clip();\n\t},\n\n\tunclipArea: function(ctx) {\n\t\tctx.restore();\n\t},\n\n\tlineTo: function(ctx, previous, target, flip) {\n\t\tif (target.steppedLine) {\n\t\t\tif ((target.steppedLine === 'after' &amp;&amp; !flip) || (target.steppedLine !== 'after' &amp;&amp; flip)) {\n\t\t\t\tctx.lineTo(previous.x, target.y);\n\t\t\t} else {\n\t\t\t\tctx.lineTo(target.x, previous.y);\n\t\t\t}\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!target.tension) {\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tctx.bezierCurveTo(\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\n\t\t\ttarget.x,\n\t\t\ttarget.y);\n\t}\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\n * @namespace Chart.helpers.clear\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.clear = exports.clear;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\n * @namespace Chart.helpers.drawRoundedRectangle\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.drawRoundedRectangle = function(ctx) {\n\tctx.beginPath();\n\texports.roundedRect.apply(exports, arguments);\n\tctx.closePath();\n};\n\n},{\"42\":42}],42:[function(require,module,exports){\n'use strict';\n\n/**\n * @namespace Chart.helpers\n */\nvar helpers = {\n\t/**\n\t * An empty function that can be used, for example, for optional callback.\n\t */\n\tnoop: function() {},\n\n\t/**\n\t * Returns a unique id, sequentially generated from a global variable.\n\t * @returns {Number}\n\t * @function\n\t */\n\tuid: (function() {\n\t\tvar id = 0;\n\t\treturn function() {\n\t\t\treturn id++;\n\t\t};\n\t}()),\n\n\t/**\n\t * Returns true if `value` is neither null nor undefined, else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {Boolean}\n\t * @since 2.7.0\n\t */\n\tisNullOrUndef: function(value) {\n\t\treturn value === null || typeof value === 'undefined';\n\t},\n\n\t/**\n\t * Returns true if `value` is an array, else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {Boolean}\n\t * @function\n\t */\n\tisArray: Array.isArray ? Array.isArray : function(value) {\n\t\treturn Object.prototype.toString.call(value) === '[object Array]';\n\t},\n\n\t/**\n\t * Returns true if `value` is an object (excluding null), else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {Boolean}\n\t * @since 2.7.0\n\t */\n\tisObject: function(value) {\n\t\treturn value !== null &amp;&amp; Object.prototype.toString.call(value) === '[object Object]';\n\t},\n\n\t/**\n\t * Returns `value` if defined, else returns `defaultValue`.\n\t * @param {*} value - The value to return if defined.\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\n\t * @returns {*}\n\t */\n\tvalueOrDefault: function(value, defaultValue) {\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\n\t},\n\n\t/**\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\n\t * @param {Array} value - The array to lookup for value at `index`.\n\t * @param {Number} index - The index in `value` to lookup for value.\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\n\t * @returns {*}\n\t */\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\n\t},\n\n\t/**\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n\t * @param {Function} fn - The function to call.\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\n\t * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @returns {*}\n\t */\n\tcallback: function(fn, args, thisArg) {\n\t\tif (fn &amp;&amp; typeof fn.call === 'function') {\n\t\t\treturn fn.apply(thisArg, args);\n\t\t}\n\t},\n\n\t/**\n\t * Note(SB) for performance sake, this method should only be used when loopable type\n\t * is unknown or in none intensive code (not called often and small loopable). Else\n\t * it's preferable to use a regular for() loop and save extra function calls.\n\t * @param {Object|Array} loopable - The object or array to be iterated.\n\t * @param {Function} fn - The function to call for each item.\n\t * @param {Object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @param {Boolean} [reverse] - If true, iterates backward on the loopable.\n\t */\n\teach: function(loopable, fn, thisArg, reverse) {\n\t\tvar i, len, keys;\n\t\tif (helpers.isArray(loopable)) {\n\t\t\tlen = loopable.length;\n\t\t\tif (reverse) {\n\t\t\t\tfor (i = len - 1; i &gt;= 0; i--) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = 0; i &lt; len; i++) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (helpers.isObject(loopable)) {\n\t\t\tkeys = Object.keys(loopable);\n\t\t\tlen = keys.length;\n\t\t\tfor (i = 0; i &lt; len; i++) {\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n\t * @see http://stackoverflow.com/a/14853974\n\t * @param {Array} a0 - The array to compare\n\t * @param {Array} a1 - The array to compare\n\t * @returns {Boolean}\n\t */\n\tarrayEquals: function(a0, a1) {\n\t\tvar i, ilen, v0, v1;\n\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (i = 0, ilen = a0.length; i &lt; ilen; ++i) {\n\t\t\tv0 = a0[i];\n\t\t\tv1 = a1[i];\n\n\t\t\tif (v0 instanceof Array &amp;&amp; v1 instanceof Array) {\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (v0 !== v1) {\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\n\t * @param {*} source - The value to clone.\n\t * @returns {*}\n\t */\n\tclone: function(source) {\n\t\tif (helpers.isArray(source)) {\n\t\t\treturn source.map(helpers.clone);\n\t\t}\n\n\t\tif (helpers.isObject(source)) {\n\t\t\tvar target = {};\n\t\t\tvar keys = Object.keys(source);\n\t\t\tvar klen = keys.length;\n\t\t\tvar k = 0;\n\n\t\t\tfor (; k &lt; klen; ++k) {\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\n\t\t\t}\n\n\t\t\treturn target;\n\t\t}\n\n\t\treturn source;\n\t},\n\n\t/**\n\t * The default merger when Chart.helpers.merge is called without merger option.\n\t * Note(SB): this method is also used by configMerge and scaleMerge as fallback.\n\t * @private\n\t */\n\t_merger: function(key, target, source, options) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) &amp;&amp; helpers.isObject(sval)) {\n\t\t\thelpers.merge(tval, sval, options);\n\t\t} else {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Merges source[key] in target[key] only if target[key] is undefined.\n\t * @private\n\t */\n\t_mergerIf: function(key, target, source) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) &amp;&amp; helpers.isObject(sval)) {\n\t\t\thelpers.mergeIf(tval, sval);\n\t\t} else if (!target.hasOwnProperty(key)) {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {Object} target - The target object in which all sources are merged into.\n\t * @param {Object|Array(Object)} source - Object(s) to merge into `target`.\n\t * @param {Object} [options] - Merging options:\n\t * @param {Function} [options.merger] - The merge method (key, target, source, options)\n\t * @returns {Object} The `target` object.\n\t */\n\tmerge: function(target, source, options) {\n\t\tvar sources = helpers.isArray(source) ? source : [source];\n\t\tvar ilen = sources.length;\n\t\tvar merge, i, keys, klen, k;\n\n\t\tif (!helpers.isObject(target)) {\n\t\t\treturn target;\n\t\t}\n\n\t\toptions = options || {};\n\t\tmerge = options.merger || helpers._merger;\n\n\t\tfor (i = 0; i &lt; ilen; ++i) {\n\t\t\tsource = sources[i];\n\t\t\tif (!helpers.isObject(source)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tkeys = Object.keys(source);\n\t\t\tfor (k = 0, klen = keys.length; k &lt; klen; ++k) {\n\t\t\t\tmerge(keys[k], target, source, options);\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {Object} target - The target object in which all sources are merged into.\n\t * @param {Object|Array(Object)} source - Object(s) to merge into `target`.\n\t * @returns {Object} The `target` object.\n\t */\n\tmergeIf: function(target, source) {\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\n\t},\n\n\t/**\n\t * Applies the contents of two or more objects together into the first object.\n\t * @param {Object} target - The target object in which all objects are merged into.\n\t * @param {Object} arg1 - Object containing additional properties to merge in target.\n\t * @param {Object} argN - Additional objects containing properties to merge in target.\n\t * @returns {Object} The `target` object.\n\t */\n\textend: function(target) {\n\t\tvar setFn = function(value, key) {\n\t\t\ttarget[key] = value;\n\t\t};\n\t\tfor (var i = 1, ilen = arguments.length; i &lt; ilen; ++i) {\n\t\t\thelpers.each(arguments[i], setFn);\n\t\t}\n\t\treturn target;\n\t},\n\n\t/**\n\t * Basic javascript inheritance based on the model created in Backbone.js\n\t */\n\tinherits: function(extensions) {\n\t\tvar me = this;\n\t\tvar ChartElement = (extensions &amp;&amp; extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\n\t\t\treturn me.apply(this, arguments);\n\t\t};\n\n\t\tvar Surrogate = function() {\n\t\t\tthis.constructor = ChartElement;\n\t\t};\n\n\t\tSurrogate.prototype = me.prototype;\n\t\tChartElement.prototype = new Surrogate();\n\t\tChartElement.extend = helpers.inherits;\n\n\t\tif (extensions) {\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\n\t\t}\n\n\t\tChartElement.__super__ = me.prototype;\n\t\treturn ChartElement;\n\t}\n};\n\nmodule.exports = helpers;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.callback instead.\n * @function Chart.helpers.callCallback\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nhelpers.callCallback = helpers.callback;\n\n/**\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\n * @function Chart.helpers.indexOf\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.indexOf = function(array, item, fromIndex) {\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\n};\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\n * @function Chart.helpers.getValueOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueOrDefault = helpers.valueOrDefault;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\n * @function Chart.helpers.getValueAtIndexOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n},{}],43:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(42);\n\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easingEffects\n * @see http://www.robertpenner.com/easing/\n */\nvar effects = {\n\tlinear: function(t) {\n\t\treturn t;\n\t},\n\n\teaseInQuad: function(t) {\n\t\treturn t * t;\n\t},\n\n\teaseOutQuad: function(t) {\n\t\treturn -t * (t - 2);\n\t},\n\n\teaseInOutQuad: function(t) {\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn 0.5 * t * t;\n\t\t}\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\n\t},\n\n\teaseInCubic: function(t) {\n\t\treturn t * t * t;\n\t},\n\n\teaseOutCubic: function(t) {\n\t\treturn (t = t - 1) * t * t + 1;\n\t},\n\n\teaseInOutCubic: function(t) {\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn 0.5 * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\n\t},\n\n\teaseInQuart: function(t) {\n\t\treturn t * t * t * t;\n\t},\n\n\teaseOutQuart: function(t) {\n\t\treturn -((t = t - 1) * t * t * t - 1);\n\t},\n\n\teaseInOutQuart: function(t) {\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn 0.5 * t * t * t * t;\n\t\t}\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\n\t},\n\n\teaseInQuint: function(t) {\n\t\treturn t * t * t * t * t;\n\t},\n\n\teaseOutQuint: function(t) {\n\t\treturn (t = t - 1) * t * t * t * t + 1;\n\t},\n\n\teaseInOutQuint: function(t) {\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn 0.5 * t * t * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\n\t},\n\n\teaseInSine: function(t) {\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\n\t},\n\n\teaseOutSine: function(t) {\n\t\treturn Math.sin(t * (Math.PI / 2));\n\t},\n\n\teaseInOutSine: function(t) {\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\n\t},\n\n\teaseInExpo: function(t) {\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\n\t},\n\n\teaseOutExpo: function(t) {\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\n\t},\n\n\teaseInOutExpo: function(t) {\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\n\t\t}\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\n\t},\n\n\teaseInCirc: function(t) {\n\t\tif (t &gt;= 1) {\n\t\t\treturn t;\n\t\t}\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\n\t},\n\n\teaseOutCirc: function(t) {\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\n\t},\n\n\teaseInOutCirc: function(t) {\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\n\t\t}\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n\t},\n\n\teaseInElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a &lt; 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t},\n\n\teaseOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a &lt; 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\n\t},\n\n\teaseInOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif ((t /= 0.5) === 2) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.45;\n\t\t}\n\t\tif (a &lt; 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\tif (t &lt; 1) {\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t\t}\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\n\t},\n\teaseInBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn t * t * ((s + 1) * t - s);\n\t},\n\n\teaseOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\n\t},\n\n\teaseInOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\tif ((t /= 0.5) &lt; 1) {\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n\t},\n\n\teaseInBounce: function(t) {\n\t\treturn 1 - effects.easeOutBounce(1 - t);\n\t},\n\n\teaseOutBounce: function(t) {\n\t\tif (t &lt; (1 / 2.75)) {\n\t\t\treturn 7.5625 * t * t;\n\t\t}\n\t\tif (t &lt; (2 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\n\t\t}\n\t\tif (t &lt; (2.5 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\n\t\t}\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\n\t},\n\n\teaseInOutBounce: function(t) {\n\t\tif (t &lt; 0.5) {\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\n\t\t}\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n\t}\n};\n\nmodule.exports = {\n\teffects: effects\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\n * @function Chart.helpers.easingEffects\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.easingEffects = effects;\n\n},{\"42\":42}],44:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(42);\n\n/**\n * @alias Chart.helpers.options\n * @namespace\n */\nmodule.exports = {\n\t/**\n\t * Converts the given line height `value` in pixels for a specific font `size`.\n\t * @param {Number|String} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n\t * @param {Number} size - The font size (in pixels) used to resolve relative `value`.\n\t * @returns {Number} The effective line height in pixels (size * 1.2 if value is invalid).\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n\t * @since 2.7.0\n\t */\n\ttoLineHeight: function(value, size) {\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\n\t\tif (!matches || matches[1] === 'normal') {\n\t\t\treturn size * 1.2;\n\t\t}\n\n\t\tvalue = +matches[2];\n\n\t\tswitch (matches[3]) {\n\t\tcase 'px':\n\t\t\treturn value;\n\t\tcase '%':\n\t\t\tvalue /= 100;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\n\t\treturn size * value;\n\t},\n\n\t/**\n\t * Converts the given value into a padding object with pre-computed width/height.\n\t * @param {Number|Object} value - If a number, set the value to all TRBL component,\n\t *  else, if and object, use defined properties and sets undefined ones to 0.\n\t * @returns {Object} The padding values (top, right, bottom, left, width, height)\n\t * @since 2.7.0\n\t */\n\ttoPadding: function(value) {\n\t\tvar t, r, b, l;\n\n\t\tif (helpers.isObject(value)) {\n\t\t\tt = +value.top || 0;\n\t\t\tr = +value.right || 0;\n\t\t\tb = +value.bottom || 0;\n\t\t\tl = +value.left || 0;\n\t\t} else {\n\t\t\tt = r = b = l = +value || 0;\n\t\t}\n\n\t\treturn {\n\t\t\ttop: t,\n\t\t\tright: r,\n\t\t\tbottom: b,\n\t\t\tleft: l,\n\t\t\theight: t + b,\n\t\t\twidth: l + r\n\t\t};\n\t},\n\n\t/**\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\n\t * @param {Array[]} inputs - An array of values, falling back to the last value.\n\t * @param {Object} [context] - If defined and the current value is a function, the value\n\t * is called with `context` as first argument and the result becomes the new input.\n\t * @param {Number} [index] - If defined and the current value is an array, the value\n\t * at `index` become the new input.\n\t * @since 2.7.0\n\t */\n\tresolve: function(inputs, context, index) {\n\t\tvar i, ilen, value;\n\n\t\tfor (i = 0, ilen = inputs.length; i &lt; ilen; ++i) {\n\t\t\tvalue = inputs[i];\n\t\t\tif (value === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (context !== undefined &amp;&amp; typeof value === 'function') {\n\t\t\t\tvalue = value(context);\n\t\t\t}\n\t\t\tif (index !== undefined &amp;&amp; helpers.isArray(value)) {\n\t\t\t\tvalue = value[index];\n\t\t\t}\n\t\t\tif (value !== undefined) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t}\n};\n\n},{\"42\":42}],45:[function(require,module,exports){\n'use strict';\n\nmodule.exports = require(42);\nmodule.exports.easing = require(43);\nmodule.exports.canvas = require(41);\nmodule.exports.options = require(44);\n\n},{\"41\":41,\"42\":42,\"43\":43,\"44\":44}],46:[function(require,module,exports){\n/**\n * Platform fallback implementation (minimal).\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\n */\n\nmodule.exports = {\n\tacquireContext: function(item) {\n\t\tif (item &amp;&amp; item.canvas) {\n\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\titem = item.canvas;\n\t\t}\n\n\t\treturn item &amp;&amp; item.getContext('2d') || null;\n\t}\n};\n\n},{}],47:[function(require,module,exports){\n/**\n * Chart.Platform implementation for targeting a web browser\n */\n\n'use strict';\n\nvar helpers = require(45);\n\nvar EXPANDO_KEY = '$chartjs';\nvar CSS_PREFIX = 'chartjs-';\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\n\n/**\n * DOM event types -&gt; Chart.js event types.\n * Note: only events with different types are mapped.\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\n */\nvar EVENT_TYPES = {\n\ttouchstart: 'mousedown',\n\ttouchmove: 'mousemove',\n\ttouchend: 'mouseup',\n\tpointerenter: 'mouseenter',\n\tpointerdown: 'mousedown',\n\tpointermove: 'mousemove',\n\tpointerup: 'mouseup',\n\tpointerleave: 'mouseout',\n\tpointerout: 'mouseout'\n};\n\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns {Number} Size in pixels or undefined if unknown.\n */\nfunction readUsedSize(element, property) {\n\tvar value = helpers.getStyle(element, property);\n\tvar matches = value &amp;&amp; value.match(/^(\\d+)(\\.\\d+)?px$/);\n\treturn matches ? Number(matches[1]) : undefined;\n}\n\n/**\n * Initializes the canvas style and render size without modifying the canvas display size,\n * since responsiveness is handled by the controller.resize() method. The config is used\n * to determine the aspect ratio to apply in case no explicit height has been specified.\n */\nfunction initCanvas(canvas, config) {\n\tvar style = canvas.style;\n\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\n\tvar renderHeight = canvas.getAttribute('height');\n\tvar renderWidth = canvas.getAttribute('width');\n\n\t// Chart.js modifies some canvas values that we want to restore on destroy\n\tcanvas[EXPANDO_KEY] = {\n\t\tinitial: {\n\t\t\theight: renderHeight,\n\t\t\twidth: renderWidth,\n\t\t\tstyle: {\n\t\t\t\tdisplay: style.display,\n\t\t\t\theight: style.height,\n\t\t\t\twidth: style.width\n\t\t\t}\n\t\t}\n\t};\n\n\t// Force canvas to display as block to avoid extra space caused by inline\n\t// elements, which would interfere with the responsive resize process.\n\t// https://github.com/chartjs/Chart.js/issues/2538\n\tstyle.display = style.display || 'block';\n\n\tif (renderWidth === null || renderWidth === '') {\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\n\t\tif (displayWidth !== undefined) {\n\t\t\tcanvas.width = displayWidth;\n\t\t}\n\t}\n\n\tif (renderHeight === null || renderHeight === '') {\n\t\tif (canvas.style.height === '') {\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\n\t\t\t// which one can be specified by the user but also by charts as default option\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\n\t\t} else {\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\n\t\t\tif (displayWidth !== undefined) {\n\t\t\t\tcanvas.height = displayHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn canvas;\n}\n\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */\nvar supportsEventListenerOptions = (function() {\n\tvar supports = false;\n\ttry {\n\t\tvar options = Object.defineProperty({}, 'passive', {\n\t\t\tget: function() {\n\t\t\t\tsupports = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('e', null, options);\n\t} catch (e) {\n\t\t// continue regardless of error\n\t}\n\treturn supports;\n}());\n\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n// https://github.com/chartjs/Chart.js/issues/4287\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\n\nfunction addEventListener(node, type, listener) {\n\tnode.addEventListener(type, listener, eventListenerOptions);\n}\n\nfunction removeEventListener(node, type, listener) {\n\tnode.removeEventListener(type, listener, eventListenerOptions);\n}\n\nfunction createEvent(type, chart, x, y, nativeEvent) {\n\treturn {\n\t\ttype: type,\n\t\tchart: chart,\n\t\tnative: nativeEvent || null,\n\t\tx: x !== undefined ? x : null,\n\t\ty: y !== undefined ? y : null,\n\t};\n}\n\nfunction fromNativeEvent(event, chart) {\n\tvar type = EVENT_TYPES[event.type] || event.type;\n\tvar pos = helpers.getRelativePosition(event, chart);\n\treturn createEvent(type, chart, pos.x, pos.y, event);\n}\n\nfunction throttled(fn, thisArg) {\n\tvar ticking = false;\n\tvar args = [];\n\n\treturn function() {\n\t\targs = Array.prototype.slice.call(arguments);\n\t\tthisArg = thisArg || this;\n\n\t\tif (!ticking) {\n\t\t\tticking = true;\n\t\t\thelpers.requestAnimFrame.call(window, function() {\n\t\t\t\tticking = false;\n\t\t\t\tfn.apply(thisArg, args);\n\t\t\t});\n\t\t}\n\t};\n}\n\n// Implementation based on https://github.com/marcj/css-element-queries\nfunction createResizer(handler) {\n\tvar resizer = document.createElement('div');\n\tvar cls = CSS_PREFIX + 'size-monitor';\n\tvar maxSize = 1000000;\n\tvar style =\n\t\t'position:absolute;' +\n\t\t'left:0;' +\n\t\t'top:0;' +\n\t\t'right:0;' +\n\t\t'bottom:0;' +\n\t\t'overflow:hidden;' +\n\t\t'pointer-events:none;' +\n\t\t'visibility:hidden;' +\n\t\t'z-index:-1;';\n\n\tresizer.style.cssText = style;\n\tresizer.className = cls;\n\tresizer.innerHTML =\n\t\t'&lt;div class=\"' + cls + '-expand\" style=\"' + style + '\"&gt;' +\n\t\t\t'&lt;div style=\"' +\n\t\t\t\t'position:absolute;' +\n\t\t\t\t'width:' + maxSize + 'px;' +\n\t\t\t\t'height:' + maxSize + 'px;' +\n\t\t\t\t'left:0;' +\n\t\t\t\t'top:0\"&gt;' +\n\t\t\t'&lt;/div&gt;' +\n\t\t'&lt;/div&gt;' +\n\t\t'&lt;div class=\"' + cls + '-shrink\" style=\"' + style + '\"&gt;' +\n\t\t\t'&lt;div style=\"' +\n\t\t\t\t'position:absolute;' +\n\t\t\t\t'width:200%;' +\n\t\t\t\t'height:200%;' +\n\t\t\t\t'left:0; ' +\n\t\t\t\t'top:0\"&gt;' +\n\t\t\t'&lt;/div&gt;' +\n\t\t'&lt;/div&gt;';\n\n\tvar expand = resizer.childNodes[0];\n\tvar shrink = resizer.childNodes[1];\n\n\tresizer._reset = function() {\n\t\texpand.scrollLeft = maxSize;\n\t\texpand.scrollTop = maxSize;\n\t\tshrink.scrollLeft = maxSize;\n\t\tshrink.scrollTop = maxSize;\n\t};\n\tvar onScroll = function() {\n\t\tresizer._reset();\n\t\thandler();\n\t};\n\n\taddEventListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\n\taddEventListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\n\n\treturn resizer;\n}\n\n// https://davidwalsh.name/detect-node-insertion\nfunction watchForRender(node, handler) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\tvar proxy = expando.renderProxy = function(e) {\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\n\t\t\thandler();\n\t\t}\n\t};\n\n\thelpers.each(ANIMATION_START_EVENTS, function(type) {\n\t\taddEventListener(node, type, proxy);\n\t});\n\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\n\t// is removed then added back immediately (same animation frame?). Accessing the\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\n\t// https://github.com/chartjs/Chart.js/issues/4737\n\texpando.reflow = !!node.offsetParent;\n\n\tnode.classList.add(CSS_RENDER_MONITOR);\n}\n\nfunction unwatchForRender(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar proxy = expando.renderProxy;\n\n\tif (proxy) {\n\t\thelpers.each(ANIMATION_START_EVENTS, function(type) {\n\t\t\tremoveEventListener(node, type, proxy);\n\t\t});\n\n\t\tdelete expando.renderProxy;\n\t}\n\n\tnode.classList.remove(CSS_RENDER_MONITOR);\n}\n\nfunction addResizeListener(node, listener, chart) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\n\t\tif (expando.resizer) {\n\t\t\treturn listener(createEvent('resize', chart));\n\t\t}\n\t}));\n\n\t// The resizer needs to be attached to the node parent, so we first need to be\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\n\twatchForRender(node, function() {\n\t\tif (expando.resizer) {\n\t\t\tvar container = node.parentNode;\n\t\t\tif (container &amp;&amp; container !== resizer.parentNode) {\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\n\t\t\t}\n\n\t\t\t// The container size might have changed, let's reset the resizer state.\n\t\t\tresizer._reset();\n\t\t}\n\t});\n}\n\nfunction removeResizeListener(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar resizer = expando.resizer;\n\n\tdelete expando.resizer;\n\tunwatchForRender(node);\n\n\tif (resizer &amp;&amp; resizer.parentNode) {\n\t\tresizer.parentNode.removeChild(resizer);\n\t}\n}\n\nfunction injectCSS(platform, css) {\n\t// http://stackoverflow.com/q/3922139\n\tvar style = platform._style || document.createElement('style');\n\tif (!platform._style) {\n\t\tplatform._style = style;\n\t\tcss = '/* Chart.js */\\n' + css;\n\t\tstyle.setAttribute('type', 'text/css');\n\t\tdocument.getElementsByTagName('head')[0].appendChild(style);\n\t}\n\n\tstyle.appendChild(document.createTextNode(css));\n}\n\nmodule.exports = {\n\t/**\n\t * This property holds whether this platform is enabled for the current environment.\n\t * Currently used by platform.js to select the proper implementation.\n\t * @private\n\t */\n\t_enabled: typeof window !== 'undefined' &amp;&amp; typeof document !== 'undefined',\n\n\tinitialize: function() {\n\t\tvar keyframes = 'from{opacity:0.99}to{opacity:1}';\n\n\t\tinjectCSS(this,\n\t\t\t// DOM rendering detection\n\t\t\t// https://davidwalsh.name/detect-node-insertion\n\t\t\t'@-webkit-keyframes ' + CSS_RENDER_ANIMATION + '{' + keyframes + '}' +\n\t\t\t'@keyframes ' + CSS_RENDER_ANIMATION + '{' + keyframes + '}' +\n\t\t\t'.' + CSS_RENDER_MONITOR + '{' +\n\t\t\t\t'-webkit-animation:' + CSS_RENDER_ANIMATION + ' 0.001s;' +\n\t\t\t\t'animation:' + CSS_RENDER_ANIMATION + ' 0.001s;' +\n\t\t\t'}'\n\t\t);\n\t},\n\n\tacquireContext: function(item, config) {\n\t\tif (typeof item === 'string') {\n\t\t\titem = document.getElementById(item);\n\t\t} else if (item.length) {\n\t\t\t// Support for array based queries (such as jQuery)\n\t\t\titem = item[0];\n\t\t}\n\n\t\tif (item &amp;&amp; item.canvas) {\n\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\titem = item.canvas;\n\t\t}\n\n\t\t// To prevent canvas fingerprinting, some add-ons undefine the getContext\n\t\t// method, for example: https://github.com/kkapsner/CanvasBlocker\n\t\t// https://github.com/chartjs/Chart.js/issues/2807\n\t\tvar context = item &amp;&amp; item.getContext &amp;&amp; item.getContext('2d');\n\n\t\t// `instanceof HTMLCanvasElement/CanvasRenderingContext2D` fails when the item is\n\t\t// inside an iframe or when running in a protected environment. We could guess the\n\t\t// types from their toString() value but let's keep things flexible and assume it's\n\t\t// a sufficient condition if the item has a context2D which has item as `canvas`.\n\t\t// https://github.com/chartjs/Chart.js/issues/3887\n\t\t// https://github.com/chartjs/Chart.js/issues/4102\n\t\t// https://github.com/chartjs/Chart.js/issues/4152\n\t\tif (context &amp;&amp; context.canvas === item) {\n\t\t\tinitCanvas(item, config);\n\t\t\treturn context;\n\t\t}\n\n\t\treturn null;\n\t},\n\n\treleaseContext: function(context) {\n\t\tvar canvas = context.canvas;\n\t\tif (!canvas[EXPANDO_KEY]) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar initial = canvas[EXPANDO_KEY].initial;\n\t\t['height', 'width'].forEach(function(prop) {\n\t\t\tvar value = initial[prop];\n\t\t\tif (helpers.isNullOrUndef(value)) {\n\t\t\t\tcanvas.removeAttribute(prop);\n\t\t\t} else {\n\t\t\t\tcanvas.setAttribute(prop, value);\n\t\t\t}\n\t\t});\n\n\t\thelpers.each(initial.style || {}, function(value, key) {\n\t\t\tcanvas.style[key] = value;\n\t\t});\n\n\t\t// The canvas render size might have been changed (and thus the state stack discarded),\n\t\t// we can't use save() and restore() to restore the initial state. So make sure that at\n\t\t// least the canvas context is reset to the default state by setting the canvas width.\n\t\t// https://www.w3.org/TR/2011/WD-html5-20110525/the-canvas-element.html\n\t\tcanvas.width = canvas.width;\n\n\t\tdelete canvas[EXPANDO_KEY];\n\t},\n\n\taddEventListener: function(chart, type, listener) {\n\t\tvar canvas = chart.canvas;\n\t\tif (type === 'resize') {\n\t\t\t// Note: the resize event is not supported on all browsers.\n\t\t\taddResizeListener(canvas, listener, chart);\n\t\t\treturn;\n\t\t}\n\n\t\tvar expando = listener[EXPANDO_KEY] || (listener[EXPANDO_KEY] = {});\n\t\tvar proxies = expando.proxies || (expando.proxies = {});\n\t\tvar proxy = proxies[chart.id + '_' + type] = function(event) {\n\t\t\tlistener(fromNativeEvent(event, chart));\n\t\t};\n\n\t\taddEventListener(canvas, type, proxy);\n\t},\n\n\tremoveEventListener: function(chart, type, listener) {\n\t\tvar canvas = chart.canvas;\n\t\tif (type === 'resize') {\n\t\t\t// Note: the resize event is not supported on all browsers.\n\t\t\tremoveResizeListener(canvas, listener);\n\t\t\treturn;\n\t\t}\n\n\t\tvar expando = listener[EXPANDO_KEY] || {};\n\t\tvar proxies = expando.proxies || {};\n\t\tvar proxy = proxies[chart.id + '_' + type];\n\t\tif (!proxy) {\n\t\t\treturn;\n\t\t}\n\n\t\tremoveEventListener(canvas, type, proxy);\n\t}\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use EventTarget.addEventListener instead.\n * EventTarget.addEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n * @function Chart.helpers.addEvent\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.addEvent = addEventListener;\n\n/**\n * Provided for backward compatibility, use EventTarget.removeEventListener instead.\n * EventTarget.removeEventListener compatibility: Chrome, Opera 7, Safari, FF1.5+, IE9+\n * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener\n * @function Chart.helpers.removeEvent\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.removeEvent = removeEventListener;\n\n},{\"45\":45}],48:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\nvar basic = require(46);\nvar dom = require(47);\n\n// @TODO Make possible to select another platform at build time.\nvar implementation = dom._enabled ? dom : basic;\n\n/**\n * @namespace Chart.platform\n * @see https://chartjs.gitbooks.io/proposals/content/Platform.html\n * @since 2.4.0\n */\nmodule.exports = helpers.extend({\n\t/**\n\t * @since 2.7.0\n\t */\n\tinitialize: function() {},\n\n\t/**\n\t * Called at chart construction time, returns a context2d instance implementing\n\t * the [W3C Canvas 2D Context API standard]{@link https://www.w3.org/TR/2dcontext/}.\n\t * @param {*} item - The native item from which to acquire context (platform specific)\n\t * @param {Object} options - The chart options\n\t * @returns {CanvasRenderingContext2D} context2d instance\n\t */\n\tacquireContext: function() {},\n\n\t/**\n\t * Called at chart destruction time, releases any resources associated to the context\n\t * previously returned by the acquireContext() method.\n\t * @param {CanvasRenderingContext2D} context - The context2d instance\n\t * @returns {Boolean} true if the method succeeded, else false\n\t */\n\treleaseContext: function() {},\n\n\t/**\n\t * Registers the specified listener on the given chart.\n\t * @param {Chart} chart - Chart from which to listen for event\n\t * @param {String} type - The ({@link IEvent}) type to listen for\n\t * @param {Function} listener - Receives a notification (an object that implements\n\t * the {@link IEvent} interface) when an event of the specified type occurs.\n\t */\n\taddEventListener: function() {},\n\n\t/**\n\t * Removes the specified listener previously registered with addEventListener.\n\t * @param {Chart} chart -Chart from which to remove the listener\n\t * @param {String} type - The ({@link IEvent}) type to remove\n\t * @param {Function} listener - The listener function to remove from the event target.\n\t */\n\tremoveEventListener: function() {}\n\n}, implementation);\n\n/**\n * @interface IPlatform\n * Allows abstracting platform dependencies away from the chart\n * @borrows Chart.platform.acquireContext as acquireContext\n * @borrows Chart.platform.releaseContext as releaseContext\n * @borrows Chart.platform.addEventListener as addEventListener\n * @borrows Chart.platform.removeEventListener as removeEventListener\n */\n\n/**\n * @interface IEvent\n * @prop {String} type - The event type name, possible values are:\n * 'contextmenu', 'mouseenter', 'mousedown', 'mousemove', 'mouseup', 'mouseout',\n * 'click', 'dblclick', 'keydown', 'keypress', 'keyup' and 'resize'\n * @prop {*} native - The original native event (null for emulated events, e.g. 'resize')\n * @prop {Number} x - The mouse x position, relative to the canvas (null for incompatible events)\n * @prop {Number} y - The mouse y position, relative to the canvas (null for incompatible events)\n */\n\n},{\"45\":45,\"46\":46,\"47\":47}],49:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {};\nmodule.exports.filler = require(50);\nmodule.exports.legend = require(51);\nmodule.exports.title = require(52);\n\n},{\"50\":50,\"51\":51,\"52\":52}],50:[function(require,module,exports){\n/**\n * Plugin based on discussion from the following Chart.js issues:\n * @see https://github.com/chartjs/Chart.js/issues/2380#issuecomment-279961569\n * @see https://github.com/chartjs/Chart.js/issues/2440#issuecomment-256461897\n */\n\n'use strict';\n\nvar defaults = require(25);\nvar elements = require(40);\nvar helpers = require(45);\n\ndefaults._set('global', {\n\tplugins: {\n\t\tfiller: {\n\t\t\tpropagate: true\n\t\t}\n\t}\n});\n\nvar mappers = {\n\tdataset: function(source) {\n\t\tvar index = source.fill;\n\t\tvar chart = source.chart;\n\t\tvar meta = chart.getDatasetMeta(index);\n\t\tvar visible = meta &amp;&amp; chart.isDatasetVisible(index);\n\t\tvar points = (visible &amp;&amp; meta.dataset._children) || [];\n\t\tvar length = points.length || 0;\n\n\t\treturn !length ? null : function(point, i) {\n\t\t\treturn (i &lt; length &amp;&amp; points[i]._view) || null;\n\t\t};\n\t},\n\n\tboundary: function(source) {\n\t\tvar boundary = source.boundary;\n\t\tvar x = boundary ? boundary.x : null;\n\t\tvar y = boundary ? boundary.y : null;\n\n\t\treturn function(point) {\n\t\t\treturn {\n\t\t\t\tx: x === null ? point.x : x,\n\t\t\t\ty: y === null ? point.y : y,\n\t\t\t};\n\t\t};\n\t}\n};\n\n// @todo if (fill[0] === '#')\nfunction decodeFill(el, index, count) {\n\tvar model = el._model || {};\n\tvar fill = model.fill;\n\tvar target;\n\n\tif (fill === undefined) {\n\t\tfill = !!model.backgroundColor;\n\t}\n\n\tif (fill === false || fill === null) {\n\t\treturn false;\n\t}\n\n\tif (fill === true) {\n\t\treturn 'origin';\n\t}\n\n\ttarget = parseFloat(fill, 10);\n\tif (isFinite(target) &amp;&amp; Math.floor(target) === target) {\n\t\tif (fill[0] === '-' || fill[0] === '+') {\n\t\t\ttarget = index + target;\n\t\t}\n\n\t\tif (target === index || target &lt; 0 || target &gt;= count) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn target;\n\t}\n\n\tswitch (fill) {\n\t// compatibility\n\tcase 'bottom':\n\t\treturn 'start';\n\tcase 'top':\n\t\treturn 'end';\n\tcase 'zero':\n\t\treturn 'origin';\n\t// supported boundaries\n\tcase 'origin':\n\tcase 'start':\n\tcase 'end':\n\t\treturn fill;\n\t// invalid fill values\n\tdefault:\n\t\treturn false;\n\t}\n}\n\nfunction computeBoundary(source) {\n\tvar model = source.el._model || {};\n\tvar scale = source.el._scale || {};\n\tvar fill = source.fill;\n\tvar target = null;\n\tvar horizontal;\n\n\tif (isFinite(fill)) {\n\t\treturn null;\n\t}\n\n\t// Backward compatibility: until v3, we still need to support boundary values set on\n\t// the model (scaleTop, scaleBottom and scaleZero) because some external plugins and\n\t// controllers might still use it (e.g. the Smith chart).\n\n\tif (fill === 'start') {\n\t\ttarget = model.scaleBottom === undefined ? scale.bottom : model.scaleBottom;\n\t} else if (fill === 'end') {\n\t\ttarget = model.scaleTop === undefined ? scale.top : model.scaleTop;\n\t} else if (model.scaleZero !== undefined) {\n\t\ttarget = model.scaleZero;\n\t} else if (scale.getBasePosition) {\n\t\ttarget = scale.getBasePosition();\n\t} else if (scale.getBasePixel) {\n\t\ttarget = scale.getBasePixel();\n\t}\n\n\tif (target !== undefined &amp;&amp; target !== null) {\n\t\tif (target.x !== undefined &amp;&amp; target.y !== undefined) {\n\t\t\treturn target;\n\t\t}\n\n\t\tif (typeof target === 'number' &amp;&amp; isFinite(target)) {\n\t\t\thorizontal = scale.isHorizontal();\n\t\t\treturn {\n\t\t\t\tx: horizontal ? target : null,\n\t\t\t\ty: horizontal ? null : target\n\t\t\t};\n\t\t}\n\t}\n\n\treturn null;\n}\n\nfunction resolveTarget(sources, index, propagate) {\n\tvar source = sources[index];\n\tvar fill = source.fill;\n\tvar visited = [index];\n\tvar target;\n\n\tif (!propagate) {\n\t\treturn fill;\n\t}\n\n\twhile (fill !== false &amp;&amp; visited.indexOf(fill) === -1) {\n\t\tif (!isFinite(fill)) {\n\t\t\treturn fill;\n\t\t}\n\n\t\ttarget = sources[fill];\n\t\tif (!target) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (target.visible) {\n\t\t\treturn fill;\n\t\t}\n\n\t\tvisited.push(fill);\n\t\tfill = target.fill;\n\t}\n\n\treturn false;\n}\n\nfunction createMapper(source) {\n\tvar fill = source.fill;\n\tvar type = 'dataset';\n\n\tif (fill === false) {\n\t\treturn null;\n\t}\n\n\tif (!isFinite(fill)) {\n\t\ttype = 'boundary';\n\t}\n\n\treturn mappers[type](source);\n}\n\nfunction isDrawable(point) {\n\treturn point &amp;&amp; !point.skip;\n}\n\nfunction drawArea(ctx, curve0, curve1, len0, len1) {\n\tvar i;\n\n\tif (!len0 || !len1) {\n\t\treturn;\n\t}\n\n\t// building first area curve (normal)\n\tctx.moveTo(curve0[0].x, curve0[0].y);\n\tfor (i = 1; i &lt; len0; ++i) {\n\t\thelpers.canvas.lineTo(ctx, curve0[i - 1], curve0[i]);\n\t}\n\n\t// joining the two area curves\n\tctx.lineTo(curve1[len1 - 1].x, curve1[len1 - 1].y);\n\n\t// building opposite area curve (reverse)\n\tfor (i = len1 - 1; i &gt; 0; --i) {\n\t\thelpers.canvas.lineTo(ctx, curve1[i], curve1[i - 1], true);\n\t}\n}\n\nfunction doFill(ctx, points, mapper, view, color, loop) {\n\tvar count = points.length;\n\tvar span = view.spanGaps;\n\tvar curve0 = [];\n\tvar curve1 = [];\n\tvar len0 = 0;\n\tvar len1 = 0;\n\tvar i, ilen, index, p0, p1, d0, d1;\n\n\tctx.beginPath();\n\n\tfor (i = 0, ilen = (count + !!loop); i &lt; ilen; ++i) {\n\t\tindex = i % count;\n\t\tp0 = points[index]._view;\n\t\tp1 = mapper(p0, index, view);\n\t\td0 = isDrawable(p0);\n\t\td1 = isDrawable(p1);\n\n\t\tif (d0 &amp;&amp; d1) {\n\t\t\tlen0 = curve0.push(p0);\n\t\t\tlen1 = curve1.push(p1);\n\t\t} else if (len0 &amp;&amp; len1) {\n\t\t\tif (!span) {\n\t\t\t\tdrawArea(ctx, curve0, curve1, len0, len1);\n\t\t\t\tlen0 = len1 = 0;\n\t\t\t\tcurve0 = [];\n\t\t\t\tcurve1 = [];\n\t\t\t} else {\n\t\t\t\tif (d0) {\n\t\t\t\t\tcurve0.push(p0);\n\t\t\t\t}\n\t\t\t\tif (d1) {\n\t\t\t\t\tcurve1.push(p1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tdrawArea(ctx, curve0, curve1, len0, len1);\n\n\tctx.closePath();\n\tctx.fillStyle = color;\n\tctx.fill();\n}\n\nmodule.exports = {\n\tid: 'filler',\n\n\tafterDatasetsUpdate: function(chart, options) {\n\t\tvar count = (chart.data.datasets || []).length;\n\t\tvar propagate = options.propagate;\n\t\tvar sources = [];\n\t\tvar meta, i, el, source;\n\n\t\tfor (i = 0; i &lt; count; ++i) {\n\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\tel = meta.dataset;\n\t\t\tsource = null;\n\n\t\t\tif (el &amp;&amp; el._model &amp;&amp; el instanceof elements.Line) {\n\t\t\t\tsource = {\n\t\t\t\t\tvisible: chart.isDatasetVisible(i),\n\t\t\t\t\tfill: decodeFill(el, i, count),\n\t\t\t\t\tchart: chart,\n\t\t\t\t\tel: el\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tmeta.$filler = source;\n\t\t\tsources.push(source);\n\t\t}\n\n\t\tfor (i = 0; i &lt; count; ++i) {\n\t\t\tsource = sources[i];\n\t\t\tif (!source) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsource.fill = resolveTarget(sources, i, propagate);\n\t\t\tsource.boundary = computeBoundary(source);\n\t\t\tsource.mapper = createMapper(source);\n\t\t}\n\t},\n\n\tbeforeDatasetDraw: function(chart, args) {\n\t\tvar meta = args.meta.$filler;\n\t\tif (!meta) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar ctx = chart.ctx;\n\t\tvar el = meta.el;\n\t\tvar view = el._view;\n\t\tvar points = el._children || [];\n\t\tvar mapper = meta.mapper;\n\t\tvar color = view.backgroundColor || defaults.global.defaultColor;\n\n\t\tif (mapper &amp;&amp; color &amp;&amp; points.length) {\n\t\t\thelpers.canvas.clipArea(ctx, chart.chartArea);\n\t\t\tdoFill(ctx, points, mapper, view, color, el._loop);\n\t\t\thelpers.canvas.unclipArea(ctx);\n\t\t}\n\t}\n};\n\n},{\"25\":25,\"40\":40,\"45\":45}],51:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\nvar layouts = require(30);\n\nvar noop = helpers.noop;\n\ndefaults._set('global', {\n\tlegend: {\n\t\tdisplay: true,\n\t\tposition: 'top',\n\t\tfullWidth: true,\n\t\treverse: false,\n\t\tweight: 1000,\n\n\t\t// a callback that will handle\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.datasetIndex;\n\t\t\tvar ci = this.chart;\n\t\t\tvar meta = ci.getDatasetMeta(index);\n\n\t\t\t// See controller.isDatasetVisible comment\n\t\t\tmeta.hidden = meta.hidden === null ? !ci.data.datasets[index].hidden : null;\n\n\t\t\t// We hid a dataset ... rerender the chart\n\t\t\tci.update();\n\t\t},\n\n\t\tonHover: null,\n\n\t\tlabels: {\n\t\t\tboxWidth: 40,\n\t\t\tpadding: 10,\n\t\t\t// Generates labels shown in the legend\n\t\t\t// Valid properties to return:\n\t\t\t// text : text to display\n\t\t\t// fillStyle : fill of coloured box\n\t\t\t// strokeStyle: stroke of coloured box\n\t\t\t// hidden : if this legend item refers to a hidden item\n\t\t\t// lineCap : cap style for line\n\t\t\t// lineDash\n\t\t\t// lineDashOffset :\n\t\t\t// lineJoin :\n\t\t\t// lineWidth :\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\treturn helpers.isArray(data.datasets) ? data.datasets.map(function(dataset, i) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttext: dataset.label,\n\t\t\t\t\t\tfillStyle: (!helpers.isArray(dataset.backgroundColor) ? dataset.backgroundColor : dataset.backgroundColor[0]),\n\t\t\t\t\t\thidden: !chart.isDatasetVisible(i),\n\t\t\t\t\t\tlineCap: dataset.borderCapStyle,\n\t\t\t\t\t\tlineDash: dataset.borderDash,\n\t\t\t\t\t\tlineDashOffset: dataset.borderDashOffset,\n\t\t\t\t\t\tlineJoin: dataset.borderJoinStyle,\n\t\t\t\t\t\tlineWidth: dataset.borderWidth,\n\t\t\t\t\t\tstrokeStyle: dataset.borderColor,\n\t\t\t\t\t\tpointStyle: dataset.pointStyle,\n\n\t\t\t\t\t\t// Below is extra data used for toggling the datasets\n\t\t\t\t\t\tdatasetIndex: i\n\t\t\t\t\t};\n\t\t\t\t}, this) : [];\n\t\t\t}\n\t\t}\n\t},\n\n\tlegendCallback: function(chart) {\n\t\tvar text = [];\n\t\ttext.push('&lt;ul class=\"' + chart.id + '-legend\"&gt;');\n\t\tfor (var i = 0; i &lt; chart.data.datasets.length; i++) {\n\t\t\ttext.push('&lt;li&gt;&lt;span style=\"background-color:' + chart.data.datasets[i].backgroundColor + '\"&gt;&lt;/span&gt;');\n\t\t\tif (chart.data.datasets[i].label) {\n\t\t\t\ttext.push(chart.data.datasets[i].label);\n\t\t\t}\n\t\t\ttext.push('&lt;/li&gt;');\n\t\t}\n\t\ttext.push('&lt;/ul&gt;');\n\t\treturn text.join('');\n\t}\n});\n\n/**\n * Helper function to get the box width based on the usePointStyle option\n * @param labelopts {Object} the label options on the legend\n * @param fontSize {Number} the label font size\n * @return {Number} width of the color box area\n */\nfunction getBoxWidth(labelOpts, fontSize) {\n\treturn labelOpts.usePointStyle ?\n\t\tfontSize * Math.SQRT2 :\n\t\tlabelOpts.boxWidth;\n}\n\n/**\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\n */\nvar Legend = Element.extend({\n\n\tinitialize: function(config) {\n\t\thelpers.extend(this, config);\n\n\t\t// Contains hit boxes for each dataset (in dataset order)\n\t\tthis.legendHitBoxes = [];\n\n\t\t// Are we in doughnut mode which has a different data type\n\t\tthis.doughnutMode = false;\n\t},\n\n\t// These methods are ordered by lifecycle. Utilities then follow.\n\t// Any function defined here is inherited by all legend types.\n\t// Any function can be extended by the legend type\n\n\tbeforeUpdate: noop,\n\tupdate: function(maxWidth, maxHeight, margins) {\n\t\tvar me = this;\n\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\tme.beforeUpdate();\n\n\t\t// Absorb the master measurements\n\t\tme.maxWidth = maxWidth;\n\t\tme.maxHeight = maxHeight;\n\t\tme.margins = margins;\n\n\t\t// Dimensions\n\t\tme.beforeSetDimensions();\n\t\tme.setDimensions();\n\t\tme.afterSetDimensions();\n\t\t// Labels\n\t\tme.beforeBuildLabels();\n\t\tme.buildLabels();\n\t\tme.afterBuildLabels();\n\n\t\t// Fit\n\t\tme.beforeFit();\n\t\tme.fit();\n\t\tme.afterFit();\n\t\t//\n\t\tme.afterUpdate();\n\n\t\treturn me.minSize;\n\t},\n\tafterUpdate: noop,\n\n\t//\n\n\tbeforeSetDimensions: noop,\n\tsetDimensions: function() {\n\t\tvar me = this;\n\t\t// Set the unconstrained dimension before label rotation\n\t\tif (me.isHorizontal()) {\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.left = 0;\n\t\t\tme.right = me.width;\n\t\t} else {\n\t\t\tme.height = me.maxHeight;\n\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.top = 0;\n\t\t\tme.bottom = me.height;\n\t\t}\n\n\t\t// Reset padding\n\t\tme.paddingLeft = 0;\n\t\tme.paddingTop = 0;\n\t\tme.paddingRight = 0;\n\t\tme.paddingBottom = 0;\n\n\t\t// Reset minSize\n\t\tme.minSize = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t};\n\t},\n\tafterSetDimensions: noop,\n\n\t//\n\n\tbeforeBuildLabels: noop,\n\tbuildLabels: function() {\n\t\tvar me = this;\n\t\tvar labelOpts = me.options.labels || {};\n\t\tvar legendItems = helpers.callback(labelOpts.generateLabels, [me.chart], me) || [];\n\n\t\tif (labelOpts.filter) {\n\t\t\tlegendItems = legendItems.filter(function(item) {\n\t\t\t\treturn labelOpts.filter(item, me.chart.data);\n\t\t\t});\n\t\t}\n\n\t\tif (me.options.reverse) {\n\t\t\tlegendItems.reverse();\n\t\t}\n\n\t\tme.legendItems = legendItems;\n\t},\n\tafterBuildLabels: noop,\n\n\t//\n\n\tbeforeFit: noop,\n\tfit: function() {\n\t\tvar me = this;\n\t\tvar opts = me.options;\n\t\tvar labelOpts = opts.labels;\n\t\tvar display = opts.display;\n\n\t\tvar ctx = me.ctx;\n\n\t\tvar globalDefault = defaults.global;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize);\n\t\tvar fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle);\n\t\tvar fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily);\n\t\tvar labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\t// Reset hit boxes\n\t\tvar hitboxes = me.legendHitBoxes = [];\n\n\t\tvar minSize = me.minSize;\n\t\tvar isHorizontal = me.isHorizontal();\n\n\t\tif (isHorizontal) {\n\t\t\tminSize.width = me.maxWidth; // fill all the width\n\t\t\tminSize.height = display ? 10 : 0;\n\t\t} else {\n\t\t\tminSize.width = display ? 10 : 0;\n\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t}\n\n\t\t// Increase sizes here\n\t\tif (display) {\n\t\t\tctx.font = labelFont;\n\n\t\t\tif (isHorizontal) {\n\t\t\t\t// Labels\n\n\t\t\t\t// Width of each line of legend boxes. Labels wrap onto multiple lines when there are too many to fit on one\n\t\t\t\tvar lineWidths = me.lineWidths = [0];\n\t\t\t\tvar totalHeight = me.legendItems.length ? fontSize + (labelOpts.padding) : 0;\n\n\t\t\t\tctx.textAlign = 'left';\n\t\t\t\tctx.textBaseline = 'top';\n\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\t\t\tvar width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n\t\t\t\t\tif (lineWidths[lineWidths.length - 1] + width + labelOpts.padding &gt;= me.width) {\n\t\t\t\t\t\ttotalHeight += fontSize + (labelOpts.padding);\n\t\t\t\t\t\tlineWidths[lineWidths.length] = me.left;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\n\t\t\t\t\thitboxes[i] = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\theight: fontSize\n\t\t\t\t\t};\n\n\t\t\t\t\tlineWidths[lineWidths.length - 1] += width + labelOpts.padding;\n\t\t\t\t});\n\n\t\t\t\tminSize.height += totalHeight;\n\n\t\t\t} else {\n\t\t\t\tvar vPadding = labelOpts.padding;\n\t\t\t\tvar columnWidths = me.columnWidths = [];\n\t\t\t\tvar totalWidth = labelOpts.padding;\n\t\t\t\tvar currentColWidth = 0;\n\t\t\t\tvar currentColHeight = 0;\n\t\t\t\tvar itemHeight = fontSize + vPadding;\n\n\t\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\t\t\tvar itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n\n\t\t\t\t\t// If too tall, go to new column\n\t\t\t\t\tif (currentColHeight + itemHeight &gt; minSize.height) {\n\t\t\t\t\t\ttotalWidth += currentColWidth + labelOpts.padding;\n\t\t\t\t\t\tcolumnWidths.push(currentColWidth); // previous column width\n\n\t\t\t\t\t\tcurrentColWidth = 0;\n\t\t\t\t\t\tcurrentColHeight = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get max width\n\t\t\t\t\tcurrentColWidth = Math.max(currentColWidth, itemWidth);\n\t\t\t\t\tcurrentColHeight += itemHeight;\n\n\t\t\t\t\t// Store the hitbox width and height here. Final position will be updated in `draw`\n\t\t\t\t\thitboxes[i] = {\n\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\twidth: itemWidth,\n\t\t\t\t\t\theight: fontSize\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\ttotalWidth += currentColWidth;\n\t\t\t\tcolumnWidths.push(currentColWidth);\n\t\t\t\tminSize.width += totalWidth;\n\t\t\t}\n\t\t}\n\n\t\tme.width = minSize.width;\n\t\tme.height = minSize.height;\n\t},\n\tafterFit: noop,\n\n\t// Shared Methods\n\tisHorizontal: function() {\n\t\treturn this.options.position === 'top' || this.options.position === 'bottom';\n\t},\n\n\t// Actually draw the legend on the canvas\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar opts = me.options;\n\t\tvar labelOpts = opts.labels;\n\t\tvar globalDefault = defaults.global;\n\t\tvar lineDefault = globalDefault.elements.line;\n\t\tvar legendWidth = me.width;\n\t\tvar lineWidths = me.lineWidths;\n\n\t\tif (opts.display) {\n\t\t\tvar ctx = me.ctx;\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\t\tvar fontColor = valueOrDefault(labelOpts.fontColor, globalDefault.defaultFontColor);\n\t\t\tvar fontSize = valueOrDefault(labelOpts.fontSize, globalDefault.defaultFontSize);\n\t\t\tvar fontStyle = valueOrDefault(labelOpts.fontStyle, globalDefault.defaultFontStyle);\n\t\t\tvar fontFamily = valueOrDefault(labelOpts.fontFamily, globalDefault.defaultFontFamily);\n\t\t\tvar labelFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\t\t\tvar cursor;\n\n\t\t\t// Canvas setup\n\t\t\tctx.textAlign = 'left';\n\t\t\tctx.textBaseline = 'middle';\n\t\t\tctx.lineWidth = 0.5;\n\t\t\tctx.strokeStyle = fontColor; // for strikethrough effect\n\t\t\tctx.fillStyle = fontColor; // render in correct colour\n\t\t\tctx.font = labelFont;\n\n\t\t\tvar boxWidth = getBoxWidth(labelOpts, fontSize);\n\t\t\tvar hitboxes = me.legendHitBoxes;\n\n\t\t\t// current position\n\t\t\tvar drawLegendBox = function(x, y, legendItem) {\n\t\t\t\tif (isNaN(boxWidth) || boxWidth &lt;= 0) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Set the ctx for the box\n\t\t\t\tctx.save();\n\n\t\t\t\tctx.fillStyle = valueOrDefault(legendItem.fillStyle, globalDefault.defaultColor);\n\t\t\t\tctx.lineCap = valueOrDefault(legendItem.lineCap, lineDefault.borderCapStyle);\n\t\t\t\tctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, lineDefault.borderDashOffset);\n\t\t\t\tctx.lineJoin = valueOrDefault(legendItem.lineJoin, lineDefault.borderJoinStyle);\n\t\t\t\tctx.lineWidth = valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth);\n\t\t\t\tctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, globalDefault.defaultColor);\n\t\t\t\tvar isLineWidthZero = (valueOrDefault(legendItem.lineWidth, lineDefault.borderWidth) === 0);\n\n\t\t\t\tif (ctx.setLineDash) {\n\t\t\t\t\t// IE 9 and 10 do not support line dash\n\t\t\t\t\tctx.setLineDash(valueOrDefault(legendItem.lineDash, lineDefault.borderDash));\n\t\t\t\t}\n\n\t\t\t\tif (opts.labels &amp;&amp; opts.labels.usePointStyle) {\n\t\t\t\t\t// Recalculate x and y for drawPoint() because its expecting\n\t\t\t\t\t// x and y to be center of figure (instead of top left)\n\t\t\t\t\tvar radius = fontSize * Math.SQRT2 / 2;\n\t\t\t\t\tvar offSet = radius / Math.SQRT2;\n\t\t\t\t\tvar centerX = x + offSet;\n\t\t\t\t\tvar centerY = y + offSet;\n\n\t\t\t\t\t// Draw pointStyle as legend symbol\n\t\t\t\t\thelpers.canvas.drawPoint(ctx, legendItem.pointStyle, radius, centerX, centerY);\n\t\t\t\t} else {\n\t\t\t\t\t// Draw box as legend symbol\n\t\t\t\t\tif (!isLineWidthZero) {\n\t\t\t\t\t\tctx.strokeRect(x, y, boxWidth, fontSize);\n\t\t\t\t\t}\n\t\t\t\t\tctx.fillRect(x, y, boxWidth, fontSize);\n\t\t\t\t}\n\n\t\t\t\tctx.restore();\n\t\t\t};\n\t\t\tvar fillText = function(x, y, legendItem, textWidth) {\n\t\t\t\tvar halfFontSize = fontSize / 2;\n\t\t\t\tvar xLeft = boxWidth + halfFontSize + x;\n\t\t\t\tvar yMiddle = y + halfFontSize;\n\n\t\t\t\tctx.fillText(legendItem.text, xLeft, yMiddle);\n\n\t\t\t\tif (legendItem.hidden) {\n\t\t\t\t\t// Strikethrough the text if hidden\n\t\t\t\t\tctx.beginPath();\n\t\t\t\t\tctx.lineWidth = 2;\n\t\t\t\t\tctx.moveTo(xLeft, yMiddle);\n\t\t\t\t\tctx.lineTo(xLeft + textWidth, yMiddle);\n\t\t\t\t\tctx.stroke();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// Horizontal\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tif (isHorizontal) {\n\t\t\t\tcursor = {\n\t\t\t\t\tx: me.left + ((legendWidth - lineWidths[0]) / 2),\n\t\t\t\t\ty: me.top + labelOpts.padding,\n\t\t\t\t\tline: 0\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tcursor = {\n\t\t\t\t\tx: me.left + labelOpts.padding,\n\t\t\t\t\ty: me.top + labelOpts.padding,\n\t\t\t\t\tline: 0\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar itemHeight = fontSize + labelOpts.padding;\n\t\t\thelpers.each(me.legendItems, function(legendItem, i) {\n\t\t\t\tvar textWidth = ctx.measureText(legendItem.text).width;\n\t\t\t\tvar width = boxWidth + (fontSize / 2) + textWidth;\n\t\t\t\tvar x = cursor.x;\n\t\t\t\tvar y = cursor.y;\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tif (x + width &gt;= legendWidth) {\n\t\t\t\t\t\ty = cursor.y += itemHeight;\n\t\t\t\t\t\tcursor.line++;\n\t\t\t\t\t\tx = cursor.x = me.left + ((legendWidth - lineWidths[cursor.line]) / 2);\n\t\t\t\t\t}\n\t\t\t\t} else if (y + itemHeight &gt; me.bottom) {\n\t\t\t\t\tx = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding;\n\t\t\t\t\ty = cursor.y = me.top + labelOpts.padding;\n\t\t\t\t\tcursor.line++;\n\t\t\t\t}\n\n\t\t\t\tdrawLegendBox(x, y, legendItem);\n\n\t\t\t\thitboxes[i].left = x;\n\t\t\t\thitboxes[i].top = y;\n\n\t\t\t\t// Fill the actual label\n\t\t\t\tfillText(x, y, legendItem, textWidth);\n\n\t\t\t\tif (isHorizontal) {\n\t\t\t\t\tcursor.x += width + (labelOpts.padding);\n\t\t\t\t} else {\n\t\t\t\t\tcursor.y += itemHeight;\n\t\t\t\t}\n\n\t\t\t});\n\t\t}\n\t},\n\n\t/**\n\t * Handle an event\n\t * @private\n\t * @param {IEvent} event - The event to handle\n\t * @return {Boolean} true if a change occured\n\t */\n\thandleEvent: function(e) {\n\t\tvar me = this;\n\t\tvar opts = me.options;\n\t\tvar type = e.type === 'mouseup' ? 'click' : e.type;\n\t\tvar changed = false;\n\n\t\tif (type === 'mousemove') {\n\t\t\tif (!opts.onHover) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (type === 'click') {\n\t\t\tif (!opts.onClick) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\treturn;\n\t\t}\n\n\t\t// Chart event already has relative position in it\n\t\tvar x = e.x;\n\t\tvar y = e.y;\n\n\t\tif (x &gt;= me.left &amp;&amp; x &lt;= me.right &amp;&amp; y &gt;= me.top &amp;&amp; y &lt;= me.bottom) {\n\t\t\t// See if we are touching one of the dataset boxes\n\t\t\tvar lh = me.legendHitBoxes;\n\t\t\tfor (var i = 0; i &lt; lh.length; ++i) {\n\t\t\t\tvar hitBox = lh[i];\n\n\t\t\t\tif (x &gt;= hitBox.left &amp;&amp; x &lt;= hitBox.left + hitBox.width &amp;&amp; y &gt;= hitBox.top &amp;&amp; y &lt;= hitBox.top + hitBox.height) {\n\t\t\t\t\t// Touching an element\n\t\t\t\t\tif (type === 'click') {\n\t\t\t\t\t\t// use e.native for backwards compatibility\n\t\t\t\t\t\topts.onClick.call(me, e.native, me.legendItems[i]);\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (type === 'mousemove') {\n\t\t\t\t\t\t// use e.native for backwards compatibility\n\t\t\t\t\t\topts.onHover.call(me, e.native, me.legendItems[i]);\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn changed;\n\t}\n});\n\nfunction createNewLegendAndAttach(chart, legendOpts) {\n\tvar legend = new Legend({\n\t\tctx: chart.ctx,\n\t\toptions: legendOpts,\n\t\tchart: chart\n\t});\n\n\tlayouts.configure(chart, legend, legendOpts);\n\tlayouts.addBox(chart, legend);\n\tchart.legend = legend;\n}\n\nmodule.exports = {\n\tid: 'legend',\n\n\t/**\n\t * Backward compatibility: since 2.1.5, the legend is registered as a plugin, making\n\t * Chart.Legend obsolete. To avoid a breaking change, we export the Legend as part of\n\t * the plugin, which one will be re-exposed in the chart.js file.\n\t * https://github.com/chartjs/Chart.js/pull/2640\n\t * @private\n\t */\n\t_element: Legend,\n\n\tbeforeInit: function(chart) {\n\t\tvar legendOpts = chart.options.legend;\n\n\t\tif (legendOpts) {\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t}\n\t},\n\n\tbeforeUpdate: function(chart) {\n\t\tvar legendOpts = chart.options.legend;\n\t\tvar legend = chart.legend;\n\n\t\tif (legendOpts) {\n\t\t\thelpers.mergeIf(legendOpts, defaults.global.legend);\n\n\t\t\tif (legend) {\n\t\t\t\tlayouts.configure(chart, legend, legendOpts);\n\t\t\t\tlegend.options = legendOpts;\n\t\t\t} else {\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t\t}\n\t\t} else if (legend) {\n\t\t\tlayouts.removeBox(chart, legend);\n\t\t\tdelete chart.legend;\n\t\t}\n\t},\n\n\tafterEvent: function(chart, e) {\n\t\tvar legend = chart.legend;\n\t\tif (legend) {\n\t\t\tlegend.handleEvent(e);\n\t\t}\n\t}\n};\n\n},{\"25\":25,\"26\":26,\"30\":30,\"45\":45}],52:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar Element = require(26);\nvar helpers = require(45);\nvar layouts = require(30);\n\nvar noop = helpers.noop;\n\ndefaults._set('global', {\n\ttitle: {\n\t\tdisplay: false,\n\t\tfontStyle: 'bold',\n\t\tfullWidth: true,\n\t\tlineHeight: 1.2,\n\t\tpadding: 10,\n\t\tposition: 'top',\n\t\ttext: '',\n\t\tweight: 2000         // by default greater than legend (1000) to be above\n\t}\n});\n\n/**\n * IMPORTANT: this class is exposed publicly as Chart.Legend, backward compatibility required!\n */\nvar Title = Element.extend({\n\tinitialize: function(config) {\n\t\tvar me = this;\n\t\thelpers.extend(me, config);\n\n\t\t// Contains hit boxes for each dataset (in dataset order)\n\t\tme.legendHitBoxes = [];\n\t},\n\n\t// These methods are ordered by lifecycle. Utilities then follow.\n\n\tbeforeUpdate: noop,\n\tupdate: function(maxWidth, maxHeight, margins) {\n\t\tvar me = this;\n\n\t\t// Update Lifecycle - Probably don't want to ever extend or overwrite this function ;)\n\t\tme.beforeUpdate();\n\n\t\t// Absorb the master measurements\n\t\tme.maxWidth = maxWidth;\n\t\tme.maxHeight = maxHeight;\n\t\tme.margins = margins;\n\n\t\t// Dimensions\n\t\tme.beforeSetDimensions();\n\t\tme.setDimensions();\n\t\tme.afterSetDimensions();\n\t\t// Labels\n\t\tme.beforeBuildLabels();\n\t\tme.buildLabels();\n\t\tme.afterBuildLabels();\n\n\t\t// Fit\n\t\tme.beforeFit();\n\t\tme.fit();\n\t\tme.afterFit();\n\t\t//\n\t\tme.afterUpdate();\n\n\t\treturn me.minSize;\n\n\t},\n\tafterUpdate: noop,\n\n\t//\n\n\tbeforeSetDimensions: noop,\n\tsetDimensions: function() {\n\t\tvar me = this;\n\t\t// Set the unconstrained dimension before label rotation\n\t\tif (me.isHorizontal()) {\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.left = 0;\n\t\t\tme.right = me.width;\n\t\t} else {\n\t\t\tme.height = me.maxHeight;\n\n\t\t\t// Reset position before calculating rotation\n\t\t\tme.top = 0;\n\t\t\tme.bottom = me.height;\n\t\t}\n\n\t\t// Reset padding\n\t\tme.paddingLeft = 0;\n\t\tme.paddingTop = 0;\n\t\tme.paddingRight = 0;\n\t\tme.paddingBottom = 0;\n\n\t\t// Reset minSize\n\t\tme.minSize = {\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t};\n\t},\n\tafterSetDimensions: noop,\n\n\t//\n\n\tbeforeBuildLabels: noop,\n\tbuildLabels: noop,\n\tafterBuildLabels: noop,\n\n\t//\n\n\tbeforeFit: noop,\n\tfit: function() {\n\t\tvar me = this;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar opts = me.options;\n\t\tvar display = opts.display;\n\t\tvar fontSize = valueOrDefault(opts.fontSize, defaults.global.defaultFontSize);\n\t\tvar minSize = me.minSize;\n\t\tvar lineCount = helpers.isArray(opts.text) ? opts.text.length : 1;\n\t\tvar lineHeight = helpers.options.toLineHeight(opts.lineHeight, fontSize);\n\t\tvar textSize = display ? (lineCount * lineHeight) + (opts.padding * 2) : 0;\n\n\t\tif (me.isHorizontal()) {\n\t\t\tminSize.width = me.maxWidth; // fill all the width\n\t\t\tminSize.height = textSize;\n\t\t} else {\n\t\t\tminSize.width = textSize;\n\t\t\tminSize.height = me.maxHeight; // fill all the height\n\t\t}\n\n\t\tme.width = minSize.width;\n\t\tme.height = minSize.height;\n\n\t},\n\tafterFit: noop,\n\n\t// Shared Methods\n\tisHorizontal: function() {\n\t\tvar pos = this.options.position;\n\t\treturn pos === 'top' || pos === 'bottom';\n\t},\n\n\t// Actually draw the title block on the canvas\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar ctx = me.ctx;\n\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\tvar opts = me.options;\n\t\tvar globalDefaults = defaults.global;\n\n\t\tif (opts.display) {\n\t\t\tvar fontSize = valueOrDefault(opts.fontSize, globalDefaults.defaultFontSize);\n\t\t\tvar fontStyle = valueOrDefault(opts.fontStyle, globalDefaults.defaultFontStyle);\n\t\t\tvar fontFamily = valueOrDefault(opts.fontFamily, globalDefaults.defaultFontFamily);\n\t\t\tvar titleFont = helpers.fontString(fontSize, fontStyle, fontFamily);\n\t\t\tvar lineHeight = helpers.options.toLineHeight(opts.lineHeight, fontSize);\n\t\t\tvar offset = lineHeight / 2 + opts.padding;\n\t\t\tvar rotation = 0;\n\t\t\tvar top = me.top;\n\t\t\tvar left = me.left;\n\t\t\tvar bottom = me.bottom;\n\t\t\tvar right = me.right;\n\t\t\tvar maxWidth, titleX, titleY;\n\n\t\t\tctx.fillStyle = valueOrDefault(opts.fontColor, globalDefaults.defaultFontColor); // render in correct colour\n\t\t\tctx.font = titleFont;\n\n\t\t\t// Horizontal\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\ttitleX = left + ((right - left) / 2); // midpoint of the width\n\t\t\t\ttitleY = top + offset;\n\t\t\t\tmaxWidth = right - left;\n\t\t\t} else {\n\t\t\t\ttitleX = opts.position === 'left' ? left + offset : right - offset;\n\t\t\t\ttitleY = top + ((bottom - top) / 2);\n\t\t\t\tmaxWidth = bottom - top;\n\t\t\t\trotation = Math.PI * (opts.position === 'left' ? -0.5 : 0.5);\n\t\t\t}\n\n\t\t\tctx.save();\n\t\t\tctx.translate(titleX, titleY);\n\t\t\tctx.rotate(rotation);\n\t\t\tctx.textAlign = 'center';\n\t\t\tctx.textBaseline = 'middle';\n\n\t\t\tvar text = opts.text;\n\t\t\tif (helpers.isArray(text)) {\n\t\t\t\tvar y = 0;\n\t\t\t\tfor (var i = 0; i &lt; text.length; ++i) {\n\t\t\t\t\tctx.fillText(text[i], 0, y, maxWidth);\n\t\t\t\t\ty += lineHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tctx.fillText(text, 0, 0, maxWidth);\n\t\t\t}\n\n\t\t\tctx.restore();\n\t\t}\n\t}\n});\n\nfunction createNewTitleBlockAndAttach(chart, titleOpts) {\n\tvar title = new Title({\n\t\tctx: chart.ctx,\n\t\toptions: titleOpts,\n\t\tchart: chart\n\t});\n\n\tlayouts.configure(chart, title, titleOpts);\n\tlayouts.addBox(chart, title);\n\tchart.titleBlock = title;\n}\n\nmodule.exports = {\n\tid: 'title',\n\n\t/**\n\t * Backward compatibility: since 2.1.5, the title is registered as a plugin, making\n\t * Chart.Title obsolete. To avoid a breaking change, we export the Title as part of\n\t * the plugin, which one will be re-exposed in the chart.js file.\n\t * https://github.com/chartjs/Chart.js/pull/2640\n\t * @private\n\t */\n\t_element: Title,\n\n\tbeforeInit: function(chart) {\n\t\tvar titleOpts = chart.options.title;\n\n\t\tif (titleOpts) {\n\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\n\t\t}\n\t},\n\n\tbeforeUpdate: function(chart) {\n\t\tvar titleOpts = chart.options.title;\n\t\tvar titleBlock = chart.titleBlock;\n\n\t\tif (titleOpts) {\n\t\t\thelpers.mergeIf(titleOpts, defaults.global.title);\n\n\t\t\tif (titleBlock) {\n\t\t\t\tlayouts.configure(chart, titleBlock, titleOpts);\n\t\t\t\ttitleBlock.options = titleOpts;\n\t\t\t} else {\n\t\t\t\tcreateNewTitleBlockAndAttach(chart, titleOpts);\n\t\t\t}\n\t\t} else if (titleBlock) {\n\t\t\tlayouts.removeBox(chart, titleBlock);\n\t\t\tdelete chart.titleBlock;\n\t\t}\n\t}\n};\n\n},{\"25\":25,\"26\":26,\"30\":30,\"45\":45}],53:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function(Chart) {\n\n\t// Default config for a category scale\n\tvar defaultConfig = {\n\t\tposition: 'bottom'\n\t};\n\n\tvar DatasetScale = Chart.Scale.extend({\n\t\t/**\n\t\t* Internal function to get the correct labels. If data.xLabels or data.yLabels are defined, use those\n\t\t* else fall back to data.labels\n\t\t* @private\n\t\t*/\n\t\tgetLabels: function() {\n\t\t\tvar data = this.chart.data;\n\t\t\treturn this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels;\n\t\t},\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar labels = me.getLabels();\n\t\t\tme.minIndex = 0;\n\t\t\tme.maxIndex = labels.length - 1;\n\t\t\tvar findIndex;\n\n\t\t\tif (me.options.ticks.min !== undefined) {\n\t\t\t\t// user specified min value\n\t\t\t\tfindIndex = labels.indexOf(me.options.ticks.min);\n\t\t\t\tme.minIndex = findIndex !== -1 ? findIndex : me.minIndex;\n\t\t\t}\n\n\t\t\tif (me.options.ticks.max !== undefined) {\n\t\t\t\t// user specified max value\n\t\t\t\tfindIndex = labels.indexOf(me.options.ticks.max);\n\t\t\t\tme.maxIndex = findIndex !== -1 ? findIndex : me.maxIndex;\n\t\t\t}\n\n\t\t\tme.min = labels[me.minIndex];\n\t\t\tme.max = labels[me.maxIndex];\n\t\t},\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar labels = me.getLabels();\n\t\t\t// If we are viewing some subset of labels, slice the original array\n\t\t\tme.ticks = (me.minIndex === 0 &amp;&amp; me.maxIndex === labels.length - 1) ? labels : labels.slice(me.minIndex, me.maxIndex + 1);\n\t\t},\n\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar data = me.chart.data;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\n\t\t\tif (data.yLabels &amp;&amp; !isHorizontal) {\n\t\t\t\treturn me.getRightValue(data.datasets[datasetIndex].data[index]);\n\t\t\t}\n\t\t\treturn me.ticks[index - me.minIndex];\n\t\t},\n\n\t\t// Used to get data value locations.  Value can either be an index or a numerical value\n\t\tgetPixelForValue: function(value, index) {\n\t\t\tvar me = this;\n\t\t\tvar offset = me.options.offset;\n\t\t\t// 1 is added because we need the length but we have the indexes\n\t\t\tvar offsetAmt = Math.max((me.maxIndex + 1 - me.minIndex - (offset ? 0 : 1)), 1);\n\n\t\t\t// If value is a data object, then index is the index in the data array,\n\t\t\t// not the index of the scale. We need to change that.\n\t\t\tvar valueCategory;\n\t\t\tif (value !== undefined &amp;&amp; value !== null) {\n\t\t\t\tvalueCategory = me.isHorizontal() ? value.x : value.y;\n\t\t\t}\n\t\t\tif (valueCategory !== undefined || (value !== undefined &amp;&amp; isNaN(index))) {\n\t\t\t\tvar labels = me.getLabels();\n\t\t\t\tvalue = valueCategory || value;\n\t\t\t\tvar idx = labels.indexOf(value);\n\t\t\t\tindex = idx !== -1 ? idx : index;\n\t\t\t}\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tvar valueWidth = me.width / offsetAmt;\n\t\t\t\tvar widthOffset = (valueWidth * (index - me.minIndex));\n\n\t\t\t\tif (offset) {\n\t\t\t\t\twidthOffset += (valueWidth / 2);\n\t\t\t\t}\n\n\t\t\t\treturn me.left + Math.round(widthOffset);\n\t\t\t}\n\t\t\tvar valueHeight = me.height / offsetAmt;\n\t\t\tvar heightOffset = (valueHeight * (index - me.minIndex));\n\n\t\t\tif (offset) {\n\t\t\t\theightOffset += (valueHeight / 2);\n\t\t\t}\n\n\t\t\treturn me.top + Math.round(heightOffset);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.ticks[index], index + this.minIndex, null);\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar offset = me.options.offset;\n\t\t\tvar value;\n\t\t\tvar offsetAmt = Math.max((me._ticks.length - (offset ? 0 : 1)), 1);\n\t\t\tvar horz = me.isHorizontal();\n\t\t\tvar valueDimension = (horz ? me.width : me.height) / offsetAmt;\n\n\t\t\tpixel -= horz ? me.left : me.top;\n\n\t\t\tif (offset) {\n\t\t\t\tpixel -= (valueDimension / 2);\n\t\t\t}\n\n\t\t\tif (pixel &lt;= 0) {\n\t\t\t\tvalue = 0;\n\t\t\t} else {\n\t\t\t\tvalue = Math.round(pixel / valueDimension);\n\t\t\t}\n\n\t\t\treturn value + me.minIndex;\n\t\t},\n\t\tgetBasePixel: function() {\n\t\t\treturn this.bottom;\n\t\t}\n\t});\n\n\tChart.scaleService.registerScaleType('category', DatasetScale, defaultConfig);\n\n};\n\n},{}],54:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar helpers = require(45);\nvar Ticks = require(34);\n\nmodule.exports = function(Chart) {\n\n\tvar defaultConfig = {\n\t\tposition: 'left',\n\t\tticks: {\n\t\t\tcallback: Ticks.formatters.linear\n\t\t}\n\t};\n\n\tvar LinearScale = Chart.LinearScaleBase.extend({\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar chart = me.chart;\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar DEFAULT_MIN = 0;\n\t\t\tvar DEFAULT_MAX = 1;\n\n\t\t\tfunction IDMatches(meta) {\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\n\t\t\t}\n\n\t\t\t// First Calculate the range\n\t\t\tme.min = null;\n\t\t\tme.max = null;\n\n\t\t\tvar hasStacks = opts.stacked;\n\t\t\tif (hasStacks === undefined) {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tif (hasStacks) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) &amp;&amp; IDMatches(meta) &amp;&amp;\n\t\t\t\t\t\tmeta.stack !== undefined) {\n\t\t\t\t\t\thasStacks = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (opts.stacked || hasStacks) {\n\t\t\t\tvar valuesPerStack = {};\n\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tvar key = [\n\t\t\t\t\t\tmeta.type,\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\n\t\t\t\t\t\t((opts.stacked === undefined &amp;&amp; meta.stack === undefined) ? datasetIndex : ''),\n\t\t\t\t\t\tmeta.stack\n\t\t\t\t\t].join('.');\n\n\t\t\t\t\tif (valuesPerStack[key] === undefined) {\n\t\t\t\t\t\tvaluesPerStack[key] = {\n\t\t\t\t\t\t\tpositiveValues: [],\n\t\t\t\t\t\t\tnegativeValues: []\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Store these per type\n\t\t\t\t\tvar positiveValues = valuesPerStack[key].positiveValues;\n\t\t\t\t\tvar negativeValues = valuesPerStack[key].negativeValues;\n\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) &amp;&amp; IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpositiveValues[index] = positiveValues[index] || 0;\n\t\t\t\t\t\t\tnegativeValues[index] = negativeValues[index] || 0;\n\n\t\t\t\t\t\t\tif (opts.relativePoints) {\n\t\t\t\t\t\t\t\tpositiveValues[index] = 100;\n\t\t\t\t\t\t\t} else if (value &lt; 0) {\n\t\t\t\t\t\t\t\tnegativeValues[index] += value;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tpositiveValues[index] += value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\n\t\t\t\t\tvar values = valuesForType.positiveValues.concat(valuesForType.negativeValues);\n\t\t\t\t\tvar minVal = helpers.min(values);\n\t\t\t\t\tvar maxVal = helpers.max(values);\n\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\n\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) &amp;&amp; IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.min === null) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t} else if (value &lt; me.min) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.max === null) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t} else if (value &gt; me.max) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tme.min = isFinite(me.min) &amp;&amp; !isNaN(me.min) ? me.min : DEFAULT_MIN;\n\t\t\tme.max = isFinite(me.max) &amp;&amp; !isNaN(me.max) ? me.max : DEFAULT_MAX;\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\n\t\t\tthis.handleTickRangeOptions();\n\t\t},\n\t\tgetTickLimit: function() {\n\t\t\tvar maxTicks;\n\t\t\tvar me = this;\n\t\t\tvar tickOpts = me.options.ticks;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.width / 50));\n\t\t\t} else {\n\t\t\t\t// The factor of 2 used to scale the font size has been experimentally determined.\n\t\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, defaults.global.defaultFontSize);\n\t\t\t\tmaxTicks = Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(me.height / (2 * tickFontSize)));\n\t\t\t}\n\n\t\t\treturn maxTicks;\n\t\t},\n\t\t// Called after the ticks are built. We need\n\t\thandleDirectionalChanges: function() {\n\t\t\tif (!this.isHorizontal()) {\n\t\t\t\t// We are in a vertical orientation. The top value is the highest. So reverse the array\n\t\t\t\tthis.ticks.reverse();\n\t\t\t}\n\t\t},\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\t// Utils\n\t\tgetPixelForValue: function(value) {\n\t\t\t// This must be called after fit has been run so that\n\t\t\t// this.left, this.top, this.right, and this.bottom have been defined\n\t\t\tvar me = this;\n\t\t\tvar start = me.start;\n\n\t\t\tvar rightValue = +me.getRightValue(value);\n\t\t\tvar pixel;\n\t\t\tvar range = me.end - start;\n\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tpixel = me.left + (me.width / range * (rightValue - start));\n\t\t\t} else {\n\t\t\t\tpixel = me.bottom - (me.height / range * (rightValue - start));\n\t\t\t}\n\t\t\treturn pixel;\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tvar innerDimension = isHorizontal ? me.width : me.height;\n\t\t\tvar offset = (isHorizontal ? pixel - me.left : me.bottom - pixel) / innerDimension;\n\t\t\treturn me.start + ((me.end - me.start) * offset);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.ticksAsNumbers[index]);\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('linear', LinearScale, defaultConfig);\n\n};\n\n},{\"25\":25,\"34\":34,\"45\":45}],55:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\n\n/**\n * Generate a set of linear ticks\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {Array&lt;Number&gt;} array of tick values\n */\nfunction generateTicks(generationOptions, dataRange) {\n\tvar ticks = [];\n\t// To get a \"nice\" value for the tick spacing, we will use the appropriately named\n\t// \"nice number\" algorithm. See http://stackoverflow.com/questions/8506881/nice-label-algorithm-for-charts-with-minimum-ticks\n\t// for details.\n\n\tvar spacing;\n\tif (generationOptions.stepSize &amp;&amp; generationOptions.stepSize &gt; 0) {\n\t\tspacing = generationOptions.stepSize;\n\t} else {\n\t\tvar niceRange = helpers.niceNum(dataRange.max - dataRange.min, false);\n\t\tspacing = helpers.niceNum(niceRange / (generationOptions.maxTicks - 1), true);\n\t}\n\tvar niceMin = Math.floor(dataRange.min / spacing) * spacing;\n\tvar niceMax = Math.ceil(dataRange.max / spacing) * spacing;\n\n\t// If min, max and stepSize is set and they make an evenly spaced scale use it.\n\tif (generationOptions.min &amp;&amp; generationOptions.max &amp;&amp; generationOptions.stepSize) {\n\t\t// If very close to our whole number, use it.\n\t\tif (helpers.almostWhole((generationOptions.max - generationOptions.min) / generationOptions.stepSize, spacing / 1000)) {\n\t\t\tniceMin = generationOptions.min;\n\t\t\tniceMax = generationOptions.max;\n\t\t}\n\t}\n\n\tvar numSpaces = (niceMax - niceMin) / spacing;\n\t// If very close to our rounded value, use it.\n\tif (helpers.almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n\t\tnumSpaces = Math.round(numSpaces);\n\t} else {\n\t\tnumSpaces = Math.ceil(numSpaces);\n\t}\n\n\tvar precision = 1;\n\tif (spacing &lt; 1) {\n\t\tprecision = Math.pow(10, spacing.toString().length - 2);\n\t\tniceMin = Math.round(niceMin * precision) / precision;\n\t\tniceMax = Math.round(niceMax * precision) / precision;\n\t}\n\tticks.push(generationOptions.min !== undefined ? generationOptions.min : niceMin);\n\tfor (var j = 1; j &lt; numSpaces; ++j) {\n\t\tticks.push(Math.round((niceMin + j * spacing) * precision) / precision);\n\t}\n\tticks.push(generationOptions.max !== undefined ? generationOptions.max : niceMax);\n\n\treturn ticks;\n}\n\n\nmodule.exports = function(Chart) {\n\n\tvar noop = helpers.noop;\n\n\tChart.LinearScaleBase = Chart.Scale.extend({\n\t\tgetRightValue: function(value) {\n\t\t\tif (typeof value === 'string') {\n\t\t\t\treturn +value;\n\t\t\t}\n\t\t\treturn Chart.Scale.prototype.getRightValue.call(this, value);\n\t\t},\n\n\t\thandleTickRangeOptions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\t// If we are forcing it to begin at 0, but 0 will already be rendered on the chart,\n\t\t\t// do nothing since that would make the chart weird. If the user really wants a weird chart\n\t\t\t// axis, they can manually override it\n\t\t\tif (tickOpts.beginAtZero) {\n\t\t\t\tvar minSign = helpers.sign(me.min);\n\t\t\t\tvar maxSign = helpers.sign(me.max);\n\n\t\t\t\tif (minSign &lt; 0 &amp;&amp; maxSign &lt; 0) {\n\t\t\t\t\t// move the top up to 0\n\t\t\t\t\tme.max = 0;\n\t\t\t\t} else if (minSign &gt; 0 &amp;&amp; maxSign &gt; 0) {\n\t\t\t\t\t// move the bottom down to 0\n\t\t\t\t\tme.min = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar setMin = tickOpts.min !== undefined || tickOpts.suggestedMin !== undefined;\n\t\t\tvar setMax = tickOpts.max !== undefined || tickOpts.suggestedMax !== undefined;\n\n\t\t\tif (tickOpts.min !== undefined) {\n\t\t\t\tme.min = tickOpts.min;\n\t\t\t} else if (tickOpts.suggestedMin !== undefined) {\n\t\t\t\tif (me.min === null) {\n\t\t\t\t\tme.min = tickOpts.suggestedMin;\n\t\t\t\t} else {\n\t\t\t\t\tme.min = Math.min(me.min, tickOpts.suggestedMin);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (tickOpts.max !== undefined) {\n\t\t\t\tme.max = tickOpts.max;\n\t\t\t} else if (tickOpts.suggestedMax !== undefined) {\n\t\t\t\tif (me.max === null) {\n\t\t\t\t\tme.max = tickOpts.suggestedMax;\n\t\t\t\t} else {\n\t\t\t\t\tme.max = Math.max(me.max, tickOpts.suggestedMax);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (setMin !== setMax) {\n\t\t\t\t// We set the min or the max but not both.\n\t\t\t\t// So ensure that our range is good\n\t\t\t\t// Inverted or 0 length range can happen when\n\t\t\t\t// ticks.min is set, and no datasets are visible\n\t\t\t\tif (me.min &gt;= me.max) {\n\t\t\t\t\tif (setMin) {\n\t\t\t\t\t\tme.max = me.min + 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tme.min = me.max - 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (me.min === me.max) {\n\t\t\t\tme.max++;\n\n\t\t\t\tif (!tickOpts.beginAtZero) {\n\t\t\t\t\tme.min--;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetTickLimit: noop,\n\t\thandleDirectionalChanges: noop,\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\n\t\t\t// Figure out what the max number of ticks we can support it is based on the size of\n\t\t\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\n\t\t\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n\t\t\t// the graph. Make sure we always have at least 2 ticks\n\t\t\tvar maxTicks = me.getTickLimit();\n\t\t\tmaxTicks = Math.max(2, maxTicks);\n\n\t\t\tvar numericGeneratorOptions = {\n\t\t\t\tmaxTicks: maxTicks,\n\t\t\t\tmin: tickOpts.min,\n\t\t\t\tmax: tickOpts.max,\n\t\t\t\tstepSize: helpers.valueOrDefault(tickOpts.fixedStepSize, tickOpts.stepSize)\n\t\t\t};\n\t\t\tvar ticks = me.ticks = generateTicks(numericGeneratorOptions, me);\n\n\t\t\tme.handleDirectionalChanges();\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(ticks);\n\t\t\tme.min = helpers.min(ticks);\n\n\t\t\tif (tickOpts.reverse) {\n\t\t\t\tticks.reverse();\n\n\t\t\t\tme.start = me.max;\n\t\t\t\tme.end = me.min;\n\t\t\t} else {\n\t\t\t\tme.start = me.min;\n\t\t\t\tme.end = me.max;\n\t\t\t}\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\t\t\tme.ticksAsNumbers = me.ticks.slice();\n\t\t\tme.zeroLineIndex = me.ticks.indexOf(0);\n\n\t\t\tChart.Scale.prototype.convertTicksToLabels.call(me);\n\t\t}\n\t});\n};\n\n},{\"45\":45}],56:[function(require,module,exports){\n'use strict';\n\nvar helpers = require(45);\nvar Ticks = require(34);\n\n/**\n * Generate a set of logarithmic ticks\n * @param generationOptions the options used to generate the ticks\n * @param dataRange the range of the data\n * @returns {Array&lt;Number&gt;} array of tick values\n */\nfunction generateTicks(generationOptions, dataRange) {\n\tvar ticks = [];\n\tvar valueOrDefault = helpers.valueOrDefault;\n\n\t// Figure out what the max number of ticks we can support it is based on the size of\n\t// the axis area. For now, we say that the minimum tick spacing in pixels must be 50\n\t// We also limit the maximum number of ticks to 11 which gives a nice 10 squares on\n\t// the graph\n\tvar tickVal = valueOrDefault(generationOptions.min, Math.pow(10, Math.floor(helpers.log10(dataRange.min))));\n\n\tvar endExp = Math.floor(helpers.log10(dataRange.max));\n\tvar endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n\tvar exp, significand;\n\n\tif (tickVal === 0) {\n\t\texp = Math.floor(helpers.log10(dataRange.minNotZero));\n\t\tsignificand = Math.floor(dataRange.minNotZero / Math.pow(10, exp));\n\n\t\tticks.push(tickVal);\n\t\ttickVal = significand * Math.pow(10, exp);\n\t} else {\n\t\texp = Math.floor(helpers.log10(tickVal));\n\t\tsignificand = Math.floor(tickVal / Math.pow(10, exp));\n\t}\n\tvar precision = exp &lt; 0 ? Math.pow(10, Math.abs(exp)) : 1;\n\n\tdo {\n\t\tticks.push(tickVal);\n\n\t\t++significand;\n\t\tif (significand === 10) {\n\t\t\tsignificand = 1;\n\t\t\t++exp;\n\t\t\tprecision = exp &gt;= 0 ? 1 : precision;\n\t\t}\n\n\t\ttickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n\t} while (exp &lt; endExp || (exp === endExp &amp;&amp; significand &lt; endSignificand));\n\n\tvar lastTick = valueOrDefault(generationOptions.max, tickVal);\n\tticks.push(lastTick);\n\n\treturn ticks;\n}\n\n\nmodule.exports = function(Chart) {\n\n\tvar defaultConfig = {\n\t\tposition: 'left',\n\n\t\t// label settings\n\t\tticks: {\n\t\t\tcallback: Ticks.formatters.logarithmic\n\t\t}\n\t};\n\n\tvar LogarithmicScale = Chart.Scale.extend({\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar chart = me.chart;\n\t\t\tvar data = chart.data;\n\t\t\tvar datasets = data.datasets;\n\t\t\tvar isHorizontal = me.isHorizontal();\n\t\t\tfunction IDMatches(meta) {\n\t\t\t\treturn isHorizontal ? meta.xAxisID === me.id : meta.yAxisID === me.id;\n\t\t\t}\n\n\t\t\t// Calculate Range\n\t\t\tme.min = null;\n\t\t\tme.max = null;\n\t\t\tme.minNotZero = null;\n\n\t\t\tvar hasStacks = opts.stacked;\n\t\t\tif (hasStacks === undefined) {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tif (hasStacks) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) &amp;&amp; IDMatches(meta) &amp;&amp;\n\t\t\t\t\t\tmeta.stack !== undefined) {\n\t\t\t\t\t\thasStacks = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (opts.stacked || hasStacks) {\n\t\t\t\tvar valuesPerStack = {};\n\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tvar key = [\n\t\t\t\t\t\tmeta.type,\n\t\t\t\t\t\t// we have a separate stack for stack=undefined datasets when the opts.stacked is undefined\n\t\t\t\t\t\t((opts.stacked === undefined &amp;&amp; meta.stack === undefined) ? datasetIndex : ''),\n\t\t\t\t\t\tmeta.stack\n\t\t\t\t\t].join('.');\n\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) &amp;&amp; IDMatches(meta)) {\n\t\t\t\t\t\tif (valuesPerStack[key] === undefined) {\n\t\t\t\t\t\t\tvaluesPerStack[key] = [];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar values = valuesPerStack[key];\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\t// invalid, hidden and negative values are ignored\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden || value &lt; 0) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalues[index] = values[index] || 0;\n\t\t\t\t\t\t\tvalues[index] += value;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\thelpers.each(valuesPerStack, function(valuesForType) {\n\t\t\t\t\tif (valuesForType.length &gt; 0) {\n\t\t\t\t\t\tvar minVal = helpers.min(valuesForType);\n\t\t\t\t\t\tvar maxVal = helpers.max(valuesForType);\n\t\t\t\t\t\tme.min = me.min === null ? minVal : Math.min(me.min, minVal);\n\t\t\t\t\t\tme.max = me.max === null ? maxVal : Math.max(me.max, maxVal);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\thelpers.each(datasets, function(dataset, datasetIndex) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\t\t\t\t\tif (chart.isDatasetVisible(datasetIndex) &amp;&amp; IDMatches(meta)) {\n\t\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\t\t// invalid, hidden and negative values are ignored\n\t\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden || value &lt; 0) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.min === null) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t} else if (value &lt; me.min) {\n\t\t\t\t\t\t\t\tme.min = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (me.max === null) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t} else if (value &gt; me.max) {\n\t\t\t\t\t\t\t\tme.max = value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (value !== 0 &amp;&amp; (me.minNotZero === null || value &lt; me.minNotZero)) {\n\t\t\t\t\t\t\t\tme.minNotZero = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max\n\t\t\tthis.handleTickRangeOptions();\n\t\t},\n\t\thandleTickRangeOptions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\n\t\t\tvar DEFAULT_MIN = 1;\n\t\t\tvar DEFAULT_MAX = 10;\n\n\t\t\tme.min = valueOrDefault(tickOpts.min, me.min);\n\t\t\tme.max = valueOrDefault(tickOpts.max, me.max);\n\n\t\t\tif (me.min === me.max) {\n\t\t\t\tif (me.min !== 0 &amp;&amp; me.min !== null) {\n\t\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.min)) - 1);\n\t\t\t\t\tme.max = Math.pow(10, Math.floor(helpers.log10(me.max)) + 1);\n\t\t\t\t} else {\n\t\t\t\t\tme.min = DEFAULT_MIN;\n\t\t\t\t\tme.max = DEFAULT_MAX;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (me.min === null) {\n\t\t\t\tme.min = Math.pow(10, Math.floor(helpers.log10(me.max)) - 1);\n\t\t\t}\n\t\t\tif (me.max === null) {\n\t\t\t\tme.max = me.min !== 0\n\t\t\t\t\t? Math.pow(10, Math.floor(helpers.log10(me.min)) + 1)\n\t\t\t\t\t: DEFAULT_MAX;\n\t\t\t}\n\t\t\tif (me.minNotZero === null) {\n\t\t\t\tif (me.min &gt; 0) {\n\t\t\t\t\tme.minNotZero = me.min;\n\t\t\t\t} else if (me.max &lt; 1) {\n\t\t\t\t\tme.minNotZero = Math.pow(10, Math.floor(helpers.log10(me.max)));\n\t\t\t\t} else {\n\t\t\t\t\tme.minNotZero = DEFAULT_MIN;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar reverse = !me.isHorizontal();\n\n\t\t\tvar generationOptions = {\n\t\t\t\tmin: tickOpts.min,\n\t\t\t\tmax: tickOpts.max\n\t\t\t};\n\t\t\tvar ticks = me.ticks = generateTicks(generationOptions, me);\n\n\t\t\t// At this point, we need to update our max and min given the tick values since we have expanded the\n\t\t\t// range of the scale\n\t\t\tme.max = helpers.max(ticks);\n\t\t\tme.min = helpers.min(ticks);\n\n\t\t\tif (tickOpts.reverse) {\n\t\t\t\treverse = !reverse;\n\t\t\t\tme.start = me.max;\n\t\t\t\tme.end = me.min;\n\t\t\t} else {\n\t\t\t\tme.start = me.min;\n\t\t\t\tme.end = me.max;\n\t\t\t}\n\t\t\tif (reverse) {\n\t\t\t\tticks.reverse();\n\t\t\t}\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tthis.tickValues = this.ticks.slice();\n\n\t\t\tChart.Scale.prototype.convertTicksToLabels.call(this);\n\t\t},\n\t\t// Get the correct tooltip label\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\tgetPixelForTick: function(index) {\n\t\t\treturn this.getPixelForValue(this.tickValues[index]);\n\t\t},\n\t\t/**\n\t\t * Returns the value of the first tick.\n\t\t * @param {Number} value - The minimum not zero value.\n\t\t * @return {Number} The first tick value.\n\t\t * @private\n\t\t */\n\t\t_getFirstTickValue: function(value) {\n\t\t\tvar exp = Math.floor(helpers.log10(value));\n\t\t\tvar significand = Math.floor(value / Math.pow(10, exp));\n\n\t\t\treturn significand * Math.pow(10, exp);\n\t\t},\n\t\tgetPixelForValue: function(value) {\n\t\t\tvar me = this;\n\t\t\tvar reverse = me.options.ticks.reverse;\n\t\t\tvar log10 = helpers.log10;\n\t\t\tvar firstTickValue = me._getFirstTickValue(me.minNotZero);\n\t\t\tvar offset = 0;\n\t\t\tvar innerDimension, pixel, start, end, sign;\n\n\t\t\tvalue = +me.getRightValue(value);\n\t\t\tif (reverse) {\n\t\t\t\tstart = me.end;\n\t\t\t\tend = me.start;\n\t\t\t\tsign = -1;\n\t\t\t} else {\n\t\t\t\tstart = me.start;\n\t\t\t\tend = me.end;\n\t\t\t\tsign = 1;\n\t\t\t}\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tinnerDimension = me.width;\n\t\t\t\tpixel = reverse ? me.right : me.left;\n\t\t\t} else {\n\t\t\t\tinnerDimension = me.height;\n\t\t\t\tsign *= -1; // invert, since the upper-left corner of the canvas is at pixel (0, 0)\n\t\t\t\tpixel = reverse ? me.top : me.bottom;\n\t\t\t}\n\t\t\tif (value !== start) {\n\t\t\t\tif (start === 0) { // include zero tick\n\t\t\t\t\toffset = helpers.getValueOrDefault(\n\t\t\t\t\t\tme.options.ticks.fontSize,\n\t\t\t\t\t\tChart.defaults.global.defaultFontSize\n\t\t\t\t\t);\n\t\t\t\t\tinnerDimension -= offset;\n\t\t\t\t\tstart = firstTickValue;\n\t\t\t\t}\n\t\t\t\tif (value !== 0) {\n\t\t\t\t\toffset += innerDimension / (log10(end) - log10(start)) * (log10(value) - log10(start));\n\t\t\t\t}\n\t\t\t\tpixel += sign * offset;\n\t\t\t}\n\t\t\treturn pixel;\n\t\t},\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar reverse = me.options.ticks.reverse;\n\t\t\tvar log10 = helpers.log10;\n\t\t\tvar firstTickValue = me._getFirstTickValue(me.minNotZero);\n\t\t\tvar innerDimension, start, end, value;\n\n\t\t\tif (reverse) {\n\t\t\t\tstart = me.end;\n\t\t\t\tend = me.start;\n\t\t\t} else {\n\t\t\t\tstart = me.start;\n\t\t\t\tend = me.end;\n\t\t\t}\n\t\t\tif (me.isHorizontal()) {\n\t\t\t\tinnerDimension = me.width;\n\t\t\t\tvalue = reverse ? me.right - pixel : pixel - me.left;\n\t\t\t} else {\n\t\t\t\tinnerDimension = me.height;\n\t\t\t\tvalue = reverse ? pixel - me.top : me.bottom - pixel;\n\t\t\t}\n\t\t\tif (value !== start) {\n\t\t\t\tif (start === 0) { // include zero tick\n\t\t\t\t\tvar offset = helpers.getValueOrDefault(\n\t\t\t\t\t\tme.options.ticks.fontSize,\n\t\t\t\t\t\tChart.defaults.global.defaultFontSize\n\t\t\t\t\t);\n\t\t\t\t\tvalue -= offset;\n\t\t\t\t\tinnerDimension -= offset;\n\t\t\t\t\tstart = firstTickValue;\n\t\t\t\t}\n\t\t\t\tvalue *= log10(end) - log10(start);\n\t\t\t\tvalue /= innerDimension;\n\t\t\t\tvalue = Math.pow(10, log10(start) + value);\n\t\t\t}\n\t\t\treturn value;\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('logarithmic', LogarithmicScale, defaultConfig);\n\n};\n\n},{\"34\":34,\"45\":45}],57:[function(require,module,exports){\n'use strict';\n\nvar defaults = require(25);\nvar helpers = require(45);\nvar Ticks = require(34);\n\nmodule.exports = function(Chart) {\n\n\tvar globalDefaults = defaults.global;\n\n\tvar defaultConfig = {\n\t\tdisplay: true,\n\n\t\t// Boolean - Whether to animate scaling the chart from the centre\n\t\tanimate: true,\n\t\tposition: 'chartArea',\n\n\t\tangleLines: {\n\t\t\tdisplay: true,\n\t\t\tcolor: 'rgba(0, 0, 0, 0.1)',\n\t\t\tlineWidth: 1\n\t\t},\n\n\t\tgridLines: {\n\t\t\tcircular: false\n\t\t},\n\n\t\t// label settings\n\t\tticks: {\n\t\t\t// Boolean - Show a backdrop to the scale label\n\t\t\tshowLabelBackdrop: true,\n\n\t\t\t// String - The colour of the label backdrop\n\t\t\tbackdropColor: 'rgba(255,255,255,0.75)',\n\n\t\t\t// Number - The backdrop padding above &amp; below the label in pixels\n\t\t\tbackdropPaddingY: 2,\n\n\t\t\t// Number - The backdrop padding to the side of the label in pixels\n\t\t\tbackdropPaddingX: 2,\n\n\t\t\tcallback: Ticks.formatters.linear\n\t\t},\n\n\t\tpointLabels: {\n\t\t\t// Boolean - if true, show point labels\n\t\t\tdisplay: true,\n\n\t\t\t// Number - Point label font size in pixels\n\t\t\tfontSize: 10,\n\n\t\t\t// Function - Used to convert point labels\n\t\t\tcallback: function(label) {\n\t\t\t\treturn label;\n\t\t\t}\n\t\t}\n\t};\n\n\tfunction getValueCount(scale) {\n\t\tvar opts = scale.options;\n\t\treturn opts.angleLines.display || opts.pointLabels.display ? scale.chart.data.labels.length : 0;\n\t}\n\n\tfunction getPointLabelFontOptions(scale) {\n\t\tvar pointLabelOptions = scale.options.pointLabels;\n\t\tvar fontSize = helpers.valueOrDefault(pointLabelOptions.fontSize, globalDefaults.defaultFontSize);\n\t\tvar fontStyle = helpers.valueOrDefault(pointLabelOptions.fontStyle, globalDefaults.defaultFontStyle);\n\t\tvar fontFamily = helpers.valueOrDefault(pointLabelOptions.fontFamily, globalDefaults.defaultFontFamily);\n\t\tvar font = helpers.fontString(fontSize, fontStyle, fontFamily);\n\n\t\treturn {\n\t\t\tsize: fontSize,\n\t\t\tstyle: fontStyle,\n\t\t\tfamily: fontFamily,\n\t\t\tfont: font\n\t\t};\n\t}\n\n\tfunction measureLabelSize(ctx, fontSize, label) {\n\t\tif (helpers.isArray(label)) {\n\t\t\treturn {\n\t\t\t\tw: helpers.longestText(ctx, ctx.font, label),\n\t\t\t\th: (label.length * fontSize) + ((label.length - 1) * 1.5 * fontSize)\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tw: ctx.measureText(label).width,\n\t\t\th: fontSize\n\t\t};\n\t}\n\n\tfunction determineLimits(angle, pos, size, min, max) {\n\t\tif (angle === min || angle === max) {\n\t\t\treturn {\n\t\t\t\tstart: pos - (size / 2),\n\t\t\t\tend: pos + (size / 2)\n\t\t\t};\n\t\t} else if (angle &lt; min || angle &gt; max) {\n\t\t\treturn {\n\t\t\t\tstart: pos - size - 5,\n\t\t\t\tend: pos\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tstart: pos,\n\t\t\tend: pos + size + 5\n\t\t};\n\t}\n\n\t/**\n\t * Helper function to fit a radial linear scale with point labels\n\t */\n\tfunction fitWithPointLabels(scale) {\n\t\t/*\n\t\t * Right, this is really confusing and there is a lot of maths going on here\n\t\t * The gist of the problem is here: https://gist.github.com/nnnick/696cc9c55f4b0beb8fe9\n\t\t *\n\t\t * Reaction: https://dl.dropboxusercontent.com/u/34601363/toomuchscience.gif\n\t\t *\n\t\t * Solution:\n\t\t *\n\t\t * We assume the radius of the polygon is half the size of the canvas at first\n\t\t * at each index we check if the text overlaps.\n\t\t *\n\t\t * Where it does, we store that angle and that index.\n\t\t *\n\t\t * After finding the largest index and angle we calculate how much we need to remove\n\t\t * from the shape radius to move the point inwards by that x.\n\t\t *\n\t\t * We average the left and right distances to get the maximum shape radius that can fit in the box\n\t\t * along with labels.\n\t\t *\n\t\t * Once we have that, we can find the centre point for the chart, by taking the x text protrusion\n\t\t * on each side, removing that from the size, halving it and adding the left x protrusion width.\n\t\t *\n\t\t * This will mean we have a shape fitted to the canvas, as large as it can be with the labels\n\t\t * and position it in the most space efficient manner\n\t\t *\n\t\t * https://dl.dropboxusercontent.com/u/34601363/yeahscience.gif\n\t\t */\n\n\t\tvar plFont = getPointLabelFontOptions(scale);\n\n\t\t// Get maximum radius of the polygon. Either half the height (minus the text width) or half the width.\n\t\t// Use this to calculate the offset + change. - Make sure L/R protrusion is at least 0 to stop issues with centre points\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\n\t\tvar furthestLimits = {\n\t\t\tr: scale.width,\n\t\t\tl: 0,\n\t\t\tt: scale.height,\n\t\t\tb: 0\n\t\t};\n\t\tvar furthestAngles = {};\n\t\tvar i, textSize, pointPosition;\n\n\t\tscale.ctx.font = plFont.font;\n\t\tscale._pointLabelSizes = [];\n\n\t\tvar valueCount = getValueCount(scale);\n\t\tfor (i = 0; i &lt; valueCount; i++) {\n\t\t\tpointPosition = scale.getPointPosition(i, largestPossibleRadius);\n\t\t\ttextSize = measureLabelSize(scale.ctx, plFont.size, scale.pointLabels[i] || '');\n\t\t\tscale._pointLabelSizes[i] = textSize;\n\n\t\t\t// Add quarter circle to make degree 0 mean top of circle\n\t\t\tvar angleRadians = scale.getIndexAngle(i);\n\t\t\tvar angle = helpers.toDegrees(angleRadians) % 360;\n\t\t\tvar hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n\t\t\tvar vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n\n\t\t\tif (hLimits.start &lt; furthestLimits.l) {\n\t\t\t\tfurthestLimits.l = hLimits.start;\n\t\t\t\tfurthestAngles.l = angleRadians;\n\t\t\t}\n\n\t\t\tif (hLimits.end &gt; furthestLimits.r) {\n\t\t\t\tfurthestLimits.r = hLimits.end;\n\t\t\t\tfurthestAngles.r = angleRadians;\n\t\t\t}\n\n\t\t\tif (vLimits.start &lt; furthestLimits.t) {\n\t\t\t\tfurthestLimits.t = vLimits.start;\n\t\t\t\tfurthestAngles.t = angleRadians;\n\t\t\t}\n\n\t\t\tif (vLimits.end &gt; furthestLimits.b) {\n\t\t\t\tfurthestLimits.b = vLimits.end;\n\t\t\t\tfurthestAngles.b = angleRadians;\n\t\t\t}\n\t\t}\n\n\t\tscale.setReductions(largestPossibleRadius, furthestLimits, furthestAngles);\n\t}\n\n\t/**\n\t * Helper function to fit a radial linear scale with no point labels\n\t */\n\tfunction fit(scale) {\n\t\tvar largestPossibleRadius = Math.min(scale.height / 2, scale.width / 2);\n\t\tscale.drawingArea = Math.round(largestPossibleRadius);\n\t\tscale.setCenterPoint(0, 0, 0, 0);\n\t}\n\n\tfunction getTextAlignForAngle(angle) {\n\t\tif (angle === 0 || angle === 180) {\n\t\t\treturn 'center';\n\t\t} else if (angle &lt; 180) {\n\t\t\treturn 'left';\n\t\t}\n\n\t\treturn 'right';\n\t}\n\n\tfunction fillText(ctx, text, position, fontSize) {\n\t\tif (helpers.isArray(text)) {\n\t\t\tvar y = position.y;\n\t\t\tvar spacing = 1.5 * fontSize;\n\n\t\t\tfor (var i = 0; i &lt; text.length; ++i) {\n\t\t\t\tctx.fillText(text[i], position.x, y);\n\t\t\t\ty += spacing;\n\t\t\t}\n\t\t} else {\n\t\t\tctx.fillText(text, position.x, position.y);\n\t\t}\n\t}\n\n\tfunction adjustPointPositionForLabelHeight(angle, textSize, position) {\n\t\tif (angle === 90 || angle === 270) {\n\t\t\tposition.y -= (textSize.h / 2);\n\t\t} else if (angle &gt; 270 || angle &lt; 90) {\n\t\t\tposition.y -= textSize.h;\n\t\t}\n\t}\n\n\tfunction drawPointLabels(scale) {\n\t\tvar ctx = scale.ctx;\n\t\tvar opts = scale.options;\n\t\tvar angleLineOpts = opts.angleLines;\n\t\tvar pointLabelOpts = opts.pointLabels;\n\n\t\tctx.lineWidth = angleLineOpts.lineWidth;\n\t\tctx.strokeStyle = angleLineOpts.color;\n\n\t\tvar outerDistance = scale.getDistanceFromCenterForValue(opts.ticks.reverse ? scale.min : scale.max);\n\n\t\t// Point Label Font\n\t\tvar plFont = getPointLabelFontOptions(scale);\n\n\t\tctx.textBaseline = 'top';\n\n\t\tfor (var i = getValueCount(scale) - 1; i &gt;= 0; i--) {\n\t\t\tif (angleLineOpts.display) {\n\t\t\t\tvar outerPosition = scale.getPointPosition(i, outerDistance);\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.moveTo(scale.xCenter, scale.yCenter);\n\t\t\t\tctx.lineTo(outerPosition.x, outerPosition.y);\n\t\t\t\tctx.stroke();\n\t\t\t\tctx.closePath();\n\t\t\t}\n\n\t\t\tif (pointLabelOpts.display) {\n\t\t\t\t// Extra 3px out for some label spacing\n\t\t\t\tvar pointLabelPosition = scale.getPointPosition(i, outerDistance + 5);\n\n\t\t\t\t// Keep this in loop since we may support array properties here\n\t\t\t\tvar pointLabelFontColor = helpers.valueAtIndexOrDefault(pointLabelOpts.fontColor, i, globalDefaults.defaultFontColor);\n\t\t\t\tctx.font = plFont.font;\n\t\t\t\tctx.fillStyle = pointLabelFontColor;\n\n\t\t\t\tvar angleRadians = scale.getIndexAngle(i);\n\t\t\t\tvar angle = helpers.toDegrees(angleRadians);\n\t\t\t\tctx.textAlign = getTextAlignForAngle(angle);\n\t\t\t\tadjustPointPositionForLabelHeight(angle, scale._pointLabelSizes[i], pointLabelPosition);\n\t\t\t\tfillText(ctx, scale.pointLabels[i] || '', pointLabelPosition, plFont.size);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction drawRadiusLine(scale, gridLineOpts, radius, index) {\n\t\tvar ctx = scale.ctx;\n\t\tctx.strokeStyle = helpers.valueAtIndexOrDefault(gridLineOpts.color, index - 1);\n\t\tctx.lineWidth = helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth, index - 1);\n\n\t\tif (scale.options.gridLines.circular) {\n\t\t\t// Draw circular arcs between the points\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(scale.xCenter, scale.yCenter, radius, 0, Math.PI * 2);\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t} else {\n\t\t\t// Draw straight lines connecting each index\n\t\t\tvar valueCount = getValueCount(scale);\n\n\t\t\tif (valueCount === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tctx.beginPath();\n\t\t\tvar pointPosition = scale.getPointPosition(0, radius);\n\t\t\tctx.moveTo(pointPosition.x, pointPosition.y);\n\n\t\t\tfor (var i = 1; i &lt; valueCount; i++) {\n\t\t\t\tpointPosition = scale.getPointPosition(i, radius);\n\t\t\t\tctx.lineTo(pointPosition.x, pointPosition.y);\n\t\t\t}\n\n\t\t\tctx.closePath();\n\t\t\tctx.stroke();\n\t\t}\n\t}\n\n\tfunction numberOrZero(param) {\n\t\treturn helpers.isNumber(param) ? param : 0;\n\t}\n\n\tvar LinearRadialScale = Chart.LinearScaleBase.extend({\n\t\tsetDimensions: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\t// Set the unconstrained dimension before label rotation\n\t\t\tme.width = me.maxWidth;\n\t\t\tme.height = me.maxHeight;\n\t\t\tme.xCenter = Math.round(me.width / 2);\n\t\t\tme.yCenter = Math.round(me.height / 2);\n\n\t\t\tvar minSize = helpers.min([me.height, me.width]);\n\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\tme.drawingArea = opts.display ? (minSize / 2) - (tickFontSize / 2 + tickOpts.backdropPaddingY) : (minSize / 2);\n\t\t},\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar min = Number.POSITIVE_INFINITY;\n\t\t\tvar max = Number.NEGATIVE_INFINITY;\n\n\t\t\thelpers.each(chart.data.datasets, function(dataset, datasetIndex) {\n\t\t\t\tif (chart.isDatasetVisible(datasetIndex)) {\n\t\t\t\t\tvar meta = chart.getDatasetMeta(datasetIndex);\n\n\t\t\t\t\thelpers.each(dataset.data, function(rawValue, index) {\n\t\t\t\t\t\tvar value = +me.getRightValue(rawValue);\n\t\t\t\t\t\tif (isNaN(value) || meta.data[index].hidden) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tmin = Math.min(value, min);\n\t\t\t\t\t\tmax = Math.max(value, max);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tme.min = (min === Number.POSITIVE_INFINITY ? 0 : min);\n\t\t\tme.max = (max === Number.NEGATIVE_INFINITY ? 0 : max);\n\n\t\t\t// Common base implementation to handle ticks.min, ticks.max, ticks.beginAtZero\n\t\t\tme.handleTickRangeOptions();\n\t\t},\n\t\tgetTickLimit: function() {\n\t\t\tvar tickOpts = this.options.ticks;\n\t\t\tvar tickFontSize = helpers.valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\treturn Math.min(tickOpts.maxTicksLimit ? tickOpts.maxTicksLimit : 11, Math.ceil(this.drawingArea / (1.5 * tickFontSize)));\n\t\t},\n\t\tconvertTicksToLabels: function() {\n\t\t\tvar me = this;\n\n\t\t\tChart.LinearScaleBase.prototype.convertTicksToLabels.call(me);\n\n\t\t\t// Point labels\n\t\t\tme.pointLabels = me.chart.data.labels.map(me.options.pointLabels.callback, me);\n\t\t},\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\treturn +this.getRightValue(this.chart.data.datasets[datasetIndex].data[index]);\n\t\t},\n\t\tfit: function() {\n\t\t\tif (this.options.pointLabels.display) {\n\t\t\t\tfitWithPointLabels(this);\n\t\t\t} else {\n\t\t\t\tfit(this);\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Set radius reductions and determine new radius and center point\n\t\t * @private\n\t\t */\n\t\tsetReductions: function(largestPossibleRadius, furthestLimits, furthestAngles) {\n\t\t\tvar me = this;\n\t\t\tvar radiusReductionLeft = furthestLimits.l / Math.sin(furthestAngles.l);\n\t\t\tvar radiusReductionRight = Math.max(furthestLimits.r - me.width, 0) / Math.sin(furthestAngles.r);\n\t\t\tvar radiusReductionTop = -furthestLimits.t / Math.cos(furthestAngles.t);\n\t\t\tvar radiusReductionBottom = -Math.max(furthestLimits.b - me.height, 0) / Math.cos(furthestAngles.b);\n\n\t\t\tradiusReductionLeft = numberOrZero(radiusReductionLeft);\n\t\t\tradiusReductionRight = numberOrZero(radiusReductionRight);\n\t\t\tradiusReductionTop = numberOrZero(radiusReductionTop);\n\t\t\tradiusReductionBottom = numberOrZero(radiusReductionBottom);\n\n\t\t\tme.drawingArea = Math.min(\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionLeft + radiusReductionRight) / 2),\n\t\t\t\tMath.round(largestPossibleRadius - (radiusReductionTop + radiusReductionBottom) / 2));\n\t\t\tme.setCenterPoint(radiusReductionLeft, radiusReductionRight, radiusReductionTop, radiusReductionBottom);\n\t\t},\n\t\tsetCenterPoint: function(leftMovement, rightMovement, topMovement, bottomMovement) {\n\t\t\tvar me = this;\n\t\t\tvar maxRight = me.width - rightMovement - me.drawingArea;\n\t\t\tvar maxLeft = leftMovement + me.drawingArea;\n\t\t\tvar maxTop = topMovement + me.drawingArea;\n\t\t\tvar maxBottom = me.height - bottomMovement - me.drawingArea;\n\n\t\t\tme.xCenter = Math.round(((maxLeft + maxRight) / 2) + me.left);\n\t\t\tme.yCenter = Math.round(((maxTop + maxBottom) / 2) + me.top);\n\t\t},\n\n\t\tgetIndexAngle: function(index) {\n\t\t\tvar angleMultiplier = (Math.PI * 2) / getValueCount(this);\n\t\t\tvar startAngle = this.chart.options &amp;&amp; this.chart.options.startAngle ?\n\t\t\t\tthis.chart.options.startAngle :\n\t\t\t\t0;\n\n\t\t\tvar startAngleRadians = startAngle * Math.PI * 2 / 360;\n\n\t\t\t// Start from the top instead of right, so remove a quarter of the circle\n\t\t\treturn index * angleMultiplier + startAngleRadians;\n\t\t},\n\t\tgetDistanceFromCenterForValue: function(value) {\n\t\t\tvar me = this;\n\n\t\t\tif (value === null) {\n\t\t\t\treturn 0; // null always in center\n\t\t\t}\n\n\t\t\t// Take into account half font size + the yPadding of the top value\n\t\t\tvar scalingFactor = me.drawingArea / (me.max - me.min);\n\t\t\tif (me.options.ticks.reverse) {\n\t\t\t\treturn (me.max - value) * scalingFactor;\n\t\t\t}\n\t\t\treturn (value - me.min) * scalingFactor;\n\t\t},\n\t\tgetPointPosition: function(index, distanceFromCenter) {\n\t\t\tvar me = this;\n\t\t\tvar thisAngle = me.getIndexAngle(index) - (Math.PI / 2);\n\t\t\treturn {\n\t\t\t\tx: Math.round(Math.cos(thisAngle) * distanceFromCenter) + me.xCenter,\n\t\t\t\ty: Math.round(Math.sin(thisAngle) * distanceFromCenter) + me.yCenter\n\t\t\t};\n\t\t},\n\t\tgetPointPositionForValue: function(index, value) {\n\t\t\treturn this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n\t\t},\n\n\t\tgetBasePosition: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\n\t\t\treturn me.getPointPositionForValue(0,\n\t\t\t\tme.beginAtZero ? 0 :\n\t\t\t\tmin &lt; 0 &amp;&amp; max &lt; 0 ? max :\n\t\t\t\tmin &gt; 0 &amp;&amp; max &gt; 0 ? min :\n\t\t\t\t0);\n\t\t},\n\n\t\tdraw: function() {\n\t\t\tvar me = this;\n\t\t\tvar opts = me.options;\n\t\t\tvar gridLineOpts = opts.gridLines;\n\t\t\tvar tickOpts = opts.ticks;\n\t\t\tvar valueOrDefault = helpers.valueOrDefault;\n\n\t\t\tif (opts.display) {\n\t\t\t\tvar ctx = me.ctx;\n\t\t\t\tvar startAngle = this.getIndexAngle(0);\n\n\t\t\t\t// Tick Font\n\t\t\t\tvar tickFontSize = valueOrDefault(tickOpts.fontSize, globalDefaults.defaultFontSize);\n\t\t\t\tvar tickFontStyle = valueOrDefault(tickOpts.fontStyle, globalDefaults.defaultFontStyle);\n\t\t\t\tvar tickFontFamily = valueOrDefault(tickOpts.fontFamily, globalDefaults.defaultFontFamily);\n\t\t\t\tvar tickLabelFont = helpers.fontString(tickFontSize, tickFontStyle, tickFontFamily);\n\n\t\t\t\thelpers.each(me.ticks, function(label, index) {\n\t\t\t\t\t// Don't draw a centre value (if it is minimum)\n\t\t\t\t\tif (index &gt; 0 || tickOpts.reverse) {\n\t\t\t\t\t\tvar yCenterOffset = me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);\n\n\t\t\t\t\t\t// Draw circular lines around the scale\n\t\t\t\t\t\tif (gridLineOpts.display &amp;&amp; index !== 0) {\n\t\t\t\t\t\t\tdrawRadiusLine(me, gridLineOpts, yCenterOffset, index);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (tickOpts.display) {\n\t\t\t\t\t\t\tvar tickFontColor = valueOrDefault(tickOpts.fontColor, globalDefaults.defaultFontColor);\n\t\t\t\t\t\t\tctx.font = tickLabelFont;\n\n\t\t\t\t\t\t\tctx.save();\n\t\t\t\t\t\t\tctx.translate(me.xCenter, me.yCenter);\n\t\t\t\t\t\t\tctx.rotate(startAngle);\n\n\t\t\t\t\t\t\tif (tickOpts.showLabelBackdrop) {\n\t\t\t\t\t\t\t\tvar labelWidth = ctx.measureText(label).width;\n\t\t\t\t\t\t\t\tctx.fillStyle = tickOpts.backdropColor;\n\t\t\t\t\t\t\t\tctx.fillRect(\n\t\t\t\t\t\t\t\t\t-labelWidth / 2 - tickOpts.backdropPaddingX,\n\t\t\t\t\t\t\t\t\t-yCenterOffset - tickFontSize / 2 - tickOpts.backdropPaddingY,\n\t\t\t\t\t\t\t\t\tlabelWidth + tickOpts.backdropPaddingX * 2,\n\t\t\t\t\t\t\t\t\ttickFontSize + tickOpts.backdropPaddingY * 2\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t\t\tctx.textBaseline = 'middle';\n\t\t\t\t\t\t\tctx.fillStyle = tickFontColor;\n\t\t\t\t\t\t\tctx.fillText(label, 0, -yCenterOffset);\n\t\t\t\t\t\t\tctx.restore();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (opts.angleLines.display || opts.pointLabels.display) {\n\t\t\t\t\tdrawPointLabels(me);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\tChart.scaleService.registerScaleType('radialLinear', LinearRadialScale, defaultConfig);\n\n};\n\n},{\"25\":25,\"34\":34,\"45\":45}],58:[function(require,module,exports){\n/* global window: false */\n'use strict';\n\nvar moment = require(6);\nmoment = typeof moment === 'function' ? moment : window.moment;\n\nvar defaults = require(25);\nvar helpers = require(45);\n\n// Integer constants are from the ES6 spec.\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\nvar INTERVALS = {\n\tmillisecond: {\n\t\tcommon: true,\n\t\tsize: 1,\n\t\tsteps: [1, 2, 5, 10, 20, 50, 100, 250, 500]\n\t},\n\tsecond: {\n\t\tcommon: true,\n\t\tsize: 1000,\n\t\tsteps: [1, 2, 5, 10, 30]\n\t},\n\tminute: {\n\t\tcommon: true,\n\t\tsize: 60000,\n\t\tsteps: [1, 2, 5, 10, 30]\n\t},\n\thour: {\n\t\tcommon: true,\n\t\tsize: 3600000,\n\t\tsteps: [1, 2, 3, 6, 12]\n\t},\n\tday: {\n\t\tcommon: true,\n\t\tsize: 86400000,\n\t\tsteps: [1, 2, 5]\n\t},\n\tweek: {\n\t\tcommon: false,\n\t\tsize: 604800000,\n\t\tsteps: [1, 2, 3, 4]\n\t},\n\tmonth: {\n\t\tcommon: true,\n\t\tsize: 2.628e9,\n\t\tsteps: [1, 2, 3]\n\t},\n\tquarter: {\n\t\tcommon: false,\n\t\tsize: 7.884e9,\n\t\tsteps: [1, 2, 3, 4]\n\t},\n\tyear: {\n\t\tcommon: true,\n\t\tsize: 3.154e10\n\t}\n};\n\nvar UNITS = Object.keys(INTERVALS);\n\nfunction sorter(a, b) {\n\treturn a - b;\n}\n\nfunction arrayUnique(items) {\n\tvar hash = {};\n\tvar out = [];\n\tvar i, ilen, item;\n\n\tfor (i = 0, ilen = items.length; i &lt; ilen; ++i) {\n\t\titem = items[i];\n\t\tif (!hash[item]) {\n\t\t\thash[item] = true;\n\t\t\tout.push(item);\n\t\t}\n\t}\n\n\treturn out;\n}\n\n/**\n * Returns an array of {time, pos} objects used to interpolate a specific `time` or position\n * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is\n * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other\n * extremity (left + width or top + height). Note that it would be more optimized to directly\n * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need\n * to create the lookup table. The table ALWAYS contains at least two items: min and max.\n *\n * @param {Number[]} timestamps - timestamps sorted from lowest to highest.\n * @param {String} distribution - If 'linear', timestamps will be spread linearly along the min\n * and max range, so basically, the table will contains only two items: {min, 0} and {max, 1}.\n * If 'series', timestamps will be positioned at the same distance from each other. In this\n * case, only timestamps that break the time linearity are registered, meaning that in the\n * best case, all timestamps are linear, the table contains only min and max.\n */\nfunction buildLookupTable(timestamps, min, max, distribution) {\n\tif (distribution === 'linear' || !timestamps.length) {\n\t\treturn [\n\t\t\t{time: min, pos: 0},\n\t\t\t{time: max, pos: 1}\n\t\t];\n\t}\n\n\tvar table = [];\n\tvar items = [min];\n\tvar i, ilen, prev, curr, next;\n\n\tfor (i = 0, ilen = timestamps.length; i &lt; ilen; ++i) {\n\t\tcurr = timestamps[i];\n\t\tif (curr &gt; min &amp;&amp; curr &lt; max) {\n\t\t\titems.push(curr);\n\t\t}\n\t}\n\n\titems.push(max);\n\n\tfor (i = 0, ilen = items.length; i &lt; ilen; ++i) {\n\t\tnext = items[i + 1];\n\t\tprev = items[i - 1];\n\t\tcurr = items[i];\n\n\t\t// only add points that breaks the scale linearity\n\t\tif (prev === undefined || next === undefined || Math.round((next + prev) / 2) !== curr) {\n\t\t\ttable.push({time: curr, pos: i / (ilen - 1)});\n\t\t}\n\t}\n\n\treturn table;\n}\n\n// @see adapted from http://www.anujgakhar.com/2014/03/01/binary-search-in-javascript/\nfunction lookup(table, key, value) {\n\tvar lo = 0;\n\tvar hi = table.length - 1;\n\tvar mid, i0, i1;\n\n\twhile (lo &gt;= 0 &amp;&amp; lo &lt;= hi) {\n\t\tmid = (lo + hi) &gt;&gt; 1;\n\t\ti0 = table[mid - 1] || null;\n\t\ti1 = table[mid];\n\n\t\tif (!i0) {\n\t\t\t// given value is outside table (before first item)\n\t\t\treturn {lo: null, hi: i1};\n\t\t} else if (i1[key] &lt; value) {\n\t\t\tlo = mid + 1;\n\t\t} else if (i0[key] &gt; value) {\n\t\t\thi = mid - 1;\n\t\t} else {\n\t\t\treturn {lo: i0, hi: i1};\n\t\t}\n\t}\n\n\t// given value is outside table (after last item)\n\treturn {lo: i1, hi: null};\n}\n\n/**\n * Linearly interpolates the given source `value` using the table items `skey` values and\n * returns the associated `tkey` value. For example, interpolate(table, 'time', 42, 'pos')\n * returns the position for a timestamp equal to 42. If value is out of bounds, values at\n * index [0, 1] or [n - 1, n] are used for the interpolation.\n */\nfunction interpolate(table, skey, sval, tkey) {\n\tvar range = lookup(table, skey, sval);\n\n\t// Note: the lookup table ALWAYS contains at least 2 items (min and max)\n\tvar prev = !range.lo ? table[0] : !range.hi ? table[table.length - 2] : range.lo;\n\tvar next = !range.lo ? table[1] : !range.hi ? table[table.length - 1] : range.hi;\n\n\tvar span = next[skey] - prev[skey];\n\tvar ratio = span ? (sval - prev[skey]) / span : 0;\n\tvar offset = (next[tkey] - prev[tkey]) * ratio;\n\n\treturn prev[tkey] + offset;\n}\n\n/**\n * Convert the given value to a moment object using the given time options.\n * @see http://momentjs.com/docs/#/parsing/\n */\nfunction momentify(value, options) {\n\tvar parser = options.parser;\n\tvar format = options.parser || options.format;\n\n\tif (typeof parser === 'function') {\n\t\treturn parser(value);\n\t}\n\n\tif (typeof value === 'string' &amp;&amp; typeof format === 'string') {\n\t\treturn moment(value, format);\n\t}\n\n\tif (!(value instanceof moment)) {\n\t\tvalue = moment(value);\n\t}\n\n\tif (value.isValid()) {\n\t\treturn value;\n\t}\n\n\t// Labels are in an incompatible moment format and no `parser` has been provided.\n\t// The user might still use the deprecated `format` option to convert his inputs.\n\tif (typeof format === 'function') {\n\t\treturn format(value);\n\t}\n\n\treturn value;\n}\n\nfunction parse(input, scale) {\n\tif (helpers.isNullOrUndef(input)) {\n\t\treturn null;\n\t}\n\n\tvar options = scale.options.time;\n\tvar value = momentify(scale.getRightValue(input), options);\n\tif (!value.isValid()) {\n\t\treturn null;\n\t}\n\n\tif (options.round) {\n\t\tvalue.startOf(options.round);\n\t}\n\n\treturn value.valueOf();\n}\n\n/**\n * Returns the number of unit to skip to be able to display up to `capacity` number of ticks\n * in `unit` for the given `min` / `max` range and respecting the interval steps constraints.\n */\nfunction determineStepSize(min, max, unit, capacity) {\n\tvar range = max - min;\n\tvar interval = INTERVALS[unit];\n\tvar milliseconds = interval.size;\n\tvar steps = interval.steps;\n\tvar i, ilen, factor;\n\n\tif (!steps) {\n\t\treturn Math.ceil(range / (capacity * milliseconds));\n\t}\n\n\tfor (i = 0, ilen = steps.length; i &lt; ilen; ++i) {\n\t\tfactor = steps[i];\n\t\tif (Math.ceil(range / (milliseconds * factor)) &lt;= capacity) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn factor;\n}\n\n/**\n * Figures out what unit results in an appropriate number of auto-generated ticks\n */\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n\tvar ilen = UNITS.length;\n\tvar i, interval, factor;\n\n\tfor (i = UNITS.indexOf(minUnit); i &lt; ilen - 1; ++i) {\n\t\tinterval = INTERVALS[UNITS[i]];\n\t\tfactor = interval.steps ? interval.steps[interval.steps.length - 1] : MAX_INTEGER;\n\n\t\tif (interval.common &amp;&amp; Math.ceil((max - min) / (factor * interval.size)) &lt;= capacity) {\n\t\t\treturn UNITS[i];\n\t\t}\n\t}\n\n\treturn UNITS[ilen - 1];\n}\n\n/**\n * Figures out what unit to format a set of ticks with\n */\nfunction determineUnitForFormatting(ticks, minUnit, min, max) {\n\tvar duration = moment.duration(moment(max).diff(moment(min)));\n\tvar ilen = UNITS.length;\n\tvar i, unit;\n\n\tfor (i = ilen - 1; i &gt;= UNITS.indexOf(minUnit); i--) {\n\t\tunit = UNITS[i];\n\t\tif (INTERVALS[unit].common &amp;&amp; duration.as(unit) &gt;= ticks.length) {\n\t\t\treturn unit;\n\t\t}\n\t}\n\n\treturn UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n\nfunction determineMajorUnit(unit) {\n\tfor (var i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i &lt; ilen; ++i) {\n\t\tif (INTERVALS[UNITS[i]].common) {\n\t\t\treturn UNITS[i];\n\t\t}\n\t}\n}\n\n/**\n * Generates a maximum of `capacity` timestamps between min and max, rounded to the\n * `minor` unit, aligned on the `major` unit and using the given scale time `options`.\n * Important: this method can return ticks outside the min and max range, it's the\n * responsibility of the calling code to clamp values if needed.\n */\nfunction generate(min, max, capacity, options) {\n\tvar timeOpts = options.time;\n\tvar minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, capacity);\n\tvar major = determineMajorUnit(minor);\n\tvar stepSize = helpers.valueOrDefault(timeOpts.stepSize, timeOpts.unitStepSize);\n\tvar weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n\tvar majorTicksEnabled = options.ticks.major.enabled;\n\tvar interval = INTERVALS[minor];\n\tvar first = moment(min);\n\tvar last = moment(max);\n\tvar ticks = [];\n\tvar time;\n\n\tif (!stepSize) {\n\t\tstepSize = determineStepSize(min, max, minor, capacity);\n\t}\n\n\t// For 'week' unit, handle the first day of week option\n\tif (weekday) {\n\t\tfirst = first.isoWeekday(weekday);\n\t\tlast = last.isoWeekday(weekday);\n\t}\n\n\t// Align first/last ticks on unit\n\tfirst = first.startOf(weekday ? 'day' : minor);\n\tlast = last.startOf(weekday ? 'day' : minor);\n\n\t// Make sure that the last tick include max\n\tif (last &lt; max) {\n\t\tlast.add(1, minor);\n\t}\n\n\ttime = moment(first);\n\n\tif (majorTicksEnabled &amp;&amp; major &amp;&amp; !weekday &amp;&amp; !timeOpts.round) {\n\t\t// Align the first tick on the previous `minor` unit aligned on the `major` unit:\n\t\t// we first aligned time on the previous `major` unit then add the number of full\n\t\t// stepSize there is between first and the previous major time.\n\t\ttime.startOf(major);\n\t\ttime.add(~~((first - time) / (interval.size * stepSize)) * stepSize, minor);\n\t}\n\n\tfor (; time &lt; last; time.add(stepSize, minor)) {\n\t\tticks.push(+time);\n\t}\n\n\tticks.push(+time);\n\n\treturn ticks;\n}\n\n/**\n * Returns the right and left offsets from edges in the form of {left, right}.\n * Offsets are added when the `offset` option is true.\n */\nfunction computeOffsets(table, ticks, min, max, options) {\n\tvar left = 0;\n\tvar right = 0;\n\tvar upper, lower;\n\n\tif (options.offset &amp;&amp; ticks.length) {\n\t\tif (!options.time.min) {\n\t\t\tupper = ticks.length &gt; 1 ? ticks[1] : max;\n\t\t\tlower = ticks[0];\n\t\t\tleft = (\n\t\t\t\tinterpolate(table, 'time', upper, 'pos') -\n\t\t\t\tinterpolate(table, 'time', lower, 'pos')\n\t\t\t) / 2;\n\t\t}\n\t\tif (!options.time.max) {\n\t\t\tupper = ticks[ticks.length - 1];\n\t\t\tlower = ticks.length &gt; 1 ? ticks[ticks.length - 2] : min;\n\t\t\tright = (\n\t\t\t\tinterpolate(table, 'time', upper, 'pos') -\n\t\t\t\tinterpolate(table, 'time', lower, 'pos')\n\t\t\t) / 2;\n\t\t}\n\t}\n\n\treturn {left: left, right: right};\n}\n\nfunction ticksFromTimestamps(values, majorUnit) {\n\tvar ticks = [];\n\tvar i, ilen, value, major;\n\n\tfor (i = 0, ilen = values.length; i &lt; ilen; ++i) {\n\t\tvalue = values[i];\n\t\tmajor = majorUnit ? value === +moment(value).startOf(majorUnit) : false;\n\n\t\tticks.push({\n\t\t\tvalue: value,\n\t\t\tmajor: major\n\t\t});\n\t}\n\n\treturn ticks;\n}\n\nfunction determineLabelFormat(data, timeOpts) {\n\tvar i, momentDate, hasTime;\n\tvar ilen = data.length;\n\n\t// find the label with the most parts (milliseconds, minutes, etc.)\n\t// format all labels with the same level of detail as the most specific label\n\tfor (i = 0; i &lt; ilen; i++) {\n\t\tmomentDate = momentify(data[i], timeOpts);\n\t\tif (momentDate.millisecond() !== 0) {\n\t\t\treturn 'MMM D, YYYY h:mm:ss.SSS a';\n\t\t}\n\t\tif (momentDate.second() !== 0 || momentDate.minute() !== 0 || momentDate.hour() !== 0) {\n\t\t\thasTime = true;\n\t\t}\n\t}\n\tif (hasTime) {\n\t\treturn 'MMM D, YYYY h:mm:ss a';\n\t}\n\treturn 'MMM D, YYYY';\n}\n\nmodule.exports = function(Chart) {\n\n\tvar defaultConfig = {\n\t\tposition: 'bottom',\n\n\t\t/**\n\t\t * Data distribution along the scale:\n\t\t * - 'linear': data are spread according to their time (distances can vary),\n\t\t * - 'series': data are spread at the same distance from each other.\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\n\t\t * @since 2.7.0\n\t\t */\n\t\tdistribution: 'linear',\n\n\t\t/**\n\t\t * Scale boundary strategy (bypassed by min/max time options)\n\t\t * - `data`: make sure data are fully visible, ticks outside are removed\n\t\t * - `ticks`: make sure ticks are fully visible, data outside are truncated\n\t\t * @see https://github.com/chartjs/Chart.js/pull/4556\n\t\t * @since 2.7.0\n\t\t */\n\t\tbounds: 'data',\n\n\t\ttime: {\n\t\t\tparser: false, // false == a pattern string from http://momentjs.com/docs/#/parsing/string-format/ or a custom callback that converts its argument to a moment\n\t\t\tformat: false, // DEPRECATED false == date objects, moment object, callback or a pattern string from http://momentjs.com/docs/#/parsing/string-format/\n\t\t\tunit: false, // false == automatic or override with week, month, year, etc.\n\t\t\tround: false, // none, or override with week, month, year, etc.\n\t\t\tdisplayFormat: false, // DEPRECATED\n\t\t\tisoWeekday: false, // override week start day - see http://momentjs.com/docs/#/get-set/iso-weekday/\n\t\t\tminUnit: 'millisecond',\n\n\t\t\t// defaults to unit's corresponding unitFormat below or override using pattern string from http://momentjs.com/docs/#/displaying/format/\n\t\t\tdisplayFormats: {\n\t\t\t\tmillisecond: 'h:mm:ss.SSS a', // 11:20:01.123 AM,\n\t\t\t\tsecond: 'h:mm:ss a', // 11:20:01 AM\n\t\t\t\tminute: 'h:mm a', // 11:20 AM\n\t\t\t\thour: 'hA', // 5PM\n\t\t\t\tday: 'MMM D', // Sep 4\n\t\t\t\tweek: 'll', // Week 46, or maybe \"[W]WW - YYYY\" ?\n\t\t\t\tmonth: 'MMM YYYY', // Sept 2015\n\t\t\t\tquarter: '[Q]Q - YYYY', // Q3\n\t\t\t\tyear: 'YYYY' // 2015\n\t\t\t},\n\t\t},\n\t\tticks: {\n\t\t\tautoSkip: false,\n\n\t\t\t/**\n\t\t\t * Ticks generation input values:\n\t\t\t * - 'auto': generates \"optimal\" ticks based on scale size and time options.\n\t\t\t * - 'data': generates ticks from data (including labels from data {t|x|y} objects).\n\t\t\t * - 'labels': generates ticks from user given `data.labels` values ONLY.\n\t\t\t * @see https://github.com/chartjs/Chart.js/pull/4507\n\t\t\t * @since 2.7.0\n\t\t\t */\n\t\t\tsource: 'auto',\n\n\t\t\tmajor: {\n\t\t\t\tenabled: false\n\t\t\t}\n\t\t}\n\t};\n\n\tvar TimeScale = Chart.Scale.extend({\n\t\tinitialize: function() {\n\t\t\tif (!moment) {\n\t\t\t\tthrow new Error('Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com');\n\t\t\t}\n\n\t\t\tthis.mergeTicksOptions();\n\n\t\t\tChart.Scale.prototype.initialize.call(this);\n\t\t},\n\n\t\tupdate: function() {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\n\t\t\t// DEPRECATIONS: output a message only one time per update\n\t\t\tif (options.time &amp;&amp; options.time.format) {\n\t\t\t\tconsole.warn('options.time.format is deprecated and replaced by options.time.parser.');\n\t\t\t}\n\n\t\t\treturn Chart.Scale.prototype.update.apply(me, arguments);\n\t\t},\n\n\t\t/**\n\t\t * Allows data to be referenced via 't' attribute\n\t\t */\n\t\tgetRightValue: function(rawValue) {\n\t\t\tif (rawValue &amp;&amp; rawValue.t !== undefined) {\n\t\t\t\trawValue = rawValue.t;\n\t\t\t}\n\t\t\treturn Chart.Scale.prototype.getRightValue.call(this, rawValue);\n\t\t},\n\n\t\tdetermineDataLimits: function() {\n\t\t\tvar me = this;\n\t\t\tvar chart = me.chart;\n\t\t\tvar timeOpts = me.options.time;\n\t\t\tvar unit = timeOpts.unit || 'day';\n\t\t\tvar min = MAX_INTEGER;\n\t\t\tvar max = MIN_INTEGER;\n\t\t\tvar timestamps = [];\n\t\t\tvar datasets = [];\n\t\t\tvar labels = [];\n\t\t\tvar i, j, ilen, jlen, data, timestamp;\n\n\t\t\t// Convert labels to timestamps\n\t\t\tfor (i = 0, ilen = chart.data.labels.length; i &lt; ilen; ++i) {\n\t\t\t\tlabels.push(parse(chart.data.labels[i], me));\n\t\t\t}\n\n\t\t\t// Convert data to timestamps\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i &lt; ilen; ++i) {\n\t\t\t\tif (chart.isDatasetVisible(i)) {\n\t\t\t\t\tdata = chart.data.datasets[i].data;\n\n\t\t\t\t\t// Let's consider that all data have the same format.\n\t\t\t\t\tif (helpers.isObject(data[0])) {\n\t\t\t\t\t\tdatasets[i] = [];\n\n\t\t\t\t\t\tfor (j = 0, jlen = data.length; j &lt; jlen; ++j) {\n\t\t\t\t\t\t\ttimestamp = parse(data[j], me);\n\t\t\t\t\t\t\ttimestamps.push(timestamp);\n\t\t\t\t\t\t\tdatasets[i][j] = timestamp;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimestamps.push.apply(timestamps, labels);\n\t\t\t\t\t\tdatasets[i] = labels.slice(0);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdatasets[i] = [];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (labels.length) {\n\t\t\t\t// Sort labels **after** data have been converted\n\t\t\t\tlabels = arrayUnique(labels).sort(sorter);\n\t\t\t\tmin = Math.min(min, labels[0]);\n\t\t\t\tmax = Math.max(max, labels[labels.length - 1]);\n\t\t\t}\n\n\t\t\tif (timestamps.length) {\n\t\t\t\ttimestamps = arrayUnique(timestamps).sort(sorter);\n\t\t\t\tmin = Math.min(min, timestamps[0]);\n\t\t\t\tmax = Math.max(max, timestamps[timestamps.length - 1]);\n\t\t\t}\n\n\t\t\tmin = parse(timeOpts.min, me) || min;\n\t\t\tmax = parse(timeOpts.max, me) || max;\n\n\t\t\t// In case there is no valid min/max, set limits based on unit time option\n\t\t\tmin = min === MAX_INTEGER ? +moment().startOf(unit) : min;\n\t\t\tmax = max === MIN_INTEGER ? +moment().endOf(unit) + 1 : max;\n\n\t\t\t// Make sure that max is strictly higher than min (required by the lookup table)\n\t\t\tme.min = Math.min(min, max);\n\t\t\tme.max = Math.max(min + 1, max);\n\n\t\t\t// PRIVATE\n\t\t\tme._horizontal = me.isHorizontal();\n\t\t\tme._table = [];\n\t\t\tme._timestamps = {\n\t\t\t\tdata: timestamps,\n\t\t\t\tdatasets: datasets,\n\t\t\t\tlabels: labels\n\t\t\t};\n\t\t},\n\n\t\tbuildTicks: function() {\n\t\t\tvar me = this;\n\t\t\tvar min = me.min;\n\t\t\tvar max = me.max;\n\t\t\tvar options = me.options;\n\t\t\tvar timeOpts = options.time;\n\t\t\tvar timestamps = [];\n\t\t\tvar ticks = [];\n\t\t\tvar i, ilen, timestamp;\n\n\t\t\tswitch (options.ticks.source) {\n\t\t\tcase 'data':\n\t\t\t\ttimestamps = me._timestamps.data;\n\t\t\t\tbreak;\n\t\t\tcase 'labels':\n\t\t\t\ttimestamps = me._timestamps.labels;\n\t\t\t\tbreak;\n\t\t\tcase 'auto':\n\t\t\tdefault:\n\t\t\t\ttimestamps = generate(min, max, me.getLabelCapacity(min), options);\n\t\t\t}\n\n\t\t\tif (options.bounds === 'ticks' &amp;&amp; timestamps.length) {\n\t\t\t\tmin = timestamps[0];\n\t\t\t\tmax = timestamps[timestamps.length - 1];\n\t\t\t}\n\n\t\t\t// Enforce limits with user min/max options\n\t\t\tmin = parse(timeOpts.min, me) || min;\n\t\t\tmax = parse(timeOpts.max, me) || max;\n\n\t\t\t// Remove ticks outside the min/max range\n\t\t\tfor (i = 0, ilen = timestamps.length; i &lt; ilen; ++i) {\n\t\t\t\ttimestamp = timestamps[i];\n\t\t\t\tif (timestamp &gt;= min &amp;&amp; timestamp &lt;= max) {\n\t\t\t\t\tticks.push(timestamp);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.min = min;\n\t\t\tme.max = max;\n\n\t\t\t// PRIVATE\n\t\t\tme._unit = timeOpts.unit || determineUnitForFormatting(ticks, timeOpts.minUnit, me.min, me.max);\n\t\t\tme._majorUnit = determineMajorUnit(me._unit);\n\t\t\tme._table = buildLookupTable(me._timestamps.data, min, max, options.distribution);\n\t\t\tme._offsets = computeOffsets(me._table, ticks, min, max, options);\n\t\t\tme._labelFormat = determineLabelFormat(me._timestamps.data, timeOpts);\n\n\t\t\treturn ticksFromTimestamps(ticks, me._majorUnit);\n\t\t},\n\n\t\tgetLabelForIndex: function(index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar data = me.chart.data;\n\t\t\tvar timeOpts = me.options.time;\n\t\t\tvar label = data.labels &amp;&amp; index &lt; data.labels.length ? data.labels[index] : '';\n\t\t\tvar value = data.datasets[datasetIndex].data[index];\n\n\t\t\tif (helpers.isObject(value)) {\n\t\t\t\tlabel = me.getRightValue(value);\n\t\t\t}\n\t\t\tif (timeOpts.tooltipFormat) {\n\t\t\t\treturn momentify(label, timeOpts).format(timeOpts.tooltipFormat);\n\t\t\t}\n\t\t\tif (typeof label === 'string') {\n\t\t\t\treturn label;\n\t\t\t}\n\n\t\t\treturn momentify(label, timeOpts).format(me._labelFormat);\n\t\t},\n\n\t\t/**\n\t\t * Function to format an individual tick mark\n\t\t * @private\n\t\t */\n\t\ttickFormatFunction: function(tick, index, ticks, formatOverride) {\n\t\t\tvar me = this;\n\t\t\tvar options = me.options;\n\t\t\tvar time = tick.valueOf();\n\t\t\tvar formats = options.time.displayFormats;\n\t\t\tvar minorFormat = formats[me._unit];\n\t\t\tvar majorUnit = me._majorUnit;\n\t\t\tvar majorFormat = formats[majorUnit];\n\t\t\tvar majorTime = tick.clone().startOf(majorUnit).valueOf();\n\t\t\tvar majorTickOpts = options.ticks.major;\n\t\t\tvar major = majorTickOpts.enabled &amp;&amp; majorUnit &amp;&amp; majorFormat &amp;&amp; time === majorTime;\n\t\t\tvar label = tick.format(formatOverride ? formatOverride : major ? majorFormat : minorFormat);\n\t\t\tvar tickOpts = major ? majorTickOpts : options.ticks.minor;\n\t\t\tvar formatter = helpers.valueOrDefault(tickOpts.callback, tickOpts.userCallback);\n\n\t\t\treturn formatter ? formatter(label, index, ticks) : label;\n\t\t},\n\n\t\tconvertTicksToLabels: function(ticks) {\n\t\t\tvar labels = [];\n\t\t\tvar i, ilen;\n\n\t\t\tfor (i = 0, ilen = ticks.length; i &lt; ilen; ++i) {\n\t\t\t\tlabels.push(this.tickFormatFunction(moment(ticks[i].value), i, ticks));\n\t\t\t}\n\n\t\t\treturn labels;\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetPixelForOffset: function(time) {\n\t\t\tvar me = this;\n\t\t\tvar size = me._horizontal ? me.width : me.height;\n\t\t\tvar start = me._horizontal ? me.left : me.top;\n\t\t\tvar pos = interpolate(me._table, 'time', time, 'pos');\n\n\t\t\treturn start + size * (me._offsets.left + pos) / (me._offsets.left + 1 + me._offsets.right);\n\t\t},\n\n\t\tgetPixelForValue: function(value, index, datasetIndex) {\n\t\t\tvar me = this;\n\t\t\tvar time = null;\n\n\t\t\tif (index !== undefined &amp;&amp; datasetIndex !== undefined) {\n\t\t\t\ttime = me._timestamps.datasets[datasetIndex][index];\n\t\t\t}\n\n\t\t\tif (time === null) {\n\t\t\t\ttime = parse(value, me);\n\t\t\t}\n\n\t\t\tif (time !== null) {\n\t\t\t\treturn me.getPixelForOffset(time);\n\t\t\t}\n\t\t},\n\n\t\tgetPixelForTick: function(index) {\n\t\t\tvar ticks = this.getTicks();\n\t\t\treturn index &gt;= 0 &amp;&amp; index &lt; ticks.length ?\n\t\t\t\tthis.getPixelForOffset(ticks[index].value) :\n\t\t\t\tnull;\n\t\t},\n\n\t\tgetValueForPixel: function(pixel) {\n\t\t\tvar me = this;\n\t\t\tvar size = me._horizontal ? me.width : me.height;\n\t\t\tvar start = me._horizontal ? me.left : me.top;\n\t\t\tvar pos = (size ? (pixel - start) / size : 0) * (me._offsets.left + 1 + me._offsets.left) - me._offsets.right;\n\t\t\tvar time = interpolate(me._table, 'pos', pos, 'time');\n\n\t\t\treturn moment(time);\n\t\t},\n\n\t\t/**\n\t\t * Crude approximation of what the label width might be\n\t\t * @private\n\t\t */\n\t\tgetLabelWidth: function(label) {\n\t\t\tvar me = this;\n\t\t\tvar ticksOpts = me.options.ticks;\n\t\t\tvar tickLabelWidth = me.ctx.measureText(label).width;\n\t\t\tvar angle = helpers.toRadians(ticksOpts.maxRotation);\n\t\t\tvar cosRotation = Math.cos(angle);\n\t\t\tvar sinRotation = Math.sin(angle);\n\t\t\tvar tickFontSize = helpers.valueOrDefault(ticksOpts.fontSize, defaults.global.defaultFontSize);\n\n\t\t\treturn (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation);\n\t\t},\n\n\t\t/**\n\t\t * @private\n\t\t */\n\t\tgetLabelCapacity: function(exampleTime) {\n\t\t\tvar me = this;\n\n\t\t\tvar formatOverride = me.options.time.displayFormats.millisecond;\t// Pick the longest format for guestimation\n\n\t\t\tvar exampleLabel = me.tickFormatFunction(moment(exampleTime), 0, [], formatOverride);\n\t\t\tvar tickLabelWidth = me.getLabelWidth(exampleLabel);\n\t\t\tvar innerWidth = me.isHorizontal() ? me.width : me.height;\n\n\t\t\tvar capacity = Math.floor(innerWidth / tickLabelWidth);\n\t\t\treturn capacity &gt; 0 ? capacity : 1;\n\t\t}\n\t});\n\n\tChart.scaleService.registerScaleType('time', TimeScale, defaultConfig);\n};\n\n},{\"25\":25,\"45\":45,\"6\":6}]},{},[7])(7)\n});]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-24 19:23:20&lt;/sys_created_on&gt;&lt;sys_id&gt;76f9ac261319e340e5843192e144b04f&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;chart.js&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_76f9ac261319e340e5843192e144b04f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-24 19:23:20&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-272762162</payload_hash>\n<remote_update_set display_value=\"PE Angular Line Chart\">e3dbe0e61319e340e5843192e144b09b</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2018-10-24 19:31:06</sys_created_on>\n<sys_id>efdbe0e61319e340e5843192e144b09c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>166a78804280000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2018-10-24 19:31:06</sys_updated_on>\n<table/>\n<target_name>chart.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>f91a20668d19e340b60bbe5df0e79155</update_guid>\n<update_guid_history>f91a20668d19e340b60bbe5df0e79155:-272762162</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-ng-line-chart/widget/pe-ng-line-chart.u-body-html-template.html",
    "content": "<canvas id=\"line\" class=\"chart chart-line\" chart-data=\"c.data\" chart-labels=\"c.labels\" chart-series=\"c.series\"\n  chart-options=\"c.options\" chart-dataset-override=\"c.datasetOverride\">\n</canvas>"
  },
  {
    "path": "src/pe-ng-line-chart/widget/pe-ng-line-chart.u-client-script.js",
    "content": "function LineChartController() {\n  var c = this;\n\n  c.$onInit = function() {\n    setChartOptions();\n  };\n\n  function setChartOptions() {\n    c.labels = c.data.chartLabels;\n    c.series = c.data.chartSeries;\n    c.data = c.data.dataset;\n    c.datasetOverride = c.data.chartOverrides;\n    c.options = c.data.chartOptions;\n  }\n}\n"
  },
  {
    "path": "src/pe-ng-line-chart/widget/pe-ng-line-chart.u-server-script.js",
    "content": "(function() {\n  data.chartLabels = getChartLabels();\n  data.chartOptions = getChartOptions();\n  data.chartOverrides = getChartOverrides();\n  data.chartSeries = getChartSeries();\n  data.dataset = getDataSet();\n\n  function dataSet(length, max) {\n    return [randomData(length, max), randomData(length, max)];\n  }\n\n  function getChartLabels() {\n    return ['January', 'February', 'March', 'April', 'May', 'June', 'July'];\n  }\n\n  function getChartOverrides() {\n    return [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }];\n  }\n\n  function getChartSeries() {\n    return ['Series A', 'Series B'];\n  }\n\n  function getDataSet() {\n    return dataSet(getChartLabels().length, 100);\n  }\n\n  function getChartOptions() {\n    return {\n      scales: {\n        yAxes: [\n          {\n            id: 'y-axis-1',\n            type: 'linear',\n            display: true,\n            position: 'left'\n          },\n          {\n            id: 'y-axis-2',\n            type: 'linear',\n            display: true,\n            position: 'right'\n          }\n        ]\n      }\n    };\n  }\n\n  function randomData(length, max) {\n    return Array.apply(null, Array(length)).map(randomNumber(max));\n  }\n\n  function randomNumber(max) {\n    return function() {\n      return Math.floor(Math.random() * max);\n    };\n  }\n})();\n"
  },
  {
    "path": "src/pe-order-overview/README.md",
    "content": "# Order Overview\n\n## Description\n\nA set of widgets and page based on order guide. The widgets show an overview of a given order: a description and its contents, including a featured item (the first listed in the order guide).\n\nThe user is given the choice of two actions: 'Add to Cart' immediately adds all items to the cart, and 'Customize Bundle' proceeds through the standard order guide procedure.\n\n![Order Overview](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-order-overview/images/pe-order-overview.png)\n\nPage `sc_og_overview` contains widget `sc-og-overview-page`, in which is embedded `sc-og-overview`. Given a `sys_id` in its url parameters, the page will show the full expanded overview for that order guide.\n\nWith no sys_id provided the page will show all order guides in the service catalog, with content details collapsed (expandable upon selection). In list view the page is given an assignable title (defaults to 'Bundled Orders'). If the page is given id parameters for `catalog` or `category`, the list becomes filtered and labeling changes accordingly.\n\n![Order Overview](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-order-overview/images/pe-order-overview-list.png)\n\nThe independently configurable `sc-og-overview` can also be placed on other pages, and assigned a specific order guide through widget options, with basic user filters to determine which users it should be displayed for. The attached source code is from this widget.\n\n![Order Overview](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-order-overview/images/pe-order-overview-in-portal.png)\n\n## Additional Information/Notes\n\nThe widgets include minimal styles, applied to Bootstrap standards, so can be easily influenced by theme. These screenshots show the portal/page with the Bootswatch theme 'United'.\n\n## Installation\n\nDownload and install update set **[pe-order-overview.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-order-overview/pe-order-overview.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Order Overview\n\n* Show to Users based on Query (e.g. location.country=USA) / `query_recommend`\n* Collapse Included Items List (stays open if unchecked) / `collapse_items_list`\n* Order Guide / `sys_id`\n* Featured on Page (influences breadcrumbs, title) / `featured_on_page`\n\n### Order Overview Page\n\nWidget is influenced by parameters as decribed above.\n\n## Platform Dependencies\n\n### SN System Tables\n\n`sc_cat_item_guide`\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-order-overview/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Content\",\n  \"common-name\": \"Order Overview\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Jacob Shemkovitz\",\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"service catalog\",\n    \"order guide\"\n  ],\n  \"name\": \"pe-order-overview\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"An overview page for order guides.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-order-overview/pe-order-overview.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-17 17:39:18\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Order Overview</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>cac91fe4dbd4bb00d7f8f88eaf96196d</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>f1373d38db5cbb00d7f8f88eaf961965</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_4f71246cdb9c7b00d7f8f88eaf96192c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Copy of Order Guide (1) - Container 2\">4771246cdb9c7b00d7f8f88eaf96192b</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>4f71246cdb9c7b00d7f8f88eaf96192c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_row_4f71246cdb9c7b00d7f8f88eaf96192c</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-16 16:46:15</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-159383765</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>35373d38db5cbb00d7f8f88eaf9619b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698765973d0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>0b71246ca99c7b0028c7acacaeb5db2d</update_guid>\n<update_guid_history>0b71246ca99c7b0028c7acacaeb5db2d:-159383765</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_4371246cdb9c7b00d7f8f88eaf961928</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><size>3</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">c771246cdb9c7b00d7f8f88eaf961922</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>4371246cdb9c7b00d7f8f88eaf961928</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_4371246cdb9c7b00d7f8f88eaf961928</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-16 16:46:15</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-2061096171</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>39373d38db5cbb00d7f8f88eaf961965</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698765969c0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>cb71246ced9c7b00603a476b2d01c028</update_guid>\n<update_guid_history>cb71246ced9c7b00603a476b2d01c028:-2061096171</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_8771e06cdb9c7b00d7f8f88eaf96198b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name>breadcrumbs-container</class_name><container_class_name/><name>Order Overview - Container 1</name><order>1</order><sp_page display_value=\"sc_og_recommended\">be71e06cdb9c7b00d7f8f88eaf961988</sp_page><subheader>true</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>8771e06cdb9c7b00d7f8f88eaf96198b</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Order Overview - Container 1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_8771e06cdb9c7b00d7f8f88eaf96198b</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-17 06:08:20</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>-1321992981</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>39373d38db5cbb00d7f8f88eaf961966</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698a43ebae0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>Order Overview - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>5419d7e493d4bb005cd891cb0e398576</update_guid>\n<update_guid_history>5419d7e493d4bb005cd891cb0e398576:-1321992981,797220ac069c7b002dd47e2815e4f092:1575815995,2b32ac6c809c7b004e295998709e7825:282940374,4b71246ced9c7b0070ab5876e3cdf821:-403174506</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4371246cdb9c7b00d7f8f88eaf961926</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">c371246cdb9c7b00d7f8f88eaf961924</sp_column><sp_widget display_value=\"breadcrumbs\">0fb269305b3212000d7ec7ad31f91ae2</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>4371246cdb9c7b00d7f8f88eaf961926</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_4371246cdb9c7b00d7f8f88eaf961926</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-16 16:46:15</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4371246cdb9c7b00d7f8f88eaf961926\"/></record_update>]]></payload>\n<payload_hash>1996124915</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>39373d38db5cbb00d7f8f88eaf9619b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169876596730000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>4771246ce19c7b00a7665c42a50d6e27</update_guid>\n<update_guid_history>4771246ce19c7b00a7665c42a50d6e27:1996124915</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_be71e06cdb9c7b00d7f8f88eaf961988</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>sc</category><css/><draft>false</draft><dynamic_title_structure/><id>sc_og_overview</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>be71e06cdb9c7b00d7f8f88eaf961988</sys_id><sys_mod_count>4</sys_mod_count><sys_name>sc_og_overview</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_page_be71e06cdb9c7b00d7f8f88eaf961988</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-17 06:08:20</sys_updated_on><title>Order Overview</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=be71e06cdb9c7b00d7f8f88eaf961988\"/></record_update>]]></payload>\n<payload_hash>-1306665048</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>71373d38db5cbb00d7f8f88eaf9619b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698a43eda00000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>sc_og_overview</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>e019d7e431d4bb007076ebabab62b479</update_guid>\n<update_guid_history>e019d7e431d4bb007076ebabab62b479:-1306665048,b2cca5646e90bb00cae3e05821526b92:245121403,f17220acb79c7b004893dcb04e304295:-2147399193,6732ac6c299c7b0076733848f597ec28:2122772305,0b71e06ca99c7b00d70ce17ef899e78a:34042323</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_4771246cdb9c7b00d7f8f88eaf96192b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name>container</container_class_name><name>Order Overview - Container 2</name><order>2</order><sp_page display_value=\"sc_og_recommended\">be71e06cdb9c7b00d7f8f88eaf961988</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>4771246cdb9c7b00d7f8f88eaf96192b</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Order Overview - Container 2</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_container_4771246cdb9c7b00d7f8f88eaf96192b</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-17 06:08:20</sys_updated_on><title/><width>container-fluid</width></sp_container></record_update>]]></payload>\n<payload_hash>1231960501</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>75373d38db5cbb00d7f8f88eaf961966</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698a43eb790000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>Order Overview - Container 2</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>5c19d7e475d4bb00909468094e3da974</update_guid>\n<update_guid_history>5c19d7e475d4bb00909468094e3da974:1231960501,3172e46c169c7b00ef025587f8cc12ad:-612720895,6f32ac6c639c7b0050719c024aa80b23:936214074,0371246c9d9c7b006f375fd62fadbb2c:2125322098</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_cb71246cdb9c7b00d7f8f88eaf96193a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">4f71246cdb9c7b00d7f8f88eaf96192c</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>cb71246cdb9c7b00d7f8f88eaf96193a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_cb71246cdb9c7b00d7f8f88eaf96193a</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-16 16:46:15</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-584348642</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>b1373d38db5cbb00d7f8f88eaf961966</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698765976c0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>8771246c5b9c7b002fbf475394f2eb3b</update_guid>\n<update_guid_history>8771246c5b9c7b002fbf475394f2eb3b:-584348642</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_b4b2e0acdb9c7b00d7f8f88eaf961954</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function recommendedOrders($scope) {}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.og-page-header {\n  padding: 20px;\n  @media (min-width: $screen-md-min) {\n    padding: 30px;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;sc-og-overview-page&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Order Overview Page&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t\n\t// first looks at url params for specific order guide(s)\n\tvar og_ids = $sp.getParameter('sys_id') || $sp.getParameter('sys_ids');\n\tif (og_ids) {\n\t\tog_ids = og_ids.split(',');\n\t\tdata.single_sys_id = (og_ids.length == 1);\n\t\tif (data.single_sys_id) {\n\t\t\tvar ogObj = {\n\t\t\t\twidget: $sp.getWidget('sc-og-overview', {\n\t\t\t\t\t'sys_id': og_ids[0],\n\t\t\t\t\t'collapse_items_list': false,\n\t\t\t\t\t'featured_on_page': 'true'\n\t\t\t\t})\n\t\t\t}\n\t\t\tdata.ogs = [ogObj];\n\t\t} else {\n\t\t\tvar ogObjs = [];\n\t\t\tog_ids.forEach(function(id){\n\t\t\t\togObjs.push({\n\t\t\t\t\twidget: $sp.getWidget('sc-og-overview', {\n\t\t\t\t\t\t'sys_id': id,\n\t\t\t\t\t\t'collapse_items_list': 'true'\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t});\n\t\t\tdata.ogs = ogObjs;\n\t\t}\n\t\treturn;\n\t}\n\t\n\t// OR if no sys_id looks at params for catalog(s)\n\tvar catalogs = $sp.getParameter('catalog') || $sp.getParameter('catalogs');\n\tif (catalogs) {\n\t\tvar catalogObjs = [];\n\t\tvar catalogGR = new GlideRecord('sc_catalog');\n\t\tcatalogGR.addQuery('sys_id','IN', catalogs);\n\t\tcatalogGR.query();\n\t\twhile (catalogGR.next()) {\n\t\t\tcatalogObjs.push({\n\t\t\t\tname: catalogGR.getDisplayValue(),\n\t\t\t\tsys_id: catalogGR.getUniqueValue()\n\t\t\t})\n\t\t}\n\t\tdata.catalogs = catalogObjs;\n\t}\n\t\n\t// then looks at params for category(s)\n\tvar categories = $sp.getParameter('category') || $sp.getParameter('categories');\n\tif (categories) {\n\t\tvar categoryObjs = [];\n\t\tvar categoryGR = new GlideRecord('sc_category');\n\t\tcategoryGR.addQuery('sys_id','IN', categories);\n\t\tcategoryGR.query();\n\t\twhile (categoryGR.next()) {\n\t\t\tcategoryObjs.push({\n\t\t\t\tname: categoryGR.getDisplayValue(),\n\t\t\t\tsys_id: categoryGR.getUniqueValue()\n\t\t\t})\n\t\t}\n\t\tdata.categories = categoryObjs;\n\t}\n\t\n\t// get ogs in defined catalogs &amp; categories, or all\n\tvar ogs = [];\n\tvar gr = new GlideRecord('sc_cat_item_guide');\n\tif (data.catalogs) {\n\t\tgr.addNotNullQuery('sc_catalogs');\n\t\tif (data.catalogs.length &gt; 1) {\n\t\t\tvar grOR = gr.addQuery('sc_catalogs','CONTAINS', data.catalogs[0].sys_id);\n\t\t\tdata.catalogs.forEach( function(catalog){\n\t\t\t\tgrOR.addOrCondition('sc_catalogs','CONTAINS', catalog.sys_id);\n\t\t\t});\n\t\t} else if (data.catalogs.length == 1) {\n\t\t\tgr.addQuery('sc_catalogs','CONTAINS', data.catalogs[0].sys_id);\n\t\t}\n\t}\n\tif (data.categories) {\n\t\tgr.addNotNullQuery('category');\n\t\tgr.addQuery('category','IN', categories);\n\t}\n\tgr.query();\n\twhile (gr.next()) {\n\t\togs.push({\n\t\t\twidget: $sp.getWidget('sc-og-overview', {\n\t\t\t\t'sys_id': gr.getUniqueValue(),\n\t\t\t  'collapse_items_list': 'true'\n\t\t\t})\n\t\t});\n\t}\n\tdata.ogs = ogs;\n\t\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-16 16:52:05&lt;/sys_created_on&gt;&lt;sys_id&gt;b4b2e0acdb9c7b00d7f8f88eaf961954&lt;/sys_id&gt;&lt;sys_mod_count&gt;66&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order Overview Page&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b4b2e0acdb9c7b00d7f8f88eaf961954&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-17 06:01:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"og-page-header\" ng-if=\"!data.single_sys_id\"&gt;\n  &lt;h1&gt;{{::options.title}}&lt;/h1&gt;\n  &lt;h5 ng-if=\"::data.catalogs || data.categories\"&gt; \n    ${Bundled catalog items selected for you}\n    &lt;span ng-if=\"::data.catalogs\"&gt;\n      ${from {{data.catalogs.length &gt; 1 ? 'catalogs' : 'catalog'}}}\n      &lt;a ng-repeat-start=\"catalog in ::data.catalogs\"\n         ng-href=\"?id=sc_view&amp;sc_catalog={{::catalog.sys_id}}\"\n         ng-bind=\"::catalog.name\"&gt;\n      &lt;/a&gt;&lt;span ng-repeat-end ng-if=\"!$last\"&gt;, &lt;/span&gt;\n    &lt;/span&gt;\n    &lt;span ng-if=\"::data.categories\"&gt;\n      ${{{data.catalogs?'and ':''}}from {{data.categories.length &gt; 1 ? 'categories' : 'category'}}}\n      &lt;a ng-repeat-start=\"category in ::data.categories\" \n         ng-href=\"?id=sc_category&amp;sys_id={{::category.sys_id}}\"\n         ng-bind=\"::category.name\"&gt;\n      &lt;/a&gt;&lt;span ng-repeat-end ng-if=\"!$last\"&gt;, &lt;/span&gt;\n    &lt;/span&gt;\n  &lt;/h5&gt;\n&lt;/div&gt;\n\n&lt;div ng-repeat=\"og in ::data.ogs\"&gt;\n  &lt;div ng-if=\"og.widget\"&gt;\n    &lt;sp-widget widget=\"og.widget\"&gt;&lt;/sp-widget&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1058892990</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>b9373d38db5cbb00d7f8f88eaf9619b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698a3da6510000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>Order Overview Page</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>c0871ba49ed4bb005cc18b7e554a5e08</update_guid>\n<update_guid_history>c0871ba49ed4bb005cc18b7e554a5e08:-1058892990,25625f6042d4bb002d24dfef94321fba:87192902,fe1c8f6c4694bb00a9b3471e2bfcb1e1:-1340631994,89ae3264db94bb00e7abaf27cb769abc:-1584833231,de227d28e590bb00f40472679a3526de:-1869578709,46817d28b990bb001fad81a713780041:-34572953,d471b9287590bb00a5ec5e2cc01bbb53:-1404513320,e84179280190bb00e49640b7bf5763ce:-451424689,a4e0f1280490bb00675c14bc8ab32121:-405641429,16dfe1a4af90bb00d32408b30c33c78d:413670467,6c2ceda09590bb007c4ab8d021a34d15:1877002165,2cabeda02290bb009ffef53d31363a22:1264284875,424bada03a90bb0074e29e091b17ba10:-1781006345,962b29a05690bb00927ddcaf2d2cb124:483616215,0e0821201390bb009350af190a07578b:-620285494,79d6e1ecb550bb00dafbc6daba2f6752:2040581108,55b6a1ec1950bb00a552aaaf2028ba79:-443934760,e226e5acad50bb001a4f0c7663133f0b:-1538394064,52f5a5ac4650bb00d06b20f0a6ba1eee:-1820146235,bd75e1acc350bb008618376f91c38d79:1417548365,6235ad6c2b50bb00deea2f859c923927:1160764651,770521ac8850bb006dd7d504e6f2c90e:2056913939,bbd4a56cb050bb008d977662eb54eb5c:-2124682610,4483a92cbc50bb00ea91363923888b78:32557133,e1b2652cb950bb00717da7982c70dd66:-821358411,7992252c9550bb006cc57cddf08a01e5:1195232885,3e62a12c2550bb006cec60eb26d5309c:-2092560437,033125e8de50bb002cf9d49259097a9b:940427273,3721e1e85e50bb00abd7a1d23802a094:-1851537673,2511ada88350bb00d0e9813beae26127:-588600147,6680e9a89f50bb00c21378196da3771f:2097987005,a53069a8f950bb00c5c02609b1af8abf:1120962564,928f91a81550bb00854f8a1be2b3e967:-2923340,865d9528cc50bb00c58f80df3a3b27e5:233770236,66cc91a48350bb0027133c041c447c66:-1903841562,213cdde46550bb0059078fe4b1d5e4c4:756353644,07499d645550bb0047ed4754bd02c572:-618307668,c7f8d964b050bb002b94a45493c02e6f:698378204,a8c89d249d50bb00d7d23d8a9b16e654:313301584,d0585d243b50bb00b613afc6598e3b05:2012753501,10a6dde01650bb00f979dc18def22e50:612327602,2d265de0e050bb00ea9491e4ce2638d8:9195361,40b559e06850bb00c2fbdc6c85bb1dc0:166355434,d994d9a0a250bb0058c9edb13ccc1da6:-998159967,cb34d5a0ab50bb00f77ce8f9922b07e7:-1291542707,4ce35d60b650bb0002f6ab91ddad8c10:1135113767,c4701120ec50bb00b12aab474b2dc8d4:-390473903,ed2e49ac1710bb006caefae1005e358a:1923562524,040d812ceb10bb0083093b359f8a4106:-272521411,d8c909a8d710bb00eb4f2f417bd2eda9:2116608377,c3760da47710bb00d61a038daae1bec2:-2134000966,9a6505a4d710bb004a30dcab2f3e8ca1:233432086,1a4505a40210bb00287eda97fa2a8414:133795758,669409649310bb00cf3c0d1f13eacce6:-1734046544,ba2409646d10bb00d00c2e7b2152a3de:-690192095,5b938d243a10bb007208e706d3c922ec:-213053605,822309247b10bb0083eb4ccb87e5f3f6:-140351539,f8f209242910bb0065e980fed6b87037:-547437016,bc6e34205510bb00c2194b1bd9ff69ee:1446473453,f3adb4ec39dc7b000631cbbd97edd674:-2109692819,48bcb8ac90dc7b0040a45789daeb7837:240148525,da5cb8acc2dc7b003987e4707b674f2b:613587820,be1bf4ac20dc7b00264d08308232906e:862273567,adaa70ac80dc7b00e40c677d10175a73:936502550,fec7b4a8d2dc7b00c998da4fc2bd0358:280976917,2ca7b02c44dc7b003f52e9bee76165ec:115807977,10d2e0acf69c7b00f0d7baff266e4668:-1270673623</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4b71246cdb9c7b00d7f8f88eaf961929</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;0&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"2\"&gt;4371246cdb9c7b00d7f8f88eaf961928&lt;/sp_column&gt;&lt;sp_widget display_value=\"Typeahead Search\"&gt;fa20ec02cb31020000f8d856634c9ce9&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-16 16:46:15&lt;/sys_created_on&gt;&lt;sys_id&gt;4b71246cdb9c7b00d7f8f88eaf961929&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_4b71246cdb9c7b00d7f8f88eaf961929&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-16 16:46:15&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"title\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"color\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"glyph\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"size\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"limit\": {\n\t\t\"value\": null,\n\t\t\"displayValue\": \"\"\n\t},\n\t\"contextual_search_sources\": {\n\t\t\"value\": \"c96eb1686721220023c82e08f585efff\",\n\t\t\"displayValue\": \"Service Catalog\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=4b71246cdb9c7b00d7f8f88eaf961929\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-195447538</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>bd373d38db5cbb00d7f8f88eaf9619b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169876596d80000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>8b71246c809c7b0048cefc962cde152a</update_guid>\n<update_guid_history>8b71246c809c7b0048cefc962cde152a:-195447538</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4c492bd4db7b6b40b64fd8b6f4961948</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, $http, nowServer, $timeout, spUtil, spModal, i18n, $window, $location, spAriaUtil, nowAttachmentHandler, $log) {\n\tvar c = this;\n\t$scope.guide_step = 0;\n\t$scope.m = $scope.data.msgs;\n\t$scope.evaluatingIncludes = false;\n\n\t$scope.showItem = function(index) {\n\t\tif($scope.itemShown == index)\n\t\t\t$scope.itemShown = -1;\n\t\telse\n\t\t\t$scope.itemShown = index;\n\t}\n\t\n\t$scope.goPrev = function() {\n\t\t$scope.guide_step--;\n\t}\n\t\n\t$scope.toggleItemState = function(item) {\n\t\tif(item.included) {\n\t\t\t$scope.totalIncluded--;\n\t\t\tangular.element('#item_details_' + item.sys_id).find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').attr('tabindex', -1);\n\t\t}\n\t\telse {\n\t\t\t$scope.totalIncluded++;\n\t\t\tangular.element('#item_details_' + item.sys_id).find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').removeAttr('tabindex');\n\t\t}\n\t}\n\t\n\t$scope.goNext = function() {\n\t\tvar gForm;\n\t\tif($scope.guide_step == 0) {\n\t\t\tgForm = includedGformInstances[$scope.data.sys_id];\n\t\t\tif(gForm.submit()) {\n\t\t\t\tevalIncludes();\n\t\t\t\t$scope.guide_step++;\n\t\t\t\t$scope.itemShown = 0;\n\t\t\t}\n\t\t}\n\t\telse if($scope.guide_step == 1) {\n\t\t\tvar canSubmit = true;\n\t\t\tfor (var i = 0; i &lt; $scope.includedItems.length; i++) {\n\t\t\t\tif ($scope.includedItems[i].included) {\n\t\t\t\t\tgForm = includedGformInstances[$scope.includedItems[i].sys_id];\n\t\t\t\t\tif (gForm &amp;&amp; !gForm.submit()) {\n\t\t\t\t\t\tcanSubmit = false;\n\t\t\t\t\t\t$scope.includedItems[i].isOpen = true;\n\t\t\t\t\t\t$timeout(function(){\n\t\t\t\t\t\t\tvar mandatory = $scope.includedItems[i]._mandatory;\n\t\t\t\t\t\t\tif (mandatory &amp;&amp; mandatory.length &gt; 0) {\n\t\t\t\t\t\t\t\tvar elems = angular.element(\"[name*='\" + mandatory[0].name + \"']\");\n\t\t\t\t\t\t\t\tif (elems &amp;&amp; elems.length &gt; 0) //set focus the first element\n\t\t\t\t\t\t\t\t\telems[0].focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(canSubmit) {\n\t\t\t\tevalGuidePrice();\n\t\t\t\t$scope.guide_step++;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tevalIncludes();\n\t\n\t// Breadcrumbs\n\t\n\tif ($scope.data.featuredOnPage &amp;&amp; $scope.data.sc_cat_item) {\n\t\tif (!$scope.data.categories)\n\t\t\t$scope.data.categories = [];\n\t\tif ($scope.data.categories.length &gt; 0) {\n\t\t$scope.data.categories.unshift({label: $scope.data.sc_catalog || $scope.page.title, url: '?id=' + $scope.data.sc_catalog_page});\n\t\t$scope.data.categories.push({label: $scope.data.sc_cat_item.name, url: '#'});\n\t\t}\n\t\telse {\n\t\t\t$scope.data.categories.push({label: $scope.data.sc_cat_item.name, url: '#'});\n\t\t}\n\t\t\n\t\t$timeout(function() {\n\t\t\t$scope.$emit('sp.update.breadcrumbs', $scope.data.categories);\n\t\t});\n\t\tspUtil.setSearchPage('sc');\n\t} else {\n\t\tvar notFoundBC = [{label: $scope.page.title, url: '?id=' + $scope.data.sc_catalog_page}];\n\t\t$timeout(function() {\n\t\t\t$scope.$emit('sp.update.breadcrumbs', notFoundBC);\n\t\t});\n\t\tspUtil.setSearchPage('sc');\n\t}\n\n\tvar includedGformInstances = {};\n\t$scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tif (gFormInstance.getSysId() == '-1')\n\t\t\treturn;\n\t\tincludedGformInstances[gFormInstance.getSysId()] = gFormInstance;\n\t});\n\t\n\t$scope.$on('spModel.gForm.destroyed', function(e, sys_id){\n\t\tdelete includedGformInstances[sys_id];\n\t});\n\t\n\tfunction getFieldsData(item) {\n\t\tvar fieldData = {\"variables\":{}};\n\t\tfor(var field in item._fields) {\n\t\t\tvar fieldValue = \"\";\n\t\t\tif (typeof item._fields[field].value != \"string\")\n\t\t\t\tfieldValue = JSON.stringify(item._fields[field].value);\n\t\t\telse\n\t\t\t\tfieldValue = item._fields[field].value;\n\t\t\tfieldData.variables[item._fields[field].name] = fieldValue;\n\t\t\t\t\n\t\t}\n\t\treturn fieldData;\n\t}\n\t\n\tfunction getGuideItems(cartname) {\n\t\tvar items = [];\n\t\tvar item;\n\t\tfor(var i = 0; i &lt; $scope.includedItems.length; i++) {\n\t\t\tif($scope.includedItems[i].included) {\n\t\t\t\titem = getFieldsData($scope.includedItems[i]);\n\t\t\t\titem.sysparm_id = item.sysparm_active = $scope.includedItems[i].sys_id;\n\t\t\t\titem.sysparm_quantity = $scope.includedItems[i].quantity;\n\t\t\t\titem.sysparm_cart_name = cartname;\n\t\t\t\titem.sysparm_item_guid = $scope.includedItems[i].sysparm_item_guid;\n\t\t\t\titems.push(item);\n\t\t\t}\n\t\t}\n\t\treturn items;\n\t}\n\t$scope.triggerAddToCart = function(orderGuide) {\n\t\tif(orderGuide){\n\t\t\t$location.url('?id=sc_cat_item_guide&amp;sys_id='+$scope.data.sc_cat_item.sys_id);\n\t\t}else{\n\n\n\t\t\tif($scope.submitted)\n\t\t\t\treturn;\n\t\t\t$scope.server.get({\n\t\t\t\taction: 'log_request',\n\t\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id,\n\t\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n\t\t\t});\n\t\t\t$scope.submitted = true;\n\t\t\t$scope.server.get({\n\t\t\t\taction: \"add_to_cart\",\n\t\t\t\titems: getGuideItems(\"\"),\n\t\t\t\tsys_id: $scope.data.sys_id\n\t\t\t}).then(function(response) {\n\t\t\t\t$rootScope.$broadcast(\"$sp.service_catalog.cart.add_item\");\n\t\t\t\t$rootScope.$broadcast(\"$sp.service_catalog.cart.update\");\n\t\t\t\t$scope.$emit(\"$sp.sc_order_guide.add_to_cart\");\n\n\t\t\t\tspModal.open({\n\t\t\t\t\tmessage: i18n.getMessage('Items have been added successfully'),\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tbackdrop: 'static',\n\t\t\t\t\tkeyboard: false,\n\t\t\t\t\tnoDismiss: true,\n\t\t\t\t\tbuttons: [\n\t\t\t\t\t\t{label: i18n.getMessage('Catalog Home'), cancel:true},\n\t\t\t\t\t\t{label: i18n.getMessage('View Cart'), primary:true}\n\t\t\t\t\t]\n\t\t\t\t}).then(function() {\n\t\t\t\t\t$location.search(\"id=sc_cart\");\n\t\t\t\t}, function() {\n\t\t\t\t\t$location.search(\"id=sc_home\");\n\t\t\t\t})\n\n\t\t\t});\n\t\t}\n\t}\n\n\t// order / create request\n\t$scope.triggerSubmit = function() {\n\t\tif ($scope.submitted)\n\t\t\treturn;\n\t\tif ($scope.options.isServiceWorkspace &amp;&amp; $window.frameElement) {\n\t\t\tvar workspaceParams = {};\n\t\t\tworkspaceParams.sysparm_parent_table = $window.frameElement.getAttribute('parent-table');\n\t\t\tworkspaceParams.sysparm_parent_sys_id = $window.frameElement.getAttribute('parent-sys-id');\n\t\t\t$scope.data.workspaceParams = workspaceParams;\n\t\t}\n\t\t$scope.server.get({\n\t\t\taction: 'log_request',\n\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id, \n\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n\t\t});\n\n\t\t$scope.submitted = true;\n\t\tvar hasItems = $scope.includedItems.filter(function(item) {\n\t\t\treturn item.sys_class_name != 'sc_cat_item_producer';\n\t\t}).length &gt; 0;\n\t\t\n\t\tif ($scope.data.sys_properties.twostep) {\n\t\t\t\t//Required to pass as payload for usage as embeddedWidget\n\t\t\t\tvar embeddedWidgetOptions = {\n\t\t\t\t\t\"auto_redirect\" : \"true\",\n\t\t\t\t\t\"requested_for_id\" : \"\",\n\t\t\t\t\t\"requested_for_display\" : \"\"\n\t\t\t\t};\n\n\t\t\t\tvar payload = {\n\t\t\t\t\tcart: '' + $scope.data.sys_id,\n\t\t\t\t\titems: getGuideItems('' + $scope.data.sys_id),\n\t\t\t\t\tworkspaceParams: $scope.data.workspaceParams,\n\t\t\t\t\taction: \"order_guide\"\n\t\t\t\t};\n\t\t\t\tfor (var embeddedOption in embeddedWidgetOptions) {\n\t\t\t\t\tpayload[embeddedOption] = c.options[embeddedOption] || embeddedWidgetOptions[embeddedOption];\n\t\t\t\t}\n\t\t\t\t$scope.server.get(payload).then(function(response) {\n\t\t\t\t\tvar orderGuideModalCtrl;\n\t\t\t\t\tvar unregister = $scope.$on('$sp.service_catalog.cart.cancel_order', function(){\n\t\t\t\t\t\torderGuideModalCtrl.close();\n\t\t\t\t\t\t$scope.submitted = false;\n\t\t\t\t\t});\n\t\t\t\t\tvar closeModalOnSubmit = $scope.$on(\"$sp.service_catalog.cart.submitted\", function () {\n\t\t\t\t\t\torderGuideModalCtrl.close();\n\t\t\t\t\t\t$scope.submitted = true;\n\t\t\t\t\t});\n\n\t\t\t\t\tvar orderGuideModal = angular.copy(response.data.orderGuideModal);\n\t\t\t\t\torderGuideModal.options.afterOpen = function(ctrl){\n\t\t\t\t\t\torderGuideModalCtrl = ctrl;\n\t\t\t\t\t};\n\t\t\t\t\torderGuideModal.options.afterClose = function() {\n\t\t\t\t\t\tunregister();\n\t\t\t\t\t\tcloseModalOnSubmit();\n\t\t\t\t\t\t$scope.orderGuideModal = null;\n\t\t\t\t\t\torderGuideModalCtrl = null;\n\t\t\t\t\t};\n\t\t\t\t\t$scope.orderGuideModal = orderGuideModal;\n\t\t\t\t});\n\t\t} else {\n\t\t\t$scope.data.action = 'checkout_guide';\n\t\t\t$scope.data.guideItems = getGuideItems('' + $scope.data.sys_id);\n\t\t\t$scope.server.update().then(function(response) {\n\t\t\t\t$scope.data.action = undefined;\n\t\t\t\t$scope.data.guideItems = undefined;\n\t\t\t\t$scope.$emit(\"$sp.sc_order_guide.submitted\", $scope.data.result);\n\t\t\t\tif ($scope.options.auto_redirect == 'false') {\n\t\t\t\t\tspUtil.addInfoMessage($scope.m.requestSubmitted);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$location.search('id=sc_request&amp;is_new_order=true&amp;table=sc_request&amp;sys_id=' + $scope.data.result.request_id);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction evalGuidePrice() {\n\t\t$scope.price = 0;\n\t\tvar frequencyMap = {};\n\t\tfor (var i = 0; i &lt; $scope.includedItems.length; i++) {\n\t\t\tif ($scope.includedItems[i].included) {\n\t\t\t\tvar pricing = $scope.includedItems[i]._pricing;\n\t\t\t\tvar qty = parseInt($scope.includedItems[i].quantity);\n\t\t\t\tvar effectivePrice = 0;\n\t\t\t\tvar effectiveRecurringPrice = 0;\n\t\t\t\t\n\t\t\t\tif(typeof pricing.recurring_total != \"undefined\") {\n\t\t\t\t\teffectiveRecurringPrice = pricing.recurring_total;\n\t\t\t\t} else {\n\t\t\t\t\teffectiveRecurringPrice = pricing.recurring_price;\n\t\t\t\t}\n\t\t\t\tif (typeof pricing.price_total != \"undefined\") {\n\t\t\t\t\teffectivePrice = pricing.price_total;\n\t\t\t\t} else {\n\t\t\t\t\teffectivePrice = pricing.price;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (effectiveRecurringPrice &gt;= 0) {\n\t\t\t\t\tif(frequencyMap[pricing.rfd])\n\t\t\t\t\t\tfrequencyMap[pricing.rfd] += effectiveRecurringPrice * qty;\n\t\t\t\t\telse\n\t\t\t\t\t\tfrequencyMap[pricing.rfd] = effectiveRecurringPrice * qty;\n\t\t\t\t}\n\t\t\t\tif (effectivePrice &gt;= 0)\n\t\t\t\t\t$scope.price += effectivePrice * qty;\n\t\t\t}\n\t\t}\n\t\tfrequencyMap.price = $scope.price;\n\t\t$scope.server.get({\n\t\t\taction: \"format_prices\",\n\t\t\tprices: frequencyMap\n\t\t}).then(function(response) {\n\t\t\t$scope.frequencySequence = response.data.frequencySequence;\n\t\t\t$scope.price_display = response.data.frequencyMap.price;\n\t\t\t$scope.frequencyMap = response.data.frequencyMap;\n\t\t\t\n\t\t});\n\t}\n\t\n\tfunction evalIncludes() {\n\t\t// don't allow submit while waiting on included items eval\n\t\t$scope.evaluatingIncludes = true;\n\t\t$scope.includedItems = [];\n\t\tvar guideData = getFieldsData($scope.data.sc_cat_item);\n\t\tguideData.sysparm_id = $scope.data.sys_id;\n\t\tguideData.without_cart = true;\n\t\tguideData._fields = $scope.data.sc_cat_item._fields;\n\t\tguideData.cascade = $scope.data.sc_cat_item.cascade;\n\t\t$scope.server.get({\n\t\t\taction: \"init_guide\",\n\t\t\torderGuideData: guideData\n\t\t}).then(function(response) {\n\t\t\t$scope.includedItems = response.data.items;\n\t\t\t$scope.showIncludeToggle = response.data.showIncludeToggle;\n\t\t\tinitAttachmentHandlers();\n\t\t\t$scope.totalIncluded = $scope.includedItems.length;\n\t\t\t$scope.evaluatingIncludes = false;\n\t\t});\n\t}\n\t\n\t$scope.$on('dialog.upload_too_large.show', function(e){\n\t\t$log.error($scope.m.largeAttachmentMsg);\n\t\tspUtil.addErrorMessage($scope.m.largeAttachmentMsg);\n\t});\n\t\n\t$scope.initAttachmentCallbacks = function (itemIndex) {\n\t\t$scope.includedItems[itemIndex].attachmentHandler.setAttachments = function (attachments, action) {\n\t\t\t$scope.includedItems[itemIndex].attachments = attachments;\n\t\t\tif (action === \"renamed\")\n\t\t\t\tspAriaUtil.sendLiveMessage($scope.m.renameSuccessMsg);\n\t\t\tif (action === \"deleted\")\n\t\t\t\tspAriaUtil.sendLiveMessage($scope.m.deleteSuccessMsg);\n\t\t};\n\t\t\n\t\t$scope.includedItems[itemIndex].confirmDeleteAttachment = function(attachment) {\n\t\t\tspModal.confirm($scope.data.msgs.delete_attachment).then(function() {\n\t\t\t\t$scope.includedItems[itemIndex].attachmentHandler.deleteAttachment(attachment);\n\t\t\t\t$('#add_attachment_button').focus();\n\t\t\t});\n\t\t}\n\t}\n\t\n\tfunction initAttachmentHandlers() {\n\t\t\tvar setAttachments;\n\t\t\tvar appendError = function (error) {\n\t\t\t\t\tspUtil.addErrorMessage(error.msg + error.fileName);\n\t\t\t};\n\t\t\tfor (var i = 0; i &lt; $scope.includedItems.length; i++) {\n\t\t\t\t$scope.includedItems[i].attachmentHandler = new nowAttachmentHandler(setAttachments, appendError);\n\t\t\t\t$scope.includedItems[i].attachmentHandler.setParams($scope.includedItems[i].targetTable, $scope.includedItems[i].sysparm_item_guid, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t\t}\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.panel .row {\n  margin: 0;\n}\n\n.details-box {\n  padding: 10px 20px;\n}\n.image-box {\n  padding: 0;\n}\n.image-box img {\n  margin-left: auto;\n  margin-right: auto;\n  max-height: 200px;\n}\n.details-box-primary {\n  padding-top: 20px;\n}\n\n.detail-pair {\n  display: flex;\n  align-items: center;\n  padding: 10px 0px;\n  .icon {\n    width: 35px;\n    margin-right: 10px;\n    font-size: 24px;\n  }\n}\n\n.avatar-container {\n  cursor: default;\n}\n\n.button-set {\n  margin: 5px 0;\n  &amp;gt; .btn {\n  \tmargin: 5px 0;\n  }\n}\n\n.incl-items-header {\n  padding: 10px 20px;\n  border-top: 1px solid $panel-default-border;\n  margin: 0;\n}\n\n\n// grid\n\n$item-grid-gutter: 10px !default;\n.item-grid {\n  display: flex;\n  flex-flow: row wrap;\n  margin: 15px 0;\n  &amp;gt; .item-wrapper {\n    padding: calc($item-grid-gutter/2);\n    width: 50%;\n    min-width: 115px;\n    max-width: 100%;\n    &amp;amp;.item-wrapper-block {\n    \tmax-width: 100%;\n    }\n  }\n}\n\n@media (min-width: 625px) {\n  .item-grid &amp;gt; .item-wrapper {\n  \tmax-width: calc(100%/4);\n  }\n}\n\n@media (min-width: $screen-md-min) {\n  .item-grid &amp;gt; .item-wrapper {\n  \tmax-width: calc(100%/6);\n  }\n  .image-box img {\n    max-height: 300px;\n  }\n  .details-box,\n  .incl-items-header {\n  \tpadding: 15px 30px;\n  }\n  .details-box-primary {\n    padding-top: 30px;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\"options\":{\"sys_id\":\"6690750f4f7b4200086eeed18110c761\"}}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;sc-og-overview&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) { \n\n }]]&gt;&lt;/link&gt;&lt;name&gt;Order Overview&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"recommend_query\",\"section\":\"Behavior\",\"default_value\":\"active=true\",\"label\":\"Show to Users based on Query (e.g. location.country=USA)\",\"type\":\"string\"},{\"name\":\"collapse_items_list\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Collapse Included Items List (stays open if unchecked)\",\"type\":\"boolean\"},{\"displayValue\":\"Order guide\",\"name\":\"sys_id\",\"section\":\"Data\",\"label\":\"Order Guide\",\"type\":\"reference\",\"value\":\"sc_cat_item_guide\",\"ed\":{\"reference\":\"sc_cat_item_guide\"}},{\"name\":\"featured_on_page\",\"section\":\"Presentation\",\"default_value\":\"false\",\"label\":\"Featured on Page (influences breadcrumbs, title)\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n\tvar guideJS;\n\t\n\tvar recommend_table = 'sys_user'; // could assign HR Profile or other criteria in options, need to manage access.\n\tvar recGR = new GlideRecord(recommend_table);\n\trecGR.addQuery( (recommend_table == 'sys_user') ? 'sys_id' : 'user', gs.getUserID() );\n\tif (options.recommend_query) recGR.addEncodedQuery(options.recommend_query);\n\trecGR.query();\n\tdata.isRecommended = recGR.hasNext();\n\tif (!data.isRecommended) return;\n\t\n\tdata.sys_id = $sp.getParameter('sys_id');\n\tdata.collapseItemList = data.allowCollapse = options.collapse_items_list == 'true';\n\tdata.featuredOnPage = options.featured_on_page == 'true';\n\t\n\t['auto_redirect', 'requested_for_id', 'requested_for_display'].forEach(function (embeddedWidgetOption) {\n\t\tif (input &amp;&amp; typeof input[embeddedWidgetOption] != 'undefined')\n\t\t\toptions[embeddedWidgetOption] = input[embeddedWidgetOption];\n\t});\n\t\n\tif(input &amp;&amp; input.action == 'order_guide') {\n\t\tdata.orderGuideModal = $sp.getWidget('widget-modal', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tembeddedWidgetId: 'sc-checkout', \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tembeddedWidgetOptions: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcart: {name: input.cart}, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: input.action, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem: input.items, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequested_for: {id:options.requested_for_id, displayValue:options.requested_for_display}, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tauto_redirect: options.auto_redirect,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentParams: input.workspaceParams\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackdrop: 'static', \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkeyboard: false, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize: 'md'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\treturn;\n\t}\n\telse if (input &amp;&amp; input.action === 'log_request') {\n\t\t $sp.logStat('Cat Item Request', input.itemDetails.sys_class_name, input.itemDetails.sys_id, input.itemDetails.name);\n\t\t return;\n\t}\n\telse if(input &amp;&amp; input.action == \"init_guide\") {\n\t\tguideJS = new sn_sc.OrderGuide('' + input.orderGuideData.sysparm_id);\n\t\tvar temp = guideJS.init(input.orderGuideData);\n\t\tdata.showIncludeToggle = guideJS.isIncludeItems();\n\t\tdata.items = [];\n\t\tvar item;\n\t\tfor(var i = 0; i &lt; temp.items.length; i++) {\n\t\t\tvar catItem = new sn_sc.CatItem('' + temp.items[i].sys_id);\n\t\t\tif(!catItem.canView() || !catItem.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\tvar itemData = {\n\t\t\t\t'sys_id': temp.items[i].sys_id, \n\t\t\t\t'table': 'sc_cat_item', \n\t\t\t\t'quantity': temp.items[i].quantity, \n\t\t\t\t'is_guide': true, \n\t\t\t\t'is_ordering': true,\n\t\t\t\t'variables' : {}\n\t\t\t};\n\t\t\tif (input.orderGuideData.cascade) {\n\t\t\t\tfor (var gf in input.orderGuideData._fields) {\n\t\t\t\t\tvar field = input.orderGuideData._fields[gf];\n\t\t\t\t\titemData.variables[field.name] = field.value;\t\n\t\t\t\t}\n\t\t\t}\n\t\t\titem = $sp.getCatalogItem(itemData);\n\t\t\titem.quantity = temp.items[i].quantity;\n\t\t\titem.show_quantity = temp.items[i].show_quantity;\n\t\t\titem.isOrderGuideItem = true;\n\t\t\titem.included = true;\n\t\t\titem.sysparm_item_guid = gs.generateGUID();\n\t\t\t\n\t\t\tvar table_name = 'sc_cart_item';\n\t\t\tvar className = item.sys_class_name;\n\t\t\tif (!new global.CatalogItemTypeProcessor().canCreateNormalCartItem(className)) {\n\t\t\t\tif (className == 'sc_cat_item_producer') {\n\t\t\t\t\tvar gr = new GlideRecord('sc_cat_item_producer');\n\t\t\t\t\tif (gr.get(item.sys_id))\n\t\t\t\t\t\ttable_name = gr.getValue('table_name');\n\t\t\t\t}\n\t\t\t}\n\t\t\titem.targetTable = table_name;\n\t\t\tif (input.orderGuideData.cascade) {\n\t\t\t\tfor (var field in item._fields) {\n\t\t\t\t\tvar f = item._fields[field];\n\t\t\t\t\tfor (var gf in input.orderGuideData._fields) {\n\t\t\t\t\t\tif (input.orderGuideData._fields[gf].name === f.name) {\n\t\t\t\t\t\t\tf.value = input.orderGuideData._fields[gf].value;\n\t\t\t\t\t\t\tf.displayValue = input.orderGuideData._fields[gf].displayValue;\n\t\t\t\t\t\t\tf.display_value_list = input.orderGuideData._fields[gf].display_value_list;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (temp.variable_assignments[item.sys_id]) {\n\t\t\t\tvar cur = temp.variable_assignments[item.sys_id];\n\t\t\t\tfor (var fieldId in cur) {\n\t\t\t\t\tvar q = GlideappQuestion.getQuestion(fieldId);\n\t\t\t\t\titem._fields[q.getName()].value = cur[fieldId];\n\t\t\t\t\t\n\t\t\t\t\tif (q.getType() == 21 || q.getType() == 8) {\n\t\t\t\t\t\tq.setValue(cur[fieldId]);\n\t\t\t\t\t\tif (q.getType() == 21) {\n\t\t\t\t\t\t\tvar vals = '' + q.getDisplayValues();\n\t\t\t\t\t\t\tvals = vals.slice(1, -1);\n\t\t\t\t\t\t\titem._fields[q.getName()].display_value_list = vals.split(', ');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\titem._fields[q.getName()].displayValue = q.getDisplayValue();\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.items.push(item);\n\t\t}\n\t\treturn;\n\t}\n\telse if(input &amp;&amp; input.action == \"checkout_guide\") {\n\t\tguideJS = new sn_sc.OrderGuide('' + data.sys_id);\n\t\tvar cartJS = new sn_sc.CartJS('' + data.sys_id);\n\t\tfor(var i = 0; i &lt; input.guideItems.length; i++)\n\t\t\tguideJS.navigateFromMap(input.guideItems[i]);\n\t\tcartJS.activateGuide();\n\t\tcartJS.setParentParams(input.workspaceParams);\n\t\tdata.result = cartJS.checkoutGuide();\n\t\treturn;\n\t}\n\telse if(input &amp;&amp; input.action == \"add_to_cart\") {\n\t\tvar cart = new sn_sc.CartJS();\n\t\tguideJS = new sn_sc.OrderGuide('' + input.sys_id);\n\t\tfor(var i = 0; i &lt; input.items.length; i++) {\n\t\t\tinput.items[i].sysparm_cart_name = \"\";\n\t\t\tguideJS.navigateFromMap(input.items[i]);\n\t\t}\n\t\tif (guideJS.isUseCustomCart())\n\t\t\tnew sn_sc.CartJS(input.sys_id).empty(\"\");\n\t\tcart.activateGuide();\n\t\treturn;\n\t}\n\telse if(input &amp;&amp; input.action == \"format_prices\") {\n\t\tdata.frequencySequence = [];\n\t\tvar gr = new GlideRecord('sys_choice');\n\t\tgr.addQuery('name', 'sys_frequency');\n\t\tgr.orderBy('sequence');\n\t\tgr.query();\n\t\twhile(gr.next())\n\t\t\tdata.frequencySequence.push(gr.label.getDisplayValue());\n\t\tvar spCurrencyFormatter = new SPCurrencyFormatter();\n\t\tdata.frequencyMap = {};\n\t\tfor(var key in input.prices)\n\t\t\tdata.frequencyMap[key] = spCurrencyFormatter.format(input.prices[key]);\n\t\treturn;\n\t}\n\t\n\t// portal can specify a catalog and category home page\n\tdata.sc_catalog_page = $sp.getDisplayValue(\"sc_catalog_page\") || \"sc_home\";\n\tdata.sc_category_page = $sp.getDisplayValue(\"sc_category_page\") || \"sc_category\";\n\tdata.sc_catalog = $sp.getDisplayValue('sc_catalog') ;\n\tvar catalogID = $sp.getValue('sc_catalog');\n\n\tvar m = data.msgs = {};\n\tm.scHomeMsg = gs.getMessage(\"Service Catalog\");\n\tm.step1 = gs.getMessage(\"Describe Needs\");\n\tm.step2 = gs.getMessage(\"Choose Options\");\n\tm.step3 = gs.getMessage(\"Summary\");\n\tm.prevMsg = gs.getMessage(\"Previous\");\n\tm.nextMsg = gs.getMessage(\"Next\");\n\tm.submitMsg = gs.getMessage(\"Submit\");\n\tm.orderNowMsg = gs.getMessage(\"Order Now\");\n\tm.submittedMsg = gs.getMessage(\"Submitted\");\n\tm.createdMsg = gs.getMessage(\"Created\");\n\tm.clickMsg = gs.getMessage(\"click here to view\");\n\tm.dialogTitle = gs.getMessage(\"Delete Attachment\");\n\tm.dialogMessage = gs.getMessage(\"Are you sure?\");\n\tm.dialogOK = gs.getMessage(\"OK\");\n\tm.dialogCancel = gs.getMessage(\"Cancel\");\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tm.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tm.renameSuccessMsg = gs.getMessage(\"Attachment renamed successfully\");\n\tm.deleteSuccessMsg = gs.getMessage(\"Attachment deleted successfully\");\n\tm.invalidRecordMsg = gs.getMessage('You are either not authorized or record is not valid.');\n\tm.delete_attachment = gs.getMessage(\"Delete Attachment?\");\n\t\n\tm.recommendedForMsg = gs.getMessage(\"Recommended for {0}\", [gs.getUser().getRecord().getValue('first_name')]);\n\tm.featuredMsg = gs.getMessage(\"Featured\");\n\tm.includedMsg = gs.getMessage(\"What's included?\");\n\tm.inTheBoxMsg = gs.getMessage(\"What else is included?\");\n\t\n\tdata.hideDeliveryTime = (options.hide_delivery_time == 'true');\n\tif (options.sys_id)\n\t\tdata.sys_id = options.sys_id;\n\n\tif (!data.sys_id)\n\t\treturn;\n\n\tvar validatedItem = new sn_sc.CatItem('' + data.sys_id);\n  if (!validatedItem.canView())\n    return;\n\n\tdata.sys_properties = {\n\t\ttwostep: gs.getProperty(\"glide.sc.sp.twostep\", \"true\") == 'true'\n\t};\n\n\tdata.showPrices = $sp.showCatalogPrices();\n  data.sc_cat_item = $sp.getGuide(data.sys_id, true, false);\n\tdata.recordFound = true;\n\tif (data.sc_cat_item.category) {\n\t\tvar categoryJS;\n\t\tvar categoryID = validatedItem.getFirstAccessibleCategoryForSearch(catalogID);\n\t\tif ($sp.getParameter(\"sysparm_category\")) {\n\t\t\tcategoryJS = new sn_sc.CatCategory($sp.getParameter(\"sysparm_category\") + \"\");\n\t\t\tcategoryID = $sp.getParameter(\"sysparm_category\") + \"\";\n\t\t}\n\t\telse\n\t\t\tcategoryJS = new sn_sc.CatCategory(categoryID);\n\t\tdata.category = {\n\t\t\tname: categoryJS.getTitle(),\n\t\t\turl: categoryJS.canView() ? '?id=' + data.sc_category_page + '&amp;sys_id=' + categoryID : \"#\"\n\t\t}\n\t\tdata.categories = [];\n\t\tdata.categories.push({\n\t\t\tlabel: categoryJS.getTitle(),\n\t\t\turl: categoryJS.canView() ? '?id=' + data.sc_category_page + '&amp;sys_id=' + categoryID : \"#\"\n\t\t});\n\t\twhile(categoryJS &amp;&amp; categoryJS.getParent()) {\n\t\t\tvar parentId =  categoryJS.getParent();\n\t\t\tcategoryJS = new sn_sc.CatCategory(parentId);\n\t\t\tvar category = {\n\t\t\t\tlabel: categoryJS.getTitle(),\n\t\t\t\turl: categoryJS.canView() ? '?id=' + data.sc_category_page + '&amp;sys_id=' + parentId : \"#\"\n\t\t\t};\n\t\t\tdata.categories.unshift(category);\n\t\t}\n\t}\n\n\t$sp.logStat('Cat Item View', data.sc_cat_item.sys_class_name, data.sc_cat_item.sys_id, data.sc_cat_item.name);\n})()]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-19 16:09:11&lt;/sys_created_on&gt;&lt;sys_id&gt;4c492bd4db7b6b40b64fd8b6f4961948&lt;/sys_id&gt;&lt;sys_mod_count&gt;192&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order Overview&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4c492bd4db7b6b40b64fd8b6f4961948&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-17 05:44:32&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"data.isRecommended\" class=\"panel panel-default\"&gt;\n  &lt;div class=\"row\"&gt;\n    &lt;div ng-if=\"::data.sc_cat_item.picture\" class=\"image-box col-md-6 col-md-push-6\"&gt;\n      &lt;img class=\"img-responsive catalog-item-image guide-image\" ng-src=\"{{::data.sc_cat_item.picture}}?t=medium\" /&gt;\n    &lt;/div&gt;\n    &lt;div class=\"details-box details-box-primary\" ng-class='data.sc_cat_item.picture ? \"col-md-6 col-md-pull-6\" : \"col-md-12\"'&gt;\n      &lt;h2 class=\"m-n\"&gt;{{data.sc_cat_item.name}}&lt;/h2&gt;\n      &lt;h4 ng-if=\"::data.sc_cat_item.short_description\"&gt;{{::data.sc_cat_item.short_description}}&lt;/h4&gt;\n      &lt;div class=\"detail-pair\"&gt;\n        &lt;div class=\"icon\"&gt;\n          &lt;sn-avatar class=\"avatar-small-medium\" primary=\"::user.sys_id\" show-presence=\"false\" /&gt;\n        &lt;/div&gt;\n        &lt;div&gt;\n          {{::data.msgs.recommendedForMsg}}\n          &lt;!-- &lt;small class=\"block\"&gt;based on your start date&lt;/small&gt; --&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"button-set\"&gt;\n        &lt;button type=\"button\" class=\"btn btn-default\" ng-click=\"triggerAddToCart(false)\"&gt;&lt;i class=\"fa fa-shopping-cart m-r-sm\"&gt;&lt;/i&gt; Add to Cart&lt;/button&gt;\n        &lt;button type=\"button\" class=\"btn btn-primary\" ng-click=\"triggerAddToCart(true)\"&gt;Customize Bundle&lt;/button&gt;  \n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"includedItems.length\"&gt;\n    &lt;h4 ng-show=\"!data.allowCollapse\" class=\"incl-items-header\"&gt;\n      {{::data.msgs.includedMsg}}\n    &lt;/h4&gt;\n    &lt;h5 ng-show=\"data.allowCollapse\" ng-click=\"data.collapseItemList = !data.collapseItemList\" class=\"incl-items-header\"&gt;\n      &lt;i class=\"fa m-r-xs\" ng-class=\"collapseItemList ? 'fa-plus-square-o' : 'fa-minus-square-o'\"&gt;&lt;/i&gt;\n      {{::data.msgs.includedMsg}}\n    &lt;/h5&gt;\n    &lt;div uib-collapse=\"data.collapseItemList\"&gt;\n      &lt;div class=\"row\"&gt;\n        &lt;div ng-if=\"::includedItems[0].picture\" class=\"image-box col-md-6 col-md-push-6\"&gt;\n          &lt;img class=\"img-responsive catalog-item-image guide-item-image\" ng-src=\"{{::includedItems[0].picture}}\" /&gt;\n        &lt;/div&gt;\n        &lt;div class=\"details-box\" ng-class='includedItems[0].picture ? \"col-md-6 col-md-pull-6\" : \"col-md-12\"'&gt;\n          &lt;h5 class=\"text-uppercase\"&gt;{{::data.msgs.featuredMsg}}&lt;/h5&gt;\n          &lt;h3&gt;{{::includedItems[0].name}}&lt;/h3&gt;\n          &lt;p ng-bind-html=\"::includedItems[0].description\"&gt;&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"details-box\"&gt;\n        &lt;h4&gt;{{::data.msgs.inTheBoxMsg}}&lt;/h4&gt;\n        &lt;div class=\"item-grid well\"&gt;\n          &lt;div ng-repeat=\"item in includedItems\" class=\"item-wrapper\" ng-if=\"!$first\"&gt;\n            &lt;img ng-if=\"::item.picture\" class=\"img-responsive catalog-item-image guide-item-image\" ng-src=\"{{::item.picture}}\" /&gt;\n            &lt;img ng-if=\"!item.picture &amp;&amp; item.icon\" class=\"img-responsive catalog-item-image guide-item-image\" ng-src=\"{{::item.icon}}\" /&gt;\n            &lt;i ng-if=\"!item.picture &amp;&amp; !item.icon\" class=\"fa fa-box fa-4x\"&gt;&lt;/i&gt;\n            &lt;h5 class=\"text-center\"&gt;{{::item.name}}&lt;/h5&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2044806206</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>f5373d38db5cbb00d7f8f88eaf9619b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698a2e205e0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>Order Overview</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>63935be02dd4bb00a8946828a15d68de</update_guid>\n<update_guid_history>63935be02dd4bb00a8946828a15d68de:-2044806206,fddcc7ac0f94bb0013369b9a47502b3f:775386211,958ccf6c6994bb008110e74f7b29fbdf:-1706531659,a35b4f2c5494bb00c155067393230bda:898506512,e85a4f2c6a94bb00f360b7077236a701:-978186412,3af90fe89f94bb00d3ce79a288190616:-886723192,9fd783e8ca94bb008406b2b9162b8296:1207303516,2dc783e86994bb0000f2fba85d1bcd6c:-1445763886,8e018fa4d394bb00327b467b51b89a1d:-750136325,dec00ba4cc94bb006d2d41c85d323697:-1447122911,f01db6e01694bb000263c0595b2dce43:1555146716,f2ab7ea02894bb00e0b016cab9c8d49b:-1763875937,735bbaa04f94bb00a5911de75e723e4e:1396519952,e18836202394bb00d1ce616f6754b7fe:994639243,0f58b6ec7c54bb00e3ed4e90d4da9f0b:-1208897507,a665b22cc054bb0062b882e3b39c1779:525627601,3fe4f2a84054bb00c716a7b6cf022e36:-1717955812,ae84fee4e454bb004843ea186076c213:1609885764,5674b2283954bb00762119e63471f159:1345582696,2704b2a47054bb0031fb54f941544f8f:-1418390080,8883ba242a54bb00bcb1e66ab8607cd5:-728401352,36e2b624eb54bb008404f8f27b847706:1345582696,6372f6e01b54bb00646e70349d6a0f9b:-1226653430,d981f6a09854bb00bc61eea53ba1eaff:96317481,5890b660ff54bb00b838856ef7be7162:-1628620137,052fa2205f54bb0008b8d924a0fcc131:363556095,9bed2e6c1b14bb0009879ef64df969f4:9820229,502d6a6cd214bb004f6c678a8eeecccb:-893428525,44fcaa2ca114bb002946a5fd39998bdd:-692246577,76127d28a390bb000ece20084ff790eb:-179204868,6f10b1a42d90bb001a21ff032f6cd884:-262758113,7955a1ac7250bb0001c1530c9dd886da:1382072492,4d6759245e50bb009775e522e7e31eab:-253328229,78a20924d410bb00dc7740ec2c53a993:609383411,8ba185e09910bb0067c3027b8ec48ef7:639201603,029185e01b10bb00972e17bdaf21f398:665816262,073185e03310bb00f6b87d1b1ddeae91:-933918592,40cf78609810bb00eeb8717a69f32710:-323075716,941fb0602d10bb003ba628f78d21c15c:1971620440,392a3c6cf5dc7b00f4108729ec2a3865:-997423706,be191e18d8587b00efdf627b89d84d9a:-1938881975,1bb81e182f587b00cd008ad20fcfd617:-230052045,a7681a1830587b00ff944be81e3f2973:-1250117515,6c28ded495587b00373d8161d6777464:1527954842,0677dad415587b008aa769fb3bd38f2c:538140722,77179ad4f8587b0088e30c6d925ca3be:841446886,22a6d2d421587b0065515c081b1e3301:793147772,3b5692d4b5587b002acff1409b76d8bd:-1194659182,f816de940e587b008d0c726700011f87:1224627701,4545d69422587b002134b58c2d148ad9:-65761048,d0b49e5445587b0033fdc04e4a611eec:997619711,f9f356d0ab587b00b9029c71c9526c8c:1158116154,195f8290b0587b00878db9848ed45a40:71337212,6c4e429057587b00ab12616f7124eff0:-823308228,fcfd4e509d587b00a852ae610c7bcade:-1281159025,9f4d0650c1587b00d5bf559a25fc4382:557009525,833d06506e587b0082c1c66a23a54a24:417530229,a59c0edc26187b008de73abfe1a9622a:-120095041,644bcedc17187b00e5c256a833590696:1296650671,022a4a9cd3187b0080c93f6fc246dfb7:-61847377,db290a9cd3187b0017b0a7b5f19a0e1c:1571017778,8f09869c0e187b0031b1065c849c6331:1423735186,f1d80a5cc5187b00482c0629ba92fbb1:1491821400,41e70e5cd8187b000a69e83f9babc938:-632902256,9ed6425c0d187b0080f1d85e5f91ef7a:1477763608,38a68e1c17187b00408a71f467fcd1d0:412052787,2876861cb1187b004633566e4670af61:1880049290,3aa58ad8c7187b00e2a75f9bd129497b:310478406,cb35ced80b187b009c617e236e7434e5:693740845,8d5446d817187b00f6b526625e8df695:-1962335066,542482d8a0187b00aabbdebfe883685a:-324581123,16734e98ad187b009179b5f773392c4d:-2120326806,f0638298d3187b009e5e723b5e218018:-23719449,6823ce586b187b00aae31d1b995c0c2a:-589267132,9d420658c0187b001b9f481eb42054a3:-1612112760,3f614a584b187b00d6042f50fe853d56:-1986953306,835106587d187b00fca344473e1f3427:110085996,10e00658e1187b0063b5a4d3cacdc51e:-765453251,14200218d1187b005950857fe7e1c64a:957754974,175ffdd4b3187b00cc857b5a4c3f6dfd:-2065788507,e0defdd449187b00ecb96f2ba635f4cf:-630814461,9fcd35d41f187b00cccb38e1b0f05d0b:-1333622384,598df1d455187b00eba1b6bb72b08b9d:480458762,61bcf554b2187b00f3fa806901d39560:-1581915368,02fab954a8187b0076419bf016466534:-1973306661,62aa3d1450187b004a380366f0b5691a:1870690073,c799f5143f187b00f2cc76bf06aec594:741636163,be3975146b187b006f14ead8ef24c8bd:-1647347959,9e09751426187b0052d61603cb98df82:-30718169,5fa7f5d081187b008456f6449bdadf17:-631786574,347779502f187b0082d3fa7ab3686792:-671186712,9533791081187b0074a44cdeb20bdca8:848877453,e924e1d4d4d47b00f154663748e33fd2:1858728120,f1f361d4dbd47b0090bded67a1a2c498:-338183683,f9bed5d07ad47b00c04f4ab5c8d327a8:1804783839,04fd55d099d47b0049beaf44194df4c1:-1047639327,b27e905ccc147b003f0be490aad49bab:112368176,005e905c04147b00fc3f5fe65fe2628c:714158928,9e1edc1cf8147b00a19f49806eeba2a9:353952348,4d0ed81cd5147b0042e6817a20842cc2:-1270493016,89fc501c94147b00ed1664b2d464102d:906395127,f19c101c4d147b002ee4c570f9da1f60:-2111609864,d227d0186e147b006a895f73ae7f332b:-1354142347,12079cd484147b0090391f9cee3ad4ff:-995155890,b5a618d4b5147b0065331200ddd8f673:749091904,dbc510d4c0147b00737e29463e6351dd:1497845750,ce755c9462147b00e34a309f5d2d27ce:1657403417,c14558947f147b00f86974ad512cb264:1359526792,5bf4d45443147b00b5c2a9cc10c34366:-2066496538,8a94149414147b00164427b4c21c26ff:1956851958,3c83185403147b00fb17a3ad8fe679fc:1269658423,3a53d454d7147b00d0b1d0a5bfc5a749:782489415,97b29c1422147b004b57bfb01d172a6f:450331009,24a29c1415147b00ceadcb5b60080b50:782489415,98621c14bc147b0012afe9dc0876dd04:420609886,a8025cd078147b00ecb8ad0c21240e07:1007116293,86a098d0f8147b000449977843670a95:1857740795,31bf00d0e1147b00d5e7b0830cecb72e:-1917290267,d91fc49036147b00fb7758facf4e970c:658126741,11de0490e3147b00a354f2f3caf86218:1509965861,46ae009059147b002e9e96a1d841d3b3:1782813487,498e4c508e147b00b4feb0451b75e0d8:1160569616,aaed405071147b00c63497b6c16b6fcc:1845554849,919d8050fb147b001f39c77787786a12:1813835773,e63d005038147b00707ad53ec28e3d88:1015020534,7c2d005087147b00295a22fa9a743038:-863235229,1b0dcc10d8147b000b818be169d3c63c:-407238770,52ec4c10a1147b00fb6e9ef71b91874a:160805254,68dcc810b1147b0033158ffedcfd28b4:-39419813,0b2bc4dce7d07b00c749cd38917a4d26:-1040692797,bbaa489c96d07b0069c7f9d81b325745:955418019,47c74c1c3fd07b001ff1b0f4c622b801:-1175248351,4787405c56d07b003a21b34a3a4a005d:777494946,1c75c4d8f9d07b003b69f8cf369ed3ae:1611176966,abd44898c9d07b001cd880e98c9e8f7b:52516581,ab13005804d07b0093256c70d99944cf:-28173786,494fb7c40bd07b007e1cf8335cf2c598:2040747454,e7eef3c44bd07b00c74bd672e08fa6ae:-200307894,865efb84f8d07b0028b98781ba15d92e:-1026828432,a527374098d07b0093caec6ff6275823:1300604898,ec75f7cc4e907b0084098edd5dd12001:440911188,da54378cfa907b0098ad7d37d3020da0:1465789711,ce02bfc877907b00b8161b2d96673aa9:1717937527,c8b1ffc8c3907b0095280092a7edb7d7:1666875228,2a882f84ca907b00fc8d79b65d67863e:-1572284734,6368ef8426907b00acbe08ec20201f06:-461789877,fd286b0493907b002b4c9885bb4d00a3:-1337027222,80446bc08d907b00cf5274af70ccb4cd:-1121479930,be336bc0e4907b00f0f6abe5279088ae:1232324805,98e2a3c042907b008abcc58f8d5c7681:1114129274,007263c089907b00728dc504de5142ab:280982973,9e01af40b4907b00b09bf42eec291c7f:1876946928,1b90ab402d907b004f931863940a9616:-1101515892,fe821f0841507b00801dbdb7bb41044b:321609820,f560d7c48c507b007a1226b4637ed9c3:711043373,9a5f43c46e507b00ec76e7245c274274:1826040051,cb3d8b44f4507b008401d253d94f6dfd:1240279353,d52d4f04e1507b0091156f5d51d1c11c:-1795125895,bfaacbc07f507b00889ffd6d6dc11e99:1063961277,eb6acbc04b507b0010a27ce1308ce194:-808745911,a24a0f406f507b00f7365df1cc695aaa:-479986346,93064f00ec507b00291155e5cb299a3c:-952553995,3053b6f75f843b0038b0dd5e3b9e7cac:-557638143</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_0771246cdb9c7b00d7f8f88eaf96193c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>0</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">cb71246cdb9c7b00d7f8f88eaf96193a</sp_column><sp_widget display_value=\"Order Overview Page\">b4b2e0acdb9c7b00d7f8f88eaf961954</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>0771246cdb9c7b00d7f8f88eaf96193c</sys_id><sys_mod_count>10</sys_mod_count><sys_name>Bundled Orders</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_0771246cdb9c7b00d7f8f88eaf96193c</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-17 05:41:27</sys_updated_on><title>Bundled Orders</title><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=0771246cdb9c7b00d7f8f88eaf96193c\"/></record_update>]]></payload>\n<payload_hash>-1209936447</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>f9373d38db5cbb00d7f8f88eaf961966</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698a2b4b990000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>Bundled Orders</target_name>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>12e2d7e04cd4bb006b01a35390b82757</update_guid>\n<update_guid_history>12e2d7e04cd4bb006b01a35390b82757:-1209936447,8c72d3e05cd4bb0098d1aacd02244bde:-831751678,ba9aa5a0d190bb0008b27ad891f8a87a:-709518513,3b8a65a02890bb00661048985ca53206:-1274717809,3bb6e1ecbf50bb00b55b86c7798bc53d:975822868,f666edaccc50bb00f82401c8e3254f1a:-709518513,80666dac4750bb00e3cd93857b306a71:975822868,ad566dac3f50bb0040cbc22b9a2f158a:1243552559,98462dac7850bb000b7690548af22ed1:-709518513,a7da74ac39dc7b002ecbdcb043cf90b7:1172318551,4771246cfe9c7b0043bced4f5448c93d:-895864547</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4371246cdb9c7b00d7f8f88eaf96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">cb71246cdb9c7b00d7f8f88eaf96193a</sp_column><sp_widget display_value=\"SC Scroll to top\">9cfd91940b4103002600425663673a31</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>4371246cdb9c7b00d7f8f88eaf96193e</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_instance_4371246cdb9c7b00d7f8f88eaf96193e</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-16 16:46:15</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4371246cdb9c7b00d7f8f88eaf96193e\"/></record_update>]]></payload>\n<payload_hash>-636329783</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>f9373d38db5cbb00d7f8f88eaf9619b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169876597cc0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>4371246cfa9c7b00cd66836d95df823f</update_guid>\n<update_guid_history>4371246cfa9c7b00cd66836d95df823f:-636329783</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_c371246cdb9c7b00d7f8f88eaf961924</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>9</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">c771246cdb9c7b00d7f8f88eaf961922</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-03-16 16:46:15</sys_created_on><sys_id>c371246cdb9c7b00d7f8f88eaf961924</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_column_c371246cdb9c7b00d7f8f88eaf961924</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-03-16 16:46:15</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-2088139187</payload_hash>\n<remote_update_set display_value=\"Order Overview\">f1373d38db5cbb00d7f8f88eaf961965</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-03-17 17:39:18</sys_created_on>\n<sys_id>fd373d38db5cbb00d7f8f88eaf961965</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1698765962e0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-03-17 17:39:18</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>8371246c229c7b0018707e99a6af8d25</update_guid>\n<update_guid_history>8371246c229c7b0018707e99a6af8d25:-2088139187</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-order-overview/widget/pe-order-overview.u-body-html-template.html",
    "content": "<div ng-if=\"data.isRecommended\" class=\"panel panel-default\">\n  <div class=\"row\">\n    <div ng-if=\"::data.sc_cat_item.picture\" class=\"image-box col-md-6 col-md-push-6\">\n      <img class=\"img-responsive catalog-item-image guide-image\" ng-src=\"{{::data.sc_cat_item.picture}}?t=medium\" />\n    </div>\n    <div class=\"details-box details-box-primary\" ng-class='data.sc_cat_item.picture ? \"col-md-6 col-md-pull-6\" : \"col-md-12\"'>\n      <h2 class=\"m-n\">{{data.sc_cat_item.name}}</h2>\n      <h4 ng-if=\"::data.sc_cat_item.short_description\">{{::data.sc_cat_item.short_description}}</h4>\n      <div class=\"detail-pair\">\n        <div class=\"icon\">\n          <sn-avatar class=\"avatar-small-medium\" primary=\"::user.sys_id\" show-presence=\"false\" />\n        </div>\n        <div>\n          {{::data.msgs.recommendedForMsg}}\n          <!-- <small class=\"block\">based on your start date</small> -->\n        </div>\n      </div>\n      <div class=\"button-set\">\n        <button type=\"button\" class=\"btn btn-default\" ng-click=\"triggerAddToCart(false)\"><i class=\"fa fa-shopping-cart m-r-sm\"></i> Add to Cart</button>\n        <button type=\"button\" class=\"btn btn-primary\" ng-click=\"triggerAddToCart(true)\">Customize Bundle</button>  \n      </div>\n    </div>\n  </div>\n  <div ng-if=\"includedItems.length\">\n    <h4 ng-show=\"!data.allowCollapse\" class=\"incl-items-header\">\n      {{::data.msgs.includedMsg}}\n    </h4>\n    <h5 ng-show=\"data.allowCollapse\" ng-click=\"data.collapseItemList = !data.collapseItemList\" class=\"incl-items-header\">\n      <i class=\"fa m-r-xs\" ng-class=\"collapseItemList ? 'fa-plus-square-o' : 'fa-minus-square-o'\"></i>\n      {{::data.msgs.includedMsg}}\n    </h5>\n    <div uib-collapse=\"data.collapseItemList\">\n      <div class=\"row\">\n        <div ng-if=\"::includedItems[0].picture\" class=\"image-box col-md-6 col-md-push-6\">\n          <img class=\"img-responsive catalog-item-image guide-item-image\" ng-src=\"{{::includedItems[0].picture}}\" />\n        </div>\n        <div class=\"details-box\" ng-class='includedItems[0].picture ? \"col-md-6 col-md-pull-6\" : \"col-md-12\"'>\n          <h5 class=\"text-uppercase\">{{::data.msgs.featuredMsg}}</h5>\n          <h3>{{::includedItems[0].name}}</h3>\n          <p ng-bind-html=\"::includedItems[0].description\"></p>\n        </div>\n      </div>\n      <div class=\"details-box\">\n        <h4>{{::data.msgs.inTheBoxMsg}}</h4>\n        <div class=\"item-grid well\">\n          <div ng-repeat=\"item in includedItems\" class=\"item-wrapper\" ng-if=\"!$first\">\n            <img ng-if=\"::item.picture\" class=\"img-responsive catalog-item-image guide-item-image\" ng-src=\"{{::item.picture}}\" />\n            <img ng-if=\"!item.picture && item.icon\" class=\"img-responsive catalog-item-image guide-item-image\" ng-src=\"{{::item.icon}}\" />\n            <i ng-if=\"!item.picture && !item.icon\" class=\"fa fa-box fa-4x\"></i>\n            <h5 class=\"text-center\">{{::item.name}}</h5>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-order-overview/widget/pe-order-overview.u-client-script.js",
    "content": "function ($scope, $http, nowServer, $timeout, spUtil, spModal, i18n, $window, $location, spAriaUtil, nowAttachmentHandler, $log) {\n\tvar c = this;\n\t$scope.guide_step = 0;\n\t$scope.m = $scope.data.msgs;\n\t$scope.evaluatingIncludes = false;\n\n\t$scope.showItem = function(index) {\n\t\tif($scope.itemShown == index)\n\t\t\t$scope.itemShown = -1;\n\t\telse\n\t\t\t$scope.itemShown = index;\n\t}\n\t\n\t$scope.goPrev = function() {\n\t\t$scope.guide_step--;\n\t}\n\t\n\t$scope.toggleItemState = function(item) {\n\t\tif(item.included) {\n\t\t\t$scope.totalIncluded--;\n\t\t\tangular.element('#item_details_' + item.sys_id).find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').attr('tabindex', -1);\n\t\t}\n\t\telse {\n\t\t\t$scope.totalIncluded++;\n\t\t\tangular.element('#item_details_' + item.sys_id).find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').removeAttr('tabindex');\n\t\t}\n\t}\n\t\n\t$scope.goNext = function() {\n\t\tvar gForm;\n\t\tif($scope.guide_step == 0) {\n\t\t\tgForm = includedGformInstances[$scope.data.sys_id];\n\t\t\tif(gForm.submit()) {\n\t\t\t\tevalIncludes();\n\t\t\t\t$scope.guide_step++;\n\t\t\t\t$scope.itemShown = 0;\n\t\t\t}\n\t\t}\n\t\telse if($scope.guide_step == 1) {\n\t\t\tvar canSubmit = true;\n\t\t\tfor (var i = 0; i < $scope.includedItems.length; i++) {\n\t\t\t\tif ($scope.includedItems[i].included) {\n\t\t\t\t\tgForm = includedGformInstances[$scope.includedItems[i].sys_id];\n\t\t\t\t\tif (gForm && !gForm.submit()) {\n\t\t\t\t\t\tcanSubmit = false;\n\t\t\t\t\t\t$scope.includedItems[i].isOpen = true;\n\t\t\t\t\t\t$timeout(function(){\n\t\t\t\t\t\t\tvar mandatory = $scope.includedItems[i]._mandatory;\n\t\t\t\t\t\t\tif (mandatory && mandatory.length > 0) {\n\t\t\t\t\t\t\t\tvar elems = angular.element(\"[name*='\" + mandatory[0].name + \"']\");\n\t\t\t\t\t\t\t\tif (elems && elems.length > 0) //set focus the first element\n\t\t\t\t\t\t\t\t\telems[0].focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(canSubmit) {\n\t\t\t\tevalGuidePrice();\n\t\t\t\t$scope.guide_step++;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tevalIncludes();\n\t\n\t// Breadcrumbs\n\t\n\tif ($scope.data.featuredOnPage && $scope.data.sc_cat_item) {\n\t\tif (!$scope.data.categories)\n\t\t\t$scope.data.categories = [];\n\t\tif ($scope.data.categories.length > 0) {\n\t\t$scope.data.categories.unshift({label: $scope.data.sc_catalog || $scope.page.title, url: '?id=' + $scope.data.sc_catalog_page});\n\t\t$scope.data.categories.push({label: $scope.data.sc_cat_item.name, url: '#'});\n\t\t}\n\t\telse {\n\t\t\t$scope.data.categories.push({label: $scope.data.sc_cat_item.name, url: '#'});\n\t\t}\n\t\t\n\t\t$timeout(function() {\n\t\t\t$scope.$emit('sp.update.breadcrumbs', $scope.data.categories);\n\t\t});\n\t\tspUtil.setSearchPage('sc');\n\t} else {\n\t\tvar notFoundBC = [{label: $scope.page.title, url: '?id=' + $scope.data.sc_catalog_page}];\n\t\t$timeout(function() {\n\t\t\t$scope.$emit('sp.update.breadcrumbs', notFoundBC);\n\t\t});\n\t\tspUtil.setSearchPage('sc');\n\t}\n\n\tvar includedGformInstances = {};\n\t$scope.$on('spModel.gForm.initialized', function(e, gFormInstance) {\n\t\tif (gFormInstance.getSysId() == '-1')\n\t\t\treturn;\n\t\tincludedGformInstances[gFormInstance.getSysId()] = gFormInstance;\n\t});\n\t\n\t$scope.$on('spModel.gForm.destroyed', function(e, sys_id){\n\t\tdelete includedGformInstances[sys_id];\n\t});\n\t\n\tfunction getFieldsData(item) {\n\t\tvar fieldData = {\"variables\":{}};\n\t\tfor(var field in item._fields) {\n\t\t\tvar fieldValue = \"\";\n\t\t\tif (typeof item._fields[field].value != \"string\")\n\t\t\t\tfieldValue = JSON.stringify(item._fields[field].value);\n\t\t\telse\n\t\t\t\tfieldValue = item._fields[field].value;\n\t\t\tfieldData.variables[item._fields[field].name] = fieldValue;\n\t\t\t\t\n\t\t}\n\t\treturn fieldData;\n\t}\n\t\n\tfunction getGuideItems(cartname) {\n\t\tvar items = [];\n\t\tvar item;\n\t\tfor(var i = 0; i < $scope.includedItems.length; i++) {\n\t\t\tif($scope.includedItems[i].included) {\n\t\t\t\titem = getFieldsData($scope.includedItems[i]);\n\t\t\t\titem.sysparm_id = item.sysparm_active = $scope.includedItems[i].sys_id;\n\t\t\t\titem.sysparm_quantity = $scope.includedItems[i].quantity;\n\t\t\t\titem.sysparm_cart_name = cartname;\n\t\t\t\titem.sysparm_item_guid = $scope.includedItems[i].sysparm_item_guid;\n\t\t\t\titems.push(item);\n\t\t\t}\n\t\t}\n\t\treturn items;\n\t}\n\t$scope.triggerAddToCart = function(orderGuide) {\n\t\tif(orderGuide){\n\t\t\t$location.url('?id=sc_cat_item_guide&sys_id='+$scope.data.sc_cat_item.sys_id);\n\t\t}else{\n\n\n\t\t\tif($scope.submitted)\n\t\t\t\treturn;\n\t\t\t$scope.server.get({\n\t\t\t\taction: 'log_request',\n\t\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id,\n\t\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n\t\t\t});\n\t\t\t$scope.submitted = true;\n\t\t\t$scope.server.get({\n\t\t\t\taction: \"add_to_cart\",\n\t\t\t\titems: getGuideItems(\"\"),\n\t\t\t\tsys_id: $scope.data.sys_id\n\t\t\t}).then(function(response) {\n\t\t\t\t$rootScope.$broadcast(\"$sp.service_catalog.cart.add_item\");\n\t\t\t\t$rootScope.$broadcast(\"$sp.service_catalog.cart.update\");\n\t\t\t\t$scope.$emit(\"$sp.sc_order_guide.add_to_cart\");\n\n\t\t\t\tspModal.open({\n\t\t\t\t\tmessage: i18n.getMessage('Items have been added successfully'),\n\t\t\t\t\tsize: 'sm',\n\t\t\t\t\tbackdrop: 'static',\n\t\t\t\t\tkeyboard: false,\n\t\t\t\t\tnoDismiss: true,\n\t\t\t\t\tbuttons: [\n\t\t\t\t\t\t{label: i18n.getMessage('Catalog Home'), cancel:true},\n\t\t\t\t\t\t{label: i18n.getMessage('View Cart'), primary:true}\n\t\t\t\t\t]\n\t\t\t\t}).then(function() {\n\t\t\t\t\t$location.search(\"id=sc_cart\");\n\t\t\t\t}, function() {\n\t\t\t\t\t$location.search(\"id=sc_home\");\n\t\t\t\t})\n\n\t\t\t});\n\t\t}\n\t}\n\n\t// order / create request\n\t$scope.triggerSubmit = function() {\n\t\tif ($scope.submitted)\n\t\t\treturn;\n\t\tif ($scope.options.isServiceWorkspace && $window.frameElement) {\n\t\t\tvar workspaceParams = {};\n\t\t\tworkspaceParams.sysparm_parent_table = $window.frameElement.getAttribute('parent-table');\n\t\t\tworkspaceParams.sysparm_parent_sys_id = $window.frameElement.getAttribute('parent-sys-id');\n\t\t\t$scope.data.workspaceParams = workspaceParams;\n\t\t}\n\t\t$scope.server.get({\n\t\t\taction: 'log_request',\n\t\t\titemDetails: {sys_id: $scope.data.sc_cat_item.sys_id, \n\t\t\t\t\t\t\t\t\t\tname: $scope.data.sc_cat_item.name,\n\t\t\t\t\t\t\t\t\t\tsys_class_name: $scope.data.sc_cat_item.sys_class_name}\n\t\t});\n\n\t\t$scope.submitted = true;\n\t\tvar hasItems = $scope.includedItems.filter(function(item) {\n\t\t\treturn item.sys_class_name != 'sc_cat_item_producer';\n\t\t}).length > 0;\n\t\t\n\t\tif ($scope.data.sys_properties.twostep) {\n\t\t\t\t//Required to pass as payload for usage as embeddedWidget\n\t\t\t\tvar embeddedWidgetOptions = {\n\t\t\t\t\t\"auto_redirect\" : \"true\",\n\t\t\t\t\t\"requested_for_id\" : \"\",\n\t\t\t\t\t\"requested_for_display\" : \"\"\n\t\t\t\t};\n\n\t\t\t\tvar payload = {\n\t\t\t\t\tcart: '' + $scope.data.sys_id,\n\t\t\t\t\titems: getGuideItems('' + $scope.data.sys_id),\n\t\t\t\t\tworkspaceParams: $scope.data.workspaceParams,\n\t\t\t\t\taction: \"order_guide\"\n\t\t\t\t};\n\t\t\t\tfor (var embeddedOption in embeddedWidgetOptions) {\n\t\t\t\t\tpayload[embeddedOption] = c.options[embeddedOption] || embeddedWidgetOptions[embeddedOption];\n\t\t\t\t}\n\t\t\t\t$scope.server.get(payload).then(function(response) {\n\t\t\t\t\tvar orderGuideModalCtrl;\n\t\t\t\t\tvar unregister = $scope.$on('$sp.service_catalog.cart.cancel_order', function(){\n\t\t\t\t\t\torderGuideModalCtrl.close();\n\t\t\t\t\t\t$scope.submitted = false;\n\t\t\t\t\t});\n\t\t\t\t\tvar closeModalOnSubmit = $scope.$on(\"$sp.service_catalog.cart.submitted\", function () {\n\t\t\t\t\t\torderGuideModalCtrl.close();\n\t\t\t\t\t\t$scope.submitted = true;\n\t\t\t\t\t});\n\n\t\t\t\t\tvar orderGuideModal = angular.copy(response.data.orderGuideModal);\n\t\t\t\t\torderGuideModal.options.afterOpen = function(ctrl){\n\t\t\t\t\t\torderGuideModalCtrl = ctrl;\n\t\t\t\t\t};\n\t\t\t\t\torderGuideModal.options.afterClose = function() {\n\t\t\t\t\t\tunregister();\n\t\t\t\t\t\tcloseModalOnSubmit();\n\t\t\t\t\t\t$scope.orderGuideModal = null;\n\t\t\t\t\t\torderGuideModalCtrl = null;\n\t\t\t\t\t};\n\t\t\t\t\t$scope.orderGuideModal = orderGuideModal;\n\t\t\t\t});\n\t\t} else {\n\t\t\t$scope.data.action = 'checkout_guide';\n\t\t\t$scope.data.guideItems = getGuideItems('' + $scope.data.sys_id);\n\t\t\t$scope.server.update().then(function(response) {\n\t\t\t\t$scope.data.action = undefined;\n\t\t\t\t$scope.data.guideItems = undefined;\n\t\t\t\t$scope.$emit(\"$sp.sc_order_guide.submitted\", $scope.data.result);\n\t\t\t\tif ($scope.options.auto_redirect == 'false') {\n\t\t\t\t\tspUtil.addInfoMessage($scope.m.requestSubmitted);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$location.search('id=sc_request&is_new_order=true&table=sc_request&sys_id=' + $scope.data.result.request_id);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction evalGuidePrice() {\n\t\t$scope.price = 0;\n\t\tvar frequencyMap = {};\n\t\tfor (var i = 0; i < $scope.includedItems.length; i++) {\n\t\t\tif ($scope.includedItems[i].included) {\n\t\t\t\tvar pricing = $scope.includedItems[i]._pricing;\n\t\t\t\tvar qty = parseInt($scope.includedItems[i].quantity);\n\t\t\t\tvar effectivePrice = 0;\n\t\t\t\tvar effectiveRecurringPrice = 0;\n\t\t\t\t\n\t\t\t\tif(typeof pricing.recurring_total != \"undefined\") {\n\t\t\t\t\teffectiveRecurringPrice = pricing.recurring_total;\n\t\t\t\t} else {\n\t\t\t\t\teffectiveRecurringPrice = pricing.recurring_price;\n\t\t\t\t}\n\t\t\t\tif (typeof pricing.price_total != \"undefined\") {\n\t\t\t\t\teffectivePrice = pricing.price_total;\n\t\t\t\t} else {\n\t\t\t\t\teffectivePrice = pricing.price;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (effectiveRecurringPrice >= 0) {\n\t\t\t\t\tif(frequencyMap[pricing.rfd])\n\t\t\t\t\t\tfrequencyMap[pricing.rfd] += effectiveRecurringPrice * qty;\n\t\t\t\t\telse\n\t\t\t\t\t\tfrequencyMap[pricing.rfd] = effectiveRecurringPrice * qty;\n\t\t\t\t}\n\t\t\t\tif (effectivePrice >= 0)\n\t\t\t\t\t$scope.price += effectivePrice * qty;\n\t\t\t}\n\t\t}\n\t\tfrequencyMap.price = $scope.price;\n\t\t$scope.server.get({\n\t\t\taction: \"format_prices\",\n\t\t\tprices: frequencyMap\n\t\t}).then(function(response) {\n\t\t\t$scope.frequencySequence = response.data.frequencySequence;\n\t\t\t$scope.price_display = response.data.frequencyMap.price;\n\t\t\t$scope.frequencyMap = response.data.frequencyMap;\n\t\t\t\n\t\t});\n\t}\n\t\n\tfunction evalIncludes() {\n\t\t// don't allow submit while waiting on included items eval\n\t\t$scope.evaluatingIncludes = true;\n\t\t$scope.includedItems = [];\n\t\tvar guideData = getFieldsData($scope.data.sc_cat_item);\n\t\tguideData.sysparm_id = $scope.data.sys_id;\n\t\tguideData.without_cart = true;\n\t\tguideData._fields = $scope.data.sc_cat_item._fields;\n\t\tguideData.cascade = $scope.data.sc_cat_item.cascade;\n\t\t$scope.server.get({\n\t\t\taction: \"init_guide\",\n\t\t\torderGuideData: guideData\n\t\t}).then(function(response) {\n\t\t\t$scope.includedItems = response.data.items;\n\t\t\t$scope.showIncludeToggle = response.data.showIncludeToggle;\n\t\t\tinitAttachmentHandlers();\n\t\t\t$scope.totalIncluded = $scope.includedItems.length;\n\t\t\t$scope.evaluatingIncludes = false;\n\t\t});\n\t}\n\t\n\t$scope.$on('dialog.upload_too_large.show', function(e){\n\t\t$log.error($scope.m.largeAttachmentMsg);\n\t\tspUtil.addErrorMessage($scope.m.largeAttachmentMsg);\n\t});\n\t\n\t$scope.initAttachmentCallbacks = function (itemIndex) {\n\t\t$scope.includedItems[itemIndex].attachmentHandler.setAttachments = function (attachments, action) {\n\t\t\t$scope.includedItems[itemIndex].attachments = attachments;\n\t\t\tif (action === \"renamed\")\n\t\t\t\tspAriaUtil.sendLiveMessage($scope.m.renameSuccessMsg);\n\t\t\tif (action === \"deleted\")\n\t\t\t\tspAriaUtil.sendLiveMessage($scope.m.deleteSuccessMsg);\n\t\t};\n\t\t\n\t\t$scope.includedItems[itemIndex].confirmDeleteAttachment = function(attachment) {\n\t\t\tspModal.confirm($scope.data.msgs.delete_attachment).then(function() {\n\t\t\t\t$scope.includedItems[itemIndex].attachmentHandler.deleteAttachment(attachment);\n\t\t\t\t$('#add_attachment_button').focus();\n\t\t\t});\n\t\t}\n\t}\n\t\n\tfunction initAttachmentHandlers() {\n\t\t\tvar setAttachments;\n\t\t\tvar appendError = function (error) {\n\t\t\t\t\tspUtil.addErrorMessage(error.msg + error.fileName);\n\t\t\t};\n\t\t\tfor (var i = 0; i < $scope.includedItems.length; i++) {\n\t\t\t\t$scope.includedItems[i].attachmentHandler = new nowAttachmentHandler(setAttachments, appendError);\n\t\t\t\t$scope.includedItems[i].attachmentHandler.setParams($scope.includedItems[i].targetTable, $scope.includedItems[i].sysparm_item_guid, 1024 * 1024 * $scope.data.maxAttachmentSize);\n\t\t\t}\n\t}\n}"
  },
  {
    "path": "src/pe-order-overview/widget/pe-order-overview.u-css.scss",
    "content": ".panel .row {\n  margin: 0;\n}\n\n.details-box {\n  padding: 10px 20px;\n}\n.image-box {\n  padding: 0;\n}\n.image-box img {\n  margin-left: auto;\n  margin-right: auto;\n  max-height: 200px;\n}\n.details-box-primary {\n  padding-top: 20px;\n}\n\n.detail-pair {\n  display: flex;\n  align-items: center;\n  padding: 10px 0px;\n  .icon {\n    width: 35px;\n    margin-right: 10px;\n    font-size: 24px;\n  }\n}\n\n.avatar-container {\n  cursor: default;\n}\n\n.button-set {\n  margin: 5px 0;\n  > .btn {\n    margin: 5px 0;\n  }\n}\n\n.incl-items-header {\n  padding: 10px 20px;\n  border-top: 1px solid $panel-default-border;\n  margin: 0;\n}\n\n\n// grid\n\n$item-grid-gutter: 10px !default;\n.item-grid {\n  display: flex;\n  flex-flow: row wrap;\n  margin: 15px 0;\n  > .item-wrapper {\n    padding: calc($item-grid-gutter/2);\n    width: 50%;\n    min-width: 115px;\n    max-width: 100%;\n    &.item-wrapper-block {\n      max-width: 100%;\n    }\n  }\n}\n\n@media (min-width: 625px) {\n  .item-grid > .item-wrapper {\n    max-width: calc(100%/4);\n  }\n}\n\n@media (min-width: $screen-md-min) {\n  .item-grid > .item-wrapper {\n    max-width: calc(100%/6);\n  }\n  .image-box img {\n    max-height: 300px;\n  }\n  .details-box,\n  .incl-items-header {\n    padding: 15px 30px;\n  }\n  .details-box-primary {\n    padding-top: 30px;\n  }\n}\n"
  },
  {
    "path": "src/pe-order-overview/widget/pe-order-overview.u-server-script.js",
    "content": "(function () {\n\tvar guideJS;\n\t\n\tvar recommend_table = 'sys_user'; // could assign HR Profile or other criteria in options, need to manage access.\n\tvar recGR = new GlideRecord(recommend_table);\n\trecGR.addQuery( (recommend_table == 'sys_user') ? 'sys_id' : 'user', gs.getUserID() );\n\tif (options.recommend_query) recGR.addEncodedQuery(options.recommend_query);\n\trecGR.query();\n\tdata.isRecommended = recGR.hasNext();\n\tif (!data.isRecommended) return;\n\t\n\tdata.sys_id = $sp.getParameter('sys_id');\n\tdata.collapseItemList = data.allowCollapse = options.collapse_items_list == 'true';\n\tdata.featuredOnPage = options.featured_on_page == 'true';\n\t\n\t['auto_redirect', 'requested_for_id', 'requested_for_display'].forEach(function (embeddedWidgetOption) {\n\t\tif (input && typeof input[embeddedWidgetOption] != 'undefined')\n\t\t\toptions[embeddedWidgetOption] = input[embeddedWidgetOption];\n\t});\n\t\n\tif(input && input.action == 'order_guide') {\n\t\tdata.orderGuideModal = $sp.getWidget('widget-modal', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tembeddedWidgetId: 'sc-checkout', \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tembeddedWidgetOptions: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcart: {name: input.cart}, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: input.action, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem: input.items, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trequested_for: {id:options.requested_for_id, displayValue:options.requested_for_display}, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tauto_redirect: options.auto_redirect,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentParams: input.workspaceParams\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackdrop: 'static', \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkeyboard: false, \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize: 'md'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\treturn;\n\t}\n\telse if (input && input.action === 'log_request') {\n\t\t $sp.logStat('Cat Item Request', input.itemDetails.sys_class_name, input.itemDetails.sys_id, input.itemDetails.name);\n\t\t return;\n\t}\n\telse if(input && input.action == \"init_guide\") {\n\t\tguideJS = new sn_sc.OrderGuide('' + input.orderGuideData.sysparm_id);\n\t\tvar temp = guideJS.init(input.orderGuideData);\n\t\tdata.showIncludeToggle = guideJS.isIncludeItems();\n\t\tdata.items = [];\n\t\tvar item;\n\t\tfor(var i = 0; i < temp.items.length; i++) {\n\t\t\tvar catItem = new sn_sc.CatItem('' + temp.items[i].sys_id);\n\t\t\tif(!catItem.canView() || !catItem.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\tvar itemData = {\n\t\t\t\t'sys_id': temp.items[i].sys_id, \n\t\t\t\t'table': 'sc_cat_item', \n\t\t\t\t'quantity': temp.items[i].quantity, \n\t\t\t\t'is_guide': true, \n\t\t\t\t'is_ordering': true,\n\t\t\t\t'variables' : {}\n\t\t\t};\n\t\t\tif (input.orderGuideData.cascade) {\n\t\t\t\tfor (var gf in input.orderGuideData._fields) {\n\t\t\t\t\tvar field = input.orderGuideData._fields[gf];\n\t\t\t\t\titemData.variables[field.name] = field.value;\t\n\t\t\t\t}\n\t\t\t}\n\t\t\titem = $sp.getCatalogItem(itemData);\n\t\t\titem.quantity = temp.items[i].quantity;\n\t\t\titem.show_quantity = temp.items[i].show_quantity;\n\t\t\titem.isOrderGuideItem = true;\n\t\t\titem.included = true;\n\t\t\titem.sysparm_item_guid = gs.generateGUID();\n\t\t\t\n\t\t\tvar table_name = 'sc_cart_item';\n\t\t\tvar className = item.sys_class_name;\n\t\t\tif (!new global.CatalogItemTypeProcessor().canCreateNormalCartItem(className)) {\n\t\t\t\tif (className == 'sc_cat_item_producer') {\n\t\t\t\t\tvar gr = new GlideRecord('sc_cat_item_producer');\n\t\t\t\t\tif (gr.get(item.sys_id))\n\t\t\t\t\t\ttable_name = gr.getValue('table_name');\n\t\t\t\t}\n\t\t\t}\n\t\t\titem.targetTable = table_name;\n\t\t\tif (input.orderGuideData.cascade) {\n\t\t\t\tfor (var field in item._fields) {\n\t\t\t\t\tvar f = item._fields[field];\n\t\t\t\t\tfor (var gf in input.orderGuideData._fields) {\n\t\t\t\t\t\tif (input.orderGuideData._fields[gf].name === f.name) {\n\t\t\t\t\t\t\tf.value = input.orderGuideData._fields[gf].value;\n\t\t\t\t\t\t\tf.displayValue = input.orderGuideData._fields[gf].displayValue;\n\t\t\t\t\t\t\tf.display_value_list = input.orderGuideData._fields[gf].display_value_list;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (temp.variable_assignments[item.sys_id]) {\n\t\t\t\tvar cur = temp.variable_assignments[item.sys_id];\n\t\t\t\tfor (var fieldId in cur) {\n\t\t\t\t\tvar q = GlideappQuestion.getQuestion(fieldId);\n\t\t\t\t\titem._fields[q.getName()].value = cur[fieldId];\n\t\t\t\t\t\n\t\t\t\t\tif (q.getType() == 21 || q.getType() == 8) {\n\t\t\t\t\t\tq.setValue(cur[fieldId]);\n\t\t\t\t\t\tif (q.getType() == 21) {\n\t\t\t\t\t\t\tvar vals = '' + q.getDisplayValues();\n\t\t\t\t\t\t\tvals = vals.slice(1, -1);\n\t\t\t\t\t\t\titem._fields[q.getName()].display_value_list = vals.split(', ');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\titem._fields[q.getName()].displayValue = q.getDisplayValue();\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.items.push(item);\n\t\t}\n\t\treturn;\n\t}\n\telse if(input && input.action == \"checkout_guide\") {\n\t\tguideJS = new sn_sc.OrderGuide('' + data.sys_id);\n\t\tvar cartJS = new sn_sc.CartJS('' + data.sys_id);\n\t\tfor(var i = 0; i < input.guideItems.length; i++)\n\t\t\tguideJS.navigateFromMap(input.guideItems[i]);\n\t\tcartJS.activateGuide();\n\t\tcartJS.setParentParams(input.workspaceParams);\n\t\tdata.result = cartJS.checkoutGuide();\n\t\treturn;\n\t}\n\telse if(input && input.action == \"add_to_cart\") {\n\t\tvar cart = new sn_sc.CartJS();\n\t\tguideJS = new sn_sc.OrderGuide('' + input.sys_id);\n\t\tfor(var i = 0; i < input.items.length; i++) {\n\t\t\tinput.items[i].sysparm_cart_name = \"\";\n\t\t\tguideJS.navigateFromMap(input.items[i]);\n\t\t}\n\t\tif (guideJS.isUseCustomCart())\n\t\t\tnew sn_sc.CartJS(input.sys_id).empty(\"\");\n\t\tcart.activateGuide();\n\t\treturn;\n\t}\n\telse if(input && input.action == \"format_prices\") {\n\t\tdata.frequencySequence = [];\n\t\tvar gr = new GlideRecord('sys_choice');\n\t\tgr.addQuery('name', 'sys_frequency');\n\t\tgr.orderBy('sequence');\n\t\tgr.query();\n\t\twhile(gr.next())\n\t\t\tdata.frequencySequence.push(gr.label.getDisplayValue());\n\t\tvar spCurrencyFormatter = new SPCurrencyFormatter();\n\t\tdata.frequencyMap = {};\n\t\tfor(var key in input.prices)\n\t\t\tdata.frequencyMap[key] = spCurrencyFormatter.format(input.prices[key]);\n\t\treturn;\n\t}\n\t\n\t// portal can specify a catalog and category home page\n\tdata.sc_catalog_page = $sp.getDisplayValue(\"sc_catalog_page\") || \"sc_home\";\n\tdata.sc_category_page = $sp.getDisplayValue(\"sc_category_page\") || \"sc_category\";\n\tdata.sc_catalog = $sp.getDisplayValue('sc_catalog') ;\n\tvar catalogID = $sp.getValue('sc_catalog');\n\n\tvar m = data.msgs = {};\n\tm.scHomeMsg = gs.getMessage(\"Service Catalog\");\n\tm.step1 = gs.getMessage(\"Describe Needs\");\n\tm.step2 = gs.getMessage(\"Choose Options\");\n\tm.step3 = gs.getMessage(\"Summary\");\n\tm.prevMsg = gs.getMessage(\"Previous\");\n\tm.nextMsg = gs.getMessage(\"Next\");\n\tm.submitMsg = gs.getMessage(\"Submit\");\n\tm.orderNowMsg = gs.getMessage(\"Order Now\");\n\tm.submittedMsg = gs.getMessage(\"Submitted\");\n\tm.createdMsg = gs.getMessage(\"Created\");\n\tm.clickMsg = gs.getMessage(\"click here to view\");\n\tm.dialogTitle = gs.getMessage(\"Delete Attachment\");\n\tm.dialogMessage = gs.getMessage(\"Are you sure?\");\n\tm.dialogOK = gs.getMessage(\"OK\");\n\tm.dialogCancel = gs.getMessage(\"Cancel\");\n\tdata.maxAttachmentSize = parseInt(gs.getProperty(\"com.glide.attachment.max_size\", 1024));\n\tif (isNaN(data.maxAttachmentSize))\n\t\tdata.maxAttachmentSize = 24;\n\tm.largeAttachmentMsg = gs.getMessage(\"Attached files must be smaller than {0} - please try again\", \"\" + data.maxAttachmentSize + \"MB\");\n\tm.renameSuccessMsg = gs.getMessage(\"Attachment renamed successfully\");\n\tm.deleteSuccessMsg = gs.getMessage(\"Attachment deleted successfully\");\n\tm.invalidRecordMsg = gs.getMessage('You are either not authorized or record is not valid.');\n\tm.delete_attachment = gs.getMessage(\"Delete Attachment?\");\n\t\n\tm.recommendedForMsg = gs.getMessage(\"Recommended for {0}\", [gs.getUser().getRecord().getValue('first_name')]);\n\tm.featuredMsg = gs.getMessage(\"Featured\");\n\tm.includedMsg = gs.getMessage(\"What's included?\");\n\tm.inTheBoxMsg = gs.getMessage(\"What else is included?\");\n\t\n\tdata.hideDeliveryTime = (options.hide_delivery_time == 'true');\n\tif (options.sys_id)\n\t\tdata.sys_id = options.sys_id;\n\n\tif (!data.sys_id)\n\t\treturn;\n\n\tvar validatedItem = new sn_sc.CatItem('' + data.sys_id);\n  if (!validatedItem.canView())\n    return;\n\n\tdata.sys_properties = {\n\t\ttwostep: gs.getProperty(\"glide.sc.sp.twostep\", \"true\") == 'true'\n\t};\n\n\tdata.showPrices = $sp.showCatalogPrices();\n  data.sc_cat_item = $sp.getGuide(data.sys_id, true, false);\n\tdata.recordFound = true;\n\tif (data.sc_cat_item.category) {\n\t\tvar categoryJS;\n\t\tvar categoryID = validatedItem.getFirstAccessibleCategoryForSearch(catalogID);\n\t\tif ($sp.getParameter(\"sysparm_category\")) {\n\t\t\tcategoryJS = new sn_sc.CatCategory($sp.getParameter(\"sysparm_category\") + \"\");\n\t\t\tcategoryID = $sp.getParameter(\"sysparm_category\") + \"\";\n\t\t}\n\t\telse\n\t\t\tcategoryJS = new sn_sc.CatCategory(categoryID);\n\t\tdata.category = {\n\t\t\tname: categoryJS.getTitle(),\n\t\t\turl: categoryJS.canView() ? '?id=' + data.sc_category_page + '&sys_id=' + categoryID : \"#\"\n\t\t}\n\t\tdata.categories = [];\n\t\tdata.categories.push({\n\t\t\tlabel: categoryJS.getTitle(),\n\t\t\turl: categoryJS.canView() ? '?id=' + data.sc_category_page + '&sys_id=' + categoryID : \"#\"\n\t\t});\n\t\twhile(categoryJS && categoryJS.getParent()) {\n\t\t\tvar parentId =  categoryJS.getParent();\n\t\t\tcategoryJS = new sn_sc.CatCategory(parentId);\n\t\t\tvar category = {\n\t\t\t\tlabel: categoryJS.getTitle(),\n\t\t\t\turl: categoryJS.canView() ? '?id=' + data.sc_category_page + '&sys_id=' + parentId : \"#\"\n\t\t\t};\n\t\t\tdata.categories.unshift(category);\n\t\t}\n\t}\n\n\t$sp.logStat('Cat Item View', data.sc_cat_item.sys_class_name, data.sc_cat_item.sys_id, data.sc_cat_item.name);\n})()"
  },
  {
    "path": "src/pe-people-card-flyout/README.md",
    "content": "# People Card Flyout\n\n## Description\n\nThis can be used to quickly craft a people card flyout widget with options.\n\n## Screenshots\n\n### Collapsed\n\n![People Card Flyout Collapsed](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-people-card-flyout/images/pe-people-card-flyout-collapsed.png)\n\n### Expanded\n\n![People Card Flyout Expanded](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-people-card-flyout/images/pe-people-card-flyout-expanded.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-people-card-flyout.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/pe-people-card-flyout/pe-people-card-flyout.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option       | Description                                   | Default Value  |\n| :----------- | :-------------------------------------------- | :------------- |\n| `Department` | The department id.                            | 0886           |\n| `Title`      | The title in the panel header.                | People at Risk |\n| `Number 1`   | Displays the first integer in the panel body. | 1631           |\n| `Number 3`   | Displays the third integer in the panel body. | 21             |\n| `Sub Text 1` | Displays the first sub-text copy.             | Email Inboxes  |\n| `Sub Text 3` | Displays the third sub-text copy.             | Open Rate      |\n\n## Platform Dependencies\n\n### SN System Tables\n\n- sys_user\n- department\n\n## Sample Data and Data Structures\n\n> See 'Configuration' above\n\n## API Dependencies\n\n_Dependencies are included and configured as part of the provided Update Set._\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-theme-color: #283347 !default;\n$pe-theme-background-color: #1c2432 !default;\n$pe-text-color: #fff !default;\n$pe-sub-text-color: #68acd8 !default;\n$pe-status-color-normal: #29bd00 !default;\n```\n"
  },
  {
    "path": "src/pe-people-card-flyout/angular-template/pe-people-card-flyout-svgs.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"add-circle\">\n    <svg width=\"23px\" height=\"23px\" viewBox=\"0 0 23 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>FC853017-F594-40BD-A695-77079B3A32E0</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.3---CVE-Info-(people-collapsed)\" transform=\"translate(-316.000000, -265.000000)\" stroke=\"#FFFFFF\">\n          <g id=\"Group-7-Copy-2\" transform=\"translate(20.000000, 254.000000)\">\n            <g id=\"add-circle-1.3.3.1\" transform=\"translate(296.000000, 11.000000)\">\n              <circle id=\"Oval\" cx=\"11.5\" cy=\"11.5\" r=\"11\"></circle>\n              <path d=\"M11.5,5.5 L11.5,17.5\" id=\"Shape\"></path>\n              <path d=\"M17.5,11.5 L5.5,11.5\" id=\"Shape\"></path>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"close-circle\">\n    <svg width=\"23px\" height=\"23px\" viewBox=\"0 0 23 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>A5FD204D-DEC5-4AFA-A427-2E63C8C938AE</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.3---CVE-Info-(people-expanded)\" transform=\"translate(-316.000000, -265.000000)\" stroke=\"#FFFFFF\">\n          <g id=\"close-circle-1.3.3.1\" transform=\"translate(327.500000, 276.500000) rotate(-315.000000) translate(-327.500000, -276.500000) translate(316.000000, 265.000000)\">\n            <circle id=\"Oval\" cx=\"11.5\" cy=\"11.5\" r=\"11\"></circle>\n            <path d=\"M11.5,5.5 L11.5,17.5\" id=\"Shape\"></path>\n            <path d=\"M17.5,11.5 L5.5,11.5\" id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"star-ribbon\">\n    <svg width=\"18px\" height=\"24px\" viewBox=\"0 0 18 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>613A9873-1848-4218-97E6-83BAB599DEB2</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.3---CVE-Info-(people-collapsed)\" transform=\"translate(-176.000000, -312.000000)\" fill=\"#67ACDB\">\n          <g id=\"Group-7-Copy-2\" transform=\"translate(20.000000, 254.000000)\">\n            <g id=\"Group-22\" transform=\"translate(149.000000, 54.000000)\">\n              <g id=\"Group-19\" transform=\"translate(7.000000, 0.000000)\">\n                <g id=\"rank-army-star-badge-5.2.3.1\" transform=\"translate(0.000000, 4.000000)\">\n                  <path d=\"M17.5,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,23.5 C0,23.684 0.1,23.852 0.261,23.94 C0.422,24.026 0.617,24.019 0.772,23.92 L9,18.595 L17.228,23.92 C17.31,23.974 17.404,24 17.5,24 C17.582,24 17.664,23.979 17.738,23.94 C17.899,23.852 18,23.684 18,23.5 L18,0.5 C18,0.224 17.775,0 17.5,0 Z M14.82,7.885 L12.061,10.184 L12.985,13.879 C13.036,14.083 12.955,14.296 12.781,14.414 C12.609,14.532 12.381,14.529 12.21,14.408 L9,12.115 L5.79,14.407 C5.619,14.528 5.391,14.531 5.219,14.413 C5.045,14.295 4.964,14.082 5.015,13.878 L5.939,10.183 L3.18,7.885 C3.018,7.749 2.958,7.527 3.029,7.33 C3.102,7.133 3.289,7 3.5,7 L7.17,7 L8.54,3.803 C8.619,3.619 8.8,3.5 9,3.5 C9.2,3.5 9.381,3.619 9.46,3.803 L10.83,7 L14.5,7 C14.711,7 14.898,7.133 14.971,7.33 C15.042,7.527 14.982,7.749 14.82,7.885 Z\"\n                    id=\"Shape\"></path>\n                </g>\n              </g>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "src/pe-people-card-flyout/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Card\",\n  \"common-name\": \"People Card Flyout\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Steven Gregory\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-people-card-flyout\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This can be used to quickly craft a people card flyout widget with options.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.2.0\"\n}\n"
  },
  {
    "path": "src/pe-people-card-flyout/pe-people-card-flyout.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-04-03 17:23:47\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE People Card Flyout</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>9641519e4fe43300a14ea6cd0210c72f</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>4cb615164f283300a14ea6cd0210c7f4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_86ecb61d137b5b00e5843192e144b090</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;package_private&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;global.PeopleCardService&lt;/api_name&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;PeopleCardService&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var PeopleCardService = Class.create();\nPeopleCardService.prototype = {\n  initialize: function() {},\n\n  getNumberRange: function(minimum, maximum) {\n    var min = Math.ceil(minimum);\n    var max = Math.floor(maximum);\n    return Math.floor(Math.random() * (max - min + 1)) + min;\n  },\n\n  getUsers: function(id) {\n    var userGr = new GlideRecord('sys_user');\n    userGr.addQuery('department.id', id);\n    userGr.orderBy('sys_created_on');\n    userGr.query();\n    var users = [];\n    var fields = 'department, first_name, last_name, title, photo';\n    while (userGr.next()) {\n      obj = {};\n      obj.timeAgo = this.getNumberRange(1, 59);\n      $sp.getRecordElements(obj, userGr, fields);\n      users.push(obj);\n    }\n    return users;\n  },\n\n  type: 'PeopleCardService'\n};\n]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-08-07 19:19:48&lt;/sys_created_on&gt;&lt;sys_id&gt;86ecb61d137b5b00e5843192e144b090&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;PeopleCardService&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_86ecb61d137b5b00e5843192e144b090&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-03 17:20:50&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>592334215</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>00b615164f283300a14ea6cd0210c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e437b9260000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>PeopleCardService</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid>05065dd2d0283300f15d89c3c70120a1</update_guid>\n<update_guid_history>05065dd2d0283300f15d89c3c70120a1:592334215,5bd40711a6bb5b00bce3f083bb03d8d7:2136902551,04ed7e1da47b5b000cd875d7b0c72c5e:-1845297754,debd7e1d317b5b007b287a58cc3b6626:-1279701318,e54d7a1df37b5b000f01f6dd143b7305:423802359</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_f93ab3f4dbe5b20062e479daae961958</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"VIP\">48197fb4dbe5b20062e479daae96191f</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Kevin</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Lawson</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Kevin Lawson</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 21:46:03</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>f93ab3f4dbe5b20062e479daae961958</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 22:43:29</sys_updated_on><time_format/><time_sheet_policy/><time_zone/><title>VP of Research &amp; Development</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4670</size_bytes><size_compressed>4364</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:49</sys_created_on><sys_id>f78748c9dbe5b20062e479daae961916</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 22:43:49</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>f93ab3f4dbe5b20062e479daae961958</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"f78748c9dbe5b20062e479daae961916\">f78748c9dbe5b20062e479daae961916</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:49</sys_created_on><sys_id>3b8748c9dbe5b20062e479daae961916</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"f78748c9dbe5b20062e479daae961916\">f78748c9dbe5b20062e479daae961916</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:49</sys_created_on><sys_id>bb8748c9dbe5b20062e479daae961916</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2072</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"f78748c9dbe5b20062e479daae961916\">f78748c9dbe5b20062e479daae961916</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:49</sys_created_on><sys_id>3f8748c9dbe5b20062e479daae961916</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-443952241</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>0cb615164f283300a14ea6cd0210c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e424ce8a0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>Kevin Lawson</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_guid>354be3800aa4c3005ebbe78722bdde6a</update_guid>\n<update_guid_history>354be3800aa4c3005ebbe78722bdde6a:-443952241</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_d60affb4dbe5b20062e479daae961972</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"VIP\">48197fb4dbe5b20062e479daae96191f</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Diane</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Flores</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Diane Flores</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 21:45:10</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d60affb4dbe5b20062e479daae961972</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 21:45:10</sys_updated_on><time_format/><time_sheet_policy/><time_zone/><title>VP of Marketing</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4896</size_bytes><size_compressed>4603</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>596708c9dbe5b20062e479daae96194a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 22:43:06</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>d60affb4dbe5b20062e479daae961972</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"596708c9dbe5b20062e479daae96194a\">596708c9dbe5b20062e479daae96194a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>996708c9dbe5b20062e479daae96194a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>pZZ3UFPd1ocPJCEgCIaiSEcQpKj0IlWQ3gkIEkILEJBO6KAYERARaVIFkd5FUIo0eQUNSDUgvQlID0WIgJTc8Hpn3pk79/7xzbfO7L2fs9Zev7P3OnvOHNIoaRY4p6upowlQUFAA2uQLIM1RvtJRV7c1NjXS1NHXIAcAgDLBHeWBAYsBgIenn6+plhqP5R0rHug0AAbYgXPknsMehfG+aWysD/xP+zUMUJyOg1dPtf73vP9qtI5OGBQAUFCTWQ7l7etHZlUyGwb6eZ9yApmZUS72jmQuILOoL3mBZB449Tv84YVTRv/h/VP2NTNVJ++Njsw86D8sesoOf/h0LzwoF18PMruTmd/D3R/17/Wc7oTOydMcTh45/m4YwBTQAtQAHsAB8AdcAXfAD7hKHj3JNfvveRJ/5xkCXuQcFLn3BoIBX3IGGnAh54qSvf5kVSfy6Ez2O5Evd/IMsp3W/j9rinGWlPjzBDpdAIDMk0g7wgAAfQEAx9Ek0mEeiXScDwCgUQBoe/5Pvtdzcjk3yP6Ef3z82QDAEAEAda3/+BwKAaCeXGPWaW97X/u/XSByo3R2BoCfxQBw9g4AMJFrfQbx/43/qfe/40D+CACYhQKAfi8AZGQCgAB5PoM1aQJQByAgMBgMgpA7CARCBaWjhpKNgZaWhg7GwMgIY4DBmM5zXGBiZmOBwVh5Wdk4Obm5uZkuXOK/xMXPwcXNdSpCQU6FUkHpqanpuZhhzFz/ZyO1ATBq4AHwAERxCaCEUYBgFKSO0wNBSQmioPjn+EKowFAKShBATY6qngMoKUCUYBAVCEIFgZy+MnIEDIPwUjGK32QysYde8sEmVjNL5LLwqZn+RS0p7eC7df4WHJWHeZhU852swE6W/g99MNWpB0oOXoWdyoPAFJR/a/8tD4DI8oy8TOI3TS5J2FPxYav/Ypb0SfxKGgfoQGQtGAgGqAAf1oeuvhFsJZ5Zm270bF3F7kgZUfCdUaAz/sTR03/UY9T9qrRAO2bD7emZCVaWVpEOj/Ear4zXshXz+Hrz3YrE99MtHcMYOetkrJo/EumRKwB2tcwSwNGFRfveZ+m3bL2ugj2HjtOmKx/WVIBA538J1oKG/S3tMqT2OZ2HLluLx3veXFBJUYGrT9vOi+jPc4UvaI4P+kAe2cw9uz5HKxRsQKxM5kqMtAiPAlRC2D0+WcPRPM3f/A310JP8q9ViXHZ296jzrSrY0AyWtUcVNdNv5FMem6svsK5/oEgtk30qvVaptur0bE5rsfNTMxQ4SLvXj49as5jqztnjyvUwzDsyQx0Z5QUpxL+Lc709tVnZOzoa6fHi+3g2qr1KFt+qOturcEc2NlThnU/Zy9sJ9i9IwOOq3Ja0bQuCS45+c4bBJA8L51h4aZHoZqysYe7S5HXjwUb1e8rTqNovUGy+AuZ7uJXCs4/YaXQSz42Mee6DMypxKz6UJUGwANuDVBLQSAJCqP6qU35hUidfn908rf47k94YPSW/z8ZuAk7pUOvv8Wn01LbcA93Fsq0zB4wX2SSYCW18bBDGZtHBvYmzBj4NVecUy71lq7yyhmk20A9yx7/NjSOSe27ypOKMoWlVd/kDmAsrrIP2KgzvGEeLLMV3fpBs4S613hXymey67dcY329/oaEKyUYfF1jaSdnN6FvCPnebHbv0pYGb0fWC0fBrv4G/UIjskO2wQHpaUd7G80TcTcQh8pv9kUdq8vNM7ZlPWxP5XVlJMz+g0BHWyn0Vo0uyKbEGGElMr4hn33Txb3OdrOr55vcIRJnJdHvz2es01qu/HwzVrnVtCiiBX2sbaZjUxKteyVJUQXvBLHOt6UeLimMSQrsG734PiOveeC1pOTT6U39dhKsdy7QpRQJouh4/vzjBAlUbvowPSsUvpzLirvUvLRYPPHHPFAvGsuNHGF1L9zG+L+zfeIuMu2sp38KNz7sF52jdFEa+zpZyZE4189+3y7S3qjpOQyptnl22EfipxZePPiobPaYuh9SpLwsTPI917Y/7c6YEDXONTOyYDpViNnvC4WrZxnXeGI0LR6LcUrktCNZ8afo1gfEA8aLZH0Mhzu8INokxvm7sBAPq8JiEgIozRLuEMp2Knr6f16q939yp06Zrwx67ilqHFjkETKvvjt5T3hUcT2PUvoYa5AlQl4QkjjiULijzCaTtJ8eoQD6GtAy5V16ufU8bUf8Yl6I1xF0IJ9J+WHVL4YymtBJ1Z8vmMQpImXwre+5QZ2iz2UzPTXIW6rGlSYjPUNH1GtxPRSqbvXtoIEE0O+xizrVdNrzbNOshuJ3JMTzYfSU4I6JGhgY1lGPlNxh0/ssXx6YoEf6tAYgAHSzyMya7PxxubQ73WWIliJpTlpW9q5E67EZ0hpmmO1nXROSkXPMJP4dDA34vp4cvywVz138s3urLJOTftVC7fSb9meRTp+r3n8BHdFaPRHu6OArpPF9jHxAvLrt5W2KbYs6ygHLkEqSOMbdaBbcmNS735HQo4ZWzfRA+Xje8j3ZegR8t7t0nPg5CaNYlCS4sJYn+rJlFqbzwVhg6sNMr16kw3tGEp80KK7AwYG+IsYL1GA5VkBrhH2+YVXf1GffOOR62rVNpfaxkj+j24gsW4caX2a7vFElHE6A/zkS+N7vSNuGZ4rZ6ttveOywP9Zut3lLG4/mcqbQ5bVAbx875GQ9xGVzDOxUKrELELU+xOuriYuGBXVb3eR6CyfX7b5QHK6vwRtPiaEHl2tVfJEAXZ2WnvmhkFV/S9X1cIVjo0CIkrqzDafCHsexnt+yw3QnObdniuHnJpQ2llAnzI4vtSFedtbg63JeINROm9UPLSOwiDd0C04knCVA8dm164n6kcPCoKY/LNOxrlORuLltLLNI1JO458rpUPW+/6tcUucOR/lJG2xzMsvB8UcOhhhfap6am9IqOIu75Oua2Ar8NKz8V6sAsy1x8PWBRdU8mSYGG50WuEgVhq1PaZdJaFNALDUjdfusrlDDrHnbUq23nOuyk2HX9ySux+NsED9f2XodHmOqeOC55rY8pV2fjPKesFEUco84mx5tYbzOrUzteMbILFMibaqmMbLLukkRcOnFOtGQY8jJdFXfi5sJfvcEr2R+sYirkAfDsEPB5rj7Nb+qjjqr4niHf5uhu+2Ackhxr5CCWpfCI5RDz2PV8vYdKMojhyDtHNpajr+dBYcEWInoB7yvf+MjZWldWcuKS2YJABmwGWQFhDUGEoa56Cwed/PHqH4Oe8cdFh2ZIPoGTrQMwd670CJL8TXjP5Ro/ZN5rfMmD81HuMMb09fxk28ih1fUv0QKUmXyl4d7Qkk/0F/+aqbwQ3GuE53Xb1aSL1+1cqa4IqPhVxLuI8tirkpE3QCunRE250cyFQCXq5wk3mHsIB/zKXArzUB9dK0iPzN75zTAHGKLHISv7gRZEp3hD0VyGDl/645lq4rOFPZXNvjIGFwuJFTZp4i6EXVz45wc1HZad1fKa5UgOpmup0FJVkYuGLQtHnIQLJpEdLzlbJlN/lk7WUI3+JkRYeMT9KKrKz6USeREM706/8ZK443/0dsqmeU9CMVl3sm+jI8koo/zCGFfx5drm1Ip7nTnT6iP35xJb8lPoFR7Htc4FdEfoNQ/vTmgT3DcLEBo4YUUH4/SVpxvi2yWBXcGlNrGVVt83kBIOjJwJv6+MmsWypxeo6p9sGlONlexYC/e06TrCs0DjDf6jg7QZo9do7F5xBz3aXdPLvn3CKQ==</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"596708c9dbe5b20062e479daae96194a\">596708c9dbe5b20062e479daae96194a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>1d6708c9dbe5b20062e479daae96194a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2392</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"596708c9dbe5b20062e479daae96194a\">596708c9dbe5b20062e479daae96194a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>9d6708c9dbe5b20062e479daae96194a</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>1683303396</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>48b615164f283300a14ea6cd0210c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e424ce3c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>Diane Flores</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_guid>b87b67801aa4c300739193af81dc1d6a</update_guid>\n<update_guid_history>b87b67801aa4c300739193af81dc1d6a:1683303396</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_5f8feff0dbe5b20062e479daae9619fc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category/&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleCardFlyoutController() {\n  var c = this;\n  c.toggleTrends = toggleTrends;\n\n  c.$onInit = function() {\n    c.isVisible = false;\n  };\n\n  function toggleTrends() {\n    c.isVisible = !c.isVisible;\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-theme-color: #283347 !default;\n$pe-theme-background-color: #1c2432 !default;\n$pe-text-color: #fff !default;\n$pe-sub-text-color: #68acd8 !default;\n$pe-status-color-normal: #29bd00 !default;\n\n.people-card-flyout {\n  .badge {\n    border-radius: 100px;\n    float: right;\n    font-size: 12px;\n    font-weight: normal;\n    height: 28px;\n    margin-top: -5px;\n    padding-top: 7px;\n  }\n  .photo {\n    img {\n      height: 40px;\n      width: 40px;\n    }\n    &amp;amp;:after {\n      background-color: $pe-status-color-normal;\n      border-radius: 50%;\n      content: '';\n      height: 10px;\n      left: 45px;\n      position: absolute;\n      top: 78%;\n      width: 10px;\n    }\n  }\n  color: $pe-text-color;\n  .panel {\n    border: 0;\n    color: $pe-text-color;\n    background-color: transparent;\n    .panel-heading {\n      border-bottom: 0 !important;\n      background-color: $pe-theme-color !important;\n      color: $pe-text-color !important;\n      font-size: 12px;\n      padding: 14px;\n      text-transform: uppercase;\n    }\n    .panel-body {\n      background-color: $pe-theme-background-color;\n      color: $pe-text-color;\n      h4 {\n        font-size: 24px;\n        margin-top: -5px !important;\n      }\n      .user-sub-text {\n        color: $pe-sub-text-color;\n        font-size: 12px;\n        margin-bottom: -5px;\n        margin-top: -5px;\n      }\n      .sub-text {\n        color: $pe-sub-text-color;\n        font-size: 10px;\n        margin: -5px 0 -5px 0;\n        text-transform: uppercase;\n      }\n    }\n    .panel-vips {\n      .panel-heading {\n        background-color: #394b6b !important;\n        border-radius: 0;\n        padding-bottom: 15px;\n      }\n      .star-ribbon {\n        margin-right: 16px;\n      }\n      .lower-case {\n        margin-left: -2px;\n      }\n      .badge {\n        background-color: $pe-theme-color;\n        width: 76px;\n      }\n      .user-sub-text {\n        margin-top: -10px;\n      }\n      .row {\n        margin-bottom: 30px;\n        &amp;amp;:first-child {\n          margin-top: 5px;\n        }\n        &amp;amp;:last-child {\n          margin-bottom: 5px;\n        }\n      }\n    }\n  }\n  .panel-vips.ng-hide-add,\n  .panel-vips.ng-hide-remove {\n    -webkit-transition: 0.3s ease all;\n    transition: 0.3s ease all;\n    display: block !important;\n    opacity: 1;\n  }\n  .panel-vips.ng-hide {\n    opacity: 0;\n  }\n  .header-left-icon {\n    margin: 0 0 7px 11%;\n    span {\n      margin-right: 17%;\n    }\n  }\n  .add-circle,\n  .close-circle {\n    height: 23px;\n    margin-top: -3px;\n    .add-circle,\n    .close-circle {\n      height: 23px;\n      margin-top: -3px;\n      width: 23px;\n    }\n    width: 23px;\n  }\n  .star-ribbon {\n    height: 24px;\n    width: 18px;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-people-card-flyout&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Card Flyout&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"name\": \"department\",&amp;#13;\n  \"default_value\": \"0886\",&amp;#13;\n  \"label\": \"Department\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"title\",&amp;#13;\n  \"default_value\": \"People at Risk\",&amp;#13;\n  \"label\": \"Title\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"number1\",&amp;#13;\n  \"default_value\": \"1631\",&amp;#13;\n  \"label\": \"Number 1\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"number3\",&amp;#13;\n  \"default_value\": \"21\",&amp;#13;\n  \"label\": \"Number 3\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"subText1\",&amp;#13;\n  \"default_value\": \"Email Inboxes\",&amp;#13;\n  \"label\": \"Sub Text 1\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}, {&amp;#13;\n  \"name\": \"subText3\",&amp;#13;\n  \"default_value\": \"Open Rate\",&amp;#13;\n  \"label\": \"Sub Text 3\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var users = new PeopleCardService();\n  data.users = users.getUsers(options.department);\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 21:01:10&lt;/sys_created_on&gt;&lt;sys_id&gt;5f8feff0dbe5b20062e479daae9619fc&lt;/sys_id&gt;&lt;sys_mod_count&gt;230&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Card Flyout&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_5f8feff0dbe5b20062e479daae9619fc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-03 17:21:51&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-people-card-flyout-svgs'\"&gt;&lt;/div&gt;\n&lt;div class=\"row people-card-flyout\"&gt;\n  &lt;div class=\"col-xs-12\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\" ng-click=\"c.toggleTrends()\"&gt;{{::options.title}}\n        &lt;i class=\"pull-right\"&gt;\n          &lt;div ng-hide=\"c.isVisible === true\"&gt;\n            &lt;svg class=\"add-circle\"&gt;\n              &lt;use xlink:href=\"#add-circle\"&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n          &lt;/div&gt;\n          &lt;div ng-hide=\"c.isVisible === false\"&gt;\n            &lt;svg class=\"close-circle\"&gt;\n              &lt;use xlink:href=\"#close-circle\"&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n          &lt;/div&gt;\n        &lt;/i&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-body\"&gt;\n        &lt;div class=\"row text-center\"&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;h4&gt;{{::options.number1}}&lt;/h4&gt;\n            &lt;p class=\"sub-text\"&gt;{{::options.subText1}}&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;h4 class=\"header-left-icon\"&gt;\n              &lt;svg class=\"star-ribbon\"&gt;\n                &lt;use xlink:href=\"#star-ribbon\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n              &lt;span&gt;{{::c.data.users.length}}&lt;/span&gt;\n            &lt;/h4&gt;\n            &lt;p class=\"sub-text\"&gt;{{::c.data.users[0].department.display_value}} users&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\"&gt;\n            &lt;h4&gt;{{::options.number3}}%&lt;/h4&gt;\n            &lt;p class=\"sub-text\"&gt;{{::options.subText3}}&lt;/p&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-hide=\"c.isVisible == false\" class=\"panel-vips\"&gt;\n        &lt;div class=\"panel-heading\"&gt;\n          &lt;svg class=\"star-ribbon pull-left\"&gt;\n            &lt;use xlink:href=\"#star-ribbon\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n          {{::c.data.users[0].department.display_value}}\n          &lt;span class=\"pull-right\"&gt;Last Opened&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div class=\"panel-body\"&gt;\n          &lt;div class=\"row\" ng-repeat=\"user in ::c.data.users | orderBy: 'timeAgo' track by $index\"&gt;\n            &lt;div class=\"col-xs-2\"&gt;\n              &lt;div class=\"photo\"&gt;\n                &lt;img class=\"img-circle\" ng-src=\"{{::user.photo.display_value}}\"&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-7\"&gt;\n              &lt;h5&gt;{{::user.first_name.display_value}} {{::user.last_name.display_value}}&lt;/h5&gt;\n              &lt;p class=\"user-sub-text\"&gt;{{::user.title.display_value}}&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-3\"&gt;\n              &lt;span class=\"badge\"&gt;{{::user.timeAgo}}m ago&lt;/span&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2099681659</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>4cb615164f283300a14ea6cd0210c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e438a50b0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>PE People Card Flyout</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>fb36111628283300bcfd7108b0f2e74b</update_guid>\n<update_guid_history>fb36111628283300bcfd7108b0f2e74b:2099681659,e905471177bb5b004dbe8df748992d15:-1212677207,401efe1dab7b5b0076f24e23d9f79f1f:1474747682,897dba1da17b5b0073266337832fc87c:-1844248636,bcfcb3c7d94c5f00f71485783aa89759:-1332535370,5b6cff87434c5f004529c2d2f4e78e18:-806915819,a13c7b87084c5f00f92485b73b507fc2:-288788949,dbbb7387874c5f00c0fa1e2f57be81fe:1344120352,052b73870e4c5f00061df884f2609b1a:-750287678,6b7a3b47804c5f00b692cdb5a7153a1a:-212895371,1f1af347b24c5f00418180dc3ed05ce3:513997869,2f0a7747eb4c5f00ffe3c1403aa9a7c7:-1286581464,ad0a37472e4c5f002a6715ec2a120ff7:-1299873884,32f93747b94c5f009981cf8385e905ef:-1279935254,9ae9b347164c5f00b09a01c293e6d017:139819894,88c9b347eb4c5f008f6021169f695c11:-724621531,61697f07294c5f0094132c85074ab8e6:1035642091,5f597f07f74c5f002dfeff8f7b5a139a:-365447457,f6497b07184c5f00d9e0cf884b3888a2:650931857,7a39bb07bb4c5f00e4629731ec779ef3:1849331154,af29f3c36c4c5f00a805c6ca6beaba66:650931857,0d19bfc3804c5f0060500ce79fb04844:2047851921,20567f83504c5f00394138aaca004365:838473425,cf75bf43a54c5f00a78bc294b0b11d73:-1328571892,35b47b43aa4c5f00aef65c2cb06ac7a0:1448306383,d9843743b94c5f00e932ffac96865127:-1243654258,59196b0017a4c300aed089f46cded61c:-1929496124,d5b37b03bb4c5f00741a6a6156a6196a:-1738693903,20e133cf300c5f001cce26271314415b:1943353829,0f749664d5e88700fe1cd5ef3fb509cc:-744393935,795e919c1e68c30063b2358499e646a2:1411624447,574e919cab68c300f9e3f725c3108b91:-1198778673,59196b0017a4c300aed089f46cded61c:-1929496124,3d096b0026a4c300a029ccb62498db03:-388509242,98092b000aa4c3005cf7400655d1a6a9:-1929496124,60f82b00e5a4c300f44df8d91ed300fc:1886964960,eee8a7004da4c300c375d342fc7b61a3:-1929496124,49e8e700d8a4c300bb224823db9ae296:1212982330,f0f6af8c4a64c3005e30b556c4a559f9:-1929496124,5bb6a3cc1b64c3005b63a51dd4f4ad8a:1240422845,23062b8c0d64c300c163267164614a5d:1278197283,87a5e78ca464c300b5ba6d95c705f851:989284131,3a65ef4c4364c3002df6f686c312d77c:171931492,e445a38ce064c3009a56efa883cf6c6f:1168175256,84356f4c3e64c3000df15a33b0aed740:352790256,e0e42f4c5f64c3008e277fc6674f15f3:-805997033,59a4ab4c0164c3000d37bd15dd394845:104784815,b084eb4c1964c30052ff9b126e2fa42d:144825808,71546b4c9964c300eaeac3a99a7c0283:-817517772,7734e74c6664c300925f80ec5faff98d:-1534428968,6424e74cff64c300d20f4d00a1429d63:1934604716,8e04234c2564c3005e87499e9ae3e4f0:145923762,31a3a34cdb64c300b412f9e952e2c9d0:-1388976432,18c2ab0c1364c300bde2d8b56b4dc642:1222726660,9f62d304e264c30052f3293b3c2ed301:-613967349,0c2253c06c64c300b2afd8805a1b844c:-2032186266,e7c7b4040f20c300e545946e4eaf73d0:-521879683,c0173cc0ed20c300cf46a151524c4754:-1801708963,0f96f4c02820c300b7e0a201d2d650f9:1100609087,aa4638c0c820c300c0480e6af81adc04:1465181502,a09530c07120c3008e7b5a322d099de0:-935271904,383530c0bc20c3005d8e5da18aa813d9:336696420,ec05b8800120c3009cb3c679a93582a8:-1123483687,48c4f8803b20c300ebdf611646bb52f0:-1368789622,1e94b8806c20c30015c6f2aa274ea99d:962310673,2764b480fa20c30027c3cf520a8bbeda:-172966828,2e54fc407420c3004ff074e0b4569ce7:530387780,fe0178ccf2ec8300ec7adff40bba823f:1012454011,b01fa0cc2eec8300bdb0eeba76982344:326686733,83ee20cc09ec83007682e1582578c6db:-1601596937,b53e648c52ec83009e60937f17711591:-700747741,f68dec4c08ec8300b874d0178d69acce:165924060,da6d684c0fec83001cbd28afc9d1342f:245659400,c96b280c61ec8300cb3fb9bfbcd3e62b:1021098009,e11b240cd0ec830053c36c21d77e4d0b:763632983,b3fa640c2fec8300f058d16fa4c3545f:-1893758556,cdd8a0c84cec8300cdcd56c99cb94bfa:-1788303849,f5b8ec88a2ec8300cea6f9ebc123483d:754913908,17f72448f5ec83002feac28cbb005254:884325140,ba922cc492ec83000ebfa2c9a9dd3326:-1151778791,35e164c4baec8300ba0307d023b7be0f:649020482,7391ec84b9ec8300177dabb394d0c1f4:1379121484,6331e88408ec8300c691ddbd0d38806a:753278029,29502484a4ec83003ab068de2b2ed278:343758605,4c306c44b6ec830048cd3cb43061f4ae:-1352656512,23bf5c44dfec83009fac625418a9cdbc:1116250170,41be1444b9ec830022079fecfbbc06aa:-684977901,fa5ddcc06bec83001a13080410efa6c1:363741334,b7cb5c8095ec8300fcfa0f351b0ce58e:1316965320,913f344be6dc0300b91d3fb43fb0f170:-1814769925,f45ef04bb6dc0300940c98bf3548d5cf:67824945,2e4ef04b43dc0300b217b43f91a92ac6:130474129,cc4e304bbcdc03006344a2ee9226af27:-442606577,511e304b2fdc03003491f887cc55cae5:42768706,a6fd304b38dc03005affcec5a61a90dc:-404259123,3eddfc0b9bdc03002bcc76cd3d7f699a:-1743171347,137d380bd5dc030096ad99399332aaa5:805481933,c16d780b04dc0300c6d228c1badb3a12:522566413,855db80b25dc03006878700e5883da40:-240737331,f32d380b4cdc03005e4815a1512b6a3b:1285870157,6b1df00b5edc0300416f4383a4c966a2:-674619959,551db40b29dc0300dedb8f46667fa366:-840827159,a7ec740b16dc03004923a0f6dfd0f361:-1044307511,10dc740bdbdc030090016af1bd49584c:-253658935,8dacf00bc2dc03007a54cf09e77dd099:1785354056,8a9cb00b33dc03007655e1c06687e6d6:1499420957,698c700ba2dc03007b79d14d5076478a:-1340080301,8d7c3cc7e2dc0300194916d648dbc07e:-1185526692,bf2c3cc796dc03008eead85ef5978430:-1158337599,fafb38872ddc0300a1ad9a792093b4e9:-1814769925,40a93487e4dc030053f7db51ef490928:1030245787,2a89f08759dc0300e0b59748cde48af4:-506033861,9889b48797dc030033c86c97932cd1c2:2017109979,aa79748758dc03004258a415c8d0cd06:-1969501445,50597487b7dc03005abb7df8143c1856:212008827,e649bc4779dc0300c20027a31ba7a08f:284258587,3539f08785dc0300103ed19a8e1a935f:-1969501445,5929f087fcdc03004b6236feabd32456:749854555,d9097087dbdc03006da572213c094877:1659418331,61f8708724dc03000b4ce064fe360e68:-890073170,01a8384723dc03007dd37ba7239971c8:-1851708015,d3783c4730dc03004ac81b0ae5f064a2:1851429367,b168f44763dc0300797f1aa0ef49c673:1398861926,23183847a7dc03005c55e82b2bf844b3:1851429367,24d730475cdc030051fcee5432b67645:1112413564,8ab77047c5dc0300c6f0cf3fb9c3854c:1149376280,a357704754dc030094a6c8dc8aece043:-1618142248,1e47b80782dc03005fe9fe1b0daf8905:360277293,2fa6780768dc030061a0b656bf9705fc:2016555335,085c6cde63d843005bfb91ae21863338:-1814769925,9eeb24dee1d8430055a30fb1a6e7fdf1:348788295,098b64deb5d8430080fca0c844b63a1a:584246017,f56be0de3dd843003e156092894bed07:1891545184,d73ba0dec7d843001a0a00561b37cf0a:2100659120,9cfaa89e69d84300af58170684c51c35:-808640147,347aa89eddd84300dcc8d97a3682ca21:1720175010,886a689eded8430061e6622acbe42f36:2040756642,055ae09e9cd84300cd92f7936e74ac59:1720175010,3ec9609e8fd84300396b9e8aef63e8e0:-1112584336,47b9285ebed84300ca96831e3417a082:1398196650,dba9ec5eecd84300ab2f7996367fb2cd:1415817143,cf99ec5e5fd84300d661db9297e19315:1921431269,ee89245e64d843000a3606861bcda6d2:93333923,bcf8685eddd843003d96d60ad89f8f0a:2112252391,e0e8e45ee1d84300efd9eea850b09874:1921431269,1bc8e45eaed84300e9792a466f081b6b:1911352175,5aa8645ef5d8430092d4ec778c782b3f:1882112045,4898e05ef7d84300f915d05482f9fb6b:-1642409643,a758a05ee7d8430026a5bfd38897821f:1575834967,3b48205e43d84300574264bf2933684a:973612072,6a38a81e9dd84300ecb8bec99bbdacc2:-500988855,c5b7681e15d843000b9016cfd681aa9c:407511118,2e97681e0ed843008a46b0c58f680393:-1099915207,c777281e1bd843008265eca0d5d53812:498085602,3727a01ed0d84300fcf7953e2e34d08b:1354245562,ebe6a01ee8d843006124cdf4bce7262f:-319756935,60e6601e2dd84300156726d40d892176:920728064,9ed6601e97d843007df979ab957af612:-573887177,eec6201e0bd843001d27ab0c7da6bd1b:-1363912895,aa862cdaa6d843005011d8c40930d5c2:332928183,1d7668daa3d84300e5240e133b8a921e:-181688024,d6f5a4daedd843005471dcad977107bf:923457054,4ae5a4da20d8430017d0f230e41c4eb9:-915068412,1fc4e89a29d843008813b8594ea1a7b2:1564904826,9e74e49a69d84300d283e7c8230d5ad1:1750014886,3a64209a6ad84300bb9787235344fd96:-4220076,d1c3209ae9d84300501e3a3c37b8bbc4:698009066,fab3a45ad1d843007c580e1a9e92c3af:1706870828,65a3ac5ad4d84300ac81cb016bb60f28:698009066,8093a45a09d84300354cc7ab7f4423e4:1059891114,1d732c5aadd843006ecf1f49420da8a7:-1783818774,b963245acad8430046d3576c1214a8cc:698009066,22d2a05a05d843000f7c4b76e1702c76:315632991,18b2245a27d84300195f05b11ccfadb7:-488299566,dda2ec1a8ed84300d1c733962f7040e1:315632991,ef72605afed8430088786dc4f9fad548:-1517018877,16622c1a2bd843005f9615ef252f3385:1094530655,a642ac1a58d84300749f4aac732e8e4a:-1552597270,fc42ac1a47d84300495bac29a55b345c:2041307786,ed22681a85d84300ddda57a8a3fced45:2146360000,6cf1e81a90d84300f23f080229632b57:-609628231,e7c1601afbd84300835a2c3a79e43242:-1506229618,d4c1acd629d843002fe064c85ac43699:2053878683,e5e0ecd695d84300c440c5d80334d990:1658275818,d1d0ec96a7d84300d5df6f4f3125c80c:1067602826,8ab02cd675d84300aec2476976f71e95:1658275818,1c8024d6d0d84300d2e64fd7f8238749:-821200831,1b5fdc9666d84300b91b1cfd6759e152:355268611,cc4fd496bfd84300cc3e92ce00962360:126747692,931fd496acd84300cccd4dc5df2e1b29:-222990914,3c7e1496f3d843009d9dd3384619247f:-1778341707,3e5e149657d84300ee5071c9722523be:378480730,ad3e5c56d0d8430004fd612d21e6b6fa:-1778341707,f8bd5c5648d843006e3b7fb29600a936:-1810451625,fa9d1c566fd8430019c3a9a9ddccf323:-418386213,627dd45632d8430014539c4d70832833:1862399104,4e6d545624d8430062d70fa8b11792e2:-472039907,e05d58562dd8430080741b3667c2be72:1986194428,7a1dd456f9d843006856d780aefcc429:-800831083,120d5456a4d8430029cb2f80502b577a:158776292,c4fc5056f5d84300b6e44c7e49fe1475:-1612022987,128c105645d8430027b20dfd94b9b7fe:1328517434,666c9c167ed8430021c6d8815dec2ea0:1571422028,7d5cd81689d84300f6b6bc5f1bf9c093:-1525412131,741cd816acd84300a59b91b7c081558c:-1423463758,c50c1016fad8430077c3f032206aba0f:-324603438,3c3b901680d8430078f7623aa619cc83:1378698106,2eca58d290d84300cd5cabeb2fc5adfa:542849471,326a58d29ad84300f1d940bab0fb66d3:-434952547,e73a1c928ed84300df5f6a99d1a405c6:-2018596477,3b09109258d843006388c96767229664:-1183027656,-1767823230:-1767823230</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>cmn_department_48197fb4dbe5b20062e479daae96191f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"cmn_department\"><cmn_department action=\"INSERT_OR_UPDATE\"><code/><company/><cost_center/><dept_head/><description/><head_count/><id>0886</id><name>VIP</name><parent/><primary_contact/><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 21:40:33</sys_created_on><sys_id>48197fb4dbe5b20062e479daae96191f</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2018-02-07 23:58:50</sys_updated_on></cmn_department></record_update>]]></payload>\n<payload_hash>-1219008894</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>80b615164f283300a14ea6cd0210c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e424ce950000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>VIP</target_name>\n<type>Department</type>\n<update_domain>global</update_domain>\n<update_guid>8fedb30b984c5f00fd84d8b510924cdb</update_guid>\n<update_guid_history>8fedb30b984c5f00fd84d8b510924cdb:-1219008894,-1654660475:-1654660475</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_ab5af3f4dbe5b20062e479daae96191e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"VIP\">48197fb4dbe5b20062e479daae96191f</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Matthew</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Oliver</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Matthew Oliver</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 21:46:51</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>ab5af3f4dbe5b20062e479daae96191e</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 21:46:51</sys_updated_on><time_format/><time_sheet_policy/><time_zone/><title>VP of Sales (EMEA)</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4941</size_bytes><size_compressed>4640</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:45</sys_created_on><sys_id>045784c9dbe5b20062e479daae9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 22:42:45</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>ab5af3f4dbe5b20062e479daae96191e</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"045784c9dbe5b20062e479daae9619a0\">045784c9dbe5b20062e479daae9619a0</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:45</sys_created_on><sys_id>445784c9dbe5b20062e479daae9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>pZd3VJPLtsC/hNBrCiBIJ5SAgKCIIB2EEJASelPpHSEYWgTpSFNAPFSVkgAiAaUrNppKLwEEIqAoIHAApUk5yA3H+9596617/3jr7Vkz81t7z94zs2dmre87mjj6BHBhDIwMABAIBKBpBTiaAxcb6eldMceaGRiZXKQZAACc6e8WEAI5DQABgddxWENdETt7BxHGaYAFYAcAgA6QcXELCdIxNzcB/qPsjAOg454idxzrP4/7t8Lq7hHiBgAgJhqfdwvCXaexNo1Nw64HHXMmjRFu3i7uNCbS+BSOtkAaDx3rXX/z12P2+s27x4yzwurR9sZGYxGv33zqmF1/8/FeRNy8cQE09qcxMsAf7/bP9RzvhM0j0NqS1gv8XUMALGAI6AIigCuAB3wAf+A6IEfrA2k5+/d+Sn/7mQLXaD5utDYIiABwNA8vwJvme4qmxdOietB6T5reg1b8aSNocpz7/53TEM8zSr9nYMMAAP2Xo6NNGQBgLASAw+Sjo4PSo6PDMtpBTQDAm5x/+V/LoaVzjabP/JcOeR8AOOMBoOnVv3SuJABopuX4xEyQC87lbxUdrYI9PQFgowIA2O0BAE7LNYvj/9f+O9//tANlHwDAigAAJv0AkF8AAJK08ZxOR1RAD6Cng0AgdPS0hp6enoGRjYmRJpysrMxsUE4YDMoJhcJ5BHjhCH5uKPSE6Al+QUFhYWE4rxhSTAgpICQsdBwERHNlZGDkYGLiEEJAEUL/Zzl6A0CZgBgghg4kBoChIDoo6Kjz+EKA6I/f038LA5gOQs9Iu700qxoXAKKjA0PoQQy0pf99ZGA6KAARpYcxKOpYMMLFXIJjEUpZJW3fucWfDvPoYuM+I8+41v2g+fKDjiP/z4dBB6JFYjiOKwEFwH8LiP6/jCAwlA4CE1XUgVuI0YsruWQdTQFsdCDaSmkTagGczEpXYxjta6Q90V0obZTlM0MprSurznaQdOZ+vlbgnrAoHwOH+BkzURG0SHrnAIopjjl9i/FnD1ECJpLwRYuhAPUG7PZkgVEh1S6DIisZGY0figlNl95Oxb5aA5fV9ouUjpS0rqMXU7NHiHQtd7crn+hoZmdRGvEfhv0nHVPj+0xR/phTAi16TBKGc96EK3O9gqcvzk8YZ2Ic0BL6NzjHk3dzU5pgXfUltiwxOUdAeeSQw3XCygcnh6FGlO/JnLK+B8Qh3J9vBUXyGkl366hWP5R2ya4dpgFyG3q5rMiHxe9GvH1uhL0Ff9b3NZqKKHuvg4mGWNffkMLN/YzAJMAb8KrvtirWwoW2HzuvuGDLlt4aVQ6GrGZ/IV1OPbgC2yXdI76Yzuix7Jfx87EdFbDQ4tx97PmN+tix1fvTeUfNpvc/l7XUeG4m1A6j2DHPY5BCW4lB5JEwubeC7GXI2PEUwcbLOr1m++dmhOYyzlhfi0o8UKGrwr4232M8i27viEHBNcpl+/odZr2fx0f+kfNDjyzYri3GtDILT51UPzPXsPI8yJLq+MpFh5cd+WVST/3O12DsU09LMY/2H0VTIHNzuBTkky36ZJ2+QH7nnciDD8j3XJHY7IluMRPPSMpttSH4z9QxLjHiObCJodNAdMMfbX2uirf1fkVQElEs8710UwXSpVGlIeAW8rt1qcyVw0c+4Ksy2iSSZiaIb6fog4DBs5aLrR5diUxCmZbaz3fqtvs/TAbkcBVLBAokUX7MPPjheCUEQ2m3u6Px5WldJF6m5CEr2TYinJLrKx9xm77Fyr2SLtZiR6lFd1j8Cm+3hGdGm5OEN9XneetV1GKUvgKS82Z0A4EYNJ8ZIXOpDsZxrktK36v/FUCEnhCUXsHUawfTo/cPxthIqFb/MdcOJkOifv1nZ1UO+vJhEGZlqrrmvEP3ji4rs/naRa6punR6KUUbUC26SJuENshkGaRbYn9jXWe02/fAa6E1rC0Sy2U4mY2NFMoJKmcyKTaiy428tYxYJNktniAFJnz2BM3ZJvdP2Dv5Ojiayolcw9/fvV11uzH9zOI3dSOvqAq5QYcY0frWPh1V6CiBYNuwzaqvNpszp2MEgX4MrT0VfpckKGxO6LGSHP8T1SjFoi3T9tdNTFZt1iOx5jAW3yG0Z1RSBCXFpDPODFVTsY5Y8NIc/WKpxAAs34weizRn1RbpsQoKPrtsuXw6WPC07EJSBE4QtUDVmkeyGYScjbuFvncQuo7RBURPg/jWTUVVi7J6p4qA9GyTEOJTk8KuFf3XIb5lEEYEB04/bN9Ki32Ef4xMzbbKBPoAk4KHc3dJtv7nOJixezvvVpy/z7V92IZHYvXk2FOm+zFVh93yp54Op+EMFju+MT3TrRgJkmxgFWzF6vS51s8I45WmrlbfNhLo93ZQxExqYzPjIlEWVktnDLvF1qajidBesv06CMb2sMB14B2OGQ3TWKlxfN0gIrKxhIX50AUqtG3WkpA6wojE+0sHo5s2Ur3b8Vncm9+MjQY4t3fLGw7vd8tnWYY/tNgRToyof9uqsoZvfWvnL52J0GZUXvIjkbQzQ3o41Tpu2D0JrpFQuWByfnw4D4KvebuMTqt7pl+GTmb7dOk8CPoDEHowOhMmsBD1yOjhc+b4A2Wip1P2+OSDqCCt6DFFuBIkZHGk1DG+dTN/BUtFQoETv6YfVVsQsA+0379JTat8bq+rC5e1n8q8UJBzD5F/oUpthKOxHJxVmAMmRCah6vE87W53UEgvTemgpFqfigx/1cUnE6jrSK7yUVcQY8m6XsE1vmCeXD8fD78SJZv9kaScl7N92HTJC93kn+kNuXh5tvGT3jkn36ZimWOKAXB0aczWfVTyFhl6UJ596XaZ95ParZ52zl+z96z0PNyN3G0ue4ztEmeknDmC4tRNXr2WaCWDh0p0MMYpeDcNDSmxhmkZSqf2FzRuPUF+gtHvld7g2Qbipog04hBp3tHkEH9njz8kzXOyXb2dwVpQU7rZ4DNS43oXJbfrJLShmd4xBWLCFM8QrT/kdh7jTMwSbfflKfR/8JBruN1W06bVo+qpe1bhgt3mKmU2tL007yfCrTi8rE2tB7rDIUUJdHKCnKW+Ievn0V1TlYIiTlY37sh59JYX6VyVtBrligH6sgkcjUW77J/XYiuXzYI3faLHfziUNTto++hIN17rs+l4Esed3tapbyHeJkktqduTk36sPCP7Q9jU38nB7koJtTAMkRwwSU9NyLxa0WNWo7Mgjrjg9lbd4sY364egH5eo7vs22P5ntu8KPol/J4a7EJ2WPmpU0qeFKedup1Gq1XPaay5vjv0KJISuilxnuNUSlqxQ3ciz3r9kiQ6JzJ+xHLq1yJhnK+/67C2LtRfu/af7cLys6ZlLzxWKhvTAlt8UUF2gUcHKO9VDV1LVvOC+DupT3/xfraCw43yv3cnSYKMptMW8Itxx4F70QdNa6dL46LBU71TeVuyHmdjwe5yzwfj6c2wSxrgxngGygXqTzXJaquDYfDFRKNZringq3He2FFK3ePOOc54Q1oS4XWGhIcLhqhZ9BDjoZNdpr/TkZAnlSZpK1fo2eiiFogP0ERtQPvVlVxM++OoP8wKxMBi7MRyEZRIBxMnKtwUZmGI4z/eNyrm3UJmiag/IlXJIoTIxkoRuEHPs+fJGgNfzBUy8eHEVPbYlc/1PuRdjhSHJl4OlMQu9BJzmN+rddb5ioRMeKlN++7hpLGwZo1KxLrJl/pOB6SfiUqmjMv7N7ZdBtgsSFbBh3VvnIaDbV3dKag==</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"045784c9dbe5b20062e479daae9619a0\">045784c9dbe5b20062e479daae9619a0</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:45</sys_created_on><sys_id>c45784c9dbe5b20062e479daae9619a0</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>2C5320FZgXcvbHDBQQFRZ+z5qqsUVumnNCvwV3NUar7tp6DQswQP/ysuXXgrFVn9/NPEuYix9V1KotwUcuWbd+xPHmqK+T6i3+l7KRdXIjNyI97An0o6sEZKr4lDKuceCimtlmyYCkpGfLnd8uiG9uB3OebCTsdZcFrGRRM5Iql2U4L8hpusB4MwS/pd+k5F83vmUL29el2aRqZgDLSPxiiZeufh+wSr1y2EvWaefvCUCnsv3ensqG8fYpVtBIcD+CO7Q9cDfhEUxAT8dxQPDVAnv47aJsBeKXfvTF4Mi7jWwX+4UBJJrRzGn86VFzbG2NU/02aSDULCuObAURYgdF/g48MLtxoce6N2+NfuXv+gO03xg0Rx24SqpE/PnkzTV+vWwZ5rmdQt+7SgOFAYlrDraPF8c203xCD00/2urokGW41F/8GXfFYv9sQx8pq8Fy+NvyRSP14jWDRr3+J6EiZbTPsZ2y3fVXz3Om12JeyXG6ZFa2u1BZekLwHjFMOVaiyv9p80ojzksJuwf0L8xJOHQe+KXNL2MnsxqizB8/kcOT98sPLBVc6BPKqzaBVzt6rQDS6EPkfLvOkqMkR1ZaaMpF8U23fo81UBBikaz6hS8o54UZluaGLZL2n6V9boA69GQ0yK+c7qyENfpVJ0+kKeehTklggA+uuinCOG1R1A31q9REyExnGKGf0kJZ4QD94BZ35uUk5uMJbiO5e4M/aimSUGocMQVdUcx5Mrd1knxktzSKbDHET1cEXD31sbsmr+0eg1aZFibnNBeI/hscqTizoD0s2HWp6mvrAoBQZKByGfMrKxj1+3aXaoozZghsiPpASZK//isn9F0ePMPkesWJndqJpRCB5tCNj6wJXrYBMmFSTVaG0f2XrPfJqi1SXvOLsMQ+Sbic9kNHyNuscuFTgvO2LFYDgesyWbEZ7Aa99gxLeVqP8L4TpQUhUhzfokIJAuUWLQ6K/Koeh3X9OJWRqd5Mdxy8lVShftGjawE9c3xc5YeVmMCogq+PxZ+YDgNL9nnSan+RktAQjFv1TtjqTTNN5jeW7voGoklV/lp3HTlEKutQkcCsRuZNtNL1vEApzjNXhuZd+Ox5KwKUyOVzH3XUdRhcs1S9rZXxI9o/pGySbCss8iZVVCHyBaaiYLRDL2sopS8bLpV5krSfrcYICPJBFMmVH9pXy9b06C1M72IF/rdTvxdJ0J7MKJJXPw08Eiw9fryqL0pyHppgRLXTjsaxGIZU38bNNHzTxbU2eZ0zIovnenRoZeDzKenUJE+V1ASOoLk5mp5M7lNc2hXnMmgfd9YztluEI/XiGLr/mCqEIqvU/TzgGMvYNn9WVobIo8JtWshV4r0ZB6paE7MrBusvy7UEOCzyNzMRtfvYGInzXSgm1deVLNetpFans+5AwUJuBy+T7+/eNDse0rfpay0ImiS16LGWWGyUqeacVP55M+ovJMWFqbHWN3WVdTqkwFCYN6LvoJGymljwkGYNMxoFjqCGjwNy6hZD/lZUa6G76UqIjXhg+ScHtDmebWYr5Nc9tNfI41KBSGMZx7lPoNnm1cl9upYdvbbFow8row5F7b15RDUy3+Ew3aGHifWWOYw3Q0b3VTIwqFlw6WEcguWbK7nRCnxbG9wZuQGeR7BGAFFMXPNOfO98yWiVnkLylBtgcjlz1V2Uw4R8q4ARKU7+6G1svzuZyo+dGQVEVE5khyOY7pEVu+6STSU4afm8EonbL6paKbT7mN+b36wAiHSZeMPtNpiKmIlUpgvLGeD2Ymoh2WVGgkY6EeA05rCem4H+aIDcTP31cw1ZEJTvoohHvTB8+8E+0eWqBje3Wdc0JIbM7mlCMoNLSXw6maD2JC0pLUYn5sxrW6Xh1eb+Fi09kY4d6erxj/TNX2a8kWWSVpy1mzf6uxfKLeyz8TrWeUEgszU3LfVFW0mZH4vqKWzO4T2cOf6z+xMYPiszSsPbBmXPaOcBlgZ+iSYvTuPI9vPLss99Fo4inqCOjS20ff6UnNa9D9g2VE5yPa1pwwctaZ+91obmbSi7fdNkOliKW2vjy6h6IjKfaUnGwVyGJFZPmg0758Y2usVtLHZ+7EVb2yEkafsyYK8snkcwepTzTCqzKU3gMs7qHcQWMFPToyGvUDCfyTHKvb/pYfAiWYTK0YRTT6mf32sy/7uGyR2ZWX9UTmLXpvDgbeHK/ZfXoEiC0M9EN6mtVCgFUGTf2FWGVnzADF+Kb5aE8au4o8Cd6SSYo0fE407C6bi398lawqf/nCEeDbfof9LKV6evkWAVe9fuovEufWowva4k8Z0LtVQb07vIM+uUZT2893iqLWOglQxhUHwzh+9rd32v4wHlWJalrH9362l9tLqFT5NaQbnbPOHxRQ04ibnuNZ4b1llrugklnMfNC9Ipzh/OVmqsHNUwSto8l/ADgoDtZNEwAA</data><length>2440</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"045784c9dbe5b20062e479daae9619a0\">045784c9dbe5b20062e479daae9619a0</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:45</sys_created_on><sys_id>485784c9dbe5b20062e479daae9619a0</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>2057386123</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>84b615164f283300a14ea6cd0210c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e424ce750000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>Matthew Oliver</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_guid>9a8ba78047a4c30084f1f693c11e715c</update_guid>\n<update_guid_history>9a8ba78047a4c30084f1f693c11e715c:2057386123</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_9d077774dbe5b20062e479daae96197b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-people-card-flyout-svgs&lt;/id&gt;&lt;sp_widget display_value=\"PE People Card Flyout\"&gt;5f8feff0dbe5b20062e479daae9619fc&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 21:31:45&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9d077774dbe5b20062e479daae96197b&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-card-flyout-svgs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_9d077774dbe5b20062e479daae96197b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 22:09:43&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"add-circle\"&gt;\n    &lt;svg width=\"23px\" height=\"23px\" viewBox=\"0 0 23 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;FC853017-F594-40BD-A695-77079B3A32E0&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.3---CVE-Info-(people-collapsed)\" transform=\"translate(-316.000000, -265.000000)\" stroke=\"#FFFFFF\"&gt;\n          &lt;g id=\"Group-7-Copy-2\" transform=\"translate(20.000000, 254.000000)\"&gt;\n            &lt;g id=\"add-circle-1.3.3.1\" transform=\"translate(296.000000, 11.000000)\"&gt;\n              &lt;circle id=\"Oval\" cx=\"11.5\" cy=\"11.5\" r=\"11\"&gt;&lt;/circle&gt;\n              &lt;path d=\"M11.5,5.5 L11.5,17.5\" id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M17.5,11.5 L5.5,11.5\" id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"close-circle\"&gt;\n    &lt;svg width=\"23px\" height=\"23px\" viewBox=\"0 0 23 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;A5FD204D-DEC5-4AFA-A427-2E63C8C938AE&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.3---CVE-Info-(people-expanded)\" transform=\"translate(-316.000000, -265.000000)\" stroke=\"#FFFFFF\"&gt;\n          &lt;g id=\"close-circle-1.3.3.1\" transform=\"translate(327.500000, 276.500000) rotate(-315.000000) translate(-327.500000, -276.500000) translate(316.000000, 265.000000)\"&gt;\n            &lt;circle id=\"Oval\" cx=\"11.5\" cy=\"11.5\" r=\"11\"&gt;&lt;/circle&gt;\n            &lt;path d=\"M11.5,5.5 L11.5,17.5\" id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M17.5,11.5 L5.5,11.5\" id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"star-ribbon\"&gt;\n    &lt;svg width=\"18px\" height=\"24px\" viewBox=\"0 0 18 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;613A9873-1848-4218-97E6-83BAB599DEB2&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.3---CVE-Info-(people-collapsed)\" transform=\"translate(-176.000000, -312.000000)\" fill=\"#67ACDB\"&gt;\n          &lt;g id=\"Group-7-Copy-2\" transform=\"translate(20.000000, 254.000000)\"&gt;\n            &lt;g id=\"Group-22\" transform=\"translate(149.000000, 54.000000)\"&gt;\n              &lt;g id=\"Group-19\" transform=\"translate(7.000000, 0.000000)\"&gt;\n                &lt;g id=\"rank-army-star-badge-5.2.3.1\" transform=\"translate(0.000000, 4.000000)\"&gt;\n                  &lt;path d=\"M17.5,0 L0.5,0 C0.224,0 0,0.224 0,0.5 L0,23.5 C0,23.684 0.1,23.852 0.261,23.94 C0.422,24.026 0.617,24.019 0.772,23.92 L9,18.595 L17.228,23.92 C17.31,23.974 17.404,24 17.5,24 C17.582,24 17.664,23.979 17.738,23.94 C17.899,23.852 18,23.684 18,23.5 L18,0.5 C18,0.224 17.775,0 17.5,0 Z M14.82,7.885 L12.061,10.184 L12.985,13.879 C13.036,14.083 12.955,14.296 12.781,14.414 C12.609,14.532 12.381,14.529 12.21,14.408 L9,12.115 L5.79,14.407 C5.619,14.528 5.391,14.531 5.219,14.413 C5.045,14.295 4.964,14.082 5.015,13.878 L5.939,10.183 L3.18,7.885 C3.018,7.749 2.958,7.527 3.029,7.33 C3.102,7.133 3.289,7 3.5,7 L7.17,7 L8.54,3.803 C8.619,3.619 8.8,3.5 9,3.5 C9.2,3.5 9.381,3.619 9.46,3.803 L10.83,7 L14.5,7 C14.711,7 14.898,7.133 14.971,7.33 C15.042,7.527 14.982,7.749 14.82,7.885 Z\"\n                    id=\"Shape\"&gt;&lt;/path&gt;\n                &lt;/g&gt;\n              &lt;/g&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1510720726</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>88b615164f283300a14ea6cd0210c7f5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e424ce6c0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>pe-people-card-flyout-svgs</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>bd4de7c0f1a4c300d743abfeabb8d19d</update_guid>\n<update_guid_history>bd4de7c0f1a4c300d743abfeabb8d19d:-1510720726,4db37b03974c5f007f58d4c3d4755d62:0,2c4d67c0f2a4c3008707335dd993837e:-1510720726,180307515:180307515</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_18d973f4dbe5b20062e479daae961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"VIP\">48197fb4dbe5b20062e479daae96191f</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Mark</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Ellis</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Mark Ellis</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 21:44:33</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>18d973f4dbe5b20062e479daae961939</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 21:44:33</sys_updated_on><time_format/><time_sheet_policy/><time_zone/><title>Chief Financial Officer</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>5155</size_bytes><size_compressed>4862</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:23</sys_created_on><sys_id>623784c9dbe5b20062e479daae96199e</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 22:42:23</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>18d973f4dbe5b20062e479daae961939</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"623784c9dbe5b20062e479daae96199e\">623784c9dbe5b20062e479daae96199e</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:23</sys_created_on><sys_id>a23784c9dbe5b20062e479daae96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"623784c9dbe5b20062e479daae96199e\">623784c9dbe5b20062e479daae96199e</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:23</sys_created_on><sys_id>263784c9dbe5b20062e479daae96199e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2736</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"623784c9dbe5b20062e479daae96199e\">623784c9dbe5b20062e479daae96199e</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:42:23</sys_created_on><sys_id>a63784c9dbe5b20062e479daae96199e</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-1345735534</payload_hash>\n<remote_update_set display_value=\"PE People Card Flyout\">4cb615164f283300a14ea6cd0210c7f4</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-04-03 17:23:47</sys_created_on>\n<sys_id>c0b615164f283300a14ea6cd0210c7f6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169e424ce7e0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-04-03 17:23:47</sys_updated_on>\n<table/>\n<target_name>Mark Ellis</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_guid>856b2780dca4c300a0380696c4d368a6</update_guid>\n<update_guid_history>856b2780dca4c300a0380696c4d368a6:-1345735534</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-people-card-flyout/script-include/pe-people-card-flyout.u-server-script.js",
    "content": "var PeopleCardService = Class.create();\nPeopleCardService.prototype = {\n  initialize: function() {},\n\n  getNumberRange: function(minimum, maximum) {\n    var min = Math.ceil(minimum);\n    var max = Math.floor(maximum);\n    return Math.floor(Math.random() * (max - min + 1)) + min;\n  },\n\n  getUsers: function(id) {\n    var userGr = new GlideRecord('sys_user');\n    userGr.addQuery('department.id', id);\n    userGr.orderBy('sys_created_on');\n    userGr.query();\n    var users = [];\n    var fields = 'department, first_name, last_name, title, photo';\n    while (userGr.next()) {\n      obj = {};\n      obj.timeAgo = this.getNumberRange(1, 59);\n      $sp.getRecordElements(obj, userGr, fields);\n      users.push(obj);\n    }\n    return users;\n  },\n\n  type: 'PeopleCardService'\n};\n"
  },
  {
    "path": "src/pe-people-card-flyout/widget/pe-people-card-flyout.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-people-card-flyout-svgs'\"></div>\n<div class=\"row people-card-flyout\">\n  <div class=\"col-xs-12\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading\" ng-click=\"c.toggleTrends()\">\n        {{::options.title}}\n        <i class=\"pull-right\">\n          <div ng-hide=\"c.isVisible === true\">\n            <svg class=\"add-circle\">\n              <use xlink:href=\"#add-circle\"></use>\n            </svg>\n          </div>\n          <div ng-hide=\"c.isVisible === false\">\n            <svg class=\"close-circle\">\n              <use xlink:href=\"#close-circle\"></use>\n            </svg>\n          </div>\n        </i>\n      </div>\n      <div class=\"panel-body\">\n        <div class=\"row text-center\">\n          <div class=\"col-xs-4\">\n            <h4>{{::options.number1}}</h4>\n            <p class=\"sub-text\">{{::options.subText1}}</p>\n          </div>\n          <div class=\"col-xs-4\">\n            <h4 class=\"header-left-icon\">\n              <svg class=\"star-ribbon\">\n                <use xlink:href=\"#star-ribbon\"></use>\n              </svg>\n              <span>{{::c.data.users.length}}</span>\n            </h4>\n            <p class=\"sub-text\">{{::c.data.users[0].department.display_value}} users</p>\n          </div>\n          <div class=\"col-xs-4\">\n            <h4>{{::options.number3}}%</h4>\n            <p class=\"sub-text\">{{::options.subText3}}</p>\n          </div>\n        </div>\n      </div>\n      <div ng-hide=\"c.isVisible == false\" class=\"panel-vips\">\n        <div class=\"panel-heading\">\n          <svg class=\"star-ribbon pull-left\">\n            <use xlink:href=\"#star-ribbon\"></use>\n          </svg>\n          {{::c.data.users[0].department.display_value}}\n          <span class=\"pull-right\">Last Opened</span>\n        </div>\n        <div class=\"panel-body\">\n          <div class=\"row\" ng-repeat=\"user in ::c.data.users | orderBy: 'timeAgo' track by $index\">\n            <div class=\"col-xs-2\">\n              <div class=\"photo\">\n                <img class=\"img-circle\" ng-src=\"{{::user.photo.display_value}}\" />\n              </div>\n            </div>\n            <div class=\"col-xs-7\">\n              <h5>{{::user.first_name.display_value}} {{::user.last_name.display_value}}</h5>\n              <p class=\"user-sub-text\">{{::user.title.display_value}}</p>\n            </div>\n            <div class=\"col-xs-3\">\n              <span class=\"badge\">{{::user.timeAgo}}m ago</span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-people-card-flyout/widget/pe-people-card-flyout.u-client-script.js",
    "content": "function PeopleCardFlyoutController() {\n  var c = this;\n  c.toggleTrends = toggleTrends;\n\n  c.$onInit = function() {\n    c.isVisible = false;\n  };\n\n  function toggleTrends() {\n    c.isVisible = !c.isVisible;\n  }\n}\n"
  },
  {
    "path": "src/pe-people-card-flyout/widget/pe-people-card-flyout.u-css.scss",
    "content": "$pe-theme-color: #283347 !default;\n$pe-theme-background-color: #1c2432 !default;\n$pe-text-color: #fff !default;\n$pe-sub-text-color: #68acd8 !default;\n$pe-status-color-normal: #29bd00 !default;\n\n.people-card-flyout {\n  .badge {\n    border-radius: 100px;\n    float: right;\n    font-size: 12px;\n    font-weight: normal;\n    height: 28px;\n    margin-top: -5px;\n    padding-top: 7px;\n  }\n  .photo {\n    img {\n      height: 40px;\n      width: 40px;\n    }\n    &:after {\n      background-color: $pe-status-color-normal;\n      border-radius: 50%;\n      content: '';\n      height: 10px;\n      left: 45px;\n      position: absolute;\n      top: 78%;\n      width: 10px;\n    }\n  }\n  color: $pe-text-color;\n  .panel {\n    border: 0;\n    color: $pe-text-color;\n    background-color: transparent;\n    .panel-heading {\n      border-bottom: 0 !important;\n      background-color: $pe-theme-color !important;\n      color: $pe-text-color !important;\n      font-size: 12px;\n      padding: 14px;\n      text-transform: uppercase;\n    }\n    .panel-body {\n      background-color: $pe-theme-background-color;\n      color: $pe-text-color;\n      h4 {\n        font-size: 24px;\n        margin-top: -5px !important;\n      }\n      .user-sub-text {\n        color: $pe-sub-text-color;\n        font-size: 12px;\n        margin-bottom: -5px;\n        margin-top: -5px;\n      }\n      .sub-text {\n        color: $pe-sub-text-color;\n        font-size: 10px;\n        margin: -5px 0 -5px 0;\n        text-transform: uppercase;\n      }\n    }\n    .panel-vips {\n      .panel-heading {\n        background-color: #394b6b !important;\n        border-radius: 0;\n        padding-bottom: 15px;\n      }\n      .star-ribbon {\n        margin-right: 16px;\n      }\n      .lower-case {\n        margin-left: -2px;\n      }\n      .badge {\n        background-color: $pe-theme-color;\n        width: 76px;\n      }\n      .user-sub-text {\n        margin-top: -10px;\n      }\n      .row {\n        margin-bottom: 30px;\n        &:first-child {\n          margin-top: 5px;\n        }\n        &:last-child {\n          margin-bottom: 5px;\n        }\n      }\n    }\n  }\n  .panel-vips.ng-hide-add,\n  .panel-vips.ng-hide-remove {\n    -webkit-transition: 0.3s ease all;\n    transition: 0.3s ease all;\n    display: block !important;\n    opacity: 1;\n  }\n  .panel-vips.ng-hide {\n    opacity: 0;\n  }\n  .header-left-icon {\n    margin: 0 0 7px 11%;\n    span {\n      margin-right: 17%;\n    }\n  }\n  .add-circle,\n  .close-circle {\n    height: 23px;\n    margin-top: -3px;\n    .add-circle,\n    .close-circle {\n      height: 23px;\n      margin-top: -3px;\n      width: 23px;\n    }\n    width: 23px;\n  }\n  .star-ribbon {\n    height: 24px;\n    width: 18px;\n  }\n}\n"
  },
  {
    "path": "src/pe-people-card-flyout/widget/pe-people-card-flyout.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"department\",\n    \"default_value\": \"0886\",\n    \"label\": \"Department\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"title\",\n    \"default_value\": \"People at Risk\",\n    \"label\": \"Title\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"number1\",\n    \"default_value\": \"1631\",\n    \"label\": \"Number 1\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"number3\",\n    \"default_value\": \"21\",\n    \"label\": \"Number 3\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"subText1\",\n    \"default_value\": \"Email Inboxes\",\n    \"label\": \"Sub Text 1\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"subText3\",\n    \"default_value\": \"Open Rate\",\n    \"label\": \"Sub Text 3\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-people-card-flyout/widget/pe-people-card-flyout.u-server-script.js",
    "content": "(function() {\n  var users = new PeopleCardService();\n  data.users = users.getUsers(options.department);\n})();\n"
  },
  {
    "path": "src/pe-popular-and-recent-items/README.md",
    "content": "# Popular and Recent Items\n\n## Description\n\nDisplay 'Service Catalog' Popular Items or User's Recent Items through a simple configuration Instance Options toggle.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-popular-and-recent-items/images/default.png)\n### Configured - Recent Items\n![Recent Items](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-popular-and-recent-items/images/recentitems.png)\n### Instance Options\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-popular-and-recent-items/images/options.png)\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\nDownload and install update set **[pe-popular-and-recent-items.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-popular-and-recent-items/pe-popular-and-recent-items.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Recent Items Toggle** - Toggle to show user's recent items vs. popular items<br/>\n\n### Presentation\n**Button Context** - Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors<br/>\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None\n"
  },
  {
    "path": "src/pe-popular-and-recent-items/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Action List\",\n  \"common-name\": \"Popular and Recent Items\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"action list\"\n  ],\n  \"name\": \"pe-popular-and-recent-items\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Display 'Service Catalog' Popular Items or User's Recent Items through a simple configuration Instance Options toggle\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-popular-and-recent-items/pe-popular-and-recent-items-u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-06 19:16:00\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Popular and Recent Items</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>cee1b8d04fefe70005be4d6e0210c76e</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-06 19:16:00</sys_created_on>\n<sys_id>8a57551c4f632b0005be4d6e0210c7d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-06 19:16:00</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_505b326b4f5b670005be4d6e0210c760</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($scope, $location) {\n\t\n\t$scope.goItem = function(item){\n\t\t$location.url('?id=' + item.page + '&amp;sys_id=' + item.sys_id);\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$link-font-color: $brand-warning !default;&amp;#13;\n.panel-{&amp;#13;\n  background-color: transparent !important;&amp;#13;\n}&amp;#13;\n.panel-warning{&amp;#13;\n  max-width: 50%;&amp;#13;\n  margin:0 auto;&amp;#13;\n  background-color: unset !important;&amp;#13;\n  .panel-body{&amp;#13;\n    margin: 0 !important;&amp;#13;\n    padding: 15px !important;&amp;#13;\n    color: #B33A3A;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.item-header {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: center;&amp;#13;\n  justify-content: center;&amp;#13;\n  margin-bottom: 18px;&amp;#13;\n  color: $text-color;&amp;#13;\n  font-size: 30px;&amp;#13;\n  font-weight: bold;&amp;#13;\n  letter-spacing: -0.51px;&amp;#13;\n  line-height: 50px;&amp;#13;\n  text-align: center;&amp;#13;\n}&amp;#13;\n.item-buttons{&amp;#13;\n  max-width: 825px;&amp;#13;\n  margin: 0 auto;&amp;#13;\n  display: flex;&amp;#13;\n  flex-wrap: wrap;&amp;#13;\n  align-items: flex-end;&amp;#13;\n  justify-content: space-between;&amp;#13;\n  -webkit-box-pack: justify;&amp;#13;\n  -moz-box-pack: justify;&amp;#13;\n  -ms-flex-pack: justify;&amp;#13;\n  -webkit-box-align: center;&amp;#13;\n  -webkit-align-items: center;&amp;#13;\n  -moz-box-align: center;&amp;#13;\n  -ms-flex-align: center;&amp;#13;\n  align-items: center;&amp;#13;\n  .btn-{&amp;#13;\n    background-color: #f3f3f3;&amp;#13;\n    border: 0;&amp;#13;\n  }&amp;#13;\n  .item-btn{&amp;#13;\n    max-width: 400px;&amp;#13;\n    width: 100%;&amp;#13;\n    margin-bottom: 10px;&amp;#13;\n    height: 64px;&amp;#13;\n    border-radius: 8px 8px 8px 8px;&amp;#13;\n    display:flex;&amp;#13;\n    -webkit-box-pack: justify;&amp;#13;\n    -moz-box-pack: justify;&amp;#13;\n    -ms-flex-pack: justify;&amp;#13;\n    -webkit-box-align: center;&amp;#13;\n    -webkit-align-items: center;&amp;#13;\n    -moz-box-align: center;&amp;#13;\n    -ms-flex-align: center;&amp;#13;\n    align-items: center;&amp;#13;\n    padding: 0px 32px;&amp;#13;\n    div{&amp;#13;\n      height: 32px;&amp;#13;\n      font-size: 21px;&amp;#13;\n      font-weight: normal;&amp;#13;\n      letter-spacing: -0.3px;&amp;#13;\n      width: 100%;&amp;#13;\n      display: inline-block;&amp;#13;\n      text-align: left;&amp;#13;\n      white-space: normal;&amp;#13;\n      overflow: hidden;&amp;#13;\n      text-overflow: ellipsis;&amp;#13;\n      margin: 0;&amp;#13;\n    }&amp;#13;\n    i{&amp;#13;\n      float: right;&amp;#13;\n      display: inline-block;&amp;#13;\n      font-size: 22px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;popular-items&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n\n}\n]]&gt;&lt;/link&gt;&lt;name&gt;Popular and Recent Items&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"btn_context\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Button context - Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},{\"name\":\"show_recent\",\"section\":\"Data\",\"default_value\":\"false\",\"label\":\"Show user's recent items vs. popular items\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\t\n\tdata.limit = 6;\n\tdata.title = options.title || \"Popular Items\";\n\tdata.show_recent = (options.show_recent=='true');\n\t\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tvar recent_by = options.recent_by || 'view';\n\n\tfunction getPopularItems () {\n\t\tvar catalog = $sp.getValue('sc_catalog');\n\t\n\t\tvar items = [];\n\t\tvar catItems = [];\n\t\tvar item = {};\n\t\tvar catalogItemJS,catItemDetails;\n\t\t\n\t\tvar count = new GlideAggregate('sc_req_item');\n\t\tcount.addAggregate('COUNT','cat_item');\n\t\tcount.groupBy('cat_item');\n\t\tcount.addQuery('cat_item.sys_class_name', 'NOT IN', 'sc_cat_item_guide,sc_cat_item_wizard,sc_cat_item_content');\n\t\tcount.addQuery('cat_item.sc_catalogs', 'IN', catalog);\n\t\tcount.addEncodedQuery('cat_item.hide_sp=false^ORcat_item.hide_spISEMPTY');\n\t\tcount.orderByAggregate('COUNT', 'cat_item');\n\t\tcount.query();\n\t\twhile (count.next() &amp;&amp; items.length &lt; data.limit) {\n\t\t\tcatalogItemJS = new sn_sc.CatItem(count.cat_item.sys_id);\n\t\t\tif (!catalogItemJS.canView(gs.isMobile()) || !catalogItemJS.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\titem = {};\n\t\t\tcatItemDetails = catalogItemJS.getItemSummary();\n\n\t\t\titem.order = 0 - count.getAggregate('COUNT', 'cat_item');\n\t\t\titem.name = catItemDetails.name;\n\t\t\titem.short_description = catItemDetails.short_description;\n\t\t\titem.sys_id = catItemDetails.sys_id;\n\t\t\titem.page = catItemDetails.type == 'order_guide'? 'sc_cat_item_guide' : 'sc_cat_item';\n\t\t\tcatItems.push(item);\n\t\t}\n\n\t\tvar producers = 0;\n\t\tvar prodItems = [];\n\t\tcount = new GlideAggregate('sc_item_produced_record');\n\t\tcount.addQuery('producer.sc_catalogs', 'IN', catalog);\n\t\tcount.addEncodedQuery('producer.hide_sp=false^ORproducer.hide_spISEMPTY');\n\t\tcount.addAggregate('COUNT', 'producer');\n\t\tcount.groupBy('producer');\n\t\tcount.orderByAggregate('COUNT', 'producer');\n\t\tcount.query();\n\t\twhile (count.next() &amp;&amp; producers &lt; data.limit) {\n\t\t\tcatalogItemJS = new sn_sc.CatItem(count.getValue('producer'));\n\t\t\tif (!catalogItemJS.canView(gs.isMobile()) || !catalogItemJS.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\tcatItemDetails = catalogItemJS.getItemSummary();\n\t\t\titem = {};\n\n\t\t\titem.order = 0 - count.getAggregate('COUNT', 'producer');\n\t\t\titem.name = catItemDetails.name;\n\t\t\titem.short_description = catItemDetails.short_description;\n\t\t\titem.sys_id = catItemDetails.sys_id;\n\t\t\titem.page = catItemDetails.type == 'order_guide'? 'sc_cat_item_guide' : 'sc_cat_item';\n\t\t\tprodItems.push(item);\n\t\t\tproducers++;\n\t\t}\n\n\t\tif (catItems.length == 0)\n\t\t\treturn prodItems;\n\t\tif (prodItems.length == 0)\n\t\t\treturn catItems;\n\n\t\titems = [];\n\t\tfor (var i=0; i &lt; data.limit/2; i++) {\n\t\t\tif (i &lt; catItems.length){\n\t\t\t\titems.push(catItems[i])\n\t\t\t}\n\t\t}\n\n\t\tif(items.length &lt; (data.limit/2)){\n\t\t\tvar limit = (data.limit - items.length);\n\t\t\tfor (var i=0; i &lt; limit; i++) {\n\t\t\t\tif (prodItems[i]){\n\t\t\t\t\titems.push(prodItems[i])\n\t\t\t\t}\n\t\t\t}\n\t\t}else{\n\t\t\tfor (var i=0; i &lt; data.limit/2; i++) {\n\t\t\t\tif (i &lt; prodItems.length){\n\t\t\t\t\titems.push(prodItems[i])\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tfunction getRecentItems(){\n\t\tvar recent = new GlideAggregate('sp_log');\n\t\trecent.addAggregate('COUNT', 'id');\n\t\tif (recent_by === 'view'){\n\t\t\trecent.addEncodedQuery('userDYNAMIC90d1921e5f510100a9ad2572f2b477fe^type=Cat Item View^sys_created_onONThis quarter@javascript:gs.beginningOfThisQuarter()@javascript:gs.endOfThisQuarter()');\n\t\t}else{\n\t\t\trecent.addEncodedQuery('userDYNAMIC90d1921e5f510100a9ad2572f2b477fe^type=Cat Item Request^sys_created_onONThis quarter@javascript:gs.beginningOfThisQuarter()@javascript:gs.endOfThisQuarter()');\n\t\t}\n\n\t\trecent.groupBy('id');\n\t\trecent.orderByAggregate('COUNT', 'id');\n\t\trecent.query();\n\t\tvar recentItems = [];\n\t\tvar catalog = $sp.getValue('sc_catalog');\n\n\t\tdata.showPrices = $sp.showCatalogPrices();\n\n\t\twhile (recent.next() &amp;&amp; recentItems.length &lt; data.limit) {\n\t\t\tvar catalogItemJS = new sn_sc.CatItem(recent.getValue('id'));\n\t\t\tif (!catalogItemJS.canView(gs.isMobile()) || !catalogItemJS.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\tvar item = {};\n\t\t\tvar catItemDetails = catalogItemJS.getItemSummary();\n\t\t\tvar inCatalog = false;\n\t\t\tfor (var i=0; i&lt;catItemDetails.catalogs.length; i++) {\n\t\t\t\tif (catItemDetails.catalogs[i].sys_id == catalog) {\n\t\t\t\t\tinCatalog = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (inCatalog) {\n\t\t\t\titem.name = catItemDetails.name;\n\t\t\t\titem.short_description = catItemDetails.short_description;\n\t\t\t\titem.picture = catItemDetails.picture;\n\t\t\t\titem.price = catItemDetails.price;\n\t\t\t\titem.sys_id = catItemDetails.sys_id;\n\t\t\t\titem.hasPrice = item.price != 0;\n\t\t\t\titem.page = catItemDetails.type == 'order_guide'? 'sc_cat_item_guide' : 'sc_cat_item';\n\t\t\t\trecentItems.push(item);\n\t\t\t}\n\t\t}\n\n\t\treturn recentItems;\n\t}\n\n\t\n\n\ttry{\n\t\tif(data.show_recent){\n\t\t\tdata.title = \"My Recent Items\";\n\t\t\tdata.items =  getRecentItems();\n\t\t}else{\n\t\t\tdata.items = getPopularItems();\n\t\t}\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\t//gs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-04 18:37:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;505b326b4f5b670005be4d6e0210c760&lt;/sys_id&gt;&lt;sys_mod_count&gt;91&lt;/sys_mod_count&gt;&lt;sys_name&gt;Popular and Recent Items&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_505b326b4f5b670005be4d6e0210c760&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-06 18:56:56&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"panel panel-\"&gt;\n  &lt;div class=\"panel-body\"&gt;\n    &lt;div class=\"item-header\"&gt;\n      &lt;span id=\"header-title\"&gt;{{::c.data.title}}&lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div class='item-buttons' ng-if='::c.data.missingConfig==false'&gt;\n      &lt;div class='btn btn-{{options.btn_context}} item-btn' role='button' title='{{item.short_description}}' ng-if='data.items' ng-repeat='item in data.items' ng-click='goItem(item)'&gt;\n        &lt;div&gt;{{item.name}}&lt;/div&gt;\n         &lt;i class=\"fa fa-chevron-right\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class='panel panel-warning' ng-if='::c.data.missingConfig'&gt;\n      &lt;div class='panel-heading'&gt;\n        Missing Configuration\n      &lt;/div&gt;\n      &lt;div class='panel-body bg-warning'&gt;\n        {{c.data.err_msg}}\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>910309036</payload_hash>\n<remote_update_set display_value=\"Popular and Recent Items\">8a57551c4f632b0005be4d6e0210c7d8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-06 19:16:00</sys_created_on>\n<sys_id>ce57551c4f632b0005be4d6e0210c7d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c42b93f70000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-06 19:16:00</sys_updated_on>\n<table/>\n<target_name>Popular and Recent Items</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>7ef2d9d4db632b00179cb50c46bccd46</update_guid>\n<update_guid_history>7ef2d9d4db632b00179cb50c46bccd46:910309036,8c7d4d1053632b005f8e435e35be7f1e:-1845563232,bddcc110ab632b00d7285ce5ac5f59d8:-529050103,088c411028632b001c217a126492c484:-1795118448,5b90fcc0c963e70083230fe5817542db:806995073,6980fcc04663e700da9cf95293eb34d3:117980620,21607cc04863e7002927e11d547e812c:-415516675,71cfec804c63e700ce4a2d8cedbc2377:1016885504,1ffe68800d63e700c72b8d0968f7a620:770203427,68eeec404c63e700876f8d27012188c5:-811851356,e55eec40f563e700caa9149eff84babf:583681113,ea0ee840ac63e7003126bb57731293d3:-1763922466,40eda4407d63e700445a32d679884aca:1998250830,37cda4400d63e700c807f8252ee4c1a8:-1388092162,6d9d2440c663e700527aec98da91f20c:-381155815,b17d20403463e70011fa23bba7913b9c:-1997029442,795d2c007963e700f8a532c84633917f:-1461162733,2efc68000263e7006eca362ba6342b47:1557081869,df7c24001063e700ea97029b8a6ced1c:1272709589,c40ce8cc6b23e700e736b236e31e51af:-1042641195,3a6be04ca223e7002f2547ab73211659:589329040,0fe5a4487223e7005a0f5368c0aca1f4:-373010856,b745e808aa23e70053fdb3de67537a2c:-104595905,ca15e484c423e700491597abc45dfa8c:-117062228,7ef12c440223e7009a332291eddb0da1:-1995389271,ecc12c44ff23e700c8b5f139d8d3489a:1067705019,68b1e4444323e7004c894920a3189a5b:67352746,4a91e4448223e700ff45b8dea6edbc50:896657738,087068040f23e700e6f4c8ad24bbd424:-299574981,6310a004a023e700ffb4cfea3d88b31a:501932123,6400e8c00023e700f9e492c98a1cb3e1:497801874,c31fd8c01123e700a1bea9e2c846580c:420448391,060f94c01f23e7004f0de855cd6f2530:1304815049,f00fd4c02d23e70038d0f291ff5f43fa:-604593398,83fe94c09c23e700cc471e6b7de37027:-843724754,b8dedc807e23e70088c9abedac745a57:-493943380,e05ed080bf23e7008b11b4fab32164c9:1519900396,3feddc40ff23e70003ae11073106206a:807151373,a36d5c402423e70017d634fd33a03a43:1816083518,e61d5c405823e7002430bd2aedf8862f:-388744542,36fc18403223e700ca6f417c85c3a375:-1202017016,dfbc5400c623e700cb6bc19233d1c8a6:-1381498680,327c54000623e700c65ae66976aa5aa0:293225099,046cd000f623e700e330e77400871ff8:1837990532,8c5c50007423e700eec08501a469e538:-602909715,df2c94cc1defa700f14682850d781a8b:-1872850192,35db54cc0fefa700fe421a2791534491:253118101,db6b54cc2eefa700866aac8173b85a7d:-1501910695,b42b50ccf8efa7000513907ecbd85605:-1874659782,220bdc8c65efa700ed6177fca4b8543d:-1557884930,feaa588cd7efa70069e74f49ca21e350:-406215835,749a148c34efa70002b9b00bfba15356:-648456347,d57ad48c9defa700e4e5affb04a30104:-1794957721,a44a100ceeefa700964b1755f9591a0b:-648456347,34b910c8c4efa700a627da244294f859:-243118799,18e8d0c842efa70054dbf26217aa2f62:-156491848,706814080cefa7004e17472dc3107d7f:-908792428,a0381cc45fefa700f2e0f2d4db1dd1e1:-496807042,7ec714c437efa7007f68c8feff84fa71:959119492,7c7750c407efa700b3a4ab7337236281:-220799566,b917d484c5efa70008e509d766686491:-1751316694,3ee69c844defa7001cb37160b7babb6d:1734939514,09d6988483efa700065f9ac893dd9884:-1093646451,bfa6988455efa700f28c4af5eafd6174:1702281708,f1869084e5efa7004880a517b889ec47:587272408,06269084c9efa700dcba82fe2aadeb3f:-1414679778,abd59844aeefa70002fbc601186f1d88:-2048643227,39b5184463efa7008a5415ce4ae4deed:-1390722294,48a594448aefa70035b2bb544183ad2a:1384061553,76755044ecefa700ec38cb9db22306b4:1996574996,0935504424efa700fffa0d8660ca8fa1:1176663229,ba159c0472efa7001f6656718901c086:-1508434738,4705d4040defa700629c02825a3b00fc:653327656,55f4980457efa700de66d315e3882cea:1168112288,89c4d4048aefa700350d720877b809f3:653327656,cf7498c0cfefa7009f64b7dbd41cc8f5:-2105002617,8c14588015efa700801e3758d04b139c:433579651,14c39480f3efa70033d9cddb79663bd6:-1846270717,ef43d080e6efa700fcf625dfed360362:-849324259,c513d440c4efa70080d9d001827013be:-1027047847,f2319000b0efa700def9701fedd2eb04:-2006604330,5ca0500004efa70061dcb33bcbbb70a8:1121406565,9050d48c9bafa700967347f21ce27aca:-1865502001,ddadc04c7aafa7009bdffc908c005197:-1302556756,fdffecff3413a7007fdfe9b23b118851:893687980,f4cfe8ff1413a70053cafafc051fc9b5:1992300779,619f68ff1d13a70079f3302f34dbb37a:-218854410,817fe4ff7213a700cb69bc512bb4a633:2037765488,3e4f24ffa713a700f34bbea2252b1b92:-1861652018,2d2f24ff6f13a7005856a75c0d624265:142791726,b4fe20ff7113a7001516cf9967e29c65:-1585840428,c57bb26b795b6700c1431873c183d478:1453537632</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-body-html-template.html",
    "content": "<div class=\"panel panel-\">\n  <div class=\"panel-body\">\n    <div class=\"item-header\">\n      <span id=\"header-title\">{{::c.data.title}}</span>\n    </div>\n    <div class='item-buttons' ng-if='::c.data.missingConfig==false'>\n      <div class='btn btn-{{options.btn_context}} item-btn' role='button' title='{{item.short_description}}' ng-if='data.items' ng-repeat='item in data.items' ng-click='goItem(item)'>\n        <div>{{item.name}}</div>\n         <i class=\"fa fa-chevron-right\" aria-hidden=\"true\"></i>\n      </div>\n    </div>\n    <div class='panel panel-warning' ng-if='::c.data.missingConfig'>\n      <div class='panel-heading'>\n        Missing Configuration\n      </div>\n      <div class='panel-body bg-warning'>\n        {{c.data.err_msg}}\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-client-script.js",
    "content": "function($scope, $location) {\n\t\n\t$scope.goItem = function(item){\n\t\t$location.url('?id=' + item.page + '&sys_id=' + item.sys_id);\n\t}\n}"
  },
  {
    "path": "src/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-css.css",
    "content": "$link-font-color: $brand-warning !default;\n.panel-{\n  background-color: transparent !important;\n}\n.panel-warning{\n  max-width: 50%;\n  margin:0 auto;\n  background-color: unset !important;\n  .panel-body{\n    margin: 0 !important;\n    padding: 15px !important;\n    color: #B33A3A;\n  }\n}\n\n.item-header {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 18px;\n  color: $text-color;\n  font-size: 30px;\n  font-weight: bold;\n  letter-spacing: -0.51px;\n  line-height: 50px;\n  text-align: center;\n}\n.item-buttons{\n  max-width: 825px;\n  margin: 0 auto;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: flex-end;\n  justify-content: space-between;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  .btn-{\n    background-color: #f3f3f3;\n    border: 0;\n  }\n  .item-btn{\n    max-width: 400px;\n    width: 100%;\n    margin-bottom: 10px;\n    height: 64px;\n    border-radius: 8px 8px 8px 8px;\n    display:flex;\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n    padding: 0px 32px;\n    div{\n      height: 32px;\n      font-size: 21px;\n      font-weight: normal;\n      letter-spacing: -0.3px;\n      width: 100%;\n      display: inline-block;\n      text-align: left;\n      white-space: normal;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      margin: 0;\n    }\n    i{\n      float: right;\n      display: inline-block;\n      font-size: 22px;\n    }\n  }\n}"
  },
  {
    "path": "src/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-link-script.js",
    "content": "function link($scope,$el,$attrs,$ctrl){}"
  },
  {
    "path": "src/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-option-schema.json",
    "content": "[\n  {\"name\":\"btn_context\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Button context - Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]},\n  {\"name\":\"show_recent\",\"section\":\"Data\",\"default_value\":\"false\",\"label\":\"Show user's recent items vs. popular items\",\"type\":\"boolean\"}\n]"
  },
  {
    "path": "src/pe-popular-and-recent-items/widget/pe-popular-and-recent-items.u-server-script.js",
    "content": "(function() {\n\t/* populate the 'data' object */\n\t/* e.g., data.table = $sp.getValue('table'); */\n\t// Get current user for quick filtering of data to user only\n\tvar currentUser = gs.getUser(); \n\t\n\tdata.limit = 6;\n\tdata.title = options.title || \"Popular Items\";\n\tdata.show_recent = (options.show_recent=='true');\n\t\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\tdata.portal_record = $sp.getPortalRecord();\n\t\n\tvar recent_by = options.recent_by || 'view';\n\n\tfunction getPopularItems () {\n\t\tvar catalog = $sp.getValue('sc_catalog');\n\t\n\t\tvar items = [];\n\t\tvar catItems = [];\n\t\tvar item = {};\n\t\tvar catalogItemJS,catItemDetails;\n\t\t\n\t\tvar count = new GlideAggregate('sc_req_item');\n\t\tcount.addAggregate('COUNT','cat_item');\n\t\tcount.groupBy('cat_item');\n\t\tcount.addQuery('cat_item.sys_class_name', 'NOT IN', 'sc_cat_item_guide,sc_cat_item_wizard,sc_cat_item_content');\n\t\tcount.addQuery('cat_item.sc_catalogs', 'IN', catalog);\n\t\tcount.addEncodedQuery('cat_item.hide_sp=false^ORcat_item.hide_spISEMPTY');\n\t\tcount.orderByAggregate('COUNT', 'cat_item');\n\t\tcount.query();\n\t\twhile (count.next() && items.length < data.limit) {\n\t\t\tcatalogItemJS = new sn_sc.CatItem(count.cat_item.sys_id);\n\t\t\tif (!catalogItemJS.canView(gs.isMobile()) || !catalogItemJS.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\titem = {};\n\t\t\tcatItemDetails = catalogItemJS.getItemSummary();\n\n\t\t\titem.order = 0 - count.getAggregate('COUNT', 'cat_item');\n\t\t\titem.name = catItemDetails.name;\n\t\t\titem.short_description = catItemDetails.short_description;\n\t\t\titem.sys_id = catItemDetails.sys_id;\n\t\t\titem.page = catItemDetails.type == 'order_guide'? 'sc_cat_item_guide' : 'sc_cat_item';\n\t\t\tcatItems.push(item);\n\t\t}\n\n\t\tvar producers = 0;\n\t\tvar prodItems = [];\n\t\tcount = new GlideAggregate('sc_item_produced_record');\n\t\tcount.addQuery('producer.sc_catalogs', 'IN', catalog);\n\t\tcount.addEncodedQuery('producer.hide_sp=false^ORproducer.hide_spISEMPTY');\n\t\tcount.addAggregate('COUNT', 'producer');\n\t\tcount.groupBy('producer');\n\t\tcount.orderByAggregate('COUNT', 'producer');\n\t\tcount.query();\n\t\twhile (count.next() && producers < data.limit) {\n\t\t\tcatalogItemJS = new sn_sc.CatItem(count.getValue('producer'));\n\t\t\tif (!catalogItemJS.canView(gs.isMobile()) || !catalogItemJS.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\tcatItemDetails = catalogItemJS.getItemSummary();\n\t\t\titem = {};\n\n\t\t\titem.order = 0 - count.getAggregate('COUNT', 'producer');\n\t\t\titem.name = catItemDetails.name;\n\t\t\titem.short_description = catItemDetails.short_description;\n\t\t\titem.sys_id = catItemDetails.sys_id;\n\t\t\titem.page = catItemDetails.type == 'order_guide'? 'sc_cat_item_guide' : 'sc_cat_item';\n\t\t\tprodItems.push(item);\n\t\t\tproducers++;\n\t\t}\n\n\t\tif (catItems.length == 0)\n\t\t\treturn prodItems;\n\t\tif (prodItems.length == 0)\n\t\t\treturn catItems;\n\n\t\titems = [];\n\t\tfor (var i=0; i < data.limit/2; i++) {\n\t\t\tif (i < catItems.length){\n\t\t\t\titems.push(catItems[i])\n\t\t\t}\n\t\t}\n\n\t\tif(items.length < (data.limit/2)){\n\t\t\tvar limit = (data.limit - items.length);\n\t\t\tfor (var i=0; i < limit; i++) {\n\t\t\t\tif (prodItems[i]){\n\t\t\t\t\titems.push(prodItems[i])\n\t\t\t\t}\n\t\t\t}\n\t\t}else{\n\t\t\tfor (var i=0; i < data.limit/2; i++) {\n\t\t\t\tif (i < prodItems.length){\n\t\t\t\t\titems.push(prodItems[i])\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tfunction getRecentItems(){\n\t\tvar recent = new GlideAggregate('sp_log');\n\t\trecent.addAggregate('COUNT', 'id');\n\t\tif (recent_by === 'view'){\n\t\t\trecent.addEncodedQuery('userDYNAMIC90d1921e5f510100a9ad2572f2b477fe^type=Cat Item View^sys_created_onONThis quarter@javascript:gs.beginningOfThisQuarter()@javascript:gs.endOfThisQuarter()');\n\t\t}else{\n\t\t\trecent.addEncodedQuery('userDYNAMIC90d1921e5f510100a9ad2572f2b477fe^type=Cat Item Request^sys_created_onONThis quarter@javascript:gs.beginningOfThisQuarter()@javascript:gs.endOfThisQuarter()');\n\t\t}\n\n\t\trecent.groupBy('id');\n\t\trecent.orderByAggregate('COUNT', 'id');\n\t\trecent.query();\n\t\tvar recentItems = [];\n\t\tvar catalog = $sp.getValue('sc_catalog');\n\n\t\tdata.showPrices = $sp.showCatalogPrices();\n\n\t\twhile (recent.next() && recentItems.length < data.limit) {\n\t\t\tvar catalogItemJS = new sn_sc.CatItem(recent.getValue('id'));\n\t\t\tif (!catalogItemJS.canView(gs.isMobile()) || !catalogItemJS.isVisibleServicePortal())\n\t\t\t\tcontinue;\n\t\t\tvar item = {};\n\t\t\tvar catItemDetails = catalogItemJS.getItemSummary();\n\t\t\tvar inCatalog = false;\n\t\t\tfor (var i=0; i<catItemDetails.catalogs.length; i++) {\n\t\t\t\tif (catItemDetails.catalogs[i].sys_id == catalog) {\n\t\t\t\t\tinCatalog = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (inCatalog) {\n\t\t\t\titem.name = catItemDetails.name;\n\t\t\t\titem.short_description = catItemDetails.short_description;\n\t\t\t\titem.picture = catItemDetails.picture;\n\t\t\t\titem.price = catItemDetails.price;\n\t\t\t\titem.sys_id = catItemDetails.sys_id;\n\t\t\t\titem.hasPrice = item.price != 0;\n\t\t\t\titem.page = catItemDetails.type == 'order_guide'? 'sc_cat_item_guide' : 'sc_cat_item';\n\t\t\t\trecentItems.push(item);\n\t\t\t}\n\t\t}\n\n\t\treturn recentItems;\n\t}\n\n\t\n\n\ttry{\n\t\tif(data.show_recent){\n\t\t\tdata.title = \"My Recent Items\";\n\t\t\tdata.items =  getRecentItems();\n\t\t}else{\n\t\t\tdata.items = getPopularItems();\n\t\t}\n\t}catch(e){\n\t\t/*\n\t\t\tIf for any reason something above errors, then lets at least show a message in the Panel's Body that there \n\t\t\tis a problem.  And, post a message to the browser with what the problem is.\n\t\t*/\n\t\tdata.missingConfig = true;\n\t\tdata.err_msg = e;\n\t\t//gs.addErrorMessage('Portal: ' + data.portal_record.getDisplayValue('url_suffix') + \" Message: \" + e );\n\t\treturn;\n\t}\n\n})();"
  },
  {
    "path": "src/pe-problem-message/README.md",
    "content": "# Problem Message\n\n## Description\n\nThis widget can be used to quickly craft a problem message with configuration.\n\n## Screenshot\n\n![Problem Message](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-problem-message/images/pe-problem-message.png)\n\n## Additional Information/Notes\n\nA sample problem record is created and displayed by default. To display another problem, set the problem number option.\n\n## Installation\n\nDownload and install update set **[pe-problem-message.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-problem-message/pe-problem-message.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Problem Number` | Sets the problem number which is used to display problem data. | SIR0001932 |\n\n## Platform Dependencies\n\n### SN System Tables\n\n* problem\n* sys_ui_message\n\n### UI Dependencies\n\n* PE Incident Module\n* PE Incident Service\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-status-color-danger: #6b0022 !default;\n$pe-badge-danger: #a40034 !default;\n$pe-background-header-danger: #dd0047 !default;\n$pe-background-body-danger: #be003d !default;\n```\n"
  },
  {
    "path": "src/pe-problem-message/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Status\",\n  \"common-name\": \"Problem Message\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Steven Gregory\"\n  ],\n  \"keywords\": [\n    \"Problem\",\n    \"Widget\"\n  ],\n  \"name\": \"pe-problem-message\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This widget can be used to quickly craft a problem message with configuration.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-problem-message/pe-problem-message.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2019-01-29 23:17:20\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Problem Message</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>02d0ffd51393a300a693d5328144b0e2</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>53d149b513dba300a693d5328144b014</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_47b23988dbd00700d8ebd65fdf9619fb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;Problem Message Service&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  function timeService() {\n    var service = {\n      getTimeAgo: getTimeAgo\n    };\n    return service;\n\n    function getTimeAgo(openedTime, serverDate) {\n      var timeAgo = {};\n      if (openedTime) {\n        var today = new Date(serverDate);\n        var problemTime = new Date(openedTime);\n        var secondDiff = today - problemTime;\n        timeAgo.days = Math.floor(secondDiff / 86400000);\n        timeAgo.hours = Math.floor((secondDiff % 86400000) / 3600000);\n        timeAgo.minutes = Math.round(((secondDiff % 86400000) % 3600000) / 60000);\n      }\n      return timeAgo;\n    }\n  }\n\n  angular\n    .module('pe-problem-message')\n    .service('timeService', timeService);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-26 20:57:06&lt;/sys_created_on&gt;&lt;sys_id&gt;47b23988dbd00700d8ebd65fdf9619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;38&lt;/sys_mod_count&gt;&lt;sys_name&gt;Problem Message Service&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_47b23988dbd00700d8ebd65fdf9619fb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-29 22:58:31&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>2028578018</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>13d149b513dba300a693d5328144b016</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689bd5df440000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message Service</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>e38d3cf1d9dba3007d3efac2057038c7</update_guid>\n<update_guid_history>e38d3cf1d9dba3007d3efac2057038c7:2028578018,df94831a5459c3009547f31a531e69c1:1066314781,1ca2cb963b59c300dcd08130336ef6a8:-812770529,efe1cb967259c300f0e33874d8149f68:-2030124665,1831c756e959c3005d6daeef0838e114:1619710575,66804b166e59c30040c34936e7c5a761:497793373,cf6ffa528859c30003709644f41b1630:1728065527,1b4c729eca19c300b1051433e555c2c3:-1798111701,ffdafa1e4319c3009db6d99ace0d34cc:118154763,37aa7ada8d19c3000a6a936e44b3c6cb:1314534315,7449fad6fb19c300e23cfc30e24f4837:-1828950460,6b193a96c119c3000eeb7089337d9bdf:-423694427,54c7b6d2c719c3006df4714d27cb5e8e:1780595869,73f6ba522019c30025dde0d833d30824:-554633883,b2b632521619c3005072c6c2b2e607f5:-565644500,d4667a12d319c30094b9b01a8e751876:-1414490419,0a2632de92d5c30029ad719e8dbf98a6:-895121571,3065fa9ea0d5c30056b145064722afe4:-25945674,d945369eb7d5c300110d520575e671a0:-2146700562,6ccdae5a6bd5c300c669b23e5f3c104b:686590859,e36da65a9ad5c3009a37729afd84f047:-1150961916,c558a29640d5c3002347535996e45e2c:-815611148,4928e25660d5c3002d615e29971e3885:-148984085,ede7aad2ded5c300103e4331bf7b82e3:479573261,db65ae92aad5c300a6a63f763bbab187:-795103427,533422521fd5c3008ab0c1bbb78224e9:-1557461035,b114a2129ad5c300217a2ba6db902d25:484057671,62f32ade2b95c300384104553164abde:-800406073,ea932a9e4295c30053342152a074e99c:-727714183,7a13ae9add95c300966137814917088a:-908351759,ebcd921ada95c300ec856697b00246b4:-414119331,858c96921295c3008bf2eb7e9ea9f348:337190686,664c1a12aa95c300ea7b473163425327:-1165429348,07fad65e0655c300ad829141aa85bf1b:-414119331,be6730344f58c700f5dc3f1597241937:-1465863807,e5ace8708218c70073d6ef96b9558efd:-358924511,891564f0a7d4c700294fc571028a20cb:-1561106435,3411de8427d80700d689fec7329a1bec:-1240214034,95a006087a980700cc930a397689ff88:-1240214034,832439c833d00700f37242ff200150d2:-748545710</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_d115350cdbd00700d8ebd65fdf9619e4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Problem Message Service</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-07-26 21:01:21</sys_created_on><sys_id>d115350cdbd00700d8ebd65fdf9619e4</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Problem Message Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Incident Message Service\">47b23988dbd00700d8ebd65fdf9619fb</sys_ui_script><sys_update_name>sp_js_include_d115350cdbd00700d8ebd65fdf9619e4</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-01-29 22:56:12</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>885893206</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>17d149b513dba300a693d5328144b015</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689bd3c2370000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message Service</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>f10df8f13adba3000f3bd7b334329304</update_guid>\n<update_guid_history>f10df8f13adba3000f3bd7b334329304:885893206,5201de8492d807000f900d50f6d995e4:-471337950,5201de8492d807000f900d50f6d995e4:-471337950,dd25750c64d00700497c807d551dc2d4:-471337950</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_d60141b513dba300a693d5328144b0fa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"Problem Message\">1bc0cd7513dba300a693d5328144b08d</sp_dependency><sp_js_include display_value=\"Problem Message Service\">d115350cdbd00700d8ebd65fdf9619e4</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-01-29 23:13:43</sys_created_on><sys_id>d60141b513dba300a693d5328144b0fa</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Problem Message.Problem Message Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_d60141b513dba300a693d5328144b0fa</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-01-29 23:14:00</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>1914837502</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>1bd149b513dba300a693d5328144b014</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689be40b650000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message.Problem Message Service</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>961181b572dba300a45da32a5d02dec4</update_guid>\n<update_guid_history>961181b572dba300a45da32a5d02dec4:1914837502,560141b543dba3006af5a4f4a84f2ffb:623366879</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_49f4350cdbd00700d8ebd65fdf961946</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Problem Message Module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-07-26 21:01:01</sys_created_on><sys_id>49f4350cdbd00700d8ebd65fdf961946</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Problem Message Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"PE Incident Message Module\">db44f9c8dbd00700d8ebd65fdf96194a</sys_ui_script><sys_update_name>sp_js_include_49f4350cdbd00700d8ebd65fdf961946</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-01-29 22:56:04</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>2043517763</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>53d149b513dba300a693d5328144b015</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689bd3a1e70000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message Module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>77fcb8f135dba300b9bf9ac30cca160a</update_guid>\n<update_guid_history>77fcb8f135dba300b9bf9ac30cca160a:2043517763,4d01de84d7d807004f3b8f5b35706f56:-1057292101,4d01de84d7d807004f3b8f5b35706f56:-1057292101,2815f10cd9d007008a47b696548247f4:-1057292101</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_160141b513dba300a693d5328144b0f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Problem Message\">1bc0cd7513dba300a693d5328144b08d</sp_dependency><sp_js_include display_value=\"Problem Message Module\">49f4350cdbd00700d8ebd65fdf961946</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-01-29 23:13:43</sys_created_on><sys_id>160141b513dba300a693d5328144b0f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Problem Message.Problem Message Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_160141b513dba300a693d5328144b0f8</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-01-29 23:13:43</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-299955416</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>57d149b513dba300a693d5328144b014</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689be3cbf00000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message.Problem Message Module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>da0141b5f4dba300db97773760f8a3f9</update_guid>\n<update_guid_history>da0141b5f4dba300db97773760f8a3f9:-299955416</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_e8bfdf88dbd40700d8ebd65fdf961958</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL</application><key>Problem Msg Body</key><language>en</language><message>Palo Alto Wildefire detected 1631 emails tied to a phishing attack.</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-07-27 04:47:29</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>e8bfdf88dbd40700d8ebd65fdf961958</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Problem Msg Body</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_e8bfdf88dbd40700d8ebd65fdf961958</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-07-27 04:47:29</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1291086125</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>5fd149b513dba300a693d5328144b015</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16896a305ef0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Msg Body</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>8ca4591051d80700c4df852fbb47c8bd</update_guid>\n<update_guid_history>8ca4591051d80700c4df852fbb47c8bd:-1291086125,75fc99d0359487009703687897e16b13:-525277729,8ca4591051d80700c4df852fbb47c8bd:-1291086125,d9dfdf88d9d4070048abef149f91285d:-1291086125</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_message_6c4e0780dbd40700d8ebd65fdf961935</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_message\"><sys_ui_message action=\"INSERT_OR_UPDATE\"><application>NDL</application><key>Problem Msg Title</key><language>en</language><message>TorrentJack Ransomware</message><sys_class_name>sys_ui_message</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-07-27 03:32:34</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>6c4e0780dbd40700d8ebd65fdf961935</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Problem Msg Title</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_message_6c4e0780dbd40700d8ebd65fdf961935</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-07-27 03:32:34</sys_updated_on></sys_ui_message></record_update>]]></payload>\n<payload_hash>-1072525742</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>9bd149b513dba300a693d5328144b015</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16896a305f50000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Msg Title</target_name>\n<type>Message</type>\n<update_domain>global</update_domain>\n<update_guid>8ca45910a5d8070025cdc138e77ba3be</update_guid>\n<update_guid_history>8ca45910a5d8070025cdc138e77ba3be:-1072525742,79fc99d05594870004bc250a631d5810:791084742,8ca45910a5d8070025cdc138e77ba3be:-1072525742,ffaec78062d4070088ca66681b93de99:-1072525742</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_1bc0cd7513dba300a693d5328144b08d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-problem-message</module><name>Problem Message</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-01-29 23:13:09</sys_created_on><sys_id>1bc0cd7513dba300a693d5328144b08d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Problem Message</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_1bc0cd7513dba300a693d5328144b08d</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-01-29 23:13:09</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-552318614</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>9fd149b513dba300a693d5328144b014</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689be343f60000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>3de0cd7500dba3004f869d3e45aea580</update_guid>\n<update_guid_history>3de0cd7500dba3004f869d3e45aea580:-552318614</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_db44f9c8dbd00700d8ebd65fdf96194a</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;Problem Message Module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('pe-problem-message', []);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-07-26 20:57:51&lt;/sys_created_on&gt;&lt;sys_id&gt;db44f9c8dbd00700d8ebd65fdf96194a&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name&gt;Problem Message Module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_db44f9c8dbd00700d8ebd65fdf96194a&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-29 22:56:46&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-109817933</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>d3d149b513dba300a693d5328144b016</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689bd446790000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message Module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>ca2d78f136dba300b9cf9bb11d182bff</update_guid>\n<update_guid_history>ca2d78f136dba300b9cf9bb11d182bff:-109817933,a301de841fd80700ab91b70a6e205334:-1785128790,a301de841fd80700ab91b70a6e205334:-1785128790,a876b1ccc9d007005f463f7e824ade09:-1785128790,8254b9c863d007003ba928053e2b55c9:-351712717</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a1e0159fdbd93200b793f2b6ae9619bf</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category/&gt;&lt;client_script&gt;&lt;![CDATA[function IncidentMessageController($interval, timeService) {\n  var c = this;\n\n  c.$onInit = function() {\n    getTimes();\n    incrementTime();\n  };\n\n  function getTimes() {\n    c.timeAgo = timeService.getTimeAgo(c.data.problemTime, c.data.today);\n    return c.timeAgo;\n  }\n\n  function incrementTime() {\n    $interval(function() {\n      getTimes();\n    }, 60000);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-status-color-danger: #6b0022 !default;&amp;#13;\n$pe-badge-danger: #a40034 !default;&amp;#13;\n$pe-background-header-danger: #dd0047 !default;&amp;#13;\n$pe-background-body-danger: #be003d !default;&amp;#13;\n&amp;#13;\n.problem-message {&amp;#13;\n  .badge {&amp;#13;\n    background-color: $pe-badge-danger;&amp;#13;\n    border-radius: 100px;&amp;#13;\n    float: right;&amp;#13;\n    font-size: 12px;&amp;#13;\n    font-weight: normal;&amp;#13;\n    height: 28px;&amp;#13;\n    margin-top: -5px;&amp;#13;\n    min-width: 76px;&amp;#13;\n    padding-top: 7px;&amp;#13;\n    text-transform: lowercase;&amp;#13;\n  }&amp;#13;\n  .panel {&amp;#13;\n    color: #fff;&amp;#13;\n    .panel-heading {&amp;#13;\n      border-bottom: 0;&amp;#13;\n      color: #fff;&amp;#13;\n      font-size: 12px;&amp;#13;\n      padding: 14px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n    .panel-body {&amp;#13;\n      .status-circle-small-left {&amp;#13;\n        background: $pe-status-color-danger;&amp;#13;\n        border-radius: 10px;&amp;#13;\n        float: left;&amp;#13;\n        height: 10px;&amp;#13;\n        margin: 5px 10px 0 0;&amp;#13;\n        width: 10px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .panel-header-high-risk {&amp;#13;\n      background-color: $pe-background-header-danger;&amp;#13;\n    }&amp;#13;\n    .panel-body-high-risk {&amp;#13;\n      background-color: $pe-background-body-danger;&amp;#13;\n      font-size: 15px;&amp;#13;\n      font-weight: 400;&amp;#13;\n      padding-bottom: 5px;&amp;#13;\n      .status-message {&amp;#13;\n        font-weight: 100;&amp;#13;\n        margin-left: 20px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-problem-message&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt; PE Problem Message&lt;/name&gt;&lt;option_schema&gt;[{&amp;#13;\n  \"name\": \"problem_number\",&amp;#13;\n  \"default_value\": \"SIR0001932\",&amp;#13;\n  \"label\": \"Problem Number\",&amp;#13;\n  \"type\": \"string\"&amp;#13;\n}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.problemNumber = options.problem_number || serverOptions.problem_number;\n\n  var grMessages = new GlideRecord('sys_ui_message');\n  grMessages.addQuery('key', 'STARTSWITH', 'Problem Msg');\n  grMessages.query();\n\n  var messages = [];\n  while (grMessages.next()) {\n    messages.push(grMessages.message.toString());\n  }\n\n  var grProblem = new GlideRecord('problem');\n  grProblem.addQuery('number', options.problem_number);\n  grProblem.query();\n\n  if (!grProblem.next() &amp;&amp; grProblem.number !== options.problem_number) {\n    grProblem.initialize();\n    grProblem.number = options.problemNumber;\n    grProblem.priority = 1;\n    grProblem.short_description = messages[1];\n    grProblem.description = messages[0];\n    grProblem.insert();\n  }\n\n  data.problemNumber = grProblem.number.toString();\n  data.problemTime = grProblem.opened_at.toString();\n  data.messageHeader = grProblem.short_description.toString();\n  data.messageBody = grProblem.description.toString();\n  data.today = new GlideDateTime().toString();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-09 17:35:55&lt;/sys_created_on&gt;&lt;sys_id&gt;a1e0159fdbd93200b793f2b6ae9619bf&lt;/sys_id&gt;&lt;sys_mod_count&gt;462&lt;/sys_mod_count&gt;&lt;sys_name&gt; PE Problem Message&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a1e0159fdbd93200b793f2b6ae9619bf&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-01-29 22:59:47&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row problem-message\"&gt;\n  &lt;div class=\"col-xs-12\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading panel-header-high-risk\"&gt;{{::c.data.messageHeader}}\n        &lt;section class=\"badge\"&gt;\n          &lt;span ng-if=\"c.timeAgo.days &gt; 0\"&gt;{{c.timeAgo.days}}d&lt;/span&gt;\n          &lt;span ng-if=\"c.timeAgo.hours &gt; 0 &amp;&amp; !c.timeAgo.days\"&gt;{{c.timeAgo.hours}}h&lt;/span&gt;\n          &lt;span ng-if=\"!c.timeAgo.hours &amp;&amp; !c.timeAgo.days\"&gt;{{c.timeAgo.minutes}}m&lt;/span&gt; ago\n        &lt;/section&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-body panel-body-high-risk\"&gt;\n        &lt;p&gt;&lt;i class=\"status-circle-small-left\"&gt;&lt;/i&gt;{{::c.data.problemNumber}} - {{::c.data.messageHeader}}&lt;/p&gt;\n        &lt;p class=\"status-message\"&gt;{{::c.data.messageBody}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1522173165</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>d7d149b513dba300a693d5328144b015</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689bd708ab0000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name> PE Problem Message</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>16dd743599dba3000224ecc1bba79ea7</update_guid>\n<update_guid_history>16dd743599dba3000224ecc1bba79ea7:1522173165,9ddcf4f1e1dba3003161d2172d5232eb:1667123232,e58997960a99c3008e130e66f5bddc8d:1773863499,9c779b167c99c30087cafd2dfb934705:-199825350,44379b167799c3000d568c1ea1a2f598:-838455358,dbb61b164699c3001d62565636217108:140677400,186613161399c300b3766b7aa92512f5:-831114536,282553d2fb99c300e55b0391df7e8dbe:1311270401,504c031e2a59c300e8dc223792a98161:1014820801,a1e4071ad859c300f9de6e1f97a93c3a:-1146815372,dec30fd6a259c3009129bc04c52d3ded:711465810,9ac14b96e359c30039ddb65b52aa3e93:1580014744,2ab14b961959c300bdd97ca2388f98bf:-1625018209,d02083161a59c30051780c90898925d4:-553538331,710083161059c300fa011a5eea549ac4:-793232468,efafbad2be59c30076e2526c3ff7c0b9:703072010,d62f32920759c300efdd7bec78697b9f:-350561103,3aae3292af59c300c236d6d7f45f70fe:-261129720,a23e7e520159c3006bff5abc59c09f5c:-2143115873,77fdba52af59c300d7d67ec8d9b7795f:-155733832,6bed3a523c59c300fc32aa8c546f46d4:1106887222,b4cd3a520a59c300a5331411d291accb:1331660799,3aad32529659c300b1eaa909241ee88e:-1049258279,497d7a12f259c300f3a3ea64803cd98d:1237788414,5c3c7a5eae19c3006d4c6117958346cf:-332038855,38eb3e5e5619c3005d13236fb2dfbf1e:-655441505,b898b2966419c300c7c52d3da563d007:-212596269,358a525e6055c300a2fc9d7af09d93ca:1832603231,5dafa75971d5430098be5aad8ff242a1:-476077283,5ffd67590bd54300c0fba9ccdf0f4d73:1578453853,b3dde319ebd54300412c70d5dee8ba56:645848065,dc0cefd52fd54300745dddc8736f135e:-1732056332,0f2915b8c798c7001f1a3130162d26c0:2093837942,7e86b0f0da58c7002ba8375fc0d1e043:-1594704026,f946bcb01758c7007bd461961ab24e4d:1846859942,96dd28f44718c700cb8db421d02daf56:204904432,c7cda4f4b918c7002fa80e13bdc8c32c:-239649079,c9bda4f43018c7003abc462dd0e87d26:-1449108342,080d6074e918c700f7429a6933f0afca:-1572828093,659ce8709918c700e480139b6c7b29c4:-1449108342,c67c2870d118c70017e4558a9a0f9ce5:-2004126191,865c68707618c700bfce48910af33dce:1551289617,7c4ca4706218c700c402267a4f73c57a:1735996200,5b2ce4704018c7000bf1d627e0380aa9:-1964714602,981c6470ef18c7003cacba7afd37a5f7:1734432056,f66b2cbcccd4c700af84605f060d93f0:113768942,096b20fc98d4c70025b15d5b769bb37f:1041904718,4e5b2cbc39d4c70083131ecac5c86fbe:-1132891499,585becbc10d4c7003f5cbe704a4b3b62:-193081385,e42ba8bc41d4c700498cb8d75a82f74f:-532749618,cbfaa8bcaed4c700301a462da37e7c46:-193081385,2eeaa8bce2d4c7007fe2875a4388c43d:-709173320,64ea68bc77d4c7008c1cbe7dbb7e0925:323010550,85da68bcc2d4c700547f864b91a4b71c:-193081385,dbbaa4bc1ad4c700f5d2aa9ae4659dc4:1683829403,3dbae4bcc4d4c70068173ddb76335551:-568027398,0cbaa4bc54d4c7003a3ff0300bb4f2bb:1475083097,879a64bc98d4c7008b5165e9a0ebcdc3:1683829403,d58ae0bcc4d4c700d14c7367443a0910:1002163480,bb5ae0bc17d4c700d6458a02ddcb980a:-439194625,9d0a2c7cd5d4c700d7cc45400132f921:1050821023,9fe96c7c12d4c7000a5e079765c959e5:-772268097,88c9287c5fd4c700c671dd5a976ca00a:487216771,3da9287c8ad4c700a1b68ced2f44d969:-439194625,2b99687c01d4c700759b16a626bf38aa:-84621818,4279ec3cf5d4c700cda68dc7d05b4504:1252998928,ac79e47c75d4c7009f4c6e0e6c50d393:1860192625,7169607c29d4c70092e525baae707d62:-1782429315,7fe6a4b4e5d4c7006513fdedf60f66a3:214250226,51f5e07488d4c700f021361d203f7ccf:-1994941291,8bd564b406d4c7003b59b7f6526d5a8b:-772092557,ab35e4f067d4c700c9f899c2611c2ca7:-220491351,3e15a8b0b7d4c7008f81d53f4fbd6b66:-1525094809,da0cddd023d80700e11bb84f30d3d51c:1890272655,13cc19d0ba948700be43ef1ad807791d:782715618,29fa9dd092d807000d1692fbb3d5ae72:-1682591530,452a9d9086d807001453d1ef5a9205dd:-1253198198,41095d9019d8070085e23160be36e892:-1314898899,21359910f0d8070023b052624611ca18:-1682591530,ac045110c8d807001e91a4bec9bb1ded:1483756369,9dd31110ecd8070086bea9f635da27c0:-1209650780,ad116fc853d40700504fe8d872b1e2a4:1483756369,e8d0abc891d40700cba2a1383b84e1da:-1824382812,2650e3c86ed4070083869e524adc1037:388630023,923067c844d407007399afd2b4c4922f:1889511647,2220a3c8bad407006c56278e6458dca2:442821027,678f9b8854d40700bf0b60ee06336be5:-559177208,d47fdb8880d407001ccfc3fd067bcd3b:-2140453985,3c4f538829d40700c7ffab9f2fea9b53:-2006979268,f13f9b88e0d407004208bd75d4838696:2034857301,782f5b8822d407008e7400c04968909d:-2007049236,7eee538806d40700e19c4ba36bb9e681:-1998225341,bf0e5388efd407004d67a90e82155e4b:-1327950266,a3cd9f4891d40700a8349659ac621538:-2022606317,93bd5f48dad40700eddd07a56932dc25:2003567661,0a9d9b4888d40700fccf75ec4d2c4d25:-1462493087,b57dd74836d407007bf75a3d871cc379:2007510785,d66dd74885d407000914484ff8655549:-2025014226,5b5d9b4898d40700cc81de163286de1c:799380488,351d9748b6d40700cc4059f0fe7766e6:540568776,5771530452d40700c40f293fe78a174e:889230888,88711304fdd4070079d34283e3cc1868:1961662689,e96113042ad40700762e0ef0c743f95f:889230888,1e519fc0cdd4070074e9a073a14fe8d8:1800777953,ac1197c055d4070034e4290b1058bf5a:889230888,cb01dbc02fd407000c692ffa8fd1ccd0:-948861944,89e0db8056d40700d5d447308ebcd323:-519930175,9eadcb40d8d40700ff8e59a91ac09a40:-2021979828,b0fc434037d4070020e57269c4c57f63:-1492848000,82cccf00d8d40700cb13795f80898df0:2128543311,d26ccb00e1d4070024c91a94e2702f9f:-1517267395,2adb87008cd40700b576b3921483e783:-1287573647,a28b8300bdd40700d93a3a2d5582ba9a:-50516366,9b7b8300eed407005273b5ed624d7286:1471480011,82ca0bccce940700dc77b185bfa55696:-50516366,716ac7cc799407000b080235ebb11875:-224304245,68f943cca0940700688859623c1b859f:-421001276,61c90f8c62940700a1274557eb58fe44:59186037,c2e8878c2e9407007d4ac5c079b13873:15498839,0c58438cd49407008653a9dfae30e1b2:1797288078,1948034cc1940700b7fabb18b029660a:-2115040201,4758f644d09407000b706cfab7e54ff8:877587447,7528f204fd940700f173a1531b5191ec:-27456488,d9b4b6c08e940700f69958a616089d07:2121640163,e644f2c009940700650b7a8ad695e4e8:-1274377646,9f1432c0de940700d1eb48ede252e144:2100225412,4e11f640d5940700c514b91c98f62f8f:653663855,3b01ba4065940700d74e281b9d7eada5:-477943432,b7f07a405f940700ba0caa733d6827f5:-150463313,21e0f6409e940700c616a9039d1c188a:-110629781,2b80b640d1940700ee979982a29f8438:-1817984824,7a207240f29407008e0407871128f93a:-73754729,501032403194070008d0b7e03dfbda93:1080519136,c3ff22407a94070064ff8addaceea68a:-1465016510,82ffae00fa94070008e8b289739a9be9:1863013469,55cfea003394070039d1d84ecfc17f13:-1615151770,d5bfea00e49407000ae0a8f18533e40d:-1509832453,84bf6e00f29407003edc245742aa5446:-405967282,6d6f2a001b9407004744cab6c18d2af0:-2060809701,de5faa000494070051d96117c285615c:2100030983,8c5f6a00da940700123ca2ca07696fd4:-1699143891,0e4fe600b4940700ece3145b0526d1b3:-1497880370,ba3f2a006794070070b736970590bc34:-1914431434,983f22ccd95407007f68b14cf5cea566:-1535012864,b51fee8cde540700fa960f4c1e5e2884:171404084,00736e88545407006e22a117eea2cef7:-232266374,d98266888c540700c17e332a4d08528d:476249367,af62e2885154070067d9087982c21932:1520033113,4b426288c05407003e088632feaa32bc:1252161690,7302ee48d6540700a8522d9a49755dc6:470015050,29c12e4833540700bed2e1c52975ed2c:847401421,145166484e5407005a1329a4c87e8cd2:470015050,db0162481a5407005a3c606928861c8d:1802475660,b2ff1ec41a5407004f500086e92c1ef7:1905500585,55ef1ec491540700ee1d4ee7a4f920f1:-155318754,bddf5ac47d540700a0311ab00b8e27c2:-1924525812,2bcfdac41a5407004e4cdddf63927fc4:701150513,c78f5ac4e954070051d9b40872fbb90d:-2012424800,776f56c44054070068561a3814f3bc60:446017621,7c1fd2c410540700be2909984464fc39:1293448259,55be1e8417540700ad319a74d7b68fd1:-1688283709,502e9e046d540700d1fde920a8105316:-517140327,52ed9e04da540700542dcf91920cd82d:1606626582,cedd9a04bc540700eded23cd68c9e59e:-207649709,50dd1e0424540700bb1d1231ad28dad8:1063065954,a4cd9a04745407002da9c4e30d6a1f48:-492790866,138d9a04515407008171aef00563881c:-207455556,d77dd604f4540700232a5d6dec531e6a:-1261939101,256dd60479540700e3d89b76c9356f55:-533031839,774dd604ec540700e34075ceeed8554c:-1953844216,523d560490540700446781dd424dccf4:-1818019497,122d5604c75407004c8a44a05f7c6a09:-2095068698,7e1d16043e54070029ec62428308d1f5:-571507788,0c1d920480540700bd48efa1adbe35ce:-1310046837,daec92047c5407003bd3269ffa8e60b9:2127295998,cadc5204625407003b82786c9f9ed858:-1818019497,7dcc12042b54070064cfb6680efd0de2:-1953844216,22acdec0c5540700e95febb099bd6425:-1310046837,c4ac5ac0c5540700a8738d15e2712933:-504140673,d99c9ec09e540700e02f045a70e23e05:-201216060,374cdac0c0540700603dbd8133e95403:-640692426,422c56c09954070013688d54c1789344:-1466547135,a10c56c09754070089c3e026898c6700:501815682,63bb16c06554070081c8fc06f13d1f82:-694672629,c1bbd2c02f540700d7b02890b084a057:-762785333,a89b52c00e5407007719d51a20b7b6fc:1368238091,4c8b52c06f54070057a2eedd26e3e4f6:434093448,f22bd680fb5407000cd98be8270ab323:2005054792,13b95a406254070082e87d377936f3ef:60738811,ff98da00d3540700903a2e9b5eb7f873:1466648453,43c79acc09140700078df901a095d9b9:1962540424,28935e4ca9140700525ea88830eef923:2047679543,bdc2924ceb140700c2c6a6b208e76996:1533731648,75af02848dd80700f63d34268f86531c:-689025870,e3ce42048cd80700038e3032c1012a89:-831970803,07ae020418d80700d20e20d186a071c1:-1197736532,349e4204c4d80700e8a6847ace837b80:2061639298,4b7e0ec0c3d80700293abdc8ff06b8b7:335757043,db5ecec002d80700564f550e35718e77:663247768,905e4ec098d80700a314383f7ac4b0b2:138440980,564e8ec0f5d80700142d7cbd0832fc1a:-751133207,884ec2c06ad80700b49ae42771bfa1ef:138440980,291e82c034d8070051778e0d8cfbec7a:-199381650,bafd82c022d807009557b5ca81cea971:-1238881297,31edce80a4d807002f9352ad74e00612:1794833657,f4ed4e809ed80700cf9e3f31d82b03e6:100132440,938d4a8045d807000932270e7a7bb2c7:1794833657,5c6dca8041d80700ce2ea0a9d553ad33:1813135592,054d4a80afd80700c0d9bea097c23b6e:-973034179,c73d4a8091d807006428b00d30d5a868:1065380817,c03d0a80e4d80700024c371b0dffefd3:1081607037,161d4680e6d80700960ff4b03c8dd804:-111302291,abdc068069d8070026aba9933883c5fd:798966042,c5cc06805ad80700288919ac18822c03:1219331749,16ac82808bd807001aada25dc24fed8e:1721879813,7ebaca006fd807005d6cade5e9db8867:-2055900656,91f98a0034d80700411de2065443e44f:-880848383,e399860042d807009be044a14128ef72:-1672709092,21094200b9d807001ac83e1940c230ed:-287141224,02678a8ce998070072b0c855696a109e:-1024987832,3096428cb7980700c7d24b108b7e8213:1297387128,72ae3dc48a9807002ce293801320b557:1100414868,77aa714476980700bcdb2a9141af8dba:867338802,1a9a71445f9807000cafafe06e3216b4:-658815633,6c79fdc0db980700e23a72f06ced67d5:-1808769189,b019310441980700577c220b235f026f:442477208,de977dc06398070099df37a15cb412e4:-1615176230,077735c0e8980700ccfa415e7f5e4251:-916122971,b62771c0e9980700ece0bd25a4163f39:-991667467,43d6fd40cb980700886499b011eaeb25:1588957047,ccd63580539807009ad1ceea34434699:-991667467,1c36394cc8d0070018bf6c4d7f32ce5b:1233697247,5906b90cafd00700174ae107ce5bdd77:1439361631,019a1d8c819007000066aad4f77263b7:614163721,d52a918c08900700cb99af6b2fb46a94:751535357,101ad58c8f9007001532233193841c85:-720416707,f369dd4c509007003176b0ab2be2f9e8:-383050193,0e19194cc79007001c304a3eba9ca0ac:1185923815,7d38d54c7f900700098703fbf4840be9:1595089319,51c7d14cf4900700198320cee2109e81:1344588527,7bf61d0c0090070086ead17b4583012c:-61767039,97d6590caf90070036d0b067ac52bf39:2055759032,56a6590c569007000606358b22926a2b:-484393567,5b86150ce0900700bb6e35652684a253:-1877417444,f876190c73900700d2169e60d04b1020:-426281798,42551dc8019007007e55c59a9bcb96a4:369464877,824599c8be9007005f3b550adcfc1e07:81823167,6a351dc815900700bc3bc65592fb0d8f:-349229567,fa25d9c8a69007005ba39b67ad3e936b:-234447059,a425d9c83d900700ffa5b7347d98eb1e:483080426,391599c88f900700d85e0364c9d38f42:-1174154349,a5d4d5c8109007005e310c3457a0501f:-138597221,7d641508b7900700fb44cd98421c3e5d:1164178751,f734110878900700776399d7977b9ac4:1410949395,c624910879900700b17bc4464a5b069f:-46384635,a714ddc4a7900700887b6d6c00bc500b:60906733,22b359c4ba90070015e295cd1f6c779a:-2130050748,ef9395c4349007008f9c7605ad87b9d0:-1477182644,4391d9c03c9007007f746caaa42740a3:-1252974856,396159c02a900700a0f1ac50593230ba:685249007,c94119c0af9007005557ec0b16b2859b:181122586,9b11d1c088900700105b2eb126c68489:2064126513,50d015c08b900700e2a4f2ed3a30f5ba:-741155033,30b0d1c0339007002df7b12a39ac3282:671991701,dca051c076900700a40bdfab5e653ade:-1958536318,60305d806790070023c062fe0347e29b:-1497555709,91005d8098900700f540fc145aac0059:-857094702,adef89809490070045095a600cef2402:804889604,fadf8580189007004ff5f3010aeb156d:-41742948,bfbf4980ab900700d7ae91a19d7bb214:-660715596,009f45803d9007003b05c68fc0566fbe:-1966003542,04ae8d4008900700d99b791e03b01edb:1899342401,d68d0540919007008c066c0de8b452e8:519722874,7f7d0540d3900700817509986cdfb707:749037715,626d41405d9007008d5f312d8a0c9778:-1744170116,513dcd00e3900700a68d2cd03fd833ee:485849499,5bac4900c7900700347db4b19a584712:2052793440,49ac49005b9007004fb90567ab235df9:-660478848,59db4dcc9650070062493db8ce834091:2052793440,0e6b89cc42500700f60fb8234a7fe3e6:-417369555,d55b89ccfa5007005befdb9844b71fe0:-2047354318,4be43444ad50070073a48061a6111ace:-1604188839,ea84fc04bd5007007aacb45e1e0bd9a4:1128825228,6e04b8042b5007002773a6d20ea81228:-171015072,43ff64806f500700f8a0c7543a62eb6b:1128825228,879f2480835007001f7f058342539c89:-1130774613,d6cc7dffd2c8c300ddac33f2855ccd9f:-36067648,e77cb5ff61c8c3009c335e44fa29dca0:434743941,7d5ab9bfb6c8c300f5d7f9946f41989a:-36067648,ab3a79bfb2c8c300b370d36c826bdd10:1182389947,3088f57f90c8c300e7e193e403e1e76b:39861398,77a7bd3fe4c8c3009b0c79c185f55206:700690041,26a43dbb5dc8c30087b39e8309fc0a66:39861398,25a2b53bf9c8c300916e8f9b46a7583b:-1154254264,1712bdf78cc8c3005660b18bdfad5513:1974303350,7b02bdf79ac8c300bec0bfad728f9db6:-662352365,8e2135b791c8c300dff1e170c8c1220d:-840323925,3bb0b5371ac8c3004bfeca795a52de29:-33339570,d4b0b1375dc8c30078096e99b90ff7ba:-907851144,2470bdf33dc8c300e133c37a926dc6f2:423225890,2d60753796c8c3001b618231348ade43:1212004981,4900bdf328c8c3001c2b10ba91ad27e6:-906821685,05cf69f3d1c8c3005591b302b21d76a1:1876603105,56eeadb325c8c3002cd4054284e619b8:1212004981,cfceadb31bc8c3001d1c0eb4c5bae5f3:-1465164161,61ceadb3efc8c300ab49e6aa61908ea8:1462438360,044eadb398c8c300411161fd8c7901a0:-1465164161,1f0ee9b3e4c8c300f453fb01977b9134:636709394,fbfda9b35fc8c300c7c1325e02735154:-1563822187,16ede9b301c8c3001de0c8088dfc6b2e:636709394,47dd69b304c8c300dc504f8664302069:-1349486213,4ecd29b398c8c300cc33404c61d07a09:636709394,16ad65b3b9c8c3006780b2cdad8e117d:1365108789,2a8da5b3c1c8c300cf972b45264d369c:2144586434,565d25b3abc8c300c18a248519bb4765:-548104062,fc4da1b38cc8c3007e46ba1253398d73:-766173432,28ec21b326c8c30024e7f69861eb127c:239185703,f0dbed3338c8c30075b0d74407c36960:29563490,a98a2d335ac8c300fe63d8bb46679583:-355063192,fb6aa9333cc8c30078be530faf14d633:-170653800,2b2a2d3327c8c300febca6967f616d7a:929957390,2269e13368c8c300fef1a6ef5e39eff4:29563490,c25925337cc8c30000e7a0e91c991d3a:-1633089628,a058adbf3c88c300b3bf954010fb527d:29563490,972665bfb988c300c134274b72d1f331:-88736359,57a5a1bf9288c30054deec6fd4c5179e:-2119835088,fb85e1bf1a88c3004e3601e412b267cf:1415570332,1875a1bfd888c300e8990d846479b098:-1320277178,ea55ed7f9188c3001e5eb51dc2a12a8d:1902572578,9015a97f2f88c3001f4f38bf40290ff4:-455781374,68d46d7f1b88c3004ec4057d61312429:1755396855,7384e57f5288c300063d9a7667ace45c:-384653149,2771613f6688c3007a0f72fbbcb5b1a9:1755396855,4571edfb1e88c300cd2886b4eb2c3374:8257913,9c41edfb9988c3004305ff7dec91ef6b:1599254349,2df029fb5888c300a6c378d7426e6741:-1520240009,500f9d7bdf88c300f706b8b8b6675a11:-1669342713,10de5d7ba688c300b555d8b95e62dc09:-704354275,26aed97bac88c30080e00195e90f357d:1166434984,458e197b5f88c300b7ea33a87272666f:1906054907,eb5e197b3d88c300a20e1ae721d879cf:843636049,863e557b1b88c3008629b2cf3693b052:-100318120,cbed157b8788c300e735a782ea73dcf1:210346543,ecdd1d3b8988c300b251e07d740b4de0:1683663633,189d993b4c88c30017036158cd880abd:-151820494,a87d993bc988c300c2d550a3d452ee59:886885964,920d1d3bdc88c300aa879278647a7ddb:1683663633,d99c993b6788c3001fe06b7477d02f05:-1497609143,674cd53b7f88c300632d3d77d2ba24d7:843636049,73dbd13b6f88c300a351d9339080f1b8:-39866848,8d9b113bfa88c300b4b34b46af9607b1:633332735,c0fa19f7cb88c300342c69176b6768dd:-802949382,94ea19f74e88c300641e552dd34e91d7:1341517674,e3ba55f78388c30004ce2ea54ba146cd:1104454532,a1bad1f74b88c300f81e35f94d437dcf:-427619470,b16a15f72b88c3001f27245272d2dce4:613156870,c45ad1f77988c300b23c6902d365f7ec:1636302982,f59955b79288c30019d9ea287b3e24a1:1655669776,458959b74688c3006d2dbc7bf44b762a:602657712,a55919b7a688c300bf8ae672d80cb0f3:-2007026349,76d855b70588c3001fd68f9929f57198:2079653199,bb869177fd88c300988c0825533a95ed:-1184375601,f1761177cf88c300dc92e77d3a56f248:-1699655003,d446dd372088c300f0143f4cd133f707:-979413046,4d365d379f88c3005eecc3b4a04e6639:162597873,00269d37b488c300ddad4a9ac0cfd4f5:-1022295788,13f519370488c3008e7a3727b3338a79:-364747028,e2e51937a388c3003a078d784afaee73:-2099780217,72a4ddf36588c300ed48ebd3df20eb3f:-1194857631,a074ddf30488c300a5ca16069e7dd230:-1150831241,745411374f88c300ec48883f7c23cc3e:1157348905,d9449df36488c300b1fa1c7971e5a569:1519795049,983419f38288c300ce7c6a4e398db87d:335989646,27149df39788c300a334a2d2d662c261:2040736942,7f9319f32d88c300725be395f0984177:-806429462,108091b3cb88c3006de811ffbba7e6d5:-690460096,9a7091b3b188c30010382579ae92d57d:-850765226,fb5011b3d388c300f7ef85d6d83ac7b7:636500592,645011b34088c30009000f1696dcb807:420028055,5940dd733388c300ea959f9c0ee369f8:-604571322,0630dd738b88c300c7ffe3489a3bd2ac:-1755507334,b2209d736d88c300c2d7426be821cbf2:692678758,48205d730688c3009cf8b5f7addce9f3:1999682698,2d105d730f88c300b1055fa961dc60ed:-285185659,cd0095739088c3007fc1d721cd2bdcd2:-621296144,7a4fc5730588c3002ef1ee462c703c3a:1999682698,ac4f41736888c30083f1b992bec3f3aa:804498001,d21f0d335688c300915846c5aa3629e4:-2077071626,b3ed0933ce88c300772e5abd5e511f88:553990057,b6cdc5333588c3008ab8f059513183f3:1332961167,c75d45330b88c30088493bae13842817:553990057,b94d4533ee88c30096a395c318963d11:468927077,462d81331488c300540bacaaa30f01a9:-283351525,56dc0133f088c300fb1962e5a8210242:753442328,4ecc8dffd948c30084d03da867c270d3:173132664,9dbc8dffa748c300bab2293059defdda:-1458058184,97ac8dff3848c3003e961ea4c8c86acb:-1920919115,fb9c4dff7848c300754f571f9f6bf7be:1590851477,a19c4dff0e48c3000e45b73a52da540c:1936504657,777c0dff0948c3004d587e777eff6241:-1587165996,296c05ff1148c300d8279c469ca15775:-1362327632,08ab05ff5a48c3008efc8fc428e1d918:-765939520,b89bc9bf5c48c3006b393383dadf4414:2040419332,925a89bfef48c300839721743f777658:1614666258,ef4a89bfde48c3005a3721f909d9b50b:-1108886716,e6c945bf7448c300c4ddde65dcfd5d60:2076054672,228981bf0348c3007cccadafaa2eff97:-124951899,f37981bfd748c30036c90719d99cd491:185722985,4b498d7f6248c300e8efee5104c1655a:-1069382906,2429cd7f6748c3009a68f6a8fd055d73:506257844,32098d7fa748c3001409161c1810f454:-1572990950,fcb8457fe848c30087457904066d2dcc:1672043333,2398c57f2348c3006c57b2732d5bd697:985460975,c068057fbd48c3007cd16caab0e99f69:-340343934,6038817f1748c300f273ae0659b9d06b:1303704274,3528817fab48c30044ab5c91be1a4d65:2123668576,8118817f9e48c30039ea6ea472e7ba43:-726764687,d2c74d3f3748c300749e1b6c508ae252:1592774216,ace5013ffe48c300f84eb08791c2d48f:-356476597,98b5cdfb4f48c3009cf1acc22468137d:-1523618037,8f3509fbab48c300543b2f755fe2f98e:1876245414,ede485fbd748c3000e521114e94d0183:-516042210,50a44dbb5d48c300d5424813cbaae048:-2100197682,59d34dbb2b48c300f046725f7e488a42:697523330,53a345bb8948c3004d798c3d9ab0ea91:-22205340,7eb281bba648c3000ba725d032b8ef27:-1026286519,12ff3c3ba948c30050294cd046c3a0ea:-1371424983,b4af383bdb48c300499ab7fe1280d414:-1603057186,3a4ffcf79e48c3000c3232dea59607a1:-480000411,eb3ffcf75f48c3007eab4ff69369099b:254760649,598ebcf70148c3009b2b81b180dff095:-73301732,546e7cf71248c3003681289e2f8bf483:-1265336447,950db0f70148c3007d020bb174ef2d2f:-1508395293,bdbcbcb78e48c300aac40797c6b468bd:525323971,d869f077fe48c3007f1557782709ab6e:304850974,42d8b437d348c300b8e832004f171d0d:1086705122,d0b5b0b3ac48c3007b3a8be095302487:439920386,752402123:752402123,492890618:492890618,-85306019:-85306019,-358132753:-358132753,-209080732:-209080732,-358132753:-358132753,-400796095:-400796095,865940878:865940878,172578820:172578820,1190313342:1190313342</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_79e0cd7513dba300a693d5328144b081</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Problem Message\">1bc0cd7513dba300a693d5328144b08d</sp_dependency><sp_widget display_value=\" PE Problem Message\">a1e0159fdbd93200b793f2b6ae9619bf</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2019-01-29 23:13:09</sys_created_on><sys_id>79e0cd7513dba300a693d5328144b081</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Problem Message. PE Problem Message</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_79e0cd7513dba300a693d5328144b081</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2019-01-29 23:13:09</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-225836814</payload_hash>\n<remote_update_set display_value=\"PE Problem Message\">53d149b513dba300a693d5328144b014</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-01-29 23:17:20</sys_created_on>\n<sys_id>dbd149b513dba300a693d5328144b014</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>1689be344370000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-01-29 23:17:20</sys_updated_on>\n<table/>\n<target_name>Problem Message. PE Problem Message</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>f1e0cd75abdba30022c6f18d48d06683</update_guid>\n<update_guid_history>f1e0cd75abdba30022c6f18d48d06683:-225836814</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-problem-message/test/pe-problem.client.spec.js",
    "content": "describe('Incident message controller', function() {\n  beforeEach(module('pe-problem-message'));\n\n  it('should have a named function', function() {\n    expect(ProblemMessageController).toBeDefined();\n  });\n\n  it('has two arguments', function() {\n    var argLength = ProblemMessageController.length;\n    expect(argLength).toEqual(2);\n  });\n});\n"
  },
  {
    "path": "src/pe-problem-message/test/pe-problem.service.spec.js",
    "content": "describe('Time ago service', function() {\n  beforeEach(module('pe-problem-message'));\n\n  beforeEach(\n    inject(function(_timeService_) {\n      timeService = _timeService_;\n    })\n  );\n\n  it('getTimeAgo method should exist', function() {\n    expect(timeService.getTimeAgo).toBeDefined();\n  });\n\n  it('has two arguments', function() {\n    var argLength = timeService.getTimeAgo.length;\n    expect(argLength).toEqual(2);\n  });\n\n  it('should return 3 properties', function() {\n    var pastTime = new Date('2017-08-07 19:22:32');\n    var timeAgo = timeService.getTimeAgo(pastTime);\n    expect(Object.keys(timeAgo).length).toBe(3);\n  });\n\n  it('new problem should be zero minutes ago', function() {\n    var problemTime = new Date();\n    var serverTime = new Date();\n    var timeAgo = timeService.getTimeAgo(problemTime, serverTime);\n    expect(timeAgo.minutes).toEqual(0);\n  });\n\n  it('problem should be one hour ago', function() {\n    var problemTime = 'Thu Sep 21 2017 14:51:05 GMT-0500 (CDT)';\n    var serverTime = 'Thu Sep 21 2017 15:51:05 GMT-0500 (CDT)';\n    var timeAgo = timeService.getTimeAgo(problemTime, serverTime);\n    expect(timeAgo.hours).toEqual(1);\n  });\n});\n"
  },
  {
    "path": "src/pe-problem-message/ui-script/pe-problem.module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('pe-problem-message', []);\n})();"
  },
  {
    "path": "src/pe-problem-message/ui-script/pe-problem.service.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  function timeService() {\n    var service = {\n      getTimeAgo: getTimeAgo\n    };\n    return service;\n\n    function getTimeAgo(openedTime, serverDate) {\n      var timeAgo = {};\n      if (openedTime) {\n        var today = new Date(serverDate);\n        var problemTime = new Date(openedTime);\n        var secondDiff = today - problemTime;\n        timeAgo.days = Math.floor(secondDiff / 86400000);\n        timeAgo.hours = Math.floor((secondDiff % 86400000) / 3600000);\n        timeAgo.minutes = Math.round(((secondDiff % 86400000) % 3600000) / 60000);\n      }\n      return timeAgo;\n    }\n  }\n\n  angular\n    .module('pe-problem-message')\n    .service('timeService', timeService);\n})();"
  },
  {
    "path": "src/pe-problem-message/widget/pe-problem-message.u-body-html-template.html",
    "content": "<div class=\"row problem-message\">\n  <div class=\"col-xs-12\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading panel-header-high-risk\">{{::c.data.messageHeader}}\n        <section class=\"badge\">\n          <span ng-if=\"c.timeAgo.days > 0\">{{c.timeAgo.days}}d</span>\n          <span ng-if=\"c.timeAgo.hours > 0 && !c.timeAgo.days\">{{c.timeAgo.hours}}h</span>\n          <span ng-if=\"!c.timeAgo.hours && !c.timeAgo.days\">{{c.timeAgo.minutes}}m</span> ago\n        </section>\n      </div>\n      <div class=\"panel-body panel-body-high-risk\">\n        <p><i class=\"status-circle-small-left\"></i>{{::c.data.problemNumber}} - {{::c.data.messageHeader}}</p>\n        <p class=\"status-message\">{{::c.data.messageBody}}</p>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-problem-message/widget/pe-problem-message.u-client-script.js",
    "content": "function ProblemMessageController($interval, timeService) {\n  var c = this;\n\n  c.$onInit = function() {\n    getTimes();\n    incrementTime();\n  };\n\n  function getTimes() {\n    c.timeAgo = timeService.getTimeAgo(c.data.problemTime, c.data.today);\n    return c.timeAgo;\n  }\n\n  function incrementTime() {\n    $interval(function() {\n      getTimes();\n    }, 60000);\n  }\n}"
  },
  {
    "path": "src/pe-problem-message/widget/pe-problem-message.u-css.scss",
    "content": "$pe-status-color-danger: #6b0022 !default;\n$pe-badge-danger: #a40034 !default;\n$pe-background-header-danger: #dd0047 !default;\n$pe-background-body-danger: #be003d !default;\n\n.problem-message {\n  .badge {\n    background-color: $pe-badge-danger;\n    border-radius: 100px;\n    float: right;\n    font-size: 12px;\n    font-weight: normal;\n    height: 28px;\n    margin-top: -5px;\n    min-width: 76px;\n    padding-top: 7px;\n    text-transform: lowercase;\n  }\n  .panel {\n    color: #fff;\n    .panel-heading {\n      border-bottom: 0;\n      color: #fff;\n      font-size: 12px;\n      padding: 14px;\n      text-transform: uppercase;\n    }\n    .panel-body {\n      .status-circle-small-left {\n        background: $pe-status-color-danger;\n        border-radius: 10px;\n        float: left;\n        height: 10px;\n        margin: 5px 10px 0 0;\n        width: 10px;\n      }\n    }\n    .panel-header-high-risk {\n      background-color: $pe-background-header-danger;\n    }\n    .panel-body-high-risk {\n      background-color: $pe-background-body-danger;\n      font-size: 15px;\n      font-weight: 400;\n      padding-bottom: 5px;\n      .status-message {\n        font-weight: 100;\n        margin-left: 20px;\n      }\n    }\n  }\n}"
  },
  {
    "path": "src/pe-problem-message/widget/pe-problem-message.u-option-schema.json",
    "content": "[{\n  \"name\": \"problem_number\",\n  \"default_value\": \"SIR0001932\",\n  \"label\": \"Problem Number\",\n  \"type\": \"string\"\n}]"
  },
  {
    "path": "src/pe-problem-message/widget/pe-problem-message.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.problemNumber = options.problem_number || serverOptions.problem_number;\n\n  var grMessages = new GlideRecord('sys_ui_message');\n  grMessages.addQuery('key', 'STARTSWITH', 'Problem Msg');\n  grMessages.query();\n\n  var messages = [];\n  while (grMessages.next()) {\n    messages.push(grMessages.message.toString());\n  }\n\n  var grProblem = new GlideRecord('problem');\n  grProblem.addQuery('number', options.problem_number);\n  grProblem.query();\n\n  if (!grProblem.next() && grProblem.number !== options.problem_number) {\n    grProblem.initialize();\n    grProblem.number = options.problemNumber;\n    grProblem.priority = 1;\n    grProblem.short_description = messages[1];\n    grProblem.description = messages[0];\n    grProblem.insert();\n  }\n\n  data.problemNumber = grProblem.number.toString();\n  data.problemTime = grProblem.opened_at.toString();\n  data.messageHeader = grProblem.short_description.toString();\n  data.messageBody = grProblem.description.toString();\n  data.today = new GlideDateTime().toString();\n})();"
  },
  {
    "path": "src/pe-proc-flow/README.md",
    "content": "# Proc Flow\n\n## Description\n\nThe Proc Flow widget allows you to render the equivalent of a Process Flow Formatter on a Service Portal Page, helping the user to understand what stage a task is currently at in its end-to-end life cycle.\n\n## Screenshot\n\n![Proc Flow](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-proc-flow/images/pe-proc-flow.png)\n\n## Additional Information/Notes\n\nIt uses the SpUtil Watch functionality to update the state in real time.\n\n## Installation\n\nDownload and install update set **[pe-proc-flow.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-proc-flow/pe-proc-flow.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nThe widget requires in input (through URL parameter or input object if embedded) the following parameters:\n\n- table: table containing the record\n- sys_id: sys_id of the the record\n\n## Platform Dependencies\n\nThe record needs to have state flows defined. If not provided out of the box for that table, then the user can easily add or customise them from the State Flows functionality within the platform.\n\nYou can read more about state flows on [Docs](https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/administer/state-flows/concept/c_StateFlows.html)\n\n### SN System Tables\n\nYou can use the Proc Flow widget with any record in a table that uses states (tables derived from Task).\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n// Default Colors\n$x-pisn-sp-procflow-color: $text-default !default;\n$x-pisn-sp-procflow-bg: darken($body-bg, 5%) !default;\n\n// \"Current Stage\" Colors\n$x-pisn-sp-procflow-current-bg: $brand-primary !default;\n$x-pisn-sp-procflow-current-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;\n\n// \"Past Stage\" Colors\n$x-pisn-sp-procflow-past-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;\n$x-pisn-sp-procflow-past-bg: lighten($x-pisn-sp-procflow-current-bg, 20%) !default;\n\n// \"Future Stage\" Colors\n$x-pisn-sp-procflow-future-color: lighten($x-pisn-sp-procflow-color, 10%) !default;\n$x-pisn-sp-procflow-future-bg: $x-pisn-sp-procflow-bg !default;\n\n// Color of border between Flow Stages\n$x-pisn-sp-procflow-border-color: $body-bg !default;\n\n$x-pisn-sp-procflow-tranistion-time: 0.5s !default;\n\n// Sizing\n$x-pisn-sp-procflow-border-radius: $border-radius-base !default;\n$x-pisn-sp-procflow-height: 44px !default;\n$x-pisn-sp-procflow-font-size: $font-size-small !default;\n$x-pisn-sp-procflow-chevron-height: $x-pisn-sp-procflow-height / 2 !default;\n$x-pisn-sp-procflow-chevron-width: 16px !default;\n```\n"
  },
  {
    "path": "src/pe-proc-flow/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Proc Flow\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Fabio Petito\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-proc-flow\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"The Proc Flow widget allows you to render the equivalent of a Process Flow Formatter on a Service Portal Page, helping the user to understand what stage a task is currently at in its end-to-end life cycle.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-proc-flow/pe-proc-flow.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-24 17:22:54\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<application_name>SP Process Flow</application_name>\n<application_scope>x_pisn_sp_procflow</application_scope>\n<application_version>0.4.1</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Renders a \"Process Flow\" in a Service Portal Widget</description>\n<inserted/>\n<name>SP Process Flow</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>fd86b94fdbdcff00d033df8b4b9619c9</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_f2106906db503f00d033df8b4b961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"2\">35efd506db503f00d033df8b4b9619db</sp_column><sp_widget display_value=\"Process Flow Host Sample\">a93f9dc2db503f00d033df8b4b961916</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:10:44</sys_created_on><sys_id>f2106906db503f00d033df8b4b961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_f2106906db503f00d033df8b4b961981</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:10:44</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f2106906db503f00d033df8b4b961981\"/></record_update>]]></payload>\n<payload_hash>1802789791</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8a30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_31478edfdb975f405c025a6adc961956</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>31478edfdb975f405c025a6adc961956</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_31478edfdb975f405c025a6adc961956</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7bb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_b7259dabdbd493405c025a6adc96197c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_sp_procflow.ProcessFlow&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;ProcessFlow&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var ProcessFlow = Class.create();\nProcessFlow.prototype = {\n    initialize: function(taskGR) {\n\t\tthis.taskGR = taskGR;\n    },\n\t\n\tloadStagesForTask: function(taskGR) {\n\t\ttaskGR = taskGR || this.taskGR;\n\t\tvar stages = [];\n\t\t\n\t\tvar processFlowGR = this.getProcessFlowGR(taskGR);\n\t\t\n\t\tvar foundCurrent = false;\n\t\t\n\t\twhile (processFlowGR.next()) {\n\t\t\tvar stageData = {\n\t\t\t\tsys_id: processFlowGR.getUniqueValue(),\n\t\t\t\tvalue: processFlowGR.name.toString(),\n\t\t\t\tlabel: processFlowGR.label.getDisplayValue(),\n\t\t\t\tdescription: processFlowGR.description.getDisplayValue()\n\t\t\t};\n\t\t\t\n\t\t\tvar isCurrent = GlideFilter.checkRecord(taskGR, processFlowGR.condition.toString());\n\t\t\t\n\t\t\tif (isCurrent) {\n\t\t\t\tstageData.state = 'current';\n\t\t\t\tfoundCurrent = true;\n\t\t\t} else if (foundCurrent) {\n\t\t\t\tstageData.state = 'future';\n\t\t\t} else {\n\t\t\t\tstageData.state = 'past';\n\t\t\t}\n\t\t\t\n\t\t\tstages.push(stageData);\n\t\t}\n\t\t\n\t\t// If we never saw a \"current\" stage, all stages will be marked as \"past\", in this case, go and flip them all to \"future\"\n\t\tvar numberOfPastStages = stages.filter(function(stage) { return stage.state == 'past'; }).length;\n\t\tvar areAllInPast = stages.length == numberOfPastStages;\n\t\t\n\t\tif (areAllInPast) {\n\t\t\tstages = stages.map(function(stage) {\n\t\t\t\tstage.state = 'future';\n\t\t\t\treturn stage;\n\t\t\t});\n\t\t}\n\t\t\n\t\treturn stages;\n\t},\n\t\n\tgetProcessFlowGR: function(taskGR) {\n\t\tvar processFlowGR = new GlideRecord('sys_process_flow');\n\t\tprocessFlowGR.addQuery('table', taskGR.getRecordClassName());\n\t\tprocessFlowGR.addQuery('active', true);\n\t\tprocessFlowGR.orderBy('order');\n\t\tprocessFlowGR.query();\n\t\t\n\t\treturn processFlowGR;\n\t},\n\t\n\ttoObject: function() {\n\t\treturn {\n\t\t\ttable: this.taskGR.getRecordClassName(),\n\t\t\tsys_id: this.taskGR.getUniqueValue(),\n\t\t\tstages: this.loadStagesForTask()\n\t\t};\n\t},\n\n    type: 'ProcessFlow'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.hann&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-21 13:58:18&lt;/sys_created_on&gt;&lt;sys_id&gt;b7259dabdbd493405c025a6adc96197c&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;ProcessFlow&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_b7259dabdbd493405c025a6adc96197c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.hann&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-22 11:17:14&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-20769302</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619cc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7530000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>ProcessFlow</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4210e506db503f00d033df8b4b9619e4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">f5efd506db503f00d033df8b4b9619d9</sp_column><sp_widget display_value=\"Process Flow Host Sample\">a93f9dc2db503f00d033df8b4b961916</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:10:42</sys_created_on><sys_id>4210e506db503f00d033df8b4b9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_4210e506db503f00d033df8b4b9619e4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:10:42</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4210e506db503f00d033df8b4b9619e4\"/></record_update>]]></payload>\n<payload_hash>-350537540</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8940000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_ac2251abdb5c934085895845dc9619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Process Flow</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking/><scope>x_pisn_sp_procflow</scope><scoped_administration>false</scoped_administration><short_description>Renders a \"Process Flow\" in a Service Portal Widget</short_description><source>x_pisn_sp_procflow</source><store_correlation_id>REPOAPP0000001284</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>chris.hann</sys_created_by><sys_created_on>2018-02-21 11:38:18</sys_created_on><sys_id>ac2251abdb5c934085895845dc9619fe</sys_id><sys_mod_count>40</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-24 17:21:01</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>0.4.1</version></sys_app></record_update>]]></payload>\n<payload_hash>-348340691</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7360000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>SP Process Flow</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_f1478edfdb975f405c025a6adc961954</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>f1478edfdb975f405c025a6adc961954</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_f1478edfdb975f405c025a6adc961954</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7c80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_f5efd506db503f00d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f5efd506db503f00d033df8b4b9619d7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>f5efd506db503f00d033df8b4b9619d9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_f5efd506db503f00d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:57</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1061047320</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8b80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4e74afaddb98bb00d033df8b4b961922</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowPopupController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {\n    c.show = false;\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-lite-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-lite-border-radius: 15px;&amp;#13;\n&amp;#13;\n//starter&amp;#13;\n$x-pisn-sp-procflow-lite-starter: $brand-primary !default;&amp;#13;\n$x-pisn-sp-procflow-lite-starter-size: 20px !default;&amp;#13;\n$x-pisn-sp-procflow-lite-starter-bg: $body-bg !default;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-starter {&amp;#13;\n  border: 1px solid $x-pisn-sp-procflow-lite-starter;&amp;#13;\n  height: $x-pisn-sp-procflow-lite-starter-size;&amp;#13;\n  border-radius: 50%;&amp;#13;\n  -moz-border-radius:50%;&amp;#13;\n  -webkit-border-radius: 50%;&amp;#13;\n  width: $x-pisn-sp-procflow-lite-starter-size;&amp;#13;\n  display: flex;&amp;#13;\n  align-items: center;&amp;#13;\n  justify-content: center;&amp;#13;\n  position: relative;&amp;#13;\n  .fa { color: $x-pisn-sp-procflow-lite-starter;}&amp;#13;\n  .fa-sort-desc {&amp;#13;\n    position: absolute;&amp;#13;\n    bottom: 17px;&amp;#13;\n  }&amp;#13;\n  .fa-times-inverse {&amp;#13;\n    color: $x-pisn-sp-procflow-lite-starter-bg;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-starter--inverse-bg {&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-starter;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.light {&amp;#13;\n  -webkit-text-stroke: 0.5px $x-pisn-sp-procflow-lite-starter-bg;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.light-inverse-1 {&amp;#13;\n  -webkit-text-stroke: 1px $x-pisn-sp-procflow-lite-starter;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-container {&amp;#13;\n  position: absolute;&amp;#13;\n  bottom: 17px;&amp;#13;\n  left: 0%;&amp;#13;\n  right: 0%;&amp;#13;\n  z-index: 1;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* Toggle this class - hide and show the popup */&amp;#13;\n.x-pisn-sp-procflow__show {&amp;#13;\n  visibility: visible;&amp;#13;\n  -webkit-animation: fadeIn 0.5s;&amp;#13;\n  animation: fadeIn 0.5s;&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow__hide {&amp;#13;\n  visibility: hidden;&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__container {&amp;#13;\n  display: flex !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* Add animation (fade in the popup) */&amp;#13;\n@-webkit-keyframes fadeIn {&amp;#13;\n  from {opacity: 0;} &amp;#13;\n  to {opacity: 1;}&amp;#13;\n}&amp;#13;\n&amp;#13;\n@keyframes fadeIn {&amp;#13;\n  from {opacity: 0;}&amp;#13;\n  to {opacity:1 ;}&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-popup&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Process Flow Popup&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-lite', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-20 09:32:05&lt;/sys_created_on&gt;&lt;sys_id&gt;4e74afaddb98bb00d033df8b4b961922&lt;/sys_id&gt;&lt;sys_mod_count&gt;55&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Popup&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4e74afaddb98bb00d033df8b4b961922&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-24 16:47:08&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;span class=\"x-pisn-sp-procflow-popup-starter\" ng-click=\"c.show = !c.show;\" ng-class=\"{'x-pisn-sp-procflow-popup-starter--inverse-bg': c.show}\"&gt;\n  &lt;i class=\"fa fa-ellipsis-h light\" aria-hidden=\"true\" ng-show=\"!c.show\"&gt;&lt;/i&gt;\n  &lt;i class=\"fa fa-times fa-times-inverse light-inverse-1\" aria-hidden=\"true\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;&lt;/i&gt;\n  &lt;i class=\"fa fa-sort-desc fa-2x\" aria-hidden=\"true\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;&lt;/i&gt;\n&lt;/span&gt;\n&lt;div class=\"x-pisn-sp-procflow-popup-container\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;\n  &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-206519893</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c9200000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Popup</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_b9478edfdb975f405c025a6adc961953</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>b9478edfdb975f405c025a6adc961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_b9478edfdb975f405c025a6adc961953</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7c10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_6527adb3db4cf300efd54a92ba96194b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"2\">ed27adb3db4cf300efd54a92ba961947</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>6527adb3db4cf300efd54a92ba96194b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_6527adb3db4cf300efd54a92ba96194b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>947498180</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c81d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_ed27adb3db4cf300efd54a92ba961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>ed27adb3db4cf300efd54a92ba961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_ed27adb3db4cf300efd54a92ba961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>753394651</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8240000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_6cbd784bdbdb1f405c025a6adc961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>6cbd784bdbdb1f405c025a6adc961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_6cbd784bdbdb1f405c025a6adc961986</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7a20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_fcef1906db503f00d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 2</name><order>2</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:48</sys_created_on><sys_id>fcef1906db503f00d033df8b4b9619d9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Process Flow Demo Page - Container 2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_fcef1906db503f00d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:33</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1750137340</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8aa0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 2</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_df11e769db98bb00d033df8b4b961914</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"DELETE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowCtrl(spUtil, $scope) {\n  var c = this;\n\n\tc.$onInit = function() {\n    };\n\t\n\tc.showProcessFlow = function() {\n\t\treturn c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n\t};\n\t\n\tif(c.data.table)\n\tspUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function() {\n\t\tspUtil.update($scope);\n\t});\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-popup-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-popup-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-current-color: lighten($x-pisn-sp-procflow-popup-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-past-color: lighten($x-pisn-sp-procflow-popup-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-future-color: lighten($x-pisn-sp-procflow-popup-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-popup-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-popup-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-popup-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-popup-border-radius: 15px;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__breadcrumb {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-separator-color;&amp;#13;\n  margin-right: 8px;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__container {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  justify-content: center;&amp;#13;\n  border-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  font-size: $x-pisn-sp-procflow-popup-font-size;&amp;#13;\n  letter-spacing: -0.2px;&amp;#13;\n  overflow: hidden;&amp;#13;\n  background-color: $x-pisn-sp-procflow-popup-bg;&amp;#13;\n  z-index: 10;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage {&amp;#13;\n  position: relative;&amp;#13;\n  display: flex;&amp;#13;\n  background-color: $x-pisn-sp-procflow-popup-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-popup-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-popup-height;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage:first-of-type {&amp;#13;\n  border-top-left-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  border-bottom-left-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  padding-left: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage:last-of-type {&amp;#13;\n  border-top-right-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  border-bottom-right-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-current-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-past-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-future-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__arrow-down {&amp;#13;\n    position: absolute;&amp;#13;\n    bottom: 0px;&amp;#13;\n    left: 0px;&amp;#13;\n    z-index: 2;&amp;#13;\n    width: 0;&amp;#13;\n    height: 0;&amp;#13;\n    border-left: 7px solid transparent;&amp;#13;\n    border-right: 7px solid transparent;&amp;#13;\n    border-top: 6px solid $x-pisn-sp-procflow-popup-bg;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Copy of Process Flow Popup&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tinput = input || {};\n    data.table = input.table || options.table || $sp.getParameter('table');\n\tdata.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n\tdata.show_arrow = input.show_arrow || options.show_arrow || false;\n\tdata.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n\tdata.is_valid = false;\n\t\n\tif (!data.table)\n\t\treturn;\n\t\n\tvar taskGR = new GlideRecord(data.table);\n\tif (!taskGR.get(data.sys_id))\n\t\treturn;\n\t\n\tdata.is_valid = true; \n\tdata.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-20 09:17:25&lt;/sys_created_on&gt;&lt;sys_id&gt;df11e769db98bb00d033df8b4b961914&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Copy of Process Flow Popup&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_df11e769db98bb00d033df8b4b961914&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-20 09:17:25&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-popup\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow-popup__container list-unstyled\" \n      ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-popup__stage x-pisn-sp-procflow-popup__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"&gt;\n      &lt;i ng-if=\"$index&gt;0\" class=\"fa fa-angle-right x-pisn-sp-procflow-popup__breadcrumb\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;span class=\"x-pisn-sp-procflow-popup__label\"&gt;{{::stage.label}}&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;\n&lt;span ng-show=\"data.show_arrow\" class=\"x-pisn-sp-procflow-popup__arrow-down\"&gt;&lt;/span&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1718156038</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c87f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Copy of Process Flow Popup</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_e0bd784bdbdb1f405c025a6adc961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>e0bd784bdbdb1f405c025a6adc961987</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_e0bd784bdbdb1f405c025a6adc961987</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7b30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_e927adb3db4cf300efd54a92ba961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"2\">ed27adb3db4cf300efd54a92ba961947</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>e927adb3db4cf300efd54a92ba961949</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_e927adb3db4cf300efd54a92ba961949</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-18 12:17:37</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1048100167</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8730000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3c62d1abdb5c934085895845dc96191b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowController(spUtil, $scope) {\n  var c = this;\n\n  c.hasIcon = function (stage) {\n    return c.options.show_icons &amp;&amp; c.getIcon(stage);\n  };\n\n  c.getIcon = function (stage) {\n    if (stage.state == 'past') {\n      return 'fa-check';\n    }\n    return;\n  };\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-color: $text-default !default;&amp;#13;\n$x-pisn-sp-procflow-bg: darken($body-bg, 5%) !default;&amp;#13;\n&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-current-bg: $brand-primary !default;&amp;#13;\n$x-pisn-sp-procflow-current-color:  lighten($x-pisn-sp-procflow-current-bg, 45%) !default;&amp;#13;\n&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-past-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;&amp;#13;\n$x-pisn-sp-procflow-past-bg: lighten($x-pisn-sp-procflow-current-bg, 20%) !default;&amp;#13;\n&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-future-color: lighten($x-pisn-sp-procflow-color, 10%) !default;&amp;#13;\n$x-pisn-sp-procflow-future-bg: $x-pisn-sp-procflow-bg !default;&amp;#13;\n&amp;#13;\n// Color of border between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-border-color: $body-bg !default;&amp;#13;\n&amp;#13;\n$x-pisn-sp-procflow-tranistion-time: 0.5s !default;&amp;#13;\n&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-border-radius: $border-radius-base !default;&amp;#13;\n$x-pisn-sp-procflow-height: 44px !default;&amp;#13;\n$x-pisn-sp-procflow-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-chevron-height: $x-pisn-sp-procflow-height / 2 !default;&amp;#13;\n$x-pisn-sp-procflow-chevron-width: 16px !default;&amp;#13;\n&amp;#13;\n@media (max-width: 768px) {&amp;#13;\n  .x-pisn-sp-procflow-flow-hide {&amp;#13;\n  \tdisplay: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow__container {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  width: 100%;&amp;#13;\n  border-radius: $border-radius-base;&amp;#13;\n  font-size: $x-pisn-sp-procflow-font-size;&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n  margin-bottom: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage {&amp;#13;\n  position: relative;&amp;#13;\n  display: flex;&amp;#13;\n  flex: 1 1;&amp;#13;\n  background: $x-pisn-sp-procflow-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-height;&amp;#13;\n  transition: background-color $x-pisn-sp-procflow-tranistion-time, color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  &amp;#13;\n  &amp;amp;::before {&amp;#13;\n    position: absolute;&amp;#13;\n  \tdisplay: block;&amp;#13;\n  \tborder: $x-pisn-sp-procflow-chevron-height solid $x-pisn-sp-procflow-bg;&amp;#13;\n  \tborder-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-border-color;&amp;#13;\n  \tborder-right: 0;&amp;#13;\n  \ttop: -2px;&amp;#13;\n    bottom: -2px;&amp;#13;\n  \tz-index: 9;&amp;#13;\n  \tcontent: '';&amp;#13;\n    left: -($x-pisn-sp-procflow-chevron-width / 2);&amp;#13;\n    &amp;#13;\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;::after {&amp;#13;\n    position: absolute;&amp;#13;\n  \tdisplay: block;&amp;#13;\n  \tborder: $x-pisn-sp-procflow-chevron-height solid transparent;&amp;#13;\n  \tborder-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-bg;&amp;#13;\n  \tborder-right: 0;&amp;#13;\n  \ttop: -2px;&amp;#13;\n    bottom: -2px;&amp;#13;\n  \tz-index: 10;&amp;#13;\n  \tcontent: '';&amp;#13;\n    right: -($x-pisn-sp-procflow-chevron-width / 2) + 1px;&amp;#13;\n    &amp;#13;\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage:first-of-type {&amp;#13;\n  border-top-left-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n  border-bottom-left-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n&amp;#13;\n  &amp;amp;::before {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage:last-of-type {&amp;#13;\n  border-top-right-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n  border-bottom-right-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n&amp;#13;\n  &amp;amp;::after {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-current-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n  &amp;#13;\n  &amp;amp;:after {&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;:before {&amp;#13;\n    border-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-border-color;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-past-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n  &amp;#13;\n  &amp;amp;:before {&amp;#13;\n    border-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-border-color;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;:after {&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-future-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-future-bg;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__label {&amp;#13;\n  margin-left: calc($x-pisn-sp-procflow-chevron-width - 5px);&amp;#13;\n  margin-right: $x-pisn-sp-procflow-chevron-width;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--has-icon {&amp;#13;\n  .x-pisn-sp-procflow-flow__label {&amp;#13;\n    padding-right: $x-pisn-sp-procflow-font-size;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__icon  {&amp;#13;\n  position: absolute;&amp;#13;\n  right: $x-pisn-sp-procflow-font-size;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-chevrons&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Process Flow&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"},{\"name\":\"only_desktop\",\"section\":\"other\",\"default_value\":\"false\",\"label\":\"Only Desktop\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.is_valid = false;\n\n  options.only_desktop = options.only_desktop == true || options.only_desktop == 'true';\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.hann&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-21 11:39:23&lt;/sys_created_on&gt;&lt;sys_id&gt;3c62d1abdb5c934085895845dc96191b&lt;/sys_id&gt;&lt;sys_mod_count&gt;356&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3c62d1abdb5c934085895845dc96191b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-22 15:54:54&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-flow m-b\" ng-class=\"{'x-pisn-sp-procflow-flow-hide': c.options.only_desktop}\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow__container list-unstyled\" ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-flow__stage x-pisn-sp-procflow-flow__stage--{{stage.state}}\" ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"\n      ng-class=\"{ 'x-pisn-sp-procflow-flow__stage--has-icon': c.hasIcon(stage) }\"&gt;\n      &lt;span class=\"x-pisn-sp-procflow-flow__label\"&gt;{{::stage.label}}&lt;/span&gt;\n      &lt;span class=\"x-pisn-sp-procflow-flow__icon fa {{::c.getIcon(stage)}}\" ng-if=\"c.hasIcon(stage)\"&gt;&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-617579657</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8fd0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_b67aeedadb17db405c025a6adc9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>b67aeedadb17db405c025a6adc9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_b67aeedadb17db405c025a6adc9619a8</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c78f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_392467addb98bb00d033df8b4b961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">292467addb98bb00d033df8b4b961943</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>392467addb98bb00d033df8b4b961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_392467addb98bb00d033df8b4b961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:42</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>996925683</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8dc0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_b6e42933db4cf300efd54a92ba96198d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>3</order><sp_column/><sp_container display_value=\"Process Flow - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:26</sys_created_on><sys_id>b6e42933db4cf300efd54a92ba96198d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>3</sys_name><sys_package display_value=\"SP - Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP - Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_b6e42933db4cf300efd54a92ba96198d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1292666134</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c84d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>3</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_50240609dbd71b405c025a6adc961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>50240609dbd71b405c025a6adc961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_50240609dbd71b405c025a6adc961904</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7810000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_35e4e9bfdb0cf300efd54a92ba9619d1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f1e4e9bfdb0cf300efd54a92ba9619cf</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:22</sys_created_on><sys_id>35e4e9bfdb0cf300efd54a92ba9619d1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_35e4e9bfdb0cf300efd54a92ba9619d1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:22</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>2011195914</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7eb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_c8d5e321dbd8bb00d033df8b4b961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">792467addb98bb00d033df8b4b961945</sp_column><sp_widget display_value=\"Process Flow Popup\">4e74afaddb98bb00d033df8b4b961922</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:37:57</sys_created_on><sys_id>c8d5e321dbd8bb00d033df8b4b961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_c8d5e321dbd8bb00d033df8b4b961995</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:37:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c8d5e321dbd8bb00d033df8b4b961995\"/></record_update>]]></payload>\n<payload_hash>-731307197</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8c70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_2cf0fb14db9f97405c025a6adc961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:15</sys_created_on><sys_id>2cf0fb14db9f97405c025a6adc961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_2cf0fb14db9f97405c025a6adc961908</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:15</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7660000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_3882b1abdb1893405c025a6adc96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>chris.hann</sys_created_by><sys_created_on>2018-02-21 13:59:45</sys_created_on><sys_id>3882b1abdb1893405c025a6adc96194d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_process_flow</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_scope_privilege_3882b1abdb1893405c025a6adc96194d</sys_update_name><sys_updated_by>chris.hann</sys_updated_by><sys_updated_on>2018-02-21 13:59:45</sys_updated_on><target_name>sys_process_flow</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1138614547</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c74a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>sys_process_flow</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_792467addb98bb00d033df8b4b961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">292467addb98bb00d033df8b4b961943</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>792467addb98bb00d033df8b4b961945</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_792467addb98bb00d033df8b4b961945</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:47</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1145967502</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8cf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f5efd506db503f00d033df8b4b9619d7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 2\">fcef1906db503f00d033df8b4b9619d9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>f5efd506db503f00d033df8b4b9619d7</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_f5efd506db503f00d033df8b4b9619d7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:49</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1121093619</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8b20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_a0f0fb14db9f97405c025a6adc96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:16</sys_created_on><sys_id>a0f0fb14db9f97405c025a6adc96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_a0f0fb14db9f97405c025a6adc96190b</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:16</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c76e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_35efd506db503f00d033df8b4b9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f5efd506db503f00d033df8b4b9619d7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>35efd506db503f00d033df8b4b9619db</sys_id><sys_mod_count>1</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_35efd506db503f00d033df8b4b9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:14:04</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1704647718</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8be0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_292467addb98bb00d033df8b4b961943</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"\">502467addb98bb00d033df8b4b9619f9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>292467addb98bb00d033df8b4b961943</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_292467addb98bb00d033df8b4b961943</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:42</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1950317106</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8ef0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_3e7aeedadb17db405c025a6adc9619aa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>3e7aeedadb17db405c025a6adc9619aa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_3e7aeedadb17db405c025a6adc9619aa</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_c1d6a5b3db4cf300efd54a92ba9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">e927adb3db4cf300efd54a92ba961949</sp_column><sp_widget display_value=\"Process Flow Lite\">bb6b8a4edb439b0085895845dc961917</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:53:47</sys_created_on><sys_id>c1d6a5b3db4cf300efd54a92ba9619db</sys_id><sys_mod_count>1</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_c1d6a5b3db4cf300efd54a92ba9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:13</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c1d6a5b3db4cf300efd54a92ba9619db\"/></record_update>]]></payload>\n<payload_hash>-1104029838</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8310000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_24f0fb14db9f97405c025a6adc961909</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:15</sys_created_on><sys_id>24f0fb14db9f97405c025a6adc961909</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_24f0fb14db9f97405c025a6adc961909</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:15</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c75b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_fe7aeedadb17db405c025a6adc9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>fe7aeedadb17db405c025a6adc9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_fe7aeedadb17db405c025a6adc9619a8</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c79c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_74e4a9bfdb0cf300efd54a92ba9619c4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:18</sys_created_on><sys_id>74e4a9bfdb0cf300efd54a92ba9619c4</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Process Flow Demo Page - Container 1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_74e4a9bfdb0cf300efd54a92ba9619c4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-15 16:44:01</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>951051739</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8650000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_bb6b8a4edb439b0085895845dc961917</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowLiteController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {};\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-lite-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-lite-border-radius: 15px;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-separator-color;&amp;#13;\n  margin-right: 8px;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__container {&amp;#13;\n  display: inline-flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  border-radius: $x-pisn-sp-procflow-lite-border-radius;&amp;#13;\n  font-size: $x-pisn-sp-procflow-lite-font-size;&amp;#13;\n  letter-spacing: -0.2px;&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-bg;&amp;#13;\n  z-index: 10;&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n::-webkit-scrollbar { &amp;#13;\n    display: none; &amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage {&amp;#13;\n  display: flex;&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-lite-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-lite-height;&amp;#13;\n  margin-top: 3px;&amp;#13;\n  margin-bottom: 3px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage:first-of-type {&amp;#13;\n  padding-left: 10px;&amp;#13;\n  margin-left: auto;&amp;#13;\n}&amp;#13;\n.x-pisn-sp-procflow-lite__stage:last-of-type {&amp;#13;\n  padding-right: 10px;&amp;#13;\n  margin-right: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-current-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-past-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-future-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-lite&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Process Flow Lite&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.show_arrow = input.show_arrow || options.show_arrow || false;\n  data.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n  data.is_valid = false;\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 16:50:24&lt;/sys_created_on&gt;&lt;sys_id&gt;bb6b8a4edb439b0085895845dc961917&lt;/sys_id&gt;&lt;sys_mod_count&gt;114&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Lite&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_bb6b8a4edb439b0085895845dc961917&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-24 16:34:39&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-lite\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow-lite__container list-unstyled\" \n      ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-lite__stage x-pisn-sp-procflow-lite__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"&gt;\n      &lt;i ng-if=\"$index&gt;0\" class=\"fa fa-angle-right x-pisn-sp-procflow-lite__breadcrumb\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;span class=\"x-pisn-sp-procflow-lite__label\"&gt;{{::stage.label}}&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1370446466</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c9110000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Lite</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_d4240609dbd71b405c025a6adc961906</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>d4240609dbd71b405c025a6adc961906</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_d4240609dbd71b405c025a6adc961906</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7880000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_2a8465bfdb0cf300efd54a92ba96191c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_procflow_page</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:44:04</sys_created_on><sys_id>2a8465bfdb0cf300efd54a92ba96191c</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_pisn_sp_procflow_page</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_page_2a8465bfdb0cf300efd54a92ba96191c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-15 16:44:01</sys_updated_on><title>Process Flow Demo Page</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=2a8465bfdb0cf300efd54a92ba96191c\"/></record_update>]]></payload>\n<payload_hash>169315731</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f196358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8580000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_procflow_page</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_357a9484db6f9f405c025a6adc9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>357a9484db6f9f405c025a6adc9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_357a9484db6f9f405c025a6adc9619a2</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f196358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7db0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9605e9bfdb0cf300efd54a92ba9619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">35e4e9bfdb0cf300efd54a92ba9619d1</sp_column><sp_widget display_value=\"Process Flow\">3c62d1abdb5c934085895845dc96191b</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:57</sys_created_on><sys_id>9605e9bfdb0cf300efd54a92ba9619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_9605e9bfdb0cf300efd54a92ba9619ea</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9605e9bfdb0cf300efd54a92ba9619ea\"/></record_update>]]></payload>\n<payload_hash>-2009667409</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8160000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_20bd784bdbdb1f405c025a6adc961989</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>20bd784bdbdb1f405c025a6adc961989</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_20bd784bdbdb1f405c025a6adc961989</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7a70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_f57a9484db6f9f405c025a6adc9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>f57a9484db6f9f405c025a6adc9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_f57a9484db6f9f405c025a6adc9619a0</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7cf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_502467addb98bb00d033df8b4b9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 3</name><order>3</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:36</sys_created_on><sys_id>502467addb98bb00d033df8b4b9619f9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Process Flow Demo Page - Container 3</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_502467addb98bb00d033df8b4b9619f9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:09:48</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1681384593</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8e70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 3</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a93f9dc2db503f00d033df8b4b961916</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.container1 {&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.container2 {&amp;#13;\n  display: inline-flex;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-host-sample&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) { \n\n }]]&gt;&lt;/link&gt;&lt;name&gt;Process Flow Host Sample&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-popup', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-21 13:06:50&lt;/sys_created_on&gt;&lt;sys_id&gt;a93f9dc2db503f00d033df8b4b961916&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Host Sample&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a93f9dc2db503f00d033df8b4b961916&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-21 13:09:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-host-sample\"&gt;\n  &lt;div class=\"container1\"&gt;\n    &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras molestie, elit at euismod faucibus, quam metus maximus enim, at pharetra felis mauris pellentesque ipsum. Etiam vel nunc sit amet enim euismod accumsan eget id sem. Aliquam erat volutpat. Nunc suscipit feugiat ultrices. Suspendisse accumsan cursus ipsum. Nulla euismod, nibh et ultrices pulvinar, quam neque congue erat, sit amet dignissim dui metus non massa. Sed magna risus, luctus vitae facilisis a, pellentesque vel nibh. Vivamus vel sagittis nisl. Pellentesque suscipit ante dui, ut gravida sapien luctus porta. Aliquam scelerisque venenatis nulla, faucibus malesuada magna accumsan at. Nam ut augue condimentum, placerat purus sit amet, rutrum enim. Nulla placerat dictum ligula ac ultrices. Aenean sapien ipsum, ultrices et lobortis ac, feugiat vitae lectus. State: \n      &lt;span class=\"container2\"&gt;&lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;&lt;/span&gt;\n    &lt;/p&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1113922650</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8890000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Host Sample</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_bd7a9484db6f9f405c025a6adc96199f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>bd7a9484db6f9f405c025a6adc96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_bd7a9484db6f9f405c025a6adc96199f</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7d60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_72e42933db4cf300efd54a92ba96198f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"3\">b6e42933db4cf300efd54a92ba96198d</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:26</sys_created_on><sys_id>72e42933db4cf300efd54a92ba96198f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP - Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP - Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_72e42933db4cf300efd54a92ba96198f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:26</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1700401138</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c83e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f1e4e9bfdb0cf300efd54a92ba9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:22</sys_created_on><sys_id>f1e4e9bfdb0cf300efd54a92ba9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_f1e4e9bfdb0cf300efd54a92ba9619cf</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:22</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-745067303</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7f40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_98240609dbd71b405c025a6adc961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>98240609dbd71b405c025a6adc961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_98240609dbd71b405c025a6adc961904</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7760000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-proc-flow/widget/pe-proc-flow.u-body-html-template.html",
    "content": "<div class=\"x-pisn-sp-procflow-flow m-b\" ng-class=\"{'x-pisn-sp-procflow-flow-hide': c.options.only_desktop}\">\n  <ol class=\"x-pisn-sp-procflow__container list-unstyled\" ng-if=\"c.showProcessFlow()\">\n    <li class=\"x-pisn-sp-procflow-flow__stage x-pisn-sp-procflow-flow__stage--{{stage.state}}\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"\n      ng-class=\"{ 'x-pisn-sp-procflow-flow__stage--has-icon': c.hasIcon(stage) }\">\n      <span class=\"x-pisn-sp-procflow-flow__label\">{{::stage.label}}</span>\n      <span class=\"x-pisn-sp-procflow-flow__icon fa {{::c.getIcon(stage)}}\" ng-if=\"c.hasIcon(stage)\"></span>\n    </li>\n  </ol>\n</div>\n"
  },
  {
    "path": "src/pe-proc-flow/widget/pe-proc-flow.u-client-script.js",
    "content": "function PIProcessFlowController(spUtil, $scope) {\n  var c = this;\n\n  c.hasIcon = function (stage) {\n    return c.options.show_icons && c.getIcon(stage);\n  };\n\n  c.getIcon = function (stage) {\n    if (stage.state == 'past') {\n      return 'fa-check';\n    }\n    return;\n  };\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow && c.data.process_flow.stages.length > 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n}\n"
  },
  {
    "path": "src/pe-proc-flow/widget/pe-proc-flow.u-css.scss",
    "content": "// Default Colors\n$x-pisn-sp-procflow-color: $text-default !default;\n$x-pisn-sp-procflow-bg: darken($body-bg, 5%) !default;\n\n// \"Current Stage\" Colors\n$x-pisn-sp-procflow-current-bg: $brand-primary !default;\n$x-pisn-sp-procflow-current-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;\n\n// \"Past Stage\" Colors\n$x-pisn-sp-procflow-past-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;\n$x-pisn-sp-procflow-past-bg: lighten($x-pisn-sp-procflow-current-bg, 20%) !default;\n\n// \"Future Stage\" Colors\n$x-pisn-sp-procflow-future-color: lighten($x-pisn-sp-procflow-color, 10%) !default;\n$x-pisn-sp-procflow-future-bg: $x-pisn-sp-procflow-bg !default;\n\n// Color of border between Flow Stages\n$x-pisn-sp-procflow-border-color: $body-bg !default;\n\n$x-pisn-sp-procflow-tranistion-time: 0.5s !default;\n\n// Sizing\n$x-pisn-sp-procflow-border-radius: $border-radius-base !default;\n$x-pisn-sp-procflow-height: 44px !default;\n$x-pisn-sp-procflow-font-size: $font-size-small !default;\n$x-pisn-sp-procflow-chevron-height: $x-pisn-sp-procflow-height / 2 !default;\n$x-pisn-sp-procflow-chevron-width: 16px !default;\n\n@media (max-width: 768px) {\n  .x-pisn-sp-procflow-flow-hide {\n    display: none;\n  }\n}\n\n.x-pisn-sp-procflow__container {\n  display: flex;\n  align-items: stretch;\n  width: 100%;\n  border-radius: $border-radius-base;\n  font-size: $x-pisn-sp-procflow-font-size;\n  overflow: hidden;\n  overflow-x: auto;\n  margin-bottom: 0px;\n}\n\n.x-pisn-sp-procflow-flow__stage {\n  position: relative;\n  display: flex;\n  flex: 1 1;\n  background: $x-pisn-sp-procflow-bg;\n  color: $x-pisn-sp-procflow-color;\n  justify-content: center;\n  align-items: center;\n  padding-left: 1ex;\n  padding-right: 1ex;\n  height: $x-pisn-sp-procflow-height;\n  transition: background-color $x-pisn-sp-procflow-tranistion-time, color $x-pisn-sp-procflow-tranistion-time;\n\n  &::before {\n    position: absolute;\n    display: block;\n    border: $x-pisn-sp-procflow-chevron-height solid $x-pisn-sp-procflow-bg;\n    border-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-border-color;\n    border-right: 0;\n    top: -2px;\n    bottom: -2px;\n    z-index: 9;\n    content: '';\n    left: -($x-pisn-sp-procflow-chevron-width / 2);\n\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;\n  }\n\n  &::after {\n    position: absolute;\n    display: block;\n    border: $x-pisn-sp-procflow-chevron-height solid transparent;\n    border-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-bg;\n    border-right: 0;\n    top: -2px;\n    bottom: -2px;\n    z-index: 10;\n    content: '';\n    right: -($x-pisn-sp-procflow-chevron-width / 2) + 1px;\n\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;\n  }\n}\n\n.x-pisn-sp-procflow-flow__stage:first-of-type {\n  border-top-left-radius: $x-pisn-sp-procflow-border-radius;\n  border-bottom-left-radius: $x-pisn-sp-procflow-border-radius;\n\n  &::before {\n    display: none;\n  }\n}\n\n.x-pisn-sp-procflow-flow__stage:last-of-type {\n  border-top-right-radius: $x-pisn-sp-procflow-border-radius;\n  border-bottom-right-radius: $x-pisn-sp-procflow-border-radius;\n\n  &::after {\n    display: none;\n  }\n}\n\n.x-pisn-sp-procflow-flow__stage--current {\n  color: $x-pisn-sp-procflow-current-color;\n  background-color: $x-pisn-sp-procflow-current-bg;\n\n  &:after {\n    border-left-color: $x-pisn-sp-procflow-current-bg;\n  }\n\n  &:before {\n    border-color: $x-pisn-sp-procflow-current-bg;\n    border-left-color: $x-pisn-sp-procflow-border-color;\n  }\n}\n\n.x-pisn-sp-procflow-flow__stage--past {\n  color: $x-pisn-sp-procflow-past-color;\n  background-color: $x-pisn-sp-procflow-past-bg;\n\n  &:before {\n    border-color: $x-pisn-sp-procflow-past-bg;\n    border-left-color: $x-pisn-sp-procflow-border-color;\n  }\n\n  &:after {\n    border-left-color: $x-pisn-sp-procflow-past-bg;\n  }\n}\n\n.x-pisn-sp-procflow-flow__stage--future {\n  color: $x-pisn-sp-procflow-future-color;\n  background-color: $x-pisn-sp-procflow-future-bg;\n}\n\n.x-pisn-sp-procflow-flow__label {\n  margin-left: calc($x-pisn-sp-procflow-chevron-width - 5px);\n  margin-right: $x-pisn-sp-procflow-chevron-width;\n}\n\n.x-pisn-sp-procflow-flow__stage--has-icon {\n  .x-pisn-sp-procflow-flow__label {\n    padding-right: $x-pisn-sp-procflow-font-size;\n  }\n}\n\n.x-pisn-sp-procflow-flow__icon {\n  position: absolute;\n  right: $x-pisn-sp-procflow-font-size;\n}\n"
  },
  {
    "path": "src/pe-proc-flow/widget/pe-proc-flow.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"table\",\n    \"section\": \"other\",\n    \"default_value\": \"\",\n    \"label\": \"Table\",\n    \"type\": \"string\"\n  },\n  {\n    \"hint\": \"Sys ID of the Task record\",\n    \"name\": \"sys_id\",\n    \"section\": \"other\",\n    \"default_value\": \"\",\n    \"label\": \"Sys ID\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"show_icons\",\n    \"section\": \"other\",\n    \"default_value\": \"true\",\n    \"label\": \"Show icons\",\n    \"type\": \"boolean\"\n  },\n  {\n    \"name\": \"only_desktop\",\n    \"section\": \"other\",\n    \"default_value\": \"false\",\n    \"label\": \"Only Desktop\",\n    \"type\": \"boolean\"\n  }\n]\n"
  },
  {
    "path": "src/pe-proc-flow/widget/pe-proc-flow.u-server-script.js",
    "content": "(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.is_valid = false;\n\n  options.only_desktop = options.only_desktop == true || options.only_desktop == 'true';\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();\n"
  },
  {
    "path": "src/pe-proc-flow-lite/README.md",
    "content": "# Proc Flow Lite\n\n## Description\n\nThe Proc Flow Lite widget allows you to render the equivalent of a Process Flow Formatter on a Service Portal Page, helping the user to understand what stage a task is currently at in its end-to-end life cycle.\n\n## Screenshot\n\n![Proc Flow Lite](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-proc-flow-lite/images/pe-proc-flow-lite.png)\n\n## Additional Information/Notes\n\nIt uses the SpUtil Watch functionality to update the state in real time.\n\n## Installation\n\nDownload and install update set **[pe-proc-flow-lite.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-proc-flow-lite/pe-proc-flow-lite.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nThe widget requires in input (through URL parameter or input object if embedded) the following parameters:\n\n- table: table containing the record\n- sys_id: sys_id of the the record\n\n## Platform Dependencies\n\nThe record needs to have state flows defined. If not provided out of the box for that table, then the user can easily add or customise them from the State Flows functionality within the platform.\n\nYou can read more about state flows on [Docs](https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/administer/state-flows/concept/c_StateFlows.html)\n\n### SN System Tables\n\nYou can use the Proc Flow Lite widget with any record in a table that uses states (tables derived from Task).\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n// Default Colors\n$x-pisn-sp-procflow-lite-color: $text-color !default;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;\n// \"Current Stage\" Colors\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;\n// \"Past Stage\" Colors\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;\n// \"Future Stage\" Colors\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;\n// Color of separator between Flow Stages\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;\n// Sizing\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;\n$x-pisn-sp-procflow-lite-border-radius: 15px;\n```\n"
  },
  {
    "path": "src/pe-proc-flow-lite/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Proc Flow Lite\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Fabio Petito\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-proc-flow-lite\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"The Proc Flow Lite widget allows you to render the equivalent of a Process Flow Formatter on a Service Portal Page, helping the user to understand what stage a task is currently at in its end-to-end life cycle.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-proc-flow-lite/pe-proc-flow-lite.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-24 17:22:54\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<application_name>SP Process Flow</application_name>\n<application_scope>x_pisn_sp_procflow</application_scope>\n<application_version>0.4.1</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Renders a \"Process Flow\" in a Service Portal Widget</description>\n<inserted/>\n<name>SP Process Flow</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>fd86b94fdbdcff00d033df8b4b9619c9</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_f2106906db503f00d033df8b4b961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"2\">35efd506db503f00d033df8b4b9619db</sp_column><sp_widget display_value=\"Process Flow Host Sample\">a93f9dc2db503f00d033df8b4b961916</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:10:44</sys_created_on><sys_id>f2106906db503f00d033df8b4b961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_f2106906db503f00d033df8b4b961981</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:10:44</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f2106906db503f00d033df8b4b961981\"/></record_update>]]></payload>\n<payload_hash>1802789791</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8a30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_31478edfdb975f405c025a6adc961956</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>31478edfdb975f405c025a6adc961956</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_31478edfdb975f405c025a6adc961956</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7bb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_b7259dabdbd493405c025a6adc96197c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_sp_procflow.ProcessFlow&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;ProcessFlow&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var ProcessFlow = Class.create();\nProcessFlow.prototype = {\n    initialize: function(taskGR) {\n\t\tthis.taskGR = taskGR;\n    },\n\t\n\tloadStagesForTask: function(taskGR) {\n\t\ttaskGR = taskGR || this.taskGR;\n\t\tvar stages = [];\n\t\t\n\t\tvar processFlowGR = this.getProcessFlowGR(taskGR);\n\t\t\n\t\tvar foundCurrent = false;\n\t\t\n\t\twhile (processFlowGR.next()) {\n\t\t\tvar stageData = {\n\t\t\t\tsys_id: processFlowGR.getUniqueValue(),\n\t\t\t\tvalue: processFlowGR.name.toString(),\n\t\t\t\tlabel: processFlowGR.label.getDisplayValue(),\n\t\t\t\tdescription: processFlowGR.description.getDisplayValue()\n\t\t\t};\n\t\t\t\n\t\t\tvar isCurrent = GlideFilter.checkRecord(taskGR, processFlowGR.condition.toString());\n\t\t\t\n\t\t\tif (isCurrent) {\n\t\t\t\tstageData.state = 'current';\n\t\t\t\tfoundCurrent = true;\n\t\t\t} else if (foundCurrent) {\n\t\t\t\tstageData.state = 'future';\n\t\t\t} else {\n\t\t\t\tstageData.state = 'past';\n\t\t\t}\n\t\t\t\n\t\t\tstages.push(stageData);\n\t\t}\n\t\t\n\t\t// If we never saw a \"current\" stage, all stages will be marked as \"past\", in this case, go and flip them all to \"future\"\n\t\tvar numberOfPastStages = stages.filter(function(stage) { return stage.state == 'past'; }).length;\n\t\tvar areAllInPast = stages.length == numberOfPastStages;\n\t\t\n\t\tif (areAllInPast) {\n\t\t\tstages = stages.map(function(stage) {\n\t\t\t\tstage.state = 'future';\n\t\t\t\treturn stage;\n\t\t\t});\n\t\t}\n\t\t\n\t\treturn stages;\n\t},\n\t\n\tgetProcessFlowGR: function(taskGR) {\n\t\tvar processFlowGR = new GlideRecord('sys_process_flow');\n\t\tprocessFlowGR.addQuery('table', taskGR.getRecordClassName());\n\t\tprocessFlowGR.addQuery('active', true);\n\t\tprocessFlowGR.orderBy('order');\n\t\tprocessFlowGR.query();\n\t\t\n\t\treturn processFlowGR;\n\t},\n\t\n\ttoObject: function() {\n\t\treturn {\n\t\t\ttable: this.taskGR.getRecordClassName(),\n\t\t\tsys_id: this.taskGR.getUniqueValue(),\n\t\t\tstages: this.loadStagesForTask()\n\t\t};\n\t},\n\n    type: 'ProcessFlow'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.hann&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-21 13:58:18&lt;/sys_created_on&gt;&lt;sys_id&gt;b7259dabdbd493405c025a6adc96197c&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;ProcessFlow&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_b7259dabdbd493405c025a6adc96197c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.hann&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-22 11:17:14&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-20769302</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619cc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7530000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>ProcessFlow</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4210e506db503f00d033df8b4b9619e4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">f5efd506db503f00d033df8b4b9619d9</sp_column><sp_widget display_value=\"Process Flow Host Sample\">a93f9dc2db503f00d033df8b4b961916</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:10:42</sys_created_on><sys_id>4210e506db503f00d033df8b4b9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_4210e506db503f00d033df8b4b9619e4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:10:42</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4210e506db503f00d033df8b4b9619e4\"/></record_update>]]></payload>\n<payload_hash>-350537540</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8940000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_ac2251abdb5c934085895845dc9619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Process Flow</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking/><scope>x_pisn_sp_procflow</scope><scoped_administration>false</scoped_administration><short_description>Renders a \"Process Flow\" in a Service Portal Widget</short_description><source>x_pisn_sp_procflow</source><store_correlation_id>REPOAPP0000001284</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>chris.hann</sys_created_by><sys_created_on>2018-02-21 11:38:18</sys_created_on><sys_id>ac2251abdb5c934085895845dc9619fe</sys_id><sys_mod_count>40</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-24 17:21:01</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>0.4.1</version></sys_app></record_update>]]></payload>\n<payload_hash>-348340691</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7360000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>SP Process Flow</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_f1478edfdb975f405c025a6adc961954</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>f1478edfdb975f405c025a6adc961954</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_f1478edfdb975f405c025a6adc961954</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7c80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_f5efd506db503f00d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f5efd506db503f00d033df8b4b9619d7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>f5efd506db503f00d033df8b4b9619d9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_f5efd506db503f00d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:57</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1061047320</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8b80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4e74afaddb98bb00d033df8b4b961922</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowPopupController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {\n    c.show = false;\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-lite-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-lite-border-radius: 15px;&amp;#13;\n&amp;#13;\n//starter&amp;#13;\n$x-pisn-sp-procflow-lite-starter: $brand-primary !default;&amp;#13;\n$x-pisn-sp-procflow-lite-starter-size: 20px !default;&amp;#13;\n$x-pisn-sp-procflow-lite-starter-bg: $body-bg !default;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-starter {&amp;#13;\n  border: 1px solid $x-pisn-sp-procflow-lite-starter;&amp;#13;\n  height: $x-pisn-sp-procflow-lite-starter-size;&amp;#13;\n  border-radius: 50%;&amp;#13;\n  -moz-border-radius:50%;&amp;#13;\n  -webkit-border-radius: 50%;&amp;#13;\n  width: $x-pisn-sp-procflow-lite-starter-size;&amp;#13;\n  display: flex;&amp;#13;\n  align-items: center;&amp;#13;\n  justify-content: center;&amp;#13;\n  position: relative;&amp;#13;\n  .fa { color: $x-pisn-sp-procflow-lite-starter;}&amp;#13;\n  .fa-sort-desc {&amp;#13;\n    position: absolute;&amp;#13;\n    bottom: 17px;&amp;#13;\n  }&amp;#13;\n  .fa-times-inverse {&amp;#13;\n    color: $x-pisn-sp-procflow-lite-starter-bg;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-starter--inverse-bg {&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-starter;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.light {&amp;#13;\n  -webkit-text-stroke: 0.5px $x-pisn-sp-procflow-lite-starter-bg;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.light-inverse-1 {&amp;#13;\n  -webkit-text-stroke: 1px $x-pisn-sp-procflow-lite-starter;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-container {&amp;#13;\n  position: absolute;&amp;#13;\n  bottom: 17px;&amp;#13;\n  left: 0%;&amp;#13;\n  right: 0%;&amp;#13;\n  z-index: 1;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* Toggle this class - hide and show the popup */&amp;#13;\n.x-pisn-sp-procflow__show {&amp;#13;\n  visibility: visible;&amp;#13;\n  -webkit-animation: fadeIn 0.5s;&amp;#13;\n  animation: fadeIn 0.5s;&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow__hide {&amp;#13;\n  visibility: hidden;&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__container {&amp;#13;\n  display: flex !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* Add animation (fade in the popup) */&amp;#13;\n@-webkit-keyframes fadeIn {&amp;#13;\n  from {opacity: 0;} &amp;#13;\n  to {opacity: 1;}&amp;#13;\n}&amp;#13;\n&amp;#13;\n@keyframes fadeIn {&amp;#13;\n  from {opacity: 0;}&amp;#13;\n  to {opacity:1 ;}&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-popup&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Process Flow Popup&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-lite', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-20 09:32:05&lt;/sys_created_on&gt;&lt;sys_id&gt;4e74afaddb98bb00d033df8b4b961922&lt;/sys_id&gt;&lt;sys_mod_count&gt;55&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Popup&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4e74afaddb98bb00d033df8b4b961922&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-24 16:47:08&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;span class=\"x-pisn-sp-procflow-popup-starter\" ng-click=\"c.show = !c.show;\" ng-class=\"{'x-pisn-sp-procflow-popup-starter--inverse-bg': c.show}\"&gt;\n  &lt;i class=\"fa fa-ellipsis-h light\" aria-hidden=\"true\" ng-show=\"!c.show\"&gt;&lt;/i&gt;\n  &lt;i class=\"fa fa-times fa-times-inverse light-inverse-1\" aria-hidden=\"true\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;&lt;/i&gt;\n  &lt;i class=\"fa fa-sort-desc fa-2x\" aria-hidden=\"true\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;&lt;/i&gt;\n&lt;/span&gt;\n&lt;div class=\"x-pisn-sp-procflow-popup-container\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;\n  &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-206519893</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c9200000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Popup</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_b9478edfdb975f405c025a6adc961953</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>b9478edfdb975f405c025a6adc961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_b9478edfdb975f405c025a6adc961953</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7c10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_6527adb3db4cf300efd54a92ba96194b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"2\">ed27adb3db4cf300efd54a92ba961947</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>6527adb3db4cf300efd54a92ba96194b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_6527adb3db4cf300efd54a92ba96194b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>947498180</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c81d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_ed27adb3db4cf300efd54a92ba961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>ed27adb3db4cf300efd54a92ba961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_ed27adb3db4cf300efd54a92ba961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>753394651</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8240000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_6cbd784bdbdb1f405c025a6adc961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>6cbd784bdbdb1f405c025a6adc961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_6cbd784bdbdb1f405c025a6adc961986</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7a20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_fcef1906db503f00d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 2</name><order>2</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:48</sys_created_on><sys_id>fcef1906db503f00d033df8b4b9619d9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Process Flow Demo Page - Container 2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_fcef1906db503f00d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:33</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1750137340</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8aa0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 2</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_df11e769db98bb00d033df8b4b961914</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"DELETE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowCtrl(spUtil, $scope) {\n  var c = this;\n\n\tc.$onInit = function() {\n    };\n\t\n\tc.showProcessFlow = function() {\n\t\treturn c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n\t};\n\t\n\tif(c.data.table)\n\tspUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function() {\n\t\tspUtil.update($scope);\n\t});\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-popup-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-popup-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-current-color: lighten($x-pisn-sp-procflow-popup-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-past-color: lighten($x-pisn-sp-procflow-popup-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-future-color: lighten($x-pisn-sp-procflow-popup-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-popup-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-popup-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-popup-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-popup-border-radius: 15px;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__breadcrumb {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-separator-color;&amp;#13;\n  margin-right: 8px;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__container {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  justify-content: center;&amp;#13;\n  border-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  font-size: $x-pisn-sp-procflow-popup-font-size;&amp;#13;\n  letter-spacing: -0.2px;&amp;#13;\n  overflow: hidden;&amp;#13;\n  background-color: $x-pisn-sp-procflow-popup-bg;&amp;#13;\n  z-index: 10;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage {&amp;#13;\n  position: relative;&amp;#13;\n  display: flex;&amp;#13;\n  background-color: $x-pisn-sp-procflow-popup-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-popup-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-popup-height;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage:first-of-type {&amp;#13;\n  border-top-left-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  border-bottom-left-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  padding-left: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage:last-of-type {&amp;#13;\n  border-top-right-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  border-bottom-right-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-current-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-past-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-future-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__arrow-down {&amp;#13;\n    position: absolute;&amp;#13;\n    bottom: 0px;&amp;#13;\n    left: 0px;&amp;#13;\n    z-index: 2;&amp;#13;\n    width: 0;&amp;#13;\n    height: 0;&amp;#13;\n    border-left: 7px solid transparent;&amp;#13;\n    border-right: 7px solid transparent;&amp;#13;\n    border-top: 6px solid $x-pisn-sp-procflow-popup-bg;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Copy of Process Flow Popup&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tinput = input || {};\n    data.table = input.table || options.table || $sp.getParameter('table');\n\tdata.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n\tdata.show_arrow = input.show_arrow || options.show_arrow || false;\n\tdata.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n\tdata.is_valid = false;\n\t\n\tif (!data.table)\n\t\treturn;\n\t\n\tvar taskGR = new GlideRecord(data.table);\n\tif (!taskGR.get(data.sys_id))\n\t\treturn;\n\t\n\tdata.is_valid = true; \n\tdata.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-20 09:17:25&lt;/sys_created_on&gt;&lt;sys_id&gt;df11e769db98bb00d033df8b4b961914&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Copy of Process Flow Popup&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_df11e769db98bb00d033df8b4b961914&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-20 09:17:25&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-popup\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow-popup__container list-unstyled\" \n      ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-popup__stage x-pisn-sp-procflow-popup__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"&gt;\n      &lt;i ng-if=\"$index&gt;0\" class=\"fa fa-angle-right x-pisn-sp-procflow-popup__breadcrumb\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;span class=\"x-pisn-sp-procflow-popup__label\"&gt;{{::stage.label}}&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;\n&lt;span ng-show=\"data.show_arrow\" class=\"x-pisn-sp-procflow-popup__arrow-down\"&gt;&lt;/span&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1718156038</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c87f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Copy of Process Flow Popup</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_e0bd784bdbdb1f405c025a6adc961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>e0bd784bdbdb1f405c025a6adc961987</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_e0bd784bdbdb1f405c025a6adc961987</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7b30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_e927adb3db4cf300efd54a92ba961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"2\">ed27adb3db4cf300efd54a92ba961947</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>e927adb3db4cf300efd54a92ba961949</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_e927adb3db4cf300efd54a92ba961949</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-18 12:17:37</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1048100167</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8730000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3c62d1abdb5c934085895845dc96191b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowController(spUtil, $scope) {\n  var c = this;\n\n  c.hasIcon = function (stage) {\n    return c.options.show_icons &amp;&amp; c.getIcon(stage);\n  };\n\n  c.getIcon = function (stage) {\n    if (stage.state == 'past') {\n      return 'fa-check';\n    }\n    return;\n  };\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-color: $text-default !default;&amp;#13;\n$x-pisn-sp-procflow-bg: darken($body-bg, 5%) !default;&amp;#13;\n&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-current-bg: $brand-primary !default;&amp;#13;\n$x-pisn-sp-procflow-current-color:  lighten($x-pisn-sp-procflow-current-bg, 45%) !default;&amp;#13;\n&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-past-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;&amp;#13;\n$x-pisn-sp-procflow-past-bg: lighten($x-pisn-sp-procflow-current-bg, 20%) !default;&amp;#13;\n&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-future-color: lighten($x-pisn-sp-procflow-color, 10%) !default;&amp;#13;\n$x-pisn-sp-procflow-future-bg: $x-pisn-sp-procflow-bg !default;&amp;#13;\n&amp;#13;\n// Color of border between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-border-color: $body-bg !default;&amp;#13;\n&amp;#13;\n$x-pisn-sp-procflow-tranistion-time: 0.5s !default;&amp;#13;\n&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-border-radius: $border-radius-base !default;&amp;#13;\n$x-pisn-sp-procflow-height: 44px !default;&amp;#13;\n$x-pisn-sp-procflow-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-chevron-height: $x-pisn-sp-procflow-height / 2 !default;&amp;#13;\n$x-pisn-sp-procflow-chevron-width: 16px !default;&amp;#13;\n&amp;#13;\n@media (max-width: 768px) {&amp;#13;\n  .x-pisn-sp-procflow-flow-hide {&amp;#13;\n  \tdisplay: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow__container {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  width: 100%;&amp;#13;\n  border-radius: $border-radius-base;&amp;#13;\n  font-size: $x-pisn-sp-procflow-font-size;&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n  margin-bottom: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage {&amp;#13;\n  position: relative;&amp;#13;\n  display: flex;&amp;#13;\n  flex: 1 1;&amp;#13;\n  background: $x-pisn-sp-procflow-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-height;&amp;#13;\n  transition: background-color $x-pisn-sp-procflow-tranistion-time, color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  &amp;#13;\n  &amp;amp;::before {&amp;#13;\n    position: absolute;&amp;#13;\n  \tdisplay: block;&amp;#13;\n  \tborder: $x-pisn-sp-procflow-chevron-height solid $x-pisn-sp-procflow-bg;&amp;#13;\n  \tborder-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-border-color;&amp;#13;\n  \tborder-right: 0;&amp;#13;\n  \ttop: -2px;&amp;#13;\n    bottom: -2px;&amp;#13;\n  \tz-index: 9;&amp;#13;\n  \tcontent: '';&amp;#13;\n    left: -($x-pisn-sp-procflow-chevron-width / 2);&amp;#13;\n    &amp;#13;\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;::after {&amp;#13;\n    position: absolute;&amp;#13;\n  \tdisplay: block;&amp;#13;\n  \tborder: $x-pisn-sp-procflow-chevron-height solid transparent;&amp;#13;\n  \tborder-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-bg;&amp;#13;\n  \tborder-right: 0;&amp;#13;\n  \ttop: -2px;&amp;#13;\n    bottom: -2px;&amp;#13;\n  \tz-index: 10;&amp;#13;\n  \tcontent: '';&amp;#13;\n    right: -($x-pisn-sp-procflow-chevron-width / 2) + 1px;&amp;#13;\n    &amp;#13;\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage:first-of-type {&amp;#13;\n  border-top-left-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n  border-bottom-left-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n&amp;#13;\n  &amp;amp;::before {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage:last-of-type {&amp;#13;\n  border-top-right-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n  border-bottom-right-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n&amp;#13;\n  &amp;amp;::after {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-current-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n  &amp;#13;\n  &amp;amp;:after {&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;:before {&amp;#13;\n    border-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-border-color;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-past-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n  &amp;#13;\n  &amp;amp;:before {&amp;#13;\n    border-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-border-color;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;:after {&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-future-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-future-bg;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__label {&amp;#13;\n  margin-left: calc($x-pisn-sp-procflow-chevron-width - 5px);&amp;#13;\n  margin-right: $x-pisn-sp-procflow-chevron-width;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--has-icon {&amp;#13;\n  .x-pisn-sp-procflow-flow__label {&amp;#13;\n    padding-right: $x-pisn-sp-procflow-font-size;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__icon  {&amp;#13;\n  position: absolute;&amp;#13;\n  right: $x-pisn-sp-procflow-font-size;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-chevrons&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Process Flow&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"},{\"name\":\"only_desktop\",\"section\":\"other\",\"default_value\":\"false\",\"label\":\"Only Desktop\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.is_valid = false;\n\n  options.only_desktop = options.only_desktop == true || options.only_desktop == 'true';\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.hann&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-21 11:39:23&lt;/sys_created_on&gt;&lt;sys_id&gt;3c62d1abdb5c934085895845dc96191b&lt;/sys_id&gt;&lt;sys_mod_count&gt;356&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3c62d1abdb5c934085895845dc96191b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-22 15:54:54&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-flow m-b\" ng-class=\"{'x-pisn-sp-procflow-flow-hide': c.options.only_desktop}\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow__container list-unstyled\" ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-flow__stage x-pisn-sp-procflow-flow__stage--{{stage.state}}\" ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"\n      ng-class=\"{ 'x-pisn-sp-procflow-flow__stage--has-icon': c.hasIcon(stage) }\"&gt;\n      &lt;span class=\"x-pisn-sp-procflow-flow__label\"&gt;{{::stage.label}}&lt;/span&gt;\n      &lt;span class=\"x-pisn-sp-procflow-flow__icon fa {{::c.getIcon(stage)}}\" ng-if=\"c.hasIcon(stage)\"&gt;&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-617579657</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8fd0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_b67aeedadb17db405c025a6adc9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>b67aeedadb17db405c025a6adc9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_b67aeedadb17db405c025a6adc9619a8</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c78f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_392467addb98bb00d033df8b4b961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">292467addb98bb00d033df8b4b961943</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>392467addb98bb00d033df8b4b961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_392467addb98bb00d033df8b4b961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:42</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>996925683</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8dc0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_b6e42933db4cf300efd54a92ba96198d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>3</order><sp_column/><sp_container display_value=\"Process Flow - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:26</sys_created_on><sys_id>b6e42933db4cf300efd54a92ba96198d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>3</sys_name><sys_package display_value=\"SP - Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP - Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_b6e42933db4cf300efd54a92ba96198d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1292666134</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c84d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>3</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_50240609dbd71b405c025a6adc961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>50240609dbd71b405c025a6adc961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_50240609dbd71b405c025a6adc961904</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7810000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_35e4e9bfdb0cf300efd54a92ba9619d1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f1e4e9bfdb0cf300efd54a92ba9619cf</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:22</sys_created_on><sys_id>35e4e9bfdb0cf300efd54a92ba9619d1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_35e4e9bfdb0cf300efd54a92ba9619d1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:22</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>2011195914</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7eb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_c8d5e321dbd8bb00d033df8b4b961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">792467addb98bb00d033df8b4b961945</sp_column><sp_widget display_value=\"Process Flow Popup\">4e74afaddb98bb00d033df8b4b961922</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:37:57</sys_created_on><sys_id>c8d5e321dbd8bb00d033df8b4b961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_c8d5e321dbd8bb00d033df8b4b961995</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:37:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c8d5e321dbd8bb00d033df8b4b961995\"/></record_update>]]></payload>\n<payload_hash>-731307197</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8c70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_2cf0fb14db9f97405c025a6adc961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:15</sys_created_on><sys_id>2cf0fb14db9f97405c025a6adc961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_2cf0fb14db9f97405c025a6adc961908</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:15</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7660000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_3882b1abdb1893405c025a6adc96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>chris.hann</sys_created_by><sys_created_on>2018-02-21 13:59:45</sys_created_on><sys_id>3882b1abdb1893405c025a6adc96194d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_process_flow</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_scope_privilege_3882b1abdb1893405c025a6adc96194d</sys_update_name><sys_updated_by>chris.hann</sys_updated_by><sys_updated_on>2018-02-21 13:59:45</sys_updated_on><target_name>sys_process_flow</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1138614547</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c74a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>sys_process_flow</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_792467addb98bb00d033df8b4b961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">292467addb98bb00d033df8b4b961943</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>792467addb98bb00d033df8b4b961945</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_792467addb98bb00d033df8b4b961945</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:47</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1145967502</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8cf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f5efd506db503f00d033df8b4b9619d7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 2\">fcef1906db503f00d033df8b4b9619d9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>f5efd506db503f00d033df8b4b9619d7</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_f5efd506db503f00d033df8b4b9619d7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:49</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1121093619</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8b20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_a0f0fb14db9f97405c025a6adc96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:16</sys_created_on><sys_id>a0f0fb14db9f97405c025a6adc96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_a0f0fb14db9f97405c025a6adc96190b</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:16</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c76e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_35efd506db503f00d033df8b4b9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f5efd506db503f00d033df8b4b9619d7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>35efd506db503f00d033df8b4b9619db</sys_id><sys_mod_count>1</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_35efd506db503f00d033df8b4b9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:14:04</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1704647718</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8be0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_292467addb98bb00d033df8b4b961943</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"\">502467addb98bb00d033df8b4b9619f9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>292467addb98bb00d033df8b4b961943</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_292467addb98bb00d033df8b4b961943</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:42</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1950317106</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8ef0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_3e7aeedadb17db405c025a6adc9619aa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>3e7aeedadb17db405c025a6adc9619aa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_3e7aeedadb17db405c025a6adc9619aa</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_c1d6a5b3db4cf300efd54a92ba9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">e927adb3db4cf300efd54a92ba961949</sp_column><sp_widget display_value=\"Process Flow Lite\">bb6b8a4edb439b0085895845dc961917</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:53:47</sys_created_on><sys_id>c1d6a5b3db4cf300efd54a92ba9619db</sys_id><sys_mod_count>1</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_c1d6a5b3db4cf300efd54a92ba9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:13</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c1d6a5b3db4cf300efd54a92ba9619db\"/></record_update>]]></payload>\n<payload_hash>-1104029838</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8310000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_24f0fb14db9f97405c025a6adc961909</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:15</sys_created_on><sys_id>24f0fb14db9f97405c025a6adc961909</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_24f0fb14db9f97405c025a6adc961909</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:15</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c75b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_fe7aeedadb17db405c025a6adc9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>fe7aeedadb17db405c025a6adc9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_fe7aeedadb17db405c025a6adc9619a8</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c79c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_74e4a9bfdb0cf300efd54a92ba9619c4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:18</sys_created_on><sys_id>74e4a9bfdb0cf300efd54a92ba9619c4</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Process Flow Demo Page - Container 1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_74e4a9bfdb0cf300efd54a92ba9619c4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-15 16:44:01</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>951051739</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8650000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_bb6b8a4edb439b0085895845dc961917</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowLiteController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {};\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-lite-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-lite-border-radius: 15px;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-separator-color;&amp;#13;\n  margin-right: 8px;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__container {&amp;#13;\n  display: inline-flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  border-radius: $x-pisn-sp-procflow-lite-border-radius;&amp;#13;\n  font-size: $x-pisn-sp-procflow-lite-font-size;&amp;#13;\n  letter-spacing: -0.2px;&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-bg;&amp;#13;\n  z-index: 10;&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n::-webkit-scrollbar { &amp;#13;\n    display: none; &amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage {&amp;#13;\n  display: flex;&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-lite-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-lite-height;&amp;#13;\n  margin-top: 3px;&amp;#13;\n  margin-bottom: 3px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage:first-of-type {&amp;#13;\n  padding-left: 10px;&amp;#13;\n  margin-left: auto;&amp;#13;\n}&amp;#13;\n.x-pisn-sp-procflow-lite__stage:last-of-type {&amp;#13;\n  padding-right: 10px;&amp;#13;\n  margin-right: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-current-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-past-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-future-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-lite&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Process Flow Lite&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.show_arrow = input.show_arrow || options.show_arrow || false;\n  data.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n  data.is_valid = false;\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 16:50:24&lt;/sys_created_on&gt;&lt;sys_id&gt;bb6b8a4edb439b0085895845dc961917&lt;/sys_id&gt;&lt;sys_mod_count&gt;114&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Lite&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_bb6b8a4edb439b0085895845dc961917&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-24 16:34:39&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-lite\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow-lite__container list-unstyled\" \n      ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-lite__stage x-pisn-sp-procflow-lite__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"&gt;\n      &lt;i ng-if=\"$index&gt;0\" class=\"fa fa-angle-right x-pisn-sp-procflow-lite__breadcrumb\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;span class=\"x-pisn-sp-procflow-lite__label\"&gt;{{::stage.label}}&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1370446466</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c9110000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Lite</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_d4240609dbd71b405c025a6adc961906</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>d4240609dbd71b405c025a6adc961906</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_d4240609dbd71b405c025a6adc961906</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7880000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_2a8465bfdb0cf300efd54a92ba96191c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_procflow_page</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:44:04</sys_created_on><sys_id>2a8465bfdb0cf300efd54a92ba96191c</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_pisn_sp_procflow_page</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_page_2a8465bfdb0cf300efd54a92ba96191c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-15 16:44:01</sys_updated_on><title>Process Flow Demo Page</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=2a8465bfdb0cf300efd54a92ba96191c\"/></record_update>]]></payload>\n<payload_hash>169315731</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f196358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8580000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_procflow_page</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_357a9484db6f9f405c025a6adc9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>357a9484db6f9f405c025a6adc9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_357a9484db6f9f405c025a6adc9619a2</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f196358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7db0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9605e9bfdb0cf300efd54a92ba9619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">35e4e9bfdb0cf300efd54a92ba9619d1</sp_column><sp_widget display_value=\"Process Flow\">3c62d1abdb5c934085895845dc96191b</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:57</sys_created_on><sys_id>9605e9bfdb0cf300efd54a92ba9619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_9605e9bfdb0cf300efd54a92ba9619ea</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9605e9bfdb0cf300efd54a92ba9619ea\"/></record_update>]]></payload>\n<payload_hash>-2009667409</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8160000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_20bd784bdbdb1f405c025a6adc961989</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>20bd784bdbdb1f405c025a6adc961989</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_20bd784bdbdb1f405c025a6adc961989</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7a70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_f57a9484db6f9f405c025a6adc9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>f57a9484db6f9f405c025a6adc9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_f57a9484db6f9f405c025a6adc9619a0</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7cf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_502467addb98bb00d033df8b4b9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 3</name><order>3</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:36</sys_created_on><sys_id>502467addb98bb00d033df8b4b9619f9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Process Flow Demo Page - Container 3</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_502467addb98bb00d033df8b4b9619f9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:09:48</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1681384593</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8e70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 3</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a93f9dc2db503f00d033df8b4b961916</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.container1 {&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.container2 {&amp;#13;\n  display: inline-flex;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-host-sample&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) { \n\n }]]&gt;&lt;/link&gt;&lt;name&gt;Process Flow Host Sample&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-popup', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-21 13:06:50&lt;/sys_created_on&gt;&lt;sys_id&gt;a93f9dc2db503f00d033df8b4b961916&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Host Sample&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a93f9dc2db503f00d033df8b4b961916&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-21 13:09:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-host-sample\"&gt;\n  &lt;div class=\"container1\"&gt;\n    &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras molestie, elit at euismod faucibus, quam metus maximus enim, at pharetra felis mauris pellentesque ipsum. Etiam vel nunc sit amet enim euismod accumsan eget id sem. Aliquam erat volutpat. Nunc suscipit feugiat ultrices. Suspendisse accumsan cursus ipsum. Nulla euismod, nibh et ultrices pulvinar, quam neque congue erat, sit amet dignissim dui metus non massa. Sed magna risus, luctus vitae facilisis a, pellentesque vel nibh. Vivamus vel sagittis nisl. Pellentesque suscipit ante dui, ut gravida sapien luctus porta. Aliquam scelerisque venenatis nulla, faucibus malesuada magna accumsan at. Nam ut augue condimentum, placerat purus sit amet, rutrum enim. Nulla placerat dictum ligula ac ultrices. Aenean sapien ipsum, ultrices et lobortis ac, feugiat vitae lectus. State: \n      &lt;span class=\"container2\"&gt;&lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;&lt;/span&gt;\n    &lt;/p&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1113922650</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8890000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Host Sample</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_bd7a9484db6f9f405c025a6adc96199f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>bd7a9484db6f9f405c025a6adc96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_bd7a9484db6f9f405c025a6adc96199f</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7d60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_72e42933db4cf300efd54a92ba96198f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"3\">b6e42933db4cf300efd54a92ba96198d</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:26</sys_created_on><sys_id>72e42933db4cf300efd54a92ba96198f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP - Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP - Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_72e42933db4cf300efd54a92ba96198f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:26</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1700401138</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c83e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f1e4e9bfdb0cf300efd54a92ba9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:22</sys_created_on><sys_id>f1e4e9bfdb0cf300efd54a92ba9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_f1e4e9bfdb0cf300efd54a92ba9619cf</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:22</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-745067303</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7f40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_98240609dbd71b405c025a6adc961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>98240609dbd71b405c025a6adc961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_98240609dbd71b405c025a6adc961904</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7760000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-proc-flow-lite/widget/pe-proc-flow-lite.u-body-html-template.html",
    "content": "<div class=\"x-pisn-sp-procflow-lite\">\n  <ol class=\"x-pisn-sp-procflow-lite__container list-unstyled\" ng-if=\"c.showProcessFlow()\">\n    <li class=\"x-pisn-sp-procflow-lite__stage x-pisn-sp-procflow-lite__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\">\n      <i ng-if=\"$index>0\" class=\"fa fa-angle-right x-pisn-sp-procflow-lite__breadcrumb\" aria-hidden=\"true\"></i>\n      <span class=\"x-pisn-sp-procflow-lite__label\">{{::stage.label}}</span>\n    </li>\n  </ol>\n</div>\n"
  },
  {
    "path": "src/pe-proc-flow-lite/widget/pe-proc-flow-lite.u-client-script.js",
    "content": "function PIProcessFlowLiteController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {};\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow && c.data.process_flow.stages.length > 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n\n}\n"
  },
  {
    "path": "src/pe-proc-flow-lite/widget/pe-proc-flow-lite.u-css.scss",
    "content": "// Default Colors\n$x-pisn-sp-procflow-lite-color: $text-color !default;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;\n// \"Current Stage\" Colors\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;\n// \"Past Stage\" Colors\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;\n// \"Future Stage\" Colors\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;\n// Color of separator between Flow Stages\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;\n// Sizing\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;\n$x-pisn-sp-procflow-lite-border-radius: 15px;\n\n.x-pisn-sp-procflow-lite__breadcrumb {\n  color: $x-pisn-sp-procflow-lite-separator-color;\n  margin-right: 8px;\n  position: relative;\n}\n\n.x-pisn-sp-procflow-lite__container {\n  display: inline-flex;\n  align-items: stretch;\n  border-radius: $x-pisn-sp-procflow-lite-border-radius;\n  font-size: $x-pisn-sp-procflow-lite-font-size;\n  letter-spacing: -0.2px;\n  background-color: $x-pisn-sp-procflow-lite-bg;\n  z-index: 10;\n  overflow: hidden;\n  overflow-x: auto;\n}\n\n::-webkit-scrollbar {\n  display: none;\n}\n\n.x-pisn-sp-procflow-lite__stage {\n  display: flex;\n  background-color: $x-pisn-sp-procflow-lite-bg;\n  color: $x-pisn-sp-procflow-lite-color;\n  justify-content: center;\n  align-items: center;\n  padding-left: 1ex;\n  padding-right: 1ex;\n  height: $x-pisn-sp-procflow-lite-height;\n  margin-top: 3px;\n  margin-bottom: 3px;\n}\n\n.x-pisn-sp-procflow-lite__stage:first-of-type {\n  padding-left: 10px;\n  margin-left: auto;\n}\n\n.x-pisn-sp-procflow-lite__stage:last-of-type {\n  padding-right: 10px;\n  margin-right: auto;\n}\n\n.x-pisn-sp-procflow-lite__stage--current {\n  color: $x-pisn-sp-procflow-lite-current-color;\n}\n\n.x-pisn-sp-procflow-lite__stage--past {\n  color: $x-pisn-sp-procflow-lite-past-color;\n}\n\n.x-pisn-sp-procflow-lite__stage--future {\n  color: $x-pisn-sp-procflow-lite-future-color;\n}\n"
  },
  {
    "path": "src/pe-proc-flow-lite/widget/pe-proc-flow-lite.u-option-schema.json",
    "content": "[{\n  \"name\": \"table\",\n  \"section\": \"other\",\n  \"default_value\": \"\",\n  \"label\": \"Table\",\n  \"type\": \"string\"\n}, {\n  \"hint\": \"Sys ID of the Task record\",\n  \"name\": \"sys_id\",\n  \"section\": \"other\",\n  \"default_value\": \"\",\n  \"label\": \"Sys ID\",\n  \"type\": \"string\"\n}, {\n  \"name\": \"show_icons\",\n  \"section\": \"other\",\n  \"default_value\": \"true\",\n  \"label\": \"Show icons\",\n  \"type\": \"boolean\"\n}]\n"
  },
  {
    "path": "src/pe-proc-flow-lite/widget/pe-proc-flow-lite.u-server-script.js",
    "content": "(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.show_arrow = input.show_arrow || options.show_arrow || false;\n  data.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n  data.is_valid = false;\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();\n"
  },
  {
    "path": "src/pe-proc-flow-popup/README.md",
    "content": "# Proc Flow Popup\n\n## Description\n\nThe Proc Flow widget allows you to render the equivalent of a Process Flow Formatter on a Service Portal Page, helping the user to understand what stage a task is currently at in its end-to-end life cycle.\n\n## Screenshot\n\n![Proc Flow Popup](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-proc-flow-popup/images/pe-proc-flow-popup-01.png)\n\n![Proc Flow Popup](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-proc-flow-popup/images/pe-proc-flow-popup-02.png)\n\n## Additional Information/Notes\n\nIt uses the SpUtil Watch functionality to update the current state in real time.\n\n## Installation\n\nDownload and install update set **[pe-proc-flow-popup.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-proc-flow-popup/pe-proc-flow-popup.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nThe widget requires in input (through URL parameter or input object if embedded) the following parameters:\n\n- table: table containing the record\n\n- sys_id: sys_id of the the record\n\n## Platform Dependencies\n\nThe record needs to have state flows defined. If not provided out of the box for that table, then the user can easily add or customise them from the State Flows functionality within the platform.\n\nYou can read more about state flows on [Docs](https://docs.servicenow.com/bundle/madrid-servicenow-platform/page/administer/state-flows/concept/c_StateFlows.html)\n\n### SN System Tables\n\nYou can use the Proc Flow Lite widget with any record in a table that uses states (tables derived from Task).\n\n### UI Dependencies\n\nThe widget needs to have available the Proc Flow Lite widget, included in the update-set provided here.\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n// Default Colors\n$x-pisn-sp-procflow-lite-color: $text-color !default;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;\n// \"Current Stage\" Colors\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;\n// \"Past Stage\" Colors\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;\n// \"Future Stage\" Colors\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;\n// Color of separator between Flow Stages\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;\n// Sizing\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;\n$x-pisn-sp-procflow-lite-border-radius: 15px;\n//starter\n$x-pisn-sp-procflow-lite-starter: $brand-primary !default;\n$x-pisn-sp-procflow-lite-starter-size: 20px !default;\n$x-pisn-sp-procflow-lite-starter-bg: $body-bg !default;\n```\n"
  },
  {
    "path": "src/pe-proc-flow-popup/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Proc Flow Popup\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Fabio Petito\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-proc-flow-popup\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"The Proc Flow popup widget allows you to render the equivalent of a Process Flow Formatter on a Service Portal Page, helping the user to understand what stage a task is currently at in its end-to-end life cycle.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-proc-flow-popup/pe-proc-flow-popup.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-24 17:22:54\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<application_name>SP Process Flow</application_name>\n<application_scope>x_pisn_sp_procflow</application_scope>\n<application_version>0.4.1</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Renders a \"Process Flow\" in a Service Portal Widget</description>\n<inserted/>\n<name>SP Process Flow</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>fd86b94fdbdcff00d033df8b4b9619c9</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_f2106906db503f00d033df8b4b961981</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"2\">35efd506db503f00d033df8b4b9619db</sp_column><sp_widget display_value=\"Process Flow Host Sample\">a93f9dc2db503f00d033df8b4b961916</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:10:44</sys_created_on><sys_id>f2106906db503f00d033df8b4b961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_f2106906db503f00d033df8b4b961981</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:10:44</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f2106906db503f00d033df8b4b961981\"/></record_update>]]></payload>\n<payload_hash>1802789791</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8a30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_31478edfdb975f405c025a6adc961956</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>31478edfdb975f405c025a6adc961956</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_31478edfdb975f405c025a6adc961956</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7bb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_script_include_b7259dabdbd493405c025a6adc96197c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_sp_procflow.ProcessFlow&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;ProcessFlow&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var ProcessFlow = Class.create();\nProcessFlow.prototype = {\n    initialize: function(taskGR) {\n\t\tthis.taskGR = taskGR;\n    },\n\t\n\tloadStagesForTask: function(taskGR) {\n\t\ttaskGR = taskGR || this.taskGR;\n\t\tvar stages = [];\n\t\t\n\t\tvar processFlowGR = this.getProcessFlowGR(taskGR);\n\t\t\n\t\tvar foundCurrent = false;\n\t\t\n\t\twhile (processFlowGR.next()) {\n\t\t\tvar stageData = {\n\t\t\t\tsys_id: processFlowGR.getUniqueValue(),\n\t\t\t\tvalue: processFlowGR.name.toString(),\n\t\t\t\tlabel: processFlowGR.label.getDisplayValue(),\n\t\t\t\tdescription: processFlowGR.description.getDisplayValue()\n\t\t\t};\n\t\t\t\n\t\t\tvar isCurrent = GlideFilter.checkRecord(taskGR, processFlowGR.condition.toString());\n\t\t\t\n\t\t\tif (isCurrent) {\n\t\t\t\tstageData.state = 'current';\n\t\t\t\tfoundCurrent = true;\n\t\t\t} else if (foundCurrent) {\n\t\t\t\tstageData.state = 'future';\n\t\t\t} else {\n\t\t\t\tstageData.state = 'past';\n\t\t\t}\n\t\t\t\n\t\t\tstages.push(stageData);\n\t\t}\n\t\t\n\t\t// If we never saw a \"current\" stage, all stages will be marked as \"past\", in this case, go and flip them all to \"future\"\n\t\tvar numberOfPastStages = stages.filter(function(stage) { return stage.state == 'past'; }).length;\n\t\tvar areAllInPast = stages.length == numberOfPastStages;\n\t\t\n\t\tif (areAllInPast) {\n\t\t\tstages = stages.map(function(stage) {\n\t\t\t\tstage.state = 'future';\n\t\t\t\treturn stage;\n\t\t\t});\n\t\t}\n\t\t\n\t\treturn stages;\n\t},\n\t\n\tgetProcessFlowGR: function(taskGR) {\n\t\tvar processFlowGR = new GlideRecord('sys_process_flow');\n\t\tprocessFlowGR.addQuery('table', taskGR.getRecordClassName());\n\t\tprocessFlowGR.addQuery('active', true);\n\t\tprocessFlowGR.orderBy('order');\n\t\tprocessFlowGR.query();\n\t\t\n\t\treturn processFlowGR;\n\t},\n\t\n\ttoObject: function() {\n\t\treturn {\n\t\t\ttable: this.taskGR.getRecordClassName(),\n\t\t\tsys_id: this.taskGR.getUniqueValue(),\n\t\t\tstages: this.loadStagesForTask()\n\t\t};\n\t},\n\n    type: 'ProcessFlow'\n};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.hann&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-21 13:58:18&lt;/sys_created_on&gt;&lt;sys_id&gt;b7259dabdbd493405c025a6adc96197c&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;ProcessFlow&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy&gt;read&lt;/sys_policy&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_b7259dabdbd493405c025a6adc96197c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.hann&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-02-22 11:17:14&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-20769302</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3196358fdbdcff00d033df8b4b9619cc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7530000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>ProcessFlow</target_name>\n<type>Script Include</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4210e506db503f00d033df8b4b9619e4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">f5efd506db503f00d033df8b4b9619d9</sp_column><sp_widget display_value=\"Process Flow Host Sample\">a93f9dc2db503f00d033df8b4b961916</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:10:42</sys_created_on><sys_id>4210e506db503f00d033df8b4b9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_4210e506db503f00d033df8b4b9619e4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:10:42</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4210e506db503f00d033df8b4b9619e4\"/></record_update>]]></payload>\n<payload_hash>-350537540</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8940000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_ac2251abdb5c934085895845dc9619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Process Flow</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking/><scope>x_pisn_sp_procflow</scope><scoped_administration>false</scoped_administration><short_description>Renders a \"Process Flow\" in a Service Portal Widget</short_description><source>x_pisn_sp_procflow</source><store_correlation_id>REPOAPP0000001284</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>chris.hann</sys_created_by><sys_created_on>2018-02-21 11:38:18</sys_created_on><sys_id>ac2251abdb5c934085895845dc9619fe</sys_id><sys_mod_count>40</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-24 17:21:01</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>0.4.1</version></sys_app></record_update>]]></payload>\n<payload_hash>-348340691</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7360000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>SP Process Flow</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_f1478edfdb975f405c025a6adc961954</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>f1478edfdb975f405c025a6adc961954</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_f1478edfdb975f405c025a6adc961954</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3596358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7c80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_f5efd506db503f00d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f5efd506db503f00d033df8b4b9619d7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>f5efd506db503f00d033df8b4b9619d9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_f5efd506db503f00d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:57</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1061047320</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8b80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_4e74afaddb98bb00d033df8b4b961922</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowPopupController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {\n    c.show = false;\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-lite-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-lite-border-radius: 15px;&amp;#13;\n&amp;#13;\n//starter&amp;#13;\n$x-pisn-sp-procflow-lite-starter: $brand-primary !default;&amp;#13;\n$x-pisn-sp-procflow-lite-starter-size: 20px !default;&amp;#13;\n$x-pisn-sp-procflow-lite-starter-bg: $body-bg !default;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-starter {&amp;#13;\n  border: 1px solid $x-pisn-sp-procflow-lite-starter;&amp;#13;\n  height: $x-pisn-sp-procflow-lite-starter-size;&amp;#13;\n  border-radius: 50%;&amp;#13;\n  -moz-border-radius:50%;&amp;#13;\n  -webkit-border-radius: 50%;&amp;#13;\n  width: $x-pisn-sp-procflow-lite-starter-size;&amp;#13;\n  display: flex;&amp;#13;\n  align-items: center;&amp;#13;\n  justify-content: center;&amp;#13;\n  position: relative;&amp;#13;\n  .fa { color: $x-pisn-sp-procflow-lite-starter;}&amp;#13;\n  .fa-sort-desc {&amp;#13;\n    position: absolute;&amp;#13;\n    bottom: 17px;&amp;#13;\n  }&amp;#13;\n  .fa-times-inverse {&amp;#13;\n    color: $x-pisn-sp-procflow-lite-starter-bg;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-starter--inverse-bg {&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-starter;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.light {&amp;#13;\n  -webkit-text-stroke: 0.5px $x-pisn-sp-procflow-lite-starter-bg;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.light-inverse-1 {&amp;#13;\n  -webkit-text-stroke: 1px $x-pisn-sp-procflow-lite-starter;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup-container {&amp;#13;\n  position: absolute;&amp;#13;\n  bottom: 17px;&amp;#13;\n  left: 0%;&amp;#13;\n  right: 0%;&amp;#13;\n  z-index: 1;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* Toggle this class - hide and show the popup */&amp;#13;\n.x-pisn-sp-procflow__show {&amp;#13;\n  visibility: visible;&amp;#13;\n  -webkit-animation: fadeIn 0.5s;&amp;#13;\n  animation: fadeIn 0.5s;&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow__hide {&amp;#13;\n  visibility: hidden;&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__container {&amp;#13;\n  display: flex !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* Add animation (fade in the popup) */&amp;#13;\n@-webkit-keyframes fadeIn {&amp;#13;\n  from {opacity: 0;} &amp;#13;\n  to {opacity: 1;}&amp;#13;\n}&amp;#13;\n&amp;#13;\n@keyframes fadeIn {&amp;#13;\n  from {opacity: 0;}&amp;#13;\n  to {opacity:1 ;}&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-popup&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Process Flow Popup&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-lite', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-20 09:32:05&lt;/sys_created_on&gt;&lt;sys_id&gt;4e74afaddb98bb00d033df8b4b961922&lt;/sys_id&gt;&lt;sys_mod_count&gt;55&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Popup&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_4e74afaddb98bb00d033df8b4b961922&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-24 16:47:08&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;span class=\"x-pisn-sp-procflow-popup-starter\" ng-click=\"c.show = !c.show;\" ng-class=\"{'x-pisn-sp-procflow-popup-starter--inverse-bg': c.show}\"&gt;\n  &lt;i class=\"fa fa-ellipsis-h light\" aria-hidden=\"true\" ng-show=\"!c.show\"&gt;&lt;/i&gt;\n  &lt;i class=\"fa fa-times fa-times-inverse light-inverse-1\" aria-hidden=\"true\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;&lt;/i&gt;\n  &lt;i class=\"fa fa-sort-desc fa-2x\" aria-hidden=\"true\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;&lt;/i&gt;\n&lt;/span&gt;\n&lt;div class=\"x-pisn-sp-procflow-popup-container\" ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"&gt;\n  &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-206519893</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c9200000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Popup</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_b9478edfdb975f405c025a6adc961953</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-20 00:00:21</sys_created_on><sys_id>b9478edfdb975f405c025a6adc961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_b9478edfdb975f405c025a6adc961953</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-20 00:00:21</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3996358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7c10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_6527adb3db4cf300efd54a92ba96194b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"2\">ed27adb3db4cf300efd54a92ba961947</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>6527adb3db4cf300efd54a92ba96194b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_6527adb3db4cf300efd54a92ba96194b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>947498180</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c81d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_ed27adb3db4cf300efd54a92ba961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>2</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>ed27adb3db4cf300efd54a92ba961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_ed27adb3db4cf300efd54a92ba961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>753394651</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8240000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_6cbd784bdbdb1f405c025a6adc961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>6cbd784bdbdb1f405c025a6adc961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_6cbd784bdbdb1f405c025a6adc961986</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>3d96358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7a20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_fcef1906db503f00d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 2</name><order>2</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:48</sys_created_on><sys_id>fcef1906db503f00d033df8b4b9619d9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Process Flow Demo Page - Container 2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_fcef1906db503f00d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:33</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1750137340</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8aa0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 2</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_df11e769db98bb00d033df8b4b961914</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"DELETE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowCtrl(spUtil, $scope) {\n  var c = this;\n\n\tc.$onInit = function() {\n    };\n\t\n\tc.showProcessFlow = function() {\n\t\treturn c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n\t};\n\t\n\tif(c.data.table)\n\tspUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function() {\n\t\tspUtil.update($scope);\n\t});\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-popup-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-popup-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-current-color: lighten($x-pisn-sp-procflow-popup-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-past-color: lighten($x-pisn-sp-procflow-popup-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-popup-future-color: lighten($x-pisn-sp-procflow-popup-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-popup-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-popup-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-popup-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-popup-border-radius: 15px;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__breadcrumb {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-separator-color;&amp;#13;\n  margin-right: 8px;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__container {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  justify-content: center;&amp;#13;\n  border-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  font-size: $x-pisn-sp-procflow-popup-font-size;&amp;#13;\n  letter-spacing: -0.2px;&amp;#13;\n  overflow: hidden;&amp;#13;\n  background-color: $x-pisn-sp-procflow-popup-bg;&amp;#13;\n  z-index: 10;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage {&amp;#13;\n  position: relative;&amp;#13;\n  display: flex;&amp;#13;\n  background-color: $x-pisn-sp-procflow-popup-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-popup-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-popup-height;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage:first-of-type {&amp;#13;\n  border-top-left-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  border-bottom-left-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  padding-left: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage:last-of-type {&amp;#13;\n  border-top-right-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n  border-bottom-right-radius: $x-pisn-sp-procflow-popup-border-radius;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-current-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-past-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-popup-future-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-popup__arrow-down {&amp;#13;\n    position: absolute;&amp;#13;\n    bottom: 0px;&amp;#13;\n    left: 0px;&amp;#13;\n    z-index: 2;&amp;#13;\n    width: 0;&amp;#13;\n    height: 0;&amp;#13;\n    border-left: 7px solid transparent;&amp;#13;\n    border-right: 7px solid transparent;&amp;#13;\n    border-top: 6px solid $x-pisn-sp-procflow-popup-bg;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;Copy of Process Flow Popup&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tinput = input || {};\n    data.table = input.table || options.table || $sp.getParameter('table');\n\tdata.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n\tdata.show_arrow = input.show_arrow || options.show_arrow || false;\n\tdata.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n\tdata.is_valid = false;\n\t\n\tif (!data.table)\n\t\treturn;\n\t\n\tvar taskGR = new GlideRecord(data.table);\n\tif (!taskGR.get(data.sys_id))\n\t\treturn;\n\t\n\tdata.is_valid = true; \n\tdata.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-20 09:17:25&lt;/sys_created_on&gt;&lt;sys_id&gt;df11e769db98bb00d033df8b4b961914&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Copy of Process Flow Popup&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_df11e769db98bb00d033df8b4b961914&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-20 09:17:25&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-popup\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow-popup__container list-unstyled\" \n      ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-popup__stage x-pisn-sp-procflow-popup__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"&gt;\n      &lt;i ng-if=\"$index&gt;0\" class=\"fa fa-angle-right x-pisn-sp-procflow-popup__breadcrumb\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;span class=\"x-pisn-sp-procflow-popup__label\"&gt;{{::stage.label}}&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;\n&lt;span ng-show=\"data.show_arrow\" class=\"x-pisn-sp-procflow-popup__arrow-down\"&gt;&lt;/span&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1718156038</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c87f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Copy of Process Flow Popup</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_e0bd784bdbdb1f405c025a6adc961987</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>e0bd784bdbdb1f405c025a6adc961987</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_e0bd784bdbdb1f405c025a6adc961987</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7196358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7b30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_e927adb3db4cf300efd54a92ba961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"2\">ed27adb3db4cf300efd54a92ba961947</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:55:11</sys_created_on><sys_id>e927adb3db4cf300efd54a92ba961949</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_e927adb3db4cf300efd54a92ba961949</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-18 12:17:37</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1048100167</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8730000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3c62d1abdb5c934085895845dc96191b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowController(spUtil, $scope) {\n  var c = this;\n\n  c.hasIcon = function (stage) {\n    return c.options.show_icons &amp;&amp; c.getIcon(stage);\n  };\n\n  c.getIcon = function (stage) {\n    if (stage.state == 'past') {\n      return 'fa-check';\n    }\n    return;\n  };\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-color: $text-default !default;&amp;#13;\n$x-pisn-sp-procflow-bg: darken($body-bg, 5%) !default;&amp;#13;\n&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-current-bg: $brand-primary !default;&amp;#13;\n$x-pisn-sp-procflow-current-color:  lighten($x-pisn-sp-procflow-current-bg, 45%) !default;&amp;#13;\n&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-past-color: lighten($x-pisn-sp-procflow-current-bg, 45%) !default;&amp;#13;\n$x-pisn-sp-procflow-past-bg: lighten($x-pisn-sp-procflow-current-bg, 20%) !default;&amp;#13;\n&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-future-color: lighten($x-pisn-sp-procflow-color, 10%) !default;&amp;#13;\n$x-pisn-sp-procflow-future-bg: $x-pisn-sp-procflow-bg !default;&amp;#13;\n&amp;#13;\n// Color of border between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-border-color: $body-bg !default;&amp;#13;\n&amp;#13;\n$x-pisn-sp-procflow-tranistion-time: 0.5s !default;&amp;#13;\n&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-border-radius: $border-radius-base !default;&amp;#13;\n$x-pisn-sp-procflow-height: 44px !default;&amp;#13;\n$x-pisn-sp-procflow-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-chevron-height: $x-pisn-sp-procflow-height / 2 !default;&amp;#13;\n$x-pisn-sp-procflow-chevron-width: 16px !default;&amp;#13;\n&amp;#13;\n@media (max-width: 768px) {&amp;#13;\n  .x-pisn-sp-procflow-flow-hide {&amp;#13;\n  \tdisplay: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow__container {&amp;#13;\n  display: flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  width: 100%;&amp;#13;\n  border-radius: $border-radius-base;&amp;#13;\n  font-size: $x-pisn-sp-procflow-font-size;&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n  margin-bottom: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage {&amp;#13;\n  position: relative;&amp;#13;\n  display: flex;&amp;#13;\n  flex: 1 1;&amp;#13;\n  background: $x-pisn-sp-procflow-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-height;&amp;#13;\n  transition: background-color $x-pisn-sp-procflow-tranistion-time, color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  &amp;#13;\n  &amp;amp;::before {&amp;#13;\n    position: absolute;&amp;#13;\n  \tdisplay: block;&amp;#13;\n  \tborder: $x-pisn-sp-procflow-chevron-height solid $x-pisn-sp-procflow-bg;&amp;#13;\n  \tborder-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-border-color;&amp;#13;\n  \tborder-right: 0;&amp;#13;\n  \ttop: -2px;&amp;#13;\n    bottom: -2px;&amp;#13;\n  \tz-index: 9;&amp;#13;\n  \tcontent: '';&amp;#13;\n    left: -($x-pisn-sp-procflow-chevron-width / 2);&amp;#13;\n    &amp;#13;\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;::after {&amp;#13;\n    position: absolute;&amp;#13;\n  \tdisplay: block;&amp;#13;\n  \tborder: $x-pisn-sp-procflow-chevron-height solid transparent;&amp;#13;\n  \tborder-left: $x-pisn-sp-procflow-chevron-width solid $x-pisn-sp-procflow-bg;&amp;#13;\n  \tborder-right: 0;&amp;#13;\n  \ttop: -2px;&amp;#13;\n    bottom: -2px;&amp;#13;\n  \tz-index: 10;&amp;#13;\n  \tcontent: '';&amp;#13;\n    right: -($x-pisn-sp-procflow-chevron-width / 2) + 1px;&amp;#13;\n    &amp;#13;\n    transition: border-color $x-pisn-sp-procflow-tranistion-time;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage:first-of-type {&amp;#13;\n  border-top-left-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n  border-bottom-left-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n&amp;#13;\n  &amp;amp;::before {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage:last-of-type {&amp;#13;\n  border-top-right-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n  border-bottom-right-radius: $x-pisn-sp-procflow-border-radius;&amp;#13;\n&amp;#13;\n  &amp;amp;::after {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-current-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n  &amp;#13;\n  &amp;amp;:after {&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;:before {&amp;#13;\n    border-color: $x-pisn-sp-procflow-current-bg;&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-border-color;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-past-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n  &amp;#13;\n  &amp;amp;:before {&amp;#13;\n    border-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-border-color;&amp;#13;\n  }&amp;#13;\n  &amp;#13;\n  &amp;amp;:after {&amp;#13;\n    border-left-color: $x-pisn-sp-procflow-past-bg;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-future-color;&amp;#13;\n  background-color: $x-pisn-sp-procflow-future-bg;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__label {&amp;#13;\n  margin-left: calc($x-pisn-sp-procflow-chevron-width - 5px);&amp;#13;\n  margin-right: $x-pisn-sp-procflow-chevron-width;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__stage--has-icon {&amp;#13;\n  .x-pisn-sp-procflow-flow__label {&amp;#13;\n    padding-right: $x-pisn-sp-procflow-font-size;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-flow__icon  {&amp;#13;\n  position: absolute;&amp;#13;\n  right: $x-pisn-sp-procflow-font-size;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-chevrons&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Process Flow&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"},{\"name\":\"only_desktop\",\"section\":\"other\",\"default_value\":\"false\",\"label\":\"Only Desktop\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.is_valid = false;\n\n  options.only_desktop = options.only_desktop == true || options.only_desktop == 'true';\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.hann&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-02-21 11:39:23&lt;/sys_created_on&gt;&lt;sys_id&gt;3c62d1abdb5c934085895845dc96191b&lt;/sys_id&gt;&lt;sys_mod_count&gt;356&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3c62d1abdb5c934085895845dc96191b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-22 15:54:54&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-flow m-b\" ng-class=\"{'x-pisn-sp-procflow-flow-hide': c.options.only_desktop}\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow__container list-unstyled\" ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-flow__stage x-pisn-sp-procflow-flow__stage--{{stage.state}}\" ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"\n      ng-class=\"{ 'x-pisn-sp-procflow-flow__stage--has-icon': c.hasIcon(stage) }\"&gt;\n      &lt;span class=\"x-pisn-sp-procflow-flow__label\"&gt;{{::stage.label}}&lt;/span&gt;\n      &lt;span class=\"x-pisn-sp-procflow-flow__icon fa {{::c.getIcon(stage)}}\" ng-if=\"c.hasIcon(stage)\"&gt;&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-617579657</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8fd0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_b67aeedadb17db405c025a6adc9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>b67aeedadb17db405c025a6adc9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_b67aeedadb17db405c025a6adc9619a8</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7596358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c78f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_392467addb98bb00d033df8b4b961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">292467addb98bb00d033df8b4b961943</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>392467addb98bb00d033df8b4b961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_392467addb98bb00d033df8b4b961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:42</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>996925683</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8dc0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_b6e42933db4cf300efd54a92ba96198d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>3</order><sp_column/><sp_container display_value=\"Process Flow - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:26</sys_created_on><sys_id>b6e42933db4cf300efd54a92ba96198d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>3</sys_name><sys_package display_value=\"SP - Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP - Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_b6e42933db4cf300efd54a92ba96198d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1292666134</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c84d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>3</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_50240609dbd71b405c025a6adc961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>50240609dbd71b405c025a6adc961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_50240609dbd71b405c025a6adc961904</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7996358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7810000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_35e4e9bfdb0cf300efd54a92ba9619d1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f1e4e9bfdb0cf300efd54a92ba9619cf</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:22</sys_created_on><sys_id>35e4e9bfdb0cf300efd54a92ba9619d1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_35e4e9bfdb0cf300efd54a92ba9619d1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:22</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>2011195914</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7eb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_c8d5e321dbd8bb00d033df8b4b961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">792467addb98bb00d033df8b4b961945</sp_column><sp_widget display_value=\"Process Flow Popup\">4e74afaddb98bb00d033df8b4b961922</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:37:57</sys_created_on><sys_id>c8d5e321dbd8bb00d033df8b4b961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_c8d5e321dbd8bb00d033df8b4b961995</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:37:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c8d5e321dbd8bb00d033df8b4b961995\"/></record_update>]]></payload>\n<payload_hash>-731307197</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8c70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_2cf0fb14db9f97405c025a6adc961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:15</sys_created_on><sys_id>2cf0fb14db9f97405c025a6adc961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_2cf0fb14db9f97405c025a6adc961908</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:15</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7660000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_3882b1abdb1893405c025a6adc96194d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>chris.hann</sys_created_by><sys_created_on>2018-02-21 13:59:45</sys_created_on><sys_id>3882b1abdb1893405c025a6adc96194d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_process_flow</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_scope_privilege_3882b1abdb1893405c025a6adc96194d</sys_update_name><sys_updated_by>chris.hann</sys_updated_by><sys_updated_on>2018-02-21 13:59:45</sys_updated_on><target_name>sys_process_flow</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-1138614547</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>7d96358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c74a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>sys_process_flow</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_792467addb98bb00d033df8b4b961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name>m-t-xl</class_name><order>1</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">292467addb98bb00d033df8b4b961943</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>792467addb98bb00d033df8b4b961945</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_792467addb98bb00d033df8b4b961945</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:47</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1145967502</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8cf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f5efd506db503f00d033df8b4b9619d7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 2\">fcef1906db503f00d033df8b4b9619d9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>f5efd506db503f00d033df8b4b9619d7</sys_id><sys_mod_count>2</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_f5efd506db503f00d033df8b4b9619d7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:13:49</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1121093619</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8b20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_a0f0fb14db9f97405c025a6adc96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:16</sys_created_on><sys_id>a0f0fb14db9f97405c025a6adc96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_a0f0fb14db9f97405c025a6adc96190b</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:16</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b196358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c76e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_35efd506db503f00d033df8b4b9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name>m-t-xl</class_name><order>2</order><size>6</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">f5efd506db503f00d033df8b4b9619d7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-21 13:09:51</sys_created_on><sys_id>35efd506db503f00d033df8b4b9619db</sys_id><sys_mod_count>1</sys_mod_count><sys_name>2</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_35efd506db503f00d033df8b4b9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:14:04</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1704647718</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8be0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>2</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_292467addb98bb00d033df8b4b961943</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"\">502467addb98bb00d033df8b4b9619f9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:42</sys_created_on><sys_id>292467addb98bb00d033df8b4b961943</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_292467addb98bb00d033df8b4b961943</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-20 09:30:42</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1950317106</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8ef0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_3e7aeedadb17db405c025a6adc9619aa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>3e7aeedadb17db405c025a6adc9619aa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_3e7aeedadb17db405c025a6adc9619aa</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b596358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_c1d6a5b3db4cf300efd54a92ba9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">e927adb3db4cf300efd54a92ba961949</sp_column><sp_widget display_value=\"Process Flow Lite\">bb6b8a4edb439b0085895845dc961917</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:53:47</sys_created_on><sys_id>c1d6a5b3db4cf300efd54a92ba9619db</sys_id><sys_mod_count>1</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_c1d6a5b3db4cf300efd54a92ba9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:55:13</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c1d6a5b3db4cf300efd54a92ba9619db\"/></record_update>]]></payload>\n<payload_hash>-1104029838</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8310000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_24f0fb14db9f97405c025a6adc961909</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-11 00:00:15</sys_created_on><sys_id>24f0fb14db9f97405c025a6adc961909</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_24f0fb14db9f97405c025a6adc961909</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-11 00:00:15</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c75b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_fe7aeedadb17db405c025a6adc9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-17 00:00:14</sys_created_on><sys_id>fe7aeedadb17db405c025a6adc9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_fe7aeedadb17db405c025a6adc9619a8</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-17 00:00:14</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>b996358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c79c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_74e4a9bfdb0cf300efd54a92ba9619c4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:18</sys_created_on><sys_id>74e4a9bfdb0cf300efd54a92ba9619c4</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Process Flow Demo Page - Container 1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_74e4a9bfdb0cf300efd54a92ba9619c4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-15 16:44:01</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>951051739</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8650000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_bb6b8a4edb439b0085895845dc961917</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PIProcessFlowLiteController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {};\n\n  c.showProcessFlow = function () {\n    return c.data.process_flow &amp;&amp; c.data.process_flow.stages.length &gt; 0;\n  };\n\n  if (c.data.table)\n    spUtil.recordWatch($scope, c.data.table, 'sys_id=' + c.data.sys_id, function () {\n      spUtil.update($scope);\n    });\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;// Default Colors&amp;#13;\n$x-pisn-sp-procflow-lite-color: $text-color !default;&amp;#13;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;&amp;#13;\n// \"Current Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;&amp;#13;\n// \"Past Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;&amp;#13;\n// \"Future Stage\" Colors&amp;#13;\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;&amp;#13;\n// Color of separator between Flow Stages&amp;#13;\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;&amp;#13;\n// Sizing&amp;#13;\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;&amp;#13;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;&amp;#13;\n$x-pisn-sp-procflow-lite-border-radius: 15px;&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-separator-color;&amp;#13;\n  margin-right: 8px;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__container {&amp;#13;\n  display: inline-flex;&amp;#13;\n  align-items: stretch;&amp;#13;\n  border-radius: $x-pisn-sp-procflow-lite-border-radius;&amp;#13;\n  font-size: $x-pisn-sp-procflow-lite-font-size;&amp;#13;\n  letter-spacing: -0.2px;&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-bg;&amp;#13;\n  z-index: 10;&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n::-webkit-scrollbar { &amp;#13;\n    display: none; &amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage {&amp;#13;\n  display: flex;&amp;#13;\n  background-color: $x-pisn-sp-procflow-lite-bg;&amp;#13;\n  color: $x-pisn-sp-procflow-lite-color;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n  padding-left: 1ex;&amp;#13;\n  padding-right: 1ex;&amp;#13;\n  height: $x-pisn-sp-procflow-lite-height;&amp;#13;\n  margin-top: 3px;&amp;#13;\n  margin-bottom: 3px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage:first-of-type {&amp;#13;\n  padding-left: 10px;&amp;#13;\n  margin-left: auto;&amp;#13;\n}&amp;#13;\n.x-pisn-sp-procflow-lite__stage:last-of-type {&amp;#13;\n  padding-right: 10px;&amp;#13;\n  margin-right: auto;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--current {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-current-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--past {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-past-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-procflow-lite__stage--future {&amp;#13;\n  color: $x-pisn-sp-procflow-lite-future-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data&gt;{\n\t\"options\": {\n\t\t\"table\": \"idea\",\n\t\t\"sys_id\": \"fe6703ebdb14d3405c025a6adc9619de\",\n\t\t\"show_icons\": true\n\t}\n}&lt;/demo_data&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-lite&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Process Flow Lite&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Table\",\"type\":\"string\"},{\"hint\":\"Sys ID of the Task record\",\"name\":\"sys_id\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Sys ID\",\"type\":\"string\"},{\"name\":\"show_icons\",\"section\":\"other\",\"default_value\":\"true\",\"label\":\"Show icons\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  data.show_arrow = input.show_arrow || options.show_arrow || false;\n  data.show_arrow = data.show_arrow == 'true' || data.show_arrow == true;\n  data.is_valid = false;\n\n  if (!data.table)\n    return;\n\n  var taskGR = new GlideRecord(data.table);\n  if (!taskGR.get(data.sys_id))\n    return;\n\n  data.is_valid = true;\n  data.process_flow = new ProcessFlow(taskGR).toObject();\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-07-03 16:50:24&lt;/sys_created_on&gt;&lt;sys_id&gt;bb6b8a4edb439b0085895845dc961917&lt;/sys_id&gt;&lt;sys_mod_count&gt;114&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Lite&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_bb6b8a4edb439b0085895845dc961917&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-24 16:34:39&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-lite\"&gt;\n  &lt;ol class=\"x-pisn-sp-procflow-lite__container list-unstyled\" \n      ng-if=\"c.showProcessFlow()\"&gt;\n    &lt;li class=\"x-pisn-sp-procflow-lite__stage x-pisn-sp-procflow-lite__stage--{{stage.state}} text-center\"\n      ng-repeat=\"stage in data.process_flow.stages track by stage.sys_id\"&gt;\n      &lt;i ng-if=\"$index&gt;0\" class=\"fa fa-angle-right x-pisn-sp-procflow-lite__breadcrumb\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;span class=\"x-pisn-sp-procflow-lite__label\"&gt;{{::stage.label}}&lt;/span&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1370446466</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c9110000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Lite</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_d4240609dbd71b405c025a6adc961906</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>d4240609dbd71b405c025a6adc961906</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_d4240609dbd71b405c025a6adc961906</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>bd96358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7880000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_2a8465bfdb0cf300efd54a92ba96191c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_procflow_page</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:44:04</sys_created_on><sys_id>2a8465bfdb0cf300efd54a92ba96191c</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_pisn_sp_procflow_page</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_page_2a8465bfdb0cf300efd54a92ba96191c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-15 16:44:01</sys_updated_on><title>Process Flow Demo Page</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=2a8465bfdb0cf300efd54a92ba96191c\"/></record_update>]]></payload>\n<payload_hash>169315731</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f196358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8580000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_procflow_page</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_357a9484db6f9f405c025a6adc9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>357a9484db6f9f405c025a6adc9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_357a9484db6f9f405c025a6adc9619a2</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f196358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7db0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_9605e9bfdb0cf300efd54a92ba9619ea</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">35e4e9bfdb0cf300efd54a92ba9619d1</sp_column><sp_widget display_value=\"Process Flow\">3c62d1abdb5c934085895845dc96191b</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:57</sys_created_on><sys_id>9605e9bfdb0cf300efd54a92ba9619ea</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_instance_9605e9bfdb0cf300efd54a92ba9619ea</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:57</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9605e9bfdb0cf300efd54a92ba9619ea\"/></record_update>]]></payload>\n<payload_hash>-2009667409</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c5</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8160000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_20bd784bdbdb1f405c025a6adc961989</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxAllOrchTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxAllOrchTransactionLast12Month', 'In the last 12 months, The highest Orchestration transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration transactions executed in a give</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-19 00:00:24</sys_created_on><sys_id>20bd784bdbdb1f405c025a6adc961989</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxAllOrchTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_20bd784bdbdb1f405c025a6adc961989</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-19 00:00:24</sys_updated_on><tablename>MaxAllOrchTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1306271079</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619c8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7a70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxAllOrchTransactionLast12Month</table>\n<target_name>MaxAllOrchTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_f57a9484db6f9f405c025a6adc9619a0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>f57a9484db6f9f405c025a6adc9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_f57a9484db6f9f405c025a6adc9619a0</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f596358fdbdcff00d033df8b4b9619cb</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7cf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_502467addb98bb00d033df8b4b9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Process Flow Demo Page - Container 3</name><order>3</order><sp_page display_value=\"x_pisn_sp_procflow_page\">2a8465bfdb0cf300efd54a92ba96191c</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-20 09:30:36</sys_created_on><sys_id>502467addb98bb00d033df8b4b9619f9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Process Flow Demo Page - Container 3</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_container_502467addb98bb00d033df8b4b9619f9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-21 13:09:48</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1681384593</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619c4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8e70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Demo Page - Container 3</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_a93f9dc2db503f00d033df8b4b961916</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.container1 {&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.container2 {&amp;#13;\n  display: inline-flex;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-procflow-host-sample&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) { \n\n }]]&gt;&lt;/link&gt;&lt;name&gt;Process Flow Host Sample&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-popup', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-03-21 13:06:50&lt;/sys_created_on&gt;&lt;sys_id&gt;a93f9dc2db503f00d033df8b4b961916&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Process Flow Host Sample&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Process Flow\"&gt;ac2251abdb5c934085895845dc9619fe&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_a93f9dc2db503f00d033df8b4b961916&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-03-21 13:09:33&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-procflow-host-sample\"&gt;\n  &lt;div class=\"container1\"&gt;\n    &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras molestie, elit at euismod faucibus, quam metus maximus enim, at pharetra felis mauris pellentesque ipsum. Etiam vel nunc sit amet enim euismod accumsan eget id sem. Aliquam erat volutpat. Nunc suscipit feugiat ultrices. Suspendisse accumsan cursus ipsum. Nulla euismod, nibh et ultrices pulvinar, quam neque congue erat, sit amet dignissim dui metus non massa. Sed magna risus, luctus vitae facilisis a, pellentesque vel nibh. Vivamus vel sagittis nisl. Pellentesque suscipit ante dui, ut gravida sapien luctus porta. Aliquam scelerisque venenatis nulla, faucibus malesuada magna accumsan at. Nam ut augue condimentum, placerat purus sit amet, rutrum enim. Nulla placerat dictum ligula ac ultrices. Aenean sapien ipsum, ultrices et lobortis ac, feugiat vitae lectus. State: \n      &lt;span class=\"container2\"&gt;&lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;&lt;/span&gt;\n    &lt;/p&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1113922650</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619c7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c8890000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>Process Flow Host Sample</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_bd7a9484db6f9f405c025a6adc96199f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>MaxOrchCoreTransactionLast12Month</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('MaxOrchCoreTransactionLast12Month', 'In the last 12 months, The highest Orchestration Core only transactions executed in a given month');</script><short_description>In the last 12 months, The highest Orchestration Core only transactions executed</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-22 00:00:24</sys_created_on><sys_id>bd7a9484db6f9f405c025a6adc96199f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MaxOrchCoreTransactionLast12Month</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_bd7a9484db6f9f405c025a6adc96199f</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-22 00:00:24</sys_updated_on><tablename>MaxOrchCoreTransactionLast12Month</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-198006812</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>f996358fdbdcff00d033df8b4b9619ca</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7d60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>MaxOrchCoreTransactionLast12Month</table>\n<target_name>MaxOrchCoreTransactionLast12Month</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_72e42933db4cf300efd54a92ba96198f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"3\">b6e42933db4cf300efd54a92ba96198d</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:26</sys_created_on><sys_id>72e42933db4cf300efd54a92ba96198f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP - Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP - Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_column_72e42933db4cf300efd54a92ba96198f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:26</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1700401138</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c83e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_f1e4e9bfdb0cf300efd54a92ba9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Process Flow Demo Page - Container 1\">74e4a9bfdb0cf300efd54a92ba9619c4</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-03-14 13:45:22</sys_created_on><sys_id>f1e4e9bfdb0cf300efd54a92ba9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sp_row_f1e4e9bfdb0cf300efd54a92ba9619cf</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-03-14 13:45:22</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-745067303</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7f40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</application>\n<category>customer</category>\n<comments/>\n<name>sys_gauge_counts_98240609dbd71b405c025a6adc961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_gauge_counts\"><sys_gauge_counts action=\"INSERT_OR_UPDATE\"><gauge_id display_value=\"Additional Metrics\">53d6e3231f3121006d691b220e8b70e0</gauge_id><image/><name>OrchCoreTransactionLast30Days</name><omit_line>false</omit_line><order/><override_style/><query/><script>SNC.UsageAnalyticsScriptUtils.getCount('OrchCoreTransactionLast30Days', 'Orchestration Core transactions only executed in the last 30 days (Does not include today)');</script><short_description>Orchestration Core transactions only executed in the last 30 days (Does not incl</short_description><sys_class_name>sys_gauge_counts</sys_class_name><sys_created_by>system</sys_created_by><sys_created_on>2018-07-13 00:00:16</sys_created_on><sys_id>98240609dbd71b405c025a6adc961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>OrchCoreTransactionLast30Days</sys_name><sys_package display_value=\"SP Process Flow\" source=\"x_pisn_sp_procflow\">ac2251abdb5c934085895845dc9619fe</sys_package><sys_policy/><sys_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</sys_scope><sys_update_name>sys_gauge_counts_98240609dbd71b405c025a6adc961904</sys_update_name><sys_updated_by>system</sys_updated_by><sys_updated_on>2018-07-13 00:00:16</sys_updated_on><tablename>OrchCoreTransactionLast30Days</tablename><use_script>true</use_script></sys_gauge_counts></record_update>]]></payload>\n<payload_hash>-1100059213</payload_hash>\n<remote_update_set display_value=\"SP Process Flow\">f596358fdbdcff00d033df8b4b9619c2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-24 17:22:54</sys_created_on>\n<sys_id>fd96358fdbdcff00d033df8b4b9619c9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>169b0b9c7760000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-24 17:22:54</sys_updated_on>\n<table>OrchCoreTransactionLast30Days</table>\n<target_name>OrchCoreTransactionLast30Days</target_name>\n<type>Count Gauges</type>\n<update_domain>global</update_domain>\n<update_guid/>\n<update_guid_history/>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-proc-flow-popup/widget/pe-proc-flow-popup.u-body-html-template.html",
    "content": "<span class=\"x-pisn-sp-procflow-popup-starter\" ng-click=\"c.show = !c.show;\"\n  ng-class=\"{'x-pisn-sp-procflow-popup-starter--inverse-bg': c.show}\">\n  <i class=\"fa fa-ellipsis-h light\" aria-hidden=\"true\" ng-show=\"!c.show\"></i>\n  <i class=\"fa fa-times fa-times-inverse light-inverse-1\" aria-hidden=\"true\"\n    ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"></i>\n  <i class=\"fa fa-sort-desc fa-2x\" aria-hidden=\"true\"\n    ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\"></i>\n</span>\n<div class=\"x-pisn-sp-procflow-popup-container\"\n  ng-class=\"{'x-pisn-sp-procflow__show': c.show, 'x-pisn-sp-procflow__hide': !c.show}\">\n  <sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\n</div>\n"
  },
  {
    "path": "src/pe-proc-flow-popup/widget/pe-proc-flow-popup.u-client-script.js",
    "content": "function PIProcessFlowPopupController(spUtil, $scope) {\n  var c = this;\n\n  c.$onInit = function () {\n    c.show = false;\n  };\n\n}\n"
  },
  {
    "path": "src/pe-proc-flow-popup/widget/pe-proc-flow-popup.u-css.scss",
    "content": "// Default Colors\n$x-pisn-sp-procflow-lite-color: $text-color !default;\n$x-pisn-sp-procflow-lite-bg: $brand-primary !default;\n// \"Current Stage\" Colors\n$x-pisn-sp-procflow-lite-current-color: lighten($x-pisn-sp-procflow-lite-bg, 95%) !default;\n// \"Past Stage\" Colors\n$x-pisn-sp-procflow-lite-past-color: lighten($x-pisn-sp-procflow-lite-bg, 45%) !default;\n// \"Future Stage\" Colors\n$x-pisn-sp-procflow-lite-future-color: lighten($x-pisn-sp-procflow-lite-bg, 20%) !default;\n// Color of separator between Flow Stages\n$x-pisn-sp-procflow-lite-separator-color: $body-bg !default;\n// Sizing\n$x-pisn-sp-procflow-lite-height: $line-height-computed * 2 !default;\n$x-pisn-sp-procflow-lite-font-size: $font-size-small !default;\n$x-pisn-sp-procflow-lite-border-radius: 15px;\n\n//starter\n$x-pisn-sp-procflow-lite-starter: $brand-primary !default;\n$x-pisn-sp-procflow-lite-starter-size: 20px !default;\n$x-pisn-sp-procflow-lite-starter-bg: $body-bg !default;\n\n.x-pisn-sp-procflow-popup-starter {\n  border: 1px solid $x-pisn-sp-procflow-lite-starter;\n  height: $x-pisn-sp-procflow-lite-starter-size;\n  border-radius: 50%;\n  -moz-border-radius: 50%;\n  -webkit-border-radius: 50%;\n  width: $x-pisn-sp-procflow-lite-starter-size;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n\n  .fa {\n    color: $x-pisn-sp-procflow-lite-starter;\n  }\n\n  .fa-sort-desc {\n    position: absolute;\n    bottom: 17px;\n  }\n\n  .fa-times-inverse {\n    color: $x-pisn-sp-procflow-lite-starter-bg;\n  }\n}\n\n.x-pisn-sp-procflow-popup-starter--inverse-bg {\n  background-color: $x-pisn-sp-procflow-lite-starter;\n}\n\n.light {\n  -webkit-text-stroke: 0.5px $x-pisn-sp-procflow-lite-starter-bg;\n  -webkit-font-smoothing: antialiased;\n}\n\n.light-inverse-1 {\n  -webkit-text-stroke: 1px $x-pisn-sp-procflow-lite-starter;\n  -webkit-font-smoothing: antialiased;\n}\n\n.x-pisn-sp-procflow-popup-container {\n  position: absolute;\n  bottom: 17px;\n  left: 0%;\n  right: 0%;\n  z-index: 1;\n}\n\n/* Toggle this class - hide and show the popup */\n.x-pisn-sp-procflow__show {\n  visibility: visible;\n  -webkit-animation: fadeIn 0.5s;\n  animation: fadeIn 0.5s;\n  display: block;\n}\n\n.x-pisn-sp-procflow__hide {\n  visibility: hidden;\n  display: none;\n}\n\n.x-pisn-sp-procflow-lite__container {\n  display: flex !important;\n}\n\n/* Add animation (fade in the popup) */\n@-webkit-keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n"
  },
  {
    "path": "src/pe-proc-flow-popup/widget/pe-proc-flow-popup.u-option-schema.json",
    "content": "[{\n  \"name\": \"table\",\n  \"section\": \"other\",\n  \"default_value\": \"\",\n  \"label\": \"Table\",\n  \"type\": \"string\"\n}, {\n  \"hint\": \"Sys ID of the Task record\",\n  \"name\": \"sys_id\",\n  \"section\": \"other\",\n  \"default_value\": \"\",\n  \"label\": \"Sys ID\",\n  \"type\": \"string\"\n}]\n"
  },
  {
    "path": "src/pe-proc-flow-popup/widget/pe-proc-flow-popup.u-server-script.js",
    "content": "(function () {\n  input = input || {};\n  data.table = input.table || options.table || $sp.getParameter('table');\n  data.sys_id = input.sys_id || options.sys_id || $sp.getParameter('sys_id');\n  if (!data.table)\n    return;\n  data.embedded_widget = $sp.getWidget('x-pisn-sp-procflow-lite', {\n    table: data.table,\n    sys_id: data.sys_id\n  });\n\n})();\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/README.md",
    "content": "# Rest Typeahead Search\n\n## Description\n\nTypeahead Search lets the user searching with suggestions, through REST, and finally to select and send a record through the event \"pe-typeahead-selection\".\n\n## Screenshots\n\n![Rest Typeahead Search](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-rest-typeahead-search/images/pe-rest-typeahead-search-01.png)\n\n![Rest Typeahead Search](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-rest-typeahead-search/images/pe-rest-typeahead-search-02.png)\n\n## Additional Information/Notes\n\nThe Typeahead Search widget provides suggestions for users as they type in the search field.\n\n### Main features\n\n* Providing suggestions through the autocomplete search library [Twitter Typeahead v1.2.0](https://github.com/corejavascript/typeahead.js)\n\n* Obtaining data through REST. It can be connected also to a Table API defined in a different ServiceNow instance if the relative option _REST Instance_ is used, and a [CORS rule](https://docs.servicenow.com/bundle/london-application-development/page/integrate/inbound-rest/concept/c_CORSSupport.html) defined in the target instance.\n\n* Broadcasting on record selection (event name: \"pe-typeahead-selection\"). Sample code for receiving the selected record (json object) in any widgets used in the Portal application:\n\n```javascript\n$rootScope.$on('pe-typeahead-selection', function(event, obj) {\n  /* code */\n});\n```\n\n### Presentation\n\n* Bootstrap Color: select Default to use custom SASS variables in the Theme (complete list at the top of the widget CSS section).\n\n* Bootstrap Size: this will define the padding around the Search text field (md, lg, etc.).\n\n* Placeholder: the text hint in the empty input field.\n\n* Overlay Effect: if enabled, it will apply a CSS effect (class pe-rest-typeahead-search__dim) to help the user in focusing more on the results.\n\n## Installation\n\nDownload and install update set **[pe-rest-typeahead-search.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-rest-typeahead-search/pe-rest-typeahead-search.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Required Field |\n| :--- | :--- | :--- |\n| `Table` | Table containing the records to query. | true |\n| `Filter` | Additional filter. |  |\n| `Display Field` | The column/attribute to show in the result list. | true |\n| `Query Field` | The column/attribute used by Twitter Typeahead to provide the suggestions. | true |\n| `Order By` | The result sorting. |  |\n| `Order Direction` | The result sorting direction. |  |\n| `Limit Result` | The maximum number of records to obtain and display. | true |\n| `REST Instance` | If the REST Table API is in a different instance. |  |\n| `REST Username` | If REST instance is used, provide the credentials. |  |\n| `REST Password` | If REST instance is used, provide the credentials. |  |\n\n## Platform Dependencies\n\n### API Dependencies\n\n> typeahead.js v1.2.0\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-rest-typeahead-hover-color\n$pe-rest-typeahead-hover-bg\n$pe-rest-typeahead-menu-bg\n$pe-rest-typeahead-border-color\n$pe-rest-typeahead-border-radius\n$pe-rest-typeahead-border\n$pe-rest-typeahead-max-width\n$pe-rest-typeahead-dim-opacity\n```\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Search\",\n  \"common-name\": \"Rest Typeahead Search\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Fabio Petito\"\n  ],\n  \"keywords\": [\n    \"Widget\",\n    \"Search\"\n  ],\n  \"name\": \"pe-rest-typeahead-search\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Typeahead Search lets the user searching with suggestions, through REST, and finally to select and send a record through the event pe-typeahead-selection.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/pe-rest-typeahead-search.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-03-07 18:54:19\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<application_name>SP Typeahead Search</application_name>\n<application_scope>x_pisn_sp_type_sr</application_scope>\n<application_version>1.0.0</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description> </description>\n<inserted/>\n<name>SP Typeahead Search</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>8768eae1db043b00d033df8b4b961962</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>0f78aee1db043b00d033df8b4b961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_d40ed4d3db69a3005c025a6adc9619f7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"SP Typeahead Search - Container 1\">b0dd1893db69a3005c025a6adc96190c</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:41:41</sys_created_on><sys_id>d40ed4d3db69a3005c025a6adc9619f7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sp_row_d40ed4d3db69a3005c025a6adc9619f7</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:41:41</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1848299095</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>0378aee1db043b00d033df8b4b961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c390000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>d80ed4d3b669a300574beb797d6a9bf8</update_guid>\n<update_guid_history>d80ed4d3b669a300574beb797d6a9bf8:1848299095</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_755d1093db69a3005c025a6adc961984</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>SP Typeahead Search deps</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:38:54</sys_created_on><sys_id>755d1093db69a3005c025a6adc961984</sys_id><sys_mod_count>0</sys_mod_count><sys_name>SP Typeahead Search deps</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sp_dependency_755d1093db69a3005c025a6adc961984</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:38:54</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>1408866619</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>0778aee1db043b00d033df8b4b961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815b520000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>SP Typeahead Search deps</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>235d1093ab69a300d2a084d81df5dfd5</update_guid>\n<update_guid_history>235d1093ab69a300d2a084d81df5dfd5:1408866619</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_841e1cd3db69a3005c025a6adc961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:41:56</sys_created_on><sys_id>841e1cd3db69a3005c025a6adc961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_instance_table</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sys_scope_privilege_841e1cd3db69a3005c025a6adc961947</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:41:56</sys_updated_on><target_name>sp_instance_table</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-2130921999</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>0f78aee1db043b00d033df8b4b961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c530000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>sp_instance_table</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>401e1cd34669a300956746fcb6f42448</update_guid>\n<update_guid_history>401e1cd34669a300956746fcb6f42448:-2130921999</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_b0dd1893db69a3005c025a6adc96190c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>SP Typeahead Search - Container 1</name><order>1</order><sp_page display_value=\"sp_typeahead_search\">34cdd493db69a3005c025a6adc9619ab</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:40:54</sys_created_on><sys_id>b0dd1893db69a3005c025a6adc96190c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>SP Typeahead Search - Container 1</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sp_container_b0dd1893db69a3005c025a6adc96190c</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:40:54</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>1437042620</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>4378aee1db043b00d033df8b4b961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c2a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>SP Typeahead Search - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>b4dd18932169a30025b13561b06d350d</update_guid>\n<update_guid_history>b4dd18932169a30025b13561b06d350d:1437042620</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_841e1cd3db69a3005c025a6adc961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:41:56</sys_created_on><sys_id>841e1cd3db69a3005c025a6adc961945</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: properties</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sys_scope_privilege_841e1cd3db69a3005c025a6adc961945</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:41:56</sys_updated_on><target_name>Glide API: properties</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1288541761</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>4b78aee1db043b00d033df8b4b961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c5d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>Glide API: properties</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>c41e1cd33f69a300d4af0ca79ecd4246</update_guid>\n<update_guid_history>c41e1cd33f69a300d4af0ca79ecd4246:1288541761</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_34cdd493db69a3005c025a6adc9619ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>sp_typeahead_search</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:40:42</sys_created_on><sys_id>34cdd493db69a3005c025a6adc9619ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_typeahead_search</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sp_page_34cdd493db69a3005c025a6adc9619ab</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:40:42</sys_updated_on><title>SP Typeahead Search</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=34cdd493db69a3005c025a6adc9619ab\"/></record_update>]]></payload>\n<payload_hash>1680056784</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>4f78aee1db043b00d033df8b4b961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c0f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>sp_typeahead_search</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>02cd18931169a3007b991f7795833b07</update_guid>\n<update_guid_history>02cd18931169a3007b991f7795833b07:1680056784</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_03add093db69a3005c025a6adc9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"SP Typeahead Search deps\">755d1093db69a3005c025a6adc961984</sp_dependency><sp_js_include display_value=\"typeahead.js\">c47d9093db69a3005c025a6adc96192f</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:40:14</sys_created_on><sys_id>03add093db69a3005c025a6adc9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name>SP Typeahead Search deps.typeahead.js</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>m2m_sp_dependency_js_include_03add093db69a3005c025a6adc9619ec</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:40:14</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-249130176</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>8378aee1db043b00d033df8b4b961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815beb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>SP Typeahead Search deps.typeahead.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>87add093f169a3004eb8dcc3756d23ed</update_guid>\n<update_guid_history>87add093f169a3004eb8dcc3756d23ed:-249130176</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_ab90c803dbe963005c025a6adc9619d8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Typeahead Search</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_type_sr</scope><scoped_administration>false</scoped_administration><short_description/><source>x_pisn_sp_type_sr</source><store_correlation_id>REPOAPP0000001221</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-07 15:54:48</sys_created_on><sys_id>ab90c803dbe963005c025a6adc9619d8</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:54:45</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n<payload_hash>1276991027</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>8778aee1db043b00d033df8b4b961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815b280000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>SP Typeahead Search</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>b7f064d73169a300b9811bbfabee9241</update_guid>\n<update_guid_history>b7f064d73169a300b9811bbfabee9241:940951009,6b90c8432ce96300ebe3a8b954a0fcb9:917870168</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_c47d9093db69a3005c025a6adc96192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>typeahead.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:40:14</sys_created_on><sys_id>c47d9093db69a3005c025a6adc96192f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>typeahead.js</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_ui_script display_value=\"x_pisn_sp_type_sr.typeahead.js\">759d1493db69a3005c025a6adc961965</sys_ui_script><sys_update_name>sp_js_include_c47d9093db69a3005c025a6adc96192f</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:40:14</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1184837437</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>8b78aee1db043b00d033df8b4b961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815bf80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>typeahead.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>c3add0938269a300e6a3de2008e98eeb</update_guid>\n<update_guid_history>c3add0938269a300e6a3de2008e98eeb:-1184837437</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_180ed4d3db69a3005c025a6adc9619f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">d40ed4d3db69a3005c025a6adc9619f7</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:41:41</sys_created_on><sys_id>180ed4d3db69a3005c025a6adc9619f9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>sp_column_180ed4d3db69a3005c025a6adc9619f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:41:41</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1090428832</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>8f78aee1db043b00d033df8b4b961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c450000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>980ed4d38569a30086df066b77e4d9fa</update_guid>\n<update_guid_history>980ed4d38569a30086df066b77e4d9fa:1090428832</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_94bc890fdbad63005c025a6adc9619a8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PeRestTypeaheadController($rootScope, $scope) {\n  var c = this;\n  c.idName = 'x-pisn-sp-typeahead-search-' + c.data.widget_sys_id;\n\n  c.$onInit = function () {\n    c.apiUrl = c.data.uri + 'api/now/table/' + c.options.table +\n      '?sysparm_display_value=true&amp;sysparm_fields=sys_id,' + c.options.query_field + ',' + c.options.display_field +\n      '&amp;sysparm_limit=' + c.options.limit_result;\n    c.fieldCondition = '';\n\n    if ((c.options.order_direction == 'asc' || !c.options.order_direction) &amp;&amp; c.options.order_by &amp;&amp; c.options.order_by.length &gt; 0)\n      c.fieldCondition = '^ORDERBY' + c.options.order_by + '^';\n    if (c.options.order_direction == 'desc' &amp;&amp; c.options.order_by &amp;&amp; c.options.order_by.length &gt; 0)\n      c.fieldCondition = '^ORDERBYDESC' + c.options.order_by + '^';\n\n    c.fieldCondition = c.fieldCondition + c.options.filter + '^' + c.options.query_field + 'LIKE';\n\n    c.selected = false;\n    c.typing = false;\n\t\tconsole.log($scope);\n  };\n\n  c.selectRecord = function (obj) {\n\t\tconsole.log('selected -&gt; ',obj);\n    $rootScope.$broadcast('x-pisn-sp-typeahead-search-selection', obj);\n  };\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$x-pisn-sp-typeahead-font-size: $font-size-large !default;&amp;#13;\n$x-pisn-sp-typeahead-text-color: $text-color !default;&amp;#13;\n$x-pisn-sp-typeahead-input-height: $input-height-large !default;&amp;#13;\n$x-pisn-sp-typeahead-bg: white !default;&amp;#13;\n$x-pisn-sp-typeahead-placeholder-color: lighten($x-pisn-sp-typeahead-text-color, 30%) !default;&amp;#13;\n$x-pisn-sp-typeahead-max-width: 400px !default;&amp;#13;\n$x-pisn-sp-typeahead-dim-opacity: 0.8 !default;&amp;#13;\n$x-pisn-sp-typeahead-border-color: $input-border !default;&amp;#13;\n$x-pisn-sp-typeahead-border-radius: $border-radius-base !default;&amp;#13;\n$x-pisn-sp-typeahead-border: 0.5px !default;&amp;#13;\n$x-pisn-sp-typeahead-hover-color: white !default;&amp;#13;\n$x-pisn-sp-typeahead-hover-bg: #82b2a0 !default;&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-search {&amp;#13;\n  display: flex;&amp;#13;\n  justify-content: center;&amp;#13;\n  align-items: center;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-search__container {&amp;#13;\n  position: relative;&amp;#13;\n  width: 100%;&amp;#13;\n  max-width: $x-pisn-sp-typeahead-max-width;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-search__input {&amp;#13;\n  padding: $padding-base-vertical 25px $padding-base-vertical 35px;&amp;#13;\n  box-shadow: none;&amp;#13;\n  background: unset !important;&amp;#13;\n  background-color: $x-pisn-sp-typeahead-bg !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* default using SASS */&amp;#13;\n.x-pisn-sp-typeahead-search,&amp;#13;\n.x-pisn-sp-typeahead-search-default {&amp;#13;\n  .tt-suggestion:hover {&amp;#13;\n    background-color: $x-pisn-sp-typeahead-hover-bg;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .tt-dataset {&amp;#13;\n    border: $x-pisn-sp-typeahead-border solid $x-pisn-sp-typeahead-border-color;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .form-control {&amp;#13;\n    border: $x-pisn-sp-typeahead-border solid $x-pisn-sp-typeahead-border-color;&amp;#13;\n    border-radius: $x-pisn-sp-typeahead-border-radius;&amp;#13;\n    font-size: $x-pisn-sp-typeahead-font-size;&amp;#13;\n    height: $x-pisn-sp-typeahead-input-height;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .form-control:focus {&amp;#13;\n    outline: 0;&amp;#13;\n    border-color: $x-pisn-sp-typeahead-border-color;&amp;#13;\n    box-shadow: none;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-typeahead-icon {&amp;#13;\n    color: $x-pisn-sp-typeahead-border-color;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  ::placeholder {&amp;#13;\n    /* Chrome, Firefox, Opera, Safari 10.1+ */&amp;#13;\n    color: $x-pisn-sp-typeahead-placeholder-color;&amp;#13;\n    /* Firefox */&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  :-ms-input-placeholder {&amp;#13;\n    /* Internet Explorer 10-11 */&amp;#13;\n    color: $x-pisn-sp-typeahead-placeholder-color;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  ::-ms-input-placeholder {&amp;#13;\n    /* Microsoft Edge */&amp;#13;\n    color: $x-pisn-sp-typeahead-placeholder-color;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* primary color */&amp;#13;\n.x-pisn-sp-typeahead-search-primary {&amp;#13;\n  .tt-suggestion:hover {&amp;#13;\n    background-color: $brand-primary;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .tt-dataset {&amp;#13;\n    border: $x-pisn-sp-typeahead-border solid $brand-primary;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .form-control {&amp;#13;\n    border: $x-pisn-sp-typeahead-border solid $brand-primary;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .form-control:focus {&amp;#13;\n    border-color: $brand-primary;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-typeahead-icon {&amp;#13;\n    color: $brand-primary;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n}&amp;#13;\n&amp;#13;\n/* info color */&amp;#13;\n.x-pisn-sp-typeahead-search-info {&amp;#13;\n  .tt-suggestion:hover {&amp;#13;\n    background-color: $brand-info;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .tt-dataset {&amp;#13;\n    border: $x-pisn-sp-typeahead-border solid $brand-info;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .form-control {&amp;#13;\n    border: $x-pisn-sp-typeahead-border solid $brand-info;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .form-control:focus {&amp;#13;\n    border-color: $brand-info;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-typeahead-icon {&amp;#13;\n    color: $brand-info;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tt-suggestion {&amp;#13;\n  padding: $padding-base-vertical $padding-base-horizontal;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-icon {&amp;#13;\n  position: absolute;&amp;#13;\n  top: calc(50% - 10px);&amp;#13;\n  font-size: 18px;&amp;#13;\n  left: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.fa-light-icon {&amp;#13;\n  -webkit-text-stroke: 1px $x-pisn-sp-typeahead-bg;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-icon-close {&amp;#13;\n  left: unset;&amp;#13;\n  right: 10px;&amp;#13;\n  -webkit-text-stroke: 2px $x-pisn-sp-typeahead-bg;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-icon-close-hide {&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-icon-close-show {&amp;#13;\n  display: block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tt-menu {&amp;#13;\n  padding: 0px;&amp;#13;\n  width: 100%;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tt-dataset {&amp;#13;\n  max-height: 194px;&amp;#13;\n  overflow-y: scroll;&amp;#13;\n  width: 100%;&amp;#13;\n  background-color: $x-pisn-sp-typeahead-bg;&amp;#13;\n  border-radius: $x-pisn-sp-typeahead-border-radius;&amp;#13;\n  margin-top: 3px;&amp;#13;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tt-suggestion:hover {&amp;#13;\n  cursor: pointer;&amp;#13;\n  color: $x-pisn-sp-typeahead-hover-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.twitter-typeahead {&amp;#13;\n  width: 100%;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-typeahead-search__dim {&amp;#13;\n  box-shadow: 0 0 0 1000px rgba(255, 255, 255, $x-pisn-sp-typeahead-dim-opacity);&amp;#13;\n  box-shadow: 0 0 0 100vmax rgba(255, 255, 255, $x-pisn-sp-typeahead-dim-opacity);&amp;#13;\n  z-index: 9999;&amp;#13;\n  transition-timing-function: ease-out, step-end;&amp;#13;\n  -webkit-transition: all 0.5s ease;&amp;#13;\n  -moz-transition: all 0.5s ease;&amp;#13;\n  -o-transition: all 0.5s ease;&amp;#13;\n  transition: all 0.5s ease;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;color,size,table,filter,order_by,order_direction&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-typeahead-search&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function Link(scope) {\n\n  scope.cleanTypeahead = function () {\n    scope.typeaheadElement.typeahead('val', '');\n    scope.c.typing = false;\n  };\n\n  scope.$watch(scope.c.idName, function (newValues, oldValues, scope) {\n    scope.typeaheadElement = $(\n      '#' + scope.c.idName + '.typeahead.form-control.x-pisn-sp-typeahead-search__input'\n    );\n    scope.typeaheadContainer = scope.typeaheadElement.parent();\n\n    scope.typeaheadElement.typeahead({\n      minLength: 1,\n      delay: 200,\n      highlight: false\n    }, {\n      name: scope.c.name,\n      limit: scope.c.options.limit_result,\n      display: scope.c.options.display_field,\n      source: function (query, syncResults, asyncResults) {\n        if (query &amp;&amp; query.length &gt; 1) {\n          var entrypoint = scope.c.apiUrl + '&amp;sysparm_query=' + scope.c.fieldCondition + query;\n          $.get(entrypoint, function (data) {\n            asyncResults(data.result);\n          });\n        }\n      }\n    });\n\n    scope.typeaheadElement.bind('typeahead:select', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('x-pisn-sp-typeahead-search__dim');\n\n      scope.c.selected = true;\n      scope.c.typing = false;\n      scope.c.selectRecord(suggestion);\n    });\n\n    scope.typeaheadElement.bind('typeahead:active', function (ev, suggestion) {\n      scope.c.selected = false;\n      scope.c.typing = true;\n\n      if (scope.options.overlay)\n        scope.typeaheadContainer.addClass('x-pisn-sp-typeahead-search__dim');\n    });\n\n    scope.typeaheadElement.bind('typeahead:close', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('x-pisn-sp-typeahead-search__dim');\n      if (!scope.c.selected)\n        scope.typeaheadElement.typeahead('val', '');\n      scope.c.typing = false;\n    });\n\n  });\n}]]&gt;&lt;/link&gt;&lt;name&gt;SP Typeahead Search&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Column showed in the results\",\"name\":\"display_field\",\"section\":\"Data\",\"label\":\"Display Field\",\"type\":\"field_name\"},{\"hint\":\"Column used in the Typeahead query\",\"name\":\"query_field\",\"section\":\"Data\",\"default_value\":\"name\",\"label\":\"Query Field\",\"type\":\"field_name\"},{\"hint\":\"Limit the number of records to visualise in the result menu\",\"name\":\"limit_result\",\"section\":\"Data\",\"default_value\":\"5\",\"label\":\"Limit Result\",\"type\":\"integer\"},{\"name\":\"placeholder\",\"section\":\"Presentation\",\"default_value\":\"Search\",\"label\":\"Placeholder\",\"type\":\"string\"},{\"name\":\"overlay\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Overlay\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.uri = gs.getProperty('glide.servlet.uri');\n\n  options.overlay = options.overlay == 'true' || options.overlay == true;\n  options.order_by = options.order_by || options.display_field;\n\n  var gr = new GlideRecord('sp_instance_table');\n  gr.setLimit(1);\n  gr.addQuery('sp_widget',options.sp_widget);\n\tgr.addQuery('sp_column',options.sp_column);\n  gr.query();\n  while (gr.next())\n    data.widget_sys_id = gr.getUniqueValue();\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-07 21:30:57&lt;/sys_created_on&gt;&lt;sys_id&gt;94bc890fdbad63005c025a6adc9619a8&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP Typeahead Search&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\"&gt;ab90c803dbe963005c025a6adc9619d8&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Typeahead Search\"&gt;ab90c803dbe963005c025a6adc9619d8&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_94bc890fdbad63005c025a6adc9619a8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-08 12:52:46&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-typeahead-search x-pisn-sp-typeahead-search-{{::c.options.color}} wrapper wrapper-{{::c.options.size}}\"&gt;\n  &lt;div class=\"x-pisn-sp-typeahead-search__container\"&gt;\n    &lt;input id=\"{{c.idName}}\" class=\"typeahead form-control x-pisn-sp-typeahead-search__input\" type=\"text\" placeholder=\"{{::c.options.placeholder}}\"\n      autocomplete=\"off\" spellcheck=\"false\" dir=\"auto\"&gt;\n    &lt;i class=\"fa fa-search fa-light-icon x-pisn-sp-typeahead-icon\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i class=\"fa fa-times fa-light-icon x-pisn-sp-typeahead-icon x-pisn-sp-typeahead-icon-close\" ng-class=\"{'x-pisn-sp-typeahead-icon-close-show animate fadeIn': c.typing}\"\n      ng-click=\"cleanTypeahead()\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>778331561</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>c378aee1db043b00d033df8b4b961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c8f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>SP Typeahead Search</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>f280e8978569a300fa9413b4d1223685</update_guid>\n<update_guid_history>f280e8978569a300fa9413b4d1223685:778331561,b740a0974e69a300d33d9ab6d0e1750f:-2098632962,8c5f5c57e369a30064fdd81dc796c01c:-1317512202,4e1f1c57e669a300faca48465ad8b55a:87434605,034dd8536469a30017a00613a9397ef2:783310006,287e018f5bad6300092ee3692df60eaf:-479546534,84ed0d4f52ad630042638cb02941b94f:-1907363757,eb8d014fe1ad6300ed650413972039b6:-1748992097</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_ab0e1893db69a3005c025a6adc96195e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance_table\"&gt;&lt;sp_instance_table action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;display_field&gt;name&lt;/display_field&gt;&lt;field_list/&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;maximum_entries&gt;5&lt;/maximum_entries&gt;&lt;order&gt;1&lt;/order&gt;&lt;order_by&gt;name&lt;/order_by&gt;&lt;order_direction&gt;asc&lt;/order_direction&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;180ed4d3db69a3005c025a6adc9619f9&lt;/sp_column&gt;&lt;sp_page/&gt;&lt;sp_widget display_value=\"SP Typeahead Search\"&gt;94bc890fdbad63005c025a6adc9619a8&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance_table&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-08 12:41:55&lt;/sys_created_on&gt;&lt;sys_id&gt;ab0e1893db69a3005c025a6adc96195e&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\"&gt;ab90c803dbe963005c025a6adc9619d8&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Typeahead Search\"&gt;ab90c803dbe963005c025a6adc9619d8&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_table_ab0e1893db69a3005c025a6adc96195e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-08 12:43:06&lt;/sys_updated_on&gt;&lt;table&gt;sys_user&lt;/table&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"display_field\": {\n\t\t\"value\": \"name\",\n\t\t\"displayValue\": \"name\"\n\t},\n\t\"query_field\": {\n\t\t\"value\": \"name\",\n\t\t\"displayValue\": \"name\"\n\t},\n\t\"limit_result\": {\n\t\t\"value\": 10,\n\t\t\"displayValue\": \"10\"\n\t},\n\t\"placeholder\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"overlay\": {\n\t\t\"value\": \"true\",\n\t\t\"displayValue\": \"true\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance_table&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=ab0e1893db69a3005c025a6adc96195e\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>542883412</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>c778aee1db043b00d033df8b4b961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815c700000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table>sys_user</table>\n<target_name/>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>895e1cd30c69a3003d12c57ac527284f</update_guid>\n<update_guid_history>895e1cd30c69a3003d12c57ac527284f:542883412,370e1893a569a3002cb6b9476cb0cd60:-822704073</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_6f5d1093db69a3005c025a6adc9619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"SP Typeahead Search deps\">755d1093db69a3005c025a6adc961984</sp_dependency><sp_widget display_value=\"SP Typeahead Search\">94bc890fdbad63005c025a6adc9619a8</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio.petito</sys_created_by><sys_created_on>2018-11-08 12:38:54</sys_created_on><sys_id>6f5d1093db69a3005c025a6adc9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>SP Typeahead Search deps.SP Typeahead Search</sys_name><sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\">ab90c803dbe963005c025a6adc9619d8</sys_package><sys_policy/><sys_scope display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</sys_scope><sys_update_name>m2m_sp_widget_dependency_6f5d1093db69a3005c025a6adc9619d5</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2018-11-08 12:38:54</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-387890816</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:18</sys_created_on>\n<sys_id>cb78aee1db043b00d033df8b4b961935</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815b460000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:18</sys_updated_on>\n<table/>\n<target_name>SP Typeahead Search deps.SP Typeahead Search</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>e35d10934069a30062463d823f8351d7</update_guid>\n<update_guid_history>e35d10934069a30062463d823f8351d7:-387890816</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Typeahead Search\">ab90c803dbe963005c025a6adc9619d8</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_759d1493db69a3005c025a6adc961965</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_sp_type_sr.typeahead.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*!\n * typeahead.js 1.2.0\n * https://github.com/twitter/typeahead.js\n * Copyright 2013-2017 Twitter, Inc. and other contributors; Licensed MIT\n */\n\n(function(root, factory) {\n    if (typeof define === \"function\" &amp;&amp; define.amd) {\n        define([ \"jquery\" ], function(a0) {\n            return root[\"Bloodhound\"] = factory(a0);\n        });\n    } else if (typeof exports === \"object\") {\n        module.exports = factory(require(\"jquery\"));\n    } else {\n        root[\"Bloodhound\"] = factory(root[\"jQuery\"]);\n    }\n})(this, function($) {\n    var _ = function() {\n        \"use strict\";\n        return {\n            isMsie: function() {\n                return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n            },\n            isBlankString: function(str) {\n                return !str || /^\\s*$/.test(str);\n            },\n            escapeRegExChars: function(str) {\n                return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&amp;\");\n            },\n            isString: function(obj) {\n                return typeof obj === \"string\";\n            },\n            isNumber: function(obj) {\n                return typeof obj === \"number\";\n            },\n            isArray: $.isArray,\n            isFunction: $.isFunction,\n            isObject: $.isPlainObject,\n            isUndefined: function(obj) {\n                return typeof obj === \"undefined\";\n            },\n            isElement: function(obj) {\n                return !!(obj &amp;&amp; obj.nodeType === 1);\n            },\n            isJQuery: function(obj) {\n                return obj instanceof $;\n            },\n            toStr: function toStr(s) {\n                return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n            },\n            bind: $.proxy,\n            each: function(collection, cb) {\n                $.each(collection, reverseArgs);\n                function reverseArgs(index, value) {\n                    return cb(value, index);\n                }\n            },\n            map: $.map,\n            filter: $.grep,\n            every: function(obj, test) {\n                var result = true;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (!(result = test.call(null, val, key, obj))) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            some: function(obj, test) {\n                var result = false;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (result = test.call(null, val, key, obj)) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            mixin: $.extend,\n            identity: function(x) {\n                return x;\n            },\n            clone: function(obj) {\n                return $.extend(true, {}, obj);\n            },\n            getIdGenerator: function() {\n                var counter = 0;\n                return function() {\n                    return counter++;\n                };\n            },\n            templatify: function templatify(obj) {\n                return $.isFunction(obj) ? obj : template;\n                function template() {\n                    return String(obj);\n                }\n            },\n            defer: function(fn) {\n                setTimeout(fn, 0);\n            },\n            debounce: function(func, wait, immediate) {\n                var timeout, result;\n                return function() {\n                    var context = this, args = arguments, later, callNow;\n                    later = function() {\n                        timeout = null;\n                        if (!immediate) {\n                            result = func.apply(context, args);\n                        }\n                    };\n                    callNow = immediate &amp;&amp; !timeout;\n                    clearTimeout(timeout);\n                    timeout = setTimeout(later, wait);\n                    if (callNow) {\n                        result = func.apply(context, args);\n                    }\n                    return result;\n                };\n            },\n            throttle: function(func, wait) {\n                var context, args, timeout, result, previous, later;\n                previous = 0;\n                later = function() {\n                    previous = new Date();\n                    timeout = null;\n                    result = func.apply(context, args);\n                };\n                return function() {\n                    var now = new Date(), remaining = wait - (now - previous);\n                    context = this;\n                    args = arguments;\n                    if (remaining &lt;= 0) {\n                        clearTimeout(timeout);\n                        timeout = null;\n                        previous = now;\n                        result = func.apply(context, args);\n                    } else if (!timeout) {\n                        timeout = setTimeout(later, remaining);\n                    }\n                    return result;\n                };\n            },\n            stringify: function(val) {\n                return _.isString(val) ? val : JSON.stringify(val);\n            },\n            guid: function() {\n                function _p8(s) {\n                    var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n                    return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n                }\n                return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n            },\n            noop: function() {}\n        };\n    }();\n    var VERSION = \"1.2.0\";\n    var tokenizers = function() {\n        \"use strict\";\n        return {\n            nonword: nonword,\n            whitespace: whitespace,\n            ngram: ngram,\n            obj: {\n                nonword: getObjTokenizer(nonword),\n                whitespace: getObjTokenizer(whitespace),\n                ngram: getObjTokenizer(ngram)\n            }\n        };\n        function whitespace(str) {\n            str = _.toStr(str);\n            return str ? str.split(/\\s+/) : [];\n        }\n        function nonword(str) {\n            str = _.toStr(str);\n            return str ? str.split(/\\W+/) : [];\n        }\n        function ngram(str) {\n            str = _.toStr(str);\n            var tokens = [], word = \"\";\n            _.each(str.split(\"\"), function(char) {\n                if (char.match(/\\s+/)) {\n                    word = \"\";\n                } else {\n                    tokens.push(word + char);\n                    word += char;\n                }\n            });\n            return tokens;\n        }\n        function getObjTokenizer(tokenizer) {\n            return function setKey(keys) {\n                keys = _.isArray(keys) ? keys : [].slice.call(arguments, 0);\n                return function tokenize(o) {\n                    var tokens = [];\n                    _.each(keys, function(k) {\n                        tokens = tokens.concat(tokenizer(_.toStr(o[k])));\n                    });\n                    return tokens;\n                };\n            };\n        }\n    }();\n    var LruCache = function() {\n        \"use strict\";\n        function LruCache(maxSize) {\n            this.maxSize = _.isNumber(maxSize) ? maxSize : 100;\n            this.reset();\n            if (this.maxSize &lt;= 0) {\n                this.set = this.get = $.noop;\n            }\n        }\n        _.mixin(LruCache.prototype, {\n            set: function set(key, val) {\n                var tailItem = this.list.tail, node;\n                if (this.size &gt;= this.maxSize) {\n                    this.list.remove(tailItem);\n                    delete this.hash[tailItem.key];\n                    this.size--;\n                }\n                if (node = this.hash[key]) {\n                    node.val = val;\n                    this.list.moveToFront(node);\n                } else {\n                    node = new Node(key, val);\n                    this.list.add(node);\n                    this.hash[key] = node;\n                    this.size++;\n                }\n            },\n            get: function get(key) {\n                var node = this.hash[key];\n                if (node) {\n                    this.list.moveToFront(node);\n                    return node.val;\n                }\n            },\n            reset: function reset() {\n                this.size = 0;\n                this.hash = {};\n                this.list = new List();\n            }\n        });\n        function List() {\n            this.head = this.tail = null;\n        }\n        _.mixin(List.prototype, {\n            add: function add(node) {\n                if (this.head) {\n                    node.next = this.head;\n                    this.head.prev = node;\n                }\n                this.head = node;\n                this.tail = this.tail || node;\n            },\n            remove: function remove(node) {\n                node.prev ? node.prev.next = node.next : this.head = node.next;\n                node.next ? node.next.prev = node.prev : this.tail = node.prev;\n            },\n            moveToFront: function(node) {\n                this.remove(node);\n                this.add(node);\n            }\n        });\n        function Node(key, val) {\n            this.key = key;\n            this.val = val;\n            this.prev = this.next = null;\n        }\n        return LruCache;\n    }();\n    var PersistentStorage = function() {\n        \"use strict\";\n        var LOCAL_STORAGE;\n        try {\n            LOCAL_STORAGE = window.localStorage;\n            LOCAL_STORAGE.setItem(\"~~~\", \"!\");\n            LOCAL_STORAGE.removeItem(\"~~~\");\n        } catch (err) {\n            LOCAL_STORAGE = null;\n        }\n        function PersistentStorage(namespace, override) {\n            this.prefix = [ \"__\", namespace, \"__\" ].join(\"\");\n            this.ttlKey = \"__ttl__\";\n            this.keyMatcher = new RegExp(\"^\" + _.escapeRegExChars(this.prefix));\n            this.ls = override || LOCAL_STORAGE;\n            !this.ls &amp;&amp; this._noop();\n        }\n        _.mixin(PersistentStorage.prototype, {\n            _prefix: function(key) {\n                return this.prefix + key;\n            },\n            _ttlKey: function(key) {\n                return this._prefix(key) + this.ttlKey;\n            },\n            _noop: function() {\n                this.get = this.set = this.remove = this.clear = this.isExpired = _.noop;\n            },\n            _safeSet: function(key, val) {\n                try {\n                    this.ls.setItem(key, val);\n                } catch (err) {\n                    if (err.name === \"QuotaExceededError\") {\n                        this.clear();\n                        this._noop();\n                    }\n                }\n            },\n            get: function(key) {\n                if (this.isExpired(key)) {\n                    this.remove(key);\n                }\n                return decode(this.ls.getItem(this._prefix(key)));\n            },\n            set: function(key, val, ttl) {\n                if (_.isNumber(ttl)) {\n                    this._safeSet(this._ttlKey(key), encode(now() + ttl));\n                } else {\n                    this.ls.removeItem(this._ttlKey(key));\n                }\n                return this._safeSet(this._prefix(key), encode(val));\n            },\n            remove: function(key) {\n                this.ls.removeItem(this._ttlKey(key));\n                this.ls.removeItem(this._prefix(key));\n                return this;\n            },\n            clear: function() {\n                var i, keys = gatherMatchingKeys(this.keyMatcher);\n                for (i = keys.length; i--; ) {\n                    this.remove(keys[i]);\n                }\n                return this;\n            },\n            isExpired: function(key) {\n                var ttl = decode(this.ls.getItem(this._ttlKey(key)));\n                return _.isNumber(ttl) &amp;&amp; now() &gt; ttl ? true : false;\n            }\n        });\n        return PersistentStorage;\n        function now() {\n            return new Date().getTime();\n        }\n        function encode(val) {\n            return JSON.stringify(_.isUndefined(val) ? null : val);\n        }\n        function decode(val) {\n            return $.parseJSON(val);\n        }\n        function gatherMatchingKeys(keyMatcher) {\n            var i, key, keys = [], len = LOCAL_STORAGE.length;\n            for (i = 0; i &lt; len; i++) {\n                if ((key = LOCAL_STORAGE.key(i)).match(keyMatcher)) {\n                    keys.push(key.replace(keyMatcher, \"\"));\n                }\n            }\n            return keys;\n        }\n    }();\n    var Transport = function() {\n        \"use strict\";\n        var pendingRequestsCount = 0, pendingRequests = {}, sharedCache = new LruCache(10);\n        function Transport(o) {\n            o = o || {};\n            this.maxPendingRequests = o.maxPendingRequests || 6;\n            this.cancelled = false;\n            this.lastReq = null;\n            this._send = o.transport;\n            this._get = o.limiter ? o.limiter(this._get) : this._get;\n            this._cache = o.cache === false ? new LruCache(0) : sharedCache;\n        }\n        Transport.setMaxPendingRequests = function setMaxPendingRequests(num) {\n            this.maxPendingRequests = num;\n        };\n        Transport.resetCache = function resetCache() {\n            sharedCache.reset();\n        };\n        _.mixin(Transport.prototype, {\n            _fingerprint: function fingerprint(o) {\n                o = o || {};\n                return o.url + o.type + $.param(o.data || {});\n            },\n            _get: function(o, cb) {\n                var that = this, fingerprint, jqXhr;\n                fingerprint = this._fingerprint(o);\n                if (this.cancelled || fingerprint !== this.lastReq) {\n                    return;\n                }\n                if (jqXhr = pendingRequests[fingerprint]) {\n                    jqXhr.done(done).fail(fail);\n                } else if (pendingRequestsCount &lt; this.maxPendingRequests) {\n                    pendingRequestsCount++;\n                    pendingRequests[fingerprint] = this._send(o).done(done).fail(fail).always(always);\n                } else {\n                    this.onDeckRequestArgs = [].slice.call(arguments, 0);\n                }\n                function done(resp) {\n                    cb(null, resp);\n                    that._cache.set(fingerprint, resp);\n                }\n                function fail() {\n                    cb(true);\n                }\n                function always() {\n                    pendingRequestsCount--;\n                    delete pendingRequests[fingerprint];\n                    if (that.onDeckRequestArgs) {\n                        that._get.apply(that, that.onDeckRequestArgs);\n                        that.onDeckRequestArgs = null;\n                    }\n                }\n            },\n            get: function(o, cb) {\n                var resp, fingerprint;\n                cb = cb || $.noop;\n                o = _.isString(o) ? {\n                    url: o\n                } : o || {};\n                fingerprint = this._fingerprint(o);\n                this.cancelled = false;\n                this.lastReq = fingerprint;\n                if (resp = this._cache.get(fingerprint)) {\n                    cb(null, resp);\n                } else {\n                    this._get(o, cb);\n                }\n            },\n            cancel: function() {\n                this.cancelled = true;\n            }\n        });\n        return Transport;\n    }();\n    var SearchIndex = window.SearchIndex = function() {\n        \"use strict\";\n        var CHILDREN = \"c\", IDS = \"i\";\n        function SearchIndex(o) {\n            o = o || {};\n            if (!o.datumTokenizer || !o.queryTokenizer) {\n                $.error(\"datumTokenizer and queryTokenizer are both required\");\n            }\n            this.identify = o.identify || _.stringify;\n            this.datumTokenizer = o.datumTokenizer;\n            this.queryTokenizer = o.queryTokenizer;\n            this.matchAnyQueryToken = o.matchAnyQueryToken;\n            this.reset();\n        }\n        _.mixin(SearchIndex.prototype, {\n            bootstrap: function bootstrap(o) {\n                this.datums = o.datums;\n                this.trie = o.trie;\n            },\n            add: function(data) {\n                var that = this;\n                data = _.isArray(data) ? data : [ data ];\n                _.each(data, function(datum) {\n                    var id, tokens;\n                    that.datums[id = that.identify(datum)] = datum;\n                    tokens = normalizeTokens(that.datumTokenizer(datum));\n                    _.each(tokens, function(token) {\n                        var node, chars, ch;\n                        node = that.trie;\n                        chars = token.split(\"\");\n                        while (ch = chars.shift()) {\n                            node = node[CHILDREN][ch] || (node[CHILDREN][ch] = newNode());\n                            node[IDS].push(id);\n                        }\n                    });\n                });\n            },\n            get: function get(ids) {\n                var that = this;\n                return _.map(ids, function(id) {\n                    return that.datums[id];\n                });\n            },\n            search: function search(query) {\n                var that = this, tokens, matches;\n                tokens = normalizeTokens(this.queryTokenizer(query));\n                _.each(tokens, function(token) {\n                    var node, chars, ch, ids;\n                    if (matches &amp;&amp; matches.length === 0 &amp;&amp; !that.matchAnyQueryToken) {\n                        return false;\n                    }\n                    node = that.trie;\n                    chars = token.split(\"\");\n                    while (node &amp;&amp; (ch = chars.shift())) {\n                        node = node[CHILDREN][ch];\n                    }\n                    if (node &amp;&amp; chars.length === 0) {\n                        ids = node[IDS].slice(0);\n                        matches = matches ? getIntersection(matches, ids) : ids;\n                    } else {\n                        if (!that.matchAnyQueryToken) {\n                            matches = [];\n                            return false;\n                        }\n                    }\n                });\n                return matches ? _.map(unique(matches), function(id) {\n                    return that.datums[id];\n                }) : [];\n            },\n            all: function all() {\n                var values = [];\n                for (var key in this.datums) {\n                    values.push(this.datums[key]);\n                }\n                return values;\n            },\n            reset: function reset() {\n                this.datums = {};\n                this.trie = newNode();\n            },\n            serialize: function serialize() {\n                return {\n                    datums: this.datums,\n                    trie: this.trie\n                };\n            }\n        });\n        return SearchIndex;\n        function normalizeTokens(tokens) {\n            tokens = _.filter(tokens, function(token) {\n                return !!token;\n            });\n            tokens = _.map(tokens, function(token) {\n                return token.toLowerCase();\n            });\n            return tokens;\n        }\n        function newNode() {\n            var node = {};\n            node[IDS] = [];\n            node[CHILDREN] = {};\n            return node;\n        }\n        function unique(array) {\n            var seen = {}, uniques = [];\n            for (var i = 0, len = array.length; i &lt; len; i++) {\n                if (!seen[array[i]]) {\n                    seen[array[i]] = true;\n                    uniques.push(array[i]);\n                }\n            }\n            return uniques;\n        }\n        function getIntersection(arrayA, arrayB) {\n            var ai = 0, bi = 0, intersection = [];\n            arrayA = arrayA.sort();\n            arrayB = arrayB.sort();\n            var lenArrayA = arrayA.length, lenArrayB = arrayB.length;\n            while (ai &lt; lenArrayA &amp;&amp; bi &lt; lenArrayB) {\n                if (arrayA[ai] &lt; arrayB[bi]) {\n                    ai++;\n                } else if (arrayA[ai] &gt; arrayB[bi]) {\n                    bi++;\n                } else {\n                    intersection.push(arrayA[ai]);\n                    ai++;\n                    bi++;\n                }\n            }\n            return intersection;\n        }\n    }();\n    var Prefetch = function() {\n        \"use strict\";\n        var keys;\n        keys = {\n            data: \"data\",\n            protocol: \"protocol\",\n            thumbprint: \"thumbprint\"\n        };\n        function Prefetch(o) {\n            this.url = o.url;\n            this.ttl = o.ttl;\n            this.cache = o.cache;\n            this.prepare = o.prepare;\n            this.transform = o.transform;\n            this.transport = o.transport;\n            this.thumbprint = o.thumbprint;\n            this.storage = new PersistentStorage(o.cacheKey);\n        }\n        _.mixin(Prefetch.prototype, {\n            _settings: function settings() {\n                return {\n                    url: this.url,\n                    type: \"GET\",\n                    dataType: \"json\"\n                };\n            },\n            store: function store(data) {\n                if (!this.cache) {\n                    return;\n                }\n                this.storage.set(keys.data, data, this.ttl);\n                this.storage.set(keys.protocol, location.protocol, this.ttl);\n                this.storage.set(keys.thumbprint, this.thumbprint, this.ttl);\n            },\n            fromCache: function fromCache() {\n                var stored = {}, isExpired;\n                if (!this.cache) {\n                    return null;\n                }\n                stored.data = this.storage.get(keys.data);\n                stored.protocol = this.storage.get(keys.protocol);\n                stored.thumbprint = this.storage.get(keys.thumbprint);\n                isExpired = stored.thumbprint !== this.thumbprint || stored.protocol !== location.protocol;\n                return stored.data &amp;&amp; !isExpired ? stored.data : null;\n            },\n            fromNetwork: function(cb) {\n                var that = this, settings;\n                if (!cb) {\n                    return;\n                }\n                settings = this.prepare(this._settings());\n                this.transport(settings).fail(onError).done(onResponse);\n                function onError() {\n                    cb(true);\n                }\n                function onResponse(resp) {\n                    cb(null, that.transform(resp));\n                }\n            },\n            clear: function clear() {\n                this.storage.clear();\n                return this;\n            }\n        });\n        return Prefetch;\n    }();\n    var Remote = function() {\n        \"use strict\";\n        function Remote(o) {\n            this.url = o.url;\n            this.prepare = o.prepare;\n            this.transform = o.transform;\n            this.indexResponse = o.indexResponse;\n            this.transport = new Transport({\n                cache: o.cache,\n                limiter: o.limiter,\n                transport: o.transport,\n                maxPendingRequests: o.maxPendingRequests\n            });\n        }\n        _.mixin(Remote.prototype, {\n            _settings: function settings() {\n                return {\n                    url: this.url,\n                    type: \"GET\",\n                    dataType: \"json\"\n                };\n            },\n            get: function get(query, cb) {\n                var that = this, settings;\n                if (!cb) {\n                    return;\n                }\n                query = query || \"\";\n                settings = this.prepare(query, this._settings());\n                return this.transport.get(settings, onResponse);\n                function onResponse(err, resp) {\n                    err ? cb([]) : cb(that.transform(resp));\n                }\n            },\n            cancelLastRequest: function cancelLastRequest() {\n                this.transport.cancel();\n            }\n        });\n        return Remote;\n    }();\n    var oParser = function() {\n        \"use strict\";\n        return function parse(o) {\n            var defaults, sorter;\n            defaults = {\n                initialize: true,\n                identify: _.stringify,\n                datumTokenizer: null,\n                queryTokenizer: null,\n                matchAnyQueryToken: false,\n                sufficient: 5,\n                indexRemote: false,\n                sorter: null,\n                local: [],\n                prefetch: null,\n                remote: null\n            };\n            o = _.mixin(defaults, o || {});\n            !o.datumTokenizer &amp;&amp; $.error(\"datumTokenizer is required\");\n            !o.queryTokenizer &amp;&amp; $.error(\"queryTokenizer is required\");\n            sorter = o.sorter;\n            o.sorter = sorter ? function(x) {\n                return x.sort(sorter);\n            } : _.identity;\n            o.local = _.isFunction(o.local) ? o.local() : o.local;\n            o.prefetch = parsePrefetch(o.prefetch);\n            o.remote = parseRemote(o.remote);\n            return o;\n        };\n        function parsePrefetch(o) {\n            var defaults;\n            if (!o) {\n                return null;\n            }\n            defaults = {\n                url: null,\n                ttl: 24 * 60 * 60 * 1e3,\n                cache: true,\n                cacheKey: null,\n                thumbprint: \"\",\n                prepare: _.identity,\n                transform: _.identity,\n                transport: null\n            };\n            o = _.isString(o) ? {\n                url: o\n            } : o;\n            o = _.mixin(defaults, o);\n            !o.url &amp;&amp; $.error(\"prefetch requires url to be set\");\n            o.transform = o.filter || o.transform;\n            o.cacheKey = o.cacheKey || o.url;\n            o.thumbprint = VERSION + o.thumbprint;\n            o.transport = o.transport ? callbackToDeferred(o.transport) : $.ajax;\n            return o;\n        }\n        function parseRemote(o) {\n            var defaults;\n            if (!o) {\n                return;\n            }\n            defaults = {\n                url: null,\n                cache: true,\n                prepare: null,\n                replace: null,\n                wildcard: null,\n                limiter: null,\n                rateLimitBy: \"debounce\",\n                rateLimitWait: 300,\n                transform: _.identity,\n                transport: null\n            };\n            o = _.isString(o) ? {\n                url: o\n            } : o;\n            o = _.mixin(defaults, o);\n            !o.url &amp;&amp; $.error(\"remote requires url to be set\");\n            o.transform = o.filter || o.transform;\n            o.prepare = toRemotePrepare(o);\n            o.limiter = toLimiter(o);\n            o.transport = o.transport ? callbackToDeferred(o.transport) : $.ajax;\n            delete o.replace;\n            delete o.wildcard;\n            delete o.rateLimitBy;\n            delete o.rateLimitWait;\n            return o;\n        }\n        function toRemotePrepare(o) {\n            var prepare, replace, wildcard;\n            prepare = o.prepare;\n            replace = o.replace;\n            wildcard = o.wildcard;\n            if (prepare) {\n                return prepare;\n            }\n            if (replace) {\n                prepare = prepareByReplace;\n            } else if (o.wildcard) {\n                prepare = prepareByWildcard;\n            } else {\n                prepare = identityPrepare;\n            }\n            return prepare;\n            function prepareByReplace(query, settings) {\n                settings.url = replace(settings.url, query);\n                return settings;\n            }\n            function prepareByWildcard(query, settings) {\n                settings.url = settings.url.replace(wildcard, encodeURIComponent(query));\n                return settings;\n            }\n            function identityPrepare(query, settings) {\n                return settings;\n            }\n        }\n        function toLimiter(o) {\n            var limiter, method, wait;\n            limiter = o.limiter;\n            method = o.rateLimitBy;\n            wait = o.rateLimitWait;\n            if (!limiter) {\n                limiter = /^throttle$/i.test(method) ? throttle(wait) : debounce(wait);\n            }\n            return limiter;\n            function debounce(wait) {\n                return function debounce(fn) {\n                    return _.debounce(fn, wait);\n                };\n            }\n            function throttle(wait) {\n                return function throttle(fn) {\n                    return _.throttle(fn, wait);\n                };\n            }\n        }\n        function callbackToDeferred(fn) {\n            return function wrapper(o) {\n                var deferred = $.Deferred();\n                fn(o, onSuccess, onError);\n                return deferred;\n                function onSuccess(resp) {\n                    _.defer(function() {\n                        deferred.resolve(resp);\n                    });\n                }\n                function onError(err) {\n                    _.defer(function() {\n                        deferred.reject(err);\n                    });\n                }\n            };\n        }\n    }();\n    var Bloodhound = function() {\n        \"use strict\";\n        var old;\n        old = window &amp;&amp; window.Bloodhound;\n        function Bloodhound(o) {\n            o = oParser(o);\n            this.sorter = o.sorter;\n            this.identify = o.identify;\n            this.sufficient = o.sufficient;\n            this.indexRemote = o.indexRemote;\n            this.local = o.local;\n            this.remote = o.remote ? new Remote(o.remote) : null;\n            this.prefetch = o.prefetch ? new Prefetch(o.prefetch) : null;\n            this.index = new SearchIndex({\n                identify: this.identify,\n                datumTokenizer: o.datumTokenizer,\n                queryTokenizer: o.queryTokenizer\n            });\n            o.initialize !== false &amp;&amp; this.initialize();\n        }\n        Bloodhound.noConflict = function noConflict() {\n            window &amp;&amp; (window.Bloodhound = old);\n            return Bloodhound;\n        };\n        Bloodhound.tokenizers = tokenizers;\n        _.mixin(Bloodhound.prototype, {\n            __ttAdapter: function ttAdapter() {\n                var that = this;\n                return this.remote ? withAsync : withoutAsync;\n                function withAsync(query, sync, async) {\n                    return that.search(query, sync, async);\n                }\n                function withoutAsync(query, sync) {\n                    return that.search(query, sync);\n                }\n            },\n            _loadPrefetch: function loadPrefetch() {\n                var that = this, deferred, serialized;\n                deferred = $.Deferred();\n                if (!this.prefetch) {\n                    deferred.resolve();\n                } else if (serialized = this.prefetch.fromCache()) {\n                    this.index.bootstrap(serialized);\n                    deferred.resolve();\n                } else {\n                    this.prefetch.fromNetwork(done);\n                }\n                return deferred.promise();\n                function done(err, data) {\n                    if (err) {\n                        return deferred.reject();\n                    }\n                    that.add(data);\n                    that.prefetch.store(that.index.serialize());\n                    deferred.resolve();\n                }\n            },\n            _initialize: function initialize() {\n                var that = this, deferred;\n                this.clear();\n                (this.initPromise = this._loadPrefetch()).done(addLocalToIndex);\n                return this.initPromise;\n                function addLocalToIndex() {\n                    that.add(that.local);\n                }\n            },\n            initialize: function initialize(force) {\n                return !this.initPromise || force ? this._initialize() : this.initPromise;\n            },\n            add: function add(data) {\n                this.index.add(data);\n                return this;\n            },\n            get: function get(ids) {\n                ids = _.isArray(ids) ? ids : [].slice.call(arguments);\n                return this.index.get(ids);\n            },\n            search: function search(query, sync, async) {\n                var that = this, local;\n                sync = sync || _.noop;\n                async = async || _.noop;\n                local = this.sorter(this.index.search(query));\n                sync(this.remote ? local.slice() : local);\n                if (this.remote &amp;&amp; local.length &lt; this.sufficient) {\n                    this.remote.get(query, processRemote);\n                } else if (this.remote) {\n                    this.remote.cancelLastRequest();\n                }\n                return this;\n                function processRemote(remote) {\n                    var nonDuplicates = [];\n                    _.each(remote, function(r) {\n                        !_.some(local, function(l) {\n                            return that.identify(r) === that.identify(l);\n                        }) &amp;&amp; nonDuplicates.push(r);\n                    });\n                    that.indexRemote &amp;&amp; that.add(nonDuplicates);\n                    async(nonDuplicates);\n                }\n            },\n            all: function all() {\n                return this.index.all();\n            },\n            clear: function clear() {\n                this.index.reset();\n                return this;\n            },\n            clearPrefetchCache: function clearPrefetchCache() {\n                this.prefetch &amp;&amp; this.prefetch.clear();\n                return this;\n            },\n            clearRemoteCache: function clearRemoteCache() {\n                Transport.resetCache();\n                return this;\n            },\n            ttAdapter: function ttAdapter() {\n                return this.__ttAdapter();\n            }\n        });\n        return Bloodhound;\n    }();\n    return Bloodhound;\n});\n\n(function(root, factory) {\n    if (typeof define === \"function\" &amp;&amp; define.amd) {\n        define([ \"jquery\" ], function(a0) {\n            return factory(a0);\n        });\n    } else if (typeof exports === \"object\") {\n        module.exports = factory(require(\"jquery\"));\n    } else {\n        factory(root[\"jQuery\"]);\n    }\n})(this, function($) {\n    var _ = function() {\n        \"use strict\";\n        return {\n            isMsie: function() {\n                return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n            },\n            isBlankString: function(str) {\n                return !str || /^\\s*$/.test(str);\n            },\n            escapeRegExChars: function(str) {\n                return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&amp;\");\n            },\n            isString: function(obj) {\n                return typeof obj === \"string\";\n            },\n            isNumber: function(obj) {\n                return typeof obj === \"number\";\n            },\n            isArray: $.isArray,\n            isFunction: $.isFunction,\n            isObject: $.isPlainObject,\n            isUndefined: function(obj) {\n                return typeof obj === \"undefined\";\n            },\n            isElement: function(obj) {\n                return !!(obj &amp;&amp; obj.nodeType === 1);\n            },\n            isJQuery: function(obj) {\n                return obj instanceof $;\n            },\n            toStr: function toStr(s) {\n                return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n            },\n            bind: $.proxy,\n            each: function(collection, cb) {\n                $.each(collection, reverseArgs);\n                function reverseArgs(index, value) {\n                    return cb(value, index);\n                }\n            },\n            map: $.map,\n            filter: $.grep,\n            every: function(obj, test) {\n                var result = true;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (!(result = test.call(null, val, key, obj))) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            some: function(obj, test) {\n                var result = false;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (result = test.call(null, val, key, obj)) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            mixin: $.extend,\n            identity: function(x) {\n                return x;\n            },\n            clone: function(obj) {\n                return $.extend(true, {}, obj);\n            },\n            getIdGenerator: function() {\n                var counter = 0;\n                return function() {\n                    return counter++;\n                };\n            },\n            templatify: function templatify(obj) {\n                return $.isFunction(obj) ? obj : template;\n                function template() {\n                    return String(obj);\n                }\n            },\n            defer: function(fn) {\n                setTimeout(fn, 0);\n            },\n            debounce: function(func, wait, immediate) {\n                var timeout, result;\n                return function() {\n                    var context = this, args = arguments, later, callNow;\n                    later = function() {\n                        timeout = null;\n                        if (!immediate) {\n                            result = func.apply(context, args);\n                        }\n                    };\n                    callNow = immediate &amp;&amp; !timeout;\n                    clearTimeout(timeout);\n                    timeout = setTimeout(later, wait);\n                    if (callNow) {\n                        result = func.apply(context, args);\n                    }\n                    return result;\n                };\n            },\n            throttle: function(func, wait) {\n                var context, args, timeout, result, previous, later;\n                previous = 0;\n                later = function() {\n                    previous = new Date();\n                    timeout = null;\n                    result = func.apply(context, args);\n                };\n                return function() {\n                    var now = new Date(), remaining = wait - (now - previous);\n                    context = this;\n                    args = arguments;\n                    if (remaining &lt;= 0) {\n                        clearTimeout(timeout);\n                        timeout = null;\n                        previous = now;\n                        result = func.apply(context, args);\n                    } else if (!timeout) {\n                        timeout = setTimeout(later, remaining);\n                    }\n                    return result;\n                };\n            },\n            stringify: function(val) {\n                return _.isString(val) ? val : JSON.stringify(val);\n            },\n            guid: function() {\n                function _p8(s) {\n                    var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n                    return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n                }\n                return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n            },\n            noop: function() {}\n        };\n    }();\n    var WWW = function() {\n        \"use strict\";\n        var defaultClassNames = {\n            wrapper: \"twitter-typeahead\",\n            input: \"tt-input\",\n            hint: \"tt-hint\",\n            menu: \"tt-menu\",\n            dataset: \"tt-dataset\",\n            suggestion: \"tt-suggestion\",\n            selectable: \"tt-selectable\",\n            empty: \"tt-empty\",\n            open: \"tt-open\",\n            cursor: \"tt-cursor\",\n            highlight: \"tt-highlight\"\n        };\n        return build;\n        function build(o) {\n            var www, classes;\n            classes = _.mixin({}, defaultClassNames, o);\n            www = {\n                css: buildCss(),\n                classes: classes,\n                html: buildHtml(classes),\n                selectors: buildSelectors(classes)\n            };\n            return {\n                css: www.css,\n                html: www.html,\n                classes: www.classes,\n                selectors: www.selectors,\n                mixin: function(o) {\n                    _.mixin(o, www);\n                }\n            };\n        }\n        function buildHtml(c) {\n            return {\n                wrapper: '&lt;span class=\"' + c.wrapper + '\"&gt;&lt;/span&gt;',\n                menu: '&lt;div role=\"listbox\" class=\"' + c.menu + '\"&gt;&lt;/div&gt;'\n            };\n        }\n        function buildSelectors(classes) {\n            var selectors = {};\n            _.each(classes, function(v, k) {\n                selectors[k] = \".\" + v;\n            });\n            return selectors;\n        }\n        function buildCss() {\n            var css = {\n                wrapper: {\n                    position: \"relative\",\n                    display: \"inline-block\"\n                },\n                hint: {\n                    position: \"absolute\",\n                    top: \"0\",\n                    left: \"0\",\n                    borderColor: \"transparent\",\n                    boxShadow: \"none\",\n                    opacity: \"1\"\n                },\n                input: {\n                    position: \"relative\",\n                    verticalAlign: \"top\",\n                    backgroundColor: \"transparent\"\n                },\n                inputWithNoHint: {\n                    position: \"relative\",\n                    verticalAlign: \"top\"\n                },\n                menu: {\n                    position: \"absolute\",\n                    top: \"100%\",\n                    left: \"0\",\n                    zIndex: \"100\",\n                    display: \"none\"\n                },\n                ltr: {\n                    left: \"0\",\n                    right: \"auto\"\n                },\n                rtl: {\n                    left: \"auto\",\n                    right: \" 0\"\n                }\n            };\n            if (_.isMsie()) {\n                _.mixin(css.input, {\n                    backgroundImage: \"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)\"\n                });\n            }\n            return css;\n        }\n    }();\n    var EventBus = function() {\n        \"use strict\";\n        var namespace, deprecationMap;\n        namespace = \"typeahead:\";\n        deprecationMap = {\n            render: \"rendered\",\n            cursorchange: \"cursorchanged\",\n            select: \"selected\",\n            autocomplete: \"autocompleted\"\n        };\n        function EventBus(o) {\n            if (!o || !o.el) {\n                $.error(\"EventBus initialized without el\");\n            }\n            this.$el = $(o.el);\n        }\n        _.mixin(EventBus.prototype, {\n            _trigger: function(type, args) {\n                var $e = $.Event(namespace + type);\n                this.$el.trigger.call(this.$el, $e, args || []);\n                return $e;\n            },\n            before: function(type) {\n                var args, $e;\n                args = [].slice.call(arguments, 1);\n                $e = this._trigger(\"before\" + type, args);\n                return $e.isDefaultPrevented();\n            },\n            trigger: function(type) {\n                var deprecatedType;\n                this._trigger(type, [].slice.call(arguments, 1));\n                if (deprecatedType = deprecationMap[type]) {\n                    this._trigger(deprecatedType, [].slice.call(arguments, 1));\n                }\n            }\n        });\n        return EventBus;\n    }();\n    var EventEmitter = function() {\n        \"use strict\";\n        var splitter = /\\s+/, nextTick = getNextTick();\n        return {\n            onSync: onSync,\n            onAsync: onAsync,\n            off: off,\n            trigger: trigger\n        };\n        function on(method, types, cb, context) {\n            var type;\n            if (!cb) {\n                return this;\n            }\n            types = types.split(splitter);\n            cb = context ? bindContext(cb, context) : cb;\n            this._callbacks = this._callbacks || {};\n            while (type = types.shift()) {\n                this._callbacks[type] = this._callbacks[type] || {\n                    sync: [],\n                    async: []\n                };\n                this._callbacks[type][method].push(cb);\n            }\n            return this;\n        }\n        function onAsync(types, cb, context) {\n            return on.call(this, \"async\", types, cb, context);\n        }\n        function onSync(types, cb, context) {\n            return on.call(this, \"sync\", types, cb, context);\n        }\n        function off(types) {\n            var type;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            while (type = types.shift()) {\n                delete this._callbacks[type];\n            }\n            return this;\n        }\n        function trigger(types) {\n            var type, callbacks, args, syncFlush, asyncFlush;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            args = [].slice.call(arguments, 1);\n            while ((type = types.shift()) &amp;&amp; (callbacks = this._callbacks[type])) {\n                syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));\n                asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));\n                syncFlush() &amp;&amp; nextTick(asyncFlush);\n            }\n            return this;\n        }\n        function getFlush(callbacks, context, args) {\n            return flush;\n            function flush() {\n                var cancelled;\n                for (var i = 0, len = callbacks.length; !cancelled &amp;&amp; i &lt; len; i += 1) {\n                    cancelled = callbacks[i].apply(context, args) === false;\n                }\n                return !cancelled;\n            }\n        }\n        function getNextTick() {\n            var nextTickFn;\n            if (window.setImmediate) {\n                nextTickFn = function nextTickSetImmediate(fn) {\n                    setImmediate(function() {\n                        fn();\n                    });\n                };\n            } else {\n                nextTickFn = function nextTickSetTimeout(fn) {\n                    setTimeout(function() {\n                        fn();\n                    }, 0);\n                };\n            }\n            return nextTickFn;\n        }\n        function bindContext(fn, context) {\n            return fn.bind ? fn.bind(context) : function() {\n                fn.apply(context, [].slice.call(arguments, 0));\n            };\n        }\n    }();\n    var highlight = function(doc) {\n        \"use strict\";\n        var defaults = {\n            node: null,\n            pattern: null,\n            tagName: \"strong\",\n            className: null,\n            wordsOnly: false,\n            caseSensitive: false,\n            diacriticInsensitive: false\n        };\n        var accented = {\n            A: \"[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Ａａ]\",\n            B: \"[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Ｂｂ]\",\n            C: \"[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Ｃｃ]\",\n            D: \"[DdĎďǄ-ǆǱ-ǳᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Ｄｄ]\",\n            E: \"[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ｅｅ]\",\n            F: \"[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ﬀ-ﬄＦｆ]\",\n            G: \"[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Ｇｇ]\",\n            H: \"[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Ｈｈ]\",\n            I: \"[IiÌ-Ïì-ïĨ-İĲĳǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕ﬁﬃＩｉ]\",\n            J: \"[JjĲ-ĵǇ-ǌǰʲᴶⅉ⒥ⒿⓙⱼＪｊ]\",\n            K: \"[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Ｋｋ]\",\n            L: \"[LlĹ-ŀǇ-ǉˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿ﬂﬄＬｌ]\",\n            M: \"[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Ｍｍ]\",\n            N: \"[NnÑñŃ-ŉǊ-ǌǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Ｎｎ]\",\n            O: \"[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Ｏｏ]\",\n            P: \"[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Ｐｐ]\",\n            Q: \"[Qqℚ⒬Ⓠⓠ㏃Ｑｑ]\",\n            R: \"[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Ｒｒ]\",\n            S: \"[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜ﬆＳｓ]\",\n            T: \"[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ﬅﬆＴｔ]\",\n            U: \"[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Ｕｕ]\",\n            V: \"[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Ｖｖ]\",\n            W: \"[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ｗｗ]\",\n            X: \"[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Ｘｘ]\",\n            Y: \"[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Ｙｙ]\",\n            Z: \"[ZzŹ-žǱ-ǳᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Ｚｚ]\"\n        };\n        return function hightlight(o) {\n            var regex;\n            o = _.mixin({}, defaults, o);\n            if (!o.node || !o.pattern) {\n                return;\n            }\n            o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];\n            regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive);\n            traverse(o.node, hightlightTextNode);\n            function hightlightTextNode(textNode) {\n                var match, patternNode, wrapperNode;\n                if (match = regex.exec(textNode.data)) {\n                    wrapperNode = doc.createElement(o.tagName);\n                    o.className &amp;&amp; (wrapperNode.className = o.className);\n                    patternNode = textNode.splitText(match.index);\n                    patternNode.splitText(match[0].length);\n                    wrapperNode.appendChild(patternNode.cloneNode(true));\n                    textNode.parentNode.replaceChild(wrapperNode, patternNode);\n                }\n                return !!match;\n            }\n            function traverse(el, hightlightTextNode) {\n                var childNode, TEXT_NODE_TYPE = 3;\n                for (var i = 0; i &lt; el.childNodes.length; i++) {\n                    childNode = el.childNodes[i];\n                    if (childNode.nodeType === TEXT_NODE_TYPE) {\n                        i += hightlightTextNode(childNode) ? 1 : 0;\n                    } else {\n                        traverse(childNode, hightlightTextNode);\n                    }\n                }\n            }\n        };\n        function accent_replacer(chr) {\n            return accented[chr.toUpperCase()] || chr;\n        }\n        function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) {\n            var escapedPatterns = [], regexStr;\n            for (var i = 0, len = patterns.length; i &lt; len; i++) {\n                var escapedWord = _.escapeRegExChars(patterns[i]);\n                if (diacriticInsensitive) {\n                    escapedWord = escapedWord.replace(/\\S/g, accent_replacer);\n                }\n                escapedPatterns.push(escapedWord);\n            }\n            regexStr = wordsOnly ? \"\\\\b(\" + escapedPatterns.join(\"|\") + \")\\\\b\" : \"(\" + escapedPatterns.join(\"|\") + \")\";\n            return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, \"i\");\n        }\n    }(window.document);\n    var Input = function() {\n        \"use strict\";\n        var specialKeyCodeMap;\n        specialKeyCodeMap = {\n            9: \"tab\",\n            27: \"esc\",\n            37: \"left\",\n            39: \"right\",\n            13: \"enter\",\n            38: \"up\",\n            40: \"down\"\n        };\n        function Input(o, www) {\n            o = o || {};\n            if (!o.input) {\n                $.error(\"input is missing\");\n            }\n            www.mixin(this);\n            this.$hint = $(o.hint);\n            this.$input = $(o.input);\n            this.$input.attr({\n                \"aria-activedescendant\": \"\",\n                \"aria-owns\": this.$input.attr(\"id\") + \"_listbox\",\n                role: \"combobox\",\n                \"aria-readonly\": \"true\",\n                \"aria-autocomplete\": \"list\"\n            });\n            $(www.menu).attr(\"id\", this.$input.attr(\"id\") + \"_listbox\");\n            this.query = this.$input.val();\n            this.queryWhenFocused = this.hasFocus() ? this.query : null;\n            this.$overflowHelper = buildOverflowHelper(this.$input);\n            this._checkLanguageDirection();\n            if (this.$hint.length === 0) {\n                this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;\n            }\n            this.onSync(\"cursorchange\", this._updateDescendent);\n        }\n        Input.normalizeQuery = function(str) {\n            return _.toStr(str).replace(/^\\s*/g, \"\").replace(/\\s{2,}/g, \" \");\n        };\n        _.mixin(Input.prototype, EventEmitter, {\n            _onBlur: function onBlur() {\n                this.resetInputValue();\n                this.trigger(\"blurred\");\n            },\n            _onFocus: function onFocus() {\n                this.queryWhenFocused = this.query;\n                this.trigger(\"focused\");\n            },\n            _onKeydown: function onKeydown($e) {\n                var keyName = specialKeyCodeMap[$e.which || $e.keyCode];\n                this._managePreventDefault(keyName, $e);\n                if (keyName &amp;&amp; this._shouldTrigger(keyName, $e)) {\n                    this.trigger(keyName + \"Keyed\", $e);\n                }\n            },\n            _onInput: function onInput() {\n                this._setQuery(this.getInputValue());\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            _managePreventDefault: function managePreventDefault(keyName, $e) {\n                var preventDefault;\n                switch (keyName) {\n                  case \"up\":\n                  case \"down\":\n                    preventDefault = !withModifier($e);\n                    break;\n\n                  default:\n                    preventDefault = false;\n                }\n                preventDefault &amp;&amp; $e.preventDefault();\n            },\n            _shouldTrigger: function shouldTrigger(keyName, $e) {\n                var trigger;\n                switch (keyName) {\n                  case \"tab\":\n                    trigger = !withModifier($e);\n                    break;\n\n                  default:\n                    trigger = true;\n                }\n                return trigger;\n            },\n            _checkLanguageDirection: function checkLanguageDirection() {\n                var dir = (this.$input.css(\"direction\") || \"ltr\").toLowerCase();\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.$hint.attr(\"dir\", dir);\n                    this.trigger(\"langDirChanged\", dir);\n                }\n            },\n            _setQuery: function setQuery(val, silent) {\n                var areEquivalent, hasDifferentWhitespace;\n                areEquivalent = areQueriesEquivalent(val, this.query);\n                hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false;\n                this.query = val;\n                if (!silent &amp;&amp; !areEquivalent) {\n                    this.trigger(\"queryChanged\", this.query);\n                } else if (!silent &amp;&amp; hasDifferentWhitespace) {\n                    this.trigger(\"whitespaceChanged\", this.query);\n                }\n            },\n            _updateDescendent: function updateDescendent(event, id) {\n                this.$input.attr(\"aria-activedescendant\", id);\n            },\n            bind: function() {\n                var that = this, onBlur, onFocus, onKeydown, onInput;\n                onBlur = _.bind(this._onBlur, this);\n                onFocus = _.bind(this._onFocus, this);\n                onKeydown = _.bind(this._onKeydown, this);\n                onInput = _.bind(this._onInput, this);\n                this.$input.on(\"blur.tt\", onBlur).on(\"focus.tt\", onFocus).on(\"keydown.tt\", onKeydown);\n                if (!_.isMsie() || _.isMsie() &gt; 9) {\n                    this.$input.on(\"input.tt\", onInput);\n                } else {\n                    this.$input.on(\"keydown.tt keypress.tt cut.tt paste.tt\", function($e) {\n                        if (specialKeyCodeMap[$e.which || $e.keyCode]) {\n                            return;\n                        }\n                        _.defer(_.bind(that._onInput, that, $e));\n                    });\n                }\n                return this;\n            },\n            focus: function focus() {\n                this.$input.focus();\n            },\n            blur: function blur() {\n                this.$input.blur();\n            },\n            getLangDir: function getLangDir() {\n                return this.dir;\n            },\n            getQuery: function getQuery() {\n                return this.query || \"\";\n            },\n            setQuery: function setQuery(val, silent) {\n                this.setInputValue(val);\n                this._setQuery(val, silent);\n            },\n            hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() {\n                return this.query !== this.queryWhenFocused;\n            },\n            getInputValue: function getInputValue() {\n                return this.$input.val();\n            },\n            setInputValue: function setInputValue(value) {\n                this.$input.val(value);\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            resetInputValue: function resetInputValue() {\n                this.setInputValue(this.query);\n            },\n            getHint: function getHint() {\n                return this.$hint.val();\n            },\n            setHint: function setHint(value) {\n                this.$hint.val(value);\n            },\n            clearHint: function clearHint() {\n                this.setHint(\"\");\n            },\n            clearHintIfInvalid: function clearHintIfInvalid() {\n                var val, hint, valIsPrefixOfHint, isValid;\n                val = this.getInputValue();\n                hint = this.getHint();\n                valIsPrefixOfHint = val !== hint &amp;&amp; hint.indexOf(val) === 0;\n                isValid = val !== \"\" &amp;&amp; valIsPrefixOfHint &amp;&amp; !this.hasOverflow();\n                !isValid &amp;&amp; this.clearHint();\n            },\n            hasFocus: function hasFocus() {\n                return this.$input.is(\":focus\");\n            },\n            hasOverflow: function hasOverflow() {\n                var constraint = this.$input.width() - 2;\n                this.$overflowHelper.text(this.getInputValue());\n                return this.$overflowHelper.width() &gt;= constraint;\n            },\n            isCursorAtEnd: function() {\n                var valueLength, selectionStart, range;\n                valueLength = this.$input.val().length;\n                selectionStart = this.$input[0].selectionStart;\n                if (_.isNumber(selectionStart)) {\n                    return selectionStart === valueLength;\n                } else if (document.selection) {\n                    range = document.selection.createRange();\n                    range.moveStart(\"character\", -valueLength);\n                    return valueLength === range.text.length;\n                }\n                return true;\n            },\n            destroy: function destroy() {\n                this.$hint.off(\".tt\");\n                this.$input.off(\".tt\");\n                this.$overflowHelper.remove();\n                this.$hint = this.$input = this.$overflowHelper = $(\"&lt;div&gt;\");\n            }\n        });\n        return Input;\n        function buildOverflowHelper($input) {\n            return $('&lt;pre aria-hidden=\"true\"&gt;&lt;/pre&gt;').css({\n                position: \"absolute\",\n                visibility: \"hidden\",\n                whiteSpace: \"pre\",\n                fontFamily: $input.css(\"font-family\"),\n                fontSize: $input.css(\"font-size\"),\n                fontStyle: $input.css(\"font-style\"),\n                fontVariant: $input.css(\"font-variant\"),\n                fontWeight: $input.css(\"font-weight\"),\n                wordSpacing: $input.css(\"word-spacing\"),\n                letterSpacing: $input.css(\"letter-spacing\"),\n                textIndent: $input.css(\"text-indent\"),\n                textRendering: $input.css(\"text-rendering\"),\n                textTransform: $input.css(\"text-transform\")\n            }).insertAfter($input);\n        }\n        function areQueriesEquivalent(a, b) {\n            return Input.normalizeQuery(a) === Input.normalizeQuery(b);\n        }\n        function withModifier($e) {\n            return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;\n        }\n    }();\n    var Dataset = function() {\n        \"use strict\";\n        var keys, nameGenerator;\n        keys = {\n            dataset: \"tt-selectable-dataset\",\n            val: \"tt-selectable-display\",\n            obj: \"tt-selectable-object\"\n        };\n        nameGenerator = _.getIdGenerator();\n        function Dataset(o, www) {\n            o = o || {};\n            o.templates = o.templates || {};\n            o.templates.notFound = o.templates.notFound || o.templates.empty;\n            if (!o.source) {\n                $.error(\"missing source\");\n            }\n            if (!o.node) {\n                $.error(\"missing node\");\n            }\n            if (o.name &amp;&amp; !isValidName(o.name)) {\n                $.error(\"invalid dataset name: \" + o.name);\n            }\n            www.mixin(this);\n            this.highlight = !!o.highlight;\n            this.name = _.toStr(o.name || nameGenerator());\n            this.limit = o.limit || 5;\n            this.displayFn = getDisplayFn(o.display || o.displayKey);\n            this.templates = getTemplates(o.templates, this.displayFn);\n            this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source;\n            this.async = _.isUndefined(o.async) ? this.source.length &gt; 2 : !!o.async;\n            this._resetLastSuggestion();\n            this.$el = $(o.node).attr(\"role\", \"presentation\").addClass(this.classes.dataset).addClass(this.classes.dataset + \"-\" + this.name);\n        }\n        Dataset.extractData = function extractData(el) {\n            var $el = $(el);\n            if ($el.data(keys.obj)) {\n                return {\n                    dataset: $el.data(keys.dataset) || \"\",\n                    val: $el.data(keys.val) || \"\",\n                    obj: $el.data(keys.obj) || null\n                };\n            }\n            return null;\n        };\n        _.mixin(Dataset.prototype, EventEmitter, {\n            _overwrite: function overwrite(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (this.async &amp;&amp; this.templates.pending) {\n                    this._renderPending(query);\n                } else if (!this.async &amp;&amp; this.templates.notFound) {\n                    this._renderNotFound(query);\n                } else {\n                    this._empty();\n                }\n                this.trigger(\"rendered\", suggestions, false, this.name);\n            },\n            _append: function append(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length &amp;&amp; this.$lastSuggestion.length) {\n                    this._appendSuggestions(query, suggestions);\n                } else if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (!this.$lastSuggestion.length &amp;&amp; this.templates.notFound) {\n                    this._renderNotFound(query);\n                }\n                this.trigger(\"rendered\", suggestions, true, this.name);\n            },\n            _renderSuggestions: function renderSuggestions(query, suggestions) {\n                var $fragment;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                this.$lastSuggestion = $fragment.children().last();\n                this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions));\n            },\n            _appendSuggestions: function appendSuggestions(query, suggestions) {\n                var $fragment, $lastSuggestion;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                $lastSuggestion = $fragment.children().last();\n                this.$lastSuggestion.after($fragment);\n                this.$lastSuggestion = $lastSuggestion;\n            },\n            _renderPending: function renderPending(query) {\n                var template = this.templates.pending;\n                this._resetLastSuggestion();\n                template &amp;&amp; this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _renderNotFound: function renderNotFound(query) {\n                var template = this.templates.notFound;\n                this._resetLastSuggestion();\n                template &amp;&amp; this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _empty: function empty() {\n                this.$el.empty();\n                this._resetLastSuggestion();\n            },\n            _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) {\n                var that = this, fragment;\n                fragment = document.createDocumentFragment();\n                _.each(suggestions, function getSuggestionNode(suggestion) {\n                    var $el, context;\n                    context = that._injectQuery(query, suggestion);\n                    $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + \" \" + that.classes.selectable);\n                    fragment.appendChild($el[0]);\n                });\n                this.highlight &amp;&amp; highlight({\n                    className: this.classes.highlight,\n                    node: fragment,\n                    pattern: query\n                });\n                return $(fragment);\n            },\n            _getFooter: function getFooter(query, suggestions) {\n                return this.templates.footer ? this.templates.footer({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _getHeader: function getHeader(query, suggestions) {\n                return this.templates.header ? this.templates.header({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _resetLastSuggestion: function resetLastSuggestion() {\n                this.$lastSuggestion = $();\n            },\n            _injectQuery: function injectQuery(query, obj) {\n                return _.isObject(obj) ? _.mixin({\n                    _query: query\n                }, obj) : obj;\n            },\n            update: function update(query) {\n                var that = this, canceled = false, syncCalled = false, rendered = 0;\n                this.cancel();\n                this.cancel = function cancel() {\n                    canceled = true;\n                    that.cancel = $.noop;\n                    that.async &amp;&amp; that.trigger(\"asyncCanceled\", query, that.name);\n                };\n                this.source(query, sync, async);\n                !syncCalled &amp;&amp; sync([]);\n                function sync(suggestions) {\n                    if (syncCalled) {\n                        return;\n                    }\n                    syncCalled = true;\n                    suggestions = (suggestions || []).slice(0, that.limit);\n                    rendered = suggestions.length;\n                    that._overwrite(query, suggestions);\n                    if (rendered &lt; that.limit &amp;&amp; that.async) {\n                        that.trigger(\"asyncRequested\", query, that.name);\n                    }\n                }\n                function async(suggestions) {\n                    suggestions = suggestions || [];\n                    if (!canceled &amp;&amp; rendered &lt; that.limit) {\n                        that.cancel = $.noop;\n                        var idx = Math.abs(rendered - that.limit);\n                        rendered += idx;\n                        that._append(query, suggestions.slice(0, idx));\n                        that.async &amp;&amp; that.trigger(\"asyncReceived\", query, that.name);\n                    }\n                }\n            },\n            cancel: $.noop,\n            clear: function clear() {\n                this._empty();\n                this.cancel();\n                this.trigger(\"cleared\");\n            },\n            isEmpty: function isEmpty() {\n                return this.$el.is(\":empty\");\n            },\n            destroy: function destroy() {\n                this.$el = $(\"&lt;div&gt;\");\n            }\n        });\n        return Dataset;\n        function getDisplayFn(display) {\n            display = display || _.stringify;\n            return _.isFunction(display) ? display : displayFn;\n            function displayFn(obj) {\n                return obj[display];\n            }\n        }\n        function getTemplates(templates, displayFn) {\n            return {\n                notFound: templates.notFound &amp;&amp; _.templatify(templates.notFound),\n                pending: templates.pending &amp;&amp; _.templatify(templates.pending),\n                header: templates.header &amp;&amp; _.templatify(templates.header),\n                footer: templates.footer &amp;&amp; _.templatify(templates.footer),\n                suggestion: templates.suggestion || suggestionTemplate\n            };\n            function suggestionTemplate(context) {\n                return $('&lt;div role=\"option\"&gt;').attr(\"id\", _.guid()).text(displayFn(context));\n            }\n        }\n        function isValidName(str) {\n            return /^[_a-zA-Z0-9-]+$/.test(str);\n        }\n    }();\n    var Menu = function() {\n        \"use strict\";\n        function Menu(o, www) {\n            var that = this;\n            o = o || {};\n            if (!o.node) {\n                $.error(\"node is required\");\n            }\n            www.mixin(this);\n            this.$node = $(o.node);\n            this.query = null;\n            this.datasets = _.map(o.datasets, initializeDataset);\n            function initializeDataset(oDataset) {\n                var node = that.$node.find(oDataset.node).first();\n                oDataset.node = node.length ? node : $(\"&lt;div&gt;\").appendTo(that.$node);\n                return new Dataset(oDataset, www);\n            }\n        }\n        _.mixin(Menu.prototype, EventEmitter, {\n            _onSelectableClick: function onSelectableClick($e) {\n                this.trigger(\"selectableClicked\", $($e.currentTarget));\n            },\n            _onRendered: function onRendered(type, dataset, suggestions, async) {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetRendered\", dataset, suggestions, async);\n            },\n            _onCleared: function onCleared() {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetCleared\");\n            },\n            _propagate: function propagate() {\n                this.trigger.apply(this, arguments);\n            },\n            _allDatasetsEmpty: function allDatasetsEmpty() {\n                return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) {\n                    var isEmpty = dataset.isEmpty();\n                    this.$node.attr(\"aria-expanded\", !isEmpty);\n                    return isEmpty;\n                }, this));\n            },\n            _getSelectables: function getSelectables() {\n                return this.$node.find(this.selectors.selectable);\n            },\n            _removeCursor: function _removeCursor() {\n                var $selectable = this.getActiveSelectable();\n                $selectable &amp;&amp; $selectable.removeClass(this.classes.cursor);\n            },\n            _ensureVisible: function ensureVisible($el) {\n                var elTop, elBottom, nodeScrollTop, nodeHeight;\n                elTop = $el.position().top;\n                elBottom = elTop + $el.outerHeight(true);\n                nodeScrollTop = this.$node.scrollTop();\n                nodeHeight = this.$node.height() + parseInt(this.$node.css(\"paddingTop\"), 10) + parseInt(this.$node.css(\"paddingBottom\"), 10);\n                if (elTop &lt; 0) {\n                    this.$node.scrollTop(nodeScrollTop + elTop);\n                } else if (nodeHeight &lt; elBottom) {\n                    this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight));\n                }\n            },\n            bind: function() {\n                var that = this, onSelectableClick;\n                onSelectableClick = _.bind(this._onSelectableClick, this);\n                this.$node.on(\"click.tt\", this.selectors.selectable, onSelectableClick);\n                this.$node.on(\"mouseover\", this.selectors.selectable, function() {\n                    that.setCursor($(this));\n                });\n                this.$node.on(\"mouseleave\", function() {\n                    that._removeCursor();\n                });\n                _.each(this.datasets, function(dataset) {\n                    dataset.onSync(\"asyncRequested\", that._propagate, that).onSync(\"asyncCanceled\", that._propagate, that).onSync(\"asyncReceived\", that._propagate, that).onSync(\"rendered\", that._onRendered, that).onSync(\"cleared\", that._onCleared, that);\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                return this.$node.hasClass(this.classes.open);\n            },\n            open: function open() {\n                this.$node.scrollTop(0);\n                this.$node.addClass(this.classes.open);\n            },\n            close: function close() {\n                this.$node.attr(\"aria-expanded\", false);\n                this.$node.removeClass(this.classes.open);\n                this._removeCursor();\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.attr(\"dir\", dir);\n            },\n            selectableRelativeToCursor: function selectableRelativeToCursor(delta) {\n                var $selectables, $oldCursor, oldIndex, newIndex;\n                $oldCursor = this.getActiveSelectable();\n                $selectables = this._getSelectables();\n                oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1;\n                newIndex = oldIndex + delta;\n                newIndex = (newIndex + 1) % ($selectables.length + 1) - 1;\n                newIndex = newIndex &lt; -1 ? $selectables.length - 1 : newIndex;\n                return newIndex === -1 ? null : $selectables.eq(newIndex);\n            },\n            setCursor: function setCursor($selectable) {\n                this._removeCursor();\n                if ($selectable = $selectable &amp;&amp; $selectable.first()) {\n                    $selectable.addClass(this.classes.cursor);\n                    this._ensureVisible($selectable);\n                }\n            },\n            getSelectableData: function getSelectableData($el) {\n                return $el &amp;&amp; $el.length ? Dataset.extractData($el) : null;\n            },\n            getActiveSelectable: function getActiveSelectable() {\n                var $selectable = this._getSelectables().filter(this.selectors.cursor).first();\n                return $selectable.length ? $selectable : null;\n            },\n            getTopSelectable: function getTopSelectable() {\n                var $selectable = this._getSelectables().first();\n                return $selectable.length ? $selectable : null;\n            },\n            update: function update(query) {\n                var isValidUpdate = query !== this.query;\n                if (isValidUpdate) {\n                    this.query = query;\n                    _.each(this.datasets, updateDataset);\n                }\n                return isValidUpdate;\n                function updateDataset(dataset) {\n                    dataset.update(query);\n                }\n            },\n            empty: function empty() {\n                _.each(this.datasets, clearDataset);\n                this.query = null;\n                this.$node.addClass(this.classes.empty);\n                function clearDataset(dataset) {\n                    dataset.clear();\n                }\n            },\n            destroy: function destroy() {\n                this.$node.off(\".tt\");\n                this.$node = $(\"&lt;div&gt;\");\n                _.each(this.datasets, destroyDataset);\n                function destroyDataset(dataset) {\n                    dataset.destroy();\n                }\n            }\n        });\n        return Menu;\n    }();\n    var Status = function() {\n        \"use strict\";\n        function Status(options) {\n            this.$el = $(\"&lt;span&gt;&lt;/span&gt;\", {\n                role: \"status\",\n                \"aria-live\": \"polite\"\n            }).css({\n                position: \"absolute\",\n                padding: \"0\",\n                border: \"0\",\n                height: \"1px\",\n                width: \"1px\",\n                \"margin-bottom\": \"-1px\",\n                \"margin-right\": \"-1px\",\n                overflow: \"hidden\",\n                clip: \"rect(0 0 0 0)\",\n                \"white-space\": \"nowrap\"\n            });\n            options.$input.after(this.$el);\n            _.each(options.menu.datasets, _.bind(function(dataset) {\n                if (dataset.onSync) {\n                    dataset.onSync(\"rendered\", _.bind(this.update, this));\n                    dataset.onSync(\"cleared\", _.bind(this.cleared, this));\n                }\n            }, this));\n        }\n        _.mixin(Status.prototype, {\n            update: function update(event, suggestions) {\n                var length = suggestions.length;\n                var words;\n                if (length === 1) {\n                    words = {\n                        result: \"result\",\n                        is: \"is\"\n                    };\n                } else {\n                    words = {\n                        result: \"results\",\n                        is: \"are\"\n                    };\n                }\n                this.$el.text(length + \" \" + words.result + \" \" + words.is + \" available, use up and down arrow keys to navigate.\");\n            },\n            cleared: function() {\n                this.$el.text(\"\");\n            }\n        });\n        return Status;\n    }();\n    var DefaultMenu = function() {\n        \"use strict\";\n        var s = Menu.prototype;\n        function DefaultMenu() {\n            Menu.apply(this, [].slice.call(arguments, 0));\n        }\n        _.mixin(DefaultMenu.prototype, Menu.prototype, {\n            open: function open() {\n                !this._allDatasetsEmpty() &amp;&amp; this._show();\n                return s.open.apply(this, [].slice.call(arguments, 0));\n            },\n            close: function close() {\n                this._hide();\n                return s.close.apply(this, [].slice.call(arguments, 0));\n            },\n            _onRendered: function onRendered() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() &amp;&amp; this._show();\n                }\n                return s._onRendered.apply(this, [].slice.call(arguments, 0));\n            },\n            _onCleared: function onCleared() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() &amp;&amp; this._show();\n                }\n                return s._onCleared.apply(this, [].slice.call(arguments, 0));\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.css(dir === \"ltr\" ? this.css.ltr : this.css.rtl);\n                return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0));\n            },\n            _hide: function hide() {\n                this.$node.hide();\n            },\n            _show: function show() {\n                this.$node.css(\"display\", \"block\");\n            }\n        });\n        return DefaultMenu;\n    }();\n    var Typeahead = function() {\n        \"use strict\";\n        function Typeahead(o, www) {\n            var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged;\n            o = o || {};\n            if (!o.input) {\n                $.error(\"missing input\");\n            }\n            if (!o.menu) {\n                $.error(\"missing menu\");\n            }\n            if (!o.eventBus) {\n                $.error(\"missing event bus\");\n            }\n            www.mixin(this);\n            this.eventBus = o.eventBus;\n            this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;\n            this.input = o.input;\n            this.menu = o.menu;\n            this.enabled = true;\n            this.autoselect = !!o.autoselect;\n            this.active = false;\n            this.input.hasFocus() &amp;&amp; this.activate();\n            this.dir = this.input.getLangDir();\n            this._hacks();\n            this.menu.bind().onSync(\"selectableClicked\", this._onSelectableClicked, this).onSync(\"asyncRequested\", this._onAsyncRequested, this).onSync(\"asyncCanceled\", this._onAsyncCanceled, this).onSync(\"asyncReceived\", this._onAsyncReceived, this).onSync(\"datasetRendered\", this._onDatasetRendered, this).onSync(\"datasetCleared\", this._onDatasetCleared, this);\n            onFocused = c(this, \"activate\", \"open\", \"_onFocused\");\n            onBlurred = c(this, \"deactivate\", \"_onBlurred\");\n            onEnterKeyed = c(this, \"isActive\", \"isOpen\", \"_onEnterKeyed\");\n            onTabKeyed = c(this, \"isActive\", \"isOpen\", \"_onTabKeyed\");\n            onEscKeyed = c(this, \"isActive\", \"_onEscKeyed\");\n            onUpKeyed = c(this, \"isActive\", \"open\", \"_onUpKeyed\");\n            onDownKeyed = c(this, \"isActive\", \"open\", \"_onDownKeyed\");\n            onLeftKeyed = c(this, \"isActive\", \"isOpen\", \"_onLeftKeyed\");\n            onRightKeyed = c(this, \"isActive\", \"isOpen\", \"_onRightKeyed\");\n            onQueryChanged = c(this, \"_openIfActive\", \"_onQueryChanged\");\n            onWhitespaceChanged = c(this, \"_openIfActive\", \"_onWhitespaceChanged\");\n            this.input.bind().onSync(\"focused\", onFocused, this).onSync(\"blurred\", onBlurred, this).onSync(\"enterKeyed\", onEnterKeyed, this).onSync(\"tabKeyed\", onTabKeyed, this).onSync(\"escKeyed\", onEscKeyed, this).onSync(\"upKeyed\", onUpKeyed, this).onSync(\"downKeyed\", onDownKeyed, this).onSync(\"leftKeyed\", onLeftKeyed, this).onSync(\"rightKeyed\", onRightKeyed, this).onSync(\"queryChanged\", onQueryChanged, this).onSync(\"whitespaceChanged\", onWhitespaceChanged, this).onSync(\"langDirChanged\", this._onLangDirChanged, this);\n        }\n        _.mixin(Typeahead.prototype, {\n            _hacks: function hacks() {\n                var $input, $menu;\n                $input = this.input.$input || $(\"&lt;div&gt;\");\n                $menu = this.menu.$node || $(\"&lt;div&gt;\");\n                $input.on(\"blur.tt\", function($e) {\n                    var active, isActive, hasActive;\n                    active = document.activeElement;\n                    isActive = $menu.is(active);\n                    hasActive = $menu.has(active).length &gt; 0;\n                    if (_.isMsie() &amp;&amp; (isActive || hasActive)) {\n                        $e.preventDefault();\n                        $e.stopImmediatePropagation();\n                        _.defer(function() {\n                            $input.focus();\n                        });\n                    }\n                });\n                $menu.on(\"mousedown.tt\", function($e) {\n                    $e.preventDefault();\n                });\n            },\n            _onSelectableClicked: function onSelectableClicked(type, $el) {\n                this.select($el);\n            },\n            _onDatasetCleared: function onDatasetCleared() {\n                this._updateHint();\n            },\n            _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {\n                this._updateHint();\n                if (this.autoselect) {\n                    var cursorClass = this.selectors.cursor.substr(1);\n                    this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);\n                }\n                this.eventBus.trigger(\"render\", suggestions, async, dataset);\n            },\n            _onAsyncRequested: function onAsyncRequested(type, dataset, query) {\n                this.eventBus.trigger(\"asyncrequest\", query, dataset);\n            },\n            _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) {\n                this.eventBus.trigger(\"asynccancel\", query, dataset);\n            },\n            _onAsyncReceived: function onAsyncReceived(type, dataset, query) {\n                this.eventBus.trigger(\"asyncreceive\", query, dataset);\n            },\n            _onFocused: function onFocused() {\n                this._minLengthMet() &amp;&amp; this.menu.update(this.input.getQuery());\n            },\n            _onBlurred: function onBlurred() {\n                if (this.input.hasQueryChangedSinceLastFocus()) {\n                    this.eventBus.trigger(\"change\", this.input.getQuery());\n                }\n            },\n            _onEnterKeyed: function onEnterKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    if (this.select($selectable)) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                } else if (this.autoselect) {\n                    if (this.select(this.menu.getTopSelectable())) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                }\n            },\n            _onTabKeyed: function onTabKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    this.select($selectable) &amp;&amp; $e.preventDefault();\n                } else if ($selectable = this.menu.getTopSelectable()) {\n                    this.autocomplete($selectable) &amp;&amp; $e.preventDefault();\n                }\n            },\n            _onEscKeyed: function onEscKeyed() {\n                this.close();\n            },\n            _onUpKeyed: function onUpKeyed() {\n                this.moveCursor(-1);\n            },\n            _onDownKeyed: function onDownKeyed() {\n                this.moveCursor(+1);\n            },\n            _onLeftKeyed: function onLeftKeyed() {\n                if (this.dir === \"rtl\" &amp;&amp; this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onRightKeyed: function onRightKeyed() {\n                if (this.dir === \"ltr\" &amp;&amp; this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onQueryChanged: function onQueryChanged(e, query) {\n                this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty();\n            },\n            _onWhitespaceChanged: function onWhitespaceChanged() {\n                this._updateHint();\n            },\n            _onLangDirChanged: function onLangDirChanged(e, dir) {\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.menu.setLanguageDirection(dir);\n                }\n            },\n            _openIfActive: function openIfActive() {\n                this.isActive() &amp;&amp; this.open();\n            },\n            _minLengthMet: function minLengthMet(query) {\n                query = _.isString(query) ? query : this.input.getQuery() || \"\";\n                return query.length &gt;= this.minLength;\n            },\n            _updateHint: function updateHint() {\n                var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match;\n                $selectable = this.menu.getTopSelectable();\n                data = this.menu.getSelectableData($selectable);\n                val = this.input.getInputValue();\n                if (data &amp;&amp; !_.isBlankString(val) &amp;&amp; !this.input.hasOverflow()) {\n                    query = Input.normalizeQuery(val);\n                    escapedQuery = _.escapeRegExChars(query);\n                    frontMatchRegEx = new RegExp(\"^(?:\" + escapedQuery + \")(.+$)\", \"i\");\n                    match = frontMatchRegEx.exec(data.val);\n                    match &amp;&amp; this.input.setHint(val + match[1]);\n                } else {\n                    this.input.clearHint();\n                }\n            },\n            isEnabled: function isEnabled() {\n                return this.enabled;\n            },\n            enable: function enable() {\n                this.enabled = true;\n            },\n            disable: function disable() {\n                this.enabled = false;\n            },\n            isActive: function isActive() {\n                return this.active;\n            },\n            activate: function activate() {\n                if (this.isActive()) {\n                    return true;\n                } else if (!this.isEnabled() || this.eventBus.before(\"active\")) {\n                    return false;\n                } else {\n                    this.active = true;\n                    this.eventBus.trigger(\"active\");\n                    return true;\n                }\n            },\n            deactivate: function deactivate() {\n                if (!this.isActive()) {\n                    return true;\n                } else if (this.eventBus.before(\"idle\")) {\n                    return false;\n                } else {\n                    this.active = false;\n                    this.close();\n                    this.eventBus.trigger(\"idle\");\n                    return true;\n                }\n            },\n            isOpen: function isOpen() {\n                return this.menu.isOpen();\n            },\n            open: function open() {\n                if (!this.isOpen() &amp;&amp; !this.eventBus.before(\"open\")) {\n                    this.menu.open();\n                    this._updateHint();\n                    this.eventBus.trigger(\"open\");\n                }\n                return this.isOpen();\n            },\n            close: function close() {\n                if (this.isOpen() &amp;&amp; !this.eventBus.before(\"close\")) {\n                    this.menu.close();\n                    this.input.clearHint();\n                    this.input.resetInputValue();\n                    this.eventBus.trigger(\"close\");\n                }\n                return !this.isOpen();\n            },\n            setVal: function setVal(val) {\n                this.input.setQuery(_.toStr(val));\n            },\n            getVal: function getVal() {\n                return this.input.getQuery();\n            },\n            select: function select($selectable) {\n                var data = this.menu.getSelectableData($selectable);\n                if (data &amp;&amp; !this.eventBus.before(\"select\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val, true);\n                    this.eventBus.trigger(\"select\", data.obj, data.dataset);\n                    this.close();\n                    return true;\n                }\n                return false;\n            },\n            autocomplete: function autocomplete($selectable) {\n                var query, data, isValid;\n                query = this.input.getQuery();\n                data = this.menu.getSelectableData($selectable);\n                isValid = data &amp;&amp; query !== data.val;\n                if (isValid &amp;&amp; !this.eventBus.before(\"autocomplete\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val);\n                    this.eventBus.trigger(\"autocomplete\", data.obj, data.dataset);\n                    return true;\n                }\n                return false;\n            },\n            moveCursor: function moveCursor(delta) {\n                var query, $candidate, data, suggestion, datasetName, cancelMove, id;\n                query = this.input.getQuery();\n                $candidate = this.menu.selectableRelativeToCursor(delta);\n                data = this.menu.getSelectableData($candidate);\n                suggestion = data ? data.obj : null;\n                datasetName = data ? data.dataset : null;\n                id = $candidate ? $candidate.attr(\"id\") : null;\n                this.input.trigger(\"cursorchange\", id);\n                cancelMove = this._minLengthMet() &amp;&amp; this.menu.update(query);\n                if (!cancelMove &amp;&amp; !this.eventBus.before(\"cursorchange\", suggestion, datasetName)) {\n                    this.menu.setCursor($candidate);\n                    if (data) {\n                        this.input.setInputValue(data.val);\n                    } else {\n                        this.input.resetInputValue();\n                        this._updateHint();\n                    }\n                    this.eventBus.trigger(\"cursorchange\", suggestion, datasetName);\n                    return true;\n                }\n                return false;\n            },\n            destroy: function destroy() {\n                this.input.destroy();\n                this.menu.destroy();\n            }\n        });\n        return Typeahead;\n        function c(ctx) {\n            var methods = [].slice.call(arguments, 1);\n            return function() {\n                var args = [].slice.call(arguments);\n                _.each(methods, function(method) {\n                    return ctx[method].apply(ctx, args);\n                });\n            };\n        }\n    }();\n    (function() {\n        \"use strict\";\n        var old, keys, methods;\n        old = $.fn.typeahead;\n        keys = {\n            www: \"tt-www\",\n            attrs: \"tt-attrs\",\n            typeahead: \"tt-typeahead\"\n        };\n        methods = {\n            initialize: function initialize(o, datasets) {\n                var www;\n                datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);\n                o = o || {};\n                www = WWW(o.classNames);\n                return this.each(attach);\n                function attach() {\n                    var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;\n                    _.each(datasets, function(d) {\n                        d.highlight = !!o.highlight;\n                    });\n                    $input = $(this);\n                    $wrapper = $(www.html.wrapper);\n                    $hint = $elOrNull(o.hint);\n                    $menu = $elOrNull(o.menu);\n                    defaultHint = o.hint !== false &amp;&amp; !$hint;\n                    defaultMenu = o.menu !== false &amp;&amp; !$menu;\n                    defaultHint &amp;&amp; ($hint = buildHintFromInput($input, www));\n                    defaultMenu &amp;&amp; ($menu = $(www.html.menu).css(www.css.menu));\n                    $hint &amp;&amp; $hint.val(\"\");\n                    $input = prepInput($input, www);\n                    if (defaultHint || defaultMenu) {\n                        $wrapper.css(www.css.wrapper);\n                        $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint);\n                        $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null);\n                    }\n                    MenuConstructor = defaultMenu ? DefaultMenu : Menu;\n                    eventBus = new EventBus({\n                        el: $input\n                    });\n                    input = new Input({\n                        hint: $hint,\n                        input: $input\n                    }, www);\n                    menu = new MenuConstructor({\n                        node: $menu,\n                        datasets: datasets\n                    }, www);\n                    status = new Status({\n                        $input: $input,\n                        menu: menu\n                    });\n                    typeahead = new Typeahead({\n                        input: input,\n                        menu: menu,\n                        eventBus: eventBus,\n                        minLength: o.minLength,\n                        autoselect: o.autoselect\n                    }, www);\n                    $input.data(keys.www, www);\n                    $input.data(keys.typeahead, typeahead);\n                }\n            },\n            isEnabled: function isEnabled() {\n                var enabled;\n                ttEach(this.first(), function(t) {\n                    enabled = t.isEnabled();\n                });\n                return enabled;\n            },\n            enable: function enable() {\n                ttEach(this, function(t) {\n                    t.enable();\n                });\n                return this;\n            },\n            disable: function disable() {\n                ttEach(this, function(t) {\n                    t.disable();\n                });\n                return this;\n            },\n            isActive: function isActive() {\n                var active;\n                ttEach(this.first(), function(t) {\n                    active = t.isActive();\n                });\n                return active;\n            },\n            activate: function activate() {\n                ttEach(this, function(t) {\n                    t.activate();\n                });\n                return this;\n            },\n            deactivate: function deactivate() {\n                ttEach(this, function(t) {\n                    t.deactivate();\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                var open;\n                ttEach(this.first(), function(t) {\n                    open = t.isOpen();\n                });\n                return open;\n            },\n            open: function open() {\n                ttEach(this, function(t) {\n                    t.open();\n                });\n                return this;\n            },\n            close: function close() {\n                ttEach(this, function(t) {\n                    t.close();\n                });\n                return this;\n            },\n            select: function select(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.select($el);\n                });\n                return success;\n            },\n            autocomplete: function autocomplete(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.autocomplete($el);\n                });\n                return success;\n            },\n            moveCursor: function moveCursoe(delta) {\n                var success = false;\n                ttEach(this.first(), function(t) {\n                    success = t.moveCursor(delta);\n                });\n                return success;\n            },\n            val: function val(newVal) {\n                var query;\n                if (!arguments.length) {\n                    ttEach(this.first(), function(t) {\n                        query = t.getVal();\n                    });\n                    return query;\n                } else {\n                    ttEach(this, function(t) {\n                        t.setVal(_.toStr(newVal));\n                    });\n                    return this;\n                }\n            },\n            destroy: function destroy() {\n                ttEach(this, function(typeahead, $input) {\n                    revert($input);\n                    typeahead.destroy();\n                });\n                return this;\n            }\n        };\n        $.fn.typeahead = function(method) {\n            if (methods[method]) {\n                return methods[method].apply(this, [].slice.call(arguments, 1));\n            } else {\n                return methods.initialize.apply(this, arguments);\n            }\n        };\n        $.fn.typeahead.noConflict = function noConflict() {\n            $.fn.typeahead = old;\n            return this;\n        };\n        function ttEach($els, fn) {\n            $els.each(function() {\n                var $input = $(this), typeahead;\n                (typeahead = $input.data(keys.typeahead)) &amp;&amp; fn(typeahead, $input);\n            });\n        }\n        function buildHintFromInput($input, www) {\n            return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({\n                readonly: true,\n                required: false\n            }).removeAttr(\"id name placeholder\").removeClass(\"required\").attr({\n                spellcheck: \"false\",\n                tabindex: -1\n            });\n        }\n        function prepInput($input, www) {\n            $input.data(keys.attrs, {\n                dir: $input.attr(\"dir\"),\n                autocomplete: $input.attr(\"autocomplete\"),\n                spellcheck: $input.attr(\"spellcheck\"),\n                style: $input.attr(\"style\")\n            });\n            $input.addClass(www.classes.input).attr({\n                spellcheck: false\n            });\n            try {\n                !$input.attr(\"dir\") &amp;&amp; $input.attr(\"dir\", \"auto\");\n            } catch (e) {}\n            return $input;\n        }\n        function getBackgroundStyles($el) {\n            return {\n                backgroundAttachment: $el.css(\"background-attachment\"),\n                backgroundClip: $el.css(\"background-clip\"),\n                backgroundColor: $el.css(\"background-color\"),\n                backgroundImage: $el.css(\"background-image\"),\n                backgroundOrigin: $el.css(\"background-origin\"),\n                backgroundPosition: $el.css(\"background-position\"),\n                backgroundRepeat: $el.css(\"background-repeat\"),\n                backgroundSize: $el.css(\"background-size\")\n            };\n        }\n        function revert($input) {\n            var www, $wrapper;\n            www = $input.data(keys.www);\n            $wrapper = $input.parent().filter(www.selectors.wrapper);\n            _.each($input.data(keys.attrs), function(val, key) {\n                _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);\n            });\n            $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input);\n            if ($wrapper.length) {\n                $input.detach().insertAfter($wrapper);\n                $wrapper.remove();\n            }\n        }\n        function $elOrNull(obj) {\n            var isValid, $el;\n            isValid = _.isJQuery(obj) || _.isElement(obj);\n            $el = isValid ? $(obj).first() : [];\n            return $el.length ? $el : null;\n        }\n    })();\n});]]&gt;&lt;/script&gt;&lt;script_name&gt;typeahead.js&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-11-08 12:40:11&lt;/sys_created_on&gt;&lt;sys_id&gt;759d1493db69a3005c025a6adc961965&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_sp_type_sr.typeahead.js&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Typeahead Search\" source=\"x_pisn_sp_type_sr\"&gt;ab90c803dbe963005c025a6adc9619d8&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Typeahead Search\"&gt;ab90c803dbe963005c025a6adc9619d8&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_759d1493db69a3005c025a6adc961965&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-11-08 12:40:11&lt;/sys_updated_on&gt;&lt;ui_type&gt;0&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-445024137</payload_hash>\n<remote_update_set display_value=\"SP Typeahead Search\">0f78aee1db043b00d033df8b4b961934</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-03-07 18:54:19</sys_created_on>\n<sys_id>cf78aee1db043b00d033df8b4b961937</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16959815bd20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-03-07 18:54:19</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_type_sr.typeahead.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>2ead1493d369a300efdf6907d11e6bf8</update_guid>\n<update_guid_history>2ead1493d369a300efdf6907d11e6bf8:-445024137</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-body-html-template.html",
    "content": "<div\n  class=\"x-pisn-sp-typeahead-search x-pisn-sp-typeahead-search-{{::c.options.color}} wrapper wrapper-{{::c.options.size}}\">\n  <div class=\"x-pisn-sp-typeahead-search__container\">\n    <input id=\"{{c.idName}}\" class=\"typeahead form-control x-pisn-sp-typeahead-search__input\" type=\"text\"\n      placeholder=\"{{::c.options.placeholder}}\" autocomplete=\"off\" spellcheck=\"false\" dir=\"auto\">\n    <i class=\"fa fa-search fa-light-icon x-pisn-sp-typeahead-icon\" aria-hidden=\"true\"></i>\n    <i class=\"fa fa-times fa-light-icon x-pisn-sp-typeahead-icon x-pisn-sp-typeahead-icon-close\"\n      ng-class=\"{'x-pisn-sp-typeahead-icon-close-show animate fadeIn': c.typing}\" ng-click=\"cleanTypeahead()\"\n      aria-hidden=\"true\"></i>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-client-script.js",
    "content": "function PeRestTypeaheadController($rootScope, $scope) {\n  var c = this;\n  c.idName = 'x-pisn-sp-typeahead-search-' + c.data.widget_sys_id;\n\n  c.$onInit = function () {\n    c.apiUrl = c.data.uri + 'api/now/table/' + c.options.table +\n      '?sysparm_display_value=true&sysparm_fields=sys_id,' + c.options.query_field + ',' + c.options.display_field +\n      '&sysparm_limit=' + c.options.limit_result;\n    c.fieldCondition = '';\n\n    if ((c.options.order_direction == 'asc' || !c.options.order_direction) && c.options.order_by && c.options.order_by.length > 0)\n      c.fieldCondition = '^ORDERBY' + c.options.order_by + '^';\n    if (c.options.order_direction == 'desc' && c.options.order_by && c.options.order_by.length > 0)\n      c.fieldCondition = '^ORDERBYDESC' + c.options.order_by + '^';\n\n    c.fieldCondition = c.fieldCondition + c.options.filter + '^' + c.options.query_field + 'LIKE';\n\n    c.selected = false;\n    c.typing = false;\n    console.log($scope);\n  };\n\n  c.selectRecord = function (obj) {\n    console.log('selected -> ', obj);\n    $rootScope.$broadcast('x-pisn-sp-typeahead-search-selection', obj);\n  };\n\n}\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-css.scss",
    "content": "$x-pisn-sp-typeahead-font-size: $font-size-large !default;\n$x-pisn-sp-typeahead-text-color: $text-color !default;\n$x-pisn-sp-typeahead-input-height: $input-height-large !default;\n$x-pisn-sp-typeahead-bg: white !default;\n$x-pisn-sp-typeahead-placeholder-color: lighten($x-pisn-sp-typeahead-text-color, 30%) !default;\n$x-pisn-sp-typeahead-max-width: 400px !default;\n$x-pisn-sp-typeahead-dim-opacity: 0.8 !default;\n$x-pisn-sp-typeahead-border-color: $input-border !default;\n$x-pisn-sp-typeahead-border-radius: $border-radius-base !default;\n$x-pisn-sp-typeahead-border: 0.5px !default;\n$x-pisn-sp-typeahead-hover-color: white !default;\n$x-pisn-sp-typeahead-hover-bg: #82b2a0 !default;\n\n.x-pisn-sp-typeahead-search {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.x-pisn-sp-typeahead-search__container {\n  position: relative;\n  width: 100%;\n  max-width: $x-pisn-sp-typeahead-max-width;\n}\n\n.x-pisn-sp-typeahead-search__input {\n  padding: $padding-base-vertical 25px $padding-base-vertical 35px;\n  box-shadow: none;\n  background: unset !important;\n  background-color: $x-pisn-sp-typeahead-bg !important;\n}\n\n/* default using SASS */\n.x-pisn-sp-typeahead-search,\n.x-pisn-sp-typeahead-search-default {\n  .tt-suggestion:hover {\n    background-color: $x-pisn-sp-typeahead-hover-bg;\n  }\n\n  .tt-dataset {\n    border: $x-pisn-sp-typeahead-border solid $x-pisn-sp-typeahead-border-color;\n  }\n\n  .form-control {\n    border: $x-pisn-sp-typeahead-border solid $x-pisn-sp-typeahead-border-color;\n    border-radius: $x-pisn-sp-typeahead-border-radius;\n    font-size: $x-pisn-sp-typeahead-font-size;\n    height: $x-pisn-sp-typeahead-input-height;\n  }\n\n  .form-control:focus {\n    outline: 0;\n    border-color: $x-pisn-sp-typeahead-border-color;\n    box-shadow: none;\n  }\n\n  .x-pisn-sp-typeahead-icon {\n    color: $x-pisn-sp-typeahead-border-color;\n  }\n\n  ::placeholder {\n    /* Chrome, Firefox, Opera, Safari 10.1+ */\n    color: $x-pisn-sp-typeahead-placeholder-color;\n    /* Firefox */\n  }\n\n  :-ms-input-placeholder {\n    /* Internet Explorer 10-11 */\n    color: $x-pisn-sp-typeahead-placeholder-color;\n  }\n\n  ::-ms-input-placeholder {\n    /* Microsoft Edge */\n    color: $x-pisn-sp-typeahead-placeholder-color;\n  }\n\n}\n\n/* primary color */\n.x-pisn-sp-typeahead-search-primary {\n  .tt-suggestion:hover {\n    background-color: $brand-primary;\n  }\n\n  .tt-dataset {\n    border: $x-pisn-sp-typeahead-border solid $brand-primary;\n  }\n\n  .form-control {\n    border: $x-pisn-sp-typeahead-border solid $brand-primary;\n  }\n\n  .form-control:focus {\n    border-color: $brand-primary;\n  }\n\n  .x-pisn-sp-typeahead-icon {\n    color: $brand-primary;\n  }\n\n}\n\n/* info color */\n.x-pisn-sp-typeahead-search-info {\n  .tt-suggestion:hover {\n    background-color: $brand-info;\n  }\n\n  .tt-dataset {\n    border: $x-pisn-sp-typeahead-border solid $brand-info;\n  }\n\n  .form-control {\n    border: $x-pisn-sp-typeahead-border solid $brand-info;\n  }\n\n  .form-control:focus {\n    border-color: $brand-info;\n  }\n\n  .x-pisn-sp-typeahead-icon {\n    color: $brand-info;\n  }\n\n}\n\n.tt-suggestion {\n  padding: $padding-base-vertical $padding-base-horizontal;\n}\n\n.x-pisn-sp-typeahead-icon {\n  position: absolute;\n  top: calc(50% - 10px);\n  font-size: 18px;\n  left: 10px;\n}\n\n.fa-light-icon {\n  -webkit-text-stroke: 1px $x-pisn-sp-typeahead-bg;\n  -webkit-font-smoothing: antialiased;\n}\n\n.x-pisn-sp-typeahead-icon-close {\n  left: unset;\n  right: 10px;\n  -webkit-text-stroke: 2px $x-pisn-sp-typeahead-bg;\n  -webkit-font-smoothing: antialiased;\n  display: none;\n}\n\n.x-pisn-sp-typeahead-icon-close-hide {\n  display: none;\n}\n\n.x-pisn-sp-typeahead-icon-close-show {\n  display: block;\n}\n\n.tt-menu {\n  padding: 0px;\n  width: 100%;\n}\n\n.tt-dataset {\n  max-height: 194px;\n  overflow-y: scroll;\n  width: 100%;\n  background-color: $x-pisn-sp-typeahead-bg;\n  border-radius: $x-pisn-sp-typeahead-border-radius;\n  margin-top: 3px;\n  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\n}\n\n.tt-suggestion:hover {\n  cursor: pointer;\n  color: $x-pisn-sp-typeahead-hover-color;\n}\n\n.twitter-typeahead {\n  width: 100%;\n}\n\n.x-pisn-sp-typeahead-search__dim {\n  box-shadow: 0 0 0 1000px rgba(255, 255, 255, $x-pisn-sp-typeahead-dim-opacity);\n  box-shadow: 0 0 0 100vmax rgba(255, 255, 255, $x-pisn-sp-typeahead-dim-opacity);\n  z-index: 9999;\n  transition-timing-function: ease-out, step-end;\n  -webkit-transition: all 0.5s ease;\n  -moz-transition: all 0.5s ease;\n  -o-transition: all 0.5s ease;\n  transition: all 0.5s ease;\n}\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-link-script.js",
    "content": "function Link(scope) {\n\n  scope.cleanTypeahead = function () {\n    scope.typeaheadElement.typeahead('val', '');\n    scope.c.typing = false;\n  };\n\n  scope.$watch(scope.c.idName, function (newValues, oldValues, scope) {\n    scope.typeaheadElement = $(\n      '#' + scope.c.idName + '.typeahead.form-control.x-pisn-sp-typeahead-search__input'\n    );\n    scope.typeaheadContainer = scope.typeaheadElement.parent();\n\n    scope.typeaheadElement.typeahead({\n      minLength: 1,\n      delay: 200,\n      highlight: false\n    }, {\n        name: scope.c.name,\n        limit: scope.c.options.limit_result,\n        display: scope.c.options.display_field,\n        source: function (query, syncResults, asyncResults) {\n          if (query && query.length > 1) {\n            var entrypoint = scope.c.apiUrl + '&sysparm_query=' + scope.c.fieldCondition + query;\n            $.get(entrypoint, function (data) {\n              asyncResults(data.result);\n            });\n          }\n        }\n      });\n\n    scope.typeaheadElement.bind('typeahead:select', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('x-pisn-sp-typeahead-search__dim');\n\n      scope.c.selected = true;\n      scope.c.typing = false;\n      scope.c.selectRecord(suggestion);\n    });\n\n    scope.typeaheadElement.bind('typeahead:active', function (ev, suggestion) {\n      scope.c.selected = false;\n      scope.c.typing = true;\n\n      if (scope.options.overlay)\n        scope.typeaheadContainer.addClass('x-pisn-sp-typeahead-search__dim');\n    });\n\n    scope.typeaheadElement.bind('typeahead:close', function (ev, suggestion) {\n      if (scope.options.overlay)\n        scope.typeaheadContainer.removeClass('x-pisn-sp-typeahead-search__dim');\n      if (!scope.c.selected)\n        scope.typeaheadElement.typeahead('val', '');\n      scope.c.typing = false;\n    });\n\n  });\n}\n"
  },
  {
    "path": "src/pe-rest-typeahead-search/widget/pe-rest-typeahead-search.u-server-script.js",
    "content": "(function () {\n  data.uri = gs.getProperty('glide.servlet.uri');\n\n  options.overlay = options.overlay == 'true' || options.overlay == true;\n  options.order_by = options.order_by || options.display_field;\n\n  var gr = new GlideRecord('sp_instance_table');\n  gr.setLimit(1);\n  gr.addQuery('sp_widget', options.sp_widget);\n  gr.addQuery('sp_column', options.sp_column);\n  gr.query();\n  while (gr.next())\n    data.widget_sys_id = gr.getUniqueValue();\n\n})();\n"
  },
  {
    "path": "src/pe-search-as-direct-reports/README.md",
    "content": "# Search As Direct Reports\n\n## Description\n\nBehavioral additions to two pages of the Employee Service Center, allowing managers to view search results as they would be delivered to their direct reports, and to load Knowledge article content from those results as it would be for a selected direct report.\n\nA revision to the Faceted Search widget, **Faceted Search with View As** displays a tab for the user and any of his or her direct reports. Each tab maintains any selected facet and source criteria, and shows search results as the selected user would see them.\n\nA revision to the Knowledge article widget, **KB Article Page with View As** gives the option to switch views to that of a direct report (as selected on the search page).\n\n## Screenshot\n\n![Search As Direct Reports](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-search-as-direct-reports/images/pe-search-as-direct-reports.png)\n\n## Additional Information/Notes\n\nA \"direct report\" is any user with the current user assigned as \"manager\".\n\nThe manager currently requires the \"impersonator\" role for these functionalities to display.\n\n## Installation\n\nDownload and install update set **[pe-search-as-direct-reports.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-search-as-direct-reports/pe-search-as-direct-reports.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\nTo include in ESC, the widget instances in that portal need to be assigned the 'with View As' widgets.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> None\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-search-as-direct-reports/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Search\",\n  \"common-name\": \"Search as Direct Reports\",\n  \"compatibility\": [\n    \"London\",\n    \"Madrid\"\n  ],\n  \"contributors\": [\n    \"Jacob Shemkovitz\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-search-as-direct-reports\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Allows managers to view search results and KB article content as any of their direct reports in ESC\",\n  \"type\": \"Widget\",\n  \"version\": \"1.1.0\"\n}\n"
  },
  {
    "path": "src/pe-search-as-direct-reports/pe-search-as-direct-reports.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-04-22 02:46:55\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Search and View Results As</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>1fd28ac313f43300a957721a6144b01b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:54</sys_created_on>\n<sys_id>2c340c90134d3300a957721a6144b0e2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:54</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_search_source_c6170ae86721220023c82e08f585efe6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_search_source\"&gt;&lt;sp_search_source action=\"INSERT_OR_UPDATE\"&gt;&lt;advanced_typeahead_config&gt;false&lt;/advanced_typeahead_config&gt;&lt;condition/&gt;&lt;data_fetch_script&gt;&lt;![CDATA[var queryLocation = queryLocation || 0;\nvar count = count || 30;\nvar facets = facets || {};\n(function(query, queryLocation, count, facets) {\n\t\t\t\n\treturn doContextualSearch(query, count, facets, queryLocation);\n\t\t\n\tfunction doContextualSearch(query, count, facets, queryLocation) {\n\t\tvar results = [];\n\t\t\n\t\tvar kbArray = [];\n\t\tif(facets.kb_knowledge_base)\n\t\t\tkbArray.push(facets.kb_knowledge_base);\n\t\telse {\n\t\t\tvar kbs = $sp.getKnowledgeBases();\n\t\t\tif(!gs.nil(kbs))\n\t\t\t\tkbArray = kbs.split(',');\n\t\t}\n\n\t\t// Set up request\n\t\tvar request = {\n\t\t\tkeyword : query,\n\t\t\tlanguage : \"\",\n\t\t\tvariables : {\n\t\t\t\tkb_knowledge_base : kbArray,\n\t\t\t\tkb_category : facets.category,\n\t\t\t\tauthor : [facets.author]\n\t\t\t},\n\t\t\tresource : 'Knowledge',\n\t\t\tcontext : gs.getProperty('glide.knowman.sp.search_context', 'Knowledge Search'),\n\t\t\tkb_query : getFacetQuery(facets),\n\t\t\tsocial_query : \"\",\n\t\t\torder : \"relevancy,true\",\n\t\t\tstart : queryLocation,\n\t\t\tend : count,\n\t\t\tattachment : false,\n\t\t\tknowledge_fields : [\n\t\t\t\t\"number\",\n\t\t\t\t\"sys_id\",\n\t\t\t\t\"published\"\n\t\t\t]\n\t\t};\n\t\t\t\n\t\tif (JSUtil.notNil(data.limit) &amp;&amp; !isNaN(data.limit))\n\t\t\trequest.end = data.limit;\t\t\t\n\n\t\t// execute search return result\n\t\tvar response = new KBPortalServiceImpl().getResultData(request);\n\n\t\t// Send results back ro UI\n\t\tvar kbCount = 0;\n\t\tfor (var i = 0; i &lt; response.results.length; i++) {\n\t\t\tresult = response.results[i];\n\t\t\tvar article = {};\n\t\t\tarticle.sys_id = result.meta.sys_id.display_value;\n\t\t\tarticle.number = result.meta.number.display_value;\n\t\t\tarticle.short_description = result.title;\n\t\t\tarticle.published = result.meta.published.display_value;\n\t\t\tarticle.publishedUTC = result.meta.published.display_value;\n\t\t\tarticle.type = \"kb\";\n\t\t\tarticle.text = result.snippet || \"\";\n\t\t\tarticle.text = $sp.stripHTML(article.text) + \"\";\n\t\t\tarticle.text = article.text.substring(0, 200);\n\t\t\tarticle.score = result.meta.score;\n\t\t\tarticle.label = article.short_description;\n\t\t\tarticle.primary = article.short_description;\n\t\t\tarticle.query_location = queryLocation+kbCount;\n\t\t\tresults.push(article);\n\t\t\t\n\t\t\tkbCount++;\n\t\t}\n\n\t\t$sp.logSearch('kb_knowledge', query, kbCount, data.searchType);\n\t\t\n\t\tif (results.length == 0)\n\t\t\treturn results;\n\t\t\t\t\n\t\tvar lastResult = results.pop();\n\t\t\t\t\n\t\tif(results.length &lt;= count) {\n\t\t\tlastResult.isLastResult = true;\n\t\t\tresults.push(lastResult);\n\t\t}\n\t\t\t\t\n\t\treturn results;\n\t}\n\t\t\t\n\t// Build the kb_query based on facets\n\tfunction getFacetQuery(facets) {\n\t\tvar kbFacetMap = {\n\t\t\t// updated\n\t\t\t\"more_ago\"  : \"^sys_updated_onRELATIVEGT@year@ago@2\",\n\t\t\t\"year_ago\"  : \"^sys_updated_onRELATIVEGT@year@ago@1\",\n\t\t\t\"month_ago\" : \"^sys_updated_onRELATIVEGT@month@ago@1\",\n\t\t\t\"week_ago\"  : \"^sys_updated_onRELATIVEGT@dayofweek@ago@7\",\n\t\t\t\"day_ago\"   : \"^sys_updated_onRELATIVEGT@dayofweek@ago@1\",\n\t\t\t\t\t\n\t\t\t// viewcount\n\t\t\t\"more_than_500\" : \"^sys_view_count&gt;500\",\n\t\t\t\"more_than_200\" : \"^sys_view_count&gt;200\",\n\t\t\t\"more_than_100\" : \"^sys_view_count&gt;100\",\n\t\t\t\"more_than_50\"  : \"^sys_view_count&gt;50\",\n\t\t\t\"more_than_10\"  : \"^sys_view_count&gt;10\",\n\t\t\t\"less_than_10\"  : \"^sys_view_count&lt;10\"\n\t\t};\n\t\t\t\t\t\t\n\t\t// Fill in facet info into kbQuery\n\t\tvar kbQuery = \"\";\n\t\tif (facets.updated)\n\t\t\tkbQuery += kbFacetMap[facets.updated];\n\t\tif (facets.viewcount)\n\t\t\tkbQuery += kbFacetMap[facets.viewcount];\n\t\t\t\t\n\t\t// return built up query, stripping away leading ^\n\t\treturn (kbQuery.startsWith(\"^\"))? kbQuery.substring(1): kbQuery;\n\t}\n})(query, queryLocation, count, facets);]]&gt;&lt;/data_fetch_script&gt;&lt;display_fields/&gt;&lt;enable_typeahead&gt;true&lt;/enable_typeahead&gt;&lt;facet_generation_script&gt;&lt;![CDATA[(function(query, facetService, searchResults) {\n\n\t/* Calculate your facets here using facetService */\n\t/* var stateFacet = facetService.createFacet('State', 'state'); */\n\t/* stateFacet.addFacetItem('Facet Item Label', '123'); */\n\n\t// If no facets selected and no results, don't show any facets\n\tif(searchResults.length == 0 &amp;&amp; Object.keys(facets).length == 0)\t\t\n\t\treturn;\n\t\t\n\tvar kbLabelMap = {\n\t\tmore_than_500: \"More Than 500\",\n\t\tmore_than_200: \"More Than 200\",\n\t\tmore_than_100: \"More Than 100\",\n\t\tmore_than_50: \"More Than 50\",\n\t\tmore_than_10: \"More Than 10\",\n\t\tless_than_10: \"Less Than 10\",\n\t\tmore_ago: \"Past 2 Years\",\n\t\tyear_ago: \"Past Year\",\n\t\tmonth_ago: \"Past Month\",\n\t\tweek_ago: \"Past Week\",\n\t\tday_ago: \"Past 24 Hours\"\n\t};\n\t\n\tvar kbArray = [];\n\tvar kbQuery='';\n\tvar kbQueryDataObj = {};\n\tvar kbQueryData = '';\n\t\n\tvar kbs = $sp.getKnowledgeBases();\n\t\n\tif(!gs.nil(kbs)) {\n\t\tkbArray = kbs.split(',');\n\t\tkbQuery = 'kb_knowledge_baseIN'+kbs;\n\t\tkbQueryDataObj = {value: 'kb', dynamic:false, filters:[{id:'kb', label:'Knowledge base', order:1, query:[{display_value: kbQuery, table: 'kb_knowledge', value: kbQuery}]}]};\n\t\tkbQueryData = JSON.stringify(kbQueryDataObj);\n\t}\n\t\n\tvar kbFacets = new KBPortalServiceImpl().getAllFacets(query, 'en',\n\t\t'{\"kb_knowledge_base\":{\"aggregate\":false,\"include_null\":false,\"orderby\":\"label\",\"table\":\"kb_knowledge\",\"value\":[]}, \"author\":{\"aggregate\":false,\"include_null\":false,\"orderby\":\"label\",\"table\":\"kb_knowledge\",\"value\":[]},\"kb_category\":{\"aggregate\":false,\"include_null\":true,\"orderby\":\"label\",\"table\":\"kb_knowledge\",\"value\":[]}}',\n\t\t'{' + (kbQueryData ? 'kb:'+kbQueryData + \",\" : \"\") + '\"modified\":{\"dynamic\":false,\"filters\":[{\"id\":\"more_ago\",\"label\":\"Past 2 Years\",\"order\":5,\"query\":[{\"display_value\":\"sys_updated_onRELATIVEGT@year@ago@2^sys_updated_onRELATIVELT@year@ago@1\",\"table\":\"\",\"value\":\"sys_updated_onRELATIVEGT@year@ago@2\"}]},{\"id\":\"year_ago\",\"label\":\"Past Year\",\"order\":4,\"query\":[{\"display_value\":\"sys_updated_onRELATIVEGT@year@ago@1^sys_updated_onRELATIVELT@month@ago@1\",\"table\":\"\",\"value\":\"sys_updated_onRELATIVEGT@year@ago@1\"}]},{\"id\":\"month_ago\",\"label\":\"Past Month\",\"order\":3,\"query\":[{\"display_value\":\"sys_updated_onRELATIVEGT@month@ago@1^sys_updated_onRELATIVELT@dayofweek@ago@7\",\"table\":\"\",\"value\":\"sys_updated_onRELATIVEGT@month@ago@1\"}]},{\"id\":\"week_ago\",\"label\":\"Past Week\",\"order\":2,\"query\":[{\"display_value\":\"sys_updated_onRELATIVEGT@dayofweek@ago@2^sys_updated_onRELATIVELT@dayofweek@ago@1\",\"table\":\"\",\"value\":\"sys_updated_onRELATIVEGT@dayofweek@ago@7\"}]},{\"id\":\"day_ago\",\"label\":\"Past 24 Hours\",\"order\":1,\"query\":[{\"display_value\":\"sys_updated_onRELATIVEGT@dayofweek@ago@1\",\"table\":\"\",\"value\":\"sys_updated_onRELATIVEGT@dayofweek@ago@1\"}]}],\"value\":\"\"},\"resources\":{\"dynamic\":true,\"filters\":\"\",\"value\":\"Knowledge\"},\"view_count\":{\"dynamic\":false,\"filters\":[{\"id\":\"more_than_500\",\"label\":\"More Than 500\",\"order\":6,\"query\":[{\"display_value\":\"sys_view_count&gt;500\",\"table\":\"kb_knowledge\",\"value\":\"sys_view_count&gt;500\"}]},{\"id\":\"more_than_200\",\"label\":\"More Than 200\",\"order\":5,\"query\":[{\"display_value\":\"sys_view_count&gt;200^sys_view_count&lt;500\",\"table\":\"kb_knowledge\",\"value\":\"sys_view_count&gt;200\"}]},{\"id\":\"more_than_100\",\"label\":\"More Than 100\",\"order\":4,\"query\":[{\"display_value\":\"sys_view_count&gt;100^sys_view_count&lt;200\",\"table\":\"kb_knowledge\",\"value\":\"sys_view_count&gt;100\"}]},{\"id\":\"more_than_50\",\"label\":\"More Than 50\",\"order\":3,\"query\":[{\"display_value\":\"sys_view_count&gt;50^sys_view_count&lt;100\",\"table\":\"kb_knowledge\",\"value\":\"sys_view_count&gt;50\"}]},{\"id\":\"more_than_10\",\"label\":\"More Than 10\",\"order\":2,\"query\":[{\"display_value\":\"sys_view_count&gt;10^sys_view_count&lt;50\",\"table\":\"kb_knowledge\",\"value\":\"sys_view_count&gt;10\"}]},{\"id\":\"less_than_10\",\"label\":\"Less Than 10\",\"order\":1,\"query\":[{\"display_value\":\"sys_view_count&lt;11\",\"table\":\"kb_knowledge\",\"value\":\"sys_view_count&lt;11\"}]}],\"value\":\"\"}}',\n\t\t'sys_view_count,true');\n\n\tvar kbFacetObj = JSON.parse(kbFacets);\n\t\n\tif(kbFacetObj.kb_knowledge_base &amp;&amp; kbFacetObj.kb_knowledge_base.length &gt; 1)\n\t\tcreateVariableFacetFromKB(\"Knowledge Base\", \"kb_knowledge_base\", kbFacetObj.kb_knowledge_base, 'label');\n\tcreateVariableFacetFromKB(\"Author\", \"author\", kbFacetObj.author, 'label');\n\tcreateMultiChoiceFacetFromKB(\"Category\", \"category\", kbFacetObj.kb_category, 'order');\n\tcreateVariableFacetFromKB(\"Last Modified\", \"updated\", kbFacetObj.modified, 'order');\n\tcreateVariableFacetFromKB(\"View Count\", \"viewcount\", kbFacetObj.view_count, 'order');\n\n\tfunction createVariableFacetFromKB(label, variable, values, orderBy){\n\t\tif(!values || values.length == 0) \n\t\t\treturn;\n\n\t\tvar kbFacet = facetService.createFacet(label, variable);\n\t\t\n\t\tif(orderBy)\n\t\t\tvalues.sort(function(a, b){\n\t\t\t\tif(a[orderBy] &lt; b[orderBy]) \n\t\t\t\t\treturn -1;\n\t\t\t\tif(a[orderBy] &gt; b[orderBy]) \n\t\t\t\t\treturn 1;\n\t\t\t\treturn 0;\n\t\t});\n\t\t\t\t\n\t\tif (facets.author &amp;&amp; variable == 'author') \n\t\t\tkbFacet.addFacetItem(getLabel(values, facets[variable]), facets[variable]);\n\t\telse if (facets.updated &amp;&amp; variable == 'updated' &amp;&amp; kbLabelMap[facets.updated]) \n\t\t\tkbFacet.addFacetItem(kbLabelMap[facets.updated], facets.updated);\n\t\telse if (facets.viewcount &amp;&amp; variable == 'viewcount' &amp;&amp; kbLabelMap[facets.viewcount]) \n\t\t\tkbFacet.addFacetItem(kbLabelMap[facets.viewcount], facets.viewcount);\n\t\telse if (facets.kb_knowledge_base &amp;&amp; variable == 'kb_knowledge_base')\n\t\t\tkbFacet.addFacetItem(getLabel(values, facets[variable]), facets[variable]);\n\t\telse {\n\t\t\tfor(var i in values)\n\t\t\t\tkbFacet.addFacetItem(values[i].label, values[i].id);\n\t\t}\n\t}\n\t\n\tfunction createMultiChoiceFacetFromKB(label, variable, values, orderBy){\n\t\tif(!values || values.length == 0) \n\t\t\treturn;\n\t\t\n\t\tvar kbFacet = facetService.createMultiChoiceFacet(label, variable);\n\t\t\n\t\tif(orderBy)\n\t\t\tvalues.sort(function(a, b){\n\t\t\t\tif(a[orderBy] &lt; b[orderBy]) \n\t\t\t\t\treturn -1;\n\t\t\t\tif(a[orderBy] &gt; b[orderBy]) \n\t\t\t\t\treturn 1;\n\t\t\t\treturn 0;\n\t\t});\n\t\t\n\t\tvar kbMap = {};\n\t\tfor(var i in values) {\n\t\t\tvar key = values[i].label;\n\t\t\tvar value = values[i].id;\t\t\t\n\t\t\tif(!kbMap[key]) \n\t\t\t\tkbMap[key] = value;\n\t\t\telse \n\t\t\t\tkbMap[key] += \",\" + value;\t\t\t\t\t\t\t\t\n\t\t}\n\t\t\n\t\tfor(var mapLabel in kbMap) {\n\t\t\tkbFacet.addFacetItem(mapLabel, kbMap[mapLabel]);\n\t\t}\n\t}\n\n\tfunction getLabel(values, id) {\n\t\tfor (var i in values) {\n\t\t\tif(values[i].id == id)\n\t\t\t\treturn values[i].label;\n\t\t}\n\t\treturn \"\";\n\t}\n})(query, facetService, searchResults);]]&gt;&lt;/facet_generation_script&gt;&lt;id&gt;kb&lt;/id&gt;&lt;is_scripted_source&gt;true&lt;/is_scripted_source&gt;&lt;name&gt;Knowledge Bases&lt;/name&gt;&lt;page display_value=\"kb_article\"&gt;dea5792147132100ba13a5554ee4902d&lt;/page&gt;&lt;pagination_supported&gt;false&lt;/pagination_supported&gt;&lt;primary_display_field/&gt;&lt;roles/&gt;&lt;search_page_template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;a href=\"?id=kb_article&amp;amp;sys_id={{item.sys_id + (item.viewAs ? '&amp;amp;view_as='+item.viewAs : '')}}\" class=\"h4 text-primary m-b-sm block\"&gt;\n    &lt;i class=\"fa fa-book m-r-sm\"&gt;&lt;/i&gt;\n    &lt;span ng-bind-html=\"highlight(item.short_description, data.q)\"&gt;&lt;/span&gt;\n  &lt;/a&gt;\n  &lt;p ng-bind-html=\"highlight(item.text, data.q)\"&gt;&lt;/p&gt;\n  &lt;span class=\"text-muted\"&gt;${Article}: {{item.number}}&lt;/span&gt;\n  &lt;span class=\"text-muted\"&gt;\n    &lt;span class=\"m-l-xs m-r-xs\" aria-hidden=\"true\"&gt; &amp;middot; &lt;/span&gt;\n    ${Published}: &lt;sn-day-ago date=\"item.publishedUTC\"/&gt;\n  &lt;/span&gt;\n&lt;/div&gt;\n]]&gt;&lt;/search_page_template&gt;&lt;source_table/&gt;&lt;sys_class_name&gt;sp_search_source&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2016-08-26 22:34:19&lt;/sys_created_on&gt;&lt;sys_id&gt;c6170ae86721220023c82e08f585efe6&lt;/sys_id&gt;&lt;sys_mod_count&gt;386&lt;/sys_mod_count&gt;&lt;sys_name&gt;Knowledge Bases&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;b23773bb14a11300651763392430a411&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_search_source_c6170ae86721220023c82e08f585efe6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-18 16:05:49&lt;/sys_updated_on&gt;&lt;typeahead_glyph&gt;file-text-o&lt;/typeahead_glyph&gt;&lt;typeahead_template/&gt;&lt;/sp_search_source&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=c6170ae86721220023c82e08f585efe6\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-843249907</payload_hash>\n<remote_update_set display_value=\"Search and View Results As\">2c340c90134d3300a957721a6144b0e2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:55</sys_created_on>\n<sys_id>20340c90134d3300a957721a6144b0e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a31326e9c0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:55</sys_updated_on>\n<table/>\n<target_name>Knowledge Bases</target_name>\n<type>Search Source</type>\n<update_domain>global</update_domain>\n<update_guid>50b49ecf853833004a63628dc2af8bf4</update_guid>\n<update_guid_history>50b49ecf853833004a63628dc2af8bf4:-843249907,7452fac68c30374071a3e1a0af929442:-897640427,a8e172c618303740d49f3cf94ce2806f:-344952763,cfc132c6d430374088d3364f710a5a2a:-843702187,1f2f62064e303740ae19ff041e02cc99:819915558,19ce6ec22e3037401f4b27feabed0b0b:-192951216,834c660ec7fcf3408e8a4f04131efffe:1677897672,cf4c660e53fcf340c7447a10297d2afc:-912546403,97d2cac35ff433008e30d6369fcf3c0a:-912546403</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_e0b57a0edb3037403a50de01ce9619b5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"KB Article Page with View As\">acb5be8adb3037403a50de01ce961917</child><cloned>2019-04-15 15:56:06</cloned><last_validated>2019-04-15 15:56:06</last_validated><parent display_value=\"KB Article Page\">c6545050ff223100ba13ffffffffffe8</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;kb&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, spUtil, $sce, $rootScope, $timeout) {\n\tspUtil.setSearchPage('kb');\n\t$scope.data.text = $sce.trustAsHtml($scope.data.text);\n\t$timeout(function() {\n\t\t$rootScope.$broadcast('sp.update.breadcrumbs', $scope.data.breadcrumbs);\n\t});\n}]]&gt;&lt;/client_script&gt;&lt;controller_as/&gt;&lt;css&gt;td {\n\tpadding: .5em;\n  \tline-height: 1em;\n}\n\n.kb-star-on {\n  color: $fav-star-color !important;\n  text-shadow: $fav-star-outline;\n}\n\n.kb-star-off {\n  color: $fav-star-color-off !important;\n  text-shadow: $fav-star-outline;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;color&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;KB Article Page&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"show_star_rating\",\"default_value\":\"Use system properties\",\"section\":\"Presentation\",\"label\":\"Show star rating\",\"type\":\"choice\",\"choices\":[{\"label\":\"Yes\",\"value\":\"Yes\"},{\"label\":\"No\",\"value\":\"No\"},{\"label\":\"Use system properties\",\"value\":\"Use system properties\"}]}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[var t = data;\ndata.kb_knowledge_page = $sp.getDisplayValue(\"kb_knowledge_page\") || \"kb_view\";\nvar articleGR = GlideRecord(\"kb_knowledge\");\narticleGR.get($sp.getParameter('sys_id'));\nvar recordIsValid = articleGR.isValidRecord();\nvar canReadArticle = articleGR.canRead();\nt.isvalid = recordIsValid &amp;&amp; canReadArticle;\n\nif (canReadArticle) {\n\tarticleGR.incrementViewCount(); // update sys_view_count immediately on kb_knowledge record\n\tvar art = new GlideRecord(\"kb_use\");\n\tif (art.isValid()) {\n\t\tart.article = articleGR.getUniqueValue();\n\t\tart.user = gs.getUserID();\n\t\tart.viewed = true;\n\t\tart.insert(); // kb_use records are aggregated to update sys_view_count nightly\n\t\t$sp.logStat('KB Article View', \"kb_knowledge\", articleGR.getUniqueValue(), articleGR.short_description);\n\t}\n\n\tt.category = articleGR.getValue('kb_category');\n\tt.sys_id = $sp.getParameter('sys_id');\n\tt.showAttachments = false;\n\tif (articleGR.display_attachments)\n\t\tt.showAttachments = true;\n\tt.categoryDisplay = articleGR.getDisplayValue('kb_category');\n\tt.short_description = articleGR.getValue('short_description');\n  \tt.text = new global.KBViewModel().getArticleContentBySysId(articleGR.getUniqueValue());\n\t\n\t// Next line bumps the view count for display, but does not update the kb_knowledge\n\t// record. The articleGR.incrementViewCount() line above already did that, but we\n\t// don't want to re-fetch the GlideRecord\n\tarticleGR.sys_view_count = articleGR.sys_view_count + 1;\n\t\n\tt.sys_view_count = articleGR.getDisplayValue('sys_view_count');\n\tt.sys_view_countValue = articleGR.getValue('sys_view_count');\n\tt.author = articleGR.getDisplayValue('author');\n\tt.publishedUtc = articleGR.getValue('published');\n\tt.number = articleGR.getValue('number');\n\tif (showStarRating())\n\t\tt.rating = articleGR.getValue('rating');\n\tt.direct = false;\n\tif (articleGR.direct)\n\t\tt.direct = true;\n  \n\t//get KB name of the article\n\tdata.kbId = [articleGR.getValue('kb_knowledge_base')];\n\tdata.kbName = articleGR.getDisplayValue('kb_knowledge_base');\n\t\n\tt.breadcrumbs = [{label: t.short_description, url: '#'}];\n\tif (!articleGR.kb_category.nil()) {\n\t\tvar rec = articleGR.kb_category.getRefRecord();\n\t\twhile (rec.getRecordClassName() == \"kb_category\") {\n\t\t\tt.breadcrumbs.unshift({label: rec.getDisplayValue(), url: '?id=kb_category&amp;kb_category=' + rec.getUniqueValue() + '&amp;kb_id='+ data.kbId});\n\t\t\trec = rec.parent_id.getRefRecord();\n\t\t}\n\t}\n\t\n\tvar kbs = $sp.getKnowledgeBases();\n\tvar countOfKb= kbs.split(',').length;\n\t\n\tif (countOfKb &gt; 1) {\n\t\tif (GlideStringUtil.notNil(data.kbName))\n\t\t\tt.breadcrumbs.unshift({label: data.kbName, url: '?id=' + data.kb_knowledge_page + '&amp;kb_id='+ data.kbId});\n\t\tt.breadcrumbs.unshift({label: gs.getMessage(\"All Knowledge Bases\"), url: '?id=' + t.kb_knowledge_page});\n\t} else\n\t\tt.breadcrumbs.unshift({label: gs.getMessage(\"Knowledge Base\"), url: '?id=' + t.kb_knowledge_page});\n\t\n}\n\t\t\nfunction showStarRating() {\n\tif (options.show_star_rating == \"Yes\")\n\t\treturn true;\n\n\tif (options.show_star_rating == \"No\")\n\t\treturn false;\n\n\t// check gating property for all rating options\n\tif (gs.getProperty(\"glide.knowman.show_rating_options\", \"true\") != \"true\")\n\t\treturn false;\n\n\t// does user have the right role?\n\tif (!gs.hasRole(gs.getProperty(\"glide.knowman.show_rating_options.roles\")))\n\t\treturn false;\n\n\t// check specific property for stars\n\tif (gs.getProperty(\"glide.knowman.show_star_rating\", \"true\") != \"true\")\n\t\treturn false;\n\n\t// does user have the right role?\n\treturn gs.hasRole(gs.getProperty(\"glide.knowman.show_star_rating.roles\"));\n}]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-02-26 00:05:40&lt;/sys_created_on&gt;&lt;sys_id&gt;c6545050ff223100ba13ffffffffffe8&lt;/sys_id&gt;&lt;sys_mod_count&gt;242&lt;/sys_mod_count&gt;&lt;sys_name&gt;KB Article Page&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Knowledge Base (do not activate...see plugin description)\" source=\"com.glide.service-portal.knowledge-base\"&gt;1f60a563dbc323003a50de01ce9619be&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c6545050ff223100ba13ffffffffffe8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-24 13:07:14&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"data.isvalid\" class=\"panel panel-{{options.color}} b\"&gt;\n\n  &lt;div class=\"panel-heading\"&gt;\n      &lt;h2 class=\"panel-title h4\"&gt;\n          &lt;span class=\"pull-left\"&gt;{{::data.short_description}}&lt;/span&gt;&amp;nbsp;\n          &lt;span class=\"pull-right\"&gt;{{::data.number}}&lt;/span&gt;\n      &lt;/h2&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"panel-body m-b-lg wrapper-lg\"&gt;\n\n    &lt;div class=\"row m-b-lg b-b\"&gt;\n        &lt;span class=\"author pad-right\" ng-if=\"data.author\"&gt;\n          &lt;glyph sn-char=\"user\" class=\"pad-right\" /&gt;\n          ${Authored by {{::data.author}}}\n        &lt;/span&gt;\n        &lt;span ng-if=\"data.sys_view_countValue == 1\" class=\"views pad-right\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;glyph sn-char=\"eye-open\" class=\"pad-right\" /&gt;\n          ${{{::data.sys_view_count}} View}\n        &lt;/span&gt;\n        &lt;span ng-if=\"data.sys_view_countValue &gt; 1\" class=\"views pad-right\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;glyph sn-char=\"eye-open\" class=\"pad-right\" /&gt;\n          ${{{::data.sys_view_count}} Views}\n        &lt;/span&gt;\n        &lt;span class=\"published pad-right\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;glyph sn-char=\"calendar\" class=\"pad-right\" /&gt;\n          &lt;sn-day-ago date=\"data.publishedUtc\"/&gt;\n        &lt;/span&gt;\n        &lt;span ng-if=\"data.rating &gt; 0 &amp;&amp; !data.direct\" title=\"{{::data.rating}} rating\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;uib-rating sp-rating ng-model=\"::data.rating\" max=\"5\" readonly=\"true\" aria-label=\"${Article rating} - ${Read Only}\" state-on=\"'fa fa-star kb-star-on'\" state-off=\"'fa fa-star kb-star-off'\" /&gt;\n        &lt;/span&gt;\n    &lt;/div&gt;\n\n    &lt;div ng-if=\"!data.direct\" class=\"kb_article\" ng-bind-html=\"::data.text\" style=\"overflow-x:auto;\"&gt;&lt;/div&gt;\n\n    &lt;h4 ng-if=\"data.direct\"&gt;\n      ${View or download the attachments below}\n    &lt;/h4&gt;\n    &lt;div ng-if=\"::data.showAttachments || data.direct\" class=\"b-t m-t\"&gt;\n      &lt;sp-attachment-manager table=\"'kb_knowledge'\" sys-id=\"::data.sys_id\" omit-edit=\"true\"&gt;&lt;/sp-attachment-manager&gt;\n    &lt;/div&gt;\n\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isvalid\"&gt;\n  ${Article not found}\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-04-15 15:56:06</sys_created_on><sys_id>e0b57a0edb3037403a50de01ce9619b5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>acb5be8adb3037403a50de01ce961917</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_e0b57a0edb3037403a50de01ce9619b5</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-04-15 15:56:06</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>-1796427155</payload_hash>\n<remote_update_set display_value=\"Search and View Results As\">2c340c90134d3300a957721a6144b0e2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:55</sys_created_on>\n<sys_id>6c340c90134d3300a957721a6144b0e3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a30eb1c380000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:55</sys_updated_on>\n<table/>\n<target_name>acb5be8adb3037403a50de01ce961917</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>a4b57a0eb7303740c828e01d8e29edb6</update_guid>\n<update_guid_history>a4b57a0eb7303740c828e01d8e29edb6:-1796427155</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_ng_pro_sp_widget_a0b5be8adb3037403a50de01ce96191a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_ng_pro_sp_widget\"><m2m_sp_ng_pro_sp_widget action=\"INSERT_OR_UPDATE\"><sp_angular_provider display_value=\"spAttachmentManager\">06e836f0d722120023c84f80de6103a1</sp_angular_provider><sp_widget display_value=\"KB Article Page with View As\">acb5be8adb3037403a50de01ce961917</sp_widget><sys_class_name>m2m_sp_ng_pro_sp_widget</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-04-15 15:56:06</sys_created_on><sys_id>a0b5be8adb3037403a50de01ce96191a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>spAttachmentManager.KB Article Page with View As</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_ng_pro_sp_widget_a0b5be8adb3037403a50de01ce96191a</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-04-15 15:56:06</sys_updated_on></m2m_sp_ng_pro_sp_widget></record_update>]]></payload>\n<payload_hash>-1704410782</payload_hash>\n<remote_update_set display_value=\"Search and View Results As\">2c340c90134d3300a957721a6144b0e2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:54</sys_created_on>\n<sys_id>a0340c90134d3300a957721a6144b0e3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a30eb1c2d0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:54</sys_updated_on>\n<table/>\n<target_name>spAttachmentManager.KB Article Page with View As</target_name>\n<type>Angular Providers</type>\n<update_domain>global</update_domain>\n<update_guid>a0b57a0eb73037409512017007b5b4b4</update_guid>\n<update_guid_history>a0b57a0eb73037409512017007b5b4b4:-1704410782</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_acb5be8adb3037403a50de01ce961917</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, spUtil, $sce, $rootScope, $timeout) {\n\t\n\tspUtil.setSearchPage('kb');\n\t$scope.data.text = $sce.trustAsHtml($scope.data.text);\n\t$timeout(function() {\n\t\t$rootScope.$broadcast('sp.update.breadcrumbs', $scope.data.breadcrumbs);\n\t});\n\t\n\t$scope.viewAsSelect = function(viewAs) {\n\t\t$scope.server.get({\n\t\t\taction: 'impersonate',\n\t\t\tview_as: viewAs\n\t\t}).then(function(r){\n\t\t\tconsole.log('r imp', r);\n\t\t\t$scope.viewingAs = viewAs;\n\t\t\t$scope.data = r.data;\n\t\t\tvar textContent = $sce.trustAsHtml($scope.data.text);\n\t\t\t$scope.data.text = '';\n\t\t\t$scope.data.text = textContent;\n\t\t\t$scope.server.get({ action: 'unimpersonate' });\n\t\t});\n\t}\n\t\n\t$scope.viewAsDeselect = function() {\n\t\t$scope.data.viewAs = $scope.viewingAs;\n\t\tdelete $scope.viewingAs;\n\t\t$scope.server.get({\n\t\t\taction: 'no_impersonate'\n\t\t}).then(function(r){\n\t\t\tconsole.log('r no_imp', r);\n\t\t\t$scope.data = r.data;\n\t\t\t$scope.data.text = $sce.trustAsHtml($scope.data.text);\n\t\t})\n\t}\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;td {\n\tpadding: .5em;\n  \tline-height: 1em;\n}\n\n.kb-star-on {\n  color: $fav-star-color !important;\n  text-shadow: $fav-star-outline;\n}\n\n.kb-star-off {\n  color: $fav-star-color-off !important;\n  text-shadow: $fav-star-outline;\n}\n\n.view-as-select {\n  font-size: $font-size-small;\n  line-height: $line-height-small;\n  .view-as-select-label {\n    float: left;\n    padding: $padding-xs-vertical 0;\n  }\n  &amp;gt; .nav &amp;gt; li &amp;gt; a {\n    padding: $padding-xs-vertical $padding-xs-horizontal;\n    border-radius: $btn-border-radius-small;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;color&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;kb_article_page_with_view_as&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {  }]]&gt;&lt;/link&gt;&lt;name&gt;KB Article Page with View As&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"show_star_rating\",\"default_value\":\"Use system properties\",\"section\":\"Presentation\",\"label\":\"Show star rating\",\"type\":\"choice\",\"choices\":[{\"label\":\"Yes\",\"value\":\"Yes\"},{\"label\":\"No\",\"value\":\"No\"},{\"label\":\"Use system properties\",\"value\":\"Use system properties\"}]}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[var t = data;\n\nif (input &amp;&amp; input.action == 'impersonate')\n\tsession.onlineImpersonate(input.view_as.id);\n\t\nif (input &amp;&amp; input.action == 'unimpersonate') {\n\tsession.onlineUnimpersonate();\n\treturn;\n}\n\nvar viewAsParam = $sp.getParameter('view_as');\n\nif ( viewAsParam &amp;&amp; gs.hasRole('impersonator') ) {\n\tvar gr = new GlideRecord('sys_user');\n\tif ( gr.get(viewAsParam) &amp;&amp; gr.manager == gs.getUserID() )\n\t\tt.viewAs = { name: gr.getDisplayValue(), id: gr.getUniqueValue() };\n}\n\ndata.kb_knowledge_page = $sp.getDisplayValue(\"kb_knowledge_page\") || \"kb_view\";\nvar articleGR = GlideRecord(\"kb_knowledge\");\narticleGR.get($sp.getParameter('sys_id'));\nvar recordIsValid = articleGR.isValidRecord();\nvar canReadArticle = articleGR.canRead();\nt.isvalid = recordIsValid &amp;&amp; canReadArticle;\n\nif (canReadArticle) {\n\tarticleGR.incrementViewCount(); // update sys_view_count immediately on kb_knowledge record\n\tvar art = new GlideRecord(\"kb_use\");\n\tif (art.isValid()) {\n\t\tart.article = articleGR.getUniqueValue();\n\t\tart.user = gs.getUserID();\n\t\tart.viewed = true;\n\t\tart.insert(); // kb_use records are aggregated to update sys_view_count nightly\n\t\t$sp.logStat('KB Article View', \"kb_knowledge\", articleGR.getUniqueValue(), articleGR.short_description);\n\t}\n\n\tt.category = articleGR.getValue('kb_category');\n\tt.sys_id = $sp.getParameter('sys_id');\n\tt.showAttachments = false;\n\tif (articleGR.display_attachments)\n\t\tt.showAttachments = true;\n\tt.categoryDisplay = articleGR.getDisplayValue('kb_category');\n\tt.short_description = articleGR.getValue('short_description');\n  \tt.text = new global.KBViewModel().getArticleContentBySysId(articleGR.getUniqueValue());\n\t\n\t// Next line bumps the view count for display, but does not update the kb_knowledge\n\t// record. The articleGR.incrementViewCount() line above already did that, but we\n\t// don't want to re-fetch the GlideRecord\n\tarticleGR.sys_view_count = articleGR.sys_view_count + 1;\n\t\n\tt.sys_view_count = articleGR.getDisplayValue('sys_view_count');\n\tt.sys_view_countValue = articleGR.getValue('sys_view_count');\n\tt.author = articleGR.getDisplayValue('author');\n\tt.publishedUtc = articleGR.getValue('published');\n\tt.number = articleGR.getValue('number');\n\tif (showStarRating())\n\t\tt.rating = articleGR.getValue('rating');\n\tt.direct = false;\n\tif (articleGR.direct)\n\t\tt.direct = true;\n  \n\t//get KB name of the article\n\tdata.kbId = [articleGR.getValue('kb_knowledge_base')];\n\tdata.kbName = articleGR.getDisplayValue('kb_knowledge_base');\n\t\n\tt.breadcrumbs = [{label: t.short_description, url: '#'}];\n\tif (!articleGR.kb_category.nil()) {\n\t\tvar rec = articleGR.kb_category.getRefRecord();\n\t\twhile (rec.getRecordClassName() == \"kb_category\") {\n\t\t\tt.breadcrumbs.unshift({label: rec.getDisplayValue(), url: '?id=kb_category&amp;kb_category=' + rec.getUniqueValue() + '&amp;kb_id='+ data.kbId});\n\t\t\trec = rec.parent_id.getRefRecord();\n\t\t}\n\t}\n\t\n\tvar kbs = $sp.getKnowledgeBases();\n\tvar countOfKb= kbs.split(',').length;\n\t\n\tif (countOfKb &gt; 1) {\n\t\tif (GlideStringUtil.notNil(data.kbName))\n\t\t\tt.breadcrumbs.unshift({label: data.kbName, url: '?id=' + data.kb_knowledge_page + '&amp;kb_id='+ data.kbId});\n\t\tt.breadcrumbs.unshift({label: gs.getMessage(\"All Knowledge Bases\"), url: '?id=' + t.kb_knowledge_page});\n\t} else\n\t\tt.breadcrumbs.unshift({label: gs.getMessage(\"Knowledge Base\"), url: '?id=' + t.kb_knowledge_page});\n\t\n\tconsole.log(t);\n}\n\t\t\nfunction showStarRating() {\n\tif (options.show_star_rating == \"Yes\")\n\t\treturn true;\n\n\tif (options.show_star_rating == \"No\")\n\t\treturn false;\n\n\t// check gating property for all rating options\n\tif (gs.getProperty(\"glide.knowman.show_rating_options\", \"true\") != \"true\")\n\t\treturn false;\n\n\t// does user have the right role?\n\tif (!gs.hasRole(gs.getProperty(\"glide.knowman.show_rating_options.roles\")))\n\t\treturn false;\n\n\t// check specific property for stars\n\tif (gs.getProperty(\"glide.knowman.show_star_rating\", \"true\") != \"true\")\n\t\treturn false;\n\n\t// does user have the right role?\n\treturn gs.hasRole(gs.getProperty(\"glide.knowman.show_star_rating.roles\"));\n}]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-04-15 15:56:06&lt;/sys_created_on&gt;&lt;sys_id&gt;acb5be8adb3037403a50de01ce961917&lt;/sys_id&gt;&lt;sys_mod_count&gt;110&lt;/sys_mod_count&gt;&lt;sys_name&gt;KB Article Page with View As&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_acb5be8adb3037403a50de01ce961917&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-18 15:33:11&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-if=\"data.viewAs.id &amp;&amp; !viewingAs\" class=\"m-b-sm text-right\"&gt;\n  &lt;button class=\"btn btn-info\" ng-click=\"viewAsSelect(data.viewAs)\"&gt;\n    View Article Content as {{data.viewAs.name}}\n  &lt;/button&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"viewingAs\" class=\"m-b-sm text-right\"&gt;\n  Viewing Article Content as {{viewingAs.name}}\n  &lt;button class=\"btn btn-info m-l-sm\" ng-click=\"viewAsDeselect()\"&gt;\n    View as {{user.name}}\n  &lt;/button&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.isvalid\" class=\"panel panel-{{options.color}} b\"&gt;\n\n  &lt;div class=\"panel-heading\"&gt;\n      &lt;h2 class=\"panel-title h4\"&gt;\n          &lt;span class=\"pull-left\"&gt;{{::data.short_description}}&lt;/span&gt;&amp;nbsp;\n          &lt;span class=\"pull-right\"&gt;{{::data.number}}&lt;/span&gt;\n      &lt;/h2&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"panel-body m-b-lg wrapper-lg\"&gt;\n\n    &lt;div class=\"row m-b-lg b-b\"&gt;\n        &lt;span class=\"author pad-right\" ng-if=\"data.author\"&gt;\n          &lt;glyph sn-char=\"user\" class=\"pad-right\" /&gt;\n          ${Authored by {{::data.author}}}\n        &lt;/span&gt;\n        &lt;span ng-if=\"data.sys_view_countValue == 1\" class=\"views pad-right\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;glyph sn-char=\"eye-open\" class=\"pad-right\" /&gt;\n          ${{{::data.sys_view_count}} View}\n        &lt;/span&gt;\n        &lt;span ng-if=\"data.sys_view_countValue &gt; 1\" class=\"views pad-right\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;glyph sn-char=\"eye-open\" class=\"pad-right\" /&gt;\n          ${{{::data.sys_view_count}} Views}\n        &lt;/span&gt;\n        &lt;span class=\"published pad-right\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;glyph sn-char=\"calendar\" class=\"pad-right\" /&gt;\n          &lt;sn-day-ago date=\"data.publishedUtc\"/&gt;\n        &lt;/span&gt;\n        &lt;span ng-if=\"data.rating &gt; 0 &amp;&amp; !data.direct\" title=\"{{::data.rating}} rating\"&gt;\n          &lt;span class=\"pad-right\"&gt;&amp;#8226;&lt;/span&gt; &lt;uib-rating sp-rating ng-model=\"::data.rating\" max=\"5\" readonly=\"true\" aria-label=\"${Article rating} - ${Read Only}\" state-on=\"'fa fa-star kb-star-on'\" state-off=\"'fa fa-star kb-star-off'\" /&gt;\n        &lt;/span&gt;\n    &lt;/div&gt;\n\n    &lt;div ng-if=\"!data.direct\" class=\"kb_article\" ng-bind-html=\"data.text\" style=\"overflow-x:auto;\"&gt;&lt;/div&gt;\n\n    &lt;h4 ng-if=\"data.direct\"&gt;\n      ${View or download the attachments below}\n    &lt;/h4&gt;\n    &lt;div ng-if=\"::data.showAttachments || data.direct\" class=\"b-t m-t\"&gt;\n      &lt;sp-attachment-manager table=\"'kb_knowledge'\" sys-id=\"::data.sys_id\" omit-edit=\"true\"&gt;&lt;/sp-attachment-manager&gt;\n    &lt;/div&gt;\n\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"!data.isvalid\"&gt;\n  ${Article not found}\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-367745430</payload_hash>\n<remote_update_set display_value=\"Search and View Results As\">2c340c90134d3300a957721a6144b0e2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:55</sys_created_on>\n<sys_id>a4340c90134d3300a957721a6144b0e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a31148d4d0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:55</sys_updated_on>\n<table/>\n<target_name>KB Article Page with View As</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>da3d02072b383300ccb70ac1bce3f7b2</update_guid>\n<update_guid_history>da3d02072b383300ccb70ac1bce3f7b2:-367745430,36dccec3a538330007cabd15f329a077:1056463490,753c82c3eb383300bf5e189f3e7c66b9:1988464182,d79bc6432738330059ee1bb1a2c018ee:628120477,0d1b82cf4af43300dde1703788630761:-935848226,180b8a8ffaf433000654fc8a7ee0ea85:-1544687306,667a0a8f51f4330004143de0622811b5:1981633081,a16a0a8f6cf4330026ade24d0495a74f:881025721,250a4a4f64f433001681c46369103194:-2051798681,cc99464f6cf43300245e48e6654d5d65:-1755738038,8e79864f0ff433002e09ea5289e6a7ff:-1717004278,bad682c787f43300d33e15e3b6191cb9:1840029504,207899bab470b74074ecff589aeafad7:-667322134,1d5819ba4f70b7404a7b49fda006e5e5:38733456,8e089d7a6470b740a3eb2e04dd421e49:1837378779,21875d7a8670b74074c96c7834153af9:-1085255865,e2671d7a7270b7409579acc4f4882f36:492825625,63b6d17ab670b740d7fa832f7aa5a348:-716684569,674195f20c70b7402f40d34810a723b1:1791946878,629e49727070b740019286b21141bb71:1236660351,343bfcfea1fc77405868629ed4ac4deb:-792016919,bdd5b07e84fc77400c53984096ab8dba:-392634415,d7bf60ba51fc77404b05ce012b83e47c:2038983933,c1ed2be6493c7740ba17b86430f411c0:-273565746,b17ca7a6223c77400994f1998142dee6:1371597281,463ce3a6eb3c7740e625d15280dc194e:-2091766430,cbcbaf66013c77408adae3eb4ae5f62e:769254194,8aaba726713c7740d6856f594174caef:-1819695796,62e9a726f53c7740f188f81021a5a2a9:-86020322,ce09abe2703c7740ef8fd8c6067a2510:-692224306,71e8e3a2613c7740adbdc3eec3ded754:99875998,3376e762f63c77401c2b30c6d90a196d:-438442328,32166362353c7740ba0ebb085599d5b8:1110030055,d99527ee74f87740933204176638740c:437185169,d9f2af6e0ef87740e22cd87af3c66bf6:-84719381,6191276e72f87740d4b924e055f6fea7:1908933538,6200efea03f87740dc6cdf731784ad85:-1561451132,c27f9fea8af8774053dbddabbde499eb:-1135134804,52ee5faa81f877400b78dba77ad83f5a:184791036,dd0e136a89f87740d2868e22c4e5fbed:-1096637075,f28cd72a81f87740b1477fa263674f65:-133947357,487c532aadf8774092bf2edc8a5837cd:-1648172813,0cab9f660af8774087d3aa6ec308798a:-121324351,774b9f6685f87740cda556dc917bf30c:1648976114,e42b9ba204f877400e00e8a2907a439f:-31673423,45c6d7a242f877403cc0cfda5a31bd7d:-763141512,e6869b62b2f87740ca19cf2086601017:-370853217,9874db222df877401cf4ddb9b9d3a580:-1846217260,a042df6e38b8774082b1e79fbefdb490:-1074681629,6f125fae6cb87740c627a28e09b2e756:637767124,9c11d36edab877402c268a81259a9573:98280145,a9d01f6e80b877407cd00bcf3106ca07:1743582092,d03682665bf47740d7dc037a3d8bcc17:-2068654490,ecb40ee2d4f47740f343db55dfec71ae:-472405663,6c34c6a2dbf47740ff7a96221610bfc0:394510631,90f3c6a24df477402ca47ec167c39faa:-1281000543,92a282a2e0f47740cef9141eb4c09f3f:1910298912,85da312e7bb47740bfb7fa22fdc0278e:-773955414,8d9a35aa07b477408179c09a0518b1d1:-1159707343,70bd412af13477404d38a1c5671e4ec0:2070533995,357c4d2a6a347740c2684b1eb89436a1:-141531604,c67a41e6743477400cf2bc8c51655ddb:1811326517,3ed90da6e134774071e4f6ebd0f4662d:1286145429,388941a6393477404fe44af00b54f80c:2071666034,514909a6c3347740d7c6b7b5a7fefd51:-735226576,a356c12664347740f9d7060f7b243f76:332616672,cfc66bda7efc374014d3f3fbe5a066fe:1472119428,338edf1608fc3740cd024bffd14c9daf:417323045,703ed71605fc3740b428cbb720bc44cb:-626768957,f5fd97167dfc37401a8d1f51fe3f9634:988237827,e4ed5716a9fc37407ed3b6c84287d41b:1228529059,40cd531601fc37404a3a08cd81c0ca66:18045891,d6589f0e5bb037406e2ffd69f5343476:-1844596119,98581f0e16b037404645a50f747eaded:661299033,c8385b0ecdb0374011b67bbbdbdd18b2:-1844596119,a3d79b8ae4b03740452f77e168298b96:-343128438,f565d38a69b03740045646a7b49801e7:-229085910,b9f4938af5b03740e6c12b6832024bf9:938560778,fc019b825fb03740d5f690a241a584d8:173739668,3a20578271b0374067c475dcd4568969:-768661810,d2cf47828bb0374076df192a6c57b162:-1880273685,e57fcf428bb037401ff352b732b9b130:1846402123,175fc742ceb0374095060c70c6e97d5f:-913785851,f72fc74245b037408f5f9d779aeb878b:1426496484,2aae8742efb03740d0e60bd98394469a:-333626234,52ed0f02e6b037405cb98749fdb62469:554047421,ba8c4bce5470374093c0b02ca0b3ee58:440447952,896cc78ece70374022e10a2fcfb1b866:-545111079,597acf4eef7037407f327eb9b6ef9963:-1818265165,e03a8f4e38703740775fc8d91f6e9473:-1568025302,ae1a0b4ee6703740a76b44660e072a8c:-1101015012,ebe9474e30703740491017be787d67fa:767486446,60c90b4e0070374093e11eab68939d22:431323259,2aa9874e157037401e032a8c7f0f7987:-1841507587,28a9474ea6703740e99450d04207c8f1:-1328913594,b6b8c7ca71703740b2b3a58e0eef92be:-916760824,dd67c7ca9b703740816bcfb0663457c8:-1515330511,b20747ca30703740a0a0fb2716c43563:153177385,6ab5078abd70374033921fd66e3d4170:1181847975,dde4c34aa1703740aaef7c524887ccd3:1725319124,b283870adb7037409108b7a89f8cc8e4:-1812463516,8a1f7e06897037405a6323f86ffcdeb5:-2070416141,95de7a06ee703740c51bd9f6a2aa7336:1808099136,afbeb60622703740e55d767a4ec506f1:-2070416141,999eb6069270374064198f9474d5c1ea:551273060,f14ef20642703740cc9bdd568d77402e:1862052035,fb6c36426a7037408cadff6d92e51acc:-1751203616,a7897a025b703740d3a969dcbf99308b:-1635620032,ad39320289703740923efa3b4d426f0b:415152715,4338b24ec33037407a874d63789c5b30:1085812347,24b5be8add303740d31c256115569519:173348563</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_a3ec9a06dbbcf3403a50de01ce96194c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Faceted Search with View As\">2bec5606dbbcf3403a50de01ce961948</child><cloned>2019-04-15 14:07:53</cloned><last_validated>2019-04-15 14:07:53</last_validated><parent display_value=\"Faceted Search\">12fbe2d287330300a785940307cb0b1b</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;standard&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, $sce, $location, spUtil, $element, $timeout, $rootScope, spFacetsClientService, spFacetManager, $window, spAriaUtil) {\n\tvar url = null;\n\n\tspUtil.setSearchPage($scope.data.t);\n\t$scope.isLoading = true;\n\t$scope.isFilterMenuLoading = true;\n\t$scope.showPagination = false;\n\t$scope.showFilterMenu = false;\n\t$scope.isFilterApplied = spFacetManager.isAnyFacetSelected();\n\t$scope.showApply = false;\n\t$scope.collpaseFacets = !$scope.data.t || $scope.data.t == \"\" ;\n\n\t$scope.getBGImage = function(item) {\n\t\treturn {\"background-image\": \"url('\" + item.picture + \"')\"};\n\t}\n\n\t$scope.search = function(searchTerm) {\n\t\t$location.search('q', searchTerm);\n\t}\n\n\t$scope.clearAll = function () {\n\t\tspFacetManager.clearAllFacet();\n\t\t$scope.isFilterApplied = false;\n\t}\n\n\t$scope.fetchMoreResults = function(query_start_location) {\n\t\tfetch(query_start_location);\n\t}\n\n\t$scope.openFilterMenu = function() {\n\t\turl = $location.url();\n\t\t$scope.showApply = false;\n\t\t$scope.showFilterMenu = true;\n\t}\n\n\t$scope.cancel = function () {\n\t\tif(url) {\n\t\t\t$location.url(url);\n\t\t}\n    $scope.showFilterMenu = false;\n\t}\n\n\t$scope.apply = function () {\n\t\t$scope.showFilterMenu = false;\n\t}\n\n\tfetch(0);\n\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\t$scope.highlight = function(haystack, needle) {\n\t\tif (!haystack)\n\t\t\treturn \"\";\n\n\t\tif (!needle)\n\t\t\treturn haystack;\n\n\t\treturn haystack.replace(new RegExp(needle.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\"), \"gi\"), function(match) {\n\t\t\treturn '&lt;span class=\"highlight mark\"&gt;' + match + '&lt;/span&gt;';\n\t\t});\n\t}\n\n\t$scope.smallScreenSize = isSmallScreenSize();\n\n\tfunction isSmallScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\tangular.element($window).on('resize', function () {\n\t\t$scope.smallScreenSize = isSmallScreenSize();\n\t});\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tif(!pageChanged(newUrl, oldUrl)) {\n\t\t\tfetch();\n\t\t}\n\t}\n\n\tfunction pageChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/id=.+/),\n\t\toldUrlParams = oldUrl.match(/id=.+/);\n\n\t\tif(!newUrlParams &amp;&amp; !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams &amp;&amp; oldUrlParams) || (newUrlParams &amp;&amp; !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&amp;\")[0] !== oldUrlParams[0].split(\"&amp;\")[0];\n\t}\n\n\tfunction fetch(query_start_location) {\n\t\t$scope.isLoading = true;\n\t\t$scope.isFilterMenuLoading = true;\n\t\t$scope.showApply = true;\n\t\tvar urlParams = $location.search();\n\n\t\t$scope.limit = urlParams.t &amp;&amp; urlParams.t !== \"\" ? $scope.data.limit_group : $scope.data.limit_all;\n\t\t$scope.data.q = urlParams.q;\n\n\t\tvar\tparams = {\n\t\t\t\t\tquery: urlParams.q,\n\t\t\t\t\tquery_start_location: query_start_location,\n\t\t\t\t\tcount: $scope.limit,\n\t\t\t\t\tsource: urlParams.t,\n\t\t\t\t\tportal: $rootScope.portal_id,\n\t\t\t\t\tinclude_facets: false\n\t\t\t\t},\n\t\t\t\tadditionalQuery = getAdditionalQuery(urlParams);\n\n\t\tif(!isAllSearchSource(urlParams)) {\n\t\t\t$scope.collpaseFacets = false;\n\t\t\tif($scope.data.searchSources[urlParams.t]) {\n\t\t\t\t$scope.t_label = $scope.data.searchSources[urlParams.t].name;\n\t\t\t}\n\t\t\t$scope.showFilterIcon = true;\n\t\t} else {\n\t\t\t$scope.t_label = \"${All}\";\n\t\t\t$scope.showFilterIcon = false;\n\t\t\t$scope.collpaseFacets = true;\n\t\t}\n\n\t\tif ($scope.options.show_did_you_mean == \"true\")\n\t\t\tparams.include_suggestions = true;\n\n\t\tif(urlParams.t &amp;&amp; urlParams.t !== \"\" &amp;&amp; additionalQuery !== \"\") {\n\t\t\tparams.additionalQuery = additionalQuery;\n\t\t}\n\n\t\tspFacetsClientService.search(params).then(function(response) {\n\t\t\tvar searchResults = response.data.result.results.map(function(result) {\n\t\t\t\tresult.templateID = \"sp-search-source-\" + result.__search_source_id__ + \".html\";\n\t\t\t\treturn result;\n\t\t\t});\n\t\t\tif(query_start_location &gt; 0) {\n\t\t\t\t$scope.results = $scope.results.concat(searchResults);\n\n\t\t\t} else {\n\t\t\t\t$scope.results = searchResults;\n\t\t\t}\n\n\t\t\t$scope.isLoading = false;\n\n\t\t\tif (response.data.result.pagination_supported) {\n\t\t\t\tgeneratePagination(searchResults, query_start_location);\n\t\t\t} else {\n\t\t\t\t$scope.showPagination = false;\n\t\t\t}\n\n\t\t\tif (response.data.result.suggestions)\n\t\t\t\t$scope.data.suggestions = response.data.result.suggestions;\n\t\t});\n\n\t\tvar paramsCopy = JSON.parse(JSON.stringify(params))\n\t\tparamsCopy.include_facets = true;\n\t\tparamsCopy.include_suggestions = false;\n\n\t\tspFacetsClientService.search(paramsCopy).then(function(response) {\n\t\t\t$scope.isFilterMenuLoading = false;\n\t\t\tif (!response.data.result.pagination_supported) {\n\t\t\t\t$scope.endPagination = getEndPagination(response.data.result.results, hasFacet(response.data.result.facets, params.source));\n\t\t\t}\n\t\t});\n\n\t\t$scope.isFilterApplied = spFacetManager.isAnyFacetSelected();\n\n\t\tif(spAriaUtil.isAccessibilityEnabled()) {\n\t\t\tsetFocusSearchResult();\n\t\t}\n\t}\n\n\tspFacetManager.subscribe(\"spFacets.refresh.data\", \"Pills\", onFacetsData);\n\n\tfunction isAllSearchSource(urlParams) {\n\t\treturn !urlParams.t || urlParams.t == \"\";\n\t}\n\n\tfunction setFocusSearchResult() {\n\t\t$timeout(function() {\n\t\t\tvar element = $element.find(\".results-heading\")[0];\n\t\t\tif(element) {\n\t\t\t\telement = angular.element(element);\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 2500);\n\t}\n\n\tfunction setFocusNextItem(index) {\n\t\t$timeout(function() {\n\t\t\tvar element = $element.find(\".result-item\")[index];\n\t\t\tif(element) {\n\t\t\t\telement = element.querySelector(\"a\");\n\t\t\t\telement = angular.element(element);\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 500);\n\t}\n\n\tfunction generatePagination(results, previousIndex) {\n\t\t\tvar last = results[results.length-1];\n\t\t\t$scope.showPagination = true;\n\t\t\t$scope.showLoadMore= last &amp;&amp; !last.isLastResult;\n\n\t\tif(last &amp;&amp; last.query_location != undefined) {\n\t\t\t\t$scope.query_start_location = last.query_location + 1;\n\t\t\t} else {\n\t\t\t\t$scope.query_start_location = 0;\n\t\t\t}\n\n\t\t  if(previousIndex &gt; 0) {\n\t\t\t\tsetFocusNextItem(previousIndex);\n\t\t\t}\n\t}\n\n\tfunction hasFacet(facets, searchSource) {\n\t\tif(searchSource &amp;&amp; searchSource !== \"\") {\n\t\t\treturn facets  &amp;&amp; facets[searchSource] &amp;&amp; facets[searchSource].length &gt; 0\n\t\t} else {\n\t\t\tfor(var key in facets) {\n\t\t\t\tif(facets[key].length &gt; 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction getEndPagination(results, hasFacet) {\n\t\tif(results.length &gt;= $scope.limit) {\n\t\t\tif(hasFacet) {\n\t\t\t\treturn \"${Results are limited to }\" + $scope.limit + \"${ items per search. Try using filters or more specific keywords.}\";\n\t\t\t}\n\t\t\treturn \"${Results are limited to }\" + $scope.limit + \"${ items per search. Try using more specific keywords.}\";\n\t\t}\n\n\t\treturn \"${End of results}\";\n\t}\n\n\tfunction getAdditionalQuery(params) {\n\t\tvar paramsCopy = _.clone(params);\n\n\t\tdelete paramsCopy.q;\n\t\tdelete paramsCopy.t;\n\t\tdelete paramsCopy.id;\n\t\tdelete paramsCopy.spa;\n\n\t\tif (_.isEmpty(paramsCopy))\n\t\t\treturn \"\";\n\n\t\tfor(var key in paramsCopy) {\n\t\t\tif(paramsCopy.hasOwnProperty(key))\n\t\t\t\tparamsCopy[key] = processURLProperty(paramsCopy[key]);\n\t\t}\n\n\t\treturn paramsCopy;\n\t}\n\n\tfunction propertyIsArray(prop) {\n\t\treturn prop.charAt(0) === '[' &amp;&amp; prop.charAt(prop.length - 1) === ']';\n\t}\n\n\tfunction processURLProperty(property) {\n\t\tif (propertyIsArray(property)) {\n\t\t\tvar properties = property.substring(1, property.length - 1).split(\",\");\n\t\t\tproperties = properties.map(function(prop) {\n\t\t\t\treturn prop.split(\"%2C\").join(\",\");\n\t\t\t});\n\t\t\treturn properties;\n\t\t} else {\n\t\t\treturn property;\n\t\t}\n\t}\n\n\tfunction findItems(facet, key, valueArr) {\n\t\tif (!Array.isArray(valueArr))\n\t\t\tvalueArr = [valueArr];\n\n\t\tvar items = facet.items.filter(function(item) {\n\t\t\treturn valueArr.some(function(value) {\n\t\t\t\treturn value === item.value;\n\t\t\t})\n\t\t});\n\n\t\tif(items &amp;&amp; items.length &gt; 0) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction findFacet(facets, key) {\n\t\tvar f = null;\n\t\tif(facets &amp;&amp; facets.length &gt; 0) {\n\t\t\tf = facets.filter(function(d) {\n\t\t\t\t\treturn d.id === key;\n\t\t\t});\n\t\t}\n\n\t\tif(f &amp;&amp; f.length &gt; 0) {\n\t\t\treturn f[0];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction onFacetsData(params) {\n\t\tvar query = params.query,\n\t\t\t\tfacets = params.data[query.t],\n\t\t\t\tpills = {};\n\n\t\tvar keys = Object.keys(query);\n\t\tkeys.forEach(function(k) {\n\n\t\t\tvar facet = findFacet(facets, k);\n\t\t\tif(facet) {\n\t\t\t\tvar items = findItems(facet, k, processURLProperty(query[k]));\n\t\t\t\tif(items) {\n\t\t\t\t\titems.forEach(function(item) {\n\t\t\t\t\t\tif(!pills[item.label]) {\n\t\t\t\t\t\t\tpills[item.label] = {id: k, label: item.label, facet: facet, item: item};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//update previous pill\n\t\t\t\t\t\t\tupdatPreviousPill(pills, item.label);\n\t\t\t\t\t\t\t//add current pill\n\t\t\t\t\t\t\tvar label = getLabel(facet, item);\n\t\t\t\t\t\t\tpills[label] = {id: k, label: label, facet: facet, item: item};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t$scope.data.pills = _.values(pills);\n\t}\n\n\tfunction getLabel(facet, item) {\n\t\treturn item.label + \" (\" + facet.label + \")\";\n\t}\n\n\tfunction updatPreviousPill(pills, label) {\n\t\tvar previous = pills[label],\n\t\t\t\tupdatedLabel = getLabel(previous.facet, previous.item);\n\t\tprevious.label = updatedLabel;\n\t\tpills[updatedLabel] = previous;\n\t\tdelete pills[label];\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.header {\n\tpadding: 10px;\n}\n\nbutton.toggle-icon {\n  background-color: transparent;\n}\n\na.question-tag {\n  color: #39739d;\n  background-color: #e1ecf4;\n  border: 1px solid #e1ecf4;\n  display: inline-block;\n  margin: 4px 4px 4px 0;\n  border-radius: 0;\n  text-align: center;\n  line-height: 1;\n  padding: .4em .5em;\n}\n\n.loading-icon {\n  text-align: center;\n  padding: 30px;\n}\n\n.loading-icon div {\n  padding: 10px;\n}\n\n.pagination-section {\n\ttext-align: center;\n}\n\n.panel-title:focus {\n  outline: -webkit-focus-ring-color auto 5px;\n}\n\n.search-header {\n  padding-top: 15px;\n  padding-bottom: 15px;\n}\n\n.pills {\n  display: flex;\n}\n\n.pills-label {\n  min-width: 80px;\n  margin-top: 5px;\n}\n\nh2 {\n  display: inline-block;\n}\n\n.btn-link {\n  padding: 0;\n}\n\n.flex {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n}\n\n.flex h2 {\n  word-break: break-word;\n}\n\n.search-result-xs {\n  margin: 0 -7px 0 -8px;\n}\n\n.search-overlay {\n  width: 100%;\n  height: 100%;\n  min-height: 100vh;\n  position: absolute;\n  z-index: 2;\n  top: 0;\n  left: 0;\n  border-left: 0;\n  border-right: 0;\n  margin-top: -1rem;\n  background: #FFF;\n}\n\n.search-filter-menu {\n  z-index: 3 !important;\n  opacity: 0.9;\n  height: 100vh;\n}\n\n.search-overlay .header {\n  text-align: center;\n}\n\n.filter-icon {\n  color: #717171;\n}\n\n.disabled {\n  color: #ddd;\n}\n\n.results-heading {\n  padding-top: 3px;\n  padding-bottom: 2px;\n}\n\n.results-heading:focus {\n  outline: none;\n}\n\n.facet-pill-container {\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n\n.sc {\n  i.ta-icon, i.ta-img {\n    width: 30px;\n    height: 30px;\n    line-height: 20px;\n    background-size: contain;\n    display: inline-block;\n    background-repeat: no-repeat;\n    background-position: center center;\n    text-align: center;\n    float:left;\n    padding-right: 8px;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;faceted_search&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, elem) {\n\tvar lazyLoader = $injector.get(\"lazyLoader\");\n\tlazyLoader.putTemplates(scope.data.resultTemplates);\n}]]&gt;&lt;/link&gt;&lt;name&gt;Faceted Search&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Maximum number of search results when not specifying a search group (default 30)\",\"name\":\"max_all\",\"section\":\"Behavior\",\"label\":\"Max results for All search\",\"type\":\"integer\"},{\"hint\":\"Maximum number of search results when specifying a search group (default 15)\",\"name\":\"max_group\",\"section\":\"Behavior\",\"label\":\"Max results for single search source\",\"type\":\"integer\"},{\"name\":\"show_did_you_mean\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Show Did You Mean\",\"type\":\"boolean\"},{\"name\":\"facet_list_title\",\"section\":\"Presentation\",\"default_value\":\"FILTERS\",\"label\":\"Facet List Title\",\"type\":\"string\"},{\"name\":\"title\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Title\",\"type\":\"string\"},{\"name\":\"color\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Color\",\"type\":\"string\"},{\"name\":\"glyph\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Glyph\",\"type\":\"string\"},{\"name\":\"size\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Size\",\"type\":\"string\"},{\"hint\":\"Number of typeahead search results returned (default 15)\",\"name\":\"limit\",\"section\":\"Behavior\",\"label\":\"Typeahead Search - Limit\",\"type\":\"integer\"},{\"name\":\"show_typeahead_search\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Show Typeahead Search Box\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[data.showPrices = $sp.showCatalogPrices();\ndata.q = $sp.getParameter('q');\ndata.t = $sp.getParameter('t');\ndata.searchSources = {};\ndata.resultTemplates = {};\n\noptions.refresh_page_on_search_submission = false;\n\ndata.typeaheadSearchWidget = $sp.getWidget('typeahead-search', options);\ndata.breadcrumbsWidget = $sp.getWidget('breadcrumbs');\ndata.limit_group = options.max_group || 15;\ndata.limit_all = options.max_all || 30;\ndata.showTypeaheadSearch = options.show_typeahead_search == \"true\";\n\nvar portalID = $sp.getPortalRecord().getUniqueValue();\nvar searchSources = $sp.getSearchSources(portalID);\nvar i = 0;\nsearchSources.forEach(function(searchSource) {\n\tdata.resultTemplates[\"sp-search-source-\" + searchSource.id + \".html\"] = $sp.translateTemplate(searchSource.template);\n\tdata.searchSources[searchSource.id] = {\n\t\tname: searchSource.name,\n\t\tid: searchSource.id,\n\t\torder: i++\n\t};\n});\n\nif (data.t) {\n\tdata.t_label = data.searchSources[data.t].name;\n} else {\n\tdata.t_label = gs.getMessage(\"All\");\n}\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-01-24 00:26:59&lt;/sys_created_on&gt;&lt;sys_id&gt;12fbe2d287330300a785940307cb0b1b&lt;/sys_id&gt;&lt;sys_mod_count&gt;359&lt;/sys_mod_count&gt;&lt;sys_name&gt;Faceted Search&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;12206523dbc323003a50de01ce9619f9&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_12fbe2d287330300a785940307cb0b1b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-10-29 21:04:35&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div&gt;\n  \t\t&lt;div class=\"row header\"&gt;\n      &lt;div class=\"hidden-xs col-md-8\"&gt;\n        &lt;sp-widget widget=\"data.breadcrumbsWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n      &lt;div class=\"col-md-4\" ng-if=\"data.showTypeaheadSearch\"&gt;\n        &lt;sp-widget widget=\"data.typeaheadSearchWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-sm-3 hidden-xs\"&gt;\n        &lt;sp-search-nav search-sources=\"data.searchSources\" q=\"data.q\" t=\"data.t\"&gt;&lt;/sp-search-nav&gt;\n        &lt;sp-facet-lists collapsed=\"collpaseFacets\" list-title=\"options.facet_list_title\" search-sources=\"data.searchSources\" t=\"data.t\"&gt;&lt;/sp-facet-lists&gt;\n\t\t&lt;/div&gt;\n      &lt;div class=\"col-sm-9\"&gt;\n        &lt;div class=\"panel panel-default\"&gt;\n          &lt;div ng-if=\"isLoading || results.length&gt;0\" class=\"panel-heading flex\"&gt;\n            &lt;h2 class=\"h4 panel-title results-heading\" tabindex=\"0\"&gt;{{t_label}} ${ results for '{{data.q}}'}&lt;/h2&gt;\n            &lt;button class=\"btn btn-link hidden visible-xs pull-right\" aria-label=\"${Filter}\" ng-class=\"{'filter-icon': !isFilterApplied}\" ng-click=\"openFilterMenu()\"&gt;&lt;fa name=\"filter\" /&gt;&lt;/button&gt;\n          &lt;/div&gt;\n            &lt;div ng-if=\"data.pills &amp;&amp; data.pills.length&gt;0\" class=\"panel-heading flex break-word hidden-xs facet-pill-container\"&gt;\n               &lt;div class=\"h4 panel-title pills\"&gt;\n                &lt;span class=\"pills-label\"&gt;${Filtering by}&lt;/span&gt;\n                &lt;div&gt;\n                  &lt;sp-facet-pill facet=\"pill\" ng-repeat=\"pill in data.pills\"&gt;&lt;/sp-facet-pill&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div&gt;\n                  &lt;button class=\"btn btn-link\" ng-click=\"clearAll()\" aria-label=\"${Clear all active facets}\"&gt;${Clear All}&lt;/button&gt;\n          \t\t&lt;/div&gt;\n            &lt;/div&gt;\n\n          &lt;div ng-show=\"isLoading\" class=\"loading-icon\"&gt;\n            &lt;i class=\"fa fa-spinner fa-spin fa-3x fa-fw\" style=\"font-size:24px\"&gt;&lt;/i&gt;\n            &lt;div class=\"\"&gt;${Hold on, your results are loading}...&lt;/div&gt;\n          &lt;/div&gt;\n          &lt;div ng-show=\"!isLoading\" class=\"panel-default\"&gt;\n            &lt;div ng-if=\"results.length==0\" class=\"panel-default\"&gt;\n              &lt;div class=\"panel-heading\"&gt;\n                &lt;h2 class=\"h4 panel-title\"&gt;${No results}&lt;/h2&gt;\n                &lt;button ng-if=\"showFilterIcon\" class=\"btn btn-link hidden visible-xs pull-right\" ng-class=\"{'filter-icon': !isFilterApplied}\" ng-click=\"openFilterMenu()\"&gt;&lt;fa name=\"filter\" /&gt;&lt;/button&gt;\n              &lt;/div&gt;\n              &lt;div class=\"panel-body wrapper break-word\"&gt;\n                &lt;p&gt;${Your search - &lt;b&gt;{{data.q}}&lt;/b&gt; - did not match any documents}&lt;/p&gt;\n                &lt;div ng-if=\"options.show_did_you_mean &amp;&amp; data.suggestions.length &gt; 0\"&gt;\n                  ${Did you mean}:\n                  &lt;ul&gt;\n                    &lt;li ng-repeat=\"term in data.suggestions track by $index\"&gt;\n                      &lt;a href=\"javascript:void(0)\" ng-click=\"search(term)\"&gt;{{term}}&lt;/a&gt;\n                    &lt;/li&gt;\n                  &lt;/ul&gt;\n                &lt;/div&gt;\n                &lt;p ng-if=\"options.show_did_you_mean &amp;&amp; data.suggestions.length &gt; 0\"&gt;${Other suggestions}:&lt;/p&gt;\n                &lt;p ng-if=\"!options.show_did_you_mean || data.suggestions.length == 0\"&gt;${Suggestions}:&lt;/p&gt;\n                &lt;ul&gt;\n                  &lt;li&gt;${Make sure all words are spelled correctly}&lt;/li&gt;\n                  &lt;li&gt;${Try different, more general, or fewer keywords}&lt;/li&gt;\n                &lt;/ul&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div ng-if=\"results.length&gt;0\" ng-class=\"{'search-result-xs': smallScreenSize}\"&gt;\n              &lt;div role=\"list\"&gt;\n              &lt;div role=\"listitem\" ng-repeat=\"item in results\" class=\"panel-body b-b result-item\"&gt;\n                &lt;div ng-include=\"item.templateID\"&gt;&lt;/div&gt;\n              &lt;/div&gt;\n              &lt;/div&gt;\n             &lt;div role=\"contentinfo\" class=\"panel-body b-b\"&gt;\n                &lt;div class=\"pagination-section\"&gt;\n                  &lt;span ng-if=\"showPagination &amp;&amp; showLoadMore\"&gt;&lt;button type=\"button\" class=\"btn btn-link\" aria-label=\"${Load more results}\" ng-click=\"fetchMoreResults(query_start_location)\"&gt;${Load more results}&lt;/button&gt;&lt;/span&gt;\n                  &lt;span ng-if=\"showPagination &amp;&amp; !showLoadMore\" aria-label=\"${End of results}\"&gt;${End of results}&lt;/span&gt;\n                  &lt;span ng-if=\"!showPagination\" aria-label=\"{{endPagination}}\"&gt;{{endPagination}}&lt;/span&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"hidden search-overlay panel panel-default list-view\" ng-class=\"{'visible-xs': showFilterMenu}\"&gt;\n    &lt;div class=\"panel-heading header\"&gt;\n      &lt;span&gt;\n        &lt;button class=\"btn btn-link clear pull-left\" ng-click=\"cancel()\" aria-label=\"${Cancel}\"&gt;${Cancel}&lt;/button&gt;\n      &lt;/span&gt;\n      &lt;span style=\"visibility: hidden;\"&gt;\n        ${results}\n      &lt;/span&gt;\n      &lt;span&gt;\n        &lt;button class=\"btn btn-link pull-right\"  ng-class=\"{'disabled': !showApply}\" ng-click=\"apply()\" aria-label=\"${Done}\"&gt;${Done}&lt;/button&gt;\n      &lt;/span&gt;\n    &lt;/div&gt;\n    &lt;sp-search-nav show-toggle=\"true\" list-view=\"true\" search-sources=\"data.searchSources\" q=\"data.q\" t=\"data.t\"&gt;&lt;/sp-search-nav&gt;\n    &lt;sp-facet-lists collapsed=\"true\" collapsed-searchsource=\"collpaseFacets\" toggle-searchsource=\"true\" list-title=\"options.facet_list_title\" search-sources=\"data.searchSources\" t=\"data.t\"&gt;&lt;/sp-facet-lists&gt;\n  &lt;/div&gt;\n  &lt;div class=\"hidden search-overlay search-filter-menu\" ng-class=\"{'visible-xs': showFilterMenu &amp;&amp; isFilterMenuLoading}\"&gt;\n    &lt;div class=\"loading-icon\"&gt;\n      &lt;i class=\"fa fa-spinner fa-spin fa-3x fa-fw\" style=\"font-size:24px\"&gt;&lt;/i&gt;\n      &lt;div class=\"\"&gt;${Hold on, your filters are loading}...&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>jacob</sys_created_by><sys_created_on>2019-04-15 14:07:53</sys_created_on><sys_id>a3ec9a06dbbcf3403a50de01ce96194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>2bec5606dbbcf3403a50de01ce961948</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_rel_widget_clone_a3ec9a06dbbcf3403a50de01ce96194c</sys_update_name><sys_updated_by>jacob</sys_updated_by><sys_updated_on>2019-04-15 14:07:53</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>-939112416</payload_hash>\n<remote_update_set display_value=\"Search and View Results As\">2c340c90134d3300a957721a6144b0e2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:55</sys_created_on>\n<sys_id>a8340c90134d3300a957721a6144b0e3</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a30eb1bfd0000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:55</sys_updated_on>\n<table/>\n<target_name>2bec5606dbbcf3403a50de01ce961948</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>e3ec9a0611bcf340c07ee3d4349a0c4d</update_guid>\n<update_guid_history>e3ec9a0611bcf340c07ee3d4349a0c4d:-939112416</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_2bec5606dbbcf3403a50de01ce961948</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($scope, $sce, $location, spUtil, $element, $timeout, $rootScope, spFacetsClientService, spFacetManager, $window, spAriaUtil) {\n\tvar url = null;\n\n\tspUtil.setSearchPage($scope.data.t);\n\t$scope.isLoading = true;\n\t$scope.isFilterMenuLoading = true;\n\t$scope.showPagination = false;\n\t$scope.showFilterMenu = false;\n\t$scope.isFilterApplied = spFacetManager.isAnyFacetSelected();\n\t$scope.showApply = false;\n\t$scope.collpaseFacets = !$scope.data.t || $scope.data.t == \"\" ;\n\t\n\t$scope.activeViewAs = {\n\t\tlabel: $scope.user.name + ' (Me)',\n\t\tname: $scope.user.name,\n\t\tuser_id: $scope.user.sys_id\n\t};\n\t\n\t$scope.viewAsChoices = [$scope.activeViewAs];\n\t$scope.data.viewAsResults.forEach(function(va){\n\t\t$scope.viewAsChoices.push({\n\t\t\tlabel: va.name,\n\t\t\tname: va.name,\n\t\t\tuser_id: va.sys_id\n\t\t})\n\t});\n\t\n\t$scope.viewAs = function(viewAsSelected) {\n\t\t$scope.activeViewAs = viewAsSelected;\n\t\tfetch(0);\n\t}\n\n\t$scope.getBGImage = function(item) {\n\t\treturn {\"background-image\": \"url('\" + item.picture + \"')\"};\n\t}\n\n\t$scope.search = function(searchTerm) {\n\t\t$location.search('q', searchTerm);\n\t}\n\n\t$scope.clearAll = function () {\n\t\tspFacetManager.clearAllFacet();\n\t\t$scope.isFilterApplied = false;\n\t}\n\n\t$scope.fetchMoreResults = function(query_start_location) {\n\t\tfetch(query_start_location);\n\t}\n\n\t$scope.openFilterMenu = function() {\n\t\turl = $location.url();\n\t\t$scope.showApply = false;\n\t\t$scope.showFilterMenu = true;\n\t}\n\n\t$scope.cancel = function () {\n\t\tif(url) {\n\t\t\t$location.url(url);\n\t\t}\n    $scope.showFilterMenu = false;\n\t}\n\n\t$scope.apply = function () {\n\t\t$scope.showFilterMenu = false;\n\t}\n\n\tfetch(0);\n\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\t$scope.highlight = function(haystack, needle) {\n\t\tif (!haystack)\n\t\t\treturn \"\";\n\n\t\tif (!needle)\n\t\t\treturn haystack;\n\n\t\treturn haystack.replace(new RegExp(needle.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\"), \"gi\"), function(match) {\n\t\t\treturn '&lt;span class=\"highlight mark\"&gt;' + match + '&lt;/span&gt;';\n\t\t});\n\t}\n\n\t$scope.smallScreenSize = isSmallScreenSize();\n\n\tfunction isSmallScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\tangular.element($window).on('resize', function () {\n\t\t$scope.smallScreenSize = isSmallScreenSize();\n\t});\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tif(!pageChanged(newUrl, oldUrl)) {\n\t\t\tfetch();\n\t\t}\n\t}\n\n\tfunction pageChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/id=.+/),\n\t\toldUrlParams = oldUrl.match(/id=.+/);\n\n\t\tif(!newUrlParams &amp;&amp; !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams &amp;&amp; oldUrlParams) || (newUrlParams &amp;&amp; !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&amp;\")[0] !== oldUrlParams[0].split(\"&amp;\")[0];\n\t}\n\n\tfunction fetch(query_start_location) {\n\t\t$scope.isLoading = true;\n\t\t$scope.isFilterMenuLoading = true;\n\t\t$scope.showApply = true;\n\t\tvar urlParams = $location.search();\n\n\t\t$scope.limit = urlParams.t &amp;&amp; urlParams.t !== \"\" ? $scope.data.limit_group : $scope.data.limit_all;\n\t\t$scope.data.q = urlParams.q;\n\t\t\n\t\tvar\tparams = {\n\t\t\t\t\tquery: urlParams.q,\n\t\t\t\t\tquery_start_location: query_start_location,\n\t\t\t\t\tcount: $scope.limit,\n\t\t\t\t\tsource: urlParams.t,\n\t\t\t\t\tportal: $rootScope.portal_id,\n\t\t\t\t\tinclude_facets: false\n\t\t\t\t},\n\t\t\t\tadditionalQuery = getAdditionalQuery(urlParams);\n\n\t\tif(!isAllSearchSource(urlParams)) {\n\t\t\t$scope.collpaseFacets = false;\n\t\t\tif($scope.data.searchSources[urlParams.t]) {\n\t\t\t\t$scope.t_label = $scope.data.searchSources[urlParams.t].name;\n\t\t\t}\n\t\t\t$scope.showFilterIcon = true;\n\t\t} else {\n\t\t\t$scope.t_label = \"${All}\";\n\t\t\t$scope.showFilterIcon = false;\n\t\t\t$scope.collpaseFacets = true;\n\t\t}\n\n\t\tif ($scope.options.show_did_you_mean == \"true\")\n\t\t\tparams.include_suggestions = true;\n\n\t\tif(urlParams.t &amp;&amp; urlParams.t !== \"\" &amp;&amp; additionalQuery !== \"\") {\n\t\t\tparams.additionalQuery = additionalQuery;\n\t\t}\n\t\t\n\t\tvar asSelf = $scope.activeViewAs.user_id == $scope.user.sys_id;\n\t\t\n\t\tif (asSelf) {\n\t\t\tfetchCall(params, 'self');\n\t\t} else {\n\t\t\t$scope.server.get({\n\t\t\t\t'action': 'impersonate',\n\t\t\t\t'user_id': $scope.activeViewAs.user_id\n\t\t\t}).then(function(r){\n\t\t\t\tfetchCall(params, r.data.user_id);\n\t\t\t});\n\t\t}\n\t}\n\t\n\tfunction fetchCall(params, viewAs) {\n\t\tspFacetsClientService.search(params).then(function(response) {\n\t\t\tvar searchResults = response.data.result.results.map(function(result) {\n\t\t\t\tresult.templateID = \"sp-search-source-\" + result.__search_source_id__ + \".html\";\n\t\t\t\tif (viewAs !== 'self') {\n\t\t\t\t\tresult.viewAs = viewAs;\n\t\t\t\t\tif (result.url)\n\t\t\t\t\t\tresult.url += '&amp;view_as=' + result.viewAs;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t});\n\t\t\tif(params.query_start_location &gt; 0) {\n\t\t\t\t$scope.results = $scope.results.concat(searchResults);\n\n\t\t\t} else {\n\t\t\t\t$scope.results = searchResults;\n\t\t\t}\n\t\t\t$scope.isLoading = false;\n\t\t\t\n\t\t\tif (viewAs !== 'self')\n\t\t\t\t$scope.server.get({action: 'unimpersonate'});\n\n\t\t\tif (response.data.result.pagination_supported) {\n\t\t\t\tgeneratePagination(searchResults, params.query_start_location);\n\t\t\t} else {\n\t\t\t\t$scope.showPagination = false;\n\t\t\t}\n\n\t\t\tif (response.data.result.suggestions)\n\t\t\t\t$scope.data.suggestions = response.data.result.suggestions;\n\t\t});\n\t\t\n\t\tvar paramsCopy = JSON.parse(JSON.stringify(params))\n\t\tparamsCopy.include_facets = true;\n\t\tparamsCopy.include_suggestions = false;\n\n\t\tspFacetsClientService.search(paramsCopy).then(function(response) {\n\t\t\t$scope.isFilterMenuLoading = false;\n\t\t\tif (!response.data.result.pagination_supported) {\n\t\t\t\t$scope.endPagination = getEndPagination(response.data.result.results, hasFacet(response.data.result.facets, params.source));\n\t\t\t}\n\t\t});\n\n\t\t$scope.isFilterApplied = spFacetManager.isAnyFacetSelected();\n\t\tsetFocusSearchResult();\n\t}\n\n\tspFacetManager.subscribe(\"spFacets.refresh.data\", \"Pills\", onFacetsData);\n\n\tfunction isAllSearchSource(urlParams) {\n\t\treturn !urlParams.t || urlParams.t == \"\";\n\t}\n\n\tfunction setFocusSearchResult() {\n\t\t$timeout(function() {\n\t\t\tvar element = $element.find(\".results-heading\")[0];\n\t\t\tif(element) {\n\t\t\t\telement = angular.element(element);\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 2500);\n\t}\n\n\tfunction setFocusNextItem(index) {\n\t\t$timeout(function() {\n\t\t\tvar element = $element.find(\".result-item\")[index];\n\t\t\tif(element) {\n\t\t\t\telement = element.querySelector(\"a\");\n\t\t\t\telement = angular.element(element);\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 500);\n\t}\n\n\tfunction generatePagination(results, previousIndex) {\n\t\t\tvar last = results[results.length-1];\n\t\t\t$scope.showPagination = true;\n\t\t\t$scope.showLoadMore= last &amp;&amp; !last.isLastResult;\n\n\t\tif(last &amp;&amp; last.query_location != undefined) {\n\t\t\t\t$scope.query_start_location = last.query_location + 1;\n\t\t\t} else {\n\t\t\t\t$scope.query_start_location = 0;\n\t\t\t}\n\n\t\t  if(previousIndex &gt; 0) {\n\t\t\t\tsetFocusNextItem(previousIndex);\n\t\t\t}\n\t}\n\n\tfunction hasFacet(facets, searchSource) {\n\t\tif(searchSource &amp;&amp; searchSource !== \"\") {\n\t\t\treturn facets  &amp;&amp; facets[searchSource] &amp;&amp; facets[searchSource].length &gt; 0\n\t\t} else {\n\t\t\tfor(var key in facets) {\n\t\t\t\tif(facets[key].length &gt; 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction getEndPagination(results, hasFacet) {\n\t\tif(results.length &gt;= $scope.limit) {\n\t\t\tif(hasFacet) {\n\t\t\t\treturn \"${Results are limited to }\" + $scope.limit + \"${ items per search. Try using filters or more specific keywords.}\";\n\t\t\t}\n\t\t\treturn \"${Results are limited to }\" + $scope.limit + \"${ items per search. Try using more specific keywords.}\";\n\t\t}\n\n\t\treturn \"${End of results}\";\n\t}\n\n\tfunction getAdditionalQuery(params) {\n\t\tvar paramsCopy = _.clone(params);\n\n\t\tdelete paramsCopy.q;\n\t\tdelete paramsCopy.t;\n\t\tdelete paramsCopy.id;\n\t\tdelete paramsCopy.spa;\n\n\t\tif (_.isEmpty(paramsCopy))\n\t\t\treturn \"\";\n\n\t\tfor(var key in paramsCopy) {\n\t\t\tif(paramsCopy.hasOwnProperty(key))\n\t\t\t\tparamsCopy[key] = processURLProperty(paramsCopy[key]);\n\t\t}\n\n\t\treturn paramsCopy;\n\t}\n\n\tfunction propertyIsArray(prop) {\n\t\treturn prop.charAt(0) === '[' &amp;&amp; prop.charAt(prop.length - 1) === ']';\n\t}\n\n\tfunction processURLProperty(property) {\n\t\tif (propertyIsArray(property)) {\n\t\t\tvar properties = property.substring(1, property.length - 1).split(\",\");\n\t\t\tproperties = properties.map(function(prop) {\n\t\t\t\treturn prop.split(\"%2C\").join(\",\");\n\t\t\t});\n\t\t\treturn properties;\n\t\t} else {\n\t\t\treturn property;\n\t\t}\n\t}\n\n\tfunction findItems(facet, key, valueArr) {\n\t\tif (!Array.isArray(valueArr))\n\t\t\tvalueArr = [valueArr];\n\n\t\tvar items = facet.items.filter(function(item) {\n\t\t\treturn valueArr.some(function(value) {\n\t\t\t\treturn value === item.value;\n\t\t\t})\n\t\t});\n\n\t\tif(items &amp;&amp; items.length &gt; 0) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction findFacet(facets, key) {\n\t\tvar f = null;\n\t\tif(facets &amp;&amp; facets.length &gt; 0) {\n\t\t\tf = facets.filter(function(d) {\n\t\t\t\t\treturn d.id === key;\n\t\t\t});\n\t\t}\n\n\t\tif(f &amp;&amp; f.length &gt; 0) {\n\t\t\treturn f[0];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction onFacetsData(params) {\n\t\tvar query = params.query,\n\t\t\t\tfacets = params.data[query.t],\n\t\t\t\tpills = {};\n\n\t\tvar keys = Object.keys(query);\n\t\tkeys.forEach(function(k) {\n\n\t\t\tvar facet = findFacet(facets, k);\n\t\t\tif(facet) {\n\t\t\t\tvar items = findItems(facet, k, processURLProperty(query[k]));\n\t\t\t\tif(items) {\n\t\t\t\t\titems.forEach(function(item) {\n\t\t\t\t\t\tif(!pills[item.label]) {\n\t\t\t\t\t\t\tpills[item.label] = {id: k, label: item.label, facet: facet, item: item};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//update previous pill\n\t\t\t\t\t\t\tupdatPreviousPill(pills, item.label);\n\t\t\t\t\t\t\t//add current pill\n\t\t\t\t\t\t\tvar label = getLabel(facet, item);\n\t\t\t\t\t\t\tpills[label] = {id: k, label: label, facet: facet, item: item};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t$scope.data.pills = _.values(pills);\n\t}\n\n\tfunction getLabel(facet, item) {\n\t\treturn item.label + \" (\" + facet.label + \")\";\n\t}\n\n\tfunction updatPreviousPill(pills, label) {\n\t\tvar previous = pills[label],\n\t\t\t\tupdatedLabel = getLabel(previous.facet, previous.item);\n\t\tprevious.label = updatedLabel;\n\t\tpills[updatedLabel] = previous;\n\t\tdelete pills[label];\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.header {\n\tpadding: 10px;\n}\n\nbutton.toggle-icon {\n  background-color: transparent;\n}\n\na.question-tag {\n  color: #39739d;\n  background-color: #e1ecf4;\n  border: 1px solid #e1ecf4;\n  display: inline-block;\n  margin: 4px 4px 4px 0;\n  border-radius: 0;\n  text-align: center;\n  line-height: 1;\n  padding: .4em .5em;\n}\n\n.loading-icon {\n  text-align: center;\n  padding: 30px;\n}\n\n.loading-icon div {\n  padding: 10px;\n}\n\n.pagination-section {\n\ttext-align: center;\n}\n\n.panel-title:focus {\n  outline: -webkit-focus-ring-color auto 5px;\n}\n\n.search-header {\n  padding-top: 15px;\n  padding-bottom: 15px;\n}\n\n.pills {\n  display: flex;\n}\n\n.pills-label {\n  min-width: 80px;\n  margin-top: 5px;\n}\n\nh2 {\n  display: inline-block;\n}\n\n.btn-link {\n  padding: 0;\n}\n\n.flex {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n}\n\n.flex h2 {\n  word-break: break-word;\n}\n\n.search-result-xs {\n  margin: 0 -7px 0 -8px;\n}\n\n.search-overlay {\n  width: 100%;\n  height: 100%;\n  min-height: 100vh;\n  position: absolute;\n  z-index: 2;\n  top: 0;\n  left: 0;\n  border-left: 0;\n  border-right: 0;\n  margin-top: -1rem;\n  background: #FFF;\n}\n\n.search-filter-menu {\n  z-index: 3 !important;\n  opacity: 0.9;\n  height: 100vh;\n}\n\n.search-overlay .header {\n  text-align: center;\n}\n\n.filter-icon {\n  color: #717171;\n}\n\n.disabled {\n  color: #ddd;\n}\n\n.results-heading {\n  padding-top: 3px;\n  padding-bottom: 2px;\n}\n\n.results-heading:focus {\n  outline: none;\n}\n\n.facet-pill-container {\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n\n.sc {\n  i.ta-icon, i.ta-img {\n    width: 30px;\n    height: 30px;\n    line-height: 20px;\n    background-size: contain;\n    display: inline-block;\n    background-repeat: no-repeat;\n    background-position: center center;\n    text-align: center;\n    float:left;\n    padding-right: 8px;\n  }\n}\n\n.nav-tabs {\n  margin: 0 5px;\n  border-bottom: none;\n  &amp;gt; li &amp;gt; a {\n    background-color: mix(#f0f3f4, #fff, 20%);\n    border: 1px solid $panel-default-border;\n  }\n}\n\n.nav &amp;gt; li &amp;gt; a:hover,\n.nav &amp;gt; li &amp;gt; a:focus {\n  background-color: mix(#f0f3f4, #fff, 50%);\n  border: 1px solid $panel-default-border;\n}\n\n.nav-tabs &amp;gt; li.active &amp;gt; a,\n.nav-tabs &amp;gt; li.active &amp;gt; a:hover,\n.nav-tabs &amp;gt; li.active &amp;gt; a:focus {\n  background-color: #fff;\n  border-bottom: 1px solid #fff;\n}\n\n.view-as-avatar {\n  float: right;\n  width: 2rem;\n  height: 2rem;\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;faceted_search_with_view_as&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, elem) {\n\tvar lazyLoader = $injector.get(\"lazyLoader\");\n\tlazyLoader.putTemplates(scope.data.resultTemplates);\n}]]&gt;&lt;/link&gt;&lt;name&gt;Faceted Search with View As&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Maximum number of search results when not specifying a search group (default 30)\",\"name\":\"max_all\",\"section\":\"Behavior\",\"label\":\"Max results for All search\",\"type\":\"integer\"},{\"hint\":\"Maximum number of search results when specifying a search group (default 15)\",\"name\":\"max_group\",\"section\":\"Behavior\",\"label\":\"Max results for single search source\",\"type\":\"integer\"},{\"name\":\"show_did_you_mean\",\"default_value\":\"false\",\"section\":\"Behavior\",\"label\":\"Show Did You Mean\",\"type\":\"boolean\"},{\"name\":\"facet_list_title\",\"section\":\"Presentation\",\"default_value\":\"FILTERS\",\"label\":\"Facet List Title\",\"type\":\"string\"},{\"name\":\"title\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Title\",\"type\":\"string\"},{\"name\":\"color\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Color\",\"type\":\"string\"},{\"name\":\"glyph\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Glyph\",\"type\":\"string\"},{\"name\":\"size\",\"section\":\"Presentation\",\"label\":\"Typeahead Search - Size\",\"type\":\"string\"},{\"hint\":\"Number of typeahead search results returned (default 15)\",\"name\":\"limit\",\"section\":\"Behavior\",\"label\":\"Typeahead Search - Limit\",\"type\":\"integer\"},{\"name\":\"show_typeahead_search\",\"section\":\"Presentation\",\"default_value\":\"true\",\"label\":\"Show Typeahead Search Box\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[if (input &amp;&amp; input.action == 'impersonate') {\n\tsession.onlineImpersonate(input.user_id);\n\tdata.user_id = input.user_id;\n}\nif (input &amp;&amp; input.action == 'unimpersonate') {\n\tsession.onlineUnimpersonate();\n}\n\ndata.canImpersonate = gs.hasRole('impersonator');\ndata.viewAsResults = getViewAsChoices(gs.getUserID());\n\nfunction getViewAsChoices(userID) {\n\tvar gr = new GlideRecord('sys_user');\n\tgr.addActiveQuery();\n\tgr.addQuery('manager', userID);\n\tgr.orderBy(gr.getDisplayName());\n\tgr.query();\n\tvar choices = [];\n\twhile (gr.next()) {\n\t\tchoices.push({\n\t\t\tname: gr.getDisplayValue(),\n\t\t\tsys_id: gr.getUniqueValue()\n\t\t});\n\t}\n\treturn choices;\n}\n\ndata.showPrices = $sp.showCatalogPrices();\ndata.q = $sp.getParameter('q');\ndata.t = $sp.getParameter('t');\ndata.searchSources = {};\ndata.resultTemplates = {};\n\noptions.refresh_page_on_search_submission = false;\n\ndata.typeaheadSearchWidget = $sp.getWidget('typeahead-search', options);\ndata.breadcrumbsWidget = $sp.getWidget('breadcrumbs');\ndata.limit_group = options.max_group || 15;\ndata.limit_all = options.max_all || 30;\ndata.showTypeaheadSearch = options.show_typeahead_search == \"true\";\n\nvar portalID = $sp.getPortalRecord().getUniqueValue();\nvar searchSources = $sp.getSearchSources(portalID);\nvar i = 0;\nsearchSources.forEach(function(searchSource) {\n\tdata.resultTemplates[\"sp-search-source-\" + searchSource.id + \".html\"] = $sp.translateTemplate(searchSource.template);\n\tdata.searchSources[searchSource.id] = {\n\t\tname: searchSource.name,\n\t\tid: searchSource.id,\n\t\torder: i++\n\t};\n});\n\nif (data.t) {\n\tdata.t_label = data.searchSources[data.t].name;\n} else {\n\tdata.t_label = gs.getMessage(\"All\");\n}\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;jacob&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-04-15 14:07:53&lt;/sys_created_on&gt;&lt;sys_id&gt;2bec5606dbbcf3403a50de01ce961948&lt;/sys_id&gt;&lt;sys_mod_count&gt;12&lt;/sys_mod_count&gt;&lt;sys_name&gt;Faceted Search with View As&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_2bec5606dbbcf3403a50de01ce961948&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;jacob&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-04-18 15:45:22&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div&gt;\n  \t\t&lt;div class=\"row header\"&gt;\n      &lt;div class=\"hidden-xs col-md-8\"&gt;\n        &lt;sp-widget widget=\"data.breadcrumbsWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n      &lt;div class=\"col-md-4\" ng-if=\"data.showTypeaheadSearch\"&gt;\n        &lt;sp-widget widget=\"data.typeaheadSearchWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"row\"&gt;\n      &lt;div class=\"col-sm-3 hidden-xs\"&gt;\n        &lt;sp-search-nav search-sources=\"data.searchSources\" q=\"data.q\" t=\"data.t\"&gt;&lt;/sp-search-nav&gt;\n        &lt;sp-facet-lists collapsed=\"collpaseFacets\" list-title=\"options.facet_list_title\" search-sources=\"data.searchSources\" t=\"data.t\"&gt;&lt;/sp-facet-lists&gt;\n\t\t&lt;/div&gt;\n      &lt;div class=\"col-sm-9\"&gt;\n        \n        &lt;uib-tabset active=\"active\" ng-if=\"data.canImpersonate &amp;&amp; viewAsChoices.length &gt; 1\"&gt;\n          &lt;uib-tab ng-repeat=\"tab in viewAsChoices\" heading=\"{{tab.label}}\"\n                   ng-click=\"viewAs(tab)\"&gt;&lt;/uib-tab&gt;\n        &lt;/uib-tabset&gt;\n        \n        &lt;div class=\"panel panel-default\"&gt;\n          &lt;div ng-if=\"isLoading || results.length&gt;0\" class=\"panel-heading flex\"&gt;\n            &lt;h2 class=\"h4 panel-title results-heading\" tabindex=\"0\"&gt;\n              &lt;sn-avatar ng-if=\"data.canImpersonate &amp;&amp; viewAsChoices.length &gt; 1\" \n                         primary=\"activeViewAs.user_id\" class=\"avatar-small m-r-sm\"&gt;&lt;/sn-avatar&gt;\n              {{t_label}} ${ results for '{{data.q}}'}\n            &lt;/h2&gt;\n            &lt;button class=\"btn btn-link hidden visible-xs pull-right\" aria-label=\"${Filter}\" ng-class=\"{'filter-icon': !isFilterApplied}\" ng-click=\"openFilterMenu()\"&gt;&lt;fa name=\"filter\" /&gt;&lt;/button&gt;\n          &lt;/div&gt;\n            &lt;div ng-if=\"data.pills &amp;&amp; data.pills.length&gt;0\" class=\"panel-heading flex break-word hidden-xs facet-pill-container\"&gt;\n               &lt;div class=\"h4 panel-title pills\"&gt;\n                &lt;span class=\"pills-label\"&gt;${Filtering by}&lt;/span&gt;\n                &lt;div&gt;\n                  &lt;sp-facet-pill facet=\"pill\" ng-repeat=\"pill in data.pills\"&gt;&lt;/sp-facet-pill&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n              &lt;div&gt;\n                  &lt;button class=\"btn btn-link\" ng-click=\"clearAll()\" aria-label=\"${Clear all active facets}\"&gt;${Clear All}&lt;/button&gt;\n          \t\t&lt;/div&gt;\n            &lt;/div&gt;\n\n          &lt;div ng-show=\"isLoading\" class=\"loading-icon\"&gt;\n            &lt;i class=\"fa fa-spinner fa-spin fa-3x fa-fw\" style=\"font-size:24px\"&gt;&lt;/i&gt;\n            &lt;div class=\"\"&gt;${Hold on, your results are loading}...&lt;/div&gt;\n          &lt;/div&gt;\n          &lt;div ng-show=\"!isLoading\" class=\"panel-default\"&gt;\n            &lt;div ng-if=\"results.length==0\" class=\"panel-default\"&gt;\n              &lt;div class=\"panel-heading\"&gt;\n                &lt;h2 class=\"h4 panel-title\"&gt;${No results}&lt;/h2&gt;\n                &lt;button ng-if=\"showFilterIcon\" class=\"btn btn-link hidden visible-xs pull-right\" ng-class=\"{'filter-icon': !isFilterApplied}\" ng-click=\"openFilterMenu()\"&gt;&lt;fa name=\"filter\" /&gt;&lt;/button&gt;\n              &lt;/div&gt;\n              &lt;div class=\"panel-body wrapper break-word\"&gt;\n                &lt;p&gt;${Your search - &lt;b&gt;{{data.q}}&lt;/b&gt; - did not match any documents}&lt;/p&gt;\n                &lt;div ng-if=\"options.show_did_you_mean &amp;&amp; data.suggestions.length &gt; 0\"&gt;\n                  ${Did you mean}:\n                  &lt;ul&gt;\n                    &lt;li ng-repeat=\"term in data.suggestions track by $index\"&gt;\n                      &lt;a href=\"javascript:void(0)\" ng-click=\"search(term)\"&gt;{{term}}&lt;/a&gt;\n                    &lt;/li&gt;\n                  &lt;/ul&gt;\n                &lt;/div&gt;\n                &lt;p ng-if=\"options.show_did_you_mean &amp;&amp; data.suggestions.length &gt; 0\"&gt;${Other suggestions}:&lt;/p&gt;\n                &lt;p ng-if=\"!options.show_did_you_mean || data.suggestions.length == 0\"&gt;${Suggestions}:&lt;/p&gt;\n                &lt;ul&gt;\n                  &lt;li&gt;${Make sure all words are spelled correctly}&lt;/li&gt;\n                  &lt;li&gt;${Try different, more general, or fewer keywords}&lt;/li&gt;\n                &lt;/ul&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div ng-if=\"results.length&gt;0\" ng-class=\"{'search-result-xs': smallScreenSize}\"&gt;\n              &lt;div role=\"list\"&gt;\n              &lt;div role=\"listitem\" ng-repeat=\"item in results\" class=\"panel-body b-b result-item\"&gt;\n                &lt;div ng-include=\"item.templateID\"&gt;&lt;/div&gt;\n              &lt;/div&gt;\n              &lt;/div&gt;\n             &lt;div role=\"contentinfo\" class=\"panel-body b-b\"&gt;\n                &lt;div class=\"pagination-section\"&gt;\n                  &lt;span ng-if=\"showPagination &amp;&amp; showLoadMore\"&gt;&lt;button type=\"button\" class=\"btn btn-link\" aria-label=\"${Load more results}\" ng-click=\"fetchMoreResults(query_start_location)\"&gt;${Load more results}&lt;/button&gt;&lt;/span&gt;\n                  &lt;span ng-if=\"showPagination &amp;&amp; !showLoadMore\" aria-label=\"${End of results}\"&gt;${End of results}&lt;/span&gt;\n                  &lt;span ng-if=\"!showPagination\" aria-label=\"{{endPagination}}\"&gt;{{endPagination}}&lt;/span&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"hidden search-overlay panel panel-default list-view\" ng-class=\"{'visible-xs': showFilterMenu}\"&gt;\n    &lt;div class=\"panel-heading header\"&gt;\n      &lt;span&gt;\n        &lt;button class=\"btn btn-link clear pull-left\" ng-click=\"cancel()\" aria-label=\"${Cancel}\"&gt;${Cancel}&lt;/button&gt;\n      &lt;/span&gt;\n      &lt;span style=\"visibility: hidden;\"&gt;\n        ${results}\n      &lt;/span&gt;\n      &lt;span&gt;\n        &lt;button class=\"btn btn-link pull-right\"  ng-class=\"{'disabled': !showApply}\" ng-click=\"apply()\" aria-label=\"${Done}\"&gt;${Done}&lt;/button&gt;\n      &lt;/span&gt;\n    &lt;/div&gt;\n    &lt;sp-search-nav show-toggle=\"true\" list-view=\"true\" search-sources=\"data.searchSources\" q=\"data.q\" t=\"data.t\"&gt;&lt;/sp-search-nav&gt;\n    &lt;sp-facet-lists collapsed=\"true\" collapsed-searchsource=\"collpaseFacets\" toggle-searchsource=\"true\" list-title=\"options.facet_list_title\" search-sources=\"data.searchSources\" t=\"data.t\"&gt;&lt;/sp-facet-lists&gt;\n  &lt;/div&gt;\n  &lt;div class=\"hidden search-overlay search-filter-menu\" ng-class=\"{'visible-xs': showFilterMenu &amp;&amp; isFilterMenuLoading}\"&gt;\n    &lt;div class=\"loading-icon\"&gt;\n      &lt;i class=\"fa fa-spinner fa-spin fa-3x fa-fw\" style=\"font-size:24px\"&gt;&lt;/i&gt;\n      &lt;div class=\"\"&gt;${Hold on, your filters are loading}...&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1843316793</payload_hash>\n<remote_update_set display_value=\"Search and View Results As\">2c340c90134d3300a957721a6144b0e2</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>jacob</sys_created_by>\n<sys_created_on>2019-04-22 02:46:55</sys_created_on>\n<sys_id>e0340c90134d3300a957721a6144b0e4</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16a311fb6110000001</sys_recorded_at>\n<sys_updated_by>jacob</sys_updated_by>\n<sys_updated_on>2019-04-22 02:46:55</sys_updated_on>\n<table/>\n<target_name>Faceted Search with View As</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>f0001e4b8f383300bd3968f09760fc28</update_guid>\n<update_guid_history>f0001e4b8f383300bd3968f09760fc28:1843316793,6adf8a0b5e383300659cdbdc940b8d3d:-904152897,076fc2c777383300d3eb16d67c3dd30f:365173055,8ccb997e3570b740d13e62c898ef7c9f:-1616898857,3a431b0a11b0374058fd7a341371e6a2:51961493,89035bc63db037404072d3565babe160:9929854,23b6f64e643037402cc1b36a4b454fd8:57341376,1593728a583037400265ca6c880df115:-131191983,e481f60634303740ddd59c61a6d7e31b:-859008722,9e8aa64a9dfcf3406dcb9e34b6620a64:-1579363835,095722468ffcf340a21d327c9e89c10d:772122377,4f70e60622bcf340c2dae6ea50a590e2:1984666018,efec9a06fcbcf340668f867edb73e24a:1809673214</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-search-as-direct-reports/widget/pe-search-as-direct-reports.u-body-html-template.html",
    "content": "<div>\n  <div>\n      <div class=\"row header\">\n      <div class=\"hidden-xs col-md-8\">\n        <sp-widget widget=\"data.breadcrumbsWidget\"></sp-widget>\n      </div>\n      <div class=\"col-md-4\" ng-if=\"data.showTypeaheadSearch\">\n        <sp-widget widget=\"data.typeaheadSearchWidget\"></sp-widget>\n      </div>\n    </div>\n    <div class=\"row\">\n      <div class=\"col-sm-3 hidden-xs\">\n        <sp-search-nav search-sources=\"data.searchSources\" q=\"data.q\" t=\"data.t\"></sp-search-nav>\n        <sp-facet-lists collapsed=\"collpaseFacets\" list-title=\"options.facet_list_title\" search-sources=\"data.searchSources\" t=\"data.t\"></sp-facet-lists>\n    </div>\n      <div class=\"col-sm-9\">\n        \n        <uib-tabset active=\"active\" ng-if=\"data.canImpersonate && viewAsChoices.length > 1\">\n          <uib-tab ng-repeat=\"tab in viewAsChoices\" heading=\"{{tab.label}}\"\n                   ng-click=\"viewAs(tab)\"></uib-tab>\n        </uib-tabset>\n        \n        <div class=\"panel panel-default\">\n          <div ng-if=\"isLoading || results.length>0\" class=\"panel-heading flex\">\n            <h2 class=\"h4 panel-title results-heading\" tabindex=\"0\">\n              <sn-avatar ng-if=\"data.canImpersonate && viewAsChoices.length > 1\" \n                         primary=\"activeViewAs.user_id\" class=\"avatar-small m-r-sm\"></sn-avatar>\n              {{t_label}} ${ results for '{{data.q}}'}\n            </h2>\n            <button class=\"btn btn-link hidden visible-xs pull-right\" aria-label=\"${Filter}\" ng-class=\"{'filter-icon': !isFilterApplied}\" ng-click=\"openFilterMenu()\"><fa name=\"filter\" /></button>\n          </div>\n            <div ng-if=\"data.pills && data.pills.length>0\" class=\"panel-heading flex break-word hidden-xs facet-pill-container\">\n               <div class=\"h4 panel-title pills\">\n                <span class=\"pills-label\">${Filtering by}</span>\n                <div>\n                  <sp-facet-pill facet=\"pill\" ng-repeat=\"pill in data.pills\"></sp-facet-pill>\n                </div>\n              </div>\n              <div>\n                  <button class=\"btn btn-link\" ng-click=\"clearAll()\" aria-label=\"${Clear all active facets}\">${Clear All}</button>\n              </div>\n            </div>\n\n          <div ng-show=\"isLoading\" class=\"loading-icon\">\n            <i class=\"fa fa-spinner fa-spin fa-3x fa-fw\" style=\"font-size:24px\"></i>\n            <div class=\"\">${Hold on, your results are loading}...</div>\n          </div>\n          <div ng-show=\"!isLoading\" class=\"panel-default\">\n            <div ng-if=\"results.length==0\" class=\"panel-default\">\n              <div class=\"panel-heading\">\n                <h2 class=\"h4 panel-title\">${No results}</h2>\n                <button ng-if=\"showFilterIcon\" class=\"btn btn-link hidden visible-xs pull-right\" ng-class=\"{'filter-icon': !isFilterApplied}\" ng-click=\"openFilterMenu()\"><fa name=\"filter\" /></button>\n              </div>\n              <div class=\"panel-body wrapper break-word\">\n                <p>${Your search - <b>{{data.q}}</b> - did not match any documents}</p>\n                <div ng-if=\"options.show_did_you_mean && data.suggestions.length > 0\">\n                  ${Did you mean}:\n                  <ul>\n                    <li ng-repeat=\"term in data.suggestions track by $index\">\n                      <a href=\"javascript:void(0)\" ng-click=\"search(term)\">{{term}}</a>\n                    </li>\n                  </ul>\n                </div>\n                <p ng-if=\"options.show_did_you_mean && data.suggestions.length > 0\">${Other suggestions}:</p>\n                <p ng-if=\"!options.show_did_you_mean || data.suggestions.length == 0\">${Suggestions}:</p>\n                <ul>\n                  <li>${Make sure all words are spelled correctly}</li>\n                  <li>${Try different, more general, or fewer keywords}</li>\n                </ul>\n              </div>\n            </div>\n            <div ng-if=\"results.length>0\" ng-class=\"{'search-result-xs': smallScreenSize}\">\n              <div role=\"list\">\n              <div role=\"listitem\" ng-repeat=\"item in results\" class=\"panel-body b-b result-item\">\n                <div ng-include=\"item.templateID\"></div>\n              </div>\n              </div>\n             <div role=\"contentinfo\" class=\"panel-body b-b\">\n                <div class=\"pagination-section\">\n                  <span ng-if=\"showPagination && showLoadMore\"><button type=\"button\" class=\"btn btn-link\" aria-label=\"${Load more results}\" ng-click=\"fetchMoreResults(query_start_location)\">${Load more results}</button></span>\n                  <span ng-if=\"showPagination && !showLoadMore\" aria-label=\"${End of results}\">${End of results}</span>\n                  <span ng-if=\"!showPagination\" aria-label=\"{{endPagination}}\">{{endPagination}}</span>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class=\"hidden search-overlay panel panel-default list-view\" ng-class=\"{'visible-xs': showFilterMenu}\">\n    <div class=\"panel-heading header\">\n      <span>\n        <button class=\"btn btn-link clear pull-left\" ng-click=\"cancel()\" aria-label=\"${Cancel}\">${Cancel}</button>\n      </span>\n      <span style=\"visibility: hidden;\">\n        ${results}\n      </span>\n      <span>\n        <button class=\"btn btn-link pull-right\"  ng-class=\"{'disabled': !showApply}\" ng-click=\"apply()\" aria-label=\"${Done}\">${Done}</button>\n      </span>\n    </div>\n    <sp-search-nav show-toggle=\"true\" list-view=\"true\" search-sources=\"data.searchSources\" q=\"data.q\" t=\"data.t\"></sp-search-nav>\n    <sp-facet-lists collapsed=\"true\" collapsed-searchsource=\"collpaseFacets\" toggle-searchsource=\"true\" list-title=\"options.facet_list_title\" search-sources=\"data.searchSources\" t=\"data.t\"></sp-facet-lists>\n  </div>\n  <div class=\"hidden search-overlay search-filter-menu\" ng-class=\"{'visible-xs': showFilterMenu && isFilterMenuLoading}\">\n    <div class=\"loading-icon\">\n      <i class=\"fa fa-spinner fa-spin fa-3x fa-fw\" style=\"font-size:24px\"></i>\n      <div class=\"\">${Hold on, your filters are loading}...</div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-search-as-direct-reports/widget/pe-search-as-direct-reports.u-client-script.js",
    "content": "function ($scope, $sce, $location, spUtil, $element, $timeout, $rootScope, spFacetsClientService, spFacetManager, $window, spAriaUtil) {\n\tvar url = null;\n\n\tspUtil.setSearchPage($scope.data.t);\n\t$scope.isLoading = true;\n\t$scope.isFilterMenuLoading = true;\n\t$scope.showPagination = false;\n\t$scope.showFilterMenu = false;\n\t$scope.isFilterApplied = spFacetManager.isAnyFacetSelected();\n\t$scope.showApply = false;\n\t$scope.collpaseFacets = !$scope.data.t || $scope.data.t == \"\" ;\n\t\n\t$scope.activeViewAs = {\n\t\tlabel: $scope.user.name + ' (Me)',\n\t\tname: $scope.user.name,\n\t\tuser_id: $scope.user.sys_id\n\t};\n\t\n\t$scope.viewAsChoices = [$scope.activeViewAs];\n\t$scope.data.viewAsResults.forEach(function(va){\n\t\t$scope.viewAsChoices.push({\n\t\t\tlabel: va.name,\n\t\t\tname: va.name,\n\t\t\tuser_id: va.sys_id\n\t\t})\n\t});\n\t\n\t$scope.viewAs = function(viewAsSelected) {\n\t\t$scope.activeViewAs = viewAsSelected;\n\t\tfetch(0);\n\t}\n\n\t$scope.getBGImage = function(item) {\n\t\treturn {\"background-image\": \"url('\" + item.picture + \"')\"};\n\t}\n\n\t$scope.search = function(searchTerm) {\n\t\t$location.search('q', searchTerm);\n\t}\n\n\t$scope.clearAll = function () {\n\t\tspFacetManager.clearAllFacet();\n\t\t$scope.isFilterApplied = false;\n\t}\n\n\t$scope.fetchMoreResults = function(query_start_location) {\n\t\tfetch(query_start_location);\n\t}\n\n\t$scope.openFilterMenu = function() {\n\t\turl = $location.url();\n\t\t$scope.showApply = false;\n\t\t$scope.showFilterMenu = true;\n\t}\n\n\t$scope.cancel = function () {\n\t\tif(url) {\n\t\t\t$location.url(url);\n\t\t}\n    $scope.showFilterMenu = false;\n\t}\n\n\t$scope.apply = function () {\n\t\t$scope.showFilterMenu = false;\n\t}\n\n\tfetch(0);\n\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\t$scope.highlight = function(haystack, needle) {\n\t\tif (!haystack)\n\t\t\treturn \"\";\n\n\t\tif (!needle)\n\t\t\treturn haystack;\n\n\t\treturn haystack.replace(new RegExp(needle.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\"), \"gi\"), function(match) {\n\t\t\treturn '<span class=\"highlight mark\">' + match + '</span>';\n\t\t});\n\t}\n\n\t$scope.smallScreenSize = isSmallScreenSize();\n\n\tfunction isSmallScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\tangular.element($window).on('resize', function () {\n\t\t$scope.smallScreenSize = isSmallScreenSize();\n\t});\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tif(!pageChanged(newUrl, oldUrl)) {\n\t\t\tfetch();\n\t\t}\n\t}\n\n\tfunction pageChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/id=.+/),\n\t\toldUrlParams = oldUrl.match(/id=.+/);\n\n\t\tif(!newUrlParams && !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams && oldUrlParams) || (newUrlParams && !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&\")[0] !== oldUrlParams[0].split(\"&\")[0];\n\t}\n\n\tfunction fetch(query_start_location) {\n\t\t$scope.isLoading = true;\n\t\t$scope.isFilterMenuLoading = true;\n\t\t$scope.showApply = true;\n\t\tvar urlParams = $location.search();\n\n\t\t$scope.limit = urlParams.t && urlParams.t !== \"\" ? $scope.data.limit_group : $scope.data.limit_all;\n\t\t$scope.data.q = urlParams.q;\n\t\t\n\t\tvar\tparams = {\n\t\t\t\t\tquery: urlParams.q,\n\t\t\t\t\tquery_start_location: query_start_location,\n\t\t\t\t\tcount: $scope.limit,\n\t\t\t\t\tsource: urlParams.t,\n\t\t\t\t\tportal: $rootScope.portal_id,\n\t\t\t\t\tinclude_facets: false\n\t\t\t\t},\n\t\t\t\tadditionalQuery = getAdditionalQuery(urlParams);\n\n\t\tif(!isAllSearchSource(urlParams)) {\n\t\t\t$scope.collpaseFacets = false;\n\t\t\tif($scope.data.searchSources[urlParams.t]) {\n\t\t\t\t$scope.t_label = $scope.data.searchSources[urlParams.t].name;\n\t\t\t}\n\t\t\t$scope.showFilterIcon = true;\n\t\t} else {\n\t\t\t$scope.t_label = \"${All}\";\n\t\t\t$scope.showFilterIcon = false;\n\t\t\t$scope.collpaseFacets = true;\n\t\t}\n\n\t\tif ($scope.options.show_did_you_mean == \"true\")\n\t\t\tparams.include_suggestions = true;\n\n\t\tif(urlParams.t && urlParams.t !== \"\" && additionalQuery !== \"\") {\n\t\t\tparams.additionalQuery = additionalQuery;\n\t\t}\n\t\t\n\t\tvar asSelf = $scope.activeViewAs.user_id == $scope.user.sys_id;\n\t\t\n\t\tif (asSelf) {\n\t\t\tfetchCall(params, 'self');\n\t\t} else {\n\t\t\t$scope.server.get({\n\t\t\t\t'action': 'impersonate',\n\t\t\t\t'user_id': $scope.activeViewAs.user_id\n\t\t\t}).then(function(r){\n\t\t\t\tfetchCall(params, r.data.user_id);\n\t\t\t});\n\t\t}\n\t}\n\t\n\tfunction fetchCall(params, viewAs) {\n\t\tspFacetsClientService.search(params).then(function(response) {\n\t\t\tvar searchResults = response.data.result.results.map(function(result) {\n\t\t\t\tresult.templateID = \"sp-search-source-\" + result.__search_source_id__ + \".html\";\n\t\t\t\tif (viewAs !== 'self') {\n\t\t\t\t\tresult.viewAs = viewAs;\n\t\t\t\t\tif (result.url)\n\t\t\t\t\t\tresult.url += '&view_as=' + result.viewAs;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t});\n\t\t\tif(params.query_start_location > 0) {\n\t\t\t\t$scope.results = $scope.results.concat(searchResults);\n\n\t\t\t} else {\n\t\t\t\t$scope.results = searchResults;\n\t\t\t}\n\t\t\t$scope.isLoading = false;\n\t\t\t\n\t\t\tif (viewAs !== 'self')\n\t\t\t\t$scope.server.get({action: 'unimpersonate'});\n\n\t\t\tif (response.data.result.pagination_supported) {\n\t\t\t\tgeneratePagination(searchResults, params.query_start_location);\n\t\t\t} else {\n\t\t\t\t$scope.showPagination = false;\n\t\t\t}\n\n\t\t\tif (response.data.result.suggestions)\n\t\t\t\t$scope.data.suggestions = response.data.result.suggestions;\n\t\t});\n\t\t\n\t\tvar paramsCopy = JSON.parse(JSON.stringify(params))\n\t\tparamsCopy.include_facets = true;\n\t\tparamsCopy.include_suggestions = false;\n\n\t\tspFacetsClientService.search(paramsCopy).then(function(response) {\n\t\t\t$scope.isFilterMenuLoading = false;\n\t\t\tif (!response.data.result.pagination_supported) {\n\t\t\t\t$scope.endPagination = getEndPagination(response.data.result.results, hasFacet(response.data.result.facets, params.source));\n\t\t\t}\n\t\t});\n\n\t\t$scope.isFilterApplied = spFacetManager.isAnyFacetSelected();\n\t\tsetFocusSearchResult();\n\t}\n\n\tspFacetManager.subscribe(\"spFacets.refresh.data\", \"Pills\", onFacetsData);\n\n\tfunction isAllSearchSource(urlParams) {\n\t\treturn !urlParams.t || urlParams.t == \"\";\n\t}\n\n\tfunction setFocusSearchResult() {\n\t\t$timeout(function() {\n\t\t\tvar element = $element.find(\".results-heading\")[0];\n\t\t\tif(element) {\n\t\t\t\telement = angular.element(element);\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 2500);\n\t}\n\n\tfunction setFocusNextItem(index) {\n\t\t$timeout(function() {\n\t\t\tvar element = $element.find(\".result-item\")[index];\n\t\t\tif(element) {\n\t\t\t\telement = element.querySelector(\"a\");\n\t\t\t\telement = angular.element(element);\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 500);\n\t}\n\n\tfunction generatePagination(results, previousIndex) {\n\t\t\tvar last = results[results.length-1];\n\t\t\t$scope.showPagination = true;\n\t\t\t$scope.showLoadMore= last && !last.isLastResult;\n\n\t\tif(last && last.query_location != undefined) {\n\t\t\t\t$scope.query_start_location = last.query_location + 1;\n\t\t\t} else {\n\t\t\t\t$scope.query_start_location = 0;\n\t\t\t}\n\n\t\t  if(previousIndex > 0) {\n\t\t\t\tsetFocusNextItem(previousIndex);\n\t\t\t}\n\t}\n\n\tfunction hasFacet(facets, searchSource) {\n\t\tif(searchSource && searchSource !== \"\") {\n\t\t\treturn facets  && facets[searchSource] && facets[searchSource].length > 0\n\t\t} else {\n\t\t\tfor(var key in facets) {\n\t\t\t\tif(facets[key].length > 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction getEndPagination(results, hasFacet) {\n\t\tif(results.length >= $scope.limit) {\n\t\t\tif(hasFacet) {\n\t\t\t\treturn \"${Results are limited to }\" + $scope.limit + \"${ items per search. Try using filters or more specific keywords.}\";\n\t\t\t}\n\t\t\treturn \"${Results are limited to }\" + $scope.limit + \"${ items per search. Try using more specific keywords.}\";\n\t\t}\n\n\t\treturn \"${End of results}\";\n\t}\n\n\tfunction getAdditionalQuery(params) {\n\t\tvar paramsCopy = _.clone(params);\n\n\t\tdelete paramsCopy.q;\n\t\tdelete paramsCopy.t;\n\t\tdelete paramsCopy.id;\n\t\tdelete paramsCopy.spa;\n\n\t\tif (_.isEmpty(paramsCopy))\n\t\t\treturn \"\";\n\n\t\tfor(var key in paramsCopy) {\n\t\t\tif(paramsCopy.hasOwnProperty(key))\n\t\t\t\tparamsCopy[key] = processURLProperty(paramsCopy[key]);\n\t\t}\n\n\t\treturn paramsCopy;\n\t}\n\n\tfunction propertyIsArray(prop) {\n\t\treturn prop.charAt(0) === '[' && prop.charAt(prop.length - 1) === ']';\n\t}\n\n\tfunction processURLProperty(property) {\n\t\tif (propertyIsArray(property)) {\n\t\t\tvar properties = property.substring(1, property.length - 1).split(\",\");\n\t\t\tproperties = properties.map(function(prop) {\n\t\t\t\treturn prop.split(\"%2C\").join(\",\");\n\t\t\t});\n\t\t\treturn properties;\n\t\t} else {\n\t\t\treturn property;\n\t\t}\n\t}\n\n\tfunction findItems(facet, key, valueArr) {\n\t\tif (!Array.isArray(valueArr))\n\t\t\tvalueArr = [valueArr];\n\n\t\tvar items = facet.items.filter(function(item) {\n\t\t\treturn valueArr.some(function(value) {\n\t\t\t\treturn value === item.value;\n\t\t\t})\n\t\t});\n\n\t\tif(items && items.length > 0) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction findFacet(facets, key) {\n\t\tvar f = null;\n\t\tif(facets && facets.length > 0) {\n\t\t\tf = facets.filter(function(d) {\n\t\t\t\t\treturn d.id === key;\n\t\t\t});\n\t\t}\n\n\t\tif(f && f.length > 0) {\n\t\t\treturn f[0];\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction onFacetsData(params) {\n\t\tvar query = params.query,\n\t\t\t\tfacets = params.data[query.t],\n\t\t\t\tpills = {};\n\n\t\tvar keys = Object.keys(query);\n\t\tkeys.forEach(function(k) {\n\n\t\t\tvar facet = findFacet(facets, k);\n\t\t\tif(facet) {\n\t\t\t\tvar items = findItems(facet, k, processURLProperty(query[k]));\n\t\t\t\tif(items) {\n\t\t\t\t\titems.forEach(function(item) {\n\t\t\t\t\t\tif(!pills[item.label]) {\n\t\t\t\t\t\t\tpills[item.label] = {id: k, label: item.label, facet: facet, item: item};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t//update previous pill\n\t\t\t\t\t\t\tupdatPreviousPill(pills, item.label);\n\t\t\t\t\t\t\t//add current pill\n\t\t\t\t\t\t\tvar label = getLabel(facet, item);\n\t\t\t\t\t\t\tpills[label] = {id: k, label: label, facet: facet, item: item};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t$scope.data.pills = _.values(pills);\n\t}\n\n\tfunction getLabel(facet, item) {\n\t\treturn item.label + \" (\" + facet.label + \")\";\n\t}\n\n\tfunction updatPreviousPill(pills, label) {\n\t\tvar previous = pills[label],\n\t\t\t\tupdatedLabel = getLabel(previous.facet, previous.item);\n\t\tprevious.label = updatedLabel;\n\t\tpills[updatedLabel] = previous;\n\t\tdelete pills[label];\n\t}\n}"
  },
  {
    "path": "src/pe-search-as-direct-reports/widget/pe-search-as-direct-reports.u-css.scss",
    "content": ".header {\n  padding: 10px;\n}\n\nbutton.toggle-icon {\n  background-color: transparent;\n}\n\na.question-tag {\n  color: #39739d;\n  background-color: #e1ecf4;\n  border: 1px solid #e1ecf4;\n  display: inline-block;\n  margin: 4px 4px 4px 0;\n  border-radius: 0;\n  text-align: center;\n  line-height: 1;\n  padding: .4em .5em;\n}\n\n.loading-icon {\n  text-align: center;\n  padding: 30px;\n}\n\n.loading-icon div {\n  padding: 10px;\n}\n\n.pagination-section {\n  text-align: center;\n}\n\n.panel-title:focus {\n  outline: -webkit-focus-ring-color auto 5px;\n}\n\n.search-header {\n  padding-top: 15px;\n  padding-bottom: 15px;\n}\n\n.pills {\n  display: flex;\n}\n\n.pills-label {\n  min-width: 80px;\n  margin-top: 5px;\n}\n\nh2 {\n  display: inline-block;\n}\n\n.btn-link {\n  padding: 0;\n}\n\n.flex {\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n}\n\n.flex h2 {\n  word-break: break-word;\n}\n\n.search-result-xs {\n  margin: 0 -7px 0 -8px;\n}\n\n.search-overlay {\n  width: 100%;\n  height: 100%;\n  min-height: 100vh;\n  position: absolute;\n  z-index: 2;\n  top: 0;\n  left: 0;\n  border-left: 0;\n  border-right: 0;\n  margin-top: -1rem;\n  background: #FFF;\n}\n\n.search-filter-menu {\n  z-index: 3 !important;\n  opacity: 0.9;\n  height: 100vh;\n}\n\n.search-overlay .header {\n  text-align: center;\n}\n\n.filter-icon {\n  color: #717171;\n}\n\n.disabled {\n  color: #ddd;\n}\n\n.results-heading {\n  padding-top: 3px;\n  padding-bottom: 2px;\n}\n\n.results-heading:focus {\n  outline: none;\n}\n\n.facet-pill-container {\n  padding-top: 5px;\n  padding-bottom: 5px;\n}\n\n.sc {\n  i.ta-icon, i.ta-img {\n    width: 30px;\n    height: 30px;\n    line-height: 20px;\n    background-size: contain;\n    display: inline-block;\n    background-repeat: no-repeat;\n    background-position: center center;\n    text-align: center;\n    float:left;\n    padding-right: 8px;\n  }\n}\n\n.nav-tabs {\n  margin: 0 5px;\n  border-bottom: none;\n  > li > a {\n    background-color: mix(#f0f3f4, #fff, 20%);\n    border: 1px solid $panel-default-border;\n  }\n}\n\n.nav > li > a:hover,\n.nav > li > a:focus {\n  background-color: mix(#f0f3f4, #fff, 50%);\n  border: 1px solid $panel-default-border;\n}\n\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  background-color: #fff;\n  border-bottom: 1px solid #fff;\n}\n\n.view-as-avatar {\n  float: right;\n  width: 2rem;\n  height: 2rem;\n}\n"
  },
  {
    "path": "src/pe-search-as-direct-reports/widget/pe-search-as-direct-reports.u-server-script.js",
    "content": "if (input && input.action == 'impersonate') {\n\tsession.onlineImpersonate(input.user_id);\n\tdata.user_id = input.user_id;\n}\nif (input && input.action == 'unimpersonate') {\n\tsession.onlineUnimpersonate();\n}\n\ndata.canImpersonate = gs.hasRole('impersonator');\ndata.viewAsResults = getViewAsChoices(gs.getUserID());\n\nfunction getViewAsChoices(userID) {\n\tvar gr = new GlideRecord('sys_user');\n\tgr.addActiveQuery();\n\tgr.addQuery('manager', userID);\n\tgr.orderBy(gr.getDisplayName());\n\tgr.query();\n\tvar choices = [];\n\twhile (gr.next()) {\n\t\tchoices.push({\n\t\t\tname: gr.getDisplayValue(),\n\t\t\tsys_id: gr.getUniqueValue()\n\t\t});\n\t}\n\treturn choices;\n}\n\ndata.showPrices = $sp.showCatalogPrices();\ndata.q = $sp.getParameter('q');\ndata.t = $sp.getParameter('t');\ndata.searchSources = {};\ndata.resultTemplates = {};\n\noptions.refresh_page_on_search_submission = false;\n\ndata.typeaheadSearchWidget = $sp.getWidget('typeahead-search', options);\ndata.breadcrumbsWidget = $sp.getWidget('breadcrumbs');\ndata.limit_group = options.max_group || 15;\ndata.limit_all = options.max_all || 30;\ndata.showTypeaheadSearch = options.show_typeahead_search == \"true\";\n\nvar portalID = $sp.getPortalRecord().getUniqueValue();\nvar searchSources = $sp.getSearchSources(portalID);\nvar i = 0;\nsearchSources.forEach(function(searchSource) {\n\tdata.resultTemplates[\"sp-search-source-\" + searchSource.id + \".html\"] = $sp.translateTemplate(searchSource.template);\n\tdata.searchSources[searchSource.id] = {\n\t\tname: searchSource.name,\n\t\tid: searchSource.id,\n\t\torder: i++\n\t};\n});\n\nif (data.t) {\n\tdata.t_label = data.searchSources[data.t].name;\n} else {\n\tdata.t_label = gs.getMessage(\"All\");\n}\n"
  },
  {
    "path": "src/pe-small-link-to/README.md",
    "content": "# Small - Link To\n\n## Description\n\nThe widget is an adaptation of the Link Button (Out of the Box) widget that provides a more feature rich collection of configurable options through the use of the Instance Options interface.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-small-link-to/images/default.png)\n### Configured - Bootstrap Context Alternatives\n![Context Alternatives](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-small-link-to/images/three.png)\n### Missing Link Configuration\n![Missing Link Configuration](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-small-link-to/images/missingconfig.png)\n### Instance Options\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-small-link-to/images/options1.png)\n![Instance Options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-small-link-to/images/options2.png)\n\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\nDownload and install update set **[pe-small-link-to.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-small-link-to/pe-small-link-to.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Image Thumbnail** - path/name of image to use on the button\n\n### Presentation\n**Title** - Text to show on the button <br/>\n**Image as Glyph** - Glyph selector for image to use on button. _Selection of Glyph image is priority and overrides Image Thumbnail_<br/>\n**Glyph Color** - WebColor text value, HEX or RGBA() value to use in giving a color to the glyph image\n**Annotation** - Sub-Text to give additional context about the button<br/>\n**Button Background Color** - Custom color setting of the button's backgroun - HEX, RGB, or web color names are valid values<br/>\n**Button Minimum Height** - minimum height of the button <br/>\n**Title Color** - Title text color - HEX, RGB, or web color names are valid values<br/>\n**Annotation Color** - Sub-Text text color - HEX, RGB, or web color names are valid values<br/>\n**Border Radius** - radius value of the button's border in pixels (px) - `Default: 4px`<br/>\n**Bootstrap Panel's Contextual Alternatives** - Bootstrap Context Alternative choices (primary, success, info, etc.) to quickly color the button's background <br/>\n\n### Behavior\n**Target HREF** - specifies the URL location the user will go to when clicked<br/>\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None"
  },
  {
    "path": "src/pe-small-link-to/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Navigation\",\n  \"common-name\": \"Small - Link To\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"button\",\n    \"link\"\n  ],\n  \"name\": \"pe-small-link-to\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Small Link To button widget customizable via Instance Options\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-small-link-to/pe-small-link-to.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-12 14:17:56\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Small - Link To</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>8a181ebd4f636f0005be4d6e0210c7db</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-12 14:17:56</sys_created_on>\n<sys_id>92ac034a4f63af0005be4d6e0210c7ff</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-12 14:17:56</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_686172494feee7408272ece24210c7fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function() {\n  var c = this;\n  \n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$brand-default: #f2f2f2 !default;\n\n.sassvars {\n  --button-bg-color: $brand-default;\n  --button-min-height: 225px;\n  --button-border-radius: unset;\n  --title-color: $text-color;\n  --annotation-color: $text-color;\n  --image-height: 6rem;\n  --image-width: 6rem;\n  --image-margin: 20px;\n  --glyph-color: rgba(0,0,0,0.6);\n  \n  --bs-context-default: $brand-default;\n  --bs-context-primary: $brand-primary;\n  --bs-context-success: $brand-success;\n  --bs-context-warning: $brand-warning;\n  --bs-context-danger: $brand-danger;\n  --bs-context-info: $brand-info;\n}\n\n.panel{\n  border: unset !important;\n  background-color: transparent !important;\n  border-radius: unset !important;\n  box-shadow: unset !important;\n}\n\n\n.smalllinkto {\n  display: flex;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  justify-content: center;\n  margin: 0 auto;\n  \n  color: var(--title-color);\n  background-color: var(--button-bg-color);\n  min-height: var(--button-min-height);\n  border-radius: var(--button-border-radius);\n  \n  a {\n    display: content;\n  }\n  \n  .content-column {\n    display: flex;\n    flex-direction: column;\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n    justify-content: center;\n    padding: 0;\n\n    .icon {\n      margin-bottom: 10px;\n      max-width: auto;\n      max-height: 70px;\n      width: 100%;\n      height: 100%;\n      justify-content: center;\n      text-align: center;\n      img{\n        max-width: auto;\n        max-height: 70px;\n      }\n    }\n    \n    i{\n      font-size: 70px;\n      color: var(--glyph-color);\n    }\n    \n    h3 {\n      font-weight: bold;\n      font-size: 32px;\n      margin: 0 0 10px 0;\n      color: var(--title-color);\n      text-align: center;\n    }\n\n    p {\n      font-size: 18px;\n      color: var(--annotation-color)\n    }\n    @media (max-width: 767px) {\n      i{\n        font-size: 64px;\n      }\n      h3 {\n        font-size: 24px;\n      }\n      p {\n        font-size: 16px;\n      }\n    }\n  }\n\n}\n\n\n&lt;/css&gt;&lt;data_table&gt;sp_instance_link&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title,type,sp_page,url&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;smbox-linkto&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.context &amp;&amp; $scope.options.context.length &gt; 0){\n\t\tsass.style.setProperty('--button-bg-color', sassv.getPropertyValue('--bs-context-'+$scope.options.context) );\n\t}\n\tif($scope.options.button_bg_color &amp;&amp; $scope.options.button_bg_color.length &gt; 0){\n\t\tsass.style.setProperty('--button-bg-color', $scope.options.button_bg_color);\n\t}\n\tif($scope.options.button_min_height &amp;&amp; $scope.options.button_min_height.length &gt; 0){\n\t\tsass.style.setProperty('--button-min-height', $scope.options.button_min_height);\n\t}\n\tif($scope.options.title_color &amp;&amp; $scope.options.title_color.length &gt; 0){\n\t\tsass.style.setProperty('--title-color', $scope.options.title_color);\n\t}\n\tif($scope.options.annotation_color &amp;&amp; $scope.options.annotation_color.length &gt; 0){\n\t\tsass.style.setProperty('--annotation-color', $scope.options.annotation_color);\n\t}\n\tif($scope.options.border_radius &amp;&amp; $scope.options.border_radius.length &gt; 0){\n\t\tsass.style.setProperty('--button-border-radius', $scope.options.border_radius);\n\t}\n\tif($scope.options.glyph_color &amp;&amp; $scope.options.glyph_color.length &gt; 0){\n\t\tsass.style.setProperty('--glyph-color', $scope.options.glyph_color );\n\t}\n\t\n\t\n}\n]]&gt;&lt;/link&gt;&lt;name&gt;Small Box - Link To&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"image_thumbnail\",\"section\":\"Data\",\"label\":\"Image Thumbnail\",\"type\":\"string\"},{\"name\":\"image_as_glyph\",\"section\":\"Presentation\",\"label\":\"Image as Glyph\",\"type\":\"glyphicon\"},{\"hint\":\"\",\"name\":\"glyph_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Glyph Color\",\"type\":\"string\"},{\"name\":\"annotation\",\"section\":\"Presentation\",\"label\":\"Annotation\",\"type\":\"string\"},{\"name\":\"href\",\"section\":\"Behavior\",\"label\":\"Target HREF\",\"type\":\"string\"},{\"name\":\"button_bg_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Button Background Color\",\"type\":\"string\"},{\"name\":\"button_min_height\",\"section\":\"Presentation\",\"label\":\"Button Minimum Height\",\"type\":\"string\"},{\"name\":\"title_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Title Color\",\"type\":\"string\"},{\"name\":\"annotation_color\",\"section\":\"Presentation\",\"label\":\"Annotation Color\",\"type\":\"string\"},{\"name\":\"border_radius\",\"section\":\"Presentation\",\"default_value\":\"4px\",\"label\":\"Border Radius\",\"type\":\"string\"},{\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"default\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar gr = $sp.getInstanceRecord();\n\t\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\ttry{\n\t\tdata.href = options.href || $sp.getMenuHREF(gr);\n\t\t\n\t\tdata.target = options.target || \"\";\n\t\t\n\t\tif(data.href==\"\"){\n\t\t\tdata.missingConfig = true;\n\t\t}\n\t\t\n\t}catch(e){\n\t\tdata.missingConfig = true;\n\t\treturn;\n\t}\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-21 16:42:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;686172494feee7408272ece24210c7fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;48&lt;/sys_mod_count&gt;&lt;sys_name&gt;Small Box - Link To&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_686172494feee7408272ece24210c7fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-12 14:10:20&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class='sassvars panel'&gt;\n  &lt;div class=\"panel-body smalllinkto\"&gt;\n    &lt;a ng-href=\"{{data.href}}\" ng-if='!data.missingConfig'&gt;\n      &lt;div class=\"content-column\"&gt;\n        &lt;div class='icon' ng-if='options.image_thumbnail'&gt;\n          &lt;img src='{{options.image_thumbnail}}'/&gt;\n        &lt;/div&gt;\n        &lt;div class='icon' ng-if='!options.image_thumbnail &amp;&amp; options.image_as_glyph'&gt;\n          &lt;i class=\"fa fa-{{options.image_as_glyph}}\"&gt;&lt;/i&gt;\n        &lt;/div&gt;\n        &lt;h3&gt;{{::c.options.title}}&lt;/h3&gt;\n        &lt;p&gt;{{::c.options.annotation}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/a&gt;\n    &lt;div ng-if='data.missingConfig'&gt;\n      &lt;h3&gt;Missing Link Configuration&lt;/h3&gt;\n      &lt;p&gt;Use Instance Options (Ctrl+Right Click) to configure the widget&lt;/p&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-950104654</payload_hash>\n<remote_update_set display_value=\"Small - Link To\">92ac034a4f63af0005be4d6e0210c7ff</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-12 14:17:56</sys_created_on>\n<sys_id>d6ac034a4f63af0005be4d6e0210c7ff</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e20b574f0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-12 14:17:56</sys_updated_on>\n<table/>\n<target_name>Small Box - Link To</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>03ea8f869e63af00dc7f958d5e238327</update_guid>\n<update_guid_history>03ea8f869e63af00dc7f958d5e238327:-950104654,667a8786be63af0041e48d064d332bb8:-1994119195,b66a07860663af00f5d009e729e2acb1:2138707690,536703061b63af00cea48f2bb77966a2:-1994119195,dffedf7dfc676f00a80f9b7fd446ef11:1390348629,f9ee9f7dcb676f007635d55aeb5439dc:-451470429,e0de5f7dc4676f00865c6141bbdef037:-2088276047,1bbedb7d71676f003d5404246c27cbd7:-233509135,92395f39d0676f00e6730f86b393b1f4:-593872539,e6e85f394e676f0027994ba834efa6b8:-1841569563,c3002c1418afe7002c00163ad823d493:2284888,9850baefcb1b67007b6a9acb2d315079:458423254,0810f6efb31b6700d634723c9bd71a94:-664004987,4adfe6ef261b670031b3c2d8f2ec0833:-663751464,62483ea5d932a78068a672b5632ff89e:1817966526,3128b6a5ca32a7800b143da04c3e0ef4:632531215,8967fe654032a78059f1ae003cf97803:-422921825,3575bee1ef32a7809d838ec6a84680e1:1516420328,03cf9b01532ae740c170164506e4f822:-1119161988,df9f5b01ee2ae7405066580cf053f050:-1124879282,b0e7c7c585a6e74016267e5b76643eed:201174930,01a7cf8508a6e740af0cbf1eff184b9e:-1177861436,c2c6c3855ba6e7408e957a962280d92b:-586539888,c78607854ca6e74083c6e88be295198c:-1413229318,8b6683858da6e7400c821a17c08947e7:-2005822989,77464385b7a6e740010fdfb757b0a3bd:-1260600947,3c0443c1d8a6e740fafbd30d2e25cb60:-351492181,e0328f8142a6e74096ea026307bf9b12:-876326681,6402cf41cea6e740ae760272dace5d7c:1191487528,5af1438105a6e74077a6421c53864253:2120450602,d8a08741eda6e740869fab1a5520735c:-1808783189,b990474191a6e7405a1adbd3e5aeff93:-993303999,c480474146a6e7402329af479f8a80c3:-68842479,276047415da6e7400b5a03d8d1aec181:1186954851,9b40c3413ba6e740219f272d0e3e09aa:2114857107,a8400b0161a6e740eb6c62fc7dbd931d:1424754995,7e30c701e8a6e74053e321b2d076dfe1:-688566120,fc6ff6013ea6e7400d04d991f2b3e7da:1466840532,51befe8dec66e740a578c7f337188689:896648588,555d72cda466e740f3fd5e351c93b528:-1926689779,0becb68d1b66e7405a7ede0c27be229c:2115227091,f3b47e0d25eee74091131ecb81a3043a:2030022788,06947a0dcbeee74083f3b92040b24385:-1341093418,85443a0d8feee7401fdbcb293a5c9c5c:-69877106,b3637ac95ceee74085e1930cfedf2ea0:1227759291,a8e2ba89efeee740019f4fa7650f87d2:2116610726,2d623a89cbeee740635ae9b10cb8b577:-1646795323,6781f2497aeee740bf92cae22c9df11a:339394329,ac61724964eee740a08e3a9ded2179fb:-1747026768</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-small-link-to/widget/pe-small-link-to.u-body-html-template.html",
    "content": "<div class='sassvars panel'>\n  <div class=\"panel-body smalllinkto\">\n    <a ng-href=\"{{data.href}}\" ng-if='!data.missingConfig'>\n      <div class=\"content-column\">\n        <div class='icon' ng-if='options.image_thumbnail'>\n          <img src='{{options.image_thumbnail}}'/>\n        </div>\n        <div class='icon' ng-if='!options.image_thumbnail && options.image_as_glyph'>\n          <i class=\"fa fa-{{options.image_as_glyph}}\"></i>\n        </div>\n        <h3>{{::c.options.title}}</h3>\n        <p>{{::c.options.annotation}}</p>\n      </div>\n    </a>\n    <div ng-if='data.missingConfig'>\n      <h3>Missing Link Configuration</h3>\n      <p>Use Instance Options (Ctrl+Right Click) to configure the widget</p>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-small-link-to/widget/pe-small-link-to.u-client-script.js",
    "content": "function() {\n  var c = this;\n  \n}"
  },
  {
    "path": "src/pe-small-link-to/widget/pe-small-link-to.u-css.css",
    "content": "$brand-default: #f2f2f2 !default;\n\n.sassvars {\n  --button-bg-color: $brand-default;\n  --button-min-height: 225px;\n  --button-border-radius: unset;\n  --title-color: $text-color;\n  --annotation-color: $text-color;\n  --image-height: 6rem;\n  --image-width: 6rem;\n  --image-margin: 20px;\n  --glyph-color: rgba(0,0,0,0.6);\n  \n  --bs-context-default: $brand-default;\n  --bs-context-primary: $brand-primary;\n  --bs-context-success: $brand-success;\n  --bs-context-warning: $brand-warning;\n  --bs-context-danger: $brand-danger;\n  --bs-context-info: $brand-info;\n}\n\n.panel{\n  border: unset !important;\n  background-color: transparent !important;\n  border-radius: unset !important;\n  box-shadow: unset !important;\n}\n\n\n.smalllinkto {\n  display: flex;\n  -webkit-box-pack: justify;\n  -moz-box-pack: justify;\n  -ms-flex-pack: justify;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -moz-box-align: center;\n  -ms-flex-align: center;\n  align-items: center;\n  justify-content: center;\n  margin: 0 auto;\n  \n  color: var(--title-color);\n  background-color: var(--button-bg-color);\n  min-height: var(--button-min-height);\n  border-radius: var(--button-border-radius);\n  \n  a {\n    display: content;\n  }\n  \n  .content-column {\n    display: flex;\n    flex-direction: column;\n    -webkit-box-pack: justify;\n    -moz-box-pack: justify;\n    -ms-flex-pack: justify;\n    -webkit-box-align: center;\n    -webkit-align-items: center;\n    -moz-box-align: center;\n    -ms-flex-align: center;\n    align-items: center;\n    justify-content: center;\n    padding: 0;\n\n    .icon {\n      margin-bottom: 10px;\n      max-width: auto;\n      max-height: 70px;\n      width: 100%;\n      height: 100%;\n      justify-content: center;\n      text-align: center;\n      img{\n        max-width: auto;\n        max-height: 70px;\n      }\n    }\n    \n    i{\n      font-size: 70px;\n      color: var(--glyph-color);\n    }\n    \n    h3 {\n      font-weight: bold;\n      font-size: 32px;\n      margin: 0 0 10px 0;\n      color: var(--title-color);\n      text-align: center;\n    }\n\n    p {\n      font-size: 18px;\n      color: var(--annotation-color)\n    }\n    @media (max-width: 767px) {\n      i{\n        font-size: 64px;\n      }\n      h3 {\n        font-size: 24px;\n      }\n      p {\n        font-size: 16px;\n      }\n    }\n  }\n\n}\n\n\n"
  },
  {
    "path": "src/pe-small-link-to/widget/pe-small-link-to.u-link-script.js",
    "content": "function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.context && $scope.options.context.length > 0){\n\t\tsass.style.setProperty('--button-bg-color', sassv.getPropertyValue('--bs-context-'+$scope.options.context) );\n\t}\n\tif($scope.options.button_bg_color && $scope.options.button_bg_color.length > 0){\n\t\tsass.style.setProperty('--button-bg-color', $scope.options.button_bg_color);\n\t}\n\tif($scope.options.button_min_height && $scope.options.button_min_height.length > 0){\n\t\tsass.style.setProperty('--button-min-height', $scope.options.button_min_height);\n\t}\n\tif($scope.options.title_color && $scope.options.title_color.length > 0){\n\t\tsass.style.setProperty('--title-color', $scope.options.title_color);\n\t}\n\tif($scope.options.annotation_color && $scope.options.annotation_color.length > 0){\n\t\tsass.style.setProperty('--annotation-color', $scope.options.annotation_color);\n\t}\n\tif($scope.options.border_radius && $scope.options.border_radius.length > 0){\n\t\tsass.style.setProperty('--button-border-radius', $scope.options.border_radius);\n\t}\n\tif($scope.options.glyph_color && $scope.options.glyph_color.length > 0){\n\t\tsass.style.setProperty('--glyph-color', $scope.options.glyph_color );\n\t}\n\t\n\t\n}\n"
  },
  {
    "path": "src/pe-small-link-to/widget/pe-small-link-to.u-option-schema.json",
    "content": "[\n {\"name\":\"image_thumbnail\",\"section\":\"Data\",\"label\":\"Image Thumbnail\",\"type\":\"string\"},\n {\"name\":\"image_as_glyph\",\"section\":\"Presentation\",\"label\":\"Image as Glyph\",\"type\":\"glyphicon\"},{\"hint\":\"\",\"name\":\"glyph_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Glyph Color\",\"type\":\"string\"},\n {\"name\":\"annotation\",\"section\":\"Presentation\",\"label\":\"Annotation\",\"type\":\"string\"},\n {\"name\":\"href\",\"section\":\"Behavior\",\"label\":\"Target HREF\",\"type\":\"string\"},\n {\"name\":\"button_bg_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Button Background Color\",\"type\":\"string\"},\n {\"name\":\"button_min_height\",\"section\":\"Presentation\",\"label\":\"Button Minimum Height\",\"type\":\"string\"},\n {\"name\":\"title_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Title Color\",\"type\":\"string\"},\n {\"name\":\"annotation_color\",\"section\":\"Presentation\",\"label\":\"Annotation Color\",\"type\":\"string\"},\n {\"name\":\"border_radius\",\"section\":\"Presentation\",\"default_value\":\"4px\",\"label\":\"Border Radius\",\"type\":\"string\"},\n {\"hint\":\"Easily make a panel more meaningful to a particular context by adding any of the contextual state classes.\",\"name\":\"context\",\"section\":\"Presentation\",\"default_value\":\"default\",\"label\":\"Bootstrap Panel's Contextual alternatives - changes the background to Bootstrap defined context colors\",\"type\":\"choice\",\"choices\":[{\"label\":\"default\",\"value\":\"default\"},{\"label\":\"primary\",\"value\":\"primary\"},{\"label\":\"success\",\"value\":\"success\"},{\"label\":\"info\",\"value\":\"info\"},{\"label\":\"warning\",\"value\":\"warning\"},{\"label\":\"danger\",\"value\":\"danger\"}]}\n]"
  },
  {
    "path": "src/pe-small-link-to/widget/pe-small-link-to.u-server-script.js",
    "content": "(function() {\n\tvar gr = $sp.getInstanceRecord();\n\t\n\t/* Data Variables */\n\tdata.missingConfig = false;\n\n\ttry{\n\t\tdata.href = options.href || $sp.getMenuHREF(gr);\n\t\t\n\t\tdata.target = options.target || \"\";\n\t\t\n\t\tif(data.href==\"\"){\n\t\t\tdata.missingConfig = true;\n\t\t}\n\t\t\n\t}catch(e){\n\t\tdata.missingConfig = true;\n\t\treturn;\n\t}\n\n})();"
  },
  {
    "path": "src/pe-sp-pdf-viewer/README.md",
    "content": "# SP PDF Viewer\n\n## Description\n\nA simple and quick way to show a PDF within Service Portal.\n\n## Screenshot\n\n![SP PDF Viewer with a classic A4 PDF](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-pdf-viewer/images/pe-sp-pdf-viewer-01.png)\n\n![SP PDF Viewer ](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-pdf-viewer/images/pe-sp-pdf-viewer-02.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-sp-pdf-viewer.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-sp-pdf-viewer/pe-sp-pdf-viewer.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/newyork-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nIn input the component needs the attachment sys_id from sys_attachment table, and it can be used with a companion widget too which is showing a list of PDFs having in input a table, and/or the sys_id of the associated record where the attachments are dragged on. In this case, the PDFs are opened inside a modal.\n\n## Platform Dependencies\n\n### SN System Tables\n\nsys_attachment\n\n### UI Dependencies\n\nPDF.js and Angular PDF Viewer\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\nBootstrap variables\n\n```sass\n$link-color\n```\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Data Presentation\",\n  \"common-name\": \"SP PDF Viewer\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\",\n    \"New York\"\n  ],\n  \"contributors\": [\n    \"Fabio Petito\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-sp-pdf-viewer\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"A simple and quick way to show a PDF within Service Portal\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/pe-sp-pdf-viewer.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-09-20 10:40:29\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<application_name>SP PDF Viewer</application_name>\n<application_scope>x_pisn_sp_pdf_view</application_scope>\n<application_version>1.0.3</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>A simple and quick way to show a PDF within Service Portal</description>\n<inserted/>\n<name>SP PDF Viewer</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>b61893fcdbc80010d033df8b4b961964</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>39a8d7fcdbc80010d033df8b4b9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_fd0f4330dbc80010d033df8b4b9619c0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">710f4330dbc80010d033df8b4b9619bf</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:58:26</sys_created_on><sys_id>fd0f4330dbc80010d033df8b4b9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_column_fd0f4330dbc80010d033df8b4b9619c0</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:58:26</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-2142725944</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>31a8d730db0c0010d033df8b4b9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018c10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>bd0f43307cc8001092579e9ddf4cadc1</update_guid>\n<update_guid_history>bd0f43307cc8001092579e9ddf4cadc1:-2142725944</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_213cf319dbb3f3c0d033df8b4b9619c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column display_value=\"1\">9e2cf319dbb3f3c0d033df8b4b96190c</sp_column><sp_container/><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:17:06</sys_created_on><sys_id>213cf319dbb3f3c0d033df8b4b9619c1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_row_213cf319dbb3f3c0d033df8b4b9619c1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:17:06</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1313500857</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>31a8d730db0c0010d033df8b4b9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017b30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>6f3c771940b3f3c0b22bd846bcbb6cc5</update_guid>\n<update_guid_history>6f3c771940b3f3c0b22bd846bcbb6cc5:-1313500857,213cf31902b3f3c05c5347a8591635c2:2084476883</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_630e03fcdb880010d033df8b4b961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">6b0e03fcdb880010d033df8b4b961901</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:54:11</sys_created_on><sys_id>630e03fcdb880010d033df8b4b961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_column_630e03fcdb880010d033df8b4b961904</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:54:11</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>380162719</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>35a8d730db0c0010d033df8b4b9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018610000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>11ce83301dc80010df15454e5251c657</update_guid>\n<update_guid_history>11ce83301dc80010df15454e5251c657:380162719,ab0e03fc6b880010a7db28b7fa891105:2090823723</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_90d93391dbb3f3c0d033df8b4b9619f2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular-pdf-viewer.min.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:07:14</sys_created_on><sys_id>90d93391dbb3f3c0d033df8b4b9619f2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-pdf-viewer.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_ui_script display_value=\"x_pisn_sp_pdf_view.angular-pdf-viewer.mi\">ece9b391dbb3f3c0d033df8b4b96194b</sys_ui_script><sys_update_name>sp_js_include_90d93391dbb3f3c0d033df8b4b9619f2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:07:14</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>1399438447</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>35a8d730db0c0010d033df8b4b9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016ba0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>angular-pdf-viewer.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>45f93391c0b3f3c0a936f5fb59d8bf56</update_guid>\n<update_guid_history>45f93391c0b3f3c0a936f5fb59d8bf56:1399438447</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_f5b9bf51dbb3f3c0d033df8b4b961955</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_sp_pdf_view.angular-pdf.min.js&lt;/name&gt;&lt;script&gt;&lt;![CDATA[/*!\n * Angular-PDF: An Angularjs directive &lt;ng-pdf&gt; to display PDF in the browser with PDFJS.\n * @version 2.0.0\n * @link https://github.com/sayanee/angular-pdf#readme\n * @license MIT License, http://www.opensource.org/licenses/MIT\n */\n!function(e,t){\"object\"==typeof exports&amp;&amp;\"object\"==typeof module?module.exports=t(require(\"angular\")):\"function\"==typeof define&amp;&amp;define.amd?define(\"pdf\",[\"angular\"],t):\"object\"==typeof exports?exports.pdf=t(require(\"angular\")):e.pdf=t(e.angular)}(this,function(e){return function(e){function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var n=e&amp;&amp;e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=\"./src/angular-pdf.module.js\")}({\"./src/angular-pdf.directive.js\":function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.NgPdf=[\"$window\",\"$document\",\"$log\",function(e,t,n){\"ngInject\";var a=function(t){var n=t.getContext(\"2d\");return(e.devicePixelRatio||1)/(n.webkitBackingStorePixelRatio||n.mozBackingStorePixelRatio||n.msBackingStorePixelRatio||n.oBackingStorePixelRatio||n.backingStorePixelRatio||1)},r=function(e,t,n){var r=a(e);return e.width=Math.floor(t*r),e.height=Math.floor(n*r),e.style.width=Math.floor(t)+\"px\",e.style.height=Math.floor(n)+\"px\",e.getContext(\"2d\").setTransform(r,0,0,r,0,0),e},o=function(e,t){angular.element(t).addClass(\"rotate0\"),e.append(t)};return{restrict:\"E\",templateUrl:function(e,t){return t.templateUrl?t.templateUrl:\"partials/viewer.html\"},link:function(a,i,l){function u(){w&amp;&amp;w.clearRect(0,0,x.width,x.height)}function s(){u();var e={url:d,withCredentials:b};f&amp;&amp;(e.httpHeaders=f),d&amp;&amp;d.length&amp;&amp;(p=PDFJS.getDocument(e),p.onProgress=a.onProgress,p.onPassword=a.onPassword,p.then(function(e){angular.isFunction(a.onLoad)&amp;&amp;a.onLoad(),h=e,a.renderPage(a.pageToDisplay),a.$apply(function(){a.pageCount=e.numPages})},function(e){e&amp;&amp;angular.isFunction(a.onError)&amp;&amp;a.onError(e)}))}var c=null,p=null,g=!1,d=a.pdfUrl,f=a.httpHeaders,h=null,P=isFinite(l.page)?parseInt(l.page):1,m=\"page-fit\"===l.scale,y=\"1\"===l.limitcanvasheight,v=l.scale&gt;0?l.scale:1,x=t[0].createElement(\"canvas\");o(i,x);var b=l.usecredentials;g=!!l.hasOwnProperty(\"debug\")&amp;&amp;l.debug;var w=x.getContext(\"2d\"),D=angular.element(e);i.css(\"display\",\"block\"),D.on(\"scroll\",function(){a.$apply(function(){a.scroll=D[0].scrollY})}),PDFJS.disableWorker=!0,a.pageNum=P,a.renderPage=function(e){c&amp;&amp;c._internalRenderTask.cancel(),h.getPage(e).then(function(e){var t=void 0,o=void 0,l=void 0;if(m){t=e.getViewport(1);var u=i[0].getBoundingClientRect();o=u.width/t.width,y&amp;&amp;(o=Math.min(o,u.height/t.height)),v=o}t=e.getViewport(v),r(x,t.width,t.height),l={canvasContext:w,viewport:t},c=e.render(l),c.promise.then(function(){angular.isFunction(a.onPageRender)&amp;&amp;a.onPageRender()}).catch(function(e){n.log(e)})})},a.goPrevious=function(){a.pageToDisplay&lt;=1||(a.pageToDisplay=parseInt(a.pageToDisplay)-1,a.pageNum=a.pageToDisplay)},a.goNext=function(){a.pageToDisplay&gt;=h.numPages||(a.pageToDisplay=parseInt(a.pageToDisplay)+1,a.pageNum=a.pageToDisplay)},a.zoomIn=function(){return m=!1,v=parseFloat(v)+.2,a.renderPage(a.pageToDisplay),v},a.zoomOut=function(){return m=!1,v=parseFloat(v)-.2,a.renderPage(a.pageToDisplay),v},a.fit=function(){m=!0,a.renderPage(a.pageToDisplay)},a.changePage=function(){a.renderPage(a.pageToDisplay)},a.rotate=function(){\"rotate0\"===x.getAttribute(\"class\")?x.setAttribute(\"class\",\"rotate90\"):\"rotate90\"===x.getAttribute(\"class\")?x.setAttribute(\"class\",\"rotate180\"):\"rotate180\"===x.getAttribute(\"class\")?x.setAttribute(\"class\",\"rotate270\"):x.setAttribute(\"class\",\"rotate0\")},a.$watch(\"pageNum\",function(e){a.pageToDisplay=parseInt(e),null!==h&amp;&amp;a.renderPage(a.pageToDisplay)}),a.$watch(\"pdfUrl\",function(e){\"\"!==e&amp;&amp;(g&amp;&amp;n.log(\"pdfUrl value change detected: \",a.pdfUrl),d=e,a.pageNum=a.pageToDisplay=P,p?p.destroy().then(function(){s()}):s())})}}}]},\"./src/angular-pdf.module.js\":function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Pdf=void 0;var a=n(0),r=function(e){return e&amp;&amp;e.__esModule?e:{default:e}}(a),o=n(\"./src/angular-pdf.directive.js\"),i=t.Pdf=r.default.module(\"pdf\",[]).directive(\"ngPdf\",o.NgPdf).name;t.default=i},0:function(t,n){t.exports=e}})});\n//# sourceMappingURL=angular-pdf.min.js.map]]&gt;&lt;/script&gt;&lt;script_name&gt;angular-pdf.min.js&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-09 16:06:27&lt;/sys_created_on&gt;&lt;sys_id&gt;f5b9bf51dbb3f3c0d033df8b4b961955&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_sp_pdf_view.angular-pdf.min.js&lt;/sys_name&gt;&lt;sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP PDF Viewer\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_f5b9bf51dbb3f3c0d033df8b4b961955&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-09 16:06:27&lt;/sys_updated_on&gt;&lt;ui_type&gt;10&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-43000776</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>35a8d730db0c0010d033df8b4b9619dc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40167c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view.angular-pdf.min.js</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>e1c9ff51bcb3f3c0ba8c64567eeba78b</update_guid>\n<update_guid_history>e1c9ff51bcb3f3c0ba8c64567eeba78b:-43000776</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_4d7ec3fcdb880010d033df8b4b9619ec</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">630e03fcdb880010d033df8b4b961904</sp_column><sp_widget display_value=\"SP PDF Viewer Lite\">758c83f8db880010d033df8b4b96199f</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:55:55</sys_created_on><sys_id>4d7ec3fcdb880010d033df8b4b9619ec</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_instance_4d7ec3fcdb880010d033df8b4b9619ec</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:55:55</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4d7ec3fcdb880010d033df8b4b9619ec\"/></record_update>]]></payload>\n<payload_hash>1916805893</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>39a8d730db0c0010d033df8b4b9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018510000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>d4ce8330bcc80010db830360f1a3c128</update_guid>\n<update_guid_history>d4ce8330bcc80010db830360f1a3c128:1916805893,097e0ffcfb880010f8cc6ff2ccbc20f8:1624046969</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_f018b3dddb73f3c0d033df8b4b961909</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PdfViewerController(pdfDelegate, $timeout) {\n  var c = this;\n  c.$onInit = function() {\n    if (c.data.url.length == 0) return;\n    $timeout(function() {\n      c.pdf = pdfDelegate.$getByHandle(\"my-pdf-container\");\n      if (c.isMobile) {\n        c.pdf.zoomTo((0.5 * 356) / 307 + \"\");\n      }\n    }, 250);\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.x_pisn_sp_pdf_view {&amp;#13;\n  overflow: hidden;&amp;#13;\n  overflow-x: auto;&amp;#13;\n  overflow-y: auto;&amp;#13;\n  text-align: center;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.pdf-viewer-modal {&amp;#13;\n  margin-bottom: -7px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.left a {&amp;#13;\n  margin-right: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\ninput {&amp;#13;\n  color: $brand-primary;&amp;#13;\n  height: 19px;&amp;#13;\n  padding: 0;&amp;#13;\n  border: 0;&amp;#13;\n  background-color: rgba(245, 245, 245, 1);&amp;#13;\n  border-radius: 4px;&amp;#13;\n  text-align: center;&amp;#13;\n  min-width: 20px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n@media (max-width: 760px) {&amp;#13;\n  div.mb2 {&amp;#13;\n    text-align: left;&amp;#13;\n    padding: 0px 10px;&amp;#13;\n  }&amp;#13;\n  .left a {&amp;#13;\n    margin-right: 10px;&amp;#13;\n  }&amp;#13;\n  .check-mobile {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x_pisn_sp_pdf_view&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {\n  controller.isMobile = false;\n  if ($(\"#check-mobile\").css(\"display\") == \"none\") {\n    controller.isMobile = true;\n  }\n\n  $(document).ready(function() {\n    scope.$watch(scope, function(newValues, oldValues, scope) {\n      setTimeout(function() {\n        var toolbar = $(\"body\").find(\"pdf-viewer-toolbar\");\n        toolbar.find(\"input\").each(function() {\n          var value = $(this).val();\n          var size = value.length;\n          $(this).css(\"width\", size * 3);\n        });\n        toolbar.find(\"input\").keyup(function() {\n          var value = $(this).val();\n          var size = value.length;\n          size = size * 4;\n          $(this).css(\"width\", size * 3);\n        });\n      }, 550);\n    });\n  });\n}\n]]&gt;&lt;/link&gt;&lt;name&gt;SP PDF Viewer&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  input = input || {};\n  data.sys_id = options.sys_id || input.sys_id || $sp.getParameter(\"sys_id\");\n  options.modal = options.modal || input.modal || false;\n  data.url = \"\";\n  if (!data.sys_id) return;\n  var gr = new GlideRecord(\"sys_attachment\");\n  if (gr.get(data.sys_id)) {\n    data.url = \"/sys_attachment.do?view=true&amp;sys_id=\" + data.sys_id;\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-09 16:03:31&lt;/sys_created_on&gt;&lt;sys_id&gt;f018b3dddb73f3c0d033df8b4b961909&lt;/sys_id&gt;&lt;sys_mod_count&gt;174&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP PDF Viewer&lt;/sys_name&gt;&lt;sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP PDF Viewer\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_f018b3dddb73f3c0d033df8b4b961909&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-20 09:51:17&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div\n  class=\"x_pisn_sp_pdf_view\"\n  ng-if=\"c.data.url.length&gt;0\"\n  ng-class=\"{'pdf-viewer-modal': c.options.modal}\"\n&gt;\n  &lt;pdf-viewer\n    delegate-handle=\"my-pdf-container\"\n    url=\"c.data.url\"\n    scale=\"0.90\"\n    show-toolbar=\"true\"\n  &gt;\n  &lt;/pdf-viewer&gt;\n  &lt;div id=\"check-mobile\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1404239650</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>39a8d730db0c0010d033df8b4b9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018270000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>SP PDF Viewer</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>516d477c7e880010692992a4a41ab964</update_guid>\n<update_guid_history>516d477c7e880010692992a4a41ab964:1404239650,9e5dcb7c798800102416c8d790969a4f:-1546436344,975a507e1c77b30499ec7fe2749008f2:1404239650,2dc9d03eae77b30430ab903ae8e6fe77:1997938674,0889d4fa6a77b30447495a1ea1c27286:-804895625,4859d4fa6777b3044682974027a5921f:-433888291,38b8d4ba5177b3046d21b8b72a691bbb:1545496410,ba22d8324577b30481e01d191549060c:550954958,d10210325b77b304e0793adc92b9fe48:-1802630720,d3915cfe2b37b304f6e51e690e73aad3:357230786,826158fe2637b30419ec2f44fa4b2840:57395038,1f70907e8937b3045de2634219156081:1984864245,0c601b12b53b33046a13d445f4f79850:902470854,3cef0b12f73b330413452a92568367d7:605885265,a96fcfdec8f73304915c1024c678da9d:1958190793,9e3f039ab8f73304467fa4523cd6a5a6:1751125589,bf0f8bdefcf73304344b8aee342417bc:-2076519721,61ae0f5e8ef73304a3fe2ee07d4a733f:-13307344,7fad875e14f733043213ee07d4d2e730:658417636,167dc71ebef73304a8a57c53325662b5:-441607897,8accc71e96f73304e3f4822f0c9857ad:2124438900,3f990f960df73304703dc02f8c2713b2:1308682220,50f7c756eaf73304c3066576667e06d9:-202418856,c1c5079262f7330407435b526195aeee:1716280088,6f95839a17b733048ed0a2ff7fa49dcb:896147385,a9dffa5a2eb73304ab90e059ade46e88:-1727425641,907f3e1a77b7330466fc2b1c2fc9c34d:-1870287054,3c6f7a1a58b7330436e84153ed8752b5:1219021104,073f321a13b73304ba0fed1c2a1e3381:383452228,67fe761a0db73304471dd5b94ffea960:-2005175977,98de321ae9b7330475fe404db625f477:-1912932507,09bebad64eb73304cf3b532f64e44c48:1592368242,a18e7ad63fb73304f6dd5b3635ea66c4:-1508745503,f20ef29256b733044bdbbd4ea9dadcca:-214129380,c92cf216f5b733042c4bbdffd7110ba5:553181668,747b3692bab733041593aa33ede2e296:1250004516,62ca729299b733048eafcb4428be84f6:113088894,e45a365250b73304b1af2296e55cfd8a:-477583522,632af252e3b733048829d2ca9d136ced:-2111366401,ff1afa124fb7330465b5769cacc70fbd:197480934,4ff97e12f9b733047eb47ce1d353fd29:-2016440897,11e97e1257b733042c2dca106bf28313:100189855,9cd9f6de4c77330486ee69b14f829a0f:161895647,e259f2defe77330487e0ea3b4190ec7e:300820344,e7b8b2de7077330470f747addec92e90:1427181076,e2a87e9e5d7733042026fd6056fc2830:-882112042,6c78f69e5b7733044c9ca8b33c48240d:-333204686,0248769ecc7733048ce1b473559f1321:2136430784,5538369e4b773304f0b076b20a1ed5f3:411575058,6e187e5e8b77330495613dfc6a13806f:1635994974,6ce73e5e14773304fc927473dddb89f0:82504597,3d377e1ef1773304b8059128d61bb4c6:-370771317,a317721eb4773304f0b7d9b168f4cb42:1585610621,fba6ba1a377733049c869409666cc52e:2105738830,9ae57e9a99773304de2668b468535581:75836101,a1d5b21a4c773304ee81f9036cde24ff:1400700116,d9443ed6f0773304e3247f28417b2524:-866561195,dff3b21ab4773304263b2cbfb446fff5:-430365513,39b33ed675773304fdab34c40a7f6f1b:-272828277,3483f65673773304f1ec4ca9dfde9da4:-1527897874,c9f2ba9635773304e73f50f14228f360:-303219600,74f1b216f1773304c8e9c2a002c33db3:-660473316,70517216fa773304470647a18b506dff:-1937678063,da90be92087733048b34f3269b58c2d3:-2110225760,4fbeaede46373304461ad70f85d240fa:65064971,d7df8eca07fbbfc0820c06db3a180811:-1366129390,f2bdca0a44fbbfc04191aec27bf3e099:48450560,c06c82868bfbbfc0f936d22c25e122a9:-994994207,bdeb0a069dfbbfc0976db897a0d03ac3:-1822037767,d1fac206d7fbbfc028b555ffd49a510a:-968029823,e8ba82068ffbbfc0dbe3a61eb32fa224:1106028824,393a0e82cffbbfc053146569c7c934b4:1126281760,6f1a06c289fbbfc03b58cc513c80977d:1881903585,fac90e8283fbbfc006e8df442b7bc8ac:-800070048,19c94682b3fbbfc05f8c52ff666a5599:1810945283,9089028255fbbfc0524be2aba5a5a730:-1612894131,d379e5c20b3bbfc03d36ded8b2047c2f:-1751459930,fe5929066f3bbfc04b2a7820b6b4b7a0:-1902558315,c798a5c2e13bbfc01635e989f42fe49a:152475137,4d182982e23bbfc0eaed39238940381a:-780461727,6a51f4466ef3bfc0063563f041b1540f:-618018858,30b03c066af3bfc0ea9fc52196a1bf19:172914032,01ffe8c2f7f3bfc080517f4123e17d47:1265437458,2c6f2c8209f3bfc0c7d6d3f4888e61ff:393634731,2f1f6c4273f3bfc0be4c914f38bfa345:-716622376,f3feec0245f3bfc0fbba2b5c5e0e86de:1610609553,c4bea44283f3bfc0a7833dfeecf4bd96:-546624436,b85ee04234f3bfc0827efe789ee48e34:1022110636,325be80e6ab3bfc0e78147c878388210:-508469503,015ba80e38b3bfc022090c95c709dd80:72613049,c33b280ed3b3bfc0efcfc73dd376aa8c:-1562431528,af2b280e0fb3bfc04327d3ebb7b27d31:1405879551,b90b6ccaafb3bfc08cf94fe833ff4879:1588797151,f4eaac8a78b3bfc0826fa2b4f362b77f:-751402597,4815a4c240b3bfc0f3e5af925cb168ca:-940394814,940564c226b3bfc06d6122b98839385a:1197169072,36e4e0c22ab3bfc011dd0762e1655adc:761281719,f6946442fcb3bfc0503efefb5e5f168e:1875849898,9564ec0204b3bfc0c8e80334fd110604:-1174993692,f534e80225b3bfc06ffc06a4717d6908:-1879572727,ee04680254b3bfc092974dc90b5192c6:-352905011,e3d364021cb3bfc0c6756d0101659d11:316693512,ab93a4ce4973bfc0ec161efd5104bee4:984768968,b2dc60b5baff37c0b747dee55a585e40:-940394814,9142e8757cbf37c00c211e1b040c1de4:-1719553711,0912ac75debf37c0cc06faf036669d19:2056783799,1de16875d2bf37c04d9a02475dd4116d:1114789125,74b1a075e0bf37c09f1c0467c5dadea6:-1949986372,d371e8f1e1bf37c0f882330768523ef7:-1461700251,720164359dbf37c0db86195aa09f52a0:-1595369456,ff002cb128bf37c0e6618de95e06a2f0:1406328078,a1de583152bf37c0a0645046bd387cfe:-1467934387,f2ae5831d1bf37c0d93ba038ff1d13f4:-1123689129,79aed4fdab7f37c02405351a4f056b48:326676987,92eac4bd2ffb37c0269d6805a137fad3:-368344135,58ad7b694abb37c0f950c123cfb37699:-272393945,5b6d33a94dbb37c025caebf104478292:-1732561421,068cbfe5f2bb37c0fea49ca0ffa38cdc:2078439230,fa6a7fe160bb37c0ed40fbd364eeb1f4:-553164416,59597be1f0bb37c07a8f30641a6b0f5f:-857136776,3ef7b7adcf7b37c06d83bb85292db1f3:785474588,21a4b72dc67b37c0959bc8d3a35ed9c0:-12756216,cf74b32dfd7b37c0af302289d31ffc17:-836096378,a4095de1c9fbf3c03317edb34057b2ac:-875094848,f358d1e1fcfbf3c0dd9772e9723434ba:-1101158294,244855e1b7fbf3c03d6595f178e2b9ee:-301098100,9d2899a133fbf3c01ffb95a4ca4dc86f:-71472207,9cc79d61e1fbf3c0176a1f7b20015ffb:-858402498,72779d61effbf3c0d3ea6231184e50a5:1764606461,9957d5615efbf3c0a6acde52d28d428f:2049125090,5307d56182fbf3c0bbabbc5f5e4aad88:1322172346,77d699edc5bbf3c0fed371ee075f1e5a:-1226798694,7a66d52128fbf3c0acdd55d7c2582ca3:1037653717,38d591ed4cbbf3c0d2b98cbe3a349060:784329109,c78551ed60bbf3c0ea8b4cd55c1f4449:-1119678211,be34dd295cbbf3c039ba5b7fc6dc43d0:-1529552511,15b3d12d73bbf3c062bb6fa3b15db82f:1533321395,94a39de926bbf3c0ddb65d3da9a6dc93:1902080051,90839169abbbf3c0a55e63cdeaad1fab:675612341,7b9199297dbbf3c0eeb3a2e971e06b9c:1484982743,e26191e171bbf3c08a069f433222cd12:-1838972936,fa29052d2a7bf3c0e046cccff55ec98c:1336619639,17ff786d8f3bf3c087ca0e114829bb54:1018124920,f3ce306d613bf3c0147daa4da92c6384:-1968919593,5d3d34a9923bf3c07ef9534e99753ea9:-1104573978,0b1df4a9283bf3c010dcc9326252d1c2:1612262731,9efcf869093bf3c0dde30a95d77727dc:565238989,573c70698a3bf3c00b7757b099eb60fd:-1134525761,c7fbf829f13bf3c0b3a225f472ec4caa:549547525,56db3829183bf3c0160203b418af8a15:-139232254,4a1bf0e5393bf3c0ad2ecf71e5066732:-694996084,d0fabc65343bf3c0634478632e07ddea:-2129388412,8b8abc653a3bf3c093c8b1aac65c6879:1761348984,bd2a7c65fc3bf3c0fb06f597913f0bdc:-21009526,51d74ca936f3f3c0765db19111ab1eaf:-1477129143,c4a74c6979f3f3c0bc5f767563fba4c8:2146778739,c86780a9f2f3f3c0b315828b2e857582:798323329,ca270c694df3f3c0afe2374192b3c1e2:2132692,4917c8699ef3f3c0eee0c91ec50e2d1e:1023704328,d67644299bf3f3c0d1569c18cf76625f:-84562773,f15604293cf3f3c0ad0ca35482449e1e:1218973167,853640298df3f3c036c0648cbff58ed8:97519202,f316c8e543f3f3c0ea6a33bbfc313817:-1566327713,1fc508e5cdf3f3c0debcad0f6c9b69de:-390124387,02b5cc65ccf3f3c07557f17d643b6d62:1599701690,89c444652af3f3c0f026e9bc3ea6284b:-771956344,5ea48865bbf3f3c008ebed877326ff53:837974790,1e84846501f3f3c01fd28501b4f00efd:-854225798,2074846570f3f3c0bf937950c180cf9f:283685528,435404654bf3f3c083ade910e970a433:-632276155,e16188217af3f3c0ac212612c77a2e66:-581322024,a151c4215af3f3c0a36d16dee116a381:1872633130,654180eddfb3f3c0fdcd6cf3a361ad1e:-1469132533,2531c0210af3f3c08a0d8421d8afc4fa:191737101,6e197f1105b3f3c03ae39313cb3a2182:-183721486</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_4d89f351dbb3f3c0d033df8b4b96190a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"x_pisn_sp_pdf_view PDF.js\">91397f11dbb3f3c0d033df8b4b9619c9</sp_dependency><sp_js_include display_value=\"https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js\">2769f351dbb3f3c0d033df8b4b961904</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:05:19</sys_created_on><sys_id>4d89f351dbb3f3c0d033df8b4b96190a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js.https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>m2m_sp_dependency_js_include_4d89f351dbb3f3c0d033df8b4b96190a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:05:19</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-652310917</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>39a8d7fcdbc80010d033df8b4b9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016440000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js.https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c1893b510eb3f3c0243dea96c6610fe1</update_guid>\n<update_guid_history>c1893b510eb3f3c0243dea96c6610fe1:-652310917</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_bf3afb15dbb3f3c0d033df8b4b961974</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>PDF Viewer - Container 2</name><order>2</order><sp_page display_value=\"x_pisn_sp_pdf_view\">1a1a3b91dbb3f3c0d033df8b4b961952</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:08:31</sys_created_on><sys_id>bf3afb15dbb3f3c0d033df8b4b961974</sys_id><sys_mod_count>2</sys_mod_count><sys_name>PDF Viewer - Container 2</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_container_bf3afb15dbb3f3c0d033df8b4b961974</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:16:49</sys_updated_on><title/><width>container-fluid</width></sp_container></record_update>]]></payload>\n<payload_hash>-1669604977</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>3da8d730db0c0010d033df8b4b9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40173c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>PDF Viewer - Container 2</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>e52c7bd58fb3f3c02842c9a76a7b1ef1</update_guid>\n<update_guid_history>e52c7bd58fb3f3c02842c9a76a7b1ef1:-1669604977,af5afb1569b3f3c01d0cd29f279c32df:-924789330,ff3afb1501b3f3c0b71887967a49fb76:-1983407605</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_922cf319dbb3f3c0d033df8b4b96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"PDF Viewer - Container 1\">612c7bd5dbb3f3c0d033df8b4b9619ee</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:16:52</sys_created_on><sys_id>922cf319dbb3f3c0d033df8b4b96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_row_922cf319dbb3f3c0d033df8b4b96190b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:16:52</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1246513439</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>3da8d730db0c0010d033df8b4b9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40177c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>922cf319f8b3f3c0a3e410bfd76ff10c</update_guid>\n<update_guid_history>922cf319f8b3f3c0a3e410bfd76ff10c:1246513439</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_2d3cf319dbb3f3c0d033df8b4b9619c2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"\">213cf319dbb3f3c0d033df8b4b9619c1</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:17:06</sys_created_on><sys_id>2d3cf319dbb3f3c0d033df8b4b9619c2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_column_2d3cf319dbb3f3c0d033df8b4b9619c2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:17:06</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>897454452</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>71a8d730db0c0010d033df8b4b9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40179f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>233c77193ab3f3c0b14b9a3039e97fc3</update_guid>\n<update_guid_history>233c77193ab3f3c0b14b9a3039e97fc3:897454452,a53c37190ab3f3c0b2c0f5c7d2596abc:-216051665</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_86a93f51dbb3f3c0d033df8b4b96190b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>angular-pdf.min.js</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:06:30</sys_created_on><sys_id>86a93f51dbb3f3c0d033df8b4b96190b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>angular-pdf.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_ui_script display_value=\"x_pisn_sp_pdf_view.angular-pdf.min.js\">f5b9bf51dbb3f3c0d033df8b4b961955</sys_ui_script><sys_update_name>sp_js_include_86a93f51dbb3f3c0d033df8b4b96190b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:06:30</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1156904290</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>71a8d730db0c0010d033df8b4b9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40168b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>angular-pdf.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>5ec9ff5119b3f3c02b52fb29f2c07c8e</update_guid>\n<update_guid_history>5ec9ff5119b3f3c02b52fb29f2c07c8e:-1156904290</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_ece9b391dbb3f3c0d033df8b4b96194b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_sp_pdf_view.angular-pdf-viewer.mi&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function delegateService(e){return[\"$log\",function(t){function n(e){this.handle=e}var a=this,o=this._instances=[];this._registerInstance=function(e,t){return e.$$delegateHandle=t,o.push(e),function(){var t=o.indexOf(e);-1!==t&amp;&amp;o.splice(t,1)}},this.$getByHandle=function(e){return e?new n(e):a},e.forEach(function(e){n.prototype[e]=function(){var n,a,r=this.handle,l=arguments,u=0;return o.forEach(function(t){t.$$delegateHandle===r&amp;&amp;(u++,a=t[e].apply(t,l),1===u&amp;&amp;(n=a))}),u?n:t.warn('Delegate for handle \"'+this.handle+'\" could not find a corresponding element with delegate-handle=\"'+this.handle+'\"! '+e+\"() was not called!\\nPossible cause: If you are calling \"+e+'() immediately, and your element with delegate-handle=\"'+this.handle+'\" is a child of your controller, then your element may not be compiled yet. Put a $timeout around your call to '+e+\"() and try again.\")},a[e]=function(){var t,n,a=arguments;return o.forEach(function(o,r){n=o[e].apply(o,a),0===r&amp;&amp;(t=n)}),t}})}]}angular.module(\"pdf\",[]).service(\"pdfDelegate\",delegateService([\"prev\",\"next\",\"zoomIn\",\"zoomOut\",\"zoomTo\",\"rotate\",\"getPageCount\",\"getCurrentPage\",\"goToPage\",\"load\"])),angular.module(\"pdf\").controller(\"PdfCtrl\",[\"$scope\",\"$element\",\"$attrs\",\"pdfDelegate\",\"$log\",\"$q\",function(e,t,n,a,o,r){var l=a._registerInstance(this,n.delegateHandle);e.$on(\"$destroy\",l);var u,i=this,c=e.$eval(n.url),d=e.$eval(n.headers);e.pageCount=0;var g=1,s=0,f=n.scale?n.scale:1,p=t.find(\"canvas\")[0],h=p.getContext(\"2d\"),m=function(t){angular.isNumber(t)||(t=parseInt(t)),!isFinite(t)||0&gt;=t||t&gt;e.pageCount||null===u||angular.isUndefined(u)||u.getPage(t).then(function(e){var t=e.getViewport(f);p.height=t.height,p.width=t.width;var n={canvasContext:h,viewport:t};e.render(n)})},v=function(){p.style.webkitTransform=\"rotate(\"+s+\"deg)\",p.style.MozTransform=\"rotate(\"+s+\"deg)\",p.style.msTransform=\"rotate(\"+s+\"deg)\",p.style.OTransform=\"rotate(\"+s+\"deg)\",p.style.transform=\"rotate(\"+s+\"deg)\"};i.prev=function(){1&gt;=g||(g=parseInt(g,10)-1,m(g))},i.next=function(){g&gt;=u.numPages||(g=parseInt(g,10)+1,m(g))},i.zoomIn=function(e){return e=e||.2,f=parseFloat(f)+e,m(g),f},i.zoomOut=function(e){return e=e||.2,f=parseFloat(f)-e,f=f&gt;0?f:.1,m(g),f},i.zoomTo=function(e){return e=e?e:1,f=parseFloat(e),m(g),f},i.rotate=function(){s=0===s?90:90===s?180:180===s?270:0,v()},i.getPageCount=function(){return e.pageCount},i.getCurrentPage=function(){return g},i.goToPage=function(e){null===u||angular.isUndefined(u)||(g=e,m(e))},i.load=function(t){t&amp;&amp;(c=t);var n={};return\"string\"==typeof c?n.url=c:n.data=c,d&amp;&amp;(n.httpHeaders=d),PDFJS.getDocument(n).then(function(t){u=t,e.$apply(function(){e.pageCount=t.numPages,m(1)})},function(e){return o.error(e),r.reject(e)})},c&amp;&amp;i.load()}]),angular.module(\"pdf\").directive(\"pdfViewerToolbar\",[\"pdfDelegate\",function(e){return{restrict:\"E\",template:'&lt;div class=\"clearfix mb2 white bg-blue\"&gt;&lt;div class=\"left\"&gt;&lt;a href=\"\"ng-click=\"prev()\"class=\"button py2 m0 button-nav-dark\"&gt;Back&lt;/a&gt;&lt;a href=\"\"ng-click=\"next()\"class=\"button py2 m0 button-nav-dark\"&gt;Next&lt;/a&gt;&lt;a href=\"\"ng-click=\"zoomIn()\"class=\"button py2 m0 button-nav-dark\"&gt;Zoom In&lt;/a&gt;&lt;a href=\"\"ng-click=\"zoomOut()\"class=\"button py2 m0 button-nav-dark\"&gt;Zoom Out&lt;/a&gt;&lt;a href=\"\"ng-click=\"rotate()\"class=\"button py2 m0 button-nav-dark\"&gt;Rotate&lt;/a&gt;&lt;span class=\"px1\"&gt;Page&lt;/span&gt; &lt;input type=\"text\" class=\"field-dark\" min=1 ng-model=\"currentPage\" ng-change=\"goToPage()\" style=\"width: 10%\"&gt;  / {{pageCount}}&lt;/div&gt;&lt;/div&gt;',scope:{pageCount:\"=\"},link:function(t,n,a){var o=a.delegateHandle;t.currentPage=1,t.prev=function(){e.$getByHandle(o).prev(),r()},t.next=function(){e.$getByHandle(o).next(),r()},t.zoomIn=function(){e.$getByHandle(o).zoomIn()},t.zoomOut=function(){e.$getByHandle(o).zoomOut()},t.rotate=function(){e.$getByHandle(o).rotate()},t.goToPage=function(){e.$getByHandle(o).goToPage(t.currentPage)};var r=function(){t.currentPage=e.$getByHandle(o).getCurrentPage()}}}}]),angular.module(\"pdf\").directive(\"pdfViewer\",[\"$window\",\"$log\",\"pdfDelegate\",function(){return{restrict:\"E\",template:'&lt;pdf-viewer-toolbar ng-if=\"showToolbar\" delegate-handle=\"{{id}}\" page-count=\"pageCount\"&gt;&lt;/pdf-viewer-toolbar&gt;&lt;canvas&gt;&lt;/canvas&gt;',scope:!0,controller:\"PdfCtrl\",link:function(e,t,n){e.id=n.delegateHandle,e.showToolbar=e.$eval(n.showToolbar)||!1}}}]);]]&gt;&lt;/script&gt;&lt;script_name&gt;angular-pdf-viewer.min.js&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-09 16:07:11&lt;/sys_created_on&gt;&lt;sys_id&gt;ece9b391dbb3f3c0d033df8b4b96194b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_sp_pdf_view.angular-pdf-viewer.mi&lt;/sys_name&gt;&lt;sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP PDF Viewer\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_ece9b391dbb3f3c0d033df8b4b96194b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-09 16:07:11&lt;/sys_updated_on&gt;&lt;ui_type&gt;10&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1404721574</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>71a8d730db0c0010d033df8b4b9619dc</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016ab0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view.angular-pdf-viewer.mi</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>98f933917eb3f3c062393570878bf9fc</update_guid>\n<update_guid_history>98f933917eb3f3c062393570878bf9fc:1404721574</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_b18cc7f8db880010d033df8b4b961980</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"x_pisn_sp_pdf_view PDF.js\">91397f11dbb3f3c0d033df8b4b9619c9</sp_dependency><sp_widget display_value=\"SP PDF Viewer Lite\">758c83f8db880010d033df8b4b96199f</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:47:30</sys_created_on><sys_id>b18cc7f8db880010d033df8b4b961980</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js.Copy of SP PDF Viewer</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>m2m_sp_widget_dependency_b18cc7f8db880010d033df8b4b961980</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:47:30</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1239954069</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>71a8d7fcdbc80010d033df8b4b9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017ed0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js.Copy of SP PDF Viewer</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>318cc7f843880010ac29aebfd55e8482</update_guid>\n<update_guid_history>318cc7f843880010ac29aebfd55e8482:-1337652719</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_3c4c7719dbb3f3c0d033df8b4b9619c9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">9e2cf319dbb3f3c0d033df8b4b96190c</sp_column><sp_widget display_value=\"SP PDF Viewer List\">0c7a7355dbb3f3c0d033df8b4b96197b</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:17:19</sys_created_on><sys_id>3c4c7719dbb3f3c0d033df8b4b9619c9</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_instance_3c4c7719dbb3f3c0d033df8b4b9619c9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:17:19</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=3c4c7719dbb3f3c0d033df8b4b9619c9\"/></record_update>]]></payload>\n<payload_hash>800777953</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>75a8d730db0c0010d033df8b4b9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017c70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>b44c77199cb3f3c0de2b72091b6040cb</update_guid>\n<update_guid_history>b44c77199cb3f3c0de2b72091b6040cb:800777953</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_758c83f8db880010d033df8b4b96199f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function PdfViewerController(pdfDelegate, $timeout) {\n  var c = this;\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.left a {&amp;#13;\n  margin-right: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.mb2 {&amp;#13;\n  margin-bottom: 5px;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x_pisn_sp_pdf_view_lite&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {\n}\n]]&gt;&lt;/link&gt;&lt;name&gt;SP PDF Viewer Lite&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  input = input || {};\n  data.sys_id = options.sys_id || input.sys_id || $sp.getParameter(\"sys_id\");\n  data.url = \"\";\n  if (!data.sys_id) return;\n  var gr = new GlideRecord(\"sys_attachment\");\n  if (gr.get(data.sys_id)) {\n    data.url = \"/sys_attachment.do?view=true&amp;sys_id=\" + data.sys_id;\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-20 09:47:30&lt;/sys_created_on&gt;&lt;sys_id&gt;758c83f8db880010d033df8b4b96199f&lt;/sys_id&gt;&lt;sys_mod_count&gt;5&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP PDF Viewer Lite&lt;/sys_name&gt;&lt;sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP PDF Viewer\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_758c83f8db880010d033df8b4b96199f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-20 10:13:06&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div\n  class=\"x_pisn_sp_pdf_view\"\n  ng-if=\"c.data.url.length&gt;0\"\n&gt;\n  &lt;pdf-viewer\n    delegate-handle=\"my-pdf-container\"\n    url=\"c.data.url\"\n    scale=\"1\"\n    show-toolbar=\"true\"\n  &gt;\n  &lt;/pdf-viewer&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2011474607</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>75a8d730db0c0010d033df8b4b9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40191b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>SP PDF Viewer Lite</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>bc6253346bc80010c92c4a5963655951</update_guid>\n<update_guid_history>bc6253346bc80010c92c4a5963655951:-2011474607,6c11dff0ebc80010a6b4fb4372b614db:1832564294,cf5dcb7c75880010c3b0ba585d86a853:1780001380,b1fc833c5788001005b776e160c56d09:1663773614,719c4bf836880010349a11516a78220d:1822570393,b98cc7f82c8800103c481130e843e07e:-631087151</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_4799fb51dbb3f3c0d033df8b4b961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"x_pisn_sp_pdf_view PDF.js\">91397f11dbb3f3c0d033df8b4b9619c9</sp_dependency><sp_js_include display_value=\"https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js\">b989b751dbb3f3c0d033df8b4b9619b7</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:05:44</sys_created_on><sys_id>4799fb51dbb3f3c0d033df8b4b961904</sys_id><sys_mod_count>1</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js.https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>m2m_sp_dependency_js_include_4799fb51dbb3f3c0d033df8b4b961904</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:05:49</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-796615235</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>75a8d7fcdbc80010d033df8b4b9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40165c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js.https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>90a9bb5115b3f3c0c53c25cb1a8da677</update_guid>\n<update_guid_history>90a9bb5115b3f3c0c53c25cb1a8da677:-796615235,0b99fb5164b3f3c0236f3a46192ceb05:1217365948</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_940fcb30dbc80010d033df8b4b9619d0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>PDF Viewer Lite - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_pdf_view_lite\">36ee4730dbc80010d033df8b4b96197d</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:58:20</sys_created_on><sys_id>940fcb30dbc80010d033df8b4b9619d0</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PDF Viewer Lite - Container 1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_container_940fcb30dbc80010d033df8b4b9619d0</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:58:32</sys_updated_on><title/><width>container-fluid</width></sp_container></record_update>]]></payload>\n<payload_hash>1711319374</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>79a8d730db0c0010d033df8b4b9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018e80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>PDF Viewer Lite - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>270f0f3058c800100e35672c5f4397d1</update_guid>\n<update_guid_history>270f0f3058c800100e35672c5f4397d1:1711319374,580fcb30f2c80010a8f3de01ff8403d1:565618091</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_710f4330dbc80010d033df8b4b9619bf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"PDF Viewer Lite - Container 1\">940fcb30dbc80010d033df8b4b9619d0</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:58:26</sys_created_on><sys_id>710f4330dbc80010d033df8b4b9619bf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_row_710f4330dbc80010d033df8b4b9619bf</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:58:26</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1521483509</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>79a8d730db0c0010d033df8b4b9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018d50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>b10f433001c80010754f0b5a3a52a2c0</update_guid>\n<update_guid_history>b10f433001c80010754f0b5a3a52a2c0:1521483509</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_a04afb15dbb3f3c0d033df8b4b96198b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"DELETE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">e84afb15dbb3f3c0d033df8b4b961988</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:08:34</sys_created_on><sys_id>a04afb15dbb3f3c0d033df8b4b96198b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_column_a04afb15dbb3f3c0d033df8b4b96198b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:08:34</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>366184149</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>7da8d730db0c0010d033df8b4b9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016eb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>9b4afb15d2b3f3c0a9fa09e854b5f9d6</update_guid>\n<update_guid_history>9b4afb15d2b3f3c0a9fa09e854b5f9d6:366184149,644afb15ceb3f3c016b9f06b3cfe9dd7:2076845153</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_36ee4730dbc80010d033df8b4b96197d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_pdf_view_lite</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:58:17</sys_created_on><sys_id>36ee4730dbc80010d033df8b4b96197d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_pdf_view_lite</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_page_36ee4730dbc80010d033df8b4b96197d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:58:17</sys_updated_on><title>PDF Viewer Lite</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=36ee4730dbc80010d033df8b4b96197d\"/></record_update>]]></payload>\n<payload_hash>1520637958</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>7da8d730db0c0010d033df8b4b9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018ab0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view_lite</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>b7fe8b3058c80010b1e2e9669f6f61a3</update_guid>\n<update_guid_history>b7fe8b3058c80010b1e2e9669f6f61a3:1520637958</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_41f93391dbb3f3c0d033df8b4b961957</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>400</order><sp_dependency display_value=\"x_pisn_sp_pdf_view PDF.js\">91397f11dbb3f3c0d033df8b4b9619c9</sp_dependency><sp_js_include display_value=\"angular-pdf-viewer.min.js\">90d93391dbb3f3c0d033df8b4b9619f2</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:07:14</sys_created_on><sys_id>41f93391dbb3f3c0d033df8b4b961957</sys_id><sys_mod_count>1</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js.angular-pdf-viewer.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>m2m_sp_dependency_js_include_41f93391dbb3f3c0d033df8b4b961957</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:07:23</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-1489766075</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>7da8d7fcdbc80010d033df8b4b9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016c60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js.angular-pdf-viewer.min.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>9ff9f39145b3f3c0f62cdfe7f3a643ec</update_guid>\n<update_guid_history>9ff9f39145b3f3c0f62cdfe7f3a643ec:-1489766075,05f9339101b3f3c0e47d1cc3b3f65f58:-670840830</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_361f4f30dbc80010d033df8b4b961964</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">fd0f4330dbc80010d033df8b4b9619c0</sp_column><sp_widget display_value=\"SP PDF Viewer Lite\">758c83f8db880010d033df8b4b96199f</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:58:46</sys_created_on><sys_id>361f4f30dbc80010d033df8b4b961964</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_instance_361f4f30dbc80010d033df8b4b961964</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:58:46</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=361f4f30dbc80010d033df8b4b961964\"/></record_update>]]></payload>\n<payload_hash>230198589</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>b1a8d730db0c0010d033df8b4b9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4019090000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>fa1f4f3008c80010ce06399bfc0b5c65</update_guid>\n<update_guid_history>fa1f4f3008c80010ce06399bfc0b5c65:230198589</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0c7a7355dbb3f3c0d033df8b4b96197b</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function SpPDFViewerListController(spModal) {\n  var c = this;\n  function capitalizeFirstLetter(string) {\n    return string.charAt(0).toUpperCase() + string.slice(1);\n  }\n  c.selectDoc = function(doc) {\n    c.show = true;\n    spModal.open({\n      widget: \"x_pisn_sp_pdf_view\",\n      widgetInput: {\n        sys_id: doc.sys_id,\n        modal: true\n      },\n      size: \"lg\",\n      title: capitalizeFirstLetter(\n        doc.name\n          .replace(\".pdf\", \"\")\n          .replace(\".PDF\", \"\")\n          .replace(new RegExp(\"\\\\-\", \"gm\"), \" \")\n          .replace(new RegExp(\"\\\\_\", \"gm\"), \" \")\n      ),\n      buttons: [],\n      footerStyle: {\n        display: \"none\"\n      }\n    });\n    c.adaptModal();\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;/* Smartphones ----------- */\n@media (max-width: 760px) {\n  #check-mobile { display: none; }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x_pisn_sp_pdf_view_list&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {\n    controller.adaptModal = function() {\n        var isMobile = false; //initiate as false\n        if ($(\"#check-mobile\").css(\"display\") == \"none\") {\n            isMobile = true;\n        }\n\n        setTimeout(function() {\n            var modal = $(\"body\").find(\".modal\");\n            var modalDialog = modal.find(\".modal-dialog\");\n            var modalContent = modal.find(\".modal-content\");\n            var modalHeader = modal.find(\".modal-header\");\n            var modalBody = modal.find(\".modal-body\");\n            var toolbar = modal.find(\"pdf-viewer-toolbar\");\n            var title = modalHeader.find(\".modal-title\");\n            var canvas = modal.find(\"canvas\");\n\t\t\t\n\t\t\tmodalHeader.css({\n                width: \"auto\",\n\t\t\t\tpadding: \"10px\"\n            });\n\n            if (isMobile) {\n                modalBody.css({\n                    padding: \"0px\"\n                });\n\n                modalContent.css({\n                    overflow: \"hidden\",\n                    border: \"0px\"\n                });\n\n                toolbar.css({\n                    position: \"fixed\",\n                    left: \"0px\",\n                    right: \"0px\",\n                    color: \"transparent\",\n                    padding: \"5px 0px\"\n                });\n\n                canvas.css({\n                    'margin-top': \"30px\"\n                });\n\n            } else {\n                modal.css({\n                    display: \"flex\",\n                    \"justify-content\": \"center\"\n                });\n\n                modalDialog.css({\n                    width: \"auto\",\n                    height: \"auto\",\n                    margin: \"auto\",\n                    \"max-width\": \"100%\"\n                });\n\n                modalContent.css({\n                    width: \"auto\",\n                    height: \"auto\",\n                    overflow: \"hidden\",\n                    border: \"0px\"\n                });\n\n                modalHeader.css({\n                    \"border-bottom\": \"0px\",\n\t\t\t\t\t\"padding-bottom\": \"0px\"\n                });\n\n                modalBody.css({\n                    width: \"auto\",\n                    height: \"auto\",\n                    \"max-height\": \"100%\",\n                    padding: \"0px\"\n                });\n\n                toolbar.insertBefore(title);\n                toolbar.find(\"a\").css(\"margin-right\", \"7px\");\n                toolbar.addClass(\"pull-right\");\n                toolbar.css({\n                    \"max-width\": \"195px\",\n                    \"text-align\": \"right\",\n                    \"margin-right\": \"0px\",\n                    \"margin-top\": \"3px\",\n                    color: \"transparent\"\n                });\n            }\n\n            toolbar.find(\"a:contains('Rotate')\").css(\"display\", \"none\");\n            toolbar.find(\"span\").css(\"display\", \"none\");\n            toolbar.find(\"input\").css(\"display\", \"none\");\n        }, 1000);\n    };\n}]]&gt;&lt;/link&gt;&lt;name&gt;SP PDF Viewer List&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"All attachments associated to the records stored in this Table\",\"name\":\"table\",\"section\":\"other\",\"label\":\"Table\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  input = input || {};\n  data.sys_id = input.sys_id || $sp.getParameter(\"sys_id\");\n  data.table = options.table || input.table || $sp.getParameter(\"table\");\n  data.docs = [];\n  if (!data.sys_id &amp;&amp; !data.table) return;\n  var gr = new GlideRecord(\"sys_attachment\");\n  if (data.sys_id) {\n    gr.addQuery(\"table_sys_id\", data.sys_id);\n  }\n  if (data.table) {\n    gr.addQuery(\"table_name\", data.table);\n  }\n  gr.addQuery(\"content_type\", \"application/pdf\");\n  gr.orderBy(\"file_name\");\n  gr.query();\n  while (gr.next()) {\n    data.docs.push({\n      sys_id: gr.getUniqueValue(),\n      name: gr.getDisplayValue(\"file_name\")\n    });\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-09 16:11:47&lt;/sys_created_on&gt;&lt;sys_id&gt;0c7a7355dbb3f3c0d033df8b4b96197b&lt;/sys_id&gt;&lt;sys_mod_count&gt;148&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP PDF Viewer List&lt;/sys_name&gt;&lt;sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP PDF Viewer\"&gt;d6c67bd5db73f3c0d033df8b4b961956&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0c7a7355dbb3f3c0d033df8b4b96197b&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-20 10:36:51&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x_pisn_sp_pdf_view_list\"&gt;\n  &lt;ul class=\"list-unstyled\" ng-if=\"c.data.docs.length&gt;0\"&gt;\n    &lt;li class=\"list-group-item no-border\" ng-repeat=\"doc in ::c.data.docs\"&gt;\n      &lt;a href ng-click=\"c.selectDoc(doc)\"\n        &gt;&lt;i class=\"fa fa-file-pdf-o\" aria-hidden=\"true\"&gt;&lt;/i&gt; {{::doc.name}}&lt;/a\n      &gt;\n    &lt;/li&gt;\n  &lt;/ul&gt;\n  &lt;div id=\"check-mobile\"&gt;&lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2789931</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>b1a8d730db0c0010d033df8b4b9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4019460000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>SP PDF Viewer List</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>70d7dbbc21c8001019e8f64f43a566df</update_guid>\n<update_guid_history>70d7dbbc21c8001019e8f64f43a566df:-2789931,3f87d3bcf0c80010982ea1321d050f52:1946382633,f33793bc34c80010bdd3e49ccf648d9f:1468590039,a8f6977c78c800107ca52bf252646073:1681450905,bcc3133884c800100cdef34e0e23d422:1109640125,e4cd03bc9f880010dc423756a1015d2e:369169985,7b7890bac177b3045debf53c16b424ab:-1410007539,4d48947a8077b304b24491c71572cdd9:716449069,31f7947a0877b304e37bb72a068cf6d1:1060631860,efe7107aab77b30441f084c5c513afeb:424560178,15b7107aa177b3048070a832ae632f76:799302417,f827d03a4377b304498a31f9612ec5ac:1650964336,40e690b64077b30429bd603c84b94e9e:1514904388,20a41836a777b30430a1b06cbd19bc80:1521651191,a734dcf2ec77b304dc32deb34987e51f:-1505401285,8f2498f23177b304dcb21d83e9becec2:878453639,690494b2ba77b3047f7217656ad4a99c:770647251,b7a310f2e077b304648038d33f9bf9d7:-603681201,3923d0b23377b304a41b9d53c16d13f8:2088527111,d0139c329377b304e33cdf3900260e81:-757217241,37315cbed737b30499fa21586c9981a8:-2001262543,03d050be4a37b3042f1f81324f445d56:872123025,69480f5641f73304e2ffa112e03821ce:851120193,9518cf1655f733043795366272b4aadc:-1701565448,94d707561ef73304d00c6ee4fff6be4c:-713812392,6087cb1600f733042bdc2de4ab3178b4:-229265366,1bb0b2d2877733047e27a07cb9b7685d:-594909045,9ea032d28f773304e8f6260902fb4eb9:177215290,090fce0a23fbbfc0529a57e8e0b765bf:2071678725,e80fc64a3bfbbfc074cdb6f7838d96aa:-14702684,879c02c688fbbfc0ae57191313ad36fa:-1819869635,7f8c42867bfbbfc0667102234fad87fc:1495834157,0a7c8286d1fbbfc0a0a129423d953e46:756656185,c6394e4214fbbfc05ae92ed10ed16a8c:1889759278,24984a0e11bbbfc0288126039c797348:-157544588,d1258acab4bbbfc088b7448598754da9:541090458,9ce406ca90bbbfc0caf8e90dcdd0613c:1430410330,11a4468a48bbbfc003da1a4c31a3e694:1143593652,15044e4afdbbbfc03b395255796d95a6:123197916,a3830a4a89bbbfc03c12983c0b63193b:-1151313828,2e73c64a63bbbfc09c558b2c4cae17c1:329784972,4dafa90eb63bbfc0620cd094bca36df6:218678907,538fe90ec13bbfc048b9db9cc2280a35:-2018736193,1f2cedc61e3bbfc044974b1ff47f49db:807285277,d59ba9c6723bbfc08a1f4947037e9976:894213117,656ba9c6633bbfc02aeef4148e516570:2131070319,e42bed86a03bbfc0848852e8aeff7683:1518410342,4bda6986c03bbfc087d2afdbdb7f06ae:536547611,e79a2d06263bbfc0b03e2d9344b0b54b:440297315,a328e982703bbfc05307b86a7d78d163:827739501,88df20c237f3bfc0d1475e41a7b80d44:1972621834,612ee802cbf3bfc01127741d83d8718d:-1347240755,9afde002b8f3bfc074801a41cffa74df:131855412,e2ed6802fef3bfc00738c84df7060bba:1266040491,b1ade00253f3bfc0e88dd8a067ea9fd8:-2080741640,786b6c0e65b3bfc0423ab9b811bc68d1:183008429,cc0b6c8a93b3bfc09f09f8240e1aa9d3:-1051523507,0feaeccaa6b3bfc01435dd8f1787994e:-664806067,3aca28ca07b3bfc0e106327732b24c16:183008429,5ef92c4a79b3bfc01924a19360a5f04b:22078407,a109a44a02b3bfc070d0b98ba551c697:-324134032,8ff8204acab3bfc074466e2e647cb1c7:412761251,bbc5680620b3bfc06842d90dbe0b5006:-2095424385,a8b5ecc207b3bfc00760c4f83dfee024:-101290590,825520066eb3bfc078329e3598644c28:1325069824,c925a8c2c7b3bfc0a21b33a720bf7168:1981715683,be43ec0e0973bfc0c96cc97dee34baf1:1863357390,3c13640ecf73bfc0ae1959de75db07b1:1152949198,b791e00ee073bfc07010d1a351b42351:-1686794531,3a112ccac173bfc0947fdfea708a80e6:1363804456,089060ca1b73bfc012a528cdacc566e2:-1528242778,036060ca5673bfc0cebec3fec15389db:444157113,a78f140afc73bfc014db3a36aa2afd41:1505303918,8369fcf5c73377c0e1c5821c3dea1c2d:672768069,8d69fcf5973377c034857b60fdedcd15:167520892,44497439603377c01a47f6af1e209e00:790107545,31f87cf5793377c06b486258107aef7d:-2040009148,0c97287d8abf37c099481fac5c250184:-1624411222,3107287dcfbf37c0dcd6cf5321cbc17b:-729307726,b6c6607d5fbf37c001a2af224f72deae:2086362872,65a22cb503bf37c02d45fe16c6198bd4:596516753,d0a064f12abf37c02c391d0d3ec8d22d:-1091459850,82506cb169bf37c014f8d8be5f8eb6ec:-1548368078,fa0f1071fcbf37c0961816bb1097dec6:-1091459850,821d1c3d727f37c003f34951c09e19e3:355868850,4c20d479c73f37c001475b4b32b11429:-274176014,deff84f5e23f37c0095efca2dfae8125:82740434,fe3f0cf59b3f37c0b34c31327b5cdca9:1934653146,d21f0cf5873f37c0972f49789fb0baa2:-1457910764,5d9e4cf1393f37c021de47696963cfbb:404375015,d04e48f1713f37c08210a3d924d69e1c:194116657,9e4e7fe954bb37c017e696dce5b77f84:153651641,673ef3e919bb37c08d557b51d8dcc6d2:-307909070,05cdbba97fbb37c0f635c1816dd62824:687017008,19acfb2974bb37c0d7cbe7a84c74ea1a:1128744337,46dbf7e50bbb37c0d63dec8b326e7b7f:1325325909,05abb3e59fbb37c038b87e63ecad4f8f:-1622026523,d19b77a5a5bb37c03e74a6c40374eae3:-86302404,020bf3a54fbb37c098cb27b7831a317b:-1889269244,d589bb6157bb37c0cd720a555f343cfc:-841452193,44c577ad9a7b37c0c0f7af29099abd1b:1511266094,0fb5fb6d5e7b37c0853ac9cd72640c2e:1281198538,6cb577ad297b37c045bdb099e08af613:-1883120090,16857f6d0c7b37c0519df4fe4a3f9ab6:-285045858,b265f36d357b37c046499e063d930b16:502894397,a0653f6d427b37c0fb206e9136ecf287:-336779711,0f457b6d077b37c05a3ffd3e44b55619:-2047779725,83357f2dbb7b37c07886e2b5c7517b19:-1985052909,6725b36d2b7b37c0bde07a5228bd2564:-1925596429,b015736dad7b37c0f783364adfabb94f:-754385997,7305336dc57b37c02310390e7f4791f5:983887443,18e4f72d077b37c01ec2d515cef7e276:-1028774380,f2643fe9597b37c0dcf2184589ff8edb:-1629378572,f5447f29077b37c089acf522d2a0f1e5:1719612007,10b1ebed5df737c0ea4369c8a6b97a4d:1067409140,7989156573fbf3c06ac5a636dabbfeb0:-1861510920,4807d161cffbf3c0f79162b4eb988586:-1836312168,65f6156114fbf3c0533bb13a88a5c448:1308795283,96d595edd0bbf3c06368cb7c704af8b5:-1836312168,2fb5d1ed07bbf3c029d4ecdf2ffc9156:377895037,8feccd6176bbf3c0d75ffaf01e60dfa5:-1836312168,9e6c452dc67bf3c04c9febea03deb55d:-1864212863,ad0c892138bbf3c0f2e11f42f5cb2acb:172454511,02d5cda5367bf3c032607efff5ad0b08:526499823,ebb5cda5f87bf3c0a2bdb2996f2ca4a8:1170535534,49858da5b27bf3c0bdcced7dbe0df2c1:-227632298,0175c9a1977bf3c0931356b11b4a8e65:1225707571,49f205e1fd7bf3c017f9f5ee87b1984e:-758116906,9a9205a1687bf3c094feaf0741e11fe0:-361177833,f562c1a1707bf3c0486abc052730f52b:-308245238,435209ed8e3bf3c0c46f507c00d1073e:2104936856,8c320dadbb3bf3c0542207c921ab06b8:1734839601,137009ed503bf3c0b03ab2f718457a35:-212350879,f5f240e123f3f3c0650ad0e91364452f:370466828,5e9208a1fdf3f3c0cb3a5a746a046553:-1861660376,21828461cff3f3c023123af6105e5183:-2067663061,0fe1cc210ef3f3c0d223901b91f0a2b4:370466828,548fbf1d4ab3f3c0c2921959682cd7d8:784892122,56fe7b1d73b3f3c0cb89d37a4445df6b:-2010522139,fcce7bd9a2b3f3c07786f295113e5255:32909506,91bef71d1cb3f3c0947807c98b3579af:487592228,502ef7d91eb3f3c0826d59d726722296:946577021,e0ed3f9952b3f3c0b620223f6af9d206:-979502149,498d7b59f8b3f3c01a63b353c8721948:710078750,a6dc7359a3b3f3c0bc947769e55d07d2:1750485295,4cacff1913b3f3c0ea7fe874d6919676:200672154,138bb795a3b3f3c02323be59387e2742:-1330582250,658bbf5587b3f3c0ce3e711887f565c9:1868952534,33fabf550ab3f3c0f2d3c59600e5a5b4:1338570526</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_612c7bd5dbb3f3c0d033df8b4b9619ee</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>PDF Viewer - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_pdf_view\">1a1a3b91dbb3f3c0d033df8b4b961952</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:16:49</sys_created_on><sys_id>612c7bd5dbb3f3c0d033df8b4b9619ee</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PDF Viewer - Container 1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_container_612c7bd5dbb3f3c0d033df8b4b9619ee</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:17:01</sys_updated_on><title/><width>container-fluid</width></sp_container></record_update>]]></payload>\n<payload_hash>-924789330</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>b5a8d730db0c0010d033df8b4b9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40178e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>PDF Viewer - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>a43c371938b3f3c0b7f45c8e51a47566</update_guid>\n<update_guid_history>a43c371938b3f3c0b7f45c8e51a47566:-924789330,a52c7bd5a0b3f3c0730c8576fb5d24ef:-1983407605</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_6b0e03fcdb880010d033df8b4b961901</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"PDF Viewer - Container 3\">3a0ecfbcdb880010d033df8b4b9619fd</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:54:11</sys_created_on><sys_id>6b0e03fcdb880010d033df8b4b961901</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_row_6b0e03fcdb880010d033df8b4b961901</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:54:11</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-953224480</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>b5a8d730db0c0010d033df8b4b9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4018730000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>5dce4730bcc80010c65654349f9ad677</update_guid>\n<update_guid_history>5dce4730bcc80010c65654349f9ad677:-953224480,e30e03fc4a88001049c6def117301003:1194435180</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_9e2cf319dbb3f3c0d033df8b4b96190c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">922cf319dbb3f3c0d033df8b4b96190b</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:16:52</sys_created_on><sys_id>9e2cf319dbb3f3c0d033df8b4b96190c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_column_9e2cf319dbb3f3c0d033df8b4b96190c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:16:52</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>968211856</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>b9a8d730db0c0010d033df8b4b9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017560000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>1e2cf3194fb3f3c05a5185cc63da960d</update_guid>\n<update_guid_history>1e2cf3194fb3f3c05a5185cc63da960d:968211856</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_1a1a3b91dbb3f3c0d033df8b4b961952</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_pdf_view</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:08:15</sys_created_on><sys_id>1a1a3b91dbb3f3c0d033df8b4b961952</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_pdf_view</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_page_1a1a3b91dbb3f3c0d033df8b4b961952</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:08:15</sys_updated_on><title>PDF Viewer</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1a1a3b91dbb3f3c0d033df8b4b961952\"/></record_update>]]></payload>\n<payload_hash>1959555118</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>b9a8d730db0c0010d033df8b4b9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016d90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>803abb919cb3f3c0c0f7b39c300de7db</update_guid>\n<update_guid_history>803abb919cb3f3c0c0f7b39c300de7db:1959555118</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_2769f351dbb3f3c0d033df8b4b961904</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js</display_name><source>url</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:05:19</sys_created_on><sys_id>2769f351dbb3f3c0d033df8b4b961904</sys_id><sys_mod_count>0</sys_mod_count><sys_name>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_ui_script/><sys_update_name>sp_js_include_2769f351dbb3f3c0d033df8b4b961904</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:05:19</sys_updated_on><url>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js</url></sp_js_include></record_update>]]></payload>\n<payload_hash>-1762277827</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>bda8d730db0c0010d033df8b4b9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016390000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>0189f35161b3f3c0b48a2190bc190e0a</update_guid>\n<update_guid_history>0189f35161b3f3c0b48a2190bc190e0a:-1762277827</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_31acb359dbb3f3c0d033df8b4b961999</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:19:01</sys_created_on><sys_id>31acb359dbb3f3c0d033df8b4b961999</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_attachment</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sys_scope_privilege_31acb359dbb3f3c0d033df8b4b961999</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:19:01</sys_updated_on><target_name>sys_attachment</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>2084047935</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>bda8d730db0c0010d033df8b4b9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017db0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>sys_attachment</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>bdacb3590db3f3c02e8ac0f95e9c869a</update_guid>\n<update_guid_history>bdacb3590db3f3c02e8ac0f95e9c869a:2084047935</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_4a493351dbb3f3c0d033df8b4b9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"x_pisn_sp_pdf_view PDF.js\">91397f11dbb3f3c0d033df8b4b9619c9</sp_dependency><sp_widget display_value=\"SP PDF Viewer\">f018b3dddb73f3c0d033df8b4b961909</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:04:18</sys_created_on><sys_id>4a493351dbb3f3c0d033df8b4b9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js.SP PDF Viewer</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>m2m_sp_widget_dependency_4a493351dbb3f3c0d033df8b4b9619a2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:04:18</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-868868948</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>bda8d7fcdbc80010d033df8b4b9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40162f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js.SP PDF Viewer</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>ca49335100b3f3c029e62afdd34fc2a4</update_guid>\n<update_guid_history>ca49335100b3f3c029e62afdd34fc2a4:-868868948</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_3a0ecfbcdb880010d033df8b4b9619fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"DELETE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>PDF Viewer - Container 3</name><order>3</order><sp_page display_value=\"x_pisn_sp_pdf_view\">1a1a3b91dbb3f3c0d033df8b4b961952</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 09:54:07</sys_created_on><sys_id>3a0ecfbcdb880010d033df8b4b9619fd</sys_id><sys_mod_count>1</sys_mod_count><sys_name>PDF Viewer - Container 3</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_container_3a0ecfbcdb880010d033df8b4b9619fd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 09:54:19</sys_updated_on><title/><width>container-fluid</width></sp_container></record_update>]]></payload>\n<payload_hash>1260113020</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f1a8d730db0c0010d033df8b4b9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40188e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>PDF Viewer - Container 3</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>8ace8330e4c800106cdef9eda09cd762</update_guid>\n<update_guid_history>8ace8330e4c800106cdef9eda09cd762:1260113020,ed1e4bbcaf880010478132b3af837b9d:1880546672,7a0e83fccd8800108b00758aa7c4a6ab:889658189</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_545afb15dbb3f3c0d033df8b4b9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"PDF Viewer - Container 2\">bf3afb15dbb3f3c0d033df8b4b961974</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:08:49</sys_created_on><sys_id>545afb15dbb3f3c0d033df8b4b9619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_row_545afb15dbb3f3c0d033df8b4b9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:08:49</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>771146871</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f1a8d730db0c0010d033df8b4b9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017030000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>945afb1568b3f3c0020a6454c7eb5eda</update_guid>\n<update_guid_history>945afb1568b3f3c0020a6454c7eb5eda:-180684968</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_905afb15dbb3f3c0d033df8b4b9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">545afb15dbb3f3c0d033df8b4b9619d9</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:08:49</sys_created_on><sys_id>905afb15dbb3f3c0d033df8b4b9619db</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_column_905afb15dbb3f3c0d033df8b4b9619db</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:08:49</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>1178626625</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f5a8d730db0c0010d033df8b4b9619d6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017100000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>505afb151eb3f3c0468bbc827d6e26dc</update_guid>\n<update_guid_history>505afb151eb3f3c0468bbc827d6e26dc:1178626625</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_b989b751dbb3f3c0d033df8b4b9619b7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js</display_name><source>url</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:05:44</sys_created_on><sys_id>b989b751dbb3f3c0d033df8b4b9619b7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_ui_script/><sys_update_name>sp_js_include_b989b751dbb3f3c0d033df8b4b9619b7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:05:44</sys_updated_on><url>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js</url></sp_js_include></record_update>]]></payload>\n<payload_hash>-976914201</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f5a8d730db0c0010d033df8b4b9619d9</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016500000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>https://cdnjs.cloudflare.com/ajax/libs/pdf.js/1.10.100/pdf.worker.min.js</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>4b99fb5154b3f3c0f0f412fea3904f03</update_guid>\n<update_guid_history>4b99fb5154b3f3c0f0f412fea3904f03:-976914201</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_a66afb15dbb3f3c0d033df8b4b9619e2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">905afb15dbb3f3c0d033df8b4b9619db</sp_column><sp_widget display_value=\"SP PDF Viewer\">f018b3dddb73f3c0d033df8b4b961909</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:09:15</sys_created_on><sys_id>a66afb15dbb3f3c0d033df8b4b9619e2</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_instance_a66afb15dbb3f3c0d033df8b4b9619e2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:09:15</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a66afb15dbb3f3c0d033df8b4b9619e2\"/></record_update>]]></payload>\n<payload_hash>1352380725</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f9a8d730db0c0010d033df8b4b9619d8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4017240000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>e66a335563b3f3c0824f6edc5541c650</update_guid>\n<update_guid_history>e66a335563b3f3c0824f6edc5541c650:1352380725</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_d6c67bd5db73f3c0d033df8b4b961956</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><guided_setup_guid/><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP PDF Viewer</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_pdf_view</scope><scoped_administration>false</scoped_administration><short_description>A simple and quick way to show a PDF within Service Portal</short_description><source>x_pisn_sp_pdf_view</source><store_correlation_id>REPOAPP0000001333</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 15:53:24</sys_created_on><sys_id>d6c67bd5db73f3c0d033df8b4b961956</sys_id><sys_mod_count>10</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 10:37:48</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.3</version></sys_app></record_update>]]></payload>\n<payload_hash>-1580060792</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f9a8d730db0c0010d033df8b4b9619db</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40160f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>SP PDF Viewer</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>2a081bfca8c80010e0566977f7bb1581</update_guid>\n<update_guid_history>2a081bfca8c80010e0566977f7bb1581:-1580060792,d90893fc52c800109ca95c87ecc10ce3:1551325319,87f45bb86cc80010a0819bd865bcce02:1221559558,c2345778fbc80010dd3eb7168e67efb2:-764371365,1434df3812c80010adf43204e0376919:1203433561,14305a0eb1fbbfc034399bbfe8e69484:873667800,b620160e50fbbfc09da65892e4c51b5d:1044685506,550b0cbd86fb37c073d5e9d70d7e0f30:714919745,0fe73b9d2473f3c0306965327f7c849c:776859553,66c67bd51b73f3c0138c6331072dff5a:-1692181020</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_5ac9ff51dbb3f3c0d033df8b4b96198f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>300</order><sp_dependency display_value=\"x_pisn_sp_pdf_view PDF.js\">91397f11dbb3f3c0d033df8b4b9619c9</sp_dependency><sp_js_include display_value=\"angular-pdf.min.js\">86a93f51dbb3f3c0d033df8b4b96190b</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:06:30</sys_created_on><sys_id>5ac9ff51dbb3f3c0d033df8b4b96198f</sys_id><sys_mod_count>1</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js.angular-pdf.min.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>m2m_sp_dependency_js_include_5ac9ff51dbb3f3c0d033df8b4b96198f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:06:34</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-945602363</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>f9a8d7fcdbc80010d033df8b4b9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e40169c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js.angular-pdf.min.js</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>93c9bf514cb3f3c0e57f6e443e3dab71</update_guid>\n<update_guid_history>93c9bf514cb3f3c0e57f6e443e3dab71:-945602363,1ec9ff5154b3f3c0ee48b03041146990:979569091</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_91397f11dbb3f3c0d033df8b4b9619c9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>x_pisn_sp_pdf_view PDF.js</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:04:17</sys_created_on><sys_id>91397f11dbb3f3c0d033df8b4b9619c9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_pdf_view PDF.js</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_dependency_91397f11dbb3f3c0d033df8b4b9619c9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:04:17</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1788339485</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>fda8d730db0c0010d033df8b4b9619d7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016220000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_pdf_view PDF.js</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>0e493351d8b3f3c09e75361b04501ba1</update_guid>\n<update_guid_history>0e493351d8b3f3c09e75361b04501ba1:-1788339485</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_e84afb15dbb3f3c0d033df8b4b961988</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"DELETE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"PDF Viewer - Container 1\">bf3afb15dbb3f3c0d033df8b4b961974</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-09 16:08:34</sys_created_on><sys_id>e84afb15dbb3f3c0d033df8b4b961988</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP PDF Viewer\" source=\"x_pisn_sp_pdf_view\">d6c67bd5db73f3c0d033df8b4b961956</sys_package><sys_policy/><sys_scope display_value=\"SP PDF Viewer\">d6c67bd5db73f3c0d033df8b4b961956</sys_scope><sys_update_name>sp_row_e84afb15dbb3f3c0d033df8b4b961988</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-09 16:08:34</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>1966622668</payload_hash>\n<remote_update_set display_value=\"SP PDF Viewer\">39a8d7fcdbc80010d033df8b4b9619bf</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 10:40:28</sys_created_on>\n<sys_id>fda8d730db0c0010d033df8b4b9619da</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e4016f60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 10:40:28</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>e34a7f1517b3f3c0b573c975e0681a2b</update_guid>\n<update_guid_history>e34a7f1517b3f3c0b573c975e0681a2b:1966622668,644afb15c5b3f3c0a90fabcde5f0538a:-180684968</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/widget/pe-sp-pdf-viewer.u-body-html-template.html",
    "content": "<div\n  class=\"x_pisn_sp_pdf_view\"\n  ng-if=\"c.data.url.length>0\"\n  ng-class=\"{'pdf-viewer-modal': c.options.modal}\"\n>\n  <pdf-viewer\n    delegate-handle=\"my-pdf-container\"\n    url=\"c.data.url\"\n    scale=\"0.90\"\n    show-toolbar=\"true\"\n  >\n  </pdf-viewer>\n  <div id=\"check-mobile\"></div>\n</div>\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/widget/pe-sp-pdf-viewer.u-client-script.js",
    "content": "function PdfViewerController(pdfDelegate, $timeout) {\n  var c = this;\n  c.$onInit = function() {\n    if (c.data.url.length == 0) return;\n    $timeout(function() {\n      c.pdf = pdfDelegate.$getByHandle(\"my-pdf-container\");\n      if (c.isMobile) {\n        c.pdf.zoomTo((0.5 * 356) / 307 + \"\");\n      }\n    }, 250);\n  };\n}\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/widget/pe-sp-pdf-viewer.u-css.scss",
    "content": ".x_pisn_sp_pdf_view {\n  overflow: hidden;\n  overflow-x: auto;\n  overflow-y: auto;\n  text-align: center;\n}\n\n.pdf-viewer-modal {\n  margin-bottom: -7px;\n}\n\n.left a {\n  margin-right: 10px;\n}\n\ninput {\n  color: $brand-primary;\n  height: 19px;\n  padding: 0;\n  border: 0;\n  background-color: rgba(245, 245, 245, 1);\n  border-radius: 4px;\n  text-align: center;\n  min-width: 20px;\n}\n\n@media (max-width: 760px) {\n  div.mb2 {\n    text-align: left;\n    padding: 0px 10px;\n  }\n  .left a {\n    margin-right: 10px;\n  }\n  .check-mobile {\n    display: none;\n  }\n}\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/widget/pe-sp-pdf-viewer.u-link-script.js",
    "content": "function link(scope, element, attrs, controller) {\n  controller.isMobile = false;\n  if ($(\"#check-mobile\").css(\"display\") == \"none\") {\n    controller.isMobile = true;\n  }\n\n  $(document).ready(function() {\n    scope.$watch(scope, function(newValues, oldValues, scope) {\n      setTimeout(function() {\n        var toolbar = $(\"body\").find(\"pdf-viewer-toolbar\");\n        toolbar.find(\"input\").each(function() {\n          var value = $(this).val();\n          var size = value.length;\n          $(this).css(\"width\", size * 3);\n        });\n        toolbar.find(\"input\").keyup(function() {\n          var value = $(this).val();\n          var size = value.length;\n          size = size * 4;\n          $(this).css(\"width\", size * 3);\n        });\n      }, 550);\n    });\n  });\n}\n"
  },
  {
    "path": "src/pe-sp-pdf-viewer/widget/pe-sp-pdf-viewer.u-server-script.js",
    "content": "(function() {\n  input = input || {};\n  data.sys_id = options.sys_id || input.sys_id || $sp.getParameter(\"sys_id\");\n  options.modal = options.modal || input.modal || false;\n  data.url = \"\";\n  if (!data.sys_id) return;\n  var gr = new GlideRecord(\"sys_attachment\");\n  if (gr.get(data.sys_id)) {\n    data.url = \"/sys_attachment.do?view=true&sys_id=\" + data.sys_id;\n  }\n})();\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/README.md",
    "content": "# Sp Service Outage Card\n\n## Description\n\nHaving a Business Service in input, this minimalistic Bootstrap card is using the contextual colours, inherited from Bootstrap or customized in the Service Portal theme, to represent the outages and the Incident associated to them.\n\n## Screenshot\n\n![Sp Service Outage Card with active outage](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-service-outage-card/images/pe-sp-service-outage-card-01.png)\n\n![Sp Service Outage Card with solved outage](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-service-outage-card/images/pe-sp-service-outage-card-02.png)\n\n![See the incident record in a modal dialog without loosing the context](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-service-outage-card/images/pe-sp-service-outage-card-03.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-sp-service-outage-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-sp-service-outage-card/pe-sp-service-outage-card.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nDrag the widget on the page. The widget needs a Business Service sysid in input. It can be retrieved from the URL, in input or from the options if the widget is embedded.\n\n## Platform Dependencies\n\nConfiguration Management (CMDB) plugin\n\n### SN System Tables\n\ncmdb_ci_service, cmdb_ci_outage, incident\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\nBootstrap variables\n\n```sass\n$brand-danger\n$brand-success\n```\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Card\",\n  \"common-name\": \"Sp Service Outage Card\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Fabio Petito\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-sp-service-outage-card\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Having a Business Service in input, this minimalistic Bootstrap card is using the contextual colours, inherited from Bootstrap or customized in the Service Portal theme, to represent the outages and the Incident associated to them\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/pe-sp-service-outage-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2019-06-28 16:49:50\">\n  <sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <application_name>SP Outage Card</application_name>\n    <application_scope>x_pisn_sp_outcard</application_scope>\n    <application_version>1.0.0</application_version>\n    <collisions/>\n    <commit_date/>\n    <deleted/>\n    <description></description>\n    <inserted/>\n    <name>SP Outage Card</name>\n    <origin_sys_id/>\n    <parent display_value=\"\"/>\n    <release_date/>\n    <remote_base_update_set display_value=\"\"/>\n    <remote_parent_id/>\n    <remote_sys_id>1c97408edbd6bb00efd54a92ba96198c</remote_sys_id>\n    <state>loaded</state>\n    <summary/>\n    <sys_class_name>sys_remote_update_set</sys_class_name>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>1da7884edbd6bb00efd54a92ba961991</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <update_set display_value=\"\"/>\n    <update_source display_value=\"\"/>\n    <updated/>\n  </sys_remote_update_set>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_widget_88298656db2df380d033df8b4b961906</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function SPServiceOutageCardController($location, spModal, $rootScope) {\n  /* widget controller */\n  var c = this;\n\n  c.isResolved = function (outage) {\n    if (outage.outage_detail &amp;&amp; outage.outage_detail.state &amp;&amp;\n\t\t\t\t(outage.outage_detail.state.toLowerCase() == 'resolved' || outage.outage_detail.state.toLowerCase() == 'closed'))\n      return true;\n    return false;\n  };\n\n  c.getColor = function (outage) {\n    var color = 'danger';\n    if (c.isResolved(outage))\n      color = 'success';\n    return color;\n  };\n\n  c.getTaskColor = function (task) {\n    var color = 'danger';\n    if (task.state == 'Resolved' || task.state == 'Closed')\n      color = 'success';\n    return color;\n  };\n\n  c.current = '';\n  c.currentColor = 'default';\n  c.currentIndex = 0;\n  if (c.data.outages.length &gt; 0) {\n    c.current = c.data.outages[0].sys_id;\n    c.currentColor = c.getColor(c.data.outages[0]);\n  }\n\n  c.createIncident = function (outage) {\n    c.server.get({\n      action: \"create\",\n      sys_id: c.data.sys_id,\n      outage_sys_id: outage.sys_id\n    }).then(function (response) {\n      c.data = response.data;\n    });\n  };\n\n  c.prev = function () {\n    c.currentIndex--;\n    c.current = c.data.outages[c.currentIndex].sys_id;\n    c.currentColor = c.getColor(c.data.outages[c.currentIndex]);\n  };\n\n  c.next = function () {\n    c.currentIndex++;\n    c.current = c.data.outages[c.currentIndex].sys_id;\n    c.currentColor = c.getColor(c.data.outages[c.currentIndex]);\n  };\n\n  c.goToPage = function (params) {\n    $location.search(params);\n  };\n\n  c.openTask = function (params) {\n    spModal.open({\n      title: '${You are viewing }' + ' ' + params.number,\n      widget: 'widget-form',\n      buttons: [{\n        label: '${Close}',\n        cancel: true\n      }],\n      footerStyle: {\n        'display': 'none'\n      },\n      size: 'lg',\n      widgetInput: {\n        table: params.table,\n        sys_id: params.sys_id,\n        view: 'sp'\n      }\n    });\n  };\n\n  $rootScope.$on('spModel.gForm.initialized', function (event, gFormInstance) {\n    c.cssModal();\n    if (gFormInstance.getUniqueValue() == c.data.sys_id) {\n      var fields = gFormInstance.getFieldNames();\n      for (var i = 0; i &lt; fields.length; i++)\n        gFormInstance.setReadOnly(fields[i], true);\n    }\n  });\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.x-pisn-sp-outcard {\n  position: relative;\n  max-width: 500px;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility;\n}\n\n.navigation {\n  position: absolute;\n  right: 0;\n  top: 0;\n  span.info {\n    vertical-align: bottom;\n  }\n  .btn {\n    padding-top: 2.5px;\n    padding-bottom: 2.5px;\n  }\n}\n\n.panel-heading {\n  .glyphicon {\n    color: white;\n  }\n  .add-info {\n    margin-top: 3px;\n  }\n}\n\n.btn:focus, .btn.focus, .btn:active:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n.btn-link-danger {\n  color: $brand-danger !important;\n}\n\n.btn-link-success {\n  color: $brand-success !important;\n}\n\n.btn-link .glyphicon-arrow-right {\n  float: right;\n  margin-top: 2px;\n}\n\n.table-incident {\n  border: 0 !important;\n  td:first-child {padding-left: 15px;}\n  td:last-child {padding-right: 15px;}\n}\n\n.noselect {\n  -webkit-touch-callout: none; /* iOS Safari */\n    -webkit-user-select: none; /* Safari */\n     -khtml-user-select: none; /* Konqueror HTML */\n       -moz-user-select: none; /* Firefox */\n        -ms-user-select: none; /* Internet Explorer/Edge */\n            user-select: none; /* Non-prefixed version, currently\n                                  supported by Chrome and Opera */\n}\n\n\n@media (min-width: 768px) {\n\n}\n\n@media (max-width: 768px) {\n  .just-desktop {\n    display: none;\n  }\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-outcard&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {\n  scope.c.closeModal = function () {\n    var button = $('body').find('button.close');\n    angular.element(button).scope().$dismiss();\n  };\n  scope.c.cssModal = function () {\n    var modalBody = $('body').find('.modal-body');\n    modalBody.css('padding', '0');\n    modalBody.css('-webkit-font-smoothing', 'antialiased');\n    modalBody.css('-moz-osx-font-smoothing', 'grayscale');\n    modalBody.css('text-rendering', 'optimizeLegibility');\n    var panel = modalBody.find('.panel');\n    panel.css('border', '0');\n    panel.css('box-shadow', 'none');\n  };\n }]]&gt;&lt;/link&gt;&lt;name&gt;Service Outage Card&lt;/name&gt;&lt;option_schema&gt;[{\"displayValue\":\"Business Service\",\"name\":\"service\",\"section\":\"other\",\"label\":\"Service\",\"type\":\"reference\",\"value\":\"cmdb_ci_service\",\"ed\":{\"reference\":\"cmdb_ci_service\"}},{\"name\":\"task_creation_label\",\"section\":\"other\",\"default_value\":\"I'm Affected\",\"label\":\"Task Creation Label\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.sys_id = options.sys_id || input.sys_id || $sp.getParameter(\"sys_id\");\n  data.outages = [];\n\n  if (!data.sys_id)\n    return;\n\n  var serviceGR = new GlideRecord(\"cmdb_ci_service\");\n  if (serviceGR.get(data.sys_id))\n    data.name = serviceGR.getDisplayValue();\n\n  if (input.action &amp;&amp; input.action == 'create') {\n    var gr = new GlideRecord('cmdb_ci_outage');\n    if (gr.get(input.outage_sys_id)) {\n      if (!gr.getValue('task_number')) {\n        var grIncInsert = new GlideRecord('incident');\n        grIncInsert.caller_id = gs.getUserID();\n        grIncInsert.cmdb_ci = serviceGR.getUniqueValue();\n        grIncInsert.business_service = serviceGR.getUniqueValue();\n        grIncInsert.contact_type = 'email';\n        grIncInsert.short_description = gs.getMessage('Major incident for outage affected by') + ' ' + gr.getDisplayValue('short_description');\n        data.incident_sys_id = grIncInsert.insert();\n        var grUpdate = new GlideRecord('cmdb_ci_outage');\n        grUpdate.get(input.outage_sys_id);\n        grUpdate.setValue('task_number', data.incident_sys_id);\n        grUpdate.update();\n      }\n    }\n  }\n\n  var outageGR = x_pisn_mso.ServiceOutage.outagesGR(data.sys_id);\n  outageGR.addQuery('type', 'Outage');\n  outageGR.orderByDesc('sys_updated_on');\n  outageGR.query();\n  var outage = {};\n  var task = {};\n\n  while (outageGR.next()) {\n\n    outage = new x_pisn_mso.ServiceOutage(outageGR).serialize();\n    outage.message = outageGR.getDisplayValue('message');\n    outage.short_description = outageGR.getDisplayValue('short_description');\n    outage.begin_ts = outageGR.getValue('begin');\n    outage.sys_updated_on = outageGR.getValue('sys_updated_on');\n    outage.incidents = [];\n    if (outageGR.task_number &amp;&amp; outageGR.task_number.sys_class_name == 'incident') {\n      var incidentID = outageGR.task_number.toString();\n      var incidentGR = new GlideRecord('incident');\n      incidentGR.get(incidentID);\n      if (incidentGR.caller_id.toString() == gs.getUserID()) {\n        task = {};\n        task.sys_id = incidentGR.getUniqueValue();\n        task.number = incidentGR.number.getDisplayValue();\n        task.short_description = incidentGR.short_description.getDisplayValue();\n        task.state = incidentGR.state.getDisplayValue();\n        task.__table = incidentGR.getTableName();\n        outage.incidents.push(task);\n      }\n\n      outage.outage_detail = new x_pisn_mso.MajorIncident(incidentID).getMainInfo();\n      outage.services_impacted = x_pisn_mso.ServiceData.getImpactedServices(incidentID);\n      outage.task = incidentID;\n      outage.task_caller = incidentGR.caller_id.toString();\n      outage.is_affected = outage.task_caller == gs.getUserID() &amp;&amp; outage.incidents.length == 0;\n\n      if (!outage.is_affected) {\n        var childGR = new GlideRecord('incident');\n        childGR.addQuery('caller_id', gs.getUserID());\n        childGR.addQuery('parent', incidentID);\n        childGR.query();\n        outage.is_affected = childGR.hasNext();\n      }\n    }\n    data.outages.push(outage);\n  }\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-23 14:07:38&lt;/sys_created_on&gt;&lt;sys_id&gt;88298656db2df380d033df8b4b961906&lt;/sys_id&gt;&lt;sys_mod_count&gt;225&lt;/sys_mod_count&gt;&lt;sys_name&gt;Service Outage Card&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\"&gt;5c198252db2df380d033df8b4b9619d4&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Outage Card\"&gt;5c198252db2df380d033df8b4b9619d4&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_88298656db2df380d033df8b4b961906&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-17 15:20:51&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-outcard\" ng-if=\"c.data.outages.length&gt;0\"&gt;\n  &lt;h3&gt;{{::c.data.name}}&lt;/h3&gt;\n  &lt;div class=\"navigation noselect\" ng-if=\"c.data.outages.length &gt; 1\"&gt;\n    &lt;span class=\"info m-r-xs text-muted\"&gt;{{c.currentIndex + 1}} ${of} {{::c.data.outages.length}}&lt;/span&gt;\n    &lt;div class=\"btn-group\" role=\"group\" aria-label=\"...\"&gt;\n      &lt;button type=\"button\" class=\"btn btn-default m-r-xs padder\" ng-click=\"c.prev()\" ng-disabled=\"c.currentIndex == 0\"&gt;&lt;span class=\"glyphicon glyphicon-chevron-left font-thin\"&gt;&lt;/span&gt;&lt;/button&gt;\n      &lt;button type=\"button\" class=\"btn btn-default m-l-xs padder\" ng-click=\"c.next()\" ng-disabled=\"c.currentIndex == (c.data.outages.length - 1)\"&gt;&lt;span class=\"glyphicon glyphicon-chevron-right font-thin\"&gt;&lt;/span&gt;&lt;/button&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"panel panel-{{c.getColor(outage)}}\" ng-repeat=\"outage in c.data.outages | filter: { sys_id: c.current } track by outage.sys_id\"&gt;\n    &lt;div class=\"panel-heading\"&gt;&lt;span class=\"m-r-sm glyphicon\" ng-class=\"{'glyphicon-remove-circle': c.getColor(outage)=='danger', 'glyphicon-ok-circle': c.getColor(outage)=='success' }\"&gt;&lt;/span&gt;${Affected\n      by} &lt;span ng-if=\"outage.short_description\"&gt;{{outage.short_description}}&lt;/span&gt;&lt;span ng-if=\"!outage.short_description\"&gt;${outage}&lt;/span&gt;&lt;small class=\"pull-right add-info\"&gt;${Opened}\n        &lt;sn-time-ago timestamp=\"outage.begin_ts\" /&gt;&lt;/small&gt;&lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;div class=\"outage-details\" ng-if=\"!c.isResolved(outage)\"&gt;\n        &lt;p ng-bind-html=\"outage.details\"&gt;&lt;/p&gt;\n        &lt;p&gt;&lt;strong&gt;${Estimate resolution}&lt;/strong&gt; ${at} &lt;span ng-if=\"outage.outage_detail &amp;&amp; outage.outage_detail.estd_timestamp\" class=\"font-bold\"&gt;\n            &lt;sn-time-ago timestamp=\"outage.outage_detail.estd_timestamp\" /&gt;\n          &lt;/span&gt;\n          &lt;span ng-if=\"!outage.outage_detail || !outage.outage_detail.estd_timestamp\"&gt;${unknown}&lt;/span&gt;\n        &lt;/p&gt;\n        &lt;button type=\"button\" class=\"btn btn-danger pull-right\" ng-click=\"c.createIncident(outage)\" ng-if=\"!outage.is_affected &amp;&amp; !c.isResolved(outage) &amp;&amp; outage.incidents.length == 0\"&gt;{{::c.options.task_creation_label}}&lt;/button&gt;\n      &lt;/div&gt;\n      &lt;div ng-if=\"c.isResolved(outage)\"&gt;\n        &lt;p&gt;${We put in place a fix to address timeout issue reported by users of} {{c.data.name}}&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;button type=\"button\" class=\"btn btn-link btn-link-{{c.getColor(outage)}} no-padder m-t\" ng-click=\"c.goToPage({id: 'service_status', service: c.data.sys_id})\"&gt;${View details}&lt;span class=\"glyphicon glyphicon-arrow-right font-thin m-l-xs\"&gt;&lt;/span&gt;&lt;/button&gt;\n    &lt;/div&gt;\n    &lt;table class=\"table table-incident m-b-none\"&gt;\n        &lt;tr class=\"b-t\" ng-repeat=\"task in outage.incidents\" ng-click=\"c.openTask({sys_id: task.sys_id, number: task.number, table: task.__table})\"&gt;\n          &lt;td class=\"text-{{c.getTaskColor(task)}} font-bold\"&gt;{{task.number}}&lt;/td&gt;\n          &lt;td&gt;{{task.short_description}}&lt;/td&gt;\n          &lt;td class=\"just-desktop text-right text-{{c.getTaskColor(task)}} font-bold\"&gt;{{task.state}}&lt;/td&gt;\n        &lt;/tr&gt;\n    &lt;/table&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>658374169</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>11a7884edbd6bb00efd54a92ba961993</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef710000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>Service Outage Card</target_name>\n    <type>Widget</type>\n    <update_domain>global</update_domain>\n    <update_guid>3ac9031e9542f780a059ce359a062b27</update_guid>\n    <update_guid_history>3ac9031e9542f780a059ce359a062b27:658374169,fdb90fdacc42f7804f1ef0d4c73d2bd1:1959540966,db994fda8042f7806d49e3ae5280a3e7:-1884613329,91898bdaa042f780057f40cb48682502:-1557242809,b179c7dae242f780fbdbea32013eac56:1462939172,f2594bdaf942f7806223b3e612a5a34c:-119020377,a13903dad242f780394f9fcecc821616:-366752553,31f8c3da5242f780be5d99cb3f50799c:-1018598851,c6b84b9a7e42f780c2f690b9bf102d3e:-366752553,c4980b9ae942f780a22510b2a215c098:-865831806,5de70f5a8d42f7800b66bfd694f6ffff:256874901,7c24fa1c81023380ffa95ced5e2fc7c3:1164085037,f204fa1c27023380fd219af156bd5633:1873503191,aac3f61c10023380731849f162014044:430590046,f5237ed8ed0233805c06f823922d71ec:-1074979577,21137ed8b90233806861ef224a38832a:-385580727,19e2bad82002338006699d6546bf0a1a:-1226393271,6e523e981a0233803cbe4481f01d7a6b:-1020399389,b4c1f698b5023380ff20244fcf99332b:-1859159458,80a17698b70233807db5d95435d9a283:-1540932588,a191f298c8023380e14f3874e80362e1:-1835650252,5a81f298b9023380a98befb5f52278d9:1993130004,3e017e58e60233805ef954f660f8e223:-1835650252,34357dbebf39bb4018edeb54d2a278ff:345081986,261d12eeb43d7b40b48002938788307f:-1083546917,12bc9aae1a3d7b40f722f67493bf4eb5:2005652847,4b6bd66e813d7b4063a609b49e0947cf:-1351046880,d43b9aeacd3d7b40370ffc2771e8df4d:1753054043,346a9aea453d7b4001fb4df9b3c24696:-1393437586,af08d66a3e3d7b4043194784ee53aa34:-2039556425,5017926a8e3d7b40c51503a2d7d53c80:1589704,c1e61e2ab83d7b40e35d01111c2aaa34:-134432222,de865ee6173d7b405641c6b6991e3215:-1805196819,d6e6e9aeb7797b40a787173a787f6dd1:1589704,d9a5ed2ee4797b4094cf1c8b2b87f8b7:-1037339150,a895e16e83797b407f9fe2d2163cc0c2:1420000393,e3352d2e6d797b400bd3b2f50d025788:1636532754,3df4612e88797b40c44f1f1872c26eb7:-1348678829,e21461ea8f797b40b05758d249725341:1636532754,c0d1ad2a08797b4068075ccf3de1ff03:-698617172,1311a52a6d797b40deda59ad3c41be71:424436133,b1906de6ad797b405879c7be2879172c:2020974762,1c80a12a78797b40a6def5d7d24d694d:57813868,8350e1e624797b40351f983e59838266:-1836724725,f7006de6f4797b404b2f0763bb4bfa0b:-1492453671,144fd166f7797b40d793f3ce9bd1cb87:-2115179367,d41f5d66d4797b409d03e031959a22e1:91956103,65ae5d6652797b407cc041e07c36c6c1:1861111091,6c6ed16670797b40fa9fab917be64813:-718874376,1c0e11664c797b40e7aab4d21dc5e59e:600466744,71cdd92627797b40fb9cda355845128b:-488643536,e43911ee2a397b402ded43768d85bb81:1029615119,e567d1ee35397b40e25c3c8d36477ded:-572148681,ce5711ee44397b40e114e63cf4c2e668:1476788803,cc5751eebb397b402c33ded3286ebc20:-1880818599,2137ddaea2397b401badd7537749741e:1517581274,ae179daeee397b4078dcdfc47e77097e:1564019729,c6c619ae11397b404b527738669c89ed:-595355145,619651ae41397b4040542568439881d9:1627746893,3b2651ae83397b404bcf34cee74789d1:-595355145,c2e55d6e4e397b402ab1c9d0077313c7:1475823885,d4c5556e65397b404592d9d865d4a031:-595355145,a9155d2e71397b402151e4d65ca4c9ad:1891434755,90051d2ebc397b40b8a325a726c9371d:382574512,1e94592ede397b4066e354456d18d99c:297127623,db54912e13397b407adb6df6f03308a3:2043503796,3024512e61397b40aaf1227fd1ce3f9b:-165938165,0dc3d1ea19397b408ddafd776c51d725:-1996029954,b7f295aa96397b4040931f345aa6826f:900554428,ecc21daae9397b40c966879ac53e51f6:2146979685,c27295aa54397b408a009feef0f62b79:-1873867162,8e5e8da6bc397b40d28410e420c0de71:-1895942410,1c3e4da6aa397b403a966ab3c1804aaf:-1734338010,c82e4da6cd397b4000060044e8483929:525374611,91fdc5a665397b40c91c39235208dae1:-1734338010,657dc966a8397b40eec039f648d911db:778421278,db0dc96658397b403811cd7e4cf37864:1981730307,23fcc926ce397b403b5c920e01381dea:-1278635056,1e5c412608397b4086c607ab693946c4:1981730307,e5fbc926f3397b402995dee55688c3e2:-2094868964,61db41262f397b40ed3c5dc429ecfc9b:-410825349,392a41e2ac397b40636c73006111beb4:-1358271939,860acda2a4397b405c18ebad91457378:1691733335,7f7985a2cc397b406265c10f695b0401:-1358271939,087941627f397b4046b71f0897847177:521408826,b47841627d397b4065411201c22bd208:-1722824734,2f18016265397b407cb3120afb5e88cd:560508514,f451416ac7f57b403e9352906db36d1b:-983463540,d6dbfb2281a17780b69e04f1e97d3f14:-2028668705,953bffeebd6177808947e657bf1986e8:1096701850,fcca77eeb3617780ca9aa7de585e8a6c:813901914,b07abbae3561778009db6033f875e659:-222868614,4af93fae396177807fd7776fb5635139:-2009219363,14d973ae07617780f6965413132a8b84:1584502724,62497f6eec617780933be72af04d775e:-1036298759,a729fb6ed0617780ef200f4414aa2371:799759811,ebf8776eb26177808d99113b5adff159:-618054983,a2a8fb2e33617780c2c656bfb61043ef:907941385,37a7bfea35617780ae97031f5b46d5fc:730796858,0e62f3a6876177803476671ee65d9879:258697081,b60237a66e61778090f2437fde306029:342788040,f8d137a642617780e9d3049365ec337f:-1462873290,5261f3a6a66177801d22e02c084abfcb:936720544,3b21bb6651617780b743fbf08434a14f:-1780981286,3fa07b669d6177803f26c4af5a9ec699:-1943723782,4c70776650617780365aae2e6351cf90:-15581048,f88f63e20461778089448ff6dfc76957:-435415250,e21f67e2006177803e1717e4d4f74623:1311302703,7f5d6ba22c6177802a8baff66856c672:43925133,3e2da7a2126177809f21490ea35319ad:-41246789,2b8cab6277617780e776fc75e0585f05:-1079355133,932ce762b36177800051f8b070a06fe7:221952334,99e8af6ee22177809f3f4bd7f531b8aa:-1053381699,ded823ae9f217780c8b770ab7cd3e0c2:-1316555581,0e782b6eeb2177804144297bd7edd921:-298414889,1828ef2ed12177800d1bc417adfd2957:694690136,3508e72eb9217780ae9445ab2105c0f7:-1354922335,1737e72e01217780625b9126df664bc9:213279749,d5b36b2aa8217780dbdf9689153f31f8:1472123218,ed936f2af8217780f4c5cee73cb8fded:-250489152,8a83e72ad7217780025f00e7ea774b3e:1978558048,0323a72ac721778009738e103b8f6aca:-1608256360,6da2afe6f021778054920057ee06d6c4:-1571723208,d8522be6f3217780cf646e600e058627:1839116105,606fd3e291217780f1951f08f968fd1c:701365884,585f5b262121778001bb03d96b897956:-1135541364,b00f1726c421778075270dd37a47f0ea:-351818764,3bfe1726622177808ab12d4b31bb27d0:-1507189722,39ce1326ec21778044457a8d34c4ed8d:-117757381,34bedfe201217780f1a65905fcf197aa:-537096977,0fcd93e239217780a5782617665a50f9:1607972623,262faae6ad6d3780cce6a03bea4c165b:208475592,fade2ae63b6d37807362eee4e44733fa:1805047339,406e2ea6f06d37802d3c56c9f4563836:1149815932,4eeda6a6696d378046081aa1f8c857d8:86215162,4cdd22a6906d37804445ec59ee6a41a7:-1536404225,a18d22a6896d3780b3cf255b15d56e96:-1208380913,a36962a2306d3780b1cd2fa5cf43824f:-1827962322,5b5962a2466d3780d958e567eae73547:725806370,dc75a2aef02d378048d61b3b87e21c28:1272694081,ea05ae6e322d37809ed7e9d340dcfb67:1311260081,cfc4ae6e492d37809496724720f0585e:-1304209775,4af06aaa912d37804920b05963052ee7:725276505,e9102e6a0f2d3780d7e6e300ba2ff512:445224745,e05e96e6b22d3780f569f5cad5ec390a:2006516077,7b3edea6c62d37801718bedef9377b35:1374297490,48dddea61c2d37806c312c3cb590412b:989124051,73ad92a6f22d378010e92c005c680a05:-1304689346,d2ecdee2332d37807c123b3d96fda9e2:-51154412,fcb59aae6ae93780122d42c6367e0112:544920067,7a759eae0ee93780949cd308413a8ec1:1444579747,93635e2e62e937803c6b91b5e1d383da:-316009223,ef03da2e77e937800c00fb4b1eb432bd:-1296366825,07d2deea0be93780525b87c5a361e95f:-992654696,bcc2d62e01e93780596a25de6ec1bec1:-127637681,cf22d6ea9be93780e22e370504c680ee:1967051653,66a1d6ea43e93780c43de56fb3544708:-1243482492,1871d2eadde93780d2de76e8834abba5:-2047018907,25519aaa96e93780d582649295121a84:-1833612661,c1d0d2aa67e937806a16430cb1db2eea:-807289132,3c5012aa3de937806053f228fe860f13:1473903165,c810de6a87e93780d5583550ddcee653:673049503,d1dfc26a4ae93780326fcc123eeb1133:-1653731401,68cf866a6de93780be587383dcf82fd6:-1646388418,f17f866ae3e93780d383920b24ce78c9:1656839340,02faca2641e93780ba030c3111292d4a:312535974,eecac62636e93780d6a1cc91d01238c2:-24589067,a69ac62670e93780752cba92322c03bb:1573599740,b81a86e2b5e93780901ce36f09856f29:-1847336232,609946e23be93780504f1550538f0ce8:-389266470,056806a220e93780c1cca9aca76ffc07:-1948754663,aa588e622fe93780d6d5fd0d44739837:-1728026650,a72802a2d4e93780764d8c54281e8bb9:639407417,7a278e22a8e93780f2d3e097e207bbda:1958288637,2fe60622a8e9378098208e6ff83bed92:549205341,b4568aeeeca93780d2f2050cbab5ca83:2084142778,5ca58aee9ea93780b7d6ebe8b7bbb67b:524276031,0c950aee55a9378043a4f50f4ccd51d6:1900435728,e57542ee70a93780771744211960b2b4:990979551,6345ceae2ea937808cb27e8a9cabdcf9:-1667019346,05f4ceae87a93780c64a3d4ee945bb4f:1553139335,b07402ae8ca937807ab7ab962e263bff:-858017967,1ea3ce2e0fa937803278bdd648e8d08e:1715247383,c5caee962fadf3802b6fedbb5d96569a:-1519359806,eb1a269656adf3808d71746cfb34cfa8:43766101,47b9a69643adf38015361cc981cbbf26:1254096681,6b79ae560cadf3807ad5ce92245c484f:-1206194423,6cb626921dadf380a8633f2e87949a6e:-2070426028,8b36aa92ccadf3801d7cecd42d162356:1773109545,8ec56e527dadf380014fe200b592db88:-359738812,f0c5269247adf380fcebea8a61babd1e:1893930678,5b156252f2adf380522a1abf76b175d3:1111232054,e1742ede6f6df380d8230569ab0a6ce2:1893509260,a2642252f5adf380b5f618aed2e250c7:-347126531,fec3a6123eadf38006a37501401e6dc6:882168867,38e226de1f6df3800e50a4a29fdf7f1a:-244542243,1dc226dee86df380fd1b9951e13ac011:-717121498,27a2a2ded56df38038db3e038b030952:-1140195394,34122a9e3c6df38011edd871b1b71bf9:1840976208,fa022a9e136df38052c3dc8c224c7cf1:-1645996047,b2e1a29e1d6df380d5c2d2fb2d1246ef:-510334423,52b1229e766df3805e7bebbfcc03da20:-310129204,a3816e5e0b6df3808f7e91c4289aaa57:359216068,7581225ec96df38097b78453b6f52900:2124090687,c7316a5e7d6df38061c3601e3ef59414:706778681,c221665eae6df38058f4257f164ce2d6:-1716547700,bbf0665e206df3801f9911cb337392ce:347760453,6380a61e706df38055ebab144ef6053a:-2089218106,5ddf9ada556df3808fdccdfc351c51c4:1057832457,8cbf921ebd6df380346525a7c9c978ab:-1972662433,744fd6da516df380b13f362cb52514e5:329415444,332f9adad46df380ad3138e15e93febe:822696292,727ede9ae76df38029d6a198d8095de1:-1892786233,120eda9ab86df38060dc92b37e833ea0:632332669,e2cbd61afd6df380be1b5652af9fb36b:299702072,b8cbd61ad06df3808adf89293bf5ab63:-1101430844,51fa1ad68d6df3802c09e8b105cfdae4:-1006918967,44ca1ad6dc6df38021afc275d74959db:-1199535911,c80716169d6df3802948a8e75f3bb6f7:-1231174114,525c8a5ac32df3807b7534b913b25f0c:1843169020,fb1cca1aff2df3808db64f923f69c2c7:-2068050190,369b8ad6752df38040c03be218a15bb3:418185113,74e9c296152df380beb73cc184a125f9:-2106333094,a1894a56aa2df38011f723eb9b222a09:-312379375,c879ca563e2df380f1c3249aa0c57d88:192049786,96490656492df380599d4a88a54583da:1157440612</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_dd5fa22adb6d3780d033df8b4b9619a7</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-24 11:32:20</sys_created_on><sys_id>dd5fa22adb6d3780d033df8b4b9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideRecord.setValue</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_dd5fa22adb6d3780d033df8b4b9619a7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-24 11:32:20</sys_updated_on><target_name>GlideRecord.setValue</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1004369537</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>11a7884edbd6bb00efd54a92ba961996</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef280000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>GlideRecord.setValue</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>115fa22a236d37805b86d27b6f3beda9</update_guid>\n    <update_guid_history>115fa22a236d37805b86d27b6f3beda9:-224529823</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_container_c4f982d6db2df380d033df8b4b9619a8</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Demo SP Service Outage Card - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_outcard\">6ca9ce56db2df380d033df8b4b9619e8</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:10:29</sys_created_on><sys_id>c4f982d6db2df380d033df8b4b9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Demo SP Service Outage Card - Container 1</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sp_container_c4f982d6db2df380d033df8b4b9619a8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:10:29</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n    <payload_hash>-849465353</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>15a7884edbd6bb00efd54a92ba961992</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdee720000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>Demo SP Service Outage Card - Container 1</target_name>\n    <type>Container</type>\n    <update_domain>global</update_domain>\n    <update_guid>4cf982d6b52df380fae4288adf20d1a9</update_guid>\n    <update_guid_history>4cf982d6b52df380fae4288adf20d1a9:1255736354</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_9f8c8e5adb2df380d033df8b4b96196e</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>9f8c8e5adb2df380d033df8b4b96196e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MajorIncident</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_9f8c8e5adb2df380d033df8b4b96196e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>MajorIncident</target_name><target_scope display_value=\"SP - MIM Service Outages\">f3b39630db9a57405c025a6adc9619df</target_scope><target_type>sys_script_include</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-889655717</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>15a7884edbd6bb00efd54a92ba961995</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeedc0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>MajorIncident</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>5b8c8e5a832df380da0476079b40156f</update_guid>\n    <update_guid_history>5b8c8e5a832df380da0476079b40156f:609363121</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_578c8e5adb2df380d033df8b4b96196d</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>578c8e5adb2df380d033df8b4b96196d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_578c8e5adb2df380d033df8b4b96196d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>incident</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1171257199</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>19a7884edbd6bb00efd54a92ba961994</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeef80000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>incident</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>138c8e5afb2df380e301d3cad36f8e6e</update_guid>\n    <update_guid_history>138c8e5afb2df380e301d3cad36f8e6e:-1180756687</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_30896296dbadf380d033df8b4b961969</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 16:28:26</sys_created_on><sys_id>30896296dbadf380d033df8b4b961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideRecord.insert</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_30896296dbadf380d033df8b4b961969</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 16:28:26</sys_updated_on><target_name>GlideRecord.insert</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1547131839</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>1da7884edbd6bb00efd54a92ba961993</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef070000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>GlideRecord.insert</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>f889629673adf380bf7028c3e5a61c69</update_guid>\n    <update_guid_history>f889629673adf380bf7028c3e5a61c69:-1079399199</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_column_fa2ac2d6db2df380d033df8b4b961997</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">aa2ac2d6db2df380d033df8b4b961995</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:11:29</sys_created_on><sys_id>fa2ac2d6db2df380d033df8b4b961997</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sp_column_fa2ac2d6db2df380d033df8b4b961997</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:11:29</sys_updated_on></sp_column></record_update>]]></payload>\n    <payload_hash>-2072687664</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>51a7884edbd6bb00efd54a92ba961992</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdee8f0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>1</target_name>\n    <type>Column</type>\n    <update_domain>global</update_domain>\n    <update_guid>7e2ac2d6162df380a88bad530d7d4998</update_guid>\n    <update_guid_history>7e2ac2d6162df380a88bad530d7d4998:1064817285</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_9d5fa22adb6d3780d033df8b4b9619a9</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-24 11:32:20</sys_created_on><sys_id>9d5fa22adb6d3780d033df8b4b9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>GlideRecord.update</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_9d5fa22adb6d3780d033df8b4b9619a9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-24 11:32:20</sys_updated_on><target_name>GlideRecord.update</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1364653503</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>51a7884edbd6bb00efd54a92ba961995</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef390000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>GlideRecord.update</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>595fa22a076d3780e7f4fddbcac702aa</update_guid>\n    <update_guid_history>595fa22a076d3780e7f4fddbcac702aa:490406625</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_578c8e5adb2df380d033df8b4b961966</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>578c8e5adb2df380d033df8b4b961966</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ServiceOutage</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_578c8e5adb2df380d033df8b4b961966</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>ServiceOutage</target_name><target_scope display_value=\"SP - MIM Service Outages\">f3b39630db9a57405c025a6adc9619df</target_scope><target_type>sys_script_include</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1112817691</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>55a7884edbd6bb00efd54a92ba961994</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeeef0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>ServiceOutage</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>538c8e5a992df38062ab508232c51067</update_guid>\n    <update_guid_history>538c8e5a992df38062ab508232c51067:-991895237</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_178c8e5adb2df380d033df8b4b961964</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:53</sys_created_on><sys_id>178c8e5adb2df380d033df8b4b961964</sys_id><sys_mod_count>0</sys_mod_count><sys_name>cmdb_ci_service</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_178c8e5adb2df380d033df8b4b961964</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:53</sys_updated_on><target_name>cmdb_ci_service</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1788181277</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>59a7884edbd6bb00efd54a92ba961993</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeeaa0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>cmdb_ci_service</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>978c8e5ab02df380219d2498ea203265</update_guid>\n    <update_guid_history>978c8e5ab02df380219d2498ea203265:-524608441</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_row_aa2ac2d6db2df380d033df8b4b961995</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Demo SP Service Outage Card - Container 1\">c4f982d6db2df380d033df8b4b9619a8</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:11:29</sys_created_on><sys_id>aa2ac2d6db2df380d033df8b4b961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sp_row_aa2ac2d6db2df380d033df8b4b961995</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:11:29</sys_updated_on></sp_row></record_update>]]></payload>\n    <payload_hash>-1329511677</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>5da7884edbd6bb00efd54a92ba961992</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdee820000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>1</target_name>\n    <type>Row</type>\n    <update_domain>global</update_domain>\n    <update_guid>be2ac2d6a22df38040e4f82a37253896</update_guid>\n    <update_guid_history>be2ac2d6a22df38040e4f82a37253896:2047180142</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_db8c8e5adb2df380d033df8b4b96196b</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>db8c8e5adb2df380d033df8b4b96196b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ScopedGlideElement</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_db8c8e5adb2df380d033df8b4b96196b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>ScopedGlideElement</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1913318529</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>5da7884edbd6bb00efd54a92ba961995</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeec60000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>ScopedGlideElement</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>978c8e5a6d2df380c63a677173a0556c</update_guid>\n    <update_guid_history>978c8e5a6d2df380c63a677173a0556c:-1414619359</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_571f6326db617780d033df8b4b9619f7</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-24 16:11:00</sys_created_on><sys_id>571f6326db617780d033df8b4b9619f7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident_task</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_571f6326db617780d033df8b4b9619f7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-24 16:11:00</sys_updated_on><target_name>incident_task</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1445666971</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>91a7884edbd6bb00efd54a92ba961994</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef440000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>incident_task</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>d71f63263e617780e7c262be30c20df8</update_guid>\n    <update_guid_history>d71f63263e617780e7c262be30c20df8:-935563643</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_138c8e5adb2df380d033df8b4b961971</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>138c8e5adb2df380d033df8b4b961971</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ServiceData</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_138c8e5adb2df380d033df8b4b961971</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>ServiceData</target_name><target_scope display_value=\"SP - MIM Service Outages\">f3b39630db9a57405c025a6adc9619df</target_scope><target_type>sys_script_include</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>2009613235</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>95a7884edbd6bb00efd54a92ba961993</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeee60000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>ServiceData</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>db8c8e5ac62df3802d38a30592d68171</update_guid>\n    <update_guid_history>db8c8e5ac62df3802d38a30592d68171:-970171831</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_page_6ca9ce56db2df380d033df8b4b9619e8</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_outcard</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:10:20</sys_created_on><sys_id>6ca9ce56db2df380d033df8b4b9619e8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_outcard</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sp_page_6ca9ce56db2df380d033df8b4b9619e8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:10:20</sys_updated_on><title>Demo SP Service Outage Card</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6ca9ce56db2df380d033df8b4b9619e8\"/></record_update>]]></payload>\n    <payload_hash>-2120067087</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>99a7884edbd6bb00efd54a92ba961992</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdee640000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>x_pisn_sp_outcard</target_name>\n    <type>Page</type>\n    <update_domain>global</update_domain>\n    <update_guid>42e9c296e92df380ae357857fa51b8ff</update_guid>\n    <update_guid_history>42e9c296e92df380ae357857fa51b8ff:820265126</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_d38c8e5adb2df380d033df8b4b961968</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>d38c8e5adb2df380d033df8b4b961968</sys_id><sys_mod_count>0</sys_mod_count><sys_name>cmdb_ci_outage</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_d38c8e5adb2df380d033df8b4b961968</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>cmdb_ci_outage</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1464426127</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>99a7884edbd6bb00efd54a92ba961995</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeebb0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>cmdb_ci_outage</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>9f8c8e5a342df380fad42641cce22268</update_guid>\n    <update_guid_history>9f8c8e5a342df380fad42641cce22268:-1510642863</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_955fa22adb6d3780d033df8b4b9619ab</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>write</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-24 11:32:20</sys_created_on><sys_id>955fa22adb6d3780d033df8b4b9619ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>cmdb_ci_outage</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_955fa22adb6d3780d033df8b4b9619ab</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-24 11:32:20</sys_updated_on><target_name>cmdb_ci_outage</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1598056792</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>9da7884edbd6bb00efd54a92ba961994</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef300000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>cmdb_ci_outage</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>515fa22a676d3780f0ee5b87101c06ac</update_guid>\n    <update_guid_history>515fa22a676d3780f0ee5b87101c06ac:1945309832</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_app_5c198252db2df380d033df8b4b9619d4</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Outage Card</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_outcard</scope><scoped_administration>false</scoped_administration><short_description/><source>x_pisn_sp_outcard</source><store_correlation_id>REPOAPP0000001319</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:06:41</sys_created_on><sys_id>5c198252db2df380d033df8b4b9619d4</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-17 12:58:52</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.0</version></sys_app></record_update>]]></payload>\n    <payload_hash>1044236439</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>d1a7884edbd6bb00efd54a92ba961993</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdee440000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>SP Outage Card</target_name>\n    <type>Custom Application</type>\n    <update_domain>global</update_domain>\n    <update_guid>3a49669e4cceb780302742ffc6fe978d</update_guid>\n    <update_guid_history>3a49669e4cceb780302742ffc6fe978d:1044236439,4a45f1fe8139bb40e2f32aec807d8def:-84749846,ac19c256cc2df380fbe07fdc681f72a1:-2049379111</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_df8c8e5adb2df380d033df8b4b961969</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:21:54</sys_created_on><sys_id>df8c8e5adb2df380d033df8b4b961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>MSO</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_df8c8e5adb2df380d033df8b4b961969</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:21:54</sys_updated_on><target_name>MSO</target_name><target_scope display_value=\"SP - MIM Service Outages\">f3b39630db9a57405c025a6adc9619df</target_scope><target_type>sys_script_include</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1697484703</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>d1a7884edbd6bb00efd54a92ba961996</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdeed10000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>MSO</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>9b8c8e5a332df3809f3ee1a273b97e6a</update_guid>\n    <update_guid_history>9b8c8e5a332df3809f3ee1a273b97e6a:-457957067</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_instance_6f3ac6d6db2df380d033df8b4b961912</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">fa2ac2d6db2df380d033df8b4b961997</sp_column><sp_widget display_value=\"Service Outage Card\">88298656db2df380d033df8b4b961906</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 14:11:49</sys_created_on><sys_id>6f3ac6d6db2df380d033df8b4b961912</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sp_instance_6f3ac6d6db2df380d033df8b4b961912</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 14:11:49</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6f3ac6d6db2df380d033df8b4b961912\"/></record_update>]]></payload>\n    <payload_hash>1883811823</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>d5a7884edbd6bb00efd54a92ba961992</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdee9d0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name/>\n    <type>Instance</type>\n    <update_domain>global</update_domain>\n    <update_guid>f73ac6d6a62df38075a6c11bf5239f14</update_guid>\n    <update_guid_history>f73ac6d6a62df38075a6c11bf5239f14:986912548</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_bc896296dbadf380d033df8b4b961966</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 16:28:26</sys_created_on><sys_id>bc896296dbadf380d033df8b4b961966</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: string utilities</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_bc896296dbadf380d033df8b4b961966</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 16:28:26</sys_updated_on><target_name>Glide API: string utilities</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-589489477</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>d5a7884edbd6bb00efd54a92ba961995</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef110000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>Glide API: string utilities</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>30896296edadf3807c274faa969c4968</update_guid>\n    <update_guid_history>30896296edadf3807c274faa969c4968:-1054138543</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_9042bfa6db617780d033df8b4b961916</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>create</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-24 16:24:44</sys_created_on><sys_id>9042bfa6db617780d033df8b4b961916</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident_task</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_9042bfa6db617780d033df8b4b961916</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-24 16:24:44</sys_updated_on><target_name>incident_task</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1245845493</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>d9a7884edbd6bb00efd54a92ba961994</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef530000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>incident_task</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>184233e688617780b54b03cdd819c8cf</update_guid>\n    <update_guid_history>184233e688617780b54b03cdd819c8cf:289239519</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_38896296dbadf380d033df8b4b96196a</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>create</operation><source_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 16:28:26</sys_created_on><sys_id>38896296dbadf380d033df8b4b96196a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident</sys_name><sys_package display_value=\"SP Outage Card\" source=\"x_pisn_sp_outcard\">5c198252db2df380d033df8b4b9619d4</sys_package><sys_policy/><sys_scope display_value=\"SP Outage Card\">5c198252db2df380d033df8b4b9619d4</sys_scope><sys_update_name>sys_scope_privilege_38896296dbadf380d033df8b4b96196a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 16:28:26</sys_updated_on><target_name>incident</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>2115602539</payload_hash>\n    <remote_update_set display_value=\"SP Outage Card\">1da7884edbd6bb00efd54a92ba961991</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 16:49:50</sys_created_on>\n    <sys_id>dda7884edbd6bb00efd54a92ba961993</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9efdef1f0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 16:49:50</sys_updated_on>\n    <table/>\n    <target_name>incident</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>c189629664adf380f6a17eb1c883e46b</update_guid>\n    <update_guid_history>c189629664adf380f6a17eb1c883e46b:-2125356789</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/widget/pe-sp-service-outage-card.u-body-html-template.html",
    "content": "<div class=\"x-pisn-sp-outcard\" ng-if=\"c.data.outages.length>0\">\n  <h3>{{::c.data.name}}</h3>\n  <div class=\"navigation noselect\" ng-if=\"c.data.outages.length > 1\">\n    <span class=\"info m-r-xs text-muted\">{{c.currentIndex + 1}} ${of} {{::c.data.outages.length}}</span>\n    <div class=\"btn-group\" role=\"group\" aria-label=\"...\">\n      <button type=\"button\" class=\"btn btn-default m-r-xs padder\" ng-click=\"c.prev()\"\n        ng-disabled=\"c.currentIndex == 0\"><span class=\"glyphicon glyphicon-chevron-left font-thin\"></span></button>\n      <button type=\"button\" class=\"btn btn-default m-l-xs padder\" ng-click=\"c.next()\"\n        ng-disabled=\"c.currentIndex == (c.data.outages.length - 1)\"><span\n          class=\"glyphicon glyphicon-chevron-right font-thin\"></span></button>\n    </div>\n  </div>\n  <div class=\"panel panel-{{c.getColor(outage)}}\"\n    ng-repeat=\"outage in c.data.outages | filter: { sys_id: c.current } track by outage.sys_id\">\n    <div class=\"panel-heading\"><span class=\"m-r-sm glyphicon\"\n        ng-class=\"{'glyphicon-remove-circle': c.getColor(outage)=='danger', 'glyphicon-ok-circle': c.getColor(outage)=='success' }\"></span>${Affected\n      by} <span ng-if=\"outage.short_description\">{{outage.short_description}}</span><span\n        ng-if=\"!outage.short_description\">${outage}</span><small class=\"pull-right add-info\">${Opened}\n        <sn-time-ago timestamp=\"outage.begin_ts\" /></small></div>\n    <div class=\"panel-body\">\n      <div class=\"outage-details\" ng-if=\"!c.isResolved(outage)\">\n        <p ng-bind-html=\"outage.details\"></p>\n        <p><strong>${Estimate resolution}</strong> ${at} <span\n            ng-if=\"outage.outage_detail && outage.outage_detail.estd_timestamp\" class=\"font-bold\">\n            <sn-time-ago timestamp=\"outage.outage_detail.estd_timestamp\" />\n          </span>\n          <span ng-if=\"!outage.outage_detail || !outage.outage_detail.estd_timestamp\">${unknown}</span>\n        </p>\n        <button type=\"button\" class=\"btn btn-danger pull-right\" ng-click=\"c.createIncident(outage)\"\n          ng-if=\"!outage.is_affected && !c.isResolved(outage) && outage.incidents.length == 0\">{{::c.options.task_creation_label}}</button>\n      </div>\n      <div ng-if=\"c.isResolved(outage)\">\n        <p>${We put in place a fix to address timeout issue reported by users of} {{c.data.name}}</p>\n      </div>\n      <button type=\"button\" class=\"btn btn-link btn-link-{{c.getColor(outage)}} no-padder m-t\"\n        ng-click=\"c.goToPage({id: 'service_status', service: c.data.sys_id})\">${View details}<span\n          class=\"glyphicon glyphicon-arrow-right font-thin m-l-xs\"></span></button>\n    </div>\n    <table class=\"table table-incident m-b-none\">\n      <tr class=\"b-t\" ng-repeat=\"task in outage.incidents\"\n        ng-click=\"c.openTask({sys_id: task.sys_id, number: task.number, table: task.__table})\">\n        <td class=\"text-{{c.getTaskColor(task)}} font-bold\">{{task.number}}</td>\n        <td>{{task.short_description}}</td>\n        <td class=\"just-desktop text-right text-{{c.getTaskColor(task)}} font-bold\">{{task.state}}</td>\n      </tr>\n    </table>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/widget/pe-sp-service-outage-card.u-client-script.js",
    "content": "function SPServiceOutageCardController($location, spModal, $rootScope) {\n  /* widget controller */\n  var c = this;\n\n  c.isResolved = function (outage) {\n    if (outage.outage_detail && outage.outage_detail.state &&\n      (outage.outage_detail.state.toLowerCase() == 'resolved' || outage.outage_detail.state.toLowerCase() == 'closed'))\n      return true;\n    return false;\n  };\n\n  c.getColor = function (outage) {\n    var color = 'danger';\n    if (c.isResolved(outage))\n      color = 'success';\n    return color;\n  };\n\n  c.getTaskColor = function (task) {\n    var color = 'danger';\n    if (task.state == 'Resolved' || task.state == 'Closed')\n      color = 'success';\n    return color;\n  };\n\n  c.current = '';\n  c.currentColor = 'default';\n  c.currentIndex = 0;\n  if (c.data.outages.length > 0) {\n    c.current = c.data.outages[0].sys_id;\n    c.currentColor = c.getColor(c.data.outages[0]);\n  }\n\n  c.createIncident = function (outage) {\n    c.server.get({\n      action: 'create',\n      sys_id: c.data.sys_id,\n      outage_sys_id: outage.sys_id\n    }).then(function (response) {\n      c.data = response.data;\n    });\n  };\n\n  c.prev = function () {\n    c.currentIndex--;\n    c.current = c.data.outages[c.currentIndex].sys_id;\n    c.currentColor = c.getColor(c.data.outages[c.currentIndex]);\n  };\n\n  c.next = function () {\n    c.currentIndex++;\n    c.current = c.data.outages[c.currentIndex].sys_id;\n    c.currentColor = c.getColor(c.data.outages[c.currentIndex]);\n  };\n\n  c.goToPage = function (params) {\n    $location.search(params);\n  };\n\n  c.openTask = function (params) {\n    spModal.open({\n      title: '${You are viewing }' + ' ' + params.number,\n      widget: 'widget-form',\n      buttons: [{\n        label: '${Close}',\n        cancel: true\n      }],\n      footerStyle: {\n        'display': 'none'\n      },\n      size: 'lg',\n      widgetInput: {\n        table: params.table,\n        sys_id: params.sys_id,\n        view: 'sp'\n      }\n    });\n  };\n\n  $rootScope.$on('spModel.gForm.initialized', function (event, gFormInstance) {\n    c.cssModal();\n    if (gFormInstance.getUniqueValue() == c.data.sys_id) {\n      var fields = gFormInstance.getFieldNames();\n      for (var i = 0; i < fields.length; i++)\n        gFormInstance.setReadOnly(fields[i], true);\n    }\n  });\n\n}\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/widget/pe-sp-service-outage-card.u-css.scss",
    "content": ".x-pisn-sp-outcard {\n  position: relative;\n  max-width: 500px;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility;\n}\n\n.navigation {\n  position: absolute;\n  right: 0;\n  top: 0;\n\n  span.info {\n    vertical-align: bottom;\n  }\n\n  .btn {\n    padding-top: 2.5px;\n    padding-bottom: 2.5px;\n  }\n}\n\n.panel-heading {\n  .glyphicon {\n    color: white;\n  }\n\n  .add-info {\n    margin-top: 3px;\n  }\n}\n\n.btn:focus,\n.btn.focus,\n.btn:active:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n.btn-link-danger {\n  color: $brand-danger !important;\n}\n\n.btn-link-success {\n  color: $brand-success !important;\n}\n\n.btn-link .glyphicon-arrow-right {\n  float: right;\n  margin-top: 2px;\n}\n\n.table-incident {\n  border: 0 !important;\n\n  td:first-child {\n    padding-left: 15px;\n  }\n\n  td:last-child {\n    padding-right: 15px;\n  }\n}\n\n.noselect {\n  -webkit-touch-callout: none;\n  /* iOS Safari */\n  -webkit-user-select: none;\n  /* Safari */\n  -khtml-user-select: none;\n  /* Konqueror HTML */\n  -moz-user-select: none;\n  /* Firefox */\n  -ms-user-select: none;\n  /* Internet Explorer/Edge */\n  user-select: none;\n  /* Non-prefixed version, currently\n                                  supported by Chrome and Opera */\n}\n\n\n@media (min-width: 768px) {}\n\n@media (max-width: 768px) {\n  .just-desktop {\n    display: none;\n  }\n}\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/widget/pe-sp-service-outage-card.u-link-script.js",
    "content": "function link(scope, element, attrs, controller) {\n  scope.c.closeModal = function () {\n    var button = $('body').find('button.close');\n    angular.element(button).scope().$dismiss();\n  };\n  scope.c.cssModal = function () {\n    var modalBody = $('body').find('.modal-body');\n    modalBody.css('padding', '0');\n    modalBody.css('-webkit-font-smoothing', 'antialiased');\n    modalBody.css('-moz-osx-font-smoothing', 'grayscale');\n    modalBody.css('text-rendering', 'optimizeLegibility');\n    var panel = modalBody.find('.panel');\n    panel.css('border', '0');\n    panel.css('box-shadow', 'none');\n  };\n}\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/widget/pe-sp-service-outage-card.u-option-schema.json",
    "content": "[\n  {\n    \"displayValue\": \"Business Service\",\n    \"name\": \"service\",\n    \"section\": \"other\",\n    \"label\": \"Service\",\n    \"type\": \"reference\",\n    \"value\": \"cmdb_ci_service\",\n    \"ed\": {\n      \"reference\": \"cmdb_ci_service\"\n    }\n  },\n  {\n    \"name\": \"task_creation_label\",\n    \"section\": \"other\",\n    \"default_value\": \"I'm Affected\",\n    \"label\": \"Task Creation Label\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-sp-service-outage-card/widget/pe-sp-service-outage-card.u-server-script.js",
    "content": "(function () {\n  input = input || {};\n  data.sys_id = options.sys_id || input.sys_id || $sp.getParameter(\"sys_id\");\n  data.outages = [];\n\n  if (!data.sys_id)\n    return;\n\n  var serviceGR = new GlideRecord(\"cmdb_ci_service\");\n  if (serviceGR.get(data.sys_id))\n    data.name = serviceGR.getDisplayValue();\n\n  if (input.action && input.action == 'create') {\n    var gr = new GlideRecord('cmdb_ci_outage');\n    if (gr.get(input.outage_sys_id)) {\n      if (!gr.getValue('task_number')) {\n        var grIncInsert = new GlideRecord('incident');\n        grIncInsert.caller_id = gs.getUserID();\n        grIncInsert.cmdb_ci = serviceGR.getUniqueValue();\n        grIncInsert.business_service = serviceGR.getUniqueValue();\n        grIncInsert.contact_type = 'email';\n        grIncInsert.short_description = gs.getMessage('Major incident for outage affected by') + ' ' + gr.getDisplayValue('short_description');\n        data.incident_sys_id = grIncInsert.insert();\n        var grUpdate = new GlideRecord('cmdb_ci_outage');\n        grUpdate.get(input.outage_sys_id);\n        grUpdate.setValue('task_number', data.incident_sys_id);\n        grUpdate.update();\n      }\n    }\n  }\n\n  var outageGR = x_pisn_mso.ServiceOutage.outagesGR(data.sys_id);\n  outageGR.addQuery('type', 'Outage');\n  outageGR.orderByDesc('sys_updated_on');\n  outageGR.query();\n  var outage = {};\n  var task = {};\n\n  while (outageGR.next()) {\n\n    outage = new x_pisn_mso.ServiceOutage(outageGR).serialize();\n    outage.message = outageGR.getDisplayValue('message');\n    outage.short_description = outageGR.getDisplayValue('short_description');\n    outage.begin_ts = outageGR.getValue('begin');\n    outage.sys_updated_on = outageGR.getValue('sys_updated_on');\n    outage.incidents = [];\n    if (outageGR.task_number && outageGR.task_number.sys_class_name == 'incident') {\n      var incidentID = outageGR.task_number.toString();\n      var incidentGR = new GlideRecord('incident');\n      incidentGR.get(incidentID);\n      if (incidentGR.caller_id.toString() == gs.getUserID()) {\n        task = {};\n        task.sys_id = incidentGR.getUniqueValue();\n        task.number = incidentGR.number.getDisplayValue();\n        task.short_description = incidentGR.short_description.getDisplayValue();\n        task.state = incidentGR.state.getDisplayValue();\n        task.__table = incidentGR.getTableName();\n        outage.incidents.push(task);\n      }\n\n      outage.outage_detail = new x_pisn_mso.MajorIncident(incidentID).getMainInfo();\n      outage.services_impacted = x_pisn_mso.ServiceData.getImpactedServices(incidentID);\n      outage.task = incidentID;\n      outage.task_caller = incidentGR.caller_id.toString();\n      outage.is_affected = outage.task_caller == gs.getUserID() && outage.incidents.length == 0;\n\n      if (!outage.is_affected) {\n        var childGR = new GlideRecord('incident');\n        childGR.addQuery('caller_id', gs.getUserID());\n        childGR.addQuery('parent', incidentID);\n        childGR.query();\n        outage.is_affected = childGR.hasNext();\n      }\n    }\n    data.outages.push(outage);\n  }\n\n})();\n"
  },
  {
    "path": "src/pe-sp-simple-map/README.md",
    "content": "# Sp Simple Map\n\n## Description\n\nSimple Map is a widget which will quickly make you able to use all the available Google Maps APIs in Service Portal. The initial rendering is minimal, so you can easily enable and show what you need through the all available widget and directives options. The only requisite is to sign up on [Google Cloud](https://cloud.google.com/free/ \"Google Cloud Platform Free Tier\") and obtain a valid API key.\n\n## Screenshots\n\n![Customize your map style with the Google Styling Wizard - https://mapstyle.withgoogle.com/](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-simple-map/images/pe-sp-simple-map-01.png)\n\n![Sp Simple Map with style Retro](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-simple-map/images/pe-sp-simple-map-02.png)\n\n![Sp Simple Map with style Silver](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-simple-map/images/pe-sp-simple-map-03.png)\n\n## Installation\n\nDownload and install update set **[pe-sp-simple-map.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-sp-simple-map/pe-sp-simple-map.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\nPlease replace the API Key in the Widget Dependency \"x_pisn_sp_ng_map Google Map API key\" with yours.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/newyork-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nAvailable options:\n\n* Origin\n\n* Destination\n\n* Current Position\n\n* Current Position Image\n\n* Travel Mode\n\n### UI Dependencies\n\n* [ngMap](https://rawgit.com/allenhwkim/angularjs-google-maps/master/build/docs/index.html)\n\n* valid API key from [Google Cloud Platform](https://console.cloud.google.com/home/dashboard)\n"
  },
  {
    "path": "src/pe-sp-simple-map/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Data Presentation\",\n  \"common-name\": \"Sp Simple Map\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\",\n    \"New York\"\n  ],\n  \"contributors\": [\n    \"Fabio Petito\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-sp-simple-map\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Simple Map is a widget which will quickly make you able to use all the available Google Maps APIs in Service Portal.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-sp-simple-map/pe-sp-simple-map.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-09-27 17:08:52\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<application_name>Sp Simple Map</application_name>\n<application_scope>x_pisn_sp_ng_map</application_scope>\n<application_version>1.0.2</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Minimal Ng Map</description>\n<inserted/>\n<name>Sp Simple Map</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>40a4f85bdb888c10d033df8b4b96199a</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>dfa4bc5bdb888c10d033df8b4b96192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_f7d6cc85db004010d033df8b4b961946</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_ng_map</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:08:15</sys_created_on><sys_id>f7d6cc85db004010d033df8b4b961946</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_ng_map</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>sp_page_f7d6cc85db004010d033df8b4b961946</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:08:15</sys_updated_on><title>NgMap Demo</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f7d6cc85db004010d033df8b4b961946\"/></record_update>]]></payload>\n<payload_hash>-1870850250</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>13a4bc5bdb888c10d033df8b4b96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a2a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>d538cc85f7004010f5fbb4f7141ebc68</update_guid>\n<update_guid_history>d538cc85f7004010f5fbb4f7141ebc68:655984143</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_5bd58045db004010d033df8b4b96197e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>NgMap</module><name>x_pisn_sp_ng_map NgMap</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 13:58:23</sys_created_on><sys_id>5bd58045db004010d033df8b4b96197e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_pisn_sp_ng_map NgMap</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>sp_dependency_5bd58045db004010d033df8b4b96197e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:30:27</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>-1316111286</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>17a4bc5bdb888c10d033df8b4b96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a490000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map NgMap</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>624d404191404010a215ac95dcbc8664</update_guid>\n<update_guid_history>624d404191404010a215ac95dcbc8664:-671960943,53064445d300401048e02fed357a4ad5:-41062258,30f5044539004010ec89e064b031809d:1126799074</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_bcf50445db004010d033df8b4b96199d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"x_pisn_sp_ng_map NgMap\">5bd58045db004010d033df8b4b96197e</sp_dependency><sp_widget display_value=\"Sp Simple Map\">836400c1db004010d033df8b4b9619eb</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 13:58:23</sys_created_on><sys_id>bcf50445db004010d033df8b4b96199d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_ng_map Ng Map.Sp Ng Map</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>m2m_sp_widget_dependency_bcf50445db004010d033df8b4b96199d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 13:58:23</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-2120694397</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>1ba4bc5bdb888c10d033df8b4b96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b229aa0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map Ng Map.Sp Ng Map</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>30f50445f7004010ae5682f6980723a0</update_guid>\n<update_guid_history>30f50445f7004010ae5682f6980723a0:-1458362333</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_b5164845db004010d033df8b4b961928</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;x_pisn_sp_ng_map.x_pisn_sp_ng_map NgMap&lt;/name&gt;&lt;script&gt;&lt;![CDATA[!function(e,t){\"object\"==typeof exports?module.exports=t(require(\"angular\")):\"function\"==typeof define&amp;&amp;define.amd?define([\"angular\"],t):t(e.angular)}(this,function(angular){/**\n * AngularJS Google Maps Ver. 1.18.4\n *\n * The MIT License (MIT)\n * \n * Copyright (c) 2014, 2015, 1016 Allen Kim\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nreturn angular.module(\"ngMap\",[]),function(){\"use strict\";var e,t=function(t,n,o,r,a,i,s,p,c){e=i;var u=this,l=a.startSymbol(),g=a.endSymbol();u.mapOptions,u.mapEvents,u.eventListeners,u.addObject=function(e,t){if(u.map){u.map[e]=u.map[e]||{};var n=Object.keys(u.map[e]).length;u.map[e][t.id||n]=t,u.map instanceof google.maps.Map&amp;&amp;(\"infoWindows\"!=e&amp;&amp;t.setMap&amp;&amp;t.setMap&amp;&amp;t.setMap(u.map),t.centered&amp;&amp;t.position&amp;&amp;u.map.setCenter(t.position),\"markers\"==e&amp;&amp;u.objectChanged(\"markers\"),\"customMarkers\"==e&amp;&amp;u.objectChanged(\"customMarkers\"))}},u.deleteObject=function(e,t){if(t.map){var n=t.map[e];for(var o in n)n[o]===t&amp;&amp;(google.maps.event.clearInstanceListeners(t),delete n[o]);t.map&amp;&amp;t.setMap&amp;&amp;t.setMap(null),\"markers\"==e&amp;&amp;u.objectChanged(\"markers\"),\"customMarkers\"==e&amp;&amp;u.objectChanged(\"customMarkers\")}},u.observeAttrSetObj=function(t,n,o){if(n.noWatcher)return!1;for(var r=e.getAttrsToObserve(t),a=0;a&lt;r.length;a++){var i=r[a];n.$observe(i,s.observeAndSet(i,o))}},u.zoomToIncludeMarkers=function(){if(null!=u.map.markers&amp;&amp;Object.keys(u.map.markers).length&gt;0||null!=u.map.customMarkers&amp;&amp;Object.keys(u.map.customMarkers).length&gt;0){var e=new google.maps.LatLngBounds;for(var t in u.map.markers)e.extend(u.map.markers[t].getPosition());for(var n in u.map.customMarkers)e.extend(u.map.customMarkers[n].getPosition());u.mapOptions.maximumZoom&amp;&amp;(u.enableMaximumZoomCheck=!0),u.map.fitBounds(e)}},u.objectChanged=function(e){!u.map||\"markers\"!=e&amp;&amp;\"customMarkers\"!=e||\"auto\"!=u.map.zoomToIncludeMarkers||u.zoomToIncludeMarkers()},u.initializeMap=function(){var a=u.mapOptions,i=u.mapEvents,m=u.map;if(u.map=p.getMapInstance(n[0]),s.setStyle(n[0]),m){var f=e.filter(o),v=e.getOptions(f),y=e.getControlOptions(f);a=angular.extend(v,y);for(var h in m){var b=m[h];if(\"object\"==typeof b)for(var M in b)u.addObject(h,b[M])}u.map.showInfoWindow=u.showInfoWindow,u.map.hideInfoWindow=u.hideInfoWindow}a.zoom=a.zoom&amp;&amp;!isNaN(a.zoom)?+a.zoom:15;var O=a.center,w=new RegExp(c(l)+\".*\"+c(g));if(!a.center||\"string\"==typeof O&amp;&amp;O.match(w))a.center=new google.maps.LatLng(0,0);else if(\"string\"==typeof O&amp;&amp;O.match(/^[0-9.-]*,[0-9.-]*$/)){var L=parseFloat(O.split(\",\")[0]),k=parseFloat(O.split(\",\")[1]);a.center=new google.maps.LatLng(L,k)}else if(!(O instanceof google.maps.LatLng)){var $=a.center;delete a.center,s.getGeoLocation($,a.geoLocationOptions).then(function(e){u.map.setCenter(e);var n=a.geoCallback;n&amp;&amp;r(n)(t)},function(){a.geoFallbackCenter&amp;&amp;u.map.setCenter(a.geoFallbackCenter)})}u.map.setOptions(a);for(var C in i){var j=i[C],A=google.maps.event.addListener(u.map,C,j);u.eventListeners[C]=A}u.observeAttrSetObj(d,o,u.map),u.singleInfoWindow=a.singleInfoWindow,google.maps.event.trigger(u.map,\"resize\"),google.maps.event.addListenerOnce(u.map,\"idle\",function(){s.addMap(u),a.zoomToIncludeMarkers&amp;&amp;u.zoomToIncludeMarkers(),t.map=u.map,t.$emit(\"mapInitialized\",u.map),o.mapInitialized&amp;&amp;r(o.mapInitialized)(t,{map:u.map})}),a.zoomToIncludeMarkers&amp;&amp;a.maximumZoom&amp;&amp;google.maps.event.addListener(u.map,\"zoom_changed\",function(){1==u.enableMaximumZoomCheck&amp;&amp;(u.enableMaximumZoomCheck=!1,google.maps.event.addListenerOnce(u.map,\"bounds_changed\",function(){u.map.setZoom(Math.min(a.maximumZoom,u.map.getZoom()))}))})},t.google=google;var d=e.orgAttributes(n),m=e.filter(o),f=e.getOptions(m,{scope:t}),v=e.getControlOptions(m),y=angular.extend(f,v),h=e.getEvents(t,m);if(Object.keys(h).length&amp;&amp;void 0,u.mapOptions=y,u.mapEvents=h,u.eventListeners={},f.lazyInit){if(o.id&amp;&amp;0===o.id.indexOf(l,0)&amp;&amp;-1!==o.id.indexOf(g,o.id.length-g.length))var b=o.id.slice(2,-2),M=r(b)(t);else var M=o.id;u.map={id:M},s.addMap(u)}else u.initializeMap();f.triggerResize&amp;&amp;google.maps.event.trigger(u.map,\"resize\"),n.bind(\"$destroy\",function(){p.returnMapInstance(u.map),s.deleteMap(u)})};t.$inject=[\"$scope\",\"$element\",\"$attrs\",\"$parse\",\"$interpolate\",\"Attr2MapOptions\",\"NgMap\",\"NgMapPool\",\"escapeRegexpFilter\"],angular.module(\"ngMap\").controller(\"__MapController\",t)}(),function(){\"use strict\";var e,t=function(t,o,r,a){a=a[0]||a[1];var i=e.orgAttributes(o),s=e.filter(r),p=e.getOptions(s,{scope:t}),c=e.getEvents(t,s),u=n(p,c);a.addObject(\"bicyclingLayers\",u),a.observeAttrSetObj(i,r,u),o.bind(\"$destroy\",function(){a.deleteObject(\"bicyclingLayers\",u)})},n=function(e,t){var n=new google.maps.BicyclingLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n},o=function(n){return e=n,{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:t}};o.$inject=[\"Attr2MapOptions\"],angular.module(\"ngMap\").directive(\"bicyclingLayer\",o)}(),function(){\"use strict\";var e,t,n=function(t,n,o,r,a){r=r[0]||r[1];{var i=e.filter(o),s=e.getOptions(i,{scope:t}),p=e.getEvents(t,i),c=t.$new(),u=n[0].parentElement.removeChild(n[0]);a(c,function(e){n.empty(),n.append(e),n.on(\"$destroy\",function(){c.$destroy()})})}for(var l in p)google.maps.event.addDomListener(u,l,p[l]);r.addObject(\"customControls\",u);var g=s.position;r.map.controls[google.maps.ControlPosition[g]].push(u),n.bind(\"$destroy\",function(){r.deleteObject(\"customControls\",u)})},o=function(o,r){return e=o,t=r,{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:n,transclude:!0}};o.$inject=[\"Attr2MapOptions\",\"NgMap\"],angular.module(\"ngMap\").directive(\"customControl\",o)}(),function(){\"use strict\";var e,t,n,o,r=function(){for(var e=\"transform WebkitTransform MozTransform OTransform msTransform\".split(\" \"),t=document.createElement(\"div\"),n=0;n&lt;e.length;n++)if(t&amp;&amp;void 0!==t.style[e[n]])return e[n];return!1}(),a=function(e){e=e||{},this.el=document.createElement(\"div\"),this.el.style.display=\"block\",this.el.style.visibility=\"hidden\",this.visible=!0;for(var t in e)this[t]=e[t]},i=function(){a.prototype=new google.maps.OverlayView,a.prototype.setContent=function(e,t){this.el.innerHTML=e,this.el.style.position=\"absolute\",this.el.style.top=0,this.el.style.left=0,t&amp;&amp;n(angular.element(this.el).contents())(t)},a.prototype.getDraggable=function(){return this.draggable},a.prototype.setDraggable=function(e){this.draggable=e},a.prototype.getPosition=function(){return this.position},a.prototype.setPosition=function(e){e&amp;&amp;(this.position=e);var n=this;if(this.getProjection()&amp;&amp;\"function\"==typeof this.position.lng){var o=function(){if(n.getProjection()){var e=n.getProjection().fromLatLngToDivPixel(n.position),t=Math.round(e.x-n.el.offsetWidth/2),o=Math.round(e.y-n.el.offsetHeight-10);r?n.el.style[r]=\"translate(\"+t+\"px, \"+o+\"px)\":(n.el.style.left=t+\"px\",n.el.style.top=o+\"px\"),n.el.style.visibility=\"visible\"}};n.el.offsetWidth&amp;&amp;n.el.offsetHeight?o():t(o,300)}},a.prototype.setZIndex=function(e){void 0!==e&amp;&amp;(this.zIndex!==e&amp;&amp;(this.zIndex=e),this.el.style.zIndex!==this.zIndex&amp;&amp;(this.el.style.zIndex=this.zIndex))},a.prototype.getVisible=function(){return this.visible},a.prototype.setVisible=function(e){\"none\"===this.el.style.display&amp;&amp;e?this.el.style.display=\"block\":\"none\"===this.el.style.display||e||(this.el.style.display=\"none\"),this.visible=e},a.prototype.addClass=function(e){var t=this.el.className.trim().split(\" \");-1==t.indexOf(e)&amp;&amp;t.push(e),this.el.className=t.join(\" \")},a.prototype.removeClass=function(e){var t=this.el.className.split(\" \"),n=t.indexOf(e);n&gt;-1&amp;&amp;t.splice(n,1),this.el.className=t.join(\" \")},a.prototype.onAdd=function(){this.getPanes().overlayMouseTarget.appendChild(this.el)},a.prototype.draw=function(){this.setPosition(),this.setZIndex(this.zIndex),this.setVisible(this.visible)},a.prototype.onRemove=function(){this.el.parentNode.removeChild(this.el)}},s=function(t,n){return function(r,i,s,p){p=p[0]||p[1];var c=e.orgAttributes(i),u=e.filter(s),l=e.getOptions(u,{scope:r}),g=e.getEvents(r,u);i[0].style.display=\"none\";var d=new a(l);setTimeout(function(){r.$watch(\"[\"+n.join(\",\")+\"]\",function(){d.setContent(t,r)},!0),d.setContent(i[0].innerHTML,r);var e=i[0].firstElementChild&amp;&amp;(i[0].firstElementChild.className||\"\");d.class&amp;&amp;(e+=\" \"+d.class),d.addClass(\"custom-marker\"),e&amp;&amp;d.addClass(e),l.position instanceof google.maps.LatLng||o.getGeoLocation(l.position).then(function(e){d.setPosition(e)})});for(var m in g)google.maps.event.addDomListener(d.el,m,g[m]);p.addObject(\"customMarkers\",d),p.observeAttrSetObj(c,s,d),i.bind(\"$destroy\",function(){p.deleteObject(\"customMarkers\",d)})}},p=function(r,a,p,c,u,l){e=c,t=r,n=a,o=u;var g=p.startSymbol(),d=p.endSymbol(),m=new RegExp(l(g)+\"([^\"+d.substring(0,1)+\"]+)\"+l(d),\"g\");return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],compile:function(e){i(),e[0].style.display=\"none\";var t=e.html(),n=t.match(m),o=[];return(n||[]).forEach(function(e){var t=e.replace(g,\"\").replace(d,\"\");-1==e.indexOf(\"::\")&amp;&amp;-1==e.indexOf(\"this.\")&amp;&amp;-1==o.indexOf(t)&amp;&amp;o.push(e.replace(g,\"\").replace(d,\"\"))}),s(t,o)}}};p.$inject=[\"$timeout\",\"$compile\",\"$interpolate\",\"Attr2MapOptions\",\"NgMap\",\"escapeRegexpFilter\"],angular.module(\"ngMap\").directive(\"customMarker\",p)}(),function(){\"use strict\";var e,t,n,o,r,a=20,i=function(e,t){e.panel&amp;&amp;(e.panel=document.getElementById(e.panel)||document.querySelector(e.panel));var n=new google.maps.DirectionsRenderer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n},s=function(e,i){var s=new google.maps.DirectionsService,p=i;p.travelMode=p.travelMode||\"DRIVING\";var c=[\"origin\",\"destination\",\"travelMode\",\"transitOptions\",\"unitSystem\",\"durationInTraffic\",\"waypoints\",\"optimizeWaypoints\",\"provideRouteAlternatives\",\"avoidHighways\",\"avoidTolls\",\"region\"];if(p)for(var u in p)p.hasOwnProperty(u)&amp;&amp;-1===c.indexOf(u)&amp;&amp;delete p[u];p.waypoints&amp;&amp;(Array.isArray(p.waypoints)||delete p.waypoints);var l=function(n){if(o&amp;&amp;n)if(r)for(var i in n)n.hasOwnProperty(i)&amp;&amp;(r[i]=n[i]);else r=n;else o=t(function(){r||(r=n),s.route(r,function(t,n){n==google.maps.DirectionsStatus.OK&amp;&amp;(e.setDirections(t),r=void 0)}),t.cancel(o),o=void 0},a)};p&amp;&amp;p.origin&amp;&amp;p.destination&amp;&amp;(\"current-location\"==p.origin?n.getCurrentPosition().then(function(e){p.origin=new google.maps.LatLng(e.coords.latitude,e.coords.longitude),l(p)}):\"current-location\"==p.destination?n.getCurrentPosition().then(function(e){p.destination=new google.maps.LatLng(e.coords.latitude,e.coords.longitude),l(p)}):l(p))},p=function(o,r,a,p){var c=o;e=p,t=r,n=a;var u=function(n,o,r,a){a=a[0]||a[1];var p=c.orgAttributes(o),u=c.filter(r),l=c.getOptions(u,{scope:n}),g=c.getEvents(n,u),d=c.getAttrsToObserve(p),d=[];u.noWatcher||(d=c.getAttrsToObserve(p));var m=i(l,g);a.addObject(\"directionsRenderers\",m),d.forEach(function(e){!function(e){r.$observe(e,function(n){if(\"panel\"==e)t(function(){var e=document.getElementById(n)||document.querySelector(n);e&amp;&amp;m.setPanel(e)});else if(l[e]!==n){var o=c.toOptionValue(n,{key:e});l[e]=o,s(m,l)}})}(e)}),e.getMap().then(function(){s(m,l)}),o.bind(\"$destroy\",function(){a.deleteObject(\"directionsRenderers\",m)})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:u}};p.$inject=[\"Attr2MapOptions\",\"$timeout\",\"NavigatorGeolocation\",\"NgMap\"],angular.module(\"ngMap\").directive(\"directions\",p)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"drawingManager\",[\"Attr2MapOptions\",function(e){var t=e;return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,n,o,r){r=r[0]||r[1];var a=t.filter(o),i=t.getOptions(a,{scope:e}),s=t.getControlOptions(a),p=t.getEvents(e,a),c=new google.maps.drawing.DrawingManager({drawingMode:i.drawingmode,drawingControl:i.drawingcontrol,drawingControlOptions:s.drawingControlOptions,circleOptions:i.circleoptions,markerOptions:i.markeroptions,polygonOptions:i.polygonoptions,polylineOptions:i.polylineoptions,rectangleOptions:i.rectangleoptions});o.$observe(\"drawingControlOptions\",function(e){c.drawingControlOptions=t.getControlOptions({drawingControlOptions:e}).drawingControlOptions,c.setDrawingMode(null),c.setMap(r.map)});for(var u in p)google.maps.event.addListener(c,u,p[u]);r.addObject(\"mapDrawingManager\",c),n.bind(\"$destroy\",function(){r.deleteObject(\"mapDrawingManager\",c)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"dynamicMapsEngineLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.visualization.DynamicMapsEngineLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=t.filter(r),s=t.getOptions(i,{scope:e}),p=t.getEvents(e,i,p),c=n(s,p);a.addObject(\"mapsEngineLayers\",c)}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"fusionTablesLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.FusionTablesLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=t.filter(r),s=t.getOptions(i,{scope:e}),p=t.getEvents(e,i,p),c=n(s,p);a.addObject(\"fusionTablesLayers\",c),o.bind(\"$destroy\",function(){a.deleteObject(\"fusionTablesLayers\",c)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"heatmapLayer\",[\"Attr2MapOptions\",\"$window\",function(e,t){var n=e;return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){function i(e,t){return e.split(\".\").reduce(function(e,t){return e[t]},t||this)}a=a[0]||a[1];var s=n.filter(r),p=n.getOptions(s,{scope:e});if(p.data=t[r.data]||i(r.data,e),!(p.data instanceof Array))throw\"invalid heatmap data\";p.data=new google.maps.MVCArray(p.data);{var c=new google.maps.visualization.HeatmapLayer(p);n.getEvents(e,s)}a.addObject(\"heatmapLayers\",c)}}}])}(),function(){\"use strict\";var e=function(e,t,n,o,r,a,i){var s=e,p=function(e,a,i){var s;!e.position||e.position instanceof google.maps.LatLng||delete e.position,s=new google.maps.InfoWindow(e);for(var p in a)p&amp;&amp;google.maps.event.addListener(s,p,a[p]);var c=n(function(e){angular.isString(i)?o(i).then(function(t){e(angular.element(t).wrap(\"&lt;div&gt;\").parent())},function(e){throw\"info-window template request failed: \"+e}):e(i)}).then(function(e){var t=e.html().trim();if(1!=angular.element(t).length)throw\"info-window working as a template must have a container\";s.__template=t.replace(/\\s?ng-non-bindable[='\"]+/,\"\")});return s.__open=function(e,n,o){c.then(function(){r(function(){o&amp;&amp;(n.anchor=o);var a=t(s.__template)(n);s.setContent(a[0]),n.$apply(),o&amp;&amp;o.getPosition?s.open(e,o):o&amp;&amp;o instanceof google.maps.LatLng?(s.open(e),s.setPosition(o)):s.open(e),r(function(){var e=s.content.parentElement.parentElement.parentElement;e.className=\"ng-map-info-window\"})})})},s},c=function(e,t,n,o){o=o[0]||o[1],t.css(\"display\",\"none\");var r,c=s.orgAttributes(t),u=s.filter(n),l=s.getOptions(u,{scope:e}),g=s.getEvents(e,u),d=p(l,g,l.template||t);!l.position||l.position instanceof google.maps.LatLng||(r=l.position),r&amp;&amp;i.getGeoLocation(r).then(function(t){d.setPosition(t),d.__open(o.map,e,t);var r=n.geoCallback;r&amp;&amp;a(r)(e)}),o.addObject(\"infoWindows\",d),o.observeAttrSetObj(c,n,d),o.showInfoWindow=o.map.showInfoWindow=o.showInfoWindow||function(t,n,r){var a=\"string\"==typeof t?t:n,i=\"string\"==typeof t?n:r;if(\"string\"==typeof i)if(\"undefined\"!=typeof o.map.markers&amp;&amp;\"undefined\"!=typeof o.map.markers[i])i=o.map.markers[i];else{if(\"undefined\"==typeof o.map.customMarkers||\"undefined\"==typeof o.map.customMarkers[i])throw new Error(\"Cant open info window for id \"+i+\". Marker or CustomMarker is not defined\");i=o.map.customMarkers[i]}var s=o.map.infoWindows[a],p=i?i:this.getPosition?this:null;s.__open(o.map,e,p),o.singleInfoWindow&amp;&amp;(o.lastInfoWindow&amp;&amp;e.hideInfoWindow(o.lastInfoWindow),o.lastInfoWindow=a)},o.hideInfoWindow=o.map.hideInfoWindow=o.hideInfoWindow||function(e,t){var n=\"string\"==typeof e?e:t,r=o.map.infoWindows[n];r.close()},e.showInfoWindow=o.map.showInfoWindow,e.hideInfoWindow=o.map.hideInfoWindow;var m=d.mapId?{id:d.mapId}:0;i.getMap(m).then(function(t){if(d.visible&amp;&amp;d.__open(t,e),d.visibleOnMarker){var n=d.visibleOnMarker;d.__open(t,e,t.markers[n])}})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:c}};e.$inject=[\"Attr2MapOptions\",\"$compile\",\"$q\",\"$templateRequest\",\"$timeout\",\"$parse\",\"NgMap\"],angular.module(\"ngMap\").directive(\"infoWindow\",e)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"kmlLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.KmlLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=t.orgAttributes(o),s=t.filter(r),p=t.getOptions(s,{scope:e}),c=t.getEvents(e,s),u=n(p,c);a.addObject(\"kmlLayers\",u),a.observeAttrSetObj(i,r,u),o.bind(\"$destroy\",function(){a.deleteObject(\"kmlLayers\",u)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"mapData\",[\"Attr2MapOptions\",\"NgMap\",function(e,t){var n=e;return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=n.filter(r),s=n.getOptions(i,{scope:e}),p=n.getEvents(e,i,p);t.getMap(a.map.id).then(function(t){for(var n in s){var o=s[n];\"function\"==typeof e[o]?t.data[n](e[o]):t.data[n](o)}for(var r in p)t.data.addListener(r,p[r])})}}}])}(),function(){\"use strict\";var e,t,n,o=[],r=[],a=function(n,a,i){var s=i.mapLazyLoadParams||i.mapLazyLoad;if(void 0===window.google||void 0===window.google.maps){r.push({scope:n,element:a,savedHtml:o[r.length]}),window.lazyLoadCallback=function(){e(function(){r.forEach(function(e){e.element.html(e.savedHtml),t(e.element.contents())(e.scope)})},100)};var p=document.createElement(\"script\");p.src=s+(s.indexOf(\"?\")&gt;-1?\"&amp;\":\"?\")+\"callback=lazyLoadCallback\",document.querySelector('script[src=\"'+p.src+'\"]')||document.body.appendChild(p)}else a.html(o),t(a.contents())(n)},i=function(e,t){return!t.mapLazyLoad&amp;&amp;void 0,o.push(e.html()),n=t.mapLazyLoad,void 0!==window.google&amp;&amp;void 0!==window.google.maps?!1:(e.html(\"\"),{pre:a})},s=function(n,o){return t=n,e=o,{compile:i}};s.$inject=[\"$compile\",\"$timeout\"],angular.module(\"ngMap\").directive(\"mapLazyLoad\",s)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"mapType\",[\"$parse\",\"NgMap\",function(e,t){return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(n,o,r,a){a=a[0]||a[1];var i,s=r.name;if(!s)throw\"invalid map-type name\";if(i=e(r.object)(n),!i)throw\"invalid map-type object\";t.getMap().then(function(e){e.mapTypes.set(s,i)}),a.addObject(\"mapTypes\",i)}}}])}(),function(){\"use strict\";var e=function(){return{restrict:\"AE\",controller:\"__MapController\",controllerAs:\"ngmap\"}};angular.module(\"ngMap\").directive(\"map\",[e]),angular.module(\"ngMap\").directive(\"ngMap\",[e])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"mapsEngineLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.visualization.MapsEngineLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=t.filter(r),s=t.getOptions(i,{scope:e}),p=t.getEvents(e,i,p),c=n(s,p);a.addObject(\"mapsEngineLayers\",c)}}}])}(),function(){\"use strict\";var e,t,n,o=function(e,t){var o;if(n.defaultOptions.marker)for(var r in n.defaultOptions.marker)\"undefined\"==typeof e[r]&amp;&amp;(e[r]=n.defaultOptions.marker[r]);e.position instanceof google.maps.LatLng||(e.position=new google.maps.LatLng(0,0)),o=new google.maps.Marker(e),Object.keys(t).length&gt;0;for(var a in t)a&amp;&amp;google.maps.event.addListener(o,a,t[a]);return o},r=function(r,a,i,s){s=s[0]||s[1];var p,c=e.orgAttributes(a),u=e.filter(i),l=e.getOptions(u,r,{scope:r}),g=e.getEvents(r,u);l.position instanceof google.maps.LatLng||(p=l.position);var d=o(l,g);s.addObject(\"markers\",d),p&amp;&amp;n.getGeoLocation(p).then(function(e){d.setPosition(e),l.centered&amp;&amp;d.map.setCenter(e);var n=i.geoCallback;n&amp;&amp;t(n)(r)}),s.observeAttrSetObj(c,i,d),a.bind(\"$destroy\",function(){s.deleteObject(\"markers\",d)})},a=function(o,a,i){return e=o,t=a,n=i,{restrict:\"E\",require:[\"^?map\",\"?^ngMap\"],link:r}};a.$inject=[\"Attr2MapOptions\",\"$parse\",\"NgMap\"],angular.module(\"ngMap\").directive(\"marker\",a)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"overlayMapType\",[\"NgMap\",function(e){return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(t,n,o,r){r=r[0]||r[1];var a=o.initMethod||\"insertAt\",i=t[o.object];e.getMap().then(function(e){if(\"insertAt\"==a){var t=parseInt(o.index,10);e.overlayMapTypes.insertAt(t,i)}else\"push\"==a&amp;&amp;e.overlayMapTypes.push(i)}),r.addObject(\"overlayMapTypes\",i)}}}])}(),function(){\"use strict\";var e=function(e,t){var n=e,o=function(e,o,r,a){if(\"false\"===r.placesAutoComplete)return!1;var i=n.filter(r),s=n.getOptions(i,{scope:e}),p=n.getEvents(e,i),c=new google.maps.places.Autocomplete(o[0],s);c.setOptions({strictBounds:s.strictBounds===!0});for(var u in p)google.maps.event.addListener(c,u,p[u]);var l=function(){t(function(){a&amp;&amp;a.$setViewValue(o.val())},100)};google.maps.event.addListener(c,\"place_changed\",l),o[0].addEventListener(\"change\",l),r.$observe(\"rectBounds\",function(e){if(e){var t=n.toOptionValue(e,{key:\"rectBounds\"});c.setBounds(new google.maps.LatLngBounds(new google.maps.LatLng(t.south_west.lat,t.south_west.lng),new google.maps.LatLng(t.north_east.lat,t.north_east.lng)))}}),r.$observe(\"circleBounds\",function(e){if(e){var t=n.toOptionValue(e,{key:\"circleBounds\"}),o=new google.maps.Circle(t);c.setBounds(o.getBounds())}}),r.$observe(\"types\",function(e){if(e){var t=n.toOptionValue(e,{key:\"types\"});c.setTypes(t)}}),r.$observe(\"componentRestrictions\",function(t){t&amp;&amp;c.setComponentRestrictions(e.$eval(t))})};return{restrict:\"A\",require:\"?ngModel\",link:o}};e.$inject=[\"Attr2MapOptions\",\"$timeout\"],angular.module(\"ngMap\").directive(\"placesAutoComplete\",e)}(),function(){\"use strict\";var e=function(e,t){var n,o=e.name;switch(delete e.name,o){case\"circle\":e.center instanceof google.maps.LatLng||(e.center=new google.maps.LatLng(0,0)),n=new google.maps.Circle(e);break;case\"polygon\":n=new google.maps.Polygon(e);break;case\"polyline\":n=new google.maps.Polyline(e);break;case\"rectangle\":n=new google.maps.Rectangle(e);break;case\"groundOverlay\":case\"image\":var r=e.url,a={opacity:e.opacity,clickable:e.clickable,id:e.id};n=new google.maps.GroundOverlay(r,e.bounds,a)}for(var i in t)t[i]&amp;&amp;google.maps.event.addListener(n,i,t[i]);return n},t=function(t,n,o){var r=t,a=function(t,a,i,s){s=s[0]||s[1];var p,c,u=r.orgAttributes(a),l=r.filter(i),g=r.getOptions(l,{scope:t}),d=r.getEvents(t,l);c=g.name,g.center instanceof google.maps.LatLng||(p=g.center);var m=e(g,d);s.addObject(\"shapes\",m),p&amp;&amp;\"circle\"==c&amp;&amp;o.getGeoLocation(p).then(function(e){m.setCenter(e),m.centered&amp;&amp;m.map.setCenter(e);var o=i.geoCallback;o&amp;&amp;n(o)(t)}),s.observeAttrSetObj(u,i,m),a.bind(\"$destroy\",function(){s.deleteObject(\"shapes\",m)})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:a}};t.$inject=[\"Attr2MapOptions\",\"$parse\",\"NgMap\"],angular.module(\"ngMap\").directive(\"shape\",t)}(),function(){\"use strict\";var e=function(e,t){var n=e,o=function(e,t,n){var o,r;t.container&amp;&amp;(r=document.getElementById(t.container),r=r||document.querySelector(t.container)),r?o=new google.maps.StreetViewPanorama(r,t):(o=e.getStreetView(),o.setOptions(t));for(var a in n)a&amp;&amp;google.maps.event.addListener(o,a,n[a]);return o},r=function(e,r,a){var i=n.filter(a),s=n.getOptions(i,{scope:e}),p=n.getControlOptions(i),c=angular.extend(s,p),u=n.getEvents(e,i);t.getMap().then(function(e){var t=o(e,c,u);e.setStreetView(t),!t.getPosition()&amp;&amp;t.setPosition(e.getCenter()),google.maps.event.addListener(t,\"position_changed\",function(){t.getPosition()!==e.getCenter()&amp;&amp;e.setCenter(t.getPosition())});var n=google.maps.event.addListener(e,\"center_changed\",function(){t.setPosition(e.getCenter()),google.maps.event.removeListener(n)})})};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:r}};e.$inject=[\"Attr2MapOptions\",\"NgMap\"],angular.module(\"ngMap\").directive(\"streetViewPanorama\",e)}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"trafficLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.TrafficLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=t.orgAttributes(o),s=t.filter(r),p=t.getOptions(s,{scope:e}),c=t.getEvents(e,s),u=n(p,c);a.addObject(\"trafficLayers\",u),a.observeAttrSetObj(i,r,u),o.bind(\"$destroy\",function(){a.deleteObject(\"trafficLayers\",u)})}}}])}(),function(){\"use strict\";angular.module(\"ngMap\").directive(\"transitLayer\",[\"Attr2MapOptions\",function(e){var t=e,n=function(e,t){var n=new google.maps.TransitLayer(e);for(var o in t)google.maps.event.addListener(n,o,t[o]);return n};return{restrict:\"E\",require:[\"?^map\",\"?^ngMap\"],link:function(e,o,r,a){a=a[0]||a[1];var i=t.orgAttributes(o),s=t.filter(r),p=t.getOptions(s,{scope:e}),c=t.getEvents(e,s),u=n(p,c);a.addObject(\"transitLayers\",u),a.observeAttrSetObj(i,r,u),o.bind(\"$destroy\",function(){a.deleteObject(\"transitLayers\",u)})}}}])}(),function(){\"use strict\";var e=/([\\:\\-\\_]+(.))/g,t=/^moz([A-Z])/,n=function(){return function(n){return n.replace(e,function(e,t,n,o){return o?n.toUpperCase():n}).replace(t,\"Moz$1\")}};angular.module(\"ngMap\").filter(\"camelCase\",n)}(),function(){\"use strict\";var e=function(){return function(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&amp;\")}};angular.module(\"ngMap\").filter(\"escapeRegexp\",e)}(),function(){\"use strict\";var e=function(){return function(e){try{return JSON.parse(e),e}catch(t){return e.replace(/([\\$\\w]+)\\s*:/g,function(e,t){return'\"'+t+'\":'}).replace(/'([^']+)'/g,function(e,t){return'\"'+t+'\"'}).replace(/''/g,'\"\"')}}};angular.module(\"ngMap\").filter(\"jsonize\",e)}(),function(){\"use strict\";var isoDateRE=/^(\\d{4}\\-\\d\\d\\-\\d\\d([tT][\\d:\\.]*)?)([zZ]|([+\\-])(\\d\\d):?(\\d\\d))?$/,Attr2MapOptions=function($parse,$timeout,$log,$interpolate,NavigatorGeolocation,GeoCoder,camelCaseFilter,jsonizeFilter,escapeRegExp){var exprStartSymbol=$interpolate.startSymbol(),exprEndSymbol=$interpolate.endSymbol(),orgAttributes=function(e){e.length&gt;0&amp;&amp;(e=e[0]);for(var t={},n=0;n&lt;e.attributes.length;n++){var o=e.attributes[n];t[o.name]=o.value}return t},getJSON=function(e){var t=/^[\\+\\-]?[0-9\\.]+,[ ]*\\ ?[\\+\\-]?[0-9\\.]+$/;return e.match(t)&amp;&amp;(e=\"[\"+e+\"]\"),JSON.parse(jsonizeFilter(e))},getLatLng=function(e){var t=e;if(e[0].constructor==Array)if(e[0][0].constructor==Array&amp;&amp;2==e[0][0].length||e[0][0].constructor==Object){for(var n,o=[],r=0;r&lt;e.length;r++)n=e[r].map(function(e){return new google.maps.LatLng(e[0],e[1])}),o.push(n);t=o}else t=e.map(function(e){return new google.maps.LatLng(e[0],e[1])});else!isNaN(parseFloat(e[0]))&amp;&amp;isFinite(e[0])&amp;&amp;(t=new google.maps.LatLng(t[0],t[1]));return t},toOptionValue=function(input,options){var output;try{output=getNumber(input)}catch(err){try{var output=getJSON(input);if(output instanceof Array)output=output[0].constructor==Object?output:output[0]instanceof Array?output[0][0].constructor==Object?output:getLatLng(output):getLatLng(output);else if(output===Object(output)){var newOptions=options;newOptions.doNotConverStringToNumber=!0,output=getOptions(output,newOptions)}}catch(err2){if(input.match(/^[A-Z][a-zA-Z0-9]+\\(.*\\)$/))try{var exp=\"new google.maps.\"+input;output=eval(exp)}catch(e){output=input}else if(input.match(/^([A-Z][a-zA-Z0-9]+)\\.([A-Z]+)$/))try{var matches=input.match(/^([A-Z][a-zA-Z0-9]+)\\.([A-Z]+)$/);output=google.maps[matches[1]][matches[2]]}catch(e){output=input}else if(input.match(/^[A-Z]+$/))try{var capitalizedKey=options.key.charAt(0).toUpperCase()+options.key.slice(1);options.key.match(/temperatureUnit|windSpeedUnit|labelColor/)?(capitalizedKey=capitalizedKey.replace(/s$/,\"\"),output=google.maps.weather[capitalizedKey][input]):output=google.maps[capitalizedKey][input]}catch(e){output=input}else if(input.match(isoDateRE))try{output=new Date(input)}catch(e){output=input}else if(input.match(new RegExp(\"^\"+escapeRegExp(exprStartSymbol)))&amp;&amp;options.scope)try{var expr=input.replace(new RegExp(escapeRegExp(exprStartSymbol)),\"\").replace(new RegExp(escapeRegExp(exprEndSymbol),\"g\"),\"\");output=options.scope.$eval(expr)}catch(err){output=input}else output=input}}if((\"center\"==options.key||\"position\"==options.key)&amp;&amp;output instanceof Array&amp;&amp;(output=new google.maps.LatLng(output[0],output[1])),\"bounds\"==options.key&amp;&amp;output instanceof Array&amp;&amp;(output=new google.maps.LatLngBounds(output[0],output[1])),\"icons\"==options.key&amp;&amp;output instanceof Array)for(var i=0;i&lt;output.length;i++){var el=output[i];el.icon.path.match(/^[A-Z_]+$/)&amp;&amp;(el.icon.path=google.maps.SymbolPath[el.icon.path])}if(\"icon\"==options.key&amp;&amp;output instanceof Object){(\"\"+output.path).match(/^[A-Z_]+$/)&amp;&amp;(output.path=google.maps.SymbolPath[output.path]);for(var key in output){var arr=output[key];\"anchor\"==key||\"origin\"==key||\"labelOrigin\"==key?output[key]=new google.maps.Point(arr[0],arr[1]):(\"size\"==key||\"scaledSize\"==key)&amp;&amp;(output[key]=new google.maps.Size(arr[0],arr[1]))}}return output},getAttrsToObserve=function(e){var t=[],n=new RegExp(escapeRegExp(exprStartSymbol)+\".*\"+escapeRegExp(exprEndSymbol),\"g\");if(!e.noWatcher)for(var o in e){var r=e[o];r&amp;&amp;r.match(n)&amp;&amp;t.push(camelCaseFilter(o))}return t},filter=function(e){var t={};for(var n in e)n.match(/^\\$/)||n.match(/^ng[A-Z]/)||(t[n]=e[n]);return t},getOptions=function(e,t){t=t||{};var n={};for(var o in e)if(e[o]||0===e[o]){if(o.match(/^on[A-Z]/))continue;if(o.match(/ControlOptions$/))continue;n[o]=\"string\"!=typeof e[o]?e[o]:t.doNotConverStringToNumber&amp;&amp;e[o].match(/^[0-9]+$/)?e[o]:toOptionValue(e[o],{key:o,scope:t.scope})}return n},getEvents=function(e,t){var n={},o=function(e){return\"_\"+e.toLowerCase()},r=function(t){var n=t.match(/([^\\(]+)\\(([^\\)]*)\\)/),o=n[1],r=n[2].replace(/event[ ,]*/,\"\"),a=$parse(\"[\"+r+\"]\");return function(t){function n(e,t){return e[t]}var r=a(e),i=o.split(\".\").reduce(n,e);i&amp;&amp;i.apply(this,[t].concat(r)),$timeout(function(){e.$apply()})}};for(var a in t)if(t[a]){if(!a.match(/^on[A-Z]/))continue;var i=a.replace(/^on/,\"\");i=i.charAt(0).toLowerCase()+i.slice(1),i=i.replace(/([A-Z])/g,o);var s=t[a];n[i]=new r(s)}return n},getControlOptions=function(e){var t={};if(\"object\"!=typeof e)return!1;for(var n in e)if(e[n]){if(!n.match(/(.*)ControlOptions$/))continue;var o=e[n],r=o.replace(/'/g,'\"');r=r.replace(/([^\"]+)|(\"[^\"]+\")/g,function(e,t,n){return t?t.replace(/([a-zA-Z0-9]+?):/g,'\"$1\":'):n});try{var a=JSON.parse(r);for(var i in a)if(a[i]){var s=a[i];if(\"string\"==typeof s?s=s.toUpperCase():\"mapTypeIds\"===i&amp;&amp;(s=s.map(function(e){return e.match(/^[A-Z]+$/)?google.maps.MapTypeId[e.toUpperCase()]:e})),\"style\"===i){var p=n.charAt(0).toUpperCase()+n.slice(1),c=p.replace(/Options$/,\"\")+\"Style\";a[i]=google.maps[c][s]}else a[i]=\"position\"===i?google.maps.ControlPosition[s]:s}t[n]=a}catch(u){}}return t};return{filter:filter,getOptions:getOptions,getEvents:getEvents,getControlOptions:getControlOptions,toOptionValue:toOptionValue,getAttrsToObserve:getAttrsToObserve,orgAttributes:orgAttributes}};Attr2MapOptions.$inject=[\"$parse\",\"$timeout\",\"$log\",\"$interpolate\",\"NavigatorGeolocation\",\"GeoCoder\",\"camelCaseFilter\",\"jsonizeFilter\",\"escapeRegexpFilter\"],angular.module(\"ngMap\").service(\"Attr2MapOptions\",Attr2MapOptions)}(),function(){\"use strict\";var e,t=function(t){var n=e.defer(),o=new google.maps.Geocoder;return o.geocode(t,function(e,t){t==google.maps.GeocoderStatus.OK?n.resolve(e):n.reject(t)}),n.promise},n=function(n){return e=n,{geocode:t}};n.$inject=[\"$q\"],angular.module(\"ngMap\").service(\"GeoCoder\",n)}(),function(){\"use strict\";var e,t,n=function(n,o){return e=n,t=o,{load:function(n){var o=e.defer();if(void 0===window.google||void 0===window.google.maps){window.lazyLoadCallback=function(){t(function(){o.resolve(window.google)},100)};var r=document.createElement(\"script\");r.src=n+(n.indexOf(\"?\")&gt;-1?\"&amp;\":\"?\")+\"callback=lazyLoadCallback\",document.querySelector('script[src=\"'+r.src+'\"]')||document.body.appendChild(r)}else o.resolve(window.google);return o.promise}}};n.$inject=[\"$q\",\"$timeout\"],angular.module(\"ngMap\").service(\"GoogleMapsApi\",n)}(),function(){\"use strict\";var e,t=function(t){var n=e.defer();return navigator.geolocation?(void 0===t?t={timeout:5e3}:void 0===t.timeout&amp;&amp;(t.timeout=5e3),navigator.geolocation.getCurrentPosition(function(e){n.resolve(e)},function(e){n.reject(e)},t)):n.reject(\"Browser Geolocation service failed.\"),n.promise},n=function(n){return e=n,{getCurrentPosition:t}};n.$inject=[\"$q\"],angular.module(\"ngMap\").service(\"NavigatorGeolocation\",n)\n}(),function(){\"use strict\";var e,t,n,o=[],r=function(n){var r=t.createElement(\"div\");r.style.width=\"100%\",r.style.height=\"100%\",n.appendChild(r);var a=new e.google.maps.Map(r,{});return o.push(a),a},a=function(e,t){for(var n,r=0;r&lt;o.length;r++){var a=o[r];if(a.id==t&amp;&amp;!a.inUse){var i=a.getDiv();e.appendChild(i),n=a;break}}return n},i=function(e){for(var t,n=0;n&lt;o.length;n++){var r=o[n];if(!r.id&amp;&amp;!r.inUse){var a=r.getDiv();e.appendChild(a),t=r;break}}return t},s=function(e){var t=a(e,e.id)||i(e);return t?n(function(){google.maps.event.trigger(t,\"idle\")},100):t=r(e),t.inUse=!0,t},p=function(e){e.inUse=!1},c=function(){for(var e=0;e&lt;o.length;e++)o[e]=null;o=[]},u=function(e){for(var t=0;t&lt;o.length;t++)null!==o[t]&amp;&amp;o[t].id==e&amp;&amp;(o[t]=null,o.splice(t,1))},l=function(r,a,i){return t=r[0],e=a,n=i,{mapInstances:o,resetMapInstances:c,getMapInstance:s,returnMapInstance:p,deleteMapInstance:u}};l.$inject=[\"$document\",\"$window\",\"$timeout\"],angular.module(\"ngMap\").factory(\"NgMapPool\",l)}(),function(){\"use strict\";var e,t,n,o,r,a,i,s,p={},c=function(n,o){var r;return n.currentStyle?r=n.currentStyle[o]:e.getComputedStyle&amp;&amp;(r=t.defaultView.getComputedStyle(n,null).getPropertyValue(o)),r},u=function(e){var t=p[e||0];return t.map instanceof google.maps.Map?void 0:(t.initializeMap(),t.map)},l=function(t,o){function r(n){var o=Object.keys(p),s=p[o[0]];t&amp;&amp;p[t]?a.resolve(p[t].map):!t&amp;&amp;s&amp;&amp;s.map?a.resolve(s.map):n&gt;i?a.reject(\"could not find map\"):e.setTimeout(function(){r(n+100)},100)}o=o||{},t=\"object\"==typeof t?t.id:t;var a=n.defer(),i=o.timeout||1e4;return r(0),a.promise},g=function(e){if(e.map){var t=Object.keys(p).length;p[e.map.id||t]=e}},d=function(e){var t=Object.keys(p).length-1,n=e.map.id||t;if(e.map){for(var o in e.eventListeners){var r=e.eventListeners[o];google.maps.event.removeListener(r)}e.map.controls&amp;&amp;e.map.controls.forEach(function(e){e.clear()})}e.map.heatmapLayers&amp;&amp;Object.keys(e.map.heatmapLayers).forEach(function(t){e.deleteObject(\"heatmapLayers\",e.map.heatmapLayers[t])}),s.deleteMapInstance(n),delete p[n]},m=function(e,t){var r=n.defer();return!e||e.match(/^current/i)?o.getCurrentPosition(t).then(function(e){var t=e.coords.latitude,n=e.coords.longitude,o=new google.maps.LatLng(t,n);r.resolve(o)},function(e){r.reject(e)}):a.geocode({address:e}).then(function(e){r.resolve(e[0].geometry.location)},function(e){r.reject(e)}),r.promise},f=function(e,t){return function(n){if(n){var o=i(\"set-\"+e),a=r.toOptionValue(n,{key:e});t[o]&amp;&amp;(e.match(/center|position/)&amp;&amp;\"string\"==typeof a?m(a).then(function(e){t[o](e)}):t[o](a))}}},v=function(e){var t=e.getAttribute(\"default-style\");\"true\"==t?(e.style.display=\"block\",e.style.height=\"300px\"):(\"block\"!=c(e,\"display\")&amp;&amp;(e.style.display=\"block\"),c(e,\"height\").match(/^(0|auto)/)&amp;&amp;(e.style.height=\"300px\"))};angular.module(\"ngMap\").provider(\"NgMap\",function(){var p={};this.setDefaultOptions=function(e){p=e};var c=function(c,y,h,b,M,O,w,L){return e=c,t=y[0],n=h,o=b,r=M,a=O,i=w,s=L,{defaultOptions:p,addMap:g,deleteMap:d,getMap:l,initMap:u,setStyle:v,getGeoLocation:m,observeAndSet:f}};c.$inject=[\"$window\",\"$document\",\"$q\",\"NavigatorGeolocation\",\"Attr2MapOptions\",\"GeoCoder\",\"camelCaseFilter\",\"NgMapPool\"],this.$get=c})}(),function(){\"use strict\";var e,t=function(t,n){n=n||t.getCenter();var o=e.defer(),r=new google.maps.StreetViewService;return r.getPanoramaByLocation(n||t.getCenter,100,function(e,t){t===google.maps.StreetViewStatus.OK?o.resolve(e.location.pano):o.resolve(!1)}),o.promise},n=function(e,t){var n=new google.maps.StreetViewPanorama(e.getDiv(),{enableCloseButton:!0});n.setPano(t)},o=function(o){return e=o,{getPanorama:t,setPanorama:n}};o.$inject=[\"$q\"],angular.module(\"ngMap\").service(\"StreetView\",o)}(),\"ngMap\"});]]&gt;&lt;/script&gt;&lt;script_name&gt;x_pisn_sp_ng_map NgMap&lt;/script_name&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-20 13:59:53&lt;/sys_created_on&gt;&lt;sys_id&gt;b5164845db004010d033df8b4b961928&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;x_pisn_sp_ng_map.x_pisn_sp_ng_map NgMap&lt;/sys_name&gt;&lt;sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\"&gt;f1244001db004010d033df8b4b961952&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Sp Simple Map\"&gt;f1244001db004010d033df8b4b961952&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_b5164845db004010d033df8b4b961928&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-20 13:59:53&lt;/sys_updated_on&gt;&lt;ui_type&gt;10&lt;/ui_type&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1506596321</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>1fa4bc5bdb888c10d033df8b4b96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b229dd0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map.x_pisn_sp_ng_map NgMap</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_guid>7e464c4562004010c0a3e6d1382be0a6</update_guid>\n<update_guid_history>7e464c4562004010c0a3e6d1382be0a6:1975835576</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_09760485db004010d033df8b4b96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>x_pisn_sp_ng_map Google Map API key</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:01:15</sys_created_on><sys_id>09760485db004010d033df8b4b96192a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_ng_map Google Map API key</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>sp_dependency_09760485db004010d033df8b4b96192a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:01:15</sys_updated_on></sp_dependency></record_update>]]></payload>\n<payload_hash>819065019</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>53a4bc5bdb888c10d033df8b4b96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b229f60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map Google Map API key</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>fa9604856e0040103fc9f201087a862f</update_guid>\n<update_guid_history>fa9604856e0040103fc9f201087a862f:-719534718</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>db_image_b263d089db404010d033df8b4b96192c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>19</height><image>d6731489db404010d033df8b4b961933</image><name>x_pisn_sp_ng_map_ship.png</name><size_bytes>1145</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:57:24</sys_created_on><sys_id>b263d089db404010d033df8b4b96192c</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_pisn_sp_ng_map_ship.png</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>db_image_b263d089db404010d033df8b4b96192c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:57:29</sys_updated_on><thumbnail/><width>41</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#3a75b1</average_image_color><chunk_size_bytes>700000</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><hash>791d0dbc19f82fae3b6dc4431960861a98c026e8e230b7233b6eefc8eb79ad35</hash><image_height>19</image_height><image_width>41</image_width><size_bytes>1145</size_bytes><size_compressed>1168</size_compressed><state>available</state><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:57:28</sys_created_on><sys_id>d6731489db404010d033df8b4b961933</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>system</sys_updated_by><sys_updated_on>2019-09-20 14:57:29</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>b263d089db404010d033df8b4b96192c</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"d6731489db404010d033df8b4b961933\">d6731489db404010d033df8b4b961933</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:57:28</sys_created_on><sys_id>1a731489db404010d033df8b4b961933</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AXkEhvuJUE5HDQoaCgAAAA1JSERSAAAAKQAAABMIBgAAAXqGFKsAAAABc1JHQgCuzhzpAAAEM0lEQVRIDc1WXWhcVRCemXs3WX/6I2gbsYLVVkRKQCLd7r5UqS8aZXcTsFUo2pe2eTBiu1HBFwVfZJO2UFJoBVv8eUnzs3mw9KVSQXcbWwt9aa1aLCiCQrFUkKTZc8bv3OTe3N1sN0vBn/Owd843P2dmzsyZJcLqLHx8l/vGF7tNZmBSLdkdrNzDxLY8mM35XTtHVjimkBylQMztbrHYmTAzs49Km7+fmS6Ui7l3ArBGQdVEBxqj3VP7cidSe8Y2sSdP4HCrRL+K6v3lofwRp8jpwuQYzPXUWGmwqf5l7o3grp2HE9GmAeGHmLf8njWgf0oXSruU9DKpPMasWhnMHXYygaCLbF7B+d7NKkkk5RmCBvaB4OJI5zXqP1IPNNqXi9nF+U4VxrOp/tH1jRRaxSKrwYXPVrsk4U8pFjI9URnMbs3snfxARQukSAPpMaT+lcC48mlifQoRGySnLX5glE0HwuC37svQRBhbHW3FXkVVnYNJ3C1dAXTOHUCql1BYd0PWOrn4wsWXPgPj5Th427TVg+WhXH8U/sbCeBrxebdr8Pof3oXLH2X/bKiffmNkXUNGi+CiEmG//YcWdRuKzVdx6UNL+vWZYv5YvdSmgYk+132k1S9VvKcdzWpOWpHncHtqp83xb4Z7roV6gYeomSpUrmcKk9OOkR4ozYQCuOhh3Owh0kQmotnf4GgWHdY7+cFQ1n2jEmKRiZCBCzod0kR6ArVnLZuf8R4FNLz9ncT/HMUGV8yNBdnQoCWDRo0WPP4t3KD6VmOPMBmH8yoUN15AT3Doakd7KjU12XKDhwc0+6KzLsX8aibaGq9SzD3uWutsa+JLSCk97ySCbtlYGFnL6j+whEpT9tRQz1eRwWaSKKVu5OY4mZudlf0v/thM9p/iRaXoDkgVRjuF/EfsjDk7dbD3F4dZVyYe32GMRO+Jw//NVeOksN+H53U3tcv2h149OtqxcsVa9hQNBjThrUvtLSXoprkRBuAcTQ9MHGCS1+NOYwzsxru9GVG9FMeNmpxH8hZ46ThuMT/OHOg9H8fidI2TIUOUH+64b+UONPGhCBM0NJYmvRI++RCn6mzRSOITNu5/AfiuPaf1qp/Uk2jsoRB3PMz/K5SUi5Twloc4i48pY75z/Futhk6y8HvI3WIdpU8x/bbHGeq1vekx95MsdLRNUh9els3At8XxtmWSRxbfxlxLxXFjE0/CZjA447ZDmjOF8Q3YrLL4bwbH9sDACyGz/osGOoWrfF/tQn2Km8Ee5p11ox5LmMWQUXwVj/KSOFQ8JmOsN6cfGJn/YePrNJ1HJuVdRNe7kIe4VC2NILYgiC21I1jmtnEDGNFz94DfVnAc49WNdSRjFg/9s5Xh/DXBEPmi1pX/wU71ezx5HZV9+VPOmyDg1Gtja7jdK+ISuwEt+y/dxJ0fqRSzu+I+/A0UoI28A3YIwAAAAABJRU5ErkJggjJrft95BAAA</data><length>1544</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"d6731489db404010d033df8b4b961933\">d6731489db404010d033df8b4b961933</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:57:28</sys_created_on><sys_id>9a731489db404010d033df8b4b961933</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>1120098727</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>57a4bc5bdb888c10d033df8b4b96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a5f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map_ship.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>6e7314892d4040108163dc5831f3aac7</update_guid>\n<update_guid_history>6e7314892d4040108163dc5831f3aac7:1116363644,5e73148958404010a2210b29172bc7c2:-49851026,da731489e8404010ca590de6004beb37:-49851026,61731489fd4040103da8473fd747c62e:418643679</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3a960485db004010d033df8b4b961930</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"x_pisn_sp_ng_map Google Map API key\">09760485db004010d033df8b4b96192a</sp_dependency><sp_widget display_value=\"Sp Simple Map\">836400c1db004010d033df8b4b9619eb</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:01:15</sys_created_on><sys_id>3a960485db004010d033df8b4b961930</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_ng_map Google Map API key.Sp Ng Map</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>m2m_sp_widget_dependency_3a960485db004010d033df8b4b961930</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:01:15</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<payload_hash>-1101829040</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>57a4bc5bdb888c10d033df8b4b96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a010000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map Google Map API key.Sp Ng Map</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_guid>fe9604856200401005874c4da07c5131</update_guid>\n<update_guid_history>fe9604856200401005874c4da07c5131:-890235152</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_f1244001db004010d033df8b4b961952</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><guided_setup_guid/><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>Sp Simple Map</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_ng_map</scope><scoped_administration>false</scoped_administration><short_description>Minimal Ng Map</short_description><source>x_pisn_sp_ng_map</source><store_correlation_id>REPOAPP0000001337</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 13:50:32</sys_created_on><sys_id>f1244001db004010d033df8b4b961952</sys_id><sys_mod_count>6</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-27 17:08:26</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.2</version></sys_app></record_update>]]></payload>\n<payload_hash>-1370568440</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>5ba4bc5bdb888c10d033df8b4b96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b229950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>Sp Simple Map</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>09943c5bd4888c10069570e67d0b9f72</update_guid>\n<update_guid_history>09943c5bd4888c10069570e67d0b9f72:-1370568440,4c94f85b80888c10b2c702a49686d693:1760817671,4644305bd3888c10b13992f60fdfb17c:1431051910,db34705b22888c10f87edeecec4581de:-270713291,d234705bd8888c10b5bcb83bdbc43b17:-255290453,b5244881660040108888a9d8f8d0482c:-328088943</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_8c160845db004010d033df8b4b961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>x_pisn_sp_ng_map NgMap</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 13:58:56</sys_created_on><sys_id>8c160845db004010d033df8b4b961945</sys_id><sys_mod_count>1</sys_mod_count><sys_name>x_pisn_sp_ng_map NgMap</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_ui_script display_value=\"x_pisn_sp_ng_map.x_pisn_sp_ng_map NgMap\">b5164845db004010d033df8b4b961928</sys_ui_script><sys_update_name>sp_js_include_8c160845db004010d033df8b4b961945</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 13:59:56</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<payload_hash>-1605146278</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>5fa4bc5bdb888c10d033df8b4b96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b229ec0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map NgMap</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>a7464c45c200401092ae383fa668dd84</update_guid>\n<update_guid_history>a7464c45c200401092ae383fa668dd84:-690974477,0516c4452700401079f8d1ce7c0e9dc2:-44151850</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_f0c64885db004010d033df8b4b96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"x_pisn_sp_ng_map Google Map API key\">09760485db004010d033df8b4b96192a</sp_dependency><sp_js_include display_value=\"https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8zJd0ppILiGHxiG8\">7ea64885db004010d033df8b4b961944</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:01:56</sys_created_on><sys_id>f0c64885db004010d033df8b4b96192d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_ng_map Google Map API key.https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8zJd0ppILiGHxiG8</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>m2m_sp_dependency_js_include_f0c64885db004010d033df8b4b96192d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:01:56</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-380806919</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>93a4bc5bdb888c10d033df8b4b96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a130000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map Google Map API key.https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>b4c648851d00401049f85add5f5c772e</update_guid>\n<update_guid_history>b4c648851d00401049f85add5f5c772e:-1116695726</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_836400c1db004010d033df8b4b9619eb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function SpNgMapController(NgMap, $scope) {\n  /* widget controller */\n  var c = this;\n\n  c.$onInit = function() {\n    /* styles generated by Google Maps Platform Styling Wizard\n      https://mapstyle.withgoogle.com/ */\n    NgMap.getMap().then(function(map) {\n      map.setOptions({\n        styles: c.options.styles\n      });\n    });\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$x-pisn-sp-ng-map-height: 90vh;\n\n.x_pisn_sp_ng_map {\n  height: $x-pisn-sp-ng-map-height;\n}\n\n.x_pisn_sp_ng_map__label-container {\n  border-radius: $border-radius-large;\n  background: rgba($body-bg, 0.7);\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n}\n\n.gmnoprint,\na {\n  display: none !important;\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x_pisn_sp_ng_map&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) { \n}]]&gt;&lt;/link&gt;&lt;name&gt;Sp Simple Map&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"origin\",\"section\":\"other\",\"default_value\":\"Paris Montmartre\",\"label\":\"Origin\",\"type\":\"string\"},{\"name\":\"destination\",\"section\":\"other\",\"default_value\":\"Paradise Road, Richmond, London\",\"label\":\"Destination\",\"type\":\"string\"},{\"hint\":\"Latitude, Longitude (you can find them from https://www.latlong.net/)\",\"name\":\"current_position\",\"section\":\"other\",\"default_value\":\"\",\"label\":\"Current Position\",\"type\":\"string\"},{\"name\":\"current_position_image\",\"section\":\"other\",\"default_value\":\"x_pisn_sp_ng_map_ship.png\",\"label\":\"Current Position Image\",\"type\":\"string\"},{\"name\":\"travel_mode\",\"section\":\"other\",\"default_value\":\"DRIVING\",\"label\":\"Travel Mode\",\"type\":\"string\"},{\"name\":\"zoom\",\"section\":\"other\",\"default_value\":\"18\",\"label\":\"Zoom\",\"type\":\"string\"},{\"name\":\"styles\",\"section\":\"other\",\"label\":\"Styles\",\"type\":\"json\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  input = input || {};\n  options.travel_mode = input.travel_mode || options.travel_mode;\n  options.origin = input.origin || options.origin;\n  options.destination = input.destination || options.destination;\n  options.current_position = input.current_position || options.current_position;\n  options.current_position_image =\n    input.current_position_image || options.current_position_image;\n  if (options.styles) {\n    options.styles = JSON.parse(options.styles);\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-20 13:52:02&lt;/sys_created_on&gt;&lt;sys_id&gt;836400c1db004010d033df8b4b9619eb&lt;/sys_id&gt;&lt;sys_mod_count&gt;95&lt;/sys_mod_count&gt;&lt;sys_name&gt;Sp Simple Map&lt;/sys_name&gt;&lt;sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\"&gt;f1244001db004010d033df8b4b961952&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Sp Simple Map\"&gt;f1244001db004010d033df8b4b961952&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_836400c1db004010d033df8b4b9619eb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-27 17:07:38&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x_pisn_sp_ng_map\"&gt;\n  &lt;ng-map\n    id=\"my-map-{{ c.widget.rectangle_id }}\"\n    center=\"[{{ c.options.current_position }}]\"\n    zoom=\"{{ c.options.zoom }}\"\n    zoom-to-include-markers=\"false\"\n    style=\"height:100%;\"\n    scrollwheel=\"false\"\n    street-view-control=\"false\"\n    zoom-control=\"false\"\n    fullscreen-control=\"false\"\n    map-type-id=\"terrain\"\n  &gt;\n    &lt;directions\n      draggable=\"false\"\n      travel-mode=\"{{ c.options.travel_mode }}\"\n      suppress-info-windows=\"true\"\n      origin=\"{{ c.options.origin }}\"\n      destination=\"{{ c.options.destination }}\"\n      suppress-markers=\"true\"\n    &gt;\n    &lt;/directions&gt;\n\n    &lt;custom-marker\n      id=\"my-map-origin-{{ c.widget.rectangle_id }}\"\n      position=\"{{ c.options.origin }}\"\n      label=\"{{ c.options.origin }}\"\n    &gt;\n      &lt;div&gt;\n        &lt;div class=\"x_pisn_sp_ng_map__label-container text-center wrapper\"&gt;\n          &lt;h4 class=\"text-primary m-n\"&gt;{{ c.options.origin }}&lt;/h4&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/custom-marker&gt;\n    &lt;custom-marker\n      id=\"my-map-destination-{{ c.widget.rectangle_id }}\"\n      position=\"{{ c.options.destination }}\"\n      label=\"{{ c.options.destination }}\"\n      &gt;&lt;div&gt;\n        &lt;div class=\"x_pisn_sp_ng_map__label-container text-center wrapper\"&gt;\n          &lt;h4 class=\"text-primary  m-n\"&gt;{{ c.options.destination }}&lt;/h4&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/custom-marker&gt;\n\n    &lt;custom-marker\n      ng-if=\"c.options.current_position\"\n      id=\"my-map-current-position-{{ c.widget.rectangle_id }}\"\n      position=\"[{{ c.options.current_position }}]\"\n    &gt;\n      &lt;div&gt;&lt;img src=\"x_pisn_sp_ng_map_ship.png\" width=\"41\" height=\"19\" /&gt;&lt;/div&gt;\n    &lt;/custom-marker&gt;\n  &lt;/ng-map&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-858328799</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>97a4bc5bdb888c10d033df8b4b96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a940000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>Sp Simple Map</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>9564b45b82888c105e80d566b01b12f8</update_guid>\n<update_guid_history>9564b45b82888c105e80d566b01b12f8:-858328799,0254345b76888c10dec77d5d3d404fb4:930738374,9663f89754888c1091328e2b5c649452:-1202232347,ec72f09707888c10bc61644ca2cf8877:-51665927,9d427c17c9888c104fd23c1eda0fbd86:-1339699229,c2023c17d3888c10105cba1ffee9cfb6:146389078,2861b41775888c10514e462c180f817b:1556790743,bc5174172f888c10c423e96cd7844db9:-1241097622,251130173e888c10cb8c69ba875c790b:1321427289,c2d0f8930b888c106dc67889eb87aacf:-373321684,cb30b09341888c10206229b7a11bcedd:-1822678943,20efe053ba888c10f3730b87bbc642d0:541325597,ccafa05335888c10d3e8acf9632513fd:-1922042437,f5fee813f0888c106596da62fc87d90a:-2107682495,74eee8dff7488c10254e43d67f18b0e7:-1550449013,985ee8df21488c10436f969e0ab46425:1924688638,cafda89fc0488c1028703af2b8753074:1439479223,1ecdac9f97488c10ed414be5a7c0165e:-616440367,e73da09f6f488c1097ab3ff918acff30:-1603042649,f21de05f4f488c10d28c50da72967033:-670605861,7bfce85f81488c10360d03afd279ce55:-1603042649,91fca85f24488c10201f208542475043:-1952857451,28ece45f20488c109cca691a084d9ce0:-1253113384,7fbbe4db4d488c10e0d4eab9b2d0e82e:416960837,a0ab2c9b72488c10a623d2668e80082b:-1972083034,ce4ba89b09488c10db94d5024c3df513:-54255108,a43b6c5bc9488c10b6b742ef5143de8c:610044389,28d8a897f3488c10af4755e20b7926b2:-1199576864,4f98649752488c1020ca1233b7ff72a0:-1079197827,8c78649796488c104881d7adb13d5546:2037637069,da4868d3e4488c106cbfad3d71611925:333330602,6a18ac17ee488c107f610dce5ccd23c2:1206460492,2c97ac1729488c10c5c00da724e45bba:-2105745476,bed6e0d30b488c10aa6128f71b1a74ef:-915023598,b7a6e0d389488c10945cfea90b62db12:-854607270,5976e0d334488c1024aa9af6a9063f0a:-1785090764,f0262c935a488c10dea23dbca3c4b616:1423249518,55a520936b488c1086b1b78d335b3e30:1953642367,ca15605334488c10addf50daf7f76f00:-2126899156,e905ac13db488c109df527307b465d63:1615459075,fef4ac13a7488c1068c26a9750e0e65b:2112285509,4fa4a4dfdd088c103163c204e843bd91:809735666,702468df60088c10b1fd09857a203f84:729495986,860460dfae088c10db144469bc7877ec:1091362684,8ad360df25088c10b5cb69930e0c67e4:-1467863141,0ac320df77088c10addcc9d976a9c630:1091362684,2943649f4a088c1014da5220abb5e40e:1449357400,91d2a45fb8088c107baeb2bbd0bf2a50:1581922096,e5a2205fb6088c10961e43d31f1fd896:-1503786115,f972205f7f088c104bea98eaa794088e:-194687902,cfe0609bc9088c10409da83a90c45b99:-998279115,c680285bd5088c10cfcd29fe76fa2053:-1877757841,7c20a45b58088c1069fb1c907725a908:-1280460564,6100a05bb6088c10ce16326ee9dc6562:-612020136,22efd41bc9088c105bb1bce8527735d1:452111632,16dfd41bb7088c10d04e5c66881b34cb:-197427697,46afd41bc9088c101aee1c34d97c9972:203519547,1b8f181b2c088c106e7fd67ba192b77b:661057953,0f7f181b7b088c1011eced9ca4740973:322395676,917fd41bb3088c10a2127b4578f6f0c5:828138243,f71f58d7af088c10156aaf0d3c053a68:418162512,1d8e545775088c1057c0e5c45a2ac491:-2059373482,06ed14575a088c100a56c3c9b648a4fd:-486629399,05ad145724088c10630a702c5582c5f9:-139528868,708d185780088c1044bedf14d08e4f08:280555447,f83d105783088c108a7354b19e08d75e:-76137196,a92ddc17af088c10ee99d1174eb6d790:-291731915,adfcd417ae088c1068083d18317d5b36:-507326634,7784e8c16ec040101fe9ea6d54e7d974:-314792587,377460c159c04010bbfe4714b9f77e84:962486628,574464c167c040101d19780e3d7e890a:-1221823340,f124ec8161c04010a57c39df83466116:1832199512,d0142c81b6c0401096573ad678158f57:-1709437560,9bf3a88128c04010da9a2ea2a810fe6c:-983086741,8cf3288139c040102d96dee3a2eb5c98:-1204157808,6ce3e481ecc040102a1afe2abd125614:-1512702775,ebc3a4817ac040101cad05d09426f453:-1766740057,33b3e08169c0401001a9e338a683df65:-559088152,d4b3e081acc0401051d357c123374c5d:-2041000598,6ca3ec417ec04010248ef5d74892e81b:-709858194,c8936c41efc04010fd2296b0c01def92:696669231,5b73e4418cc04010aa60556ddd409d60:-1689343427,d263a8410ac04010c5c7ef5cb88f45a0:-177134915,4b651489bd4040104482d41e3f538ecd:-36157895,92839489e7404010850abec7e979049d:1837452704,890d0401e24040102a707b330131cdc2:906296947,9cecc0015f4040107f92dcf3eb9200f8:-137896130,eddc44cdb2004010fcaf9b4e5bcd5344:-305778093,eccc48cda700401051c660d659881027:-137896130,a2bc48cd0c004010374c04e6c2d10520:-2042750358,27eb004d2d0040100c36759f45b198fe:-1166506022,a6ca004d7200401019b489dcb5562abd:685493397,5ea8c8499b004010f78b4b0dbdf71af1:-107561547,42d68c856300401062860d9c23222950:605437353,26f544452f00401091d1b6ddb375938a:2131140985,3b7480c15c004010ad6ad1a974150b8f:317577943</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7ea64885db004010d033df8b4b961944</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8zJd0ppILiGHxiG8</display_name><source>url</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:01:56</sys_created_on><sys_id>7ea64885db004010d033df8b4b961944</sys_id><sys_mod_count>0</sys_mod_count><sys_name>https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8zJd0ppILiGHxiG8</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_ui_script/><sys_update_name>sp_js_include_7ea64885db004010d033df8b4b961944</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:01:56</sys_updated_on><url>https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8zJd0ppILiGHxiG8</url></sp_js_include></record_update>]]></payload>\n<payload_hash>1404307367</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>9ba4bc5bdb888c10d033df8b4b96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a1c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>https://maps.google.com/maps/api/js?key=AIzaSyDsuGP_BH_8Nc2mDPP8zJd0ppILiGHxiG8</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_guid>b4c64885fb00401072f4e5c35575622c</update_guid>\n<update_guid_history>b4c64885fb00401072f4e5c35575622c:610598062</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_f4480049db004010d033df8b4b9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>NgMap Demo - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_ng_map\">f7d6cc85db004010d033df8b4b961946</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:08:30</sys_created_on><sys_id>f4480049db004010d033df8b4b9619e9</sys_id><sys_mod_count>1</sys_mod_count><sys_name>NgMap Demo - Container 1</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>sp_container_f4480049db004010d033df8b4b9619e9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-27 15:26:45</sys_updated_on><title/><width>container-fluid</width></sp_container></record_update>]]></payload>\n<payload_hash>-1576320508</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>9fa4bc5bdb888c10d033df8b4b96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a6e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>NgMap Demo - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>234d1c1732088c10a4aaf422be4e30e1</update_guid>\n<update_guid_history>234d1c1732088c10a4aaf422be4e30e1:-2090568931,094800499c0040103ea411e9e7db68eb:1626191546</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_fc884049db004010d033df8b4b961945</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"NgMap Demo - Container 1\">f4480049db004010d033df8b4b9619e9</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:09:35</sys_created_on><sys_id>fc884049db004010d033df8b4b961945</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>sp_row_fc884049db004010d033df8b4b961945</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:09:35</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>-1752614636</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>d3a4bc5bdb888c10d033df8b4b96192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a3f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>b8884049d000401045ebe1a944b41347</update_guid>\n<update_guid_history>b8884049d000401045ebe1a944b41347:-609748947</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_83980049db004010d033df8b4b961955</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance\"&gt;&lt;sp_instance action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;default&lt;/color&gt;&lt;css/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;order&gt;1&lt;/order&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;38884049db004010d033df8b4b961948&lt;/sp_column&gt;&lt;sp_widget display_value=\"Sp Simple Map\"&gt;836400c1db004010d033df8b4b9619eb&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-20 14:10:00&lt;/sys_created_on&gt;&lt;sys_id&gt;83980049db004010d033df8b4b961955&lt;/sys_id&gt;&lt;sys_mod_count&gt;2&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\"&gt;f1244001db004010d033df8b4b961952&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Sp Simple Map\"&gt;f1244001db004010d033df8b4b961952&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_83980049db004010d033df8b4b961955&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-27 16:59:21&lt;/sys_updated_on&gt;&lt;title/&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"origin\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"destination\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"current_position\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"current_position_image\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"travel_mode\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"zoom\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t},\n\t\"styles\": {\n\t\t\"value\": \"[\\n  {\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#f5f5f5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"elementType\\\": \\\"labels.icon\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#616161\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"elementType\\\": \\\"labels.text.stroke\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#f5f5f5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"administrative.land_parcel\\\",\\n    \\\"elementType\\\": \\\"labels\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"administrative.land_parcel\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#bdbdbd\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#eeeeee\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi\\\",\\n    \\\"elementType\\\": \\\"labels.text\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#757575\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.business\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.park\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#e5e5e5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.park\\\",\\n    \\\"elementType\\\": \\\"labels.text\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.park\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#9e9e9e\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#ffffff\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.arterial\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.arterial\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#757575\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.highway\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#dadada\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.highway\\\",\\n    \\\"elementType\\\": \\\"labels\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.highway\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#616161\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.local\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.local\\\",\\n    \\\"elementType\\\": \\\"labels\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.local\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#9e9e9e\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"transit.line\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#e5e5e5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"transit.station\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#eeeeee\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"water\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#c9c9c9\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"water\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#9e9e9e\\\"\\n      }\\n    ]\\n  }\\n]\",\n\t\t\"displayValue\": \"[\\n  {\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#f5f5f5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"elementType\\\": \\\"labels.icon\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#616161\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"elementType\\\": \\\"labels.text.stroke\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#f5f5f5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"administrative.land_parcel\\\",\\n    \\\"elementType\\\": \\\"labels\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"administrative.land_parcel\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#bdbdbd\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#eeeeee\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi\\\",\\n    \\\"elementType\\\": \\\"labels.text\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#757575\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.business\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.park\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#e5e5e5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.park\\\",\\n    \\\"elementType\\\": \\\"labels.text\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"poi.park\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#9e9e9e\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#ffffff\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.arterial\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.arterial\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#757575\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.highway\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#dadada\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.highway\\\",\\n    \\\"elementType\\\": \\\"labels\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.highway\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#616161\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.local\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.local\\\",\\n    \\\"elementType\\\": \\\"labels\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"visibility\\\": \\\"off\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"road.local\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#9e9e9e\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"transit.line\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#e5e5e5\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"transit.station\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#eeeeee\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"water\\\",\\n    \\\"elementType\\\": \\\"geometry\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#c9c9c9\\\"\\n      }\\n    ]\\n  },\\n  {\\n    \\\"featureType\\\": \\\"water\\\",\\n    \\\"elementType\\\": \\\"labels.text.fill\\\",\\n    \\\"stylers\\\": [\\n      {\\n        \\\"color\\\": \\\"#9e9e9e\\\"\\n      }\\n    ]\\n  }\\n]\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=83980049db004010d033df8b4b961955\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-315303894</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>d7a4bc5bdb888c10d033df8b4b96192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a810000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>c4827857c1888c10e70a3b0cf04db964</update_guid>\n<update_guid_history>c4827857c1888c10e70a3b0cf04db964:1939640902,edace4dbf4488c10a56e2b3b1060b3b3:627522676,87980049e3004010be47fd99c2198a57:2096402490</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_38884049db004010d033df8b4b961948</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">fc884049db004010d033df8b4b961945</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 14:09:35</sys_created_on><sys_id>38884049db004010d033df8b4b961948</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>sp_column_38884049db004010d033df8b4b961948</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 14:09:35</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-1211789846</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>dba4bc5bdb888c10d033df8b4b96192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b22a350000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>8188c44983004010e6e356b79f1b79d9</update_guid>\n<update_guid_history>8188c44983004010e6e356b79f1b79d9:469588785</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_49160845db004010d033df8b4b961996</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"x_pisn_sp_ng_map NgMap\">5bd58045db004010d033df8b4b96197e</sp_dependency><sp_js_include display_value=\"x_pisn_sp_ng_map NgMap\">8c160845db004010d033df8b4b961945</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-20 13:58:56</sys_created_on><sys_id>49160845db004010d033df8b4b961996</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_ng_map NgMap.x_pisn_sp_ng_map NgMap</sys_name><sys_package display_value=\"Sp Simple Map\" source=\"x_pisn_sp_ng_map\">f1244001db004010d033df8b4b961952</sys_package><sys_policy/><sys_scope display_value=\"Sp Simple Map\">f1244001db004010d033df8b4b961952</sys_scope><sys_update_name>m2m_sp_dependency_js_include_49160845db004010d033df8b4b961996</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 13:58:56</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<payload_hash>-2039843782</payload_hash>\n<remote_update_set display_value=\"Sp Simple Map\">dfa4bc5bdb888c10d033df8b4b96192a</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-27 17:08:52</sys_created_on>\n<sys_id>dfa4bc5bdb888c10d033df8b4b96192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d73b229b70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-27 17:08:52</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_ng_map NgMap.x_pisn_sp_ng_map NgMap</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_guid>c51608456500401088d6d575f0095998</update_guid>\n<update_guid_history>c51608456500401088d6d575f0095998:-1810401517</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-sp-simple-map/widget/pe-sp-simple-map.u-body-html-template.html",
    "content": "<div class=\"x_pisn_sp_ng_map\">\n  <ng-map\n    id=\"my-map-{{ c.widget.rectangle_id }}\"\n    center=\"[{{ c.options.current_position }}]\"\n    zoom=\"{{ c.options.zoom }}\"\n    zoom-to-include-markers=\"false\"\n    style=\"height:100%;\"\n    scrollwheel=\"false\"\n    street-view-control=\"false\"\n    zoom-control=\"false\"\n    fullscreen-control=\"false\"\n    map-type-id=\"terrain\"\n  >\n    <directions\n      draggable=\"false\"\n      travel-mode=\"{{ c.options.travel_mode }}\"\n      suppress-info-windows=\"true\"\n      origin=\"{{ c.options.origin }}\"\n      destination=\"{{ c.options.destination }}\"\n      suppress-markers=\"true\"\n    >\n    </directions>\n\n    <custom-marker\n      id=\"my-map-origin-{{ c.widget.rectangle_id }}\"\n      position=\"{{ c.options.origin }}\"\n      label=\"{{ c.options.origin }}\"\n    >\n      <div>\n        <div class=\"x_pisn_sp_ng_map__label-container text-center wrapper\">\n          <h4 class=\"text-primary m-n\">{{ c.options.origin }}</h4>\n        </div>\n      </div>\n    </custom-marker>\n    <custom-marker\n      id=\"my-map-destination-{{ c.widget.rectangle_id }}\"\n      position=\"{{ c.options.destination }}\"\n      label=\"{{ c.options.destination }}\"\n      ><div>\n        <div class=\"x_pisn_sp_ng_map__label-container text-center wrapper\">\n          <h4 class=\"text-primary  m-n\">{{ c.options.destination }}</h4>\n        </div>\n      </div>\n    </custom-marker>\n\n    <custom-marker\n      ng-if=\"c.options.current_position\"\n      id=\"my-map-current-position-{{ c.widget.rectangle_id }}\"\n      position=\"[{{ c.options.current_position }}]\"\n    >\n      <div><img src=\"x_pisn_sp_ng_map_ship.png\" width=\"41\" height=\"19\" /></div>\n    </custom-marker>\n  </ng-map>\n</div>\n"
  },
  {
    "path": "src/pe-sp-simple-map/widget/pe-sp-simple-map.u-client-script.js",
    "content": "function SpNgMapController(NgMap) {\n  var c = this;\n\n  c.$onInit = function() {\n    /* styles generated by Google Maps Platform Styling Wizard\n      https://mapstyle.withgoogle.com/ */\n    NgMap.getMap().then(function(map) {\n      map.setOptions({\n        styles: c.options.styles\n      });\n    });\n  };\n}\n"
  },
  {
    "path": "src/pe-sp-simple-map/widget/pe-sp-simple-map.u-css.scss",
    "content": "$x-pisn-sp-ng-map-height: 90vh;\n\n.x_pisn_sp_ng_map {\n  height: $x-pisn-sp-ng-map-height;\n}\n\n.x_pisn_sp_ng_map__label-container {\n  border-radius: $border-radius-large;\n  background: rgba($body-bg, 0.7);\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n}\n\n.gmnoprint,\na {\n  display: none !important;\n}\n"
  },
  {
    "path": "src/pe-sp-simple-map/widget/pe-sp-simple-map.u-option-schema.json",
    "content": "[\n  {\n    \"name\": \"origin\",\n    \"section\": \"other\",\n    \"default_value\": \"Paris Montmartre\",\n    \"label\": \"Origin\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"destination\",\n    \"section\": \"other\",\n    \"default_value\": \"Paradise Road, Richmond, London\",\n    \"label\": \"Destination\",\n    \"type\": \"string\"\n  },\n  {\n    \"hint\": \"Latitude, Longitude (you can find them from https://www.latlong.net/)\",\n    \"name\": \"current_position\",\n    \"section\": \"other\",\n    \"default_value\": \"\",\n    \"label\": \"Current Position\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"current_position_image\",\n    \"section\": \"other\",\n    \"default_value\": \"x_pisn_sp_ng_map_ship.png\",\n    \"label\": \"Current Position Image\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"travel_mode\",\n    \"section\": \"other\",\n    \"default_value\": \"DRIVING\",\n    \"label\": \"Travel Mode\",\n    \"type\": \"string\"\n  },\n  {\n    \"name\": \"zoom\",\n    \"section\": \"other\",\n    \"default_value\": \"18\",\n    \"label\": \"Zoom\",\n    \"type\": \"string\"\n  },\n  { \"name\": \"styles\", \"section\": \"other\", \"label\": \"Styles\", \"type\": \"json\" }\n]\n"
  },
  {
    "path": "src/pe-sp-simple-map/widget/pe-sp-simple-map.u-server-script.js",
    "content": "(function() {\n  input = input || {};\n  options.travel_mode = input.travel_mode || options.travel_mode;\n  options.origin = input.origin || options.origin;\n  options.destination = input.destination || options.destination;\n  options.current_position = input.current_position || options.current_position;\n  options.current_position_image =\n    input.current_position_image || options.current_position_image;\n  if (options.styles) {\n    options.styles = JSON.parse(options.styles);\n  }\n})();\n"
  },
  {
    "path": "src/pe-sp-swapper/README.md",
    "content": "# Sp Swapper\n\n## Description\n\nThis widget allows the user to browse through different Portals from a bootstrap collapsed list that can be embedded in the header or wherever required.\n\n## Screenshot\n\n![Sp Swapper](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-swapper/images/pe-sp-swapper-01.gif)\n\n## Additional Information/Notes\n\nIf the user clicks on the Logo, it does a redirect to the current portal homepage.\nIf the user does a mouse over on the logo, a chevron arrow will fade in and will become visible.\nIf the user clicks on the arrow, the list of Portals will kindly slide down and this is where the magic happens.\nThe component is massively using the ServiceNow and Bootstrap SASS variables defined in the selected Portal and Theme records, so to be coherent with the Portal Themes defined where executed.\n\n## Installation\n\nDownload and install update set **[pe-sp-swapper.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-sp-swapper/pe-sp-swapper.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\nThe input is an array of Portals from the available options in the widget instance, or from a settings property (x_pisn_sp_swapper.portals) because in the most use cases it will be embedded in the header where the Designer functionality is not available, and therefore adding options is not possible.\nOn both places, the value is a string with Portal SysIds separated by comma.\nThe images in the list are the Portal logo.\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\ncollapse.js, Bootstrap flexible plugin that utilizes a handful of classes for easy toggle behavior. (already available in Service Portal)\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\nCustom SASS variables with some default values (from Bootstrap variables defined in the Theme):\n\n```sass\n$x_pisn_sp_swapper-height: $navbar-height !default;\n$x_pisn_sp_swapper-max-height: $sp-logo-max-height !default;\n$x_pisn_sp_swapper-max-width: $sp-logo-max-width !default;\n$x_pisn_sp_swapper-link-color: $navbar-inverse-link-color !default;\n$x_pisn_sp_swapper-bg: $navbar-inverse-bg !default;\n$x_pisn_sp_swapper-b-radius: 10px !default;\n```\n"
  },
  {
    "path": "src/pe-sp-swapper/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Action List\",\n  \"common-name\": \"Sp Swapper\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\",\n    \"New York\"\n  ],\n  \"contributors\": [\n    \"Fabio Petito\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-sp-swapper\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This widget allows the user to browse through different Portals from a bootstrap collapsed list that can be embedded in the header or wherever required.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-sp-swapper/pe-sp-swapper.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-09-20 11:36:28\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<application_name>Sp Swapper</application_name>\n<application_scope>x_pisn_sp_swapper</application_scope>\n<application_version>1.0.1</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>A widget that allows the user to browse through different Portals</description>\n<inserted/>\n<name>Sp Swapper</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>3f652ff0db4c0010d033df8b4b961948</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>f1756ff0db4c0010d033df8b4b96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sp_portal_c1506766db33b304efd54a92ba96191b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_portal\"><sp_portal action=\"INSERT_OR_UPDATE\"><css_variables>$brand-primary:#003366;&#13;\n$body-bg:#f9f9f9;&#13;\n$state-success-text:#00AF1B;&#13;\n$sp-homepage-bg:#fff;&#13;\n$sp-navbar-divider-color:#F9F9F9;&#13;\n$text-color:#4F4F4F;&#13;\n$sp-logo-margin-y:.5rem;&#13;\n$navbar-inverse-link-hover-color:#293D40;&#13;\n$panel-bg:#fff;&#13;\n$brand-success:#3F923D;&#13;\n$navbar-inverse-bg:#fff;&#13;\n$brand-warning:#FF7100;&#13;\n$brand-danger:#D02229;&#13;\n$sp-tagline-color:#717171;&#13;\n$navbar-inverse-link-color:#293D40;&#13;\n$brand-info:#EDF6FD;&#13;\n$link-color:#0A81D5;&#13;\n$sp-logo-margin-x:1rem;&#13;\n$btn-default-bg:#80B6A1;&#13;\n$text-muted:#787878;&#13;\n$btn-default-color:              #fff;&#13;\n$btn-default-bg:                 #3171b8;&#13;\n$btn-default-border:             #ccc;&#13;\n$sp-logo-max-width: 200px;&#13;\n$sp-logo-max-height: 28px;</css_variables><default>false</default><homepage display_value=\"index\">46cc384147532100ba13a5554ee49009</homepage><icon/><kb_knowledge_base/><kb_knowledge_page display_value=\"kb_view2\">26c2e030d7201200a9addd173e24d437</kb_knowledge_page><login_page display_value=\"login\">6995a144cb11120000f8d856634c9c25</login_page><logo>f021a7e6db33b304efd54a92ba96191e</logo><notfound_page display_value=\"404\">3c2c9063cb11020000f8d856634c9c1f</notfound_page><quick_start_config/><sc_catalog/><sc_catalog_page display_value=\"sc_home\">fe87a11147132100ba13a5554ee490b9</sc_catalog_page><sc_category_page/><sp_chat_queue/><sp_rectangle_menu display_value=\"SP Header Menu\">d150fd31cb10020000f8d856634c9ce6</sp_rectangle_menu><sqanda_knowledge_base/><sys_class_name>sp_portal</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:28:39</sys_created_on><sys_id>c1506766db33b304efd54a92ba96191b</sys_id><sys_mod_count>3</sys_mod_count><sys_name>Sp Swapper Sample</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sp_portal_c1506766db33b304efd54a92ba96191b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 11:31:43</sys_updated_on><theme display_value=\"Swapper Theme\">17a06ba6db33b304efd54a92ba96199b</theme><title>Sp Swapper Sample</title><ts_index_group/><url_suffix>swapper</url_suffix></sp_portal><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c1506766db33b304efd54a92ba96191b\"/><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#0</average_image_color><chunk_size_bytes>700000</chunk_size_bytes><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>logo</file_name><hash>27250199e0b6cbf27b9fc9ca290b357f53f9fd5434d4c52f559a4f4e3d744a64</hash><image_height>129</image_height><image_width>643</image_width><size_bytes>16551</size_bytes><size_compressed>15803</size_compressed><state>available</state><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:31:13</sys_created_on><sys_id>f021a7e6db33b304efd54a92ba96191e</sys_id><sys_mod_count>3</sys_mod_count><sys_updated_by>system</sys_updated_by><sys_updated_on>2019-09-13 11:31:14</sys_updated_on><table_name>ZZ_YYsp_portal</table_name><table_sys_id>c1506766db33b304efd54a92ba96191b</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"logo\" sys_id=\"f021a7e6db33b304efd54a92ba96191e\">f021a7e6db33b304efd54a92ba96191e</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:31:13</sys_created_on><sys_id>3421a7e6db33b304efd54a92ba96191e</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>21060</length><position>1</position><sys_attachment display_value=\"logo\" sys_id=\"f021a7e6db33b304efd54a92ba96191e\">f021a7e6db33b304efd54a92ba96191e</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:31:13</sys_created_on><sys_id>b421a7e6db33b304efd54a92ba96191e</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-1682251560</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>31756ff0db4c0010d033df8b4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7566c60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Sp Swapper Sample</target_name>\n<type>Service Portal</type>\n<update_domain>global</update_domain>\n<update_guid>9c412be63833b304f9bc36feb7e57a78</update_guid>\n<update_guid_history>9c412be63833b304f9bc36feb7e57a78:-1682251560,3821a7e64a33b304f5c989fdd3566b27:-121656891,3021a7e6d933b304066ed1ac7849ad21:1407521251,eb11a3e62d33b30433ecc23434bfff11:619822435,d38027a61433b30428e78da652c03359:-965339532</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sp_header_footer_3e8fdb26db33b304efd54a92ba961988</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_header_footer\"&gt;&lt;sp_header_footer action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;standard&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($rootScope, $scope, snRecordWatcher, spUtil, $location, $uibModal, cabrillo, $timeout, $window) {\n\n\t$scope.collapse = function() {\n\t\t$rootScope.$emit('sp-navbar-collapse');\n\t}\n\n\t$scope.avatarProfile = {\n\t\tuserID: $scope.user.sys_id,\n\t\tname: $scope.user.name,\n\t\tinitials: $window.NOW.user_initials\n\t};\n\n\tif ($window.NOW.user_avatar) {\n\t\t$scope.avatarProfile.userImage = $window.NOW.user_avatar;\n\t}\n\n\tif (cabrillo.isNative()) {\n\t\tif ($window.innerWidth &lt; 767) {\n\t\t\t$scope.isViewNative = true;\n\t\t} else {\n\t\t\t$scope.isViewNativeTablet = true;\n\t\t}\n\t}\n\n\n\t$scope.openPopUp = function() {\n\t\tvar url = \"$chat_support.do?queueID=\" + $scope.data.connect_support_queue_id;\n\t\tvar popup = window.open (url, \"popup\", \"width=900, height=600\");\n\t};\n\n\t$scope.openLogin = function () {\n\t\t$scope.modalInstance = $uibModal.open({\n\t\t\ttemplateUrl: 'modalLogin',\n\t\t\tscope: $scope\n\t\t});\n\t};\n\n\tvar xsScreenSize = isXSScreenSize();\n\t$scope.showXSAvatar = isXSScreenSize();\n\t$scope.showAvatar = !isXSScreenSize();\n\n\tangular.element($window).on('resize', function () {\n\t\tif(xsScreenSize !== isXSScreenSize() &amp;&amp; (!$scope.showXSAvatar || !$scope.showAvatar)){\n\t\t\t$scope.showXSAvatar = true;\n\t\t\t$scope.showAvatar = true;\n\t\t}\n\t});\n\n\n\tfunction isXSScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\t$rootScope.$on('sp.avatar_changed', function(evt, obj) {\n\t\t$scope.userID = \"\";\n\t\t$scope.newAvatarId = obj.newAvatarId;\n\t\t$timeout(function(){\n\t\t\t$scope.userID = $scope.user.sys_id;\n\t\t\t$(\".sub-avatar\").css(\"background-image\", 'url(\"' + $scope.newAvatarId + '.iix?t=small\")');\n\t\t});\n\t});\n\n\t$scope.isHomepage = function() {\n\t\tif (!$scope.page.id)\n\t\t\treturn true;\n\n\t\tif ($scope.page.id == $scope.portal.homepage_dv)\n\t\t\treturn true;\n\n\t\treturn false;\n\t};\n}\n\t\t]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.navbar {\n  transition: 250ms opacity ease-in-out;\n  -webkit-transition: 250ms opacity ease-in-out;\n  border: 0;\n  border-bottom: 4px solid $sp-navbar-divider-color;\n}\n\n.navbar-fade {\n  opacity: 0.4;\n}\n\n.navbar-inverse .navbar-toggle {\n  border-color: rgba(255, 255, 255, 0.25);\n}\n\nheader[role=\"banner\"],\n.nav &amp;gt; li &amp;gt; a {\n  max-height: 60px;\n}\n\n@media screen and (max-width: 768px){\n  .nav &amp;gt; li &amp;gt; a {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n}\n\n.navbar-brand {\n  max-height: 60px;\n  padding: 0;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-brand img, .navbar-brand span {\n  margin-left: $sp-logo-margin-x;\n  margin-right: $sp-logo-margin-x;\n  margin-top: $sp-logo-margin-y;\n  margin-bottom: $sp-logo-margin-y;\n  display: block;\n  max-height: $sp-logo-max-height;\n  max-width: $sp-logo-max-width;\n  position: relative;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  transform: translateY(-50%);\n}\n.breadcrumb-container {\n  background-color: $panel-bg;\n}\n\n/* for mobile app */\n.navbar-inverse.is-native {\n  background-color: #405060;\n}\n\nnav {\n  margin-bottom: 0px;\n  border-radius: 0px;\n\n .toggle-dropdown {\n    height: 60px;\n  }\n\n}\n\n.navbar-right {\n  padding-right: 0px;\n  padding-left: 7px;\n}\n\n.navbar-nav {\nmargin: 0px;\n}\n\n// PRB711244: Dropdown menu is scrollable when too many items\n.scrollable-dropdown {\n  max-height: 80vh;\n  overflow: auto;\n  height: auto;\n}\n\n.is-native {\n .scrollable-dropdown {\n  max-height: 100vh;\n  overflow: scroll;\n  height: auto;\n\t}\n}\n\n\n/* PRB923910: Fix for Service Portal - Header Poorly Aligned in Safari */\n@media screen and (min-width: 768px) {\n  .navbar-right {\n    display: flex !important;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element) {\n\t$(document).keyup(function(event) {\n\t\tif (event.which == 9 || event.which == 37 || event.which == 39) { //tab key handler + arrow keys\n\t\t\tif ($(event.target).parents(\".dropdown-menu\").length == 0) { //if we are NOT inside a dropdown...\n\t\t\t\t//close the dropdowns\n\t\t\t\t$(\".dropdown\").removeClass(\"open\");\n\t\t\t\t$(\"[data-toggle='dropdown']\").attr(\"aria-expanded\", \"false\");\n\t\t\t}\n\t\t}\n\t});\n\n\t$(element).on('click.nav','.navbar-collapse.in',function(e) {\n\t\tvar target = $(e.target);\n\t\tif (target.is('a')) {\n\t\t\tif (target.hasClass('sp-menu-has-items'))\n\t\t\t\treturn; // menu item has a submenu, so just toggle it\n\n\t\t\t// collapse mobile nav if clicked an anchor\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\tif (target.parent().hasClass(\"toggle-dropdown\")) {\n\t\t\t// collapse mobile nav if parent has toggle-dropdown class\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\t// if neither target nor parent is an anchor, do nothing\n\t\tif (!target.parent().is('a'))\n\t\t\treturn;\n\n\t\t// collapse mobile nav if target is part of a submenu\n\t\tif (target.parents(\"ul.dropdown-menu\").length &gt; 0)\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t});\n}]]&gt;&lt;/link&gt;&lt;name&gt;Swapper Stock Header&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// Defines the support queue ID that will be linked to by the Live Chat link in header\ndata.connect_support_queue_id = $sp.getValue('sp_chat_queue');\ndata.login_page = $sp.getValue('login_page');\ndata.profileBtnMsg = gs.getMessage(\"User options\");\nvar menu = $sp.getValue(\"sp_rectangle_menu\");\ndata.menu = $sp.getWidgetFromInstance(menu);\nif (data.menu &amp;&amp; data.menu.data) {\n\tdata.menu.data.replace = true;\n\t// Hide login if menu already has link to login\n\tdata.hasLogin = false;\n\tif (data.menu.data.menu.items) {\n\t\tfor(var i in data.menu.data.menu.items) {\n\t\t\tvar item = data.menu.data.menu.items[i];\n\t\t\tif (item.type == 'page' &amp;&amp; item.sp_page == data.login_page)\n\t\t\t\tdata.hasLogin = true;\n\t\t}\n\t}\n}\n\ndata.loginWidget = $sp.getWidgetFromInstance('login-modal');\ndata.sp_swapper = $sp.getWidget('x_pisn_sp_swapper');\n\n\n\n\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_header_footer&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-13 11:24:15&lt;/sys_created_on&gt;&lt;sys_id&gt;3e8fdb26db33b304efd54a92ba961988&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;Swapper Stock Header&lt;/sys_name&gt;&lt;sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\"&gt;be5e9322db33b304efd54a92ba9619c3&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Sp Swapper\"&gt;be5e9322db33b304efd54a92ba9619c3&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_header_footer_3e8fdb26db33b304efd54a92ba961988&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-13 14:22:03&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;nav class=\"navbar-inverse\" ng-class=\"::{'navbar':!isViewNative, 'is-native': isViewNative}\"\n       role=\"navigation\"&gt;\n    &lt;div ng-show=\"::!isViewNative\" class=\"navbar-header\"&gt;\n&lt;a class=\"navbar-brand\" ng-if=\"::!portal.logo\" href=\"?id={{::portal.homepage_dv}}\"&gt;&lt;span ng-bind=\"portal.title\"&gt;&lt;/span&gt;&lt;/a&gt;\n      &lt;div&gt;&lt;sp-widget widget=\"::data.sp_swapper\"&gt;&lt;/sp-widget&gt;&lt;/div&gt;\n\n      &lt;button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#sp-nav-bar\"&gt;\n        &lt;span class=\"sr-only\"&gt;${Toggle navigation}&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n\n    &lt;div sp-navbar-toggle=\"\" class=\"collapse navbar-right\" id=\"sp-nav-bar\"&gt;\n      &lt;!-- Include The Menu --&gt;\n      &lt;sp-widget widget=\"::data.menu\"&gt;&lt;/sp-widget&gt;\n      &lt;ul ng-if=\"(!user.logged_in &amp;&amp; page.id != portal.login_page_dv &amp;&amp; !data.hasLogin)\" class=\"nav navbar-nav\" role=\"presentation\"&gt;\n        &lt;li role=\"presentation\"&gt;&lt;a href ng-click=\"::openLogin()\"&gt;${Login}&lt;/a&gt;&lt;/li&gt;\n      &lt;/ul&gt;\n      &lt;ul ng-if=\"user.logged_in\" class=\"nav navbar-nav\" role=\"menubar\"&gt;\n        &lt;!-- chat, avatar, and logout --&gt;\n        &lt;li ng-if=\"::data.connect_support_queue_id &amp;&amp; data.menu.options.enable_live_chat\" role=\"presentation\"&gt;&lt;a href ng-click=\"openPopUp()\" role=\"menuitem\"&gt;${Live Chat}&lt;/a&gt;&lt;/li&gt;\n        &lt;li ng-if=\"showAvatar\" class=\"hidden-xs dropdown\" role=\"presentation\"&gt;\n          &lt;a href class=\"toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" title=\"{{::data.profileBtnMsg}}\" aria-label=\"{{::data.profileBtnMsg}}: {{::user.name}}\" id=\"profile-dropdown\"  role=\"menuitem\" aria-haspopup=\"true\"&gt;\n            &lt;span class=\"navbar-avatar\" aria-hidden=\"true\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;\n            &lt;span class=\"visible-lg-inline\"&gt;{{::user.name}}&lt;/span&gt;\n          &lt;/a&gt;\n          &lt;ul class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::data.profileBtnMsg}}\"&gt;\n            &lt;li role=\"presentation\"&gt;&lt;a tabindex=\"-1\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\" role=\"menuitem\"&gt;${Profile}&lt;/a&gt;&lt;/li&gt;\n            &lt;li ng-if=\"::!(isViewNative || isViewNativeTablet)\" role=\"presentation\"&gt;&lt;a tabindex=\"-1\" href=\"{{::portal.logoutUrl}}\" role=\"menuitem\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n          &lt;/ul&gt;\n        &lt;/li&gt;\n        &lt;li ng-if=\"showXSAvatar\" class=\"visible-xs-block\" role=\"presentation\"&gt;&lt;a role=\"menuitem\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\" ng-click=\"collapse()\"&gt;\n          &lt;span class=\"navbar-avatar\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;{{::user.name}}&lt;/a&gt;\n        &lt;/li&gt;\n        &lt;li ng-if=\"::!(isViewNative || isViewNativeTablet)\" class=\"visible-xs-block\" role=\"presentation\"&gt;&lt;a role=\"menuitem\" ng-href=\"{{::portal.logoutUrl}}\" ng-click=\"collapse()\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n  &lt;/nav&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_header_footer&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1301292457</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>39756ff0db4c0010d033df8b4b96193d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7567080000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Swapper Stock Header</target_name>\n<type>Header | Footer</type>\n<update_domain>global</update_domain>\n<update_guid>57388032c437b30431f9e72b4823620c</update_guid>\n<update_guid_history>57388032c437b30431f9e72b4823620c:1301292457,b4a1eb6abf33b30414fa32d33f949448:2102514394,b9406f665233b304b20f0627ff94b38b:-223076234,f68fdb26fd33b30422fe8103ace1c08a:-1485697056</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_f1a1af6adb33b304efd54a92ba96198a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:33:28</sys_created_on><sys_id>f1a1af6adb33b304efd54a92ba96198a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_portal</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sys_scope_privilege_f1a1af6adb33b304efd54a92ba96198a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 11:33:28</sys_updated_on><target_name>sp_portal</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-2065311353</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>39756ff0db4c0010d033df8b4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7566f20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>sp_portal</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>f1a1af6ac633b304c5f7aa7157e8c28b</update_guid>\n<update_guid_history>f1a1af6ac633b304c5f7aa7157e8c28b:-2065311353</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_be5e9322db33b304efd54a92ba9619c3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>none</enforce_license><guided_setup_guid/><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>Sp Swapper</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_swapper</scope><scoped_administration>false</scoped_administration><short_description>A widget that allows the user to browse through different Portals</short_description><source>x_pisn_sp_swapper</source><store_correlation_id>REPOAPP0000001334</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:19:03</sys_created_on><sys_id>be5e9322db33b304efd54a92ba9619c3</sys_id><sys_mod_count>4</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-20 11:36:08</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.0.1</version></sys_app></record_update>]]></payload>\n<payload_hash>-2006166458</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>3d756ff0db4c0010d033df8b4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e75666b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Sp Swapper</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>0d65aff0dc4c00101d2377ba44b5e649</update_guid>\n<update_guid_history>0d65aff0dc4c00101d2377ba44b5e649:-2006166458,4c65ebf0794c0010d9c89002deed7640:-1201942717,18ea0c767737b3041284d8972377504a:-1531708478,365e5362b733b3042781068d7ea5f1d8:-1038226588</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_60488072db37b304efd54a92ba9619cb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 14:22:08</sys_created_on><sys_id>60488072db37b304efd54a92ba9619cb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: properties</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sys_scope_privilege_60488072db37b304efd54a92ba9619cb</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 14:22:08</sys_updated_on><target_name>Glide API: properties</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>810655511</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>75756ff0db4c0010d033df8b4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e75671d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Glide API: properties</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>ec4880727737b3041b3c077098846bcc</update_guid>\n<update_guid_history>ec4880727737b3041b3c077098846bcc:810655511</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_37ded7a2db33b304efd54a92ba96198d</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function SpSwapperController($scope, $location) {\n  var c = this;\n  if ($scope.portal &amp;&amp; $scope.portal.logo) {\n    c.logo = $scope.portal.logo;\n  }\n\n  c.goToPortal = function(item) {\n    $location.path(\"/\" + item.url_suffix).search({\n      id: item.homepage\n    });\n  };\n\n  c.goToHomepage = function() {\n    $location.search({\n      id: $scope.portal.homepage_dv\n    });\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$x_pisn_sp_swapper-height: $navbar-height !default;&amp;#13;\n$x_pisn_sp_swapper-max-height: $sp-logo-max-height !default;&amp;#13;\n$x_pisn_sp_swapper-max-width: $sp-logo-max-width !default;&amp;#13;\n$x_pisn_sp_swapper-link-color: $navbar-inverse-link-color !default;&amp;#13;\n$x_pisn_sp_swapper-bg: $navbar-inverse-bg !default;&amp;#13;\n$x_pisn_sp_swapper-b-radius: 10px !default;&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper {&amp;#13;\n  background-color: $x_pisn_sp_swapper-bg;&amp;#13;\n  max-width: calc($x_pisn_sp_swapper-max-width + 60x);&amp;#13;\n  position: absolute;&amp;#13;\n  z-index: 999;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper-open {&amp;#13;\n  background: rgba($x_pisn_sp_swapper-bg, 0.7);&amp;#13;\n  border-radius: $x_pisn_sp_swapper-b-radius;&amp;#13;\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper__logo {&amp;#13;\n  height: $x_pisn_sp_swapper-height;&amp;#13;\n  display: inline-flex;&amp;#13;\n  align-items: center;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper img {&amp;#13;\n  margin: 8px 0px 8px 10px;&amp;#13;\n  height: 100%;&amp;#13;\n  width: auto;&amp;#13;\n  max-height: $x_pisn_sp_swapper-max-height;&amp;#13;\n  max-width: $x_pisn_sp_swapper-max-width;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper i {&amp;#13;\n  color: $x_pisn_sp_swapper-link-color;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper ul {&amp;#13;\n  padding: 0px 0px 15px 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper__logo a {&amp;#13;\n  opacity: 0;&amp;#13;\n  transition: 0.3s;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x_pisn_sp_swapper__logo a:hover {&amp;#13;\n  opacity: 1;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.fa-lighter {&amp;#13;\n  -webkit-text-stroke: 1.5px $x_pisn_sp_swapper-bg;&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x_pisn_sp_swapper&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) { \n\n }]]&gt;&lt;/link&gt;&lt;name&gt;Sp Swapper&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Portals (Sys_Id) separated by comma\",\"name\":\"portals\",\"section\":\"other\",\"label\":\"Portals\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  input = input || {};\n  options.portals =\n    input.portals ||\n    options.portals ||\n    gs.getProperty(\"x_pisn_sp_swapper.portals\");\n  data.portals = [];\n\n  if (!options.portals) return;\n\n  var gr = new GlideRecord(\"sp_portal\");\n  gr.addQuery(\"sys_id\", \"IN\", options.portals);\n  gr.query();\n  while (gr.next()) {\n    data.portals.push({\n      sys_id: gr.getUniqueValue(),\n      title: gr.getDisplayValue(\"title\"),\n      url_suffix: gr.getDisplayValue(\"url_suffix\"),\n      logo: gr.getDisplayValue(\"logo\"),\n      homepage: gr.getDisplayValue(\"homepage\")\n    });\n  }\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-09-13 11:22:38&lt;/sys_created_on&gt;&lt;sys_id&gt;37ded7a2db33b304efd54a92ba96198d&lt;/sys_id&gt;&lt;sys_mod_count&gt;6&lt;/sys_mod_count&gt;&lt;sys_name&gt;Sp Swapper&lt;/sys_name&gt;&lt;sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\"&gt;be5e9322db33b304efd54a92ba9619c3&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Sp Swapper\"&gt;be5e9322db33b304efd54a92ba9619c3&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_37ded7a2db33b304efd54a92ba96198d&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-09-20 11:35:00&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div\n  class=\"x_pisn_sp_swapper m-l-xs\"\n  ng-if=\"c.logo\"\n  ng-class=\"{'x_pisn_sp_swapper-open': c.open}\"\n&gt;\n  &lt;div class=\"x_pisn_sp_swapper__logo\"&gt;\n    &lt;img\n      class=\"pointer m-n m-l-sm\"\n      ng-src=\"{{ c.logo }}\"\n      ng-click=\"c.goToHomepage()\"\n    /&gt;\n    &lt;a\n      href\n      class=\"wrapper-sm\"\n      ng-if=\"c.data.portals.length&gt;0\"\n      aria-hidden=\"true\"\n      data-toggle=\"collapse\"\n      data-target=\"#portals\"\n      ng-click=\"c.open = ! c.open\"\n    &gt;\n      &lt;i class=\"fa fa-chevron-down fa-lighter\" ng-if=\"!c.open\"&gt;&lt;/i&gt;\n      &lt;i class=\"fa fa-chevron-up fa-lighter\" ng-if=\"c.open\"&gt;&lt;/i&gt;\n    &lt;/a&gt;\n  &lt;/div&gt;\n  &lt;div id=\"portals\" class=\"collapse\" ng-if=\"c.data.portals.length&gt;0\"&gt;\n    &lt;ul class=\"list-unstyled m-n m-t-lg\"&gt;\n      &lt;li\n        class=\"no-border no-radius no-padder\"\n        ng-repeat=\"item in ::c.data.portals track by item.sys_id\"\n        ng-if=\"item.logo != c.logo\"\n      &gt;\n        &lt;img\n          class=\"pointer\"\n          ng-src=\"{{::item.logo}}\"\n          ng-click=\"c.goToPortal(item)\"\n        /&gt;\n      &lt;/li&gt;\n    &lt;/ul&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1896558084</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>79756ff0db4c0010d033df8b4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7567440000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Sp Swapper</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>102567f02a4c00105da0e74d47da09e2</update_guid>\n<update_guid_history>102567f02a4c00105da0e74d47da09e2:-1896558084,21ca8c36f637b3049bcc345543ef560a:1331440798,5b9780fe43f3b304e97ac2e04a22b980:625395721,149740323737b3041716ec9702a265a0:-2060996587,687780fef9f3b3041b3b9b56895789ba:1493478749,716f93262033b3046e1061492eb012ff:-481014624,0b2fdbe2b833b3048ad9b217ab88db44:-1040083018</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_1a61a76adb33b304efd54a92ba961922</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:32:25</sys_created_on><sys_id>1a61a76adb33b304efd54a92ba961922</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Glide API: string utilities</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sys_scope_privilege_1a61a76adb33b304efd54a92ba961922</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 11:32:25</sys_updated_on><target_name>Glide API: string utilities</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>scriptable</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>545361351</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>b1756ff0db4c0010d033df8b4b96193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7566e50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Glide API: string utilities</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>9661a76a7133b304e7c3222c38846824</update_guid>\n<update_guid_history>9661a76a7133b304e7c3222c38846824:545361351</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sp_theme_17a06ba6db33b304efd54a92ba96199b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_theme\"><sp_theme action=\"INSERT_OR_UPDATE\"><css_variables>$sp-logo-margin-x: \t\t15px !default;&#13;\n$sp-tagline-color:\t\t$text-color !default;&#13;\n$navbar-inverse-bg: \t#3a3f51 !default;&#13;\n$navbar-inverse-link-color: #bdc0c4 !default;&#13;\n$navbar-inverse-link-hover-color: #ffffff !default;&#13;\n$body-bg: \t\t\t\t#f0f3f4 !default;&#13;\n$dropdown-link-disabled-color: #ccc;&#13;\n$font-size-base: 15px;</css_variables><footer/><footer_fixed>false</footer_fixed><header display_value=\"Swapper Stock Header\">3e8fdb26db33b304efd54a92ba961988</header><name>Swapper Theme</name><navbar_fixed>true</navbar_fixed><sys_class_name>sp_theme</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:29:54</sys_created_on><sys_id>17a06ba6db33b304efd54a92ba96199b</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Swapper Theme</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sp_theme_17a06ba6db33b304efd54a92ba96199b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 11:31:53</sys_updated_on></sp_theme></record_update>]]></payload>\n<payload_hash>945423432</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>b5756ff0db4c0010d033df8b4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7566d50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>Swapper Theme</target_name>\n<type>Theme</type>\n<update_domain>global</update_domain>\n<update_guid>e2416be67b33b304f7a5a772c627ab21</update_guid>\n<update_guid_history>e2416be67b33b304f7a5a772c627ab21:945423432,a5d06ba67533b304193d351db9f917b8:-257460330</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sp_rel_widget_clone_3e8fdb26db33b304efd54a92ba96198b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_rel_widget_clone\"><sp_rel_widget_clone action=\"INSERT_OR_UPDATE\"><child display_value=\"Swapper Stock Header\">3e8fdb26db33b304efd54a92ba961988</child><cloned>2019-09-13 11:24:15</cloned><last_validated>2019-09-13 11:24:15</last_validated><parent display_value=\"Stock Header\">bf5ec2f2cb10120000f8d856634c9c0c</parent><payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;sp_widget&gt;&lt;category&gt;standard&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($rootScope, $scope, snRecordWatcher, spUtil, $location, $uibModal, cabrillo, $timeout, $window) {\n\n\t$scope.collapse = function() {\n\t\t$rootScope.$emit('sp-navbar-collapse');\n\t}\n\n\t$scope.avatarProfile = {\n\t\tuserID: $scope.user.sys_id,\n\t\tname: $scope.user.name,\n\t\tinitials: $window.NOW.user_initials\n\t};\n\n\tif ($window.NOW.user_avatar) {\n\t\t$scope.avatarProfile.userImage = $window.NOW.user_avatar;\n\t}\n\n\tif (cabrillo.isNative()) {\n\t\tif ($window.innerWidth &lt; 767) {\n\t\t\t$scope.isViewNative = true;\n\t\t} else {\n\t\t\t$scope.isViewNativeTablet = true;\n\t\t}\n\t}\n\n\n\t$scope.openPopUp = function() {\n\t\tvar url = \"$chat_support.do?queueID=\" + $scope.data.connect_support_queue_id;\n\t\tvar popup = window.open (url, \"popup\", \"width=900, height=600\");\n\t};\n\n\t$scope.openLogin = function () {\n\t\t$scope.modalInstance = $uibModal.open({\n\t\t\ttemplateUrl: 'modalLogin',\n\t\t\tscope: $scope\n\t\t});\n\t};\n\n\tvar xsScreenSize = isXSScreenSize();\n\t$scope.showXSAvatar = isXSScreenSize();\n\t$scope.showAvatar = !isXSScreenSize();\n\n\tangular.element($window).on('resize', function () {\n\t\tif(xsScreenSize !== isXSScreenSize() &amp;&amp; (!$scope.showXSAvatar || !$scope.showAvatar)){\n\t\t\t$scope.showXSAvatar = true;\n\t\t\t$scope.showAvatar = true;\n\t\t}\n\t});\n\n\n\tfunction isXSScreenSize() {\n\t\treturn $window.matchMedia('(max-width: 767px)').matches;\n\t}\n\n\t$rootScope.$on('sp.avatar_changed', function(evt, obj) {\n\t\t$scope.userID = \"\";\n\t\t$scope.newAvatarId = obj.newAvatarId;\n\t\t$timeout(function(){\n\t\t\t$scope.userID = $scope.user.sys_id;\n\t\t\t$(\".sub-avatar\").css(\"background-image\", 'url(\"' + $scope.newAvatarId + '.iix?t=small\")');\n\t\t});\n\t});\n\n\t$scope.isHomepage = function() {\n\t\tif (!$scope.page.id)\n\t\t\treturn true;\n\n\t\tif ($scope.page.id == $scope.portal.homepage_dv)\n\t\t\treturn true;\n\n\t\treturn false;\n\t};\n}\n\t\t]]&gt;&lt;/client_script&gt;&lt;controller_as/&gt;&lt;css&gt;.navbar {\n  transition: 250ms opacity ease-in-out;\n  -webkit-transition: 250ms opacity ease-in-out;\n  border: 0;\n  border-bottom: 4px solid $sp-navbar-divider-color;\n}\n\n.navbar-fade {\n  opacity: 0.4;\n}\n\n.navbar-inverse .navbar-toggle {\n  border-color: rgba(255, 255, 255, 0.25);\n}\n\nheader[role=\"banner\"],\n.nav &amp;gt; li &amp;gt; a {\n  max-height: 60px;\n}\n\n@media screen and (max-width: 768px){\n  .nav &amp;gt; li &amp;gt; a {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n}\n\n.navbar-brand {\n  max-height: 60px;\n  padding: 0;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-brand img, .navbar-brand span {\n  margin-left: $sp-logo-margin-x;\n  margin-right: $sp-logo-margin-x;\n  margin-top: $sp-logo-margin-y;\n  margin-bottom: $sp-logo-margin-y;\n  display: block;\n  max-height: $sp-logo-max-height;\n  max-width: $sp-logo-max-width;\n  position: relative;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  transform: translateY(-50%);\n}\n.breadcrumb-container {\n  background-color: $panel-bg;\n}\n\n/* for mobile app */\n.navbar-inverse.is-native {\n  background-color: #405060;\n}\n\nnav {\n  margin-bottom: 0px;\n  border-radius: 0px;\n\n .toggle-dropdown {\n    height: 60px;\n  }\n\n}\n\n.navbar-right {\n  padding-right: 0px;\n  padding-left: 7px;\n}\n\n.navbar-nav {\nmargin: 0px;\n}\n\n// PRB711244: Dropdown menu is scrollable when too many items\n.scrollable-dropdown {\n  max-height: 80vh;\n  overflow: auto;\n  height: auto;\n}\n\n.is-native {\n .scrollable-dropdown {\n  max-height: 100vh;\n  overflow: scroll;\n  height: auto;\n\t}\n}\n\n\n/* PRB923910: Fix for Service Portal - Header Poorly Aligned in Safari */\n@media screen and (min-width: 768px) {\n  .navbar-right {\n    display: flex !important;\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id/&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(scope, element) {\n\t$(document).keyup(function(event) {\n\t\tif (event.which == 9 || event.which == 37 || event.which == 39) { //tab key handler + arrow keys\n\t\t\tif ($(event.target).parents(\".dropdown-menu\").length == 0) { //if we are NOT inside a dropdown...\n\t\t\t\t//close the dropdowns\n\t\t\t\t$(\".dropdown\").removeClass(\"open\");\n\t\t\t\t$(\"[data-toggle='dropdown']\").attr(\"aria-expanded\", \"false\");\n\t\t\t}\n\t\t}\n\t});\n\n\t$(element).on('click.nav','.navbar-collapse.in',function(e) {\n\t\tvar target = $(e.target);\n\t\tif (target.is('a')) {\n\t\t\tif (target.hasClass('sp-menu-has-items'))\n\t\t\t\treturn; // menu item has a submenu, so just toggle it\n\n\t\t\t// collapse mobile nav if clicked an anchor\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\tif (target.parent().hasClass(\"toggle-dropdown\")) {\n\t\t\t// collapse mobile nav if parent has toggle-dropdown class\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t\t\treturn;\n\t\t}\n\n\t\t// if neither target nor parent is an anchor, do nothing\n\t\tif (!target.parent().is('a'))\n\t\t\treturn;\n\n\t\t// collapse mobile nav if target is part of a submenu\n\t\tif (target.parents(\"ul.dropdown-menu\").length &gt; 0)\n\t\t\t$(this).removeClass('in').addClass('collapse');\n\t});\n}]]&gt;&lt;/link&gt;&lt;name&gt;Stock Header&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[// Defines the support queue ID that will be linked to by the Live Chat link in header\ndata.connect_support_queue_id = $sp.getValue('sp_chat_queue');\ndata.login_page = $sp.getValue('login_page');\ndata.profileBtnMsg = gs.getMessage(\"User options\");\nvar menu = $sp.getValue(\"sp_rectangle_menu\");\ndata.menu = $sp.getWidgetFromInstance(menu);\nif (data.menu &amp;&amp; data.menu.data) {\n\tdata.menu.data.replace = true;\n\t// Hide login if menu already has link to login\n\tdata.hasLogin = false;\n\tif (data.menu.data.menu.items) {\n\t\tfor(var i in data.menu.data.menu.items) {\n\t\t\tvar item = data.menu.data.menu.items[i];\n\t\t\tif (item.type == 'page' &amp;&amp; item.sp_page == data.login_page)\n\t\t\t\tdata.hasLogin = true;\n\t\t}\n\t}\n}\n\ndata.loginWidget = $sp.getWidgetFromInstance('login-modal');]]&gt;&lt;/script&gt;&lt;servicenow&gt;true&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_header_footer&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2015-12-16 23:21:34&lt;/sys_created_on&gt;&lt;sys_id&gt;bf5ec2f2cb10120000f8d856634c9c0c&lt;/sys_id&gt;&lt;sys_mod_count&gt;582&lt;/sys_mod_count&gt;&lt;sys_name&gt;Stock Header&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\"&gt;1247e032db9203005c025a6adc9619e8&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_header_footer_bf5ec2f2cb10120000f8d856634c9c0c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-24 17:17:58&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;nav class=\"navbar-inverse\" ng-class=\"::{'navbar':!isViewNative, 'is-native': isViewNative}\"\n       role=\"navigation\"&gt;\n    &lt;div ng-show=\"::!isViewNative\" class=\"navbar-header\"&gt;\n&lt;a class=\"navbar-brand\" ng-if=\"::!portal.logo\" href=\"?id={{::portal.homepage_dv}}\"&gt;&lt;span ng-bind=\"portal.title\"&gt;&lt;/span&gt;&lt;/a&gt;\n      &lt;a class=\"navbar-brand navbar-brand-logo\" ng-if=\"::portal.logo\" ng-href=\"?id={{::portal.homepage_dv}}\" ng-click=\"collapse()\" aria-label=\"${Go to homepage}\"&gt;\n        &lt;img ng-src=\"{{::portal.logo}}\" title=\"ServiceNow\" role=\"presentation\" alt=\"${Portal Logo}\" /&gt;\n      &lt;/a&gt;\n\n      &lt;button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#sp-nav-bar\"&gt;\n        &lt;span class=\"sr-only\"&gt;${Toggle navigation}&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n        &lt;span class=\"icon-bar\"&gt;&lt;/span&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n\n    &lt;div sp-navbar-toggle=\"\" class=\"collapse navbar-right\" id=\"sp-nav-bar\"&gt;\n      &lt;!-- Include The Menu --&gt;\n      &lt;sp-widget widget=\"::data.menu\"&gt;&lt;/sp-widget&gt;\n      &lt;ul ng-if=\"(!user.logged_in &amp;&amp; page.id != portal.login_page_dv &amp;&amp; !data.hasLogin)\" class=\"nav navbar-nav\" role=\"presentation\"&gt;\n        &lt;li role=\"presentation\"&gt;&lt;a href ng-click=\"::openLogin()\"&gt;${Login}&lt;/a&gt;&lt;/li&gt;\n      &lt;/ul&gt;\n      &lt;ul ng-if=\"user.logged_in\" class=\"nav navbar-nav\" role=\"menubar\"&gt;\n        &lt;!-- chat, avatar, and logout --&gt;\n        &lt;li ng-if=\"::data.connect_support_queue_id &amp;&amp; data.menu.options.enable_live_chat\" role=\"presentation\"&gt;&lt;a href ng-click=\"openPopUp()\" role=\"menuitem\"&gt;${Live Chat}&lt;/a&gt;&lt;/li&gt;\n        &lt;li ng-if=\"showAvatar\" class=\"hidden-xs dropdown\" role=\"presentation\"&gt;\n          &lt;a href class=\"toggle-dropdown\" data-toggle=\"dropdown\" aria-expanded=\"false\" title=\"{{::data.profileBtnMsg}}\" aria-label=\"{{::data.profileBtnMsg}}: {{::user.name}}\" id=\"profile-dropdown\"  role=\"menuitem\" aria-haspopup=\"true\"&gt;\n            &lt;span class=\"navbar-avatar\" aria-hidden=\"true\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;\n            &lt;span class=\"visible-lg-inline\"&gt;{{::user.name}}&lt;/span&gt;\n          &lt;/a&gt;\n          &lt;ul class=\"dropdown-menu\" role=\"menu\" aria-label=\"{{::data.profileBtnMsg}}\"&gt;\n            &lt;li role=\"presentation\"&gt;&lt;a tabindex=\"-1\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\" role=\"menuitem\"&gt;${Profile}&lt;/a&gt;&lt;/li&gt;\n            &lt;li ng-if=\"::!(isViewNative || isViewNativeTablet)\" role=\"presentation\"&gt;&lt;a tabindex=\"-1\" href=\"{{::portal.logoutUrl}}\" role=\"menuitem\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n          &lt;/ul&gt;\n        &lt;/li&gt;\n        &lt;li ng-if=\"showXSAvatar\" class=\"visible-xs-block\" role=\"presentation\"&gt;&lt;a role=\"menuitem\" ng-href=\"?id=user_profile&amp;sys_id={{::user.sys_id}}\" ng-click=\"collapse()\"&gt;\n          &lt;span class=\"navbar-avatar\"&gt;&lt;sn-avatar class=\"avatar-small-medium\" primary=\"avatarProfile\" /&gt;&lt;/span&gt;{{::user.name}}&lt;/a&gt;\n        &lt;/li&gt;\n        &lt;li ng-if=\"::!(isViewNative || isViewNativeTablet)\" class=\"visible-xs-block\" role=\"presentation\"&gt;&lt;a role=\"menuitem\" ng-href=\"{{::portal.logoutUrl}}\" ng-click=\"collapse()\"&gt;${Logout}&lt;/a&gt;&lt;/li&gt;\n      &lt;/ul&gt;\n    &lt;/div&gt;\n  &lt;/nav&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;</payload><sys_class_name>sp_rel_widget_clone</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 11:24:15</sys_created_on><sys_id>3e8fdb26db33b304efd54a92ba96198b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>3e8fdb26db33b304efd54a92ba961988</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sp_rel_widget_clone_3e8fdb26db33b304efd54a92ba96198b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 11:24:15</sys_updated_on></sp_rel_widget_clone></record_update>]]></payload>\n<payload_hash>-284957822</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>f1756ff0db4c0010d033df8b4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e7566900000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>3e8fdb26db33b304efd54a92ba961988</target_name>\n<type>Widget Clone</type>\n<update_domain>global</update_domain>\n<update_guid>ba8fdb265233b3045dbdfd7bdf69aa8d</update_guid>\n<update_guid_history>ba8fdb265233b3045dbdfd7bdf69aa8d:1070229706</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_1d660c7edbf3b304efd54a92ba9619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description/><ignore_cache>false</ignore_cache><is_private>false</is_private><name>x_pisn_sp_swapper.portals</name><read_roles/><suffix>portals</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-09-13 14:15:02</sys_created_on><sys_id>1d660c7edbf3b304efd54a92ba9619c6</sys_id><sys_mod_count>4</sys_mod_count><sys_name>x_pisn_sp_swapper.portals</sys_name><sys_package display_value=\"Sp Swapper\" source=\"x_pisn_sp_swapper\">be5e9322db33b304efd54a92ba9619c3</sys_package><sys_policy/><sys_scope display_value=\"Sp Swapper\">be5e9322db33b304efd54a92ba9619c3</sys_scope><sys_update_name>sys_properties_1d660c7edbf3b304efd54a92ba9619c6</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-09-13 14:23:07</sys_updated_on><type>string</type><value/><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1d660c7edbf3b304efd54a92ba9619c6\"/></record_update>]]></payload>\n<payload_hash>626123314</payload_hash>\n<remote_update_set display_value=\"Sp Swapper\">f1756ff0db4c0010d033df8b4b96193d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-09-20 11:36:27</sys_created_on>\n<sys_id>fd756ff0db4c0010d033df8b4b96193e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16d4e75672d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-09-20 11:36:27</sys_updated_on>\n<table/>\n<target_name>x_pisn_sp_swapper.portals</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>6f788c723c37b304b1082dc4091fbed6</update_guid>\n<update_guid_history>6f788c723c37b304b1082dc4091fbed6:626123314,f478c8727137b304c323166a76b9157e:1172954019,1f5844726737b304e3624ce12bf26a2d:626123314,b8c644beebf3b3045fd02cfeab545b3c:1172954019,cda680be0df3b304d16a47297cbf9860:626123314</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-sp-swapper/widget/pe-sp-swapper.u-body-html-template.html",
    "content": "<div\n  class=\"x_pisn_sp_swapper m-l-xs\"\n  ng-if=\"c.logo\"\n  ng-class=\"{'x_pisn_sp_swapper-open': c.open}\"\n>\n  <div class=\"x_pisn_sp_swapper__logo\">\n    <img\n      class=\"pointer m-n m-l-sm\"\n      ng-src=\"{{ c.logo }}\"\n      ng-click=\"c.goToHomepage()\"\n    />\n    <a\n      href\n      class=\"wrapper-sm\"\n      ng-if=\"c.data.portals.length>0\"\n      aria-hidden=\"true\"\n      data-toggle=\"collapse\"\n      data-target=\"#portals\"\n      ng-click=\"c.open = ! c.open\"\n    >\n      <i class=\"fa fa-chevron-down fa-lighter\" ng-if=\"!c.open\"></i>\n      <i class=\"fa fa-chevron-up fa-lighter\" ng-if=\"c.open\"></i>\n    </a>\n  </div>\n  <div id=\"portals\" class=\"collapse\" ng-if=\"c.data.portals.length>0\">\n    <ul class=\"list-unstyled m-n m-t-lg\">\n      <li\n        class=\"no-border no-radius no-padder\"\n        ng-repeat=\"item in ::c.data.portals track by item.sys_id\"\n        ng-if=\"item.logo != c.logo\"\n      >\n        <img\n          class=\"pointer\"\n          ng-src=\"{{::item.logo}}\"\n          ng-click=\"c.goToPortal(item)\"\n        />\n      </li>\n    </ul>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-sp-swapper/widget/pe-sp-swapper.u-client-script.js",
    "content": "function SpSwapperController($scope, $location) {\n  var c = this;\n  if ($scope.portal && $scope.portal.logo) {\n    c.logo = $scope.portal.logo;\n  }\n\n  c.goToPortal = function(item) {\n    $location.path(\"/\" + item.url_suffix).search({\n      id: item.homepage\n    });\n  };\n\n  c.goToHomepage = function() {\n    $location.search({\n      id: $scope.portal.homepage_dv\n    });\n  };\n}\n"
  },
  {
    "path": "src/pe-sp-swapper/widget/pe-sp-swapper.u-css.scss",
    "content": "$x_pisn_sp_swapper-height: $navbar-height !default;\n$x_pisn_sp_swapper-max-height: $sp-logo-max-height !default;\n$x_pisn_sp_swapper-max-width: $sp-logo-max-width !default;\n$x_pisn_sp_swapper-link-color: $navbar-inverse-link-color !default;\n$x_pisn_sp_swapper-bg: $navbar-inverse-bg !default;\n$x_pisn_sp_swapper-b-radius: 10px !default;\n\n.x_pisn_sp_swapper {\n  background-color: $x_pisn_sp_swapper-bg;\n  max-width: calc($x_pisn_sp_swapper-max-width + 60x);\n  position: absolute;\n  z-index: 999;\n}\n\n.x_pisn_sp_swapper-open {\n  background: rgba($x_pisn_sp_swapper-bg, 0.7);\n  border-radius: $x_pisn_sp_swapper-b-radius;\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n}\n\n.x_pisn_sp_swapper__logo {\n  height: $x_pisn_sp_swapper-height;\n  display: inline-flex;\n  align-items: center;\n}\n\n.x_pisn_sp_swapper img {\n  margin: 8px 0px 8px 10px;\n  height: 100%;\n  width: auto;\n  max-height: $x_pisn_sp_swapper-max-height;\n  max-width: $x_pisn_sp_swapper-max-width;\n}\n\n.x_pisn_sp_swapper i {\n  color: $x_pisn_sp_swapper-link-color;\n}\n\n.x_pisn_sp_swapper ul {\n  padding: 0px 0px 15px 0px;\n}\n\n.x_pisn_sp_swapper__logo a {\n  opacity: 0;\n  transition: 0.3s;\n}\n\n.x_pisn_sp_swapper__logo a:hover {\n  opacity: 1;\n}\n\n.fa-lighter {\n  -webkit-text-stroke: 1.5px $x_pisn_sp_swapper-bg;\n  -webkit-font-smoothing: antialiased;\n}\n"
  },
  {
    "path": "src/pe-sp-swapper/widget/pe-sp-swapper.u-option-schema.json",
    "content": "[\n  {\n    \"hint\": \"Portals (Sys_Id) separated by comma\",\n    \"name\": \"portals\",\n    \"section\": \"other\",\n    \"label\": \"Portals\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-sp-swapper/widget/pe-sp-swapper.u-server-script.js",
    "content": "(function() {\n  input = input || {};\n  options.portals =\n    input.portals ||\n    options.portals ||\n    gs.getProperty(\"x_pisn_sp_swapper.portals\");\n  data.portals = [];\n\n  if (!options.portals) return;\n\n  var gr = new GlideRecord(\"sp_portal\");\n  gr.addQuery(\"sys_id\", \"IN\", options.portals);\n  gr.query();\n  while (gr.next()) {\n    data.portals.push({\n      sys_id: gr.getUniqueValue(),\n      title: gr.getDisplayValue(\"title\"),\n      url_suffix: gr.getDisplayValue(\"url_suffix\"),\n      logo: gr.getDisplayValue(\"logo\"),\n      homepage: gr.getDisplayValue(\"homepage\")\n    });\n  }\n})();\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/README.md",
    "content": "# Sp Tabs Launchpad\n\n## Description\n\nTabs component with options and SASS variables for an easy customization. It is using a provided API / Script Include and Service Portal Menu Items as data source.\n\n## Screenshot\n\n![Sp Tabs Launchpad with responsive apps layout](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-tabs-launchpad/images/pe-sp-tabs-launchpad-01.png)\n\n![Sp Tabs Launchpad with default responsive and predefined Bootstrap table](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-tabs-launchpad/images/pe-sp-tabs-launchpad-02.png)\n\n![Sp Tabs Launchpad with an embedded widget](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-tabs-launchpad/images/pe-sp-tabs-launchpad-03.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-sp-tabs-launchpad.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-sp-tabs-launchpad/pe-sp-tabs-launchpad.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> Instantiate the widget on any Service Portal Page, and a Service Portal Menu record (module Service Portal -> Menus) will be automatically created by the platform.\nAt this point, you can create your menu items/tabs. There are three types of visualisation supported at the moment: 'apps', 'list', and 'widgets'. Here below a sample Scripted List Menu Item for each type.\n\nType 'apps':\n\n``` javascript\nvar t = data;\n\n/*** options ***/\nt.table = 'm2m_sp_status_subscription';\nt.filter = 'sys_userDYNAMIC90d1921e5f510100a9ad2572f2b477fe^cmdb_ci_service.service_classification=Business Service^ORDERBYcmdb_ci_service.name';\nt.type = 'apps';\nt.limit = 11;\nt.attributes = 'cmdb_ci_service.name,cmdb_ci_service.x_pisn_sp_launchp_logo,cmdb_ci_service.sys_id';\nt.page_id = 'form';\nt.page_table = 'cmdb_ci_service';\nt.page_sys_id = 'cmdb_ci_service.sys_id';\n\nt.record_watchers = [];\nt.record_watchers.push({'table':t.table,'filter':t.filter});\n```\n\nType 'list':\n\n``` javascript\nvar t = data;\n\n/* options */\nt.table = 'task';\nt.filter = 'active=true^sys_class_name=incident^opened_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe^ORDERBYDESCsys_updated_on';\nt.type = 'list';\nt.filter_count = 'sys_class_name=incident^opened_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state=1^ORstate=2^ORstate=3';\n\nt.record_watchers = [];\nt.record_watchers.push({'table':t.table,'filter':t.filter});\n```\n\n\nType 'widget':\n\n``` javascript\nvar t = data;\nvar spLaunchpadAPI = new x_pisn_sp_launchp.SpLaunchpadAPI();\n\n/* options */\nt.table = 'sys_user';\nt.filter = 'active=true^company='+gs.getUser().getCompanyID();\nt.type = 'widget';\nt.data = {};\nt.data.count = spLaunchpadAPI.getCount(t.table, t.filter);\nt.widget_id = 'widget-data-table';\nt.widget_options = {\n  table: t.table,\n  filter: t.filter,\n  view: 'sp',\n  o: 'name',\n  d: 'asc',\n  fields: 'first_name,last_name,email,title',\n  window_size: 3,\n  hide_header: true,\n  sp_page: 'user_profile'\n}\n\nt.record_watchers = [];\nt.record_watchers.push({'table':t.table,'filter':t.filter});\n```\n\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n``` sass\n$x-pisn-sp-launchp: lighten($gray-base, 85%);\n$x-pisn-sp-launchp-active: $brand-primary;\n$x-pisn-sp-launchp-text: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-badge: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-badge-bg: white !default;\n$x-pisn-sp-launchp-badge-b: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-border: $x-pisn-sp-launchp-text-active !default;\n$x-pisn-sp-launchp-text-active: $x-pisn-sp-launchp-active !default;\n$x-pisn-sp-launchp-badge-active: white !default;\n$x-pisn-sp-launchp-badge-bg-active: $x-pisn-sp-launchp-active !default;\n$x-pisn-sp-launchp-badge-b-active: $x-pisn-sp-launchp-active !default;\n```\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Tabs\",\n  \"common-name\": \"Sp Tabs Launchpad\",\n  \"compatibility\": [\"Kingston\", \"London\", \"Madrid\"],\n  \"contributors\": [\"Fabio Petito\"],\n  \"keywords\": [\"Widget\", \"Tabs\"],\n  \"name\": \"pe-sp-tabs-launchpad\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Tabs component with options and SASS variables for an easy customization. It is using a provided API / Script Include and Service Portal Menu Items as data source.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/pe-sp-tabs-launchpad.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2019-06-28 15:48:18\">\n  <sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <application_name>SP Launchpad</application_name>\n    <application_scope>x_pisn_sp_launchp</application_scope>\n    <application_version>1.1.1</application_version>\n    <collisions/>\n    <commit_date/>\n    <deleted/>\n    <description></description>\n    <inserted/>\n    <name>SP Launchpad</name>\n    <origin_sys_id/>\n    <parent display_value=\"\"/>\n    <release_date/>\n    <remote_base_update_set display_value=\"\"/>\n    <remote_parent_id/>\n    <remote_sys_id>a9897f71dbd6bb00efd54a92ba96196f</remote_sys_id>\n    <state>loaded</state>\n    <summary/>\n    <sys_class_name>sys_remote_update_set</sys_class_name>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8499bf71dbd6bb00efd54a92ba9619a1</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <update_set display_value=\"\"/>\n    <update_source display_value=\"\"/>\n    <updated/>\n  </sys_remote_update_set>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_app_f400c295db25f700efd54a92ba961934</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>none</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Launchpad</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_launchp</scope><scoped_administration>false</scoped_administration><short_description/><source>x_pisn_sp_launchp</source><store_correlation_id>REPOAPP0000001323</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 10:53:12</sys_created_on><sys_id>f400c295db25f700efd54a92ba961934</sys_id><sys_mod_count>9</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 15:47:03</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.1.1</version></sys_app></record_update>]]></payload>\n    <payload_hash>-1817200871</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0099bf71dbd6bb00efd54a92ba9619a4</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0800000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>SP Launchpad</target_name>\n    <type>Custom Application</type>\n    <update_domain>global</update_domain>\n    <update_guid>b549bf7194d6bb0059dfb80ac702b3be</update_guid>\n    <update_guid_history>b549bf7194d6bb0059dfb80ac702b3be:-1817200871,c5497f714bd6bb00c1960f36cc2da36a:1314185240,0bf8b731ead6bb005784b49d729ce931:984419479,8af83331bfd6bb00535a09363349e209:-179161706,34c5b8cd2d52f70066116343bfd013e9:1403053399,76b5b4cda352f7000ad990961f95ac24:239472214,0637b1726b79bb4054ebf175c1badb09:-90293547,1537bd32c979bb401d0ef4795f2dfcd9:-278633285,a6c50652f42df38000aa6fe0cea5bc77:-608399046,81004a955e25f700f7b6e439afb3291e:-733552635</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_service\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_service</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:20</sys_created_on><sys_id>0bb45355db69f700efd54a92ba961980</sys_id><sys_mod_count>1</sys_mod_count><sys_name>SP Launchpad Logo</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:44</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>-1122573634</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0099bf71dbd6bb00efd54a92ba9619a7</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c24f0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service</table>\n    <target_name>Business Service.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid>74d41b558d69f700f1833c54e97eb961</update_guid>\n    <update_guid_history>74d41b558d69f700f1833c54e97eb961:-1122573634,37b4d355e969f700232b94fcbf47c8b7:1027709468</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_rectangle_menu_item_a9110a59db25f700efd54a92ba96199f</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_rectangle_menu_item\"&gt;&lt;sp_rectangle_menu_item action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;color&gt;default&lt;/color&gt;&lt;condition/&gt;&lt;display_1/&gt;&lt;display_2/&gt;&lt;display_date/&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;hint/&gt;&lt;kb_article/&gt;&lt;kb_category/&gt;&lt;kb_topic/&gt;&lt;label&gt;My Tickets&lt;/label&gt;&lt;order&gt;200&lt;/order&gt;&lt;record_script&gt;&lt;![CDATA[var t = data;\n\n/* options */\nt.table = 'task';\nt.filter = 'active=true^sys_class_name=incident^opened_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe^ORDERBYDESCsys_updated_on';\nt.type = 'list';\nt.filter_count = 'sys_class_name=incident^opened_byDYNAMIC90d1921e5f510100a9ad2572f2b477fe^state=1^ORstate=2^ORstate=3';\n\nt.record_watchers = [];\nt.record_watchers.push({'table':t.table,'filter':t.filter});]]&gt;&lt;/record_script&gt;&lt;sc_cat_item/&gt;&lt;sc_category/&gt;&lt;short_description/&gt;&lt;sp_page/&gt;&lt;sp_rectangle_menu display_value=\"SP Launchpad\"&gt;9fd00659db25f700efd54a92ba9619a0&lt;/sp_rectangle_menu&gt;&lt;sp_rectangle_menu_item/&gt;&lt;sys_class_name&gt;sp_rectangle_menu_item&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 10:59:42&lt;/sys_created_on&gt;&lt;sys_id&gt;a9110a59db25f700efd54a92ba96199f&lt;/sys_id&gt;&lt;sys_mod_count&gt;16&lt;/sys_mod_count&gt;&lt;sys_name&gt;My Tickets&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_rectangle_menu_item_a9110a59db25f700efd54a92ba96199f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-07 08:31:08&lt;/sys_updated_on&gt;&lt;table/&gt;&lt;type&gt;scripted&lt;/type&gt;&lt;url/&gt;&lt;url_target/&gt;&lt;/sp_rectangle_menu_item&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=a9110a59db25f700efd54a92ba96199f\"/&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-81930236</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0499bf71dbd6bb00efd54a92ba9619a3</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2ad0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>My Tickets</target_name>\n    <type>Menu Item</type>\n    <update_domain>global</update_domain>\n    <update_guid>131c0ec7fff177c093e68f064c426552</update_guid>\n    <update_guid_history>131c0ec7fff177c093e68f064c426552:-81930236,249bf1d6cde9f3803d0895b56876a6ce:-675357347,97aa75963ee9f3803e6b005cdada5f3f:-657326300,ab8ab19668e9f3803b4ac674af1b27de:1144299859,31983dd28ae9f38045f11288e345d486:-657326300,8a7981967e29f38093cb02b8f496730c:-1510042614,a52803191429f700d853180d62877c1c:2049528757,cc750f151729f700a2ea532de07a093e:-1840388888,2e63cfd11f29f7002e46feeeb14dc467:1341040629,1463cbd17429f7003f0d9bb6a3c4e212:-1659458124,171303d19929f7009de828c54f6d71d6:1130020628,9df20b910829f7001f4961b69dc893c9:-1758335355,1e30cb115e29f7000b18acf8d5d7bdcd:1009231297,10004fdd19e5f700d7919a471176ced7:1001383889,a6367ed555e5f700e5ecd31bc48b4187:670215904,aa4a96dd7565f700c933284a98ea2846:-215484026,58810a598725f700b7fa90e64118badb:878708472</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_service_auto_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_service_auto\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_service_auto</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>ebb4d355db69f700efd54a92ba9619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>-32109299</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0499bf71dbd6bb00efd54a92ba9619a6</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c18b0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_auto</table>\n    <target_name>Monitored Service.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_container_58b00e19db25f700efd54a92ba9619d3</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color>#ffffff</background_color><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name/><container_class_name/><name>Demo SP Launchpad - Container 1</name><order>1</order><sp_page display_value=\"x_pisn_sp_launchp\">9730ce95db25f700efd54a92ba961908</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 10:56:09</sys_created_on><sys_id>58b00e19db25f700efd54a92ba9619d3</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Demo SP Launchpad - Container 1</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sp_container_58b00e19db25f700efd54a92ba9619d3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 10:56:44</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n    <payload_hash>86393025</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0899bf71dbd6bb00efd54a92ba9619a2</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0d90000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>Demo SP Launchpad - Container 1</target_name>\n    <type>Container</type>\n    <update_domain>global</update_domain>\n    <update_guid>bcd006598925f700a00c15c9f8678d90</update_guid>\n    <update_guid_history>bcd006598925f700a00c15c9f8678d90:86393025,dcb00e19ad25f70088a77c9ed45e36d4:505345056</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_em_sla_configuration_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"em_sla_configuration\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;em_sla_configuration&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;bfb4d355db69f700efd54a92ba9619a7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>391406180</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0899bf71dbd6bb00efd54a92ba9619a5</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1810000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>em_sla_configuration</table>\n    <target_name>SLA Configuration.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_ui_section_aee31715db69f700efd54a92ba961932</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"aee31715db69f700efd54a92ba961932\" sys_domain=\"global\" table=\"cmdb_ci_service\" version=\"3\" view=\"SP_Launchpad\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>name</element><position>0</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>38f45f55db69f700efd54a92ba961920</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>managed_by</element><position>1</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>bcf45f55db69f700efd54a92ba961920</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>owned_by</element><position>2</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>34f45f55db69f700efd54a92ba961921</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>b8f45f55db69f700efd54a92ba961921</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>location</element><position>4</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>30f45f55db69f700efd54a92ba961922</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><position>5</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>b4f45f55db69f700efd54a92ba961922</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>6</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>3cf45f55db69f700efd54a92ba961922</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>short_description</element><position>7</position><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:04:17</sys_created_on><sys_id>b0f45f55db69f700efd54a92ba961923</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"cmdb_ci_service\" sys_domain=\"global\" view=\"62e3d315db69f700efd54a92ba961981\">aee31715db69f700efd54a92ba961932</sys_ui_section><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:04:17</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>cmdb_ci_service</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 16:59:45</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>aee31715db69f700efd54a92ba961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>cmdb_ci_service</sys_name><sys_overrides/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_ui_section_aee31715db69f700efd54a92ba961932</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 16:59:45</sys_updated_on><sys_user/><title>false</title><view display_value=\"SP Launchpad\" name=\"SP_Launchpad\">62e3d315db69f700efd54a92ba961981</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n    <payload_hash>1614041963</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0899bf71dbd6bb00efd54a92ba9619a8</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1530000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service</table>\n    <target_name>Business Service</target_name>\n    <type>Form Layout</type>\n    <update_domain>global</update_domain>\n    <update_guid>34f45f558a69f70067ab70c84fdc2925</update_guid>\n    <update_guid_history>34f45f558a69f70067ab70c84fdc2925:1614041963,c1549b159f69f70040d1e7833404a016:-1749517517,e2e31715ad69f700e2fbc08b0d92f837:1281187727</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view>SP_Launchpad</view>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>db_image_d0df00bddba93b00efd54a92ba9619d3</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format/><height/><image>faef887ddba93b00efd54a92ba96196b</image><name>x_pisn_sp_launchp-img-see_all.svg</name><size_bytes>8833</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-21 16:00:19</sys_created_on><sys_id>d0df00bddba93b00efd54a92ba9619d3</sys_id><sys_mod_count>2</sys_mod_count><sys_name>x_pisn_sp_launchp-img-see_all.svg</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>db_image_d0df00bddba93b00efd54a92ba9619d3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-21 16:00:24</sys_updated_on><thumbnail/><width/></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>8833</size_bytes><size_compressed>4066</size_compressed><state/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-21 16:00:24</sys_created_on><sys_id>faef887ddba93b00efd54a92ba96196b</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-21 16:00:24</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>d0df00bddba93b00efd54a92ba9619d3</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"faef887ddba93b00efd54a92ba96196b\">faef887ddba93b00efd54a92ba96196b</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-21 16:00:24</sys_created_on><sys_id>3eef887ddba93b00efd54a92ba96196b</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>5408</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"faef887ddba93b00efd54a92ba96196b\">faef887ddba93b00efd54a92ba96196b</sys_attachment><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-21 16:00:24</sys_created_on><sys_id>beef887ddba93b00efd54a92ba96196b</sys_id></sys_attachment_doc></record_update>]]></payload>\n    <payload_hash>2014745197</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0c99bf71dbd6bb00efd54a92ba9619a1</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c26e0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>x_pisn_sp_launchp-img-see_all.svg</target_name>\n    <type>Images</type>\n    <update_domain>global</update_domain>\n    <update_guid>b6efc0bdd9a93b00ffaef3b7f00f1097</update_guid>\n    <update_guid_history>b6efc0bdd9a93b00ffaef3b7f00f1097:2014745197,36efc0bdfda93b00df1af69f5031c194:1559827426,f2efc0bd79a93b00c0899b6b323cd892:1559827426,a9ef887d81a93b0006706065d535be68:-106363481</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_service_discovered_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_service_discovered\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_service_discovered&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;afb4d355db69f700efd54a92ba9619a1&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>1098473572</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0c99bf71dbd6bb00efd54a92ba9619a4</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1ba0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_discovered</table>\n    <target_name>Application Service.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_66b32ed5dba5f700efd54a92ba961974</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 13:29:14</sys_created_on><sys_id>66b32ed5dba5f700efd54a92ba961974</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_instance_menu</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_scope_privilege_66b32ed5dba5f700efd54a92ba961974</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 13:29:14</sys_updated_on><target_name>sp_instance_menu</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>1045513329</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>0c99bf71dbd6bb00efd54a92ba9619a7</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c10b0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>sp_instance_menu</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>aab32ed503a5f70074dbc69b93160375</update_guid>\n    <update_guid_history>aab32ed503a5f70074dbc69b93160375:1045513329</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_rectangle_menu_item_83460d92db29f380d033df8b4b9619cb</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_rectangle_menu_item\"&gt;&lt;sp_rectangle_menu_item action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;color&gt;default&lt;/color&gt;&lt;condition/&gt;&lt;display_1/&gt;&lt;display_2/&gt;&lt;display_date/&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;hint/&gt;&lt;kb_article/&gt;&lt;kb_category/&gt;&lt;kb_topic/&gt;&lt;label&gt;My Teammates&lt;/label&gt;&lt;order&gt;300&lt;/order&gt;&lt;record_script&gt;&lt;![CDATA[var t = data;\nvar spLaunchpadAPI = new x_pisn_sp_launchp.SpLaunchpadAPI();\n\n/* options */\nt.table = 'sys_user';\nt.filter = 'active=true^company='+gs.getUser().getCompanyID();\nt.type = 'widget';\nt.data = {};\nt.data.count = spLaunchpadAPI.getCount(t.table, t.filter);\nt.widget_id = 'widget-data-table';\nt.widget_options = {\n  table: t.table,\n  filter: t.filter,\n  view: 'sp',\n  o: 'name',\n  d: 'asc',\n  fields: 'first_name,last_name,email,title',\n  window_size: 3,\n  hide_header: true,\n  sp_page: 'user_profile'\n}\n\nt.record_watchers = [];\nt.record_watchers.push({'table':t.table,'filter':t.filter});]]&gt;&lt;/record_script&gt;&lt;sc_cat_item/&gt;&lt;sc_category/&gt;&lt;short_description/&gt;&lt;sp_page/&gt;&lt;sp_rectangle_menu display_value=\"SP Launchpad\"&gt;9fd00659db25f700efd54a92ba9619a0&lt;/sp_rectangle_menu&gt;&lt;sp_rectangle_menu_item/&gt;&lt;sys_class_name&gt;sp_rectangle_menu_item&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-23 09:39:33&lt;/sys_created_on&gt;&lt;sys_id&gt;83460d92db29f380d033df8b4b9619cb&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;My Teammates&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_rectangle_menu_item_83460d92db29f380d033df8b4b9619cb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-28 15:43:37&lt;/sys_updated_on&gt;&lt;table/&gt;&lt;type&gt;scripted&lt;/type&gt;&lt;url/&gt;&lt;url_target/&gt;&lt;/sp_rectangle_menu_item&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=83460d92db29f380d033df8b4b9619cb\"/&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>1048276408</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4099bf71dbd6bb00efd54a92ba9619a3</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2bd0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>My Teammates</target_name>\n    <type>Menu Item</type>\n    <update_domain>global</update_domain>\n    <update_guid>d77837fd0196bb00b53333d3b0b8b234</update_guid>\n    <update_guid_history>d77837fd0196bb00b53333d3b0b8b234:1048276408,c5f737fdd796bb00979cb169921a7304:154645676,71bb46c763f177c0f7c5928df4a93012:857448639,fff41d127569f380bdf572823ce89ba2:-1884543649,ede39dde6b29f380bc6f7fb22dac9dff:-368432341,73b31dde2b29f3804d3dbd343396d52f:-1315194774,ce51d55e6c29f3803d44a5131c09ce8f:681980809,e3eb411a7e29f380d0c2095de75ea288:-819308441</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_query_based_service_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_query_based_service\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_query_based_service</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>e3b4d355db69f700efd54a92ba9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>2023742981</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4099bf71dbd6bb00efd54a92ba9619a6</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1cd0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_query_based_service</table>\n    <target_name>Technical Service.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_column_91b08259db25f700efd54a92ba9619c6</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>12</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">01b08259db25f700efd54a92ba9619c4</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 10:56:13</sys_created_on><sys_id>91b08259db25f700efd54a92ba9619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sp_column_91b08259db25f700efd54a92ba9619c6</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 10:56:13</sys_updated_on></sp_column></record_update>]]></payload>\n    <payload_hash>1376665852</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4499bf71dbd6bb00efd54a92ba9619a2</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0cb0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>1</target_name>\n    <type>Column</type>\n    <update_domain>global</update_domain>\n    <update_guid>15b082594c25f7005dc85e8ae7d275c7</update_guid>\n    <update_guid_history>15b082594c25f7005dc85e8ae7d275c7:1376665852</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_service\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_service&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:19&lt;/sys_created_on&gt;&lt;sys_id&gt;e3745f15db69f700efd54a92ba96198f&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP Launchpad Logo&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>669951725</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4499bf71dbd6bb00efd54a92ba9619a5</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2400000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service</table>\n    <target_name>Business Service.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid>fcd41b55d969f700dbf25dd076e43562</update_guid>\n    <update_guid_history>fcd41b55d969f700dbf25dd076e43562:669951725,3fb4d3557169f7003341c07302ffbcb5:-509881937</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_script_include_aca10299db25f700efd54a92ba961934</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_script_include\"&gt;&lt;sys_script_include action=\"INSERT_OR_UPDATE\"&gt;&lt;access&gt;public&lt;/access&gt;&lt;active&gt;true&lt;/active&gt;&lt;api_name&gt;x_pisn_sp_launchp.SpLaunchpadAPI&lt;/api_name&gt;&lt;caller_access/&gt;&lt;client_callable&gt;false&lt;/client_callable&gt;&lt;description/&gt;&lt;name&gt;SpLaunchpadAPI&lt;/name&gt;&lt;script&gt;&lt;![CDATA[var SpLaunchpadAPI = Class.create();\nSpLaunchpadAPI.prototype = {\n\tinitialize: function() {\n\t},\n\n\tgetData: function(table, filter, limit, attributes) {\n\t\tvar records = [];\n\t\tvar gr = new GlideRecord(table);\n\t\tgr.addEncodedQuery(filter);\n\t\tif(limit)\n\t\t\tgr.setLimit(limit);\n\t\telse\n\t\t\tgr.setLimit(3);\n\n\t\tvar attrs = '';\n\t\tif(attributes){\n\t\t\tattributes.split(',').forEach(function(element) {\n\t\t\t\tattrs = attrs + element.trim() + ',';\n\t\t\t});\n\t\t}\n\t\telse\n\t\t\tattrs = 'number,short_description,state,opened_by,assigned_to,sys_updated_on';\n\n\t\tgr.query();\n\t\tvar record = {};\n\t\twhile(gr.next()){\n\t\t\trecord = {};\n\t\t\trecord.v = {};\n\t\t\trecord.dv = {};\n\t\t\t$sp.getRecordValues(record.v,gr,attrs);\n\t\t\t$sp.getRecordDisplayValues(record.dv,gr,attrs);\n\n\t\t\tvar updated_on_gdt = new GlideDateTime(gr.getValue('sys_updated_on'));\n\t\t\trecord.date_updated_on = updated_on_gdt.getLocalDate().getDisplayValue() + ' ' + updated_on_gdt.getLocalTime().getDisplayValue();\n            record.sys_id = gr.getUniqueValue();\n\t\t\trecord.table = gr.getTableName();\n\n\t\t\trecords.push(record);\n\t\t}\n\n\t\treturn {\n\t\t\trecords: records,\n\t\t\tfields: this.__getFields(attrs,gr),\n\t\t\ttable: table,\n\t\t\tfilter: filter,\n\t\t\tcount: this.getCount(table,filter),\n\t\t\tlimit: limit\n\t\t};\n\t},\n\n\t__getFields: function(attributes,gr){\n\t\tvar attrs = [];\n\t\tvar attrsArray = attributes.split(',');\n\t\tfor(var i in attrsArray){ if(attrsArray[i]!=\"sys_id\")\n\t\t\t\tattrs.push({\n\t\t\t\t\tname: attrsArray[i],\n\t\t\t\t\tfield: $sp.getField(gr,attrsArray[i])\n\t\t\t\t});\n\t\t}\n\t\treturn attrs;\n\t},\n\n\tgetCount: function(table,filter){\n\t\tvar grAggr = new GlideAggregate(table);\n\t\tgrAggr.addEncodedQuery(filter);\n\t\tgrAggr.addAggregate('COUNT');\n\t\tgrAggr.query();\n\t\tvar count = 0;\n\t\twhile (grAggr.next()) {\n\t\t\tcount = grAggr.getAggregate('COUNT');\n\t\t}\n\t\treturn count;\n\t},\n\n\t\ttype: 'SpLaunchpadAPI'\n\t};]]&gt;&lt;/script&gt;&lt;sys_class_name&gt;sys_script_include&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 11:00:50&lt;/sys_created_on&gt;&lt;sys_id&gt;aca10299db25f700efd54a92ba961934&lt;/sys_id&gt;&lt;sys_mod_count&gt;47&lt;/sys_mod_count&gt;&lt;sys_name&gt;SpLaunchpadAPI&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_script_include_aca10299db25f700efd54a92ba961934&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-23 13:05:55&lt;/sys_updated_on&gt;&lt;/sys_script_include&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-358817227</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4499bf71dbd6bb00efd54a92ba9619a8</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2860000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>SpLaunchpadAPI</target_name>\n    <type>Script Include</type>\n    <update_domain>global</update_domain>\n    <update_guid>5e2b7d9669e9f38082d92945369b0c0b</update_guid>\n    <update_guid_history>5e2b7d9669e9f38082d92945369b0c0b:-358817227,9afaf99699e9f380e0da9f06dd89889c:-1375481152,28b77d922ee9f38022f6f43000a5183f:418360986,bd475c3502e93b004abd0ea3043d5362:751120218,941718f1a5e93b0064ba66320703472b:820685043,5d1fc07d6ea93b00e71d0ed043ea0571:-1884258877,e5161f95b469f70018e2a66b06d716e2:913041740,5185d3950269f700b05e0f24c70259c1:-940926025,2d63df911169f70056d5f0b3894439a3:981342020,06efc7dd2529f700600da97b44bd5d71:-120283667,372f4b9d3329f700f2c86ea714ee782c:2108437671,98ad035d4c29f7007f5dc1558c9b1695:-1001313003,867d4bd9fb29f7002bf814fd06b0c0f4:-649453867,8ffa0f99b029f700deaa90cec5375314:1730440224,5d3acf591b29f700d6dce377ffc415d7:-1862854552,480a0f598f29f700e477aef944f2cdd2:775571954,f08947592a29f700b58c1f79aa3ee11b:-582724294,a06803198e29f700bf1d57abd699cc21:-1370910719,16968f559929f700448e67a2bc5ff3b9:1691472769,c2b6761971e5f70096c6eac7c2b5e25c:-63952195,78967ed5ede5f700ff7314de56f74b31:1004863837,9846bed5a9e5f7008c0627910f8e9d7d:210630065,7a933655b2e5f700f1e3b90c9c9ed8b3:443471803,9e133e1512e5f7006b7f1ff37912457e:-1851653354,ed62ba15b8e5f700cc24ddce50d9847d:-684053071,ac02f21527e5f700bab3cd2c9f627cec:228661738,d1c1bad1d8e5f70025c458c697f7a17f:-1679094871,f4913ed10fe5f70059a2cdf77663bc99:-187969083,c43136918fe5f700d0b94cadb9b71be7:-812394249,393cae9deda5f700b9da77d86ad793b8:-880398659,360cea9ddda5f7008d1b6d955bd811c2:585344341,f4eb269d07a5f700ffb1410f7ea7ee66:-812394249,2ccbe69dc1a5f700354e859c3a71ad21:-677771031,459ba29d5ca5f7003bfda7daf82554d5:-1309562275,323b6e5d87a5f7005fc1b06325d7a5f8:-831283243,571bea5d6da5f700dfacc34c8348d1e0:1691330261,d50b665dc5a5f700dc9e777cc3624a8a:-1088185563,a68aead9efa5f700991cd192041eb70b:-1317987114,17d7e2d95da5f7007aa3cbb3be883140:1973464134,97d62e59d2a5f700fafbf4cdf22e2a86:1263568281,92362e59eba5f70040df660e79eec42d:-308376722,c3b56659afa5f700f309002269bf28f5:-1141906850,9135ee196ca5f70020d639c7a0d5b895:589204482,0405a6195da5f70074a3a3178cbe80a0:1050227050,b16a9add7c65f700b1412120c33bcf71:1366872403,66955259c165f700ce8dbd2cb0979e6f:2025469143,b22786dd2425f7000066769270ed9e45:-777091525,b8c10a598825f7002d1b647f64efc3cf:-94134880</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_service_auto_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_service_auto\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_service_auto&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;abb4d355db69f700efd54a92ba9619a0&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-1088969020</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4899bf71dbd6bb00efd54a92ba9619a4</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1d80000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_auto</table>\n    <target_name>Monitored Service.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_34fb091adb29f380d033df8b4b96192e</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-23 09:39:39</sys_created_on><sys_id>34fb091adb29f380d033df8b4b96192e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_user</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_scope_privilege_34fb091adb29f380d033df8b4b96192e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-23 09:39:39</sys_updated_on><target_name>sys_user</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>813119793</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4899bf71dbd6bb00efd54a92ba9619a7</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c27a0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>sys_user</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>f4fb091a3a29f38040059e036299262f</update_guid>\n    <update_guid_history>f4fb091a3a29f38040059e036299262f:813119793</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_widget_b6100e95db25f700efd54a92ba961938</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function spLaunchpadController(spUtil, $scope, $location, $timeout, $rootScope) {\n  $scope.load = false;\n  var c = this;\n  c.currentMenuItem = '';\n  var record_watchers = [];\n  $timeout(function () {\n    $scope.load = true;\n  }, 200);\n\n  if (c.data.menu_items) {\n    c.currentMenuItem = c.data.menu_items[0].sys_id;\n    for (var i in c.data.menu_items) {\n      var item = c.data.menu_items[i];\n      if (item.scriptedItems)\n        record_watchers = record_watchers.concat(item.scriptedItems.record_watchers);\n    }\n  }\n\n  c.update = function (data) {\n    $scope.load = false;\n    c.server.get({}).then(function (response) {\n      c.data = response.data;\n      $scope.load = true;\n    });\n  };\n\n  for (var y in record_watchers) {\n    var watcher = record_watchers[y];\n    spUtil.recordWatch($scope, watcher.table, watcher.filter, c.update);\n  }\n\n  c.goTo = function (item) {\n    $location.search({\n      id: 'list', //option\n      table: item.scriptedItems.data.table,\n      filter: item.scriptedItems.data.filter,\n      view: 'sp'\n    });\n  };\n\n  c.select = function (record, item) {\n    $location.search({\n      id: item.scriptedItems.page_id || 'ticket', //option\n      table: item.scriptedItems.page_table || record.table,\n      sys_id: (item.scriptedItems.page_sys_id) ? record.v[item.scriptedItems.page_sys_id] : record.sys_id\n    });\n  };\n\n  c.filterFields = function (arg) {\n    if (arg.name &amp;&amp; arg.name.indexOf('sys_id') == -1)\n      return true;\n    return false;\n  };\n\n\n  $rootScope.$on('x-pisn-sp-launchp-update-count', function (event, data) {\n    if (data.menu_sys_id)\n      for (var i in c.data.menu_items) {\n        if (c.data.menu_items[i].sys_id == data.menu_sys_id)\n          c.data.menu_items[i].scriptedItems.count = data.count;\n      }\n  });\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;\n$x-pisn-sp-launchp: lighten($gray-base, 85%);\n$x-pisn-sp-launchp-active: $brand-primary;\n\n$x-pisn-sp-launchp-text: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-badge: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-badge-bg: white !default;\n$x-pisn-sp-launchp-badge-b: $x-pisn-sp-launchp !default;\n\n$x-pisn-sp-launchp-border: $x-pisn-sp-launchp-text-active !default;\n$x-pisn-sp-launchp-text-active: $x-pisn-sp-launchp-active !default;\n$x-pisn-sp-launchp-badge-active: white !default;\n$x-pisn-sp-launchp-badge-bg-active: $x-pisn-sp-launchp-active !default;\n$x-pisn-sp-launchp-badge-b-active: $x-pisn-sp-launchp-active !default;\n\n.x-pisn-sp-launchp__body {\n  padding-top: 20px;\n  padding-bottom: 25px;\n}\n\n.x-pisn-sp-launchp__header {\n  display: flex;\n  justify-content: space-between;\n  a {\n    font-size: $font-size-h2;\n    font-weight: $headings-font-weight;\n    color: $x-pisn-sp-launchp-text;\n    .badge {\n      color: $x-pisn-sp-launchp-badge;\n      background-color: $x-pisn-sp-launchp-badge-bg;\n      border: 1px solid $x-pisn-sp-launchp-badge-b;\n    }\n  }\n}\n\n.x-pisn-sp-launchp__header &amp;gt; li {\n  padding-bottom: 15px;\n  border-bottom: 5px solid transparent;\n}\n\n.x-pisn-sp-launchp__header &amp;gt; li.active {\n  border-color: $x-pisn-sp-launchp-border;\n  a {\n    color: $x-pisn-sp-launchp-text-active;\n    .badge {\n      color: $x-pisn-sp-launchp-badge-active;\n      background-color: $x-pisn-sp-launchp-badge-bg-active;\n      border-color: $x-pisn-sp-launchp-badge-b-active;\n    }\n  }\n\n}\n\n.img-circle , .see-all {\n  width: 40px;\n  height: 40px;\n  border: 1px solid $table-border-color;\n}\n\n.see-all {\n  margin: auto;\n  margin-bottom: 5px;\n  background-color: $brand-primary;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  img {\n    width: 20px;\n    height: 20px;\n  }\n}\n\n.table-responsive {\n  border-radius: $border-radius-base;\n}\n\n@media (max-width: 768px) {\n  .table-responsive {\n    border: 0;\n    margin-bottom: 0px;\n  }\n  .x-pisn-sp-launchp__header {\n    a {font-size: $font-size-h5;}\n  }\n\n}&lt;/css&gt;&lt;data_table&gt;sp_instance_menu&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-launchp&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {\n\n }]]&gt;&lt;/link&gt;&lt;name&gt;SP Launchpad&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  var slAPI = new SpLaunchpadAPI();\n  var menu_id = $sp.getValue('sys_id');\n  var gr = new GlideRecord('sp_instance_menu');\n  gr.get(menu_id);\n  data.menu_items = $sp.getMenuItems(menu_id);\n  for (var i in data.menu_items)\n    if (data.menu_items[i].scriptedItems.type != 'widget') {\n      data.menu_items[i].scriptedItems.data = slAPI.getData(\n        data.menu_items[i].scriptedItems.table,\n        data.menu_items[i].scriptedItems.filter,\n        data.menu_items[i].scriptedItems.limit,\n        data.menu_items[i].scriptedItems.attributes\n      );\n      if (data.menu_items[i].scriptedItems.filter_count)\n        data.menu_items[i].scriptedItems.count = slAPI.getCount(\n          data.menu_items[i].scriptedItems.table,\n          data.menu_items[i].scriptedItems.filter_count\n        );\n    }\n  else\n    data.menu_items[i].scriptedItems.widget = $sp.getWidget(\n      data.menu_items[i].scriptedItems.widget_id, data.menu_items[i].scriptedItems.widget_options);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 10:54:03&lt;/sys_created_on&gt;&lt;sys_id&gt;b6100e95db25f700efd54a92ba961938&lt;/sys_id&gt;&lt;sys_mod_count&gt;219&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP Launchpad&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_b6100e95db25f700efd54a92ba961938&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-28 15:46:29&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-launchp\" ng-show=\"load\"&gt;\n  &lt;ul class=\"list-unstyled b-b x-pisn-sp-launchp__header\"&gt;\n    &lt;li class=\"pointer\" role=\"presentation\" ng-class=\"{'active': c.currentMenuItem == item.sys_id }\" ng-repeat=\"item in c.data.menu_items track by item.sys_id\" ng-click=\"c.currentMenuItem = item.sys_id;\"&gt;&lt;a href&gt;{{::item.label}} &lt;span class=\"badge\" ng-if=\"item.scriptedItems.data.count\"&gt;{{item.scriptedItems.data.count}}&lt;/span&gt;&lt;/a&gt;\n    &lt;/li&gt;\n  &lt;/ul&gt;\n  &lt;div class=\"x-pisn-sp-launchp__body\" ng-repeat=\"item in c.data.menu_items track by item.sys_id\" ng-show=\"c.currentMenuItem == item.sys_id\"&gt;\n    &lt;!-- type 'apps'--&gt;\n    &lt;div class=\"x-pisn-sp-launchp__body--apps\" ng-if=\"item.scriptedItems.type == 'apps'\"&gt;\n      &lt;div class=\"row\"&gt;\n        &lt;div class=\"col-xs-4 col-sm-2 col-md-2 text-center\" ng-repeat=\"record in item.scriptedItems.data.records track by record.sys_id\"&gt;\n          &lt;a href class=\"thumbnail no-border m-b-none\" ng-click=\"c.select(record,item)\"&gt;\n            &lt;img class=\"img-circle m-b-xs\" ng-src=\"{{record.dv[item.scriptedItems.data.fields[1].name]}}\" /&gt;\n            &lt;div class=\"caption\"&gt;\n              &lt;p class=\"m-b-none\"&gt;{{record.dv[item.scriptedItems.data.fields[0].name]}}&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/a&gt;\n        &lt;/div&gt;\n        &lt;div class=\"col-xs-4 col-sm-2 col-md-2 text-center\" ng-if=\"item.scriptedItems.data.count &gt; item.scriptedItems.data.limit\"&gt;\n          &lt;a href class=\"thumbnail thumbnail-primary no-border m-b-none\" ng-click=\"c.goTo(item)\"&gt;\n            &lt;div class=\"img-circle see-all text-center\"&gt;&lt;img class=\"\" ng-src=\"x_pisn_sp_launchp-img-see_all.svg\" /&gt;\n            &lt;/div&gt;\n            &lt;div class=\"caption\"&gt;\n              &lt;p class=\"m-b-none\"&gt;${See All}&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/a&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- type 'list'--&gt;\n    &lt;div class=\"x-pisn-sp-launchp__body--list\" ng-if=\"item.scriptedItems.type == 'list'\"&gt;\n      &lt;div class=\"table-responsive\"&gt;\n        &lt;table class=\"table table-hover m-b-none\"&gt;\n          &lt;thead&gt;\n            &lt;tr&gt;\n              &lt;th ng-repeat=\"field in item.scriptedItems.data.fields | filter:c.filterFields\"&gt;{{field.field.label}}&lt;/th&gt;\n            &lt;/tr&gt;\n          &lt;/thead&gt;\n          &lt;tr ng-repeat=\"record in item.scriptedItems.data.records track by record.sys_id\" ng-click=\"c.select(record,item)\"&gt;\n            &lt;td ng-repeat=\"field in item.scriptedItems.data.fields | filter:c.filterFields\"&gt;{{record.dv[field.name]}}\n            &lt;/td&gt;\n          &lt;/tr&gt;\n        &lt;/table&gt;\n      &lt;/div&gt;\n      &lt;div class=\"text-center wrapper-sm b-t x-pisn-sp-launchp__footer\" ng-if=\"item.scriptedItems.type == 'list'\"&gt;\n        &lt;button type=\"button\" class=\"btn btn-link\" ng-click=\"c.goTo(item)\"&gt;${See All}&lt;/button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;!-- type 'widget'--&gt;\n    &lt;div class=\"x-pisn-sp-launchp__body--widget\" ng-if=\"item.scriptedItems.type == 'widget'\"&gt;\n      &lt;sp-widget widget=\"item.scriptedItems.widget\"&gt;&lt;/sp-widget&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>643810534</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4c99bf71dbd6bb00efd54a92ba9619a3</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2d30000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>SP Launchpad</target_name>\n    <type>Widget</type>\n    <update_domain>global</update_domain>\n    <update_guid>d52977312cd6bb00df63791800ce6684</update_guid>\n    <update_guid_history>d52977312cd6bb00df63791800ce6684:643810534,6e573bbdea96bb00f59803ecd244f5d7:-1123647207,39e6fb7dcb96bb00196d7881fcd20278:1740075403,dad6bf7d7196bb00f756e061a30dea2b:1559910515,4f963ff9d396bb002b56cc52f9b2bcd1:179079731,a176fb7d8796bb00d38a19816a34dc17:1172212887,e1d5737deb96bb00a942cba9fb6f3f0a:-709379489,8fa4733d9b96bb007ce207e14a2a531c:-181715631,2184fbf94796bb0066c8a6c4b66a9088:-1193557875,64643ff90e96bb00afe7ec1ef908cb17:972567706,e054b3b98e96bb00ef5436773ee54154:-1193557875,caf27bb99096bb00715914eae8b8c941:-843742284,d881f3791496bb00a055af83fffbabdc:-1542768756,8071f3799796bb003e67a3901c2107d5:2104863074,92f0fbf59596bb007e74dbfd56c2b120:-836743051,d0afef357096bb00b5a2c9c3e2a3131a:-1705757318,383f6f356896bb00f34e48f1b67a7877:535569895,622f2f359696bb007b2a6ea6f0196fcd:1317294009,86f57dfe3d39bb40ea2691c32f96c6ee:830361428,90ab1e39d4b933c0485cdd451509b5ad:-1260184058,ab45c2120f2df38060b0d92e51c0ba2e:122126147,4c79f916fde9f3804013729c7fc782a5:312043859,b2393916e3e9f380e4f7124f9c60535b:428180522,a696b55290e9f380a559b05a2b34ca2f:1151083189,2ce57552c4e9f380a5f9201af8bb7150:304046435,98e4b11200e9f380c0092d49caec3fee:126536133,d6c375dea2a9f380e17aae9620306fda:-379631805,05c3399e5ca9f3804f519a0b5f8cc538:1987968178,51a2b19ecca9f38013f7632d85462d48:-765036782,ed3079da12a9f380d2b580724faee421:304046435,5b00b5da22a9f380dbfd9a2d00a92b43:-58958921,4edfe1da22a9f38096a6913cd2eb3317:684928132,d0cf61dab4a9f3802c40092a1bdabd57:-1905708475,b1afed9a7aa9f3806308b2fc5abf645b:-1001502629,ac97259245a9f380befe5fe509bf1a69:-1935086791,2137ed52d2a9f38078c149cd1914c5b9:-2110504327,e507ed5293a9f3800a002972210f33b1:-693593733,80e6a552e1a9f3807133016e49d54624:658121421,c1b669527ba9f380b9527c95e6d762cf:920860107,47762912a1a9f380dc481111d19ae18d:200934291,75d52d12caa9f380640d40069f83055b:-1022726354,6745a112a4a9f38044d28fb61d6ebfe4:691735429,e435edde3a69f38060e025e1ce8f84bc:-354697966,2c0529de1a69f380195ea0ab4c0b05d8:1200308758,1a8429de5869f38025d30d09a06ff43f:-1036497124,634421de2d69f380097225771d071896:92418239,0f04299ef169f380f399fa0205b398b7:-563074477,ff832d5ed669f3807d3d88c0da88f6ae:-416939355,af73695e0669f380743a64c9384dbc4f:1150657558,7f52655ecc69f380f8d9b0e75cc30da7:-1048701655,be42255ee269f3802ff8b9ce86b22b48:621954987,e891251e5c69f3803e8dcca31466c1b5:-655261183,af11e11e5e69f380df53591db4ddf9dc:988338391,1a902ddade69f3800619eb236f4b5831:590281471,bb5029da2769f38007201bcd92339f7f:-983735735,152065daa969f38068c7634acd35c66e:-2046560177,3bbad9969369f380e7153bce89efea4d:1142926175,6a7a9d565369f3803a55ebbefcd19da5:1351386067,7ff91956c069f380d2ecd738e0e7025c:1549634262,c27951561269f380114dbeaae4f0b96d:-625533334,36491916aa69f3809c36a3fffcd7f17d:-301688967,a1c895162369f380ea8a1da12eea030b:2113203528,668811160769f380529510e86a420a08:-1375875977,fe78ddd2cb69f380b06a728729c4eeed:466480279,26489dd2fd69f380e3dbc35eed3de33a:-1375875977,0c079d52ee69f38070f162d9d5125b07:-40165984,5d869592cf69f3801a3f9c5ad7a78197:-1359894129,75e01d1e7029f380d5e89276ff00030e:-61086583,9c50151e3a29f380a9e08c0cdff66a2f:-1358228405,59dfc11e3329f380d9345e4da43242f7:-1951961024,756fc19a2029f38022c2237803fe73c8:-1379365248,d2be01da0729f380c28dbbfece91fdb3:1110670547,744e819a8429f3801b5c2ac53f1ea4ba:-1430830893,0ebd819afe29f3809eaffb686ebb21b2:584663326,26990596e929f380df3cfe1112b9c2f1:2126333963,de26c5924329f380487031d4dfd34e33:1234992751,c4e541925829f380719eb31cf9e2eccb:937244172,b875c952c229f380f8c3fbfdc5ccf0dd:-1560797047,a1350952bf29f3803cf7ba502df95a0b:1553015258,62e40152a529f3804f03b5fb0e37eeb0:537109885,1cc48d129f29f380fe029a7a1a9cb91a:99444061,f0a4c1127629f3808d814bc791d87b6d:1557835965,09aa990eaca9b380bb0a5c2e302684e4:1159761554,d58a5dca31a9b3808c68fa133e7a0473:2055407032,e43a99ca62a9b380b0acffe1aa0f43c6:-1593410589,4dd95dcad2a9b38073fa5dcadc135f6b:-1614469444,6fa999caa3a9b380296231db1bca344e:919228556,66501982f7a9b38041e77e471a880fb1:-1899449678,c5209582e4a9b3807aea4c72e288a7a3:438275131,98efc102eca9b380d6abbed97e9e059b:-1579150852,f3bf810297a9b380f5d420d6abd0aa8f:438275131,194d49ce4469b380775c1ee1914dbdcb:-2020767916,ab0d85cea069b380415b065349865f80:1958851952,81ec81ce1069b3801537e30c9c4e5b4e:1154097878,30ac41cec669b380f19e2f85b3bd8be6:-995154051,9c7c898e2c69b380dad7fdfd6926dfad:-1261568822,161c098e7869b380ed58ae55bc07f7ba:153785533,a2db058e0669b380941353fbe4a9ba7f:-630851460,a7cbc18e2369b38028a36d1696cb6187:-1740294116,696b414e2b69b380b83476c12853b7ff:1911677915,ac0a050eb969b3807d2b2e95b2bf620f:-1875238434,c93858758be93b00c0c078d2131a29d4:-65179364,afb75475a0e93b008c0811eb5ef8560e:375489237,5297dc35d0e93b009f421e1e14ef6d01:968223314,ca579c35ace93b00440bdcbca7e22c37:1177784128,4b27d83569e93b00ca2efc6cea7c75c6:1674214747,fd365cf186e93b00c7a1b3f3a1e27d73:74177321,e50698f1aee93b003304bc16acd9dfc8:-565420841,67c514f1f3e93b0040103126b9b8c795:1347236648,869554b10fe93b00fb33ebbf31380ad2:-1530667711,ef8490b104e93b00cf6a65f205e9388a:-644179734,02f31c71cce93b00dc715ac6af0961c6:1489276095,70d394716be93b000d4f45c42483da43:1170395562,7443147190e93b00f7da30c291268dc9:-1452176731,3613907164e93b0009e33d5d8637bc80:-1941803563,0fe25c3142e93b00d751fc8ad71497b5:-1973959812,b0c25c31d6e93b0007a5d49b93427d37:-1897967321,e1b2d831aae93b009bd554341eadfae8:-1102239423,74a298310ce93b002b6810fe1abd21a5:1834921025,1192103141e93b004f85426528435951:-79934026,4372103149e93b006447c46c03503374:1073718469,04d158fd97a93b00f8eb4f460bceced8:528978163,035098bdb8a93b00cb9dc156320dcf02:2052606497,ad30d4bd2fa93b004690f6245fc482e1:346446384,0e2094bd6ea93b00e0847f63823c2baf:-772304366,c84f807defa93b00df923d88c17ebe97:-1941672043,1a3f447d23a93b008a58fcc84f0d3f9b:-139965055,2fcec03dd3a93b0074e61e83cb2a8563:-1048665761,47cd003d40a93b00bb686ff52e045ca4:31427891,60ecc0f921a93b00cb295a060599651a:1453440173,f1cc80f9b5a93b00d73878599aa63c71:-197709371,0e7c4479d7a93b00b3fbc757dc8d75d8:242733461,b44848b55aa93b005446f2e8885b93bc:953252963,43a5c0f17ba93b00db641cfb9f662a60:-1309485386,193488b18ba93b007281fac00ec9800a:-1630300359,ff0448b1dba93b00792e0e122cb8a5cf:-368627323,bce348b1a3a93b00d91eb449848fbfc7:1884024717,9a5004fd29693b0085ecae322762ca4c:-1279665219,3e3048bd66693b005f60e381c41460c4:-1445905027,993080fd07693b00ee466e0b48ef537e:-1273202541,f57f7bade6693b00033493415784fa28:577720922,76cc3f6991693b005c2012c55a45959f:214347293,569cb3a9b5693b004d8c1839317530f9:1042413479,349a37698b693b008932a159ba047c35:-1632478618,f72a73690b693b0071489dcc282ae5cc:-924754927,a00af369e4693b003c8a1e1d7ec9c5d1:-1328193658,71a9b369fc693b00d7765a9df706f8b9:-227183912,8c997369ad693b0061a2fad6a35aa1c4:-1335196533,5e59b3296a693b006a46467886f0ed31:-1407353213,cc2933e5fd693b000ca434065de05477:-1408358323,fda833e59b693b002f631176020090fe:-1823658568,1698f3e501693b001b8b979b943041a7:-524678071,bd9733e54c693b0058ffa4038355bc5e:-1434073294,766733e5da693b0065e22f26312a6e57:826102373,6947fba5da693b00a5ca9568cb2f7741:-1382146236,b017bba5bf693b00122c827adc5994be:751630868,a6e6f7a59b693b00530992bbb39c4cc8:2070327917,0c25fb250d693b006088a2d7abb98660:-613971956,570577259c693b00a07b28c353d4f798:1582774145,4805732512693b0005beaf556d9c7bba:2120704196,5af4fb251c693b00046a46602dbbf211:-880692576,39a47725de693b008182f1535ac52149:-2111701134,6074f7e196693b00b2e9cb6f86ae7b1f:-430371572,f7b3b7e108693b0059259970d2dff9de:-2082047226,caa2f7a177693b0065e4a6e032dfcbff:-1743393166,40f36fd134a9f700b67644c56928ca96:-2068692750,4f7363d155a9f70052aa7056c3afe5f0:990467356,ac7327d116a9f700a64f98d5c8366549:317559133,5c53e3d15ca9f70001a6a37c2979a8b8:-1051991410,ba232351ada9f7004aa639acbe0822ec:539447879,e95d939d9c69f7004cac0b6da16a1902:-1293466218,9d0d1f5d1269f700615c664f70a28e7a:-1271495337,1dfc9b5d9c69f700b9325a5fc329aabd:65551320,d4ec1b5db169f700b9f053d5027afb6a:-1532685354,b6dc975dd769f700ce38087b654b482c:1579684132,cabc1b5d1769f7007e0a39daab9ecc61:-472499188,de9c971d2d69f7007a88663a773e9632:-1390410448,2c6c971d1e69f700c1570ab65824e0e9:1686250082,a3bb1b1d0669f700431a8c31c8e7fc04:-1351955102,36fa57d95669f70048b57118dac707b7:1032597074,fbba57d91169f700246af41c11c0f73f:2066345595,c2aadf99bc69f7003c85af0a08deeed8:-1809697474,be991399f569f700901f73d5a9b059d1:-1262363307,189f43dd8a29f700401cc9dfe6efc79a:-1535564494,9cfe439db329f7000fc2e68411d07914:-1233251649,cf7e439d3c29f700b1f487e5872f5a0a:-654074902,33fbcbd9a029f7000ca0c3dec264b000:2041454143,c1eb47d93329f700b345da9663c67a8c:-452450123,bdcb07d9e229f700a679ae2ccc2e1f3c:1575114119,68ab47d9dc29f700a838f2b9dbbace45:324710535,678b07d9e929f70000a994378b016f35:-1737542361,d7da47997629f700f96432c8f1984739:549279179,3eba0b995129f700dcb111d7c85b4a6f:-1598973952,54aa8799b529f700b457c1d8a7c2ec9b:934925937,e98a03997529f700401fd2d641614942:-684188620,9a5a0f59f529f700d7cf23de62cb81da:972885273,b22a0b59eb29f700061aaf799e0b8494:799961958,69398f194929f700316c56f37b4d9d2c:-1903552632,5309c3198329f700a113e8e30021859a:-157022936,17d84b193729f70083882c7b60920de7:-1903552632,f3c803191929f700dde600994fb8a028:332585322,96b50f55b529f7006ce0b6a9e59671b7:-1418521367,2e958b550929f7005997e6af4f665362:-2111271669,6da4cfd1c629f7003bb5e2577284b05f:807220356,e9f383159729f7000f7669f0a428ec7d:1663119569,5b834315a829f70052ad58c5a15beed5:-231661021,939043513f29f700ecb6517a82967872:1437924986,0e9043514c29f700969d0184d58c1266:-1153444668,9280cb11ab29f70045a54f1cd2429bd5:-399948132,c6803e9128e5f7008057dfd8e7aea2b3:348064916,40707a5133e5f7003a9b6917b2151589:-604079531,29b3ead530a5f700a8a3c920418d45a1:-52743727,cfa32ad546a5f700f493f81cee6662dc:724343317,0a73e6d5a2a5f7001d5786fe65674695:-1993658084,024326d589a5f700891a049cee9d9790:1789956004,c54326d555a5f700a87d9ef6f94ef388:-982826569,36336e9578a5f7005ba4bc72cd50d1d9:1033726247,fd908a192225f700b363970081530dbc:-554879455,7c800a19f525f700283faf4671ae1243:-2117225675,6d308e956125f7005bcba2092dcc3b30:339295313</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_service_manual_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_service_manual\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_service_manual</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>e7b4d355db69f700efd54a92ba9619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>1761352813</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>4c99bf71dbd6bb00efd54a92ba9619a6</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c16e0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_manual</table>\n    <target_name>Manual Service.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_service_manual_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_service_manual\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_service_manual&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;a7b4d355db69f700efd54a92ba9619a4&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>320123300</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8099bf71dbd6bb00efd54a92ba9619a5</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2250000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_manual</table>\n    <target_name>Manual Service.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_eeb32ed5dba5f700efd54a92ba961976</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 13:29:14</sys_created_on><sys_id>eeb32ed5dba5f700efd54a92ba961976</sys_id><sys_mod_count>0</sys_mod_count><sys_name>task</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_scope_privilege_eeb32ed5dba5f700efd54a92ba961976</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 13:29:14</sys_updated_on><target_name>task</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-2056207311</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8099bf71dbd6bb00efd54a92ba9619a8</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0fd0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>task</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>aab32ed541a5f7002e6680065d77fd77</update_guid>\n    <update_guid_history>aab32ed541a5f7002e6680065d77fd77:-2056207311</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_query_based_service_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_query_based_service\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_query_based_service&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;a3b4d355db69f700efd54a92ba9619a3&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-1353360708</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8499bf71dbd6bb00efd54a92ba9619a4</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2190000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_query_based_service</table>\n    <target_name>Technical Service.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_service_offering_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"service_offering\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>service_offering</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>73b4d355db69f700efd54a92ba9619a9</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>-1867684691</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8499bf71dbd6bb00efd54a92ba9619a7</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1e30000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>service_offering</table>\n    <target_name>Service Offering.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_row_01b08259db25f700efd54a92ba9619c4</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"Demo SP Launchpad - Container 1\">58b00e19db25f700efd54a92ba9619d3</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 10:56:13</sys_created_on><sys_id>01b08259db25f700efd54a92ba9619c4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sp_row_01b08259db25f700efd54a92ba9619c4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 10:56:13</sys_updated_on></sp_row></record_update>]]></payload>\n    <payload_hash>543777863</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8899bf71dbd6bb00efd54a92ba9619a3</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0bb0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>1</target_name>\n    <type>Row</type>\n    <update_domain>global</update_domain>\n    <update_guid>55b082599a25f7009210c6a875ca29c5</update_guid>\n    <update_guid_history>55b082599a25f7009210c6a875ca29c5:543777863</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_service_group_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_service_group\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_service_group</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>7fb4d355db69f700efd54a92ba9619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>1391114559</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8899bf71dbd6bb00efd54a92ba9619a6</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1f40000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_group</table>\n    <target_name>Service Group.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_page_9730ce95db25f700efd54a92ba961908</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>x_pisn_sp_launchp</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 10:54:26</sys_created_on><sys_id>9730ce95db25f700efd54a92ba961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>x_pisn_sp_launchp</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sp_page_9730ce95db25f700efd54a92ba961908</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 10:54:26</sys_updated_on><title>Demo SP Launchpad</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9730ce95db25f700efd54a92ba961908\"/></record_update>]]></payload>\n    <payload_hash>-1929243865</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8c99bf71dbd6bb00efd54a92ba9619a2</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0a90000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>x_pisn_sp_launchp</target_name>\n    <type>Page</type>\n    <update_domain>global</update_domain>\n    <update_guid>0f40ce95a125f700cf6a27b0d2fda4f9</update_guid>\n    <update_guid_history>0f40ce95a125f700cf6a27b0d2fda4f9:-1929243865</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_alert_group_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_alert_group\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_alert_group</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>fbb4d355db69f700efd54a92ba9619a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>353904433</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>8c99bf71dbd6bb00efd54a92ba9619a5</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1c30000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_alert_group</table>\n    <target_name>Alert Group.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_alert_group_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_alert_group\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_alert_group&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;bbb4d355db69f700efd54a92ba9619a5&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-433072664</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c099bf71dbd6bb00efd54a92ba9619a4</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1ac0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_alert_group</table>\n    <target_name>Alert Group.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_em_sla_configuration_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"em_sla_configuration\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>em_sla_configuration</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>ffb4d355db69f700efd54a92ba9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>1378379693</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c099bf71dbd6bb00efd54a92ba9619a7</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c22f0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>em_sla_configuration</table>\n    <target_name>SLA Configuration.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_rectangle_menu_item_cb80d311db69f700efd54a92ba96191c</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_rectangle_menu_item\"&gt;&lt;sp_rectangle_menu_item action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;color&gt;default&lt;/color&gt;&lt;condition/&gt;&lt;display_1/&gt;&lt;display_2/&gt;&lt;display_date/&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;hint/&gt;&lt;kb_article/&gt;&lt;kb_category/&gt;&lt;kb_topic/&gt;&lt;label&gt;My Services&lt;/label&gt;&lt;order&gt;100&lt;/order&gt;&lt;record_script&gt;&lt;![CDATA[var t = data;\n\n/*** options ***/\nt.table = 'm2m_sp_status_subscription';\nt.filter = 'sys_userDYNAMIC90d1921e5f510100a9ad2572f2b477fe^cmdb_ci_service.service_classification=Business Service^ORDERBYcmdb_ci_service.name';\nt.type = 'apps';\nt.limit = 11;\nt.attributes = 'cmdb_ci_service.name,cmdb_ci_service.x_pisn_sp_launchp_logo,cmdb_ci_service.sys_id';\nt.page_id = 'form';\nt.page_table = 'cmdb_ci_service';\nt.page_sys_id = 'cmdb_ci_service.sys_id';\n\nt.record_watchers = [];\nt.record_watchers.push({'table':t.table,'filter':t.filter});]]&gt;&lt;/record_script&gt;&lt;sc_cat_item/&gt;&lt;sc_category/&gt;&lt;short_description/&gt;&lt;sp_page/&gt;&lt;sp_rectangle_menu display_value=\"SP Launchpad\"&gt;9fd00659db25f700efd54a92ba9619a0&lt;/sp_rectangle_menu&gt;&lt;sp_rectangle_menu_item/&gt;&lt;sys_class_name&gt;sp_rectangle_menu_item&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 16:45:14&lt;/sys_created_on&gt;&lt;sys_id&gt;cb80d311db69f700efd54a92ba96191c&lt;/sys_id&gt;&lt;sys_mod_count&gt;15&lt;/sys_mod_count&gt;&lt;sys_name&gt;My Services&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_rectangle_menu_item_cb80d311db69f700efd54a92ba96191c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-07 08:29:55&lt;/sys_updated_on&gt;&lt;table/&gt;&lt;type&gt;scripted&lt;/type&gt;&lt;url/&gt;&lt;url_target/&gt;&lt;/sp_rectangle_menu_item&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=cb80d311db69f700efd54a92ba96191c\"/&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-2037475631</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c499bf71dbd6bb00efd54a92ba9619a3</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c29b0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>My Services</target_name>\n    <type>Menu Item</type>\n    <update_domain>global</update_domain>\n    <update_guid>3ddb0ac768f177c000bedb37d81c5ed0</update_guid>\n    <update_guid_history>3ddb0ac768f177c000bedb37d81c5ed0:-2037475631,d0794d56ce29f38070e7336f540ffc5a:1080973162,26a349de57e5f38012f66934d172280d:-2096428139,4a1e7c5af5e5f380549c10354b624422:-1865242667,5f8df85abfe5f3801abd5e11e92d5355:-1660160403,49d311c21ba9b380eb6522ebdc74cb13:-1881503123,6d7d81024ca9b380e5e01e949a337aac:53722442,2d4058bd70a93b00b8948fd3965b0c7c:-1430970197,6b5f087dcca93b00b2213ffa23e69993:53722442,505f087dfba93b00ee6259a2c671078b:-1430970197,c32d08f9a6a93b0067871e0b56c1c040:53722442,c07713d5b969f70035a2d8e21025ed1c:442650745,1e45d3958069f700da96221a5dfc650d:-1368927911,988153515169f700c4b1113bef62536b:402766929,2c519f118769f700c9e88aaa453cd86f:-255743053,b990d3111069f700ea0155b1c08c4823:-92922134</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_documentation_cmdb_ci_service_discovered_x_pisn_sp_launchp_logo_en</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"x_pisn_sp_launchp_logo\" label=\"SP Launchpad Logo\" language=\"en\" table=\"cmdb_ci_service_discovered\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>x_pisn_sp_launchp_logo</element><help/><hint/><label>SP Launchpad Logo</label><language>en</language><name>cmdb_ci_service_discovered</name><plural>SP Launchpad Logos</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 17:03:23</sys_created_on><sys_id>efb4d355db69f700efd54a92ba9619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_documentation_cmdb_ci_service_x_pisn_sp_launchp_logo_en</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 17:03:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n    <payload_hash>-983486419</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c499bf71dbd6bb00efd54a92ba9619a6</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c19c0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_discovered</table>\n    <target_name>Application Service.SP Launchpad Logo</target_name>\n    <type>Field Label</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sp_instance_menu_9fd00659db25f700efd54a92ba9619a0</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance_menu\"><sp_instance_menu action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">91b08259db25f700efd54a92ba9619c6</sp_column><sp_widget display_value=\"SP Launchpad\">b6100e95db25f700efd54a92ba961938</sp_widget><sys_class_name>sp_instance_menu</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 10:56:54</sys_created_on><sys_id>9fd00659db25f700efd54a92ba9619a0</sys_id><sys_mod_count>1</sys_mod_count><sys_name>SP Launchpad</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sp_instance_menu_9fd00659db25f700efd54a92ba9619a0</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 10:57:17</sys_updated_on><title>SP Launchpad</title><url/><widget_parameters/></sp_instance_menu><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9fd00659db25f700efd54a92ba9619a0\"/></record_update>]]></payload>\n    <payload_hash>-72218482</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c899bf71dbd6bb00efd54a92ba9619a2</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c0ee0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>SP Launchpad</target_name>\n    <type>Instance with Menu</type>\n    <update_domain>global</update_domain>\n    <update_guid>f0f006598225f70035a3ceb634cf7cb3</update_guid>\n    <update_guid_history>f0f006598225f70035a3ceb634cf7cb3:-72218482,d7d006591a25f700d0515401000864a2:-87161133</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_service_offering_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"service_offering\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;service_offering&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;33b4d355db69f700efd54a92ba9619a9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-924010908</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c899bf71dbd6bb00efd54a92ba9619a5</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c20e0000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>service_offering</table>\n    <target_name>Service Offering.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_ui_view_62e3d315db69f700efd54a92ba961981</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ui_view\"><sys_ui_view action=\"INSERT_OR_UPDATE\"><group/><hidden>false</hidden><name>SP_Launchpad</name><roles/><sys_class_name>sys_ui_view</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 16:59:45</sys_created_on><sys_id>62e3d315db69f700efd54a92ba961981</sys_id><sys_mod_count>0</sys_mod_count><sys_name>SP Launchpad</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_ui_view_62e3d315db69f700efd54a92ba961981</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 16:59:45</sys_updated_on><title>SP Launchpad</title><user/></sys_ui_view></record_update>]]></payload>\n    <payload_hash>-41656</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>c899bf71dbd6bb00efd54a92ba9619a8</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1620000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>SP Launchpad</target_name>\n    <type>UI View</type>\n    <update_domain>global</update_domain>\n    <update_guid>aae3d3159069f7008543907475562582</update_guid>\n    <update_guid_history>aae3d3159069f7008543907475562582:-41656</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_dictionary_cmdb_ci_service_group_x_pisn_sp_launchp_logo</name>\n    <payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"x_pisn_sp_launchp_logo\" table=\"cmdb_ci_service_group\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;SP Launchpad Logo&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;x_pisn_sp_launchp_logo&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"\"&gt;user_image&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;cmdb_ci_service_group&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-05-20 17:03:23&lt;/sys_created_on&gt;&lt;sys_id&gt;3fb4d355db69f700efd54a92ba9619a6&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name/&gt;&lt;sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Launchpad\"&gt;f400c295db25f700efd54a92ba961934&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_cmdb_ci_service_x_pisn_sp_launchp_logo&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-05-20 17:03:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n    <payload_hash>-404295050</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>cc99bf71dbd6bb00efd54a92ba9619a4</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c2000000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table>cmdb_ci_service_group</table>\n    <target_name>Service Group.SP Launchpad Logo</target_name>\n    <type>Dictionary</type>\n    <update_domain>global</update_domain>\n    <update_guid/>\n    <update_guid_history/>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n  <sys_update_xml action=\"INSERT_OR_UPDATE\">\n    <action>INSERT_OR_UPDATE</action>\n    <application display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</application>\n    <category>customer</category>\n    <comments/>\n    <name>sys_scope_privilege_a8619f11db69f700efd54a92ba96194c</name>\n    <payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-05-20 16:48:42</sys_created_on><sys_id>a8619f11db69f700efd54a92ba96194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>m2m_sp_status_subscription</sys_name><sys_package display_value=\"SP Launchpad\" source=\"x_pisn_sp_launchp\">f400c295db25f700efd54a92ba961934</sys_package><sys_policy/><sys_scope display_value=\"SP Launchpad\">f400c295db25f700efd54a92ba961934</sys_scope><sys_update_name>sys_scope_privilege_a8619f11db69f700efd54a92ba96194c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-05-20 16:48:42</sys_updated_on><target_name>m2m_sp_status_subscription</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n    <payload_hash>-1279040783</payload_hash>\n    <remote_update_set display_value=\"SP Launchpad\">8499bf71dbd6bb00efd54a92ba9619a1</remote_update_set>\n    <replace_on_upgrade>false</replace_on_upgrade>\n    <sys_created_by>fabio</sys_created_by>\n    <sys_created_on>2019-06-28 15:48:18</sys_created_on>\n    <sys_id>cc99bf71dbd6bb00efd54a92ba9619a7</sys_id>\n    <sys_mod_count>0</sys_mod_count>\n    <sys_recorded_at>16b9ec5c1170000001</sys_recorded_at>\n    <sys_updated_by>fabio</sys_updated_by>\n    <sys_updated_on>2019-06-28 15:48:18</sys_updated_on>\n    <table/>\n    <target_name>m2m_sp_status_subscription</target_name>\n    <type>Cross scope privilege</type>\n    <update_domain>global</update_domain>\n    <update_guid>2c619f11d769f70038039330d68ece4d</update_guid>\n    <update_guid_history>2c619f11d769f70038039330d68ece4d:-1279040783</update_guid_history>\n    <update_set display_value=\"\"/>\n    <view/>\n  </sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/widget/pe-sp-tabs-launchpad.u-body-html-template.html",
    "content": "<div class=\"x-pisn-sp-launchp\" ng-show=\"load\">\n  <ul class=\"list-unstyled b-b x-pisn-sp-launchp__header\">\n    <li class=\"pointer\" role=\"presentation\" ng-class=\"{'active': c.currentMenuItem == item.sys_id }\"\n      ng-repeat=\"item in c.data.menu_items track by item.sys_id\" ng-click=\"c.currentMenuItem = item.sys_id;\"><a\n        href>{{::item.label}} <span class=\"badge\"\n          ng-if=\"item.scriptedItems.data.count\">{{item.scriptedItems.data.count}}</span></a>\n    </li>\n  </ul>\n  <div class=\"x-pisn-sp-launchp__body\" ng-repeat=\"item in c.data.menu_items track by item.sys_id\"\n    ng-show=\"c.currentMenuItem == item.sys_id\">\n    <!-- type 'apps'-->\n    <div class=\"x-pisn-sp-launchp__body--apps\" ng-if=\"item.scriptedItems.type == 'apps'\">\n      <div class=\"row\">\n        <div class=\"col-xs-4 col-sm-2 col-md-2 text-center\"\n          ng-repeat=\"record in item.scriptedItems.data.records track by record.sys_id\">\n          <a href class=\"thumbnail no-border m-b-none\" ng-click=\"c.select(record,item)\">\n            <img class=\"img-circle m-b-xs\" ng-src=\"{{record.dv[item.scriptedItems.data.fields[1].name]}}\" />\n            <div class=\"caption\">\n              <p class=\"m-b-none\">{{record.dv[item.scriptedItems.data.fields[0].name]}}</p>\n            </div>\n          </a>\n        </div>\n        <div class=\"col-xs-4 col-sm-2 col-md-2 text-center\"\n          ng-if=\"item.scriptedItems.data.count > item.scriptedItems.data.limit\">\n          <a href class=\"thumbnail thumbnail-primary no-border m-b-none\" ng-click=\"c.goTo(item)\">\n            <div class=\"img-circle see-all text-center\"><img class=\"\" ng-src=\"x_pisn_sp_launchp-img-see_all.svg\" />\n            </div>\n            <div class=\"caption\">\n              <p class=\"m-b-none\">${See All}</p>\n            </div>\n          </a>\n        </div>\n      </div>\n    </div>\n    <!-- type 'list'-->\n    <div class=\"x-pisn-sp-launchp__body--list\" ng-if=\"item.scriptedItems.type == 'list'\">\n      <div class=\"table-responsive\">\n        <table class=\"table table-hover m-b-none\">\n          <thead>\n            <tr>\n              <th ng-repeat=\"field in item.scriptedItems.data.fields | filter:c.filterFields\">{{field.field.label}}</th>\n            </tr>\n          </thead>\n          <tr ng-repeat=\"record in item.scriptedItems.data.records track by record.sys_id\"\n            ng-click=\"c.select(record,item)\">\n            <td ng-repeat=\"field in item.scriptedItems.data.fields | filter:c.filterFields\">{{record.dv[field.name]}}\n            </td>\n          </tr>\n        </table>\n      </div>\n      <div class=\"text-center wrapper-sm b-t x-pisn-sp-launchp__footer\" ng-if=\"item.scriptedItems.type == 'list'\">\n        <button type=\"button\" class=\"btn btn-link\" ng-click=\"c.goTo(item)\">${See All}</button>\n      </div>\n    </div>\n    <!-- type 'widget'-->\n    <div class=\"x-pisn-sp-launchp__body--widget\" ng-if=\"item.scriptedItems.type == 'widget'\">\n      <sp-widget widget=\"item.scriptedItems.widget\"></sp-widget>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/widget/pe-sp-tabs-launchpad.u-client-script.js",
    "content": "function spLaunchpadController(spUtil, $scope, $location, $timeout, $rootScope) {\n  $scope.load = false;\n  var c = this;\n  c.currentMenuItem = '';\n  var record_watchers = [];\n  $timeout(function () {\n    $scope.load = true;\n  }, 200);\n\n  if (c.data.menu_items) {\n    c.currentMenuItem = c.data.menu_items[0].sys_id;\n    for (var i in c.data.menu_items) {\n      var item = c.data.menu_items[i];\n      if (item.scriptedItems)\n        record_watchers = record_watchers.concat(item.scriptedItems.record_watchers);\n    }\n  }\n\n  c.update = function (data) {\n    $scope.load = false;\n    c.server.get({}).then(function (response) {\n      c.data = response.data;\n      $scope.load = true;\n    });\n  };\n\n  for (var y in record_watchers) {\n    var watcher = record_watchers[y];\n    spUtil.recordWatch($scope, watcher.table, watcher.filter, c.update);\n  }\n\n  c.goTo = function (item) {\n    $location.search({\n      id: 'list', //option\n      table: item.scriptedItems.data.table,\n      filter: item.scriptedItems.data.filter,\n      view: 'sp'\n    });\n  };\n\n  c.select = function (record, item) {\n    $location.search({\n      id: item.scriptedItems.page_id || 'ticket', //option\n      table: item.scriptedItems.page_table || record.table,\n      sys_id: (item.scriptedItems.page_sys_id) ? record.v[item.scriptedItems.page_sys_id] : record.sys_id\n    });\n  };\n\n  c.filterFields = function (arg) {\n    if (arg.name && arg.name.indexOf('sys_id') == -1)\n      return true;\n    return false;\n  };\n\n\n  $rootScope.$on('x-pisn-sp-launchp-update-count', function (event, data) {\n    if (data.menu_sys_id)\n      for (var i in c.data.menu_items) {\n        if (c.data.menu_items[i].sys_id == data.menu_sys_id)\n          c.data.menu_items[i].scriptedItems.count = data.count;\n      }\n  });\n\n}\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/widget/pe-sp-tabs-launchpad.u-css.scss",
    "content": "$x-pisn-sp-launchp: lighten($gray-base, 85%);\n$x-pisn-sp-launchp-active: $brand-primary;\n\n$x-pisn-sp-launchp-text: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-badge: $x-pisn-sp-launchp !default;\n$x-pisn-sp-launchp-badge-bg: white !default;\n$x-pisn-sp-launchp-badge-b: $x-pisn-sp-launchp !default;\n\n$x-pisn-sp-launchp-border: $x-pisn-sp-launchp-text-active !default;\n$x-pisn-sp-launchp-text-active: $x-pisn-sp-launchp-active !default;\n$x-pisn-sp-launchp-badge-active: white !default;\n$x-pisn-sp-launchp-badge-bg-active: $x-pisn-sp-launchp-active !default;\n$x-pisn-sp-launchp-badge-b-active: $x-pisn-sp-launchp-active !default;\n\n.x-pisn-sp-launchp__body {\n  padding-top: 20px;\n  padding-bottom: 25px;\n}\n\n.x-pisn-sp-launchp__header {\n  display: flex;\n  justify-content: space-between;\n\n  a {\n    font-size: $font-size-h2;\n    font-weight: $headings-font-weight;\n    color: $x-pisn-sp-launchp-text;\n\n    .badge {\n      color: $x-pisn-sp-launchp-badge;\n      background-color: $x-pisn-sp-launchp-badge-bg;\n      border: 1px solid $x-pisn-sp-launchp-badge-b;\n    }\n  }\n}\n\n.x-pisn-sp-launchp__header>li {\n  padding-bottom: 15px;\n  border-bottom: 5px solid transparent;\n}\n\n.x-pisn-sp-launchp__header>li.active {\n  border-color: $x-pisn-sp-launchp-border;\n\n  a {\n    color: $x-pisn-sp-launchp-text-active;\n\n    .badge {\n      color: $x-pisn-sp-launchp-badge-active;\n      background-color: $x-pisn-sp-launchp-badge-bg-active;\n      border-color: $x-pisn-sp-launchp-badge-b-active;\n    }\n  }\n\n}\n\n.img-circle,\n.see-all {\n  width: 40px;\n  height: 40px;\n  border: 1px solid $table-border-color;\n}\n\n.see-all {\n  margin: auto;\n  margin-bottom: 5px;\n  background-color: $brand-primary;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  img {\n    width: 20px;\n    height: 20px;\n  }\n}\n\n.table-responsive {\n  border-radius: $border-radius-base;\n}\n\n@media (max-width: 768px) {\n  .table-responsive {\n    border: 0;\n    margin-bottom: 0px;\n  }\n\n  .x-pisn-sp-launchp__header {\n    a {\n      font-size: $font-size-h5;\n    }\n  }\n\n}\n"
  },
  {
    "path": "src/pe-sp-tabs-launchpad/widget/pe-sp-tabs-launchpad.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-sp-tabs-launchpad/widget/pe-sp-tabs-launchpad.u-option-schema.json",
    "content": ""
  },
  {
    "path": "src/pe-sp-tabs-launchpad/widget/pe-sp-tabs-launchpad.u-server-script.js",
    "content": "(function () {\n  var slAPI = new SpLaunchpadAPI();\n  var menu_id = $sp.getValue('sys_id');\n  var gr = new GlideRecord('sp_instance_menu');\n  gr.get(menu_id);\n  data.menu_items = $sp.getMenuItems(menu_id);\n  for (var i in data.menu_items)\n    if (data.menu_items[i].scriptedItems.type != 'widget') {\n      data.menu_items[i].scriptedItems.data = slAPI.getData(\n        data.menu_items[i].scriptedItems.table,\n        data.menu_items[i].scriptedItems.filter,\n        data.menu_items[i].scriptedItems.limit,\n        data.menu_items[i].scriptedItems.attributes\n      );\n      if (data.menu_items[i].scriptedItems.filter_count)\n        data.menu_items[i].scriptedItems.count = slAPI.getCount(\n          data.menu_items[i].scriptedItems.table,\n          data.menu_items[i].scriptedItems.filter_count\n        );\n    }\n  else\n    data.menu_items[i].scriptedItems.widget = $sp.getWidget(\n      data.menu_items[i].scriptedItems.widget_id, data.menu_items[i].scriptedItems.widget_options);\n})();\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/README.md",
    "content": "# Sp Task Child Activity\n\n## Description\n\nSp Task Child Activity is a powerful component for displaying not only a flat list of Tasks, but their children too. On both entities it will be possible to monitor their process flow in real time, manage approvals, attach and download any types of content allowed by the system attachments table, view/edit parent and child tasks on their configured default form view through a modal dialog. The component is also configured to offer the same capabilities on its mobile variant.\n\n## Screenshot\n\n![Main view on desktop](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-task-child-activity/images/pe-sp-task-child-activity-01.png)\n\n![Main view on mobile, with the Process Flow still visible through popup](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-task-child-activity/images/pe-sp-task-child-activity-02.png)\n\n![It is possible to approve or reject a request, and download the content attached to a task](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-task-child-activity/images/pe-sp-task-child-activity-03.png)\n\n![The user can view/edit any tasks on a modal dialog after pressing the View link](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-sp-task-child-activity/images/pe-sp-task-child-activity-04.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-sp-task-child-activity.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-sp-task-child-activity/pe-sp-task-child-activity.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> The only required parameter is the sys_id of the parent task, and it can come from the input object in the Server Script or from the URL. The widget options allow an admin user to change the Bootstrap contextual/brand colors, select a task table, change the order of the task records in the list, and the form view used in the modal dialog.\n\n## Platform Dependencies\n\n### SN System Tables\n\n> Task or any other table extended from Task.\n\n### UI Dependencies\n\n> This component requires [Proc Flow Popup](https://sc.service-now.com/snds?state=widget-detail&sys_id=f631a91bdb58bf80d589f4621f9619dd) as dependency, not included in this update set.\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> In addition to inherit the Theme configuration, below the other additional custom SASS variables:\n\n``` scss\n$x-pisn-sp-task-child-activity-state-past: $text-muted !default;\n$x-pisn-sp-task-child-activity-state-current: $brand-success !default;\n$x-pisn-sp-task-child-activity-state-future: $brand-primary !default;\n```\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Form\",\n  \"common-name\": \"Sp Task Child Activity\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\",\n    \"Madrid\"\n  ],\n  \"contributors\": [\n    \"Chris Hann\",\n    \"Fabio Petito\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-sp-task-child-activity\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Sp Task Child Activity is a powerful component for displaying not only a flat list of Tasks, but their children too. On both entities it will be possible to monitor their process flow in real time, manage approvals, attach and download any types of content allowed by the system attachments table, view/edit parent and child tasks on their configured default form view through a modal dialog. The component is also configured to offer the same capabilities on its mobile variant.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/pe-sp-task-child-activity.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-06-28 20:50:20\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<application_name>SP Task Child Activity</application_name>\n<application_scope>x_pisn_sp_task_act</application_scope>\n<application_version>1.1.1</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description> </description>\n<inserted/>\n<name>SP Task Child Activity</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>4eaef0c2dbdabb00efd54a92ba961965</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>5cbeb4c2dbdabb00efd54a92ba9619fe</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_97f0477ddb3d33c0d033df8b4b96199c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ChildActivityController($scope, $log, spUtil, spModal, $rootScope) {\n  var c = this;\n\n  var buildHierarchy = function (taskList) {\n    return c.data.tasks.filter(function (t) {\n      return t.parent == c.data.sys_id;\n    }).map(createTaskNode);\n  };\n\n  var buildChildNodes = function (parentID) {\n    return c.data.tasks.filter(function (t) {\n      if (t.parent == parentID)\n        t.child = true;\n      return t.parent == parentID;\n    }).map(createTaskNode);\n  };\n\n  var createTaskNode = function (taskData) {\n    return {\n      id: taskData.sys_id,\n      data: taskData,\n      children: buildChildNodes(taskData.sys_id)\n    };\n  };\n\n  c.havePendingActions = function (taskID) {\n    return c.havePendingApproval(taskID);\n  };\n\n  c.approve = function (approvalID) {\n    var payload = {\n      action: 'approved',\n      approval_id: approvalID\n    };\n    c.server.get(payload).then(function (response) {});\n  };\n\n  c.havePendingApproval = function (taskID) {\n    return c.getPendingApprovalForTask(taskID) != null;\n  };\n\n  c.getPendingApprovalForTask = function (taskID) {\n    return c.data.approvals.filter(function (a) {\n      return a.sysapproval == taskID &amp;&amp; a.is_mine &amp;&amp; a.state == 'requested';\n    })[0];\n  };\n\n  c.task_hierarchy = buildHierarchy(c.data.tasks);\n\n  c.editTask = function (taskData) {\n    spModal.open({\n      title: '${Editing}' + ' ' + taskData.number,\n      widget: 'widget-form',\n      buttons: [{\n        label: '${Close}',\n        cancel: true\n      }],\n      footerStyle: {\n        'display': 'none'\n      },\n      size: 'lg',\n      widgetInput: {\n        table: taskData.table,\n        sys_id: taskData.sys_id,\n        view: c.options.view\n      }\n    });\n  };\n\n  c.toggleTasksView = function (taskId) {\n    c.toggleCollapse(taskId);\n  };\n\n  c.hasAttachments = function (taskID) {\n    return c.getAttachments(taskID).length &gt; 0;\n  };\n\n  c.getAttachments = function (taskID) {\n    return c.data.attachments.filter(function (att) {\n      return att.table_sys_id == taskID;\n    });\n  };\n\n  spUtil.recordWatch($scope, c.options.table, 'sys_idIN' + c.data.task_ids, function (data) {\n\t\tconsole.log('update');\n    c.server.update().then(function (data) {\n      c.task_hierarchy = buildHierarchy(data.tasks);\n    });\n  });\n\n  spUtil.recordWatch($scope, 'sys_attachment', 'table_nameIN' + c.data.task_tables, function (data) {\n    c.server.update().then(function (data) {\n      c.task_hierarchy = buildHierarchy(data.tasks);\n    });\n  });\n\n  $rootScope.$on('sp.form.record.updated', function (event, obj) {\n    c.closeModal();\n  });\n\n  $rootScope.$on('spModel.gForm.initialized', function (event, gFormInstance) {\n    c.cssModal();\n    if (gFormInstance.getUniqueValue() == c.data.sys_id) {\n      var fields = gFormInstance.getFieldNames();\n      for (var i = 0; i &lt; fields.length; i++)\n        gFormInstance.setReadOnly(fields[i], true);\n    }\n  });\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$x-pisn-sp-task-child-activity-state-past: $text-muted !default;&amp;#13;\n$x-pisn-sp-task-child-activity-state-current: $brand-success !default;&amp;#13;\n$x-pisn-sp-task-child-activity-state-future: $brand-primary !default;&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity {&amp;#13;\n  -webkit-font-smoothing: antialiased;&amp;#13;\n  -moz-osx-font-smoothing: grayscale;&amp;#13;\n  text-rendering: optimizeLegibility;&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__flow {&amp;#13;\n  display: inline-block;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task-list,&amp;#13;\n.x-pisn-sp-task-child-activity__task-list li,&amp;#13;\n.x-pisn-sp-task-child-activity__task-list ol {&amp;#13;\n  list-style: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task-list {&amp;#13;\n  padding-left: 0;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task {&amp;#13;\n  border-top: 1px solid $panel-default-border;&amp;#13;\n  padding-bottom: 8px;&amp;#13;\n  margin-top: 8px;&amp;#13;\n  padding-top: 8px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task-list&amp;gt;li:first-child&amp;gt;.x-pisn-sp-task-child-activity__task {&amp;#13;\n  border-top: none;&amp;#13;\n  padding-top: 0;&amp;#13;\n  margin-top: 0;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task .x-pisn-sp-procflow-lite__stage:first-of-type {&amp;#13;\n  padding-left: 0;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task {&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n    color: $text-muted !important;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__stage--past {&amp;#13;\n    color: $x-pisn-sp-task-child-activity-state-past !important;&amp;#13;\n&amp;#13;\n    .x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n      color: $x-pisn-sp-task-child-activity-state-past !important;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__stage--current {&amp;#13;\n    color: $text-color !important;&amp;#13;\n&amp;#13;\n    .x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n      color: $text-color !important;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__stage--future {&amp;#13;\n    color: $x-pisn-sp-task-child-activity-state-future !important;&amp;#13;\n&amp;#13;\n    .x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n      color: $x-pisn-sp-task-child-activity-state-future !important;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__container,&amp;#13;\n  .x-pisn-sp-procflow-lite__stage {&amp;#13;\n    background-color: unset !important;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__stage {&amp;#13;\n    height: unset !important;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow__container::-webkit-scrollbar {&amp;#13;\n    width: 0 !important&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow__container {&amp;#13;\n    overflow: -moz-scrollbars-none;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow__container {&amp;#13;\n    -ms-overflow-style: none;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.x-pisn-sp-task-child-activity__task--active .x-pisn-sp-procflow-lite__stage--current {&amp;#13;\n  color: $x-pisn-sp-task-child-activity-state-current !important;&amp;#13;\n&amp;#13;\n  .x-pisn-sp-procflow-lite__breadcrumb {&amp;#13;\n    color: $x-pisn-sp-task-child-activity-state-current !important;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-circle-plus-container {&amp;#13;\n  position: absolute;&amp;#13;\n  right: 10px;&amp;#13;\n  top: 20px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-closed {&amp;#13;\n  .collapse-vertical {&amp;#13;\n    transition: all 0.5s ease-in-out;&amp;#13;\n    transform: rotate(-90deg);&amp;#13;\n  }&amp;#13;\n  .collapse-horizontal {&amp;#13;\n    transition: all 0.5s ease-in-out;&amp;#13;\n    transform: rotate(-90deg);&amp;#13;\n    opacity: 1;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-opened {&amp;#13;\n  opacity: 1;&amp;#13;\n  .collapse-vertical {&amp;#13;\n    transition: all 0.5s ease-in-out;&amp;#13;\n    transform: rotate(90deg);&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .collapse-horizontal {&amp;#13;\n    transition: all 0.5s ease-in-out;&amp;#13;\n    transform: rotate(90deg);&amp;#13;\n    opacity: 0;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-circle-plus {&amp;#13;\n  font-size: 1em;&amp;#13;\n  opacity: .7;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-circle-plus .collapse-circle {&amp;#13;\n  position: relative;&amp;#13;\n  width: 2em;&amp;#13;\n  height: 2em;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-circle-plus .collapse-circle .collapse-horizontal {&amp;#13;\n  position: absolute;&amp;#13;\n  background-color: $brand-primary;&amp;#13;\n  width: 16px;&amp;#13;\n  height: 2px;&amp;#13;\n  left: 50%;&amp;#13;\n  margin-left: -7px;&amp;#13;\n  top: 50%;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.collapse-circle-plus .collapse-circle .collapse-vertical {&amp;#13;\n  position: absolute;&amp;#13;\n  background-color: $brand-primary;&amp;#13;\n  width: 2px;&amp;#13;\n  height: 16px;&amp;#13;\n  left: 50%;&amp;#13;\n  top: 50%;&amp;#13;\n  margin-top: -7px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.pf-mobile &amp;gt; .v4e74afaddb98bb00d033df8b4b961922, .pf-mobile &amp;gt; .x-pisn-sp-procflow__show {&amp;#13;\n  display: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.pf-mobile .x-pisn-sp-procflow-lite {&amp;#13;\n  background-color: white;&amp;#13;\n  border-radius: 10px;&amp;#13;\n  padding-left: 10px;&amp;#13;\n  padding-right: 10px;&amp;#13;\n  border: 0.5px solid lighten($gray-base, 87%);&amp;#13;\n  height: 41px;&amp;#13;\n}&amp;#13;\n.v4e74afaddb98bb00d033df8b4b961922 .x-pisn-sp-procflow-popup-container {&amp;#13;\n  position: absolute;&amp;#13;\n  bottom: -8px;&amp;#13;\n  left: 35px;&amp;#13;\n  right: 0px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.v4e74afaddb98bb00d033df8b4b961922 .x-pisn-sp-procflow-popup-starter .fa-sort-desc {&amp;#13;\n  position: absolute;&amp;#13;\n  bottom: 0px;&amp;#13;\n  transform: rotate(90deg);&amp;#13;\n  left: 22px;&amp;#13;\n  font-size: 20px;&amp;#13;\n  color: lighten($gray-base, 87%);&amp;#13;\n}&amp;#13;\n&amp;#13;\n.v4e74afaddb98bb00d033df8b4b961922 .x-pisn-sp-procflow-lite__container {&amp;#13;\n    height: 100% !important;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.btn-view {&amp;#13;\n  position: absolute;&amp;#13;\n  right: 12px;&amp;#13;\n  top: 2px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.relative {&amp;#13;\n  position: relative;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.btn:focus {&amp;#13;\n  outline: none;&amp;#13;\n  box-shadow: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n@media (max-width: 768px) {&amp;#13;\n  .x-pisn-sp-task-child-activity__task .x-pisn-sp-procflow-lite {&amp;#13;\n    overflow: hidden;&amp;#13;\n    overflow-x: auto;&amp;#13;\n  }&amp;#13;\n  .x-pisn-sp-task-child-activity__task {&amp;#13;\n    .col-xs-2 {&amp;#13;\n      padding-left: 0px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .pf-mobile &amp;gt; .v4e74afaddb98bb00d033df8b4b961922 {&amp;#13;\n    display: inline-block;&amp;#13;\n  }&amp;#13;\n  .pf-desktop &amp;gt; .vbb6b8a4edb439b0085895845dc961917 {&amp;#13;\n    display: none;&amp;#13;\n  }&amp;#13;\n  .btn-view {&amp;#13;\n    right: 7px;&amp;#13;\n  }&amp;#13;\n  .panel-heading {&amp;#13;\n    padding-left: 10px;&amp;#13;\n    padding-right: 10px;&amp;#13;\n  }&amp;#13;\n  .panel-body {&amp;#13;\n    padding-left: 10px;&amp;#13;\n  }&amp;#13;\n  .collapse-circle-plus-container {&amp;#13;\n    right: 5px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&lt;/css&gt;&lt;data_table&gt;sp_instance_table&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title,color,table,order_by,order_direction&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;x-pisn-sp-task-child-activity&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link(scope, element, attrs, controller) {\n  scope.c.closeModal = function () {\n    var button = $('body').find('button.close');\n    angular.element(button).scope().$dismiss();\n  };\n  scope.c.cssModal = function () {\n    var modalBody = $('body').find('.modal-body');\n    modalBody.css('padding', '0');\n    modalBody.css('-webkit-font-smoothing', 'antialiased');\n    modalBody.css('-moz-osx-font-smoothing', 'grayscale');\n    modalBody.css('text-rendering', 'optimizeLegibility');\n    var panel = modalBody.find('.panel');\n    panel.css('border', '0');\n    panel.css('box-shadow', 'none');\n  };\n  scope.c.toggleCollapse = function (taskId) {\n    $('#collapseTask' + taskId).collapse('toggle');\n    $('#collapseCircle' + taskId).toggleClass('collapse-opened');\n  };\n}]]&gt;&lt;/link&gt;&lt;name&gt;SP Task Child Activity&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"view\",\"section\":\"other\",\"default_value\":\"sp\",\"label\":\"View\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles&gt;snc_external,snc_internal&lt;/roles&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  input = input || {};\n  data.sys_id = input.sys_id || options.task_id || $sp.getParameter('sys_id');\n  data.table = options.table || $sp.getParameter('table') || 'task';\n  data.tasks = [];\n\n  function GetAttributes(gr) {\n    var record = {\n      sys_id: gr.getUniqueValue(),\n      table: gr.getTableName(),\n      number: gr.number.getDisplayValue(),\n      short_description: gr.short_description.getDisplayValue(),\n      parent: gr.parent.toString(),\n      assignment_group: gr.assignment_group.getDisplayValue(),\n      assigned_to: gr.assigned_to.getDisplayValue(),\n      assigned_to_id: gr.getValue('assigned_to'),\n      due_date: gr.due_date.getDisplayValue(),\n      state: gr.state.getDisplayValue(),\n      proc_flow: new x_pisn_sp_procflow.ProcessFlow(gr).toObject(),\n      pf_widget: $sp.getWidget('x-pisn-sp-procflow-lite', {\n        table: gr.sys_class_name.toString(),\n        sys_id: gr.getUniqueValue()\n      }),\n      pf_popup_widget: $sp.getWidget('x-pisn-sp-procflow-popup', {\n        table: gr.sys_class_name.toString(),\n        sys_id: gr.getUniqueValue()\n      }),\n      active: gr.active == true,\n      approval: gr.approval.getDisplayValue(),\n      approval_internal: gr.approval.toString()\n    };\n    return record;\n  }\n\n  function GetChildren(sys_id, order_by) {\n    var records = [];\n    var gr = new GlideRecord(data.table);\n    gr.addQuery('parent', sys_id);\n    if (options.order_by) {\n      if (options.order_direction == 'desc')\n        gr.orderByDesc(options.order_by);\n      else\n        gr.orderBy(options.order_by);\n    }\n    gr.query();\n    while (gr.next())\n      records.push(GetAttributes(gr));\n\n    return records;\n  }\n\n  if (input &amp;&amp; input.action == 'approved') {\n    var appGR = new GlideRecord('sysapproval_approver');\n    if (appGR.get(input.approval_id) &amp;&amp; appGR.state.canWrite()) {\n      appGR.state = 'approved';\n      appGR.update();\n    }\n    return;\n  }\n\n  if (!data.sys_id)\n    return;\n\n  var parentTaskGR = new GlideRecord(data.table);\n  if (parentTaskGR.get(data.sys_id)) {\n    data.task_number = parentTaskGR.number.getDisplayValue();\n    data.task_table = parentTaskGR.getTableName();\n  }\n\n  var taskGR = new GlideRecord(data.table);\n  taskGR.addQuery('parent', data.sys_id);\n\n  if (options.order_by) {\n    if (options.order_direction == 'desc')\n      taskGR.orderByDesc(options.order_by);\n    else\n      taskGR.orderBy(options.order_by);\n  }\n\n  taskGR.query();\n  while (taskGR.next()) {\n    data.tasks.push(GetAttributes(taskGR));\n    data.tasks = data.tasks.concat(GetChildren(taskGR.getUniqueValue()));\n  }\n\n  var taskIDs = data.tasks.map(function (t) {\n    return t.sys_id;\n  });\n  var taskTables = data.tasks.map(function (t) {\n    return t.table;\n  });\n\n  data.attachments = [];\n  data.approvals = [];\n  data.task_ids = taskIDs;\n  data.task_tables = taskTables;\n\n  if (taskIDs.length) {\n    var attachmentGR = new GlideRecord('sys_attachment');\n    attachmentGR.addQuery('table_sys_id', 'IN', taskIDs);\n    attachmentGR.query();\n    while (attachmentGR.next()) {\n      data.attachments.push({\n        sys_id: attachmentGR.getUniqueValue(),\n        file_name: attachmentGR.file_name.toString(),\n        content_type: attachmentGR.content_type.toString(),\n        state: attachmentGR.state.toString(),\n        table_sys_id: attachmentGR.table_sys_id.toString()\n      });\n    }\n\n    var approvalGR = new GlideRecord('sysapproval_approver');\n    approvalGR.addQuery('sysapproval', 'IN', taskIDs);\n    approvalGR.query();\n    while (approvalGR.next()) {\n      data.approvals.push({\n        sys_id: approvalGR.getUniqueValue(),\n        sysapproval: approvalGR.sysapproval.toString(),\n        state: approvalGR.state.toString(),\n        approver: approvalGR.approver.getDisplayValue(),\n        approver_id: approvalGR.approver.toString(),\n        is_mine: approvalGR.approver.toString() == gs.getUserID()\n      });\n    }\n  }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-03 15:12:29&lt;/sys_created_on&gt;&lt;sys_id&gt;97f0477ddb3d33c0d033df8b4b96199c&lt;/sys_id&gt;&lt;sys_mod_count&gt;195&lt;/sys_mod_count&gt;&lt;sys_name&gt;SP Task Child Activity&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\"&gt;27e0c73ddb3d33c0d033df8b4b96192a&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Task Child Activity\"&gt;27e0c73ddb3d33c0d033df8b4b96192a&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_97f0477ddb3d33c0d033df8b4b96199c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-28 20:19:55&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-task-child-activity\"&gt;\n  &lt;div class=\"panel panel-{{::c.options.color}}\"&gt;\n    &lt;div class=\"panel-heading\"&gt;\n      &lt;h3 class=\"panel-title\"&gt;{{::c.options.title}} &lt;small class=\"pull-right m-t-xs\"&gt;&lt;a role=\"button\" href\n            ng-click=\"c.editTask({sys_id: c.data.sys_id, table: c.data.task_table, number: c.data.task_number})\"&gt;{{::c.data.task_number}}&lt;/a&gt;&lt;i\n            class=\"fa fa-tasks m-l-xs m-r-xs\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/small&gt;&lt;/h3&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;ol ng-model=\"c.task_hierarchy\" class=\"x-pisn-sp-task-child-activity__task-list\"&gt;\n        &lt;li ng-repeat=\"task in c.task_hierarchy track by task.id\" ng-include=\"'x-pisn-sp-task-child-activity__task'\"&gt;\n        &lt;/li&gt;\n      &lt;/ol&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>595723351</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba961901</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49370000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>SP Task Child Activity</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>b6b730caf51abb00a33398d019e79510</update_guid>\n<update_guid_history>b6b730caf51abb00a33398d019e79510:595723351,10e86eda5aceb78085cfaaf4ea75d894:1786679397,ef16aada32ceb780b5372616ad1aa323:1589970368,c7f5ee9a2dceb780534f50e46cc5bea1:1952163021,064e5e164fceb7808d9067a1fb970a24:-2075466586,36dc12d269ceb7806b4ad661577a0ba7:-1290368600,f15c92927fceb78075e47c92af04c741:1758370794,20fb5a5203ceb78030a97bc5846d1995:1569291216,b4aa9a1276ceb7809196decca49554e6:-1194993576,204a521257ceb78057e10b7b6aea7b27:-1271982608,768952de2f8eb780a3bb6b7858062eda:1663968128,5d27525e4d8eb7805ea777ecdd4c4d0b:-1857443071,8917d21e978eb7808b099c38292f6ff2:-1144731796,48f6d21e0b8eb780e62371a9a947f1e1:-771895293,84e65e1ed18eb7806c599fe1c678f4c7:880443779,a5d6961e648eb780033b96f4d5ca4a76:-253955357,e8c6d21e8c8eb78010424d28f6775deb:-1603001349,4e665e9aab8eb7809763ac39710b481e:-154363491,0736dada2f8eb780438b5238b9637380:-1751207391,e5c512dae38eb780847f7338a79c0bf5:-37213658,fc2512daa88eb7807d3ca061e30336ed:479085616,ded4d29a158eb78096dd79997b446f3c:1904896712,ffc4129a4a8eb7805c3ce2f088ddfc6c:-629759261,4f935a5aab8eb780b9edb9acfc333142:-44908450,6302d6d6828eb78082af8ab6055862d8:1454390636,24815e96db8eb780156141ad88feb7b2:137779241,526192969b8eb78091a51e1505ae0d7b:826788237,f8e012d6c18eb7800cc395ba3a6c2558:2073042255,3eb09296f28eb7808017e20a6b4d0563:1219382751,071f8656c88eb7808ca2d12bd1ff30b1:-1425167775,370f0a16bd8eb780991561d866d5b673:1125419234,560f0a16168eb780a216bf46961bd70c:-1092158429,7c0f0a16908eb780fd0d2fd0f28394b8:1735113579,0d1e4e5e9e4eb780a77e659b6f020475:1279402042,85260e5e814eb78019c280ce227692a6:-162061015,f106ca1ea04eb7805e176374f2ea3b65:924447893,81f58a1e1e4eb78086df62b9674c8dd1:1125277899,fc15c61ed74eb78016e8c06d211052fc:1458073457,fef34ada4e4eb7801dcc5073810951d2:1571778037,dc2f31d6784eb78055636e3e3c6ae6e2:1025236491,e4ceb596a94eb780a9eaf7c103b12a39:-2053871169,069d7556304eb7804e7d9d26c2bd918e:366246806,519db1d22f4eb780870fd483b70d9cb3:420623701,d18a71d2c04eb7802d70b478133357ee:-1805930246,afc871de010eb78064c0167cb6ebebca:7882670,55b875defb0eb780253462a7300c1077:-1975032823,8068f5dec70eb78051461b4d656a2f63:1652608971,c44875de660eb7808a61726d55ca9f71:-677316842,c80871de180eb780135fb3c8c82ba842:-1174315855,0eeda13a5439bb40efaeb16625861599:-1511257199,5c8de1f69c39bb40c2fb75283e492ccd:1980937570,49eca1f63e39bb404fce5baefd544d39:648496456,64dc6db60939bb402efee1f841def39c:-350065800,ba9c6db6c439bb405f1ed88765a94f91:-125055128,e88ce9b6ca39bb4023afac28f0f122f8:1023163336,a75c6536d539bb4079f3854f52d8ad22:-1241486905,03fa65368239bb40d74b422b5e3c3aab:1956652773,ebf92e6ab97d7b40a51c132d521d31e3:-438510688,38392e6a567d7b400ccf5644c240eed9:762030056,2dd7e26a8f7d7b40b7e65cbc1b2dc2b6:1745669044,f296662a6d7d7b40d827cb0443716828:2112995004,8ad56ae68a7d7b4033cfae2fb41512ca:1086223899,0ba566e68d7d7b40267d2058dac7f868:-371950770,6dc466a6277d7b406080d849fbea9070:-1755196185,749462a6517d7b40d3011db65b1088fa:-560481420,c3742e66327d7b40a746257b75f40e17:-1236232793,0db1aea2557d7b40c5027a90da77ce5d:-634184485,4befec5636b1b3c023ab4fe3bce8a557:656371814,ab7c6492edb1b3c02757dc0e241e4cdc:1761386112,e70c2492abb1b3c06f359c6d95502321:-1264496354,c6eb285280b1b3c06a327f041bc84f52:-1001623332,e928e09e7271b3c0590fbf973013db61:-549991533,8b97e09e1271b3c0cb5ee7b42dadf621:-630204859,6806acda2a71b3c024118958d747803f:-224937827,63e5e41e4871b3c0a30483b82ebcac03:1951899335,41d5acda3971b3c0dd3c8311cfcd3946:-486551430,3fa5e01e8e71b3c032b2c65da3b412d7:-2134826836,99556cda5a71b3c062cd8f4e3229f592:1376859656,c46420da7771b3c0ba3fd6ac0cfc75c1:-1602156951,e244ec9aa971b3c01b36e9f0e53b0c28:-1683060932,a434649a5771b3c082dd926c4fcbb804:1496366526,a983249a9271b3c0dca233b23b203751:-1891461437,0743209a2071b3c0b4e00f25de11a53b:-497324261,2fd2245a0c71b3c0cd2f9810c44efa4f:-319356549,41c2a45a2071b3c0795bf05a648cb4cd:-1408039605,eb92245ac271b3c01d6e121d52f5ca46:150896293,9df060d6d771b3c05361bfe8597587e8:658601184,d770e096f371b3c0d6e0471ccc42a76e:1619755074,c460e096b271b3c0a903fe00ef7d1389:-1894979479,1240e096bd71b3c0b543990bcce79692:-295541577,ddbf5c568571b3c0e88eda2cd3416b7e:1231272484,365f9452e671b3c00293cbb3beb4ddcd:258383705,7ce998127171b3c0309b8eb2a4a1909f:-515340546,1dd95c122971b3c04ed636b33fc444b2:1656121472,f1491012f471b3c0413b3836a624dcb8:1500828094,e037981ed931b3c0617349139bda8ac9:-2028660938,eb27509efc31b3c04c8b0f57f99fe7e2:-695987213,96e69c1e7131b3c0a295bb40728a6d4f:1548134771,1845dcda6231b3c05e3f2434f5f2b4a1:1230489147,b393909af831b3c0de1e51957ce487b0:-1583773329,7083109a0431b3c0578fbf03a6dad669:397909709,0883109ab831b3c03f386b4f0cd78f5e:-444664186,3563945a6d31b3c0da539f8376201c76:1756602966,97a2905abe31b3c053fc3983a07f84d3:-373044989,0592505af431b3c0b5d469fbb7e52e14:-1340979191,03b1141a0d31b3c05e467bab9530a950:1749489744,1791901acf31b3c0846d87323abf9f07:-371601570,0f2f8016fa31b3c0db12e60c37ab1237:-546569396,efdd80167031b3c0ce9f3479e8307e62:1698519624,820cc892ec31b3c0efba2006dba26bbe:1780825042,177a8452ae31b3c09893bf04e1a2a339:141240572,fc59c4daebfd73c060fd64296054ef64:1136861769,442c730673fd73c0af168cbc26350417:-1502387637,c5f53b8e67bd73c01cf982c7464b08cd:-1170661444,34553f4e5cbd73c0b113c355748f8bdb:-439435240,00b4f70e48bd73c07664123dd3852cf8:-1264234011,83907f0ad2bd73c017a2ef4205d566be:-1623193738,47ff234a4cbd73c0d34de7e73a392b84:1226732902,daef6f0ab1bd73c0018be87827773864:843275860,011f630a61bd73c0aa62a3dc8ec6cacd:1773208079,c3feebc653bd73c04c0e169e23b0a13b:531982389,25ceabc665bd73c0178dc183052458e4:36764746,b8aea7c6d8bd73c05bde08e8acc8b22e:-1622833786,428e67c6b4bd73c0db20e17fbfc2d2be:1122933658,394ea3c6dcbd73c070ac07fc2fadfb82:1024368618,393e27c62ebd73c082176fcfa1ade03e:1711512552,880e278605bd73c09e93aefbb0f05d24:1799914442,8fcceb063dbd73c0e76697d4ecf9d95b:-512798507,0b9c2fc291bd73c0aa1cfa899e611d3f:378436950,d09beb0666bd73c03b80929eb23c8f66:-1696536105,ab4b2fc266bd73c002e45f39b365341b:318000169,b7f65b42167d73c0074dbe36f16b70fc:-1062885601,f56493cee03d73c0f75ae29f0c356618:541561097,87345f8e393d73c0245927a87ad4b2e3:855356969,1cc3174ee03d73c052c243ac18728c66:-1813749274,1b73174e283d73c08113cae39937de4e:332997464,4172174ef53d73c0640d332c861b3444:-1316104774,a9029f0e5c3d73c01b8ba57ce0c6c670:4958656,907097ca533d73c066c167b31dacbb7d:-610783458,1b409f8a4e3d73c09385d044530bcded:-944149630,6c001f8a8f3d73c0b4b2a9befa828d39:1935210769,93cfcb8a213d73c002638e92647e6f52:1301898926,269fc78a453d73c028cc2b3e236dcbad:851505478,ef3f438a5b3d73c01164679fdf247708:390067513,4c3f4f4ae53d73c0e337ec8bf93de7d8:-436298282,67fe0f4aa63d73c060b0866a7268aa25:1327150010,8aae070a703d73c069c5539b0be6720c:215905661,655d8bc6073d73c064ef14fe0243bb76:1573166873,bb4dc30a503d73c05770d44c372b5688:-200488377,c5fc0bc65d3d73c0f8bf7f4d0a996c76:1215365258,45bc03c61d3d73c0cd6ec31d223254cd:-1829636348,992c03c6343d73c07d49f6052ecc136d:-1635156999,c25b4702763d73c06a87848be7e68eb8:293341822,07dac702bf3d73c006d194602e99ed37:-1936920638,99044b8e59f973c03f3acc8f242d2849:1832806187,d1c34b8e53f973c03d394aaa537a0d40:-1476223743,e113c38e1ef973c0f0d3cd2945d6c6da:-1397590427,237f32ca8cf973c09a2017928c211b0a:1193149378,34ae3ec614f973c0114a37d56f5d4c1e:-839725509,adbc7ec652f973c0a3399641ff7d9cf9:749861378,49fb7ac60bf973c0f8d33baae7914773:757385664,addbb6c678f973c002b9f51a8d5112ed:1108053641,a039720203f973c094e3ab78caee2211:-1852617381,181eaa4aeab973c0a7bd153f60f8ff48:-36288507,32cda64aa1b973c0d096de420878ab4c:1265317077,c43d6a0ab8b973c0cbb7a2202af8d166:787074669,650da60a54b973c07fccdc6644223c49:-786904032,93ec2a0a20b973c047e4a3db9d35cda4:-1289810508,ca0ecf3d0a7d33c057657a1a952a9934:-1005031670,b3dd4f3dd47d33c056c5aca73c52169e:1207977590,873d833d947d33c06ef5e3a3752a3401:1446069384,d5cc8fb98d7d33c00ab0fd0dff23e4c5:-1608211466,022c03f9177d33c0b531484ccd25a877:-698599787,1f9b03f93c7d33c057ffef939903026d:1819355911,9c8b8fb9737d33c0e6ed3ae129a087bc:1267148258,e0d98739277d33c0f82dc0116b38f4fc:1502471042,eec9c339047d33c071246f054ea8328d:-1051758034,c3288b750e7d33c0777d42fdfb1c9dfc:-1549287743,162887754e7d33c0581f6bbd0a51b228:455332766,1d370335407d33c0a5f86fedc6e7f46b:-1950040973,291787352c7d33c01adfc7dfb895ad01:-2130919047,adc6cff1257d33c09be6d614c7b90606:-1521260349,9686cff1287d33c076784a27a0c09001:711863570,8d760ff1037d33c0b2f506727105fcb0:-901907966,15c547711b7d33c0da24c2492620eb2f:-52983872,69644771eb7d33c0fb2cbba057ed1927:-1789780662,ac340371e77d33c0439fbcfae321dfcd:-1756172021,0e140b31d37d33c000639816608cbb9c:1915165315,96e38f31037d33c09d4868fa25ac744f:-1781945867,6e830b31967d33c0ae3f8b883697cd95:-1417899167,7763c731de7d33c042e5f009e58376cc:754750075,a6134ffdc13d33c0e78067bd7a129990:130486552,3a9283fdd63d33c004af73bec963e827:1752416592,956283fdc43d33c085e857f8bdb05032:1896629312,ce5283fd753d33c0441a3262946ed308:937464229,67910b7db43d33c021ee95241a843b91:1191040441</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_214b30cedb9abb00efd54a92ba9619a7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_sm_legal_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_sm_legal_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:23</sys_created_on><sys_id>214b30cedb9abb00efd54a92ba9619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_sm_legal_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_214b30cedb9abb00efd54a92ba9619a7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:23</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=214b30cedb9abb00efd54a92ba9619a7\"/></record_update>]]></payload>\n<payload_hash>364116927</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e280000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_sm_legal_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b54b70ced59abb00de45fb6c2d54d823</update_guid>\n<update_guid_history>b54b70ced59abb00de45fb6c2d54d823:364116927</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_4ccabc4edb9abb00efd54a92ba9619fa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the pm_project table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.pm_project</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:07</sys_created_on><sys_id>4ccabc4edb9abb00efd54a92ba9619fa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.pm_project</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_4ccabc4edb9abb00efd54a92ba9619fa</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:07</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4ccabc4edb9abb00efd54a92ba9619fa\"/></record_update>]]></payload>\n<payload_hash>1537969984</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ad20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.pm_project</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a4cafc4e379abb004d513f41c3b0cd45</update_guid>\n<update_guid_history>a4cafc4e379abb004d513f41c3b0cd45:1537969984</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_611bb88edb9abb00efd54a92ba961915</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_benefits table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_benefits</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:34</sys_created_on><sys_id>611bb88edb9abb00efd54a92ba961915</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_benefits</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_611bb88edb9abb00efd54a92ba961915</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:34</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=611bb88edb9abb00efd54a92ba961915\"/></record_update>]]></payload>\n<payload_hash>-1967190865</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba961948</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4cf80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_benefits</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b11bb88e9e9abb007dabd5c61c7fde6c</update_guid>\n<update_guid_history>b11bb88e9e9abb007dabd5c61c7fde6c:-1967190865</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_7ceaf08edb9abb00efd54a92ba961972</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_product table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_product</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:43</sys_created_on><sys_id>7ceaf08edb9abb00efd54a92ba961972</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_product</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_7ceaf08edb9abb00efd54a92ba961972</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:43</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=7ceaf08edb9abb00efd54a92ba961972\"/></record_update>]]></payload>\n<payload_hash>-923011204</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ba00000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_product</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>19eaf08ee19abb00963dd2e9458005a4</update_guid>\n<update_guid_history>19eaf08ee19abb00963dd2e9458005a4:-923011204</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_9dcafc4edb9abb00efd54a92ba961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the pm_project_task_link table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.pm_project_task_link</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:11</sys_created_on><sys_id>9dcafc4edb9abb00efd54a92ba961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.pm_project_task_link</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_9dcafc4edb9abb00efd54a92ba961986</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:11</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9dcafc4edb9abb00efd54a92ba961986\"/></record_update>]]></payload>\n<payload_hash>1885030687</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba96194e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4aeb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.pm_project_task_link</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b5cafc4e349abb00f2198c26ca68d4ab</update_guid>\n<update_guid_history>b5cafc4e349abb00f2198c26ca68d4ab:1885030687</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_ceba3c4edb9abb00efd54a92ba9619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the orphan_ci_remediation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.orphan_ci_remediation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:58</sys_created_on><sys_id>ceba3c4edb9abb00efd54a92ba9619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.orphan_ci_remediation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_ceba3c4edb9abb00efd54a92ba9619de</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:58</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=ceba3c4edb9abb00efd54a92ba9619de\"/></record_update>]]></payload>\n<payload_hash>322044504</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba961952</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a8d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.orphan_ci_remediation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>aaba7c4e789abb00c1ff834ba393b14e</update_guid>\n<update_guid_history>aaba7c4e789abb00c1ff834ba393b14e:322044504</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_f6ca308edb9abb00efd54a92ba96195e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the project_action table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.project_action</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:18</sys_created_on><sys_id>f6ca308edb9abb00efd54a92ba96195e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.project_action</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_f6ca308edb9abb00efd54a92ba96195e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:18</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f6ca308edb9abb00efd54a92ba96195e\"/></record_update>]]></payload>\n<payload_hash>-1768984945</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>10bef4c2dbdabb00efd54a92ba961955</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b130000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.project_action</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>1fca308e329abb00afbc0d322d83f383</update_guid>\n<update_guid_history>1fca308e329abb00afbc0d322d83f383:-1768984945</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_09a103bddb3d33c0d033df8b4b9619cb</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;x-pisn-sp-task-child-activity__task&lt;/id&gt;&lt;sp_widget display_value=\"SP Task Child Activity\"&gt;97f0477ddb3d33c0d033df8b4b96199c&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-03 15:12:44&lt;/sys_created_on&gt;&lt;sys_id&gt;09a103bddb3d33c0d033df8b4b9619cb&lt;/sys_id&gt;&lt;sys_mod_count&gt;37&lt;/sys_mod_count&gt;&lt;sys_name&gt;x-pisn-sp-task-child-activity__task&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\"&gt;27e0c73ddb3d33c0d033df8b4b96192a&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Task Child Activity\"&gt;27e0c73ddb3d33c0d033df8b4b96192a&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_09a103bddb3d33c0d033df8b4b9619cb&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-17 11:51:03&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"x-pisn-sp-task-child-activity__task\"&gt;\n  &lt;div class=\"row relative\" ng-class=\"{ 'x-pisn-sp-task-child-activity__task--active': task.data.active }\"&gt;\n    &lt;div class=\"col-xs-10\"&gt;\n      &lt;span class=\"text-xs text-primary\"\n        ng-if=\"task.data.pf_widget.data.process_flow.stages.length == 0\"&gt;{{task.data.state}}&lt;/span&gt;\n      &lt;span class=\"pf-desktop\"&gt;&lt;sp-widget widget=\"task.data.pf_widget\" ng-if=\"task.data.pf_widget.data.process_flow.stages.length &gt; 0\" /&gt;&lt;/span&gt;\n      &lt;span class=\"pf-mobile\"&gt;&lt;sp-widget widget=\"task.data.pf_popup_widget\" ng-if=\"task.data.pf_popup_widget.data.embedded_widget.data.process_flow.stages.length &gt; 0\"/&gt;&lt;/span&gt;\n    &lt;/div&gt;\n      &lt;button class=\"btn btn-xs btn-link btn-view no-padder\" ng-click=\"c.editTask(task.data)\"&gt;\n        &lt;span&gt;${View}&lt;/span&gt;\n        &lt;i class=\"fa fa-clone fa-flip-horizontal m-l-xs\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/button&gt;\n    &lt;div class=\"relative\"\n      ng-class=\"{ 'col-xs-12': !c.havePendingActions(task.data.sys_id), 'col-xs-9': c.havePendingActions(task.data.sys_id) }\"&gt;\n      &lt;div class=\"m-t-xs\"&gt;\n        {{task.data.short_description}}&lt;span class=\"text-muted text-xs\"&gt; ({{task.data.number}})&lt;/span&gt;\n      &lt;/div&gt;\n      &lt;div class=\"text-muted text-xs m-t-xs\"&gt;\n        &lt;span ng-if=\"task.data.due_date\" class=\"m-r\"&gt;\n          &lt;i class=\"fa fa-calendar m-r-xs\"&gt;&lt;/i&gt;{{task.data.due_date}}\n        &lt;/span&gt;\n        &lt;span ng-if=\"task.data.assigned_to != ''\"&gt;\n          &lt;sn-avatar primary=\"task.data.assigned_to_id\" show-presence=\"false\" enable-context-menu=\"false\" /&gt;\n          &lt;span class=\"m-l-xs\"&gt;{{task.data.assigned_to}}&lt;/span&gt;\n        &lt;/span&gt;\n        &lt;span ng-if=\"task.data.assigned_to == ''\"&gt;\n          &lt;i class=\"fa fa-user-o m-r-xs\"&gt;&lt;/i&gt;{{task.data.assigned_to}}\n          &lt;span&gt;${Unassigned}&lt;/span&gt;\n        &lt;/span&gt;\n        &lt;div class=\"collapse-circle-plus-container\" ng-if=\"task.children.length &gt; 0\"&gt;\n          &lt;div class=\"collapse-circle-plus collapse-closed\" id=\"collapseCircle{{task.id}}\"\n            ng-click=\"c.toggleTasksView(task.id); $event.stopPropagation();\"&gt;\n            &lt;div class=\"collapse-circle\"&gt;\n              &lt;div class=\"collapse-horizontal\"&gt;&lt;/div&gt;\n              &lt;div class=\"collapse-vertical\"&gt;&lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"row m-t-xs\"&gt;\n    &lt;div class=\"col-xs-12\" ng-if=\"c.hasAttachments(task.data.sys_id)\"&gt;\n      &lt;span class=\"text-muted text-xs\"&gt;${Attachments}:&lt;/span&gt;\n      &lt;div ng-repeat=\"attachment in c.data.attachments|filter:{table_sys_id: task.data.sys_id}\" class=\"text-xs\"&gt;\n        &lt;a ng-href=\"/sys_attachment.do?sys_id={{::attachment.sys_id}}&amp;view=true\" target=\"_blank\"&gt;&lt;i\n            class=\"fa fa-file-o\"&gt;&lt;/i&gt; {{::attachment.file_name}}&lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"row m-t-sm\" ng-if=\"c.havePendingActions(task.data.sys_id)\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n      &lt;div&gt;\n        &lt;button class=\"btn btn-success btn-sm m-r-xs\"\n          ng-click=\"c.approve(c.getPendingApprovalForTask(task.data.sys_id).sys_id)\"&gt;${Approve}&lt;/button&gt;\n        &lt;button class=\"btn btn-default btn-sm\"&gt;${Reject}&lt;/button&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;ol ng-model=\"task.children\" ng-if=\"task.children.length &gt; 0\" class=\"collapse\" id=\"collapseTask{{task.id}}\"&gt;\n    &lt;li ng-repeat=\"task in task.children track by task.id\" ng-include=\"'x-pisn-sp-task-child-activity__task'\"&gt;&lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1064500460</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961900</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48f70000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>x-pisn-sp-task-child-activity__task</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>edc95ade9c8eb78007283124c8030794</update_guid>\n<update_guid_history>edc95ade9c8eb78007283124c8030794:-1064500460,a109da9e128eb78003fdecf37fbd32f5:705756977,e1e4861ea74eb780d0517403ccdfccf0:-82501400,f59eb596184eb78065148990f05dfa7c:-541260450,8ce961367539bb40b0927467dd240fd9:1017195563,d767626a557d7b4037b925764d652ce6:-2033430539,4a37ee2a9f7d7b40f19ab96d66db7b84:1059052432,2856eae6d57d7b40d7f1bb53e0e2a1c3:471907792,fff4a6a6d37d7b4045b11036277ae23b:189564678,c77422a6f67d7b40165ed881dd731153:-1021300617,a2e3ea26e67d7b404603ed95bfd359d5:425858428,094266e2797d7b40a2d331f5ac0c2e4a:-1021300617,8a26681ea971b3c00f4dd0c0c1d37c5b:-1867677499,4a23e45ac171b3c09232a2f402fe11b4:1382910883,8f32e41a1271b3c042a9ddad65290c8d:497557689,c4fe9c12a071b3c01566cbd834ac2ca3:1016994922,0e6a5c12a171b3c08e1d54f28b3fc56b:-265275795,5c9994123871b3c0b83f20aed3c592f5:1977140949,7809909e4e31b3c050cec60becdc48d0:334610441,3906581ef431b3c0caf0b106d59b6e9b:322373183,2965101ec231b3c01e5ef3773a89803a:-314654764,9845dcda3431b3c03c33b3d974b483a3:863875620,ab0518da5f31b3c06170ae7408292892:-1856215564,7eb4d0dace31b3c0c11c778d0f84d475:863875620,148410dac031b3c0bbd40979b40feeac:1401975080,7b23545a7c31b3c0a9ae01dd9bd730f6:152200710,d3719c567d31b3c03bdccf43571a2384:-517199148,355d8cd24031b3c0c90534f0d39c4341:1258243786,c2fc04d22331b3c0c37c1e73aad23dab:1083000060,6e9c00d20c31b3c0c391981aa8f567be:-470813,bca30c9abefd73c09965675298825567:-15738955,b4630c9a94fd73c0fb93c67f6475ec07:-267514236,3453c89a7ffd73c01ef6414770a87491:1777876378,fb138c5aecfd73c08860ab5bff88c3db:-267514236,6c95338ebebd73c0a2c6573744d9dfe6:1944868165,2545d7ce223d73c0646dd52db191c2e4:-388135830,7029cbf59c7d33c0937cbca7b7f656a7:1247231993,d3a103bd513d33c0f27404d0efa9f53e:-568955074</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_1f0b388edb9abb00efd54a92ba9619fa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_erm_product_release table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_erm_product_release</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:26</sys_created_on><sys_id>1f0b388edb9abb00efd54a92ba9619fa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_erm_product_release</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_1f0b388edb9abb00efd54a92ba9619fa</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:26</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1f0b388edb9abb00efd54a92ba9619fa\"/></record_update>]]></payload>\n<payload_hash>65596695</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961903</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4cb90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_erm_product_release</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>fb0b788eed9abb007d5c1b534efefb38</update_guid>\n<update_guid_history>fb0b788eed9abb007d5c1b534efefb38:65596695</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_443b7c8edb9abb00efd54a92ba9619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_risk_mitigation_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_risk_mitigation_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:01</sys_created_on><sys_id>443b7c8edb9abb00efd54a92ba9619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_risk_mitigation_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_443b7c8edb9abb00efd54a92ba9619fe</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:01</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=443b7c8edb9abb00efd54a92ba9619fe\"/></record_update>]]></payload>\n<payload_hash>299057582</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4da20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_risk_mitigation_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>283bbc8ea59abb00c8f385401bf84c3c</update_guid>\n<update_guid_history>283bbc8ea59abb00c8f385401bf84c3c:299057582</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_5aea348edb9abb00efd54a92ba961959</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_release_scrum table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_release_scrum</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:49</sys_created_on><sys_id>5aea348edb9abb00efd54a92ba961959</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_release_scrum</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_5aea348edb9abb00efd54a92ba961959</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:49</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5aea348edb9abb00efd54a92ba961959\"/></record_update>]]></payload>\n<payload_hash>-390377995</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961947</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4bbe0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_release_scrum</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b6ea348e659abb008a6267fa18425a72</update_guid>\n<update_guid_history>b6ea348e659abb008a6267fa18425a72:-390377995</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_6e7b38cedb9abb00efd54a92ba9619c9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_vdr_onb_order_case table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_vdr_onb_order_case</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:17</sys_created_on><sys_id>6e7b38cedb9abb00efd54a92ba9619c9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_vdr_onb_order_case</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_6e7b38cedb9abb00efd54a92ba9619c9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:17</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6e7b38cedb9abb00efd54a92ba9619c9\"/></record_update>]]></payload>\n<payload_hash>-768647471</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba96194a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f720000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_vdr_onb_order_case</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>4b7b38ce5a9abb001c94a7be610746fb</update_guid>\n<update_guid_history>4b7b38ce5a9abb001c94a7be610746fb:-768647471</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_948b78cedb9abb00efd54a92ba961968</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_snc_sanofi_p2p_purchase_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_snc_sanofi_p2p_purchase_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:24</sys_created_on><sys_id>948b78cedb9abb00efd54a92ba961968</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_snc_sanofi_p2p_purchase_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_948b78cedb9abb00efd54a92ba961968</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:24</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=948b78cedb9abb00efd54a92ba961968\"/></record_update>]]></payload>\n<payload_hash>294295974</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f9b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_snc_sanofi_p2p_purchase_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a08b78cee19abb000b2685d0b8c5d49a</update_guid>\n<update_guid_history>a08b78cee19abb000b2685d0b8c5d49a:294295974</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_bdda708edb9abb00efd54a92ba9619ca</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the required_field_remediation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.required_field_remediation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:30</sys_created_on><sys_id>bdda708edb9abb00efd54a92ba9619ca</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.required_field_remediation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_bdda708edb9abb00efd54a92ba9619ca</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:30</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=bdda708edb9abb00efd54a92ba9619ca\"/></record_update>]]></payload>\n<payload_hash>1574949627</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961950</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b5a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.required_field_remediation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>1adab08e7d9abb00d8920c842a366715</update_guid>\n<update_guid_history>1adab08e7d9abb00d8920c842a366715:1574949627</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_c87bf4cedb9abb00efd54a92ba961962</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_mnfctops_manufacturing_tag table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_mnfctops_manufacturing_tag</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:07</sys_created_on><sys_id>c87bf4cedb9abb00efd54a92ba961962</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_mnfctops_manufacturing_tag</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_c87bf4cedb9abb00efd54a92ba961962</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:07</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c87bf4cedb9abb00efd54a92ba961962\"/></record_update>]]></payload>\n<payload_hash>-493699569</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961951</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f320000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_mnfctops_manufacturing_tag</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a07bf4ced19abb002ca2ecb368bcab88</update_guid>\n<update_guid_history>a07bf4ced19abb002ca2ecb368bcab88:-493699569</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e7babc4edb9abb00efd54a92ba961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the pm_program_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.pm_program_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:05</sys_created_on><sys_id>e7babc4edb9abb00efd54a92ba961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.pm_program_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_e7babc4edb9abb00efd54a92ba961919</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:05</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e7babc4edb9abb00efd54a92ba961919\"/></record_update>]]></payload>\n<payload_hash>1178700919</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961954</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ac40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.pm_program_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>08cabc4e869abb00d2521dc8e95dfa62</update_guid>\n<update_guid_history>08cabc4e869abb00d2521dc8e95dfa62:1178700919</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_e2c847b5db7d33c0d033df8b4b96198e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>execute</operation><source_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:43:49</sys_created_on><sys_id>e2c847b5db7d33c0d033df8b4b96198e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>ProcessFlow</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_scope_privilege_e2c847b5db7d33c0d033df8b4b96198e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:43:49</sys_updated_on><target_name>ProcessFlow</target_name><target_scope display_value=\"SP Process Flow\">ac2251abdb5c934085895845dc9619fe</target_scope><target_type>sys_script_include</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-951634204</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>14bef4c2dbdabb00efd54a92ba961957</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48a90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>ProcessFlow</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>eec847b5c97d33c0f1aaceed940a158e</update_guid>\n<update_guid_history>eec847b5c97d33c0f1aaceed940a158e:-951634204</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_18fa748edb9abb00efd54a92ba961937</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_story table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_story</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:57</sys_created_on><sys_id>18fa748edb9abb00efd54a92ba961937</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_story</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_18fa748edb9abb00efd54a92ba961937</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:57</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=18fa748edb9abb00efd54a92ba961937\"/></record_update>]]></payload>\n<payload_hash>-1302893298</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961902</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4bf10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_story</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>78fa748ed79abb003cd7793bf57c1b5b</update_guid>\n<update_guid_history>78fa748ed79abb003cd7793bf57c1b5b:-1302893298</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_36dab08edb9abb00efd54a92ba961965</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_doc table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_doc</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:34</sys_created_on><sys_id>36dab08edb9abb00efd54a92ba961965</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_doc</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_36dab08edb9abb00efd54a92ba961965</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:34</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=36dab08edb9abb00efd54a92ba961965\"/></record_update>]]></payload>\n<payload_hash>1903404759</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b710000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_doc</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>dfdab08e159abb007c35084ce3c506a1</update_guid>\n<update_guid_history>dfdab08e159abb007c35084ce3c506a1:1903404759</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_549a744edb9abb00efd54a92ba9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the change_phase table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.change_phase</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:18</sys_created_on><sys_id>549a744edb9abb00efd54a92ba9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.change_phase</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_549a744edb9abb00efd54a92ba9619b9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:18</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=549a744edb9abb00efd54a92ba9619b9\"/></record_update>]]></payload>\n<payload_hash>1257795455</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961946</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49630000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.change_phase</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>bc9ab44efa9abb0022e6b839aec77533</update_guid>\n<update_guid_history>bc9ab44efa9abb0022e6b839aec77533:1257795455</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_6d6b74cedb9abb00efd54a92ba9619ed</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_business_i_business_incident table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_business_i_business_incident</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:57</sys_created_on><sys_id>6d6b74cedb9abb00efd54a92ba9619ed</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_business_i_business_incident</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_6d6b74cedb9abb00efd54a92ba9619ed</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:57</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6d6b74cedb9abb00efd54a92ba9619ed\"/></record_update>]]></payload>\n<payload_hash>-1886152139</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961949</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ef00000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_business_i_business_incident</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>066b74ceb59abb009c720f95342da2fa</update_guid>\n<update_guid_history>066b74ceb59abb009c720f95342da2fa:-1886152139</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_8c6b34cedb9abb00efd54a92ba9619ef</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the tm_test_plan table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.tm_test_plan</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:50</sys_created_on><sys_id>8c6b34cedb9abb00efd54a92ba9619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.tm_test_plan</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_8c6b34cedb9abb00efd54a92ba9619ef</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:50</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=8c6b34cedb9abb00efd54a92ba9619ef\"/></record_update>]]></payload>\n<payload_hash>1160967499</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ec40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.tm_test_plan</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>206b74cedf9abb00e9f021bb8801202e</update_guid>\n<update_guid_history>206b74cedf9abb00e9f021bb8801202e:1160967499</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_b5fa748edb9abb00efd54a92ba9619c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sa_error_handler_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sa_error_handler_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:03</sys_created_on><sys_id>b5fa748edb9abb00efd54a92ba9619c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sa_error_handler_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_b5fa748edb9abb00efd54a92ba9619c7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:03</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=b5fa748edb9abb00efd54a92ba9619c7\"/></record_update>]]></payload>\n<payload_hash>-1380958313</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba96194f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c190000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sa_error_handler_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>56fab48e0e9abb00761bff3b6021c237</update_guid>\n<update_guid_history>56fab48e0e9abb00761bff3b6021c237:-1380958313</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_c0baf84edb9abb00efd54a92ba961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the issue table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.issue</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:50</sys_created_on><sys_id>c0baf84edb9abb00efd54a92ba961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.issue</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_c0baf84edb9abb00efd54a92ba961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:50</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c0baf84edb9abb00efd54a92ba961947\"/></record_update>]]></payload>\n<payload_hash>-2063819890</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961950</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a540000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.issue</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>ecbaf84eab9abb00dfcc86fe29df99da</update_guid>\n<update_guid_history>ecbaf84eab9abb00dfcc86fe29df99da:-2063819890</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e07bf4cedb9abb00efd54a92ba96198b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_rail_im_task_custimpact table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_rail_im_task_custimpact</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:09</sys_created_on><sys_id>e07bf4cedb9abb00efd54a92ba96198b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_rail_im_task_custimpact</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_e07bf4cedb9abb00efd54a92ba96198b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:09</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e07bf4cedb9abb00efd54a92ba96198b\"/></record_update>]]></payload>\n<payload_hash>1924519550</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961953</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f430000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_rail_im_task_custimpact</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>097bf4ce659abb00c752b81b5facfac8</update_guid>\n<update_guid_history>097bf4ce659abb00c752b81b5facfac8:1924519550</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_26c847b5db7d33c0d033df8b4b96198c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:43:49</sys_created_on><sys_id>26c847b5db7d33c0d033df8b4b96198c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_scope_privilege_26c847b5db7d33c0d033df8b4b96198c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:43:49</sys_updated_on><target_name>task</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-308473135</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>18bef4c2dbdabb00efd54a92ba961956</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48980000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>task</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>e2c847b57b7d33c03d1b3724df5baa8d</update_guid>\n<update_guid_history>e2c847b57b7d33c03d1b3724df5baa8d:-308473135</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_025bf0cedb9abb00efd54a92ba9619bd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the statemgmt_renew_lease_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.statemgmt_renew_lease_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:42</sys_created_on><sys_id>025bf0cedb9abb00efd54a92ba9619bd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.statemgmt_renew_lease_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_025bf0cedb9abb00efd54a92ba9619bd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:42</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=025bf0cedb9abb00efd54a92ba9619bd\"/></record_update>]]></payload>\n<payload_hash>832861142</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba961901</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.statemgmt_renew_lease_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>ea5bf0cec09abb00b6d0bb93217c31f9</update_guid>\n<update_guid_history>ea5bf0cec09abb00b6d0bb93217c31f9:832861142</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_309ab44edb9abb00efd54a92ba961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the change_request_imac table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.change_request_imac</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:21</sys_created_on><sys_id>309ab44edb9abb00efd54a92ba961936</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.change_request_imac</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_309ab44edb9abb00efd54a92ba961936</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:21</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=309ab44edb9abb00efd54a92ba961936\"/></record_update>]]></payload>\n<payload_hash>-1162236710</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49760000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.change_request_imac</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>5d9ab44eeb9abb00254cc897a500b3bd</update_guid>\n<update_guid_history>5d9ab44eeb9abb00254cc897a500b3bd:-1162236710</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_529af44edb9abb00efd54a92ba96198c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the dmn_decision table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.dmn_decision</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:27</sys_created_on><sys_id>529af44edb9abb00efd54a92ba96198c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.dmn_decision</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_529af44edb9abb00efd54a92ba96198c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:27</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=529af44edb9abb00efd54a92ba96198c\"/></record_update>]]></payload>\n<payload_hash>-154859779</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49a60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.dmn_decision</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>369af44e479abb0025cb9e8a1b4c12ca</update_guid>\n<update_guid_history>369af44e479abb0025cb9e8a1b4c12ca:-154859779</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_676bf4cedb9abb00efd54a92ba96192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_mnfctops_manufacturing_issue table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_mnfctops_manufacturing_issue</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:05</sys_created_on><sys_id>676bf4cedb9abb00efd54a92ba96192f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_mnfctops_manufacturing_issue</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_676bf4cedb9abb00efd54a92ba96192f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:05</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=676bf4cedb9abb00efd54a92ba96192f\"/></record_update>]]></payload>\n<payload_hash>-1096248530</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba961948</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f250000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_mnfctops_manufacturing_issue</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>887bf4cece9abb00adc9c6143710b45f</update_guid>\n<update_guid_history>887bf4cece9abb00adc9c6143710b45f:-1096248530</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_834b70cedb9abb00efd54a92ba961977</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_ti_case table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_ti_case</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:29</sys_created_on><sys_id>834b70cedb9abb00efd54a92ba961977</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_ti_case</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_834b70cedb9abb00efd54a92ba961977</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:29</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=834b70cedb9abb00efd54a92ba961977\"/></record_update>]]></payload>\n<payload_hash>-1209276867</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e4f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_ti_case</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>af4b70ce2a9abb00564106a58c0d49a8</update_guid>\n<update_guid_history>af4b70ce2a9abb00564106a58c0d49a8:-1209276867</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_a85bb0cedb9abb00efd54a92ba9619a4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_vdr_risk_asmt_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_vdr_risk_asmt_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:36</sys_created_on><sys_id>a85bb0cedb9abb00efd54a92ba9619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_vdr_risk_asmt_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_a85bb0cedb9abb00efd54a92ba9619a4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:36</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a85bb0cedb9abb00efd54a92ba9619a4\"/></record_update>]]></payload>\n<payload_hash>-780890993</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba96194e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e6f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_vdr_risk_asmt_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>8d5bf0ce7b9abb000bc36cd30b24fd06</update_guid>\n<update_guid_history>8d5bf0ce7b9abb000bc36cd30b24fd06:-780890993</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_d0eaf08edb9abb00efd54a92ba961932</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_feature table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_feature</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:41</sys_created_on><sys_id>d0eaf08edb9abb00efd54a92ba961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_feature</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_d0eaf08edb9abb00efd54a92ba961932</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:41</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=d0eaf08edb9abb00efd54a92ba961932\"/></record_update>]]></payload>\n<payload_hash>1009538705</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba961952</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b910000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_feature</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b4eaf08e2b9abb00188f5227cf000770</update_guid>\n<update_guid_history>b4eaf08e2b9abb00188f5227cf000770:1009538705</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_f92b7c8edb9abb00efd54a92ba961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_relations table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_relations</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:52</sys_created_on><sys_id>f92b7c8edb9abb00efd54a92ba961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_relations</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_f92b7c8edb9abb00efd54a92ba961908</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:52</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f92b7c8edb9abb00efd54a92ba961908\"/></record_update>]]></payload>\n<payload_hash>1658804332</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>1cbef4c2dbdabb00efd54a92ba961955</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d6d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_relations</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>922b7c8e9a9abb008fff402661864615</update_guid>\n<update_guid_history>922b7c8e9a9abb008fff402661864615:1658804332</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_table_24338331db7d33c0d033df8b4b9619f5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_instance_table\"&gt;&lt;sp_instance_table action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;class_name/&gt;&lt;color&gt;primary&lt;/color&gt;&lt;css/&gt;&lt;display_field&gt;number&lt;/display_field&gt;&lt;field_list/&gt;&lt;filter/&gt;&lt;glyph/&gt;&lt;id/&gt;&lt;maximum_entries&gt;5&lt;/maximum_entries&gt;&lt;order&gt;1&lt;/order&gt;&lt;order_by&gt;sys_updated_on&lt;/order_by&gt;&lt;order_direction&gt;asc&lt;/order_direction&gt;&lt;roles/&gt;&lt;short_description/&gt;&lt;size&gt;md&lt;/size&gt;&lt;sp_column display_value=\"1\"&gt;aaf187bddb3d33c0d033df8b4b961942&lt;/sp_column&gt;&lt;sp_page/&gt;&lt;sp_widget display_value=\"SP Task Child Activity\"&gt;97f0477ddb3d33c0d033df8b4b96199c&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_instance_table&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-03 15:19:22&lt;/sys_created_on&gt;&lt;sys_id&gt;24338331db7d33c0d033df8b4b9619f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;10&lt;/sys_mod_count&gt;&lt;sys_name&gt;Task Children Activity&lt;/sys_name&gt;&lt;sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\"&gt;27e0c73ddb3d33c0d033df8b4b96192a&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"SP Task Child Activity\"&gt;27e0c73ddb3d33c0d033df8b4b96192a&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_instance_table_24338331db7d33c0d033df8b4b9619f5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-28 17:31:16&lt;/sys_updated_on&gt;&lt;table&gt;task&lt;/table&gt;&lt;title&gt;Task Children Activity&lt;/title&gt;&lt;url/&gt;&lt;widget_parameters&gt;&lt;![CDATA[{\n\t\"view\": {\n\t\t\"value\": \"\",\n\t\t\"displayValue\": \"\"\n\t}\n}]]&gt;&lt;/widget_parameters&gt;&lt;/sp_instance_table&gt;&lt;sys_translated_text action=\"delete_multiple\" query=\"documentkey=24338331db7d33c0d033df8b4b9619f5\"/&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-770381097</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961900</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda490d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table>task</table>\n<target_name>Task Children Activity</target_name>\n<type>Instance with Table</type>\n<update_domain>global</update_domain>\n<update_guid>90211cc6ba1abb005a294eeab2695de3</update_guid>\n<update_guid_history>90211cc6ba1abb005a294eeab2695de3:-770381097,23a054c6591abb0065ef4934b0548033:58771551,52ad561647ceb780407cbadbf80c7ff8:-770381097,198dd21627ceb780b678e0e622f58a1c:58771551,c95d5ad253ceb780e19ac238ebeeb418:-2010488046,2bbd5aee343d7b40a02f77c70173e0e2:548499310,1971b01aedb1b3c0f872a89d81d87bf9:-1825066161,6404bece1ab973c0fc554261b912ea09:1609224810,b2b807b5d17d33c05a0c911ec00ade8d:642693910,53538731097d33c06abef8ff3c856c32:758294989,6c338331cc7d33c0f041b92f254ae9f6:-861621709</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_1b9a384edb9abb00efd54a92ba96196e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the dmn_requirement table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.dmn_requirement</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:31</sys_created_on><sys_id>1b9a384edb9abb00efd54a92ba96196e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.dmn_requirement</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_1b9a384edb9abb00efd54a92ba96196e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:31</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1b9a384edb9abb00efd54a92ba96196e\"/></record_update>]]></payload>\n<payload_hash>-850769602</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961903</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49ca0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.dmn_requirement</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>f39a384ed39abb00c2abee8b87990a9f</update_guid>\n<update_guid_history>f39a384ed39abb00c2abee8b87990a9f:-850769602</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_3bea748edb9abb00efd54a92ba96191c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_sprint table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_sprint</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:55</sys_created_on><sys_id>3bea748edb9abb00efd54a92ba96191c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_sprint</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_3bea748edb9abb00efd54a92ba96191c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:55</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=3bea748edb9abb00efd54a92ba96191c\"/></record_update>]]></payload>\n<payload_hash>956391539</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4be00000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_sprint</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>94fa748ecc9abb007dd514c5204bef35</update_guid>\n<update_guid_history>94fa748ecc9abb007dd514c5204bef35:956391539</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_56dab08edb9abb00efd54a92ba96194a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_defect table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_defect</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:32</sys_created_on><sys_id>56dab08edb9abb00efd54a92ba96194a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_defect</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_56dab08edb9abb00efd54a92ba96194a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:32</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=56dab08edb9abb00efd54a92ba96194a\"/></record_update>]]></payload>\n<payload_hash>-2118003414</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961947</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b650000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_defect</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b2dab08ec49abb00c4807d9fb6707b63</update_guid>\n<update_guid_history>b2dab08ec49abb00c4807d9fb6707b63:-2118003414</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_6e5bf0cedb9abb00efd54a92ba9619fb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:44</sys_created_on><sys_id>6e5bf0cedb9abb00efd54a92ba9619fb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_6e5bf0cedb9abb00efd54a92ba9619fb</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:44</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6e5bf0cedb9abb00efd54a92ba9619fb\"/></record_update>]]></payload>\n<payload_hash>-992086582</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba96194a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ea00000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>cf5b34ce839abb00fa8083aae3b40d38</update_guid>\n<update_guid_history>cf5b34ce839abb00fa8083aae3b40d38:-992086582</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_92ca308edb9abb00efd54a92ba961905</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the problem_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.problem_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:15</sys_created_on><sys_id>92ca308edb9abb00efd54a92ba961905</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.problem_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_92ca308edb9abb00efd54a92ba961905</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:15</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=92ca308edb9abb00efd54a92ba961905\"/></record_update>]]></payload>\n<payload_hash>-2010932054</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b080000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.problem_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b6ca308ee29abb0033a28985afbcb05b</update_guid>\n<update_guid_history>b6ca308ee29abb0033a28985afbcb05b:-2010932054</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_bcda708edb9abb00efd54a92ba961979</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the reconcile_duplicate_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.reconcile_duplicate_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:26</sys_created_on><sys_id>bcda708edb9abb00efd54a92ba961979</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.reconcile_duplicate_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_bcda708edb9abb00efd54a92ba961979</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:26</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=bcda708edb9abb00efd54a92ba961979\"/></record_update>]]></payload>\n<payload_hash>-1873762599</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961950</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b3f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.reconcile_duplicate_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>55da708e0b9abb00d7f1c05fc90a1a86</update_guid>\n<update_guid_history>55da708e0b9abb00d7f1c05fc90a1a86:-1873762599</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_c85bb0cedb9abb00efd54a92ba961959</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_vdr_risk_asmt_issue table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_vdr_risk_asmt_issue</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:34</sys_created_on><sys_id>c85bb0cedb9abb00efd54a92ba961959</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_vdr_risk_asmt_issue</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_c85bb0cedb9abb00efd54a92ba961959</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:34</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c85bb0cedb9abb00efd54a92ba961959\"/></record_update>]]></payload>\n<payload_hash>812219143</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961951</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e630000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_vdr_risk_asmt_issue</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>285bb0ced99abb00efc4e78b630d28a2</update_guid>\n<update_guid_history>285bb0ced99abb00efc4e78b630d28a2:812219143</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e77b78cedb9abb00efd54a92ba96194c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_vdr_onb_vendor_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_vdr_onb_vendor_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:22</sys_created_on><sys_id>e77b78cedb9abb00efd54a92ba96194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_vdr_onb_vendor_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_e77b78cedb9abb00efd54a92ba96194c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:22</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e77b78cedb9abb00efd54a92ba96194c\"/></record_update>]]></payload>\n<payload_hash>-1936258818</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961954</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f8a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_vdr_onb_vendor_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>448b78ceac9abb004a00b6c740442265</update_guid>\n<update_guid_history>448b78ceac9abb004a00b6c740442265:-1936258818</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_bec887b5db7d33c0d033df8b4b96191b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:43:49</sys_created_on><sys_id>bec887b5db7d33c0d033df8b4b96191b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sysapproval_approver</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_scope_privilege_bec887b5db7d33c0d033df8b4b96191b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:43:49</sys_updated_on><target_name>sysapproval_approver</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>1003505</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>50bef4c2dbdabb00efd54a92ba961957</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48820000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>sysapproval_approver</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>7ac887b5637d33c0ff6c6ab967f2b21c</update_guid>\n<update_guid_history>7ac887b5637d33c0ff6c6ab967f2b21c:1003505</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_0a3bbc8edb9abb00efd54a92ba9619cf</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_si_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_si_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:09</sys_created_on><sys_id>0a3bbc8edb9abb00efd54a92ba9619cf</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_si_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_0a3bbc8edb9abb00efd54a92ba9619cf</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:09</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=0a3bbc8edb9abb00efd54a92ba9619cf\"/></record_update>]]></payload>\n<payload_hash>-1985126945</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba961902</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4dd50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_si_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>223bfc8e379abb00081876ebb923cb25</update_guid>\n<update_guid_history>223bfc8e379abb00081876ebb923cb25:-1985126945</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_340bf48edb9abb00efd54a92ba9619c5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_customerservice_escalation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_customerservice_escalation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:15</sys_created_on><sys_id>340bf48edb9abb00efd54a92ba9619c5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_customerservice_escalation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_340bf48edb9abb00efd54a92ba9619c5</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:15</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=340bf48edb9abb00efd54a92ba9619c5\"/></record_update>]]></payload>\n<payload_hash>1187808470</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c660000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_customerservice_escalation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>d50b388e919abb003eb4b21106097403</update_guid>\n<update_guid_history>d50b388e919abb003eb4b21106097403:1187808470</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_53fab48edb9abb00efd54a92ba9619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_cd_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_cd_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:09</sys_created_on><sys_id>53fab48edb9abb00efd54a92ba9619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_cd_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_53fab48edb9abb00efd54a92ba9619c6</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:09</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=53fab48edb9abb00efd54a92ba9619c6\"/></record_update>]]></payload>\n<payload_hash>-797437704</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba961946</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c3e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_cd_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>7bfaf48e609abb00f21be2d39210d428</update_guid>\n<update_guid_history>7bfaf48e609abb00f21be2d39210d428:-797437704</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_69ba3c4edb9abb00efd54a92ba961991</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the kb_submission table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.kb_submission</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:56</sys_created_on><sys_id>69ba3c4edb9abb00efd54a92ba961991</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.kb_submission</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_69ba3c4edb9abb00efd54a92ba961991</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:56</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=69ba3c4edb9abb00efd54a92ba961991\"/></record_update>]]></payload>\n<payload_hash>-1032498615</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba961949</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a7a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.kb_submission</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>8eba3c4ecd9abb0002c89b70c7a2cedb</update_guid>\n<update_guid_history>8eba3c4ecd9abb0002c89b70c7a2cedb:-1032498615</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_8b7b38cedb9abb00efd54a92ba9619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_vdr_onb_vendor_case table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_vdr_onb_vendor_case</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:19</sys_created_on><sys_id>8b7b38cedb9abb00efd54a92ba9619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_vdr_onb_vendor_case</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_8b7b38cedb9abb00efd54a92ba9619fe</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:19</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=8b7b38cedb9abb00efd54a92ba9619fe\"/></record_update>]]></payload>\n<payload_hash>1777957119</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f7e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_vdr_onb_vendor_case</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a77b78ce459abb008bc2996b066e0649</update_guid>\n<update_guid_history>a77b78ce459abb008bc2996b066e0649:1777957119</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_b19af44edb9abb00efd54a92ba961919</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the comm_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.comm_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:25</sys_created_on><sys_id>b19af44edb9abb00efd54a92ba961919</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.comm_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_b19af44edb9abb00efd54a92ba961919</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:25</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=b19af44edb9abb00efd54a92ba961919\"/></record_update>]]></payload>\n<payload_hash>1187003629</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba96194f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49950000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.comm_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>969af44e179abb005e6d9bce3b83f53e</update_guid>\n<update_guid_history>969af44e179abb005e6d9bce3b83f53e:1187003629</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_d9fa748edb9abb00efd54a92ba9619ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_test table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_test</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:01</sys_created_on><sys_id>d9fa748edb9abb00efd54a92ba9619ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_test</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_d9fa748edb9abb00efd54a92ba9619ab</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:01</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=d9fa748edb9abb00efd54a92ba9619ab\"/></record_update>]]></payload>\n<payload_hash>1237776299</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba961953</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c0c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_test</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>75fa748e2a9abb008189177e478c07c4</update_guid>\n<update_guid_history>75fa748e2a9abb008189177e478c07c4:1237776299</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_fd0b388edb9abb00efd54a92ba96198e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_erm_deployment_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_erm_deployment_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:20</sys_created_on><sys_id>fd0b388edb9abb00efd54a92ba96198e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_erm_deployment_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_fd0b388edb9abb00efd54a92ba96198e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:20</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=fd0b388edb9abb00efd54a92ba96198e\"/></record_update>]]></payload>\n<payload_hash>-1667080401</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>54bef4c2dbdabb00efd54a92ba961956</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c860000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_erm_deployment_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>d60b388e459abb00afd2484b0b49a2b3</update_guid>\n<update_guid_history>d60b388e459abb00afd2484b0b49a2b3:-1667080401</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_01ba3c4edb9abb00efd54a92ba96195d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the kb_feedback_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.kb_feedback_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:54</sys_created_on><sys_id>01ba3c4edb9abb00efd54a92ba96195d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.kb_feedback_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_01ba3c4edb9abb00efd54a92ba96195d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:54</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=01ba3c4edb9abb00efd54a92ba96195d\"/></record_update>]]></payload>\n<payload_hash>-663716608</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba961901</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a6f0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.kb_feedback_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>29ba3c4e199abb00bdfb7b24074ac58e</update_guid>\n<update_guid_history>29ba3c4e199abb00bdfb7b24074ac58e:-663716608</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_266bb4cedb9abb00efd54a92ba96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_gdpr_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_gdpr_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:01</sys_created_on><sys_id>266bb4cedb9abb00efd54a92ba96193e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_gdpr_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_266bb4cedb9abb00efd54a92ba96193e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:01</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=266bb4cedb9abb00efd54a92ba96193e\"/></record_update>]]></payload>\n<payload_hash>-1104280536</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f0a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_gdpr_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>836bb4ce399abb007b2879c63ce5fa57</update_guid>\n<update_guid_history>836bb4ce399abb007b2879c63ce5fa57:-1104280536</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_519ab44edb9abb00efd54a92ba9619c0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the chat_queue_entry table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.chat_queue_entry</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:23</sys_created_on><sys_id>519ab44edb9abb00efd54a92ba9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.chat_queue_entry</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_519ab44edb9abb00efd54a92ba9619c0</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:23</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=519ab44edb9abb00efd54a92ba9619c0\"/></record_update>]]></payload>\n<payload_hash>-331345326</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49860000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.chat_queue_entry</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>719af44e289abb005bc0bd3fc75def16</update_guid>\n<update_guid_history>719af44e289abb005bc0bd3fc75def16:-331345326</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_653bbc8edb9abb00efd54a92ba961976</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_si_incident table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_si_incident</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:07</sys_created_on><sys_id>653bbc8edb9abb00efd54a92ba961976</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_si_incident</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_653bbc8edb9abb00efd54a92ba961976</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:07</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=653bbc8edb9abb00efd54a92ba961976\"/></record_update>]]></payload>\n<payload_hash>1367238368</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba961948</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4dc40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_si_incident</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>863bbc8ed69abb00bfdbc397911ec7cd</update_guid>\n<update_guid_history>863bbc8ed69abb00bfdbc397911ec7cd:1367238368</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_81aa784edb9abb00efd54a92ba96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the facilities_request_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.facilities_request_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:37</sys_created_on><sys_id>81aa784edb9abb00efd54a92ba96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.facilities_request_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_81aa784edb9abb00efd54a92ba96193d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:37</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=81aa784edb9abb00efd54a92ba96193d\"/></record_update>]]></payload>\n<payload_hash>125256744</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49fa0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.facilities_request_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a9aa784eef9abb00dc7b0bf0176c246e</update_guid>\n<update_guid_history>a9aa784eef9abb00dc7b0bf0176c246e:125256744</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_a6aab84edb9abb00efd54a92ba961985</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the incident table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.incident</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:44</sys_created_on><sys_id>a6aab84edb9abb00efd54a92ba961985</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.incident</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_a6aab84edb9abb00efd54a92ba961985</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:44</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a6aab84edb9abb00efd54a92ba961985\"/></record_update>]]></payload>\n<payload_hash>2086057329</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba96194e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a2d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.incident</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>8baab84e369abb004e6b03b6e8918db6</update_guid>\n<update_guid_history>8baab84e369abb004e6b03b6e8918db6:2086057329</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_cfba7c4edb9abb00efd54a92ba9619a8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the pm_program table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.pm_program</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:03</sys_created_on><sys_id>cfba7c4edb9abb00efd54a92ba9619a8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.pm_program</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_cfba7c4edb9abb00efd54a92ba9619a8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:03</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=cfba7c4edb9abb00efd54a92ba9619a8\"/></record_update>]]></payload>\n<payload_hash>-351696255</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba961952</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ab20000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.pm_program</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>23babc4eee9abb000b2b53a0618abc17</update_guid>\n<update_guid_history>23babc4eee9abb000b2b53a0618abc17:-351696255</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_f84b30cedb9abb00efd54a92ba961903</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_sm_legal_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_sm_legal_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:21</sys_created_on><sys_id>f84b30cedb9abb00efd54a92ba961903</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_sm_legal_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_f84b30cedb9abb00efd54a92ba961903</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:21</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f84b30cedb9abb00efd54a92ba961903\"/></record_update>]]></payload>\n<payload_hash>-818203363</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>58bef4c2dbdabb00efd54a92ba961955</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e1d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_sm_legal_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>dd4b30ce739abb0098170a34bd5e71a3</update_guid>\n<update_guid_history>dd4b30ce739abb0098170a34bd5e71a3:-818203363</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_row_eaf187bddb3d33c0d033df8b4b961940</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_row\"><sp_row action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><sp_column/><sp_container display_value=\"SP Task Child Activity - Container 1\">fdf1cbbddb3d33c0d033df8b4b96192e</sp_container><sys_class_name>sp_row</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:14:03</sys_created_on><sys_id>eaf187bddb3d33c0d033df8b4b961940</sys_id><sys_mod_count>0</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sp_row_eaf187bddb3d33c0d033df8b4b961940</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:14:03</sys_updated_on></sp_row></record_update>]]></payload>\n<payload_hash>2055738814</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba961900</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48550000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Row</type>\n<update_domain>global</update_domain>\n<update_guid>6ef187bd4a3d33c069364a0495ec7641</update_guid>\n<update_guid_history>6ef187bd4a3d33c069364a0495ec7641:2055738814</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_20baf84edb9abb00efd54a92ba9619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the itfm_budget_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.itfm_budget_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:52</sys_created_on><sys_id>20baf84edb9abb00efd54a92ba9619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.itfm_budget_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_20baf84edb9abb00efd54a92ba9619de</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:52</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=20baf84edb9abb00efd54a92ba9619de\"/></record_update>]]></payload>\n<payload_hash>1217631249</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a620000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.itfm_budget_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>89ba3c4e839abb001e5f9c3e9ed74234</update_guid>\n<update_guid_history>89ba3c4e839abb001e5f9c3e9ed74234:1217631249</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_4c2bf88edb9abb00efd54a92ba9619af</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_investigation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_investigation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:44</sys_created_on><sys_id>4c2bf88edb9abb00efd54a92ba9619af</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_investigation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_4c2bf88edb9abb00efd54a92ba9619af</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:44</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4c2bf88edb9abb00efd54a92ba9619af\"/></record_update>]]></payload>\n<payload_hash>213101015</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d3d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_investigation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>142bf88e3b9abb00556f03062ad2e0e1</update_guid>\n<update_guid_history>142bf88e3b9abb00556f03062ad2e0e1:213101015</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_5f2b7c8edb9abb00efd54a92ba961980</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_risk_avoidance_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_risk_avoidance_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:59</sys_created_on><sys_id>5f2b7c8edb9abb00efd54a92ba961980</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_risk_avoidance_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_5f2b7c8edb9abb00efd54a92ba961980</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:59</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5f2b7c8edb9abb00efd54a92ba961980\"/></record_update>]]></payload>\n<payload_hash>-1642329665</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba961947</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d960000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_risk_avoidance_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>483b7c8e899abb00bd9f181af2c9dad6</update_guid>\n<update_guid_history>483b7c8e899abb00bd9f181af2c9dad6:-1642329665</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_73dab08edb9abb00efd54a92ba9619d8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_epic table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_epic</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:38</sys_created_on><sys_id>73dab08edb9abb00efd54a92ba9619d8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_epic</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_73dab08edb9abb00efd54a92ba9619d8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:38</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=73dab08edb9abb00efd54a92ba9619d8\"/></record_update>]]></payload>\n<payload_hash>-1187139138</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba96194a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b860000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_epic</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>90eaf08e459abb00741ce1732ea4822f</update_guid>\n<update_guid_history>90eaf08e459abb00741ce1732ea4822f:-1187139138</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_9bca308edb9abb00efd54a92ba961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the project_change_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.project_change_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:20</sys_created_on><sys_id>9bca308edb9abb00efd54a92ba961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.project_change_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_9bca308edb9abb00efd54a92ba961986</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:20</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=9bca308edb9abb00efd54a92ba961986\"/></record_update>]]></payload>\n<payload_hash>-1176928531</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b1d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.project_change_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>37ca308e3d9abb00ebd962d9a91595d1</update_guid>\n<update_guid_history>37ca308e3d9abb00ebd962d9a91595d1:-1176928531</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_cd5bf0cedb9abb00efd54a92ba961909</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_vdr_risk_asmt_vdr_tiering_assessment table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_vdr_risk_asmt_vdr_tiering_assessment</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:38</sys_created_on><sys_id>cd5bf0cedb9abb00efd54a92ba961909</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_vdr_risk_asmt_vdr_tiering_assessment</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_cd5bf0cedb9abb00efd54a92ba961909</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:38</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=cd5bf0cedb9abb00efd54a92ba961909\"/></record_update>]]></payload>\n<payload_hash>-630401690</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba961951</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e7a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_vdr_risk_asmt_vdr_tiering_assessment</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>e15bf0ce4f9abb00aa4f9a0a9fbb4d6d</update_guid>\n<update_guid_history>e15bf0ce4f9abb00aa4f9a0a9fbb4d6d:-630401690</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_eb8a344edb9abb00efd54a92ba96198d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the cert_follow_on_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.cert_follow_on_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:16</sys_created_on><sys_id>eb8a344edb9abb00efd54a92ba96198d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.cert_follow_on_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_eb8a344edb9abb00efd54a92ba96198d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:16</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=eb8a344edb9abb00efd54a92ba96198d\"/></record_update>]]></payload>\n<payload_hash>-1971000729</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>5cbef4c2dbdabb00efd54a92ba961954</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda494d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.cert_follow_on_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>109a744e1b9abb0069d98498d844deb7</update_guid>\n<update_guid_history>109a744e1b9abb0069d98498d844deb7:-1971000729</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_076bb4cedb9abb00efd54a92ba9619b1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_mnfctops_breakdown table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_mnfctops_breakdown</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:03</sys_created_on><sys_id>076bb4cedb9abb00efd54a92ba9619b1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_mnfctops_breakdown</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_076bb4cedb9abb00efd54a92ba9619b1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:03</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=076bb4cedb9abb00efd54a92ba9619b1\"/></record_update>]]></payload>\n<payload_hash>-579759081</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba961902</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f160000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_mnfctops_breakdown</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>e36bf4ce9e9abb002c0ebefc265a282d</update_guid>\n<update_guid_history>e36bf4ce9e9abb002c0ebefc265a282d:-579759081</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_320b388edb9abb00efd54a92ba9619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_erm_enterprise_release_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_erm_enterprise_release_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:24</sys_created_on><sys_id>320b388edb9abb00efd54a92ba9619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_erm_enterprise_release_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_320b388edb9abb00efd54a92ba9619c6</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:24</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=320b388edb9abb00efd54a92ba9619c6\"/></record_update>]]></payload>\n<payload_hash>-1768491133</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ca40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_erm_enterprise_release_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>1f0b388e329abb00f0f9db4b59b516f7</update_guid>\n<update_guid_history>1f0b388e329abb00f0f9db4b59b516f7:-1768491133</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_53ea348edb9abb00efd54a92ba9619c3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_scrum_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_scrum_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:53</sys_created_on><sys_id>53ea348edb9abb00efd54a92ba9619c3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_scrum_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_53ea348edb9abb00efd54a92ba9619c3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:53</sys_updated_on><type>string</type><value>approval_engine</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=53ea348edb9abb00efd54a92ba9619c3\"/></record_update>]]></payload>\n<payload_hash>-1541433580</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba961946</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4bd50000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_scrum_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b3ea748eb89abb008aece864471d1e1a</update_guid>\n<update_guid_history>b3ea748eb89abb008aece864471d1e1a:-1541433580</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_695bf0cedb9abb00efd54a92ba961995</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the stale_ci_remediation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.stale_ci_remediation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:40</sys_created_on><sys_id>695bf0cedb9abb00efd54a92ba961995</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.stale_ci_remediation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_695bf0cedb9abb00efd54a92ba961995</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:40</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=695bf0cedb9abb00efd54a92ba961995\"/></record_update>]]></payload>\n<payload_hash>-464810735</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba961949</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e890000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.stale_ci_remediation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>8e5bf0ce789abb000adb0eeab9684eba</update_guid>\n<update_guid_history>8e5bf0ce789abb000adb0eeab9684eba:-464810735</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_8b5b34cedb9abb00efd54a92ba96193b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the ticket table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.ticket</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:46</sys_created_on><sys_id>8b5b34cedb9abb00efd54a92ba96193b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.ticket</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_8b5b34cedb9abb00efd54a92ba96193b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:46</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=8b5b34cedb9abb00efd54a92ba96193b\"/></record_update>]]></payload>\n<payload_hash>1593175135</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ead0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.ticket</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>235b34ce269abb00bb064d8fa069cab8</update_guid>\n<update_guid_history>235b34ce269abb00bb064d8fa069cab8:1593175135</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_af3bfc8edb9abb00efd54a92ba9619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_sm_finance_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_sm_finance_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:16</sys_created_on><sys_id>af3bfc8edb9abb00efd54a92ba9619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_sm_finance_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_af3bfc8edb9abb00efd54a92ba9619d9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:16</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=af3bfc8edb9abb00efd54a92ba9619d9\"/></record_update>]]></payload>\n<payload_hash>551775326</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba96194f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4dfa0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_sm_finance_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>404bfc8ea39abb006b36423169a7e0e6</update_guid>\n<update_guid_history>404bfc8ea39abb006b36423169a7e0e6:551775326</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_d58bb8cedb9abb00efd54a92ba961970</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_snc_workplace_he_case_base table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_snc_workplace_he_case_base</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:28</sys_created_on><sys_id>d58bb8cedb9abb00efd54a92ba961970</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_snc_workplace_he_case_base</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_d58bb8cedb9abb00efd54a92ba961970</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:28</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=d58bb8cedb9abb00efd54a92ba961970\"/></record_update>]]></payload>\n<payload_hash>988296746</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba961953</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4fb10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_snc_workplace_he_case_base</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>e18bb8cebf9abb00805626c261fa1ea1</update_guid>\n<update_guid_history>e18bb8cebf9abb00805626c261fa1ea1:988296746</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_fbfaf48edb9abb00efd54a92ba96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_communities_moderation_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_communities_moderation_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:11</sys_created_on><sys_id>fbfaf48edb9abb00efd54a92ba96192a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_communities_moderation_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_fbfaf48edb9abb00efd54a92ba96192a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:11</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=fbfaf48edb9abb00efd54a92ba96192a\"/></record_update>]]></payload>\n<payload_hash>-628495199</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>90bef4c2dbdabb00efd54a92ba961956</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c4e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_communities_moderation_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>940bf48ed39abb009d4dc16caae8358d</update_guid>\n<update_guid_history>940bf48ed39abb009d4dc16caae8358d:-628495199</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_27e0c73ddb3d33c0d033df8b4b96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_app\"><sys_app action=\"INSERT_OR_UPDATE\"><active>true</active><can_edit_in_studio>false</can_edit_in_studio><enforce_license>log</enforce_license><js_level>helsinki_es5</js_level><licensable>true</licensable><license_category>none</license_category><license_model>none</license_model><logo/><menu/><name>SP Task Child Activity</name><private>false</private><restrict_table_access>false</restrict_table_access><runtime_access_tracking>permissive</runtime_access_tracking><scope>x_pisn_sp_task_act</scope><scoped_administration>false</scoped_administration><short_description/><source>x_pisn_sp_task_act</source><store_correlation_id>REPOAPP0000001324</store_correlation_id><store_url/><sys_class_name>sys_app</sys_class_name><sys_code/><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:09:30</sys_created_on><sys_id>27e0c73ddb3d33c0d033df8b4b96192a</sys_id><sys_mod_count>6</sys_mod_count><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:49:54</sys_updated_on><template/><trackable>true</trackable><user_role/><vendor/><vendor_prefix/><version>1.1.1</version></sys_app></record_update>]]></payload>\n<payload_hash>-1614841020</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba961901</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda480d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>SP Task Child Activity</target_name>\n<type>Custom Application</type>\n<update_domain>global</update_domain>\n<update_guid>319e34c2ccdabb00ad9be81023bf0a6b</update_guid>\n<update_guid_history>319e34c2ccdabb00ad9be81023bf0a6b:-1614841020,e49ef0c245dabb00c45ef413bac00e60:164624168,0384b5be9d39bb4076c71f35a49005fb:-165141593,fd84b5bed339bb40be930fdf1ce21f03:-1328722778,02b3389ae2b1b3c03c06f494c0e6144a:-406039195,9ca3749ad2b1b3c0ee28694a927b8e21:745137691,08f0c37d093d33c058c5610923bb519e:-1942763405</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_246b74cedb9abb00efd54a92ba96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the vtb_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.vtb_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:53</sys_created_on><sys_id>246b74cedb9abb00efd54a92ba96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.vtb_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_246b74cedb9abb00efd54a92ba96193d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:53</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=246b74cedb9abb00efd54a92ba96193d\"/></record_update>]]></payload>\n<payload_hash>-2069162501</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ecf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.vtb_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>c96b74cecc9abb003eefeaddbe34fbb7</update_guid>\n<update_guid_history>c96b74cecc9abb003eefeaddbe34fbb7:-2069162501</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_4d6b74cedb9abb00efd54a92ba9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_adr_architecture_decision table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_adr_architecture_decision</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:55</sys_created_on><sys_id>4d6b74cedb9abb00efd54a92ba9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_adr_architecture_decision</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_4d6b74cedb9abb00efd54a92ba9619b9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:55</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4d6b74cedb9abb00efd54a92ba9619b9\"/></record_update>]]></payload>\n<payload_hash>503105879</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ee30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_adr_architecture_decision</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>2d6b74ceb99abb00ea76742261ac0fea</update_guid>\n<update_guid_history>2d6b74ceb99abb00ea76742261ac0fea:503105879</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_635b34cedb9abb00efd54a92ba9619bb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the tm_test_case_instance table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.tm_test_case_instance</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:48</sys_created_on><sys_id>635b34cedb9abb00efd54a92ba9619bb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.tm_test_case_instance</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_635b34cedb9abb00efd54a92ba9619bb</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:48</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=635b34cedb9abb00efd54a92ba9619bb\"/></record_update>]]></payload>\n<payload_hash>-2036067694</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba961948</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4eb90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.tm_test_case_instance</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>4c6b34ce519abb0045ccab772d5eb0ec</update_guid>\n<update_guid_history>4c6b34ce519abb0045ccab772d5eb0ec:-2036067694</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_804bfc8edb9abb00efd54a92ba9619e9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_sm_finance_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_sm_finance_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:18</sys_created_on><sys_id>804bfc8edb9abb00efd54a92ba9619e9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_sm_finance_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_804bfc8edb9abb00efd54a92ba9619e9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:18</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=804bfc8edb9abb00efd54a92ba9619e9\"/></record_update>]]></payload>\n<payload_hash>-1770036548</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e120000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_sm_finance_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>3c4b30ce719abb0055c868487718c801</update_guid>\n<update_guid_history>3c4b30ce719abb0055c868487718c801:-1770036548</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_a41b788edb9abb00efd54a92ba9619b8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_grc_issue table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_grc_issue</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:30</sys_created_on><sys_id>a41b788edb9abb00efd54a92ba9619b8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_grc_issue</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_a41b788edb9abb00efd54a92ba9619b8</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:30</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a41b788edb9abb00efd54a92ba9619b8\"/></record_update>]]></payload>\n<payload_hash>-1509914395</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba96194e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4cde0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_grc_issue</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>3c1bb88ea59abb00c94f9c08f63f8902</update_guid>\n<update_guid_history>3c1bb88ea59abb00c94f9c08f63f8902:-1509914395</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_cf2b7c8edb9abb00efd54a92ba96194c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:57</sys_created_on><sys_id>cf2b7c8edb9abb00efd54a92ba96194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_cf2b7c8edb9abb00efd54a92ba96194c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:57</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=cf2b7c8edb9abb00efd54a92ba96194c\"/></record_update>]]></payload>\n<payload_hash>-1484721303</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba961952</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d8b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>db2b7c8ea69abb009b6269ea7a4a537e</update_guid>\n<update_guid_history>db2b7c8ea69abb009b6269ea7a4a537e:-1484721303</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_f82bf88edb9abb00efd54a92ba9619fe</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_payroll table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_payroll</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:48</sys_created_on><sys_id>f82bf88edb9abb00efd54a92ba9619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_payroll</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_f82bf88edb9abb00efd54a92ba9619fe</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:48</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f82bf88edb9abb00efd54a92ba9619fe\"/></record_update>]]></payload>\n<payload_hash>-1356439846</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>94bef4c2dbdabb00efd54a92ba961955</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d560000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_payroll</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>952b3c8e249abb00ef6cce428915716d</update_guid>\n<update_guid_history>952b3c8e249abb00ef6cce428915716d:-1356439846</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_d5b143bddb3d33c0d033df8b4b9619f1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"DELETE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>sp_task_child_activity</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:13:26</sys_created_on><sys_id>d5b143bddb3d33c0d033df8b4b9619f1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_task_child_activity</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sp_page_d5b143bddb3d33c0d033df8b4b9619f1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:13:26</sys_updated_on><title>SP Task Child Activity</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=d5b143bddb3d33c0d033df8b4b9619f1\"/></record_update>]]></payload>\n<payload_hash>-1976460213</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba961900</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48290000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>sp_task_child_activity</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>54e107bd0b3d33c022715c9531a68aea</update_guid>\n<update_guid_history>54e107bd0b3d33c022715c9531a68aea:-1976460213,a5d143bdb03d33c0066be7d4b7f55e70:1722073431</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_208b78cedb9abb00efd54a92ba9619ce</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_snc_sanofi_p2p_purchase_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_snc_sanofi_p2p_purchase_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:26</sys_created_on><sys_id>208b78cedb9abb00efd54a92ba9619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_snc_sanofi_p2p_purchase_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_208b78cedb9abb00efd54a92ba9619ce</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:26</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=208b78cedb9abb00efd54a92ba9619ce\"/></record_update>]]></payload>\n<payload_hash>520316388</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4fa60000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_snc_sanofi_p2p_purchase_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>458bb8cee09abb00a9d2dff6c210696e</update_guid>\n<update_guid_history>458bb8cee09abb00a9d2dff6c210696e:520316388</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_4c1b788edb9abb00efd54a92ba96193a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_grc_indicator_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_grc_indicator_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:28</sys_created_on><sys_id>4c1b788edb9abb00efd54a92ba96193a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_grc_indicator_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_4c1b788edb9abb00efd54a92ba96193a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:28</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4c1b788edb9abb00efd54a92ba96193a\"/></record_update>]]></payload>\n<payload_hash>-479625227</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4cc90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_grc_indicator_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a81b788e849abb002150925551c87f90</update_guid>\n<update_guid_history>a81b788e849abb002150925551c87f90:-479625227</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_5efab48edb9abb00efd54a92ba961946</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the service_process_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.service_process_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:05</sys_created_on><sys_id>5efab48edb9abb00efd54a92ba961946</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.service_process_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_5efab48edb9abb00efd54a92ba961946</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:05</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5efab48edb9abb00efd54a92ba961946\"/></record_update>]]></payload>\n<payload_hash>2000837016</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba961947</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c250000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.service_process_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>fafab48e239abb0056fe8c3a81e4d15f</update_guid>\n<update_guid_history>fafab48e239abb0056fe8c3a81e4d15f:2000837016</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_73ca708edb9abb00efd54a92ba961906</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the reclassification_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.reclassification_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:22</sys_created_on><sys_id>73ca708edb9abb00efd54a92ba961906</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.reclassification_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_73ca708edb9abb00efd54a92ba961906</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:22</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=73ca708edb9abb00efd54a92ba961906\"/></record_update>]]></payload>\n<payload_hash>1371857440</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba96194a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b2a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.reclassification_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>14da708ec79abb007ee660569ade6a44</update_guid>\n<update_guid_history>14da708ec79abb007ee660569ade6a44:1371857440</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_99da708edb9abb00efd54a92ba961989</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the release_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.release_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:28</sys_created_on><sys_id>99da708edb9abb00efd54a92ba961989</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.release_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_99da708edb9abb00efd54a92ba961989</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:28</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=99da708edb9abb00efd54a92ba961989\"/></record_update>]]></payload>\n<payload_hash>766117234</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b4e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.release_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>7dda708e469abb00642800c53e6070c7</update_guid>\n<update_guid_history>7dda708e469abb00642800c53e6070c7:766117234</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_cbaab84edb9abb00efd54a92ba9619b9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the incident_alert_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.incident_alert_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:46</sys_created_on><sys_id>cbaab84edb9abb00efd54a92ba9619b9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.incident_alert_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_cbaab84edb9abb00efd54a92ba9619b9</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:46</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=cbaab84edb9abb00efd54a92ba9619b9\"/></record_update>]]></payload>\n<payload_hash>965100234</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba961951</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a390000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.incident_alert_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>2faab84e1c9abb002269fc9ba38b5dde</update_guid>\n<update_guid_history>2faab84e1c9abb002269fc9ba38b5dde:965100234</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_eaba7c4edb9abb00efd54a92ba961951</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the planned_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.planned_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:01</sys_created_on><sys_id>eaba7c4edb9abb00efd54a92ba961951</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.planned_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_eaba7c4edb9abb00efd54a92ba961951</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:01</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=eaba7c4edb9abb00efd54a92ba961951\"/></record_update>]]></payload>\n<payload_hash>145073499</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>98bef4c2dbdabb00efd54a92ba961954</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a9d0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.planned_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>4fba7c4e069abb004fb47ba2004d96a6</update_guid>\n<update_guid_history>4fba7c4e069abb004fb47ba2004d96a6:145073499</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>DELETE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_instance_14020fbddb3d33c0d033df8b4b9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_instance\"><sp_instance action=\"DELETE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"1\">aaf187bddb3d33c0d033df8b4b961942</sp_column><sp_widget display_value=\"SP Task Child Activity\">97f0477ddb3d33c0d033df8b4b96199c</sp_widget><sys_class_name>sp_instance</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:14:11</sys_created_on><sys_id>14020fbddb3d33c0d033df8b4b9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name/><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sp_instance_14020fbddb3d33c0d033df8b4b9619a3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:14:11</sys_updated_on><title/><url/><widget_parameters/></sp_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=14020fbddb3d33c0d033df8b4b9619a3\"/></record_update>]]></payload>\n<payload_hash>-1660064658</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>9cbeb4c2dbdabb00efd54a92ba9619ff</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48620000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name/>\n<type>Instance</type>\n<update_domain>global</update_domain>\n<update_guid>4e238331ed7d33c02cc67c97a71d7ecf</update_guid>\n<update_guid_history>4e238331ed7d33c02cc67c97a71d7ecf:-1660064658,2c020fbd673d33c0da956b9761f204a4:-399364486</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_1a0b388edb9abb00efd54a92ba9619b6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_erm_enterprise_release table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_erm_enterprise_release</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:22</sys_created_on><sys_id>1a0b388edb9abb00efd54a92ba9619b6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_erm_enterprise_release</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_1a0b388edb9abb00efd54a92ba9619b6</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:22</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=1a0b388edb9abb00efd54a92ba9619b6\"/></record_update>]]></payload>\n<payload_hash>75406689</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961902</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c960000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_erm_enterprise_release</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>fe0b388e889abb0040e14d39b715eec2</update_guid>\n<update_guid_history>fe0b388e889abb0040e14d39b715eec2:75406689</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_38cafc4edb9abb00efd54a92ba961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the pm_project_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.pm_project_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:09</sys_created_on><sys_id>38cafc4edb9abb00efd54a92ba961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.pm_project_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_38cafc4edb9abb00efd54a92ba961947</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:09</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=38cafc4edb9abb00efd54a92ba961947\"/></record_update>]]></payload>\n<payload_hash>-1626223966</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4adf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.pm_project_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>1dcafc4e6c9abb00c6287d953b558084</update_guid>\n<update_guid_history>1dcafc4e6c9abb00c6287d953b558084:-1626223966</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_550b388edb9abb00efd54a92ba961937</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_customerservice_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_customerservice_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:18</sys_created_on><sys_id>550b388edb9abb00efd54a92ba961937</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_customerservice_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_550b388edb9abb00efd54a92ba961937</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:18</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=550b388edb9abb00efd54a92ba961937\"/></record_update>]]></payload>\n<payload_hash>1436014918</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961946</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c740000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_customerservice_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>7d0b388ef69abb00174b392abe9e618c</update_guid>\n<update_guid_history>7d0b388ef69abb00174b392abe9e618c:1436014918</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_6daa784edb9abb00efd54a92ba9619c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the gsw_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.gsw_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:40</sys_created_on><sys_id>6daa784edb9abb00efd54a92ba9619c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.gsw_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_6daa784edb9abb00efd54a92ba9619c7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:40</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6daa784edb9abb00efd54a92ba9619c7\"/></record_update>]]></payload>\n<payload_hash>959597030</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961949</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a080000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.gsw_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>8aaa784eef9abb0081e1719ba66f93d2</update_guid>\n<update_guid_history>8aaa784eef9abb0081e1719ba66f93d2:959597030</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_8f3bfc8edb9abb00efd54a92ba96198c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_si_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_si_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:14</sys_created_on><sys_id>8f3bfc8edb9abb00efd54a92ba96198c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_si_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_8f3bfc8edb9abb00efd54a92ba96198c</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:14</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=8f3bfc8edb9abb00efd54a92ba96198c\"/></record_update>]]></payload>\n<payload_hash>461414265</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4dec0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_si_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>e73bfc8e339abb0034fa726b24dfbdd7</update_guid>\n<update_guid_history>e73bfc8e339abb0034fa726b24dfbdd7:461414265</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_b9ea348edb9abb00efd54a92ba96193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_release_phase table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_release_phase</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:47</sys_created_on><sys_id>b9ea348edb9abb00efd54a92ba96193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_release_phase</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_b9ea348edb9abb00efd54a92ba96193d</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:47</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=b9ea348edb9abb00efd54a92ba96193d\"/></record_update>]]></payload>\n<payload_hash>-1116393352</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba96194f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4bb40000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_release_phase</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>1aea348e1c9abb008ff97cfc25dfc456</update_guid>\n<update_guid_history>1aea348e1c9abb008ff97cfc25dfc456:-1116393352</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_c53bbc8edb9abb00efd54a92ba96194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_risk_transfer_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_risk_transfer_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:05</sys_created_on><sys_id>c53bbc8edb9abb00efd54a92ba96194e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_risk_transfer_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_c53bbc8edb9abb00efd54a92ba96194e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:05</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c53bbc8edb9abb00efd54a92ba96194e\"/></record_update>]]></payload>\n<payload_hash>704518530</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961950</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4dba0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_risk_transfer_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>253bbc8e4b9abb0069b85b6296047273</update_guid>\n<update_guid_history>253bbc8e4b9abb0069b85b6296047273:704518530</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e31bf88edb9abb00efd54a92ba961994</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_global_mobility table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_global_mobility</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:42</sys_created_on><sys_id>e31bf88edb9abb00efd54a92ba961994</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_global_mobility</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_e31bf88edb9abb00efd54a92ba961994</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:42</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e31bf88edb9abb00efd54a92ba961994\"/></record_update>]]></payload>\n<payload_hash>-901155780</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961953</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d310000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_global_mobility</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>3f1bf88e729abb008236afddedca28ac</update_guid>\n<update_guid_history>3f1bf88e729abb008236afddedca28ac:-901155780</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_66c887b5db7d33c0d033df8b4b96191a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:43:49</sys_created_on><sys_id>66c887b5db7d33c0d033df8b4b96191a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sys_attachment</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_scope_privilege_66c887b5db7d33c0d033df8b4b96191a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:43:49</sys_updated_on><target_name>sys_attachment</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>-253386095</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>9cbef4c2dbdabb00efd54a92ba961956</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48b80000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>sys_attachment</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>22c887b5747d33c0483811c48966231b</update_guid>\n<update_guid_history>22c887b5747d33c0483811c48966231b:-253386095</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_column_aaf187bddb3d33c0d033df8b4b961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_column\"><sp_column action=\"INSERT_OR_UPDATE\"><class_name/><order>1</order><size>9</size><size_lg/><size_sm/><size_xs/><sp_row display_value=\"1\">eaf187bddb3d33c0d033df8b4b961940</sp_row><sys_class_name>sp_column</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:14:03</sys_created_on><sys_id>aaf187bddb3d33c0d033df8b4b961942</sys_id><sys_mod_count>1</sys_mod_count><sys_name>1</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sp_column_aaf187bddb3d33c0d033df8b4b961942</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-04 17:53:36</sys_updated_on></sp_column></record_update>]]></payload>\n<payload_hash>-971626294</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>d0beb4c2dbdabb00efd54a92ba9619ff</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48d10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>1</target_name>\n<type>Column</type>\n<update_domain>global</update_domain>\n<update_guid>d510b496bbb1b3c0501613cb89e6d14f</update_guid>\n<update_guid_history>d510b496bbb1b3c0501613cb89e6d14f:-971626294,aaf187bd413d33c0b2d3c7dd3e01ae43:1216050476</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sysrule_approvals_cad9380edb9abb00efd54a92ba9619f6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sysrule_approvals\"><sysrule_approvals action=\"INSERT_OR_UPDATE\"><active>true</active><condition table=\"rm_scrum_task\">hours&gt;=16^EQ<item endquery=\"false\" field=\"hours\" goto=\"false\" newquery=\"false\" operator=\"&gt;=\" or=\"false\" value=\"16\"/><item endquery=\"true\" field=\"\" goto=\"false\" newquery=\"false\" operator=\"=\" or=\"false\" value=\"\"/></condition><description/><group/><match_conditions>ALL</match_conditions><name>Test</name><optional_group/><order>100</order><run_rule_before>true</run_rule_before><script/><set_state>requested</set_state><sys_class_name>sysrule_approvals</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:31:46</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>cad9380edb9abb00efd54a92ba9619f6</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Test</sys_name><sys_overrides/><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sysrule_approvals_cad9380edb9abb00efd54a92ba9619f6</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:39:39</sys_updated_on><table>rm_scrum_task</table><user display_value=\"Fabio Petito\">21039a56dbb997005c025a6adc9619db</user></sysrule_approvals></record_update>]]></payload>\n<payload_hash>1840434189</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba961901</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4fc00000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table>rm_scrum_task</table>\n<target_name>Test</target_name>\n<type>Approval Rules</type>\n<update_domain>global</update_domain>\n<update_guid>f73cb80292dabb00b9dc8614d4e3523a</update_guid>\n<update_guid_history>f73cb80292dabb00b9dc8614d4e3523a:1840434189,147abc0eba9abb00f51227764a7cea43:1674373064</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_234b70cedb9abb00efd54a92ba9619ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_vdr_risk_asmt_assessment table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_vdr_risk_asmt_assessment</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:32</sys_created_on><sys_id>234b70cedb9abb00efd54a92ba9619ab</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_vdr_risk_asmt_assessment</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_234b70cedb9abb00efd54a92ba9619ab</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:32</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=234b70cedb9abb00efd54a92ba9619ab\"/></record_update>]]></payload>\n<payload_hash>-137530708</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e590000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_vdr_risk_asmt_assessment</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>485bb0ce119abb0091e71b0e02508657</update_guid>\n<update_guid_history>485bb0ce119abb0091e71b0e02508657:-137530708</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_4d1bb88edb9abb00efd54a92ba961905</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_grc_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_grc_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:32</sys_created_on><sys_id>4d1bb88edb9abb00efd54a92ba961905</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_grc_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_4d1bb88edb9abb00efd54a92ba961905</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:32</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4d1bb88edb9abb00efd54a92ba961905\"/></record_update>]]></payload>\n<payload_hash>966953925</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ceb0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_grc_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>111bb88ed79abb003d8bc7b29bf41812</update_guid>\n<update_guid_history>111bb88ed79abb003d8bc7b29bf41812:966953925</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_621bb88edb9abb00efd54a92ba9619a3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_corporate_communication table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_corporate_communication</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:38</sys_created_on><sys_id>621bb88edb9abb00efd54a92ba9619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_corporate_communication</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_621bb88edb9abb00efd54a92ba9619a3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:38</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=621bb88edb9abb00efd54a92ba9619a3\"/></record_update>]]></payload>\n<payload_hash>1923954257</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba961948</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d120000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_corporate_communication</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>7e1bb88e9e9abb001a6c069522ce2df8</update_guid>\n<update_guid_history>7e1bb88e9e9abb001a6c069522ce2df8:1923954257</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_7efab48edb9abb00efd54a92ba961961</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sm_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sm_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:07</sys_created_on><sys_id>7efab48edb9abb00efd54a92ba961961</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sm_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_7efab48edb9abb00efd54a92ba961961</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:07</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=7efab48edb9abb00efd54a92ba961961\"/></record_update>]]></payload>\n<payload_hash>2137707871</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c320000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sm_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>dffab48ee69abb00af83c5ea427ff9c3</update_guid>\n<update_guid_history>dffab48ee69abb00af83c5ea427ff9c3:2137707871</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_a23bfc8edb9abb00efd54a92ba961927</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_si_scan_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_si_scan_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:11</sys_created_on><sys_id>a23bfc8edb9abb00efd54a92ba961927</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_si_scan_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_a23bfc8edb9abb00efd54a92ba961927</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:11</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=a23bfc8edb9abb00efd54a92ba961927\"/></record_update>]]></payload>\n<payload_hash>-2001046703</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba96194e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4de10000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_si_scan_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>0b3bfc8ebc9abb00fbf1295af511de64</update_guid>\n<update_guid_history>0b3bfc8ebc9abb00fbf1295af511de64:-2001046703</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_cf1bf88edb9abb00efd54a92ba961952</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_ethics table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_ethics</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:40</sys_created_on><sys_id>cf1bf88edb9abb00efd54a92ba961952</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_ethics</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_cf1bf88edb9abb00efd54a92ba961952</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:40</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=cf1bf88edb9abb00efd54a92ba961952\"/></record_update>]]></payload>\n<payload_hash>437358683</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba961952</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d250000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_ethics</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>a31bf88e169abb00e8a69826891d5c91</update_guid>\n<update_guid_history>a31bf88e169abb00e8a69826891d5c91:437358683</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_f6ea348edb9abb00efd54a92ba961975</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_release_sdlc table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_release_sdlc</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:51</sys_created_on><sys_id>f6ea348edb9abb00efd54a92ba961975</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_release_sdlc</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_f6ea348edb9abb00efd54a92ba961975</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:51</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f6ea348edb9abb00efd54a92ba961975\"/></record_update>]]></payload>\n<payload_hash>1982371097</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d0bef4c2dbdabb00efd54a92ba961955</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4bc90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_release_sdlc</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>93ea348ec09abb0096f5b59ddaa089a7</update_guid>\n<update_guid_history>93ea348ec09abb0096f5b59ddaa089a7:1982371097</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_page_5de107bddb3d33c0d033df8b4b96195b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_page\"><sp_page action=\"INSERT_OR_UPDATE\"><category>custom</category><css/><draft>false</draft><dynamic_title_structure/><id>sp_task_child_activity</id><internal>false</internal><public>false</public><roles/><short_description/><sys_class_name>sp_page</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:13:48</sys_created_on><sys_id>5de107bddb3d33c0d033df8b4b96195b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_task_child_activity</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sp_page_5de107bddb3d33c0d033df8b4b96195b</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:13:48</sys_updated_on><title>SP Task Child Activity</title></sp_page><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5de107bddb3d33c0d033df8b4b96195b\"/></record_update>]]></payload>\n<payload_hash>1722073431</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba961900</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48470000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>sp_task_child_activity</target_name>\n<type>Page</type>\n<update_domain>global</update_domain>\n<update_guid>b2e147bd2e3d33c0914c037e34bd7ed5</update_guid>\n<update_guid_history>b2e147bd2e3d33c0914c037e34bd7ed5:1722073431</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_4a7b38cedb9abb00efd54a92ba9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_sp_feedback_submission table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_sp_feedback_submission</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:15</sys_created_on><sys_id>4a7b38cedb9abb00efd54a92ba9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_sp_feedback_submission</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_4a7b38cedb9abb00efd54a92ba9619a2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:15</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=4a7b38cedb9abb00efd54a92ba9619a2\"/></record_update>]]></payload>\n<payload_hash>-2056540611</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f670000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_sp_feedback_submission</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>ae7b38cea29abb00d2b6ed042cb1fcad</update_guid>\n<update_guid_history>ae7b38cea29abb00d2b6ed042cb1fcad:-2056540611</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_5deaf08edb9abb00efd54a92ba9619e4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_release table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_release</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:45</sys_created_on><sys_id>5deaf08edb9abb00efd54a92ba9619e4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_release</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_5deaf08edb9abb00efd54a92ba9619e4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:45</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=5deaf08edb9abb00efd54a92ba9619e4\"/></record_update>]]></payload>\n<payload_hash>-1825484604</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba961947</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4ba90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_release</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>79ea348e5b9abb0009ed2bd8a2294b3a</update_guid>\n<update_guid_history>79ea348e5b9abb0009ed2bd8a2294b3a:-1825484604</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_6faab84edb9abb00efd54a92ba9619e1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the incident_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.incident_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:48</sys_created_on><sys_id>6faab84edb9abb00efd54a92ba9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.incident_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_6faab84edb9abb00efd54a92ba9619e1</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:48</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6faab84edb9abb00efd54a92ba9619e1\"/></record_update>]]></payload>\n<payload_hash>-1723049561</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba96194a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a470000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.incident_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>40baf84e029abb00684648d02b058945</update_guid>\n<update_guid_history>40baf84e029abb00684648d02b058945:-1723049561</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_94da708edb9abb00efd54a92ba961946</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the recommended_field_remediation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.recommended_field_remediation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:24</sys_created_on><sys_id>94da708edb9abb00efd54a92ba961946</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.recommended_field_remediation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_94da708edb9abb00efd54a92ba961946</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:24</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=94da708edb9abb00efd54a92ba961946\"/></record_update>]]></payload>\n<payload_hash>1383286161</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba96194d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b340000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.recommended_field_remediation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>7cda708ec59abb0041892525e498d376</update_guid>\n<update_guid_history>7cda708ec59abb0041892525e498d376:1383286161</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_caaab84edb9abb00efd54a92ba96191f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the idea table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.idea</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:42</sys_created_on><sys_id>caaab84edb9abb00efd54a92ba96191f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.idea</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_caaab84edb9abb00efd54a92ba96191f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:42</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=caaab84edb9abb00efd54a92ba96191f\"/></record_update>]]></payload>\n<payload_hash>194846880</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba961951</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4a170000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.idea</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>eeaab84e4f9abb006ff9d1166038b182</update_guid>\n<update_guid_history>eeaab84e4f9abb006ff9d1166038b182:194846880</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e82bf88edb9abb00efd54a92ba9619e3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_operations table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_operations</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:46</sys_created_on><sys_id>e82bf88edb9abb00efd54a92ba9619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_operations</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_e82bf88edb9abb00efd54a92ba9619e3</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:46</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e82bf88edb9abb00efd54a92ba9619e3\"/></record_update>]]></payload>\n<payload_hash>717115775</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d4bef4c2dbdabb00efd54a92ba961954</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d4a0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_operations</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>782bf88eb49abb00c284601e8a87cdfc</update_guid>\n<update_guid_history>782bf88eb49abb00c284601e8a87cdfc:717115775</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sp_container_fdf1cbbddb3d33c0d033df8b4b96192e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_container\"><sp_container action=\"INSERT_OR_UPDATE\"><background_color/><background_image/><background_style>default</background_style><bootstrap_alt>false</bootstrap_alt><class_name>m-t</class_name><container_class_name/><name>SP Task Child Activity - Container 1</name><order>1</order><sp_page display_value=\"sp_task_child_activity\">5de107bddb3d33c0d033df8b4b96195b</sp_page><subheader>false</subheader><sys_class_name>sp_container</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:14:00</sys_created_on><sys_id>fdf1cbbddb3d33c0d033df8b4b96192e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>SP Task Child Activity - Container 1</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sp_container_fdf1cbbddb3d33c0d033df8b4b96192e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-04 17:54:17</sys_updated_on><title/><width>container</width></sp_container></record_update>]]></payload>\n<payload_hash>-842751431</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>d8beb4c2dbdabb00efd54a92ba9619ff</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48e30000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>SP Task Child Activity - Container 1</target_name>\n<type>Container</type>\n<update_domain>global</update_domain>\n<update_guid>1f303896c0b1b3c03f8ae8b6870751b4</update_guid>\n<update_guid_history>1f303896c0b1b3c03f8ae8b6870751b4:-842751431,c0307496bdb1b3c0a42ac32989164183:-792330136,f1f1cbbd953d33c09f1180330f326830:1433554159</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_192b3c8edb9abb00efd54a92ba9619c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_performance table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_performance</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:50</sys_created_on><sys_id>192b3c8edb9abb00efd54a92ba9619c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_performance</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_192b3c8edb9abb00efd54a92ba9619c7</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:50</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=192b3c8edb9abb00efd54a92ba9619c7\"/></record_update>]]></payload>\n<payload_hash>-1918931451</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961902</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d620000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_performance</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>b92b7c8e199abb002893695001652e05</update_guid>\n<update_guid_history>b92b7c8e199abb002893695001652e05:-1918931451</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_379a384edb9abb00efd54a92ba9619a2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the em_ci_severity_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.em_ci_severity_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:33</sys_created_on><sys_id>379a384edb9abb00efd54a92ba9619a2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.em_ci_severity_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_379a384edb9abb00efd54a92ba9619a2</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:33</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=379a384edb9abb00efd54a92ba9619a2\"/></record_update>]]></payload>\n<payload_hash>743018714</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49da0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.em_ci_severity_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>14aa384efe9abb00989cdff81917b2c7</update_guid>\n<update_guid_history>14aa384efe9abb00989cdff81917b2c7:743018714</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_54aa384edb9abb00efd54a92ba9619ca</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the facilities_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.facilities_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:35</sys_created_on><sys_id>54aa384edb9abb00efd54a92ba9619ca</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.facilities_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_54aa384edb9abb00efd54a92ba9619ca</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:35</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=54aa384edb9abb00efd54a92ba9619ca\"/></record_update>]]></payload>\n<payload_hash>-1633289426</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961946</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49e90000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.facilities_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>41aa784e749abb0048a0c10ea95aa33a</update_guid>\n<update_guid_history>41aa784e749abb0048a0c10ea95aa33a:-1633289426</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_6d7b38cedb9abb00efd54a92ba961955</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_rail_im_task_staffimpact table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_rail_im_task_staffimpact</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:13</sys_created_on><sys_id>6d7b38cedb9abb00efd54a92ba961955</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_rail_im_task_staffimpact</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_6d7b38cedb9abb00efd54a92ba961955</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:13</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=6d7b38cedb9abb00efd54a92ba961955\"/></record_update>]]></payload>\n<payload_hash>-688919085</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961949</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f5c0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_rail_im_task_staffimpact</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>ca7b38ce3f9abb0050064ac44cfaf46e</update_guid>\n<update_guid_history>ca7b38ce3f9abb0050064ac44cfaf46e:-688919085</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_8e4b70cedb9abb00efd54a92ba961932</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_sm_marketing_request table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_sm_marketing_request</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:25</sys_created_on><sys_id>8e4b70cedb9abb00efd54a92ba961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_sm_marketing_request</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_8e4b70cedb9abb00efd54a92ba961932</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:25</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=8e4b70cedb9abb00efd54a92ba961932\"/></record_update>]]></payload>\n<payload_hash>-1073937430</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba96194c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e380000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_sm_marketing_request</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>9a4b70ce639abb00c4181d1183ab6264</update_guid>\n<update_guid_history>9a4b70ce639abb00c4181d1183ab6264:-1073937430</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_b69af44edb9abb00efd54a92ba9619cc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the dmn_demand table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.dmn_demand</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:32:29</sys_created_on><sys_id>b69af44edb9abb00efd54a92ba9619cc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.dmn_demand</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_b69af44edb9abb00efd54a92ba9619cc</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:32:29</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=b69af44edb9abb00efd54a92ba9619cc\"/></record_update>]]></payload>\n<payload_hash>-1180129014</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba96194f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda49ba0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.dmn_demand</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>979a384e109abb008d2084564e4c516c</update_guid>\n<update_guid_history>979a384e109abb008d2084564e4c516c:-1180129014</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_c21bb88edb9abb00efd54a92ba96196f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_compensation table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_compensation</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:36</sys_created_on><sys_id>c21bb88edb9abb00efd54a92ba96196f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_compensation</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_c21bb88edb9abb00efd54a92ba96196f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:36</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=c21bb88edb9abb00efd54a92ba96196f\"/></record_update>]]></payload>\n<payload_hash>-2121468023</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961950</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d050000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_compensation</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>ee1bb88e329abb008e4b8a1d85ef79a0</update_guid>\n<update_guid_history>ee1bb88e329abb008e4b8a1d85ef79a0:-2121468023</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e22b7c8edb9abb00efd54a92ba961918</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_hr_core_case_talent_management table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_hr_core_case_talent_management</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:55</sys_created_on><sys_id>e22b7c8edb9abb00efd54a92ba961918</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_hr_core_case_talent_management</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_e22b7c8edb9abb00efd54a92ba961918</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:55</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e22b7c8edb9abb00efd54a92ba961918\"/></record_update>]]></payload>\n<payload_hash>1788899659</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961953</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4d7e0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_hr_core_case_talent_management</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>fe2b7c8ede9abb00a17f8ead3f0d3f49</update_guid>\n<update_guid_history>fe2b7c8ede9abb00a17f8ead3f0d3f49:1788899659</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_scope_privilege_3337cb35db7d33c0d033df8b4b96195a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_scope_privilege\"><sys_scope_privilege action=\"INSERT_OR_UPDATE\"><operation>read</operation><source_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</source_scope><status>allowed</status><sys_class_name>sys_scope_privilege</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-03 15:37:05</sys_created_on><sys_id>3337cb35db7d33c0d033df8b4b96195a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>incident</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_scope_privilege_3337cb35db7d33c0d033df8b4b96195a</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-03 15:37:05</sys_updated_on><target_name>incident</target_name><target_scope display_value=\"Global\">global</target_scope><target_type>sys_db_object</target_type></sys_scope_privilege></record_update>]]></payload>\n<payload_hash>231390769</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>d8bef4c2dbdabb00efd54a92ba961956</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda48720000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>incident</target_name>\n<type>Cross scope privilege</type>\n<update_domain>global</update_domain>\n<update_guid>3337cb356f7d33c08b6d3a8e89ebd35b</update_guid>\n<update_guid_history>3337cb356f7d33c08b6d3a8e89ebd35b:231390769</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_066b74cedb9abb00efd54a92ba9619fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_business_i_business_incident_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_business_i_business_incident_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:59</sys_created_on><sys_id>066b74cedb9abb00efd54a92ba9619fd</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_business_i_business_incident_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_066b74cedb9abb00efd54a92ba9619fd</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:59</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=066b74cedb9abb00efd54a92ba9619fd\"/></record_update>]]></payload>\n<payload_hash>-786673273</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:19</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba961901</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4efd0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:19</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_business_i_business_incident_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>e26bb4ce959abb006df8f9b24b6c663b</update_guid>\n<update_guid_history>e26bb4ce959abb006df8f9b24b6c663b:-786673273</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_30fa748edb9abb00efd54a92ba96195e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:59</sys_created_on><sys_id>30fa748edb9abb00efd54a92ba96195e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_30fa748edb9abb00efd54a92ba96195e</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:59</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=30fa748edb9abb00efd54a92ba96195e\"/></record_update>]]></payload>\n<payload_hash>-649069506</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c000000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>99fa748ea79abb00db522c0401f2fda8</update_guid>\n<update_guid_history>99fa748ea79abb00db522c0401f2fda8:-649069506</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_53dab08edb9abb00efd54a92ba9619a4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the rm_enhancement table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.rm_enhancement</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:36</sys_created_on><sys_id>53dab08edb9abb00efd54a92ba9619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.rm_enhancement</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_53dab08edb9abb00efd54a92ba9619a4</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:36</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=53dab08edb9abb00efd54a92ba9619a4\"/></record_update>]]></payload>\n<payload_hash>-1645850285</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4b7b0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.rm_enhancement</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>33dab08e749abb0086e0dd32ad8aadd5</update_guid>\n<update_guid_history>33dab08e749abb0086e0dd32ad8aadd5:-1645850285</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_683bbc8edb9abb00efd54a92ba96193f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_risk_response_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_risk_response_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:03</sys_created_on><sys_id>683bbc8edb9abb00efd54a92ba96193f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_risk_response_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_683bbc8edb9abb00efd54a92ba96193f</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:03</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=683bbc8edb9abb00efd54a92ba96193f\"/></record_update>]]></payload>\n<payload_hash>-1628823508</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba961948</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4daf0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_risk_response_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>013bbc8ee49abb009fa70e769e3c3e4c</update_guid>\n<update_guid_history>013bbc8ee49abb009fa70e769e3c3e4c:-1628823508</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_897bf4cedb9abb00efd54a92ba9619ca</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the x_pisn_rail_im_task_resourcing table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.x_pisn_rail_im_task_resourcing</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:36:11</sys_created_on><sys_id>897bf4cedb9abb00efd54a92ba9619ca</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.x_pisn_rail_im_task_resourcing</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_897bf4cedb9abb00efd54a92ba9619ca</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:36:11</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=897bf4cedb9abb00efd54a92ba9619ca\"/></record_update>]]></payload>\n<payload_hash>-870205100</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba96194b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4f500000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.x_pisn_rail_im_task_resourcing</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>2d7b38ce959abb005dd1f466415ea952</update_guid>\n<update_guid_history>2d7b38ce959abb005dd1f466415ea952:-870205100</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_aa4b70cedb9abb00efd54a92ba961967</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_sm_marketing_task table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_sm_marketing_task</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:35:27</sys_created_on><sys_id>aa4b70cedb9abb00efd54a92ba961967</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_sm_marketing_task</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_aa4b70cedb9abb00efd54a92ba961967</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:35:27</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=aa4b70cedb9abb00efd54a92ba961967\"/></record_update>]]></payload>\n<payload_hash>1987410072</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba96194e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4e440000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_sm_marketing_task</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>724b70ce769abb001c402b4d904c3c74</update_guid>\n<update_guid_history>724b70ce769abb001c402b4d904c3c74:1987410072</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_d40bf48edb9abb00efd54a92ba961990</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the sn_customerservice_case table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.sn_customerservice_case</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:34:13</sys_created_on><sys_id>d40bf48edb9abb00efd54a92ba961990</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.sn_customerservice_case</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_d40bf48edb9abb00efd54a92ba961990</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:34:13</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=d40bf48edb9abb00efd54a92ba961990\"/></record_update>]]></payload>\n<payload_hash>1242690961</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba961952</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4c590000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.sn_customerservice_case</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>f00bf48ed39abb0051f8e3c49a114ec2</update_guid>\n<update_guid_history>f00bf48ed39abb0051f8e3c49a114ec2:1242690961</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_f9cafc4edb9abb00efd54a92ba9619ad</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>Approval engine to use for the problem table.  Valid options are: 'approval_rules' to use Approval Rules, 'process_guide' to use Process Guides and 'off' to turn off the approval engines for the table (set to 'off' when using Workflow to manage approvals). Off is the default setting.</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>glide.approval_engine.problem</name><read_roles/><suffix>x_pisn_sp_task_act</suffix><sys_class_name>sys_properties</sys_class_name><sys_created_by>fabio</sys_created_by><sys_created_on>2019-06-28 20:33:13</sys_created_on><sys_id>f9cafc4edb9abb00efd54a92ba9619ad</sys_id><sys_mod_count>0</sys_mod_count><sys_name>glide.approval_engine.problem</sys_name><sys_package display_value=\"SP Task Child Activity\" source=\"x_pisn_sp_task_act\">27e0c73ddb3d33c0d033df8b4b96192a</sys_package><sys_policy/><sys_scope display_value=\"SP Task Child Activity\">27e0c73ddb3d33c0d033df8b4b96192a</sys_scope><sys_update_name>sys_properties_f9cafc4edb9abb00efd54a92ba9619ad</sys_update_name><sys_updated_by>fabio</sys_updated_by><sys_updated_on>2019-06-28 20:33:13</sys_updated_on><type>string</type><value>off</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=f9cafc4edb9abb00efd54a92ba9619ad\"/></record_update>]]></payload>\n<payload_hash>-1583676652</payload_hash>\n<remote_update_set display_value=\"SP Task Child Activity\">5cbeb4c2dbdabb00efd54a92ba9619fe</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio</sys_created_by>\n<sys_created_on>2019-06-28 20:50:20</sys_created_on>\n<sys_id>dcbef4c2dbdabb00efd54a92ba961955</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b9fda4afc0000001</sys_recorded_at>\n<sys_updated_by>fabio</sys_updated_by>\n<sys_updated_on>2019-06-28 20:50:20</sys_updated_on>\n<table/>\n<target_name>glide.approval_engine.problem</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>12ca308e3d9abb00aa291858cb797c03</update_guid>\n<update_guid_history>12ca308e3d9abb00aa291858cb797c03:-1583676652</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/widget/pe-sp-task-child-activity.u-body-html-template.html",
    "content": "<div class=\"x-pisn-sp-task-child-activity\">\n  <div class=\"panel panel-{{::c.options.color}}\">\n    <div class=\"panel-heading\">\n      <h3 class=\"panel-title\">{{::c.options.title}} <small class=\"pull-right m-t-xs\"><a role=\"button\" href\n            ng-click=\"c.editTask({sys_id: c.data.sys_id, table: c.data.task_table, number: c.data.task_number})\">{{::c.data.task_number}}</a><i\n            class=\"fa fa-tasks m-l-xs m-r-xs\" aria-hidden=\"true\"></i></small></h3>\n    </div>\n    <div class=\"panel-body\">\n      <ol ng-model=\"c.task_hierarchy\" class=\"x-pisn-sp-task-child-activity__task-list\">\n        <li ng-repeat=\"task in c.task_hierarchy track by task.id\" ng-include=\"'x-pisn-sp-task-child-activity__task'\">\n        </li>\n      </ol>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/widget/pe-sp-task-child-activity.u-client-script.js",
    "content": "function ChildActivityController($scope, $log, spUtil, spModal, $rootScope) {\n  var c = this;\n\n  var buildHierarchy = function (taskList) {\n    return c.data.tasks.filter(function (t) {\n      return t.parent == c.data.sys_id;\n    }).map(createTaskNode);\n  };\n\n  var buildChildNodes = function (parentID) {\n    return c.data.tasks.filter(function (t) {\n      if (t.parent == parentID) {\n        t.child = true;\n      }\n      return t.parent == parentID;\n    }).map(createTaskNode);\n  };\n\n  var createTaskNode = function (taskData) {\n    return {\n      id: taskData.sys_id,\n      data: taskData,\n      children: buildChildNodes(taskData.sys_id)\n    };\n  };\n\n  c.havePendingActions = function (taskID) {\n    return c.havePendingApproval(taskID);\n  };\n\n  c.approve = function (approvalID) {\n    var payload = {\n      action: 'approved',\n      approval_id: approvalID\n    };\n    c.server.get(payload).then(function (response) {});\n  };\n\n  c.havePendingApproval = function (taskID) {\n    return c.getPendingApprovalForTask(taskID) != null;\n  };\n\n  c.getPendingApprovalForTask = function (taskID) {\n    return c.data.approvals.filter(function (a) {\n      return a.sysapproval == taskID && a.is_mine && a.state == 'requested';\n    })[0];\n  };\n\n  c.task_hierarchy = buildHierarchy(c.data.tasks);\n\n  c.editTask = function (taskData) {\n    spModal.open({\n      title: '${Editing}' + ' ' + taskData.number,\n      widget: 'widget-form',\n      buttons: [{\n        label: '${Close}',\n        cancel: true\n      }],\n      footerStyle: {\n        'display': 'none'\n      },\n      size: 'lg',\n      widgetInput: {\n        table: taskData.table,\n        sys_id: taskData.sys_id,\n        view: c.options.view\n      }\n    });\n  };\n\n  c.toggleTasksView = function (taskId) {\n    c.toggleCollapse(taskId);\n  };\n\n  c.hasAttachments = function (taskID) {\n    return c.getAttachments(taskID).length > 0;\n  };\n\n  c.getAttachments = function (taskID) {\n    return c.data.attachments.filter(function (att) {\n      return att.table_sys_id == taskID;\n    });\n  };\n\n  spUtil.recordWatch($scope, c.options.table, 'sys_idIN' + c.data.task_ids, function (data) {\n    c.server.update().then(function (data) {\n      c.task_hierarchy = buildHierarchy(data.tasks);\n    });\n  });\n\n  spUtil.recordWatch($scope, 'sys_attachment', 'table_nameIN' + c.data.task_tables, function (data) {\n    c.server.update().then(function (data) {\n      c.task_hierarchy = buildHierarchy(data.tasks);\n    });\n  });\n\n  $rootScope.$on('sp.form.record.updated', function (event, obj) {\n    c.closeModal();\n  });\n\n  $rootScope.$on('spModel.gForm.initialized', function (event, gFormInstance) {\n    c.cssModal();\n    if (gFormInstance.getUniqueValue() == c.data.sys_id) {\n      var fields = gFormInstance.getFieldNames();\n      for (var i = 0; i < fields.length; i++)\n        gFormInstance.setReadOnly(fields[i], true);\n    }\n  });\n\n}\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/widget/pe-sp-task-child-activity.u-css.scss",
    "content": "$x-pisn-sp-task-child-activity-state-past: $text-muted !default;\n$x-pisn-sp-task-child-activity-state-current: $brand-success !default;\n$x-pisn-sp-task-child-activity-state-future: $brand-primary !default;\n\n.x-pisn-sp-task-child-activity {\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-rendering: optimizeLegibility;\n  position: relative;\n}\n\n.x-pisn-sp-task-child-activity__flow {\n  display: inline-block;\n}\n\n.x-pisn-sp-task-child-activity__task-list,\n.x-pisn-sp-task-child-activity__task-list li,\n.x-pisn-sp-task-child-activity__task-list ol {\n  list-style: none;\n}\n\n.x-pisn-sp-task-child-activity__task-list {\n  padding-left: 0;\n}\n\n.x-pisn-sp-task-child-activity__task {\n  border-top: 1px solid $panel-default-border;\n  padding-bottom: 8px;\n  margin-top: 8px;\n  padding-top: 8px;\n}\n\n.x-pisn-sp-task-child-activity__task-list>li:first-child>.x-pisn-sp-task-child-activity__task {\n  border-top: none;\n  padding-top: 0;\n  margin-top: 0;\n}\n\n.x-pisn-sp-task-child-activity__task .x-pisn-sp-procflow-lite__stage:first-of-type {\n  padding-left: 0;\n}\n\n.x-pisn-sp-task-child-activity__task {\n\n  .x-pisn-sp-procflow-lite__breadcrumb {\n    color: $text-muted !important;\n  }\n\n  .x-pisn-sp-procflow-lite__stage--past {\n    color: $x-pisn-sp-task-child-activity-state-past !important;\n\n    .x-pisn-sp-procflow-lite__breadcrumb {\n      color: $x-pisn-sp-task-child-activity-state-past !important;\n    }\n  }\n\n  .x-pisn-sp-procflow-lite__stage--current {\n    color: $text-color !important;\n\n    .x-pisn-sp-procflow-lite__breadcrumb {\n      color: $text-color !important;\n    }\n  }\n\n  .x-pisn-sp-procflow-lite__stage--future {\n    color: $x-pisn-sp-task-child-activity-state-future !important;\n\n    .x-pisn-sp-procflow-lite__breadcrumb {\n      color: $x-pisn-sp-task-child-activity-state-future !important;\n    }\n  }\n\n  .x-pisn-sp-procflow-lite__container,\n  .x-pisn-sp-procflow-lite__stage {\n    background-color: unset !important;\n  }\n\n  .x-pisn-sp-procflow-lite__stage {\n    height: unset !important;\n  }\n\n  .x-pisn-sp-procflow__container::-webkit-scrollbar {\n    width: 0 !important\n  }\n\n  .x-pisn-sp-procflow__container {\n    overflow: -moz-scrollbars-none;\n  }\n\n  .x-pisn-sp-procflow__container {\n    -ms-overflow-style: none;\n  }\n}\n\n.x-pisn-sp-task-child-activity__task--active .x-pisn-sp-procflow-lite__stage--current {\n  color: $x-pisn-sp-task-child-activity-state-current !important;\n\n  .x-pisn-sp-procflow-lite__breadcrumb {\n    color: $x-pisn-sp-task-child-activity-state-current !important;\n  }\n}\n\n.collapse-circle-plus-container {\n  position: absolute;\n  right: 10px;\n  top: 20px;\n}\n\n.collapse-closed {\n  .collapse-vertical {\n    transition: all 0.5s ease-in-out;\n    transform: rotate(-90deg);\n  }\n\n  .collapse-horizontal {\n    transition: all 0.5s ease-in-out;\n    transform: rotate(-90deg);\n    opacity: 1;\n  }\n}\n\n.collapse-opened {\n  opacity: 1;\n\n  .collapse-vertical {\n    transition: all 0.5s ease-in-out;\n    transform: rotate(90deg);\n  }\n\n  .collapse-horizontal {\n    transition: all 0.5s ease-in-out;\n    transform: rotate(90deg);\n    opacity: 0;\n  }\n}\n\n.collapse-circle-plus {\n  font-size: 1em;\n  opacity: .7;\n}\n\n.collapse-circle-plus .collapse-circle {\n  position: relative;\n  width: 2em;\n  height: 2em;\n}\n\n.collapse-circle-plus .collapse-circle .collapse-horizontal {\n  position: absolute;\n  background-color: $brand-primary;\n  width: 16px;\n  height: 2px;\n  left: 50%;\n  margin-left: -7px;\n  top: 50%;\n}\n\n.collapse-circle-plus .collapse-circle .collapse-vertical {\n  position: absolute;\n  background-color: $brand-primary;\n  width: 2px;\n  height: 16px;\n  left: 50%;\n  top: 50%;\n  margin-top: -7px;\n}\n\n.pf-mobile>.v4e74afaddb98bb00d033df8b4b961922,\n.pf-mobile>.x-pisn-sp-procflow__show {\n  display: none;\n}\n\n.pf-mobile .x-pisn-sp-procflow-lite {\n  background-color: white;\n  border-radius: 10px;\n  padding-left: 10px;\n  padding-right: 10px;\n  border: 0.5px solid lighten($gray-base, 87%);\n  height: 41px;\n}\n\n.v4e74afaddb98bb00d033df8b4b961922 .x-pisn-sp-procflow-popup-container {\n  position: absolute;\n  bottom: -8px;\n  left: 35px;\n  right: 0px;\n}\n\n.v4e74afaddb98bb00d033df8b4b961922 .x-pisn-sp-procflow-popup-starter .fa-sort-desc {\n  position: absolute;\n  bottom: 0px;\n  transform: rotate(90deg);\n  left: 22px;\n  font-size: 20px;\n  color: lighten($gray-base, 87%);\n}\n\n.v4e74afaddb98bb00d033df8b4b961922 .x-pisn-sp-procflow-lite__container {\n  height: 100% !important;\n}\n\n.btn-view {\n  position: absolute;\n  right: 12px;\n  top: 2px;\n}\n\n.relative {\n  position: relative;\n}\n\n.btn:focus {\n  outline: none;\n  box-shadow: none;\n}\n\n@media (max-width: 768px) {\n  .x-pisn-sp-task-child-activity__task .x-pisn-sp-procflow-lite {\n    overflow: hidden;\n    overflow-x: auto;\n  }\n\n  .x-pisn-sp-task-child-activity__task {\n    .col-xs-2 {\n      padding-left: 0px;\n    }\n  }\n\n  .pf-mobile>.v4e74afaddb98bb00d033df8b4b961922 {\n    display: inline-block;\n  }\n\n  .pf-desktop>.vbb6b8a4edb439b0085895845dc961917 {\n    display: none;\n  }\n\n  .btn-view {\n    right: 7px;\n  }\n\n  .panel-heading {\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n\n  .panel-body {\n    padding-left: 10px;\n  }\n\n  .collapse-circle-plus-container {\n    right: 5px;\n  }\n}\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/widget/pe-sp-task-child-activity.u-link-script.js",
    "content": "function link(scope, element, attrs, controller) {\n  scope.c.closeModal = function () {\n    var button = $('body').find('button.close');\n    angular.element(button).scope().$dismiss();\n  };\n  scope.c.cssModal = function () {\n    var modalBody = $('body').find('.modal-body');\n    modalBody.css('padding', '0');\n    modalBody.css('-webkit-font-smoothing', 'antialiased');\n    modalBody.css('-moz-osx-font-smoothing', 'grayscale');\n    modalBody.css('text-rendering', 'optimizeLegibility');\n    var panel = modalBody.find('.panel');\n    panel.css('border', '0');\n    panel.css('box-shadow', 'none');\n  };\n  scope.c.toggleCollapse = function (taskId) {\n    $('#collapseTask' + taskId).collapse('toggle');\n    $('#collapseCircle' + taskId).toggleClass('collapse-opened');\n  };\n}\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/widget/pe-sp-task-child-activity.u-option-schema.json",
    "content": "[{\n  \"name\": \"view\",\n  \"section\": \"other\",\n  \"default_value\": \"sp\",\n  \"label\": \"View\",\n  \"type\": \"string\"\n}]\n"
  },
  {
    "path": "src/pe-sp-task-child-activity/widget/pe-sp-task-child-activity.u-server-script.js",
    "content": "(function () {\n  input = input || {};\n  data.sys_id = input.sys_id || options.task_id || $sp.getParameter('sys_id');\n  data.table = options.table || $sp.getParameter('table') || 'task';\n  data.tasks = [];\n\n  function GetAttributes(gr) {\n    var record = {\n      sys_id: gr.getUniqueValue(),\n      table: gr.getTableName(),\n      number: gr.number.getDisplayValue(),\n      short_description: gr.short_description.getDisplayValue(),\n      parent: gr.parent.toString(),\n      assignment_group: gr.assignment_group.getDisplayValue(),\n      assigned_to: gr.assigned_to.getDisplayValue(),\n      assigned_to_id: gr.getValue('assigned_to'),\n      due_date: gr.due_date.getDisplayValue(),\n      state: gr.state.getDisplayValue(),\n      proc_flow: new x_pisn_sp_procflow.ProcessFlow(gr).toObject(),\n      pf_widget: $sp.getWidget('x-pisn-sp-procflow-lite', {\n        table: gr.sys_class_name.toString(),\n        sys_id: gr.getUniqueValue()\n      }),\n      pf_popup_widget: $sp.getWidget('x-pisn-sp-procflow-popup', {\n        table: gr.sys_class_name.toString(),\n        sys_id: gr.getUniqueValue()\n      }),\n      active: gr.active == true,\n      approval: gr.approval.getDisplayValue(),\n      approval_internal: gr.approval.toString()\n    };\n    return record;\n  }\n\n  function GetChildren(sys_id, order_by) {\n    var records = [];\n    var gr = new GlideRecord(data.table);\n    gr.addQuery('parent', sys_id);\n    if (options.order_by) {\n      if (options.order_direction == 'desc') {\n        gr.orderByDesc(options.order_by);\n      } else {\n        gr.orderBy(options.order_by);\n      }\n    }\n    gr.query();\n    while (gr.next()) {\n      records.push(GetAttributes(gr));\n    }\n    return records;\n  }\n\n  if (input && input.action == 'approved') {\n    var appGR = new GlideRecord('sysapproval_approver');\n    if (appGR.get(input.approval_id) && appGR.state.canWrite()) {\n      appGR.state = 'approved';\n      appGR.update();\n    }\n    return;\n  }\n\n  if (!data.sys_id) {\n    return;\n  }\n\n  var parentTaskGR = new GlideRecord(data.table);\n  if (parentTaskGR.get(data.sys_id)) {\n    data.task_number = parentTaskGR.number.getDisplayValue();\n    data.task_table = parentTaskGR.getTableName();\n  }\n\n  var taskGR = new GlideRecord(data.table);\n  taskGR.addQuery('parent', data.sys_id);\n\n  if (options.order_by) {\n    if (options.order_direction == 'desc') {\n      taskGR.orderByDesc(options.order_by);\n    } else {\n      taskGR.orderBy(options.order_by);\n    }\n  }\n\n  taskGR.query();\n  while (taskGR.next()) {\n    data.tasks.push(GetAttributes(taskGR));\n    data.tasks = data.tasks.concat(GetChildren(taskGR.getUniqueValue()));\n  }\n\n  var taskIDs = data.tasks.map(function (t) {\n    return t.sys_id;\n  });\n  var taskTables = data.tasks.map(function (t) {\n    return t.table;\n  });\n\n  data.attachments = [];\n  data.approvals = [];\n  data.task_ids = taskIDs;\n  data.task_tables = taskTables;\n\n  if (taskIDs.length) {\n    var attachmentGR = new GlideRecord('sys_attachment');\n    attachmentGR.addQuery('table_sys_id', 'IN', taskIDs);\n    attachmentGR.query();\n    while (attachmentGR.next()) {\n      data.attachments.push({\n        sys_id: attachmentGR.getUniqueValue(),\n        file_name: attachmentGR.file_name.toString(),\n        content_type: attachmentGR.content_type.toString(),\n        state: attachmentGR.state.toString(),\n        table_sys_id: attachmentGR.table_sys_id.toString()\n      });\n    }\n\n    var approvalGR = new GlideRecord('sysapproval_approver');\n    approvalGR.addQuery('sysapproval', 'IN', taskIDs);\n    approvalGR.query();\n    while (approvalGR.next()) {\n      data.approvals.push({\n        sys_id: approvalGR.getUniqueValue(),\n        sysapproval: approvalGR.sysapproval.toString(),\n        state: approvalGR.state.toString(),\n        approver: approvalGR.approver.getDisplayValue(),\n        approver_id: approvalGR.approver.toString(),\n        is_mine: approvalGR.approver.toString() == gs.getUserID()\n      });\n    }\n  }\n})();\n"
  },
  {
    "path": "src/pe-stock-ticker/README.md",
    "content": "# Stock Ticker\n\n## Description\n\n> This is a simple widget to get stock quote using a stock symbol. This has a simple integration to [https://www.alphavantage.co/](https://www.alphavantage.co/) where we get the stock quote from.\n\n## Screenshot\n\n![Stock Ticker](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-stock-ticker/images/working.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-stock-ticker.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-stock-ticker/pe-stock-ticker.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n* Sign up for free api key [here](https://www.alphavantage.co/support/#api-key)\n* A demo API key is included as part of the update set. It is advised to use your own key.\n\n ![Sys Property](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-stock-ticker/images/api_key.png)\n\n* Widget Option to get default stock quote when the widget is first loaded.\n\n ![Widget Option](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-stock-ticker/images/widget_option.png)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-stock-ticker/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Stock Ticker\",\n  \"compatibility\": [\"Jakarta\", \"Kingston\", \"London\"],\n  \"contributors\": [\"Sushruth Chandrashek\"],\n  \"keywords\": [\"Widget\"],\n  \"name\": \"pe-stock-ticker\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This is a simple widget to get stock quote using a stock symbol.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-stock-ticker/pe-stock-ticker.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2018-12-13 21:22:52\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Sush - Stock price</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>1f2cf922db5263405bc2295748961912</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>c8f4eee6dbd263405bc2295748961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_parameters_398686aadb5263405bc229574896193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_parameters\"><sys_rest_message_fn_parameters action=\"INSERT_OR_UPDATE\"><name>symbol</name><rest_message_function display_value=\"Default GET\">30f406e6db5263405bc2295748961907</rest_message_function><sys_class_name>sys_rest_message_fn_parameters</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 19:10:06</sys_created_on><sys_id>398686aadb5263405bc229574896193e</sys_id><sys_mod_count>1</sys_mod_count><sys_name>symbol</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_parameters_398686aadb5263405bc229574896193e</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 19:21:07</sys_updated_on><type>string</type><value>NOW</value></sys_rest_message_fn_parameters></record_update>]]></payload>\n<payload_hash>890931233</payload_hash>\n<remote_update_set display_value=\"Sush - Stock price\">c8f4eee6dbd263405bc2295748961942</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>14f4eee6dbd263405bc2295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>167a903f3340000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<table/>\n<target_name>symbol</target_name>\n<type>Variable Substitutions</type>\n<update_domain>global</update_domain>\n<update_guid>b0198eaa03526340d326daec1f4c8760</update_guid>\n<update_guid_history>b0198eaa03526340d326daec1f4c8760:890931233,1f86c2aa3852634097c6d94f694eb8a4:-1378649110</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_properties_e8228a66db5263405bc229574896197d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_properties\"><sys_properties action=\"INSERT_OR_UPDATE\"><choices/><description>This is a demo apikey. Create your own here https://www.alphavantage.co/</description><ignore_cache>false</ignore_cache><is_private>false</is_private><name>alphavantage.api.key</name><read_roles/><suffix/><sys_class_name>sys_properties</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:51:40</sys_created_on><sys_id>e8228a66db5263405bc229574896197d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>alphavantage.api.key</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_properties_e8228a66db5263405bc229574896197d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:52:20</sys_updated_on><type>string</type><value>AS2BWPL781TW45XK</value><write_roles/></sys_properties><sys_translated_text action=\"delete_multiple\" query=\"documentkey=e8228a66db5263405bc229574896197d\"/></record_update>]]></payload>\n<payload_hash>-680647437</payload_hash>\n<remote_update_set display_value=\"Sush - Stock price\">c8f4eee6dbd263405bc2295748961942</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>18f4eee6dbd263405bc2295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>167a8e99f810000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<table/>\n<target_name>alphavantage.api.key</target_name>\n<type>System Property</type>\n<update_domain>global</update_domain>\n<update_guid>eb7282a6c1526340cedf52106a3fc6fe</update_guid>\n<update_guid_history>eb7282a6c1526340cedf52106a3fc6fe:-680647437,71524e66ae5263407e77b280fec3d337:-544748690</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_0d8cb922db5263405bc22957489619d7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;sample&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function siStockCtrl($http) {\n  var c = this;\n\n  c.$onInit = function () {\n    c.loading = false;\n    c.update = update;\n    c.data.price = false;\n    c.latestQuote = \"\";\n    c.currentSymbol = \"\";\n    initiate();\n  };\n\n  function initiate() {\n    c.loading = true;\n    c.data.wrongSymbol = \"\";\n    if (c.data.responseBody) {\n      if (c.data.wrongSymbol) {\n        c.loading = false;\n        c.data.wrongSymbol = c.data.wrongSymbol;\n      } else {\n        processData(c.data.responseBody);\n        c.loading = false;\n      }\n    }\n  }\n\n  function update() {\n    c.loading = true;\n    c.latestQuote = \"\";\n    c.data.wrongSymbol = \"\";\n    c.server.get({\n      symbol: c.data.symbol\n    }).then(function (r) {\n      if (r.data.wrongSymbol) {\n        c.loading = false;\n        c.data.wrongSymbol = r.data.wrongSymbol;\n      } else {\n        processData(r.data.responseBody);\n        c.loading = false;\n      }\n\n    });\n  }\n\n  function processData(responseData) {\n    c.data.responseData = responseData;\n    if (c.data.responseData.hasOwnProperty('Time Series (1min)')) {\n      var latestDate = Object.keys(c.data.responseData['Time Series (1min)']).sort().reverse()[0];\n      if (c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('1. open') &amp;&amp;\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('2. high') &amp;&amp;\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('3. low') &amp;&amp;\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('4. close') &amp;&amp;\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('5. volume')\n      ) {\n        c.latestQuote = {\n          'symbol': c.data.symbol,\n          'open': c.data.responseData['Time Series (1min)'][latestDate]['1. open'],\n          'high': c.data.responseData['Time Series (1min)'][latestDate]['2. high'],\n          'low': c.data.responseData['Time Series (1min)'][latestDate]['3. low'],\n          'close': c.data.responseData['Time Series (1min)'][latestDate]['4. close'],\n          'volume': c.data.responseData['Time Series (1min)'][latestDate]['5. volume']\n        }\n      }\n    }\n    c.currentSymbol = c.data.responseData['Meta Data']['2. Symbol'].toUpperCase();\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.pi-stock{\n  max-width: 500px;\n  padding: 20px;\n  margin-left: auto;\n  margin-right: auto;\n  height: 200px;\n\n}\n.symbol{\n  color:$brand-primary;\n}\n.stock-price-div{\n  font-weight: 300;\n  font-size: 21px;\n  text-align: center;\n  padding-top: 10px;\n}\n.stock-price{\n  font-weight: 600;\n}\n.label{\n  font-weight: 600;\n  font-size: 16px;\n  color: #000;\n}\n.green{\n  color: #17ed17;\n}\n.red{\n  color: #d9534f;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;stock_price&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Stock price&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"default_symbol\",\"section\":\"other\",\"label\":\"Default Symbol\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[data.typeSymbolMsg = gs.getMessage(\"Type stock symbol\");\ndata.apikey = gs.getProperty('alphavantage.api.key');\ndata.wrongSymbol = \"\";\n$sp.log(options.default_symbol);\nif (input &amp;&amp; input.symbol) {\n  data.wrongSymbol = \"\";\n  getQuote(input.symbol);\n}else if(options.default_symbol){\n  getQuote(options.default_symbol);\n}\n\nfunction getQuote(symbol) {\n  try {\n    var r = new sn_ws.RESTMessageV2('Alphavantage', 'Default GET');\n    r.setStringParameterNoEscape('symbol', symbol);\n    r.setStringParameterNoEscape('apikey', data.apikey);\n\n    //override authentication profile\n    //authentication type ='basic'/ 'oauth2'\n    //r.setAuthentication(authentication type, profile name);\n\n    //set a MID server name if one wants to run the message on MID\n    //r.setMIDServer('MY_MID_SERVER');\n\n    //if the message is configured to communicate through ECC queue, either\n    //by setting a MID server or calling executeAsync, one needs to set skip_sensor\n    //to true. Otherwise, one may get an intermittent error that the response body is null\n    //r.setEccParameter('skip_sensor', true);\n\n    var response = r.execute();\n    $sp.log(response);\n    data.responseBody = JSON.parse(response.getBody());\n    var httpStatus = response.getStatusCode();\n    if (data.responseBody['Error Message']) {\n      $sp.log(\"wrong symbol\");\n      data.wrongSymbol = \"Symbol not found\"\n    }\n    $sp.log(httpStatus);\n    $sp.log(data.responseBody);\n  } catch (ex) {\n    var message = ex.message;\n  }\n\n\n\n\n\n\n}]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-13 18:26:32&lt;/sys_created_on&gt;&lt;sys_id&gt;0d8cb922db5263405bc22957489619d7&lt;/sys_id&gt;&lt;sys_mod_count&gt;60&lt;/sys_mod_count&gt;&lt;sys_name&gt;Stock price&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_0d8cb922db5263405bc22957489619d7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-13 21:18:24&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[    &lt;div class=\"pi-stock\"&gt;\n      &lt;form class=\"form-inline text-center\" ng-submit=\"c.update()\"&gt;\n          &lt;div class=\"form-group mx-sm-3 mb-2\"&gt;\n\n            &lt;input ng-model=\"c.data.symbol\" ng-model-options=\"{debounce: 750}\" placeholder=\"{{::data.typeSymbolMsg}}\" class=\"form-control\" id=\"symbol\" placeholder=\"Stock symbol\"&gt;\n          &lt;/div&gt;\n          &lt;button class=\"btn btn-primary\" ng-click=\"c.update()\"&gt;Go!&lt;/button&gt;\n        &lt;/form&gt;\n\n      &lt;div class=\"stock-price-div\"&gt;\n          &lt;span class=\"text_center\" ng-if=\"c.loading\"&gt;${Requesting stock price}&lt;/span&gt;\n          &lt;span class=\"text_center\" ng-if=\"c.data.wrongSymbol\"&gt;Symbol not found&lt;/span&gt;\n          &lt;p class=\"text_center\" ng-if=\"c.latestQuote.close\" class=\"stock-price\"&gt;&lt;span class=\"symbol\"&gt;{{c.currentSymbol}} :&lt;/span&gt;\n              &lt;span ng-class=\"{'green':c.latestQuote.close &gt;= c.latestQuote.open, 'red': c.latestQuote.open &gt; c.latestQuote.close }\"&gt;{{c.latestQuote.close | currency:\"$\"}}&lt;/span&gt;\n          &lt;/p&gt;\n\n      &lt;/div&gt;\n  &lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>711678960</payload_hash>\n<remote_update_set display_value=\"Sush - Stock price\">c8f4eee6dbd263405bc2295748961942</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>50f4eee6dbd263405bc2295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>167a96f54130000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<table/>\n<target_name>Stock price</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>fee32ee226d26340008ae06e8107208d</update_guid>\n<update_guid_history>fee32ee226d26340008ae06e8107208d:711678960,5e02e2aa761e2340759eb78f7da3f653:1479714564,d8e1a2e2a3d263404559426e3783221d:-1988218536,08cf92e2a4d26340cd6c0ce117517b21:-75656890,5aaf922a7f1e2340ff396bdfcc7da5d6:206643643,576f166284d26340a2fc31b1340010ea:1086755119,e25f922a211e2340baa46db2d4eed3d1:-1181963566,663f9ee6d11e23406e6b731abd84ce73:-1613739550,b3de9ea63e1e23407413202b0fac9564:327419834,a4de1ea6771e2340f959072f6414d3ed:-41404246,3dae92e6e61e234066653d88574ffa5e:771287611,d69e92e6611e2340dbf94b4b7abbb55a:-1220038006,0d8e52a262d263409c3fde421b290386:615426616,78dd9e26e81e234041200e88d8690ca0:1030587224,debd56626dd26340606ce99329c0d277:-388473724,a7ad1ea6e31e2340daeeb21c1193b9e5:1244629380,647b52664d1e2340e956f49a94ba934d:-1354572463,ed4bd2ae2692634009429ce816e362fb:680459793,b9ea9ae2d31e2340bc4af42dab0edb2a:1608947398,a2ba52e2291e234056b035d86f05a66c:-691225896,609a9226e11e2340fea5dd0776f6104f:74471842,186a1e6ef5926340508e0355fc323183:-1474027476,6b5a1a2e25926340024b882b71f938b3:267203206,1d4a92ae30926340de1b58aec2d5d842:2117180897,930a1ee22e1e2340cf07b1f3f1acb4c6:282545819,310a1e6e7992634058f1574ef3c5857e:1915440299,a9d91ee20d1e2340e8db235b2a7f4bc0:1745411583,12c992ea639263405ca181a9bf40d8fb:-1653149786,ae791aa2b81e234098578bfdd160d121:-427759887,8dd89aa2ff1e23405ea5c7f8826e7605:203570231,78981a2eb5926340dabca2f9bde913a8:-778415200,ce68deaa9e92634044be1c548f691fd9:67038152,e728da62141e234052235be4fd52c650:-2030978880,35181aa2e31e2340e350f9f805f6041a:1095932731,863792ea40926340cfe177fcf40e7ff0:-1249856300,1d07da62671e23400e021081d9bcc447:136192580,86f6d2aa5e92634043ea61251ceb8085:-563255003,c7d65a62a61e2340314846dbb71c308b:1360480311,8c36daae35da2340f7f928787f0a2cc0:1944839723,be16d2aae1926340f1fd15491fae0a7f:1053865387,b6859a6ab0926340957126aea03d9ab8:-1434411339,9c759a6a48926340680927109d884ab2:-235788350,d6255ea6689263408418e8f256a3c203:1796786017,56b35a6613926340669a99b8c5e893eb:1390163624,4ea3162e23da2340cfbcfb61e7069e03:311941041,59a3526e05da2340648053a4803e3d90:-1893833954,7c83dee636926340caeb0e6d98ada41b:1072966943,e66bcea6a9da2340d0a1fe76798ef1e7:-1164808170,529aceeed0526340a091f29a430ea717:1504754982,7f5a0eea945263402840e85e2e558869:1845290662,65e90aa63dda23402e68604466834b00:141812706,08d90a665eda23402fa2527c485f049e:-1775908748,cc4886e214da2340d9f3307294ddb796:-951217100,6a284eea0852634030916601beb776ef:-402606880,15974ae64352634096be2a9ea6f568da:-496433984,8b420e2619526340b75c7d59b008d42a:112002754,8afe392edd9a234068e6efdf62cba6d9:1546351707,bdeef9a2cd526340292edff02817cde7:535934602,45deb1aa5d9a2340c396eb8f4500bda6:-743386553,28de3922f05263404feaafe8020d9cf2:142397413,d19cf922ce5263401d22ec17c10ed223:-383971047</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_parameters_2576c2aadb5263405bc22957489619fb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn_parameters\"><sys_rest_message_fn_parameters action=\"INSERT_OR_UPDATE\"><name>apikey</name><rest_message_function display_value=\"Default GET\">30f406e6db5263405bc2295748961907</rest_message_function><sys_class_name>sys_rest_message_fn_parameters</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 19:09:54</sys_created_on><sys_id>2576c2aadb5263405bc22957489619fb</sys_id><sys_mod_count>1</sys_mod_count><sys_name>apikey</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_parameters_2576c2aadb5263405bc22957489619fb</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 19:11:59</sys_updated_on><type>string</type><value>AS2BWPL781TW45XK</value></sys_rest_message_fn_parameters></record_update>]]></payload>\n<payload_hash>1804048125</payload_hash>\n<remote_update_set display_value=\"Sush - Stock price\">c8f4eee6dbd263405bc2295748961942</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>50f4eee6dbd263405bc2295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>167a8fb97540000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<table/>\n<target_name>apikey</target_name>\n<type>Variable Substitutions</type>\n<update_domain>global</update_domain>\n<update_guid>cff64eaa695263409ed8564d82c2e239</update_guid>\n<update_guid_history>cff64eaa695263409ed8564d82c2e239:1804048125,a486c2aafa526340f131f22055cad99e:558457226</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_fn_30f406e6db5263405bc2295748961907</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message_fn\"><sys_rest_message_fn action=\"INSERT_OR_UPDATE\"><authentication_type>inherit_from_parent</authentication_type><basic_auth_password/><basic_auth_profile/><basic_auth_user/><content/><function_name>Default GET</function_name><http_method>get</http_method><lock>false</lock><oauth2_profile/><protocol_name/><qualified_name>Alphavantage [ Default GET ]</qualified_name><rest_endpoint>https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&amp;symbol=${symbol}&amp;interval=1min&amp;apikey=${apikey}</rest_endpoint><rest_message display_value=\"Alphavantage\">eec48ae6db5263405bc22957489619d8</rest_message><sys_class_name>sys_rest_message_fn</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 19:03:06</sys_created_on><sys_id>30f406e6db5263405bc2295748961907</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Default GET</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_fn_30f406e6db5263405bc2295748961907</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 19:11:43</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mid_server/><use_mutual_auth>false</use_mutual_auth></sys_rest_message_fn></record_update>]]></payload>\n<payload_hash>995174992</payload_hash>\n<remote_update_set display_value=\"Sush - Stock price\">c8f4eee6dbd263405bc2295748961942</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>9cf4eee6dbd263405bc2295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>167a8fb578a0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<table/>\n<target_name>Default GET</target_name>\n<type>HTTP Method</type>\n<update_domain>global</update_domain>\n<update_guid>43e60eaa4e52634003e60ec931e06cc9</update_guid>\n<update_guid_history>43e60eaa4e52634003e60ec931e06cc9:995174992,78f48a2a8b526340253491c32430d248:1288251842</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_rest_message_eec48ae6db5263405bc22957489619d8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_rest_message\"><sys_rest_message action=\"INSERT_OR_UPDATE\"><access>package_private</access><authentication_type>no_authentication</authentication_type><basic_auth_password/><basic_auth_profile/><basic_auth_user/><description>Integration to get stock price</description><name>Alphavantage</name><oauth2_profile/><protocol_name/><rest_endpoint>https://www.alphavantage.co</rest_endpoint><sys_class_name>sys_rest_message</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 19:03:06</sys_created_on><sys_id>eec48ae6db5263405bc22957489619d8</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Alphavantage</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_rest_message_eec48ae6db5263405bc22957489619d8</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 19:09:00</sys_updated_on><use_basic_auth>false</use_basic_auth><use_mutual_auth>false</use_mutual_auth></sys_rest_message></record_update>]]></payload>\n<payload_hash>154568271</payload_hash>\n<remote_update_set display_value=\"Sush - Stock price\">c8f4eee6dbd263405bc2295748961942</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2018-12-13 21:22:52</sys_created_on>\n<sys_id>d8f4eee6dbd263405bc2295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>167a8f8da2e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2018-12-13 21:22:52</sys_updated_on>\n<table/>\n<target_name>Alphavantage</target_name>\n<type>REST Message</type>\n<update_domain>global</update_domain>\n<update_guid>9346ce6a3c52634014f78e21eeb72732</update_guid>\n<update_guid_history>9346ce6a3c52634014f78e21eeb72732:154568271,0105ca2a6d526340065da05f7ca79675:658812321,b8f48a2ad7526340904bcf5fec723a49:-1143756658</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-stock-ticker/widget/pe-stock-ticker.u-body-html-template.html",
    "content": "<div class=\"pi-stock\">\n  <form class=\"form-inline text-center\" ng-submit=\"c.update()\">\n      <div class=\"form-group mx-sm-3 mb-2\">\n\n        <input ng-model=\"c.data.symbol\" ng-model-options=\"{debounce: 750}\" placeholder=\"{{::data.typeSymbolMsg}}\" class=\"form-control\" id=\"symbol\" placeholder=\"Stock symbol\">\n      </div>\n      <button class=\"btn btn-primary\" ng-click=\"c.update()\">Go!</button>\n    </form>\n\n  <div class=\"stock-price-div\">\n      <span class=\"text_center\" ng-if=\"c.loading\">${Requesting stock price}</span>\n      <span class=\"text_center\" ng-if=\"c.data.wrongSymbol\">Symbol not found</span>\n      <p class=\"text_center\" ng-if=\"c.latestQuote.close\" class=\"stock-price\"><span class=\"symbol\">{{c.currentSymbol}} :</span>\n          <span ng-class=\"{'green':c.latestQuote.close >= c.latestQuote.open, 'red': c.latestQuote.open > c.latestQuote.close }\">{{c.latestQuote.close | currency:\"$\"}}</span>\n      </p>\n\n  </div>\n</div>"
  },
  {
    "path": "src/pe-stock-ticker/widget/pe-stock-ticker.u-client-script.js",
    "content": "function StockTickerController($http) {\n  var c = this;\n\n  c.$onInit = function () {\n    c.loading = false;\n    c.update = update;\n    c.data.price = false;\n    c.latestQuote = \"\";\n    c.currentSymbol = \"\";\n    initiate();\n  };\n\n  function initiate() {\n    c.loading = true;\n    c.data.wrongSymbol = \"\";\n    if (c.data.responseBody) {\n      if (c.data.wrongSymbol) {\n        c.loading = false;\n        c.data.wrongSymbol = c.data.wrongSymbol;\n      } else {\n        processData(c.data.responseBody);\n        c.loading = false;\n      }\n    }\n  }\n\n  function update() {\n    c.loading = true;\n    c.latestQuote = \"\";\n    c.data.wrongSymbol = \"\";\n    c.server.get({\n      symbol: c.data.symbol\n    }).then(function (r) {\n      if (r.data.wrongSymbol) {\n        c.loading = false;\n        c.data.wrongSymbol = r.data.wrongSymbol;\n      } else {\n        processData(r.data.responseBody);\n        c.loading = false;\n      }\n\n    });\n  }\n\n  function processData(responseData) {\n    c.data.responseData = responseData;\n    if (c.data.responseData.hasOwnProperty('Time Series (1min)')) {\n      var latestDate = Object.keys(c.data.responseData['Time Series (1min)']).sort().reverse()[0];\n      if (c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('1. open') &&\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('2. high') &&\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('3. low') &&\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('4. close') &&\n        c.data.responseData['Time Series (1min)'][latestDate].hasOwnProperty('5. volume')\n      ) {\n        c.latestQuote = {\n          'symbol': c.data.symbol,\n          'open': c.data.responseData['Time Series (1min)'][latestDate]['1. open'],\n          'high': c.data.responseData['Time Series (1min)'][latestDate]['2. high'],\n          'low': c.data.responseData['Time Series (1min)'][latestDate]['3. low'],\n          'close': c.data.responseData['Time Series (1min)'][latestDate]['4. close'],\n          'volume': c.data.responseData['Time Series (1min)'][latestDate]['5. volume']\n        }\n      }\n    }\n    c.currentSymbol = c.data.responseData['Meta Data']['2. Symbol'].toUpperCase();\n  }\n}"
  },
  {
    "path": "src/pe-stock-ticker/widget/pe-stock-ticker.u-css.scss",
    "content": ".pi-stock{\n  max-width: 500px;\n  padding: 20px;\n  margin-left: auto;\n  margin-right: auto;\n  height: 200px;\n\n}\n.symbol{\n  color:$brand-primary;\n}\n.stock-price-div{\n  font-weight: 300;\n  font-size: 21px;\n  text-align: center;\n  padding-top: 10px;\n}\n.stock-price{\n  font-weight: 600;\n}\n.label{\n  font-weight: 600;\n  font-size: 16px;\n  color: #000;\n}\n.green{\n  color: #17ed17;\n}\n.red{\n  color: #d9534f;\n}"
  },
  {
    "path": "src/pe-stock-ticker/widget/pe-stock-ticker.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-stock-ticker/widget/pe-stock-ticker.u-option-schema.json",
    "content": "[\n    {\n        \"name\": \"default_symbol\",\n        \"section\": \"other\",\n        \"label\": \"Default Symbol\",\n        \"type\": \"string\"\n    }\n]"
  },
  {
    "path": "src/pe-stock-ticker/widget/pe-stock-ticker.u-server-script.js",
    "content": "data.typeSymbolMsg = gs.getMessage(\"Type stock symbol\");\ndata.apikey = gs.getProperty('alphavantage.api.key');\ndata.wrongSymbol = \"\";\n$sp.log(options.default_symbol);\nif (input && input.symbol) {\n  data.wrongSymbol = \"\";\n  getQuote(input.symbol);\n}else if(options.default_symbol){\n  getQuote(options.default_symbol);\n}\n\nfunction getQuote(symbol) {\n  try {\n    var r = new sn_ws.RESTMessageV2('Alphavantage', 'Default GET');\n    r.setStringParameterNoEscape('symbol', symbol);\n    r.setStringParameterNoEscape('apikey', data.apikey);\n    var response = r.execute();\n    $sp.log(response);\n    data.responseBody = JSON.parse(response.getBody());\n    var httpStatus = response.getStatusCode();\n    if (data.responseBody['Error Message']) {\n      $sp.log(\"wrong symbol\");\n      data.wrongSymbol = \"Symbol not found\"\n    }\n    $sp.log(httpStatus);\n    $sp.log(data.responseBody);\n  } catch (ex) {\n    var message = ex.message;\n  }\n\n\n\n\n\n\n}"
  },
  {
    "path": "src/pe-travel-card/README.md",
    "content": "# Travel Card\n\n## Description\n\nThis can be used to quickly craft a travel card widget.\n\n## Screenshot\n\n![Travel Card](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-travel-card/images/pe-travel-card.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-travel-card.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-travel-card/pe-travel-card.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> None\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None"
  },
  {
    "path": "src/pe-travel-card/angular-template/pe-travel-card-svg.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"change\">\n    <svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"Group-3\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <path d=\"M12.556682,0 C13.1612903,0.0746104894 13.6774194,0.119376783 14.1861751,0.201448321 C14.318894,0.223831468 14.4516129,0.313364055 14.5548387,0.410357691 C14.8423963,0.678955453 15.0930876,0.992319508 15.3953917,1.24599517 C15.7493088,1.53697608 15.8082949,1.92495063 15.9115207,2.34276937 C16.162212,3.31270573 15.7788018,3.93197279 15.1078341,4.59600614 C11.7677419,7.89378977 8.48663594,11.2512618 5.18341014,14.5938117 C4.91059908,14.8698705 4.6156682,15.0414747 4.24700461,15.1384683 C3.0156682,15.4742155 1.79170507,15.8472679 0.567741935,16.1904762 C0.412903226,16.2352425 0.162211982,16.2352425 0.0737327189,16.1457099 C-0.0147465438,16.0487163 -0.00737327189,15.8025016 0.0368663594,15.6383586 C0.398156682,14.3102919 0.774193548,12.9896862 1.15760369,11.6690805 C1.20921659,11.4900154 1.3124424,11.2960281 1.44516129,11.1691903 C5.0359447,7.51327628 8.64147465,3.8573623 12.2470046,0.216370419 C12.3428571,0.0969936362 12.4903226,0.0373052447 12.556682,0 Z M5.0359447,13.7805574 C5.14654378,13.6761027 5.24976959,13.5791091 5.35299539,13.4821154 C8.50138249,10.3037086 11.635023,7.11037964 14.7981567,3.94689489 C15.1889401,3.55145929 15.3732719,3.20078999 15.2700461,2.61882818 C15.1963134,2.17862629 15.0930876,1.81303489 14.7391705,1.52951503 C14.5695853,1.3877551 14.4368664,1.19376783 14.2599078,1.06693 C14.0976959,0.947553215 13.9059908,0.858020628 13.721659,0.805793285 C13.5004608,0.746104894 13.2571429,0.761026991 13.0285714,0.716260698 C12.7705069,0.671494404 12.6009217,0.753565943 12.4165899,0.940092166 C9.16497696,4.25279789 5.90599078,7.55058152 2.65437788,10.8483652 C2.57327189,10.9304367 2.4921659,11.0274303 2.41105991,11.1169629 C3.91520737,11.3780996 4.78525346,12.2510424 5.0359447,13.7805574 Z M4.35023041,14.3998244 C4.36497696,13.5940312 4.2764977,12.8628484 3.56866359,12.3853412 C3.45069124,12.3032697 3.36958525,12.1689708 3.2516129,12.0794382 C3.16313364,12.0048277 3.05253456,11.9376783 2.94193548,11.9227562 C2.63963134,11.8705289 2.33732719,11.8406847 2.02764977,11.8183015 C1.93917051,11.8108405 1.79170507,11.8705289 1.76958525,11.9227562 C1.58525346,12.5271012 1.42304147,13.1463682 1.24608295,13.7656353 C1.85806452,13.9820057 2.22672811,14.3923634 2.43317972,14.9594031 C3.09677419,14.7654158 3.73087558,14.5788896 4.35023041,14.3998244 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n      </g>\n    </svg>\n  </symbol>\n  <symbol id=\"cancel\">\n    <svg width=\"20px\" height=\"21px\" viewBox=\"0 -1 20 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"Group\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <path d=\"M9.98120301,7.0305344e-15 C15.4774436,-0.00751879699 19.962406,4.46992481 19.9774436,9.97744361 C19.9887218,15.4736842 15.4887218,19.981203 9.98496241,19.9774436 C4.48496241,19.9736842 0,15.4887218 0,9.9887218 C0,4.4887218 4.47744361,0.00751879699 9.98120301,7.0305344e-15 Z M0.958646617,9.9887218 C0.958646617,14.9736842 5.0112782,19.0263158 9.9924812,19.018797 C14.9774436,19.0150376 19.0075188,14.9849624 19.018797,9.9962406 C19.0300752,5.01879699 14.981203,0.962406015 9.9924812,0.954887218 C5.0075188,0.95112782 0.958646617,5 0.958646617,9.9887218 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n        <path d=\"M14.1240602,13.4285714 C13.8834586,13.6691729 13.6691729,13.887218 13.443609,14.1165414 C12.2969925,12.9699248 11.1466165,11.8195489 9.9887218,10.6578947 C8.83082707,11.8195489 7.68045113,12.9699248 6.53383459,14.1165414 C6.30451128,13.887218 6.09022556,13.6691729 5.86842105,13.443609 C7.0075188,12.3045113 8.16165414,11.1541353 9.31578947,10 L5.85338346,6.53759398 C6.09022556,6.30451128 6.30827068,6.09398496 6.52631579,5.87969925 C7.65789474,7.0112782 8.80827068,8.16165414 9.95864662,9.31578947 C11.1315789,8.14285714 12.2819549,6.9924812 13.4323308,5.84210526 C13.6654135,6.08646617 13.8759398,6.30827068 14.0789474,6.51879699 C12.9548872,7.64285714 11.8045113,8.79323308 10.6466165,9.94736842 C11.8308271,11.1353383 12.981203,12.2857143 14.1240602,13.4285714 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n      </g>\n    </svg>\n  </symbol>\n  <symbol id=\"trash\">\n    <svg width=\"18px\" height=\"19px\" viewBox=\"0 -1 18 19\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"delete\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <path d=\"M9.00427553,3.98288509 L14.6052257,3.98288509 C15.1482185,3.98288509 15.327791,4.20293399 15.272209,4.76185819 C15.143943,6.06894866 15.024228,7.37163814 14.9045131,8.67872861 C14.767696,10.1398533 14.6308789,11.596577 14.4940618,13.0577017 C14.3615202,14.4968215 14.2247031,15.9315403 14.0921615,17.3706601 C14.0536817,17.7843521 13.8783848,17.9647922 13.4764846,17.9647922 L4.52351544,17.9647922 C4.12589074,17.9647922 3.95059382,17.7843521 3.91211401,17.3662592 C3.76247031,15.7555012 3.60855107,14.1403423 3.45890736,12.5295844 C3.30926366,10.9232274 3.16389549,9.32127139 3.01425178,7.71491443 C2.92019002,6.72469438 2.8304038,5.73007335 2.73206651,4.7398533 C2.6807601,4.21173594 2.86888361,3.98728606 3.38622328,3.98728606 C5.25463183,3.98288509 7.12731591,3.98288509 9.00427553,3.98288509 Z M4.89976247,16.8909535 L13.1045131,16.8909535 C13.472209,12.9388753 13.839905,9.00440098 14.207601,5.06112469 L3.79667458,5.06112469 C4.16437055,9.01320293 4.53206651,12.9432763 4.89976247,16.8909535 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n        <path d=\"M6.36199525,1.89682152 C6.49881235,0.955012225 6.96057007,0.338875306 7.82850356,0.0792176039 C8.02090261,0.02200489 8.23467933,0.00880195599 8.43990499,0.00880195599 C8.95296912,0.00880195599 9.47030879,-0.026405868 9.97482185,0.04400978 C10.8684086,0.167237164 11.4926366,0.866992665 11.6166271,1.78679707 C11.6209026,1.81320293 11.6294537,1.84400978 11.6380048,1.89682152 L11.8646081,1.89682152 C12.6213777,1.89682152 13.3738717,1.89242054 14.1306413,1.89682152 C15.8066508,1.90562347 17.2988124,2.95745721 17.9144893,4.56381418 C17.9315914,4.61222494 17.9529691,4.6606357 17.9657957,4.70904645 C18.0598575,5.00831296 17.935867,5.29437653 17.6750594,5.4 C17.4014252,5.51002445 17.1106888,5.37359413 17.0038005,5.06992665 C16.8114014,4.52860636 16.512114,4.06210269 16.080285,3.69242054 C15.5159145,3.20831296 14.8703088,2.95745721 14.1391924,2.95745721 C10.7273159,2.95305623 7.31543943,2.95305623 3.90356295,2.95745721 C2.59952494,2.95745721 1.51353919,3.73643032 1.03467933,4.99511002 C0.957719715,5.19755501 0.855106888,5.36479218 0.637054632,5.41760391 C0.444655582,5.46161369 0.26935867,5.41760391 0.132541568,5.2591687 C-0.00855106888,5.09633252 -0.0299287411,4.90709046 0.0427553444,4.70464548 C0.30783848,3.94767726 0.739667458,3.31393643 1.35534442,2.81662592 C2.09928741,2.20488998 2.95011876,1.90562347 3.90356295,1.90122249 C4.6432304,1.89682152 5.3871734,1.90122249 6.12684086,1.90122249 C6.19952494,1.89682152 6.27648456,1.89682152 6.36199525,1.89682152 Z M7.43087886,1.88801956 L10.5776722,1.88801956 C10.5391924,1.4391198 10.1672209,1.07823961 9.71401425,1.06503667 C9.23942993,1.05183374 8.76057007,1.05183374 8.28598575,1.06503667 C7.8327791,1.07823961 7.45653207,1.44792176 7.43087886,1.88801956 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n        <path d=\"M7.39667458,14.6772616 C7.38812352,14.800489 7.39667458,14.9281174 7.36674584,15.0469438 C7.3111639,15.2669927 7.0760095,15.4166259 6.85795724,15.403423 C6.62280285,15.39022 6.4175772,15.2185819 6.39192399,14.9677262 C6.34061758,14.5188264 6.31068884,14.0655257 6.27648456,13.6122249 C6.13539192,11.807824 5.99857482,10.003423 5.85748219,8.20342298 C5.83182898,7.84694377 5.80190024,7.48606357 5.77624703,7.12958435 C5.75486936,6.82151589 5.95581948,6.5794621 6.24228029,6.55305623 C6.53301663,6.52665037 6.76817102,6.71589242 6.79382423,7.03276284 C6.87933492,8.00977995 6.952019,8.99119804 7.02897862,9.96821516 C7.14869359,11.5393643 7.26840855,13.1105134 7.38812352,14.6772616 L7.39667458,14.6772616 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n        <path d=\"M10.6204276,14.6244499 C10.7444181,13.0268949 10.8726841,11.4249389 10.9966746,9.82738386 C11.0608076,9.00440098 11.1206651,8.17701711 11.1847981,7.34963325 C11.1933492,7.2396088 11.2019002,7.12958435 11.2147268,7.0195599 C11.2574822,6.70709046 11.47981,6.51784841 11.7748219,6.54425428 C12.0570071,6.57066015 12.2536817,6.81711491 12.232304,7.12958435 C12.1767221,7.8601467 12.1211401,8.59070905 12.0655582,9.32127139 C11.9586698,10.7075795 11.8475059,12.0938875 11.7406176,13.4845966 C11.7021378,13.9731051 11.672209,14.4660147 11.6209026,14.9501222 C11.5909739,15.2361858 11.3387173,15.4254279 11.0779097,15.399022 C10.8,15.3726161 10.607601,15.1437653 10.6118765,14.8400978 C10.6118765,14.7696822 10.6204276,14.6992665 10.6204276,14.6244499 L10.6204276,14.6244499 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n        <path d=\"M9.51306413,10.9848411 C9.51306413,12.2699267 9.51733967,13.5506112 9.51306413,14.8356968 C9.51306413,15.2713936 9.11971496,15.5354523 8.76484561,15.3418093 C8.56389549,15.2317848 8.48266033,15.0469438 8.48693587,14.8136919 C8.4912114,13.9202934 8.48693587,13.0224939 8.48693587,12.1290954 L8.48693587,7.13398533 C8.48693587,6.79511002 8.66223278,6.5794621 8.94441805,6.54865526 C9.26935867,6.51784841 9.5087886,6.75110024 9.5087886,7.10757946 C9.51306413,8.09779951 9.5087886,9.08801956 9.5087886,10.0782396 C9.51733967,10.3819071 9.51733967,10.6811736 9.51306413,10.9848411 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"></path>\n      </g>\n    </svg>\n  </symbol>\n  <symbol class=\"close\">\n    <svg width=\"47px\" height=\"47px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <desc>Created with Sketch.</desc>\n      <defs></defs>\n      <g id=\"close\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(27.000000, 0.000000)\">\n        <path d=\"M24.816,0 C25.5915,0.101833333 26.367,0.172333333 27.1346667,0.297666667 C32.3595,1.15933333 36.7931667,3.53283333 40.4435,7.34766667 C44.0155,11.0841667 46.2166667,15.5256667 46.7963333,20.6721667 C47.6736667,28.4506667 45.1748333,35.0776667 39.574,40.4983333 C35.8845,44.0703333 31.4273333,46.2323333 26.32,46.8041667 C18.5415,47.6815 11.9145,45.1826667 6.49383333,39.5818333 C2.914,35.8923333 0.759833333,31.4351667 0.188,26.3278333 C-0.705,18.5415 1.80166667,11.8988333 7.41816667,6.47816667 C11.092,2.92183333 15.5335,0.861666667 20.6016667,0.180166667 C21.1186667,0.109666667 21.6356667,0.0626666667 22.1526667,0 L24.816,0 Z M2.02883333,23.4765 C2.01316667,35.4536667 11.4836667,44.9398333 23.4686667,44.9476667 C35.4223333,44.9555 44.9085,35.5006667 44.932,23.5391667 C44.9555,11.562 35.4928333,2.068 23.5156667,2.0445 C11.5306667,2.02883333 2.0445,11.4993333 2.02883333,23.4765 Z\"\n          id=\"Shape\" fill=\"#C23310\"></path>\n        <path d=\"M23.2336667,21.9176667 C23.3746667,21.714 23.4373333,21.573 23.5391667,21.4711667 C25.6698333,19.3326667 27.8005,17.202 29.939,15.0791667 C30.1426667,14.8755 30.456,14.711 30.738,14.6561667 C31.161,14.5778333 31.4978333,14.805 31.6936667,15.1888333 C31.8895,15.5726667 31.8503333,15.9486667 31.5918333,16.2933333 C31.5056667,16.4108333 31.396,16.5048333 31.2941667,16.6066667 C29.2026667,18.706 27.1033333,20.7975 25.004,22.889 C24.9021667,22.9908333 24.7846667,23.0691667 24.6358333,23.1945 C24.7846667,23.3511667 24.8865,23.4608333 24.9883333,23.5705 C27.1425,25.7246667 29.2888333,27.871 31.443,30.0251667 C31.7798333,30.362 31.9051667,30.7536667 31.7328333,31.2001667 C31.5761667,31.5996667 31.255,31.8738333 30.832,31.8268333 C30.5265,31.7955 30.1661667,31.6388333 29.9468333,31.4195 C27.8005,29.3045 25.6698333,27.166 23.5391667,25.0275 C23.4373333,24.9256667 23.3746667,24.7925 23.2728333,24.6515 C23.0926667,24.816 22.9908333,24.91 22.889,25.0118333 C20.7661667,27.1346667 18.6433333,29.2575 16.5126667,31.3803333 C16.3481667,31.5448333 16.1601667,31.7015 15.9486667,31.7876667 C15.5256667,31.96 15.0321667,31.7798333 14.7736667,31.4038333 C14.523,31.0435 14.5308333,30.5578333 14.8128333,30.1975 C14.899,30.0878333 15.0086667,29.986 15.1105,29.8841667 C17.2176667,27.777 19.317,25.6698333 21.4241667,23.5705 C21.526,23.4686667 21.6591667,23.3981667 21.7845,23.3041667 C21.62,23.1318333 21.526,23.03 21.4241667,22.9281667 C19.2935,20.7975 17.155,18.6668333 15.0321667,16.5283333 C14.8441667,16.3403333 14.6875,16.0896667 14.617,15.8468333 C14.4995,15.4473333 14.7188333,15.0243333 15.0713333,14.805 C15.4395,14.5778333 15.9016667,14.5935 16.2463333,14.8676667 C16.356,14.9538333 16.4578333,15.0635 16.5596667,15.1653333 C18.6668333,17.2725 20.774,19.3718333 22.8733333,21.479 C22.9986667,21.573 23.077,21.6983333 23.2336667,21.9176667 Z\"\n          id=\"Shape\" fill=\"#C23310\"></path>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "src/pe-travel-card/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Card\",\n  \"common-name\": \"Travel Card\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Steven Gregory\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"card\"\n  ],\n  \"name\": \"pe-travel-card\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"This can be used to quickly craft a travel card widget.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-travel-card/pe-travel-card.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-19 00:28:01\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Travel Card</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>6565bf80dbde7600b793f2b6ae961936</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>db0fa490db12b600b793f2b6ae9619e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_253737c0dbde7600b793f2b6ae9619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>866</size_bytes><size_compressed>889</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:24:03</sys_created_on><sys_id>253737c0dbde7600b793f2b6ae9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 20:24:03</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>8127f7c0dbde7600b793f2b6ae9619a5</table_sys_id></sys_attachment></record_update>]]></payload>\n<remote_update_set display_value=\"PE Travel Card\">db0fa490db12b600b793f2b6ae9619e6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>130fa490db12b600b793f2b6ae9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_653737c0dbde7600b793f2b6ae9619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"253737c0dbde7600b793f2b6ae9619d5\">253737c0dbde7600b793f2b6ae9619d5</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:24:03</sys_created_on><sys_id>653737c0dbde7600b793f2b6ae9619d5</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Travel Card\">db0fa490db12b600b793f2b6ae9619e6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>530fa490db12b600b793f2b6ae9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<table/>\n<target_name>653737c0dbde7600b793f2b6ae9619d5</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_8127f7c0dbde7600b793f2b6ae9619a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>46</height><image/><name>roaming.png</name><size_bytes>866</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:23:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>8127f7c0dbde7600b793f2b6ae9619a5</sys_id><sys_mod_count>1</sys_mod_count><sys_name>roaming.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_8127f7c0dbde7600b793f2b6ae9619a5</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 20:24:03</sys_updated_on><thumbnail/><width>47</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>866</size_bytes><size_compressed>889</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:24:03</sys_created_on><sys_id>253737c0dbde7600b793f2b6ae9619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-04-18 20:24:03</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>8127f7c0dbde7600b793f2b6ae9619a5</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"253737c0dbde7600b793f2b6ae9619d5\">253737c0dbde7600b793f2b6ae9619d5</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:24:03</sys_created_on><sys_id>653737c0dbde7600b793f2b6ae9619d5</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AWIDnfyJUE5HDQoaCgAAAA1JSERSAAAALwAAAC4IBgAAALh7QAkAAAABc1JHQgCuzhzpAAADHElEQVRoBe2Zz2sTQRTH581MNk2reJCiSEsv9qInD+K1eBJPghQTm5LmP2gvgh6LYhFBevcgUoMheIoXlR68KjmoBw9CPFS8xEuhsWk2M8+3KU3CZrbZbrPbCDuHsvPed9588mV/zEyBjWBLL+ZWAPlVQhMmPADcYwrXpSl50jGOcIshVpGxz2YWWEHQ70cSnoBtxfSb4quXb03wmezSDSfOTclRiHGApCcH7N9OIwvvCd6TiOF7zIj0MnY+Urt7JvuvnY/kPZ9O56cRW6e01NBjXPcSQDW2t7fK5fLfbnDwVSTwIPEFgJgRKLzgpuSZs3cI98Ng5K4iEngGkNJaLevm7mZ36u6VTE68Q4apbsTfVTTwiCiQNYql0q4Jiz73yhQfFIvsgUXOzff7IMJD8pHBH8IQOBXDB7bumAODPLCQWcg9oDfILIB5SU2biAao5lqhUKgek+/Q4UeGn5+f54zzBUS9yRB+9lVHBGr3NLcKlBsteAcWEHc1U89fb2x86YOnQGYxf5u2cabUUGOBH1hyd8yTBM23k6c+YCIwfMD5hjoshh+qnUco5rxtgJasU5zjmFLmJasQrZZt279KpVLzCLVDl8q5uaUkSFZGYCkuuG2aETF5jlnWdcp9M+VPKiYnJ+vAYEJqzbK6Wf/uBklQY9z6mEC03LmT7rc/UoCM2O063RY7biD6KIlE0gq0ZHXXGna/87aRWhqXrNVqtaMZ9uTHrTeyYH5+WAzvx6UwNLHzYbjqp2bsvB+XwtDEzofhqp+asfN+XApDEzsfhqt+anacB7CNJ7iVSsXZoGh3MWiBUd/WQb/eOYhy1zjo03K2b8mtkf5F79VwX99ez9Mu6jQIay2dzf/hQL3ehsAZsFlFiYMwKcZB8lXS/+7TOyLEy0ypjp5O1pJU9j7pM269RjoFAnaFJu3oqUJCAF8m/U2THhheoxO7oqzVavb56fGHVPwCjee6t0SblgIIq3pvZ8vp0oZF383mHtPWd8aspwzgI0T7R3v4/p+ntDu+SD9KmOqTLU8auvn1QK80WwcBl7z0dJ71jHg//QNy+/ea8UlLHwAAAABJRU5ErkJggmWUcmBiAwAA</data><length>1172</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"253737c0dbde7600b793f2b6ae9619d5\">253737c0dbde7600b793f2b6ae9619d5</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:24:03</sys_created_on><sys_id>e53737c0dbde7600b793f2b6ae9619d5</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Travel Card\">db0fa490db12b600b793f2b6ae9619e6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>5f0fa490db12b600b793f2b6ae9619e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<table/>\n<target_name>roaming.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_e53737c0dbde7600b793f2b6ae9619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AWIDnfyJUE5HDQoaCgAAAA1JSERSAAAALwAAAC4IBgAAALh7QAkAAAABc1JHQgCuzhzpAAADHElEQVRoBe2Zz2sTQRTH581MNk2reJCiSEsv9qInD+K1eBJPghQTm5LmP2gvgh6LYhFBevcgUoMheIoXlR68KjmoBw9CPFS8xEuhsWk2M8+3KU3CZrbZbrPbCDuHsvPed9588mV/zEyBjWBLL+ZWAPlVQhMmPADcYwrXpSl50jGOcIshVpGxz2YWWEHQ70cSnoBtxfSb4quXb03wmezSDSfOTclRiHGApCcH7N9OIwvvCd6TiOF7zIj0MnY+Urt7JvuvnY/kPZ9O56cRW6e01NBjXPcSQDW2t7fK5fLfbnDwVSTwIPEFgJgRKLzgpuSZs3cI98Ng5K4iEngGkNJaLevm7mZ36u6VTE68Q4apbsTfVTTwiCiQNYql0q4Jiz73yhQfFIvsgUXOzff7IMJD8pHBH8IQOBXDB7bumAODPLCQWcg9oDfILIB5SU2biAao5lqhUKgek+/Q4UeGn5+f54zzBUS9yRB+9lVHBGr3NLcKlBsteAcWEHc1U89fb2x86YOnQGYxf5u2cabUUGOBH1hyd8yTBM23k6c+YCIwfMD5hjoshh+qnUco5rxtgJasU5zjmFLmJasQrZZt279KpVLzCLVDl8q5uaUkSFZGYCkuuG2aETF5jlnWdcp9M+VPKiYnJ+vAYEJqzbK6Wf/uBklQY9z6mEC03LmT7rc/UoCM2O063RY7biD6KIlE0gq0ZHXXGna/87aRWhqXrNVqtaMZ9uTHrTeyYH5+WAzvx6UwNLHzYbjqp2bsvB+XwtDEzofhqp+asfN+XApDEzsfhqt+anacB7CNJ7iVSsXZoGh3MWiBUd/WQb/eOYhy1zjo03K2b8mtkf5F79VwX99ez9Mu6jQIay2dzf/hQL3ehsAZsFlFiYMwKcZB8lXS/+7TOyLEy0ypjp5O1pJU9j7pM269RjoFAnaFJu3oqUJCAF8m/U2THhheoxO7oqzVavb56fGHVPwCjee6t0SblgIIq3pvZ8vp0oZF383mHtPWd8aspwzgI0T7R3v4/p+ntDu+SD9KmOqTLU8auvn1QK80WwcBl7z0dJ71jHg//QNy+/ea8UlLHwAAAABJRU5ErkJggmWUcmBiAwAA</data><length>1172</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"253737c0dbde7600b793f2b6ae9619d5\">253737c0dbde7600b793f2b6ae9619d5</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-04-18 20:24:03</sys_created_on><sys_id>e53737c0dbde7600b793f2b6ae9619d5</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Travel Card\">db0fa490db12b600b793f2b6ae9619e6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>930fa490db12b600b793f2b6ae9619e7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<table/>\n<target_name>e53737c0dbde7600b793f2b6ae9619d5</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_f4dffb44dbde7600b793f2b6ae9619a8</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-travel-card-svg&lt;/id&gt;&lt;sp_widget display_value=\"PE Travel Card\"&gt;10f573c0dbde7600b793f2b6ae96198e&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-18 21:01:56&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f4dffb44dbde7600b793f2b6ae9619a8&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-travel-card-svg&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_f4dffb44dbde7600b793f2b6ae9619a8&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 21:25:52&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"change\"&gt;\n    &lt;svg width=\"16px\" height=\"17px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Group-3\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;path d=\"M12.556682,0 C13.1612903,0.0746104894 13.6774194,0.119376783 14.1861751,0.201448321 C14.318894,0.223831468 14.4516129,0.313364055 14.5548387,0.410357691 C14.8423963,0.678955453 15.0930876,0.992319508 15.3953917,1.24599517 C15.7493088,1.53697608 15.8082949,1.92495063 15.9115207,2.34276937 C16.162212,3.31270573 15.7788018,3.93197279 15.1078341,4.59600614 C11.7677419,7.89378977 8.48663594,11.2512618 5.18341014,14.5938117 C4.91059908,14.8698705 4.6156682,15.0414747 4.24700461,15.1384683 C3.0156682,15.4742155 1.79170507,15.8472679 0.567741935,16.1904762 C0.412903226,16.2352425 0.162211982,16.2352425 0.0737327189,16.1457099 C-0.0147465438,16.0487163 -0.00737327189,15.8025016 0.0368663594,15.6383586 C0.398156682,14.3102919 0.774193548,12.9896862 1.15760369,11.6690805 C1.20921659,11.4900154 1.3124424,11.2960281 1.44516129,11.1691903 C5.0359447,7.51327628 8.64147465,3.8573623 12.2470046,0.216370419 C12.3428571,0.0969936362 12.4903226,0.0373052447 12.556682,0 Z M5.0359447,13.7805574 C5.14654378,13.6761027 5.24976959,13.5791091 5.35299539,13.4821154 C8.50138249,10.3037086 11.635023,7.11037964 14.7981567,3.94689489 C15.1889401,3.55145929 15.3732719,3.20078999 15.2700461,2.61882818 C15.1963134,2.17862629 15.0930876,1.81303489 14.7391705,1.52951503 C14.5695853,1.3877551 14.4368664,1.19376783 14.2599078,1.06693 C14.0976959,0.947553215 13.9059908,0.858020628 13.721659,0.805793285 C13.5004608,0.746104894 13.2571429,0.761026991 13.0285714,0.716260698 C12.7705069,0.671494404 12.6009217,0.753565943 12.4165899,0.940092166 C9.16497696,4.25279789 5.90599078,7.55058152 2.65437788,10.8483652 C2.57327189,10.9304367 2.4921659,11.0274303 2.41105991,11.1169629 C3.91520737,11.3780996 4.78525346,12.2510424 5.0359447,13.7805574 Z M4.35023041,14.3998244 C4.36497696,13.5940312 4.2764977,12.8628484 3.56866359,12.3853412 C3.45069124,12.3032697 3.36958525,12.1689708 3.2516129,12.0794382 C3.16313364,12.0048277 3.05253456,11.9376783 2.94193548,11.9227562 C2.63963134,11.8705289 2.33732719,11.8406847 2.02764977,11.8183015 C1.93917051,11.8108405 1.79170507,11.8705289 1.76958525,11.9227562 C1.58525346,12.5271012 1.42304147,13.1463682 1.24608295,13.7656353 C1.85806452,13.9820057 2.22672811,14.3923634 2.43317972,14.9594031 C3.09677419,14.7654158 3.73087558,14.5788896 4.35023041,14.3998244 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"cancel\"&gt;\n    &lt;svg width=\"20px\" height=\"21px\" viewBox=\"0 -1 20 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Group\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;path d=\"M9.98120301,7.0305344e-15 C15.4774436,-0.00751879699 19.962406,4.46992481 19.9774436,9.97744361 C19.9887218,15.4736842 15.4887218,19.981203 9.98496241,19.9774436 C4.48496241,19.9736842 0,15.4887218 0,9.9887218 C0,4.4887218 4.47744361,0.00751879699 9.98120301,7.0305344e-15 Z M0.958646617,9.9887218 C0.958646617,14.9736842 5.0112782,19.0263158 9.9924812,19.018797 C14.9774436,19.0150376 19.0075188,14.9849624 19.018797,9.9962406 C19.0300752,5.01879699 14.981203,0.962406015 9.9924812,0.954887218 C5.0075188,0.95112782 0.958646617,5 0.958646617,9.9887218 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n        &lt;path d=\"M14.1240602,13.4285714 C13.8834586,13.6691729 13.6691729,13.887218 13.443609,14.1165414 C12.2969925,12.9699248 11.1466165,11.8195489 9.9887218,10.6578947 C8.83082707,11.8195489 7.68045113,12.9699248 6.53383459,14.1165414 C6.30451128,13.887218 6.09022556,13.6691729 5.86842105,13.443609 C7.0075188,12.3045113 8.16165414,11.1541353 9.31578947,10 L5.85338346,6.53759398 C6.09022556,6.30451128 6.30827068,6.09398496 6.52631579,5.87969925 C7.65789474,7.0112782 8.80827068,8.16165414 9.95864662,9.31578947 C11.1315789,8.14285714 12.2819549,6.9924812 13.4323308,5.84210526 C13.6654135,6.08646617 13.8759398,6.30827068 14.0789474,6.51879699 C12.9548872,7.64285714 11.8045113,8.79323308 10.6466165,9.94736842 C11.8308271,11.1353383 12.981203,12.2857143 14.1240602,13.4285714 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n  &lt;symbol id=\"trash\"&gt;\n    &lt;svg width=\"18px\" height=\"19px\" viewBox=\"0 -1 18 19\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"delete\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;path d=\"M9.00427553,3.98288509 L14.6052257,3.98288509 C15.1482185,3.98288509 15.327791,4.20293399 15.272209,4.76185819 C15.143943,6.06894866 15.024228,7.37163814 14.9045131,8.67872861 C14.767696,10.1398533 14.6308789,11.596577 14.4940618,13.0577017 C14.3615202,14.4968215 14.2247031,15.9315403 14.0921615,17.3706601 C14.0536817,17.7843521 13.8783848,17.9647922 13.4764846,17.9647922 L4.52351544,17.9647922 C4.12589074,17.9647922 3.95059382,17.7843521 3.91211401,17.3662592 C3.76247031,15.7555012 3.60855107,14.1403423 3.45890736,12.5295844 C3.30926366,10.9232274 3.16389549,9.32127139 3.01425178,7.71491443 C2.92019002,6.72469438 2.8304038,5.73007335 2.73206651,4.7398533 C2.6807601,4.21173594 2.86888361,3.98728606 3.38622328,3.98728606 C5.25463183,3.98288509 7.12731591,3.98288509 9.00427553,3.98288509 Z M4.89976247,16.8909535 L13.1045131,16.8909535 C13.472209,12.9388753 13.839905,9.00440098 14.207601,5.06112469 L3.79667458,5.06112469 C4.16437055,9.01320293 4.53206651,12.9432763 4.89976247,16.8909535 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n        &lt;path d=\"M6.36199525,1.89682152 C6.49881235,0.955012225 6.96057007,0.338875306 7.82850356,0.0792176039 C8.02090261,0.02200489 8.23467933,0.00880195599 8.43990499,0.00880195599 C8.95296912,0.00880195599 9.47030879,-0.026405868 9.97482185,0.04400978 C10.8684086,0.167237164 11.4926366,0.866992665 11.6166271,1.78679707 C11.6209026,1.81320293 11.6294537,1.84400978 11.6380048,1.89682152 L11.8646081,1.89682152 C12.6213777,1.89682152 13.3738717,1.89242054 14.1306413,1.89682152 C15.8066508,1.90562347 17.2988124,2.95745721 17.9144893,4.56381418 C17.9315914,4.61222494 17.9529691,4.6606357 17.9657957,4.70904645 C18.0598575,5.00831296 17.935867,5.29437653 17.6750594,5.4 C17.4014252,5.51002445 17.1106888,5.37359413 17.0038005,5.06992665 C16.8114014,4.52860636 16.512114,4.06210269 16.080285,3.69242054 C15.5159145,3.20831296 14.8703088,2.95745721 14.1391924,2.95745721 C10.7273159,2.95305623 7.31543943,2.95305623 3.90356295,2.95745721 C2.59952494,2.95745721 1.51353919,3.73643032 1.03467933,4.99511002 C0.957719715,5.19755501 0.855106888,5.36479218 0.637054632,5.41760391 C0.444655582,5.46161369 0.26935867,5.41760391 0.132541568,5.2591687 C-0.00855106888,5.09633252 -0.0299287411,4.90709046 0.0427553444,4.70464548 C0.30783848,3.94767726 0.739667458,3.31393643 1.35534442,2.81662592 C2.09928741,2.20488998 2.95011876,1.90562347 3.90356295,1.90122249 C4.6432304,1.89682152 5.3871734,1.90122249 6.12684086,1.90122249 C6.19952494,1.89682152 6.27648456,1.89682152 6.36199525,1.89682152 Z M7.43087886,1.88801956 L10.5776722,1.88801956 C10.5391924,1.4391198 10.1672209,1.07823961 9.71401425,1.06503667 C9.23942993,1.05183374 8.76057007,1.05183374 8.28598575,1.06503667 C7.8327791,1.07823961 7.45653207,1.44792176 7.43087886,1.88801956 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n        &lt;path d=\"M7.39667458,14.6772616 C7.38812352,14.800489 7.39667458,14.9281174 7.36674584,15.0469438 C7.3111639,15.2669927 7.0760095,15.4166259 6.85795724,15.403423 C6.62280285,15.39022 6.4175772,15.2185819 6.39192399,14.9677262 C6.34061758,14.5188264 6.31068884,14.0655257 6.27648456,13.6122249 C6.13539192,11.807824 5.99857482,10.003423 5.85748219,8.20342298 C5.83182898,7.84694377 5.80190024,7.48606357 5.77624703,7.12958435 C5.75486936,6.82151589 5.95581948,6.5794621 6.24228029,6.55305623 C6.53301663,6.52665037 6.76817102,6.71589242 6.79382423,7.03276284 C6.87933492,8.00977995 6.952019,8.99119804 7.02897862,9.96821516 C7.14869359,11.5393643 7.26840855,13.1105134 7.38812352,14.6772616 L7.39667458,14.6772616 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n        &lt;path d=\"M10.6204276,14.6244499 C10.7444181,13.0268949 10.8726841,11.4249389 10.9966746,9.82738386 C11.0608076,9.00440098 11.1206651,8.17701711 11.1847981,7.34963325 C11.1933492,7.2396088 11.2019002,7.12958435 11.2147268,7.0195599 C11.2574822,6.70709046 11.47981,6.51784841 11.7748219,6.54425428 C12.0570071,6.57066015 12.2536817,6.81711491 12.232304,7.12958435 C12.1767221,7.8601467 12.1211401,8.59070905 12.0655582,9.32127139 C11.9586698,10.7075795 11.8475059,12.0938875 11.7406176,13.4845966 C11.7021378,13.9731051 11.672209,14.4660147 11.6209026,14.9501222 C11.5909739,15.2361858 11.3387173,15.4254279 11.0779097,15.399022 C10.8,15.3726161 10.607601,15.1437653 10.6118765,14.8400978 C10.6118765,14.7696822 10.6204276,14.6992665 10.6204276,14.6244499 L10.6204276,14.6244499 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n        &lt;path d=\"M9.51306413,10.9848411 C9.51306413,12.2699267 9.51733967,13.5506112 9.51306413,14.8356968 C9.51306413,15.2713936 9.11971496,15.5354523 8.76484561,15.3418093 C8.56389549,15.2317848 8.48266033,15.0469438 8.48693587,14.8136919 C8.4912114,13.9202934 8.48693587,13.0224939 8.48693587,12.1290954 L8.48693587,7.13398533 C8.48693587,6.79511002 8.66223278,6.5794621 8.94441805,6.54865526 C9.26935867,6.51784841 9.5087886,6.75110024 9.5087886,7.10757946 C9.51306413,8.09779951 9.5087886,9.08801956 9.5087886,10.0782396 C9.51733967,10.3819071 9.51733967,10.6811736 9.51306413,10.9848411 Z\"\n          id=\"Shape\" fill=\"#5A5D61\"&gt;&lt;/path&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n  &lt;symbol class=\"close\"&gt;\n    &lt;svg width=\"47px\" height=\"47px\" viewBox=\"0 0 16 17\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"close\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(27.000000, 0.000000)\"&gt;\n        &lt;path d=\"M24.816,0 C25.5915,0.101833333 26.367,0.172333333 27.1346667,0.297666667 C32.3595,1.15933333 36.7931667,3.53283333 40.4435,7.34766667 C44.0155,11.0841667 46.2166667,15.5256667 46.7963333,20.6721667 C47.6736667,28.4506667 45.1748333,35.0776667 39.574,40.4983333 C35.8845,44.0703333 31.4273333,46.2323333 26.32,46.8041667 C18.5415,47.6815 11.9145,45.1826667 6.49383333,39.5818333 C2.914,35.8923333 0.759833333,31.4351667 0.188,26.3278333 C-0.705,18.5415 1.80166667,11.8988333 7.41816667,6.47816667 C11.092,2.92183333 15.5335,0.861666667 20.6016667,0.180166667 C21.1186667,0.109666667 21.6356667,0.0626666667 22.1526667,0 L24.816,0 Z M2.02883333,23.4765 C2.01316667,35.4536667 11.4836667,44.9398333 23.4686667,44.9476667 C35.4223333,44.9555 44.9085,35.5006667 44.932,23.5391667 C44.9555,11.562 35.4928333,2.068 23.5156667,2.0445 C11.5306667,2.02883333 2.0445,11.4993333 2.02883333,23.4765 Z\"\n          id=\"Shape\" fill=\"#C23310\"&gt;&lt;/path&gt;\n        &lt;path d=\"M23.2336667,21.9176667 C23.3746667,21.714 23.4373333,21.573 23.5391667,21.4711667 C25.6698333,19.3326667 27.8005,17.202 29.939,15.0791667 C30.1426667,14.8755 30.456,14.711 30.738,14.6561667 C31.161,14.5778333 31.4978333,14.805 31.6936667,15.1888333 C31.8895,15.5726667 31.8503333,15.9486667 31.5918333,16.2933333 C31.5056667,16.4108333 31.396,16.5048333 31.2941667,16.6066667 C29.2026667,18.706 27.1033333,20.7975 25.004,22.889 C24.9021667,22.9908333 24.7846667,23.0691667 24.6358333,23.1945 C24.7846667,23.3511667 24.8865,23.4608333 24.9883333,23.5705 C27.1425,25.7246667 29.2888333,27.871 31.443,30.0251667 C31.7798333,30.362 31.9051667,30.7536667 31.7328333,31.2001667 C31.5761667,31.5996667 31.255,31.8738333 30.832,31.8268333 C30.5265,31.7955 30.1661667,31.6388333 29.9468333,31.4195 C27.8005,29.3045 25.6698333,27.166 23.5391667,25.0275 C23.4373333,24.9256667 23.3746667,24.7925 23.2728333,24.6515 C23.0926667,24.816 22.9908333,24.91 22.889,25.0118333 C20.7661667,27.1346667 18.6433333,29.2575 16.5126667,31.3803333 C16.3481667,31.5448333 16.1601667,31.7015 15.9486667,31.7876667 C15.5256667,31.96 15.0321667,31.7798333 14.7736667,31.4038333 C14.523,31.0435 14.5308333,30.5578333 14.8128333,30.1975 C14.899,30.0878333 15.0086667,29.986 15.1105,29.8841667 C17.2176667,27.777 19.317,25.6698333 21.4241667,23.5705 C21.526,23.4686667 21.6591667,23.3981667 21.7845,23.3041667 C21.62,23.1318333 21.526,23.03 21.4241667,22.9281667 C19.2935,20.7975 17.155,18.6668333 15.0321667,16.5283333 C14.8441667,16.3403333 14.6875,16.0896667 14.617,15.8468333 C14.4995,15.4473333 14.7188333,15.0243333 15.0713333,14.805 C15.4395,14.5778333 15.9016667,14.5935 16.2463333,14.8676667 C16.356,14.9538333 16.4578333,15.0635 16.5596667,15.1653333 C18.6668333,17.2725 20.774,19.3718333 22.8733333,21.479 C22.9986667,21.573 23.077,21.6983333 23.2336667,21.9176667 Z\"\n          id=\"Shape\" fill=\"#C23310\"&gt;&lt;/path&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Travel Card\">db0fa490db12b600b793f2b6ae9619e6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>9f0fa490db12b600b793f2b6ae9619e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<table/>\n<target_name>pe-travel-card-svg</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_10f573c0dbde7600b793f2b6ae96198e</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TravelCardController($timeout) {\n  var c = this;\n  c.cancelAction = cancelAction;\n\n  function cancelAction() {\n    c.data.canceled = true;\n    $timeout(function() {\n      c.data.hideWidget = true;\n    }, 1500);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.pe-travel-card {&amp;#13;\n  .reminder {&amp;#13;\n    position: relative;&amp;#13;\n    margin-top: 20px;&amp;#13;\n    padding: 15px;&amp;#13;\n    background-color: #f5f5f5;&amp;#13;\n    float: left;&amp;#13;\n    width: 100%;&amp;#13;\n    color: #5a5d61;&amp;#13;\n    a {&amp;#13;\n      color: #5a5d61;&amp;#13;\n    }&amp;#13;\n    &amp;amp;.cancel {&amp;#13;\n      text-align: center;&amp;#13;\n      padding-top: 35px;&amp;#13;\n      padding-bottom: 35px;&amp;#13;\n      h2 {&amp;#13;\n        font-size: 24px;&amp;#13;\n        color: #c0351d;&amp;#13;\n        margin-top: 50px;&amp;#13;\n        margin-bottom: 0;&amp;#13;\n      }&amp;#13;\n      svg {&amp;#13;\n        position: absolute;&amp;#13;\n        margin-left: -50px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .icon {&amp;#13;\n    position: absolute;&amp;#13;\n    top: 25px;&amp;#13;\n  }&amp;#13;\n  .description-wrapper {&amp;#13;\n    padding-left: 65px;&amp;#13;\n    font-size: 15px;&amp;#13;\n  }&amp;#13;\n  ul {&amp;#13;\n    margin-top: 20px;&amp;#13;\n    font-size: 14px;&amp;#13;\n    padding: 0;&amp;#13;\n    li {&amp;#13;\n      position: relative;&amp;#13;\n      list-style: none;&amp;#13;\n      float: left;&amp;#13;\n      width: 33%;&amp;#13;\n      text-align: center;&amp;#13;\n      padding: 0 10px;&amp;#13;\n      &amp;amp;.change svg {&amp;#13;\n        top: 3px;&amp;#13;\n      }&amp;#13;\n      a {&amp;#13;\n        padding-left: 15px;&amp;#13;\n      }&amp;#13;\n      svg {&amp;#13;\n        position: absolute;&amp;#13;\n        top: -1px;&amp;#13;\n        margin-left: -25px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .highlight {&amp;#13;\n    font-weight: 600;&amp;#13;\n    color: #0f888f;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-travel-card&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Travel Card&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-18 20:21:06&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;10f573c0dbde7600b793f2b6ae96198e&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Travel Card&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_10f573c0dbde7600b793f2b6ae96198e&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-18 21:47:01&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-travel-card-svg'\"&gt;&lt;/div&gt;\n&lt;div class=\"pe-travel-card\"&gt;\n  &lt;div class=\"row\" ng-show=\"!c.data.hideWidget\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n      &lt;div class=\"reminder\" ng-show=\"!c.data.canceled\" ng-click=\"c.cancelAction()\"&gt;\n        &lt;div class=\"icon\"&gt;\n          &lt;img src=\"roaming.png\" width=\"47\" height=\"46\" /&gt;\n        &lt;/div&gt;\n        &lt;div class=\"description-wrapper\"&gt;\n          &lt;div class=\"description\"&gt;\n            &lt;span class=\"highlight\"&gt;Automatically enabled international roaming&lt;/span&gt; because you are traveling to London\n            Feb 1 - 4\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;ul class=\"actions\"&gt;\n          &lt;li class=\"change\"&gt;\n            &lt;a href=\"\"&gt;\n              &lt;svg&gt;\n                &lt;use xlink:href=\"#change\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n              Change\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;li&gt;\n            &lt;a href=\"\"&gt;\n              &lt;svg&gt;\n                &lt;use xlink:href=\"#cancel\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n              Cancel\n            &lt;/a&gt;\n          &lt;/li&gt;\n          &lt;li&gt;\n            &lt;a href=\"\"&gt;\n              &lt;svg&gt;\n                &lt;use xlink:href=\"#trash\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n              Don't Do Again\n            &lt;/a&gt;\n          &lt;/li&gt;\n        &lt;/ul&gt;\n      &lt;/div&gt;\n      &lt;div class=\"reminder cancel\" ng-show=\"c.data.canceled\"&gt;\n        &lt;svg&gt;\n          &lt;use xlink:href=\"#close\"&gt;&lt;/use&gt;\n        &lt;/svg&gt;\n        &lt;h2&gt;Cancel&lt;/h2&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Travel Card\">db0fa490db12b600b793f2b6ae9619e6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-19 00:28:01</sys_created_on>\n<sys_id>df0fa490db12b600b793f2b6ae9619e6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-19 00:28:01</sys_updated_on>\n<table/>\n<target_name>PE Travel Card</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-travel-card/widget/pe-travel-card.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-travel-card-svg'\"></div>\n<div class=\"pe-travel-card\">\n  <div class=\"row\" ng-show=\"!c.data.hideWidget\">\n    <div class=\"col-xs-12\">\n      <div class=\"reminder\" ng-show=\"!c.data.canceled\" ng-click=\"c.cancelAction()\">\n        <div class=\"icon\">\n          <img src=\"roaming.png\" width=\"47\" height=\"46\" />\n        </div>\n        <div class=\"description-wrapper\">\n          <div class=\"description\">\n            <span class=\"highlight\">Automatically enabled international roaming</span> because you are traveling to London\n            Feb 1 - 4\n          </div>\n        </div>\n        <ul class=\"actions\">\n          <li class=\"change\">\n            <a href=\"\">\n              <svg>\n                <use xlink:href=\"#change\"></use>\n              </svg>\n              Change\n            </a>\n          </li>\n          <li>\n            <a href=\"\">\n              <svg>\n                <use xlink:href=\"#cancel\"></use>\n              </svg>\n              Cancel\n            </a>\n          </li>\n          <li>\n            <a href=\"\">\n              <svg>\n                <use xlink:href=\"#trash\"></use>\n              </svg>\n              Don't Do Again\n            </a>\n          </li>\n        </ul>\n      </div>\n      <div class=\"reminder cancel\" ng-show=\"c.data.canceled\">\n        <svg>\n          <use xlink:href=\"#close\"></use>\n        </svg>\n        <h2>Cancel</h2>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-travel-card/widget/pe-travel-card.u-client-script.js",
    "content": "function TravelCardController($timeout) {\n  var c = this;\n  c.cancelAction = cancelAction;\n\n  function cancelAction() {\n    c.data.canceled = true;\n    $timeout(function() {\n      c.data.hideWidget = true;\n    }, 1500);\n  }\n}"
  },
  {
    "path": "src/pe-travel-card/widget/pe-travel-card.u-css.scss",
    "content": ".pe-travel-card {\r\n  .reminder {\r\n    position: relative;\r\n    margin-top: 20px;\r\n    padding: 15px;\r\n    background-color: #f5f5f5;\r\n    float: left;\r\n    width: 100%;\r\n    color: #5a5d61;\r\n    a {\r\n      color: #5a5d61;\r\n    }\r\n    &.cancel {\r\n      text-align: center;\r\n      padding-top: 35px;\r\n      padding-bottom: 35px;\r\n      h2 {\r\n        font-size: 24px;\r\n        color: #c0351d;\r\n        margin-top: 50px;\r\n        margin-bottom: 0;\r\n      }\r\n      svg {\r\n        position: absolute;\r\n        margin-left: -50px;\r\n      }\r\n    }\r\n  }\r\n  .icon {\r\n    position: absolute;\r\n    top: 25px;\r\n  }\r\n  .description-wrapper {\r\n    padding-left: 65px;\r\n    font-size: 15px;\r\n  }\r\n  ul {\r\n    margin-top: 20px;\r\n    font-size: 14px;\r\n    padding: 0;\r\n    li {\r\n      position: relative;\r\n      list-style: none;\r\n      float: left;\r\n      width: 33%;\r\n      text-align: center;\r\n      padding: 0 10px;\r\n      &.change svg {\r\n        top: 3px;\r\n      }\r\n      a {\r\n        padding-left: 15px;\r\n      }\r\n      svg {\r\n        position: absolute;\r\n        top: -1px;\r\n        margin-left: -25px;\r\n      }\r\n    }\r\n  }\r\n  .highlight {\r\n    font-weight: 600;\r\n    color: #0f888f;\r\n  }\r\n}"
  },
  {
    "path": "src/pe-travel-card/widget/pe-travel-card.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/README.md",
    "content": "# Typeahead Search - Flat and Rounded Edges\n\n## Description\n\nSearch widget ...\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-typeahead-search-flat-rounded-ends/images/default.png)\n### Instance Options\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-typeahead-search-flat-rounded-ends/images/options.png)\n### Search Results\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-typeahead-search-flat-rounded-ends/images/resultslist.png)\n### Search Results - Highlight\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-typeahead-search-flat-rounded-ends/images/resultlist_highlight.png)\n\n## Additional Information/Notes\n\n> None\n\n\n---\n## Installation\nDownload and install update set **[pe-typeahead-search-flat-rounded-ends.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-typeahead-search-flat-rounded-ends/pe-typeahead-search-flat-rounded-ends.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Behavior\n**Limit** - Number of typeahead search results returned<br/>\n**Contextual Search Sources** - If provided, limit the scope of the typeahead search to the given search sources<br/>\n\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None\n"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/angular-template/sp-typeahead-flat-popup.u-body-html-template.html",
    "content": "<ul class=\"dropdown-menu\" ng-show=\"isOpen() && !moveInProgress\" ng-style=\"{top: position().top+'px', left: position().left+'px'}\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\">\n    <li role='option' aria-hidden='true' style='display: none'></li>    \n  \t<li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" \n        ng-mouseenter=\"selectActive($index)\" \n        ng-click=\"selectMatch($index, $event)\" \n        role=\"option\" id=\"{{::match.id}}\">\n        <div uib-typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"></div>\n    </li>\n</ul>"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/angular-template/sp-typeahead-flat.u-body-html-template.html",
    "content": "<a class=\"ta-item\" ng-href=\"{{match.model.target != '_blank' ? match.model.url : ''}}\" target=\"{{match.model.target}}\">\n  <div ng-if=\"!match.model.templateID\">\n    <i class=\"ta-icon fa fa-{{match.model.glyph}}\" ng-if=\"match.model.glyph\"></i>\n    <span ng-bind-html=\"match.label | uibTypeaheadHighlight:query\"></span>\n  </div>\n  <div ng-if=\"match.model.templateID\" ng-include=\"match.model.templateID\"></div>\n</a>"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Search\",\n  \"common-name\": \"Search - Modern\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"search\",\n    \"bondi\"\n  ],\n  \"name\": \"pe-typeahead-search-flat-rounded-ends\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Search widget with flat and rounded edge styling.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/pe-typeahead-search-flat-rounded-ends.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-13 21:24:38\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Typeahead Search - Flat with Rounded Ends</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>549134d04fefe70005be4d6e0210c77b</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>6ee7356a4f2bef0005be4d6e0210c7b0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_df1534084f63e70005be4d6e0210c7ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>dVZNb+M2EL3vr2DVyy5gUeTwO7C9QA20KLALFGh72Zsaa20hthTIapyf3xlSH8wiTQ7hDMk3M2/eiNl+fr1e2Esz3Nq+2xWSi4I13WN/bLvTrvj7r19LX3zef9jeXk7s3h7H864A/fxasHPTns4jWoasl7a5/9K/7grBBAPNwBQ5qCwYhuluu+I8js8PVXW/3/ld8X44VSCEqBB+OvLwemm7p/cOyhBCFXeL/QeGP9ufypL91nTNUI/98MD+fGrGxzMzwIF9tE5q84mVLAP6pz8317aeyuOP/bW6pTtlOUGO7Xhp9remHsjLrvXYDG192VZpIx06NrfH/WFocPOIrIznKTTfVnErnTqx9rgr/qhPTYn138ahf2p2Rdd3zWyVE6O4/b29XOZNWpfDvxc83bw0XX88TgVnsId6rC/9qfx9bK4FG4e6u33vh+uuiMsLZvaxBGW5iD8bVoLUk/FpjvazAvrNwLMAbYcp/g8ytmwBlsEvuG+BMrDE5zv78cxzjQziqa9acyf0RkmuvWcHbbgLGMssLm3Ro60FSR6QVghwTDvuJGyU4NYBXvPcQlDKBXJJcCE4xXTgyuBVvQFcoQf3yem934BHdHYwgmuQStkNOG4sUByGTktHLHoE5bJ4DNcUbjY1V14FzI5lOAqd8k0o4NpqTHJNR3JaUKwscxDcR4y5OnRAJGWlQAbuIgbLmEJnZCpROVkHrbiVhrJbDgB6VIyV4Uhug11jCe6cj7GyfLD32hPxeeoqcIPx5vKU5wHDIc05B+j9garZM3E5myvZOdDalDla6lueUdbbNflcBqnCRSsrC7mgVrZm4b1R5jf2FT8ymeOLwbjgN5itlICm4wp7piku7SaJKBWrXEzkStpoKoICLiZlGOMUUJYYBAySbqM0gsePmiEYUPgx9BC1ARHYeJ20QVd9PBQUViN9FIdGVXkE1DG/uZpkkTgkhgGzuIglG5QmGAwghPLEJ0kacwoWOxVw6rEZZMuA2VhgymGvgA4TLxIzUcGTV/o4dd7QRYsdIv06ap+ReFUplmZOGGEdqcKuiohD5PEMkBrwMq4hJKUpp3TEt560KAUpD5NAeCei0h3+tWxJVnosR+TlyJgzcjBXLCldFevJeJGWrzNFa+IaPFC60ya2QisqJkKkEmnqBbaaolCDqNVUS/AxlUQWMygiSUpNo4gyRVx6xqSzsS76yiDtioQqY+UaTyBtRkWdZQzNnvnjNJk4UNh/9KBDJl3EeUpqoVjOx3ky4GMwnRRGbdNJd5RmSGqk8VFJo+QFGweB6P+CppV2nYs3Y/KtyF6Dsizn17XYbyt6BN55P6rTD69T7liMuNjSfxH7/wDIlsa90QgAAA==</data><length>1364</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"571534084f63e70005be4d6e0210c7ab\">571534084f63e70005be4d6e0210c7ab</sys_attachment><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:58</sys_created_on><sys_id>df1534084f63e70005be4d6e0210c7ab</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-825715217</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>2ae7356a4f2bef0005be4d6e0210c7b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e8becd9c0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table/>\n<target_name>df1534084f63e70005be4d6e0210c7ab</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_guid>62c7b16a092bef00b59edc314cebdfde</update_guid>\n<update_guid_history>62c7b16a092bef00b59edc314cebdfde:-825715217,0e35f8082763e700827d3ebe22eaee1f:-825715217</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_e0e348324fd7a30005be4d6e0210c7fe</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;sp-typeahead-flat-popup.html&lt;/id&gt;&lt;sp_widget display_value=\"Typeahead Search - Flat and Rounded\"&gt;fe0c9b4d4fe6e74005be4d6e0210c780&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-01 21:20:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;e0e348324fd7a30005be4d6e0210c7fe&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;sp-typeahead-flat-popup.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_e0e348324fd7a30005be4d6e0210c7fe&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-01 21:20:43&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;ul class=\"dropdown-menu\" ng-show=\"isOpen() &amp;&amp; !moveInProgress\" ng-style=\"{top: position().top+'px', left: position().left+'px'}\" role=\"listbox\" aria-hidden=\"{{!isOpen()}}\"&gt;\n    &lt;li role='option' aria-hidden='true' style='display: none'&gt;&lt;/li&gt;    \n  \t&lt;li ng-repeat=\"match in matches track by $index\" ng-class=\"{active: isActive($index) }\" \n        ng-mouseenter=\"selectActive($index)\" \n        ng-click=\"selectMatch($index, $event)\" \n        role=\"option\" id=\"{{::match.id}}\"&gt;\n        &lt;div uib-typeahead-match index=\"$index\" match=\"match\" query=\"query\" template-url=\"templateUrl\"&gt;&lt;/div&gt;\n    &lt;/li&gt;\n&lt;/ul&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1246220140</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>2ee7356a4f2bef0005be4d6e0210c7b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3aa5a230000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table/>\n<target_name>sp-typeahead-flat-popup.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>13a2381446efe7006a9dafe86346c894</update_guid>\n<update_guid_history>13a2381446efe7006a9dafe86346c894:1246220140,84f34432eed7a300311374f82df244ee:1246220140</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_5f1534084f63e70005be4d6e0210c7ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"571534084f63e70005be4d6e0210c7ab\">571534084f63e70005be4d6e0210c7ab</sys_attachment><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:58</sys_created_on><sys_id>5f1534084f63e70005be4d6e0210c7ab</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-663206588</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>66e7356a4f2bef0005be4d6e0210c7b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e8becd740000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table/>\n<target_name>5f1534084f63e70005be4d6e0210c7ab</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_guid>62c7316a422bef0021223213f8978ea1</update_guid>\n<update_guid_history>62c7316a422bef0021223213f8978ea1:-663206588,4e35f808a163e7005314f6244a96351e:-663206588</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_c8c3c4324fd7a30005be4d6e0210c764</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;sp-typeahead-flat.html&lt;/id&gt;&lt;sp_widget display_value=\"Typeahead Search - Flat and Rounded\"&gt;fe0c9b4d4fe6e74005be4d6e0210c780&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-02-01 21:20:09&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;c8c3c4324fd7a30005be4d6e0210c764&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;sp-typeahead-flat.html&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_c8c3c4324fd7a30005be4d6e0210c764&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-01 21:20:09&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;a class=\"ta-item\" ng-href=\"{{match.model.target != '_blank' ? match.model.url : ''}}\" target=\"{{match.model.target}}\"&gt;\n  &lt;div ng-if=\"!match.model.templateID\"&gt;\n    &lt;i class=\"ta-icon fa fa-{{match.model.glyph}}\" ng-if=\"match.model.glyph\"&gt;&lt;/i&gt;\n    &lt;span ng-bind-html=\"match.label | uibTypeaheadHighlight:query\"&gt;&lt;/span&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"match.model.templateID\" ng-include=\"match.model.templateID\"&gt;&lt;/div&gt;\n&lt;/a&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1094105298</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>6ae7356a4f2bef0005be4d6e0210c7b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3aa7c050000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table/>\n<target_name>sp-typeahead-flat.html</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_guid>d9b2781416efe700bde39f8283864da8</update_guid>\n<update_guid_history>d9b2781416efe700bde39f8283864da8:-1094105298,fbc3443201d7a300da9b48c4a2be92cf:-1094105298</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_39f434084f63e70005be4d6e0210c721</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category>Service Portal</category><format/><height/><image>571534084f63e70005be4d6e0210c7ab</image><name>icon-search.svg</name><size_bytes>2257</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:35</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>39f434084f63e70005be4d6e0210c721</sys_id><sys_mod_count>2</sys_mod_count><sys_name>icon-search.svg</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_39f434084f63e70005be4d6e0210c721</sys_update_name><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-02-05 22:07:58</sys_updated_on><thumbnail/><width/></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>2257</size_bytes><size_compressed>1031</size_compressed><state/><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:58</sys_created_on><sys_id>571534084f63e70005be4d6e0210c7ab</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-02-05 22:07:58</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>39f434084f63e70005be4d6e0210c721</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"571534084f63e70005be4d6e0210c7ab\">571534084f63e70005be4d6e0210c7ab</sys_attachment><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:58</sys_created_on><sys_id>5f1534084f63e70005be4d6e0210c7ab</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>dVZNb+M2EL3vr2DVyy5gUeTwO7C9QA20KLALFGh72Zsaa20hthTIapyf3xlSH8wiTQ7hDMk3M2/eiNl+fr1e2Esz3Nq+2xWSi4I13WN/bLvTrvj7r19LX3zef9jeXk7s3h7H864A/fxasHPTns4jWoasl7a5/9K/7grBBAPNwBQ5qCwYhuluu+I8js8PVXW/3/ld8X44VSCEqBB+OvLwemm7p/cOyhBCFXeL/QeGP9ufypL91nTNUI/98MD+fGrGxzMzwIF9tE5q84mVLAP6pz8317aeyuOP/bW6pTtlOUGO7Xhp9remHsjLrvXYDG192VZpIx06NrfH/WFocPOIrIznKTTfVnErnTqx9rgr/qhPTYn138ahf2p2Rdd3zWyVE6O4/b29XOZNWpfDvxc83bw0XX88TgVnsId6rC/9qfx9bK4FG4e6u33vh+uuiMsLZvaxBGW5iD8bVoLUk/FpjvazAvrNwLMAbYcp/g8ytmwBlsEvuG+BMrDE5zv78cxzjQziqa9acyf0RkmuvWcHbbgLGMssLm3Ro60FSR6QVghwTDvuJGyU4NYBXvPcQlDKBXJJcCE4xXTgyuBVvQFcoQf3yem934BHdHYwgmuQStkNOG4sUByGTktHLHoE5bJ4DNcUbjY1V14FzI5lOAqd8k0o4NpqTHJNR3JaUKwscxDcR4y5OnRAJGWlQAbuIgbLmEJnZCpROVkHrbiVhrJbDgB6VIyV4Uhug11jCe6cj7GyfLD32hPxeeoqcIPx5vKU5wHDIc05B+j9garZM3E5myvZOdDalDla6lueUdbbNflcBqnCRSsrC7mgVrZm4b1R5jf2FT8ymeOLwbjgN5itlICm4wp7piku7SaJKBWrXEzkStpoKoICLiZlGOMUUJYYBAySbqM0gsePmiEYUPgx9BC1ARHYeJ20QVd9PBQUViN9FIdGVXkE1DG/uZpkkTgkhgGzuIglG5QmGAwghPLEJ0kacwoWOxVw6rEZZMuA2VhgymGvgA4TLxIzUcGTV/o4dd7QRYsdIv06ap+ReFUplmZOGGEdqcKuiohD5PEMkBrwMq4hJKUpp3TEt560KAUpD5NAeCei0h3+tWxJVnosR+TlyJgzcjBXLCldFevJeJGWrzNFa+IaPFC60ya2QisqJkKkEmnqBbaaolCDqNVUS/AxlUQWMygiSUpNo4gyRVx6xqSzsS76yiDtioQqY+UaTyBtRkWdZQzNnvnjNJk4UNh/9KBDJl3EeUpqoVjOx3ky4GMwnRRGbdNJd5RmSGqk8VFJo+QFGweB6P+CppV2nYs3Y/KtyF6Dsizn17XYbyt6BN55P6rTD69T7liMuNjSfxH7/wDIlsa90QgAAA==</data><length>1364</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"571534084f63e70005be4d6e0210c7ab\">571534084f63e70005be4d6e0210c7ab</sys_attachment><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:58</sys_created_on><sys_id>df1534084f63e70005be4d6e0210c7ab</sys_id></sys_attachment_doc></record_update>]]></payload>\n<payload_hash>-815178948</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>a2e7356a4f2bef0005be4d6e0210c7b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e8becd2d0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table/>\n<target_name>icon-search.svg</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_guid>52c7316a932bef000e0bb5654fa7609f</update_guid>\n<update_guid_history>52c7316a932bef000e0bb5654fa7609f:-815178948,8235b808a063e7006332a2a47e216d87:-815178948,171578084b63e7007ab658c3427afbdb:-815178948,9f153408b563e70051c6897060aef3b1:1834242764,5f1534083d63e7009281a5a1b13c1faf:1834242764,310534080a63e700c679196b47482d26:-1189508615</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_571534084f63e70005be4d6e0210c7ab</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><chunk_size_bytes>734003</chunk_size_bytes><compressed>true</compressed><content_type>image/svg+xml</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>2257</size_bytes><size_compressed>1031</size_compressed><state/><sys_created_by>chris.stoll</sys_created_by><sys_created_on>2019-02-05 22:07:58</sys_created_on><sys_id>571534084f63e70005be4d6e0210c7ab</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>chris.stoll</sys_updated_by><sys_updated_on>2019-02-05 22:07:58</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>39f434084f63e70005be4d6e0210c721</table_sys_id></sys_attachment></record_update>]]></payload>\n<payload_hash>-909366665</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>a2e7356a4f2bef0005be4d6e0210c7b2</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e8becd5b0000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_guid>52c7316a382bef0060df0649ace897a0</update_guid>\n<update_guid_history>52c7316a382bef0060df0649ace897a0:-909366665,0a35b8082763e700e813eba0f7fe5488:-909366665</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_fe0c9b4d4fe6e74005be4d6e0210c780</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function ($http, $filter, $location,spAriaUtil, $window, $scope, spAriaFocusManager) {\n\tvar c = this;\n\n\tc.options.glyph = c.options.glyph || 'search';\n\tc.options.title = c.options.title || c.data.searchMsg;\n\tc.options.color = c.options.color || \"default\";\n\tc.searchTerm = c.data.q;\n\n\tc.onSelect = function($item, $model, $label) {\n\t\tc.searchTerm = \"\"; // prevents unexpected result if user quickly clicks search button after selecting\n\t\tif ($item.target)\n\t\t\twindow.open($item.url, $item.target);\n\t\telse {\n\t\t\tvar newUrl = $location.url($item.url);\n\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t}\n\t};\n\tc.clearResults = function() {\n\t\tc.searchTerm = '';\n\t\t$scope.focusInput();\n\t};\n\tc.getResults = function(query) {\n\t\tc.searchResults = false;\n\t\tvar payload = {\n\t\t\t\"query\": query,\n\t\t\t\"portal\": c.data.portalID,\n\t\t\t\"source\": c.data.searchSources,\n\t\t\t\"include_facets\": false,\n\t\t\t\"isTypeahead\": true\n\t\t};\n\t\tif (c.options.limit || c.options.limit == 0)\n\t\t\tpayload.count = c.options.limit;\n\n\t\treturn $http.post(\"/api/now/sp/search\", payload).then(function(response) {\n\t\t\tvar result = response.data.result;\n\t\t\tspAriaUtil.sendLiveMessage(result.results.length + \" \" +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t c.data.resultMsg + \" \" +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t c.data.navigationMsg +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t getNavigationKeys());\n\t\t\treturn result.results.map(function(item) {\n\t\t\t\tvar config = c.data.searchSourceConfiguration[item.__search_source_id__];\n\t\t\t\tif (config.type == \"ADVANCED\") {\n\t\t\t\t\titem.templateID = config.template;\n\t\t\t\t} else {\n\t\t\t\t\titem.glyph = config.glyph;\n\t\t\t\t\tif (!item.url &amp;&amp; config.linkToPage) {\n\t\t\t\t\t\titem.url = \"?id=\" + config.linkToPage;\n\t\t\t\t\t\tif (item.sys_id)\n\t\t\t\t\t\t\titem.url += \"&amp;sys_id=\" + item.sys_id;\n\t\t\t\t\t\tif (item.table)\n\t\t\t\t\t\t\titem.url += \"&amp;table=\" + item.table;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(item){\n\t\t\t\t\tc.searchResults = true;\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t\t});\n\t};\n\n\tc.searchType = c.data.searchType;\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tif(searchSourceChanged(newUrl, oldUrl)) {\n\t\t\tvar newUrlParams = newUrl.match(/t=.+/);\n\t\t\tif(!newUrlParams) {\n\t\t\t\tc.searchType = null;\n\t\t\t} else {\n\t\t\t\tc.searchType = newUrlParams[0].split(\"&amp;\")[0].substring(2);\n\t\t\t}\n\t\t}\n  }\n\n\tfunction searchSourceChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/t=.+/),\n\t\toldUrlParams = oldUrl.match(/t=.+/);\n\n\t\tif(!newUrlParams &amp;&amp; !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams &amp;&amp; oldUrlParams) || (newUrlParams &amp;&amp; !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&amp;\")[0] !== oldUrlParams[0].split(\"&amp;\")[0];\n\t}\n\n\tc.submitSearch = function() {\n\t\tvar shouldReloadPage = c.data.refreshPageOnSearch &amp;&amp; $location.search().id === 'search';\n\t\t\n\t\tif (c.searchTerm) {\n\t\t\tvar newUrl = $location.search({\n\t\t\t\tid: 'search',\n\t\t\t\tspa: '1',\n\t\t\t\tt: c.searchType,\n\t\t\t\tq: c.searchTerm\n\t\t\t});\n\n\t\t\tif (shouldReloadPage)\n\t\t\t\t$scope.$emit(\"sp.page.reload\");\n\t\t\t\n\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t}\n\t};\n\n\tfunction getNavigationKeys() {\n\t\tif($window.navigator.userAgent.indexOf(\"Mac OS X\") &gt; -1)\n\t\t\treturn '⌘';\n\t\treturn 'Control';\n\t}\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$search-bg: #F2F2F2 !default;\n$search-placeholder-color: #323232 !default;\n$search-height: 56px !default;\nul.dropdown-menu {\n  width: 100%;\n  max-width: calc( 100% - calc( $search-height * 2 ) );\n  border-radius: 0px 0px 4px 4px;\n  margin:0px;\n  margin-left: $search-height;\n  overflow-y: auto;\n  max-height: 200px;\n  position: absolute;\n  z-index: 170;\n}\n\nul.dropdown-menu a.ta-item {\n  line-height: 20px;\n  padding: 8px 10px;\n  font-size: 20px;\n  line-height: 28px;\n}\n\nul.dropdown-menu i.ta-icon, i.ta-img {\n    width: 35px;\n    height: 30px;\n    background-size: contain;\n    display: inline-block;\n    background-repeat: no-repeat;\n    background-position: center center;\n    text-align: center;\n    float:left;\n    margin-right: 8px;\n}\n\n.search {\n  position: relative;\n  height: $search-height;\n  margin: 30px 0;\n  font-size: 18px;\n  z-index: 150;\n}\n\n.search-container {\n  height: 100%;\n  width: 100%;\n  border-radius: calc($search-height / 2);\n  background-color: $search-bg;\n  display: flex;\n  align-items: center;\n  position: absolute;\n  z-index: 155;\n\n  form {\n    width: 100%;\n    height: 100%;\n  }\n\n  input {\n    padding-left: 80px;\n    background-color: transparent;\n    border: 0;\n    width: 100%;\n    height: 100%;\n    color: black;\n\n    &amp;amp;::placeholder {\n      color: $search-placeholder-color;\n      opacity: 1;\n    }\n  }\n\n  img {\n    position: absolute;\n    margin-left: 32px;\n  }\n\n .fa-times-circle {\n    padding: 0 25px;\n    font-size: 25px;\n    color: #777;\n  }\n\n}\n&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;typeahead-search-flatrounded&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function ($scope,$el,$attrs,$ctrl) {\n\t\n\tvar lazyLoader = $injector.get(\"lazyLoader\");\n\tlazyLoader.putTemplates($scope.data.typeaheadTemplates);\n\n\t$scope.focusInput = focusInput;\n\t\n\tfunction focusInput () {\n\t\t$el.find('input[name=\"q\"]').focus();\n\t}\n\t\n}]]&gt;&lt;/link&gt;&lt;name&gt;Typeahead Search - Flat and Rounded&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"Number of typeahead search results returned (default 15)\",\"name\":\"limit\",\"section\":\"Behavior\",\"label\":\"Limit\",\"type\":\"integer\"},{\"displayValue\":\"Search Source\",\"hint\":\"If provided, limit the scope of the typeahead search to the given search sources\",\"name\":\"contextual_search_sources\",\"display_value_list\":[],\"section\":\"Behavior\",\"label\":\"Contextual Search Sources\",\"type\":\"glide_list\",\"value\":\"sp_search_source\",\"ed\":{\"reference\":\"sp_search_source\"}}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tif (options.title) {\n\t\toptions.title = gs.getMessage(options.title);\n\t}\n\n\tif (options.refresh_page_on_search_submission == undefined)\n\t\tdata.refreshPageOnSearch = true;\n\telse\n\t\tdata.refreshPageOnSearch = options.refresh_page_on_search_submission;\n\n\tdata.resultMsg = gs.getMessage(\"Search results\");\n\tdata.navigationMsg = gs.getMessage(\"To navigate, use up and down arrow keys while holding \");\n\tdata.portalID = $sp.getPortalRecord().getUniqueValue();\n\tdata.searchMsg = gs.getMessage(\"Search\");\n\tdata.q = $sp.getParameter('q');\n\n\tvar searchSources;\n\tdata.searchType = null;\n\tdata.searchSources = [];\n\tif ($sp.getParameter(\"id\") == \"search\" &amp;&amp; $sp.getParameter(\"t\")) {\n\t\tdata.searchType = $sp.getParameter(\"t\");\n\t\tsearchSources = $sp.getSearchSources(data.portalID);\n\t} else {\n\t\tvar contextualSearchSourceIDs = options.contextual_search_sources || null;\n\t\tsearchSources = $sp.getSearchSources(data.portalID, contextualSearchSourceIDs);\n\t\tif (searchSources.length == 1) {\n\t\t\tdata.searchType = searchSources[0].id;\n\t\t}\n\t}\n\n\tdata.typeaheadTemplates = {};\n\tdata.searchSourceConfiguration = {};\n\tsearchSources.forEach(function(source) {\n\t\tif (source.isTypeaheadEnabled) {\n\t\t\tdata.searchSources.push(source.id);\n\t\t}\n\t\tvar sourceTemplateConfiguration = {};\n\t\tif (source.isAdvancedTypeaheadConfig) {\n\t\t\tsourceTemplateConfiguration.type = \"ADVANCED\";\n\t\t\tsourceTemplateConfiguration.template = \"sp-typeahead-\" + source.id + \".html\";\n\t\t\tdata.typeaheadTemplates[\"sp-typeahead-\" + source.id + \".html\"] = $sp.translateTemplate(source.typeaheadTemplate);\n\t\t} else {\n\t\t\tsourceTemplateConfiguration.type = \"SIMPLE\";\n\t\t\tsourceTemplateConfiguration.glyph = source.typeaheadGlyph;\n\t\t\tsourceTemplateConfiguration.linkToPage = source.typeaheadPage;\n\t\t\tif (!sourceTemplateConfiguration.linkToPage)\n\t\t\t\tconsole.log(\"Warning: No typeahead page or URL provided for search source \" + source.name);\n\t\t}\n\t\tdata.searchSourceConfiguration[source.id] = sourceTemplateConfiguration;\n\t});\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-21 19:48:26&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;fe0c9b4d4fe6e74005be4d6e0210c780&lt;/sys_id&gt;&lt;sys_mod_count&gt;54&lt;/sys_mod_count&gt;&lt;sys_name&gt;Typeahead Search - Flat and Rounded&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_fe0c9b4d4fe6e74005be4d6e0210c780&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-12 19:01:09&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"search\"&gt;\n  &lt;div class=\"search-container\"&gt;\n    &lt;img src=\"/icon-search.svg\" /&gt;\n    &lt;form ng-submit=\"c.submitSearch()\"&gt;\n      &lt;input type=\"hidden\" name=\"id\" value=\"search\"/&gt;\n      &lt;input type=\"hidden\" name=\"t\" value=\"{{c.searchType}}\"/&gt;\n      &lt;input name=\"q\" type=\"text\" placeholder=\"{{::c.options.title}}\" ng-model=\"c.searchTerm\"\n           autocomplete=\"off\"\n           uib-typeahead=\"item as item.primary for item in c.getResults($viewValue)\"\n           typeahead-wait-ms=\"250\"\n           typeahead-focus-first=\"false\"\n           typeahead-on-select=\"c.onSelect($item, $model, $label)\"\n           typeahead-template-url=\"sp-typeahead-flat.html\"\n           typeahead-popup-template-url=\"sp-typeahead-flat-popup.html\"\n           role=\"textbox\"\n           tabindex=\"0\" autocomplete=\"off\"\n           aria-label=\"{{::c.options.title}}\" tabindex=\"0\" aria-haspopup=\"true\"&gt;\n      &lt;!-- ng-change=\"c.getResults()\" --&gt;\n    &lt;/form&gt;\n    &lt;i class=\"fa fa-times-circle\" ng-if=\"c.searchResults\" ng-click=\"c.clearResults()\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n  \n&lt;/div&gt;\n\n]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1911505624</payload_hash>\n<remote_update_set display_value=\"Typeahead Search - Flat with Rounded Ends\">6ee7356a4f2bef0005be4d6e0210c7b0</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-13 21:24:38</sys_created_on>\n<sys_id>eee7356a4f2bef0005be4d6e0210c7b1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168e31596560000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-13 21:24:38</sys_updated_on>\n<table/>\n<target_name>Typeahead Search - Flat and Rounded</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>8b7d0c167667af00c9db944efa40ff62</update_guid>\n<update_guid_history>8b7d0c167667af00c9db944efa40ff62:-1911505624,ba4d8cd2e467af00c0b6397c22ac6e9e:769953616,84f6849eb227af0058f00fcf0bcc374e:-1525231644,4f87bf4e45e3af00d5461aacfe1571bc:769953616,1a55bb0e26e3af0037310efdb0c2f269:-537286599,1c05bb0ef2e3af00dde87c84454ea056:-1110149275,b4a4b3ca27e3af001f9435001cbe1333:1448675163,8f34fb8ae0e3af0067263da483d22f02:440256910,6a427f0aece3af0062f95f48857dbe8e:1385120762,38223f0a4de3af00867638d131ee2ffd:-1161848335,1ce1bfc6c5e3af00c414628b534a0232:-2022704701,6260bf8600e3af00127685fdc77f7f58:-709389509,ea30fb8623e3af00e020fe5dae2600c0:1539940668,327f5c503dafe7008b397b629fca6a79:-1220621129,ccce5810a1afe7002944877b3322fc82:1089976668,4a7e149cd86fe70052d0cb62d0bc0057:-1358109358,a33e90d8c66fe7006d10863c09b42011:276092695,75fd1c58926fe7008f564ef980b0d80e:1230200105,4f557c088763e700a47f5d3c22afe44e:-135737311,26b984fad3d7a300a378f5d13fdfae7e:262578949,a5b98cba07d7a30059849cf4456ff438:-1568870367,4249c8baaed7a30035e25364b5afa0a2:-923704461,4578447a37d7a30004bf0d0e12bafe9d:-1902061990,3a18083a40d7a3000e738c69d4d8ee12:15793900,d8c7c03a95d7a300614f5725c6f26111:227823549,d9a7c03a7fd7a300a1e1b3318f29b60a:-1193299057,f9770cf633d7a30077711871ce5ee774:-179824707,205744f691d7a3003cd284c8dc08c346:-767769400,a50700f6b7d7a300ae4d823986fe2881:-957368256,53b608763fd7a3005e534b971927b476:1511795119,aa66c4f200d7a300dc6c97d803c69886:-1632575661,1a2608b2afd7a300175a92073a586356:165578541,fb95487223d7a3003fa3b745c9f34f8b:1058957414,b404c832ced7a30067bc64694b11c38e:-1717157663,cde2407e0797a30046cae8c23e8e3da7:1553199901,01a2407e9597a300bed3c55547b2a8a1:1023860573,2272403e1597a30014dc3c3e8d279a13:-2070850515,b6d1c8fa5997a30040b510140e1e50fe:787351291,74c14cbadb97a300f85602185bcf965c:-1918132861,4e5140bad897a300e19b63b108b0149f:1831294434,4f10003a9897a300e626a403069d1535:-903227905,959fb7a6d797a3004abfa6b279f254f5:68330298,e82f3f263397a300aeb14c04b49080f3:2107518687,ffbefbe25997a30041d8031fcae8ab45:1851502626,214eb3a23197a300b98831fba8ad9443:-563457004,d01eb7a26697a300e1541af5981f1a4b:1190425745,389d37a2ce97a300bff67bec21815d63:1604357167,7c2db3a23297a300f1ea9c8dc58e1e2c:182444399,beab3fee7057a3000b6b7fb9c6476dd7:672541144,ec1b3fae4457a300e0362a1d1b3651dc:1902062594,b5cabbae4d57a300a2d7d1a840da70a5:-1191805009,9eba77aeeb57a300981e51a99f1e1ee0:-1905071172,c4aa77aeb557a300e84891697ade5a48:-1713101264,213cdb4da1e6e740d1223d2ac03b9540:942687770,720c9b4d27e6e740039acece3c090682:-510775812</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-body-html-template.html",
    "content": "<div class=\"search\">\n  <div class=\"search-container\">\n    <img src=\"/icon-search.svg\" />\n    <form ng-submit=\"c.submitSearch()\">\n      <input type=\"hidden\" name=\"id\" value=\"search\"/>\n      <input type=\"hidden\" name=\"t\" value=\"{{c.searchType}}\"/>\n      <input name=\"q\" type=\"text\" placeholder=\"{{::c.options.title}}\" ng-model=\"c.searchTerm\"\n           autocomplete=\"off\"\n           uib-typeahead=\"item as item.primary for item in c.getResults($viewValue)\"\n           typeahead-wait-ms=\"250\"\n           typeahead-focus-first=\"false\"\n           typeahead-on-select=\"c.onSelect($item, $model, $label)\"\n           typeahead-template-url=\"sp-typeahead-flat.html\"\n           typeahead-popup-template-url=\"sp-typeahead-flat-popup.html\"\n           role=\"textbox\"\n           tabindex=\"0\" autocomplete=\"off\"\n           aria-label=\"{{::c.options.title}}\" tabindex=\"0\" aria-haspopup=\"true\">\n      <!-- ng-change=\"c.getResults()\" -->\n    </form>\n    <i class=\"fa fa-times-circle\" ng-if=\"c.searchResults\" ng-click=\"c.clearResults()\"></i>\n  </div>\n  \n</div>\n\n"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-client-script.js",
    "content": "function ($http, $filter, $location,spAriaUtil, $window, $scope, spAriaFocusManager) {\n\tvar c = this;\n\n\tc.options.glyph = c.options.glyph || 'search';\n\tc.options.title = c.options.title || c.data.searchMsg;\n\tc.options.color = c.options.color || \"default\";\n\tc.searchTerm = c.data.q;\n\n\tc.onSelect = function($item, $model, $label) {\n\t\tc.searchTerm = \"\"; // prevents unexpected result if user quickly clicks search button after selecting\n\t\tif ($item.target)\n\t\t\twindow.open($item.url, $item.target);\n\t\telse {\n\t\t\tvar newUrl = $location.url($item.url);\n\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t}\n\t};\n\tc.clearResults = function() {\n\t\tc.searchTerm = '';\n\t\t$scope.focusInput();\n\t};\n\tc.getResults = function(query) {\n\t\tc.searchResults = false;\n\t\tvar payload = {\n\t\t\t\"query\": query,\n\t\t\t\"portal\": c.data.portalID,\n\t\t\t\"source\": c.data.searchSources,\n\t\t\t\"include_facets\": false,\n\t\t\t\"isTypeahead\": true\n\t\t};\n\t\tif (c.options.limit || c.options.limit == 0)\n\t\t\tpayload.count = c.options.limit;\n\n\t\treturn $http.post(\"/api/now/sp/search\", payload).then(function(response) {\n\t\t\tvar result = response.data.result;\n\t\t\tspAriaUtil.sendLiveMessage(result.results.length + \" \" +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t c.data.resultMsg + \" \" +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t c.data.navigationMsg +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t getNavigationKeys());\n\t\t\treturn result.results.map(function(item) {\n\t\t\t\tvar config = c.data.searchSourceConfiguration[item.__search_source_id__];\n\t\t\t\tif (config.type == \"ADVANCED\") {\n\t\t\t\t\titem.templateID = config.template;\n\t\t\t\t} else {\n\t\t\t\t\titem.glyph = config.glyph;\n\t\t\t\t\tif (!item.url && config.linkToPage) {\n\t\t\t\t\t\titem.url = \"?id=\" + config.linkToPage;\n\t\t\t\t\t\tif (item.sys_id)\n\t\t\t\t\t\t\titem.url += \"&sys_id=\" + item.sys_id;\n\t\t\t\t\t\tif (item.table)\n\t\t\t\t\t\t\titem.url += \"&table=\" + item.table;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(item){\n\t\t\t\t\tc.searchResults = true;\n\t\t\t\t}\n\t\t\t\treturn item;\n\t\t\t});\n\t\t});\n\t};\n\n\tc.searchType = c.data.searchType;\n\t$scope.$on('$locationChangeSuccess', onLocationChangeSuccess);\n\n\tfunction onLocationChangeSuccess(event, newUrl, oldUrl) {\n\t\tif(searchSourceChanged(newUrl, oldUrl)) {\n\t\t\tvar newUrlParams = newUrl.match(/t=.+/);\n\t\t\tif(!newUrlParams) {\n\t\t\t\tc.searchType = null;\n\t\t\t} else {\n\t\t\t\tc.searchType = newUrlParams[0].split(\"&\")[0].substring(2);\n\t\t\t}\n\t\t}\n  }\n\n\tfunction searchSourceChanged(newUrl, oldUrl) {\n\t\tvar newUrlParams = newUrl.match(/t=.+/),\n\t\toldUrlParams = oldUrl.match(/t=.+/);\n\n\t\tif(!newUrlParams && !oldUrlParams) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif((!newUrlParams && oldUrlParams) || (newUrlParams && !oldUrlParams)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn newUrlParams[0].split(\"&\")[0] !== oldUrlParams[0].split(\"&\")[0];\n\t}\n\n\tc.submitSearch = function() {\n\t\tvar shouldReloadPage = c.data.refreshPageOnSearch && $location.search().id === 'search';\n\t\t\n\t\tif (c.searchTerm) {\n\t\t\tvar newUrl = $location.search({\n\t\t\t\tid: 'search',\n\t\t\t\tspa: '1',\n\t\t\t\tt: c.searchType,\n\t\t\t\tq: c.searchTerm\n\t\t\t});\n\n\t\t\tif (shouldReloadPage)\n\t\t\t\t$scope.$emit(\"sp.page.reload\");\n\t\t\t\n\t\t\tspAriaFocusManager.navigateToLink(newUrl.url());\n\t\t}\n\t};\n\n\tfunction getNavigationKeys() {\n\t\tif($window.navigator.userAgent.indexOf(\"Mac OS X\") > -1)\n\t\t\treturn '⌘';\n\t\treturn 'Control';\n\t}\n}"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-css.css",
    "content": "$search-bg: #F2F2F2 !default;\n$search-placeholder-color: #323232 !default;\n$search-height: 56px !default;\nul.dropdown-menu {\n  width: 100%;\n  max-width: calc( 100% - calc( $search-height * 2 ) );\n  border-radius: 0px 0px 4px 4px;\n  margin:0px;\n  margin-left: $search-height;\n  overflow-y: auto;\n  max-height: 200px;\n}\nul.dropdown-menu > li > a{\n  //padding-left: 5px;\n}\n\nul.dropdown-menu a.ta-item {\n  line-height: 20px;\n  padding: 8px 10px;\n  font-size: 20px;\n  line-height: 28px;\n}\n\nul.dropdown-menu i.ta-icon, i.ta-img {\n    width: 35px;\n    height: 30px;\n    background-size: contain;\n    display: inline-block;\n    background-repeat: no-repeat;\n    background-position: center center;\n    text-align: center;\n    float:left;\n    margin-right: 8px;\n}\n\n.search {\n  position: relative;\n  height: $search-height;\n  margin: 30px 0;\n  font-size: 18px;\n}\n\n.search-container {\n  height: 100%;\n  width: 100%;\n  border-radius: calc($search-height / 2);\n  background-color: $search-bg;\n  display: flex;\n  align-items: center;\n  position: absolute;\n  z-index: 51;\n\n  form {\n    width: 100%;\n    height: 100%;\n  }\n\n  input {\n    padding-left: 80px;\n    background-color: transparent;\n    border: 0;\n    width: 100%;\n    height: 100%;\n    color: black;\n\n    &::placeholder {\n      color: $search-placeholder-color;\n      opacity: 1;\n    }\n  }\n\n  img {\n    position: absolute;\n    margin-left: 32px;\n  }\n\n .fa-times-circle {\n    padding: 0 25px;\n    font-size: 25px;\n    color: #777;\n  }\n\n}\n\n.s-results {\n  position: absolute;\n  left: 0;\n  width: calc(100% - 62px);\n  top: $search-height;\n  z-index: 50;\n  padding: 16px;\n  margin: 0 31px;\n  box-shadow: 0 0 10px 0 rgba(0,0,0,0.11);\n  background-color: white;\n  border-radius: 0 0 4px 4px;\n\n  ul {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    overflow: scroll;\n    max-height: 400px;\n    min-height: 100px;\n  }\n\n  li {\n    padding: 5px 32px;\n    margin: 3px 52px 3px 0;\n  }\n\n  li:hover {\n    border-radius: 15px;\n    background-color: #F5F5F5;\n  }\n}"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-link-script.js",
    "content": "function ($scope,$el,$attrs,$ctrl) {\n\t\n\tvar lazyLoader = $injector.get(\"lazyLoader\");\n\tlazyLoader.putTemplates($scope.data.typeaheadTemplates);\n\n\t$scope.focusInput = focusInput;\n\t\n\tfunction focusInput () {\n\t\t$el.find('input[name=\"q\"]').focus();\n\t}\n\t\n}"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-option-schema.json",
    "content": "[\n    {\"hint\":\"Number of typeahead search results returned (default 15)\",\"name\":\"limit\",\"section\":\"Behavior\",\"label\":\"Limit\",\"type\":\"integer\"},\n    {\"displayValue\":\"Search Source\",\"hint\":\"If provided, limit the scope of the typeahead search to the given search sources\",\"name\":\"contextual_search_sources\",\"display_value_list\":[],\"section\":\"Behavior\",\"label\":\"Contextual Search Sources\",\"type\":\"glide_list\",\"value\":\"sp_search_source\",\"ed\":{\"reference\":\"sp_search_source\"}}]"
  },
  {
    "path": "src/pe-typeahead-search-flat-rounded-ends/widget/pe-typeahead-search-flat-rounded-ends.u-server-script.js",
    "content": "(function() {\n\tif (options.title) {\n\t\toptions.title = gs.getMessage(options.title);\n\t}\n\n\tif (options.refresh_page_on_search_submission == undefined)\n\t\tdata.refreshPageOnSearch = true;\n\telse\n\t\tdata.refreshPageOnSearch = options.refresh_page_on_search_submission;\n\n\tdata.resultMsg = gs.getMessage(\"Search results\");\n\tdata.navigationMsg = gs.getMessage(\"To navigate, use up and down arrow keys while holding \");\n\tdata.portalID = $sp.getPortalRecord().getUniqueValue();\n\tdata.searchMsg = gs.getMessage(\"Search\");\n\tdata.q = $sp.getParameter('q');\n\n\tvar searchSources;\n\tdata.searchType = null;\n\tdata.searchSources = [];\n\tif ($sp.getParameter(\"id\") == \"search\" && $sp.getParameter(\"t\")) {\n\t\tdata.searchType = $sp.getParameter(\"t\");\n\t\tsearchSources = $sp.getSearchSources(data.portalID);\n\t} else {\n\t\tvar contextualSearchSourceIDs = options.contextual_search_sources || null;\n\t\tsearchSources = $sp.getSearchSources(data.portalID, contextualSearchSourceIDs);\n\t\tif (searchSources.length == 1) {\n\t\t\tdata.searchType = searchSources[0].id;\n\t\t}\n\t}\n\n\tdata.typeaheadTemplates = {};\n\tdata.searchSourceConfiguration = {};\n\tsearchSources.forEach(function(source) {\n\t\tif (source.isTypeaheadEnabled) {\n\t\t\tdata.searchSources.push(source.id);\n\t\t}\n\t\tvar sourceTemplateConfiguration = {};\n\t\tif (source.isAdvancedTypeaheadConfig) {\n\t\t\tsourceTemplateConfiguration.type = \"ADVANCED\";\n\t\t\tsourceTemplateConfiguration.template = \"sp-typeahead-\" + source.id + \".html\";\n\t\t\tdata.typeaheadTemplates[\"sp-typeahead-\" + source.id + \".html\"] = $sp.translateTemplate(source.typeaheadTemplate);\n\t\t} else {\n\t\t\tsourceTemplateConfiguration.type = \"SIMPLE\";\n\t\t\tsourceTemplateConfiguration.glyph = source.typeaheadGlyph;\n\t\t\tsourceTemplateConfiguration.linkToPage = source.typeaheadPage;\n\t\t\tif (!sourceTemplateConfiguration.linkToPage)\n\t\t\t\tconsole.log(\"Warning: No typeahead page or URL provided for search source \" + source.name);\n\t\t}\n\t\tdata.searchSourceConfiguration[source.id] = sourceTemplateConfiguration;\n\t});\n})();"
  },
  {
    "path": "src/pe-va-sp-widget-v2/README.md",
    "content": "# Virtual Agent SP Widget V2\n\n## Description\n\nIt is not straight forward to change the VA floating button icon without editing the CSS of the widget, because the icon URL is hardcoded.\n\nIn this widget, I have extracted the icon URL into widget options. If you use this widget instead of the OOTB **Virtual Agent Service Portal Widget**, you can switch out the icon easily. Also, added an option to change color of the close icon that is visible when the VA is open.\n\n## Screenshot\n\n![Va Sp Widget V2](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-va-sp-widget-v2/images/va-floating-button.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-va-sp-widget-v2.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-va-sp-widget-v2/pe-va-sp-widget-v2.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n- SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n- Delete the OOTB VA widget from the page and drag and drop **Virtual Agent Service Portal Widget-V2** widget.\n\n- Click on pencil icon to open widget options.\n\n![Va Sp Widget V2](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-va-sp-widget-v2/images/widget-options.png)\n\n- **Floating Button Color** use this to configure the Background color of the Floating button. In our case I have configured it to be **white**.\n- **Floating Button Icon** use this to configure new Icon for the Floating button. This is `db_image` file name. In my case, I have uploaded a new icon to `db-image` table called **now.png**.\n\n**_For Best result make sure the image is not a long words like company names_**\n\n![Va Sp Widget V2](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-va-sp-widget-v2/images/options-explain1.png)\n\n- **Floating Button Cross Icon Color** use this option to change color of the Cross Icon that appears when VA is open.\n\n![Va Sp Widget V2](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-va-sp-widget-v2/images/cross-icon.png)\n\n## Platform Dependencies\n\n### SN System Tables\n\n> None\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$color-darker: #485563;\n$color-white: #ffffff;\n$window-width: 375px;\n$window-height: 600px;\n$button-height: 60px;\n$bottom-margin: 15px;\n$sn-chatbot-animation-speed: 300ms;\n```\n"
  },
  {
    "path": "src/pe-va-sp-widget-v2/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Virtual Agent\",\n  \"common-name\": \"Va Sp Widget V2\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Sushruth Chandrashek\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-va-sp-widget-v2\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Using this widget instead of OOTB 'Virtual Agent Service Portal Widget' you can switch out the icon easily. Also added an option to change color of the close icon that is visible when the VA is open.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-va-sp-widget-v2/pe-va-sp-widget-v2.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-07-09 21:26:08\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Virtual Agent Service Portal Widgets\">a650d4923b201300778f6da0a3efc4c3</application>\n<application_name>Virtual Agent Service Portal Widgets</application_name>\n<application_scope>sn_va_sp_widgets</application_scope>\n<application_version>2.0.2</application_version>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Virtual Agent Service portal widget V2</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>a6182565dbaa7b00239bf9741d961916</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-07-09 21:26:07</sys_created_on>\n<sys_id>f750312ddbaa7b00239bf9741d9619ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-07-09 21:26:07</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Virtual Agent Service Portal Widgets\">a650d4923b201300778f6da0a3efc4c3</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_75953995db16b30006d12957489619c7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function VirtualAgentController($log, $scope, $element, $document, spModal, $q, $timeout, $window) {\n  'use strict';\n\n  var $ctrl = this;\n  var $spContainer = $document.find('.sp-page-root');\n  var $widgetParent = $element.parent();\n\n  $ctrl.isWindowVisible = false;\n  $ctrl.hasUnreadMessages = false;\n  $ctrl.firstPress = false;\n  $ctrl.vaSource = '';\n\n  $ctrl.toggleWindow = function() {\n    if ($ctrl.isWindowVisible) {\n      $ctrl.isWindowVisible = false;\n      $timeout(function() {\n        if (!$ctrl.isWindowVisible) {\n          $element.find('.conversation-container').css('display', 'none');\n          $element.find('.sn-connect-floating').css('display', 'none');\n          $element.find('.sn-connect-floating-wrapper').css('display', 'none');\n\n          // ios overlay hacky fix.\n          $document.find('.touch_scroll').css('-webkit-overflow-scrolling', 'touch');\n        }\n      }, 300);\n    } else {\n      if (!$ctrl.firstPress) {\n        $ctrl.firstPress = true;\n        $ctrl.vaSource = '/$sn-va-web-client-app.do?sysparm_nostack=true&amp;sysparm_stack=no';\n        if ($ctrl.options.va_url_params) {\n          $ctrl.vaSource = $ctrl.vaSource + '&amp;' + $ctrl.options.va_url_params;\n        }\n      }\n      $ctrl.isWindowVisible = true;\n      $ctrl.hasUnreadMessages = false;\n      $element.find('.conversation-container').css('display', 'block');\n      $element.find('.sn-connect-floating').css('display', 'block');\n      $element.find('.sn-connect-floating-wrapper').css('display', 'block');\n\n      // ios overlay hacky fix.\n      $document.find('.touch_scroll').css('-webkit-overflow-scrolling', 'auto');\n    }\n  };\n\n  $window.addEventListener('message', function(e) {\n    if (e.data === 'sn-va-web-client-app-new-message' &amp;&amp; $ctrl.isWindowVisible === false) {\n      $ctrl.hasUnreadMessages = true;\n    } else if (e.data === 'sn-va-web-client-app-trigger-login') {\n      $window.location.reload(true);\n    }\n  });\n\n  $element.find('.help-button').on('mouseup', function(e) {\n    e.target.blur();\n    e.stopPropagation();\n  });\n\n  $element.find('.help-icon').on('mouseup', function(e) {\n    e.target.blur();\n    e.stopPropagation();\n  });\n\n  $ctrl.openWindow = function() {\n    $ctrl.isWindowVisible = true;\n    // delay before clearing unread message indicator\n    // in-case user opens and closes quickly\n    $timeout(function() {\n      if ($ctrl.isWindowVisible) {\n        $ctrl.hasUnreadMessages = false;\n      }\n    }, 500);\n  };\n\n  var _closeWindow = function() {\n    $ctrl.isWindowVisible = false;\n    $ctrl.hasActiveConversation = false;\n  };\n}\n]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;$ctrl&lt;/controller_as&gt;&lt;css&gt;$color-darker: #485563;\n$color-white: #ffffff;\n\n$window-width: 375px;\n$window-height: 600px;\n$button-height: 60px;\n$bottom-margin: 15px;\n\n$sn-chatbot-animation-speed: 300ms;\n\n// OVERRIDE TO DISPLAY RECORD CARDS\n.sn-card-component_records {\n  display: block !important;\n}\n\n.conversation-button-container {\n  position: fixed;\n  right: 30px;\n  bottom: 15px;\n  z-index: 20;\n\n  .conversation-region {\n    position: relative;\n    opacity: 0;\n    visibility: hidden;\n\n\n    &amp;amp;.open {\n      transition: $sn-chatbot-animation-speed ease-in opacity;\n      opacity: 1;\n      visibility: visible;\n\n    }\n  }\n\n\n  .help-button {\n    position: relative;\n    width: 60px;\n    color: #fff;\n    float: right;\n    border: none;\n    height: $button-height;\n    border-radius: 60px;\n    box-shadow: 0px 2px 11px #ababab;\n    -moz-box-shadow: 0px 2px 11px #ababab;\n    -o-box-shadow: 0px 2px 11px #ababab;\n    padding: 0;\n    background-color: #8D8DE0;\n\n    &amp;amp;::before {\n      content: \"\";\n      width: 60px;\n      height: 60px;\n      border-radius: 50%;\n      position: absolute;\n      top: 0;\n      left: 0;\n    }\n\n    &amp;amp;:hover::before {\n    \tbackground-color: rgba(0,0,0,0.2);\n    }\n\n    &amp;amp;:focus {\n      outline: thin dotted;\n      outline-color: gray;\n      outline: 5px auto -webkit-focus-ring-color;\n      outline-offset: 2px;\n    }\n\n    &amp;amp;.state-unread {\n      &amp;amp; &amp;gt; span:after {\n        content: ' ';\n        position: absolute;\n        top: -17px;\n        right: -14px;\n        width: 16px;\n        height: 16px;\n        background-color: #ed6e5c;\n        border-radius: 25px;\n      }\n    }\n\n    .help-icon {\n      pointer-events: none;\n      position: relative;\n    }\n    /*Updated Style */\n    .sn-va-widget-icon {\n\n      height: 32px;\n      top: 1px;\n      left: 12px;\n      width: 36px;\n      display: flex;\n      align-items: center;\n\n    }\n    .icon-img{\n      width: 100%;\n    }\n\n    .icon-close {\n      font-size: 20px;\n\n    }\n\n  }\n}\n\n// window sizing\n.sn-connect-floating {\n  position: relative;\n  bottom: 15px;\n  right: 0;\n  display: none;\n\n  .sn-connect-floating-wrapper {\n    width: $window-width;\n    transition:\n    border-bottom: 1px solid #bdc0c4;\n    margin-right: 0;\n    right: 0;\n    box-shadow: 0px 2px 11px #ababab !important;\n    -moz-box-shadow: 0px 2px 11px #ababab !important;\n    -o-box-shadow: 0px 2px 11px #ababab !important;\n    transition: max-height 0s $sn-chatbot-animation-speed;\n    display: none;\n\n    .conversation-container {\n      height: 100%;\n      display: none;\n\n      .chat-frame {\n        max-height: $window-height;\n        height: calc(100vh - $button-height - ($bottom-margin * 3));\n        width: $window-width;\n        margin-bottom: -5px;\n        border: none;\n        overflow: hidden;\n        background-color: #fff;\n      }\n\n      // Immediate div is autogenerated from serviceportal\n      &amp;amp; &amp;gt; div {\n        height: 100%;\n      }\n    }\n  }\n}\n\n// Mobile SCSS\n@media (max-width: 425px) {\n  .sn-connect-floating {\n    .sn-connect-floating-wrapper {\n      position: fixed;\n      max-height: 100%;\n      width: 100%;\n      left: 0;\n      right: 0;\n      bottom: calc($button-height + 20px);\n      top: 0;\n\n      .conversation-container {\n        position: absolute;\n        max-height: 100%;\n        width: 100%;\n        height: 100%;\n        left: 0;\n        right: 0;\n        top: 0;\n        bottom: 0;\n\n        .chat-frame {\n          position: absolute;\n          width: 100%;\n          height: 100%;\n          left: 0;\n          right: 0;\n          top: 0;\n          bottom: 0;\n        }\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;sn-va-sp-widget-v2&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function(){}]]&gt;&lt;/link&gt;&lt;name&gt;Virtual Agent Service Portal Widget-V2&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"The color of the floating button which opens the virtual agent service portal widget button.\",\"name\":\"button_color\",\"section\":\"Presentation\",\"default_value\":\"#8D8DE0\",\"label\":\"Floating Button Color\",\"type\":\"string\"},{\"hint\":\"The URL parameters to pass to the VA client, for example: sysparm_live_agent_queue=abc123&amp;amp;sysparm_conversation=xzy456\",\"name\":\"va_url_params\",\"section\":\"Behavior\",\"label\":\"Virtual Agent Client URL Parameters\",\"type\":\"string\"},{\"hint\":\"The icon for the floating button\",\"name\":\"floating_button_icon\",\"section\":\"Presentation\",\"default_value\":\"sn-va-sp-widget/sn-va-sp-widget-icon.svg\",\"label\":\"Floating Button Icon\",\"type\":\"string\"},{\"hint\":\"This is the color of the Cross icon that is visible when the VA is open\",\"name\":\"floating_button_cross_icon_color\",\"section\":\"Presentation\",\"default_value\":\"#fff\",\"label\":\"Floating Button Cross Icon Color\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;true&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var instanceGR = $sp.getInstanceRecord();\n  options.va_url_params = options.va_url_params || '';\n  options.button_color = options.button_color || 'red';\n})();\n]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2019-06-26 16:54:44&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;75953995db16b30006d12957489619c7&lt;/sys_id&gt;&lt;sys_mod_count&gt;24&lt;/sys_mod_count&gt;&lt;sys_name&gt;Virtual Agent Service Portal Widget-V2&lt;/sys_name&gt;&lt;sys_package display_value=\"Virtual Agent Service Portal Widgets\" source=\"sn_va_sp_widgets\"&gt;a650d4923b201300778f6da0a3efc4c3&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Virtual Agent Service Portal Widgets\"&gt;a650d4923b201300778f6da0a3efc4c3&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_75953995db16b30006d12957489619c7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-07-09 21:02:53&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"conversation-button-container\"&gt;\n\t&lt;div class=\"conversation-region fade\"\n       ng-class=\"{'open': $ctrl.isWindowVisible}\"&gt;\n    &lt;div class=\"sn-connect sn-connect-floating\"&gt;\n      &lt;div class=\"sn-connect-floating-wrapper loaded\"&gt;\n        &lt;div class=\"conversation-container\"&gt;\n          &lt;iframe class = \"chat-frame\" scrolling=\"no\"  horizontalscrolling=\"no\" verticalscrolling=\"no\" frameborder=\"none\" ng-src=\"{{$ctrl.vaSource}}\"&gt;\n          &lt;/iframe&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;button aria-label=\"${Start Support Conversation}\"\n          class=\"help-button\"\n          ng-attr-tabindex=\"0\"\n          ng-class=\"{'state-open': $ctrl.isWindowVisible, 'state-unread': $ctrl.hasUnreadMessages}\"\n          ng-click=\"$ctrl.toggleWindow()\"\n          ng-style=\"{'background-color': $ctrl.options.button_color}\"\n          ng-attr-tabindex=\"0\"&gt;\n    &lt;div class=\"hover-overlay\"&gt;&lt;/div&gt;\n    &lt;span aria-hidden=\"true\" ng-style=\"{'color': $ctrl.options.floating_button_cross_icon_color}\" ng-if=\"$ctrl.isWindowVisible\" class=\"help-icon icon-close icon-cross\"&gt;&lt;/span&gt;\n    &lt;span aria-hidden=\"true\" ng-if=\"!$ctrl.isWindowVisible\" class=\"help-icon icon-open sn-va-widget-icon\"&gt;\n      &lt;img ng-src=\"{{$ctrl.options.floating_button_icon}}\" class=\"icon-img\" /&gt;\n    &lt;/span&gt;\n  &lt;/button&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1884340672</payload_hash>\n<remote_update_set display_value=\"Virtual Agent Service portal widget V2\">f750312ddbaa7b00239bf9741d9619ea</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2019-07-09 21:26:07</sys_created_on>\n<sys_id>7f50312ddbaa7b00239bf9741d9619ea</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16bd88bdfa30000001</sys_recorded_at>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2019-07-09 21:26:07</sys_updated_on>\n<table/>\n<target_name>Virtual Agent Service Portal Widget-V2</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>eb0b2529a2aa7b004d9b3df03ce85e28</update_guid>\n<update_guid_history>eb0b2529a2aa7b004d9b3df03ce85e28:-1884340672,f73416998356b300600596698a7110ff:-252032340,a8d3529d8292b30011cfe41feb4796b7:1995434424,7bb2529dba92b300d804e431f39a71b3:1352021411,d9b21e55d656b3005906db6e6267d455:-593348628,a972d6555d56b300b92c9c64eeea206e:-673870619,a1221a5d2b92b300b5d3287366a813a3:-1731074655,50021a5d9e92b300cde9ded612be4d9f:411400565,c5c15e59b656b300053fdc24e0033ce4:-1504498298,5381da198492b300bfc9b918e0e63deb:-2042977063,0731121d8792b300b2760ef66dbcf0c5:-758691282,77211a114d56b3006135946492f8fef7:69923863,a4f01619ba56b300b3961b53f36bff0c:-47192150,92908addfc52b3004e0dd27c39a8db2d:-1946239559,23504a1dcf16b300344853bc1e486e27:-1413876542,7cdfbd5dd316b3003f2055f5c8251b9b:1055562243,42fc75996916b300b426267efee6ecbf:-1130180151,2c4c3951cf16b3006eb8a9e49c331885:574351346,cf3c3d517392b3000b5e36c6259bff90:-1564529120,861c3d518092b3006b59384783556e8c:-745336506,44fab1d50d16b300250f9f9fd1526371:1761838340,a9da31d56816b3001f5872993543c05d:-1632093010,b6e97dd18316b3000f875ec4c1f74e6e:594998408,64f5fd955216b3007b941173af6c87c4:907275964,7d9539959416b300c5c4b4b9b05b5dc8:-428288226</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-va-sp-widget-v2/widget/pe-va-sp-widget-v2.u-body-html-template.html",
    "content": "<div class=\"conversation-button-container\">\n\t<div class=\"conversation-region fade\"\n       ng-class=\"{'open': $ctrl.isWindowVisible}\">\n    <div class=\"sn-connect sn-connect-floating\">\n      <div class=\"sn-connect-floating-wrapper loaded\">\n        <div class=\"conversation-container\">\n          <iframe class = \"chat-frame\" scrolling=\"no\"  horizontalscrolling=\"no\" verticalscrolling=\"no\" frameborder=\"none\" ng-src=\"{{$ctrl.vaSource}}\">\n          </iframe>\n        </div>\n      </div>\n    </div>\n  </div>\n  <button aria-label=\"${Start Support Conversation}\"\n          class=\"help-button\"\n          ng-attr-tabindex=\"0\"\n          ng-class=\"{'state-open': $ctrl.isWindowVisible, 'state-unread': $ctrl.hasUnreadMessages}\"\n          ng-click=\"$ctrl.toggleWindow()\"\n          ng-style=\"{'background-color': $ctrl.options.button_color}\"\n          ng-attr-tabindex=\"0\">\n    <div class=\"hover-overlay\"></div>\n    <span aria-hidden=\"true\" ng-style=\"{'color': $ctrl.options.floating_button_cross_icon_color}\" ng-if=\"$ctrl.isWindowVisible\" class=\"help-icon icon-close icon-cross\"></span>\n    <span aria-hidden=\"true\" ng-if=\"!$ctrl.isWindowVisible\" class=\"help-icon icon-open sn-va-widget-icon\">\n      <img ng-src=\"{{$ctrl.options.floating_button_icon}}\" class=\"icon-img\" />\n    </span>\n  </button>\n</div>"
  },
  {
    "path": "src/pe-va-sp-widget-v2/widget/pe-va-sp-widget-v2.u-client-script.js",
    "content": "function VirtualAgentController($log, $scope, $element, $document, spModal, $q, $timeout, $window) {\n  'use strict';\n\n  var $ctrl = this;\n  var $spContainer = $document.find('.sp-page-root');\n  var $widgetParent = $element.parent();\n\n  $ctrl.isWindowVisible = false;\n  $ctrl.hasUnreadMessages = false;\n  $ctrl.firstPress = false;\n  $ctrl.vaSource = '';\n\n  $ctrl.toggleWindow = function() {\n    if ($ctrl.isWindowVisible) {\n      $ctrl.isWindowVisible = false;\n      $timeout(function() {\n        if (!$ctrl.isWindowVisible) {\n          $element.find('.conversation-container').css('display', 'none');\n          $element.find('.sn-connect-floating').css('display', 'none');\n          $element.find('.sn-connect-floating-wrapper').css('display', 'none');\n\n          // ios overlay hacky fix.\n          $document.find('.touch_scroll').css('-webkit-overflow-scrolling', 'touch');\n        }\n      }, 300);\n    } else {\n      if (!$ctrl.firstPress) {\n        $ctrl.firstPress = true;\n        $ctrl.vaSource = '/$sn-va-web-client-app.do?sysparm_nostack=true&sysparm_stack=no';\n        if ($ctrl.options.va_url_params) {\n          $ctrl.vaSource = $ctrl.vaSource + '&' + $ctrl.options.va_url_params;\n        }\n      }\n      $ctrl.isWindowVisible = true;\n      $ctrl.hasUnreadMessages = false;\n      $element.find('.conversation-container').css('display', 'block');\n      $element.find('.sn-connect-floating').css('display', 'block');\n      $element.find('.sn-connect-floating-wrapper').css('display', 'block');\n\n      // ios overlay hacky fix.\n      $document.find('.touch_scroll').css('-webkit-overflow-scrolling', 'auto');\n    }\n  };\n\n  $window.addEventListener('message', function(e) {\n    if (e.data === 'sn-va-web-client-app-new-message' && $ctrl.isWindowVisible === false) {\n      $ctrl.hasUnreadMessages = true;\n    } else if (e.data === 'sn-va-web-client-app-trigger-login') {\n      $window.location.reload(true);\n    }\n  });\n\n  $element.find('.help-button').on('mouseup', function(e) {\n    e.target.blur();\n    e.stopPropagation();\n  });\n\n  $element.find('.help-icon').on('mouseup', function(e) {\n    e.target.blur();\n    e.stopPropagation();\n  });\n\n  $ctrl.openWindow = function() {\n    $ctrl.isWindowVisible = true;\n    // delay before clearing unread message indicator\n    // in-case user opens and closes quickly\n    $timeout(function() {\n      if ($ctrl.isWindowVisible) {\n        $ctrl.hasUnreadMessages = false;\n      }\n    }, 500);\n  };\n\n  var _closeWindow = function() {\n    $ctrl.isWindowVisible = false;\n    $ctrl.hasActiveConversation = false;\n  };\n}\n"
  },
  {
    "path": "src/pe-va-sp-widget-v2/widget/pe-va-sp-widget-v2.u-css.scss",
    "content": "$color-darker: #485563;\n$color-white: #ffffff;\n\n$window-width: 375px;\n$window-height: 600px;\n$button-height: 60px;\n$bottom-margin: 15px;\n\n$sn-chatbot-animation-speed: 300ms;\n\n// OVERRIDE TO DISPLAY RECORD CARDS\n.sn-card-component_records {\n  display: block !important;\n}\n\n.conversation-button-container {\n  position: fixed;\n  right: 30px;\n  bottom: 15px;\n  z-index: 20;\n\n  .conversation-region {\n    position: relative;\n    opacity: 0;\n    visibility: hidden;\n\n\n    &.open {\n      transition: $sn-chatbot-animation-speed ease-in opacity;\n      opacity: 1;\n      visibility: visible;\n\n    }\n  }\n\n\n  .help-button {\n    position: relative;\n    width: 60px;\n    color: #fff;\n    float: right;\n    border: none;\n    height: $button-height;\n    border-radius: 60px;\n    box-shadow: 0px 2px 11px #ababab;\n    -moz-box-shadow: 0px 2px 11px #ababab;\n    -o-box-shadow: 0px 2px 11px #ababab;\n    padding: 0;\n    background-color: #8D8DE0;\n\n    &::before {\n      content: \"\";\n      width: 60px;\n      height: 60px;\n      border-radius: 50%;\n      position: absolute;\n      top: 0;\n      left: 0;\n    }\n\n    &:hover::before {\n    \tbackground-color: rgba(0,0,0,0.2);\n    }\n\n    &:focus {\n      outline: thin dotted;\n      outline-color: gray;\n      outline: 5px auto -webkit-focus-ring-color;\n      outline-offset: 2px;\n    }\n\n    &.state-unread {\n      & > span:after {\n        content: ' ';\n        position: absolute;\n        top: -17px;\n        right: -14px;\n        width: 16px;\n        height: 16px;\n        background-color: #ed6e5c;\n        border-radius: 25px;\n      }\n    }\n\n    .help-icon {\n      pointer-events: none;\n      position: relative;\n    }\n\n    .sn-va-widget-icon {\n\n      height: 32px;\n      top: 1px;\n      left: 12px;\n      width: 36px;\n      display: flex;\n      align-items: center;\n\n    }\n    .icon-img{\n      width: 100%;\n    }\n\n    .icon-close {\n      font-size: 20px;\n\n    }\n\n  }\n}\n\n// window sizing\n.sn-connect-floating {\n  position: relative;\n  bottom: 15px;\n  right: 0;\n  display: none;\n\n  .sn-connect-floating-wrapper {\n    width: $window-width;\n    transition:\n    border-bottom: 1px solid #bdc0c4;\n    margin-right: 0;\n    right: 0;\n    box-shadow: 0px 2px 11px #ababab !important;\n    -moz-box-shadow: 0px 2px 11px #ababab !important;\n    -o-box-shadow: 0px 2px 11px #ababab !important;\n    transition: max-height 0s $sn-chatbot-animation-speed;\n    display: none;\n\n    .conversation-container {\n      height: 100%;\n      display: none;\n\n      .chat-frame {\n        max-height: $window-height;\n        height: calc(100vh - $button-height - ($bottom-margin * 3));\n        width: $window-width;\n        margin-bottom: -5px;\n        border: none;\n        overflow: hidden;\n        background-color: #fff;\n      }\n\n      // Immediate div is autogenerated from serviceportal\n      & > div {\n        height: 100%;\n      }\n    }\n  }\n}\n\n// Mobile SCSS\n@media (max-width: 425px) {\n  .sn-connect-floating {\n    .sn-connect-floating-wrapper {\n      position: fixed;\n      max-height: 100%;\n      width: 100%;\n      left: 0;\n      right: 0;\n      bottom: calc($button-height + 20px);\n      top: 0;\n\n      .conversation-container {\n        position: absolute;\n        max-height: 100%;\n        width: 100%;\n        height: 100%;\n        left: 0;\n        right: 0;\n        top: 0;\n        bottom: 0;\n\n        .chat-frame {\n          position: absolute;\n          width: 100%;\n          height: 100%;\n          left: 0;\n          right: 0;\n          top: 0;\n          bottom: 0;\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "src/pe-va-sp-widget-v2/widget/pe-va-sp-widget-v2.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-va-sp-widget-v2/widget/pe-va-sp-widget-v2.u-option-schema.json",
    "content": "[\n  {\n    \"hint\": \"The color of the floating button which opens the virtual agent service portal widget button.\",\n    \"name\": \"button_color\",\n    \"section\": \"Presentation\",\n    \"default_value\": \"#8D8DE0\",\n    \"label\": \"Floating Button Color\",\n    \"type\": \"string\"\n  },\n  {\n    \"hint\": \"The URL parameters to pass to the VA client, for example: sysparm_live_agent_queue=abc123&sysparm_conversation=xzy456\",\n    \"name\": \"va_url_params\",\n    \"section\": \"Behavior\",\n    \"label\": \"Virtual Agent Client URL Parameters\",\n    \"type\": \"string\"\n  },\n  {\n    \"hint\": \"The icon for the floating button\",\n    \"name\": \"floating_button_icon\",\n    \"section\": \"Presentation\",\n    \"default_value\": \"sn-va-sp-widget/sn-va-sp-widget-icon.svg\",\n    \"label\": \"Floating Button Icon\",\n    \"type\": \"string\"\n  },\n  {\n    \"hint\": \"This is the color of the Cross icon that is visible when the VA is open\",\n    \"name\": \"floating_button_cross_icon_color\",\n    \"section\": \"Presentation\",\n    \"default_value\": \"#fff\",\n    \"label\": \"Floating Button Cross Icon Color\",\n    \"type\": \"string\"\n  }\n]\n"
  },
  {
    "path": "src/pe-va-sp-widget-v2/widget/pe-va-sp-widget-v2.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  var instanceGR = $sp.getInstanceRecord();\n  options.va_url_params = options.va_url_params || '';\n  options.button_color = options.button_color || 'red';\n})();\n"
  },
  {
    "path": "src/pe-welcome-time-of-day/README.md",
    "content": "# Welcome Widget - Time of Day\n\n## Description\n\nThe widget provides a simple welcome message and greets the user to the page.  Can be configured to include time of day in greeting - 'Good Morning/Afternoon/Evening'.\n\n## Screenshots\n### Configured - Default\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-welcome-time-of-day/images/default.png)\n### Instance Options\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-welcome-time-of-day/images/options.png)\n### Applied Options\n![Configured](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-welcome-time-of-day/images/applied_options.png)\n\n## Additional Information/Notes\n\n> None\n\n---\n## Installation\nDownload and install update set **[pe-welcome-time-of-day.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-welcome-time-of-day/pe-welcome-time-of-day.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n### Data\n**Welcome Message** - Additional sub-text message to show below greeting<br/>\n\n### Presentation\n**Greeting Color** - Color value (webcolor name, HEX, or RGBA value) of the Greeting text<br/>\n**Message Color** - Color value (webcolor name, HEX, or RGBA value) of the additional sub-text, Welcome Message.<br/>\n**Greeting Font Size** - Size in pixels (##px) of the Greeting text.<br/>\n\n\n### Behavior\n**Greet with Time of Day** - Boolean option to turn on/off the 'Good Morning/Afternoon/Evening' message<br/>\n\n---\n## Platform Dependencies\n\n> None\n\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n---\n## CSS/SASS Variables\n> None\n"
  },
  {
    "path": "src/pe-welcome-time-of-day/config.json",
    "content": "{\n  \"active\": false,\n  \"category\": \"Card\",\n  \"common-name\": \"Welcome - Time of Day\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Chris Stoll\"\n  ],\n  \"keywords\": [\n    \"widget\",\n    \"card\"\n  ],\n  \"name\": \"pe-welcome-time-of-day\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Welcome widget with time of day calculation to greet the user with Good Morning/Afternoon/Evening message.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}"
  },
  {
    "path": "src/pe-welcome-time-of-day/pe-welcome-time-of-day.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-02-06 19:21:35\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Welcome Widget - Time of Day Welcome</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>96b1f4d04fefe70005be4d6e0210c7d5</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-06 19:21:35</sys_created_on>\n<sys_id>7398d15c4f632b0005be4d6e0210c73c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-06 19:21:35</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c61b5f644f29e3008272ece24210c7e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function($scope,$window) {\n  /* widget controller */\n\n\t$scope.profile = {\n\t\tuserID: $scope.user.sys_id,\n\t\tname: $scope.user.name,\n\t\tinitials: $window.NOW.user_initials\n\t};\n\n\tvar today = new Date();\n\tvar curHr = today.getHours();\n\n\tif (curHr &lt; 12) {\n\t\t$scope.timeOfDay =  'morning';\n\t} else if (curHr &lt; 18) {\n\t\t$scope.timeOfDay = 'afternoon';\n\t} else {\n\t\t$scope.timeOfDay = 'evening';\n\t}\n\t\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.sassvars {&amp;#13;\n  --greeting-color: $text-color;&amp;#13;\n  --message-color: $text-color;&amp;#13;\n  --greeting-font-size: 5em;&amp;#13;\n}&amp;#13;\n.panel{&amp;#13;\n  margin-top: 22px;&amp;#13;\n}&amp;#13;\n.panel-transparent{&amp;#13;\n  border: 0px solid transparent;&amp;#13;\n  background-color: transparent;&amp;#13;\n  box-shadow: none !important;&amp;#13;\n  color: var(--greeting-color);&amp;#13;\n  padding: 0 !important;&amp;#13;\n  .panel-body{&amp;#13;\n    padding: 0 !important;&amp;#13;\n  }&amp;#13;\n  @media screen and (max-width: 30em){&amp;#13;\n    max-width: 100%;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n.greeting{&amp;#13;\n  font-size: var(--greeting-font-size);&amp;#13;\n  line-height: 1.1em;&amp;#13;\n  font-weight: 600;&amp;#13;\n  letter-spacing: -1.14px;&amp;#13;\n  margin-left: -5px;&amp;#13;\n  @media screen and (max-width: 30em){&amp;#13;\n    font-size: 2em;&amp;#13;\n    line-height: 1.2em;&amp;#13;\n    margin-left: -2px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n.message{&amp;#13;\n  font-size: 1.5em;&amp;#13;\n  font-weight: 600;&amp;#13;\n  color: var(--message-color);&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;This is a simple greeting widget that uses a transparent background so it can be used on any page.  Font color will take on the branded text color or can be set via the Instance Options.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;welcome-sif&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link&gt;&lt;![CDATA[function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.greeting_color &amp;&amp; $scope.options.greeting_color.length &gt; 0){\n\t\tsass.style.setProperty('--greeting-color', $scope.options.greeting_color);\n\t}\n\tif($scope.options.message_color &amp;&amp; $scope.options.message_color.length &gt; 0){\n\t\tsass.style.setProperty('--message-color', $scope.options.message_color);\n\t}\n\tif($scope.options.greeting_font_size &amp;&amp; $scope.options.greeting_font_size.length &gt; 0){\n\t\tsass.style.setProperty('--greeting-font-size', $scope.options.greeting_font_size);\n\t}\n}]]&gt;&lt;/link&gt;&lt;name&gt;Welcome Widget&lt;/name&gt;&lt;option_schema&gt;[{\"hint\":\"\",\"name\":\"welcomemsg\",\"section\":\"Data\",\"default_value\":\"Welcome to the Self Service Portal\",\"label\":\"Welcome Message\",\"type\":\"string\"},{\"name\":\"greeting_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Greeting Color\",\"type\":\"string\"},{\"name\":\"message_color\",\"section\":\"Presentation\",\"label\":\"Message Color\",\"type\":\"string\"},{\"name\":\"timeofday\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Greet with Time of Day\",\"type\":\"boolean\"},{\"name\":\"greeting_font_size\",\"section\":\"Presentation\",\"label\":\"Greeting Font Size\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\toptions.timeofday = (options.timeofday=='true');\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;chris.stoll&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-10-31 13:24:49&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;false&lt;/sys_customer_update&gt;&lt;sys_id&gt;c61b5f644f29e3008272ece24210c7e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;62&lt;/sys_mod_count&gt;&lt;sys_name&gt;Welcome Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Service Portal - Widgets\" source=\"com.snc.spenh.widgets\"&gt;608a82c24f1d6f008272ece24210c773&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c61b5f644f29e3008272ece24210c7e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;chris.stoll&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-02-05 19:32:19&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"sassvars panel panel-transparent\"&gt;\n  &lt;div class=\"panel-body\"&gt;\n    &lt;div class='greeting' ng-if='options.timeofday'&gt;Good {{timeOfDay}}, {{user.first_name}}&lt;/div&gt;\n    &lt;div class='greeting' ng-if='!options.timeofday'&gt;Hi, {{user.first_name}}&lt;/div&gt;\n    &lt;div class='message'&gt;{{options.welcomemsg}}&lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1638077159</payload_hash>\n<remote_update_set display_value=\"Welcome Widget - Time of Day Welcome\">7398d15c4f632b0005be4d6e0210c73c</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>chris.stoll</sys_created_by>\n<sys_created_on>2019-02-06 19:21:35</sys_created_on>\n<sys_id>3798555c4f632b0005be4d6e0210c7aa</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>168c3ab66330000001</sys_recorded_at>\n<sys_updated_by>chris.stoll</sys_updated_by>\n<sys_updated_on>2019-02-06 19:21:35</sys_updated_on>\n<table/>\n<target_name>Welcome Widget</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>40f23c14e0efe700efed0cfec82f1aa7</update_guid>\n<update_guid_history>40f23c14e0efe700efed0cfec82f1aa7:1638077159,1f719c003defa700dd6aa195a7c77531:1638077159,f4636c2546c7ab00b36dbebb0f7ca8fe:-1625693058,8f522025e2c7ab002518626561d3e40c:89187084,a6bf1c6110c7ab00680c697bb3f9d2e7:-781810704,908f1c61bcc7ab00195819fd59583796:-1965185541,525c94edd587ab00cd0c097a59f48e13:-1635643617,583c54ed7087ab006485aa134496eb54:-591090853,1e8b9f0d62e6e74063e96ac76739a964:1152237200,147b134d82e6e740f978eaba2cc04caf:54009901,91da1b8985e6e7407e41dacd8c4b2d61:-1933515707,92ca1b89f8e6e740906fc397ff1fcbfe:869748613,05ca978932e6e74075540d6dc4939df9:784745182,d9ba9789fae6e74068976154e3cc6e71:-1236133843,069a5789fae6e74094f412e5269d3c49:869748613,d67ad389a4e6e740c07f5138bbfaf81a:549242888,4d4a5f49f0e6e740e6140d7bf4eb2b84:-1782515421,fc3a138931e6e740a0136835c6960526:-46623254,d42a1f4978e6e740b916fdb09fdea5b2:-1770103222,e21a1709abe6e74064fe29e793a3efe2:1870827246,2df9d309e1e6e74003446d5ee7becfae:-182631602,cae9930903e6e740b86be0b7dc38213b:1376955381,0bb91fc541e6e740c7992d6965c97905:-724722162,0f6993c581e6e740e525ca0c413f71f1:-1130682866,f5c893c5c8e6e740282ddcb4b625229f:442021423,58881f85fae6e74043ae28441af96eba:1828345742,8168d7851fe6e7403299a112ff38b458:-1765189867,e308d785a3e6e7401b41521bdc08d547:678185926,d5e79f45aee6e7408d67fbd2c6d6d94e:734071710,b9371f4547e6e74043821f695ed78a86:419542939,5ee6d74590e6e740bd33cf420b32c6a7:2053967899,f2b69345f0e6e740e0e62b50726577f9:-426306922,d0a69f053fe6e740c2187ba7a2cac49c:765268230,beb0d70143e6e740bca0459aa067b0bc:273330830,b67f8ed7a8ca670056efeeeaad118d9f:-1839129722,e96f0ed719ca67005d87928f21f67cbb:1171576202,c62f0ad76eca6700dd9eaf04138061a5:377040323,590f2ba48e69e300cd9c643140369cc4:-717642943,dadea7a40c69e3005355ac5efb5aab08:769746429,81ce6764aa69e300f65fb9994ec7df0d:1988569414,76ca2fa0eb69e3002bed06c7081e7eed:-1194237214,28aaefa09d69e300ad528ad3508db8bb:2012946394,166a2fa06869e300aba39ebd2df18091:-1107839788,2e4a2ba0bc69e300d19887a7ca7a198f:-155502459,bc2a2ba00469e300b9bd13d80dad3488:1311955026,5ff767209e69e30010af791879eef1a8:755185739,e7876720fa69e3007971a8bb442c8e9b:-1639077561,6f77e7ace329e30033420e7e9f27ce6a:-182469602,1d05a7acdf29e300cfd354b1b4eb9650:1175038176,fdf427ac6829e300c9479dfcc5cb8195:1371125375,59e4a3acc329e3004abdbbb00189fb8b:-464704600,e9c4a3ac4c29e300a9d24bc23613fd84:-1842515798,4284ab6c5529e30040f1782de5bc8516:882129501,ed042b6c0529e300c28657ad2fccfe42:-2043447488,6fd3e76c4f29e30077b8a9853f17ce2d:-1313308941,b6c36f2c0129e300f3eecc7c4e238e81:-249784749,07a3276ca229e3009ffc75c37d18b8f9:-1693413312,c823a32c1c29e300b4d8bac28472de4c:-434945973,9130eb681f29e300496f8141db0bce88:-1297789107,8bdfdb687529e300a65f40efd361b162:181419277,dd4ed7281b29e300bad144c3e100bd8e:-1577318558,89cd57e4e129e300bd3ccf3df7dea8c0:663779274,c22b9f64cc29e300bd66b3a842388a0b:-2025647146</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-body-html-template.html",
    "content": "<div class=\"sassvars panel panel-transparent\">\n  <div class=\"panel-body\">\n    <div class='greeting' ng-if='options.timeofday'>Good {{timeOfDay}}, {{user.first_name}}</div>\n    <div class='greeting' ng-if='!options.timeofday'>Hi, {{user.first_name}}</div>\n    <div class='message'>{{options.welcomemsg}}</div>\n  </div>\n</div>"
  },
  {
    "path": "src/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-client-script.js",
    "content": "function($scope,$window) {\n  /* widget controller */\n\n\t$scope.profile = {\n\t\tuserID: $scope.user.sys_id,\n\t\tname: $scope.user.name,\n\t\tinitials: $window.NOW.user_initials\n\t};\n\n\tvar today = new Date();\n\tvar curHr = today.getHours();\n\n\tif (curHr < 12) {\n\t\t$scope.timeOfDay =  'morning';\n\t} else if (curHr < 18) {\n\t\t$scope.timeOfDay = 'afternoon';\n\t} else {\n\t\t$scope.timeOfDay = 'evening';\n\t}\n\t\n}"
  },
  {
    "path": "src/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-css.css",
    "content": ".sassvars {\n  --greeting-color: $text-color;\n  --message-color: $text-color;\n  --greeting-font-size: 5em;\n}\n.panel{\n  margin-top: 22px;\n}\n.panel-transparent{\n  border: 0px solid transparent;\n  background-color: transparent;\n  box-shadow: none !important;\n  color: var(--greeting-color);\n  padding: 0 !important;\n  .panel-body{\n    padding: 0 !important;\n  }\n  @media screen and (max-width: 30em){\n    max-width: 100%;\n  }\n}\n.greeting{\n  font-size: var(--greeting-font-size);\n  line-height: 1.1em;\n  font-weight: 600;\n  letter-spacing: -1.14px;\n  margin-left: -5px;\n  @media screen and (max-width: 30em){\n    font-size: 2em;\n    line-height: 1.2em;\n    margin-left: -2px;\n  }\n}\n.message{\n  font-size: 1.5em;\n  font-weight: 600;\n  color: var(--message-color);\n}"
  },
  {
    "path": "src/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-link-script.js",
    "content": "function link($scope,$el,$attrs,$ctrl){\n\t\n\t\n/* DO NOT edit below this line */\n\tvar sass = document.getElementById($attrs.id).querySelector('.sassvars');\n\tvar sassv = window.getComputedStyle(sass);\n\t\n\tif($scope.options.greeting_color && $scope.options.greeting_color.length > 0){\n\t\tsass.style.setProperty('--greeting-color', $scope.options.greeting_color);\n\t}\n\tif($scope.options.message_color && $scope.options.message_color.length > 0){\n\t\tsass.style.setProperty('--message-color', $scope.options.message_color);\n\t}\n\tif($scope.options.greeting_font_size && $scope.options.greeting_font_size.length > 0){\n\t\tsass.style.setProperty('--greeting-font-size', $scope.options.greeting_font_size);\n\t}\n}"
  },
  {
    "path": "src/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-option-schema.json",
    "content": "[\n    {\"hint\":\"\",\"name\":\"welcomemsg\",\"section\":\"Data\",\"default_value\":\"Welcome to the Self Service Portal\",\"label\":\"Welcome Message\",\"type\":\"string\"},\n    {\"name\":\"greeting_color\",\"section\":\"Presentation\",\"default_value\":\"\",\"label\":\"Greeting Color\",\"type\":\"string\"},\n    {\"name\":\"message_color\",\"section\":\"Presentation\",\"label\":\"Message Color\",\"type\":\"string\"},\n    {\"name\":\"timeofday\",\"section\":\"Behavior\",\"default_value\":\"false\",\"label\":\"Greet with Time of Day\",\"type\":\"boolean\"},\n    {\"name\":\"greeting_font_size\",\"section\":\"Presentation\",\"label\":\"Greeting Font Size\",\"type\":\"string\"}\n]"
  },
  {
    "path": "src/pe-welcome-time-of-day/widget/pe-welcome-time-of-day.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\toptions.timeofday = (options.timeofday=='true');\n})();"
  },
  {
    "path": "src/pe-widget-packs/README.md",
    "content": "# Widget Packs\n\n## Description\n\nGive portal users power to configure what widgets they see on the page. With Widget Packs on the page, users can click on the cog wheel icon to choose which widget they want to see on the page.\n\n## Screenshot\n\n![Widget Packs](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/pe-widget-packs.png)\n\n## Additional Information/Notes\n\n> None\n\n## Installation\n\nDownload and install update set **[pe-widget-packs.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/src/pe-widget-packs/pe-widget-packs.u-update-set.xml)**\n\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.\n\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\n\n> Follow these steps to configure widget packs and widget.\n\n* In left nav search for **Widget Packs**. You can all the parts that make the Widget Packs app.\n\n\t![Left Search](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/left-search.png)\n\n* Click on **Packs** module. Now lets create a new pack.\n\n\t![Packs](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/packs.png)\n\n* Give your widget pack a name, description and save it.\n\n\t![New Packs](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/packs-new.png)\n\n*  Once you save the widget pack you should see a **Widgets and Packs** related list.\n\n   ![Add Widget](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/add-widgets.png)\n\n* Click on new to add widgets to the pack. For example I am adding OOTB **Weather** and **Cool Clock** widgets to the pack.\n\n\t![Widget Weather](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/weather-widget.png)\n\n\t![Widget Clock](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/clock.png)\n\n* If your widget has some options you can add the options JSON object as well. Like above.\n* Now Lets drag and drop the widget **Widget pack** widget onto the portal page.\n* Configure the options by clicking on the pencil icon. Give it a title and choose the widget pack. Save.\n\n\n\t![Widget options](https://raw.githubusercontent.com/platform-experience/serviceportal-widget-library/master/src/pe-widget-packs/images/options.png)\n\n\n## Platform Dependencies\n\n### Custom Tables\n\n> Packs (u_packs)\n> Widgets and packs (u_widgets_and_packs)\n> User and widget (u_user_and_widget)\n> Widget pack instance (u_widget_pack_instance)\n\n### UI Dependencies\n\n> None\n\n## CSS/SASS Variables\n\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n> None\n"
  },
  {
    "path": "src/pe-widget-packs/config.json",
    "content": "{\n  \"active\": true,\n  \"category\": \"Chart\",\n  \"common-name\": \"Widget Packs\",\n  \"compatibility\": [\n    \"Jakarta\",\n    \"Kingston\",\n    \"London\"\n  ],\n  \"contributors\": [\n    \"Sushruth Chandrashek\"\n  ],\n  \"keywords\": [\n    \"Widget\"\n  ],\n  \"name\": \"pe-widget-packs\",\n  \"publishing-goal\": \"Update set\",\n  \"solution-details\": \"Give portal users power to configure what widgets they see on the page. With Widget Packs on the page, users can click on the cog wheel icon to choose which widget they want to see on the page.\",\n  \"type\": \"Widget\",\n  \"version\": \"1.0.0\"\n}\n"
  },
  {
    "path": "src/pe-widget-packs/pe-widget-packs.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><unload unload_date=\"2019-06-20 21:36:27\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>Widget Packs</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>e924e313dbca73c006d1295748961958</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58cf393db0e73c006d129574896193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_566e7112db9223405bc2295748961930</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_user_and_widget</description><name>u_user_and_widget</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:02</sys_created_on><sys_id>566e7112db9223405bc2295748961930</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_566e7112db9223405bc2295748961930</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:02</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>443092234</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>318c7793db0e73c006d129574896192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042570000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>9a6e71121b92234042243c926c919733</update_guid>\n<update_guid_history>9a6e71121b92234042243c926c919733:443092234</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_1a6e7112db9223405bc2295748961934</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>1a6e7112db9223405bc2295748961934</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_user_and_widget\">566e7112db9223405bc2295748961930</sys_security_acl><sys_update_name>sys_security_acl_role_1a6e7112db9223405bc2295748961934</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-717008260</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>318c7793db0e73c006d129574896192f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670425e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>da6e711247922340790f106c4b081a38</update_guid>\n<update_guid_history>da6e711247922340790f106c4b081a38:-717008260</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_243d265adb1623405bc22957489619c1</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"243d265adb1623405bc22957489619c1\" sys_domain=\"global\" table=\"u_widget_pack_instance\" version=\"3\"><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>u_widget_pack_instance</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 03:20:27</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>243d265adb1623405bc22957489619c1</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_form_sections_243d265adb1623405bc22957489619c1</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 03:20:27</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>2016745959</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>318c7793db0e73c006d1295748961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042d10000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid>a83d265ac416234031152ad88bc286c2</update_guid>\n<update_guid_history>a83d265ac416234031152ad88bc286c2:2016745959</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widgets_and_packs_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_widgets_and_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_widgets_and_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:46:19&lt;/sys_created_on&gt;&lt;sys_id&gt;772cbd5edb5223405bc229574896193b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_widgets_and_packs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widgets_and_packs_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:46:19&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>106104326</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>318cf393db0e73c006d1295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041ff0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>b72cbd5e6f522340b8d34aad6c0cf54e</update_guid>\n<update_guid_history>b72cbd5e6f522340b8d34aad6c0cf54e:106104326</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widgets_and_packs__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Widgets and packs\" language=\"en\" table=\"u_widgets_and_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Widgets and packs</label><language>en</language><name>u_widgets_and_packs</name><plural>Widgets and packs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:19</sys_created_on><sys_id>b72cbd5edb5223405bc2295748961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widgets and packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widgets_and_packs__en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:19</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-469528762</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>358c7793db0e73c006d129574896192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042050000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>7b2cbd5e4452234093323e7d2e746c4f</update_guid>\n<update_guid_history>7b2cbd5e4452234093323e7d2e746c4f:-469528762</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_eb2cbd5edb5223405bc229574896191f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widgets_and_packs</description><name>u_widgets_and_packs</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>eb2cbd5edb5223405bc229574896191f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_eb2cbd5edb5223405bc229574896191f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1692145256</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>358c7793db0e73c006d129574896192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041d20000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>232cbd5e89522340fae76b870b45b923</update_guid>\n<update_guid_history>232cbd5e89522340fae76b870b45b923:1692145256</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_b72cbd5edb5223405bc2295748961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>b72cbd5edb5223405bc2295748961936</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widgets_and_packs\">f32cbd5edb5223405bc2295748961932</sys_security_acl><sys_update_name>sys_security_acl_role_b72cbd5edb5223405bc2295748961936</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>421705671</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>358c7793db0e73c006d1295748961931</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041f00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>7b2cbd5ed65223406a310a57eb06a63a</update_guid>\n<update_guid_history>7b2cbd5ed65223406a310a57eb06a63a:421705671</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_5c86f91adb5223405bc22957489619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_packs</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:30</sys_created_on><sys_id>5c86f91adb5223405bc22957489619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_5c86f91adb5223405bc22957489619f8</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:30</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>1587726874</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>358c7793db0e73c006d1295748961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041920000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>u_packs</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>d886f91aab522340c3cd0b23da8bc7f9</update_guid>\n<update_guid_history>d886f91aab522340c3cd0b23da8bc7f9:1587726874</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_packs_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:44:17&lt;/sys_created_on&gt;&lt;sys_id&gt;d1863d1adb5223405bc22957489619cb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_packs_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:44:17&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>242999879</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>358cf393db0e73c006d1295748961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041a90000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>5ebb755e2f5223409ca8d3f479e7328d</update_guid>\n<update_guid_history>5ebb755e2f5223409ca8d3f479e7328d:242999879,c2bb755e9f522340086e1946b3932b7d:242999879</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_and_widget__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"User and widget\" language=\"en\" table=\"u_user_and_widget\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>User and widget</label><language>en</language><name>u_user_and_widget</name><plural>User and widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>126e7112db9223405bc2295748961953</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User and widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_and_widget__en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1772279555</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>358cf393db0e73c006d1295748961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670428d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>226e7112f3922340d84cf5fcb20fdb61</update_guid>\n<update_guid_history>226e7112f3922340d84cf5fcb20fdb61:1772279555</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_d875b9d6db5223405bc2295748961949</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widget_pack_instance</description><name>u_widget_pack_instance</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:51</sys_created_on><sys_id>d875b9d6db5223405bc2295748961949</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_d875b9d6db5223405bc2295748961949</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:51</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1755413500</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>398c7793db0e73c006d129574896192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041170000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>1875b9d64f52234021eed7f5dcbe404d</update_guid>\n<update_guid_history>1875b9d64f52234021eed7f5dcbe404d:1755413500</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_a475b9d6db5223405bc2295748961992</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>a475b9d6db5223405bc2295748961992</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widget_pack_instance\">d075b9d6db5223405bc229574896198e</sys_security_acl><sys_update_name>sys_security_acl_role_a475b9d6db5223405bc2295748961992</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1025299960</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>398c7793db0e73c006d1295748961930</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041400000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>6875b9d629522340c2735c7871aaac96</update_guid>\n<update_guid_history>6875b9d629522340c2735c7871aaac96:1025299960</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_92fdb9dedb5223405bc2295748961969</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"92fdb9dedb5223405bc2295748961969\" sys_domain=\"global\" table=\"u_widgets_and_packs\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>56fdb9dedb5223405bc229574896197b</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_widget</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>5efdb9dedb5223405bc229574896197b</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>order</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>defdb9dedb5223405bc229574896197b</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>52fdb9dedb5223405bc229574896197c</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>pack</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>d2fdb9dedb5223405bc229574896197c</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>5</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>56fdb9dedb5223405bc229574896197c</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>widget_options</element><position>6</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_id>d6fdb9dedb5223405bc229574896197c</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widgets_and_packs\" sys_domain=\"global\" view=\"Default view\">92fdb9dedb5223405bc2295748961969</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_widgets_and_packs</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:54:08</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>92fdb9dedb5223405bc2295748961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_92fdb9dedb5223405bc2295748961969</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:54:08</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-762843370</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>398c7793db0e73c006d1295748961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670423e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>52fdb9deff5223407c259deba7c8227e</update_guid>\n<update_guid_history>52fdb9deff5223407c259deba7c8227e:-762843370,d6fdb9de71522340f085c2cb2670686b:1815497967</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_cfdb795edb5223405bc229574896196b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Widgets and packs</label><live_feed_enabled>false</live_feed_enabled><name>u_widgets_and_packs</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>cfdb795edb5223405bc229574896196b</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Widgets and packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_cfdb795edb5223405bc229574896196b</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:50:02</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>1762765554</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>398cf393db0e73c006d1295748961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042110000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>d20db99ef7522340fa8eed83a85b15dd</update_guid>\n<update_guid_history>d20db99ef7522340fa8eed83a85b15dd:1762765554,fb2cbd5e855223404d55e2ffbcdc6250:1762765554</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_packs_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_packs</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:44:17</sys_created_on><sys_id>06bb755edb5223405bc2295748961985</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_packs_u_name_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:44:17</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1727527003</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>398cf393db0e73c006d1295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041b50000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>96bb755eaa52234016cb03eaa7280a90</update_guid>\n<update_guid_history>96bb755eaa52234016cb03eaa7280a90:1727527003</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_c486f91adb5223405bc22957489619cc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_packs</description><name>u_packs</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>c486f91adb5223405bc22957489619cc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_c486f91adb5223405bc22957489619cc</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1486783216</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>3d8c7793db0e73c006d129574896192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041710000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>0c86f91a3a522340a960b537478956cf</update_guid>\n<update_guid_history>0c86f91a3a522340a960b537478956cf:1486783216</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_8886f91adb5223405bc22957489619d0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>8886f91adb5223405bc22957489619d0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_packs\">c486f91adb5223405bc22957489619cc</sys_security_acl><sys_update_name>sys_security_acl_role_8886f91adb5223405bc22957489619d0</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-1313869942</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>3d8c7793db0e73c006d129574896192f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041760000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>4c86f91a6952234006e954dde5a087d4</update_guid>\n<update_guid_history>4c86f91a6952234006e954dde5a087d4:-1313869942</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_related_sys_user_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_related sys_domain=\"global\" table=\"sys_user\" version=\"2\" view=\"\"><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>0</position><related_list>sys_user_has_role.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>529f3d52db9223405bc22957489619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>1</position><related_list>sys_user_grmember.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>1e9f3d52db9223405bc22957489619a3</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>2</position><related_list>sys_user_delegate.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>929f3d52db9223405bc22957489619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>3</position><related_list>sys_user_has_skill.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>1a9f3d52db9223405bc22957489619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>4</position><related_list>sys_user_covers_location.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>9e9f3d52db9223405bc22957489619a4</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>5</position><related_list>alm_asset.assigned_to</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>169f3d52db9223405bc22957489619a5</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>6</position><related_list>sc_ic_task_defn_staging.assignment_user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>9a9f3d52db9223405bc22957489619a5</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>7</position><related_list>cmdb_subscriber.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>129f3d52db9223405bc22957489619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>8</position><related_list>service_subscribe_sys_user.sys_user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>969f3d52db9223405bc22957489619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>9</position><related_list>REL:b31dbb025b3012002eff8405f0f91a67</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>1e9f3d52db9223405bc22957489619a6</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>10</position><related_list>sys_user_has_license.user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>929f3d52db9223405bc22957489619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>11</position><related_list>u_catalog_favorites.u_user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>1a9f3d52db9223405bc22957489619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"User - Default view\" name=\"sys_user\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6187268cc0a801942a97c1616156ca77</list_id><order_by/><position>12</position><related_list>u_user_and_widget.u_user</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_id>9e9f3d52db9223405bc22957489619a7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list action=\"INSERT_OR_UPDATE\"><calculated_name>User - Default view</calculated_name><filter/><name>sys_user</name><order_by/><position/><related_list/><sys_class_name>sys_ui_related_list</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:13</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>6187268cc0a801942a97c1616156ca77</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User - Default view</sys_name><sys_package display_value=\"\">c2442781138612008507dcc32244b072</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_related_sys_user_null</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:13</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_related_list></sys_ui_related></record_update>]]></payload>\n<payload_hash>1049557895</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>3d8c7793db0e73c006d1295748961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042b10000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>sys_user</table>\n<target_name>User</target_name>\n<type>Related Lists</type>\n<update_domain>global</update_domain>\n<update_guid>9a9f3d52af9223406893717ca67b79aa</update_guid>\n<update_guid_history>9a9f3d52af9223406893717ca67b79aa:1049557895,fc0b7d99095f9340fd968a044892f4ab:1693370387,ae54daa71864d300bb473fe1bcff56ab:-1019620867,7c04f25e00e52f00fe67fb44e486b22b:-1019620867</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_c0aaaa96db1623405bc229574896192c</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;category&gt;custom&lt;/category&gt;&lt;client_script&gt;&lt;![CDATA[function widgetPackController() {\n  /* widget controller */\n  var c = this;\n\n  c.$onInit = function () {\n    c.show = true;\n    c.loading = false;\n    c.getWidgetAndAssign = getWidgetAndAssign;\n  };\n\n\n  function getWidgetAndAssign(widget) {\n    c.show = false;\n    c.loading = true;\n    c.data.myWidget = \"\";\n    c.server.get({\n      id: widget.id,\n      combi_sysid: widget.pack_combi_sysid,\n      widget_option: JSON.parse(widget.options),\n      getWidget: true\n    }).then(function (r) {\n      console.log(r);\n      c.data.myWidget = r.data.myWidget;\n      c.show = true;\n      c.loading = false;\n    });\n  }\n\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.widget-container {&amp;#13;\n  position: relative;&amp;#13;\n  width: 100%;&amp;#13;\n  height: 100%;&amp;#13;\n&amp;#13;\n&amp;#13;\n  .loader-icon {&amp;#13;\n    text-align: center;&amp;#13;\n    font-size: 18px;&amp;#13;\n  }&amp;#13;\n&amp;#13;\n  .settings {&amp;#13;\n   position: absolute;&amp;#13;\n    right: 5px;&amp;#13;\n    top: 11px;&amp;#13;\n&amp;#13;\n    .setting-btn {&amp;#13;\n      padding: 0px;&amp;#13;\n      background: transparent;&amp;#13;\n      border: 0px;&amp;#13;\n      .fa{&amp;#13;\n        font-size: 18px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .dropdown-item {&amp;#13;\n      display: block;&amp;#13;\n      width: 100%;&amp;#13;\n      padding: .25rem 1.5rem;&amp;#13;\n      clear: both;&amp;#13;\n      font-weight: 400;&amp;#13;\n      color: #212529;&amp;#13;\n      text-align: inherit;&amp;#13;\n      white-space: nowrap;&amp;#13;\n      background-color: transparent;&amp;#13;\n      border: 0;&amp;#13;\n    }&amp;#13;\n&amp;#13;\n    .dropdown-item:focus,&amp;#13;\n    .dropdown-item:hover {&amp;#13;\n      color: #16181b;&amp;#13;\n      text-decoration: none;&amp;#13;\n      background-color: #f8f9fa;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;u_widget_pack_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list&gt;title,u_pack&lt;/field_list&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;widget_pack&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Widget pack&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  if (!input) {\n    data.widgetPack = [];\n    data.myWidget = \"\";\n\n    if (options.u_pack) {\n      $sp.log(options.u_pack);\n      var wpacksGR = new GlideRecord('u_widgets_and_packs');\n      wpacksGR.addQuery('pack', options.u_pack);\n      wpacksGR.query();\n      while (wpacksGR.next()) {\n        var widget = {};\n        widget.name = wpacksGR.u_widget.name.toString();\n        widget.id = wpacksGR.u_widget.id.toString();\n        widget.sys_id = wpacksGR.u_widget;\n        widget.order = wpacksGR.getValue('order');\n        widget.options = wpacksGR.getValue('widget_options');\n        widget.pack_combi_sysid = wpacksGR.sys_id.toString();\n        data.widgetPack.push(widget);\n\n      }\n      $sp.log(data.widgetPack);\n\n      var userWidgetGr = new GlideRecord('u_user_and_widget');\n      userWidgetGr.addQuery('u_user', gs.getUserID());\n      userWidgetGr.addQuery('u_widget.pack', options.u_pack);\n      userWidgetGr.query();\n      if (userWidgetGr.next()) {\n        $sp.log(userWidgetGr.u_widget.u_widget.id);\n        var widgetOptions = userWidgetGr.u_widget.widget_options.toString();\n        if (widgetOptions) {\n          data.myWidget = $sp.getWidget(userWidgetGr.u_widget.u_widget.id, JSON.parse(widgetOptions));\n        } else {\n          data.myWidget = $sp.getWidget(userWidgetGr.u_widget.u_widget.id, {});\n        }\n\n      }\n\n    }\n  } else {\n    if (input.getWidget) {\n      var gr = new GlideRecord('u_user_and_widget');\n      gr.addQuery('u_user', gs.getUserID());\n      gr.addQuery('u_widget.pack', options.u_pack);\n      gr.query();\n      if (gr.next()) {\n        gr.deleteRecord();\n      }\n      gr.initialize();\n      gr.u_user = gs.getUserID();\n      gr.u_widget = input.combi_sysid;\n      gr.insert();\n\n      data.myWidget = $sp.getWidget(input.id, input.widget_option);\n    }\n  }\n\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-13 03:09:41&lt;/sys_created_on&gt;&lt;sys_id&gt;c0aaaa96db1623405bc229574896192c&lt;/sys_id&gt;&lt;sys_mod_count&gt;90&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget pack&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_c0aaaa96db1623405bc229574896192c&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sushruth.chandrashek@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2019-06-20 19:58:05&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"widget-container\"&gt;\n  &lt;!-- your widget template --&gt;\n  &lt;div class=\"settings\"&gt;\n    &lt;div class=\"dropdown\"&gt;\n      &lt;button class=\"setting-btn dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\"\n        aria-haspopup=\"true\" aria-expanded=\"false\"&gt;\n        &lt;i class=\"fa fa-cog\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n      &lt;/button&gt;\n      &lt;div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\"&gt;\n        &lt;a class=\"dropdown-item\" ng-repeat=\"widget in c.data.widgetPack | orderBy:widget.order\" ng-click=\"c.getWidgetAndAssign(widget)\" href=\"javascript:void(0)\"&gt;{{widget.name}}&lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"panel panel-default b\"&gt;\n    &lt;div class=\"panel-heading\"&gt;\n      &lt;h4 class=\"panel-title\"&gt;\n        {{c.options.title}}\n      &lt;/h4&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-body\"&gt;\n      &lt;p ng-if=\"!c.data.myWidget &amp;&amp; !c.loading\"&gt;Please use the cog wheel to select the widget you want to see here&lt;/p&gt;\n      &lt;div ng-if=\"c.data.myWidget\"&gt;\n        &lt;sp-widget ng-if=\"c.show\" widget=\"c.data.myWidget\"&gt;&lt;/sp-widget&gt;\n      &lt;/div&gt;\n      &lt;div class=\"loader-icon\" ng-if=\"c.loading\"&gt;&lt;i class=\"fa fa-spinner fa-pulse fa-3x fa-fw\"&gt;&lt;/i&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-228978271</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>3d8cf393db0e73c006d129574896193f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7677b5db0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>Widget pack</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>09066fd31dca73c0131ccd63eb96b21c</update_guid>\n<update_guid_history>09066fd31dca73c0131ccd63eb96b21c:-228978271,1b28e3e659d66340cf0f89e88c6e5756:210053566,c99bf6aea9166340bd1a4ca1c71d6e06:275831728,e77bfa6e9d5e23400e4bf2fff1dc29cb:-1768407274,cbdab2ee67166340fb3a32d7dab16e47:360093594,1fc03e66da166340b1396bed3954d8d4:1861075560,deb0b6a6315e2340b5c578fb42b90792:-1882361024,9e80f6e2e816634077e7e8d27d0fb529:2058387097,24caf1e69b9a2340b97ed91a95e5f99f:-192988054,36aa392a599a234003826d09defdd333:1521559568,753a392a009a2340183e8b317b28152d:1392853429,8fa939eaf412634018a11e0e173d006c:-1052626905,37597de6589a234057097f02ab6d1c97:-1220439356,94bf69ee3f5a234097022501d7a7b8f9:937881991,02af6daedcde234012cbe679160d1759:-1238576225,678f2dae3a5a234050e976fa8f16858c:-2069166897,818fa9ee7bde2340488d2a037f714c9a:-462192029,5d2fa9ee9cde2340f13cf0c979002595:1885521630,a01f292eb85a23402c59c6b6eff256bd:214209022,debee92ac5de23400a035ce0fe1dfaf0:1885521630,3a8c292e2f5a23404d56c5659066ba87:1796414913,cd1ce5eafdde2340f7a5d74f9beb2dab:345039599,09bba9aa205a234052373f5c88c1582f:-101836413,9c79216603de234044fc6fcac1cf0a6b:1470900275,ba59e56a2e5a234054db6d084610bb53:2023821511,9019616a9e5a2340034513097dae1a5b:1390065018,68d27f1658d223406f4175018651d4a6:1681618124,2da2f7de201a23402e46939bc1454a15:-14184190,8f12fb9efb1a2340b54760d555a31a27:-23035957,59f17f1689d22340868caf160b39698c:-1668715796,a7b1fb9e0a1a234071f1884f75ede522:-450744366,3d91bb1674d22340b3a801102b967722:-333912068,bb317f16c2d2234079c395dfe55a8b86:941348900,bd217fd2dfd223402196f55b3f841a79:2019668371,cef0b716dcd2234099724fa6112c8911:2133124565,89d0b71664d2234039438cfbed4e410d:-303598854,bec0735e3f1a2340f525d1334a7dbb84:231816122,eb60f7d2e9d22340c73d572c41a0073f:450798539,97bf6fd2e2d2234076ef2e285784406f:-734115639,2f6f679295d2234045e1338cc51f38f3:-1193420057,7c5febda541a2340b033b613cfe7e373:-1058930027,b34fe7d2d5d2234093a4f9f8e0777d39:1781183401,23ee2f92ead2234001bcb2b286d2cee2:-660794599,28ce6b9a5c1a23409d31af89532111ef:-156312954,7d4ee352cfd22340d35449d1d4fbf966:-133796270,c81e23529ad22340c1dd7eeb01a9170d:-607190313,a5ed2352a5d22340b94941449717f109:385634637,397dab5aa71a2340c2911a91721dc6d3:1085013611,b15d2f16ab1a234060054d49698c1388:-1372972920,b83d235abb1a23407c707b940fc1ccbb:1079077714,f12dab5ac81a234050da80ace597b5cf:-440859742,650de7ded69223406e913e747ea27178:-2020772489,9dfc235a901a23403642e4ef23cba9b5:1272250548,dcbcaf12d3d223405550f8fc950cb968:-266402659,aef8af1e27922340355277521b25a2d5:-161773004,71f86f5e62922340a6b241babcf9d0c7:-1910886012,7ae7a31ef1922340d5d072ec04753bef:1017076761,dad7e352841a2340643a389eb2ac5086:-1591368841,2147e352cd1a234066a39237f4a67f80:-543599584,6a37af120a1a23404f5ea8e9be038823:1839819431,9ed6af12fb1a234082ee2e4d0561ea1c:284746349,0d65a79ee6d62340d9df958613711430:2121440194,f083239ab8d62340ef84aba16c2f3d95:-1728199726,0953671a0792234065c55ef8b151f1c7:546794929,6b236fd6d6922340af4eff312e83556a:-226396801,1af2671ace922340d9961916457c13c0:-978927293,51726fd6729223404693adfadee05665:-1734048615,4652e3960c922340e74e3ae52fa9ebcf:-1828109159,6452239a82d623400133b66754cc1d8d:-762274123,3d32efd60dd62340db120339ce5f3dd8:27604825,bbe12bd60f922340ee971a0edcce4687:1647563221,ee51ebd633d623406fc983bc1781071c:-481426158,e020efd6a6d623405d91cf95a93bf2d0:-1069961789,747f9f921e9223400c581d8d06499585:-212798249,cd2f5f9648d6234044c39d078fa420b0:1175317084,87ee1356a1d62340f6dd5f149518d6cf:-1611034433,e28e17168592234050c04b0fcc35991e:-1804621703,147e9756d3d62340682fef3170e43b7b:-1289199583,e75e9792c792234056704809f65c662a:1933066426,91ed13d230922340ffae9622764934b6:-1668983149,39ddd316d59223402ce94a167592ee46:1423337646,e00d13d2d792234092c64e2adc1654af:268935245,2b8b931269d62340f7f4cc3b0dac8165:-942681994,3e6b5b5e95962340dc5ed9576a91ec4c:-562880166,445bdb522ad623404076f84b79b4e755:1698065728,ca4b535251922340efb166786d5ef872:1325580946,b7991bdeed962340baca8b3b8b5dab85:-1931560358,e9e81bde83962340f1f157b30e47f47f:-1975806286,afacea1a5d162340d81939e63c1104e5:-615133679,4d2ca21a50162340f09dbeefe8a77bb6:-2096320727,faba6e96a5162340e3f6f929fa2deaa1:731354074</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_126ebddedb5223405bc229574896195d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Widget Packs\">7f15b5d6db5223405bc2295748961912</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>User and widgets</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_user_and_widget</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles>sp_admin</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:02</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>126ebddedb5223405bc229574896195d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User and widgets</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_126ebddedb5223405bc229574896195d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:02</sys_updated_on><timeline_page/><title>User and widgets</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash>1753268559</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>3d8cf393db0e73c006d1295748961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042450000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widgets</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>5a6ebdde72522340a9d70b9d39b9195e</update_guid>\n<update_guid_history>5a6ebdde72522340a9d70b9d39b9195e:1753268559</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widgets_and_packs_widget_options</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"widget_options\" table=\"u_widgets_and_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget options&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;widget_options&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"JSON\"&gt;json&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;4000&lt;/max_length&gt;&lt;name&gt;u_widgets_and_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sushruth.chandrashek@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:53:23&lt;/sys_created_on&gt;&lt;sys_id&gt;554dfd9edb5223405bc2295748961999&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget options&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widgets_and_packs_widget_options&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sushruth.chandrashek@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:53:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1167269543</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>3d8cf393db0e73c006d1295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042170000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Widget options</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>abcdb5de0d52234009047b84fe3587f1</update_guid>\n<update_guid_history>abcdb5de0d52234009047b84fe3587f1:1167269543,53cd35de99522340ceb50ac1e7bb77c1:1167269543</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widgets_and_packs_widget_options_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"widget_options\" label=\"Widget options\" language=\"en\" table=\"u_widgets_and_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>widget_options</element><help/><hint/><label>Widget options</label><language>en</language><name>u_widgets_and_packs</name><plural>Widget options</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sushruth.chandrashek@snc</sys_created_by><sys_created_on>2018-12-12 23:53:23</sys_created_on><sys_id>13cdb5dedb5223405bc22957489619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget options</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widgets_and_packs_widget_options_en</sys_update_name><sys_updated_by>sushruth.chandrashek@snc</sys_updated_by><sys_updated_on>2018-12-12 23:53:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>475620506</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>718c7793db0e73c006d129574896192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670422b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Widget options</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>abcdb5de84522340e0672483c73873f5</update_guid>\n<update_guid_history>abcdb5de84522340e0672483c73873f5:475620506</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_e32cbd5edb5223405bc2295748961914</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widgets_and_packs</description><name>u_widgets_and_packs</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>e32cbd5edb5223405bc2295748961914</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_e32cbd5edb5223405bc2295748961914</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1753723060</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>718c7793db0e73c006d129574896192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041c60000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>ef2cbd5e9e52234049954bba4a8fda17</update_guid>\n<update_guid_history>ef2cbd5e9e52234049954bba4a8fda17:1753723060</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_b32cbd5edb5223405bc229574896192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>b32cbd5edb5223405bc229574896192d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widgets_and_packs\">ef2cbd5edb5223405bc2295748961928</sys_security_acl><sys_update_name>sys_security_acl_role_b32cbd5edb5223405bc229574896192d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-922634942</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>718c7793db0e73c006d1295748961931</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041e50000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>772cbd5e5352234097d2e75679c15931</update_guid>\n<update_guid_history>772cbd5e5352234097d2e75679c15931:-922634942</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_332cbd5edb5223405bc229574896194c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_widgets_and_packs</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:19</sys_created_on><sys_id>332cbd5edb5223405bc229574896194c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_332cbd5edb5223405bc229574896194c</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:19</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-1462894054</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>718c7793db0e73c006d1295748961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041f70000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>u_widgets_and_packs</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>332cbd5ef1522340e54bf3c34ce18b4d</update_guid>\n<update_guid_history>332cbd5ef1522340e54bf3c34ce18b4d:-1462894054</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_packs_u_description</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_description\" table=\"u_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Description&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_description&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;400&lt;/max_length&gt;&lt;name&gt;u_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:44:17&lt;/sys_created_on&gt;&lt;sys_id&gt;689b7d1adb5223405bc229574896192b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Description&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_packs_u_description&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:44:17&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2063295065</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>718cf393db0e73c006d1295748961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041af0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs.Description</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>16bb755e8d522340c252afa5db84878f</update_guid>\n<update_guid_history>16bb755e8d522340c252afa5db84878f:-2063295065,86bb755e2b5223401c802821ee2a7882:-2063295065</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_and_widget_u_widget_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_widget\" label=\"Widget\" language=\"en\" table=\"u_user_and_widget\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_widget</element><help/><hint/><label>Widget</label><language>en</language><name>u_user_and_widget</name><plural>Widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:59:33</sys_created_on><sys_id>a53f7d12db9223405bc22957489619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_and_widget_u_widget_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:59:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>368676393</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>718cf393db0e73c006d1295748961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042a50000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget.Widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>b53f7d1237922340e0248f93124fbaff</update_guid>\n<update_guid_history>b53f7d1237922340e0248f93124fbaff:368676393</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_d075b9d6db5223405bc229574896198e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widget_pack_instance</description><name>u_widget_pack_instance</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>d075b9d6db5223405bc229574896198e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_d075b9d6db5223405bc229574896198e</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-510800418</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>758c7793db0e73c006d129574896192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670413b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>2875b9d6d552234085e84d5db6d54c91</update_guid>\n<update_guid_history>2875b9d6d552234085e84d5db6d54c91:-510800418</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9c75b9d6db5223405bc229574896197f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>9c75b9d6db5223405bc229574896197f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widget_pack_instance\">d875b9d6db5223405bc229574896197b</sys_security_acl><sys_update_name>sys_security_acl_role_9c75b9d6db5223405bc229574896197f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1729867998</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>758c7793db0e73c006d1295748961930</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670412a0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>5075b9d6745223400cf483d916347784</update_guid>\n<update_guid_history>5075b9d6745223400cf483d916347784:1729867998</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_40bfbd52db9223405bc22957489619c4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"40bfbd52db9223405bc22957489619c4\" sys_domain=\"global\" table=\"u_packs\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:37</sys_created_on><sys_id>80bfbd52db9223405bc22957489619d6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_packs\" sys_domain=\"global\" view=\"Default view\">40bfbd52db9223405bc22957489619c4</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:37</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_description</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:37</sys_created_on><sys_id>08bfbd52db9223405bc22957489619d6</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_packs\" sys_domain=\"global\" view=\"Default view\">40bfbd52db9223405bc22957489619c4</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:37</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_packs</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:37</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>40bfbd52db9223405bc22957489619c4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_40bfbd52db9223405bc22957489619c4</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:37</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-1992825255</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>758c7793db0e73c006d1295748961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042b80000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>08bfbd52379223405a9b2d95f61a26d7</update_guid>\n<update_guid_history>08bfbd52379223405a9b2d95f61a26d7:-1992825255,04bfbd52439223400a448a3deaf9c3c6:1843774221</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_c32ebddedb5223405bc2295748961950</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>User and widget</label><live_feed_enabled>false</live_feed_enabled><name>u_user_and_widget</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:02</sys_created_on><sys_id>c32ebddedb5223405bc2295748961950</sys_id><sys_mod_count>1</sys_mod_count><sys_name>User and widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_c32ebddedb5223405bc2295748961950</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:59:33</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-992337716</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>758cf393db0e73c006d1295748961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042ab0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>353fbd12d4922340d06eb0642ad0c205</update_guid>\n<update_guid_history>353fbd12d4922340d06eb0642ad0c205:-992337716,a26e7112f9922340dc1d344feef48962:-992337716</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_packs_u_description_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_description\" label=\"Description\" language=\"en\" table=\"u_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_description</element><help/><hint/><label>Description</label><language>en</language><name>u_packs</name><plural>Descriptions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:44:17</sys_created_on><sys_id>8ebb755edb5223405bc2295748961983</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Description</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_packs_u_description_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:44:17</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>245732669</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>758cf393db0e73c006d1295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041ba0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs.Description</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>9abb755eb7522340c223921802956191</update_guid>\n<update_guid_history>9abb755eb7522340c223921802956191:245732669</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5e6e7112db9223405bc2295748961942</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_user_and_widget</description><name>u_user_and_widget</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>5e6e7112db9223405bc2295748961942</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_5e6e7112db9223405bc2295748961942</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>1931883316</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>798c7793db0e73c006d129574896192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042750000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>926e71124a922340c0849b4574b7ad46</update_guid>\n<update_guid_history>926e71124a922340c0849b4574b7ad46:1931883316</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_8086f91adb5223405bc22957489619e3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>8086f91adb5223405bc22957489619e3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_packs\">cc86f91adb5223405bc22957489619de</sys_security_acl><sys_update_name>sys_security_acl_role_8086f91adb5223405bc22957489619e3</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>674024346</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>798c7793db0e73c006d129574896192f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670418c0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>4486f91a055223401a81869be1cf5fe7</update_guid>\n<update_guid_history>4486f91a055223401a81869be1cf5fe7:674024346</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_1c75b9d6db5223405bc229574896193a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Widget Packs\">d875b9d6db5223405bc2295748961938</application><filter/><name>Widget Pack Instances</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles>sp_admin</roles><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:51</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>1c75b9d6db5223405bc229574896193a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget Pack Instances</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_1c75b9d6db5223405bc229574896193a</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:51</sys_updated_on><table>u_widget_pack_instance</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<payload_hash>-1481635748</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>798c7793db0e73c006d1295748961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041110000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instances</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>9875b9d6c752234088c9927728432a48</update_guid>\n<update_guid_history>9875b9d6c752234088c9927728432a48:-1481635748</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_1075b9d6db5223405bc2295748961936</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Widget Packs\">7f15b5d6db5223405bc2295748961912</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Widget Pack Instances</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_widget_pack_instance</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles>sp_admin</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:51</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>1075b9d6db5223405bc2295748961936</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget Pack Instances</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_1075b9d6db5223405bc2295748961936</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:51</sys_updated_on><timeline_page/><title>Widget Pack Instances</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash>1697316743</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>798cf393db0e73c006d1295748961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041050000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instances</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>d875b9d65952234020a188f89d2dbb37</update_guid>\n<update_guid_history>d875b9d65952234020a188f89d2dbb37:1697316743</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widgets_and_packs_u_widget</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_widget\" table=\"u_widgets_and_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_widget&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_widgets_and_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sp_widget\"&gt;sp_widget&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:50:01&lt;/sys_created_on&gt;&lt;sys_id&gt;bc3cbd5edb5223405bc22957489619ba&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widgets_and_packs_u_widget&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-13 08:06:11&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1746125145</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>798cf393db0e73c006d1295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042e80000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>469eef9ad31a23403e3c431b348f2fa2</update_guid>\n<update_guid_history>469eef9ad31a23403e3c431b348f2fa2:1746125145,8e0d319ec052234068e106f5a5146ad5:1776611552</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_4486391adb5223405bc22957489619fc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_packs</description><name>u_packs</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>4486391adb5223405bc22957489619fc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_4486391adb5223405bc22957489619fc</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-2071613636</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>7d8c7793db0e73c006d129574896192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041650000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>0c86391a23522340affeb140d09ff5ff</update_guid>\n<update_guid_history>0c86391a23522340affeb140d09ff5ff:-2071613636</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_126e7112db9223405bc2295748961947</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>126e7112db9223405bc2295748961947</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_user_and_widget\">5e6e7112db9223405bc2295748961942</sys_security_acl><sys_update_name>sys_security_acl_role_126e7112db9223405bc2295748961947</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1270886028</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>7d8c7793db0e73c006d129574896192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670427c0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>d26e711274922340aca8479fba6e804b</update_guid>\n<update_guid_history>d26e711274922340aca8479fba6e804b:1270886028</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_d875b9d6db5223405bc2295748961938</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>Widget Packs</name><order/><roles>sp_admin</roles><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:51</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d875b9d6db5223405bc2295748961938</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget Packs</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_d875b9d6db5223405bc2295748961938</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:51</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<payload_hash>1252296880</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>7d8c7793db0e73c006d1295748961931</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670410b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>Widget Packs</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid>9c75b9d6cb522340cdb08f69a0c69639</update_guid>\n<update_guid_history>9c75b9d6cb522340cdb08f69a0c69639:1252296880</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>u_widget_pack_instance_15ebd7d2dbd623405bc229574896199c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"u_widget_pack_instance\"><u_widget_pack_instance action=\"INSERT_OR_UPDATE\"><active>true</active><class_name/><color>default</color><css/><glyph/><id/><order>1</order><roles/><short_description/><size>md</size><sp_column display_value=\"3\">0ec8e193d7333100a9ad1e173e24d44a</sp_column><sp_widget display_value=\"Widget pack\">c0aaaa96db1623405bc229574896192c</sp_widget><sys_class_name>u_widget_pack_instance</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 06:44:29</sys_created_on><sys_id>15ebd7d2dbd623405bc229574896199c</sys_id><sys_mod_count>8</sys_mod_count><sys_name>My Widgets</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>u_widget_pack_instance_15ebd7d2dbd623405bc229574896199c</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-14 01:01:05</sys_updated_on><title>My Widgets</title><u_pack display_value=\"Pack one\">800cdbd2dbd623405bc229574896190e</u_pack><url/><widget_parameters/></u_widget_pack_instance><sys_translated_text action=\"delete_multiple\" query=\"documentkey=15ebd7d2dbd623405bc229574896199c\"/></record_update>]]></payload>\n<payload_hash>-1477455709</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>7d8c7793db0e73c006d1295748961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042f60000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>My Widgets</target_name>\n<type>Widget Pack Instance</type>\n<update_domain>global</update_domain>\n<update_guid>b8e69fa67b9663403792b076b35dc56d</update_guid>\n<update_guid_history>b8e69fa67b9663403792b076b35dc56d:-1477455709,d4d4be6a131663407137d07146e26dda:-1170792903,3593ba2a1f166340e0a782792cad77c9:-1477455709,4c61b2a6e8166340ee3911157c7c3c2a:-1170792903,97cc26a2d2166340ae38a1cb9878c48b:865751550,cc4b6eee27d26340bd7a6b510a5e89c4:1628980682,b66cedea53de2340f179b9eb2d58100c:865751550,6b7cd316a0d62340d7f3316bd5217178:-2116102363,1debd7d2bcd62340bfee92f0477c959d:1980197066</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_and_widget_u_widget</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_widget\" table=\"u_user_and_widget\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Widget&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_widget&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_user_and_widget&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_widgets_and_packs\"&gt;u_widgets_and_packs&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:59:33&lt;/sys_created_on&gt;&lt;sys_id&gt;4caeb112db9223405bc22957489619df&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_and_widget_u_widget&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:59:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-620675552</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>7d8cf393db0e73c006d1295748961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042990000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget.Widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>313f7d1276922340313f1b796d7c36fd</update_guid>\n<update_guid_history>313f7d1276922340313f1b796d7c36fd:-620675552,293f7d121392234072e3052125a011ec:-620675552</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_cc86f91adb5223405bc22957489619de</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_packs</description><name>u_packs</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>cc86f91adb5223405bc22957489619de</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_cc86f91adb5223405bc22957489619de</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1336928870</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b18c7793db0e73c006d129574896192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041860000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>0486f91a6a522340e9f700f2a2c911e2</update_guid>\n<update_guid_history>0486f91a6a522340e9f700f2a2c911e2:-1336928870</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_9075b9d6db5223405bc2295748961989</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>9075b9d6db5223405bc2295748961989</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widget_pack_instance\">dc75b9d6db5223405bc2295748961984</sys_security_acl><sys_update_name>sys_security_acl_role_9075b9d6db5223405bc2295748961989</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-70312518</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b18c7793db0e73c006d1295748961930</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041350000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>5475b9d684522340d8023828a20af38d</update_guid>\n<update_guid_history>5475b9d684522340d8023828a20af38d:-70312518</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_13f76392db1a23405bc22957489619e0</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"13f76392db1a23405bc22957489619e0\" sys_domain=\"global\" table=\"u_user_and_widget\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:37:19</sys_created_on><sys_id>d7f76392db1a23405bc22957489619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_user_and_widget\" sys_domain=\"global\" view=\"Default view\">13f76392db1a23405bc22957489619e0</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:37:19</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_user</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:37:19</sys_created_on><sys_id>5bf76392db1a23405bc22957489619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_user_and_widget\" sys_domain=\"global\" view=\"Default view\">13f76392db1a23405bc22957489619e0</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:37:19</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:37:19</sys_created_on><sys_id>dbf76392db1a23405bc22957489619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_user_and_widget\" sys_domain=\"global\" view=\"Default view\">13f76392db1a23405bc22957489619e0</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:37:19</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_widget</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:37:19</sys_created_on><sys_id>5ff76392db1a23405bc22957489619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_user_and_widget\" sys_domain=\"global\" view=\"Default view\">13f76392db1a23405bc22957489619e0</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:37:19</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:37:19</sys_created_on><sys_id>dff76392db1a23405bc22957489619fe</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_user_and_widget\" sys_domain=\"global\" view=\"Default view\">13f76392db1a23405bc22957489619e0</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:37:19</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_user_and_widget</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:37:19</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>13f76392db1a23405bc22957489619e0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_13f76392db1a23405bc22957489619e0</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:37:19</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-321759192</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b18c7793db0e73c006d1295748961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042e20000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>57f7a392151a234012ccd038c46fff00</update_guid>\n<update_guid_history>57f7a392151a234012ccd038c46fff00:-321759192,93f76392311a2340574dd325dc1b06e2:-2127124872</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_1245f5d6db5223405bc2295748961961</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Widget Pack Instance</label><live_feed_enabled>false</live_feed_enabled><name>u_widget_pack_instance</name><number_ref/><provider_class/><read_access>true</read_access><super_class display_value=\"Instance\" name=\"sp_instance\">ff36aa33dbd12300ae0ba9a35b9619b9</super_class><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:50</sys_created_on><sys_id>1245f5d6db5223405bc2295748961961</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget Pack Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_1245f5d6db5223405bc2295748961961</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:50</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>142690521</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b18cf393db0e73c006d1295748961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041590000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>e875b9d61352234092900748ed9166aa</update_guid>\n<update_guid_history>e875b9d61352234092900748ed9166aa:142690521</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widget_pack_instance_u_pack</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_pack\" table=\"u_widget_pack_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Pack&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_pack&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_widget_pack_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_packs\"&gt;u_packs&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-13 03:16:46&lt;/sys_created_on&gt;&lt;sys_id&gt;653ca21adb1623405bc22957489619fb&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Pack&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widget_pack_instance_u_pack&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-13 03:16:46&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-1768825526</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b18cf393db0e73c006d1295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042c40000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance.Pack</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>be5ce61aaf1623401b376b1d5fb187be</update_guid>\n<update_guid_history>be5ce61aaf1623401b376b1d5fb187be:-1768825526,fa5ce61a071623407959075a9c284eb1:-1768825526</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5a6ebddedb5223405bc229574896195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_user_and_widget</description><name>u_user_and_widget</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:02</sys_created_on><sys_id>5a6ebddedb5223405bc229574896195f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_5a6ebddedb5223405bc229574896195f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:02</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>816425558</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b58c7793db0e73c006d129574896192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670424b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>1a6e71120a922340457efd50d4aa2228</update_guid>\n<update_guid_history>1a6e71120a922340457efd50d4aa2228:816425558</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_4886f91adb5223405bc22957489619c5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>4886f91adb5223405bc22957489619c5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_packs\">4486391adb5223405bc22957489619fc</sys_security_acl><sys_update_name>sys_security_acl_role_4886f91adb5223405bc22957489619c5</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1645468809</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b58c7793db0e73c006d129574896192f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670416b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>4886f91a1d5223406f2301922f87a0cb</update_guid>\n<update_guid_history>4886f91a1d5223406f2301922f87a0cb:1645468809</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_list_sp_widget_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_list parent=\"\" relationship=\"\" sys_domain=\"global\" table=\"sp_widget\" version=\"2\" view=\"\"><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>name</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>0</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>b31bf9eedb1263405bc229574896190a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>id</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>1</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>3b1bf9eedb1263405bc229574896190a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>data_table</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>2</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>bb1bf9eedb1263405bc229574896190a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sys_updated_on</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>3</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>3f1bf9eedb1263405bc229574896190a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>sys_package</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>4</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>bf1bf9eedb1263405bc229574896190a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>client_script</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>5</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>331bf9eedb1263405bc229574896190b</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>script</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>6</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>b31bf9eedb1263405bc229574896190b</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list_element action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element>category</element><list_id display_value=\"sp_widget\" element=\"NULL\" name=\"sp_widget\" parent=\"NULL\" relationship=\"NULL\" sys_domain=\"global\" view=\"Default view\">dd3000a347101200ba13a5554ee490e7</list_id><max_value>false</max_value><min_value>false</min_value><position>7</position><sum>false</sum><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_id>371bf9eedb1263405bc229574896190b</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on></sys_ui_list_element><sys_ui_list action=\"INSERT_OR_UPDATE\"><average_value>false</average_value><element/><max_value>false</max_value><min_value>false</min_value><name>sp_widget</name><parent/><position/><relationship/><sum>false</sum><sys_class_name>sys_ui_list</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 18:20:09</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>dd3000a347101200ba13a5554ee490e7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>sp_widget</sys_name><sys_package display_value=\"Service Portal - Core\" source=\"com.glide.service-portal\">f66ddd7c74e0330078509adcc48c87da</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_list_sp_widget_null</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 18:20:09</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_list></sys_ui_list></record_update>]]></payload>\n<payload_hash>-372464235</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b58c7793db0e73c006d1295748961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042ef0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>sp_widget</table>\n<target_name>Widget</target_name>\n<type>List Layout</type>\n<update_domain>global</update_domain>\n<update_guid>bb1bf9eed012634003e70637fa982b0d</update_guid>\n<update_guid_history>bb1bf9eed012634003e70637fa982b0d:-372464235,4196439eef692f005f2ac3c3312caf15:848152279,b896039e95692f0040261ad8c72648ec:-1175819258</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_0086391adb5223405bc22957489619fa</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Widget Packs\">7f15b5d6db5223405bc2295748961912</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Packs</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_packs</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles>sp_admin</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0086391adb5223405bc22957489619fa</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Packs</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_0086391adb5223405bc22957489619fa</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><timeline_page/><title>Packs</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash>-1935381742</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b58cf393db0e73c006d1295748961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670415f0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>8486391aa95223403ee2eb973f16f1fb</update_guid>\n<update_guid_history>8486391aa95223403ee2eb973f16f1fb:-1935381742</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widgets_and_packs_pack</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"pack\" table=\"u_widgets_and_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Pack&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;pack&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_widgets_and_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"u_packs\"&gt;u_packs&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sushruth.chandrashek@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:53:23&lt;/sys_created_on&gt;&lt;sys_id&gt;1f4d31dedb5223405bc2295748961957&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Pack&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widgets_and_packs_pack&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sushruth.chandrashek@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:53:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1417844620</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b58cf393db0e73c006d1295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670421d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Pack</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>a3cdb5de525223403fa1436b3c4c6df3</update_guid>\n<update_guid_history>a3cdb5de525223403fa1436b3c4c6df3:1417844620,9fcdb5de46522340d9f9a83a79c39ed0:1417844620</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widget_pack_instance__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Widget Pack Instance\" language=\"en\" table=\"u_widget_pack_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Widget Pack Instance</label><language>en</language><name>u_widget_pack_instance</name><plural>Widget Pack Instances</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>a475b9d6db5223405bc22957489619a0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget Pack Instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widget_pack_instance__en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1755928951</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b98c7793db0e73c006d129574896192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041540000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>e475b9d62f522340f2d4d01957f133a9</update_guid>\n<update_guid_history>e475b9d62f522340f2d4d01957f133a9:-1755928951</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_f32cbd5edb5223405bc2295748961932</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widgets_and_packs</description><name>u_widgets_and_packs</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>f32cbd5edb5223405bc2295748961932</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_f32cbd5edb5223405bc2295748961932</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-33195502</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b98c7793db0e73c006d129574896192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041ea0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>3b2cbd5e6b522340ce357a18344f9035</update_guid>\n<update_guid_history>3b2cbd5e6b522340ce357a18344f9035:-33195502</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d66e7112db9223405bc2295748961929</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:02</sys_created_on><sys_id>d66e7112db9223405bc2295748961929</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_user_and_widget\">5a6ebddedb5223405bc229574896195f</sys_security_acl><sys_update_name>sys_security_acl_role_d66e7112db9223405bc2295748961929</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:02</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>657810855</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b98c7793db0e73c006d1295748961931</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042510000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>966e7112af922340d952da95a9157e2f</update_guid>\n<update_guid_history>966e7112af922340d952da95a9157e2f:657810855</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_e66e7112db9223405bc229574896195d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_user_and_widget</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>e66e7112db9223405bc229574896195d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_e66e7112db9223405bc229574896195d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>253318618</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b98c7793db0e73c006d1295748961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042810000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>u_user_and_widget</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>e66e71124a922340fd3bf9ec501b595e</update_guid>\n<update_guid_history>e66e71124a922340fd3bf9ec501b595e:253318618</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_and_widget_u_user</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_user\" table=\"u_user_and_widget\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;User&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_user&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Reference\"&gt;reference&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;32&lt;/max_length&gt;&lt;name&gt;u_user_and_widget&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference display_value=\"\" name=\"sys_user\"&gt;sys_user&lt;/reference&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:59:33&lt;/sys_created_on&gt;&lt;sys_id&gt;676e7112db9223405bc22957489619cc&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;User&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_and_widget_u_user&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:59:33&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1592140690</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>b98cf393db0e73c006d1295748961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042930000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget.User</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>f53f7d12c1922340564c7fbe275f1afb</update_guid>\n<update_guid_history>f53f7d12c1922340564c7fbe275f1afb:1592140690,a13f7d12d592234018c3ec0521f8e4e7:1592140690</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widgets_and_packs_u_widget_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_widget\" label=\"Widget\" language=\"en\" table=\"u_widgets_and_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_widget</element><help/><hint/><label>Widget</label><language>en</language><name>u_widgets_and_packs</name><plural>Widgets</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:50:01</sys_created_on><sys_id>c20db99edb5223405bc22957489619b4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widgets_and_packs_u_widget_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:50:01</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-835921751</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>bd8c7793db0e73c006d129574896192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670420b0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Widget</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>d60db99e2d522340ca359372dbf2babe</update_guid>\n<update_guid_history>d60db99e2d522340ca359372dbf2babe:-835921751</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_dc75b9d6db5223405bc2295748961984</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widget_pack_instance</description><name>u_widget_pack_instance</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>dc75b9d6db5223405bc2295748961984</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_dc75b9d6db5223405bc2295748961984</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1489767924</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>bd8c7793db0e73c006d129574896192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041300000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>1475b9d657522340bd2c6d473713eb88</update_guid>\n<update_guid_history>1475b9d657522340bd2c6d473713eb88:-1489767924</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_af2cbd5edb5223405bc2295748961923</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>af2cbd5edb5223405bc2295748961923</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widgets_and_packs\">eb2cbd5edb5223405bc229574896191f</sys_security_acl><sys_update_name>sys_security_acl_role_af2cbd5edb5223405bc2295748961923</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1262421197</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>bd8c7793db0e73c006d1295748961930</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041d80000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>632cbd5e495223405dedfd838d7f8628</update_guid>\n<update_guid_history>632cbd5e495223405dedfd838d7f8628:1262421197</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_a83de65adb1623405bc229574896192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"Data\" section_id=\"a83de65adb1623405bc229574896192f\" sys_domain=\"global\" table=\"u_widget_pack_instance\" version=\"3\" view=\"sp_instance_config\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-06-20 19:27:07</sys_created_on><sys_id>13eed753db82730094407f6bbf9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Data\" display_value=\"Data\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">a83de65adb1623405bc229574896192f</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2019-06-20 19:27:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_pack</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2019-06-20 19:27:07</sys_created_on><sys_id>dbeed753db82730094407f6bbf9619e1</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"Data\" display_value=\"Data\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"0ce54027b33232007a6de81816a8dca1\">a83de65adb1623405bc229574896192f</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2019-06-20 19:27:07</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption>Data</caption><header>false</header><name>u_widget_pack_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 03:20:27</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a83de65adb1623405bc229574896192f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Data</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_a83de65adb1623405bc229574896192f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 03:20:27</sys_updated_on><sys_user/><title>false</title><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>-919449944</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>bd8c7793db0e73c006d1295748961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767043040000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>93eed75338827300d7ef0ba5186ff2e3</update_guid>\n<update_guid_history>93eed75338827300d7ef0ba5186ff2e3:-919449944,d05cadea20de2340b448b1ac6938c6a9:64694413,21ebe16a0bde2340287077235f032d05:-919449944,e24d6a5aec162340ced79f20c568e796:64694413,6e4de65a62162340aa61d1b9ecdeada0:-1141697653</update_guid_history>\n<update_set display_value=\"\"/>\n<view>sp_instance_config</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_packs_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:21:29&lt;/sys_created_on&gt;&lt;sys_id&gt;4086f91adb5223405bc22957489619e8&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_packs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_packs_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:21:29&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>1737410174</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>bd8cf393db0e73c006d1295748961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041980000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>1086f91a22522340c202e3ae674ec4fb</update_guid>\n<update_guid_history>1086f91a22522340c202e3ae674ec4fb:1737410174</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_user_and_widget_u_user_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_user\" label=\"User\" language=\"en\" table=\"u_user_and_widget\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_user</element><help/><hint/><label>User</label><language>en</language><name>u_user_and_widget</name><plural>Users</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:59:33</sys_created_on><sys_id>213f7d12db9223405bc22957489619ee</sys_id><sys_mod_count>0</sys_mod_count><sys_name>User</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_user_and_widget_u_user_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:59:33</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>31596507</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>bd8cf393db0e73c006d1295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670429f0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget.User</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>b13f7d12a09223404227777778facbfe</update_guid>\n<update_guid_history>b13f7d12a09223404227777778facbfe:31596507</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_5a6e7112db9223405bc2295748961939</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_user_and_widget</description><name>u_user_and_widget</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>5a6e7112db9223405bc2295748961939</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_5a6e7112db9223405bc2295748961939</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-2126564026</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f18c7793db0e73c006d129574896192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042660000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>9e6e7112b89223409ea8443ee052b53c</update_guid>\n<update_guid_history>9e6e7112b89223409ea8443ee052b53c:-2126564026</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_1e6e7112db9223405bc229574896193d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:56:03</sys_created_on><sys_id>1e6e7112db9223405bc229574896193d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_user_and_widget.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_user_and_widget\">5a6e7112db9223405bc2295748961939</sys_security_acl><sys_update_name>sys_security_acl_role_1e6e7112db9223405bc229574896193d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:56:03</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>1394467696</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f18c7793db0e73c006d129574896192f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670426d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>u_user_and_widget.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>de6e71125292234052e08ac36d905641</update_guid>\n<update_guid_history>de6e71125292234052e08ac36d905641:1394467696</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_form_sections_6c3de65adb1623405bc229574896192b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_form_sections form_id=\"6c3de65adb1623405bc229574896192b\" sys_domain=\"global\" table=\"u_widget_pack_instance\" version=\"3\"><sys_ui_form action=\"INSERT_OR_UPDATE\"><name>u_widget_pack_instance</name><roles/><sys_class_name>sys_ui_form</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 03:20:27</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>6c3de65adb1623405bc229574896192b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_form_sections_6c3de65adb1623405bc229574896192b</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 03:20:27</sys_updated_on><sys_user/><view display_value=\"SP Instance Config\" name=\"sp_instance_config\">0ce54027b33232007a6de81816a8dca1</view><view_name/></sys_ui_form></sys_ui_form_sections></record_update>]]></payload>\n<payload_hash>-826278858</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f18c7793db0e73c006d1295748961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042d70000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Form Sections</type>\n<update_domain>global</update_domain>\n<update_guid>2c3de65a7216234021eee7d00a76902c</update_guid>\n<update_guid_history>2c3de65a7216234021eee7d00a76902c:-826278858</update_guid_history>\n<update_set display_value=\"\"/>\n<view>0ce54027b33232007a6de81816a8dca1</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_7f15b5d6db5223405bc2295748961912</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name/><order>100</order><roles>sp_admin</roles><sys_class_name>sys_app_application</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:15:51</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>7f15b5d6db5223405bc2295748961912</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widget Packs</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_7f15b5d6db5223405bc2295748961912</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:15:51</sys_updated_on><title>Widget Packs</title><view_name/></sys_app_application></record_update>]]></payload>\n<payload_hash>-1770531617</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f18cf393db0e73c006d1295748961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767040e80000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>Widget Packs</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_guid>e13575d60752234013fcfdf5f8214fbb</update_guid>\n<update_guid_history>e13575d60752234013fcfdf5f8214fbb:-1770531617</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widgets_and_packs_order</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"order\" table=\"u_widgets_and_packs\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Order&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;order&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_widgets_and_packs&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sushruth.chandrashek@snc&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:53:23&lt;/sys_created_on&gt;&lt;sys_id&gt;64ad35dedb5223405bc22957489619b6&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widgets_and_packs_order&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sushruth.chandrashek@snc&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:53:23&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-264961301</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f18cf393db0e73c006d1295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042240000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Order</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>2bcdb5dea25223403e34b5834a8805f4</update_guid>\n<update_guid_history>2bcdb5dea25223403e34b5834a8805f4:-264961301,93cdb5de7a522340e40b5b0f21b47fd6:-264961301</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widget_pack_instance_u_pack_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_pack\" label=\"Pack\" language=\"en\" table=\"u_widget_pack_instance\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_pack</element><help/><hint/><label>Pack</label><language>en</language><name>u_widget_pack_instance</name><plural>Packs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 03:16:47</sys_created_on><sys_id>be5ce61adb1623405bc22957489619b3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Pack</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widget_pack_instance_u_pack_en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 03:16:47</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>537557189</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58c7793db0e73c006d129574896192b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042ca0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance.Pack</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>325ce61af1162340e679163fc12f02c0</update_guid>\n<update_guid_history>325ce61af1162340e679163fc12f02c0:537557189</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_ef2cbd5edb5223405bc2295748961928</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widgets_and_packs</description><name>u_widgets_and_packs</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>ef2cbd5edb5223405bc2295748961928</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_ef2cbd5edb5223405bc2295748961928</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-1152798812</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58c7793db0e73c006d129574896192e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041df0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>272cbd5ed15223402fda27265b4ec92c</update_guid>\n<update_guid_history>272cbd5ed15223402fda27265b4ec92c:-1152798812</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_d475b9d6db5223405bc229574896194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:51</sys_created_on><sys_id>d475b9d6db5223405bc229574896194e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widget_pack_instance\">d875b9d6db5223405bc2295748961949</sys_security_acl><sys_update_name>sys_security_acl_role_d475b9d6db5223405bc229574896194e</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:51</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-67033256</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58c7793db0e73c006d1295748961931</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670411e0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>1c75b9d6cb5223409dc454b7f692f97a</update_guid>\n<update_guid_history>1c75b9d6cb5223409dc454b7f692f97a:-67033256</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_6875b9d6db5223405bc22957489619a5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_widget_pack_instance</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:53</sys_created_on><sys_id>6875b9d6db5223405bc22957489619a5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_6875b9d6db5223405bc22957489619a5</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:53</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<payload_hash>-225095162</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58c7793db0e73c006d1295748961934</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041450000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table/>\n<target_name>u_widget_pack_instance</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_guid>e875b9d677522340f4c3e70d3fd8e1a6</update_guid>\n<update_guid_history>e875b9d677522340f4c3e70d3fd8e1a6:-225095162</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_user_and_widget_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_user_and_widget\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_user_and_widget&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:56:03&lt;/sys_created_on&gt;&lt;sys_id&gt;de6e7112db9223405bc229574896194b&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_user_and_widget&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_user_and_widget_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:56:03&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-462615900</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58cf393db0e73c006d1295748961942</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042870000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_user_and_widget</table>\n<target_name>User and widget</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>6e6e71129e9223403ba7e322792c8a5f</update_guid>\n<update_guid_history>6e6e71129e9223403ba7e322792c8a5f:-462615900</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widgets_and_packs_order_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"order\" label=\"Order\" language=\"en\" table=\"u_widgets_and_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>order</element><help/><hint/><label>Order</label><language>en</language><name>u_widgets_and_packs</name><plural>Orders</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sushruth.chandrashek@snc</sys_created_by><sys_created_on>2018-12-12 23:53:23</sys_created_on><sys_id>9bcdb5dedb5223405bc22957489619d7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Order</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widgets_and_packs_order_en</sys_update_name><sys_updated_by>sushruth.chandrashek@snc</sys_updated_by><sys_updated_on>2018-12-12 23:53:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>1071916477</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f58cf393db0e73c006d1295748961945</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042370000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Order</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>a3cdb5de4a52234082b911a07ca77ff8</update_guid>\n<update_guid_history>a3cdb5de4a52234082b911a07ca77ff8:1071916477</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_widgets_and_packs_pack_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"pack\" label=\"Pack\" language=\"en\" table=\"u_widgets_and_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>pack</element><help/><hint/><label>Pack</label><language>en</language><name>u_widgets_and_packs</name><plural>Packs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sushruth.chandrashek@snc</sys_created_by><sys_created_on>2018-12-12 23:53:23</sys_created_on><sys_id>57cdb5dedb5223405bc22957489619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Pack</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_widgets_and_packs_pack_en</sys_update_name><sys_updated_by>sushruth.chandrashek@snc</sys_updated_by><sys_updated_on>2018-12-12 23:53:23</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>301457279</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f98c7793db0e73c006d129574896192a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042320000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs.Pack</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>afcdb5deeb5223408e620616e07227f6</update_guid>\n<update_guid_history>afcdb5deeb5223408e620616e07227f6:301457279</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_d875b9d6db5223405bc229574896197b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_widget_pack_instance</description><name>u_widget_pack_instance</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:16:52</sys_created_on><sys_id>d875b9d6db5223405bc229574896197b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_d875b9d6db5223405bc229574896197b</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:16:52</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>930332616</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f98c7793db0e73c006d129574896192d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041240000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>u_widget_pack_instance</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>1075b9d6b9522340b2c51fec87b6ed7f</update_guid>\n<update_guid_history>1075b9d6b9522340b2c51fec87b6ed7f:930332616</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_af2cbd5edb5223405bc2295748961918</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_id>af2cbd5edb5223405bc2295748961918</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widgets_and_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_widgets_and_packs\">e32cbd5edb5223405bc2295748961914</sys_security_acl><sys_update_name>sys_security_acl_role_af2cbd5edb5223405bc2295748961918</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>-632918228</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f98c7793db0e73c006d1295748961930</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041cb0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>u_widgets_and_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>2f2cbd5e4a52234001e768ea0d8c1c1e</update_guid>\n<update_guid_history>2f2cbd5e4a52234001e768ea0d8c1c1e:-632918228</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_a83d265adb1623405bc22957489619c5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"a83d265adb1623405bc22957489619c5\" sys_domain=\"global\" table=\"u_widget_pack_instance\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>title</element><position>0</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>c2d2a7dadbd623405bc2295748961975</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_pack</element><position>1</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>0ed2e71edbd623405bc22957489619cd</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>roles</element><position>2</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>8ed2e71edbd623405bc22957489619cd</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.begin_split</element><position>3</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>02d2e71edbd623405bc22957489619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type>.begin_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>4</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>82d2e71edbd623405bc22957489619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>sys_scope</element><position>5</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>06d2e71edbd623405bc22957489619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>6</position><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 07:14:50</sys_created_on><sys_id>86d2e71edbd623405bc22957489619ce</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_widget_pack_instance\" sys_domain=\"global\" view=\"Default view\">a83d265adb1623405bc22957489619c5</sys_ui_section><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 07:14:50</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_widget_pack_instance</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 03:20:27</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>a83d265adb1623405bc22957489619c5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_widget_pack_instance</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_a83d265adb1623405bc22957489619c5</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 03:20:27</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<payload_hash>498564718</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f98c7793db0e73c006d1295748961933</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042dc0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_guid>c2d2e71ef7d6234040601cf7982d8fd0</update_guid>\n<update_guid_history>c2d2e71ef7d6234040601cf7982d8fd0:498564718,4ed2a7da23d6234093957e815decf471:2035212767</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_fa46391adb5223405bc22957489619c6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><caller_access/><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>Packs</label><live_feed_enabled>false</live_feed_enabled><name>u_packs</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_code/><sys_class_name>sys_db_object</sys_class_name><sys_class_path/><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>fa46391adb5223405bc22957489619c6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_fa46391adb5223405bc22957489619c6</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><update_access>false</update_access><user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<payload_hash>-2084107914</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f98cf393db0e73c006d1295748961941</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041a30000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_guid>5486f91ad6522340361c5754575f35fd</update_guid>\n<update_guid_history>5486f91ad6522340361c5754575f35fd:-2084107914</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_packs__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"Packs\" language=\"en\" table=\"u_packs\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>Packs</label><language>en</language><name>u_packs</name><plural>Packs</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:30</sys_created_on><sys_id>9086f91adb5223405bc22957489619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_packs__en</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:30</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<payload_hash>-1637986670</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>f98cf393db0e73c006d1295748961944</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670419d0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_guid>d086f91a015223404097ef4a40679efc</update_guid>\n<update_guid_history>d086f91a015223404097ef4a40679efc:-1637986670</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_c886f91adb5223405bc22957489619d5</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_packs</description><name>u_packs</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>c886f91adb5223405bc22957489619d5</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_c886f91adb5223405bc22957489619d5</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<payload_hash>-476916180</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>fd8c7793db0e73c006d129574896192c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670417c0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_guid>0086f91acc5223400866cba079933fd9</update_guid>\n<update_guid_history>0086f91acc5223400866cba079933fd9:-476916180</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_8c86f91adb5223405bc22957489619d9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:21:29</sys_created_on><sys_id>8c86f91adb5223405bc22957489619d9</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_packs.sp_admin</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_packs\">c886f91adb5223405bc22957489619d5</sys_security_acl><sys_update_name>sys_security_acl_role_8c86f91adb5223405bc22957489619d9</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:21:29</sys_updated_on><sys_user_role display_value=\"sp_admin\" name=\"sp_admin\">cd640d10d7101200a9addd173e24d4cd</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<payload_hash>796041215</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>fd8c7793db0e73c006d129574896192f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041800000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>u_packs.sp_admin</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_guid>4086f91ac5522340180d345a888eacde</update_guid>\n<update_guid_history>4086f91ac5522340180d345a888eacde:796041215</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_related_u_packs_null</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_related sys_domain=\"global\" table=\"u_packs\" version=\"2\" view=\"\"><sys_ui_related_list_entry action=\"INSERT_OR_UPDATE\"><filter/><list_id display_value=\"Packs - Default view\" name=\"u_packs\" related_list=\"NULL\" sys_domain=\"global\" view=\"Default view\">6fbffd52db9223405bc2295748961916</list_id><order_by/><position>0</position><related_list>u_widgets_and_packs.pack</related_list><sys_class_name>sys_ui_related_list_entry</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:52</sys_created_on><sys_id>2bbffd52db9223405bc2295748961917</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:52</sys_updated_on></sys_ui_related_list_entry><sys_ui_related_list action=\"INSERT_OR_UPDATE\"><calculated_name>Packs - Default view</calculated_name><filter/><name>u_packs</name><order_by/><position/><related_list/><sys_class_name>sys_ui_related_list</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-13 00:01:52</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>6fbffd52db9223405bc2295748961916</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Packs - Default view</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_related_u_packs_null</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-13 00:01:52</sys_updated_on><sys_user/><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_related_list></sys_ui_related></record_update>]]></payload>\n<payload_hash>532089476</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>fd8c7793db0e73c006d1295748961932</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767042be0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_packs</table>\n<target_name>Packs</target_name>\n<type>Related Lists</type>\n<update_domain>global</update_domain>\n<update_guid>2fbffd523e922340795a2f1b02364d18</update_guid>\n<update_guid_history>2fbffd523e922340795a2f1b02364d18:532089476</update_guid_history>\n<update_set display_value=\"\"/>\n<view>Default view</view>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_672c395edb5223405bc229574896197b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"Widget Packs\">7f15b5d6db5223405bc2295748961912</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>Widgets and packs</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_widgets_and_packs</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles>sp_admin</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2018-12-12 23:46:18</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>672c395edb5223405bc229574896197b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Widgets and packs</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_672c395edb5223405bc229574896197b</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2018-12-12 23:46:18</sys_updated_on><timeline_page/><title>Widgets and packs</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<payload_hash>-479560636</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>fd8cf393db0e73c006d1295748961940</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b767041c00000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widgets_and_packs</table>\n<target_name>Widgets and packs</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_guid>e32cbd5e0f522340d6a61504cd107f13</update_guid>\n<update_guid_history>e32cbd5e0f522340d6a61504cd107f13:-479560636</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_widget_pack_instance_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" extends=\"sp_instance\" table=\"u_widget_pack_instance\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes&gt;update_synch=true&lt;/attributes&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;function_definition/&gt;&lt;function_field&gt;false&lt;/function_field&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_widget_pack_instance&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2018-12-12 23:16:52&lt;/sys_created_on&gt;&lt;sys_id&gt;6475b9d6db5223405bc2295748961997&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_widget_pack_instance&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_widget_pack_instance_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2018-12-12 23:16:52&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-2031973188</payload_hash>\n<remote_update_set display_value=\"Widget Packs\">f58cf393db0e73c006d129574896193f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>sush.chan</sys_created_by>\n<sys_created_on>2019-06-20 21:36:26</sys_created_on>\n<sys_id>fd8cf393db0e73c006d1295748961943</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>16b7670414c0000001</sys_recorded_at>\n<sys_updated_by>sush.chan</sys_updated_by>\n<sys_updated_on>2019-06-20 21:36:26</sys_updated_on>\n<table>u_widget_pack_instance</table>\n<target_name>Widget Pack Instance</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_guid>e075b9d6f25223402a01fc08dfdc6aa8</update_guid>\n<update_guid_history>e075b9d6f25223402a01fc08dfdc6aa8:-2031973188</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "src/pe-widget-packs/widget/pe-widget-packs.u-body-html-template.html",
    "content": "<div class=\"widget-container\">\n  <!-- your widget template -->\n  <div class=\"settings\">\n    <div class=\"dropdown\">\n      <button class=\"setting-btn dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\"\n        aria-haspopup=\"true\" aria-expanded=\"false\">\n        <i class=\"fa fa-cog\" aria-hidden=\"true\"></i>\n      </button>\n      <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\n        <a class=\"dropdown-item\" ng-repeat=\"widget in c.data.widgetPack | orderBy:widget.order\" ng-click=\"c.getWidgetAndAssign(widget)\" href=\"javascript:void(0)\">{{widget.name}}</a>\n      </div>\n    </div>\n  </div>\n  <div class=\"panel panel-default b\">\n    <div class=\"panel-heading\">\n      <h4 class=\"panel-title\">\n        {{c.options.title}}\n      </h4>\n    </div>\n    <div class=\"panel-body\">\n      <p ng-if=\"!c.data.myWidget && !c.loading\">Please use the cog wheel to select the widget you want to see here</p>\n      <div ng-if=\"c.data.myWidget\">\n        <sp-widget ng-if=\"c.show\" widget=\"c.data.myWidget\"></sp-widget>\n      </div>\n      <div class=\"loader-icon\" ng-if=\"c.loading\"><i class=\"fa fa-spinner fa-pulse fa-3x fa-fw\"></i></div>\n    </div>\n  </div>\n\n</div>"
  },
  {
    "path": "src/pe-widget-packs/widget/pe-widget-packs.u-client-script.js",
    "content": "function widgetPackController() {\n  /* widget controller */\n  var c = this;\n\n  c.$onInit = function () {\n    c.show = true;\n    c.loading = false;\n    c.getWidgetAndAssign = getWidgetAndAssign;\n  };\n\n\n  function getWidgetAndAssign(widget) {\n    c.show = false;\n    c.loading = true;\n    c.data.myWidget = \"\";\n    c.server.get({\n      id: widget.id,\n      combi_sysid: widget.pack_combi_sysid,\n      widget_option: JSON.parse(widget.options),\n      getWidget: true\n    }).then(function (r) {\n      console.log(r);\n      c.data.myWidget = r.data.myWidget;\n      c.show = true;\n      c.loading = false;\n    });\n  }\n\n\n}"
  },
  {
    "path": "src/pe-widget-packs/widget/pe-widget-packs.u-css.scss",
    "content": ".widget-container {\n  position: relative;\n  width: 100%;\n  height: 100%;\n\n\n  .loader-icon {\n    text-align: center;\n    font-size: 18px;\n  }\n\n  .settings {\n   position: absolute;\n    right: 5px;\n    top: 11px;\n\n    .setting-btn {\n      padding: 0px;\n      background: transparent;\n      border: 0px;\n      .fa{\n        font-size: 18px;\n      }\n    }\n\n    .dropdown-item {\n      display: block;\n      width: 100%;\n      padding: .25rem 1.5rem;\n      clear: both;\n      font-weight: 400;\n      color: #212529;\n      text-align: inherit;\n      white-space: nowrap;\n      background-color: transparent;\n      border: 0;\n    }\n\n    .dropdown-item:focus,\n    .dropdown-item:hover {\n      color: #16181b;\n      text-decoration: none;\n      background-color: #f8f9fa;\n    }\n  }\n}"
  },
  {
    "path": "src/pe-widget-packs/widget/pe-widget-packs.u-link-script.js",
    "content": ""
  },
  {
    "path": "src/pe-widget-packs/widget/pe-widget-packs.u-option-schema.json",
    "content": ""
  },
  {
    "path": "src/pe-widget-packs/widget/pe-widget-packs.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  if (!input) {\n    data.widgetPack = [];\n    data.myWidget = \"\";\n\n    if (options.u_pack) {\n      $sp.log(options.u_pack);\n      var wpacksGR = new GlideRecord('u_widgets_and_packs');\n      wpacksGR.addQuery('pack', options.u_pack);\n      wpacksGR.query();\n      while (wpacksGR.next()) {\n        var widget = {};\n        widget.name = wpacksGR.u_widget.name.toString();\n        widget.id = wpacksGR.u_widget.id.toString();\n        widget.sys_id = wpacksGR.u_widget;\n        widget.order = wpacksGR.getValue('order');\n        widget.options = wpacksGR.getValue('widget_options');\n        widget.pack_combi_sysid = wpacksGR.sys_id.toString();\n        data.widgetPack.push(widget);\n\n      }\n      $sp.log(data.widgetPack);\n\n      var userWidgetGr = new GlideRecord('u_user_and_widget');\n      userWidgetGr.addQuery('u_user', gs.getUserID());\n      userWidgetGr.addQuery('u_widget.pack', options.u_pack);\n      userWidgetGr.query();\n      if (userWidgetGr.next()) {\n        $sp.log(userWidgetGr.u_widget.u_widget.id);\n        var widgetOptions = userWidgetGr.u_widget.widget_options.toString();\n        if (widgetOptions) {\n          data.myWidget = $sp.getWidget(userWidgetGr.u_widget.u_widget.id, JSON.parse(widgetOptions));\n        } else {\n          data.myWidget = $sp.getWidget(userWidgetGr.u_widget.u_widget.id, {});\n        }\n\n      }\n\n    }\n  } else {\n    if (input.getWidget) {\n      var gr = new GlideRecord('u_user_and_widget');\n      gr.addQuery('u_user', gs.getUserID());\n      gr.addQuery('u_widget.pack', options.u_pack);\n      gr.query();\n      if (gr.next()) {\n        gr.deleteRecord();\n      }\n      gr.initialize();\n      gr.u_user = gs.getUserID();\n      gr.u_widget = input.combi_sysid;\n      gr.insert();\n\n      data.myWidget = $sp.getWidget(input.id, input.widget_option);\n    }\n  }\n\n\n})();"
  },
  {
    "path": "tabs/pe-tab-selection/README.md",
    "content": "# Tab Selection\n\n## Description\n\nThis can be used to quickly craft a tab selection widget with an option.\n\n## Screenshots\n### Collapsed\n![](../../images/pe-tab-selection-1.png)\n### Expanded\n![](../../images/pe-tab-selection-2.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-tab-selection.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/tabs/pe-tab-selection/pe-tab-selection.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Title\"** This is for changing the title in the panel header.---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-theme-color: #68acd8 !default;`<br/>\n`$pe-text-color: #fff !default;`<br/>\n`$pe-status-color-warning: #ffce00 !default;`<br/>\n`$pe-status-color-critical: #ff0050 !default;`<br/>\n"
  },
  {
    "path": "tabs/pe-tab-selection/angular-template/pe-tab-selection-svgs.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"server\">\n    <svg width=\"27px\" height=\"27px\" viewBox=\"0 0 27 27\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>1D11E75A-464A-4AFA-8F7F-79155BEBAF80</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.3---CVE-Info-(people-collapsed)\" transform=\"translate(-172.000000, -614.000000)\" fill=\"#67ACDB\">\n          <g id=\"Group-14\" transform=\"translate(150.000000, 614.000000)\">\n            <g id=\"server-2.2.3.1-copy\" transform=\"translate(22.000000, 0.000000)\">\n              <circle id=\"Oval\" cx=\"4.90909091\" cy=\"4.90909091\" r=\"0.613636364\"></circle>\n              <ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"22.0909091\" rx=\"0.613636364\" ry=\"0.613636364\"></ellipse>\n              <ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"13.5\" rx=\"0.613636364\" ry=\"0.613636364\"></ellipse>\n              <path d=\"M27,8.59090909 L27,1.84090909 C27,0.825954545 26.1740455,0 25.1590909,0 L1.84090909,0 C0.825954545,0 0,0.825954545 0,1.84090909 L0,8.59090909 L27,8.59090909 Z M9.81818182,3.68181818 L22.0909091,3.68181818 C22.4296364,3.68181818 22.7045455,3.95672727 22.7045455,4.29545455 C22.7045455,4.63418182 22.4296364,4.90909091 22.0909091,4.90909091 L9.81818182,4.90909091 C9.47945455,4.90909091 9.20454545,4.63418182 9.20454545,4.29545455 C9.20454545,3.95672727 9.47945455,3.68181818 9.81818182,3.68181818 Z M9.81818182,6.13636364 L22.0909091,6.13636364 C22.4296364,6.13636364 22.7045455,6.41127273 22.7045455,6.75 C22.7045455,7.08872727 22.4296364,7.36363636 22.0909091,7.36363636 L9.81818182,7.36363636 C9.47945455,7.36363636 9.20454545,7.08872727 9.20454545,6.75 C9.20454545,6.41127273 9.47945455,6.13636364 9.81818182,6.13636364 Z M4.90909091,3.06818182 C5.92404545,3.06818182 6.75,3.89413636 6.75,4.90909091 C6.75,5.92404545 5.92404545,6.75 4.90909091,6.75 C3.89413636,6.75 3.06818182,5.92404545 3.06818182,4.90909091 C3.06818182,3.89413636 3.89413636,3.06818182 4.90909091,3.06818182 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M0,18.4090909 L0,25.1590909 C0,26.1740455 0.825954545,27 1.84090909,27 L25.1590909,27 C26.1740455,27 27,26.1740455 27,25.1590909 L27,18.4090909 L0,18.4090909 Z M4.90909091,23.9318182 C3.89413636,23.9318182 3.06818182,23.1058636 3.06818182,22.0909091 C3.06818182,21.0759545 3.89413636,20.25 4.90909091,20.25 C5.92404545,20.25 6.75,21.0759545 6.75,22.0909091 C6.75,23.1058636 5.92404545,23.9318182 4.90909091,23.9318182 Z M22.0909091,24.5454545 L9.81818182,24.5454545 C9.47945455,24.5454545 9.20454545,24.2705455 9.20454545,23.9318182 C9.20454545,23.5930909 9.47945455,23.3181818 9.81818182,23.3181818 L22.0909091,23.3181818 C22.4296364,23.3181818 22.7045455,23.5930909 22.7045455,23.9318182 C22.7045455,24.2705455 22.4296364,24.5454545 22.0909091,24.5454545 Z M22.0909091,22.0909091 L9.81818182,22.0909091 C9.47945455,22.0909091 9.20454545,21.816 9.20454545,21.4772727 C9.20454545,21.1385455 9.47945455,20.8636364 9.81818182,20.8636364 L22.0909091,20.8636364 C22.4296364,20.8636364 22.7045455,21.1385455 22.7045455,21.4772727 C22.7045455,21.816 22.4296364,22.0909091 22.0909091,22.0909091 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M27,9.81818182 L0,9.81818182 L0,17.1818182 L27,17.1818182 L27,9.81818182 Z M4.90909091,15.3409091 C3.89413636,15.3409091 3.06818182,14.5149545 3.06818182,13.5 C3.06818182,12.4850455 3.89413636,11.6590909 4.90909091,11.6590909 C5.92404545,11.6590909 6.75,12.4850455 6.75,13.5 C6.75,14.5149545 5.92404545,15.3409091 4.90909091,15.3409091 Z M22.0909091,15.9545455 L9.81818182,15.9545455 C9.47945455,15.9545455 9.20454545,15.6796364 9.20454545,15.3409091 C9.20454545,15.0021818 9.47945455,14.7272727 9.81818182,14.7272727 L22.0909091,14.7272727 C22.4296364,14.7272727 22.7045455,15.0021818 22.7045455,15.3409091 C22.7045455,15.6796364 22.4296364,15.9545455 22.0909091,15.9545455 Z M22.0909091,13.5 L9.81818182,13.5 C9.47945455,13.5 9.20454545,13.2250909 9.20454545,12.8863636 C9.20454545,12.5476364 9.47945455,12.2727273 9.81818182,12.2727273 L22.0909091,12.2727273 C22.4296364,12.2727273 22.7045455,12.5476364 22.7045455,12.8863636 C22.7045455,13.2250909 22.4296364,13.5 22.0909091,13.5 Z\"\n                id=\"Shape\"></path>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"radio-active\">\n    <svg width=\"24px\" height=\"23px\" viewBox=\"0 0 24 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>B5B177A2-BB0D-4BB7-85C1-8F0FB12DFFFF</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.1---People-Expand\" transform=\"translate(-275.000000, -901.000000)\" fill=\"#65ACE1\">\n          <g id=\"radioactive-1.2.3.1\" transform=\"translate(275.000000, 901.000000)\">\n            <path d=\"M14.431,14.211 C14.365,14.097 14.255,14.013 14.127,13.979 C13.998,13.944 13.862,13.961 13.748,14.03 C12.682,14.647 11.317,14.645 10.251,14.03 C10.137,13.962 9.999,13.944 9.872,13.979 C9.744,14.013 9.635,14.097 9.568,14.211 L5.817,20.707 C5.68,20.946 5.762,21.252 6,21.391 C7.819,22.443 9.894,23 12,23 C14.106,23 16.18,22.443 18,21.391 C18.238,21.252 18.32,20.947 18.182,20.707 L14.431,14.211 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M17.999,0.609 C17.75,0.465 17.45,0.56 17.315,0.792 L13.564,7.289 C13.426,7.527 13.508,7.833 13.748,7.971 C14.714,8.53 15.5,10.113 15.5,11.5 C15.5,11.776 15.724,12 16,12 L23.5,12 C23.775,12 24,11.776 24,11.5 C24,7.062 21.588,2.685 17.999,0.609 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M8.5,11.5 C8.5,10.113 9.285,8.529 10.251,7.971 C10.49,7.833 10.572,7.528 10.434,7.289 L6.684,0.792 C6.548,0.559 6.245,0.467 6,0.609 C2.411,2.685 0,7.062 0,11.5 C0,11.776 0.224,12 0.5,12 L8,12 C8.275,12 8.5,11.776 8.5,11.5 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M9.5,11 C9.5,12.379 10.621,13.5 12,13.5 C13.378,13.5 14.5,12.379 14.5,11 C14.5,9.644 13.356,8.5 12,8.5 C10.644,8.5 9.5,9.644 9.5,11 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"fishing\">\n    <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>824B470E-14FE-4222-BEC6-CAB2D63C20D6</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.0---Incident-Detail\" transform=\"translate(-40.000000, -690.000000)\" fill=\"#6B0022\">\n          <g id=\"Group-16\" transform=\"translate(40.000000, 690.000000)\">\n            <g id=\"fishing.2.3.1\">\n              <path d=\"M18.38,13.192 C18.247,13.021 15.064,9 11,9 C7.731,9 5.016,11.602 4.01,12.707 L0.897,8.695 C0.767,8.523 0.542,8.455 0.34,8.524 C0.137,8.594 0,8.784 0,8.998 L0,17.998 C0,18.211 0.135,18.4 0.335,18.471 C0.39,18.49 0.444,18.498 0.5,18.498 C0.649,18.498 0.795,18.432 0.892,18.309 L3.999,14.29 C4.989,15.398 7.727,18 11,18 C15.061,18 18.242,13.982 18.378,13.81 C18.521,13.63 18.522,13.374 18.38,13.192 Z M13,14 C12.448,14 12,13.552 12,13 C12,12.449 12.448,12 13,12 C13.551,12 14,12.449 14,13 C14,13.552 13.551,14 13,14 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M23.5,16 C23.5,15.069 22.861,14.294 22,14.07 L22,0 L21,0 L21,14.07 C20.139,14.294 19.5,15.069 19.5,16 C19.5,16.931 20.139,17.707 21,17.93 L21,22 C21,22.552 20.551,23 20,23 C19.449,23 19,22.552 19,22 L19,21 C19,20.724 18.776,20.5 18.5,20.5 C18.224,20.5 18,20.724 18,21 L18,22 C18,23.103 18.897,24 20,24 C21.103,24 22,23.103 22,22 L22,17.93 C22.861,17.707 23.5,16.931 23.5,16 Z\"\n                id=\"Shape\"></path>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"user-chat-dollar\">\n    <svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>6ECE03B5-06AD-4642-8ECF-39617563D226</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.0---Incident-Detail\" transform=\"translate(-143.000000, -690.000000)\" fill=\"#6B0022\">\n          <g id=\"Group-17\" transform=\"translate(143.000000, 690.000000)\">\n            <g id=\"user-chat-dollar.2.3.1\">\n              <path d=\"M23.5,0 L8.5,0 C8.224,0 8,0.224 8,0.5 L8,10.5 C8,10.776 8.224,11 8.5,11 L11,11 L11,14 C11,14.445 11.541,14.666 11.854,14.354 L15.207,11 L23.5,11 C23.776,11 24,10.776 24,10.5 L24,0.5 C24,0.224 23.776,0 23.5,0 Z M16.5,5.091 C17.415,5.091 18.159,5.835 18.159,6.75 C18.159,7.49 17.67,8.11 17,8.324 L17,8.681 C17,8.957 16.776,9.181 16.5,9.181 C16.224,9.181 16,8.958 16,8.682 L16,8.324 C15.33,8.11 14.841,7.49 14.841,6.75 C14.841,6.474 15.065,6.25 15.341,6.25 C15.617,6.25 15.841,6.474 15.841,6.75 C15.841,7.113 16.137,7.409 16.5,7.409 C16.863,7.409 17.159,7.113 17.159,6.75 C17.159,6.387 16.863,6.091 16.5,6.091 C15.585,6.091 14.841,5.347 14.841,4.432 C14.841,3.692 15.33,3.072 16,2.858 L16,2.5 C16,2.224 16.224,2 16.5,2 C16.776,2 17,2.224 17,2.5 L17,2.857 C17.67,3.071 18.159,3.691 18.159,4.431 C18.159,4.707 17.935,4.931 17.659,4.931 C17.383,4.931 17.159,4.707 17.159,4.431 C17.159,4.068 16.863,3.772 16.5,3.772 C16.137,3.772 15.841,4.068 15.841,4.431 C15.841,4.795 16.137,5.091 16.5,5.091 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M5.5,14 L0.5,14 C0.224,14 0,14.224 0,14.5 L0,17 C0,18.083 0.336,18.729 1,18.932 L1,23.5 C1,23.776 1.224,24 1.5,24 L4.5,24 C4.776,24 5,23.776 5,23.5 L5,18.932 C5.663,18.73 5.998,18.082 6,17 L6,14.5 C6,14.224 5.776,14 5.5,14 Z\"\n                id=\"Shape\"></path>\n              <circle id=\"Oval\" cx=\"3\" cy=\"11\" r=\"2\"></circle>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"exchange-server\">\n    <svg width=\"20px\" height=\"22px\" viewBox=\"0 0 20 22\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>D7794907-808D-4948-AC1F-42878A4D2040</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.2---Server-Info-(people-expanded)\" transform=\"translate(-40.000000, -978.000000)\" fill=\"#6B0022\">\n          <g id=\"server-3.2.3.1\" transform=\"translate(40.000000, 978.000000)\">\n            <path d=\"M10,0 C4.393,0 0,1.977 0,4.5 C0,6.085 4.461,8 10,8 C14.579,8 18.625,6.738 20,5.422 L20,4.5 C20,1.977 15.607,0 10,0 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M0,6.362 L0,9 C0,10.585 4.46,12.5 10,12.5 C14.578,12.5 18.625,11.238 20,9.921 L20,6.669 C17.864,8.106 13.783,9 10,9 C6.035,9 1.862,7.992 0,6.362 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M0,10.862 L0,13.5 C0,15.085 4.46,17 10,17 C14.578,17 18.625,15.738 20,14.422 L20,11.169 C17.863,12.606 13.782,13.5 10,13.5 C6.035,13.5 1.862,12.492 0,10.862 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M0,15.362 L0,17.5 C0,20.023 4.393,22 10,22 C15.607,22 20,20.023 20,17.5 L20,15.669 C17.863,17.105 13.782,18 10,18 C6.035,18 1.862,16.992 0,15.362 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"location-pin\">\n    <svg width=\"16px\" height=\"23px\" viewBox=\"0 0 16 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>97DC1A46-3FBF-438C-B448-0C41134B345D</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.2---Server-Info-(people-expanded)\" transform=\"translate(-192.000000, -977.000000)\" fill=\"#6B0022\">\n          <g id=\"location-pin-2.2.3.1\" transform=\"translate(192.000000, 977.000000)\">\n            <path d=\"M7.68,0.00576 C3.44544,0.00576 0,3.45024 0,7.68576 C0,11.76 6.98208,22.38048 7.27968,22.82976 C7.368,22.9632 7.51872,23.04576 7.68,23.04576 C7.84128,23.04576 7.99104,22.96416 8.08032,22.82976 C8.37792,22.38048 15.36,11.76 15.36,7.68576 C15.36,3.4512 11.91456,0.00576 7.68,0.00576 Z M7.68,11.04576 C5.8272,11.04576 4.32,9.5376 4.32,7.68576 C4.32,5.83392 5.8272,4.32576 7.68,4.32576 C9.5328,4.32576 11.04,5.83392 11.04,7.68576 C11.04,9.5376 9.5328,11.04576 7.68,11.04576 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"network-web\">\n    <svg width=\"24px\" height=\"22px\" viewBox=\"0 0 24 22\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>7F4710AC-AE6A-4183-B346-3FBEA86003AC</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.3---CVE-Info-(people-expanded)\" transform=\"translate(-233.000000, -978.000000)\" fill=\"#6B0022\">\n          <g id=\"Group-16\" transform=\"translate(233.000000, 978.000000)\">\n            <g id=\"network-web.2.3.1\">\n              <path d=\"M5.095,13.078 L4.458,9.078 C4.415,8.806 4.601,8.55 4.874,8.507 C5.14,8.461 5.402,8.648 5.446,8.922 L5.752,10.843 C5.889,10.436 6.564,10.437 6.7,10.844 L7.006,8.922 C7.049,8.648 7.31,8.461 7.578,8.507 C7.851,8.55 8.037,8.806 7.994,9.078 L7.357,13.078 C7.273,13.599 6.545,13.65 6.386,13.152 L6.225,12.647 L6.065,13.152 C5.906,13.65 5.179,13.598 5.095,13.078 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M11.117,13.078 L10.48,9.078 C10.437,8.806 10.622,8.55 10.896,8.507 C11.165,8.461 11.425,8.649 11.468,8.922 L11.774,10.846 C11.841,10.642 12.034,10.502 12.25,10.502 L12.25,10.502 C12.465,10.502 12.655,10.64 12.724,10.843 L13.032,8.921 C13.076,8.648 13.336,8.461 13.605,8.507 C13.878,8.55 14.063,8.807 14.02,9.079 L13.379,13.079 C13.297,13.583 12.573,13.668 12.408,13.151 L12.249,12.648 L12.088,13.152 C11.927,13.651 11.201,13.598 11.117,13.078 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M18.435,13.152 L18.275,12.647 L18.114,13.152 C17.957,13.647 17.227,13.599 17.143,13.078 L16.506,9.078 C16.463,8.806 16.648,8.55 16.922,8.507 C17.19,8.461 17.451,8.649 17.494,8.922 L17.8,10.844 C17.868,10.641 18.059,10.502 18.275,10.502 L18.275,10.502 C18.49,10.502 18.68,10.639 18.749,10.843 L19.055,8.922 C19.098,8.649 19.357,8.461 19.627,8.507 C19.9,8.55 20.086,8.806 20.043,9.078 L19.406,13.078 C19.321,13.596 18.595,13.655 18.435,13.152 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M9.727,17 C10.467,18.559 11.476,20.104 12,20.73 C12.524,20.103 13.533,18.558 14.273,17 L9.727,17 Z\" id=\"Shape\"></path>\n              <path d=\"M12.685,21.473 C15.875,21.253 18.783,19.573 20.591,17 L15.371,17 C14.557,18.825 13.414,20.609 12.685,21.473 Z\" id=\"Shape\"></path>\n              <path d=\"M20.635,5 C18.833,2.418 15.909,0.735 12.685,0.526 C13.542,1.526 14.695,2.757 15.683,5 L20.635,5 Z\" id=\"Shape\"></path>\n              <path d=\"M23.5,7 L21.708,7 C21.567,6.66 21.425,6.32 21.253,6 L16.076,6 C16.192,6.329 16.283,6.664 16.375,7 L15.33,7 C15.233,6.665 15.144,6.328 15.018,6 L8.982,6 C8.856,6.328 8.767,6.665 8.67,7 L7.625,7 C7.717,6.664 7.808,6.329 7.924,6 L2.747,6 C2.575,6.32 2.433,6.66 2.292,7 L0.5,7 C0.224,7 0,7.224 0,7.5 L0,14.5 C0,14.776 0.224,15 0.5,15 L2.323,15 C2.466,15.341 2.61,15.68 2.785,16 L8.209,16 C8.083,15.667 7.974,15.334 7.866,15 L8.924,15 C9.032,15.334 9.136,15.667 9.27,16 L14.731,16 C14.865,15.667 14.968,15.334 15.077,15 L16.135,15 C16.028,15.334 15.918,15.667 15.792,16 L21.216,16 C21.391,15.68 21.535,15.341 21.678,15 L23.5,15 C23.776,15 24,14.776 24,14.5 L24,7.5 C24,7.224 23.776,7 23.5,7 Z M23,14 L12,14 L1,14 L1,8 L23,8 L23,14 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M3.409,17 C5.218,19.572 8.125,21.253 11.315,21.473 C10.586,20.609 9.443,18.825 8.629,17 L3.409,17 Z\" id=\"Shape\"></path>\n              <path d=\"M14.584,5 C13.735,3.237 12.862,2.27 12,1.27 C11.138,2.27 10.265,3.238 9.416,5 L14.584,5 Z\" id=\"Shape\"></path>\n              <path d=\"M11.315,0.526 C8.091,0.735 5.167,2.418 3.365,5 L8.317,5 C9.306,2.758 10.458,1.526 11.315,0.526 Z\" id=\"Shape\"></path>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"server-red\">\n    <svg width=\"27px\" height=\"27px\" viewBox=\"0 0 27 27\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>A345E040-EA8F-4EAB-B905-E8EB90BCA198</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.2---Server-Info\" transform=\"translate(-172.000000, -901.000000)\" fill=\"#BE003D\">\n          <g id=\"Group-14\" transform=\"translate(150.000000, 901.000000)\">\n            <g id=\"server-2.2.3.1-copy\" transform=\"translate(22.000000, 0.000000)\">\n              <circle id=\"Oval\" cx=\"4.90909091\" cy=\"4.90909091\" r=\"0.613636364\"></circle>\n              <ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"22.0909091\" rx=\"0.613636364\" ry=\"0.613636364\"></ellipse>\n              <ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"13.5\" rx=\"0.613636364\" ry=\"0.613636364\"></ellipse>\n              <path d=\"M27,8.59090909 L27,1.84090909 C27,0.825954545 26.1740455,0 25.1590909,0 L1.84090909,0 C0.825954545,0 0,0.825954545 0,1.84090909 L0,8.59090909 L27,8.59090909 Z M9.81818182,3.68181818 L22.0909091,3.68181818 C22.4296364,3.68181818 22.7045455,3.95672727 22.7045455,4.29545455 C22.7045455,4.63418182 22.4296364,4.90909091 22.0909091,4.90909091 L9.81818182,4.90909091 C9.47945455,4.90909091 9.20454545,4.63418182 9.20454545,4.29545455 C9.20454545,3.95672727 9.47945455,3.68181818 9.81818182,3.68181818 Z M9.81818182,6.13636364 L22.0909091,6.13636364 C22.4296364,6.13636364 22.7045455,6.41127273 22.7045455,6.75 C22.7045455,7.08872727 22.4296364,7.36363636 22.0909091,7.36363636 L9.81818182,7.36363636 C9.47945455,7.36363636 9.20454545,7.08872727 9.20454545,6.75 C9.20454545,6.41127273 9.47945455,6.13636364 9.81818182,6.13636364 Z M4.90909091,3.06818182 C5.92404545,3.06818182 6.75,3.89413636 6.75,4.90909091 C6.75,5.92404545 5.92404545,6.75 4.90909091,6.75 C3.89413636,6.75 3.06818182,5.92404545 3.06818182,4.90909091 C3.06818182,3.89413636 3.89413636,3.06818182 4.90909091,3.06818182 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M0,18.4090909 L0,25.1590909 C0,26.1740455 0.825954545,27 1.84090909,27 L25.1590909,27 C26.1740455,27 27,26.1740455 27,25.1590909 L27,18.4090909 L0,18.4090909 Z M4.90909091,23.9318182 C3.89413636,23.9318182 3.06818182,23.1058636 3.06818182,22.0909091 C3.06818182,21.0759545 3.89413636,20.25 4.90909091,20.25 C5.92404545,20.25 6.75,21.0759545 6.75,22.0909091 C6.75,23.1058636 5.92404545,23.9318182 4.90909091,23.9318182 Z M22.0909091,24.5454545 L9.81818182,24.5454545 C9.47945455,24.5454545 9.20454545,24.2705455 9.20454545,23.9318182 C9.20454545,23.5930909 9.47945455,23.3181818 9.81818182,23.3181818 L22.0909091,23.3181818 C22.4296364,23.3181818 22.7045455,23.5930909 22.7045455,23.9318182 C22.7045455,24.2705455 22.4296364,24.5454545 22.0909091,24.5454545 Z M22.0909091,22.0909091 L9.81818182,22.0909091 C9.47945455,22.0909091 9.20454545,21.816 9.20454545,21.4772727 C9.20454545,21.1385455 9.47945455,20.8636364 9.81818182,20.8636364 L22.0909091,20.8636364 C22.4296364,20.8636364 22.7045455,21.1385455 22.7045455,21.4772727 C22.7045455,21.816 22.4296364,22.0909091 22.0909091,22.0909091 Z\"\n                id=\"Shape\"></path>\n              <path d=\"M27,9.81818182 L0,9.81818182 L0,17.1818182 L27,17.1818182 L27,9.81818182 Z M4.90909091,15.3409091 C3.89413636,15.3409091 3.06818182,14.5149545 3.06818182,13.5 C3.06818182,12.4850455 3.89413636,11.6590909 4.90909091,11.6590909 C5.92404545,11.6590909 6.75,12.4850455 6.75,13.5 C6.75,14.5149545 5.92404545,15.3409091 4.90909091,15.3409091 Z M22.0909091,15.9545455 L9.81818182,15.9545455 C9.47945455,15.9545455 9.20454545,15.6796364 9.20454545,15.3409091 C9.20454545,15.0021818 9.47945455,14.7272727 9.81818182,14.7272727 L22.0909091,14.7272727 C22.4296364,14.7272727 22.7045455,15.0021818 22.7045455,15.3409091 C22.7045455,15.6796364 22.4296364,15.9545455 22.0909091,15.9545455 Z M22.0909091,13.5 L9.81818182,13.5 C9.47945455,13.5 9.20454545,13.2250909 9.20454545,12.8863636 C9.20454545,12.5476364 9.47945455,12.2727273 9.81818182,12.2727273 L22.0909091,12.2727273 C22.4296364,12.2727273 22.7045455,12.5476364 22.7045455,12.8863636 C22.7045455,13.2250909 22.4296364,13.5 22.0909091,13.5 Z\"\n                id=\"Shape\"></path>\n            </g>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>\n<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"radio-active-red\">\n    <svg width=\"24px\" height=\"23px\" viewBox=\"0 0 24 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n      <!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n      <title>FDFE03B8-154F-42A8-9F77-1888A17FA2E4</title>\n      <desc>Created with sketchtool.</desc>\n      <defs></defs>\n      <g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <g id=\"1.3---CVE-Info\" transform=\"translate(-275.000000, -901.000000)\" fill=\"#BE003D\">\n          <g id=\"radioactive-1.2.3.1\" transform=\"translate(275.000000, 901.000000)\">\n            <path d=\"M14.431,14.211 C14.365,14.097 14.255,14.013 14.127,13.979 C13.998,13.944 13.862,13.961 13.748,14.03 C12.682,14.647 11.317,14.645 10.251,14.03 C10.137,13.962 9.999,13.944 9.872,13.979 C9.744,14.013 9.635,14.097 9.568,14.211 L5.817,20.707 C5.68,20.946 5.762,21.252 6,21.391 C7.819,22.443 9.894,23 12,23 C14.106,23 16.18,22.443 18,21.391 C18.238,21.252 18.32,20.947 18.182,20.707 L14.431,14.211 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M17.999,0.609 C17.75,0.465 17.45,0.56 17.315,0.792 L13.564,7.289 C13.426,7.527 13.508,7.833 13.748,7.971 C14.714,8.53 15.5,10.113 15.5,11.5 C15.5,11.776 15.724,12 16,12 L23.5,12 C23.775,12 24,11.776 24,11.5 C24,7.062 21.588,2.685 17.999,0.609 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M8.5,11.5 C8.5,10.113 9.285,8.529 10.251,7.971 C10.49,7.833 10.572,7.528 10.434,7.289 L6.684,0.792 C6.548,0.559 6.245,0.467 6,0.609 C2.411,2.685 0,7.062 0,11.5 C0,11.776 0.224,12 0.5,12 L8,12 C8.275,12 8.5,11.776 8.5,11.5 Z\"\n              id=\"Shape\"></path>\n            <path d=\"M9.5,11 C9.5,12.379 10.621,13.5 12,13.5 C13.378,13.5 14.5,12.379 14.5,11 C14.5,9.644 13.356,8.5 12,8.5 C10.644,8.5 9.5,9.644 9.5,11 Z\"\n              id=\"Shape\"></path>\n          </g>\n        </g>\n      </g>\n    </svg>\n  </symbol>\n</svg>"
  },
  {
    "path": "tabs/pe-tab-selection/pe-tab-selection.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-14 17:28:56\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description>Automatically created by the system</description>\n<inserted/>\n<name>PE Tab Selection Forced</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>838cb2b4dba5b20062e479daae9619de</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 17:28:56</sys_created_on>\n<sys_id>c77f76f4dba5b20062e479daae961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 17:28:56</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_9871b630dba5b20062e479daae961920</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-tab-selection-svgs&lt;/id&gt;&lt;sp_widget display_value=\"PE Tab Selection\"&gt;d6dfa2bcdb65b20062e479daae9619f1&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 16:27:48&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9871b630dba5b20062e479daae961920&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-tab-selection-svgs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_9871b630dba5b20062e479daae961920&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 16:30:36&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"server\"&gt;\n    &lt;svg width=\"27px\" height=\"27px\" viewBox=\"0 0 27 27\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;1D11E75A-464A-4AFA-8F7F-79155BEBAF80&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.3---CVE-Info-(people-collapsed)\" transform=\"translate(-172.000000, -614.000000)\" fill=\"#67ACDB\"&gt;\n          &lt;g id=\"Group-14\" transform=\"translate(150.000000, 614.000000)\"&gt;\n            &lt;g id=\"server-2.2.3.1-copy\" transform=\"translate(22.000000, 0.000000)\"&gt;\n              &lt;circle id=\"Oval\" cx=\"4.90909091\" cy=\"4.90909091\" r=\"0.613636364\"&gt;&lt;/circle&gt;\n              &lt;ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"22.0909091\" rx=\"0.613636364\" ry=\"0.613636364\"&gt;&lt;/ellipse&gt;\n              &lt;ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"13.5\" rx=\"0.613636364\" ry=\"0.613636364\"&gt;&lt;/ellipse&gt;\n              &lt;path d=\"M27,8.59090909 L27,1.84090909 C27,0.825954545 26.1740455,0 25.1590909,0 L1.84090909,0 C0.825954545,0 0,0.825954545 0,1.84090909 L0,8.59090909 L27,8.59090909 Z M9.81818182,3.68181818 L22.0909091,3.68181818 C22.4296364,3.68181818 22.7045455,3.95672727 22.7045455,4.29545455 C22.7045455,4.63418182 22.4296364,4.90909091 22.0909091,4.90909091 L9.81818182,4.90909091 C9.47945455,4.90909091 9.20454545,4.63418182 9.20454545,4.29545455 C9.20454545,3.95672727 9.47945455,3.68181818 9.81818182,3.68181818 Z M9.81818182,6.13636364 L22.0909091,6.13636364 C22.4296364,6.13636364 22.7045455,6.41127273 22.7045455,6.75 C22.7045455,7.08872727 22.4296364,7.36363636 22.0909091,7.36363636 L9.81818182,7.36363636 C9.47945455,7.36363636 9.20454545,7.08872727 9.20454545,6.75 C9.20454545,6.41127273 9.47945455,6.13636364 9.81818182,6.13636364 Z M4.90909091,3.06818182 C5.92404545,3.06818182 6.75,3.89413636 6.75,4.90909091 C6.75,5.92404545 5.92404545,6.75 4.90909091,6.75 C3.89413636,6.75 3.06818182,5.92404545 3.06818182,4.90909091 C3.06818182,3.89413636 3.89413636,3.06818182 4.90909091,3.06818182 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M0,18.4090909 L0,25.1590909 C0,26.1740455 0.825954545,27 1.84090909,27 L25.1590909,27 C26.1740455,27 27,26.1740455 27,25.1590909 L27,18.4090909 L0,18.4090909 Z M4.90909091,23.9318182 C3.89413636,23.9318182 3.06818182,23.1058636 3.06818182,22.0909091 C3.06818182,21.0759545 3.89413636,20.25 4.90909091,20.25 C5.92404545,20.25 6.75,21.0759545 6.75,22.0909091 C6.75,23.1058636 5.92404545,23.9318182 4.90909091,23.9318182 Z M22.0909091,24.5454545 L9.81818182,24.5454545 C9.47945455,24.5454545 9.20454545,24.2705455 9.20454545,23.9318182 C9.20454545,23.5930909 9.47945455,23.3181818 9.81818182,23.3181818 L22.0909091,23.3181818 C22.4296364,23.3181818 22.7045455,23.5930909 22.7045455,23.9318182 C22.7045455,24.2705455 22.4296364,24.5454545 22.0909091,24.5454545 Z M22.0909091,22.0909091 L9.81818182,22.0909091 C9.47945455,22.0909091 9.20454545,21.816 9.20454545,21.4772727 C9.20454545,21.1385455 9.47945455,20.8636364 9.81818182,20.8636364 L22.0909091,20.8636364 C22.4296364,20.8636364 22.7045455,21.1385455 22.7045455,21.4772727 C22.7045455,21.816 22.4296364,22.0909091 22.0909091,22.0909091 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M27,9.81818182 L0,9.81818182 L0,17.1818182 L27,17.1818182 L27,9.81818182 Z M4.90909091,15.3409091 C3.89413636,15.3409091 3.06818182,14.5149545 3.06818182,13.5 C3.06818182,12.4850455 3.89413636,11.6590909 4.90909091,11.6590909 C5.92404545,11.6590909 6.75,12.4850455 6.75,13.5 C6.75,14.5149545 5.92404545,15.3409091 4.90909091,15.3409091 Z M22.0909091,15.9545455 L9.81818182,15.9545455 C9.47945455,15.9545455 9.20454545,15.6796364 9.20454545,15.3409091 C9.20454545,15.0021818 9.47945455,14.7272727 9.81818182,14.7272727 L22.0909091,14.7272727 C22.4296364,14.7272727 22.7045455,15.0021818 22.7045455,15.3409091 C22.7045455,15.6796364 22.4296364,15.9545455 22.0909091,15.9545455 Z M22.0909091,13.5 L9.81818182,13.5 C9.47945455,13.5 9.20454545,13.2250909 9.20454545,12.8863636 C9.20454545,12.5476364 9.47945455,12.2727273 9.81818182,12.2727273 L22.0909091,12.2727273 C22.4296364,12.2727273 22.7045455,12.5476364 22.7045455,12.8863636 C22.7045455,13.2250909 22.4296364,13.5 22.0909091,13.5 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"radio-active\"&gt;\n    &lt;svg width=\"24px\" height=\"23px\" viewBox=\"0 0 24 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;B5B177A2-BB0D-4BB7-85C1-8F0FB12DFFFF&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.1---People-Expand\" transform=\"translate(-275.000000, -901.000000)\" fill=\"#65ACE1\"&gt;\n          &lt;g id=\"radioactive-1.2.3.1\" transform=\"translate(275.000000, 901.000000)\"&gt;\n            &lt;path d=\"M14.431,14.211 C14.365,14.097 14.255,14.013 14.127,13.979 C13.998,13.944 13.862,13.961 13.748,14.03 C12.682,14.647 11.317,14.645 10.251,14.03 C10.137,13.962 9.999,13.944 9.872,13.979 C9.744,14.013 9.635,14.097 9.568,14.211 L5.817,20.707 C5.68,20.946 5.762,21.252 6,21.391 C7.819,22.443 9.894,23 12,23 C14.106,23 16.18,22.443 18,21.391 C18.238,21.252 18.32,20.947 18.182,20.707 L14.431,14.211 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M17.999,0.609 C17.75,0.465 17.45,0.56 17.315,0.792 L13.564,7.289 C13.426,7.527 13.508,7.833 13.748,7.971 C14.714,8.53 15.5,10.113 15.5,11.5 C15.5,11.776 15.724,12 16,12 L23.5,12 C23.775,12 24,11.776 24,11.5 C24,7.062 21.588,2.685 17.999,0.609 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M8.5,11.5 C8.5,10.113 9.285,8.529 10.251,7.971 C10.49,7.833 10.572,7.528 10.434,7.289 L6.684,0.792 C6.548,0.559 6.245,0.467 6,0.609 C2.411,2.685 0,7.062 0,11.5 C0,11.776 0.224,12 0.5,12 L8,12 C8.275,12 8.5,11.776 8.5,11.5 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M9.5,11 C9.5,12.379 10.621,13.5 12,13.5 C13.378,13.5 14.5,12.379 14.5,11 C14.5,9.644 13.356,8.5 12,8.5 C10.644,8.5 9.5,9.644 9.5,11 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"fishing\"&gt;\n    &lt;svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;824B470E-14FE-4222-BEC6-CAB2D63C20D6&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0---Incident-Detail\" transform=\"translate(-40.000000, -690.000000)\" fill=\"#6B0022\"&gt;\n          &lt;g id=\"Group-16\" transform=\"translate(40.000000, 690.000000)\"&gt;\n            &lt;g id=\"fishing.2.3.1\"&gt;\n              &lt;path d=\"M18.38,13.192 C18.247,13.021 15.064,9 11,9 C7.731,9 5.016,11.602 4.01,12.707 L0.897,8.695 C0.767,8.523 0.542,8.455 0.34,8.524 C0.137,8.594 0,8.784 0,8.998 L0,17.998 C0,18.211 0.135,18.4 0.335,18.471 C0.39,18.49 0.444,18.498 0.5,18.498 C0.649,18.498 0.795,18.432 0.892,18.309 L3.999,14.29 C4.989,15.398 7.727,18 11,18 C15.061,18 18.242,13.982 18.378,13.81 C18.521,13.63 18.522,13.374 18.38,13.192 Z M13,14 C12.448,14 12,13.552 12,13 C12,12.449 12.448,12 13,12 C13.551,12 14,12.449 14,13 C14,13.552 13.551,14 13,14 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M23.5,16 C23.5,15.069 22.861,14.294 22,14.07 L22,0 L21,0 L21,14.07 C20.139,14.294 19.5,15.069 19.5,16 C19.5,16.931 20.139,17.707 21,17.93 L21,22 C21,22.552 20.551,23 20,23 C19.449,23 19,22.552 19,22 L19,21 C19,20.724 18.776,20.5 18.5,20.5 C18.224,20.5 18,20.724 18,21 L18,22 C18,23.103 18.897,24 20,24 C21.103,24 22,23.103 22,22 L22,17.93 C22.861,17.707 23.5,16.931 23.5,16 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"user-chat-dollar\"&gt;\n    &lt;svg width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;6ECE03B5-06AD-4642-8ECF-39617563D226&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.0---Incident-Detail\" transform=\"translate(-143.000000, -690.000000)\" fill=\"#6B0022\"&gt;\n          &lt;g id=\"Group-17\" transform=\"translate(143.000000, 690.000000)\"&gt;\n            &lt;g id=\"user-chat-dollar.2.3.1\"&gt;\n              &lt;path d=\"M23.5,0 L8.5,0 C8.224,0 8,0.224 8,0.5 L8,10.5 C8,10.776 8.224,11 8.5,11 L11,11 L11,14 C11,14.445 11.541,14.666 11.854,14.354 L15.207,11 L23.5,11 C23.776,11 24,10.776 24,10.5 L24,0.5 C24,0.224 23.776,0 23.5,0 Z M16.5,5.091 C17.415,5.091 18.159,5.835 18.159,6.75 C18.159,7.49 17.67,8.11 17,8.324 L17,8.681 C17,8.957 16.776,9.181 16.5,9.181 C16.224,9.181 16,8.958 16,8.682 L16,8.324 C15.33,8.11 14.841,7.49 14.841,6.75 C14.841,6.474 15.065,6.25 15.341,6.25 C15.617,6.25 15.841,6.474 15.841,6.75 C15.841,7.113 16.137,7.409 16.5,7.409 C16.863,7.409 17.159,7.113 17.159,6.75 C17.159,6.387 16.863,6.091 16.5,6.091 C15.585,6.091 14.841,5.347 14.841,4.432 C14.841,3.692 15.33,3.072 16,2.858 L16,2.5 C16,2.224 16.224,2 16.5,2 C16.776,2 17,2.224 17,2.5 L17,2.857 C17.67,3.071 18.159,3.691 18.159,4.431 C18.159,4.707 17.935,4.931 17.659,4.931 C17.383,4.931 17.159,4.707 17.159,4.431 C17.159,4.068 16.863,3.772 16.5,3.772 C16.137,3.772 15.841,4.068 15.841,4.431 C15.841,4.795 16.137,5.091 16.5,5.091 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M5.5,14 L0.5,14 C0.224,14 0,14.224 0,14.5 L0,17 C0,18.083 0.336,18.729 1,18.932 L1,23.5 C1,23.776 1.224,24 1.5,24 L4.5,24 C4.776,24 5,23.776 5,23.5 L5,18.932 C5.663,18.73 5.998,18.082 6,17 L6,14.5 C6,14.224 5.776,14 5.5,14 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;circle id=\"Oval\" cx=\"3\" cy=\"11\" r=\"2\"&gt;&lt;/circle&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"exchange-server\"&gt;\n    &lt;svg width=\"20px\" height=\"22px\" viewBox=\"0 0 20 22\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;D7794907-808D-4948-AC1F-42878A4D2040&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.2---Server-Info-(people-expanded)\" transform=\"translate(-40.000000, -978.000000)\" fill=\"#6B0022\"&gt;\n          &lt;g id=\"server-3.2.3.1\" transform=\"translate(40.000000, 978.000000)\"&gt;\n            &lt;path d=\"M10,0 C4.393,0 0,1.977 0,4.5 C0,6.085 4.461,8 10,8 C14.579,8 18.625,6.738 20,5.422 L20,4.5 C20,1.977 15.607,0 10,0 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M0,6.362 L0,9 C0,10.585 4.46,12.5 10,12.5 C14.578,12.5 18.625,11.238 20,9.921 L20,6.669 C17.864,8.106 13.783,9 10,9 C6.035,9 1.862,7.992 0,6.362 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M0,10.862 L0,13.5 C0,15.085 4.46,17 10,17 C14.578,17 18.625,15.738 20,14.422 L20,11.169 C17.863,12.606 13.782,13.5 10,13.5 C6.035,13.5 1.862,12.492 0,10.862 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M0,15.362 L0,17.5 C0,20.023 4.393,22 10,22 C15.607,22 20,20.023 20,17.5 L20,15.669 C17.863,17.105 13.782,18 10,18 C6.035,18 1.862,16.992 0,15.362 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"location-pin\"&gt;\n    &lt;svg width=\"16px\" height=\"23px\" viewBox=\"0 0 16 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;97DC1A46-3FBF-438C-B448-0C41134B345D&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.2---Server-Info-(people-expanded)\" transform=\"translate(-192.000000, -977.000000)\" fill=\"#6B0022\"&gt;\n          &lt;g id=\"location-pin-2.2.3.1\" transform=\"translate(192.000000, 977.000000)\"&gt;\n            &lt;path d=\"M7.68,0.00576 C3.44544,0.00576 0,3.45024 0,7.68576 C0,11.76 6.98208,22.38048 7.27968,22.82976 C7.368,22.9632 7.51872,23.04576 7.68,23.04576 C7.84128,23.04576 7.99104,22.96416 8.08032,22.82976 C8.37792,22.38048 15.36,11.76 15.36,7.68576 C15.36,3.4512 11.91456,0.00576 7.68,0.00576 Z M7.68,11.04576 C5.8272,11.04576 4.32,9.5376 4.32,7.68576 C4.32,5.83392 5.8272,4.32576 7.68,4.32576 C9.5328,4.32576 11.04,5.83392 11.04,7.68576 C11.04,9.5376 9.5328,11.04576 7.68,11.04576 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"network-web\"&gt;\n    &lt;svg width=\"24px\" height=\"22px\" viewBox=\"0 0 24 22\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;7F4710AC-AE6A-4183-B346-3FBEA86003AC&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.3---CVE-Info-(people-expanded)\" transform=\"translate(-233.000000, -978.000000)\" fill=\"#6B0022\"&gt;\n          &lt;g id=\"Group-16\" transform=\"translate(233.000000, 978.000000)\"&gt;\n            &lt;g id=\"network-web.2.3.1\"&gt;\n              &lt;path d=\"M5.095,13.078 L4.458,9.078 C4.415,8.806 4.601,8.55 4.874,8.507 C5.14,8.461 5.402,8.648 5.446,8.922 L5.752,10.843 C5.889,10.436 6.564,10.437 6.7,10.844 L7.006,8.922 C7.049,8.648 7.31,8.461 7.578,8.507 C7.851,8.55 8.037,8.806 7.994,9.078 L7.357,13.078 C7.273,13.599 6.545,13.65 6.386,13.152 L6.225,12.647 L6.065,13.152 C5.906,13.65 5.179,13.598 5.095,13.078 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M11.117,13.078 L10.48,9.078 C10.437,8.806 10.622,8.55 10.896,8.507 C11.165,8.461 11.425,8.649 11.468,8.922 L11.774,10.846 C11.841,10.642 12.034,10.502 12.25,10.502 L12.25,10.502 C12.465,10.502 12.655,10.64 12.724,10.843 L13.032,8.921 C13.076,8.648 13.336,8.461 13.605,8.507 C13.878,8.55 14.063,8.807 14.02,9.079 L13.379,13.079 C13.297,13.583 12.573,13.668 12.408,13.151 L12.249,12.648 L12.088,13.152 C11.927,13.651 11.201,13.598 11.117,13.078 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M18.435,13.152 L18.275,12.647 L18.114,13.152 C17.957,13.647 17.227,13.599 17.143,13.078 L16.506,9.078 C16.463,8.806 16.648,8.55 16.922,8.507 C17.19,8.461 17.451,8.649 17.494,8.922 L17.8,10.844 C17.868,10.641 18.059,10.502 18.275,10.502 L18.275,10.502 C18.49,10.502 18.68,10.639 18.749,10.843 L19.055,8.922 C19.098,8.649 19.357,8.461 19.627,8.507 C19.9,8.55 20.086,8.806 20.043,9.078 L19.406,13.078 C19.321,13.596 18.595,13.655 18.435,13.152 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M9.727,17 C10.467,18.559 11.476,20.104 12,20.73 C12.524,20.103 13.533,18.558 14.273,17 L9.727,17 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M12.685,21.473 C15.875,21.253 18.783,19.573 20.591,17 L15.371,17 C14.557,18.825 13.414,20.609 12.685,21.473 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M20.635,5 C18.833,2.418 15.909,0.735 12.685,0.526 C13.542,1.526 14.695,2.757 15.683,5 L20.635,5 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M23.5,7 L21.708,7 C21.567,6.66 21.425,6.32 21.253,6 L16.076,6 C16.192,6.329 16.283,6.664 16.375,7 L15.33,7 C15.233,6.665 15.144,6.328 15.018,6 L8.982,6 C8.856,6.328 8.767,6.665 8.67,7 L7.625,7 C7.717,6.664 7.808,6.329 7.924,6 L2.747,6 C2.575,6.32 2.433,6.66 2.292,7 L0.5,7 C0.224,7 0,7.224 0,7.5 L0,14.5 C0,14.776 0.224,15 0.5,15 L2.323,15 C2.466,15.341 2.61,15.68 2.785,16 L8.209,16 C8.083,15.667 7.974,15.334 7.866,15 L8.924,15 C9.032,15.334 9.136,15.667 9.27,16 L14.731,16 C14.865,15.667 14.968,15.334 15.077,15 L16.135,15 C16.028,15.334 15.918,15.667 15.792,16 L21.216,16 C21.391,15.68 21.535,15.341 21.678,15 L23.5,15 C23.776,15 24,14.776 24,14.5 L24,7.5 C24,7.224 23.776,7 23.5,7 Z M23,14 L12,14 L1,14 L1,8 L23,8 L23,14 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M3.409,17 C5.218,19.572 8.125,21.253 11.315,21.473 C10.586,20.609 9.443,18.825 8.629,17 L3.409,17 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M14.584,5 C13.735,3.237 12.862,2.27 12,1.27 C11.138,2.27 10.265,3.238 9.416,5 L14.584,5 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M11.315,0.526 C8.091,0.735 5.167,2.418 3.365,5 L8.317,5 C9.306,2.758 10.458,1.526 11.315,0.526 Z\" id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"server-red\"&gt;\n    &lt;svg width=\"27px\" height=\"27px\" viewBox=\"0 0 27 27\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;A345E040-EA8F-4EAB-B905-E8EB90BCA198&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.2---Server-Info\" transform=\"translate(-172.000000, -901.000000)\" fill=\"#BE003D\"&gt;\n          &lt;g id=\"Group-14\" transform=\"translate(150.000000, 901.000000)\"&gt;\n            &lt;g id=\"server-2.2.3.1-copy\" transform=\"translate(22.000000, 0.000000)\"&gt;\n              &lt;circle id=\"Oval\" cx=\"4.90909091\" cy=\"4.90909091\" r=\"0.613636364\"&gt;&lt;/circle&gt;\n              &lt;ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"22.0909091\" rx=\"0.613636364\" ry=\"0.613636364\"&gt;&lt;/ellipse&gt;\n              &lt;ellipse id=\"Oval\" cx=\"4.90909091\" cy=\"13.5\" rx=\"0.613636364\" ry=\"0.613636364\"&gt;&lt;/ellipse&gt;\n              &lt;path d=\"M27,8.59090909 L27,1.84090909 C27,0.825954545 26.1740455,0 25.1590909,0 L1.84090909,0 C0.825954545,0 0,0.825954545 0,1.84090909 L0,8.59090909 L27,8.59090909 Z M9.81818182,3.68181818 L22.0909091,3.68181818 C22.4296364,3.68181818 22.7045455,3.95672727 22.7045455,4.29545455 C22.7045455,4.63418182 22.4296364,4.90909091 22.0909091,4.90909091 L9.81818182,4.90909091 C9.47945455,4.90909091 9.20454545,4.63418182 9.20454545,4.29545455 C9.20454545,3.95672727 9.47945455,3.68181818 9.81818182,3.68181818 Z M9.81818182,6.13636364 L22.0909091,6.13636364 C22.4296364,6.13636364 22.7045455,6.41127273 22.7045455,6.75 C22.7045455,7.08872727 22.4296364,7.36363636 22.0909091,7.36363636 L9.81818182,7.36363636 C9.47945455,7.36363636 9.20454545,7.08872727 9.20454545,6.75 C9.20454545,6.41127273 9.47945455,6.13636364 9.81818182,6.13636364 Z M4.90909091,3.06818182 C5.92404545,3.06818182 6.75,3.89413636 6.75,4.90909091 C6.75,5.92404545 5.92404545,6.75 4.90909091,6.75 C3.89413636,6.75 3.06818182,5.92404545 3.06818182,4.90909091 C3.06818182,3.89413636 3.89413636,3.06818182 4.90909091,3.06818182 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M0,18.4090909 L0,25.1590909 C0,26.1740455 0.825954545,27 1.84090909,27 L25.1590909,27 C26.1740455,27 27,26.1740455 27,25.1590909 L27,18.4090909 L0,18.4090909 Z M4.90909091,23.9318182 C3.89413636,23.9318182 3.06818182,23.1058636 3.06818182,22.0909091 C3.06818182,21.0759545 3.89413636,20.25 4.90909091,20.25 C5.92404545,20.25 6.75,21.0759545 6.75,22.0909091 C6.75,23.1058636 5.92404545,23.9318182 4.90909091,23.9318182 Z M22.0909091,24.5454545 L9.81818182,24.5454545 C9.47945455,24.5454545 9.20454545,24.2705455 9.20454545,23.9318182 C9.20454545,23.5930909 9.47945455,23.3181818 9.81818182,23.3181818 L22.0909091,23.3181818 C22.4296364,23.3181818 22.7045455,23.5930909 22.7045455,23.9318182 C22.7045455,24.2705455 22.4296364,24.5454545 22.0909091,24.5454545 Z M22.0909091,22.0909091 L9.81818182,22.0909091 C9.47945455,22.0909091 9.20454545,21.816 9.20454545,21.4772727 C9.20454545,21.1385455 9.47945455,20.8636364 9.81818182,20.8636364 L22.0909091,20.8636364 C22.4296364,20.8636364 22.7045455,21.1385455 22.7045455,21.4772727 C22.7045455,21.816 22.4296364,22.0909091 22.0909091,22.0909091 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n              &lt;path d=\"M27,9.81818182 L0,9.81818182 L0,17.1818182 L27,17.1818182 L27,9.81818182 Z M4.90909091,15.3409091 C3.89413636,15.3409091 3.06818182,14.5149545 3.06818182,13.5 C3.06818182,12.4850455 3.89413636,11.6590909 4.90909091,11.6590909 C5.92404545,11.6590909 6.75,12.4850455 6.75,13.5 C6.75,14.5149545 5.92404545,15.3409091 4.90909091,15.3409091 Z M22.0909091,15.9545455 L9.81818182,15.9545455 C9.47945455,15.9545455 9.20454545,15.6796364 9.20454545,15.3409091 C9.20454545,15.0021818 9.47945455,14.7272727 9.81818182,14.7272727 L22.0909091,14.7272727 C22.4296364,14.7272727 22.7045455,15.0021818 22.7045455,15.3409091 C22.7045455,15.6796364 22.4296364,15.9545455 22.0909091,15.9545455 Z M22.0909091,13.5 L9.81818182,13.5 C9.47945455,13.5 9.20454545,13.2250909 9.20454545,12.8863636 C9.20454545,12.5476364 9.47945455,12.2727273 9.81818182,12.2727273 L22.0909091,12.2727273 C22.4296364,12.2727273 22.7045455,12.5476364 22.7045455,12.8863636 C22.7045455,13.2250909 22.4296364,13.5 22.0909091,13.5 Z\"\n                id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;/g&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"radio-active-red\"&gt;\n    &lt;svg width=\"24px\" height=\"23px\" viewBox=\"0 0 24 23\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n      &lt;!-- Generator: sketchtool 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n      &lt;title&gt;FDFE03B8-154F-42A8-9F77-1888A17FA2E4&lt;/title&gt;\n      &lt;desc&gt;Created with sketchtool.&lt;/desc&gt;\n      &lt;defs&gt;&lt;/defs&gt;\n      &lt;g id=\"Security---SKO-2017\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"&gt;\n        &lt;g id=\"1.3---CVE-Info\" transform=\"translate(-275.000000, -901.000000)\" fill=\"#BE003D\"&gt;\n          &lt;g id=\"radioactive-1.2.3.1\" transform=\"translate(275.000000, 901.000000)\"&gt;\n            &lt;path d=\"M14.431,14.211 C14.365,14.097 14.255,14.013 14.127,13.979 C13.998,13.944 13.862,13.961 13.748,14.03 C12.682,14.647 11.317,14.645 10.251,14.03 C10.137,13.962 9.999,13.944 9.872,13.979 C9.744,14.013 9.635,14.097 9.568,14.211 L5.817,20.707 C5.68,20.946 5.762,21.252 6,21.391 C7.819,22.443 9.894,23 12,23 C14.106,23 16.18,22.443 18,21.391 C18.238,21.252 18.32,20.947 18.182,20.707 L14.431,14.211 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M17.999,0.609 C17.75,0.465 17.45,0.56 17.315,0.792 L13.564,7.289 C13.426,7.527 13.508,7.833 13.748,7.971 C14.714,8.53 15.5,10.113 15.5,11.5 C15.5,11.776 15.724,12 16,12 L23.5,12 C23.775,12 24,11.776 24,11.5 C24,7.062 21.588,2.685 17.999,0.609 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M8.5,11.5 C8.5,10.113 9.285,8.529 10.251,7.971 C10.49,7.833 10.572,7.528 10.434,7.289 L6.684,0.792 C6.548,0.559 6.245,0.467 6,0.609 C2.411,2.685 0,7.062 0,11.5 C0,11.776 0.224,12 0.5,12 L8,12 C8.275,12 8.5,11.776 8.5,11.5 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n            &lt;path d=\"M9.5,11 C9.5,12.379 10.621,13.5 12,13.5 C13.378,13.5 14.5,12.379 14.5,11 C14.5,9.644 13.356,8.5 12,8.5 C10.644,8.5 9.5,9.644 9.5,11 Z\"\n              id=\"Shape\"&gt;&lt;/path&gt;\n          &lt;/g&gt;\n        &lt;/g&gt;\n      &lt;/g&gt;\n    &lt;/svg&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tab Selection Forced\">c77f76f4dba5b20062e479daae961936</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 17:28:56</sys_created_on>\n<sys_id>4b7f76f4dba5b20062e479daae961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 17:28:56</sys_updated_on>\n<table/>\n<target_name>pe-tab-selection-svgs</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_d6dfa2bcdb65b20062e479daae9619f1</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TabSelectionController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.selection = 1;\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-theme-color: #68acd8 !default;&amp;#13;\n$pe-text-color: #fff !default;&amp;#13;\n$pe-status-color-warning: #ffce00 !default;&amp;#13;\n$pe-status-color-critical: #ff0050 !default;&amp;#13;\n&amp;#13;\n.tab-selection {&amp;#13;\n  .status-circle-left {&amp;#13;\n    border-radius: 50%;&amp;#13;\n    bottom: 21%;&amp;#13;\n    content: '';&amp;#13;\n    height: 10px;&amp;#13;\n    margin-left: -18px;&amp;#13;\n    position: absolute;&amp;#13;\n    width: 10px;&amp;#13;\n  }&amp;#13;\n  .status-circle-warning-left {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:before {&amp;#13;\n        @extend .status-circle-left;&amp;#13;\n        background-color: $pe-status-color-warning;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .status-circle-danger-left {&amp;#13;\n    h4 {&amp;#13;\n      &amp;amp;:before {&amp;#13;\n        @extend .status-circle-left;&amp;#13;\n        background-color: $pe-status-color-critical;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  color: $pe-text-color;&amp;#13;\n  .panel {&amp;#13;\n    border: 0;&amp;#13;\n    color: $pe-text-color;&amp;#13;\n    background-color: transparent;&amp;#13;\n    .panel-heading {&amp;#13;\n      border-bottom: 0 !important;&amp;#13;\n      background-color: #283347 !important;&amp;#13;\n      color: $pe-text-color !important;&amp;#13;\n      font-size: 12px;&amp;#13;\n      padding: 14px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n    .panel-body {&amp;#13;\n      background-color: #1c2432;&amp;#13;\n      color: $pe-text-color;&amp;#13;\n      h4 {&amp;#13;\n        font-size: 24px;&amp;#13;\n        margin-top: -5px !important;&amp;#13;\n      }&amp;#13;\n      .header-text {&amp;#13;\n        color: $pe-theme-color;&amp;#13;\n        font-size: 16px;&amp;#13;\n        height: 30px;&amp;#13;\n        width: 110px;&amp;#13;\n        .pii {&amp;#13;\n          margin: 3% 42% 0 -31px;&amp;#13;\n        }&amp;#13;\n        .pci {&amp;#13;\n          margin: 3% 42% 0 -12px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n      .sub-text {&amp;#13;\n        color: $pe-theme-color;&amp;#13;\n        font-size: 10px;&amp;#13;\n        margin: -5px 0 -5px 0;&amp;#13;\n        text-transform: uppercase;&amp;#13;\n      }&amp;#13;\n      .attack-profiles {&amp;#13;\n        height: 40px;&amp;#13;\n        vertical-align: middle;&amp;#13;\n        span {&amp;#13;\n          color: $pe-theme-color;&amp;#13;\n          font-size: 24px;&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .radio-active-content {&amp;#13;\n    background-color: #1c2432;&amp;#13;\n    padding-top: 16px;&amp;#13;\n    h4 {&amp;#13;\n      margin-bottom: 1px !important;&amp;#13;\n    }&amp;#13;\n    .panel-heading {&amp;#13;\n      background-color: #394b6b !important;&amp;#13;\n    }&amp;#13;\n    .cwe {&amp;#13;\n      font-weight: 100;&amp;#13;\n      font-size: 14px;&amp;#13;\n      padding-bottom: 6px;&amp;#13;\n    }&amp;#13;\n    .radio-active-header-text {&amp;#13;\n      color: $pe-theme-color;&amp;#13;\n      font-size: 9px;&amp;#13;\n      margin-bottom: 8px;&amp;#13;\n      margin-top: 4px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n      white-space: nowrap;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel-footer-danger {&amp;#13;\n    background-color: #be003c !important;&amp;#13;\n    border-color: #be003c !important;&amp;#13;\n    height: 43px;&amp;#13;\n    p {&amp;#13;\n      display: inline-block;&amp;#13;\n      font-size: 15px;&amp;#13;\n      font-weight: 100 !important;&amp;#13;\n      margin: 0 10px 12px 3px;&amp;#13;\n    }&amp;#13;\n    svg {&amp;#13;\n      vertical-align: middle;&amp;#13;\n    }&amp;#13;\n    .no-margin {&amp;#13;\n      margin: 0 !important;&amp;#13;\n    }&amp;#13;\n    .default-anchor {&amp;#13;\n      color: $pe-text-color;&amp;#13;\n      font-size: 14px;&amp;#13;\n      margin: 0;&amp;#13;\n      padding: 0;&amp;#13;\n      text-transform: lowercase;&amp;#13;\n      text-decoration: underline;&amp;#13;\n    }&amp;#13;\n    .danger-text {&amp;#13;\n      color: #500018;&amp;#13;\n      font-weight: 600;&amp;#13;\n      margin-right: 4px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .panel-padding-bottom {&amp;#13;\n    padding-bottom: 30px !important;&amp;#13;\n  }&amp;#13;\n  .arrow-up {&amp;#13;\n    border-left: 11px solid transparent;&amp;#13;\n    border-right: 11px solid transparent;&amp;#13;\n    border-bottom: 11px solid #be003d;&amp;#13;\n    bottom: -32px;&amp;#13;\n    height: 0;&amp;#13;\n    left: 43%;&amp;#13;\n    position: absolute;&amp;#13;\n    width: 0;&amp;#13;\n  }&amp;#13;\n  .selected {&amp;#13;\n    color: $pe-text-color !important;&amp;#13;\n    span {&amp;#13;\n      color: #be003d !important;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .server {&amp;#13;\n    height: 27px;&amp;#13;\n    width: 27px;&amp;#13;\n  }&amp;#13;\n  .radio-active {&amp;#13;\n    height: 23px;&amp;#13;\n    width: 24px;&amp;#13;\n  }&amp;#13;\n  .fishing {&amp;#13;\n    height: 24px;&amp;#13;\n    width: 24px;&amp;#13;\n  }&amp;#13;\n  .user-chat-dollar {&amp;#13;\n    height: 24px;&amp;#13;\n    width: 24px;&amp;#13;\n  }&amp;#13;\n  .exchange-server {&amp;#13;\n    height: 22px;&amp;#13;\n    width: 20px;&amp;#13;\n  }&amp;#13;\n  .location-pin {&amp;#13;\n    height: 23px;&amp;#13;\n    width: 16px;&amp;#13;\n  }&amp;#13;\n  .network-web {&amp;#13;\n    height: 22px;&amp;#13;\n    margin-right: 2px;&amp;#13;\n    width: 24px;&amp;#13;\n  }&amp;#13;\n  .server-red {&amp;#13;\n    height: 27px;&amp;#13;\n    width: 27px;&amp;#13;\n  }&amp;#13;\n  .radio-active-red {&amp;#13;\n    height: 23px;&amp;#13;\n    width: 24px;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-tab-selection&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Tab Selection&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"label\":\"Title\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title || 'Attack Profile';\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-14 16:21:29&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d6dfa2bcdb65b20062e479daae9619f1&lt;/sys_id&gt;&lt;sys_mod_count&gt;8&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Tab Selection&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_d6dfa2bcdb65b20062e479daae9619f1&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-14 16:58:49&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-tab-selection-svgs'\"&gt;&lt;/div&gt;\n&lt;div class=\"row tab-selection\"&gt;\n  &lt;div class=\"col-xs-12\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading\"&gt;{{::options.title}}&lt;/div&gt;\n      &lt;div class=\"panel-body panel-padding-bottom\"&gt;\n        &lt;div class=\"row text-center\"&gt;\n          &lt;div class=\"col-xs-4\" ng-click=\"c.selection = 1\" ng-class=\"{'selected': c.selection === 1}\"&gt;\n            &lt;div class=\"attack-profiles\"&gt;\n              &lt;span&gt;IOC&lt;/span&gt;\n            &lt;/div&gt;\n            &lt;p class=\"sub-text\" ng-class=\"{'selected': c.selection === 1}\"&gt;torrentjack&lt;/p&gt;\n            &lt;div ng-show=\"c.selection === 1\" class=\"arrow-up\"&gt;&lt;/div&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\" ng-click=\"c.selection = 2\"&gt;\n            &lt;div class=\"attack-profiles\"&gt;\n              &lt;div ng-hide=\"c.selection === 2\"&gt;\n                &lt;svg class=\"server\"&gt;\n                  &lt;use xlink:href=\"#server\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/div&gt;\n              &lt;div ng-hide=\"c.selection !== 2\"&gt;\n                &lt;svg class=\"server-red\"&gt;\n                  &lt;use xlink:href=\"#server-red\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;p class=\"sub-text\" ng-class=\"{'selected': c.selection === 2}\"&gt;mail-east-001&lt;/p&gt;\n            &lt;div ng-show=\"c.selection === 2\" class=\"arrow-up\"&gt;&lt;/div&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-4\" ng-click=\"c.selection = 3\"&gt;\n            &lt;div class=\"attack-profiles\"&gt;\n              &lt;div ng-hide=\"c.selection === 3\"&gt;\n                &lt;svg class=\"radio-active\"&gt;\n                  &lt;use xlink:href=\"#radio-active\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/div&gt;\n              &lt;div ng-hide=\"c.selection !== 3\"&gt;\n                &lt;svg class=\"radio-active-red\"&gt;\n                  &lt;use xlink:href=\"#radio-active-red\"&gt;&lt;/use&gt;\n                &lt;/svg&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;p class=\"sub-text\" ng-class=\"{'selected': c.selection === 3}\"&gt;cve-2016-0537&lt;/p&gt;\n            &lt;div ng-show=\"c.selection === 3\" class=\"arrow-up\"&gt;&lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-footer panel-footer-danger\"&gt;\n        &lt;div ng-show=\"c.selection === 1\"&gt;\n          &lt;svg class=\"fishing\"&gt;\n            &lt;use xlink:href=\"#fishing\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n          &lt;p&gt;Phishing&lt;/p&gt;\n          &lt;svg class=\"user-chat-dollar\"&gt;\n            &lt;use xlink:href=\"#user-chat-dollar\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n          &lt;p&gt;Ransomware&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div ng-show=\"c.selection === 2\"&gt;\n          &lt;svg class=\"exchange-server\"&gt;\n            &lt;use xlink:href=\"#exchange-server\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n          &lt;p&gt;Exchange Server&lt;/p&gt;\n          &lt;svg class=\"location-pin\"&gt;\n            &lt;use xlink:href=\"#location-pin\"&gt;&lt;/use&gt;\n          &lt;/svg&gt;\n          &lt;p&gt;Dulles DC&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div ng-show=\"c.selection === 3\"&gt;\n          &lt;div class=\"row\"&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"pull-right\"&gt;&lt;span class=\"danger-text\"&gt;CVSS&lt;/span&gt; 6.4&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"no-margin\"&gt;&lt;span class=\"danger-text\"&gt;Risk&lt;/span&gt; Medium&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;svg class=\"network-web\"&gt;\n                &lt;use xlink:href=\"#network-web\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n              &lt;p class=\"no-margin\"&gt;&lt;a href=\"http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0537\" target=\"_blank\" class=\"default-anchor\"&gt;mitre.org&lt;/a&gt;&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-show=\"c.selection === 3\" class=\"radio-active-content\"&gt;\n        &lt;div class=\"text-center\"&gt;\n          &lt;p class=\"cwe\"&gt;CWE-119: Improper Restriction of Memory Buffer&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div class=\"panel-heading panel-heading-active\"&gt;exposure&lt;/div&gt;\n        &lt;div class=\"panel-body\"&gt;\n          &lt;div class=\"row text-center\"&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"radio-active-header-text\"&gt;attack vector&lt;/p&gt;\n              &lt;div class=\"status-circle-warning-left\"&gt;\n                &lt;h4&gt;Local&lt;/h4&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"radio-active-header-text\"&gt;attack complexity&lt;/p&gt;\n              &lt;div class=\"status-circle-warning-left\"&gt;\n                &lt;h4&gt;Med&lt;/h4&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"radio-active-header-text\"&gt;priviledges req'd&lt;/p&gt;\n              &lt;div class=\"status-circle-danger-left\"&gt;\n                &lt;h4&gt;Low&lt;/h4&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"panel-heading\"&gt;impact&lt;/div&gt;\n        &lt;div class=\"panel-body\"&gt;\n          &lt;div class=\"row text-center\"&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"radio-active-header-text\"&gt;confidentiality&lt;/p&gt;\n              &lt;div class=\"status-circle-danger-left\"&gt;\n                &lt;h4&gt;High&lt;/h4&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"radio-active-header-text\"&gt;integrity&lt;/p&gt;\n              &lt;div class=\"status-circle-warning-left\"&gt;\n                &lt;h4&gt;Med&lt;/h4&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n            &lt;div class=\"col-xs-4\"&gt;\n              &lt;p class=\"radio-active-header-text\"&gt;availability&lt;/p&gt;\n              &lt;div class=\"status-circle-danger-left\"&gt;\n                &lt;h4&gt;High&lt;/h4&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Tab Selection Forced\">c77f76f4dba5b20062e479daae961936</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-14 17:28:56</sys_created_on>\n<sys_id>8b7f76f4dba5b20062e479daae961936</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-14 17:28:56</sys_updated_on>\n<table/>\n<target_name>PE Tab Selection</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "tabs/pe-tab-selection/widget/pe-tab-selection.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-tab-selection-svgs'\"></div>\n<div class=\"row tab-selection\">\n  <div class=\"col-xs-12\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading\">{{::options.title}}</div>\n      <div class=\"panel-body panel-padding-bottom\">\n        <div class=\"row text-center\">\n          <div class=\"col-xs-4\" ng-click=\"c.selection = 1\" ng-class=\"{'selected': c.selection === 1}\">\n            <div class=\"attack-profiles\">\n              <span>IOC</span>\n            </div>\n            <p class=\"sub-text\" ng-class=\"{'selected': c.selection === 1}\">torrentjack</p>\n            <div ng-show=\"c.selection === 1\" class=\"arrow-up\"></div>\n          </div>\n          <div class=\"col-xs-4\" ng-click=\"c.selection = 2\">\n            <div class=\"attack-profiles\">\n              <div ng-hide=\"c.selection === 2\">\n                <svg class=\"server\">\n                  <use xlink:href=\"#server\"></use>\n                </svg>\n              </div>\n              <div ng-hide=\"c.selection !== 2\">\n                <svg class=\"server-red\">\n                  <use xlink:href=\"#server-red\"></use>\n                </svg>\n              </div>\n            </div>\n            <p class=\"sub-text\" ng-class=\"{'selected': c.selection === 2}\">mail-east-001</p>\n            <div ng-show=\"c.selection === 2\" class=\"arrow-up\"></div>\n          </div>\n          <div class=\"col-xs-4\" ng-click=\"c.selection = 3\">\n            <div class=\"attack-profiles\">\n              <div ng-hide=\"c.selection === 3\">\n                <svg class=\"radio-active\">\n                  <use xlink:href=\"#radio-active\"></use>\n                </svg>\n              </div>\n              <div ng-hide=\"c.selection !== 3\">\n                <svg class=\"radio-active-red\">\n                  <use xlink:href=\"#radio-active-red\"></use>\n                </svg>\n              </div>\n            </div>\n            <p class=\"sub-text\" ng-class=\"{'selected': c.selection === 3}\">cve-2016-0537</p>\n            <div ng-show=\"c.selection === 3\" class=\"arrow-up\"></div>\n          </div>\n        </div>\n      </div>\n      <div class=\"panel-footer panel-footer-danger\">\n        <div ng-show=\"c.selection === 1\">\n          <svg class=\"fishing\">\n            <use xlink:href=\"#fishing\"></use>\n          </svg>\n          <p>Phishing</p>\n          <svg class=\"user-chat-dollar\">\n            <use xlink:href=\"#user-chat-dollar\"></use>\n          </svg>\n          <p>Ransomware</p>\n        </div>\n        <div ng-show=\"c.selection === 2\">\n          <svg class=\"exchange-server\">\n            <use xlink:href=\"#exchange-server\"></use>\n          </svg>\n          <p>Exchange Server</p>\n          <svg class=\"location-pin\">\n            <use xlink:href=\"#location-pin\"></use>\n          </svg>\n          <p>Dulles DC</p>\n        </div>\n        <div ng-show=\"c.selection === 3\">\n          <div class=\"row\">\n            <div class=\"col-xs-4\">\n              <p class=\"pull-right\"><span class=\"danger-text\">CVSS</span> 6.4</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <p class=\"no-margin\"><span class=\"danger-text\">Risk</span> Medium</p>\n            </div>\n            <div class=\"col-xs-4\">\n              <svg class=\"network-web\">\n                <use xlink:href=\"#network-web\"></use>\n              </svg>\n              <p class=\"no-margin\"><a href=\"http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0537\" target=\"_blank\" class=\"default-anchor\">mitre.org</a></p>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div ng-show=\"c.selection === 3\" class=\"radio-active-content\">\n        <div class=\"text-center\">\n          <p class=\"cwe\">CWE-119: Improper Restriction of Memory Buffer</p>\n        </div>\n        <div class=\"panel-heading panel-heading-active\">exposure</div>\n        <div class=\"panel-body\">\n          <div class=\"row text-center\">\n            <div class=\"col-xs-4\">\n              <p class=\"radio-active-header-text\">attack vector</p>\n              <div class=\"status-circle-warning-left\">\n                <h4>Local</h4>\n              </div>\n            </div>\n            <div class=\"col-xs-4\">\n              <p class=\"radio-active-header-text\">attack complexity</p>\n              <div class=\"status-circle-warning-left\">\n                <h4>Med</h4>\n              </div>\n            </div>\n            <div class=\"col-xs-4\">\n              <p class=\"radio-active-header-text\">priviledges req’d</p>\n              <div class=\"status-circle-danger-left\">\n                <h4>Low</h4>\n              </div>\n            </div>\n          </div>\n        </div>\n        <div class=\"panel-heading\">impact</div>\n        <div class=\"panel-body\">\n          <div class=\"row text-center\">\n            <div class=\"col-xs-4\">\n              <p class=\"radio-active-header-text\">confidentiality</p>\n              <div class=\"status-circle-danger-left\">\n                <h4>High</h4>\n              </div>\n            </div>\n            <div class=\"col-xs-4\">\n              <p class=\"radio-active-header-text\">integrity</p>\n              <div class=\"status-circle-warning-left\">\n                <h4>Med</h4>\n              </div>\n            </div>\n            <div class=\"col-xs-4\">\n              <p class=\"radio-active-header-text\">availability</p>\n              <div class=\"status-circle-danger-left\">\n                <h4>High</h4>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "tabs/pe-tab-selection/widget/pe-tab-selection.u-client-script.js",
    "content": "function TabSelectionController() {\n  var c = this;\n\n  c.$onInit = function() {\n    c.selection = 1;\n  };\n}"
  },
  {
    "path": "tabs/pe-tab-selection/widget/pe-tab-selection.u-css.scss",
    "content": "$pe-theme-color: #68acd8 !default;\r\n$pe-text-color: #fff !default;\r\n$pe-status-color-warning: #ffce00 !default;\r\n$pe-status-color-critical: #ff0050 !default;\r\n\r\n.tab-selection {\r\n  .status-circle-left {\r\n    border-radius: 50%;\r\n    bottom: 21%;\r\n    content: '';\r\n    height: 10px;\r\n    margin-left: -18px;\r\n    position: absolute;\r\n    width: 10px;\r\n  }\r\n  .status-circle-warning-left {\r\n    h4 {\r\n      &:before {\r\n        @extend .status-circle-left;\r\n        background-color: $pe-status-color-warning;\r\n      }\r\n    }\r\n  }\r\n  .status-circle-danger-left {\r\n    h4 {\r\n      &:before {\r\n        @extend .status-circle-left;\r\n        background-color: $pe-status-color-critical;\r\n      }\r\n    }\r\n  }\r\n  color: $pe-text-color;\r\n  .panel {\r\n    border: 0;\r\n    color: $pe-text-color;\r\n    background-color: transparent;\r\n    .panel-heading {\r\n      border-bottom: 0 !important;\r\n      background-color: #283347 !important;\r\n      color: $pe-text-color !important;\r\n      font-size: 12px;\r\n      padding: 14px;\r\n      text-transform: uppercase;\r\n    }\r\n    .panel-body {\r\n      background-color: #1c2432;\r\n      color: $pe-text-color;\r\n      h4 {\r\n        font-size: 24px;\r\n        margin-top: -5px !important;\r\n      }\r\n      .header-text {\r\n        color: $pe-theme-color;\r\n        font-size: 16px;\r\n        height: 30px;\r\n        width: 110px;\r\n        .pii {\r\n          margin: 3% 42% 0 -31px;\r\n        }\r\n        .pci {\r\n          margin: 3% 42% 0 -12px;\r\n        }\r\n      }\r\n      .sub-text {\r\n        color: $pe-theme-color;\r\n        font-size: 10px;\r\n        margin: -5px 0 -5px 0;\r\n        text-transform: uppercase;\r\n      }\r\n      .attack-profiles {\r\n        height: 40px;\r\n        vertical-align: middle;\r\n        span {\r\n          color: $pe-theme-color;\r\n          font-size: 24px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n  .radio-active-content {\r\n    background-color: #1c2432;\r\n    padding-top: 16px;\r\n    h4 {\r\n      margin-bottom: 1px !important;\r\n    }\r\n    .panel-heading {\r\n      background-color: #394b6b !important;\r\n    }\r\n    .cwe {\r\n      font-weight: 100;\r\n      font-size: 14px;\r\n      padding-bottom: 6px;\r\n    }\r\n    .radio-active-header-text {\r\n      color: $pe-theme-color;\r\n      font-size: 9px;\r\n      margin-bottom: 8px;\r\n      margin-top: 4px;\r\n      text-transform: uppercase;\r\n      white-space: nowrap;\r\n    }\r\n  }\r\n  .panel-footer-danger {\r\n    background-color: #be003c !important;\r\n    border-color: #be003c !important;\r\n    height: 43px;\r\n    p {\r\n      display: inline-block;\r\n      font-size: 15px;\r\n      font-weight: 100 !important;\r\n      margin: 0 10px 12px 3px;\r\n    }\r\n    svg {\r\n      vertical-align: middle;\r\n    }\r\n    .no-margin {\r\n      margin: 0 !important;\r\n    }\r\n    .default-anchor {\r\n      color: $pe-text-color;\r\n      font-size: 14px;\r\n      margin: 0;\r\n      padding: 0;\r\n      text-transform: lowercase;\r\n      text-decoration: underline;\r\n    }\r\n    .danger-text {\r\n      color: #500018;\r\n      font-weight: 600;\r\n      margin-right: 4px;\r\n    }\r\n  }\r\n  .panel-padding-bottom {\r\n    padding-bottom: 30px !important;\r\n  }\r\n  .arrow-up {\r\n    border-left: 11px solid transparent;\r\n    border-right: 11px solid transparent;\r\n    border-bottom: 11px solid #be003d;\r\n    bottom: -32px;\r\n    height: 0;\r\n    left: 43%;\r\n    position: absolute;\r\n    width: 0;\r\n  }\r\n  .selected {\r\n    color: $pe-text-color !important;\r\n    span {\r\n      color: #be003d !important;\r\n    }\r\n  }\r\n  .server {\r\n    height: 27px;\r\n    width: 27px;\r\n  }\r\n  .radio-active {\r\n    height: 23px;\r\n    width: 24px;\r\n  }\r\n  .fishing {\r\n    height: 24px;\r\n    width: 24px;\r\n  }\r\n  .user-chat-dollar {\r\n    height: 24px;\r\n    width: 24px;\r\n  }\r\n  .exchange-server {\r\n    height: 22px;\r\n    width: 20px;\r\n  }\r\n  .location-pin {\r\n    height: 23px;\r\n    width: 16px;\r\n  }\r\n  .network-web {\r\n    height: 22px;\r\n    margin-right: 2px;\r\n    width: 24px;\r\n  }\r\n  .server-red {\r\n    height: 27px;\r\n    width: 27px;\r\n  }\r\n  .radio-active-red {\r\n    height: 23px;\r\n    width: 24px;\r\n  }\r\n}"
  },
  {
    "path": "tabs/pe-tab-selection/widget/pe-tab-selection.u-option-schema.json",
    "content": "[{\n  \"name\": \"title\",\n  \"label\": \"Title\",\n  \"type\": \"string\"\n}]"
  },
  {
    "path": "tabs/pe-tab-selection/widget/pe-tab-selection.u-server-script.js",
    "content": "(function() {\n  var serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n  options.title = options.title || serverOptions.title || 'Attack Profile';\n})();"
  },
  {
    "path": "tabs/pe-tabs-widget/Readme.md",
    "content": "# Dynamic Tabs\n\n## Description\n\nThis can be used to quickly craft a tabs widget.\n\n## Screenshots\n### ViewLabel\n![alt text](../../images/pe-dynamic-tabs-widget.png \"Dynamic Tabs\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-tabs-widget.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/tabs/pe-tabs-widget/pe-tabs-widget.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\nThere is a sample JSON available in the Tabs' Service UI script:\n```javascript\nvar tabs = {\n  firstTab: {\n    name: 'Reclaimed vms',\n    badgeNumber: 15,\n    badgeColor: 'bg-red'\n  },\n  secondTab: {\n    name: 'Expiring soon',\n    badgeNumber: 5,\n    badgeColor: 'bg-orange'\n  },\n  thirdTab: {\n    name: 'new vms',\n    badgeNumber: 10,\n    badgeColor: 'bg-green'\n  }\n};\n```\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n>None"
  },
  {
    "path": "tabs/pe-tabs-widget/pe-tabs-widget.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-03 16:58:36\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Dynamic Tabs</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>9b4037ba1303b600d0cf3192e144b096</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>505188031383b600890b3092e144b05d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_f8a8555d13617600d15e3d7ed144b087</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function DynamicTabsController(tabService) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.selectedTab = 'expired';\n    c.tabs = tabService.getTabs();\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.vms-status-tabs {\n  .small-text {\n    font-size: 10px;\n    color: #595959;\n    text-transform: uppercase;\n  }\n  .light-grey-bg {\n    background: #f9f9f9;\n  }\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n  .three-tabs {\n    .orange {\n      color: #e89033;\n    }\n    .green {\n      color: #70be5a;\n    }\n    .red {\n      color: #ff4000;\n    }\n    .bg-green {\n      background: #70be5a !important;\n    }\n    .bg-red {\n      background: #ff4000 !important;\n    }\n    .bg-orange {\n      background: #e89033;\n    }\n    .all-tabs {\n      display: flex;\n      padding: 10px;\n      .each-tab {\n        width: 33.3%;\n        float: left;\n        text-align: center;\n        padding: 20px 10px;\n        background: #fff;\n        border-bottom: 1px solid #e4e5e6;\n        &amp;amp;.active {\n          background: #f2f2f2;\n          border-left: 0px;\n          border-bottom: 0px;\n          border-right: 0px;\n          border-bottom: 1px solid #d31a1e;\n          .name {\n            color: #d31a1e;\n          }\n        }\n        p {\n          margin-bottom: 0px;\n        }\n        .name {\n          font-size: 12px;\n          font-weight: bold;\n          color: #909090;\n          text-transform: uppercase; //background: #fbfbfb;\n        }\n        .fa {\n          color: #b4b2b3;\n        }\n      }\n    }\n    .tab-details {\n      padding: 20px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      .flex-it {\n        display: flex;\n        align-items: center;\n        justify-content: space-around;\n      }\n      .svg-icon {\n        height: 23px;\n        width: 27px;\n        fill: #9C9C9C;\n      }\n      p {\n        margin-left: 5px;\n        margin-bottom: 0px;\n      }\n      .detail-numbers {\n        font-size: 18px;\n        color: #595959;\n      }\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-dynamic-tabs-widget&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Dynamic Tabs&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-15 23:18:19&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f8a8555d13617600d15e3d7ed144b087&lt;/sys_id&gt;&lt;sys_mod_count&gt;35&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Dynamic Tabs&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_f8a8555d13617600d15e3d7ed144b087&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-03 16:54:03&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"vms-status-tabs\"&gt;\n  &lt;div class=\"three-tabs row\"&gt;\n    &lt;div class=\"all-tabs\"&gt;\n      &lt;div class=\"each-tab\" ng-click=\"c.selectedTab = 'expired'\" ng-class=\"{'active': c.selectedTab === 'expired'}\"&gt;\n        &lt;p class=\"badge circle-badge\" ng-class=\"c.tabs.firstTab.badgeColor\"&gt;{{::c.tabs.firstTab.badgeNumber}}&lt;/p&gt;\n        &lt;p class=\"name\"&gt;{{::c.tabs.firstTab.name}}&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"each-tab\" ng-click=\"c.selectedTab = 'expiring'\" ng-class=\"{'active': c.selectedTab === 'expiring'}\"&gt;\n        &lt;p class=\"badge circle-badge\" ng-class=\"c.tabs.secondTab.badgeColor\"&gt;{{::c.tabs.secondTab.badgeNumber}}&lt;/p&gt;\n        &lt;p class=\"name\"&gt;{{::c.tabs.secondTab.name}}&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;div class=\"each-tab\" ng-click=\"c.selectedTab = 'new'\" ng-class=\"{'active': c.selectedTab === 'new'}\"&gt;\n        &lt;p class=\"badge circle-badge\" ng-class=\"c.tabs.thirdTab.badgeColor\"&gt;{{::c.tabs.thirdTab.badgeNumber}}&lt;/p&gt;\n        &lt;p class=\"name\"&gt;{{::c.tabs.thirdTab.name}}&lt;/p&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n    &lt;div class=\"tab-details\"&gt;\n      &lt;div ng-show=\"c.selectedTab === 'expired'\"&gt;\n        &lt;div class=\"tab-details\" ng-class-even=\"'light-grey-bg'\"&gt;\n          &lt;p&gt;Tab 1&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-show=\"c.selectedTab === 'expiring'\"&gt;\n        &lt;div class=\"tab-details\" ng-class-even=\"'light-grey-bg'\"&gt;\n          &lt;p&gt;Tab 2&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-show=\"c.selectedTab === 'new'\"&gt;\n        &lt;div class=\"tab-details\" ng-class-even=\"'light-grey-bg'\"&gt;\n          &lt;p&gt;Tab 3&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>105188031383b600890b3092e144b05f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>PE Dynamic Tabs</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_4db6b7be1303b600d0cf3192e144b055</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"Dynamic Tabs Dependencies\">2986f7be1303b600d0cf3192e144b002</sp_dependency><sp_widget display_value=\"PE Dynamic Tabs\">f8a8555d13617600d15e3d7ed144b087</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-03 16:12:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>4db6b7be1303b600d0cf3192e144b055</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Dynamic Tabs Dependencies.PE Dynamic Tabs</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_4db6b7be1303b600d0cf3192e144b055</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-03 16:12:13</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>145188031383b600890b3092e144b05e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>Dynamic Tabs Dependencies.PE Dynamic Tabs</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a2e6f7be1303b600d0cf3192e144b05e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"Dynamic Tabs Dependencies\">2986f7be1303b600d0cf3192e144b002</sp_dependency><sp_js_include display_value=\"Tab Module\">01d67bbe1303b600d0cf3192e144b036</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-03 16:13:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a2e6f7be1303b600d0cf3192e144b05e</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Dynamic Tabs Dependencies.Tab Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a2e6f7be1303b600d0cf3192e144b05e</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-03 16:14:04</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>505188031383b600890b3092e144b05e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>Dynamic Tabs Dependencies.Tab Module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_f7e6bbbe1303b600d0cf3192e144b019</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Tab Service</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-03 16:13:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>f7e6bbbe1303b600d0cf3192e144b019</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Tab Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"tab.service\">ac5637be1303b600d0cf3192e144b014</sys_ui_script><sys_update_name>sp_js_include_f7e6bbbe1303b600d0cf3192e144b019</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-03 16:13:36</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>5c5188031383b600890b3092e144b05e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>Tab Service</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_ac5637be1303b600d0cf3192e144b014</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-tab.service&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  function tabService() {\n    var service = {\n      getTabs: getTabs\n    };\n    return service;\n\n    function getTabs() {\n      var tabs = {\n        firstTab: {\n          name: 'Reclaimed vms',\n          badgeNumber: 15,\n          badgeColor: 'bg-red'\n        },\n        secondTab: {\n          name: 'Expiring soon',\n          badgeNumber: 5,\n          badgeColor: 'bg-orange'\n        },\n        thirdTab: {\n          name: 'new vms',\n          badgeNumber: 10,\n          badgeColor: 'bg-green'\n        }\n      };\n      return tabs;\n    }\n  }\n\n  angular\n    .module('pe-dynamic-tabs')\n    .service('tabService', tabService);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-03 16:10:47&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;ac5637be1303b600d0cf3192e144b014&lt;/sys_id&gt;&lt;sys_mod_count&gt;4&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-tab.service&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_ac5637be1303b600d0cf3192e144b014&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-03 16:51:00&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>945188031383b600890b3092e144b05f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>pe-tab.service</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_11077bbe1303b600d0cf3192e144b05c</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"Dynamic Tabs Dependencies\">2986f7be1303b600d0cf3192e144b002</sp_dependency><sp_js_include display_value=\"Tab Service\">f7e6bbbe1303b600d0cf3192e144b019</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-03 16:13:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>11077bbe1303b600d0cf3192e144b05c</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Dynamic Tabs Dependencies.Tab Service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_11077bbe1303b600d0cf3192e144b05c</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-03 16:13:59</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>985188031383b600890b3092e144b05d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>Dynamic Tabs Dependencies.Tab Service</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_01d67bbe1303b600d0cf3192e144b036</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>Tab Module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-03 16:13:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>01d67bbe1303b600d0cf3192e144b036</sys_id><sys_mod_count>1</sys_mod_count><sys_name>Tab Module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"tab-service.module\">020673be1303b600d0cf3192e144b0f5</sys_ui_script><sys_update_name>sp_js_include_01d67bbe1303b600d0cf3192e144b036</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-03 16:13:53</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>985188031383b600890b3092e144b05e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>Tab Module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_020673be1303b600d0cf3192e144b0f5</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-tab.module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('pe-dynamic-tabs', []);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-03 16:09:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;020673be1303b600d0cf3192e144b0f5&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-tab.module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_020673be1303b600d0cf3192e144b0f5&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-03 16:42:14&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>d05188031383b600890b3092e144b05f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>pe-tab.module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_2986f7be1303b600d0cf3192e144b002</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>Dynamic Tabs Dependencies</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-06-03 16:12:13</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2986f7be1303b600d0cf3192e144b002</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Dynamic Tabs Dependencies</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_2986f7be1303b600d0cf3192e144b002</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-06-03 16:12:13</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Dynamic Tabs\">505188031383b600890b3092e144b05d</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-03 16:58:36</sys_created_on>\n<sys_id>d45188031383b600890b3092e144b05e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-03 16:58:36</sys_updated_on>\n<table/>\n<target_name>Dynamic Tabs Dependencies</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "tabs/pe-tabs-widget/ui-script/pe-tabs-module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('pe-dynamic-tabs', []);\n})();"
  },
  {
    "path": "tabs/pe-tabs-widget/ui-script/pe-tabs-service.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  function tabService() {\n    var service = {\n      getTabs: getTabs\n    };\n    return service;\n\n    function getTabs() {\n      var tabs = {\n        firstTab: {\n          name: 'Reclaimed vms',\n          badgeNumber: 15,\n          badgeColor: 'bg-red'\n        },\n        secondTab: {\n          name: 'Expiring soon',\n          badgeNumber: 5,\n          badgeColor: 'bg-orange'\n        },\n        thirdTab: {\n          name: 'new vms',\n          badgeNumber: 10,\n          badgeColor: 'bg-green'\n        }\n      };\n      return tabs;\n    }\n  }\n\n  angular\n    .module('pe-dynamic-tabs')\n    .service('tabService', tabService);\n})();"
  },
  {
    "path": "tabs/pe-tabs-widget/widget/pe-tabs-widget.u-body-html-template.html",
    "content": "<div class=\"vms-status-tabs\">\n  <div class=\"three-tabs row\">\n    <div class=\"all-tabs\">\n      <div class=\"each-tab\" ng-click=\"c.selectedTab = 'expired'\" ng-class=\"{'active': c.selectedTab === 'expired'}\">\n        <p class=\"badge circle-badge\" ng-class=\"c.tabs.firstTab.badgeColor\">{{::c.tabs.firstTab.badgeNumber}}</p>\n        <p class=\"name\">{{::c.tabs.firstTab.name}}</p>\n      </div>\n      <div class=\"each-tab\" ng-click=\"c.selectedTab = 'expiring'\" ng-class=\"{'active': c.selectedTab === 'expiring'}\">\n        <p class=\"badge circle-badge\" ng-class=\"c.tabs.secondTab.badgeColor\">{{::c.tabs.secondTab.badgeNumber}}</p>\n        <p class=\"name\">{{::c.tabs.secondTab.name}}</p>\n      </div>\n      <div class=\"each-tab\" ng-click=\"c.selectedTab = 'new'\" ng-class=\"{'active': c.selectedTab === 'new'}\">\n        <p class=\"badge circle-badge\" ng-class=\"c.tabs.thirdTab.badgeColor\">{{::c.tabs.thirdTab.badgeNumber}}</p>\n        <p class=\"name\">{{::c.tabs.thirdTab.name}}</p>\n      </div>\n    </div>\n    <div class=\"tab-details\">\n      <div ng-show=\"c.selectedTab === 'expired'\">\n        <div class=\"tab-details\" ng-class-even=\"'light-grey-bg'\">\n          <p>Tab 1</p>\n        </div>\n      </div>\n      <div ng-show=\"c.selectedTab === 'expiring'\">\n        <div class=\"tab-details\" ng-class-even=\"'light-grey-bg'\">\n          <p>Tab 2</p>\n        </div>\n      </div>\n      <div ng-show=\"c.selectedTab === 'new'\">\n        <div class=\"tab-details\" ng-class-even=\"'light-grey-bg'\">\n          <p>Tab 3</p>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "tabs/pe-tabs-widget/widget/pe-tabs-widget.u-client-script.js",
    "content": "function DynamicTabsController(tabService) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.selectedTab = 'expired';\n    c.tabs = tabService.getTabs();\n  };\n}"
  },
  {
    "path": "tabs/pe-tabs-widget/widget/pe-tabs-widget.u-css.scss",
    "content": ".vms-status-tabs {\n  .small-text {\n    font-size: 10px;\n    color: #595959;\n    text-transform: uppercase;\n  }\n  .light-grey-bg {\n    background: #f9f9f9;\n  }\n  .people-card-media {\n    padding-right: 10px;\n    padding-left: 10px;\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    float: left;\n    margin: 0px;\n    .flex-it-align-top {\n      display: flex;\n      justify-content: space-between;\n    }\n    .media-left {\n      .list__photo {\n        width: 35px;\n        height: 35px;\n      }\n      .initials-badge {\n        min-width: 36px;\n        float: left;\n        margin-top: 0px;\n        border-radius: 50%;\n        line-height: 1;\n        font-size: 14px;\n        margin-left: 0px;\n        padding: 10px 10px;\n        font-weight: 300;\n        background: #AEB2B3;\n      }\n    }\n  }\n  .three-tabs {\n    .orange {\n      color: #e89033;\n    }\n    .green {\n      color: #70be5a;\n    }\n    .red {\n      color: #ff4000;\n    }\n    .bg-green {\n      background: #70be5a !important;\n    }\n    .bg-red {\n      background: #ff4000 !important;\n    }\n    .bg-orange {\n      background: #e89033;\n    }\n    .all-tabs {\n      display: flex;\n      padding: 10px;\n      .each-tab {\n        width: 33.3%;\n        float: left;\n        text-align: center;\n        padding: 20px 10px;\n        background: #fff;\n        border-bottom: 1px solid #e4e5e6;\n        &.active {\n          background: #f2f2f2;\n          border-left: 0px;\n          border-bottom: 0px;\n          border-right: 0px;\n          border-bottom: 1px solid #d31a1e;\n          .name {\n            color: #d31a1e;\n          }\n        }\n        p {\n          margin-bottom: 0px;\n        }\n        .name {\n          font-size: 12px;\n          font-weight: bold;\n          color: #909090;\n          text-transform: uppercase; //background: #fbfbfb;\n        }\n        .fa {\n          color: #b4b2b3;\n        }\n      }\n    }\n    .tab-details {\n      padding: 20px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      .flex-it {\n        display: flex;\n        align-items: center;\n        justify-content: space-around;\n      }\n      .svg-icon {\n        height: 23px;\n        width: 27px;\n        fill: #9C9C9C;\n      }\n      p {\n        margin-left: 5px;\n        margin-bottom: 0px;\n      }\n      .detail-numbers {\n        font-size: 18px;\n        color: #595959;\n      }\n    }\n  }\n}"
  },
  {
    "path": "tabs/pe-tabs-widget/widget/pe-tabs-widget.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "timeline/pe-animated-timeline/README.md",
    "content": "# Animated Timeline\n\n## Description\n\nThis can be used to quickly craft an animated timeline widget.\n\n## Screenshot\n![](../../images/pe-animated-timeline-1.gif)\n\n## Additional Information/Notes\n> None\n\n---\n## Installation\nDownload and install update set **[pe-animated-timeline.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/timeline/pe-animated-timeline/pe-animated-timeline.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\nWidget Option Schema parameters:\n> None\n\n## Platform Dependencies\n> None\n\n## Sample Data and Data Structures\n> None\n\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-brand-success: #57c446 !default;`<br/>\n`$pe-brand-error: #ff0000 !default;`<br/>"
  },
  {
    "path": "timeline/pe-animated-timeline/angular-template/pe-animated-timeline-svg.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol id=\"loading\">\n    <circle cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(45 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.125s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(90 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.25s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(135 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.375s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(180 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.5s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(225 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.625s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(270 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.75s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(315 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.875s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n    <circle transform=\"rotate(180 16 16)\" cx=\"16\" cy=\"3\" r=\"0\">\n      <animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.5s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" />\n    </circle>\n  </symbol>\n</svg>"
  },
  {
    "path": "timeline/pe-animated-timeline/pe-animated-timeline.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-29 02:47:24\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Animated Timeline</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>7da70ce7db123200d8ebd65fdf96192e</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>e6deac2fdb523200d8ebd65fdf961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_6cb9006bdb123200d8ebd65fdf96192a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/*&#13;\n * bootflat 2.0.4&#13;\n *&#13;\n * Description: BOOTFLAT is an open source Flat UI KIT based on Bootstrap 3.2.0 CSS framework. It provides a faster, easier and less repetitive way for web developers to create elegant web apps.&#13;\n *&#13;\n * Homepage: http://bootflat.github.com/&#13;\n *&#13;\n * By @Flathemes &lt;info@flathemes.com&gt;&#13;\n *&#13;\n * Last modify time: 2014-09-03&#13;\n *&#13;\n * Licensed under the MIT license. Please see LICENSE for more information.&#13;\n *&#13;\n * Copyright 2013 FLATHEMES.&#13;\n *&#13;\n */&#13;\n&#13;\nbody{font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;color:#434a54;background-color:#fff}a{color:#3bafda;text-decoration:none}a:focus,a:hover{color:#4fc1e9;text-decoration:none}a:focus{outline:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#e7e9ec}h1,h2,h3{margin-top:30px;margin-bottom:15px}h4,h5,h6{margin-top:15px;margin-bottom:15px}h6{font-weight:400}.h1,h1{font-size:51px}.h2,h2{font-size:43px}.h3,h3{font-size:30px}.h4,h4{font-size:19px}.h5,h5{font-size:18px}.h6,h6{font-size:14px}blockquote{border-left:3px solid #ccd1d9}.img-rounded{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.img-comment{margin:24px 0;font-size:15px;font-style:italic;line-height:1.2}.btn{color:#fff}.btn,.btn.disabled,.btn[disabled]{background-color:#aab2bd;border-color:#aab2bd}.btn.active,.btn:active,.btn:focus,.btn:hover{color:#fff;background-color:#ccd1d9;border-color:#ccd1d9;outline:0!important}.btn.active,.btn:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);box-shadow:inset 0 1px 2px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled]{filter:alpha(opacity=45);opacity:.45}.btn-link,.btn-link.active,.btn-link.disabled,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled]{color:#3bafda;background-color:transparent;&#13;\n border-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-default{color:#434a54;border-color:#aab2bd!important}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover{background-color:#ccd1d9;border-color:#ccd1d9}.btn-default,.btn-default.disabled,.btn-default[disabled]{background-color:#fff}.open .dropdown-toggle.btn-default{background-color:#ccd1d9;border-color:#ccd1d9}.btn-primary,.btn-primary.active,.btn-primary.disabled,.btn-primary:active,.btn-primary[disabled]{background-color:#3bafda;border-color:#3bafda}.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{background-color:#4fc1e9;border-color:#4fc1e9}.btn-info,.btn-info.active,.btn-info.disabled,.btn-info:active,.btn-info[disabled]{background-color:#37bc9b;border-color:#37bc9b}.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{background-color:#48cfad;border-color:#48cfad}.btn-success,.btn-success.active,.btn-success.disabled,.btn-success:active,.btn-success[disabled]{background-color:#8cc152;border-color:#8cc152}.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{background-color:#a0d468;border-color:#a0d468}.btn-warning,.btn-warning.active,.btn-warning.disabled,.btn-warning:active,.btn-warning[disabled]{background-color:#f6bb42;border-color:#f6bb42}.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{background-color:#ffce54;border-color:#ffce54}.btn-danger,.btn-danger .open .dropdown-toggle.btn,.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger[disabled]{background-color:#da4453;border-color:#da4453}.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{background-color:#ed5565;border-color:#ed5565}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);box-shadow:inset 0 1px 2px rgba(0,0,0,.125)}.btn-group .btn{border-left-color:#96a0ad}.btn-group .btn-default.active,.btn-group .btn-default:active,.btn-group .btn-default:focus,.btn-group.open .btn-default.dropdown-toggle{color:#fff}.btn-group .btn-primary,.btn-group .btn-primary.active,.btn-group .btn-primary:active,.btn-group .btn-primary:focus{border-left-color:#269ecb}.btn-group .btn-success,.btn-group .btn-success.active,.btn-group .btn-success:active,.btn-group .btn-success:focus{border-left-color:#7ab03f}.btn-group .btn-warning,.btn-group .btn-warning.active,.btn-group .btn-warning:active,.btn-group .btn-warning:focus{border-left-color:#efa50b}.btn-group .btn-danger,.btn-group .btn-danger.active,.btn-group .btn-danger:active,.btn-group .btn-danger:focus{border-left-color:#d1293a}.btn-group .btn-info,.btn-group .btn-info.active,.btn-group .btn-info:active,.btn-group .btn-info:focus{border-left-color:#2fa084}.btn-group .btn-danger:first-child,.btn-group .btn-info:first-child,.btn-group .btn-primary:first-child,.btn-group .btn-success:first-child,.btn-group .btn-warning:first-child,.btn-group .btn:first-child{border-left-color:transparent}.btn-group-vertical .btn,.btn-group-vertical .btn-group .btn-primary{border-top-color:#96a0ad!important}.btn-group-vertical .btn-group .btn-primary,.btn-group-vertical .btn-primary,.btn-group-vertical .btn-primary.active,.btn-group-vertical .btn-primary:active,.btn-group-vertical .btn-primary:focus{border-top-color:#269ecb!important}.btn-group-vertical .btn-group .btn-success,.btn-group-vertical .btn-success,.btn-group-vertical .btn-success.active,.btn-group-vertical .btn-success:active,.btn-group-vertical .btn-success:focus{border-top-color:#7ab03f!important}.btn-group-vertical .btn-group .btn-warning,.btn-group-vertical .btn-warning,.btn-group-vertical .btn-warning.active,.btn-group-vertical .btn-warning:active,.btn-group-vertical .btn-warning:focus{border-top-color:#efa50b!important}.btn-group-vertical .btn-danger,.btn-group-vertical .btn-danger.active,.btn-group-vertical .btn-danger:active,.btn-group-vertical .btn-danger:focus,.btn-group-vertical .btn-group .btn-danger{border-top-color:#d1293a!important}.btn-group-vertical .btn-group .btn-info,.btn-group-vertical .btn-info,.btn-group-vertical .btn-info.active,.btn-group-vertical .btn-info:active,.btn-group-vertical .btn-info:focus{border-top-color:#2fa084!important}.btn-group-vertical .btn-danger:first-child,.btn-group-vertical .btn-info:first-child,.btn-group-vertical .btn-primary:first-child,.btn-group-vertical .btn-success:first-child,.btn-group-vertical .btn-warning:first-child,.btn-group-vertical .btn:not(.btn-default):first-child{border-top:none}.badge,.label{background-color:#aab2bd}.badge-default,.label-default{color:#434a54;background-color:#fff;&#13;\n border:1px solid #aab2bd}.badge-primary,.label-primary{background-color:#3bafda;border-color:#3bafda}.badge-success,.label-success{background-color:#8cc152;border-color:#8cc152}.badge-danger,.label-danger{background-color:#da4453;border-color:#da4453}.badge-warning,.label-warning{background-color:#f6bb42;border-color:#f6bb42}.badge-info,.label-info{background-color:#37bc9b;border-color:#37bc9b}.tooltip-inner{color:#fff;background-color:#434a54}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{border-top-color:#434a54}.tooltip.right .tooltip-arrow{border-right-color:#434a54}.tooltip.left .tooltip-arrow{border-left-color:#434a54}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#434a54}.popover{color:#fff;&#13;\n background-color:#434a54;border-color:#434a54}.popover-title{padding-bottom:0;font-weight:700;color:#aab2bd;background-color:transparent;border-bottom:none}.popover.top .arrow,.popover.top .arrow:after{border-top-color:#434a54}.popover.right .arrow,.popover.right .arrow:after{border-right-color:#434a54}.popover.bottom .arrow,.popover.bottom .arrow:after{border-bottom-color:#434a54}.popover.left .arrow,.popover.left .arrow:after{border-left-color:#434a54}.progress{background-color:#e6e9ed;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress-bar{background-color:#3bafda;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#8cc152}.progress-bar-info{background-color:#37bc9b}.progress-bar-warning{background-color:#f6bb42}.progress-bar-danger{background-color:#da4453}.breadcrumb{color:#434a54;background-color:#e6e9ed}.breadcrumb&gt;.active{color:#434a54}.breadcrumb a{color:#3bafda}.breadcrumb-arrow{height:36px;&#13;\n padding:0;line-height:36px;list-style:none;background-color:#e6e9ed}.breadcrumb-arrow li:first-child a{border-radius:4px 0 0 4px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px}.breadcrumb-arrow li,.breadcrumb-arrow li a,.breadcrumb-arrow li span{display:inline-block;vertical-align:top}.breadcrumb-arrow li:not(:first-child){margin-left:-5px}.breadcrumb-arrow li+li:before{padding:0;content:\"\"}.breadcrumb-arrow li span{padding:0 10px}.breadcrumb-arrow li a,.breadcrumb-arrow li:not(:first-child) span{height:36px;&#13;\n padding:0 10px 0 25px;line-height:36px}.breadcrumb-arrow li:first-child a{padding:0 10px}.breadcrumb-arrow li a{position:relative;color:#fff;text-decoration:none;background-color:#3bafda;border:1px solid #3bafda}.breadcrumb-arrow li:first-child a{padding-left:10px}.breadcrumb-arrow li a:after,.breadcrumb-arrow li a:before{position:absolute;top:-1px;width:0;height:0;content:'';border-top:18px solid transparent;border-bottom:18px solid transparent}.breadcrumb-arrow li a:before{right:-10px;z-index:3;border-left-color:#3bafda;border-left-style:solid;border-left-width:11px}.breadcrumb-arrow li a:after{right:-11px;z-index:2;border-left:11px solid #2494be}.breadcrumb-arrow li a:focus,.breadcrumb-arrow li a:hover{background-color:#4fc1e9;border:1px solid #4fc1e9}.breadcrumb-arrow li a:focus:before,.breadcrumb-arrow li a:hover:before{border-left-color:#4fc1e9}.breadcrumb-arrow li a:active{background-color:#2494be;border:1px solid #2494be}.breadcrumb-arrow li a:active:after,.breadcrumb-arrow li a:active:before{border-left-color:#2494be}.breadcrumb-arrow li span{color:#434a54}.pagination&gt;li&gt;a,.pagination&gt;li&gt;span{color:#434a54;background-color:#fff;border-color:#ccd1d9}.pagination&gt;li&gt;a:focus,.pagination&gt;li&gt;a:hover,.pagination&gt;li&gt;span:focus,.pagination&gt;li&gt;span:hover{color:#fff;background-color:#ccd1d9;border-color:#ccd1d9}.pagination&gt;.active&gt;a,.pagination&gt;.active&gt;a:focus,.pagination&gt;.active&gt;a:hover,.pagination&gt;.active&gt;span,.pagination&gt;.active&gt;span:focus,.pagination&gt;.active&gt;span:hover{color:#fff;background-color:#8cc152;border-color:#8cc152}.pagination&gt;.disabled&gt;a,.pagination&gt;.disabled&gt;a:focus,.pagination&gt;.disabled&gt;a:hover,.pagination&gt;.disabled&gt;span,.pagination&gt;.disabled&gt;span:focus,.pagination&gt;.disabled&gt;span:hover{color:#e6e9ed;background-color:#fff;border-color:#ccd1d9}.pager li&gt;a,.pager li&gt;span{color:#fff;background-color:#8cc152;border-color:#8cc152}.pager li&gt;a:focus,.pager li&gt;a:hover{background-color:#a0d468;border-color:#a0d468}.pager .disabled&gt;a,.pager .disabled&gt;a:focus,.pager .disabled&gt;a:hover,.pager .disabled&gt;span{color:#e6e9ed;background-color:#fff;border-color:#e6e9ed}.form-control{color:#434a54;border-color:#aab2bd}.form-control,.form-control:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.form-control:focus{border-color:#3bafda}.form-control:-ms-input-placeholder,.form-control::-moz-placeholder,.form-control::-webkit-input-placeholder{color:#e6e9ed}.form-control.disabled,.form-control[disabled]{background-color:#e6e9ed;border-color:#e6e9ed}.input-group-btn .btn+.btn{border-color:#96a0ad;border-style:solid;&#13;\n border-width:1px}.input-group-btn .btn+.btn.btn-default{border-color:#ededed}.input-group-btn .btn+.btn.btn-primary{border-color:#269ecb}.input-group-btn .btn+.btn.btn-info{border-color:#2fa084}.input-group-btn .btn+.btn.btn-success{border-color:#7ab03f}.input-group-btn .btn+.btn.btn-warning{border-color:#f4af20}.input-group-btn .btn+.btn.btn-danger{border-color:#d1293a}.input-group-addon{color:#fff;background-color:#aab2bd;border-color:#96a0ad}.input-group-addon .checkbox,.input-group-addon .radio{margin:-3px 0 -4px!important}.form-search .search-query,.form-search .search-query:first-child,.form-search .search-query:last-child{padding:0 17px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px}.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topleft:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0;-webkit-border-top-right-radius:0;-moz-border-radius-topright:0;-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.form-search .btn{border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px}.search-only{position:relative}.search-only .search-icon{position:absolute;top:2px;left:8.5px;z-index:20;width:30px;font-size:17px;line-height:30px;color:#e6e9ed;text-align:center}.search-only .form-control:last-child{padding-left:40px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#8cc152}.has-success .form-control,.has-success .form-control:focus{border-color:#8cc152;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-success .input-group-addon{background-color:#8cc152;border-color:#8cc152}.has-success .form-control-feedback{color:#8cc152}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#f6bb42}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f6bb42;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-warning .input-group-addon{background-color:#f6bb42;border-color:#f6bb42}.has-warning .form-control-feedback{color:#f6bb42}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#da4453}.has-error .form-control,.has-error .form-control:focus{border-color:#da4453;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-error .input-group-addon{background-color:#da4453;border-color:#da4453}.has-error .form-control-feedback{color:#da4453}.stepper .stepper-input{overflow:hidden;-moz-appearance:textfield}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{position:absolute;right:15px;display:block;width:20px;height:50%;text-indent:-99999px;cursor:pointer;&#13;\n background-color:#3bafda}.stepper .stepper-arrow:active,.stepper .stepper-arrow:hover{background-color:#4fc1e9}.stepper .up{top:0;border:1px solid #269ecb;border-top-right-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px}.stepper .down{bottom:0;border-bottom-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px}.stepper .down::before,.stepper .up::before{position:absolute;width:0;height:0;&#13;\n content:\"\";border-right:4px solid transparent;border-left:4px solid transparent}.stepper .up::before{top:5px;left:5px;border-bottom:4px solid #fff}.stepper .down:before{bottom:5px;left:6px;border-top:4px solid #fff}.stepper.disabled .stepper-arrow{background-color:#3bafda;filter:alpha(opacity=45);opacity:.45}.selecter{position:relative;z-index:1;&#13;\n display:block;max-width:100%;outline:0}.selecter .selecter-element{position:absolute;left:0;z-index:0;display:none;width:100%;height:100%;filter:alpha(opacity=0);opacity:0;*left:-999999px}.selecter .selecter-element,.selecter .selecter-element:focus{outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}.selecter .selecter-selected{position:relative;z-index:2;display:block;padding:6px 10px;overflow:hidden;text-overflow:clip;cursor:pointer;&#13;\n background-color:#fff;border:1px solid #aab2bd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter .selecter-selected:after{position:absolute;top:14px;right:10px;width:0;height:0;content:\"\";border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent}.selecter .selecter-options{position:absolute;top:100%;left:0;z-index:50;display:none;width:100%;max-height:260px;overflow:auto;overflow-x:hidden;background-color:#fff;&#13;\n border:1px solid #aab2bd;border-width:0 1px 1px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;*width:auto}.selecter .selecter-group{display:block;padding:5px 10px 4px;font-size:11px;color:#aab2bd;text-transform:uppercase;background-color:#f5f7fa;&#13;\n border-bottom:1px solid #e6e9ed}.selecter .selecter-item{display:block;width:100%;padding:6px 10px;margin:0;overflow:hidden;text-overflow:ellipsis;cursor:pointer;&#13;\n background-color:#fff;border-bottom:1px solid #e6e9ed}.selecter .selecter-item.selected{color:#fff;background-color:#3bafda;border-bottom-color:#4fc1e9}.selecter .selecter-item.disabled{color:#aab2bd;cursor:default}.selecter .selecter-item:first-child{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.selecter .selecter-item:last-child{border-bottom:0;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.selecter .selecter-item:hover{background-color:#e6e9ed}.selecter .selecter-item.selected:hover{background-color:#3bafda}.selecter .selecter-item.disabled:hover,.selecter.disabled .selecter-item:hover,.selecter:hover .selecter-selected{background-color:#fff}.selecter.open{z-index:3;outline:0}.selecter.open .selecter-selected{z-index:51;border:1px solid #3bafda;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.focus .selecter-selected,.selecter.open .selecter-selected{background-color:#fff}.selecter.cover .selecter-options{top:0;border-width:1px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.cover .selecter-options .selecter-item.first{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.cover.open .selecter-selected{z-index:49;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.bottom .selecter-options{top:auto;bottom:100%;&#13;\n border-width:1px 1px 0}.selecter.bottom .selecter-item:last-child{border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.selecter.bottom.open .selecter-selected{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.selecter.bottom.open .selecter-options{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.bottom.cover .selecter-options{top:auto;bottom:0}.selecter.bottom.cover.open .selecter-options,.selecter.bottom.cover.open .selecter-selected{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.multiple .selecter-options{position:static;display:block;width:100%;border-width:1px;border-radius:4px;box-shadow:none;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.disabled .selecter-selected{color:#aab2bd;cursor:default;background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-options{background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-group,.selecter.disabled .selecter-item{color:#aab2bd;cursor:default;background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-item.selected{color:#fff;background-color:#3bafda;filter:alpha(opacity=45);opacity:.45}.selecter .selecter-options.scroller{overflow:hidden}.selecter .selecter-options.scroller .scroller-content{max-height:260px;padding:0}.checkbox,.radio{padding-left:0;margin-top:0}.checkbox label,.radio label{position:relative;top:2px;padding-left:5px}.icheckbox_flat,.iradio_flat{display:inline-block;width:20px;height:20px;padding:0!important;margin:0;vertical-align:middle;cursor:pointer;background:url(../bootflat/img/check_flat/default.png) no-repeat;border:none;*display:inline}.icheckbox_flat{background-position:0 0}.icheckbox_flat.checked{background-position:-22px 0}.icheckbox_flat.disabled{cursor:default;background-position:-44px 0}.icheckbox_flat.checked.disabled{background-position:-66px 0}.iradio_flat{background-position:-88px 0}.iradio_flat.checked{background-position:-110px 0}.iradio_flat.disabled{cursor:default;background-position:-132px 0}.iradio_flat.checked.disabled{background-position:-154px 0}.toggle{height:32px}.toggle input[type=checkbox],.toggle input[type=radio]{width:0;height:0;padding:0;margin:0;text-indent:-100000px;filter:alpha(opacity=0);opacity:0}.toggle .handle{position:relative;top:-20px;left:0;&#13;\n display:block;width:50px;height:32px;background-color:#fff;border-radius:19px;-webkit-box-shadow:inset 0 0 0 1px #b8bfc8;-moz-box-shadow:inset 0 0 0 1px #b8bfc8;box-shadow:inset 0 0 0 1px #b8bfc8;-webkit-border-radius:19px;-moz-border-radius:19px}.toggle .handle:after,.toggle .handle:before{position:absolute;top:1px;left:1px;display:block;width:30px;height:30px;&#13;\n content:\"\";background-color:#fff;border-radius:30px;-webkit-box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;-moz-box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;transition:all .25s ease-in-out;-webkit-border-radius:30px;-moz-border-radius:30px}.toggle input[type=checkbox]:disabled+.handle,.toggle input[type=checkbox]:disabled+.handle:after,.toggle input[type=checkbox]:disabled+.handle:before,.toggle input[type=radio]:disabled+.handle,.toggle input[type=radio]:disabled+.handle:after,.toggle input[type=radio]:disabled+.handle:before{background-color:#e6e9ed;filter:alpha(opacity=60);&#13;\n opacity:.6}.toggle input[type=checkbox]:checked+.handle:before,.toggle input[type=radio]:checked+.handle:before{width:50px;background-color:#a0d468}.toggle input[type=checkbox]:checked+.handle:after,.toggle input[type=radio]:checked+.handle:after{left:20px;-webkit-box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3;-moz-box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3;box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3}.calendar{padding:20px;color:#fff;background-color:#fd9883;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.calendar .unit{float:left;width:14.28%;text-align:center}.calendar .years .prev{text-align:left}.calendar .years .next{text-align:right}.calendar .years .next em,.calendar .years .prev em{position:relative;display:inline-block;width:34px;height:34px;cursor:pointer;border:1px solid #fff;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.calendar .years .next em:before,.calendar .years .prev em:before{position:absolute;display:block;width:0;height:0;margin-top:6px;font-size:0;content:\"\";border-style:solid;border-width:7px}.calendar .years .prev em:before{top:3px;left:4px;border-color:transparent #fff transparent transparent}.calendar .years .next em:before{top:3px;left:13px;border-color:transparent transparent transparent #fff}.calendar .years .next em:active,.calendar .years .next em:hover,.calendar .years .prev em:active,.calendar .years .prev em:hover{border-color:#e9573f}.calendar .years .prev em:active:before,.calendar .years .prev em:hover:before{border-color:transparent #e9573f transparent transparent}.calendar .years .next em:active:before,.calendar .years .next em:hover:before{border-color:transparent transparent transparent #e9573f}.calendar .years .monyear{float:left;width:71.42%;height:34px;line-height:34px;text-align:center}.calendar .days{padding-top:15px;&#13;\n margin-top:15px;border-top:1px solid #ee7f6d}.calendar .days .unit{height:34px;&#13;\n margin-bottom:3px;line-height:34px;text-align:center}.calendar .days .unit b{width:34px;height:34px;font-weight:400;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.calendar .days .unit.active b,.calendar .days .unit:active b,.calendar .days .unit:hover b{display:inline-block;color:#e9573f;cursor:pointer;background-color:#fff;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.calendar .days .unit.older b{width:auto;height:auto;color:#e9573f;cursor:default;background-color:transparent}.pricing ul{padding:0;list-style:none}.pricing .unit{position:relative;display:inline-block;min-width:250px;text-align:center;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.pricing .unit.active{top:5px;z-index:1;margin-right:-36px;margin-left:-36px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);-moz-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6)}.pricing .unit.active .price-title h3{font-size:40px}@media screen and (max-width:767px){.pricing .unit{display:block;margin-bottom:20px}.pricing .unit.active{top:0;margin-right:0;margin-left:0}.pricing .unit.active .price-title h3{font-size:30px}}.pricing .price-title{padding:20px 20px 10px;color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px}.pricing .price-title h3,.pricing .price-title h3&gt;p{margin:0}.pricing .price-body{padding:20px 20px 10px}.pricing .price-body ul{padding-top:10px}.pricing .price-body li{margin-bottom:10px}.pricing .price-body h4{margin:0}.pricing .price-foot{padding:20px;background-color:#e6e9ed;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.pricing .price-primary .price-title{background-color:#4fc1e9}.pricing .price-primary .price-body{background-color:#d7f1fa}.pricing .price-primary .price-body ul{border-top:1px solid #aae1f4}.pricing .price-success .price-title{background-color:#a0d468}.pricing .price-success .price-body{background-color:#ebf6df}.pricing .price-success .price-body ul{border-top:1px solid #d2ebb7}.pricing .price-warning .price-title{background-color:#ffce54}.pricing .price-warning .price-body{background-color:#fffaed}.pricing .price-warning .price-body ul{border-top:1px solid #ffebba}.alert h4{margin-bottom:10px;font-weight:700}.alert-dismissable .close{color:#000}.alert-info{background-color:#7cd1ef;border:#4fc1e9}.alert-warning{background-color:#ffdd87;border:#ffce54}.alert-danger{background-color:#f2838f;border:#ed5565}.alert-success{background-color:#b9df90;border:#a0d468}.alert .alert-link{text-decoration:underline;&#13;\n cursor:pointer;filter:alpha(opacity=65);opacity:.65}.alert .alert-link:focus,.alert .alert-link:hover{filter:alpha(opacity=45);opacity:.45}.alert .btn-link,.alert .btn-link:focus,.alert .btn-link:hover{color:#000;filter:alpha(opacity=65);opacity:.65}.alert .btn-link:focus,.alert .btn-link:hover{text-decoration:none;filter:alpha(opacity=40);opacity:.4}.nav-tabs{background-color:#e6e9ed;&#13;\n border-bottom:none;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.nav-tabs&gt;li{margin-bottom:0;border-left:1px solid #ccd1d9}.nav-tabs&gt;li:first-child{border-left:none}.nav-tabs&gt;li&gt;a{margin-right:0;color:#434a54;border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.nav-tabs&gt;li&gt;a:focus,.nav-tabs&gt;li&gt;a:hover{background-color:#f5f7fa;border:none}.nav-tabs&gt;li.active&gt;a,.nav-tabs&gt;li.active&gt;a:focus,.nav-tabs&gt;li.active&gt;a:hover{background-color:#fff!important;border:none}.nav-tabs .dropdown-toggle,.nav-tabs .dropdown-toggle:focus,.nav-tabs .dropdown-toggle:hover{color:#434a54}.nav-tabs li.dropdown.open .dropdown-toggle{color:#434a54;background-color:#f5f7fa}.nav-tabs li.dropdown.active.open .dropdown-toggle{color:#434a54}.nav-tabs .dropdown-toggle .caret,.nav-tabs .dropdown-toggle:focus .caret,.nav-tabs .dropdown-toggle:hover .caret,.nav-tabs li.dropdown.active .dropdown-toggle .caret,.nav-tabs li.dropdown.active.open .dropdown-toggle .caret,.nav-tabs li.dropdown.open .caret,.nav-tabs li.dropdown.open a:focus .caret,.nav-tabs li.dropdown.open a:hover .caret,.nav-tabs li.dropdown.open.active .caret{border-top-color:#434a54;border-bottom-color:#434a54}.nav-tabs.nav-justified&gt;li&gt;a{margin-bottom:0;text-align:center}.nav-tabs.nav-justified&gt;.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs.nav-justified&gt;li&gt;a{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs.nav-justified&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.nav-tabs.nav-justified&gt;li:last-child&gt;a{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.nav-tabs.nav-justified&gt;.active&gt;a,.nav-tabs.nav-justified&gt;.active&gt;a:focus,.nav-tabs.nav-justified&gt;.active&gt;a:hover{border:none}@media (min-width:768px){.nav-tabs.nav-justified&gt;li&gt;a{border-bottom:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs.nav-justified&gt;.active&gt;a,.nav-tabs.nav-justified&gt;.active&gt;a:focus,.nav-tabs.nav-justified&gt;.active&gt;a:hover{border-bottom:none}}.tab-content{padding:10px}.tabs-below .nav-tabs{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.tabs-below .nav-tabs&gt;li:first-child&gt;a{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.tabs-below .nav-tabs.nav-justified&gt;li:last-child&gt;a{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.tabs-left .nav-tabs&gt;li,.tabs-right .nav-tabs&gt;li{float:none;border-top:1px solid #ccd1d9;border-left:none}.tabs-left .nav-tabs&gt;li:first-child,.tabs-right .nav-tabs&gt;li:first-child{border-top:none}.tabs-left .nav-tabs&gt;li&gt;a,.tabs-right .nav-tabs&gt;li&gt;a{min-width:74px;margin-right:0}.tabs-left .nav-tabs{float:left;margin-right:19px;border-radius:4px 0 0 4px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px}.tabs-left .nav-tabs&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.tabs-left .nav-tabs&gt;li:last-child&gt;a{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.tabs-right .nav-tabs{float:right;margin-left:19px;border-radius:0 4px 4px 0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0}.tabs-right .nav-tabs&gt;li:first-child&gt;a{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.tabs-right .nav-tabs&gt;li:last-child&gt;a{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.nav-pills&gt;li.active&gt;a,.nav-pills&gt;li.active&gt;a:focus,.nav-pills&gt;li.active&gt;a:hover{color:#fff;background-color:#3bafda}.nav-pills&gt;li&gt;a{color:#3bafda}.nav-pills&gt;li&gt;a:hover{color:#434a54;background-color:#e6e9ed}.nav-pills&gt;.active&gt;a&gt;.badge{color:#3bafda}.nav-pills .open&gt;a,.nav-pills .open&gt;a:focus,.nav-pills .open&gt;a:hover{color:#434a54;background-color:#e6e9ed}.navbar-form{padding:0!important}.navbar-default{background-color:#37bc9b;border-color:#37bc9b}.navbar-default .btn-link,.navbar-default .navbar-brand,.navbar-default .navbar-link{color:#26816a}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover,.navbar-default .navbar-link:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav&gt;li&gt;a,.navbar-default .navbar-text{color:#26816a}.navbar-default .navbar-nav&gt;li&gt;a:focus,.navbar-default .navbar-nav&gt;li&gt;a:hover{color:#fff}.navbar-default .navbar-nav&gt;.active&gt;a,.navbar-default .navbar-nav&gt;.active&gt;a:focus,.navbar-default .navbar-nav&gt;.active&gt;a:hover{color:#fff;background-color:#48cfad}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,.navbar-default .navbar-nav&gt;.disabled&gt;a,.navbar-default .navbar-nav&gt;.disabled&gt;a:focus,.navbar-default .navbar-nav&gt;.disabled&gt;a:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#2e9c81;background-color:transparent}.navbar-default .navbar-toggle{background-color:#26816a;border-color:#26816a}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#2b957a;border-color:#2b957a}.navbar-default .navbar-toggle .icon-bar{background-color:#37bc9b}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#48cfad}.navbar-default .navbar-nav&gt;.open&gt;a,.navbar-default .navbar-nav&gt;.open&gt;a:focus,.navbar-default .navbar-nav&gt;.open&gt;a:hover{color:#fff;background-color:#37bc9b}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu&gt;.divider,.navbar-default .navbar-nav&gt;li&gt;a:focus,.navbar-default .navbar-nav&gt;li&gt;a:hover{background-color:#48cfad}.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a{color:#26816a}.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a,.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a:hover,.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a:hover{color:#fff;background-color:#48cfad}.navbar-default .navbar-nav .open .dropdown-menu&gt;.dropdown-header{color:#26816a}.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a,.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:hover{color:#2b957a}}.navbar-inverse{background-color:#333;border-color:#333}.navbar-inverse .btn-link,.navbar-inverse .navbar-brand,.navbar-inverse .navbar-link{color:#8c8c8c}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover,.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-link:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav&gt;li&gt;a,.navbar-inverse .navbar-text{color:#8c8c8c}.navbar-inverse .navbar-nav&gt;li&gt;a:focus,.navbar-inverse .navbar-nav&gt;li&gt;a:hover{color:#fff}.navbar-inverse .navbar-nav&gt;.active&gt;a,.navbar-inverse .navbar-nav&gt;.active&gt;a:focus,.navbar-inverse .navbar-nav&gt;.active&gt;a:hover{color:#fff;background-color:#000}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .navbar-nav&gt;.disabled&gt;a,.navbar-inverse .navbar-nav&gt;.disabled&gt;a:focus,.navbar-inverse .navbar-nav&gt;.disabled&gt;a:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#666;background-color:transparent}.navbar-inverse .navbar-toggle{background-color:#000;border-color:#000}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#1a1a1a;border-color:#1a1a1a}.navbar-inverse .navbar-toggle .icon-bar{background-color:#8c8c8c}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#000}.navbar-inverse .navbar-nav&gt;.open&gt;a,.navbar-inverse .navbar-nav&gt;.open&gt;a:focus,.navbar-inverse .navbar-nav&gt;.open&gt;a:hover{color:#fff;background-color:#000}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.divider,.navbar-inverse .navbar-nav&gt;li&gt;a:focus,.navbar-inverse .navbar-nav&gt;li&gt;a:hover{background-color:#000}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a{color:#8c8c8c}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a:hover{color:#fff;background-color:#000}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.dropdown-header{color:#bfbfbf}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:hover{color:#666}}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.list-group-item{border-color:transparent;border-top-color:#e6e9ed}.list-group-item:first-child{border-top:none}.list-group-item-heading,a.list-group-item{color:#434a54}a.list-group-item .list-group-item-heading{font-size:16px;color:#434a54}a.list-group-item:focus,a.list-group-item:hover{background-color:#e6e9ed}a.list-group-item.active,a.list-group-item.active:focus,a.list-group-item.active:hover{background-color:#4fc1e9;border-color:#4fc1e9}a.list-group-item.active .list-group-item-text,a.list-group-item.active:focus .list-group-item-text,a.list-group-item.active:hover .list-group-item-text{color:#fff}.list-group-item-primary{color:#22b1e3;background-color:#4fc1e9;border-color:#3bafda transparent transparent}.list-group-item-primary:first-child{border-color:transparent}a.list-group-item-primary{color:#126d8d}a.list-group-item-primary:focus,a.list-group-item-primary:hover{color:#fff}a.list-group-item-primary.active,a.list-group-item-primary:focus,a.list-group-item-primary:hover{background-color:#3bafda;border-color:#4fc1e9 transparent transparent}.list-group-item-success{color:#87c940;background-color:#a0d468;border-color:#8cc152 transparent transparent}.list-group-item-success:first-child{border-color:transparent}a.list-group-item-success{color:#537f24}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#fff}a.list-group-item-success.active,a.list-group-item-success:focus,a.list-group-item-success:hover{background-color:#8cc152;border-color:#a0d468 transparent transparent}.list-group-item-warning{color:#ffbf21;background-color:#ffce54;border-color:#f6bb42 transparent transparent}.list-group-item-warning:first-child{border-color:transparent}a.list-group-item-warning{color:#876000}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#fff}a.list-group-item-warning.active,a.list-group-item-warning:focus,a.list-group-item-warning:hover{background-color:#f6bb42;border-color:#ffce54 transparent transparent}.list-group-item-info{color:#2fb593;background-color:#48cfad;border-color:#37bc9b transparent transparent}.list-group-item-info:first-child{border-color:transparent}a.list-group-item-info{color:#1a6451}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#fff}a.list-group-item-info.active,a.list-group-item-info:focus,a.list-group-item-info:hover{background-color:#37bc9b;border-color:#48cfad transparent transparent}.list-group-item-danger{color:#e8273b;background-color:#ed5565;border-color:#da4453 transparent transparent}.list-group-item-danger:first-child{border-color:transparent}a.list-group-item-danger{color:#99101f}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#fff}a.list-group-item-danger.active,a.list-group-item-danger:focus,a.list-group-item-danger:hover{background-color:#da4453;border-color:#ed5565 transparent transparent}.media-list{color:#aab2bd}.media-heading{font-size:14px;color:#434a54}.modal-content{color:#434a54;&#13;\n border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.modal-header{border-bottom:none}.modal-body{padding:0 15px}.modal-footer{border-top:none}.well{padding:10px;color:#434a54;background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.well blockquote{border-color:#ccd1d9}.well-lg{padding:20px}.well-sm{padding:5px}.thumbnail{border:none;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.thumbnail a&gt;img,.thumbnail&gt;img{width:100%}.thumbnail .caption{font-size:14px}.thumbnail .caption h1,.thumbnail .caption h2,.thumbnail .caption h3,.thumbnail .caption h4,.thumbnail .caption h5,.thumbnail .caption h6{margin:5px 0 10px;font-size:16px}.jumbotron{padding:0;&#13;\n margin-bottom:20px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.container .jumbotron{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.jumbotron&gt;.jumbotron-photo img{width:100%;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.jumbotron .jumbotron-contents{padding:20px;color:#434a54}.jumbotron .carousel,.jumbotron .carousel-inner,.jumbotron .carousel-inner&gt;.item.active img{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.jumbotron .carousel-inner&gt;.item&gt;a&gt;img,.jumbotron .carousel-inner&gt;.item&gt;img{width:100%}.jumbotron .carousel-control.left{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.jumbotron .carousel-control.right{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.jumbotron .h1,.jumbotron .h2,.jumbotron h1,.jumbotron h2{font-weight:400}.jumbotron .h1,.jumbotron h1{font-size:28px}.jumbotron .h2,.jumbotron h2{font-size:24px}.jumbotron p{font-size:14px}@media screen and (min-width:768px){.container .jumbotron,.jumbotron{padding:0}.jumbotron .h1,.jumbotron h1{font-size:28px}}.panel{background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.panel .list-group{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.panel .list-group-item:first-child{border-top:1px solid #e6e9ed}.panel-heading{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel-title{font-size:14px;font-weight:400;color:#434a54}.panel-footer{background-color:#e6e9ed;border-top-color:#e6e9ed;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel-default{border-color:#e6e9ed}.panel-default&gt;.panel-heading{color:#434a54;background-color:#e6e9ed;border-color:#e6e9ed}.panel-primary{border-color:#3bafda}.panel-primary&gt;.panel-heading{color:#fff;background-color:#3bafda;border-color:#3bafda}.panel-success{border-color:#8cc152}.panel-success&gt;.panel-heading{color:#fff;background-color:#8cc152;border-color:#8cc152}.panel-info{border-color:#37bc9b}.panel-info&gt;.panel-heading{color:#fff;background-color:#37bc9b;border-color:#37bc9b}.panel-warning{border-color:#f6bb42}.panel-warning&gt;.panel-heading{color:#fff;background-color:#f6bb42;border-color:#f6bb42}.panel-danger{border-color:#da4453}.panel-danger&gt;.panel-heading{color:#fff;background-color:#da4453;border-color:#da4453}.panel-danger&gt;.panel-heading&gt;.panel-title,.panel-info&gt;.panel-heading&gt;.panel-title,.panel-primary&gt;.panel-heading&gt;.panel-title,.panel-success&gt;.panel-heading&gt;.panel-title,.panel-warning&gt;.panel-heading&gt;.panel-title{color:#fff}.panel&gt;.list-group:first-child .list-group-item:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child,.panel&gt;.table:first-child{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel&gt;.list-group:last-child .list-group-item:last-child{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:first-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:first-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:first-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:first-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:first-child{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:last-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:last-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:last-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:last-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:last-child{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.panel&gt;.table-responsive:last-child&gt;.table:last-child,.panel&gt;.table:last-child{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:first-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:first-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:first-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:first-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:first-child{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:last-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:last-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:last-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:last-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:last-child{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.panel&gt;.panel-body+.table,.panel&gt;.panel-body+.table-responsive{border-top-color:#e6e9ed}.panel-group .panel{background-color:transparent;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0}.panel-group .panel+.panel{margin-top:0}.panel-group .panel-heading{padding:0;border-bottom-color:transparent}.panel-group .panel-heading+.panel-collapse .panel-body{padding:15px 0;border-top-color:transparent}.panel-group .panel-title a{display:block;padding:10px 0}.panel-group-lists .panel{background-color:#fff;&#13;\n border-bottom:1px solid #e6e9ed;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.panel-group-lists .panel:first-child{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel-group-lists .panel:last-child{border-bottom:none;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel-group-lists .panel-heading+.panel-collapse .panel-body{padding:15px;border-top-color:#e6e9ed}.panel-group-lists .panel-title a{padding:10px 15px;color:#434a54}.panel-group-lists .panel-title a:active,.panel-group-lists .panel-title a:focus,.panel-group-lists .panel-title a:hover{color:#aab2bd}.footer{padding:40px 0;background-color:#434a54}.footer-logo,.footer-nav{float:left;width:20%;padding:0 20px}@media (max-width:768px){.footer-logo{margin-bottom:20px}.footer-logo,.footer-nav{display:block;&#13;\n float:none;width:100%}}.footer-logo{height:32px;&#13;\n margin-top:-5px;line-height:32px}.footer-logo img{margin-right:10px}.footer-logo a{font-size:20px;font-weight:700;color:#fff}.footer-logo a:active,.footer-logo a:hover{text-decoration:none}.footer-nav .nav-title{margin-bottom:15px;color:#e6e9ed}.footer-nav .nav-item{line-height:28px}.footer-nav .nav-item&gt;a{color:#aab2bd}.footer-nav .nav-item&gt;a:active,.footer-nav .nav-item&gt;a:hover{color:#ccd1d9;text-decoration:none}.footer-copyright{color:#aab2bd}.timeline dl{position:relative;top:0;padding:20px 0;margin:0}.timeline dl:before{position:absolute;top:0;bottom:0;left:50%;z-index:100;width:2px;margin-left:-1px;content:'';background-color:#ccd1d9}.timeline dl dt{position:relative;top:30px;z-index:200;width:120px;padding:3px 5px;margin:0 auto 30px;font-weight:400;color:#fff;text-align:center;background-color:#aab2bd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.timeline dl dd{position:relative;z-index:200}.timeline dl dd .circ{position:absolute;top:40px;left:50%;z-index:200;width:22px;height:22px;margin-left:-11px;background-color:#4fc1e9;border:4px solid #f5f7fa;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.timeline dl dd .time{position:absolute;top:31px;left:50%;display:inline-block;width:100px;padding:10px 20px;color:#4fc1e9}.timeline dl dd .events{position:relative;width:47%;padding:10px 10px 0;margin-top:31px;background-color:#fff;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.timeline dl dd .events:before{position:absolute;top:12px;width:0;height:0;content:'';border-style:solid;border-width:6px}.timeline dl dd .events .events-object{margin-right:10px}.timeline dl dd .events .events-body{overflow:hidden;zoom:1}.timeline dl dd .events .events-body .events-heading{margin:0 0 10px;font-size:14px}.timeline dl dd.pos-right .time{margin-left:-100px;text-align:right}.timeline dl dd.pos-right .events{float:right}.timeline dl dd.pos-right .events:before{left:-12px;border-color:transparent #fff transparent transparent}.timeline dl dd.pos-left .time{margin-left:0;text-align:left}.timeline dl dd.pos-left .events{float:left}.timeline dl dd.pos-left .events:before{right:-12px;border-color:transparent transparent transparent #fff}@media screen and (max-width:767px){.timeline dl:before{left:60px}.timeline dl dt{margin:0 0 30px}.timeline dl dd .circ{left:60px}.timeline dl dd .time{left:0}.timeline dl dd.pos-left .time{padding:10px 0;&#13;\n margin-left:0;text-align:left}.timeline dl dd.pos-left .events{float:right;width:84%}.timeline dl dd.pos-left .events:before{left:-12px;border-color:transparent #fff transparent transparent}.timeline dl dd.pos-right .time{padding:10px 0;&#13;\n margin-left:0;text-align:left}.timeline dl dd.pos-right .events{float:right;width:84%}}.dropdown-menu{background-color:#434a54;border:none}.dropdown-menu .dropdown-header{padding:5px 20px;font-size:14px;font-weight:700;color:#aab2bd}.dropdown-menu li a{padding:5px 20px;color:#fff}.dropdown-menu .active a,.dropdown-menu .active a:focus,.dropdown-menu .active a:hover,.dropdown-menu li a:focus,.dropdown-menu li a:hover{color:#fff;background-color:#656d78;outline:0}.dropdown-menu .disabled a,.dropdown-menu .disabled a:focus,.dropdown-menu .disabled a:hover{color:#656d78;cursor:default}.dropdown-menu .divider{background-color:#656d78;border-bottom:none}.dropup .dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:0 4px 4px;-webkit-border-radius:0 4px 4px;-moz-border-radius:0 4px 4px}.dropdown-submenu:hover .dropdown-menu{display:block}.dropup .dropdown-submenu .dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;border-radius:4px 4px 4px 0;-webkit-border-radius:4px 4px 4px 0;-moz-border-radius:4px 4px 4px 0}.dropdown-submenu&gt;a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;content:\" \";border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#fff}.dropdown-default .dropdown-submenu&gt;a:after{border-left-color:#434a54}.dropdown-submenu:hover a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left .dropdown-menu{left:-100%;margin-left:10px;border-radius:4px 0 4px 4px;-webkit-border-radius:4px 0 4px 4px;-moz-border-radius:4px 0 4px 4px}</css><name>bootflat.min.css</name><sys_class_name>sp_css</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:05:30</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6cb9006bdb123200d8ebd65fdf96192a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_6cb9006bdb123200d8ebd65fdf96192a</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:05:30</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>22deac2fdb523200d8ebd65fdf96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>bootflat.min.css</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_delay_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_delay\" label=\"Delay\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_delay</element><help/><hint/><label>Delay</label><language>en</language><name>u_pe_animated_timeline</name><plural>Delays</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:29:43</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>b55fc02fdb123200d8ebd65fdf961920</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Delay</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_delay_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:29:43</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>22deac2fdb523200d8ebd65fdf96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Delay</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_application_542c84abdb123200d8ebd65fdf961946</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_application\"><sys_ui_application action=\"INSERT_OR_UPDATE\"><active>true</active><hint/><name>PE Animated Timeline</name><order/><roles>u_pe_animated_timeline_user</roles><sys_class_name>sys_ui_application</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>542c84abdb123200d8ebd65fdf961946</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Animated Timeline</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_application_542c84abdb123200d8ebd65fdf961946</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:42</sys_updated_on></sys_ui_application></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>22deac2fdb523200d8ebd65fdf961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>PE Animated Timeline</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_html_description</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_html_description\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;HTML Description&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_html_description&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"HTML\"&gt;html&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;8000&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:27:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;d9cec8ebdb123200d8ebd65fdf9619c6&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;HTML Description&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_html_description&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:27:31&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>26deac2fdb523200d8ebd65fdf96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.HTML Description</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_a42c84abdb123200d8ebd65fdf96195a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a42c84abdb123200d8ebd65fdf96195a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline.u_pe_animated_timeline_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_pe_animated_timeline\">e82c84abdb123200d8ebd65fdf961957</sys_security_acl><sys_update_name>sys_security_acl_role_a42c84abdb123200d8ebd65fdf96195a</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:43</sys_updated_on><sys_user_role display_value=\"u_pe_animated_timeline_user\" name=\"u_pe_animated_timeline_user\">102cc0abdb123200d8ebd65fdf9619cc</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>26deac2fdb523200d8ebd65fdf96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline.u_pe_animated_timeline_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_null</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label/&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element/&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Collection\"&gt;collection&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:15:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a82c84abdb123200d8ebd65fdf961962&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;u_pe_animated_timeline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_null&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:15:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>2adeac2fdb523200d8ebd65fdf96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_942c84abdb123200d8ebd65fdf96194b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_pe_animated_timeline</description><name>u_pe_animated_timeline</name><operation display_value=\"create\">create</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>942c84abdb123200d8ebd65fdf96194b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_942c84abdb123200d8ebd65fdf96194b</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:42</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>2adeac2fdb523200d8ebd65fdf96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3878802bdb123200d8ebd65fdf961931</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function AnimatedTimelineController($timeout) {\n  var c = this;\n\n  c.$onInit = function() {\n    activateNext(c.data.items);\n  };\n\n  function activateNext(items) {\n    if (typeof(c.itemActivated) === 'undefined') {\n      c.itemActivated = -1;\n    }\n    c.itemActivated++;\n    $timeout(function() {\n      items[c.itemActivated].completed = true;\n      if (c.itemActivated &lt; items.length) {\n        if (!items[c.itemActivated].end) {\n          activateNext(items);\n        }\n      }\n    }, items[c.itemActivated].delay * 1000);\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-success: #57c446 !default;&amp;#13;\n$pe-brand-error: #ff0000 !default;&amp;#13;\n&amp;#13;\n.timeline dl {&amp;#13;\n  padding: 0;&amp;#13;\n  dd {&amp;#13;\n    .events {&amp;#13;\n      margin-top: 0;&amp;#13;\n      padding-top: 0;&amp;#13;\n      .events-body .events-heading {&amp;#13;\n        margin-bottom: 25px;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .circ {&amp;#13;\n      top: 0px;&amp;#13;\n      border: none;&amp;#13;\n      background-color: #d8d8d8;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  dd {&amp;#13;\n    &amp;amp;.success {&amp;#13;\n      .circ {&amp;#13;\n        background-color: $pe-brand-success;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    &amp;amp;.fail {&amp;#13;\n      .circ {&amp;#13;\n        background-color: $pe-brand-error;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  dd.circ-wrapper .circ {&amp;#13;\n    background-color: $body-bg;&amp;#13;\n    svg {&amp;#13;\n      position: absolute;&amp;#13;\n      fill: #278EFC;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  dd.completed .circ {&amp;#13;\n    background-color: $pe-brand-success;&amp;#13;\n    svg {&amp;#13;\n      display: none;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  dd.completed.error .circ {&amp;#13;\n    background-color: $pe-brand-error;&amp;#13;\n  }&amp;#13;\n  .events {&amp;#13;\n    &amp;amp;:before {&amp;#13;\n      display: none;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  dd {&amp;#13;\n    margin-top: 25px;&amp;#13;\n    .events {&amp;#13;\n      background-color: transparent;&amp;#13;\n      height: 20px;&amp;#13;\n      position: relative;&amp;#13;\n      .events-body .events-heading {&amp;#13;\n        margin: 0;&amp;#13;\n      }&amp;#13;\n      .events-subtitle {&amp;#13;\n        font-size: 14px;&amp;#13;\n        font-weight: 300;&amp;#13;\n        color: #343d47;&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.red {&amp;#13;\n  color: #c0351d;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.timeline:before {&amp;#13;\n  border-right: none;&amp;#13;\n}&amp;#13;\n&amp;#13;\n@media screen and (max-width: 767px) {&amp;#13;\n  .timeline dl dd .events {&amp;#13;\n    padding: 0px 0 0 25px;&amp;#13;\n    margin-right: -5px;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-animated-timeline&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Animated Timeline&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var grTimeline = GlideRecord('u_pe_animated_timeline');\n  grTimeline.orderBy('u_order');\n  grTimeline.query();\n  var items = [];\n  var obj;\n  while (grTimeline.next()) {\n    obj = {};\n    obj.name = grTimeline.u_name.toString();\n    obj.subtitle = grTimeline.u_subtitle.toString();\n    obj.html = grTimeline.u_html_description.toString();\n    obj.delay = parseInt(grTimeline.u_delay.toString());\n    obj.fail = grTimeline.u_fail.toString() === 'true';\n    obj.end = grTimeline.u_end.toString() === 'true';\n    obj.order = parseInt(grTimeline.u_order.toString());\n    items.push(obj);\n  }\n  data.items = items;\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:01:14&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3878802bdb123200d8ebd65fdf961931&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Animated Timeline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3878802bdb123200d8ebd65fdf961931&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 02:30:21&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-include=\"'pe-animated-timeline-svg'\"&gt;&lt;/div&gt;\n&lt;div class=\"timeline\"&gt;\n  &lt;div class=\"row\"&gt;\n    &lt;div class=\"col-md-12\"&gt;\n      &lt;dl&gt;\n        &lt;dd class=\"pos-right clearfix circ-wrapper\" ng-repeat=\"item in ::c.data.items track by $index\" ng-if=\"$index &lt;= c.itemActivated\"\n          ng-class=\"{'completed': item.completed, 'error': item.fail}\"&gt;\n          &lt;div class=\"circ\"&gt;\n            &lt;svg class=\"loading\" viewBox=\"0 0 33 33\" width=\"24px\" height=\"24px\"&gt;\n              &lt;use xlink:href='#loading'&gt;&lt;/use&gt;\n            &lt;/svg&gt;\n          &lt;/div&gt;\n          &lt;div class=\"events\"&gt;\n            &lt;div class=\"events-body\"&gt;\n              &lt;div&gt;\n                &lt;div class=\"events-heading\" ng-if=\"item.html\" ng-bind-html=\"item.html\"&gt;&lt;/div&gt;\n                &lt;div class=\"events-heading\" ng-if=\"!item.html\"&gt;{{::item.name}}&lt;/div&gt;\n                &lt;div class=\"events-subtitle\"&gt;{{::item.subtitle}}&lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/dd&gt;\n      &lt;/dl&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>2edeac2fdb523200d8ebd65fdf96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>PE Animated Timeline</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_name_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_name\" label=\"Name\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_name</element><help/><hint/><label>Name</label><language>en</language><name>u_pe_animated_timeline</name><plural>Names</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:26:51</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>bfaec4ebdb123200d8ebd65fdf9619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Name</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_name_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:26:51</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>2edeac2fdb523200d8ebd65fdf96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Name</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>ua_table_licensing_config_852c84abdb123200d8ebd65fdf96197b</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"ua_table_licensing_config\"><ua_table_licensing_config action=\"INSERT_OR_UPDATE\"><is_fulfillment>false</is_fulfillment><license_condition/><license_model>none</license_model><license_roles/><name>u_pe_animated_timeline</name><op_delete>true</op_delete><op_insert>true</op_insert><op_update>true</op_update><owner_condition/><sys_class_name>ua_table_licensing_config</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>852c84abdb123200d8ebd65fdf96197b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>ua_table_licensing_config_852c84abdb123200d8ebd65fdf96197b</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:44</sys_updated_on></ua_table_licensing_config></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>2edeac2fdb523200d8ebd65fdf961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>u_pe_animated_timeline</target_name>\n<type>Table Subscription Configuration</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_fail</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_fail\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Fail&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_fail&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:28:10&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9eee4cebdb123200d8ebd65fdf9619c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Fail&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_fail&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:28:10&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>62deac2fdb523200d8ebd65fdf96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Fail</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_e82c84abdb123200d8ebd65fdf961957</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_pe_animated_timeline</description><name>u_pe_animated_timeline</name><operation display_value=\"write\">write</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e82c84abdb123200d8ebd65fdf961957</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_e82c84abdb123200d8ebd65fdf961957</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:43</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>62deac2fdb523200d8ebd65fdf96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_db_object_72eb04abdb123200d8ebd65fdf9619f4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_db_object\"><sys_db_object action=\"INSERT_OR_UPDATE\"><access>public</access><actions_access>false</actions_access><alter_access>false</alter_access><client_scripts_access>false</client_scripts_access><configuration_access>false</configuration_access><create_access>false</create_access><create_access_controls>true</create_access_controls><delete_access>false</delete_access><extension_model/><is_extendable>false</is_extendable><label>PE Animated Timeline</label><live_feed_enabled>false</live_feed_enabled><name>u_pe_animated_timeline</name><number_ref/><provider_class/><read_access>true</read_access><super_class/><sys_class_name>sys_db_object</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>72eb04abdb123200d8ebd65fdf9619f4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Animated Timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_db_object_72eb04abdb123200d8ebd65fdf9619f4</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:41</sys_updated_on><update_access>false</update_access><user_role display_value=\"u_pe_animated_timeline_user\" name=\"u_pe_animated_timeline_user\">102cc0abdb123200d8ebd65fdf9619cc</user_role><ws_access>true</ws_access></sys_db_object></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>66deac2fdb523200d8ebd65fdf96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline</target_name>\n<type>Table</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline__en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"\" label=\"PE Animated Timeline\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element/><help/><hint/><label>PE Animated Timeline</label><language>en</language><name>u_pe_animated_timeline</name><plural>PE Animated Timelines</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:44</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b42c84abdb123200d8ebd65fdf961969</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Animated Timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline__en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:44</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>66deac2fdb523200d8ebd65fdf96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>u_pe_animated_timeline_9ea15c6fdb123200d8ebd65fdf9619fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"u_pe_animated_timeline\"&gt;&lt;u_pe_animated_timeline action=\"INSERT_OR_UPDATE\"&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:40:07&lt;/sys_created_on&gt;&lt;sys_id&gt;9ea15c6fdb123200d8ebd65fdf9619fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;1&lt;/sys_mod_count&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 01:49:31&lt;/sys_updated_on&gt;&lt;u_delay/&gt;&lt;u_end&gt;true&lt;/u_end&gt;&lt;u_fail&gt;false&lt;/u_fail&gt;&lt;u_html_description&gt;&lt;![CDATA[&lt;p&gt;Your personalized &lt;span class=\"red\"&gt;Lightspeed Service Portal&lt;/span&gt; is ready&lt;/p&gt;]]&gt;&lt;/u_html_description&gt;&lt;u_name/&gt;&lt;u_order&gt;200&lt;/u_order&gt;&lt;u_subtitle/&gt;&lt;/u_pe_animated_timeline&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>66deac2fdb523200d8ebd65fdf961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name/>\n<type>PE Animated Timeline</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_ng_template_b8e8c42bdb123200d8ebd65fdf961954</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_ng_template\"&gt;&lt;sp_ng_template action=\"INSERT_OR_UPDATE\"&gt;&lt;id&gt;pe-animated-timeline-svg&lt;/id&gt;&lt;sp_widget display_value=\"PE Animated Timeline\"&gt;3878802bdb123200d8ebd65fdf961931&lt;/sp_widget&gt;&lt;sys_class_name&gt;sp_ng_template&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:01:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;b8e8c42bdb123200d8ebd65fdf961954&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-animated-timeline-svg&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_ng_template_b8e8c42bdb123200d8ebd65fdf961954&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:01:43&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol id=\"loading\"&gt;\n    &lt;circle cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(45 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.125s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(90 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.25s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(135 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.375s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(180 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.5s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(225 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.625s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(270 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.75s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(315 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.875s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n    &lt;circle transform=\"rotate(180 16 16)\" cx=\"16\" cy=\"3\" r=\"0\"&gt;\n      &lt;animate attributeName=\"r\" values=\"0;3;0;0\" dur=\"1s\" repeatCount=\"indefinite\" begin=\"0.5s\" keySplines=\"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8\"\n        calcMode=\"spline\" /&gt;\n    &lt;/circle&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;]]&gt;&lt;/template&gt;&lt;/sp_ng_template&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>6adeac2fdb523200d8ebd65fdf96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>pe-animated-timeline-svg</target_name>\n<type>Angular ng-template</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_html_description_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_html_description\" label=\"HTML Description\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_html_description</element><help/><hint/><label>HTML Description</label><language>en</language><name>u_pe_animated_timeline</name><plural>HTML Descriptions</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:27:32</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>edde0cebdb123200d8ebd65fdf96196a</sys_id><sys_mod_count>0</sys_mod_count><sys_name>HTML Description</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_html_description_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:27:32</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>6adeac2fdb523200d8ebd65fdf96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.HTML Description</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_role_102cc0abdb123200d8ebd65fdf9619cc</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_user_role\"><sys_user_role action=\"INSERT_OR_UPDATE\"><assignable_by/><can_delegate>true</can_delegate><description/><elevated_privilege>false</elevated_privilege><grantable>true</grantable><includes_roles/><name>u_pe_animated_timeline_user</name><suffix/><sys_class_name>sys_user_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>102cc0abdb123200d8ebd65fdf9619cc</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_user_role_102cc0abdb123200d8ebd65fdf9619cc</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:41</sys_updated_on></sys_user_role></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>6adeac2fdb523200d8ebd65fdf961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>u_pe_animated_timeline_user</target_name>\n<type>Role</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_97790c2bdb123200d8ebd65fdf961986</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-user-timeline-dependency\">32694c2bdb123200d8ebd65fdf96192d</sp_dependency><sp_widget display_value=\"PE Animated Timeline\">3878802bdb123200d8ebd65fdf961931</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:04:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>97790c2bdb123200d8ebd65fdf961986</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-user-timeline-dependency.PE Animated Timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_97790c2bdb123200d8ebd65fdf961986</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:04:09</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>6edeac2fdb523200d8ebd65fdf961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>pe-user-timeline-dependency.PE Animated Timeline</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_subtitle</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_subtitle\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Subtitle&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_subtitle&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:17:16&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f74c08abdb123200d8ebd65fdf9619c7&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Subtitle&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_subtitle&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:17:16&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>6edeac2fdb523200d8ebd65fdf96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Subtitle</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_ac2c84abdb123200d8ebd65fdf96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac2c84abdb123200d8ebd65fdf96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline.u_pe_animated_timeline_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_pe_animated_timeline\">e02c84abdb123200d8ebd65fdf96195d</sys_security_acl><sys_update_name>sys_security_acl_role_ac2c84abdb123200d8ebd65fdf96195f</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:43</sys_updated_on><sys_user_role display_value=\"u_pe_animated_timeline_user\" name=\"u_pe_animated_timeline_user\">102cc0abdb123200d8ebd65fdf9619cc</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>6edeac2fdb523200d8ebd65fdf96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline.u_pe_animated_timeline_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_module_182c84abdb123200d8ebd65fdf961943</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_module\"><sys_app_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"PE Animated Timeline\">dc2cc0abdb123200d8ebd65fdf9619d2</application><assessment/><content_page/><device_type/><filter/><hint/><homepage/><image/><link_type>LIST</link_type><map_page/><mobile_title>PE Animated Timelines</mobile_title><mobile_view_name>Mobile</mobile_view_name><name>u_pe_animated_timeline</name><order/><override_menu_roles>false</override_menu_roles><query/><report/><roles>u_pe_animated_timeline_user</roles><survey/><survey_overwrite>true</survey_overwrite><sys_class_name>sys_app_module</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>182c84abdb123200d8ebd65fdf961943</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Animated Timelines</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_module_182c84abdb123200d8ebd65fdf961943</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:41</sys_updated_on><timeline_page/><title>PE Animated Timelines</title><uncancelable>false</uncancelable><view_name/><window_name/></sys_app_module></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>a2deac2fdb523200d8ebd65fdf96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timelines</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_subtitle_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_subtitle\" label=\"Subtitle\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_subtitle</element><help/><hint/><label>Subtitle</label><language>en</language><name>u_pe_animated_timeline</name><plural>Subtitles</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:17:16</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>237cc4abdb123200d8ebd65fdf9619c0</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Subtitle</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_subtitle_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:17:16</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>a2deac2fdb523200d8ebd65fdf96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Subtitle</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>u_pe_animated_timeline_7701586fdb123200d8ebd65fdf9619f8</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"u_pe_animated_timeline\"><u_pe_animated_timeline action=\"INSERT_OR_UPDATE\"><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:42</sys_created_on><sys_id>7701586fdb123200d8ebd65fdf9619f8</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:42</sys_updated_on><u_delay>1</u_delay><u_end>false</u_end><u_fail>false</u_fail><u_html_description/><u_name>Reviewing your apps and devices</u_name><u_order>20</u_order><u_subtitle/></u_pe_animated_timeline></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>a2deac2fdb523200d8ebd65fdf961991</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>Reviewing your apps and devices</target_name>\n<type>PE Animated Timeline</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_32694c2bdb123200d8ebd65fdf96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-user-timeline-dependency</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:04:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>32694c2bdb123200d8ebd65fdf96192d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-user-timeline-dependency</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_32694c2bdb123200d8ebd65fdf96192d</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:04:09</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>a6deac2fdb523200d8ebd65fdf96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>pe-user-timeline-dependency</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_fail_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_fail\" label=\"Fail\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_fail</element><help/><hint/><label>Fail</label><language>en</language><name>u_pe_animated_timeline</name><plural>Fails</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:28:10</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>87fe4cebdb123200d8ebd65fdf9619ef</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Fail</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_fail_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:28:10</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>a6deac2fdb523200d8ebd65fdf96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Fail</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_section_7b40582fdb123200d8ebd65fdf9619cb</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_ui_section caption=\"\" section_id=\"7b40582fdb123200d8ebd65fdf9619cb\" sys_domain=\"global\" table=\"u_pe_animated_timeline\" version=\"3\" view=\"\"><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_name</element><position>0</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>7501586fdb123200d8ebd65fdf961966</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_subtitle</element><position>1</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>f501586fdb123200d8ebd65fdf961966</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_delay</element><position>2</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>7901586fdb123200d8ebd65fdf961966</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.split</element><position>3</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>f901586fdb123200d8ebd65fdf961966</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type>.split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_order</element><position>4</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>7d01586fdb123200d8ebd65fdf961966</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>.end_split</element><position>5</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>fd01586fdb123200d8ebd65fdf961966</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type>.end_split</type></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_html_description</element><position>6</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>7101586fdb123200d8ebd65fdf961967</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_fail</element><position>7</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>f101586fdb123200d8ebd65fdf961967</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_element action=\"INSERT_OR_UPDATE\"><element>u_end</element><position>8</position><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:37:05</sys_created_on><sys_id>7501586fdb123200d8ebd65fdf961967</sys_id><sys_mod_count>0</sys_mod_count><sys_ui_formatter/><sys_ui_section caption=\"NULL\" display_value=\"\" name=\"u_pe_animated_timeline\" sys_domain=\"global\" view=\"Default view\">7b40582fdb123200d8ebd65fdf9619cb</sys_ui_section><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:37:05</sys_updated_on><sys_user/><type/></sys_ui_element><sys_ui_section action=\"INSERT_OR_UPDATE\"><caption/><header>false</header><name>u_pe_animated_timeline</name><roles/><sys_class_name>sys_ui_section</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:33:57</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>7b40582fdb123200d8ebd65fdf9619cb</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_section_7b40582fdb123200d8ebd65fdf9619cb</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:33:57</sys_updated_on><sys_user/><title>true</title><view display_value=\"Default view\" name=\"NULL\">Default view</view><view_name/></sys_ui_section></sys_ui_section></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>a6deac2fdb523200d8ebd65fdf961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline</target_name>\n<type>Form Layout</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_cfe9006bdb123200d8ebd65fdf9619e6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"bootflat.min.css\">43c9006bdb123200d8ebd65fdf96192f</sp_css_include><sp_dependency display_value=\"pe-user-timeline-dependency\">32694c2bdb123200d8ebd65fdf96192d</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:06:03</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>cfe9006bdb123200d8ebd65fdf9619e6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat.min.css.pe-user-timeline-dependency</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_cfe9006bdb123200d8ebd65fdf9619e6</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:06:03</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>aadeac2fdb523200d8ebd65fdf961989</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>bootflat.min.css.pe-user-timeline-dependency</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_order</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_order\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Order&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_order&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:26:13&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;517ec4ebdb123200d8ebd65fdf9619e4&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Order&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_order&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:26:13&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>aadeac2fdb523200d8ebd65fdf96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Order</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_ac2c84abdb123200d8ebd65fdf961954</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac2c84abdb123200d8ebd65fdf961954</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline.u_pe_animated_timeline_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_pe_animated_timeline\">e02c84abdb123200d8ebd65fdf961952</sys_security_acl><sys_update_name>sys_security_acl_role_ac2c84abdb123200d8ebd65fdf961954</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:42</sys_updated_on><sys_user_role display_value=\"u_pe_animated_timeline_user\" name=\"u_pe_animated_timeline_user\">102cc0abdb123200d8ebd65fdf9619cc</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>aadeac2fdb523200d8ebd65fdf96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline.u_pe_animated_timeline_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_end</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_end\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;End&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_end&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"\"&gt;boolean&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:29:04&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5e1f8cebdb123200d8ebd65fdf9619f6&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;End&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_end&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:29:04&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>aedeac2fdb523200d8ebd65fdf96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.End</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_e02c84abdb123200d8ebd65fdf96195d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_pe_animated_timeline</description><name>u_pe_animated_timeline</name><operation display_value=\"delete\">delete</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:43</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e02c84abdb123200d8ebd65fdf96195d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_e02c84abdb123200d8ebd65fdf96195d</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:43</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>aedeac2fdb523200d8ebd65fdf96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_43c9006bdb123200d8ebd65fdf96192f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>bootflat.min.css</name><source>local</source><sp_css display_value=\"bootflat.min.css\">6cb9006bdb123200d8ebd65fdf96192a</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:05:30</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>43c9006bdb123200d8ebd65fdf96192f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat.min.css</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_43c9006bdb123200d8ebd65fdf96192f</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:05:30</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>e2deac2fdb523200d8ebd65fdf96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>bootflat.min.css</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_end_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_end\" label=\"End\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_end</element><help/><hint/><label>End</label><language>en</language><name>u_pe_animated_timeline</name><plural>Ends</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:29:05</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>543f002fdb123200d8ebd65fdf96196b</sys_id><sys_mod_count>0</sys_mod_count><sys_name>End</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_end_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:29:05</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>e2deac2fdb523200d8ebd65fdf96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.End</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_module_d82c84abdb123200d8ebd65fdf961948</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_ui_module\"><sys_ui_module action=\"INSERT_OR_UPDATE\"><active>true</active><application display_value=\"PE Animated Timeline\">542c84abdb123200d8ebd65fdf961946</application><filter/><name>PE Animated Timelines</name><order/><path/><path_relative_to_root>false</path_relative_to_root><roles>u_pe_animated_timeline_user</roles><sys_class_name>sys_ui_module</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>d82c84abdb123200d8ebd65fdf961948</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Animated Timelines</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ui_module_d82c84abdb123200d8ebd65fdf961948</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:42</sys_updated_on><table>u_pe_animated_timeline</table><uncancelable>false</uncancelable><view_name/></sys_ui_module></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>e2deac2fdb523200d8ebd65fdf961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timelines</target_name>\n<type>Module</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_name</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_name\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Name&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;true&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_name&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"String\"&gt;string&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;100&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:26:51&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;f79e48ebdb123200d8ebd65fdf96194c&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Name&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_name&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:26:51&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>e6deac2fdb523200d8ebd65fdf96198c</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Name</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_role_ac2c84abdb123200d8ebd65fdf96194e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl_role\"><sys_security_acl_role action=\"INSERT_OR_UPDATE\"><sys_class_name>sys_security_acl_role</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>ac2c84abdb123200d8ebd65fdf96194e</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline.u_pe_animated_timeline_user</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_security_acl display_value=\"u_pe_animated_timeline\">942c84abdb123200d8ebd65fdf96194b</sys_security_acl><sys_update_name>sys_security_acl_role_ac2c84abdb123200d8ebd65fdf96194e</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:42</sys_updated_on><sys_user_role display_value=\"u_pe_animated_timeline_user\" name=\"u_pe_animated_timeline_user\">102cc0abdb123200d8ebd65fdf9619cc</sys_user_role><transaction_id/></sys_security_acl_role></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>e6deac2fdb523200d8ebd65fdf96198f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline.u_pe_animated_timeline_user</target_name>\n<type>Access Roles</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>u_pe_animated_timeline_e5911c6fdb123200d8ebd65fdf961915</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"u_pe_animated_timeline\"><u_pe_animated_timeline action=\"INSERT_OR_UPDATE\"><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:39:50</sys_created_on><sys_id>e5911c6fdb123200d8ebd65fdf961915</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:39:50</sys_updated_on><u_delay>1</u_delay><u_end>false</u_end><u_fail>false</u_fail><u_html_description/><u_name>Analyzing your usage behavior</u_name><u_order>50</u_order><u_subtitle/></u_pe_animated_timeline></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>eadea46fdb523200d8ebd65fdf961995</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>Analyzing your usage behavior</target_name>\n<type>PE Animated Timeline</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_dictionary_u_pe_animated_timeline_u_delay</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update&gt;&lt;sys_dictionary action=\"INSERT_OR_UPDATE\" element=\"u_delay\" table=\"u_pe_animated_timeline\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;array&gt;false&lt;/array&gt;&lt;array_denormalized&gt;false&lt;/array_denormalized&gt;&lt;attributes/&gt;&lt;audit&gt;false&lt;/audit&gt;&lt;calculation&gt;&lt;![CDATA[(function calculatedFieldValue(current) {\n\n\t// Add your code here\n\treturn '';  // return the calculated value\n\n})(current);]]&gt;&lt;/calculation&gt;&lt;choice/&gt;&lt;choice_field/&gt;&lt;choice_table/&gt;&lt;column_label&gt;Delay&lt;/column_label&gt;&lt;comments/&gt;&lt;create_roles/&gt;&lt;default_value/&gt;&lt;defaultsort/&gt;&lt;delete_roles/&gt;&lt;dependent/&gt;&lt;dependent_on_field/&gt;&lt;display&gt;false&lt;/display&gt;&lt;dynamic_creation&gt;false&lt;/dynamic_creation&gt;&lt;dynamic_creation_script/&gt;&lt;dynamic_default_value/&gt;&lt;dynamic_ref_qual/&gt;&lt;element&gt;u_delay&lt;/element&gt;&lt;element_reference&gt;false&lt;/element_reference&gt;&lt;foreign_database/&gt;&lt;internal_type display_value=\"Integer\"&gt;integer&lt;/internal_type&gt;&lt;mandatory&gt;false&lt;/mandatory&gt;&lt;max_length&gt;40&lt;/max_length&gt;&lt;name&gt;u_pe_animated_timeline&lt;/name&gt;&lt;next_element/&gt;&lt;primary&gt;false&lt;/primary&gt;&lt;read_only&gt;false&lt;/read_only&gt;&lt;read_roles/&gt;&lt;reference/&gt;&lt;reference_cascade_rule/&gt;&lt;reference_floats&gt;false&lt;/reference_floats&gt;&lt;reference_key/&gt;&lt;reference_qual/&gt;&lt;reference_qual_condition/&gt;&lt;reference_type/&gt;&lt;sizeclass/&gt;&lt;spell_check&gt;false&lt;/spell_check&gt;&lt;staged&gt;false&lt;/staged&gt;&lt;sys_class_name&gt;sys_dictionary&lt;/sys_class_name&gt;&lt;sys_created_by&gt;steven.gregory&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-29 00:29:43&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;0b4f802fdb123200d8ebd65fdf961998&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;Delay&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_dictionary_u_pe_animated_timeline_u_delay&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-29 00:29:43&lt;/sys_updated_on&gt;&lt;table_reference&gt;false&lt;/table_reference&gt;&lt;text_index&gt;false&lt;/text_index&gt;&lt;unique&gt;false&lt;/unique&gt;&lt;use_dependent_field&gt;false&lt;/use_dependent_field&gt;&lt;use_dynamic_default&gt;false&lt;/use_dynamic_default&gt;&lt;use_reference_qualifier&gt;simple&lt;/use_reference_qualifier&gt;&lt;virtual&gt;false&lt;/virtual&gt;&lt;widget/&gt;&lt;write_roles/&gt;&lt;xml_view&gt;false&lt;/xml_view&gt;&lt;/sys_dictionary&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>eadeac2fdb523200d8ebd65fdf96198b</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Delay</target_name>\n<type>Dictionary</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_security_acl_e02c84abdb123200d8ebd65fdf961952</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_security_acl\"><sys_security_acl action=\"INSERT_OR_UPDATE\"><active>true</active><admin_overrides>true</admin_overrides><advanced>false</advanced><condition/><description>Default access control on u_pe_animated_timeline</description><name>u_pe_animated_timeline</name><operation display_value=\"read\">read</operation><script/><sys_class_name>sys_security_acl</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:42</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>e02c84abdb123200d8ebd65fdf961952</sys_id><sys_mod_count>0</sys_mod_count><sys_name>u_pe_animated_timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_security_acl_e02c84abdb123200d8ebd65fdf961952</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:42</sys_updated_on><type display_value=\"record\">record</type></sys_security_acl></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>eadeac2fdb523200d8ebd65fdf96198e</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>u_pe_animated_timeline</target_name>\n<type>Access Control</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_app_application_dc2cc0abdb123200d8ebd65fdf9619d2</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_app_application\"><sys_app_application action=\"INSERT_OR_UPDATE\"><active>true</active><category display_value=\"Custom Applications\">e0355b31ef303000a61d5a3615c0fb78</category><description/><device_type>browser</device_type><hint/><name>PE Animated Timeline</name><order>100</order><roles>u_pe_animated_timeline_user</roles><sys_class_name>sys_app_application</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:15:41</sys_created_on><sys_customer_update>true</sys_customer_update><sys_domain>global</sys_domain><sys_domain_path/><sys_id>dc2cc0abdb123200d8ebd65fdf9619d2</sys_id><sys_mod_count>0</sys_mod_count><sys_name>PE Animated Timeline</sys_name><sys_overrides/><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_app_application_dc2cc0abdb123200d8ebd65fdf9619d2</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:15:41</sys_updated_on><title>PE Animated Timeline</title><view_name/></sys_app_application></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>eedeac2fdb523200d8ebd65fdf96198a</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>PE Animated Timeline</target_name>\n<type>Application Menu</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_documentation_u_pe_animated_timeline_u_order_en</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update><sys_documentation element=\"u_order\" label=\"Order\" language=\"en\" table=\"u_pe_animated_timeline\"><sys_documentation action=\"INSERT_OR_UPDATE\"><element>u_order</element><help/><hint/><label>Order</label><language>en</language><name>u_pe_animated_timeline</name><plural>Orders</plural><sys_class_name>sys_documentation</sys_class_name><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:26:13</sys_created_on><sys_customer_update>false</sys_customer_update><sys_id>668e48abdb123200d8ebd65fdf96191c</sys_id><sys_mod_count>0</sys_mod_count><sys_name>Order</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_documentation_u_pe_animated_timeline_u_order_en</sys_update_name><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:26:13</sys_updated_on><url/><url_target/></sys_documentation></sys_documentation></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>eedeac2fdb523200d8ebd65fdf96198d</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table>u_pe_animated_timeline</table>\n<target_name>PE Animated Timeline.Order</target_name>\n<type>Field Label</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>u_pe_animated_timeline_39711c6fdb123200d8ebd65fdf961910</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"u_pe_animated_timeline\"><u_pe_animated_timeline action=\"INSERT_OR_UPDATE\"><sys_created_by>steven.gregory</sys_created_by><sys_created_on>2017-04-29 00:39:21</sys_created_on><sys_id>39711c6fdb123200d8ebd65fdf961910</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>steven.gregory</sys_updated_by><sys_updated_on>2017-04-29 00:39:21</sys_updated_on><u_delay>1</u_delay><u_end>false</u_end><u_fail>false</u_fail><u_html_description/><u_name>Learning from integrated systems</u_name><u_order>150</u_order><u_subtitle>(Travel, Collaboration, etc)</u_subtitle></u_pe_animated_timeline></record_update>]]></payload>\n<remote_update_set display_value=\"PE Animated Timeline\">e6deac2fdb523200d8ebd65fdf961989</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-04-29 02:47:24</sys_created_on>\n<sys_id>eedeac2fdb523200d8ebd65fdf961990</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-04-29 02:47:24</sys_updated_on>\n<table/>\n<target_name>Learning from integrated systems</target_name>\n<type>PE Animated Timeline</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "timeline/pe-animated-timeline/widget/pe-animated-timeline.u-body-html-template.html",
    "content": "<div ng-include=\"'pe-animated-timeline-svg'\"></div>\n<div class=\"timeline\">\n  <div class=\"row\">\n    <div class=\"col-md-12\">\n      <dl>\n        <dd class=\"pos-right clearfix circ-wrapper\" ng-repeat=\"item in ::c.data.items track by $index\" ng-if=\"$index <= c.itemActivated\"\n          ng-class=\"{'completed': item.completed, 'error': item.fail}\">\n          <div class=\"circ\">\n            <svg class=\"loading\" viewBox=\"0 0 33 33\" width=\"24px\" height=\"24px\">\n              <use xlink:href='#loading'></use>\n            </svg>\n          </div>\n          <div class=\"events\">\n            <div class=\"events-body\">\n              <div>\n                <div class=\"events-heading\" ng-if=\"item.html\" ng-bind-html=\"item.html\"></div>\n                <div class=\"events-heading\" ng-if=\"!item.html\">{{::item.name}}</div>\n                <div class=\"events-subtitle\">{{::item.subtitle}}</div>\n              </div>\n            </div>\n          </div>\n        </dd>\n      </dl>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "timeline/pe-animated-timeline/widget/pe-animated-timeline.u-client-script.js",
    "content": "function AnimatedTimelineController($timeout) {\n  var c = this;\n\n  c.$onInit = function() {\n    activateNext(c.data.items);\n  };\n\n  function activateNext(items) {\n    if (typeof(c.itemActivated) === 'undefined') {\n      c.itemActivated = -1;\n    }\n    c.itemActivated++;\n    $timeout(function() {\n      items[c.itemActivated].completed = true;\n      if (c.itemActivated < items.length) {\n        if (!items[c.itemActivated].end) {\n          activateNext(items);\n        }\n      }\n    }, items[c.itemActivated].delay * 1000);\n  }\n}"
  },
  {
    "path": "timeline/pe-animated-timeline/widget/pe-animated-timeline.u-css.scss",
    "content": "$pe-brand-success: #57c446 !default;\r\n$pe-brand-error: #ff0000 !default;\r\n\r\n.timeline dl {\r\n  padding: 0;\r\n  dd {\r\n    .events {\r\n      margin-top: 0;\r\n      padding-top: 0;\r\n      .events-body .events-heading {\r\n        margin-bottom: 25px;\r\n      }\r\n    }\r\n    .circ {\r\n      top: 0px;\r\n      border: none;\r\n      background-color: #d8d8d8;\r\n    }\r\n  }\r\n  dd {\r\n    &.success {\r\n      .circ {\r\n        background-color: $pe-brand-success;\r\n      }\r\n    }\r\n    &.fail {\r\n      .circ {\r\n        background-color: $pe-brand-error;\r\n      }\r\n    }\r\n  }\r\n  dd.circ-wrapper .circ {\r\n    background-color: $body-bg;\r\n    svg {\r\n      position: absolute;\r\n      fill: #278EFC;\r\n    }\r\n  }\r\n  dd.completed .circ {\r\n    background-color: $pe-brand-success;\r\n    svg {\r\n      display: none;\r\n    }\r\n  }\r\n  dd.completed.error .circ {\r\n    background-color: $pe-brand-error;\r\n  }\r\n  .events {\r\n    &:before {\r\n      display: none;\r\n    }\r\n  }\r\n  dd {\r\n    margin-top: 25px;\r\n    .events {\r\n      background-color: transparent;\r\n      height: 20px;\r\n      position: relative;\r\n      .events-body .events-heading {\r\n        margin: 0;\r\n      }\r\n      .events-subtitle {\r\n        font-size: 14px;\r\n        font-weight: 300;\r\n        color: #343d47;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.red {\r\n  color: #c0351d;\r\n}\r\n\r\n.timeline:before {\r\n  border-right: none;\r\n}\r\n\r\n@media screen and (max-width: 767px) {\r\n  .timeline dl dd .events {\r\n    padding: 0px 0 0 25px;\r\n    margin-right: -5px;\r\n  }\r\n}"
  },
  {
    "path": "timeline/pe-animated-timeline/widget/pe-animated-timeline.u-server-script.js",
    "content": "(function() {\n  var grTimeline = GlideRecord('u_pe_animated_timeline');\n  grTimeline.orderBy('u_order');\n  grTimeline.query();\n  var items = [];\n  var obj;\n  while (grTimeline.next()) {\n    obj = {};\n    obj.name = grTimeline.u_name.toString();\n    obj.subtitle = grTimeline.u_subtitle.toString();\n    obj.html = grTimeline.u_html_description.toString();\n    obj.delay = parseInt(grTimeline.u_delay.toString());\n    obj.fail = grTimeline.u_fail.toString() === 'true';\n    obj.end = grTimeline.u_end.toString() === 'true';\n    obj.order = parseInt(grTimeline.u_order.toString());\n    items.push(obj);\n  }\n  data.items = items;\n})();"
  },
  {
    "path": "timeline/pe-csm-timeline/Readme.md",
    "content": "# Timeline - Variant Used In CSM Experience\n\n## Description\n\nThis widget can be used to create a timeline with user avatar, name, title, etc.\n\n## Screenshot\n![alt text](../../images/pe-csm-timeline.png \"PE CSM Timeline\")\n\n## Additional Information/Notes\nThis widget makes use of [pe-people-info](https://github.com/platform-experience/serviceportal-widget-library/tree/master/people-card/pe-people-info) widget to display user avatar, name and title, this widget is already part of the update set.\n\n---\n## Installation\nDownload and install update set **[pe-csm-timeline.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/timeline/pe-csm-timeline/pe-csm-timeline.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `User SysID` | Set SysID | 9ec35b8713453a007e94fc5ed144b09a |\n| `Show Only Picture` | Display picture only | false |\n| `Show Job Title` | Display the job title | true |\n| `Show Call and Chat` | Show the call and chat | false |\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "timeline/pe-csm-timeline/pe-csm-timeline.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-06 20:20:34\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE CSM Timeline</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>d3da884c139336006749bccf3244b0a5</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>005cc88c139336006749bccf3244b0bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a22a978813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"pe-people-info-launch-connect\">c3f9578813dd7a007e94fc5ed144b0c7</sp_dependency><sp_js_include display_value=\"pe-people-info-launch-connect\">7a1a978813dd7a007e94fc5ed144b0fd</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:22</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a22a978813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>0</sys_mod_count><sys_name>launch-connect.launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a22a978813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-28 01:14:22</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>105cc88c139336006749bccf3244b0be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>launch-connect.launch-connect</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_9ec35b8713453a007e94fc5ed144b09a</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><average_daily_fte/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department/><edu_status>faculty</edu_status><email>suzy@example.com</email><employee_number/><failed_attempts/><first_name>Suzy</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Ham</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Suzy Ham</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone>(858) 876-6870</phone><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:13:01</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>9ec35b8713453a007e94fc5ed144b09a</sys_id><sys_mod_count>1</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:14:04</sys_updated_on><time_format/><time_zone/><title>Developer</title><u_demo_persona>false</u_demo_persona><user_name>suzy.ham</user_name><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color>#843d29</average_image_color><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height>128</image_height><image_width>128</image_width><size_bytes>4896</size_bytes><size_compressed>4603</size_compressed><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>eb16d7c713453a007e94fc5ed144b055</sys_id><sys_mod_count>2</sys_mod_count><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-02-24 22:22:45</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>9ec35b8713453a007e94fc5ed144b09a</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2f16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>af16d7c713453a007e94fc5ed144b055</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2392</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"eb16d7c713453a007e94fc5ed144b055\">eb16d7c713453a007e94fc5ed144b055</sys_attachment><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-24 22:22:45</sys_created_on><sys_id>2316d7c713453a007e94fc5ed144b056</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>145cc88c139336006749bccf3244b0c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>Suzy Ham</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-people-info-launch-connect</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:14:21</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>7a1a978813dd7a007e94fc5ed144b0fd</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-people-info-launch-connect-ui-script\">9ff4d7c413dd7a007e94fc5ed144b0e7</sys_ui_script><sys_update_name>sp_js_include_7a1a978813dd7a007e94fc5ed144b0fd</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:57</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>185cc88c139336006749bccf3244b0bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_1c1cedd013d23e00de8cb5b12244b06d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>bootflat</name><source>local</source><sp_css display_value=\"bootflat\">da0cadd013d23e00de8cb5b12244b0d4</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 04:54:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1c1cedd013d23e00de8cb5b12244b06d</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_1c1cedd013d23e00de8cb5b12244b06d</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 04:54:36</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>1c5cc88c139336006749bccf3244b0be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>bootflat</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_css_include_b41cedd013d23e00de8cb5b12244b0b3</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_css_include\"><m2m_sp_dependency_css_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_css_include display_value=\"bootflat\">800c6dd013d23e00de8cb5b12244b09f</sp_css_include><sp_dependency display_value=\"bootflat\">53ebe9d013d23e00de8cb5b12244b059</sp_dependency><sys_class_name>m2m_sp_dependency_css_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 04:54:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>b41cedd013d23e00de8cb5b12244b0b3</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat.bootflat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_css_include_b41cedd013d23e00de8cb5b12244b0b3</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 04:54:39</sys_updated_on></m2m_sp_dependency_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>485cc88c139336006749bccf3244b0bd</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>bootflat.bootflat</target_name>\n<type>Dependency CSS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-people-info-launch-connect-ui-script&lt;/name&gt;&lt;script&gt;&lt;![CDATA[function openChat(elem) {\n\n\n    console.log('***** Opening Chat w/ ' + elem.id);\n    var requestBody = '';\n    var client = new XMLHttpRequest();\n\n\n    var url = \"/api/snc/pe_people_info_launch_connect/launch?user_id=\" + elem.id;\n    client.open(\"get\", url, false);\n    client.setRequestHeader('Accept', 'application/json');\n    client.setRequestHeader('Content-Type', 'application/json');\n    client.setRequestHeader('X-UserToken', window.g_ck);\n    client.send(requestBody);\n    if (client.status === 200) {\n        var liveProfileID = JSON.parse(client.response).result;\n        console.log('**** Channel ID received ' + liveProfileID.profile_id);\n        url = '/$c.do#?user=' + liveProfileID.profile_id;\n        window.open(url, \"_blank\");\n    } else {\n        console.log('**** No Channel ID received.');\n        url = '/$c.do';\n        window.open(url, \"_blank\");\n    }\n}\n]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:55:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_id&gt;&lt;sys_mod_count&gt;3&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch-connect-ui-script&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_9ff4d7c413dd7a007e94fc5ed144b0e7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 19:10:59&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>505cc88c139336006749bccf3244b0c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect-ui-script</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>pe-people-info-launch-connect</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 01:13:54</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c3f9578813dd7a007e94fc5ed144b0c7</sys_id><sys_mod_count>3</sys_mod_count><sys_name>pe-people-info-launch-connect</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_c3f9578813dd7a007e94fc5ed144b0c7</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:47:41</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>545cc88c139336006749bccf3244b0bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_da0cadd013d23e00de8cb5b12244b0d4</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css\"><sp_css action=\"INSERT_OR_UPDATE\"><css>/*&#13;\n * bootflat 2.0.4&#13;\n *&#13;\n * Description: BOOTFLAT is an open source Flat UI KIT based on Bootstrap 3.2.0 CSS framework. It provides a faster, easier and less repetitive way for web developers to create elegant web apps.&#13;\n *&#13;\n * Homepage: http://bootflat.github.com/&#13;\n *&#13;\n * By @Flathemes &lt;info@flathemes.com&gt;&#13;\n *&#13;\n * Last modify time: 2014-09-03&#13;\n *&#13;\n * Licensed under the MIT license. Please see LICENSE for more information.&#13;\n *&#13;\n * Copyright 2013 FLATHEMES.&#13;\n *&#13;\n */&#13;\n&#13;\nbody{font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;color:#434a54;background-color:#fff}a{color:#3bafda;text-decoration:none}a:focus,a:hover{color:#4fc1e9;text-decoration:none}a:focus{outline:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#e7e9ec}h1,h2,h3{margin-top:30px;margin-bottom:15px}h4,h5,h6{margin-top:15px;margin-bottom:15px}h6{font-weight:400}.h1,h1{font-size:51px}.h2,h2{font-size:43px}.h3,h3{font-size:30px}.h4,h4{font-size:19px}.h5,h5{font-size:18px}.h6,h6{font-size:14px}blockquote{border-left:3px solid #ccd1d9}.img-rounded{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.img-comment{margin:24px 0;font-size:15px;font-style:italic;line-height:1.2}.btn{color:#fff}.btn,.btn.disabled,.btn[disabled]{background-color:#aab2bd;border-color:#aab2bd}.btn.active,.btn:active,.btn:focus,.btn:hover{color:#fff;background-color:#ccd1d9;border-color:#ccd1d9;outline:0!important}.btn.active,.btn:active{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);box-shadow:inset 0 1px 2px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled]{filter:alpha(opacity=45);opacity:.45}.btn-link,.btn-link.active,.btn-link.disabled,.btn-link:active,.btn-link:focus,.btn-link:hover,.btn-link[disabled]{color:#3bafda;background-color:transparent;&#13;\n border-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-default{color:#434a54;border-color:#aab2bd!important}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover{background-color:#ccd1d9;border-color:#ccd1d9}.btn-default,.btn-default.disabled,.btn-default[disabled]{background-color:#fff}.open .dropdown-toggle.btn-default{background-color:#ccd1d9;border-color:#ccd1d9}.btn-primary,.btn-primary.active,.btn-primary.disabled,.btn-primary:active,.btn-primary[disabled]{background-color:#3bafda;border-color:#3bafda}.btn-primary:focus,.btn-primary:hover,.open .dropdown-toggle.btn-primary{background-color:#4fc1e9;border-color:#4fc1e9}.btn-info,.btn-info.active,.btn-info.disabled,.btn-info:active,.btn-info[disabled]{background-color:#37bc9b;border-color:#37bc9b}.btn-info:focus,.btn-info:hover,.open .dropdown-toggle.btn-info{background-color:#48cfad;border-color:#48cfad}.btn-success,.btn-success.active,.btn-success.disabled,.btn-success:active,.btn-success[disabled]{background-color:#8cc152;border-color:#8cc152}.btn-success:focus,.btn-success:hover,.open .dropdown-toggle.btn-success{background-color:#a0d468;border-color:#a0d468}.btn-warning,.btn-warning.active,.btn-warning.disabled,.btn-warning:active,.btn-warning[disabled]{background-color:#f6bb42;border-color:#f6bb42}.btn-warning:focus,.btn-warning:hover,.open .dropdown-toggle.btn-warning{background-color:#ffce54;border-color:#ffce54}.btn-danger,.btn-danger .open .dropdown-toggle.btn,.btn-danger.active,.btn-danger.disabled,.btn-danger:active,.btn-danger[disabled]{background-color:#da4453;border-color:#da4453}.btn-danger:focus,.btn-danger:hover,.open .dropdown-toggle.btn-danger{background-color:#ed5565;border-color:#ed5565}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.125);box-shadow:inset 0 1px 2px rgba(0,0,0,.125)}.btn-group .btn{border-left-color:#96a0ad}.btn-group .btn-default.active,.btn-group .btn-default:active,.btn-group .btn-default:focus,.btn-group.open .btn-default.dropdown-toggle{color:#fff}.btn-group .btn-primary,.btn-group .btn-primary.active,.btn-group .btn-primary:active,.btn-group .btn-primary:focus{border-left-color:#269ecb}.btn-group .btn-success,.btn-group .btn-success.active,.btn-group .btn-success:active,.btn-group .btn-success:focus{border-left-color:#7ab03f}.btn-group .btn-warning,.btn-group .btn-warning.active,.btn-group .btn-warning:active,.btn-group .btn-warning:focus{border-left-color:#efa50b}.btn-group .btn-danger,.btn-group .btn-danger.active,.btn-group .btn-danger:active,.btn-group .btn-danger:focus{border-left-color:#d1293a}.btn-group .btn-info,.btn-group .btn-info.active,.btn-group .btn-info:active,.btn-group .btn-info:focus{border-left-color:#2fa084}.btn-group .btn-danger:first-child,.btn-group .btn-info:first-child,.btn-group .btn-primary:first-child,.btn-group .btn-success:first-child,.btn-group .btn-warning:first-child,.btn-group .btn:first-child{border-left-color:transparent}.btn-group-vertical .btn,.btn-group-vertical .btn-group .btn-primary{border-top-color:#96a0ad!important}.btn-group-vertical .btn-group .btn-primary,.btn-group-vertical .btn-primary,.btn-group-vertical .btn-primary.active,.btn-group-vertical .btn-primary:active,.btn-group-vertical .btn-primary:focus{border-top-color:#269ecb!important}.btn-group-vertical .btn-group .btn-success,.btn-group-vertical .btn-success,.btn-group-vertical .btn-success.active,.btn-group-vertical .btn-success:active,.btn-group-vertical .btn-success:focus{border-top-color:#7ab03f!important}.btn-group-vertical .btn-group .btn-warning,.btn-group-vertical .btn-warning,.btn-group-vertical .btn-warning.active,.btn-group-vertical .btn-warning:active,.btn-group-vertical .btn-warning:focus{border-top-color:#efa50b!important}.btn-group-vertical .btn-danger,.btn-group-vertical .btn-danger.active,.btn-group-vertical .btn-danger:active,.btn-group-vertical .btn-danger:focus,.btn-group-vertical .btn-group .btn-danger{border-top-color:#d1293a!important}.btn-group-vertical .btn-group .btn-info,.btn-group-vertical .btn-info,.btn-group-vertical .btn-info.active,.btn-group-vertical .btn-info:active,.btn-group-vertical .btn-info:focus{border-top-color:#2fa084!important}.btn-group-vertical .btn-danger:first-child,.btn-group-vertical .btn-info:first-child,.btn-group-vertical .btn-primary:first-child,.btn-group-vertical .btn-success:first-child,.btn-group-vertical .btn-warning:first-child,.btn-group-vertical .btn:not(.btn-default):first-child{border-top:none}.badge,.label{background-color:#aab2bd}.badge-default,.label-default{color:#434a54;background-color:#fff;&#13;\n border:1px solid #aab2bd}.badge-primary,.label-primary{background-color:#3bafda;border-color:#3bafda}.badge-success,.label-success{background-color:#8cc152;border-color:#8cc152}.badge-danger,.label-danger{background-color:#da4453;border-color:#da4453}.badge-warning,.label-warning{background-color:#f6bb42;border-color:#f6bb42}.badge-info,.label-info{background-color:#37bc9b;border-color:#37bc9b}.tooltip-inner{color:#fff;background-color:#434a54}.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{border-top-color:#434a54}.tooltip.right .tooltip-arrow{border-right-color:#434a54}.tooltip.left .tooltip-arrow{border-left-color:#434a54}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#434a54}.popover{color:#fff;&#13;\n background-color:#434a54;border-color:#434a54}.popover-title{padding-bottom:0;font-weight:700;color:#aab2bd;background-color:transparent;border-bottom:none}.popover.top .arrow,.popover.top .arrow:after{border-top-color:#434a54}.popover.right .arrow,.popover.right .arrow:after{border-right-color:#434a54}.popover.bottom .arrow,.popover.bottom .arrow:after{border-bottom-color:#434a54}.popover.left .arrow,.popover.left .arrow:after{border-left-color:#434a54}.progress{background-color:#e6e9ed;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress-bar{background-color:#3bafda;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#8cc152}.progress-bar-info{background-color:#37bc9b}.progress-bar-warning{background-color:#f6bb42}.progress-bar-danger{background-color:#da4453}.breadcrumb{color:#434a54;background-color:#e6e9ed}.breadcrumb&gt;.active{color:#434a54}.breadcrumb a{color:#3bafda}.breadcrumb-arrow{height:36px;&#13;\n padding:0;line-height:36px;list-style:none;background-color:#e6e9ed}.breadcrumb-arrow li:first-child a{border-radius:4px 0 0 4px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px}.breadcrumb-arrow li,.breadcrumb-arrow li a,.breadcrumb-arrow li span{display:inline-block;vertical-align:top}.breadcrumb-arrow li:not(:first-child){margin-left:-5px}.breadcrumb-arrow li+li:before{padding:0;content:\"\"}.breadcrumb-arrow li span{padding:0 10px}.breadcrumb-arrow li a,.breadcrumb-arrow li:not(:first-child) span{height:36px;&#13;\n padding:0 10px 0 25px;line-height:36px}.breadcrumb-arrow li:first-child a{padding:0 10px}.breadcrumb-arrow li a{position:relative;color:#fff;text-decoration:none;background-color:#3bafda;border:1px solid #3bafda}.breadcrumb-arrow li:first-child a{padding-left:10px}.breadcrumb-arrow li a:after,.breadcrumb-arrow li a:before{position:absolute;top:-1px;width:0;height:0;content:'';border-top:18px solid transparent;border-bottom:18px solid transparent}.breadcrumb-arrow li a:before{right:-10px;z-index:3;border-left-color:#3bafda;border-left-style:solid;border-left-width:11px}.breadcrumb-arrow li a:after{right:-11px;z-index:2;border-left:11px solid #2494be}.breadcrumb-arrow li a:focus,.breadcrumb-arrow li a:hover{background-color:#4fc1e9;border:1px solid #4fc1e9}.breadcrumb-arrow li a:focus:before,.breadcrumb-arrow li a:hover:before{border-left-color:#4fc1e9}.breadcrumb-arrow li a:active{background-color:#2494be;border:1px solid #2494be}.breadcrumb-arrow li a:active:after,.breadcrumb-arrow li a:active:before{border-left-color:#2494be}.breadcrumb-arrow li span{color:#434a54}.pagination&gt;li&gt;a,.pagination&gt;li&gt;span{color:#434a54;background-color:#fff;border-color:#ccd1d9}.pagination&gt;li&gt;a:focus,.pagination&gt;li&gt;a:hover,.pagination&gt;li&gt;span:focus,.pagination&gt;li&gt;span:hover{color:#fff;background-color:#ccd1d9;border-color:#ccd1d9}.pagination&gt;.active&gt;a,.pagination&gt;.active&gt;a:focus,.pagination&gt;.active&gt;a:hover,.pagination&gt;.active&gt;span,.pagination&gt;.active&gt;span:focus,.pagination&gt;.active&gt;span:hover{color:#fff;background-color:#8cc152;border-color:#8cc152}.pagination&gt;.disabled&gt;a,.pagination&gt;.disabled&gt;a:focus,.pagination&gt;.disabled&gt;a:hover,.pagination&gt;.disabled&gt;span,.pagination&gt;.disabled&gt;span:focus,.pagination&gt;.disabled&gt;span:hover{color:#e6e9ed;background-color:#fff;border-color:#ccd1d9}.pager li&gt;a,.pager li&gt;span{color:#fff;background-color:#8cc152;border-color:#8cc152}.pager li&gt;a:focus,.pager li&gt;a:hover{background-color:#a0d468;border-color:#a0d468}.pager .disabled&gt;a,.pager .disabled&gt;a:focus,.pager .disabled&gt;a:hover,.pager .disabled&gt;span{color:#e6e9ed;background-color:#fff;border-color:#e6e9ed}.form-control{color:#434a54;border-color:#aab2bd}.form-control,.form-control:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.form-control:focus{border-color:#3bafda}.form-control:-ms-input-placeholder,.form-control::-moz-placeholder,.form-control::-webkit-input-placeholder{color:#e6e9ed}.form-control.disabled,.form-control[disabled]{background-color:#e6e9ed;border-color:#e6e9ed}.input-group-btn .btn+.btn{border-color:#96a0ad;border-style:solid;&#13;\n border-width:1px}.input-group-btn .btn+.btn.btn-default{border-color:#ededed}.input-group-btn .btn+.btn.btn-primary{border-color:#269ecb}.input-group-btn .btn+.btn.btn-info{border-color:#2fa084}.input-group-btn .btn+.btn.btn-success{border-color:#7ab03f}.input-group-btn .btn+.btn.btn-warning{border-color:#f4af20}.input-group-btn .btn+.btn.btn-danger{border-color:#d1293a}.input-group-addon{color:#fff;background-color:#aab2bd;border-color:#96a0ad}.input-group-addon .checkbox,.input-group-addon .radio{margin:-3px 0 -4px!important}.form-search .search-query,.form-search .search-query:first-child,.form-search .search-query:last-child{padding:0 17px;border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px}.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0;-webkit-border-top-left-radius:0;-moz-border-radius-topleft:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0;-webkit-border-top-right-radius:0;-moz-border-radius-topright:0;-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.form-search .btn{border-radius:17px;-webkit-border-radius:17px;-moz-border-radius:17px}.search-only{position:relative}.search-only .search-icon{position:absolute;top:2px;left:8.5px;z-index:20;width:30px;font-size:17px;line-height:30px;color:#e6e9ed;text-align:center}.search-only .form-control:last-child{padding-left:40px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#8cc152}.has-success .form-control,.has-success .form-control:focus{border-color:#8cc152;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-success .input-group-addon{background-color:#8cc152;border-color:#8cc152}.has-success .form-control-feedback{color:#8cc152}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#f6bb42}.has-warning .form-control,.has-warning .form-control:focus{border-color:#f6bb42;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-warning .input-group-addon{background-color:#f6bb42;border-color:#f6bb42}.has-warning .form-control-feedback{color:#f6bb42}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#da4453}.has-error .form-control,.has-error .form-control:focus{border-color:#da4453;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.has-error .input-group-addon{background-color:#da4453;border-color:#da4453}.has-error .form-control-feedback{color:#da4453}.stepper .stepper-input{overflow:hidden;-moz-appearance:textfield}.stepper .stepper-input::-webkit-inner-spin-button,.stepper .stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper .stepper-arrow{position:absolute;right:15px;display:block;width:20px;height:50%;text-indent:-99999px;cursor:pointer;&#13;\n background-color:#3bafda}.stepper .stepper-arrow:active,.stepper .stepper-arrow:hover{background-color:#4fc1e9}.stepper .up{top:0;border:1px solid #269ecb;border-top-right-radius:3px;-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px}.stepper .down{bottom:0;border-bottom-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px}.stepper .down::before,.stepper .up::before{position:absolute;width:0;height:0;&#13;\n content:\"\";border-right:4px solid transparent;border-left:4px solid transparent}.stepper .up::before{top:5px;left:5px;border-bottom:4px solid #fff}.stepper .down:before{bottom:5px;left:6px;border-top:4px solid #fff}.stepper.disabled .stepper-arrow{background-color:#3bafda;filter:alpha(opacity=45);opacity:.45}.selecter{position:relative;z-index:1;&#13;\n display:block;max-width:100%;outline:0}.selecter .selecter-element{position:absolute;left:0;z-index:0;display:none;width:100%;height:100%;filter:alpha(opacity=0);opacity:0;*left:-999999px}.selecter .selecter-element,.selecter .selecter-element:focus{outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}.selecter .selecter-selected{position:relative;z-index:2;display:block;padding:6px 10px;overflow:hidden;text-overflow:clip;cursor:pointer;&#13;\n background-color:#fff;border:1px solid #aab2bd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter .selecter-selected:after{position:absolute;top:14px;right:10px;width:0;height:0;content:\"\";border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent}.selecter .selecter-options{position:absolute;top:100%;left:0;z-index:50;display:none;width:100%;max-height:260px;overflow:auto;overflow-x:hidden;background-color:#fff;&#13;\n border:1px solid #aab2bd;border-width:0 1px 1px;border-radius:0 0 4px 4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);-moz-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;*width:auto}.selecter .selecter-group{display:block;padding:5px 10px 4px;font-size:11px;color:#aab2bd;text-transform:uppercase;background-color:#f5f7fa;&#13;\n border-bottom:1px solid #e6e9ed}.selecter .selecter-item{display:block;width:100%;padding:6px 10px;margin:0;overflow:hidden;text-overflow:ellipsis;cursor:pointer;&#13;\n background-color:#fff;border-bottom:1px solid #e6e9ed}.selecter .selecter-item.selected{color:#fff;background-color:#3bafda;border-bottom-color:#4fc1e9}.selecter .selecter-item.disabled{color:#aab2bd;cursor:default}.selecter .selecter-item:first-child{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.selecter .selecter-item:last-child{border-bottom:0;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.selecter .selecter-item:hover{background-color:#e6e9ed}.selecter .selecter-item.selected:hover{background-color:#3bafda}.selecter .selecter-item.disabled:hover,.selecter.disabled .selecter-item:hover,.selecter:hover .selecter-selected{background-color:#fff}.selecter.open{z-index:3;outline:0}.selecter.open .selecter-selected{z-index:51;border:1px solid #3bafda;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.focus .selecter-selected,.selecter.open .selecter-selected{background-color:#fff}.selecter.cover .selecter-options{top:0;border-width:1px;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.cover .selecter-options .selecter-item.first{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.cover.open .selecter-selected{z-index:49;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.bottom .selecter-options{top:auto;bottom:100%;&#13;\n border-width:1px 1px 0}.selecter.bottom .selecter-item:last-child{border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.selecter.bottom.open .selecter-selected{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.selecter.bottom.open .selecter-options{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.selecter.bottom.cover .selecter-options{top:auto;bottom:0}.selecter.bottom.cover.open .selecter-options,.selecter.bottom.cover.open .selecter-selected{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.multiple .selecter-options{position:static;display:block;width:100%;border-width:1px;border-radius:4px;box-shadow:none;-webkit-border-radius:4px;-moz-border-radius:4px}.selecter.disabled .selecter-selected{color:#aab2bd;cursor:default;background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-options{background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-group,.selecter.disabled .selecter-item{color:#aab2bd;cursor:default;background-color:#e6e9ed;border-color:#e6e9ed}.selecter.disabled .selecter-item.selected{color:#fff;background-color:#3bafda;filter:alpha(opacity=45);opacity:.45}.selecter .selecter-options.scroller{overflow:hidden}.selecter .selecter-options.scroller .scroller-content{max-height:260px;padding:0}.checkbox,.radio{padding-left:0;margin-top:0}.checkbox label,.radio label{position:relative;top:2px;padding-left:5px}.icheckbox_flat,.iradio_flat{display:inline-block;width:20px;height:20px;padding:0!important;margin:0;vertical-align:middle;cursor:pointer;background:url(../bootflat/img/check_flat/default.png) no-repeat;border:none;*display:inline}.icheckbox_flat{background-position:0 0}.icheckbox_flat.checked{background-position:-22px 0}.icheckbox_flat.disabled{cursor:default;background-position:-44px 0}.icheckbox_flat.checked.disabled{background-position:-66px 0}.iradio_flat{background-position:-88px 0}.iradio_flat.checked{background-position:-110px 0}.iradio_flat.disabled{cursor:default;background-position:-132px 0}.iradio_flat.checked.disabled{background-position:-154px 0}.toggle{height:32px}.toggle input[type=checkbox],.toggle input[type=radio]{width:0;height:0;padding:0;margin:0;text-indent:-100000px;filter:alpha(opacity=0);opacity:0}.toggle .handle{position:relative;top:-20px;left:0;&#13;\n display:block;width:50px;height:32px;background-color:#fff;border-radius:19px;-webkit-box-shadow:inset 0 0 0 1px #b8bfc8;-moz-box-shadow:inset 0 0 0 1px #b8bfc8;box-shadow:inset 0 0 0 1px #b8bfc8;-webkit-border-radius:19px;-moz-border-radius:19px}.toggle .handle:after,.toggle .handle:before{position:absolute;top:1px;left:1px;display:block;width:30px;height:30px;&#13;\n content:\"\";background-color:#fff;border-radius:30px;-webkit-box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;-moz-box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;box-shadow:inset 0 0 0 1px #b8bfc8,1px 1px 1px #c7ccd3;-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;transition:all .25s ease-in-out;-webkit-border-radius:30px;-moz-border-radius:30px}.toggle input[type=checkbox]:disabled+.handle,.toggle input[type=checkbox]:disabled+.handle:after,.toggle input[type=checkbox]:disabled+.handle:before,.toggle input[type=radio]:disabled+.handle,.toggle input[type=radio]:disabled+.handle:after,.toggle input[type=radio]:disabled+.handle:before{background-color:#e6e9ed;filter:alpha(opacity=60);&#13;\n opacity:.6}.toggle input[type=checkbox]:checked+.handle:before,.toggle input[type=radio]:checked+.handle:before{width:50px;background-color:#a0d468}.toggle input[type=checkbox]:checked+.handle:after,.toggle input[type=radio]:checked+.handle:after{left:20px;-webkit-box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3;-moz-box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3;box-shadow:inset 0 0 0 1px #f5f7fa,1px 1px 1px #c7ccd3}.calendar{padding:20px;color:#fff;background-color:#fd9883;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.calendar .unit{float:left;width:14.28%;text-align:center}.calendar .years .prev{text-align:left}.calendar .years .next{text-align:right}.calendar .years .next em,.calendar .years .prev em{position:relative;display:inline-block;width:34px;height:34px;cursor:pointer;border:1px solid #fff;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.calendar .years .next em:before,.calendar .years .prev em:before{position:absolute;display:block;width:0;height:0;margin-top:6px;font-size:0;content:\"\";border-style:solid;border-width:7px}.calendar .years .prev em:before{top:3px;left:4px;border-color:transparent #fff transparent transparent}.calendar .years .next em:before{top:3px;left:13px;border-color:transparent transparent transparent #fff}.calendar .years .next em:active,.calendar .years .next em:hover,.calendar .years .prev em:active,.calendar .years .prev em:hover{border-color:#e9573f}.calendar .years .prev em:active:before,.calendar .years .prev em:hover:before{border-color:transparent #e9573f transparent transparent}.calendar .years .next em:active:before,.calendar .years .next em:hover:before{border-color:transparent transparent transparent #e9573f}.calendar .years .monyear{float:left;width:71.42%;height:34px;line-height:34px;text-align:center}.calendar .days{padding-top:15px;&#13;\n margin-top:15px;border-top:1px solid #ee7f6d}.calendar .days .unit{height:34px;&#13;\n margin-bottom:3px;line-height:34px;text-align:center}.calendar .days .unit b{width:34px;height:34px;font-weight:400;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.calendar .days .unit.active b,.calendar .days .unit:active b,.calendar .days .unit:hover b{display:inline-block;color:#e9573f;cursor:pointer;background-color:#fff;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.calendar .days .unit.older b{width:auto;height:auto;color:#e9573f;cursor:default;background-color:transparent}.pricing ul{padding:0;list-style:none}.pricing .unit{position:relative;display:inline-block;min-width:250px;text-align:center;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.pricing .unit.active{top:5px;z-index:1;margin-right:-36px;margin-left:-36px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);-moz-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6)}.pricing .unit.active .price-title h3{font-size:40px}@media screen and (max-width:767px){.pricing .unit{display:block;margin-bottom:20px}.pricing .unit.active{top:0;margin-right:0;margin-left:0}.pricing .unit.active .price-title h3{font-size:30px}}.pricing .price-title{padding:20px 20px 10px;color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px}.pricing .price-title h3,.pricing .price-title h3&gt;p{margin:0}.pricing .price-body{padding:20px 20px 10px}.pricing .price-body ul{padding-top:10px}.pricing .price-body li{margin-bottom:10px}.pricing .price-body h4{margin:0}.pricing .price-foot{padding:20px;background-color:#e6e9ed;border-bottom-right-radius:4px;border-bottom-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.pricing .price-primary .price-title{background-color:#4fc1e9}.pricing .price-primary .price-body{background-color:#d7f1fa}.pricing .price-primary .price-body ul{border-top:1px solid #aae1f4}.pricing .price-success .price-title{background-color:#a0d468}.pricing .price-success .price-body{background-color:#ebf6df}.pricing .price-success .price-body ul{border-top:1px solid #d2ebb7}.pricing .price-warning .price-title{background-color:#ffce54}.pricing .price-warning .price-body{background-color:#fffaed}.pricing .price-warning .price-body ul{border-top:1px solid #ffebba}.alert h4{margin-bottom:10px;font-weight:700}.alert-dismissable .close{color:#000}.alert-info{background-color:#7cd1ef;border:#4fc1e9}.alert-warning{background-color:#ffdd87;border:#ffce54}.alert-danger{background-color:#f2838f;border:#ed5565}.alert-success{background-color:#b9df90;border:#a0d468}.alert .alert-link{text-decoration:underline;&#13;\n cursor:pointer;filter:alpha(opacity=65);opacity:.65}.alert .alert-link:focus,.alert .alert-link:hover{filter:alpha(opacity=45);opacity:.45}.alert .btn-link,.alert .btn-link:focus,.alert .btn-link:hover{color:#000;filter:alpha(opacity=65);opacity:.65}.alert .btn-link:focus,.alert .btn-link:hover{text-decoration:none;filter:alpha(opacity=40);opacity:.4}.nav-tabs{background-color:#e6e9ed;&#13;\n border-bottom:none;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.nav-tabs&gt;li{margin-bottom:0;border-left:1px solid #ccd1d9}.nav-tabs&gt;li:first-child{border-left:none}.nav-tabs&gt;li&gt;a{margin-right:0;color:#434a54;border:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.nav-tabs&gt;li&gt;a:focus,.nav-tabs&gt;li&gt;a:hover{background-color:#f5f7fa;border:none}.nav-tabs&gt;li.active&gt;a,.nav-tabs&gt;li.active&gt;a:focus,.nav-tabs&gt;li.active&gt;a:hover{background-color:#fff!important;border:none}.nav-tabs .dropdown-toggle,.nav-tabs .dropdown-toggle:focus,.nav-tabs .dropdown-toggle:hover{color:#434a54}.nav-tabs li.dropdown.open .dropdown-toggle{color:#434a54;background-color:#f5f7fa}.nav-tabs li.dropdown.active.open .dropdown-toggle{color:#434a54}.nav-tabs .dropdown-toggle .caret,.nav-tabs .dropdown-toggle:focus .caret,.nav-tabs .dropdown-toggle:hover .caret,.nav-tabs li.dropdown.active .dropdown-toggle .caret,.nav-tabs li.dropdown.active.open .dropdown-toggle .caret,.nav-tabs li.dropdown.open .caret,.nav-tabs li.dropdown.open a:focus .caret,.nav-tabs li.dropdown.open a:hover .caret,.nav-tabs li.dropdown.open.active .caret{border-top-color:#434a54;border-bottom-color:#434a54}.nav-tabs.nav-justified&gt;li&gt;a{margin-bottom:0;text-align:center}.nav-tabs.nav-justified&gt;.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs.nav-justified&gt;li&gt;a{border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs.nav-justified&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.nav-tabs.nav-justified&gt;li:last-child&gt;a{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.nav-tabs.nav-justified&gt;.active&gt;a,.nav-tabs.nav-justified&gt;.active&gt;a:focus,.nav-tabs.nav-justified&gt;.active&gt;a:hover{border:none}@media (min-width:768px){.nav-tabs.nav-justified&gt;li&gt;a{border-bottom:none;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}.nav-tabs.nav-justified&gt;.active&gt;a,.nav-tabs.nav-justified&gt;.active&gt;a:focus,.nav-tabs.nav-justified&gt;.active&gt;a:hover{border-bottom:none}}.tab-content{padding:10px}.tabs-below .nav-tabs{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.tabs-below .nav-tabs&gt;li:first-child&gt;a{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.tabs-below .nav-tabs.nav-justified&gt;li:last-child&gt;a{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.tabs-left .nav-tabs&gt;li,.tabs-right .nav-tabs&gt;li{float:none;border-top:1px solid #ccd1d9;border-left:none}.tabs-left .nav-tabs&gt;li:first-child,.tabs-right .nav-tabs&gt;li:first-child{border-top:none}.tabs-left .nav-tabs&gt;li&gt;a,.tabs-right .nav-tabs&gt;li&gt;a{min-width:74px;margin-right:0}.tabs-left .nav-tabs{float:left;margin-right:19px;border-radius:4px 0 0 4px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px}.tabs-left .nav-tabs&gt;li:first-child&gt;a{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.tabs-left .nav-tabs&gt;li:last-child&gt;a{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.tabs-right .nav-tabs{float:right;margin-left:19px;border-radius:0 4px 4px 0;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0}.tabs-right .nav-tabs&gt;li:first-child&gt;a{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.tabs-right .nav-tabs&gt;li:last-child&gt;a{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.nav-pills&gt;li.active&gt;a,.nav-pills&gt;li.active&gt;a:focus,.nav-pills&gt;li.active&gt;a:hover{color:#fff;background-color:#3bafda}.nav-pills&gt;li&gt;a{color:#3bafda}.nav-pills&gt;li&gt;a:hover{color:#434a54;background-color:#e6e9ed}.nav-pills&gt;.active&gt;a&gt;.badge{color:#3bafda}.nav-pills .open&gt;a,.nav-pills .open&gt;a:focus,.nav-pills .open&gt;a:hover{color:#434a54;background-color:#e6e9ed}.navbar-form{padding:0!important}.navbar-default{background-color:#37bc9b;border-color:#37bc9b}.navbar-default .btn-link,.navbar-default .navbar-brand,.navbar-default .navbar-link{color:#26816a}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover,.navbar-default .navbar-link:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav&gt;li&gt;a,.navbar-default .navbar-text{color:#26816a}.navbar-default .navbar-nav&gt;li&gt;a:focus,.navbar-default .navbar-nav&gt;li&gt;a:hover{color:#fff}.navbar-default .navbar-nav&gt;.active&gt;a,.navbar-default .navbar-nav&gt;.active&gt;a:focus,.navbar-default .navbar-nav&gt;.active&gt;a:hover{color:#fff;background-color:#48cfad}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,.navbar-default .navbar-nav&gt;.disabled&gt;a,.navbar-default .navbar-nav&gt;.disabled&gt;a:focus,.navbar-default .navbar-nav&gt;.disabled&gt;a:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#2e9c81;background-color:transparent}.navbar-default .navbar-toggle{background-color:#26816a;border-color:#26816a}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#2b957a;border-color:#2b957a}.navbar-default .navbar-toggle .icon-bar{background-color:#37bc9b}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#48cfad}.navbar-default .navbar-nav&gt;.open&gt;a,.navbar-default .navbar-nav&gt;.open&gt;a:focus,.navbar-default .navbar-nav&gt;.open&gt;a:hover{color:#fff;background-color:#37bc9b}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu&gt;.divider,.navbar-default .navbar-nav&gt;li&gt;a:focus,.navbar-default .navbar-nav&gt;li&gt;a:hover{background-color:#48cfad}.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a{color:#26816a}.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a,.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;.active&gt;a:hover,.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;li&gt;a:hover{color:#fff;background-color:#48cfad}.navbar-default .navbar-nav .open .dropdown-menu&gt;.dropdown-header{color:#26816a}.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a,.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:focus,.navbar-default .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:hover{color:#2b957a}}.navbar-inverse{background-color:#333;border-color:#333}.navbar-inverse .btn-link,.navbar-inverse .navbar-brand,.navbar-inverse .navbar-link{color:#8c8c8c}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover,.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-link:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav&gt;li&gt;a,.navbar-inverse .navbar-text{color:#8c8c8c}.navbar-inverse .navbar-nav&gt;li&gt;a:focus,.navbar-inverse .navbar-nav&gt;li&gt;a:hover{color:#fff}.navbar-inverse .navbar-nav&gt;.active&gt;a,.navbar-inverse .navbar-nav&gt;.active&gt;a:focus,.navbar-inverse .navbar-nav&gt;.active&gt;a:hover{color:#fff;background-color:#000}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,.navbar-inverse .navbar-nav&gt;.disabled&gt;a,.navbar-inverse .navbar-nav&gt;.disabled&gt;a:focus,.navbar-inverse .navbar-nav&gt;.disabled&gt;a:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#666;background-color:transparent}.navbar-inverse .navbar-toggle{background-color:#000;border-color:#000}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#1a1a1a;border-color:#1a1a1a}.navbar-inverse .navbar-toggle .icon-bar{background-color:#8c8c8c}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#000}.navbar-inverse .navbar-nav&gt;.open&gt;a,.navbar-inverse .navbar-nav&gt;.open&gt;a:focus,.navbar-inverse .navbar-nav&gt;.open&gt;a:hover{color:#fff;background-color:#000}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.divider,.navbar-inverse .navbar-nav&gt;li&gt;a:focus,.navbar-inverse .navbar-nav&gt;li&gt;a:hover{background-color:#000}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a{color:#8c8c8c}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.active&gt;a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;li&gt;a:hover{color:#fff;background-color:#000}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.dropdown-header{color:#bfbfbf}.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu&gt;.disabled&gt;a:hover{color:#666}}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.list-group-item{border-color:transparent;border-top-color:#e6e9ed}.list-group-item:first-child{border-top:none}.list-group-item-heading,a.list-group-item{color:#434a54}a.list-group-item .list-group-item-heading{font-size:16px;color:#434a54}a.list-group-item:focus,a.list-group-item:hover{background-color:#e6e9ed}a.list-group-item.active,a.list-group-item.active:focus,a.list-group-item.active:hover{background-color:#4fc1e9;border-color:#4fc1e9}a.list-group-item.active .list-group-item-text,a.list-group-item.active:focus .list-group-item-text,a.list-group-item.active:hover .list-group-item-text{color:#fff}.list-group-item-primary{color:#22b1e3;background-color:#4fc1e9;border-color:#3bafda transparent transparent}.list-group-item-primary:first-child{border-color:transparent}a.list-group-item-primary{color:#126d8d}a.list-group-item-primary:focus,a.list-group-item-primary:hover{color:#fff}a.list-group-item-primary.active,a.list-group-item-primary:focus,a.list-group-item-primary:hover{background-color:#3bafda;border-color:#4fc1e9 transparent transparent}.list-group-item-success{color:#87c940;background-color:#a0d468;border-color:#8cc152 transparent transparent}.list-group-item-success:first-child{border-color:transparent}a.list-group-item-success{color:#537f24}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#fff}a.list-group-item-success.active,a.list-group-item-success:focus,a.list-group-item-success:hover{background-color:#8cc152;border-color:#a0d468 transparent transparent}.list-group-item-warning{color:#ffbf21;background-color:#ffce54;border-color:#f6bb42 transparent transparent}.list-group-item-warning:first-child{border-color:transparent}a.list-group-item-warning{color:#876000}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#fff}a.list-group-item-warning.active,a.list-group-item-warning:focus,a.list-group-item-warning:hover{background-color:#f6bb42;border-color:#ffce54 transparent transparent}.list-group-item-info{color:#2fb593;background-color:#48cfad;border-color:#37bc9b transparent transparent}.list-group-item-info:first-child{border-color:transparent}a.list-group-item-info{color:#1a6451}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#fff}a.list-group-item-info.active,a.list-group-item-info:focus,a.list-group-item-info:hover{background-color:#37bc9b;border-color:#48cfad transparent transparent}.list-group-item-danger{color:#e8273b;background-color:#ed5565;border-color:#da4453 transparent transparent}.list-group-item-danger:first-child{border-color:transparent}a.list-group-item-danger{color:#99101f}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#fff}a.list-group-item-danger.active,a.list-group-item-danger:focus,a.list-group-item-danger:hover{background-color:#da4453;border-color:#ed5565 transparent transparent}.media-list{color:#aab2bd}.media-heading{font-size:14px;color:#434a54}.modal-content{color:#434a54;&#13;\n border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.modal-header{border-bottom:none}.modal-body{padding:0 15px}.modal-footer{border-top:none}.well{padding:10px;color:#434a54;background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.well blockquote{border-color:#ccd1d9}.well-lg{padding:20px}.well-sm{padding:5px}.thumbnail{border:none;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.thumbnail a&gt;img,.thumbnail&gt;img{width:100%}.thumbnail .caption{font-size:14px}.thumbnail .caption h1,.thumbnail .caption h2,.thumbnail .caption h3,.thumbnail .caption h4,.thumbnail .caption h5,.thumbnail .caption h6{margin:5px 0 10px;font-size:16px}.jumbotron{padding:0;&#13;\n margin-bottom:20px;background-color:#fff;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.container .jumbotron{border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.jumbotron&gt;.jumbotron-photo img{width:100%;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.jumbotron .jumbotron-contents{padding:20px;color:#434a54}.jumbotron .carousel,.jumbotron .carousel-inner,.jumbotron .carousel-inner&gt;.item.active img{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.jumbotron .carousel-inner&gt;.item&gt;a&gt;img,.jumbotron .carousel-inner&gt;.item&gt;img{width:100%}.jumbotron .carousel-control.left{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.jumbotron .carousel-control.right{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.jumbotron .h1,.jumbotron .h2,.jumbotron h1,.jumbotron h2{font-weight:400}.jumbotron .h1,.jumbotron h1{font-size:28px}.jumbotron .h2,.jumbotron h2{font-size:24px}.jumbotron p{font-size:14px}@media screen and (min-width:768px){.container .jumbotron,.jumbotron{padding:0}.jumbotron .h1,.jumbotron h1{font-size:28px}}.panel{background-color:#fff;border:none;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2);-webkit-border-radius:4px;-moz-border-radius:4px}.panel .list-group{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.panel .list-group-item:first-child{border-top:1px solid #e6e9ed}.panel-heading{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel-title{font-size:14px;font-weight:400;color:#434a54}.panel-footer{background-color:#e6e9ed;border-top-color:#e6e9ed;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel-default{border-color:#e6e9ed}.panel-default&gt;.panel-heading{color:#434a54;background-color:#e6e9ed;border-color:#e6e9ed}.panel-primary{border-color:#3bafda}.panel-primary&gt;.panel-heading{color:#fff;background-color:#3bafda;border-color:#3bafda}.panel-success{border-color:#8cc152}.panel-success&gt;.panel-heading{color:#fff;background-color:#8cc152;border-color:#8cc152}.panel-info{border-color:#37bc9b}.panel-info&gt;.panel-heading{color:#fff;background-color:#37bc9b;border-color:#37bc9b}.panel-warning{border-color:#f6bb42}.panel-warning&gt;.panel-heading{color:#fff;background-color:#f6bb42;border-color:#f6bb42}.panel-danger{border-color:#da4453}.panel-danger&gt;.panel-heading{color:#fff;background-color:#da4453;border-color:#da4453}.panel-danger&gt;.panel-heading&gt;.panel-title,.panel-info&gt;.panel-heading&gt;.panel-title,.panel-primary&gt;.panel-heading&gt;.panel-title,.panel-success&gt;.panel-heading&gt;.panel-title,.panel-warning&gt;.panel-heading&gt;.panel-title{color:#fff}.panel&gt;.list-group:first-child .list-group-item:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child,.panel&gt;.table:first-child{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel&gt;.list-group:last-child .list-group-item:last-child{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:first-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:first-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:first-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:first-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:first-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:first-child{border-radius:4px 0 0;-webkit-border-radius:4px 0 0;-moz-border-radius:4px 0 0}.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:last-child,.panel&gt;.table-responsive:first-child&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:last-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child td:last-child,.panel&gt;.table:first-child&gt;tbody:first-child&gt;tr:first-child th:last-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child td:last-child,.panel&gt;.table:first-child&gt;thead:first-child&gt;tr:first-child th:last-child{border-radius:0 4px 0 0;-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0}.panel&gt;.table-responsive:last-child&gt;.table:last-child,.panel&gt;.table:last-child{border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:first-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:first-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:first-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:first-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:first-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:first-child{border-radius:0 0 0 4px;-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px}.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:last-child,.panel&gt;.table-responsive:last-child&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:last-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child td:last-child,.panel&gt;.table:last-child&gt;tbody:last-child&gt;tr:last-child th:last-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child td:last-child,.panel&gt;.table:last-child&gt;tfoot:last-child&gt;tr:last-child th:last-child{border-radius:0 0 4px;-webkit-border-radius:0 0 4px;-moz-border-radius:0 0 4px}.panel&gt;.panel-body+.table,.panel&gt;.panel-body+.table-responsive{border-top-color:#e6e9ed}.panel-group .panel{background-color:transparent;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-border-radius:0;-moz-border-radius:0}.panel-group .panel+.panel{margin-top:0}.panel-group .panel-heading{padding:0;border-bottom-color:transparent}.panel-group .panel-heading+.panel-collapse .panel-body{padding:15px 0;border-top-color:transparent}.panel-group .panel-title a{display:block;padding:10px 0}.panel-group-lists .panel{background-color:#fff;&#13;\n border-bottom:1px solid #e6e9ed;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 2px rgba(0,0,0,.2)}.panel-group-lists .panel:first-child{border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.panel-group-lists .panel:last-child{border-bottom:none;border-radius:0 0 4px 4px;-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px}.panel-group-lists .panel-heading+.panel-collapse .panel-body{padding:15px;border-top-color:#e6e9ed}.panel-group-lists .panel-title a{padding:10px 15px;color:#434a54}.panel-group-lists .panel-title a:active,.panel-group-lists .panel-title a:focus,.panel-group-lists .panel-title a:hover{color:#aab2bd}.footer{padding:40px 0;background-color:#434a54}.footer-logo,.footer-nav{float:left;width:20%;padding:0 20px}@media (max-width:768px){.footer-logo{margin-bottom:20px}.footer-logo,.footer-nav{display:block;&#13;\n float:none;width:100%}}.footer-logo{height:32px;&#13;\n margin-top:-5px;line-height:32px}.footer-logo img{margin-right:10px}.footer-logo a{font-size:20px;font-weight:700;color:#fff}.footer-logo a:active,.footer-logo a:hover{text-decoration:none}.footer-nav .nav-title{margin-bottom:15px;color:#e6e9ed}.footer-nav .nav-item{line-height:28px}.footer-nav .nav-item&gt;a{color:#aab2bd}.footer-nav .nav-item&gt;a:active,.footer-nav .nav-item&gt;a:hover{color:#ccd1d9;text-decoration:none}.footer-copyright{color:#aab2bd}.timeline dl{position:relative;top:0;padding:20px 0;margin:0}.timeline dl:before{position:absolute;top:0;bottom:0;left:50%;z-index:100;width:2px;margin-left:-1px;content:'';background-color:#ccd1d9}.timeline dl dt{position:relative;top:30px;z-index:200;width:120px;padding:3px 5px;margin:0 auto 30px;font-weight:400;color:#fff;text-align:center;background-color:#aab2bd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.timeline dl dd{position:relative;z-index:200}.timeline dl dd .circ{position:absolute;top:40px;left:50%;z-index:200;width:22px;height:22px;margin-left:-11px;background-color:#4fc1e9;border:4px solid #f5f7fa;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.timeline dl dd .time{position:absolute;top:31px;left:50%;display:inline-block;width:100px;padding:10px 20px;color:#4fc1e9}.timeline dl dd .events{position:relative;width:47%;padding:10px 10px 0;margin-top:31px;background-color:#fff;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.timeline dl dd .events:before{position:absolute;top:12px;width:0;height:0;content:'';border-style:solid;border-width:6px}.timeline dl dd .events .events-object{margin-right:10px}.timeline dl dd .events .events-body{overflow:hidden;zoom:1}.timeline dl dd .events .events-body .events-heading{margin:0 0 10px;font-size:14px}.timeline dl dd.pos-right .time{margin-left:-100px;text-align:right}.timeline dl dd.pos-right .events{float:right}.timeline dl dd.pos-right .events:before{left:-12px;border-color:transparent #fff transparent transparent}.timeline dl dd.pos-left .time{margin-left:0;text-align:left}.timeline dl dd.pos-left .events{float:left}.timeline dl dd.pos-left .events:before{right:-12px;border-color:transparent transparent transparent #fff}@media screen and (max-width:767px){.timeline dl:before{left:60px}.timeline dl dt{margin:0 0 30px}.timeline dl dd .circ{left:60px}.timeline dl dd .time{left:0}.timeline dl dd.pos-left .time{padding:10px 0;&#13;\n margin-left:0;text-align:left}.timeline dl dd.pos-left .events{float:right;width:84%}.timeline dl dd.pos-left .events:before{left:-12px;border-color:transparent #fff transparent transparent}.timeline dl dd.pos-right .time{padding:10px 0;&#13;\n margin-left:0;text-align:left}.timeline dl dd.pos-right .events{float:right;width:84%}}.dropdown-menu{background-color:#434a54;border:none}.dropdown-menu .dropdown-header{padding:5px 20px;font-size:14px;font-weight:700;color:#aab2bd}.dropdown-menu li a{padding:5px 20px;color:#fff}.dropdown-menu .active a,.dropdown-menu .active a:focus,.dropdown-menu .active a:hover,.dropdown-menu li a:focus,.dropdown-menu li a:hover{color:#fff;background-color:#656d78;outline:0}.dropdown-menu .disabled a,.dropdown-menu .disabled a:focus,.dropdown-menu .disabled a:hover{color:#656d78;cursor:default}.dropdown-menu .divider{background-color:#656d78;border-bottom:none}.dropup .dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0}.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:0 4px 4px;-webkit-border-radius:0 4px 4px;-moz-border-radius:0 4px 4px}.dropdown-submenu:hover .dropdown-menu{display:block}.dropup .dropdown-submenu .dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;border-radius:4px 4px 4px 0;-webkit-border-radius:4px 4px 4px 0;-moz-border-radius:4px 4px 4px 0}.dropdown-submenu&gt;a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;content:\" \";border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#fff}.dropdown-default .dropdown-submenu&gt;a:after{border-left-color:#434a54}.dropdown-submenu:hover a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left .dropdown-menu{left:-100%;margin-left:10px;border-radius:4px 0 4px 4px;-webkit-border-radius:4px 0 4px 4px;-moz-border-radius:4px 0 4px 4px}</css><name>bootflat</name><sys_class_name>sp_css</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 04:54:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>da0cadd013d23e00de8cb5b12244b0d4</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_da0cadd013d23e00de8cb5b12244b0d4</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 04:54:36</sys_updated_on></sp_css></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>585cc88c139336006749bccf3244b0be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>bootflat</target_name>\n<type>Style Sheet</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_53ebe9d013d23e00de8cb5b12244b059</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module/><name>bootflat</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 04:54:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>53ebe9d013d23e00de8cb5b12244b059</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_53ebe9d013d23e00de8cb5b12244b059</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 04:54:12</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>905cc88c139336006749bccf3244b0bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>bootflat</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_56fb25d013d23e00de8cb5b12244b000</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"bootflat\">53ebe9d013d23e00de8cb5b12244b059</sp_dependency><sp_widget display_value=\"PE CSM Timline\">3282a55c13923e00de8cb5b12244b0d0</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 04:54:12</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>56fb25d013d23e00de8cb5b12244b000</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat.PE CSM Timline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_56fb25d013d23e00de8cb5b12244b000</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 04:54:12</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>945cc88c139336006749bccf3244b0be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>bootflat.PE CSM Timline</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ws_operation\"&gt;&lt;sys_ws_operation action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;consumes&gt;application/json,application/xml,text/xml&lt;/consumes&gt;&lt;consumes_customized&gt;false&lt;/consumes_customized&gt;&lt;default_operation_uri/&gt;&lt;enforce_acl/&gt;&lt;http_method&gt;GET&lt;/http_method&gt;&lt;name&gt;pe-people-info-launch&lt;/name&gt;&lt;operation_script&gt;&lt;![CDATA[(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {\n\ttry{\n\t\tvar userID='';\n\t\tvar liveprofile = {};\n\t\tif(request.queryParams.user_id) {\n\t\t\tuserID = request.queryParams.user_id;\n\t\t\t//gs.info(\"user id \"+userID);\n\t\t\tvar gr = new GlideRecord('live_profile');\n\t\t\tgr.addQuery('table','sys_user');\n\t\t\tgr.addQuery('document',userID);\n\t\t\tgr.query();\n\t\t\tif(gr.next()){\n\t\t\t\t//gs.info(\"user id found \"+userID);\n\t\t\t\tliveprofile.profile_id = gr.sys_id.toString();\n\t\t\t} else {\n\t\t\t\t//gs.info(\"user id not found \"+userID);\n\t\t\t\tvar grTwo = new GlideRecord('live_profile');\n\t\t\t\tgrTwo.initialize(); \n\t\t\t\tgrTwo.table = 'sys_user'; \n\t\t\t\tgrTwo.document = userID; \n\t\t\t\tgrTwo.type = 'User';\n\t\t\t\t\n\t\t\t\tvar gruser = new GlideRecord('sys_user');\n                    gruser.addQuery('sys_id',userID);\n\t\t\t        gruser.query();\n\t\t\t       if(gruser.next()){\n\t\t\t\t\t\tgrTwo.name =gruser.name.toString() ;\n                        liveprofile.profile_id = grTwo.insert();\n                   }\n\t\t\t\t \n\t\t\t}\n\t\t\n\t\t}\n\t\tif(liveprofile)\n\t\t\tresponse.setBody(liveprofile);\n\t\telse\n\t\t\tresponse.setBody('Error');\n\t\t\n\t}catch(e){\n\t\tresponse.setBody('Error : '+ e.message);\n\t}\n    // implement resource here\n\n})(request, response);]]&gt;&lt;/operation_script&gt;&lt;operation_uri&gt;/api/snc/pe_people_info_launch_connect/launch&lt;/operation_uri&gt;&lt;produces&gt;application/json,application/xml,text/xml&lt;/produces&gt;&lt;produces_customized&gt;false&lt;/produces_customized&gt;&lt;relative_path&gt;/launch&lt;/relative_path&gt;&lt;request_example/&gt;&lt;requires_acl_authorization&gt;false&lt;/requires_acl_authorization&gt;&lt;requires_authentication&gt;true&lt;/requires_authentication&gt;&lt;short_description/&gt;&lt;sys_class_name&gt;sys_ws_operation&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 00:57:25&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;2326170813dd7a007e94fc5ed144b0c9&lt;/sys_id&gt;&lt;sys_mod_count&gt;7&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-people-info-launch&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ws_operation_2326170813dd7a007e94fc5ed144b0c9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-02-28 23:32:45&lt;/sys_updated_on&gt;&lt;web_service_definition display_value=\"Launch connect chat\"&gt;52f5930813dd7a007e94fc5ed144b0f9&lt;/web_service_definition&gt;&lt;web_service_version/&gt;&lt;/sys_ws_operation&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>985cc88c139336006749bccf3244b0c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch</target_name>\n<type>Scripted REST Resource</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3282a55c13923e00de8cb5b12244b0d0</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function peCSMTimlineCtrl(spUtil) {\n    /* widget controller */\n    var c = this;\n\n    spUtil.get('pe-people-info', {\n        user_sys_id: c.data.user_info.user_sys_id,\n        show_job_title: c.data.user_info.show_job_title,\n        show_call_and_chat: c.data.user_info.show_call_and_chat,\n        show_only_picture: c.data.user_info.show_only_picture,\n        add_border_around_avatar: c.data.user_info.avatar_border\n    }).then(function(response) {\n        c.data.embedded_widget = response;\n    });\n\n\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.case-extended {&amp;#13;\n  background-color: #fbfbfb;&amp;#13;\n  border-bottom: solid 1px #e4e5e6;&amp;#13;\n  padding-bottom: 15px;&amp;#13;\n  padding-top: 15px;&amp;#13;\n  .title {&amp;#13;\n    margin-top: 15px;&amp;#13;\n    font-size: 14px;&amp;#13;\n    font-weight: 500;&amp;#13;\n    color: #2e2e2e;&amp;#13;\n  }&amp;#13;\n  p {&amp;#13;\n    font-size: 14px;&amp;#13;\n    color: #65666a;&amp;#13;\n  }&amp;#13;\n  .timeline {&amp;#13;\n    color: #65666a;&amp;#13;\n    margin-top: 15px;&amp;#13;\n    padding-top: 0;&amp;#13;\n    margin-bottom: 25px;&amp;#13;\n    .user {&amp;#13;\n      margin-bottom: 12px;&amp;#13;\n      margin-top: 10px;&amp;#13;\n    }&amp;#13;\n    @media screen and (max-width: 767px) {&amp;#13;\n      dl {&amp;#13;\n        &amp;amp;:before {&amp;#13;\n          left: 60px;&amp;#13;\n        }&amp;#13;\n        dd {&amp;#13;\n          .circ {&amp;#13;\n            left: 60px;&amp;#13;\n          }&amp;#13;\n          .events {&amp;#13;\n            width: 70%;&amp;#13;\n            background-color: inherit;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    &amp;amp;:before {&amp;#13;\n      border-right: none;&amp;#13;\n    }&amp;#13;\n    dl {&amp;#13;\n      padding: 0;&amp;#13;\n      &amp;amp;:before {&amp;#13;\n        margin-left: 15px;&amp;#13;\n      }&amp;#13;\n      dd:last-of-type .events {&amp;#13;\n        margin-bottom: 0;&amp;#13;\n      }&amp;#13;\n      dd {&amp;#13;\n        h4 {&amp;#13;\n          font-weight: normal;&amp;#13;\n          margin: 0;&amp;#13;\n        }&amp;#13;\n        .circ {&amp;#13;\n          top: 0;&amp;#13;\n          margin-left: 5px;&amp;#13;\n          background-color: white;&amp;#13;\n          border-color: #dbdad6;&amp;#13;\n        }&amp;#13;\n        .time {&amp;#13;\n          color: inherit;&amp;#13;\n          top: 0;&amp;#13;\n          padding: 0;&amp;#13;\n          //padding-right: 5px;&amp;#13;\n          font-size: 12px;&amp;#13;\n          width: 70px;&amp;#13;\n          margin-top: -5px;&amp;#13;\n        }&amp;#13;\n        .events {&amp;#13;\n          margin-right: -10px;&amp;#13;\n          margin-bottom: 25px;&amp;#13;\n          margin-top: 5px;&amp;#13;\n          padding: 0;&amp;#13;\n          background-color: inherit;&amp;#13;\n          &amp;amp;:before {&amp;#13;\n            display: none;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n        &amp;amp;.active {&amp;#13;\n          color: $red;&amp;#13;\n          .circ {&amp;#13;\n            background-color: $primary-color;&amp;#13;\n            border-color: $darker-red;&amp;#13;\n          }&amp;#13;\n        }&amp;#13;\n      }&amp;#13;\n    }&amp;#13;\n    .circ .fa {&amp;#13;\n      position: absolute;&amp;#13;\n      top: -5px;&amp;#13;\n      left: -5px;&amp;#13;\n      color: green;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .actions {&amp;#13;\n    margin-top: 25px;&amp;#13;\n    button.btn-alternate2 {&amp;#13;\n      color: #b4b2b3;&amp;#13;\n      border-radius: 28px;&amp;#13;\n      background-color: #ffffff;&amp;#13;\n      border: solid 3px #dbdad6;&amp;#13;\n    }&amp;#13;\n    button.escalated {&amp;#13;\n      border-color: #e51b24;&amp;#13;\n      color: #e51b24;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .escalated-actions {&amp;#13;\n    position: relative;&amp;#13;\n    margin-top: 0;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-csm-timeline&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE CSM Timline&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n    /* populate the 'data' object */\n    /* e.g., data.table = $sp.getValue('table'); */\n    data.user_info = {\n        user_sys_id: options.user_sys_id,\n        show_only_picture: options.show_only_picture,\n        show_job_title: options.show_job_title,\n        show_call_and_chat: options.show_call_and_chat,\n        avatar_border: '#e51b24'\n    }\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush.chan&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-19 04:13:55&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3282a55c13923e00de8cb5b12244b0d0&lt;/sys_id&gt;&lt;sys_mod_count&gt;23&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE CSM Timline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3282a55c13923e00de8cb5b12244b0d0&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-06 20:19:16&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"case-extended\"&gt;\n    &lt;div class=\"timeline\"&gt;\n        &lt;dl&gt;\n            &lt;dd class=\"pos-right clearfix assigned\"&gt;\n                &lt;div class=\"circ\"&gt;\n\n                    &lt;i class=\"fa fa-2x fa-check-circle\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n                &lt;/div&gt;\n                &lt;div class=\"time\"&gt;Nov 10 11:15AM&lt;/div&gt;\n                &lt;div class=\"events\"&gt;\n                    &lt;div class=\"events-body\"&gt;\n                        &lt;h4 class=\"events-heading\"&gt;Assigned&lt;/h4&gt;\n                        &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n                    &lt;/div&gt;\n            &lt;/dd&gt;\n            &lt;dd class=\"pos-right clearfix active\"&gt;\n                &lt;div class=\"circ\"&gt;&lt;/div&gt;\n                &lt;div class=\"time\"&gt;Nov 10 11:30AM&lt;/div&gt;\n                &lt;div class=\"events\"&gt;\n                    &lt;div class=\"events-body\"&gt;\n                        &lt;h4 class=\"events-heading\"&gt;Dispatched&lt;/h4&gt;\n                        &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n                        &lt;div class=\"actions\"&gt;\n                            &lt;button class=\"btn btn-alternate2 btn-block\" ng-class=\"{'escalated':c.escalated[c.caseExtended]}\" ng-click=\"c.escalated[c.caseExtended]=true\" ng-hide=\"c.escalated[c.caseExtended]\"&gt;ESCALATE\n                                &lt;/button&gt;\n                            &lt;button class=\"btn btn-alternate2 btn-block escalated\" ng-show=\"c.escalated[c.caseExtended]\" ng-click=\"c.escalated[c.caseExtended]=false\"&gt;\n                                    ESCALATED\n                                &lt;/button&gt;\n                        &lt;/div&gt;\n\n                        &lt;div ng-show=\"c.escalated[c.caseExtended]\"&gt;\n                            &lt;sp-widget widget=\"c.data.embedded_widget\"&gt;&lt;/sp-widget&gt;\n                        &lt;/div&gt;\n\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/dd&gt;\n            &lt;dd class=\"pos-right clearfix\"&gt;\n                &lt;div class=\"circ\"&gt;&lt;/div&gt;\n                &lt;div class=\"events\"&gt;\n                    &lt;div class=\"events-body\"&gt;\n                        &lt;h4 class=\"events-heading\"&gt;En Route&lt;/h4&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/dd&gt;\n            &lt;dd class=\"pos-right clearfix\"&gt;\n                &lt;div class=\"circ\"&gt;&lt;/div&gt;\n                &lt;div class=\"events\"&gt;\n                    &lt;div class=\"events-body\"&gt;\n                        &lt;h4 class=\"events-heading\"&gt;Repair&lt;/h4&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/dd&gt;\n            &lt;dd class=\"pos-right clearfix\"&gt;\n                &lt;div class=\"circ\"&gt;&lt;/div&gt;\n                &lt;div class=\"events\"&gt;\n                    &lt;div class=\"events-body\"&gt;\n                        &lt;h4 class=\"events-heading\"&gt;Testing&lt;/h4&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/dd&gt;\n            &lt;dd class=\"pos-right clearfix\"&gt;\n                &lt;div class=\"circ\"&gt;&lt;/div&gt;\n                &lt;div class=\"events\"&gt;\n                    &lt;div class=\"events-body\"&gt;\n                        &lt;h4 class=\"events-heading\"&gt;Resolved&lt;/h4&gt;\n                    &lt;/div&gt;\n                &lt;/div&gt;\n            &lt;/dd&gt;\n        &lt;/dl&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>9c5cc88c139336006749bccf3244b0bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>PE CSM Timline</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-people-info-launch-connect\">c3f9578813dd7a007e94fc5ed144b0c7</sp_dependency><sp_widget display_value=\"PE People Info\">11f38daa134db600d15e3d7ed144b0fa</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 00:43:05</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>3372305013523e00de8cb5b12244b044</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-people-info-launch-connect.PE People Info</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_3372305013523e00de8cb5b12244b044</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 00:43:05</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>d05cc88c139336006749bccf3244b0be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>pe-people-info-launch-connect.PE People Info</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_ws_definition\"><sys_ws_definition action=\"INSERT_OR_UPDATE\"><active>true</active><base_uri>/api/snc/pe_people_info_launch_connect</base_uri><consumes>application/json,application/xml,text/xml</consumes><consumes_customized>false</consumes_customized><default_version>No active default version</default_version><doc_link/><enforce_acl/><is_versioned>false</is_versioned><name>Launch connect chat</name><namespace>snc</namespace><produces>application/json,application/xml,text/xml</produces><produces_customized>false</produces_customized><service_id>pe_people_info_launch_connect</service_id><short_description/><sys_class_name>sys_ws_definition</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-02-28 00:56:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>52f5930813dd7a007e94fc5ed144b0f9</sys_id><sys_mod_count>2</sys_mod_count><sys_name>Launch connect chat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sys_ws_definition_52f5930813dd7a007e94fc5ed144b0f9</sys_update_name><sys_updated_by>fabio.petito</sys_updated_by><sys_updated_on>2017-02-28 19:09:03</sys_updated_on></sys_ws_definition></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>d45cc88c139336006749bccf3244b0c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>Launch connect chat</target_name>\n<type>Scripted REST API</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_11f38daa134db600d15e3d7ed144b0fa</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function PeopleInfoController($window) {\n  var c = this;\n  c.call = call;\n  function call(telNumber) {\n    if (telNumber) {\n      $window.location.href = 'tel://' + telNumber;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-brand-primary:#337ab7 !default;\n.people-card-media {\n  padding: 10px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  width: 100%;\n  float: left;\n  margin: 0px;\n  .media-body {\n    width: 100%;\n    .people_name_title {\n      .title {\n        font-size: 15px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #81878e;\n      }\n      .subtitle {\n        font-size: 13px;\n        font-weight: normal;\n        margin-bottom: 0px;\n        color: #a8abaf;\n      }\n    }\n  }\n  .media-left {\n    .list__photo {\n      width: 35px;\n      height: 35px;\n    }\n    .initials-badge {\n      min-width: 36px;\n      float: left;\n      margin-top: 0px;\n      border-radius: 50%;\n      line-height: 1;\n      font-size: 14px;\n      margin-left: 0px;\n      padding: 10px 10px;\n      font-weight: 300;\n      background: #AEB2B3;\n    }\n  }\n  .media-right {\n    width: 40%;\n    .fa-color {\n      color: $pe-brand-primary;\n      margin-right: 10px;\n    }\n  }\n}\n\n.show-text-bottom {\n  margin: 0px;\n  top: 50px;\n  .people_name_title {\n    .title {\n      margin-top: 0px;\n      font-size: 15px;\n      font-weight: normal;\n      margin-bottom: 0px;\n      color: #81878e;\n    }\n  }\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description&gt;People Info widget for displaying user avatar, name, titile with call/chat functionality.&lt;/description&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-people-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE People Info&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"user_sys_id\",\"default_value\":\"9ec35b8713453a007e94fc5ed144b09a\",\"label\":\"User Sys ID\",\"type\":\"string\"},{\"name\":\"show_only_picture\",\"default_value\":\"false\",\"label\":\"Show Only Picture\",\"type\":\"boolean\"},{\"name\":\"show_job_title\",\"default_value\":\"true\",\"label\":\"Show Job Title\",\"type\":\"boolean\"},{\"name\":\"show_call_and_chat\",\"default_value\":\"false\",\"label\":\"Show Call and Chat\",\"type\":\"boolean\"},{\"name\":\"show_text_below_picture\",\"default_value\":\"false\",\"label\":\"Show Text Below Picture\",\"type\":\"boolean\"},{\"name\":\"add_border_color_around_avatar\",\"default_value\":\"fff\",\"label\":\"Add border color around avatar\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  data.user_sys_id = options.user_sys_id || input.user_sys_id;\n\n  var getBoolValue = function (inputVal, optionVal) {\n    if (inputVal === null || inputVal === \"\" || inputVal === undefined) {\n      if (typeof optionVal === 'string') {\n        return (optionVal === 'true');\n      } else {\n        return (optionVal === true);\n      }\n    } else {\n      if (typeof inputVal === 'string') {\n        return (inputVal === 'true');\n      } else {\n        return (inputVal === true);\n      }\n    }\n  };\n\n  var userGR = new GlideRecord('sys_user');\n  if (userGR.get(data.user_sys_id)) {\n    data.user_first_name = userGR.getDisplayValue('first_name');\n    data.user_last_name = userGR.getDisplayValue('last_name');\n    data.user_full_name = userGR.getDisplayValue('name');\n    data.user_job_title = userGR.getDisplayValue('title');\n    data.user_photo = userGR.getDisplayValue('photo');\n    data.user_phone = userGR.phone.toString().replace(/[- )(]/g, '');\n    data.user_initials = data.user_first_name.charAt(0) + data.user_last_name.charAt(0);\n  }\n\tdata.avatar_border = input.add_border_around_avatar || options.add_border_around_avatar;\n  data.show_only_picture = getBoolValue(input.show_only_picture, options.show_only_picture);\n  data.show_job_title = getBoolValue(input.show_job_title, options.show_job_title);\n  data.show_call_and_chat = getBoolValue(input.show_call_and_chat, options.show_call_and_chat);\n  data.show_text_below_picture = getBoolValue(input.show_text_below_picture, options.show_text_below_picture);\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-22 22:35:07&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;11f38daa134db600d15e3d7ed144b0fa&lt;/sys_id&gt;&lt;sys_mod_count&gt;219&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE People Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_11f38daa134db600d15e3d7ed144b0fa&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush.chan&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-19 01:13:37&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"media people-card-media\" ng-style=\"data.show_text_below_picture == true ? { 'padding-bottom':'2px' } : { 'padding-bottom':'10px' }\"&gt;\n  &lt;div class=\"media-left\"&gt;\n    &lt;div class=\"person-photo\"&gt;\n      &lt;img ng-if=\"data.user_photo\" ng-style=\"{'border':'3px solid '+c.data.avatar_border}\" class=\"media-object list__photo img-circle\" ng-src=\"{{data.user_photo}}\"&gt;\n      &lt;div ng-if=\"!data.user_photo\" class=\"badge initials-badge\" data-original-title=\"\" title=\"\"&gt;\n        &lt;span class=\"\"&gt;{{::data.user_initials}}&lt;/span&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div ng-if=\"!data.show_only_picture &amp;&amp; !data.show_text_below_picture\" class=\"media-body\"&gt;\n    &lt;div class=\"people_name_title\"&gt;\n      &lt;h4 class=\"media-heading title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n      &lt;h4 ng-if=\"data.show_job_title\" class=\"media-heading subtitle\"&gt;{{::data.user_job_title}}&lt;/h4&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n\n  &lt;div class=\"media-right\" ng-if=\"data.show_call_and_chat\"&gt;\n    &lt;i class=\"fa fa-comment fa-2x fa-color\" onclick=\"openChat(this)\" id=\"{{data.user_sys_id}}\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n    &lt;i ng-click=\"c.call(data.user_phone)\" class=\"fa fa-phone fa-2x fa-color\" aria-hidden=\"true\"&gt;&lt;/i&gt;\n  &lt;/div&gt;\n&lt;/div&gt;\n\n&lt;div ng-if=\"data.show_text_below_picture &amp;&amp; !data.show_text_below_picture\" class=\"show-text-bottom\"&gt;\n  &lt;div class=\"people_name_title\"&gt;\n    &lt;h4 class=\"title\"&gt;{{::data.user_full_name}}&lt;/h4&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>d85cc88c139336006749bccf3244b0bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>PE People Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_css_include_800c6dd013d23e00de8cb5b12244b09f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_css_include\"><sp_css_include action=\"INSERT_OR_UPDATE\"><name>bootflat</name><source>local</source><sp_css display_value=\"bootflat\">da0cadd013d23e00de8cb5b12244b0d4</sp_css><sys_class_name>sp_css_include</sys_class_name><sys_created_by>sush.chan</sys_created_by><sys_created_on>2017-04-19 04:54:39</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>800c6dd013d23e00de8cb5b12244b09f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>bootflat</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_css_include_800c6dd013d23e00de8cb5b12244b09f</sys_update_name><sys_updated_by>sush.chan</sys_updated_by><sys_updated_on>2017-04-19 04:54:39</sys_updated_on><url/></sp_css_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE CSM Timeline\">005cc88c139336006749bccf3244b0bd</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-06-06 20:20:34</sys_created_on>\n<sys_id>dc5cc88c139336006749bccf3244b0be</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-06-06 20:20:34</sys_updated_on>\n<table/>\n<target_name>bootflat</target_name>\n<type>CSS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "timeline/pe-csm-timeline/widget/pe-csm-timeline.u-body-html-template.html",
    "content": "<div class=\"case-extended\">\r\n    <div class=\"timeline\">\r\n        <dl>\r\n            <dd class=\"pos-right clearfix assigned\">\r\n                <div class=\"circ\">\r\n\r\n                    <i class=\"fa fa-2x fa-check-circle\" aria-hidden=\"true\"></i>\r\n                </div>\r\n                <div class=\"time\">Nov 10 11:15AM</div>\r\n                <div class=\"events\">\r\n                    <div class=\"events-body\">\r\n                        <h4 class=\"events-heading\">Assigned</h4>\r\n                        <sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\r\n                    </div>\r\n            </dd>\r\n            <dd class=\"pos-right clearfix active\">\r\n                <div class=\"circ\"></div>\r\n                <div class=\"time\">Nov 10 11:30AM</div>\r\n                <div class=\"events\">\r\n                    <div class=\"events-body\">\r\n                        <h4 class=\"events-heading\">Dispatched</h4>\r\n                        <sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\r\n                        <div class=\"actions\">\r\n                            <button class=\"btn btn-alternate2 btn-block\" ng-class=\"{'escalated':c.escalated[c.caseExtended]}\" ng-click=\"c.escalated[c.caseExtended]=true\" ng-hide=\"c.escalated[c.caseExtended]\">ESCALATE\r\n                                </button>\r\n                            <button class=\"btn btn-alternate2 btn-block escalated\" ng-show=\"c.escalated[c.caseExtended]\" ng-click=\"c.escalated[c.caseExtended]=false\">\r\n                                    ESCALATED\r\n                                </button>\r\n                        </div>\r\n\r\n                        <div ng-show=\"c.escalated[c.caseExtended]\">\r\n                            <sp-widget widget=\"c.data.embedded_widget\"></sp-widget>\r\n                        </div>\r\n\r\n                    </div>\r\n                </div>\r\n            </dd>\r\n            <dd class=\"pos-right clearfix\">\r\n                <div class=\"circ\"></div>\r\n                <div class=\"events\">\r\n                    <div class=\"events-body\">\r\n                        <h4 class=\"events-heading\">En Route</h4>\r\n                    </div>\r\n                </div>\r\n            </dd>\r\n            <dd class=\"pos-right clearfix\">\r\n                <div class=\"circ\"></div>\r\n                <div class=\"events\">\r\n                    <div class=\"events-body\">\r\n                        <h4 class=\"events-heading\">Repair</h4>\r\n                    </div>\r\n                </div>\r\n            </dd>\r\n            <dd class=\"pos-right clearfix\">\r\n                <div class=\"circ\"></div>\r\n                <div class=\"events\">\r\n                    <div class=\"events-body\">\r\n                        <h4 class=\"events-heading\">Testing</h4>\r\n                    </div>\r\n                </div>\r\n            </dd>\r\n            <dd class=\"pos-right clearfix\">\r\n                <div class=\"circ\"></div>\r\n                <div class=\"events\">\r\n                    <div class=\"events-body\">\r\n                        <h4 class=\"events-heading\">Resolved</h4>\r\n                    </div>\r\n                </div>\r\n            </dd>\r\n        </dl>\r\n        </div>\r\n    </div>"
  },
  {
    "path": "timeline/pe-csm-timeline/widget/pe-csm-timeline.u-client-script.js",
    "content": "function peCSMTimlineCtrl(spUtil) {\r\n    /* widget controller */\r\n    var c = this;\r\n\r\n    spUtil.get('pe-people-info', {\r\n        user_sys_id: c.data.user_info.user_sys_id,\r\n        show_job_title: c.data.user_info.show_job_title,\r\n        show_call_and_chat: c.data.user_info.show_call_and_chat,\r\n        show_only_picture: c.data.user_info.show_only_picture,\r\n        add_border_around_avatar: c.data.user_info.avatar_border\r\n    }).then(function(response) {\r\n        c.data.embedded_widget = response;\r\n    });\r\n\r\n\r\n}"
  },
  {
    "path": "timeline/pe-csm-timeline/widget/pe-csm-timeline.u-css.scss",
    "content": " .case-extended {\n     background-color: #fbfbfb;\n     border-bottom: solid 1px #e4e5e6;\n     padding-bottom: 15px;\n     padding-top: 15px;\n     .title {\n         margin-top: 15px;\n         font-size: 14px;\n         font-weight: 500;\n         color: #2e2e2e;\n     }\n     p {\n         font-size: 14px;\n         color: #65666a;\n     }\n     .timeline {\n         color: #65666a;\n         margin-top: 15px;\n         padding-top: 0;\n         margin-bottom: 25px;\n         .user {\n             margin-bottom: 12px;\n             margin-top: 10px;\n         }\n         @media screen and (max-width: 767px) {\n             dl {\n                 &:before {\n                     left: 60px;\n                 }\n                 dd {\n                     .circ {\n                         left: 60px;\n                     }\n                     .events {\n                         width: 70%;\n                         background-color: inherit;\n                     }\n                 }\n             }\n         }\n         &:before {\n             border-right: none;\n         }\n         dl {\n             padding: 0;\n             &:before {\n                 margin-left: 15px;\n             }\n             dd:last-of-type .events {\n                 margin-bottom: 0;\n             }\n             dd {\n                 h4 {\n                     font-weight: normal;\n                     margin: 0;\n                 }\n                 .circ {\n                     top: 0;\n                     margin-left: 5px;\n                     background-color: white;\n                     border-color: #dbdad6;\n                 }\n                 .time {\n                     color: inherit;\n                     top: 0;\n                     padding: 0;\n                     //padding-right: 5px;\n                     font-size: 12px;\n                     width: 70px;\n                     margin-top: -5px;\n                 }\n                 .events {\n                     margin-right: -10px;\n                     margin-bottom: 25px;\n                     margin-top: 5px;\n                     padding: 0;\n                     background-color: inherit;\n                     &:before {\n                         display: none;\n                     }\n                 }\n                 &.active {\n                     color: $red;\n                     .circ {\n                         background-color: $primary-color;\n                         border-color: $darker-red;\n                     }\n                 }\n             }\n         }\n         .circ .fa {\n             position: absolute;\n             top: -5px;\n             left: -5px;\n             color: green;\n         }\n     }\n     .actions {\n         margin-top: 25px;\n         button.btn-alternate2 {\n             color: #b4b2b3;\n             border-radius: 28px;\n             background-color: #ffffff;\n             border: solid 3px #dbdad6;\n         }\n         button.escalated {\n             border-color: #e51b24;\n             color: #e51b24;\n         }\n     }\n     .escalated-actions {\n         position: relative;\n         margin-top: 0;\n     }\n }"
  },
  {
    "path": "timeline/pe-csm-timeline/widget/pe-csm-timeline.u-server-script.js",
    "content": "(function() {\r\n    /* populate the 'data' object */\r\n    /* e.g., data.table = $sp.getValue('table'); */\r\n    data.user_info = {\r\n        user_sys_id: options.user_sys_id,\r\n        show_only_picture: options.show_only_picture,\r\n        show_job_title: options.show_job_title,\r\n        show_call_and_chat: options.show_call_and_chat,\r\n        avatar_border: '#e51b24'\r\n    }\r\n})();"
  },
  {
    "path": "timeline/pe-incident-timeline/README.md",
    "content": "# Timeline - Variant Incident Timeline\n\n## Description\n\nThis can be used to quickly craft an incident timeline widget.\n\n## Screenshots\n![](../../images/pe-incident-timeline-1.png)\n![](../../images/pe-incident-timeline-2.png)\n\n## Additional Information/Notes\n> None\n\n## Installation\nDownload and install update set **[pe-incident-timeline.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/timeline/pe-incident-timeline/pe-incident-timeline.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n## Configuration\nWidget Option Schema parameters:\n> None\n\n## Platform Dependencies\n> None\n\n## Sample Data and Data Structures\n> None\n\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "timeline/pe-incident-timeline/pe-incident-timeline.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-03-16 23:59:10\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Incident Timeline</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>912baea9dba1f200b793f2b6ae961923</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>bafb26e9dba1f200b793f2b6ae961972</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1fa1dedddb6db20062e479daae961915</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function IncidentTimelineController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.remediation-timeline {&amp;#13;\n  position: relative;&amp;#13;\n  .panel-heading {&amp;#13;\n    background-color: #283347;&amp;#13;\n    border-bottom: 0;&amp;#13;\n    color: #fff;&amp;#13;\n    font-size: 12px;&amp;#13;\n    padding: 14px;&amp;#13;\n    text-transform: uppercase;&amp;#13;\n  }&amp;#13;\n  .panel-body {&amp;#13;\n    background-color: #1c2432;&amp;#13;\n    color: #fff;&amp;#13;\n    h4 {&amp;#13;\n      font-size: 24px;&amp;#13;\n    }&amp;#13;\n    .sub-text {&amp;#13;\n      color: $pe-anchor-color;&amp;#13;\n      font-size: 10px;&amp;#13;\n      margin-top: -5px;&amp;#13;\n      text-transform: uppercase;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  p {&amp;#13;\n    font-size: 16px;&amp;#13;\n    font-weight: 300;&amp;#13;\n    img {&amp;#13;\n      height: 18px;&amp;#13;\n      margin-right: 6px;&amp;#13;\n      width: 18px;&amp;#13;\n    }&amp;#13;\n  }&amp;#13;\n  .workflow-icon {&amp;#13;\n    position: relative;&amp;#13;\n    z-index: 200;&amp;#13;\n  }&amp;#13;\n  .row {&amp;#13;\n    padding-bottom: 12px;&amp;#13;\n  }&amp;#13;\n  .workflow-user {&amp;#13;\n    font-weight: 400;&amp;#13;\n  }&amp;#13;\n  .panel-body {&amp;#13;\n    padding-bottom: 0px !important;&amp;#13;\n  }&amp;#13;\n  &amp;amp;:before {&amp;#13;\n    background-color: #3d4e6d;&amp;#13;\n    content: '';&amp;#13;\n    height: 884px;&amp;#13;\n    left: 11%;&amp;#13;\n    opacity: 0.5;&amp;#13;\n    position: absolute;&amp;#13;\n    top: 6%;&amp;#13;\n    width: 2px;&amp;#13;\n    z-index: 1;&amp;#13;\n  }&amp;#13;\n  .badge {&amp;#13;\n    background-color: #1c2432;&amp;#13;\n    border-radius: 100px;&amp;#13;\n    float: right;&amp;#13;\n    font-size: 12px;&amp;#13;\n    font-weight: normal;&amp;#13;\n    height: 28px;&amp;#13;\n    margin-top: -5px;&amp;#13;\n    padding-top: 7px;&amp;#13;\n    width: 116px;&amp;#13;\n  }&amp;#13;\n  .panel-header-timeline-complete {&amp;#13;\n    background-color: #2ad587 !important;&amp;#13;\n    color: #0a4529 !important;&amp;#13;\n    font-weight: bold;&amp;#13;\n    .badge {&amp;#13;\n      background-color: #198453;&amp;#13;\n      width: 116px;&amp;#13;\n    }&amp;#13;\n    position: relative;&amp;#13;\n    z-index: 200;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-incident-timeline&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Incident Timeline&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-16 03:26:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1fa1dedddb6db20062e479daae961915&lt;/sys_id&gt;&lt;sys_mod_count&gt;12&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Incident Timeline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1fa1dedddb6db20062e479daae961915&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-16 14:59:46&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div class=\"row remediation-timeline\"&gt;\n  &lt;div class=\"col-xs-12\"&gt;\n    &lt;div class=\"panel panel-default\"&gt;\n      &lt;div class=\"panel-heading panel-header-timeline\"&gt;remediation timeline\n        &lt;span class=\"badge\"&gt;time spent 30&lt;span class=\"lower-case\"&gt;m&lt;/span&gt;&lt;/span&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-body\"&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"servicenow-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Workflow: Update email protection assigned to:&lt;/p&gt;\n            &lt;p class=\"workflow-user\"&gt;\n              &lt;img src=\"ddbb0228db61b200b793f2b6ae9619cc.iix\" class=\"img-circle\"&gt;Anderson Silva\n            &lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"exchange-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Orchestration: Quarantined 1631 emails matching threat signature&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"servicenow-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Workflow: Email deletion request approved by:&lt;/p&gt;\n            &lt;p class=\"workflow-user\"&gt;\n              &lt;img src=\"596708c9dbe5b20062e479daae96194a.iix\" class=\"img-circle\"&gt;Diane Flores\n            &lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"servicenow-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Workflow: Email deletion requested&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"exchange-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Orchestration: Identified 1631 messages with matching threat signature in inboxes (343) read&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-heading panel-header-timeline-complete\"&gt;containment phase complete\n        &lt;span class=\"badge\"&gt;time spent 21&lt;span class=\"lower-case\"&gt;m&lt;/span&gt;&lt;/span&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-body\"&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"palo-alto-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Firewall: New rule applied&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"servicenow-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Workflow: Firewall rule request approved by:&lt;/p&gt;\n            &lt;p class=\"workflow-user\"&gt;\n              &lt;img src=\"718b0228db61b200b793f2b6ae9619a1.iix\" class=\"img-circle\"&gt;Lisa Perry\n            &lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-heading panel-header-timeline-complete\"&gt;analysis phase complete\n        &lt;span class=\"badge\"&gt;time spent 5&lt;span class=\"lower-case\"&gt;m&lt;/span&gt;&lt;/span&gt;\n      &lt;/div&gt;\n      &lt;div class=\"panel-body\"&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"palo-alto-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;AutoFocus: TorrentJack known to exploit CVE-2016-0537&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"palo-alto-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;AutoFocus: Attack matches profile for TorrentJack IOC&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"servicenow-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Event Management: Deduplicated, 1631:1 Security Incident&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div class=\"row\"&gt;\n          &lt;div class=\"col-xs-2\"&gt;&lt;img src=\"splunk-icon.png\" class=\"workflow-icon\"&gt;&lt;/div&gt;\n          &lt;div class=\"col-xs-9\"&gt;\n            &lt;p&gt;Splunk Alert: Wildfire observed 1631 malicious emails in transit&lt;/p&gt;\n          &lt;/div&gt;\n          &lt;div class=\"col-xs-1\"&gt;&lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>32fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>PE Incident Timeline</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_baab2069db21f200b793f2b6ae9619e7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>1133</size_bytes><size_compressed>1156</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:33</sys_created_on><sys_id>baab2069db21f200b793f2b6ae9619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:33</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>169be829db21f200b793f2b6ae9619b7</table_sys_id></sys_attachment></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>36fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_7eab2069db21f200b793f2b6ae9619e7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AW0EkvuJUE5HDQoaCgAAAA1JSERSAAAAHgAAAB4IBgAAADswrqIAAAABc1JHQgCuzhzpAAAEJ0lEQVRIDb2WXWhcVRDH/+fc7O7dZFObmpKtpiEbVFKatGi0flREX0SkYKMiCCr6pqioD1JfChWhUsS3ilasVCgEColVCypVqpaKrW4rmkJES/NgbZtsm26+9vPe439OXN3s3aaNbHYguXfPnZnfzJyZe49ChRzrXBuPar/PKNzs+XgYMN1aqaip0LvcT8UHvjEZQI04GkPK4ETG18kNoyfPlduInpVDnZ1uq3a3APpZRyGuoVCAESf8vzgRpwwWIfrwae0ZEOq/l/KzO+4bHc2KNws+Teikbtwb1eqRnE/FRaMWDswhJqIVMr4ZXObPPpEgXIvJJWbaSOis79ccKv4lEfEtDGHJmvoh0dMWUd5wA9DqycoSikPfRSCVM05PA6F9EaVa89zLpRZJTFisQZ/0QJ80Ur1EWMJsYNv1F9jz9ZKCVNagv8Eo0+3Xi0qOjJcw2eRX/3KoRXxSW2HacaqFw8X64BQFxXicvEKBoSnoUMjeK16hGWeV7hd9Jc/kjy8gvras3rz1CkwgYwHGbt+AVa++gvZtW3HTZ0Nof/MN6OZmiCMJpvXpJ7Hymadg+FJwWlqQ2PUOIl0JmHwBuik6h3AcdLy9A7G77+J6vgILBDI2xSLcG7oQf/lFXNg7gAsD+3Dd1teQ//MMvHQaTbfdCpPLWUcdb21H9rffEV3Xg+aNd6I4cQk3Dg5g7N33MfXdEbQ8tAkX9w0GoLIQAFstZlUYG8eZ17ejkEohtvEORNd0I7z6eqS/OMhru1XL/nEKyzc9iJmjPxLeC29qGpFEJ6554H4GOWl9ZIZPwm6TtfjvX6DU9hHBJsfy8Lum3QhMNmeNldKQiqQPfo3Jrw7Zex0OYfLbw2hc34sVj/bjPLMNrYpjxeOPYSZ5HEVWSbanUqqCFYGKDkti742PiU8PoO2l5+HEYtCNLuK8n/jkAKaPfI9wx2pEe9ZifNdubstfWHbvPZj65rC8LKpKsNTasYYzyRM2I+lU2UcVDmPsgz1Qrou2F56znTu+ew/GP/yInewj/fmXtrz5s2cxMbQfoZXXYvrosXkJlEegfu5aE4xJRqa8PKIh1eK6zy3Q0Yhd8DNZ6Ei43N+cHQOZG61/rvM17K9gxrIs0HJ4aYu4LntuZ5U1tPdVnP477zLXl5HqYFEuz7jSeKFnJd0r6Gi+sjOlhEo2S3m1O0Ym50ON1P17LEyO5sehK5SllhWwLDI1eygp38h6if0ek6m1Cv2UMyYlB7GlFmEIS5h6/alfxjg7O90FWr9WAc0xzE5h2kFbzhP+LA/bTYTL4bvWIj7FtzCEJf4tWE72F3nCn/W9bVw7F2azuew6h9f/E4bYiK34EF/iU3wLQ1iyEPD7Kw/4Ds/aeYNbaLOZzdctAYvyVYvBDG1HaLs/rHDcM06y9/Tw+XL7vwEwVJ+T5+qtmwAAAABJRU5ErkJggl2gPgRtBAAA</data><length>1528</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"baab2069db21f200b793f2b6ae9619e7\">baab2069db21f200b793f2b6ae9619e7</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:33</sys_created_on><sys_id>7eab2069db21f200b793f2b6ae9619e7</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>3afb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>7eab2069db21f200b793f2b6ae9619e7</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_169be829db21f200b793f2b6ae9619b7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>30</height><image/><name>servicenow-icon.png</name><size_bytes>1133</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:26</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>169be829db21f200b793f2b6ae9619b7</sys_id><sys_mod_count>1</sys_mod_count><sys_name>servicenow-icon.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_169be829db21f200b793f2b6ae9619b7</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:33</sys_updated_on><thumbnail/><width>30</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>1133</size_bytes><size_compressed>1156</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:33</sys_created_on><sys_id>baab2069db21f200b793f2b6ae9619e7</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:33</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>169be829db21f200b793f2b6ae9619b7</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"baab2069db21f200b793f2b6ae9619e7\">baab2069db21f200b793f2b6ae9619e7</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:33</sys_created_on><sys_id>faab2069db21f200b793f2b6ae9619e7</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AW0EkvuJUE5HDQoaCgAAAA1JSERSAAAAHgAAAB4IBgAAADswrqIAAAABc1JHQgCuzhzpAAAEJ0lEQVRIDb2WXWhcVRDH/+fc7O7dZFObmpKtpiEbVFKatGi0flREX0SkYKMiCCr6pqioD1JfChWhUsS3ilasVCgEColVCypVqpaKrW4rmkJES/NgbZtsm26+9vPe439OXN3s3aaNbHYguXfPnZnfzJyZe49ChRzrXBuPar/PKNzs+XgYMN1aqaip0LvcT8UHvjEZQI04GkPK4ETG18kNoyfPlduInpVDnZ1uq3a3APpZRyGuoVCAESf8vzgRpwwWIfrwae0ZEOq/l/KzO+4bHc2KNws+Teikbtwb1eqRnE/FRaMWDswhJqIVMr4ZXObPPpEgXIvJJWbaSOis79ccKv4lEfEtDGHJmvoh0dMWUd5wA9DqycoSikPfRSCVM05PA6F9EaVa89zLpRZJTFisQZ/0QJ80Ur1EWMJsYNv1F9jz9ZKCVNagv8Eo0+3Xi0qOjJcw2eRX/3KoRXxSW2HacaqFw8X64BQFxXicvEKBoSnoUMjeK16hGWeV7hd9Jc/kjy8gvras3rz1CkwgYwHGbt+AVa++gvZtW3HTZ0Nof/MN6OZmiCMJpvXpJ7Hymadg+FJwWlqQ2PUOIl0JmHwBuik6h3AcdLy9A7G77+J6vgILBDI2xSLcG7oQf/lFXNg7gAsD+3Dd1teQ//MMvHQaTbfdCpPLWUcdb21H9rffEV3Xg+aNd6I4cQk3Dg5g7N33MfXdEbQ8tAkX9w0GoLIQAFstZlUYG8eZ17ejkEohtvEORNd0I7z6eqS/OMhru1XL/nEKyzc9iJmjPxLeC29qGpFEJ6554H4GOWl9ZIZPwm6TtfjvX6DU9hHBJsfy8Lum3QhMNmeNldKQiqQPfo3Jrw7Zex0OYfLbw2hc34sVj/bjPLMNrYpjxeOPYSZ5HEVWSbanUqqCFYGKDkti742PiU8PoO2l5+HEYtCNLuK8n/jkAKaPfI9wx2pEe9ZifNdubstfWHbvPZj65rC8LKpKsNTasYYzyRM2I+lU2UcVDmPsgz1Qrou2F56znTu+ew/GP/yInewj/fmXtrz5s2cxMbQfoZXXYvrosXkJlEegfu5aE4xJRqa8PKIh1eK6zy3Q0Yhd8DNZ6Ei43N+cHQOZG61/rvM17K9gxrIs0HJ4aYu4LntuZ5U1tPdVnP477zLXl5HqYFEuz7jSeKFnJd0r6Gi+sjOlhEo2S3m1O0Ym50ON1P17LEyO5sehK5SllhWwLDI1eygp38h6if0ek6m1Cv2UMyYlB7GlFmEIS5h6/alfxjg7O90FWr9WAc0xzE5h2kFbzhP+LA/bTYTL4bvWIj7FtzCEJf4tWE72F3nCn/W9bVw7F2azuew6h9f/E4bYiK34EF/iU3wLQ1iyEPD7Kw/4Ds/aeYNbaLOZzdctAYvyVYvBDG1HaLs/rHDcM06y9/Tw+XL7vwEwVJ+T5+qtmwAAAABJRU5ErkJggl2gPgRtBAAA</data><length>1528</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"baab2069db21f200b793f2b6ae9619e7\">baab2069db21f200b793f2b6ae9619e7</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:33</sys_created_on><sys_id>7eab2069db21f200b793f2b6ae9619e7</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>3efb26e9dba1f200b793f2b6ae961972</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>servicenow-icon.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_faab2069db21f200b793f2b6ae9619e7</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"baab2069db21f200b793f2b6ae9619e7\">baab2069db21f200b793f2b6ae9619e7</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:33</sys_created_on><sys_id>faab2069db21f200b793f2b6ae9619e7</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>3efb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>faab2069db21f200b793f2b6ae9619e7</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_0ddb6069db21f200b793f2b6ae9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>854</size_bytes><size_compressed>877</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:16</sys_created_on><sys_id>0ddb6069db21f200b793f2b6ae9619db</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:39:16</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>f4cb2069db21f200b793f2b6ae961965</table_sys_id></sys_attachment></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>72fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_3fbb6069db21f200b793f2b6ae96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AccEOPuJUE5HDQoaCgAAAA1JSERSAAAAHgAAAB4IBgAAADswrqIAAAABc1JHQgCuzhzpAAAEgUlEQVRIDcVWTUxcVRQ+584MQ2cGKLFFidW2UrRRiDNjurGm7oy60S4kMbFWRGChMfEvLnWhG6Mbo4kDJrYLY9LGGDd1YUyMidZGGKAFbFOw2mqJpSJ/UxiY947fuXeGMkFwKEM8yXv33nPPPd893zn3vscEERGu6kp3+MyHMEhAFVF9uYSZx+Grxxh+e+a5xPfqlxU02p3+nIQOlgtodT/sA/zF2fbEhxxL9Xb6RB+tblzuGc4GKBg3oPfpcrte25+EPc61GOQ0vrbhJsyijgzclrWQStkmA1OB/xfZTODcWhFtAjDPcpDjbCp24PxOrga+cWDmn4wxLyBv5ywI06eZtuRApr35T4zHNgeYydsSNgf1QiA2RxXECA1oe19KQric9mgfcoqJv3Fd9w4uH6y3z0Ln/zoc/0PXCUm9tkzmjLbnAqfvIo9CUPyYaU/eD9olmuodF6JtOr8hqoV5UJ2o4O5t0jZQIVYn4jU7PX2hoHo1YxNh1alsCBjrbXTWE1EzMf8+2ZpwBSUYQ7A5a1N7pH+nCFXlbdcHjAI6A+df4gFjiC5Pa/SToVuUQmiXGACIZaAyGLK6hUW2Y0TtoR761xPxL/W3Ve+71pF8HMT1KzCHHK20mHVOSYoYwEanJp5tvmRtSSwDKIY3Mh2J10sHZj4x8mhjVp0g4kq8515+Jj5qx5J3alzOtx8biiGynctrAN8EVwMcOK5rLDCSP2HItKB9xTrCC5XwPhvzEEAuWB27aPacOB9GoTTCYPhNZnxR1djRKOwqOjuVawIQI2K7MVtYRPvU9OYd0d+0zUfM7852Jo7v2hr+AE40f6OvdSReyrQnvsboOzUMiLG5Ghub2Yth0OZbJyBYgMIiry5Q87OOc+K7whLZH+tKPxjrTr+D49aoc5cvTb8aSQ0k7TlmNqdUeXEmt9vuFLfR9WjkDvUcisRc4fiFXDlaNZpod9/d2ODIr62759WPHi3dPaTBF/nW9q6/3mLKHSjKseRyT+o8nC1VJ86D5ubixFON03atG6PraN3aNYiNSRSKazqvNxaaR7S/ltiIxfc+i3alh32hA0pcIH/2bjraf+vcvFcLWn9Y5sTSuCXoD2ag9A3yiUwjo/FoKn3sLKUbEK2lddmaFV0HTFIHvLrCrAkGbcTzWXcWQd7SMQEbTVqMV9uSl9XeK1Q0KAfgEwUf/9UWUe2MeXaytfmC6+fzmb8aa1OjNdDfjmdpI0DLn2G3otT3CmAmmde7VR2I+I9ZR+xboFxg2oIU1YBW9A1IECDjcLS9sBaI25Crr1CaUVx7D0Cf21VTeXYIHfF8F50xluZIarheaO7OwtrSW3NFc9yDp6gKceYe1iOkgsIaGWq5Z0H7PvG9Wnzs+4ci3b1XQc5hDG2d6HzJwtTDVR/37fc8wSUhK2hXR2Bk0ki0UUKZOlmUk9hPdckA/2aIL1hYapoQEFGsu+9535f3AL70vSxaw7yAhFcU6W5kANBAgFpm2pInLbD6qEqd3qt/+ABIQFnmf21zBTnrqZDqI393Nkwp3j8qrabHypU4lQAAAABJRU5ErkJggsX+xiDHBAAA</data><length>1648</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"7bbb6069db21f200b793f2b6ae96195f\">7bbb6069db21f200b793f2b6ae96195f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:54</sys_created_on><sys_id>3fbb6069db21f200b793f2b6ae96195f</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>76fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>3fbb6069db21f200b793f2b6ae96195f</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_bbbb6069db21f200b793f2b6ae96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"7bbb6069db21f200b793f2b6ae96195f\">7bbb6069db21f200b793f2b6ae96195f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:54</sys_created_on><sys_id>bbbb6069db21f200b793f2b6ae96195f</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>7afb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>bbbb6069db21f200b793f2b6ae96195f</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_2b7b2069db21f200b793f2b6ae96193e</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>30</height><image/><name>exchange-icon.png</name><size_bytes>1616</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:37:52</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>2b7b2069db21f200b793f2b6ae96193e</sys_id><sys_mod_count>1</sys_mod_count><sys_name>exchange-icon.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_2b7b2069db21f200b793f2b6ae96193e</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:00</sys_updated_on><thumbnail/><width>32</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>1616</size_bytes><size_compressed>1639</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:00</sys_created_on><sys_id>2a8be829db21f200b793f2b6ae96192d</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:00</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>2b7b2069db21f200b793f2b6ae96193e</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"2a8be829db21f200b793f2b6ae96192d\">2a8be829db21f200b793f2b6ae96192d</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:00</sys_created_on><sys_id>7a8be829db21f200b793f2b6ae96192d</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2172</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"2a8be829db21f200b793f2b6ae96192d\">2a8be829db21f200b793f2b6ae96192d</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:00</sys_created_on><sys_id>fa8be829db21f200b793f2b6ae96192d</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>7efb26e9dba1f200b793f2b6ae961972</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>exchange-icon.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_0be68aa4db61b200b793f2b6ae961941</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"Informed Parties\">ab960aa4db61b200b793f2b6ae9619aa</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Anderson</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Silva</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Anderson Silva</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:43:48</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>0be68aa4db61b200b793f2b6ae961941</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:43:48</sys_updated_on><time_format/><time_zone/><title>Admin</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4736</size_bytes><size_compressed>4441</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>ddbb0228db61b200b793f2b6ae9619cc</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:04:14</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>0be68aa4db61b200b793f2b6ae961941</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"ddbb0228db61b200b793f2b6ae9619cc\">ddbb0228db61b200b793f2b6ae9619cc</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>11bb0228db61b200b793f2b6ae9619cd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"ddbb0228db61b200b793f2b6ae9619cc\">ddbb0228db61b200b793f2b6ae9619cc</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>91bb0228db61b200b793f2b6ae9619cd</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2176</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"ddbb0228db61b200b793f2b6ae9619cc\">ddbb0228db61b200b793f2b6ae9619cc</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:04:14</sys_created_on><sys_id>15bb0228db61b200b793f2b6ae9619cd</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>7efb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>Anderson Silva</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_2a8be829db21f200b793f2b6ae96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>1616</size_bytes><size_compressed>1639</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:00</sys_created_on><sys_id>2a8be829db21f200b793f2b6ae96192d</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:00</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>2b7b2069db21f200b793f2b6ae96193e</table_sys_id></sys_attachment></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>b2fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_4ddb6069db21f200b793f2b6ae9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"0ddb6069db21f200b793f2b6ae9619db\">0ddb6069db21f200b793f2b6ae9619db</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:16</sys_created_on><sys_id>4ddb6069db21f200b793f2b6ae9619db</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>b6fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>4ddb6069db21f200b793f2b6ae9619db</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_cddb6069db21f200b793f2b6ae9619db</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AVYDqfyJUE5HDQoaCgAAAA1JSERSAAAAHgAAAB4IBgAAADswrqIAAAABc1JHQgCuzhzpAAADEElEQVRIDcWX30sUURTHv/fO7Ob6K6lEUosiImXRqAyLfEgQpXyIfvggElQQQS/9A0Vb9D/0lhBU0EtPRW1CUYiIRBlE9oMQU0Nf/J3uzq/uubuztJt3dlZHOg8zO+feez7nnHvmzlmGtMRix/Xx+uV2buM6GDvq2I47tK474wxwnAGb407t50g8FnttkkGhBS49OlatM7OXa6zdsQHbCgZKtkmEXTAu7cZNR794r7t/knU9joYrjNKnoWKtzVi2UjM36BqKaDB+W301ocVOXuGUtGphvuFQioUCI9aEYOqw2C0HwabWK2GydgSTi81v9tpTJjbHsBKwnWC2gVjE5F7VS8DWvefQdeAaNhdtQ8JcDsQBYopaU4stSry8aAtORi/gxon7OLP/qnQgGYADnmByiVJNUhGpxKnGK9KB02kH1pMB7dDZ2pi0vOrFwSY9gj2VDSgOl8kZRaES1FU1oXlXB4pDpZiaH8NCYgaiWDJOrmoqR+kJ5kzD5NwPDI6+EMZnUVW2Q+3AgnBgxb8DnmBykuAJcwUjU0MYGovndyCdAU2sY0wejDmxph7zgmkaGdB5qCAHfs5+E69hUgn3BXZd/teBl8oMfJl+h19zo9C45i7Puuet6qzZ6QcqJCq6RbHvT4bv4vbz8xieeLvaVKVOV47kGaDDReM6Du9sQ1tdN/ZVHcxaQc55ScFgF9hY3YL2+h5Etx/Jsk9H64fxNxif+a5MMy3wDXaBDTUt6KhTA+MjD/B1+r18r+mNUElesGkb0kiDiLDDI0IXKLoN6FpYxcvoPcGWbWL31qg8o1UpLRTokj3BFG2TKJ6/oe4erhXoC0yTbDv1HQ4K6AssWjRYjoGPk/149qlXFo3fPXQBqju7/LBZ2fdQS1QSLsdSch6WZfgqGhUoV0+tT64u80wRLyXmZA/sp1IzC/P8ICa1PoPU96ok1Qiox1XrVHpiSSY056ZX1CoDa9VLlmDyGrb0ykrafdRsb7QQg1jElDn8H39h5CeE/stUj0Q6TdvpFPkfCDL1ZItskm1iEIsy+wf9toafx+eoqQAAAABJRU5ErkJgglKTPydWAwAA</data><length>1156</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"0ddb6069db21f200b793f2b6ae9619db\">0ddb6069db21f200b793f2b6ae9619db</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:16</sys_created_on><sys_id>cddb6069db21f200b793f2b6ae9619db</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>bafb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>cddb6069db21f200b793f2b6ae9619db</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_bfab6069db21f200b793f2b6ae96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>30</height><image/><name>palo-alto-icon.png</name><size_bytes>1223</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:46</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>bfab6069db21f200b793f2b6ae96192d</sys_id><sys_mod_count>1</sys_mod_count><sys_name>palo-alto-icon.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_bfab6069db21f200b793f2b6ae96192d</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:54</sys_updated_on><thumbnail/><width>30</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>1223</size_bytes><size_compressed>1246</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:54</sys_created_on><sys_id>7bbb6069db21f200b793f2b6ae96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:54</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>bfab6069db21f200b793f2b6ae96192d</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"7bbb6069db21f200b793f2b6ae96195f\">7bbb6069db21f200b793f2b6ae96195f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:54</sys_created_on><sys_id>bbbb6069db21f200b793f2b6ae96195f</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AccEOPuJUE5HDQoaCgAAAA1JSERSAAAAHgAAAB4IBgAAADswrqIAAAABc1JHQgCuzhzpAAAEgUlEQVRIDcVWTUxcVRQ+584MQ2cGKLFFidW2UrRRiDNjurGm7oy60S4kMbFWRGChMfEvLnWhG6Mbo4kDJrYLY9LGGDd1YUyMidZGGKAFbFOw2mqJpSJ/UxiY947fuXeGMkFwKEM8yXv33nPPPd893zn3vscEERGu6kp3+MyHMEhAFVF9uYSZx+Grxxh+e+a5xPfqlxU02p3+nIQOlgtodT/sA/zF2fbEhxxL9Xb6RB+tblzuGc4GKBg3oPfpcrte25+EPc61GOQ0vrbhJsyijgzclrWQStkmA1OB/xfZTODcWhFtAjDPcpDjbCp24PxOrga+cWDmn4wxLyBv5ywI06eZtuRApr35T4zHNgeYydsSNgf1QiA2RxXECA1oe19KQric9mgfcoqJv3Fd9w4uH6y3z0Ln/zoc/0PXCUm9tkzmjLbnAqfvIo9CUPyYaU/eD9olmuodF6JtOr8hqoV5UJ2o4O5t0jZQIVYn4jU7PX2hoHo1YxNh1alsCBjrbXTWE1EzMf8+2ZpwBSUYQ7A5a1N7pH+nCFXlbdcHjAI6A+df4gFjiC5Pa/SToVuUQmiXGACIZaAyGLK6hUW2Y0TtoR761xPxL/W3Ve+71pF8HMT1KzCHHK20mHVOSYoYwEanJp5tvmRtSSwDKIY3Mh2J10sHZj4x8mhjVp0g4kq8515+Jj5qx5J3alzOtx8biiGynctrAN8EVwMcOK5rLDCSP2HItKB9xTrCC5XwPhvzEEAuWB27aPacOB9GoTTCYPhNZnxR1djRKOwqOjuVawIQI2K7MVtYRPvU9OYd0d+0zUfM7852Jo7v2hr+AE40f6OvdSReyrQnvsboOzUMiLG5Ghub2Yth0OZbJyBYgMIiry5Q87OOc+K7whLZH+tKPxjrTr+D49aoc5cvTb8aSQ0k7TlmNqdUeXEmt9vuFLfR9WjkDvUcisRc4fiFXDlaNZpod9/d2ODIr62759WPHi3dPaTBF/nW9q6/3mLKHSjKseRyT+o8nC1VJ86D5ubixFON03atG6PraN3aNYiNSRSKazqvNxaaR7S/ltiIxfc+i3alh32hA0pcIH/2bjraf+vcvFcLWn9Y5sTSuCXoD2ag9A3yiUwjo/FoKn3sLKUbEK2lddmaFV0HTFIHvLrCrAkGbcTzWXcWQd7SMQEbTVqMV9uSl9XeK1Q0KAfgEwUf/9UWUe2MeXaytfmC6+fzmb8aa1OjNdDfjmdpI0DLn2G3otT3CmAmmde7VR2I+I9ZR+xboFxg2oIU1YBW9A1IECDjcLS9sBaI25Crr1CaUVx7D0Cf21VTeXYIHfF8F50xluZIarheaO7OwtrSW3NFc9yDp6gKceYe1iOkgsIaGWq5Z0H7PvG9Wnzs+4ci3b1XQc5hDG2d6HzJwtTDVR/37fc8wSUhK2hXR2Bk0ki0UUKZOlmUk9hPdckA/2aIL1hYapoQEFGsu+9535f3AL70vSxaw7yAhFcU6W5kANBAgFpm2pInLbD6qEqd3qt/+ABIQFnmf21zBTnrqZDqI393Nkwp3j8qrabHypU4lQAAAABJRU5ErkJggsX+xiDHBAAA</data><length>1648</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"7bbb6069db21f200b793f2b6ae96195f\">7bbb6069db21f200b793f2b6ae96195f</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:54</sys_created_on><sys_id>3fbb6069db21f200b793f2b6ae96195f</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>befb26e9dba1f200b793f2b6ae961972</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>palo-alto-icon.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_1077caa4db61b200b793f2b6ae961923</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"Informed Parties\">ab960aa4db61b200b793f2b6ae9619aa</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Lisa</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Perry</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Lisa Perry</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 18:46:49</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>1077caa4db61b200b793f2b6ae961923</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 18:46:49</sys_updated_on><time_format/><time_zone/><title>Manager</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>65867</size_bytes><size_compressed>65652</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>718b0228db61b200b793f2b6ae9619a1</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-13 19:03:27</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>1077caa4db61b200b793f2b6ae961923</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b18b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>358b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b58b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>3</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>398b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>4</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b98b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>5</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>3d8b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>vrU6K8LhQgjQneFzk57ioSBvUEX98RtAB469DRIBGjIEztcDcTnFWIhhcEKqlgTtHJHtUnlKYducHB3ZqrMXNYzgQQOQPnwc/rQyNI8TIoAUHc2euemKsfZ9suzb/CCFJGTmo/JLsTgr0xz90ehqWuhVyBv30fznJ3cL6UjBmdcckVaaEkmUqyAEbgBnB7UNCwBUK2XDYOMZwOcVPKx8yKTRk85AGAPbiqM0JCCVS3ythj7VrSoqooOWG0cenFVZEKloz8y/KQDUyiVGXUx7hcIx2qQynGO1UZCfsak9Sq8962Zo1DNlerY2jtWWyfuFjI5RirGs3E2TuZVxhmO5eCKyZgMBehA9K3LtS0W9SMD0rHlId3JXHHUd6wmtTaJlzAMWA4wtZkzq0AYKB7VqzJjLdQ3XHaufun2sQoyFODUIoytUkRkfKjb2bGK8V8bWwNvNG4zHKMH2I717JqBR7dl6Bu/evKfF0Dy28gk6MvbtVU/jRNX4WfOWoKyajKozkY61WLDfGuMbew71e1RC2r3GcgIduKpKjGQNgZFfU0/hR8rVVpM1LZyksQ6Z4P0NalhPF/alzCQHiQFF46kisWFvmUsMgjqO1X9GmEWtyAx+YGT9T3qkjNsoa7AqyeVGM4TcoPaubjUh1POOuQOldb4lASO0nAIIby2+lcyA0dyQG+R2yKcQaLHJmhYrnDZrQv1R4o2weMZNU2TEiDeODzW1NEkvhouRtkDgEUSHFX3OXlOy+d0HJAx/OqkxZmZ2GSSea0rmEpdH05OfwrLYGWFCMDJqkSQsGUAdO4pmSDmpJATNgE8HFRGqAccLwOe9Ax5hP1pMHftAHHrS8bs0AIpI6Gl+VhhRz60pCn2IpAmFJBzQAc7jz1/Sl6LwozQindu3Aj3pGGDyD9e1AC87c7ec0YAYgEHjvS4xHuPQVGoBGT0FADyM4wPxNNJyeuaXcc5yeKaTz0oAGHQ0gBGeO1KOVGe1L+lAB3AzjjtSsuAM5NITkgk9KCTnOeTQAnAGBS5GcHpigjgGkwDzQADhe9AABNG7I4HNGQW4/GgApe3AzSEYOKcOTj04oAQZ7ijgjFGcHIpKAF5J45zSkNkkHj2pBwOP1pDknmgB5H93Ofepo2KrwuTUAXdu561ZRQLcc4ycE4qWJj4gPtqKzYXOfwqcYEJ/efxZqCIbgdv8B61aEfmXEUceBuwCOv1pNjNK2gWKyErZbeSaqpulvBk9W6DtWnM8a2xiQbQOPwFZkG4XQcLyT+QpFPXUtwJm5UHkxk5x3zWpCVa0mQ7twTB9zmqNkqrKHC5UZJ96vRoSWcuAm3OP6VN9Soq5c0dEaeeVjtESFQc98Z/rWW3kwBAzHhGk/wCBE/4Vt6RFGNNvZZ8CN1IB9CTx+lYtzGLq8EMXJZgnTsOKS3HLoixd26WenWWdzNcJvSPuCTgVX1OV7ab7O0n+rAZh79cfnV/VbiSDV4JJQGNuVVB6BB0/OsC7n8+V3nc75XLtz3px1JZNZzS+a9xNktO5LE1pws8dnMFGfNYcj0rEtQ9xclSSQJCo/CukG2G2hRzjaCWxQ9QT01MwJJc6g6L8zRsABW7aAC7vLsHKogjjH94dyKyLICKdrhmwSucDtk8VoPPi2EUIAb7pyevOc0AtiwiKC67wUX5g+OB7UWUct4XmOFQA7GYdhxVe/lRI7XT7fl5TiQnqM1umOCzUwNxDHsUsD0UEE/yx+NTLshxtuZmoPDb3MkcgCqgDM3ckViXF35jrdSNuYg49h2/rTdQvm1HVrmU8maVmUdBtJ4qneZUiJWGFGDntTa0FvdjomLuq4LKxywJqzfX5ht1i3HgZfHU//WqnE4jj85WwV42+tS6bYNqVzIJnVIx8zyueFFNeQ+o3RoXnvxfSLlAf4uNxx0r0Cw0ie0jht0tyby7AZEAyV3NgceprGspLdEtrk23+iWbEojcee3+FelfCDXfD6/EOPWvE10RHCNyA9N46fgB26VnVjJwaW5rRlFTTlsj6p+Efw/i8H+HohPEJb5oRLNIw5Lnt+A7169axOsYRE37UDH6ntXm+gfFHwrqZ+0wahalHk2YSYHauOvPSuw0zxr4Wvb8W1hrtpLNwdgYD+Hp15NedHDOCsejLFqbuzqrZVE+5DsDclu2aklRUjAO1SpzvY/pVQToIIwgckAvkjg+3FQNdxTq0MmHhLBmK9Vpv3UOL5ndGiJSyb2QrM5AK9Qqjv+NP3B5mTYwDYzkdBWaZ1TmEnGNvXJ+vNTpey+QIcqrbtzPu5+lJSWxTRJLIGmiMalpCQd2OCORVh9jWpwuN53cHk44qBJ5JcoRFGhUIcn7gB7fWkaS2EbNcXSJFFkAsMk470abiZPKHROF3AvywPDYxg026bZKGZcNF8uC33Q39aiu9QWc4gD+WkShBjAI65NUZp5CmS8cjMdxB/iP1qJNLYIpstSSFIQCAQjcE8nkVEyASgOTlxz+AziqTX/mysCU3NyVx0I6UPeuczKGXeCM9cZGDx9KnmTNOWxHOCUGMjIJ3VmyKVnuEQbtrbyPUkcCrM1zGsQUMzRqu1QetYtzqcMV7LK8wiLJkb+PbtU8ty+ey1I5pEaNwOnOce3XFZkrRtEAny+gPellvbYRkRMGTaRuVuR65rAutc0+3kVJ7qJC3KjdzUOlKXQr6xCPU0JI2JO0jK84Fc7fIuwmMFMHPIptz4u0hfn/tO3hC93PNc5qnjXSfNOLyHa3Iy+2oeHm+g44uF9ytqkpCFACN3WuA8TRiS0eIE5Ix1rsH1a01KDzbaWKUHphu1cb4gYxgs5I2Lv55rLklGWqNHVU43ifOmvD/AIqO8BGAjfMPeqCjLBgCT2FaPiMqfFGo7H3Ay5Jx1rPUlmKqSBjHAr6WGkUfNVHebsWIBxgcmRguPQVb0uT7L4uV5V+UKMiq9ui/ZWY7lKkDJ9+P61K8brrbBxzGFjyD6CtFuZbLQ0/F9rJ5McjKNoAcgehzXFQx+fGfmx5eRg13niSY3GhecqMG8kR89yK47S4fNNwSMZUtihaIptvchtG3Oitkndya6KGQDTLjeuRuFY1qIxGwYfNvAHPrxW/5IR7uzG3hAwz3pslGBqUbCATdEXPNc+B+7j2n15rqL63L+Fru43DCsoH9a5dn8uKPYw/KhDZCc7/Lbr600Ar19alm4fcvQjOKYPmXdnAHrzViE24HBGfrzSruOTxx7UKiFs5+WkGPM+bpSvrYAKtxg4zSjuFyT60hA6enI+lAbaD3J9aYABwu3v1zS5BLg5yPyowoXO7p2pGJBGO45NAApOKXHynHFIOhx/8AroA3fe49BQAbTxz9c0jrhyAeBTwCpAzkdaZJy+cdaADIA9KVsZAHB9qTr6Gg/eHPNABnkY78GkHD59BTjwR19hSD7496AA/hSUfxH6UUALtJb2pCADhc596XHOaCRu3k/SgAz6kZNJ0GKNw7ryKXnrz0oAQkhh1pf4yO1DfMAR1wO9GcH8KADqRnvSn73H6Uh646D1pQDgnefagBU5Owd/SrckflbFxuBwfpVaHi4I561YldmddueD2qWA6D5Yio4LEnNaGnoXm39SvG6s6M4uCP4QDx6Vv2USW2itcPlZC2BnvUsI+ZHO+9Gx6haYB5dwwGT8uDjtSnedNknXaGMoQD35pqmRQxGWJ4JPOfWh2GkaUACMsaH5AOtXViBskR8DdcAfUYqjblvL2JGWZ8An0rSAX7dA==</data><length>3736</length><position>6</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>bd8b0228db61b200b793f2b6ae9619a1</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>7</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>318b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>8</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b18b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>9</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>358b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>10</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b58b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>11</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>398b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>xV6OQM3Jw+DgetbJ2MZRNlHOI9nPloRgDr35P41l3ylwVJAwM7sY5q2GxGI2kGAM46LmqVyWaAquCepI5onZjpmRcnbb56dvxrCk8w4Xjjqfcda3Lw/NHGSu0nd+AFYsqYRVYYLEuT6Vzz3OqD0MS6bbc4kP8Jxj618pfFV93xR8WPuBBu4VP4RLgfqa+qbxwdTJTIJH5c18jeNgb/x74luvmeH+1/JOO5CgD9K6sBG9S5zZlLlpaFbTbY20ctzJ8sUkITd2A964bxXc75YY0G7Khj716TO6weEWjjkXdPMyFSvKkDg15Z4gkEmvCLzAFh2rnH3sD/GvbifMTVjT00ougNOOGiTO7ucn/wDXWkUC6fCcDJyze49KzrVrdfCc+4oZWkjiVcnOOc8flVuad1gjRwdgTg+uM1oyVq9S1BMtroEU7SDb+8mYH1CkAZ7dq53UwV0+zZ1O9okkOfer+pYh8HZHG9CMH1Of/rVBrUa+a4ydkUcCKB0+7yKlPQbtfQR3SO0RiQ22M/L6Vzt/tKBSxHPAq/LO7O5IwMBce1Zt04kuQgAbBzmqZJC7ATggnhcGs5mLH+dX7nPmO65wQMAfQVmnOemPeqVhDlzuDKoyOuTSFmL57nuKUJ1yM4GaQAKOhNNADMQBGOaaMjgnJpTu27sEewpQjE5PIFGwBkFPmGaF5kB7Uo3NGSB35oAII4oQCK3XdwfYU5fund09RQcMmcZbNBGGyDjHakxpCDaRkkk9s03JySw59acXXZ0wfSkDdNz00IVThfTjr+NNkY78dcVI23AJ6GmlM4I9KALOflCgc0mDnkAD6VLjIz6CkGGBLdqxUjRxuN2bRhup5pCoB5Y9+lPCjJYng8UuATkdvWncXL1IQCU9cUbCEyeoNSEt0GPel5K5J+lFxpJq5FtXOSAODRj8Bx0p4OVAb7+eKGdc8jk07kaDcBRnt7ikwF+bA5/Sn4IkA424oHy89aLlegzALgnGaaUVd3PXpxVg9BtqMc78/doTuDSsMcLk0gQBM56dqmKYj28ZpOgOe1Lm7EtWGoG80jHFToSpBI6e1RrtJ3Dr6VYhQkIVAxmmhWFUlmDcV3WlxsdLhmJMnlnP+6K4TcRKo4+8TxXc+GZBPpU9pI20rGzL796Ur2KirjryQTaczEnfczgr7KAaeczafGOPvKrYHXBquhUoQ5wsQDJjqQ3H9DSyuYLaMoVXf0B6nFSuxo31K+puxt5Q2OQVU+nJrGtkMK/KARtKq3pWhdIwtkLM4IyQP72agkaK3vEh+bbgO2exqk+qM7aFC782VxuyQOOabEMP90lU6VLIzMS27AZs04EpcBIzkd6aBvQepWJjEozuGOa0HS2LrCn3QFQH1OMk1QUK8hXupya04Y2M0GcMWUK3+7mlcqK0uieziKPc3Q3AW8exef4m4qhdqZJn3FTs2qQPety5QW6m3V+CwLZ+XpzzWVIPNkuWRhwy5pPa40tdCleEtPKwBKg4HvV2JBPp8ABDEOFH0xms6VcQbyM5b1rc0KH7RPbRqu3E/wAx/wBnFZ1ZWjdm9GP7zlIdLPl63brkLtfBNfeXh+VZPCOl3CDf5tpE2R9K+FZLZrHxilq4z5c4XGcZDHj+dfanw9c3Xw00pUbPkq1sQWztCt/9evKxz5lGR7eBXLzLzO8tpB5WFXBB6itW1XlWPJ64I61lRLuwR6jNaVvzwv8AC3NcCO25eRwVO7oBj6e9XYdyhFGSAN31FZwI2/L161ahkySzHaQM5rRMzkzVVzu2LyAM7enNVrhZpLzy8hCUDZJwQpGelNVwPmCKCAcEnpwKcq7mkDLht3zsOw9B71TkjFILeDltntnPQCr6whWAABA6ZFJEqrbYUY5xinh82xyr5Rh+uRTWhDdyNnLHEnT7uT6etcvq+i2uswtNMHWRV3Bl4I+nrXSzGMw+Xv4zWazBnAXOQgA+tZzs1Zm1KTjqjzv/AIQLRBqfm39ouonqDdLvC+nFWdZ+H3hfVNPLnw7ZCZQGLwwiNlx3Uiu2kg3x4fueg9antoDAiyDbgjGGXg1lGnHY3eImtUzyfSPtOg3H9mvcNNBgmFpCSyj0JPWuli1+MMFJCt71q694dtNQSS5t8Qy5wIx0BrgbjQdYt5TKEa4dQQFzhT9KcXy6MGlU95bm7r3jO10/TZDNcrtUZOeO3rXzzq3iDxP8RtWltPDYmtbFSUk1Ag5Iz91f8a9Gufhzqviu8ibxJP8A2dpaEl7e2fMs57bvSuys/DGn6Rp0Vnp1r5MMQwOME/X1NN1m9ti6cKdLV6v8Dxvw94A1jQfOaxafVrtzy0kuB9Oe/Nd/4R8Ca5J4kh1zxWYojaP5lrYQHciP/eb1I/Suy0+0CPlVG45OP61v2cRMPXL88+tZW5mrjliHrZbl2DzHdGAGT1JJxVwDjzApLZKkDv8ASq0bfuNh5wc1Y3o4+T74P6d66YvQ5Gh2WDhAO3btTJZiIlcdMbcDihnTKnnIHaq8rkcN2Haq5gimZ127FnYbcEiJQ3bPWs24cHGOV6Zq9ONxWPty5+p6VmXLrGQv8XrWMmbxRhSyH+053Y4VUBJPbg18mrL5uvajeKwdfts9wIOCGIXaGP419P69cG10rUpZHx5cL5PqNtfJFlIRq1zDD/C+PzANejl0Xd+h5ubP3El3/Qs6xqP+jvYwfMHeJGfbghx1wa831q5N943v5o0AiaQ7FAwMDjp+FdbqF20OoCUDdHKGkBP5ZrkrFUfU7vCmQtH8hbsSa9iOx4F09zWWPGiRAnlGDHPXNaWrRyRW1mfLKKLWIHjOcjk/XmqtzbiCGK2V+yk/7J6EfrWlfTD+0IbV/mUwqG9sKKp3WxKSKGrqG8FWIbAlmumXHcqMAfzqlqUrF9Qjb+BkUkf7Iqzrq/vNHjBBQxmcj0y//wBaqN26PYXkgHzSy4FJFNW0KMrgRPOGXaw6HvWSh33G/PygHmr8vzRiHjBXj8KoxFlXcBwRVEbFWZnELYJ56VVAG0Nkk1YuBjC9ec9ar9PTrTvoA7jGGJANNHBCmg/PyfuikOCwA6U0Apzs3dRikXJQYPJOKDxJmnAsSBgYPShgDNwUHGODjvTVbjHQ+tP+6Tnr2pB0KHGRzSQCANnIOcdhSkc9PofegriTdkUu4M46YFIYzJHUDPfihgpG4dKc3JJHWgFigAxVJCEXBwAM4pGJBxnFAXtxml25HGKLgXeeKcWwoK5x0oI3occcYxSYcRgZJ9q5zezQFjjr05pBuJyDilAIHQ59KFxuxtIwevamLRie3Q+tOypHzMR6YpCvJX0pCeny5xxmgXwoQqf4DmlUhR3Hp7UDheGFIQ7LwD+Hei4rdUB3MRk49eaCxBYDoTSuVPfp0pR83GDjuadx21G52rjpSfL92lb7gHcN1ob5iu0HijckDyo5z9OaQjcQPyHpSrlU4BpDhSMck02PTqNQEMQKuRKrANuxng5qsSAhIbn0qSAgrjcPxo3JtqSMBvA35rq/Dbu+nXrxt88SDaPXJxXKzrtkAJx357Vv+G5HhSR1cZY7ipPamCTbJ77cGcrKeJQh9+BTrt/N1Oyt1bEakKSBnAPU1NfW6MtwcsgRBKDj72eP8/Ws1STdIhXkqMD14oDW5f1J4lvtoY7M4T12jpmsfzDLdzOzEkRY57Vd1eTZdROcEpCgIHY81Tt4vPDso+Z2AOB2zQtgbbHCNpyhflsKoA54FOkWNL4vHyMdDw==</data><length>3736</length><position>12</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b98b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>QVLMqw352OAqEgY71ArGa6Jx8p7AUINNie22+WzsOpyBW5aCMfY5QNrF9zhuQVHT86xIiRcxxoCq4ODjNb9tGFmsix4wRtNJlRWoanIovJpSuAZC+wfwk1jHDzFSAuZlJIPQVua0+7zZCQyLMVDYwWA4BrEMqLA8eArtJuD9sYpdNB7O7K5GAOAw3nrW3oYMV3Ad/wAqTq7E9hkZrJcOVEbMDsODx1re0CKOW9MTkbXZRu7dRWNb+Gzrw9/apnS/FjSDovxE89Itsc6RXIOOgIBzX078JpxP4cuIFYFPOS5VvUOgz+orxr4vaa2reB9O1Vo83KW6wue/y9DXffs96ut54YjLMWcbYnT2wR/OvJm+akvJnrR9yb8z3GNT5wXYSc9DV6OM4OFA6dKiggUzmcZEoG085zV2IEA9R+FcUUdPNoLu+fJYg9jU0ZBO5ck4yTUXlkxjg+gpqtJFkiUoSNoOMgg9R+lNuxRdjyykZGH4Ppj1q+q7YgsXDdMHvVCL5GUscK5JbHOPY+laMMkawEKoOxvvE9auKbRlNkbShWIT7oGDnr/9ahJiqbcEFsMAeeQe9Ry/LchgQAOmOhJ9aa+PmRCwKj73403cnRj5ZPOOFYg561XjRiBlmPJHzDHShpMxM4jAyMgE/rTlEjZEZ3cZGfep32NEi1b2qbDk9BnP1q5Gg3LCiGTPBxVKKG8lGEh8zAByvPHc4q1babdwRtOrSRFuOCf5VcYtdDOSXcoaokcM5QEjGBgVkmzlmbcFJUnitCaGWN/37M+G+/1/CtWzvNPhto4mgDbVKuCfvZ759qjlUn2L5pRWmpgTaZtsjcPCpReM56VmyWiEbJer9z2FdejrdTyRReWEkUJIM5xjofasC/04Q3zwls7Bkt65pTpPdIcHfRmOIUZhwf7wJqVXWI+WGIXv6U+SELCHV9ygZ465FY961y8atG21FYFvcelT8G5XLc2ZLsKdwzz1zU0M+ZBjge5rDimMkTIx3Ouck9f89KnhuG8yONmAFUpaktJG47Ak8cnpVSd8xiPK7ieeKj+2FYBns3PNCMJWUkgALnr1PelJjVupXlBLlx0Xhayrrb5TFuWFbUkR2DaTgHOcdKxr8Zjlb7o9Km9zSLPMPiPqQsPAGrPjY07iNB7HHFfLenXIXUr26Z8HeWyfpivoT4tz/wDFHsrR/Kd8vJ7AYH41802t0kdpeM0YJdcdc4969vLYvlueJms1zKJV1C4cWe+UZdz1Y+5NZmjo0jvcA/K0oGT35pmpStvVixKg8A+nAq5o8bL5KkYyc7QMjJOAK9K/Q8ixtXUGbxoJtwYMB+f/AOupJrgya7NcNGFGAm0du2KszJ5vi4tIrArKN4PcjAx+lVrOESajIpIkVp26c557VKfQt62K2s7U120RT0th+A54rGYx/wBhKT03frWnrhjtvGE4BLIgwM+mKx5yV0SOMjlm3fT2pR2CRSmkzG7LwyCqaELHv7ngZNTTuSsmxSAetV5ARCp/unitLktFRgCSTw3rSYBGdxJ6cVNKMoPkOepqNCOmNtF9BMYECg4PemlCApU/lU4AAJ6knORQoVRg85ouFiJlzyv8NDLz97mpSoYMQcZ/hpuzcv3T8vf1FFw5RhXAIz196FZvNJweeOalI+UYXj1PWgKNw+bryKV7hYaAu0nvUYG4nv65qXnBBJFNwxJAU5NNDeo0KSm4KBt9DSBWZeRyalCsBgEjHWlJAjJxjHalcLECKxbJ4FEgIbrnjtUmBt5HB7UhDA8A1QIuEkYHIzSng59qTJ4yOMetJkheOQeuawRsxDgNzRtPfvTuQCBjHY03nALHOKYrWHMRv9qZjPyspzntSrkscjik5I6gjvQJ6oXbGGCkHHfmkbIbagwBQPvfKOPeg5B2gUCUg3Kx4brzTgQFyD170wdAQBu/pTsMVIApsPQaexyTnpTiQBkD603+FfamFCIm56mhCe44cEjcM+lO++oK8kc0hLYI2jPrmmgsRzwPancbYEc4/Onw43gdj1NMbLMAeOetSJtWRVIyOpp3ISb0JZMtGp6k1s6FMUuZWABAXG361jSt8qbFxjjrV7RmddRZB0IFA4vU3b+aRbG6ZGIMuyHHtnP9KoyB7eSKXdkqmDmrd8wWKNQV+Y7mB9e2KqXSgWduXLcqdxJzQTtqO1AOSgkwS8Ycj+VJZhfs0ax8M7ANn60x1Dokjvx5ZA/pU1jCyx2sbfL5nz7/AO7TsMbfFH1BvKUhRkkew4qvbqJZFJBGRwB3q6FBh1O4254WNT6ZPWmW6LGW3DaI13c0rg1sPsUCXaqSQTwobrzWuoAvA5Y/LgKBz061m+cI/EUDbRuXDYHc9s57VbjYmV0JADFjj+6TRYfN2LmuiRdPtImAbfJkgdc4rnid6shHA+bPpitrVkeTV4Yi4YKoxg9KoPEn9sPDtDL93APU460lpoVo2KEJuZY1HDIrc+9anh2FlNyVXBgxIeeoBFZmk3MtxeLHI4ZvK2A4/ungVv8AhgH+1tUtQoMlxZtsB7Ec/wAhXNX+CSOzDy9+LPoXxhpjXnwzuooRvC24lGOCVKg5Fcr+zlqJi8QalpeTsaESR+5U9q9R8NGHWfAOibuTdWRs5HYZwduBXgnw0vT4S+O1qt1IUhtbt7KcHgFZNyhj7Zx+leVT2lE9afSR9x2b/KHBXD/MM/SrZ/hLgAHPasnR2/4lkaPuPlgp83fmtZIzIchjhRhc/wANcptFjtnPmckLyMetRs2+9J3LsjH3cdSatR+ZsAkAYj+VIII/MndlyS3AzS30HzIyp7p7VinOZOue1Sw3wWEbmyp6KDWXq9nd3M+dxBG48e3SvN9R+I8Olaq2n3KeUUOMspHH16VlCp71jaOHnVXuK7PYhqBAZHZiMYHFSC9UKfmByMEmvFJvihGsZeBw2BnJbIrl9S+KmoXBdI5wqHoU4xXbCLludmHyetWemh9CXvijStLRvtVyCQMBUHaueuvihaQjZbxRxoRxuwSK+crzxpNPKwMm7jPJzVJtfv7lgLeGaY4wAkZJNdMFSitWfQ0Mgw1NXrTPol/ibL9od7OU/vAPvPwAO340kfxV1CG4WQajIAQScHIJ9CDXz+G8WwoFk0fUYsuFVWhOWJ6YonbxDboWm0jU0UnaCLdjn8hWir0dkzshlmWvTnR9L2/xi0tyranEswH3hH8pz9f1qVvih4Ot0BiVppWAAwx69yfpXzJB/wAJBJtkj0nUDGpyWe3IGffIqe6i8TNIXPhvUWUfOxhtzt/DFL2lHuc88ny3m/iW+Z9DzfFrTETZp8EcDLEIyM7i7c/NmsG58e3srtLJIeOuT1rwvztTtJCt5Y3ls7jIWW3YHH5VFceKpUdoCcAgEEZz+PpVc1KWzLp5PgormhJP5nuP/CesjoHXcPY1pweL9NvIsNLsbpgnBr57h1SdohM7E5Hr0p39qXDlWhlIx0IOcGs6kIHPicqw7Xuux9GrdwtbvMjjc7bs7ugqOPUSJsFzzluOwrw218Y3ESCGafcSMEium8P+ILzW9RSxtEdnOFYoM8VwzioanzlfAzg2lse0Wt3FdvtJcnaX4qxBC6IyMxMhO/8AA1DpunLawRSAkttCnPXHeti0habUZAP4RgCsfiscD91kckO21J6ev0rndXi/cMoUbOp65rpLwFLh8H5SvFcxr1x5dlLhjkr8mDnFOyYuax85/GTU0g0SeINlwvA9s185NMRZww==</data><length>3736</length><position>13</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>3d8b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>14</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>bd8b0228db61b200b793f2b6ae9619a2</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>15</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>318b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>16</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>b18b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2320</length><position>17</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>068b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>18</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>868b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>19</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>0a8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>uEYgPPI7DtVWAblQBhuAyRV2NSVHA6dO9LYpEsZzGWwemKsDEiksMEYK5/lUEWVIHbPbmrSEElevzbgaq+gNakMkLxlnjGe5xVdXKzFiwyDwT3FaJPDRuepzjvUDQpJkum1uAOKQ15lZo943jAbGVOf0NNHmOc4C8cegxU0kM0cuwIpULmlKhwrEgEDBXoD+FJ6gmQBAGZivJblOxFNJC5Az8w70shKxiMNlc4GB196YGLuWKEkfw5/rSTRQ0bN2Qq8c96jeN1tw23cCcj2py53swU4B5Gaf5crAOquoHfHSgTRAUcRqWIKkZB9akihd4t2zdz09KmWEIT5ikseR3qyrskQVBgkcg04xuS3YriKFSDI3b8qgnfzcbR8qnJ9qtOOSWQkY/A1CXUFiEGMZ2ntV6WJ8yhLCdvlsDyOv9ayLjEkjLBGCi43Oa25PNkdt5bpksOg9qyZ1Vk2KMKWyExj8/WsZItMxLpZI5Az5aTk7R0HHH8q5bVIzc6nb2jh5HVRMwx0boAa7W52tJhuRkuxAySQOnsK8+8V+JLHwr4Z1TxNqG9pZj5Njbpy00p4VVHfHU+gpKDbHKVtTxj49XMf/AAktl4ZkYGSCM3tyy8lSRhVP5V4Da2yS3ZLDIJ+QfjXovikXUlnqWq6pdLPfzhN0gbO5m7Z9B0rgLZo7ZXZSCyrhfTJr6HBRUYHg42Tc9RCZJ9WkkRcrHworZtzsuLe3U/Kq7pBmsqzidcbs5c7iRxwOtPilkKTXBYjcduev5V3I4STUL9UtbqZN25gUjy3Yn/Cs2zBSDMag7Uxj09afrHlsgWLPyEAg/lTgfJsJexcgAUMQtj/pWrwrtBy4GK9FusSC4ZPkjdY0YFumG7fhXA+GojLrCPgv5bZ+Xqa7WICTS/JWVWmmmwBnOFHJJ/lUsvohk+qzW2r6qY40cNbfYmLru2oec/pXCwXEc1+8pThpiQO3X+db+pXEtppmo3cmVMh2g/3uMVh6bay/araBuXA8xh9aL6C2Z0k8gi0yMY8vzeCPbNYl5aR3alG/hO1DWpqeZ51RRuCIAMfyqrDGwk2OCu055ryak+Wbsz7TBQjUoqMtmc5crLbzqScMMDPsKtG78+zbI56GtS9sTdQb/LAbs3rXMESQXDxPkdRgmuqnKNeOu6POxVKpl1T3PgkRthVKkDJOQajlJlcM2Bxjip5kwkbAZ9cGqy4D7t3ToDXYtj56W5v6QVNsR79a0xjLAjnFZGk5MbH3zWru3E4XGa8isvfZ+hZVO+FhcZ823GeetRqo3Fucmlf5ZiucjGKd8uzIJNTsdDd2JIivESQTUDW6ywHPAqyuVjAxx61Sv7pLeDaG5xV01JuyOfFunCDnUOduEjjuCvYdhUC46Doe5p7AvKxbvmjbiP7uMHvXsJ2R+eVGpSbRowJaiyJZcuehqkZCxKjimjIUAHnr1p20A7j1bjik0JOw6OMlGk28YxTkK7BhfrTFm2x7QTwc1IJQ/wAyqKlpjTRRGcZ6D+dKSP4RtpQCT3Ax2FG07vUfStWyC7D81qyg9KqyMMZxg1aiZfsvp61VmwB0FRFaj6EQBA7c+tOU7SeAeKQY2gc0KNxz0HTmtBBgHgd6CNpAPalIwcDrQRzyfoaAEzz93PvTwGZsL0PamdP/ANVSRZXPHbOaT2AGUjHHaml+MbRTnY7cg8+9R/j+lC0AOSx/lS7hlQex6CnBGI3Bd2eOKsRWqAbt+5uyihtAV0QknA4q9aqA25iSF6VJBau8pDhUUZI/KpjHtjAHBzjnvU3AkdzLJGu7Kqh5/GpEOJAw5GMc1T2uDtX72RnFX3ISIxlcHpk0MdynuAkeIjAY9a6S9SaHwRp0UgyJN0i/TOK5mYASqMZ6ZNddrLK+k6bbuRhIVUY7VLQJkNm/l20cKDYGVWkJHJwa6y2tWbUnsdv7y2spJ0Q9Ajqc4rlPkZ5UB2sEUKMcde9dJeaqIdfutUiXcIrT7E5HHDrtz/Wk9WUlZXOSjc/2a7gqgK7D+ArN0hMa1GnYZGfTitKRBBDJBKn3ATkc81n6QYzqIaRyFBwSvXpVIlm7ZMkfhXUZZJwsphKonc5ODXMW37pTEePl3cVtMrReGju5eRtpB9PWsYKIrmVepC4O6hLUCzYYFsOoO41LcxH7M77ThGBptocWm0AZ3A7vwq6ymQPEXOHXA+tAIo78KQzY8znHvVp2fbEF+bPUVTuE8q7jjZgWxn2q3byqYWyPmzz9KlrQqL6n0z8KpIrvwMloVVLiJ/tFtMe4H3kr6C8PXxvdP8xyTKqgPGOo9M/hXyX8GdV8tJLOdnZg6vBjpH65+tfU2g3XlvHeK22R8q6nhT0r53ER5ajR9FQleCZ2UKMse5sbmbt6VoQ43iTJ2/yqjaXUMyDG0E5BUnn8KvRmMHeXGAMbRUJI19SyqMAZCuQTjipkyqB9oK9Mjr7VXWYonDEk5GParauBEmwAbuo69hUyWoahs3yYxkgfNjtQAzBQeQueadhSFGPc019xRTg9eoPUUdRisYsN5gzgDHtSNsbBdVy3RsdKYwbzAGVSpGTikckOCFG3Oee1O4uUcbeEkIuFPTJ/mKhaBFQhiFGeRTlLhkUqMg5BboPxoCjZgYKv37ilp0GrjPLjxxg5HTvigvHHuf5sDjb2pywL5jSIxbHAI4PvTjGCM8EHrx/OkkNtIbF5boXCkhjyKdIdqKQhQk8kdQKlVNsZVU6ZHHrTBuLsJSQGFaJWMyLJMWECsTkBsc/jVS4iClWOA3HzetW+YohIAcHg8+9VJW/hLlcHcOOlDQIz5Q3kt85Gc/KKzmg6ZJ6/e9K07hgykBt7McdMVlalf2WjaJd63rVylnptohM87n06BfU56Cs7XZV7HN+NNd03wr4XudWvpjHGrBNy9WHcAHqen514dcTaz4puYfFmtwSRR5YaNZSD/UxHgyEds+p9a6Rkvviv4ptNf1q1uIPDmnKWstPk43c5Dye5Pb0xVj4meINI8CeCrnWb9lk1W9gaCxtTxtPRWK/3R6UoJ1ZckCqjVCPNLc+W/G935estpMZYiJyWB9Sc1y0gP2UbtoZ2xx2FSZuNZ1hHuJTLdXUo3MT+tJLEsuomKF12RkqcdDivpqUOSCifNVJOUnImaYx2xA5dl8rPrS3EiR3kMAGUhVc49T1NJGBFKGcK3l/Njt7VXZmMoYrhpDk4rVaGJWvXeWdyrEjd+daOqxNbILOQAyRopf6kZ/lWZA3mX8nTYDk1NfzSzo8rsWkkbqf4uMCmBueGbdLfTEu8nzJCxAHYYPNbVhJ9mIm4IWIklvesnQ1NtpfmSjgFY1Ge7EZH48j8a2fEDr/wkV6II1t13n9wGyEXA+XPcikx2Oe16V5NLijUs+WLt7r2/nTfD0E93dtNuJCgkflVLXrj/SIolwGKBSvtW7pN/a6Fowe5GWYg47ms6rkoXjuaUVHn9/YTw3q1tbeKBYauv7qRyWZv4f8APFdnq2g2ssj3FqFKkBgFOcgmvKfEOsQ6lqclxBYLaZ+UDdk49TXb+BfF9uYRousOELDKzsflHoDXh5lhKzisTTWttUe9luYQpzdCT93ozs4PDenzWSgKqsOgP0rzHxl4bewleYL37dxXrmlXMcWoLbsyGNydhJ3DNZnjjS4LjSppg/QZ54r5/A46rRxSjLZn02LoRxOGlFng28Bwo+6Bj3qLbuYlV4FS3ahJG2kbgeoqGLJ4LHNffJ3Vzw==</data><length>3736</length><position>20</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>8a8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>zlrllys29GIML5AHNaTfLzgCs7SRhCD174rRYhuvQCvJr/xGff5Zb6pErTN82T1NWYQCgyO9UpW/e8c/WtG1ieVQNvB70qmkTShViqjciKc/ISp46YFYWoRmQbiSa6aezZIjwfXmsm5hyuwjtVYeaTujyc1nKs2uhy53FgFJyacpIUhvwqSdMTbFHfrURH73rkA4r2E7o+QkuV2HBMvk9PWn7gG2r0HrTWz90E5FIwIIyPcmi3cGxCSww3GKTBHRj+VOLAtkDr2ppbk7QMUyRm4qqmlBOT06UbsoBjkcA0bjjAxx1pgSLuMYx3PakkRsZ4yachymMcZphH3QCe9QtwGg8beM/Sgk42qf0oHElKRiT6iruA3Jzx1pT2yeKUbeTznPaghSQMcUMBhB6kVLEoPqDjB5pCNxxkYp6owyigY9aLghsiMzZBwKQRkru25qyfJVEVSWbuakt0iklG5yuRyDS1AbBbzOjAL5a5B+lX7aO1hjMjBzwce1Rm7gSQrEWYAYB6HNRKLq9nYrEZGIzwO1JgXFuk8o4XLNxzzVRm/efeYqOakePygFIwx6A/rVckZxDk/3s0bCZLHPw6gDcwxkdetWJ8mEMSdwxk1URRGwIHzjkmrTbZbRh0ZjuX3xRca2IZEYFSOSzAH2Ndbr6hIrSFArAspBPU4FcvCFmuIkBJy2/J6AZAxXVa8u/VLZwhUk4VD0wB1qWUhi4PiFFf5VCqzKvfmta38t/CGoXkqrJ9tvTAqnqm0ZB+lUUSNfEV0pX5RaB2b+6e2KZOJk0fTIkyTcozMoPQlsZ+uKHqw1RTuHEmgLKjbptrLKRwTjpWLp7SfaI0XkSSCM47ZNaE7RQLIisdjZA9jmoNGiaXWLdQyqiyh93YY5ouLqWdRkKSLaschZcH8DVC7QpesAM/MBVrU5Fl8T3ccYIjySM9u9RStuvvl4XCk565xTQmFsXg3Q7Mo4/IirB/dqGHOPWolMn2hGj5U560jlgpVu9HqNajZ0V0ilYlW9alhcPCW24H3SvoKSdklsoNp+ZPvUtiomt5k3be4Pek9h7np/w0voor7bG6gzqIpT/dweCK+r/B2oC4srzS5zHJc20gwwXcs8ZUHcp9R3FfE/gfVV0bxXYTzcRGdUc5xwTivsXwrbzWt7qCQqJfPiS7g2MVaLBIYr2K4xXh46Fp3R7uDknCzPTYLWIhblMOrrujb1HcYrXtIUZPmPsw6H1rD0W8WbTY1ePDBvMjdOmCcEH3rpIoCETDoSgPB78+vftXFG3Q62+jJ13FBnCn2qWJcTqdq/KORn71RnfJEqlFRu5BqUKDwCCfTHNU0CZL5ZJJ3DHcj+GmhJIigMYYZ781LGgLDepQfoalUHIR8HccjB6UkrhexWETKCQMHsp701o22jj5mIXbV8opYAHDdcn+VQMHYEE9twIHT2quUm7KkimPEeMqGxg9KMgklB9/nHTbUuBIpzkPnOTThbH51JyOh9qSW47lfBDmTcpY8cdPwqRSvBIA9c9PxqUQoiGMDcx4AI6Ux0CzbSM+3WizQXuIsjyZdFQBvlznAqGRWRkVSGYHkE5GKsbANsAUAsfmNRMqKNrrgAkD2qnsJFU8ujSZ2jJxjgVUkaTbgDvncfStA7gAFG7YOcjrVaRFZcqcZyWyeFABJ/lRa4XMu9urLTrKS+1W7itrWFTJNJKdqxqO/ufbvXhepDUfir4tje7aW28L27m5t7CTjzQDxJIO5OOF7V1WuJN8SfGS6bG7J4Z04LIGUZF1IOrt6gdFHTqcdKt6/9n0+5BsYkUJhRtXhRjgn3Jrnk3N2Xwr8TeCVPV/E/wK+sappXgnQhf39vCUwGS3DYaYjkLjsK+K/ij491T4hfEKfW79k2KfKgtozlI1HZf8a9C+Mfim4k1H+xLe4aa7yfM4LYJ7A1zth8MpNL8CjxVrku26vJRBYWvdj1LH2Ar08M40lfqefXpTqtt7HmtuDahp+FkYEKR/Dmks9imV5BwRxirmrJGZnZSNoOzI9qobFCA7s55Pv7V68XoeLU0kSSBJF3AkZ5NUvNdQ7kktj8qlncRRlcY44FR/MtoykAnGc1oZ+ZFZKRb7+csM8015TLedtiDpipfMihssBeWUYGar20Ykuvl5VmAApgd3YWSvcWNvEN2T53IyMqM9Kr38jzlpXL5kkY7u556mtvw+uwazqL/MlpZnaeh3t8oxXPXk0dsYhM2U8vaFzyCRk/zqbsq2tzAEX23XlO/LM4GcfdUdaTXLr7Rd+XEP3SE7fcds+9W7JnsrG6vyqBplaNC3bPcVzshaSYkN90AHBqkQxZZWaZVlUlQAOe9PGFh3DnJwBnoKVtjhMZ8wNioZRJG5BHOeophY67wr4huoJPsEkpkGMxOx6Gut1HWbrUbIwSk4x3rye1m+z3cNx12sCRXrVpqei3OhtNKyJ8mTn19K+dzTDqFSNSMb3Pr8jx69lKlVlt+R5XcgrfyqFBXcelVn+8M8fSrOpSxDUZJIgwjLHBNVs7zt4yO4r3YJ8qPlqlnJtbXNXSpwzFMgMPXvWlIxz1FczDL5F1uXkZyMVtJdecoauPEUnzcyPpMqx16PsnuhQc3Cqx69a6nT1QxZAHFcwwUOuT+VdBpki7OelcmJV46HZTdqrRcu9rx4A56Vi3EW0uQMgHFbsihuVG4Hv6VnTxMARkZ6muehK2heIhzanFX8bJcHjk1RICE9fWt3VoQrsQvb1rDIKgE/rXvUJXifIYunyVGIuGznoRSuOBk8eg607AJ+Y/ShlHAz171r1ObpcQFcHHpio8r2z+dPAHr+dBUZ60xIj2nb1pShDcZwaCSEBPWkDk8GgCfbtj4OcDg0wg+WH7jtU0QBhI3HNRsCASxAH61CeoWIgp3hievb0pxVy2Oo9TQHX0/OlYkkAA9O1WNK40xlTj9BTQG644/lUoWThvKzilbOCQMDb0pXHKEluiPawwCePUd6kCqoO48e9C7ldRjPHPFK6Fx5hV8N7cCi5I3I3ARt0GRnvVqyntrX97PbGacfdVmwp+tUzjjCGmhmB4X9KYF6DyTcPLcrsy24Be3fFaKXYt1xY7kLDBcdcVkRZaTkfKDkmr0DNtZm4G3n2pNDQycjzdoOcc5+tJZ2s15HNJDGSIhukbsBnFRgNJKiAA+/41pRy3FnZyxwO8STEK6hsBwOgPqKGhaFSNXV2Vz8o4yep/zmh5CyhIhgdvUUKXe4AdTuPc0wmSO6JXkDrQkGxpaTsbXrEyJ+7Zwrj1wRXba9EZtcsSsY8zbIdp7DdgfpXJ+Hwqapa74t58wOAfTv8A0rsNVnc+IopDtfeFVSP4Qx71nJlpdShqK7dUvZgOPIhRlHchf/1VBdyRWV5AsrsXi2soHQAr0/Op/EDtD4hvo4cqp8pQoOccDNZ2og3Or3DYK5GVBPGQKExFLU42TR7cMgTzWLbxyCBjin+FrX7RqEu9gvlrhfrn/Cm3ksg8NxIzAg52k9cZNW/DlubXR2vi23JYn2wP8aoaXUzZJkuPEV7LHhkLMAPYcZqvduPtpfflsYG0YqG1zCYx1ZwQSO9OnfLoy5D9OfWqIZIryRxBDyR0arEjiWNCRjjFUEbcg3cnPercBzDh+zcGh6jYtk8fkk3I+VcgY7miykP20jJAPAqKBcyMp6E7hSx/6/jA3Hg+9JlpGwgkiuowQrFXDc+mc19mfBvVpdS8L2uqOUea1lbTnjbk+Uy7hivi+A==</data><length>3736</length><position>21</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>0e8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>22</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>8e8b0228db61b200b793f2b6ae9619a3</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3084</length><position>23</position><sys_attachment display_value=\"photo\" sys_id=\"718b0228db61b200b793f2b6ae9619a1\">718b0228db61b200b793f2b6ae9619a1</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-13 19:03:27</sys_created_on><sys_id>028b0228db61b200b793f2b6ae9619a4</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>befb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>Lisa Perry</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_7bbb6069db21f200b793f2b6ae96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment\"><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>1223</size_bytes><size_compressed>1246</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:54</sys_created_on><sys_id>7bbb6069db21f200b793f2b6ae96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:38:54</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>bfab6069db21f200b793f2b6ae96192d</table_sys_id></sys_attachment></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>f2fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table>ZZ_YYdb_image</table>\n<target_name>image</target_name>\n<type>Attachment</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_7a8be829db21f200b793f2b6ae96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"2a8be829db21f200b793f2b6ae96192d\">2a8be829db21f200b793f2b6ae96192d</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:00</sys_created_on><sys_id>7a8be829db21f200b793f2b6ae96192d</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>f6fb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>7a8be829db21f200b793f2b6ae96192d</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_attachment_doc_fa8be829db21f200b793f2b6ae96192d</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sys_attachment_doc\"><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AVAGr/mJUE5HDQoaCgAAAA1JSERSAAAAIAAAAB4IBgAAAE0KHCkAAAABc1JHQgCuzhzpAAAGCklEQVRIDaVXa2wUVRT+7uzsq69tS2lpKWCX0tqmgm19NMIPDdGAJgSQGBQp/FBMExOFBIhKNEY0MWJIIwLRCKjEAEEMkYgKalBjkIBQagGlUBQwtKUt7W7bne48POdOt7vbdnFrT3Jn5t4595zvfuece2cEximFq7/OdsExOaCpLe1bHwqO1Zya7AT/+iM+XReTHcKYbplWuRBKGSyU0vxpJqzMNGeoph04m6y9iN4IAKXrfk4f0AIFpqr4HZYos2CVA0qJNWAWOQRyheJ0CacDsCxq5JqaME1dKCYNjF3UwtX7vE7Ft1xAVMISpQN60A+HkucQqgeqCkHLhMmOhO3QCAPchoTGJZqhgTE9qCKcmQWXVQ+XxwNDhyBHvCrL1MkxtaREQFGEkZTqMCVVUZk60WeFNQ9T+v/EEj2aOQUrv+hLZr4HHvg8/X2t2xe3jciBZAzE68jQq8W56QfK88WoiUDhpSmsZ98tIdDa7exxPP/N3HED4Fx0UnZuXXF3SvnkDJg0wI2FwgKF7mGD+oMYeIyx1H54Ju3wqav5twUgE520+c5LU2kygY8T7hv0cu2eRpRMSsPri8swIc0ldTqCA9iw/xyud4Uor4UElpfhRv3TM8mWBd0S5m0BeF0KvFRyXrcDaW4V1zr70asZI0AQNly80YvTf3WjubUXnzxXjexUJ17cfRaHzrTC51VlAMKGKcH1DUTzdVQAvKIp2V7seKYSOYQ4w+OESjQvee8Ejjd3wqUysbYwO/xu64pZFAoF279vkf13vmrGkd/bsenJCsyekY2ekI5VO07LSUxihMhRAbBRdlKcl4bOvjBOXO6S9HXTszI8BoPG/BNTMJ30HyzLwXdN7dhGQN59qgLLHpginfZqurSphanEaYQby6gA+AUrcMIcbrhBVDbC43LIFfJqR5NI+nPc3zh4ARsfLxtyzvohcszOORc4lyIS5TIyEnNnECkuFQVZHkzyueFK4Fwn7wGimOXbxjYsnz0VtXOmovFqz1BFvH/0MtoDGl5eUAJfipM2V5sDyQA/RjFJO/KihQ0sqJqERypypaHaD07hVMutuBzgiOiUXGs+a6ScqcKS+wokU1yKR5ra8NaXf+CVBaVYfE8B7vVnYf7MvKgDeophwEYU+5ZBcca29Wi41R+WqIcD5XxJoQrxT0xF3ccNOHc9IE1wrqyZV4yqOzKxqP5XnGzpGuGcFRPkgA3GTSX4+cl/sH5vE1LJCa/UGVMB0hNlCx3PeHXhnegIarIMZ0314Sitnqle++gMWcLr9jTJZN64pJxK1N4nbgOAX9kgIlnP4eCRSJ81IsLjmm6guihLNnb+9qGLcj9gnbq5RRQ2gZf2nUNXbxi7VlUP7SUxDDC5tlOeJIhCjuPC6nwZO96A9h6/hp0//Q2PMyZyQ9ljB+fYhZuo29WATUsrkJ/pYVNSlt5fSKV5RSZmkBKW7bPEWIp33k+x552tPTCAieluVBSmYxrVemSfl7PlxZ7H5fUjOV9JibqIQM8pnYCPjl0B2+E80XT7pB1exjEMRE2ysdZuDU9sOSFXy6WY7lFlQsavnqtHyLOgbtcZNLf1gg8kPg846TbsP4/dv1yjHHDIA6mT9ogM2pZjJaYXHwJWog8h9BH1wZAhATFrDC5OqMsc/HkjiCJiaEvtTHhp05pTkoPNy+7CawfOy9Vz7vDUVFpMrI0YANEQRBzYYRJIsP9INYv4VekM2PlsJWqKJ8A9WCU8d2lNIR6mPYQXwX32wAxmUnXYkw0RA8AeG+uVk4lBHGzowA8XA5K1WBty2yXnLHzjfOCds+VmiE5Jd2jcANgwnZ7Gx8cuvUn7/XXu/6coDpHlFh05ecHfVFNXhOqyUoSTSoY+SvmD1F7GyJAkMkwsmFke9dNL2+Y1J9IZPs4fj4xWtZy3uiB8L5jhUKViWfSjYfmJrDyh0Ge5gwhizvgrmYHJNhyYJJbia3iHO0mmPxidqOroPyYoIQ9FFMRc4XC6oMT/mMA0dGHpVZc3P9YYtZTc0wgAiaYl/jWzphEnmcIwa1rq54/51yxpAImAjffn9F8Zj35qZCNkYwAAAABJRU5ErkJggrRscTpQBgAA</data><length>2172</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"2a8be829db21f200b793f2b6ae96192d\">2a8be829db21f200b793f2b6ae96192d</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:38:00</sys_created_on><sys_id>fa8be829db21f200b793f2b6ae96192d</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>fafb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>fa8be829db21f200b793f2b6ae96192d</target_name>\n<type>Attachment Document</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>db_image_f4cb2069db21f200b793f2b6ae961965</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"db_image\"><db_image action=\"INSERT_OR_UPDATE\"><active>true</active><category/><format>png</format><height>30</height><image/><name>splunk-icon.png</name><size_bytes>854</size_bytes><sys_class_name>db_image</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:11</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>f4cb2069db21f200b793f2b6ae961965</sys_id><sys_mod_count>1</sys_mod_count><sys_name>splunk-icon.png</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>db_image_f4cb2069db21f200b793f2b6ae961965</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:39:16</sys_updated_on><thumbnail/><width>30</width></db_image><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/png</content_type><encryption_context/><file_name>image</file_name><image_height/><image_width/><size_bytes>854</size_bytes><size_compressed>877</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:16</sys_created_on><sys_id>0ddb6069db21f200b793f2b6ae9619db</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-16 14:39:16</sys_updated_on><table_name>ZZ_YYdb_image</table_name><table_sys_id>f4cb2069db21f200b793f2b6ae961965</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"image\" sys_id=\"0ddb6069db21f200b793f2b6ae9619db\">0ddb6069db21f200b793f2b6ae9619db</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:16</sys_created_on><sys_id>4ddb6069db21f200b793f2b6ae9619db</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>AVYDqfyJUE5HDQoaCgAAAA1JSERSAAAAHgAAAB4IBgAAADswrqIAAAABc1JHQgCuzhzpAAADEElEQVRIDcWX30sUURTHv/fO7Ob6K6lEUosiImXRqAyLfEgQpXyIfvggElQQQS/9A0Vb9D/0lhBU0EtPRW1CUYiIRBlE9oMQU0Nf/J3uzq/uubuztJt3dlZHOg8zO+feez7nnHvmzlmGtMRix/Xx+uV2buM6GDvq2I47tK474wxwnAGb407t50g8FnttkkGhBS49OlatM7OXa6zdsQHbCgZKtkmEXTAu7cZNR794r7t/knU9joYrjNKnoWKtzVi2UjM36BqKaDB+W301ocVOXuGUtGphvuFQioUCI9aEYOqw2C0HwabWK2GydgSTi81v9tpTJjbHsBKwnWC2gVjE5F7VS8DWvefQdeAaNhdtQ8JcDsQBYopaU4stSry8aAtORi/gxon7OLP/qnQgGYADnmByiVJNUhGpxKnGK9KB02kH1pMB7dDZ2pi0vOrFwSY9gj2VDSgOl8kZRaES1FU1oXlXB4pDpZiaH8NCYgaiWDJOrmoqR+kJ5kzD5NwPDI6+EMZnUVW2Q+3AgnBgxb8DnmBykuAJcwUjU0MYGovndyCdAU2sY0wejDmxph7zgmkaGdB5qCAHfs5+E69hUgn3BXZd/teBl8oMfJl+h19zo9C45i7Puuet6qzZ6QcqJCq6RbHvT4bv4vbz8xieeLvaVKVOV47kGaDDReM6Du9sQ1tdN/ZVHcxaQc55ScFgF9hY3YL2+h5Etx/Jsk9H64fxNxif+a5MMy3wDXaBDTUt6KhTA+MjD/B1+r18r+mNUElesGkb0kiDiLDDI0IXKLoN6FpYxcvoPcGWbWL31qg8o1UpLRTokj3BFG2TKJ6/oe4erhXoC0yTbDv1HQ4K6AssWjRYjoGPk/149qlXFo3fPXQBqju7/LBZ2fdQS1QSLsdSch6WZfgqGhUoV0+tT64u80wRLyXmZA/sp1IzC/P8ICa1PoPU96ok1Qiox1XrVHpiSSY056ZX1CoDa9VLlmDyGrb0ykrafdRsb7QQg1jElDn8H39h5CeE/stUj0Q6TdvpFPkfCDL1ZItskm1iEIsy+wf9toafx+eoqQAAAABJRU5ErkJgglKTPydWAwAA</data><length>1156</length><position>1</position><sys_attachment display_value=\"image\" sys_id=\"0ddb6069db21f200b793f2b6ae9619db\">0ddb6069db21f200b793f2b6ae9619db</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-16 14:39:16</sys_created_on><sys_id>cddb6069db21f200b793f2b6ae9619db</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>fefb26e9dba1f200b793f2b6ae961972</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>splunk-icon.png</target_name>\n<type>Images</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_user_d60affb4dbe5b20062e479daae961972</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update sys_domain=\"global\" table=\"sys_user\"><sys_user action=\"INSERT_OR_UPDATE\"><accumulated_roles/><active>true</active><agent_status/><building/><calendar_integration>1</calendar_integration><city/><company/><cost_center/><country/><date_format/><default_perspective/><department display_value=\"VIP\">48197fb4dbe5b20062e479daae96191f</department><edu_status>faculty</edu_status><email/><employee_number/><failed_attempts/><first_name>Diane</first_name><gender/><geolocation_tracked>false</geolocation_tracked><home_phone/><internal_integration_user>false</internal_integration_user><introduction/><last_login/><last_login_device/><last_login_time/><last_name>Flores</last_name><last_password/><last_position_update/><latitude/><ldap_server/><location/><locked_out>false</locked_out><longitude/><manager/><middle_name/><mobile_phone/><name>Diane Flores</name><notification>2</notification><on_schedule/><password_needs_reset>false</password_needs_reset><phone/><photo/><preferred_language/><roles/><schedule/><source/><state/><street/><sys_class_name>sys_user</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 21:45:10</sys_created_on><sys_domain>global</sys_domain><sys_domain_path>/</sys_domain_path><sys_id>d60affb4dbe5b20062e479daae961972</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 21:45:10</sys_updated_on><time_format/><time_zone/><title>VP of Marketing</title><user_name/><user_password/><vip>false</vip><web_service_access_only>false</web_service_access_only><zip/></sys_user><sys_attachment action=\"INSERT_OR_UPDATE\"><average_image_color/><compressed>true</compressed><content_type>image/jpeg</content_type><encryption_context/><file_name>photo</file_name><image_height/><image_width/><size_bytes>4896</size_bytes><size_compressed>4603</size_compressed><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>596708c9dbe5b20062e479daae96194a</sys_id><sys_mod_count>0</sys_mod_count><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-14 22:43:06</sys_updated_on><table_name>ZZ_YYsys_user</table_name><table_sys_id>d60affb4dbe5b20062e479daae961972</table_sys_id></sys_attachment><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>H4sIAAAAAAAAAA==</data><length>16</length><position>0</position><sys_attachment display_value=\"photo\" sys_id=\"596708c9dbe5b20062e479daae96194a\">596708c9dbe5b20062e479daae96194a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>996708c9dbe5b20062e479daae96194a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>3736</length><position>1</position><sys_attachment display_value=\"photo\" sys_id=\"596708c9dbe5b20062e479daae96194a\">596708c9dbe5b20062e479daae96194a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>1d6708c9dbe5b20062e479daae96194a</sys_id></sys_attachment_doc><sys_attachment_doc action=\"INSERT_OR_UPDATE\"><data>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</data><length>2392</length><position>2</position><sys_attachment display_value=\"photo\" sys_id=\"596708c9dbe5b20062e479daae96194a\">596708c9dbe5b20062e479daae96194a</sys_attachment><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-14 22:43:06</sys_created_on><sys_id>9d6708c9dbe5b20062e479daae96194a</sys_id></sys_attachment_doc></record_update>]]></payload>\n<remote_update_set display_value=\"PE Incident Timeline\">bafb26e9dba1f200b793f2b6ae961972</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-03-16 23:59:10</sys_created_on>\n<sys_id>fefb26e9dba1f200b793f2b6ae961973</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-03-16 23:59:10</sys_updated_on>\n<table/>\n<target_name>Diane Flores</target_name>\n<type>User</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "timeline/pe-incident-timeline/widget/pe-incident-timeline.u-body-html-template.html",
    "content": "<div class=\"row remediation-timeline\">\n  <div class=\"col-xs-12\">\n    <div class=\"panel panel-default\">\n      <div class=\"panel-heading panel-header-timeline\">remediation timeline\n        <span class=\"badge\">time spent 30<span class=\"lower-case\">m</span></span>\n      </div>\n      <div class=\"panel-body\">\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"servicenow-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Workflow: Update email protection assigned to:</p>\n            <p class=\"workflow-user\">\n              <img src=\"ddbb0228db61b200b793f2b6ae9619cc.iix\" class=\"img-circle\">Anderson Silva\n            </p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"exchange-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Orchestration: Quarantined 1631 emails matching threat signature</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"servicenow-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Workflow: Email deletion request approved by:</p>\n            <p class=\"workflow-user\">\n              <img src=\"596708c9dbe5b20062e479daae96194a.iix\" class=\"img-circle\">Diane Flores\n            </p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"servicenow-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Workflow: Email deletion requested</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"exchange-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Orchestration: Identified 1631 messages with matching threat signature in inboxes (343) read</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n      </div>\n      <div class=\"panel-heading panel-header-timeline-complete\">containment phase complete\n        <span class=\"badge\">time spent 21<span class=\"lower-case\">m</span></span>\n      </div>\n      <div class=\"panel-body\">\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"palo-alto-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Firewall: New rule applied</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"servicenow-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Workflow: Firewall rule request approved by:</p>\n            <p class=\"workflow-user\">\n              <img src=\"718b0228db61b200b793f2b6ae9619a1.iix\" class=\"img-circle\">Lisa Perry\n            </p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n      </div>\n      <div class=\"panel-heading panel-header-timeline-complete\">analysis phase complete\n        <span class=\"badge\">time spent 5<span class=\"lower-case\">m</span></span>\n      </div>\n      <div class=\"panel-body\">\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"palo-alto-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>AutoFocus: TorrentJack known to exploit CVE-2016-0537</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"palo-alto-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>AutoFocus: Attack matches profile for TorrentJack IOC</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"servicenow-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Event Management: Deduplicated, 1631:1 Security Incident</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n        <div class=\"row\">\n          <div class=\"col-xs-2\"><img src=\"splunk-icon.png\" class=\"workflow-icon\"></div>\n          <div class=\"col-xs-9\">\n            <p>Splunk Alert: Wildfire observed 1631 malicious emails in transit</p>\n          </div>\n          <div class=\"col-xs-1\"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "timeline/pe-incident-timeline/widget/pe-incident-timeline.u-client-script.js",
    "content": "function IncidentTimelineController() {\n  var c = this;\n}"
  },
  {
    "path": "timeline/pe-incident-timeline/widget/pe-incident-timeline.u-css.scss",
    "content": ".remediation-timeline {\r\n  position: relative;\r\n  .panel-heading {\r\n    background-color: #283347;\r\n    border-bottom: 0;\r\n    color: #fff;\r\n    font-size: 12px;\r\n    padding: 14px;\r\n    text-transform: uppercase;\r\n  }\r\n  .panel-body {\r\n    background-color: #1c2432;\r\n    color: #fff;\r\n    h4 {\r\n      font-size: 24px;\r\n    }\r\n    .sub-text {\r\n      color: $pe-anchor-color;\r\n      font-size: 10px;\r\n      margin-top: -5px;\r\n      text-transform: uppercase;\r\n    }\r\n  }\r\n  p {\r\n    font-size: 16px;\r\n    font-weight: 300;\r\n    img {\r\n      height: 18px;\r\n      margin-right: 6px;\r\n      width: 18px;\r\n    }\r\n  }\r\n  .workflow-icon {\r\n    position: relative;\r\n    z-index: 200;\r\n  }\r\n  .row {\r\n    padding-bottom: 12px;\r\n  }\r\n  .workflow-user {\r\n    font-weight: 400;\r\n  }\r\n  .panel-body {\r\n    padding-bottom: 0px !important;\r\n  }\r\n  &:before {\r\n    background-color: #3d4e6d;\r\n    content: '';\r\n    height: 884px;\r\n    left: 11%;\r\n    opacity: 0.5;\r\n    position: absolute;\r\n    top: 6%;\r\n    width: 2px;\r\n    z-index: 1;\r\n  }\r\n  .badge {\r\n    background-color: #1c2432;\r\n    border-radius: 100px;\r\n    float: right;\r\n    font-size: 12px;\r\n    font-weight: normal;\r\n    height: 28px;\r\n    margin-top: -5px;\r\n    padding-top: 7px;\r\n    width: 116px;\r\n  }\r\n  .panel-header-timeline-complete {\r\n    background-color: #2ad587 !important;\r\n    color: #0a4529 !important;\r\n    font-weight: bold;\r\n    .badge {\r\n      background-color: #198453;\r\n      width: 116px;\r\n    }\r\n    position: relative;\r\n    z-index: 200;\r\n  }\r\n}"
  },
  {
    "path": "timeline/pe-incident-timeline/widget/pe-incident-timeline.u-server-script.js",
    "content": "(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();"
  },
  {
    "path": "timeline/pe-timeline/Readme.md",
    "content": "# Timeline\n\n## Description\n\nThis widget can be used to quickly obtain an initial implementation of a timeline.\n\n## Screenshots\n### Collapsed\n![alt text](../../images/pe-timeline-screenshot-02.png \"Timeline Widget - Collapsed\")\n### Expanded\n![alt text](../../images/pe-timeline-screenshot.png \"Timeline Widget\")\n### Playback mode\n![alt text](../../images/pe-timeline-screenshot-03.png \"Timeline Widget - In playback mode\")\n### Show Icons and Show Colors set to True\n![alt text](../../images/pe-timeline-screenshot-04.png \"Timeline Widget - With the option Show Icons and Show Colors set to True\")\n### Show Icons set to False and Show Colors set to True\n![alt text](../../images/pe-timeline-screenshot-05.png \"Timeline Widget - With the option Show Colors set to True\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-timeline.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/timeline/pe-timeline/pe-timeline.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n\n**\"Title\"** This is for changing the title in the header<br/>\n**\"Show Icons\"** This is for displaying the icons (font awesome or bootstrap) specified in the input data set, instead of the standard circle.<br/>\n**\"Show Colors\"** This is for displaying the colors specified in the input data set (attribute *color*), instead of the default one.<br/>\n**\"Show Left Descriptions\"** This is for displaying a text on the left for each element in the timeline.<br/>\n**\"Initial Elements\"** This is for defining how many elements displaying during the first visualization.<br/>\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n`$pe-timeline-items-color: #ff6f00 !default;`\n"
  },
  {
    "path": "timeline/pe-timeline/pe-timeline.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-05-31 22:06:34\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Timeline</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>e61a294edb873200b793f2b6ae9619f7</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>e20be58edb873200b793f2b6ae9619f8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_a08cfd5adb15b600b793f2b6ae9619a7</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-events.service&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  function eventsService() {\n    var service = {\n      getInitialEvents: getInitialEvents\n    };\n    return service;\n\n    function getInitialEvents() {\n      var events = [{\n          description: 'Automated Event Correlation',\n          leftDescription: '14:22',\n          icon: 'fa fa-bolt fa-lg',\n          color: '#dbcb33',\n          stats: [{\n              name: 'Events',\n              value: 20\n            },\n            {\n              name: 'Sources',\n              value: 5\n            }\n          ]\n        },\n        {\n          description: 'Automated Service Correlation',\n          leftDescription: '14:22',\n          icon: 'fa fa-bolt fa-lg',\n          color: '#d86431',\n          stats: [{\n              name: 'In Total',\n              value: 2\n            },\n            {\n              name: 'Tier 1 Service',\n              value: 1,\n              iconSuffix: 'fa fa-shopping-cart fa-lg'\n            }\n          ]\n        },\n        {\n          description: 'Automated Risk Assessment',\n          leftDescription: '14:23',\n          icon: 'fa fa-bolt fa-lg',\n          color: '#903f5c',\n          stats: [{\n              value: '1.2M',\n              icon: 'fa fa-usd fa-lg'\n            },\n            {\n              value: '42K',\n              icon: 'fa fa-users fa-lg'\n            },\n            {\n              value: '3',\n              icon: 'fa fa-globe fa-lg'\n            }\n          ]\n        }\n      ];\n      return events;\n    }\n  }\n\n  angular\n    .module('pe-timeline')\n    .service('eventsService', eventsService);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-06 18:12:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;a08cfd5adb15b600b793f2b6ae9619a7&lt;/sys_id&gt;&lt;sys_mod_count&gt;14&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-events.service&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_a08cfd5adb15b600b793f2b6ae9619a7&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-07 15:42:52&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>260b298edb873200b793f2b6ae9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-events.service</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_0915a266db51320062e479daae96190f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-events-module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-07 15:47:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>0915a266db51320062e479daae96190f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-events-module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-events.module\">79942e26db51320062e479daae9619e6</sys_ui_script><sys_update_name>sp_js_include_0915a266db51320062e479daae96190f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-07 15:47:36</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>2a0b298edb873200b793f2b6ae9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-events-module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_1721d616db55b600b793f2b6ae961917</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"pe-timeline\">211eca52db55b600b793f2b6ae961973</sp_dependency><sp_js_include display_value=\"pe-events-service\">862e399adb15b600b793f2b6ae961968</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-06 19:41:48</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1721d616db55b600b793f2b6ae961917</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-timeline.service.pe-events-service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_1721d616db55b600b793f2b6ae961917</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-07 15:47:52</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>2e0b298edb873200b793f2b6ae9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-timeline.service.pe-events-service</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_79942e26db51320062e479daae9619e6</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-events.module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('pe-timeline', []);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-07 15:45:18&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;79942e26db51320062e479daae9619e6&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-events.module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_79942e26db51320062e479daae9619e6&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-07 15:45:18&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>620b298edb873200b793f2b6ae9619c1</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-events.module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_211eca52db55b600b793f2b6ae961973</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-timeline</module><name>pe-timeline</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-06 19:28:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>211eca52db55b600b793f2b6ae961973</sys_id><sys_mod_count>17</sys_mod_count><sys_name>pe-timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_211eca52db55b600b793f2b6ae961973</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-07 16:13:05</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>660b298edb873200b793f2b6ae9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-timeline</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_c96eba16db95b600b793f2b6ae961908</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-timeline\">211eca52db55b600b793f2b6ae961973</sp_dependency><sp_widget display_value=\"PE Timeline\">eab344e01319ba007e94fc5ed144b041</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sushruth.chandrashekar@snc</sys_created_by><sys_created_on>2017-03-06 22:59:20</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>c96eba16db95b600b793f2b6ae961908</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-timeline-service.PE Timeline</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_c96eba16db95b600b793f2b6ae961908</sys_update_name><sys_updated_by>sushruth.chandrashekar@snc</sys_updated_by><sys_updated_on>2017-03-06 22:59:20</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>a20b298edb873200b793f2b6ae9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-timeline-service.PE Timeline</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_eab344e01319ba007e94fc5ed144b041</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TimelineController(eventsService) {\n  var c = this;\n  c.collapseInitialEvents = collapseInitialEvents;\n  c.expandInitialEvents = expandInitialEvents;\n  c.nextInitialEvent = nextInitialEvent;\n\n  c.$onInit = function() {\n    c.title = c.data.title;\n    c.initialEvents = getInitialEvents();\n    c.itemsCount = c.initialEvents.length;\n    c.fadeOldEvents = false;\n  };\n\n  function collapseInitialEvents() {\n    c.shownInitialEvents = 0;\n    c.fadeOldEvents = false;\n  }\n\n  function expandInitialEvents() {\n    c.shownInitialEvents = c.initialEvents.length;\n    c.fadeOldEvents = false;\n  }\n\n  function nextInitialEvent() {\n    if (c.shownInitialEvents &lt; c.initialEvents.length) {\n      c.shownInitialEvents++;\n    } else {\n      c.shownInitialEvents = 0;\n      c.fadeOldEvents = false;\n    }\n  }\n\n  function getInitialEvents() {\n    showEvents();\n    var events = eventsService.getInitialEvents();\n    return events;\n  }\n\n  function showEvents() {\n    c.shownInitialEvents = c.data.initial_elements;\n    if (c.shownInitialEvents === undefined) {\n      c.shownInitialEvents = 0;\n    }\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-timeline-items-color: #ff6f00 !default;&amp;#13;\n&amp;#13;\n.expanded {&amp;#13;\n  .panel-proper {&amp;#13;\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);&amp;#13;\n  }&amp;#13;\n  .panel-drawer {&amp;#13;\n    transform: translateY(0);&amp;#13;\n  }&amp;#13;\n  .panel-drawer-wrapper {&amp;#13;\n    max-height: 1000px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.panel-wrapper {&amp;#13;\n  margin-bottom: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.panel-wrapper.expanded-wrapper {&amp;#13;\n  height: 900px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.panel-proper {&amp;#13;\n  background-color: #fff;&amp;#13;\n  border-radius: 5px;&amp;#13;\n  transition: box-shadow 0.5s;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.panel-header {&amp;#13;\n  position: relative;&amp;#13;\n  padding: 7px 12px;&amp;#13;\n  font-size: 16px;&amp;#13;\n  font-weight: 600;&amp;#13;\n  border-bottom: 0.5px solid #7E848B;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.counter {&amp;#13;\n  display: inline-block;&amp;#13;\n  background-color: #7e848b;&amp;#13;\n  width: 22px;&amp;#13;\n  height: 22px;&amp;#13;\n  fill: #fff;&amp;#13;\n  color: #fff;&amp;#13;\n  text-align: center;&amp;#13;\n  border-radius: 11px;&amp;#13;\n  margin: 0 2px;&amp;#13;\n  font-weight: 400;&amp;#13;\n  &amp;amp;:first-child {&amp;#13;\n    margin-left: -5px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.timeline-icon {&amp;#13;\n  background: #fff;&amp;#13;\n  color: #737881;&amp;#13;\n  display: block;&amp;#13;\n  width: 1.6em;&amp;#13;\n  height: 1.6em;&amp;#13;\n  -webkit-background-clip: padding-box;&amp;#13;\n  -moz-background-clip: padding;&amp;#13;\n  background-clip: padding-box;&amp;#13;\n  -webkit-border-radius: 20px;&amp;#13;\n  -moz-border-radius: 20px;&amp;#13;\n  border-radius: 20px;&amp;#13;\n  text-align: center;&amp;#13;\n  -moz-box-shadow: 0 0 0 5px #f5f5f6;&amp;#13;\n  -webkit-box-shadow: 0 0 0 5px #f5f5f6;&amp;#13;\n  box-shadow: 0 0 0 5px #f5f5f6;&amp;#13;\n  line-height: 40px;&amp;#13;\n  font-size: 15px;&amp;#13;\n  float: left;&amp;#13;\n  position: absolute;&amp;#13;\n  top: 0px;&amp;#13;\n  left: -9px;&amp;#13;\n  &amp;amp;:first-child {&amp;#13;\n    margin-left: -5px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tl-icon {&amp;#13;\n  color: #fff;&amp;#13;\n  position: absolute;&amp;#13;\n  top: 1px;&amp;#13;\n  left: -6px;&amp;#13;\n  text-align: center;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.panel-content {&amp;#13;\n  padding: 12px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.stat-text {&amp;#13;\n  font-size: 36px;&amp;#13;\n  font-weight: 200;&amp;#13;\n  vertical-align: middle;&amp;#13;\n  &amp;amp;.key-smaller {&amp;#13;\n    font-size: 24px;&amp;#13;\n    height: 24px;&amp;#13;\n  }&amp;#13;\n  &amp;amp;.key-bigger {&amp;#13;\n    font-size: 44px;&amp;#13;\n    height: 44px;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.left-description {&amp;#13;\n  font-size: 14px;&amp;#13;\n  opacity: 0.7;&amp;#13;\n  display: inline-block;&amp;#13;\n  width: 40px;&amp;#13;\n  vertical-align: top;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tl-item {&amp;#13;\n  font-size: 14px;&amp;#13;\n  opacity: 0.7;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.left-description {&amp;#13;\n  display: inline-block;&amp;#13;\n  width: 40px;&amp;#13;\n  vertical-align: top;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tl-item.not-faded {&amp;#13;\n  opacity: 1;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tl-item.tl-item-summary {&amp;#13;\n  opacity: 1;&amp;#13;\n  .tl-icon {&amp;#13;\n    color: #fff;&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.tl-item:last-child {&amp;#13;\n  opacity: 1;&amp;#13;\n  .right-content {&amp;#13;\n    border-left-color: rgba(0, 0, 0, 0);&amp;#13;\n  }&amp;#13;\n}&amp;#13;\n&amp;#13;\n.right-content {&amp;#13;\n  margin-left: 10px;&amp;#13;\n  position: relative;&amp;#13;\n  display: inline-block;&amp;#13;\n  width: 83%;&amp;#13;\n  border-left: 4px solid #f5f5f6;&amp;#13;\n  padding: 0 5px 5px 20px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.right-content&amp;gt;* {&amp;#13;\n  margin-bottom: 8px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.right-content-title {&amp;#13;\n  margin-left: 3px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.key-value {&amp;#13;\n  color: $pe-timeline-items-color;&amp;#13;\n  fill: $pe-timeline-items-color;&amp;#13;\n  height: 26px;&amp;#13;\n  white-space: nowrap;&amp;#13;\n  line-height: 1;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.icon-inline {&amp;#13;\n  vertical-align: middle;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.text-inline {&amp;#13;\n  vertical-align: middle;&amp;#13;\n  margin-left: 4px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.subtitle {&amp;#13;\n  font-size: 15px;&amp;#13;\n  padding-top: 4px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.expander-button-wrapper {&amp;#13;\n  text-align: center;&amp;#13;\n  margin: 10px 0;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.expander-button {&amp;#13;\n  display: inline-block;&amp;#13;\n  padding: 3px 10px;&amp;#13;\n  border-right: 1px solid #7e848b;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.expander-button:last-child {&amp;#13;\n  border-right: none;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-timeline&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Timeline&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"title\",\"default_value\":\"Alert Timeline\",\"label\":\"Title\",\"type\":\"string\"},{\"name\":\"show_ldescriptions\",\"default_value\":\"true\",\"label\":\"Show Left Descriptions\",\"type\":\"boolean\"},{\"name\":\"show_icons\",\"default_value\":\"false\",\"label\":\"Show Icons\",\"type\":\"boolean\"},&amp;#13;\n{\"name\":\"show_colors\",\"default_value\":\"false\",\"label\":\"Show Colors\",\"type\":\"boolean\"},{\"name\":\"initial_elements\",\"default_value\":\"0\",\"label\":\"Initial Elements\",\"type\":\"integer\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var getBoolValue = function(inputVal, optionVal) {\n    if (inputVal == null) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n  var getIntValue = function(inputVal, optionVal) {\n    if ((inputVal == null || inputVal == undefined) &amp;&amp; (optionVal &gt;= 0)) {\n      return (parseInt(optionVal));\n    } else if (inputVal != null &amp;&amp; inputVal != undefined) {\n      return (parseInt(inputVal));\n    }\n  };\n\n  data.title = options.title || input.title;\n  data.show_icons = getBoolValue(input.show_icons, options.show_icons);\n  data.show_ldescriptions = getBoolValue(input.show_ldescriptions, options.show_ldescriptions);\n  data.initial_elements = getIntValue(options.initial_elements, input.initial_elements);\n  data.show_colors = getBoolValue(input.show_colors, options.show_colors);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-02-28 22:57:31&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;eab344e01319ba007e94fc5ed144b041&lt;/sys_id&gt;&lt;sys_mod_count&gt;304&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Timeline&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_eab344e01319ba007e94fc5ed144b041&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 17:44:07&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div ng-show=\"!(c.recovered)\" class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'expanded-wrapper': c.expandedWrapper }\"&gt;\n  &lt;div class=\"panel-proper\"&gt;\n    &lt;div class=\"panel-header\"&gt;\n      &lt;span&gt;{{c.title}}&lt;/span&gt;\n      &lt;span class=\"counter\"&gt;\n        {{c.itemsCount}}\n      &lt;/span&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-content\"&gt;\n      &lt;div&gt;\n        &lt;div ng-repeat=\"item in c.initialEvents | limitTo: c.shownInitialEvents\" class=\"tl-item\" ng-class=\"c.fadeOldEvents ? '' : 'not-faded' \"\n          ng-click=\"c.nextInitialEvent()\"&gt;\n          &lt;div ng-if=\"c.data.show_ldescriptions\" class=\"left-description\"&gt;{{item.leftDescription}}&lt;/div&gt;\n          &lt;div class=\"right-content\"&gt;\n            &lt;div ng-if=\"!c.data.show_colors\" class=\"timeline-icon\" style=\"background: #737881;\"&gt;&lt;/div&gt;\n            &lt;div ng-if=\"c.data.show_colors\" class=\"timeline-icon\" style=\"background: {{item.color}}\"&gt;&lt;/div&gt;\n            &lt;div ng-if=\"c.data.show_icons\" class=\"tl-icon\"&gt;\n              &lt;i class=\"{{item.icon}}\"&gt;&lt;/i&gt;\n            &lt;/div&gt;\n            &lt;div class=\"right-content-title\"&gt;{{item.description}}&lt;/div&gt;\n            &lt;div ng-if=\"item.stats\" class=\"row text-center right-content-title\"&gt;\n              &lt;div ng-repeat=\"stat in item.stats\" class=\"col-xs-{{ 12 / item.stats.length }}\"&gt;\n                &lt;div class=\"key-value\"&gt;\n                  &lt;span ng-if=\"stat.icon\" class=\"icon-inline\"&gt;\n                    &lt;i class=\"{{stat.icon}}\"&gt;&lt;/i&gt;\n                  &lt;/span&gt;\n                  &lt;span class=\"stat-text key-smaller\"&gt;{{stat.value}}&lt;/span&gt;\n                  &lt;span ng-if=\"stat.iconSuffix\" class=\"icon-inline\"&gt;\n                    &lt;i class=\"{{stat.iconSuffix}}\"&gt;&lt;/i&gt;\n                  &lt;/span&gt;\n                &lt;/div&gt;\n                &lt;div class=\"subtitle\"&gt;\n                  {{stat.name}}\n                &lt;/div&gt;\n              &lt;/div&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;div ng-if=\"!c.recovered &amp;&amp; c.shownInitialEvents === 0\" class=\"expander-button-wrapper\"&gt;\n          &lt;div class=\"expander-button\" ng-click=\"c.expandInitialEvents()\"&gt;\n            &lt;span class=\"icon-inline\"&gt;\n              &lt;i class=\"fa fa-expand fa-lg\"&gt;&lt;/i&gt;\n            &lt;/span&gt;\n            &lt;span class=\"text-inline\"&gt;Expand Timeline&lt;/span&gt;\n          &lt;/div&gt;\n          &lt;div class=\"expander-button\" ng-click=\"c.nextInitialEvent()\"&gt;\n            &lt;span class=\"icon-inline\"&gt;\n              &lt;i class=\"fa fa-play-circle-o fa-lg\"&gt;&lt;/i&gt;\n            &lt;/span&gt;\n            &lt;span class=\"text-inline\"&gt;Timeline Playback&lt;/span&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-if=\"!c.recovered &amp;&amp; c.shownInitialEvents &gt; 0\" class=\"expander-button-wrapper\"&gt;\n        &lt;div class=\"expander-button\" ng-click=\"c.collapseInitialEvents()\"&gt;\n          &lt;span class=\"icon-inline\"&gt;\n            &lt;i class=\"fa fa-compress fa-lg\"&gt;&lt;/i&gt;\n          &lt;/span&gt;\n          &lt;span class=\"text-inline\"&gt;Collapse Timeline&lt;/span&gt;\n        &lt;/div&gt;\n        &lt;div ng-if=\"c.shownInitialEvents &lt; c.initialEvents.length\" class=\"expander-button\" ng-click=\"c.nextInitialEvent()\"&gt;\n          &lt;span class=\"icon-inline\"&gt;\n            &lt;i class=\"fa fa-play-circle-o fa-lg\"&gt;&lt;/i&gt;\n          &lt;/span&gt;\n          &lt;span class=\"text-inline\"&gt;Continue Playback&lt;/span&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>ae0b298edb873200b793f2b6ae9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>PE Timeline</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_862e399adb15b600b793f2b6ae961968</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-events-service</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-06 18:21:16</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>862e399adb15b600b793f2b6ae961968</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-events-service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-events.service\">a08cfd5adb15b600b793f2b6ae9619a7</sys_ui_script><sys_update_name>sp_js_include_862e399adb15b600b793f2b6ae961968</sys_update_name><sys_updated_by>arthur.oliveira@snc</sys_updated_by><sys_updated_on>2017-03-07 00:09:51</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>ea0b298edb873200b793f2b6ae9619c0</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-events-service</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_6a25a266db51320062e479daae96195f</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"pe-timeline\">211eca52db55b600b793f2b6ae961973</sp_dependency><sp_js_include display_value=\"pe-events-module\">0915a266db51320062e479daae96190f</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>admin</sys_created_by><sys_created_on>2017-03-07 15:47:36</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6a25a266db51320062e479daae96195f</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-timeline.service.pe-events-module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_6a25a266db51320062e479daae96195f</sys_update_name><sys_updated_by>admin</sys_updated_by><sys_updated_on>2017-03-07 15:47:36</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline\">e20be58edb873200b793f2b6ae9619f8</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-05-31 22:06:34</sys_created_on>\n<sys_id>ee0b298edb873200b793f2b6ae9619bf</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-05-31 22:06:34</sys_updated_on>\n<table/>\n<target_name>pe-timeline.service.pe-events-module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "timeline/pe-timeline/test/pe-timeline-client.spec.js",
    "content": "describe('Timeline controller', function() {\n  beforeEach(module('pe-timeline'));\n\n  it('should have a named function defined', function() {\n    expect(TimelineController).toBeDefined();\n  });\n\n  it('has one argument', function() {\n    var argLength = TimelineController.length;\n    expect(argLength).toEqual(1);\n  });\n});\n"
  },
  {
    "path": "timeline/pe-timeline/test/pe-timeline-service.spec.js",
    "content": "describe('Events service', function() {\n  beforeEach(module('pe-timeline'));\n\n  beforeEach(\n    inject(function(_eventsService_) {\n      eventsService = _eventsService_;\n    })\n  );\n\n  it('getInitialEvents method should exist', function() {\n    expect(eventsService.getInitialEvents).toBeDefined();\n  });\n\n  it('should have 3 events', function() {\n    var eventLength = eventsService.getInitialEvents().length;\n    expect(eventLength).toEqual(3);\n  });\n\n  it('should have Automated Risk Assessment as the last event', function() {\n    var events = eventsService.getInitialEvents();\n    var lastEvent = Object.keys(events).sort().pop();\n    expect(events[lastEvent].description).toBe('Automated Risk Assessment');\n  });\n});\n"
  },
  {
    "path": "timeline/pe-timeline/ui-script/pe-events-service.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  function eventsService() {\n    var service = {\n      getInitialEvents: getInitialEvents\n    };\n    return service;\n\n    function getInitialEvents() {\n      var events = [\n        {\n          description: 'Automated Event Correlation',\n          leftDescription: '14:22',\n          icon: 'fa fa-bolt fa-lg',\n          color: '#dbcb33',\n          stats: [\n            {\n              name: 'Events',\n              value: 20\n            },\n            {\n              name: 'Sources',\n              value: 5\n            }\n          ]\n        },\n        {\n          description: 'Automated Service Correlation',\n          leftDescription: '14:22',\n          icon: 'fa fa-bolt fa-lg',\n          color: '#d86431',\n          stats: [\n            {\n              name: 'In Total',\n              value: 2\n            },\n            {\n              name: 'Tier 1 Service',\n              value: 1,\n              iconSuffix: 'fa fa-shopping-cart fa-lg'\n            }\n          ]\n        },\n        {\n          description: 'Automated Risk Assessment',\n          leftDescription: '14:23',\n          icon: 'fa fa-bolt fa-lg',\n          color: '#903f5c',\n          stats: [\n            {\n              value: '1.2M',\n              icon: 'fa fa-usd fa-lg'\n            },\n            {\n              value: '42K',\n              icon: 'fa fa-users fa-lg'\n            },\n            {\n              value: '3',\n              icon: 'fa fa-globe fa-lg'\n            }\n          ]\n        }\n      ];\n      return events;\n    }\n  }\n\n  angular.module('pe-timeline').service('eventsService', eventsService);\n})();"
  },
  {
    "path": "timeline/pe-timeline/ui-script/pe-timeline-module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('pe-timeline', []);\n})();"
  },
  {
    "path": "timeline/pe-timeline/widget/pe-timeline.u-body-html-template.html",
    "content": "<div ng-show=\"!(c.recovered)\" class=\"panel-wrapper\" ng-class=\"{ 'expanded': c.expanded, 'expanded-wrapper': c.expandedWrapper }\">\n  <div class=\"panel-proper\">\n    <div class=\"panel-header\">\n      <span>{{c.title}}</span>\n      <span class=\"counter\">\n        {{c.itemsCount}}\n      </span>\n    </div>\n    <div class=\"panel-content\">\n      <div>\n        <div ng-repeat=\"item in c.initialEvents | limitTo: c.shownInitialEvents\" class=\"tl-item\" ng-class=\"c.fadeOldEvents ? '' : 'not-faded' \"\n          ng-click=\"c.nextInitialEvent()\">\n          <div ng-if=\"c.data.show_ldescriptions\" class=\"left-description\">{{item.leftDescription}}</div>\n          <div class=\"right-content\">\n            <div ng-if=\"!c.data.show_colors\" class=\"timeline-icon\" style=\"background: #737881;\"></div>\n            <div ng-if=\"c.data.show_colors\" class=\"timeline-icon\" style=\"background: {{item.color}}\"></div>\n            <div ng-if=\"c.data.show_icons\" class=\"tl-icon\">\n              <i class=\"{{item.icon}}\"></i>\n            </div>\n            <div class=\"right-content-title\">{{item.description}}</div>\n            <div ng-if=\"item.stats\" class=\"row text-center right-content-title\">\n              <div ng-repeat=\"stat in item.stats\" class=\"col-xs-{{ 12 / item.stats.length }}\">\n                <div class=\"key-value\">\n                  <span ng-if=\"stat.icon\" class=\"icon-inline\">\n                    <i class=\"{{stat.icon}}\"></i>\n                  </span>\n                  <span class=\"stat-text key-smaller\">{{stat.value}}</span>\n                  <span ng-if=\"stat.iconSuffix\" class=\"icon-inline\">\n                    <i class=\"{{stat.iconSuffix}}\"></i>\n                  </span>\n                </div>\n                <div class=\"subtitle\">\n                  {{stat.name}}\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n        <div ng-if=\"!c.recovered && c.shownInitialEvents === 0\" class=\"expander-button-wrapper\">\n          <div class=\"expander-button\" ng-click=\"c.expandInitialEvents()\">\n            <span class=\"icon-inline\">\n              <i class=\"fa fa-expand fa-lg\"></i>\n            </span>\n            <span class=\"text-inline\">Expand Timeline</span>\n          </div>\n          <div class=\"expander-button\" ng-click=\"c.nextInitialEvent()\">\n            <span class=\"icon-inline\">\n              <i class=\"fa fa-play-circle-o fa-lg\"></i>\n            </span>\n            <span class=\"text-inline\">Timeline Playback</span>\n          </div>\n        </div>\n      </div>\n      <div ng-if=\"!c.recovered && c.shownInitialEvents > 0\" class=\"expander-button-wrapper\">\n        <div class=\"expander-button\" ng-click=\"c.collapseInitialEvents()\">\n          <span class=\"icon-inline\">\n            <i class=\"fa fa-compress fa-lg\"></i>\n          </span>\n          <span class=\"text-inline\">Collapse Timeline</span>\n        </div>\n        <div ng-if=\"c.shownInitialEvents < c.initialEvents.length\" class=\"expander-button\" ng-click=\"c.nextInitialEvent()\">\n          <span class=\"icon-inline\">\n            <i class=\"fa fa-play-circle-o fa-lg\"></i>\n          </span>\n          <span class=\"text-inline\">Continue Playback</span>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "timeline/pe-timeline/widget/pe-timeline.u-client-script.js",
    "content": "function TimelineController(eventsService) {\n  var c = this;\n  c.collapseInitialEvents = collapseInitialEvents;\n  c.expandInitialEvents = expandInitialEvents;\n  c.nextInitialEvent = nextInitialEvent;\n\n  c.$onInit = function() {\n    c.title = c.data.title;\n    c.initialEvents = getInitialEvents();\n    c.itemsCount = c.initialEvents.length;\n    c.fadeOldEvents = false;\n  };\n\n  function collapseInitialEvents() {\n    c.shownInitialEvents = 0;\n    c.fadeOldEvents = false;\n  }\n\n  function expandInitialEvents() {\n    c.shownInitialEvents = c.initialEvents.length;\n    c.fadeOldEvents = false;\n  }\n\n  function nextInitialEvent() {\n    if (c.shownInitialEvents < c.initialEvents.length) {\n      c.shownInitialEvents++;\n    } else {\n      c.shownInitialEvents = 0;\n      c.fadeOldEvents = false;\n    }\n  }\n\n  function getInitialEvents() {\n    showEvents();\n    var events = eventsService.getInitialEvents();\n    return events;\n  }\n\n  function showEvents() {\n    c.shownInitialEvents = c.data.initial_elements;\n    if (c.shownInitialEvents === undefined) {\n      c.shownInitialEvents = 0;\n    }\n  }\n}"
  },
  {
    "path": "timeline/pe-timeline/widget/pe-timeline.u-css.scss",
    "content": "$pe-timeline-items-color: #ff6f00 !default;\r\n\r\n.expanded {\r\n  .panel-proper {\r\n    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);\r\n  }\r\n  .panel-drawer {\r\n    transform: translateY(0);\r\n  }\r\n  .panel-drawer-wrapper {\r\n    max-height: 1000px;\r\n  }\r\n}\r\n\r\n.panel-wrapper {\r\n  margin-bottom: 10px;\r\n}\r\n\r\n.panel-wrapper.expanded-wrapper {\r\n  height: 900px;\r\n}\r\n\r\n.panel-proper {\r\n  background-color: #fff;\r\n  border-radius: 5px;\r\n  transition: box-shadow 0.5s;\r\n}\r\n\r\n.panel-header {\r\n  position: relative;\r\n  padding: 7px 12px;\r\n  font-size: 16px;\r\n  font-weight: 600;\r\n  border-bottom: 0.5px solid #7E848B;\r\n}\r\n\r\n.counter {\r\n  display: inline-block;\r\n  background-color: #7e848b;\r\n  width: 22px;\r\n  height: 22px;\r\n  fill: #fff;\r\n  color: #fff;\r\n  text-align: center;\r\n  border-radius: 11px;\r\n  margin: 0 2px;\r\n  font-weight: 400;\r\n  &:first-child {\r\n    margin-left: -5px;\r\n  }\r\n}\r\n\r\n.timeline-icon {\r\n  background: #fff;\r\n  color: #737881;\r\n  display: block;\r\n  width: 1.6em;\r\n  height: 1.6em;\r\n  -webkit-background-clip: padding-box;\r\n  -moz-background-clip: padding;\r\n  background-clip: padding-box;\r\n  -webkit-border-radius: 20px;\r\n  -moz-border-radius: 20px;\r\n  border-radius: 20px;\r\n  text-align: center;\r\n  -moz-box-shadow: 0 0 0 5px #f5f5f6;\r\n  -webkit-box-shadow: 0 0 0 5px #f5f5f6;\r\n  box-shadow: 0 0 0 5px #f5f5f6;\r\n  line-height: 40px;\r\n  font-size: 15px;\r\n  float: left;\r\n  position: absolute;\r\n  top: 0px;\r\n  left: -9px;\r\n  &:first-child {\r\n    margin-left: -5px;\r\n  }\r\n}\r\n\r\n.tl-icon {\r\n  color: #fff;\r\n  position: absolute;\r\n  top: 1px;\r\n  left: -6px;\r\n  text-align: center;\r\n}\r\n\r\n.panel-content {\r\n  padding: 12px;\r\n}\r\n\r\n.stat-text {\r\n  font-size: 36px;\r\n  font-weight: 200;\r\n  vertical-align: middle;\r\n  &.key-smaller {\r\n    font-size: 24px;\r\n    height: 24px;\r\n  }\r\n  &.key-bigger {\r\n    font-size: 44px;\r\n    height: 44px;\r\n  }\r\n}\r\n\r\n.left-description {\r\n  font-size: 14px;\r\n  opacity: 0.7;\r\n  display: inline-block;\r\n  width: 40px;\r\n  vertical-align: top;\r\n}\r\n\r\n.tl-item {\r\n  font-size: 14px;\r\n  opacity: 0.7;\r\n}\r\n\r\n.left-description {\r\n  display: inline-block;\r\n  width: 40px;\r\n  vertical-align: top;\r\n}\r\n\r\n.tl-item.not-faded {\r\n  opacity: 1;\r\n}\r\n\r\n.tl-item.tl-item-summary {\r\n  opacity: 1;\r\n  .tl-icon {\r\n    color: #fff;\r\n  }\r\n}\r\n\r\n.tl-item:last-child {\r\n  opacity: 1;\r\n  .right-content {\r\n    border-left-color: rgba(0, 0, 0, 0);\r\n  }\r\n}\r\n\r\n.right-content {\r\n  margin-left: 10px;\r\n  position: relative;\r\n  display: inline-block;\r\n  width: 83%;\r\n  border-left: 4px solid #f5f5f6;\r\n  padding: 0 5px 5px 20px;\r\n}\r\n\r\n.right-content>* {\r\n  margin-bottom: 8px;\r\n}\r\n\r\n.right-content-title {\r\n  margin-left: 3px;\r\n}\r\n\r\n.key-value {\r\n  color: $pe-timeline-items-color;\r\n  fill: $pe-timeline-items-color;\r\n  height: 26px;\r\n  white-space: nowrap;\r\n  line-height: 1;\r\n}\r\n\r\n.icon-inline {\r\n  vertical-align: middle;\r\n}\r\n\r\n.text-inline {\r\n  vertical-align: middle;\r\n  margin-left: 4px;\r\n}\r\n\r\n.subtitle {\r\n  font-size: 15px;\r\n  padding-top: 4px;\r\n}\r\n\r\n.expander-button-wrapper {\r\n  text-align: center;\r\n  margin: 10px 0;\r\n}\r\n\r\n.expander-button {\r\n  display: inline-block;\r\n  padding: 3px 10px;\r\n  border-right: 1px solid #7e848b;\r\n}\r\n\r\n.expander-button:last-child {\r\n  border-right: none;\r\n}"
  },
  {
    "path": "timeline/pe-timeline/widget/pe-timeline.u-server-script.js",
    "content": "(function() {\n  var getBoolValue = function(inputVal, optionVal) {\n    if (inputVal == null) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n  var getIntValue = function(inputVal, optionVal) {\n    if ((inputVal == null || inputVal == undefined) && (optionVal >= 0)) {\n      return (parseInt(optionVal));\n    } else if (inputVal != null && inputVal != undefined) {\n      return (parseInt(inputVal));\n    }\n  };\n\n  data.title = options.title || input.title;\n  data.show_icons = getBoolValue(input.show_icons, options.show_icons);\n  data.show_ldescriptions = getBoolValue(input.show_ldescriptions, options.show_ldescriptions);\n  data.initial_elements = getIntValue(options.initial_elements, input.initial_elements);\n  data.show_colors = getBoolValue(input.show_colors, options.show_colors);\n})();"
  },
  {
    "path": "timeline/pe-timeline-delivery-info/README.md",
    "content": "# Timeline Delivery Info\n\n## Description\n\nThis widget can be used to represent the delivery updates in a confortable and Bootstrap based timeline, easy to customize and extend.\n\n## Screenshots\n![alt text](../../images/pe-timeline-delivery-info.png \"Timeline Delivery Info\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\nDownload and install update set **[pe-timeline-delivery-info.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/timeline/pe-timeline-delivery-info/pe-timeline-delivery-info.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nLanguage variants can be created through the section System UI -> UI Messages and displayed adding in the HTML body a statement with the syntax:\n\n```html\n${<i>key value specified in the Message record</i>}\n```\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> See 'Configuration' above\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\nThe widget is using colors from Bootstrap SASS variables, and a minimal style configuration to make it easy to customize.\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n"
  },
  {
    "path": "timeline/pe-timeline-delivery-info/pe-timeline-delivery-info.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-07-03 14:10:51\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>pe-timeline-delivery-info.u-update-set.xml</name>\n<origin_sys_id/>\n<parent display_value=\"\"/>\n<release_date/>\n<remote_base_update_set display_value=\"\"/>\n<remote_parent_id/>\n<remote_sys_id>5f3979a8db3bb2004e5cfa131f9619ab</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:10:51</sys_created_on>\n<sys_id>339a3de8db3bb2004e5cfa131f961912</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:10:51</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_bd932bbadbe7b20086da7d5e0f961934</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TimelineDeliveryInfoController() {\n  /* widget controller */\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;.timeline:before {\n  left: 35px;\n  right: 0;\n  border-left: 2px #dee5e7 solid;\n  border-right: 0px;\n  z-index: -1;\n}\n\n.timeline {\n  padding-top: 0px;\n  margin-top: 30px;\n  dl {\n    margin-top: -25px;\n    margin-bottom: -25px;\n  }\n}\n\n.events-container {\n  margin-left: 24px;\n  z-index: 9999;\n  margin-bottom: 15px;\n}\n\n.details-image {\n  background-color: transparent;\n  width: 25px;\n  height: 25px;\n  margin: auto;\n  svg {\n    width: 25px;\n    height: 25px;\n  }\n}\n\n.details-body {\n  background-color: white;\n  width: 100%;\n  padding: 5px;\n  border-radius: 3px;\n  border: solid 1px #d6ecf7;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;timeline-delivery-info&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;Timeline Delivery Info&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.sampleSet = [{\n      'title': 'Requested Cable Box',\n      'subtitle': 'REQ000369',\n      'when': 'Thursday, 19 January',\n      'image': '#check'\n    },\n    {\n      'title': 'Shipped via FedEx',\n      'subtitle': 'Tracking No: #95671344266590',\n      'when': 'Friday, 20 January',\n      'image': '#check'\n    },\n    {\n      'title': 'Delivered (signed by Kathy Q)',\n      'subtitle': '',\n      'when': 'Monday, 23 January',\n      'image': '#check'\n    }\n  ];\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;fabio.petito&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-06-28 11:27:50&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;bd932bbadbe7b20086da7d5e0f961934&lt;/sys_id&gt;&lt;sys_mod_count&gt;64&lt;/sys_mod_count&gt;&lt;sys_name&gt;Timeline Delivery Info&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_bd932bbadbe7b20086da7d5e0f961934&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;fabio.petito&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-07-03 14:09:20&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n    &lt;symbol id=\"check\"&gt;\n        &lt;svg width=\"25px\" height=\"25px\" viewBox=\"-1 78 25 25\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n            &lt;defs&gt;&lt;/defs&gt;\n            &lt;circle id=\"Oval-6\" stroke=\"#22A0DF\" stroke-width=\"2\" fill=\"#FFFFFF\" fill-rule=\"evenodd\" cx=\"11.2666016\" cy=\"90.2666016\"\n                r=\"11.2666016\"&gt;&lt;/circle&gt;\n            &lt;g id=\"approved\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(5.257747, 85.759961)\"&gt;\n                &lt;g id=\"Layer_1\" fill=\"#22A0DF\"&gt;\n                    &lt;path d=\"M11.9957693,0.869853175 C11.998207,1.0288845 11.9421406,1.16863931 11.8373208,1.28670802 C11.8129441,1.31321324 11.7861298,1.33971846 11.7617531,1.36381412 C9.06569113,4.03120322 6.36719151,6.69618275 3.67112956,9.36357185 C3.47611604,9.55633709 3.25672583,9.64790058 2.98858223,9.56597536 C2.88376247,9.534651 2.7789427,9.4720023 2.70093729,9.3948962 C1.87212982,8.5828726 1.04819768,7.76843943 0.22670322,6.9515967 C-0.0463157116,6.67931579 -0.0438780426,6.30101399 0.22670322,6.02873308 C0.294957953,5.95885568 0.363212686,5.89138784 0.433905088,5.82392001 C0.709361689,5.55886779 1.0945134,5.55886779 1.36997,5.82873914 C1.79656208,6.24800355 2.22071649,6.66967753 2.6448709,7.08894194 C2.98858223,7.42869069 3.34448191,7.43110025 3.68575558,7.09376107 L10.6038603,0.255413952 C10.945134,-0.0819252297 11.3010336,-0.0819252297 11.6423073,0.255413952 C11.7008114,0.313243525 11.7593154,0.368663534 11.8153818,0.426493108 C11.9397029,0.551790518 11.9957693,0.696364453 11.9957693,0.869853175 Z\"\n                        id=\"Shape\"&gt;&lt;/path&gt;\n                &lt;/g&gt;\n            &lt;/g&gt;\n        &lt;/svg&gt;\n    &lt;/symbol&gt;\n&lt;/svg&gt;\n\n&lt;div class=\"row\"&gt;\n    &lt;div class=\"col-md-12\"&gt;\n        &lt;div class=\"timeline\"&gt;\n            &lt;dl&gt;\n                &lt;dd class=\"events-container\" ng-repeat=\"item in data.sampleSet\"&gt;\n                    &lt;div class=\"media\"&gt;\n                        &lt;div class=\"media-left media-middle\"&gt;\n                            &lt;div class=\"details-image\"&gt;\n                                &lt;svg&gt;\n                                    &lt;use xlink:href=\"{{item.image}}\"&gt;&lt;/use&gt;\n                                &lt;/svg&gt;\n                            &lt;/div&gt;\n                        &lt;/div&gt;\n                        &lt;div class=\"media-body details-body\"&gt;\n                            &lt;h4 class=\"media-heading\"&gt;{{item.title}}&lt;/h4&gt;\n                            &lt;h5 class=\"media-heading\"&gt;{{item.subtitle}}&lt;/h5&gt;\n                            &lt;h5 class=\"media-heading\"&gt;{{item.when}}&lt;/h5&gt;\n                        &lt;/div&gt;\n                    &lt;/div&gt;\n                &lt;/dd&gt;\n            &lt;/dl&gt;\n        &lt;/div&gt;\n    &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<payload_hash>-319566031</payload_hash>\n<remote_update_set display_value=\"pe-timeline-delivery-info.u-update-set.xml\">339a3de8db3bb2004e5cfa131f961912</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>fabio.petito</sys_created_by>\n<sys_created_on>2017-07-03 14:10:51</sys_created_on>\n<sys_id>f39a3de8db3bb2004e5cfa131f961912</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_recorded_at>15d08c8bf920000001</sys_recorded_at>\n<sys_updated_by>fabio.petito</sys_updated_by>\n<sys_updated_on>2017-07-03 14:10:51</sys_updated_on>\n<table/>\n<target_name>Timeline Delivery Info</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_guid>2d4a31e8413bb200eb9a3decfd9c0ff7</update_guid>\n<update_guid_history>2d4a31e8413bb200eb9a3decfd9c0ff7:-319566031,5ce809ac0d3fb200cab14f38bf112f5c:-729029341,e1a885ac913fb200d5bf2b3c977b2791:-812736793,f17885ac7f3fb2002709f55c4c08ac8a:-538059610,246535638:246535638,-1728402795:-1728402795,1143588025:1143588025,445567039:445567039,2018532410:2018532410,-852582433:-852582433,1828902436:1828902436,1572372492:1572372492,155702592:155702592,-1219685664:-1219685664,-459785422:-459785422,-1144372661:-1144372661,-1859798110:-1859798110,-191910401:-191910401,-494113564:-494113564,-1177669275:-1177669275,868726854:868726854,503146681:503146681,1387127821:1387127821,-1869899510:-1869899510,2085168555:2085168555,-68770439:-68770439,-513054743:-513054743,-722841967:-722841967,-1263822095:-1263822095,930462144:930462144,-1666685032:-1666685032,1061466865:1061466865,132644849:132644849,1918837041:1918837041,1056228813:1056228813,502695629:502695629,-587141982:-587141982,-1008733667:-1008733667,-1369307828:-1369307828,1543358468:1543358468,275612454:275612454,-1478829290:-1478829290,-1649736202:-1649736202,-1388100704:-1388100704,2125414287:2125414287,-2072218831:-2072218831,1398813261:1398813261,-53455525:-53455525,894865545:894865545,838910332:838910332,894865545:894865545,-1951181080:-1951181080,811225403:811225403,-333312145:-333312145,-1838835595:-1838835595,-299910230:-299910230,-1920376795:-1920376795,-428289121:-428289121,1000242729:1000242729,-131336619:-131336619,1213557155:1213557155,342016931:342016931,82594019:82594019,1501674211:1501674211,896374565:896374565</update_guid_history>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "timeline/pe-timeline-delivery-info/widget/pe-timeline-delivery-info.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n    <symbol id=\"check\">\n        <svg width=\"25px\" height=\"25px\" viewBox=\"-1 78 25 25\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n            <defs></defs>\n            <circle id=\"Oval-6\" stroke=\"#22A0DF\" stroke-width=\"2\" fill=\"#FFFFFF\" fill-rule=\"evenodd\" cx=\"11.2666016\" cy=\"90.2666016\"\n                r=\"11.2666016\"></circle>\n            <g id=\"approved\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(5.257747, 85.759961)\">\n                <g id=\"Layer_1\" fill=\"#22A0DF\">\n                    <path d=\"M11.9957693,0.869853175 C11.998207,1.0288845 11.9421406,1.16863931 11.8373208,1.28670802 C11.8129441,1.31321324 11.7861298,1.33971846 11.7617531,1.36381412 C9.06569113,4.03120322 6.36719151,6.69618275 3.67112956,9.36357185 C3.47611604,9.55633709 3.25672583,9.64790058 2.98858223,9.56597536 C2.88376247,9.534651 2.7789427,9.4720023 2.70093729,9.3948962 C1.87212982,8.5828726 1.04819768,7.76843943 0.22670322,6.9515967 C-0.0463157116,6.67931579 -0.0438780426,6.30101399 0.22670322,6.02873308 C0.294957953,5.95885568 0.363212686,5.89138784 0.433905088,5.82392001 C0.709361689,5.55886779 1.0945134,5.55886779 1.36997,5.82873914 C1.79656208,6.24800355 2.22071649,6.66967753 2.6448709,7.08894194 C2.98858223,7.42869069 3.34448191,7.43110025 3.68575558,7.09376107 L10.6038603,0.255413952 C10.945134,-0.0819252297 11.3010336,-0.0819252297 11.6423073,0.255413952 C11.7008114,0.313243525 11.7593154,0.368663534 11.8153818,0.426493108 C11.9397029,0.551790518 11.9957693,0.696364453 11.9957693,0.869853175 Z\"\n                        id=\"Shape\"></path>\n                </g>\n            </g>\n        </svg>\n    </symbol>\n</svg>\n\n<div class=\"row\">\n    <div class=\"col-md-12\">\n        <div class=\"timeline\">\n            <dl>\n                <dd class=\"events-container\" ng-repeat=\"item in data.sampleSet\">\n                    <div class=\"media\">\n                        <div class=\"media-left media-middle\">\n                            <div class=\"details-image\">\n                                <svg>\n                                    <use xlink:href=\"{{item.image}}\"></use>\n                                </svg>\n                            </div>\n                        </div>\n                        <div class=\"media-body details-body\">\n                            <h4 class=\"media-heading\">{{item.title}}</h4>\n                            <h5 class=\"media-heading\">{{item.subtitle}}</h5>\n                            <h5 class=\"media-heading\">{{item.when}}</h5>\n                        </div>\n                    </div>\n                </dd>\n            </dl>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "timeline/pe-timeline-delivery-info/widget/pe-timeline-delivery-info.u-css.scss",
    "content": ".timeline:before {\n  left: 35px;\n  right: 0;\n  border-left: 2px #dee5e7 solid;\n  border-right: 0px;\n  z-index: -1;\n}\n\n.timeline {\n  padding-top: 0px;\n  margin-top: 30px;\n  dl {\n    margin-top: -25px;\n    margin-bottom: -25px;\n  }\n}\n\n.events-container {\n  margin-left: 24px;\n  z-index: 9999;\n  margin-bottom: 15px;\n}\n\n.details-image {\n  background-color: transparent;\n  width: 25px;\n  height: 25px;\n  margin: auto;\n  svg {\n    width: 25px;\n    height: 25px;\n  }\n}\n\n.details-body {\n  background-color: white;\n  width: 100%;\n  padding: 5px;\n  border-radius: 3px;\n  border: solid 1px #d6ecf7;\n}"
  },
  {
    "path": "timeline/pe-timeline-delivery-info/widget/pe-timeline-delivery-info.u-server-script.js",
    "content": "(function () {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n  data.sampleSet = [{\n      'title': 'Requested Cable Box',\n      'subtitle': 'REQ000369',\n      'when': 'Thursday, 19 January',\n      'image': '#check'\n    },\n    {\n      'title': 'Shipped via FedEx',\n      'subtitle': 'Tracking No: #95671344266590',\n      'when': 'Friday, 20 January',\n      'image': '#check'\n    },\n    {\n      'title': 'Delivered (signed by Kathy Q)',\n      'subtitle': '',\n      'when': 'Monday, 23 January',\n      'image': '#check'\n    }\n  ];\n\n})();"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/Readme.md",
    "content": "# Timeline - Variant Used In Employee Experience\n\n## Description\n\nThis widget can be used to implement a timeline widget. A variation of the pe-timeline, used in Consumerize the Employee Experience.\n\n## Screenshot\n![alt text](../../images/pe-timeline-emp-exp.png \"Timeline Widget\")\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-timeline-emp-exp.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/timeline/pe-timeline-emp-exp/pe-timeline-emp-exp.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Show Left Descriptions` | This is for displaying text on the left for each element in the timeline. | False |\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\nThe key \"show\" and its value decide how many timeline events to be shown in the widget, currently its set to 2, so only 2 events are shown; to view more you need to click on the \"view more\" button. \"timelineArray\" defines the number of timeline events. We have 3 events\n\n```javascript\nvar timelineData = {\n  show: 2,\n  header: {\n    text: 'Suzy Ham',\n    color: '#a7a7a7',\n    remaining: 2,\n    userPic: 'eb16d7c713453a007e94fc5ed144b055.iix'\n  },\n  timelineArray: [{\n    state: 'good',\n    title: 'Confirm return'\n  }, {\n    state: 'good',\n    title: 'Sign LOA Agreement',\n    signature: true\n  }, {\n    state: 'attention',\n    title: 'Reactivate Badge',\n    attenText: 'Escalated',\n    attenSubText: 'Reactivate badge on 12/8',\n    dept: 'IT',\n    contact: 'Bill Woods'\n  }]\n};\n```\n---\n## API Dependencies\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-timeline-items-color: #ff6f00 !default;\n```"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/pe-timeline-emp-exp.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-06-05 20:03:35\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Timeline Emp Exp</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>8c3f27cf13323200890b3092e144b0f3</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>b1de766f1383f600d0cf3192e144b0b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_1f0b76ab1315b200d15e3d7ed144b061</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-timeline-emp-exp-events.module</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-03-10 19:57:09</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1f0b76ab1315b200d15e3d7ed144b061</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-timeline-emp-exp-events.module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-timeline-emp-exp-events.module\">5c0b36ab1315b200d15e3d7ed144b0b9</sys_ui_script><sys_update_name>sp_js_include_1f0b76ab1315b200d15e3d7ed144b061</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-03-10 19:57:09</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>39de766f1383f600d0cf3192e144b0b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp-events.module</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_a12b76ab1315b200d15e3d7ed144b066</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>100</order><sp_dependency display_value=\"pe-timeline-emp-exp\">6db73a2b1315b200d15e3d7ed144b0e6</sp_dependency><sp_js_include display_value=\"pe-timeline-emp-exp-events.module\">1f0b76ab1315b200d15e3d7ed144b061</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-03-10 19:57:35</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>a12b76ab1315b200d15e3d7ed144b066</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-timeline-emp-exp.pe-timeline-emp-exp-events.module</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_a12b76ab1315b200d15e3d7ed144b066</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-03-10 19:57:35</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>3dde766f1383f600d0cf3192e144b0b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp.pe-timeline-emp-exp-events.module</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5caa32ab1315b200d15e3d7ed144b063</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-timeline-emp-exp-events.service&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  function timelineService() {\n    var service = {\n      getInitialEvents: getInitialEvents\n    };\n    return service;\n\n    function getInitialEvents() {\n      var timelineData = {\n        show: 2,\n        header: {\n          text: 'Suzy Ham',\n          color: '#a7a7a7',\n          remaining: 2,\n          userPic: 'eb16d7c713453a007e94fc5ed144b055.iix'\n        },\n        timelineArray: [{\n          state: 'good',\n          title: 'Confirm return'\n        }, {\n          state: 'good',\n          title: 'Sign LOA Agreement',\n          signature: true\n        }, {\n          state: 'attention',\n          title: 'Reactivate Badge',\n          attenText: 'Escalated',\n          attenSubText: 'Reactivate badge on 12/8',\n          dept: 'IT',\n          contact: 'Bill Woods'\n        }]\n      };\n      return timelineData;\n    }\n  }\n\n  angular\n    .module('pe-timeline-emp-exp')\n    .service('timelineService', timelineService);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-10 19:55:19&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5caa32ab1315b200d15e3d7ed144b063&lt;/sys_id&gt;&lt;sys_mod_count&gt;22&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-timeline-emp-exp-events.service&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5caa32ab1315b200d15e3d7ed144b063&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-05 20:01:22&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>71de766f1383f600d0cf3192e144b0b8</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp-events.service</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_js_include_1e7a32ab1315b200d15e3d7ed144b020</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_js_include\"><sp_js_include action=\"INSERT_OR_UPDATE\"><display_name>pe-timeline-emp-exp-events.service</display_name><source>local</source><sys_class_name>sp_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-03-10 19:54:37</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>1e7a32ab1315b200d15e3d7ed144b020</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-timeline-emp-exp-events.service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_ui_script display_value=\"pe-timeline-emp-exp-events.service\">5caa32ab1315b200d15e3d7ed144b063</sys_ui_script><sys_update_name>sp_js_include_1e7a32ab1315b200d15e3d7ed144b020</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-03-10 19:55:35</sys_updated_on><url/></sp_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>75de766f1383f600d0cf3192e144b0b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp-events.service</target_name>\n<type>JS Include</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_dependency_js_include_99cab2ab1315b200d15e3d7ed144b077</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_dependency_js_include\"><m2m_sp_dependency_js_include action=\"INSERT_OR_UPDATE\"><order>200</order><sp_dependency display_value=\"pe-timeline-emp-exp\">6db73a2b1315b200d15e3d7ed144b0e6</sp_dependency><sp_js_include display_value=\"pe-timeline-emp-exp-events.service\">1e7a32ab1315b200d15e3d7ed144b020</sp_js_include><sys_class_name>m2m_sp_dependency_js_include</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-03-10 19:55:55</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>99cab2ab1315b200d15e3d7ed144b077</sys_id><sys_mod_count>1</sys_mod_count><sys_name>pe-timeline-emp-exp.pe-timeline-emp-exp-events.service</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_dependency_js_include_99cab2ab1315b200d15e3d7ed144b077</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-03-10 23:02:31</sys_updated_on></m2m_sp_dependency_js_include></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>79de766f1383f600d0cf3192e144b0b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp.pe-timeline-emp-exp-events.service</target_name>\n<type>Dependency JS Includes</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_dependency_6db73a2b1315b200d15e3d7ed144b0e6</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"sp_dependency\"><sp_dependency action=\"INSERT_OR_UPDATE\"><module>pe-timeline-emp-exp</module><name>pe-timeline-emp-exp</name><page_load>false</page_load><sp_portals/><sys_class_name>sp_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-03-10 19:42:33</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>6db73a2b1315b200d15e3d7ed144b0e6</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-timeline-emp-exp</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>sp_dependency_6db73a2b1315b200d15e3d7ed144b0e6</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-03-10 19:42:33</sys_updated_on></sp_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>b1de766f1383f600d0cf3192e144b0b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sys_ui_script_5c0b36ab1315b200d15e3d7ed144b0b9</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sys_ui_script\"&gt;&lt;sys_ui_script action=\"INSERT_OR_UPDATE\"&gt;&lt;active&gt;true&lt;/active&gt;&lt;description/&gt;&lt;global&gt;false&lt;/global&gt;&lt;name&gt;pe-timeline-emp-exp-events.module&lt;/name&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  'use strict';\n\n  angular.module('pe-timeline-emp-exp', []);\n})();]]&gt;&lt;/script&gt;&lt;script_name/&gt;&lt;sys_class_name&gt;sys_ui_script&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-10 19:56:57&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;5c0b36ab1315b200d15e3d7ed144b0b9&lt;/sys_id&gt;&lt;sys_mod_count&gt;0&lt;/sys_mod_count&gt;&lt;sys_name&gt;pe-timeline-emp-exp-events.module&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sys_ui_script_5c0b36ab1315b200d15e3d7ed144b0b9&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;sush&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-03-10 19:56:57&lt;/sys_updated_on&gt;&lt;use_scoped_format&gt;false&lt;/use_scoped_format&gt;&lt;/sys_ui_script&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>bdde766f1383f600d0cf3192e144b0b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp-events.module</target_name>\n<type>UI Script</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_1527762b1315b200d15e3d7ed144b04f</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function TimelineController(timelineService) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.timelineData = timelineService.getInitialEvents();\n  };\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-timeline-items-color: #ff6f00 !default;\n\n.heading {\n  padding: 10px;\n  display: flex;\n  justify-content: space-between;\n  .left-side {\n    display: flex;\n    align-items: center;\n    .people-card-media {\n      float: left;\n      margin: 0px;\n      padding: 0px 10px 0px 0px;\n      .media-body {\n        width: 100%;\n      }\n      .media-left {\n        .list__photo {\n          width: 35px;\n          height: 35px;\n        }\n        .initials-badge {\n          min-width: 36px;\n          float: left;\n          margin-top: 0px;\n          border-radius: 50%;\n          line-height: 1;\n          font-size: 14px;\n          margin-left: 0px;\n          padding: 10px 10px;\n          font-weight: 300;\n          background: #AEB2B3;\n        }\n      }\n    }\n  }\n  .text {\n    font-size: 18px;\n    color: #fff;\n    font-weight: normal;\n  }\n  .remaining {\n    font-size: 15px;\n    color: #fff;\n    display: flex;\n    align-items: center;\n    .badge {\n      background: #fff;\n      color: #fff;\n      margin-right: 5px;\n      padding: 5px 8px;\n    }\n  }\n}\n\n.panel-wrapper {\n  margin-bottom: 10px;\n}\n\n.panel-proper {\n  background-color: #fff;\n  border-radius: 5px;\n  transition: box-shadow 0.5s;\n}\n\n.timeline-icon {\n  background: #fff;\n  color: #737881;\n  display: block;\n  width: 1.6em;\n  height: 1.6em;\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding;\n  background-clip: padding-box;\n  -webkit-border-radius: 20px;\n  -moz-border-radius: 20px;\n  border-radius: 20px;\n  text-align: center;\n  line-height: 40px;\n  font-size: 15px;\n  float: left;\n  position: absolute;\n  top: 0px;\n  left: -9px;\n  &amp;amp;:first-child {\n    margin-left: -5px;\n  }\n  &amp;amp;.red {\n    background: #f95050 !important;\n  }\n  &amp;amp;.green {\n    background: #53c25b !important;\n  }\n}\n\n.tl-icon {\n  color: #fff;\n  position: absolute;\n  top: 1px;\n  left: -6px;\n  text-align: center;\n}\n\n.panel-content {\n  .only-content {\n    background: #f5f5f5;\n    padding: 12px;\n  }\n  .btn {\n    padding: 15px;\n    text-align: center;\n    border-bottom: 3px solid #278efc;\n    width: 100%;\n    p {\n      color: #278efc;\n      font-size: 18px;\n      font-weight: 600;\n    }\n  }\n  .signature {\n    display: flex;\n    align-items: center;\n    margin-top: 10px;\n    .svg-icon {\n      width: 32px;\n      height: 32px;\n      fill: #278efc;\n      stroke: #278efc;\n    }\n    p {\n      display: inline-block;\n      margin-left: 5px;\n      color: #278efc;\n    }\n  }\n}\n\n.left-description {\n  font-size: 14px;\n  display: inline-block;\n  width: 40px;\n  vertical-align: top;\n}\n\n.tl-item {\n  font-size: 14px;\n}\n\n.left-description {\n  display: inline-block;\n  width: 40px;\n  vertical-align: top;\n}\n\n.tl-item:last-child {\n  opacity: 1;\n  .right-content {\n    border-left-color: rgba(0, 0, 0, 0);\n  }\n}\n\n.right-content {\n  margin-left: 10px;\n  position: relative;\n  display: inline-block;\n  width: 83%;\n  border-left: 2px solid #cecece;\n  padding: 0 5px 5px 20px;\n  span.complete {\n    display: block;\n    text-align: center;\n    color: #fff;\n    margin-top: 1px;\n    font-family: arial;\n    -ms-transform: scaleX(-1) rotate(-35deg);\n    -webkit-transform: scaleX(-1) rotate(-35deg);\n    transform: scaleX(-1) rotate(-45deg);\n  }\n  span.complete:after {\n    content: \"L\";\n  }\n  .attn-text {\n    p {\n      margin: 0px;\n    }\n    .attn-top {\n      text-transform: uppercase;\n      color: #f95050;\n      margin-right: 5px;\n      font-weight: bold;\n      .fa {\n        margin-left: 5px;\n      }\n    }\n    .attn-sub {\n      font-size: 12px;\n      color: #696d71;\n    }\n  }\n  .dept-contact {\n    .badge {\n      background: #fff;\n      border-radius: 4px;\n      color: #696d71;\n      text-transform: uppercase;\n      font-size: 15px;\n      margin-right: 10px;\n    }\n    p {\n      font-size: 15px;\n      color: #696d71;\n      display: inline-block;\n    }\n  }\n}\n\n.right-content&amp;gt;* {\n  margin-bottom: 8px;\n  font-size: 15px;\n  color: #696d71;\n}\n\n.right-content-title {\n  margin-left: 3px;\n  font-size: 15px;\n  color: #696d71;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-timeline-emp-exp&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Timeline Emp Exp&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"show_ldescriptions\",\"default_value\":\"false\",\"label\":\"Show Left Descriptions\",\"type\":\"boolean\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  var getBoolValue = function(inputVal, optionVal) {\n    if (inputVal === null) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n  var getIntValue = function(inputVal, optionVal) {\n    if ((inputVal === null || inputVal === undefined) &amp;&amp; (optionVal &gt;= 0)) {\n      return (parseInt(optionVal));\n    } else if (inputVal !== null &amp;&amp; inputVal !== undefined) {\n      return (parseInt(inputVal));\n    }\n  };\n\n  data.show_ldescriptions = getBoolValue(input.show_ldescriptions, options.show_ldescriptions);\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;sush&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-03-10 19:40:05&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;1527762b1315b200d15e3d7ed144b04f&lt;/sys_id&gt;&lt;sys_mod_count&gt;61&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Timeline Emp Exp&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_1527762b1315b200d15e3d7ed144b04f&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;steven.gregory&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-06-05 19:55:05&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\"&gt;\n  &lt;symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-signature\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\"&gt;\n    &lt;g&gt;\n      &lt;path d=\"M14.4,85.5h16.4v5.8h15.3l5.8-5.8h27c1.1,0,2-0.9,2-2v-27l6.6-6.6L81,43.3V10.6c0-1.1-0.9-2-2-2H14.4c-1.1,0-2,0.9-2,2   v72.9C12.4,84.6,13.3,85.5,14.4,85.5z M76.9,81.5H56l20.9-20.9V81.5z M81.8,49.9L44.4,87.3h-9.5v-9.5l37.4-37.4L81.8,49.9z    M16.5,12.7h60.5v26.5l-4.6-4.6L61.9,45H26.1v4.1h31.7L45.2,61.7H26.1v4.1h15.1L30.8,76.1v5.4H16.5V12.7z\"&gt;&lt;/path&gt;\n      &lt;rect x=\"26.1\" y=\"28.4\" width=\"41.3\" height=\"4.1\"&gt;&lt;/rect&gt;\n    &lt;/g&gt;\n  &lt;/symbol&gt;\n&lt;/svg&gt;\n&lt;div class=\"panel-wrapper row\"&gt;\n  &lt;div class=\"panel-proper\"&gt;\n    &lt;div class=\"panel-header heading\" ng-style=\"{'background': c.timelineData.header.color}\"&gt;\n      &lt;div class=\"left-side\"&gt;\n        &lt;div ng-if=\"c.timelineData.header.userPic\" class=\"media people-card-media\"&gt;\n          &lt;div class=\"media-left \"&gt;\n            &lt;div class=\"person-photo available presence\"&gt;\n              &lt;img class=\"media-object list__photo img-circle\" ng-src=\"{{c.timelineData.header.userPic}}\" /&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n        &lt;p class=\"text\"&gt;{{c.timelineData.header.text}}&lt;/p&gt;\n      &lt;/div&gt;\n      &lt;p ng-show=\"c.timelineData.header.remaining &gt; 0\" class=\"remaining\"&gt;\n        &lt;span class=\"badge\" ng-style=\"{'color': c.timelineData.header.color}\"&gt;\n          {{c.timelineData.header.remaining}}\n        &lt;/span&gt;Remaining\n      &lt;/p&gt;\n      &lt;p class=\"remaining\" ng-show=\"!c.timelineData.header.remaining\"&gt;All Completed&lt;/p&gt;\n    &lt;/div&gt;\n    &lt;div class=\"panel-content\"&gt;\n      &lt;div class=\"only-content\"&gt;\n        &lt;div ng-repeat=\"eachtimeline in c.timelineData.timelineArray | limitTo:c.timelineData.show\" class=\"tl-item\"&gt;\n          &lt;div ng-if=\"c.data.show_ldescriptions\" class=\"left-description\"&gt;{{item.leftDescription}}&lt;/div&gt;\n          &lt;div class=\"right-content\"&gt;\n            &lt;div class=\"timeline-icon\" ng-class=\"{'green': eachtimeline.state == 'good', 'red' :eachtimeline.state == 'attention'}\"&gt;&lt;/div&gt;\n            &lt;span ng-show=\"eachtimeline.state == 'good'\" class=\"complete tl-icon\"&gt;&lt;/span&gt;\n            &lt;div class=\"right-content-title\"&gt;{{eachtimeline.title}}&lt;/div&gt;\n            &lt;p ng-show=\"eachtimeline.due\" class=\"due\"&gt;Due &lt;span&gt;{{eachtimeline.due}}&lt;/span&gt;&lt;/p&gt;\n            &lt;div class=\"attn-text\"&gt;\n              &lt;p ng-show=\"eachtimeline.attenText\" class=\"attn-top\"&gt;{{eachtimeline.attenText}}&lt;i class=\"fa fa-exclamation\" aria-hidden=\"true\"&gt;&lt;/i&gt;&lt;/p&gt;\n              &lt;p ng-show=\"eachtimeline.attenSubText\" class=\"attn-sub\"&gt;{{eachtimeline.attenSubText}}&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div class=\"dept-contact\" ng-if=\"eachtimeline.dept\"&gt;\n              &lt;span class=\"badge\"&gt;{{eachtimeline.dept}}&lt;/span&gt;\n              &lt;p&gt;{{eachtimeline.contact}}&lt;/p&gt;\n            &lt;/div&gt;\n            &lt;div ng-show=\"eachtimeline.signature\" class=\"signature\" ng-click=\"triggerSomething(c.timelineData)\"&gt;\n              &lt;svg icon=\"#icon-signature\" class=\"svg-icon\"&gt;\n                &lt;use xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"#icon-signature\"&gt;&lt;/use&gt;\n              &lt;/svg&gt;\n              &lt;p class=\"\"&gt;Digital Signature&lt;/p&gt;\n            &lt;/div&gt;\n          &lt;/div&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n      &lt;div ng-show=\"c.timelineData.timelineArray.length &gt; 2\"&gt;\n        &lt;div class=\"btn\" ng-show=\"c.timelineData.show == 2\" ng-click=\"c.timelineData.show = c.timelineData.timelineArray.length\"&gt;\n          &lt;p&gt;View More&lt;/p&gt;\n        &lt;/div&gt;\n        &lt;div class=\"btn\" ng-show=\"c.timelineData.show &gt; 2\" ng-click=\"c.timelineData.show = 2\"&gt;\n          &lt;p&gt;View Less&lt;/p&gt;\n        &lt;/div&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>f9de766f1383f600d0cf3192e144b0b7</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>PE Timeline Emp Exp</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>m2m_sp_widget_dependency_912a3e6b1315b200d15e3d7ed144b0ff</name>\n<payload><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?><record_update table=\"m2m_sp_widget_dependency\"><m2m_sp_widget_dependency action=\"INSERT_OR_UPDATE\"><sp_dependency display_value=\"pe-timeline-emp-exp\">6db73a2b1315b200d15e3d7ed144b0e6</sp_dependency><sp_widget display_value=\"PE Timeline Emp Exp\">1527762b1315b200d15e3d7ed144b04f</sp_widget><sys_class_name>m2m_sp_widget_dependency</sys_class_name><sys_created_by>sush</sys_created_by><sys_created_on>2017-03-10 19:53:11</sys_created_on><sys_customer_update>true</sys_customer_update><sys_id>912a3e6b1315b200d15e3d7ed144b0ff</sys_id><sys_mod_count>0</sys_mod_count><sys_name>pe-timeline-emp-exp.PE Timeline Emp Exp</sys_name><sys_package display_value=\"Global\" source=\"global\">global</sys_package><sys_policy/><sys_replace_on_upgrade>false</sys_replace_on_upgrade><sys_scope display_value=\"Global\">global</sys_scope><sys_update_name>m2m_sp_widget_dependency_912a3e6b1315b200d15e3d7ed144b0ff</sys_update_name><sys_updated_by>sush</sys_updated_by><sys_updated_on>2017-03-10 19:53:11</sys_updated_on></m2m_sp_widget_dependency></record_update>]]></payload>\n<remote_update_set display_value=\"PE Timeline Emp Exp\">b1de766f1383f600d0cf3192e144b0b6</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>steven.gregory</sys_created_by>\n<sys_created_on>2017-06-05 20:03:35</sys_created_on>\n<sys_id>fdde766f1383f600d0cf3192e144b0b6</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>steven.gregory</sys_updated_by>\n<sys_updated_on>2017-06-05 20:03:35</sys_updated_on>\n<table/>\n<target_name>pe-timeline-emp-exp.PE Timeline Emp Exp</target_name>\n<type>Widget Dependency</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/ui-script/pe-timeline-emp-exp-events-module.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  angular.module('pe-timeline-emp-exp', []);\n})();"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/ui-script/pe-timeline-emp-exp-events-service.u-client-script.js",
    "content": "(function() {\n  'use strict';\n\n  function timelineService() {\n    var service = {\n      getInitialEvents: getInitialEvents\n    };\n    return service;\n\n    function getInitialEvents() {\n      var timelineData = {\n        show: 2,\n        header: {\n          text: 'Suzy Ham',\n          color: '#a7a7a7',\n          remaining: 2,\n          userPic: 'eb16d7c713453a007e94fc5ed144b055.iix'\n        },\n        timelineArray: [{\n          state: 'good',\n          title: 'Confirm return'\n        }, {\n          state: 'good',\n          title: 'Sign LOA Agreement',\n          signature: true\n        }, {\n          state: 'attention',\n          title: 'Reactivate Badge',\n          attenText: 'Escalated',\n          attenSubText: 'Reactivate badge on 12/8',\n          dept: 'IT',\n          contact: 'Bill Woods'\n        }]\n      };\n      return timelineData;\n    }\n  }\n\n  angular\n    .module('pe-timeline-emp-exp')\n    .service('timelineService', timelineService);\n})();"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/widget/pe-timeline-emp-exp.u-body-html-template.html",
    "content": "<svg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\" style=\"display: none;\">\n  <symbol x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" style=\"enable-background:new 0 0 100 100;\" xml:space=\"preserve\" id=\"icon-signature\"\n    stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n    <g>\n      <path d=\"M14.4,85.5h16.4v5.8h15.3l5.8-5.8h27c1.1,0,2-0.9,2-2v-27l6.6-6.6L81,43.3V10.6c0-1.1-0.9-2-2-2H14.4c-1.1,0-2,0.9-2,2   v72.9C12.4,84.6,13.3,85.5,14.4,85.5z M76.9,81.5H56l20.9-20.9V81.5z M81.8,49.9L44.4,87.3h-9.5v-9.5l37.4-37.4L81.8,49.9z    M16.5,12.7h60.5v26.5l-4.6-4.6L61.9,45H26.1v4.1h31.7L45.2,61.7H26.1v4.1h15.1L30.8,76.1v5.4H16.5V12.7z\"></path>\n      <rect x=\"26.1\" y=\"28.4\" width=\"41.3\" height=\"4.1\"></rect>\n    </g>\n  </symbol>\n</svg>\n<div class=\"panel-wrapper row\">\n  <div class=\"panel-proper\">\n    <div class=\"panel-header heading\" ng-style=\"{'background': c.timelineData.header.color}\">\n      <div class=\"left-side\">\n        <div ng-if=\"c.timelineData.header.userPic\" class=\"media people-card-media\">\n          <div class=\"media-left \">\n            <div class=\"person-photo available presence\">\n              <img class=\"media-object list__photo img-circle\" ng-src=\"{{c.timelineData.header.userPic}}\" />\n            </div>\n          </div>\n        </div>\n        <p class=\"text\">{{c.timelineData.header.text}}</p>\n      </div>\n      <p ng-show=\"c.timelineData.header.remaining > 0\" class=\"remaining\">\n        <span class=\"badge\" ng-style=\"{'color': c.timelineData.header.color}\">\n          {{c.timelineData.header.remaining}}\n        </span>Remaining\n      </p>\n      <p class=\"remaining\" ng-show=\"!c.timelineData.header.remaining\">All Completed</p>\n    </div>\n    <div class=\"panel-content\">\n      <div class=\"only-content\">\n        <div ng-repeat=\"eachtimeline in c.timelineData.timelineArray | limitTo:c.timelineData.show\" class=\"tl-item\">\n          <div ng-if=\"c.data.show_ldescriptions\" class=\"left-description\">{{item.leftDescription}}</div>\n          <div class=\"right-content\">\n            <div class=\"timeline-icon\" ng-class=\"{'green': eachtimeline.state == 'good', 'red' :eachtimeline.state == 'attention'}\"></div>\n            <span ng-show=\"eachtimeline.state == 'good'\" class=\"complete tl-icon\"></span>\n            <div class=\"right-content-title\">{{eachtimeline.title}}</div>\n            <p ng-show=\"eachtimeline.due\" class=\"due\">Due <span>{{eachtimeline.due}}</span></p>\n            <div class=\"attn-text\">\n              <p ng-show=\"eachtimeline.attenText\" class=\"attn-top\">{{eachtimeline.attenText}}<i class=\"fa fa-exclamation\" aria-hidden=\"true\"></i></p>\n              <p ng-show=\"eachtimeline.attenSubText\" class=\"attn-sub\">{{eachtimeline.attenSubText}}</p>\n            </div>\n            <div class=\"dept-contact\" ng-if=\"eachtimeline.dept\">\n              <span class=\"badge\">{{eachtimeline.dept}}</span>\n              <p>{{eachtimeline.contact}}</p>\n            </div>\n            <div ng-show=\"eachtimeline.signature\" class=\"signature\" ng-click=\"triggerSomething(c.timelineData)\">\n              <svg icon=\"#icon-signature\" class=\"svg-icon\">\n                <use xmlns:xlink=\"http://www.w3.org/1999/xlink\" xlink:href=\"#icon-signature\"></use>\n              </svg>\n              <p class=\"\">Digital Signature</p>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div ng-show=\"c.timelineData.timelineArray.length > 2\">\n        <div class=\"btn\" ng-show=\"c.timelineData.show == 2\" ng-click=\"c.timelineData.show = c.timelineData.timelineArray.length\">\n          <p>View More</p>\n        </div>\n        <div class=\"btn\" ng-show=\"c.timelineData.show > 2\" ng-click=\"c.timelineData.show = 2\">\n          <p>View Less</p>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/widget/pe-timeline-emp-exp.u-client-script.js",
    "content": "function TimelineController(timelineService) {\n  var c = this;\n\n  c.$onInit = function() {\n    c.timelineData = timelineService.getInitialEvents();\n  };\n}"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/widget/pe-timeline-emp-exp.u-css.scss",
    "content": "$pe-timeline-items-color: #ff6f00 !default;\n\n.heading {\n  padding: 10px;\n  display: flex;\n  justify-content: space-between;\n  .left-side {\n    display: flex;\n    align-items: center;\n    .people-card-media {\n      float: left;\n      margin: 0px;\n      padding: 0px 10px 0px 0px;\n      .media-body {\n        width: 100%;\n      }\n      .media-left {\n        .list__photo {\n          width: 35px;\n          height: 35px;\n        }\n        .initials-badge {\n          min-width: 36px;\n          float: left;\n          margin-top: 0px;\n          border-radius: 50%;\n          line-height: 1;\n          font-size: 14px;\n          margin-left: 0px;\n          padding: 10px 10px;\n          font-weight: 300;\n          background: #AEB2B3;\n        }\n      }\n    }\n  }\n  .text {\n    font-size: 18px;\n    color: #fff;\n    font-weight: normal;\n  }\n  .remaining {\n    font-size: 15px;\n    color: #fff;\n    display: flex;\n    align-items: center;\n    .badge {\n      background: #fff;\n      color: #fff;\n      margin-right: 5px;\n      padding: 5px 8px;\n    }\n  }\n}\n\n.panel-wrapper {\n  margin-bottom: 10px;\n}\n\n.panel-proper {\n  background-color: #fff;\n  border-radius: 5px;\n  transition: box-shadow 0.5s;\n}\n\n.timeline-icon {\n  background: #fff;\n  color: #737881;\n  display: block;\n  width: 1.6em;\n  height: 1.6em;\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding;\n  background-clip: padding-box;\n  -webkit-border-radius: 20px;\n  -moz-border-radius: 20px;\n  border-radius: 20px;\n  text-align: center;\n  line-height: 40px;\n  font-size: 15px;\n  float: left;\n  position: absolute;\n  top: 0px;\n  left: -9px;\n  &:first-child {\n    margin-left: -5px;\n  }\n  &.red {\n    background: #f95050 !important;\n  }\n  &.green {\n    background: #53c25b !important;\n  }\n}\n\n.tl-icon {\n  color: #fff;\n  position: absolute;\n  top: 1px;\n  left: -6px;\n  text-align: center;\n}\n\n.panel-content {\n  .only-content {\n    background: #f5f5f5;\n    padding: 12px;\n  }\n  .btn {\n    padding: 15px;\n    text-align: center;\n    border-bottom: 3px solid #278efc;\n    width: 100%;\n    p {\n      color: #278efc;\n      font-size: 18px;\n      font-weight: 600;\n    }\n  }\n  .signature {\n    display: flex;\n    align-items: center;\n    margin-top: 10px;\n    .svg-icon {\n      width: 32px;\n      height: 32px;\n      fill: #278efc;\n      stroke: #278efc;\n    }\n    p {\n      display: inline-block;\n      margin-left: 5px;\n      color: #278efc;\n    }\n  }\n}\n\n.left-description {\n  font-size: 14px;\n  display: inline-block;\n  width: 40px;\n  vertical-align: top;\n}\n\n.tl-item {\n  font-size: 14px;\n}\n\n.left-description {\n  display: inline-block;\n  width: 40px;\n  vertical-align: top;\n}\n\n.tl-item:last-child {\n  opacity: 1;\n  .right-content {\n    border-left-color: rgba(0, 0, 0, 0);\n  }\n}\n\n.right-content {\n  margin-left: 10px;\n  position: relative;\n  display: inline-block;\n  width: 83%;\n  border-left: 2px solid #cecece;\n  padding: 0 5px 5px 20px;\n  span.complete {\n    display: block;\n    text-align: center;\n    color: #fff;\n    margin-top: 1px;\n    font-family: arial;\n    -ms-transform: scaleX(-1) rotate(-35deg);\n    -webkit-transform: scaleX(-1) rotate(-35deg);\n    transform: scaleX(-1) rotate(-45deg);\n  }\n  span.complete:after {\n    content: \"L\";\n  }\n  .attn-text {\n    p {\n      margin: 0px;\n    }\n    .attn-top {\n      text-transform: uppercase;\n      color: #f95050;\n      margin-right: 5px;\n      font-weight: bold;\n      .fa {\n        margin-left: 5px;\n      }\n    }\n    .attn-sub {\n      font-size: 12px;\n      color: #696d71;\n    }\n  }\n  .dept-contact {\n    .badge {\n      background: #fff;\n      border-radius: 4px;\n      color: #696d71;\n      text-transform: uppercase;\n      font-size: 15px;\n      margin-right: 10px;\n    }\n    p {\n      font-size: 15px;\n      color: #696d71;\n      display: inline-block;\n    }\n  }\n}\n\n.right-content>* {\n  margin-bottom: 8px;\n  font-size: 15px;\n  color: #696d71;\n}\n\n.right-content-title {\n  margin-left: 3px;\n  font-size: 15px;\n  color: #696d71;\n}"
  },
  {
    "path": "timeline/pe-timeline-emp-exp/widget/pe-timeline-emp-exp.u-server-script.js",
    "content": "(function() {\n  var getBoolValue = function(inputVal, optionVal) {\n    if (inputVal === null) {\n      return (optionVal === 'true');\n    } else {\n      return (inputVal === 'true');\n    }\n  };\n\n  var getIntValue = function(inputVal, optionVal) {\n    if ((inputVal === null || inputVal === undefined) && (optionVal >= 0)) {\n      return (parseInt(optionVal));\n    } else if (inputVal !== null && inputVal !== undefined) {\n      return (parseInt(inputVal));\n    }\n  };\n\n  data.show_ldescriptions = getBoolValue(input.show_ldescriptions, options.show_ldescriptions);\n})();"
  },
  {
    "path": "user-login/pe-enduser-login/README.md",
    "content": "# End User Login\n\n## Description\n\nThis can be used to quickly craft a login widget.\n\n## Screenshot\n![](../../images/pe-enduser-login.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-enduser-login.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/user-login/pe-enduser-login/pe-enduser-login.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\n---\n### Widget Option Schema\n\n| Option | Description | Default Value |\n| :--- | :--- | :--- |\n| `Table` | This is for changing the table that the default user is pulled from. | sys_user |\n| `Email Address Field` | This is the field that we will pull the email address from for the login. | email |\n| `Encoded Query` | This is for specifying a user, it will allow you to set the query for any parameters. | email!=NULL^GOTOnameLIKESystem Administrator |\n\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n> None"
  },
  {
    "path": "user-login/pe-enduser-login/pe-enduser-login.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-13 19:31:06\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE Enduser Login</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>66711c9adbca3a002e5df2b6ae96195e</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-04-13 19:31:06</sys_created_on>\n<sys_id>552bbdaedb467a002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-04-13 19:31:06</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_68dc7bcedb8a3a002e5df2b6ae9619dc</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function EndUserLoginController() {\n  var c = this;\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;input {&amp;#13;\n  border: none;&amp;#13;\n  border-bottom: solid 1px #cecece;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.form--verify {&amp;#13;\n  margin-top: 70px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.full_width {&amp;#13;\n  margin: 15px -15px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.icon {&amp;#13;\n  position: absolute;&amp;#13;\n  left: 10px;&amp;#13;\n}&amp;#13;\n&amp;#13;\nbutton {&amp;#13;\n  position: relative;&amp;#13;\n  border-radius: 2px;&amp;#13;\n  width: 70%;&amp;#13;\n  background-color: #d1232b;&amp;#13;\n  font-size: 16px;&amp;#13;\n  margin-top: 12px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.or {&amp;#13;\n  margin-top: 12px;&amp;#13;\n&amp;#13;\n}&amp;#13;\n&amp;#13;\n.login {&amp;#13;\n  color: white;&amp;#13;\n  background-color: #c0351d;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.facebook {&amp;#13;\n  color: white;&amp;#13;\n  background-color: #3c5193;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.google {&amp;#13;\n  color: #757575;&amp;#13;\n  background-color: #ffffff;&amp;#13;\n  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.24), 0 0 1px 0 rgba(0, 0, 0, 0.12);&amp;#13;\n  background-color: white&amp;#13;\n  margin-top: 15px;&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;true&lt;/has_preview&gt;&lt;id&gt;pe-enduser-login&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE Enduser Login&lt;/name&gt;&lt;option_schema&gt;[{\"name\":\"table\",\"default_value\":\"sys_user\",\"label\":\"Table\",\"type\":\"string\"},{\"name\":\"email_address_field\",\"default_value\":\"email\",\"label\":\"Email Address Field\",\"type\":\"field_name\"},{\"name\":\"encoded_query\",\"default_value\":\"email!=NULL^GOTOnameLIKESystem Administrator\",\"label\":\"Encoded Query\",\"type\":\"string\"}]&lt;/option_schema&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\tvar tableName = serverOptions.table || options.table;\n\tvar encodedQuery = serverOptions.encoded_query || options.encoded_query;\n\tvar emailField = serverOptions.email_address_field || options.email_address_field\n\tdata.user_email = \"jet.wheeler@servicenow.com\";\n\tdata.password = \"password\";\n\n\tvar userGR = new GlideRecord(tableName);\n\tuserGR.addEncodedQuery(encodedQuery);\n\tuserGR.query();\n\tif(userGR.next()){\n\t\tdata.user_email = userGR.getDisplayValue(emailField).toString();\n\t}\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;dachtman&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-12 15:44:03&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;68dc7bcedb8a3a002e5df2b6ae9619dc&lt;/sys_id&gt;&lt;sys_mod_count&gt;66&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE Enduser Login&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_68dc7bcedb8a3a002e5df2b6ae9619dc&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;dachtman&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-12 17:09:50&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n\t&lt;div class=\"row form form--verify\"&gt;\n\t\t&lt;div class=\"col-xs-12\"&gt;\n\t\t\t&lt;div class=\"form-group\"&gt;\n\t\t\t\t&lt;label class=\"form__label\"&gt;Email&lt;/label&gt;\n\t\t\t\t&lt;input type=\"email\" placeholder=\"\" class=\"form-control form__input form__input--secure\" ng-model=\"c.data.user_email\" /&gt;\n\t\t\t&lt;/div&gt;\n\t\t\t&lt;div class=\"form-group\"&gt;\n\t\t\t\t&lt;label class=\"form__label\"&gt;Password&lt;/label&gt;\n\t\t\t\t&lt;input type=\"password\" placeholder=\"\" class=\"form-control form__input\" ng-model=\"c.data.password\" /&gt;\n\t\t\t&lt;/div&gt;\n\t\t&lt;/div&gt;\n\t&lt;/div&gt;\n\t&lt;div class=\"full_width text-center\"&gt;\n\t\t&lt;button class=\"btn btn-primary login\" data-toggle=\"modal\" data-target=\"#touchModal\"&gt;\n            &lt;div class=\"icon\"&gt;\n\n                &lt;svg width=\"21px\" height=\"15px\" viewBox=\"11 13 21 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n                     xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n                    &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n                    &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n                    &lt;defs&gt;&lt;/defs&gt;\n                    &lt;g id=\"email\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"\n                       transform=\"translate(11.000000, 13.000000)\"&gt;\n                        &lt;g id=\"Group\" transform=\"translate(0.000000, 0.225895)\" fill=\"#FFFFFF\"&gt;\n                            &lt;path d=\"M1.08283,0.128272083 L10.5,8.395875 L19.91717,0.128272083 L1.08283,0.128272083 Z M0,1.04690958 L0,12.8782792 C0,13.2706958 0.3122,13.5866125 0.7,13.5866125 L20.3,13.5866125 C20.6878,13.5866125 21,13.2706958 21,12.8782792 L21,1.04690958 L10.959375,9.8678625 C10.6959573,10.0996518 10.3040427,10.0996518 10.040625,9.8678625 L0,1.04690958 Z\"\n                                  id=\"Shape\"&gt;&lt;/path&gt;\n                        &lt;/g&gt;\n                    &lt;/g&gt;\n                &lt;/svg&gt;\n\n            &lt;/div&gt;\n            Sign in\n        &lt;/button&gt;\n\t\t&lt;div class=\"or\"&gt;OR&lt;/div&gt;\n\t\t&lt;button class=\"btn btn-primary facebook\" data-toggle=\"modal\" data-target=\"#touchModal\"&gt;\n            &lt;div class=\"icon\"&gt;\n\n                &lt;svg width=\"11px\" height=\"21px\" viewBox=\"14 10 11 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n                    &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n                    &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n                    &lt;defs&gt;&lt;/defs&gt;\n                    &lt;path d=\"M14,16.8762222 L16.2980903,16.8762222 L16.2980903,14.7874444 C16.2980903,13.8658889 16.3229275,12.4456667 17.0392833,11.5656667 C17.7922412,10.6331111 18.8275583,10 20.6066829,10 C23.5060937,10 24.7270359,10.3862222 24.7270359,10.3862222 L24.153167,13.5713333 C24.153167,13.5713333 23.1949757,13.311 22.3008382,13.311 C21.4080079,13.311 20.6066829,13.6116667 20.6066829,14.4464444 L20.6066829,16.8762222 L24.2721239,16.8762222 L24.0172162,19.9867778 L20.6066829,19.9867778 L20.6066829,30.7912222 L16.2980903,30.7912222 L16.2980903,19.9867778 L14,19.9867778 L14,16.8762222\" id=\"Imported-Layers\" stroke=\"none\" fill=\"#FFFFFF\" fill-rule=\"evenodd\"&gt;&lt;/path&gt;\n                &lt;/svg&gt;\n\n            &lt;/div&gt;\n            Sign in with Facebook\n        &lt;/button&gt;\n\t\t&lt;button class=\"btn btn-primary google\" data-toggle=\"modal\" data-target=\"#touchModal\"&gt;\n            &lt;div class=\"icon\"&gt;\n\n                &lt;svg width=\"18px\" height=\"19px\" viewBox=\"11 11 18 19\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"&gt;\n                    &lt;!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch --&gt;\n                    &lt;desc&gt;Created with Sketch.&lt;/desc&gt;\n                    &lt;defs&gt;&lt;/defs&gt;\n                    &lt;g id=\"logo_googleg_48dp\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(11.000000, 11.000000)\"&gt;\n                        &lt;path d=\"M17.64,9.20454545 C17.64,8.56636364 17.5827273,7.95272727 17.4763636,7.36363636 L9,7.36363636 L9,10.845 L13.8436364,10.845 C13.635,11.97 13.0009091,12.9231818 12.0477273,13.5613636 L12.0477273,15.8195455 L14.9563636,15.8195455 C16.6581818,14.2527273 17.64,11.9454545 17.64,9.20454545 L17.64,9.20454545 Z\" id=\"Shape\" fill=\"#4285F4\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M9,18 C11.43,18 13.4672727,17.1940909 14.9563636,15.8195455 L12.0477273,13.5613636 C11.2418182,14.1013636 10.2109091,14.4204545 9,14.4204545 C6.65590909,14.4204545 4.67181818,12.8372727 3.96409091,10.71 L0.957272727,10.71 L0.957272727,13.0418182 C2.43818182,15.9831818 5.48181818,18 9,18 L9,18 Z\" id=\"Shape\" fill=\"#34A853\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M3.96409091,10.71 C3.78409091,10.17 3.68181818,9.59318182 3.68181818,9 C3.68181818,8.40681818 3.78409091,7.83 3.96409091,7.29 L3.96409091,4.95818182 L0.957272727,4.95818182 C0.347727273,6.17318182 0,7.54772727 0,9 C0,10.4522727 0.347727273,11.8268182 0.957272727,13.0418182 L3.96409091,10.71 L3.96409091,10.71 Z\" id=\"Shape\" fill=\"#FBBC05\"&gt;&lt;/path&gt;\n                        &lt;path d=\"M9,3.57954545 C10.3213636,3.57954545 11.5077273,4.03363636 12.4404545,4.92545455 L15.0218182,2.34409091 C13.4631818,0.891818182 11.4259091,0 9,0 C5.48181818,0 2.43818182,2.01681818 0.957272727,4.95818182 L3.96409091,7.29 C4.67181818,5.16272727 6.65590909,3.57954545 9,3.57954545 L9,3.57954545 Z\" id=\"Shape\" fill=\"#EA4335\"&gt;&lt;/path&gt;\n                    &lt;/g&gt;\n                &lt;/svg&gt;\n\n            &lt;/div&gt;\n            Sign in with Google\n        &lt;/button&gt;\n\t&lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE Enduser Login\">552bbdaedb467a002e5df2b6ae96196f</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>dachtman</sys_created_by>\n<sys_created_on>2017-04-13 19:31:06</sys_created_on>\n<sys_id>592bbdaedb467a002e5df2b6ae96196f</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>dachtman</sys_updated_by>\n<sys_updated_on>2017-04-13 19:31:06</sys_updated_on>\n<table/>\n<target_name>PE Enduser Login</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "user-login/pe-enduser-login/widget/pe-enduser-login.u-body-html-template.html",
    "content": "<div>\n\t<div class=\"row form form--verify\">\n\t\t<div class=\"col-xs-12\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label class=\"form__label\">Email</label>\n\t\t\t\t<input type=\"email\" placeholder=\"\" class=\"form-control form__input form__input--secure\" ng-model=\"c.data.user_email\" />\n\t\t\t</div>\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label class=\"form__label\">Password</label>\n\t\t\t\t<input type=\"password\" placeholder=\"\" class=\"form-control form__input\" ng-model=\"c.data.password\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"full_width text-center\">\n\t\t<button class=\"btn btn-primary login\" data-toggle=\"modal\" data-target=\"#touchModal\">\n            <div class=\"icon\">\n\n                <svg width=\"21px\" height=\"15px\" viewBox=\"11 13 21 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\n                     xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                    <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n                    <desc>Created with Sketch.</desc>\n                    <defs></defs>\n                    <g id=\"email\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"\n                       transform=\"translate(11.000000, 13.000000)\">\n                        <g id=\"Group\" transform=\"translate(0.000000, 0.225895)\" fill=\"#FFFFFF\">\n                            <path d=\"M1.08283,0.128272083 L10.5,8.395875 L19.91717,0.128272083 L1.08283,0.128272083 Z M0,1.04690958 L0,12.8782792 C0,13.2706958 0.3122,13.5866125 0.7,13.5866125 L20.3,13.5866125 C20.6878,13.5866125 21,13.2706958 21,12.8782792 L21,1.04690958 L10.959375,9.8678625 C10.6959573,10.0996518 10.3040427,10.0996518 10.040625,9.8678625 L0,1.04690958 Z\"\n                                  id=\"Shape\"></path>\n                        </g>\n                    </g>\n                </svg>\n\n            </div>\n            Sign in\n        </button>\n\t\t<div class=\"or\">OR</div>\n\t\t<button class=\"btn btn-primary facebook\" data-toggle=\"modal\" data-target=\"#touchModal\">\n            <div class=\"icon\">\n\n                <svg width=\"11px\" height=\"21px\" viewBox=\"14 10 11 21\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                    <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n                    <desc>Created with Sketch.</desc>\n                    <defs></defs>\n                    <path d=\"M14,16.8762222 L16.2980903,16.8762222 L16.2980903,14.7874444 C16.2980903,13.8658889 16.3229275,12.4456667 17.0392833,11.5656667 C17.7922412,10.6331111 18.8275583,10 20.6066829,10 C23.5060937,10 24.7270359,10.3862222 24.7270359,10.3862222 L24.153167,13.5713333 C24.153167,13.5713333 23.1949757,13.311 22.3008382,13.311 C21.4080079,13.311 20.6066829,13.6116667 20.6066829,14.4464444 L20.6066829,16.8762222 L24.2721239,16.8762222 L24.0172162,19.9867778 L20.6066829,19.9867778 L20.6066829,30.7912222 L16.2980903,30.7912222 L16.2980903,19.9867778 L14,19.9867778 L14,16.8762222\" id=\"Imported-Layers\" stroke=\"none\" fill=\"#FFFFFF\" fill-rule=\"evenodd\"></path>\n                </svg>\n\n            </div>\n            Sign in with Facebook\n        </button>\n\t\t<button class=\"btn btn-primary google\" data-toggle=\"modal\" data-target=\"#touchModal\">\n            <div class=\"icon\">\n\n                <svg width=\"18px\" height=\"19px\" viewBox=\"11 11 18 19\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n                    <!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->\n                    <desc>Created with Sketch.</desc>\n                    <defs></defs>\n                    <g id=\"logo_googleg_48dp\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(11.000000, 11.000000)\">\n                        <path d=\"M17.64,9.20454545 C17.64,8.56636364 17.5827273,7.95272727 17.4763636,7.36363636 L9,7.36363636 L9,10.845 L13.8436364,10.845 C13.635,11.97 13.0009091,12.9231818 12.0477273,13.5613636 L12.0477273,15.8195455 L14.9563636,15.8195455 C16.6581818,14.2527273 17.64,11.9454545 17.64,9.20454545 L17.64,9.20454545 Z\" id=\"Shape\" fill=\"#4285F4\"></path>\n                        <path d=\"M9,18 C11.43,18 13.4672727,17.1940909 14.9563636,15.8195455 L12.0477273,13.5613636 C11.2418182,14.1013636 10.2109091,14.4204545 9,14.4204545 C6.65590909,14.4204545 4.67181818,12.8372727 3.96409091,10.71 L0.957272727,10.71 L0.957272727,13.0418182 C2.43818182,15.9831818 5.48181818,18 9,18 L9,18 Z\" id=\"Shape\" fill=\"#34A853\"></path>\n                        <path d=\"M3.96409091,10.71 C3.78409091,10.17 3.68181818,9.59318182 3.68181818,9 C3.68181818,8.40681818 3.78409091,7.83 3.96409091,7.29 L3.96409091,4.95818182 L0.957272727,4.95818182 C0.347727273,6.17318182 0,7.54772727 0,9 C0,10.4522727 0.347727273,11.8268182 0.957272727,13.0418182 L3.96409091,10.71 L3.96409091,10.71 Z\" id=\"Shape\" fill=\"#FBBC05\"></path>\n                        <path d=\"M9,3.57954545 C10.3213636,3.57954545 11.5077273,4.03363636 12.4404545,4.92545455 L15.0218182,2.34409091 C13.4631818,0.891818182 11.4259091,0 9,0 C5.48181818,0 2.43818182,2.01681818 0.957272727,4.95818182 L3.96409091,7.29 C4.67181818,5.16272727 6.65590909,3.57954545 9,3.57954545 L9,3.57954545 Z\" id=\"Shape\" fill=\"#EA4335\"></path>\n                    </g>\n                </svg>\n\n            </div>\n            Sign in with Google\n        </button>\n\t</div>\n</div>"
  },
  {
    "path": "user-login/pe-enduser-login/widget/pe-enduser-login.u-client-controller.js",
    "content": "function EndUserLoginController() {\n  var c = this;\n}"
  },
  {
    "path": "user-login/pe-enduser-login/widget/pe-enduser-login.u-css.css",
    "content": "input {\n\tborder: none;\n\tborder-bottom: solid 1px #cecece;\n}\n\n.form--verify {\n\tmargin-top: 70px;\n}\n\n.full_width {\n\tmargin: 15px -15px;\n}\n\n.icon {\n\tposition: absolute;\n\tleft: 10px;\n}\n\nbutton {\n\tposition: relative;\n\tborder-radius: 2px;\n\twidth: 70%;\n\tbackground-color: #d1232b;\n\tfont-size: 16px;\n\tmargin-top: 12px;\n}\n\n.or {\n\tmargin-top: 12px;\n}\n\n.login {\n\tcolor: white;\n\tbackground-color: #c0351d;\n}\n\n.facebook {\n\tcolor: white;\n\tbackground-color: #3c5193;\n}\n\n.google {\n\tcolor: #757575;\n\tbackground-color: #ffffff;\n\tbox-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.24), 0 0 1px 0 rgba(0, 0, 0, 0.12);\n\tbackground-color: white margin-top: 15px;\n}"
  },
  {
    "path": "user-login/pe-enduser-login/widget/pe-enduser-login.u-option-schema.json",
    "content": "[{\n\t\"name\": \"table\",\n\t\"default_value\": \"sys_user\",\n\t\"label\": \"Table\",\n\t\"type\": \"string\"\n}, {\n\t\"name\": \"email_address_field\",\n\t\"default_value\": \"email\",\n\t\"label\": \"Email Address Field\",\n\t\"type\": \"field_name\"\n}, {\n\t\"name\": \"encoded_query\",\n\t\"default_value\": \"email!=NULL^GOTOnameLIKESystem Administrator\",\n\t\"label\": \"Encoded Query\",\n\t\"type\": \"string\"\n}]"
  },
  {
    "path": "user-login/pe-enduser-login/widget/pe-enduser-login.u-server-script.js",
    "content": "(function() {\n\tvar serverOptions = input.options ? input.options : (input.parameters ? input.parameters : {});\n\tvar tableName = serverOptions.table || options.table;\n\tvar encodedQuery = serverOptions.encoded_query || options.encoded_query;\n\tvar emailField = serverOptions.email_address_field || options.email_address_field\n\tdata.user_email = \"jet.wheeler@servicenow.com\";\n\tdata.password = \"password\";\n\n\tvar userGR = new GlideRecord(tableName);\n\tuserGR.addEncodedQuery(encodedQuery);\n\tuserGR.query();\n\tif (userGR.next()) {\n\t\tdata.user_email = userGR.getDisplayValue(emailField).toString();\n\t}\n})();"
  },
  {
    "path": "user-login/pe-user-login/README.md",
    "content": "# User Login Widget\n\n## Description\n\nThis widget can be used to quickly craft a user login.\n\n## Screenshot\n![](../../images/pe-user-login-1.png)\n\n## Additional Information/Notes\n> None\n---\n## Installation\n---\nDownload and install update set **[pe-user-login.u-update-set.xml](https://github.com/platform-experience/serviceportal-widget-library/blob/master/user-login/pe-user-login/pe-user-login.u-update-set.xml)** <br/><br/>\nAfter installation, the widget can be accessed via the `Service Portal > Widgets` section for use and customization.<br/>\n* SN Product Documentation - ['Load a customization from a single XML file'](https://docs.servicenow.com/bundle/kingston-application-development/page/build/system-update-sets/task/t_SaveAnUpdateSetAsAnXMLFile.html)\n\n---\n## Configuration\nWidget Option Schema parameters:\n> None\n---\n## Platform Dependencies\n> None\n---\n## Sample Data and Data Structures\n> None\n---\n## API Dependencies\n---\n<i>Dependencies are included and configured as part of the provided Update Set.</i>\n> None\n---\n## CSS/SASS Variables\n---\n_CSS/SASS variables are given default values that can be overridden with theming or portal-level CSS._\n\n```scss\n$pe-button-color: #d1232b !default;\n$pe-button-state-color: #c42229 !default;\n```"
  },
  {
    "path": "user-login/pe-user-login/pe-user-login.u-update-set.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<unload unload_date=\"2017-04-07 02:26:24\">\n<sys_remote_update_set action=\"INSERT_OR_UPDATE\">\n<application display_value=\"Global\">global</application>\n<application_name>Global</application_name>\n<application_scope>global</application_scope>\n<application_version/>\n<collisions/>\n<commit_date/>\n<deleted/>\n<description/>\n<inserted/>\n<name>PE User Login 2</name>\n<origin_sys_id/>\n<release_date/>\n<remote_sys_id>1f5697dcdb42b200b793f2b6ae961949</remote_sys_id>\n<state>loaded</state>\n<summary/>\n<sys_class_name>sys_remote_update_set</sys_class_name>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-07 02:26:24</sys_created_on>\n<sys_id>18179b90db82b200b793f2b6ae961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-07 02:26:24</sys_updated_on>\n<update_set display_value=\"\"/>\n<update_source display_value=\"\"/>\n<updated/>\n</sys_remote_update_set>\n<sys_update_xml action=\"INSERT_OR_UPDATE\">\n<action>INSERT_OR_UPDATE</action>\n<application display_value=\"Global\">global</application>\n<category>customer</category>\n<comments/>\n<name>sp_widget_3762b884dbca7200b793f2b6ae961981</name>\n<payload>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;record_update table=\"sp_widget\"&gt;&lt;sp_widget action=\"INSERT_OR_UPDATE\"&gt;&lt;client_script&gt;&lt;![CDATA[function UserLoginController($rootScope) {\n  var c = this;\n  c.goHome = goHome;\n\n  function goHome() {\n    $rootScope.loginState = 2;\n  }\n}]]&gt;&lt;/client_script&gt;&lt;controller_as&gt;c&lt;/controller_as&gt;&lt;css&gt;$pe-button-color: #d1232b !default;&amp;#13;\n$pe-button-state-color: #c42229 !default;&amp;#13;\n&amp;#13;\ninput {&amp;#13;\n  border: none;&amp;#13;\n  border-bottom: solid 1px #cecece;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.form-verify {&amp;#13;\n  margin-top: 25px;&amp;#13;\n  padding: 0 35px;&amp;#13;\n}&amp;#13;\n&amp;#13;\n.full-width {&amp;#13;\n  margin: 15px -15px;&amp;#13;\n  button {&amp;#13;\n    border-color: $pe-button-color;&amp;#13;\n    border-radius: 0;&amp;#13;\n    width: 70%;&amp;#13;\n    background-color: $pe-button-color;&amp;#13;\n    font-size: 16px;&amp;#13;\n  }&amp;#13;\n  button:active,&amp;#13;\n  button:hover {&amp;#13;\n    background-color: $pe-button-state-color;&amp;#13;\n    border-color: $pe-button-state-color;&amp;#13;\n  }&amp;#13;\n}&lt;/css&gt;&lt;data_table&gt;sp_instance&lt;/data_table&gt;&lt;demo_data/&gt;&lt;description/&gt;&lt;docs/&gt;&lt;field_list/&gt;&lt;has_preview&gt;false&lt;/has_preview&gt;&lt;id&gt;pe-user-login&lt;/id&gt;&lt;internal&gt;false&lt;/internal&gt;&lt;link/&gt;&lt;name&gt;PE User Login&lt;/name&gt;&lt;option_schema/&gt;&lt;public&gt;false&lt;/public&gt;&lt;roles/&gt;&lt;script&gt;&lt;![CDATA[(function() {\n  /* populate the 'data' object */\n  /* e.g., data.table = $sp.getValue('table'); */\n\n})();]]&gt;&lt;/script&gt;&lt;servicenow&gt;false&lt;/servicenow&gt;&lt;sys_class_name&gt;sp_widget&lt;/sys_class_name&gt;&lt;sys_created_by&gt;admin&lt;/sys_created_by&gt;&lt;sys_created_on&gt;2017-04-05 19:58:36&lt;/sys_created_on&gt;&lt;sys_customer_update&gt;true&lt;/sys_customer_update&gt;&lt;sys_id&gt;3762b884dbca7200b793f2b6ae961981&lt;/sys_id&gt;&lt;sys_mod_count&gt;20&lt;/sys_mod_count&gt;&lt;sys_name&gt;PE User Login&lt;/sys_name&gt;&lt;sys_package display_value=\"Global\" source=\"global\"&gt;global&lt;/sys_package&gt;&lt;sys_policy/&gt;&lt;sys_replace_on_upgrade&gt;false&lt;/sys_replace_on_upgrade&gt;&lt;sys_scope display_value=\"Global\"&gt;global&lt;/sys_scope&gt;&lt;sys_update_name&gt;sp_widget_3762b884dbca7200b793f2b6ae961981&lt;/sys_update_name&gt;&lt;sys_updated_by&gt;admin&lt;/sys_updated_by&gt;&lt;sys_updated_on&gt;2017-04-07 02:24:14&lt;/sys_updated_on&gt;&lt;template&gt;&lt;![CDATA[&lt;div&gt;\n  &lt;div class=\"row form form-verify\"&gt;\n    &lt;div class=\"col-xs-12\"&gt;\n      &lt;div class=\"form-group\"&gt;\n        &lt;label class=\"form__label\"&gt;Email&lt;/label&gt;\n        &lt;input type=\"email\" placeholder=\"\" class=\"form-control form__input form__input--secure\" value=\"ninja@servicenow.com\" /&gt;\n      &lt;/div&gt;\n      &lt;div class=\"form-group\"&gt;\n        &lt;label class=\"form__label\"&gt;Password&lt;/label&gt;\n        &lt;input type=\"password\" placeholder=\"\" class=\"form-control form__input\" value=\"password\" /&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n  &lt;div class=\"full-width text-center\"&gt;\n    &lt;button class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#touchModal\" ng-click=\"c.goHome()\"&gt;\n      Sign in\n    &lt;/button&gt;\n  &lt;/div&gt;\n&lt;/div&gt;]]&gt;&lt;/template&gt;&lt;/sp_widget&gt;&lt;/record_update&gt;</payload>\n<remote_update_set display_value=\"PE User Login 2\">18179b90db82b200b793f2b6ae961904</remote_update_set>\n<replace_on_upgrade>false</replace_on_upgrade>\n<sys_created_by>admin</sys_created_by>\n<sys_created_on>2017-04-07 02:26:24</sys_created_on>\n<sys_id>98179b90db82b200b793f2b6ae961904</sys_id>\n<sys_mod_count>0</sys_mod_count>\n<sys_updated_by>admin</sys_updated_by>\n<sys_updated_on>2017-04-07 02:26:24</sys_updated_on>\n<table/>\n<target_name>PE User Login</target_name>\n<type>Widget</type>\n<update_domain>global</update_domain>\n<update_set display_value=\"\"/>\n<view/>\n</sys_update_xml>\n</unload>\n"
  },
  {
    "path": "user-login/pe-user-login/widget/pe-user-login.u-body-html-template.html",
    "content": "<div>\n  <div class=\"row form form-verify\">\n    <div class=\"col-xs-12\">\n      <div class=\"form-group\">\n        <label class=\"form__label\">Email</label>\n        <input type=\"email\" placeholder=\"\" class=\"form-control form__input form__input--secure\" value=\"ninja@servicenow.com\" />\n      </div>\n      <div class=\"form-group\">\n        <label class=\"form__label\">Password</label>\n        <input type=\"password\" placeholder=\"\" class=\"form-control form__input\" value=\"password\" />\n      </div>\n    </div>\n  </div>\n  <div class=\"full-width text-center\">\n    <button class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#touchModal\" ng-click=\"c.goHome()\">\n      Sign in\n    </button>\n  </div>\n</div>"
  },
  {
    "path": "user-login/pe-user-login/widget/pe-user-login.u-client-script.js",
    "content": "function UserLoginController($rootScope) {\n  var c = this;\n  c.goHome = goHome;\n\n  function goHome() {\n    $rootScope.loginState = 2;\n  }\n}"
  },
  {
    "path": "user-login/pe-user-login/widget/pe-user-login.u-css.scss",
    "content": "$pe-button-color: #d1232b !default;\r\n$pe-button-state-color: #c42229 !default;\r\n\r\ninput {\r\n  border: none;\r\n  border-bottom: solid 1px #cecece;\r\n}\r\n\r\n.form-verify {\r\n  margin-top: 25px;\r\n  padding: 0 35px;\r\n}\r\n\r\n.full-width {\r\n  margin: 15px -15px;\r\n  button {\r\n    border-color: $pe-button-color;\r\n    border-radius: 0;\r\n    width: 70%;\r\n    background-color: $pe-button-color;\r\n    font-size: 16px;\r\n  }\r\n  button:active,\r\n  button:hover {\r\n    background-color: $pe-button-state-color;\r\n    border-color: $pe-button-state-color;\r\n  }\r\n}"
  }
]